{"version":3,"file":"static/js/src.web-components.dd8313d97e1e8be4.js","sources":["webpack://iste-bu-gun0410/./src/components/web-components/table/body/google-maps/google-maps-item.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/base-table.tsx","webpack://iste-bu-gun0410/./src/components/web-components/icon/icon.tsx","webpack://iste-bu-gun0410/./src/components/web-components/button/button.tsx","webpack://iste-bu-gun0410/./src/components/web-components/chat/chat.tsx","webpack://iste-bu-gun0410/./src/components/web-components/checkbox/checkbox.tsx","webpack://iste-bu-gun0410/./src/components/web-components/email/email.tsx","webpack://iste-bu-gun0410/./src/components/web-components/footer/footer.tsx","webpack://iste-bu-gun0410/./src/components/web-components/header/header.tsx","webpack://iste-bu-gun0410/./src/components/web-components/image/image.tsx","webpack://iste-bu-gun0410/./src/components/web-components/label/label.tsx","webpack://iste-bu-gun0410/./src/components/web-components/single-select/single-select.tsx","webpack://iste-bu-gun0410/./src/components/web-components/multi-select/multi-select.tsx","webpack://iste-bu-gun0410/./src/components/web-components/navigation/drawer.tsx","webpack://iste-bu-gun0410/./src/components/web-components/number-input/number-input.tsx","webpack://iste-bu-gun0410/./src/components/web-components/pagination/pagination.tsx","webpack://iste-bu-gun0410/./src/components/web-components/panel/panel.tsx","webpack://iste-bu-gun0410/./src/components/web-components/password/password.tsx","webpack://iste-bu-gun0410/./src/components/web-components/text-input/text-input.tsx","webpack://iste-bu-gun0410/./src/components/web-components/places-autocomplete-input/places-autocomplete-input.tsx","webpack://iste-bu-gun0410/./src/components/web-components/responsive/col.tsx","webpack://iste-bu-gun0410/./src/components/web-components/responsive/row.tsx","webpack://iste-bu-gun0410/./src/components/web-components/slider/slider.tsx","webpack://iste-bu-gun0410/./src/components/web-components/stacks/horizontal-stack.tsx","webpack://iste-bu-gun0410/./src/components/web-components/stacks/vertical-stack.tsx","webpack://iste-bu-gun0410/./src/components/web-components/stripe/payment-element.tsx","webpack://iste-bu-gun0410/./src/components/web-components/switch/switch.tsx","webpack://iste-bu-gun0410/./src/components/web-components/tab/tab.tsx","webpack://iste-bu-gun0410/./src/components/web-components/tab/tab-item.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/data/table-data.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/table/table-column.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/table/table-row.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/carousel/carousel-body-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/carousel/carousel-body-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/carousel/carousel-item.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/flex-grid/flex-grid-body-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/flex-grid/flex-grid-body-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/flex-grid/flex-grid-item.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/gallery/gallery-body-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/gallery/gallery-body-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/gallery/gallery-item.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/google-maps/google-maps-body-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/google-maps/google-map-search.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/google-maps/google-maps-body-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/table/table-body-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/body/table/table-body-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/tri-state-switch.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/custom-table-filter-dropdown.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/header/table-header-cell.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/header/table-header-row.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/refresh-delegate.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/wrapper/carousel-view-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/wrapper/flex-grid-view-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/wrapper/gallery-view-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/wrapper/google-maps-view-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/wrapper/table-view-wrapper.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/carousel.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/header/table-header.tsx","webpack://iste-bu-gun0410/./src/components/web-components/table/table.tsx","webpack://iste-bu-gun0410/./src/components/web-components/text-area/text-area.tsx","webpack://iste-bu-gun0410/./src/components/web-components/video/video.tsx","webpack://iste-bu-gun0410/./src/components/web-components/kuika-cl-model-runtimes.tsx","webpack://iste-bu-gun0410/./src/kuika/data-entry/selectbox/k-debounceSelect.tsx","webpack://iste-bu-gun0410/./src/kuika/data-entry/selectbox/k-selectbox.tsx","webpack://iste-bu-gun0410/./src/kuika/display/icon/k-icon.tsx"],"sourcesContent":["import { Popover, Space } from \"antd/es\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { Icon } from \"../../../icon/icon\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\ndeclare let window: any;\ninterface IMarker {\n label?: string;\n img?: string;\n icon?: string;\n lat: number;\n lng: number;\n}\n\nexport interface ICoords {\n latitude: number;\n longitude: number;\n accuracy?: number;\n}\n\ninterface GoogleMapsItemProps extends TableRowProps {\n maps: any;\n map: any;\n value?: ICoords;\n lat: number;\n lng: number;\n marker: IMarker;\n rowPopoverRenderer?: any;\n designClicked?: boolean;\n onClickDesign?: (value: boolean) => void;\n openDrawer: (content: any | undefined) => void;\n markerDetailView?: MarkerDetailView;\n selectedLocationColor?: string;\n selectedLocationIcon?: string;\n}\n\nexport enum MarkerDetailView {\n Popup = 1,\n SidePanel = 2,\n Drawer = 3\n}\n\nexport enum MarkerDetailPosition {\n Bottom = 1,\n Top = 2,\n Right = 3,\n Left = 4\n}\n\ninterface GoogleMapsItemState extends TableRowState {}\n\nexport class GoogleMapsItem extends TableRow<GoogleMapsItemProps, GoogleMapsItemState> {\n constructor(props: GoogleMapsItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n public static defaultProps = {\n designClicked: true\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n renderItem = () => {\n let markerElement = this.props.children;\n const { value, lat, lng, selectedLocationColor, selectedLocationIcon } = this.props;\n if (!!value && !!selectedLocationColor && !!selectedLocationIcon) {\n if (value.latitude === lat && value.longitude === lng) {\n markerElement = <Icon iconName={selectedLocationIcon} style={{ color: selectedLocationColor }} />;\n }\n }\n return (\n <Space>\n <div\n {...this.props}\n style={{ cursor: \"pointer\" }}\n onClick={this.handleRowClick}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n >\n {markerElement}\n </div>\n </Space>\n );\n };\n\n handleClickChange = () => {\n let toogle = false;\n if (this?.props?.designClicked !== undefined) {\n toogle = !this.props.designClicked;\n if (this.props.onClickDesign) {\n this.props.onClickDesign(toogle);\n }\n }\n };\n\n componentDidMount = () => {\n const content = this.getContent();\n\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime === true) {\n this.props.openDrawer(content);\n }\n };\n\n getContent(): JSX.Element | undefined {\n if (this.props?.rowPopoverRenderer === undefined) return undefined;\n\n return <div>{this.props.rowPopoverRenderer(this.props.value, this.props.rowData, this.props.rowIndex)}</div>;\n }\n\n render() {\n const isDesignTime = window.kuika?.isDesignTime;\n const content = this.getContent();\n return (\n <div>\n {isDesignTime === true || this.props.markerDetailView === MarkerDetailView.Popup ? (\n <div>\n {isDesignTime === true ? ( // Render Popover Mock Layout with Content on Design Time\n <div>\n <Popover\n placement=\"topLeft\"\n content=\"You can right click here to hide or show the marker popup.\"\n arrowPointAtCenter\n >\n <div onContextMenu={this.handleClickChange}>{this.renderItem()}</div>\n </Popover>\n <div\n style={{\n backgroundColor: \"#fff\",\n padding: \"12px 16px\",\n transform: \"translateY(16px)\",\n position: \"relative\",\n boxShadow:\n \"0 3px 6px -4px rgb(0 0 0 / 12%), 0 6px 16px 0 rgb(0 0 0 / 8%), 0 9px 28px 8px rgb(0 0 0 / 5%)\",\n borderRadius: 2\n }}\n >\n <div\n style={{\n position: \"absolute\",\n top: \"1.51471863px\",\n left: 16,\n width: 6,\n height: 6,\n backgroundColor: \"#fff\",\n transform: \"translateY(-4.24264069px) rotate(45deg)\",\n boxShadow: \"-2px -2px 5px rgb(0 0 0 / 6%)\"\n }}\n ></div>\n {content}\n </div>\n </div>\n ) : content !== undefined && content?.props?.children?.props?.children?.props?.children !== undefined ? (\n <Popover content={content} title=\"\" trigger=\"click\">\n {this.renderItem()}\n </Popover>\n ) : (\n this.renderItem()\n )}\n </div>\n ) : (\n <div>\n {isDesignTime === true ? (\n <Popover\n placement=\"topLeft\"\n content=\"You can right click here to hide or show the marker popup.\"\n arrowPointAtCenter\n >\n <div\n onContextMenu={this.handleClickChange}\n onClickCapture={() => {\n this.props.openDrawer(content);\n }}\n >\n {this.renderItem()}\n </div>\n </Popover>\n ) : content !== undefined && content?.props?.children?.props?.children?.props?.children !== undefined ? (\n <div\n onClick={() => {\n this.props.openDrawer(content);\n }}\n >\n {this.renderItem()}\n </div>\n ) : (\n this.renderItem()\n )}\n </div>\n )}\n </div>\n );\n }\n}\n","import { DownloadOutlined, MenuOutlined, UnorderedListOutlined } from \"@ant-design/icons\";\nimport { Button, Checkbox, Col, Empty, FormInstance, Input, Popover, Row, Table } from \"antd/es\";\nimport { SizeType } from \"antd/es/config-provider/SizeContext\";\nimport { ColumnType } from \"antd/es/table\";\nimport { saveAs } from \"file-saver\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport objectPath from \"object-path\";\nimport React, { Component, ReactNode } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport ReactDOM from \"react-dom\";\nimport isEqual from \"react-fast-compare\";\nimport shallowequal from \"shallowequal\";\nimport VMasker from \"vanilla-masker\";\nimport CarouselPlaceholder from \"../../../../public/images/carousel-placeholder.svg\";\nimport EmptyDataSvg from \"../../../../public/images/empty-table.svg\";\nimport FlexGridPlaceholder from \"../../../../public/images/flex-grid-placeholder.svg\";\nimport HorizontalGridPlaceholder from \"../../../../public/images/horizontal-grid-placeholder.svg\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\nimport { Image } from \"../image/image\";\nimport { DashboardState, toCamelCase } from \"../kuika-cl-model-runtimes\";\nimport { CarouselBodyCell } from \"./body/carousel/carousel-body-cell\";\nimport { CarouselBodyWrapper, CarouselBodyWrapperProps } from \"./body/carousel/carousel-body-wrapper\";\nimport { CarouselItem } from \"./body/carousel/carousel-item\";\nimport { FlexGridBodyCell } from \"./body/flex-grid/flex-grid-body-cell\";\nimport { FlexGridBodyWrapper } from \"./body/flex-grid/flex-grid-body-wrapper\";\nimport { FlexGridItem } from \"./body/flex-grid/flex-grid-item\";\nimport { GalleryBodyCell } from \"./body/gallery/gallery-body-cell\";\nimport { GalleryBodyWrapper, GalleryBodyWrapperProps } from \"./body/gallery/gallery-body-wrapper\";\nimport { GalleryItem, GalleryItemProps } from \"./body/gallery/gallery-item\";\nimport { GoogleMapsBodyCell } from \"./body/google-maps/google-maps-body-cell\";\nimport { GoogleMapsBodyWrapper, GoogleMapsBodyWrapperProps } from \"./body/google-maps/google-maps-body-wrapper\";\nimport { GoogleMapsItem, ICoords, MarkerDetailPosition, MarkerDetailView } from \"./body/google-maps/google-maps-item\";\nimport { TableBodyCell } from \"./body/table/table-body-cell\";\nimport { TableBodyWrapper } from \"./body/table/table-body-wrapper\";\nimport { TableColumnProps } from \"./body/table/table-column\";\nimport CustomFilterDropdown from \"./custom-table-filter-dropdown\";\nimport { TableData, TableDataProps } from \"./data/table-data\";\nimport { TableHeaderCell } from \"./header/table-header-cell\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { RefreshDelegate } from \"./refresh-delegate\";\nimport \"./table.scss\";\nimport { CarouselViewWrapper } from \"./wrapper/carousel-view-wrapper\";\nimport { FlexGridViewWrapper } from \"./wrapper/flex-grid-view-wrapper\";\nimport { GalleryViewWrapper } from \"./wrapper/gallery-view-wrapper\";\nimport { GoogleMapsViewWrapper } from \"./wrapper/google-maps-view-wrapper\";\nimport { TableViewWrapper } from \"./wrapper/table-view-wrapper\";\n\nexport type ViewMode = \"table\" | \"gallery\" | \"carousel\" | \"flex-grid\" | \"google-maps\";\n\ndeclare let window: any;\n\nexport enum StringFilterTypes {\n Contains = \"contains\",\n DoesNotContain = \"does_not_contain\",\n Equals = \"equals\",\n DoesNotEqual = \"does_not_equal\",\n BeginsWith = \"begins_with\",\n EndsWith = \"ends_with\",\n Blank = \"blank\",\n NotBlank = \"not_blank\"\n}\n\nexport enum NumberFilterTypes {\n Equals = \"number_equals\",\n DoesNotEqual = \"number_does_not_equal\",\n GreaterThan = \"greater_than\",\n LessThan = \"less_than\",\n GreaterThanOrEqual = \"greater_than_or_equal\",\n LessThanOrEqual = \"less_than_or_equal\",\n Between = \"number_between\",\n Blank = \"number_blank\",\n NotBlank = \"number_not_blank\"\n}\n\nexport enum DateFilterTypes {\n Equals = \"date_equals\",\n DoesNotEqual = \"date_does_not_equal\",\n After = \"after\",\n Before = \"before\",\n Between = \"date_between\",\n Blank = \"date_blank\",\n NotBlank = \"date_not_blank\"\n}\n\nexport enum BooleanFilterTypes {\n Equals = \"boolean_equals\",\n DoesNotEqual = \"boolean_does_not_equal\",\n Blank = \"boolean_blank\",\n NotBlank = \"boolean_not_blank\"\n}\n\nexport enum ValueType {\n String = \"string\",\n Number = \"number\",\n Date = \"date\",\n Boolean = \"boolean\"\n}\n\nexport enum FooterOptions {\n None = \"none\",\n Average = \"average\",\n Sum = \"sum\",\n Min = \"min\",\n Max = \"max\",\n Count = \"count\"\n}\n\nexport interface ITableProps {\n children?: any;\n nodatafoundmessage?: string;\n rowBgColor?: (rowData: any, rowIndex?: number) => string;\n rowFontColor?: (rowData: any, rowIndex?: number) => string;\n dataSource?: any[];\n loading?: boolean;\n size?: SizeType;\n sorter?: boolean;\n pagination?: boolean;\n showHeader?: boolean;\n style?: any;\n mode?: ViewMode;\n striped?: boolean;\n stripedColor?: string;\n hideHeaderOnMobileResolution?: boolean;\n // Maps Props\n onChange?: (value?: any | undefined) => void;\n value?: any;\n latitude?: string;\n longitude?: string;\n zoom?: number; /// zoom /// 1-> World /// 5-> Landmass/continent 10 -> City /// 15-> Streets /// 20-> Buildings şeklinde tanımlanırsa veya açıklama yazılırsa low code için daha anlamlı olabilir.\n isMarkerPicker?: boolean;\n isPicker?: boolean;\n hasSearchBox?: boolean;\n disableDoubleClickZoom?: boolean;\n fullscreenControl?: boolean;\n streetViewControl?: boolean;\n scaleControl?: boolean;\n zoomControl?: boolean;\n panControl?: boolean;\n rotateControl?: boolean;\n mapTypeControl?: boolean;\n autoCenter?: boolean;\n designClicked?: boolean;\n onClickDesign?: (value: boolean) => void;\n dataLatField?: string;\n dataLngField?: string;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n circleRadius?: number;\n groupPickerIcon?: string;\n groupPickerColor?: string;\n selectedLocationIcon?: string;\n selectedLocationColor?: string;\n currentLocationIcon?: string;\n currentLocationColor?: string;\n // Carousel Props\n setCurrentSlideNumber?: (val: number) => void;\n startingIndex?: number;\n hideTableOnEmpty?: boolean;\n rowHoverFontColor?: string;\n transformedOnMobileResolution?: boolean;\n rowHoverBgColor?: string;\n kuikacomponentname?: string;\n onRowEditFinished?: () => void;\n form?: FormInstance<any>;\n insertRowActive?: boolean;\n insertRowPosition?: \"top\" | \"bottom\";\n noDataFoundImage?: string;\n filtering?: boolean;\n searchable?: boolean;\n tableWidthMode?: \"fit\" | \"horizontal scroll\" | \"scroll\";\n columnChooser?: boolean;\n editableAlwaysActive?: boolean;\n onConfigChange?: () => void;\n multiSelect?: boolean;\n selectedValues?: any;\n onSelectedValuesChange?: () => void;\n fixedHeader?: boolean;\n pageSize?: number;\n showSizeChanger?: boolean;\n options?: any[];\n onRowDoubleClick?: () => void;\n showNoDataFound?: boolean;\n resizableColumns?: boolean;\n selectedRowColor?: string;\n editable?: boolean;\n globalSearch?: boolean;\n export?: boolean;\n datavaluefield?: string;\n multiSelectScope?: \"page\" | \"all\";\n arrowColor?: string;\n}\n\nexport interface ITableState {\n columnTitles?: string[];\n selectedRowKeys: any;\n selectedRowKeysString: any;\n columns?: TableColumnProps & CommonProps[];\n headerStyle?: any;\n rowStyle?: any;\n footerStyle?: any;\n headerRenderer?: any;\n rowRenderer?: any;\n selectedIndexGuid: string;\n selectedColumnIndexGuid: string;\n selectedRowDataGuid: string;\n // Maps States:\n maps?: any;\n map?: any;\n isDataMarkerSelected: boolean;\n value?: any;\n uniqueKey?: Guid;\n activeEditableRowIndex?: number;\n randomGuid?: string;\n searchText: string;\n columnSearchTexts?: { [key: string]: string };\n carouselStartingIndex?: number;\n hiddenColumnList?: any[];\n columnOrder?: any[];\n filteringOptions?: any;\n sorterOptions?: any;\n pageSize?: any;\n resizingColumnIndex?: number;\n columnWidths?: any;\n current: number;\n hideHeaderOnMobileResolution?: boolean;\n}\nlet isEventListenerAdded = false;\n\nexport abstract class BaseTable<P, S> extends Component<ITableProps & P & CommonProps, ITableState & S> {\n private static readonly DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100];\n\n private memoizedDynamicCssResult = \"\";\n\n timeOutId = undefined;\n\n lastSelectedLat: any;\n\n lastSelectedLng: any;\n\n resizingColumnIndexRef = React.createRef<number>();\n\n constructor(props: ITableProps & P) {\n super(props);\n this.state = {\n columns: [],\n selectedRowKeys: this.props.selectedValues?.split(\",\") || [],\n selectedRowKeysString: this.props.selectedValues || \"\",\n selectedIndexGuid: Guid.create().toString(),\n selectedColumnIndexGuid: Guid.create().toString(),\n selectedRowDataGuid: Guid.create().toString(),\n uniqueKey: Guid.create(),\n activeEditableRowIndex: window.kuika.isDesignTime ? 0 : -1,\n randomGuid: Guid.create().toString(),\n searchText: \"\",\n columnSearchTexts: {},\n carouselStartingIndex: 0,\n hiddenColumnList: [],\n columnOrder: [],\n filteringOptions: {},\n sorterOptions: {},\n pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10,\n resizingColumnIndex: null,\n columnWidths: undefined,\n current: 1\n } as any;\n }\n\n public static defaultProps = {\n mode: \"table\",\n designClicked: true\n };\n\n static withColumnProps(props: any, value: any, rowData: any, rowIndex: number): any {\n props.value = value;\n props.rowData = rowData;\n props.rowIndex = rowIndex;\n return props;\n }\n\n static getDerivedStateFromProps(nextProps: ITableProps & CommonProps, prevState: ITableState) {\n const result: Partial<ITableState> = {\n selectedIndexGuid: prevState.selectedIndexGuid,\n selectedColumnIndexGuid: prevState.selectedColumnIndexGuid,\n selectedRowDataGuid: prevState.selectedRowDataGuid,\n maps: prevState.maps,\n map: prevState.map,\n isDataMarkerSelected: prevState.isDataMarkerSelected,\n activeEditableRowIndex: prevState.activeEditableRowIndex,\n columnSearchTexts: prevState.columnSearchTexts,\n searchText: prevState.searchText,\n hiddenColumnList: prevState.hiddenColumnList,\n filteringOptions: prevState.filteringOptions,\n sorterOptions: prevState.sorterOptions,\n selectedRowKeys: prevState.selectedRowKeys,\n selectedRowKeysString: prevState.selectedRowKeysString,\n columnWidths: prevState.columnWidths\n };\n if (nextProps.children) {\n result.columns = [] as CommonProps[];\n if (nextProps.mode === \"carousel\") {\n result.rowStyle = nextProps.style;\n BaseTable.setCarouselItem(result, nextProps.children);\n } else if (nextProps.mode === \"gallery\") {\n result.rowStyle = nextProps.style;\n BaseTable.setGalleryItem(result, nextProps.children);\n } else if (nextProps.mode === \"flex-grid\") {\n result.rowStyle = nextProps.style;\n BaseTable.setFlexGridItem(result, nextProps.children);\n } else if (nextProps.mode === \"google-maps\") {\n if (nextProps.value !== undefined) {\n result.value = nextProps.value;\n }\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n switch (childIndex) {\n // GoogleMapsMarker\n case 0:\n BaseTable.setGoogleMapsItem(result, child, nextProps);\n break;\n }\n });\n } else {\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n const isHeader = nextProps?.children?.length > 1 && childIndex === 0;\n const isRow =\n (nextProps?.children?.length > 1 && childIndex === 1) || typeof nextProps?.children === \"object\";\n switch (childIndex) {\n // Header\n case 0:\n if (\n child.type.name == \"TableHeader\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"TableHeader\") ||\n child.type.name == \"ReportTableHeader\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"ReportTableHeader\") ||\n isHeader\n ) {\n BaseTable.setHeader(result, child, prevState, nextProps);\n } else if (\n child.type.name == \"TableRow\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"TableRow\") ||\n child.type.name == \"ReportTableRow\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"ReportTableRow\") ||\n isRow\n ) {\n BaseTable.setRow(result, child, nextProps, nextProps.sorter, nextProps.filtering, nextProps.dataSource);\n result.headerRenderer = (_props: any) => {\n return React.createElement(\"div\");\n };\n }\n break;\n // Row\n default:\n BaseTable.setRow(result, child, nextProps, nextProps.sorter, nextProps.filtering, nextProps.dataSource);\n break;\n }\n });\n }\n\n if (prevState.columnOrder.length > 0) {\n result.columns = prevState.columnOrder\n .map((orderId) => result?.columns?.find((col) => col.id === orderId))\n .filter(Boolean);\n }\n return result;\n }\n }\n\n static setHeader = (result: Partial<ITableState>, child: any, prevState: any, nextProps: any) => {\n let headerStyle: any = {};\n\n if (child.props.style) {\n headerStyle = child.props.style;\n }\n\n if (child.props.writingMode && child.props.writingMode === \"vertical\") {\n headerStyle.writingMode = \"vertical-lr\";\n }\n\n if (\n child.props.textDirection &&\n (child.props.textDirection === \"Rotate Up\" || child.props.textDirection === \"Rotate Down\")\n ) {\n headerStyle.writingMode = \"vertical-lr\";\n if (child.props.textDirection === \"Rotate Up\") {\n headerStyle.transform = \"rotate(180deg)\";\n }\n }\n\n result.headerStyle = headerStyle;\n result.headerRenderer = (props: any) => {\n let _props = { ...props };\n\n _props.wrapperClassname = `.ktable_${prevState.uniqueKey.toString().substring(0, 8)}`;\n _props.transformedOnMobileResolution = nextProps.transformedOnMobileResolution;\n\n return React.cloneElement(child, _props);\n };\n\n if (child.props.columnTitles) {\n result.columnTitles = child.props.columnTitles.split(\";\");\n }\n };\n\n static setRow = (\n result: Partial<ITableState>,\n child: any,\n _nextProps: ITableProps,\n sorter?: boolean,\n filtering?: boolean,\n datasource?: any\n ) => {\n result.rowStyle = child.props.style;\n result.rowRenderer = (props: any) => {\n return React.cloneElement(child, props);\n };\n React.Children.forEach(child.props.children, (grandChild, grandChildIndex) => {\n const columnProps: TableColumnProps & CommonProps = _.clone(grandChild.props);\n const props = {};\n Object.keys(grandChild.props).forEach((key) => {\n if (key !== \"children\" || typeof grandChild.props[key] === \"string\") {\n props[key] = grandChild.props[key];\n }\n });\n columnProps.render = (value: any, rowData: any, rowIndex: number) => {\n let children = grandChild?.props?.children;\n if (grandChild?.props?.children?.length === 2 && grandChild.props.isEditableColumn) {\n children = [];\n if (grandChild.props.isEditableColumn) {\n if (_nextProps.editableAlwaysActive) {\n children.push(grandChild.props.children[1]);\n } else if (result.activeEditableRowIndex === rowIndex) {\n children.push(grandChild.props.children[1]);\n } else {\n children.push(grandChild.props.children[0]);\n }\n }\n }\n return (\n <>{React.cloneElement(grandChild, BaseTable.withColumnProps(props, value, rowData, rowIndex), children)}</>\n );\n };\n delete columnProps.children;\n if (\n columnProps &&\n result &&\n result.columnTitles &&\n result.columnTitles.length > grandChildIndex &&\n result.columnTitles[grandChildIndex]?.length > 0\n ) {\n columnProps.title = result.columnTitles[grandChildIndex];\n }\n\n let value =\n grandChild.props?.children?.props?.value ??\n grandChild.props?.children?.props?.children?.props?.value ??\n grandChild.props?.children?.props?.children?.props?.children?.props?.value;\n if (grandChild.props?.children?.props?.className === \"kFormItem\" && !value?.toString().includes(\"[datafield:\")) {\n value = undefined;\n }\n if (value === undefined && grandChild.props?.children && grandChild.props?.children.length > 0) {\n value =\n grandChild.props?.children[0]?.props?.value ?? grandChild.props?.children[0]?.props?.children?.props?.value;\n }\n const dataBindedChilds = [];\n\n const processChildren = (children) => {\n if (Array.isArray(children)) {\n children.forEach((child) => {\n if (child.props?.children) {\n processChildren(child.props.children);\n }\n Object.keys(child.props).forEach((key) => {\n if (\n child.props[key]?.toString().includes(\"[datafield:\") &&\n key !== \"visExField1\" &&\n key !== \"visExField2\"\n ) {\n dataBindedChilds.push(child.props[key]);\n }\n });\n });\n } else if (children) {\n if (children.props?.children) {\n processChildren(children.props.children);\n }\n if (children.props) {\n Object.keys(children.props).forEach((key) => {\n if (\n children.props[key]?.toString().includes(\"[datafield:\") &&\n key !== \"visExField1\" &&\n key !== \"visExField2\"\n ) {\n dataBindedChilds.push(children.props[key]);\n }\n });\n }\n }\n };\n\n if (grandChild.props?.children?.props?.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children);\n }\n\n if (value === undefined && grandChild.props?.children?.props?.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children?.props?.children);\n } else if (value === undefined && grandChild.props?.children?.props?.children?.props.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children?.props?.children?.props.children);\n }\n\n if (\n dataBindedChilds.length === 1 ||\n (dataBindedChilds.length > 1 &&\n dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0]))\n ) {\n value = dataBindedChilds[0];\n } else if (\n dataBindedChilds.length > 1 &&\n !dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0])\n ) {\n value = undefined;\n }\n\n if (\n dataBindedChilds.length > 1 &&\n !dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0]) &&\n columnProps.defaultDataField\n ) {\n value = columnProps.defaultDataField?.toLowerCase();\n }\n if (value && !value?.toString().includes(\"[datafield:\") && !columnProps.defaultDataField) {\n value = undefined;\n }\n if (grandChild.props?.children?.props?.children?.props?.checked) {\n value = grandChild.props?.children?.props?.children?.props?.checked;\n }\n\n if (\n !value &&\n grandChild.props?.children &&\n grandChild.props?.children.length > 1 &&\n grandChild.props?.children?.some(\n (child) =>\n child?.props?.visibility === \"hidden\" &&\n (grandChild.props?.children?.some((child) => !child?.props?.visibility) ||\n grandChild.props?.children?.some((child) => child?.props?.visibility === \"visible\"))\n )\n ) {\n const visibleColumnValue =\n grandChild.props?.children?.find((child) => !child?.props?.visibility)?.props?.value ||\n grandChild.props?.children?.find((child) => child?.props?.visibility === \"visible\")?.props?.value;\n value = visibleColumnValue;\n }\n if (value) {\n value = value.toString().replace(\"[datafield:\", \"\").replace(\"]\", \"\");\n let dataType = ValueType.String;\n\n function getDataTypeRecursively(datasource, value) {\n if (!datasource || datasource.length === 0) {\n return null;\n }\n\n if (\n datasource[0] !== null &&\n datasource[0] !== undefined &&\n datasource[0][value] !== undefined &&\n datasource[0][value] !== null\n ) {\n return BaseTable.getValueType(datasource[0][value]);\n }\n return getDataTypeRecursively(datasource?.slice(1), value);\n }\n dataType = getDataTypeRecursively(datasource?.slice(0, 10), value);\n\n if (sorter && columnProps?.hideSorting !== true) {\n columnProps.sorter = (a, b) => BaseTable.compare(value, a, b);\n }\n if (filtering && columnProps?.hideFiltering !== true) {\n let initialFilters: any = {};\n\n if (result.filteringOptions) {\n Object.values(result.filteringOptions).forEach((filters: any) => {\n if (filters && filters.length > 0 && filters[0].columnId === columnProps.id) {\n initialFilters = filters[0];\n }\n });\n }\n\n columnProps.filteredValue =\n initialFilters.value ||\n initialFilters.value === false ||\n initialFilters.value === 0 ||\n initialFilters.type === \"blank\" ||\n initialFilters.type === \"not_blank\" ||\n initialFilters.type === \"number_blank\" ||\n initialFilters.type === \"number_not_blank\" ||\n initialFilters.type === \"date_blank\" ||\n initialFilters.type === \"date_not_blank\" ||\n initialFilters.type === \"boolean_blank\" ||\n initialFilters.type === \"boolean_not_blank\"\n ? [initialFilters]\n : [];\n\n columnProps.filterDropdown = ({ setSelectedKeys, selectedKeys, confirm, clearFilters, visible }) =>\n filtering && (\n <CustomFilterDropdown\n selectedKeys={selectedKeys[0]}\n setSelectedKeys={(text) => setSelectedKeys([text])}\n confirm={confirm}\n clearFilters={clearFilters}\n dataType={dataType}\n visible={visible}\n initialFilters={initialFilters}\n columnId={columnProps.id}\n />\n );\n columnProps.onFilter = (searchValue: any, record) => {\n return BaseTable.applyFilter(searchValue, record, value, dataType);\n };\n }\n (columnProps as any).dataType = dataType;\n (columnProps as any).dataValue = value;\n }\n\n result?.columns?.push(columnProps);\n });\n };\n\n static applyFilter = (searchValue: any, record: any, value: any, dataType: any) => {\n const { type } = searchValue;\n const recordValue = record[value];\n\n const valueType = BaseTable.getValueType(recordValue, dataType);\n\n if (valueType === ValueType.String || !valueType) {\n const normalizedRecordValue = recordValue?.toString()?.toLowerCase();\n const normalizedSearchValue =\n type === \"blank\" || type === \"number_blank\" || type === \"date_blank\" || type === \"boolean_blank\"\n ? null\n : searchValue?.value?.toLowerCase();\n\n switch (type) {\n case StringFilterTypes.Contains:\n return normalizedRecordValue?.includes(normalizedSearchValue);\n case StringFilterTypes.DoesNotContain:\n return !normalizedRecordValue?.includes(normalizedSearchValue);\n case StringFilterTypes.Equals:\n return normalizedRecordValue === normalizedSearchValue;\n case StringFilterTypes.DoesNotEqual:\n return normalizedRecordValue !== normalizedSearchValue;\n case StringFilterTypes.BeginsWith:\n return normalizedRecordValue?.startsWith(normalizedSearchValue);\n case StringFilterTypes.EndsWith:\n return normalizedRecordValue?.endsWith(normalizedSearchValue);\n case StringFilterTypes.Blank:\n return !recordValue;\n case StringFilterTypes.NotBlank:\n return !!recordValue;\n default:\n return normalizedRecordValue?.includes(normalizedSearchValue);\n }\n } else if (valueType === ValueType.Number) {\n const recordValueNumber = Number(recordValue);\n const searchValueNumber = Number(searchValue?.value);\n\n switch (type) {\n case NumberFilterTypes.Equals:\n return recordValueNumber === searchValueNumber;\n case NumberFilterTypes.DoesNotEqual:\n return recordValueNumber !== searchValueNumber;\n case NumberFilterTypes.GreaterThan:\n return recordValueNumber > searchValueNumber;\n case NumberFilterTypes.LessThan:\n return recordValueNumber < searchValueNumber;\n case NumberFilterTypes.GreaterThanOrEqual:\n return recordValueNumber >= searchValueNumber;\n case NumberFilterTypes.LessThanOrEqual:\n return recordValueNumber <= searchValueNumber;\n case NumberFilterTypes.Between:\n return recordValueNumber >= searchValueNumber[0] && recordValueNumber <= searchValueNumber[1];\n case NumberFilterTypes.Blank:\n return !recordValue && recordValue !== 0;\n case NumberFilterTypes.NotBlank:\n return !!recordValue || recordValue === 0;\n default:\n return recordValueNumber === searchValueNumber;\n }\n } else if (valueType === ValueType.Date) {\n const recordValueDate = moment(recordValue);\n const searchValueDate = moment(searchValue?.value);\n const searchValueDate2 = moment(searchValue?.value2);\n\n switch (type) {\n case DateFilterTypes.Equals:\n return recordValueDate?.isSame(searchValueDate, \"day\");\n case DateFilterTypes.DoesNotEqual:\n return !recordValueDate?.isSame(searchValueDate, \"day\");\n case DateFilterTypes.After:\n return recordValueDate?.isAfter(searchValueDate, \"day\");\n case DateFilterTypes.Before:\n return recordValueDate?.isBefore(searchValueDate, \"day\");\n case DateFilterTypes.Between:\n return recordValueDate?.isBetween(searchValueDate, searchValueDate2, \"day\", \"[]\");\n case DateFilterTypes.Blank:\n return !recordValue;\n case DateFilterTypes.NotBlank:\n return !!recordValue;\n default:\n return recordValueDate.isSame(searchValueDate, \"day\");\n }\n } else if (valueType === ValueType.Boolean) {\n const normalizedRecordValue = recordValue;\n const normalizedSearchValue =\n type === \"blank\" || type === \"number_blank\" || type === \"date_blank\" || type === \"boolean_blank\"\n ? null\n : searchValue?.value;\n\n switch (type) {\n case BooleanFilterTypes.Equals:\n return normalizedRecordValue === normalizedSearchValue;\n case BooleanFilterTypes.DoesNotEqual:\n return normalizedRecordValue !== normalizedSearchValue;\n case BooleanFilterTypes.Blank:\n return !recordValue && recordValue !== false;\n case BooleanFilterTypes.NotBlank:\n return !!recordValue || recordValue === false;\n default:\n return normalizedRecordValue === normalizedSearchValue;\n }\n } else {\n return false;\n }\n };\n\n static isNotNull = (value: any) => {\n if (value === undefined) return false;\n if (value === null) return false;\n return true;\n };\n\n static compare = (value, a, b) => {\n let x = \"\";\n if (a?.id != null && Object.keys(a).every((key) => key === \"id\" || a[key] == null)) {\n return 0;\n }\n if (b?.id != null && Object.keys(b).every((key) => key === \"id\" || b[key] == null)) {\n return 0;\n }\n if (BaseTable.isNotNull(a) && BaseTable.isNotNull(value) && BaseTable.isNotNull(a[value])) {\n x = a[value];\n if (typeof a[value] === \"string\") {\n x = a[value].trim();\n }\n }\n if (!x) {\n const match = value.match(/\\[(.*?)\\.(.*?)\\]/);\n let extractedKey = null;\n\n if (match && match[2]) {\n extractedKey = match[2];\n }\n if (extractedKey) {\n x = a[extractedKey];\n }\n }\n if (!BaseTable.isNotNull(x)) {\n x = \"\";\n }\n\n let y = \"\";\n if (BaseTable.isNotNull(b) && BaseTable.isNotNull(value) && BaseTable.isNotNull(b[value])) {\n y = b[value];\n if (typeof b[value] === \"string\") {\n y = b[value].trim();\n }\n }\n if (!y) {\n const match = value.match(/\\[(.*?)\\.(.*?)\\]/);\n let extractedKey = null;\n\n if (match && match[2]) {\n extractedKey = match[2];\n }\n if (extractedKey) {\n y = b[extractedKey];\n }\n }\n\n if (!BaseTable.isNotNull(y)) {\n y = \"\";\n }\n const specialSortingFormats = [\n \"DD/MM/YYYY HH:mm\",\n \"DD/MM/YYYY HH:mm:ss\",\n \"DD/MM/YYYY\",\n \"MM/DD/YYYY HH:mm\",\n \"MM/DD/YYYY HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"HH:mm:ss\",\n \"HH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ\"\n ];\n\n const isValidDate = BaseTable.isDate(x, specialSortingFormats);\n\n if (isValidDate) {\n const specialSortingFormat = specialSortingFormats.find((format) => moment(x, format, true).isValid());\n if (specialSortingFormat) {\n if (!x || x === \"\") {\n return 0;\n }\n if (!y || y === \"\") {\n return 1;\n }\n const xDate = moment(x, specialSortingFormat);\n const yDate = moment(y, specialSortingFormat);\n return xDate.diff(yDate);\n }\n }\n\n if (\n (BaseTable.isNumber(x, true) || x === \"\" || x === undefined || x === null) &&\n (BaseTable.isNumber(y, true) || y === \"\" || y === undefined || y === null)\n ) {\n if ((!x && parseInt(x, 10) !== 0) || x === \"\") {\n return -1;\n }\n if ((!y && parseInt(y, 10) !== 0) || y === \"\") {\n return 1;\n }\n return Number(x) - Number(y);\n }\n\n if (typeof x === \"string\" && typeof y === \"string\" && x.localeCompare) {\n return x.localeCompare(y);\n }\n\n if (typeof x === \"boolean\" && typeof y === \"boolean\") {\n return x === y ? 0 : x ? 1 : -1;\n }\n\n return 0;\n };\n\n static isDate = (value: any, formats: any[]) => {\n if (value === undefined || value === null) return false;\n\n if (typeof value === \"string\") {\n for (const format of formats) {\n if (moment(value, format, true).isValid()) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n static isNumber(r, isSort) {\n if (typeof r === \"string\" && !isSort) return false;\n return /^-?\\d+(\\.\\d+)?$/.test(r);\n }\n\n static getValueType(value: any, dataType?: ValueType) {\n const specialSortingFormats = [\n \"DD/MM/YYYY HH:mm\",\n \"DD/MM/YYYY HH:mm:ss\",\n \"DD/MM/YYYY\",\n \"MM/DD/YYYY HH:mm\",\n \"MM/DD/YYYY HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"HH:mm:ss\",\n \"HH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ\"\n ];\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\") {\n return ValueType.Boolean;\n }\n if (BaseTable.isDate(value, specialSortingFormats)) {\n return ValueType.Date;\n }\n if (BaseTable.isNumber(value, false)) {\n return ValueType.Number;\n }\n if (!value || value === \"\" || value === null || value === undefined) {\n return dataType;\n }\n return ValueType.String;\n }\n\n static setGalleryItem = (result: Partial<ITableState>, children: any) => {\n result.rowRenderer = (props: any) => {\n return <GalleryItem {...props}></GalleryItem>;\n };\n const columnProps: TableDataProps & CommonProps = {};\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => {\n return (\n <TableData rowIndex={rowIndex} rowData={rowData}>\n {children}\n </TableData>\n );\n };\n result?.columns?.push(columnProps);\n };\n\n static setCarouselItem = (result: Partial<ITableState>, children: any) => {\n result.rowRenderer = (props: any) => {\n return <CarouselItem {...props}></CarouselItem>;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n <TableData rowIndex={rowIndex} rowData={rowData}>\n {children}\n </TableData>\n );\n result?.columns?.push(columnProps);\n };\n\n static setGoogleMapsItem = (result: Partial<ITableState>, children: any, nextProps: ITableProps) => {\n let rowPopoverRenderer: any | undefined;\n\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n switch (childIndex) {\n // GoogleMapsMarkerPopup\n case 1:\n rowPopoverRenderer = (_value: any, rowData: any, rowIndex: number) => {\n return (\n <TableData\n rowIndex={rowIndex}\n rowData={rowData}\n markerDetailHeight={nextProps.markerDetailHeight}\n markerDetailWidth={nextProps.markerDetailWidth}\n >\n {React.cloneElement(\n child,\n {\n ...child.props,\n markerDetailWidth: nextProps.markerDetailWidth,\n markerDetailHeight: nextProps.markerDetailHeight\n },\n child.props.children\n )}\n </TableData>\n );\n };\n }\n });\n\n result.rowRenderer = (props: any) => {\n return <GoogleMapsItem {...props} rowPopoverRenderer={rowPopoverRenderer}></GoogleMapsItem>;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n <TableData rowIndex={rowIndex} rowData={rowData}>\n {children}\n </TableData>\n );\n result?.columns?.push(columnProps);\n };\n\n static refreshGoogleMapsItem: ((nextProps?: any, callBack?: any) => void) | undefined;\n\n static setFlexGridItem = (result: Partial<ITableState>, children: any) => {\n result.rowRenderer = (props: any) => {\n return <FlexGridItem {...props}></FlexGridItem>;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n <TableData rowIndex={rowIndex} rowData={rowData}>\n {children}\n </TableData>\n );\n result?.columns?.push(columnProps);\n };\n\n setStyle = (_props?: ITableProps) => {\n const node: Element | null | Text = ReactDOM.findDOMNode(this);\n if (!node) {\n return;\n }\n const table = (node as Element).querySelectorAll(\"div > div > div > div > div > table\");\n this.setBackgroundColor(table);\n const tbody = (node as Element).querySelectorAll(\"div > div > div > div > div > tbody\");\n this.setBackgroundColor(tbody);\n const tdList = (node as Element).querySelectorAll(\"div > div > div > div > div > table > tbody > tr > td\");\n tdList.forEach((td: any, index: number) => {\n this.setBackgroundColor(td);\n if (this.props.mode === \"table\") {\n this.setAlignments(td, index);\n }\n });\n if (this.props.mode === \"table\") {\n this.setDynamicStyle();\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const { maxHeight, boxShadow, height, minHeight, padding, paddingRight, paddingLeft, paddingTop, paddingBottom } =\n this.props.style;\n if (maxHeight || height || minHeight) {\n if (height) {\n result += `.${className.trim()} .ant-table-wrapper {\n height: ${height} !important;\n }`;\n result += `.${className.trim()} .ant-table-content table {\n min-height: ${height} !important;\n }`;\n }\n if (minHeight) {\n result += `.${className.trim()} .ant-table-wrapper {\n min-height: ${minHeight} !important;\n }`;\n }\n if (maxHeight) {\n result += `.${className.trim()} .ant-table-wrapper {\n max-height: ${maxHeight} !important;\n overflow-y: scroll !important;\n }`;\n }\n if (height || maxHeight) {\n if (this.props.pagination) {\n result += `.${className.trim()} .ant-pagination {\n background: white;\n position: sticky;\n bottom: 0;\n margin-bottom: 0 !important;\n height: 36px;\n align-items: center;\n margin-right: 2px !important;\n }`;\n }\n }\n }\n\n if (this.props.fixedHeader) {\n result += `.${className.trim()} .ant-table-thead {\n position: sticky;\n top: 0;\n background: #fff;\n z-index: 3;\n }`;\n }\n\n if (this.props.searchable && this.props.sorter && !this.props.filtering) {\n result += `.${className.trim()} .ant-table-thead > tr > th > .ant-table-column-sorters {\n padding-bottom: 36px !important\n }`;\n }\n\n if (boxShadow) {\n result += `.${className.trim()} {\n box-shadow: ${boxShadow} !important;\n }`;\n }\n\n if (this.props?.striped) {\n result += `.${className.trim()} table tr:nth-child(2n) {\n background-color: #F5F7FA;\n }`;\n }\n\n if (this.props?.striped && this.props?.stripedColor) {\n result += `.${className.trim()} table tr:nth-child(2n) {\n background-color: ${this.props?.stripedColor};\n }`;\n }\n\n if (\n (padding || paddingRight || paddingLeft || paddingTop || paddingBottom) &&\n window?.kuika?.dashboardState === DashboardState.reportDesigner\n ) {\n result += `.${className.trim()} .ant-table {\n padding: ${paddingTop ?? 0}px ${paddingRight ?? 0}px ${paddingBottom ?? 0}px ${paddingLeft ?? 0}px !important;\n }`;\n }\n\n result += `.${className.trim()} .ant-table-wrapper {\n overflow: auto !important;\n }`;\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getClassName = () => {\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} ktable_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n hideNoDataIfNotNeeded = (props: any) => {\n if (!props.showNoDataFound) {\n const node = document.getElementById(props.id);\n if (node) {\n const empty: HTMLCollectionOf<Element> = node.getElementsByClassName(\"ant-empty\");\n if (empty.length > 0) {\n (empty[0] as HTMLElement).style.display = \"none\";\n }\n }\n }\n };\n\n setBackgroundColor = (element: any, props?: any) => {\n if (props && props.style && props.style.backgroundColor) {\n element.style[\"background-color\"] = props.style.backgroundColor;\n }\n };\n\n setAlignments = (element: any, index: number) => {\n const isDesignTime = window.kuika?.isDesignTime;\n let columnStyles: React.CSSProperties = {};\n if (this.props?.children[1]?.props?.children?.length > 0) {\n const columnIndex = index % this.props?.children[1]?.props?.children.length;\n columnStyles = this.props?.children[1]?.props?.children[columnIndex]?.props?.style;\n }\n let node: any = element.firstChild;\n if (!node) {\n return;\n }\n if (!isDesignTime) {\n node = element;\n }\n KMainFunctions.handleAlignments(node, columnStyles);\n if (!isDesignTime) {\n node.style.display = \"table-cell\";\n node.style.verticalAlign =\n columnStyles.alignItems === \"center\"\n ? \"middle\"\n : columnStyles.alignItems === \"flex-end\"\n ? \"bottom\"\n : columnStyles.alignItems === \"flex-start\"\n ? \"top\"\n : \"center\";\n }\n };\n\n componentDidUpdate(prevProps: ITableProps, prevState: any) {\n this.setStyle(prevProps);\n this.hideNoDataIfNotNeeded(prevProps);\n\n if (prevProps.selectedValues !== this.props.selectedValues) {\n const selectedRowKeys =\n this.props.selectedValues && (this.props.selectedValues as any) !== \"\"\n ? this.props.selectedValues.split(\",\")\n : [];\n this.setState({\n selectedRowKeys,\n selectedRowKeysString: this.props.selectedValues || \"\"\n });\n }\n\n const isEql = isEqual(this.props.dataSource, prevProps.dataSource);\n if (this.state.activeEditableRowIndex != -1 && !isEql) {\n let formValues = {};\n const filteredList = this.getFilteredAndSortedDataSource();\n let rowValue = filteredList[this.state.activeEditableRowIndex];\n if (rowValue) {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ randomGuid: Guid.create().toString() } as any, () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n });\n }\n } else if (\n this.state.activeEditableRowIndex != -1 &&\n isEql &&\n prevState?.activeEditableRowIndex != -1 &&\n !window.kuika.isDesignTime\n ) {\n this.setState({ randomGuid: Guid.create().toString() } as any, () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n });\n }\n\n if (!isEql && this.props.editableAlwaysActive) {\n let formValues = {};\n this.props.dataSource?.forEach((rowValue, rowIndex) => {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ randomGuid: Guid.create().toString() } as any);\n });\n }\n }\n\n handleKeyDown = async (event: any) => {\n const isCurrentInsertRow = window.editingColumnData?.isInsertRow;\n if ((event.key === \"Tab\" || event.key === \"Escape\" || event.key === \"Enter\") && this.props.editableAlwaysActive) {\n if (event.key === \"Escape\") {\n this.setState({ activeEditableRowIndex: -1 } as any);\n return;\n }\n if (isCurrentInsertRow && event.key === \"Tab\") {\n window.editingColumnData = {\n ...window.editingColumnData,\n activeElement: event\n };\n return;\n }\n if (event.key === \"Tab\" || (event.key === \"Enter\" && !isCurrentInsertRow)) {\n this.setFields(event, false, window.editingColumnData?.rowData);\n }\n window.editingColumnData = {\n ...window.editingColumnData,\n isKeyDownTriggered: true\n };\n await this.handleOnRowEditFinished();\n if (isCurrentInsertRow && event.key === \"Enter\") {\n window.editingColumnData = {};\n }\n }\n if (event.key === \"Escape\") {\n if (this.state.activeEditableRowIndex != -1) {\n this.setState({ activeEditableRowIndex: -1 } as any);\n }\n }\n if (event.key === \"Enter\") {\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n }\n };\n\n handleClick = (event: any) => {\n if (\n event.target.id.toString().includes(\"body\") ||\n event.target.id.toString().includes(\"header\") ||\n event.target.id.toString().includes(\"footer\")\n )\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n };\n\n componentWillUnmount(): void {\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"click\", this.handleClick);\n isEventListenerAdded = false;\n }\n\n componentDidMount = () => {\n this.setStyle(this.props);\n this.hideNoDataIfNotNeeded(this.props);\n this.setState({ pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10 });\n if (!isEventListenerAdded) {\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"click\", this.handleClick);\n isEventListenerAdded = true;\n }\n };\n\n getRowBgColor = (rowData: any, rowIndex?: number): string | undefined => {\n if (this.state.selectedRowKeys?.includes(rowData.id) && this.props.selectedRowColor) {\n return this.props.selectedRowColor;\n }\n if (this.props.rowBgColor) {\n return this.props.rowBgColor(rowData, rowIndex);\n }\n return undefined;\n };\n\n getRowFontColor = (rowData: any, rowIndex?: number): string | undefined => {\n if (this.props.rowFontColor) {\n return this.props.rowFontColor(rowData, rowIndex);\n }\n return undefined;\n };\n\n getRowStyle = (rowValue: any, index: number | undefined): any | undefined => {\n let style: any | undefined = _.clone(this.state.rowStyle);\n if (!style) {\n style = {};\n }\n const color = this.getRowFontColor(rowValue, index);\n if (color) {\n style.color = color;\n }\n const backgroundColor = this.getRowBgColor(rowValue, index);\n if (backgroundColor) {\n style.backgroundColor = backgroundColor;\n }\n return style;\n };\n\n getViewWrapper = () => {\n switch (this.props.mode) {\n case \"table\":\n return (props) => (\n <TableViewWrapper\n {...props}\n style={this.props.style}\n scrollable={this.props.tableWidthMode === \"horizontal scroll\" || this.props.tableWidthMode === \"scroll\"}\n ></TableViewWrapper>\n );\n case \"carousel\":\n return (props) => <CarouselViewWrapper {...props} style={this.props.style}></CarouselViewWrapper>;\n case \"google-maps\":\n return (props) => <GoogleMapsViewWrapper {...props} style={this.props.style}></GoogleMapsViewWrapper>;\n case \"gallery\":\n return (props) => <GalleryViewWrapper {...props} style={this.props.style}></GalleryViewWrapper>;\n case \"flex-grid\":\n return (props) => <FlexGridViewWrapper {...props} style={this.props.style} />;\n }\n };\n\n refreshGoogleMapsBodyWrapper: ((nextProps?: any, callBack?: any) => void) | undefined;\n\n getBodyWrapper = () => {\n switch (this.props.mode) {\n case \"table\":\n return TableBodyWrapper;\n case \"carousel\":\n return (props) => (\n <CarouselBodyWrapper\n {...props}\n {...this.getCarouselBodyWrapperProps()}\n setCurrentSlideNumber={(val: any) => {\n this.setState({ carouselStartingIndex: val });\n }}\n startingIndex={this.state.carouselStartingIndex}\n />\n );\n case \"google-maps\":\n return (props) => (\n <RefreshDelegate\n {...props}\n setRefreshDelegate={(refreshMethod) => {\n this.refreshGoogleMapsBodyWrapper = refreshMethod;\n }}\n {...this.getGoogleMapsBodyWrapperProps()}\n Component={GoogleMapsBodyWrapper}\n />\n );\n case \"gallery\":\n return (props) => <GalleryBodyWrapper {...props} {...this.getGalleryBodyWrapperProps()}></GalleryBodyWrapper>;\n case \"flex-grid\":\n return (props) => <FlexGridBodyWrapper {...props} {...this.getGalleryBodyWrapperProps()} />;\n }\n };\n\n getBodyCell = () => {\n switch (this.props.mode) {\n case \"table\":\n return TableBodyCell;\n case \"carousel\":\n return CarouselBodyCell;\n case \"google-maps\":\n return GoogleMapsBodyCell;\n case \"gallery\":\n return GalleryBodyCell;\n case \"flex-grid\":\n return FlexGridBodyCell;\n }\n };\n\n getCarouselBodyWrapperProps = () => {\n const result: CarouselBodyWrapperProps = {};\n const p = this.props as CarouselBodyWrapperProps;\n if (p.autoplaySpeed) result.autoplaySpeed = p.autoplaySpeed;\n if (p.autoplay) result.autoplay = p.autoplay;\n if (p.fade) result.fade = p.fade;\n if (p.pauseOnDotsHover) result.pauseOnDotsHover = p.pauseOnDotsHover;\n if (p.slidesToScroll) result.slidesToScroll = p.slidesToScroll;\n if (p.dots === false) {\n result.dots = false;\n }\n if (p.dots === undefined || p.dots === true) {\n result.dots = true;\n }\n if (p.slidesToShow) result.slidesToShow = p.slidesToShow;\n if (p.speed) result.speed = p.speed;\n if (p.swipe) result.swipe = p.swipe;\n if (p.cssEase) result.cssEase = p.cssEase;\n if (p.vertical) result.vertical = p.vertical;\n if (p.onChange) result.onChange = p.onChange;\n if (p.startingIndex && p.startingIndex > 0) {\n result.startingIndex = p.startingIndex;\n this.setState({ carouselStartingIndex: p.startingIndex as any });\n }\n if (p.hoverBgColor) result.hoverBgColor = p.hoverBgColor;\n if (p.hoverFontColor) result.hoverFontColor = p.hoverFontColor;\n if (p.arrowColor) result.arrowColor = p.arrowColor;\n return result;\n };\n\n getLatValue = () => {\n if (this.lastSelectedLat !== undefined) {\n return this.lastSelectedLat;\n }\n return \"\";\n };\n\n getLngValue = () => {\n if (this.lastSelectedLng !== undefined) {\n return this.lastSelectedLng;\n }\n return \"\";\n };\n\n getGoogleMapsBodyWrapperProps = () => {\n const result: GoogleMapsBodyWrapperProps = {} as any;\n const p = this.props;\n result.value = this.state.value;\n if (p.style) result.style = p.style;\n if (p.latitude) result.latitude = p.latitude;\n if (p.longitude) result.longitude = p.longitude;\n if (p.zoom) result.zoom = p.zoom;\n if (p.dataLatField) result.dataLatField = p.dataLatField;\n if (p.dataLngField) result.dataLngField = p.dataLngField;\n if (p.markerDetailView) result.markerDetailView = p.markerDetailView;\n if (p.markerDetailPosition) result.markerDetailPosition = p.markerDetailPosition;\n if (p.markerDetailHeight) result.markerDetailHeight = p.markerDetailHeight;\n if (p.markerDetailWidth) result.markerDetailWidth = p.markerDetailWidth;\n if (p.designClicked) result.designClicked = p.designClicked;\n result.isPicker = p.isPicker;\n result.isMarkerPicker = p.isMarkerPicker;\n result.hasSearchBox = p.hasSearchBox;\n result.disableDoubleClickZoom = p.disableDoubleClickZoom;\n result.fullscreenControl = p.fullscreenControl;\n result.streetViewControl = p.streetViewControl;\n result.scaleControl = p.scaleControl;\n result.zoomControl = p.zoomControl;\n result.panControl = p.panControl;\n result.rotateControl = p.rotateControl;\n result.mapTypeControl = p.mapTypeControl;\n result.autoCenter = p.autoCenter;\n result.circleRadius = p.circleRadius;\n result.onClusterElementClicked = (e, rowValue, rowData) => {\n this.setState({ isDataMarkerSelected: true as any }, () => {\n this.handleRowClick(e, rowValue, rowData);\n });\n };\n\n result.clearActiveContent = () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ activeContent: undefined, designClicked: false });\n }\n };\n result.onChange = (isDataMarkerSelected: boolean, value?: ICoords) => {\n this.setState({ value, isDataMarkerSelected } as any, () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n let wrapperProps: any = { value, isDataMarkerSelected };\n if (isDataMarkerSelected !== true) {\n wrapperProps = { value, isDataMarkerSelected, activeContent: undefined };\n }\n this.refreshGoogleMapsBodyWrapper(wrapperProps, () => {\n if (p.onChange) {\n this.lastSelectedLat = value?.latitude;\n this.lastSelectedLng = value?.longitude;\n p.onChange(value);\n }\n });\n }\n });\n };\n result.onGoogleApiLoaded = (map: any, maps: any) => {\n this.setState({ map, maps }, () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ map, maps }, () => {});\n }\n });\n };\n result.maps = this.state.maps;\n result.map = this.state.map;\n result.isDataMarkerSelected = this.state.isDataMarkerSelected;\n result.groupPickerIcon = p.groupPickerIcon;\n result.groupPickerColor = p.groupPickerColor;\n result.currentLocationIcon = p.currentLocationIcon;\n result.currentLocationColor = p.currentLocationColor;\n return result;\n };\n\n getGalleryBodyWrapperProps = () => {\n const result: GalleryBodyWrapperProps = {};\n const p = this.props as GalleryBodyWrapperProps;\n if (p.horizontalGutter) result.horizontalGutter = p.horizontalGutter;\n if (p.verticalGutter) result.verticalGutter = p.verticalGutter;\n return result;\n };\n\n public getSelectedIndex = () => {\n const selectedIndexHiddenInput = this.getSelectedRowIndexHiddenInput();\n\n if (selectedIndexHiddenInput) {\n return selectedIndexHiddenInput.value;\n }\n };\n\n public getSelectedValues = () => {\n return this.state.selectedRowKeysString;\n };\n\n getNestedTableSelectedIndex = (parentTableDomEl: HTMLElement) => {\n const selectedIndex = this.getSelectedIndex();\n\n const tbody = parentTableDomEl.querySelector(\"tbody\");\n\n if (!tbody) {\n return;\n }\n\n const rows = tbody.querySelectorAll(\":scope > tr\");\n\n if (rows.length === 0) {\n return;\n }\n\n if (selectedIndex === undefined || selectedIndex === \"\") {\n return;\n }\n\n const selectedRow = rows[selectedIndex];\n\n const selectedIndexDom = selectedRow.querySelector(\".selected-index-guid\");\n\n if (!(selectedIndexDom instanceof HTMLInputElement)) {\n return;\n }\n\n return selectedIndexDom.value ?? \"\";\n };\n\n getTableWrapperFromHtmlElement = (htmlElementNode: HTMLElement): HTMLElement | undefined => {\n while (htmlElementNode) {\n htmlElementNode = htmlElementNode.parentNode as HTMLElement;\n\n if (htmlElementNode?.className?.includes(\"ant-table-middle\")) {\n return htmlElementNode;\n }\n }\n\n return undefined;\n };\n\n getNearestTableAncestor = (htmlElementNode: HTMLElement): HTMLElement | undefined => {\n while (htmlElementNode) {\n htmlElementNode = htmlElementNode?.parentNode as HTMLElement;\n\n if (htmlElementNode?.tagName?.toLowerCase() === \"table\") {\n return htmlElementNode;\n }\n }\n\n return undefined;\n };\n\n public getParentTableIdIfExist = () => {\n const currentTableElement = document.getElementById(this.props.id);\n const nearestTableAncestor = this.getNearestTableAncestor(currentTableElement);\n\n if (!nearestTableAncestor) {\n return;\n }\n\n const tableWrapper = this.getTableWrapperFromHtmlElement(nearestTableAncestor);\n\n return tableWrapper.id;\n };\n\n getSelectedColumnIndex = () => {\n const selectedIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedIndexHiddenInput) {\n return selectedIndexHiddenInput.value;\n }\n };\n\n public getSelectedRowData = () => {\n const selectedRowDataHiddenInput = this.getSelectedRowDataHiddenInput();\n if (!this.props.dataSource || !selectedRowDataHiddenInput || !selectedRowDataHiddenInput.value) {\n return;\n }\n const isPrevInsertRow = this.isInsertRow(window.editingColumnData?.prevRowData);\n if (\n isPrevInsertRow &&\n window.editingColumnData?.prevRowIndex?.toString() !== window.editingColumnData?.rowIndex?.toString()\n ) {\n const rowValue = window.editingColumnData?.prevRowData;\n return rowValue;\n }\n\n if (this.props.mode === \"google-maps\" && !this.state.isDataMarkerSelected) return;\n\n return JSON.parse(selectedRowDataHiddenInput.value);\n };\n\n public getCarouselCurrentData = () => {\n if (this.props.dataSource && this.props.mode === \"carousel\") {\n return this.props.dataSource[this.state.carouselStartingIndex];\n }\n return {} as any;\n };\n\n public getTableConfigJson = () => {\n const json = {\n searchText: this.state.searchText,\n columnSearchTexts: this.state.columnSearchTexts,\n hiddenColumnList: this.state.hiddenColumnList,\n columnOrder: this.state.columnOrder,\n filteringOptions: this.state.filteringOptions,\n sorterOptions: this.state.sorterOptions,\n columnWidths: this.state.columnWidths\n };\n return JSON.stringify(json);\n };\n\n public setTableConfigJson = (json: string) => {\n if (!json || json === \"\") return;\n const obj = JSON.parse(json);\n this.setState({\n searchText: obj.searchText,\n columnSearchTexts: obj.columnSearchTexts,\n hiddenColumnList: obj.hiddenColumnList,\n columnOrder: obj.columnOrder,\n filteringOptions: obj.filteringOptions,\n sorterOptions: obj.sorterOptions,\n columnWidths: obj.columnWidths\n });\n };\n\n public clearFilterConfigs = () => {\n this.setState({\n searchText: \"\" as any,\n columnSearchTexts: {} as any,\n filteringOptions: {},\n sorterOptions: {}\n });\n };\n\n public resetTableConfigs = () => {\n this.setState({\n searchText: \"\" as any,\n columnSearchTexts: {} as any,\n hiddenColumnList: [] as any,\n columnOrder: [] as any,\n filteringOptions: {} as any,\n sorterOptions: {} as any,\n columnWidths: {} as any\n });\n };\n\n public setSelectedValues = (selectedValues: string) => {\n this.setState({ selectedRowKeysString: selectedValues, selectedRowKeys: selectedValues?.split(\",\") });\n };\n\n getSelectedRowIndexHiddenInput = () => {\n const selectedIndexHiddenInput = window.document.getElementById(this.state.selectedIndexGuid);\n return selectedIndexHiddenInput;\n };\n\n getSelectedColumnIndexHiddenInput = () => {\n const selectedColumnIndexHiddenInput = window.document.getElementById(this.state.selectedColumnIndexGuid);\n return selectedColumnIndexHiddenInput;\n };\n\n getSelectedRowDataHiddenInput = () => {\n const selectedColumnIndexHiddenInput = window.document.getElementById(this.state.selectedRowDataGuid);\n return selectedColumnIndexHiddenInput;\n };\n\n handleOnRowEditFinished = (isBlur?: boolean) => {\n let oldValues = {};\n let newValues = {};\n let rowValue = window.editingColumnData?.rowData;\n const { pageSize, current } = this.state;\n const offset = (current - 1) * pageSize;\n\n if (!this.props.editableAlwaysActive) {\n const filteredList = this.getFilteredAndSortedDataSource();\n const adjustedIndex = offset + this.state.activeEditableRowIndex;\n rowValue = filteredList[adjustedIndex];\n }\n\n if (rowValue) {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n oldValues[key] = rowValue[cellfieldName];\n newValues[key] = this.props.form.getFieldValue(key);\n });\n const isEql = isEqual(oldValues, newValues);\n if (isEql) {\n this.setState({ activeEditableRowIndex: -1 } as any);\n } else {\n const idColumnKey = `Table_${this.props.id}_id`;\n if (oldValues[idColumnKey] !== newValues[idColumnKey]) {\n return;\n }\n this.props.onRowEditFinished();\n }\n }\n if (this.props.editableAlwaysActive) {\n const newVals = Object.keys(newValues).reduce((acc, key) => {\n acc[key.replace(`Table_${this.props.id}_`, \"\")] = newValues[key];\n return acc;\n }, {});\n const isInsertRow = this.props.insertRowActive && this.isInsertRow(window.editingColumnData?.rowData);\n window.editingColumnData = {\n rowIndex: window.editingColumnData?.rowIndex,\n columnIndex:\n window.editingColumnData?.isKeyDownTriggered && !isBlur\n ? window.editingColumnData?.columnIndex + 1\n : window.editingColumnData?.columnIndex,\n isInsertRow,\n isKeyDownTriggered: window.editingColumnData?.isKeyDownTriggered,\n prevRowIndex: undefined,\n rowData: newVals\n };\n }\n };\n\n handleRowClick = (_e: any, rowValue: any, rowIndex?: number) => {\n if (\n this.props.onRowEditFinished &&\n this.state.activeEditableRowIndex != -1 &&\n rowIndex != this.state.activeEditableRowIndex &&\n !this.props.editableAlwaysActive\n ) {\n this.handleOnRowEditFinished();\n }\n const selectedIndexHiddenInput = this.getSelectedRowIndexHiddenInput();\n if (selectedIndexHiddenInput && rowIndex !== undefined) {\n selectedIndexHiddenInput.value = rowIndex.toString();\n }\n const selectedRowDataHiddenInput = this.getSelectedRowDataHiddenInput();\n if (selectedRowDataHiddenInput && rowValue !== undefined) {\n selectedRowDataHiddenInput.value = JSON.stringify(rowValue);\n }\n };\n\n handleRowDoubleClick = (_e: any, rowValue: any, rowIndex?: number) => {\n if (this.props.editableAlwaysActive) {\n return;\n }\n if (this.state.activeEditableRowIndex != rowIndex && this.props.editable) {\n let formValues = {};\n const isEditable = this.props.children[1].props.editabilityCondition?.(rowValue) ?? true;\n if (!isEditable) {\n return;\n }\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ activeEditableRowIndex: rowIndex } as any, () => {});\n }\n if (this.props.onRowDoubleClick) {\n this.props.onRowDoubleClick();\n }\n };\n\n handleOnRowBlur = (_e: any, _rowValue: any, _rowIndex?: number) => {};\n\n handleCellClick = (_e, columnIndex, rowData, rowIndex) => {\n if (this.props.editableAlwaysActive) {\n const currentRowIndex = _e.currentTarget.getAttribute(\"rowindex\");\n const dataType: ValueType = _e.currentTarget.getAttribute(\"datatype\");\n const isInsertRow = this.props.insertRowActive && this.isInsertRow(rowData);\n const prevRowIndex = window.editingColumnData?.rowIndex;\n const prevRowData = window.editingColumnData?.rowData;\n const prevActiveElement = window.editingColumnData?.activeElement;\n if (\n (isInsertRow &&\n window.editingColumnData?.rowIndex?.toString() !== currentRowIndex?.toString() &&\n currentRowIndex) ||\n (!isInsertRow &&\n (window.editingColumnData?.rowIndex?.toString() !== currentRowIndex?.toString() ||\n window.editingColumnData?.columnIndex?.toString() !== columnIndex?.toString()) &&\n currentRowIndex) ||\n !window.editingColumnData ||\n (dataType === ValueType.Boolean && !isInsertRow)\n ) {\n window.editingColumnData = {\n rowIndex: currentRowIndex,\n isInsertRow,\n columnIndex,\n activeElement: _e,\n prevRowIndex,\n rowData,\n prevRowData\n };\n if (\n prevRowIndex?.toString() !== currentRowIndex?.toString() &&\n isInsertRow &&\n prevRowIndex?.toString() !== undefined &&\n currentRowIndex !== undefined\n ) {\n this.setFields(prevActiveElement, true, rowData);\n this.handleOnRowEditFinished();\n return;\n }\n\n this.setFields(_e, true, rowData);\n }\n }\n\n const selectedColumnIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedColumnIndexHiddenInput && columnIndex !== undefined) {\n selectedColumnIndexHiddenInput.value = columnIndex.toString();\n }\n };\n\n isInsertRow = (rowData) => {\n if (!rowData) {\n return false;\n }\n const otherFields = Object.keys(rowData).filter((key) => key !== \"id\");\n return otherFields.every((field) => rowData[field] === undefined);\n };\n\n setFields = (e: any, isClick: boolean, rowData) => {\n const isCurrentInsertRow = window.editingColumnData?.isInsertRow;\n const isPrevRowInsert = this.isInsertRow(window.editingColumnData?.prevRowData);\n if ((isCurrentInsertRow && !isClick) || isPrevRowInsert) {\n return;\n }\n let currentColumnDataValue = e.target.getAttribute(\"datavalue\");\n let currentColumnDataType = e.target.getAttribute(\"datatype\");\n let activeElement = e.target;\n let columnIndex = e.target.getAttribute(\"columnindex\");\n if (window.editingColumnData?.columnIndex?.toString() !== columnIndex?.toString() && columnIndex) {\n return;\n }\n while (!currentColumnDataValue && activeElement && activeElement.getAttribute(\"datavalue\") === null) {\n activeElement = activeElement.parentElement;\n currentColumnDataValue = activeElement?.getAttribute(\"datavalue\");\n currentColumnDataType = activeElement?.getAttribute(\"datatype\");\n }\n const dataSource = this.getDataSource();\n let selectedRow = rowData;\n let selectedColumnValue = selectedRow[currentColumnDataValue]?.toString();\n let currentColumnValue =\n e.target.value?.toString()?.trim() ||\n (document.activeElement as any).checked ||\n (document.activeElement as any).value;\n let isDate = false;\n let isBoolean = false;\n if (currentColumnValue && typeof currentColumnValue === \"string\" && currentColumnDataType === ValueType.Date) {\n currentColumnValue = moment(currentColumnValue, \"DD-MM-YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\");\n selectedColumnValue = moment(selectedColumnValue).format(\"YYYY-MM-DD HH:mm:ss\");\n isDate = true;\n }\n if (\n e.target?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.getAttribute(\"aria-checked\") === \"false\" ||\n e.target?.parentElement?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.parentElement?.getAttribute(\"aria-checked\") === \"false\"\n ) {\n currentColumnValue = !(\n e.target.parentElement?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.getAttribute(\"aria-checked\") === \"true\"\n );\n selectedColumnValue = selectedColumnValue === \"true\";\n isBoolean = true;\n }\n if (e.target.className === \"ant-checkbox-inner\" || e.target.className === \"ant-checkbox-input\") {\n const parent = e.target.parentElement;\n const input = parent?.querySelector(\"input\");\n if (input) {\n currentColumnValue = input.getAttribute(\"checked\") === null;\n selectedColumnValue = selectedColumnValue === \"true\";\n isBoolean = true;\n }\n }\n if (currentColumnValue && typeof currentColumnValue === \"string\") {\n currentColumnValue = currentColumnValue.replace(/[,]/g, \"\");\n }\n if (\n currentColumnValue !== selectedColumnValue &&\n currentColumnValue !== undefined &&\n currentColumnValue !== null &&\n currentColumnValue !== \"\"\n ) {\n selectedRow = {\n ...selectedRow,\n [currentColumnDataValue]:\n isDate || isBoolean\n ? currentColumnValue\n : currentColumnDataType === ValueType.Number\n ? parseFloat(currentColumnValue)\n : e.target.value\n };\n dataSource?.forEach((row, index) => {\n if (row.id === selectedRow.id) {\n dataSource[index] = selectedRow;\n }\n });\n }\n\n let formValues = {};\n Object.keys(selectedRow).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = selectedRow[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n const isInsertRow =\n isCurrentInsertRow === true ? isCurrentInsertRow : this.props.insertRowActive && this.isInsertRow(selectedRow);\n\n if (\n ((isBoolean &&\n (window.editingColumnData?.columnIndex?.toString() === activeElement.getAttribute(\"columnIndex\")?.toString() ||\n window.editingColumnData === undefined)) ||\n (isDate && currentColumnValue !== selectedColumnValue)) &&\n !isInsertRow\n ) {\n this.handleOnRowEditFinished();\n }\n };\n\n handleCellBlur = (_e, rowIndex, columnIndex) => {\n const isInsertRow = window.editingColumnData?.isInsertRow;\n if (!this.props.editableAlwaysActive || isInsertRow) {\n return;\n }\n\n let currentColumnValue = \"\";\n let currentColumnDataValue = _e.currentTarget.getAttribute(\"datavalue\");\n const currentColumnDataType = _e.currentTarget.getAttribute(\"datatype\");\n const rowData = window.editingColumnData?.rowData;\n const selectedRow = rowData;\n const selectedColumnValue = selectedRow[currentColumnDataValue]?.toString();\n let formattedDate = \"\";\n\n if (_e.target.classList.contains(\"ant-select-selection-search-input\")) {\n currentColumnValue = _e.target.getAttribute(\"aria-activedescendant\");\n currentColumnValue = document.getElementById(currentColumnValue)?.innerText || \"\";\n } else {\n currentColumnValue = _e.target.value?.toString();\n if (currentColumnValue) {\n currentColumnValue = currentColumnValue.replace(/[,]/g, \"\");\n }\n }\n\n if (currentColumnValue && currentColumnDataType === ValueType.Date) {\n currentColumnValue = moment(currentColumnValue, \"DD-MM-YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\");\n formattedDate = moment(selectedColumnValue).format(\"YYYY-MM-DD HH:mm:ss\");\n }\n\n if (\n currentColumnValue !== selectedColumnValue &&\n currentColumnValue &&\n currentColumnValue !== \"\" &&\n currentColumnValue !== \"Invalid date\"\n ) {\n if (!isInsertRow) {\n if (formattedDate && formattedDate !== \"\") {\n if (selectedColumnValue !== formattedDate && formattedDate !== \"Invalid date\") {\n this.handleOnRowEditFinished(true);\n }\n } else {\n this.handleOnRowEditFinished(true);\n }\n }\n const selectedColumnIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedColumnIndexHiddenInput && columnIndex !== undefined) {\n selectedColumnIndexHiddenInput.value = columnIndex.toString();\n }\n }\n };\n\n getRowComponent = () => {\n const childList = React.Children.toArray(this.props.children);\n return childList[1];\n };\n\n getPagination = () => {\n if (this.props.pagination && this.props.pagination === true) {\n const paginationProps = {\n pageSize: this.state.pageSize,\n showSizeChanger: this.props.showSizeChanger,\n pageSizeOptions: this.getPageSizeOptions(),\n onShowSizeChange: (current: number, size: number) => this.onPageSizeChange(current, size),\n onChange: (current: number) => this.setState({ current } as any)\n };\n return paginationProps;\n }\n return false;\n };\n\n onPageSizeChange = (current: number, size: number) => {\n this.setState({ pageSize: size, current } as any);\n };\n\n getPageSizeOptions = () => {\n const options = this.props.options;\n if (options && options.length > 0) {\n const mappedOptions: number[] = [];\n options.forEach((option: any) => {\n const value = option.text?.trim() ?? option[this.props.datavaluefield];\n if (!isNaN(value) && value !== null && value !== undefined && value !== \"\") {\n mappedOptions.push(parseInt(value, 10));\n }\n });\n mappedOptions?.sort((a, b) => a - b);\n if (mappedOptions.length > 0) return mappedOptions;\n }\n\n return BaseTable.DEFAULT_PAGE_SIZE_OPTIONS;\n };\n\n shouldComponentUpdate = (nextProps: any, nextState: any) => {\n if (nextProps.mode === \"carousel\") {\n if (this.props.dataSource === undefined || this.props.dataSource !== nextProps.dataSource) return true;\n return false;\n }\n if (nextProps.mode === \"google-maps\") {\n if (this.props.dataSource === undefined || this.props.dataSource !== nextProps.dataSource) {\n if (_.isEqual(this.props.dataSource, nextProps.dataSource) === false) {\n return true;\n }\n }\n if (this.refreshGoogleMapsBodyWrapper && this.state.value !== nextState.value) {\n const { value } = nextState;\n if (value != undefined && value.latitude != undefined && value.longitude != undefined) {\n if (this.props.autoCenter !== true) {\n this.refreshGoogleMapsBodyWrapper({\n value: nextState.value,\n latitude: value.latitude,\n longitude: value.longitude\n });\n } else {\n this.refreshGoogleMapsBodyWrapper({ value: nextState.value });\n }\n }\n\n this.refreshGoogleMapsBodyWrapper({ value: nextState.value });\n }\n return false;\n }\n return !shallowequal(nextProps, this.props) || !shallowequal(nextState, this.state);\n };\n\n getRowProps = () => {\n const result: any = {};\n if (this.props.mode === \"gallery\") {\n result.desktopColumnsCount = (this.props as GalleryItemProps).desktopColumnsCount;\n result.tabletColumnsCount = (this.props as GalleryItemProps).tabletColumnsCount;\n result.phoneColumnsCount = (this.props as GalleryItemProps).phoneColumnsCount;\n } else if (this.props.mode === \"google-maps\") {\n result.value = this.state.value;\n result.map = this.state.map;\n result.maps = this.state.maps;\n result.isDataMarkerSelected = this.state.isDataMarkerSelected;\n }\n return result;\n };\n\n convertToCoordsFieldsFromLatField = (record: any): number | undefined => {\n if (this.props.dataLatField === undefined) return undefined;\n if (this.props.dataLatField !== undefined && record[toCamelCase(this.props.dataLatField)] !== undefined) {\n const latitude = parseFloat(record[toCamelCase(this.props.dataLatField)]);\n return latitude;\n }\n };\n\n convertToCoordsFieldsFromLngField = (record: any): number | undefined => {\n if (this.props.dataLngField === undefined) return undefined;\n if (this.props.dataLngField !== undefined && record[toCamelCase(this.props.dataLngField)] !== undefined) {\n const longitude = parseFloat(record[toCamelCase(this.props.dataLngField)]);\n return longitude;\n }\n };\n\n getRowLat = (rowData: any) => {\n const latitude = this.convertToCoordsFieldsFromLatField(rowData);\n return latitude;\n };\n\n getRowLng = (rowData: any) => {\n const longitude = this.convertToCoordsFieldsFromLngField(rowData);\n return longitude;\n };\n\n resetEditableRow = () => {\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n };\n\n getDataSource = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.props.insertRowActive && this.props.dataSource && !isDesignTime) {\n let mockDataSource = { id: this.state?.randomGuid };\n let children = this.props.children[1].props.children;\n if (children?.length > 0) {\n children.forEach((element) => {\n if (\n element &&\n element.props &&\n element.props.children &&\n element.props.children[0] &&\n element.props.children[0].props &&\n element.props.children[0].props.value\n ) {\n var key = element.props.children[0].props.value as string;\n if (key) {\n key = key.replace(\"[datafield:\", \"\").replace(\"]\", \"\");\n if (key !== \"id\") {\n mockDataSource[key] = undefined;\n }\n }\n }\n });\n }\n if (this.props.insertRowPosition === \"bottom\") {\n let dataSource = this.props.dataSource;\n let newDataSource = [];\n if (this.props.pagination === true) {\n dataSource.forEach((element, index) => {\n newDataSource.push(element);\n if (index % 8 === 0 && index !== 0) {\n newDataSource.push(mockDataSource);\n } else if (index === dataSource.length - 1) {\n newDataSource.push(mockDataSource);\n }\n });\n } else {\n newDataSource = [...dataSource, mockDataSource];\n }\n return newDataSource;\n }\n return [mockDataSource, ...this.props.dataSource];\n }\n return this.props.dataSource;\n };\n\n getTableStyles = () => {\n if (this.props.mode === \"carousel\") {\n const { width, height, maxWidth, maxHeight } = this.props.style;\n delete this.props.style?.width;\n delete this.props.style?.height;\n delete this.props.style?.maxWidth;\n delete this.props.style?.maxHeight;\n return {\n width,\n height,\n maxWidth,\n maxHeight\n };\n }\n };\n\n setStartingIndex = (index: number) => {\n const totalSlides = this.props.dataSource?.length || 0;\n const validIndex = index < totalSlides ? index : index % totalSlides;\n if (this.props.mode === \"carousel\") {\n this.setState({ carouselStartingIndex: validIndex } as any);\n this.forceUpdate();\n }\n };\n\n turkishCharsToEnglish = (str) => {\n if (!str || typeof str !== \"string\") return str;\n\n str = str.replace(/i̇/g, \"i\");\n str = str.replace(/ı/g, \"i\");\n str = str.replace(/ö/g, \"o\");\n str = str.replace(/ü/g, \"u\");\n str = str.replace(/ğ/g, \"g\");\n str = str.replace(/ş/g, \"s\");\n str = str.replace(/ç/g, \"c\");\n str = str.replace(/İ/g, \"I\");\n str = str.replace(/Ö/g, \"O\");\n str = str.replace(/Ü/g, \"U\");\n str = str.replace(/Ğ/g, \"G\");\n str = str.replace(/Ş/g, \"S\");\n str = str.replace(/Ç/g, \"C\");\n\n return str;\n };\n\n setSearchText = (searchText: string) => {\n this.setState({ searchText } as any);\n };\n\n setColumnSearchTexts = (key: string, value: string) => {\n const columnSearchTexts: { [key: string]: string } = { ...this.state.columnSearchTexts };\n columnSearchTexts[key] = value;\n this.setState({ columnSearchTexts } as any);\n };\n\n onHeaderSearchBlur = () => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n\n filterListBySearchText(rows: any, searchText: any) {\n const searchLowerCase = this.turkishCharsToEnglish(searchText?.toString()?.toLowerCase());\n const searchUpperCase = this.turkishCharsToEnglish(searchText?.toString()?.toUpperCase());\n let filteredList = rows;\n if (searchText && searchText !== \"\") {\n filteredList = rows.filter((item: any) => {\n for (let key in item) {\n const itemLowerCase = this.turkishCharsToEnglish(item[key]?.toString()?.toLowerCase());\n const itemUpperCase = this.turkishCharsToEnglish(item[key]?.toString()?.toUpperCase());\n if (\n (typeof item[key] === \"string\" || typeof item[key] === \"number\") &&\n (itemLowerCase?.includes(searchLowerCase) || itemLowerCase?.includes(searchLowerCase))\n ) {\n return true;\n }\n if (\n (typeof item[key] === \"string\" || typeof item[key] === \"number\") &&\n (itemUpperCase?.includes(searchUpperCase) || itemUpperCase?.includes(searchUpperCase))\n ) {\n return true;\n }\n }\n return false;\n });\n }\n\n const columnSearchTexts = this.state.columnSearchTexts;\n if (columnSearchTexts) {\n for (let key in columnSearchTexts) {\n const columnSearchText: any = columnSearchTexts[key];\n if (columnSearchText || columnSearchText === false) {\n const filteredListByColumnSearchText = filteredList.filter((item: any) => {\n if (typeof item[key] === \"string\" || typeof item[key] === \"number\") {\n const itemLowerCase = this.turkishCharsToEnglish(item[key].toString().toLowerCase());\n const columnSearchTextLowerCase = this.turkishCharsToEnglish(columnSearchText.toLowerCase());\n const itemUpperCase = this.turkishCharsToEnglish(item[key].toString().toUpperCase());\n const columnSearchTextUpperCase = this.turkishCharsToEnglish(columnSearchText.toUpperCase());\n if (itemLowerCase.includes(columnSearchTextLowerCase)) {\n return true;\n }\n if (itemUpperCase.includes(columnSearchTextUpperCase)) {\n return true;\n }\n }\n if (typeof item[key] === \"boolean\") {\n if (item[key] === true && (columnSearchText === \"true\" || columnSearchText === true)) {\n return true;\n }\n if (item[key] === false && (columnSearchText === \"false\" || columnSearchText === false)) {\n return true;\n }\n }\n return false;\n });\n filteredList = filteredListByColumnSearchText;\n }\n }\n }\n\n return filteredList;\n }\n\n handleCheckboxChange = (checkedValues) => {\n const { columns } = this.state;\n\n const allVisibleColumns = columns.filter((c) => c.visibility !== \"hidden\").map((c) => c.id);\n const newHiddenColumnList: any = allVisibleColumns.filter((id) => !checkedValues.includes(id));\n\n this.setState({ hiddenColumnList: newHiddenColumnList });\n };\n\n handleDragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const columns: any = this.reorder(this.state.columns, result.source.index, result.destination.index);\n\n const columnOrder = columns.map((col: any) => col.id);\n this.setState(\n {\n columns,\n columnOrder\n },\n () => {\n this.handleColumnOrderChange(columnOrder);\n }\n );\n };\n\n reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n };\n\n setResizingColumnIndex = (index: any) => {\n (this.resizingColumnIndexRef as any).current = index;\n this.setState({ resizingColumnIndex: index });\n };\n\n resizeListener = (e: any) => {\n let newColumnWidth;\n if (this.resizingColumnIndexRef.current !== undefined) {\n const table = document.getElementById(this.props.id);\n if (table) {\n const column: any = table.querySelector(`[columnindex=\"${this.resizingColumnIndexRef.current}\"]`);\n if (column) {\n const columnWidth = column.offsetWidth;\n newColumnWidth = columnWidth + e.movementX;\n if (newColumnWidth > 50) {\n column.style.width = `${newColumnWidth}px`;\n this.setState({\n columnWidths: { ...this.state.columnWidths, [this.resizingColumnIndexRef.current]: newColumnWidth }\n });\n }\n }\n }\n }\n window.onmouseup = () => {\n window.removeEventListener(\"mousemove\", this.resizeListener);\n this.setState({ resizingColumnIndex: undefined });\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n };\n\n handleColumnOrderChange = (newOrder) => {\n this.setState({ columnOrder: newOrder });\n };\n\n handleTableChange = (pagination, filters, sorter) => {\n if (sorter) {\n const sorterOptions = {\n field: sorter.column?.dataValue,\n order: sorter.order,\n columnId: sorter.column?.id\n };\n this.setState({ sorterOptions });\n } else {\n this.setState({ sorterOptions: {} });\n }\n if (filters) {\n Object.values(filters).forEach((filter: any) => {\n if (filter && filter[0] && filter[0].value) {\n const columns = this.state.columns;\n const column: any = columns.find((c) => c.id === filter[0].columnId);\n if (column) {\n filter[0].dataValue = column.dataValue;\n filter[0].columnId = column.id;\n }\n }\n });\n this.setState({ filteringOptions: filters });\n } else {\n this.setState({ filteringOptions: {} });\n }\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n\n getFormattedValue(value: any, formatter) {\n if (formatter && value && value?.toString()?.trim() !== \"\") {\n switch (formatter) {\n case \"money\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-tl\":\n if (Number.isNaN(Number(value))) {\n return \"₺0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"phone\":\n return VMasker.toPattern(value, \"(999) 999-9999\");\n\n case \"percent\":\n return `${value}%`;\n\n case \"fractional-2\":\n const number2 = Number(value);\n return isNaN(number2) ? value : number2.toFixed(2);\n\n case \"fractional-5\":\n const number5 = Number(value);\n return isNaN(number5) ? value : number5.toFixed(5);\n\n default:\n return value;\n }\n }\n return value?.toString();\n }\n\n getFilteredAndSortedDataSource = () => {\n let filteredList =\n this.props.searchable || this.props.globalSearch\n ? this.filterListBySearchText(this.getDataSource(), this.state.searchText)\n : this.getDataSource();\n\n if (this.state.filteringOptions) {\n Object.entries(this.state.filteringOptions).forEach(([c, filters]: any) => {\n if (filters && filters.length > 0) {\n const { value, type, columnId } = filters[0];\n const column = this.state.columns.find((col) => col.id === columnId);\n if (column) {\n const { dataValue, dataType }: any = column;\n filteredList = filteredList.filter((record) =>\n BaseTable.applyFilter({ value, type }, record, dataValue, dataType)\n );\n }\n }\n });\n }\n\n if (this.state.sorterOptions && this.state.sorterOptions.field) {\n const { field, order } = this.state.sorterOptions;\n filteredList.sort((a, b) => {\n const result = BaseTable.compare(field, a, b);\n return order === \"ascend\" ? result : -result;\n });\n }\n\n return filteredList;\n };\n\n renderSummary = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n\n const hasFooter = this.state.columns?.some(\n (column: any) => column.footerOptions !== FooterOptions.None && column.footerOptions\n );\n if (!hasFooter) return <></>;\n\n const calculateTotals = (column) => {\n const { footerOptions, dataType, dataValue, footerFormatter } = column;\n if (\n footerOptions === FooterOptions.None ||\n (dataType !== ValueType.Number && footerOptions !== FooterOptions.Count)\n )\n return \"\";\n\n let filteredList = this.getFilteredAndSortedDataSource();\n\n const columnData = filteredList?.map((row) => row[dataValue]) || [];\n\n switch (footerOptions) {\n case FooterOptions.Sum:\n return this.getFormattedValue(\n columnData.reduce((acc, val) => acc + (val || 0), 0),\n footerFormatter\n );\n case FooterOptions.Average:\n const validData = columnData.filter((val) => val != null);\n return this.getFormattedValue(\n validData.length ? (validData.reduce((acc, val) => acc + val, 0) / validData.length).toFixed(2) : 0,\n footerFormatter\n );\n case FooterOptions.Count:\n return this.getFormattedValue(columnData.length, footerFormatter);\n case FooterOptions.Min:\n const minData = columnData.filter((val) => val != null);\n return this.getFormattedValue(minData.length ? Math.min(...minData) : 0, footerFormatter);\n\n case FooterOptions.Max:\n const maxData = columnData.filter((val) => val != null);\n return this.getFormattedValue(maxData.length ? Math.max(...maxData) : 0, footerFormatter);\n default:\n return \"\";\n }\n };\n\n const totals = this.state.columns?.map(calculateTotals);\n\n const renderSummaryCell = (column, index) => {\n const { footerOptions, footerFormatter, dataType, style, footerOptionLabel, footerFontSize, footerFontColor } =\n column;\n const isNumeric = dataType === ValueType.Number || isDesignTime || footerOptions === FooterOptions.Count;\n\n if (!isNumeric) return <Table.Summary.Cell key={index} index={index} />;\n const designTimeValue = footerOptions !== FooterOptions.None ? this.getFormattedValue(\"20\", footerFormatter) : \"\";\n const content = (\n <div style={{ display: \"flex\", alignItems: \"center\" }}>\n <span\n style={{\n fontSize: footerFontSize,\n color: footerFontColor\n }}\n >\n {footerOptionLabel}\n </span>\n <span\n style={{\n fontSize: footerFontSize,\n color: footerFontColor,\n marginLeft:\n style?.textAlign === \"-webkit-left\" ? \"8px\" : style?.textAlign === \"-webkit-right\" ? \"auto\" : \"8px\"\n }}\n >\n {isDesignTime ? designTimeValue : totals[index] || \"\"}\n </span>\n </div>\n );\n\n return (\n <Table.Summary.Cell\n key={index}\n index={index}\n align={\n style?.textAlign === \"-webkit-center\"\n ? \"center\"\n : style?.textAlign === \"-webkit-left\"\n ? \"left\"\n : style?.textAlign === \"-webkit-right\"\n ? \"right\"\n : \"left\"\n }\n >\n {content}\n </Table.Summary.Cell>\n );\n };\n\n return (\n <Table.Summary>\n <Table.Summary.Row>\n {this.props.multiSelect && <Table.Summary.Cell index={0} />}\n {this.state.columns?.map(renderSummaryCell)}\n </Table.Summary.Row>\n </Table.Summary>\n );\n };\n\n onExport = async () => {\n const xlsx = (await import(\"better-xlsx\")).default;\n const file = new xlsx.File();\n const sheet = file.addSheet(\"Sheet1\");\n\n // Initialize column width tracking arrays\n const columnWidths = new Array(this.state.columns.length).fill(0);\n\n // Helper function to serialize values gracefully\n const serializeValue = (value: any): string => {\n if (value === null || value === undefined) {\n return \"\";\n }\n if (typeof value === \"object\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n if (Array.isArray(value)) {\n return value.map(serializeValue).join(\", \");\n }\n // For other objects, try JSON.stringify with fallback\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n }\n return String(value);\n };\n\n const columnsToExport: any[] = this.state.columns?.filter((column: any) => column.dataValue);\n\n const headerRow = sheet.addRow();\n columnsToExport?.forEach(({ title }: any, colIndex: number) => {\n const cell = headerRow.addCell();\n cell.value = title;\n // Track header width (approximate character count)\n columnWidths[colIndex] = Math.max(columnWidths[colIndex], String(title).length);\n });\n\n let filteredList = this.getFilteredAndSortedDataSource();\n\n filteredList.forEach((record) => {\n const row = sheet.addRow();\n columnsToExport?.forEach(({ dataValue, footerFormatter }: any, colIndex: number) => {\n const cell = row.addCell();\n const rawValue = objectPath.get(record, dataValue);\n // Format the value if a formatter exists, otherwise serialize it\n const value = footerFormatter ? this.getFormattedValue(rawValue, footerFormatter) : serializeValue(rawValue);\n if (!dataValue) {\n cell.value = \"\";\n } else {\n cell.value = value;\n }\n // Track maximum content width\n columnWidths[colIndex] = Math.max(columnWidths[colIndex], value.length);\n });\n });\n\n // Set column widths (with some padding)\n sheet.cols.forEach((col, index) => {\n // Convert character count to Excel width units (approximately)\n // Add padding and set minimum width\n col.width = Math.max(10, columnWidths[index] * 1.1 + 2);\n });\n\n file\n .saveAs(\"blob\")\n .then((blob) => {\n saveAs(blob, \"export.xlsx\");\n })\n .catch((error) => {\n console.error(\"Error saving the file:\", error);\n });\n };\n\n render = (): ReactNode => {\n const isDesignTime = window.kuika?.isDesignTime;\n const defaultEmptyProps = {\n xl: 24 / (this.props as GalleryItemProps).desktopColumnsCount,\n md: 24 / (this.props as GalleryItemProps).tabletColumnsCount,\n sm: 24 / (this.props as GalleryItemProps).phoneColumnsCount,\n xs: 24 / (this.props as GalleryItemProps).phoneColumnsCount,\n\n style: {\n padding: \"5px 5px\"\n }\n };\n let defaultTemp = [];\n\n if (this.props.kuikacomponentname == \"GalleryView\" && !this.props.children) {\n let a = Array(24).fill(1);\n a.forEach((element, index) => {\n defaultTemp.push(\n <Col {...defaultEmptyProps} key={index}>\n <div className=\"kuika_emptygalleryviewPlaceholder\" />\n </Col>\n );\n });\n\n return <Row>{defaultTemp}</Row>;\n }\n if (this.props.mode == \"carousel\" && this.props.kuikacomponentname === \"Carousel\" && !this.props.children) {\n return <img src={CarouselPlaceholder} style={{ width: \"100%\" }} />;\n }\n if (this.props.mode == \"carousel\" && this.props.kuikacomponentname === \"HorizontalGrid\" && !this.props.children) {\n return <img src={HorizontalGridPlaceholder} style={{ width: \"100%\" }} />;\n }\n if (this.props.mode == \"flex-grid\" && !this.props.children && window.kuika.isDesignTime) {\n return <img src={FlexGridPlaceholder} style={{ width: \"100%\" }} />;\n }\n if (\n this.props.hideTableOnEmpty == true &&\n (this.props.dataSource == undefined || this.props.dataSource.length < 1)\n ) {\n return <></>;\n }\n\n const filteredList =\n this.props.searchable || this.props.globalSearch\n ? this.filterListBySearchText(this.getDataSource(), this.state.searchText)\n : this.getDataSource();\n const language = localStorage.getItem(\"ml\");\n\n let noDataFoundMessageText = \"No data found\";\n if (language === \"tr_TR\") {\n noDataFoundMessageText = \"Veri bulunamadı\";\n } else if (language === \"fr_FR\") {\n noDataFoundMessageText = \"Aucune donnée trouvée\";\n } else if (language === \"de_DE\") {\n noDataFoundMessageText = \"Keine Daten gefunden\";\n } else if (language === \"es_ES\") {\n noDataFoundMessageText = \"No se encontraron datos\";\n }\n\n return (\n <>\n <div className={`kuika_table__wrapper${this.getClassName()}`}>\n {(this.props.globalSearch || this.props.columnChooser || this.props.export) && (\n <div\n style={{\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n marginBottom: 12\n }}\n >\n {this.props.globalSearch && (\n <Input\n placeholder={language === \"tr_TR\" ? \"Ara...\" : \"Search...\"}\n style={{\n width: 240\n }}\n value={this.state.searchText}\n onChange={(e) => this.setSearchText(e.target.value)}\n onBlur={() => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n }}\n readOnly={isDesignTime}\n />\n )}\n\n {this.props.export && (\n <div style={{ marginLeft: 12 }}>\n <Button\n type=\"primary\"\n icon={<DownloadOutlined />}\n onClick={() => {\n this.onExport();\n }}\n >\n {language === \"tr_TR\" ? \"Dışa Aktar\" : \"Export\"}\n </Button>\n </div>\n )}\n\n {this.props.columnChooser && (\n <div style={{ marginLeft: 12 }}>\n <Popover\n content={\n <DragDropContext onDragEnd={this.handleDragEnd}>\n <Droppable droppableId=\"columnChooser\">\n {(provided) => (\n <div\n {...provided.droppableProps}\n ref={provided.innerRef}\n className=\"kuika_table__column_chooser__checkbox_group\"\n >\n {this.state.columns\n ?.filter((c) => c.visibility !== \"hidden\")\n .map((c: any, index) => (\n <Draggable key={c.id} draggableId={c.id} index={index}>\n {(provided) => (\n <div\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n className=\"draggable-item\"\n >\n <MenuOutlined className=\"drag-handle\" />\n <Checkbox\n checked={!this.state.hiddenColumnList.includes(c.id)}\n onChange={(e) => {\n if (\n this.state.hiddenColumnList.length ===\n this.state.columns.filter((c) => c.visibility !== \"hidden\").length -\n 1 &&\n !e.target.checked\n ) {\n return;\n }\n const hiddenColumnList: any = e.target.checked\n ? this.state.hiddenColumnList.filter((id) => id !== c.id)\n : [...this.state.hiddenColumnList, c.id];\n this.setState({ hiddenColumnList }, () => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n });\n }}\n >\n {c.title}\n </Checkbox>\n </div>\n )}\n </Draggable>\n ))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n }\n title={\n language === \"tr_TR\"\n ? \"Kolon Seçici\"\n : language === \"fr_FR\"\n ? \"Sélectionneur de colonnes\"\n : \"Column Chooser\"\n }\n trigger=\"click\"\n placement=\"bottomLeft\"\n >\n <UnorderedListOutlined\n style={{\n pointerEvents: isDesignTime ? \"none\" : \"auto\"\n }}\n />\n </Popover>\n </div>\n )}\n </div>\n )}\n <Table\n id={this.props.id}\n style={{ ...this.getTableStyles() }}\n showHeader={this.props.showHeader}\n pagination={this.getPagination()}\n dataSource={filteredList}\n onChange={this.handleTableChange}\n components={{\n table: this.getViewWrapper(),\n header: {\n wrapper: this.state.headerRenderer,\n row: TableHeaderRow,\n cell: TableHeaderCell\n },\n body: {\n wrapper: this.getBodyWrapper(),\n row: this.state.rowRenderer,\n cell: this.getBodyCell()\n }\n }}\n summary={this.renderSummary}\n locale={{\n emptyText: (\n <Empty\n image={\n this.props.noDataFoundImage ? (\n <Image value={this.props.noDataFoundImage} />\n ) : this.props.mode === \"table\" || this.props.showNoDataFound ? (\n <img\n src={EmptyDataSvg}\n style={{\n width: \"100%\"\n }}\n />\n ) : null\n }\n description={\n this.props.mode === \"table\" || this.props.showNoDataFound\n ? this.props.nodatafoundmessage || noDataFoundMessageText\n : \"\"\n }\n />\n )\n }}\n onRow={(rowValue: any, rowIndex?: number) => ({\n ...this.getRowProps(),\n onMouseLeave: (e: any) => {\n this.handleOnRowBlur(e, rowValue, rowIndex);\n },\n onDoubleClick: (e: any) => {\n this.handleRowDoubleClick(e, rowValue, rowIndex);\n },\n onTouchStart: (e: any) => {\n this.timeOutId = setTimeout(() => {\n this.handleRowDoubleClick(e, rowValue, rowIndex);\n }, 500);\n },\n onTouchEnd: (e: any) => {\n clearTimeout(this.timeOutId);\n },\n onClickCapture: (e: any) => {\n this.handleRowClick(e, rowValue, rowIndex);\n },\n editMode: this.props.editableAlwaysActive ? true : this.state.activeEditableRowIndex == rowIndex,\n style: this.getRowStyle(rowValue, rowIndex),\n hoverFontColor: this.props.rowHoverFontColor,\n transformedOnMobileResolution: this.props.transformedOnMobileResolution,\n hideHeaderOnMobileResolution: this.props.hideHeaderOnMobileResolution,\n hoverBgColor: this.props.rowHoverBgColor,\n selectedBgColor: this.props.selectedRowColor,\n isSelected: this.state.selectedRowKeys?.includes(rowValue.id),\n tableClassName: this.getClassName().trim(),\n showTableHeader: this.props.showHeader,\n desktopColumnsCount: (this.props as GalleryItemProps).desktopColumnsCount,\n tabletColumnsCount: (this.props as GalleryItemProps).tabletColumnsCount,\n phoneColumnsCount: (this.props as GalleryItemProps).phoneColumnsCount,\n mode: this.props.mode,\n rowData: rowValue,\n rowIndex,\n isInsertRow: this.isInsertRow(rowValue),\n handleAddRow: () => {\n if (this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n window.editingColumnData = {};\n }\n },\n handleCancelEditing: () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n },\n onClick: () => this.resetEditableRow,\n rowComponent: this.getRowComponent(),\n lat: this.getRowLat(rowValue),\n lng: this.getRowLng(rowValue),\n dataLatField: this.props?.dataLatField,\n dataLngField: this.props?.dataLngField,\n marker: { lat: this.getRowLat(rowValue), lng: this.getRowLng(rowValue) },\n rowStyle: this.getRowStyle(rowValue, rowIndex),\n value: this.state.value,\n isDataMarkerSelected: this.state.isDataMarkerSelected,\n onClickDesign: (designClicked: boolean) => {\n if (this.props.onClickDesign) {\n this.props.onClickDesign(designClicked);\n }\n },\n openDrawer: (content?: any) => {\n if (content !== undefined) {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ activeContent: content });\n }\n }\n },\n designClicked: (this.props.designClicked as any) === \"\" ? true : this.props.designClicked,\n markerDetailView: this.props.markerDetailView,\n position: this.props.markerDetailPosition,\n height: this.props.markerDetailHeight,\n width: this.props.markerDetailWidth,\n selectedLocationIcon: this.props.selectedLocationIcon,\n selectedLocationColor: this.props.selectedLocationColor\n })}\n onHeaderRow={() => ({\n style: this.state.headerStyle,\n mode: this.props.mode,\n onClick: this.resetEditableRow\n })}\n columns={this.state.columns\n ?.filter((c) => c.visibility !== \"hidden\")\n ?.filter((c) => {\n return !this.state.hiddenColumnList?.includes(c.id);\n })\n .map((column: any, columnIndex: number) => {\n const { columns } = this.state;\n column.sortOrder =\n this.state.sorterOptions?.field === column.dataValue &&\n this.state.sorterOptions?.columnId === column.id\n ? this.state.sorterOptions?.order\n : undefined;\n if (this.props.tableWidthMode === \"scroll\" || this.props.tableWidthMode === \"horizontal scroll\") {\n column.width = column.style.width ?? \"min-content\";\n column.style.width = column.width;\n column.style.minWidth = column.style.width;\n }\n if (this.state.columnWidths && this.state.columnWidths[columnIndex] !== undefined) {\n column.width = this.state.columnWidths[columnIndex];\n column.style.width = column.width;\n }\n const c: ColumnType<any> = {\n ...column,\n onCell: (rowData: any, rowIndex?: number): any => ({\n onCellClick: (_e: any) => {\n this.handleCellClick(_e, columnIndex, rowData, rowIndex);\n },\n onCellBlur: (_e: any) => {\n this.handleCellBlur(_e, rowIndex, columnIndex);\n },\n style: column.style,\n calculatedCellBgColor: column.calculatedCellBgColor,\n calculatedCellFontColor: column.calculatedCellFontColor,\n alwaysVisibleOnMobileResolution: column.alwaysVisibleOnMobileResolution,\n rowIndex,\n rowData,\n columnIndex,\n title: column.title,\n columns: columns?.filter((x: any) => x.visible === true),\n mode: this.props.mode,\n isEditable: column.isEditableColumn,\n isEditMode:\n (column.isEditableColumn && this.state.activeEditableRowIndex == rowIndex) ||\n (this.props.editableAlwaysActive && column.isEditableColumn),\n editableAlwaysActive: this.props.editableAlwaysActive,\n dataValue: column.dataValue,\n dataType: column.dataType ?? ValueType.String,\n setResizingColumnIndex: this.setResizingColumnIndex,\n resizeListener: this.resizeListener,\n index: columnIndex,\n resizableColumns: this.props.resizableColumns\n }),\n onHeaderCell: (): any => ({\n style: this.state.headerStyle,\n columnStyle: column.style,\n title: column.title,\n mode: this.props.mode,\n textDirection: this.props.children[0]?.props?.textDirection,\n columnSearchText: this.state.columnSearchTexts,\n setColumnSearchText: this.setColumnSearchTexts,\n onHeaderSearchBlur: this.onHeaderSearchBlur,\n searchable: this.props.searchable,\n type: column.dataType ?? ValueType.String,\n dataValue: column.dataValue,\n index: columnIndex,\n resizeListener: this.resizeListener,\n setResizingColumnIndex: this.setResizingColumnIndex,\n resizableColumns: this.props.resizableColumns,\n hidden: this.state.hiddenColumnList.includes(column.id),\n isSearchHidden: column.hideSearch,\n isFilteringHidden: column.hideFiltering,\n isSortingHidden: column.hideSorting,\n tableFiltering: this.props.filtering\n })\n };\n return c;\n })}\n loading={this.props.loading}\n size={this.props.size}\n bordered={false}\n scroll={\n this.props.tableWidthMode === \"scroll\" || this.props.tableWidthMode === \"horizontal scroll\"\n ? { x: \"max-content\" }\n : undefined\n }\n rowKey={\"id\"}\n rowSelection={\n this.props.multiSelect\n ? {\n type: \"checkbox\",\n selectedRowKeys: this.state.selectedRowKeys,\n onSelect: (record, selected, selectedRows) => {\n const { selectedRowKeys } = this.state;\n const updatedRowKeys = selected\n ? [...selectedRowKeys, record.id]\n : selectedRowKeys.filter((key) => key !== record.id);\n\n const updatedRowKeysString = updatedRowKeys.join(\",\");\n\n this.setState(\n {\n selectedRowKeys: updatedRowKeys,\n selectedRowKeysString: updatedRowKeysString\n },\n () => {\n this.props.onSelectedValuesChange?.();\n }\n );\n },\n onSelectAll: (selected, selectedRows, changeRows) => {\n const { multiSelectScope, dataSource, onSelectedValuesChange } = this.props;\n\n const updateState = (keys, keysString) => {\n this.setState({ selectedRowKeys: keys, selectedRowKeysString: keysString }, () => {\n if (onSelectedValuesChange) {\n onSelectedValuesChange();\n }\n });\n };\n\n const generateKeysString = (rows) => rows.map((row) => row.id).join(\",\");\n\n if (multiSelectScope === \"all\") {\n const allRowKeys = dataSource.map((row) => row.id);\n const allRowKeysString = generateKeysString(dataSource);\n\n if (selectedRows.length - 1 !== dataSource.length && selected) {\n updateState(allRowKeys, allRowKeysString);\n } else {\n updateState([], \"\");\n }\n } else {\n const selectedRowKeys = selectedRows.map((row) => row.id);\n const selectedRowKeysString = generateKeysString(selectedRows);\n\n updateState(selectedRowKeys, selectedRowKeysString);\n }\n }\n }\n : undefined\n }\n />\n\n <input type=\"hidden\" id={this.state.selectedIndexGuid} className=\"selected-index-guid\"></input>\n <input type=\"hidden\" id={this.state.selectedColumnIndexGuid} className=\"selected-column-index-guid\"></input>\n <input type=\"hidden\" id={this.state.selectedRowDataGuid} className=\"selected-row-data-guid\"></input>\n </div>\n </>\n );\n };\n}\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\ninterface IconProps {\n iconName: string;\n style: any;\n hoverText?: string;\n rounded?: boolean;\n}\n\ninterface IconState {}\n\nclass Icon extends PureComponent<IconProps & CommonProps, IconState> {\n constructor(props: IconProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props);\n if (result && result.style) {\n delete result.style;\n }\n }\n return result;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n if (this.props.style?.fontFamily) {\n delete style.fontFamily;\n }\n }\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n if (style.display !== \"block\") {\n style.display = \"inline-block\";\n }\n style.verticalAlign = \"middle\";\n\n if (window?.kuika?.dashboardState === DashboardState.reportDesigner) {\n style.height = \"100%\";\n }\n return style;\n };\n\n render(): ReactNode {\n if (this.props.hoverText) {\n return (\n <>\n <Tooltip color={\"white\"} title={this.props.hoverText}>\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons md-48\">\n {this.props.iconName}\n </i>\n </Tooltip>\n </>\n );\n }\n if (this.props.rounded) {\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons-round md-48\">\n {this.props.iconName}\n </i>;\n }\n return (\n <>\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons md-48\">\n {this.props.iconName}\n </i>\n </>\n );\n }\n}\n\nconst icon = withCommonEvents(Icon);\nexport { icon as Icon };\n","import { Button as AntdButton, Space } from \"antd/es\";\nimport { ButtonProps as AntdButtonProps } from \"antd/es/button/button\";\nimport _ from \"lodash\";\nimport { CSSProperties, PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport withDoubleClickEdit from \"../../../shared/hoc/with-double-click-edit\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\ninterface ButtonProps extends AntdButtonProps {\n label?: string;\n icon?: string;\n style?: any;\n iconColor?: string;\n iconPosition?: \"left\" | \"right\";\n}\n\ninterface ButtonState {}\n\nclass Button extends PureComponent<ButtonProps & CommonProps, ButtonState> {\n constructor(props: ButtonProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n style.whiteSpace = \"normal\";\n props.style = style;\n if (props.icon && props.icon.length > 0) {\n delete props.icon;\n }\n if (props.label) {\n delete props.label;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n if (props.style.fontFamily) {\n delete props.style.fontFamily;\n }\n if (props.style.fontSize) {\n delete props.style.fontSize;\n }\n if (props.style.fontWeight) {\n delete props.style.fontWeight;\n }\n if (!props.style?.backgroundColor) {\n props.style.backgroundColor = \"transparent\";\n }\n if (!props.style.borderColor) {\n props.style.borderColor = \"transparent\";\n }\n props.block = this.props.style?.display === \"block\";\n if (props.href === \"\") delete props.href;\n return props;\n };\n\n getIcon = () => {\n return (\n <Icon\n style={{\n fontSize: this.props.style?.fontSize || \"16px\",\n position: this.props.label !== undefined ? \"relative\" : undefined,\n color: this.props.style?.color && this.props.style?.color?.length > 0 ? this.props.style?.color : \"white\",\n paddingBottom: \"2px\"\n }}\n iconName={this.props.icon as string}\n />\n );\n };\n\n getLeftIcon = () => {\n if (this.props.iconPosition !== \"right\" && this.props.icon && this.props.icon.length > 0) {\n return this.getIcon();\n }\n return <></>;\n };\n\n getRightIcon = () => {\n if (this.props.iconPosition === \"right\" && this.props.icon && this.props.icon.length > 0) {\n return this.getIcon();\n }\n return <></>;\n };\n\n getVerticalAlign = () => {\n const alignItems = this.props.style?.alignItems;\n if (alignItems === \"flex-start\") return \"start\";\n if (alignItems === \"flex-end\") return \"end\";\n return \"center\";\n };\n\n getTextStyles = () => {\n const styles: CSSProperties = {};\n if (this.props.style?.fontFamily) {\n styles.fontFamily = this.props.style?.fontFamily;\n }\n if (this.props.style?.fontSize) {\n styles.fontSize = this.props.style?.fontSize;\n }\n if (this.props.style?.fontWeight) {\n styles.fontWeight = this.props.style?.fontWeight;\n }\n\n if (this.props.style?.textDecoration) {\n styles.textDecoration = this.props.style?.textDecoration;\n }\n\n return styles;\n };\n\n render(): ReactNode {\n const leftIcon = this.getLeftIcon();\n const rightIcon = this.getRightIcon();\n return (\n <>\n <AntdButton {...this.getProps()}>\n <Space style={{ height: \"100%\", ...this.getTextStyles() }} align={this.getVerticalAlign()}>\n {leftIcon}\n {this.props.label && this.props.label.length && this.props.label}\n {rightIcon}\n </Space>\n </AntdButton>\n </>\n );\n }\n}\n\nconst button = withDoubleClickEdit(withCommonEvents(Button), \"label\");\nexport { button as Button };\n","import { Avatar, Button, Dropdown, Input, InputRef, MenuProps } from \"antd/es\";\nimport moment from \"moment\";\nimport React, { Component, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\nimport \"./chat.css\";\n\ndeclare let window: any;\n\ninterface ChatProps {\n dataSource?: object[];\n onMessageSend?: (message: string) => void;\n onEditMessage?: () => void;\n onDeleteMessage?: () => void;\n chatIdField: string;\n chatMessageField: string;\n chatUserDisplayNameField: string;\n chatUserNameField: string;\n chatUserAvatarField: string;\n chatDateField: string;\n currentUsername: string;\n style?: React.CSSProperties;\n darkMode?: boolean;\n showProfilePhoto?: boolean;\n showUserName?: boolean;\n allowEditMessage?: boolean;\n allowDeleteMessage?: boolean;\n}\n\ninterface ChatState {\n isFocusedToInput: boolean;\n isEditing: boolean;\n currentlyEditingMessageId: unknown;\n message: string;\n}\n\nclass Chat extends Component<ChatProps & CommonProps, ChatState> {\n private inputRef = React.createRef<InputRef>();\n\n private messagesEnd: HTMLDivElement | null | undefined;\n\n public messageIdToBeDeleted: unknown = null;\n\n constructor(props: ChatProps) {\n super(props);\n this.state = {\n isFocusedToInput: false,\n isEditing: false,\n currentlyEditingMessageId: null,\n message: \"\"\n };\n }\n\n scrollToBottom = () => {\n if (window.kuika?.dashboardState !== 1) {\n this.messagesEnd?.scrollIntoView({ behavior: \"smooth\" });\n }\n };\n\n componentDidMount() {\n this.scrollToBottom();\n document.addEventListener(\"keydown\", this.handleKeyDown);\n }\n\n componentWillUnmount() {\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n\n componentDidUpdate() {\n this.scrollToBottom();\n }\n\n getMessage = () => {\n return this.state.message;\n };\n\n setMessage = (message: unknown) => {\n if (typeof message === \"string\") {\n this.setState({ message });\n return;\n }\n\n if (typeof message === \"number\") {\n this.setState({ message: message.toString() });\n return;\n }\n\n if (message !== null && message !== undefined) {\n console.warn(\"Chat: Invalid message type\");\n }\n\n this.setState({ message: \"\" });\n };\n\n onChangeInput = (e) => {\n if (window.kuika?.isDesignTime) return;\n this.setState({ message: e.target.value });\n };\n\n getCurrentlyEditingMessageId = () => {\n return this.state.currentlyEditingMessageId;\n };\n\n setCurrentlyEditingMessageId = (id: unknown) => {\n if (id === undefined || id === null || id === \"\") {\n this.onClickCancelEdit();\n return;\n }\n\n this.setState({ isEditing: true, currentlyEditingMessageId: id });\n };\n\n sendMessage = async () => {\n this.props.onMessageSend?.(this.state.message);\n this.setState({ message: \"\" });\n };\n\n static getUserLettersToShow = (userName): string => {\n if (!userName) return \"\";\n let str = \"\";\n if (userName && userName.length > 0) str += userName.substring(0, 1);\n return str.toUpperCase();\n };\n\n static addDefaultSrc = (e: any) => {\n // TODO: Bad practice to use src from another origin.\n e.target.src =\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/Solid_purple.svg/2048px-Solid_purple.svg.png\";\n };\n\n static formatDateToHourAndDay = (date: string) => {\n if (!date) return null;\n\n if (moment(date).isSame(moment(), \"day\")) {\n return moment(date).format(\"HH:mm\");\n }\n\n if (moment(date).isSame(moment(), \"year\")) {\n return moment(date).format(\"DD MMM HH:mm\");\n }\n\n return moment(date).format(\"DD MMM YYYY HH:mm\");\n };\n\n private getIsCurrentUser = (item): boolean => {\n return (\n (item[this.props.chatUserNameField] ?? item.userId) ===\n (item[this.props.chatUserNameField] ? this.props.currentUsername : \"1\")\n );\n };\n\n private handleKeyDown = (e: KeyboardEvent) => {\n if (window.kuika?.isDesignTime) return;\n\n if (this.state.isFocusedToInput && this.state.isEditing && e.key === \"Escape\") {\n this.onKeyEscapeKeyDownInEditingMode();\n }\n };\n\n private onClickCancelEdit = () => {\n this.setState({ isEditing: false, message: \"\", currentlyEditingMessageId: null });\n };\n\n private onClickEditMessage = (messageId: unknown) => {\n if (window.kuika?.isDesignTime) return;\n\n const message = this.props.dataSource?.find((item) => item[this.props.chatIdField] === messageId);\n\n if (message) {\n this.setState({\n isEditing: true,\n message: message[this.props.chatMessageField],\n currentlyEditingMessageId: messageId\n });\n this.inputRef.current?.focus();\n } else {\n KMainFunctions.displayErrorNotification(\"Message not found\");\n }\n };\n\n private editMessage = async () => {\n if (\n this.props.onEditMessage &&\n this.state.currentlyEditingMessageId !== undefined &&\n this.state.currentlyEditingMessageId !== null\n ) {\n await this.props.onEditMessage();\n this.setState({ isEditing: false, message: \"\", currentlyEditingMessageId: null });\n }\n };\n\n private onClickDeleteMessage = async (messageId: unknown) => {\n if (window.kuika?.isDesignTime) return;\n\n if (this.props.onDeleteMessage) {\n this.messageIdToBeDeleted = messageId;\n await this.props.onDeleteMessage();\n }\n };\n\n private onKeyEscapeKeyDownInEditingMode = () => {\n this.onClickCancelEdit();\n };\n\n private getDropdownItems = (messageId: unknown): MenuProps[\"items\"] => {\n if (this.state.isEditing) {\n return [\n {\n key: \"1\",\n label: \"Cancel editing message\",\n danger: true,\n onClick: () => this.onClickCancelEdit()\n }\n ];\n }\n\n const items: MenuProps[\"items\"] = [];\n\n if (this.props.allowEditMessage) {\n items.push({\n key: \"1\",\n label: \"Edit message\",\n onClick: () => this.onClickEditMessage(messageId)\n });\n }\n\n if (this.props.allowDeleteMessage) {\n items.push({\n key: \"2\",\n label: \"Delete message\",\n danger: true,\n onClick: () => this.onClickDeleteMessage(messageId)\n });\n }\n\n return items;\n };\n\n private onSubmit = (e: any) => {\n e.preventDefault();\n e.stopPropagation();\n if (this.state.isEditing) {\n this.editMessage();\n return;\n }\n\n this.sendMessage();\n };\n\n render(): ReactNode {\n return (\n <div style={{ display: this.props.style?.display === \"inline\" ? \"inline-flex\" : \"block\" }}>\n <div className={this.props.darkMode ? \"kuika__dark-chat\" : \"kuika__chat\"} style={this.props.style}>\n <div className=\"kuika__chat-texts\">\n {this.props.dataSource?.map((item: any) => {\n return (\n <div\n className={this.getIsCurrentUser(item) ? \"kuika__chat-text kuika__chat-sent\" : \"kuika__chat-text\"}\n key={item[this.props.chatIdField] ? item[this.props.chatIdField] : item.id}\n style={{\n filter:\n this.state.isEditing && this.state.currentlyEditingMessageId !== item[this.props.chatIdField]\n ? \"blur(2px)\"\n : \"none\"\n }}\n >\n {this.props.showProfilePhoto === true && (\n <div className=\"kuika__chat__profile-pic\">\n {item[this.props.chatUserAvatarField] ? (\n <img onError={Chat.addDefaultSrc} src={item[this.props.chatUserAvatarField]} alt=\"\" />\n ) : (\n <Avatar\n size={50}\n style={{\n color: \"#fff\",\n fontWeight: 600,\n fontSize: \"26px\",\n letterSpacing: \"0.37px\",\n backgroundColor: \"rgb(75 54 243)\"\n }}\n >\n {Chat.getUserLettersToShow(\n item[this.props.chatUserDisplayNameField]\n ? item[this.props.chatUserDisplayNameField]\n : item.userName\n )}\n </Avatar>\n )}\n </div>\n )}\n <div style={{ display: \"flex\", flexDirection: \"column\", alignItems: \"end\" }}>\n <div className=\"kuika__chat__text-content\">\n {this.props.showUserName === true && (\n <div>\n <h5\n style={{\n color: this.props.style?.color,\n fontSize: this.props.style?.fontSize,\n lineHeight: this.props.style?.lineHeight ?? \"130%\",\n letterSpacing: this.props.style?.letterSpacing ?? 0\n }}\n >\n {item[this.props.chatUserDisplayNameField] ?? item.userName}\n </h5>\n </div>\n )}\n <span\n style={{\n color: this.props.style?.color,\n fontSize: this.props.style?.fontSize,\n lineHeight: this.props.style?.lineHeight ?? \"130%\",\n letterSpacing: this.props.style?.letterSpacing\n }}\n >\n {item[this.props.chatMessageField] ?? item.message}\n </span>\n {this.getIsCurrentUser(item) && (\n <>\n {this.state.isEditing &&\n this.state.currentlyEditingMessageId === item[this.props.chatIdField] && (\n <span className=\"kuika__chat__editing_indicator\">Editing...</span>\n )}\n\n {!this.state.isEditing && (this.props.allowEditMessage || this.props.allowDeleteMessage) && (\n <Dropdown\n menu={{ items: this.getDropdownItems(item[this.props.chatIdField]) }}\n placement=\"bottomRight\"\n trigger={[\"click\"]}\n >\n <button className=\"kuika__chat__dots\">\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.625 2.5C8.625 3.12132 8.12132 3.625 7.5 3.625C6.87868 3.625 6.375 3.12132 6.375 2.5C6.375 1.87868 6.87868 1.375 7.5 1.375C8.12132 1.375 8.625 1.87868 8.625 2.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM7.5 13.625C8.12132 13.625 8.625 13.1213 8.625 12.5C8.625 11.8787 8.12132 11.375 7.5 11.375C6.87868 11.375 6.375 11.8787 6.375 12.5C6.375 13.1213 6.87868 13.625 7.5 13.625Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </Dropdown>\n )}\n </>\n )}\n </div>\n <span style={{ color: \"gray\", fontSize: 10 }}>\n {Chat.formatDateToHourAndDay(item[this.props.chatDateField])}\n </span>\n </div>\n <div\n ref={(el) => {\n this.messagesEnd = el;\n }}\n ></div>\n </div>\n );\n })}\n </div>\n <div className=\"kuika__chat__send-message\">\n {this.state.isEditing && (\n <Button className=\"kuika__chat__button-send\" onClick={this.onClickCancelEdit}>\n <svg\n width=\"15\"\n height=\"15\"\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n style={\n this.props.darkMode\n ? {\n filter:\n \"invert(100%) sepia(0%) saturate(7500%) hue-rotate(345deg) brightness(103%) contrast(92%)\"\n }\n : {\n filter:\n \"invert(0%) sepia(90%) saturate(7460%) hue-rotate(90deg) brightness(91%) contrast(93%)\"\n }\n }\n >\n <path\n d=\"M12.8536 2.85355C13.0488 2.65829 13.0488 2.34171 12.8536 2.14645C12.6583 1.95118 12.3417 1.95118 12.1464 2.14645L7.5 6.79289L2.85355 2.14645C2.65829 1.95118 2.34171 1.95118 2.14645 2.14645C1.95118 2.34171 1.95118 2.65829 2.14645 2.85355L6.79289 7.5L2.14645 12.1464C1.95118 12.3417 1.95118 12.6583 2.14645 12.8536C2.34171 13.0488 2.65829 13.0488 2.85355 12.8536L7.5 8.20711L12.1464 12.8536C12.3417 13.0488 12.6583 13.0488 12.8536 12.8536C13.0488 12.6583 13.0488 12.3417 12.8536 12.1464L8.20711 7.5L12.8536 2.85355Z\"\n fill=\"#000000\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n </Button>\n )}\n <div\n className={\n this.props.darkMode\n ? \"kuika__dark-chat__message-text kuika__dark-chat__input\"\n : \"kuika__chat__message-text\"\n }\n >\n <Input\n ref={this.inputRef}\n onPressEnter={this.onSubmit}\n className=\"kuika__chat__text-input\"\n onChange={(e) => this.onChangeInput(e)}\n onFocus={() => this.setState({ isFocusedToInput: true })}\n onBlur={() => this.setState({ isFocusedToInput: false })}\n value={this.state.message}\n type=\"text\"\n placeholder=\"Send Message\"\n />\n </div>\n <Button className=\"kuika__chat__button-send\" onClick={this.onSubmit}>\n {this.state.isEditing ? (\n <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z\"\n fill=\"#000000\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n ></path>\n </svg>\n ) : (\n <svg\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n style={\n this.props.darkMode\n ? {\n filter:\n \"invert(100%) sepia(0%) saturate(7500%) hue-rotate(345deg) brightness(103%) contrast(92%)\"\n }\n : {\n filter:\n \"invert(0%) sepia(90%) saturate(7460%) hue-rotate(90deg) brightness(91%) contrast(93%)\"\n }\n }\n >\n <g>\n <path d=\"M21.13 11.358L3.614 2.108c-.29-.152-.64-.102-.873.126-.23.226-.293.577-.15.868l4.362 8.92-4.362 8.92c-.143.292-.08.643.15.868.145.14.333.212.523.212.12 0 .24-.028.35-.087l17.517-9.25c.245-.13.4-.386.4-.664s-.155-.532-.4-.662zM4.948 4.51l12.804 6.762H8.255l-3.307-6.76zm3.307 8.26h9.498L4.948 19.535l3.307-6.763z\"></path>\n </g>\n </svg>\n )}\n </Button>\n </div>\n </div>\n </div>\n );\n }\n}\n\nconst chat = withCommonEvents(Chat);\nexport { chat as Chat };\n","import { Checkbox as AntdCheckbox } from \"antd/es\";\nimport { CheckboxProps as AntdCheckboxProps, CheckboxChangeEvent } from \"antd/es/checkbox\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface CheckboxProps extends AntdCheckboxProps {\n onChange: any;\n fillColorOnChecked?: string;\n value: any;\n defaultValue?: any;\n}\n\ninterface CheckboxState {\n isControlled: boolean;\n uniqueKey: Guid;\n checked: boolean;\n}\ndeclare let window: any;\n\nclass Checkbox extends PureComponent<CheckboxProps & CommonProps, CheckboxState> {\n /**\n * This flag is used to prevent onChange event to be triggered twice.\n * onChange event is triggered twice because of the following scenario:\n * 1. User clicks on the checkbox\n * 2. onChange event is triggered\n * 3. onChange event changes the state\n * 4. componentDidUpdate is triggered (which is expected because we want onChange to be triggered when value changed from outside also)\n *\n * Important: This flag should be set to false after being set to true.\n * Avoid scenarios or code paths where this flag is set to true and not set to false.\n */\n\n private triggeredByClick: boolean = false;\n\n constructor(props: CheckboxProps) {\n super(props);\n\n const isControlled: boolean = props.value !== undefined;\n\n this.state = {\n isControlled,\n uniqueKey: Guid.create(),\n checked: isControlled ? this.getChecked(props.value) : this.getChecked(props.defaultValue)\n };\n }\n\n componentDidMount() {\n const css = this.getDynamicCss();\n if (css && css !== \"\") {\n this.setDynamicStyle();\n }\n this.handleComponentStyling();\n }\n\n componentDidUpdate(prevProps: Readonly<CheckboxProps & CommonProps>) {\n this.handleComponentStyling();\n\n if (this.props.value !== prevProps.value) {\n this.setState({ checked: this.getChecked(this.props.value) });\n }\n\n if (!this.state.isControlled && this.props.value !== undefined) {\n this.setState({ isControlled: true });\n }\n\n if (\n !this.triggeredByClick &&\n this.props.onChange &&\n this.getChecked(this.props.value) !== this.getChecked(prevProps.value)\n ) {\n this.props.onChange(this.getChecked(this.props.value));\n }\n }\n\n getChecked = (value: string | null | undefined) => {\n if (value === undefined || value === null) return Boolean(this.props.defaultValue);\n\n if (value.toString() === \"\") return false;\n if (value.toString() === \"1\") return true;\n if (value.toString() === \"0\") return false;\n if (value.toString().toLowerCase() === \"true\") return true;\n if (value.toString().toLowerCase() === \"false\") return false;\n\n return false;\n };\n\n onChange = async (e: CheckboxChangeEvent) => {\n e.stopPropagation();\n\n this.triggeredByClick = true;\n\n this.setState({ checked: e.target.checked }, async () => {\n await this.props.onChange?.(this.state.checked);\n this.triggeredByClick = false;\n });\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n }\n };\n\n getDynamicCss() {\n const { style } = this.props;\n\n const checkboxAfterStyles = this.getCheckboxAfterStyles(style);\n const className: string = this.getClassName();\n\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n if (checkboxAfterStyles) {\n result += `.${className.trim()} .ant-checkbox-checked:after {\n ${checkboxAfterStyles}\n }`;\n }\n\n if (style.backgroundColor && style.backgroundColor != \"rgba(255, 255, 255, 1)\") {\n result += `.${className.trim()} .ant-checkbox-inner {\n background-color: ${style.backgroundColor || \"#fff\"} !important;\n }`;\n }\n if (style.color !== \"rgba(255, 255, 255, 1)\") {\n result += `.${className.trim()} .ant-checkbox-inner:after {\n border-color: ${style.color || \"#fff\"} !important;\n }`;\n }\n\n return result;\n }\n\n // DEPRECATED But can be used in future\n getCheckedFillStyles(fillColorOnChecked: string) {\n let result = \"\";\n\n if (fillColorOnChecked) {\n result += `background-color: ${fillColorOnChecked} !important;`;\n }\n\n return result;\n }\n\n getCheckboxAfterStyles(style: React.CSSProperties) {\n let result = \"\";\n\n if (style.borderColor && style.borderColor !== \"rgba(218, 218, 218, 1)\") {\n result += `border-color: ${style.borderColor} !important;`;\n }\n if (style.borderStyle && style.borderStyle !== \"solid\") {\n result += `border-style: ${style.borderStyle} !important`;\n }\n if (style.borderTopLeftRadius) {\n result += `border-top-left-radius: ${style.borderTopLeftRadius.toString()} + 'px !important;`;\n }\n if (style.borderTopRightRadius) {\n result += `border-top-right-radius: ${style.borderTopRightRadius.toString()} + 'px !important;`;\n }\n if (style.borderBottomLeftRadius) {\n result += `border-bottom-left-radius: ${style.borderBottomLeftRadius.toString()} + 'px !important;`;\n }\n if (style.borderBottomRightRadius) {\n result += `border-bottom-right-radius: ${style.borderBottomRightRadius.toString()} + 'px !important;`;\n }\n\n return result;\n }\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kcheckbox_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n handleComponentStyling() {\n if (!this.props.style) return;\n const { style } = this.props;\n\n const node = ReactDOM.findDOMNode(this) as Element;\n const checkboxInnerElement = node.querySelector(\".ant-checkbox-inner\") as HTMLElement;\n\n this.handleBorderStyles(checkboxInnerElement, style);\n this.handleShadowStyles(checkboxInnerElement, style);\n this.handleLayoutStyles(checkboxInnerElement, style);\n }\n\n handleBorderStyles(item: HTMLElement, style: React.CSSProperties) {\n if (style.borderColor) {\n item.style.borderColor = style.borderColor;\n }\n if (style.borderStyle) {\n item.style.borderStyle = style.borderStyle;\n }\n if (style.borderTopWidth) {\n item.style.borderTopWidth = `${style.borderTopWidth.toString()}px`;\n }\n if (style.borderBottomWidth) {\n item.style.borderBottomWidth = `${style.borderBottomWidth.toString()}px`;\n }\n if (style.borderLeftWidth) {\n item.style.borderLeftWidth = `${style.borderLeftWidth.toString()}px`;\n }\n if (style.borderRightWidth) {\n item.style.borderRightWidth = `${style.borderRightWidth.toString()}px`;\n }\n if (style.borderTopLeftRadius) {\n item.style.borderTopLeftRadius = `${style.borderTopLeftRadius.toString()}px`;\n }\n if (style.borderTopRightRadius) {\n item.style.borderTopRightRadius = `${style.borderTopRightRadius.toString()}px`;\n }\n if (style.borderBottomLeftRadius) {\n item.style.borderBottomLeftRadius = `${style.borderBottomLeftRadius.toString()}px`;\n }\n if (style.borderBottomRightRadius) {\n item.style.borderBottomRightRadius = `${style.borderBottomRightRadius.toString()}px`;\n }\n }\n\n handleShadowStyles(item: HTMLElement, style: React.CSSProperties) {\n if (style.boxShadow) {\n item.style.boxShadow = style.boxShadow;\n }\n }\n\n handleLayoutStyles(item: HTMLElement, style: React.CSSProperties) {\n if (style.width) {\n item.style.width = `${style.width}`;\n }\n\n if (style.height) {\n item.style.height = `${style.height}`;\n }\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n const borderStyleKeysToIgnore: string[] = [\n \"borderColor\",\n \"borderStyle\",\n \"borderTopWidth\",\n \"borderBottomWidth\",\n \"borderLeftWidth\",\n \"borderRightWidth\",\n \"borderTopRightRadius\",\n \"borderTopLeftRadius\",\n \"borderBottomLeftRadius\",\n \"borderBottomRightRadius\"\n ];\n const fillStyleKeysToIgnore: string[] = [\"backgroundColor\"];\n const shadowKeysToIgnore: string[] = [\"boxShadow\"];\n const layoutKeysToIgnore: string[] = [\"width\", \"height\"];\n const stylesToBeDeletedFromProps = [\n ...borderStyleKeysToIgnore,\n ...fillStyleKeysToIgnore,\n ...shadowKeysToIgnore,\n ...layoutKeysToIgnore\n ];\n\n stylesToBeDeletedFromProps.forEach((key) => {\n if (style[key]) delete style[key];\n });\n\n if (style.display == \"block\") {\n style.display = \"flex\";\n } else if (style.display == \"inline\") {\n style.display = \"inline-flex\";\n }\n props.style = style;\n if (!props.children || props.children == \"\") {\n delete props.children;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <AntdCheckbox\n className={`k-checkbox-component${this.getClassName()}`}\n {...this.getProps()}\n checked={this.state.isControlled ? this.getChecked(this.props.value) : this.state.checked}\n defaultChecked={this.getChecked(this.props.defaultValue)}\n onChange={this.onChange}\n />\n );\n }\n}\n\nconst checkbox = withCommonEvents(Checkbox);\nexport { checkbox as Checkbox };\n","import { Input } from \"antd/es\";\nimport { InputProps } from \"antd/es/input\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\nconst defaultAllowedKeys = [\"Backspace\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Enter\", \"Delete\"];\n\ninterface TextboxProps extends InputProps {\n prefix?: string;\n suffix?: string;\n iconColor?: string;\n}\n\ninterface TextboxState {}\n\nclass Email extends PureComponent<TextboxProps & CommonProps, TextboxState> {\n constructor(props: TextboxProps) {\n super(props);\n this.state = {};\n }\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props?.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style.backgroundColor as any;\n }\n if (this.props?.style?.color) {\n input.style.color = this.props.style.color as any;\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n if (props.prefix && props.prefix?.length > 0) {\n props.prefix = <Icon style={{ color: props.iconColor }} iconName={this.props.prefix as string}></Icon>;\n } else if (props.prefix) {\n delete props.prefix;\n }\n\n if (props.suffix && props.suffix?.length > 0) {\n props.suffix = <Icon style={{ color: props.iconColor }} iconName={this.props.suffix as string}></Icon>;\n } else if (props.suffix) {\n delete props.suffix;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n\n if (props.value && style?.textTransform === \"lowercase\") {\n props.value = props.value?.toString().toLowerCase();\n } else if (props.value && style?.textTransform === \"uppercase\") {\n props.value = props.value?.toString().toUpperCase();\n }\n\n if (props.value) {\n const turkishChars = /[ığüşöçİĞÜŞÖÇ]/gi.test(props.value);\n if (turkishChars || props.value?.includes(turkishChars)) {\n props.value = props.value\n ?.replaceAll(\"Ğ\", \"G\")\n .replaceAll(\"Ü\", \"U\")\n .replaceAll(\"Ş\", \"S\")\n .replaceAll(\"İ\", \"I\")\n .replaceAll(\"Ö\", \"O\")\n .replaceAll(\"Ç\", \"C\")\n .replaceAll(\"ğ\", \"g\")\n .replaceAll(\"ü\", \"u\")\n .replaceAll(\"ş\", \"s\")\n .replaceAll(\"ı\", \"i\")\n .replaceAll(\"ö\", \"o\")\n .replaceAll(\"ç\", \"c\");\n }\n }\n\n if (props.value) {\n props.value = props.value?.replaceAll(\" \", \"\");\n }\n\n props.style = style;\n\n return props;\n };\n\n componentDidMount() {\n if (\n (this.props.style && (this.props.style?.backgroundColor || this.props.style?.color)) ||\n this.props.prefix ||\n this.props.suffix\n ) {\n this.handleAffixStyling();\n }\n }\n\n handleKeyDown = (e: any) => {\n const turkishChars = /[ığüşöçİĞÜŞÖÇ]/gi.test(e?.key);\n if (turkishChars && !defaultAllowedKeys?.includes(e?.code)) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (e?.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n render(): ReactNode {\n return (\n <>\n <Input {...this.getProps()} onKeyDown={this.handleKeyDown}></Input>\n </>\n );\n }\n}\n\nconst email = withCommonEvents(Email);\nexport { email as Email };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\n\ninterface FooterProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface FooterState {}\n\nclass Footer extends PureComponent<FooterProps & CommonProps, FooterState> {\n constructor(props: FooterProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n const node = ReactDOM.findDOMNode(this) as Element;\n KMainFunctions.handleAlignments(node, this.props.style);\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n <div {...this.getProps()} style={{ ...this.getStyleProp() }}>\n {this.props.children}\n </div>\n </>\n );\n }\n}\n\nconst footer = withCommonEvents(Footer);\nexport { footer as Footer };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\n\ninterface HeaderProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface HeaderState {}\n\nclass Header extends PureComponent<HeaderProps & CommonProps, HeaderState> {\n constructor(props: HeaderProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n const node = ReactDOM.findDOMNode(this) as Element;\n KMainFunctions.handleAlignments(node, this.props.style);\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n <div {...this.getProps()} style={{ ...this.getStyleProp() }}>\n {this.props.children}\n </div>\n </>\n );\n }\n}\n\nconst header = withCommonEvents(Header);\nexport { header as Header };\n","import { Guid } from \"guid-typescript\";\nimport React, { ImgHTMLAttributes, PureComponent, ReactNode } from \"react\";\nimport { findDOMNode } from \"react-dom\";\nimport { Controlled as ControlledZoom } from \"react-medium-image-zoom\";\nimport \"react-medium-image-zoom/dist/styles.css\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { DEFAULT_IMAGE } from \"../../../shared/utilty/constants\";\nimport { KuikaAppManager } from \"../../../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\ndeclare let window: Window & { kuika: any };\n\ninterface ImageProps extends ImgHTMLAttributes<any> {\n value?: string;\n style?: React.CSSProperties;\n placeHolderImage?: string;\n onChange?: (value: any) => void;\n zoomOnClick?: boolean;\n position?: \"bottom\" | \"center\" | \"right\" | \"left\" | \"top\";\n imageFit?: \"fill\" | \"fit\" | \"stretch\";\n}\n\ninterface ImageState {\n guidID: string;\n isZoomed: boolean;\n isLoading: boolean;\n}\n\nclass Image extends PureComponent<ImageProps & CommonProps, ImageState> {\n private errorCountPerUrlMap: Map<string, number> = new Map<string, number>();\n\n constructor(props: ImageProps) {\n super(props);\n this.state = {\n guidID: \"\",\n isZoomed: false,\n isLoading: false\n };\n }\n\n componentDidMount() {\n const node = findDOMNode(this) as HTMLDivElement;\n const isReportDesigner = window?.kuika?.dashboardState === DashboardState.reportDesigner;\n if (isReportDesigner && node && node.parentElement) {\n if (!node?.parentElement?.classList?.contains(\"kuika_absoluteDesignTableColumnChild\")) {\n node.style.width = \"100%\";\n node.style.height = \"100%\";\n } else {\n node.style.width = `${this.props.style?.width}` ?? \"100%\";\n node.style.height = `${this.props.style?.height}` ?? \"100%\";\n }\n }\n }\n\n componentDidUpdate(prevProps: Readonly<ImageProps & CommonProps>) {\n if (prevProps.value !== this.props.value) {\n this.errorCountPerUrlMap.clear();\n }\n }\n\n onChange = (e) => {\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n };\n\n getStyleProp = () => {\n let style: React.CSSProperties = {};\n const isReportDesigner = window?.kuika?.dashboardState === DashboardState.reportDesigner;\n const isDesignTime = window?.kuika?.isDesignTime;\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n\n if (this.props.position) {\n style.objectPosition = this.props.position;\n }\n\n if (this.props.imageFit) {\n if (this.props.imageFit === \"fill\") {\n style.objectFit = \"cover\";\n } else if (this.props.imageFit === \"fit\") {\n style.objectFit = \"contain\";\n }\n }\n\n if (style.display === \"inline\") {\n style.display = \"inline-block\";\n }\n\n if (isReportDesigner) {\n style.objectFit = \"contain\";\n }\n\n return style;\n };\n\n getClassName = () => {\n const isDesignTime = window?.kuika?.isDesignTime;\n let result = \"\";\n\n if (this.props.className) {\n result = this.props.className;\n }\n\n if (!isDesignTime) result += \" kuika-image-input \";\n return result;\n };\n\n private getImageFitValue = () => {\n switch (this.props.imageFit) {\n case \"fill\":\n return 1;\n case \"stretch\":\n return 2;\n case \"fit\":\n default:\n return 0;\n }\n };\n\n private getImageWidth = (): number => {\n return parseInt(this.props.style.width?.toString()?.replace(\"px\", \"\") ?? \"0\", 10);\n };\n\n private getImageHeight = (): number => {\n return parseInt(this.props.style.height?.toString()?.replace(\"px\", \"\") ?? \"0\", 10);\n };\n\n getValue = () => {\n const props = { ...this.props };\n let currentValue: string = DEFAULT_IMAGE;\n\n if (props.value && props.value !== \"\") {\n if (\n (typeof props.value === \"string\" && props.value.startsWith(\"http://\")) ||\n props.value.startsWith(\"https://\")\n ) {\n currentValue = props.value;\n return currentValue;\n }\n if (\n typeof props.value === \"string\" &&\n (props.value.includes(\"/image\") || props.value.includes(\"/resource/runtime/byid\"))\n ) {\n const url: URL = new URL(backendUrl + props.value);\n url.searchParams.append(\"width\", this.getImageWidth().toString());\n url.searchParams.append(\"height\", this.getImageHeight().toString());\n url.searchParams.append(\"imageFit\", this.getImageFitValue().toString());\n url.searchParams.append(\"t\", Date.now().toString());\n currentValue = url.toString();\n } else {\n currentValue = props.value;\n }\n } else if (props.placeHolderImage) {\n currentValue = props.placeHolderImage;\n }\n\n const guidValue = Guid.parse(currentValue).toString();\n\n if (guidValue !== Guid.EMPTY) {\n currentValue = KMainFunctions.getUrlByWithResourceId(\n guidValue,\n props?.style?.width?.toString()?.replace(\"px\", \"\") ?? 0,\n props?.style?.height?.toString()?.replace(\"px\", \"\") ?? 0,\n this.getImageFitValue()\n );\n }\n\n return currentValue;\n };\n\n isPlaceholderImageApplicable = () => {\n return this.props.placeHolderImage && this.props.placeHolderImage !== \"\";\n };\n\n onError = (e: React.SyntheticEvent<HTMLImageElement, Event>) => {\n if (!(e.target instanceof HTMLImageElement)) return;\n\n const currentErrorCountOfThisUrl: number = this.errorCountPerUrlMap.get(e.currentTarget.src) ?? 0;\n\n // If higher than 1, it means it has already been tried to fallback to placeholder image & failed.\n if (currentErrorCountOfThisUrl >= 1) {\n e.currentTarget.onerror = null;\n e.currentTarget.src = DEFAULT_IMAGE;\n return;\n }\n\n this.errorCountPerUrlMap.set(e.currentTarget.src, currentErrorCountOfThisUrl + 1);\n\n let imageToFallback: string = DEFAULT_IMAGE;\n if (this.isPlaceholderImageApplicable()) {\n const placeholderGuid: string = Guid.parse(this.props.placeHolderImage).toString();\n\n if (placeholderGuid !== Guid.EMPTY) {\n imageToFallback = KMainFunctions.getUrlByWithResourceId(\n placeholderGuid,\n this.props.style.width?.toString()?.replace(\"px\", \"\") ?? 0,\n this.props.style.height?.toString()?.replace(\"px\", \"\") ?? 0,\n this.getImageFitValue()\n );\n }\n\n e.target.src = imageToFallback;\n return;\n }\n\n e.target.src = imageToFallback;\n };\n\n render(): ReactNode {\n if (this.props.zoomOnClick) {\n return (\n <ControlledZoom\n isZoomed={this.state.isZoomed}\n onZoomChange={(shouldZoom) => this.setState({ isZoomed: shouldZoom })}\n >\n <img\n id={this.props.id}\n draggable={!window?.kuika?.isDesignTime}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onClickCapture={() => this.setState({ isZoomed: !this.state.isZoomed })}\n className={this.getClassName()}\n onChange={this.onChange}\n src={this.getValue()}\n style={this.getStyleProp()}\n onClick={this.props.onClick}\n onError={this.onError}\n />\n </ControlledZoom>\n );\n }\n\n return (\n <img\n id={this.props.id}\n draggable={!window?.kuika?.isDesignTime}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n className={this.getClassName()}\n onChange={this.onChange}\n src={this.getValue()}\n style={this.getStyleProp()}\n onClick={this.props.onClick}\n onError={this.onError}\n />\n );\n }\n}\n\nconst image = withCommonEvents(Image);\nexport { image as Image };\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { LabelHTMLAttributes, PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport VMasker from \"vanilla-masker\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport withDoubleClickEdit from \"../../../shared/hoc/with-double-click-edit\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\ninterface LabelProps extends LabelHTMLAttributes<any> {\n value?: string;\n defaultText?: string;\n style?: React.CSSProperties;\n formatter?:\n | \"money\"\n | \"money-var-1\"\n | \"money-eur\"\n | \"money-usd\"\n | \"money-usd-var-1\"\n | \"money-eur-var-1\"\n | \"phone\"\n | \"percent\"\n | \"fractional-2\"\n | \"fractional-5\"\n | \"date\"\n | \"time\"\n | \"datetime\"\n | \"date-var-1\"\n | \"time-ago\"\n | \"short-date\"\n | \"round\"\n | \"money-tl\"\n | \"custom date\";\n maxLine: number;\n writingMode?: \"horizontal\" | \"vertical\";\n tooltip?: string;\n customFormatter?: string;\n}\n\ninterface LabelState {}\n\nclass Label extends PureComponent<LabelProps & CommonProps, LabelState> {\n constructor(props: LabelProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n this.updateStyle();\n }\n\n updateStyle = () => {\n const node: any = ReactDOM.findDOMNode(this);\n let style: React.CSSProperties = _.clone(this.props.style);\n if (\n this.props?.style?.alignItems !== \"flex-start\" &&\n node &&\n node.children &&\n node.children.length > 0 &&\n window.kuika.dashboardState !== DashboardState.reportDesigner\n ) {\n let isInline = false;\n if (this.props?.style?.display === \"inline\") {\n isInline = true;\n }\n KMainFunctions.handleAlignments(node, style, isInline);\n }\n };\n\n getFormattedValue() {\n let { formatter, value, defaultText } = this.props;\n if (\n defaultText != undefined &&\n defaultText != \"\" &&\n defaultText != null &&\n (value === \"\" || value === undefined || value === null)\n ) {\n return defaultText;\n }\n if (formatter && value && value?.toString()?.trim() !== \"\") {\n switch (formatter) {\n case \"money\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-tl\":\n if (Number.isNaN(Number(value))) {\n return \"₺0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"money-eur\":\n if (Number.isNaN(Number(value))) {\n return \"€0.00\";\n }\n return `€${Number(value).toLocaleString(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })}`;\n\n case \"money-usd\":\n if (Number.isNaN(Number(value))) {\n return \"$0.00\";\n }\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"money-eur-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"€0\";\n }\n return `€${Number(value).toLocaleString(\"en-US\", {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })}`;\n\n case \"money-usd-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"$0\";\n }\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n }).format(Number(value));\n\n case \"phone\":\n return VMasker.toPattern(this.props.value, \"(999) 999-9999\");\n\n case \"percent\":\n return `${this.props.value}%`;\n\n case \"fractional-2\":\n const number2 = Number(value);\n return isNaN(number2) ? value : number2.toFixed(2);\n\n case \"fractional-5\":\n const number5 = Number(value);\n return isNaN(number5) ? value : number5.toFixed(5);\n\n case \"datetime\":\n const datetimeString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY HH:mm:ss\"\n });\n return datetimeString;\n\n case \"date\":\n const dateString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY\"\n });\n return dateString;\n\n case \"date-var-1\":\n const dateVar1String = this.parseDateString(value, {\n formatStr: \"DD:MM:YYYY\"\n });\n return dateVar1String;\n\n case \"time\":\n const timeString = this.parseDateString(value, {\n formatStr: \"HH:mm:ss\"\n });\n return timeString;\n\n case \"short-date\":\n const shortDateString = this.parseDateString(value, {\n formatStr: \"MMM Do\"\n });\n return shortDateString;\n\n case \"time-ago\":\n const timeAgoString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY HH:mm:ss\",\n timeAgo: true\n });\n return timeAgoString;\n\n case \"custom date\":\n if (this.props.customFormatter && this.props.customFormatter !== \"\") {\n const customFormattedDate = this.parseDateString(value, {\n formatStr: this.props.customFormatter\n });\n return customFormattedDate;\n }\n return value;\n break;\n\n default:\n return value;\n }\n } else {\n if (value && typeof value === \"string\") {\n const kuikaCulture = localStorage.getItem(\"ml\");\n const isLangTR = kuikaCulture?.toLowerCase() === \"tr_tr\";\n\n if (this.props.style?.textTransform === \"lowercase\" && (value.includes(\"İ\") || value.includes(\"I\"))) {\n if (isLangTR) {\n value = value.replace(/I/g, \"ı\");\n }\n value = value.replace(/İ/g, \"i\");\n } else if (this.props.style?.textTransform === \"uppercase\" && (value.includes(\"i\") || value.includes(\"ı\"))) {\n if (isLangTR) {\n value = value.replace(/i/g, \"İ\");\n }\n value = value.replace(/ı/g, \"I\");\n } else if (this.props?.style.textTransform === \"capitalize\") {\n if (isLangTR && value[0] === \"i\") {\n value = value.replace(\"i\", \"İ\");\n } else if (value[0] === \"ı\") {\n value = value.replace(\"ı\", \"I\");\n }\n }\n }\n\n return value?.toString();\n }\n }\n\n parseDateString = (value: any, arg1: { formatStr: string; timeAgo?: boolean }) => {\n try {\n const date = moment(new Date(value));\n\n if (!date.isValid()) {\n return value;\n }\n\n let result: any = date.format(arg1.formatStr);\n\n if (arg1.timeAgo) {\n result = date.fromNow();\n }\n\n if (result.indexOf(\"Invalid\") > -1) {\n result = value;\n }\n return result;\n } catch (ex: any) {\n return value;\n }\n };\n\n getStyles = (): { containerStyles: React.CSSProperties; labelStyles: React.CSSProperties } => {\n let containerStyles: React.CSSProperties = {};\n let labelStyles: React.CSSProperties = {};\n\n if (this.props.style) {\n const {\n // LAYOUT STYLES\n marginTop,\n marginRight,\n marginLeft,\n marginBottom,\n paddingTop,\n paddingRight,\n paddingLeft,\n paddingBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n textAlign,\n alignItems,\n display,\n // FILL STYLES\n backgroundColor,\n // BORDER STYLES\n borderColor,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderStyle,\n // OTHERS\n cursor,\n // LABEL STYLES\n ...restOfStyles\n } = this.props.style;\n\n labelStyles = restOfStyles;\n\n containerStyles = {\n marginTop,\n marginRight,\n marginLeft,\n marginBottom,\n paddingTop,\n paddingRight,\n paddingLeft,\n paddingBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n textAlign,\n alignItems,\n display,\n backgroundColor,\n borderColor,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderStyle,\n cursor\n };\n }\n\n containerStyles.cursor = \"inherit\";\n labelStyles.cursor = \"inherit\";\n if (this.props.showCursorPointer) {\n containerStyles.cursor = \"pointer\";\n labelStyles.cursor = \"pointer\";\n }\n\n if (containerStyles.display !== \"block\") {\n containerStyles.display = \"inline-block\";\n }\n\n if (this.props.maxLine && this.props.maxLine > 0) {\n containerStyles.overflow = \"hidden\";\n // labelStyles.overflow = \"hidden\";\n labelStyles.display = \"-webkit-box\";\n labelStyles.WebkitLineClamp = this.props.maxLine;\n labelStyles.lineClamp = this.props.maxLine;\n labelStyles.WebkitBoxOrient = \"vertical\";\n }\n\n if (window.kuika?.isDesignTime && window.kuika.dashboardState === DashboardState.reportDesigner) {\n containerStyles.width = \"auto\";\n containerStyles.height = \"auto\";\n labelStyles.width = \"auto\";\n labelStyles.height = \"auto\";\n containerStyles.display = \"inline-block\";\n containerStyles.lineHeight = \"unset\";\n }\n\n if (this.props.writingMode === \"vertical\") {\n labelStyles.writingMode = \"vertical-rl\";\n labelStyles.textOrientation = \"sideways\";\n }\n\n if (!this.props.writingMode || this.props.writingMode === \"horizontal\") {\n labelStyles.writingMode = \"horizontal-tb\";\n labelStyles.textOrientation = \"mixed\";\n }\n\n return { containerStyles, labelStyles };\n };\n\n getNumbersOfStyleProperties = (val: any) => {\n let numb: any = val?.match(/\\d/g);\n numb = numb?.join(\"\");\n return parseInt(numb);\n };\n\n getProps = () => {\n const props = { ...this.props };\n if (props.style) {\n delete props.style;\n }\n\n return props;\n };\n\n getLangProp = () => {\n const textTransformStyle = this.props.style?.textTransform;\n if (\n textTransformStyle === \"lowercase\" ||\n textTransformStyle === \"uppercase\" ||\n textTransformStyle === \"capitalize\"\n ) {\n const kuikaCulture = localStorage.getItem(\"ml\");\n if (!kuikaCulture) return undefined;\n\n return kuikaCulture.replace(\"_\", \"-\");\n }\n\n return undefined;\n };\n\n renderLabel = () => {\n const { containerStyles, labelStyles } = this.getStyles();\n return (\n <div style={containerStyles}>\n <label {...this.getProps()} style={labelStyles} lang={this.getLangProp()}>\n {this.getFormattedValue()}\n </label>\n </div>\n );\n };\n\n render(): ReactNode {\n if (this.props.tooltip) {\n return (\n <>\n <Tooltip color={\"white\"} title={this.props.tooltip}>\n {this.renderLabel()}\n </Tooltip>\n </>\n );\n }\n\n return this.renderLabel();\n }\n}\n\nconst label = withDoubleClickEdit(withCommonEvents(Label), \"value\");\nexport { label as Label };\n","import { SelectProps } from \"antd/es/select\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { KSelectBox } from \"../../../kuika\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface ISingleSelectProps extends SelectProps<any> {\n datatextfield?: string;\n datavaluefield?: any;\n onChange?: (value: any) => void;\n defaultText?: string;\n}\n\ninterface ISingleSelectState {}\n\nclass SingleSelect extends PureComponent<ISingleSelectProps & CommonProps, ISingleSelectState> {\n constructor(props: ISingleSelectProps) {\n super(props);\n }\n\n render(): ReactNode {\n return (\n <>\n <KSelectBox {...this.props} searchable={false}></KSelectBox>\n </>\n );\n }\n}\n\nconst singleSelect = SingleSelect;\nexport { singleSelect as SingleSelect };\n","import { SelectProps } from \"antd/es\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { CommonProps } from \"../common/common-props\";\nimport { SingleSelect } from \"../single-select/single-select\";\n\ninterface IMultiSelectProps extends SelectProps<any> {\n datatextfield?: string;\n datavaluefield?: any;\n onChange?: (value: any) => void;\n defaultText?: string;\n sortBy?: string;\n value?: string | any[];\n}\n\ninterface IMultiSelectState {}\n\nclass MultiSelect extends PureComponent<IMultiSelectProps & CommonProps, IMultiSelectState> {\n constructor(props: IMultiSelectProps) {\n super(props);\n }\n\n private normalizeValue = (value: string | any[] | undefined): any[] | undefined => {\n if (!value) return undefined;\n\n if (typeof value === \"string\") {\n return value\n .split(\",\")\n .map((v) => v.trim())\n .filter(Boolean);\n }\n\n return Array.isArray(value) ? value : [value];\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (props.options && Array.isArray(props.options)) {\n props.options = props.options.map((option: any) => ({\n ...option,\n compareKey: option?.key?.toString()?.toLowerCase()\n }));\n } else {\n props.options = [];\n }\n\n if (props.value) {\n const values = this.normalizeValue(props.value);\n props.value = values\n ?.map((v) => {\n if (v == null) return v;\n const matchingOption = props.options?.find((opt: any) => opt?.compareKey === v?.toString()?.toLowerCase());\n return matchingOption?.key ?? v;\n })\n .filter(Boolean);\n }\n\n props.mode = \"multiple\";\n style.display = \"inline-block\";\n props.style = style;\n\n if (!props.value) {\n props.value = undefined;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n <SingleSelect {...this.getProps()}></SingleSelect>\n </>\n );\n }\n}\n\nconst multiSelect = MultiSelect;\nexport { multiSelect as MultiSelect };\n","import { Drawer as AntDrawer } from \"antd/es\";\nimport { DrawerProps as AntdDrawerProps } from \"antd/es/drawer\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport \"./style.css\";\n\ninterface DrawerProps extends AntdDrawerProps {\n width?: string;\n height?: string;\n placement: any;\n}\n\ninterface DrawerState {}\n\nclass Drawer extends PureComponent<DrawerProps & CommonProps, DrawerState> {\n constructor(props: DrawerProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n let height = this.props.placement === \"left\" || this.props.placement === \"right\" ? \"100vh\" : \"30vh\";\n if (this.props.height) {\n height = this.props.height;\n }\n return (\n <>\n <AntDrawer bodyStyle={{ height }} headerStyle={{ display: \"none\" }} {...this.props}></AntDrawer>\n </>\n );\n }\n}\n\nconst drawer = withCommonEvents(Drawer);\nexport { drawer as Drawer };\n","import { Input } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport NumberFormat, { NumberFormatProps } from \"react-number-format\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\ninterface NumericboxProps extends NumberFormatProps {\n onChange: any;\n isThousandSeperatorOn?: boolean;\n max?: number;\n min?: number;\n}\n\ninterface NumericboxState {}\n\nclass NumberInput extends PureComponent<NumericboxProps & CommonProps, NumericboxState> {\n constructor(props: NumericboxProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n let style: any = _.clone(this.props.style);\n const isDesignTime = window.kuika?.isDesignTime;\n if (!style) {\n style = {\n width: \"100%\"\n };\n props.style = style;\n } else if (!style.width) {\n style.width = \"100%\";\n props.style = style;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props.decimalSeparator) {\n delete props.decimalSeparator;\n }\n if (props.format) {\n delete props.format;\n }\n if (props.mask) {\n delete props.mask;\n }\n if (props.max) {\n if (props.value && props.value > props.max && isDesignTime === true) {\n props.value = props.max;\n }\n delete props.max;\n }\n if (props.min) {\n if (props.value && props.value < props.min && isDesignTime === true) {\n props.value = props.min;\n }\n delete props.min;\n }\n if (props.value === null) {\n props.value = \"\";\n } else if (props.value && props.value.value) {\n const tmp = _.clone(props.value.floatValue);\n delete props.value;\n props.value = tmp;\n }\n return props;\n };\n\n withValueLimit = (values) => {\n const { formattedValue, floatValue } = values;\n if (floatValue == null) {\n return formattedValue === \"\";\n }\n if (this.props.max && this.props.min) {\n return floatValue <= this.props.max && floatValue >= this.props.min;\n }\n if (this.props.max) {\n return floatValue <= this.props.max;\n }\n if (this.props.min) {\n return floatValue >= this.props.min;\n }\n return floatValue;\n };\n\n onChange = (value: number | any) => {\n if (this.props.onChange) {\n const newValue = value.value != undefined ? _.clone(value.floatValue) : value;\n this.props.onChange(newValue);\n }\n };\n\n onBlur = (e: any) => {\n let newValue = e?.target?.value;\n if (e?.target?.value.includes(\",\")) {\n newValue = parseInt(newValue.replace(/,/g, \"\"));\n }\n if (this.props.max !== undefined && this.props.max !== null && parseFloat(newValue) > this.props.max) {\n this.props.onChange(this.props.max);\n }\n if (this.props.min !== undefined && this.props.min !== null && parseFloat(newValue) < this.props.min) {\n this.props.onChange(this.props.min);\n }\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n getThousandSeparator = () => {\n if (this.props.decimalSeparator == \",\") {\n return \".\";\n }\n return \",\";\n };\n\n getMask = () => {\n if (\n this.props.mask &&\n (this.props.mask.toString().includes(\"0\") ||\n this.props.mask.toString().includes(\"1\") ||\n this.props.mask.toString().includes(\"2\") ||\n this.props.mask.toString().includes(\"3\") ||\n this.props.mask.toString().includes(\"4\") ||\n this.props.mask.toString().includes(\"5\") ||\n this.props.mask.toString().includes(\"6\") ||\n this.props.mask.toString().includes(\"7\") ||\n this.props.mask.toString().includes(\"8\") ||\n this.props.mask.toString().includes(\"9\"))\n ) {\n return undefined;\n }\n return this.props.mask && this.props.mask.length > 0 ? this.props.mask : undefined;\n };\n\n getFormat = () => {\n return this.props.format && this.props.format.length > 0 ? this.props.format : undefined;\n };\n\n getDecimalSeparator = () => {\n return this.props.decimalSeparator ? this.props.decimalSeparator : \".\";\n };\n\n render(): React.ReactNode {\n // if data binded to number input show value as it is on design time\n if (this.props.value && typeof this.props.value === \"string\" && window.kuika?.dashboardState === 1) {\n return <Input value={this.props.value} style={this.props.style} />;\n }\n return (\n <NumberFormat\n {...this.getProps()}\n customInput={Input}\n onValueChange={this.onChange}\n decimalSeparator={this.getDecimalSeparator()}\n thousandSeparator={this.props.isThousandSeperatorOn ? this.getThousandSeparator() : false}\n mask={this.getMask()}\n format={this.getFormat()}\n onBlur={this.onBlur}\n // isAllowed={this.withValueLimit}\n />\n );\n }\n}\n\nconst numberInput = withCommonEvents(NumberInput);\nexport { numberInput as NumberInput };\n","import { Pagination as AntdPagination } from \"antd/es\";\nimport { PaginationProps as AntdPaginationProps } from \"antd/es/pagination\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { Icon } from \"../icon/icon\";\n\ndeclare let window: any;\n\ninterface PaginationProps extends AntdPaginationProps, CommonProps {\n style?: any;\n selectedBorderColor?: string;\n total?: number;\n showFirstPageButton?: boolean;\n showLastPageButton?: boolean;\n showNumbers?: boolean;\n showText?: boolean;\n value?: number;\n options?: any;\n datavaluefield?: string;\n}\n\ninterface PaginationState {\n pageSize: number;\n current: number;\n}\n\nclass Pagination extends PureComponent<PaginationProps, PaginationState> {\n private static readonly DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100];\n\n constructor(props: PaginationProps) {\n super(props);\n this.state = {\n pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10,\n current: this.props.current || 1\n };\n }\n\n getPageSize = () => {\n const { pageSize } = this.state;\n return pageSize ?? 10;\n };\n\n getCurrentPage = () => {\n let current: number = this.props.current && this.props.current > 1 ? this.props.current : this.state.current;\n if (!current || current === 0) current = 1;\n return current;\n };\n\n public getCurrentData = () => {\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n return { pageSize, current };\n };\n\n public setPaginationData = (newPage: number) => {\n this.handleChange(newPage);\n };\n\n public setPageSize = (pageSize: number) => {\n this.setState({ pageSize }, () => {\n this.handleChange(this.state.current, pageSize);\n });\n };\n\n handleChange = (page: number, pageSize: number = this.getPageSize()) => {\n this.setState({ pageSize, current: page }, () => {\n this.props.onChange?.(page, pageSize);\n });\n };\n\n handleSizeChange = (current: number, pageSize: number) => {\n this.setState({ pageSize, current }, () => {\n this.props.onChange?.(current, pageSize);\n });\n };\n\n getPageItemStyles = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n if (this.props.style?.color) {\n result.color = this.props.style?.color;\n }\n if (this.props.style?.borderColor) {\n result.borderColor = undefined;\n }\n if (this.props.style?.borderStyle) {\n result.borderStyle = undefined;\n }\n if (this.props.style?.borderWidth) {\n result.borderWidth = undefined;\n }\n result.textAlign = \"center\";\n result.alignItems = \"center\";\n return result;\n };\n\n getButtonItemStyles = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n if (this.props.style?.color) {\n result.color = this.props.style?.color;\n }\n if (this.props.style?.borderColor) {\n result.borderColor = undefined;\n }\n if (this.props.style?.borderStyle) {\n result.borderStyle = undefined;\n }\n if (this.props.style?.borderWidth) {\n result.borderWidth = undefined;\n }\n if (this.props.style?.backgroundColor) {\n result.backgroundColor = this.props.style?.backgroundColor;\n }\n if (this.props.style?.backgroundImage) {\n result.backgroundImage = this.props.style?.backgroundImage;\n }\n if (this.props.style?.backgroundRepeat) {\n result.backgroundRepeat = this.props.style?.backgroundRepeat;\n }\n result.textAlign = \"center\";\n result.alignItems = \"center\";\n return result;\n };\n\n getFirst = (): any => {\n return this.props.showText !== true ? (\n <Icon iconName=\"first_page\" style={{ marginBottom: 1 }} />\n ) : (\n this.getPaginationTitle(\"First\")\n );\n };\n\n getJumpPrev = (): string => {\n return this.props.showText !== true ? \"<<\" : \"<<\";\n };\n\n getPrevious = (): any => {\n return this.props.showText !== true ? <Icon iconName=\"chevron_left\" /> : this.getPaginationTitle(\"Previous\");\n };\n\n getNext = (): any => {\n return this.props.showText !== true ? <Icon iconName=\"chevron_right\" /> : this.getPaginationTitle(\"Next\");\n };\n\n getJumpNext = (): string => {\n return this.props.showText !== true ? \">>\" : \">>\";\n };\n\n getLast = (): any => {\n return this.props.showText !== true ? (\n <Icon iconName=\"last_page\" style={{ marginBottom: 1 }} />\n ) : (\n this.getPaginationTitle(\"Last\")\n );\n };\n\n itemRender = (\n page: number,\n type: \"page\" | \"prev\" | \"next\" | \"jump-prev\" | \"jump-next\",\n originalElement: React.ReactElement<HTMLElement>\n ) => {\n if (type === \"page\") {\n return <a style={this.getPageItemStyles()}>{page}</a>;\n }\n if (type === \"prev\") {\n return <a style={this.getButtonItemStyles()}>{this.getPrevious()}</a>;\n }\n if (type === \"next\") {\n return <a style={this.getButtonItemStyles()}>{this.getNext()}</a>;\n }\n if (type === \"jump-prev\") {\n return <a style={this.getButtonItemStyles()}>{this.getJumpPrev()}</a>;\n }\n if (type === \"jump-next\") {\n return <a style={this.getButtonItemStyles()}>{this.getJumpNext()}</a>;\n }\n return originalElement;\n };\n\n setStyle = (props?: PaginationProps) => {\n const node: Element | null | Text = ReactDOM.findDOMNode(this);\n if (!node) {\n return;\n }\n const pageBoxes: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-item\");\n\n if (pageBoxes && pageBoxes.length && pageBoxes.length > 0) {\n pageBoxes.forEach((pageBox) => {\n if (props && props.style && props.style.borderColor) {\n pageBox.style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n pageBox.style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderTopWidth) {\n pageBox.style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n pageBox.style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n pageBox.style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (\n props &&\n props.style &&\n (props.style.borderBottomWidth ||\n props.style.borderTopWidth ||\n props.style.borderLeftWidth ||\n props.style.borderRightWidth)\n ) {\n pageBox.style.display = \"flex\";\n pageBox.style[\"justify-content\"] = \"center\";\n pageBox.style[\"align-items\"] = \"center\";\n }\n if (props && props.style && props.style.borderStyle) {\n pageBox.style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n pageBox.style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n if (props && props.style && props.style.color) {\n pageBox.style.color = props.style.color;\n }\n });\n }\n let paginationWrapper: any = (node as Element)?.querySelectorAll(\".ant-pagination\");\n\n if (paginationWrapper && paginationWrapper.length && paginationWrapper.length > 0) {\n paginationWrapper.forEach((pageBox) => {\n if (props && props.style && props.style.borderColor) {\n pageBox.style[\"border-color\"] = \"transparent\";\n }\n if (props && props.style && props.style.borderWidth) {\n pageBox.style[\"border-width\"] = \"0px\";\n }\n if (props && props.style && props.style.borderStyle) {\n pageBox.style[\"border-style\"] = \"none\";\n }\n if (props && props.style && props.style.borderRadius) {\n pageBox.style[\"border-radius\"] = \"0px\";\n }\n });\n }\n const totalText: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-total-text\");\n if (totalText && totalText.length && totalText.length > 0) {\n if (props && props.style && props.style.color) {\n totalText[0].style.color = props.style.color;\n }\n }\n\n const pageSizeBox: any = (node as Element)?.querySelectorAll(\"ul > li > div > .ant-select-selector\");\n if (pageSizeBox && pageSizeBox.length && pageSizeBox.length > 0) {\n if (props && props.style && props.style.borderColor) {\n pageSizeBox[0].style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.color) {\n pageSizeBox[0].style.color = props.style.color;\n }\n if (props && props.style && props.style.fontSize) {\n pageSizeBox[0].style.fontSize = props.style.fontSize;\n }\n if (props && props.style && props.style.borderWidth) {\n pageSizeBox[0].style[\"border-width\"] = `${props.style.borderWidth}px`;\n }\n if (\n props?.style?.borderTopWidth ||\n props?.style?.borderBottomWidth ||\n props?.style?.borderLeftWidth ||\n props?.style?.borderRightWidth\n ) {\n pageSizeBox[0].style.display = \"flex\";\n pageSizeBox[0].style[\"justify-content\"] = \"center\";\n pageSizeBox[0].style[\"align-items\"] = \"center\";\n }\n if (props && props.style && props.style.borderTopWidth) {\n pageSizeBox[0].style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n pageSizeBox[0].style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n pageSizeBox[0].style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n pageSizeBox[0].style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (props && props.style && props.style.borderStyle) {\n pageSizeBox[0].style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n pageSizeBox[0].style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n }\n\n let paginationQuickJumperBox: any = (node as Element)?.querySelectorAll(\n \"ul > li > .ant-pagination-options-quick-jumper > input\"\n );\n if (paginationQuickJumperBox && paginationQuickJumperBox.length && paginationQuickJumperBox.length > 0) {\n if (props && props.style && props.style.borderColor) {\n paginationQuickJumperBox[0].style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.color) {\n paginationQuickJumperBox[0].style.color = props.style.color;\n }\n if (props && props.style && props.style.borderWidth) {\n paginationQuickJumperBox[0].style[\"border-width\"] = `${props.style.borderWidth}px`;\n }\n if (props && props.style && props.style.borderTopWidth) {\n paginationQuickJumperBox[0].style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n paginationQuickJumperBox[0].style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n paginationQuickJumperBox[0].style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n paginationQuickJumperBox[0].style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (props && props.style && props.style.borderStyle) {\n paginationQuickJumperBox[0].style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n paginationQuickJumperBox[0].style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n }\n\n const selectedPageBox: any = (node as Element)?.querySelectorAll(\".ant-pagination-item\");\n if (selectedPageBox && selectedPageBox.length && selectedPageBox.length > 0) {\n if (props && props.selectedBorderColor) {\n selectedPageBox.forEach((pageBox) => {\n if (pageBox.classList.contains(\"ant-pagination-item-active\")) {\n pageBox.style[\"border-color\"] = props.selectedBorderColor;\n } else {\n pageBox.style[\"border-color\"] = props.style.borderColor ?? \"#1890ff\";\n }\n });\n }\n }\n\n const pageBoxesItem: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-item > a\");\n\n if (pageBoxesItem && pageBoxesItem.length && pageBoxesItem.length > 0) {\n pageBoxesItem.forEach((pageBoxesItem) => {\n if (props && props.style && props.style.height) {\n pageBoxesItem.style.removeProperty(\"height\");\n }\n });\n }\n };\n\n componentDidUpdate = (nextProps: any) => {\n const current = this.props.value;\n if (current) {\n this.setState({ current });\n }\n\n this.setStyle(nextProps);\n };\n\n componentDidMount = () => {\n this.setState({ pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10 });\n this.setStyle(this.props);\n };\n\n getStyleProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props.style);\n if (result) {\n if (this.props.style?.backgroundColor) {\n result.backgroundColor = this.props.style?.backgroundColor;\n }\n if (this.props.style?.backgroundImage) {\n result.backgroundImage = this.props.style?.backgroundImage;\n }\n if (this.props.style?.backgroundRepeat) {\n result.backgroundRepeat = this.props.style?.backgroundRepeat;\n }\n if (this.props.style?.color) {\n result.backgroundRepeat = this.props.style?.color;\n }\n }\n }\n return result;\n };\n\n getStylePropsForInner = () => {\n const result = this.getStyleProps();\n result.textAlign = \"center\";\n result.display = \"flex\";\n return result;\n };\n\n getStylePropsForButtons = () => {\n const result = this.getStyleProps();\n result.display = \"flex\";\n result.alignItems = this.props.style?.alignItems;\n result.border = \"none\";\n result.borderColor = \"transparent\";\n result.borderRadius = \"0px\";\n result.borderStyle = \"unset\";\n result.padding = \"0px 5px\";\n return result;\n };\n\n handleFirst = () => {\n this.handleChange(1);\n };\n\n handlePrevious = () => {\n const current = this.state.current && this.state.current > 1 ? this.state.current : 2;\n this.handleChange(current - 1);\n };\n\n handleNext = () => {\n const current = this.state.current ? this.state.current : 1;\n this.handleChange(current + 1);\n };\n\n handleLast = () => {\n if (this.props.total && this.state.pageSize) {\n this.handleChange(Math.ceil(this.props.total / this.state.pageSize));\n }\n };\n\n firstPageButton = () => {\n const current = this.getCurrentPage();\n if (current <= 1) {\n return <></>;\n }\n\n return (\n <li title={this.getPaginationTitle(\"First Page\")} tabIndex={0} className=\"ant-pagination-jump-next\">\n <a onClick={this.handleFirst} style={this.getButtonItemStyles()}>\n {this.getFirst()}\n </a>\n </li>\n );\n };\n\n previousPageButton = () => {\n const current = this.getCurrentPage();\n if (current <= 1) {\n return <></>;\n }\n return (\n <li title={this.getPaginationTitle(\"Previous Page\")} tabIndex={0} className=\"ant-pagination-jump-next\">\n <a onClick={this.handlePrevious} style={this.getButtonItemStyles()}>\n {this.getPrevious()}\n </a>\n </li>\n );\n };\n\n nextPageButton = () => {\n const total = this.props.total ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n if (total / pageSize <= current) {\n return <></>;\n }\n return (\n <li title={this.getPaginationTitle(\"Next Page\")} tabIndex={0} className=\"ant-pagination-jump-next\">\n <a onClick={this.handleNext} style={this.getButtonItemStyles()}>\n {this.getNext()}\n </a>\n </li>\n );\n };\n\n lastPageButton = () => {\n const total = this.props.total ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n if (total / pageSize <= current) {\n return <></>;\n }\n return (\n <li title={this.getPaginationTitle(\"Last Page\")} tabIndex={0} className=\"ant-pagination-jump-next\">\n <a onClick={this.handleLast} style={this.getButtonItemStyles()}>\n {this.getLast()}\n </a>\n </li>\n );\n };\n\n getPaginationTitle = (title: string) => {\n const language = localStorage.getItem(\"ml\");\n let retValue = \"\";\n\n switch (language) {\n case \"fr_FR\":\n switch (title) {\n case \"First Page\":\n retValue = \"Première Page\";\n break;\n case \"Previous Page\":\n retValue = \"Page Précédente\";\n break;\n case \"Next Page\":\n retValue = \"Page Suivante\";\n break;\n case \"Last Page\":\n retValue = \"Dernière Page\";\n break;\n case \"First\":\n retValue = \"Premier\";\n break;\n case \"Previous\":\n retValue = \"Précédent\";\n break;\n case \"Next\":\n retValue = \"Suivant\";\n break;\n case \"Last\":\n retValue = \"Dernier\";\n break;\n default:\n retValue = title;\n break;\n }\n break;\n case \"tr_TR\":\n switch (title) {\n case \"First Page\":\n retValue = \"İlk Sayfa\";\n break;\n case \"Previous Page\":\n retValue = \"Önceki Sayfa\";\n break;\n case \"Next Page\":\n retValue = \"Sonraki Sayfa\";\n break;\n case \"Last Page\":\n retValue = \"Son Sayfa\";\n break;\n case \"First\":\n retValue = \"İlk\";\n break;\n case \"Previous\":\n retValue = \"Önceki\";\n break;\n case \"Next\":\n retValue = \"Sonraki\";\n break;\n case \"Last\":\n retValue = \"Son\";\n break;\n default:\n retValue = title;\n break;\n }\n break;\n case \"en_US\":\n retValue = title;\n break;\n default:\n retValue = title;\n break;\n }\n return retValue;\n };\n\n getPageSizeOptions = () => {\n const options = this.props.options;\n if (options && options.length > 0) {\n const mappedOptions: number[] = [];\n options.forEach((option: any) => {\n const value = option.text?.trim() ?? option[this.props.datavaluefield];\n if (!isNaN(value) && value !== null && value !== undefined && value !== \"\") {\n mappedOptions.push(parseInt(value));\n }\n });\n mappedOptions?.sort((a, b) => a - b);\n if (mappedOptions.length > 0) return mappedOptions;\n }\n\n return Pagination.DEFAULT_PAGE_SIZE_OPTIONS;\n };\n\n render(): ReactNode {\n const total =\n this.props.total !== undefined && this.props.total !== null && this.props.total >= 0 ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const isFirstPageButtonVisible = this.props.showFirstPageButton === true && total > 1;\n const isLastPageButtonVisible = this.props.showLastPageButton === true && total > 1;\n return (\n <>\n <div className={this.props.className} style={{ width: \"100%\", ...this.getStyleProps(), border: \"none\" }}>\n <div style={{ width: \"fit-content\", display: \"flex\", alignItems: \"center\" }}>\n {isFirstPageButtonVisible && (\n <ul\n className=\"ant-pagination\"\n style={this.props.style?.alignItems ? this.getStylePropsForButtons() : { padding: \"0px 5px\" }}\n >\n {this.firstPageButton()}\n </ul>\n )}\n {this.props.showNumbers === false && (\n <ul\n className=\"ant-pagination\"\n style={\n this.props.style?.alignItems || !this.props.showNumbers\n ? this.getStylePropsForButtons()\n : { padding: \"0px 5px\" }\n }\n >\n {this.previousPageButton()}\n {this.nextPageButton()}\n </ul>\n )}\n {this.props.showNumbers !== false && (\n <AntdPagination\n total={total}\n onChange={this.handleChange}\n onShowSizeChange={this.handleSizeChange}\n style={this.getStylePropsForInner()}\n itemRender={this.itemRender}\n pageSize={pageSize}\n current={this.getCurrentPage()}\n pageSizeOptions={this.getPageSizeOptions()}\n showSizeChanger={this.props.showSizeChanger}\n showQuickJumper={this.props.showQuickJumper}\n showLessItems={this.props.showLessItems}\n className=\"kuika__pagination\"\n ></AntdPagination>\n )}\n {isLastPageButtonVisible && (\n <ul\n className=\"ant-pagination\"\n style={this.props.style?.alignItems ? this.getStylePropsForButtons() : { padding: \"0px 5px\" }}\n >\n {this.lastPageButton()}\n </ul>\n )}\n </div>\n </div>\n </>\n );\n }\n}\n\nconst pagination = withCommonEvents(Pagination);\nexport { pagination as Pagination };\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { CSSProperties, PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KuikaAppManager } from \"../../../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\n\ninterface PanelProps {\n children?: ReactNode;\n style?: CSSProperties;\n scrolling?: \"horizontal\" | \"vertical\" | \"auto\" | \"hidden\";\n scrollBackColor?: string;\n scrollWidth?: number;\n scrollRadius: boolean;\n dynamicBackGroundColor: string;\n dynamicBgImage: string;\n dynamicFontColor: string;\n hoverBackgroundColor?: string;\n hoverFontColor?: string;\n}\n\ninterface PanelState {\n uniqueKey: Guid;\n}\n\nclass Panel extends PureComponent<PanelProps & CommonProps, PanelState> {\n constructor(props: PanelProps) {\n super(props);\n this.state = { uniqueKey: Guid.create() };\n }\n\n componentDidUpdate(): void {\n this.updateStyle();\n }\n\n componentDidMount = () => {\n const uniqueKey: string = this.state.uniqueKey.toString();\n\n if (!uniqueKey) {\n return;\n }\n\n if (this.props.scrolling) {\n const dynamic_style = document.getElementById(\"dynamic_style\");\n\n if (!dynamic_style) return;\n\n if (dynamic_style.innerHTML?.indexOf(uniqueKey) === -1) {\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${this.getDynamicCss()}`;\n }\n }\n\n if (this.props.hoverBackgroundColor) {\n const css = `.${this.getClassName().trim()}:hover{ background-color: ${this.addHashIfNeeded(\n this.props.hoverBackgroundColor\n )} }`;\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n }\n\n if (this.props.hoverFontColor) {\n const css = `.${this.getClassName().trim()}:hover{ color: ${this.addHashIfNeeded(this.props.hoverFontColor)} }`;\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n }\n this.updateStyle();\n };\n\n updateStyle = () => {\n const node: any = ReactDOM.findDOMNode(this);\n let style: React.CSSProperties = _.clone(this.props.style);\n if (this.props?.style?.alignItems !== \"flex-start\" && node && node.children && node.children.length > 0) {\n KMainFunctions.handleAlignments(node, style);\n }\n };\n\n addHashIfNeeded = (value: string): string => {\n if (value && value.length === 6 && !value.startsWith(\"#\")) {\n return `#${value}`;\n }\n return value;\n };\n\n getStyle = (): any => {\n let style: CSSProperties = {};\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n\n if (this.props.scrolling) {\n if (this.props.scrolling === \"horizontal\") {\n style.overflowX = \"auto\";\n style.overflowY = \"hidden\";\n }\n if (this.props.scrolling === \"vertical\") {\n style.overflowX = \"hidden\";\n style.overflowY = \"auto\";\n }\n if (this.props.scrolling === \"auto\") {\n style.overflow = \"auto\";\n }\n if (this.props.scrolling === \"hidden\" && (this.props.style?.height || this.props.style?.maxHeight)) {\n style.overflow = \"hidden\";\n }\n }\n\n if (this.props.dynamicBackGroundColor && this.props.dynamicBackGroundColor.length > 0) {\n style.backgroundColor = this.addHashIfNeeded(this.props.dynamicBackGroundColor);\n }\n\n if (this.props.dynamicBgImage && this.props.dynamicBgImage.length > 0) {\n let bgImage = this.props.dynamicBgImage;\n if (Guid.isGuid(bgImage)) {\n bgImage = `url(${KuikaAppManager.GetBackendUrl()}/resource/runtime/byid?resourceId=${bgImage})`;\n } else if (bgImage.startsWith(\"/image\")) {\n bgImage = `url(${KuikaAppManager.GetBackendUrl()}${bgImage})`;\n } else {\n bgImage = `url(${bgImage})`;\n }\n style.backgroundSize = \"cover\";\n style.backgroundImage = bgImage;\n }\n\n if (this.props.dynamicFontColor && this.props.dynamicFontColor.length > 0) {\n style.color = this.addHashIfNeeded(this.props.dynamicFontColor);\n }\n\n return style;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const scrollBackColor = this.getScrollBackColor();\n const scrollRadius = this.getScrollRadius();\n const scrollWidth = this.getScrollWidth();\n let result = \"\";\n\n if (scrollWidth) {\n result = `\n .${className}::-webkit-scrollbar {\n ${scrollWidth}\n }`;\n }\n\n if (scrollBackColor || scrollRadius) {\n result = `${result}.${className}::-webkit-scrollbar-thumb {\n ${scrollBackColor ?? ``}\n ${scrollRadius ?? ``}\n }`;\n\n result = `${result}.${className}::-webkit-scrollbar-thumb:hover {\n ${scrollBackColor ?? ``}\n ${scrollRadius ?? ``}\n }`;\n }\n\n if (this.props.dynamicFontColor) {\n result = `${result}.${className} * {\n color: ${this.addHashIfNeeded(this.props.dynamicFontColor)} !important;\n }`;\n }\n\n return result;\n };\n\n getScrollBackColor = (): string | undefined => {\n if (this.props.scrollBackColor && this.props.scrollBackColor.length > 0) {\n return `background: ${this.props.scrollBackColor};`;\n }\n };\n\n getScrollRadius = (): string | undefined => {\n if (this.props.scrollRadius && this.props.scrollRadius === true) {\n return \"border-radius: 20px;\";\n }\n };\n\n getScrollWidth = (): string | undefined => {\n if (this.props.scrollWidth && this.props.scrollWidth > 0) {\n return `width: ${this.props.scrollWidth}px;\n height: ${this.props.scrollWidth}px;`;\n }\n };\n\n getClassName = (): string => {\n let result = \"\";\n\n if (this.props.className) {\n result = `${this.props.className} `;\n }\n\n if (!this.state.uniqueKey) {\n return result;\n }\n\n result = `${result}panel_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n\n if (props.children) {\n delete props.children;\n }\n\n return props;\n };\n\n render(): ReactNode {\n return (\n <div {...this.getProps()} onClick={this.props?.onClick} className={this.getClassName()} style={this.getStyle()}>\n {this.props.children}\n </div>\n );\n }\n}\n\nconst panel = withCommonEvents(Panel);\nexport { panel as Panel };\n","import { Input } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\n\ninterface PasswordProps {\n value?: string;\n placeholder: string;\n style: any;\n}\n\ninterface PasswordState {\n uniqueKey: Guid;\n}\n\nclass Password extends PureComponent<PasswordProps & CommonProps, PasswordState> {\n constructor(props: PasswordProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n if (this.props.style?.backgroundColor || this.props.style?.color) {\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${this.getDynamicCss()}`;\n }\n this.handleAffixStyling();\n }\n };\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props?.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style.backgroundColor as any;\n }\n if (this.props?.style?.color) {\n input.style.color = this.props.style.color as any;\n }\n };\n\n getBgColor = (): string | undefined => {\n if (this.props.style?.backgroundColor) {\n return `background-color: ${this.props.style?.backgroundColor} !important;`;\n }\n };\n\n getColor = (): string | undefined => {\n if (this.props.style?.color) {\n return `color: ${this.props.style?.color} !important;`;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const bgColor = this.getBgColor();\n const color = this.getColor();\n const { lineHeight, fontSize, fontWeight, letterSpacing } = this.props.style;\n const colorStyle = this.props.style?.color;\n let result = \"\";\n if (bgColor || color || lineHeight || fontSize || fontWeight || letterSpacing) {\n result += `.${className.trim()} > .ant-input {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n result += `.${className.trim()} .ant-input:placeholder-shown, input::placeholder {\n font-size: ${fontSize} !important;\n color: ${colorStyle} !important;\n font-weight: ${fontWeight} !important;\n letter-spacing: ${letterSpacing} !important;\n line-height: ${lineHeight} !important;\n }`;\n result += `\n .${className.trim()} > span > span {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n }\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kpassword_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n\n if (props.value && style.textTransform === \"lowercase\") {\n props.value = props.value.toString().toLowerCase();\n } else if (props.value && style.textTransform === \"uppercase\") {\n props.value = props.value.toString().toUpperCase();\n }\n\n props.style = style;\n props.className = \"kuika-email\";\n return props;\n };\n\n render(): ReactNode {\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime) {\n return (\n <>\n <Input\n className={this.getClassName()}\n {...this.getProps()}\n suffix={\n <svg width=\"16\" height=\"15\" viewBox=\"0 0 16 15\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1.83301 13.3337L14.1667 1\"\n stroke=\"#818C99\"\n strokeWidth=\"1.4\"\n strokeMiterlimit=\"10\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M7.99667 2.16675C8.8567 2.16675 9.69672 2.30009 10.4934 2.55343L9.67339 3.37345C9.13004 3.23678 8.56669 3.16678 7.99667 3.16678C4.77657 3.16678 1.75982 5.44018 0.983125 8.45694C0.916456 8.72695 0.643115 8.88695 0.37644 8.81695C0.106432 8.75028 -0.0535731 8.47694 0.016429 8.21026C0.916456 4.70682 4.27322 2.16675 7.99667 2.16675Z\"\n fill=\"#818C99\"\n />\n <path\n d=\"M15.6234 8.81694C15.5834 8.83027 15.54 8.8336 15.5 8.8336C15.2767 8.8336 15.0733 8.6836 15.0167 8.45693C14.5133 6.5002 13.0633 4.85348 11.2266 3.94012L11.9799 3.18677C13.9266 4.24013 15.4267 6.04019 15.9834 8.21025C16.0534 8.47693 15.8934 8.75027 15.6234 8.81694Z\"\n fill=\"#818C99\"\n />\n <path\n d=\"M9.79043 5.37685L9.06374 6.10353C9.75376 6.48021 10.2238 7.21357 10.2238 8.05693C10.2238 9.2803 9.22707 10.277 8.00037 10.277C7.16035 10.277 6.42699 9.80698 6.05031 9.11696L5.32362 9.84365C5.90364 10.707 6.887 11.277 8.00037 11.277C9.77709 11.277 11.2238 9.83031 11.2238 8.05693C11.2238 6.94356 10.6538 5.95686 9.79043 5.37685ZM6.94367 6.10353L8.20704 4.84016C8.13704 4.83683 8.07037 4.8335 8.00037 4.8335C6.22365 4.8335 4.78027 6.28021 4.78027 8.05693C4.78027 8.1236 4.78361 8.1936 4.78694 8.26027L6.05031 6.99689C6.25365 6.62022 6.56699 6.30687 6.94367 6.10353Z\"\n fill=\"#818C99\"\n />\n </svg>\n }\n />\n </>\n );\n }\n return (\n <>\n <Input.Password className={this.getClassName()} {...this.getProps()} autoComplete=\"new-password\" />\n </>\n );\n }\n}\n\nconst password = withCommonEvents(Password);\nexport { password as Password };\n","import { Input } from \"antd/es\";\nimport { InputProps } from \"antd/es/input\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport InputMask from \"react-input-mask\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\ndeclare let window: any;\nconst defaultAllowedKeys = [\"Backspace\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Enter\", \"Delete\"];\n\nexport interface TextboxProps extends Omit<InputProps, \"autoComplete\"> {\n prefix?: string;\n suffix?: string;\n iconColor?: string;\n mask?: string;\n formatter: \"None\" | \"Lowercase\" | \"Uppercase\";\n isCharOnly?: boolean;\n allowedChars?: string;\n maxLength?: number;\n autoComplete?: boolean;\n isNumberOnly?: boolean;\n inputMode?: any | \"char\" | \"all\" | \"number\";\n}\n\ninterface TextboxState {\n mask: string;\n}\n\nclass TextInput extends PureComponent<TextboxProps & CommonProps, TextboxState> {\n constructor(props: TextboxProps) {\n super(props);\n this.state = {\n mask: props.mask\n };\n }\n\n setMask(value: string) {\n this.setState({ mask: value });\n }\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style?.backgroundColor as any;\n }\n if (this.props.style?.color) {\n input.style.color = this.props.style?.color as any;\n }\n };\n\n getPrefixSuffixStyles = (): React.CSSProperties => {\n const { style, iconColor } = this.props;\n\n const result: React.CSSProperties = {\n color: iconColor\n };\n\n if (style.fontSize) {\n result.fontSize = `calc(${style.fontSize} * 1.5714285714285714)`;\n }\n\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n const prefixSuffixStyles = this.getPrefixSuffixStyles();\n const isDesignTime = window?.kuika?.isDesignTime === true;\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n if (props.prefix && props.prefix.length > 0) {\n props.prefix = <Icon style={prefixSuffixStyles} iconName={this.props.prefix as string}></Icon>;\n } else if (props.prefix) {\n delete props.prefix;\n }\n\n if (props.suffix && props.suffix.length > 0) {\n props.suffix = <Icon style={prefixSuffixStyles} iconName={this.props.suffix as string}></Icon>;\n } else if (props.suffix) {\n delete props.suffix;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props?.value?.toString) {\n if (this.props.formatter === \"Uppercase\") {\n props.value = props.value.toString().toLocaleUpperCase(\"TR\");\n } else if (this.props.formatter === \"Lowercase\") {\n props.value = props.value.toString().toLocaleLowerCase(\"TR\");\n } else {\n props.value = props.value.toString();\n }\n if (this.props.isCharOnly || this.props?.inputMode === \"char\") {\n props.value = props.value.toString().replace(/[^a-zA-ZğüşöçİĞÜŞÖÇ\\s]/gi, \"\");\n } else if (this.props?.inputMode === \"number\") {\n props.value = props.value.toString().replace(/[^0-9]/g, \"\");\n } else {\n props.value = props.value.toString();\n }\n if (props.maxLength && !isDesignTime && !props.mask) {\n props.value = props.value.toString().substring(0, props.maxLength);\n }\n if (props.mask) {\n delete props.maxLength;\n }\n }\n\n if (props?.autoComplete === false) {\n props.autoComplete = \"off\";\n }\n\n if (!props?.formatCharacters) {\n props.formatCharacters = {\n \"0\": {\n validate() {\n return \"0\";\n }\n },\n \"2\": {\n validate() {\n return \"2\";\n }\n },\n \"3\": {\n validate() {\n return \"3\";\n }\n },\n \"4\": {\n validate() {\n return \"4\";\n }\n },\n \"5\": {\n validate() {\n return \"5\";\n }\n },\n \"6\": {\n validate() {\n return \"6\";\n }\n },\n \"7\": {\n validate() {\n return \"7\";\n }\n },\n \"8\": {\n validate() {\n return \"8\";\n }\n },\n \"9\": {\n validate() {\n return \"9\";\n }\n }\n };\n }\n\n props.style = style;\n\n return props;\n };\n\n componentDidMount() {\n if (\n this.props.style &&\n (this.props.style?.backgroundColor || this.props.style?.color) &&\n (this.props.prefix || this.props.suffix || this.props.allowClear)\n ) {\n this.handleAffixStyling();\n }\n\n this.setState({ mask: this.props.mask });\n }\n\n componentDidUpdate(prevProps: Readonly<TextboxProps & CommonProps>): void {\n if (prevProps.mask !== this.props.mask) {\n this.setState({ mask: this.props.mask });\n }\n }\n\n handleOnChange = (e: any) => {\n if (e.type === \"click\") {\n e.target.value = \"\";\n this.props.onPressEnter?.(e);\n }\n\n if (this.props?.isCharOnly === true || this.props?.inputMode === \"char\") {\n e.target.value.replace(/[^a-zA-ZığüşöçİĞÜŞÖÇ\\s]/gi, \"\");\n }\n\n if (this.props?.inputMode === \"number\") {\n e.target.value = e.target.value.replace(/[^0-9]/g, \"\");\n }\n\n if (this.props.allowedChars && this.props.allowedChars.length > 0) {\n const charArr = this.props.allowedChars.split(\"\");\n e.target.value = e.target.value\n ?.split(\"\")\n ?.filter((char) => charArr.includes(char))\n ?.join(\"\");\n }\n\n if (this.props.onChange) {\n if (this.props.formatter === \"Uppercase\") {\n e.target.value = (e.target.value as string).toLocaleUpperCase(\"TR\");\n } else if (this.props.formatter === \"Lowercase\") {\n e.target.value = (e.target.value as string).toLocaleLowerCase(\"TR\");\n }\n this.props.onChange(e);\n }\n };\n\n render(): ReactNode {\n if (this.state.mask && window?.kuika?.isDesignTime !== true) {\n return (\n <InputMask {...this.getProps()} mask={this.state.mask} onChange={this.handleOnChange}>\n {(inputProps) => <Input {...inputProps} />}\n </InputMask>\n );\n }\n return (\n <>\n <Input {...this.getProps()} onChange={this.handleOnChange}></Input>\n </>\n );\n }\n}\n\nconst textInput = withCommonEvents(TextInput);\nexport { textInput as TextInput };\n","import { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport PlacesAutocomplete, { geocodeByAddress, getLatLng } from \"react-places-autocomplete\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { TextInput, TextboxProps } from \"../text-input/text-input\";\n\ninterface PlacesAutoComplateInputProps extends TextboxProps {\n value: any;\n onSelectPlace: () => void;\n onChange?: (value?: any) => void;\n}\n\ninterface TextboxState {\n address: string;\n lat: string;\n lng: string;\n}\n\nclass PlacesAutocompleteInput extends PureComponent<PlacesAutoComplateInputProps & CommonProps, TextboxState> {\n addressResult: string = \"\";\n\n constructor(props: PlacesAutoComplateInputProps) {\n super(props);\n this.state = props.value || {\n address: \"\",\n lat: \"\",\n lng: \"\"\n };\n }\n\n componentDidMount = () => {\n this.handleComponentStyling();\n };\n\n componentDidUpdate = () => {\n this.handleComponentStyling();\n };\n\n handleComponentStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const locationSearchInput = node.querySelector(\".location-search-input\") as HTMLElement;\n let dropdownContainer: any;\n if (locationSearchInput && locationSearchInput.parentElement) {\n dropdownContainer = locationSearchInput.parentElement.children[1];\n dropdownContainer.style.width = `${locationSearchInput.offsetWidth}px`;\n }\n };\n\n getLatitude = () => {\n return this.state.lat;\n };\n\n getLongitude = () => {\n return this.state.lng;\n };\n\n getAddress = () => {\n return this.state.address;\n };\n\n handleChange = (address) => {\n this.setState({ address, lat: \"\", lng: \"\" });\n };\n\n handleSelect = async (address) => {\n const results = await geocodeByAddress(address);\n if (results && results.length > 0 && results[0].formatted_address) {\n this.addressResult = results[0].formatted_address;\n if (results) {\n const latLng = await getLatLng(results[0]);\n if (latLng != undefined) {\n this.setState({ address: this.addressResult, lat: latLng.lat, lng: latLng.lng }, () => {\n if (this.props.onSelectPlace) {\n this.props.onSelectPlace();\n }\n if (this.props.onChange) {\n this.props.onChange({ address: this.addressResult, lat: latLng.lat, lng: latLng.lng });\n }\n });\n }\n }\n }\n };\n\n render(): ReactNode {\n return (\n <>\n <PlacesAutocomplete value={this.state.address} onChange={this.handleChange} onSelect={this.handleSelect}>\n {({ getInputProps, suggestions, getSuggestionItemProps, loading }) => (\n <div style={{ display: this.props.style?.display === \"inline\" ? \"inline-block\" : \"block\" }}>\n <TextInput\n {...this.props}\n {...getInputProps({\n placeholder: this.props.placeholder,\n className: \"location-search-input\"\n })}\n />\n <div className=\"autocomplete-dropdown-container\" style={{ position: \"absolute\", zIndex: 9999 }}>\n {loading && <div>Loading...</div>}\n {suggestions?.map((suggestion) => {\n const className = suggestion.active ? \"suggestion-item--active\" : \"suggestion-item\";\n const style = suggestion.active\n ? { backgroundColor: \"#fafafa\", cursor: \"pointer\" }\n : { backgroundColor: \"#ffffff\", cursor: \"pointer\" };\n return (\n <div\n {...getSuggestionItemProps(suggestion, {\n className,\n style\n })}\n >\n <span>{suggestion.description}</span>\n </div>\n );\n })}\n </div>\n </div>\n )}\n </PlacesAutocomplete>\n </>\n );\n }\n}\n\nconst placesAutocompleteInput = withCommonEvents(PlacesAutocompleteInput);\nexport { placesAutocompleteInput as PlacesAutocompleteInput };\n","import { Col as AntdCol } from \"antd/es\";\nimport { ColProps as AntdColProps } from \"antd/es/col\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\n\ntype ColProps = AntdColProps;\n\ninterface ColState {}\n\nclass Col extends PureComponent<ColProps & CommonProps, ColState> {\n constructor(props: ColProps) {\n super(props);\n this.state = {};\n }\n\n // componentDidMount(): void {\n // const node = ReactDOM.findDOMNode(this) as Element;\n // if ((this.props.style?.textAlign as string) === \"-webkit-right\") {\n // const colWrapper: HTMLElement = node?.querySelector(\".kuika_responsiveColWrapper\")\n // const nonResponsiveWrapper: HTMLElement = colWrapper?.querySelector(\":first-child\")\n // if (colWrapper && nonResponsiveWrapper?.classList.contains(\"kuika_nonResponsiveWrapper\") && nonResponsiveWrapper?.getAttribute(\"kuikacomponentname\") === \"Image\") {\n // colWrapper.style.display = \"inline-flex\";\n // colWrapper.style.justifyContent = \"flex-end\";\n // colWrapper.style.flexDirection = \"column\";\n // colWrapper.style.alignItems = \"flex-end\";\n // nonResponsiveWrapper.style.width = \"max-content\";\n // if (nonResponsiveWrapper.getAttribute(\"kuikablockstyle\") === \"2\") {\n // nonResponsiveWrapper.style.width = \"100%\";\n // }\n // }\n // } else if ((this.props.style?.textAlign as string) === \"-webkit-center\") {\n // const colWrapper: HTMLElement = node?.querySelector(\".kuika_responsiveColWrapper\")\n // const nonResponsiveWrapper: HTMLElement = colWrapper?.querySelector(\":first-child\")\n // if (colWrapper && nonResponsiveWrapper?.classList.contains(\"kuika_nonResponsiveWrapper\") && nonResponsiveWrapper?.getAttribute(\"kuikacomponentname\") === \"Image\") {\n // colWrapper.style.display = \"inline-flex\";\n // colWrapper.style.justifyContent = \"center\";\n // colWrapper.style.flexDirection = \"column\";\n // colWrapper.style.alignItems = \"center\";\n // nonResponsiveWrapper.style.width = \"max-content\"\n // if (nonResponsiveWrapper.getAttribute(\"kuikablockstyle\") === \"2\") {\n // nonResponsiveWrapper.style.width = \"100%\";\n // }\n\n // }\n // }\n // }\n\n componentDidMount(): void {\n const isDesignTime = window.kuika?.isDesignTime;\n // const node = ReactDOM.findDOMNode(this) as Element;\n // if (this.props?.style?.alignItems !== \"flex-start\" && node && node.children && node.children.length > 0) {\n // let element = node.children[0];\n // if (!isDesignTime)\n // element = node;\n // KMainFunctions.handleAlignments(element, this.getStyle());\n // const tabEl: HTMLElement = element?.querySelector(\"[kuikacomponentname='Tab']\");\n // if (tabEl && tabEl.style) {\n // tabEl.style.display = \"contents\";\n // }\n // }\n }\n\n getStyle = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n if (style.alignItems == \"center\") {\n style.alignSelf = \"center\";\n }\n if (style.alignItems == \"flex-start\") {\n style.alignSelf = \"flex-start\";\n }\n if (style.alignItems == \"flex-end\") {\n style.alignSelf = \"flex-end\";\n }\n // if (style.textAlign == \"-webkit-right\") {\n // delete style.textAlign;\n // style.display = \"inline-flex\";\n // style.justifyContent = \"right\";\n // style.width = \"100%\";\n // }\n // if (style.textAlign == \"-webkit-center\") {\n // delete style.textAlign;\n // style.display = \"inline-flex\";\n // style.justifyContent = \"center\";\n // style.width = \"100%\";\n // }\n\n return style;\n };\n\n render(): ReactNode {\n return (\n <>\n <AntdCol {...this.props} style={this.getStyle()}></AntdCol>\n </>\n );\n }\n}\n\nconst col = withCommonEvents(Col);\nexport { col as Col };\n","import { Row as AntdRow } from \"antd/es\";\nimport { Gutter } from \"antd/es/grid/row\";\nimport { RowProps as AndRowProps } from \"antd/es/row\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface RowProps extends AndRowProps {\n horizontalGutter?: number;\n verticalGutter?: number;\n}\n\ninterface RowState {}\n\nclass Row extends PureComponent<RowProps & CommonProps, RowState> {\n constructor(props: RowProps) {\n super(props);\n this.state = {};\n }\n\n getStyle = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n style.alignItems = style.alignItems ?? \"inherit\";\n style.display = \"flex\";\n return style;\n };\n\n getGutter = (): any => {\n if (this.props.horizontalGutter || this.props.verticalGutter) {\n let horizontalGutter: Gutter = 0;\n let verticalGutter: Gutter = 0;\n if (this.props.horizontalGutter) {\n horizontalGutter = _.clone(this.props.horizontalGutter);\n }\n if (this.props.verticalGutter) {\n verticalGutter = _.clone(this.props.verticalGutter);\n }\n return [horizontalGutter, verticalGutter];\n }\n return this.props.gutter;\n };\n\n render(): ReactNode {\n return (\n <>\n <AntdRow {...this.props} gutter={this.getGutter()} style={this.getStyle()}></AntdRow>\n </>\n );\n }\n}\n\nconst row = withCommonEvents(Row);\nexport { row as Row };\n","import { Slider as AntdSlider } from \"antd/es\";\nimport { SliderBaseProps, SliderSingleProps } from \"antd/es/slider\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { findDOMNode } from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface KSliderProps extends SliderBaseProps, SliderSingleProps {\n style: any;\n sliderColor: string;\n handleColor: string;\n railColor: string;\n onChange: any;\n id?: string;\n value?: number;\n}\n\ninterface KSliderState {}\n\nclass Slider extends PureComponent<KSliderProps & CommonProps, KSliderState> {\n constructor(props: KSliderProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount() {\n const node = findDOMNode(this) as Element;\n if (this.props && this.props.sliderColor) {\n const sliderTract: HTMLElement = node.getElementsByClassName(\"ant-slider-track\")[0] as HTMLElement;\n sliderTract.style.backgroundColor = this.props.sliderColor;\n }\n if (this.props && this.props.railColor) {\n const sliderTract: HTMLElement = node.getElementsByClassName(\"ant-slider-rail\")[0] as HTMLElement;\n sliderTract.style.backgroundColor = this.props.railColor;\n }\n if (this.props && this.props.handleColor) {\n const sliderTract: HTMLElement = node.getElementsByClassName(\"ant-slider-handle\")[0] as HTMLElement;\n sliderTract.style.boxShadow = `0 0 0 2px ${this.props.handleColor}`;\n if (node.getElementsByClassName(\"ant-slider-handle\").length > 1) {\n const sliderTract2: HTMLElement = node.getElementsByClassName(\"ant-slider-handle\")[1] as HTMLElement;\n sliderTract2.style.boxShadow = `0 0 0 2px ${this.props.handleColor}`;\n }\n }\n if (node && this.props && this.props.vertical === true) {\n if (!this.props.style.height) (node as any).style.height = \"200px\";\n if (node.parentElement && node.parentElement.style) {\n node.parentElement.style.display = \"inline-flex\";\n }\n }\n if (node && this.props?.style?.height && this.props.vertical === false && node.children?.length > 3) {\n const height = this.getNumbersOfStyleProperties(this.props.style.height);\n (node.children[3] as any).style.top = `${height / 2 - 5}px`;\n }\n if (node && this.props?.style?.width && this.props.vertical === true && node.children?.length > 3) {\n const width = this.getNumbersOfStyleProperties(this.props.style.width);\n (node.children[3] as any).style.left = `${width / 2 - 5}px`;\n }\n if (node) {\n const sliderTract11: HTMLElement = node.getElementsByClassName(\"ant-slider-handle\")[0] as HTMLElement;\n sliderTract11?.setAttribute(\"focusid\", this.props.id);\n }\n }\n\n getNumbersOfStyleProperties = (val: any) => {\n let numb: any = val?.match(/\\d/g);\n numb = numb?.join(\"\");\n return numb;\n };\n\n getProps = () => {\n let props: any = {};\n if (this.props) {\n props = _.clone(this.props);\n }\n if (props.sliderColor) {\n delete props.sliderColor;\n }\n if (props.handleColor) {\n delete props.handleColor;\n }\n\n if (props.style) {\n props.style = { ...props.style, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" };\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n <AntdSlider {...this.getProps()} range={false} />\n </>\n );\n }\n}\n\nconst slider = withCommonEvents(Slider);\nexport { slider as Slider };\n","import { Space } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport DynamicStyleComponent from \"../../dynamic-styled-component-wrapper\";\nimport { CommonProps } from \"../common-props\";\nimport \"./horizontal-stack.scss\";\n\ninterface HorizontalStackProps {\n children?: ReactNode;\n style: React.CSSProperties;\n size?: number;\n mode?: \"button-group\" | \"default\";\n align?: \"left\" | \"center\" | \"right\";\n}\n\ninterface HorizontalStackState {\n uniqueKey: Guid;\n}\n\ndeclare let window: any;\n\nclass HorizontalStack extends PureComponent<HorizontalStackProps & CommonProps, HorizontalStackState> {\n constructor(props: HorizontalStackProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n getProps = () => {\n const props: any = { ...this.props };\n if (props.children) {\n delete props.children;\n }\n if (props.style) {\n delete props.style;\n }\n if (props.size < 0) props.size = 0;\n return props;\n };\n\n getStyleProp = () => {\n let style: React.CSSProperties = {};\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n style.height = \"100%\";\n style.width = this.props.children ? \"max-content\" : \"100%\";\n\n if (!style.alignItems) {\n style.alignItems = \"unset\";\n }\n\n return style;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n let result = \"\";\n\n const { size } = this.props;\n\n if (size && size < 0) {\n result += `.ant-space-item:not(:first-of-type) {\n margin-left: ${size}px !important;\n }`;\n }\n\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n\n if (this.props.className) {\n result = this.props.className;\n }\n\n if (!this.state.uniqueKey) {\n return result;\n }\n\n result = `${result} kspace_${this.state.uniqueKey.toString().substring(0, 8)}`;\n\n return result;\n };\n\n getJustifyContent = () => {\n if (this.props.align === \"left\") {\n return \"flex-start\";\n }\n\n if (this.props.align === \"center\") {\n return \"center\";\n }\n\n if (this.props.align === \"right\") {\n return \"flex-end\";\n }\n\n return \"flex-start\";\n };\n\n getContainerStyle = (): React.CSSProperties => {\n if (this.props.mode === \"button-group\") {\n return {\n overflowX: \"auto\",\n overflowY: \"hidden\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: this.getJustifyContent()\n };\n }\n\n return {\n overflowX: \"auto\",\n overflowY: \"hidden\"\n };\n };\n\n render(): ReactNode {\n const dynamicStyles = this.getDynamicCss();\n\n return (\n <DynamicStyleComponent dynamicStyles={dynamicStyles} className={this.getClassName()}>\n <div style={this.getContainerStyle()}>\n <Space\n className={this.getClassName()}\n style={this.getStyleProp()}\n {...this.getProps()}\n direction=\"horizontal\"\n >\n {React.Children.map(this.props.children, (child: any) => {\n if (child?.props?.visibility === \"hidden\" || child?.props?.children?.props?.visibility === \"hidden\") {\n return null;\n }\n return <>{child}</>;\n })}\n </Space>\n </div>\n </DynamicStyleComponent>\n );\n }\n}\n\nconst horizontalStack = withCommonEvents(HorizontalStack);\nexport { horizontalStack as HorizontalStack };\n","import { Space } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface VerticalStackProps {\n children?: ReactNode;\n style: any;\n size?: number | string;\n}\n\ninterface VerticalStackState {\n uniqueKey: Guid;\n}\n\ndeclare let window: Window & { kuika: any };\n\nclass VerticalStack extends PureComponent<VerticalStackProps & CommonProps, VerticalStackState> {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: VerticalStackProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount() {\n this.setDynamicStyle();\n }\n\n componentDidUpdate() {\n this.setDynamicStyle();\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.children) {\n delete props.children;\n }\n if (props.style) {\n delete props.style;\n }\n if (props.size < 0) props.size = 0;\n return props;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n style.height = \"auto\";\n style.width = \"100%\";\n return style;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { size } = this.props;\n\n if ((size && typeof size === \"number\" && size > 0) || (typeof size === \"string\" && parseInt(size) > 0)) {\n result += `.${className.trim()}>.ant-space-item:not(:first-of-type) {\n margin-top: ${size}px !important;\n }`;\n }\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kspace_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n render(): ReactNode {\n return (\n <>\n <Space className={this.getClassName()} style={this.getStyleProp()} {...this.getProps()} direction=\"vertical\">\n {React.Children.map(this.props.children, (child: any) => {\n if (child?.props?.visibility === \"hidden\" || child?.props?.children?.props?.visibility === \"hidden\") {\n return null;\n }\n return <>{child}</>;\n })}\n </Space>\n </>\n );\n }\n}\n\nconst verticalStack = withCommonEvents(VerticalStack);\nexport { verticalStack as VerticalStack };\n","import { Elements, ElementsConsumer, PaymentElement } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js/pure\";\nimport { PureComponent } from \"react\";\nimport { IStripePayment } from \"../../../models/dto/stripe-payment\";\nimport { STRIPE_SETTINGS } from \"../../../shared/utilty/constants\";\nimport { CommonProps } from \"../common-props\";\nimport \"./styles.css\";\n\ndeclare let window: any;\n\ninterface StripeWrapperProps {\n stripeAction?: IStripePayment;\n onSuccess?: any;\n onError?: any;\n callback?: any;\n screen?: any;\n futureUse?: any;\n}\n\ninterface StripeWrapperState {\n stripePromise: any;\n isLoaded: any;\n isPaymentAcceptable: boolean;\n}\n\nexport class PaymentElementStripe extends PureComponent<StripeWrapperProps & CommonProps, StripeWrapperState> {\n constructor(props: StripeWrapperProps) {\n super(props);\n this.state = {\n stripePromise: undefined,\n isLoaded: false,\n isPaymentAcceptable: false\n };\n }\n\n componentDidMount() {\n let loadStripeKey = \"\";\n if (window.kuika?.dashboardState === 1) {\n // Designer\n loadStripeKey =\n \"pk_test_51KQQy1D08MhpLIYNiHJlPjfxplHwO9ytq2nQ3MEvcFjcuL1UTGYAtEDlaAAbwnf1bKxRK4tCiEU8vcVIhw96Z4ei00sq3gLJAv\";\n } else if (STRIPE_SETTINGS.publishKey) {\n loadStripeKey = STRIPE_SETTINGS.publishKey;\n }\n const stripePromise = loadStripe(loadStripeKey);\n this.setState({ stripePromise, isLoaded: true });\n }\n\n confirmPayment = async (\n event: any,\n ctx: any,\n onSuccess?: any,\n onError?: any,\n callback?: any,\n screen?: any,\n paymentIntent?: string\n ) => {\n event.preventDefault();\n const { stripe } = ctx;\n const { elements } = ctx;\n if (this.props.futureUse) {\n await stripe\n .confirmSetup({\n elements,\n redirect: \"if_required\"\n })\n .then((result) => {\n if (!result.error) {\n if (screen) {\n screen.setState(\n {\n SetupIntent: {\n isSuccess: true,\n errorMessage: \"\",\n paymentMethod: result.setupIntent.payment_method,\n seti: result.setupIntent.id\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n } else if (screen) {\n screen.setState(\n {\n SetupIntent: {\n isSuccess: false,\n errorMessage: result.error.message,\n paymentMethod: undefined,\n seti: undefined\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n });\n } else {\n await stripe\n .confirmPayment({\n elements,\n redirect: \"if_required\"\n })\n .then((result) => {\n if (!result.error) {\n if (screen) {\n if (screen) {\n screen.setState(\n {\n OpenStripePaymentDrawer: {\n isSuccess: true,\n errorMessage: \"\",\n paymentIntent: paymentIntent?.substring(0, paymentIntent.indexOf(\"_secret\"))\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n }\n } else if (screen) {\n screen.setState(\n {\n OpenStripePaymentDrawer: {\n isSuccess: false,\n errorMessage: result.error.message,\n paymentIntent: undefined\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n });\n }\n };\n\n getButtonLabel = () => {\n const language = localStorage.getItem(\"ml\");\n let retValue = \"\";\n\n switch (language) {\n case \"fr_FR\":\n retValue = this.props.futureUse ? \"Enregistrer\" : \"Payer\";\n break;\n\n case \"tr_TR\":\n retValue = this.props.futureUse ? \"Kaydet\" : \"Öde\";\n break;\n case \"en_US\":\n default:\n retValue = this.props.futureUse ? \"Save\" : \"Buy\";\n break;\n }\n return retValue;\n };\n\n renderCard = (ctx) => {\n return (\n <>\n <PaymentElement\n onChange={(e) => {\n this.setState({ isPaymentAcceptable: e.complete });\n }}\n id=\"payment-element\"\n />\n <button\n disabled={!this.state.isPaymentAcceptable}\n className=\"kuika-stripe-payment-button\"\n onClick={(e) =>\n this.confirmPayment(\n e,\n ctx,\n this.props.onSuccess,\n this.props.onError,\n this.props.callback,\n this.props.screen,\n this.props.stripeAction?.clientSecret\n )\n }\n >\n {this.getButtonLabel()}\n </button>\n </>\n );\n };\n\n render() {\n let clientSecret = this.props.stripeAction?.clientSecret;\n if (window.kuika?.dashboardState === 1) {\n // Designer\n clientSecret = \"pi_3KYAHvD08MhpLIYN0nFFlYYq_secret_pOIjXrIhtqj6REVsgRPvzwHnS\";\n }\n if (this.state.stripePromise && clientSecret && clientSecret !== \"\") {\n const { stripePromise } = this.state;\n return (\n <Elements stripe={stripePromise} options={{ clientSecret }}>\n <ElementsConsumer>{(ctx: any) => this.renderCard(ctx)}</ElementsConsumer>\n </Elements>\n );\n }\n return <></>;\n }\n}\n","import { Switch as AntdSwitch } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\ninterface ToggleProps {\n id?: string;\n value: any;\n onChange: any;\n onClick?: any;\n disabled?: boolean;\n style?: React.CSSProperties;\n defaultValue: any;\n}\n\ninterface ToggleState {\n curValue: boolean;\n}\n\nclass Switch extends PureComponent<ToggleProps, ToggleState> {\n constructor(props: ToggleProps) {\n super(props);\n this.state = {\n curValue: this.props.defaultValue ?? this.props.value\n };\n }\n\n componentDidMount = () => {\n if (this.props.value === null) {\n this.onChange(false);\n }\n this.handleComponentStyling();\n };\n\n componentDidUpdate = () => {\n if (this.props.value === null) {\n this.onChange(false);\n }\n if (this.props.value !== undefined && this.state.curValue != this.props.value) {\n this.setState({ curValue: this.props.value });\n }\n this.handleComponentStyling();\n };\n\n handleComponentStyling = () => {\n if (!this.props.style) return;\n const node = ReactDOM.findDOMNode(this) as Element;\n let style: React.CSSProperties = _.clone(this.props.style);\n\n if (style?.paddingLeft || style?.paddingRight || style?.paddingTop || style?.paddingBottom) {\n const parent = document.createElement(\"div\");\n const parentId = `switch-container${this.props.id}`;\n parent.id = parentId;\n if (node?.parentElement?.id !== parentId) {\n node?.parentElement?.appendChild(parent);\n parent?.appendChild(node);\n }\n parent.style.paddingLeft = `${style.paddingLeft}px`;\n parent.style.paddingTop = `${style.paddingTop}px`;\n parent.style.paddingRight = `${style.paddingRight}px`;\n parent.style.paddingBottom = `${style.paddingBottom}px`;\n parent.style.display = \"inline-block\";\n }\n };\n\n getDefaultChecked = () => {\n if (this.props?.defaultValue === undefined) return false;\n if (this.props?.defaultValue === null) return false;\n if (this.props?.defaultValue.toString() === \"\") return false;\n if (this.props?.defaultValue.toString() === \"1\") return true;\n if (this.props?.defaultValue.toString() === \"0\") return false;\n if (this.props?.defaultValue.toString().toLowerCase() === \"true\") return true;\n if (this.props?.defaultValue.toString().toLowerCase() === \"false\") return false;\n\n return false;\n };\n\n getChecked = () => {\n if (this.props.value === null) return false;\n if (this.props.value?.toString() === \"\") return false;\n if (this.props.value?.toString() === \"1\") return true;\n if (this.props.value?.toString() === \"0\") return false;\n if (this.props.value?.toString().toLowerCase() === \"true\") return true;\n if (this.props.value?.toString().toLowerCase() === \"false\") return false;\n\n return undefined;\n };\n\n onChange = (e) => {\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n this.setState({ curValue: e });\n };\n\n onClick = (e) => {\n if (this.props.onClick && typeof this.props.onClick === \"function\") {\n this.props.onClick(e);\n }\n };\n\n getProps = () => {\n let props: any = {};\n props = _.clone(this.props);\n if (props.style) delete props.style;\n return props;\n };\n\n getStyle = () => {\n let style: React.CSSProperties = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (!this.state.curValue) {\n style.backgroundColor = \"#C1C1C1\";\n }\n\n delete style.paddingLeft;\n delete style.paddingRight;\n delete style.paddingTop;\n delete style.paddingBottom;\n return style;\n };\n\n render(): ReactNode {\n if (this.props.value === null) {\n this.onChange(false);\n }\n return (\n <>\n <AntdSwitch\n {...this.getProps()}\n style={{ ...this.getStyle() }}\n onChange={this.onChange}\n onClick={this.onClick}\n checked={this.getChecked()}\n defaultChecked={this.getDefaultChecked()}\n />\n </>\n );\n }\n}\n\nconst switchComponent = withCommonEvents(Switch);\nexport { switchComponent as Switch };\n","import { TabsProps as AntdTabsProps } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _, { isEmpty } from \"lodash\";\nimport \"rc-tabs/assets/index.css\";\nimport ScrollableInkTabBar from \"rc-tabs/es/ScrollableInkTabBar\";\nimport TabContent from \"rc-tabs/es/TabContent\";\nimport Tabs from \"rc-tabs/es/Tabs\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\ninterface TabProps extends AntdTabsProps {\n activeKey: string;\n defaultActiveKey: string;\n onChange?: (activeKey: string) => any;\n value?: string | number;\n selectedTabColor?: string;\n className?: string;\n children?: any;\n kuikaid?: string;\n}\n\ninterface TabState {\n uniqueKey: Guid;\n designTimeValue: string;\n}\n\nclass Tab extends PureComponent<TabProps & CommonProps, TabState> {\n private memoizedDynamicCssResult = \"\";\n\n shouldPreventOnChangeFunction: boolean = false;\n\n constructor(props: TabProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create(),\n designTimeValue: \"\"\n };\n }\n\n initializeWindowApi = () => {\n window.kuika ??= {};\n window.kuika.tabs ??= {};\n window.kuika.tabs[this.props.kuikaid] ??= {};\n window.kuika.tabs[this.props.kuikaid].setTab = (index: number) => {\n this.handleOnChangeTab(this.props.children[index].key, true);\n };\n };\n\n destroyWindowApi = () => {\n delete window.kuika.tabs[this.props.kuikaid];\n };\n\n componentDidMount() {\n if (window.kuika?.isDesignTime) {\n this.initializeWindowApi();\n }\n this.setDynamicStyle();\n\n const children = this.getChildren();\n if (children.length) {\n let activeIndex = 0;\n\n if (window.kuika?.dashboardState === DashboardState.design) {\n const lastActiveTab = window.kuika[`${this.props.kuikaid}_lastActiveTab`];\n if (lastActiveTab) {\n activeIndex = children.findIndex(\n (tabItem) => tabItem.key === lastActiveTab || tabItem.props?.kuikaid === lastActiveTab\n );\n if (activeIndex === -1) activeIndex = 0;\n this.setState({ designTimeValue: children[activeIndex].key });\n } else {\n activeIndex = children.findIndex(\n (tabItem) =>\n tabItem.key === this.state.designTimeValue || tabItem.props?.kuikaid === this.state.designTimeValue\n );\n if (activeIndex === -1) activeIndex = 0;\n this.setState({ designTimeValue: children[activeIndex].key });\n }\n } else if (this.props.value) {\n activeIndex = children.findIndex(\n (tabItem) => tabItem.key === this.props.value || tabItem.props?.kuikaid === this.props.value\n );\n if (activeIndex === -1) activeIndex = 0;\n }\n\n if (children[activeIndex].props?.onActive) {\n children[activeIndex].props.onActive();\n }\n }\n }\n\n componentWillUnmount() {\n if (window.kuika?.isDesignTime) {\n this.destroyWindowApi();\n }\n }\n\n componentDidUpdate(prevProps: Readonly<TabProps & CommonProps>, prevState: Readonly<TabState>, snapshot?: any): void {\n if (window.kuika?.isDesignTime) return;\n\n if (this.props.value !== prevProps.value) {\n if (this.shouldPreventOnChangeFunction) {\n if (this.props.onChange) this.shouldPreventOnChangeFunction = false;\n } else {\n if (this.props.onChange) this.props.onChange(`${this.props.value}`);\n this.handleTabItemOnActive(this.props.value);\n }\n }\n }\n\n handleOnChangeTab = (activeTabKey: any, setState: boolean) => {\n if (window.kuika?.dashboardState === DashboardState.design) {\n this.setState({ designTimeValue: activeTabKey });\n window.kuika ??= {};\n window.kuika[`${this.props.kuikaid}_lastActiveTab`] = activeTabKey;\n return;\n }\n\n if (this.props.onChange) {\n this.shouldPreventOnChangeFunction = true;\n this.props.onChange(activeTabKey);\n }\n\n this.handleTabItemOnActive(activeTabKey);\n };\n\n handleTabItemOnActive = (activeTabKey) => {\n const activeChild = this.props.children?.find(\n (tabItem) => (tabItem.key === activeTabKey || tabItem.props?.kuikaid === activeTabKey) && tabItem.props?.onActive\n );\n if (!activeChild) return;\n\n activeChild.props.onActive();\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { selectedTabColor, tabPosition } = this.props;\n if (selectedTabColor) {\n result += `.${className.trim()} .rc-tabs-tab-active, .rc-tabs-tab-active:active, .rc-tabs-tab-active:hover, .rc-tabs-tab-active:focus, .rc-tabs-tab:hover, .rc-tabs-tab:focus, .rc-tabs-tab:active {\n color: ${this.props.selectedTabColor} !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab-disabled, .rc-tabs-tab-disabled:hover, .rc-tabs-tab-disabled:active, .rc-tabs-tab-disabled:focus {\n color: #ccc !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab {\n transition: none !important;\n }`;\n result += `.${className.trim()} .rc-tabs-ink-bar {\n background: ${this.props.selectedTabColor};\n }`;\n }\n result += `.${className.trim()} .rc-tabs-tabpane {\n padding: 0px !important;\n overflow: hidden !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }`;\n\n result += `.${className.trim()} {\n display: block !important;\n align-items: unset !important;\n }`;\n\n result += `.${className.trim()} .rc-tabs-bar {\n margin: 0 0 16px !important;\n border-color: transparent !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left .rc-tabs-tab {\n padding-right: 8px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-tab {\n padding-left: 8px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left .rc-tabs-bar {\n margin-right: 16px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-bar {\n margin-left: 16px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-bottom .rc-tabs-bar {\n margin-top: 16px !important;\n }`;\n\n result += `.${className.trim()} .rc-tabs-tabpane-active {\n padding: 0px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-nav-scroll,\n .${className.trim()}.rc-tabs-left .rc-tabs-nav-scroll {\n height: auto;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left,\n .${className.trim()}.rc-tabs-right {\n display: flex !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right {\n flex-direction: row-reverse;\n }`;\n\n result += `.${className.trim()} .rc-tabs-content.rc-tabs-content-animated {\n flex: 1;\n }`;\n\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} ktab_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n let props = {} as any;\n props = _.clone(this.props);\n if (props.activeKey) {\n delete props.activeKey;\n }\n if (props.defaultActiveKey) {\n delete props.defaultActiveKey;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props.children) {\n delete props.children;\n }\n if (props.selectedTabColor) {\n delete props.selectedTabColor;\n }\n\n props.tabBarPosition = props.tabPosition || \"top\";\n delete props.tabPosition;\n\n return props;\n };\n\n getChildren() {\n if (!this.props.children.length) {\n if (this.props.children.props.visibility !== \"hidden\") {\n return [this.props.children];\n }\n return [];\n }\n\n return this.props.children\n .filter((child) => child.props.visibility !== \"hidden\")\n .map((child) => {\n return React.cloneElement(child, { disabled: child.props.editability === \"disabled\" });\n });\n }\n\n getActiveKey = () => {\n if (window.kuika?.dashboardState === DashboardState.design) {\n return this.state.designTimeValue;\n }\n\n let activeKey = this.props.value;\n let keyProp = \"id\";\n if (window.kuika?.dashboardState === 1) {\n activeKey = this.props.activeKey;\n keyProp = \"kuikaid\";\n }\n\n if (isEmpty(activeKey) && this.props.children && this.props.children[0] && this.props.children[0].props) {\n if (this.props.children[0].props.visibility === \"hidden\") {\n const nextTab = this.props.children.find((child) => child.props.visibility !== \"hidden\");\n if (nextTab) {\n activeKey = nextTab.props[keyProp];\n }\n } else if (this.props.children[0].props[keyProp]) {\n activeKey = this.props.children[0].props[keyProp];\n }\n } else if (isEmpty(activeKey) && this.props.children) {\n activeKey = this.props.children.props[keyProp];\n }\n\n return activeKey;\n };\n\n render(): ReactNode {\n let activeKey = this.getActiveKey();\n return (\n <Tabs\n animated={false}\n {...this.getProps()}\n className={this.getClassName()}\n onChange={this.handleOnChangeTab}\n activeKey={activeKey}\n defaultActiveKey={this.props.defaultActiveKey}\n renderTabBar={() => <ScrollableInkTabBar />}\n renderTabContent={() => <TabContent />}\n >\n {this.getChildren()}\n </Tabs>\n );\n }\n}\n\nconst tab = withCommonEvents(Tab);\nexport { tab as Tab };\n","import Tabs from \"rc-tabs\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\ninterface TabItemProps {\n children?: ReactNode;\n style?: any;\n onActive?: () => void;\n forceRender?: boolean;\n}\n\ninterface TabItemState {}\n\nclass TabItem extends PureComponent<TabItemProps & CommonProps, TabItemState> {\n constructor(props: TabItemProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n this.setAlignments();\n }\n\n componentDidUpdate(\n prevProps: Readonly<TabItemProps & CommonProps>,\n prevState: Readonly<TabItemState>,\n snapshot?: any\n ): void {\n this.setAlignments();\n }\n\n setAlignments = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n let element = node;\n KMainFunctions.handleAlignments(element, this.props.style);\n };\n\n getProps = () => {\n if (!window.kuika.isDesignTime) {\n return { ...this.props, forceRender: true };\n }\n return this.props;\n };\n\n render(): ReactNode {\n return <Tabs.TabPane {...this.getProps()}> {this.props.children} </Tabs.TabPane>;\n }\n}\n\nconst tabItem = withCommonEvents(TabItem);\nexport { tabItem as TabItem };\n","import { ColumnType } from \"antd/es/table\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../../common/common-props\";\n\nexport interface TableDataProps extends ColumnType<any> {\n rowData?: any;\n children?: React.ReactNode;\n isEditableColumn?: boolean;\n isEditMode?: boolean;\n visibilityCondition?: (rowData: object) => boolean;\n editabilityCondition?: (rowData: object) => boolean;\n}\n\ndeclare let window: any;\ninterface KTableDataState {}\n\nclass TableData<P, S> extends PureComponent<TableDataProps & P & CommonProps, KTableDataState & S> {\n constructor(props: TableDataProps & P & CommonProps) {\n super(props);\n }\n\n static dataFieldKey: RegExp = /\\[datafield:((?:(?!\\[datafield:).)*)\\]/;\n\n static oldValue: RegExp = /\\[datafield:((?:(?!\\[datafield:).)*)\\]/g;\n\n static toCamelCase = (str: string): string => {\n return str.replace(/^([A-Z])|[\\s-](\\w)/g, (match, p1, p2) => {\n if (p2) {\n return p2.toUpperCase();\n }\n\n return p1.toLowerCase();\n });\n };\n\n static getValueFromPath = (data: object, path: string, index: number) => {\n // Example path: \"Users[first].Name\n const fields: string[] = path\n .split(\".\")\n .filter((field: string, index: number, array: string[]) => {\n const theFieldIndexContaingSelected = array.findIndex((x) => x.includes(\"[selected]\"));\n\n if (theFieldIndexContaingSelected > -1) {\n return index > theFieldIndexContaingSelected;\n }\n\n return true;\n })\n .map((x) => TableData.toCamelCase(x));\n\n const value = fields.reduce((prev: any, curr: string) => {\n if (!prev) return \"\";\n let result = null;\n\n if (curr.endsWith(\"[first]\")) {\n const field: string = curr.replace(\"[first]\", \"\");\n result = prev?.[field]?.at?.(0);\n } else if (curr.endsWith(\"[last]\")) {\n const field: string = curr.replace(\"[last]\", \"\");\n result = prev?.[field]?.at?.(-1);\n } else if (curr.endsWith(\"[selected]\")) {\n const field: string = curr.replace(\"[selected]\", \"\");\n result = prev?.[field]?.at?.(index);\n } else {\n const field: string = curr;\n result = prev?.[field];\n }\n\n return result;\n }, data);\n\n return value;\n };\n\n static getIsDataRepeater = (child: any): boolean => {\n if (!child) return false;\n\n if (child?.props?.dataSource && child.props.dataSource?.length > 0) {\n return true;\n }\n\n return false;\n };\n\n static setDataFieldValues = (\n children: any,\n rowData?: any,\n rowIndex?: number,\n _visibilityCondition?: (rowData: object) => boolean,\n _editabilityCondition?: (rowData: object) => boolean\n ): React.ReactNode[] => {\n if (!children) return [];\n\n return React.Children.map(children, (child, childIndex) => {\n const props: Record<string, any> = {};\n let manipulatedChildren: React.ReactNode[] = [];\n\n if (child?.props) {\n const visibilityCondition = child.props?.visibilityCondition || _visibilityCondition;\n\n if (visibilityCondition) {\n if (child?.props?.visibilityByAuthorization === \"hidden\") {\n props.visibility = \"hidden\";\n } else {\n props.visibility = visibilityCondition(rowData) === true ? \"visible\" : \"hidden\";\n }\n }\n\n const editabilityCondition = child.props?.editabilityCondition || _editabilityCondition;\n\n if (editabilityCondition) {\n if (child?.props?.editabilityByAuthorization === \"disabled\") {\n props.editability = \"disabled\";\n } else {\n props.editability = editabilityCondition(rowData) === true ? \"enabled\" : \"disabled\";\n }\n }\n\n Object?.keys(child.props)?.forEach((key) => {\n if (typeof child.props[key] === \"string\") {\n if (child.props[key]?.toString().indexOf(\"datafield:\") > -1) {\n const matchResult = child.props[key]?.toString().match(TableData.dataFieldKey);\n\n if (rowData && matchResult && matchResult?.length > 0) {\n props[`${key}Original`] = child.props[key];\n\n const dataField = matchResult[1];\n let newValue = this.getValueFromPath(rowData, dataField, rowIndex) ?? \"\";\n\n if (Array.isArray(newValue) || _.isObject(newValue)) {\n props[key] = newValue;\n } else {\n props[key] = child.props[key]?.toString().replace(TableData.oldValue, newValue);\n }\n\n if (\n !window ||\n !window.kuika ||\n (window.kuika?.dashboardState !== 1 && window.kuika?.dashboardState !== 17)\n ) {\n if ((key === \"dataSource\" && props[key] == \"\") || props[key] == \"null\" || props[key] == \"undefined\") {\n props[key] = [];\n } else if (props[key] == \"\" || props[key] == \"null\" || props[key] == \"undefined\") {\n props[key] = \" \";\n }\n }\n }\n }\n\n if (key === \"children\") {\n manipulatedChildren.push(props.children);\n }\n } else if (key === \"children\") {\n if (TableData.getIsDataRepeater(child)) {\n return;\n }\n\n manipulatedChildren = TableData.setDataFieldValues(child.props.children, rowData, rowIndex);\n }\n\n if (!props[key]) {\n props[key] = child.props[key];\n }\n });\n }\n\n props.rowIndex = rowIndex;\n\n if (manipulatedChildren?.length > 0) {\n return React.cloneElement(child, props, manipulatedChildren);\n }\n\n return React.cloneElement(child, props, child.props.children);\n });\n };\n\n render = () => {\n if (this.props.visibility === \"hidden\") return <></>;\n return TableData.setDataFieldValues(\n this.props.children,\n this.props.rowData,\n this.props.rowIndex,\n this.props.visibilityCondition,\n this.props.editabilityCondition\n );\n };\n}\n\nconst tableData = withCommonEvents<TableDataProps & CommonProps, KTableDataState>(TableData);\nexport { tableData as TableData };\n","import { FooterOptions } from \"../../base-table\";\nimport { TableData, TableDataProps } from \"../../data/table-data\";\n\nexport interface TableColumnProps extends TableDataProps {\n style?: any;\n calculatedCellBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedCellFontColor?: (rowIndex?: number, rowData?: any) => string;\n onlyRowHoverVisible?: boolean;\n specialSortingFormat?: string;\n isEditableColumn?: boolean;\n isEditMode?: boolean;\n width?: number;\n hideFiltering?: boolean;\n hideSorting?: boolean;\n hideSearch?: boolean;\n defaultDataField?: string;\n footerOptions?: FooterOptions;\n footerFormatter?: string;\n}\n\ninterface TableColumnState {}\n\nexport class TableColumn extends TableData<TableColumnProps, TableColumnState> {\n constructor(props: TableColumnProps) {\n super(props);\n this.state = {};\n }\n}\n","import { CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport \"./table.scss\";\n\ndeclare let window: any;\n\nexport interface TableRowProps {\n rowData?: any;\n rowIndex?: number;\n style?: any;\n hoverFontColor?: string;\n hoverBgColor?: string;\n tableClassName?: Guid;\n dynamicBackGroundColor?: string;\n calculatedRowBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedRowFontColor?: (rowIndex?: number, rowData?: any) => string;\n onClick?: (e: any, rowIndex: number, rowData: any) => void;\n rowComponent?: any;\n showCursorPointer?: boolean;\n editMode?: boolean;\n children?: any;\n showTableHeader?: boolean;\n transformedOnMobileResolution?: boolean;\n hideHeaderOnMobileResolution?: boolean;\n selectedBgColor?: string;\n isSelected?: boolean;\n isInsertRow?: boolean;\n handleAddRow?: () => void;\n handleCancelEditing?: () => void;\n}\n\nexport interface TableRowState {\n mouseOver: boolean;\n uniqueKey?: Guid;\n editModeEnabled?: boolean;\n expanded?: boolean;\n isMobileResolution?: boolean;\n}\n\nexport class TableRow<P, S> extends PureComponent<TableRowProps & P, TableRowState> {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: TableRowProps) {\n super(props as TableRowProps & P);\n this.state = {\n mouseOver: false,\n uniqueKey: Guid.create(),\n editModeEnabled: false,\n expanded: false,\n isMobileResolution: true\n } as TableRowState & S;\n\n this.handleResize = _.debounce(this.handleResize, 1000).bind(this);\n\n window.addEventListener(\"resize\", this.handleResize);\n }\n\n private memoizedScreenWidth = 0;\n\n componentDidMount() {\n this.handleResize();\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.handleResize);\n }\n\n handleResize = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n const screenWidth = window.innerWidth;\n if (screenWidth === this.memoizedScreenWidth || !this.props.transformedOnMobileResolution) return;\n this.memoizedScreenWidth = screenWidth;\n const table = this.getParentTable();\n const isMobileResolution = screenWidth < 576;\n const childrenLength = React.Children.toArray(this.props.children)?.length;\n\n if (screenWidth < 576 && childrenLength > 3) {\n if (table) {\n if (!table.classList.contains(\"kuika_table__wrapper__mobile\")) {\n table.classList.add(\"kuika_table__wrapper__mobile\");\n }\n if (this.props.hideHeaderOnMobileResolution) {\n table.classList.add(\"kuika_table__wrapper__mobile--witout-header\");\n }\n }\n } else if (screenWidth >= 576) {\n if (table) {\n table.classList.remove(\"kuika_table__wrapper__mobile\");\n table.classList.remove(\"kuika_table__wrapper__mobile--witout-header\");\n }\n }\n\n if (this.state.isMobileResolution === isMobileResolution) return;\n this.setState({ isMobileResolution });\n };\n\n getClassName = () => {\n let result = \"\";\n const isReportDesigner = window.kuika?.dashboardState === 17;\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `ktablerow_${this.state.uniqueKey.toString().substring(0, 8)}`;\n if (isReportDesigner) {\n result += \" kuika_report-table-row\";\n }\n return result;\n };\n\n getStyle = (): any => {\n const isReportDesigner = window.kuika?.dashboardState === 17;\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n\n if (this.props.dynamicBackGroundColor && window.kuika?.isDesignTime !== true) {\n const dataFieldKey = new RegExp(/\\[datafield:([a-zA-Z0-9-_]+)\\]/);\n const matchResult = this.props.dynamicBackGroundColor.match(dataFieldKey);\n if (matchResult) {\n const dataField = matchResult[1];\n const bgValue = this.props.rowData && this.props.rowData[dataField];\n if (bgValue) {\n result.backgroundColor = bgValue;\n }\n }\n }\n\n if (this.state.mouseOver === true && !isReportDesigner) {\n if (this.props.hoverFontColor) {\n result.color = this.props.hoverFontColor;\n }\n if (this.props.hoverBgColor) {\n result.backgroundColor = this.props.hoverBgColor;\n }\n if (this.props.selectedBgColor && this.props.isSelected) {\n result.backgroundColor = this.props.selectedBgColor;\n }\n if (this.props.showCursorPointer) {\n result.cursor = \"pointer\";\n }\n }\n\n if (result?.display) {\n delete result.display;\n }\n\n return result;\n };\n\n handleMouseOver = () => {\n const className = this.getClassName();\n const isReportDesigner = window.kuika?.dashboardState === 17;\n\n if (!className || isReportDesigner) {\n return;\n }\n const currentRow = document.querySelector(`.${className}`);\n const targets = currentRow?.querySelectorAll(`td`);\n\n targets.forEach((element) => {\n if (!element.hasAttribute(\"data-original-bg\")) {\n element.setAttribute(\"data-original-bg\", element.style.backgroundColor || \"\");\n }\n if (!element.hasAttribute(\"data-original-color\")) {\n element.setAttribute(\"data-original-color\", element.style.color || \"\");\n }\n\n element.style.backgroundColor = this.props.hoverBgColor || \"transparent\";\n element.style.color = this.props.hoverFontColor || \"\";\n element.style.cursor = this.props.showCursorPointer ? \"pointer\" : \"\";\n });\n\n this.setState({\n mouseOver: true\n });\n };\n\n handleMouseOut = () => {\n const className = this.getClassName();\n if (!className) {\n return;\n }\n const currentRow = document.querySelector(`.${className}`);\n const targets = currentRow?.querySelectorAll(`td`);\n\n targets.forEach((element) => {\n element.style.backgroundColor = element.getAttribute(\"data-original-bg\") || \"\";\n element.style.color = element.getAttribute(\"data-original-color\") || \"\";\n element.style.cursor = \"\";\n\n element.removeAttribute(\"data-original-bg\");\n element.removeAttribute(\"data-original-color\");\n });\n\n this.setState({\n mouseOver: false\n });\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n toggleExpand = () => {\n this.setState(\n (prevState: TableRowState & S) =>\n ({\n expanded: !prevState.expanded\n } as Pick<TableRowState & S, \"expanded\">)\n );\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n delete props.children;\n return props;\n };\n\n getParentTable = () => {\n const parentTable = document.querySelector(`.${this.props.tableClassName}`);\n return parentTable;\n };\n\n handleExpandButtonClick = () => {\n this.setState({ expanded: !this.state.expanded } as Pick<TableRowState & S, \"expanded\">);\n };\n\n renderExpandButton() {\n const { expanded } = this.state;\n return (\n <div className=\"kuika_table__wrapper__expand-btn\" onClick={this.handleExpandButtonClick}>\n {expanded ? (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.08516 8.12789L5.4289 10.7842C5.1411 11.072 4.67394 11.072 4.38614 10.7842C4.09834 10.4963 4.09834 10.0292 4.38614 9.74139L7.59367 6.53386C7.86548 6.26205 8.30553 6.26205 8.57664 6.53386L11.7842 9.74139C12.072 10.0292 12.072 10.4963 11.7842 10.7842C11.4964 11.072 11.0292 11.072 10.7414 10.7842L8.08516 8.12789Z\"\n fill=\"#292C33\"\n />\n </svg>\n ) : (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8.08513 9.20211L10.7414 6.54585C11.0292 6.25805 11.4963 6.25805 11.7841 6.54585C12.072 6.83365 12.072 7.30081 11.7841 7.58861L8.57662 10.7961C8.30481 11.068 7.86476 11.068 7.59364 10.7961L4.38612 7.58861C4.09831 7.30081 4.09831 6.83365 4.38612 6.54585C4.67392 6.25805 5.14107 6.25805 5.42887 6.54585L8.08513 9.20211Z\"\n fill=\"#292C33\"\n />\n </svg>\n )}\n </div>\n );\n }\n\n renderMobileRow() {\n const { expanded } = this.state;\n const { children } = this.props;\n const childrenArray = React.Children.toArray(children);\n\n const isAnyAlwaysVisibleColumn = childrenArray.some(\n (child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution === false\n );\n\n const isEveryColumnAlwaysVisible = childrenArray.every(\n (child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution === false\n );\n\n let filteredChildren: any = isAnyAlwaysVisibleColumn\n ? childrenArray.filter((child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution !== false)\n : childrenArray;\n\n if (\n filteredChildren &&\n filteredChildren.length === 1 &&\n filteredChildren[0]?.props?.className === \"ant-table-selection-column\"\n ) {\n filteredChildren = children;\n }\n\n return (\n <tr\n {...this.getProps()}\n onClick={this.handleRowClick}\n style={this.getStyle()}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n className={this.getClassName()}\n >\n {expanded || isEveryColumnAlwaysVisible ? children : filteredChildren}\n {isAnyAlwaysVisibleColumn && !isEveryColumnAlwaysVisible && this.renderExpandButton()}\n {this.renderIcons()}\n </tr>\n );\n }\n\n renderIcons = () => {\n if (!this.props.isInsertRow) {\n return null;\n }\n\n return (\n <span\n style={{\n display: \"flex\",\n justifyContent: \"space-around\",\n alignItems: \"center\",\n flexDirection: \"column\",\n position: \"absolute\",\n left: \"0\",\n width: \"20px\",\n height: \"56px\",\n borderRadius: \"4px\",\n background: \"rgba(195, 195, 195, 0.3)\"\n }}\n className={this.props.transformedOnMobileResolution ? \"kuika_table__wrapper__icons\" : \"\"}\n >\n <CheckOutlined onClick={() => this.props.handleAddRow()} style={{ color: \"green\", cursor: \"pointer\" }} />\n <CloseOutlined onClick={() => this.props.handleCancelEditing()} style={{ color: \"red\", cursor: \"pointer\" }} />\n </span>\n );\n };\n\n renderDesktopRow() {\n return (\n <tr\n {...this.getProps()}\n onClick={this.handleRowClick}\n style={this.getStyle()}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n className={this.getClassName()}\n >\n {this.props.children}\n {this.renderIcons()}\n </tr>\n );\n }\n\n render() {\n const { isMobileResolution } = this.state;\n const isDesignTime = window.kuika?.isDesignTime;\n const childrenArray = React.Children.toArray(this.props.children);\n if (isMobileResolution && !isDesignTime && childrenArray?.length > 3) {\n return this.renderMobileRow();\n }\n return this.renderDesktopRow();\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface CarouselBodyCellProps {}\n\ninterface CarouselBodyCellState {}\n\nexport class CarouselBodyCell extends PureComponent<CarouselBodyCellProps, CarouselBodyCellState> {\n constructor(props: CarouselBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport Slider, { Settings } from \"react-slick\";\nimport \"./carousel.scss\";\n\nexport interface CarouselBodyWrapperProps extends Settings {\n children?: ReactNode;\n style?: any;\n setCurrentSlideNumber?: (val: number) => void;\n onChange?: () => void;\n startingIndex?: number;\n hoverBgColor?: string;\n hoverFontColor?: string;\n arrowColor?: string;\n}\n\ninterface CarouselBodyWrapperState {\n uniqueKey: Guid;\n mouseOver: boolean;\n}\n\ndeclare let window: Window & { kuika: any };\n\nexport class CarouselBodyWrapper extends PureComponent<CarouselBodyWrapperProps, CarouselBodyWrapperState> {\n private memoizedDynamicCssResult = \"\";\n\n private sliderRef;\n\n constructor(props: CarouselBodyWrapperProps) {\n super(props);\n this.sliderRef = React.createRef();\n this.state = {\n uniqueKey: Guid.create(),\n mouseOver: false\n };\n }\n\n componentDidUpdate(prevState: any) {\n if (prevState.mouseOver !== this.state.mouseOver) this.setDynamicStyle();\n }\n\n componentDidMount = () => {\n if (this.props.startingIndex && this.props.startingIndex > 0) {\n this.sliderRef.current.slickGoTo(this.props.startingIndex, true);\n }\n const carousel: HTMLCollectionOf<Element> = document?.getElementsByClassName(\"kuika-carousel__vertical\");\n const parent = carousel[0]?.parentElement;\n if (parent && parent.style) {\n parent.style.paddingBottom = \"0px\";\n parent.style.paddingRight = \"25px\";\n }\n this.setDynamicStyle();\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const { hoverBgColor, hoverFontColor, arrowColor } = this.props;\n if (this.state.mouseOver === true) {\n if (hoverBgColor) {\n result += `.${className.trim()}:hover {\n background-color: ${hoverBgColor} !important;\n transition: background-color 0.5s ease;\n }`;\n }\n if (hoverFontColor) {\n result += `.${className.trim()}:hover label, .${className.trim()}:hover span {\n color: ${hoverFontColor} !important;\n }`;\n }\n }\n\n if (arrowColor) {\n result += `.${className.trim()} .slick-prev:before, .${className.trim()} .slick-next:before {\n color: ${arrowColor} !important;\n }`;\n }\n\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getClassName = () => {\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `kcarousel_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n\n if (props.slidesToShow && props.slidesToShow > 0) {\n if (props.children && props.children[1] && props.children[1].length >= 0) {\n if (props.children[1].length < props.slidesToShow) {\n props.slidesToShow = props.children[1].length;\n }\n }\n }\n if (!this.props.children || this.props.children[1].length === undefined) props.slidesToShow = 1;\n\n if (props.vertical) {\n props.className += \" kuika-carousel__vertical\";\n } else {\n props.className += \" kuika-carousel__horizontal\";\n }\n return props;\n };\n\n handleMouseOver = () => {\n this.setState({\n mouseOver: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n mouseOver: false\n });\n };\n\n getPaddingBottom = () => {\n if (this.props.style && this.props.style?.paddingBottom) {\n return 25 + Number.parseInt(this.props.style?.paddingBottom.toString());\n }\n return 25;\n };\n\n handleAfterChange = (nextSlide: number) => {\n if (this.props.setCurrentSlideNumber) {\n this.props.setCurrentSlideNumber(nextSlide);\n }\n if (this.props.onChange) {\n this.props.onChange();\n }\n };\n\n render(): ReactNode {\n return (\n <>\n <div\n className={this.getClassName()}\n style={{ ...this.props.style, paddingBottom: this.getPaddingBottom() }}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n >\n <Slider ref={this.sliderRef} {...this.getProps()} afterChange={this.handleAfterChange} />\n </div>\n </>\n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport type CarouselItemProps = TableRowProps;\n\ntype CarouselItemState = TableRowState;\n\nexport class CarouselItem extends TableRow<CarouselItemProps, CarouselItemState> {\n constructor(props: CarouselItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n <div\n {...this.props}\n onClick={this.handleRowClick}\n style={this.getStyleMapping()}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n />\n </>\n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface FlexGridBodyCellProps {}\n\ninterface FlexGridBodyCellState {}\n\nexport class FlexGridBodyCell extends PureComponent<FlexGridBodyCellProps, FlexGridBodyCellState> {\n constructor(props: FlexGridBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { Space } from \"antd/es\";\nimport { SpaceProps } from \"antd/es/space\";\nimport { PureComponent, ReactNode } from \"react\";\n\nexport interface FlexGridBodyWrapperProps extends SpaceProps {\n style?: any;\n}\n\ninterface FlexGridBodyWrapperState {}\n\nexport class FlexGridBodyWrapper extends PureComponent<FlexGridBodyWrapperProps, FlexGridBodyWrapperState> {\n constructor(props: FlexGridBodyWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return (\n <>\n <Space {...this.props} wrap />\n </>\n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport type FlexGridItemProps = TableRowProps;\n\ntype FlexGridItemState = TableRowState;\n\nexport class FlexGridItem extends TableRow<FlexGridItemProps, FlexGridItemState> {\n constructor(props: FlexGridItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n <div\n {...this.props}\n onClick={this.handleRowClick}\n style={this.getStyleMapping()}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n />\n </>\n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GalleryBodyCellProps {}\n\ninterface GalleryBodyCellState {}\n\nexport class GalleryBodyCell extends PureComponent<GalleryBodyCellProps, GalleryBodyCellState> {\n constructor(props: GalleryBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { CommonProps } from \"../../../common/common-props\";\nimport { Row } from \"../../../responsive/row\";\n\nexport interface GalleryBodyWrapperProps {\n style?: any;\n horizontalGutter?: number;\n verticalGutter?: number;\n}\n\ninterface GalleryBodyWrapperState {}\n\ndeclare let window: any;\n\nexport class GalleryBodyWrapper extends PureComponent<GalleryBodyWrapperProps & CommonProps, GalleryBodyWrapperState> {\n constructor(props: GalleryBodyWrapperProps & CommonProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n const node = ReactDOM.findDOMNode(this);\n const parentElement = node?.parentElement;\n if (parentElement && this.props?.horizontalGutter) {\n parentElement.style.overflow = \"auto\";\n }\n }\n\n getProps = () => {\n let props: any = {};\n if (this.props) {\n props = _.clone(this.props);\n }\n if (!props.style) props.style = {};\n\n if (props.horizontalGutter || props.verticalGutter) {\n props.style.gap = `${props.verticalGutter || 0}px ${props.horizontalGutter || 0}px`;\n delete props.horizontalGutter;\n delete props.verticalGutter;\n }\n\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n <Row {...this.getProps()}></Row>\n </>\n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { Col } from \"../../../responsive/col\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport interface GalleryItemProps extends TableRowProps {\n desktopColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n tabletColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n phoneColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n}\n\ntype GalleryItemState = TableRowState;\n\nexport class GalleryItem extends TableRow<GalleryItemProps, GalleryItemState> {\n constructor(props: GalleryItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n calcSpan = () => {\n const result: any = {};\n if (this.props.desktopColumnsCount) {\n result.xl = 24 / this.props.desktopColumnsCount;\n result.lg = 24 / this.props.desktopColumnsCount;\n }\n if (this.props.tabletColumnsCount) {\n result.lg = 24 / this.props.tabletColumnsCount;\n result.md = 24 / this.props.tabletColumnsCount;\n }\n if (this.props.phoneColumnsCount) {\n result.xs = 24 / this.props.phoneColumnsCount;\n }\n return result;\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n <Col\n {...this.calcSpan()}\n onClick={this.handleRowClick}\n {...this.props}\n style={this.getStyleMapping()}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n />\n </>\n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GoogleMapsBodyCellProps {}\n\ninterface GoogleMapsBodyCellState {}\n\nexport class GoogleMapsBodyCell extends PureComponent<GoogleMapsBodyCellProps, GoogleMapsBodyCellState> {\n constructor(props: GoogleMapsBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { Component } from \"react\";\n\nclass AutoComplete extends Component<any, any> {\n autoComplete: any;\n\n searchInput: any;\n\n constructor(props) {\n super(props);\n this.clearSearchBox = this.clearSearchBox.bind(this);\n }\n\n componentDidMount() {\n const { map } = this.props;\n const { maps } = this.props;\n const options = {\n types: [\"address\"]\n };\n this.autoComplete = new maps.places.Autocomplete(this.searchInput, options);\n this.autoComplete.addListener(\"place_changed\", this.onPlaceChanged);\n this.autoComplete.bindTo(\"bounds\", map);\n }\n\n componentWillUnmount() {\n const { maps } = this.props;\n maps.event.clearInstanceListeners(this.searchInput);\n }\n\n onPlaceChanged = ({ map, addplace } = this.props) => {\n const place = this.autoComplete.getPlace();\n if (!place.geometry) return;\n if (place.geometry.viewport) {\n map.fitBounds(place.geometry.viewport);\n } else {\n map.setCenter(place.geometry.location);\n // map.setZoom(17);\n if (this.props.onChangeLocation) {\n this.props.onChangeLocation(place.geometry.location);\n }\n }\n addplace(place);\n if (this.searchInput) {\n this.searchInput.blur();\n }\n };\n\n clearSearchBox() {\n if (this.searchInput) {\n this.searchInput.value = \"\";\n }\n }\n\n getDisplay = () => {\n if (this.props.map !== undefined && this.props.maps !== undefined && this.props.hasSearchBox === true) {\n return {};\n }\n return { display: \"none\" };\n };\n\n render() {\n return (\n <>\n <input\n style={{ position: \"absolute\", zIndex: 999, left: 25, top: 10, ...this.getDisplay() }}\n className=\"form-control marb15\"\n ref={(ref) => {\n this.searchInput = ref;\n }}\n required\n name=\"propertyGPS\"\n type=\"text\"\n onFocus={this.clearSearchBox}\n />\n </>\n );\n }\n}\n\nexport default AutoComplete;\n","import { Drawer, Layout } from \"antd/es\";\nimport GoogleMapReact from \"google-map-react\";\nimport _ from \"lodash\";\nimport supercluster from \"points-cluster\";\nimport React, { CSSProperties, DetailedReactHTMLElement, PureComponent, ReactNode } from \"react\";\nimport { Icon } from \"../../../icon/icon\";\nimport { toCamelCase } from \"../../../kuika-cl-model-runtimes\";\nimport AutoComplete from \"./google-map-search\";\nimport { ICoords, MarkerDetailPosition, MarkerDetailView } from \"./google-maps-item\";\n\ndeclare let google: any;\ndeclare let window: any;\ninterface IMarker {\n label?: string;\n img?: string;\n icon?: string;\n lat: number;\n lng: number;\n}\n\nexport interface GoogleMapsBodyWrapperProps {\n children?: ReactNode;\n value?: ICoords;\n style?: any;\n latitude?: string;\n longitude?: string;\n zoom?: number;\n isPicker?: boolean;\n disableDoubleClickZoom?: boolean;\n fullscreenControl?: boolean;\n streetViewControl?: boolean;\n scaleControl?: boolean;\n zoomControl?: boolean;\n panControl?: boolean;\n rotateControl?: boolean;\n mapTypeControl?: boolean;\n isMarkerPicker?: boolean;\n hasSearchBox?: boolean;\n autoCenter?: boolean;\n onChange?: (isDataMarkerSelected: boolean, value?: ICoords) => void;\n onGoogleApiLoaded?: (map: any, maps: any) => void;\n maps?: any;\n map?: any;\n circleRadius?: number;\n isDataMarkerSelected: boolean;\n dataLatField: string;\n dataLngField: string;\n activeContent?: any;\n clearActiveContent?: () => void;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n designClicked?: boolean;\n groupPickerIcon?: string;\n groupPickerColor?: string;\n currentLocationIcon?: string;\n currentLocationColor?: string;\n onClusterElementClicked: (e, rowValue, rowIndex, markerValue: ICoords) => void;\n}\n\ninterface GoogleMapsBodyWrapperState {\n draggable: boolean;\n latitude?: number;\n longitude?: number;\n radius?: any;\n zoom?: number;\n bounds?: any;\n isGroupPickerDetailsOpen: boolean;\n groupPickerDetails: DetailedReactHTMLElement<any, HTMLElement>[];\n userCoords?: ICoords;\n}\n\nexport class GoogleMapsBodyWrapper extends PureComponent<GoogleMapsBodyWrapperProps, GoogleMapsBodyWrapperState> {\n mapsLayout = React.createRef<HTMLDivElement>();\n\n constructor(props: GoogleMapsBodyWrapperProps) {\n super(props);\n this.state = {\n draggable: true,\n isGroupPickerDetailsOpen: false,\n groupPickerDetails: []\n };\n\n this.setUserCoords();\n }\n\n public static defaultProps = {\n isDataMarkerSelected: false,\n hasSearchBox: true,\n isPicker: true,\n disableDoubleClickZoom: false,\n fullscreenControl: true,\n streetViewControl: true,\n scaleControl: true,\n zoomControl: true,\n panControl: true,\n rotateControl: true,\n mapTypeControl: true,\n autoCenter: false,\n dataLatField: \"lat\",\n dataLngField: \"lng\"\n };\n\n static getDerivedStateFromProps(nextProps: GoogleMapsBodyWrapperProps, prevState: GoogleMapsBodyWrapperState) {\n if (nextProps.autoCenter !== true) {\n return {\n latitude: undefined,\n longitude: undefined\n };\n }\n }\n\n convertToCoordsFieldsFromLatField = (record: any): number | undefined => {\n if (this.props.dataLatField === undefined) return undefined;\n if (this.props.dataLatField !== undefined && record[toCamelCase(this.props.dataLatField)] !== undefined) {\n const latitude = parseFloat(record[toCamelCase(this.props.dataLatField)]);\n return latitude;\n }\n };\n\n convertToCoordsFieldsFromLngField = (record: any): number | undefined => {\n if (this.props.dataLngField === undefined) return undefined;\n if (this.props.dataLngField !== undefined && record[toCamelCase(this.props.dataLngField)] !== undefined) {\n const longitude = parseFloat(record[toCamelCase(this.props.dataLngField)]);\n return longitude;\n }\n };\n\n componentDidMount() {\n if (this.props.latitude !== undefined && this.props.longitude !== undefined) {\n return;\n }\n this.setCenter();\n }\n\n setCenter = () => {\n const formattedValue: ICoords | undefined = this.props.value;\n if (\n formattedValue === undefined ||\n formattedValue.latitude === undefined ||\n formattedValue.longitude === undefined ||\n formattedValue.latitude <= 0 ||\n formattedValue.longitude <= 0\n ) {\n if (navigator && navigator.geolocation) {\n navigator.geolocation.getCurrentPosition((pos) => {\n const { coords } = pos;\n if (coords.latitude && coords.longitude) {\n this.setState({ latitude: coords.latitude, longitude: coords.longitude }, () => {\n if (this.props.onChange) {\n let { value } = this.props;\n if (value === undefined) {\n value = { latitude: coords.latitude, longitude: coords.longitude };\n this.props.onChange(this.props.isDataMarkerSelected, value);\n }\n }\n });\n }\n });\n }\n } else if (this.props.value) {\n this.setState({ latitude: formattedValue.latitude, longitude: formattedValue.longitude });\n }\n };\n\n getCenter = (): IMarker => {\n return { lat: this.getLatitude(), lng: this.getLongitude() } as IMarker;\n };\n\n getLatitude = () => {\n if (this.state.latitude !== undefined) {\n return this.state.latitude;\n }\n if (this.props.latitude !== undefined) {\n // @ts-ignore\n if (!isNaN(this.props.latitude)) return parseFloat(this.props.latitude);\n }\n return 41.0049823;\n };\n\n getLongitude = () => {\n if (this.state.longitude !== undefined) {\n return this.state.longitude;\n }\n if (this.props.longitude !== undefined) {\n // @ts-ignore\n if (!isNaN(this.props.latitude)) return parseFloat(this.props.longitude);\n }\n return 28.7320004;\n };\n\n getZoom = () => {\n if (this.state.zoom !== undefined) {\n return this.state.zoom;\n }\n if (this.props.zoom !== undefined) {\n return this.props.zoom;\n }\n return 11;\n };\n\n /**\n * Calculates distance between 2 coordinates by using **Haversine Formula**\n * @param crd1 First coordinate\n * @param crd2 Second coordinate\n */\n calculateDistance(crd1: IMarker, crd2: IMarker) {\n const EARTH_RADIUS = 6371;\n const dLat = this.deg2Rad(crd1.lat - crd2.lat);\n const dLng = this.deg2Rad(crd1.lng - crd2.lng);\n\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(this.deg2Rad(crd1.lat)) * Math.cos(this.deg2Rad(crd2.lat)) * Math.sin(dLng / 2) * Math.sin(dLng / 2);\n\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\n return EARTH_RADIUS * c;\n }\n\n deg2Rad(dif: number) {\n return dif * (Math.PI / 180);\n }\n\n calculateGroupPickerDrawerWidth() {\n let drawerWidth = 378;\n const { markerDetailWidth } = this.props;\n\n if (markerDetailWidth) {\n drawerWidth = markerDetailWidth > drawerWidth ? markerDetailWidth : drawerWidth;\n if (this.mapsLayout.current) {\n const halfWidthOfMap = this.mapsLayout.current.offsetWidth / 2;\n if (halfWidthOfMap < drawerWidth) {\n drawerWidth = halfWidthOfMap;\n }\n }\n }\n\n return drawerWidth + 32;\n }\n\n handleClickDataMarker = (marker: IMarker) => {\n if (marker && marker.lat && marker.lng) {\n const value = { latitude: marker.lat, longitude: marker.lng } as ICoords;\n this.generateAddress(marker.lat, marker.lng);\n if (this.props.onChange) {\n this.props.onChange(true, value);\n // this.props.onChange(true, value); //Seçili olan item haritada ortalansın.\n }\n }\n };\n\n handleMarkerPickerclick = (marker: IMarker) => {\n if (this.isMarkerMouseOver === false && marker && marker.lat && marker.lng && this.props.isPicker === true) {\n const value = { latitude: marker.lat, longitude: marker.lng } as ICoords;\n this.generateAddress(marker.lat, marker.lng);\n if (this.props.onChange) {\n this.props.onChange(false, value);\n // this.props.onChange(false, value); //Seçili olan yer haritada ortalansın.\n }\n }\n };\n\n handleDrawRadius(gMaps?) {\n const map = gMaps?.map || this.props.map;\n const maps = gMaps?.maps || this.props.maps;\n const circleRadius = this.props.circleRadius;\n\n if (!map || !maps || !circleRadius) return;\n\n if (this.state.radius) this.state.radius.setMap(null);\n\n const radius = new maps.Circle({\n strokeColor: \"rgba(3, 88, 255, 100)\",\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: \"rgba(3, 88, 255, 100)\",\n fillOpacity: 0.3,\n map,\n center: this.getCenter(),\n radius: circleRadius * 1000\n });\n\n this.setState({ radius });\n }\n\n handleGoogleApiLoaded = (map, maps) => {\n if (this.props.onGoogleApiLoaded) {\n this.props.onGoogleApiLoaded(map, maps);\n this.handleDrawRadius({ map, maps });\n }\n };\n\n handleChangeStatus = ({ center, zoom, bounds }) => {\n center.lat = Number(center.lat.toFixed(6));\n center.lng = Number(center.lng.toFixed(6));\n // if (Number(this.getLatitude().toFixed(6)) === center.lat || Number(this.getLongitude().toFixed(6)) === center.lng) {\n // return;\n // }\n this.setState({ latitude: center.lat, longitude: center.lng, zoom, bounds });\n this.handleDrawRadius();\n };\n\n getStyleProp = () => {\n let style: any = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (!style.height) {\n style.height = \"400px\";\n }\n if (!style.width) {\n style.width = \"100%\";\n }\n if ((style.display = \"inline\")) {\n style.display = \"inline-flex\";\n }\n return style;\n };\n\n handleMarkerInteraction = () => {\n this.setState({\n draggable: false\n });\n };\n\n isMarkerMouseOver: boolean = false;\n\n handleMarkerInteractionMouseOver = () => {\n this.isMarkerMouseOver = true;\n };\n\n handleMarkerInteractionMouseOut = () => {\n this.isMarkerMouseOver = false;\n };\n\n selectPlace = (place) => {\n this.handleMarkerPickerclick({\n lat: place.geometry.location.lat(),\n lng: place.geometry.location.lng(),\n formattedAddress: place.formatted_address,\n label: place.name\n } as IMarker);\n };\n\n pickerRender = (value?: ICoords) => {\n if (value !== undefined && value.latitude !== undefined && value.longitude !== undefined) {\n return (\n <div\n style={{ zIndex: 99 }}\n className=\"marker-style\"\n // @ts-ignore\n lat={value.latitude}\n lng={value.longitude}\n ></div>\n );\n }\n return <></>;\n };\n\n getCircleCenterRadius() {\n const { isMarkerPicker, circleRadius } = this.props;\n if (!isMarkerPicker || !circleRadius) return <></>;\n\n const { lat, lng } = this.getCenter();\n return (\n <div\n style={{\n position: \"relative\"\n }}\n // @ts-ignore\n lat={lat}\n lng={lng}\n >\n <span\n style={{\n position: \"absolute\",\n transform: \"translate(-50%, -50%)\",\n width: 8,\n height: 8,\n borderRadius: \"100%\",\n backgroundColor: \"rgba(3, 88, 255, 100)\"\n }}\n ></span>\n </div>\n );\n }\n\n setUserCoords() {\n if (window.kuika?.isDesignTime || !(\"geolocation\" in navigator)) return;\n const that = this;\n navigator.geolocation.getCurrentPosition(\n function ({ coords: { latitude, longitude, accuracy } }) {\n // const userCoords = that.state.userCoords;\n\n // Prevent updating if distance between previous location and new location is less than 1 meter\n // if (userCoords) {\n // if (\n // that.calculateDistance(\n // { lat: latitude, lng: longitude },\n // { lat: userCoords.latitude, lng: userCoords.longitude }\n // ) < 0.001 ||\n // userCoords.accuracy < accuracy\n // )\n // return;\n // }\n\n that.setState({ userCoords: { latitude, longitude, accuracy } });\n },\n () => {},\n { enableHighAccuracy: true, timeout: 5000, maximumAge: 10000 }\n );\n }\n\n getCurrentLocation() {\n const { currentLocationIcon, currentLocationColor } = this.props;\n\n if (window.kuika?.isDesignTime || !currentLocationColor || !this.state.userCoords) return <></>;\n\n const iconStyles: React.CSSProperties = {\n color: currentLocationColor,\n transform: \"translate(-50%, -50%)\"\n };\n let iconElement: JSX.Element;\n\n if (!currentLocationIcon) {\n iconStyles.width = 20;\n iconStyles.height = 20;\n iconStyles.background = currentLocationColor;\n iconStyles.borderRadius = \"100%\";\n\n iconElement = <div style={iconStyles}></div>;\n } else {\n iconElement = <Icon iconName={currentLocationIcon} style={iconStyles} />;\n }\n\n return (\n <div\n // @ts-ignore\n lat={this.state.userCoords.latitude}\n lng={this.state.userCoords.longitude}\n >\n {iconElement}\n </div>\n );\n }\n\n generateAddress(lat, lng) {\n if (!this.props.map || !this.props.maps) {\n return;\n }\n const { maps } = this.props;\n const geocoder = new maps.Geocoder();\n geocoder.geocode({ location: { lat, lng } }, (results, status) => {\n // if (status === \"OK\") {\n // if (results[0]) {\n // // if (this.state.formatted_address !== results[0].formatted_address) {\n // // // this.setState({\n // // // // formatted_address: results[0].formatted_address\n // // // });\n // // }\n // }\n // }\n });\n }\n\n handleCloseGroupPickerDetails() {\n this.setState({ isGroupPickerDetailsOpen: false, groupPickerDetails: [] });\n }\n\n handleOpenGoupPickerDetails(details: DetailedReactHTMLElement<any, HTMLElement>[]) {\n this.setState({ isGroupPickerDetailsOpen: true, groupPickerDetails: details });\n }\n\n handleRenderGroupPickerDetails() {\n if (this.state.groupPickerDetails.length === 0) return undefined;\n\n const firstMarker = React.cloneElement(\n this.state.groupPickerDetails[0],\n this.state.groupPickerDetails[0].props,\n this.state.groupPickerDetails[0].props?.children\n );\n const firstMarkerPopupContent = firstMarker.props\n .rowComponent(firstMarker.props)\n .props.rowPopoverRenderer(undefined, firstMarker.props.record, firstMarker.props.index);\n\n if (!firstMarkerPopupContent?.props?.children?.props?.children) return undefined;\n\n return this.state.groupPickerDetails.map((child: DetailedReactHTMLElement<any, HTMLElement>, i) => {\n const element = React.cloneElement(child, child.props, child.props?.children);\n let record = child?.props?.record;\n\n const latitude = this.convertToCoordsFieldsFromLatField(record);\n const longitude = this.convertToCoordsFieldsFromLngField(record);\n\n const markerValue = { latitude, longitude };\n\n return (\n <div\n style={{\n padding: \"12px 16px\",\n borderTop: i !== 0 ? \"2px solid #ccc\" : undefined\n }}\n onClick={(e) => {\n this.props.onClusterElementClicked(e, record, child?.props?.renderIndex, markerValue);\n }}\n onClickCapture={(e) => {\n this.props.onClusterElementClicked(e, record, child?.props?.renderIndex, markerValue);\n }}\n >\n {element.props\n .rowComponent(element.props)\n .props.rowPopoverRenderer(undefined, element.props.record, element.props.index)}\n </div>\n );\n });\n }\n\n getClusters(markerElements: any[]) {\n const markersData = [];\n for (let i = 0; i < markerElements.length; i++) {\n const markerElement = markerElements[i];\n if (!markerElement.props && markerElement.props?.record) continue;\n\n const lat = this.convertToCoordsFieldsFromLatField(markerElement?.props?.record);\n const lng = this.convertToCoordsFieldsFromLngField(markerElement?.props?.record);\n\n if (!Number.isNaN(lat) && !Number.isNaN(lng) && lat !== null && lng !== null)\n markersData.push({ lat, lng, markerElement });\n }\n\n return supercluster(markersData, { radius: 60 });\n }\n\n getMaps = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n return (\n <>\n <div\n ref={this.mapsLayout}\n onContextMenu={(ev) => {\n ev.preventDefault();\n }}\n style={this.getStyleProp()}\n >\n {this.props.map !== undefined && this.props.maps !== undefined && (\n <div className=\"input-group\">\n <div className=\"input-group-prepend\" style={{ position: \"relative\" }}>\n <AutoComplete\n map={this.props.map}\n maps={this.props.maps}\n addplace={this.selectPlace}\n hasSearchBox={this.props.hasSearchBox}\n onChangeLocation={(location: ICoords) => {\n this.setState({ latitude: location.latitude, longitude: location.longitude, zoom: 17 });\n }}\n />\n </div>\n </div>\n )}\n {isDesignTime === true ? <>{this.getMapForDesignTime()}</> : <>{this.getMapForRunTime()}</>}\n </div>\n </>\n );\n };\n\n getMapForDesignTime = () => {\n return <div className=\"googleMapsMock\">{this.getMapsContent()}</div>;\n };\n\n getMapForRunTime = () => {\n const drawerWidth = this.calculateGroupPickerDrawerWidth();\n const groupPickerDetails = this.handleRenderGroupPickerDetails();\n\n return (\n <Layout style={{ position: \"relative\", overflow: \"hidden\" }}>\n <GoogleMapReact\n yesIWantToUseGoogleMapApiInternals={true}\n layerTypes={[\"TrafficLayer\", \"TransitLayer\"]}\n onGoogleApiLoaded={({ map, maps }) => this.handleGoogleApiLoaded(map, maps)}\n center={this.getCenter()}\n zoom={this.getZoom()}\n bootstrapURLKeys={{\n key: \"AIzaSyCNHrogcR_C-7UqEASxR0-NGsNIrh6z7lE\",\n libraries: [\"places\", \"geometry\"]\n }}\n options={{\n draggableCursor: this.props.isPicker === true ? \"crosshair\" : \"grab\",\n disableDoubleClickZoom: this.props.disableDoubleClickZoom,\n fullscreenControl: this.props.fullscreenControl,\n streetViewControl: this.props.streetViewControl,\n scaleControl: this.props.scaleControl,\n zoomControl: this.props.zoomControl,\n panControl: this.props.panControl,\n rotateControl: this.props.rotateControl,\n mapTypeControl: this.props.mapTypeControl,\n mapTypeControlOptions: {\n // 6 is LEFT_BOTTOM position. In case of undefined, default value is used.\n position: google?.maps?.ControlPosition?.LEFT_BOTTOM ?? 6,\n mapTypeIds: [\"roadmap\", \"satellite\"]\n }\n }}\n draggable={this.state.draggable}\n onChange={this.handleChangeStatus}\n onClick={this.handleMarkerPickerclick}\n >\n {this.getCurrentLocation()}\n {this.getCircleCenterRadius()}\n {this.getMapsContent()}\n </GoogleMapReact>\n {groupPickerDetails && (\n <Drawer\n placement=\"right\"\n getContainer={false}\n open={this.state.isGroupPickerDetailsOpen}\n rootStyle={{ position: \"absolute\" }}\n width={drawerWidth}\n onClose={() => this.handleCloseGroupPickerDetails()}\n >\n <div>{groupPickerDetails}</div>\n </Drawer>\n )}\n </Layout>\n );\n };\n\n getMapsContent = () => {\n const markerElements = this.props.children[1];\n\n if (!markerElements.filter) return <></>;\n\n const centerCoords = this.getCenter();\n const radius = this.props.circleRadius;\n\n const { zoom, latitude, longitude, bounds } = this.state;\n const center = { lat: latitude, lng: longitude };\n\n if (bounds) {\n const clusters = this.getClusters(markerElements);\n\n return clusters({ zoom, bounds, center }).map((item) => {\n if (radius && this.calculateDistance(centerCoords, { lat: item.wy, lng: item.wx }) > radius) return <></>;\n\n if (item.numPoints === 1) {\n return this.renderMapsMarkerChild(item.points[0].markerElement);\n }\n return this.renderGroupPickerChild(item);\n });\n }\n\n return React.Children.map(this.props.children, (child: any, i) => {\n if (child?.props && child?.props?.record) {\n return this.renderMapsMarkerChild(child);\n }\n return <></>;\n });\n };\n\n renderMapsMarkerChild(child) {\n let props = _.clone(child.props);\n props.value = this.props.value;\n let isSelectedMarker: boolean = false;\n let record = child?.props?.record;\n let c: ICoords | undefined = this.props.value;\n\n const lat = this.convertToCoordsFieldsFromLatField(record);\n const lng = this.convertToCoordsFieldsFromLngField(record);\n\n if (record != undefined && c !== undefined && this.props.value && c.latitude === lat && c.longitude === lng) {\n isSelectedMarker = true;\n }\n\n if (!Number.isNaN(lat) && !Number.isNaN(lng) && lat !== null && lng !== null) {\n return (\n <div\n style={{ ...this.getMapsItemStyle(isSelectedMarker) }}\n onMouseOver={this.handleMarkerInteractionMouseOver}\n onMouseOut={this.handleMarkerInteractionMouseOut}\n onClick={() => this.handleClickDataMarker({ lat, lng })}\n onClickCapture={() => this.handleClickDataMarker({ lat, lng })}\n // @ts-ignore\n alt={child.props?.record?.label}\n marker={{ lat, lng }}\n lat={lat}\n lng={lng}\n >\n {React.cloneElement(child, props, child.props.children)}\n </div>\n );\n }\n }\n\n getGroupPickerElement = (cluster, groupPickerIcon, groupPickerColor) => {\n if (groupPickerIcon) {\n return (\n <span\n style={{\n display: \"inline-flex\",\n flexDirection: \"column\",\n color: groupPickerColor,\n transform: \"translate(-50%, -50%)\",\n textAlign: \"center\",\n fontWeight: \"bold\",\n fontSize: 12\n }}\n >\n <Icon iconName={this.props.groupPickerIcon} />\n {cluster.numPoints}\n </span>\n );\n }\n\n const defaultGroupMarkerSVG = (\n <span\n style={{\n position: \"relative\",\n width: 35,\n height: 47,\n display: \"inline-flex\",\n transform: \"translate(-50%, -50%)\"\n }}\n >\n <svg width=\"35\" height=\"47\" viewBox=\"0 0 35 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M14.3483 40.5309L8.21335 31.4229C7.38437 30.1922 6.80231 29.3262 6.42773 28.6429C6.0481 27.9503 5.97348 27.6013 5.98554 27.3875C6.01852 26.8023 6.30654 26.261 6.77348 25.9067C6.94413 25.7772 7.27528 25.6441 8.06179 25.5721C8.8378 25.501 9.88119 25.5 11.3651 25.5L23.6349 25.5C25.1188 25.5 26.1622 25.501 26.9382 25.5721C27.7247 25.6441 28.0559 25.7772 28.2265 25.9067C28.6935 26.261 28.9815 26.8023 29.0145 27.3875C29.0265 27.6013 28.9519 27.9503 28.5723 28.6429C28.1977 29.3262 27.6156 30.1922 26.7866 31.4229L20.6517 40.5309C19.9746 41.5362 19.504 42.2332 19.1014 42.7275C18.7005 43.2199 18.4522 43.4007 18.2626 43.4789C17.7742 43.6804 17.2258 43.6804 16.7374 43.4789C16.5478 43.4007 16.2995 43.2199 15.8986 42.7275C15.496 42.2332 15.0254 41.5362 14.3483 40.5309Z\"\n stroke=\"#FF0000\"\n stroke-width=\"2\"\n />\n <circle cx=\"17.5\" cy=\"17\" r=\"16\" fill=\"#FB8684\" stroke=\"#FF0000\" stroke-width=\"2\" />\n </svg>\n <span\n style={{\n position: \"absolute\",\n top: \"calc(50% - 17px)\",\n width: \"100%\",\n textAlign: \"center\",\n color: \"#fff\",\n fontSize: \"17px\",\n fontWeight: \"bold\"\n }}\n >\n {cluster.numPoints}\n </span>\n </span>\n );\n\n return defaultGroupMarkerSVG;\n };\n\n renderGroupPickerChild(cluster) {\n const { groupPickerColor, groupPickerIcon } = this.props;\n\n return (\n <div\n onClick={() => this.handleOpenGoupPickerDetails(cluster.points.map((point) => point.markerElement))}\n style={{\n cursor: \"pointer\"\n }}\n // @ts-ignore\n lat={cluster.wy}\n lng={cluster.wx}\n >\n {this.getGroupPickerElement(cluster, groupPickerIcon, groupPickerColor)}\n </div>\n );\n }\n\n render(): ReactNode {\n const isDesignTime = window.kuika?.isDesignTime;\n return isDesignTime !== true &&\n (this.props.markerDetailView === MarkerDetailView.SidePanel ||\n this.props.markerDetailView === MarkerDetailView.Drawer) ? (\n <>\n <SidePanel\n content={this.props.activeContent}\n markerDetailView={this.props.markerDetailView}\n markerDetailPosition={this.props.markerDetailPosition}\n markerDetailHeight={this.props.markerDetailHeight}\n markerDetailWidth={this.props.markerDetailWidth}\n designClicked={this.props.designClicked}\n onClose={() => {\n if (this.props.clearActiveContent) {\n this.props.clearActiveContent();\n }\n }}\n >\n {this.getMaps()}\n </SidePanel>\n </>\n ) : (\n this.getMaps()\n );\n }\n\n getMapsItemStyle = (isSelectedMarker: boolean) => {\n const result: any = {};\n result.cursor = \"pointer\";\n result.borderWidth = 0;\n // result.borderStyle = \"solid\";\n // result.borderColor = \"#55931c\";\n result.cursor = \"pointer\";\n result.position = \"absolute\";\n result.zIndex = 99;\n result.boxShadow = isSelectedMarker\n ? \"-1px 3px 8px 5px rgb(255 255 255 / 41%), 2px 5px 16px 0px rgb(125 157 111 / 21%), 2px 1px 30px 11px rgb(255 255 255 / 42%)\"\n : \"\";\n result.borderRadius = \"15px\";\n result.borderStyle = \"solid\";\n if (!window.kuika?.isDesignTime) {\n result.transform = \"translate(-50%, -50%)\";\n }\n // result.backgroundColor = \"white\";\n return result;\n };\n}\n\ninterface SidePanelProps {\n content: any;\n children: any;\n onClose?: () => void;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n designClicked?: boolean;\n}\n\nclass SidePanel extends PureComponent<SidePanelProps> {\n constructor(props: SidePanelProps) {\n super(props);\n }\n\n public static defaultProps = {\n position: MarkerDetailPosition.Bottom\n };\n\n getstyle = (): CSSProperties => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime !== true && this.props.markerDetailView === MarkerDetailView.SidePanel) {\n return { position: \"absolute\" };\n }\n return {};\n };\n\n getPlacement = () => {\n if (this.props.markerDetailPosition === MarkerDetailPosition.Bottom) {\n return \"bottom\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Top) {\n return \"top\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Left) {\n return \"left\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Right) {\n return \"right\";\n }\n\n return \"bottom\";\n };\n\n render = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n return (\n <div\n style={{\n position: \"relative\",\n overflow: \"hidden\",\n textAlign: \"center\",\n background: \"#fafafa\",\n border: \"1px solid #ebedf0\",\n borderRadius: \"2px;\"\n }}\n >\n <div>{this.props.children}</div>\n <Drawer\n placement={this.getPlacement()}\n contentWrapperStyle={{ padding: 15, bottom: 10 }}\n closable={false}\n onClose={() => {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }}\n height={this.props.markerDetailHeight}\n width={this.props.markerDetailWidth}\n open={\n (this.props.content !== undefined && isDesignTime === false) ||\n (this.props.designClicked === true && isDesignTime === true)\n }\n getContainer={false}\n rootStyle={this.getstyle()}\n mask={\n !(\n this.props.markerDetailView === MarkerDetailView.SidePanel ||\n (this.props.designClicked === true && isDesignTime === true)\n )\n }\n >\n {this.props.content}\n </Drawer>\n </div>\n );\n };\n}\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport { ViewMode } from \"../../base-table\";\n\ninterface TableBodyCellProps {\n children?: ReactNode;\n calculatedCellBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedCellFontColor?: (rowIndex?: number, rowData?: any) => string;\n style?: any;\n rowData?: any;\n rowIndex?: number;\n columnIndex: number;\n title: string;\n mode?: ViewMode;\n onCellClick: (e) => void;\n onCellBlur: (e) => void;\n isEditable?: boolean;\n isEditMode?: boolean;\n dataValue?: any;\n editableAlwaysActive?: boolean;\n setResizingColumnIndex?: (index: number) => void;\n resizeListener?: (e: MouseEvent) => void;\n index?: number;\n resizableColumns?: boolean;\n}\ninterface TableBodyCellState {}\n\ndeclare let window: any;\n\nexport class TableBodyCell extends PureComponent<TableBodyCellProps, TableBodyCellState> {\n constructor(props: TableBodyCellProps) {\n super(props);\n }\n\n getStyle = (): React.CSSProperties => {\n let style: React.CSSProperties = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (this.props.calculatedCellBgColor) {\n style.background = this.props.calculatedCellBgColor(this.props.rowIndex, this.props.rowData);\n }\n if (this.props.calculatedCellFontColor) {\n style.color = this.props.calculatedCellFontColor(this.props.rowIndex, this.props.rowData);\n }\n if (\n !style.border &&\n !style.borderColor &&\n !style.borderTop &&\n !style.borderBottom &&\n !style.borderRight &&\n !style.borderLeft &&\n !style.borderWidth\n ) {\n style.borderWidth = 0;\n }\n if (style?.display) {\n delete style.display;\n }\n if (!style?.padding) {\n style.padding = \"0px\";\n }\n if (style.padding && (style?.paddingLeft || style?.paddingRight || style?.paddingTop || style?.paddingBottom)) {\n delete style.padding;\n }\n if (window.kuika.dashboardState === 17 && style.alignItems) {\n style.alignContent = style.alignItems;\n }\n return style;\n };\n\n handleCellClick = (e: any) => {\n if (this.props.onCellClick) {\n this.props.onCellClick(e);\n }\n };\n\n handleCellBlur = (e: any) => {\n if (this.props.onCellBlur) {\n this.props.onCellBlur(e);\n }\n };\n\n filterNodeByKuikaComponentName(node) {\n if (!node || !node.props) {\n return true;\n }\n const { props } = node;\n\n if (props && props.kuikacomponentname != \"Label\") {\n return node;\n }\n\n if (props && props.children) {\n const filteredChildren = React.Children.map(props.children, (child) =>\n this.filterNodeByKuikaComponentName(child)\n );\n\n const hasFilteredChildren = filteredChildren.some((child) => child !== null);\n if (hasFilteredChildren) {\n return {\n ...node,\n props: {\n ...props,\n children: filteredChildren\n }\n };\n }\n }\n\n return null;\n }\n\n componentDidMount(): void {\n if (\n this.props.editableAlwaysActive &&\n window?.editingColumnData &&\n window.editingColumnData.columnIndex !== undefined &&\n window.editingColumnData.columnIndex !== this.props.columnIndex &&\n window.editingColumnData.rowIndex?.toString() === this.props.rowIndex?.toString()\n // &&\n // window.editingColumnData.isKeyDownTriggered\n ) {\n const nextElement = this.getNextElement();\n if (nextElement) {\n let inputElement = nextElement.querySelector(\"input\");\n if (inputElement && document.activeElement !== inputElement) {\n inputElement.focus();\n setTimeout(() => {\n inputElement.focus();\n }, 0);\n }\n }\n }\n }\n\n getNextElement = () => {\n let activeElement = window.document.querySelector(\n `[columnindex=\"${window?.editingColumnData?.columnIndex}\"][rowindex=\"${window?.editingColumnData?.rowIndex}\"]`\n );\n return activeElement;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n props.tableTitle = this.props.title;\n props.dataValue = this.props.dataValue;\n props.title = \"\";\n const screenWidth = window.innerWidth;\n if (this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024) {\n delete props.children;\n }\n return props;\n };\n\n render(): ReactNode {\n const screenWidth = window.innerWidth;\n if (this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024) {\n return (\n <td\n onClickCapture={this.handleCellClick}\n {...this.getProps()}\n style={this.getStyle()}\n onBlur={this.handleCellBlur}\n >\n <div\n className=\"resizeHandle\"\n onMouseDown={() => {\n this.props.setResizingColumnIndex(this.props.index);\n window.addEventListener(\"mousemove\", this.props.resizeListener, { passive: true });\n }}\n />\n {this.props.children}\n </td>\n );\n }\n return (\n <td\n onClickCapture={this.handleCellClick}\n {...this.getProps()}\n style={this.getStyle()}\n onBlur={this.handleCellBlur}\n />\n );\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableBodyWrapperProps {\n style?: any;\n}\n\ninterface TableBodyWrapperState {}\n\nexport class TableBodyWrapper extends PureComponent<TableBodyWrapperProps, TableBodyWrapperState> {\n constructor(props: TableBodyWrapperProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return <tbody {...this.getProps()} />;\n }\n}\n","import { Switch } from \"antd/es\";\nimport { useState } from \"react\";\n\nconst TriStateSwitch = ({ value, onChange, language, source }) => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const toggleState = (e) => {\n if (e && e.stopPropagation) e.stopPropagation();\n const newValue = currentValue === null ? true : currentValue === true ? false : null;\n setCurrentValue(newValue);\n onChange(newValue);\n };\n\n const getLabel = () => {\n if (currentValue === null) return language === \"tr_TR\" ? \"İnaktif\" : \"Inactive\";\n return currentValue ? (language === \"tr_TR\" ? \"Evet\" : \"Yes\") : language === \"tr_TR\" ? \"Hayır\" : \"No\";\n };\n\n return (\n <div\n onClick={toggleState}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n cursor: \"pointer\",\n marginBottom: 8,\n position: source === \"TableHeaderCell\" ? \"absolute\" : \"relative\",\n bottom: source === \"TableHeaderCell\" ? 0 : undefined\n }}\n >\n <Switch checked={currentValue === true} checkedChildren={getLabel()} unCheckedChildren={getLabel()} />\n </div>\n );\n};\n\nexport default TriStateSwitch;\n","import { Button, Input, InputNumber, Select } from \"antd/es\";\nimport { useEffect, useState } from \"react\";\nimport { BooleanFilterTypes, DateFilterTypes, NumberFilterTypes, StringFilterTypes, ValueType } from \"./base-table\";\nimport TriStateSwitch from \"./tri-state-switch\";\n\nconst { Option } = Select;\n\ndeclare let window: any;\n\nconst CustomFilterDropdown = ({\n selectedKeys,\n setSelectedKeys,\n confirm,\n clearFilters,\n dataType,\n visible,\n initialFilters,\n columnId\n}) => {\n const [searchType, setSearchType] = useState<\n StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes\n >(\n dataType === ValueType.String\n ? StringFilterTypes.Contains\n : ValueType.Number\n ? NumberFilterTypes.Equals\n : DateFilterTypes.Equals\n );\n const [searchValue, setSearchValue] = useState<string>(selectedKeys?.value);\n const [searchValue2, setSearchValue2] = useState<string>(selectedKeys?.value2);\n\n const language = localStorage.getItem(\"ml\");\n\n const isString = (value: StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === StringFilterTypes.Contains ||\n value === StringFilterTypes.DoesNotContain ||\n value === StringFilterTypes.Equals ||\n value === StringFilterTypes.DoesNotEqual ||\n value === StringFilterTypes.BeginsWith ||\n value === StringFilterTypes.EndsWith ||\n value === StringFilterTypes.Blank ||\n value === StringFilterTypes.NotBlank\n ) {\n return true;\n }\n return false;\n };\n\n const isNumber = (value: NumberFilterTypes | StringFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === NumberFilterTypes.Equals ||\n value === NumberFilterTypes.DoesNotEqual ||\n value === NumberFilterTypes.GreaterThan ||\n value === NumberFilterTypes.GreaterThanOrEqual ||\n value === NumberFilterTypes.LessThan ||\n value === NumberFilterTypes.LessThanOrEqual ||\n value === NumberFilterTypes.Blank ||\n value === NumberFilterTypes.NotBlank ||\n value === NumberFilterTypes.Between\n ) {\n return true;\n }\n return false;\n };\n\n const isDate = (value: DateFilterTypes | StringFilterTypes | NumberFilterTypes | BooleanFilterTypes) => {\n if (\n value === DateFilterTypes.After ||\n value === DateFilterTypes.Before ||\n value === DateFilterTypes.Between ||\n value === DateFilterTypes.Equals ||\n value === DateFilterTypes.DoesNotEqual ||\n value === DateFilterTypes.Blank ||\n value === DateFilterTypes.NotBlank\n ) {\n return true;\n }\n return false;\n };\n\n const isBoolean = (value: StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === BooleanFilterTypes.Equals ||\n value === BooleanFilterTypes.DoesNotEqual ||\n value === BooleanFilterTypes.Blank ||\n value === BooleanFilterTypes.NotBlank\n ) {\n return true;\n }\n if (dataType === ValueType.Boolean) {\n return true;\n }\n return false;\n };\n\n useEffect(() => {\n if (visible) {\n const searchType = findDataType(dataType);\n const currentType = selectedKeys?.type ?? searchType;\n setSearchType(currentType);\n setSelectedKeys({ ...selectedKeys, type: currentType, columnId });\n }\n }, [visible]);\n\n useEffect(() => {\n if (initialFilters && initialFilters.value && initialFilters.type && initialFilters.value !== searchValue) {\n const searchType = findDataType(dataType);\n setSearchType(searchType);\n setSelectedKeys({ ...selectedKeys, value: initialFilters.value, type: initialFilters.type, columnId });\n setSearchValue(initialFilters.value);\n confirm();\n }\n }, []);\n\n const findDataType = (value: string) => {\n if (value === ValueType.Boolean) {\n return BooleanFilterTypes.Equals;\n }\n if (value === ValueType.String) {\n return StringFilterTypes.Contains;\n }\n if (value === ValueType.Number) {\n return NumberFilterTypes.Equals;\n }\n if (value === ValueType.Date) {\n return DateFilterTypes.Equals;\n }\n return StringFilterTypes.Contains;\n };\n\n const handleSearch = () => {\n confirm();\n };\n\n const handleReset = () => {\n setSelectedKeys(\"\");\n const searchType = findDataType(dataType);\n setSearchType(searchType);\n setSearchValue(\"\");\n clearFilters();\n confirm();\n };\n\n const handleSearchValueChange = (e, secondValue?: boolean) => {\n if (secondValue) {\n setSearchValue2(e.target ? e.target.value : e);\n setSelectedKeys({\n value: searchValue,\n value2: e.target ? e.target.value : e,\n type: searchType,\n columnId\n });\n return;\n }\n setSearchValue(e.target ? e.target.value : e);\n setSelectedKeys({ value: e.target ? e.target.value : e, type: searchType, columnId });\n };\n\n const isBlank =\n searchType === StringFilterTypes.Blank ||\n searchType === NumberFilterTypes.Blank ||\n searchType === DateFilterTypes.Blank ||\n searchType === BooleanFilterTypes.Blank;\n const isNotBlank =\n searchType === StringFilterTypes.NotBlank ||\n searchType === NumberFilterTypes.NotBlank ||\n searchType === DateFilterTypes.NotBlank ||\n searchType === BooleanFilterTypes.NotBlank;\n const isStringDataType = dataType === ValueType.String || !dataType;\n const isDesignTime = window.kuika.isDesignTime;\n\n return (\n <div style={{ padding: 8 }}>\n <Select\n value={searchType}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n onChange={(value) => {\n setSearchType(value);\n setSelectedKeys({ value: searchValue, type: value, columnId });\n }}\n >\n {isStringDataType && (\n <Option value={StringFilterTypes.Contains}>{language === \"tr_TR\" ? \"İçerir\" : \"Contains\"}</Option>\n )}\n {isStringDataType && (\n <Option value={StringFilterTypes.DoesNotContain}>\n {language === \"tr_TR\" ? \"İçermez\" : \"Does Not Contain\"}\n </Option>\n )}\n {isStringDataType && (\n <Option value={StringFilterTypes.Equals}>{language === \"tr_TR\" ? \"Eşittir\" : \"Equals\"}</Option>\n )}\n {isStringDataType && (\n <Option value={StringFilterTypes.DoesNotEqual}>\n {language === \"tr_TR\" ? \"Eşit Değildir\" : \"Does Not Equal\"}\n </Option>\n )}\n {isStringDataType && (\n <Option value={StringFilterTypes.BeginsWith}>{language === \"tr_TR\" ? \"Başlar\" : \"Begins With\"}</Option>\n )}\n {isStringDataType && (\n <Option value={StringFilterTypes.EndsWith}>{language === \"tr_TR\" ? \"Biter\" : \"Ends With\"}</Option>\n )}\n {isStringDataType && <Option value={StringFilterTypes.Blank}>{language === \"tr_TR\" ? \"Boş\" : \"Blank\"}</Option>}\n {isStringDataType && (\n <Option value={StringFilterTypes.NotBlank}>{language === \"tr_TR\" ? \"Boş Değildir\" : \"Not Blank\"}</Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.Equals}>{language === \"tr_TR\" ? \"Eşittir\" : \"Equals\"}</Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.DoesNotEqual}>\n {language === \"tr_TR\" ? \"Eşit Değildir\" : \"Does Not Equal\"}\n </Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.GreaterThan}>{language === \"tr_TR\" ? \"Büyüktür\" : \"Greater Than\"}</Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.GreaterThanOrEqual}>\n {language === \"tr_TR\" ? \"Büyük Eşittir\" : \"Greater Than or Equal\"}\n </Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.LessThan}>{language === \"tr_TR\" ? \"Küçüktür\" : \"Less Than\"}</Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.LessThanOrEqual}>\n {language === \"tr_TR\" ? \"Küçük Eşittir\" : \"Less Than or Equal\"}\n </Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.Blank}>{language === \"tr_TR\" ? \"Boş\" : \"Blank\"}</Option>\n )}\n {dataType === ValueType.Number && (\n <Option value={NumberFilterTypes.NotBlank}>{language === \"tr_TR\" ? \"Boş Değildir\" : \"Not Blank\"}</Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.After}>{language === \"tr_TR\" ? \"Tarihinden Sonra\" : \"After Date\"}</Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.Before}>{language === \"tr_TR\" ? \"Tarihinden Önce\" : \"Before Date\"}</Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.Between}>\n {language === \"tr_TR\" ? \"Tarihleri Arasında\" : \"Between Dates\"}\n </Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.Equals}>{language === \"tr_TR\" ? \"Eşittir\" : \"Equals\"}</Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.DoesNotEqual}>\n {language === \"tr_TR\" ? \"Eşit Değildir\" : \"Does Not Equal\"}\n </Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.Blank}>{language === \"tr_TR\" ? \"Boş\" : \"Blank\"}</Option>\n )}\n {dataType === ValueType.Date && (\n <Option value={DateFilterTypes.NotBlank}>{language === \"tr_TR\" ? \"Boş Değildir\" : \"Not Blank\"}</Option>\n )}\n {dataType === ValueType.Boolean && (\n <Option value={BooleanFilterTypes.Equals}>{language === \"tr_TR\" ? \"Eşittir\" : \"Equals\"}</Option>\n )}\n {dataType === ValueType.Boolean && (\n <Option value={BooleanFilterTypes.DoesNotEqual}>\n {language === \"tr_TR\" ? \"Eşit Değildir\" : \"Does Not Equal\"}\n </Option>\n )}\n {dataType === ValueType.Boolean && (\n <Option value={BooleanFilterTypes.Blank}>{language === \"tr_TR\" ? \"Boş\" : \"Blank\"}</Option>\n )}\n {dataType === ValueType.Boolean && (\n <Option value={BooleanFilterTypes.NotBlank}>{language === \"tr_TR\" ? \"Boş Değildir\" : \"Not Blank\"}</Option>\n )}\n {/* <Option value={DateFilterTypes.Between}>Between Dates</Option> */}\n </Select>\n {isString(searchType) && !isBlank && !isNotBlank && (\n <Input\n placeholder={language === \"tr_TR\" ? \"Filtrele...\" : \"Filter...\"}\n value={searchValue}\n onChange={(e) => handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {isNumber(searchType) && !isBlank && !isNotBlank && (\n <InputNumber\n placeholder={language === \"tr_TR\" ? \"Filtrele...\" : \"Filter...\"}\n value={searchValue}\n onChange={(e) => handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {isDate(searchType) && !isBlank && !isNotBlank && (\n <Input\n type=\"date\"\n placeholder={language === \"tr_TR\" ? \"Filtrele...\" : \"Filter...\"}\n value={searchValue}\n onChange={(e) => handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {searchType === DateFilterTypes.Between && (\n <Input\n type=\"date\"\n placeholder={language === \"tr_TR\" ? \"Filtrele...\" : \"Filter...\"}\n value={searchValue2}\n onChange={(e) => handleSearchValueChange(e, true)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n />\n )}\n {isBoolean(searchType) && !isBlank && !isNotBlank && (\n <TriStateSwitch\n value={searchValue || null}\n onChange={(value) => {\n setSearchValue(value);\n setSelectedKeys({ value, type: searchType, columnId });\n }}\n language={language}\n source={\"FilterDropdown\"}\n />\n )}\n\n <Button type=\"primary\" onClick={handleSearch} size=\"small\" style={{ width: 90, marginRight: 8 }}>\n {language === \"tr_TR\" ? \"Filtrele\" : \"Filter\"}\n </Button>\n <Button onClick={handleReset} size=\"small\" style={{ width: 90 }}>\n {language === \"tr_TR\" ? \"Sıfırla\" : \"Reset\"}\n </Button>\n </div>\n );\n};\n\nexport default CustomFilterDropdown;\n","import { SearchOutlined } from \"@ant-design/icons\";\nimport { Input } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ValueType } from \"../base-table\";\nimport TriStateSwitch from \"../tri-state-switch\";\n\ninterface TableHeaderCellProps {\n style?: any;\n columnStyle?: any;\n textDirection?: string;\n columnSearchText?: string;\n setColumnSearchText?: (key, value) => void;\n title?: string;\n children?: any;\n searchable?: boolean;\n type?: ValueType;\n dataValue?: string;\n resizeListener?: (e: MouseEvent) => void;\n setResizingColumnIndex?: (index: number) => void;\n resizableColumns?: boolean;\n isSearchHidden?: boolean;\n className?: string;\n isFilteringHidden?: boolean;\n isSortingHidden?: boolean;\n tableFiltering?: boolean;\n index?: number;\n onHeaderSearchBlur?: () => void;\n}\n\ninterface TableHeaderCellState {\n searchValue: string;\n}\n\ndeclare let window: any;\n\nexport class TableHeaderCell extends PureComponent<TableHeaderCellProps, TableHeaderCellState> {\n debouncedSetSearchText: (value: string) => void;\n\n constructor(props: TableHeaderCellProps) {\n super(props);\n this.state = {\n searchValue: \"\"\n };\n this.debouncedSetSearchText = _.debounce(this.setSearchText.bind(this), 200);\n }\n\n getStyle = (): any => {\n let style: any = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (\n !style.border &&\n !style.borderColor &&\n !style.borderTop &&\n !style.borderBottom &&\n !style.borderRight &&\n !style.borderLeft &&\n !style.borderWidth\n ) {\n style.borderWidth = 0;\n }\n if (!style.backgroundColor && !style.background) {\n style.backgroundColor = \"transparent\";\n }\n if (this.props.columnStyle && this.props.columnStyle.textAlign) {\n style.textAlign = this.props.columnStyle.textAlign;\n }\n if (this.props.textDirection && this.props.textDirection !== \"Default\") {\n if (style.textAlign === \"-webkit-left\") {\n style.verticalAlign = this.props.textDirection === \"Rotate Up\" ? \"bottom\" : \"top\";\n } else if (style.textAlign === \"-webkit-right\") {\n style.verticalAlign = this.props.textDirection === \"Rotate Up\" ? \"top\" : \"bottom\";\n } else {\n style.verticalAlign = \"middle\";\n }\n style.textAlign = \"-webkit-center\";\n }\n if (this.props.columnStyle && this.props.columnStyle.padding) {\n style.paddingLeft = this.props.columnStyle.padding;\n style.paddingRight = this.props.columnStyle.padding;\n }\n if (this.props.columnStyle && this.props.columnStyle.paddingLeft) {\n style.paddingLeft = this.props.columnStyle.paddingLeft;\n }\n if (this.props.columnStyle && this.props.columnStyle.paddingRight) {\n style.paddingRight = this.props.columnStyle.paddingRight;\n }\n if (style?.display) {\n delete style.display;\n }\n return style;\n };\n\n componentDidMount(): void {\n const { columnSearchText, dataValue, type } = this.props;\n if (columnSearchText && columnSearchText[dataValue] && dataValue) {\n this.setState({ searchValue: columnSearchText[dataValue] });\n if (window.kuika.columnSearchChanged === dataValue) {\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const input: any = tableHeader.querySelector(\"input\");\n if (input) {\n setTimeout(() => {\n input.focus();\n window.kuika.columnSearchChanged = null;\n }, 0);\n }\n }\n } else if (\n dataValue &&\n columnSearchText &&\n type === ValueType.Boolean &&\n (columnSearchText[dataValue] === null ||\n columnSearchText[dataValue] === false ||\n columnSearchText[dataValue] === true ||\n columnSearchText[dataValue] === \"false\" ||\n columnSearchText[dataValue] === \"true\")\n ) {\n this.setState({ searchValue: columnSearchText[dataValue] });\n }\n\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const { style } = this.props;\n if (!tableHeader) return;\n const antTableFilterTrigger = tableHeader.querySelector(\".ant-table-filter-trigger\");\n const antTableColumnSorter = tableHeader.querySelector(\".ant-table-column-sorter\");\n if (style.color) {\n if (antTableFilterTrigger) {\n antTableFilterTrigger.setAttribute(\"style\", `color: ${style.color}`);\n }\n if (antTableColumnSorter) {\n antTableColumnSorter.setAttribute(\"style\", `color: ${style.color}`);\n }\n }\n }\n\n setSearchText(value: string) {\n const { setColumnSearchText, dataValue } = this.props;\n if (setColumnSearchText && dataValue) {\n setColumnSearchText(dataValue, value);\n }\n window.kuika.columnSearchChanged = dataValue;\n }\n\n handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const value = e.target.value;\n this.setState({ searchValue: value }, () => {\n if (value?.length > 2 || value === \"\" || value === null || value === undefined) {\n this.debouncedSetSearchText(value);\n }\n });\n };\n\n handleSearchBlur = () => {\n const { setColumnSearchText, dataValue } = this.props;\n if (setColumnSearchText && dataValue) {\n setColumnSearchText(dataValue, this.state.searchValue);\n }\n if (this.props.onHeaderSearchBlur) this.props.onHeaderSearchBlur();\n };\n\n renderInput = () => {\n const { type, columnSearchText, dataValue } = this.props;\n const language = localStorage.getItem(\"ml\");\n const { searchValue } = this.state;\n\n const isDesignTime = window.kuika.isDesignTime;\n\n const inputType = type === ValueType.Number ? \"number\" : type === ValueType.Date ? \"date\" : \"text\";\n if (type === ValueType.Boolean) {\n return (\n <TriStateSwitch\n value={columnSearchText[dataValue] === true ? true : columnSearchText[dataValue] === false ? false : null}\n onChange={(value) => {\n this.setState({ searchValue: value }, () => {\n this.handleSearchBlur();\n if (this.props.onHeaderSearchBlur) this.props.onHeaderSearchBlur();\n });\n }}\n language={language}\n source={\"TableHeaderCell\"}\n />\n );\n }\n return (\n <Input\n type={inputType}\n placeholder={language === \"tr_TR\" ? \"Ara...\" : \"Search...\"}\n value={searchValue}\n onClick={(e) => e.stopPropagation()}\n onChange={this.handleSearchChange}\n onBlur={this.handleSearchBlur}\n onPressEnter={(e) => {\n e.stopPropagation();\n this.handleSearchBlur();\n }}\n suffix={\n <SearchOutlined\n onClick={(e) => {\n e.stopPropagation();\n this.handleSearchBlur();\n }}\n />\n }\n readOnly={isDesignTime}\n />\n );\n };\n\n getProps = (): any => {\n const props = _.clone(this.props);\n let className = props.className;\n if (props.isSearchHidden) {\n className = `${className} hidden-search`;\n }\n if (props.isSortingHidden && !props.isFilteringHidden && !props.isSearchHidden) {\n className = `${className} hidden-sorting`;\n }\n if (props.isFilteringHidden && !props.isSortingHidden && !props.isSearchHidden && props.tableFiltering) {\n className = `${className} hidden-filtering`;\n }\n if (props.isSortingHidden && props.isSearchHidden && !props.isFilteringHidden) {\n className = `${className} hidden-filtering`;\n }\n return {\n ...props,\n className\n };\n };\n\n render(): ReactNode {\n const hasSearchable = this.props.dataValue || typeof this.props.children[1] === \"object\";\n const screenWidth = window.innerWidth;\n return (\n <th {...this.getProps()} style={this.getStyle()}>\n {this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024 && (\n <div\n className=\"resizeHandle\"\n onMouseDown={() => {\n this.props.setResizingColumnIndex(this.props.index);\n window.addEventListener(\"mousemove\", this.props.resizeListener, { passive: true });\n }}\n />\n )}\n {...this.props.children}\n {this.props.title &&\n this.props.title !== \"\" &&\n this.props.searchable &&\n hasSearchable &&\n !this.props.isSearchHidden &&\n this.renderInput()}\n </th>\n );\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableHeaderRowProps {\n style?: any;\n}\n\ninterface TableHeaderRowState {}\n\nexport class TableHeaderRow extends PureComponent<TableHeaderRowProps, TableHeaderRowState> {\n constructor(props: TableHeaderRowProps) {\n super(props);\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return <tr {...this.getProps()} />;\n }\n}\n","import _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\n\ninterface RefreshDelegateProps {\n Component: React.ElementType;\n setRefreshDelegate: (refreshMethod: (nextProps?: any, callBack?: any) => void) => void;\n}\n\nexport class RefreshDelegate extends PureComponent<RefreshDelegateProps, any> {\n constructor(props: any) {\n super(props);\n }\n\n refresh = (nextProps?: any, callBack?: any) => {\n this.setState(nextProps, () => {\n if (callBack) callBack();\n });\n };\n\n componentDidMount = () => {\n if (this.props.setRefreshDelegate) {\n this.props.setRefreshDelegate(this.refresh);\n }\n };\n\n getProps = () => {\n let props: any = {};\n if (this.props) {\n props = _.clone(this.props);\n }\n if (props.Component) {\n delete props.Component;\n }\n return props;\n };\n\n render = () => {\n const { Component } = this.props;\n return <Component {...this.getProps()} {...this.state}></Component>;\n };\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface CarouselViewWrapperProps {\n style?: any;\n}\n\ninterface CarouselViewWrapperState {}\n\nexport class CarouselViewWrapper extends PureComponent<CarouselViewWrapperProps, CarouselViewWrapperState> {\n constructor(props: CarouselViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface FlexGridViewWrapperProps {\n style?: any;\n}\n\ninterface FlexGridViewWrapperState {}\n\nexport class FlexGridViewWrapper extends PureComponent<FlexGridViewWrapperProps, FlexGridViewWrapperState> {\n constructor(props: FlexGridViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GalleryViewWrapperProps {\n style?: any;\n}\n\ninterface GalleryViewWrapperState {}\n\nexport class GalleryViewWrapper extends PureComponent<GalleryViewWrapperProps, GalleryViewWrapperState> {\n constructor(props: GalleryViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return <div {...this.props} />;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GoogleMapsViewWrapperProps {\n style?: any;\n}\n\ninterface GoogleMapsViewWrapperState {}\n\nexport class GoogleMapsViewWrapper extends PureComponent<GoogleMapsViewWrapperProps, GoogleMapsViewWrapperState> {\n constructor(props: GoogleMapsViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return <div {...this.props} style={{ ...this.props.style, height: undefined }} />;\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableViewWrapperProps {\n style?: any;\n scrollable?: boolean;\n}\n\ninterface TableViewWrapperState {}\n\nexport class TableViewWrapper extends PureComponent<TableViewWrapperProps, TableViewWrapperState> {\n constructor(props: TableViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n getStyle = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n result.borderCollapse = \"collapse\";\n if (result?.display) {\n delete result.display;\n }\n if (this.props.scrollable) {\n result.minWidth = \"max-content\";\n }\n result.height = \"100%\";\n return result;\n };\n\n render(): ReactNode {\n return <table {...this.props} style={this.getStyle()} />;\n }\n}\n","import withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { BaseTable, ITableProps } from \"./base-table\";\nimport { CarouselBodyWrapperProps } from \"./body/carousel/carousel-body-wrapper\";\nimport { CarouselItemProps } from \"./body/carousel/carousel-item\";\n\nclass Carousel extends BaseTable<CarouselItemProps & CarouselBodyWrapperProps, any> {\n constructor(props: ITableProps & CarouselItemProps & CarouselBodyWrapperProps) {\n super(props);\n }\n\n public static defaultProps = {\n mode: \"carousel\",\n showHeader: false,\n designClicked: false\n };\n}\n\nconst carousel = withCommonEvents(Carousel);\nexport { carousel as Carousel };\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ninterface TableHeaderProps {\n style?: any;\n writingMode?: \"horizontal\" | \"vertical\";\n columnTitles?: string;\n id?: string;\n hideOnMobileResolution?: boolean;\n wrapperClassname?: string;\n transformedOnMobileResolution?: boolean;\n}\n\ninterface TableHeaderState {\n uniqueKey?: Guid;\n}\n\nexport class TableHeader extends PureComponent<TableHeaderProps, TableHeaderState> {\n constructor(props: TableHeaderProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount(): void {\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const table = tableHeader?.parentElement;\n if (table && this.props.hideOnMobileResolution === true) {\n table.classList.add(\"ktableheader_without-title\");\n }\n if (this.props.transformedOnMobileResolution === true) {\n this.setDynamicStyle();\n }\n }\n\n getDynamicCss = (): string => {\n const className: string = this.props.wrapperClassname;\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const {\n fontSize,\n fontWeight,\n lineHeight,\n color,\n backgroundColor,\n fontFamily,\n textDecoration,\n textTransform,\n fontStyle,\n letterSpacing\n } = this.props.style;\n\n if (\n fontSize ||\n fontWeight ||\n lineHeight ||\n color ||\n backgroundColor ||\n fontFamily ||\n textDecoration ||\n textTransform ||\n fontStyle ||\n letterSpacing\n ) {\n result += `${className} td::before {\n ${fontSize ? `font-size: ${fontSize};` : \"\"}\n ${fontWeight ? `font-weight: ${fontWeight};` : \"\"}\n ${lineHeight ? `line-height: ${lineHeight};` : \"\"}\n ${color ? `color: ${color};` : \"\"}\n ${backgroundColor ? `background-color: ${backgroundColor};` : \"\"}\n ${fontFamily ? `font-family: ${fontFamily};` : \"\"}\n ${textDecoration ? `text-decoration: ${textDecoration};` : \"\"}\n ${textTransform ? `text-transform: ${textTransform};` : \"\"}\n ${fontStyle ? `font-style: ${fontStyle};` : \"\"}\n ${letterSpacing ? `letter-spacing: ${letterSpacing};` : \"\"}\n }`;\n }\n\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return <thead {...this.getProps()}></thead>;\n }\n}\n","import withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { BaseTable, ITableProps as TableProps, ITableState as TableState } from \"./base-table\";\n\nclass Table extends BaseTable<TableProps & CommonProps, TableState> {\n constructor(props: TableProps & CommonProps) {\n super(props);\n }\n\n public static defaultProps = {\n mode: \"table\",\n showHeader: true,\n designClicked: false\n };\n}\n\nconst table = withCommonEvents(Table);\nexport { table as Table };\n","import { Input } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode, TextareaHTMLAttributes } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface TextAreaProps extends TextareaHTMLAttributes<any> {\n value?: string;\n allowClear?: boolean;\n autoSize?: boolean;\n showCount?: boolean;\n formatter: \"None\" | \"Lowercase\" | \"Uppercase\";\n readOnly?: boolean;\n maxLength?: number;\n}\n\ninterface TextAreaState {\n uniqueKey: Guid;\n}\n\ndeclare let window: Window & { kuika: any };\n\nclass TextArea extends PureComponent<TextAreaProps & CommonProps, TextAreaState> {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: TextAreaProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount() {\n this.setDynamicStyle();\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (props.formatter === \"None\") {\n style.textTransform = \"none\";\n props.value = props.value;\n } else if (props.formatter === \"Uppercase\") {\n style.textTransform = \"uppercase\";\n props.value = props.value ? props.value.toString().toLocaleUpperCase(\"TR\") : undefined;\n } else if (props.formatter === \"Lowercase\") {\n style.textTransform = \"lowercase\";\n props.value = props.value = props.value ? props.value.toString().toLocaleLowerCase(\"TR\") : undefined;\n }\n\n if (props?.value?.toString && props.maxLength) {\n props.value = props.value.toString().substring(0, props.maxLength);\n }\n\n if (props.readOnly) {\n props.readOnly = true;\n } else {\n delete props.readOnly;\n }\n\n props.style = style;\n\n return props;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} ktextarea_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { showCount } = this.props;\n if (showCount) {\n result += `.${className.trim()} {\n text-align: -webkit-right !important;\n }`;\n\n result += `.${className.trim()} .ant-input-data-count {\n float: none !important;\n }`;\n }\n\n if ((this.props.allowClear || this.props.showCount) && this.props.style?.height) {\n result += `.${className.trim()} {\n ${this.props.style?.height && `height: calc(100% - 24px) !important`};\n }`;\n result += `.${className.trim()} textarea.ant-input {\n height: calc(100% - 24px) !important;\n }`;\n }\n return result;\n };\n\n render(): ReactNode {\n return (\n <>\n <Input.TextArea {...this.getProps()} className={this.getClassName()} />\n </>\n );\n }\n}\n\nconst textArea = withCommonEvents(TextArea);\nexport { textArea as TextArea };\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactPlayer, { ReactPlayerProps } from \"react-player\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\ninterface VideoProps extends ReactPlayerProps {\n onClick?: () => void;\n}\n\ninterface VideoState {}\n\nclass Video extends PureComponent<VideoProps & CommonProps, VideoState> {\n constructor(props: VideoProps) {\n super(props);\n this.state = {};\n }\n\n handleClick = () => {\n if (this.props.onClick) {\n this.props.onClick();\n }\n };\n\n getProps = () => {\n const props: VideoProps = _.cloneDeep(this.props);\n const style: any = _.cloneDeep(this.props.style);\n const isVimeo = typeof props.url === \"string\" && props.url?.includes(\"vimeo\");\n if (style.width) {\n props.width = Number(style.width.toString().replace(\"px\", \"\"));\n delete style.width;\n }\n if (style.height) {\n props.height = Number(style.height.toString().replace(\"px\", \"\"));\n delete style.height;\n }\n if (isVimeo) {\n props.controls = true;\n }\n style.display = \"block\";\n props.style = style;\n return props;\n };\n\n getMockStyle = () => {\n let style: any = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n style.width = this.props.style?.width\n ? this.props.style?.width === \"100px\"\n ? \"100%\"\n : this.props.style.width\n : \"100%\";\n style.height = this.props.style?.height ?? \"200px\";\n return style;\n };\n\n render(): ReactNode {\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime === true) {\n return (\n <div\n style={{\n paddingLeft: `${this.props.style?.paddingLeft}px`,\n paddingRight: `${this.props.style?.paddingRight}px`,\n paddingTop: `${this.props.style?.paddingTop}px`,\n paddingBottom: `${this.props.style?.paddingBottom}px`\n }}\n >\n <div style={{ ...this.getMockStyle() }} className=\"videoMock\"></div>\n </div>\n );\n }\n return (\n <>\n <ReactPlayer onClickPreview={this.handleClick} {...this.getProps()} />\n </>\n );\n }\n}\n\nconst video = withCommonEvents(Video);\nexport { video as Video };\n","export enum DashboardState {\n design = 1,\n locked = 5,\n readOnly = 6,\n dataDiagramScheme = 9,\n workFlow = 11,\n configManager = 12,\n notificationTemplate = 13,\n scheduledJobs = 14,\n apiManagement = 15,\n zendesk = 16,\n reportDesigner = 17,\n runSettings = 18\n}\n\nexport const toCamelCase = (str: string): string => {\n if (!str) return \"\";\n return str.charAt(0).toLowerCase() + str.substr(1);\n};\n\nexport interface IGoogleMapsValue {\n latitude: number;\n longitude: number;\n}\n\ninterface IPropertyChangedMessage {\n propertyName: string;\n value: any;\n kuikaId: string;\n shouldClosePropertyExpand?: boolean;\n}\n\nenum FrameMessageType {\n selectItemMessage = 4,\n cloneItemMessage = 6,\n dragDropByCreateItemMessage = 7,\n dragDropByMoveItemMessage = 8,\n addChildItemMessage = 9,\n exceptionHandlingMessage = 12,\n removeItemMessage = 14,\n changeDashboardStateMessage = 20,\n genereatePNGToDownloadResultMessage = 23,\n updateGeneratedCodesToDownloadMessage = 24,\n changePositionMessage = 27,\n propertyChangedMessage = 28,\n copyItemMessage = 29,\n pasteItemMessage = 30,\n pasteItemStyleMessage = 31,\n getClipboardValue = 32,\n undoMessage = 33,\n redoMessage = 34,\n saveScreenMessage = 35,\n setNewScreenModalVisibilityMessage = 36,\n setActiveLeftPanelByClickMessage = 37,\n setActiveRightPanelByClickMessage = 38,\n showActionPopup = 39,\n injectDisplayItemToTargetDisplayItemMessage = 40,\n showWorkflowBusinessObjectPopup = 41\n}\n\ndeclare let window: any;\nexport class FrameMessageSender {\n send = (messageType: FrameMessageType, message?: IPropertyChangedMessage) => {\n const messageId: string = (Math.floor(Math.random() * 10000) + 1).toString();\n // console.log(\">>>>>> Sent Message From Frame To Designer (\" + FrameMessageType[messageType].toString()+\", Message ID:\" + messageId + \", \" + new Date().getSeconds() + \"-\" + new Date().getMilliseconds() + \" )\");\n // console.log(message);\n // console.log(\">>>>>>\");\n if (!message || !messageType) {\n return;\n }\n const event = {\n iframeMessage: { messageType, message, messageId }\n };\n window.parent.window.postMessage(event, \"*\");\n };\n\n propertyChangedMessage = (message: IPropertyChangedMessage) => {\n this.send(FrameMessageType.propertyChangedMessage, message);\n };\n}\n","import { Select, Spin } from \"antd/es\";\nimport { SelectProps } from \"antd/es/select\";\nimport _, { debounce } from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\ninterface IKSelectBoxProps extends SelectProps<any> {\n datatextfield?: string;\n datavaluefield?: any;\n widthType?: \"fill\" | \"content\";\n onSearchValueChange: (searchValue: string) => void;\n getTextFromValue: (value: any) => void;\n}\n\ninterface IKSelectBoxState {\n fetching: boolean;\n}\n\nclass DebounceSelect extends PureComponent<IKSelectBoxProps & CommonProps, IKSelectBoxState> {\n constructor(props: IKSelectBoxProps) {\n super(props);\n this.state = {\n fetching: false\n };\n }\n\n waitAndSearch = debounce((value) => this.handleSearch(value), 800);\n\n handleSearch = (value) => {\n if (this.props.onSearchValueChange) {\n this.props.onSearchValueChange(value);\n }\n };\n\n handleChange = (value) => {\n this.setState({\n fetching: false\n });\n\n if (this.props.onChange) {\n this.props.onChange(value, []);\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n return props;\n };\n\n render(): ReactNode {\n const { fetching } = this.state;\n return (\n <Select\n {...this.getProps()}\n labelInValue\n notFoundContent={fetching ? <Spin size=\"small\" /> : null}\n filterOption={false}\n onSearch={this.waitAndSearch}\n onChange={this.handleChange}\n showSearch\n loading={fetching}\n ></Select>\n );\n }\n}\n\nconst kSelectBox = withCommonEvents(DebounceSelect);\nexport { kSelectBox as KDebounceSelect };\n","import { Select } from \"antd/es\";\nimport { SelectProps } from \"antd/es/select\";\nimport { Guid } from \"guid-typescript\";\nimport _, { debounce } from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KDebounceSelect } from \"./k-debounceSelect\";\nimport \"./selectbox.scss\";\n\ndeclare let window: any;\n\nexport interface IKSelectBoxProps extends SelectProps<any> {\n datatextfield?: string;\n datavaluefield?: any;\n widthType?: \"fill\" | \"content\";\n searchable?: boolean;\n getTextFromValue?: (value: any) => void;\n onChange: (value: any) => void;\n defaultText: string;\n sortBy?: string;\n containsNullItem?: boolean;\n autoRefresh?: boolean;\n}\n\ninterface IKSelectBoxState {\n uniqueKey: Guid;\n}\n\nclass KSelectBox extends PureComponent<IKSelectBoxProps & CommonProps, IKSelectBoxState> {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: IKSelectBoxProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n public getAllData = () => {\n return this.props.options;\n };\n\n componentDidMount = () => {\n this.setDynamicStyle();\n this.handleComponentStyling();\n if (\n this.props.autoRefresh &&\n this.props.value === undefined &&\n this.props.onChange &&\n this.props.mode === \"multiple\" &&\n typeof this.props.onChange === \"function\"\n ) {\n this.props.onChange([]);\n }\n };\n\n componentDidUpdate = () => {\n this.handleComponentStyling();\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getBgColor = (): string | undefined => {\n if (this.props.style?.backgroundColor) {\n return `background-color: ${this.props.style?.backgroundColor} !important;`;\n }\n };\n\n getFontSize = (): string | undefined => {\n if (this.props.style?.fontSize) {\n return `font-size: ${this.props.style?.fontSize.toString()} !important;`;\n }\n };\n\n getFontWeight = (): string | undefined => {\n if (this.props.style?.fontWeight) {\n return `font-weight: ${this.props.style?.fontWeight} !important;`;\n }\n };\n\n getColor = (): string | undefined => {\n if (this.props.style?.color) {\n return `color: ${this.props.style?.color};`;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const bgColor = this.getBgColor();\n const color = this.getColor();\n const fontSize = this.getFontSize();\n const fontWeight = this.getFontWeight();\n let result = \"\";\n\n if (this.props.style?.color) {\n if (this.props.style?.color.substring(0, 4) === \"rgba\") {\n const match = /rgba?\\((\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*\\d+[\\.\\d+]*)*\\)/g.exec(this.props.style?.color);\n if (match) {\n const newColor = `rgba(${[match[1], match[2], match[3], 0.15].join(\",\")})`;\n result += `\n .kdropdown-${className.trim()} .ant-select-item-option:hover,\n .kdropdown-${className.trim()} .ant-select-item-option-active {\n background-color: ${newColor} !important;\n }`;\n }\n }\n }\n\n if (bgColor || color || fontSize || fontWeight) {\n result += `.${className.trim()} > .ant-select-selector {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result += `.${className.trim()} > .ant-select-arrow {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option {\n ${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option-content {\n ${fontSize !== undefined ? fontSize : ``}\n ${color !== undefined ? color : ``}\n }`;\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option-content {\n ${fontWeight !== undefined ? fontWeight : ``}\n }`;\n }\n\n if (this.props.style?.color || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-select-selection-search-input, .ant-select-selection-item {\n `;\n if (this.props.style?.color) result += `color: ${this.props.style?.color} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n if (this.props.style?.fontSize || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n `;\n if (this.props.style?.fontSize) result += `font-size: ${this.props.style?.fontSize} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n const paddingBottom: any = this.props.style?.paddingBottom;\n const paddingLeft: any = this.props.style?.paddingLeft;\n const paddingRight: any = this.props.style?.paddingRight;\n const paddingTop: any = this.props.style?.paddingTop;\n\n result += `.${className.trim()} .ant-select-selector {\n `;\n if (paddingBottom) result += `padding-bottom: ${paddingBottom}px !important;`;\n if (paddingLeft) result += `padding-left: ${paddingLeft}px !important;`;\n if (paddingRight) result += `padding-right: ${paddingRight}px !important;`;\n if (paddingTop) result += `padding-top: ${paddingTop}px !important;`;\n\n result += `;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n `;\n result += `color: #bfbfbf !important;`;\n result += `;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-search-input {\n height: 100% !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-search {\n margin-left: 0 !important;\n inset-inline-start: unset !important;\n inset-inline-end: unset !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n inset-inline-start: unset;\n inset-inline-end: unset;\n line-height: inherit !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selector:after {\n line-height: inherit !important;\n margin: 0 !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-item {\n line-height: inherit !important;\n margin: 0 !important;\n }`;\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kselectbox_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getWidth() {\n if (this.props.widthType && this.props.widthType == \"content\") {\n return \"max-content\";\n }\n return \"100%\";\n }\n\n handleComponentStyling = () => {\n if (!this.props.style) return;\n const { style } = this.props;\n const node = ReactDOM.findDOMNode(this) as Element;\n const item = node.querySelector(\".ant-select-selector\") as HTMLElement;\n const input = node.querySelector(\".ant-select-selection-search-input\") as HTMLElement;\n const isMultiple = node?.classList?.contains(\"ant-select-multiple\");\n if (input) {\n input.setAttribute(\"focusid\", this.props.id);\n }\n if (!isMultiple) {\n if (this.props.style?.height) {\n this.handleHeight(item);\n } else {\n item.style.height = \"40px\";\n }\n\n if (this.props.style?.minHeight) {\n this.handleMinHeight(item);\n } else if (this.props.style?.height) {\n item.style.minHeight = this.props.style?.height as string;\n } else {\n item.style.minHeight = \"40px\";\n }\n\n if (this.props.style?.maxHeight) {\n this.handleMaxHeight(item);\n }\n }\n if (this.props.style?.color) {\n this.handleColor(node, style);\n }\n if (this.props.style?.fontSize) {\n this.handleFontSize(node);\n }\n if (this.props.style?.fontWeight) {\n this.handleFontWeight(item, style);\n }\n\n this.handleBorderRadius(item, style);\n this.handleBorder(item, style);\n };\n\n handleHeight = (item: HTMLElement) => {\n item.style.height = this.props.style!.height as any;\n item.style.alignItems = \"center\";\n };\n\n handleMinHeight = (item: HTMLElement) => {\n item.style.minHeight = this.props.style!.minHeight as any;\n };\n\n handleMaxHeight = (item: HTMLElement) => {\n item.style.maxHeight = this.props.style!.maxHeight as any;\n };\n\n handleFontWeight = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.fontWeight && item && item.style) {\n item.style.fontWeight = this.props.style!.fontWeight.toString();\n }\n };\n\n handleBorderRadius = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.borderRadius !== undefined) {\n item.style.borderRadius = `${style.borderRadius.toString()}px` as any;\n }\n if (style?.borderTopLeftRadius !== undefined) {\n item.style.borderTopLeftRadius = `${style.borderTopLeftRadius.toString()}px` as any;\n }\n if (style?.borderTopRightRadius !== undefined) {\n item.style.borderTopRightRadius = `${style.borderTopRightRadius.toString()}px` as any;\n }\n if (style?.borderBottomLeftRadius !== undefined) {\n item.style.borderBottomLeftRadius = `${style.borderBottomLeftRadius.toString()}px` as any;\n }\n if (style?.borderBottomRightRadius !== undefined) {\n item.style.borderBottomRightRadius = `${style.borderBottomRightRadius.toString()}px` as any;\n }\n };\n\n handleBorder = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.border) {\n item.style.border = style.border as any;\n }\n if (style?.borderRadius) {\n item.style.borderRadius = style.borderRadius as any;\n }\n if (style?.borderWidth) {\n item.style.borderWidth = style.borderWidth as any;\n }\n if (style?.borderColor) {\n item.style.borderColor = style.borderColor as any;\n }\n if (style?.borderStyle) {\n item.style.borderStyle = style.borderStyle as any;\n }\n if (style?.borderTopWidth != undefined) {\n item.style.borderTopWidth = `${style.borderTopWidth.toString()}px` as any;\n }\n if (style?.borderRightWidth != undefined) {\n item.style.borderRightWidth = `${style.borderRightWidth.toString()}px` as any;\n }\n if (style?.borderBottomWidth != undefined) {\n item.style.borderBottomWidth = `${style.borderBottomWidth.toString()}px` as any;\n }\n if (style?.borderLeftWidth != undefined) {\n item.style.borderLeftWidth = `${style.borderLeftWidth.toString()}px` as any;\n }\n };\n\n handleColor = (node: Element, style: React.CSSProperties) => {\n const selectionItem: HTMLElement = node.getElementsByClassName(\"ant-select-selection-item\")[0] as HTMLElement;\n if (selectionItem) {\n selectionItem.style.color = style?.color as any;\n }\n };\n\n handleFontSize = (node: Element) => {\n const item = node.firstChild as HTMLElement;\n item.style.fontSize = this.props.style!.fontSize as any;\n item.style.alignItems = \"center\";\n };\n\n getProps = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n const props: any = {};\n props.datatextfield = this.props.datatextfield;\n props.datavaluefield = this.props.datavaluefield;\n props.widthType = this.props.widthType;\n props.searchable = this.props.searchable;\n props.options = this.props.options;\n props.onChange = this.props.onChange ?? _.noop;\n props.placeholder = this.props.placeholder;\n props.onBlur = isDesignTime ? () => {} : this.props.onBlur ?? _.noop;\n props.className = this.props.className;\n props.allowClear = this.props.allowClear;\n props.showSearch = this.props.showSearch;\n props.mode = this.props.mode;\n if (typeof this.props.maxTagCount == \"number\" && this.props.maxTagCount >= 0) {\n props.maxTagCount = this.props.maxTagCount;\n }\n\n let style: any | undefined = _.clone(this.props.style);\n if (props.options) {\n delete props.options;\n }\n if (!style) {\n style = {\n width: this.getWidth()\n };\n } else if (!style.width) {\n style.width = this.getWidth();\n }\n if (style) {\n style.border = \"none\";\n delete style.padding;\n delete style.paddingTop;\n delete style.paddingRight;\n delete style.paddingBottom;\n delete style.paddingLeft;\n delete style.borderLeftWidth;\n delete style.borderBottomWidth;\n delete style.borderRightWidth;\n delete style.borderTopWidth;\n delete style.borderTopLeftRadius;\n delete style.borderTopRightRadius;\n delete style.borderBottomLeftRadius;\n delete style.borderBottomRightRadius;\n delete style.backgroundColor;\n\n if (style.display == \"block\") {\n style.display = \"flex\";\n } else if (style.display == \"inline\") {\n style.display = \"inline-flex\";\n }\n }\n props.style = style;\n if (props.value == \"\") {\n delete props.value;\n }\n if (props.value) {\n delete props.value;\n }\n if (isDesignTime) {\n props.getPopupContainer = (triggerNode) => triggerNode.parentNode;\n }\n return props;\n };\n\n getOptions = (): object[] | undefined => {\n const isDesignTime = window.kuika?.isDesignTime;\n const dataTextField = this.props.datatextfield;\n const dataValueField = this.props.datavaluefield;\n if (dataTextField && dataValueField && dataTextField.length > 1 && dataValueField.length > 1) {\n let options: any[] = [];\n if (this.props.options && this.props.options.length && this.props.options.length > 0) {\n this.props.options.forEach((row) => {\n if (\n !_.isUndefined(row) &&\n !_.isUndefined(row[dataTextField!]) &&\n row[dataValueField] !== null &&\n row[dataValueField] !== undefined\n ) {\n options.push({\n label: row[dataTextField!],\n value: row[dataValueField],\n key: row[dataValueField]\n });\n }\n });\n }\n\n if (this.props.sortBy) {\n if (this.props.sortBy == \"A-Z\") {\n options = options.sort((a, b) => a?.label?.localeCompare(b.label));\n } else if (this.props.sortBy == \"Z-A\") {\n options = options.sort((a, b) => b?.label?.localeCompare(a.label));\n }\n }\n\n if (this.props.containsNullItem) {\n options.unshift({\n label: this.props.placeholder ?? \"\",\n value: null,\n key: \"null\"\n });\n }\n\n return options;\n }\n if (isDesignTime) {\n let options: any[] = [];\n if (this.props.options && this.props.options.length) {\n this.props.options.forEach((element) => {\n options.push({\n label: element.text ?? element.value,\n value: element.text ?? element.value,\n key: element.key ?? element.value\n });\n });\n }\n return options;\n }\n\n return this.props.options;\n };\n\n getFormValue = () => {\n return this.props.value;\n };\n\n getValue = () => {\n if (this.props.mode == \"multiple\") {\n if (this.props.value === \"\") {\n return [];\n }\n if (typeof this.props.value === \"string\") {\n return this.props.value.split(\",\");\n }\n return this.props.value;\n }\n if (this.props.searchable !== true) {\n let value;\n const options = this.getOptions() as any;\n if (options && options.length) {\n options.forEach((element) => {\n if (element.value == this.props.value || element.value == this.props.defaultValue) {\n // 2 eşittir olacak\n value = element.value;\n }\n });\n }\n return value;\n }\n\n if (window.kuika?.dashboardState === 1 && (this.props.value === \"\" || this.props.value === undefined)) {\n // Designer\n return undefined;\n }\n\n let { defaultText } = this.props;\n if (this.pressedClear === true) {\n defaultText = \"\";\n }\n let value;\n let text: undefined | string;\n const options = this.getOptions() as any;\n if (options && options.length) {\n options.forEach((element) => {\n if (element && element.value && element.value == this.props.value) {\n // 2 eşittir olacak\n value = element;\n text = element.label;\n }\n });\n }\n if (text !== undefined && this.props.value && this.refreshCounter === 2) {\n this.refreshCounter = 1;\n this.searchValue = \"\";\n this.handleChange({ key: this.props.value, label: text, value: this.props.value });\n }\n if (value === undefined && this.props.searchable === true) {\n if (\n this.props.value != undefined &&\n this.props.value.toString().length > 0 &&\n this.props.getTextFromValue &&\n (this.props.defaultText === undefined || this.props.defaultText === \"\") &&\n this.refreshCounter === 0\n ) {\n this.refreshCounter++;\n this.props.getTextFromValue(this.props.value);\n }\n }\n if (text === undefined || text === \"\") {\n if (\n defaultText &&\n defaultText.length > 0 &&\n this.refreshCounter === 1 &&\n (this.searchValue === undefined || this.searchValue === \"\")\n ) {\n this.refreshCounter++;\n this.waitAndSearch(defaultText);\n }\n text = defaultText;\n }\n if (this.props.value == undefined && text == undefined) {\n return undefined;\n }\n return { key: this.props.value, label: text, value: this.props.value };\n };\n\n refreshCounter: number = 0;\n\n searchValue = \"\";\n\n pressedClear: boolean = false;\n\n getSearchValue = () => {\n return this.searchValue;\n };\n\n waitAndSearch = debounce((value) => this.handleSearch(value), 50);\n\n handleSearch = (value) => {\n this.pressedClear = false;\n this.searchValue = value;\n if (this.props.onSearch) {\n this.props.onSearch(value);\n }\n };\n\n handleGetTextFromValue = (value: any) => {\n if (this.props.getTextFromValue) {\n this.props.getTextFromValue(value);\n }\n };\n\n handleChange = (value: any) => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (value === undefined) {\n this.searchValue = \"\";\n this.pressedClear = true;\n if (this.props.onChange) {\n this.props.onChange(undefined);\n }\n }\n if (this.props.mode == \"multiple\") {\n if (isDesignTime) return;\n this.props.onChange(value);\n } else if (value !== undefined && value.key && this.props.onChange) {\n this.props.onChange(value.key);\n } else if (value !== undefined && this.props?.onChange) {\n if (isDesignTime) return;\n this.props.onChange(value);\n }\n };\n\n render(): ReactNode {\n return (\n <>\n {this.props.searchable === true ? (\n <KDebounceSelect\n value={this.getValue()}\n dropdownClassName={`kdropdown-${this.getClassName().trim()}`}\n {...this.getProps()}\n options={this.getOptions() as any}\n onSearchValueChange={this.handleSearch}\n getTextFromValue={this.handleGetTextFromValue}\n className={`k-selectbox-component${this.getClassName()}`}\n onChange={this.handleChange}\n />\n ) : (\n <Select\n filterOption={(input, option) => {\n // @ts-ignore\n return option?.label?.toLowerCase()?.indexOf(input?.toLowerCase()) >= 0;\n }}\n showSearch={this.props.showSearch}\n value={this.getValue()}\n {...this.getProps()}\n options={this.getOptions() as any}\n className={`k-selectbox-component${this.getClassName()}`}\n popupClassName={`kdropdown-${this.getClassName().trim()}`}\n onChange={this.handleChange}\n ></Select>\n )}\n </>\n );\n }\n}\n\nconst kSelectBox = withCommonEvents(KSelectBox);\nexport { kSelectBox as KSelectBox };\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\ninterface IKIconProps {\n iconName: string;\n style: any;\n hoverText?: string;\n rounded?: boolean;\n}\n\ninterface IKIconState {}\n\nclass KIcon extends PureComponent<IKIconProps & CommonProps, IKIconState> {\n constructor(props: IKIconProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props);\n if (result && result.style) {\n delete result.style;\n }\n }\n return result;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n if (this.props.style?.fontFamily) {\n delete style.fontFamily;\n }\n }\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n style.verticalAlign = \"middle\";\n return style;\n };\n\n render(): ReactNode {\n if (this.props.hoverText) {\n return (\n <>\n <Tooltip title={this.props.hoverText}>\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons md-48\">\n {this.props.iconName}\n </i>\n </Tooltip>\n </>\n );\n }\n if (this.props.rounded) {\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons-round md-48\">\n {this.props.iconName}\n </i>;\n }\n return (\n <>\n <i style={this.getStyleProp()} {...this.getProps()} className=\"material-icons md-48\">\n {this.props.iconName}\n </i>\n </>\n );\n }\n}\n\nconst kIcon = withCommonEvents(KIcon);\nexport { kIcon as KIcon };\n"],"names":["MarkerDetailView","MarkerDetailPosition","StringFilterTypes","NumberFilterTypes","DateFilterTypes","BooleanFilterTypes","ValueType","Icon","PureComponent","props","result","_","style","window","DashboardState","Tooltip","icon","withCommonEvents","Button","undefined","alignItems","styles","leftIcon","rightIcon","AntdButton","Space","button","withDoubleClickEdit","Chat","Component","React","document","message","console","e","id","userName","str","date","moment","item","messageId","KMainFunctions","items","Avatar","Dropdown","el","Input","chat","Checkbox","isControlled","Guid","css","prevProps","value","Boolean","uniquekey","dynamic_style","generatedCss","checkboxAfterStyles","className","fillColorOnChecked","checkboxInnerElement","node","ReactDOM","stylesToBeDeletedFromProps","key","AntdCheckbox","checkbox","defaultAllowedKeys","Email","input","turkishChars","email","Footer","footer","Header","header","backendUrl","KuikaAppManager","Image","Map","findDOMNode","isReportDesigner","isDesignTime","parseInt","currentValue","DEFAULT_IMAGE","url","URL","Date","guidValue","HTMLImageElement","currentErrorCountOfThisUrl","imageToFallback","placeholderGuid","ControlledZoom","shouldZoom","image","Label","isInline","formatter","defaultText","Number","Intl","VMasker","number2","isNaN","number5","kuikaCulture","localStorage","isLangTR","arg1","ex","containerStyles","labelStyles","marginTop","marginRight","marginLeft","marginBottom","paddingTop","paddingRight","paddingLeft","paddingBottom","width","height","minWidth","minHeight","maxWidth","maxHeight","textAlign","display","backgroundColor","borderColor","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyle","cursor","restOfStyles","val","numb","textTransformStyle","label","SingleSelect","KSelectBox","MultiSelect","v","Array","option","values","matchingOption","opt","multiSelect","Drawer","AntDrawer","drawer","NumberInput","tmp","formattedValue","floatValue","newValue","parseFloat","NumberFormat","numberInput","Pagination","pageSize","current","newPage","page","type","originalElement","pageBoxes","pageBox","paginationWrapper","totalText","pageSizeBox","paginationQuickJumperBox","selectedPageBox","pageBoxesItem","nextProps","Math","total","title","language","retValue","options","mappedOptions","a","b","isFirstPageButtonVisible","isLastPageButtonVisible","AntdPagination","pagination","Panel","uniqueKey","bgImage","scrollBackColor","scrollRadius","scrollWidth","panel","Password","bgColor","color","lineHeight","fontSize","fontWeight","letterSpacing","colorStyle","password","TextInput","iconColor","prefixSuffixStyles","charArr","char","InputMask","inputProps","textInput","PlacesAutocompleteInput","locationSearchInput","dropdownContainer","address","results","geocodeByAddress","latLng","getLatLng","PlacesAutocomplete","getInputProps","suggestions","getSuggestionItemProps","loading","suggestion","placesAutocompleteInput","Col","AntdCol","col","Row","horizontalGutter","verticalGutter","AntdRow","row","Slider","sliderTract","sliderTract2","sliderTract11","AntdSlider","slider","HorizontalStack","size","dynamicStyles","DynamicStyleComponent","child","horizontalStack","VerticalStack","verticalStack","PaymentElementStripe","loadStripeKey","STRIPE_SETTINGS","stripePromise","loadStripe","event","ctx","onSuccess","onError","callback","screen","paymentIntent","stripe","elements","PaymentElement","clientSecret","Elements","ElementsConsumer","Switch","parent","parentId","AntdSwitch","switchComponent","Tab","index","children","activeIndex","lastActiveTab","tabItem","prevState","snapshot","activeTabKey","setState","activeChild","selectedTabColor","tabPosition","activeKey","keyProp","isEmpty","nextTab","Tabs","ScrollableInkTabBar","TabContent","tab","TabItem","TableData","match","p1","p2","data","path","fields","field","array","theFieldIndexContaingSelected","x","prev","curr","rowData","rowIndex","_visibilityCondition","_editabilityCondition","childIndex","manipulatedChildren","visibilityCondition","editabilityCondition","Object","matchResult","dataField","tableData","TableColumn","TableRow","screenWidth","table","isMobileResolution","childrenLength","dataFieldKey","RegExp","bgValue","currentRow","targets","element","KComponentFunctions","expanded","childrenArray","isAnyAlwaysVisibleColumn","isEveryColumnAlwaysVisible","filteredChildren","CheckOutlined","CloseOutlined","CarouselBodyCell","CarouselBodyWrapper","carousel","hoverBgColor","hoverFontColor","arrowColor","nextSlide","CarouselItem","_parentStyleObject","forbiddenStyleKeyList","styleKey","FlexGridBodyCell","FlexGridBodyWrapper","FlexGridItem","GalleryBodyCell","GalleryBodyWrapper","parentElement","GalleryItem","GoogleMapsBodyCell","AutoComplete","map","maps","addplace","place","ref","GoogleMapsItem","markerElement","lat","lng","selectedLocationColor","selectedLocationIcon","toogle","content","Popover","GoogleMapsBodyWrapper","record","toCamelCase","navigator","pos","coords","crd1","crd2","dLat","dLng","EARTH_RADIUS","dif","drawerWidth","markerDetailWidth","halfWidthOfMap","marker","gMaps","circleRadius","radius","center","zoom","bounds","isMarkerPicker","that","latitude","longitude","accuracy","iconElement","currentLocationIcon","currentLocationColor","iconStyles","geocoder","status","details","firstMarker","firstMarkerPopupContent","i","markerValue","markerElements","markersData","supercluster","ev","location","groupPickerDetails","Layout","GoogleMapReact","google","centerCoords","clusters","isSelectedMarker","c","cluster","groupPickerIcon","groupPickerColor","point","SidePanel","TableBodyCell","nextElement","inputElement","setTimeout","TableBodyWrapper","onChange","source","setCurrentValue","useState","getLabel","Option","Select","selectedKeys","setSelectedKeys","confirm","clearFilters","dataType","visible","initialFilters","columnId","searchType","setSearchType","searchValue","setSearchValue","searchValue2","setSearchValue2","useEffect","findDataType","currentType","handleSearchValueChange","secondValue","isBlank","isNotBlank","isStringDataType","isString","isNumber","InputNumber","isDate","isBoolean","TriStateSwitch","TableHeaderCell","columnSearchText","dataValue","tableHeader","antTableFilterTrigger","antTableColumnSorter","setColumnSearchText","inputType","SearchOutlined","hasSearchable","TableHeaderRow","RefreshDelegate","callBack","CarouselViewWrapper","FlexGridViewWrapper","GalleryViewWrapper","GoogleMapsViewWrapper","TableViewWrapper","isEventListenerAdded","BaseTable","isHeader","isRow","_props","orderId","headerStyle","_nextProps","sorter","filtering","datasource","grandChild","grandChildIndex","columnProps","dataBindedChilds","processChildren","dataBindedChild","getDataTypeRecursively","filters","CustomFilterDropdown","text","recordValue","valueType","recordValueNumber","searchValueNumber","recordValueDate","searchValueDate","searchValueDate2","normalizedSearchValue","normalizedRecordValue","extractedKey","y","specialSortingFormats","specialSortingFormat","format","xDate","yDate","formats","r","isSort","_value","rowPopoverRenderer","tbody","tdList","td","boxShadow","padding","empty","columnStyles","columnIndex","selectedRowKeys","isEql","isEqual","formValues","rowValue","filteredList","cellfieldName","isCurrentInsertRow","refreshMethod","p","isDataMarkerSelected","wrapperProps","selectedIndexHiddenInput","parentTableDomEl","selectedIndex","rows","selectedIndexDom","selectedRow","HTMLInputElement","htmlElementNode","currentTableElement","nearestTableAncestor","tableWrapper","selectedRowDataHiddenInput","isPrevInsertRow","JSON","json","obj","selectedValues","isBlur","oldValues","newValues","offset","idColumnKey","newVals","acc","isInsertRow","_e","_rowValue","_rowIndex","currentRowIndex","prevRowIndex","prevRowData","prevActiveElement","selectedColumnIndexHiddenInput","otherFields","isClick","isPrevRowInsert","currentColumnDataValue","currentColumnDataType","activeElement","dataSource","selectedColumnValue","currentColumnValue","formattedDate","childList","nextState","shallowequal","mockDataSource","newDataSource","totalSlides","searchText","columnSearchTexts","searchLowerCase","searchUpperCase","itemLowerCase","itemUpperCase","columnSearchTextLowerCase","columnSearchTextUpperCase","checkedValues","columns","newHiddenColumnList","allVisibleColumns","columnOrder","list","startIndex","endIndex","removed","newColumnWidth","column","columnWidth","newOrder","sorterOptions","filter","order","totals","footerOptions","footerFormatter","columnData","validData","minData","maxData","Table","footerOptionLabel","footerFontSize","footerFontColor","designTimeValue","file","xlsx","sheet","columnWidths","serializeValue","String","columnsToExport","headerRow","colIndex","cell","rawValue","objectPath","blob","saveAs","error","defaultEmptyProps","defaultTemp","CarouselPlaceholder","HorizontalGridPlaceholder","FlexGridPlaceholder","noDataFoundMessageText","DownloadOutlined","DragDropContext","Droppable","provided","Draggable","MenuOutlined","hiddenColumnList","UnorderedListOutlined","Empty","EmptyDataSvg","clearTimeout","designClicked","selected","selectedRows","updatedRowKeys","updatedRowKeysString","changeRows","multiSelectScope","onSelectedValuesChange","updateState","keys","keysString","generateKeysString","allRowKeys","allRowKeysString","Carousel","TableHeader","fontFamily","textDecoration","textTransform","fontStyle","TextArea","showCount","textArea","Video","isVimeo","ReactPlayer","video","FrameMessageSender","messageType","DebounceSelect","debounce","fetching","Spin","kSelectBox","newColor","isMultiple","selectionItem","triggerNode","dataTextField","dataValueField","KDebounceSelect","KIcon"],"mappings":"wcAoCYA,EAMAC,ECYAC,EAWAC,EAYAC,EAUAC,EAOAC,E,6HC5EZ,OAAMC,UAAaC,EAAAA,aAAaA,CAC9B,YAAYC,CAAgB,CAAE,CAC5B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAIC,EAAc,CAAC,EAOnB,OANI,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAChCA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,IACbD,EAAO,KAAK,EACxB,OAAOA,EAAO,KAAK,CAGhBA,CACT,CAAE,AAEF,cAAe,KACb,IAAIE,EAAa,CAAC,EAmBlB,OAjBI,IAAI,CAAC,KAAK,CAAC,KAAK,GAClBA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACpB,OAAOC,EAAM,UAAU,EAGvB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BA,CAAAA,EAAM,MAAM,CAAG,SAAQ,EAEH,UAAlBA,EAAM,OAAO,EACfA,CAAAA,EAAM,OAAO,CAAG,cAAa,EAE/BA,EAAM,aAAa,CAAG,SAElBC,QAAQ,OAAO,iBAAmBC,EAAAA,EAAAA,CAAAA,cAA6B,EACjEF,CAAAA,EAAM,MAAM,CAAG,MAAK,EAEfA,CACT,CAAE,AAEF,SAAoB,QAClB,AAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAEpB,sB,SACE,UAACG,EAAAA,CAAOA,CAAAA,CAAC,MAAO,QAAS,MAAO,IAAI,CAAC,KAAK,CAAC,SAAS,C,SAClD,UAAC,KAAE,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAU,uB,SAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,A,QAM1B,IAAI,CAAC,KAAK,CAAC,OAAO,EACpB,CAAG,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,C,SAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,A,EAItB,sB,SACE,UAAC,KAAE,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAU,uB,SAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,A,KAI5B,CACF,CAEA,IAAMC,EAAOC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBV,EClE9B,OAAMW,UAAeV,EAAAA,aAAaA,CAChC,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAMA,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EA6B3C,OA5BAC,EAAM,UAAU,CAAG,SACnBH,EAAM,KAAK,CAAGG,EACVH,EAAM,IAAI,EAAIA,EAAM,IAAI,CAAC,MAAM,CAAG,GACpC,OAAOA,EAAM,IAAI,CAEfA,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEhBA,EAAM,SAAS,EACjB,OAAOA,EAAM,SAAS,CAEpBA,EAAM,KAAK,CAAC,UAAU,EACxB,OAAOA,EAAM,KAAK,CAAC,UAAU,CAE3BA,EAAM,KAAK,CAAC,QAAQ,EACtB,OAAOA,EAAM,KAAK,CAAC,QAAQ,CAEzBA,EAAM,KAAK,CAAC,UAAU,EACxB,OAAOA,EAAM,KAAK,CAAC,UAAU,CAE3B,CAACA,EAAM,KAAK,EAAE,iBAChBA,CAAAA,EAAM,KAAK,CAAC,eAAe,CAAG,aAAY,EAExC,CAACA,EAAM,KAAK,CAAC,WAAW,EAC1BA,CAAAA,EAAM,KAAK,CAAC,WAAW,CAAG,aAAY,EAExCA,EAAM,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAY,QACzB,KAAfA,EAAM,IAAI,EAAS,OAAOA,EAAM,IAAI,CACjCA,CACT,CAAE,AAEF,SAAU,IAEN,UAACF,EAAIA,CACH,MAAO,CACL,SAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAY,OACxC,SAAU,AAAqBY,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAiB,WAAaA,KAAAA,EACxD,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,OAAS,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAQ,QAClG,cAAe,KACjB,EACA,SAAU,IAAI,CAAC,KAAK,CAAC,IAAI,A,EAG7B,AAEF,aAAc,IACZ,AAAI,AAA4B,UAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAG,EAC9E,IAAI,CAAC,OAAO,GAEd,wBACP,AAEF,cAAe,IACb,AAAI,AAA4B,UAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAG,EAC9E,IAAI,CAAC,OAAO,GAEd,wBACP,AAEF,kBAAmB,KACjB,IAAMC,EAAa,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACrC,AAAIA,AAAe,eAAfA,EAAoC,QACpCA,AAAe,aAAfA,EAAkC,MAC/B,QACT,CAAE,AAEF,eAAgB,KACd,IAAMC,EAAwB,CAAC,EAe/B,OAdI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACpBA,CAAAA,EAAO,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAS,EAE7C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UACpBA,CAAAA,EAAO,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAO,EAEzC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACpBA,CAAAA,EAAO,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAS,EAG7C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBACpBA,CAAAA,EAAO,cAAc,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAa,EAGlDA,CACT,CAAE,AAEF,SAAoB,CAClB,IAAMC,EAAW,IAAI,CAAC,WAAW,GAC3BC,EAAY,IAAI,CAAC,YAAY,GACnC,MACE,sB,SACE,UAACC,EAAAA,EAAUA,CAAAA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,C,SAC7B,WAACC,EAAAA,CAAKA,CAAAA,CAAC,MAAO,CAAE,OAAQ,OAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,AAAC,EAAG,MAAO,IAAI,CAAC,gBAAgB,G,UACpFH,EACA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAC/DC,E,MAKX,CACF,CAEA,IAAMG,EAASC,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAoBV,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBC,GAAS,S,wFC7F7D,OAAMU,UAAaC,EAAAA,SAASA,CAClB,SAAWC,EAAAA,SAAe,EAAa,AAEvC,YAA+C,AAEhD,sBAAgC,IAAK,AAE5C,aAAYrB,CAAgB,CAAE,CAC5B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,iBAAkB,GAClB,UAAW,GACX,0BAA2B,KAC3B,QAAS,EACX,CACF,CAEA,eAAiB,KACXI,OAAO,KAAK,EAAE,iBAAmB,GACnC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAE,SAAU,QAAS,EAE1D,CAAE,AAEF,oBAAoB,CAClB,IAAI,CAAC,cAAc,GACnBkB,SAAS,gBAAgB,CAAC,UAAW,IAAI,CAAC,aAAa,CACzD,CAEA,sBAAuB,CACrBA,SAAS,mBAAmB,CAAC,UAAW,IAAI,CAAC,aAAa,CAC5D,CAEA,oBAAqB,CACnB,IAAI,CAAC,cAAc,EACrB,CAEA,WAAa,IACJ,IAAI,CAAC,KAAK,CAAC,OAAO,AACzB,AAEF,YAAa,AAACC,IACZ,GAAI,AAAmB,UAAnB,OAAOA,EAAsB,CAC/B,IAAI,CAAC,QAAQ,CAAC,CAAEA,QAAAA,CAAQ,GACxB,MACF,CAEA,GAAI,AAAmB,UAAnB,OAAOA,EAAsB,CAC/B,IAAI,CAAC,QAAQ,CAAC,CAAE,QAASA,EAAQ,QAAQ,EAAG,GAC5C,MACF,OAEIA,GACFC,QAAQ,IAAI,CAAC,8BAGf,IAAI,CAAC,QAAQ,CAAC,CAAE,QAAS,EAAG,EAC9B,CAAE,AAEF,eAAgB,AAACC,KACXrB,OAAO,KAAK,EAAE,cAClB,IAAI,CAAC,QAAQ,CAAC,CAAE,QAASqB,EAAE,MAAM,CAAC,KAAK,AAAC,EAC1C,CAAE,AAEF,8BAA+B,IACtB,IAAI,CAAC,KAAK,CAAC,yBAAyB,AAC3C,AAEF,8BAA+B,AAACC,IAC9B,GAAIA,MAAAA,GAAmCA,AAAO,KAAPA,EAAW,CAChD,IAAI,CAAC,iBAAiB,GACtB,MACF,CAEA,IAAI,CAAC,QAAQ,CAAC,CAAE,UAAW,GAAM,0BAA2BA,CAAG,EACjE,CAAE,AAEF,aAAc,UACZ,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAC7C,IAAI,CAAC,QAAQ,CAAC,CAAE,QAAS,EAAG,EAC9B,CAAE,AAEF,QAAO,qBAAuB,AAACC,IAC7B,GAAI,CAACA,EAAU,MAAO,GACtB,IAAIC,EAAM,GAEV,OADID,GAAYA,EAAS,MAAM,CAAG,GAAGC,CAAAA,GAAOD,EAAS,SAAS,CAAC,EAAG,EAAC,EAC5DC,EAAI,WAAW,EACxB,CAAE,AAEF,QAAO,cAAgB,AAACH,IAEtBA,EAAE,MAAM,CAAC,GAAG,CACV,wGACJ,CAAE,AAEF,QAAO,uBAAyB,AAACI,GAC/B,AAAKA,EAEDC,IAAOD,GAAM,MAAM,CAACC,MAAU,OACzBA,IAAOD,GAAM,MAAM,CAAC,SAGzBC,IAAOD,GAAM,MAAM,CAACC,MAAU,QACzBA,IAAOD,GAAM,MAAM,CAAC,gBAGtBC,IAAOD,GAAM,MAAM,CAAC,qBAVT,IAWlB,AAEM,kBAAmB,AAACE,GAEvBA,AAAAA,CAAAA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAIA,EAAK,MAAK,IAChDA,CAAAA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAG,GAAE,CAEvE,AAEM,eAAgB,AAACN,KACnBrB,OAAO,KAAK,EAAE,cAEd,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAIqB,AAAU,WAAVA,EAAE,GAAG,EAC9D,IAAI,CAAC,+BAA+B,EAExC,CAAE,AAEM,mBAAoB,KAC1B,IAAI,CAAC,QAAQ,CAAC,CAAE,UAAW,GAAO,QAAS,GAAI,0BAA2B,IAAK,EACjF,CAAE,AAEM,oBAAqB,AAACO,IAC5B,GAAI5B,OAAO,KAAK,EAAE,aAAc,OAEhC,IAAMmB,EAAU,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,AAACQ,GAASA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAKC,GAEnFT,GACF,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,GACX,QAASA,CAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC7C,0BAA2BS,CAC7B,GACA,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAEvBC,EAAAA,CAAAA,CAAAA,wBAAuC,CAAC,oBAE5C,CAAE,AAEM,aAAc,UAElB,IAAI,CAAC,KAAK,CAAC,aAAa,EACxB,AAAyCvB,KAAAA,IAAzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EACpC,AAAyC,OAAzC,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAEpC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,GAC9B,IAAI,CAAC,QAAQ,CAAC,CAAE,UAAW,GAAO,QAAS,GAAI,0BAA2B,IAAK,GAEnF,CAAE,AAEM,sBAAuB,MAAOsB,KAChC5B,OAAO,KAAK,EAAE,cAEd,IAAI,CAAC,KAAK,CAAC,eAAe,GAC5B,IAAI,CAAC,oBAAoB,CAAG4B,EAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,GAEpC,CAAE,AAEM,iCAAkC,KACxC,IAAI,CAAC,iBAAiB,EACxB,CAAE,AAEM,kBAAmB,AAACA,IAC1B,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CACtB,MAAO,CACL,CACE,IAAK,IACL,MAAO,yBACP,OAAQ,GACR,QAAS,IAAM,IAAI,CAAC,iBAAiB,EACvC,EACD,CAGH,IAAME,EAA4B,EAAE,CAmBpC,OAjBI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7BA,EAAM,IAAI,CAAC,CACT,IAAK,IACL,MAAO,eACP,QAAS,IAAM,IAAI,CAAC,kBAAkB,CAACF,EACzC,GAGE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAC/BE,EAAM,IAAI,CAAC,CACT,IAAK,IACL,MAAO,iBACP,OAAQ,GACR,QAAS,IAAM,IAAI,CAAC,oBAAoB,CAACF,EAC3C,GAGKE,CACT,CAAE,AAEM,UAAW,AAACT,IAGlB,GAFAA,EAAE,cAAc,GAChBA,EAAE,eAAe,GACb,IAAI,CAAC,KAAK,CAAC,SAAS,CAAE,CACxB,IAAI,CAAC,WAAW,GAChB,MACF,CAEA,IAAI,CAAC,WAAW,EAClB,CAAE,AAEF,SAAoB,CAClB,MACE,UAAC,OAAI,MAAO,CAAE,QAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAY,SAAW,cAAgB,OAAQ,E,SACtF,WAAC,OAAI,UAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,mBAAqB,cAAe,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,C,UAC/F,UAAC,OAAI,UAAU,oB,SACZ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,AAACM,GAEzB,OAAC,OACC,UAAW,IAAI,CAAC,gBAAgB,CAACA,GAAQ,oCAAsC,mBAE/E,MAAO,CACL,OACE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAI,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAKA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CACzF,YACA,MACR,E,UAEC,AAAgC,KAAhC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC1B,MAAC,OAAI,UAAU,2B,SACZA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CACnC,MAAC,OAAI,QAASZ,EAAK,aAAa,CAAE,IAAKY,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAE,IAAI,E,GAEjF,MAACI,EAAAA,CAAMA,CAAAA,CACL,KAAM,GACN,MAAO,CACL,MAAO,OACP,WAAY,IACZ,SAAU,OACV,cAAe,SACf,gBAAiB,gBACnB,E,SAEChB,EAAK,oBAAoB,CACxBY,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACrCA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CACzCA,EAAK,QAAQ,C,KAM3B,OAAC,OAAI,MAAO,CAAE,QAAS,OAAQ,cAAe,SAAU,WAAY,KAAM,E,UACxE,OAAC,OAAI,UAAU,4B,UACZ,AAA4B,KAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EACtB,MAAC,O,SACC,MAAC,MACC,MAAO,CACL,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACzB,SAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAC5B,WAAY,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAc,OAC5C,cAAe,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAiB,CACpD,E,SAECA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAIA,EAAK,QAAQ,A,KAIjE,MAAC,QACC,MAAO,CACL,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACzB,SAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAC5B,WAAY,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAc,OAC5C,cAAe,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACnC,E,SAECA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAIA,EAAK,OAAO,A,GAEnD,IAAI,CAAC,gBAAgB,CAACA,IACrB,mB,UACG,IAAI,CAAC,KAAK,CAAC,SAAS,EACnB,IAAI,CAAC,KAAK,CAAC,yBAAyB,GAAKA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EACnE,MAAC,QAAK,UAAU,iC,SAAiC,Y,GAGpD,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAK,KAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,IAAI,CAAC,KAAK,CAAC,kBAAiB,GACpF,MAACK,EAAAA,CAAQA,CAAAA,CACP,KAAM,CAAE,MAAO,IAAI,CAAC,gBAAgB,CAACL,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAE,EACnE,UAAU,cACV,QAAS,CAAC,QAAQ,C,SAElB,MAAC,UAAO,UAAU,oB,SAChB,MAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6B,SAEN,MAAC,QACC,EAAE,qfACF,KAAK,eACL,SAAS,UACT,SAAS,S,eASzB,MAAC,QAAK,MAAO,CAAE,MAAO,OAAQ,SAAU,EAAG,E,SACxCZ,EAAK,sBAAsB,CAACY,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,C,MAG/D,MAAC,OACC,IAAK,AAACM,IACJ,IAAI,CAAC,WAAW,CAAGA,CACrB,C,KAnGGN,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAGA,CAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAGA,EAAK,EAAE,E,GAyGlF,WAAC,OAAI,UAAU,4B,UACZ,IAAI,CAAC,KAAK,CAAC,SAAS,EACnB,UAACtB,EAAAA,EAAMA,CAAAA,CAAC,UAAU,2BAA2B,QAAS,IAAI,CAAC,iBAAiB,C,SAC1E,UAAC,OACC,MAAM,KACN,OAAO,KACP,QAAQ,YACR,KAAK,OACL,MAAM,6BACN,MACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACf,CACE,OACE,0FACJ,EACA,CACE,OACE,uFACJ,E,SAGN,UAAC,QACC,EAAE,ogBACF,KAAK,UACL,YAAU,UACV,YAAU,S,OAKlB,UAAC,OACC,UACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACf,yDACA,4B,SAGN,UAAC6B,EAAAA,CAAKA,CAAAA,CACJ,IAAK,IAAI,CAAC,QAAQ,CAClB,aAAc,IAAI,CAAC,QAAQ,CAC3B,UAAU,0BACV,SAAU,AAACb,GAAM,IAAI,CAAC,aAAa,CAACA,GACpC,QAAS,IAAM,IAAI,CAAC,QAAQ,CAAC,CAAE,iBAAkB,EAAK,GACtD,OAAQ,IAAM,IAAI,CAAC,QAAQ,CAAC,CAAE,iBAAkB,EAAM,GACtD,MAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CACzB,KAAK,OACL,YAAY,c,KAGhB,UAAChB,EAAAA,EAAMA,CAAAA,CAAC,UAAU,2BAA2B,QAAS,IAAI,CAAC,QAAQ,C,SAChE,IAAI,CAAC,KAAK,CAAC,SAAS,CACnB,UAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,SAChE,UAAC,QACC,EAAE,gXACF,KAAK,UACL,YAAU,UACV,YAAU,S,KAId,UAAC,OACC,QAAQ,YACR,cAAY,OACZ,MACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CACf,CACE,OACE,0FACJ,EACA,CACE,OACE,uFACJ,E,SAGN,UAAC,K,SACC,UAAC,QAAK,EAAE,yT,gBAS1B,CACF,CAEA,IAAM8B,EAAO/B,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBW,G,0CC7a9B,OAAMqB,UAAiBzC,EAAAA,aAAaA,CAa1B,iBAA4B,EAAM,AAE1C,aAAYC,CAAoB,CAAE,CAChC,KAAK,CAACA,GAEN,IAAMyC,EAAwBzC,AAAgBU,KAAAA,IAAhBV,EAAM,KAAK,AAEzC,KAAI,CAAC,KAAK,CAAG,CACXyC,aAAAA,EACA,UAAWC,EAAAA,IAAAA,CAAAA,MAAW,GACtB,QAASD,EAAe,IAAI,CAAC,UAAU,CAACzC,EAAM,KAAK,EAAI,IAAI,CAAC,UAAU,CAACA,EAAM,YAAY,CAC3F,CACF,CAEA,mBAAoB,CAClB,IAAM2C,EAAM,IAAI,CAAC,aAAa,GAC1BA,GAAOA,AAAQ,KAARA,GACT,IAAI,CAAC,eAAe,GAEtB,IAAI,CAAC,sBAAsB,EAC7B,CAEA,mBAAmBC,CAAgD,CAAE,CACnE,IAAI,CAAC,sBAAsB,GAEvB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAKA,EAAU,KAAK,EACtC,IAAI,CAAC,QAAQ,CAAC,CAAE,QAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,GAGzD,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,AAAqBlC,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAC9C,IAAI,CAAC,QAAQ,CAAC,CAAE,aAAc,EAAK,GAInC,CAAC,IAAI,CAAC,gBAAgB,EACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAM,IAAI,CAAC,UAAU,CAACkC,EAAU,KAAK,GAErE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAExD,CAEA,WAAa,AAACC,GACZ,AAAIA,MAAAA,EAA8CC,CAAAA,CAAQ,IAAI,CAAC,KAAK,CAAC,YAAY,CAExD,KAArBD,EAAM,QAAQ,KACO,MAArBA,EAAM,QAAQ,IACO,MAArBA,EAAM,QAAQ,KACqB,SAAnCA,EAAM,QAAQ,GAAG,WAAW,KAC5BA,EAAM,QAAQ,GAAG,WAAW,GAEzB,KACP,AAEF,UAAW,MAAOpB,IAChBA,EAAE,eAAe,GAEjB,IAAI,CAAC,gBAAgB,CAAG,GAExB,IAAI,CAAC,QAAQ,CAAC,CAAE,QAASA,EAAE,MAAM,CAAC,OAAO,AAAC,EAAG,UAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAC9C,IAAI,CAAC,gBAAgB,CAAG,EAC1B,EACF,CAAE,AAEF,iBAAkB,KAChB,IAAMsB,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAMC,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,AACpB,CACF,CAAE,AAEF,gBAAgB,CACd,GAAM,CAAE9C,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CAEtB+C,EAAsB,IAAI,CAAC,sBAAsB,CAAC/C,GAClDgD,EAAoB,IAAI,CAAC,YAAY,GAE3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GAkBb,OAjBIiD,GACFjD,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;QAC7B,EAAED;OACH,CAAC,AAAD,EAGC/C,EAAM,eAAe,EAAIA,AAAyB,0BAAzBA,EAAM,eAAe,EAChDF,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;0BACX,EAAEhD,EAAM,eAAe,EAAI,OAAO;OACrD,CAAC,AAAD,EAEiB,2BAAhBA,EAAM,KAAK,EACbF,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;sBACf,EAAEhD,EAAM,KAAK,EAAI,OAAO;OACvC,CAAC,AAAD,EAGIF,CACT,CAGA,qBAAqBmD,CAA0B,CAAE,CAC/C,IAAInD,EAAS,GAMb,OAJImD,GACFnD,CAAAA,GAAU,CAAC,kBAAkB,EAAEmD,EAAmB,YAAY,CAAC,AAAD,EAGzDnD,CACT,CAEA,uBAAuBE,CAA0B,CAAE,CACjD,IAAIF,EAAS,GAqBb,OAnBIE,EAAM,WAAW,EAAIA,AAAsB,2BAAtBA,EAAM,WAAW,EACxCF,CAAAA,GAAU,CAAC,cAAc,EAAEE,EAAM,WAAW,CAAC,YAAY,CAAC,AAAD,EAEvDA,EAAM,WAAW,EAAIA,AAAsB,UAAtBA,EAAM,WAAW,EACxCF,CAAAA,GAAU,CAAC,cAAc,EAAEE,EAAM,WAAW,CAAC,WAAW,CAAC,AAAD,EAEtDA,EAAM,mBAAmB,EAC3BF,CAAAA,GAAU,CAAC,wBAAwB,EAAEE,EAAM,mBAAmB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,AAAD,EAE1FA,EAAM,oBAAoB,EAC5BF,CAAAA,GAAU,CAAC,yBAAyB,EAAEE,EAAM,oBAAoB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,AAAD,EAE5FA,EAAM,sBAAsB,EAC9BF,CAAAA,GAAU,CAAC,2BAA2B,EAAEE,EAAM,sBAAsB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,AAAD,EAEhGA,EAAM,uBAAuB,EAC/BF,CAAAA,GAAU,CAAC,4BAA4B,EAAEE,EAAM,uBAAuB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,AAAD,EAG/FF,CACT,CAEA,aAAe,KACb,IAAIA,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFxEA,CAIX,CAAE,AAEF,yBAAyB,CACvB,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,OACvB,GAAM,CAAEE,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CAGtBkD,EAAuBC,AADhBC,EAAAA,WAAoB,CAAC,IAAI,EACJ,aAAa,CAAC,uBAEhD,IAAI,CAAC,kBAAkB,CAACF,EAAsBlD,GAC9C,IAAI,CAAC,kBAAkB,CAACkD,EAAsBlD,GAC9C,IAAI,CAAC,kBAAkB,CAACkD,EAAsBlD,EAChD,CAEA,mBAAmB4B,CAAiB,CAAE5B,CAA0B,CAAE,CAC5DA,EAAM,WAAW,EACnB4B,CAAAA,EAAK,KAAK,CAAC,WAAW,CAAG5B,EAAM,WAAW,AAAD,EAEvCA,EAAM,WAAW,EACnB4B,CAAAA,EAAK,KAAK,CAAC,WAAW,CAAG5B,EAAM,WAAW,AAAD,EAEvCA,EAAM,cAAc,EACtB4B,CAAAA,EAAK,KAAK,CAAC,cAAc,CAAG,CAAC,EAAE5B,EAAM,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE/DA,EAAM,iBAAiB,EACzB4B,CAAAA,EAAK,KAAK,CAAC,iBAAiB,CAAG,CAAC,EAAE5B,EAAM,iBAAiB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAErEA,EAAM,eAAe,EACvB4B,CAAAA,EAAK,KAAK,CAAC,eAAe,CAAG,CAAC,EAAE5B,EAAM,eAAe,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAEjEA,EAAM,gBAAgB,EACxB4B,CAAAA,EAAK,KAAK,CAAC,gBAAgB,CAAG,CAAC,EAAE5B,EAAM,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAEnEA,EAAM,mBAAmB,EAC3B4B,CAAAA,EAAK,KAAK,CAAC,mBAAmB,CAAG,CAAC,EAAE5B,EAAM,mBAAmB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAEzEA,EAAM,oBAAoB,EAC5B4B,CAAAA,EAAK,KAAK,CAAC,oBAAoB,CAAG,CAAC,EAAE5B,EAAM,oBAAoB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE3EA,EAAM,sBAAsB,EAC9B4B,CAAAA,EAAK,KAAK,CAAC,sBAAsB,CAAG,CAAC,EAAE5B,EAAM,sBAAsB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE/EA,EAAM,uBAAuB,EAC/B4B,CAAAA,EAAK,KAAK,CAAC,uBAAuB,CAAG,CAAC,EAAE5B,EAAM,uBAAuB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,CAEvF,CAEA,mBAAmB4B,CAAiB,CAAE5B,CAA0B,CAAE,CAC5DA,EAAM,SAAS,EACjB4B,CAAAA,EAAK,KAAK,CAAC,SAAS,CAAG5B,EAAM,SAAS,AAAD,CAEzC,CAEA,mBAAmB4B,CAAiB,CAAE5B,CAA0B,CAAE,CAC5DA,EAAM,KAAK,EACb4B,CAAAA,EAAK,KAAK,CAAC,KAAK,CAAG,CAAC,EAAE5B,EAAM,KAAK,CAAC,CAAC,AAAD,EAGhCA,EAAM,MAAM,EACd4B,CAAAA,EAAK,KAAK,CAAC,MAAM,CAAG,CAAC,EAAE5B,EAAM,MAAM,CAAC,CAAC,AAAD,CAExC,CAEA,SAAW,KACT,IAAMH,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAqC3C,MAbAsD,AAPmC,CAdjC,cACA,cACA,iBACA,oBACA,kBACA,mBACA,uBACA,sBACA,yBACA,0BAEuC,kBACH,YACA,QAAS,SAM9C,CAE0B,OAAO,CAAC,AAACC,IAC9BtD,CAAK,CAACsD,EAAI,EAAE,OAAOtD,CAAK,CAACsD,EAAI,AACnC,GAEItD,AAAiB,SAAjBA,EAAM,OAAO,CACfA,EAAM,OAAO,CAAG,OACU,UAAjBA,EAAM,OAAO,EACtBA,CAAAA,EAAM,OAAO,CAAG,aAAY,EAE9BH,EAAM,KAAK,CAAGG,EACV,EAACH,EAAM,QAAQ,EAAIA,AAAkB,IAAlBA,EAAM,QAAQ,AAAK,GACxC,OAAOA,EAAM,QAAQ,CAEhBA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,UAAC0D,EAAAA,CAAYA,CAAAA,CACX,UAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CACtD,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,KAAK,CAAC,YAAY,CAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CACzF,eAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EACvD,SAAU,IAAI,CAAC,QAAQ,A,EAG7B,CACF,CAEA,IAAMC,EAAWnD,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBgC,GC3S5BoB,EAAqB,CAAC,YAAa,YAAa,aAAc,UAAW,YAAa,QAAS,SAAS,AAU9G,OAAMC,UAAc9D,EAAAA,aAAaA,CAC/B,YAAYC,CAAmB,CAAE,CAC/B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAAqB,KAEnB,IAAM8D,EAAQR,AADDC,EAAAA,WAAoB,CAAC,IAAI,EACnB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACnD,IAAI,CAACO,EAGD,IAAI,CAAC,KAAK,EAAE,OAAO,iBACrBA,CAAAA,EAAM,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,AAAD,EAE3D,IAAI,CAAC,KAAK,EAAE,OAAO,OACrBA,CAAAA,EAAM,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,AAAD,CAE7C,CAAE,AAEF,UAAW,KACT,IAAM9D,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EA4B3C,GA1BIC,AAAkB,UAAlBA,EAAM,OAAO,CACfA,EAAM,OAAO,CAAG,OACW,WAAlBA,EAAM,OAAO,EACtBA,CAAAA,EAAM,OAAO,CAAG,aAAY,EAE1BH,EAAM,MAAM,EAAIA,EAAM,MAAM,EAAE,OAAS,EACzCA,EAAM,MAAM,CAAG,UAACF,EAAIA,CAAC,MAAO,CAAE,MAAOE,EAAM,SAAS,AAAC,EAAG,SAAU,IAAI,CAAC,KAAK,CAAC,MAAM,A,GAC1EA,EAAM,MAAM,EACrB,OAAOA,EAAM,MAAM,CAGjBA,EAAM,MAAM,EAAIA,EAAM,MAAM,EAAE,OAAS,EACzCA,EAAM,MAAM,CAAG,UAACF,EAAIA,CAAC,MAAO,CAAE,MAAOE,EAAM,SAAS,AAAC,EAAG,SAAU,IAAI,CAAC,KAAK,CAAC,MAAM,A,GAC1EA,EAAM,MAAM,EACrB,OAAOA,EAAM,MAAM,CAEjBA,EAAM,SAAS,EACjB,OAAOA,EAAM,SAAS,CAGpBA,EAAM,KAAK,EAAIG,GAAO,gBAAkB,YAC1CH,EAAM,KAAK,CAAGA,EAAM,KAAK,EAAE,WAAW,cAC7BA,EAAM,KAAK,EAAIG,GAAO,gBAAkB,aACjDH,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,EAAE,WAAW,aAAY,EAGhDA,EAAM,KAAK,CAAE,CACf,IAAM+D,EAAe,mBAAmB,IAAI,CAAC/D,EAAM,KAAK,EACpD+D,CAAAA,GAAgB/D,EAAM,KAAK,EAAE,SAAS+D,EAAY,GACpD/D,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,EACrB,WAAW,IAAK,KACjB,WAAW,OAAK,KAChB,WAAW,IAAK,KAChB,WAAW,IAAK,KAChB,WAAW,OAAK,KAChB,WAAW,OAAK,KAChB,WAAW,IAAK,KAChB,WAAW,OAAK,KAChB,WAAW,IAAK,KAChB,WAAW,IAAK,KAChB,WAAW,OAAK,KAChB,WAAW,OAAK,IAAG,CAE1B,CAQA,OANIA,EAAM,KAAK,EACbA,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,EAAE,WAAW,IAAK,GAAE,EAG/CA,EAAM,KAAK,CAAGG,EAEPH,CACT,CAAE,AAEF,oBAAoB,CAEf,KAAI,CAAC,KAAK,CAAC,KAAK,EAAK,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAmB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,GACjF,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,MAAM,AAAD,GAEhB,IAAI,CAAC,kBAAkB,EAE3B,CAEA,cAAgB,AAACyB,IAEf,GADqB,mBAAmB,IAAI,CAACA,GAAG,MAC5B,CAACmC,GAAoB,SAASnC,GAAG,OAKjDA,GAAG,MAAQ,IAL6C,CAC1DA,EAAE,cAAc,GAChBA,EAAE,eAAe,GACjB,MACF,CAMI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtB,IAAI,CAAC,KAAK,CAAC,SAAS,CAACA,EAEzB,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACa,EAAAA,CAAKA,CAAAA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAW,IAAI,CAAC,aAAa,A,IAG/D,CACF,CAEA,IAAM0B,EAAQxD,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBqD,ECvH/B,OAAMI,UAAelE,EAAAA,aAAaA,CAChC,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAA0B,CACxB,IAAMsD,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EACtCtB,EAAAA,CAAAA,CAAAA,gBAA+B,CAACqB,EAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CACxD,CAEA,aAAe,KACb,IAAInD,EAAa,CAAC,EAMlB,OAJI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG3BC,CACT,CAAE,AAEF,UAAW,KACT,IAAMH,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAIrC,OAHIF,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEbA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAAC,OAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,MAAO,CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,AAAC,E,SACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,A,IAI5B,CACF,CAEA,IAAMkE,EAAS1D,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiByD,ECxChC,OAAME,UAAepE,EAAAA,aAAaA,CAChC,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAA0B,CACxB,IAAMsD,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EACtCtB,EAAAA,CAAAA,CAAAA,gBAA+B,CAACqB,EAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CACxD,CAEA,aAAe,KACb,IAAInD,EAAa,CAAC,EAMlB,OAJI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG3BC,CACT,CAAE,AAEF,UAAW,KACT,IAAMH,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAIrC,OAHIF,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEbA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAAC,OAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,MAAO,CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,AAAC,E,SACvD,IAAI,CAAC,KAAK,CAAC,QAAQ,A,IAI5B,CACF,CAEA,IAAMoE,EAAS5D,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB2D,G,0DC1ChC,IAAME,EAAaC,EAAAA,CAAAA,CAAAA,aAA6B,EAoBhD,OAAMC,UAAcxE,EAAAA,aAAaA,CACvB,oBAA2C,IAAIyE,GAAsB,AAE7E,aAAYxE,CAAiB,CAAE,CAC7B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,OAAQ,GACR,SAAU,GACV,UAAW,EACb,CACF,CAEA,mBAAoB,CAClB,IAAMsD,EAAOmB,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,IAAI,EACJrE,QAAQ,OAAO,iBAAmBC,EAAAA,EAAAA,CAAAA,cAA6B,EAChEiD,GAAQA,EAAK,aAAa,GAC3CA,GAAM,eAAe,WAAW,SAAS,yCAI5CA,EAAK,KAAK,CAAC,KAAK,CAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAI,EACnDA,EAAK,KAAK,CAAC,MAAM,CAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAAI,IAJrDA,EAAK,KAAK,CAAC,KAAK,CAAG,OACnBA,EAAK,KAAK,CAAC,MAAM,CAAG,QAM1B,CAEA,mBAAmBV,CAA6C,CAAE,CAC5DA,EAAU,KAAK,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EACtC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAElC,CAEA,SAAW,AAACnB,IACN,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAExB,CAAE,AAEF,cAAe,KACb,IAAItB,EAA6B,CAAC,EAC5BuE,EAAmBtE,QAAQ,OAAO,iBAAmBC,EAAAA,EAAAA,CAAAA,cAA6B,CA+BxF,OA9BqBD,QAAQ,OAAO,aAEhC,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBD,CAAAA,EAAQ,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,GAG5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BA,CAAAA,EAAM,MAAM,CAAG,SAAQ,EAGrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrBA,CAAAA,EAAM,cAAc,CAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,AAAD,EAGvC,IAAI,CAAC,KAAK,CAAC,QAAQ,GACjB,AAAwB,SAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACrBA,EAAM,SAAS,CAAG,QACe,QAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC5BA,CAAAA,EAAM,SAAS,CAAG,SAAQ,GAIR,WAAlBA,EAAM,OAAO,EACfA,CAAAA,EAAM,OAAO,CAAG,cAAa,EAG3BuE,GACFvE,CAAAA,EAAM,SAAS,CAAG,SAAQ,EAGrBA,CACT,CAAE,AAEF,cAAe,KACb,IAAMwE,EAAevE,QAAQ,OAAO,aAChCH,EAAS,GAOb,OALI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAG1B,CAAC0E,GAAc1E,CAAAA,GAAU,qBAAoB,EAC1CA,CACT,CAAE,AAEM,kBAAmB,KACzB,OAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EACzB,IAAK,OACH,OAAO,CACT,KAAK,UACH,OAAO,CACT,SAEE,OAAO,CACX,CACF,CAAE,AAEM,eAAgB,IACf2E,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,QAAQ,KAAM,KAAO,IAAK,GAC9E,AAEM,gBAAiB,IAChBA,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,QAAQ,KAAM,KAAO,IAAK,GAC/E,AAEF,UAAW,KACT,IAAM5E,EAAQ,CAAE,GAAG,IAAI,CAAC,KAAK,AAAC,EAC1B6E,EAAuBC,EAAAA,EAAaA,CAExC,GAAI9E,EAAM,KAAK,EAAIA,AAAgB,KAAhBA,EAAM,KAAK,CAAS,CACrC,GACG,AAAuB,UAAvB,OAAOA,EAAM,KAAK,EAAiBA,EAAM,KAAK,CAAC,UAAU,CAAC,YAC3DA,EAAM,KAAK,CAAC,UAAU,CAAC,YAGvB,OADA6E,EAAe7E,EAAM,KAAK,CAG5B,GACE,AAAuB,UAAvB,OAAOA,EAAM,KAAK,EACjBA,CAAAA,EAAM,KAAK,CAAC,QAAQ,CAAC,WAAaA,EAAM,KAAK,CAAC,QAAQ,CAAC,yBAAwB,EAChF,CACA,IAAM+E,EAAW,IAAIC,IAAIX,EAAarE,EAAM,KAAK,EACjD+E,EAAI,YAAY,CAAC,MAAM,CAAC,QAAS,IAAI,CAAC,aAAa,GAAG,QAAQ,IAC9DA,EAAI,YAAY,CAAC,MAAM,CAAC,SAAU,IAAI,CAAC,cAAc,GAAG,QAAQ,IAChEA,EAAI,YAAY,CAAC,MAAM,CAAC,WAAY,IAAI,CAAC,gBAAgB,GAAG,QAAQ,IACpEA,EAAI,YAAY,CAAC,MAAM,CAAC,IAAKE,KAAK,GAAG,GAAG,QAAQ,IAChDJ,EAAeE,EAAI,QAAQ,EAC7B,MACEF,EAAe7E,EAAM,KAAK,AAE9B,MAAWA,EAAM,gBAAgB,EAC/B6E,CAAAA,EAAe7E,EAAM,gBAAgB,AAAD,EAGtC,IAAMkF,EAAYxC,EAAAA,IAAAA,CAAAA,KAAU,CAACmC,GAAc,QAAQ,GAWnD,OATIK,IAAcxC,EAAAA,IAAAA,CAAAA,KAAU,EAC1BmC,CAAAA,EAAe5C,EAAAA,CAAAA,CAAAA,sBAAqC,CAClDiD,EACAlF,GAAO,OAAO,OAAO,YAAY,QAAQ,KAAM,KAAO,EACtDA,GAAO,OAAO,QAAQ,YAAY,QAAQ,KAAM,KAAO,EACvD,IAAI,CAAC,gBAAgB,GAAE,EAIpB6E,CACT,CAAE,AAEF,8BAA+B,IACtB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,AAAgC,KAAhC,IAAI,CAAC,KAAK,CAAC,gBAAgB,AACjE,AAEF,SAAU,AAACpD,IACT,GAAI,CAAEA,CAAAA,EAAE,MAAM,YAAY0D,gBAAe,EAAI,OAE7C,IAAMC,EAAqC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC3D,EAAE,aAAa,CAAC,GAAG,GAAK,EAGhG,GAAI2D,GAA8B,EAAG,CACnC3D,EAAE,aAAa,CAAC,OAAO,CAAG,KAC1BA,EAAE,aAAa,CAAC,GAAG,CAAGqD,EAAAA,EAAaA,CACnC,MACF,CAEA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAACrD,EAAE,aAAa,CAAC,GAAG,CAAE2D,EAA6B,GAE/E,IAAIC,EAA0BP,EAAAA,EAAaA,CAC3C,GAAI,IAAI,CAAC,4BAA4B,GAAI,CACvC,IAAMQ,EAA0B5C,EAAAA,IAAAA,CAAAA,KAAU,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,GAE5E4C,IAAoB5C,EAAAA,IAAAA,CAAAA,KAAU,EAChC2C,CAAAA,EAAkBpD,EAAAA,CAAAA,CAAAA,sBAAqC,CACrDqD,EACA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,QAAQ,KAAM,KAAO,EACzD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,QAAQ,KAAM,KAAO,EAC1D,IAAI,CAAC,gBAAgB,GAAE,EAI3B7D,EAAE,MAAM,CAAC,GAAG,CAAG4D,EACf,MACF,CAEA5D,EAAE,MAAM,CAAC,GAAG,CAAG4D,CACjB,CAAE,AAEF,SAAoB,QAClB,AAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAEtB,UAACE,EAAAA,CAAcA,CAAAA,CACb,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC7B,aAAc,AAACC,GAAe,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,CAAW,G,SAEnE,UAAC,OACC,GAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CACjB,UAAW,CAACpF,QAAQ,OAAO,aAC3B,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,eAAgB,IAAM,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,AAAC,GACrE,UAAW,IAAI,CAAC,YAAY,GAC5B,SAAU,IAAI,CAAC,QAAQ,CACvB,IAAK,IAAI,CAAC,QAAQ,GAClB,MAAO,IAAI,CAAC,YAAY,GACxB,QAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAC3B,QAAS,IAAI,CAAC,OAAO,A,KAO3B,UAAC,OACC,GAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CACjB,UAAW,CAACA,QAAQ,OAAO,aAC3B,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,UAAW,IAAI,CAAC,YAAY,GAC5B,SAAU,IAAI,CAAC,QAAQ,CACvB,IAAK,IAAI,CAAC,QAAQ,GAClB,MAAO,IAAI,CAAC,YAAY,GACxB,QAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAC3B,QAAS,IAAI,CAAC,OAAO,A,EAG3B,CACF,CAEA,IAAMqF,EAAQjF,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB+D,G,yBCtN/B,OAAMmB,UAAc3F,EAAAA,aAAaA,CAC/B,YAAYC,CAAiB,CAAE,CAC7B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAA0B,CACxB,IAAI,CAAC,WAAW,EAClB,CAEA,YAAc,KACZ,IAAMsD,EAAYC,EAAAA,WAAoB,CAAC,IAAI,EACvCpD,EAA6BD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EACzD,GACE,IAAI,CAAC,KAAK,EAAE,OAAO,aAAe,cAClCoD,GACAA,EAAK,QAAQ,EACbA,EAAK,QAAQ,CAAC,MAAM,CAAG,GACvBlD,OAAO,KAAK,CAAC,cAAc,GAAKC,EAAAA,EAAAA,CAAAA,cAA6B,CAC7D,CACA,IAAIsF,EAAW,EACX,KAAI,CAAC,KAAK,EAAE,OAAO,UAAY,UACjCA,CAAAA,EAAW,EAAG,EAEhB1D,EAAAA,CAAAA,CAAAA,gBAA+B,CAACqB,EAAMnD,EAAOwF,EAC/C,CACF,CAAE,AAEF,oBAAoB,CAClB,GAAI,CAAEC,UAAAA,CAAS,CAAE/C,MAAAA,CAAK,CAAEgD,YAAAA,CAAW,CAAE,CAAG,IAAI,CAAC,KAAK,CAClD,GACEA,AAAenF,KAAAA,GAAfmF,GACAA,AAAe,IAAfA,GACAA,AAAe,MAAfA,GACChD,CAAAA,AAAU,KAAVA,GAAuCA,MAAvBA,CAAoC,EAErD,OAAOgD,EAET,GAAID,GAAa/C,GAASA,GAAO,YAAY,SAAW,GACtD,OAAQ+C,GACN,IAAK,QACH,GAAIE,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,OAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GACG,MAAM,CAACD,OAAOjD,IACd,OAAO,CAAC,IAAK,GAElB,KAAK,cACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,OAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GACG,MAAM,CAACD,OAAOjD,IACd,OAAO,CAAC,IAAK,GAElB,KAAK,WACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,QAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,MAAM,CAACD,OAAOjD,GAEnB,KAAK,YACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,QAET,MAAO,CAAC,CAAC,EAAEiD,OAAOjD,GAAO,cAAc,CAAC,QAAS,CAC/C,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,CAAC,AAEN,KAAK,YACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,QAET,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,MAAM,CAACD,OAAOjD,GAEnB,KAAK,kBACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,KAET,MAAO,CAAC,CAAC,EAAEiD,OAAOjD,GAAO,cAAc,CAAC,QAAS,CAC/C,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,CAAC,AAEN,KAAK,kBACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,KAET,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,MAAM,CAACD,OAAOjD,GAEnB,KAAK,QACH,OAAOmD,IAAAA,SAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,iBAE7C,KAAK,UACH,MAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,AAE/B,KAAK,eACH,IAAMC,EAAUH,OAAOjD,GACvB,OAAOqD,MAAMD,GAAWpD,EAAQoD,EAAQ,OAAO,CAAC,EAElD,KAAK,eACH,IAAME,EAAUL,OAAOjD,GACvB,OAAOqD,MAAMC,GAAWtD,EAAQsD,EAAQ,OAAO,CAAC,EAElD,KAAK,WAIH,OAHuB,IAAI,CAAC,eAAe,CAACtD,EAAO,CACjD,UAAW,qBACb,EAGF,KAAK,OAIH,OAHmB,IAAI,CAAC,eAAe,CAACA,EAAO,CAC7C,UAAW,YACb,EAGF,KAAK,aAIH,OAHuB,IAAI,CAAC,eAAe,CAACA,EAAO,CACjD,UAAW,YACb,EAGF,KAAK,OAIH,OAHmB,IAAI,CAAC,eAAe,CAACA,EAAO,CAC7C,UAAW,UACb,EAGF,KAAK,aAIH,OAHwB,IAAI,CAAC,eAAe,CAACA,EAAO,CAClD,UAAW,QACb,EAGF,KAAK,WAKH,OAJsB,IAAI,CAAC,eAAe,CAACA,EAAO,CAChD,UAAW,sBACX,QAAS,EACX,EAGF,KAAK,cACH,GAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,AAA+B,KAA/B,IAAI,CAAC,KAAK,CAAC,eAAe,CAI1D,OAH4B,IAAI,CAAC,eAAe,CAACA,EAAO,CACtD,UAAW,IAAI,CAAC,KAAK,CAAC,eAAe,AACvC,GAGF,OAAOA,CAGT,SACE,OAAOA,CACX,KACK,CACL,GAAIA,GAAS,AAAiB,UAAjB,OAAOA,EAAoB,CACtC,IAAMuD,EAAeC,aAAa,OAAO,CAAC,MACpCC,EAAWF,GAAc,gBAAkB,OAE7C,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAkB,aAAgBvD,CAAAA,EAAM,QAAQ,CAAC,MAAQA,EAAM,QAAQ,CAAC,IAAG,GAC3FyD,GACFzD,CAAAA,EAAQA,EAAM,OAAO,CAAC,KAAM,IAAG,EAEjCA,EAAQA,EAAM,OAAO,CAAC,KAAM,MACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAkB,aAAgBA,CAAAA,EAAM,QAAQ,CAAC,MAAQA,EAAM,QAAQ,CAAC,IAAG,GAClGyD,GACFzD,CAAAA,EAAQA,EAAM,OAAO,CAAC,KAAM,IAAG,EAEjCA,EAAQA,EAAM,OAAO,CAAC,KAAM,MACnB,IAAI,CAAC,KAAK,EAAE,MAAM,gBAAkB,eACzCyD,GAAYzD,AAAa,MAAbA,CAAK,CAAC,EAAE,CACtBA,EAAQA,EAAM,OAAO,CAAC,IAAK,KACL,MAAbA,CAAK,CAAC,EAAE,EACjBA,CAAAA,EAAQA,EAAM,OAAO,CAAC,IAAK,IAAG,EAGpC,CAEA,OAAOA,GAAO,UAChB,CACF,CAEA,gBAAkB,CAACA,EAAY0D,KAC7B,GAAI,CACF,IAAM1E,EAAOC,IAAO,IAAImD,KAAKpC,IAE7B,GAAI,CAAChB,EAAK,OAAO,GACf,OAAOgB,EAGT,IAAI5C,EAAc4B,EAAK,MAAM,CAAC0E,EAAK,SAAS,EAS5C,OAPIA,EAAK,OAAO,EACdtG,CAAAA,EAAS4B,EAAK,OAAO,EAAC,EAGpB5B,EAAO,OAAO,CAAC,WAAa,IAC9BA,CAAAA,EAAS4C,CAAI,EAER5C,CACT,CAAE,MAAOuG,EAAS,CAChB,OAAO3D,CACT,CACF,CAAE,AAEF,WAAY,KACV,IAAI4D,EAAuC,CAAC,EACxCC,EAAmC,CAAC,EAExC,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CACpB,GAAM,CAEJC,UAAAA,CAAS,CACTC,YAAAA,CAAW,CACXC,WAAAA,CAAU,CACVC,aAAAA,CAAY,CACZC,WAAAA,CAAU,CACVC,aAAAA,CAAY,CACZC,YAAAA,CAAW,CACXC,cAAAA,CAAa,CACbC,MAAAA,CAAK,CACLC,OAAAA,CAAM,CACNC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,SAAAA,CAAQ,CACRC,UAAAA,CAAS,CACTC,UAAAA,CAAS,CACT9G,WAAAA,CAAU,CACV+G,QAAAA,CAAO,CAEPC,gBAAAA,CAAe,CAEfC,YAAAA,CAAW,CACXC,eAAAA,CAAc,CACdC,iBAAAA,CAAgB,CAChBC,kBAAAA,CAAiB,CACjBC,gBAAAA,CAAe,CACfC,oBAAAA,CAAmB,CACnBC,qBAAAA,CAAoB,CACpBC,wBAAAA,CAAuB,CACvBC,uBAAAA,CAAsB,CACtBC,YAAAA,CAAW,CAEXC,OAAAA,CAAM,CAEN,GAAGC,EACJ,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAEpB7B,EAAc6B,EAEd9B,EAAkB,CAChBE,UAAAA,EACAC,YAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,WAAAA,EACAC,aAAAA,EACAC,YAAAA,EACAC,cAAAA,EACAC,MAAAA,EACAC,OAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,SAAAA,EACAC,UAAAA,EACAC,UAAAA,EACA9G,WAAAA,EACA+G,QAAAA,EACAC,gBAAAA,EACAC,YAAAA,EACAC,eAAAA,EACAC,iBAAAA,EACAC,kBAAAA,EACAC,gBAAAA,EACAC,oBAAAA,EACAC,qBAAAA,EACAC,wBAAAA,EACAC,uBAAAA,EACAC,YAAAA,EACAC,OAAAA,CACF,CACF,CAyCA,OAvCA7B,EAAgB,MAAM,CAAG,UACzBC,EAAY,MAAM,CAAG,UACjB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAC9BD,EAAgB,MAAM,CAAG,UACzBC,EAAY,MAAM,CAAG,WAGS,UAA5BD,EAAgB,OAAO,EACzBA,CAAAA,EAAgB,OAAO,CAAG,cAAa,EAGrC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,IAC7CA,EAAgB,QAAQ,CAAG,SAE3BC,EAAY,OAAO,CAAG,cACtBA,EAAY,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAChDA,EAAY,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAC1CA,EAAY,eAAe,CAAG,YAG5BtG,OAAO,KAAK,EAAE,cAAgBA,OAAO,KAAK,CAAC,cAAc,GAAKC,EAAAA,EAAAA,CAAAA,cAA6B,GAC7FoG,EAAgB,KAAK,CAAG,OACxBA,EAAgB,MAAM,CAAG,OACzBC,EAAY,KAAK,CAAG,OACpBA,EAAY,MAAM,CAAG,OACrBD,EAAgB,OAAO,CAAG,eAC1BA,EAAgB,UAAU,CAAG,SAGA,aAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,GACxBC,EAAY,WAAW,CAAG,cAC1BA,EAAY,eAAe,CAAG,YAG5B,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,AAA2B,eAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,AAAgB,IACnEA,EAAY,WAAW,CAAG,gBAC1BA,EAAY,eAAe,CAAG,SAGzB,CAAED,gBAAAA,EAAiBC,YAAAA,CAAY,CACxC,CAAE,AAEF,6BAA8B,AAAC8B,IAC7B,IAAIC,EAAYD,GAAK,MAAM,OAE3B,OAAO5D,SADP6D,EAAOA,GAAM,KAAK,IAEpB,CAAE,AAEF,UAAW,KACT,IAAMzI,EAAQ,CAAE,GAAG,IAAI,CAAC,KAAK,AAAC,EAK9B,OAJIA,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAGbA,CACT,CAAE,AAEF,aAAc,KACZ,IAAM0I,EAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAC7C,GACEA,AAAuB,cAAvBA,GACAA,AAAuB,cAAvBA,GACAA,AAAuB,eAAvBA,EACA,CACA,IAAMtC,EAAeC,aAAa,OAAO,CAAC,MAC1C,GAAI,CAACD,EAAc,OAEnB,OAAOA,EAAa,OAAO,CAAC,IAAK,IACnC,CAGF,CAAE,AAEF,aAAc,KACZ,GAAM,CAAEK,gBAAAA,CAAe,CAAEC,YAAAA,CAAW,CAAE,CAAG,IAAI,CAAC,SAAS,GACvD,MACE,UAAC,OAAI,MAAOD,E,SACV,UAAC,SAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,MAAOC,EAAa,KAAM,IAAI,CAAC,WAAW,G,SACnE,IAAI,CAAC,iBAAiB,E,IAI/B,CAAE,AAEF,SAAoB,QAClB,AAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAElB,sB,SACE,UAACpG,EAAAA,CAAOA,CAAAA,CAAC,MAAO,QAAS,MAAO,IAAI,CAAC,KAAK,CAAC,OAAO,C,SAC/C,IAAI,CAAC,WAAW,E,KAMlB,IAAI,CAAC,WAAW,EACzB,CACF,CAEA,IAAMqI,EAAQzH,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAoBV,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBkF,GAAQ,S,iBC5b3D,OAAMkD,WAAqB7I,EAAAA,aAAaA,CACtC,YAAYC,CAAyB,CAAE,CACrC,KAAK,CAACA,EACR,CAEA,QAAoB,CAClB,MACE,sB,SACE,UAAC6I,GAAAA,CAAUA,CAAAA,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,WAAY,E,IAG9C,CACF,CCTA,MAAMC,WAAoB/I,EAAAA,aAAaA,CACrC,YAAYC,CAAwB,CAAE,CACpC,KAAK,CAACA,EACR,CAEQ,eAAiB,AAAC6C,IACxB,GAAKA,QAEL,AAAI,AAAiB,UAAjB,OAAOA,EACFA,EACJ,KAAK,CAAC,KACN,GAAG,CAAC,AAACkG,GAAMA,EAAE,IAAI,IACjB,MAAM,CAACjG,SAGLkG,MAAM,OAAO,CAACnG,GAASA,EAAQ,CAACA,EAAM,AAC/C,CAAE,AAEF,UAAW,KACT,IAAM7C,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAW3C,GATIF,EAAM,OAAO,EAAIgJ,MAAM,OAAO,CAAChJ,EAAM,OAAO,EAC9CA,EAAM,OAAO,CAAGA,EAAM,OAAO,CAAC,GAAG,CAAC,AAACiJ,GAAiB,EAClD,GAAGA,CAAM,CACT,WAAYA,GAAQ,KAAK,YAAY,aACvC,IAEAjJ,EAAM,OAAO,CAAG,EAAE,CAGhBA,EAAM,KAAK,CAAE,CACf,IAAMkJ,EAAS,IAAI,CAAC,cAAc,CAAClJ,EAAM,KAAK,CAC9CA,CAAAA,EAAM,KAAK,CAAGkJ,GACV,IAAI,AAACH,IACL,GAAIA,AAAK,MAALA,EAAW,OAAOA,EACtB,IAAMI,EAAiBnJ,EAAM,OAAO,EAAE,KAAK,AAACoJ,GAAaA,GAAK,aAAeL,GAAG,YAAY,eAC5F,OAAOI,GAAgB,KAAOJ,CAChC,GACC,OAAOjG,QACZ,CASA,OAPA9C,EAAM,IAAI,CAAG,WACbG,EAAM,OAAO,CAAG,eAChBH,EAAM,KAAK,CAAGG,EAEV,CAACH,EAAM,KAAK,EACdA,CAAAA,EAAM,KAAK,CAAGU,KAAAA,CAAQ,EAEjBV,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UD5Ca4I,GC4CAA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,A,IAGvC,CACF,CAEA,IAAMS,GAAcP,G,4BC/DpB,OAAMQ,WAAevJ,EAAAA,aAAaA,CAChC,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,IAAIoH,EAAS,AAAyB,SAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAe,AAAyB,UAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAe,QAAU,OAI7F,OAHI,IAAI,CAAC,KAAK,CAAC,MAAM,EACnBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,MAAM,AAAD,EAGzB,sB,SACE,UAACmC,GAAAA,CAASA,CAAAA,CAAC,UAAW,CAAEnC,OAAAA,CAAO,EAAG,YAAa,CAAE,QAAS,MAAO,EAAI,GAAG,IAAI,CAAC,KAAK,A,IAGxF,CACF,CAEA,IAAMoC,GAAShJ,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB8I,I,iBCjBhC,OAAMG,WAAoB1J,EAAAA,aAAaA,CACrC,YAAYC,CAAsB,CAAE,CAClC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAMA,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EACjCC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EACnCyE,EAAevE,OAAO,KAAK,EAAE,aAkCnC,GAjCKD,EAKM,CAACA,EAAM,KAAK,GACrBA,EAAM,KAAK,CAAG,OACdH,EAAM,KAAK,CAAGG,IANdA,EAAQ,CACN,MAAO,MACT,EACAH,EAAM,KAAK,CAAGG,GAKZH,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,EAAM,gBAAgB,EACxB,OAAOA,EAAM,gBAAgB,CAE3BA,EAAM,MAAM,EACd,OAAOA,EAAM,MAAM,CAEjBA,EAAM,IAAI,EACZ,OAAOA,EAAM,IAAI,CAEfA,EAAM,GAAG,GACPA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAGA,EAAM,GAAG,EAAI2E,AAAiB,KAAjBA,GAC5C3E,CAAAA,EAAM,KAAK,CAAGA,EAAM,GAAG,AAAD,EAExB,OAAOA,EAAM,GAAG,EAEdA,EAAM,GAAG,GACPA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAGA,EAAM,GAAG,EAAI2E,AAAiB,KAAjBA,GAC5C3E,CAAAA,EAAM,KAAK,CAAGA,EAAM,GAAG,AAAD,EAExB,OAAOA,EAAM,GAAG,EAEdA,AAAgB,OAAhBA,EAAM,KAAK,CACbA,EAAM,KAAK,CAAG,QACT,GAAIA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,CAAE,CAC3C,IAAM0J,EAAMxJ,IAAAA,KAAO,CAACF,EAAM,KAAK,CAAC,UAAU,CAC1C,QAAOA,EAAM,KAAK,CAClBA,EAAM,KAAK,CAAG0J,CAChB,CACA,OAAO1J,CACT,CAAE,AAEF,gBAAiB,AAACkJ,IAChB,GAAM,CAAES,eAAAA,CAAc,CAAEC,WAAAA,CAAU,CAAE,CAAGV,SACvC,AAAIU,AAAc,MAAdA,EACKD,AAAmB,KAAnBA,EAEL,IAAI,CAAC,KAAK,CAAC,GAAG,EAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAC3BC,GAAc,IAAI,CAAC,KAAK,CAAC,GAAG,EAAIA,GAAc,IAAI,CAAC,KAAK,CAAC,GAAG,CAEjE,IAAI,CAAC,KAAK,CAAC,GAAG,CACTA,GAAc,IAAI,CAAC,KAAK,CAAC,GAAG,CAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,CACTA,GAAc,IAAI,CAAC,KAAK,CAAC,GAAG,CAE9BA,CACT,CAAE,AAEF,UAAW,AAAC/G,IACV,GAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CACvB,IAAMgH,EAAWhH,AAAenC,KAAAA,GAAfmC,EAAM,KAAK,CAAgB3C,IAAAA,KAAO,CAAC2C,EAAM,UAAU,EAAIA,EACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACgH,EACtB,CACF,CAAE,AAEF,QAAS,AAACpI,IACR,IAAIoI,EAAWpI,GAAG,QAAQ,MACtBA,GAAG,QAAQ,MAAM,SAAS,MAC5BoI,CAAAA,EAAWjF,SAASiF,EAAS,OAAO,CAAC,KAAM,IAAG,EAEzBnJ,KAAAA,IAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAkB,AAAmB,OAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAaoJ,WAAWD,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,EAClG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAEbnJ,KAAAA,IAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAkB,AAAmB,OAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAaoJ,WAAWD,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,EAClG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAEhC,IAAI,CAAC,KAAK,CAAC,MAAM,EACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CAACpI,EAEtB,CAAE,AAEF,sBAAuB,IACrB,AAAI,AAA+B,KAA/B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CACtB,IAEF,GACP,AAEF,SAAU,KACR,IACE,KAAI,CAAC,KAAK,CAAC,IAAI,EACd,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,MACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAG,GAI3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAGf,KAAAA,CAC3E,CAAE,AAEF,WAAY,IACH,IAAI,CAAC,KAAK,CAAC,MAAM,EAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAGA,KAAAA,CAC/E,AAEF,qBAAsB,IACb,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAG,GACnE,AAEF,SAA0B,QAExB,AAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,AAA4B,UAA5B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAiBN,OAAO,KAAK,EAAE,iBAAmB,EACxF,UAACkC,EAAAA,CAAKA,CAAAA,CAAC,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,A,GAG9D,UAACyH,GAAAA,CAAYA,CAAAA,CACV,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,YAAazH,EAAAA,CAAKA,CAClB,cAAe,IAAI,CAAC,QAAQ,CAC5B,iBAAkB,IAAI,CAAC,mBAAmB,GAC1C,kBAAmB,MAAI,CAAC,KAAK,CAAC,qBAAqB,EAAG,IAAI,CAAC,oBAAoB,GAC/E,KAAM,IAAI,CAAC,OAAO,GAClB,OAAQ,IAAI,CAAC,SAAS,GACtB,OAAQ,IAAI,CAAC,MAAM,A,EAIzB,CACF,CAEA,IAAM0H,GAAcxJ,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBiJ,I,iBCxIrC,OAAMQ,WAAmBlK,EAAAA,aAAaA,CACpC,OAAwB,0BAA4B,CAAC,GAAI,GAAI,GAAI,IAAI,AAAC,AAEtE,aAAYC,CAAsB,CAAE,CAClC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,GACjF,QAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,CACjC,CACF,CAEA,YAAc,KACZ,GAAM,CAAEkK,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,CAC/B,OAAOA,GAAY,EACrB,CAAE,AAEF,gBAAiB,KACf,IAAIC,EAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAE5G,MADI,EAACA,GAAWA,AAAY,IAAZA,CAAY,GAAGA,CAAAA,EAAU,GAClCA,CACT,CAAE,AAEK,gBAAiB,KACtB,IAAMD,EAAW,IAAI,CAAC,WAAW,GAEjC,MAAO,CAAEA,SAAAA,EAAUC,QADH,IAAI,CAAC,cAAc,EACR,CAC7B,CAAE,AAEK,mBAAoB,AAACC,IAC1B,IAAI,CAAC,YAAY,CAACA,EACpB,CAAE,AAEK,aAAc,AAACF,IACpB,IAAI,CAAC,QAAQ,CAAC,CAAEA,SAAAA,CAAS,EAAG,KAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAEA,EACxC,EACF,CAAE,AAEF,cAAe,CAACG,EAAcH,EAAmB,IAAI,CAAC,WAAW,EAAE,IACjE,IAAI,CAAC,QAAQ,CAAC,CAAEA,SAAAA,EAAU,QAASG,CAAK,EAAG,KACzC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAGA,EAAMH,EAC9B,EACF,CAAE,AAEF,kBAAmB,CAACC,EAAiBD,KACnC,IAAI,CAAC,QAAQ,CAAC,CAAEA,SAAAA,EAAUC,QAAAA,CAAQ,EAAG,KACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAGA,EAASD,EACjC,EACF,CAAE,AAEF,mBAAoB,KAClB,IAAIjK,EAAc,CAAC,EAkBnB,OAjBI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAE/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpBD,CAAAA,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,EAEnC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBA,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBT,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBT,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE/BT,EAAO,SAAS,CAAG,SACnBA,EAAO,UAAU,CAAG,SACbA,CACT,CAAE,AAEF,qBAAsB,KACpB,IAAIA,EAAc,CAAC,EA2BnB,OA1BI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAE/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpBD,CAAAA,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,EAEnC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBA,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBT,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACpBT,CAAAA,EAAO,WAAW,CAAGS,KAAAA,CAAQ,EAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACpBT,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAc,EAEvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACpBA,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAc,EAEvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,kBACpBA,CAAAA,EAAO,gBAAgB,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAe,EAE7DA,EAAO,SAAS,CAAG,SACnBA,EAAO,UAAU,CAAG,SACbA,CACT,CAAE,AAEF,UAAW,IACF,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACxB,UAACH,EAAIA,CAAC,SAAS,aAAa,MAAO,CAAE,aAAc,CAAE,C,GAErD,IAAI,CAAC,kBAAkB,CAAC,QAE1B,AAEF,aAAc,KACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,KACtC,AAEF,aAAc,IACL,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,UAACA,EAAIA,CAAC,SAAS,c,GAAoB,IAAI,CAAC,kBAAkB,CAAC,WACjG,AAEF,SAAU,IACD,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,UAACA,EAAIA,CAAC,SAAS,e,GAAqB,IAAI,CAAC,kBAAkB,CAAC,OAClG,AAEF,aAAc,KACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,KACtC,AAEF,SAAU,IACD,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACxB,UAACA,EAAIA,CAAC,SAAS,YAAY,MAAO,CAAE,aAAc,CAAE,C,GAEpD,IAAI,CAAC,kBAAkB,CAAC,OAE1B,AAEF,YAAa,CACXuK,EACAC,EACAC,IAEA,AAAID,AAAS,SAATA,EACK,UAAC,KAAE,MAAO,IAAI,CAAC,iBAAiB,G,SAAKD,C,GAE1CC,AAAS,SAATA,EACK,UAAC,KAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAAK,IAAI,CAAC,WAAW,E,GAE5DA,AAAS,SAATA,EACK,UAAC,KAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAAK,IAAI,CAAC,OAAO,E,GAExDA,AAAS,cAATA,EACK,UAAC,KAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAAK,IAAI,CAAC,WAAW,E,GAE5DA,AAAS,cAATA,EACK,UAAC,KAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAAK,IAAI,CAAC,WAAW,E,GAEzDC,CACP,AAEF,UAAW,AAACvK,IACV,IAAMsD,EAA8BC,EAAAA,WAAoB,CAAC,IAAI,EAC7D,GAAI,CAACD,EACH,OAEF,IAAMkH,EAAkBlH,GAAkB,iBAAiB,6BAEvDkH,GAAaA,EAAU,MAAM,EAAIA,EAAU,MAAM,CAAG,GACtDA,EAAU,OAAO,CAAC,AAACC,IACbzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjDyK,CAAAA,EAAQ,KAAK,CAAC,eAAe,CAAGzK,EAAM,KAAK,CAAC,WAAW,AAAD,EAEpDA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,iBAAiB,EACvDyK,CAAAA,EAAQ,KAAK,CAAC,sBAAsB,CAAG,CAAC,EAAEzK,EAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,AAAD,EAExEA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,cAAc,EACpDyK,CAAAA,EAAQ,KAAK,CAAC,mBAAmB,CAAG,CAAC,EAAEzK,EAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,AAAD,EAElEA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,eAAe,EACrDyK,CAAAA,EAAQ,KAAK,CAAC,oBAAoB,CAAG,CAAC,EAAEzK,EAAM,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,AAAD,EAEpEA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,gBAAgB,EACtDyK,CAAAA,EAAQ,KAAK,CAAC,qBAAqB,CAAG,CAAC,EAAEzK,EAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,AAAD,EAGxEA,GACAA,EAAM,KAAK,EACVA,CAAAA,EAAM,KAAK,CAAC,iBAAiB,EAC5BA,EAAM,KAAK,CAAC,cAAc,EAC1BA,EAAM,KAAK,CAAC,eAAe,EAC3BA,EAAM,KAAK,CAAC,gBAAe,IAE7ByK,EAAQ,KAAK,CAAC,OAAO,CAAG,OACxBA,EAAQ,KAAK,CAAC,kBAAkB,CAAG,SACnCA,EAAQ,KAAK,CAAC,cAAc,CAAG,UAE7BzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjDyK,CAAAA,EAAQ,KAAK,CAAC,eAAe,CAAGzK,EAAM,KAAK,CAAC,WAAW,AAAD,EAGrDA,CAAAA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,mBAAmB,EACxDA,EAAM,KAAK,CAAC,sBAAsB,EAClCA,EAAM,KAAK,CAAC,oBAAoB,EAChCA,EAAM,KAAK,CAAC,uBAAuB,AAAD,GAElCyK,CAAAA,EAAQ,KAAK,CAAC,gBAAgB,CAAG,CAAC,EAAEzK,EAAM,KAAK,CAAC,mBAAmB,EAAI,EAAE,GAAG,EAC1EA,EAAM,KAAK,CAAC,oBAAoB,EAAI,EACrC,GAAG,EAAEA,EAAM,KAAK,CAAC,uBAAuB,EAAI,EAAE,GAAG,EAAEA,EAAM,KAAK,CAAC,sBAAsB,EAAI,EAAE,EAAE,CAAC,AAAD,EAE5FA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,EAC3CyK,CAAAA,EAAQ,KAAK,CAAC,KAAK,CAAGzK,EAAM,KAAK,CAAC,KAAK,AAAD,CAE1C,GAEF,IAAI0K,EAA0BpH,GAAkB,iBAAiB,mBAE7DoH,GAAqBA,EAAkB,MAAM,EAAIA,EAAkB,MAAM,CAAG,GAC9EA,EAAkB,OAAO,CAAC,AAACD,IACrBzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjDyK,CAAAA,EAAQ,KAAK,CAAC,eAAe,CAAG,aAAY,EAE1CzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjDyK,CAAAA,EAAQ,KAAK,CAAC,eAAe,CAAG,KAAI,EAElCzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjDyK,CAAAA,EAAQ,KAAK,CAAC,eAAe,CAAG,MAAK,EAEnCzK,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,YAAY,EAClDyK,CAAAA,EAAQ,KAAK,CAAC,gBAAgB,CAAG,KAAI,CAEzC,GAEF,IAAME,EAAkBrH,GAAkB,iBAAiB,mCACvDqH,GAAaA,EAAU,MAAM,EAAIA,EAAU,MAAM,CAAG,GAClD3K,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,EAC3C2K,CAAAA,CAAS,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAG3K,EAAM,KAAK,CAAC,KAAK,AAAD,EAI/C,IAAM4K,EAAoBtH,GAAkB,iBAAiB,wCACzDsH,GAAeA,EAAY,MAAM,EAAIA,EAAY,MAAM,CAAG,IACxD5K,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG5K,EAAM,KAAK,CAAC,WAAW,AAAD,EAE3DA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,EAC3C4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAG5K,EAAM,KAAK,CAAC,KAAK,AAAD,EAE3CA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,QAAQ,EAC9C4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAG5K,EAAM,KAAK,CAAC,QAAQ,AAAD,EAEjDA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,AAAD,EAGpEA,CAAAA,GAAO,OAAO,gBACdA,GAAO,OAAO,mBACdA,GAAO,OAAO,iBACdA,GAAO,OAAO,gBAAe,IAE7B4K,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAG,OAC/BA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAG,SAC1CA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAG,UAEpC5K,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,cAAc,EACpD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,AAAD,EAEzEA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,iBAAiB,EACvD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,AAAD,EAE/EA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,eAAe,EACrD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,AAAD,EAE3EA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,gBAAgB,EACtD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,AAAD,EAE7EA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG5K,EAAM,KAAK,CAAC,WAAW,AAAD,EAG5DA,CAAAA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,mBAAmB,EACxDA,EAAM,KAAK,CAAC,sBAAsB,EAClCA,EAAM,KAAK,CAAC,oBAAoB,EAChCA,EAAM,KAAK,CAAC,uBAAuB,AAAD,GAElC4K,CAAAA,CAAW,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAG,CAAC,EAAE5K,EAAM,KAAK,CAAC,mBAAmB,EAAI,EAAE,GAAG,EACjFA,EAAM,KAAK,CAAC,oBAAoB,EAAI,EACrC,GAAG,EAAEA,EAAM,KAAK,CAAC,uBAAuB,EAAI,EAAE,GAAG,EAAEA,EAAM,KAAK,CAAC,sBAAsB,EAAI,EAAE,EAAE,CAAC,AAAD,GAIlG,IAAI6K,EAAiCvH,GAAkB,iBACrD,0DAEEuH,GAA4BA,EAAyB,MAAM,EAAIA,EAAyB,MAAM,CAAG,IAC/F7K,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG7K,EAAM,KAAK,CAAC,WAAW,AAAD,EAExEA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,KAAK,EAC3C6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAG7K,EAAM,KAAK,CAAC,KAAK,AAAD,EAExDA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,AAAD,EAE/EA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,cAAc,EACpD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,AAAD,EAEtFA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,iBAAiB,EACvD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,AAAD,EAE5FA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,eAAe,EACrD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,AAAD,EAExFA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,gBAAgB,EACtD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,AAAD,EAE1FA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,WAAW,EACjD6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAG7K,EAAM,KAAK,CAAC,WAAW,AAAD,EAGzEA,CAAAA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,mBAAmB,EACxDA,EAAM,KAAK,CAAC,sBAAsB,EAClCA,EAAM,KAAK,CAAC,oBAAoB,EAChCA,EAAM,KAAK,CAAC,uBAAuB,AAAD,GAElC6K,CAAAA,CAAwB,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAG,CAAC,EAAE7K,EAAM,KAAK,CAAC,mBAAmB,EAAI,EAAE,GAAG,EAC9FA,EAAM,KAAK,CAAC,oBAAoB,EAAI,EACrC,GAAG,EAAEA,EAAM,KAAK,CAAC,uBAAuB,EAAI,EAAE,GAAG,EAAEA,EAAM,KAAK,CAAC,sBAAsB,EAAI,EAAE,EAAE,CAAC,AAAD,GAIlG,IAAM8K,EAAwBxH,GAAkB,iBAAiB,wBAC7DwH,GAAmBA,EAAgB,MAAM,EAAIA,EAAgB,MAAM,CAAG,GACpE9K,GAASA,EAAM,mBAAmB,EACpC8K,EAAgB,OAAO,CAAC,AAACL,IACnBA,EAAQ,SAAS,CAAC,QAAQ,CAAC,8BAC7BA,EAAQ,KAAK,CAAC,eAAe,CAAGzK,EAAM,mBAAmB,CAEzDyK,EAAQ,KAAK,CAAC,eAAe,CAAGzK,EAAM,KAAK,CAAC,WAAW,EAAI,SAE/D,GAIJ,IAAM+K,EAAsBzH,GAAkB,iBAAiB,iCAE3DyH,GAAiBA,EAAc,MAAM,EAAIA,EAAc,MAAM,CAAG,GAClEA,EAAc,OAAO,CAAC,AAACA,IACjB/K,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,MAAM,EAC5C+K,EAAc,KAAK,CAAC,cAAc,CAAC,SAEvC,EAEJ,CAAE,AAEF,oBAAqB,AAACC,IACpB,IAAMb,EAAU,IAAI,CAAC,KAAK,CAAC,KAAK,CAC5BA,GACF,IAAI,CAAC,QAAQ,CAAC,CAAEA,QAAAA,CAAQ,GAG1B,IAAI,CAAC,QAAQ,CAACa,EAChB,CAAE,AAEF,mBAAoB,KAClB,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAG,GACpG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAC1B,CAAE,AAEF,eAAgB,KACd,IAAI/K,EAAc,CAAC,EAkBnB,OAjBI,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAChCA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAE3B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACpBD,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAc,EAEvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACpBA,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAc,EAEvD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,kBACpBA,CAAAA,EAAO,gBAAgB,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAe,EAEzD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpBA,CAAAA,EAAO,gBAAgB,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,GAI/CA,CACT,CAAE,AAEF,uBAAwB,KACtB,IAAMA,EAAS,IAAI,CAAC,aAAa,GAGjC,OAFAA,EAAO,SAAS,CAAG,SACnBA,EAAO,OAAO,CAAG,OACVA,CACT,CAAE,AAEF,yBAA0B,KACxB,IAAMA,EAAS,IAAI,CAAC,aAAa,GAQjC,OAPAA,EAAO,OAAO,CAAG,OACjBA,EAAO,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WACtCA,EAAO,MAAM,CAAG,OAChBA,EAAO,WAAW,CAAG,cACrBA,EAAO,YAAY,CAAG,MACtBA,EAAO,WAAW,CAAG,QACrBA,EAAO,OAAO,CAAG,UACVA,CACT,CAAE,AAEF,aAAc,KACZ,IAAI,CAAC,YAAY,CAAC,EACpB,CAAE,AAEF,gBAAiB,KACf,IAAMkK,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,EACpF,IAAI,CAAC,YAAY,CAACA,EAAU,EAC9B,CAAE,AAEF,YAAa,KACX,IAAMA,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAG,EAC1D,IAAI,CAAC,YAAY,CAACA,EAAU,EAC9B,CAAE,AAEF,YAAa,KACP,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EACzC,IAAI,CAAC,YAAY,CAACc,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAEtE,CAAE,AAEF,iBAAkB,IAEhB,AAAId,AAAW,GADC,IAAI,CAAC,cAAc,GAE1B,yBAIP,UAAC,MAAG,MAAO,IAAI,CAAC,kBAAkB,CAAC,cAAe,SAAU,EAAG,UAAU,2B,SACvE,UAAC,KAAE,QAAS,IAAI,CAAC,WAAW,CAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAC1D,IAAI,CAAC,QAAQ,E,IAIpB,AAEF,oBAAqB,IAEnB,AAAIA,AAAW,GADC,IAAI,CAAC,cAAc,GAE1B,yBAGP,UAAC,MAAG,MAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAkB,SAAU,EAAG,UAAU,2B,SAC1E,UAAC,KAAE,QAAS,IAAI,CAAC,cAAc,CAAE,MAAO,IAAI,CAAC,mBAAmB,G,SAC7D,IAAI,CAAC,WAAW,E,IAIvB,AAEF,gBAAiB,KACf,IAAMe,EAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IAC9ChB,EAAW,IAAI,CAAC,WAAW,UAEjC,AAAIgB,EAAQhB,GADI,IAAI,CAAC,cAAc,GAE1B,yBAGP,UAAC,MAAG,MAAO,IAAI,CAAC,kBAAkB,CAAC,aAAc,SAAU,EAAG,UAAU,2B,SACtE,UAAC,KAAE,QAAS,IAAI,CAAC,UAAU,CAAE,MAAO,IAAI,CAAC,mBAAmB,G,SACzD,IAAI,CAAC,OAAO,E,IAIrB,CAAE,AAEF,gBAAiB,KACf,IAAMgB,EAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IAC9ChB,EAAW,IAAI,CAAC,WAAW,UAEjC,AAAIgB,EAAQhB,GADI,IAAI,CAAC,cAAc,GAE1B,yBAGP,UAAC,MAAG,MAAO,IAAI,CAAC,kBAAkB,CAAC,aAAc,SAAU,EAAG,UAAU,2B,SACtE,UAAC,KAAE,QAAS,IAAI,CAAC,UAAU,CAAE,MAAO,IAAI,CAAC,mBAAmB,G,SACzD,IAAI,CAAC,OAAO,E,IAIrB,CAAE,AAEF,oBAAqB,AAACiB,IACpB,IAAMC,EAAW/E,aAAa,OAAO,CAAC,MAClCgF,EAAW,GAEf,OAAQD,GACN,IAAK,QACH,OAAQD,GACN,IAAK,aACHE,EAAW,mBACX,KACF,KAAK,gBACHA,EAAW,wBACX,KACF,KAAK,YACHA,EAAW,gBACX,KACF,KAAK,YACHA,EAAW,mBACX,KACF,KAAK,QACHA,EAAW,UACX,KACF,KAAK,WACHA,EAAW,kBACX,KACF,KAAK,OACHA,EAAW,UACX,KACF,KAAK,OACHA,EAAW,UACX,KACF,SACEA,EAAWF,CAEf,CACA,KACF,KAAK,QACH,OAAQA,GACN,IAAK,aACHE,EAAW,YACX,KACF,KAAK,gBACHA,EAAW,kBACX,KACF,KAAK,YACHA,EAAW,gBACX,KACF,KAAK,YACHA,EAAW,YACX,KACF,KAAK,QACHA,EAAW,MACX,KACF,KAAK,WACHA,EAAW,YACX,KACF,KAAK,OACHA,EAAW,UACX,KACF,KAAK,OACHA,EAAW,MACX,KACF,SACEA,EAAWF,CAEf,CACA,KACF,KAAK,QACHE,EAAWF,EACX,KACF,SACEE,EAAWF,CAEf,CACA,OAAOE,CACT,CAAE,AAEF,oBAAqB,KACnB,IAAMC,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAClC,GAAIA,GAAWA,EAAQ,MAAM,CAAG,EAAG,CACjC,IAAMC,EAA0B,EAAE,CAQlC,GAPAD,EAAQ,OAAO,CAAC,AAACrC,IACf,IAAMpG,EAAQoG,EAAO,IAAI,EAAE,QAAUA,CAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,AAClE,EAAC/C,MAAMrD,IAA4BA,MAAlBA,GAAyCA,AAAU,KAAVA,GAC5D0I,EAAc,IAAI,CAAC3G,SAAS/B,GAEhC,GACA0I,GAAe,KAAK,CAACC,EAAGC,IAAMD,EAAIC,GAC9BF,EAAc,MAAM,CAAG,EAAG,OAAOA,CACvC,CAEA,OAAOtB,GAAW,yBAAyB,AAC7C,CAAE,AAEF,SAAoB,CAClB,IAAMiB,EACJ,AAAqBxK,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAkB,AAAqB,OAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAa,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAG,IACtGwJ,EAAW,IAAI,CAAC,WAAW,GAC3BwB,EAA2B,AAAmC,KAAnC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAaR,EAAQ,EAC9ES,EAA0B,AAAkC,KAAlC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAaT,EAAQ,EAClF,MACE,sB,SACE,UAAC,OAAI,UAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAE,MAAO,CAAE,MAAO,OAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,CAAE,OAAQ,MAAO,E,SACpG,WAAC,OAAI,MAAO,CAAE,MAAO,cAAe,QAAS,OAAQ,WAAY,QAAS,E,UACvEQ,GACC,UAAC,MACC,UAAU,iBACV,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAa,IAAI,CAAC,uBAAuB,GAAK,CAAE,QAAS,SAAU,E,SAE3F,IAAI,CAAC,eAAe,E,GAGxB,AAA2B,KAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,EACrB,WAAC,MACC,UAAU,iBACV,MACE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CACnD,IAAI,CAAC,uBAAuB,GAC5B,CAAE,QAAS,SAAU,E,UAG1B,IAAI,CAAC,kBAAkB,GACvB,IAAI,CAAC,cAAc,G,GAGvB,AAA2B,KAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,EACrB,UAACE,GAAAA,CAAcA,CAAAA,CACb,MAAOV,EACP,SAAU,IAAI,CAAC,YAAY,CAC3B,iBAAkB,IAAI,CAAC,gBAAgB,CACvC,MAAO,IAAI,CAAC,qBAAqB,GACjC,WAAY,IAAI,CAAC,UAAU,CAC3B,SAAUhB,EACV,QAAS,IAAI,CAAC,cAAc,GAC5B,gBAAiB,IAAI,CAAC,kBAAkB,GACxC,gBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3C,gBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3C,cAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CACvC,UAAU,mB,GAGbyB,GACC,UAAC,MACC,UAAU,iBACV,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAa,IAAI,CAAC,uBAAuB,GAAK,CAAE,QAAS,SAAU,E,SAE3F,IAAI,CAAC,cAAc,E,SAOlC,CACF,CAEA,IAAME,GAAarL,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiByJ,GCpoBpC,OAAM6B,WAAc/L,EAAAA,aAAaA,CAC/B,YAAYC,CAAiB,CAAE,CAC7B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAE,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EAAG,CAC1C,CAEA,oBAA2B,CACzB,IAAI,CAAC,WAAW,EAClB,CAEA,kBAAoB,KAClB,IAAMqJ,EAAoB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAEvD,IAAI,CAACA,GAIL,GAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAE,CACxB,IAAM/I,EAAgB1B,SAAS,cAAc,CAAC,iBAE9C,GAAI,CAAC0B,EAAe,MAEhBA,CAAAA,EAAc,SAAS,EAAE,QAAQ+I,KAAe,IAClD/I,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QACpD,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,AAAD,CAE3B,CAEA,GAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CACnC,IAAML,EAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,0BAA0B,EAAE,IAAI,CAAC,eAAe,CACzF,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAC/B,EAAE,CAAC,CACCxC,EAAQmB,SAAS,aAAa,CAAC,SACrCnB,EAAM,WAAW,CAACmB,SAAS,cAAc,CAACqB,IAC1CrB,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAACnB,EACvD,CAEA,GAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAC7B,IAAMwC,EAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CACzGxC,EAAQmB,SAAS,aAAa,CAAC,SACrCnB,EAAM,WAAW,CAACmB,SAAS,cAAc,CAACqB,IAC1CrB,SAAS,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAACnB,EACvD,CACA,IAAI,CAAC,WAAW,GAClB,CAAE,AAEF,aAAc,KACZ,IAAMmD,EAAYC,EAAAA,WAAoB,CAAC,IAAI,EACvCpD,EAA6BD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CACrD,KAAI,CAAC,KAAK,EAAE,OAAO,aAAe,cAAgBoD,GAAQA,EAAK,QAAQ,EAAIA,EAAK,QAAQ,CAAC,MAAM,CAAG,GACpGrB,EAAAA,CAAAA,CAAAA,gBAA+B,CAACqB,EAAMnD,EAE1C,CAAE,AAEF,iBAAkB,AAAC0C,GACjB,AAAIA,GAASA,AAAiB,IAAjBA,EAAM,MAAM,EAAU,CAACA,EAAM,UAAU,CAAC,KAC5C,CAAC,CAAC,EAAEA,EAAM,CAAC,CAEbA,CACP,AAEF,UAAW,KACT,IAAI1C,EAAuB,CAAC,EA2B5B,GAzBI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQ,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,GAG5B,IAAI,CAAC,KAAK,CAAC,SAAS,GACO,eAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,GACtBA,EAAM,SAAS,CAAG,OAClBA,EAAM,SAAS,CAAG,UAES,aAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,GACtBA,EAAM,SAAS,CAAG,SAClBA,EAAM,SAAS,CAAG,QAES,SAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAM,QAAQ,CAAG,MAAK,EAEK,WAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAkB,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAU,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAQ,GAC9FA,CAAAA,EAAM,QAAQ,CAAG,QAAO,GAIxB,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAG,GAClFA,CAAAA,EAAM,eAAe,CAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAG5E,IAAI,CAAC,KAAK,CAAC,cAAc,EAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAG,EAAG,CACrE,IAAI6L,EAAU,IAAI,CAAC,KAAK,CAAC,cAAc,CAErCA,EADEtJ,EAAAA,IAAAA,CAAAA,MAAW,CAACsJ,GACJ,CAAC,IAAI,EAAE1H,EAAAA,CAAAA,CAAAA,aAA6B,GAAG,kCAAkC,EAAE0H,EAAQ,CAAC,CAAC,CACtFA,EAAQ,UAAU,CAAC,UAClB,CAAC,IAAI,EAAE1H,EAAAA,CAAAA,CAAAA,aAA6B,GAAG,EAAE0H,EAAQ,CAAC,CAAC,CAEnD,CAAC,IAAI,EAAEA,EAAQ,CAAC,CAAC,CAE7B7L,EAAM,cAAc,CAAG,QACvBA,EAAM,eAAe,CAAG6L,CAC1B,CAMA,OAJI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAG,GACtE7L,CAAAA,EAAM,KAAK,CAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAGzDA,CACT,CAAE,AAEF,eAAgB,KACd,IAAMgD,EAAoB,IAAI,CAAC,YAAY,GAE3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAGT,IAAM8I,EAAkB,IAAI,CAAC,kBAAkB,GACzCC,EAAe,IAAI,CAAC,eAAe,GACnCC,EAAc,IAAI,CAAC,cAAc,GACnClM,EAAS,GA2Bb,OAzBIkM,GACFlM,CAAAA,EAAS;SACN,EAAEkD,EAAU;UACX,EAAEgJ;SACH,CAAC,AAAD,EAGDF,CAAAA,GAAmBC,CAAW,IAChCjM,EAAS,CAAC,EAAEA,EAAO,CAAC,EAAEkD,EAAU;UAC5B,EAAE8I,GAAmB;UACrB,EAAEC,GAAgB;SACnB,CAAC,CAEJjM,EAAS,CAAC,EAAEA,EAAO,CAAC,EAAEkD,EAAU;UAC5B,EAAE8I,GAAmB;UACrB,EAAEC,GAAgB;SACnB,CAAC,EAGF,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7BjM,CAAAA,EAAS,CAAC,EAAEA,EAAO,CAAC,EAAEkD,EAAU;eACvB,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;OAC5D,CAAC,AAAD,EAGIlD,CACT,CAAE,AAEF,oBAAqB,KACnB,GAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAG,EACpE,MAAO,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,AAEvD,CAAE,AAEF,iBAAkB,KAChB,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,AAA4B,KAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,CACpD,MAAO,sBAEX,CAAE,AAEF,gBAAiB,KACf,GAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAG,EACrD,MAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;cAChC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,AAEzC,CAAE,AAEF,cAAe,KACb,IAAIA,EAAS,SAMb,CAJI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,AAAD,EAG/B,IAAI,CAAC,KAAK,CAAC,SAAS,EAIzBA,EAAS,CAAC,EAAEA,EAAO,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAHnEA,CAKX,CAAE,AAEF,UAAW,KACT,IAAMD,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAMrC,OAJIF,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAGhBA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,UAAC,OAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,QAAS,IAAI,CAAC,KAAK,EAAE,QAAS,UAAW,IAAI,CAAC,YAAY,GAAI,MAAO,IAAI,CAAC,QAAQ,G,SACzG,IAAI,CAAC,KAAK,CAAC,QAAQ,A,EAG1B,CACF,CAEA,IAAMoM,GAAQ5L,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBsL,GCnN/B,OAAMO,WAAiBtM,EAAAA,aAAaA,CAClC,YAAYC,CAAoB,CAAE,CAChC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEA,kBAAoB,KAClB,IAAMK,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,IAAI,CAACA,EAGL,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAmB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAO,CAChE,IAAMC,EAAgB1B,SAAS,cAAc,CAAC,iBAC1C0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,IACnEC,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QACpD,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,AAAD,EAEzB,IAAI,CAAC,kBAAkB,EACzB,EACF,CAAE,AAEF,oBAAqB,KAEnB,IAAMc,EAAQR,AADDC,EAAAA,WAAoB,CAAC,IAAI,EACnB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACnD,IAAI,CAACO,EAGD,IAAI,CAAC,KAAK,EAAE,OAAO,iBACrBA,CAAAA,EAAM,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,AAAD,EAE3D,IAAI,CAAC,KAAK,EAAE,OAAO,OACrBA,CAAAA,EAAM,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,AAAD,CAE7C,CAAE,AAEF,YAAa,KACX,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBACpB,MAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,YAAY,CAAC,AAE/E,CAAE,AAEF,UAAW,KACT,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACpB,MAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,YAAY,CAAC,AAE1D,CAAE,AAEF,eAAgB,KACd,IAAMX,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAGT,IAAMmJ,EAAU,IAAI,CAAC,UAAU,GACzBC,EAAQ,IAAI,CAAC,QAAQ,GACrB,CAAEC,WAAAA,CAAU,CAAEC,SAAAA,CAAQ,CAAEC,WAAAA,CAAU,CAAEC,cAAAA,CAAa,CAAE,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CACtEC,EAAa,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACjC3M,EAAS,GAiBb,MAhBIqM,CAAAA,GAAWC,GAASC,GAAcC,GAAYC,GAAcC,CAAY,GAW1E1M,CAAAA,GAVU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;UAC3B,EAAEmJ,AAAY5L,KAAAA,IAAZ4L,EAAwB,CAAC,EAAEA,EAAQ,CAAC,CAAG,GAAG,EAAEC,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAEpE,YAAEpJ,EAAU,IAAI,GAAG;qBAChB,EAAEsJ,EAAS;iBACf,EAAEG,EAAW;uBACP,EAAEF,EAAW;0BACV,EAAEC,EAAc;uBACnB,EAAEH,EAER;AACL;AAAU,OAAf,EAAErJ,EAAU,IAAI,GAAG;UAChB,EAAEmJ,AAAY5L,KAAAA,IAAZ4L,EAAwB,CAAC,EAAEA,EAAQ,CAAC,CAAG,GAAG,EAAEC,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;SAC7E,CAXC,AAWD,EAEEtM,CACT,CAAE,AAEF,cAAe,KACb,IAAIA,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFxEA,CAIX,CAAE,AAEF,UAAW,KACT,IAAMD,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAgB3C,MAdIC,AAAkB,UAAlBA,EAAM,OAAO,CACfA,EAAM,OAAO,CAAG,OACW,WAAlBA,EAAM,OAAO,EACtBA,CAAAA,EAAM,OAAO,CAAG,aAAY,EAG1BH,EAAM,KAAK,EAAIG,AAAwB,cAAxBA,EAAM,aAAa,CACpCH,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,WAAW,GACvCA,EAAM,KAAK,EAAIG,AAAwB,cAAxBA,EAAM,aAAa,EAC3CH,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,WAAW,EAAC,EAGnDA,EAAM,KAAK,CAAGG,EACdH,EAAM,SAAS,CAAG,cACXA,CACT,CAAE,AAEF,SAAoB,QAElB,AADqBI,OAAO,KAAK,EAAE,aAG/B,sB,SACE,UAACkC,EAAAA,CAAKA,CAAAA,CACJ,UAAW,IAAI,CAAC,YAAY,GAC3B,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,OACE,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QACC,EAAE,6BACF,OAAO,UACP,YAAY,MACZ,iBAAiB,KACjB,cAAc,O,GAEhB,UAAC,QACC,EAAE,4UACF,KAAK,S,GAEP,UAAC,QACC,EAAE,0QACF,KAAK,S,GAEP,UAAC,QACC,EAAE,sjBACF,KAAK,S,UASjB,sB,SACE,UAACA,EAAAA,CAAAA,CAAAA,QAAc,EAAC,UAAW,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,aAAa,c,IAGxF,CACF,CAEA,IAAMuK,GAAWrM,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB6L,I,0CChJlC,OAAMS,WAAkB/M,EAAAA,aAAaA,CACnC,YAAYC,CAAmB,CAAE,CAC/B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,KAAMA,EAAM,IAAI,AAClB,CACF,CAEA,QAAQ6C,CAAa,CAAE,CACrB,IAAI,CAAC,QAAQ,CAAC,CAAE,KAAMA,CAAM,EAC9B,CAEA,mBAAqB,KAEnB,IAAMiB,EAAQR,AADDC,EAAAA,WAAoB,CAAC,IAAI,EACnB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CACnD,IAAI,CAACO,EAGD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBACpBA,CAAAA,EAAM,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,eAAc,EAE5D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpBA,CAAAA,EAAM,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,CAE9C,CAAE,AAEF,uBAAwB,KACtB,GAAM,CAAE3D,MAAAA,CAAK,CAAE4M,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CAEjC9M,EAA8B,CAClC,MAAO8M,CACT,EAMA,OAJI5M,EAAM,QAAQ,EAChBF,CAAAA,EAAO,QAAQ,CAAG,CAAC,KAAK,EAAEE,EAAM,QAAQ,CAAC,sBAAsB,CAAC,AAAD,EAG1DF,CACT,CAAE,AAEF,UAAW,KACT,IAAMD,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EACrC8M,EAAqB,IAAI,CAAC,qBAAqB,GAC/CrI,EAAevE,QAAQ,OAAO,eAAiB,GAuGrD,MArGID,AAAkB,UAAlBA,EAAM,OAAO,CACfA,EAAM,OAAO,CAAG,OACW,WAAlBA,EAAM,OAAO,EACtBA,CAAAA,EAAM,OAAO,CAAG,aAAY,EAE1BH,EAAM,MAAM,EAAIA,EAAM,MAAM,CAAC,MAAM,CAAG,EACxCA,EAAM,MAAM,CAAG,UAACF,EAAIA,CAAC,MAAOkN,EAAoB,SAAU,IAAI,CAAC,KAAK,CAAC,MAAM,A,GAClEhN,EAAM,MAAM,EACrB,OAAOA,EAAM,MAAM,CAGjBA,EAAM,MAAM,EAAIA,EAAM,MAAM,CAAC,MAAM,CAAG,EACxCA,EAAM,MAAM,CAAG,UAACF,EAAIA,CAAC,MAAOkN,EAAoB,SAAU,IAAI,CAAC,KAAK,CAAC,MAAM,A,GAClEhN,EAAM,MAAM,EACrB,OAAOA,EAAM,MAAM,CAEjBA,EAAM,SAAS,EACjB,OAAOA,EAAM,SAAS,CAEpBA,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,GAAO,OAAO,WACZ,AAAyB,cAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CACtBA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAC9C,AAAyB,cAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CAC7BA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAEvDA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAEhC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,IAAI,CAAC,KAAK,EAAE,YAAc,OACrDA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,2BAA4B,IAChE,IAAI,CAAC,KAAK,EAAE,YAAc,SACnCA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAW,IAExDA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAEhCA,EAAM,SAAS,EAAI,CAAC2E,GAAgB,CAAC3E,EAAM,IAAI,EACjDA,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAGA,EAAM,SAAS,GAE/DA,EAAM,IAAI,EACZ,OAAOA,EAAM,SAAS,EAItBA,GAAO,eAAiB,IAC1BA,CAAAA,EAAM,YAAY,CAAG,KAAI,EAGvB,CAACA,GAAO,kBACVA,CAAAA,EAAM,gBAAgB,CAAG,CACvB,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,EACA,EAAK,CACH,aACS,GAEX,CACF,GAGFA,EAAM,KAAK,CAAGG,EAEPH,CACT,CAAE,AAEF,oBAAoB,CAEhB,IAAI,CAAC,KAAK,CAAC,KAAK,EACf,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,iBAAmB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAI,GAC3D,KAAI,CAAC,KAAK,CAAC,MAAM,EAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAI,IAAI,CAAC,KAAK,CAAC,UAAS,GAE/D,IAAI,CAAC,kBAAkB,GAGzB,IAAI,CAAC,QAAQ,CAAC,CAAE,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,AAAC,EACxC,CAEA,mBAAmB4C,CAA+C,CAAQ,CACpEA,EAAU,IAAI,GAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EACpC,IAAI,CAAC,QAAQ,CAAC,CAAE,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,AAAC,EAE1C,CAEA,eAAiB,AAACnB,IAchB,GAbe,UAAXA,EAAE,IAAI,GACRA,EAAE,MAAM,CAAC,KAAK,CAAG,GACjB,IAAI,CAAC,KAAK,CAAC,YAAY,GAAGA,IAGxB,KAAI,CAAC,KAAK,EAAE,aAAe,IAAQ,IAAI,CAAC,KAAK,EAAE,YAAc,MAAK,GACpEA,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,4BAA6B,IAGlD,IAAI,CAAC,KAAK,EAAE,YAAc,UAC5BA,CAAAA,EAAE,MAAM,CAAC,KAAK,CAAGA,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAW,GAAE,EAGnD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAG,EAAG,CACjE,IAAMwL,EAAU,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,GAC9CxL,CAAAA,EAAE,MAAM,CAAC,KAAK,CAAGA,EAAE,MAAM,CAAC,KAAK,EAC3B,MAAM,KACN,OAAO,AAACyL,GAASD,EAAQ,QAAQ,CAACC,KAClC,KAAK,GACX,CAEI,IAAI,CAAC,KAAK,CAAC,QAAQ,GACjB,AAAyB,cAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CACtBzL,EAAE,MAAM,CAAC,KAAK,CAAIA,EAAE,MAAM,CAAC,KAAK,CAAY,iBAAiB,CAAC,MAC5B,cAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAC7BA,CAAAA,EAAE,MAAM,CAAC,KAAK,CAAIA,EAAE,MAAM,CAAC,KAAK,CAAY,iBAAiB,CAAC,KAAI,EAEpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,GAExB,CAAE,AAEF,SAAoB,QAClB,AAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAIrB,QAAQ,OAAO,eAAiB,GAEnD,UAAC+M,KAASA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,SAAU,IAAI,CAAC,cAAc,C,SACjF,AAACC,GAAe,UAAC9K,EAAAA,CAAKA,CAAAA,CAAE,GAAG8K,CAAU,A,KAK1C,sB,SACE,UAAC9K,EAAAA,CAAKA,CAAAA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,SAAU,IAAI,CAAC,cAAc,A,IAG/D,CACF,CAEA,IAAM+K,GAAY7M,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBsM,GCpOnC,OAAMQ,WAAgCvN,EAAAA,aAAaA,CACjD,cAAwB,EAAG,AAE3B,aAAYC,CAAmC,CAAE,CAC/C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAGA,EAAM,KAAK,EAAI,CAC1B,QAAS,GACT,IAAK,GACL,IAAK,EACP,CACF,CAEA,kBAAoB,KAClB,IAAI,CAAC,sBAAsB,EAC7B,CAAE,AAEF,oBAAqB,KACnB,IAAI,CAAC,sBAAsB,EAC7B,CAAE,AAEF,wBAAyB,KAEvB,IAAMuN,EAAsBjK,AADfC,EAAAA,WAAoB,CAAC,IAAI,EACL,aAAa,CAAC,0BAE3CgK,GAAuBA,EAAoB,aAAa,EAE1DC,CAAAA,AADoBD,EAAoB,aAAa,CAAC,QAAQ,CAAC,EAAE,CAC/C,KAAK,CAAC,KAAK,CAAG,CAAC,EAAEA,EAAoB,WAAW,CAAC,EAAE,CAAC,AAAD,CAEzE,CAAE,AAEF,aAAc,IACL,IAAI,CAAC,KAAK,CAAC,GAAG,AACrB,AAEF,cAAe,IACN,IAAI,CAAC,KAAK,CAAC,GAAG,AACrB,AAEF,YAAa,IACJ,IAAI,CAAC,KAAK,CAAC,OAAO,AACzB,AAEF,cAAe,AAACE,IACd,IAAI,CAAC,QAAQ,CAAC,CAAEA,QAAAA,EAAS,IAAK,GAAI,IAAK,EAAG,EAC5C,CAAE,AAEF,cAAe,MAAOA,IACpB,IAAMC,EAAU,MAAMC,AAAAA,GAAAA,GAAAA,gBAAAA,AAAAA,EAAiBF,GACvC,GAAIC,GAAWA,EAAQ,MAAM,CAAG,GAAKA,CAAO,CAAC,EAAE,CAAC,iBAAiB,GAC/D,IAAI,CAAC,aAAa,CAAGA,CAAO,CAAC,EAAE,CAAC,iBAAiB,CAC7CA,GAAS,CACX,IAAME,EAAS,MAAMC,AAAAA,GAAAA,GAAAA,SAAAA,AAAAA,EAAUH,CAAO,CAAC,EAAE,CAC3BhN,MAAAA,GAAVkN,GACF,IAAI,CAAC,QAAQ,CAAC,CAAE,QAAS,IAAI,CAAC,aAAa,CAAE,IAAKA,EAAO,GAAG,CAAE,IAAKA,EAAO,GAAG,AAAC,EAAG,KAC3E,IAAI,CAAC,KAAK,CAAC,aAAa,EAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,GAEtB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAE,QAAS,IAAI,CAAC,aAAa,CAAE,IAAKA,EAAO,GAAG,CAAE,IAAKA,EAAO,GAAG,AAAC,EAExF,EAEJ,CAEJ,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACE,GAAAA,OAAkBA,CAAAA,CAAC,MAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,SAAU,IAAI,CAAC,YAAY,CAAE,SAAU,IAAI,CAAC,YAAY,C,SACpG,CAAC,CAAEC,cAAAA,CAAa,CAAEC,YAAAA,CAAW,CAAEC,uBAAAA,CAAsB,CAAEC,QAAAA,CAAO,CAAE,GAC/D,WAAC,OAAI,MAAO,CAAE,QAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAY,SAAW,eAAiB,OAAQ,E,UACvF,UAACpB,GAASA,CACP,GAAG,IAAI,CAAC,KAAK,CACb,GAAGiB,EAAc,CAChB,YAAa,IAAI,CAAC,KAAK,CAAC,WAAW,CACnC,UAAW,uBACb,EAAE,A,GAEJ,WAAC,OAAI,UAAU,kCAAkC,MAAO,CAAE,SAAU,WAAY,OAAQ,IAAK,E,UAC1FG,GAAW,UAAC,O,SAAI,Y,GAChBF,GAAa,IAAI,AAACG,IACjB,IAAMhL,EAAYgL,EAAW,MAAM,CAAG,0BAA4B,kBAC5DhO,EAAQgO,EAAW,MAAM,CAC3B,CAAE,gBAAiB,UAAW,OAAQ,SAAU,EAChD,CAAE,gBAAiB,UAAW,OAAQ,SAAU,EACpD,OACE,MAAC,OACE,GAAGF,EAAuBE,EAAY,CACrChL,UAAAA,EACAhD,MAAAA,CACF,EAAE,C,SAEF,MAAC,Q,SAAMgO,EAAW,WAAW,A,IAGnC,G,SAOd,CACF,CAEA,IAAMC,GAA0B5N,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB8M,I,iBChHjD,OAAMe,WAAYtO,EAAAA,aAAaA,CAC7B,YAAYC,CAAe,CAAE,CAC3B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAkCA,mBAA0B,CACHI,OAAO,KAAK,EAAE,YAYrC,CAEA,SAAW,KACT,IAAID,EAAa,CAAC,EA+BlB,OA7BI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BC,CAAAA,EAAM,MAAM,CAAG,SAAQ,EAED,UAApBA,EAAM,UAAU,EAClBA,CAAAA,EAAM,SAAS,CAAG,QAAO,EAEH,cAApBA,EAAM,UAAU,EAClBA,CAAAA,EAAM,SAAS,CAAG,YAAW,EAEP,YAApBA,EAAM,UAAU,EAClBA,CAAAA,EAAM,SAAS,CAAG,UAAS,EAetBA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACmO,GAAAA,CAAOA,CAAAA,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,MAAO,IAAI,CAAC,QAAQ,E,IAGnD,CACF,CAEA,IAAMC,GAAM/N,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB6N,I,iBC/F7B,OAAMG,WAAYzO,EAAAA,aAAaA,CAC7B,YAAYC,CAAe,CAAE,CAC3B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAIG,EAAa,CAAC,EAWlB,OATI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BC,CAAAA,EAAM,MAAM,CAAG,SAAQ,EAEzBA,EAAM,UAAU,CAAGA,EAAM,UAAU,EAAI,UACvCA,EAAM,OAAO,CAAG,OACTA,CACT,CAAE,AAEF,WAAY,KACV,GAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAC5D,IAAIsO,EAA2B,EAC3BC,EAAyB,EAO7B,OANI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7BD,CAAAA,EAAmBvO,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAEpD,IAAI,CAAC,KAAK,CAAC,cAAc,EAC3BwO,CAAAA,EAAiBxO,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAE7C,CAACuO,EAAkBC,EAAe,AAC3C,CACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,AAC1B,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACC,GAAAA,CAAOA,CAAAA,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,OAAQ,IAAI,CAAC,SAAS,GAAI,MAAO,IAAI,CAAC,QAAQ,E,IAG7E,CACF,CAEA,IAAMC,GAAMpO,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBgO,I,iBCxC7B,OAAMK,WAAe9O,EAAAA,aAAaA,CAChC,YAAYC,CAAmB,CAAE,CAC/B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAAoB,CAClB,IAAMsD,EAAOmB,AAAAA,GAAAA,EAAAA,WAAAA,AAAAA,EAAY,IAAI,EAuB7B,GAtBI,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAEtCqK,CAAAA,AADiCxL,EAAK,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,CACvE,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,AAAD,EAEvD,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAEpCwL,CAAAA,AADiCxL,EAAK,sBAAsB,CAAC,kBAAkB,CAAC,EAAE,CACtE,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAErD,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,GAEtCwL,AADiCxL,EAAK,sBAAsB,CAAC,oBAAoB,CAAC,EAAE,CACxE,KAAK,CAAC,SAAS,CAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAC/DA,EAAK,sBAAsB,CAAC,qBAAqB,MAAM,CAAG,GAE5DyL,CAAAA,AADkCzL,EAAK,sBAAsB,CAAC,oBAAoB,CAAC,EAAE,CACxE,KAAK,CAAC,SAAS,CAAG,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,AAAD,GAGnEA,GAAQ,IAAI,CAAC,KAAK,EAAI,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,GACvC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAGA,CAAAA,EAAa,KAAK,CAAC,MAAM,CAAG,OAAM,EAC7DA,EAAK,aAAa,EAAIA,EAAK,aAAa,CAAC,KAAK,EAChDA,CAAAA,EAAK,aAAa,CAAC,KAAK,CAAC,OAAO,CAAG,aAAY,GAG/CA,GAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,QAAU,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAcA,EAAK,QAAQ,EAAE,OAAS,EAAG,CACnG,IAAM8D,EAAS,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACtE9D,CAAAA,EAAK,QAAQ,CAAC,EAAE,CAAS,KAAK,CAAC,GAAG,CAAG,CAAC,EAAE8D,EAAS,EAAI,EAAE,EAAE,CAAC,AAC7D,CACA,GAAI9D,GAAQ,IAAI,CAAC,KAAK,EAAE,OAAO,OAAS,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAaA,EAAK,QAAQ,EAAE,OAAS,EAAG,CACjG,IAAM6D,EAAQ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CACpE7D,CAAAA,EAAK,QAAQ,CAAC,EAAE,CAAS,KAAK,CAAC,IAAI,CAAG,CAAC,EAAE6D,EAAQ,EAAI,EAAE,EAAE,CAAC,AAC7D,CACA,GAAI7D,EAAM,CACR,IAAM0L,EAA6B1L,EAAK,sBAAsB,CAAC,oBAAoB,CAAC,EAAE,CACtF0L,GAAe,aAAa,UAAW,IAAI,CAAC,KAAK,CAAC,EAAE,CACtD,CACF,CAEA,4BAA8B,AAACxG,IAC7B,IAAIC,EAAYD,GAAK,MAAM,OAE3B,OADAC,EAAOA,GAAM,KAAK,GAEpB,CAAE,AAEF,UAAW,KACT,IAAIzI,EAAa,CAAC,EAclB,OAbI,IAAI,CAAC,KAAK,EACZA,CAAAA,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,GAExBF,EAAM,WAAW,EACnB,OAAOA,EAAM,WAAW,CAEtBA,EAAM,WAAW,EACnB,OAAOA,EAAM,WAAW,CAGtBA,EAAM,KAAK,EACbA,CAAAA,EAAM,KAAK,CAAG,CAAE,GAAGA,EAAM,KAAK,CAAE,QAAS,OAAQ,WAAY,SAAU,eAAgB,QAAS,GAE3FA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACiP,GAAAA,CAAUA,CAAAA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,MAAO,E,IAG9C,CACF,CAEA,IAAMC,GAAS1O,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBqO,I,4BC3EhC,OAAMM,WAAwBpP,EAAAA,aAAaA,CACzC,YAAYC,CAA2B,CAAE,CACvC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEA,SAAW,KACT,IAAM1C,EAAa,CAAE,GAAG,IAAI,CAAC,KAAK,AAAC,EAQnC,OAPIA,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEhBA,EAAM,IAAI,CAAG,GAAGA,CAAAA,EAAM,IAAI,CAAG,GAC1BA,CACT,CAAE,AAEF,cAAe,KACb,IAAIG,EAA6B,CAAC,EAYlC,OAVI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQ,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,GAEhCA,EAAM,MAAM,CAAG,OACfA,EAAM,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,cAAgB,OAEhD,CAACA,EAAM,UAAU,EACnBA,CAAAA,EAAM,UAAU,CAAG,OAAM,EAGpBA,CACT,CAAE,AAEF,eAAgB,KACY,IAAI,CAAC,YAAY,GAC3C,IAAIF,EAAS,GAEP,CAAEmP,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,CAQ3B,OANIA,GAAQA,EAAO,GACjBnP,CAAAA,GAAU,CAAC;uBACM,EAAEmP,EAAK;SACrB,CAAC,AAAD,EAGEnP,CACT,CAAE,AAEF,cAAe,KACb,IAAIA,EAAS,SAMb,CAJI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAGzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAIzBA,EAAS,CAAC,EAAEA,EAAO,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAHrEA,CAMX,CAAE,AAEF,mBAAoB,IAClB,AAAI,AAAqB,SAArB,IAAI,CAAC,KAAK,CAAC,KAAK,CACX,aAGL,AAAqB,WAArB,IAAI,CAAC,KAAK,CAAC,KAAK,CACX,SAGL,AAAqB,UAArB,IAAI,CAAC,KAAK,CAAC,KAAK,CACX,WAGF,YACP,AAEF,mBAAoB,IAClB,AAAI,AAAoB,iBAApB,IAAI,CAAC,KAAK,CAAC,IAAI,CACV,CACL,UAAW,OACX,UAAW,SACX,QAAS,OACT,cAAe,MACf,eAAgB,IAAI,CAAC,iBAAiB,EACxC,EAGK,CACL,UAAW,OACX,UAAW,QACb,CACA,AAEF,SAAoB,CAClB,IAAMoP,EAAgB,IAAI,CAAC,aAAa,GAExC,MACE,UAACC,GAAAA,CAAqBA,CAAAA,CAAC,cAAeD,EAAe,UAAW,IAAI,CAAC,YAAY,G,SAC/E,UAAC,OAAI,MAAO,IAAI,CAAC,iBAAiB,G,SAChC,UAACrO,EAAAA,CAAKA,CAAAA,CACJ,UAAW,IAAI,CAAC,YAAY,GAC5B,MAAO,IAAI,CAAC,YAAY,GACvB,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,UAAU,a,SAETK,EAAAA,QAAAA,CAAAA,GAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,AAACkO,GACxC,AAAIA,GAAO,OAAO,aAAe,UAAYA,GAAO,OAAO,UAAU,OAAO,aAAe,SAClF,KAEF,sB,SAAGA,C,SAMtB,CACF,CAEA,IAAMC,GAAkBhP,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB2O,GChIzC,OAAMM,WAAsB1P,EAAAA,aAAaA,CAC/B,yBAA2B,EAAG,AAEtC,aAAYC,CAAyB,CAAE,CACrC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEA,mBAAoB,CAClB,IAAI,CAAC,eAAe,EACtB,CAEA,oBAAqB,CACnB,IAAI,CAAC,eAAe,EACtB,CAEA,SAAW,KACT,IAAM1C,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAQrC,OAPIF,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEhBA,EAAM,IAAI,CAAG,GAAGA,CAAAA,EAAM,IAAI,CAAG,GAC1BA,CACT,CAAE,AAEF,cAAe,KACb,IAAIG,EAAa,CAAC,EAOlB,OALI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAElCC,EAAM,MAAM,CAAG,OACfA,EAAM,KAAK,CAAG,OACPA,CACT,CAAE,AAEF,iBAAkB,KAChB,IAAM4C,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,eAAgB,KACd,IAAME,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GAEP,CAAEmP,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,CAO3B,MALKA,CAAAA,GAAQ,AAAgB,UAAhB,OAAOA,GAAqBA,EAAO,GAAO,AAAgB,UAAhB,OAAOA,GAAqBxK,SAASwK,GAAQ,IAClGnP,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;sBACf,EAAEiM,EAAK;SACpB,CAAC,AAAD,EAEEnP,CACT,CAAE,AAEF,cAAe,KACb,IAAIA,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFrEA,CAIX,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACe,EAAAA,CAAKA,CAAAA,CAAC,UAAW,IAAI,CAAC,YAAY,GAAI,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAU,W,SAC/FK,EAAAA,QAAAA,CAAAA,GAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,AAACkO,GACxC,AAAIA,GAAO,OAAO,aAAe,UAAYA,GAAO,OAAO,UAAU,OAAO,aAAe,SAClF,KAEF,sB,SAAGA,C,OAKpB,CACF,CAEA,IAAMG,GAAgBlP,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBiP,I,0CClGhC,OAAME,WAA6B5P,EAAAA,aAAaA,CACrD,YAAYC,CAAyB,CAAE,CACrC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,cAAeU,KAAAA,EACf,SAAU,GACV,oBAAqB,EACvB,CACF,CAEA,mBAAoB,CAClB,IAAIkP,EAAgB,EAChBxP,CAAAA,OAAO,KAAK,EAAE,iBAAmB,EAEnCwP,EACE,8GACOC,EAAAA,CAAAA,CAAAA,UAA0B,EACnCD,CAAAA,EAAgBC,EAAAA,CAAAA,CAAAA,UAA0B,AAA1BA,EAElB,IAAMC,EAAgBC,AAAAA,GAAAA,GAAAA,UAAAA,AAAAA,EAAWH,GACjC,IAAI,CAAC,QAAQ,CAAC,CAAEE,cAAAA,EAAe,SAAU,EAAK,EAChD,CAEA,eAAiB,MACfE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,KAEAN,EAAM,cAAc,GACpB,GAAM,CAAEO,OAAAA,CAAM,CAAE,CAAGN,EACb,CAAEO,SAAAA,CAAQ,CAAE,CAAGP,CACjB,KAAI,CAAC,KAAK,CAAC,SAAS,CACtB,MAAMM,EACH,YAAY,CAAC,CACZC,SAAAA,EACA,SAAU,aACZ,GACC,IAAI,CAAC,AAACvQ,IACAA,EAAO,KAAK,CAmBNoQ,GACTA,EAAO,QAAQ,CACb,CACE,YAAa,CACX,UAAW,GACX,aAAcpQ,EAAO,KAAK,CAAC,OAAO,CAClC,cAAeS,KAAAA,EACf,KAAMA,KAAAA,CACR,CACF,EACA,KACE2P,EAAO,KAAK,CAAC,gBAAgB,GACzBD,GACFA,GAEJ,GAjCEC,GACFA,EAAO,QAAQ,CACb,CACE,YAAa,CACX,UAAW,GACX,aAAc,GACd,cAAepQ,EAAO,WAAW,CAAC,cAAc,CAChD,KAAMA,EAAO,WAAW,CAAC,EAAE,AAC7B,CACF,EACA,KACEoQ,EAAO,KAAK,CAAC,gBAAgB,GACzBD,GACFA,GAEJ,EAqBR,GAEF,MAAMG,EACH,cAAc,CAAC,CACdC,SAAAA,EACA,SAAU,aACZ,GACC,IAAI,CAAC,AAACvQ,IACAA,EAAO,KAAK,CAoBNoQ,GACTA,EAAO,QAAQ,CACb,CACE,wBAAyB,CACvB,UAAW,GACX,aAAcpQ,EAAO,KAAK,CAAC,OAAO,CAClC,cAAeS,KAAAA,CACjB,CACF,EACA,KACE2P,EAAO,KAAK,CAAC,gBAAgB,GACzBD,GACFA,GAEJ,GAjCEC,GACEA,GACFA,EAAO,QAAQ,CACb,CACE,wBAAyB,CACvB,UAAW,GACX,aAAc,GACd,cAAeC,GAAe,UAAU,EAAGA,EAAc,OAAO,CAAC,WACnE,CACF,EACA,KACED,EAAO,KAAK,CAAC,gBAAgB,GACzBD,GACFA,GAEJ,EAqBV,EAEN,CAAE,AAEF,gBAAiB,KACf,IAAMhF,EAAW/E,aAAa,OAAO,CAAC,MAClCgF,EAAW,GAEf,OAAQD,GACN,IAAK,QACHC,EAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAG,cAAgB,QAClD,KAEF,KAAK,QACHA,EAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAG,SAAW,SAC7C,KACF,SAEEA,EAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAAG,OAAS,KAE/C,CACA,OAAOA,CACT,CAAE,AAEF,YAAa,AAAC4E,GAEV,uB,UACE,UAACQ,GAAAA,cAAcA,CAAAA,CACb,SAAU,AAAChP,IACT,IAAI,CAAC,QAAQ,CAAC,CAAE,oBAAqBA,EAAE,QAAQ,AAAC,EAClD,EACA,GAAG,iB,GAEL,UAAC,UACC,SAAU,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CACzC,UAAU,8BACV,QAAS,AAACA,GACR,IAAI,CAAC,cAAc,CACjBA,EACAwO,EACA,IAAI,CAAC,KAAK,CAAC,SAAS,CACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,IAAI,CAAC,KAAK,CAAC,MAAM,CACjB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,c,SAI5B,IAAI,CAAC,cAAc,E,KAI1B,AAEF,SAAS,CACP,IAAIS,EAAe,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,aAK5C,GAJItQ,OAAO,KAAK,EAAE,iBAAmB,GAEnCsQ,CAAAA,EAAe,8DAA6D,EAE1E,IAAI,CAAC,KAAK,CAAC,aAAa,EAAIA,GAAgBA,AAAiB,KAAjBA,EAAqB,CACnE,GAAM,CAAEZ,cAAAA,CAAa,CAAE,CAAG,IAAI,CAAC,KAAK,CACpC,MACE,UAACa,GAAAA,QAAQA,CAAAA,CAAC,OAAQb,EAAe,QAAS,CAAEY,aAAAA,CAAa,E,SACvD,UAACE,GAAAA,gBAAgBA,CAAAA,C,SAAE,AAACX,GAAa,IAAI,CAAC,UAAU,CAACA,E,IAGvD,CACA,MAAO,wBACT,CACF,C,gBCvMA,OAAMY,WAAe9Q,EAAAA,aAAaA,CAChC,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,SAAU,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,AACvD,CACF,CAEA,kBAAoB,KACO,OAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,IAAI,CAAC,QAAQ,CAAC,IAEhB,IAAI,CAAC,sBAAsB,EAC7B,CAAE,AAEF,oBAAqB,KACM,OAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,IAAI,CAAC,QAAQ,CAAC,IAESU,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAkB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAC3E,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,GAE7C,IAAI,CAAC,sBAAsB,EAC7B,CAAE,AAEF,wBAAyB,KACvB,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,OACvB,IAAM4C,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EAClCpD,EAA6BD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAEzD,GAAIC,GAAO,aAAeA,GAAO,cAAgBA,GAAO,YAAcA,GAAO,cAAe,CAC1F,IAAM2Q,EAASxP,SAAS,aAAa,CAAC,OAChCyP,EAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,AACnDD,CAAAA,EAAO,EAAE,CAAGC,EACRzN,GAAM,eAAe,KAAOyN,IAC9BzN,GAAM,eAAe,YAAYwN,GACjCA,GAAQ,YAAYxN,IAEtBwN,EAAO,KAAK,CAAC,WAAW,CAAG,CAAC,EAAE3Q,EAAM,WAAW,CAAC,EAAE,CAAC,CACnD2Q,EAAO,KAAK,CAAC,UAAU,CAAG,CAAC,EAAE3Q,EAAM,UAAU,CAAC,EAAE,CAAC,CACjD2Q,EAAO,KAAK,CAAC,YAAY,CAAG,CAAC,EAAE3Q,EAAM,YAAY,CAAC,EAAE,CAAC,CACrD2Q,EAAO,KAAK,CAAC,aAAa,CAAG,CAAC,EAAE3Q,EAAM,aAAa,CAAC,EAAE,CAAC,CACvD2Q,EAAO,KAAK,CAAC,OAAO,CAAG,cACzB,CACF,CAAE,AAEF,mBAAoB,IAClB,AAAI,IAAI,CAAC,KAAK,EAAE,eAAiBpQ,KAAAA,GAC7B,IAAI,CAAC,KAAK,EAAE,eAAiB,MAC7B,IAAI,CAAC,KAAK,EAAE,aAAa,aAAe,KACxC,IAAI,CAAC,KAAK,EAAE,aAAa,aAAe,KACxC,IAAI,CAAC,KAAK,EAAE,aAAa,aAAe,MACxC,IAAI,CAAC,KAAK,EAAE,aAAa,WAAW,gBAAkB,SACtD,IAAI,CAAC,KAAK,EAAE,aAAa,WAAW,cAEjC,KACP,AAEF,YAAa,IACX,AAAyB,OAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAe,KACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAe,KACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAe,MACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,gBAAkB,QAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,gBAAkB,iBAGnD,AAEF,UAAW,AAACe,IACN,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,GAEtB,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,CAAE,EAC9B,CAAE,AAEF,SAAU,AAACA,IACL,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,AAA8B,YAA9B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAACA,EAEvB,CAAE,AAEF,UAAW,KACT,IAAIzB,EAAa,CAAC,EAGlB,MADIA,AADJA,CAAAA,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,GAChB,KAAK,EAAE,OAAOF,EAAM,KAAK,CAC5BA,CACT,CAAE,AAEF,UAAW,KACT,IAAIG,EAA6B,CAAC,EAalC,OAZI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG9B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EACtBC,CAAAA,EAAM,eAAe,CAAG,SAAQ,EAGlC,OAAOA,EAAM,WAAW,CACxB,OAAOA,EAAM,YAAY,CACzB,OAAOA,EAAM,UAAU,CACvB,OAAOA,EAAM,aAAa,CACnBA,CACT,CAAE,AAEF,SAAoB,CAIlB,OAHyB,OAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAClB,IAAI,CAAC,QAAQ,CAAC,IAGd,sB,SACE,UAAC6Q,GAAAA,CAAUA,CAAAA,CACR,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,MAAO,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,AAAC,EAC5B,SAAU,IAAI,CAAC,QAAQ,CACvB,QAAS,IAAI,CAAC,OAAO,CACrB,QAAS,IAAI,CAAC,UAAU,GACxB,eAAgB,IAAI,CAAC,iBAAiB,E,IAI9C,CACF,CAEA,IAAMC,GAAkBzQ,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBqQ,I,sDCpHzC,OAAMK,WAAYnR,EAAAA,aAAaA,CACrB,yBAA2B,EAAG,AAEtC,+BAAyC,EAAM,AAE/C,aAAYC,CAAe,CAAE,CAC3B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,GACtB,gBAAiB,EACnB,CACF,CAEA,oBAAsB,KACpBtC,OAAO,KAAK,GAAK,CAAC,EAClBA,OAAO,KAAK,CAAC,IAAI,GAAK,CAAC,EACvBA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAK,CAAC,EAC3CA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAG,AAAC+Q,IAC9C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAAM,CAAC,GAAG,CAAE,GACzD,CACF,CAAE,AAEF,kBAAmB,KACjB,OAAO/Q,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,AAC9C,CAAE,AAEF,oBAAoB,CACdA,OAAO,KAAK,EAAE,cAChB,IAAI,CAAC,mBAAmB,GAE1B,IAAI,CAAC,eAAe,GAEpB,IAAMgR,EAAW,IAAI,CAAC,WAAW,GACjC,GAAIA,EAAS,MAAM,CAAE,CACnB,IAAIC,EAAc,EAElB,GAAIjR,OAAO,KAAK,EAAE,iBAAmBC,EAAAA,EAAAA,CAAAA,MAAqB,CAAE,CAC1D,IAAMiR,EAAgBlR,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CACrEkR,EAIkB,KAHpBD,CAAAA,EAAcD,EAAS,SAAS,CAC9B,AAACG,GAAYA,EAAQ,GAAG,GAAKD,GAAiBC,EAAQ,KAAK,EAAE,UAAYD,EAAa,GAEhED,CAAAA,EAAc,GAOlB,KAJpBA,CAAAA,EAAcD,EAAS,SAAS,CAC9B,AAACG,GACCA,EAAQ,GAAG,GAAK,IAAI,CAAC,KAAK,CAAC,eAAe,EAAIA,EAAQ,KAAK,EAAE,UAAY,IAAI,CAAC,KAAK,CAAC,eAAe,IAE/EF,CAAAA,EAAc,GACtC,IAAI,CAAC,QAAQ,CAAC,CAAE,gBAAiBD,CAAQ,CAACC,EAAY,CAAC,GAAG,AAAC,EAE/D,MAAW,IAAI,CAAC,KAAK,CAAC,KAAK,EAIL,KAHpBA,CAAAA,EAAcD,EAAS,SAAS,CAC9B,AAACG,GAAYA,EAAQ,GAAG,GAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAIA,EAAQ,KAAK,EAAE,UAAY,IAAI,CAAC,KAAK,CAAC,KAAK,IAEtEF,CAAAA,EAAc,EAGpCD,CAAAA,CAAQ,CAACC,EAAY,CAAC,KAAK,EAAE,UAC/BD,CAAQ,CAACC,EAAY,CAAC,KAAK,CAAC,QAAQ,EAExC,CACF,CAEA,sBAAuB,CACjBjR,OAAO,KAAK,EAAE,cAChB,IAAI,CAAC,gBAAgB,EAEzB,CAEA,mBAAmBwC,CAA2C,CAAE4O,CAA6B,CAAEC,CAAc,CAAQ,EAC/GrR,OAAO,KAAK,EAAE,cAEd,IAAI,CAAC,KAAK,CAAC,KAAK,GAAKwC,EAAU,KAAK,GAClC,IAAI,CAAC,6BAA6B,CAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAI,CAAC,6BAA6B,CAAG,EAAI,GAE9D,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAClE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAGjD,CAEA,kBAAoB,CAAC8O,EAAmBC,KACtC,GAAIvR,OAAO,KAAK,EAAE,iBAAmBC,EAAAA,EAAAA,CAAAA,MAAqB,CAAE,CAC1D,IAAI,CAAC,QAAQ,CAAC,CAAE,gBAAiBqR,CAAa,GAC9CtR,OAAO,KAAK,GAAK,CAAC,EAClBA,OAAO,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAGsR,EACtD,MACF,CAEI,IAAI,CAAC,KAAK,CAAC,QAAQ,GACrB,IAAI,CAAC,6BAA6B,CAAG,GACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,IAGtB,IAAI,CAAC,qBAAqB,CAACA,EAC7B,CAAE,AAEF,uBAAwB,AAACA,IACvB,IAAME,EAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KACvC,AAACL,GAAaA,AAAAA,CAAAA,EAAQ,GAAG,GAAKG,GAAgBH,EAAQ,KAAK,EAAE,UAAYG,CAAW,GAAMH,EAAQ,KAAK,EAAE,UAEtGK,GAELA,EAAY,KAAK,CAAC,QAAQ,EAC5B,CAAE,AAEF,iBAAkB,KAChB,IAAM7O,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,eAAgB,KACd,IAAME,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GAEP,CAAE4R,iBAAAA,CAAgB,CAAEC,YAAAA,CAAW,CAAE,CAAG,IAAI,CAAC,KAAK,CA4EpD,OA3EID,GAUF5R,CAAAA,GATU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;iBACpB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAE7B;AAAa,UAAZ,EAAEA,EAAU,IAAI,GAGjB;AAGGA;AAAkC,UAHpC,EAAEA,EAAU,IAAI,GAGjB;AAAgB;UAAf,EAAEA,EAAU,IAAI,GAAG;sBACf,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;SAC3C,CATC,AASD,EA2DLlD,GAzDU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAIjB;AAAoB;;MAAnB,EAAEA,EAAU,IAAI,GAKjB;AAAgB;;MAAf,EAAEA,EAAU,IAAI,GAKjB;AAAGA;;MAAF,EAAEA,EAAU,IAAI,GAKjB;AAAgB;;MAAf,EAAEA,EAAU,IAAI,GAIjB;AAA6B;MAA5B,EAAEA,EAAU,IAAI,GAIjB;AAA8B;MAA7B,EAAEA,EAAU,IAAI,GAIjB;AAA6B;MAA5B,EAAEA,EAAU,IAAI,GAIjB;AAA8B;MAA7B,EAAEA,EAAU,IAAI,GAIjB;AAA+B;MAA9B,EAAEA,EAAU,IAAI,GAIjB;AAA2B;MAA1B,EAAEA,EAAU,IAAI,GAAG;KAC9B,EAAEA,EAAU,IAAI,GAIN;;AACM,MADL,EAAEA,EAAU,IAAI,GAAG;KAC9B,EAAEA,EAAU,IAAI,GAIN;AAAiB;MAAhB,EAAEA,EAAU,IAAI,GAIjB;AAAiB;AAAmC,MAAnD,EAAEA,EAAU,IAAI,GAAG;;KAE9B,CAxDC,AA2DJ,CAAE,AAEF,cAAe,KACb,IAAIlD,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFnEA,CAIX,CAAE,AAEF,UAAW,KACT,IAAID,EAAQ,CAAC,EAqBb,MAnBIA,AADJA,CAAAA,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,GAChB,SAAS,EACjB,OAAOF,EAAM,SAAS,CAEpBA,EAAM,gBAAgB,EACxB,OAAOA,EAAM,gBAAgB,CAE3BA,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,EAAM,QAAQ,EAChB,OAAOA,EAAM,QAAQ,CAEnBA,EAAM,gBAAgB,EACxB,OAAOA,EAAM,gBAAgB,CAG/BA,EAAM,cAAc,CAAGA,EAAM,WAAW,EAAI,MAC5C,OAAOA,EAAM,WAAW,CAEjBA,CACT,CAAE,AAEF,cAAc,CACZ,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,OAC7B,AAAI,AAAyC,WAAzC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAC/B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAEvB,EAAE,CAGX,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CACvB,MAAM,CAAC,AAACuP,GAAUA,AAA2B,WAA3BA,EAAM,KAAK,CAAC,UAAU,EACxC,GAAG,CAAC,AAACA,GACGlO,EAAAA,YAAkB,CAACkO,EAAO,CAAE,SAAUA,AAA4B,aAA5BA,EAAM,KAAK,CAAC,WAAW,AAAgB,GAE1F,CAEA,aAAe,KACb,GAAInP,OAAO,KAAK,EAAE,iBAAmBC,EAAAA,EAAAA,CAAAA,MAAqB,CACxD,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAGnC,IAAI0R,EAAY,IAAI,CAAC,KAAK,CAAC,KAAK,CAC5BC,EAAU,KAMd,GALI5R,OAAO,KAAK,EAAE,iBAAmB,IACnC2R,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAChCC,EAAU,WAGRC,AAAAA,GAAAA,EAAAA,OAAAA,AAAAA,EAAQF,IAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EACrG,GAAI,AAA4C,WAA5C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAe,CACxD,IAAMG,EAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,AAAC3C,GAAUA,AAA2B,WAA3BA,EAAM,KAAK,CAAC,UAAU,EACtE2C,GACFH,CAAAA,EAAYG,EAAQ,KAAK,CAACF,EAAQ,AAAD,CAErC,MAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAACA,EAAQ,EAC9CD,CAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAACC,EAAQ,AAAD,MAEzCC,AAAAA,GAAAA,EAAAA,OAAAA,AAAAA,EAAQF,IAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,EAClDA,CAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAACC,EAAQ,AAAD,EAG/C,OAAOD,CACT,CAAE,AAEF,SAAoB,CAClB,IAAIA,EAAY,IAAI,CAAC,YAAY,GACjC,MACE,UAACI,GAAAA,CAAIA,CAAAA,CACH,SAAU,GACT,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,UAAW,IAAI,CAAC,YAAY,GAC5B,SAAU,IAAI,CAAC,iBAAiB,CAChC,UAAWJ,EACX,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,aAAc,IAAM,UAACK,GAAAA,CAAmBA,CAAAA,CAAAA,GACxC,iBAAkB,IAAM,UAACC,GAAAA,CAAUA,CAAAA,CAAAA,G,SAElC,IAAI,CAAC,WAAW,E,EAGvB,CACF,CAEA,IAAMC,GAAM9R,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB0Q,I,iBCpU7B,OAAMqB,WAAgBxS,EAAAA,aAAaA,CACjC,YAAYC,CAAmB,CAAE,CAC/B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAA0B,CACxB,IAAI,CAAC,aAAa,EACpB,CAEA,mBACE4C,CAA+C,CAC/C4O,CAAiC,CACjCC,CAAc,CACR,CACN,IAAI,CAAC,aAAa,EACpB,CAEA,cAAgB,KACd,IAAMnO,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EAEtCtB,EAAAA,CAAAA,CAAAA,gBAA+B,CADjBqB,EAC2B,IAAI,CAAC,KAAK,CAAC,KAAK,CAC3D,CAAE,AAEF,UAAW,IACT,AAAKlD,OAAO,KAAK,CAAC,YAAY,CAGvB,IAAI,CAAC,KAAK,CAFR,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,YAAa,EAAK,CAG5C,AAEF,SAAoB,CAClB,MAAO,WAAC+R,GAAAA,EAAAA,CAAAA,OAAY,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,C,UAAE,IAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,I,EAClE,CACF,CAEA,IAAMZ,GAAU/Q,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB+R,GCnCjC,OAAMC,WAAwBzS,EAAAA,aAAaA,CACzC,YAAYC,CAAuC,CAAE,CACnD,KAAK,CAACA,EACR,CAEA,OAAO,aAAuB,wCAAyC,AAEvE,QAAO,SAAmB,yCAA0C,AAEpE,QAAO,YAAc,AAAC4B,GACbA,EAAI,OAAO,CAAC,sBAAuB,CAAC6Q,EAAOC,EAAIC,IACpD,AAAIA,EACKA,EAAG,WAAW,GAGhBD,EAAG,WAAW,GAEvB,AAEF,QAAO,iBAAmB,CAACE,EAAcC,EAAc1B,IAevC2B,AAbWD,EACtB,KAAK,CAAC,KACN,MAAM,CAAC,CAACE,EAAe5B,EAAe6B,KACrC,IAAMC,EAAgCD,EAAM,SAAS,CAAC,AAACE,GAAMA,EAAE,QAAQ,CAAC,qBAExE,CAAID,CAAAA,EAAgC,EAAC,GAC5B9B,EAAQ8B,CAInB,GACC,GAAG,CAAC,AAACC,GAAMV,GAAU,WAAW,CAACU,IAEf,MAAM,CAAC,CAACC,EAAWC,KACtC,GAAI,CAACD,EAAM,MAAO,GAClB,IAAIlT,EAAS,KAEb,GAAImT,EAAK,QAAQ,CAAC,WAAY,CAC5B,IAAML,EAAgBK,EAAK,OAAO,CAAC,UAAW,IAC9CnT,EAASkT,GAAM,CAACJ,EAAM,EAAE,KAAK,EAC/B,MAAO,GAAIK,EAAK,QAAQ,CAAC,UAAW,CAClC,IAAML,EAAgBK,EAAK,OAAO,CAAC,SAAU,IAC7CnT,EAASkT,GAAM,CAACJ,EAAM,EAAE,KAAK,CAAC,EAChC,MAAO,GAAIK,EAAK,QAAQ,CAAC,cAAe,CACtC,IAAML,EAAgBK,EAAK,OAAO,CAAC,aAAc,IACjDnT,EAASkT,GAAM,CAACJ,EAAM,EAAE,KAAK5B,EAC/B,MAEElR,EAASkT,GAAM,CADOC,EACA,CAGxB,OAAOnT,CACT,EAAG2S,EAGH,AAEF,QAAO,kBAAoB,AAACrD,GAC1B,EAAKA,MAEDA,CAAAA,GAAO,OAAO,YAAcA,EAAM,KAAK,CAAC,UAAU,EAAE,OAAS,IAI1D,GACP,AAEF,QAAO,mBAAqB,CAC1B6B,EACAiC,EACAC,EACAC,EACAC,IAEA,AAAKpC,EAEE/P,EAAAA,QAAAA,CAAAA,GAAkB,CAAC+P,EAAU,CAAC7B,EAAOkE,KAC1C,IAAMzT,EAA6B,CAAC,EAChC0T,EAAyC,EAAE,CAE/C,GAAInE,GAAO,MAAO,CAChB,IAAMoE,EAAsBpE,EAAM,KAAK,EAAE,qBAAuBgE,EAE5DI,IACEpE,GAAO,OAAO,4BAA8B,SAC9CvP,EAAM,UAAU,CAAG,SAEnBA,EAAM,UAAU,CAAG2T,AAAiC,KAAjCA,EAAoBN,GAAoB,UAAY,UAI3E,IAAMO,EAAuBrE,EAAM,KAAK,EAAE,sBAAwBiE,EAE9DI,IACErE,GAAO,OAAO,6BAA+B,WAC/CvP,EAAM,WAAW,CAAG,WAEpBA,EAAM,WAAW,CAAG4T,AAAkC,KAAlCA,EAAqBP,GAAoB,UAAY,YAI7EQ,QAAQ,KAAKtE,EAAM,KAAK,GAAG,QAAQ,AAAC9L,IAClC,GAAI,AAA4B,UAA5B,OAAO8L,EAAM,KAAK,CAAC9L,EAAI,CAAe,CACxC,GAAI8L,EAAM,KAAK,CAAC9L,EAAI,EAAE,WAAW,QAAQ,cAAgB,CAAC,EAAG,CAC3D,IAAMqQ,EAAcvE,EAAM,KAAK,CAAC9L,EAAI,EAAE,WAAW,MAAM+O,GAAU,YAAY,EAE7E,GAAIa,GAAWS,GAAeA,GAAa,OAAS,EAAG,CACrD9T,CAAK,CAAC,CAAC,EAAEyD,EAAI,QAAQ,CAAC,CAAC,CAAG8L,EAAM,KAAK,CAAC9L,EAAI,CAE1C,IAAMsQ,EAAYD,CAAW,CAAC,EAAE,CAC5BjK,EAAW,IAAI,CAAC,gBAAgB,CAACwJ,EAASU,EAAWT,IAAa,EAElEtK,CAAAA,MAAM,OAAO,CAACa,IAAa3J,IAAAA,QAAU,CAAC2J,GACxC7J,CAAK,CAACyD,EAAI,CAAGoG,EAEb7J,CAAK,CAACyD,EAAI,CAAG8L,EAAM,KAAK,CAAC9L,EAAI,EAAE,WAAW,QAAQ+O,GAAU,QAAQ,CAAE3I,GAItE,EAACzJ,QACD,CAACA,OAAO,KAAK,EACZA,OAAO,KAAK,EAAE,iBAAmB,GAAKA,OAAO,KAAK,EAAE,iBAAmB,EAAC,IAEpEqD,AAAQ,eAARA,GAAwBzD,AAAc,IAAdA,CAAK,CAACyD,EAAI,EAAWzD,AAAc,QAAdA,CAAK,CAACyD,EAAI,EAAczD,AAAc,aAAdA,CAAK,CAACyD,EAAI,CAClFzD,CAAK,CAACyD,EAAI,CAAG,EAAE,CACNzD,CAAAA,AAAc,IAAdA,CAAK,CAACyD,EAAI,EAAUzD,AAAc,QAAdA,CAAK,CAACyD,EAAI,EAAczD,AAAc,aAAdA,CAAK,CAACyD,EAAI,AAAc,GAC7EzD,CAAAA,CAAK,CAACyD,EAAI,CAAG,GAAE,EAGrB,CACF,CAEY,aAARA,GACFiQ,EAAoB,IAAI,CAAC1T,EAAM,QAAQ,CAE3C,MAAO,GAAIyD,AAAQ,aAARA,EAAoB,CAC7B,GAAI+O,GAAU,iBAAiB,CAACjD,GAC9B,OAGFmE,EAAsBlB,GAAU,kBAAkB,CAACjD,EAAM,KAAK,CAAC,QAAQ,CAAE8D,EAASC,EACpF,CAEI,CAACtT,CAAK,CAACyD,EAAI,EACbzD,CAAAA,CAAK,CAACyD,EAAI,CAAG8L,EAAM,KAAK,CAAC9L,EAAI,AAAD,CAEhC,EACF,OAIA,CAFAzD,EAAM,QAAQ,CAAGsT,EAEbI,GAAqB,OAAS,GACzBrS,EAAAA,YAAkB,CAACkO,EAAOvP,EAAO0T,GAGnCrS,EAAAA,YAAkB,CAACkO,EAAOvP,EAAOuP,EAAM,KAAK,CAAC,QAAQ,CAC9D,GAlFsB,EAAE,AAmFxB,AAEF,QAAS,IACP,AAAI,AAA0B,WAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAsB,yBACxCiD,GAAU,kBAAkB,CACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAC9B,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAEjC,AACJ,CAEA,IAAMwB,GAAYxT,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAgEgS,GCxK3E,OAAMyB,WAAoBzB,GAC/B,YAAYxS,CAAuB,CAAE,CACnC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CACF,C,uDCeO,OAAMkU,WAAuBnU,EAAAA,aAAaA,CACvC,yBAA2B,EAAG,AAEtC,aAAYC,CAAoB,CAAE,CAChC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW,GACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,GACtB,gBAAiB,GACjB,SAAU,GACV,mBAAoB,EACtB,EAEA,IAAI,CAAC,YAAY,CAAGxC,IAAAA,QAAU,CAAC,IAAI,CAAC,YAAY,CAAE,KAAM,IAAI,CAAC,IAAI,EAEjEE,OAAO,gBAAgB,CAAC,SAAU,IAAI,CAAC,YAAY,CACrD,CAEQ,oBAAsB,CAAE,AAEhC,oBAAoB,CAClB,IAAI,CAAC,YAAY,EACnB,CAEA,sBAAuB,CACrBA,OAAO,mBAAmB,CAAC,SAAU,IAAI,CAAC,YAAY,CACxD,CAEA,aAAe,KACQA,OAAO,KAAK,EAAE,aACnC,IAAM+T,EAAc/T,OAAO,UAAU,CACrC,GAAI+T,IAAgB,IAAI,CAAC,mBAAmB,EAAI,CAAC,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAE,MAC3F,KAAI,CAAC,mBAAmB,CAAGA,EAC3B,IAAMC,EAAQ,IAAI,CAAC,cAAc,GAC3BC,EAAqBF,EAAc,IACnCG,EAAiBjT,EAAAA,QAAAA,CAAAA,OAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,MAEhE8S,CAAAA,EAAc,KAAOG,EAAiB,EACpCF,IACE,CAACA,EAAM,SAAS,CAAC,QAAQ,CAAC,iCAC5BA,EAAM,SAAS,CAAC,GAAG,CAAC,gCAElB,IAAI,CAAC,KAAK,CAAC,4BAA4B,EACzCA,EAAM,SAAS,CAAC,GAAG,CAAC,gDAGfD,GAAe,KACpBC,IACFA,EAAM,SAAS,CAAC,MAAM,CAAC,gCACvBA,EAAM,SAAS,CAAC,MAAM,CAAC,gDAIvB,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAKC,GACtC,IAAI,CAAC,QAAQ,CAAC,CAAEA,mBAAAA,CAAmB,EACrC,CAAE,AAEF,cAAe,KACb,IAAIpU,EAAS,GACPyE,EAAmBtE,OAAO,KAAK,EAAE,iBAAmB,UAC1D,AAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBH,EAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CACnEyE,GACFzE,CAAAA,GAAU,yBAAwB,EAE7BA,GANEA,CAOX,CAAE,AAEF,UAAW,KACT,IAAMyE,EAAmBtE,OAAO,KAAK,EAAE,iBAAmB,GACtDH,EAAc,CAAC,EAKnB,GAJI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG/B,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAIE,OAAO,KAAK,EAAE,eAAiB,GAAM,CAC5E,IAAMmU,EAAe,IAAIC,OAAO,kCAC1BV,EAAc,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAACS,GAC5D,GAAIT,EAAa,CACf,IAAMC,EAAYD,CAAW,CAAC,EAAE,CAC1BW,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAACV,EAAU,CAC/DU,GACFxU,CAAAA,EAAO,eAAe,CAAGwU,CAAM,CAEnC,CACF,CAqBA,MAnB6B,KAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAa,CAAC/P,IAChC,IAAI,CAAC,KAAK,CAAC,cAAc,EAC3BzE,CAAAA,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,cAAc,AAAD,EAErC,IAAI,CAAC,KAAK,CAAC,YAAY,EACzBA,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,YAAY,AAAD,EAE7C,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EACrDA,CAAAA,EAAO,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,eAAe,AAAD,EAEhD,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BA,CAAAA,EAAO,MAAM,CAAG,SAAQ,GAIxBA,GAAQ,SACV,OAAOA,EAAO,OAAO,CAGhBA,CACT,CAAE,AAEF,iBAAkB,KAChB,IAAMkD,EAAY,IAAI,CAAC,YAAY,GAC7BuB,EAAmBtE,OAAO,KAAK,EAAE,iBAAmB,GAE1D,GAAI,CAAC+C,GAAauB,EAChB,OAEF,IAAMgQ,EAAapT,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE6B,EAAU,CAAC,EAGzDwR,AAFgBD,CAAAA,GAAY,iBAAiB,KAAI,EAEzC,OAAO,CAAC,AAACE,IACX,CAACA,EAAQ,YAAY,CAAC,qBACxBA,EAAQ,YAAY,CAAC,mBAAoBA,EAAQ,KAAK,CAAC,eAAe,EAAI,IAExE,CAACA,EAAQ,YAAY,CAAC,wBACxBA,EAAQ,YAAY,CAAC,sBAAuBA,EAAQ,KAAK,CAAC,KAAK,EAAI,IAGrEA,EAAQ,KAAK,CAAC,eAAe,CAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,cAC3DA,EAAQ,KAAK,CAAC,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAI,GACnDA,EAAQ,KAAK,CAAC,MAAM,CAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAG,UAAY,EACpE,GAEA,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,EACb,EACF,CAAE,AAEF,gBAAiB,KACf,IAAMzR,EAAY,IAAI,CAAC,YAAY,GACnC,GAAI,CAACA,EACH,OAEF,IAAMuR,EAAapT,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE6B,EAAU,CAAC,EAGzDwR,AAFgBD,CAAAA,GAAY,iBAAiB,KAAI,EAEzC,OAAO,CAAC,AAACE,IACfA,EAAQ,KAAK,CAAC,eAAe,CAAGA,EAAQ,YAAY,CAAC,qBAAuB,GAC5EA,EAAQ,KAAK,CAAC,KAAK,CAAGA,EAAQ,YAAY,CAAC,wBAA0B,GACrEA,EAAQ,KAAK,CAAC,MAAM,CAAG,GAEvBA,EAAQ,eAAe,CAAC,oBACxBA,EAAQ,eAAe,CAAC,sBAC1B,GAEA,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,EACb,EACF,CAAE,AAEF,gBAAiB,AAACnT,IAChB,GACE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrC,AAAwBf,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,CACA,GAAsD,KAAlDmU,GAAAA,CAAAA,CAAAA,eAAmC,CAACpT,EAAE,MAAM,GAG5CoT,AAA+C,KAA/CA,GAAAA,CAAAA,CAAAA,YAAgC,CAACpT,EAAE,MAAM,EAG7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAACA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CACF,CAAE,AAEF,cAAe,KACb,IAAI,CAAC,QAAQ,CACX,AAAC+P,GACE,EACC,SAAU,CAACA,EAAU,QAAQ,AAC/B,GAEN,CAAE,AAEF,UAAW,KACT,IAAMxR,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAErC,OADA,OAAOF,EAAM,QAAQ,CACdA,CACT,CAAE,AAEF,gBAAiB,IACKsB,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAE1E,AAEF,yBAA0B,KACxB,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,AAAC,EACjD,CAAE,AAEF,qBAAqB,CACnB,GAAM,CAAEwT,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,CAC/B,MACE,UAAC,OAAI,UAAU,mCAAmC,QAAS,IAAI,CAAC,uBAAuB,C,SACpFA,EACC,UAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,SAChE,UAAC,QACC,EAAE,4TACF,KAAK,S,KAIT,UAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,SAChE,UAAC,QACC,EAAE,gUACF,KAAK,S,MAMjB,CAEA,iBAAkB,CAChB,GAAM,CAAEA,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,CACzB,CAAE1D,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,CACzB2D,EAAgB1T,EAAAA,QAAAA,CAAAA,OAAsB,CAAC+P,GAEvC4D,EAA2BD,EAAc,IAAI,CACjD,AAACxF,GAAeA,GAAO,OAAO,iBAAiB,kCAAoC,IAG/E0F,EAA6BF,EAAc,KAAK,CACpD,AAACxF,GAAeA,GAAO,OAAO,iBAAiB,kCAAoC,IAGjF2F,EAAwBF,EACxBD,EAAc,MAAM,CAAC,AAACxF,GAAeA,GAAO,OAAO,iBAAiB,kCAAoC,IACxGwF,EAUJ,OAPEG,GACAA,AAA4B,IAA5BA,EAAiB,MAAM,EACvBA,CAAgB,CAAC,EAAE,EAAE,OAAO,YAAc,8BAE1CA,CAAAA,EAAmB9D,CAAO,EAI1B,WAAC,MACE,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,cAAc,CAC5B,MAAO,IAAI,CAAC,QAAQ,GACpB,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,CAC/B,UAAW,IAAI,CAAC,YAAY,G,UAE3B0D,GAAYG,EAA6B7D,EAAW8D,EACpDF,GAA4B,CAACC,GAA8B,IAAI,CAAC,kBAAkB,GAClF,IAAI,CAAC,WAAW,G,EAGvB,CAEA,YAAc,IACZ,AAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAKzB,WAAC,QACC,MAAO,CACL,QAAS,OACT,eAAgB,eAChB,WAAY,SACZ,cAAe,SACf,SAAU,WACV,KAAM,IACN,MAAO,OACP,OAAQ,OACR,aAAc,MACd,WAAY,0BACd,EACA,UAAW,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAG,8BAAgC,G,UAEtF,UAACE,GAAAA,CAAaA,CAAAA,CAAC,QAAS,IAAM,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI,MAAO,CAAE,MAAO,QAAS,OAAQ,SAAU,C,GACpG,UAACC,GAAAA,CAAaA,CAAAA,CAAC,QAAS,IAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAAI,MAAO,CAAE,MAAO,MAAO,OAAQ,SAAU,C,MApBpG,IAuBT,AAEF,mBAAmB,CACjB,MACE,WAAC,MACE,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,cAAc,CAC5B,MAAO,IAAI,CAAC,QAAQ,GACpB,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,CAC/B,UAAW,IAAI,CAAC,YAAY,G,UAE3B,IAAI,CAAC,KAAK,CAAC,QAAQ,CACnB,IAAI,CAAC,WAAW,G,EAGvB,CAEA,QAAS,CACP,GAAM,CAAEf,mBAAAA,CAAkB,CAAE,CAAG,IAAI,CAAC,KAAK,CACnC1P,EAAevE,OAAO,KAAK,EAAE,aAC7B2U,EAAgB1T,EAAAA,QAAAA,CAAAA,OAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,SAChE,AAAIgT,GAAsB,CAAC1P,GAAgBoQ,GAAe,OAAS,EAC1D,IAAI,CAAC,eAAe,GAEtB,IAAI,CAAC,gBAAgB,EAC9B,CACF,C,mPClWO,OAAMM,WAAyBtV,EAAAA,aAAaA,CACjD,YAAYC,CAA4B,CAAE,CACxC,KAAK,CAACA,EACR,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,C,4BCUO,OAAMsV,WAA4BvV,EAAAA,aAAaA,CAC5C,yBAA2B,EAAG,AAE9B,UAAU,AAElB,aAAYC,CAA+B,CAAE,CAC3C,KAAK,CAACA,GACN,IAAI,CAAC,SAAS,CAAGqB,EAAAA,SAAe,GAChC,IAAI,CAAC,KAAK,CAAG,CACX,UAAWqB,EAAAA,IAAAA,CAAAA,MAAW,GACtB,UAAW,EACb,CACF,CAEA,mBAAmB8O,CAAc,CAAE,CAC7BA,EAAU,SAAS,GAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,EACxE,CAEA,kBAAoB,KACd,IAAI,CAAC,KAAK,CAAC,aAAa,EAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAG,GACzD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAE,IAE7D,IAAM+D,EAAsCjU,UAAU,uBAAuB,4BACvEwP,EAASyE,CAAQ,CAAC,EAAE,EAAE,cACxBzE,GAAUA,EAAO,KAAK,GACxBA,EAAO,KAAK,CAAC,aAAa,CAAG,MAC7BA,EAAO,KAAK,CAAC,YAAY,CAAG,QAE9B,IAAI,CAAC,eAAe,EACtB,CAAE,AAEF,eAAgB,KACd,IAAM3N,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GACP,CAAEuV,aAAAA,CAAY,CAAEC,eAAAA,CAAc,CAAEC,WAAAA,CAAU,CAAE,CAAG,IAAI,CAAC,KAAK,CAqB/D,MApB6B,KAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,GAClBF,GACFvV,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;8BACT,EAAEqS,EAAa;;WAElC,CAAC,AAAD,EAEDC,GACFxV,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG,eAAe,EAAEA,EAAU,IAAI,GAAG;mBACtD,EAAEsS,EAAe;WACzB,CAAC,AAAD,GAIHC,GACFzV,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG,sBAAsB,EAAEA,EAAU,IAAI,GAAG;iBAC7D,EAAEuS,EAAW;SACrB,CAAC,AAAD,EAGEzV,CACT,CAAE,AAEF,iBAAkB,KAChB,IAAM8C,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,cAAe,KACb,IAAIhD,EAAS,UACb,AAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAGzBA,EAAS,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAF9DA,CAIX,CAAE,AAEF,UAAW,KACT,IAAMD,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAgBrC,OAdIF,EAAM,YAAY,EAAIA,EAAM,YAAY,CAAG,GACzCA,EAAM,QAAQ,EAAIA,EAAM,QAAQ,CAAC,EAAE,EAAIA,EAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAI,GACjEA,EAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAGA,EAAM,YAAY,EAC/CA,CAAAA,EAAM,YAAY,CAAGA,EAAM,QAAQ,CAAC,EAAE,CAAC,MAAM,AAAD,EAI9C,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,AAAkCU,KAAAA,IAAlC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,AAAa,GAAGV,CAAAA,EAAM,YAAY,CAAG,GAE1FA,EAAM,QAAQ,CAChBA,EAAM,SAAS,EAAI,4BAEnBA,EAAM,SAAS,EAAI,8BAEdA,CACT,CAAE,AAEF,iBAAkB,KAChB,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,EACb,EACF,CAAE,AAEF,gBAAiB,KACf,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,EACb,EACF,CAAE,AAEF,kBAAmB,IACjB,AAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cACjC,GAAK8F,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,YAEvD,EACP,AAEF,mBAAoB,AAAC6P,IACf,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAClC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAACA,GAE/B,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAEvB,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAAC,OACC,UAAW,IAAI,CAAC,YAAY,GAC5B,MAAO,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,cAAe,IAAI,CAAC,gBAAgB,EAAG,EACrE,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,C,SAE/B,UAAC9G,GAAAA,OAAMA,CAAAA,CAAC,IAAK,IAAI,CAAC,SAAS,CAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,YAAa,IAAI,CAAC,iBAAiB,A,MAI7F,CACF,CCtKO,MAAM+G,WAAqB1B,GAChC,YAAYlU,CAAwB,CAAE,CACpC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAE,UAAW,EAAM,CAClC,CAEA,eAAiB,AAACyB,IAChB,GACE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrC,AAAwBf,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,CACA,GAAsD,KAAlDmU,GAAAA,CAAAA,CAAAA,eAAmC,CAACpT,EAAE,MAAM,GAG5CoT,AAA+C,KAA/CA,GAAAA,CAAAA,CAAAA,YAAgC,CAACpT,EAAE,MAAM,EAG7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAACA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CACF,CAAE,AAEF,iBAAkB,KAChB,IAAMoU,EAAqB3V,IAAAA,KAAO,CAAC,IAAI,CAAC,QAAQ,IAC1C4V,EAAwB,CAAC,SAAU,aAAc,SAAU,QAAS,YAAY,CACtF,IAAK,IAAMxL,KAAQuL,EACjBC,EAAsB,OAAO,CAAC,AAACC,IACzBzL,EAAK,QAAQ,CAACyL,IAChB,OAAOF,CAAkB,CAACvL,EAAK,AAEnC,GAEF,OAAOuL,CACT,CAAE,AAEF,SAAS,CACP,MACE,sB,SACE,UAAC,OACE,GAAG,IAAI,CAAC,KAAK,CACd,QAAS,IAAI,CAAC,cAAc,CAC5B,MAAO,IAAI,CAAC,eAAe,GAC3B,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,A,IAIvC,CACF,CCnDO,MAAMG,WAAyBjW,EAAAA,aAAaA,CACjD,YAAYC,CAA4B,CAAE,CACxC,KAAK,CAACA,EACR,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,CCJO,MAAMiW,WAA4BlW,EAAAA,aAAaA,CACpD,YAAYC,CAA+B,CAAE,CAC3C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,MACE,sB,SACE,UAACgB,EAAAA,CAAKA,CAAAA,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,KAAI,E,IAGjC,CACF,CCfO,MAAMkV,WAAqBhC,GAChC,YAAYlU,CAAwB,CAAE,CACpC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAE,UAAW,EAAM,CAClC,CAEA,eAAiB,AAACyB,IAChB,GACE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrC,AAAwBf,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,CACA,GAAsD,KAAlDmU,GAAAA,CAAAA,CAAAA,eAAmC,CAACpT,EAAE,MAAM,GAG5CoT,AAA+C,KAA/CA,GAAAA,CAAAA,CAAAA,YAAgC,CAACpT,EAAE,MAAM,EAG7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAACA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CACF,CAAE,AAEF,iBAAkB,KAChB,IAAMoU,EAAqB3V,IAAAA,KAAO,CAAC,IAAI,CAAC,QAAQ,IAC1C4V,EAAwB,CAAC,SAAU,aAAc,SAAU,QAAS,YAAY,CACtF,IAAK,IAAMxL,KAAQuL,EACjBC,EAAsB,OAAO,CAAC,AAACC,IACzBzL,EAAK,QAAQ,CAACyL,IAChB,OAAOF,CAAkB,CAACvL,EAAK,AAEnC,GAEF,OAAOuL,CACT,CAAE,AAEF,SAAS,CACP,MACE,sB,SACE,UAAC,OACE,GAAG,IAAI,CAAC,KAAK,CACd,QAAS,IAAI,CAAC,cAAc,CAC5B,MAAO,IAAI,CAAC,eAAe,GAC3B,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,A,IAIvC,CACF,CCnDO,MAAMM,WAAwBpW,EAAAA,aAAaA,CAChD,YAAYC,CAA2B,CAAE,CACvC,KAAK,CAACA,EACR,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,CCEO,MAAMoW,WAA2BrW,EAAAA,aAAaA,CACnD,YAAYC,CAA4C,CAAE,CACxD,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,mBAA0B,CACxB,IAAMsD,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EAChC8S,EAAgB/S,GAAM,cACxB+S,GAAiB,IAAI,CAAC,KAAK,EAAE,kBAC/BA,CAAAA,EAAc,KAAK,CAAC,QAAQ,CAAG,MAAK,CAExC,CAEA,SAAW,KACT,IAAIrW,EAAa,CAAC,EAYlB,OAXI,IAAI,CAAC,KAAK,EACZA,CAAAA,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,GAExB,CAACF,EAAM,KAAK,EAAEA,CAAAA,EAAM,KAAK,CAAG,CAAC,GAE7BA,CAAAA,EAAM,gBAAgB,EAAIA,EAAM,cAAc,AAAD,IAC/CA,EAAM,KAAK,CAAC,GAAG,CAAG,CAAC,EAAEA,EAAM,cAAc,EAAI,EAAE,GAAG,EAAEA,EAAM,gBAAgB,EAAI,EAAE,EAAE,CAAC,CACnF,OAAOA,EAAM,gBAAgB,CAC7B,OAAOA,EAAM,cAAc,EAGtBA,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACwO,GAAGA,CAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,A,IAG9B,CACF,CCxCO,MAAM8H,WAAoBpC,GAC/B,YAAYlU,CAAuB,CAAE,CACnC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAE,UAAW,EAAM,CAClC,CAEA,SAAW,KACT,IAAMC,EAAc,CAAC,EAYrB,OAXI,IAAI,CAAC,KAAK,CAAC,mBAAmB,GAChCA,EAAO,EAAE,CAAG,GAAK,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAC/CA,EAAO,EAAE,CAAG,GAAK,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAE7C,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAC/BA,EAAO,EAAE,CAAG,GAAK,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAC9CA,EAAO,EAAE,CAAG,GAAK,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAE5C,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BA,CAAAA,EAAO,EAAE,CAAG,GAAK,IAAI,CAAC,KAAK,CAAC,iBAAiB,AAAD,EAEvCA,CACT,CAAE,AAEF,gBAAiB,AAACwB,IAChB,GACE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrC,AAAwBf,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,CACA,GAAsD,KAAlDmU,GAAAA,CAAAA,CAAAA,eAAmC,CAACpT,EAAE,MAAM,GAG5CoT,AAA+C,KAA/CA,GAAAA,CAAAA,CAAAA,YAAgC,CAACpT,EAAE,MAAM,EAG7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAACA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CACF,CAAE,AAEF,iBAAkB,KAChB,IAAMoU,EAAqB3V,IAAAA,KAAO,CAAC,IAAI,CAAC,QAAQ,IAC1C4V,EAAwB,CAAC,SAAU,aAAc,SAAU,QAAS,YAAY,CACtF,IAAK,IAAMxL,KAAQuL,EACjBC,EAAsB,OAAO,CAAC,AAACC,IACzBzL,EAAK,QAAQ,CAACyL,IAChB,OAAOF,CAAkB,CAACvL,EAAK,AAEnC,GAEF,OAAOuL,CACT,CAAE,AAEF,SAAS,CACP,MACE,sB,SACE,UAACxH,GAAGA,CACD,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,cAAc,CAC3B,GAAG,IAAI,CAAC,KAAK,CACd,MAAO,IAAI,CAAC,eAAe,GAC3B,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,A,IAIvC,CACF,CCzEO,MAAMkI,WAA2BxW,EAAAA,aAAaA,CACnD,YAAYC,CAA8B,CAAE,CAC1C,KAAK,CAACA,EACR,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,C,6CCZA,OAAMwW,WAAqBpV,EAAAA,SAASA,CAClC,YAAkB,AAElB,YAAiB,AAEjB,aAAYpB,CAAK,CAAE,CACjB,KAAK,CAACA,GACN,IAAI,CAAC,cAAc,CAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CACrD,CAEA,mBAAoB,CAClB,GAAM,CAAEyW,IAAAA,CAAG,CAAE,CAAG,IAAI,CAAC,KAAK,CACpB,CAAEC,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,AAI3B,KAAI,CAAC,YAAY,CAAG,IAAIA,EAAK,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAHjD,CACd,MAAO,CAAC,UAAU,AACpB,GAEA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,gBAAiB,IAAI,CAAC,cAAc,EAClE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAUD,EACrC,CAEA,sBAAuB,CACrB,GAAM,CAAEC,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,CAC3BA,EAAK,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CACpD,CAEA,eAAiB,CAAC,CAAED,IAAAA,CAAG,CAAEE,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,IAC9C,IAAMC,EAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,EACnCA,CAAAA,EAAM,QAAQ,GACfA,EAAM,QAAQ,CAAC,QAAQ,CACzBH,EAAI,SAAS,CAACG,EAAM,QAAQ,CAAC,QAAQ,GAErCH,EAAI,SAAS,CAACG,EAAM,QAAQ,CAAC,QAAQ,EAEjC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAACA,EAAM,QAAQ,CAAC,QAAQ,GAGvDD,EAASC,GACL,IAAI,CAAC,WAAW,EAClB,IAAI,CAAC,WAAW,CAAC,IAAI,GAEzB,CAAE,AAEF,iBAAiB,CACX,IAAI,CAAC,WAAW,EAClB,KAAI,CAAC,WAAW,CAAC,KAAK,CAAG,EAAC,CAE9B,CAEA,WAAa,IACX,AAAI,AAAmBlW,KAAAA,IAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAkB,AAAoBA,KAAAA,IAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAkB,AAA4B,KAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,CACnF,CAAC,EAEH,CAAE,QAAS,MAAO,CACzB,AAEF,SAAS,CACP,MACE,sB,SACE,UAAC,SACC,MAAO,CAAE,SAAU,WAAY,OAAQ,IAAK,KAAM,GAAI,IAAK,GAAI,GAAG,IAAI,CAAC,UAAU,EAAE,AAAC,EACpF,UAAU,sBACV,IAAK,AAACmW,IACJ,IAAI,CAAC,WAAW,CAAGA,CACrB,EACA,SAAQ,GACR,KAAK,cACL,KAAK,OACL,QAAS,IAAI,CAAC,cAAc,A,IAIpC,CACF,C1CxCO,IAAKtX,I,CAAAA,E,2EAAAA,GAML,IAAKC,I,CAAAA,E,kFAAAA,EASL,OAAMsX,WAAuB5C,GAClC,YAAYlU,CAA0B,CAAE,CACtC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAE,UAAW,EAAM,CAClC,CAEA,OAAc,aAAe,CAC3B,cAAe,EACjB,CAAE,AAEF,gBAAiB,AAACyB,IAChB,GACE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EACrC,AAAwBf,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAClB,CACA,GAAsD,KAAlDmU,GAAAA,CAAAA,CAAAA,eAAmC,CAACpT,EAAE,MAAM,GAG5CoT,AAA+C,KAA/CA,GAAAA,CAAAA,CAAAA,YAAgC,CAACpT,EAAE,MAAM,EAG7C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAACA,EAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAClF,CACF,CAAE,AAEF,YAAa,KACX,IAAIsV,EAAgB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjC,CAAElU,MAAAA,CAAK,CAAEmU,IAAAA,CAAG,CAAEC,IAAAA,CAAG,CAAEC,sBAAAA,CAAqB,CAAEC,qBAAAA,CAAoB,CAAE,CAAG,IAAI,CAAC,KAAK,CAMnF,OALMtU,GAAWqU,GAA2BC,GACtCtU,EAAM,QAAQ,GAAKmU,GAAOnU,EAAM,SAAS,GAAKoU,GAChDF,CAAAA,EAAgB,UAACjX,EAAIA,CAAC,SAAUqX,EAAsB,MAAO,CAAE,MAAOD,CAAsB,C,IAI9F,UAAClW,EAAAA,CAAKA,CAAAA,C,SACJ,UAAC,OACE,GAAG,IAAI,CAAC,KAAK,CACd,MAAO,CAAE,OAAQ,SAAU,EAC3B,QAAS,IAAI,CAAC,cAAc,CAC5B,YAAa,IAAI,CAAC,eAAe,CACjC,WAAY,IAAI,CAAC,cAAc,C,SAE9B+V,C,IAIT,CAAE,AAEF,mBAAoB,KAClB,IAAIK,EAAS,GACT,IAAI,EAAE,OAAO,gBAAkB1W,KAAAA,IACjC0W,EAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,EAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,CAACA,GAG/B,CAAE,AAEF,mBAAoB,KAClB,IAAMC,EAAU,IAAI,CAAC,UAAU,EAGV,MADAjX,OAAO,KAAK,EAAE,cAEjC,IAAI,CAAC,KAAK,CAAC,UAAU,CAACiX,EAE1B,CAAE,AAEF,aAAsC,CACpC,GAAI,IAAI,CAAC,KAAK,EAAE,qBAAuB3W,KAAAA,EAEvC,MAAO,UAAC,O,SAAK,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,C,EACtG,CAEA,QAAS,CACP,IAAMiE,EAAevE,OAAO,KAAK,EAAE,aAC7BiX,EAAU,IAAI,CAAC,UAAU,GAC/B,MACE,UAAC,O,SACE1S,AAAiB,KAAjBA,GAAyB,AAAgC,IAAhC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CACnD,UAAC,O,SACEA,AAAiB,KAAjBA,EACC,WAAC,O,UACC,UAAC2S,GAAAA,CAAOA,CAAAA,CACN,UAAU,UACV,QAAQ,6DACR,mBAAkB,G,SAElB,UAAC,OAAI,cAAe,IAAI,CAAC,iBAAiB,C,SAAG,IAAI,CAAC,UAAU,E,KAE9D,WAAC,OACC,MAAO,CACL,gBAAiB,OACjB,QAAS,YACT,UAAW,mBACX,SAAU,WACV,UACE,gGACF,aAAc,CAChB,E,UAEA,UAAC,OACC,MAAO,CACL,SAAU,WACV,IAAK,eACL,KAAM,GACN,MAAO,EACP,OAAQ,EACR,gBAAiB,OACjB,UAAW,0CACX,UAAW,+BACb,C,GAEDD,E,MAGHA,AAAY3W,KAAAA,IAAZ2W,GAAyBA,GAAS,OAAO,UAAU,OAAO,UAAU,OAAO,WAAa3W,KAAAA,EAC1F,UAAC4W,GAAAA,CAAOA,CAAAA,CAAC,QAASD,EAAS,MAAM,GAAG,QAAQ,Q,SACzC,IAAI,CAAC,UAAU,E,GAGlB,IAAI,CAAC,UAAU,E,GAInB,UAAC,O,SACE1S,AAAiB,KAAjBA,EACC,UAAC2S,GAAAA,CAAOA,CAAAA,CACN,UAAU,UACV,QAAQ,6DACR,mBAAkB,G,SAElB,UAAC,OACC,cAAe,IAAI,CAAC,iBAAiB,CACrC,eAAgB,KACd,IAAI,CAAC,KAAK,CAAC,UAAU,CAACD,EACxB,E,SAEC,IAAI,CAAC,UAAU,E,KAGlBA,AAAY3W,KAAAA,IAAZ2W,GAAyBA,GAAS,OAAO,UAAU,OAAO,UAAU,OAAO,WAAa3W,KAAAA,EAC1F,UAAC,OACC,QAAS,KACP,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC2W,EACxB,E,SAEC,IAAI,CAAC,UAAU,E,GAGlB,IAAI,CAAC,UAAU,E,IAM3B,CACF,C2CxIO,MAAME,WAA8BxX,EAAAA,aAAaA,CACtD,WAAasB,EAAAA,SAAe,EAAmB,AAE/C,aAAYrB,CAAiC,CAAE,CAC7C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW,GACX,yBAA0B,GAC1B,mBAAoB,EAAE,AACxB,EAEA,IAAI,CAAC,aAAa,EACpB,CAEA,OAAc,aAAe,CAC3B,qBAAsB,GACtB,aAAc,GACd,SAAU,GACV,uBAAwB,GACxB,kBAAmB,GACnB,kBAAmB,GACnB,aAAc,GACd,YAAa,GACb,WAAY,GACZ,cAAe,GACf,eAAgB,GAChB,WAAY,GACZ,aAAc,MACd,aAAc,KAChB,CAAE,AAEF,QAAO,yBAAyBgL,CAAqC,CAAEwG,CAAqC,CAAE,CAC5G,GAAIxG,AAAyB,KAAzBA,EAAU,UAAU,CACtB,MAAO,CACL,SAAUtK,KAAAA,EACV,UAAWA,KAAAA,CACb,CAEJ,CAEA,kCAAoC,AAAC8W,IACnC,GAAI,AAA4B9W,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,AAA4BA,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAkB8W,AAAiD9W,KAAAA,IAAjD8W,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAEvF,OADiB3N,WAAW0N,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAG5E,CAAE,AAEF,mCAAoC,AAACD,IACnC,GAAI,AAA4B9W,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,AAA4BA,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAkB8W,AAAiD9W,KAAAA,IAAjD8W,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAEvF,OADkB3N,WAAW0N,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAG7E,CAAE,AAEF,oBAAoB,CAClB,GAAI,AAAwB/W,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAkB,AAAyBA,KAAAA,IAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CAG7D,IAAI,CAAC,SAAS,EAChB,CAEA,UAAY,KACV,IAAMiJ,EAAsC,IAAI,CAAC,KAAK,CAAC,KAAK,AAE1DA,AAAmBjJ,MAAAA,IAAnBiJ,GACAA,AAA4BjJ,KAAAA,IAA5BiJ,EAAe,QAAQ,EACvBA,AAA6BjJ,KAAAA,IAA7BiJ,EAAe,SAAS,EACxBA,EAAe,QAAQ,EAAI,GAC3BA,EAAe,SAAS,EAAI,EAExB+N,WAAaA,UAAU,WAAW,EACpCA,UAAU,WAAW,CAAC,kBAAkB,CAAC,AAACC,IACxC,GAAM,CAAEC,OAAAA,CAAM,CAAE,CAAGD,CACfC,CAAAA,EAAO,QAAQ,EAAIA,EAAO,SAAS,EACrC,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,EAAO,QAAQ,CAAE,UAAWA,EAAO,SAAS,AAAC,EAAG,KACxE,GAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CACvB,GAAI,CAAE/U,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,AACZnC,MAAAA,IAAVmC,IACFA,EAAQ,CAAE,SAAU+U,EAAO,QAAQ,CAAE,UAAWA,EAAO,SAAS,AAAC,EACjE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE/U,GAEzD,CACF,EAEJ,GAEO,IAAI,CAAC,KAAK,CAAC,KAAK,EACzB,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU8G,EAAe,QAAQ,CAAE,UAAWA,EAAe,SAAS,AAAC,EAE3F,CAAE,AAEF,WAAY,IACH,EAAE,IAAK,IAAI,CAAC,WAAW,GAAI,IAAK,IAAI,CAAC,YAAY,EAAG,EAC3D,AAEF,aAAc,IACZ,AAAI,AAAwBjJ,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACd,IAAI,CAAC,KAAK,CAAC,QAAQ,CAExB,AAAwBA,KAAAA,IAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAEhBwF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAEzB,WAFmC4D,WAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAGxE,AAEF,cAAe,IACb,AAAI,AAAyBpJ,KAAAA,IAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,CACf,IAAI,CAAC,KAAK,CAAC,SAAS,CAEzB,AAAyBA,KAAAA,IAAzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAEjBwF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAEzB,WAFmC4D,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAGzE,AAEF,SAAU,IACR,AAAI,AAAoBpJ,KAAAA,IAApB,IAAI,CAAC,KAAK,CAAC,IAAI,CACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAEpB,AAAoBA,KAAAA,IAApB,IAAI,CAAC,KAAK,CAAC,IAAI,CACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAEjB,EACP,AAOF,mBAAkBmX,CAAa,CAAEC,CAAa,CAAE,CAE9C,IAAMC,EAAO,IAAI,CAAC,OAAO,CAACF,EAAK,GAAG,CAAGC,EAAK,GAAG,EACvCE,EAAO,IAAI,CAAC,OAAO,CAACH,EAAK,GAAG,CAAGC,EAAK,GAAG,EAEvCtM,EACJP,KAAK,GAAG,CAAC8M,EAAO,GAAK9M,KAAK,GAAG,CAAC8M,EAAO,GACrC9M,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC4M,EAAK,GAAG,GAAK5M,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC6M,EAAK,GAAG,GAAK7M,KAAK,GAAG,CAAC+M,EAAO,GAAK/M,KAAK,GAAG,CAAC+M,EAAO,GAI7G,OAAOC,AAFC,EAAIhN,KAAK,KAAK,CAACA,KAAK,IAAI,CAACO,GAAIP,KAAK,IAAI,CAAC,EAAIO,IAR9B,IAWvB,CAEA,QAAQ0M,CAAW,CAAE,CACnB,OAAOA,AAAOjN,KAAK,EAAE,CAAG,IAAjBiN,CACT,CAEA,iCAAkC,CAChC,IAAIC,EAAc,IACZ,CAAEC,kBAAAA,CAAiB,CAAE,CAAG,IAAI,CAAC,KAAK,CAExC,GAAIA,IACFD,EAAcC,EAAoBD,EAAcC,EAAoBD,EAChE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAC3B,IAAME,EAAiB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAG,EACzDA,EAAiBF,GACnBA,CAAAA,EAAcE,CAAa,CAE/B,CAGF,OAAOF,EAAc,EACvB,CAEA,sBAAwB,AAACG,IACvB,GAAIA,GAAUA,EAAO,GAAG,EAAIA,EAAO,GAAG,CAAE,CACtC,IAAMzV,EAAQ,CAAE,SAAUyV,EAAO,GAAG,CAAE,UAAWA,EAAO,GAAG,AAAC,EAC5D,IAAI,CAAC,eAAe,CAACA,EAAO,GAAG,CAAEA,EAAO,GAAG,EACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAMzV,EAG9B,CACF,CAAE,AAEF,yBAA0B,AAACyV,IACzB,GAAI,AAA2B,KAA3B,IAAI,CAAC,iBAAiB,EAAcA,GAAUA,EAAO,GAAG,EAAIA,EAAO,GAAG,EAAI,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAW,CAC1G,IAAMzV,EAAQ,CAAE,SAAUyV,EAAO,GAAG,CAAE,UAAWA,EAAO,GAAG,AAAC,EAC5D,IAAI,CAAC,eAAe,CAACA,EAAO,GAAG,CAAEA,EAAO,GAAG,EACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAOzV,EAG/B,CACF,CAAE,AAEF,kBAAiB0V,CAAM,CAAE,CACvB,IAAM9B,EAAM8B,GAAO,KAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAClC7B,EAAO6B,GAAO,MAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CACrCC,EAAe,IAAI,CAAC,KAAK,CAAC,YAAY,CAE5C,GAAI,CAAC/B,GAAO,CAACC,GAAQ,CAAC8B,EAAc,MAEhC,KAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAEhD,IAAMC,EAAS,IAAI/B,EAAK,MAAM,CAAC,CAC7B,YAAa,wBACb,cAAe,GACf,aAAc,EACd,UAAW,wBACX,YAAa,GACbD,IAAAA,EACA,OAAQ,IAAI,CAAC,SAAS,GACtB,OAAQ+B,AAAe,IAAfA,CACV,GAEA,IAAI,CAAC,QAAQ,CAAC,CAAEC,OAAAA,CAAO,EACzB,CAEA,sBAAwB,CAAChC,EAAKC,KACxB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAACD,EAAKC,GAClC,IAAI,CAAC,gBAAgB,CAAC,CAAED,IAAAA,EAAKC,KAAAA,CAAK,GAEtC,CAAE,AAEF,oBAAqB,CAAC,CAAEgC,OAAAA,CAAM,CAAEC,KAAAA,CAAI,CAAEC,OAAAA,CAAM,CAAE,IAC5CF,EAAO,GAAG,CAAG5S,OAAO4S,EAAO,GAAG,CAAC,OAAO,CAAC,IACvCA,EAAO,GAAG,CAAG5S,OAAO4S,EAAO,GAAG,CAAC,OAAO,CAAC,IAIvC,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,EAAO,GAAG,CAAE,UAAWA,EAAO,GAAG,CAAEC,KAAAA,EAAMC,OAAAA,CAAO,GAC1E,IAAI,CAAC,gBAAgB,EACvB,CAAE,AAEF,cAAe,KACb,IAAIzY,EAAa,CAAC,EAalB,OAZI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAE9B,CAACC,EAAM,MAAM,EACfA,CAAAA,EAAM,MAAM,CAAG,OAAM,EAEnB,CAACA,EAAM,KAAK,EACdA,CAAAA,EAAM,KAAK,CAAG,MAAK,EAEhBA,EAAM,OAAO,CAAG,SACnBA,EAAM,OAAO,CAAG,cAEXA,CACT,CAAE,AAEF,yBAA0B,KACxB,IAAI,CAAC,QAAQ,CAAC,CACZ,UAAW,EACb,EACF,CAAE,AAEF,mBAA6B,EAAM,AAEnC,kCAAmC,KACjC,IAAI,CAAC,iBAAiB,CAAG,EAC3B,CAAE,AAEF,iCAAkC,KAChC,IAAI,CAAC,iBAAiB,CAAG,EAC3B,CAAE,AAEF,aAAc,AAACyW,IACb,IAAI,CAAC,uBAAuB,CAAC,CAC3B,IAAKA,EAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAChC,IAAKA,EAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAChC,iBAAkBA,EAAM,iBAAiB,CACzC,MAAOA,EAAM,IAAI,AACnB,EACF,CAAE,AAEF,cAAe,AAAC/T,GACd,AAAIA,AAAUnC,KAAAA,IAAVmC,GAAuBA,AAAmBnC,KAAAA,IAAnBmC,EAAM,QAAQ,EAAkBA,AAAoBnC,KAAAA,IAApBmC,EAAM,SAAS,CAEtE,UAAC,OACC,MAAO,CAAE,OAAQ,EAAG,EACpB,UAAU,eAEV,IAAKA,EAAM,QAAQ,CACnB,IAAKA,EAAM,SAAS,A,GAInB,wBACP,AAEF,wBAAwB,CACtB,GAAM,CAAEgW,eAAAA,CAAc,CAAEL,aAAAA,CAAY,CAAE,CAAG,IAAI,CAAC,KAAK,CACnD,GAAI,CAACK,GAAkB,CAACL,EAAc,MAAO,yBAE7C,GAAM,CAAExB,IAAAA,CAAG,CAAEC,IAAAA,CAAG,CAAE,CAAG,IAAI,CAAC,SAAS,GACnC,MACE,UAAC,OACC,MAAO,CACL,SAAU,UACZ,EAEA,IAAKD,EACL,IAAKC,E,SAEL,UAAC,QACC,MAAO,CACL,SAAU,WACV,UAAW,wBACX,MAAO,EACP,OAAQ,EACR,aAAc,OACd,gBAAiB,uBACnB,C,IAIR,CAEA,eAAgB,CACd,GAAI7W,OAAO,KAAK,EAAE,cAAgB,CAAE,iBAAiBsX,SAAQ,EAAI,OACjE,IAAMoB,EAAO,IAAI,CACjBpB,UAAU,WAAW,CAAC,kBAAkB,CACtC,SAAU,CAAE,OAAQ,CAAEqB,SAAAA,CAAQ,CAAEC,UAAAA,CAAS,CAAEC,SAAAA,CAAQ,CAAE,CAAE,EAerDH,EAAK,QAAQ,CAAC,CAAE,WAAY,CAAEC,SAAAA,EAAUC,UAAAA,EAAWC,SAAAA,CAAS,CAAE,EAChE,EACA,KAAO,EACP,CAAE,mBAAoB,GAAM,QAAS,IAAM,WAAY,GAAM,EAEjE,CAEA,oBAAqB,KASfC,EARJ,GAAM,CAAEC,oBAAAA,CAAmB,CAAEC,qBAAAA,CAAoB,CAAE,CAAG,IAAI,CAAC,KAAK,CAEhE,GAAIhZ,OAAO,KAAK,EAAE,cAAgB,CAACgZ,GAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAE,MAAO,yBAE1F,IAAMC,EAAkC,CACtC,MAAOD,EACP,UAAW,uBACb,EAcA,OAXKD,EAQHD,EAAc,UAACpZ,EAAIA,CAAC,SAAUqZ,EAAqB,MAAOE,C,IAP1DA,EAAW,KAAK,CAAG,GACnBA,EAAW,MAAM,CAAG,GACpBA,EAAW,UAAU,CAAGD,EACxBC,EAAW,YAAY,CAAG,OAE1BH,EAAc,UAAC,OAAI,MAAOG,C,IAM1B,UAAC,OAEC,IAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CACnC,IAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,C,SAEnCH,C,EAGP,CAEA,gBAAgBlC,CAAG,CAAEC,CAAG,CAAE,CACxB,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CACrC,OAEF,GAAM,CAAEP,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,CAE3B4C,AADiB,IAAI5C,EAAK,QAAQ,GACzB,OAAO,CAAC,CAAE,SAAU,CAAEM,IAAAA,EAAKC,IAAAA,CAAI,CAAE,EAAG,CAACvJ,EAAS6L,KAUvD,EACF,CAEA,+BAAgC,CAC9B,IAAI,CAAC,QAAQ,CAAC,CAAE,yBAA0B,GAAO,mBAAoB,EAAE,AAAC,EAC1E,CAEA,4BAA4BC,CAAqD,CAAE,CACjF,IAAI,CAAC,QAAQ,CAAC,CAAE,yBAA0B,GAAM,mBAAoBA,CAAQ,EAC9E,CAEA,gCAAiC,CAC/B,GAAI,AAAyC,IAAzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAQ,OAEhD,IAAMC,EAAcpY,EAAAA,YAAkB,CACpC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAChC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CACtC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,UAEpCqY,EAA0BD,EAAY,KAAK,CAC9C,YAAY,CAACA,EAAY,KAAK,EAC9B,KAAK,CAAC,kBAAkB,CAAC/Y,KAAAA,EAAW+Y,EAAY,KAAK,CAAC,MAAM,CAAEA,EAAY,KAAK,CAAC,KAAK,EAExF,GAAKC,GAAyB,OAAO,UAAU,OAAO,SAEtD,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAACnK,EAAmDoK,KAC3F,IAAM/E,EAAUvT,EAAAA,YAAkB,CAACkO,EAAOA,EAAM,KAAK,CAAEA,EAAM,KAAK,EAAE,UAChEiI,EAASjI,GAAO,OAAO,OAErBwJ,EAAW,IAAI,CAAC,iCAAiC,CAACvB,GAGlDoC,EAAc,CAAEb,SAAAA,EAAUC,UAFd,IAAI,CAAC,iCAAiC,CAACxB,EAEf,EAE1C,MACE,UAAC,OACC,MAAO,CACL,QAAS,YACT,UAAWmC,AAAM,IAANA,EAAU,iBAAmBjZ,KAAAA,CAC1C,EACA,QAAS,AAACe,IACR,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAACA,EAAG+V,EAAQjI,GAAO,OAAO,YAAaqK,EAC3E,EACA,eAAgB,AAACnY,IACf,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAACA,EAAG+V,EAAQjI,GAAO,OAAO,YAAaqK,EAC3E,E,SAEChF,EAAQ,KAAK,CACX,YAAY,CAACA,EAAQ,KAAK,EAC1B,KAAK,CAAC,kBAAkB,CAAClU,KAAAA,EAAWkU,EAAQ,KAAK,CAAC,MAAM,CAAEA,EAAQ,KAAK,CAAC,KAAK,C,EAGtF,EACF,CAEA,YAAYiF,CAAqB,CAAE,CACjC,IAAMC,EAAc,EAAE,CACtB,IAAK,IAAIH,EAAI,EAAGA,EAAIE,EAAe,MAAM,CAAEF,IAAK,CAC9C,IAAM5C,EAAgB8C,CAAc,CAACF,EAAE,CACvC,GAAI,CAAC5C,EAAc,KAAK,EAAIA,EAAc,KAAK,EAAE,OAAQ,SAEzD,IAAMC,EAAM,IAAI,CAAC,iCAAiC,CAACD,GAAe,OAAO,QACnEE,EAAM,IAAI,CAAC,iCAAiC,CAACF,GAAe,OAAO,OAErE,EAACjR,OAAO,KAAK,CAACkR,IAAQ,CAAClR,OAAO,KAAK,CAACmR,IAAQD,AAAQ,OAARA,GAAgBC,AAAQ,OAARA,GAC9D6C,EAAY,IAAI,CAAC,CAAE9C,IAAAA,EAAKC,IAAAA,EAAKF,cAAAA,CAAc,EAC/C,CAEA,MAAOgD,AAAAA,GAAAA,GAAAA,OAAAA,AAAAA,EAAaD,EAAa,CAAE,OAAQ,EAAG,EAChD,CAEA,QAAU,KACR,IAAMnV,EAAevE,OAAO,KAAK,EAAE,aACnC,MACE,sB,SACE,WAAC,OACC,IAAK,IAAI,CAAC,UAAU,CACpB,cAAe,AAAC4Z,IACdA,EAAG,cAAc,EACnB,EACA,MAAO,IAAI,CAAC,YAAY,G,UAEvB,AAAmBtZ,KAAAA,IAAnB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAkB,AAAoBA,KAAAA,IAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EAC9C,UAAC,OAAI,UAAU,c,SACb,UAAC,OAAI,UAAU,sBAAsB,MAAO,CAAE,SAAU,UAAW,E,SACjE,UDvdD8V,GCudcA,CACX,IAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CACnB,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,SAAU,IAAI,CAAC,WAAW,CAC1B,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,iBAAkB,AAACyD,IACjB,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,EAAS,QAAQ,CAAE,UAAWA,EAAS,SAAS,CAAE,KAAM,EAAG,EACvF,C,OAKPtV,AAAiB,KAAjBA,EAAwB,sB,SAAG,IAAI,CAAC,mBAAmB,E,GAAS,sB,SAAG,IAAI,CAAC,gBAAgB,E,OAI7F,CAAE,AAEF,qBAAsB,IACb,UAAC,OAAI,UAAU,iB,SAAkB,IAAI,CAAC,cAAc,E,EAC3D,AAEF,kBAAmB,KACjB,IAAMwT,EAAc,IAAI,CAAC,+BAA+B,GAClD+B,EAAqB,IAAI,CAAC,8BAA8B,GAE9D,MACE,WAACC,GAAAA,CAAMA,CAAAA,CAAC,MAAO,CAAE,SAAU,WAAY,SAAU,QAAS,E,UACxD,WAACC,GAAAA,EAAcA,CAAAA,CACb,mCAAoC,GACpC,WAAY,CAAC,eAAgB,eAAe,CAC5C,kBAAmB,CAAC,CAAE3D,IAAAA,CAAG,CAAEC,KAAAA,CAAI,CAAE,GAAK,IAAI,CAAC,qBAAqB,CAACD,EAAKC,GACtE,OAAQ,IAAI,CAAC,SAAS,GACtB,KAAM,IAAI,CAAC,OAAO,GAClB,iBAAkB,CAChB,IAAK,0CACL,UAAW,CAAC,SAAU,WAAW,AACnC,EACA,QAAS,CACP,gBAAiB,AAAwB,KAAxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAY,YAAc,OAC9D,uBAAwB,IAAI,CAAC,KAAK,CAAC,sBAAsB,CACzD,kBAAmB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/C,kBAAmB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/C,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,CACrC,YAAa,IAAI,CAAC,KAAK,CAAC,WAAW,CACnC,WAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CACjC,cAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CACvC,eAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CACzC,sBAAuB,CAErB,SAAU2D,QAAQ,MAAM,iBAAiB,aAAe,EACxD,WAAY,CAAC,UAAW,YAAY,AACtC,CACF,EACA,UAAW,IAAI,CAAC,KAAK,CAAC,SAAS,CAC/B,SAAU,IAAI,CAAC,kBAAkB,CACjC,QAAS,IAAI,CAAC,uBAAuB,C,UAEpC,IAAI,CAAC,kBAAkB,GACvB,IAAI,CAAC,qBAAqB,GAC1B,IAAI,CAAC,cAAc,G,GAErBH,GACC,UAAC5Q,GAAAA,CAAMA,CAAAA,CACL,UAAU,QACV,aAAc,GACd,KAAM,IAAI,CAAC,KAAK,CAAC,wBAAwB,CACzC,UAAW,CAAE,SAAU,UAAW,EAClC,MAAO6O,EACP,QAAS,IAAM,IAAI,CAAC,6BAA6B,G,SAEjD,UAAC,O,SAAK+B,C,OAKhB,CAAE,AAEF,gBAAiB,KACf,IAAML,EAAiB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAE7C,GAAI,CAACA,EAAe,MAAM,CAAE,MAAO,yBAEnC,IAAMS,EAAe,IAAI,CAAC,SAAS,GAC7B7B,EAAS,IAAI,CAAC,KAAK,CAAC,YAAY,CAEhC,CAAEE,KAAAA,CAAI,CAAEI,SAAAA,CAAQ,CAAEC,UAAAA,CAAS,CAAEJ,OAAAA,CAAM,CAAE,CAAG,IAAI,CAAC,KAAK,QAGxD,AAAIA,EAGK2B,AAFU,IAAI,CAAC,WAAW,CAACV,GAElB,CAAElB,KAAAA,EAAMC,OAAAA,EAAQF,OALnB,CAAE,IAAKK,EAAU,IAAKC,CAAU,CAKN,GAAG,GAAG,CAAC,AAACjX,GAC7C,AAAI0W,GAAU,IAAI,CAAC,iBAAiB,CAAC6B,EAAc,CAAE,IAAKvY,EAAK,EAAE,CAAE,IAAKA,EAAK,EAAE,AAAC,GAAK0W,EAAe,yBAEhG1W,AAAmB,IAAnBA,EAAK,SAAS,CACT,IAAI,CAAC,qBAAqB,CAACA,EAAK,MAAM,CAAC,EAAE,CAAC,aAAa,EAEzD,IAAI,CAAC,sBAAsB,CAACA,IAIhCV,EAAAA,QAAAA,CAAAA,GAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CAACkO,EAAYoK,IAC1D,AAAIpK,GAAO,OAASA,GAAO,OAAO,OACzB,IAAI,CAAC,qBAAqB,CAACA,GAE7B,yBAEX,CAAE,AAEF,uBAAsBA,CAAK,CAAE,CAC3B,IAAIvP,EAAQE,IAAAA,KAAO,CAACqP,EAAM,KAAK,CAC/BvP,CAAAA,EAAM,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAC9B,IAAIwa,EAA4B,GAC5BhD,EAASjI,GAAO,OAAO,OACvBkL,EAAyB,IAAI,CAAC,KAAK,CAAC,KAAK,CAEvCzD,EAAM,IAAI,CAAC,iCAAiC,CAACQ,GAC7CP,EAAM,IAAI,CAAC,iCAAiC,CAACO,GAMnD,GAJc9W,KAAAA,GAAV8W,GAAuBiD,AAAM/Z,KAAAA,IAAN+Z,GAAmB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAIA,EAAE,QAAQ,GAAKzD,GAAOyD,EAAE,SAAS,GAAKxD,GACtGuD,CAAAA,EAAmB,EAAG,EAGpB,CAAC1U,OAAO,KAAK,CAACkR,IAAQ,CAAClR,OAAO,KAAK,CAACmR,IAAQD,AAAQ,OAARA,GAAgBC,AAAQ,OAARA,EAC9D,MACE,UAAC,OACC,MAAO,CAAE,GAAG,IAAI,CAAC,gBAAgB,CAACuD,EAAiB,AAAC,EACpD,YAAa,IAAI,CAAC,gCAAgC,CAClD,WAAY,IAAI,CAAC,+BAA+B,CAChD,QAAS,IAAM,IAAI,CAAC,qBAAqB,CAAC,CAAExD,IAAAA,EAAKC,IAAAA,CAAI,GACrD,eAAgB,IAAM,IAAI,CAAC,qBAAqB,CAAC,CAAED,IAAAA,EAAKC,IAAAA,CAAI,GAE5D,IAAK1H,EAAM,KAAK,EAAE,QAAQ,MAC1B,OAAQ,CAAEyH,IAAAA,EAAKC,IAAAA,CAAI,EACnB,IAAKD,EACL,IAAKC,E,SAEJ5V,EAAAA,YAAkB,CAACkO,EAAOvP,EAAOuP,EAAM,KAAK,CAAC,QAAQ,C,EAI9D,CAEA,sBAAwB,CAACmL,EAASC,EAAiBC,IACjD,AAAID,EAEA,WAAC,QACC,MAAO,CACL,QAAS,cACT,cAAe,SACf,MAAOC,EACP,UAAW,wBACX,UAAW,SACX,WAAY,OACZ,SAAU,EACZ,E,UAEA,UAAC9a,EAAIA,CAAC,SAAU,IAAI,CAAC,KAAK,CAAC,eAAe,A,GACzC4a,EAAQ,SAAS,C,GAMtB,WAAC,QACC,MAAO,CACL,SAAU,WACV,MAAO,GACP,OAAQ,GACR,QAAS,cACT,UAAW,uBACb,E,UAEA,WAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6B,UAChE,UAAC,QACC,EAAE,gwBACF,OAAO,UACP,eAAa,G,GAEf,UAAC,UAAO,GAAG,OAAO,GAAG,KAAK,EAAE,KAAK,KAAK,UAAU,OAAO,UAAU,eAAa,G,MAEhF,UAAC,QACC,MAAO,CACL,SAAU,WACV,IAAK,mBACL,MAAO,OACP,UAAW,SACX,MAAO,OACP,SAAU,OACV,WAAY,MACd,E,SAECA,EAAQ,SAAS,A,KAMxB,AAEF,wBAAuBA,CAAO,CAAE,CAC9B,GAAM,CAAEE,iBAAAA,CAAgB,CAAED,gBAAAA,CAAe,CAAE,CAAG,IAAI,CAAC,KAAK,CAExD,MACE,UAAC,OACC,QAAS,IAAM,IAAI,CAAC,2BAA2B,CAACD,EAAQ,MAAM,CAAC,GAAG,CAAC,AAACG,GAAUA,EAAM,aAAa,GACjG,MAAO,CACL,OAAQ,SACV,EAEA,IAAKH,EAAQ,EAAE,CACf,IAAKA,EAAQ,EAAE,C,SAEd,IAAI,CAAC,qBAAqB,CAACA,EAASC,EAAiBC,E,EAG5D,CAEA,QAAoB,CAElB,MAAOjW,AAAiB,KADHvE,OAAO,KAAK,EAAE,cAEhC,KAAI,CAAC,KAAK,CAAC,gBAAgB,GAAKb,GAAAA,SAA0B,EACzD,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAKA,GAAAA,MAAsB,AAAtBA,EAClC,sB,SACE,UAACub,GAAAA,CACC,QAAS,IAAI,CAAC,KAAK,CAAC,aAAa,CACjC,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,qBAAsB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACrD,mBAAoB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACjD,kBAAmB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/C,cAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CACvC,QAAS,KACH,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAC/B,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAEjC,E,SAEC,IAAI,CAAC,OAAO,E,KAIjB,IAAI,CAAC,OAAO,EAEhB,CAEA,iBAAmB,AAACN,IAClB,IAAMva,EAAc,CAAC,EAiBrB,OAhBAA,EAAO,MAAM,CAAG,UAChBA,EAAO,WAAW,CAAG,EAGrBA,EAAO,MAAM,CAAG,UAChBA,EAAO,QAAQ,CAAG,WAClBA,EAAO,MAAM,CAAG,GAChBA,EAAO,SAAS,CAAGua,EACf,6HACA,GACJva,EAAO,YAAY,CAAG,OACtBA,EAAO,WAAW,CAAG,QACjB,CAACG,OAAO,KAAK,EAAE,cACjBH,CAAAA,EAAO,SAAS,CAAG,uBAAsB,EAGpCA,CACT,CAAE,AACJ,CAaA,MAAM6a,WAAkB/a,EAAAA,aAAaA,CACnC,YAAYC,CAAqB,CAAE,CACjC,KAAK,CAACA,EACR,CAEA,OAAc,aAAe,CAC3B,SAAUR,GAAAA,MAA2B,AACvC,CAAE,AAEF,UAAW,IAET,AAAImF,AAAiB,KADAvE,OAAO,KAAK,EAAE,cACN,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAKb,GAAAA,SAA0B,CAC9E,CAAE,SAAU,UAAW,EAEzB,CAAC,CACR,AAEF,cAAe,IACb,AAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAKC,GAAAA,MAA2B,CAC1D,SAEL,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAKA,GAAAA,GAAwB,CACvD,MAEL,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAKA,GAAAA,IAAyB,CACxD,OAEL,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAKA,GAAAA,KAA0B,CACzD,QAGF,QACP,AAEF,QAAS,KACP,IAAMmF,EAAevE,OAAO,KAAK,EAAE,aACnC,MACE,WAAC,OACC,MAAO,CACL,SAAU,WACV,SAAU,SACV,UAAW,SACX,WAAY,UACZ,OAAQ,oBACR,aAAc,MAChB,E,UAEA,UAAC,O,SAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,A,GACzB,UAACkJ,GAAAA,CAAMA,CAAAA,CACL,UAAW,IAAI,CAAC,YAAY,GAC5B,oBAAqB,CAAE,QAAS,GAAI,OAAQ,EAAG,EAC/C,SAAU,GACV,QAAS,KACH,IAAI,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAEtB,EACA,OAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACrC,MAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CACnC,KACG,AAAuB5I,KAAAA,IAAvB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAkBiE,AAAiB,KAAjBA,GACpC,AAA6B,KAA7B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAaA,AAAiB,KAAjBA,EAExC,aAAc,GACd,UAAW,IAAI,CAAC,QAAQ,GACxB,KACE,CACE,KAAI,CAAC,KAAK,CAAC,gBAAgB,GAAKpF,GAAAA,SAA0B,EACzD,AAA6B,KAA7B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAaoF,AAAiB,KAAjBA,CAAoB,E,SAI7D,IAAI,CAAC,KAAK,CAAC,OAAO,A,KAI3B,CAAE,AACJ,CC52BO,MAAMoW,WAAsBhb,EAAAA,aAAaA,CAC9C,YAAYC,CAAyB,CAAE,CACrC,KAAK,CAACA,EACR,CAEA,SAAW,KACT,IAAIG,EAA6B,CAAC,EAiClC,OAhCI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAE9B,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAClCC,CAAAA,EAAM,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAEzF,IAAI,CAAC,KAAK,CAAC,uBAAuB,EACpCA,CAAAA,EAAM,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAGxF,CAACA,EAAM,MAAM,EACb,CAACA,EAAM,WAAW,EAClB,CAACA,EAAM,SAAS,EAChB,CAACA,EAAM,YAAY,EACnB,CAACA,EAAM,WAAW,EAClB,CAACA,EAAM,UAAU,EACjB,CAACA,EAAM,WAAW,EAElBA,CAAAA,EAAM,WAAW,CAAG,GAElBA,GAAO,SACT,OAAOA,EAAM,OAAO,CAElB,CAACA,GAAO,SACVA,CAAAA,EAAM,OAAO,CAAG,KAAI,EAElBA,EAAM,OAAO,EAAKA,CAAAA,GAAO,aAAeA,GAAO,cAAgBA,GAAO,YAAcA,GAAO,aAAY,GACzG,OAAOA,EAAM,OAAO,CAEc,KAAhCC,OAAO,KAAK,CAAC,cAAc,EAAWD,EAAM,UAAU,EACxDA,CAAAA,EAAM,YAAY,CAAGA,EAAM,UAAU,AAAD,EAE/BA,CACT,CAAE,AAEF,iBAAkB,AAACsB,IACb,IAAI,CAAC,KAAK,CAAC,WAAW,EACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAACA,EAE3B,CAAE,AAEF,gBAAiB,AAACA,IACZ,IAAI,CAAC,KAAK,CAAC,UAAU,EACvB,IAAI,CAAC,KAAK,CAAC,UAAU,CAACA,EAE1B,CAAE,AAEF,gCAA+B6B,CAAI,CAAE,CACnC,GAAI,CAACA,GAAQ,CAACA,EAAK,KAAK,CACtB,MAAO,GAET,GAAM,CAAEtD,MAAAA,CAAK,CAAE,CAAGsD,EAElB,GAAItD,GAASA,AAA4B,SAA5BA,EAAM,kBAAkB,CACnC,OAAOsD,EAGT,GAAItD,GAASA,EAAM,QAAQ,CAAE,CAC3B,IAAMkV,EAAmB7T,EAAAA,QAAAA,CAAAA,GAAkB,CAACrB,EAAM,QAAQ,CAAE,AAACuP,GAC3D,IAAI,CAAC,8BAA8B,CAACA,IAItC,GAD4B2F,EAAiB,IAAI,CAAC,AAAC3F,GAAUA,AAAU,OAAVA,GAE3D,MAAO,CACL,GAAGjM,CAAI,CACP,MAAO,CACL,GAAGtD,CAAK,CACR,SAAUkV,CACZ,CACF,CAEJ,CAEA,OAAO,IACT,CAEA,mBAA0B,CACxB,GACE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAC/B9U,QAAQ,mBACRA,AAAyCM,KAAAA,IAAzCN,OAAO,iBAAiB,CAAC,WAAW,EACpCA,OAAO,iBAAiB,CAAC,WAAW,GAAK,IAAI,CAAC,KAAK,CAAC,WAAW,EAC/DA,OAAO,iBAAiB,CAAC,QAAQ,EAAE,aAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,WAGvE,CACA,IAAM4a,EAAc,IAAI,CAAC,cAAc,GACvC,GAAIA,EAAa,CACf,IAAIC,EAAeD,EAAY,aAAa,CAAC,SACzCC,GAAgB3Z,SAAS,aAAa,GAAK2Z,IAC7CA,EAAa,KAAK,GAClBC,WAAW,KACTD,EAAa,KAAK,EACpB,EAAG,GAEP,CACF,CACF,CAEA,eAAiB,IACK7a,OAAO,QAAQ,CAAC,aAAa,CAC/C,CAAC,cAAc,EAAEA,QAAQ,mBAAmB,YAAY,aAAa,EAAEA,QAAQ,mBAAmB,SAAS,EAAE,CAAC,CAGhH,AAEF,UAAW,KACT,IAAMJ,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CACrCF,CAAAA,EAAM,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CACnCA,EAAM,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACtCA,EAAM,KAAK,CAAG,GACd,IAAMmU,EAAc/T,OAAO,UAAU,CAIrC,OAHI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,CAACA,OAAO,KAAK,CAAC,YAAY,EAAI+T,EAAc,MAC7E,OAAOnU,EAAM,QAAQ,CAEhBA,CACT,CAAE,AAEF,SAAoB,CAClB,IAAMmU,EAAc/T,OAAO,UAAU,QACrC,AAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,CAACA,OAAO,KAAK,CAAC,YAAY,EAAI+T,EAAc,KAE3E,WAAC,MACC,eAAgB,IAAI,CAAC,eAAe,CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,MAAO,IAAI,CAAC,QAAQ,GACpB,OAAQ,IAAI,CAAC,cAAc,C,UAE3B,UAAC,OACC,UAAU,eACV,YAAa,KACX,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAClD/T,OAAO,gBAAgB,CAAC,YAAa,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAAE,QAAS,EAAK,EAClF,C,GAED,IAAI,CAAC,KAAK,CAAC,QAAQ,C,GAKxB,UAAC,MACC,eAAgB,IAAI,CAAC,eAAe,CACnC,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,MAAO,IAAI,CAAC,QAAQ,GACpB,OAAQ,IAAI,CAAC,cAAc,A,EAGjC,CACF,CChLO,MAAM+a,WAAyBpb,EAAAA,aAAaA,CACjD,YAAYC,CAA4B,CAAE,CACxC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAMA,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAIrC,OAHIF,GAAO,OAAO,SAChB,OAAOA,EAAM,KAAK,CAAC,OAAO,CAErBA,CACT,CAAE,AAEF,SAAoB,CAClB,MAAO,UAAC,SAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,A,EACnC,CACF,C,gCCSA,OAhCuB,CAAC,CAAE6C,MAAAA,CAAK,CAAEuY,SAAAA,CAAQ,CAAEhQ,SAAAA,CAAQ,CAAEiQ,OAAAA,CAAM,CAAE,IAC3D,GAAM,CAACxW,EAAcyW,EAAgB,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS1Y,GAS3C2Y,EAAW,IACf,AAAI3W,AAAiB,OAAjBA,EAA8BuG,AAAa,UAAbA,EAAuB,UAAY,WAC9DvG,EAAgBuG,AAAa,UAAbA,EAAuB,OAAS,MAASA,AAAa,UAAbA,EAAuB,QAAU,KAGnG,MACE,UAAC,OACC,QAdgB,AAAC3J,IACfA,GAAKA,EAAE,eAAe,EAAEA,EAAE,eAAe,GAC7C,IAAMoI,EAAWhF,AAAiB,OAAjBA,GAA+BA,AAAiB,KAAjBA,GAAgC,KAChFyW,EAAgBzR,GAChBuR,EAASvR,EACX,EAUI,MAAO,CACL,QAAS,OACT,WAAY,SACZ,OAAQ,UACR,aAAc,EACd,SAAUwR,AAAW,oBAAXA,EAA+B,WAAa,WACtD,OAAQA,AAAW,oBAAXA,EAA+B,EAAI3a,KAAAA,CAC7C,E,SAEA,UAACmQ,GAAAA,CAAMA,CAAAA,CAAC,QAAShM,AAAiB,KAAjBA,EAAuB,gBAAiB2W,IAAY,kBAAmBA,G,IAG9F,EC5BM,CAAEC,OAAAA,EAAM,CAAE,CAAGC,GAAAA,CAAMA,CAiVzB,GA7U6B,CAAC,CAC5BC,aAAAA,CAAY,CACZC,gBAAAA,CAAe,CACfC,QAAAA,CAAO,CACPC,aAAAA,CAAY,CACZC,SAAAA,CAAQ,CACRC,QAAAA,CAAO,CACPC,eAAAA,CAAc,CACdC,SAAAA,CAAQ,CACT,QAemBrZ,EAgBAA,EAiBFA,EAeGA,EA9DnB,GAAM,CAACsZ,EAAYC,EAAc,CAAGb,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAGlCQ,IAAalc,GAAAA,MAAgB,CACzBJ,GAAAA,QAA0B,CAC1BI,GAAAA,MAAgB,CAChBH,GAAAA,MAAwB,CACxBC,GAAAA,MAAsB,EAEtB,CAAC0c,EAAaC,EAAe,CAAGf,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiBI,GAAc,OAC/D,CAACY,EAAcC,EAAgB,CAAGjB,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAiBI,GAAc,QAEjEvQ,EAAW/E,aAAa,OAAO,CAAC,MAiEtCoW,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACR,GAAIT,EAAS,CACX,IAAMG,EAAaO,EAAaX,GAC1BY,EAAchB,GAAc,MAAQQ,EAC1CC,EAAcO,GACdf,EAAgB,CAAE,GAAGD,CAAY,CAAE,KAAMgB,EAAaT,SAAAA,CAAS,EACjE,CACF,EAAG,CAACF,EAAQ,EAEZS,AAAAA,GAAAA,EAAAA,SAAAA,AAAAA,EAAU,KACJR,GAAkBA,EAAe,KAAK,EAAIA,EAAe,IAAI,EAAIA,EAAe,KAAK,GAAKI,IAE5FD,EADmBM,EAAaX,IAEhCH,EAAgB,CAAE,GAAGD,CAAY,CAAE,MAAOM,EAAe,KAAK,CAAE,KAAMA,EAAe,IAAI,CAAEC,SAAAA,CAAS,GACpGI,EAAeL,EAAe,KAAK,EACnCJ,IAEJ,EAAG,EAAE,EAEL,IAAMa,EAAe,AAAC7Z,GACpB,AAAIA,IAAUhD,GAAAA,OAAiB,CACtBD,GAAAA,MAAyB,CAE9BiD,IAAUhD,GAAAA,MAAgB,CACrBJ,GAAAA,QAA0B,CAE/BoD,IAAUhD,GAAAA,MAAgB,CACrBH,GAAAA,MAAwB,CAE7BmD,IAAUhD,GAAAA,IAAc,CACnBF,GAAAA,MAAsB,CAExBF,GAAAA,QAA0B,CAgB7Bmd,EAA0B,CAACnb,EAAGob,KAClC,GAAIA,EAAa,CACfL,EAAgB/a,EAAE,MAAM,CAAGA,EAAE,MAAM,CAAC,KAAK,CAAGA,GAC5Cma,EAAgB,CACd,MAAOS,EACP,OAAQ5a,EAAE,MAAM,CAAGA,EAAE,MAAM,CAAC,KAAK,CAAGA,EACpC,KAAM0a,EACND,SAAAA,CACF,GACA,MACF,CACAI,EAAe7a,EAAE,MAAM,CAAGA,EAAE,MAAM,CAAC,KAAK,CAAGA,GAC3Cma,EAAgB,CAAE,MAAOna,EAAE,MAAM,CAAGA,EAAE,MAAM,CAAC,KAAK,CAAGA,EAAG,KAAM0a,EAAYD,SAAAA,CAAS,EACrF,EAEMY,EACJX,IAAe1c,GAAAA,KAAuB,EACtC0c,IAAezc,GAAAA,KAAuB,EACtCyc,IAAexc,GAAAA,KAAqB,EACpCwc,IAAevc,GAAAA,KAAwB,CACnCmd,EACJZ,IAAe1c,GAAAA,QAA0B,EACzC0c,IAAezc,GAAAA,QAA0B,EACzCyc,IAAexc,GAAAA,QAAwB,EACvCwc,IAAevc,GAAAA,QAA2B,CACtCod,EAAmBjB,IAAalc,GAAAA,MAAgB,EAAI,CAACkc,EACrDpX,EAAevE,OAAO,KAAK,CAAC,YAAY,CAE9C,MACE,WAAC,OAAI,MAAO,CAAE,QAAS,CAAE,E,UACvB,WAACsb,GAAAA,CAAMA,CAAAA,CACL,MAAOS,EACP,MAAO,CAAE,MAAO,OAAQ,aAAc,EAAG,QAAS,OAAQ,EAC1D,SAAU,AAACtZ,IACTuZ,EAAcvZ,GACd+Y,EAAgB,CAAE,MAAOS,EAAa,KAAMxZ,EAAOqZ,SAAAA,CAAS,EAC9D,E,UAECc,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,QAA0B,C,SAAG2L,AAAa,UAAbA,EAAuB,YAAW,U,GAE/E4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,cAAgC,C,SAC5C2L,AAAa,UAAbA,EAAuB,aAAY,kB,GAGvC4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,MAAwB,C,SAAG2L,AAAa,UAAbA,EAAuB,UAAY,Q,GAE9E4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,YAA8B,C,SAC1C2L,AAAa,UAAbA,EAAuB,gBAAkB,gB,GAG7C4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,UAA4B,C,SAAG2L,AAAa,UAAbA,EAAuB,SAAW,a,GAEjF4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,QAA0B,C,SAAG2L,AAAa,UAAbA,EAAuB,QAAU,W,GAE9E4R,GAAoB,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,KAAuB,C,SAAG2L,AAAa,UAAbA,EAAuB,MAAQ,O,GAC5F4R,GACC,UAACvB,GAAAA,CAAO,MAAOhc,GAAAA,QAA0B,C,SAAG2L,AAAa,UAAbA,EAAuB,eAAiB,W,GAErF2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,MAAwB,C,SAAG0L,AAAa,UAAbA,EAAuB,UAAY,Q,GAE9E2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,YAA8B,C,SAC1C0L,AAAa,UAAbA,EAAuB,gBAAkB,gB,GAG7C2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,WAA6B,C,SAAG0L,AAAa,UAAbA,EAAuB,oBAAa,c,GAEpF2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,kBAAoC,C,SAChD0L,AAAa,UAAbA,EAAuB,sBAAkB,uB,GAG7C2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,QAA0B,C,SAAG0L,AAAa,UAAbA,EAAuB,uBAAa,W,GAEjF2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,eAAiC,C,SAC7C0L,AAAa,UAAbA,EAAuB,yBAAkB,oB,GAG7C2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,KAAuB,C,SAAG0L,AAAa,UAAbA,EAAuB,MAAQ,O,GAEzE2Q,IAAalc,GAAAA,MAAgB,EAC5B,UAAC4b,GAAAA,CAAO,MAAO/b,GAAAA,QAA0B,C,SAAG0L,AAAa,UAAbA,EAAuB,eAAiB,W,GAErF2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,KAAqB,C,SAAGyL,AAAa,UAAbA,EAAuB,mBAAqB,Y,GAEpF2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,MAAsB,C,SAAGyL,AAAa,UAAbA,EAAuB,qBAAoB,a,GAEpF2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,OAAuB,C,SACnCyL,AAAa,UAAbA,EAAuB,qBAAuB,e,GAGlD2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,MAAsB,C,SAAGyL,AAAa,UAAbA,EAAuB,UAAY,Q,GAE5E2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,YAA4B,C,SACxCyL,AAAa,UAAbA,EAAuB,gBAAkB,gB,GAG7C2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,KAAqB,C,SAAGyL,AAAa,UAAbA,EAAuB,MAAQ,O,GAEvE2Q,IAAalc,GAAAA,IAAc,EAC1B,UAAC4b,GAAAA,CAAO,MAAO9b,GAAAA,QAAwB,C,SAAGyL,AAAa,UAAbA,EAAuB,eAAiB,W,GAEnF2Q,IAAalc,GAAAA,OAAiB,EAC7B,UAAC4b,GAAAA,CAAO,MAAO7b,GAAAA,MAAyB,C,SAAGwL,AAAa,UAAbA,EAAuB,UAAY,Q,GAE/E2Q,IAAalc,GAAAA,OAAiB,EAC7B,UAAC4b,GAAAA,CAAO,MAAO7b,GAAAA,YAA+B,C,SAC3CwL,AAAa,UAAbA,EAAuB,gBAAkB,gB,GAG7C2Q,IAAalc,GAAAA,OAAiB,EAC7B,UAAC4b,GAAAA,CAAO,MAAO7b,GAAAA,KAAwB,C,SAAGwL,AAAa,UAAbA,EAAuB,MAAQ,O,GAE1E2Q,IAAalc,GAAAA,OAAiB,EAC7B,UAAC4b,GAAAA,CAAO,MAAO7b,GAAAA,QAA2B,C,SAAGwL,AAAa,UAAbA,EAAuB,eAAiB,W,MAIxF6R,AArPH,EADgBpa,EAsPJsZ,KApPA1c,GAAAA,QAA0B,EACpCoD,IAAUpD,GAAAA,cAAgC,EAC1CoD,IAAUpD,GAAAA,MAAwB,EAClCoD,IAAUpD,GAAAA,YAA8B,EACxCoD,IAAUpD,GAAAA,UAA4B,EACtCoD,IAAUpD,GAAAA,QAA0B,EACpCoD,IAAUpD,GAAAA,KAAuB,EACjCoD,IAAUpD,GAAAA,QAA0B,EAI/B,EADP,GA0O2B,CAACqd,GAAW,CAACC,GACpC,UAACza,EAAAA,CAAKA,CAAAA,CACJ,YAAa8I,AAAa,UAAbA,EAAuB,cAAgB,YACpD,MAAOiR,EACP,SAAU,AAAC5a,GAAMmb,EAAwBnb,GACzC,MAAO,CAAE,MAAO,OAAQ,aAAc,EAAG,QAAS,OAAQ,EAC1D,UAAS,GACT,SAAUkD,C,GAGbuY,AA/OH,EADgBra,EAgPJsZ,KA9OAzc,GAAAA,MAAwB,EAClCmD,IAAUnD,GAAAA,YAA8B,EACxCmD,IAAUnD,GAAAA,WAA6B,EACvCmD,IAAUnD,GAAAA,kBAAoC,EAC9CmD,IAAUnD,GAAAA,QAA0B,EACpCmD,IAAUnD,GAAAA,eAAiC,EAC3CmD,IAAUnD,GAAAA,KAAuB,EACjCmD,IAAUnD,GAAAA,QAA0B,EACpCmD,IAAUnD,GAAAA,OAAyB,EAI9B,EADP,GAmO2B,CAACod,GAAW,CAACC,GACpC,UAACI,GAAAA,CAAWA,CAAAA,CACV,YAAa/R,AAAa,UAAbA,EAAuB,cAAgB,YACpD,MAAOiR,EACP,SAAU,AAAC5a,GAAMmb,EAAwBnb,GACzC,MAAO,CAAE,MAAO,OAAQ,aAAc,EAAG,QAAS,OAAQ,EAC1D,UAAS,GACT,SAAUkD,C,GAGbyY,AAxOH,EADcva,EAyOJsZ,KAvOExc,GAAAA,KAAqB,EAC/BkD,IAAUlD,GAAAA,MAAsB,EAChCkD,IAAUlD,GAAAA,OAAuB,EACjCkD,IAAUlD,GAAAA,MAAsB,EAChCkD,IAAUlD,GAAAA,YAA4B,EACtCkD,IAAUlD,GAAAA,KAAqB,EAC/BkD,IAAUlD,GAAAA,QAAwB,EAI7B,EADP,GA8NyB,CAACmd,GAAW,CAACC,GAClC,UAACza,EAAAA,CAAKA,CAAAA,CACJ,KAAK,OACL,YAAa8I,AAAa,UAAbA,EAAuB,cAAgB,YACpD,MAAOiR,EACP,SAAU,AAAC5a,GAAMmb,EAAwBnb,GACzC,MAAO,CAAE,MAAO,OAAQ,aAAc,EAAG,QAAS,OAAQ,EAC1D,UAAS,GACT,SAAUkD,C,GAGbwX,IAAexc,GAAAA,OAAuB,EACrC,UAAC2C,EAAAA,CAAKA,CAAAA,CACJ,KAAK,OACL,YAAa8I,AAAa,UAAbA,EAAuB,cAAgB,YACpD,MAAOmR,EACP,SAAU,AAAC9a,GAAMmb,EAAwBnb,EAAG,IAC5C,MAAO,CAAE,MAAO,OAAQ,aAAc,EAAG,QAAS,OAAQ,EAC1D,UAAS,E,GAGZ4b,AA9OH,EADiBxa,EA+OJsZ,KA7ODvc,GAAAA,MAAyB,EACnCiD,IAAUjD,GAAAA,YAA+B,EACzCiD,IAAUjD,GAAAA,KAAwB,EAClCiD,IAAUjD,GAAAA,QAA2B,EAInCmc,IAAalc,GAAAA,OAAiB,EAG3B,EAJP,GAuO4B,CAACid,GAAW,CAACC,GACrC,UAACO,GAAcA,CACb,MAAOjB,GAAe,KACtB,SAAU,AAACxZ,IACTyZ,EAAezZ,GACf+Y,EAAgB,CAAE/Y,MAAAA,EAAO,KAAMsZ,EAAYD,SAAAA,CAAS,EACtD,EACA,SAAU9Q,EACV,OAAQ,gB,GAIZ,UAAC3K,EAAAA,EAAMA,CAAAA,CAAC,KAAK,UAAU,QAzMN,KACnBob,GACF,EAuMkD,KAAK,QAAQ,MAAO,CAAE,MAAO,GAAI,YAAa,CAAE,E,SAC3FzQ,AAAa,UAAbA,EAAuB,WAAa,Q,GAEvC,UAAC3K,EAAAA,EAAMA,CAAAA,CAAC,QAxMQ,KAClBmb,EAAgB,IAEhBQ,EADmBM,EAAaX,IAEhCO,EAAe,IACfR,IACAD,GACF,EAiMkC,KAAK,QAAQ,MAAO,CAAE,MAAO,EAAG,E,SAC3DzQ,AAAa,UAAbA,EAAuB,UAAY,O,KAI5C,E,iBC/SO,OAAMmS,WAAwBxd,EAAAA,aAAaA,CAChD,sBAAgD,AAEhD,aAAYC,CAA2B,CAAE,CACvC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,YAAa,EACf,EACA,IAAI,CAAC,sBAAsB,CAAGE,IAAAA,QAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAG,IAC1E,CAEA,SAAW,KACT,IAAIC,EAAa,CAAC,EA4ClB,OA3CI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAGhC,CAACC,EAAM,MAAM,EACb,CAACA,EAAM,WAAW,EAClB,CAACA,EAAM,SAAS,EAChB,CAACA,EAAM,YAAY,EACnB,CAACA,EAAM,WAAW,EAClB,CAACA,EAAM,UAAU,EACjB,CAACA,EAAM,WAAW,EAElBA,CAAAA,EAAM,WAAW,CAAG,GAElB,CAACA,EAAM,eAAe,EAAI,CAACA,EAAM,UAAU,EAC7CA,CAAAA,EAAM,eAAe,CAAG,aAAY,EAElC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAC5DA,CAAAA,EAAM,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,AAAD,EAE/C,IAAI,CAAC,KAAK,CAAC,aAAa,EAAI,AAA6B,YAA7B,IAAI,CAAC,KAAK,CAAC,aAAa,GAClDA,AAAoB,iBAApBA,EAAM,SAAS,CACjBA,EAAM,aAAa,CAAG,AAA6B,cAA7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAmB,SAAW,MACnEA,AAAoB,kBAApBA,EAAM,SAAS,CACxBA,EAAM,aAAa,CAAG,AAA6B,cAA7B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAmB,MAAQ,SAEzEA,EAAM,aAAa,CAAG,SAExBA,EAAM,SAAS,CAAG,kBAEhB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,GAC1DA,EAAM,WAAW,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAClDA,EAAM,YAAY,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAEjD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAC9DA,CAAAA,EAAM,WAAW,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,AAAD,EAEnD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAC/DA,CAAAA,EAAM,YAAY,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,AAAD,EAErDA,GAAO,SACT,OAAOA,EAAM,OAAO,CAEfA,CACT,CAAE,AAEF,oBAA0B,CACxB,GAAM,CAAEqd,iBAAAA,CAAgB,CAAEC,UAAAA,CAAS,CAAEnT,KAAAA,CAAI,CAAE,CAAG,IAAI,CAAC,KAAK,CACxD,GAAIkT,GAAoBA,CAAgB,CAACC,EAAU,EAAIA,EAErD,IADA,IAAI,CAAC,QAAQ,CAAC,CAAE,YAAaD,CAAgB,CAACC,EAAU,AAAC,GACrDrd,OAAO,KAAK,CAAC,mBAAmB,GAAKqd,EAAW,CAElD,IAAM3Z,EAAa4Z,AADCna,EAAAA,WAAoB,CAAC,IAAI,EACd,aAAa,CAAC,SACzCO,GACFoX,WAAW,KACTpX,EAAM,KAAK,GACX1D,OAAO,KAAK,CAAC,mBAAmB,CAAG,IACrC,EAAG,EAEP,OAEAqd,GACAD,GACAlT,IAASzK,GAAAA,OAAiB,EACzB2d,CAAAA,AAAgC,OAAhCA,CAAgB,CAACC,EAAU,EAC1BD,AAAgC,KAAhCA,CAAgB,CAACC,EAAU,EAC3BD,AAAgC,KAAhCA,CAAgB,CAACC,EAAU,EAC3BD,AAAgC,UAAhCA,CAAgB,CAACC,EAAU,EAC3BD,AAAgC,SAAhCA,CAAgB,CAACC,EAAU,AAAU,GAEvC,IAAI,CAAC,QAAQ,CAAC,CAAE,YAAaD,CAAgB,CAACC,EAAU,AAAC,GAG3D,IAAMC,EAAcna,EAAAA,WAAoB,CAAC,IAAI,EACvC,CAAEpD,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CAC5B,GAAI,CAACud,EAAa,OAClB,IAAMC,EAAwBD,EAAY,aAAa,CAAC,6BAClDE,EAAuBF,EAAY,aAAa,CAAC,2BACnDvd,CAAAA,EAAM,KAAK,GACTwd,GACFA,EAAsB,YAAY,CAAC,QAAS,CAAC,OAAO,EAAExd,EAAM,KAAK,CAAC,CAAC,EAEjEyd,GACFA,EAAqB,YAAY,CAAC,QAAS,CAAC,OAAO,EAAEzd,EAAM,KAAK,CAAC,CAAC,EAGxE,CAEA,cAAc0C,CAAa,CAAE,CAC3B,GAAM,CAAEgb,oBAAAA,CAAmB,CAAEJ,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CACjDI,GAAuBJ,GACzBI,EAAoBJ,EAAW5a,GAEjCzC,OAAO,KAAK,CAAC,mBAAmB,CAAGqd,CACrC,CAEA,mBAAqB,AAAChc,IACpB,IAAMoB,EAAQpB,EAAE,MAAM,CAAC,KAAK,CAC5B,IAAI,CAAC,QAAQ,CAAC,CAAE,YAAaoB,CAAM,EAAG,KAChCA,CAAAA,GAAO,OAAS,GAAKA,AAAU,KAAVA,GAAkCA,MAAlBA,CAAoC,GAC3E,IAAI,CAAC,sBAAsB,CAACA,EAEhC,EACF,CAAE,AAEF,kBAAmB,KACjB,GAAM,CAAEgb,oBAAAA,CAAmB,CAAEJ,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CACjDI,GAAuBJ,GACzBI,EAAoBJ,EAAW,IAAI,CAAC,KAAK,CAAC,WAAW,EAEnD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAClE,CAAE,AAEF,aAAc,KACZ,GAAM,CAAEnT,KAAAA,CAAI,CAAEkT,iBAAAA,CAAgB,CAAEC,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CAClDrS,EAAW/E,aAAa,OAAO,CAAC,MAChC,CAAEgW,YAAAA,CAAW,CAAE,CAAG,IAAI,CAAC,KAAK,CAE5B1X,EAAevE,OAAO,KAAK,CAAC,YAAY,CAExC0d,EAAYxT,IAASzK,GAAAA,MAAgB,CAAG,SAAWyK,IAASzK,GAAAA,IAAc,CAAG,OAAS,cAC5F,AAAIyK,IAASzK,GAAAA,OAAiB,CAE1B,UAACyd,GAAcA,CACb,MAAOE,AAAgC,KAAhCA,CAAgB,CAACC,EAAU,EAAmBD,AAAgC,KAAhCA,CAAgB,CAACC,EAAU,EAAqB,KACrG,SAAU,AAAC5a,IACT,IAAI,CAAC,QAAQ,CAAC,CAAE,YAAaA,CAAM,EAAG,KACpC,IAAI,CAAC,gBAAgB,GACjB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAClE,EACF,EACA,SAAUuI,EACV,OAAQ,iB,GAKZ,UAAC9I,EAAAA,CAAKA,CAAAA,CACJ,KAAMwb,EACN,YAAa1S,AAAa,UAAbA,EAAuB,SAAW,YAC/C,MAAOiR,EACP,QAAS,AAAC5a,GAAMA,EAAE,eAAe,GACjC,SAAU,IAAI,CAAC,kBAAkB,CACjC,OAAQ,IAAI,CAAC,gBAAgB,CAC7B,aAAc,AAACA,IACbA,EAAE,eAAe,GACjB,IAAI,CAAC,gBAAgB,EACvB,EACA,OACE,UAACsc,GAAAA,CAAcA,CAAAA,CACb,QAAS,AAACtc,IACRA,EAAE,eAAe,GACjB,IAAI,CAAC,gBAAgB,EACvB,C,GAGJ,SAAUkD,C,EAGhB,CAAE,AAEF,UAAW,KACT,IAAM3E,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC5BiD,EAAYnD,EAAM,SAAS,CAa/B,OAZIA,EAAM,cAAc,EACtBmD,CAAAA,EAAY,CAAC,EAAEA,EAAU,cAAc,CAAC,AAAD,EAErCnD,EAAM,eAAe,EAAI,CAACA,EAAM,iBAAiB,EAAI,CAACA,EAAM,cAAc,EAC5EmD,CAAAA,EAAY,CAAC,EAAEA,EAAU,eAAe,CAAC,AAAD,EAEtCnD,EAAM,iBAAiB,EAAI,CAACA,EAAM,eAAe,EAAI,CAACA,EAAM,cAAc,EAAIA,EAAM,cAAc,EACpGmD,CAAAA,EAAY,CAAC,EAAEA,EAAU,iBAAiB,CAAC,AAAD,EAExCnD,EAAM,eAAe,EAAIA,EAAM,cAAc,EAAI,CAACA,EAAM,iBAAiB,EAC3EmD,CAAAA,EAAY,CAAC,EAAEA,EAAU,iBAAiB,CAAC,AAAD,EAErC,CACL,GAAGnD,CAAK,CACRmD,UAAAA,CACF,CACF,CAAE,AAEF,SAAoB,CAClB,IAAM6a,EAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAI,AAAkC,UAAlC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CACrE7J,EAAc/T,OAAO,UAAU,CACrC,MACE,WAAC,MAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,MAAO,IAAI,CAAC,QAAQ,G,UAC1C,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAI,CAACA,OAAO,KAAK,CAAC,YAAY,EAAI+T,EAAc,MAC1E,UAAC,OACC,UAAU,eACV,YAAa,KACX,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAClD/T,OAAO,gBAAgB,CAAC,YAAa,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAAE,QAAS,EAAK,EAClF,C,MAGA,IAAI,CAAC,KAAK,CAAC,QAAQ,CACtB,IAAI,CAAC,KAAK,CAAC,KAAK,EACf,AAAqB,KAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,UAAU,EACrB4d,GACA,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1B,IAAI,CAAC,WAAW,G,EAGxB,CACF,CCvPO,MAAMC,WAAuBle,EAAAA,aAAaA,CAC/C,YAAYC,CAA0B,CAAE,CACtC,KAAK,CAACA,EACR,CAEA,SAAW,KACT,IAAMA,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAIrC,OAHIF,GAAO,OAAO,SAChB,OAAOA,EAAM,KAAK,CAAC,OAAO,CAErBA,CACT,CAAE,AAEF,SAAoB,CAClB,MAAO,UAAC,MAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,A,EAChC,CACF,CCjBO,MAAMke,WAAwBne,EAAAA,aAAaA,CAChD,YAAYC,CAAU,CAAE,CACtB,KAAK,CAACA,EACR,CAEA,QAAU,CAACgL,EAAiBmT,KAC1B,IAAI,CAAC,QAAQ,CAACnT,EAAW,KACnBmT,GAAUA,GAChB,EACF,CAAE,AAEF,mBAAoB,KACd,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAC/B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAE9C,CAAE,AAEF,UAAW,KACT,IAAIne,EAAa,CAAC,EAOlB,OANI,IAAI,CAAC,KAAK,EACZA,CAAAA,EAAQE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,GAExBF,EAAM,SAAS,EACjB,OAAOA,EAAM,SAAS,CAEjBA,CACT,CAAE,AAEF,QAAS,KACP,GAAM,CAAEoB,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CAChC,MAAO,UAACA,EAAAA,CAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAG,GAAG,IAAI,CAAC,KAAK,A,EACvD,CAAE,AACJ,C,UChCO,OAAMgd,WAA4Bre,EAAAA,aAAaA,CACpD,YAAYC,CAA+B,CAAE,CAC3C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,CCTO,MAAMqe,WAA4Bte,EAAAA,aAAaA,CACpD,YAAYC,CAA+B,CAAE,CAC3C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,CCTO,MAAMse,WAA2Bve,EAAAA,aAAaA,CACnD,YAAYC,CAA8B,CAAE,CAC1C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,A,EAC5B,CACF,CCTO,MAAMue,WAA8Bxe,EAAAA,aAAaA,CACtD,YAAYC,CAAiC,CAAE,CAC7C,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,QAAoB,CAClB,MAAO,UAAC,OAAK,GAAG,IAAI,CAAC,KAAK,CAAE,MAAO,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,OAAQU,KAAAA,CAAU,C,EAC9E,CACF,CCPO,MAAM8d,WAAyBze,EAAAA,aAAaA,CACjD,YAAYC,CAA4B,CAAE,CACxC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAIC,EAAc,CAAC,EAYnB,OAXI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAEnCD,EAAO,cAAc,CAAG,WACpBA,GAAQ,SACV,OAAOA,EAAO,OAAO,CAEnB,IAAI,CAAC,KAAK,CAAC,UAAU,EACvBA,CAAAA,EAAO,QAAQ,CAAG,aAAY,EAEhCA,EAAO,MAAM,CAAG,OACTA,CACT,CAAE,AAEF,SAAoB,CAClB,MAAO,UAAC,SAAO,GAAG,IAAI,CAAC,KAAK,CAAE,MAAO,IAAI,CAAC,QAAQ,E,EACpD,CACF,CtDmBO,IAAKR,I,CAAAA,E,uMAAAA,GAWL,IAAKC,I,CAAAA,E,0RAAAA,GAYL,IAAKC,I,CAAAA,E,0KAAAA,GAUL,IAAKC,I,CAAAA,E,2HAAAA,GAOL,IAAKC,I,CAAAA,E,wEAAAA,GAyIZ,IAAI4e,GAAuB,EAEpB,OAAeC,WAAwBtd,EAAAA,SAASA,CACrD,OAAwB,0BAA4B,CAAC,GAAI,GAAI,GAAI,IAAI,AAAC,AAE9D,0BAA2B,EAAG,AAEtC,WAAYV,KAAAA,CAAU,AAEtB,gBAAqB,AAErB,gBAAqB,AAErB,wBAAyBW,EAAAA,SAAe,EAAW,AAEnD,aAAYrB,CAAsB,CAAE,CAClC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,QAAS,EAAE,CACX,gBAAiB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,MAAQ,EAAE,CAC5D,sBAAuB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAI,GACpD,kBAAmB0C,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,GACzC,wBAAyBA,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,GAC/C,oBAAqBA,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,GAC3C,UAAWA,EAAAA,IAAAA,CAAAA,MAAW,GACtB,uBAAwBtC,OAAO,KAAK,CAAC,YAAY,CAAG,EAAI,GACxD,WAAYsC,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,GAClC,WAAY,GACZ,kBAAmB,CAAC,EACpB,sBAAuB,EACvB,iBAAkB,EAAE,CACpB,YAAa,EAAE,CACf,iBAAkB,CAAC,EACnB,cAAe,CAAC,EAChB,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,GACjF,oBAAqB,KACrB,aAAchC,KAAAA,EACd,QAAS,CACX,CACF,CAEA,OAAc,aAAe,CAC3B,KAAM,QACN,cAAe,EACjB,CAAE,AAEF,QAAO,gBAAgBV,CAAU,CAAE6C,CAAU,CAAEwQ,CAAY,CAAEC,CAAgB,CAAO,CAIlF,OAHAtT,EAAM,KAAK,CAAG6C,EACd7C,EAAM,OAAO,CAAGqT,EAChBrT,EAAM,QAAQ,CAAGsT,EACVtT,CACT,CAEA,OAAO,yBAAyBgL,CAAoC,CAAEwG,CAAsB,CAAE,CAC5F,IAAMvR,EAA+B,CACnC,kBAAmBuR,EAAU,iBAAiB,CAC9C,wBAAyBA,EAAU,uBAAuB,CAC1D,oBAAqBA,EAAU,mBAAmB,CAClD,KAAMA,EAAU,IAAI,CACpB,IAAKA,EAAU,GAAG,CAClB,qBAAsBA,EAAU,oBAAoB,CACpD,uBAAwBA,EAAU,sBAAsB,CACxD,kBAAmBA,EAAU,iBAAiB,CAC9C,WAAYA,EAAU,UAAU,CAChC,iBAAkBA,EAAU,gBAAgB,CAC5C,iBAAkBA,EAAU,gBAAgB,CAC5C,cAAeA,EAAU,aAAa,CACtC,gBAAiBA,EAAU,eAAe,CAC1C,sBAAuBA,EAAU,qBAAqB,CACtD,aAAcA,EAAU,YAAY,AACtC,EACA,GAAIxG,EAAU,QAAQ,CAiEpB,OAhEA/K,EAAO,OAAO,CAAG,EAAE,CACf+K,AAAmB,aAAnBA,EAAU,IAAI,EAChB/K,EAAO,QAAQ,CAAG+K,EAAU,KAAK,CACjC0T,GAAU,eAAe,CAACze,EAAQ+K,EAAU,QAAQ,GAC3CA,AAAmB,YAAnBA,EAAU,IAAI,EACvB/K,EAAO,QAAQ,CAAG+K,EAAU,KAAK,CACjC0T,GAAU,cAAc,CAACze,EAAQ+K,EAAU,QAAQ,GAC1CA,AAAmB,cAAnBA,EAAU,IAAI,EACvB/K,EAAO,QAAQ,CAAG+K,EAAU,KAAK,CACjC0T,GAAU,eAAe,CAACze,EAAQ+K,EAAU,QAAQ,GAC3CA,AAAmB,gBAAnBA,EAAU,IAAI,EACCtK,KAAAA,IAApBsK,EAAU,KAAK,EACjB/K,CAAAA,EAAO,KAAK,CAAG+K,EAAU,KAAK,AAAD,EAE/B3J,EAAAA,QAAAA,CAAAA,OAAsB,CAAC2J,EAAU,QAAQ,CAAE,CAACuE,EAAOkE,KACjD,GAEO,IAFCA,EAGJiL,GAAU,iBAAiB,CAACze,EAAQsP,EAAOvE,EAGjD,IAEA3J,EAAAA,QAAAA,CAAAA,OAAsB,CAAC2J,EAAU,QAAQ,CAAE,CAACuE,EAAOkE,KACjD,IAAMkL,EAAW3T,GAAW,UAAU,OAAS,GAAKyI,AAAe,IAAfA,EAC9CmL,EACH5T,GAAW,UAAU,OAAS,GAAKyI,AAAe,IAAfA,GAAqB,AAA+B,UAA/B,OAAOzI,GAAW,SAC7E,GAEO,IAFCyI,EAIFlE,AAAmB,eAAnBA,EAAM,IAAI,CAAC,IAAI,EACdA,EAAM,KAAK,CAAC,kBAAkB,EAAIA,AAAmC,gBAAnCA,EAAM,KAAK,CAAC,kBAAkB,EACjEA,AAAmB,qBAAnBA,EAAM,IAAI,CAAC,IAAI,EACdA,EAAM,KAAK,CAAC,kBAAkB,EAAIA,AAAmC,sBAAnCA,EAAM,KAAK,CAAC,kBAAkB,EACjEoP,EAEAD,GAAU,SAAS,CAACze,EAAQsP,EAAOiC,EAAWxG,GAE9CuE,CAAAA,AAAmB,YAAnBA,EAAM,IAAI,CAAC,IAAI,EACdA,EAAM,KAAK,CAAC,kBAAkB,EAAIA,AAAmC,aAAnCA,EAAM,KAAK,CAAC,kBAAkB,EACjEA,AAAmB,kBAAnBA,EAAM,IAAI,CAAC,IAAI,EACdA,EAAM,KAAK,CAAC,kBAAkB,EAAIA,AAAmC,mBAAnCA,EAAM,KAAK,CAAC,kBAAkB,EACjEqP,CAAI,IAEJF,GAAU,MAAM,CAACze,EAAQsP,EAAOvE,EAAWA,EAAU,MAAM,CAAEA,EAAU,SAAS,CAAEA,EAAU,UAAU,EACtG/K,EAAO,cAAc,CAAG,AAAC4e,GAChBxd,EAAAA,aAAmB,CAAC,aAM/Bqd,GAAU,MAAM,CAACze,EAAQsP,EAAOvE,EAAWA,EAAU,MAAM,CAAEA,EAAU,SAAS,CAAEA,EAAU,UAAU,CAG5G,GAGEwG,EAAU,WAAW,CAAC,MAAM,CAAG,GACjCvR,CAAAA,EAAO,OAAO,CAAGuR,EAAU,WAAW,CACnC,GAAG,CAAC,AAACsN,GAAY7e,GAAQ,SAAS,KAAK,AAACsO,GAAQA,EAAI,EAAE,GAAKuQ,IAC3D,MAAM,CAAChc,QAAO,EAEZ7C,CAEX,CAEA,OAAO,UAAY,CAACA,EAA8BsP,EAAYiC,EAAgBxG,KAC5E,IAAI+T,EAAmB,CAAC,CAEpBxP,CAAAA,EAAM,KAAK,CAAC,KAAK,EACnBwP,CAAAA,EAAcxP,EAAM,KAAK,CAAC,KAAK,AAAD,EAG5BA,EAAM,KAAK,CAAC,WAAW,EAAIA,AAA4B,aAA5BA,EAAM,KAAK,CAAC,WAAW,EACpDwP,CAAAA,EAAY,WAAW,CAAG,aAAY,EAItCxP,EAAM,KAAK,CAAC,aAAa,EACxBA,CAAAA,AAA8B,cAA9BA,EAAM,KAAK,CAAC,aAAa,EAAoBA,AAA8B,gBAA9BA,EAAM,KAAK,CAAC,aAAa,AAAiB,IAExFwP,EAAY,WAAW,CAAG,cACQ,cAA9BxP,EAAM,KAAK,CAAC,aAAa,EAC3BwP,CAAAA,EAAY,SAAS,CAAG,gBAAe,GAI3C9e,EAAO,WAAW,CAAG8e,EACrB9e,EAAO,cAAc,CAAG,AAACD,IACvB,IAAI6e,EAAS,CAAE,GAAG7e,CAAK,AAAC,EAKxB,OAHA6e,EAAO,gBAAgB,CAAG,CAAC,QAAQ,EAAErN,EAAU,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CACrFqN,EAAO,6BAA6B,CAAG7T,EAAU,6BAA6B,CAEvE3J,EAAAA,YAAkB,CAACkO,EAAOsP,EACnC,EAEItP,EAAM,KAAK,CAAC,YAAY,EAC1BtP,CAAAA,EAAO,YAAY,CAAGsP,EAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAG,CAE5D,CAAE,AAEF,QAAO,OAAS,CACdtP,EACAsP,EACAyP,EACAC,EACAC,EACAC,KAEAlf,EAAO,QAAQ,CAAGsP,EAAM,KAAK,CAAC,KAAK,CACnCtP,EAAO,WAAW,CAAG,AAACD,GACbqB,EAAAA,YAAkB,CAACkO,EAAOvP,GAEnCqB,EAAAA,QAAAA,CAAAA,OAAsB,CAACkO,EAAM,KAAK,CAAC,QAAQ,CAAE,CAAC6P,EAAYC,KACxD,IAAMC,EAA8Cpf,IAAAA,KAAO,CAACkf,EAAW,KAAK,EACtEpf,EAAQ,CAAC,EACf6T,OAAO,IAAI,CAACuL,EAAW,KAAK,EAAE,OAAO,CAAC,AAAC3b,IACjCA,CAAAA,AAAQ,aAARA,GAAsB,AAAiC,UAAjC,OAAO2b,EAAW,KAAK,CAAC3b,EAAI,AAAY,GAChEzD,CAAAA,CAAK,CAACyD,EAAI,CAAG2b,EAAW,KAAK,CAAC3b,EAAI,AAAD,CAErC,GACA6b,EAAY,MAAM,CAAG,CAACzc,EAAYwQ,EAAcC,KAC9C,IAAIlC,EAAWgO,GAAY,OAAO,SAalC,OAZIA,GAAY,OAAO,UAAU,SAAW,GAAKA,EAAW,KAAK,CAAC,gBAAgB,GAChFhO,EAAW,EAAE,CACTgO,EAAW,KAAK,CAAC,gBAAgB,GAC/BJ,EAAW,oBAAoB,CACjC5N,EAAS,IAAI,CAACgO,EAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,EACjCnf,EAAO,sBAAsB,GAAKqT,EAC3ClC,EAAS,IAAI,CAACgO,EAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,EAE1ChO,EAAS,IAAI,CAACgO,EAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,IAK9C,sB,SAAG/d,EAAAA,YAAkB,CAAC+d,EAAYV,GAAU,eAAe,CAAC1e,EAAO6C,EAAOwQ,EAASC,GAAWlC,E,EAElG,EACA,OAAOkO,EAAY,QAAQ,CAEzBA,GACArf,GACAA,EAAO,YAAY,EACnBA,EAAO,YAAY,CAAC,MAAM,CAAGof,GAC7Bpf,EAAO,YAAY,CAACof,EAAgB,EAAE,OAAS,GAE/CC,CAAAA,EAAY,KAAK,CAAGrf,EAAO,YAAY,CAACof,EAAgB,AAAD,EAGzD,IAAIxc,EACFuc,EAAW,KAAK,EAAE,UAAU,OAAO,OACnCA,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,OAAO,OACpDA,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,OAAO,UAAU,OAAO,KACnEA,CAAAA,EAAW,KAAK,EAAE,UAAU,OAAO,YAAc,aAAe,CAACvc,GAAO,WAAW,SAAS,gBAC9FA,CAAAA,EAAQnC,KAAAA,CAAQ,EAEJA,KAAAA,IAAVmC,GAAuBuc,EAAW,KAAK,EAAE,UAAYA,EAAW,KAAK,EAAE,SAAS,OAAS,GAC3Fvc,CAAAA,EACEuc,EAAW,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,OAASA,EAAW,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,UAAU,OAAO,KAAI,EAE9G,IAAMG,EAAmB,EAAE,CAErBC,EAAkB,AAACpO,IACnBpI,MAAM,OAAO,CAACoI,GAChBA,EAAS,OAAO,CAAC,AAAC7B,IACZA,EAAM,KAAK,EAAE,UACfiQ,EAAgBjQ,EAAM,KAAK,CAAC,QAAQ,EAEtCsE,OAAO,IAAI,CAACtE,EAAM,KAAK,EAAE,OAAO,CAAC,AAAC9L,IAE9B8L,EAAM,KAAK,CAAC9L,EAAI,EAAE,WAAW,SAAS,gBACtCA,AAAQ,gBAARA,GACAA,AAAQ,gBAARA,GAEA8b,EAAiB,IAAI,CAAChQ,EAAM,KAAK,CAAC9L,EAAI,CAE1C,EACF,GACS2N,IACLA,EAAS,KAAK,EAAE,UAClBoO,EAAgBpO,EAAS,KAAK,CAAC,QAAQ,EAErCA,EAAS,KAAK,EAChByC,OAAO,IAAI,CAACzC,EAAS,KAAK,EAAE,OAAO,CAAC,AAAC3N,IAEjC2N,EAAS,KAAK,CAAC3N,EAAI,EAAE,WAAW,SAAS,gBACzCA,AAAQ,gBAARA,GACAA,AAAQ,gBAARA,GAEA8b,EAAiB,IAAI,CAACnO,EAAS,KAAK,CAAC3N,EAAI,CAE7C,GAGN,EAuDA,GArDI2b,EAAW,KAAK,EAAE,UAAU,OAAO,YAAc,aACnDI,EAAgBJ,EAAW,KAAK,EAAE,UAGhCvc,AAAUnC,KAAAA,IAAVmC,GAAuBuc,EAAW,KAAK,EAAE,UAAU,OAAO,YAAc,YAC1EI,EAAgBJ,EAAW,KAAK,EAAE,UAAU,OAAO,UAChC1e,KAAAA,IAAVmC,GAAuBuc,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,MAAM,YAAc,aACjGI,EAAgBJ,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,MAAM,UAInEG,AAA4B,IAA5BA,EAAiB,MAAM,EACtBA,EAAiB,MAAM,CAAG,GACzBA,EAAiB,KAAK,CAAC,AAACE,GAAoBA,IAAoBF,CAAgB,CAAC,EAAE,EAErF1c,EAAQ0c,CAAgB,CAAC,EAAE,CAE3BA,EAAiB,MAAM,CAAG,GAC1B,CAACA,EAAiB,KAAK,CAAC,AAACE,GAAoBA,IAAoBF,CAAgB,CAAC,EAAE,GAEpF1c,CAAAA,EAAQnC,KAAAA,CAAQ,EAIhB6e,EAAiB,MAAM,CAAG,GAC1B,CAACA,EAAiB,KAAK,CAAC,AAACE,GAAoBA,IAAoBF,CAAgB,CAAC,EAAE,GACpFD,EAAY,gBAAgB,EAE5Bzc,CAAAA,EAAQyc,EAAY,gBAAgB,EAAE,aAAY,EAEhDzc,GAAS,CAACA,GAAO,WAAW,SAAS,gBAAkB,CAACyc,EAAY,gBAAgB,EACtFzc,CAAAA,EAAQnC,KAAAA,CAAQ,EAEd0e,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,OAAO,SACtDvc,CAAAA,EAAQuc,EAAW,KAAK,EAAE,UAAU,OAAO,UAAU,OAAO,OAAM,EAIlE,CAACvc,GACDuc,EAAW,KAAK,EAAE,UAClBA,EAAW,KAAK,EAAE,SAAS,OAAS,GACpCA,EAAW,KAAK,EAAE,UAAU,KAC1B,AAAC7P,GACCA,GAAO,OAAO,aAAe,UAC5B6P,CAAAA,EAAW,KAAK,EAAE,UAAU,KAAK,AAAC7P,GAAU,CAACA,GAAO,OAAO,aAC1D6P,EAAW,KAAK,EAAE,UAAU,KAAK,AAAC7P,GAAUA,GAAO,OAAO,aAAe,UAAS,IAMxF1M,CAAAA,EAFEuc,EAAW,KAAK,EAAE,UAAU,KAAK,AAAC7P,GAAU,CAACA,GAAO,OAAO,aAAa,OAAO,OAC/E6P,EAAW,KAAK,EAAE,UAAU,KAAK,AAAC7P,GAAUA,GAAO,OAAO,aAAe,YAAY,OAAO,KACrE,EAEvB1M,EAAO,CACTA,EAAQA,EAAM,QAAQ,GAAG,OAAO,CAAC,cAAe,IAAI,OAAO,CAAC,IAAK,IACjE,IAAIkZ,EAAW,SAsBf,GALAA,EAAW2D,AAfX,SAASA,EAAuBP,CAAU,CAAEtc,CAAK,SAC/C,AAAI,AAACsc,GAAcA,AAAsB,IAAtBA,EAAW,MAAM,CAKlCA,AAAkB,OAAlBA,CAAU,CAAC,EAAE,EACbA,AAAkBze,KAAAA,IAAlBye,CAAU,CAAC,EAAE,EACbA,AAAyBze,KAAAA,IAAzBye,CAAU,CAAC,EAAE,CAACtc,EAAM,EACpBsc,AAAyB,OAAzBA,CAAU,CAAC,EAAE,CAACtc,EAAM,CAEb6b,GAAU,YAAY,CAACS,CAAU,CAAC,EAAE,CAACtc,EAAM,EAE7C6c,EAAuBP,GAAY,MAAM,GAAItc,GAX3C,IAYX,EACkCsc,GAAY,MAAM,EAAG,IAAKtc,GAExDoc,GAAUK,GAAa,cAAgB,IACzCA,CAAAA,EAAY,MAAM,CAAG,CAAC9T,EAAGC,IAAMiT,GAAU,OAAO,CAAC7b,EAAO2I,EAAGC,EAAC,EAE1DyT,GAAaI,GAAa,gBAAkB,GAAM,CACpD,IAAIrD,EAAsB,CAAC,CAEvBhc,CAAAA,EAAO,gBAAgB,EACzB4T,OAAO,MAAM,CAAC5T,EAAO,gBAAgB,EAAE,OAAO,CAAC,AAAC0f,IAC1CA,GAAWA,EAAQ,MAAM,CAAG,GAAKA,CAAO,CAAC,EAAE,CAAC,QAAQ,GAAKL,EAAY,EAAE,EACzErD,CAAAA,EAAiB0D,CAAO,CAAC,EAAE,AAAD,CAE9B,GAGFL,EAAY,aAAa,CACvBrD,EAAe,KAAK,EACpBA,AAAyB,KAAzBA,EAAe,KAAK,EACpBA,AAAyB,IAAzBA,EAAe,KAAK,EACpBA,AAAwB,UAAxBA,EAAe,IAAI,EACnBA,AAAwB,cAAxBA,EAAe,IAAI,EACnBA,AAAwB,iBAAxBA,EAAe,IAAI,EACnBA,AAAwB,qBAAxBA,EAAe,IAAI,EACnBA,AAAwB,eAAxBA,EAAe,IAAI,EACnBA,AAAwB,mBAAxBA,EAAe,IAAI,EACnBA,AAAwB,kBAAxBA,EAAe,IAAI,EACnBA,AAAwB,sBAAxBA,EAAe,IAAI,CACf,CAACA,EAAe,CAChB,EAAE,CAERqD,EAAY,cAAc,CAAG,CAAC,CAAE1D,gBAAAA,CAAe,CAAED,aAAAA,CAAY,CAAEE,QAAAA,CAAO,CAAEC,aAAAA,CAAY,CAAEE,QAAAA,CAAO,CAAE,GAC7FkD,GACE,UAACU,GAAoBA,CACnB,aAAcjE,CAAY,CAAC,EAAE,CAC7B,gBAAiB,AAACkE,GAASjE,EAAgB,CAACiE,EAAK,EACjD,QAAShE,EACT,aAAcC,EACd,SAAUC,EACV,QAASC,EACT,eAAgBC,EAChB,SAAUqD,EAAY,EAAE,A,GAG9BA,EAAY,QAAQ,CAAG,CAACjD,EAAkB7E,IACjCkH,GAAU,WAAW,CAACrC,EAAa7E,EAAQ3U,EAAOkZ,EAE7D,CACCuD,EAAoB,QAAQ,CAAGvD,EAC/BuD,EAAoB,SAAS,CAAGzc,CACnC,CAEA5C,GAAQ,SAAS,KAAKqf,EACxB,EACF,CAAE,AAEF,QAAO,YAAc,CAACjD,EAAkB7E,EAAa3U,EAAYkZ,KAC/D,GAAM,CAAEzR,KAAAA,CAAI,CAAE,CAAG+R,EACXyD,EAActI,CAAM,CAAC3U,EAAM,CAE3Bkd,EAAYrB,GAAU,YAAY,CAACoB,EAAa/D,GAEtD,GAAIgE,AAAc,WAAdA,GAAmCA,GA2BhC,GAAIA,AAAc,WAAdA,EAAgC,CACzC,IAAMC,EAAoBla,OAAOga,GAC3BG,EAAoBna,OAAOuW,GAAa,OAE9C,OAAQ/R,GACN,IAAK,gBAkBL,QAjBE,OAAO0V,IAAsBC,CAC/B,KAAK,wBACH,OAAOD,IAAsBC,CAC/B,KAAK,eACH,OAAOD,EAAoBC,CAC7B,KAAK,YACH,OAAOD,EAAoBC,CAC7B,KAAK,wBACH,OAAOD,GAAqBC,CAC9B,KAAK,qBACH,OAAOD,GAAqBC,CAC9B,KAAK,iBACH,OAAOD,GAAqBC,CAAiB,CAAC,EAAE,EAAID,GAAqBC,CAAiB,CAAC,EAAE,AAC/F,KAAK,eACH,MAAO,CAACH,GAAeA,AAAgB,IAAhBA,CACzB,KAAK,mBACH,MAAO,CAAC,CAACA,GAAeA,AAAgB,IAAhBA,CAG5B,CACF,MAAO,GAAIC,AAAc,SAAdA,EAA8B,CACvC,IAAMG,EAAkBpe,IAAOge,GACzBK,EAAkBre,IAAOua,GAAa,OACtC+D,EAAmBte,IAAOua,GAAa,QAE7C,OAAQ/R,GACN,IAAK,cACH,OAAO4V,GAAiB,OAAOC,EAAiB,MAClD,KAAK,sBACH,MAAO,CAACD,GAAiB,OAAOC,EAAiB,MACnD,KAAK,QACH,OAAOD,GAAiB,QAAQC,EAAiB,MACnD,KAAK,SACH,OAAOD,GAAiB,SAASC,EAAiB,MACpD,KAAK,eACH,OAAOD,GAAiB,UAAUC,EAAiBC,EAAkB,MAAO,KAC9E,KAAK,aACH,MAAO,CAACN,CACV,KAAK,iBACH,MAAO,CAAC,CAACA,CACX,SACE,OAAOI,EAAgB,MAAM,CAACC,EAAiB,MACnD,CACF,KAA4C,CAArC,GAAIJ,AAAc,YAAdA,EAoBT,MAAO,GAlBP,IAAMM,EACJ/V,AAAS,UAATA,GAAoBA,AAAS,iBAATA,GAA2BA,AAAS,eAATA,GAAyBA,AAAS,kBAATA,EACpE,KACA+R,GAAa,MAEnB,OAAQ/R,GACN,IAAK,iBAQL,QAPE,OAAOgW,AARmBR,IAQOO,CACnC,KAAK,yBACH,OAAOC,AAVmBR,IAUOO,CACnC,KAAK,gBACH,MAAO,CAACP,GAAeA,AAAgB,KAAhBA,CACzB,KAAK,oBACH,MAAO,CAAC,CAACA,GAAeA,AAAgB,KAAhBA,CAG5B,CACF,MA/FkD,CAChD,IAAMQ,EAAwBR,GAAa,YAAY,cACjDO,EACJ/V,AAAS,UAATA,GAAoBA,AAAS,iBAATA,GAA2BA,AAAS,eAATA,GAAyBA,AAAS,kBAATA,EACpE,KACA+R,GAAa,OAAO,cAE1B,OAAQ/R,GACN,IAAK,WAgBL,QAfE,OAAOgW,GAAuB,SAASD,EACzC,KAAK,mBACH,MAAO,CAACC,GAAuB,SAASD,EAC1C,KAAK,SACH,OAAOC,IAA0BD,CACnC,KAAK,iBACH,OAAOC,IAA0BD,CACnC,KAAK,cACH,OAAOC,GAAuB,WAAWD,EAC3C,KAAK,YACH,OAAOC,GAAuB,SAASD,EACzC,KAAK,QACH,MAAO,CAACP,CACV,KAAK,YACH,MAAO,CAAC,CAACA,CAGb,CACF,CAuEF,CAAE,AAEF,QAAO,UAAY,AAACjd,GAClB,AAAcnC,KAAAA,IAAVmC,GACAA,AAAU,OAAVA,GACG,EACP,AAEF,QAAO,QAAU,CAACA,EAAO2I,EAAGC,KAC1B,IAAIyH,EAAI,GACR,GAAI1H,GAAG,IAAM,MAAQqI,OAAO,IAAI,CAACrI,GAAG,KAAK,CAAC,AAAC/H,GAAQA,AAAQ,OAARA,GAAgB+H,AAAU,MAAVA,CAAC,CAAC/H,EAAI,GAGrEgI,GAAG,IAAM,MAAQoI,OAAO,IAAI,CAACpI,GAAG,KAAK,CAAC,AAAChI,GAAQA,AAAQ,OAARA,GAAgBgI,AAAU,MAAVA,CAAC,CAAChI,EAAI,EAFvE,OAAO,EAWT,GANIib,GAAU,SAAS,CAAClT,IAAMkT,GAAU,SAAS,CAAC7b,IAAU6b,GAAU,SAAS,CAAClT,CAAC,CAAC3I,EAAM,IACtFqQ,EAAI1H,CAAC,CAAC3I,EAAM,CACY,UAApB,OAAO2I,CAAC,CAAC3I,EAAM,EACjBqQ,CAAAA,EAAI1H,CAAC,CAAC3I,EAAM,CAAC,IAAI,EAAC,GAGlB,CAACqQ,EAAG,CACN,IAAMT,EAAQ5P,EAAM,KAAK,CAAC,oBACtB0d,EAAe,KAEf9N,GAASA,CAAK,CAAC,EAAE,EACnB8N,CAAAA,EAAe9N,CAAK,CAAC,EAAE,AAAD,EAEpB8N,GACFrN,CAAAA,EAAI1H,CAAC,CAAC+U,EAAa,AAAD,CAEtB,CACI,CAAC7B,GAAU,SAAS,CAACxL,IACvBA,CAAAA,EAAI,EAAC,EAGP,IAAIsN,EAAI,GAOR,GANI9B,GAAU,SAAS,CAACjT,IAAMiT,GAAU,SAAS,CAAC7b,IAAU6b,GAAU,SAAS,CAACjT,CAAC,CAAC5I,EAAM,IACtF2d,EAAI/U,CAAC,CAAC5I,EAAM,CACY,UAApB,OAAO4I,CAAC,CAAC5I,EAAM,EACjB2d,CAAAA,EAAI/U,CAAC,CAAC5I,EAAM,CAAC,IAAI,EAAC,GAGlB,CAAC2d,EAAG,CACN,IAAM/N,EAAQ5P,EAAM,KAAK,CAAC,oBACtB0d,EAAe,KAEf9N,GAASA,CAAK,CAAC,EAAE,EACnB8N,CAAAA,EAAe9N,CAAK,CAAC,EAAE,AAAD,EAEpB8N,GACFC,CAAAA,EAAI/U,CAAC,CAAC8U,EAAa,AAAD,CAEtB,CAEI,CAAC7B,GAAU,SAAS,CAAC8B,IACvBA,CAAAA,EAAI,EAAC,EAEP,IAAMC,EAAwB,CAC5B,mBACA,sBACA,aACA,mBACA,sBACA,aACA,WACA,QACA,sBACA,2BACA,+BACD,CAID,GAFoB/B,GAAU,MAAM,CAACxL,EAAGuN,GAEvB,CACf,IAAMC,EAAuBD,EAAsB,IAAI,CAAC,AAACE,GAAW7e,IAAOoR,EAAGyN,EAAQ,IAAM,OAAO,IACnG,GAAID,EAAsB,CACxB,GAAI,CAACxN,GAAKA,AAAM,KAANA,EACR,OAAO,EAET,GAAI,CAACsN,GAAKA,AAAM,KAANA,EACR,OAAO,EAET,IAAMI,EAAQ9e,IAAOoR,EAAGwN,GAClBG,EAAQ/e,IAAO0e,EAAGE,GACxB,OAAOE,EAAM,IAAI,CAACC,EACpB,CACF,CAEA,GACGnC,AAAAA,CAAAA,GAAU,QAAQ,CAACxL,EAAG,KAASA,AAAM,KAANA,GAA+BA,MAAnBA,CAA4B,GACvEwL,CAAAA,GAAU,QAAQ,CAAC8B,EAAG,KAASA,AAAM,KAANA,GAA+BA,MAAnBA,CAA4B,QAExE,AAAK,CAACtN,GAAKtO,AAAoB,IAApBA,SAASsO,EAAG,GAAQ,GAAMA,AAAM,KAANA,EAGhC,CAACsN,GAAK5b,AAAoB,IAApBA,SAAS4b,EAAG,GAAQ,GAAMA,AAAM,KAANA,EAG9B1a,OAAOoN,GAAKpN,OAAO0a,GAFjB,EAHA,SAQX,AAAI,AAAa,UAAb,OAAOtN,GAAkB,AAAa,UAAb,OAAOsN,GAAkBtN,EAAE,aAAa,CAC5DA,EAAE,aAAa,CAACsN,GAGrB,AAAa,WAAb,OAAOtN,GAAmB,AAAa,WAAb,OAAOsN,EAC5BtN,IAAMsN,EAAI,EAAItN,EAAI,EAAI,GAGxB,CACT,CAAE,AAEF,QAAO,OAAS,CAACrQ,EAAYie,KAC3B,GAAIje,MAAAA,EAAuC,MAAO,GAElD,GAAI,AAAiB,UAAjB,OAAOA,EACT,KAAK,IAAM8d,KAAUG,EACnB,GAAIhf,IAAOe,EAAO8d,EAAQ,IAAM,OAAO,GACrC,MAAO,EAEX,CAGF,MAAO,EACT,CAAE,AAEF,QAAO,SAASI,CAAC,CAAEC,CAAM,CAAE,OACzB,AAAI,CAAa,UAAb,OAAOD,KAAmBC,CAAK,GAC5B,kBAAkB,IAAI,CAACD,EAChC,CAEA,OAAO,aAAale,CAAU,CAAEkZ,CAAoB,CAAE,OAcpD,AAAI,AAAiB,WAAjB,OAAOlZ,GAAuBA,AAAU,SAAVA,GAAoBA,AAAU,UAAVA,EAC7C,UAEL6b,GAAU,MAAM,CAAC7b,EAhBS,CAC5B,mBACA,sBACA,aACA,mBACA,sBACA,aACA,WACA,QACA,sBACA,2BACA,+BACD,EAKQ,OAEL6b,GAAU,QAAQ,CAAC7b,EAAO,IACrB,SAEL,AAACA,GAASA,AAAU,KAAVA,GAAkCA,MAAlBA,EAGvB,SAFEkZ,CAGX,CAEA,OAAO,eAAiB,CAAC9b,EAA8BmR,KACrDnR,EAAO,WAAW,CAAG,AAACD,GACb,UAACsW,GAAWA,CAAE,GAAGtW,CAAK,A,GAE/B,IAAMsf,EAA4C,CAAC,CACnDA,CAAAA,EAAY,MAAM,CAAG,CAAC2B,EAAa5N,EAAcC,IAE7C,UAACd,GAASA,CAAC,SAAUc,EAAU,QAASD,E,SACrCjC,C,GAIPnR,GAAQ,SAAS,KAAKqf,EACxB,CAAE,AAEF,QAAO,gBAAkB,CAACrf,EAA8BmR,KACtDnR,EAAO,WAAW,CAAG,AAACD,GACb,UAAC4V,GAAYA,CAAE,GAAG5V,CAAK,A,GAEhC,IAAMsf,EAA4C,CAAC,CAEnDA,CAAAA,EAAY,MAAM,CAAG,CAAC2B,EAAa5N,EAAcC,IAC/C,UAACd,GAASA,CAAC,SAAUc,EAAU,QAASD,E,SACrCjC,C,GAGLnR,GAAQ,SAAS,KAAKqf,EACxB,CAAE,AAEF,QAAO,kBAAoB,CAACrf,EAA8BmR,EAAepG,SACnEkW,EAEJ7f,EAAAA,QAAAA,CAAAA,OAAsB,CAAC2J,EAAU,QAAQ,CAAE,CAACuE,EAAOkE,KACjD,GAEO,IAFCA,EAGJyN,EAAqB,CAACD,EAAa5N,EAAcC,IAE7C,UAACd,GAASA,CACR,SAAUc,EACV,QAASD,EACT,mBAAoBrI,EAAU,kBAAkB,CAChD,kBAAmBA,EAAU,iBAAiB,C,SAE7C3J,EAAAA,YAAkB,CACjBkO,EACA,CACE,GAAGA,EAAM,KAAK,CACd,kBAAmBvE,EAAU,iBAAiB,CAC9C,mBAAoBA,EAAU,kBAAkB,AAClD,EACAuE,EAAM,KAAK,CAAC,QAAQ,C,EAMlC,GAEAtP,EAAO,WAAW,CAAG,AAACD,GACb,UAAC8W,GAAcA,CAAE,GAAG9W,CAAK,CAAE,mBAAoBkhB,C,GAExD,IAAM5B,EAA4C,CAAC,CAEnDA,CAAAA,EAAY,MAAM,CAAG,CAAC2B,EAAa5N,EAAcC,IAC/C,UAACd,GAASA,CAAC,SAAUc,EAAU,QAASD,E,SACrCjC,C,GAGLnR,GAAQ,SAAS,KAAKqf,EACxB,CAAE,AAEF,QAAO,qBAA+E,AAEtF,QAAO,gBAAkB,CAACrf,EAA8BmR,KACtDnR,EAAO,WAAW,CAAG,AAACD,GACb,UAACkW,GAAYA,CAAE,GAAGlW,CAAK,A,GAEhC,IAAMsf,EAA4C,CAAC,CAEnDA,CAAAA,EAAY,MAAM,CAAG,CAAC2B,EAAa5N,EAAcC,IAC/C,UAACd,GAASA,CAAC,SAAUc,EAAU,QAASD,E,SACrCjC,C,GAGLnR,GAAQ,SAAS,KAAKqf,EACxB,CAAE,AAEF,UAAW,AAACT,IACV,IAAMvb,EAA8BC,EAAAA,WAAoB,CAAC,IAAI,EAC7D,GAAI,CAACD,EACH,OAEF,IAAM8Q,EAAS9Q,EAAiB,gBAAgB,CAAC,uCACjD,IAAI,CAAC,kBAAkB,CAAC8Q,GACxB,IAAM+M,EAAS7d,EAAiB,gBAAgB,CAAC,uCACjD,IAAI,CAAC,kBAAkB,CAAC6d,GAExBC,AADgB9d,EAAiB,gBAAgB,CAAC,yDAC3C,OAAO,CAAC,CAAC+d,EAASlQ,KACvB,IAAI,CAAC,kBAAkB,CAACkQ,GACA,UAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EACjB,IAAI,CAAC,aAAa,CAACA,EAAIlQ,EAE3B,GACwB,UAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EACjB,IAAI,CAAC,eAAe,EAExB,CAAE,AAEF,eAAgB,KACd,IAAMhO,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GACP,CAAEuH,UAAAA,CAAS,CAAE8Z,UAAAA,CAAS,CAAEla,OAAAA,CAAM,CAAEE,UAAAA,CAAS,CAAEia,QAAAA,CAAO,CAAEva,aAAAA,CAAY,CAAEC,YAAAA,CAAW,CAAEF,WAAAA,CAAU,CAAEG,cAAAA,CAAa,CAAE,CAC9G,IAAI,CAAC,KAAK,CAAC,KAAK,CAiFlB,MAhFIM,CAAAA,GAAaJ,GAAUE,CAAQ,IAC7BF,GAIFnH,CAAAA,GAHU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;sBACjB,EAAEiE,EAEL;AAAa,cAAZ,EAAEjE,EAAU,IAAI,GAAG;0BACb,EAAEiE,EAAO;aACtB,CAHC,AAGD,EAEHE,GACFrH,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;0BACb,EAAEmE,EAAU;aACzB,CAAC,AAAD,EAEHE,GACFvH,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;4BACX,EAAEqE,EAAU;;eAEzB,CAAC,AAAD,EAELJ,CAAAA,GAAUI,CAAQ,GAChB,IAAI,CAAC,KAAK,CAAC,UAAU,EACvBvH,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;;;;;;;;iBAQxB,CAAC,AAAD,GAKT,IAAI,CAAC,KAAK,CAAC,WAAW,EACxBlD,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;;;;;SAK5B,CAAC,AAAD,EAGD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EACrElD,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;;SAE5B,CAAC,AAAD,EAGDme,GACFrhB,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;sBACf,EAAEme,EAAU;SACzB,CAAC,AAAD,EAGD,IAAI,CAAC,KAAK,EAAE,SACdrhB,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;;SAE5B,CAAC,AAAD,EAGD,IAAI,CAAC,KAAK,EAAE,SAAW,IAAI,CAAC,KAAK,EAAE,cACrClD,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;8BACP,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa;SAChD,CAAC,AAAD,EAIFoe,CAAAA,GAAWva,GAAgBC,GAAeF,GAAcG,CAAY,GACrE9G,QAAQ,OAAO,iBAAmBC,EAAAA,EAAAA,CAAAA,cAA6B,EAE/DJ,CAAAA,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;mBAClB,EAAE4D,GAAc,EAAE,GAAG,EAAEC,GAAgB,EAAE,GAAG,EAAEE,GAAiB,EAAE,GAAG,EAAED,GAAe,EAAE;SACjG,CAAC,AAAD,EAGLhH,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;;KAE9B,CAAC,AAEJ,CAAE,AAEF,iBAAkB,KAChB,IAAMJ,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,cAAe,KACb,IAAIhD,EAAS,UACb,AAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAGzBA,EAAS,CAAC,EAAEA,EAAO,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFrEA,CAIX,CAAE,AAEF,uBAAwB,AAACD,IACvB,GAAI,CAACA,EAAM,eAAe,CAAE,CAC1B,IAAMsD,EAAOhC,SAAS,cAAc,CAACtB,EAAM,EAAE,EAC7C,GAAIsD,EAAM,CACR,IAAMke,EAAmCle,EAAK,sBAAsB,CAAC,YACjEke,CAAAA,EAAM,MAAM,CAAG,GAChBA,CAAAA,CAAK,CAAC,EAAE,CAAiB,KAAK,CAAC,OAAO,CAAG,MAAK,CAEnD,CACF,CACF,CAAE,AAEF,oBAAqB,CAAC5M,EAAc5U,KAC9BA,GAASA,EAAM,KAAK,EAAIA,EAAM,KAAK,CAAC,eAAe,EACrD4U,CAAAA,EAAQ,KAAK,CAAC,mBAAmB,CAAG5U,EAAM,KAAK,CAAC,eAAe,AAAD,CAElE,CAAE,AAEF,eAAgB,CAAC4U,EAAczD,KAC7B,IAAMxM,EAAevE,OAAO,KAAK,EAAE,aAC/BqhB,EAAoC,CAAC,EACzC,GAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,UAAU,OAAS,EAAG,CACxD,IAAMC,EAAcvQ,EAAQ,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,SAAS,OACrEsQ,EAAe,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ,CAACC,EAAY,EAAE,OAAO,KAC/E,CACA,IAAIpe,EAAYsR,EAAQ,UAAU,CAClC,IAAI,CAACtR,EAGD,CAACqB,GACHrB,CAAAA,EAAOsR,CAAM,EAEf3S,EAAAA,CAAAA,CAAAA,gBAA+B,CAACqB,EAAMme,GAClC,CAAC9c,IACHrB,EAAK,KAAK,CAAC,OAAO,CAAG,aACrBA,EAAK,KAAK,CAAC,aAAa,CACtBme,AAA4B,WAA5BA,EAAa,UAAU,CACnB,SACAA,AAA4B,aAA5BA,EAAa,UAAU,CACvB,SACAA,AAA4B,eAA5BA,EAAa,UAAU,CACvB,MACA,SAEV,CAAE,AAEF,oBAAmB7e,CAAsB,CAAE4O,CAAc,CAAE,CAIzD,GAHA,IAAI,CAAC,QAAQ,CAAC5O,GACd,IAAI,CAAC,qBAAqB,CAACA,GAEvBA,EAAU,cAAc,GAAK,IAAI,CAAC,KAAK,CAAC,cAAc,CAAE,CAC1D,IAAM+e,EACJ,IAAI,CAAC,KAAK,CAAC,cAAc,EAAK,AAAsC,KAAtC,IAAI,CAAC,KAAK,CAAC,cAAc,CACnD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,KAChC,EAAE,CACR,IAAI,CAAC,QAAQ,CAAC,CACZA,gBAAAA,EACA,sBAAuB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAI,EACtD,EACF,CAEA,IAAMC,EAAQC,KAAQ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAEjf,EAAU,UAAU,EACjE,GAAI,AAAqC,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAWgf,EAeT,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EACjCA,GACApQ,GAAW,wBAA0B,IACrC,CAACpR,OAAO,KAAK,CAAC,YAAY,EAE1B,IAAI,CAAC,QAAQ,CAAC,CAAE,WAAYsC,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,EAAG,EAAU,KAC7D,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,EAC7C,OAtBqD,CACrD,IAAIof,EAAa,CAAC,EAEdC,EAAWC,AADM,IAAI,CAAC,8BAA8B,EAC7B,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAC1DD,IACFlO,OAAO,IAAI,CAACkO,GAAU,OAAO,CAAC,AAACE,IAE7BH,CAAU,CADA,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEG,EAAc,CAAC,CACpC,CAAGF,CAAQ,CAACE,EAAc,AAC3C,GACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAeH,GAChC,IAAI,CAAC,QAAQ,CAAC,CAAE,WAAYpf,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,EAAG,EAAU,KAC7D,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,EAC7C,GAEJ,CAWA,GAAI,CAACkf,GAAS,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CAC7C,IAAIE,EAAa,CAAC,CAClB,KAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAACC,EAAUzO,KACxCO,OAAO,IAAI,CAACkO,GAAU,OAAO,CAAC,AAACE,IAE7BH,CAAU,CADA,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEG,EAAc,CAAC,CACpC,CAAGF,CAAQ,CAACE,EAAc,AAC3C,GACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAeH,GAChC,IAAI,CAAC,QAAQ,CAAC,CAAE,WAAYpf,EAAAA,IAAAA,CAAAA,MAAW,GAAG,QAAQ,EAAG,EACvD,EACF,CACF,CAEA,cAAgB,MAAOsN,IACrB,IAAMkS,EAAqB9hB,OAAO,iBAAiB,EAAE,YACrD,GAAK4P,AAAAA,CAAAA,AAAc,QAAdA,EAAM,GAAG,EAAcA,AAAc,WAAdA,EAAM,GAAG,EAAiBA,AAAc,UAAdA,EAAM,GAAG,AAAW,GAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CAC/G,GAAIA,AAAc,WAAdA,EAAM,GAAG,CAAe,CAC1B,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,GAC3C,MACF,CACA,GAAIkS,GAAsBlS,AAAc,QAAdA,EAAM,GAAG,CAAY,CAC7C5P,OAAO,iBAAiB,CAAG,CACzB,GAAGA,OAAO,iBAAiB,CAC3B,cAAe4P,CACjB,EACA,MACF,CACIA,CAAAA,AAAc,QAAdA,EAAM,GAAG,EAAeA,AAAc,UAAdA,EAAM,GAAG,EAAgB,CAACkS,CAAiB,GACrE,IAAI,CAAC,SAAS,CAAClS,EAAO,GAAO5P,OAAO,iBAAiB,EAAE,SAEzDA,OAAO,iBAAiB,CAAG,CACzB,GAAGA,OAAO,iBAAiB,CAC3B,mBAAoB,EACtB,EACA,MAAM,IAAI,CAAC,uBAAuB,GAC9B8hB,GAAsBlS,AAAc,UAAdA,EAAM,GAAG,EACjC5P,CAAAA,OAAO,iBAAiB,CAAG,CAAC,EAEhC,CACkB,WAAd4P,EAAM,GAAG,EAC8B,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EACnC,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,GAG7B,UAAdA,EAAM,GAAG,EAC8B,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAU,IAAI,CAAC,KAAK,CAAC,iBAAiB,EACzE,IAAI,CAAC,uBAAuB,EAGlC,CAAE,AAEF,aAAc,AAACA,IAEXA,CAAAA,EAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,SACpCA,EAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,WACpCA,EAAM,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAQ,GAEH,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAU,IAAI,CAAC,KAAK,CAAC,iBAAiB,EACzE,IAAI,CAAC,uBAAuB,EAElC,CAAE,AAEF,uBAA6B,CAC3B1O,SAAS,mBAAmB,CAAC,UAAW,IAAI,CAAC,aAAa,EAC1DA,SAAS,mBAAmB,CAAC,QAAS,IAAI,CAAC,WAAW,EACtDmd,GAAuB,EACzB,CAEA,kBAAoB,KAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EACxB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,EACrC,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAG,EAAG,GAChG,CAACA,KACHnd,SAAS,gBAAgB,CAAC,UAAW,IAAI,CAAC,aAAa,EACvDA,SAAS,gBAAgB,CAAC,QAAS,IAAI,CAAC,WAAW,EACnDmd,GAAuB,GAE3B,CAAE,AAEF,eAAgB,CAACpL,EAAcC,IAC7B,AAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,SAASD,EAAQ,EAAE,GAAK,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC1E,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAEhC,IAAI,CAAC,KAAK,CAAC,UAAU,CAChB,IAAI,CAAC,KAAK,CAAC,UAAU,CAACA,EAASC,SAGxC,AAEF,iBAAkB,CAACD,EAAcC,KAC/B,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CACzB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAACD,EAASC,EAG5C,CAAE,AAEF,aAAc,CAACyO,EAAe5Q,KAC5B,IAAIhR,EAAyBD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACpD,EAACC,GACHA,CAAAA,EAAQ,CAAC,GAEX,IAAMoM,EAAQ,IAAI,CAAC,eAAe,CAACwV,EAAU5Q,GACzC5E,GACFpM,CAAAA,EAAM,KAAK,CAAGoM,CAAI,EAEpB,IAAM5E,EAAkB,IAAI,CAAC,aAAa,CAACoa,EAAU5Q,GAIrD,OAHIxJ,GACFxH,CAAAA,EAAM,eAAe,CAAGwH,CAAc,EAEjCxH,CACT,CAAE,AAEF,gBAAiB,KACf,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,IAAK,QACH,OAAO,AAACH,GACN,UAACwe,GAAgBA,CACd,GAAGxe,CAAK,CACT,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CACvB,WAAY,AAA8B,sBAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,EAA4B,AAA8B,WAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,A,EAGhG,KAAK,WACH,OAAO,AAACA,GAAU,UAACoe,GAAmBA,CAAE,GAAGpe,CAAK,CAAE,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,A,EAC3E,KAAK,cACH,OAAO,AAACA,GAAU,UAACue,GAAqBA,CAAE,GAAGve,CAAK,CAAE,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,A,EAC7E,KAAK,UACH,OAAO,AAACA,GAAU,UAACse,GAAkBA,CAAE,GAAGte,CAAK,CAAE,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,A,EAC1E,KAAK,YACH,OAAO,AAACA,GAAU,UAACqe,GAAmBA,CAAE,GAAGre,CAAK,CAAE,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,A,EAC7E,CACF,CAAE,AAEF,6BAAsF,AAEtF,gBAAiB,KACf,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,IAAK,QACH,OAAOmb,EACT,KAAK,WACH,OAAO,AAACnb,GACN,UAACsV,GAAmBA,CACjB,GAAGtV,CAAK,CACR,GAAG,IAAI,CAAC,2BAA2B,EAAE,CACtC,sBAAuB,AAACwI,IACtB,IAAI,CAAC,QAAQ,CAAC,CAAE,sBAAuBA,CAAI,EAC7C,EACA,cAAe,IAAI,CAAC,KAAK,CAAC,qBAAqB,A,EAGrD,KAAK,cACH,OAAO,AAACxI,GACN,UAACke,GAAeA,CACb,GAAGle,CAAK,CACT,mBAAoB,AAACmiB,IACnB,IAAI,CAAC,4BAA4B,CAAGA,CACtC,EACC,GAAG,IAAI,CAAC,6BAA6B,EAAE,CACxC,UAAW5K,E,EAGjB,KAAK,UACH,OAAO,AAACvX,GAAU,UAACoW,GAAkBA,CAAE,GAAGpW,CAAK,CAAG,GAAG,IAAI,CAAC,0BAA0B,EAAE,A,EACxF,KAAK,YACH,OAAO,AAACA,GAAU,UAACiW,GAAmBA,CAAE,GAAGjW,CAAK,CAAG,GAAG,IAAI,CAAC,0BAA0B,EAAE,A,EAC3F,CACF,CAAE,AAEF,aAAc,KACZ,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,IAAK,QACH,OAAO+a,EACT,KAAK,WACH,OAAO1F,EACT,KAAK,cACH,OAAOkB,EACT,KAAK,UACH,OAAOJ,EACT,KAAK,YACH,OAAOH,EACX,CACF,CAAE,AAEF,6BAA8B,KAC5B,IAAM/V,EAAmC,CAAC,EACpCmiB,EAAI,IAAI,CAAC,KAAK,CAyBpB,OAxBIA,EAAE,aAAa,EAAEniB,CAAAA,EAAO,aAAa,CAAGmiB,EAAE,aAAa,AAAD,EACtDA,EAAE,QAAQ,EAAEniB,CAAAA,EAAO,QAAQ,CAAGmiB,EAAE,QAAQ,AAAD,EACvCA,EAAE,IAAI,EAAEniB,CAAAA,EAAO,IAAI,CAAGmiB,EAAE,IAAI,AAAD,EAC3BA,EAAE,gBAAgB,EAAEniB,CAAAA,EAAO,gBAAgB,CAAGmiB,EAAE,gBAAgB,AAAD,EAC/DA,EAAE,cAAc,EAAEniB,CAAAA,EAAO,cAAc,CAAGmiB,EAAE,cAAc,AAAD,EAC9C,KAAXA,EAAE,IAAI,EACRniB,CAAAA,EAAO,IAAI,CAAG,EAAI,EAEhBmiB,CAAAA,AAAW1hB,KAAAA,IAAX0hB,EAAE,IAAI,EAAkBA,AAAW,KAAXA,EAAE,IAAI,AAAQ,GACxCniB,CAAAA,EAAO,IAAI,CAAG,EAAG,EAEfmiB,EAAE,YAAY,EAAEniB,CAAAA,EAAO,YAAY,CAAGmiB,EAAE,YAAY,AAAD,EACnDA,EAAE,KAAK,EAAEniB,CAAAA,EAAO,KAAK,CAAGmiB,EAAE,KAAK,AAAD,EAC9BA,EAAE,KAAK,EAAEniB,CAAAA,EAAO,KAAK,CAAGmiB,EAAE,KAAK,AAAD,EAC9BA,EAAE,OAAO,EAAEniB,CAAAA,EAAO,OAAO,CAAGmiB,EAAE,OAAO,AAAD,EACpCA,EAAE,QAAQ,EAAEniB,CAAAA,EAAO,QAAQ,CAAGmiB,EAAE,QAAQ,AAAD,EACvCA,EAAE,QAAQ,EAAEniB,CAAAA,EAAO,QAAQ,CAAGmiB,EAAE,QAAQ,AAAD,EACvCA,EAAE,aAAa,EAAIA,EAAE,aAAa,CAAG,IACvCniB,EAAO,aAAa,CAAGmiB,EAAE,aAAa,CACtC,IAAI,CAAC,QAAQ,CAAC,CAAE,sBAAuBA,EAAE,aAAa,AAAQ,IAE5DA,EAAE,YAAY,EAAEniB,CAAAA,EAAO,YAAY,CAAGmiB,EAAE,YAAY,AAAD,EACnDA,EAAE,cAAc,EAAEniB,CAAAA,EAAO,cAAc,CAAGmiB,EAAE,cAAc,AAAD,EACzDA,EAAE,UAAU,EAAEniB,CAAAA,EAAO,UAAU,CAAGmiB,EAAE,UAAU,AAAD,EAC1CniB,CACT,CAAE,AAEF,aAAc,IACZ,AAAI,AAAyBS,KAAAA,IAAzB,IAAI,CAAC,eAAe,CACf,IAAI,CAAC,eAAe,CAEtB,EACP,AAEF,aAAc,IACZ,AAAI,AAAyBA,KAAAA,IAAzB,IAAI,CAAC,eAAe,CACf,IAAI,CAAC,eAAe,CAEtB,EACP,AAEF,+BAAgC,KAC9B,IAAMT,EAAqC,CAAC,EACtCmiB,EAAI,IAAI,CAAC,KAAK,CAoEpB,OAnEAniB,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAC3BmiB,EAAE,KAAK,EAAEniB,CAAAA,EAAO,KAAK,CAAGmiB,EAAE,KAAK,AAAD,EAC9BA,EAAE,QAAQ,EAAEniB,CAAAA,EAAO,QAAQ,CAAGmiB,EAAE,QAAQ,AAAD,EACvCA,EAAE,SAAS,EAAEniB,CAAAA,EAAO,SAAS,CAAGmiB,EAAE,SAAS,AAAD,EAC1CA,EAAE,IAAI,EAAEniB,CAAAA,EAAO,IAAI,CAAGmiB,EAAE,IAAI,AAAD,EAC3BA,EAAE,YAAY,EAAEniB,CAAAA,EAAO,YAAY,CAAGmiB,EAAE,YAAY,AAAD,EACnDA,EAAE,YAAY,EAAEniB,CAAAA,EAAO,YAAY,CAAGmiB,EAAE,YAAY,AAAD,EACnDA,EAAE,gBAAgB,EAAEniB,CAAAA,EAAO,gBAAgB,CAAGmiB,EAAE,gBAAgB,AAAD,EAC/DA,EAAE,oBAAoB,EAAEniB,CAAAA,EAAO,oBAAoB,CAAGmiB,EAAE,oBAAoB,AAAD,EAC3EA,EAAE,kBAAkB,EAAEniB,CAAAA,EAAO,kBAAkB,CAAGmiB,EAAE,kBAAkB,AAAD,EACrEA,EAAE,iBAAiB,EAAEniB,CAAAA,EAAO,iBAAiB,CAAGmiB,EAAE,iBAAiB,AAAD,EAClEA,EAAE,aAAa,EAAEniB,CAAAA,EAAO,aAAa,CAAGmiB,EAAE,aAAa,AAAD,EAC1DniB,EAAO,QAAQ,CAAGmiB,EAAE,QAAQ,CAC5BniB,EAAO,cAAc,CAAGmiB,EAAE,cAAc,CACxCniB,EAAO,YAAY,CAAGmiB,EAAE,YAAY,CACpCniB,EAAO,sBAAsB,CAAGmiB,EAAE,sBAAsB,CACxDniB,EAAO,iBAAiB,CAAGmiB,EAAE,iBAAiB,CAC9CniB,EAAO,iBAAiB,CAAGmiB,EAAE,iBAAiB,CAC9CniB,EAAO,YAAY,CAAGmiB,EAAE,YAAY,CACpCniB,EAAO,WAAW,CAAGmiB,EAAE,WAAW,CAClCniB,EAAO,UAAU,CAAGmiB,EAAE,UAAU,CAChCniB,EAAO,aAAa,CAAGmiB,EAAE,aAAa,CACtCniB,EAAO,cAAc,CAAGmiB,EAAE,cAAc,CACxCniB,EAAO,UAAU,CAAGmiB,EAAE,UAAU,CAChCniB,EAAO,YAAY,CAAGmiB,EAAE,YAAY,CACpCniB,EAAO,uBAAuB,CAAG,CAACwB,EAAGsgB,EAAU1O,KAC7C,IAAI,CAAC,QAAQ,CAAC,CAAE,qBAAsB,EAAY,EAAG,KACnD,IAAI,CAAC,cAAc,CAAC5R,EAAGsgB,EAAU1O,EACnC,EACF,EAEApT,EAAO,kBAAkB,CAAG,KACtB,IAAI,CAAC,4BAA4B,EACnC,IAAI,CAAC,4BAA4B,CAAC,CAAE,cAAeS,KAAAA,EAAW,cAAe,EAAM,EAEvF,EACAT,EAAO,QAAQ,CAAG,CAACoiB,EAA+Bxf,KAChD,IAAI,CAAC,QAAQ,CAAC,CAAEA,MAAAA,EAAOwf,qBAAAA,CAAqB,EAAU,KACpD,GAAI,IAAI,CAAC,4BAA4B,CAAE,CACrC,IAAIC,EAAoB,CAAEzf,MAAAA,EAAOwf,qBAAAA,CAAqB,CACzB,MAAzBA,GACFC,CAAAA,EAAe,CAAEzf,MAAAA,EAAOwf,qBAAAA,EAAsB,cAAe3hB,KAAAA,CAAU,GAEzE,IAAI,CAAC,4BAA4B,CAAC4hB,EAAc,KAC1CF,EAAE,QAAQ,GACZ,IAAI,CAAC,eAAe,CAAGvf,GAAO,SAC9B,IAAI,CAAC,eAAe,CAAGA,GAAO,UAC9Buf,EAAE,QAAQ,CAACvf,GAEf,EACF,CACF,EACF,EACA5C,EAAO,iBAAiB,CAAG,CAACwW,EAAUC,KACpC,IAAI,CAAC,QAAQ,CAAC,CAAED,IAAAA,EAAKC,KAAAA,CAAK,EAAG,KACvB,IAAI,CAAC,4BAA4B,EACnC,IAAI,CAAC,4BAA4B,CAAC,CAAED,IAAAA,EAAKC,KAAAA,CAAK,EAAG,KAAO,EAE5D,EACF,EACAzW,EAAO,IAAI,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC7BA,EAAO,GAAG,CAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAC3BA,EAAO,oBAAoB,CAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAC7DA,EAAO,eAAe,CAAGmiB,EAAE,eAAe,CAC1CniB,EAAO,gBAAgB,CAAGmiB,EAAE,gBAAgB,CAC5CniB,EAAO,mBAAmB,CAAGmiB,EAAE,mBAAmB,CAClDniB,EAAO,oBAAoB,CAAGmiB,EAAE,oBAAoB,CAC7CniB,CACT,CAAE,AAEF,4BAA6B,KAC3B,IAAMA,EAAkC,CAAC,EACnCmiB,EAAI,IAAI,CAAC,KAAK,CAGpB,OAFIA,EAAE,gBAAgB,EAAEniB,CAAAA,EAAO,gBAAgB,CAAGmiB,EAAE,gBAAgB,AAAD,EAC/DA,EAAE,cAAc,EAAEniB,CAAAA,EAAO,cAAc,CAAGmiB,EAAE,cAAc,AAAD,EACtDniB,CACT,CAAE,AAEK,kBAAmB,KACxB,IAAMsiB,EAA2B,IAAI,CAAC,8BAA8B,GAEpE,GAAIA,EACF,OAAOA,EAAyB,KAAK,AAEzC,CAAE,AAEK,mBAAoB,IAClB,IAAI,CAAC,KAAK,CAAC,qBAAqB,AACvC,AAEF,6BAA8B,AAACC,IAC7B,IAAMC,EAAgB,IAAI,CAAC,gBAAgB,GAErCtB,EAAQqB,EAAiB,aAAa,CAAC,SAE7C,GAAI,CAACrB,EACH,OAGF,IAAMuB,EAAOvB,EAAM,gBAAgB,CAAC,eAEpC,GAAoB,IAAhBuB,EAAK,MAAM,EAIXD,AAAkB/hB,KAAAA,IAAlB+hB,GAA+BA,AAAkB,KAAlBA,EAHjC,OASF,IAAME,EAAmBC,AAFLF,CAAI,CAACD,EAAc,CAEF,aAAa,CAAC,wBAEnD,GAAME,aAA4BE,iBAIlC,OAAOF,EAAiB,KAAK,EAAI,EACnC,CAAE,AAEF,gCAAiC,AAACG,IAChC,KAAOA,GAGL,GAFAA,EAAkBA,EAAgB,UAAU,CAExCA,GAAiB,WAAW,SAAS,oBACvC,OAAOA,CAKb,CAAE,AAEF,yBAA0B,AAACA,IACzB,KAAOA,GAGL,GAFAA,EAAkBA,GAAiB,WAE/BA,GAAiB,SAAS,gBAAkB,QAC9C,OAAOA,CAKb,CAAE,AAEK,yBAA0B,KAC/B,IAAMC,EAAsBzhB,SAAS,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAC3D0hB,EAAuB,IAAI,CAAC,uBAAuB,CAACD,GAE1D,IAAI,CAACC,EAML,OAAOC,AAFc,IAAI,CAAC,8BAA8B,CAACD,GAErC,EAAE,AACxB,CAAE,AAEF,wBAAyB,KACvB,IAAMT,EAA2B,IAAI,CAAC,iCAAiC,GACvE,GAAIA,EACF,OAAOA,EAAyB,KAAK,AAEzC,CAAE,AAEK,oBAAqB,KAC1B,IAAMW,EAA6B,IAAI,CAAC,6BAA6B,UACrE,AAAI,AAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAKA,GAA+BA,EAA2B,KAAK,CAK5FC,AAFsB,IAAI,CAAC,WAAW,CAAC/iB,OAAO,iBAAiB,EAAE,cAGjEA,OAAO,iBAAiB,EAAE,cAAc,aAAeA,OAAO,iBAAiB,EAAE,UAAU,WAE1EA,OAAO,iBAAiB,EAAE,YAIzC,AAAoB,gBAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAuB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAElEgjB,KAAK,KAAK,CAACF,EAA2B,KAAK,SAbhD,MAcJ,CAAE,AAEK,wBAAyB,IAC9B,AAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,AAAoB,aAApB,IAAI,CAAC,KAAK,CAAC,IAAI,CACnC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAEzD,CAAC,CACR,AAEK,oBAAqB,IAUnBE,KAAK,SAAS,CATR,CACX,WAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CACjC,kBAAmB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC/C,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,YAAa,IAAI,CAAC,KAAK,CAAC,WAAW,CACnC,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,cAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CACvC,aAAc,IAAI,CAAC,KAAK,CAAC,YAAY,AACvC,EAEA,AAEK,oBAAqB,AAACC,IAC3B,GAAI,CAACA,GAAQA,AAAS,KAATA,EAAa,OAC1B,IAAMC,EAAMF,KAAK,KAAK,CAACC,GACvB,IAAI,CAAC,QAAQ,CAAC,CACZ,WAAYC,EAAI,UAAU,CAC1B,kBAAmBA,EAAI,iBAAiB,CACxC,iBAAkBA,EAAI,gBAAgB,CACtC,YAAaA,EAAI,WAAW,CAC5B,iBAAkBA,EAAI,gBAAgB,CACtC,cAAeA,EAAI,aAAa,CAChC,aAAcA,EAAI,YAAY,AAChC,EACF,CAAE,AAEK,oBAAqB,KAC1B,IAAI,CAAC,QAAQ,CAAC,CACZ,WAAY,GACZ,kBAAmB,CAAC,EACpB,iBAAkB,CAAC,EACnB,cAAe,CAAC,CAClB,EACF,CAAE,AAEK,mBAAoB,KACzB,IAAI,CAAC,QAAQ,CAAC,CACZ,WAAY,GACZ,kBAAmB,CAAC,EACpB,iBAAkB,EAAE,CACpB,YAAa,EAAE,CACf,iBAAkB,CAAC,EACnB,cAAe,CAAC,EAChB,aAAc,CAAC,CACjB,EACF,CAAE,AAEK,mBAAoB,AAACC,IAC1B,IAAI,CAAC,QAAQ,CAAC,CAAE,sBAAuBA,EAAgB,gBAAiBA,GAAgB,MAAM,IAAK,EACrG,CAAE,AAEF,gCAAiC,IACEnjB,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAE5F,AAEF,mCAAoC,IACKA,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAExG,AAEF,+BAAgC,IACSA,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAEpG,AAEF,yBAA0B,AAACojB,IACzB,IAAIC,EAAY,CAAC,EACbC,EAAY,CAAC,EACb3B,EAAW3hB,OAAO,iBAAiB,EAAE,QACnC,CAAE8J,SAAAA,CAAQ,CAAEC,QAAAA,CAAO,CAAE,CAAG,IAAI,CAAC,KAAK,CAGxC,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CACpC,IAAM6X,EAAe,IAAI,CAAC,8BAA8B,GAExDD,EAAWC,CAAY,CADD2B,AAJRxZ,CAAAA,EAAU,GAAKD,EAIE,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAC1B,AACxC,CAEA,GAAI6X,GAOF,GANAlO,OAAO,IAAI,CAACkO,GAAU,OAAO,CAAC,AAACE,IAC7B,IAAIxe,EAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEwe,EAAc,CAAC,AACnDwB,CAAAA,CAAS,CAAChgB,EAAI,CAAGse,CAAQ,CAACE,EAAc,CACxCyB,CAAS,CAACjgB,EAAI,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAACA,EACjD,GACcoe,KAAQ4B,EAAWC,GAE/B,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,OACtC,CACL,IAAME,EAAc,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAC/C,GAAIH,CAAS,CAACG,EAAY,GAAKF,CAAS,CAACE,EAAY,CACnD,OAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9B,EAEF,GAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CACnC,IAAMC,EAAUhQ,OAAO,IAAI,CAAC6P,GAAW,MAAM,CAAC,CAACI,EAAKrgB,KAClDqgB,CAAG,CAACrgB,EAAI,OAAO,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,IAAI,CAAGigB,CAAS,CAACjgB,EAAI,CACzDqgB,GACN,CAAC,GACEC,EAAc,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,WAAW,CAAC3jB,OAAO,iBAAiB,EAAE,QAC7FA,CAAAA,OAAO,iBAAiB,CAAG,CACzB,SAAUA,OAAO,iBAAiB,EAAE,SACpC,YACEA,OAAO,iBAAiB,EAAE,oBAAsB,CAACojB,EAC7CpjB,OAAO,iBAAiB,EAAE,YAAc,EACxCA,OAAO,iBAAiB,EAAE,YAChC2jB,YAAAA,EACA,mBAAoB3jB,OAAO,iBAAiB,EAAE,mBAC9C,aAAcM,KAAAA,EACd,QAASmjB,CACX,CACF,CACF,CAAE,AAEF,gBAAiB,CAACG,EAASjC,EAAezO,KAEtC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC5B,AAAqC,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EACjCA,GAAY,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAC7C,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAEhC,IAAI,CAAC,uBAAuB,GAE9B,IAAMiP,EAA2B,IAAI,CAAC,8BAA8B,GAChEA,GAA4BjP,AAAa5S,KAAAA,IAAb4S,GAC9BiP,CAAAA,EAAyB,KAAK,CAAGjP,EAAS,QAAQ,EAAC,EAErD,IAAM4P,EAA6B,IAAI,CAAC,6BAA6B,GACjEA,GAA8BnB,AAAarhB,KAAAA,IAAbqhB,GAChCmB,CAAAA,EAA2B,KAAK,CAAGE,KAAK,SAAS,CAACrB,EAAQ,CAE9D,CAAE,AAEF,sBAAuB,CAACiC,EAASjC,EAAezO,KAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAGnC,GAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAIA,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAE,CACxE,IAAIwO,EAAa,CAAC,EAElB,GAAI,CADe,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,GAAGC,IAAa,EAAG,EAErF,OAEFlO,OAAO,IAAI,CAACkO,GAAU,OAAO,CAAC,AAACE,IAE7BH,CAAU,CADA,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEG,EAAc,CAAC,CACpC,CAAGF,CAAQ,CAACE,EAAc,AAC3C,GACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAeH,GAChC,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwBxO,CAAS,EAAU,KAAO,EACpE,CACI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAE/B,CAAE,AAEF,iBAAkB,CAAC0Q,EAASC,EAAgBC,KAAwB,CAAE,AAEtE,iBAAkB,CAACF,EAAItC,EAAarO,EAASC,KAC3C,GAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAE,CACnC,IAAM6Q,EAAkBH,EAAG,aAAa,CAAC,YAAY,CAAC,YAChDjI,EAAsBiI,EAAG,aAAa,CAAC,YAAY,CAAC,YACpDD,EAAc,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,WAAW,CAAC1Q,GAC7D+Q,EAAehkB,OAAO,iBAAiB,EAAE,SACzCikB,EAAcjkB,OAAO,iBAAiB,EAAE,QACxCkkB,EAAoBlkB,OAAO,iBAAiB,EAAE,cACpD,GACG2jB,GACC3jB,OAAO,iBAAiB,EAAE,UAAU,aAAe+jB,GAAiB,YACpEA,GACD,CAACJ,GACC3jB,CAAAA,OAAO,iBAAiB,EAAE,UAAU,aAAe+jB,GAAiB,YACnE/jB,OAAO,iBAAiB,EAAE,aAAa,aAAeshB,GAAa,UAAS,GAC9EyC,GACF,CAAC/jB,OAAO,iBAAiB,EACxB2b,AAAa,YAAbA,GAAkC,CAACgI,EACpC,CAUA,GATA3jB,OAAO,iBAAiB,CAAG,CACzB,SAAU+jB,EACVJ,YAAAA,EACArC,YAAAA,EACA,cAAesC,EACfI,aAAAA,EACA/Q,QAAAA,EACAgR,YAAAA,CACF,EAEED,GAAc,aAAeD,GAAiB,YAC9CJ,GACAK,GAAc,aAAe1jB,KAAAA,GAC7ByjB,AAAoBzjB,KAAAA,IAApByjB,EACA,CACA,IAAI,CAAC,SAAS,CAACG,EAAmB,GAAMjR,GACxC,IAAI,CAAC,uBAAuB,GAC5B,MACF,CAEA,IAAI,CAAC,SAAS,CAAC2Q,EAAI,GAAM3Q,EAC3B,CACF,CAEA,IAAMkR,EAAiC,IAAI,CAAC,iCAAiC,GACzEA,GAAkC7C,AAAgBhhB,KAAAA,IAAhBghB,GACpC6C,CAAAA,EAA+B,KAAK,CAAG7C,EAAY,QAAQ,EAAC,CAEhE,CAAE,AAEF,aAAc,AAACrO,GACb,EAAKA,GAIEmR,AADa3Q,OAAO,IAAI,CAACR,GAAS,MAAM,CAAC,AAAC5P,GAAQA,AAAQ,OAARA,GACtC,KAAK,CAAC,AAACsP,GAAUM,AAAmB3S,KAAAA,IAAnB2S,CAAO,CAACN,EAAM,CAClD,AAEF,WAAY,CAACtR,EAAQgjB,EAAkBpR,KACrC,IAAM6O,EAAqB9hB,OAAO,iBAAiB,EAAE,YAC/CskB,EAAkB,IAAI,CAAC,WAAW,CAACtkB,OAAO,iBAAiB,EAAE,aACnE,GAAK8hB,GAAsB,CAACuC,GAAYC,EACtC,OAEF,IAAIC,EAAyBljB,EAAE,MAAM,CAAC,YAAY,CAAC,aAC/CmjB,EAAwBnjB,EAAE,MAAM,CAAC,YAAY,CAAC,YAC9CojB,EAAgBpjB,EAAE,MAAM,CACxBigB,EAAcjgB,EAAE,MAAM,CAAC,YAAY,CAAC,eACxC,GAAIrB,OAAO,iBAAiB,EAAE,aAAa,aAAeshB,GAAa,YAAcA,EACnF,OAEF,KAAO,CAACiD,GAA0BE,GAAiBA,AAA4C,OAA5CA,EAAc,YAAY,CAAC,cAC5EA,EAAgBA,EAAc,aAAa,CAC3CF,EAAyBE,GAAe,aAAa,aACrDD,EAAwBC,GAAe,aAAa,YAEtD,IAAMC,EAAa,IAAI,CAAC,aAAa,GACjClC,EAAcvP,EACd0R,EAAsBnC,CAAW,CAAC+B,EAAuB,EAAE,WAC3DK,EACFvjB,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,QAC3BH,SAAS,aAAa,CAAS,OAAO,EACtCA,SAAS,aAAa,CAAS,KAAK,CACnC8b,EAAS,GACTC,EAAY,GAmBhB,GAlBI2H,GAAsB,AAA8B,UAA9B,OAAOA,GAAmCJ,AAA0B,SAA1BA,IAClEI,EAAqBljB,IAAOkjB,EAAoB,uBAAuB,MAAM,CAAC,uBAC9ED,EAAsBjjB,IAAOijB,GAAqB,MAAM,CAAC,uBACzD3H,EAAS,IAGT3b,CAAAA,EAAE,MAAM,EAAE,aAAa,kBAAoB,QAC3CA,EAAE,MAAM,EAAE,aAAa,kBAAoB,SAC3CA,EAAE,MAAM,EAAE,eAAe,aAAa,kBAAoB,QAC1DA,EAAE,MAAM,EAAE,eAAe,aAAa,kBAAoB,OAAM,IAEhEujB,EAAqB,CACnBvjB,CAAAA,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,kBAAoB,QACzDA,EAAE,MAAM,EAAE,aAAa,kBAAoB,MAAK,EAElDsjB,EAAsBA,AAAwB,SAAxBA,EACtB1H,EAAY,IAEV5b,AAAuB,uBAAvBA,EAAE,MAAM,CAAC,SAAS,EAA6BA,AAAuB,uBAAvBA,EAAE,MAAM,CAAC,SAAS,CAA2B,CAC9F,IAAMqP,EAASrP,EAAE,MAAM,CAAC,aAAa,CAC/BqC,EAAQgN,GAAQ,cAAc,SAChChN,IACFkhB,EAAqBlhB,AAAkC,OAAlCA,EAAM,YAAY,CAAC,WACxCihB,EAAsBA,AAAwB,SAAxBA,EACtB1H,EAAY,GAEhB,CACI2H,GAAsB,AAA8B,UAA9B,OAAOA,GAC/BA,CAAAA,EAAqBA,EAAmB,OAAO,CAAC,OAAQ,GAAE,EAG1DA,IAAuBD,GAEvBC,MADAA,GAEAA,AAAuB,KAAvBA,IAEApC,EAAc,CACZ,GAAGA,CAAW,CACd,CAAC+B,EAAuB,CACtBvH,GAAUC,EACN2H,EACAJ,AAA0B,WAA1BA,EACA9a,WAAWkb,GACXvjB,EAAE,MAAM,CAAC,KAAK,AACtB,EACAqjB,GAAY,QAAQ,CAAClW,EAAKuC,KACpBvC,EAAI,EAAE,GAAKgU,EAAY,EAAE,EAC3BkC,CAAAA,CAAU,CAAC3T,EAAM,CAAGyR,CAAU,CAElC,IAGF,IAAId,EAAa,CAAC,EAClBjO,OAAO,IAAI,CAAC+O,GAAa,OAAO,CAAC,AAACX,IAEhCH,CAAU,CADA,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAEG,EAAc,CAAC,CACpC,CAAGW,CAAW,CAACX,EAAc,AAC9C,GACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAeH,GAChC,IAAMiC,EACJ7B,AAAuB,KAAvBA,EAA8BA,EAAqB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,WAAW,CAACU,GAGhGvF,CAAAA,GACCjd,CAAAA,OAAO,iBAAiB,EAAE,aAAa,aAAeykB,EAAc,YAAY,CAAC,gBAAgB,YAChGzkB,AAA6BM,KAAAA,IAA7BN,OAAO,iBAAiB,AAAa,GACtCgd,GAAU4H,IAAuBD,CAAkB,GACtD,CAAChB,GAED,IAAI,CAAC,uBAAuB,EAEhC,CAAE,AAEF,gBAAiB,CAACC,EAAI1Q,EAAUoO,KAC9B,IAAMqC,EAAc3jB,OAAO,iBAAiB,EAAE,YAC9C,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAI2jB,EACtC,OAGF,IAAIiB,EAAqB,GACrBL,EAAyBX,EAAG,aAAa,CAAC,YAAY,CAAC,aACrDY,EAAwBZ,EAAG,aAAa,CAAC,YAAY,CAAC,YACtD3Q,EAAUjT,OAAO,iBAAiB,EAAE,QAEpC2kB,EAAsBnC,AADRvP,CACmB,CAACsR,EAAuB,EAAE,WAC7DM,EAAgB,GAiBpB,GAfIjB,EAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,sCAC/BgB,EAAqBhB,EAAG,MAAM,CAAC,YAAY,CAAC,yBAC5CgB,EAAqB1jB,SAAS,cAAc,CAAC0jB,IAAqB,WAAa,IAE/EA,CAAAA,EAAqBhB,EAAG,MAAM,CAAC,KAAK,EAAE,UAAS,GAE7CgB,CAAAA,EAAqBA,EAAmB,OAAO,CAAC,OAAQ,GAAE,EAI1DA,GAAsBJ,AAA0B,SAA1BA,IACxBI,EAAqBljB,IAAOkjB,EAAoB,uBAAuB,MAAM,CAAC,uBAC9EC,EAAgBnjB,IAAOijB,GAAqB,MAAM,CAAC,wBAInDC,IAAuBD,GACvBC,GACAA,AAAuB,KAAvBA,GACAA,AAAuB,iBAAvBA,EACA,CACI,CAACjB,IACCkB,GAAiBA,AAAkB,KAAlBA,EACfF,IAAwBE,GAAiBA,AAAkB,iBAAlBA,GAC3C,IAAI,CAAC,uBAAuB,CAAC,IAG/B,IAAI,CAAC,uBAAuB,CAAC,KAGjC,IAAMV,EAAiC,IAAI,CAAC,iCAAiC,GACzEA,GAAkC7C,AAAgBhhB,KAAAA,IAAhBghB,GACpC6C,CAAAA,EAA+B,KAAK,CAAG7C,EAAY,QAAQ,EAAC,CAEhE,CACF,CAAE,AAEF,iBAAkB,IAETwD,AADW7jB,EAAAA,QAAAA,CAAAA,OAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC5C,CAAC,EAAE,AACnB,AAEF,eAAgB,IACd,EAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,EACxB,CACtB,SAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC7B,gBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3C,gBAAiB,IAAI,CAAC,kBAAkB,GACxC,iBAAkB,CAAC8I,EAAiBiF,IAAiB,IAAI,CAAC,gBAAgB,CAACjF,EAASiF,GACpF,SAAU,AAACjF,GAAoB,IAAI,CAAC,QAAQ,CAAC,CAAEA,QAAAA,CAAQ,EACzD,CAIF,AAEF,kBAAmB,CAACA,EAAiBiF,KACnC,IAAI,CAAC,QAAQ,CAAC,CAAE,SAAUA,EAAMjF,QAAAA,CAAQ,EAC1C,CAAE,AAEF,oBAAqB,KACnB,IAAMmB,EAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAClC,GAAIA,GAAWA,EAAQ,MAAM,CAAG,EAAG,CACjC,IAAMC,EAA0B,EAAE,CAQlC,GAPAD,EAAQ,OAAO,CAAC,AAACrC,IACf,IAAMpG,EAAQoG,EAAO,IAAI,EAAE,QAAUA,CAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,AAClE,EAAC/C,MAAMrD,IAA4BA,MAAlBA,GAAyCA,AAAU,KAAVA,GAC5D0I,EAAc,IAAI,CAAC3G,SAAS/B,EAAO,IAEvC,GACA0I,GAAe,KAAK,CAACC,EAAGC,IAAMD,EAAIC,GAC9BF,EAAc,MAAM,CAAG,EAAG,OAAOA,CACvC,CAEA,OAAOmT,GAAU,yBAAyB,AAC5C,CAAE,AAEF,uBAAwB,CAAC1T,EAAgBma,KACvC,GAAIna,AAAmB,aAAnBA,EAAU,IAAI,QAChB,AAA8BtK,KAAAA,IAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAkB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAKsK,EAAU,UAAU,EAClF,GAET,GAAIA,AAAmB,gBAAnBA,EAAU,IAAI,CAAoB,CACpC,GAAI,CAA0BtK,KAAAA,IAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,EAAkB,IAAI,CAAC,KAAK,CAAC,UAAU,GAAKsK,EAAU,UAAU,AAAD,GAClF9K,AAA2D,KAA3DA,IAAAA,OAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAE8K,EAAU,UAAU,EACvD,MAAO,GAGX,GAAI,IAAI,CAAC,4BAA4B,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAAKma,EAAU,KAAK,CAAE,CAC7E,GAAM,CAAEtiB,MAAAA,CAAK,CAAE,CAAGsiB,CACLzkB,MAAAA,GAATmC,GAAsBA,AAAkBnC,KAAAA,GAAlBmC,EAAM,QAAQ,EAAiBA,AAAmBnC,KAAAA,GAAnBmC,EAAM,SAAS,GAClE,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,CACvB,IAAI,CAAC,4BAA4B,CAAC,CAChC,MAAOsiB,EAAU,KAAK,CACtB,SAAUtiB,EAAM,QAAQ,CACxB,UAAWA,EAAM,SAAS,AAC5B,GAEA,IAAI,CAAC,4BAA4B,CAAC,CAAE,MAAOsiB,EAAU,KAAK,AAAC,IAI/D,IAAI,CAAC,4BAA4B,CAAC,CAAE,MAAOA,EAAU,KAAK,AAAC,EAC7D,CACA,MAAO,EACT,CACA,MAAO,CAACC,KAAapa,EAAW,IAAI,CAAC,KAAK,GAAK,CAACoa,KAAaD,EAAW,IAAI,CAAC,KAAK,CACpF,CAAE,AAEF,aAAc,KACZ,IAAMllB,EAAc,CAAC,EAWrB,MAVI,AAAoB,YAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EACjBA,EAAO,mBAAmB,CAAI,IAAI,CAAC,KAAK,CAAsB,mBAAmB,CACjFA,EAAO,kBAAkB,CAAI,IAAI,CAAC,KAAK,CAAsB,kBAAkB,CAC/EA,EAAO,iBAAiB,CAAI,IAAI,CAAC,KAAK,CAAsB,iBAAiB,EAChD,gBAApB,IAAI,CAAC,KAAK,CAAC,IAAI,GACxBA,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAC/BA,EAAO,GAAG,CAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAC3BA,EAAO,IAAI,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC7BA,EAAO,oBAAoB,CAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAExDA,CACT,CAAE,AAEF,mCAAoC,AAACuX,IACnC,GAAI,AAA4B9W,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,AAA4BA,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAkB8W,AAAiD9W,KAAAA,IAAjD8W,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAEvF,OADiB3N,WAAW0N,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAG5E,CAAE,AAEF,mCAAoC,AAACD,IACnC,GAAI,AAA4B9W,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EACvB,AAA4BA,KAAAA,IAA5B,IAAI,CAAC,KAAK,CAAC,YAAY,EAAkB8W,AAAiD9W,KAAAA,IAAjD8W,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAEvF,OADkB3N,WAAW0N,CAAM,CAACC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAY,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAG7E,CAAE,AAEF,WAAY,AAACpE,GACM,IAAI,CAAC,iCAAiC,CAACA,EAExD,AAEF,WAAY,AAACA,GACO,IAAI,CAAC,iCAAiC,CAACA,EAEzD,AAEF,kBAAmB,KACwB,IAArC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAU,IAAI,CAAC,KAAK,CAAC,iBAAiB,EACzE,IAAI,CAAC,uBAAuB,EAEhC,CAAE,AAEF,eAAgB,KACd,IAAM1O,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,CAACuE,EAAc,CACxE,IAAI0gB,EAAiB,CAAE,GAAI,IAAI,CAAC,KAAK,EAAE,UAAW,EAC9CjU,EAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAqBpD,GApBIA,GAAU,OAAS,GACrBA,EAAS,OAAO,CAAC,AAACwD,IAChB,GACEA,GACAA,EAAQ,KAAK,EACbA,EAAQ,KAAK,CAAC,QAAQ,EACtBA,EAAQ,KAAK,CAAC,QAAQ,CAAC,EAAE,EACzBA,EAAQ,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAC/BA,EAAQ,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CACrC,CACA,IAAInR,EAAMmR,EAAQ,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAC3CnR,GAEU,OADZA,CAAAA,EAAMA,EAAI,OAAO,CAAC,cAAe,IAAI,OAAO,CAAC,IAAK,GAAE,GAElD4hB,CAAAA,CAAc,CAAC5hB,EAAI,CAAG/C,KAAAA,CAAQ,CAGpC,CACF,GAEE,AAAiC,WAAjC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAe,CAC7C,IAAIokB,EAAa,IAAI,CAAC,KAAK,CAAC,UAAU,CAClCQ,EAAgB,EAAE,CAatB,MAZI,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,CACvBR,EAAW,OAAO,CAAC,CAAClQ,EAASzD,KAC3BmU,EAAc,IAAI,CAAC1Q,GACfzD,EAAQ,GAAM,GAAKA,AAAU,IAAVA,EACrBmU,EAAc,IAAI,CAACD,GACVlU,IAAU2T,EAAW,MAAM,CAAG,GACvCQ,EAAc,IAAI,CAACD,EAEvB,GAEAC,EAAgB,IAAIR,EAAYO,EAAe,CAE1CC,CACT,CACA,MAAO,CAACD,KAAmB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,AACnD,CACA,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,AAC9B,CAAE,AAEF,gBAAiB,KACf,GAAI,AAAoB,aAApB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAClC,GAAM,CAAEle,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAEG,SAAAA,CAAQ,CAAEC,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAK/D,OAJA,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SACzB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAClB,CACLL,MAAAA,EACAC,OAAAA,EACAG,SAAAA,EACAC,UAAAA,CACF,CACF,CACF,CAAE,AAEF,kBAAmB,AAAC2J,IAClB,IAAMoU,EAAc,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,QAAU,CAE7B,cAApB,IAAI,CAAC,KAAK,CAAC,IAAI,GACjB,IAAI,CAAC,QAAQ,CAAC,CAAE,sBAFCpU,EAAQoU,EAAcpU,EAAQA,EAAQoU,CAEL,GAClD,IAAI,CAAC,WAAW,GAEpB,CAAE,AAEF,uBAAwB,AAAC3jB,GACvB,AAAI,AAACA,GAAO,AAAe,UAAf,OAAOA,EAcnBA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,AADNA,CAAAA,EAAMA,EAAI,OAAO,CAAC,MAAO,IAAG,EAClB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,IAAG,EACjB,OAAO,CAAC,KAAM,KAdoBA,CAiB5C,AAEF,eAAgB,AAAC4jB,IACf,IAAI,CAAC,QAAQ,CAAC,CAAEA,WAAAA,CAAW,EAC7B,CAAE,AAEF,sBAAuB,CAAC/hB,EAAaZ,KACnC,IAAM4iB,EAA+C,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,AAAC,CACvFA,CAAAA,CAAiB,CAAChiB,EAAI,CAAGZ,EACzB,IAAI,CAAC,QAAQ,CAAC,CAAE4iB,kBAAAA,CAAkB,EACpC,CAAE,AAEF,oBAAqB,KACf,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1D,CAAE,AAEF,wBAAuB/C,CAAS,CAAE8C,CAAe,CAAE,CACjD,IAAME,EAAkB,IAAI,CAAC,qBAAqB,CAACF,GAAY,YAAY,eACrEG,EAAkB,IAAI,CAAC,qBAAqB,CAACH,GAAY,YAAY,eACvExD,EAAeU,EACf8C,GAAcA,AAAe,KAAfA,GAChBxD,CAAAA,EAAeU,EAAK,MAAM,CAAC,AAAC3gB,IAC1B,IAAK,IAAI0B,KAAO1B,EAAM,CACpB,IAAM6jB,EAAgB,IAAI,CAAC,qBAAqB,CAAC7jB,CAAI,CAAC0B,EAAI,EAAE,YAAY,eAClEoiB,EAAgB,IAAI,CAAC,qBAAqB,CAAC9jB,CAAI,CAAC0B,EAAI,EAAE,YAAY,eACxE,GACG,CAAqB,UAArB,OAAO1B,CAAI,CAAC0B,EAAI,EAAiB,AAAqB,UAArB,OAAO1B,CAAI,CAAC0B,EAAI,AAAY,GAC7DmiB,CAAAA,GAAe,SAASF,IAAoBE,GAAe,SAASF,EAAe,GAKnF,CAAqB,UAArB,OAAO3jB,CAAI,CAAC0B,EAAI,EAAiB,AAAqB,UAArB,OAAO1B,CAAI,CAAC0B,EAAI,AAAY,GAC7DoiB,CAAAA,GAAe,SAASF,IAAoBE,GAAe,SAASF,EAAe,EAJpF,MAAO,EAQX,CACA,MAAO,EACT,EAAC,EAGH,IAAMF,EAAoB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CACtD,GAAIA,EACF,IAAK,IAAIhiB,KAAOgiB,EAAmB,CACjC,IAAMjI,EAAwBiI,CAAiB,CAAChiB,EAAI,CAChD+Z,CAAAA,GAAoBA,AAAqB,KAArBA,CAAyB,GAwB/CwE,CAAAA,EAvBuCA,EAAa,MAAM,CAAC,AAACjgB,IAC1D,GAAI,AAAqB,UAArB,OAAOA,CAAI,CAAC0B,EAAI,EAAiB,AAAqB,UAArB,OAAO1B,CAAI,CAAC0B,EAAI,CAAe,CAClE,IAAMmiB,EAAgB,IAAI,CAAC,qBAAqB,CAAC7jB,CAAI,CAAC0B,EAAI,CAAC,QAAQ,GAAG,WAAW,IAC3EqiB,EAA4B,IAAI,CAAC,qBAAqB,CAACtI,EAAiB,WAAW,IACnFqI,EAAgB,IAAI,CAAC,qBAAqB,CAAC9jB,CAAI,CAAC0B,EAAI,CAAC,QAAQ,GAAG,WAAW,IAC3EsiB,EAA4B,IAAI,CAAC,qBAAqB,CAACvI,EAAiB,WAAW,IACzF,GAAIoI,EAAc,QAAQ,CAACE,IAGvBD,EAAc,QAAQ,CAACE,GAFzB,MAAO,EAKX,OACA,AAAyB,WAArB,OAAOhkB,CAAI,CAAC0B,EAAI,GACA,KAAd1B,CAAI,CAAC0B,EAAI,EAAc+Z,CAAAA,AAAqB,SAArBA,GAA+BA,AAAqB,KAArBA,CAAwB,GAG9Ezb,AAAc,KAAdA,CAAI,CAAC0B,EAAI,EAAe+Z,CAAAA,AAAqB,UAArBA,GAAgCA,AAAqB,KAArBA,CAAyB,IAIhF,EACT,EAC4C,CAEhD,CAGF,OAAOwE,CACT,CAEA,qBAAuB,AAACgE,IACtB,GAAM,CAAEC,QAAAA,CAAO,CAAE,CAAG,IAAI,CAAC,KAAK,CAGxBC,EAA2BC,AADPF,EAAQ,MAAM,CAAC,AAACxL,GAAMA,AAAiB,WAAjBA,EAAE,UAAU,EAAe,GAAG,CAAC,AAACA,GAAMA,EAAE,EAAE,EACvC,MAAM,CAAC,AAAC/Y,GAAO,CAACskB,EAAc,QAAQ,CAACtkB,IAE1F,IAAI,CAAC,QAAQ,CAAC,CAAE,iBAAkBwkB,CAAoB,EACxD,CAAE,AAEF,eAAgB,AAACjmB,IACf,GAAI,CAACA,EAAO,WAAW,CACrB,OAGF,IAAMgmB,EAAe,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAEhmB,EAAO,MAAM,CAAC,KAAK,CAAEA,EAAO,WAAW,CAAC,KAAK,EAE7FmmB,EAAcH,EAAQ,GAAG,CAAC,AAAC1X,GAAaA,EAAI,EAAE,EACpD,IAAI,CAAC,QAAQ,CACX,CACE0X,QAAAA,EACAG,YAAAA,CACF,EACA,KACE,IAAI,CAAC,uBAAuB,CAACA,EAC/B,EAEJ,CAAE,AAEF,SAAU,CAACC,EAAMC,EAAYC,KAC3B,IAAMtmB,EAAS+I,MAAM,IAAI,CAACqd,GACpB,CAACG,EAAQ,CAAGvmB,EAAO,MAAM,CAACqmB,EAAY,GAG5C,OAFArmB,EAAO,MAAM,CAACsmB,EAAU,EAAGC,GAEpBvmB,CACT,CAAE,AAEF,wBAAyB,AAACkR,IACvB,IAAI,CAAC,sBAAsB,CAAS,OAAO,CAAGA,EAC/C,IAAI,CAAC,QAAQ,CAAC,CAAE,oBAAqBA,CAAM,EAC7C,CAAE,AAEF,gBAAiB,AAAC1P,IAChB,IAAIglB,EACJ,GAAI,AAAwC/lB,KAAAA,IAAxC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAgB,CACrD,IAAM0T,EAAQ9S,SAAS,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EACnD,GAAI8S,EAAO,CACT,IAAMsS,EAActS,EAAM,aAAa,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,EAC5FsS,GAEFD,CAAAA,EAAiBE,AADGD,EAAO,WAAW,CACPjlB,EAAE,SAAS,AAAD,EACpB,KACnBilB,EAAO,KAAK,CAAC,KAAK,CAAG,CAAC,EAAED,EAAe,EAAE,CAAC,CAC1C,IAAI,CAAC,QAAQ,CAAC,CACZ,aAAc,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAEA,CAAe,CACpG,GAGN,CACF,CACArmB,OAAO,SAAS,CAAG,KACjBA,OAAO,mBAAmB,CAAC,YAAa,IAAI,CAAC,cAAc,EAC3D,IAAI,CAAC,QAAQ,CAAC,CAAE,oBAAqBM,KAAAA,CAAU,GAC3C,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1D,CACF,CAAE,AAEF,yBAA0B,AAACkmB,IACzB,IAAI,CAAC,QAAQ,CAAC,CAAE,YAAaA,CAAS,EACxC,CAAE,AAEF,mBAAoB,CAAC/a,EAAY8T,EAASV,KACxC,GAAIA,EAAQ,CACV,IAAM4H,EAAgB,CACpB,MAAO5H,EAAO,MAAM,EAAE,UACtB,MAAOA,EAAO,KAAK,CACnB,SAAUA,EAAO,MAAM,EAAE,EAC3B,EACA,IAAI,CAAC,QAAQ,CAAC,CAAE4H,cAAAA,CAAc,EAChC,MACE,IAAI,CAAC,QAAQ,CAAC,CAAE,cAAe,CAAC,CAAE,GAEhClH,GACF9L,OAAO,MAAM,CAAC8L,GAAS,OAAO,CAAC,AAACmH,IAC9B,GAAIA,GAAUA,CAAM,CAAC,EAAE,EAAIA,CAAM,CAAC,EAAE,CAAC,KAAK,CAAE,CAE1C,IAAMJ,EAAcT,AADJ,IAAI,CAAC,KAAK,CAAC,OAAO,CACN,IAAI,CAAC,AAACxL,GAAMA,EAAE,EAAE,GAAKqM,CAAM,CAAC,EAAE,CAAC,QAAQ,EAC/DJ,IACFI,CAAM,CAAC,EAAE,CAAC,SAAS,CAAGJ,EAAO,SAAS,CACtCI,CAAM,CAAC,EAAE,CAAC,QAAQ,CAAGJ,EAAO,EAAE,CAElC,CACF,GACA,IAAI,CAAC,QAAQ,CAAC,CAAE,iBAAkB/G,CAAQ,IAE1C,IAAI,CAAC,QAAQ,CAAC,CAAE,iBAAkB,CAAC,CAAE,GAEnC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1D,CAAE,AAEF,mBAAkB9c,CAAU,CAAE+C,CAAS,CAAE,CACvC,GAAIA,GAAa/C,GAASA,GAAO,YAAY,SAAW,GACtD,OAAQ+C,GACN,IAAK,QACH,GAAIE,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,OAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GACG,MAAM,CAACD,OAAOjD,IACd,OAAO,CAAC,IAAK,GAElB,KAAK,cACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,OAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GACG,MAAM,CAACD,OAAOjD,IACd,OAAO,CAAC,IAAK,GAElB,KAAK,WACH,GAAIiD,OAAO,KAAK,CAACA,OAAOjD,IACtB,MAAO,QAGT,OAAO,IAAIkD,KAAK,YAAY,CAAC,QAAS,CACpC,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CACzB,GAAG,MAAM,CAACD,OAAOjD,GAEnB,KAAK,QACH,OAAOmD,IAAAA,SAAiB,CAACnD,EAAO,iBAElC,KAAK,UACH,MAAO,CAAC,EAAEA,EAAM,CAAC,CAAC,AAEpB,KAAK,eACH,IAAMoD,EAAUH,OAAOjD,GACvB,OAAOqD,MAAMD,GAAWpD,EAAQoD,EAAQ,OAAO,CAAC,EAElD,KAAK,eACH,IAAME,EAAUL,OAAOjD,GACvB,OAAOqD,MAAMC,GAAWtD,EAAQsD,EAAQ,OAAO,CAAC,EAElD,SACE,OAAOtD,CACX,CAEF,OAAOA,GAAO,UAChB,CAEA,+BAAiC,KAC/B,IAAImf,EACF,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EACvE,IAAI,CAAC,aAAa,GAiBxB,GAfI,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7BnO,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC4G,EAAGkF,EAAa,IACpE,GAAIA,GAAWA,EAAQ,MAAM,CAAG,EAAG,CACjC,GAAM,CAAE9c,MAAAA,CAAK,CAAEyH,KAAAA,CAAI,CAAE4R,SAAAA,CAAQ,CAAE,CAAGyD,CAAO,CAAC,EAAE,CACtC+G,EAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,AAACnY,GAAQA,EAAI,EAAE,GAAK2N,GAC3D,GAAIwK,EAAQ,CACV,GAAM,CAAEjJ,UAAAA,CAAS,CAAE1B,SAAAA,CAAQ,CAAE,CAAQ2K,EACrC1E,EAAeA,EAAa,MAAM,CAAC,AAACxK,GAClCkH,GAAU,WAAW,CAAC,CAAE7b,MAAAA,EAAOyH,KAAAA,CAAK,EAAGkN,EAAQiG,EAAW1B,GAE9D,CACF,CACF,GAGE,IAAI,CAAC,KAAK,CAAC,aAAa,EAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAE,CAC9D,GAAM,CAAEhJ,MAAAA,CAAK,CAAEgU,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CACjD/E,EAAa,IAAI,CAAC,CAACxW,EAAGC,KACpB,IAAMxL,EAASye,GAAU,OAAO,CAAC3L,EAAOvH,EAAGC,GAC3C,MAAOsb,AAAU,WAAVA,EAAqB9mB,EAAS,CAACA,CACxC,EACF,CAEA,OAAO+hB,CACT,CAAE,AAEF,eAAgB,KACd,IAAMrd,EAAevE,OAAO,KAAK,EAAE,aAKnC,GAAI,CAHc,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KACpC,AAACsmB,GAAgBA,AAAyB,SAAzBA,EAAO,aAAa,EAA2BA,EAAO,aAAa,EAEtE,MAAO,yBAwCvB,IAAMM,EAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAtCX,AAACN,IACvB,GAAM,CAAEO,cAAAA,CAAa,CAAElL,SAAAA,CAAQ,CAAE0B,UAAAA,CAAS,CAAEyJ,gBAAAA,CAAe,CAAE,CAAGR,EAChE,GACEO,AAAkB,SAAlBA,GACClL,AAAa,WAAbA,GAAiCkL,AAAkB,UAAlBA,EAElC,MAAO,GAET,IAAIjF,EAAe,IAAI,CAAC,8BAA8B,GAEhDmF,EAAanF,GAAc,IAAI,AAACpT,GAAQA,CAAG,CAAC6O,EAAU,GAAK,EAAE,CAEnE,OAAQwJ,GACN,IAAK,MACH,OAAO,IAAI,CAAC,iBAAiB,CAC3BE,EAAW,MAAM,CAAC,CAACrD,EAAKtb,IAAQsb,EAAOtb,CAAAA,GAAO,GAAI,GAClD0e,EAEJ,KAAK,UACH,IAAME,EAAYD,EAAW,MAAM,CAAC,AAAC3e,GAAQA,AAAO,MAAPA,GAC7C,OAAO,IAAI,CAAC,iBAAiB,CAC3B4e,EAAU,MAAM,CAAIA,AAAAA,CAAAA,EAAU,MAAM,CAAC,CAACtD,EAAKtb,IAAQsb,EAAMtb,EAAK,GAAK4e,EAAU,MAAK,EAAG,OAAO,CAAC,GAAK,EAClGF,EAEJ,KAAK,QACH,OAAO,IAAI,CAAC,iBAAiB,CAACC,EAAW,MAAM,CAAED,EACnD,KAAK,MACH,IAAMG,EAAUF,EAAW,MAAM,CAAC,AAAC3e,GAAQA,AAAO,MAAPA,GAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC6e,EAAQ,MAAM,CAAGpc,KAAK,GAAG,IAAIoc,GAAW,EAAGH,EAE3E,KAAK,MACH,IAAMI,EAAUH,EAAW,MAAM,CAAC,AAAC3e,GAAQA,AAAO,MAAPA,GAC3C,OAAO,IAAI,CAAC,iBAAiB,CAAC8e,EAAQ,MAAM,CAAGrc,KAAK,GAAG,IAAIqc,GAAW,EAAGJ,EAC3E,SACE,MAAO,EACX,CACF,GAqDA,MACE,UAACK,GAAAA,CAAAA,CAAAA,OAAa,E,SACZ,WAACA,GAAAA,CAAAA,CAAAA,OAAAA,CAAAA,GAAiB,E,UACf,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,UAACA,GAAAA,CAAAA,CAAAA,OAAAA,CAAAA,IAAkB,EAAC,MAAO,C,GACrD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IArDD,CAACb,EAAQvV,KACjC,GAAM,CAAE8V,cAAAA,CAAa,CAAEC,gBAAAA,CAAe,CAAEnL,SAAAA,CAAQ,CAAE5b,MAAAA,CAAK,CAAEqnB,kBAAAA,CAAiB,CAAEC,eAAAA,CAAc,CAAEC,gBAAAA,CAAe,CAAE,CAC3GhB,EAGF,GAAI,CAFc3K,CAAAA,AAAa,WAAbA,GAAiCpX,GAAgBsiB,AAAkB,UAAlBA,CAAAA,EAEnD,MAAO,UAACM,GAAAA,CAAAA,CAAAA,OAAAA,CAAAA,IAAkB,EAAa,MAAOpW,C,EAAdA,GAChD,IAAMwW,EAAkBV,AAAkB,SAAlBA,EAAuC,IAAI,CAAC,iBAAiB,CAAC,KAAMC,GAAmB,GACzG7P,EACJ,WAAC,OAAI,MAAO,CAAE,QAAS,OAAQ,WAAY,QAAS,E,UAClD,UAAC,QACC,MAAO,CACL,SAAUoQ,EACV,MAAOC,CACT,E,SAECF,C,GAEH,UAAC,QACC,MAAO,CACL,SAAUC,EACV,MAAOC,EACP,WACEvnB,GAAO,YAAc,eAAiB,MAAQA,GAAO,YAAc,gBAAkB,OAAS,KAClG,E,SAECwE,EAAegjB,EAAkBX,CAAM,CAAC7V,EAAM,EAAI,E,MAKzD,MACE,UAACoW,GAAAA,CAAAA,CAAAA,OAAAA,CAAAA,IAAkB,EAEjB,MAAOpW,EACP,MACEhR,GAAO,YAAc,iBACjB,SACAA,GAAO,YAAc,eACrB,OACAA,GAAO,YAAc,gBACrB,QACA,O,SAGLkX,C,EAZIlG,EAeX,G,IAUF,CAAE,AAEF,UAAW,UAET,IAAMyW,EAAO,GAAIC,AADH,OAAM,4EAAuB,OAAO,CAC5B,IAAI,CACpBC,EAAQF,EAAK,QAAQ,CAAC,UAGtBG,EAAe,AAAI/e,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAGzDgf,EAAiB,AAACnlB,IACtB,GAAIA,MAAAA,EACF,MAAO,GAET,GAAI,AAAiB,UAAjB,OAAOA,EAAoB,CAC7B,GAAIA,aAAiBoC,KACnB,OAAOpC,EAAM,WAAW,GAE1B,GAAImG,MAAM,OAAO,CAACnG,GAChB,OAAOA,EAAM,GAAG,CAACmlB,GAAgB,IAAI,CAAC,MAGxC,GAAI,CACF,OAAO5E,KAAK,SAAS,CAACvgB,EACxB,CAAE,KAAM,CAER,CACF,CACA,OAAOolB,OAAOplB,EAChB,EAEMqlB,EAAyB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,AAACxB,GAAgBA,EAAO,SAAS,EAErFyB,EAAYL,EAAM,MAAM,GAC9BI,GAAiB,QAAQ,CAAC,CAAE/c,MAAAA,CAAK,CAAO,CAAEid,KAExCC,AADaF,EAAU,OAAO,GACzB,KAAK,CAAGhd,EAEb4c,CAAY,CAACK,EAAS,CAAGnd,KAAK,GAAG,CAAC8c,CAAY,CAACK,EAAS,CAAEH,OAAO9c,GAAO,MAAM,CAChF,GAIA6W,AAFmB,IAAI,CAAC,8BAA8B,GAEzC,OAAO,CAAC,AAACxK,IACpB,IAAM5I,EAAMkZ,EAAM,MAAM,GACxBI,GAAiB,QAAQ,CAAC,CAAEzK,UAAAA,CAAS,CAAEyJ,gBAAAA,CAAe,CAAO,CAAEkB,KAC7D,IAAMC,EAAOzZ,EAAI,OAAO,GAClB0Z,EAAWC,KAAAA,GAAc,CAAC/Q,EAAQiG,GAElC5a,EAAQqkB,EAAkB,IAAI,CAAC,iBAAiB,CAACoB,EAAUpB,GAAmBc,EAAeM,GAC9F7K,EAGH4K,EAAK,KAAK,CAAGxlB,EAFbwlB,EAAK,KAAK,CAAG,GAKfN,CAAY,CAACK,EAAS,CAAGnd,KAAK,GAAG,CAAC8c,CAAY,CAACK,EAAS,CAAEvlB,EAAM,MAAM,CACxE,EACF,GAGAilB,EAAM,IAAI,CAAC,OAAO,CAAC,CAACvZ,EAAK4C,KAGvB5C,EAAI,KAAK,CAAGtD,KAAK,GAAG,CAAC,GAAI8c,AAAsB,IAAtBA,CAAY,CAAC5W,EAAM,CAAS,EACvD,GAEAyW,EACG,MAAM,CAAC,QACP,IAAI,CAAC,AAACY,IACLC,AAAAA,GAAAA,GAAAA,MAAAA,AAAAA,EAAOD,EAAM,cACf,GACC,KAAK,CAAC,AAACE,IACNlnB,QAAQ,KAAK,CAAC,yBAA0BknB,EAC1C,EACJ,CAAE,AAEF,QAAS,KACP,IAAM/jB,EAAevE,OAAO,KAAK,EAAE,aAC7BuoB,EAAoB,CACxB,GAAI,GAAM,IAAI,CAAC,KAAK,CAAsB,mBAAmB,CAC7D,GAAI,GAAM,IAAI,CAAC,KAAK,CAAsB,kBAAkB,CAC5D,GAAI,GAAM,IAAI,CAAC,KAAK,CAAsB,iBAAiB,CAC3D,GAAI,GAAM,IAAI,CAAC,KAAK,CAAsB,iBAAiB,CAE3D,MAAO,CACL,QAAS,SACX,CACF,EACIC,EAAc,EAAE,CAEpB,GAAI,AAAiC,eAAjC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAUxE,OARApd,AADQxC,MAAM,IAAI,IAAI,CAAC,GACrB,OAAO,CAAC,CAAC4L,EAASzD,KAClByX,EAAY,IAAI,CACd,oBAACva,GAAAA,CAAGA,CAAAA,CAAE,GAAGsa,CAAiB,CAAE,IAAKxX,C,EAC/B,UAAC,OAAI,UAAU,mC,IAGrB,GAEO,UAAC3C,GAAAA,CAAGA,CAAAA,C,SAAEoa,C,GAEf,GAAI,AAAmB,YAAnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAkB,AAAkC,aAAlC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CACvG,MAAO,UAAC,OAAI,IAAKC,GAAqB,MAAO,CAAE,MAAO,MAAO,C,GAE/D,GAAI,AAAmB,YAAnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAkB,AAAkC,mBAAlC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAC7G,MAAO,UAAC,OAAI,IAAKC,GAA2B,MAAO,CAAE,MAAO,MAAO,C,GAErE,GAAI,AAAmB,aAAnB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAI1oB,OAAO,KAAK,CAAC,YAAY,CACrF,MAAO,UAAC,OAAI,IAAK2oB,GAAqB,MAAO,CAAE,MAAO,MAAO,C,GAE/D,GACE,AAA+B,IAA/B,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC1B,CAAyBroB,KAAAA,GAAzB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAiB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAG,GAEtE,MAAO,yBAGT,IAAMshB,EACJ,IAAI,CAAC,KAAK,CAAC,UAAU,EAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,aAAa,GAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EACvE,IAAI,CAAC,aAAa,GAClB5W,EAAW/E,aAAa,OAAO,CAAC,MAElC2iB,EAAyB,gBAW7B,MAVI5d,AAAa,UAAbA,EACF4d,EAAyB,kBAChB5d,AAAa,UAAbA,EACT4d,EAAyB,8BAChB5d,AAAa,UAAbA,EACT4d,EAAyB,uBACH,UAAb5d,GACT4d,CAAAA,EAAyB,yBAAwB,EAIjD,sB,SACE,WAAC,OAAI,UAAW,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,C,UACxD,KAAI,CAAC,KAAK,CAAC,YAAY,EAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAI,IAAI,CAAC,KAAK,CAAC,MAAK,GACvE,WAAC,OACC,MAAO,CACL,QAAS,OACT,eAAgB,WAChB,WAAY,SACZ,aAAc,EAChB,E,UAEC,IAAI,CAAC,KAAK,CAAC,YAAY,EACtB,UAAC1mB,EAAAA,CAAKA,CAAAA,CACJ,YAAa8I,AAAa,UAAbA,EAAuB,SAAW,YAC/C,MAAO,CACL,MAAO,GACT,EACA,MAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAC5B,SAAU,AAAC3J,GAAM,IAAI,CAAC,aAAa,CAACA,EAAE,MAAM,CAAC,KAAK,EAClD,OAAQ,KACF,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1D,EACA,SAAUkD,C,GAIb,IAAI,CAAC,KAAK,CAAC,MAAM,EAChB,UAAC,OAAI,MAAO,CAAE,WAAY,EAAG,E,SAC3B,UAAClE,EAAAA,EAAMA,CAAAA,CACL,KAAK,UACL,KAAM,UAACwoB,GAAAA,CAAgBA,CAAAA,CAAAA,GACvB,QAAS,KACP,IAAI,CAAC,QAAQ,EACf,E,SAEC7d,AAAa,UAAbA,EAAuB,aAAe,Q,KAK5C,IAAI,CAAC,KAAK,CAAC,aAAa,EACvB,UAAC,OAAI,MAAO,CAAE,WAAY,EAAG,E,SAC3B,UAACkM,GAAAA,CAAOA,CAAAA,CACN,QACE,UAAC4R,GAAAA,EAAeA,CAAAA,CAAC,UAAW,IAAI,CAAC,aAAa,C,SAC5C,UAACC,GAAAA,EAASA,CAAAA,CAAC,YAAY,gB,SACpB,AAACC,GACA,WAAC,OACE,GAAGA,EAAS,cAAc,CAC3B,IAAKA,EAAS,QAAQ,CACtB,UAAU,8C,UAET,IAAI,CAAC,KAAK,CAAC,OAAO,EACf,OAAO,AAAC3O,GAAMA,AAAiB,WAAjBA,EAAE,UAAU,EAC3B,IAAI,CAACA,EAAQtJ,IACZ,MAACkY,GAAAA,EAASA,CAAAA,CAAY,YAAa5O,EAAE,EAAE,CAAE,MAAOtJ,E,SAC7C,AAACiY,GACA,OAAC,OACC,IAAKA,EAAS,QAAQ,CACrB,GAAGA,EAAS,cAAc,CAC1B,GAAGA,EAAS,eAAe,CAC5B,UAAU,iB,UAEV,MAACE,GAAAA,CAAYA,CAAAA,CAAC,UAAU,a,GACxB,MAAC9mB,EAAAA,CAAQA,CAAAA,CACP,QAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAACiY,EAAE,EAAE,EACnD,SAAU,AAAChZ,IACT,GACE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,AAACgZ,GAAMA,AAAiB,WAAjBA,EAAE,UAAU,EAAe,MAAM,CAChE,GACJ,CAAChZ,EAAE,MAAM,CAAC,OAAO,CAEjB,OAEF,IAAM8nB,EAAwB9nB,EAAE,MAAM,CAAC,OAAO,CAC1C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,AAACC,GAAOA,IAAO+Y,EAAE,EAAE,EACtD,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAEA,EAAE,EAAE,CAAC,CAC1C,IAAI,CAAC,QAAQ,CAAC,CAAE8O,iBAAAA,CAAiB,EAAG,KAC9B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAC1D,EACF,E,SAEC9O,EAAE,KAAK,A,OA5BAA,EAAE,EAAE,GAkCvB2O,EAAS,WAAW,C,OAM/B,MACEhe,AAAa,UAAbA,EACI,kBACAA,AAAa,UAAbA,EACA,+BACA,iBAEN,QAAQ,QACR,UAAU,a,SAEV,UAACoe,GAAAA,CAAqBA,CAAAA,CACpB,MAAO,CACL,cAAe7kB,EAAe,OAAS,MACzC,C,UAOZ,UAAC4iB,GAAAA,CAAKA,CAAAA,CACJ,GAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CACjB,MAAO,CAAE,GAAG,IAAI,CAAC,cAAc,EAAE,AAAC,EAClC,WAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CACjC,WAAY,IAAI,CAAC,aAAa,GAC9B,WAAYvF,EACZ,SAAU,IAAI,CAAC,iBAAiB,CAChC,WAAY,CACV,MAAO,IAAI,CAAC,cAAc,GAC1B,OAAQ,CACN,QAAS,IAAI,CAAC,KAAK,CAAC,cAAc,CAClC,IAAK/D,GACL,KAAMV,EACR,EACA,KAAM,CACJ,QAAS,IAAI,CAAC,cAAc,GAC5B,IAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAC3B,KAAM,IAAI,CAAC,WAAW,EACxB,CACF,EACA,QAAS,IAAI,CAAC,aAAa,CAC3B,OAAQ,CACN,UACE,UAACkM,GAAAA,CAAKA,CAAAA,CACJ,MACE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CACzB,UAACllB,EAAKA,CAAC,MAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,A,GACvC,AAAoB,UAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAgB,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3D,UAAC,OACC,IAAKmlB,GACL,MAAO,CACL,MAAO,MACT,C,GAEA,KAEN,YACE,AAAoB,UAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAgB,IAAI,CAAC,KAAK,CAAC,eAAe,CACrD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAIV,EACjC,E,EAIZ,EACA,MAAO,CAACjH,EAAezO,IAAuB,EAC5C,GAAG,IAAI,CAAC,WAAW,EAAE,CACrB,aAAc,AAAC7R,IACb,IAAI,CAAC,eAAe,CAACA,EAAGsgB,EAAUzO,EACpC,EACA,cAAe,AAAC7R,IACd,IAAI,CAAC,oBAAoB,CAACA,EAAGsgB,EAAUzO,EACzC,EACA,aAAc,AAAC7R,IACb,IAAI,CAAC,SAAS,CAAGyZ,WAAW,KAC1B,IAAI,CAAC,oBAAoB,CAACzZ,EAAGsgB,EAAUzO,EACzC,EAAG,IACL,EACA,WAAY,AAAC7R,IACXkoB,aAAa,IAAI,CAAC,SAAS,CAC7B,EACA,eAAgB,AAACloB,IACf,IAAI,CAAC,cAAc,CAACA,EAAGsgB,EAAUzO,EACnC,EACA,SAAU,MAAI,CAAC,KAAK,CAAC,oBAAoB,EAAU,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAIA,EACxF,MAAO,IAAI,CAAC,WAAW,CAACyO,EAAUzO,GAClC,eAAgB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC5C,8BAA+B,IAAI,CAAC,KAAK,CAAC,6BAA6B,CACvE,6BAA8B,IAAI,CAAC,KAAK,CAAC,4BAA4B,CACrE,aAAc,IAAI,CAAC,KAAK,CAAC,eAAe,CACxC,gBAAiB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC5C,WAAY,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,SAASyO,EAAS,EAAE,EAC5D,eAAgB,IAAI,CAAC,YAAY,GAAG,IAAI,GACxC,gBAAiB,IAAI,CAAC,KAAK,CAAC,UAAU,CACtC,oBAAsB,IAAI,CAAC,KAAK,CAAsB,mBAAmB,CACzE,mBAAqB,IAAI,CAAC,KAAK,CAAsB,kBAAkB,CACvE,kBAAoB,IAAI,CAAC,KAAK,CAAsB,iBAAiB,CACrE,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,QAASA,EACTzO,SAAAA,EACA,YAAa,IAAI,CAAC,WAAW,CAACyO,GAC9B,aAAc,KACR,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAC9B,IAAI,CAAC,uBAAuB,GAC5B3hB,OAAO,iBAAiB,CAAG,CAAC,EAEhC,EACA,oBAAqB,KACnB,IAAI,CAAC,QAAQ,CAAC,CAAE,uBAAwB,EAAG,EAC7C,EACA,QAAS,IAAM,IAAI,CAAC,gBAAgB,CACpC,aAAc,IAAI,CAAC,eAAe,GAClC,IAAK,IAAI,CAAC,SAAS,CAAC2hB,GACpB,IAAK,IAAI,CAAC,SAAS,CAACA,GACpB,aAAc,IAAI,CAAC,KAAK,EAAE,aAC1B,aAAc,IAAI,CAAC,KAAK,EAAE,aAC1B,OAAQ,CAAE,IAAK,IAAI,CAAC,SAAS,CAACA,GAAW,IAAK,IAAI,CAAC,SAAS,CAACA,EAAU,EACvE,SAAU,IAAI,CAAC,WAAW,CAACA,EAAUzO,GACrC,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CACvB,qBAAsB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACrD,cAAe,AAACsW,IACV,IAAI,CAAC,KAAK,CAAC,aAAa,EAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,CAACA,EAE7B,EACA,WAAY,AAACvS,IACK3W,KAAAA,IAAZ2W,GACE,IAAI,CAAC,4BAA4B,EACnC,IAAI,CAAC,4BAA4B,CAAC,CAAE,cAAeA,CAAQ,EAGjE,EACA,cAAgB,AAAqC,KAArC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAyB,IAAI,CAAC,KAAK,CAAC,aAAa,CACzF,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,SAAU,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACzC,OAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CACrC,MAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CACnC,qBAAsB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACrD,sBAAuB,IAAI,CAAC,KAAK,CAAC,qBAAqB,AACzD,GACA,YAAa,IAAO,EAClB,MAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,QAAS,IAAI,CAAC,gBAAgB,AAChC,GACA,QAAS,IAAI,CAAC,KAAK,CAAC,OAAO,EACvB,OAAO,AAACoD,GAAMA,AAAiB,WAAjBA,EAAE,UAAU,GAC1B,OAAO,AAACA,GACD,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,SAASA,EAAE,EAAE,GAEnD,IAAI,CAACiM,EAAahF,KACjB,GAAM,CAAEuE,QAAAA,CAAO,CAAE,CAAG,IAAI,CAAC,KAAK,CAqE9B,OApEAS,EAAO,SAAS,CACd,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAUA,EAAO,SAAS,EACpD,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAaA,EAAO,EAAE,CAC5C,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAC1BhmB,KAAAA,EACF,CAA8B,WAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAiB,AAA8B,sBAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,AAAuB,IAC5FgmB,EAAO,KAAK,CAAGA,EAAO,KAAK,CAAC,KAAK,EAAI,cACrCA,EAAO,KAAK,CAAC,KAAK,CAAGA,EAAO,KAAK,CACjCA,EAAO,KAAK,CAAC,QAAQ,CAAGA,EAAO,KAAK,CAAC,KAAK,EAExC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAI,AAAyChmB,KAAAA,IAAzC,IAAI,CAAC,KAAK,CAAC,YAAY,CAACghB,EAAY,GACjEgF,EAAO,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAChF,EAAY,CACnDgF,EAAO,KAAK,CAAC,KAAK,CAAGA,EAAO,KAAK,EAER,CACzB,GAAGA,CAAM,CACT,OAAQ,CAACrT,EAAcC,IAA4B,EACjD,YAAa,AAAC0Q,IACZ,IAAI,CAAC,eAAe,CAACA,EAAItC,EAAarO,EAASC,EACjD,EACA,WAAY,AAAC0Q,IACX,IAAI,CAAC,cAAc,CAACA,EAAI1Q,EAAUoO,EACpC,EACA,MAAOgF,EAAO,KAAK,CACnB,sBAAuBA,EAAO,qBAAqB,CACnD,wBAAyBA,EAAO,uBAAuB,CACvD,gCAAiCA,EAAO,+BAA+B,CACvEpT,SAAAA,EACAD,QAAAA,EACAqO,YAAAA,EACA,MAAOgF,EAAO,KAAK,CACnB,QAAST,GAAS,OAAO,AAAC/S,GAAWA,AAAc,KAAdA,EAAE,OAAO,EAC9C,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,WAAYwT,EAAO,gBAAgB,CACnC,WACGA,EAAO,gBAAgB,EAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAIpT,GAChE,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAIoT,EAAO,gBAAgB,CAC7D,qBAAsB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CACrD,UAAWA,EAAO,SAAS,CAC3B,SAAUA,EAAO,QAAQ,EAAI,SAC7B,uBAAwB,IAAI,CAAC,sBAAsB,CACnD,eAAgB,IAAI,CAAC,cAAc,CACnC,MAAOhF,EACP,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,AAC/C,GACA,aAAc,IAAY,EACxB,MAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAC7B,YAAagF,EAAO,KAAK,CACzB,MAAOA,EAAO,KAAK,CACnB,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,cAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,cAC9C,iBAAkB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAC9C,oBAAqB,IAAI,CAAC,oBAAoB,CAC9C,mBAAoB,IAAI,CAAC,kBAAkB,CAC3C,WAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CACjC,KAAMA,EAAO,QAAQ,EAAI,SACzB,UAAWA,EAAO,SAAS,CAC3B,MAAOhF,EACP,eAAgB,IAAI,CAAC,cAAc,CACnC,uBAAwB,IAAI,CAAC,sBAAsB,CACnD,iBAAkB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC7C,OAAQ,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAACgF,EAAO,EAAE,EACtD,eAAgBA,EAAO,UAAU,CACjC,kBAAmBA,EAAO,aAAa,CACvC,gBAAiBA,EAAO,WAAW,CACnC,eAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,AACtC,EACF,CAEF,GACF,QAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAC3B,KAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACrB,SAAU,GACV,OACE,AAA8B,WAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,EAAiB,AAA8B,sBAA9B,IAAI,CAAC,KAAK,CAAC,cAAc,CAC/D,CAAE,EAAG,aAAc,EACnBhmB,KAAAA,EAEN,OAAQ,KACR,aACE,IAAI,CAAC,KAAK,CAAC,WAAW,CAClB,CACE,KAAM,WACN,gBAAiB,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3C,SAAU,CAAC8W,EAAQqS,EAAUC,KAC3B,GAAM,CAAEnI,gBAAAA,CAAe,CAAE,CAAG,IAAI,CAAC,KAAK,CAChCoI,EAAiBF,EACnB,IAAIlI,EAAiBnK,EAAO,EAAE,CAAC,CAC/BmK,EAAgB,MAAM,CAAC,AAACle,GAAQA,IAAQ+T,EAAO,EAAE,EAE/CwS,EAAuBD,EAAe,IAAI,CAAC,KAEjD,IAAI,CAAC,QAAQ,CACX,CACE,gBAAiBA,EACjB,sBAAuBC,CACzB,EACA,KACE,IAAI,CAAC,KAAK,CAAC,sBAAsB,IACnC,EAEJ,EACA,YAAa,CAACH,EAAUC,EAAcG,KACpC,GAAM,CAAEC,iBAAAA,CAAgB,CAAEpF,WAAAA,CAAU,CAAEqF,uBAAAA,CAAsB,CAAE,CAAG,IAAI,CAAC,KAAK,CAErEC,EAAc,CAACC,EAAMC,KACzB,IAAI,CAAC,QAAQ,CAAC,CAAE,gBAAiBD,EAAM,sBAAuBC,CAAW,EAAG,KACtEH,GACFA,GAEJ,EACF,EAEMI,EAAqB,AAAC7H,GAASA,EAAK,GAAG,CAAC,AAAC9T,GAAQA,EAAI,EAAE,EAAE,IAAI,CAAC,KAEpE,GAAIsb,AAAqB,QAArBA,EAA4B,CAC9B,IAAMM,EAAa1F,EAAW,GAAG,CAAC,AAAClW,GAAQA,EAAI,EAAE,EAC3C6b,EAAmBF,EAAmBzF,EAExCgF,CAAAA,EAAa,MAAM,CAAG,IAAMhF,EAAW,MAAM,EAAI+E,EACnDO,EAAYI,EAAYC,GAExBL,EAAY,EAAE,CAAE,GAEpB,KAAO,CACL,IAAMzI,EAAkBmI,EAAa,GAAG,CAAC,AAAClb,GAAQA,EAAI,EAAE,EAGxDwb,EAAYzI,EAFkB4I,EAAmBT,GAGnD,CACF,CACF,EACAppB,KAAAA,C,GAIR,UAAC,SAAM,KAAK,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAE,UAAU,qB,GACjE,UAAC,SAAM,KAAK,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAE,UAAU,4B,GACvE,UAAC,SAAM,KAAK,SAAS,GAAI,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAE,UAAU,wB,OAI3E,CAAE,AACJ,CuDvhGA,IAAM6U,GAAW/U,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAZjB,MAAMkqB,UAAiBhM,GACrB,YAAY1e,CAAiE,CAAE,CAC7E,KAAK,CAACA,EACR,CAEA,OAAc,aAAe,CAC3B,KAAM,WACN,WAAY,GACZ,cAAe,EACjB,CAAE,AACJ,ECIO,OAAM2qB,WAAoB5qB,EAAAA,aAAaA,CAC5C,YAAYC,CAAuB,CAAE,CACnC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEA,mBAA0B,CACxB,IAAMgb,EAAcna,EAAAA,WAAoB,CAAC,IAAI,EACvC6Q,EAAQsJ,GAAa,cACvBtJ,GAAS,AAAsC,KAAtC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAC5CA,EAAM,SAAS,CAAC,GAAG,CAAC,8BAE2B,KAA7C,IAAI,CAAC,KAAK,CAAC,6BAA6B,EAC1C,IAAI,CAAC,eAAe,EAExB,CAEA,cAAgB,KACd,IAAMjR,EAAoB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CACrD,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GACP,CACJwM,SAAAA,CAAQ,CACRC,WAAAA,CAAU,CACVF,WAAAA,CAAU,CACVD,MAAAA,CAAK,CACL5E,gBAAAA,CAAe,CACfijB,WAAAA,CAAU,CACVC,eAAAA,CAAc,CACdC,cAAAA,CAAa,CACbC,UAAAA,CAAS,CACTpe,cAAAA,CAAa,CACd,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CA4BpB,MAzBEF,CAAAA,GACAC,GACAF,GACAD,GACA5E,GACAijB,GACAC,GACAC,GACAC,GACApe,CAAY,GAEZ1M,CAAAA,GAAU,CAAC,EAAEkD,EAAU;QACrB,EAAEsJ,EAAW,CAAC,WAAW,EAAEA,EAAS,CAAC,CAAC,CAAG;QACzC,EAAEC,EAAa,CAAC,aAAa,EAAEA,EAAW,CAAC,CAAC,CAAG;QAC/C,EAAEF,EAAa,CAAC,aAAa,EAAEA,EAAW,CAAC,CAAC,CAAG;QAC/C,EAAED,EAAQ,CAAC,OAAO,EAAEA,EAAM,CAAC,CAAC,CAAG;QAC/B,EAAE5E,EAAkB,CAAC,kBAAkB,EAAEA,EAAgB,CAAC,CAAC,CAAG;QAC9D,EAAEijB,EAAa,CAAC,aAAa,EAAEA,EAAW,CAAC,CAAC,CAAG;QAC/C,EAAEC,EAAiB,CAAC,iBAAiB,EAAEA,EAAe,CAAC,CAAC,CAAG;QAC3D,EAAEC,EAAgB,CAAC,gBAAgB,EAAEA,EAAc,CAAC,CAAC,CAAG;QACxD,EAAEC,EAAY,CAAC,YAAY,EAAEA,EAAU,CAAC,CAAC,CAAG;QAC5C,EAAEpe,EAAgB,CAAC,gBAAgB,EAAEA,EAAc,CAAC,CAAC,CAAG;OACzD,CAAC,AAAD,EAGI1M,CACT,CAAE,AAEF,iBAAkB,KAChB,IAAM8C,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAMC,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,AACpB,CACF,CAAE,AAEF,UAAW,KACT,IAAMjD,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAIrC,OAHIF,GAAO,OAAO,SAChB,OAAOA,EAAM,KAAK,CAAC,OAAO,CAErBA,CACT,CAAE,AAEF,SAAoB,CAClB,MAAO,UAAC,SAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,A,EACnC,CACF,CC9FA,IAAMoU,GAAQ5T,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAZd,MAAM+mB,UAAc7I,GAClB,YAAY1e,CAA+B,CAAE,CAC3C,KAAK,CAACA,EACR,CAEA,OAAc,aAAe,CAC3B,KAAM,QACN,WAAY,GACZ,cAAe,EACjB,CAAE,AACJ,ECSA,OAAMgrB,WAAiBjrB,EAAAA,aAAaA,CAC1B,yBAA2B,EAAG,AAEtC,aAAYC,CAAoB,CAAE,CAChC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEA,mBAAoB,CAClB,IAAI,CAAC,eAAe,EACtB,CAEA,SAAW,KACT,IAAM1C,EAAaE,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,EAC/BC,EAAaD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAyB3C,MAvBIF,AAAoB,SAApBA,EAAM,SAAS,EACjBG,EAAM,aAAa,CAAG,OACtBH,EAAM,KAAK,CAAGA,EAAM,KAAK,EAChBA,AAAoB,cAApBA,EAAM,SAAS,EACxBG,EAAM,aAAa,CAAG,YACtBH,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAQU,KAAAA,GAChD,cAApBV,EAAM,SAAS,GACxBG,EAAM,aAAa,CAAG,YACtBH,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,iBAAiB,CAAC,MAAQU,KAAAA,GAGzFV,GAAO,OAAO,UAAYA,EAAM,SAAS,EAC3CA,CAAAA,EAAM,KAAK,CAAGA,EAAM,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAGA,EAAM,SAAS,GAG/DA,EAAM,QAAQ,CAChBA,EAAM,QAAQ,CAAG,GAEjB,OAAOA,EAAM,QAAQ,CAGvBA,EAAM,KAAK,CAAGG,EAEPH,CACT,CAAE,AAEF,cAAe,KACb,IAAIC,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFxEA,CAIX,CAAE,AAEF,iBAAkB,KAChB,IAAM8C,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,eAAgB,KACd,IAAME,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAET,IAAIlD,EAAS,GAEP,CAAEgrB,UAAAA,CAAS,CAAE,CAAG,IAAI,CAAC,KAAK,CAmBhC,OAlBIA,GAKFhrB,CAAAA,GAJU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAIjB;AAAGA;QAAF,EAAEA,EAAU,IAAI,GAAG;;OAE9B,CAJC,AAID,EAGE,KAAI,CAAC,KAAK,CAAC,UAAU,EAAI,IAAI,CAAC,KAAK,CAAC,SAAQ,GAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAIvElD,CAAAA,GAHU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;QAC7B,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAU,uCAErB;AAAE,QAAD,EAAEA,EAAU,IAAI,GAAG;;OAE9B,CAHC,AAGD,EAEIlD,CACT,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACE,UAACqC,EAAAA,CAAAA,CAAAA,QAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAW,IAAI,CAAC,YAAY,E,IAGvE,CACF,CAEA,IAAM4oB,GAAW1qB,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBwqB,I,iBC1HlC,OAAMG,WAAcprB,EAAAA,aAAaA,CAC/B,YAAYC,CAAiB,CAAE,CAC7B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,YAAc,KACR,IAAI,CAAC,KAAK,CAAC,OAAO,EACpB,IAAI,CAAC,KAAK,CAAC,OAAO,EAEtB,CAAE,AAEF,UAAW,KACT,IAAMA,EAAoBE,IAAAA,SAAW,CAAC,IAAI,CAAC,KAAK,EAC1CC,EAAaD,IAAAA,SAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EACzCkrB,EAAU,AAAqB,UAArB,OAAOprB,EAAM,GAAG,EAAiBA,EAAM,GAAG,EAAE,SAAS,SAcrE,OAbIG,EAAM,KAAK,GACbH,EAAM,KAAK,CAAG8F,OAAO3F,EAAM,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAM,KAC1D,OAAOA,EAAM,KAAK,EAEhBA,EAAM,MAAM,GACdH,EAAM,MAAM,CAAG8F,OAAO3F,EAAM,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAM,KAC5D,OAAOA,EAAM,MAAM,EAEjBirB,GACFprB,CAAAA,EAAM,QAAQ,CAAG,EAAG,EAEtBG,EAAM,OAAO,CAAG,QAChBH,EAAM,KAAK,CAAGG,EACPH,CACT,CAAE,AAEF,cAAe,KACb,IAAIG,EAAa,CAAC,EAUlB,OATI,IAAI,CAAC,KAAK,CAAC,KAAK,EAClBA,CAAAA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAElCC,EAAM,KAAK,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAU,QAC1B,OACA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CACxB,OACJA,EAAM,MAAM,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAU,QACpCA,CACT,CAAE,AAEF,SAAoB,OAElB,AAAIwE,AAAiB,KADAvE,OAAO,KAAK,EAAE,aAG/B,UAAC,OACC,MAAO,CACL,YAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,CACjD,aAAc,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC,CACnD,WAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAC/C,cAAe,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,AACvD,E,SAEA,UAAC,OAAI,MAAO,CAAE,GAAG,IAAI,CAAC,YAAY,EAAE,AAAC,EAAG,UAAU,W,KAKtD,sB,SACE,UAACirB,GAAAA,OAAWA,CAAAA,CAAC,eAAgB,IAAI,CAAC,WAAW,CAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,A,IAGxE,CACF,CAEA,IAAMC,GAAQ9qB,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB2qB,G,yGCnFxB,IAAK9qB,EAAAA,G,CAAAA,E,8ZAAAA,GAeL,IAAMoX,EAAc,AAAC7V,GAC1B,AAAKA,EACEA,EAAI,MAAM,CAAC,GAAG,WAAW,GAAKA,EAAI,MAAM,CAAC,GAD/B,EA6CZ,OAAM2pB,EACX,KAAO,CAACC,EAA+BjqB,KACrC,IAAMS,EAAqBiJ,AAAAA,CAAAA,KAAK,KAAK,CAACA,AAAgB,IAAhBA,KAAK,MAAM,IAAc,GAAG,QAAQ,GAI1E,GAAI,EAAC1J,IAAW,CAACiqB,EAMjBprB,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAHlB,CACZ,cAAe,CAAEorB,YAAAA,EAAajqB,QAAAA,EAASS,UAAAA,CAAU,CACnD,EACwC,IAC1C,CAAE,AAEF,wBAAyB,AAACT,IACxB,IAAI,CAAC,IAAI,CAAC,GAAyCA,EACrD,CAAE,AACJ,C,6JC5DA,OAAMkqB,UAAuB1rB,EAAAA,aAAaA,CACxC,YAAYC,CAAuB,CAAE,CACnC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,SAAU,EACZ,CACF,CAEA,cAAgB0rB,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,AAAC7oB,GAAU,IAAI,CAAC,YAAY,CAACA,GAAQ,IAAK,AAEnE,cAAe,AAACA,IACV,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAChC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAACA,EAEnC,CAAE,AAEF,cAAe,AAACA,IACd,IAAI,CAAC,QAAQ,CAAC,CACZ,SAAU,EACZ,GAEI,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAAO,EAAE,CAEjC,CAAE,AAEF,UAAW,IACU3C,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAErC,AAEF,SAAoB,CAClB,GAAM,CAAEyrB,SAAAA,CAAQ,CAAE,CAAG,IAAI,CAAC,KAAK,CAC/B,MACE,UAACjQ,EAAAA,CAAMA,CAAAA,CACJ,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,aAAY,GACZ,gBAAiBiQ,EAAW,UAACC,EAAAA,CAAIA,CAAAA,CAAC,KAAK,O,GAAa,KACpD,aAAc,GACd,SAAU,IAAI,CAAC,aAAa,CAC5B,SAAU,IAAI,CAAC,YAAY,CAC3B,WAAU,GACV,QAASD,C,EAGf,CACF,CAEA,IAAME,EAAarrB,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBirB,G,SCrCpC,OAAM5iB,UAAmB9I,EAAAA,aAAaA,CAC5B,yBAA2B,EAAG,AAEtC,aAAYC,CAAuB,CAAE,CACnC,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CACX,UAAW0C,EAAAA,IAAAA,CAAAA,MAAW,EACxB,CACF,CAEO,WAAa,IACX,IAAI,CAAC,KAAK,CAAC,OAAO,AACzB,AAEF,mBAAoB,KAClB,IAAI,CAAC,eAAe,GACpB,IAAI,CAAC,sBAAsB,GAEzB,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,AAAqBhC,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACnB,AAAoB,aAApB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,AAA+B,YAA/B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAE1B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAE1B,CAAE,AAEF,oBAAqB,KACnB,IAAI,CAAC,sBAAsB,EAC7B,CAAE,AAEF,iBAAkB,KAChB,IAAMqC,EAAY,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,WACxC,GAAI,CAACA,EACH,OAEF,IAAM4B,EAAevE,OAAO,KAAK,EAAE,aACnC,GAAI,AAAkC,KAAlC,IAAI,CAAC,wBAAwB,EAAW,CAACuE,EAC3C,OAAO,IAAI,CAAC,wBAAwB,CAEtC,IAAM3B,EAAgB1B,SAAS,cAAc,CAAC,iBAC9C,GAAI0B,GAAiBA,EAAc,SAAS,EAAE,QAAQD,KAAe,GAAI,CACvE,IAAME,EAAe,IAAI,CAAC,aAAa,EACvCD,CAAAA,EAAc,SAAS,CAAG,CAAC,EAAEA,EAAc,SAAS;QAClD,EAAEC,EAAa,CAAC,CAClB,IAAI,CAAC,wBAAwB,CAAGA,CAClC,CACF,CAAE,AAEF,YAAa,KACX,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBACpB,MAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,YAAY,CAAC,AAE/E,CAAE,AAEF,aAAc,KACZ,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SACpB,MAAO,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,WAAW,YAAY,CAAC,AAE5E,CAAE,AAEF,eAAgB,KACd,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WACpB,MAAO,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,YAAY,CAAC,AAErE,CAAE,AAEF,UAAW,KACT,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MACpB,MAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,AAE/C,CAAE,AAEF,eAAgB,KACd,IAAME,EAAoB,IAAI,CAAC,YAAY,GAC3C,GAAI,CAACA,GAAaA,AAAqB,IAArBA,EAAU,MAAM,CAChC,MAAO,GAGT,IAAMmJ,EAAU,IAAI,CAAC,UAAU,GACzBC,EAAQ,IAAI,CAAC,QAAQ,GACrBE,EAAW,IAAI,CAAC,WAAW,GAC3BC,EAAa,IAAI,CAAC,aAAa,GACjCzM,EAAS,GAEb,GAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAChB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,UAAU,EAAG,KAAO,OAAQ,CACtD,IAAMwS,EAAQ,+DAA+D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpG,GAAIA,EAAO,CACT,IAAMqZ,EAAW,CAAC,KAAK,EAAE,CAACrZ,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAAEA,CAAK,CAAC,EAAE,CAAE,IAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAC1ExS,GAAU;uBACG,EAAEkD,EAAU,IAAI,GAAG;uBACnB,EAAEA,EAAU,IAAI,GAAG;gCACV,EAAE2oB,EAAS;aAC9B,CAAC,AACN,CACF,CAGExf,CAAAA,GAAWC,GAASE,GAAYC,CAAS,GA8B3CzM,CAAAA,GA7BU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;UAC3B,EAAEmJ,AAAY5L,KAAAA,IAAZ4L,EAAwB,CAAC,EAAEA,EAAQ,CAAC,CAAG,GAAG,EAAEC,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAGpE,YAAEpJ,EAAU,IAAI,GAAG;UAC3B,EAAEmJ,AAAY5L,KAAAA,IAAZ4L,EAAwB,CAAC,EAAEA,EAAQ,CAAC,CAAG,GAAG,EAAEC,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAM5E;AAAU,iBAAD,EAAEpJ,EAAU,IAAI,GAAG;UAC5B,EAAEmJ,AAAY5L,KAAAA,IAAZ4L,EAAwB,CAAC,EAAEA,EAAQ,CAAC,CAAG,GAAG,EAAEC,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAM5E;AAAU,mBAAD,EAAEpJ,EAAU,IAAI,GAAG;YAC1B,EAAEoJ,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAMlC;AAAY,mBAAH,EAAEpJ,EAAU,IAAI,GAAG;YAC1B,EAAEsJ,AAAa/L,KAAAA,IAAb+L,EAAyBA,EAAW;YACtC,EAAEF,AAAU7L,KAAAA,IAAV6L,EAAsBA,EAAQ;AAKlC;AAAY,qBAAH,EAAEpJ,EAAU,IAAI,GAAG;cACxB,EAAEuJ,AAAehM,KAAAA,IAAfgM,EAA2BA,EAAa;aAC3C,CAhCH,AAgCG,EAGL,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAc,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAS,IACxFzM,GAAU;WACL,EAAEkD,EAAU,IAAI,GAAG;YAClB,CAAC,CACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAOlD,CAAAA,GAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,YAAY,CAAC,AAAD,EACjF,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAYA,CAAAA,GAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,YAAY,CAAC,AAAD,EACjG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAYA,CAAAA,GAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,YAAY,CAAC,AAAD,EACrGA,GAAU,CAAC;OACV,CAAC,EAGA,KAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAY,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAc,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAS,IAC3FA,GAAU;WACL,EAAEkD,EAAU,IAAI,GAAG;YAClB,CAAC,CACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAUlD,CAAAA,GAAU,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,YAAY,CAAC,AAAD,EAC3F,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAYA,CAAAA,GAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,YAAY,CAAC,AAAD,EACjG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YAAYA,CAAAA,GAAU,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,YAAY,CAAC,AAAD,EACrGA,GAAU,CAAC;OACV,CAAC,EAGJ,IAAMiH,EAAqB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,cACvCD,EAAmB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACrCD,EAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,aACtCD,EAAkB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WAiD1C,OA/CA9G,GAAU,CAAC,CAAC,EAAEkD,EAAU,IAAI,GAAG;UACzB,CAAC,CACH+D,GAAejH,CAAAA,GAAU,CAAC,gBAAgB,EAAEiH,EAAc,cAAc,CAAC,AAAD,EACxED,GAAahH,CAAAA,GAAU,CAAC,cAAc,EAAEgH,EAAY,cAAc,CAAC,AAAD,EAClED,GAAc/G,CAAAA,GAAU,CAAC,eAAe,EAAE+G,EAAa,cAAc,CAAC,AAAD,EACrED,GAAY9G,CAAAA,GAAU,CAAC,aAAa,EAAE8G,EAAW,cAAc,CAAC,AAAD,EAqCnE9G,GAnCU,CAGC;;WACJ,EAAEkD,EAAU,IAAI,GAMZ;AACqB;;KAA/B,EAAEA,EAAU,IAAI,GAIN;AACsB;;KAAhC,EAAEA,EAAU,IAAI,GAMN;AACgB;;;;KAA1B,EAAEA,EAAU,IAAI,GAMN;AACqB;;;AAK9B;AAAM,KALP,EAAEA,EAAU,IAAI,GAKN;AACc;;;KAAxB,EAAEA,EAAU,IAAI,GAAG;;;KAGnB,CAtCG,AAwCN,CAAE,AAEF,cAAe,KACb,IAAIlD,EAAS,SAIb,CAHI,IAAI,CAAC,KAAK,CAAC,SAAS,EACtBA,CAAAA,EAAS,IAAI,CAAC,KAAK,CAAC,SAAS,AAAD,EAEzB,IAAI,CAAC,KAAK,CAAC,SAAS,EAGzBA,EAAS,CAAC,EAAEA,EAAO,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAG,GAAG,CAAC,CAFzEA,CAIX,CAAE,AAEF,WAAW,QACT,AAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAI,AAAwB,WAAxB,IAAI,CAAC,KAAK,CAAC,SAAS,CACvC,cAEF,MACT,CAEA,uBAAyB,KACvB,GAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,OACvB,GAAM,CAAEE,MAAAA,CAAK,CAAE,CAAG,IAAI,CAAC,KAAK,CACtBmD,EAAOC,EAAAA,WAAoB,CAAC,IAAI,EAChCxB,EAAOuB,EAAK,aAAa,CAAC,wBAC1BQ,EAAQR,EAAK,aAAa,CAAC,sCAC3ByoB,EAAazoB,GAAM,WAAW,SAAS,uBACzCQ,GACFA,EAAM,YAAY,CAAC,UAAW,IAAI,CAAC,KAAK,CAAC,EAAE,EAEzC,CAACioB,IACC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpB,IAAI,CAAC,YAAY,CAAChqB,GAElBA,EAAK,KAAK,CAAC,MAAM,CAAG,OAGlB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UACpB,IAAI,CAAC,eAAe,CAACA,GACZ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAC3BA,EAAK,KAAK,CAAC,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAEzCA,EAAK,KAAK,CAAC,SAAS,CAAG,OAGrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,WACpB,IAAI,CAAC,eAAe,CAACA,IAGrB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OACpB,IAAI,CAAC,WAAW,CAACuB,EAAMnD,GAErB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UACpB,IAAI,CAAC,cAAc,CAACmD,GAElB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACpB,IAAI,CAAC,gBAAgB,CAACvB,EAAM5B,GAG9B,IAAI,CAAC,kBAAkB,CAAC4B,EAAM5B,GAC9B,IAAI,CAAC,YAAY,CAAC4B,EAAM5B,EAC1B,CAAE,AAEF,cAAe,AAAC4B,IACdA,EAAK,KAAK,CAAC,MAAM,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,MAAM,CAC5CA,EAAK,KAAK,CAAC,UAAU,CAAG,QAC1B,CAAE,AAEF,iBAAkB,AAACA,IACjBA,EAAK,KAAK,CAAC,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,SAAS,AACpD,CAAE,AAEF,iBAAkB,AAACA,IACjBA,EAAK,KAAK,CAAC,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,SAAS,AACpD,CAAE,AAEF,kBAAmB,CAACA,EAAmB5B,KACjCA,GAAO,YAAc4B,GAAQA,EAAK,KAAK,EACzCA,CAAAA,EAAK,KAAK,CAAC,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,UAAU,CAAC,QAAQ,EAAC,CAElE,CAAE,AAEF,oBAAqB,CAACA,EAAmB5B,KACnCA,GAAO,eAAiBO,KAAAA,GAC1BqB,CAAAA,EAAK,KAAK,CAAC,YAAY,CAAG,CAAC,EAAE5B,EAAM,YAAY,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE3DA,GAAO,sBAAwBO,KAAAA,GACjCqB,CAAAA,EAAK,KAAK,CAAC,mBAAmB,CAAG,CAAC,EAAE5B,EAAM,mBAAmB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAEzEA,GAAO,uBAAyBO,KAAAA,GAClCqB,CAAAA,EAAK,KAAK,CAAC,oBAAoB,CAAG,CAAC,EAAE5B,EAAM,oBAAoB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE3EA,GAAO,yBAA2BO,KAAAA,GACpCqB,CAAAA,EAAK,KAAK,CAAC,sBAAsB,CAAG,CAAC,EAAE5B,EAAM,sBAAsB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE/EA,GAAO,0BAA4BO,KAAAA,GACrCqB,CAAAA,EAAK,KAAK,CAAC,uBAAuB,CAAG,CAAC,EAAE5B,EAAM,uBAAuB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,CAEvF,CAAE,AAEF,cAAe,CAAC4B,EAAmB5B,KAC7BA,GAAO,QACT4B,CAAAA,EAAK,KAAK,CAAC,MAAM,CAAG5B,EAAM,MAAM,AAAD,EAE7BA,GAAO,cACT4B,CAAAA,EAAK,KAAK,CAAC,YAAY,CAAG5B,EAAM,YAAY,AAAD,EAEzCA,GAAO,aACT4B,CAAAA,EAAK,KAAK,CAAC,WAAW,CAAG5B,EAAM,WAAW,AAAD,EAEvCA,GAAO,aACT4B,CAAAA,EAAK,KAAK,CAAC,WAAW,CAAG5B,EAAM,WAAW,AAAD,EAEvCA,GAAO,aACT4B,CAAAA,EAAK,KAAK,CAAC,WAAW,CAAG5B,EAAM,WAAW,AAAD,EAEvCA,GAAO,gBAAkBO,KAAAA,GAC3BqB,CAAAA,EAAK,KAAK,CAAC,cAAc,CAAG,CAAC,EAAE5B,EAAM,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAE/DA,GAAO,kBAAoBO,KAAAA,GAC7BqB,CAAAA,EAAK,KAAK,CAAC,gBAAgB,CAAG,CAAC,EAAE5B,EAAM,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAEnEA,GAAO,mBAAqBO,KAAAA,GAC9BqB,CAAAA,EAAK,KAAK,CAAC,iBAAiB,CAAG,CAAC,EAAE5B,EAAM,iBAAiB,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,EAErEA,GAAO,iBAAmBO,KAAAA,GAC5BqB,CAAAA,EAAK,KAAK,CAAC,eAAe,CAAG,CAAC,EAAE5B,EAAM,eAAe,CAAC,QAAQ,GAAG,EAAE,CAAC,AAAD,CAEvE,CAAE,AAEF,aAAc,CAACmD,EAAenD,KAC5B,IAAM6rB,EAA6B1oB,EAAK,sBAAsB,CAAC,4BAA4B,CAAC,EAAE,CAC1F0oB,GACFA,CAAAA,EAAc,KAAK,CAAC,KAAK,CAAG7rB,GAAO,KAAI,CAE3C,CAAE,AAEF,gBAAiB,AAACmD,IAChB,IAAMvB,EAAOuB,EAAK,UAAU,AAC5BvB,CAAAA,EAAK,KAAK,CAAC,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,QAAQ,CAChDA,EAAK,KAAK,CAAC,UAAU,CAAG,QAC1B,CAAE,AAEF,UAAW,KACT,IAAM4C,EAAevE,OAAO,KAAK,EAAE,aAC7BJ,EAAa,CAAC,CACpBA,CAAAA,EAAM,aAAa,CAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAC9CA,EAAM,cAAc,CAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAChDA,EAAM,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACtCA,EAAM,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CACxCA,EAAM,OAAO,CAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAClCA,EAAM,QAAQ,CAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAIE,AAAAA,IAAAA,IAAM,CAC9CF,EAAM,WAAW,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAC1CA,EAAM,MAAM,CAAG2E,EAAe,KAAO,EAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAIzE,AAAAA,IAAAA,IAAM,CACpEF,EAAM,SAAS,CAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CACtCA,EAAM,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CACxCA,EAAM,UAAU,CAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CACxCA,EAAM,IAAI,CAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACS,UAAjC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAgB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,GACzEA,CAAAA,EAAM,WAAW,CAAG,IAAI,CAAC,KAAK,CAAC,WAAW,AAAD,EAG3C,IAAIG,EAAyBD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EA4CrD,OA3CIF,EAAM,OAAO,EACf,OAAOA,EAAM,OAAO,CAEjBG,EAIM,CAACA,EAAM,KAAK,EACrBA,CAAAA,EAAM,KAAK,CAAG,IAAI,CAAC,QAAQ,EAAC,EAJ5BA,EAAQ,CACN,MAAO,IAAI,CAAC,QAAQ,EACtB,EAIEA,IACFA,EAAM,MAAM,CAAG,OACf,OAAOA,EAAM,OAAO,CACpB,OAAOA,EAAM,UAAU,CACvB,OAAOA,EAAM,YAAY,CACzB,OAAOA,EAAM,aAAa,CAC1B,OAAOA,EAAM,WAAW,CACxB,OAAOA,EAAM,eAAe,CAC5B,OAAOA,EAAM,iBAAiB,CAC9B,OAAOA,EAAM,gBAAgB,CAC7B,OAAOA,EAAM,cAAc,CAC3B,OAAOA,EAAM,mBAAmB,CAChC,OAAOA,EAAM,oBAAoB,CACjC,OAAOA,EAAM,sBAAsB,CACnC,OAAOA,EAAM,uBAAuB,CACpC,OAAOA,EAAM,eAAe,CAExBA,AAAiB,SAAjBA,EAAM,OAAO,CACfA,EAAM,OAAO,CAAG,OACU,UAAjBA,EAAM,OAAO,EACtBA,CAAAA,EAAM,OAAO,CAAG,aAAY,GAGhCH,EAAM,KAAK,CAAGG,EACK,IAAfH,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEhBA,EAAM,KAAK,EACb,OAAOA,EAAM,KAAK,CAEhB2E,GACF3E,CAAAA,EAAM,iBAAiB,CAAG,AAACisB,GAAgBA,EAAY,UAAU,AAAD,EAE3DjsB,CACT,CAAE,AAEF,YAAa,KACX,IAAM2E,EAAevE,OAAO,KAAK,EAAE,aAC7B8rB,EAAgB,IAAI,CAAC,KAAK,CAAC,aAAa,CACxCC,EAAiB,IAAI,CAAC,KAAK,CAAC,cAAc,CAChD,GAAID,GAAiBC,GAAkBD,EAAc,MAAM,CAAG,GAAKC,EAAe,MAAM,CAAG,EAAG,CAC5F,IAAI7gB,EAAiB,EAAE,CAkCvB,OAjCI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAG,GACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,AAACsD,IAExB,CAAC1O,IAAAA,WAAa,CAAC0O,IACf,CAAC1O,IAAAA,WAAa,CAAC0O,CAAG,CAACsd,EAAe,GAClCtd,AAAwB,OAAxBA,CAAG,CAACud,EAAe,EACnBvd,AAAwBlO,KAAAA,IAAxBkO,CAAG,CAACud,EAAe,EAEnB7gB,EAAQ,IAAI,CAAC,CACX,MAAOsD,CAAG,CAACsd,EAAe,CAC1B,MAAOtd,CAAG,CAACud,EAAe,CAC1B,IAAKvd,CAAG,CAACud,EAAe,AAC1B,EAEJ,GAGE,IAAI,CAAC,KAAK,CAAC,MAAM,GACf,AAAqB,OAArB,IAAI,CAAC,KAAK,CAAC,MAAM,CACnB7gB,EAAUA,EAAQ,IAAI,CAAC,CAACE,EAAGC,IAAMD,GAAG,OAAO,cAAcC,EAAE,KAAK,GAClC,OAArB,IAAI,CAAC,KAAK,CAAC,MAAM,EAC1BH,CAAAA,EAAUA,EAAQ,IAAI,CAAC,CAACE,EAAGC,IAAMA,GAAG,OAAO,cAAcD,EAAE,KAAK,EAAC,GAIjE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7BF,EAAQ,OAAO,CAAC,CACd,MAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAI,GACjC,MAAO,KACP,IAAK,MACP,GAGKA,CACT,CACA,GAAI3G,EAAc,CAChB,IAAI2G,EAAiB,EAAE,CAUvB,OATI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,AAACsJ,IAC1BtJ,EAAQ,IAAI,CAAC,CACX,MAAOsJ,EAAQ,IAAI,EAAIA,EAAQ,KAAK,CACpC,MAAOA,EAAQ,IAAI,EAAIA,EAAQ,KAAK,CACpC,IAAKA,EAAQ,GAAG,EAAIA,EAAQ,KAAK,AACnC,EACF,GAEKtJ,CACT,CAEA,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,AAC3B,CAAE,AAEF,cAAe,IACN,IAAI,CAAC,KAAK,CAAC,KAAK,AACvB,AAEF,UAAW,SAiCLzI,EACAgd,EAjCJ,GAAI,AAAmB,YAAnB,IAAI,CAAC,KAAK,CAAC,IAAI,OACjB,AAAI,AAAqB,KAArB,IAAI,CAAC,KAAK,CAAC,KAAK,CACX,EAAE,CAEP,AAA4B,UAA5B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAClB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAEzB,IAAI,CAAC,KAAK,CAAC,KAAK,CAEzB,GAAI,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,CAAW,KAC9Bhd,EACJ,IAAMyI,EAAU,IAAI,CAAC,UAAU,GAS/B,OARIA,GAAWA,EAAQ,MAAM,EAC3BA,EAAQ,OAAO,CAAC,AAACsJ,IACXA,CAAAA,EAAQ,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAIA,EAAQ,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,YAAY,AAAD,GAE9E/R,CAAAA,EAAQ+R,EAAQ,KAAK,AAAD,CAExB,GAEK/R,CACT,CAEA,GAAIzC,OAAO,KAAK,EAAE,iBAAmB,GAAM,CAAqB,KAArB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAW,AAAqBM,KAAAA,IAArB,IAAI,CAAC,KAAK,CAAC,KAAK,AAAa,EAEjG,OAGF,GAAI,CAAEmF,YAAAA,CAAW,CAAE,CAAG,IAAI,CAAC,KAAK,AACN,MAAtB,IAAI,CAAC,YAAY,EACnBA,CAAAA,EAAc,EAAC,EAIjB,IAAMyF,EAAU,IAAI,CAAC,UAAU,GAuC/B,GAtCIA,GAAWA,EAAQ,MAAM,EAC3BA,EAAQ,OAAO,CAAC,AAACsJ,IACXA,GAAWA,EAAQ,KAAK,EAAIA,EAAQ,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAE/D/R,EAAQ+R,EACRiL,EAAOjL,EAAQ,KAAK,CAExB,GAEWlU,KAAAA,IAATmf,GAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAI,AAAwB,IAAxB,IAAI,CAAC,cAAc,GAC/D,IAAI,CAAC,cAAc,CAAG,EACtB,IAAI,CAAC,WAAW,CAAG,GACnB,IAAI,CAAC,YAAY,CAAC,CAAE,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,MAAOA,EAAM,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,IAEpEnf,KAAAA,IAAVmC,GAAuB,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,EAExBnC,KAAAA,GAApB,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAG,GACrC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC1B,CAA2BA,KAAAA,IAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAkB,AAA2B,KAA3B,IAAI,CAAC,KAAK,CAAC,WAAW,AAAM,GACrE,AAAwB,IAAxB,IAAI,CAAC,cAAc,GAEnB,IAAI,CAAC,cAAc,GACnB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAG5Cmf,CAAAA,AAASnf,KAAAA,IAATmf,GAAsBA,AAAS,KAATA,CAAU,IAEhCha,GACAA,EAAY,MAAM,CAAG,GACrB,AAAwB,IAAxB,IAAI,CAAC,cAAc,EAClB,CAAqBnF,KAAAA,IAArB,IAAI,CAAC,WAAW,EAAkB,AAAqB,KAArB,IAAI,CAAC,WAAW,AAAM,IAEzD,IAAI,CAAC,cAAc,GACnB,IAAI,CAAC,aAAa,CAACmF,IAErBga,EAAOha,GAEL,AAAoBnF,KAAAA,GAApB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAiBmf,AAAQnf,KAAAA,GAARmf,EAGrC,MAAO,CAAE,IAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,MAAOA,EAAM,MAAO,IAAI,CAAC,KAAK,CAAC,KAAK,AAAC,CACvE,CAAE,AAEF,gBAAyB,CAAE,AAE3B,aAAc,EAAG,AAEjB,cAAwB,EAAM,AAE9B,gBAAiB,IACR,IAAI,CAAC,WAAW,AACvB,AAEF,eAAgB6L,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,AAAC7oB,GAAU,IAAI,CAAC,YAAY,CAACA,GAAQ,GAAI,AAElE,cAAe,AAACA,IACd,IAAI,CAAC,YAAY,CAAG,GACpB,IAAI,CAAC,WAAW,CAAGA,EACf,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAExB,CAAE,AAEF,wBAAyB,AAACA,IACpB,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAACA,EAEhC,CAAE,AAEF,cAAe,AAACA,IACd,IAAM8B,EAAevE,OAAO,KAAK,EAAE,aAQnC,GAPcM,KAAAA,IAAVmC,IACF,IAAI,CAAC,WAAW,CAAG,GACnB,IAAI,CAAC,YAAY,CAAG,GAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,EACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACnC,KAAAA,IAGpB,AAAmB,YAAnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CACjC,GAAIiE,EAAc,OAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC9B,EACtB,MAAO,GAAIA,AAAUnC,KAAAA,IAAVmC,GAAuBA,EAAM,GAAG,EAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAACA,EAAM,GAAG,OACxB,GAAIA,AAAUnC,KAAAA,IAAVmC,GAAuB,IAAI,CAAC,KAAK,EAAE,SAAU,CACtD,GAAI8B,EAAc,OAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC9B,EACtB,CACF,CAAE,AAEF,SAAoB,CAClB,MACE,sB,SACG,AAA0B,KAA1B,IAAI,CAAC,KAAK,CAAC,UAAU,CACpB,UAACupB,EAAeA,CACd,MAAO,IAAI,CAAC,QAAQ,GACpB,kBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,CAC3D,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,UAAU,GACxB,oBAAqB,IAAI,CAAC,YAAY,CACtC,iBAAkB,IAAI,CAAC,sBAAsB,CAC7C,UAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CACxD,SAAU,IAAI,CAAC,YAAY,A,GAG7B,UAAC1Q,EAAAA,CAAMA,CAAAA,CACL,aAAc,CAAC5X,EAAOmF,IAEbA,GAAQ,OAAO,eAAe,QAAQnF,GAAO,gBAAkB,EAExE,WAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CACjC,MAAO,IAAI,CAAC,QAAQ,GACnB,GAAG,IAAI,CAAC,QAAQ,EAAE,CACnB,QAAS,IAAI,CAAC,UAAU,GACxB,UAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CACxD,eAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,CACzD,SAAU,IAAI,CAAC,YAAY,A,IAKrC,CACF,CAEA,IAAM+nB,EAAarrB,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiBqI,G,gBCppBpC,OAAMwjB,UAActsB,EAAAA,aAAaA,CAC/B,YAAYC,CAAkB,CAAE,CAC9B,KAAK,CAACA,GACN,IAAI,CAAC,KAAK,CAAG,CAAC,CAChB,CAEA,SAAW,KACT,IAAIC,EAAc,CAAC,EAOnB,OANI,IAAI,CAAC,KAAK,EAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAChCA,CAAAA,EAASC,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,IACbD,EAAO,KAAK,EACxB,OAAOA,EAAO,KAAK,CAGhBA,CACT,CAAE,AAEF,cAAe,KACb,IAAIE,EAAa,CAAC,EAYlB,OAVI,IAAI,CAAC,KAAK,CAAC,KAAK,GAClBA,EAAQD,IAAAA,KAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,YACpB,OAAOC,EAAM,UAAU,EAGvB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAC9BA,CAAAA,EAAM,MAAM,CAAG,SAAQ,EAEzBA,EAAM,aAAa,CAAG,SACfA,CACT,CAAE,AAEF,SAAoB,QAClB,AAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAEpB,sB,SACE,UAACG,EAAAA,CAAOA,CAAAA,CAAC,MAAO,IAAI,CAAC,KAAK,CAAC,SAAS,C,SAClC,UAAC,KAAE,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAU,uB,SAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,A,QAM1B,IAAI,CAAC,KAAK,CAAC,OAAO,EACpB,CAAG,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,C,SAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,A,EAItB,sB,SACE,UAAC,KAAE,MAAO,IAAI,CAAC,YAAY,GAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAE,UAAU,uB,SAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,A,KAI5B,CACF,CAEcE,AAAAA,GAAAA,EAAAA,CAAAA,AAAAA,EAAiB6rB,E"}