@kne/table-page 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/dayjs/dayjs.min.js","../src/formatView.js","../src/globalParams.js","../src/renderType/default.js","../src/Ellipsis.js","../src/renderType/main.js","../src/renderType/amount.js","../src/renderType/tagUtils.js","../src/renderType/tag.js","../src/renderType/tagList.js","../src/renderType/list.js","../src/TableView/columnWidth.js","../src/renderType/options.js","../src/renderType/enum.js","../src/renderType/description.js","../src/renderType/index.js","../src/columnRenderType.js","../src/computeColumnsValue.js","../src/useSelectedRow.js","../src/useSort.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ColumnsControlContent.js","../src/tableLocalApis.js","../src/columnConfigExtra.js","../src/useTableConfig.js","../src/useGroupHeader.js","../src/useElementWidth.js","../src/renderCellContent.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.js","../src/TablePage/scrollUtils.js","../src/TablePage/HorizontalScroller.js","../src/TablePage/TableToolbar.js","../src/TablePage/index.js","../src/preset.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs';\nimport { isEmpty } from '@kne/is-empty';\nimport groupBy from 'lodash/groupBy';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\n\nexport const calcArgs = (args, template) => {\n const { attr, normal } = groupBy(args, item => (/^.+:.+$/.test(item) ? 'attr' : 'normal'));\n const output = {};\n\n const typeTransform = (value, type) => {\n if (type === 'string') {\n return String(value);\n }\n if (type === 'number') {\n return Number(value);\n }\n if (type === 'boolean') {\n return value === 'true';\n }\n return value;\n };\n\n (normal || []).forEach((target, index) => {\n const currentTemplate = Object.assign({}, { type: 'string', defaultValue: '' }, get(template, index));\n if (currentTemplate.name && target) {\n output[currentTemplate.name] = typeTransform(target, currentTemplate.type);\n }\n });\n\n (attr || []).forEach(target => {\n const [key, value] = target.split(':');\n const currentTemplate = template.find(item => item.name === key);\n if (!currentTemplate) {\n return;\n }\n const { name, type } = Object.assign({}, { type: 'string', defaultValue: '' }, currentTemplate);\n output[name] = typeTransform(value, type);\n });\n\n return Object.assign(\n {},\n transform(\n template,\n (result, value) => {\n if (value.name && value.hasOwnProperty('defaultValue')) {\n result[value.name] = value.defaultValue;\n }\n },\n {}\n ),\n output\n );\n};\n\nexport const defaultFormat = {\n date: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD';\n return dayjs(value).format(template);\n },\n datetime: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD HH:mm:ss';\n return dayjs(value).format(template);\n },\n dateRange: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD',\n allowNull = args[1];\n if (!isEmpty(value[0]) && !isEmpty(value[1])) {\n return `${dayjs(value[0]).format(template)}~${dayjs(value[1]).format(template)}`;\n }\n if (allowNull === 'allow' && !isEmpty(value[0])) {\n return `${dayjs(value[0]).format(template)}以后`;\n }\n if (allowNull === 'allow' && !isEmpty(value[1])) {\n return `${dayjs(value[1]).format(template)}以前`;\n }\n return '';\n },\n boolean: (value, { args }) => {\n const trueValue = args[0] || 'true';\n if ((value || '').toString() === trueValue) {\n return '是';\n }\n return '否';\n },\n number: (value, { args }) => {\n const { style, unit, maximumFractionDigits, useGrouping, roundingMode, suffix } = calcArgs(args, [\n {\n name: 'style',\n type: 'string',\n defaultValue: 'decimal'\n },\n {\n name: 'unit',\n type: 'number',\n defaultValue: 1\n },\n {\n name: 'maximumFractionDigits',\n type: 'number',\n defaultValue: 2\n },\n {\n name: 'useGrouping',\n type: 'boolean',\n defaultValue: true\n },\n {\n name: 'roundingMode',\n type: 'string',\n defaultValue: 'halfExpand'\n },\n {\n name: 'suffix',\n type: 'string',\n defaultValue: ''\n }\n ]);\n\n return (\n new Intl.NumberFormat(\n {},\n {\n style,\n maximumFractionDigits,\n roundingMode,\n useGrouping\n }\n ).format(value / unit) + suffix\n );\n },\n money: (value, { args }) => {\n const unit = args[0] || '元';\n return `${value}${unit}`;\n }\n};\n\nconst formatView = (value, format, context) => {\n if (!format) {\n return value;\n }\n const formatList = format.split(' ').filter(item => !!item);\n if (formatList.length > 0) {\n return formatList.reduce((value, format) => {\n const [name, ...args] = format.split('-');\n if (typeof defaultFormat[name] === 'function') {\n return defaultFormat[name](\n value,\n Object.assign({}, context, {\n args: args.map(item => {\n return item && item.replace(/\\(\\)/g, ' ').replace(/\\(_\\)/g, '-');\n })\n })\n );\n }\n return value;\n }, value);\n }\n};\n\nexport default formatView;\n","export const globalParams = {\n renderType: null,\n renderTypeSize: {},\n tagTypeColors: {}\n};\n","const defaultRender = value => value;\n\nexport default defaultRender;\n","import React from 'react';\nimport { Typography } from 'antd';\nimport style from './ellipsis.module.scss';\n\nconst Ellipsis = ({ children, ellipsis }) => {\n if (!ellipsis) {\n return children;\n }\n\n const userConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const { showTitle, ...rest } = userConfig;\n\n return (\n <Typography.Text\n className={style['ellipsis']}\n ellipsis={Object.assign(\n {},\n {\n tooltip:\n showTitle === false\n ? false\n : {\n rootClassName: style['tooltip']\n }\n },\n rest\n )}\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import React from 'react';\nimport { Tooltip } from 'antd';\nimport classnames from 'classnames';\nimport Ellipsis from '../Ellipsis';\nimport ellipsisStyle from '../ellipsis.module.scss';\nimport style from './main.module.scss';\n\nconst main = (value, { column, dataSource } = {}) => {\n const { ellipsis = true, hover = true, primary = true, onClick } = column || {};\n\n if (!hover && !primary && !onClick) {\n return <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>;\n }\n\n const ellipsisConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const showTooltip = ellipsis && ellipsisConfig.showTitle !== false;\n\n const text = (\n <span\n className={classnames(style['text'], ellipsis && style['ellipsis'], {\n [style['hover']]: hover,\n [style['primary']]: primary\n })}\n onClick={onClick ? e => onClick({ item: value, colItem: dataSource, event: e }) : undefined}\n >\n {value}\n </span>\n );\n\n if (!showTooltip) {\n return text;\n }\n\n return (\n <Tooltip title={value} rootClassName={ellipsisStyle['tooltip']}>\n {text}\n </Tooltip>\n );\n};\n\nexport default main;\n","import React from 'react';\nimport Ellipsis from '../Ellipsis';\nimport style from './amount.module.scss';\n\nconst amount = (value, { column } = {}) => {\n const { ellipsis = true } = column || {};\n\n return (\n <span className={style['amount']}>\n <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>\n </span>\n );\n};\n\nexport default amount;\n","import React from 'react';\nimport { Space, Tag } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_TAG_TYPE_COLORS = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'blue',\n other: 'purple',\n skill: 'default',\n result: 'default',\n filterResult: 'cyan',\n completed: 'success',\n pending: 'warning',\n high: 'error',\n medium: 'warning',\n low: 'default'\n};\n\nexport const getTagColor = type => {\n if (!type) {\n return 'default';\n }\n const customColors = globalParams.tagTypeColors || {};\n return customColors[type] || DEFAULT_TAG_TYPE_COLORS[type] || type;\n};\n\nexport const normalizeTagItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderTagItem = (item, key) => {\n const tag = normalizeTagItem(item);\n if (!tag || (tag.text == null && tag.children == null)) {\n return null;\n }\n\n const { text, type, color, children, ...rest } = tag;\n\n return (\n <Tag key={key} color={color ?? getTagColor(type)} {...rest}>\n {children ?? text}\n </Tag>\n );\n};\n\nexport const renderTagList = value => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n return (\n <Space size={[4, 4]} wrap>\n {value.map((item, index) => renderTagItem(item, index))}\n </Space>\n );\n};\n","import { renderTagItem } from './tagUtils';\n\nconst tag = value => renderTagItem(value);\n\nexport default tag;\n","import { renderTagList } from './tagUtils';\n\nconst tagList = value => renderTagList(value);\n\nexport default tagList;\n","const DEFAULT_SPLIT = ',';\n\nconst normalizeListValue = value => {\n if (Array.isArray(value)) {\n return { items: value, split: undefined };\n }\n if (value && typeof value === 'object') {\n const items = value.items ?? value.list ?? value.value;\n if (Array.isArray(items)) {\n return { items, split: value.split };\n }\n }\n return null;\n};\n\nconst getListItemText = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'object') {\n return item.text ?? item.label ?? item.children ?? item.value;\n }\n return item;\n};\n\nconst list = (value, { column } = {}) => {\n const normalized = normalizeListValue(value);\n if (!normalized) {\n return value == null ? null : value;\n }\n\n const split = normalized.split ?? column?.split ?? DEFAULT_SPLIT;\n const text = normalized.items\n .map(getListItemText)\n .filter(item => item != null && item !== '')\n .join(split);\n\n return text || null;\n};\n\nexport default list;\n","import { resolveColumnDimensions } from '../columnRenderType';\n\nexport const SELECTION_CHECKBOX_WIDTH = 48;\nexport const SELECTION_RADIO_WIDTH = 30;\nexport const DEFAULT_COLUMN_WIDTH = 300;\n\nexport const parseColumnWidth = width => {\n if (width == null) {\n return 0;\n }\n if (typeof width === 'number' && !Number.isNaN(width)) {\n return width;\n }\n if (typeof width === 'string') {\n const trimmed = width.trim();\n const pxMatch = trimmed.match(/^([\\d.]+)px$/i);\n if (pxMatch) {\n return parseFloat(pxMatch[1]);\n }\n const num = parseFloat(trimmed);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return 0;\n};\n\nexport const getResolvedColumnWidth = column => resolveColumnDimensions(column).width;\n\nexport const hasColumnSpan = column => column.span != null;\n\nexport const getConfiguredColumnWidthPx = column => parseColumnWidth(column.width != null ? column.width : getResolvedColumnWidth(column));\n\nexport const usesDefaultColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (column.width != null) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return false;\n }\n return !columns.some(hasColumnSpan);\n};\n\nexport const hasColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return true;\n }\n return usesDefaultColumnWidth(column, columns);\n};\n\nexport const shouldLastColumnFillRemaining = columns => !columns.some(hasColumnSpan);\n\nexport const getColumnWidthPx = (column, colsSize = {}, columns = []) => {\n if (hasColumnSpan(column)) {\n return colsSize[column.name] || 0;\n }\n const configured = getConfiguredColumnWidthPx(column);\n if (configured > 0) {\n return configured;\n }\n if (usesDefaultColumnWidth(column, columns)) {\n const measured = colsSize[column.name] || 0;\n return Math.max(DEFAULT_COLUMN_WIDTH, measured);\n }\n return colsSize[column.name] || 0;\n};\n\nexport const formatColumnWidthPx = px => `${px}px`;\n\nexport const getColumnTrackSize = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n if (hasColumnWidth(column, columns)) {\n if (isLastColumn && shouldLastColumnFillRemaining(columns)) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n return `${widthPx}px`;\n }\n if (widthPx > 0) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n const span = column.span ?? defaultSpan ?? 1;\n return `minmax(0, ${span}fr)`;\n};\n\nexport const getGridTemplateColumns = (columns, { defaultSpan, colsSize, rowSelection } = {}) => {\n const tracks = [];\n const lastColumnIndex = columns.length - 1;\n\n if (rowSelection?.type === 'checkbox') {\n tracks.push(`${SELECTION_CHECKBOX_WIDTH}px`);\n }\n\n columns.forEach((column, index) => {\n tracks.push(\n getColumnTrackSize(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === lastColumnIndex,\n columns\n })\n );\n });\n\n if (rowSelection?.type === 'radio') {\n tracks.push(`${SELECTION_RADIO_WIDTH}px`);\n }\n\n return tracks.join(' ');\n};\n\nexport const getColumnLayout = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthBased = hasColumnWidth(column, columns);\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n const fillRemaining = isLastColumn && widthBased && shouldLastColumnFillRemaining(columns);\n\n return {\n widthBased,\n fillRemaining,\n style: {\n '--col-width': formatColumnWidthPx(widthPx),\n '--col-align': column.align || 'top',\n '--col-justify': column.justify || 'flex-start'\n }\n };\n};\n","import React from 'react';\nimport classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport '@kne/button-group/dist/index.css';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport style from './options.module.scss';\n\nconst normalizeOptionItem = (item, buttonClassName) => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'function') {\n return item;\n }\n if (typeof item === 'string') {\n return { children: item, type: 'link', className: buttonClassName };\n }\n const { children, label, text, className, ...rest } = item;\n return {\n type: 'link',\n ...rest,\n className: classnames(buttonClassName, className),\n children: children ?? label ?? text\n };\n};\n\nconst options = (value, { column } = {}) => {\n let list = value;\n let buttonGroupProps = column?.buttonGroup || {};\n\n if (value && typeof value === 'object' && !Array.isArray(value) && Array.isArray(value.list)) {\n const { list: valueList, ...rest } = value;\n list = valueList;\n buttonGroupProps = { ...buttonGroupProps, ...rest };\n }\n\n if (!Array.isArray(list) || list.length === 0) {\n return null;\n }\n\n const wrapperClassName = classnames(style['col-item'], style['options']);\n const buttonClassName = classnames(wrapperClassName, style['options-btn']);\n const normalizedList = list.map(item => normalizeOptionItem(item, buttonClassName)).filter(item => item != null && !item.hidden);\n\n if (normalizedList.length === 0) {\n return null;\n }\n\n const width = parseColumnWidth(column?.width);\n\n return (\n <div className={classnames(wrapperClassName, style['options-column'])} style={width > 0 ? { '--max-width': `${width}px` } : undefined}>\n <ButtonGroup moreType=\"link\" itemClassName=\"btn-no-padding\" list={normalizedList} {...buttonGroupProps} />\n </div>\n );\n};\n\nexport default options;\n","import tag from './tag';\n\nconst enumRender = value => tag(value);\n\nexport default enumRender;\n","const description = value => value;\n\nexport default description;\n","import defaultRender from './default';\nimport main from './main';\nimport amount from './amount';\nimport tag from './tag';\nimport tagList from './tagList';\nimport list from './list';\nimport options from './options';\nimport enumRender from './enum';\nimport description from './description';\nimport { globalParams } from '../globalParams';\n\nconst renderType = {\n default: defaultRender,\n main,\n amount,\n tag,\n tagList,\n list,\n options,\n enum: enumRender,\n description\n};\n\nglobalParams.renderType = renderType;\n\nexport default renderType;\n\nexport { getTagColor, normalizeTagItem, renderTagItem, renderTagList } from './tagUtils';\n","import { globalParams } from './globalParams';\nimport './renderType';\n\nexport const SIZE_NAMES = ['short', 'small', 'large'];\n\nconst typeSize = {\n main: {\n width: 300,\n min: 160,\n max: 500,\n ellipsis: true\n },\n amount: {\n width: 140,\n min: 100,\n max: 300,\n ellipsis: true\n },\n options: {\n width: 180,\n min: 120,\n max: 400\n },\n enum: {\n width: 140,\n min: 100,\n max: 400\n },\n tag: {\n width: 140,\n min: 100,\n max: 400\n },\n tagList: {\n width: 300,\n min: 160,\n max: 500\n },\n list: {\n width: 200,\n min: 120,\n max: 400,\n ellipsis: true\n },\n description: {\n width: 400,\n min: 160,\n max: 600,\n ellipsis: true\n }\n};\n\nconst SIZE_CONFIG = {\n short: {\n width: 120,\n min: 100,\n max: 400\n },\n small: {\n width: 100,\n min: 70,\n max: 400\n },\n default: {\n width: 300,\n min: 160,\n max: 500\n },\n large: {\n width: 300,\n min: 120,\n max: 500\n }\n};\n\nconst getRenderTypeRegistry = () => {\n const { default: defaultRender, ...renderers } = globalParams.renderType || {};\n return { defaultRender, renderers };\n};\n\nexport const getRenderTypeNames = () => Object.keys(getRenderTypeRegistry().renderers);\n\nexport const RENDER_TYPE_NAMES = getRenderTypeNames();\n\nconst getRender = type => {\n const { defaultRender, renderers } = getRenderTypeRegistry();\n return renderers[type] || defaultRender;\n};\n\nexport const getColumnRender = column => {\n if (typeof column?.render === 'function') {\n return column.render;\n }\n const { type } = parseRenderType(column?.renderType);\n if (!type) {\n return null;\n }\n return getRender(type);\n};\n\nconst getTypeConfigMap = () => {\n const extraTypeSize = globalParams.renderTypeSize || {};\n\n return getRenderTypeNames().reduce((result, key) => {\n result[key] = Object.assign({}, typeSize[key], extraTypeSize[key], { render: getRender(key) });\n return result;\n }, {});\n};\n\nconst pickDimension = (columnValue, typeValue, sizeValue) => {\n if (columnValue != null) {\n return columnValue;\n }\n if (sizeValue != null) {\n return sizeValue;\n }\n if (typeValue != null) {\n return typeValue;\n }\n return undefined;\n};\n\nexport const parseRenderType = renderTypeValue => {\n if (!renderTypeValue || typeof renderTypeValue !== 'string') {\n return { type: null, size: null };\n }\n\n const renderTypeNames = getRenderTypeNames();\n let type = null;\n let size = null;\n\n renderTypeValue.split('-').forEach(part => {\n if (!part) {\n return;\n }\n if (renderTypeNames.includes(part)) {\n type = part;\n return;\n }\n if (SIZE_NAMES.includes(part)) {\n size = part;\n }\n });\n\n return { type, size };\n};\n\nexport const getRenderTypeDimensions = renderTypeValue => {\n const { type, size } = parseRenderType(renderTypeValue);\n const typeConfigMap = getTypeConfigMap();\n const typeConfig = type ? typeConfigMap[type] : null;\n const sizeConfig = size ? SIZE_CONFIG[size] : null;\n\n if (!typeConfig && !sizeConfig) {\n return null;\n }\n\n return {\n type,\n size,\n typeConfig,\n sizeConfig,\n render: typeConfig?.render,\n ellipsis: typeConfig?.ellipsis\n };\n};\n\nexport const resolveColumnDimensions = column => {\n const renderTypeDimensions = column?.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const typeConfig = renderTypeDimensions?.typeConfig;\n const sizeConfig = renderTypeDimensions?.sizeConfig;\n\n return {\n width: pickDimension(column?.width, typeConfig?.width, sizeConfig?.width),\n min: pickDimension(column?.min, typeConfig?.min, sizeConfig?.min),\n max: pickDimension(column?.max, typeConfig?.max, sizeConfig?.max)\n };\n};\n\nexport const resolveRenderType = renderTypeValue => {\n const renderTypeDimensions = getRenderTypeDimensions(renderTypeValue);\n if (!renderTypeDimensions) {\n return null;\n }\n\n const { type, size, render, ellipsis, typeConfig, sizeConfig } = renderTypeDimensions;\n\n return {\n type,\n size,\n render,\n ellipsis,\n width: sizeConfig?.width ?? typeConfig?.width,\n min: sizeConfig?.min ?? typeConfig?.min,\n max: sizeConfig?.max ?? typeConfig?.max\n };\n};\n\nconst ELLIPSIS_HANDLED_TYPES = ['main', 'amount'];\nconst FULL_WIDTH_CELL_TYPES = ['options'];\n\nexport const resolveColumn = column => {\n if (!column) {\n return column;\n }\n\n const renderTypeDimensions = column.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const { width, min, max } = resolveColumnDimensions(column);\n const { ellipsis, type } = renderTypeDimensions || {};\n const renderFn = getColumnRender(column);\n\n return Object.assign({}, column, {\n ...(renderFn && typeof column.render !== 'function' ? { render: renderFn } : {}),\n ...(column.width == null && width != null ? { width } : {}),\n ...(column.min == null && min != null ? { min } : {}),\n ...(column.max == null && max != null ? { max } : {}),\n ...(column.ellipsis == null && ellipsis != null ? { ellipsis } : {}),\n ...(type && ELLIPSIS_HANDLED_TYPES.includes(type) ? { ellipsisHandledByRender: true } : {}),\n ...(type && FULL_WIDTH_CELL_TYPES.includes(type) ? { cellFullWidth: true } : {}),\n ...(column.type === 'options' && !type ? { cellFullWidth: true } : {}),\n ...(type === 'options' && column.type !== 'options' ? { type: 'options' } : {})\n });\n};\n\nexport const resolveColumns = columns => (columns || []).map(resolveColumn);\n\nexport const isOptionsColumn = column => {\n if (column?.type === 'options') {\n return true;\n }\n return parseRenderType(column?.renderType).type === 'options';\n};\n","import get from 'lodash/get';\nimport formatView from './formatView';\nimport { getColumnRender } from './columnRenderType';\n\nconst computeColumnsValue = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty = true, dataSource, context }) => {\n return (output => (removeEmpty ? output.filter(item => !!item) : output))(\n columns.map(item => {\n const itemValue = typeof item.getValueOf === 'function' ? item.getValueOf(dataSource, { column: item, context }) : get(dataSource, item.name);\n const displayValue = (value => {\n if (typeof item.format === 'function') {\n return item.format(value, { dataSource, column: item, context });\n }\n if (typeof item.format === 'string') {\n const formatValue = formatView(value, item.format, { dataSource, column: item, context });\n if (formatValue) {\n return formatValue;\n }\n }\n return value;\n })(itemValue);\n\n const itemIsEmpty = (item.valueIsEmpty || valueIsEmpty)(itemValue);\n\n if (\n item.display === false ||\n (typeof item.display === 'function' &&\n item.display(itemValue, {\n dataSource,\n column: item,\n context\n }) === false)\n ) {\n return null;\n }\n\n if (!(item.hasOwnProperty('emptyIsPlaceholder') ? item.emptyIsPlaceholder : emptyIsPlaceholder) && itemIsEmpty) {\n return null;\n }\n\n return Object.assign({}, item, { isEmpty: itemIsEmpty, value: displayValue });\n })\n );\n};\n\nexport const computeDisplay = ({ column, dataSource, placeholder, context }) => {\n if (column.isEmpty) {\n return typeof column.renderPlaceholder === 'function'\n ? column.renderPlaceholder({\n column: column,\n dataSource,\n placeholder,\n context\n })\n : column.placeholder || placeholder;\n }\n\n const render = getColumnRender(column);\n\n return typeof render === 'function'\n ? render(column.value, {\n column,\n dataSource,\n context\n })\n : column.value;\n};\n\nexport const computeColumnsDisplay = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, placeholder, context }) => {\n return computeColumnsValue({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, context }).map(column => {\n return computeDisplay({ column, placeholder, dataSource, context });\n });\n};\n\ncomputeColumnsValue.computeDisplay = computeDisplay;\ncomputeColumnsValue.computeColumnsDisplay = computeColumnsDisplay;\n\nexport default computeColumnsValue;\n","import { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\n\nconst useSelectedRow = options => {\n const { rowKey, type = 'checkbox' } = Object.assign({}, { rowKey: 'id' }, options);\n const [selectedRows, setSelectedRows] = useState([]);\n\n const getRowId = useCallback(item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey), [rowKey]);\n\n const selectedRowKeys = useMemo(() => selectedRows.map(getRowId), [getRowId, selectedRows]);\n\n const setSelectedRowKeys = useCallback(\n (keys, dataSource = []) => {\n const keySet = new Set(keys || []);\n setSelectedRows((dataSource || []).filter(item => keySet.has(getRowId(item))));\n },\n [getRowId]\n );\n\n const clearSelectedRows = useCallback(() => {\n setSelectedRows([]);\n }, []);\n\n const onSelectAll = useCallback(\n (checked, _selected, items) => {\n const ids = (items || []).map(getRowId);\n if (checked) {\n setSelectedRows(value => {\n const existingKeys = value.map(getRowId);\n return [...value, ...(items || []).filter(item => existingKeys.indexOf(getRowId(item)) === -1)];\n });\n } else {\n setSelectedRows(value => {\n return value.filter(item => ids.indexOf(getRowId(item)) === -1);\n });\n }\n },\n [getRowId]\n );\n\n const onSelect = useCallback(\n (item, checked) => {\n if (checked) {\n if (type === 'radio') {\n setSelectedRows([item]);\n return;\n }\n setSelectedRows(value => {\n const newValue = value.slice(0);\n newValue.push(item);\n return newValue;\n });\n } else {\n setSelectedRows(value => {\n const newValue = value.slice(0);\n const index = newValue.findIndex(row => getRowId(row) === getRowId(item));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n return newValue;\n });\n }\n },\n [getRowId, type]\n );\n\n const getRowSelection = useCallback(\n (dataSource, extra = {}) => {\n const onChange = (keys, id, meta) => {\n setSelectedRowKeys(keys, dataSource);\n extra.onChange && extra.onChange(keys, id, meta);\n };\n\n return Object.assign(\n {\n type,\n selectedRowKeys,\n allowSelectedAll: type === 'checkbox',\n onChange\n },\n extra\n );\n },\n [selectedRowKeys, setSelectedRowKeys, type]\n );\n\n return {\n type,\n selectedRowKeys,\n selectedRows,\n onSelectAll,\n onSelect,\n setSelectedRows,\n setSelectedRowKeys,\n clearSelectedRows,\n getRowSelection\n };\n};\n\nexport default useSelectedRow;\n","import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport clone from 'lodash/clone';\nimport { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\nimport style from './sort.module.scss';\n\nconst sortArrayToMap = sort =>\n new Map(\n (sort || []).map(item => {\n return [item.name, item.sort];\n })\n );\n\nconst useControlValue = ({ value, defaultValue, onChange }) => {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = useCallback(\n updater => {\n const nextValue = typeof updater === 'function' ? updater(currentValue) : updater;\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onChange && onChange(nextValue);\n },\n [currentValue, isControlled, onChange]\n );\n\n return [currentValue, setValue];\n};\n\nconst compareValues = (a, b, direction) => {\n const emptyA = a == null || a === '';\n const emptyB = b == null || b === '';\n if (emptyA && emptyB) {\n return 0;\n }\n if (emptyA) {\n return 1;\n }\n if (emptyB) {\n return -1;\n }\n if (typeof a === 'number' && typeof b === 'number') {\n return direction === 'ASC' ? a - b : b - a;\n }\n const strA = String(a);\n const strB = String(b);\n return direction === 'ASC' ? strA.localeCompare(strB, 'zh-CN') : strB.localeCompare(strA, 'zh-CN');\n};\n\nexport const sortDataSource = (dataSource, sort = [], columns = []) => {\n if (!sort?.length || !dataSource?.length) {\n return dataSource;\n }\n const columnMap = new Map(columns.map(column => [column.name, column]));\n return [...dataSource].sort((a, b) => {\n for (const { name, sort: direction } of sort) {\n const column = columnMap.get(name) || { name };\n const aVal = typeof column.getValueOf === 'function' ? column.getValueOf(a, { column }) : get(a, name);\n const bVal = typeof column.getValueOf === 'function' ? column.getValueOf(b, { column }) : get(b, name);\n const result = compareValues(aVal, bVal, direction);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n });\n};\n\nexport const getSortSingle = sortOption => {\n if (typeof sortOption === 'object') {\n return sortOption.single !== false;\n }\n return true;\n};\n\nexport const renderColumnTitle = (title, column, sortRender) => {\n if (!column.sort || typeof sortRender !== 'function') {\n return title;\n }\n return (\n <span className={classnames(style['title'], style['has-sort'])}>\n <span className={style['title-text']}>{title}</span>\n {sortRender({\n name: column.name,\n single: getSortSingle(column.sort)\n })}\n </span>\n );\n};\n\nconst useSort = props => {\n const [sort, setSort] = useControlValue({\n value: props.sort,\n defaultValue: props.defaultSort || [],\n onChange: props.onSortChange\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n callback => {\n return setSort(currentSort => {\n const newSort = callback(sortArrayToMap(currentSort));\n return Array.from(newSort).map(([name, sortValue]) => ({ name, sort: sortValue }));\n });\n },\n [setSort]\n );\n\n const sortRender = useCallback(\n ({ single, name }) => {\n const direction = mapSort.get(name);\n return (\n <span\n className={style['sort-btn']}\n onClick={e => {\n e.stopPropagation();\n setMapSort(sortMap => {\n const current = sortMap.get(name);\n const targetValue = (() => {\n if (current === 'DESC') {\n return 'ASC';\n }\n if (current === 'ASC') {\n return null;\n }\n return 'DESC';\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sortMap);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <CaretUpOutlined\n className={classnames(style['sort-icon'], style['sort-up'], {\n [style['active']]: direction === 'ASC'\n })}\n />\n <CaretDownOutlined\n className={classnames(style['sort-icon'], style['sort-down'], {\n [style['active']]: direction === 'DESC'\n })}\n />\n </span>\n );\n },\n [mapSort, setMapSort]\n );\n\n return {\n sort,\n setSort,\n sortRender\n };\n};\n\nuseSort.sortDataSource = sortDataSource;\n\nexport default useSort;\n","const locale = {\n TotalText: '共',\n ItemText: '条',\n UnnamedColumn: '未命名列',\n EditTable: '编辑表格',\n RestoreDefault: '恢复默认',\n VisibleInfo: '显示的信息',\n HiddenInfo: '隐藏的信息',\n Search: '搜索',\n BatchOperations: '批量操作',\n BatchOperationsWithCount: '批量操作(已选:{count}条)',\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n TotalText: 'Total',\n ItemText: 'items',\n UnnamedColumn: 'Unnamed',\n EditTable: 'Edit Table',\n RestoreDefault: 'Restore Default',\n VisibleInfo: 'Visible Columns',\n HiddenInfo: 'Hidden Columns',\n Search: 'Search',\n BatchOperations: 'Batch Actions',\n BatchOperationsWithCount: 'Batch Actions (Selected: {count})',\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport filterZhCN from '@kne/react-filter/dist/locale/zh-CN';\nimport filterEnUS from '@kne/react-filter/dist/locale/en-US';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': { ...filterZhCN, ...zhCN },\n 'en-US': { ...filterEnUS, ...enUS }\n },\n namespace: 'table-page'\n});\n\nexport default withLocale;\n","import { useMemo, useState } from 'react';\nimport groupBy from 'lodash/groupBy';\nimport { HolderOutlined, RedoOutlined } from '@ant-design/icons';\nimport style from './columnConfig.module.scss';\nimport { Button, Checkbox, Col, Collapse, Input, List, Row, Tooltip } from 'antd';\nimport { ReactSortable } from 'react-sortablejs';\nimport classnames from 'classnames';\nimport transform from 'lodash/transform';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\n\nconst ColumnsControlContent = withLocale(({ close, onConfirm, columns, config: defaultValue }) => {\n const { formatMessage } = useIntl();\n const [config, onChange] = useState(defaultValue || {});\n const [searchText, setSearchText] = useState('');\n const [confirmLoading, setConfirmLoading] = useState(false);\n const [scrollEl, setScrollEl] = useState(null);\n\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } = useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: []\n },\n groupBy(columns, item => {\n if (item.fixed === 'right') {\n return 'rightFixedColumns';\n }\n if (item.fixed === true || item.fixed === 'left') {\n return 'leftFixedColumns';\n }\n return (get(config, `${item.name}.visible`) !== true && item.hidden) || get(config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => get(config, `${a.name}.rank`, 0) - get(config, `${b.name}.rank`, 0));\n },\n {}\n );\n }, [columns, config]);\n\n const sortableVisibleColumns = useMemo(() => {\n return visibleColumns.map(column => Object.assign({}, column, { id: column.name }));\n }, [visibleColumns]);\n\n const handlerColumnsChange = columnsState => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);\n (columnsState.hiddenColumns || []).forEach(col => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = item => {\n return (\n <>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n {item.groupHeader && item.groupHeader.length > 0 ? `(${item.groupHeader.map(({ title }) => title).join('-')})` : ''}\n </>\n );\n };\n\n const collapseItems = useMemo(() => {\n return [\n {\n key: 'active',\n label: formatMessage({ id: 'VisibleInfo' }),\n children: (\n <div className={style['columns-control-content-list']}>\n {leftFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `left-${index}`}>\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n <ReactSortable\n tag=\"div\"\n className={style['columns-control-sortable-list']}\n list={sortableVisibleColumns}\n filter=\".ignore-elements\"\n dragClass=\"table-page-sortable-drag\"\n ghostClass=\"table-page-sortable-ghost\"\n chosenClass=\"table-page-sortable-chosen\"\n forceFallback\n fallbackOnBody\n scroll={scrollEl || true}\n bubbleScroll\n setList={nextVisibleColumns => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns: nextVisibleColumns,\n hiddenColumns,\n rightFixedColumns\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {sortableVisibleColumns.map(item => (\n <div className={classnames(style['columns-control-content-item'], style['is-drag'])} key={item.id}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <Checkbox\n checked\n disabled={item.fixed || leftFixedColumns.length + visibleColumns.length + rightFixedColumns.length <= 1}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: false });\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `right-${index}`}>\n <Checkbox checked disabled>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </div>\n ))}\n </div>\n )\n },\n {\n key: 'un-active',\n label: (\n <Row wrap={false} justify=\"space-between\">\n <Col>{formatMessage({ id: 'HiddenInfo' })}</Col>\n <Col\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <Input.Search placeholder={formatMessage({ id: 'Search' })} onSearch={value => setSearchText(value)} className={style['columns-control-content-input']} size=\"small\" allowClear />\n </Col>\n </Row>\n ),\n children: (\n <List\n dataSource={hiddenColumns.filter(item => {\n const title = item.titleText || item.title;\n return typeof title === 'string' && title.indexOf(searchText) > -1;\n })}\n renderItem={item => (\n <List.Item className={style['columns-control-content-item']} key={item.name}>\n <Checkbox\n checked={false}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: true });\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </List.Item>\n )}\n />\n )\n }\n ];\n }, [config, formatMessage, hiddenColumns, leftFixedColumns, onChange, rightFixedColumns, scrollEl, searchText, sortableVisibleColumns, visibleColumns.length]);\n\n return (\n <div className={style['columns-control-content']}>\n <div className={style['columns-control-content-title']}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>{formatMessage({ id: 'EditTable' })}</Col>\n <Col>\n <Tooltip title={formatMessage({ id: 'RestoreDefault' })}>\n <Button\n type=\"text\"\n icon={<RedoOutlined />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style['columns-control-content-scroller']} ref={setScrollEl}>\n <Collapse defaultActiveKey={['active', 'un-active']} ghost bordered items={collapseItems} />\n </div>\n <Row className={style['columns-control-content-footer']} justify=\"end\" gutter={10}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n {formatMessage({ id: 'Cancel' })}\n </Button>\n </Col>\n <Col>\n <Button\n type=\"primary\"\n size=\"small\"\n loading={confirmLoading}\n onClick={async () => {\n setConfirmLoading(true);\n try {\n onConfirm && (await onConfirm(config));\n close();\n } finally {\n setConfirmLoading(false);\n }\n }}\n >\n {formatMessage({ id: 'Confirm' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n});\n\nexport default ColumnsControlContent;\n","import get from 'lodash/get';\n\nconst storageKey = 'TABLE_PAGE_TABLE_CONFIG';\n\nconst readStorage = () => {\n try {\n return JSON.parse(localStorage.getItem(storageKey) || '{}');\n } catch {\n return {};\n }\n};\n\nconst writeStorage = data => {\n try {\n localStorage.setItem(storageKey, JSON.stringify(data));\n } catch {\n // ignore quota errors\n }\n};\n\nconst getData = name => {\n if (!name) {\n return {};\n }\n return get(readStorage(), name, {});\n};\n\nconst setData = (name, data) => {\n if (!name) {\n return;\n }\n writeStorage(Object.assign({}, readStorage(), { [name]: data }));\n};\n\nconst tableLocalApis = { getData, setData };\n\nexport default tableLocalApis;\n","export const TABLE_CONFIG_COLUMN_EXTRA_WIDTH = 48;\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\nimport pick from 'lodash/pick';\nimport findLastIndex from 'lodash/findLastIndex';\nimport isEqual from 'lodash/isEqual';\nimport { Col, Popover, Row } from 'antd';\nimport { HolderOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useDebouncedCallback } from 'use-debounce';\nimport ColumnsControlContent from './ColumnsControlContent';\nimport tableLocalApis from './tableLocalApis';\nimport { parseColumnWidth } from './TableView/columnWidth';\nimport configStyle from './columnConfig.module.scss';\nimport { TABLE_CONFIG_COLUMN_EXTRA_WIDTH } from './columnConfigExtra';\nimport { isOptionsColumn } from './columnRenderType';\n\nconst DEFAULT_WIDTH = 160;\nconst DEFAULT_MIN = 80;\nconst DEFAULT_MAX = 600;\n\nexport const getColumnSize = column => {\n const width = parseColumnWidth(column.width) || DEFAULT_WIDTH;\n return {\n width,\n min: column.min ?? DEFAULT_MIN,\n max: column.max ?? DEFAULT_MAX\n };\n};\n\nconst getConfigColumnExtraWidth = (index, columnCount, controllerOpen) => {\n if (!controllerOpen || index !== columnCount - 1) {\n return 0;\n }\n return TABLE_CONFIG_COLUMN_EXTRA_WIDTH;\n};\n\nconst withConfigColumnExtra = (contentWidth, index, columnCount, controllerOpen) => {\n return contentWidth + getConfigColumnExtraWidth(index, columnCount, controllerOpen);\n};\n\nconst TableConfigButton = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false} align=\"middle\" className={configStyle['table-config-header']}>\n <Col flex={1} className={configStyle['table-config-header-title']}>\n {title}\n </Col>\n <Col flex=\"none\">\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n rootClassName={configStyle['columns-control-overlay']}\n styles={{ container: { padding: 0 } }}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => setOpen(false)}\n onConfirm={newConfig => {\n setConfig(configValue => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign({}, configValue[key], pick(value, ['visible', 'rank']));\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={classnames(configStyle['table-changer-setting'], open && configStyle['is-active'])}>\n <SettingOutlined />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen = true, tableWidth = 0, rowKey, tableServerApis = tableLocalApis }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n\n const saveConfig = useDebouncedCallback((tableName, target) => {\n tableServerApis?.setData(tableName, target);\n }, 500);\n\n const setConfig = useCallback(\n newConfig => {\n setConfigBase(prevConfig => {\n const target = typeof newConfig === 'function' ? newConfig(prevConfig) : newConfig;\n if (name && controllerOpen) {\n saveConfig(name, target);\n }\n return target;\n });\n },\n [name, controllerOpen, saveConfig]\n );\n\n useEffect(() => {\n if (name && controllerOpen) {\n setConfigBase(Object.assign({}, tableServerApis.getData(name)));\n }\n }, [name, controllerOpen, tableServerApis]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter(col => !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true)))\n .sort((a, b) => {\n const computedIndex = item => get(config, `${item.name}.rank`, 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const columnCount = visibleColumns.length;\n\n const hasFixedColumn = useMemo(() => visibleColumns.some(col => col.fixed === 'right' || col.fixed === 'left' || col.fixed === true), [visibleColumns]);\n\n const lastNotFixedColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, col => col.fixed !== 'right' && !isOptionsColumn(col));\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return visibleColumns.reduce((sum, col, index) => {\n const { width } = getColumnSize(col);\n const contentWidth = get(config, `${col.name}.width`) || width;\n return sum + withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }, 0);\n }, [visibleColumns, config, columnCount, controllerOpen]);\n\n const computedRealWidth = useCallback(\n ({ width, index }) => {\n const contentWidth = width;\n if (currentMoveColumnIndex !== null && currentMoveColumnIndex === index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n if (hasFixedColumn || lastNotFixedColumnIndex !== index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen) + Math.max(tableWidth - totalWidth - 2, 0);\n },\n [hasFixedColumn, lastNotFixedColumnIndex, tableWidth, totalWidth, currentMoveColumnIndex, columnCount, controllerOpen]\n );\n\n const getConfigWidth = useCallback(\n column => {\n const { width, min, max } = getColumnSize(column);\n const currentWidth = Math.min(Math.max(get(config, `${column.name}.width`) || width, min), max);\n return { currentWidth, min, max };\n },\n [config]\n );\n\n const resizeBarRender = useCallback(\n (column, index) => {\n return (\n <span\n className={classnames(configStyle['cell-resize-bar'], 'table-cell-resize-bar')}\n onMouseDown={e => {\n e.stopPropagation();\n const { currentWidth, min, max } = getConfigWidth(column);\n currentMoveColumnRef.current = Object.assign({}, column, { index, width: currentWidth, min, max });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <HolderOutlined />\n </span>\n );\n },\n [getConfigWidth]\n );\n\n const resize = useRefCallback(delta => {\n if (currentMoveColumnIndexRef.current === null || !currentMoveColumnRef.current) {\n return;\n }\n const { name: colName, width, min, max } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < min) {\n return;\n }\n setConfig(prevConfig =>\n Object.assign({}, prevConfig, {\n [colName]: Object.assign({}, prevConfig[colName], { width: currentWidth })\n })\n );\n });\n\n const renderColumnTitle = useCallback(\n (title, column, index, { withResize = true, withConfig = false } = {}) => {\n const titleNode = withConfig ? <TableConfigButton title={title} columns={columns} config={config} setConfig={setConfig} /> : title;\n const content = (\n <>\n {titleNode}\n {withResize && controllerOpen && resizeBarRender(column, index)}\n </>\n );\n if (!withResize || !controllerOpen) {\n return content;\n }\n return <span className={configStyle['header-cell-inner']}>{content}</span>;\n },\n [columns, config, controllerOpen, resizeBarRender, setConfig]\n );\n\n const getHeaderCellClassName = useCallback(\n index =>\n classnames(configStyle['header-col'], {\n 'is-moving': currentMoveColumnIndexRef.current === index\n }),\n []\n );\n\n const computedColumnProps = useCallback(\n (column, index, { title }) => {\n const { currentWidth } = getConfigWidth(column);\n const realWidth = computedRealWidth({ width: currentWidth, index });\n const isLastColumn = index === columnCount - 1;\n\n const movingClass = () => ({\n className: classnames({\n 'is-moving': currentMoveColumnIndex === index,\n 'has-config-btn': isLastColumn && controllerOpen\n })\n });\n\n return {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey = typeof rowKey === 'function' ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === 'function' ? rowKey(prevRecord) : prevRecord[rowKey];\n return currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name]));\n },\n title: renderColumnTitle(title, column, index, {\n withResize: true,\n withConfig: isLastColumn && controllerOpen\n })\n };\n },\n [columnCount, controllerOpen, computedRealWidth, getConfigWidth, renderColumnTitle, rowKey, currentMoveColumnIndex]\n );\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = e => {\n if (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null || startPointRef.current === null) {\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n\n document.documentElement.addEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.addEventListener('mousemove', handlerResize, true);\n return () => {\n document.documentElement.removeEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.removeEventListener('mousemove', handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns,\n columnsConfig: config,\n setConfig,\n currentMoveColumnIndex,\n totalWidth,\n hasFixedColumn,\n computedColumnProps,\n renderColumnTitle,\n getHeaderCellClassName,\n getConfigWidth,\n computedRealWidth,\n resizeBarRender\n };\n};\n\nexport default useTableConfig;\n","import { useMemo } from 'react';\n\nconst useGroupHeader = columns => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(item => item.groupHeader && item.groupHeader.length > 0);\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = column => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, groupList) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = groupList.find(item => item.name === targetHeader.name);\n if (!currentGroup) {\n currentGroup = Object.assign({ startIndex: columnIndex }, targetHeader, { children: [] });\n groupList.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import { useEffect, useState } from 'react';\n\nconst useElementWidth = ref => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = ref.current;\n if (!el) {\n return;\n }\n const update = () => setWidth(el.clientWidth);\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n update();\n return () => resizeObserver.disconnect();\n }, [ref]);\n\n return width;\n};\n\nexport default useElementWidth;\n","import React from 'react';\nimport classnames from 'classnames';\nimport Ellipsis from './Ellipsis';\nimport ellipsisStyle from './ellipsis.module.scss';\n\nexport const renderCellContent = (content, column, contentClassName) => {\n const wrapEllipsis = column.ellipsis && !column.ellipsisHandledByRender;\n const needsWidthConstraint = Boolean(column.ellipsis || column.cellFullWidth);\n const inner = wrapEllipsis ? <Ellipsis ellipsis={column.ellipsis}>{content}</Ellipsis> : content;\n\n return <span className={contentClassName}>{needsWidthConstraint ? <span className={classnames(ellipsisStyle['cell-content'], column.cellFullWidth && ellipsisStyle['cell-full-width'])}>{inner}</span> : inner}</span>;\n};\n\nexport const getColumnEllipsis = column => {\n if (!column.ellipsis) {\n return undefined;\n }\n return typeof column.ellipsis === 'object' ? column.ellipsis : true;\n};\n","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Checkbox, Empty, Table as AntTable } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport viewStyle from '../TableView/style.module.scss';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort, { renderColumnTitle } from '../useSort';\nimport useTableConfig from '../useTableConfig';\nimport useGroupHeader from '../useGroupHeader';\nimport useElementWidth from '../useElementWidth';\nimport { getColumnEllipsis, renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst mapJustifyToAlign = justify => {\n if (justify === 'center') {\n return 'center';\n }\n if (justify === 'flex-end') {\n return 'right';\n }\n return 'left';\n};\n\nconst resolveRowKey = (rowKey, record) => get(record, typeof rowKey === 'function' ? rowKey(record) : rowKey);\n\nconst toAntdWidth = width => {\n if (width == null) {\n return undefined;\n }\n if (typeof width === 'number') {\n return width;\n }\n const parsed = parseColumnWidth(width);\n return parsed || width;\n};\n\nconst toAntdFixed = fixed => {\n if (fixed === 'right') {\n return 'right';\n }\n if (fixed === true || fixed === 'left') {\n return 'left';\n }\n return undefined;\n};\n\nconst getColCellStyle = column => ({\n textAlign: mapJustifyToAlign(column.justify),\n verticalAlign: column.align === 'middle' ? 'middle' : column.align === 'bottom' ? 'bottom' : 'top'\n});\n\nconst getAntCellClassName = (...extra) => classnames(style['table-cell'], 'info-page-table-col', ...extra);\n\nconst wrapColContent = node => <span className={viewStyle['col-content']}>{node}</span>;\n\nconst Table = p => {\n const tableRef = useRef(null);\n const tableWidth = useElementWidth(tableRef);\n const [isLayout, setIsLayout] = useState(true);\n\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />,\n controllerOpen: true\n },\n p\n );\n const {\n className,\n dataSource,\n columns: columnsProp,\n rowKey,\n rowSelection,\n valueIsEmpty,\n emptyIsPlaceholder,\n placeholder,\n empty,\n onRowSelect,\n render,\n context,\n sticky,\n headerStyle,\n pagination = false,\n sortRender,\n name,\n controllerOpen,\n tableServerApis,\n scroll,\n summary,\n ...others\n } = props;\n\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => setIsLayout(false), 0);\n }\n }, [tableWidth]);\n\n const { visibleColumns, columnsConfig, currentMoveColumnIndex, totalWidth, computedColumnProps, hasFixedColumn } = useTableConfig({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n tableServerApis\n });\n\n const [resizeGuideStyle, setResizeGuideStyle] = useState(null);\n\n const updateResizeGuide = useCallback(() => {\n if (currentMoveColumnIndex === null || !tableRef.current) {\n setResizeGuideStyle(null);\n return;\n }\n const root = tableRef.current;\n const headerCell = root.querySelector('.ant-table-thead .ant-table-cell.is-moving');\n const tableContainer = root.querySelector('.ant-table-container');\n if (!headerCell || !tableContainer) {\n setResizeGuideStyle(null);\n return;\n }\n const headerRect = headerCell.getBoundingClientRect();\n const resizeBar = headerCell.querySelector('.table-cell-resize-bar');\n const barRect = resizeBar?.getBoundingClientRect();\n const containerRect = tableContainer.getBoundingClientRect();\n setResizeGuideStyle({\n position: 'fixed',\n left: Math.round(barRect?.right ?? headerRect.right),\n top: Math.round(containerRect.top),\n height: Math.round(containerRect.height),\n zIndex: 100\n });\n }, [currentMoveColumnIndex]);\n\n useLayoutEffect(() => {\n updateResizeGuide();\n }, [updateResizeGuide, columnsConfig, tableWidth, dataSource, isLayout]);\n\n useEffect(() => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n const handleUpdate = () => updateResizeGuide();\n window.addEventListener('mousemove', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n const resizeObserver = new ResizeObserver(handleUpdate);\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n return () => {\n window.removeEventListener('mousemove', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n resizeObserver.disconnect();\n };\n }, [currentMoveColumnIndex, updateResizeGuide]);\n\n const targetColumns = useMemo(() => visibleColumns.map((column, index) => Object.assign({}, column, { __index: index })), [visibleColumns]);\n\n const { columns: groupedColumns, hasGroupHeader } = useGroupHeader(targetColumns);\n\n const antdColumns = useMemo(() => {\n const buildLeafColumn = (column, index) => {\n const { name: colName, title, width, align, justify, fixed } = column;\n const baseColumn = {\n key: colName,\n dataIndex: colName,\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>,\n width: toAntdWidth(width),\n fixed: toAntdFixed(fixed),\n align: mapJustifyToAlign(justify),\n ellipsis: getColumnEllipsis(column),\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n render: (_, record) => {\n const [computedColumn] = computeColumnsValue({\n columns: [column],\n emptyIsPlaceholder,\n valueIsEmpty,\n removeEmpty: false,\n dataSource: record,\n placeholder,\n context\n });\n if (!computedColumn) {\n return null;\n }\n return renderCellContent(computeDisplay({ column: computedColumn, placeholder, dataSource: record, context }), computedColumn, viewStyle['col-content']);\n }\n };\n\n if (!controllerOpen) {\n return baseColumn;\n }\n\n const configProps = computedColumnProps(column, index, {\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>\n });\n const antdFixed = toAntdFixed(fixed);\n\n return Object.assign({}, baseColumn, configProps, {\n width: configProps.width,\n fixed: antdFixed,\n onHeaderCell: () => ({\n className: getAntCellClassName(configProps.onHeaderCell?.().className),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(configProps.onCell?.().className),\n style: getColCellStyle(column)\n })\n });\n };\n\n const mapColumn = column => {\n if (column.children && column.children.length > 0) {\n return {\n key: column.name,\n title: <span className={viewStyle['col-content']}>{column.title}</span>,\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: { textAlign: 'center', verticalAlign: 'middle' }\n }),\n children: column.children.map(mapColumn)\n };\n }\n return buildLeafColumn(column, column.__index);\n };\n\n return groupedColumns.map(mapColumn);\n }, [groupedColumns, context, emptyIsPlaceholder, placeholder, sortRender, valueIsEmpty, controllerOpen, computedColumnProps, currentMoveColumnIndex]);\n\n const antdRowSelection = useMemo(() => {\n if (!rowSelection) {\n return undefined;\n }\n\n const getRowKey = record => resolveRowKey(rowKey, record);\n\n return {\n type: rowSelection.type === 'radio' ? 'radio' : 'checkbox',\n ...(hasFixedColumn ? { fixed: 'left' } : {}),\n selectedRowKeys: rowSelection.isSelectedAll ? (dataSource || []).filter(item => !item.disabled).map(getRowKey) : rowSelection.selectedRowKeys,\n onChange: (selectedRowKeys, selectedRows, info) => {\n if (info.type === 'all') {\n const checked = selectedRowKeys.length > 0;\n if (typeof rowSelection.onIsSelectAllChange === 'function') {\n rowSelection.onIsSelectAllChange(checked);\n return;\n }\n if (!checked) {\n rowSelection.onChange([], undefined, { context, checked: false });\n return;\n }\n rowSelection.onChange((dataSource || []).map(getRowKey), undefined, { context, checked: true });\n return;\n }\n\n const currentKey = selectedRows.length > 0 ? getRowKey(selectedRows[selectedRows.length - 1]) : selectedRowKeys[selectedRowKeys.length - 1];\n const checked = selectedRowKeys.indexOf(currentKey) > -1;\n rowSelection.onChange(selectedRowKeys, currentKey, { context, checked });\n },\n getCheckboxProps: record => ({\n disabled: record.disabled || rowSelection.isSelectedAll\n }),\n ...(rowSelection.type === 'checkbox'\n ? {\n columnTitle: rowSelection.allowSelectedAll ? checkboxNode => wrapColContent(checkboxNode) : wrapColContent(<Checkbox style={{ visibility: 'hidden' }} />),\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['selection-col'])\n })\n }\n : {\n columnWidth: 30,\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['radio-col'])\n })\n })\n };\n }, [context, dataSource, rowKey, rowSelection, hasFixedColumn]);\n\n const tableScroll = useMemo(() => {\n let x;\n if (hasFixedColumn) {\n x = totalWidth;\n } else if (controllerOpen) {\n x = Math.max(tableWidth, totalWidth);\n }\n return Object.assign({}, x != null ? { x } : {}, scroll);\n }, [hasFixedColumn, controllerOpen, totalWidth, tableWidth, scroll]);\n\n const tableElement = (\n <AntTable\n {...others}\n showHeader\n dataSource={dataSource}\n columns={antdColumns}\n rowKey={typeof rowKey === 'function' ? rowKey : record => get(record, rowKey)}\n rowSelection={antdRowSelection}\n pagination={pagination}\n summary={typeof summary === 'function' ? (pageData, ...args) => summary(pageData, ...args) : undefined}\n sticky={sticky ? { offsetHeader: 0 } : undefined}\n tableLayout={controllerOpen || hasFixedColumn ? 'fixed' : undefined}\n scroll={tableScroll}\n onHeaderRow={() => ({\n className: classnames(viewStyle['header'], 'info-page-table-header', {\n [viewStyle['sticky']]: sticky && !hasFixedColumn\n }),\n style: headerStyle\n })}\n locale={{ emptyText: <div className={viewStyle['empty']}>{empty}</div> }}\n rowClassName={record => {\n const id = resolveRowKey(rowKey, record);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n return classnames(viewStyle['body'], 'info-page-table-row', {\n [viewStyle['is-selected-all']]: rowSelection?.isSelectedAll,\n [viewStyle['is-selected']]: isChecked,\n [viewStyle['is-disabled']]: record.disabled\n });\n }}\n onRow={record => ({\n onClick: () => {\n if (record.disabled) {\n return;\n }\n onRowSelect && onRowSelect(record, { columns: visibleColumns, dataSource });\n }\n })}\n />\n );\n\n const wrappedTable = (\n <div\n ref={tableRef}\n className={classnames(viewStyle['table'], style['table'], 'info-page-table', className, {\n [style['is-resize']]: currentMoveColumnIndex !== null,\n [style['is-computed']]: isLayout,\n [style['has-group-header']]: hasGroupHeader,\n [style['has-summary']]: typeof summary === 'function'\n })}\n >\n <div className=\"info-page-table-body\">{!isLayout && tableElement}</div>\n {currentMoveColumnIndex !== null && resizeGuideStyle && <span className={style['column-resize-guide']} style={resizeGuideStyle} aria-hidden />}\n </div>\n );\n\n if (typeof render === 'function') {\n return render({\n ...others,\n header: null,\n renderBody: () => wrappedTable\n });\n }\n\n return wrappedTable;\n};\n\nTable.useSelectedRow = useSelectedRow;\nTable.useSort = useSort;\nTable.sortDataSource = useSort.sortDataSource;\n\nexport default Table;\n","import React, { useLayoutEffect, useRef } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\n\nconst Label = ({ className, children, onChange }) => {\n const ref = useRef(null);\n const handlerChange = useRefCallback(onChange);\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n handlerChange(ref.current.getBoundingClientRect());\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [handlerChange]);\n return (\n <span ref={ref} className={className}>\n {children}\n </span>\n );\n};\n\nexport default Label;\n","import React from 'react';\nimport { Checkbox } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport Label from '../Label';\nimport { renderColumnTitle } from '../useSort';\nimport { getColumnLayout, parseColumnWidth } from './columnWidth';\nimport { resolveColumnDimensions } from '../columnRenderType';\nimport style from './style.module.scss';\n\nconst renderHeaderCellContent = (column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize }) => {\n const titleNode = renderColumnTitle(column.title, column, sortRender);\n const contentClassName = style['col-content'];\n\n if (widthBased) {\n return <span className={contentClassName}>{titleNode}</span>;\n }\n\n return (\n <Label\n className={contentClassName}\n onChange={size => {\n setColsSize(value =>\n Object.assign({}, value, {\n [column.name]: Math.max(size.width, parseColumnWidth(resolveColumnDimensions(column).width))\n })\n );\n }}\n >\n {titleNode}\n </Label>\n );\n};\n\nexport const renderHeaderGridCells = ({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan }) => {\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key=\"__selection__\" className={classnames(style['col'], style['col-fixed'], style['header-cell'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n {rowSelection.allowSelectedAll ? (\n (() => {\n const checkedAll =\n rowSelection.isSelectedAll || (dataSource && dataSource.every(item => rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey)) > -1));\n return (\n <Checkbox\n checked={checkedAll}\n indeterminate={rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.length > 0 && !checkedAll}\n onChange={e => {\n const checked = e.target.checked;\n if (!checked) {\n typeof rowSelection.onIsSelectAllChange === 'function' ? rowSelection.onIsSelectAllChange(false) : rowSelection.onChange([]);\n } else {\n typeof rowSelection.onIsSelectAllChange === 'function'\n ? rowSelection.onIsSelectAllChange(true)\n : dataSource &&\n dataSource.length > 0 &&\n rowSelection.onChange(\n dataSource.map(item => {\n return get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n })\n );\n }\n }}\n />\n );\n })()\n ) : (\n <Checkbox style={{ visibility: 'hidden' }} />\n )}\n </span>\n </div>\n );\n }\n\n columns.forEach((column, index) => {\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === columns.length - 1,\n columns\n });\n cells.push(\n <div key={column.name} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], style['header-cell'], 'info-page-table-col')}>\n {renderHeaderCellContent(column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize })}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(<div key=\"__radio__\" className={classnames(style['col'], style['single-checked'], style['header-cell'], 'info-page-table-col')} />);\n }\n\n return cells;\n};\n\nconst Header = p => {\n const { dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, headerStyle, sortRender, defaultSpan } = Object.assign(\n {},\n {\n rowKey: 'id'\n },\n p\n );\n\n return (\n <div style={headerStyle} className={classnames(style['header'], 'info-page-table-header')}>\n {renderHeaderGridCells({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan })}\n </div>\n );\n};\n\nexport default Header;\n","import React, { useMemo, useState } from 'react';\nimport Header, { renderHeaderGridCells } from './Header';\nimport { Checkbox, Empty } from 'antd';\nimport { CheckOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { getColumnLayout, getGridTemplateColumns, hasColumnSpan, hasColumnWidth } from './columnWidth';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort from '../useSort';\nimport { renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst getLayoutColumns = columns => columns.filter(column => column.display !== false);\n\nconst TableView = p => {\n const [colsSize, setColsSize] = useState({});\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />\n },\n p\n );\n const { className, dataSource, columns: columnsProp, rowKey, rowSelection, valueIsEmpty, emptyIsPlaceholder, placeholder, empty, onRowSelect, render, context, sticky, headerStyle, sortRender, ...others } = props;\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n const layoutColumns = useMemo(() => getLayoutColumns(columns), [columns]);\n const defaultSpan = useMemo(() => {\n const assignedSpan = layoutColumns.reduce((a, b) => a + (b.span || 0), 0);\n const undistributedColCount = layoutColumns.filter(item => !hasColumnSpan(item) && !hasColumnWidth(item, layoutColumns)).length;\n\n return undistributedColCount > 0 ? Math.round(Math.max(24 - assignedSpan, 0) / undistributedColCount) : 1;\n }, [layoutColumns]);\n\n const gridTemplateColumns = useMemo(() => getGridTemplateColumns(layoutColumns, { defaultSpan, colsSize, rowSelection }), [layoutColumns, defaultSpan, colsSize, rowSelection]);\n\n const headerCellProps = {\n dataSource,\n columns: layoutColumns,\n rowKey,\n rowSelection,\n colsSize,\n setColsSize,\n sortRender,\n defaultSpan\n };\n\n const header = <Header {...headerCellProps} headerStyle={headerStyle} />;\n\n const handleRowClick = (item, { dataSource, context, id, isChecked }) => {\n if (item.disabled) {\n return;\n }\n onRowSelect && onRowSelect(item, { columns: layoutColumns, dataSource });\n if (!rowSelection || rowSelection.isSelectedAll) {\n return;\n }\n if (rowSelection.type === 'checkbox') {\n const selectedRowKeys = (rowSelection.selectedRowKeys || []).slice(0);\n isChecked ? selectedRowKeys.splice(rowSelection.selectedRowKeys.indexOf(id), 1) : selectedRowKeys.push(id);\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n return;\n }\n const selectedRowKeys = rowSelection.selectedRowKeys.length && rowSelection.selectedRowKeys[0] === id ? [] : [id];\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n };\n\n const renderBodyGridCells = (dataSource, context) => {\n const getId = item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n\n if (!dataSource || dataSource.length === 0) {\n return null;\n }\n\n return dataSource.map(item => {\n const id = getId(item);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n const columnsValue = computeColumnsValue({ columns: layoutColumns, emptyIsPlaceholder, valueIsEmpty, removeEmpty: true, dataSource: item, placeholder, context });\n const columnMap = columnsValue.reduce((result, column) => Object.assign(result, { [column.name]: column }), {});\n const rowClassName = classnames(style['body'], style['body-cell'], style['body-row'], 'info-page-table-row', {\n [style['is-selected-all']]: rowSelection?.isSelectedAll,\n [style['is-selected']]: isChecked,\n [style['is-disabled']]: item.disabled\n });\n const onSelectionChange = () => handleRowClick(item, { dataSource, context, id, isChecked });\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key={`${id}__selection__`} className={classnames(style['col'], style['col-fixed'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n <Checkbox disabled={item.disabled || rowSelection.isSelectedAll} checked={(rowSelection.isSelectedAll && !item.disabled) || isChecked} onChange={onSelectionChange} />\n </span>\n </div>\n );\n }\n\n layoutColumns.forEach((column, index) => {\n const columnValue = columnMap[column.name];\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === layoutColumns.length - 1,\n columns: layoutColumns\n });\n\n cells.push(\n <div key={`${id}-${column.name}`} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], 'info-page-table-col')}>\n {columnValue ? renderCellContent(computeDisplay({ column: columnValue, placeholder, dataSource: item, context }), columnValue, style['col-content']) : <span className={style['col-content']} />}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(\n <div key={`${id}__radio__`} className={classnames(style['col'], style['single-checked'], 'info-page-table-col')} onClick={onSelectionChange}>\n {isChecked && <CheckOutlined />}\n </div>\n );\n }\n\n return (\n <div key={id} className={rowClassName}>\n {cells}\n </div>\n );\n });\n };\n\n const renderGrid = (dataSource, context) => (\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n {renderBodyGridCells(dataSource, context)}\n </div>\n );\n\n const renderBody = (dataSource, context) => {\n if (!dataSource || dataSource.length === 0) {\n return <div className={style['empty']}>{empty}</div>;\n }\n\n return <div className={classnames('info-page-table-body')}>{renderGrid(dataSource, context)}</div>;\n };\n\n if (typeof render === 'function') {\n return render({ ...others, header, renderBody });\n }\n\n return (\n <div {...others} className={classnames(style['table'], style['tableView'], 'info-page-table', className)}>\n {dataSource && dataSource.length > 0 ? (\n renderGrid(dataSource, context)\n ) : (\n <>\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n </div>\n <div className={style['empty']}>{empty}</div>\n </>\n )}\n </div>\n );\n};\n\nTableView.Header = Header;\nTableView.useSelectedRow = useSelectedRow;\nTableView.useSort = useSort;\nTableView.sortDataSource = useSort.sortDataSource;\nexport default TableView;\n","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const getViewportRect = () => {\n const visualViewport = window.visualViewport;\n if (visualViewport) {\n return {\n top: visualViewport.offsetTop,\n bottom: visualViewport.offsetTop + visualViewport.height,\n left: visualViewport.offsetLeft,\n right: visualViewport.offsetLeft + visualViewport.width,\n height: visualViewport.height\n };\n }\n return {\n top: 0,\n bottom: window.innerHeight,\n left: 0,\n right: window.innerWidth,\n height: window.innerHeight\n };\n};\n\nexport const getTableElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.info-page-table') || root;\n};\n\nexport const getTableScrollElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.ant-table-body') || root.querySelector('.ant-table-content');\n};\n\nexport const getElementViewportState = element => {\n if (!element) {\n return {\n isBottomInViewport: true,\n isPartiallyInViewport: false,\n isTopInViewport: true,\n rect: null,\n viewport: getViewportRect()\n };\n }\n const rect = element.getBoundingClientRect();\n const viewport = getViewportRect();\n return {\n isBottomInViewport: rect.bottom > viewport.top && rect.bottom <= viewport.bottom,\n isPartiallyInViewport: rect.top < viewport.bottom && rect.bottom > viewport.top,\n isTopInViewport: rect.top >= viewport.top && rect.top < viewport.bottom,\n rect,\n viewport\n };\n};\n\nexport const isTopEdgeInViewport = (element, scrollMarginTop = 0) => {\n const { isTopInViewport, rect, viewport } = getElementViewportState(element);\n if (!rect) {\n return true;\n }\n const viewportTop = viewport.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < viewport.bottom;\n};\n\nexport const shouldShowFloatingScrollbar = (scrollEl, viewportState) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const state = viewportState || getElementViewportState(scrollEl);\n if (!state.isPartiallyInViewport) {\n return false;\n }\n return !state.isBottomInViewport;\n};\n\nexport const observeViewportIntersection = (element, onChange) => {\n if (!element) {\n return () => {};\n }\n\n const notify = entry => {\n onChange(getElementViewportState(element));\n };\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n notify(entry);\n },\n {\n root: null,\n threshold: [0, 0.01, 0.25, 0.5, 0.75, 1]\n }\n );\n\n observer.observe(element);\n\n const handleViewportChange = () => {\n notify();\n };\n\n window.addEventListener('scroll', handleViewportChange, true);\n window.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('scroll', handleViewportChange);\n notify();\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', handleViewportChange, true);\n window.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('scroll', handleViewportChange);\n };\n};\n","import { createPortal } from 'react-dom';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { getTableScrollElement, getViewportRect, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState) => {\n const rect = scrollEl.getBoundingClientRect();\n const viewport = getViewportRect();\n const trackWidth = rect.width;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const maxThumbOffset = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n const scrollRatio = scrollEl.scrollWidth > scrollEl.clientWidth ? scrollEl.scrollLeft / (scrollEl.scrollWidth - scrollEl.clientWidth) : 0;\n\n return {\n left: rect.left,\n width: trackWidth,\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible: shouldShowFloatingScrollbar(scrollEl, viewportState)\n };\n};\n\nconst FloatingScrollBar = ({ metrics, onThumbDrag, getPortalContainer }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(false);\n const onThumbDragRef = useRef(onThumbDrag);\n onThumbDragRef.current = onThumbDrag;\n\n useEffect(() => {\n movingRef.current = moving;\n }, [moving]);\n\n useEffect(() => {\n const moveHandler = event => {\n if (!movingRef.current) {\n return;\n }\n onThumbDragRef.current(event.clientX - startRef.current);\n startRef.current = event.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener('mousemove', moveHandler, true);\n document.addEventListener('mouseup', upHandler, true);\n return () => {\n document.removeEventListener('mousemove', moveHandler, true);\n document.removeEventListener('mouseup', upHandler, true);\n };\n }, []);\n\n if (!metrics?.visible) {\n return null;\n }\n\n const portalTarget = getPortalContainer?.() || document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar')}\n style={{\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }}\n >\n <div\n className={classnames(style['floating-scrollbar-thumb'], {\n [style['is-moving']]: moving\n })}\n style={{\n width: metrics.thumbWidth,\n left: metrics.thumbLeft\n }}\n onMouseDown={event => {\n event.preventDefault();\n startRef.current = event.clientX;\n setMoving(true);\n }}\n />\n </div>,\n portalTarget\n );\n};\n\nconst HorizontalScroller = forwardRef(({ className, enabled = true, getPortalContainer, children }, forwardedRef) => {\n const [metrics, setMetrics] = useState(null);\n const containerRef = useRef(null);\n const scrollElRef = useRef(null);\n const viewportStateRef = useRef(null);\n\n const setContainerRef = useRefCallback(node => {\n containerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n });\n\n const updateMetrics = useRefCallback(() => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n setMetrics(null);\n return;\n }\n setMetrics(computeBarMetrics(scrollEl, viewportStateRef.current));\n });\n\n const handleThumbDrag = useRefCallback(deltaX => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n return;\n }\n const trackWidth = scrollEl.clientWidth;\n const scrollableWidth = scrollEl.scrollWidth - scrollEl.clientWidth;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const thumbTravel = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n if (thumbTravel <= 0) {\n return;\n }\n scrollEl.scrollLeft += (deltaX / thumbTravel) * scrollableWidth;\n updateMetrics();\n });\n\n useEffect(() => {\n if (!enabled) {\n scrollElRef.current = null;\n viewportStateRef.current = null;\n setMetrics(null);\n return undefined;\n }\n\n const root = containerRef.current;\n if (!root) {\n return undefined;\n }\n\n let scrollEl = null;\n let unobserveViewport = null;\n let contentResizeObserver = null;\n\n const detachScrollEl = () => {\n unobserveViewport?.();\n unobserveViewport = null;\n if (!scrollEl) {\n return;\n }\n scrollEl.removeEventListener('scroll', updateMetrics);\n contentResizeObserver?.disconnect();\n contentResizeObserver = null;\n scrollElRef.current = null;\n viewportStateRef.current = null;\n scrollEl = null;\n };\n\n const attachScrollEl = nextScrollEl => {\n if (!nextScrollEl || nextScrollEl === scrollEl) {\n return;\n }\n detachScrollEl();\n scrollEl = nextScrollEl;\n scrollElRef.current = scrollEl;\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\n scrollEl.addEventListener('scroll', updateMetrics, { passive: true });\n contentResizeObserver = new ResizeObserver(updateMetrics);\n contentResizeObserver.observe(scrollEl);\n Array.from(scrollEl.children).forEach(child => {\n contentResizeObserver.observe(child);\n });\n };\n\n const onLayoutChange = () => {\n attachScrollEl(getTableScrollElement(root));\n updateMetrics();\n };\n\n const containerResizeObserver = new ResizeObserver(onLayoutChange);\n containerResizeObserver.observe(root);\n onLayoutChange();\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n };\n }, [enabled, updateMetrics]);\n\n return (\n <>\n <div ref={setContainerRef} className={className}>\n {children}\n </div>\n {enabled ? <FloatingScrollBar metrics={metrics} onThumbDrag={handleThumbDrag} getPortalContainer={getPortalContainer} /> : null}\n </>\n );\n});\n\nexport default HorizontalScroller;\n","import React, { useMemo } from 'react';\nimport { Button, Dropdown } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport { FilterProvider, FilterLines, FilterValueDisplay, SearchInput } from '@kne/react-filter';\nimport '@kne/react-filter/dist/index.css';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport style from './tableToolbar.module.scss';\n\nconst TableToolbar = ({ filterValue, onFilterChange, filter, search, batchActions, rowSelection, selectedRows, batchContext }) => {\n const { formatMessage } = useIntl();\n const selectedRowKeys = rowSelection?.selectedRowKeys || [];\n const hasSelection = selectedRowKeys.length > 0;\n\n const batchMenuItems = useMemo(() => {\n if (!Array.isArray(batchActions) || batchActions.length === 0) {\n return [];\n }\n return batchActions.map(item => {\n const { key, label, disabled, danger, onClick } = item;\n const isDisabled = disabled ?? !hasSelection;\n return {\n key: key || label,\n label,\n danger,\n disabled: isDisabled,\n onClick: () => {\n if (isDisabled) {\n return;\n }\n onClick?.({\n selectedRowKeys,\n selectedRows: selectedRows || [],\n rowSelection,\n ...batchContext\n });\n }\n };\n });\n }, [batchActions, batchContext, hasSelection, rowSelection, selectedRowKeys, selectedRows]);\n\n const showBatch = batchMenuItems.length > 0;\n const showFilter = filter?.list?.length > 0;\n const showSearch = search && search.name;\n\n if (!showBatch && !showFilter && !showSearch) {\n return null;\n }\n\n const { list: filterList, displayLine = 1, extraExpand, className: filterClassName, ...filterRest } = filter || {};\n const { className: searchClassName, style: searchStyle, ...searchRest } = search || {};\n\n const hasValueDisplay = filterValue?.length > 0;\n\n return (\n <FilterProvider value={filterValue} onChange={onFilterChange}>\n <div\n className={classnames(style['table-toolbar-section'], 'table-page-toolbar-section', {\n [style['has-value-display']]: hasValueDisplay,\n 'table-page-toolbar-section--has-value': hasValueDisplay\n })}\n >\n <div className={style['table-toolbar']}>\n {showBatch ? (\n <>\n <div className={style['table-toolbar-batch']}>\n <Dropdown disabled={!hasSelection} menu={{ items: batchMenuItems }} trigger={['click']}>\n <Button size=\"small\" disabled={!hasSelection} className={style['table-toolbar-batch-btn']}>\n {hasSelection ? formatMessage({ id: 'BatchOperationsWithCount' }, { count: selectedRowKeys.length }) : formatMessage({ id: 'BatchOperations' })}\n <DownOutlined />\n </Button>\n </Dropdown>\n </div>\n {(showFilter || showSearch) && <span className={style['table-toolbar-divider']} aria-hidden />}\n </>\n ) : null}\n {showFilter ? (\n <div className={style['table-toolbar-filter']}>\n <div className={classnames(style['table-toolbar-filter-inner'], filterClassName)}>\n <FilterLines list={filterList} displayLine={displayLine} label=\"\" {...filterRest} />\n </div>\n </div>\n ) : null}\n {showSearch ? (\n <>\n {showFilter && <span className={style['table-toolbar-divider']} aria-hidden />}\n <div className={style['table-toolbar-search']}>\n <SearchInput allowClear bordered={false} variant=\"filled\" size=\"small\" className={classnames(style['table-toolbar-search-input'], searchClassName)} style={searchStyle} {...searchRest} />\n </div>\n </>\n ) : null}\n </div>\n {hasValueDisplay ? (\n <div className={style['table-toolbar-value-display']}>\n <FilterValueDisplay value={filterValue} onChange={onFilterChange} extraExpand={extraExpand} />\n </div>\n ) : null}\n </div>\n </FilterProvider>\n );\n};\n\nexport default TableToolbar;\n","import { withFetch } from '@kne/react-fetch';\nimport { Pagination } from 'antd';\nimport { getFilterValue } from '@kne/react-filter';\nimport Table from '../Table';\nimport TableView from '../TableView';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport useRefCallback from '@kne/use-ref-callback';\nimport { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\nimport withLocale from '../withLocale';\nimport HorizontalScroller from './HorizontalScroller';\nimport TableToolbar from './TableToolbar';\nimport { getTableElement, isTopEdgeInViewport, parsePixelValue } from './scrollUtils';\n\nconst readPageSize = key => {\n try {\n const value = localStorage.getItem(key);\n if (value == null || value === '') {\n return null;\n }\n const num = Number(value);\n return Number.isNaN(num) ? null : num;\n } catch {\n return null;\n }\n};\n\nconst writePageSize = (key, size) => {\n try {\n localStorage.setItem(key, String(size));\n } catch {\n // ignore quota errors\n }\n};\n\nconst isTableTopInViewport = target => {\n const scrollMarginTop = parsePixelValue(getComputedStyle(target).scrollMarginTop);\n return isTopEdgeInViewport(target, scrollMarginTop);\n};\n\nconst scrollTableIntoView = root => {\n const target = getTableElement(root);\n if (!target) {\n return;\n }\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTableTopInViewport(target)) {\n return;\n }\n target.scrollIntoView({ block: 'start', inline: 'nearest' });\n });\n });\n};\n\nconst TABLE_COMPONENTS = {\n Table,\n TableView\n};\n\nconst collectFilterFieldNames = (filter, search) => {\n const names = new Set();\n if (search?.name) {\n names.add(search.name);\n }\n if (Array.isArray(filter?.list)) {\n filter.list.forEach(row => {\n if (!Array.isArray(row)) {\n return;\n }\n row.forEach(item => {\n const name = item?.props?.name;\n if (name) {\n names.add(name);\n }\n });\n });\n }\n return names;\n};\n\nconst omitFilterParams = (params, filterFieldNames) => {\n const next = Object.assign({}, params);\n filterFieldNames.forEach(name => {\n delete next[name];\n });\n return next;\n};\n\nconst TablePageInnerContent = withLocale(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n loadMore,\n send,\n dataFormat = data => {\n return {\n list: data.pageData,\n total: data.totalCount,\n data\n };\n },\n className,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky,\n renderType = 'Table',\n horizontalScroller = true,\n getScrollContainer,\n filter,\n search,\n batchActions,\n selectedRows,\n rowSelection,\n ...props\n }) => {\n const { formatMessage } = useIntl();\n const tableContentRef = useRef(null);\n const pendingScrollRef = useRef(false);\n const handlerDataFormat = useRefCallback(dataFormat);\n const isFilterControlled = filter && filter.value !== undefined;\n const [internalFilterValue, setInternalFilterValue] = useState(() => filter?.defaultValue || []);\n const filterValue = isFilterControlled ? filter.value : internalFilterValue;\n const mapFilterValue = filter?.mapFilterValue || getFilterValue;\n\n const getFilterParams = useRefCallback(value => {\n return mapFilterValue(value || []);\n });\n\n const filterFieldNames = useMemo(() => collectFilterFieldNames(filter, search), [filter, search]);\n\n const buildRequestParamsWithFilter = useRefCallback((value, extra = {}) => {\n return Object.assign({}, omitFilterParams(get(requestParams, pagination.paramsType), filterFieldNames), extra, getFilterParams(value));\n });\n\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const resolvedColumns = typeof getColumns === 'function' ? getColumns(data) : typeof columns === 'function' ? columns(data) : columns;\n\n const fetchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const scrollTable = useRefCallback(() => {\n scrollTableIntoView(tableContentRef.current);\n });\n\n const handleFilterChange = useRefCallback(value => {\n if (!isFilterControlled) {\n setInternalFilterValue(value);\n }\n filter?.onChange?.(value);\n reload({\n [pagination.paramsType]: buildRequestParamsWithFilter(value, {\n [pagination.currentName]: 1\n })\n });\n });\n\n useEffect(() => {\n if (!pendingScrollRef.current || !isComplete) {\n return;\n }\n pendingScrollRef.current = false;\n scrollTable();\n }, [isComplete, data, scrollTable]);\n\n const handlePaginationChange = useRefCallback((page, size) => {\n pendingScrollRef.current = true;\n if (typeof pagination.onChange === 'function') {\n pagination.onChange(page, size);\n return;\n }\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === 'refresh' ? refresh : reload)({\n [pagination.paramsType]: buildRequestParamsWithFilter(filterValue, {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: Number(size)\n })\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, Number(size));\n }\n });\n\n const paginationConfig = useMemo(() => {\n if (!pagination.open) {\n return null;\n }\n return {\n total: formatData.total,\n showTotal:\n typeof pagination.showTotal === 'function'\n ? pagination.showTotal\n : total => (\n <>\n {formatMessage({ id: 'TotalText' })}&nbsp;\n <span className={style['total_text']}>{total}</span>\n &nbsp;\n {formatMessage({ id: 'ItemText' })}\n </>\n ),\n current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: Number(get(requestParams, [pagination.paramsType, pagination.pageSizeName], pagination.pageSize)) || pagination.pageSize || 20,\n onChange: handlePaginationChange,\n size: pagination.size,\n hideOnSinglePage: pagination.hideOnSinglePage,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions\n };\n }, [pagination, formatData.total, requestParams, formatMessage, handlePaginationChange]);\n\n const hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n\n const batchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const tableProps = {\n ...props,\n rowSelection,\n dataSource: formatData.list,\n pagination: false,\n sticky,\n className: classnames(className, {\n [style['table-in-toolbar']]: hasToolbar\n }),\n columns: resolvedColumns,\n columnRenderProps: {\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data\n },\n summary:\n typeof summary === 'function'\n ? (pageData, ...args) => {\n return summary(Object.assign({}, fetchContext, { pageData }, ...args));\n }\n : null\n };\n\n const TableComponent = TABLE_COMPONENTS[renderType] || Table;\n\n const tableElement = <TableComponent {...tableProps} />;\n\n return (\n <div className={style['table-page']}>\n <HorizontalScroller\n ref={tableContentRef}\n enabled={horizontalScroller && renderType === 'Table'}\n getPortalContainer={getScrollContainer}\n className={classnames(style['table-content'], 'loading-container', {\n 'is-loading': !isComplete && !data\n })}\n >\n {hasToolbar ? (\n <div className={style['table-with-toolbar']}>\n <TableToolbar filterValue={filterValue} onFilterChange={handleFilterChange} filter={filter} search={search} batchActions={batchActions} rowSelection={rowSelection} selectedRows={selectedRows} batchContext={batchContext} />\n {tableElement}\n </div>\n ) : (\n tableElement\n )}\n </HorizontalScroller>\n {paginationConfig ? <Pagination className={style['pagination']} {...paginationConfig} /> : null}\n </div>\n );\n }\n);\n\nconst TablePageInner = withFetch(TablePageInnerContent);\n\nconst TablePage = forwardRef(({ pagination, horizontalScroller = true, getScrollContainer, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n hideOnSinglePage: false,\n open: true,\n paramsType: 'data',\n requestType: 'reload',\n currentName: 'currentPage',\n pageSizeName: 'perPage',\n pageSize: 20\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(() => readPageSize(pageSizeKey) ?? pagination.pageSize);\n const params = props[pagination.paramsType];\n const filterDefaultParams = useMemo(() => {\n if (!props.filter?.defaultValue?.length) {\n return {};\n }\n const mapFilterValue = props.filter.mapFilterValue || getFilterValue;\n return mapFilterValue(props.filter.defaultValue);\n }, [props.filter]);\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, filterDefaultParams, {\n [pagination.pageSizeName]: pageSize\n })\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize, filterDefaultParams]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n horizontalScroller={horizontalScroller}\n getScrollContainer={getScrollContainer}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n const nextSize = Number(size);\n writePageSize(pageSizeKey, nextSize);\n setPageSize(nextSize);\n }\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","import merge from 'lodash/merge';\nimport './renderType';\nimport { globalParams } from './globalParams';\n\nconst preset = props => {\n const next = merge({}, globalParams, props);\n merge(globalParams, props);\n return next;\n};\n\nexport { globalParams };\nexport default preset;\n"],"names":["this","calcArgs","args","template","attr","normal","groupBy","item","test","output","typeTransform","value","type","String","Number","forEach","target","index","currentTemplate","Object","assign","defaultValue","get","name","key","split","find","transform","result","hasOwnProperty","defaultFormat","date","dayjs","format","datetime","dateRange","allowNull","isEmpty","boolean","trueValue","toString","number","style","unit","maximumFractionDigits","useGrouping","roundingMode","suffix","Intl","NumberFormat","money","formatView","context","formatList","filter","length","reduce","map","replace","globalParams","renderType","renderTypeSize","tagTypeColors","defaultRender","Ellipsis","children","ellipsis","userConfig","showTitle","rest","_jsx","Typography","Text","className","tooltip","rootClassName","main","column","dataSource","hover","primary","onClick","ellipsisConfig","showTooltip","text","classnames","e","colItem","event","undefined","Tooltip","title","ellipsisStyle","amount","DEFAULT_TAG_TYPE_COLORS","default","success","progress","processing","danger","error","warning","info","other","skill","filterResult","completed","pending","high","medium","low","getTagColor","customColors","normalizeTagItem","label","renderTagItem","tag","color","Tag","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_SPLIT","normalizeListValue","items","list","getListItemText","normalized","join","SELECTION_CHECKBOX_WIDTH","SELECTION_RADIO_WIDTH","DEFAULT_COLUMN_WIDTH","parseColumnWidth","width","isNaN","trimmed","trim","pxMatch","match","parseFloat","num","getResolvedColumnWidth","resolveColumnDimensions","hasColumnSpan","span","getConfiguredColumnWidthPx","usesDefaultColumnWidth","columns","some","hasColumnWidth","shouldLastColumnFillRemaining","getColumnWidthPx","colsSize","configured","measured","Math","max","formatColumnWidthPx","px","getColumnTrackSize","defaultSpan","isLastColumn","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","_ref","renderers","_objectWithoutPropertiesLoose","_excluded","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","_getRenderTypeRegistr","getColumnRender","render","_parseRenderType","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","_parseRenderType2","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","_resolveColumnDimensi","_ref2","renderFn","_extends","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","_Object$assign","rowKey","_Object$assign$type","_useState","useState","selectedRows","setSelectedRows","getRowId","useCallback","selectedRowKeys","useMemo","setSelectedRowKeys","keySet","Set","has","clearSelectedRows","onSelectAll","checked","_selected","ids","existingKeys","indexOf","onSelect","newValue","slice","findIndex","row","splice","getRowSelection","extra","onChange","id","meta","allowSelectedAll","sortArrayToMap","sort","Map","useControlValue","internalValue","setInternalValue","isControlled","currentValue","setValue","updater","nextValue","compareValues","a","b","direction","emptyA","emptyB","strA","strB","localeCompare","sortDataSource","_sort","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","_jsxs","useSort","props","_useControlValue","defaultSort","onSortChange","setSort","mapSort","setMapSort","callback","currentSort","newSort","from","_ref3","sortValue","_ref4","stopPropagation","sortMap","current","targetValue","clone","set","delete","CaretUpOutlined","CaretDownOutlined","locale","TotalText","ItemText","UnnamedColumn","EditTable","RestoreDefault","VisibleInfo","HiddenInfo","Search","BatchOperations","BatchOperationsWithCount","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","filterZhCN","zhCN","filterEnUS","enUS","namespace","_finallyRethrows","body","finalizer","then","bind","ColumnsControlContent","close","onConfirm","config","formatMessage","useIntl","searchText","setSearchText","confirmLoading","setConfirmLoading","scrollEl","setScrollEl","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","fixed","sortableVisibleColumns","handlerColumnsChange","columnsState","newConfig","cloneDeep","columnsList","concat","col","renderColumn","_Fragment","titleText","groupHeader","collapseItems","Checkbox","disabled","ReactSortable","dragClass","ghostClass","chosenClass","forceFallback","fallbackOnBody","scroll","bubbleScroll","setList","nextVisibleColumns","animation","delayOnTouchStart","delay","HolderOutlined","preventDefault","visible","Row","Col","Input","onSearch","allowClear","List","renderItem","Item","Button","icon","RedoOutlined","_temp","_onConfirm","Promise","resolve","reject","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","loading","_temp3","_temp2","_onConfirm2","_wasThrown","_result","storageKey","readStorage","JSON","parse","localStorage","getItem","_unused","writeStorage","data","setItem","stringify","_unused2","getData","setData","tableLocalApis","TABLE_CONFIG_COLUMN_EXTRA_WIDTH","DEFAULT_WIDTH","DEFAULT_MIN","DEFAULT_MAX","getColumnSize","_column$min","_column$max","getConfigColumnExtraWidth","columnCount","controllerOpen","withConfigColumnExtra","contentWidth","TableConfigButton","setConfig","open","setOpen","configStyle","flex","Popover","onOpenChange","trigger","placement","styles","container","padding","content","configValue","pick","SettingOutlined","useTableConfig","_ref2$controllerOpen","_ref2$tableWidth","tableWidth","_ref2$tableServerApis","tableServerApis","_useState2","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","_useState3","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","_getColumnSize","computedRealWidth","getConfigWidth","_getColumnSize2","currentWidth","resizeBarRender","onMouseDown","_getConfigWidth","clientX","resize","useRefCallback","delta","_currentMoveColumnRef","colName","_ref4$withResize","withResize","_ref4$withConfig","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","_ref5","_getConfigWidth2","realWidth","movingClass","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","useGroupHeader","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","groupList","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","useElementWidth","setWidth","el","update","clientWidth","resizeObserver","ResizeObserver","observe","disconnect","renderCellContent","contentClassName","wrapEllipsis","needsWidthConstraint","Boolean","inner","getColumnEllipsis","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","call","arguments","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","headerStyle","_props$pagination","pagination","summary","others","setTimeout","_useTableConfig","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","root","headerCell","querySelector","tableContainer","headerRect","getBoundingClientRect","resizeBar","barRect","containerRect","position","left","round","right","top","height","zIndex","useLayoutEffect","handleUpdate","window","targetColumns","__index","_useGroupHeader","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","_computeColumnsValue","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","tableElement","AntTable","showHeader","pageData","offsetHeader","tableLayout","onHeaderRow","emptyText","rowClassName","isChecked","onRow","wrappedTable","header","renderBody","Label","handlerChange","computed","renderHeaderCellContent","setColsSize","renderHeaderGridCells","cells","checkedAll","every","indeterminate","columnStyle","Header","getLayoutColumns","TableView","layoutColumns","assignedSpan","undistributedColCount","gridTemplateColumns","headerCellProps","handleRowClick","renderBodyGridCells","getId","columnsValue","onSelectionChange","_getColumnLayout","CheckOutlined","renderGrid","parsePixelValue","getViewportRect","visualViewport","offsetTop","bottom","offsetLeft","innerHeight","innerWidth","getTableElement","getTableScrollElement","getElementViewportState","element","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","isTopEdgeInViewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","FloatingScrollBar","metrics","onThumbDrag","getPortalContainer","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","createPortal","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","setContainerRef","updateMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","hasSelection","batchMenuItems","isDisabled","showBatch","showFilter","showSearch","filterList","displayLine","extraExpand","filterClassName","filterRest","searchClassName","searchStyle","searchRest","hasValueDisplay","FilterProvider","Dropdown","menu","count","DownOutlined","FilterLines","SearchInput","variant","FilterValueDisplay","readPageSize","writePageSize","isTableTopInViewport","getComputedStyle","scrollTableIntoView","requestAnimationFrame","scrollIntoView","block","inline","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","next","TablePageInnerContent","_filter$list","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","_ref$dataFormat","dataFormat","total","totalCount","getColumns","_ref$pagination","_ref$columnRenderProp","columnRenderProps","_ref$renderType","_ref$horizontalScroll","horizontalScroller","getScrollContainer","_useIntl","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","hasToolbar","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","_ref2$horizontalScrol","_excluded2","pageSizeKey","toUpperCase","_readPageSize","setPageSize","filterDefaultParams","_props$filter","fetchParams","nextSize","preset","merge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAkH,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,4FAA4F,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;;;ACMj/N,MAAMC,QAAQ,GAAGA,CAACC,IAAI,EAAEC,QAAQ,KAAK;EAC1C,MAAM;IAAEC,IAAI;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,2BAAO,CAACJ,IAAI,EAAEK,IAAI,IAAK,SAAS,CAACC,IAAI,CAACD,IAAI,CAAC,GAAG,MAAM,GAAG,QAAS,CAAC,CAAA;EAC1F,MAAME,MAAM,GAAG,EAAE,CAAA;AAEjB,EAAA,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;IACrC,IAAIA,IAAI,KAAK,QAAQ,EAAE;MACrB,OAAOC,MAAM,CAACF,KAAK,CAAC,CAAA;AACtB,KAAA;IACA,IAAIC,IAAI,KAAK,QAAQ,EAAE;MACrB,OAAOE,MAAM,CAACH,KAAK,CAAC,CAAA;AACtB,KAAA;IACA,IAAIC,IAAI,KAAK,SAAS,EAAE;MACtB,OAAOD,KAAK,KAAK,MAAM,CAAA;AACzB,KAAA;AACA,IAAA,OAAOA,KAAK,CAAA;GACb,CAAA;EAED,CAACN,MAAM,IAAI,EAAE,EAAEU,OAAO,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IACxC,MAAMC,eAAe,GAAGC,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE;AAAER,MAAAA,IAAI,EAAE,QAAQ;AAAES,MAAAA,YAAY,EAAE,EAAA;AAAG,KAAC,EAAEC,uBAAG,CAACnB,QAAQ,EAAEc,KAAK,CAAC,CAAC,CAAA;AACrG,IAAA,IAAIC,eAAe,CAACK,IAAI,IAAIP,MAAM,EAAE;AAClCP,MAAAA,MAAM,CAACS,eAAe,CAACK,IAAI,CAAC,GAAGb,aAAa,CAACM,MAAM,EAAEE,eAAe,CAACN,IAAI,CAAC,CAAA;AAC5E,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,CAACR,IAAI,IAAI,EAAE,EAAEW,OAAO,CAACC,MAAM,IAAI;IAC7B,MAAM,CAACQ,GAAG,EAAEb,KAAK,CAAC,GAAGK,MAAM,CAACS,KAAK,CAAC,GAAG,CAAC,CAAA;AACtC,IAAA,MAAMP,eAAe,GAAGf,QAAQ,CAACuB,IAAI,CAACnB,IAAI,IAAIA,IAAI,CAACgB,IAAI,KAAKC,GAAG,CAAC,CAAA;IAChE,IAAI,CAACN,eAAe,EAAE;AACpB,MAAA,OAAA;AACF,KAAA;IACA,MAAM;MAAEK,IAAI;AAAEX,MAAAA,IAAAA;AAAK,KAAC,GAAGO,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE;AAAER,MAAAA,IAAI,EAAE,QAAQ;AAAES,MAAAA,YAAY,EAAE,EAAA;KAAI,EAAEH,eAAe,CAAC,CAAA;IAC/FT,MAAM,CAACc,IAAI,CAAC,GAAGb,aAAa,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAA;AAC3C,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOO,MAAM,CAACC,MAAM,CAClB,EAAE,EACFO,6BAAS,CACPxB,QAAQ,EACR,CAACyB,MAAM,EAAEjB,KAAK,KAAK;IACjB,IAAIA,KAAK,CAACY,IAAI,IAAIZ,KAAK,CAACkB,cAAc,CAAC,cAAc,CAAC,EAAE;MACtDD,MAAM,CAACjB,KAAK,CAACY,IAAI,CAAC,GAAGZ,KAAK,CAACU,YAAY,CAAA;AACzC,KAAA;AACF,GAAC,EACD,EACF,CAAC,EACDZ,MACF,CAAC,CAAA;AACH,CAAC,CAAA;AAEM,MAAMqB,aAAa,GAAG;EAC3BC,IAAI,EAAEA,CAACpB,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;AACzB,IAAA,MAAMC,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAA;IACxC,OAAO8B,SAAK,CAACrB,KAAK,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,CAAA;GACrC;EACD+B,QAAQ,EAAEA,CAACvB,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;AAC7B,IAAA,MAAMC,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAA;IACjD,OAAO8B,SAAK,CAACrB,KAAK,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,CAAA;GACrC;EACDgC,SAAS,EAAEA,CAACxB,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;AAC9B,IAAA,MAAMC,QAAQ,GAAGD,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY;AACtCkC,MAAAA,SAAS,GAAGlC,IAAI,CAAC,CAAC,CAAC,CAAA;AACrB,IAAA,IAAI,CAACmC,eAAO,CAAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC0B,eAAO,CAAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;MAC5C,OAAO,CAAA,EAAGqB,SAAK,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,IAAI6B,SAAK,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,CAAE,CAAA,CAAA;AAClF,KAAA;AACA,IAAA,IAAIiC,SAAS,KAAK,OAAO,IAAI,CAACC,eAAO,CAAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/C,MAAA,OAAO,CAAGqB,EAAAA,SAAK,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,CAAI,EAAA,CAAA,CAAA;AAChD,KAAA;AACA,IAAA,IAAIiC,SAAS,KAAK,OAAO,IAAI,CAACC,eAAO,CAAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/C,MAAA,OAAO,CAAGqB,EAAAA,SAAK,CAACrB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACsB,MAAM,CAAC9B,QAAQ,CAAC,CAAI,EAAA,CAAA,CAAA;AAChD,KAAA;AACA,IAAA,OAAO,EAAE,CAAA;GACV;EACDmC,OAAO,EAAEA,CAAC3B,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;AAC5B,IAAA,MAAMqC,SAAS,GAAGrC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAA;IACnC,IAAI,CAACS,KAAK,IAAI,EAAE,EAAE6B,QAAQ,EAAE,KAAKD,SAAS,EAAE;AAC1C,MAAA,OAAO,GAAG,CAAA;AACZ,KAAA;AACA,IAAA,OAAO,GAAG,CAAA;GACX;EACDE,MAAM,EAAEA,CAAC9B,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;IAC3B,MAAM;MAAEwC,KAAK;MAAEC,IAAI;MAAEC,qBAAqB;MAAEC,WAAW;MAAEC,YAAY;AAAEC,MAAAA,MAAAA;AAAO,KAAC,GAAG9C,QAAQ,CAACC,IAAI,EAAE,CAC/F;AACEqB,MAAAA,IAAI,EAAE,OAAO;AACbX,MAAAA,IAAI,EAAE,QAAQ;AACdS,MAAAA,YAAY,EAAE,SAAA;AAChB,KAAC,EACD;AACEE,MAAAA,IAAI,EAAE,MAAM;AACZX,MAAAA,IAAI,EAAE,QAAQ;AACdS,MAAAA,YAAY,EAAE,CAAA;AAChB,KAAC,EACD;AACEE,MAAAA,IAAI,EAAE,uBAAuB;AAC7BX,MAAAA,IAAI,EAAE,QAAQ;AACdS,MAAAA,YAAY,EAAE,CAAA;AAChB,KAAC,EACD;AACEE,MAAAA,IAAI,EAAE,aAAa;AACnBX,MAAAA,IAAI,EAAE,SAAS;AACfS,MAAAA,YAAY,EAAE,IAAA;AAChB,KAAC,EACD;AACEE,MAAAA,IAAI,EAAE,cAAc;AACpBX,MAAAA,IAAI,EAAE,QAAQ;AACdS,MAAAA,YAAY,EAAE,YAAA;AAChB,KAAC,EACD;AACEE,MAAAA,IAAI,EAAE,QAAQ;AACdX,MAAAA,IAAI,EAAE,QAAQ;AACdS,MAAAA,YAAY,EAAE,EAAA;AAChB,KAAC,CACF,CAAC,CAAA;AAEF,IAAA,OACE,IAAI2B,IAAI,CAACC,YAAY,CACnB,EAAE,EACF;MACEP,KAAK;MACLE,qBAAqB;MACrBE,YAAY;AACZD,MAAAA,WAAAA;KAEJ,CAAC,CAACZ,MAAM,CAACtB,KAAK,GAAGgC,IAAI,CAAC,GAAGI,MAAM,CAAA;GAElC;EACDG,KAAK,EAAEA,CAACvC,KAAK,EAAE;AAAET,IAAAA,IAAAA;AAAK,GAAC,KAAK;AAC1B,IAAA,MAAMyC,IAAI,GAAGzC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;AAC3B,IAAA,OAAO,CAAGS,EAAAA,KAAK,CAAGgC,EAAAA,IAAI,CAAE,CAAA,CAAA;AAC1B,GAAA;AACF,CAAC,CAAA;AAED,MAAMQ,UAAU,GAAGA,CAACxC,KAAK,EAAEsB,MAAM,EAAEmB,OAAO,KAAK;EAC7C,IAAI,CAACnB,MAAM,EAAE;AACX,IAAA,OAAOtB,KAAK,CAAA;AACd,GAAA;AACA,EAAA,MAAM0C,UAAU,GAAGpB,MAAM,CAACR,KAAK,CAAC,GAAG,CAAC,CAAC6B,MAAM,CAAC/C,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,CAAA;AAC3D,EAAA,IAAI8C,UAAU,CAACE,MAAM,GAAG,CAAC,EAAE;IACzB,OAAOF,UAAU,CAACG,MAAM,CAAC,CAAC7C,KAAK,EAAEsB,MAAM,KAAK;AAC1C,MAAA,MAAM,CAACV,IAAI,EAAE,GAAGrB,IAAI,CAAC,GAAG+B,MAAM,CAACR,KAAK,CAAC,GAAG,CAAC,CAAA;AACzC,MAAA,IAAI,OAAOK,aAAa,CAACP,IAAI,CAAC,KAAK,UAAU,EAAE;AAC7C,QAAA,OAAOO,aAAa,CAACP,IAAI,CAAC,CACxBZ,KAAK,EACLQ,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEgC,OAAO,EAAE;AACzBlD,UAAAA,IAAI,EAAEA,IAAI,CAACuD,GAAG,CAAClD,IAAI,IAAI;AACrB,YAAA,OAAOA,IAAI,IAAIA,IAAI,CAACmD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;WACjE,CAAA;AACH,SAAC,CACH,CAAC,CAAA;AACH,OAAA;AACA,MAAA,OAAO/C,KAAK,CAAA;KACb,EAAEA,KAAK,CAAC,CAAA;AACX,GAAA;AACF,CAAC;;AC9JM,MAAMgD,YAAY,GAAG;AAC1BC,EAAAA,UAAU,EAAE,IAAI;EAChBC,cAAc,EAAE,EAAE;AAClBC,EAAAA,aAAa,EAAE,EAAC;AAClB;;ACJA,MAAMC,aAAa,GAAGpD,KAAK,IAAIA,KAAK;;;;ACIpC,MAAMqD,QAAQ,GAAGA,CAAC;EAAEC,QAAQ;AAAEC,EAAAA,QAAAA;AAAS,CAAC,KAAK;EAC3C,IAAI,CAACA,QAAQ,EAAE;AACb,IAAA,OAAOD,QAAQ,CAAA;AACjB,GAAA;EAEA,MAAME,UAAU,GAAG,OAAOD,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAG,EAAE,CAAA;EAC/D,MAAM;IAAEE,SAAS;IAAE,GAAGC,IAAAA;AAAK,GAAC,GAAGF,UAAU,CAAA;AAEzC,EAAA,oBACEG,cAAA,CAACC,eAAU,CAACC,IAAI,EAAA;AACdC,IAAAA,SAAS,EAAE/B,aAAK,CAAC,UAAU,CAAE;AAC7BwB,IAAAA,QAAQ,EAAE/C,MAAM,CAACC,MAAM,CACrB,EAAE,EACF;AACEsD,MAAAA,OAAO,EACLN,SAAS,KAAK,KAAK,GACf,KAAK,GACL;QACEO,aAAa,EAAEjC,aAAK,CAAC,SAAS,CAAA;AAChC,OAAA;KACP,EACD2B,IACF,CAAE;AAAAJ,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACM,CAAC,CAAA;AAEtB,CAAC;;;;ACxBD,MAAMW,IAAI,GAAGA,CAACjE,KAAK,EAAE;EAAEkE,MAAM;AAAEC,EAAAA,UAAAA;AAAW,CAAC,GAAG,EAAE,KAAK;EACnD,MAAM;AAAEZ,IAAAA,QAAQ,GAAG,IAAI;AAAEa,IAAAA,KAAK,GAAG,IAAI;AAAEC,IAAAA,OAAO,GAAG,IAAI;AAAEC,IAAAA,OAAAA;AAAQ,GAAC,GAAGJ,MAAM,IAAI,EAAE,CAAA;EAE/E,IAAI,CAACE,KAAK,IAAI,CAACC,OAAO,IAAI,CAACC,OAAO,EAAE;IAClC,oBAAOX,cAAA,CAACN,QAAQ,EAAA;AAACE,MAAAA,QAAQ,EAAEA,QAAS;AAAAD,MAAAA,QAAA,EAAEtD,KAAAA;AAAK,KAAW,CAAC,CAAA;AACzD,GAAA;EAEA,MAAMuE,cAAc,GAAG,OAAOhB,QAAQ,KAAK,QAAQ,GAAGA,QAAQ,GAAG,EAAE,CAAA;EACnE,MAAMiB,WAAW,GAAGjB,QAAQ,IAAIgB,cAAc,CAACd,SAAS,KAAK,KAAK,CAAA;EAElE,MAAMgB,IAAI,gBACRd,cAAA,CAAA,MAAA,EAAA;AACEG,IAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,MAAM,CAAC,EAAEwB,QAAQ,IAAIxB,OAAK,CAAC,UAAU,CAAC,EAAE;AAClE,MAAA,CAACA,OAAK,CAAC,OAAO,CAAC,GAAGqC,KAAK;AACvB,MAAA,CAACrC,OAAK,CAAC,SAAS,CAAC,GAAGsC,OAAAA;AACtB,KAAC,CAAE;AACHC,IAAAA,OAAO,EAAEA,OAAO,GAAGK,CAAC,IAAIL,OAAO,CAAC;AAAE1E,MAAAA,IAAI,EAAEI,KAAK;AAAE4E,MAAAA,OAAO,EAAET,UAAU;AAAEU,MAAAA,KAAK,EAAEF,CAAAA;KAAG,CAAC,GAAGG,SAAU;AAAAxB,IAAAA,QAAA,EAE3FtD,KAAAA;AAAK,GACF,CACP,CAAA;EAED,IAAI,CAACwE,WAAW,EAAE;AAChB,IAAA,OAAOC,IAAI,CAAA;AACb,GAAA;EAEA,oBACEd,cAAA,CAACoB,YAAO,EAAA;AAACC,IAAAA,KAAK,EAAEhF,KAAM;AAACgE,IAAAA,aAAa,EAAEiB,aAAa,CAAC,SAAS,CAAE;AAAA3B,IAAAA,QAAA,EAC5DmB,IAAAA;AAAI,GACE,CAAC,CAAA;AAEd,CAAC;;;;AClCD,MAAMS,MAAM,GAAGA,CAAClF,KAAK,EAAE;AAAEkE,EAAAA,MAAAA;AAAO,CAAC,GAAG,EAAE,KAAK;EACzC,MAAM;AAAEX,IAAAA,QAAQ,GAAG,IAAA;AAAK,GAAC,GAAGW,MAAM,IAAI,EAAE,CAAA;AAExC,EAAA,oBACEP,cAAA,CAAA,MAAA,EAAA;AAAMG,IAAAA,SAAS,EAAE/B,OAAK,CAAC,QAAQ,CAAE;IAAAuB,QAAA,eAC/BK,cAAA,CAACN,QAAQ,EAAA;AAACE,MAAAA,QAAQ,EAAEA,QAAS;AAAAD,MAAAA,QAAA,EAAEtD,KAAAA;KAAgB,CAAA;AAAC,GAC5C,CAAC,CAAA;AAEX,CAAC;;ACRD,MAAMmF,uBAAuB,GAAG;AAC9BC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,QAAQ,EAAE,YAAY;AACtBC,EAAAA,UAAU,EAAE,YAAY;AACxBC,EAAAA,MAAM,EAAE,OAAO;AACfC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,MAAM;AACZC,EAAAA,KAAK,EAAE,QAAQ;AACfC,EAAAA,KAAK,EAAE,SAAS;AAChB5E,EAAAA,MAAM,EAAE,SAAS;AACjB6E,EAAAA,YAAY,EAAE,MAAM;AACpBC,EAAAA,SAAS,EAAE,SAAS;AACpBC,EAAAA,OAAO,EAAE,SAAS;AAClBC,EAAAA,IAAI,EAAE,OAAO;AACbC,EAAAA,MAAM,EAAE,SAAS;AACjBC,EAAAA,GAAG,EAAE,SAAA;AACP,CAAC,CAAA;AAEYC,MAAAA,WAAW,GAAGnG,IAAI,IAAI;EACjC,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AACA,EAAA,MAAMoG,YAAY,GAAGrD,YAAY,CAACG,aAAa,IAAI,EAAE,CAAA;EACrD,OAAOkD,YAAY,CAACpG,IAAI,CAAC,IAAIkF,uBAAuB,CAAClF,IAAI,CAAC,IAAIA,IAAI,CAAA;AACpE,EAAC;AAEM,MAAMqG,gBAAgB,GAAG1G,IAAI,IAAI;EACtC,IAAIA,IAAI,IAAI,IAAI,EAAE;AAChB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IACxD,OAAO;MAAE6E,IAAI,EAAEvE,MAAM,CAACN,IAAI,CAAA;KAAG,CAAA;AAC/B,GAAA;AACA,EAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAOY,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEb,IAAI,EAAE;MAC7B6E,IAAI,EAAE7E,IAAI,CAAC6E,IAAI,IAAI7E,IAAI,CAAC0D,QAAQ,IAAI1D,IAAI,CAAC2G,KAAAA;AAC3C,KAAC,CAAC,CAAA;AACJ,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;MAEYC,aAAa,GAAGA,CAAC5G,IAAI,EAAEiB,GAAG,KAAK;AAC1C,EAAA,MAAM4F,GAAG,GAAGH,gBAAgB,CAAC1G,IAAI,CAAC,CAAA;AAClC,EAAA,IAAI,CAAC6G,GAAG,IAAKA,GAAG,CAAChC,IAAI,IAAI,IAAI,IAAIgC,GAAG,CAACnD,QAAQ,IAAI,IAAK,EAAE;AACtD,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,MAAM;IAAEmB,IAAI;IAAExE,IAAI;IAAEyG,KAAK;IAAEpD,QAAQ;IAAE,GAAGI,IAAAA;AAAK,GAAC,GAAG+C,GAAG,CAAA;EAEpD,oBACE9C,cAAA,CAACgD,QAAG,EAAA;AAAWD,IAAAA,KAAK,EAAEA,KAAK,IAAIN,WAAW,CAACnG,IAAI,CAAE;AAAA,IAAA,GAAKyD,IAAI;IAAAJ,QAAA,EACvDA,QAAQ,IAAImB,IAAAA;AAAI,GAAA,EADT5D,GAEL,CAAC,CAAA;AAEV,EAAC;AAEY+F,MAAAA,aAAa,GAAG5G,KAAK,IAAI;AACpC,EAAA,IAAI,CAAC6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAAC,IAAIA,KAAK,CAAC4C,MAAM,KAAK,CAAC,EAAE;AAC/C,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACEe,cAAA,CAACoD,UAAK,EAAA;AAACC,IAAAA,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;IAACC,IAAI,EAAA,IAAA;AAAA3D,IAAAA,QAAA,EACtBtD,KAAK,CAAC8C,GAAG,CAAC,CAAClD,IAAI,EAAEU,KAAK,KAAKkG,aAAa,CAAC5G,IAAI,EAAEU,KAAK,CAAC,CAAA;AAAC,GAClD,CAAC,CAAA;AAEZ;;ACtEA,MAAMmG,GAAG,GAAGzG,KAAK,IAAIwG,aAAa,CAACxG,KAAK,CAAC;;ACAzC,MAAMkH,OAAO,GAAGlH,KAAK,IAAI4G,aAAa,CAAC5G,KAAK,CAAC;;ACF7C,MAAMmH,aAAa,GAAG,GAAG,CAAA;AAEzB,MAAMC,kBAAkB,GAAGpH,KAAK,IAAI;AAClC,EAAA,IAAI6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAAC,EAAE;IACxB,OAAO;AAAEqH,MAAAA,KAAK,EAAErH,KAAK;AAAEc,MAAAA,KAAK,EAAEgE,SAAAA;KAAW,CAAA;AAC3C,GAAA;AACA,EAAA,IAAI9E,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AACtC,IAAA,MAAMqH,KAAK,GAAGrH,KAAK,CAACqH,KAAK,IAAIrH,KAAK,CAACsH,IAAI,IAAItH,KAAK,CAACA,KAAK,CAAA;AACtD,IAAA,IAAI6G,KAAK,CAACC,OAAO,CAACO,KAAK,CAAC,EAAE;MACxB,OAAO;QAAEA,KAAK;QAAEvG,KAAK,EAAEd,KAAK,CAACc,KAAAA;OAAO,CAAA;AACtC,KAAA;AACF,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAMyG,eAAe,GAAG3H,IAAI,IAAI;EAC9B,IAAIA,IAAI,IAAI,IAAI,EAAE;AAChB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;AAC5B,IAAA,OAAOA,IAAI,CAAC6E,IAAI,IAAI7E,IAAI,CAAC2G,KAAK,IAAI3G,IAAI,CAAC0D,QAAQ,IAAI1D,IAAI,CAACI,KAAK,CAAA;AAC/D,GAAA;AACA,EAAA,OAAOJ,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM0H,IAAI,GAAGA,CAACtH,KAAK,EAAE;AAAEkE,EAAAA,MAAAA;AAAO,CAAC,GAAG,EAAE,KAAK;AACvC,EAAA,MAAMsD,UAAU,GAAGJ,kBAAkB,CAACpH,KAAK,CAAC,CAAA;EAC5C,IAAI,CAACwH,UAAU,EAAE;AACf,IAAA,OAAOxH,KAAK,IAAI,IAAI,GAAG,IAAI,GAAGA,KAAK,CAAA;AACrC,GAAA;EAEA,MAAMc,KAAK,GAAG0G,UAAU,CAAC1G,KAAK,IAAIoD,MAAM,EAAEpD,KAAK,IAAIqG,aAAa,CAAA;EAChE,MAAM1C,IAAI,GAAG+C,UAAU,CAACH,KAAK,CAC1BvE,GAAG,CAACyE,eAAe,CAAC,CACpB5E,MAAM,CAAC/C,IAAI,IAAIA,IAAI,IAAI,IAAI,IAAIA,IAAI,KAAK,EAAE,CAAC,CAC3C6H,IAAI,CAAC3G,KAAK,CAAC,CAAA;EAEd,OAAO2D,IAAI,IAAI,IAAI,CAAA;AACrB,CAAC;;ACpCM,MAAMiD,wBAAwB,GAAG,EAAE,CAAA;AACnC,MAAMC,qBAAqB,GAAG,EAAE,CAAA;AAChC,MAAMC,oBAAoB,GAAG,GAAG,CAAA;AAEhC,MAAMC,gBAAgB,GAAGC,KAAK,IAAI;EACvC,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AACA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAC3H,MAAM,CAAC4H,KAAK,CAACD,KAAK,CAAC,EAAE;AACrD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,MAAME,OAAO,GAAGF,KAAK,CAACG,IAAI,EAAE,CAAA;AAC5B,IAAA,MAAMC,OAAO,GAAGF,OAAO,CAACG,KAAK,CAAC,eAAe,CAAC,CAAA;AAC9C,IAAA,IAAID,OAAO,EAAE;AACX,MAAA,OAAOE,UAAU,CAACF,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/B,KAAA;AACA,IAAA,MAAMG,GAAG,GAAGD,UAAU,CAACJ,OAAO,CAAC,CAAA;AAC/B,IAAA,IAAI,CAAC7H,MAAM,CAAC4H,KAAK,CAACM,GAAG,CAAC,EAAE;AACtB,MAAA,OAAOA,GAAG,CAAA;AACZ,KAAA;AACF,GAAA;AACA,EAAA,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAEM,MAAMC,sBAAsB,GAAGpE,MAAM,IAAIqE,uBAAuB,CAACrE,MAAM,CAAC,CAAC4D,KAAK,CAAA;AAE9E,MAAMU,aAAa,GAAGtE,MAAM,IAAIA,MAAM,CAACuE,IAAI,IAAI,IAAI,CAAA;AAEnD,MAAMC,0BAA0B,GAAGxE,MAAM,IAAI2D,gBAAgB,CAAC3D,MAAM,CAAC4D,KAAK,IAAI,IAAI,GAAG5D,MAAM,CAAC4D,KAAK,GAAGQ,sBAAsB,CAACpE,MAAM,CAAC,CAAC,CAAA;AAEnI,MAAMyE,sBAAsB,GAAGA,CAACzE,MAAM,EAAE0E,OAAO,KAAK;AACzD,EAAA,IAAIJ,aAAa,CAACtE,MAAM,CAAC,EAAE;AACzB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAIA,MAAM,CAAC4D,KAAK,IAAI,IAAI,EAAE;AACxB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAIY,0BAA0B,CAACxE,MAAM,CAAC,GAAG,CAAC,EAAE;AAC1C,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,OAAO,CAAC0E,OAAO,CAACC,IAAI,CAACL,aAAa,CAAC,CAAA;AACrC,CAAC,CAAA;AAEM,MAAMM,cAAc,GAAGA,CAAC5E,MAAM,EAAE0E,OAAO,KAAK;AACjD,EAAA,IAAIJ,aAAa,CAACtE,MAAM,CAAC,EAAE;AACzB,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,IAAIwE,0BAA0B,CAACxE,MAAM,CAAC,GAAG,CAAC,EAAE;AAC1C,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,OAAOyE,sBAAsB,CAACzE,MAAM,EAAE0E,OAAO,CAAC,CAAA;AAChD,CAAC,CAAA;AAEM,MAAMG,6BAA6B,GAAGH,OAAO,IAAI,CAACA,OAAO,CAACC,IAAI,CAACL,aAAa,CAAC,CAAA;AAE7E,MAAMQ,gBAAgB,GAAGA,CAAC9E,MAAM,EAAE+E,QAAQ,GAAG,EAAE,EAAEL,OAAO,GAAG,EAAE,KAAK;AACvE,EAAA,IAAIJ,aAAa,CAACtE,MAAM,CAAC,EAAE;AACzB,IAAA,OAAO+E,QAAQ,CAAC/E,MAAM,CAACtD,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,GAAA;AACA,EAAA,MAAMsI,UAAU,GAAGR,0BAA0B,CAACxE,MAAM,CAAC,CAAA;EACrD,IAAIgF,UAAU,GAAG,CAAC,EAAE;AAClB,IAAA,OAAOA,UAAU,CAAA;AACnB,GAAA;AACA,EAAA,IAAIP,sBAAsB,CAACzE,MAAM,EAAE0E,OAAO,CAAC,EAAE;IAC3C,MAAMO,QAAQ,GAAGF,QAAQ,CAAC/E,MAAM,CAACtD,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3C,IAAA,OAAOwI,IAAI,CAACC,GAAG,CAACzB,oBAAoB,EAAEuB,QAAQ,CAAC,CAAA;AACjD,GAAA;AACA,EAAA,OAAOF,QAAQ,CAAC/E,MAAM,CAACtD,IAAI,CAAC,IAAI,CAAC,CAAA;AACnC,CAAC,CAAA;AAEM,MAAM0I,mBAAmB,GAAGC,EAAE,IAAI,CAAA,EAAGA,EAAE,CAAI,EAAA,CAAA,CAAA;AAE3C,MAAMC,kBAAkB,GAAGA,CAACtF,MAAM,EAAE;EAAEuF,WAAW;EAAER,QAAQ;EAAES,YAAY;AAAEd,EAAAA,OAAAA;AAAQ,CAAC,GAAG,EAAE,KAAK;EACnG,MAAMe,OAAO,GAAGX,gBAAgB,CAAC9E,MAAM,EAAE+E,QAAQ,EAAEL,OAAO,CAAC,CAAA;AAC3D,EAAA,IAAIE,cAAc,CAAC5E,MAAM,EAAE0E,OAAO,CAAC,EAAE;AACnC,IAAA,IAAIc,YAAY,IAAIX,6BAA6B,CAACH,OAAO,CAAC,EAAE;MAC1D,OAAO,CAAA,OAAA,EAAUe,OAAO,CAAU,QAAA,CAAA,CAAA;AACpC,KAAA;IACA,OAAO,CAAA,EAAGA,OAAO,CAAI,EAAA,CAAA,CAAA;AACvB,GAAA;EACA,IAAIA,OAAO,GAAG,CAAC,EAAE;IACf,OAAO,CAAA,OAAA,EAAUA,OAAO,CAAU,QAAA,CAAA,CAAA;AACpC,GAAA;EACA,MAAMlB,IAAI,GAAGvE,MAAM,CAACuE,IAAI,IAAIgB,WAAW,IAAI,CAAC,CAAA;EAC5C,OAAO,CAAA,UAAA,EAAahB,IAAI,CAAK,GAAA,CAAA,CAAA;AAC/B,CAAC,CAAA;AAEM,MAAMmB,sBAAsB,GAAGA,CAAChB,OAAO,EAAE;EAAEa,WAAW;EAAER,QAAQ;AAAEY,EAAAA,YAAAA;AAAa,CAAC,GAAG,EAAE,KAAK;EAC/F,MAAMC,MAAM,GAAG,EAAE,CAAA;AACjB,EAAA,MAAMC,eAAe,GAAGnB,OAAO,CAAChG,MAAM,GAAG,CAAC,CAAA;AAE1C,EAAA,IAAIiH,YAAY,EAAE5J,IAAI,KAAK,UAAU,EAAE;AACrC6J,IAAAA,MAAM,CAACE,IAAI,CAAC,CAAGtC,EAAAA,wBAAwB,IAAI,CAAC,CAAA;AAC9C,GAAA;AAEAkB,EAAAA,OAAO,CAACxI,OAAO,CAAC,CAAC8D,MAAM,EAAE5D,KAAK,KAAK;AACjCwJ,IAAAA,MAAM,CAACE,IAAI,CACTR,kBAAkB,CAACtF,MAAM,EAAE;MACzBuF,WAAW;MACXR,QAAQ;MACRS,YAAY,EAAEpJ,KAAK,KAAKyJ,eAAe;AACvCnB,MAAAA,OAAAA;AACF,KAAC,CACH,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIiB,YAAY,EAAE5J,IAAI,KAAK,OAAO,EAAE;AAClC6J,IAAAA,MAAM,CAACE,IAAI,CAAC,CAAGrC,EAAAA,qBAAqB,IAAI,CAAC,CAAA;AAC3C,GAAA;AAEA,EAAA,OAAOmC,MAAM,CAACrC,IAAI,CAAC,GAAG,CAAC,CAAA;AACzB,CAAC,CAAA;AAEM,MAAMwC,eAAe,GAAGA,CAAC/F,MAAM,EAAE;EAAEuF,WAAW;EAAER,QAAQ;EAAES,YAAY;AAAEd,EAAAA,OAAAA;AAAQ,CAAC,GAAG,EAAE,KAAK;AAChG,EAAA,MAAMsB,UAAU,GAAGpB,cAAc,CAAC5E,MAAM,EAAE0E,OAAO,CAAC,CAAA;EAClD,MAAMe,OAAO,GAAGX,gBAAgB,CAAC9E,MAAM,EAAE+E,QAAQ,EAAEL,OAAO,CAAC,CAAA;EAC3D,MAAMuB,aAAa,GAAGT,YAAY,IAAIQ,UAAU,IAAInB,6BAA6B,CAACH,OAAO,CAAC,CAAA;EAE1F,OAAO;IACLsB,UAAU;IACVC,aAAa;AACbpI,IAAAA,KAAK,EAAE;AACL,MAAA,aAAa,EAAEuH,mBAAmB,CAACK,OAAO,CAAC;AAC3C,MAAA,aAAa,EAAEzF,MAAM,CAACkG,KAAK,IAAI,KAAK;AACpC,MAAA,eAAe,EAAElG,MAAM,CAACmG,OAAO,IAAI,YAAA;AACrC,KAAA;GACD,CAAA;AACH,CAAC;;;;AC3HD,MAAMC,mBAAmB,GAAGA,CAAC1K,IAAI,EAAE2K,eAAe,KAAK;EACrD,IAAI3K,IAAI,IAAI,IAAI,EAAE;AAChB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;AAC9B,IAAA,OAAOA,IAAI,CAAA;AACb,GAAA;AACA,EAAA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,OAAO;AAAE0D,MAAAA,QAAQ,EAAE1D,IAAI;AAAEK,MAAAA,IAAI,EAAE,MAAM;AAAE6D,MAAAA,SAAS,EAAEyG,eAAAA;KAAiB,CAAA;AACrE,GAAA;EACA,MAAM;IAAEjH,QAAQ;IAAEiD,KAAK;IAAE9B,IAAI;IAAEX,SAAS;IAAE,GAAGJ,IAAAA;AAAK,GAAC,GAAG9D,IAAI,CAAA;EAC1D,OAAO;AACLK,IAAAA,IAAI,EAAE,MAAM;AACZ,IAAA,GAAGyD,IAAI;AACPI,IAAAA,SAAS,EAAEY,8BAAU,CAAC6F,eAAe,EAAEzG,SAAS,CAAC;AACjDR,IAAAA,QAAQ,EAAEA,QAAQ,IAAIiD,KAAK,IAAI9B,IAAAA;GAChC,CAAA;AACH,CAAC,CAAA;AAED,MAAM+F,OAAO,GAAGA,CAACxK,KAAK,EAAE;AAAEkE,EAAAA,MAAAA;AAAO,CAAC,GAAG,EAAE,KAAK;EAC1C,IAAIoD,IAAI,GAAGtH,KAAK,CAAA;AAChB,EAAA,IAAIyK,gBAAgB,GAAGvG,MAAM,EAAEwG,WAAW,IAAI,EAAE,CAAA;EAEhD,IAAI1K,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAC6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAAC,IAAI6G,KAAK,CAACC,OAAO,CAAC9G,KAAK,CAACsH,IAAI,CAAC,EAAE;IAC5F,MAAM;AAAEA,MAAAA,IAAI,EAAEqD,SAAS;MAAE,GAAGjH,IAAAA;AAAK,KAAC,GAAG1D,KAAK,CAAA;AAC1CsH,IAAAA,IAAI,GAAGqD,SAAS,CAAA;AAChBF,IAAAA,gBAAgB,GAAG;AAAE,MAAA,GAAGA,gBAAgB;MAAE,GAAG/G,IAAAA;KAAM,CAAA;AACrD,GAAA;AAEA,EAAA,IAAI,CAACmD,KAAK,CAACC,OAAO,CAACQ,IAAI,CAAC,IAAIA,IAAI,CAAC1E,MAAM,KAAK,CAAC,EAAE;AAC7C,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,MAAMgI,gBAAgB,GAAGlG,8BAAU,CAAC3C,OAAK,CAAC,UAAU,CAAC,EAAEA,OAAK,CAAC,SAAS,CAAC,CAAC,CAAA;EACxE,MAAMwI,eAAe,GAAG7F,8BAAU,CAACkG,gBAAgB,EAAE7I,OAAK,CAAC,aAAa,CAAC,CAAC,CAAA;AAC1E,EAAA,MAAM8I,cAAc,GAAGvD,IAAI,CAACxE,GAAG,CAAClD,IAAI,IAAI0K,mBAAmB,CAAC1K,IAAI,EAAE2K,eAAe,CAAC,CAAC,CAAC5H,MAAM,CAAC/C,IAAI,IAAIA,IAAI,IAAI,IAAI,IAAI,CAACA,IAAI,CAACkL,MAAM,CAAC,CAAA;AAEhI,EAAA,IAAID,cAAc,CAACjI,MAAM,KAAK,CAAC,EAAE;AAC/B,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,MAAMkF,KAAK,GAAGD,gBAAgB,CAAC3D,MAAM,EAAE4D,KAAK,CAAC,CAAA;AAE7C,EAAA,oBACEnE,cAAA,CAAA,KAAA,EAAA;IAAKG,SAAS,EAAEY,8BAAU,CAACkG,gBAAgB,EAAE7I,OAAK,CAAC,gBAAgB,CAAC,CAAE;AAACA,IAAAA,KAAK,EAAE+F,KAAK,GAAG,CAAC,GAAG;MAAE,aAAa,EAAE,GAAGA,KAAK,CAAA,EAAA,CAAA;AAAK,KAAC,GAAGhD,SAAU;IAAAxB,QAAA,eACpIK,cAAA,CAACoH,+BAAW,EAAA;AAACC,MAAAA,QAAQ,EAAC,MAAM;AAACC,MAAAA,aAAa,EAAC,gBAAgB;AAAC3D,MAAAA,IAAI,EAAEuD,cAAe;MAAA,GAAKJ,gBAAAA;KAAmB,CAAA;AAAC,GACvG,CAAC,CAAA;AAEV,CAAC;;ACrDD,MAAMS,UAAU,GAAGlL,KAAK,IAAIyG,GAAG,CAACzG,KAAK,CAAC;;ACFtC,MAAMmL,WAAW,GAAGnL,KAAK,IAAIA,KAAK;;ACWlC,MAAMiD,UAAU,GAAG;AACjBmC,EAAAA,OAAO,EAAEhC,aAAa;EACtBa,IAAI;EACJiB,MAAM;EACNuB,GAAG;EACHS,OAAO;EACPI,IAAI;EACJkD,OAAO;AACPY,EAAAA,IAAI,EAAEF,UAAU;AAChBC,EAAAA,WAAAA;AACF,CAAC,CAAA;AAEDnI,YAAY,CAACC,UAAU,GAAGA,UAAU;;;ACpB7B,MAAMoI,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC;AAErD,MAAMC,QAAQ,GAAG;AACfrH,EAAAA,IAAI,EAAE;AACJ6D,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAG;AACR9F,IAAAA,QAAQ,EAAE,IAAA;GACX;AACD2B,EAAAA,MAAM,EAAE;AACN4C,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAG;AACR9F,IAAAA,QAAQ,EAAE,IAAA;GACX;AACDiH,EAAAA,OAAO,EAAE;AACP1C,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACD+B,EAAAA,IAAI,EAAE;AACJtD,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACD5C,EAAAA,GAAG,EAAE;AACHqB,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACDnC,EAAAA,OAAO,EAAE;AACPY,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACD/B,EAAAA,IAAI,EAAE;AACJQ,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAG;AACR9F,IAAAA,QAAQ,EAAE,IAAA;GACX;AACD4H,EAAAA,WAAW,EAAE;AACXrD,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAG;AACR9F,IAAAA,QAAQ,EAAE,IAAA;AACZ,GAAA;AACF,CAAC,CAAA;AAED,MAAMiI,WAAW,GAAG;AAClBC,EAAAA,KAAK,EAAE;AACL3D,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACDqC,EAAAA,KAAK,EAAE;AACL5D,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,EAAE;AACPlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACDjE,EAAAA,OAAO,EAAE;AACP0C,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;GACN;AACDsC,EAAAA,KAAK,EAAE;AACL7D,IAAAA,KAAK,EAAE,GAAG;AACVyD,IAAAA,GAAG,EAAE,GAAG;AACRlC,IAAAA,GAAG,EAAE,GAAA;AACP,GAAA;AACF,CAAC,CAAA;AAED,MAAMuC,qBAAqB,GAAGA,MAAM;AAClC,EAAA,MAAAC,IAAA,GAAiD7I,YAAY,CAACC,UAAU,IAAI,EAAE;IAA7DG,aAAa,GAAAyI,IAAA,CAAtBzG,OAAO;AAAoB0G,IAAAA,SAAS,GAAAC,6BAAA,CAAAF,IAAA,EAAAG,WAAA,CAAA,CAAA;EAC5C,OAAO;IAAE5I,aAAa;AAAE0I,IAAAA,SAAAA;GAAW,CAAA;AACrC,CAAC,CAAA;AAEYG,MAAAA,kBAAkB,GAAGA,MAAMzL,MAAM,CAAC0L,IAAI,CAACN,qBAAqB,EAAE,CAACE,SAAS,EAAC;AAEzEK,MAAAA,iBAAiB,GAAGF,kBAAkB,GAAE;AAErD,MAAMG,SAAS,GAAGnM,IAAI,IAAI;AACxB,EAAA,MAAAoM,qBAAA,GAAqCT,qBAAqB,EAAE;IAApDxI,aAAa,GAAAiJ,qBAAA,CAAbjJ,aAAa;IAAE0I,SAAS,GAAAO,qBAAA,CAATP,SAAS,CAAA;AAChC,EAAA,OAAOA,SAAS,CAAC7L,IAAI,CAAC,IAAImD,aAAa,CAAA;AACzC,CAAC,CAAA;AAEYkJ,MAAAA,eAAe,GAAGpI,MAAM,IAAI;EACvC,IAAI,QAAOA,MAAM,IAANA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEqI,MAAM,CAAA,KAAK,UAAU,EAAE;IACxC,OAAOrI,MAAM,CAACqI,MAAM,CAAA;AACtB,GAAA;EACA,MAAAC,gBAAA,GAAiBC,eAAe,CAACvI,MAAM,IAANA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEjB,UAAU,CAAC;IAA5ChD,IAAI,GAAAuM,gBAAA,CAAJvM,IAAI,CAAA;EACZ,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EACA,OAAOmM,SAAS,CAACnM,IAAI,CAAC,CAAA;AACxB,EAAC;AAED,MAAMyM,gBAAgB,GAAGA,MAAM;AAC7B,EAAA,MAAMC,aAAa,GAAG3J,YAAY,CAACE,cAAc,IAAI,EAAE,CAAA;EAEvD,OAAO+I,kBAAkB,EAAE,CAACpJ,MAAM,CAAC,CAAC5B,MAAM,EAAEJ,GAAG,KAAK;IAClDI,MAAM,CAACJ,GAAG,CAAC,GAAGL,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE6K,QAAQ,CAACzK,GAAG,CAAC,EAAE8L,aAAa,CAAC9L,GAAG,CAAC,EAAE;MAAE0L,MAAM,EAAEH,SAAS,CAACvL,GAAG,CAAA;AAAE,KAAC,CAAC,CAAA;AAC9F,IAAA,OAAOI,MAAM,CAAA;GACd,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,MAAM2L,aAAa,GAAGA,CAACC,WAAW,EAAEC,SAAS,EAAEC,SAAS,KAAK;EAC3D,IAAIF,WAAW,IAAI,IAAI,EAAE;AACvB,IAAA,OAAOA,WAAW,CAAA;AACpB,GAAA;EACA,IAAIE,SAAS,IAAI,IAAI,EAAE;AACrB,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;EACA,IAAID,SAAS,IAAI,IAAI,EAAE;AACrB,IAAA,OAAOA,SAAS,CAAA;AAClB,GAAA;AACA,EAAA,OAAOhI,SAAS,CAAA;AAClB,CAAC,CAAA;AAEY2H,MAAAA,eAAe,GAAGO,eAAe,IAAI;AAChD,EAAA,IAAI,CAACA,eAAe,IAAI,OAAOA,eAAe,KAAK,QAAQ,EAAE;IAC3D,OAAO;AAAE/M,MAAAA,IAAI,EAAE,IAAI;AAAE+G,MAAAA,IAAI,EAAE,IAAA;KAAM,CAAA;AACnC,GAAA;AAEA,EAAA,MAAMiG,eAAe,GAAGhB,kBAAkB,EAAE,CAAA;EAC5C,IAAIhM,IAAI,GAAG,IAAI,CAAA;EACf,IAAI+G,IAAI,GAAG,IAAI,CAAA;EAEfgG,eAAe,CAAClM,KAAK,CAAC,GAAG,CAAC,CAACV,OAAO,CAAC8M,IAAI,IAAI;IACzC,IAAI,CAACA,IAAI,EAAE;AACT,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAID,eAAe,CAACE,QAAQ,CAACD,IAAI,CAAC,EAAE;AAClCjN,MAAAA,IAAI,GAAGiN,IAAI,CAAA;AACX,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAI7B,UAAU,CAAC8B,QAAQ,CAACD,IAAI,CAAC,EAAE;AAC7BlG,MAAAA,IAAI,GAAGkG,IAAI,CAAA;AACb,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;IAAEjN,IAAI;AAAE+G,IAAAA,IAAAA;GAAM,CAAA;AACvB,EAAC;AAEYoG,MAAAA,uBAAuB,GAAGJ,eAAe,IAAI;AACxD,EAAA,MAAAK,iBAAA,GAAuBZ,eAAe,CAACO,eAAe,CAAC;IAA/C/M,IAAI,GAAAoN,iBAAA,CAAJpN,IAAI;IAAE+G,IAAI,GAAAqG,iBAAA,CAAJrG,IAAI,CAAA;AAClB,EAAA,MAAMsG,aAAa,GAAGZ,gBAAgB,EAAE,CAAA;EACxC,MAAMa,UAAU,GAAGtN,IAAI,GAAGqN,aAAa,CAACrN,IAAI,CAAC,GAAG,IAAI,CAAA;EACpD,MAAMuN,UAAU,GAAGxG,IAAI,GAAGwE,WAAW,CAACxE,IAAI,CAAC,GAAG,IAAI,CAAA;AAElD,EAAA,IAAI,CAACuG,UAAU,IAAI,CAACC,UAAU,EAAE;AAC9B,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,OAAO;IACLvN,IAAI;IACJ+G,IAAI;IACJuG,UAAU;IACVC,UAAU;AACVjB,IAAAA,MAAM,EAAEgB,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEhB,MAAM;AAC1BhJ,IAAAA,QAAQ,EAAEgK,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEhK,QAAAA;GACvB,CAAA;AACH,EAAC;AAEYgF,MAAAA,uBAAuB,GAAGrE,MAAM,IAAI;AAC/C,EAAA,MAAMuJ,oBAAoB,GAAGvJ,MAAM,IAAA,IAAA,IAANA,MAAM,CAAEjB,UAAU,GAAGmK,uBAAuB,CAAClJ,MAAM,CAACjB,UAAU,CAAC,GAAG,IAAI,CAAA;AACnG,EAAA,MAAMsK,UAAU,GAAGE,oBAAoB,IAApBA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAEF,UAAU,CAAA;AACnD,EAAA,MAAMC,UAAU,GAAGC,oBAAoB,IAApBA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAED,UAAU,CAAA;EAEnD,OAAO;IACL1F,KAAK,EAAE8E,aAAa,CAAC1I,MAAM,oBAANA,MAAM,CAAE4D,KAAK,EAAEyF,UAAU,oBAAVA,UAAU,CAAEzF,KAAK,EAAE0F,UAAU,oBAAVA,UAAU,CAAE1F,KAAK,CAAC;IACzEyD,GAAG,EAAEqB,aAAa,CAAC1I,MAAM,oBAANA,MAAM,CAAEqH,GAAG,EAAEgC,UAAU,oBAAVA,UAAU,CAAEhC,GAAG,EAAEiC,UAAU,oBAAVA,UAAU,CAAEjC,GAAG,CAAC;AACjElC,IAAAA,GAAG,EAAEuD,aAAa,CAAC1I,MAAM,IAANA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEmF,GAAG,EAAEkE,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAElE,GAAG,EAAEmE,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEnE,GAAG,CAAA;GACjE,CAAA;AACH,EAAC;AAEYqE,MAAAA,iBAAiB,GAAGV,eAAe,IAAI;AAAA,EAAA,IAAAW,iBAAA,EAAAC,eAAA,EAAAC,eAAA,CAAA;AAClD,EAAA,MAAMJ,oBAAoB,GAAGL,uBAAuB,CAACJ,eAAe,CAAC,CAAA;EACrE,IAAI,CAACS,oBAAoB,EAAE;AACzB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,MAAQxN,IAAI,GAAqDwN,oBAAoB,CAA7ExN,IAAI;IAAE+G,IAAI,GAA+CyG,oBAAoB,CAAvEzG,IAAI;IAAEuF,MAAM,GAAuCkB,oBAAoB,CAAjElB,MAAM;IAAEhJ,QAAQ,GAA6BkK,oBAAoB,CAAzDlK,QAAQ;IAAEgK,UAAU,GAAiBE,oBAAoB,CAA/CF,UAAU;IAAEC,UAAU,GAAKC,oBAAoB,CAAnCD,UAAU,CAAA;EAE5D,OAAO;IACLvN,IAAI;IACJ+G,IAAI;IACJuF,MAAM;IACNhJ,QAAQ;AACRuE,IAAAA,KAAK,EAAA6F,CAAAA,iBAAA,GAAEH,UAAU,oBAAVA,UAAU,CAAE1F,KAAK,KAAA,IAAA,GAAA6F,iBAAA,GAAIJ,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEzF,KAAK;AAC7CyD,IAAAA,GAAG,EAAAqC,CAAAA,eAAA,GAAEJ,UAAU,oBAAVA,UAAU,CAAEjC,GAAG,KAAA,IAAA,GAAAqC,eAAA,GAAIL,UAAU,IAAVA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,UAAU,CAAEhC,GAAG;AACvClC,IAAAA,GAAG,EAAAwE,CAAAA,eAAA,GAAEL,UAAU,oBAAVA,UAAU,CAAEnE,GAAG,KAAA,IAAA,GAAAwE,eAAA,GAAIN,UAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAVA,UAAU,CAAElE,GAAAA;GACrC,CAAA;AACH,EAAC;AAED,MAAMyE,sBAAsB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACjD,MAAMC,qBAAqB,GAAG,CAAC,SAAS,CAAC,CAAA;AAE5BC,MAAAA,aAAa,GAAG9J,MAAM,IAAI;EACrC,IAAI,CAACA,MAAM,EAAE;AACX,IAAA,OAAOA,MAAM,CAAA;AACf,GAAA;AAEA,EAAA,MAAMuJ,oBAAoB,GAAGvJ,MAAM,CAACjB,UAAU,GAAGmK,uBAAuB,CAAClJ,MAAM,CAACjB,UAAU,CAAC,GAAG,IAAI,CAAA;AAClG,EAAA,MAAAgL,qBAAA,GAA4B1F,uBAAuB,CAACrE,MAAM,CAAC;IAAnD4D,KAAK,GAAAmG,qBAAA,CAALnG,KAAK;IAAEyD,GAAG,GAAA0C,qBAAA,CAAH1C,GAAG;IAAElC,GAAG,GAAA4E,qBAAA,CAAH5E,GAAG,CAAA;AACvB,EAAA,MAAA6E,KAAA,GAA2BT,oBAAoB,IAAI,EAAE;IAA7ClK,QAAQ,GAAA2K,KAAA,CAAR3K,QAAQ;IAAEtD,IAAI,GAAAiO,KAAA,CAAJjO,IAAI,CAAA;AACtB,EAAA,MAAMkO,QAAQ,GAAG7B,eAAe,CAACpI,MAAM,CAAC,CAAA;AAExC,EAAA,OAAO1D,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEyD,MAAM,EAAAkK,QAAA,CACzBD,EAAAA,EAAAA,QAAQ,IAAI,OAAOjK,MAAM,CAACqI,MAAM,KAAK,UAAU,GAAG;AAAEA,IAAAA,MAAM,EAAE4B,QAAAA;AAAS,GAAC,GAAG,EAAE,EAC3EjK,MAAM,CAAC4D,KAAK,IAAI,IAAI,IAAIA,KAAK,IAAI,IAAI,GAAG;AAAEA,IAAAA,KAAAA;AAAM,GAAC,GAAG,EAAE,EACtD5D,MAAM,CAACqH,GAAG,IAAI,IAAI,IAAIA,GAAG,IAAI,IAAI,GAAG;AAAEA,IAAAA,GAAAA;AAAI,GAAC,GAAG,EAAE,EAChDrH,MAAM,CAACmF,GAAG,IAAI,IAAI,IAAIA,GAAG,IAAI,IAAI,GAAG;AAAEA,IAAAA,GAAAA;AAAI,GAAC,GAAG,EAAE,EAChDnF,MAAM,CAACX,QAAQ,IAAI,IAAI,IAAIA,QAAQ,IAAI,IAAI,GAAG;AAAEA,IAAAA,QAAAA;AAAS,GAAC,GAAG,EAAE,EAC/DtD,IAAI,IAAI6N,sBAAsB,CAACX,QAAQ,CAAClN,IAAI,CAAC,GAAG;AAAEoO,IAAAA,uBAAuB,EAAE,IAAA;AAAK,GAAC,GAAG,EAAE,EACtFpO,IAAI,IAAI8N,qBAAqB,CAACZ,QAAQ,CAAClN,IAAI,CAAC,GAAG;AAAEqO,IAAAA,aAAa,EAAE,IAAA;AAAK,GAAC,GAAG,EAAE,EAC3EpK,MAAM,CAACjE,IAAI,KAAK,SAAS,IAAI,CAACA,IAAI,GAAG;AAAEqO,IAAAA,aAAa,EAAE,IAAA;AAAK,GAAC,GAAG,EAAE,EACjErO,IAAI,KAAK,SAAS,IAAIiE,MAAM,CAACjE,IAAI,KAAK,SAAS,GAAG;AAAEA,IAAAA,IAAI,EAAE,SAAA;AAAU,GAAC,GAAG,EAAE,CAC/E,CAAC,CAAA;AACJ,EAAC;AAEYsO,MAAAA,cAAc,GAAG3F,OAAO,IAAI,CAACA,OAAO,IAAI,EAAE,EAAE9F,GAAG,CAACkL,aAAa,EAAC;AAE9DQ,MAAAA,eAAe,GAAGtK,MAAM,IAAI;EACvC,IAAI,CAAAA,MAAM,IAANA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEjE,IAAI,MAAK,SAAS,EAAE;AAC9B,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EACA,OAAOwM,eAAe,CAACvI,MAAM,IAANA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEjB,UAAU,CAAC,CAAChD,IAAI,KAAK,SAAS,CAAA;AAC/D;;ACnOA,MAAMwO,mBAAmB,GAAGA,CAAC;EAAE7F,OAAO;EAAE8F,kBAAkB;EAAEC,YAAY;AAAEC,EAAAA,WAAW,GAAG,IAAI;EAAEzK,UAAU;AAAE1B,EAAAA,OAAAA;AAAQ,CAAC,KAAK;EACtH,OAAO,CAAC3C,MAAM,IAAK8O,WAAW,GAAG9O,MAAM,CAAC6C,MAAM,CAAC/C,IAAI,IAAI,CAAC,CAACA,IAAI,CAAC,GAAGE,MAAO,EACtE8I,OAAO,CAAC9F,GAAG,CAAClD,IAAI,IAAI;AAClB,IAAA,MAAMiP,SAAS,GAAG,OAAOjP,IAAI,CAACkP,UAAU,KAAK,UAAU,GAAGlP,IAAI,CAACkP,UAAU,CAAC3K,UAAU,EAAE;AAAED,MAAAA,MAAM,EAAEtE,IAAI;AAAE6C,MAAAA,OAAAA;KAAS,CAAC,GAAG9B,uBAAG,CAACwD,UAAU,EAAEvE,IAAI,CAACgB,IAAI,CAAC,CAAA;AAC7I,IAAA,MAAMmO,YAAY,GAAG,CAAC/O,KAAK,IAAI;AAC7B,MAAA,IAAI,OAAOJ,IAAI,CAAC0B,MAAM,KAAK,UAAU,EAAE;AACrC,QAAA,OAAO1B,IAAI,CAAC0B,MAAM,CAACtB,KAAK,EAAE;UAAEmE,UAAU;AAAED,UAAAA,MAAM,EAAEtE,IAAI;AAAE6C,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AAClE,OAAA;AACA,MAAA,IAAI,OAAO7C,IAAI,CAAC0B,MAAM,KAAK,QAAQ,EAAE;QACnC,MAAM0N,WAAW,GAAGxM,UAAU,CAACxC,KAAK,EAAEJ,IAAI,CAAC0B,MAAM,EAAE;UAAE6C,UAAU;AAAED,UAAAA,MAAM,EAAEtE,IAAI;AAAE6C,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;AACzF,QAAA,IAAIuM,WAAW,EAAE;AACf,UAAA,OAAOA,WAAW,CAAA;AACpB,SAAA;AACF,OAAA;AACA,MAAA,OAAOhP,KAAK,CAAA;KACb,EAAE6O,SAAS,CAAC,CAAA;IAEb,MAAMI,WAAW,GAAG,CAACrP,IAAI,CAAC+O,YAAY,IAAIA,YAAY,EAAEE,SAAS,CAAC,CAAA;AAElE,IAAA,IACEjP,IAAI,CAACsP,OAAO,KAAK,KAAK,IACrB,OAAOtP,IAAI,CAACsP,OAAO,KAAK,UAAU,IACjCtP,IAAI,CAACsP,OAAO,CAACL,SAAS,EAAE;MACtB1K,UAAU;AACVD,MAAAA,MAAM,EAAEtE,IAAI;AACZ6C,MAAAA,OAAAA;KACD,CAAC,KAAK,KAAM,EACf;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,IAAI,EAAE7C,IAAI,CAACsB,cAAc,CAAC,oBAAoB,CAAC,GAAGtB,IAAI,CAAC8O,kBAAkB,GAAGA,kBAAkB,CAAC,IAAIO,WAAW,EAAE;AAC9G,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;IAEA,OAAOzO,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEb,IAAI,EAAE;AAAE8B,MAAAA,OAAO,EAAEuN,WAAW;AAAEjP,MAAAA,KAAK,EAAE+O,YAAAA;AAAa,KAAC,CAAC,CAAA;AAC/E,GAAC,CACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEM,MAAMI,cAAc,GAAGA,CAAC;EAAEjL,MAAM;EAAEC,UAAU;EAAEiL,WAAW;AAAE3M,EAAAA,OAAAA;AAAQ,CAAC,KAAK;EAC9E,IAAIyB,MAAM,CAACxC,OAAO,EAAE;IAClB,OAAO,OAAOwC,MAAM,CAACmL,iBAAiB,KAAK,UAAU,GACjDnL,MAAM,CAACmL,iBAAiB,CAAC;AACvBnL,MAAAA,MAAM,EAAEA,MAAM;MACdC,UAAU;MACViL,WAAW;AACX3M,MAAAA,OAAAA;AACF,KAAC,CAAC,GACFyB,MAAM,CAACkL,WAAW,IAAIA,WAAW,CAAA;AACvC,GAAA;AAEA,EAAA,MAAM7C,MAAM,GAAGD,eAAe,CAACpI,MAAM,CAAC,CAAA;EAEtC,OAAO,OAAOqI,MAAM,KAAK,UAAU,GAC/BA,MAAM,CAACrI,MAAM,CAAClE,KAAK,EAAE;IACnBkE,MAAM;IACNC,UAAU;AACV1B,IAAAA,OAAAA;AACF,GAAC,CAAC,GACFyB,MAAM,CAAClE,KAAK,CAAA;AAClB,CAAC,CAAA;AAEM,MAAMsP,qBAAqB,GAAGA,CAAC;EAAE1G,OAAO;EAAE8F,kBAAkB;EAAEC,YAAY;EAAEC,WAAW;EAAEzK,UAAU;EAAEiL,WAAW;AAAE3M,EAAAA,OAAAA;AAAQ,CAAC,KAAK;AACrI,EAAA,OAAOgM,mBAAmB,CAAC;IAAE7F,OAAO;IAAE8F,kBAAkB;IAAEC,YAAY;IAAEC,WAAW;IAAEzK,UAAU;AAAE1B,IAAAA,OAAAA;AAAQ,GAAC,CAAC,CAACK,GAAG,CAACoB,MAAM,IAAI;AACxH,IAAA,OAAOiL,cAAc,CAAC;MAAEjL,MAAM;MAAEkL,WAAW;MAAEjL,UAAU;AAAE1B,MAAAA,OAAAA;AAAQ,KAAC,CAAC,CAAA;AACrE,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAEDgM,mBAAmB,CAACU,cAAc,GAAGA,cAAc,CAAA;AACnDV,mBAAmB,CAACa,qBAAqB,GAAGA,qBAAqB;;;;;;ACvE3DC,MAAAA,cAAc,GAAG/E,OAAO,IAAI;EAChC,MAAAgF,cAAA,GAAsChP,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE;AAAEgP,MAAAA,MAAM,EAAE,IAAA;KAAM,EAAEjF,OAAO,CAAC;IAA1EiF,MAAM,GAAAD,cAAA,CAANC,MAAM;IAAAC,mBAAA,GAAAF,cAAA,CAAEvP,IAAI;AAAJA,IAAAA,IAAI,GAAAyP,mBAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,mBAAA,CAAA;AACjC,EAAA,MAAAC,SAAA,GAAwCC,cAAQ,CAAC,EAAE,CAAC;AAA7CC,IAAAA,YAAY,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,eAAe,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;EAEpC,MAAMI,QAAQ,GAAGC,iBAAW,CAACpQ,IAAI,IAAIe,uBAAG,CAACf,IAAI,EAAE,OAAO6P,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC7P,IAAI,CAAC,GAAG6P,MAAM,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAE/G,EAAA,MAAMQ,eAAe,GAAGC,aAAO,CAAC,MAAML,YAAY,CAAC/M,GAAG,CAACiN,QAAQ,CAAC,EAAE,CAACA,QAAQ,EAAEF,YAAY,CAAC,CAAC,CAAA;EAE3F,MAAMM,kBAAkB,GAAGH,iBAAW,CACpC,UAAC9D,IAAI,EAAE/H,UAAU,EAAU;AAAA,IAAA,IAApBA,UAAU,KAAA,KAAA,CAAA,EAAA;AAAVA,MAAAA,UAAU,GAAG,EAAE,CAAA;AAAA,KAAA;IACpB,MAAMiM,MAAM,GAAG,IAAIC,GAAG,CAACnE,IAAI,IAAI,EAAE,CAAC,CAAA;IAClC4D,eAAe,CAAC,CAAC3L,UAAU,IAAI,EAAE,EAAExB,MAAM,CAAC/C,IAAI,IAAIwQ,MAAM,CAACE,GAAG,CAACP,QAAQ,CAACnQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAChF,GAAC,EACD,CAACmQ,QAAQ,CACX,CAAC,CAAA;AAED,EAAA,MAAMQ,iBAAiB,GAAGP,iBAAW,CAAC,MAAM;IAC1CF,eAAe,CAAC,EAAE,CAAC,CAAA;GACpB,EAAE,EAAE,CAAC,CAAA;EAEN,MAAMU,WAAW,GAAGR,iBAAW,CAC7B,CAACS,OAAO,EAAEC,SAAS,EAAErJ,KAAK,KAAK;IAC7B,MAAMsJ,GAAG,GAAG,CAACtJ,KAAK,IAAI,EAAE,EAAEvE,GAAG,CAACiN,QAAQ,CAAC,CAAA;AACvC,IAAA,IAAIU,OAAO,EAAE;MACXX,eAAe,CAAC9P,KAAK,IAAI;AACvB,QAAA,MAAM4Q,YAAY,GAAG5Q,KAAK,CAAC8C,GAAG,CAACiN,QAAQ,CAAC,CAAA;QACxC,OAAO,CAAC,GAAG/P,KAAK,EAAE,GAAG,CAACqH,KAAK,IAAI,EAAE,EAAE1E,MAAM,CAAC/C,IAAI,IAAIgR,YAAY,CAACC,OAAO,CAACd,QAAQ,CAACnQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjG,OAAC,CAAC,CAAA;AACJ,KAAC,MAAM;MACLkQ,eAAe,CAAC9P,KAAK,IAAI;AACvB,QAAA,OAAOA,KAAK,CAAC2C,MAAM,CAAC/C,IAAI,IAAI+Q,GAAG,CAACE,OAAO,CAACd,QAAQ,CAACnQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AACjE,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAC,EACD,CAACmQ,QAAQ,CACX,CAAC,CAAA;EAED,MAAMe,QAAQ,GAAGd,iBAAW,CAC1B,CAACpQ,IAAI,EAAE6Q,OAAO,KAAK;AACjB,IAAA,IAAIA,OAAO,EAAE;MACX,IAAIxQ,IAAI,KAAK,OAAO,EAAE;AACpB6P,QAAAA,eAAe,CAAC,CAAClQ,IAAI,CAAC,CAAC,CAAA;AACvB,QAAA,OAAA;AACF,OAAA;MACAkQ,eAAe,CAAC9P,KAAK,IAAI;AACvB,QAAA,MAAM+Q,QAAQ,GAAG/Q,KAAK,CAACgR,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/BD,QAAAA,QAAQ,CAAC/G,IAAI,CAACpK,IAAI,CAAC,CAAA;AACnB,QAAA,OAAOmR,QAAQ,CAAA;AACjB,OAAC,CAAC,CAAA;AACJ,KAAC,MAAM;MACLjB,eAAe,CAAC9P,KAAK,IAAI;AACvB,QAAA,MAAM+Q,QAAQ,GAAG/Q,KAAK,CAACgR,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/B,QAAA,MAAM1Q,KAAK,GAAGyQ,QAAQ,CAACE,SAAS,CAACC,GAAG,IAAInB,QAAQ,CAACmB,GAAG,CAAC,KAAKnB,QAAQ,CAACnQ,IAAI,CAAC,CAAC,CAAA;AACzE,QAAA,IAAIU,KAAK,GAAG,CAAC,CAAC,EAAE;AACdyQ,UAAAA,QAAQ,CAACI,MAAM,CAAC7Q,KAAK,EAAE,CAAC,CAAC,CAAA;AAC3B,SAAA;AACA,QAAA,OAAOyQ,QAAQ,CAAA;AACjB,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAC,EACD,CAAChB,QAAQ,EAAE9P,IAAI,CACjB,CAAC,CAAA;EAED,MAAMmR,eAAe,GAAGpB,iBAAW,CACjC,UAAC7L,UAAU,EAAEkN,KAAK,EAAU;AAAA,IAAA,IAAfA,KAAK,KAAA,KAAA,CAAA,EAAA;MAALA,KAAK,GAAG,EAAE,CAAA;AAAA,KAAA;IACrB,MAAMC,QAAQ,GAAGA,CAACpF,IAAI,EAAEqF,EAAE,EAAEC,IAAI,KAAK;AACnCrB,MAAAA,kBAAkB,CAACjE,IAAI,EAAE/H,UAAU,CAAC,CAAA;AACpCkN,MAAAA,KAAK,CAACC,QAAQ,IAAID,KAAK,CAACC,QAAQ,CAACpF,IAAI,EAAEqF,EAAE,EAAEC,IAAI,CAAC,CAAA;KACjD,CAAA;IAED,OAAOhR,MAAM,CAACC,MAAM,CAClB;MACER,IAAI;MACJgQ,eAAe;MACfwB,gBAAgB,EAAExR,IAAI,KAAK,UAAU;AACrCqR,MAAAA,QAAAA;KACD,EACDD,KACF,CAAC,CAAA;GACF,EACD,CAACpB,eAAe,EAAEE,kBAAkB,EAAElQ,IAAI,CAC5C,CAAC,CAAA;EAED,OAAO;IACLA,IAAI;IACJgQ,eAAe;IACfJ,YAAY;IACZW,WAAW;IACXM,QAAQ;IACRhB,eAAe;IACfK,kBAAkB;IAClBI,iBAAiB;AACjBa,IAAAA,eAAAA;GACD,CAAA;AACH;;;;AC1FA,MAAMM,cAAc,GAAGC,IAAI,IACzB,IAAIC,GAAG,CACL,CAACD,IAAI,IAAI,EAAE,EAAE7O,GAAG,CAAClD,IAAI,IAAI;EACvB,OAAO,CAACA,IAAI,CAACgB,IAAI,EAAEhB,IAAI,CAAC+R,IAAI,CAAC,CAAA;AAC/B,CAAC,CACH,CAAC,CAAA;AAEH,MAAME,eAAe,GAAGhG,IAAA,IAAuC;AAAA,EAAA,IAApC7L,KAAK,GAAA6L,IAAA,CAAL7L,KAAK;IAAEU,YAAY,GAAAmL,IAAA,CAAZnL,YAAY;IAAE4Q,QAAQ,GAAAzF,IAAA,CAARyF,QAAQ,CAAA;AACtD,EAAA,MAAA3B,SAAA,GAA0CC,cAAQ,CAAClP,YAAY,CAAC;AAAzDoR,IAAAA,aAAa,GAAAnC,SAAA,CAAA,CAAA,CAAA;AAAEoC,IAAAA,gBAAgB,GAAApC,SAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,MAAMqC,YAAY,GAAGhS,KAAK,KAAK8E,SAAS,CAAA;AACxC,EAAA,MAAMmN,YAAY,GAAGD,YAAY,GAAGhS,KAAK,GAAG8R,aAAa,CAAA;AAEzD,EAAA,MAAMI,QAAQ,GAAGlC,iBAAW,CAC1BmC,OAAO,IAAI;AACT,IAAA,MAAMC,SAAS,GAAG,OAAOD,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACF,YAAY,CAAC,GAAGE,OAAO,CAAA;IACjF,IAAI,CAACH,YAAY,EAAE;MACjBD,gBAAgB,CAACK,SAAS,CAAC,CAAA;AAC7B,KAAA;AACAd,IAAAA,QAAQ,IAAIA,QAAQ,CAACc,SAAS,CAAC,CAAA;GAChC,EACD,CAACH,YAAY,EAAED,YAAY,EAAEV,QAAQ,CACvC,CAAC,CAAA;AAED,EAAA,OAAO,CAACW,YAAY,EAAEC,QAAQ,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,MAAMG,aAAa,GAAGA,CAACC,CAAC,EAAEC,CAAC,EAAEC,SAAS,KAAK;EACzC,MAAMC,MAAM,GAAGH,CAAC,IAAI,IAAI,IAAIA,CAAC,KAAK,EAAE,CAAA;EACpC,MAAMI,MAAM,GAAGH,CAAC,IAAI,IAAI,IAAIA,CAAC,KAAK,EAAE,CAAA;EACpC,IAAIE,MAAM,IAAIC,MAAM,EAAE;AACpB,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AACA,EAAA,IAAID,MAAM,EAAE;AACV,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AACA,EAAA,IAAIC,MAAM,EAAE;AACV,IAAA,OAAO,CAAC,CAAC,CAAA;AACX,GAAA;EACA,IAAI,OAAOJ,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAE;IAClD,OAAOC,SAAS,KAAK,KAAK,GAAGF,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGD,CAAC,CAAA;AAC5C,GAAA;AACA,EAAA,MAAMK,IAAI,GAAGzS,MAAM,CAACoS,CAAC,CAAC,CAAA;AACtB,EAAA,MAAMM,IAAI,GAAG1S,MAAM,CAACqS,CAAC,CAAC,CAAA;EACtB,OAAOC,SAAS,KAAK,KAAK,GAAGG,IAAI,CAACE,aAAa,CAACD,IAAI,EAAE,OAAO,CAAC,GAAGA,IAAI,CAACC,aAAa,CAACF,IAAI,EAAE,OAAO,CAAC,CAAA;AACpG,CAAC,CAAA;AAEM,MAAMG,cAAc,GAAG,UAAC3O,UAAU,EAAEwN,IAAI,EAAO/I,OAAO,EAAU;AAAA,EAAA,IAAAmK,KAAA,CAAA;AAAA,EAAA,IAA5BpB,IAAI,KAAA,KAAA,CAAA,EAAA;AAAJA,IAAAA,IAAI,GAAG,EAAE,CAAA;AAAA,GAAA;AAAA,EAAA,IAAE/I,OAAO,KAAA,KAAA,CAAA,EAAA;AAAPA,IAAAA,OAAO,GAAG,EAAE,CAAA;AAAA,GAAA;AAChE,EAAA,IAAI,EAAAmK,CAAAA,KAAA,GAACpB,IAAI,aAAJoB,KAAA,CAAMnQ,MAAM,CAAA,IAAI,EAACuB,UAAU,IAAA,IAAA,IAAVA,UAAU,CAAEvB,MAAM,CAAE,EAAA;AACxC,IAAA,OAAOuB,UAAU,CAAA;AACnB,GAAA;AACA,EAAA,MAAM6O,SAAS,GAAG,IAAIpB,GAAG,CAAChJ,OAAO,CAAC9F,GAAG,CAACoB,MAAM,IAAI,CAACA,MAAM,CAACtD,IAAI,EAAEsD,MAAM,CAAC,CAAC,CAAC,CAAA;EACvE,OAAO,CAAC,GAAGC,UAAU,CAAC,CAACwN,IAAI,CAAC,CAACW,CAAC,EAAEC,CAAC,KAAK;IACpC,KAAArE,MAAAA,KAAA,IAAwCyD,IAAI,EAAE;AAAA,MAAA,MAAjC/Q,IAAI,GAAAsN,KAAA,CAAJtN,IAAI,CAAA;AAAA,MAAA,MAAQ4R,SAAS,GAAAtE,KAAA,CAAfyD,IAAI,CAAA;MACrB,MAAMzN,MAAM,GAAG8O,SAAS,CAACrS,GAAG,CAACC,IAAI,CAAC,IAAI;AAAEA,QAAAA,IAAAA;OAAM,CAAA;AAC9C,MAAA,MAAMqS,IAAI,GAAG,OAAO/O,MAAM,CAAC4K,UAAU,KAAK,UAAU,GAAG5K,MAAM,CAAC4K,UAAU,CAACwD,CAAC,EAAE;AAAEpO,QAAAA,MAAAA;AAAO,OAAC,CAAC,GAAGvD,uBAAG,CAAC2R,CAAC,EAAE1R,IAAI,CAAC,CAAA;AACtG,MAAA,MAAMsS,IAAI,GAAG,OAAOhP,MAAM,CAAC4K,UAAU,KAAK,UAAU,GAAG5K,MAAM,CAAC4K,UAAU,CAACyD,CAAC,EAAE;AAAErO,QAAAA,MAAAA;AAAO,OAAC,CAAC,GAAGvD,uBAAG,CAAC4R,CAAC,EAAE3R,IAAI,CAAC,CAAA;MACtG,MAAMK,MAAM,GAAGoR,aAAa,CAACY,IAAI,EAAEC,IAAI,EAAEV,SAAS,CAAC,CAAA;MACnD,IAAIvR,MAAM,KAAK,CAAC,EAAE;AAChB,QAAA,OAAOA,MAAM,CAAA;AACf,OAAA;AACF,KAAA;AACA,IAAA,OAAO,CAAC,CAAA;AACV,GAAC,CAAC,CAAA;AACJ,EAAC;AAEM,MAAMkS,aAAa,GAAGC,UAAU,IAAI;AACzC,EAAA,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;AAClC,IAAA,OAAOA,UAAU,CAACC,MAAM,KAAK,KAAK,CAAA;AACpC,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAEM,MAAMC,iBAAiB,GAAGA,CAACtO,KAAK,EAAEd,MAAM,EAAEqP,UAAU,KAAK;EAC9D,IAAI,CAACrP,MAAM,CAACyN,IAAI,IAAI,OAAO4B,UAAU,KAAK,UAAU,EAAE;AACpD,IAAA,OAAOvO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,oBACEwO,eAAA,CAAA,MAAA,EAAA;AAAM1P,IAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,OAAO,CAAC,EAAEA,OAAK,CAAC,UAAU,CAAC,CAAE;AAAAuB,IAAAA,QAAA,gBAC7DK,cAAA,CAAA,MAAA,EAAA;AAAMG,MAAAA,SAAS,EAAE/B,OAAK,CAAC,YAAY,CAAE;AAAAuB,MAAAA,QAAA,EAAE0B,KAAAA;KAAY,CAAC,EACnDuO,UAAU,CAAC;MACV3S,IAAI,EAAEsD,MAAM,CAACtD,IAAI;AACjByS,MAAAA,MAAM,EAAEF,aAAa,CAACjP,MAAM,CAACyN,IAAI,CAAA;AACnC,KAAC,CAAC,CAAA;AAAA,GACE,CAAC,CAAA;AAEX,CAAC,CAAA;AAEK8B,MAAAA,OAAO,GAAGC,KAAK,IAAI;EACvB,MAAAC,gBAAA,GAAwB9B,eAAe,CAAC;MACtC7R,KAAK,EAAE0T,KAAK,CAAC/B,IAAI;AACjBjR,MAAAA,YAAY,EAAEgT,KAAK,CAACE,WAAW,IAAI,EAAE;MACrCtC,QAAQ,EAAEoC,KAAK,CAACG,YAAAA;AAClB,KAAC,CAAC;AAJKlC,IAAAA,IAAI,GAAAgC,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,OAAO,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAMpB,EAAA,MAAMI,OAAO,GAAG7D,aAAO,CAAC,MAAM;IAC5B,OAAOwB,cAAc,CAACC,IAAI,CAAC,CAAA;AAC7B,GAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAA;AAEV,EAAA,MAAMqC,UAAU,GAAGhE,iBAAW,CAC5BiE,QAAQ,IAAI;IACV,OAAOH,OAAO,CAACI,WAAW,IAAI;MAC5B,MAAMC,OAAO,GAAGF,QAAQ,CAACvC,cAAc,CAACwC,WAAW,CAAC,CAAC,CAAA;MACrD,OAAOrN,KAAK,CAACuN,IAAI,CAACD,OAAO,CAAC,CAACrR,GAAG,CAACuR,KAAA,IAAA;QAAA,IAAEzT,IAAI,GAAAyT,KAAA,CAAA,CAAA,CAAA;AAAEC,UAAAA,SAAS,GAAAD,KAAA,CAAA,CAAA,CAAA,CAAA;QAAA,OAAO;UAAEzT,IAAI;AAAE+Q,UAAAA,IAAI,EAAE2C,SAAAA;SAAW,CAAA;AAAA,OAAC,CAAC,CAAA;AACpF,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACR,OAAO,CACV,CAAC,CAAA;AAED,EAAA,MAAMP,UAAU,GAAGvD,iBAAW,CAC5BuE,KAAA,IAAsB;AAAA,IAAA,IAAnBlB,MAAM,GAAAkB,KAAA,CAANlB,MAAM;MAAEzS,IAAI,GAAA2T,KAAA,CAAJ3T,IAAI,CAAA;AACb,IAAA,MAAM4R,SAAS,GAAGuB,OAAO,CAACpT,GAAG,CAACC,IAAI,CAAC,CAAA;AACnC,IAAA,oBACE4S,eAAA,CAAA,MAAA,EAAA;AACE1P,MAAAA,SAAS,EAAE/B,OAAK,CAAC,UAAU,CAAE;MAC7BuC,OAAO,EAAEK,CAAC,IAAI;QACZA,CAAC,CAAC6P,eAAe,EAAE,CAAA;QACnBR,UAAU,CAACS,OAAO,IAAI;AACpB,UAAA,MAAMC,OAAO,GAAGD,OAAO,CAAC9T,GAAG,CAACC,IAAI,CAAC,CAAA;UACjC,MAAM+T,WAAW,GAAG,CAAC,MAAM;YACzB,IAAID,OAAO,KAAK,MAAM,EAAE;AACtB,cAAA,OAAO,KAAK,CAAA;AACd,aAAA;YACA,IAAIA,OAAO,KAAK,KAAK,EAAE;AACrB,cAAA,OAAO,IAAI,CAAA;AACb,aAAA;AACA,YAAA,OAAO,MAAM,CAAA;AACf,WAAC,GAAG,CAAA;AACJ,UAAA,IAAIrB,MAAM,EAAE;AACV,YAAA,OAAO,IAAIzB,GAAG,CAAC+C,WAAW,GAAG,CAAC,CAAC/T,IAAI,EAAE+T,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;AAC1D,WAAA;AACA,UAAA,MAAMR,OAAO,GAAGS,yBAAK,CAACH,OAAO,CAAC,CAAA;AAC9BE,UAAAA,WAAW,GAAGR,OAAO,CAACU,GAAG,CAACjU,IAAI,EAAE+T,WAAW,CAAC,GAAGR,OAAO,CAACW,MAAM,CAAClU,IAAI,CAAC,CAAA;AACnE,UAAA,OAAOuT,OAAO,CAAA;AAChB,SAAC,CAAC,CAAA;OACF;MAAA7Q,QAAA,EAAA,cAEFK,cAAA,CAACoR,qBAAe,EAAA;AACdjR,QAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,WAAW,CAAC,EAAEA,OAAK,CAAC,SAAS,CAAC,EAAE;AAC1D,UAAA,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAGyQ,SAAS,KAAK,KAAA;SAClC,CAAA;AAAE,OACJ,CAAC,eACF7O,cAAA,CAACqR,uBAAiB,EAAA;AAChBlR,QAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,WAAW,CAAC,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE;AAC5D,UAAA,CAACA,OAAK,CAAC,QAAQ,CAAC,GAAGyQ,SAAS,KAAK,MAAA;SAClC,CAAA;AAAE,OACJ,CAAC,CAAA;AAAA,KACE,CAAC,CAAA;AAEX,GAAC,EACD,CAACuB,OAAO,EAAEC,UAAU,CACtB,CAAC,CAAA;EAED,OAAO;IACLrC,IAAI;IACJmC,OAAO;AACPP,IAAAA,UAAAA;GACD,CAAA;AACH,EAAC;AAEDE,OAAO,CAACX,cAAc,GAAGA,cAAc;;;;ACtKvC,MAAMmC,QAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,GAAG;AACdC,EAAAA,QAAQ,EAAE,GAAG;AACbC,EAAAA,aAAa,EAAE,MAAM;AACrBC,EAAAA,SAAS,EAAE,MAAM;AACjBC,EAAAA,cAAc,EAAE,MAAM;AACtBC,EAAAA,WAAW,EAAE,OAAO;AACpBC,EAAAA,UAAU,EAAE,OAAO;AACnBC,EAAAA,MAAM,EAAE,IAAI;AACZC,EAAAA,eAAe,EAAE,MAAM;AACvBC,EAAAA,wBAAwB,EAAE,mBAAmB;AAC7CC,EAAAA,MAAM,EAAE,IAAI;AACZC,EAAAA,OAAO,EAAE,IAAA;AACX,CAAC;;ACbD,MAAMZ,MAAM,GAAG;AACbC,EAAAA,SAAS,EAAE,OAAO;AAClBC,EAAAA,QAAQ,EAAE,OAAO;AACjBC,EAAAA,aAAa,EAAE,SAAS;AACxBC,EAAAA,SAAS,EAAE,YAAY;AACvBC,EAAAA,cAAc,EAAE,iBAAiB;AACjCC,EAAAA,WAAW,EAAE,iBAAiB;AAC9BC,EAAAA,UAAU,EAAE,gBAAgB;AAC5BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,eAAe,EAAE,eAAe;AAChCC,EAAAA,wBAAwB,EAAE,mCAAmC;AAC7DC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,OAAO,EAAE,SAAA;AACX,CAAC;;ACPD,MAAMC,UAAU,GAAGC,gCAAsB,CAAC;AACxCC,EAAAA,aAAa,EAAE,OAAO;AACtBC,EAAAA,QAAQ,EAAE;AACR,IAAA,OAAO,EAAE;AAAE,MAAA,GAAGC,8BAAU;MAAE,GAAGC,QAAAA;KAAM;AACnC,IAAA,OAAO,EAAE;AAAE,MAAA,GAAGC,8BAAU;MAAE,GAAGC,MAAAA;AAAK,KAAA;GACnC;AACDC,EAAAA,SAAS,EAAE,YAAA;AACb,CAAC,CAAC;;ACkjBK,SAASC,gBAAgBA,CAACC,IAAI,EAAEC,SAAS,EAAE;EACjD,IAAI;AACH,IAAA,IAAIxV,MAAM,GAAGuV,IAAI,EAAE,CAAA;GACnB,CAAC,OAAO7R,CAAC,EAAE;AACX,IAAA,OAAO8R,SAAS,CAAC,IAAI,EAAE9R,CAAC,CAAC,CAAA;AAC1B,GAAA;AACA,EAAA,IAAI1D,MAAM,IAAIA,MAAM,CAACyV,IAAI,EAAE;IAC1B,OAAOzV,MAAM,CAACyV,IAAI,CAACD,SAAS,CAACE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAEF,SAAS,CAACE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAC5E,GAAA;AACA,EAAA,OAAOF,SAAS,CAAC,KAAK,EAAExV,MAAM,CAAC,CAAA;AAChC,CAAA;AA3jBA,MAAM2V,qBAAqB,GAAGd,UAAU,CAAC,CAAC;EAAEe,KAAK;EAAEC,SAAS;EAAElO,OAAO;AAAEmO,EAAAA,MAAM,EAAErW,YAAAA;AAAa,CAAC,KAAK;EAChG,MAAM;AAAEsW,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAM,CAACF,MAAM,EAAEzF,QAAQ,CAAC,GAAG1B,cAAQ,CAAClP,YAAY,IAAI,EAAE,CAAC,CAAA;EACvD,MAAM,CAACwW,UAAU,EAAEC,aAAa,CAAC,GAAGvH,cAAQ,CAAC,EAAE,CAAC,CAAA;EAChD,MAAM,CAACwH,cAAc,EAAEC,iBAAiB,CAAC,GAAGzH,cAAQ,CAAC,KAAK,CAAC,CAAA;EAC3D,MAAM,CAAC0H,QAAQ,EAAEC,WAAW,CAAC,GAAG3H,cAAQ,CAAC,IAAI,CAAC,CAAA;EAE9C,MAAM;IAAE4H,gBAAgB;IAAEC,iBAAiB;IAAEC,cAAc;AAAEC,IAAAA,aAAAA;GAAe,GAAGzH,aAAO,CAAC,MAAM;AAC3F,IAAA,OAAOlP,6BAAS,CACdR,MAAM,CAACC,MAAM,CACX;AACE+W,MAAAA,gBAAgB,EAAE,EAAE;AACpBC,MAAAA,iBAAiB,EAAE,EAAE;AACrBC,MAAAA,cAAc,EAAE,EAAE;AAClBC,MAAAA,aAAa,EAAE,EAAA;AACjB,KAAC,EACDhY,2BAAO,CAACiJ,OAAO,EAAEhJ,IAAI,IAAI;AACvB,MAAA,IAAIA,IAAI,CAACgY,KAAK,KAAK,OAAO,EAAE;AAC1B,QAAA,OAAO,mBAAmB,CAAA;AAC5B,OAAA;MACA,IAAIhY,IAAI,CAACgY,KAAK,KAAK,IAAI,IAAIhY,IAAI,CAACgY,KAAK,KAAK,MAAM,EAAE;AAChD,QAAA,OAAO,kBAAkB,CAAA;AAC3B,OAAA;AACA,MAAA,OAAQjX,uBAAG,CAACoW,MAAM,EAAE,GAAGnX,IAAI,CAACgB,IAAI,CAAA,QAAA,CAAU,CAAC,KAAK,IAAI,IAAIhB,IAAI,CAACkL,MAAM,IAAKnK,uBAAG,CAACoW,MAAM,EAAE,CAAA,EAAGnX,IAAI,CAACgB,IAAI,CAAU,QAAA,CAAA,CAAC,KAAK,KAAK,GAAG,eAAe,GAAG,gBAAgB,CAAA;KAC3J,CACH,CAAC,EACD,CAACK,MAAM,EAAEjB,KAAK,EAAEa,GAAG,KAAK;AACtBI,MAAAA,MAAM,CAACJ,GAAG,CAAC,GAAGb,KAAK,CAAC2R,IAAI,CAAC,CAACW,CAAC,EAAEC,CAAC,KAAK5R,uBAAG,CAACoW,MAAM,EAAE,CAAGzE,EAAAA,CAAC,CAAC1R,IAAI,OAAO,EAAE,CAAC,CAAC,GAAGD,uBAAG,CAACoW,MAAM,EAAE,CAAA,EAAGxE,CAAC,CAAC3R,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;KACxG,EACD,EACF,CAAC,CAAA;AACH,GAAC,EAAE,CAACgI,OAAO,EAAEmO,MAAM,CAAC,CAAC,CAAA;AAErB,EAAA,MAAMc,sBAAsB,GAAG3H,aAAO,CAAC,MAAM;AAC3C,IAAA,OAAOwH,cAAc,CAAC5U,GAAG,CAACoB,MAAM,IAAI1D,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEyD,MAAM,EAAE;MAAEqN,EAAE,EAAErN,MAAM,CAACtD,IAAAA;AAAK,KAAC,CAAC,CAAC,CAAA;AACrF,GAAC,EAAE,CAAC8W,cAAc,CAAC,CAAC,CAAA;EAEpB,MAAMI,oBAAoB,GAAGC,YAAY,IAAI;AAC3C,IAAA,MAAMC,SAAS,GAAGC,6BAAS,CAAClB,MAAM,CAAC,CAAA;AACnC,IAAA,MAAMmB,WAAW,GAAG,EAAE,CAACC,MAAM,CAACJ,YAAY,CAACP,gBAAgB,EAAEO,YAAY,CAACL,cAAc,EAAEK,YAAY,CAACN,iBAAiB,CAAC,CAAA;IACzH,CAACM,YAAY,CAACJ,aAAa,IAAI,EAAE,EAAEvX,OAAO,CAACgY,GAAG,IAAI;MAChDvD,uBAAG,CAACmD,SAAS,EAAE,CAAGI,EAAAA,GAAG,CAACxX,IAAI,CAAA,QAAA,CAAU,EAAE,KAAK,CAAC,CAAA;AAC9C,KAAC,CAAC,CAAA;AACFsX,IAAAA,WAAW,CAAC9X,OAAO,CAAC,CAACgY,GAAG,EAAE9X,KAAK,KAAK;AAClCuU,MAAAA,uBAAG,CAACmD,SAAS,EAAE,CAAA,EAAGI,GAAG,CAACxX,IAAI,CAAA,KAAA,CAAO,EAAEN,KAAK,GAAG,CAAC,CAAC,CAAA;AAC/C,KAAC,CAAC,CAAA;IACFgR,QAAQ,CAAC0G,SAAS,CAAC,CAAA;GACpB,CAAA;EAED,MAAMK,YAAY,GAAGzY,IAAI,IAAI;IAC3B,oBACE4T,eAAA,CAAA8E,mBAAA,EAAA;MAAAhV,QAAA,EAAA,CACG1D,IAAI,CAAC2Y,SAAS,IAAI3Y,IAAI,CAACoF,KAAK,IAAIgS,aAAa,CAAC;AAAEzF,QAAAA,EAAE,EAAE,eAAA;OAAiB,CAAC,EACtE3R,IAAI,CAAC4Y,WAAW,IAAI5Y,IAAI,CAAC4Y,WAAW,CAAC5V,MAAM,GAAG,CAAC,GAAG,CAAIhD,CAAAA,EAAAA,IAAI,CAAC4Y,WAAW,CAAC1V,GAAG,CAAC,CAAC;AAAEkC,QAAAA,KAAAA;OAAO,KAAKA,KAAK,CAAC,CAACyC,IAAI,CAAC,GAAG,CAAC,CAAG,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,KACnH,CAAC,CAAA;GAEN,CAAA;AAED,EAAA,MAAMgR,aAAa,GAAGvI,aAAO,CAAC,MAAM;AAClC,IAAA,OAAO,CACL;AACErP,MAAAA,GAAG,EAAE,QAAQ;MACb0F,KAAK,EAAEyQ,aAAa,CAAC;AAAEzF,QAAAA,EAAE,EAAE,aAAA;AAAc,OAAC,CAAC;AAC3CjO,MAAAA,QAAQ,eACNkQ,eAAA,CAAA,KAAA,EAAA;AAAK1P,QAAAA,SAAS,EAAE/B,WAAK,CAAC,8BAA8B,CAAE;QAAAuB,QAAA,EAAA,CACnDkU,gBAAgB,CAAC1U,GAAG,CAAC,CAAClD,IAAI,EAAEU,KAAK,kBAChCqD,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAE/B,WAAK,CAAC,8BAA8B,CAAE;UAAAuB,QAAA,eACpDK,cAAA,CAAC+U,aAAQ,EAAA;YAACjI,OAAO,EAAA,IAAA;YAACkI,QAAQ,EAAA,IAAA;YAAArV,QAAA,EACvB+U,YAAY,CAACzY,IAAI,CAAA;WACV,CAAA;AAAC,SAAA,EAH+CA,IAAI,CAACgB,IAAI,IAAI,CAAQN,KAAAA,EAAAA,KAAK,CAIjF,CAAA,CACN,CAAC,eACFqD,cAAA,CAACiV,6BAAa,EAAA;AACZnS,UAAAA,GAAG,EAAC,KAAK;AACT3C,UAAAA,SAAS,EAAE/B,WAAK,CAAC,+BAA+B,CAAE;AAClDuF,UAAAA,IAAI,EAAEuQ,sBAAuB;AAC7BlV,UAAAA,MAAM,EAAC,kBAAkB;AACzBkW,UAAAA,SAAS,EAAC,0BAA0B;AACpCC,UAAAA,UAAU,EAAC,2BAA2B;AACtCC,UAAAA,WAAW,EAAC,4BAA4B;UACxCC,aAAa,EAAA,IAAA;UACbC,cAAc,EAAA,IAAA;UACdC,MAAM,EAAE5B,QAAQ,IAAI,IAAK;UACzB6B,YAAY,EAAA,IAAA;UACZC,OAAO,EAAEC,kBAAkB,IAAI;AAC7BvB,YAAAA,oBAAoB,CAAC;cACnBN,gBAAgB;AAChBE,cAAAA,cAAc,EAAE2B,kBAAkB;cAClC1B,aAAa;AACbF,cAAAA,iBAAAA;AACF,aAAC,CAAC,CAAA;WACF;AACF6B,UAAAA,SAAS,EAAE,GAAI;UACfC,iBAAiB,EAAA,IAAA;AACjBC,UAAAA,KAAK,EAAE,CAAE;AAAAlW,UAAAA,QAAA,EAERuU,sBAAsB,CAAC/U,GAAG,CAAClD,IAAI,iBAC9B4T,eAAA,CAAA,KAAA,EAAA;AAAK1P,YAAAA,SAAS,EAAEY,8BAAU,CAAC3C,WAAK,CAAC,8BAA8B,CAAC,EAAEA,WAAK,CAAC,SAAS,CAAC,CAAE;YAAAuB,QAAA,EAAA,cAClFK,cAAA,CAAC8V,oBAAc,EAAA;cAAC3V,SAAS,EAAE/B,WAAK,CAAC,mCAAmC,CAAA;AAAE,aAAE,CAAC,eACzE4B,cAAA,CAAC+U,aAAQ,EAAA;cACPjI,OAAO,EAAA,IAAA;AACPkI,cAAAA,QAAQ,EAAE/Y,IAAI,CAACgY,KAAK,IAAIJ,gBAAgB,CAAC5U,MAAM,GAAG8U,cAAc,CAAC9U,MAAM,GAAG6U,iBAAiB,CAAC7U,MAAM,IAAI,CAAE;cACxG0O,QAAQ,EAAE3M,CAAC,IAAI;gBACbA,CAAC,CAAC6P,eAAe,EAAE,CAAA;gBACnB7P,CAAC,CAAC+U,cAAc,EAAE,CAAA;gBAClB,MAAM1B,SAAS,GAAGxX,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEsW,MAAM,CAAC,CAAA;AAC3CiB,gBAAAA,SAAS,CAACpY,IAAI,CAACgB,IAAI,CAAC,GAAGJ,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEuX,SAAS,CAACpY,IAAI,CAACgB,IAAI,CAAC,EAAE;AAAE+Y,kBAAAA,OAAO,EAAE,KAAA;AAAM,iBAAC,CAAC,CAAA;gBAClFrI,QAAQ,CAAC0G,SAAS,CAAC,CAAA;eACnB;cAAA1U,QAAA,EAED+U,YAAY,CAACzY,IAAI,CAAA;AAAC,aACX,CAAC,CAAA;WAd6EA,EAAAA,IAAI,CAAC2R,EAe1F,CACN,CAAA;SACY,CAAC,EACfkG,iBAAiB,CAAC3U,GAAG,CAAC,CAAClD,IAAI,EAAEU,KAAK,kBACjCqD,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAE/B,WAAK,CAAC,8BAA8B,CAAE;UAAAuB,QAAA,eACpDK,cAAA,CAAC+U,aAAQ,EAAA;YAACjI,OAAO,EAAA,IAAA;YAACkI,QAAQ,EAAA,IAAA;YAAArV,QAAA,EACvB1D,IAAI,CAAC2Y,SAAS,IAAI3Y,IAAI,CAACoF,KAAK,IAAIgS,aAAa,CAAC;AAAEzF,cAAAA,EAAE,EAAE,eAAA;aAAiB,CAAA;WAC9D,CAAA;SAHgD3R,EAAAA,IAAI,CAACgB,IAAI,IAAI,SAASN,KAAK,CAAA,CAIlF,CACN,CAAC,CAAA;OACC,CAAA;AAET,KAAC,EACD;AACEO,MAAAA,GAAG,EAAE,WAAW;MAChB0F,KAAK,eACHiN,eAAA,CAACoG,QAAG,EAAA;AAAC3S,QAAAA,IAAI,EAAE,KAAM;AAACoD,QAAAA,OAAO,EAAC,eAAe;QAAA/G,QAAA,EAAA,cACvCK,cAAA,CAACkW,QAAG,EAAA;UAAAvW,QAAA,EAAE0T,aAAa,CAAC;AAAEzF,YAAAA,EAAE,EAAE,YAAA;WAAc,CAAA;AAAC,SAAM,CAAC,eAChD5N,cAAA,CAACkW,QAAG,EAAA;UACFvV,OAAO,EAAEK,CAAC,IAAI;YACZA,CAAC,CAAC6P,eAAe,EAAE,CAAA;YACnB7P,CAAC,CAAC+U,cAAc,EAAE,CAAA;WAClB;AAAApW,UAAAA,QAAA,eAEFK,cAAA,CAACmW,UAAK,CAACrE,MAAM,EAAA;YAACrG,WAAW,EAAE4H,aAAa,CAAC;AAAEzF,cAAAA,EAAE,EAAE,QAAA;AAAS,aAAC,CAAE;AAACwI,YAAAA,QAAQ,EAAE/Z,KAAK,IAAImX,aAAa,CAACnX,KAAK,CAAE;AAAC8D,YAAAA,SAAS,EAAE/B,WAAK,CAAC,+BAA+B,CAAE;AAACiF,YAAAA,IAAI,EAAC,OAAO;YAACgT,UAAU,EAAA,IAAA;WAAE,CAAA;AAAC,SAC/K,CAAC,CAAA;AAAA,OACH,CACN;MACD1W,QAAQ,eACNK,cAAA,CAACsW,SAAI,EAAA;AACH9V,QAAAA,UAAU,EAAEwT,aAAa,CAAChV,MAAM,CAAC/C,IAAI,IAAI;UACvC,MAAMoF,KAAK,GAAGpF,IAAI,CAAC2Y,SAAS,IAAI3Y,IAAI,CAACoF,KAAK,CAAA;AAC1C,UAAA,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAAC6L,OAAO,CAACqG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;AACpE,SAAC,CAAE;AACHgD,QAAAA,UAAU,EAAEta,IAAI,iBACd+D,cAAA,CAACsW,SAAI,CAACE,IAAI,EAAA;AAACrW,UAAAA,SAAS,EAAE/B,WAAK,CAAC,8BAA8B,CAAE;UAAAuB,QAAA,eAC1DK,cAAA,CAAC+U,aAAQ,EAAA;AACPjI,YAAAA,OAAO,EAAE,KAAM;YACfa,QAAQ,EAAE3M,CAAC,IAAI;cACbA,CAAC,CAAC6P,eAAe,EAAE,CAAA;cACnB7P,CAAC,CAAC+U,cAAc,EAAE,CAAA;cAClB,MAAM1B,SAAS,GAAGxX,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEsW,MAAM,CAAC,CAAA;AAC3CiB,cAAAA,SAAS,CAACpY,IAAI,CAACgB,IAAI,CAAC,GAAGJ,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEuX,SAAS,CAACpY,IAAI,CAACgB,IAAI,CAAC,EAAE;AAAE+Y,gBAAAA,OAAO,EAAE,IAAA;AAAK,eAAC,CAAC,CAAA;cACjFrI,QAAQ,CAAC0G,SAAS,CAAC,CAAA;aACnB;YAAA1U,QAAA,EAED1D,IAAI,CAAC2Y,SAAS,IAAI3Y,IAAI,CAACoF,KAAK,IAAIgS,aAAa,CAAC;AAAEzF,cAAAA,EAAE,EAAE,eAAA;aAAiB,CAAA;WAC9D,CAAA;SAZsD3R,EAAAA,IAAI,CAACgB,IAa5D,CAAA;OAEd,CAAA;AAEL,KAAC,CACF,CAAA;GACF,EAAE,CAACmW,MAAM,EAAEC,aAAa,EAAEW,aAAa,EAAEH,gBAAgB,EAAElG,QAAQ,EAAEmG,iBAAiB,EAAEH,QAAQ,EAAEJ,UAAU,EAAEW,sBAAsB,EAAEH,cAAc,CAAC9U,MAAM,CAAC,CAAC,CAAA;AAE9J,EAAA,oBACE4Q,eAAA,CAAA,KAAA,EAAA;AAAK1P,IAAAA,SAAS,EAAE/B,WAAK,CAAC,yBAAyB,CAAE;AAAAuB,IAAAA,QAAA,gBAC/CK,cAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAE/B,WAAK,CAAC,+BAA+B,CAAE;MAAAuB,QAAA,eACrDkQ,eAAA,CAACoG,QAAG,EAAA;AAACxP,QAAAA,KAAK,EAAC,QAAQ;AAACC,QAAAA,OAAO,EAAC,eAAe;QAAA/G,QAAA,EAAA,cACzCK,cAAA,CAACkW,QAAG,EAAA;UAAAvW,QAAA,EAAE0T,aAAa,CAAC;AAAEzF,YAAAA,EAAE,EAAE,WAAA;WAAa,CAAA;AAAC,SAAM,CAAC,eAC/C5N,cAAA,CAACkW,QAAG,EAAA;UAAAvW,QAAA,eACFK,cAAA,CAACoB,YAAO,EAAA;YAACC,KAAK,EAAEgS,aAAa,CAAC;AAAEzF,cAAAA,EAAE,EAAE,gBAAA;AAAiB,aAAC,CAAE;YAAAjO,QAAA,eACtDK,cAAA,CAACyW,WAAM,EAAA;AACLna,cAAAA,IAAI,EAAC,MAAM;AACXoa,cAAAA,IAAI,eAAE1W,cAAA,CAAC2W,kBAAY,IAAE,CAAE;AACvBhW,cAAAA,OAAO,cAAA;gBAAA,IAAc;AAAA,kBAAA,SAAAiW,MAAAC,UAAA,EAAA;oBACnBA,UAAA,CAAA;AACA3D,oBAAAA,KAAK,EAAE,CAAA;AAAC,mBAAA;kBAAA,OAAA4D,OAAA,CAAAC,OAAA,CADR5D,SAAS,GAAA2D,OAAA,CAAAC,OAAA,CAAW5D,SAAS,CAAC,EAAE,CAAC,CAAAJ,CAAAA,IAAA,CAAA6D,KAAA,CAAA,GAAAA,KAAA,CAAjCzD,SAAS,CAAA,CAAA,CAAA;AAEX,iBAAC,QAAAnS,CAAA,EAAA;AAAA,kBAAA,OAAA8V,OAAA,CAAAE,MAAA,CAAAhW,CAAA,CAAA,CAAA;AAAA,iBAAA;AAAA,eAAA;aACF,CAAA;WACM,CAAA;AAAC,SACP,CAAC,CAAA;OACH,CAAA;KACF,CAAC,eACNhB,cAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAE/B,WAAK,CAAC,kCAAkC,CAAE;AAAC6Y,MAAAA,GAAG,EAAErD,WAAY;MAAAjU,QAAA,eAC1EK,cAAA,CAACkX,aAAQ,EAAA;AAACC,QAAAA,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAE;QAACC,KAAK,EAAA,IAAA;QAACC,QAAQ,EAAA,IAAA;AAAC3T,QAAAA,KAAK,EAAEoR,aAAAA;OAAgB,CAAA;AAAC,KACzF,CAAC,eACNjF,eAAA,CAACoG,QAAG,EAAA;AAAC9V,MAAAA,SAAS,EAAE/B,WAAK,CAAC,gCAAgC,CAAE;AAACsI,MAAAA,OAAO,EAAC,KAAK;AAAC4Q,MAAAA,MAAM,EAAE,EAAG;MAAA3X,QAAA,EAAA,cAChFK,cAAA,CAACkW,QAAG,EAAA;QAAAvW,QAAA,eACFK,cAAA,CAACyW,WAAM,EAAA;AACLpT,UAAAA,IAAI,EAAC,OAAO;UACZ1C,OAAO,EAAEA,MAAM;AACbgN,YAAAA,QAAQ,CAAC5Q,YAAY,IAAI,EAAE,CAAC,CAAA;AAC5BmW,YAAAA,KAAK,EAAE,CAAA;WACP;UAAAvT,QAAA,EAED0T,aAAa,CAAC;AAAEzF,YAAAA,EAAE,EAAE,QAAA;WAAU,CAAA;SACzB,CAAA;AAAC,OACN,CAAC,eACN5N,cAAA,CAACkW,QAAG,EAAA;QAAAvW,QAAA,eACFK,cAAA,CAACyW,WAAM,EAAA;AACLna,UAAAA,IAAI,EAAC,SAAS;AACd+G,UAAAA,IAAI,EAAC,OAAO;AACZkU,UAAAA,OAAO,EAAE9D,cAAe;AACxB9S,UAAAA,OAAO,cAAA;YAAA,IAAc;cACnB+S,iBAAiB,CAAC,IAAI,CAAC,CAAA;cAAC,MAAA8D,MAAA,GAAA5E,gBAAA,CACpB,YAAA;AAAA,gBAAA,SAAA6E,OAAAC,WAAA,EAAA;kBACFA,WAAA,CAAA;AACAxE,kBAAAA,KAAK,EAAE,CAAA;AAAC,iBAAA;AAAA,gBAAA,OADRC,SAAS,GAAA2D,OAAA,CAAAC,OAAA,CAAW5D,SAAS,CAACC,MAAM,CAAC,EAAAL,IAAA,CAAA0E,MAAA,CAAAA,GAAAA,MAAA,CAArCtE,SAAS,CAAA,CAAA;eAEV,EAAA,UAAAwE,UAAA,EAAAC,OAAA,EAAA;gBACClE,iBAAiB,CAAC,KAAK,CAAC,CAAA;gBAAC,IAAAiE,UAAA,QAAAC,OAAA,CAAA;AAAA,gBAAA,OAAAA,OAAA,CAAA;AAAA,eAAA,CAAA,CAAA;AAAA,cAAA,OAAAd,OAAA,CAAAC,OAAA,CAAAS,MAAA,IAAAA,MAAA,CAAAzE,IAAA,GAAAyE,MAAA,CAAAzE,IAAA,CAAA,YAAA,EAAA,CAAA,GAAA,KAAA,CAAA,CAAA,CAAA;AAE7B,aAAC,QAAA/R,CAAA,EAAA;AAAA,cAAA,OAAA8V,OAAA,CAAAE,MAAA,CAAAhW,CAAA,CAAA,CAAA;AAAA,aAAA;WAAC;UAAArB,QAAA,EAED0T,aAAa,CAAC;AAAEzF,YAAAA,EAAE,EAAE,SAAA;WAAW,CAAA;SAC1B,CAAA;AAAC,OACN,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC,CAAC;;AC3OF,MAAMiK,UAAU,GAAG,yBAAyB,CAAA;AAE5C,MAAMC,WAAW,GAAGA,MAAM;EACxB,IAAI;AACF,IAAA,OAAOC,IAAI,CAACC,KAAK,CAACC,YAAY,CAACC,OAAO,CAACL,UAAU,CAAC,IAAI,IAAI,CAAC,CAAA;GAC5D,CAAC,OAAAM,OAAA,EAAM;AACN,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;AACF,CAAC,CAAA;AAED,MAAMC,YAAY,GAAGC,IAAI,IAAI;EAC3B,IAAI;IACFJ,YAAY,CAACK,OAAO,CAACT,UAAU,EAAEE,IAAI,CAACQ,SAAS,CAACF,IAAI,CAAC,CAAC,CAAA;GACvD,CAAC,OAAAG,QAAA,EAAM;AACN;AAAA,GAAA;AAEJ,CAAC,CAAA;AAED,MAAMC,OAAO,GAAGxb,IAAI,IAAI;EACtB,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,OAAO,EAAE,CAAA;AACX,GAAA;EACA,OAAOD,uBAAG,CAAC8a,WAAW,EAAE,EAAE7a,IAAI,EAAE,EAAE,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAMyb,OAAO,GAAGA,CAACzb,IAAI,EAAEob,IAAI,KAAK;EAC9B,IAAI,CAACpb,IAAI,EAAE;AACT,IAAA,OAAA;AACF,GAAA;EACAmb,YAAY,CAACvb,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEgb,WAAW,EAAE,EAAE;AAAE,IAAA,CAAC7a,IAAI,GAAGob,IAAAA;AAAK,GAAC,CAAC,CAAC,CAAA;AAClE,CAAC,CAAA;AAED,MAAMM,cAAc,GAAG;EAAEF,OAAO;AAAEC,EAAAA,OAAAA;AAAQ;;AClCnC,MAAME,+BAA+B,GAAG,EAAE;;ACkBjD,MAAMC,aAAa,GAAG,GAAG,CAAA;AACzB,MAAMC,WAAW,GAAG,EAAE,CAAA;AACtB,MAAMC,WAAW,GAAG,GAAG,CAAA;AAEhB,MAAMC,aAAa,GAAGzY,MAAM,IAAI;EAAA,IAAA0Y,WAAA,EAAAC,WAAA,CAAA;EACrC,MAAM/U,KAAK,GAAGD,gBAAgB,CAAC3D,MAAM,CAAC4D,KAAK,CAAC,IAAI0U,aAAa,CAAA;EAC7D,OAAO;IACL1U,KAAK;IACLyD,GAAG,EAAA,CAAAqR,WAAA,GAAE1Y,MAAM,CAACqH,GAAG,KAAA,IAAA,GAAAqR,WAAA,GAAIH,WAAW;IAC9BpT,GAAG,EAAA,CAAAwT,WAAA,GAAE3Y,MAAM,CAACmF,GAAG,KAAA,IAAA,GAAAwT,WAAA,GAAIH,WAAAA;GACpB,CAAA;AACH,CAAC,CAAA;AAED,MAAMI,yBAAyB,GAAGA,CAACxc,KAAK,EAAEyc,WAAW,EAAEC,cAAc,KAAK;EACxE,IAAI,CAACA,cAAc,IAAI1c,KAAK,KAAKyc,WAAW,GAAG,CAAC,EAAE;AAChD,IAAA,OAAO,CAAC,CAAA;AACV,GAAA;AACA,EAAA,OAAOR,+BAA+B,CAAA;AACxC,CAAC,CAAA;AAED,MAAMU,qBAAqB,GAAGA,CAACC,YAAY,EAAE5c,KAAK,EAAEyc,WAAW,EAAEC,cAAc,KAAK;EAClF,OAAOE,YAAY,GAAGJ,yBAAyB,CAACxc,KAAK,EAAEyc,WAAW,EAAEC,cAAc,CAAC,CAAA;AACrF,CAAC,CAAA;AAED,MAAMG,iBAAiB,GAAGtR,IAAA,IAA2C;AAAA,EAAA,IAAxC7G,KAAK,GAAA6G,IAAA,CAAL7G,KAAK;IAAE4D,OAAO,GAAAiD,IAAA,CAAPjD,OAAO;IAAEmO,MAAM,GAAAlL,IAAA,CAANkL,MAAM;IAAEqG,SAAS,GAAAvR,IAAA,CAATuR,SAAS,CAAA;AAC5D,EAAA,MAAAzN,SAAA,GAAwBC,cAAQ,CAAC,KAAK,CAAC;AAAhCyN,IAAAA,IAAI,GAAA1N,SAAA,CAAA,CAAA,CAAA;AAAE2N,IAAAA,OAAO,GAAA3N,SAAA,CAAA,CAAA,CAAA,CAAA;EACpB,oBACE6D,eAAA,CAACoG,QAAG,EAAA;AAAC3S,IAAAA,IAAI,EAAE,KAAM;AAACmD,IAAAA,KAAK,EAAC,QAAQ;AAACtG,IAAAA,SAAS,EAAEyZ,WAAW,CAAC,qBAAqB,CAAE;IAAAja,QAAA,EAAA,cAC7EK,cAAA,CAACkW,QAAG,EAAA;AAAC2D,MAAAA,IAAI,EAAE,CAAE;AAAC1Z,MAAAA,SAAS,EAAEyZ,WAAW,CAAC,2BAA2B,CAAE;AAAAja,MAAAA,QAAA,EAC/D0B,KAAAA;AAAK,KACH,CAAC,eACNrB,cAAA,CAACkW,QAAG,EAAA;AAAC2D,MAAAA,IAAI,EAAC,MAAM;MAAAla,QAAA,eACdK,cAAA,CAAC8Z,YAAO,EAAA;AACNJ,QAAAA,IAAI,EAAEA,IAAK;AACXK,QAAAA,YAAY,EAAEJ,OAAQ;AACtBK,QAAAA,OAAO,EAAC,OAAO;AACfC,QAAAA,SAAS,EAAC,YAAY;AACtB5Z,QAAAA,aAAa,EAAEuZ,WAAW,CAAC,yBAAyB,CAAE;AACtDM,QAAAA,MAAM,EAAE;AAAEC,UAAAA,SAAS,EAAE;AAAEC,YAAAA,OAAO,EAAE,CAAA;AAAE,WAAA;SAAI;QACtCC,OAAO,eACLra,cAAA,CAACiT,qBAAqB,EAAA;AACpBhO,UAAAA,OAAO,EAAEA,OAAQ;AACjBmO,UAAAA,MAAM,EAAEA,MAAO;AACfF,UAAAA,KAAK,EAAEA,MAAMyG,OAAO,CAAC,KAAK,CAAE;UAC5BxG,SAAS,EAAEkB,SAAS,IAAI;YACtBoF,SAAS,CAACa,WAAW,IAAI;cACvB,OAAOjd,6BAAS,CACdgX,SAAS,EACT,CAAC/W,MAAM,EAAEjB,KAAK,EAAEa,GAAG,KAAK;gBACtBI,MAAM,CAACJ,GAAG,CAAC,GAAGL,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEwd,WAAW,CAACpd,GAAG,CAAC,EAAEqd,wBAAI,CAACle,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;eACpF,EACD,EACF,CAAC,CAAA;AACH,aAAC,CAAC,CAAA;AACJ,WAAA;AAAE,SACH,CACF;AAAAsD,QAAAA,QAAA,eAEDK,cAAA,CAAA,MAAA,EAAA;AAAMG,UAAAA,SAAS,EAAEY,8BAAU,CAAC6Y,WAAW,CAAC,uBAAuB,CAAC,EAAEF,IAAI,IAAIE,WAAW,CAAC,WAAW,CAAC,CAAE;AAAAja,UAAAA,QAAA,eAClGK,cAAA,CAACwa,qBAAe,EAAE,EAAA,CAAA;SACd,CAAA;OACC,CAAA;AAAC,KACP,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEV,CAAC,CAAA;AAEKC,MAAAA,cAAc,GAAGlQ,KAAA,IAAwG;AAAA,EAAA,IAArGtF,OAAO,GAAAsF,KAAA,CAAPtF,OAAO;IAAEhI,IAAI,GAAAsN,KAAA,CAAJtN,IAAI;IAAAyd,oBAAA,GAAAnQ,KAAA,CAAE8O,cAAc;AAAdA,IAAAA,cAAc,GAAAqB,oBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,oBAAA;IAAAC,gBAAA,GAAApQ,KAAA,CAAEqQ,UAAU;AAAVA,IAAAA,UAAU,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,gBAAA;IAAE7O,MAAM,GAAAvB,KAAA,CAANuB,MAAM;IAAA+O,qBAAA,GAAAtQ,KAAA,CAAEuQ,eAAe;AAAfA,IAAAA,eAAe,GAAAD,qBAAA,KAAGlC,KAAAA,CAAAA,GAAAA,cAAc,GAAAkC,qBAAA,CAAA;AACtH,EAAA,MAAAE,UAAA,GAA4D9O,cAAQ,CAAC,IAAI,CAAC;AAAnE+O,IAAAA,sBAAsB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,yBAAyB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,MAAMG,yBAAyB,GAAGC,YAAM,CAACH,sBAAsB,CAAC,CAAA;EAChEE,yBAAyB,CAACnK,OAAO,GAAGiK,sBAAsB,CAAA;AAC1D,EAAA,MAAMI,oBAAoB,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;AACzC,EAAA,MAAME,aAAa,GAAGF,YAAM,CAAC,IAAI,CAAC,CAAA;AAClC,EAAA,MAAAG,UAAA,GAAgCrP,cAAQ,CAAC,EAAE,CAAC;AAArCmH,IAAAA,MAAM,GAAAkI,UAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA,CAAA;EAE5B,MAAME,UAAU,GAAGC,gCAAoB,CAAC,CAACC,SAAS,EAAEhf,MAAM,KAAK;IAC7Doe,eAAe,IAAA,IAAA,IAAfA,eAAe,CAAEpC,OAAO,CAACgD,SAAS,EAAEhf,MAAM,CAAC,CAAA;GAC5C,EAAE,GAAG,CAAC,CAAA;AAEP,EAAA,MAAM+c,SAAS,GAAGpN,iBAAW,CAC3BgI,SAAS,IAAI;IACXkH,aAAa,CAACI,UAAU,IAAI;AAC1B,MAAA,MAAMjf,MAAM,GAAG,OAAO2X,SAAS,KAAK,UAAU,GAAGA,SAAS,CAACsH,UAAU,CAAC,GAAGtH,SAAS,CAAA;MAClF,IAAIpX,IAAI,IAAIoc,cAAc,EAAE;AAC1BmC,QAAAA,UAAU,CAACve,IAAI,EAAEP,MAAM,CAAC,CAAA;AAC1B,OAAA;AACA,MAAA,OAAOA,MAAM,CAAA;AACf,KAAC,CAAC,CAAA;GACH,EACD,CAACO,IAAI,EAAEoc,cAAc,EAAEmC,UAAU,CACnC,CAAC,CAAA;AAEDI,EAAAA,eAAS,CAAC,MAAM;IACd,IAAI3e,IAAI,IAAIoc,cAAc,EAAE;AAC1BkC,MAAAA,aAAa,CAAC1e,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEge,eAAe,CAACrC,OAAO,CAACxb,IAAI,CAAC,CAAC,CAAC,CAAA;AACjE,KAAA;GACD,EAAE,CAACA,IAAI,EAAEoc,cAAc,EAAEyB,eAAe,CAAC,CAAC,CAAA;AAE3C,EAAA,MAAM/G,cAAc,GAAGxH,aAAO,CAAC,MAAM;IACnC,OAAOtH,OAAO,CACXjG,MAAM,CAACyV,GAAG,IAAI,EAAEzX,uBAAG,CAACoW,MAAM,EAAKqB,GAAG,CAACxX,IAAI,GAAU,UAAA,CAAC,KAAK,KAAK,IAAKD,uBAAG,CAACoW,MAAM,EAAKqB,GAAG,CAACxX,IAAI,GAAU,UAAA,CAAC,KAAK,IAAI,IAAIwX,GAAG,CAACtN,MAAM,KAAK,IAAK,CAAC,CAAC,CACtI6G,IAAI,CAAC,CAACW,CAAC,EAAEC,CAAC,KAAK;AACd,MAAA,MAAMiN,aAAa,GAAG5f,IAAI,IAAIe,uBAAG,CAACoW,MAAM,EAAKnX,IAAI,CAACgB,IAAI,GAAA,OAAA,EAAS,CAAC,CAAC,IAAIhB,IAAI,CAACgY,KAAK,KAAK,MAAM,IAAIhY,IAAI,CAACgY,KAAK,KAAK,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAIhY,IAAI,CAACgY,KAAK,KAAK,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAA;MACtK,OAAO4H,aAAa,CAAClN,CAAC,CAAC,GAAGkN,aAAa,CAACjN,CAAC,CAAC,CAAA;AAC5C,KAAC,CAAC,CAAA;AACN,GAAC,EAAE,CAAC3J,OAAO,EAAEmO,MAAM,CAAC,CAAC,CAAA;AAErB,EAAA,MAAMgG,WAAW,GAAGrF,cAAc,CAAC9U,MAAM,CAAA;AAEzC,EAAA,MAAM6c,cAAc,GAAGvP,aAAO,CAAC,MAAMwH,cAAc,CAAC7O,IAAI,CAACuP,GAAG,IAAIA,GAAG,CAACR,KAAK,KAAK,OAAO,IAAIQ,GAAG,CAACR,KAAK,KAAK,MAAM,IAAIQ,GAAG,CAACR,KAAK,KAAK,IAAI,CAAC,EAAE,CAACF,cAAc,CAAC,CAAC,CAAA;AAEvJ,EAAA,MAAMgI,uBAAuB,GAAGxP,aAAO,CAAC,MAAM;AAC5C,IAAA,OAAOyP,iCAAa,CAACjI,cAAc,EAAEU,GAAG,IAAIA,GAAG,CAACR,KAAK,KAAK,OAAO,IAAI,CAACpJ,eAAe,CAAC4J,GAAG,CAAC,CAAC,CAAA;AAC7F,GAAC,EAAE,CAACV,cAAc,CAAC,CAAC,CAAA;AAEpB,EAAA,MAAMkI,UAAU,GAAG1P,aAAO,CAAC,MAAM;IAC/B,OAAOwH,cAAc,CAAC7U,MAAM,CAAC,CAACgd,GAAG,EAAEzH,GAAG,EAAE9X,KAAK,KAAK;AAChD,MAAA,MAAAwf,cAAA,GAAkBnD,aAAa,CAACvE,GAAG,CAAC;QAA5BtQ,KAAK,GAAAgY,cAAA,CAALhY,KAAK,CAAA;AACb,MAAA,MAAMoV,YAAY,GAAGvc,uBAAG,CAACoW,MAAM,EAAKqB,GAAG,CAACxX,IAAI,GAAA,QAAQ,CAAC,IAAIkH,KAAK,CAAA;MAC9D,OAAO+X,GAAG,GAAG5C,qBAAqB,CAACC,YAAY,EAAE5c,KAAK,EAAEyc,WAAW,EAAEC,cAAc,CAAC,CAAA;KACrF,EAAE,CAAC,CAAC,CAAA;GACN,EAAE,CAACtF,cAAc,EAAEX,MAAM,EAAEgG,WAAW,EAAEC,cAAc,CAAC,CAAC,CAAA;AAEzD,EAAA,MAAM+C,iBAAiB,GAAG/P,iBAAW,CACnCqE,KAAA,IAAsB;AAAA,IAAA,IAAnBvM,KAAK,GAAAuM,KAAA,CAALvM,KAAK;MAAExH,KAAK,GAAA+T,KAAA,CAAL/T,KAAK,CAAA;IACb,MAAM4c,YAAY,GAAGpV,KAAK,CAAA;AAC1B,IAAA,IAAI6W,sBAAsB,KAAK,IAAI,IAAIA,sBAAsB,KAAKre,KAAK,EAAE;MACvE,OAAO2c,qBAAqB,CAACC,YAAY,EAAE5c,KAAK,EAAEyc,WAAW,EAAEC,cAAc,CAAC,CAAA;AAChF,KAAA;AACA,IAAA,IAAIyC,cAAc,IAAIC,uBAAuB,KAAKpf,KAAK,EAAE;MACvD,OAAO2c,qBAAqB,CAACC,YAAY,EAAE5c,KAAK,EAAEyc,WAAW,EAAEC,cAAc,CAAC,CAAA;AAChF,KAAA;IACA,OAAOC,qBAAqB,CAACC,YAAY,EAAE5c,KAAK,EAAEyc,WAAW,EAAEC,cAAc,CAAC,GAAG5T,IAAI,CAACC,GAAG,CAACkV,UAAU,GAAGqB,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3H,GAAC,EACD,CAACH,cAAc,EAAEC,uBAAuB,EAAEnB,UAAU,EAAEqB,UAAU,EAAEjB,sBAAsB,EAAE5B,WAAW,EAAEC,cAAc,CACvH,CAAC,CAAA;AAED,EAAA,MAAMgD,cAAc,GAAGhQ,iBAAW,CAChC9L,MAAM,IAAI;AACR,IAAA,MAAA+b,eAAA,GAA4BtD,aAAa,CAACzY,MAAM,CAAC;MAAzC4D,KAAK,GAAAmY,eAAA,CAALnY,KAAK;MAAEyD,GAAG,GAAA0U,eAAA,CAAH1U,GAAG;MAAElC,GAAG,GAAA4W,eAAA,CAAH5W,GAAG,CAAA;IACvB,MAAM6W,YAAY,GAAG9W,IAAI,CAACmC,GAAG,CAACnC,IAAI,CAACC,GAAG,CAAC1I,uBAAG,CAACoW,MAAM,EAAK7S,MAAM,CAACtD,IAAI,GAAA,QAAQ,CAAC,IAAIkH,KAAK,EAAEyD,GAAG,CAAC,EAAElC,GAAG,CAAC,CAAA;IAC/F,OAAO;MAAE6W,YAAY;MAAE3U,GAAG;AAAElC,MAAAA,GAAAA;KAAK,CAAA;AACnC,GAAC,EACD,CAAC0N,MAAM,CACT,CAAC,CAAA;EAED,MAAMoJ,eAAe,GAAGnQ,iBAAW,CACjC,CAAC9L,MAAM,EAAE5D,KAAK,KAAK;AACjB,IAAA,oBACEqD,cAAA,CAAA,MAAA,EAAA;MACEG,SAAS,EAAEY,8BAAU,CAAC6Y,WAAW,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAE;MAC/E6C,WAAW,EAAEzb,CAAC,IAAI;QAChBA,CAAC,CAAC6P,eAAe,EAAE,CAAA;AACnB,QAAA,MAAA6L,eAAA,GAAmCL,cAAc,CAAC9b,MAAM,CAAC;UAAjDgc,YAAY,GAAAG,eAAA,CAAZH,YAAY;UAAE3U,GAAG,GAAA8U,eAAA,CAAH9U,GAAG;UAAElC,GAAG,GAAAgX,eAAA,CAAHhX,GAAG,CAAA;QAC9B0V,oBAAoB,CAACrK,OAAO,GAAGlU,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEyD,MAAM,EAAE;UAAE5D,KAAK;AAAEwH,UAAAA,KAAK,EAAEoY,YAAY;UAAE3U,GAAG;AAAElC,UAAAA,GAAAA;AAAI,SAAC,CAAC,CAAA;AAClG2V,QAAAA,aAAa,CAACtK,OAAO,GAAG/P,CAAC,CAAC2b,OAAO,CAAA;QACjC1B,yBAAyB,CAACte,KAAK,CAAC,CAAA;OAChC;AAAAgD,MAAAA,QAAA,eAEFK,cAAA,CAAC8V,oBAAc,EAAE,EAAA,CAAA;AAAC,KACd,CAAC,CAAA;AAEX,GAAC,EACD,CAACuG,cAAc,CACjB,CAAC,CAAA;AAED,EAAA,MAAMO,MAAM,GAAGC,kCAAc,CAACC,KAAK,IAAI;IACrC,IAAI5B,yBAAyB,CAACnK,OAAO,KAAK,IAAI,IAAI,CAACqK,oBAAoB,CAACrK,OAAO,EAAE;AAC/E,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAAgM,qBAAA,GAA2C3B,oBAAoB,CAACrK,OAAO;MAAzDiM,OAAO,GAAAD,qBAAA,CAAb9f,IAAI;MAAWkH,KAAK,GAAA4Y,qBAAA,CAAL5Y,KAAK;MAAEyD,GAAG,GAAAmV,qBAAA,CAAHnV,GAAG;MAAElC,GAAG,GAAAqX,qBAAA,CAAHrX,GAAG,CAAA;AACtC,IAAA,MAAM6W,YAAY,GAAG9W,IAAI,CAACmC,GAAG,CAACnC,IAAI,CAACC,GAAG,CAACvB,KAAK,GAAG2Y,KAAK,EAAElV,GAAG,CAAC,EAAElC,GAAG,CAAC,CAAA;IAChE,IAAI6W,YAAY,GAAG3U,GAAG,EAAE;AACtB,MAAA,OAAA;AACF,KAAA;IACA6R,SAAS,CAACkC,UAAU,IAClB9e,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE6e,UAAU,EAAE;AAC5B,MAAA,CAACqB,OAAO,GAAGngB,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE6e,UAAU,CAACqB,OAAO,CAAC,EAAE;AAAE7Y,QAAAA,KAAK,EAAEoY,YAAAA;OAAc,CAAA;AAC3E,KAAC,CACH,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM5M,iBAAiB,GAAGtD,iBAAW,CACnC,UAAChL,KAAK,EAAEd,MAAM,EAAE5D,KAAK,EAAAia,KAAA,EAAqD;AAAA,IAAA,IAAAhG,KAAA,GAAAgG,KAAA,cAAP,EAAE,GAAAA,KAAA;MAAAqG,gBAAA,GAAArM,KAAA,CAA5CsM,UAAU;AAAVA,MAAAA,UAAU,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;MAAAE,gBAAA,GAAAvM,KAAA,CAAEwM,UAAU;AAAVA,MAAAA,UAAU,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA,CAAA;AAC5D,IAAA,MAAME,SAAS,GAAGD,UAAU,gBAAGpd,cAAA,CAACwZ,iBAAiB,EAAA;AAACnY,MAAAA,KAAK,EAAEA,KAAM;AAAC4D,MAAAA,OAAO,EAAEA,OAAQ;AAACmO,MAAAA,MAAM,EAAEA,MAAO;AAACqG,MAAAA,SAAS,EAAEA,SAAAA;KAAY,CAAC,GAAGpY,KAAK,CAAA;AAClI,IAAA,MAAMgZ,OAAO,gBACXxK,eAAA,CAAA8E,mBAAA,EAAA;AAAAhV,MAAAA,QAAA,EACG0d,CAAAA,SAAS,EACTH,UAAU,IAAI7D,cAAc,IAAImD,eAAe,CAACjc,MAAM,EAAE5D,KAAK,CAAC,CAAA;AAAA,KAC/D,CACH,CAAA;AACD,IAAA,IAAI,CAACugB,UAAU,IAAI,CAAC7D,cAAc,EAAE;AAClC,MAAA,OAAOgB,OAAO,CAAA;AAChB,KAAA;AACA,IAAA,oBAAOra,cAAA,CAAA,MAAA,EAAA;AAAMG,MAAAA,SAAS,EAAEyZ,WAAW,CAAC,mBAAmB,CAAE;AAAAja,MAAAA,QAAA,EAAE0a,OAAAA;AAAO,KAAO,CAAC,CAAA;AAC5E,GAAC,EACD,CAACpV,OAAO,EAAEmO,MAAM,EAAEiG,cAAc,EAAEmD,eAAe,EAAE/C,SAAS,CAC9D,CAAC,CAAA;AAED,EAAA,MAAM6D,sBAAsB,GAAGjR,iBAAW,CACxC1P,KAAK,IACHoE,8BAAU,CAAC6Y,WAAW,CAAC,YAAY,CAAC,EAAE;AACpC,IAAA,WAAW,EAAEsB,yBAAyB,CAACnK,OAAO,KAAKpU,KAAAA;GACpD,CAAC,EACJ,EACF,CAAC,CAAA;EAED,MAAM4gB,mBAAmB,GAAGlR,iBAAW,CACrC,CAAC9L,MAAM,EAAE5D,KAAK,EAAA6gB,KAAA,KAAgB;AAAA,IAAA,IAAZnc,KAAK,GAAAmc,KAAA,CAALnc,KAAK,CAAA;AACrB,IAAA,MAAAoc,gBAAA,GAAyBpB,cAAc,CAAC9b,MAAM,CAAC;MAAvCgc,YAAY,GAAAkB,gBAAA,CAAZlB,YAAY,CAAA;IACpB,MAAMmB,SAAS,GAAGtB,iBAAiB,CAAC;AAAEjY,MAAAA,KAAK,EAAEoY,YAAY;AAAE5f,MAAAA,KAAAA;AAAM,KAAC,CAAC,CAAA;AACnE,IAAA,MAAMoJ,YAAY,GAAGpJ,KAAK,KAAKyc,WAAW,GAAG,CAAC,CAAA;IAE9C,MAAMuE,WAAW,GAAGA,OAAO;MACzBxd,SAAS,EAAEY,8BAAU,CAAC;QACpB,WAAW,EAAEia,sBAAsB,KAAKre,KAAK;QAC7C,gBAAgB,EAAEoJ,YAAY,IAAIsT,cAAAA;OACnC,CAAA;AACH,KAAC,CAAC,CAAA;IAEF,OAAO;AACLuE,MAAAA,YAAY,EAAED,WAAW;AACzBE,MAAAA,MAAM,EAAEF,WAAW;AACnBxZ,MAAAA,KAAK,EAAEuZ,SAAS;AAChBI,MAAAA,gBAAgB,EAAEA,CAACC,MAAM,EAAEC,UAAU,KAAK;AACxC,QAAA,MAAMC,OAAO,GAAG,OAAOnS,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACiS,MAAM,CAAC,GAAGA,MAAM,CAACjS,MAAM,CAAC,CAAA;AAC9E,QAAA,MAAMoS,WAAW,GAAG,OAAOpS,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACkS,UAAU,CAAC,GAAGA,UAAU,CAAClS,MAAM,CAAC,CAAA;AAC1F,QAAA,OAAOoP,yBAAyB,CAACnK,OAAO,KAAK,IAAI,IAAImK,yBAAyB,CAACnK,OAAO,KAAKpU,KAAK,IAAI,EAAEshB,OAAO,KAAKC,WAAW,IAAIC,2BAAO,CAACJ,MAAM,CAACxd,MAAM,CAACtD,IAAI,CAAC,EAAE+gB,UAAU,CAACzd,MAAM,CAACtD,IAAI,CAAC,CAAC,CAAC,CAAA;OACxL;MACDoE,KAAK,EAAEsO,iBAAiB,CAACtO,KAAK,EAAEd,MAAM,EAAE5D,KAAK,EAAE;AAC7CugB,QAAAA,UAAU,EAAE,IAAI;QAChBE,UAAU,EAAErX,YAAY,IAAIsT,cAAAA;OAC7B,CAAA;KACF,CAAA;AACH,GAAC,EACD,CAACD,WAAW,EAAEC,cAAc,EAAE+C,iBAAiB,EAAEC,cAAc,EAAE1M,iBAAiB,EAAE7D,MAAM,EAAEkP,sBAAsB,CACpH,CAAC,CAAA;AAEDY,EAAAA,eAAS,CAAC,MAAM;IACd,MAAMwC,mBAAmB,GAAGA,MAAM;MAChCnD,yBAAyB,CAAC,IAAI,CAAC,CAAA;MAC/BI,aAAa,CAACtK,OAAO,GAAG,IAAI,CAAA;MAC5BqK,oBAAoB,CAACrK,OAAO,GAAG,IAAI,CAAA;KACpC,CAAA;IAED,MAAMsN,aAAa,GAAGrd,CAAC,IAAI;AACzB,MAAA,IAAIka,yBAAyB,CAACnK,OAAO,KAAK,IAAI,IAAIqK,oBAAoB,CAACrK,OAAO,KAAK,IAAI,IAAIsK,aAAa,CAACtK,OAAO,KAAK,IAAI,EAAE;AACzH,QAAA,OAAA;AACF,OAAA;MACA6L,MAAM,CAAC5b,CAAC,CAAC2b,OAAO,GAAGtB,aAAa,CAACtK,OAAO,CAAC,CAAA;KAC1C,CAAA;IAEDuN,QAAQ,CAACC,eAAe,CAACC,gBAAgB,CAAC,SAAS,EAAEJ,mBAAmB,EAAE,IAAI,CAAC,CAAA;IAC/EE,QAAQ,CAACC,eAAe,CAACC,gBAAgB,CAAC,WAAW,EAAEH,aAAa,EAAE,IAAI,CAAC,CAAA;AAC3E,IAAA,OAAO,MAAM;MACXC,QAAQ,CAACC,eAAe,CAACE,mBAAmB,CAAC,SAAS,EAAEL,mBAAmB,EAAE,IAAI,CAAC,CAAA;MAClFE,QAAQ,CAACC,eAAe,CAACE,mBAAmB,CAAC,WAAW,EAAEJ,aAAa,EAAE,IAAI,CAAC,CAAA;KAC/E,CAAA;AACH,GAAC,EAAE,CAACzB,MAAM,CAAC,CAAC,CAAA;EAEZ,OAAO;IACL7I,cAAc;AACd2K,IAAAA,aAAa,EAAEtL,MAAM;IACrBqG,SAAS;IACTuB,sBAAsB;IACtBiB,UAAU;IACVH,cAAc;IACdyB,mBAAmB;IACnB5N,iBAAiB;IACjB2N,sBAAsB;IACtBjB,cAAc;IACdD,iBAAiB;AACjBI,IAAAA,eAAAA;GACD,CAAA;AACH;;AClSA,MAAMmC,cAAc,GAAG1Z,OAAO,IAAI;EAChC,OAAOsH,aAAO,CAAC,MAAM;AACnB,IAAA,MAAMqS,kBAAkB,GAAG3Z,OAAO,CAACjG,MAAM,CAAC/C,IAAI,IAAIA,IAAI,CAAC4Y,WAAW,IAAI5Y,IAAI,CAAC4Y,WAAW,CAAC5V,MAAM,GAAG,CAAC,CAAC,CAAA;AAClG,IAAA,IAAI2f,kBAAkB,CAAC3f,MAAM,GAAG,CAAC,EAAE;AACjC,MAAA,MAAM4f,UAAU,GAAG5Z,OAAO,CAACoI,KAAK,CAAC,CAAC,CAAC,CAAA;MACnC,MAAMyR,KAAK,GAAG,EAAE,CAAA;MAChB,MAAMC,iBAAiB,GAAGxe,MAAM,IAAI;QAClC,MAAM;AAAEsU,UAAAA,WAAAA;AAAY,SAAC,GAAGtU,MAAM,CAAA;QAC9B,IAAI,EAAEsU,WAAW,IAAIA,WAAW,CAAC5V,MAAM,GAAG,CAAC,CAAC,EAAE;AAC5C,UAAA,OAAA;AACF,SAAA;AACA,QAAA,MAAM+f,WAAW,GAAGH,UAAU,CAAC3R,OAAO,CAAC3M,MAAM,CAAC,CAAA;AAC9C,QAAA,MAAM0e,IAAI,GAAGA,CAACpK,WAAW,EAAEqK,SAAS,KAAK;AACvC,UAAA,MAAM,CAACC,YAAY,EAAE,GAAGC,WAAW,CAAC,GAAGvK,WAAW,CAAA;AAClD,UAAA,IAAIwK,YAAY,GAAGH,SAAS,CAAC9hB,IAAI,CAACnB,IAAI,IAAIA,IAAI,CAACgB,IAAI,KAAKkiB,YAAY,CAACliB,IAAI,CAAC,CAAA;UAC1E,IAAI,CAACoiB,YAAY,EAAE;AACjBA,YAAAA,YAAY,GAAGxiB,MAAM,CAACC,MAAM,CAAC;AAAEwiB,cAAAA,UAAU,EAAEN,WAAAA;aAAa,EAAEG,YAAY,EAAE;AAAExf,cAAAA,QAAQ,EAAE,EAAA;AAAG,aAAC,CAAC,CAAA;AACzFuf,YAAAA,SAAS,CAAC7Y,IAAI,CAACgZ,YAAY,CAAC,CAAA;AAC9B,WAAA;AACA,UAAA,IAAID,WAAW,CAACngB,MAAM,GAAG,CAAC,EAAE;AAC1BggB,YAAAA,IAAI,CAACG,WAAW,EAAEC,YAAY,CAAC1f,QAAQ,CAAC,CAAA;AAC1C,WAAC,MAAM;AACL0f,YAAAA,YAAY,CAAC1f,QAAQ,CAAC0G,IAAI,CAAC9F,MAAM,CAAC,CAAA;AACpC,WAAA;SACD,CAAA;AACD0e,QAAAA,IAAI,CAACpK,WAAW,EAAEiK,KAAK,CAAC,CAAA;AACxBD,QAAAA,UAAU,CAACrR,MAAM,CAACwR,WAAW,EAAE,CAAC,CAAC,CAAA;OAClC,CAAA;AACDJ,MAAAA,kBAAkB,CAACniB,OAAO,CAACsiB,iBAAiB,CAAC,CAAA;AAC7CD,MAAAA,KAAK,CAACriB,OAAO,CAAC,CAAC8iB,WAAW,EAAE5iB,KAAK,KAAK;AACpCkiB,QAAAA,UAAU,CAACrR,MAAM,CAAC+R,WAAW,CAACD,UAAU,GAAG3iB,KAAK,EAAE,CAAC,EAAE4iB,WAAW,CAAC,CAAA;AACnE,OAAC,CAAC,CAAA;MAEF,OAAO;AAAEta,QAAAA,OAAO,EAAE4Z,UAAU;AAAEW,QAAAA,cAAc,EAAE,IAAA;OAAM,CAAA;AACtD,KAAA;IACA,OAAO;MAAEva,OAAO;AAAEua,MAAAA,cAAc,EAAE,KAAA;KAAO,CAAA;AAC3C,GAAC,EAAE,CAACva,OAAO,CAAC,CAAC,CAAA;AACf,CAAC;;ACrCD,MAAMwa,eAAe,GAAGxI,GAAG,IAAI;EAC7B,MAAM,CAAC9S,KAAK,EAAEub,QAAQ,CAAC,GAAGzT,cAAQ,CAAC,CAAC,CAAC,CAAA;AAErC2P,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,MAAM+D,EAAE,GAAG1I,GAAG,CAAClG,OAAO,CAAA;IACtB,IAAI,CAAC4O,EAAE,EAAE;AACP,MAAA,OAAA;AACF,KAAA;IACA,MAAMC,MAAM,GAAGA,MAAMF,QAAQ,CAACC,EAAE,CAACE,WAAW,CAAC,CAAA;AAC7C,IAAA,MAAMC,cAAc,GAAG,IAAIC,cAAc,CAACH,MAAM,CAAC,CAAA;AACjDE,IAAAA,cAAc,CAACE,OAAO,CAACL,EAAE,CAAC,CAAA;AAC1BC,IAAAA,MAAM,EAAE,CAAA;AACR,IAAA,OAAO,MAAME,cAAc,CAACG,UAAU,EAAE,CAAA;AAC1C,GAAC,EAAE,CAAChJ,GAAG,CAAC,CAAC,CAAA;AAET,EAAA,OAAO9S,KAAK,CAAA;AACd,CAAC;;ACbM,MAAM+b,iBAAiB,GAAGA,CAAC7F,OAAO,EAAE9Z,MAAM,EAAE4f,gBAAgB,KAAK;EACtE,MAAMC,YAAY,GAAG7f,MAAM,CAACX,QAAQ,IAAI,CAACW,MAAM,CAACmK,uBAAuB,CAAA;EACvE,MAAM2V,oBAAoB,GAAGC,OAAO,CAAC/f,MAAM,CAACX,QAAQ,IAAIW,MAAM,CAACoK,aAAa,CAAC,CAAA;AAC7E,EAAA,MAAM4V,KAAK,GAAGH,YAAY,gBAAGpgB,cAAA,CAACN,QAAQ,EAAA;IAACE,QAAQ,EAAEW,MAAM,CAACX,QAAS;AAAAD,IAAAA,QAAA,EAAE0a,OAAAA;GAAkB,CAAC,GAAGA,OAAO,CAAA;AAEhG,EAAA,oBAAOra,cAAA,CAAA,MAAA,EAAA;AAAMG,IAAAA,SAAS,EAAEggB,gBAAiB;IAAAxgB,QAAA,EAAE0gB,oBAAoB,gBAAGrgB,cAAA,CAAA,MAAA,EAAA;AAAMG,MAAAA,SAAS,EAAEY,8BAAU,CAACO,aAAa,CAAC,cAAc,CAAC,EAAEf,MAAM,CAACoK,aAAa,IAAIrJ,aAAa,CAAC,iBAAiB,CAAC,CAAE;AAAA3B,MAAAA,QAAA,EAAE4gB,KAAAA;AAAK,KAAO,CAAC,GAAGA,KAAAA;AAAK,GAAO,CAAC,CAAA;AACxN,CAAC,CAAA;AAEM,MAAMC,iBAAiB,GAAGjgB,MAAM,IAAI;AACzC,EAAA,IAAI,CAACA,MAAM,CAACX,QAAQ,EAAE;AACpB,IAAA,OAAOuB,SAAS,CAAA;AAClB,GAAA;EACA,OAAO,OAAOZ,MAAM,CAACX,QAAQ,KAAK,QAAQ,GAAGW,MAAM,CAACX,QAAQ,GAAG,IAAI,CAAA;AACrE,CAAC;;;ACDD,MAAM6gB,iBAAiB,GAAG/Z,OAAO,IAAI;EACnC,IAAIA,OAAO,KAAK,QAAQ,EAAE;AACxB,IAAA,OAAO,QAAQ,CAAA;AACjB,GAAA;EACA,IAAIA,OAAO,KAAK,UAAU,EAAE;AAC1B,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;AACA,EAAA,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAMga,aAAa,GAAGA,CAAC5U,MAAM,EAAEiS,MAAM,KAAK/gB,uBAAG,CAAC+gB,MAAM,EAAE,OAAOjS,MAAM,KAAK,UAAU,GAAGA,MAAM,CAACiS,MAAM,CAAC,GAAGjS,MAAM,CAAC,CAAA;AAE7G,MAAM6U,WAAW,GAAGxc,KAAK,IAAI;EAC3B,IAAIA,KAAK,IAAI,IAAI,EAAE;AACjB,IAAA,OAAOhD,SAAS,CAAA;AAClB,GAAA;AACA,EAAA,IAAI,OAAOgD,KAAK,KAAK,QAAQ,EAAE;AAC7B,IAAA,OAAOA,KAAK,CAAA;AACd,GAAA;AACA,EAAA,MAAMyc,MAAM,GAAG1c,gBAAgB,CAACC,KAAK,CAAC,CAAA;EACtC,OAAOyc,MAAM,IAAIzc,KAAK,CAAA;AACxB,CAAC,CAAA;AAED,MAAM0c,WAAW,GAAG5M,KAAK,IAAI;EAC3B,IAAIA,KAAK,KAAK,OAAO,EAAE;AACrB,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;AACA,EAAA,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAK,MAAM,EAAE;AACtC,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;AACA,EAAA,OAAO9S,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM2f,eAAe,GAAGvgB,MAAM,KAAK;AACjCwgB,EAAAA,SAAS,EAAEN,iBAAiB,CAAClgB,MAAM,CAACmG,OAAO,CAAC;AAC5Csa,EAAAA,aAAa,EAAEzgB,MAAM,CAACkG,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAGlG,MAAM,CAACkG,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG,KAAA;AAC/F,CAAC,CAAC,CAAA;AAEF,MAAMwa,mBAAmB,GAAG,YAAA;AAAA,EAAA,OAAclgB,8BAAU,CAAC3C,OAAK,CAAC,YAAY,CAAC,EAAE,qBAAqB,EAAE,GAAA,EAAA,CAAAiP,KAAA,CAAA6T,IAAA,CAAAC,SAAA,CAAQ,CAAC,CAAA;AAAA,CAAA,CAAA;AAE1G,MAAMC,cAAc,GAAGC,IAAI,iBAAIrhB,cAAA,CAAA,MAAA,EAAA;AAAMG,EAAAA,SAAS,EAAEmhB,OAAS,CAAC,aAAa,CAAE;AAAA3hB,EAAAA,QAAA,EAAE0hB,IAAAA;AAAI,CAAO,CAAC,CAAA;AAEjFE,MAAAA,KAAK,GAAGC,CAAC,IAAI;AACjB,EAAA,MAAMC,QAAQ,GAAGtG,YAAM,CAAC,IAAI,CAAC,CAAA;AAC7B,EAAA,MAAMP,UAAU,GAAG6E,eAAe,CAACgC,QAAQ,CAAC,CAAA;AAC5C,EAAA,MAAAzV,SAAA,GAAgCC,cAAQ,CAAC,IAAI,CAAC;AAAvCyV,IAAAA,QAAQ,GAAA1V,SAAA,CAAA,CAAA,CAAA;AAAE2V,IAAAA,WAAW,GAAA3V,SAAA,CAAA,CAAA,CAAA,CAAA;EAE5B,MAAM+D,KAAK,GAAGlT,MAAM,CAACC,MAAM,CACzB,EAAE,EACF;AACEgP,IAAAA,MAAM,EAAE,IAAI;AACZd,IAAAA,YAAY,EAAEjN,eAAO;AACrB0N,IAAAA,WAAW,EAAE,GAAG;AAChBV,IAAAA,kBAAkB,EAAE,IAAI;AACxB6W,IAAAA,KAAK,eAAE5hB,cAAA,CAAC6hB,UAAK,IAAE,CAAC;AAChBxI,IAAAA,cAAc,EAAE,IAAA;GACjB,EACDmI,CACF,CAAC,CAAA;AACD,EAAA,MACErhB,SAAS,GAsBP4P,KAAK,CAtBP5P,SAAS;IACTK,UAAU,GAqBRuP,KAAK,CArBPvP,UAAU;IACDshB,WAAW,GAoBlB/R,KAAK,CApBP9K,OAAO;IACP6G,MAAM,GAmBJiE,KAAK,CAnBPjE,MAAM;IACN5F,YAAY,GAkBV6J,KAAK,CAlBP7J,YAAY;IACZ8E,YAAY,GAiBV+E,KAAK,CAjBP/E,YAAY;IACZD,kBAAkB,GAgBhBgF,KAAK,CAhBPhF,kBAAkB;IAClBU,WAAW,GAeTsE,KAAK,CAfPtE,WAAW;IACXmW,KAAK,GAcH7R,KAAK,CAdP6R,KAAK;IACLG,WAAW,GAaThS,KAAK,CAbPgS,WAAW;IACXnZ,MAAM,GAYJmH,KAAK,CAZPnH,MAAM;IACN9J,OAAO,GAWLiR,KAAK,CAXPjR,OAAO;IACPkjB,MAAM,GAUJjS,KAAK,CAVPiS,MAAM;IACNC,WAAW,GASTlS,KAAK,CATPkS,WAAW;IAAAC,iBAAA,GASTnS,KAAK,CARPoS,UAAU;AAAVA,IAAAA,UAAU,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IAClBtS,UAAU,GAORG,KAAK,CAPPH,UAAU;IACV3S,IAAI,GAMF8S,KAAK,CANP9S,IAAI;IACJoc,cAAc,GAKZtJ,KAAK,CALPsJ,cAAc;IACdyB,eAAe,GAIb/K,KAAK,CAJP+K,eAAe;IACfvF,MAAM,GAGJxF,KAAK,CAHPwF,MAAM;IACN6M,OAAO,GAELrS,KAAK,CAFPqS,OAAO;AACJC,IAAAA,MAAM,GAAAja,6BAAA,CACP2H,KAAK,EAAA1H,WAAA,CAAA,CAAA;AAET,EAAA,MAAMpD,OAAO,GAAGsH,aAAO,CAAC,MAAM3B,cAAc,CAACkX,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC,CAAA;AAEzElG,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAIhB,UAAU,EAAE;MACd0H,UAAU,CAAC,MAAMX,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;AACzC,KAAA;AACF,GAAC,EAAE,CAAC/G,UAAU,CAAC,CAAC,CAAA;EAEhB,MAAA2H,eAAA,GAAmH9H,cAAc,CAAC;MAChIxV,OAAO;MACPhI,IAAI;MACJoc,cAAc;MACduB,UAAU;MACV9O,MAAM;AACNgP,MAAAA,eAAAA;AACF,KAAC,CAAC;IAPM/G,cAAc,GAAAwO,eAAA,CAAdxO,cAAc;IAAE2K,aAAa,GAAA6D,eAAA,CAAb7D,aAAa;IAAE1D,sBAAsB,GAAAuH,eAAA,CAAtBvH,sBAAsB;IAAEiB,UAAU,GAAAsG,eAAA,CAAVtG,UAAU;IAAEsB,mBAAmB,GAAAgF,eAAA,CAAnBhF,mBAAmB;IAAEzB,cAAc,GAAAyG,eAAA,CAAdzG,cAAc,CAAA;AAS9G,EAAA,MAAAf,UAAA,GAAgD9O,cAAQ,CAAC,IAAI,CAAC;AAAvDuW,IAAAA,gBAAgB,GAAAzH,UAAA,CAAA,CAAA,CAAA;AAAE0H,IAAAA,mBAAmB,GAAA1H,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5C,EAAA,MAAM2H,iBAAiB,GAAGrW,iBAAW,CAAC,MAAM;AAAA,IAAA,IAAAsW,cAAA,CAAA;IAC1C,IAAI3H,sBAAsB,KAAK,IAAI,IAAI,CAACyG,QAAQ,CAAC1Q,OAAO,EAAE;MACxD0R,mBAAmB,CAAC,IAAI,CAAC,CAAA;AACzB,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAMG,IAAI,GAAGnB,QAAQ,CAAC1Q,OAAO,CAAA;AAC7B,IAAA,MAAM8R,UAAU,GAAGD,IAAI,CAACE,aAAa,CAAC,4CAA4C,CAAC,CAAA;AACnF,IAAA,MAAMC,cAAc,GAAGH,IAAI,CAACE,aAAa,CAAC,sBAAsB,CAAC,CAAA;AACjE,IAAA,IAAI,CAACD,UAAU,IAAI,CAACE,cAAc,EAAE;MAClCN,mBAAmB,CAAC,IAAI,CAAC,CAAA;AACzB,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAMO,UAAU,GAAGH,UAAU,CAACI,qBAAqB,EAAE,CAAA;AACrD,IAAA,MAAMC,SAAS,GAAGL,UAAU,CAACC,aAAa,CAAC,wBAAwB,CAAC,CAAA;IACpE,MAAMK,OAAO,GAAGD,SAAS,IAAA,IAAA,GAAA,KAAA,CAAA,GAATA,SAAS,CAAED,qBAAqB,EAAE,CAAA;AAClD,IAAA,MAAMG,aAAa,GAAGL,cAAc,CAACE,qBAAqB,EAAE,CAAA;AAC5DR,IAAAA,mBAAmB,CAAC;AAClBY,MAAAA,QAAQ,EAAE,OAAO;AACjBC,MAAAA,IAAI,EAAE7d,IAAI,CAAC8d,KAAK,CAAAZ,CAAAA,cAAA,GAACQ,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEK,KAAK,KAAAb,IAAAA,GAAAA,cAAA,GAAIK,UAAU,CAACQ,KAAK,CAAC;MACpDC,GAAG,EAAEhe,IAAI,CAAC8d,KAAK,CAACH,aAAa,CAACK,GAAG,CAAC;MAClCC,MAAM,EAAEje,IAAI,CAAC8d,KAAK,CAACH,aAAa,CAACM,MAAM,CAAC;AACxCC,MAAAA,MAAM,EAAE,GAAA;AACV,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAAC3I,sBAAsB,CAAC,CAAC,CAAA;AAE5B4I,EAAAA,qBAAe,CAAC,MAAM;AACpBlB,IAAAA,iBAAiB,EAAE,CAAA;AACrB,GAAC,EAAE,CAACA,iBAAiB,EAAEhE,aAAa,EAAE9D,UAAU,EAAEpa,UAAU,EAAEkhB,QAAQ,CAAC,CAAC,CAAA;AAExE9F,EAAAA,eAAS,CAAC,MAAM;IACd,IAAIZ,sBAAsB,KAAK,IAAI,EAAE;AACnC,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAM6I,YAAY,GAAGA,MAAMnB,iBAAiB,EAAE,CAAA;AAC9CoB,IAAAA,MAAM,CAACtF,gBAAgB,CAAC,WAAW,EAAEqF,YAAY,CAAC,CAAA;IAClDC,MAAM,CAACtF,gBAAgB,CAAC,QAAQ,EAAEqF,YAAY,EAAE,IAAI,CAAC,CAAA;AACrD,IAAA,MAAM/D,cAAc,GAAG,IAAIC,cAAc,CAAC8D,YAAY,CAAC,CAAA;IACvD,IAAIpC,QAAQ,CAAC1Q,OAAO,EAAE;AACpB+O,MAAAA,cAAc,CAACE,OAAO,CAACyB,QAAQ,CAAC1Q,OAAO,CAAC,CAAA;AAC1C,KAAA;AACA,IAAA,OAAO,MAAM;AACX+S,MAAAA,MAAM,CAACrF,mBAAmB,CAAC,WAAW,EAAEoF,YAAY,CAAC,CAAA;MACrDC,MAAM,CAACrF,mBAAmB,CAAC,QAAQ,EAAEoF,YAAY,EAAE,IAAI,CAAC,CAAA;MACxD/D,cAAc,CAACG,UAAU,EAAE,CAAA;KAC5B,CAAA;AACH,GAAC,EAAE,CAACjF,sBAAsB,EAAE0H,iBAAiB,CAAC,CAAC,CAAA;EAE/C,MAAMqB,aAAa,GAAGxX,aAAO,CAAC,MAAMwH,cAAc,CAAC5U,GAAG,CAAC,CAACoB,MAAM,EAAE5D,KAAK,KAAKE,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEyD,MAAM,EAAE;AAAEyjB,IAAAA,OAAO,EAAErnB,KAAAA;AAAM,GAAC,CAAC,CAAC,EAAE,CAACoX,cAAc,CAAC,CAAC,CAAA;AAE3I,EAAA,MAAAkQ,eAAA,GAAoDtF,cAAc,CAACoF,aAAa,CAAC;IAAhEG,cAAc,GAAAD,eAAA,CAAvBhf,OAAO;IAAkBua,cAAc,GAAAyE,eAAA,CAAdzE,cAAc,CAAA;AAE/C,EAAA,MAAM2E,WAAW,GAAG5X,aAAO,CAAC,MAAM;AAChC,IAAA,MAAM6X,eAAe,GAAGA,CAAC7jB,MAAM,EAAE5D,KAAK,KAAK;AACzC,MAAA,MAAcqgB,OAAO,GAA0Czc,MAAM,CAA7DtD,IAAI,CAAA;QAAWoE,KAAK,GAAmCd,MAAM,CAA9Cc,KAAK,CAAA;QAAE8C,KAAK,GAA4B5D,MAAM,CAAvC4D,KAAK,CAAA;QAASuC,OAAO,GAAYnG,MAAM,CAAzBmG,OAAO,CAAA;QAAEuN,KAAK,GAAK1T,MAAM,CAAhB0T,MAAK;AAC1D,MAAA,MAAMoQ,UAAU,GAAG;AACjBnnB,QAAAA,GAAG,EAAE8f,OAAO;AACZsH,QAAAA,SAAS,EAAEtH,OAAO;AAClB3b,QAAAA,KAAK,eAAErB,cAAA,CAAA,MAAA,EAAA;AAAMG,UAAAA,SAAS,EAAEmhB,OAAS,CAAC,aAAa,CAAE;AAAA3hB,UAAAA,QAAA,EAAEgQ,iBAAiB,CAACtO,KAAK,EAAEd,MAAM,EAAEqP,UAAU,CAAA;AAAC,SAAO,CAAC;AACvGzL,QAAAA,KAAK,EAAEwc,WAAW,CAACxc,KAAK,CAAC;AACzB8P,QAAAA,KAAK,EAAE4M,WAAW,CAAC5M,KAAK,CAAC;AACzBxN,QAAAA,KAAK,EAAEga,iBAAiB,CAAC/Z,OAAO,CAAC;AACjC9G,QAAAA,QAAQ,EAAE4gB,iBAAiB,CAACjgB,MAAM,CAAC;QACnCqd,YAAY,EAAEA,OAAO;UACnBzd,SAAS,EAAE8gB,mBAAmB,EAAE;UAChC7iB,KAAK,EAAE0iB,eAAe,CAACvgB,MAAM,CAAA;AAC/B,SAAC,CAAC;QACFsd,MAAM,EAAEA,OAAO;UACb1d,SAAS,EAAE8gB,mBAAmB,EAAE;UAChC7iB,KAAK,EAAE0iB,eAAe,CAACvgB,MAAM,CAAA;AAC/B,SAAC,CAAC;AACFqI,QAAAA,MAAM,EAAEA,CAAC2b,CAAC,EAAExG,MAAM,KAAK;UACrB,MAAAyG,oBAAA,GAAyB1Z,mBAAmB,CAAC;cAC3C7F,OAAO,EAAE,CAAC1E,MAAM,CAAC;cACjBwK,kBAAkB;cAClBC,YAAY;AACZC,cAAAA,WAAW,EAAE,KAAK;AAClBzK,cAAAA,UAAU,EAAEud,MAAM;cAClBtS,WAAW;AACX3M,cAAAA,OAAAA;AACF,aAAC,CAAC;AARK2lB,YAAAA,cAAc,GAAAD,oBAAA,CAAA,CAAA,CAAA,CAAA;UASrB,IAAI,CAACC,cAAc,EAAE;AACnB,YAAA,OAAO,IAAI,CAAA;AACb,WAAA;UACA,OAAOvE,iBAAiB,CAAC1U,cAAc,CAAC;AAAEjL,YAAAA,MAAM,EAAEkkB,cAAc;YAAEhZ,WAAW;AAAEjL,YAAAA,UAAU,EAAEud,MAAM;AAAEjf,YAAAA,OAAAA;WAAS,CAAC,EAAE2lB,cAAc,EAAEnD,OAAS,CAAC,aAAa,CAAC,CAAC,CAAA;AAC1J,SAAA;OACD,CAAA;MAED,IAAI,CAACjI,cAAc,EAAE;AACnB,QAAA,OAAOgL,UAAU,CAAA;AACnB,OAAA;AAEA,MAAA,MAAMK,WAAW,GAAGnH,mBAAmB,CAAChd,MAAM,EAAE5D,KAAK,EAAE;AACrD0E,QAAAA,KAAK,eAAErB,cAAA,CAAA,MAAA,EAAA;AAAMG,UAAAA,SAAS,EAAEmhB,OAAS,CAAC,aAAa,CAAE;AAAA3hB,UAAAA,QAAA,EAAEgQ,iBAAiB,CAACtO,KAAK,EAAEd,MAAM,EAAEqP,UAAU,CAAA;SAAQ,CAAA;AACxG,OAAC,CAAC,CAAA;AACF,MAAA,MAAM+U,SAAS,GAAG9D,WAAW,CAAC5M,KAAK,CAAC,CAAA;MAEpC,OAAOpX,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEunB,UAAU,EAAEK,WAAW,EAAE;QAChDvgB,KAAK,EAAEugB,WAAW,CAACvgB,KAAK;AACxB8P,QAAAA,KAAK,EAAE0Q,SAAS;QAChB/G,YAAY,EAAEA,OAAO;AACnBzd,UAAAA,SAAS,EAAE8gB,mBAAmB,CAACyD,WAAW,CAAC9G,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAxB8G,WAAW,CAAC9G,YAAY,EAAI,CAACzd,SAAS,CAAC;UACtE/B,KAAK,EAAE0iB,eAAe,CAACvgB,MAAM,CAAA;AAC/B,SAAC,CAAC;QACFsd,MAAM,EAAEA,OAAO;AACb1d,UAAAA,SAAS,EAAE8gB,mBAAmB,CAACyD,WAAW,CAAC7G,MAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAlB6G,WAAW,CAAC7G,MAAM,EAAI,CAAC1d,SAAS,CAAC;UAChE/B,KAAK,EAAE0iB,eAAe,CAACvgB,MAAM,CAAA;SAC9B,CAAA;AACH,OAAC,CAAC,CAAA;KACH,CAAA;IAED,MAAMqkB,SAAS,GAAGrkB,MAAM,IAAI;MAC1B,IAAIA,MAAM,CAACZ,QAAQ,IAAIY,MAAM,CAACZ,QAAQ,CAACV,MAAM,GAAG,CAAC,EAAE;QACjD,OAAO;UACL/B,GAAG,EAAEqD,MAAM,CAACtD,IAAI;AAChBoE,UAAAA,KAAK,eAAErB,cAAA,CAAA,MAAA,EAAA;AAAMG,YAAAA,SAAS,EAAEmhB,OAAS,CAAC,aAAa,CAAE;YAAA3hB,QAAA,EAAEY,MAAM,CAACc,KAAAA;AAAK,WAAO,CAAC;UACvEuc,YAAY,EAAEA,OAAO;YACnBzd,SAAS,EAAE8gB,mBAAmB,EAAE;AAChC7iB,YAAAA,KAAK,EAAE;AAAE2iB,cAAAA,SAAS,EAAE,QAAQ;AAAEC,cAAAA,aAAa,EAAE,QAAA;AAAS,aAAA;AACxD,WAAC,CAAC;AACFrhB,UAAAA,QAAQ,EAAEY,MAAM,CAACZ,QAAQ,CAACR,GAAG,CAACylB,SAAS,CAAA;SACxC,CAAA;AACH,OAAA;AACA,MAAA,OAAOR,eAAe,CAAC7jB,MAAM,EAAEA,MAAM,CAACyjB,OAAO,CAAC,CAAA;KAC/C,CAAA;AAED,IAAA,OAAOE,cAAc,CAAC/kB,GAAG,CAACylB,SAAS,CAAC,CAAA;GACrC,EAAE,CAACV,cAAc,EAAEplB,OAAO,EAAEiM,kBAAkB,EAAEU,WAAW,EAAEmE,UAAU,EAAE5E,YAAY,EAAEqO,cAAc,EAAEkE,mBAAmB,EAAEvC,sBAAsB,CAAC,CAAC,CAAA;AAErJ,EAAA,MAAM6J,gBAAgB,GAAGtY,aAAO,CAAC,MAAM;IACrC,IAAI,CAACrG,YAAY,EAAE;AACjB,MAAA,OAAO/E,SAAS,CAAA;AAClB,KAAA;IAEA,MAAM2jB,SAAS,GAAG/G,MAAM,IAAI2C,aAAa,CAAC5U,MAAM,EAAEiS,MAAM,CAAC,CAAA;AAEzD,IAAA,OAAAtT,QAAA,CAAA;MACEnO,IAAI,EAAE4J,YAAY,CAAC5J,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,UAAA;AAAU,KAAA,EACtDwf,cAAc,GAAG;AAAE7H,MAAAA,KAAK,EAAE,MAAA;KAAQ,GAAG,EAAE,EAAA;MAC3C3H,eAAe,EAAEpG,YAAY,CAAC6e,aAAa,GAAG,CAACvkB,UAAU,IAAI,EAAE,EAAExB,MAAM,CAAC/C,IAAI,IAAI,CAACA,IAAI,CAAC+Y,QAAQ,CAAC,CAAC7V,GAAG,CAAC2lB,SAAS,CAAC,GAAG5e,YAAY,CAACoG,eAAe;AAC7IqB,MAAAA,QAAQ,EAAEA,CAACrB,eAAe,EAAEJ,YAAY,EAAElK,IAAI,KAAK;AACjD,QAAA,IAAIA,IAAI,CAAC1F,IAAI,KAAK,KAAK,EAAE;AACvB,UAAA,MAAMwQ,OAAO,GAAGR,eAAe,CAACrN,MAAM,GAAG,CAAC,CAAA;AAC1C,UAAA,IAAI,OAAOiH,YAAY,CAAC8e,mBAAmB,KAAK,UAAU,EAAE;AAC1D9e,YAAAA,YAAY,CAAC8e,mBAAmB,CAAClY,OAAO,CAAC,CAAA;AACzC,YAAA,OAAA;AACF,WAAA;UACA,IAAI,CAACA,OAAO,EAAE;AACZ5G,YAAAA,YAAY,CAACyH,QAAQ,CAAC,EAAE,EAAExM,SAAS,EAAE;cAAErC,OAAO;AAAEgO,cAAAA,OAAO,EAAE,KAAA;AAAM,aAAC,CAAC,CAAA;AACjE,YAAA,OAAA;AACF,WAAA;AACA5G,UAAAA,YAAY,CAACyH,QAAQ,CAAC,CAACnN,UAAU,IAAI,EAAE,EAAErB,GAAG,CAAC2lB,SAAS,CAAC,EAAE3jB,SAAS,EAAE;YAAErC,OAAO;AAAEgO,YAAAA,OAAO,EAAE,IAAA;AAAK,WAAC,CAAC,CAAA;AAC/F,UAAA,OAAA;AACF,SAAA;QAEA,MAAMmY,UAAU,GAAG/Y,YAAY,CAACjN,MAAM,GAAG,CAAC,GAAG6lB,SAAS,CAAC5Y,YAAY,CAACA,YAAY,CAACjN,MAAM,GAAG,CAAC,CAAC,CAAC,GAAGqN,eAAe,CAACA,eAAe,CAACrN,MAAM,GAAG,CAAC,CAAC,CAAA;QAC3I,MAAM6N,OAAO,GAAGR,eAAe,CAACY,OAAO,CAAC+X,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;AACxD/e,QAAAA,YAAY,CAACyH,QAAQ,CAACrB,eAAe,EAAE2Y,UAAU,EAAE;UAAEnmB,OAAO;AAAEgO,UAAAA,OAAAA;AAAQ,SAAC,CAAC,CAAA;OACzE;MACDoY,gBAAgB,EAAEnH,MAAM,KAAK;AAC3B/I,QAAAA,QAAQ,EAAE+I,MAAM,CAAC/I,QAAQ,IAAI9O,YAAY,CAAC6e,aAAAA;OAC3C,CAAA;AAAC,KAAA,EACE7e,YAAY,CAAC5J,IAAI,KAAK,UAAU,GAChC;AACE6oB,MAAAA,WAAW,EAAEjf,YAAY,CAAC4H,gBAAgB,GAAGsX,YAAY,IAAIhE,cAAc,CAACgE,YAAY,CAAC,GAAGhE,cAAc,cAACphB,cAAA,CAAC+U,aAAQ,EAAA;AAAC3W,QAAAA,KAAK,EAAE;AAAEinB,UAAAA,UAAU,EAAE,QAAA;AAAS,SAAA;AAAE,OAAE,CAAC,CAAC;AACzJC,MAAAA,UAAU,EAAEA,CAACxY,OAAO,EAAEiR,MAAM,EAAEphB,KAAK,EAAE4oB,UAAU,KAAKnE,cAAc,CAACmE,UAAU,CAAC;MAC9E1H,MAAM,EAAEA,OAAO;AACb1d,QAAAA,SAAS,EAAE8gB,mBAAmB,CAAC7iB,OAAK,CAAC,eAAe,CAAC,CAAA;OACtD,CAAA;AACH,KAAC,GACD;AACEonB,MAAAA,WAAW,EAAE,EAAE;AACfF,MAAAA,UAAU,EAAEA,CAACxY,OAAO,EAAEiR,MAAM,EAAEphB,KAAK,EAAE4oB,UAAU,KAAKnE,cAAc,CAACmE,UAAU,CAAC;MAC9E1H,MAAM,EAAEA,OAAO;AACb1d,QAAAA,SAAS,EAAE8gB,mBAAmB,CAAC7iB,OAAK,CAAC,WAAW,CAAC,CAAA;OAClD,CAAA;KACF,CAAA,CAAA;AAET,GAAC,EAAE,CAACU,OAAO,EAAE0B,UAAU,EAAEsL,MAAM,EAAE5F,YAAY,EAAE4V,cAAc,CAAC,CAAC,CAAA;AAE/D,EAAA,MAAM2J,WAAW,GAAGlZ,aAAO,CAAC,MAAM;AAChC,IAAA,IAAImZ,CAAC,CAAA;AACL,IAAA,IAAI5J,cAAc,EAAE;AAClB4J,MAAAA,CAAC,GAAGzJ,UAAU,CAAA;KACf,MAAM,IAAI5C,cAAc,EAAE;MACzBqM,CAAC,GAAGjgB,IAAI,CAACC,GAAG,CAACkV,UAAU,EAAEqB,UAAU,CAAC,CAAA;AACtC,KAAA;IACA,OAAOpf,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE4oB,CAAC,IAAI,IAAI,GAAG;AAAEA,MAAAA,CAAAA;AAAE,KAAC,GAAG,EAAE,EAAEnQ,MAAM,CAAC,CAAA;AAC1D,GAAC,EAAE,CAACuG,cAAc,EAAEzC,cAAc,EAAE4C,UAAU,EAAErB,UAAU,EAAErF,MAAM,CAAC,CAAC,CAAA;EAEpE,MAAMoQ,YAAY,gBAChB3lB,cAAA,CAAC4lB,UAAQ,EAAAnb,QAAA,KACH4X,MAAM,EAAA;IACVwD,UAAU,EAAA,IAAA;AACVrlB,IAAAA,UAAU,EAAEA,UAAW;AACvByE,IAAAA,OAAO,EAAEkf,WAAY;AACrBrY,IAAAA,MAAM,EAAE,OAAOA,MAAM,KAAK,UAAU,GAAGA,MAAM,GAAGiS,MAAM,IAAI/gB,uBAAG,CAAC+gB,MAAM,EAAEjS,MAAM,CAAE;AAC9E5F,IAAAA,YAAY,EAAE2e,gBAAiB;AAC/B1C,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,OAAO,EAAE,OAAOA,OAAO,KAAK,UAAU,GAAG,UAAC0D,QAAQ,EAAA;MAAA,OAAc1D,OAAO,CAAC0D,QAAQ,EAAE,GAAA,EAAA,CAAAzY,KAAA,CAAA6T,IAAA,CAAAC,SAAA,EAAA,CAAA,CAAO,CAAC,CAAA;AAAA,KAAA,GAAGhgB,SAAU;IACvG6gB,MAAM,EAAEA,MAAM,GAAG;AAAE+D,MAAAA,YAAY,EAAE,CAAA;AAAE,KAAC,GAAG5kB,SAAU;AACjD6kB,IAAAA,WAAW,EAAE3M,cAAc,IAAIyC,cAAc,GAAG,OAAO,GAAG3a,SAAU;AACpEoU,IAAAA,MAAM,EAAEkQ,WAAY;IACpBQ,WAAW,EAAEA,OAAO;MAClB9lB,SAAS,EAAEY,8BAAU,CAACugB,OAAS,CAAC,QAAQ,CAAC,EAAE,wBAAwB,EAAE;AACnE,QAAA,CAACA,OAAS,CAAC,QAAQ,CAAC,GAAGU,MAAM,IAAI,CAAClG,cAAAA;AACpC,OAAC,CAAC;AACF1d,MAAAA,KAAK,EAAE6jB,WAAAA;AACT,KAAC,CAAE;AACH3Q,IAAAA,MAAM,EAAE;AAAE4U,MAAAA,SAAS,eAAElmB,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAEmhB,OAAS,CAAC,OAAO,CAAE;AAAA3hB,QAAAA,QAAA,EAAEiiB,KAAAA;OAAW,CAAA;KAAI;IACzEuE,YAAY,EAAEpI,MAAM,IAAI;AACtB,MAAA,MAAMnQ,EAAE,GAAG8S,aAAa,CAAC5U,MAAM,EAAEiS,MAAM,CAAC,CAAA;AACxC,MAAA,MAAMqI,SAAS,GAAG,CAAAlgB,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEoG,eAAe,KAAIpG,YAAY,CAACoG,eAAe,CAACY,OAAO,CAACU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;MAChG,OAAO7M,8BAAU,CAACugB,OAAS,CAAC,MAAM,CAAC,EAAE,qBAAqB,EAAE;QAC1D,CAACA,OAAS,CAAC,iBAAiB,CAAC,GAAGpb,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAE6e,aAAa;AAC3D,QAAA,CAACzD,OAAS,CAAC,aAAa,CAAC,GAAG8E,SAAS;AACrC,QAAA,CAAC9E,OAAS,CAAC,aAAa,CAAC,GAAGvD,MAAM,CAAC/I,QAAAA;AACrC,OAAC,CAAC,CAAA;KACF;IACFqR,KAAK,EAAEtI,MAAM,KAAK;MAChBpd,OAAO,EAAEA,MAAM;QACb,IAAIod,MAAM,CAAC/I,QAAQ,EAAE;AACnB,UAAA,OAAA;AACF,SAAA;AACA+M,QAAAA,WAAW,IAAIA,WAAW,CAAChE,MAAM,EAAE;AAAE9Y,UAAAA,OAAO,EAAE8O,cAAc;AAAEvT,UAAAA,UAAAA;AAAW,SAAC,CAAC,CAAA;AAC7E,OAAA;KACD,CAAA;AAAE,GAAA,CACJ,CACF,CAAA;EAED,MAAM8lB,YAAY,gBAChBzW,eAAA,CAAA,KAAA,EAAA;AACEoH,IAAAA,GAAG,EAAEwK,QAAS;AACdthB,IAAAA,SAAS,EAAEY,8BAAU,CAACugB,OAAS,CAAC,OAAO,CAAC,EAAEljB,OAAK,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE+B,SAAS,EAAE;AACtF,MAAA,CAAC/B,OAAK,CAAC,WAAW,CAAC,GAAG4c,sBAAsB,KAAK,IAAI;AACrD,MAAA,CAAC5c,OAAK,CAAC,aAAa,CAAC,GAAGsjB,QAAQ;AAChC,MAAA,CAACtjB,OAAK,CAAC,kBAAkB,CAAC,GAAGohB,cAAc;AAC3C,MAAA,CAACphB,OAAK,CAAC,aAAa,CAAC,GAAG,OAAOgkB,OAAO,KAAK,UAAA;AAC7C,KAAC,CAAE;AAAAziB,IAAAA,QAAA,gBAEHK,cAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAC,sBAAsB;MAAAR,QAAA,EAAE,CAAC+hB,QAAQ,IAAIiE,YAAAA;KAAkB,CAAC,EACtE3K,sBAAsB,KAAK,IAAI,IAAIwH,gBAAgB,iBAAIxiB,cAAA,CAAA,MAAA,EAAA;AAAMG,MAAAA,SAAS,EAAE/B,OAAK,CAAC,qBAAqB,CAAE;AAACA,MAAAA,KAAK,EAAEokB,gBAAiB;AAAC,MAAA,aAAA,EAAA,IAAA;AAAW,KAAE,CAAC,CAAA;AAAA,GAC3I,CACN,CAAA;AAED,EAAA,IAAI,OAAO5Z,MAAM,KAAK,UAAU,EAAE;AAChC,IAAA,OAAOA,MAAM,CAAA6B,QAAA,CAAA,EAAA,EACR4X,MAAM,EAAA;AACTkE,MAAAA,MAAM,EAAE,IAAI;MACZC,UAAU,EAAEA,MAAMF,YAAAA;AAAY,KAAA,CAC/B,CAAC,CAAA;AACJ,GAAA;AAEA,EAAA,OAAOA,YAAY,CAAA;AACrB,EAAC;AAED/E,KAAK,CAAC3V,cAAc,GAAGA,cAAc,CAAA;AACrC2V,KAAK,CAACzR,OAAO,GAAGA,OAAO,CAAA;AACvByR,KAAK,CAACpS,cAAc,GAAGW,OAAO,CAACX,cAAc;;ACtX7C,MAAMsX,KAAK,GAAGA,CAAC;EAAEtmB,SAAS;EAAER,QAAQ;AAAEgO,EAAAA,QAAAA;AAAS,CAAC,KAAK;AACnD,EAAA,MAAMsJ,GAAG,GAAGkE,YAAM,CAAC,IAAI,CAAC,CAAA;AACxB,EAAA,MAAMuL,aAAa,GAAG7J,kCAAc,CAAClP,QAAQ,CAAC,CAAA;AAC9CiW,EAAAA,qBAAe,CAAC,MAAM;IACpB,MAAM+C,QAAQ,GAAGA,MAAM;AACrB,MAAA,IAAI,CAAC1P,GAAG,CAAClG,OAAO,EAAE;AAChB,QAAA,OAAA;AACF,OAAA;MACA2V,aAAa,CAACzP,GAAG,CAAClG,OAAO,CAACkS,qBAAqB,EAAE,CAAC,CAAA;KACnD,CAAA;AACD,IAAA,MAAMnD,cAAc,GAAG,IAAIC,cAAc,CAAC4G,QAAQ,CAAC,CAAA;AACnD7G,IAAAA,cAAc,CAACE,OAAO,CAAC/I,GAAG,CAAClG,OAAO,CAAC,CAAA;AACnC4V,IAAAA,QAAQ,EAAE,CAAA;AACV,IAAA,OAAO,MAAM;MACX7G,cAAc,CAACG,UAAU,EAAE,CAAA;KAC5B,CAAA;AACH,GAAC,EAAE,CAACyG,aAAa,CAAC,CAAC,CAAA;AACnB,EAAA,oBACE1mB,cAAA,CAAA,MAAA,EAAA;AAAMiX,IAAAA,GAAG,EAAEA,GAAI;AAAC9W,IAAAA,SAAS,EAAEA,SAAU;AAAAR,IAAAA,QAAA,EAClCA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX,CAAC;;ACfD,MAAMinB,uBAAuB,GAAGA,CAACrmB,MAAM,EAAE;EAAEqP,UAAU;EAAErJ,UAAU;EAAEsgB,WAAW;EAAE/gB,WAAW;AAAER,EAAAA,QAAAA;AAAS,CAAC,KAAK;EAC1G,MAAM+X,SAAS,GAAG1N,iBAAiB,CAACpP,MAAM,CAACc,KAAK,EAAEd,MAAM,EAAEqP,UAAU,CAAC,CAAA;AACrE,EAAA,MAAMuQ,gBAAgB,GAAG/hB,OAAK,CAAC,aAAa,CAAC,CAAA;AAE7C,EAAA,IAAImI,UAAU,EAAE;AACd,IAAA,oBAAOvG,cAAA,CAAA,MAAA,EAAA;AAAMG,MAAAA,SAAS,EAAEggB,gBAAiB;AAAAxgB,MAAAA,QAAA,EAAE0d,SAAAA;AAAS,KAAO,CAAC,CAAA;AAC9D,GAAA;EAEA,oBACErd,cAAA,CAACymB,KAAK,EAAA;AACJtmB,IAAAA,SAAS,EAAEggB,gBAAiB;IAC5BxS,QAAQ,EAAEtK,IAAI,IAAI;MAChBwjB,WAAW,CAACxqB,KAAK,IACfQ,MAAM,CAACC,MAAM,CAAC,EAAE,EAAET,KAAK,EAAE;QACvB,CAACkE,MAAM,CAACtD,IAAI,GAAGwI,IAAI,CAACC,GAAG,CAACrC,IAAI,CAACc,KAAK,EAAED,gBAAgB,CAACU,uBAAuB,CAACrE,MAAM,CAAC,CAAC4D,KAAK,CAAC,CAAA;AAC7F,OAAC,CACH,CAAC,CAAA;KACD;AAAAxE,IAAAA,QAAA,EAED0d,SAAAA;AAAS,GACL,CAAC,CAAA;AAEZ,CAAC,CAAA;AAEM,MAAMyJ,qBAAqB,GAAGA,CAAC;EAAEtmB,UAAU;EAAEyE,OAAO;EAAE6G,MAAM;EAAE5F,YAAY;EAAEZ,QAAQ;EAAEuhB,WAAW;EAAEjX,UAAU;AAAE9J,EAAAA,WAAAA;AAAY,CAAC,KAAK;EACtI,MAAMihB,KAAK,GAAG,EAAE,CAAA;AAEhB,EAAA,IAAI7gB,YAAY,EAAE5J,IAAI,KAAK,UAAU,EAAE;IACrCyqB,KAAK,CAAC1gB,IAAI,cACRrG,cAAA,CAAA,KAAA,EAAA;AAAyBG,MAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAEA,OAAK,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAE;AAAAuB,MAAAA,QAAA,eAC5HK,cAAA,CAAA,MAAA,EAAA;QAAMG,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAE;AAAAuB,QAAAA,QAAA,EAC9EuG,YAAY,CAAC4H,gBAAgB,GAC5B,CAAC,MAAM;UACL,MAAMkZ,UAAU,GACd9gB,YAAY,CAAC6e,aAAa,IAAKvkB,UAAU,IAAIA,UAAU,CAACymB,KAAK,CAAChrB,IAAI,IAAIiK,YAAY,CAACoG,eAAe,IAAIpG,YAAY,CAACoG,eAAe,CAACY,OAAO,CAAClQ,uBAAG,CAACf,IAAI,EAAE,OAAO6P,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC7P,IAAI,CAAC,GAAG6P,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAA;UACpN,oBACE9L,cAAA,CAAC+U,aAAQ,EAAA;AACPjI,YAAAA,OAAO,EAAEka,UAAW;AACpBE,YAAAA,aAAa,EAAEhhB,YAAY,CAACoG,eAAe,IAAIpG,YAAY,CAACoG,eAAe,CAACrN,MAAM,GAAG,CAAC,IAAI,CAAC+nB,UAAW;YACtGrZ,QAAQ,EAAE3M,CAAC,IAAI;AACb,cAAA,MAAM8L,OAAO,GAAG9L,CAAC,CAACtE,MAAM,CAACoQ,OAAO,CAAA;cAChC,IAAI,CAACA,OAAO,EAAE;AACZ,gBAAA,OAAO5G,YAAY,CAAC8e,mBAAmB,KAAK,UAAU,GAAG9e,YAAY,CAAC8e,mBAAmB,CAAC,KAAK,CAAC,GAAG9e,YAAY,CAACyH,QAAQ,CAAC,EAAE,CAAC,CAAA;AAC9H,eAAC,MAAM;AACL,gBAAA,OAAOzH,YAAY,CAAC8e,mBAAmB,KAAK,UAAU,GAClD9e,YAAY,CAAC8e,mBAAmB,CAAC,IAAI,CAAC,GACtCxkB,UAAU,IACVA,UAAU,CAACvB,MAAM,GAAG,CAAC,IACrBiH,YAAY,CAACyH,QAAQ,CACnBnN,UAAU,CAACrB,GAAG,CAAClD,IAAI,IAAI;AACrB,kBAAA,OAAOe,uBAAG,CAACf,IAAI,EAAE,OAAO6P,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC7P,IAAI,CAAC,GAAG6P,MAAM,CAAC,CAAA;AACxE,iBAAC,CACH,CAAC,CAAA;AACP,eAAA;AACF,aAAA;AAAE,WACH,CAAC,CAAA;AAEN,SAAC,GAAG,gBAEJ9L,cAAA,CAAC+U,aAAQ,EAAA;AAAC3W,UAAAA,KAAK,EAAE;AAAEinB,YAAAA,UAAU,EAAE,QAAA;AAAS,WAAA;SAAI,CAAA;OAE1C,CAAA;KAhCC,EAAA,eAiCJ,CACP,CAAC,CAAA;AACH,GAAA;AAEApgB,EAAAA,OAAO,CAACxI,OAAO,CAAC,CAAC8D,MAAM,EAAE5D,KAAK,KAAK;IACjC,MAAM;MACJ4J,UAAU;MACVC,aAAa;AACbpI,MAAAA,KAAK,EAAE+oB,WAAAA;AACT,KAAC,GAAG7gB,eAAe,CAAC/F,MAAM,EAAE;MAC1BuF,WAAW;MACXR,QAAQ;AACRS,MAAAA,YAAY,EAAEpJ,KAAK,KAAKsI,OAAO,CAAChG,MAAM,GAAG,CAAC;AAC1CgG,MAAAA,OAAAA;AACF,KAAC,CAAC,CAAA;IACF8hB,KAAK,CAAC1gB,IAAI,cACRrG,cAAA,CAAA,KAAA,EAAA;AAAuB5B,MAAAA,KAAK,EAAE+oB,WAAY;AAAChnB,MAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEoI,aAAa,GAAGpI,OAAK,CAAC,gBAAgB,CAAC,GAAGmI,UAAU,IAAInI,OAAK,CAAC,iBAAiB,CAAC,EAAEA,OAAK,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAE;AAAAuB,MAAAA,QAAA,EAC3MinB,uBAAuB,CAACrmB,MAAM,EAAE;QAAEqP,UAAU;QAAErJ,UAAU;QAAEsgB,WAAW;QAAE/gB,WAAW;AAAER,QAAAA,QAAAA;OAAU,CAAA;AAAC,KAAA,EADxF/E,MAAM,CAACtD,IAEZ,CACP,CAAC,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,IAAIiJ,YAAY,EAAE5J,IAAI,KAAK,OAAO,EAAE;IAClCyqB,KAAK,CAAC1gB,IAAI,cAACrG,cAAA,CAAA,KAAA,EAAA;AAAqBG,MAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEA,OAAK,CAAC,gBAAgB,CAAC,EAAEA,OAAK,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAA;KAApH,EAAA,WAAwH,CAAC,CAAC,CAAA;AAChJ,GAAA;AAEA,EAAA,OAAO2oB,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAMK,MAAM,GAAG5F,CAAC,IAAI;EAClB,MAAM;IAAEhhB,UAAU;IAAEyE,OAAO;IAAE6G,MAAM;IAAE5F,YAAY;IAAEZ,QAAQ;IAAEuhB,WAAW;IAAE5E,WAAW;IAAErS,UAAU;AAAE9J,IAAAA,WAAAA;AAAY,GAAC,GAAGjJ,MAAM,CAACC,MAAM,CAC9H,EAAE,EACF;AACEgP,IAAAA,MAAM,EAAE,IAAA;GACT,EACD0V,CACF,CAAC,CAAA;AAED,EAAA,oBACExhB,cAAA,CAAA,KAAA,EAAA;AAAK5B,IAAAA,KAAK,EAAE6jB,WAAY;IAAC9hB,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAE;IAAAuB,QAAA,EACvFmnB,qBAAqB,CAAC;MAAEtmB,UAAU;MAAEyE,OAAO;MAAE6G,MAAM;MAAE5F,YAAY;MAAEZ,QAAQ;MAAEuhB,WAAW;MAAEjX,UAAU;AAAE9J,MAAAA,WAAAA;KAAa,CAAA;AAAC,GAClH,CAAC,CAAA;AAEV,CAAC;;;ACpGD,MAAMuhB,gBAAgB,GAAGpiB,OAAO,IAAIA,OAAO,CAACjG,MAAM,CAACuB,MAAM,IAAIA,MAAM,CAACgL,OAAO,KAAK,KAAK,CAAC,CAAA;AAEhF+b,MAAAA,SAAS,GAAG9F,CAAC,IAAI;AACrB,EAAA,MAAAxV,SAAA,GAAgCC,cAAQ,CAAC,EAAE,CAAC;AAArC3G,IAAAA,QAAQ,GAAA0G,SAAA,CAAA,CAAA,CAAA;AAAE6a,IAAAA,WAAW,GAAA7a,SAAA,CAAA,CAAA,CAAA,CAAA;EAC5B,MAAM+D,KAAK,GAAGlT,MAAM,CAACC,MAAM,CACzB,EAAE,EACF;AACEgP,IAAAA,MAAM,EAAE,IAAI;AACZd,IAAAA,YAAY,EAAEjN,eAAO;AACrB0N,IAAAA,WAAW,EAAE,GAAG;AAChBV,IAAAA,kBAAkB,EAAE,IAAI;AACxB6W,IAAAA,KAAK,eAAE5hB,cAAA,CAAC6hB,UAAK,EAAE,EAAA,CAAA;GAChB,EACDL,CACF,CAAC,CAAA;AACD,EAAA,MAAQrhB,SAAS,GAA6L4P,KAAK,CAA3M5P,SAAS,CAAA;IAAEK,UAAU,GAAiLuP,KAAK,CAAhMvP,UAAU,CAAA;IAAWshB,WAAW,GAA2J/R,KAAK,CAApL9K,OAAO,CAAA;IAAe6G,MAAM,GAAmJiE,KAAK,CAA9JjE,MAAM,CAAA;IAAE5F,YAAY,GAAqI6J,KAAK,CAAtJ7J,YAAY,CAAA;IAAE8E,YAAY,GAAuH+E,KAAK,CAAxI/E,YAAY,CAAA;IAAED,kBAAkB,GAAmGgF,KAAK,CAA1HhF,kBAAkB,CAAA;IAAEU,WAAW,GAAsFsE,KAAK,CAAtGtE,WAAW,CAAA;IAAEmW,KAAK,GAA+E7R,KAAK,CAAzF6R,KAAK,CAAA;IAAEG,WAAW,GAAkEhS,KAAK,CAAlFgS,WAAW,CAAA;IAAEnZ,MAAM,GAA0DmH,KAAK,CAArEnH,MAAM,CAAA;IAAE9J,OAAO,GAAiDiR,KAAK,CAA7DjR,OAAO,CAAA;IAAUmjB,WAAW,GAA4BlS,KAAK,CAA5CkS,WAAW,CAAA;IAAErS,UAAU,GAAgBG,KAAK,CAA/BH,UAAU,CAAA;AAAKyS,IAAAA,MAAM,GAAAja,6BAAA,CAAK2H,KAAK,EAAA1H,WAAA,EAAA;AACnN,EAAA,MAAMpD,OAAO,GAAGsH,aAAO,CAAC,MAAM3B,cAAc,CAACkX,WAAW,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC,CAAA;AACzE,EAAA,MAAMyF,aAAa,GAAGhb,aAAO,CAAC,MAAM8a,gBAAgB,CAACpiB,OAAO,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC,CAAA;AACzE,EAAA,MAAMa,WAAW,GAAGyG,aAAO,CAAC,MAAM;IAChC,MAAMib,YAAY,GAAGD,aAAa,CAACroB,MAAM,CAAC,CAACyP,CAAC,EAAEC,CAAC,KAAKD,CAAC,IAAIC,CAAC,CAAC9J,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACzE,MAAM2iB,qBAAqB,GAAGF,aAAa,CAACvoB,MAAM,CAAC/C,IAAI,IAAI,CAAC4I,aAAa,CAAC5I,IAAI,CAAC,IAAI,CAACkJ,cAAc,CAAClJ,IAAI,EAAEsrB,aAAa,CAAC,CAAC,CAACtoB,MAAM,CAAA;IAE/H,OAAOwoB,qBAAqB,GAAG,CAAC,GAAGhiB,IAAI,CAAC8d,KAAK,CAAC9d,IAAI,CAACC,GAAG,CAAC,EAAE,GAAG8hB,YAAY,EAAE,CAAC,CAAC,GAAGC,qBAAqB,CAAC,GAAG,CAAC,CAAA;AAC3G,GAAC,EAAE,CAACF,aAAa,CAAC,CAAC,CAAA;EAEnB,MAAMG,mBAAmB,GAAGnb,aAAO,CAAC,MAAMtG,sBAAsB,CAACshB,aAAa,EAAE;IAAEzhB,WAAW;IAAER,QAAQ;AAAEY,IAAAA,YAAAA;GAAc,CAAC,EAAE,CAACqhB,aAAa,EAAEzhB,WAAW,EAAER,QAAQ,EAAEY,YAAY,CAAC,CAAC,CAAA;AAE/K,EAAA,MAAMyhB,eAAe,GAAG;IACtBnnB,UAAU;AACVyE,IAAAA,OAAO,EAAEsiB,aAAa;IACtBzb,MAAM;IACN5F,YAAY;IACZZ,QAAQ;IACRuhB,WAAW;IACXjX,UAAU;AACV9J,IAAAA,WAAAA;GACD,CAAA;EAED,MAAMygB,MAAM,gBAAGvmB,cAAA,CAAConB,MAAM,EAAA3c,QAAA,KAAKkd,eAAe,EAAA;AAAE1F,IAAAA,WAAW,EAAEA,WAAAA;AAAY,GAAA,CAAE,CAAC,CAAA;AAExE,EAAA,MAAM2F,cAAc,GAAGA,CAAC3rB,IAAI,EAAAiM,IAAA,KAA6C;AAAA,IAAA,IAAzC1H,UAAU,GAAA0H,IAAA,CAAV1H,UAAU;MAAE1B,OAAO,GAAAoJ,IAAA,CAAPpJ,OAAO;MAAE8O,EAAE,GAAA1F,IAAA,CAAF0F,EAAE;MAAEwY,SAAS,GAAAle,IAAA,CAATke,SAAS,CAAA;IAChE,IAAInqB,IAAI,CAAC+Y,QAAQ,EAAE;AACjB,MAAA,OAAA;AACF,KAAA;AACA+M,IAAAA,WAAW,IAAIA,WAAW,CAAC9lB,IAAI,EAAE;AAAEgJ,MAAAA,OAAO,EAAEsiB,aAAa;AAAE/mB,MAAAA,UAAAA;AAAW,KAAC,CAAC,CAAA;AACxE,IAAA,IAAI,CAAC0F,YAAY,IAAIA,YAAY,CAAC6e,aAAa,EAAE;AAC/C,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAI7e,YAAY,CAAC5J,IAAI,KAAK,UAAU,EAAE;AACpC,MAAA,MAAMgQ,eAAe,GAAG,CAACpG,YAAY,CAACoG,eAAe,IAAI,EAAE,EAAEe,KAAK,CAAC,CAAC,CAAC,CAAA;MACrE+Y,SAAS,GAAG9Z,eAAe,CAACkB,MAAM,CAACtH,YAAY,CAACoG,eAAe,CAACY,OAAO,CAACU,EAAE,CAAC,EAAE,CAAC,CAAC,GAAGtB,eAAe,CAACjG,IAAI,CAACuH,EAAE,CAAC,CAAA;AAC1G1H,MAAAA,YAAY,CAACyH,QAAQ,CAACrB,eAAe,EAAEsB,EAAE,EAAE;QAAE9O,OAAO;AAAEgO,QAAAA,OAAO,EAAE,CAACsZ,SAAAA;AAAU,OAAC,CAAC,CAAA;AAC5E,MAAA,OAAA;AACF,KAAA;IACA,MAAM9Z,eAAe,GAAGpG,YAAY,CAACoG,eAAe,CAACrN,MAAM,IAAIiH,YAAY,CAACoG,eAAe,CAAC,CAAC,CAAC,KAAKsB,EAAE,GAAG,EAAE,GAAG,CAACA,EAAE,CAAC,CAAA;AACjH1H,IAAAA,YAAY,CAACyH,QAAQ,CAACrB,eAAe,EAAEsB,EAAE,EAAE;MAAE9O,OAAO;AAAEgO,MAAAA,OAAO,EAAE,CAACsZ,SAAAA;AAAU,KAAC,CAAC,CAAA;GAC7E,CAAA;AAED,EAAA,MAAMyB,mBAAmB,GAAGA,CAACrnB,UAAU,EAAE1B,OAAO,KAAK;AACnD,IAAA,MAAMgpB,KAAK,GAAG7rB,IAAI,IAAIe,uBAAG,CAACf,IAAI,EAAE,OAAO6P,MAAM,KAAK,UAAU,GAAGA,MAAM,CAAC7P,IAAI,CAAC,GAAG6P,MAAM,CAAC,CAAA;IAErF,IAAI,CAACtL,UAAU,IAAIA,UAAU,CAACvB,MAAM,KAAK,CAAC,EAAE;AAC1C,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAOuB,UAAU,CAACrB,GAAG,CAAClD,IAAI,IAAI;AAC5B,MAAA,MAAM2R,EAAE,GAAGka,KAAK,CAAC7rB,IAAI,CAAC,CAAA;AACtB,MAAA,MAAMmqB,SAAS,GAAG,CAAAlgB,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEoG,eAAe,KAAIpG,YAAY,CAACoG,eAAe,CAACY,OAAO,CAACU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;MAChG,MAAMma,YAAY,GAAGjd,mBAAmB,CAAC;AAAE7F,QAAAA,OAAO,EAAEsiB,aAAa;QAAExc,kBAAkB;QAAEC,YAAY;AAAEC,QAAAA,WAAW,EAAE,IAAI;AAAEzK,QAAAA,UAAU,EAAEvE,IAAI;QAAEwP,WAAW;AAAE3M,QAAAA,OAAAA;AAAQ,OAAC,CAAC,CAAA;AACjK,MAAA,MAAMuQ,SAAS,GAAG0Y,YAAY,CAAC7oB,MAAM,CAAC,CAAC5B,MAAM,EAAEiD,MAAM,KAAK1D,MAAM,CAACC,MAAM,CAACQ,MAAM,EAAE;QAAE,CAACiD,MAAM,CAACtD,IAAI,GAAGsD,MAAAA;AAAO,OAAC,CAAC,EAAE,EAAE,CAAC,CAAA;MAC/G,MAAM4lB,YAAY,GAAGplB,8BAAU,CAAC3C,OAAK,CAAC,MAAM,CAAC,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAEA,OAAK,CAAC,UAAU,CAAC,EAAE,qBAAqB,EAAE;QAC3G,CAACA,OAAK,CAAC,iBAAiB,CAAC,GAAG8H,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAE6e,aAAa;AACvD,QAAA,CAAC3mB,OAAK,CAAC,aAAa,CAAC,GAAGgoB,SAAS;AACjC,QAAA,CAAChoB,OAAK,CAAC,aAAa,CAAC,GAAGnC,IAAI,CAAC+Y,QAAAA;AAC/B,OAAC,CAAC,CAAA;AACF,MAAA,MAAMgT,iBAAiB,GAAGA,MAAMJ,cAAc,CAAC3rB,IAAI,EAAE;QAAEuE,UAAU;QAAE1B,OAAO;QAAE8O,EAAE;AAAEwY,QAAAA,SAAAA;AAAU,OAAC,CAAC,CAAA;MAC5F,MAAMW,KAAK,GAAG,EAAE,CAAA;MAEhB,IAAI,CAAA7gB,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAE5J,IAAI,MAAK,UAAU,EAAE;QACrCyqB,KAAK,CAAC1gB,IAAI,cACRrG,cAAA,CAAA,KAAA,EAAA;AAAgCG,UAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAE;AAAAuB,UAAAA,QAAA,eAC7GK,cAAA,CAAA,MAAA,EAAA;YAAMG,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAE;YAAAuB,QAAA,eAC/EK,cAAA,CAAC+U,aAAQ,EAAA;AAACC,cAAAA,QAAQ,EAAE/Y,IAAI,CAAC+Y,QAAQ,IAAI9O,YAAY,CAAC6e,aAAc;cAACjY,OAAO,EAAG5G,YAAY,CAAC6e,aAAa,IAAI,CAAC9oB,IAAI,CAAC+Y,QAAQ,IAAKoR,SAAU;AAACzY,cAAAA,QAAQ,EAAEqa,iBAAAA;aAAoB,CAAA;WACjK,CAAA;SAHKpa,EAAAA,EAAE,GAIV,eAAA,CACP,CAAC,CAAA;AACH,OAAA;AAEA2Z,MAAAA,aAAa,CAAC9qB,OAAO,CAAC,CAAC8D,MAAM,EAAE5D,KAAK,KAAK;AACvC,QAAA,MAAMuM,WAAW,GAAGmG,SAAS,CAAC9O,MAAM,CAACtD,IAAI,CAAC,CAAA;AAC1C,QAAA,MAAAgrB,gBAAA,GAII3hB,eAAe,CAAC/F,MAAM,EAAE;YAC1BuF,WAAW;YACXR,QAAQ;AACRS,YAAAA,YAAY,EAAEpJ,KAAK,KAAK4qB,aAAa,CAACtoB,MAAM,GAAG,CAAC;AAChDgG,YAAAA,OAAO,EAAEsiB,aAAAA;AACX,WAAC,CAAC;UARAhhB,UAAU,GAAA0hB,gBAAA,CAAV1hB,UAAU;UACVC,aAAa,GAAAyhB,gBAAA,CAAbzhB,aAAa;UACN2gB,WAAW,GAAAc,gBAAA,CAAlB7pB,KAAK,CAAA;QAQP2oB,KAAK,CAAC1gB,IAAI,cACRrG,cAAA,CAAA,KAAA,EAAA;AAAkC5B,UAAAA,KAAK,EAAE+oB,WAAY;UAAChnB,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEoI,aAAa,GAAGpI,OAAK,CAAC,gBAAgB,CAAC,GAAGmI,UAAU,IAAInI,OAAK,CAAC,iBAAiB,CAAC,EAAE,qBAAqB,CAAE;AAAAuB,UAAAA,QAAA,EAChMuJ,WAAW,GAAGgX,iBAAiB,CAAC1U,cAAc,CAAC;AAAEjL,YAAAA,MAAM,EAAE2I,WAAW;YAAEuC,WAAW;AAAEjL,YAAAA,UAAU,EAAEvE,IAAI;AAAE6C,YAAAA,OAAAA;WAAS,CAAC,EAAEoK,WAAW,EAAE9K,OAAK,CAAC,aAAa,CAAC,CAAC,gBAAG4B,cAAA,CAAA,MAAA,EAAA;YAAMG,SAAS,EAAE/B,OAAK,CAAC,aAAa,CAAA;WAAI,CAAA;AAAC,SAAA,EADrLwP,EAAE,GAAIrN,GAAAA,GAAAA,MAAM,CAACtD,IAErB,CACP,CAAC,CAAA;AACH,OAAC,CAAC,CAAA;MAEF,IAAI,CAAAiJ,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAE5J,IAAI,MAAK,OAAO,EAAE;QAClCyqB,KAAK,CAAC1gB,IAAI,cACRrG,cAAA,CAAA,KAAA,EAAA;AAA4BG,UAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,KAAK,CAAC,EAAEA,OAAK,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAE;AAACuC,UAAAA,OAAO,EAAEqnB,iBAAkB;AAAAroB,UAAAA,QAAA,EACzIymB,SAAS,iBAAIpmB,cAAA,CAACkoB,mBAAa,EAAE,EAAA,CAAA;SADnBta,EAAAA,EAAE,GAEV,WAAA,CACP,CAAC,CAAA;AACH,OAAA;AAEA,MAAA,oBACE5N,cAAA,CAAA,KAAA,EAAA;AAAcG,QAAAA,SAAS,EAAEgmB,YAAa;AAAAxmB,QAAAA,QAAA,EACnConB,KAAAA;AAAK,OAAA,EADEnZ,EAEL,CAAC,CAAA;AAEV,KAAC,CAAC,CAAA;GACH,CAAA;AAED,EAAA,MAAMua,UAAU,GAAGA,CAAC3nB,UAAU,EAAE1B,OAAO,kBACrC+Q,eAAA,CAAA,KAAA,EAAA;AAAK1P,IAAAA,SAAS,EAAE/B,OAAK,CAAC,MAAM,CAAE;AAACA,IAAAA,KAAK,EAAE;AAAEspB,MAAAA,mBAAAA;KAAsB;IAAA/nB,QAAA,EAAA,CAC3DmnB,qBAAqB,CAACa,eAAe,CAAC,EACtCE,mBAAmB,CAACrnB,UAAU,EAAE1B,OAAO,CAAC,CAAA;AAAA,GACtC,CACN,CAAA;AAED,EAAA,MAAM0nB,UAAU,GAAGA,CAAChmB,UAAU,EAAE1B,OAAO,KAAK;IAC1C,IAAI,CAAC0B,UAAU,IAAIA,UAAU,CAACvB,MAAM,KAAK,CAAC,EAAE;AAC1C,MAAA,oBAAOe,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAE/B,OAAK,CAAC,OAAO,CAAE;AAAAuB,QAAAA,QAAA,EAAEiiB,KAAAA;AAAK,OAAM,CAAC,CAAA;AACtD,KAAA;AAEA,IAAA,oBAAO5hB,cAAA,CAAA,KAAA,EAAA;AAAKG,MAAAA,SAAS,EAAEY,8BAAU,CAAC,sBAAsB,CAAE;AAAApB,MAAAA,QAAA,EAAEwoB,UAAU,CAAC3nB,UAAU,EAAE1B,OAAO,CAAA;AAAC,KAAM,CAAC,CAAA;GACnG,CAAA;AAED,EAAA,IAAI,OAAO8J,MAAM,KAAK,UAAU,EAAE;AAChC,IAAA,OAAOA,MAAM,CAAA6B,QAAA,CAAA,EAAA,EAAM4X,MAAM,EAAA;MAAEkE,MAAM;AAAEC,MAAAA,UAAAA;AAAU,KAAA,CAAE,CAAC,CAAA;AAClD,GAAA;AAEA,EAAA,oBACExmB,cAAA,CAAA,KAAA,EAAAyK,QAAA,CAAA,EAAA,EAAS4X,MAAM,EAAA;AAAEliB,IAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,OAAO,CAAC,EAAEA,OAAK,CAAC,WAAW,CAAC,EAAE,iBAAiB,EAAE+B,SAAS,CAAE;AAAAR,IAAAA,QAAA,EACtGa,UAAU,IAAIA,UAAU,CAACvB,MAAM,GAAG,CAAC,GAClCkpB,UAAU,CAAC3nB,UAAU,EAAE1B,OAAO,CAAC,gBAE/B+Q,eAAA,CAAA8E,mBAAA,EAAA;AAAAhV,MAAAA,QAAA,gBACEK,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAE/B,OAAK,CAAC,MAAM,CAAE;AAACA,QAAAA,KAAK,EAAE;AAAEspB,UAAAA,mBAAAA;SAAsB;QAAA/nB,QAAA,EAC3DmnB,qBAAqB,CAACa,eAAe,CAAA;OACnC,CAAC,eACN3nB,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAE/B,OAAK,CAAC,OAAO,CAAE;AAAAuB,QAAAA,QAAA,EAAEiiB,KAAAA;AAAK,OAAM,CAAC,CAAA;KAC7C,CAAA;AACH,GAAA,CACE,CAAC,CAAA;AAEV,EAAC;AAED0F,SAAS,CAACF,MAAM,GAAGA,MAAM,CAAA;AACzBE,SAAS,CAAC1b,cAAc,GAAGA,cAAc,CAAA;AACzC0b,SAAS,CAACxX,OAAO,GAAGA,OAAO,CAAA;AAC3BwX,SAAS,CAACnY,cAAc,GAAGW,OAAO,CAACX,cAAc;;;;ACjL1C,MAAMiZ,eAAe,GAAG/rB,KAAK,IAAI;AACtC,EAAA,MAAMqI,GAAG,GAAGD,UAAU,CAACpI,KAAK,CAAC,CAAA;EAC7B,OAAOG,MAAM,CAAC4H,KAAK,CAACM,GAAG,CAAC,GAAG,CAAC,GAAGA,GAAG,CAAA;AACpC,CAAC,CAAA;AAEM,MAAM2jB,eAAe,GAAGA,MAAM;AACnC,EAAA,MAAMC,cAAc,GAAGxE,MAAM,CAACwE,cAAc,CAAA;AAC5C,EAAA,IAAIA,cAAc,EAAE;IAClB,OAAO;MACL7E,GAAG,EAAE6E,cAAc,CAACC,SAAS;AAC7BC,MAAAA,MAAM,EAAEF,cAAc,CAACC,SAAS,GAAGD,cAAc,CAAC5E,MAAM;MACxDJ,IAAI,EAAEgF,cAAc,CAACG,UAAU;AAC/BjF,MAAAA,KAAK,EAAE8E,cAAc,CAACG,UAAU,GAAGH,cAAc,CAACnkB,KAAK;MACvDuf,MAAM,EAAE4E,cAAc,CAAC5E,MAAAA;KACxB,CAAA;AACH,GAAA;EACA,OAAO;AACLD,IAAAA,GAAG,EAAE,CAAC;IACN+E,MAAM,EAAE1E,MAAM,CAAC4E,WAAW;AAC1BpF,IAAAA,IAAI,EAAE,CAAC;IACPE,KAAK,EAAEM,MAAM,CAAC6E,UAAU;IACxBjF,MAAM,EAAEI,MAAM,CAAC4E,WAAAA;GAChB,CAAA;AACH,CAAC,CAAA;AAEM,MAAME,eAAe,GAAGhG,IAAI,IAAI;EACrC,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,OAAOA,IAAI,CAACE,aAAa,CAAC,kBAAkB,CAAC,IAAIF,IAAI,CAAA;AACvD,CAAC,CAAA;AAEM,MAAMiG,qBAAqB,GAAGjG,IAAI,IAAI;EAC3C,IAAI,CAACA,IAAI,EAAE;AACT,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,OAAOA,IAAI,CAACE,aAAa,CAAC,iBAAiB,CAAC,IAAIF,IAAI,CAACE,aAAa,CAAC,oBAAoB,CAAC,CAAA;AAC1F,CAAC,CAAA;AAEM,MAAMgG,uBAAuB,GAAGC,OAAO,IAAI;EAChD,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO;AACLC,MAAAA,kBAAkB,EAAE,IAAI;AACxBC,MAAAA,qBAAqB,EAAE,KAAK;AAC5BC,MAAAA,eAAe,EAAE,IAAI;AACrBC,MAAAA,IAAI,EAAE,IAAI;MACVC,QAAQ,EAAEf,eAAe,EAAC;KAC3B,CAAA;AACH,GAAA;AACA,EAAA,MAAMc,IAAI,GAAGJ,OAAO,CAAC9F,qBAAqB,EAAE,CAAA;AAC5C,EAAA,MAAMmG,QAAQ,GAAGf,eAAe,EAAE,CAAA;EAClC,OAAO;AACLW,IAAAA,kBAAkB,EAAEG,IAAI,CAACX,MAAM,GAAGY,QAAQ,CAAC3F,GAAG,IAAI0F,IAAI,CAACX,MAAM,IAAIY,QAAQ,CAACZ,MAAM;AAChFS,IAAAA,qBAAqB,EAAEE,IAAI,CAAC1F,GAAG,GAAG2F,QAAQ,CAACZ,MAAM,IAAIW,IAAI,CAACX,MAAM,GAAGY,QAAQ,CAAC3F,GAAG;AAC/EyF,IAAAA,eAAe,EAAEC,IAAI,CAAC1F,GAAG,IAAI2F,QAAQ,CAAC3F,GAAG,IAAI0F,IAAI,CAAC1F,GAAG,GAAG2F,QAAQ,CAACZ,MAAM;IACvEW,IAAI;AACJC,IAAAA,QAAAA;GACD,CAAA;AACH,CAAC,CAAA;AAEM,MAAMC,mBAAmB,GAAGA,CAACN,OAAO,EAAEO,eAAe,GAAG,CAAC,KAAK;EACnE,MAAM;IAAEJ,eAAe;IAAEC,IAAI;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGN,uBAAuB,CAACC,OAAO,CAAC,CAAA;EAC5E,IAAI,CAACI,IAAI,EAAE;AACT,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACA,EAAA,MAAMI,WAAW,GAAGH,QAAQ,CAAC3F,GAAG,GAAG6F,eAAe,CAAA;AAClD,EAAA,OAAOH,IAAI,CAAC1F,GAAG,IAAI8F,WAAW,IAAIJ,IAAI,CAAC1F,GAAG,GAAG2F,QAAQ,CAACZ,MAAM,CAAA;AAC9D,CAAC,CAAA;AAEM,MAAMgB,2BAA2B,GAAGA,CAAC7V,QAAQ,EAAE8V,aAAa,KAAK;AACtE,EAAA,IAAI,CAAC9V,QAAQ,IAAIA,QAAQ,CAAC+V,WAAW,IAAI/V,QAAQ,CAACkM,WAAW,GAAG,CAAC,EAAE;AACjE,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;AACA,EAAA,MAAM8J,KAAK,GAAGF,aAAa,IAAIX,uBAAuB,CAACnV,QAAQ,CAAC,CAAA;AAChE,EAAA,IAAI,CAACgW,KAAK,CAACV,qBAAqB,EAAE;AAChC,IAAA,OAAO,KAAK,CAAA;AACd,GAAA;EACA,OAAO,CAACU,KAAK,CAACX,kBAAkB,CAAA;AAClC,CAAC,CAAA;AAEM,MAAMY,2BAA2B,GAAGA,CAACb,OAAO,EAAEpb,QAAQ,KAAK;EAChE,IAAI,CAACob,OAAO,EAAE;IACZ,OAAO,MAAM,EAAE,CAAA;AACjB,GAAA;EAEA,MAAMc,MAAM,GAAGC,KAAK,IAAI;AACtBnc,IAAAA,QAAQ,CAACmb,uBAAuB,CAACC,OAAO,CAAC,CAAC,CAAA;GAC3C,CAAA;EAED,MAAMgB,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,CAAC,CAACF,KAAK,CAAC,KAAK;IACXD,MAAM,CAAM,CAAC,CAAA;AACf,GAAC,EACD;AACEjH,IAAAA,IAAI,EAAE,IAAI;AACVqH,IAAAA,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AACzC,GACF,CAAC,CAAA;AAEDF,EAAAA,QAAQ,CAAC/J,OAAO,CAAC+I,OAAO,CAAC,CAAA;EAEzB,MAAMmB,oBAAoB,GAAGA,MAAM;AACjCL,IAAAA,MAAM,EAAE,CAAA;GACT,CAAA;EAED/F,MAAM,CAACtF,gBAAgB,CAAC,QAAQ,EAAE0L,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAC7DpG,EAAAA,MAAM,CAACtF,gBAAgB,CAAC,QAAQ,EAAE0L,oBAAoB,CAAC,CAAA;EACvDpG,MAAM,CAACwE,cAAc,EAAE9J,gBAAgB,CAAC,QAAQ,EAAE0L,oBAAoB,CAAC,CAAA;EACvEpG,MAAM,CAACwE,cAAc,EAAE9J,gBAAgB,CAAC,QAAQ,EAAE0L,oBAAoB,CAAC,CAAA;AACvEL,EAAAA,MAAM,EAAE,CAAA;AAER,EAAA,OAAO,MAAM;IACXE,QAAQ,CAAC9J,UAAU,EAAE,CAAA;IACrB6D,MAAM,CAACrF,mBAAmB,CAAC,QAAQ,EAAEyL,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAChEpG,IAAAA,MAAM,CAACrF,mBAAmB,CAAC,QAAQ,EAAEyL,oBAAoB,CAAC,CAAA;IAC1DpG,MAAM,CAACwE,cAAc,EAAE7J,mBAAmB,CAAC,QAAQ,EAAEyL,oBAAoB,CAAC,CAAA;IAC1EpG,MAAM,CAACwE,cAAc,EAAE7J,mBAAmB,CAAC,QAAQ,EAAEyL,oBAAoB,CAAC,CAAA;GAC3E,CAAA;AACH,CAAC;;AC/GD,MAAMC,UAAU,GAAG,EAAE,CAAA;AACrB,MAAMC,YAAY,GAAG,CAAC,CAAA;AAEtB,MAAMC,iBAAiB,GAAGA,CAAC1W,QAAQ,EAAE8V,aAAa,KAAK;AACrD,EAAA,MAAMN,IAAI,GAAGxV,QAAQ,CAACsP,qBAAqB,EAAE,CAAA;AAC7C,EAAA,MAAMmG,QAAQ,GAAGf,eAAe,EAAE,CAAA;AAClC,EAAA,MAAMiC,UAAU,GAAGnB,IAAI,CAAChlB,KAAK,CAAA;EAC7B,MAAMomB,UAAU,GAAG9kB,IAAI,CAACC,GAAG,CAAE4kB,UAAU,GAAG3W,QAAQ,CAACkM,WAAW,GAAIlM,QAAQ,CAAC+V,WAAW,GAAGU,YAAY,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;EAC9G,MAAMI,cAAc,GAAGF,UAAU,GAAGC,UAAU,GAAGH,YAAY,GAAG,CAAC,CAAA;EACjE,MAAMK,WAAW,GAAG9W,QAAQ,CAAC+V,WAAW,GAAG/V,QAAQ,CAACkM,WAAW,GAAGlM,QAAQ,CAAC+W,UAAU,IAAI/W,QAAQ,CAAC+V,WAAW,GAAG/V,QAAQ,CAACkM,WAAW,CAAC,GAAG,CAAC,CAAA;EAEzI,OAAO;IACLyD,IAAI,EAAE6F,IAAI,CAAC7F,IAAI;AACfnf,IAAAA,KAAK,EAAEmmB,UAAU;AACjB9B,IAAAA,MAAM,EAAE1E,MAAM,CAAC4E,WAAW,GAAGU,QAAQ,CAACZ,MAAM;IAC5C+B,UAAU;AACVI,IAAAA,SAAS,EAAEP,YAAY,GAAGI,cAAc,GAAGC,WAAW;AACtDzU,IAAAA,OAAO,EAAEwT,2BAA2B,CAAC7V,QAAQ,EAAE8V,aAAa,CAAA;GAC7D,CAAA;AACH,CAAC,CAAA;AAED,MAAMmB,iBAAiB,GAAGA,CAAC;EAAEC,OAAO;EAAEC,WAAW;AAAEC,EAAAA,kBAAAA;AAAmB,CAAC,KAAK;AAC1E,EAAA,MAAMC,QAAQ,GAAG7P,YAAM,CAAC,CAAC,CAAC,CAAA;EAC1B,MAAM,CAAC8P,MAAM,EAAEC,SAAS,CAAC,GAAGjf,cAAQ,CAAC,KAAK,CAAC,CAAA;AAC3C,EAAA,MAAMkf,SAAS,GAAGhQ,YAAM,CAAC,KAAK,CAAC,CAAA;AAC/B,EAAA,MAAMiQ,cAAc,GAAGjQ,YAAM,CAAC2P,WAAW,CAAC,CAAA;EAC1CM,cAAc,CAACra,OAAO,GAAG+Z,WAAW,CAAA;AAEpClP,EAAAA,eAAS,CAAC,MAAM;IACduP,SAAS,CAACpa,OAAO,GAAGka,MAAM,CAAA;AAC5B,GAAC,EAAE,CAACA,MAAM,CAAC,CAAC,CAAA;AAEZrP,EAAAA,eAAS,CAAC,MAAM;IACd,MAAMyP,WAAW,GAAGnqB,KAAK,IAAI;AAC3B,MAAA,IAAI,CAACiqB,SAAS,CAACpa,OAAO,EAAE;AACtB,QAAA,OAAA;AACF,OAAA;MACAqa,cAAc,CAACra,OAAO,CAAC7P,KAAK,CAACyb,OAAO,GAAGqO,QAAQ,CAACja,OAAO,CAAC,CAAA;AACxDia,MAAAA,QAAQ,CAACja,OAAO,GAAG7P,KAAK,CAACyb,OAAO,CAAA;KACjC,CAAA;IACD,MAAM2O,SAAS,GAAGA,MAAM;MACtBJ,SAAS,CAAC,KAAK,CAAC,CAAA;KACjB,CAAA;IACD5M,QAAQ,CAACE,gBAAgB,CAAC,WAAW,EAAE6M,WAAW,EAAE,IAAI,CAAC,CAAA;IACzD/M,QAAQ,CAACE,gBAAgB,CAAC,SAAS,EAAE8M,SAAS,EAAE,IAAI,CAAC,CAAA;AACrD,IAAA,OAAO,MAAM;MACXhN,QAAQ,CAACG,mBAAmB,CAAC,WAAW,EAAE4M,WAAW,EAAE,IAAI,CAAC,CAAA;MAC5D/M,QAAQ,CAACG,mBAAmB,CAAC,SAAS,EAAE6M,SAAS,EAAE,IAAI,CAAC,CAAA;KACzD,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAI,CAACT,OAAO,EAAE7U,OAAO,EAAE;AACrB,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,MAAMuV,YAAY,GAAGR,kBAAkB,IAAI,IAAIzM,QAAQ,CAACzL,IAAI,CAAA;EAE5D,oBAAO2Y,qBAAY,cACjBxrB,cAAA,CAAA,KAAA,EAAA;IACEG,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,oBAAoB,CAAC,EAAE,+BAA+B,CAAE;AACpFA,IAAAA,KAAK,EAAE;MACLklB,IAAI,EAAEuH,OAAO,CAACvH,IAAI;MAClBnf,KAAK,EAAE0mB,OAAO,CAAC1mB,KAAK;AACpBuf,MAAAA,MAAM,EAAEyG,UAAU;MAClB3B,MAAM,EAAEqC,OAAO,CAACrC,MAAAA;KAChB;AAAA7oB,IAAAA,QAAA,eAEFK,cAAA,CAAA,KAAA,EAAA;AACEG,MAAAA,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,0BAA0B,CAAC,EAAE;AACvD,QAAA,CAACA,OAAK,CAAC,WAAW,CAAC,GAAG6sB,MAAAA;AACxB,OAAC,CAAE;AACH7sB,MAAAA,KAAK,EAAE;QACL+F,KAAK,EAAE0mB,OAAO,CAACN,UAAU;QACzBjH,IAAI,EAAEuH,OAAO,CAACF,SAAAA;OACd;MACFlO,WAAW,EAAEvb,KAAK,IAAI;QACpBA,KAAK,CAAC6U,cAAc,EAAE,CAAA;AACtBiV,QAAAA,QAAQ,CAACja,OAAO,GAAG7P,KAAK,CAACyb,OAAO,CAAA;QAChCuO,SAAS,CAAC,IAAI,CAAC,CAAA;AACjB,OAAA;KACD,CAAA;GACE,CAAC,EACNK,YACF,CAAC,CAAA;AACH,CAAC,CAAA;AAED,MAAME,kBAAkB,gBAAGC,gBAAU,CAAC,CAAC;EAAEvrB,SAAS;AAAEwrB,EAAAA,OAAO,GAAG,IAAI;EAAEZ,kBAAkB;AAAEprB,EAAAA,QAAAA;AAAS,CAAC,EAAEisB,YAAY,KAAK;EACnH,MAAM,CAACf,OAAO,EAAEgB,UAAU,CAAC,GAAG5f,cAAQ,CAAC,IAAI,CAAC,CAAA;AAC5C,EAAA,MAAM6f,YAAY,GAAG3Q,YAAM,CAAC,IAAI,CAAC,CAAA;AACjC,EAAA,MAAM4Q,WAAW,GAAG5Q,YAAM,CAAC,IAAI,CAAC,CAAA;AAChC,EAAA,MAAM6Q,gBAAgB,GAAG7Q,YAAM,CAAC,IAAI,CAAC,CAAA;AAErC,EAAA,MAAM8Q,eAAe,GAAGpP,kCAAc,CAACwE,IAAI,IAAI;IAC7CyK,YAAY,CAAC/a,OAAO,GAAGsQ,IAAI,CAAA;AAC3B,IAAA,IAAI,OAAOuK,YAAY,KAAK,UAAU,EAAE;MACtCA,YAAY,CAACvK,IAAI,CAAC,CAAA;KACnB,MAAM,IAAIuK,YAAY,EAAE;MACvBA,YAAY,CAAC7a,OAAO,GAAGsQ,IAAI,CAAA;AAC7B,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM6K,aAAa,GAAGrP,kCAAc,CAAC,MAAM;AACzC,IAAA,MAAMlJ,QAAQ,GAAGoY,WAAW,CAAChb,OAAO,CAAA;IACpC,IAAI,CAAC4C,QAAQ,EAAE;MACbkY,UAAU,CAAC,IAAI,CAAC,CAAA;AAChB,MAAA,OAAA;AACF,KAAA;IACAA,UAAU,CAACxB,iBAAiB,CAAC1W,QAAQ,EAAEqY,gBAAgB,CAACjb,OAAO,CAAC,CAAC,CAAA;AACnE,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMob,eAAe,GAAGtP,kCAAc,CAACuP,MAAM,IAAI;AAC/C,IAAA,MAAMzY,QAAQ,GAAGoY,WAAW,CAAChb,OAAO,CAAA;IACpC,IAAI,CAAC4C,QAAQ,EAAE;AACb,MAAA,OAAA;AACF,KAAA;AACA,IAAA,MAAM2W,UAAU,GAAG3W,QAAQ,CAACkM,WAAW,CAAA;IACvC,MAAMwM,eAAe,GAAG1Y,QAAQ,CAAC+V,WAAW,GAAG/V,QAAQ,CAACkM,WAAW,CAAA;IACnE,MAAM0K,UAAU,GAAG9kB,IAAI,CAACC,GAAG,CAAE4kB,UAAU,GAAG3W,QAAQ,CAACkM,WAAW,GAAIlM,QAAQ,CAAC+V,WAAW,GAAGU,YAAY,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9G,MAAMkC,WAAW,GAAGhC,UAAU,GAAGC,UAAU,GAAGH,YAAY,GAAG,CAAC,CAAA;IAC9D,IAAIkC,WAAW,IAAI,CAAC,EAAE;AACpB,MAAA,OAAA;AACF,KAAA;AACA3Y,IAAAA,QAAQ,CAAC+W,UAAU,IAAK0B,MAAM,GAAGE,WAAW,GAAID,eAAe,CAAA;AAC/DH,IAAAA,aAAa,EAAE,CAAA;AACjB,GAAC,CAAC,CAAA;AAEFtQ,EAAAA,eAAS,CAAC,MAAM;IACd,IAAI,CAAC+P,OAAO,EAAE;MACZI,WAAW,CAAChb,OAAO,GAAG,IAAI,CAAA;MAC1Bib,gBAAgB,CAACjb,OAAO,GAAG,IAAI,CAAA;MAC/B8a,UAAU,CAAC,IAAI,CAAC,CAAA;AAChB,MAAA,OAAO1qB,SAAS,CAAA;AAClB,KAAA;AAEA,IAAA,MAAMyhB,IAAI,GAAGkJ,YAAY,CAAC/a,OAAO,CAAA;IACjC,IAAI,CAAC6R,IAAI,EAAE;AACT,MAAA,OAAOzhB,SAAS,CAAA;AAClB,KAAA;IAEA,IAAIwS,QAAQ,GAAG,IAAI,CAAA;IACnB,IAAI4Y,iBAAiB,GAAG,IAAI,CAAA;IAC5B,IAAIC,qBAAqB,GAAG,IAAI,CAAA;IAEhC,MAAMC,cAAc,GAAGA,MAAM;AAC3BF,MAAAA,iBAAiB,IAAI,CAAA;AACrBA,MAAAA,iBAAiB,GAAG,IAAI,CAAA;MACxB,IAAI,CAAC5Y,QAAQ,EAAE;AACb,QAAA,OAAA;AACF,OAAA;AACAA,MAAAA,QAAQ,CAAC8K,mBAAmB,CAAC,QAAQ,EAAEyN,aAAa,CAAC,CAAA;MACrDM,qBAAqB,EAAEvM,UAAU,EAAE,CAAA;AACnCuM,MAAAA,qBAAqB,GAAG,IAAI,CAAA;MAC5BT,WAAW,CAAChb,OAAO,GAAG,IAAI,CAAA;MAC1Bib,gBAAgB,CAACjb,OAAO,GAAG,IAAI,CAAA;AAC/B4C,MAAAA,QAAQ,GAAG,IAAI,CAAA;KAChB,CAAA;IAED,MAAM+Y,cAAc,GAAGC,YAAY,IAAI;AACrC,MAAA,IAAI,CAACA,YAAY,IAAIA,YAAY,KAAKhZ,QAAQ,EAAE;AAC9C,QAAA,OAAA;AACF,OAAA;AACA8Y,MAAAA,cAAc,EAAE,CAAA;AAChB9Y,MAAAA,QAAQ,GAAGgZ,YAAY,CAAA;MACvBZ,WAAW,CAAChb,OAAO,GAAG4C,QAAQ,CAAA;AAC9B4Y,MAAAA,iBAAiB,GAAG3C,2BAA2B,CAACjW,QAAQ,EAAEgW,KAAK,IAAI;QACjEqC,gBAAgB,CAACjb,OAAO,GAAG4Y,KAAK,CAAA;AAChCuC,QAAAA,aAAa,EAAE,CAAA;AACjB,OAAC,CAAC,CAAA;AACFvY,MAAAA,QAAQ,CAAC6K,gBAAgB,CAAC,QAAQ,EAAE0N,aAAa,EAAE;AAAEU,QAAAA,OAAO,EAAE,IAAA;AAAK,OAAC,CAAC,CAAA;AACrEJ,MAAAA,qBAAqB,GAAG,IAAIzM,cAAc,CAACmM,aAAa,CAAC,CAAA;AACzDM,MAAAA,qBAAqB,CAACxM,OAAO,CAACrM,QAAQ,CAAC,CAAA;MACvCzQ,KAAK,CAACuN,IAAI,CAACkD,QAAQ,CAAChU,QAAQ,CAAC,CAAClD,OAAO,CAACowB,KAAK,IAAI;AAC7CL,QAAAA,qBAAqB,CAACxM,OAAO,CAAC6M,KAAK,CAAC,CAAA;AACtC,OAAC,CAAC,CAAA;KACH,CAAA;IAED,MAAMC,cAAc,GAAGA,MAAM;AAC3BJ,MAAAA,cAAc,CAAC7D,qBAAqB,CAACjG,IAAI,CAAC,CAAC,CAAA;AAC3CsJ,MAAAA,aAAa,EAAE,CAAA;KAChB,CAAA;AAED,IAAA,MAAMa,uBAAuB,GAAG,IAAIhN,cAAc,CAAC+M,cAAc,CAAC,CAAA;AAClEC,IAAAA,uBAAuB,CAAC/M,OAAO,CAAC4C,IAAI,CAAC,CAAA;AACrCkK,IAAAA,cAAc,EAAE,CAAA;AAEhB,IAAA,OAAO,MAAM;AACXL,MAAAA,cAAc,EAAE,CAAA;MAChBM,uBAAuB,CAAC9M,UAAU,EAAE,CAAA;KACrC,CAAA;AACH,GAAC,EAAE,CAAC0L,OAAO,EAAEO,aAAa,CAAC,CAAC,CAAA;EAE5B,oBACErc,eAAA,CAAA8E,mBAAA,EAAA;AAAAhV,IAAAA,QAAA,gBACEK,cAAA,CAAA,KAAA,EAAA;AAAKiX,MAAAA,GAAG,EAAEgV,eAAgB;AAAC9rB,MAAAA,SAAS,EAAEA,SAAU;AAAAR,MAAAA,QAAA,EAC7CA,QAAAA;AAAQ,KACN,CAAC,EACLgsB,OAAO,gBAAG3rB,cAAA,CAAC4qB,iBAAiB,EAAA;AAACC,MAAAA,OAAO,EAAEA,OAAQ;AAACC,MAAAA,WAAW,EAAEqB,eAAgB;AAACpB,MAAAA,kBAAkB,EAAEA,kBAAAA;KAAqB,CAAC,GAAG,IAAI,CAAA;AAAA,GAC/H,CAAC,CAAA;AAEP,CAAC,CAAC;;;;ACrMF,MAAMiC,YAAY,GAAGA,CAAC;EAAEC,WAAW;EAAEC,cAAc;EAAEluB,MAAM;EAAEmuB,MAAM;EAAEC,YAAY;EAAElnB,YAAY;EAAEgG,YAAY;AAAEmhB,EAAAA,YAAAA;AAAa,CAAC,KAAK;EAChI,MAAM;AAAEha,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,MAAMhH,eAAe,GAAGpG,YAAY,EAAEoG,eAAe,IAAI,EAAE,CAAA;AAC3D,EAAA,MAAMghB,YAAY,GAAGhhB,eAAe,CAACrN,MAAM,GAAG,CAAC,CAAA;AAE/C,EAAA,MAAMsuB,cAAc,GAAGhhB,aAAO,CAAC,MAAM;AACnC,IAAA,IAAI,CAACrJ,KAAK,CAACC,OAAO,CAACiqB,YAAY,CAAC,IAAIA,YAAY,CAACnuB,MAAM,KAAK,CAAC,EAAE;AAC7D,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AACA,IAAA,OAAOmuB,YAAY,CAACjuB,GAAG,CAAClD,IAAI,IAAI;MAC9B,MAAM;QAAEiB,GAAG;QAAE0F,KAAK;QAAEoS,QAAQ;QAAEnT,MAAM;AAAElB,QAAAA,OAAAA;AAAQ,OAAC,GAAG1E,IAAI,CAAA;AACtD,MAAA,MAAMuxB,UAAU,GAAGxY,QAAQ,IAAI,CAACsY,YAAY,CAAA;MAC5C,OAAO;QACLpwB,GAAG,EAAEA,GAAG,IAAI0F,KAAK;QACjBA,KAAK;QACLf,MAAM;AACNmT,QAAAA,QAAQ,EAAEwY,UAAU;QACpB7sB,OAAO,EAAEA,MAAM;AACb,UAAA,IAAI6sB,UAAU,EAAE;AACd,YAAA,OAAA;AACF,WAAA;AACA7sB,UAAAA,OAAO,GAAG;YACR2L,eAAe;YACfJ,YAAY,EAAEA,YAAY,IAAI,EAAE;YAChChG,YAAY;YACZ,GAAGmnB,YAAAA;AACL,WAAC,CAAC,CAAA;AACJ,SAAA;OACD,CAAA;AACH,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACD,YAAY,EAAEC,YAAY,EAAEC,YAAY,EAAEpnB,YAAY,EAAEoG,eAAe,EAAEJ,YAAY,CAAC,CAAC,CAAA;AAE3F,EAAA,MAAMuhB,SAAS,GAAGF,cAAc,CAACtuB,MAAM,GAAG,CAAC,CAAA;EAC3C,MAAMyuB,UAAU,GAAG1uB,MAAM,EAAE2E,IAAI,EAAE1E,MAAM,GAAG,CAAC,CAAA;AAC3C,EAAA,MAAM0uB,UAAU,GAAGR,MAAM,IAAIA,MAAM,CAAClwB,IAAI,CAAA;EAExC,IAAI,CAACwwB,SAAS,IAAI,CAACC,UAAU,IAAI,CAACC,UAAU,EAAE;AAC5C,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,MAAM;AAAEhqB,IAAAA,IAAI,EAAEiqB,UAAU;AAAEC,IAAAA,WAAW,GAAG,CAAC;IAAEC,WAAW;AAAE3tB,IAAAA,SAAS,EAAE4tB,eAAe;IAAE,GAAGC,UAAAA;AAAW,GAAC,GAAGhvB,MAAM,IAAI,EAAE,CAAA;EAClH,MAAM;AAAEmB,IAAAA,SAAS,EAAE8tB,eAAe;AAAE7vB,IAAAA,KAAK,EAAE8vB,WAAW;IAAE,GAAGC,UAAAA;AAAW,GAAC,GAAGhB,MAAM,IAAI,EAAE,CAAA;AAEtF,EAAA,MAAMiB,eAAe,GAAGnB,WAAW,EAAEhuB,MAAM,GAAG,CAAC,CAAA;EAE/C,oBACEe,cAAA,CAACquB,0BAAc,EAAA;AAAChyB,IAAAA,KAAK,EAAE4wB,WAAY;AAACtf,IAAAA,QAAQ,EAAEuf,cAAe;AAAAvtB,IAAAA,QAAA,eAC3DkQ,eAAA,CAAA,KAAA,EAAA;MACE1P,SAAS,EAAEY,8BAAU,CAAC3C,KAAK,CAAC,uBAAuB,CAAC,EAAE,4BAA4B,EAAE;AAClF,QAAA,CAACA,KAAK,CAAC,mBAAmB,CAAC,GAAGgwB,eAAe;AAC7C,QAAA,uCAAuC,EAAEA,eAAAA;AAC3C,OAAC,CAAE;AAAAzuB,MAAAA,QAAA,gBAEHkQ,eAAA,CAAA,KAAA,EAAA;AAAK1P,QAAAA,SAAS,EAAE/B,KAAK,CAAC,eAAe,CAAE;AAAAuB,QAAAA,QAAA,EACpC8tB,CAAAA,SAAS,gBACR5d,eAAA,CAAA8E,mBAAA,EAAA;AAAAhV,UAAAA,QAAA,gBACEK,cAAA,CAAA,KAAA,EAAA;AAAKG,YAAAA,SAAS,EAAE/B,KAAK,CAAC,qBAAqB,CAAE;YAAAuB,QAAA,eAC3CK,cAAA,CAACsuB,aAAQ,EAAA;cAACtZ,QAAQ,EAAE,CAACsY,YAAa;AAACiB,cAAAA,IAAI,EAAE;AAAE7qB,gBAAAA,KAAK,EAAE6pB,cAAAA;eAAiB;cAACvT,OAAO,EAAE,CAAC,OAAO,CAAE;cAAAra,QAAA,eACrFkQ,eAAA,CAAC4G,WAAM,EAAA;AAACpT,gBAAAA,IAAI,EAAC,OAAO;gBAAC2R,QAAQ,EAAE,CAACsY,YAAa;AAACntB,gBAAAA,SAAS,EAAE/B,KAAK,CAAC,yBAAyB,CAAE;AAAAuB,gBAAAA,QAAA,EACvF2tB,CAAAA,YAAY,GAAGja,aAAa,CAAC;AAAEzF,kBAAAA,EAAE,EAAE,0BAAA;AAA2B,iBAAC,EAAE;kBAAE4gB,KAAK,EAAEliB,eAAe,CAACrN,MAAAA;iBAAQ,CAAC,GAAGoU,aAAa,CAAC;AAAEzF,kBAAAA,EAAE,EAAE,iBAAA;AAAkB,iBAAC,CAAC,eAC/I5N,cAAA,CAACyuB,kBAAY,IAAE,CAAC,CAAA;eACV,CAAA;aACA,CAAA;AAAC,WACR,CAAC,EACL,CAACf,UAAU,IAAIC,UAAU,kBAAK3tB,cAAA,CAAA,MAAA,EAAA;AAAMG,YAAAA,SAAS,EAAE/B,KAAK,CAAC,uBAAuB,CAAE;AAAC,YAAA,aAAA,EAAA,IAAA;AAAW,WAAE,CAAC,CAAA;AAAA,SAC9F,CAAC,GACD,IAAI,EACPsvB,UAAU,gBACT1tB,cAAA,CAAA,KAAA,EAAA;AAAKG,UAAAA,SAAS,EAAE/B,KAAK,CAAC,sBAAsB,CAAE;AAAAuB,UAAAA,QAAA,eAC5CK,cAAA,CAAA,KAAA,EAAA;YAAKG,SAAS,EAAEY,8BAAU,CAAC3C,KAAK,CAAC,4BAA4B,CAAC,EAAE2vB,eAAe,CAAE;YAAApuB,QAAA,eAC/EK,cAAA,CAAC0uB,uBAAW,EAAA;AAAC/qB,cAAAA,IAAI,EAAEiqB,UAAW;AAACC,cAAAA,WAAW,EAAEA,WAAY;AAACjrB,cAAAA,KAAK,EAAC,EAAE;cAAA,GAAKorB,UAAAA;aAAa,CAAA;WAChF,CAAA;SACF,CAAC,GACJ,IAAI,EACPL,UAAU,gBACT9d,eAAA,CAAA8E,mBAAA,EAAA;UAAAhV,QAAA,EAAA,CACG+tB,UAAU,iBAAI1tB,cAAA,CAAA,MAAA,EAAA;AAAMG,YAAAA,SAAS,EAAE/B,KAAK,CAAC,uBAAuB,CAAE;AAAC,YAAA,aAAA,EAAA,IAAA;WAAa,CAAC,eAC9E4B,cAAA,CAAA,KAAA,EAAA;AAAKG,YAAAA,SAAS,EAAE/B,KAAK,CAAC,sBAAsB,CAAE;YAAAuB,QAAA,eAC5CK,cAAA,CAAC2uB,uBAAW,EAAA;cAACtY,UAAU,EAAA,IAAA;AAACgB,cAAAA,QAAQ,EAAE,KAAM;AAACuX,cAAAA,OAAO,EAAC,QAAQ;AAACvrB,cAAAA,IAAI,EAAC,OAAO;cAAClD,SAAS,EAAEY,8BAAU,CAAC3C,KAAK,CAAC,4BAA4B,CAAC,EAAE6vB,eAAe,CAAE;AAAC7vB,cAAAA,KAAK,EAAE8vB,WAAY;cAAA,GAAKC,UAAAA;aAAa,CAAA;AAAC,WACvL,CAAC,CAAA;SACN,CAAC,GACD,IAAI,CAAA;AAAA,OACL,CAAC,EACLC,eAAe,gBACdpuB,cAAA,CAAA,KAAA,EAAA;AAAKG,QAAAA,SAAS,EAAE/B,KAAK,CAAC,6BAA6B,CAAE;QAAAuB,QAAA,eACnDK,cAAA,CAAC6uB,8BAAkB,EAAA;AAACxyB,UAAAA,KAAK,EAAE4wB,WAAY;AAACtf,UAAAA,QAAQ,EAAEuf,cAAe;AAACY,UAAAA,WAAW,EAAEA,WAAAA;SAAc,CAAA;OAC1F,CAAC,GACJ,IAAI,CAAA;KACL,CAAA;AAAC,GACQ,CAAC,CAAA;AAErB,CAAC;;;;ACpFD,MAAMgB,YAAY,GAAG5xB,GAAG,IAAI;EAC1B,IAAI;AACF,IAAA,MAAMb,KAAK,GAAG4b,YAAY,CAACC,OAAO,CAAChb,GAAG,CAAC,CAAA;AACvC,IAAA,IAAIb,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,EAAE;AACjC,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AACA,IAAA,MAAMqI,GAAG,GAAGlI,MAAM,CAACH,KAAK,CAAC,CAAA;IACzB,OAAOG,MAAM,CAAC4H,KAAK,CAACM,GAAG,CAAC,GAAG,IAAI,GAAGA,GAAG,CAAA;GACtC,CAAC,OAAAyT,OAAA,EAAM;AACN,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AACF,CAAC,CAAA;AAED,MAAM4W,aAAa,GAAGA,CAAC7xB,GAAG,EAAEmG,IAAI,KAAK;EACnC,IAAI;IACF4U,YAAY,CAACK,OAAO,CAACpb,GAAG,EAAEX,MAAM,CAAC8G,IAAI,CAAC,CAAC,CAAA;GACxC,CAAC,OAAAmV,QAAA,EAAM;AACN;AAAA,GAAA;AAEJ,CAAC,CAAA;AAED,MAAMwW,oBAAoB,GAAGtyB,MAAM,IAAI;EACrC,MAAM4sB,eAAe,GAAGlB,eAAe,CAAC6G,gBAAgB,CAACvyB,MAAM,CAAC,CAAC4sB,eAAe,CAAC,CAAA;AACjF,EAAA,OAAOD,mBAAmB,CAAC3sB,MAAM,EAAE4sB,eAAe,CAAC,CAAA;AACrD,CAAC,CAAA;AAED,MAAM4F,mBAAmB,GAAGtM,IAAI,IAAI;AAClC,EAAA,MAAMlmB,MAAM,GAAGksB,eAAe,CAAChG,IAAI,CAAC,CAAA;EACpC,IAAI,CAAClmB,MAAM,EAAE;AACX,IAAA,OAAA;AACF,GAAA;AAEAyyB,EAAAA,qBAAqB,CAAC,MAAM;AAC1BA,IAAAA,qBAAqB,CAAC,MAAM;AAC1B,MAAA,IAAIH,oBAAoB,CAACtyB,MAAM,CAAC,EAAE;AAChC,QAAA,OAAA;AACF,OAAA;MACAA,MAAM,CAAC0yB,cAAc,CAAC;AAAEC,QAAAA,KAAK,EAAE,OAAO;AAAEC,QAAAA,MAAM,EAAE,SAAA;AAAU,OAAC,CAAC,CAAA;AAC9D,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAMC,gBAAgB,GAAG;EACvBhO,KAAK;AACL+F,EAAAA,SAAAA;AACF,CAAC,CAAA;AAED,MAAMkI,uBAAuB,GAAGA,CAACxwB,MAAM,EAAEmuB,MAAM,KAAK;AAClD,EAAA,MAAMsC,KAAK,GAAG,IAAI/iB,GAAG,EAAE,CAAA;AACvB,EAAA,IAAIygB,MAAM,IAAA,IAAA,IAANA,MAAM,CAAElwB,IAAI,EAAE;AAChBwyB,IAAAA,KAAK,CAACC,GAAG,CAACvC,MAAM,CAAClwB,IAAI,CAAC,CAAA;AACxB,GAAA;EACA,IAAIiG,KAAK,CAACC,OAAO,CAACnE,MAAM,oBAANA,MAAM,CAAE2E,IAAI,CAAC,EAAE;AAC/B3E,IAAAA,MAAM,CAAC2E,IAAI,CAAClH,OAAO,CAAC8Q,GAAG,IAAI;AACzB,MAAA,IAAI,CAACrK,KAAK,CAACC,OAAO,CAACoK,GAAG,CAAC,EAAE;AACvB,QAAA,OAAA;AACF,OAAA;AACAA,MAAAA,GAAG,CAAC9Q,OAAO,CAACR,IAAI,IAAI;AAAA,QAAA,IAAA0zB,WAAA,CAAA;AAClB,QAAA,MAAM1yB,IAAI,GAAGhB,IAAI,IAAA,IAAA,IAAA,CAAA0zB,WAAA,GAAJ1zB,IAAI,CAAE8T,KAAK,KAAA,IAAA,GAAA,KAAA,CAAA,GAAX4f,WAAA,CAAa1yB,IAAI,CAAA;AAC9B,QAAA,IAAIA,IAAI,EAAE;AACRwyB,UAAAA,KAAK,CAACC,GAAG,CAACzyB,IAAI,CAAC,CAAA;AACjB,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAC,CAAC,CAAA;AACJ,GAAA;AACA,EAAA,OAAOwyB,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAMG,gBAAgB,GAAGA,CAACC,MAAM,EAAEC,gBAAgB,KAAK;EACrD,MAAMC,IAAI,GAAGlzB,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE+yB,MAAM,CAAC,CAAA;AACtCC,EAAAA,gBAAgB,CAACrzB,OAAO,CAACQ,IAAI,IAAI;IAC/B,OAAO8yB,IAAI,CAAC9yB,IAAI,CAAC,CAAA;AACnB,GAAC,CAAC,CAAA;AACF,EAAA,OAAO8yB,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAMC,qBAAqB,GAAG7d,UAAU,CACtCjK,IAAA,IAgCM;AAAA,EAAA,IAAA+nB,YAAA,CAAA;AAAA,EAAA,IA/BJ5X,IAAI,GAAAnQ,IAAA,CAAJmQ,IAAI;IACJ6X,OAAO,GAAAhoB,IAAA,CAAPgoB,OAAO;IACPC,MAAM,GAAAjoB,IAAA,CAANioB,MAAM;IACNC,aAAa,GAAAloB,IAAA,CAAbkoB,aAAa;IACbC,UAAU,GAAAnoB,IAAA,CAAVmoB,UAAU;IACVC,UAAU,GAAApoB,IAAA,CAAVooB,UAAU;IACVC,QAAQ,GAAAroB,IAAA,CAARqoB,QAAQ;IACRC,IAAI,GAAAtoB,IAAA,CAAJsoB,IAAI;IAAAC,eAAA,GAAAvoB,IAAA,CACJwoB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAGpY,KAAAA,CAAAA,GAAAA,IAAI,IAAI;MACnB,OAAO;QACL1U,IAAI,EAAE0U,IAAI,CAACyN,QAAQ;QACnB6K,KAAK,EAAEtY,IAAI,CAACuY,UAAU;AACtBvY,QAAAA,IAAAA;OACD,CAAA;AACH,KAAC,GAAAoY,eAAA;IACDtwB,SAAS,GAAA+H,IAAA,CAAT/H,SAAS;IACT8E,OAAO,GAAAiD,IAAA,CAAPjD,OAAO;IACP4rB,UAAU,GAAA3oB,IAAA,CAAV2oB,UAAU;IAAAC,eAAA,GAAA5oB,IAAA,CACVia,UAAU;AAAVA,IAAAA,UAAU,GAAA2O,eAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,eAAA;IAAAC,qBAAA,GAAA7oB,IAAA,CACf8oB,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;IACtB3O,OAAO,GAAAla,IAAA,CAAPka,OAAO;IACPJ,MAAM,GAAA9Z,IAAA,CAAN8Z,MAAM;IAAAiP,eAAA,GAAA/oB,IAAA,CACN5I,UAAU;AAAVA,IAAAA,UAAU,GAAA2xB,eAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,eAAA;IAAAC,qBAAA,GAAAhpB,IAAA,CACpBipB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IACzBE,kBAAkB,GAAAlpB,IAAA,CAAlBkpB,kBAAkB;IAClBpyB,MAAM,GAAAkJ,IAAA,CAANlJ,MAAM;IACNmuB,MAAM,GAAAjlB,IAAA,CAANilB,MAAM;IACNC,YAAY,GAAAllB,IAAA,CAAZklB,YAAY;IACZlhB,YAAY,GAAAhE,IAAA,CAAZgE,YAAY;IACZhG,YAAY,GAAAgC,IAAA,CAAZhC,YAAY;AACT6J,IAAAA,KAAK,GAAA3H,6BAAA,CAAAF,IAAA,EAAAG,SAAA,CAAA,CAAA;AAER,EAAA,MAAAgpB,QAAA,GAA0B/d,iBAAO,EAAE;IAA3BD,aAAa,GAAAge,QAAA,CAAbhe,aAAa,CAAA;AACrB,EAAA,MAAMie,eAAe,GAAGnW,YAAM,CAAC,IAAI,CAAC,CAAA;AACpC,EAAA,MAAMoW,gBAAgB,GAAGpW,YAAM,CAAC,KAAK,CAAC,CAAA;AACtC,EAAA,MAAMqW,iBAAiB,GAAG3U,kCAAc,CAAC6T,UAAU,CAAC,CAAA;EACpD,MAAMe,kBAAkB,GAAGzyB,MAAM,IAAIA,MAAM,CAAC3C,KAAK,KAAK8E,SAAS,CAAA;AAC/D,EAAA,MAAA6K,SAAA,GAAsDC,cAAQ,CAAC,MAAM,CAAAjN,MAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEjC,YAAY,KAAI,EAAE,CAAC;AAAzF20B,IAAAA,mBAAmB,GAAA1lB,SAAA,CAAA,CAAA,CAAA;AAAE2lB,IAAAA,sBAAsB,GAAA3lB,SAAA,CAAA,CAAA,CAAA,CAAA;EAClD,MAAMihB,WAAW,GAAGwE,kBAAkB,GAAGzyB,MAAM,CAAC3C,KAAK,GAAGq1B,mBAAmB,CAAA;EAC3E,MAAME,cAAc,GAAG,CAAA5yB,MAAM,oBAANA,MAAM,CAAE4yB,cAAc,KAAIC,0BAAc,CAAA;AAE/D,EAAA,MAAMC,eAAe,GAAGjV,kCAAc,CAACxgB,KAAK,IAAI;AAC9C,IAAA,OAAOu1B,cAAc,CAACv1B,KAAK,IAAI,EAAE,CAAC,CAAA;AACpC,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMyzB,gBAAgB,GAAGvjB,aAAO,CAAC,MAAMijB,uBAAuB,CAACxwB,MAAM,EAAEmuB,MAAM,CAAC,EAAE,CAACnuB,MAAM,EAAEmuB,MAAM,CAAC,CAAC,CAAA;EAEjG,MAAM4E,4BAA4B,GAAGlV,kCAAc,CAAC,UAACxgB,KAAK,EAAEqR,KAAK,EAAU;AAAA,IAAA,IAAfA,KAAK,KAAA,KAAA,CAAA,EAAA;MAALA,KAAK,GAAG,EAAE,CAAA;AAAA,KAAA;IACpE,OAAO7Q,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE8yB,gBAAgB,CAAC5yB,uBAAG,CAACozB,aAAa,EAAEjO,UAAU,CAAC6P,UAAU,CAAC,EAAElC,gBAAgB,CAAC,EAAEpiB,KAAK,EAAEokB,eAAe,CAACz1B,KAAK,CAAC,CAAC,CAAA;AACxI,GAAC,CAAC,CAAA;AAEF,EAAA,MAAM41B,UAAU,GAAG1lB,aAAO,CAAC,MAAM;IAC/B,OAAOilB,iBAAiB,CAACnZ,IAAI,CAAC,CAAA;AAChC,GAAC,EAAE,CAACA,IAAI,EAAEmZ,iBAAiB,CAAC,CAAC,CAAA;EAE7B,MAAMU,eAAe,GAAG,OAAOrB,UAAU,KAAK,UAAU,GAAGA,UAAU,CAACxY,IAAI,CAAC,GAAG,OAAOpT,OAAO,KAAK,UAAU,GAAGA,OAAO,CAACoT,IAAI,CAAC,GAAGpT,OAAO,CAAA;AAErI,EAAA,MAAMktB,YAAY,GAAG5lB,aAAO,CAC1B,OAAO;IACL8L,IAAI;IACJgY,UAAU;IACVD,aAAa;IACbF,OAAO;IACPC,MAAM;IACNI,QAAQ;IACRC,IAAI;IACJE,UAAU;AACVvO,IAAAA,UAAAA;GACD,CAAC,EACF,CAAC9J,IAAI,EAAEgY,UAAU,EAAED,aAAa,EAAEF,OAAO,EAAEC,MAAM,EAAEI,QAAQ,EAAEC,IAAI,EAAEE,UAAU,EAAEvO,UAAU,CAC3F,CAAC,CAAA;AAED,EAAA,MAAMiQ,WAAW,GAAGvV,kCAAc,CAAC,MAAM;AACvCqS,IAAAA,mBAAmB,CAACoC,eAAe,CAACvgB,OAAO,CAAC,CAAA;AAC9C,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMshB,kBAAkB,GAAGxV,kCAAc,CAACxgB,KAAK,IAAI;IACjD,IAAI,CAACo1B,kBAAkB,EAAE;MACvBE,sBAAsB,CAACt1B,KAAK,CAAC,CAAA;AAC/B,KAAA;IACA2C,MAAM,IAAA,IAAA,IAANA,MAAM,CAAE2O,QAAQ,IAAA,IAAA,IAAhB3O,MAAM,CAAE2O,QAAQ,CAAGtR,KAAK,CAAC,CAAA;AACzB8zB,IAAAA,MAAM,CAAC;AACL,MAAA,CAAChO,UAAU,CAAC6P,UAAU,GAAGD,4BAA4B,CAAC11B,KAAK,EAAE;QAC3D,CAAC8lB,UAAU,CAACmQ,WAAW,GAAG,CAAA;OAC3B,CAAA;AACH,KAAC,CAAC,CAAA;AACJ,GAAC,CAAC,CAAA;AAEF1W,EAAAA,eAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAAC2V,gBAAgB,CAACxgB,OAAO,IAAI,CAACuf,UAAU,EAAE;AAC5C,MAAA,OAAA;AACF,KAAA;IACAiB,gBAAgB,CAACxgB,OAAO,GAAG,KAAK,CAAA;AAChCqhB,IAAAA,WAAW,EAAE,CAAA;GACd,EAAE,CAAC9B,UAAU,EAAEjY,IAAI,EAAE+Z,WAAW,CAAC,CAAC,CAAA;EAEnC,MAAMG,sBAAsB,GAAG1V,kCAAc,CAAC,CAAC2V,IAAI,EAAEnvB,IAAI,KAAK;IAC5DkuB,gBAAgB,CAACxgB,OAAO,GAAG,IAAI,CAAA;AAC/B,IAAA,IAAI,OAAOoR,UAAU,CAACxU,QAAQ,KAAK,UAAU,EAAE;AAC7CwU,MAAAA,UAAU,CAACxU,QAAQ,CAAC6kB,IAAI,EAAEnvB,IAAI,CAAC,CAAA;AAC/B,MAAA,OAAA;AACF,KAAA;AACA,IAAA,IAAImvB,IAAI,KAAKx1B,uBAAG,CAACozB,aAAa,EAAE,CAACjO,UAAU,CAAC6P,UAAU,EAAE7P,UAAU,CAACmQ,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE;MACnF,CAACnQ,UAAU,CAACsQ,WAAW,KAAK,SAAS,GAAGvC,OAAO,GAAGC,MAAM,EAAE;AACxD,QAAA,CAAChO,UAAU,CAAC6P,UAAU,GAAGD,4BAA4B,CAAC9E,WAAW,EAAE;AACjE,UAAA,CAAC9K,UAAU,CAACmQ,WAAW,GAAGE,IAAI;AAC9B,UAAA,CAACrQ,UAAU,CAACuQ,YAAY,GAAGl2B,MAAM,CAAC6G,IAAI,CAAA;SACvC,CAAA;AACH,OAAC,CAAC,CAAA;AACJ,KAAC,MAAM;AACL8e,MAAAA,UAAU,CAACwQ,gBAAgB,IAAIxQ,UAAU,CAACwQ,gBAAgB,CAACH,IAAI,EAAEh2B,MAAM,CAAC6G,IAAI,CAAC,CAAC,CAAA;AAChF,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMuvB,gBAAgB,GAAGrmB,aAAO,CAAC,MAAM;AACrC,IAAA,IAAI,CAAC4V,UAAU,CAACzI,IAAI,EAAE;AACpB,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;IACA,OAAO;MACLiX,KAAK,EAAEsB,UAAU,CAACtB,KAAK;AACvBkC,MAAAA,SAAS,EACP,OAAO1Q,UAAU,CAAC0Q,SAAS,KAAK,UAAU,GACtC1Q,UAAU,CAAC0Q,SAAS,GACpBlC,KAAK,iBACH9gB,eAAA,CAAA8E,mBAAA,EAAA;QAAAhV,QAAA,EAAA,CACG0T,aAAa,CAAC;AAAEzF,UAAAA,EAAE,EAAE,WAAA;AAAY,SAAC,CAAC,EAAC,MACpC,eAAA5N,cAAA,CAAA,MAAA,EAAA;AAAMG,UAAAA,SAAS,EAAE/B,OAAK,CAAC,YAAY,CAAE;AAAAuB,UAAAA,QAAA,EAAEgxB,KAAAA;AAAK,SAAO,CAAC,EAAA,MAEpD,EAACtd,aAAa,CAAC;AAAEzF,UAAAA,EAAE,EAAE,UAAA;AAAW,SAAC,CAAC,CAAA;AAAA,OAClC,CACH;AACPmD,MAAAA,OAAO,EAAE/T,uBAAG,CAACozB,aAAa,EAAE,CAACjO,UAAU,CAAC6P,UAAU,EAAE7P,UAAU,CAACmQ,WAAW,CAAC,EAAE,CAAC,CAAC;MAC/EQ,QAAQ,EAAEt2B,MAAM,CAACQ,uBAAG,CAACozB,aAAa,EAAE,CAACjO,UAAU,CAAC6P,UAAU,EAAE7P,UAAU,CAACuQ,YAAY,CAAC,EAAEvQ,UAAU,CAAC2Q,QAAQ,CAAC,CAAC,IAAI3Q,UAAU,CAAC2Q,QAAQ,IAAI,EAAE;AACxInlB,MAAAA,QAAQ,EAAE4kB,sBAAsB;MAChClvB,IAAI,EAAE8e,UAAU,CAAC9e,IAAI;MACrB0vB,gBAAgB,EAAE5Q,UAAU,CAAC4Q,gBAAgB;MAC7CC,eAAe,EAAE7Q,UAAU,CAAC6Q,eAAe;MAC3CC,eAAe,EAAE9Q,UAAU,CAAC8Q,eAAe;MAC3CC,eAAe,EAAE/Q,UAAU,CAAC+Q,eAAAA;KAC7B,CAAA;AACH,GAAC,EAAE,CAAC/Q,UAAU,EAAE8P,UAAU,CAACtB,KAAK,EAAEP,aAAa,EAAE/c,aAAa,EAAEkf,sBAAsB,CAAC,CAAC,CAAA;EAExF,MAAMY,UAAU,GAAG,CAAC,EAAEn0B,MAAM,IAAAixB,IAAAA,IAAAA,CAAAA,YAAA,GAANjxB,MAAM,CAAE2E,IAAI,KAAZssB,IAAAA,IAAAA,YAAA,CAAchxB,MAAM,IAAKkuB,MAAM,IAAIA,MAAM,CAAClwB,IAAK,IAAKmwB,YAAY,IAAIA,YAAY,CAACnuB,MAAO,CAAC,CAAA;AAE/G,EAAA,MAAMouB,YAAY,GAAG9gB,aAAO,CAC1B,OAAO;IACL8L,IAAI;IACJgY,UAAU;IACVD,aAAa;IACbF,OAAO;IACPC,MAAM;IACNI,QAAQ;IACRC,IAAI;IACJE,UAAU;AACVvO,IAAAA,UAAAA;GACD,CAAC,EACF,CAAC9J,IAAI,EAAEgY,UAAU,EAAED,aAAa,EAAEF,OAAO,EAAEC,MAAM,EAAEI,QAAQ,EAAEC,IAAI,EAAEE,UAAU,EAAEvO,UAAU,CAC3F,CAAC,CAAA;AAED,EAAA,MAAMiR,UAAU,GAAA3oB,QAAA,CAAA,EAAA,EACXsF,KAAK,EAAA;IACR7J,YAAY;IACZ1F,UAAU,EAAEyxB,UAAU,CAACtuB,IAAI;AAC3Bwe,IAAAA,UAAU,EAAE,KAAK;IACjBH,MAAM;AACN7hB,IAAAA,SAAS,EAAEY,8BAAU,CAACZ,SAAS,EAAE;AAC/B,MAAA,CAAC/B,OAAK,CAAC,kBAAkB,CAAC,GAAG+0B,UAAAA;AAC/B,KAAC,CAAC;AACFluB,IAAAA,OAAO,EAAEitB,eAAe;IACxBlB,iBAAiB,EAAAvmB,QAAA,CAAA,EAAA,EACZumB,iBAAiB,EAAA;MACpBZ,aAAa;MACbC,UAAU;AACVhY,MAAAA,IAAAA;KACD,CAAA;IACD+J,OAAO,EACL,OAAOA,OAAO,KAAK,UAAU,GACzB,UAAC0D,QAAQ,EAAc;MACrB,OAAO1D,OAAO,CAACvlB,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEq1B,YAAY,EAAE;AAAErM,QAAAA,QAAAA;OAAU,EAAE,MAAAzY,KAAA,CAAA6T,IAAA,CAAAC,SAAA,EAAO,CAAA,CAAA,CAAC,CAAC,CAAA;AACxE,KAAC,GACD,IAAA;GACP,CAAA,CAAA;AAED,EAAA,MAAMkS,cAAc,GAAG9D,gBAAgB,CAACjwB,UAAU,CAAC,IAAIiiB,KAAK,CAAA;EAE5D,MAAMoE,YAAY,gBAAG3lB,cAAA,CAACqzB,cAAc,EAAA5oB,QAAA,CAAA,EAAA,EAAK2oB,UAAU,CAAG,CAAC,CAAA;AAEvD,EAAA,oBACEvjB,eAAA,CAAA,KAAA,EAAA;AAAK1P,IAAAA,SAAS,EAAE/B,OAAK,CAAC,YAAY,CAAE;IAAAuB,QAAA,EAAA,cAClCK,cAAA,CAACyrB,kBAAkB,EAAA;AACjBxU,MAAAA,GAAG,EAAEqa,eAAgB;AACrB3F,MAAAA,OAAO,EAAEwF,kBAAkB,IAAI7xB,UAAU,KAAK,OAAQ;AACtDyrB,MAAAA,kBAAkB,EAAEqG,kBAAmB;MACvCjxB,SAAS,EAAEY,8BAAU,CAAC3C,OAAK,CAAC,eAAe,CAAC,EAAE,mBAAmB,EAAE;AACjE,QAAA,YAAY,EAAE,CAACkyB,UAAU,IAAI,CAACjY,IAAAA;AAChC,OAAC,CAAE;MAAA1Y,QAAA,EAEFwzB,UAAU,gBACTtjB,eAAA,CAAA,KAAA,EAAA;AAAK1P,QAAAA,SAAS,EAAE/B,OAAK,CAAC,oBAAoB,CAAE;QAAAuB,QAAA,EAAA,cAC1CK,cAAA,CAACgtB,YAAY,EAAA;AAACC,UAAAA,WAAW,EAAEA,WAAY;AAACC,UAAAA,cAAc,EAAEmF,kBAAmB;AAACrzB,UAAAA,MAAM,EAAEA,MAAO;AAACmuB,UAAAA,MAAM,EAAEA,MAAO;AAACC,UAAAA,YAAY,EAAEA,YAAa;AAAClnB,UAAAA,YAAY,EAAEA,YAAa;AAACgG,UAAAA,YAAY,EAAEA,YAAa;AAACmhB,UAAAA,YAAY,EAAEA,YAAAA;SAAe,CAAC,EAC7N1H,YAAY,CAAA;AAAA,OACV,CAAC,GAENA,YAAAA;KAEgB,CAAC,EACpBiN,gBAAgB,gBAAG5yB,cAAA,CAACszB,eAAU,EAAA7oB,QAAA,CAAA;MAACtK,SAAS,EAAE/B,OAAK,CAAC,YAAY,CAAA;AAAE,KAAA,EAAKw0B,gBAAgB,CAAG,CAAC,GAAG,IAAI,CAAA;AAAA,GAC5F,CAAC,CAAA;AAEV,CACF,CAAC,CAAA;AAED,MAAMW,cAAc,GAAGC,oBAAS,CAACxD,qBAAqB,CAAC,CAAA;AAEjDyD,MAAAA,SAAS,gBAAG/H,gBAAU,CAAC,CAAAnhB,KAAA,EAA0E0M,GAAG,KAAK;AAAA,EAAA,IAA/EkL,UAAU,GAAA5X,KAAA,CAAV4X,UAAU;IAAAuR,qBAAA,GAAAnpB,KAAA,CAAE4mB,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAuC,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAEtC,kBAAkB,GAAA7mB,KAAA,CAAlB6mB,kBAAkB;AAAKrhB,IAAAA,KAAK,GAAA3H,6BAAA,CAAAmC,KAAA,EAAAopB,UAAA,CAAA,CAAA;AACjGxR,EAAAA,UAAU,GAAGtlB,MAAM,CAACC,MAAM,CACxB,EAAE,EACF;AACEk2B,IAAAA,eAAe,EAAE,IAAI;AACrBC,IAAAA,eAAe,EAAE,IAAI;AACrBF,IAAAA,gBAAgB,EAAE,KAAK;AACvBrZ,IAAAA,IAAI,EAAE,IAAI;AACVsY,IAAAA,UAAU,EAAE,MAAM;AAClBS,IAAAA,WAAW,EAAE,QAAQ;AACrBH,IAAAA,WAAW,EAAE,aAAa;AAC1BI,IAAAA,YAAY,EAAE,SAAS;AACvBI,IAAAA,QAAQ,EAAE,EAAA;GACX,EACD3Q,UACF,CAAC,CAAA;AACD,EAAA,MAAMyR,WAAW,GAAM,CAAC7jB,KAAK,CAAC9S,IAAI,IAAI,QAAQ,EAAE42B,WAAW,EAAE,GAAkB,kBAAA,CAAA;EAC/E,MAAA9Y,UAAA,GAAgC9O,cAAQ,CAAC,MAAA;AAAA,MAAA,IAAA6nB,aAAA,CAAA;MAAA,OAAAA,CAAAA,aAAA,GAAMhF,YAAY,CAAC8E,WAAW,CAAC,KAAA,IAAA,GAAAE,aAAA,GAAI3R,UAAU,CAAC2Q,QAAQ,CAAA;KAAC,CAAA;AAAzFA,IAAAA,QAAQ,GAAA/X,UAAA,CAAA,CAAA,CAAA;AAAEgZ,IAAAA,WAAW,GAAAhZ,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,MAAM8U,MAAM,GAAG9f,KAAK,CAACoS,UAAU,CAAC6P,UAAU,CAAC,CAAA;AAC3C,EAAA,MAAMgC,mBAAmB,GAAGznB,aAAO,CAAC,MAAM;AAAA,IAAA,IAAA0nB,aAAA,CAAA;AACxC,IAAA,IAAI,GAAAA,aAAA,GAAClkB,KAAK,CAAC/Q,MAAM,KAAAi1B,IAAAA,IAAAA,CAAAA,aAAA,GAAZA,aAAA,CAAcl3B,YAAY,KAAA,IAAA,IAA1Bk3B,aAAA,CAA4Bh1B,MAAM,CAAE,EAAA;AACvC,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;IACA,MAAM2yB,cAAc,GAAG7hB,KAAK,CAAC/Q,MAAM,CAAC4yB,cAAc,IAAIC,0BAAc,CAAA;AACpE,IAAA,OAAOD,cAAc,CAAC7hB,KAAK,CAAC/Q,MAAM,CAACjC,YAAY,CAAC,CAAA;AAClD,GAAC,EAAE,CAACgT,KAAK,CAAC/Q,MAAM,CAAC,CAAC,CAAA;AAClB,EAAA,MAAMk1B,WAAW,GAAG3nB,aAAO,CAAC,MAAM;IAChC,OAAO;AACL,MAAA,CAAC4V,UAAU,CAAC6P,UAAU,GAAGn1B,MAAM,CAACC,MAAM,CAAC,EAAE,EAAE+yB,MAAM,EAAEmE,mBAAmB,EAAE;QACtE,CAAC7R,UAAU,CAACuQ,YAAY,GAAGI,QAAAA;OAC5B,CAAA;KACF,CAAA;AACH,GAAC,EAAE,CAACjD,MAAM,EAAE1N,UAAU,CAACuQ,YAAY,EAAEvQ,UAAU,CAAC6P,UAAU,EAAEc,QAAQ,EAAEkB,mBAAmB,CAAC,CAAC,CAAA;EAC3F,oBACEh0B,cAAA,CAACuzB,cAAc,EAAA9oB,QAAA,CACTsF,EAAAA,EAAAA,KAAK,EACLmkB,WAAW,EAAA;AACf/C,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,IAAAA,kBAAkB,EAAEA,kBAAmB;IACvCjP,UAAU,EAAEtlB,MAAM,CAACC,MAAM,CAAC,EAAE,EAAEqlB,UAAU,EAAE;MACxC2Q,QAAQ;AACRH,MAAAA,gBAAgB,EAAEA,CAAC5hB,OAAO,EAAE1N,IAAI,KAAK;AACnC,QAAA,MAAM8wB,QAAQ,GAAG33B,MAAM,CAAC6G,IAAI,CAAC,CAAA;AAC7B0rB,QAAAA,aAAa,CAAC6E,WAAW,EAAEO,QAAQ,CAAC,CAAA;QACpCJ,WAAW,CAACI,QAAQ,CAAC,CAAA;AACvB,OAAA;AACF,KAAC,CAAE;AACHld,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,CACV,CAAC,CAAA;AAEN,CAAC;;AClWKmd,MAAAA,MAAM,GAAGrkB,KAAK,IAAI;EACtB,MAAMggB,IAAI,GAAGsE,yBAAK,CAAC,EAAE,EAAEh1B,YAAY,EAAE0Q,KAAK,CAAC,CAAA;AAC3CskB,EAAAA,yBAAK,CAACh1B,YAAY,EAAE0Q,KAAK,CAAC,CAAA;AAC1B,EAAA,OAAOggB,IAAI,CAAA;AACb;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/dayjs/dayjs.min.js","../src/formatView.js","../src/globalParams.js","../src/renderType/default.js","../src/Ellipsis.js","../src/renderType/main.js","../src/renderType/amount.js","../src/renderType/tagUtils.js","../src/renderType/tag.js","../src/renderType/tagList.js","../src/renderType/statusUtils.js","../src/renderType/status.js","../src/renderType/list.js","../src/TableView/columnWidth.js","../src/renderType/options.js","../src/renderType/enum.js","../src/renderType/description.js","../src/renderType/index.js","../src/columnRenderType.js","../src/computeColumnsValue.js","../src/useSelectedRow.js","../src/columnHeaderTitle.js","../src/useSort.js","../src/locale/zh-CN.js","../src/locale/en-US.js","../src/withLocale.js","../src/ColumnsControlContent.js","../src/tableLocalApis.js","../src/columnConfigExtra.js","../src/useTableConfig.js","../src/useGroupHeader.js","../src/useElementWidth.js","../src/renderCellContent.js","../src/Table/index.js","../src/Label.js","../src/TableView/Header.js","../src/TableView/index.js","../src/TablePage/scrollUtils.js","../src/TablePage/HorizontalScroller.js","../src/TablePage/TableToolbar.js","../src/TablePage/index.js","../src/preset.js"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),Y=_.prototype;return O.prototype=Y,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){Y[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs';\nimport { isEmpty } from '@kne/is-empty';\nimport groupBy from 'lodash/groupBy';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\n\nexport const calcArgs = (args, template) => {\n const { attr, normal } = groupBy(args, item => (/^.+:.+$/.test(item) ? 'attr' : 'normal'));\n const output = {};\n\n const typeTransform = (value, type) => {\n if (type === 'string') {\n return String(value);\n }\n if (type === 'number') {\n return Number(value);\n }\n if (type === 'boolean') {\n return value === 'true';\n }\n return value;\n };\n\n (normal || []).forEach((target, index) => {\n const currentTemplate = Object.assign({}, { type: 'string', defaultValue: '' }, get(template, index));\n if (currentTemplate.name && target) {\n output[currentTemplate.name] = typeTransform(target, currentTemplate.type);\n }\n });\n\n (attr || []).forEach(target => {\n const [key, value] = target.split(':');\n const currentTemplate = template.find(item => item.name === key);\n if (!currentTemplate) {\n return;\n }\n const { name, type } = Object.assign({}, { type: 'string', defaultValue: '' }, currentTemplate);\n output[name] = typeTransform(value, type);\n });\n\n return Object.assign(\n {},\n transform(\n template,\n (result, value) => {\n if (value.name && value.hasOwnProperty('defaultValue')) {\n result[value.name] = value.defaultValue;\n }\n },\n {}\n ),\n output\n );\n};\n\nexport const defaultFormat = {\n date: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD';\n return dayjs(value).format(template);\n },\n datetime: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD HH:mm:ss';\n return dayjs(value).format(template);\n },\n dateRange: (value, { args }) => {\n const template = args[0] || 'YYYY-MM-DD',\n allowNull = args[1];\n if (!isEmpty(value[0]) && !isEmpty(value[1])) {\n return `${dayjs(value[0]).format(template)}~${dayjs(value[1]).format(template)}`;\n }\n if (allowNull === 'allow' && !isEmpty(value[0])) {\n return `${dayjs(value[0]).format(template)}以后`;\n }\n if (allowNull === 'allow' && !isEmpty(value[1])) {\n return `${dayjs(value[1]).format(template)}以前`;\n }\n return '';\n },\n boolean: (value, { args }) => {\n const trueValue = args[0] || 'true';\n if ((value || '').toString() === trueValue) {\n return '是';\n }\n return '否';\n },\n number: (value, { args }) => {\n const { style, unit, maximumFractionDigits, useGrouping, roundingMode, suffix } = calcArgs(args, [\n {\n name: 'style',\n type: 'string',\n defaultValue: 'decimal'\n },\n {\n name: 'unit',\n type: 'number',\n defaultValue: 1\n },\n {\n name: 'maximumFractionDigits',\n type: 'number',\n defaultValue: 2\n },\n {\n name: 'useGrouping',\n type: 'boolean',\n defaultValue: true\n },\n {\n name: 'roundingMode',\n type: 'string',\n defaultValue: 'halfExpand'\n },\n {\n name: 'suffix',\n type: 'string',\n defaultValue: ''\n }\n ]);\n\n return (\n new Intl.NumberFormat(\n {},\n {\n style,\n maximumFractionDigits,\n roundingMode,\n useGrouping\n }\n ).format(value / unit) + suffix\n );\n },\n money: (value, { args }) => {\n const unit = args[0] || '元';\n return `${value}${unit}`;\n }\n};\n\nconst formatView = (value, format, context) => {\n if (!format) {\n return value;\n }\n const formatList = format.split(' ').filter(item => !!item);\n if (formatList.length > 0) {\n return formatList.reduce((value, format) => {\n const [name, ...args] = format.split('-');\n if (typeof defaultFormat[name] === 'function') {\n return defaultFormat[name](\n value,\n Object.assign({}, context, {\n args: args.map(item => {\n return item && item.replace(/\\(\\)/g, ' ').replace(/\\(_\\)/g, '-');\n })\n })\n );\n }\n return value;\n }, value);\n }\n};\n\nexport default formatView;\n","export const globalParams = {\n renderType: null,\n renderTypeSize: {},\n tagTypeColors: {},\n statusTypeColors: {}\n};\n","const defaultRender = value => value;\n\nexport default defaultRender;\n","import React from 'react';\nimport { Typography } from 'antd';\nimport style from './ellipsis.module.scss';\n\nconst Ellipsis = ({ children, ellipsis }) => {\n if (!ellipsis) {\n return children;\n }\n\n const userConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const { showTitle, ...rest } = userConfig;\n\n return (\n <Typography.Text\n className={style['ellipsis']}\n ellipsis={Object.assign(\n {},\n {\n tooltip:\n showTitle === false\n ? false\n : {\n rootClassName: style['tooltip']\n }\n },\n rest\n )}\n >\n {children}\n </Typography.Text>\n );\n};\n\nexport default Ellipsis;\n","import React, { useState } from 'react';\nimport { Tooltip } from 'antd';\nimport classnames from 'classnames';\nimport Ellipsis from '../Ellipsis';\nimport ellipsisStyle from '../ellipsis.module.scss';\nimport style from './main.module.scss';\n\nconst MainCell = ({ value, column, dataSource }) => {\n const { ellipsis = true, hover = true, primary = true, onClick } = column || {};\n const [loading, setLoading] = useState(false);\n const isClickable = Boolean(hover || primary || onClick);\n\n if (!isClickable) {\n return <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>;\n }\n\n const ellipsisConfig = typeof ellipsis === 'object' ? ellipsis : {};\n const showTooltip = ellipsis && ellipsisConfig.showTitle !== false;\n\n const handleClick = onClick\n ? e => {\n if (loading) {\n return;\n }\n setLoading(true);\n Promise.resolve(onClick({ item: value, colItem: dataSource, event: e })).finally(() => {\n setLoading(false);\n });\n }\n : undefined;\n\n const text = (\n <span\n className={classnames(style['text'], ellipsis && style['ellipsis'], {\n [style['hover']]: hover,\n [style['primary']]: primary,\n [style['clickable']]: Boolean(onClick),\n [style['loading']]: loading\n })}\n onClick={handleClick}\n >\n {value}\n </span>\n );\n\n if (!showTooltip) {\n return text;\n }\n\n return (\n <Tooltip title={value} rootClassName={ellipsisStyle['tooltip']}>\n {text}\n </Tooltip>\n );\n};\n\nconst main = (value, { column, dataSource } = {}) => <MainCell value={value} column={column} dataSource={dataSource} />;\n\nexport default main;\n","import React from 'react';\nimport Ellipsis from '../Ellipsis';\nimport style from './amount.module.scss';\n\nconst amount = (value, { column } = {}) => {\n const { ellipsis = true } = column || {};\n\n return (\n <span className={style['amount']}>\n <Ellipsis ellipsis={ellipsis}>{value}</Ellipsis>\n </span>\n );\n};\n\nexport default amount;\n","import React from 'react';\nimport { Space, Tag } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_TAG_TYPE_COLORS = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'blue',\n other: 'purple',\n skill: 'default',\n result: 'default',\n filterResult: 'cyan',\n completed: 'success',\n pending: 'warning',\n high: 'error',\n medium: 'warning',\n low: 'default'\n};\n\nexport const getTagColor = type => {\n if (!type) {\n return 'default';\n }\n const customColors = globalParams.tagTypeColors || {};\n return customColors[type] || DEFAULT_TAG_TYPE_COLORS[type] || type;\n};\n\nexport const normalizeTagItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderTagItem = (item, key) => {\n const tag = normalizeTagItem(item);\n if (!tag || (tag.text == null && tag.children == null)) {\n return null;\n }\n\n const { text, type, color, children, ...rest } = tag;\n\n return (\n <Tag key={key} color={color ?? getTagColor(type)} {...rest}>\n {children ?? text}\n </Tag>\n );\n};\n\nexport const renderTagList = value => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n return (\n <Space size={[4, 4]} wrap>\n {value.map((item, index) => renderTagItem(item, index))}\n </Space>\n );\n};\n","import { renderTagItem } from './tagUtils';\n\nconst tag = value => renderTagItem(value);\n\nexport default tag;\n","import { renderTagList } from './tagUtils';\n\nconst tagList = value => renderTagList(value);\n\nexport default tagList;\n","import React from 'react';\nimport { Badge } from 'antd';\nimport { globalParams } from '../globalParams';\n\nconst DEFAULT_STATUS_TYPE_MAP = {\n default: 'default',\n success: 'success',\n progress: 'processing',\n processing: 'processing',\n danger: 'error',\n error: 'error',\n warning: 'warning',\n info: 'processing',\n other: 'default',\n active: 'success',\n vacation: 'warning',\n resigned: 'default',\n probation: 'processing',\n completed: 'success',\n pending: 'warning',\n shipped: 'processing',\n paid: 'success',\n cancelled: 'error'\n};\n\nexport const getStatusType = type => {\n if (!type) {\n return 'default';\n }\n const customTypes = globalParams.statusTypeColors || {};\n return customTypes[type] || DEFAULT_STATUS_TYPE_MAP[type] || type;\n};\n\nexport const normalizeStatusItem = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'string' || typeof item === 'number') {\n return { text: String(item) };\n }\n if (typeof item === 'object') {\n return Object.assign({}, item, {\n text: item.text ?? item.children ?? item.label\n });\n }\n return null;\n};\n\nexport const renderStatusItem = item => {\n const statusItem = normalizeStatusItem(item);\n if (!statusItem || statusItem.text == null) {\n return null;\n }\n\n const { text, type, status, color, children, ...rest } = statusItem;\n\n return <Badge status={status ?? color ?? getStatusType(type)} text={children ?? text} {...rest} />;\n};\n","import { renderStatusItem } from './statusUtils';\n\nconst status = value => renderStatusItem(value);\n\nexport default status;\n","const DEFAULT_SPLIT = ',';\n\nconst normalizeListValue = value => {\n if (Array.isArray(value)) {\n return { items: value, split: undefined };\n }\n if (value && typeof value === 'object') {\n const items = value.items ?? value.list ?? value.value;\n if (Array.isArray(items)) {\n return { items, split: value.split };\n }\n }\n return null;\n};\n\nconst getListItemText = item => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'object') {\n return item.text ?? item.label ?? item.children ?? item.value;\n }\n return item;\n};\n\nconst list = (value, { column } = {}) => {\n const normalized = normalizeListValue(value);\n if (!normalized) {\n return value == null ? null : value;\n }\n\n const split = normalized.split ?? column?.split ?? DEFAULT_SPLIT;\n const text = normalized.items\n .map(getListItemText)\n .filter(item => item != null && item !== '')\n .join(split);\n\n return text || null;\n};\n\nexport default list;\n","import { resolveColumnDimensions } from '../columnRenderType';\n\nexport const SELECTION_CHECKBOX_WIDTH = 48;\nexport const SELECTION_RADIO_WIDTH = 30;\nexport const DEFAULT_COLUMN_WIDTH = 300;\n\nexport const parseColumnWidth = width => {\n if (width == null) {\n return 0;\n }\n if (typeof width === 'number' && !Number.isNaN(width)) {\n return width;\n }\n if (typeof width === 'string') {\n const trimmed = width.trim();\n const pxMatch = trimmed.match(/^([\\d.]+)px$/i);\n if (pxMatch) {\n return parseFloat(pxMatch[1]);\n }\n const num = parseFloat(trimmed);\n if (!Number.isNaN(num)) {\n return num;\n }\n }\n return 0;\n};\n\nexport const getResolvedColumnWidth = column => resolveColumnDimensions(column).width;\n\nexport const hasColumnSpan = column => column.span != null;\n\nexport const getConfiguredColumnWidthPx = column => parseColumnWidth(column.width != null ? column.width : getResolvedColumnWidth(column));\n\nexport const usesDefaultColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (column.width != null) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return false;\n }\n return !columns.some(hasColumnSpan);\n};\n\nexport const hasColumnWidth = (column, columns) => {\n if (hasColumnSpan(column)) {\n return false;\n }\n if (getConfiguredColumnWidthPx(column) > 0) {\n return true;\n }\n return usesDefaultColumnWidth(column, columns);\n};\n\nexport const shouldLastColumnFillRemaining = columns => !columns.some(hasColumnSpan);\n\nexport const getColumnWidthPx = (column, colsSize = {}, columns = []) => {\n if (hasColumnSpan(column)) {\n return colsSize[column.name] || 0;\n }\n const configured = getConfiguredColumnWidthPx(column);\n if (configured > 0) {\n return configured;\n }\n if (usesDefaultColumnWidth(column, columns)) {\n const measured = colsSize[column.name] || 0;\n return Math.max(DEFAULT_COLUMN_WIDTH, measured);\n }\n return colsSize[column.name] || 0;\n};\n\nexport const formatColumnWidthPx = px => `${px}px`;\n\nexport const getColumnTrackSize = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n if (hasColumnWidth(column, columns)) {\n if (isLastColumn && shouldLastColumnFillRemaining(columns)) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n return `${widthPx}px`;\n }\n if (widthPx > 0) {\n return `minmax(${widthPx}px, 1fr)`;\n }\n const span = column.span ?? defaultSpan ?? 1;\n return `minmax(0, ${span}fr)`;\n};\n\nexport const getGridTemplateColumns = (columns, { defaultSpan, colsSize, rowSelection } = {}) => {\n const tracks = [];\n const lastColumnIndex = columns.length - 1;\n\n if (rowSelection?.type === 'checkbox') {\n tracks.push(`${SELECTION_CHECKBOX_WIDTH}px`);\n }\n\n columns.forEach((column, index) => {\n tracks.push(\n getColumnTrackSize(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === lastColumnIndex,\n columns\n })\n );\n });\n\n if (rowSelection?.type === 'radio') {\n tracks.push(`${SELECTION_RADIO_WIDTH}px`);\n }\n\n return tracks.join(' ');\n};\n\nexport const getColumnLayout = (column, { defaultSpan, colsSize, isLastColumn, columns } = {}) => {\n const widthBased = hasColumnWidth(column, columns);\n const widthPx = getColumnWidthPx(column, colsSize, columns);\n const fillRemaining = isLastColumn && widthBased && shouldLastColumnFillRemaining(columns);\n\n return {\n widthBased,\n fillRemaining,\n style: {\n '--col-width': formatColumnWidthPx(widthPx),\n '--col-align': column.align || 'top',\n '--col-justify': column.justify || 'flex-start'\n }\n };\n};\n","import React from 'react';\nimport classnames from 'classnames';\nimport ButtonGroup from '@kne/button-group';\nimport '@kne/button-group/dist/index.css';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport style from './options.module.scss';\n\nconst normalizeOptionItem = (item, buttonClassName) => {\n if (item == null) {\n return null;\n }\n if (typeof item === 'function') {\n return item;\n }\n if (typeof item === 'string') {\n return { children: item, type: 'link', className: buttonClassName };\n }\n const { children, label, text, className, ...rest } = item;\n return {\n type: 'link',\n ...rest,\n className: classnames(buttonClassName, className),\n children: children ?? label ?? text\n };\n};\n\nconst options = (value, { column } = {}) => {\n let list = value;\n let buttonGroupProps = column?.buttonGroup || {};\n\n if (value && typeof value === 'object' && !Array.isArray(value) && Array.isArray(value.list)) {\n const { list: valueList, ...rest } = value;\n list = valueList;\n buttonGroupProps = { ...buttonGroupProps, ...rest };\n }\n\n if (!Array.isArray(list) || list.length === 0) {\n return null;\n }\n\n const wrapperClassName = classnames(style['col-item'], style['options']);\n const buttonClassName = classnames(wrapperClassName, style['options-btn']);\n const normalizedList = list.map(item => normalizeOptionItem(item, buttonClassName)).filter(item => item != null && !item.hidden);\n\n if (normalizedList.length === 0) {\n return null;\n }\n\n const width = parseColumnWidth(column?.width);\n\n return (\n <div className={classnames(wrapperClassName, style['options-column'])} style={width > 0 ? { '--max-width': `${width}px` } : undefined}>\n <ButtonGroup moreType=\"link\" itemClassName=\"btn-no-padding\" list={normalizedList} {...buttonGroupProps} />\n </div>\n );\n};\n\nexport default options;\n","import tag from './tag';\n\nconst enumRender = value => tag(value);\n\nexport default enumRender;\n","const description = value => value;\n\nexport default description;\n","import defaultRender from './default';\nimport main from './main';\nimport amount from './amount';\nimport tag from './tag';\nimport tagList from './tagList';\nimport status from './status';\nimport list from './list';\nimport options from './options';\nimport enumRender from './enum';\nimport description from './description';\nimport { globalParams } from '../globalParams';\n\nconst renderType = {\n default: defaultRender,\n main,\n amount,\n tag,\n tagList,\n status,\n list,\n options,\n enum: enumRender,\n description\n};\n\nglobalParams.renderType = renderType;\n\nexport default renderType;\n\nexport { getTagColor, normalizeTagItem, renderTagItem, renderTagList } from './tagUtils';\nexport { getStatusType, normalizeStatusItem, renderStatusItem } from './statusUtils';\n","import { globalParams } from './globalParams';\nimport './renderType';\n\nexport const SIZE_NAMES = ['short', 'small', 'large'];\n\nconst typeSize = {\n main: {\n width: 300,\n min: 160,\n max: 500,\n ellipsis: true\n },\n amount: {\n width: 140,\n min: 100,\n max: 300,\n ellipsis: true\n },\n options: {\n width: 180,\n min: 120,\n max: 400\n },\n enum: {\n width: 140,\n min: 100,\n max: 400\n },\n tag: {\n width: 140,\n min: 100,\n max: 400\n },\n status: {\n width: 100,\n min: 80,\n max: 140\n },\n tagList: {\n width: 300,\n min: 160,\n max: 500\n },\n list: {\n width: 200,\n min: 120,\n max: 400,\n ellipsis: true\n },\n description: {\n width: 400,\n min: 160,\n max: 600,\n ellipsis: true\n }\n};\n\nconst SIZE_CONFIG = {\n short: {\n width: 120,\n min: 100,\n max: 400\n },\n small: {\n width: 100,\n min: 70,\n max: 400\n },\n default: {\n width: 300,\n min: 160,\n max: 500\n },\n large: {\n width: 300,\n min: 120,\n max: 500\n }\n};\n\nconst getRenderTypeRegistry = () => {\n const { default: defaultRender, ...renderers } = globalParams.renderType || {};\n return { defaultRender, renderers };\n};\n\nexport const getRenderTypeNames = () => Object.keys(getRenderTypeRegistry().renderers);\n\nexport const RENDER_TYPE_NAMES = getRenderTypeNames();\n\nconst getRender = type => {\n const { defaultRender, renderers } = getRenderTypeRegistry();\n return renderers[type] || defaultRender;\n};\n\nexport const getColumnRender = column => {\n if (typeof column?.render === 'function') {\n return column.render;\n }\n const { type } = parseRenderType(column?.renderType);\n if (!type) {\n return null;\n }\n return getRender(type);\n};\n\nconst getTypeConfigMap = () => {\n const extraTypeSize = globalParams.renderTypeSize || {};\n\n return getRenderTypeNames().reduce((result, key) => {\n result[key] = Object.assign({}, typeSize[key], extraTypeSize[key], { render: getRender(key) });\n return result;\n }, {});\n};\n\nconst pickDimension = (columnValue, typeValue, sizeValue) => {\n if (columnValue != null) {\n return columnValue;\n }\n if (sizeValue != null) {\n return sizeValue;\n }\n if (typeValue != null) {\n return typeValue;\n }\n return undefined;\n};\n\nexport const parseRenderType = renderTypeValue => {\n if (!renderTypeValue || typeof renderTypeValue !== 'string') {\n return { type: null, size: null };\n }\n\n const renderTypeNames = getRenderTypeNames();\n let type = null;\n let size = null;\n\n renderTypeValue.split('-').forEach(part => {\n if (!part) {\n return;\n }\n if (renderTypeNames.includes(part)) {\n type = part;\n return;\n }\n if (SIZE_NAMES.includes(part)) {\n size = part;\n }\n });\n\n return { type, size };\n};\n\nexport const getRenderTypeDimensions = renderTypeValue => {\n const { type, size } = parseRenderType(renderTypeValue);\n const typeConfigMap = getTypeConfigMap();\n const typeConfig = type ? typeConfigMap[type] : null;\n const sizeConfig = size ? SIZE_CONFIG[size] : null;\n\n if (!typeConfig && !sizeConfig) {\n return null;\n }\n\n return {\n type,\n size,\n typeConfig,\n sizeConfig,\n render: typeConfig?.render,\n ellipsis: typeConfig?.ellipsis\n };\n};\n\nexport const resolveColumnDimensions = column => {\n const renderTypeDimensions = column?.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const typeConfig = renderTypeDimensions?.typeConfig;\n const sizeConfig = renderTypeDimensions?.sizeConfig;\n\n return {\n width: pickDimension(column?.width, typeConfig?.width, sizeConfig?.width),\n min: pickDimension(column?.min, typeConfig?.min, sizeConfig?.min),\n max: pickDimension(column?.max, typeConfig?.max, sizeConfig?.max)\n };\n};\n\nexport const resolveRenderType = renderTypeValue => {\n const renderTypeDimensions = getRenderTypeDimensions(renderTypeValue);\n if (!renderTypeDimensions) {\n return null;\n }\n\n const { type, size, render, ellipsis, typeConfig, sizeConfig } = renderTypeDimensions;\n\n return {\n type,\n size,\n render,\n ellipsis,\n width: sizeConfig?.width ?? typeConfig?.width,\n min: sizeConfig?.min ?? typeConfig?.min,\n max: sizeConfig?.max ?? typeConfig?.max\n };\n};\n\nconst ELLIPSIS_HANDLED_TYPES = ['main', 'amount'];\nconst FULL_WIDTH_CELL_TYPES = ['options'];\n\nexport const resolveColumn = column => {\n if (!column) {\n return column;\n }\n\n const renderTypeDimensions = column.renderType ? getRenderTypeDimensions(column.renderType) : null;\n const { width, min, max } = resolveColumnDimensions(column);\n const { ellipsis, type } = renderTypeDimensions || {};\n const renderFn = getColumnRender(column);\n\n return Object.assign({}, column, {\n ...(renderFn && typeof column.render !== 'function' ? { render: renderFn } : {}),\n ...(column.width == null && width != null ? { width } : {}),\n ...(column.min == null && min != null ? { min } : {}),\n ...(column.max == null && max != null ? { max } : {}),\n ...(column.ellipsis == null && ellipsis != null ? { ellipsis } : {}),\n ...(type && ELLIPSIS_HANDLED_TYPES.includes(type) ? { ellipsisHandledByRender: true } : {}),\n ...(type && FULL_WIDTH_CELL_TYPES.includes(type) ? { cellFullWidth: true } : {}),\n ...(column.type === 'options' && !type ? { cellFullWidth: true } : {}),\n ...(type === 'options' && column.type !== 'options' ? { type: 'options' } : {})\n });\n};\n\nexport const resolveColumns = columns => (columns || []).map(resolveColumn);\n\nexport const isOptionsColumn = column => {\n if (column?.type === 'options') {\n return true;\n }\n return parseRenderType(column?.renderType).type === 'options';\n};\n","import get from 'lodash/get';\nimport formatView from './formatView';\nimport { getColumnRender } from './columnRenderType';\n\nconst computeColumnsValue = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty = true, dataSource, context }) => {\n return (output => (removeEmpty ? output.filter(item => !!item) : output))(\n columns.map(item => {\n const itemValue = typeof item.getValueOf === 'function' ? item.getValueOf(dataSource, { column: item, context }) : get(dataSource, item.name);\n const displayValue = (value => {\n if (typeof item.format === 'function') {\n return item.format(value, { dataSource, column: item, context });\n }\n if (typeof item.format === 'string') {\n const formatValue = formatView(value, item.format, { dataSource, column: item, context });\n if (formatValue) {\n return formatValue;\n }\n }\n return value;\n })(itemValue);\n\n const itemIsEmpty = (item.valueIsEmpty || valueIsEmpty)(itemValue);\n\n if (\n item.display === false ||\n (typeof item.display === 'function' &&\n item.display(itemValue, {\n dataSource,\n column: item,\n context\n }) === false)\n ) {\n return null;\n }\n\n if (!(item.hasOwnProperty('emptyIsPlaceholder') ? item.emptyIsPlaceholder : emptyIsPlaceholder) && itemIsEmpty) {\n return null;\n }\n\n return Object.assign({}, item, { isEmpty: itemIsEmpty, value: displayValue });\n })\n );\n};\n\nexport const computeDisplay = ({ column, dataSource, placeholder, context }) => {\n if (column.isEmpty) {\n return typeof column.renderPlaceholder === 'function'\n ? column.renderPlaceholder({\n column: column,\n dataSource,\n placeholder,\n context\n })\n : column.placeholder || placeholder;\n }\n\n const render = getColumnRender(column);\n\n return typeof render === 'function'\n ? render(column.value, {\n column,\n dataSource,\n context\n })\n : column.value;\n};\n\nexport const computeColumnsDisplay = ({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, placeholder, context }) => {\n return computeColumnsValue({ columns, emptyIsPlaceholder, valueIsEmpty, removeEmpty, dataSource, context }).map(column => {\n return computeDisplay({ column, placeholder, dataSource, context });\n });\n};\n\ncomputeColumnsValue.computeDisplay = computeDisplay;\ncomputeColumnsValue.computeColumnsDisplay = computeColumnsDisplay;\n\nexport default computeColumnsValue;\n","import { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\n\nconst useSelectedRow = options => {\n const { rowKey, type = 'checkbox' } = Object.assign({}, { rowKey: 'id' }, options);\n const [selectedRows, setSelectedRows] = useState([]);\n\n const getRowId = useCallback(item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey), [rowKey]);\n\n const selectedRowKeys = useMemo(() => selectedRows.map(getRowId), [getRowId, selectedRows]);\n\n const setSelectedRowKeys = useCallback(\n (keys, dataSource = []) => {\n const keySet = new Set(keys || []);\n setSelectedRows((dataSource || []).filter(item => keySet.has(getRowId(item))));\n },\n [getRowId]\n );\n\n const clearSelectedRows = useCallback(() => {\n setSelectedRows([]);\n }, []);\n\n const onSelectAll = useCallback(\n (checked, _selected, items) => {\n const ids = (items || []).map(getRowId);\n if (checked) {\n setSelectedRows(value => {\n const existingKeys = value.map(getRowId);\n return [...value, ...(items || []).filter(item => existingKeys.indexOf(getRowId(item)) === -1)];\n });\n } else {\n setSelectedRows(value => {\n return value.filter(item => ids.indexOf(getRowId(item)) === -1);\n });\n }\n },\n [getRowId]\n );\n\n const onSelect = useCallback(\n (item, checked) => {\n if (checked) {\n if (type === 'radio') {\n setSelectedRows([item]);\n return;\n }\n setSelectedRows(value => {\n const newValue = value.slice(0);\n newValue.push(item);\n return newValue;\n });\n } else {\n setSelectedRows(value => {\n const newValue = value.slice(0);\n const index = newValue.findIndex(row => getRowId(row) === getRowId(item));\n if (index > -1) {\n newValue.splice(index, 1);\n }\n return newValue;\n });\n }\n },\n [getRowId, type]\n );\n\n const getRowSelection = useCallback(\n (dataSource, extra = {}) => {\n const onChange = (keys, id, meta) => {\n setSelectedRowKeys(keys, dataSource);\n extra.onChange && extra.onChange(keys, id, meta);\n };\n\n return Object.assign(\n {\n type,\n selectedRowKeys,\n allowSelectedAll: type === 'checkbox',\n onChange\n },\n extra\n );\n },\n [selectedRowKeys, setSelectedRowKeys, type]\n );\n\n return {\n type,\n selectedRowKeys,\n selectedRows,\n onSelectAll,\n onSelect,\n setSelectedRows,\n setSelectedRowKeys,\n clearSelectedRows,\n getRowSelection\n };\n};\n\nexport default useSelectedRow;\n","import React from 'react';\nimport Ellipsis from './Ellipsis';\nimport style from './columnHeaderTitle.module.scss';\n\nconst isSimpleTitle = title => typeof title === 'string' || typeof title === 'number';\n\nexport const wrapColumnHeaderTitle = title => {\n if (title == null || title === '') {\n return title;\n }\n if (isSimpleTitle(title)) {\n return <Ellipsis ellipsis>{title}</Ellipsis>;\n }\n return <span className={style['ellipsis']}>{title}</span>;\n};\n","import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport clone from 'lodash/clone';\nimport { useCallback, useMemo, useState } from 'react';\nimport get from 'lodash/get';\nimport style from './sort.module.scss';\nimport { wrapColumnHeaderTitle } from './columnHeaderTitle';\n\nconst sortArrayToMap = sort =>\n new Map(\n (sort || []).map(item => {\n return [item.name, item.sort];\n })\n );\n\nconst useControlValue = ({ value, defaultValue, onChange }) => {\n const [internalValue, setInternalValue] = useState(defaultValue);\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const setValue = useCallback(\n updater => {\n const nextValue = typeof updater === 'function' ? updater(currentValue) : updater;\n if (!isControlled) {\n setInternalValue(nextValue);\n }\n onChange && onChange(nextValue);\n },\n [currentValue, isControlled, onChange]\n );\n\n return [currentValue, setValue];\n};\n\nconst compareValues = (a, b, direction) => {\n const emptyA = a == null || a === '';\n const emptyB = b == null || b === '';\n if (emptyA && emptyB) {\n return 0;\n }\n if (emptyA) {\n return 1;\n }\n if (emptyB) {\n return -1;\n }\n if (typeof a === 'number' && typeof b === 'number') {\n return direction === 'ASC' ? a - b : b - a;\n }\n const strA = String(a);\n const strB = String(b);\n return direction === 'ASC' ? strA.localeCompare(strB, 'zh-CN') : strB.localeCompare(strA, 'zh-CN');\n};\n\nexport const sortDataSource = (dataSource, sort = [], columns = []) => {\n if (!sort?.length || !dataSource?.length) {\n return dataSource;\n }\n const columnMap = new Map(columns.map(column => [column.name, column]));\n return [...dataSource].sort((a, b) => {\n for (const { name, sort: direction } of sort) {\n const column = columnMap.get(name) || { name };\n const aVal = typeof column.getValueOf === 'function' ? column.getValueOf(a, { column }) : get(a, name);\n const bVal = typeof column.getValueOf === 'function' ? column.getValueOf(b, { column }) : get(b, name);\n const result = compareValues(aVal, bVal, direction);\n if (result !== 0) {\n return result;\n }\n }\n return 0;\n });\n};\n\nexport const getSortSingle = sortOption => {\n if (typeof sortOption === 'object') {\n return sortOption.single !== false;\n }\n return true;\n};\n\nexport const renderColumnTitle = (title, column, sortRender) => {\n const titleContent = wrapColumnHeaderTitle(title);\n\n if (!column.sort || typeof sortRender !== 'function') {\n return titleContent;\n }\n return (\n <span className={classnames(style['title'], style['has-sort'])}>\n <span className={style['title-text']}>{titleContent}</span>\n {sortRender({\n name: column.name,\n single: getSortSingle(column.sort)\n })}\n </span>\n );\n};\n\nconst useSort = (props = {}) => {\n const [sort, setSort] = useControlValue({\n value: props.sort,\n defaultValue: props.defaultSort || [],\n onChange: props.onSortChange\n });\n\n const mapSort = useMemo(() => {\n return sortArrayToMap(sort);\n }, [sort]);\n\n const setMapSort = useCallback(\n callback => {\n return setSort(currentSort => {\n const newSort = callback(sortArrayToMap(currentSort));\n return Array.from(newSort).map(([name, sortValue]) => ({ name, sort: sortValue }));\n });\n },\n [setSort]\n );\n\n const sortRender = useCallback(\n ({ single, name }) => {\n const direction = mapSort.get(name);\n return (\n <span\n className={style['sort-btn']}\n onClick={e => {\n e.stopPropagation();\n setMapSort(sortMap => {\n const current = sortMap.get(name);\n const targetValue = (() => {\n if (current === 'DESC') {\n return 'ASC';\n }\n if (current === 'ASC') {\n return null;\n }\n return 'DESC';\n })();\n if (single) {\n return new Map(targetValue ? [[name, targetValue]] : []);\n }\n const newSort = clone(sortMap);\n targetValue ? newSort.set(name, targetValue) : newSort.delete(name);\n return newSort;\n });\n }}\n >\n <CaretUpOutlined\n className={classnames(style['sort-icon'], style['sort-up'], {\n [style['active']]: direction === 'ASC'\n })}\n />\n <CaretDownOutlined\n className={classnames(style['sort-icon'], style['sort-down'], {\n [style['active']]: direction === 'DESC'\n })}\n />\n </span>\n );\n },\n [mapSort, setMapSort]\n );\n\n return {\n sort,\n setSort,\n sortRender\n };\n};\n\nuseSort.sortDataSource = sortDataSource;\n\nexport default useSort;\n","const locale = {\n TotalText: '共',\n ItemText: '条',\n UnnamedColumn: '未命名列',\n EditTable: '编辑表格',\n RestoreDefault: '恢复默认',\n VisibleInfo: '显示的信息',\n HiddenInfo: '隐藏的信息',\n Search: '搜索',\n BatchOperations: '批量操作',\n BatchOperationsWithCount: '批量操作(已选:{count}条)',\n Cancel: '取消',\n Confirm: '确定'\n};\n\nexport default locale;\n","const locale = {\n TotalText: 'Total',\n ItemText: 'items',\n UnnamedColumn: 'Unnamed',\n EditTable: 'Edit Table',\n RestoreDefault: 'Restore Default',\n VisibleInfo: 'Visible Columns',\n HiddenInfo: 'Hidden Columns',\n Search: 'Search',\n BatchOperations: 'Batch Actions',\n BatchOperationsWithCount: 'Batch Actions (Selected: {count})',\n Cancel: 'Cancel',\n Confirm: 'Confirm'\n};\n\nexport default locale;\n","import { createWithIntlProvider } from '@kne/react-intl';\nimport filterZhCN from '@kne/react-filter/dist/locale/zh-CN';\nimport filterEnUS from '@kne/react-filter/dist/locale/en-US';\nimport zhCN from './locale/zh-CN';\nimport enUS from './locale/en-US';\n\nconst withLocale = createWithIntlProvider({\n defaultLocale: 'zh-CN',\n messages: {\n 'zh-CN': { ...filterZhCN, ...zhCN },\n 'en-US': { ...filterEnUS, ...enUS }\n },\n namespace: 'table-page'\n});\n\nexport default withLocale;\n","import { useMemo, useState } from 'react';\nimport groupBy from 'lodash/groupBy';\nimport { HolderOutlined, RedoOutlined } from '@ant-design/icons';\nimport style from './columnConfig.module.scss';\nimport { Button, Checkbox, Col, Collapse, Input, List, Row, Tooltip } from 'antd';\nimport { ReactSortable } from 'react-sortablejs';\nimport classnames from 'classnames';\nimport transform from 'lodash/transform';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { useIntl } from '@kne/react-intl';\nimport withLocale from './withLocale';\n\nconst ColumnsControlContent = withLocale(({ close, onConfirm, columns, config: defaultValue }) => {\n const { formatMessage } = useIntl();\n const [config, onChange] = useState(defaultValue || {});\n const [searchText, setSearchText] = useState('');\n const [confirmLoading, setConfirmLoading] = useState(false);\n const [scrollEl, setScrollEl] = useState(null);\n\n const { leftFixedColumns, rightFixedColumns, visibleColumns, hiddenColumns } = useMemo(() => {\n return transform(\n Object.assign(\n {\n leftFixedColumns: [],\n rightFixedColumns: [],\n visibleColumns: [],\n hiddenColumns: []\n },\n groupBy(columns, item => {\n if (item.fixed === 'right') {\n return 'rightFixedColumns';\n }\n if (item.fixed === true || item.fixed === 'left') {\n return 'leftFixedColumns';\n }\n return (get(config, `${item.name}.visible`) !== true && item.hidden) || get(config, `${item.name}.visible`) === false ? 'hiddenColumns' : 'visibleColumns';\n })\n ),\n (result, value, key) => {\n result[key] = value.sort((a, b) => get(config, `${a.name}.rank`, 0) - get(config, `${b.name}.rank`, 0));\n },\n {}\n );\n }, [columns, config]);\n\n const sortableVisibleColumns = useMemo(() => {\n return visibleColumns.map(column => Object.assign({}, column, { id: column.name }));\n }, [visibleColumns]);\n\n const handlerColumnsChange = columnsState => {\n const newConfig = cloneDeep(config);\n const columnsList = [].concat(columnsState.leftFixedColumns, columnsState.visibleColumns, columnsState.rightFixedColumns);\n (columnsState.hiddenColumns || []).forEach(col => {\n set(newConfig, `${col.name}.visible`, false);\n });\n columnsList.forEach((col, index) => {\n set(newConfig, `${col.name}.rank`, index + 1);\n });\n onChange(newConfig);\n };\n\n const renderColumn = item => {\n return (\n <>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n {item.groupHeader && item.groupHeader.length > 0 ? `(${item.groupHeader.map(({ title }) => title).join('-')})` : ''}\n </>\n );\n };\n\n const collapseItems = useMemo(() => {\n return [\n {\n key: 'active',\n label: formatMessage({ id: 'VisibleInfo' }),\n children: (\n <div className={style['columns-control-content-list']}>\n {leftFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `left-${index}`}>\n <Checkbox checked disabled>\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n <ReactSortable\n tag=\"div\"\n className={style['columns-control-sortable-list']}\n list={sortableVisibleColumns}\n filter=\".ignore-elements\"\n dragClass=\"table-page-sortable-drag\"\n ghostClass=\"table-page-sortable-ghost\"\n chosenClass=\"table-page-sortable-chosen\"\n forceFallback\n fallbackOnBody\n scroll={scrollEl || true}\n bubbleScroll\n setList={nextVisibleColumns => {\n handlerColumnsChange({\n leftFixedColumns,\n visibleColumns: nextVisibleColumns,\n hiddenColumns,\n rightFixedColumns\n });\n }}\n animation={300}\n delayOnTouchStart\n delay={2}\n >\n {sortableVisibleColumns.map(item => (\n <div className={classnames(style['columns-control-content-item'], style['is-drag'])} key={item.id}>\n <HolderOutlined className={style['columns-control-content-item-icon']} />\n <Checkbox\n checked\n disabled={item.fixed || leftFixedColumns.length + visibleColumns.length + rightFixedColumns.length <= 1}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: false });\n onChange(newConfig);\n }}\n >\n {renderColumn(item)}\n </Checkbox>\n </div>\n ))}\n </ReactSortable>\n {rightFixedColumns.map((item, index) => (\n <div className={style['columns-control-content-item']} key={item.name || `right-${index}`}>\n <Checkbox checked disabled>\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </div>\n ))}\n </div>\n )\n },\n {\n key: 'un-active',\n label: (\n <Row wrap={false} justify=\"space-between\">\n <Col>{formatMessage({ id: 'HiddenInfo' })}</Col>\n <Col\n onClick={e => {\n e.stopPropagation();\n e.preventDefault();\n }}\n >\n <Input.Search placeholder={formatMessage({ id: 'Search' })} onSearch={value => setSearchText(value)} className={style['columns-control-content-input']} size=\"small\" allowClear />\n </Col>\n </Row>\n ),\n children: (\n <List\n dataSource={hiddenColumns.filter(item => {\n const title = item.titleText || item.title;\n return typeof title === 'string' && title.indexOf(searchText) > -1;\n })}\n renderItem={item => (\n <List.Item className={style['columns-control-content-item']} key={item.name}>\n <Checkbox\n checked={false}\n onChange={e => {\n e.stopPropagation();\n e.preventDefault();\n const newConfig = Object.assign({}, config);\n newConfig[item.name] = Object.assign({}, newConfig[item.name], { visible: true });\n onChange(newConfig);\n }}\n >\n {item.titleText || item.title || formatMessage({ id: 'UnnamedColumn' })}\n </Checkbox>\n </List.Item>\n )}\n />\n )\n }\n ];\n }, [config, formatMessage, hiddenColumns, leftFixedColumns, onChange, rightFixedColumns, scrollEl, searchText, sortableVisibleColumns, visibleColumns.length]);\n\n return (\n <div className={style['columns-control-content']}>\n <div className={style['columns-control-content-title']}>\n <Row align=\"middle\" justify=\"space-between\">\n <Col>{formatMessage({ id: 'EditTable' })}</Col>\n <Col>\n <Tooltip title={formatMessage({ id: 'RestoreDefault' })}>\n <Button\n type=\"text\"\n icon={<RedoOutlined />}\n onClick={async () => {\n onConfirm && (await onConfirm({}));\n close();\n }}\n />\n </Tooltip>\n </Col>\n </Row>\n </div>\n <div className={style['columns-control-content-scroller']} ref={setScrollEl}>\n <Collapse defaultActiveKey={['active', 'un-active']} ghost bordered items={collapseItems} />\n </div>\n <Row className={style['columns-control-content-footer']} justify=\"end\" gutter={10}>\n <Col>\n <Button\n size=\"small\"\n onClick={() => {\n onChange(defaultValue || {});\n close();\n }}\n >\n {formatMessage({ id: 'Cancel' })}\n </Button>\n </Col>\n <Col>\n <Button\n type=\"primary\"\n size=\"small\"\n loading={confirmLoading}\n onClick={async () => {\n setConfirmLoading(true);\n try {\n onConfirm && (await onConfirm(config));\n close();\n } finally {\n setConfirmLoading(false);\n }\n }}\n >\n {formatMessage({ id: 'Confirm' })}\n </Button>\n </Col>\n </Row>\n </div>\n );\n});\n\nexport default ColumnsControlContent;\n","import get from 'lodash/get';\n\nconst storageKey = 'TABLE_PAGE_TABLE_CONFIG';\n\nconst readStorage = () => {\n try {\n return JSON.parse(localStorage.getItem(storageKey) || '{}');\n } catch {\n return {};\n }\n};\n\nconst writeStorage = data => {\n try {\n localStorage.setItem(storageKey, JSON.stringify(data));\n } catch {\n // ignore quota errors\n }\n};\n\nconst getData = name => {\n if (!name) {\n return {};\n }\n return get(readStorage(), name, {});\n};\n\nconst setData = (name, data) => {\n if (!name) {\n return;\n }\n writeStorage(Object.assign({}, readStorage(), { [name]: data }));\n};\n\nconst tableLocalApis = { getData, setData };\n\nexport default tableLocalApis;\n","export const TABLE_CONFIG_COLUMN_EXTRA_WIDTH = 48;\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport transform from 'lodash/transform';\nimport pick from 'lodash/pick';\nimport findLastIndex from 'lodash/findLastIndex';\nimport isEqual from 'lodash/isEqual';\nimport { Col, Popover, Row } from 'antd';\nimport { HolderOutlined, SettingOutlined } from '@ant-design/icons';\nimport { useDebouncedCallback } from 'use-debounce';\nimport ColumnsControlContent from './ColumnsControlContent';\nimport tableLocalApis from './tableLocalApis';\nimport { parseColumnWidth } from './TableView/columnWidth';\nimport configStyle from './columnConfig.module.scss';\nimport { TABLE_CONFIG_COLUMN_EXTRA_WIDTH } from './columnConfigExtra';\nimport { isOptionsColumn } from './columnRenderType';\n\nconst DEFAULT_WIDTH = 160;\nconst DEFAULT_MIN = 80;\nconst DEFAULT_MAX = 600;\n\nexport const getColumnSize = column => {\n const width = parseColumnWidth(column.width) || DEFAULT_WIDTH;\n return {\n width,\n min: column.min ?? DEFAULT_MIN,\n max: column.max ?? DEFAULT_MAX\n };\n};\n\nconst getConfigColumnExtraWidth = (index, columnCount, controllerOpen) => {\n if (!controllerOpen || index !== columnCount - 1) {\n return 0;\n }\n return TABLE_CONFIG_COLUMN_EXTRA_WIDTH;\n};\n\nconst withConfigColumnExtra = (contentWidth, index, columnCount, controllerOpen) => {\n return contentWidth + getConfigColumnExtraWidth(index, columnCount, controllerOpen);\n};\n\nconst TableConfigButton = ({ title, columns, config, setConfig }) => {\n const [open, setOpen] = useState(false);\n return (\n <Row wrap={false} align=\"middle\" className={configStyle['table-config-header']}>\n <Col flex={1} className={configStyle['table-config-header-title']}>\n {title}\n </Col>\n <Col flex=\"none\">\n <Popover\n open={open}\n onOpenChange={setOpen}\n trigger=\"click\"\n placement=\"bottomLeft\"\n rootClassName={configStyle['columns-control-overlay']}\n styles={{ container: { padding: 0 } }}\n content={\n <ColumnsControlContent\n columns={columns}\n config={config}\n close={() => setOpen(false)}\n onConfirm={newConfig => {\n setConfig(configValue => {\n return transform(\n newConfig,\n (result, value, key) => {\n result[key] = Object.assign({}, configValue[key], pick(value, ['visible', 'rank']));\n },\n {}\n );\n });\n }}\n />\n }\n >\n <span className={classnames(configStyle['table-changer-setting'], open && configStyle['is-active'])}>\n <SettingOutlined />\n </span>\n </Popover>\n </Col>\n </Row>\n );\n};\n\nconst useTableConfig = ({ columns, name, controllerOpen = true, tableWidth = 0, rowKey, tableServerApis = tableLocalApis }) => {\n const [currentMoveColumnIndex, setCurrentMoveColumnIndex] = useState(null);\n const currentMoveColumnIndexRef = useRef(currentMoveColumnIndex);\n currentMoveColumnIndexRef.current = currentMoveColumnIndex;\n const currentMoveColumnRef = useRef(null);\n const startPointRef = useRef(null);\n const [config, setConfigBase] = useState({});\n\n const saveConfig = useDebouncedCallback((tableName, target) => {\n tableServerApis?.setData(tableName, target);\n }, 500);\n\n const setConfig = useCallback(\n newConfig => {\n setConfigBase(prevConfig => {\n const target = typeof newConfig === 'function' ? newConfig(prevConfig) : newConfig;\n if (name && controllerOpen) {\n saveConfig(name, target);\n }\n return target;\n });\n },\n [name, controllerOpen, saveConfig]\n );\n\n useEffect(() => {\n if (name && controllerOpen) {\n setConfigBase(Object.assign({}, tableServerApis.getData(name)));\n }\n }, [name, controllerOpen, tableServerApis]);\n\n const visibleColumns = useMemo(() => {\n return columns\n .filter(col => !(get(config, `${col.name}.visible`) === false || (get(config, `${col.name}.visible`) !== true && col.hidden === true)))\n .sort((a, b) => {\n const computedIndex = item => get(config, `${item.name}.rank`, 0) + (item.fixed === 'left' || item.fixed === true ? -10000 : 0) + (item.fixed === 'right' ? 10000 : 0);\n return computedIndex(a) - computedIndex(b);\n });\n }, [columns, config]);\n\n const columnCount = visibleColumns.length;\n\n const hasFixedColumn = useMemo(() => visibleColumns.some(col => col.fixed === 'right' || col.fixed === 'left' || col.fixed === true), [visibleColumns]);\n\n const lastNotFixedColumnIndex = useMemo(() => {\n return findLastIndex(visibleColumns, col => col.fixed !== 'right' && !isOptionsColumn(col));\n }, [visibleColumns]);\n\n const totalWidth = useMemo(() => {\n return visibleColumns.reduce((sum, col, index) => {\n const { width } = getColumnSize(col);\n const contentWidth = get(config, `${col.name}.width`) || width;\n return sum + withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }, 0);\n }, [visibleColumns, config, columnCount, controllerOpen]);\n\n const computedRealWidth = useCallback(\n ({ width, index }) => {\n const contentWidth = width;\n if (currentMoveColumnIndex !== null && currentMoveColumnIndex === index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n if (hasFixedColumn || lastNotFixedColumnIndex !== index) {\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen);\n }\n return withConfigColumnExtra(contentWidth, index, columnCount, controllerOpen) + Math.max(tableWidth - totalWidth - 2, 0);\n },\n [hasFixedColumn, lastNotFixedColumnIndex, tableWidth, totalWidth, currentMoveColumnIndex, columnCount, controllerOpen]\n );\n\n const getConfigWidth = useCallback(\n column => {\n const { width, min, max } = getColumnSize(column);\n const currentWidth = Math.min(Math.max(get(config, `${column.name}.width`) || width, min), max);\n return { currentWidth, min, max };\n },\n [config]\n );\n\n const resizeBarRender = useCallback(\n (column, index) => {\n return (\n <span\n className={classnames(configStyle['cell-resize-bar'], 'table-cell-resize-bar')}\n onMouseDown={e => {\n e.stopPropagation();\n const { currentWidth, min, max } = getConfigWidth(column);\n currentMoveColumnRef.current = Object.assign({}, column, { index, width: currentWidth, min, max });\n startPointRef.current = e.clientX;\n setCurrentMoveColumnIndex(index);\n }}\n >\n <HolderOutlined />\n </span>\n );\n },\n [getConfigWidth]\n );\n\n const resize = useRefCallback(delta => {\n if (currentMoveColumnIndexRef.current === null || !currentMoveColumnRef.current) {\n return;\n }\n const { name: colName, width, min, max } = currentMoveColumnRef.current;\n const currentWidth = Math.min(Math.max(width + delta, min), max);\n if (currentWidth < min) {\n return;\n }\n setConfig(prevConfig =>\n Object.assign({}, prevConfig, {\n [colName]: Object.assign({}, prevConfig[colName], { width: currentWidth })\n })\n );\n });\n\n const renderColumnTitle = useCallback(\n (title, column, index, { withResize = true, withConfig = false } = {}) => {\n const titleNode = withConfig ? <TableConfigButton title={title} columns={columns} config={config} setConfig={setConfig} /> : title;\n const content = (\n <>\n {titleNode}\n {withResize && controllerOpen && resizeBarRender(column, index)}\n </>\n );\n if (!withResize || !controllerOpen) {\n return content;\n }\n return <span className={configStyle['header-cell-inner']}>{content}</span>;\n },\n [columns, config, controllerOpen, resizeBarRender, setConfig]\n );\n\n const getHeaderCellClassName = useCallback(\n index =>\n classnames(configStyle['header-col'], {\n 'is-moving': currentMoveColumnIndexRef.current === index\n }),\n []\n );\n\n const computedColumnProps = useCallback(\n (column, index, { title }) => {\n const { currentWidth } = getConfigWidth(column);\n const realWidth = computedRealWidth({ width: currentWidth, index });\n const isLastColumn = index === columnCount - 1;\n\n const movingClass = () => ({\n className: classnames({\n 'is-moving': currentMoveColumnIndex === index,\n 'has-config-btn': isLastColumn && controllerOpen\n })\n });\n\n return {\n onHeaderCell: movingClass,\n onCell: movingClass,\n width: realWidth,\n shouldCellUpdate: (record, prevRecord) => {\n const itemKey = typeof rowKey === 'function' ? rowKey(record) : record[rowKey];\n const prevItemKey = typeof rowKey === 'function' ? rowKey(prevRecord) : prevRecord[rowKey];\n return currentMoveColumnIndexRef.current === null || currentMoveColumnIndexRef.current === index || !(itemKey === prevItemKey && isEqual(record[column.name], prevRecord[column.name]));\n },\n title: renderColumnTitle(title, column, index, {\n withResize: true,\n withConfig: isLastColumn && controllerOpen\n })\n };\n },\n [columnCount, controllerOpen, computedRealWidth, getConfigWidth, renderColumnTitle, rowKey, currentMoveColumnIndex]\n );\n\n useEffect(() => {\n const handlerCancelResize = () => {\n setCurrentMoveColumnIndex(null);\n startPointRef.current = null;\n currentMoveColumnRef.current = null;\n };\n\n const handlerResize = e => {\n if (currentMoveColumnIndexRef.current === null || currentMoveColumnRef.current === null || startPointRef.current === null) {\n return;\n }\n resize(e.clientX - startPointRef.current);\n };\n\n document.documentElement.addEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.addEventListener('mousemove', handlerResize, true);\n return () => {\n document.documentElement.removeEventListener('mouseup', handlerCancelResize, true);\n document.documentElement.removeEventListener('mousemove', handlerResize, true);\n };\n }, [resize]);\n\n return {\n visibleColumns,\n columnsConfig: config,\n setConfig,\n currentMoveColumnIndex,\n totalWidth,\n hasFixedColumn,\n computedColumnProps,\n renderColumnTitle,\n getHeaderCellClassName,\n getConfigWidth,\n computedRealWidth,\n resizeBarRender\n };\n};\n\nexport default useTableConfig;\n","import { useMemo } from 'react';\n\nconst useGroupHeader = columns => {\n return useMemo(() => {\n const groupHeaderColumns = columns.filter(item => item.groupHeader && item.groupHeader.length > 0);\n if (groupHeaderColumns.length > 0) {\n const newColumns = columns.slice(0);\n const group = [];\n const appendGroupHeader = column => {\n const { groupHeader } = column;\n if (!(groupHeader && groupHeader.length > 0)) {\n return;\n }\n const columnIndex = newColumns.indexOf(column);\n const core = (groupHeader, groupList) => {\n const [targetHeader, ...otherHeader] = groupHeader;\n let currentGroup = groupList.find(item => item.name === targetHeader.name);\n if (!currentGroup) {\n currentGroup = Object.assign({ startIndex: columnIndex }, targetHeader, { children: [] });\n groupList.push(currentGroup);\n }\n if (otherHeader.length > 0) {\n core(otherHeader, currentGroup.children);\n } else {\n currentGroup.children.push(column);\n }\n };\n core(groupHeader, group);\n newColumns.splice(columnIndex, 1);\n };\n groupHeaderColumns.forEach(appendGroupHeader);\n group.forEach((groupColumn, index) => {\n newColumns.splice(groupColumn.startIndex + index, 0, groupColumn);\n });\n\n return { columns: newColumns, hasGroupHeader: true };\n }\n return { columns, hasGroupHeader: false };\n }, [columns]);\n};\n\nexport default useGroupHeader;\n","import { useEffect, useState } from 'react';\n\nconst useElementWidth = ref => {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const el = ref.current;\n if (!el) {\n return;\n }\n const update = () => setWidth(el.clientWidth);\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n update();\n return () => resizeObserver.disconnect();\n }, [ref]);\n\n return width;\n};\n\nexport default useElementWidth;\n","import React from 'react';\nimport classnames from 'classnames';\nimport Ellipsis from './Ellipsis';\nimport ellipsisStyle from './ellipsis.module.scss';\n\nexport const renderCellContent = (content, column, contentClassName) => {\n const wrapEllipsis = column.ellipsis && !column.ellipsisHandledByRender;\n const needsWidthConstraint = Boolean(column.ellipsis || column.cellFullWidth);\n const inner = wrapEllipsis ? <Ellipsis ellipsis={column.ellipsis}>{content}</Ellipsis> : content;\n\n return <span className={contentClassName}>{needsWidthConstraint ? <span className={classnames(ellipsisStyle['cell-content'], column.cellFullWidth && ellipsisStyle['cell-full-width'])}>{inner}</span> : inner}</span>;\n};\n\nexport const getColumnEllipsis = column => {\n if (!column.ellipsis) {\n return undefined;\n }\n return typeof column.ellipsis === 'object' ? column.ellipsis : true;\n};\n","import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport { Checkbox, Empty, Table as AntTable } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { parseColumnWidth } from '../TableView/columnWidth';\nimport viewStyle from '../TableView/style.module.scss';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort, { renderColumnTitle } from '../useSort';\nimport { wrapColumnHeaderTitle } from '../columnHeaderTitle';\nimport useTableConfig from '../useTableConfig';\nimport useGroupHeader from '../useGroupHeader';\nimport useElementWidth from '../useElementWidth';\nimport { getColumnEllipsis, renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst mapJustifyToAlign = justify => {\n if (justify === 'center') {\n return 'center';\n }\n if (justify === 'flex-end') {\n return 'right';\n }\n return 'left';\n};\n\nconst resolveRowKey = (rowKey, record) => get(record, typeof rowKey === 'function' ? rowKey(record) : rowKey);\n\nconst toAntdWidth = width => {\n if (width == null) {\n return undefined;\n }\n if (typeof width === 'number') {\n return width;\n }\n const parsed = parseColumnWidth(width);\n return parsed || width;\n};\n\nconst toAntdFixed = fixed => {\n if (fixed === 'right') {\n return 'right';\n }\n if (fixed === true || fixed === 'left') {\n return 'left';\n }\n return undefined;\n};\n\nconst getColCellStyle = column => ({\n textAlign: mapJustifyToAlign(column.justify),\n verticalAlign: column.align === 'middle' ? 'middle' : column.align === 'bottom' ? 'bottom' : 'top'\n});\n\nconst getAntCellClassName = (...extra) => classnames(style['table-cell'], 'info-page-table-col', ...extra);\n\nconst wrapColContent = node => <span className={viewStyle['col-content']}>{node}</span>;\n\nconst Table = p => {\n const tableRef = useRef(null);\n const tableWidth = useElementWidth(tableRef);\n const [isLayout, setIsLayout] = useState(true);\n\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />,\n controllerOpen: true\n },\n p\n );\n const {\n className,\n dataSource,\n columns: columnsProp,\n rowKey,\n rowSelection,\n valueIsEmpty,\n emptyIsPlaceholder,\n placeholder,\n empty,\n onRowSelect,\n render,\n context,\n sticky,\n stickyOffset,\n getStickyContainer,\n headerStyle,\n pagination = false,\n sortRender,\n name,\n controllerOpen,\n tableServerApis,\n scroll,\n summary,\n ...others\n } = props;\n\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n\n useEffect(() => {\n if (tableWidth) {\n setTimeout(() => setIsLayout(false), 0);\n }\n }, [tableWidth]);\n\n const { visibleColumns, columnsConfig, currentMoveColumnIndex, totalWidth, computedColumnProps, hasFixedColumn } = useTableConfig({\n columns,\n name,\n controllerOpen,\n tableWidth,\n rowKey,\n tableServerApis\n });\n\n const [resizeGuideStyle, setResizeGuideStyle] = useState(null);\n\n const updateResizeGuide = useCallback(() => {\n if (currentMoveColumnIndex === null || !tableRef.current) {\n setResizeGuideStyle(null);\n return;\n }\n const root = tableRef.current;\n const headerCell = root.querySelector('.ant-table-thead .ant-table-cell.is-moving');\n const tableContainer = root.querySelector('.ant-table-container');\n if (!headerCell || !tableContainer) {\n setResizeGuideStyle(null);\n return;\n }\n const headerRect = headerCell.getBoundingClientRect();\n const resizeBar = headerCell.querySelector('.table-cell-resize-bar');\n const barRect = resizeBar?.getBoundingClientRect();\n const containerRect = tableContainer.getBoundingClientRect();\n setResizeGuideStyle({\n position: 'fixed',\n left: Math.round(barRect?.right ?? headerRect.right),\n top: Math.round(containerRect.top),\n height: Math.round(containerRect.height),\n zIndex: 100\n });\n }, [currentMoveColumnIndex]);\n\n useLayoutEffect(() => {\n updateResizeGuide();\n }, [updateResizeGuide, columnsConfig, tableWidth, dataSource, isLayout]);\n\n useEffect(() => {\n if (currentMoveColumnIndex === null) {\n return;\n }\n const handleUpdate = () => updateResizeGuide();\n window.addEventListener('mousemove', handleUpdate);\n window.addEventListener('scroll', handleUpdate, true);\n const resizeObserver = new ResizeObserver(handleUpdate);\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n return () => {\n window.removeEventListener('mousemove', handleUpdate);\n window.removeEventListener('scroll', handleUpdate, true);\n resizeObserver.disconnect();\n };\n }, [currentMoveColumnIndex, updateResizeGuide]);\n\n const targetColumns = useMemo(() => visibleColumns.map((column, index) => Object.assign({}, column, { __index: index })), [visibleColumns]);\n\n const { columns: groupedColumns, hasGroupHeader } = useGroupHeader(targetColumns);\n\n const antdColumns = useMemo(() => {\n const buildLeafColumn = (column, index) => {\n const { name: colName, title, width, align, justify, fixed } = column;\n const baseColumn = {\n key: colName,\n dataIndex: colName,\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>,\n width: toAntdWidth(width),\n fixed: toAntdFixed(fixed),\n align: mapJustifyToAlign(justify),\n ellipsis: getColumnEllipsis(column),\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(),\n style: getColCellStyle(column)\n }),\n render: (_, record) => {\n const [computedColumn] = computeColumnsValue({\n columns: [column],\n emptyIsPlaceholder,\n valueIsEmpty,\n removeEmpty: false,\n dataSource: record,\n placeholder,\n context\n });\n if (!computedColumn) {\n return null;\n }\n return renderCellContent(computeDisplay({ column: computedColumn, placeholder, dataSource: record, context }), computedColumn, viewStyle['col-content']);\n }\n };\n\n if (!controllerOpen) {\n return baseColumn;\n }\n\n const configProps = computedColumnProps(column, index, {\n title: <span className={viewStyle['col-content']}>{renderColumnTitle(title, column, sortRender)}</span>\n });\n const antdFixed = toAntdFixed(fixed);\n\n return Object.assign({}, baseColumn, configProps, {\n width: configProps.width,\n fixed: antdFixed,\n onHeaderCell: () => ({\n className: getAntCellClassName(configProps.onHeaderCell?.().className),\n style: getColCellStyle(column)\n }),\n onCell: () => ({\n className: getAntCellClassName(configProps.onCell?.().className),\n style: getColCellStyle(column)\n })\n });\n };\n\n const mapColumn = column => {\n if (column.children && column.children.length > 0) {\n return {\n key: column.name,\n title: <span className={viewStyle['col-content']}>{wrapColumnHeaderTitle(column.title)}</span>,\n onHeaderCell: () => ({\n className: getAntCellClassName(),\n style: { textAlign: 'center', verticalAlign: 'middle' }\n }),\n children: column.children.map(mapColumn)\n };\n }\n return buildLeafColumn(column, column.__index);\n };\n\n return groupedColumns.map(mapColumn);\n }, [groupedColumns, context, emptyIsPlaceholder, placeholder, sortRender, valueIsEmpty, controllerOpen, computedColumnProps, currentMoveColumnIndex]);\n\n const antdRowSelection = useMemo(() => {\n if (!rowSelection) {\n return undefined;\n }\n\n const getRowKey = record => resolveRowKey(rowKey, record);\n\n return {\n type: rowSelection.type === 'radio' ? 'radio' : 'checkbox',\n ...(hasFixedColumn ? { fixed: 'left' } : {}),\n selectedRowKeys: rowSelection.isSelectedAll ? (dataSource || []).filter(item => !item.disabled).map(getRowKey) : rowSelection.selectedRowKeys,\n onChange: (selectedRowKeys, selectedRows, info) => {\n if (info.type === 'all') {\n const checked = selectedRowKeys.length > 0;\n if (typeof rowSelection.onIsSelectAllChange === 'function') {\n rowSelection.onIsSelectAllChange(checked);\n return;\n }\n if (!checked) {\n rowSelection.onChange([], undefined, { context, checked: false });\n return;\n }\n rowSelection.onChange((dataSource || []).map(getRowKey), undefined, { context, checked: true });\n return;\n }\n\n const currentKey = selectedRows.length > 0 ? getRowKey(selectedRows[selectedRows.length - 1]) : selectedRowKeys[selectedRowKeys.length - 1];\n const checked = selectedRowKeys.indexOf(currentKey) > -1;\n rowSelection.onChange(selectedRowKeys, currentKey, { context, checked });\n },\n getCheckboxProps: record => ({\n disabled: record.disabled || rowSelection.isSelectedAll\n }),\n ...(rowSelection.type === 'checkbox'\n ? {\n columnTitle: rowSelection.allowSelectedAll ? checkboxNode => wrapColContent(checkboxNode) : wrapColContent(<Checkbox style={{ visibility: 'hidden' }} />),\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['selection-col'])\n })\n }\n : {\n columnWidth: 30,\n renderCell: (checked, record, index, originNode) => wrapColContent(originNode),\n onCell: () => ({\n className: getAntCellClassName(style['radio-col'])\n })\n })\n };\n }, [context, dataSource, rowKey, rowSelection, hasFixedColumn]);\n\n const tableScroll = useMemo(() => {\n let x;\n if (hasFixedColumn) {\n x = totalWidth;\n } else if (controllerOpen) {\n x = Math.max(tableWidth, totalWidth);\n }\n return Object.assign({}, x != null ? { x } : {}, scroll);\n }, [hasFixedColumn, controllerOpen, totalWidth, tableWidth, scroll]);\n\n const hasScrollY = scroll?.y != null && scroll?.y !== false;\n\n const antdSticky = useMemo(() => {\n if (!sticky) {\n return undefined;\n }\n const config = typeof sticky === 'object' ? Object.assign({}, sticky) : {};\n if (hasScrollY) {\n const { getContainer, ...scrollSticky } = config;\n return Object.assign({ offsetHeader: 0 }, scrollSticky);\n }\n return Object.assign({ offsetHeader: 0 }, config, getStickyContainer ? { getContainer: getStickyContainer } : null);\n }, [sticky, getStickyContainer, hasScrollY]);\n\n const tableWrapperStyle = useMemo(() => {\n if (!sticky || stickyOffset == null || hasScrollY) {\n return undefined;\n }\n return { '--sticky-offset': stickyOffset };\n }, [sticky, stickyOffset, hasScrollY]);\n\n const tableElement = (\n <AntTable\n {...others}\n showHeader\n dataSource={dataSource}\n columns={antdColumns}\n rowKey={typeof rowKey === 'function' ? rowKey : record => get(record, rowKey)}\n rowSelection={antdRowSelection}\n pagination={pagination}\n summary={typeof summary === 'function' ? (pageData, ...args) => summary(pageData, ...args) : undefined}\n sticky={antdSticky}\n tableLayout={controllerOpen || hasFixedColumn ? 'fixed' : undefined}\n scroll={tableScroll}\n onHeaderRow={() => ({\n className: classnames(viewStyle['header'], 'info-page-table-header'),\n style: headerStyle\n })}\n locale={{ emptyText: <div className={viewStyle['empty']}>{empty}</div> }}\n rowClassName={record => {\n const id = resolveRowKey(rowKey, record);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n return classnames(viewStyle['body'], 'info-page-table-row', {\n [viewStyle['is-selected-all']]: rowSelection?.isSelectedAll,\n [viewStyle['is-selected']]: isChecked,\n [viewStyle['is-disabled']]: record.disabled\n });\n }}\n onRow={\n onRowSelect\n ? record => ({\n onClick: () => {\n if (record.disabled) {\n return;\n }\n onRowSelect(record, { columns: visibleColumns, dataSource });\n }\n })\n : undefined\n }\n />\n );\n\n const wrappedTable = (\n <div\n ref={tableRef}\n className={classnames(viewStyle['table'], style['table'], 'info-page-table', className, {\n [style['is-resize']]: currentMoveColumnIndex !== null,\n [style['is-computed']]: isLayout,\n [style['has-group-header']]: hasGroupHeader,\n [style['has-summary']]: typeof summary === 'function',\n [style['is-sticky']]: !!sticky,\n [style['is-sticky-scroll-y']]: !!sticky && hasScrollY,\n [style['is-sticky-viewport']]: !!sticky && !hasScrollY\n })}\n style={tableWrapperStyle}\n >\n <div className=\"info-page-table-body\">{!isLayout && tableElement}</div>\n {currentMoveColumnIndex !== null && resizeGuideStyle && <span className={style['column-resize-guide']} style={resizeGuideStyle} aria-hidden />}\n </div>\n );\n\n if (typeof render === 'function') {\n return render({\n ...others,\n header: null,\n renderBody: () => wrappedTable\n });\n }\n\n return wrappedTable;\n};\n\nTable.useSelectedRow = useSelectedRow;\nTable.useSort = useSort;\nTable.sortDataSource = useSort.sortDataSource;\n\nexport default Table;\n","import React, { useLayoutEffect, useRef } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\n\nconst Label = ({ className, children, onChange }) => {\n const ref = useRef(null);\n const handlerChange = useRefCallback(onChange);\n useLayoutEffect(() => {\n const computed = () => {\n if (!ref.current) {\n return;\n }\n handlerChange(ref.current.getBoundingClientRect());\n };\n const resizeObserver = new ResizeObserver(computed);\n resizeObserver.observe(ref.current);\n computed();\n return () => {\n resizeObserver.disconnect();\n };\n }, [handlerChange]);\n return (\n <span ref={ref} className={className}>\n {children}\n </span>\n );\n};\n\nexport default Label;\n","import React from 'react';\nimport { Checkbox } from 'antd';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport Label from '../Label';\nimport { renderColumnTitle } from '../useSort';\nimport { getColumnLayout, parseColumnWidth } from './columnWidth';\nimport { resolveColumnDimensions } from '../columnRenderType';\nimport style from './style.module.scss';\n\nconst renderHeaderCellContent = (column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize }) => {\n const titleNode = renderColumnTitle(column.title, column, sortRender);\n const contentClassName = style['col-content'];\n\n if (widthBased) {\n return <span className={contentClassName}>{titleNode}</span>;\n }\n\n return (\n <Label\n className={contentClassName}\n onChange={size => {\n setColsSize(value =>\n Object.assign({}, value, {\n [column.name]: Math.max(size.width, parseColumnWidth(resolveColumnDimensions(column).width))\n })\n );\n }}\n >\n {titleNode}\n </Label>\n );\n};\n\nexport const renderHeaderGridCells = ({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan }) => {\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key=\"__selection__\" className={classnames(style['col'], style['col-fixed'], style['header-cell'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n {rowSelection.allowSelectedAll ? (\n (() => {\n const checkedAll =\n rowSelection.isSelectedAll || (dataSource && dataSource.every(item => rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey)) > -1));\n return (\n <Checkbox\n checked={checkedAll}\n indeterminate={rowSelection.selectedRowKeys && rowSelection.selectedRowKeys.length > 0 && !checkedAll}\n onChange={e => {\n const checked = e.target.checked;\n if (!checked) {\n typeof rowSelection.onIsSelectAllChange === 'function' ? rowSelection.onIsSelectAllChange(false) : rowSelection.onChange([]);\n } else {\n typeof rowSelection.onIsSelectAllChange === 'function'\n ? rowSelection.onIsSelectAllChange(true)\n : dataSource &&\n dataSource.length > 0 &&\n rowSelection.onChange(\n dataSource.map(item => {\n return get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n })\n );\n }\n }}\n />\n );\n })()\n ) : (\n <Checkbox style={{ visibility: 'hidden' }} />\n )}\n </span>\n </div>\n );\n }\n\n columns.forEach((column, index) => {\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === columns.length - 1,\n columns\n });\n cells.push(\n <div key={column.name} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], style['header-cell'], 'info-page-table-col')}>\n {renderHeaderCellContent(column, { sortRender, widthBased, setColsSize, defaultSpan, colsSize })}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(<div key=\"__radio__\" className={classnames(style['col'], style['single-checked'], style['header-cell'], 'info-page-table-col')} />);\n }\n\n return cells;\n};\n\nconst Header = p => {\n const { dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, headerStyle, sortRender, defaultSpan } = Object.assign(\n {},\n {\n rowKey: 'id'\n },\n p\n );\n\n return (\n <div style={headerStyle} className={classnames(style['header'], 'info-page-table-header')}>\n {renderHeaderGridCells({ dataSource, columns, rowKey, rowSelection, colsSize, setColsSize, sortRender, defaultSpan })}\n </div>\n );\n};\n\nexport default Header;\n","import React, { useMemo, useState } from 'react';\nimport Header, { renderHeaderGridCells } from './Header';\nimport { Checkbox, Empty } from 'antd';\nimport { CheckOutlined } from '@ant-design/icons';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport computeColumnsValue, { computeDisplay } from '../computeColumnsValue';\nimport { isEmpty } from '@kne/is-empty';\nimport { getColumnLayout, getGridTemplateColumns, hasColumnSpan, hasColumnWidth } from './columnWidth';\nimport style from './style.module.scss';\nimport useSelectedRow from '../useSelectedRow';\nimport useSort from '../useSort';\nimport { renderCellContent } from '../renderCellContent';\nimport { resolveColumns } from '../columnRenderType';\n\nconst getLayoutColumns = columns => columns.filter(column => column.display !== false);\n\nconst TableView = p => {\n const [colsSize, setColsSize] = useState({});\n const props = Object.assign(\n {},\n {\n rowKey: 'id',\n valueIsEmpty: isEmpty,\n placeholder: '-',\n emptyIsPlaceholder: true,\n empty: <Empty />\n },\n p\n );\n const { className, dataSource, columns: columnsProp, rowKey, rowSelection, valueIsEmpty, emptyIsPlaceholder, placeholder, empty, onRowSelect, render, context, sticky, headerStyle, sortRender, ...others } = props;\n const columns = useMemo(() => resolveColumns(columnsProp), [columnsProp]);\n const layoutColumns = useMemo(() => getLayoutColumns(columns), [columns]);\n const defaultSpan = useMemo(() => {\n const assignedSpan = layoutColumns.reduce((a, b) => a + (b.span || 0), 0);\n const undistributedColCount = layoutColumns.filter(item => !hasColumnSpan(item) && !hasColumnWidth(item, layoutColumns)).length;\n\n return undistributedColCount > 0 ? Math.round(Math.max(24 - assignedSpan, 0) / undistributedColCount) : 1;\n }, [layoutColumns]);\n\n const gridTemplateColumns = useMemo(() => getGridTemplateColumns(layoutColumns, { defaultSpan, colsSize, rowSelection }), [layoutColumns, defaultSpan, colsSize, rowSelection]);\n\n const headerCellProps = {\n dataSource,\n columns: layoutColumns,\n rowKey,\n rowSelection,\n colsSize,\n setColsSize,\n sortRender,\n defaultSpan\n };\n\n const header = <Header {...headerCellProps} headerStyle={headerStyle} />;\n\n const handleRowClick = (item, { dataSource, context, id, isChecked }) => {\n if (item.disabled) {\n return;\n }\n onRowSelect && onRowSelect(item, { columns: layoutColumns, dataSource });\n if (!rowSelection || rowSelection.isSelectedAll) {\n return;\n }\n if (rowSelection.type === 'checkbox') {\n const selectedRowKeys = (rowSelection.selectedRowKeys || []).slice(0);\n isChecked ? selectedRowKeys.splice(rowSelection.selectedRowKeys.indexOf(id), 1) : selectedRowKeys.push(id);\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n return;\n }\n const selectedRowKeys = rowSelection.selectedRowKeys.length && rowSelection.selectedRowKeys[0] === id ? [] : [id];\n rowSelection.onChange(selectedRowKeys, id, { context, checked: !isChecked });\n };\n\n const renderBodyGridCells = (dataSource, context) => {\n const getId = item => get(item, typeof rowKey === 'function' ? rowKey(item) : rowKey);\n\n if (!dataSource || dataSource.length === 0) {\n return null;\n }\n\n return dataSource.map(item => {\n const id = getId(item);\n const isChecked = rowSelection?.selectedRowKeys && rowSelection.selectedRowKeys.indexOf(id) > -1;\n const columnsValue = computeColumnsValue({ columns: layoutColumns, emptyIsPlaceholder, valueIsEmpty, removeEmpty: true, dataSource: item, placeholder, context });\n const columnMap = columnsValue.reduce((result, column) => Object.assign(result, { [column.name]: column }), {});\n const rowClassName = classnames(style['body'], style['body-cell'], style['body-row'], 'info-page-table-row', {\n [style['is-selected-all']]: rowSelection?.isSelectedAll,\n [style['is-selected']]: isChecked,\n [style['is-disabled']]: item.disabled\n });\n const onSelectionChange = () => handleRowClick(item, { dataSource, context, id, isChecked });\n const cells = [];\n\n if (rowSelection?.type === 'checkbox') {\n cells.push(\n <div key={`${id}__selection__`} className={classnames(style['col'], style['col-fixed'], 'info-page-table-col')}>\n <span className={classnames(style['col-content'], 'info-page-table-col-content')}>\n <Checkbox disabled={item.disabled || rowSelection.isSelectedAll} checked={(rowSelection.isSelectedAll && !item.disabled) || isChecked} onChange={onSelectionChange} />\n </span>\n </div>\n );\n }\n\n layoutColumns.forEach((column, index) => {\n const columnValue = columnMap[column.name];\n const {\n widthBased,\n fillRemaining,\n style: columnStyle\n } = getColumnLayout(column, {\n defaultSpan,\n colsSize,\n isLastColumn: index === layoutColumns.length - 1,\n columns: layoutColumns\n });\n\n cells.push(\n <div key={`${id}-${column.name}`} style={columnStyle} className={classnames(style['col'], fillRemaining ? style['col-width-fill'] : widthBased && style['col-width-based'], 'info-page-table-col')}>\n {columnValue ? renderCellContent(computeDisplay({ column: columnValue, placeholder, dataSource: item, context }), columnValue, style['col-content']) : <span className={style['col-content']} />}\n </div>\n );\n });\n\n if (rowSelection?.type === 'radio') {\n cells.push(\n <div key={`${id}__radio__`} className={classnames(style['col'], style['single-checked'], 'info-page-table-col')} onClick={onSelectionChange}>\n {isChecked && <CheckOutlined />}\n </div>\n );\n }\n\n return (\n <div key={id} className={rowClassName}>\n {cells}\n </div>\n );\n });\n };\n\n const renderGrid = (dataSource, context) => (\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n {renderBodyGridCells(dataSource, context)}\n </div>\n );\n\n const renderBody = (dataSource, context) => {\n if (!dataSource || dataSource.length === 0) {\n return <div className={style['empty']}>{empty}</div>;\n }\n\n return <div className={classnames('info-page-table-body')}>{renderGrid(dataSource, context)}</div>;\n };\n\n if (typeof render === 'function') {\n return render({ ...others, header, renderBody });\n }\n\n return (\n <div {...others} className={classnames(style['table'], style['tableView'], 'info-page-table', className)}>\n {dataSource && dataSource.length > 0 ? (\n renderGrid(dataSource, context)\n ) : (\n <>\n <div className={style['grid']} style={{ gridTemplateColumns }}>\n {renderHeaderGridCells(headerCellProps)}\n </div>\n <div className={style['empty']}>{empty}</div>\n </>\n )}\n </div>\n );\n};\n\nTableView.Header = Header;\nTableView.useSelectedRow = useSelectedRow;\nTableView.useSort = useSort;\nTableView.sortDataSource = useSort.sortDataSource;\nexport default TableView;\n","export const parsePixelValue = value => {\n const num = parseFloat(value);\n return Number.isNaN(num) ? 0 : num;\n};\n\nexport const getViewportRect = () => {\n const visualViewport = window.visualViewport;\n if (visualViewport) {\n return {\n top: visualViewport.offsetTop,\n bottom: visualViewport.offsetTop + visualViewport.height,\n left: visualViewport.offsetLeft,\n right: visualViewport.offsetLeft + visualViewport.width,\n height: visualViewport.height\n };\n }\n return {\n top: 0,\n bottom: window.innerHeight,\n left: 0,\n right: window.innerWidth,\n height: window.innerHeight\n };\n};\n\nexport const getTableElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.info-page-table') || root;\n};\n\nexport const getTableScrollElement = root => {\n if (!root) {\n return null;\n }\n return root.querySelector('.ant-table-body') || root.querySelector('.ant-table-content');\n};\n\nexport const getElementViewportState = element => {\n if (!element) {\n return {\n isBottomInViewport: true,\n isPartiallyInViewport: false,\n isTopInViewport: true,\n rect: null,\n viewport: getViewportRect()\n };\n }\n const rect = element.getBoundingClientRect();\n const viewport = getViewportRect();\n return {\n isBottomInViewport: rect.bottom > viewport.top && rect.bottom <= viewport.bottom,\n isPartiallyInViewport: rect.top < viewport.bottom && rect.bottom > viewport.top,\n isTopInViewport: rect.top >= viewport.top && rect.top < viewport.bottom,\n rect,\n viewport\n };\n};\n\nexport const isTopEdgeInViewport = (element, scrollMarginTop = 0) => {\n const { isTopInViewport, rect, viewport } = getElementViewportState(element);\n if (!rect) {\n return true;\n }\n const viewportTop = viewport.top + scrollMarginTop;\n return rect.top >= viewportTop && rect.top < viewport.bottom;\n};\n\nexport const shouldShowFloatingScrollbar = (scrollEl, viewportState) => {\n if (!scrollEl || scrollEl.scrollWidth <= scrollEl.clientWidth + 1) {\n return false;\n }\n const state = viewportState || getElementViewportState(scrollEl);\n if (!state.isPartiallyInViewport) {\n return false;\n }\n return !state.isBottomInViewport;\n};\n\nexport const observeViewportIntersection = (element, onChange) => {\n if (!element) {\n return () => {};\n }\n\n const notify = entry => {\n onChange(getElementViewportState(element));\n };\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n notify(entry);\n },\n {\n root: null,\n threshold: [0, 0.01, 0.25, 0.5, 0.75, 1]\n }\n );\n\n observer.observe(element);\n\n const handleViewportChange = () => {\n notify();\n };\n\n window.addEventListener('scroll', handleViewportChange, true);\n window.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('resize', handleViewportChange);\n window.visualViewport?.addEventListener('scroll', handleViewportChange);\n notify();\n\n return () => {\n observer.disconnect();\n window.removeEventListener('scroll', handleViewportChange, true);\n window.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('resize', handleViewportChange);\n window.visualViewport?.removeEventListener('scroll', handleViewportChange);\n };\n};\n","import { createPortal } from 'react-dom';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport useRefCallback from '@kne/use-ref-callback';\nimport classnames from 'classnames';\nimport style from './style.module.scss';\nimport { getTableScrollElement, getViewportRect, observeViewportIntersection, shouldShowFloatingScrollbar } from './scrollUtils';\n\nconst BAR_HEIGHT = 15;\nconst THUMB_MARGIN = 2;\n\nconst computeBarMetrics = (scrollEl, viewportState) => {\n const rect = scrollEl.getBoundingClientRect();\n const viewport = getViewportRect();\n const trackWidth = rect.width;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const maxThumbOffset = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n const scrollRatio = scrollEl.scrollWidth > scrollEl.clientWidth ? scrollEl.scrollLeft / (scrollEl.scrollWidth - scrollEl.clientWidth) : 0;\n\n return {\n left: rect.left,\n width: trackWidth,\n bottom: window.innerHeight - viewport.bottom,\n thumbWidth,\n thumbLeft: THUMB_MARGIN + maxThumbOffset * scrollRatio,\n visible: shouldShowFloatingScrollbar(scrollEl, viewportState)\n };\n};\n\nconst FloatingScrollBar = ({ metrics, onThumbDrag, getPortalContainer }) => {\n const startRef = useRef(0);\n const [moving, setMoving] = useState(false);\n const movingRef = useRef(false);\n const onThumbDragRef = useRef(onThumbDrag);\n onThumbDragRef.current = onThumbDrag;\n\n useEffect(() => {\n movingRef.current = moving;\n }, [moving]);\n\n useEffect(() => {\n const moveHandler = event => {\n if (!movingRef.current) {\n return;\n }\n onThumbDragRef.current(event.clientX - startRef.current);\n startRef.current = event.clientX;\n };\n const upHandler = () => {\n setMoving(false);\n };\n document.addEventListener('mousemove', moveHandler, true);\n document.addEventListener('mouseup', upHandler, true);\n return () => {\n document.removeEventListener('mousemove', moveHandler, true);\n document.removeEventListener('mouseup', upHandler, true);\n };\n }, []);\n\n if (!metrics?.visible) {\n return null;\n }\n\n const portalTarget = getPortalContainer?.() || document.body;\n\n return createPortal(\n <div\n className={classnames(style['floating-scrollbar'], 'table-page-floating-scrollbar')}\n style={{\n left: metrics.left,\n width: metrics.width,\n height: BAR_HEIGHT,\n bottom: metrics.bottom\n }}\n >\n <div\n className={classnames(style['floating-scrollbar-thumb'], {\n [style['is-moving']]: moving\n })}\n style={{\n width: metrics.thumbWidth,\n left: metrics.thumbLeft\n }}\n onMouseDown={event => {\n event.preventDefault();\n startRef.current = event.clientX;\n setMoving(true);\n }}\n />\n </div>,\n portalTarget\n );\n};\n\nconst HorizontalScroller = forwardRef(({ className, enabled = true, getPortalContainer, children }, forwardedRef) => {\n const [metrics, setMetrics] = useState(null);\n const containerRef = useRef(null);\n const scrollElRef = useRef(null);\n const viewportStateRef = useRef(null);\n\n const setContainerRef = useRefCallback(node => {\n containerRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n });\n\n const updateMetrics = useRefCallback(() => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n setMetrics(null);\n return;\n }\n setMetrics(computeBarMetrics(scrollEl, viewportStateRef.current));\n });\n\n const handleThumbDrag = useRefCallback(deltaX => {\n const scrollEl = scrollElRef.current;\n if (!scrollEl) {\n return;\n }\n const trackWidth = scrollEl.clientWidth;\n const scrollableWidth = scrollEl.scrollWidth - scrollEl.clientWidth;\n const thumbWidth = Math.max((trackWidth * scrollEl.clientWidth) / scrollEl.scrollWidth - THUMB_MARGIN * 2, 24);\n const thumbTravel = trackWidth - thumbWidth - THUMB_MARGIN * 2;\n if (thumbTravel <= 0) {\n return;\n }\n scrollEl.scrollLeft += (deltaX / thumbTravel) * scrollableWidth;\n updateMetrics();\n });\n\n useEffect(() => {\n if (!enabled) {\n scrollElRef.current = null;\n viewportStateRef.current = null;\n setMetrics(null);\n return undefined;\n }\n\n const root = containerRef.current;\n if (!root) {\n return undefined;\n }\n\n let scrollEl = null;\n let unobserveViewport = null;\n let contentResizeObserver = null;\n\n const detachScrollEl = () => {\n unobserveViewport?.();\n unobserveViewport = null;\n if (!scrollEl) {\n return;\n }\n scrollEl.removeEventListener('scroll', updateMetrics);\n contentResizeObserver?.disconnect();\n contentResizeObserver = null;\n scrollElRef.current = null;\n viewportStateRef.current = null;\n scrollEl = null;\n };\n\n const attachScrollEl = nextScrollEl => {\n if (!nextScrollEl || nextScrollEl === scrollEl) {\n return;\n }\n detachScrollEl();\n scrollEl = nextScrollEl;\n scrollElRef.current = scrollEl;\n unobserveViewport = observeViewportIntersection(scrollEl, state => {\n viewportStateRef.current = state;\n updateMetrics();\n });\n scrollEl.addEventListener('scroll', updateMetrics, { passive: true });\n contentResizeObserver = new ResizeObserver(updateMetrics);\n contentResizeObserver.observe(scrollEl);\n Array.from(scrollEl.children).forEach(child => {\n contentResizeObserver.observe(child);\n });\n };\n\n const onLayoutChange = () => {\n attachScrollEl(getTableScrollElement(root));\n updateMetrics();\n };\n\n const containerResizeObserver = new ResizeObserver(onLayoutChange);\n containerResizeObserver.observe(root);\n onLayoutChange();\n\n return () => {\n detachScrollEl();\n containerResizeObserver.disconnect();\n };\n }, [enabled, updateMetrics]);\n\n return (\n <>\n <div ref={setContainerRef} className={className}>\n {children}\n </div>\n {enabled ? <FloatingScrollBar metrics={metrics} onThumbDrag={handleThumbDrag} getPortalContainer={getPortalContainer} /> : null}\n </>\n );\n});\n\nexport default HorizontalScroller;\n","import React, { useMemo } from 'react';\nimport { Button, Dropdown } from 'antd';\nimport { DownOutlined } from '@ant-design/icons';\nimport { FilterProvider, FilterLines, FilterValueDisplay, SearchInput } from '@kne/react-filter';\nimport '@kne/react-filter/dist/index.css';\nimport classnames from 'classnames';\nimport { useIntl } from '@kne/react-intl';\nimport style from './tableToolbar.module.scss';\n\nconst TableToolbar = ({ filterValue, onFilterChange, filter, search, batchActions, rowSelection, selectedRows, batchContext }) => {\n const { formatMessage } = useIntl();\n const selectedRowKeys = rowSelection?.selectedRowKeys || [];\n const hasSelection = selectedRowKeys.length > 0;\n\n const batchMenuItems = useMemo(() => {\n if (!Array.isArray(batchActions) || batchActions.length === 0) {\n return [];\n }\n return batchActions.map(item => {\n const { key, label, disabled, danger, onClick } = item;\n const isDisabled = disabled ?? !hasSelection;\n return {\n key: key || label,\n label,\n danger,\n disabled: isDisabled,\n onClick: () => {\n if (isDisabled) {\n return;\n }\n onClick?.({\n selectedRowKeys,\n selectedRows: selectedRows || [],\n rowSelection,\n ...batchContext\n });\n }\n };\n });\n }, [batchActions, batchContext, hasSelection, rowSelection, selectedRowKeys, selectedRows]);\n\n const showBatch = batchMenuItems.length > 0;\n const showFilter = filter?.list?.length > 0;\n const showSearch = search && search.name;\n\n if (!showBatch && !showFilter && !showSearch) {\n return null;\n }\n\n const { list: filterList, displayLine = 1, extraExpand, className: filterClassName, ...filterRest } = filter || {};\n const { className: searchClassName, style: searchStyle, ...searchRest } = search || {};\n\n const hasValueDisplay = filterValue?.length > 0;\n\n return (\n <FilterProvider value={filterValue} onChange={onFilterChange}>\n <div\n className={classnames(style['table-toolbar-section'], 'table-page-toolbar-section', {\n [style['has-value-display']]: hasValueDisplay,\n 'table-page-toolbar-section--has-value': hasValueDisplay\n })}\n >\n <div className={style['table-toolbar']}>\n {showBatch ? (\n <>\n <div className={style['table-toolbar-batch']}>\n <Dropdown disabled={!hasSelection} menu={{ items: batchMenuItems }} trigger={['click']}>\n <Button size=\"small\" disabled={!hasSelection} className={style['table-toolbar-batch-btn']}>\n {hasSelection ? formatMessage({ id: 'BatchOperationsWithCount' }, { count: selectedRowKeys.length }) : formatMessage({ id: 'BatchOperations' })}\n <DownOutlined />\n </Button>\n </Dropdown>\n </div>\n {(showFilter || showSearch) && <span className={style['table-toolbar-divider']} aria-hidden />}\n </>\n ) : null}\n {showFilter ? (\n <div className={style['table-toolbar-filter']}>\n <div className={classnames(style['table-toolbar-filter-inner'], filterClassName)}>\n <FilterLines list={filterList} displayLine={displayLine} label=\"\" {...filterRest} />\n </div>\n </div>\n ) : null}\n {showSearch ? (\n <>\n {showFilter && <span className={style['table-toolbar-divider']} aria-hidden />}\n <div className={style['table-toolbar-search']}>\n <SearchInput allowClear bordered={false} variant=\"filled\" size=\"small\" className={classnames(style['table-toolbar-search-input'], searchClassName)} style={searchStyle} {...searchRest} />\n </div>\n </>\n ) : null}\n </div>\n {hasValueDisplay ? (\n <div className={style['table-toolbar-value-display']}>\n <FilterValueDisplay value={filterValue} onChange={onFilterChange} extraExpand={extraExpand} />\n </div>\n ) : null}\n </div>\n </FilterProvider>\n );\n};\n\nexport default TableToolbar;\n","import { withFetch } from '@kne/react-fetch';\nimport { Pagination } from 'antd';\nimport { getFilterValue } from '@kne/react-filter';\nimport Table from '../Table';\nimport TableView from '../TableView';\nimport classnames from 'classnames';\nimport get from 'lodash/get';\nimport useRefCallback from '@kne/use-ref-callback';\nimport { forwardRef, useEffect, useMemo, useRef, useState } from 'react';\nimport { useIntl } from '@kne/react-intl';\nimport style from './style.module.scss';\nimport withLocale from '../withLocale';\nimport HorizontalScroller from './HorizontalScroller';\nimport TableToolbar from './TableToolbar';\nimport { getTableElement, isTopEdgeInViewport, parsePixelValue } from './scrollUtils';\n\nconst readPageSize = key => {\n try {\n const value = localStorage.getItem(key);\n if (value == null || value === '') {\n return null;\n }\n const num = Number(value);\n return Number.isNaN(num) ? null : num;\n } catch {\n return null;\n }\n};\n\nconst writePageSize = (key, size) => {\n try {\n localStorage.setItem(key, String(size));\n } catch {\n // ignore quota errors\n }\n};\n\nconst isTableTopInViewport = target => {\n const scrollMarginTop = parsePixelValue(getComputedStyle(target).scrollMarginTop);\n return isTopEdgeInViewport(target, scrollMarginTop);\n};\n\nconst scrollTableIntoView = root => {\n const target = getTableElement(root);\n if (!target) {\n return;\n }\n\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (isTableTopInViewport(target)) {\n return;\n }\n target.scrollIntoView({ block: 'start', inline: 'nearest' });\n });\n });\n};\n\nconst TABLE_COMPONENTS = {\n Table,\n TableView\n};\n\nconst collectFilterFieldNames = (filter, search) => {\n const names = new Set();\n if (search?.name) {\n names.add(search.name);\n }\n if (Array.isArray(filter?.list)) {\n filter.list.forEach(row => {\n if (!Array.isArray(row)) {\n return;\n }\n row.forEach(item => {\n const name = item?.props?.name;\n if (name) {\n names.add(name);\n }\n });\n });\n }\n return names;\n};\n\nconst omitFilterParams = (params, filterFieldNames) => {\n const next = Object.assign({}, params);\n filterFieldNames.forEach(name => {\n delete next[name];\n });\n return next;\n};\n\nconst TablePageInnerContent = withLocale(\n ({\n data,\n refresh,\n reload,\n requestParams,\n fetchProps,\n isComplete,\n loadMore,\n send,\n dataFormat = data => {\n return {\n list: data.pageData,\n total: data.totalCount,\n data\n };\n },\n className,\n columns,\n getColumns,\n pagination = {},\n columnRenderProps = {},\n summary,\n sticky,\n renderType = 'Table',\n horizontalScroller = true,\n getScrollContainer,\n filter,\n search,\n batchActions,\n selectedRows,\n rowSelection,\n ...props\n }) => {\n const { formatMessage } = useIntl();\n const tableContentRef = useRef(null);\n const pendingScrollRef = useRef(false);\n const handlerDataFormat = useRefCallback(dataFormat);\n const isFilterControlled = filter && filter.value !== undefined;\n const [internalFilterValue, setInternalFilterValue] = useState(() => filter?.defaultValue || []);\n const filterValue = isFilterControlled ? filter.value : internalFilterValue;\n const mapFilterValue = filter?.mapFilterValue || getFilterValue;\n\n const getFilterParams = useRefCallback(value => {\n return mapFilterValue(value || []);\n });\n\n const filterFieldNames = useMemo(() => collectFilterFieldNames(filter, search), [filter, search]);\n\n const buildRequestParamsWithFilter = useRefCallback((value, extra = {}) => {\n return Object.assign({}, omitFilterParams(get(requestParams, pagination.paramsType), filterFieldNames), extra, getFilterParams(value));\n });\n\n const formatData = useMemo(() => {\n return handlerDataFormat(data);\n }, [data, handlerDataFormat]);\n\n const resolvedColumns = typeof getColumns === 'function' ? getColumns(data) : typeof columns === 'function' ? columns(data) : columns;\n\n const fetchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const scrollTable = useRefCallback(() => {\n scrollTableIntoView(tableContentRef.current);\n });\n\n const handleFilterChange = useRefCallback(value => {\n if (!isFilterControlled) {\n setInternalFilterValue(value);\n }\n filter?.onChange?.(value);\n reload({\n [pagination.paramsType]: buildRequestParamsWithFilter(value, {\n [pagination.currentName]: 1\n })\n });\n });\n\n useEffect(() => {\n if (!pendingScrollRef.current || !isComplete) {\n return;\n }\n pendingScrollRef.current = false;\n scrollTable();\n }, [isComplete, data, scrollTable]);\n\n const handlePaginationChange = useRefCallback((page, size) => {\n pendingScrollRef.current = true;\n if (typeof pagination.onChange === 'function') {\n pagination.onChange(page, size);\n return;\n }\n if (page !== get(requestParams, [pagination.paramsType, pagination.currentName], 1)) {\n (pagination.requestType === 'refresh' ? refresh : reload)({\n [pagination.paramsType]: buildRequestParamsWithFilter(filterValue, {\n [pagination.currentName]: page,\n [pagination.pageSizeName]: Number(size)\n })\n });\n } else {\n pagination.onShowSizeChange && pagination.onShowSizeChange(page, Number(size));\n }\n });\n\n const paginationConfig = useMemo(() => {\n if (!pagination.open) {\n return null;\n }\n return {\n total: formatData.total,\n showTotal:\n typeof pagination.showTotal === 'function'\n ? pagination.showTotal\n : total => (\n <>\n {formatMessage({ id: 'TotalText' })}&nbsp;\n <span className={style['total_text']}>{total}</span>\n &nbsp;\n {formatMessage({ id: 'ItemText' })}\n </>\n ),\n current: get(requestParams, [pagination.paramsType, pagination.currentName], 1),\n pageSize: Number(get(requestParams, [pagination.paramsType, pagination.pageSizeName], pagination.pageSize)) || pagination.pageSize || 20,\n onChange: handlePaginationChange,\n size: pagination.size,\n hideOnSinglePage: pagination.hideOnSinglePage,\n showSizeChanger: pagination.showSizeChanger,\n showQuickJumper: pagination.showQuickJumper,\n pageSizeOptions: pagination.pageSizeOptions\n };\n }, [pagination, formatData.total, requestParams, formatMessage, handlePaginationChange]);\n\n const hasToolbar = !!(filter?.list?.length || (search && search.name) || (batchActions && batchActions.length));\n\n const batchContext = useMemo(\n () => ({\n data,\n fetchProps,\n requestParams,\n refresh,\n reload,\n loadMore,\n send,\n dataFormat,\n pagination\n }),\n [data, fetchProps, requestParams, refresh, reload, loadMore, send, dataFormat, pagination]\n );\n\n const tableContext = {\n ...columnRenderProps,\n requestParams,\n fetchProps,\n data\n };\n\n const tableProps = {\n ...props,\n rowSelection,\n dataSource: formatData.list,\n pagination: false,\n sticky,\n getStickyContainer: getScrollContainer,\n className: classnames(className, {\n [style['table-in-toolbar']]: hasToolbar\n }),\n columns: resolvedColumns,\n context: tableContext,\n columnRenderProps: tableContext,\n summary:\n typeof summary === 'function'\n ? (pageData, ...args) => {\n return summary(Object.assign({}, fetchContext, { pageData }, ...args));\n }\n : null\n };\n\n const TableComponent = TABLE_COMPONENTS[renderType] || Table;\n\n const tableElement = <TableComponent {...tableProps} />;\n\n return (\n <div className={style['table-page']}>\n <HorizontalScroller\n ref={tableContentRef}\n enabled={horizontalScroller && renderType === 'Table'}\n getPortalContainer={getScrollContainer}\n className={classnames(style['table-content'], 'loading-container', {\n 'is-loading': !isComplete && !data\n })}\n >\n {hasToolbar ? (\n <div className={style['table-with-toolbar']}>\n <TableToolbar filterValue={filterValue} onFilterChange={handleFilterChange} filter={filter} search={search} batchActions={batchActions} rowSelection={rowSelection} selectedRows={selectedRows} batchContext={batchContext} />\n {tableElement}\n </div>\n ) : (\n tableElement\n )}\n </HorizontalScroller>\n {paginationConfig ? <Pagination className={style['pagination']} {...paginationConfig} /> : null}\n </div>\n );\n }\n);\n\nconst TablePageInner = withFetch(TablePageInnerContent);\n\nconst TablePage = forwardRef(({ pagination, horizontalScroller = true, getScrollContainer, ...props }, ref) => {\n pagination = Object.assign(\n {},\n {\n showSizeChanger: true,\n showQuickJumper: true,\n hideOnSinglePage: false,\n open: true,\n paramsType: 'data',\n requestType: 'reload',\n currentName: 'currentPage',\n pageSizeName: 'perPage',\n pageSize: 20\n },\n pagination\n );\n const pageSizeKey = `${(props.name || 'common').toUpperCase()}_TABLE_PAGE_SIZE`;\n const [pageSize, setPageSize] = useState(() => readPageSize(pageSizeKey) ?? pagination.pageSize);\n const params = props[pagination.paramsType];\n const filterDefaultParams = useMemo(() => {\n if (!props.filter?.defaultValue?.length) {\n return {};\n }\n const mapFilterValue = props.filter.mapFilterValue || getFilterValue;\n return mapFilterValue(props.filter.defaultValue);\n }, [props.filter]);\n const fetchParams = useMemo(() => {\n return {\n [pagination.paramsType]: Object.assign({}, params, filterDefaultParams, {\n [pagination.pageSizeName]: pageSize\n })\n };\n }, [params, pagination.pageSizeName, pagination.paramsType, pageSize, filterDefaultParams]);\n return (\n <TablePageInner\n {...props}\n {...fetchParams}\n horizontalScroller={horizontalScroller}\n getScrollContainer={getScrollContainer}\n pagination={Object.assign({}, pagination, {\n pageSize,\n onShowSizeChange: (current, size) => {\n const nextSize = Number(size);\n writePageSize(pageSizeKey, nextSize);\n setPageSize(nextSize);\n }\n })}\n ref={ref}\n />\n );\n});\n\nexport default TablePage;\n","import merge from 'lodash/merge';\nimport './renderType';\nimport { globalParams } from './globalParams';\n\nconst preset = props => {\n const next = merge({}, globalParams, props);\n merge(globalParams, props);\n return next;\n};\n\nexport { globalParams };\nexport default preset;\n"],"names":["this","calcArgs","args","template","attr","normal","groupBy","item","test","output","typeTransform","value","type","String","Number","forEach","target","index","currentTemplate","Object","assign","defaultValue","get","name","key","split","find","transform","result","hasOwnProperty","defaultFormat","date","dayjs","format","datetime","dateRange","allowNull","isEmpty","boolean","trueValue","toString","number","style","unit","maximumFractionDigits","useGrouping","roundingMode","suffix","Intl","NumberFormat","money","formatView","context","formatList","filter","length","reduce","map","replace","globalParams","renderType","renderTypeSize","tagTypeColors","statusTypeColors","defaultRender","Ellipsis","children","ellipsis","userConfig","showTitle","rest","_jsx","Typography","Text","className","tooltip","rootClassName","MainCell","column","dataSource","hover","primary","onClick","loading","setLoading","useState","isClickable","Boolean","ellipsisConfig","showTooltip","handleClick","e","Promise","resolve","colItem","event","finally","undefined","text","classnames","Tooltip","title","ellipsisStyle","main","amount","DEFAULT_TAG_TYPE_COLORS","default","success","progress","processing","danger","error","warning","info","other","skill","filterResult","completed","pending","high","medium","low","getTagColor","customColors","normalizeTagItem","label","renderTagItem","tag","color","Tag","renderTagList","Array","isArray","Space","size","wrap","tagList","DEFAULT_STATUS_TYPE_MAP","active","vacation","resigned","probation","shipped","paid","cancelled","getStatusType","customTypes","normalizeStatusItem","renderStatusItem","statusItem","status","Badge","DEFAULT_SPLIT","normalizeListValue","items","list","getListItemText","normalized","join","SELECTION_CHECKBOX_WIDTH","SELECTION_RADIO_WIDTH","DEFAULT_COLUMN_WIDTH","parseColumnWidth","width","isNaN","trimmed","trim","pxMatch","match","parseFloat","num","getResolvedColumnWidth","resolveColumnDimensions","hasColumnSpan","span","getConfiguredColumnWidthPx","usesDefaultColumnWidth","columns","some","hasColumnWidth","shouldLastColumnFillRemaining","getColumnWidthPx","colsSize","configured","measured","Math","max","formatColumnWidthPx","px","getColumnTrackSize","defaultSpan","isLastColumn","widthPx","getGridTemplateColumns","rowSelection","tracks","lastColumnIndex","push","getColumnLayout","widthBased","fillRemaining","align","justify","normalizeOptionItem","buttonClassName","options","buttonGroupProps","buttonGroup","valueList","wrapperClassName","normalizedList","hidden","ButtonGroup","moreType","itemClassName","enumRender","description","enum","SIZE_NAMES","typeSize","min","SIZE_CONFIG","short","small","large","getRenderTypeRegistry","_ref","renderers","_objectWithoutPropertiesLoose","_excluded","getRenderTypeNames","keys","RENDER_TYPE_NAMES","getRender","_getRenderTypeRegistr","getColumnRender","render","_parseRenderType","parseRenderType","getTypeConfigMap","extraTypeSize","pickDimension","columnValue","typeValue","sizeValue","renderTypeValue","renderTypeNames","part","includes","getRenderTypeDimensions","_parseRenderType2","typeConfigMap","typeConfig","sizeConfig","renderTypeDimensions","resolveRenderType","_sizeConfig$width","_sizeConfig$min","_sizeConfig$max","ELLIPSIS_HANDLED_TYPES","FULL_WIDTH_CELL_TYPES","resolveColumn","_resolveColumnDimensi","_ref2","renderFn","_extends","ellipsisHandledByRender","cellFullWidth","resolveColumns","isOptionsColumn","computeColumnsValue","emptyIsPlaceholder","valueIsEmpty","removeEmpty","itemValue","getValueOf","displayValue","formatValue","itemIsEmpty","display","computeDisplay","placeholder","renderPlaceholder","computeColumnsDisplay","useSelectedRow","_Object$assign","rowKey","_Object$assign$type","_useState","selectedRows","setSelectedRows","getRowId","useCallback","selectedRowKeys","useMemo","setSelectedRowKeys","keySet","Set","has","clearSelectedRows","onSelectAll","checked","_selected","ids","existingKeys","indexOf","onSelect","newValue","slice","findIndex","row","splice","getRowSelection","extra","onChange","id","meta","allowSelectedAll","isSimpleTitle","wrapColumnHeaderTitle","sortArrayToMap","sort","Map","useControlValue","internalValue","setInternalValue","isControlled","currentValue","setValue","updater","nextValue","compareValues","a","b","direction","emptyA","emptyB","strA","strB","localeCompare","sortDataSource","_sort","columnMap","aVal","bVal","getSortSingle","sortOption","single","renderColumnTitle","sortRender","titleContent","_jsxs","useSort","props","_useControlValue","defaultSort","onSortChange","setSort","mapSort","setMapSort","callback","currentSort","newSort","from","_ref3","sortValue","_ref4","stopPropagation","sortMap","current","targetValue","clone","set","delete","CaretUpOutlined","CaretDownOutlined","locale","TotalText","ItemText","UnnamedColumn","EditTable","RestoreDefault","VisibleInfo","HiddenInfo","Search","BatchOperations","BatchOperationsWithCount","Cancel","Confirm","withLocale","createWithIntlProvider","defaultLocale","messages","filterZhCN","zhCN","filterEnUS","enUS","namespace","_finallyRethrows","body","finalizer","then","bind","ColumnsControlContent","close","onConfirm","config","formatMessage","useIntl","searchText","setSearchText","confirmLoading","setConfirmLoading","scrollEl","setScrollEl","leftFixedColumns","rightFixedColumns","visibleColumns","hiddenColumns","fixed","sortableVisibleColumns","handlerColumnsChange","columnsState","newConfig","cloneDeep","columnsList","concat","col","renderColumn","_Fragment","titleText","groupHeader","collapseItems","Checkbox","disabled","ReactSortable","dragClass","ghostClass","chosenClass","forceFallback","fallbackOnBody","scroll","bubbleScroll","setList","nextVisibleColumns","animation","delayOnTouchStart","delay","HolderOutlined","preventDefault","visible","Row","Col","Input","onSearch","allowClear","List","renderItem","Item","Button","icon","RedoOutlined","_temp","_onConfirm","reject","ref","Collapse","defaultActiveKey","ghost","bordered","gutter","_temp3","_temp2","_onConfirm2","_wasThrown","_result","storageKey","readStorage","JSON","parse","localStorage","getItem","_unused","writeStorage","data","setItem","stringify","_unused2","getData","setData","tableLocalApis","TABLE_CONFIG_COLUMN_EXTRA_WIDTH","DEFAULT_WIDTH","DEFAULT_MIN","DEFAULT_MAX","getColumnSize","_column$min","_column$max","getConfigColumnExtraWidth","columnCount","controllerOpen","withConfigColumnExtra","contentWidth","TableConfigButton","setConfig","open","setOpen","configStyle","flex","Popover","onOpenChange","trigger","placement","styles","container","padding","content","configValue","pick","SettingOutlined","useTableConfig","_ref2$controllerOpen","_ref2$tableWidth","tableWidth","_ref2$tableServerApis","tableServerApis","_useState2","currentMoveColumnIndex","setCurrentMoveColumnIndex","currentMoveColumnIndexRef","useRef","currentMoveColumnRef","startPointRef","_useState3","setConfigBase","saveConfig","useDebouncedCallback","tableName","prevConfig","useEffect","computedIndex","hasFixedColumn","lastNotFixedColumnIndex","findLastIndex","totalWidth","sum","_getColumnSize","computedRealWidth","getConfigWidth","_getColumnSize2","currentWidth","resizeBarRender","onMouseDown","_getConfigWidth","clientX","resize","useRefCallback","delta","_currentMoveColumnRef","colName","_ref4$withResize","withResize","_ref4$withConfig","withConfig","titleNode","getHeaderCellClassName","computedColumnProps","_ref5","_getConfigWidth2","realWidth","movingClass","onHeaderCell","onCell","shouldCellUpdate","record","prevRecord","itemKey","prevItemKey","isEqual","handlerCancelResize","handlerResize","document","documentElement","addEventListener","removeEventListener","columnsConfig","useGroupHeader","groupHeaderColumns","newColumns","group","appendGroupHeader","columnIndex","core","groupList","targetHeader","otherHeader","currentGroup","startIndex","groupColumn","hasGroupHeader","useElementWidth","setWidth","el","update","clientWidth","resizeObserver","ResizeObserver","observe","disconnect","renderCellContent","contentClassName","wrapEllipsis","needsWidthConstraint","inner","getColumnEllipsis","mapJustifyToAlign","resolveRowKey","toAntdWidth","parsed","toAntdFixed","getColCellStyle","textAlign","verticalAlign","getAntCellClassName","call","arguments","wrapColContent","node","viewStyle","Table","p","tableRef","isLayout","setIsLayout","empty","Empty","columnsProp","onRowSelect","sticky","stickyOffset","getStickyContainer","headerStyle","_props$pagination","pagination","summary","others","setTimeout","_useTableConfig","resizeGuideStyle","setResizeGuideStyle","updateResizeGuide","_barRect$right","root","headerCell","querySelector","tableContainer","headerRect","getBoundingClientRect","resizeBar","barRect","containerRect","position","left","round","right","top","height","zIndex","useLayoutEffect","handleUpdate","window","targetColumns","__index","_useGroupHeader","groupedColumns","antdColumns","buildLeafColumn","baseColumn","dataIndex","_","_computeColumnsValue","computedColumn","configProps","antdFixed","mapColumn","antdRowSelection","getRowKey","isSelectedAll","onIsSelectAllChange","currentKey","getCheckboxProps","columnTitle","checkboxNode","visibility","renderCell","originNode","columnWidth","tableScroll","x","hasScrollY","y","antdSticky","scrollSticky","_excluded2","offsetHeader","getContainer","tableWrapperStyle","tableElement","AntTable","showHeader","pageData","tableLayout","onHeaderRow","emptyText","rowClassName","isChecked","onRow","wrappedTable","header","renderBody","Label","handlerChange","computed","renderHeaderCellContent","setColsSize","renderHeaderGridCells","cells","checkedAll","every","indeterminate","columnStyle","Header","getLayoutColumns","TableView","layoutColumns","assignedSpan","undistributedColCount","gridTemplateColumns","headerCellProps","handleRowClick","renderBodyGridCells","getId","columnsValue","onSelectionChange","_getColumnLayout","CheckOutlined","renderGrid","parsePixelValue","getViewportRect","visualViewport","offsetTop","bottom","offsetLeft","innerHeight","innerWidth","getTableElement","getTableScrollElement","getElementViewportState","element","isBottomInViewport","isPartiallyInViewport","isTopInViewport","rect","viewport","isTopEdgeInViewport","scrollMarginTop","viewportTop","shouldShowFloatingScrollbar","viewportState","scrollWidth","state","observeViewportIntersection","notify","entry","observer","IntersectionObserver","threshold","handleViewportChange","BAR_HEIGHT","THUMB_MARGIN","computeBarMetrics","trackWidth","thumbWidth","maxThumbOffset","scrollRatio","scrollLeft","thumbLeft","FloatingScrollBar","metrics","onThumbDrag","getPortalContainer","startRef","moving","setMoving","movingRef","onThumbDragRef","moveHandler","upHandler","portalTarget","createPortal","HorizontalScroller","forwardRef","enabled","forwardedRef","setMetrics","containerRef","scrollElRef","viewportStateRef","setContainerRef","updateMetrics","handleThumbDrag","deltaX","scrollableWidth","thumbTravel","unobserveViewport","contentResizeObserver","detachScrollEl","attachScrollEl","nextScrollEl","passive","child","onLayoutChange","containerResizeObserver","TableToolbar","filterValue","onFilterChange","search","batchActions","batchContext","hasSelection","batchMenuItems","isDisabled","showBatch","showFilter","showSearch","filterList","displayLine","extraExpand","filterClassName","filterRest","searchClassName","searchStyle","searchRest","hasValueDisplay","FilterProvider","Dropdown","menu","count","DownOutlined","FilterLines","SearchInput","variant","FilterValueDisplay","readPageSize","writePageSize","isTableTopInViewport","getComputedStyle","scrollTableIntoView","requestAnimationFrame","scrollIntoView","block","inline","TABLE_COMPONENTS","collectFilterFieldNames","names","add","_item$props","omitFilterParams","params","filterFieldNames","next","TablePageInnerContent","_filter$list","refresh","reload","requestParams","fetchProps","isComplete","loadMore","send","_ref$dataFormat","dataFormat","total","totalCount","getColumns","_ref$pagination","_ref$columnRenderProp","columnRenderProps","_ref$renderType","_ref$horizontalScroll","horizontalScroller","getScrollContainer","_useIntl","tableContentRef","pendingScrollRef","handlerDataFormat","isFilterControlled","internalFilterValue","setInternalFilterValue","mapFilterValue","getFilterValue","getFilterParams","buildRequestParamsWithFilter","paramsType","formatData","resolvedColumns","fetchContext","scrollTable","handleFilterChange","currentName","handlePaginationChange","page","requestType","pageSizeName","onShowSizeChange","paginationConfig","showTotal","pageSize","hideOnSinglePage","showSizeChanger","showQuickJumper","pageSizeOptions","hasToolbar","tableContext","tableProps","TableComponent","Pagination","TablePageInner","withFetch","TablePage","_ref2$horizontalScrol","pageSizeKey","toUpperCase","_readPageSize","setPageSize","filterDefaultParams","_props$filter","fetchParams","nextSize","preset","merge"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAkH,CAAC,CAACA,cAAI,EAAE,UAAU,CAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,4FAA4F,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,0DAA0D,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,uFAAuF,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,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C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAA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"}