tav-ui
Version:
1 lines • 30.1 kB
Source Map (JSON)
{"version":3,"file":"types2.mjs","sources":["../../../../../../../packages/components/table-pro/src/types.ts"],"sourcesContent":["import { type PermissionContext } from '../../permission/src/types'\nimport {\n DEFAULT_ALIGN,\n DEFAULT_LINE_HEIGTH,\n ETableProEmits,\n FETCH_SETTING,\n PAGE_SIZE,\n PAGE_SIZE_OPTIONS,\n ROW_KEY,\n // buildTableId,\n} from './const'\nimport type { TableProExtendApis } from './hooks/useExtendInstance'\nimport type { ExtractPropTypes, PropType, VNode } from 'vue'\nimport type {\n VxeColumnPropTypes,\n VxeColumnSlotTypes,\n VxeGridEventProps,\n VxeGridInstance,\n VxeGridPropTypes,\n VxeTableDefines,\n VxeTableEventProps,\n VxeTablePropTypes,\n} from 'vxe-table'\nimport type { FetchSetting } from './const'\nimport type {\n PagerConfig,\n TableProApi,\n TableProCustomActionConfig,\n TableProFilterFormConfig,\n} from './typings'\n\nexport type TableProColumn = VxeTableDefines.ColumnOptions & {\n /** 使用customrender后template插槽失效,如果想使用template插槽,请使用slot-default */\n // customRender 在运行时不会用到,传进来后用vxetable提供的cellrender接收\n customRender?: (params: VxeColumnSlotTypes.DefaultSlotParams) => JSX.Element | VNode | string\n children?: TableProColumn[]\n /** vxetable内部会对column上的属性按照内部定义筛选 */\n params?: VxeColumnPropTypes.Params\n}\nexport type TableProColumnInfo = VxeTableDefines.ColumnInfo & {\n params?: VxeColumnPropTypes.Params\n}\n\nexport type TableProFooter = VxeTablePropTypes.FooterMethod\n\n/** table 实例 */\nexport type TableProInstance = VxeGridInstance\n/** 扩展后的 table 实例 */\nexport interface ITableProInstance {\n instance: TableProInstance & TableProExtendApis\n}\n/** table 支持的事件类型 */\nexport type TableProEvent = VxeTableEventProps & VxeGridEventProps\n/** table 支持的事件名称 */\nexport type TableProEmits = keyof typeof ETableProEmits\nexport type TableProGridEmit = (event: TableProEmits, ...args: any[]) => void\nconst _tableProEmits: string[] = []\nfor (const k in ETableProEmits) {\n _tableProEmits.push(k)\n}\nexport const tableProEmits = _tableProEmits as TableProEmits[]\n/** table props */\nexport const tableProProps = {\n //:==================================================: 全局设置 :==================================================://\n /**\n * 表格大小 https://vxetable.cn/#/table/base/size\n */\n size: {\n type: [String, null] as PropType<VxeTablePropTypes.Size>,\n default: 'small',\n },\n /** 唯一标识(被某些特定的功能所依赖) */\n id: {\n type: String as PropType<VxeTablePropTypes.ID>,\n // default: buildTableId(),\n },\n /**\n * 表格高度(默认为铺满网页)https://vxetable.cn/#/table/base/autoHeight\n * 当前默认值为 'auto' 随父级高度变化(必须开启autoresize,当前默认开启)\n * 1. 如果要随父级高度变化,此处必须设置为 'auto'。然后在外层包一个带有指定高度的父容器, 跟随父级走的话高度会跳动\n * 2. 不追随父级变化,此处可以直接设置 500。即高度为 500px\n * 3. 当高度设置为数字后还有固定表头的作用 https://vxetable.cn/#/table/base/height\n * 4. 默认铺满全屏\n */\n height: {\n type: [String, Number] as PropType<VxeTablePropTypes.Height>,\n // default: '100%',\n default: 'auto',\n },\n /** 表格最大高度(超出自动出现 y轴 滚动条) */\n maxHeight: {\n type: [String, Number] as PropType<VxeTablePropTypes.MaxHeight>,\n },\n minHeight: {\n type: [String, Number] as PropType<VxeTablePropTypes.MinHeight>,\n },\n /**\n * 表格数据(数据为响应式,在使用时建议每次变化直接赋值,与 loadData 行为一致,更新数据是不会重置状态)\n * 1. 参考 https://vxetable.cn/#/grid/api\n * 2. replace 'dataSource'\n */\n data: {\n type: Array as PropType<any[]>,\n },\n /**\n * 表格自动调整\n * 开启虚拟滚动后必须指定行高,想用动态行高则需关闭虚拟滚动\n */\n resizable: {\n type: Boolean as PropType<VxeTablePropTypes.Resizable>,\n default: true,\n },\n /** 是否带有斑马纹(需要注意的是,在可编辑表格场景下,临时插入的数据不会有斑马纹样式) */\n stripe: {\n type: Boolean as PropType<VxeTablePropTypes.Stripe>,\n default: false,\n },\n /** 是否为圆角边框 */\n round: {\n type: Boolean as PropType<VxeTablePropTypes.Round>,\n default: true,\n },\n /** 是否带有边框 */\n border: {\n type: [String, Boolean] as PropType<VxeTablePropTypes.Border>,\n default: 'inner',\n },\n /** 表格是否显示加载中 */\n loading: {\n type: Boolean as PropType<VxeTablePropTypes.Loading>,\n default: false,\n },\n /** 所有列的对齐方式 */\n align: {\n type: [String, null] as PropType<VxeTablePropTypes.Align>,\n default: DEFAULT_ALIGN,\n },\n /** 表头的对齐方式 */\n headerAlign: {\n type: [String, null] as PropType<VxeTablePropTypes.Align>,\n default: DEFAULT_ALIGN,\n },\n /** 表尾的对齐方式 */\n footerAlign: {\n type: [String, null] as PropType<VxeTablePropTypes.Align>,\n default: DEFAULT_ALIGN,\n },\n /** 是否显示表头 */\n showHeader: {\n type: Boolean as PropType<VxeTablePropTypes.ShowHeader>,\n default: true,\n },\n /** 是否显示表尾 */\n showFooter: {\n type: Boolean as PropType<VxeTablePropTypes.ShowFooter>,\n },\n /** 是否高亮当前行 */\n highlightCurrentRow: {\n type: Boolean as PropType<VxeTablePropTypes.HighlightCurrentRow>,\n default: false,\n },\n /** hover 时高亮行 */\n highlightHoverRow: {\n type: Boolean as PropType<VxeTablePropTypes.HighlightHoverRow>,\n default: true,\n },\n /** 是否高亮当前列 */\n highlightCurrentColumn: {\n type: Boolean as PropType<VxeTablePropTypes.HighlightCurrentColumn>,\n default: false,\n },\n /** hover 时高亮列 */\n highlightHoverColumn: {\n type: Boolean as PropType<VxeTablePropTypes.HighlightHoverColumn>,\n default: true,\n },\n /** 高亮单元格 */\n highlightCell: {\n type: Boolean as PropType<VxeTablePropTypes.HighlightCell>,\n default: false,\n },\n /** 表尾的数据获取方法,返回一个二维数组 */\n footerMethod: {\n type: Function as PropType<VxeTablePropTypes.FooterMethod>,\n },\n /** 给行附加 className */\n rowClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.RowClassName>,\n },\n /** 给单元格附加 className */\n cellClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.CellClassName>,\n },\n /** 给表头的行附加 className */\n headerRowClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.HeaderRowClassName>,\n },\n /** 给表头的单元格附加 className */\n headerCellClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.HeaderCellClassName>,\n },\n /** 给表尾的行附加 className */\n footerRowClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.FooterRowClassName>,\n },\n /** 给表尾的单元格附加 className */\n footerCellClassName: {\n type: [String, Function] as PropType<VxeTablePropTypes.FooterCellClassName>,\n },\n /** 给单元格附加样式 */\n cellStyle: {\n type: Object as PropType<VxeTablePropTypes.CellStyle>,\n },\n /** 给表头单元格附加样式 */\n headerCellStyle: {\n type: Object as PropType<VxeTablePropTypes.HeaderCellStyle>,\n },\n /** 给表尾单元格附加样式 */\n footerCellStyle: {\n type: Object as PropType<VxeTablePropTypes.FooterCellStyle>,\n },\n /** 给行附加样式 */\n rowStyle: {\n type: Object as PropType<VxeTablePropTypes.RowStyle>,\n },\n /** 给表头行附加样式 */\n headerRowStyle: {\n type: Object as PropType<VxeTablePropTypes.HeaderRowStyle>,\n },\n /** 给表头行附加样式 */\n footerRowStyle: {\n type: Object as PropType<VxeTablePropTypes.FooterRowStyle>,\n },\n /** 临时合并指定的单元格 (不能用于展开行,不建议用于固定列、树形结构) */\n mergeCells: {\n type: Array as PropType<VxeTablePropTypes.MergeCells>,\n },\n /** 临时合并表尾 (不能用于展开行,不建议用于固定列、树形结构) */\n mergeFooterItems: {\n type: Array as PropType<VxeTablePropTypes.MergeFooterItems>,\n },\n /** 自定义合并函数,返回计算后的值 (不能用于虚拟滚动、展开行,不建议用于固定列、树形结构) */\n spanMethod: {\n type: Function as PropType<VxeTablePropTypes.SpanMethod>,\n },\n /** 表尾合并行或列,返回计算后的值 (不能用于虚拟滚动、展开行,不建议用于固定列、树形结构) */\n footerSpanMethod: {\n type: Function as PropType<VxeTablePropTypes.FooterSpanMethod>,\n },\n /** 设置所有内容过长时显示为省略号(如果是固定列建议设置该值,提升渲染速度) */\n showOverflow: {\n type: [String, Boolean, null] as PropType<VxeTablePropTypes.ShowOverflow>,\n // default: 'ellipsis',\n default: false,\n },\n /** 设置表头所有内容过长时显示为省略号 */\n showHeaderOverflow: {\n type: [String, Boolean, null] as PropType<VxeTablePropTypes.ShowHeaderOverflow>,\n // default: 'ellipsis',\n default: false,\n },\n /** 设置表尾所有内容过长时显示为省略号 */\n showFooterOverflow: {\n type: [String, Boolean, null] as PropType<VxeTablePropTypes.ShowFooterOverflow>,\n // default: 'ellipsis',\n default: false,\n },\n /** 保持原始值的状态,被某些功能所依赖,比如编辑状态、还原数据等(开启后影响性能,具体取决于数据量) */\n keepSource: {\n type: Boolean as PropType<VxeTablePropTypes.KeepSource>,\n default: false,\n },\n /** 自动监听父元素的变化去重新计算表格(对于父元素可能存在动态变化、显示隐藏的容器中、列宽异常等场景中的可能会用到) */\n autoResize: {\n type: Boolean as PropType<VxeTablePropTypes.AutoResize>,\n // default: true,\n },\n resizeConfig: {\n type: Object as PropType<VxeTablePropTypes.ResizeConfig>,\n default: () => ({\n refreshDelay: 500,\n }),\n },\n /** 自动跟随某个属性的变化去重新计算表格,和手动调用 recalculate 方法是一样的效果(对于通过某个属性来控制显示/隐藏切换时可能会用到) */\n syncResize: {\n type: [String, Number, Boolean] as PropType<VxeTablePropTypes.SyncResize>,\n },\n /** 横向虚拟滚动配置(不支持展开行) */\n scrollX: {\n type: Object as PropType<VxeTablePropTypes.ScrollX>,\n default: () => ({\n enabled: true,\n gt: 20,\n /** 设置过大会出现空白间隙,设置为0会实时渲染但是会卡顿 */\n oSize: 10,\n // scrollToLeftOnChange: true\n }),\n },\n /** 纵向虚拟滚动配置(不支持展开行) */\n scrollY: {\n type: Object as PropType<VxeTablePropTypes.ScrollY>,\n default: () => ({\n enabled: true,\n mode: 'default',\n gt: 50,\n /** 设置过大会出现空白间隙,设置为0会实时渲染但是会卡顿 */\n oSize: 10,\n // scrollToTopOnChange: true,\n }),\n },\n //:==================================================: 全局设置 :==================================================://\n\n //:==================================================: 局部配置 :==================================================://\n /**\n * 列配置信息(详情查看:https://vxetable.cn/#/grid/api)\n * 1. useKey 代替原有的全局属性 columnKey,是否需要为每一列的 VNode 设置 key 属性(非特殊情况下不需要使用)\n */\n columnConfig: {\n type: Object as PropType<VxeTablePropTypes.ColumnConfig>,\n default: () => ({\n resizable: true,\n }),\n },\n /**\n * 行配置信息(详情查看:https://vxetable.cn/#/grid/api)\n * 1. useKey 代替原有的全局属性 rowKey,是否需要为每一列的 VNode 设置 key 属性(非特殊情况下不需要使用)\n * 2. keyField 代替原有的全局属性 rowId,自定义行数据唯一主键的字段名(默认自动生成),默认值为 _X_ROW_KEY\n */\n rowConfig: {\n type: Object as PropType<VxeTablePropTypes.RowConfig>,\n default: () => ({\n keyField: ROW_KEY,\n height: DEFAULT_LINE_HEIGTH,\n }),\n },\n /**\n * 自定义列配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n customConfig: {\n type: Object as PropType<VxeTablePropTypes.CustomConfig>,\n },\n /**\n * 列宽拖动配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n resizableConfig: {\n type: Object as PropType<VxeTablePropTypes.ResizableConfig>,\n },\n /**\n * 序号配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n seqConfig: {\n type: Object as PropType<VxeTablePropTypes.SeqConfig>,\n },\n /**\n * 排序配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n sortConfig: {\n type: Object as PropType<VxeTablePropTypes.SortConfig>,\n },\n /**\n * 筛选配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n filterConfig: {\n type: Object as PropType<VxeTablePropTypes.FilterConfig>,\n },\n /**\n * 筛选是否互斥\n */\n filterExclusion: {\n type: Boolean,\n default: true,\n },\n /**\n * 单选框配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n radioConfig: {\n type: Object as PropType<VxeTablePropTypes.RadioConfig & { enabled: boolean }>,\n default: () => ({\n enabled: false,\n highlight: true,\n }),\n },\n /**\n * 复选框配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n checkboxConfig: {\n type: Object as PropType<\n // reserve 无法清除跨页的行选中,使用cache即可\n Omit<VxeTablePropTypes.CheckboxConfig, 'reserve'> & { enabled?: boolean; cache?: boolean }\n >,\n default: () => ({\n enabled: true,\n range: true,\n highlight: true,\n cache: false,\n }),\n },\n /**\n * tooltip 配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n tooltipConfig: {\n type: Object as PropType<VxeTablePropTypes.TooltipConfig>,\n default: () => ({\n theme: 'dark',\n }),\n },\n /**\n * 导出配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n exportConfig: {\n type: Object as PropType<VxeTablePropTypes.ExportConfig>,\n },\n /**\n * 导入配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n importConfig: {\n type: Object as PropType<VxeTablePropTypes.ImportConfig>,\n },\n /**\n * 打印配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n printConfig: {\n type: Object as PropType<VxeTablePropTypes.PrintConfig>,\n },\n //:==================================================: 需付费,使用时请查看文档 :==================================================://\n /**\n * 鼠标配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 部分属性需购买 pro 才能支持\n */\n mouseConfig: {\n type: Object as PropType<VxeTablePropTypes.MouseConfig>,\n },\n /**\n * 区域选取配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 全部属性需购买 pro 才能支持\n */\n areaConfig: {\n type: Object as PropType<VxeTablePropTypes.AreaConfig>,\n },\n /**\n * 查找/替换配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 全部属性需购买 pro 才能支持\n */\n fnrConfig: {\n type: Object as PropType<VxeTablePropTypes.FNRConfig>,\n },\n /**\n * 按键配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 部分属性需购买 pro 才能支持\n */\n keyboardConfig: {\n type: Object as PropType<VxeTablePropTypes.KeyboardConfig>,\n },\n /**\n * 复制/粘贴配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 全部属性需购买 pro 才能支持\n */\n clipConfig: {\n type: Object as PropType<VxeTablePropTypes.ClipConfig>,\n },\n /** 表格筛选组件modal类名 */\n filterModalClassName: {\n type: String,\n },\n //:==================================================: 需付费,使用时请查看文档 :==================================================://\n /**\n * 展开行配置项(不支持虚拟滚动)(详情查看:https://vxetable.cn/#/grid/api)\n */\n expandConfig: {\n type: Object as PropType<VxeTablePropTypes.ExpandConfig>,\n },\n /**\n * 树形结构配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n treeConfig: {\n type: Object as PropType<VxeTablePropTypes.TreeConfig>,\n },\n /**\n * 快捷菜单配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n menuConfig: {\n type: Object as PropType<VxeTablePropTypes.MenuConfig>,\n },\n /**\n * 可编辑配置项(详情查看:https://vxetable.cn/#/grid/api)\n */\n editConfig: {\n type: Object as PropType<VxeTablePropTypes.EditConfig>,\n },\n /**\n * 校验配置项(详情查看:https://vxetable.cn/#/grid/api)\n * 1. autoPos 是否自动定位到校验不通过的单元格\n */\n validConfig: {\n type: Object as PropType<VxeTablePropTypes.ValidConfig>,\n },\n /** 校验规则配置项(详情查看:https://vxetable.cn/#/grid/api) */\n editRules: {\n type: Object as PropType<VxeTablePropTypes.EditRules>,\n },\n /** 空数据时显示的内容(详情查看:https://vxetable.cn/#/grid/api) */\n emptyText: {\n type: String as PropType<VxeTablePropTypes.EmptyText>,\n },\n /**\n * 空内容渲染配置项(详情查看:https://vxetable.cn/#/grid/api),empty-render 的优先级大于 empty-text\n * 1. name: 渲染器名称\n */\n emptyRender: {\n type: Object as PropType<VxeTablePropTypes.EmptyRender>,\n },\n /** 列配置(详情查看:https://vxetable.cn/#/grid/api) */\n columns: {\n type: Object as PropType<VxeGridPropTypes.Columns>,\n },\n /** 分页配置项(详情查看:https://vxetable.cn/#/grid/api) */\n pagerConfig: {\n type: Object as PropType<PagerConfig>,\n default: () => ({\n size: 'mini',\n layouts: ['PrevPage', 'Number', 'NextPage', 'Sizes', 'Total'],\n pageSize: PAGE_SIZE,\n pageSizes: PAGE_SIZE_OPTIONS.map((size) => Number(size)),\n controller: 'backend',\n }),\n },\n /**\n * 数据代理(详情查看:https://vxetable.cn/#/table/grid/proxy)\n * 1. 通过配置 proxy-config 参数,默认直接读取结果,响应结果应该为数组\n * 2. 可以通过 props 修改默认值,由 pager-config 代理数据转换,只需要配置好数据源即可;非常简单就可以渲染一个表格,从重复写冗余的代码中解放出来\n * 3. 接收一个 Promise\n */\n proxyConfig: {\n type: Object as PropType<VxeGridPropTypes.ProxyConfig>,\n },\n /** 工具栏配置(详情查看:https://vxetable.cn/#/grid/api) */\n toolbarConfig: {\n type: Object as PropType<VxeGridPropTypes.ToolbarConfig>,\n },\n /** 表单配置项(详情查看:https://vxetable.cn/#/grid/api) */\n formConfig: {\n type: Object as PropType<VxeGridPropTypes.FormConfig>,\n },\n /** 缩放配置项(详情查看:https://vxetable.cn/#/grid/api) */\n zoomConfig: {\n type: Object as PropType<VxeGridPropTypes.ZoomConfig>,\n },\n //:==================================================: 局部配置 :==================================================://\n\n //:==================================================: 扩展配置 :==================================================://\n /** 控制 filterform & customaction 整体显示与隐藏 */\n showOperations: {\n type: Boolean,\n default: true,\n },\n /** 表格过滤表单 filterform 配置 */\n filterFormConfig: {\n type: Object as PropType<TableProFilterFormConfig>,\n default: () => ({\n enabled: true,\n }),\n },\n /** 自定义按钮 customaction 配置 */\n customActionConfig: {\n type: Object as PropType<TableProCustomActionConfig>,\n default: () => ({\n enabled: true,\n }),\n },\n /** 异步数据是分页还是列表 */\n apiType: {\n type: String as PropType<'pager' | 'list'>,\n default: 'pager',\n },\n /** 异步数据接口 */\n api: {\n type: Function as PropType<TableProApi<Promise<any>>>,\n },\n /** 异步数据接口请求前函数 */\n beforeApi: {\n type: Function as PropType<TableProApi<any>>,\n },\n /** 异步数据接口请求后函数 */\n afterApi: {\n type: Function as PropType<(...arg: any[]) => any>,\n },\n /** 异步数据接口配置 */\n apiSetting: {\n type: Object as PropType<Partial<FetchSetting>>,\n default: () => {\n return FETCH_SETTING\n },\n },\n /** 表格数据是否立即加载 */\n immediate: {\n type: Boolean,\n default: true,\n },\n /** vxetable 默认会自动还原滚动条,这里只控制筛选、翻页、点击刷新后是否滚到顶部 */\n scrollTopActions: {\n type: Array as PropType<('paginate' | 'refresh')[]>,\n default: () => ['paginate', 'refresh'],\n },\n /** 给table填充颜色,将table和filterform区分开 */\n fillInner: {\n type: Boolean,\n default: true,\n },\n /** 覆盖tooltip */\n showTooltip: {\n type: Boolean,\n default: true,\n },\n /** 是否使用固定行高 */\n fixedLineHeight: {\n type: Boolean,\n default: true,\n },\n /** 接权限相关参数 */\n permission: {\n type: Object as PropType<PermissionContext['permission']>,\n },\n //:==================================================: 扩展配置 :==================================================://\n}\n/** table props 类型 */\nexport type TableProProps = ExtractPropTypes<typeof tableProProps>\n"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;AAChC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AACW,MAAC,aAAa,GAAG,eAAe;AAChC,MAAC,aAAa,GAAG;AAC7B,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACxB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,EAAE,EAAE;AACN,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,MAAM;AACnB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,KAAK;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AAC3B,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACxB,IAAI,OAAO,EAAE,aAAa;AAC1B,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACxB,IAAI,OAAO,EAAE,aAAa;AAC1B,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;AACxB,IAAI,OAAO,EAAE,aAAa;AAC1B,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,sBAAsB,EAAE;AAC1B,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,mBAAmB,EAAE;AACvB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,KAAK;AACf,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,KAAK;AACf,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AACjC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AACjC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC;AACjC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,YAAY,EAAE,GAAG;AACvB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACnC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,EAAE,EAAE,EAAE;AACZ,MAAM,KAAK,EAAE,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,EAAE,EAAE,EAAE;AACZ,MAAM,KAAK,EAAE,EAAE;AACf,KAAK,CAAC;AACN,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,SAAS,EAAE,IAAI;AACrB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,QAAQ,EAAE,OAAO;AACvB,MAAM,MAAM,EAAE,mBAAmB;AACjC,KAAK,CAAC;AACN,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,KAAK;AACpB,MAAM,SAAS,EAAE,IAAI;AACrB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,KAAK,EAAE,IAAI;AACjB,MAAM,SAAS,EAAE,IAAI;AACrB,MAAM,KAAK,EAAE,KAAK;AAClB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,KAAK,EAAE,MAAM;AACnB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,oBAAoB,EAAE;AACxB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;AACnE,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9D,MAAM,UAAU,EAAE,SAAS;AAC3B,KAAK,CAAC;AACN,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH,EAAE,cAAc,EAAE;AAClB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,MAAM,OAAO,EAAE,IAAI;AACnB,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,QAAQ;AAClB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,OAAO,aAAa,CAAC;AAC3B,KAAK;AACL,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC;AAC1C,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,eAAe,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,GAAG;AACH;;;;"}