antd-form-document 5.0.11 → 5.0.13

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.
Files changed (99) hide show
  1. package/.yarnignore +0 -0
  2. package/README.md +0 -0
  3. package/dist/index.tsx +1 -1
  4. package/dist/index.tsx.map +1 -1
  5. package/dist/src/applets/index.d.ts +0 -0
  6. package/dist/src/applets/index.d.ts.map +1 -1
  7. package/dist/src/components/Audio/index.d.ts +0 -0
  8. package/dist/src/components/Audio/index.d.ts.map +1 -1
  9. package/dist/src/components/Checkbox/index.d.ts +0 -0
  10. package/dist/src/components/Checkbox/index.d.ts.map +0 -0
  11. package/dist/src/components/DatePicker/index.d.ts +0 -0
  12. package/dist/src/components/DatePicker/index.d.ts.map +0 -0
  13. package/dist/src/components/Duration/index.d.ts +0 -0
  14. package/dist/src/components/Duration/index.d.ts.map +0 -0
  15. package/dist/src/components/Editor/index.d.ts +0 -0
  16. package/dist/src/components/Editor/index.d.ts.map +0 -0
  17. package/dist/src/components/FormList/index.d.ts +0 -0
  18. package/dist/src/components/FormList/index.d.ts.map +1 -1
  19. package/dist/src/components/InputNumber/index.d.ts +0 -0
  20. package/dist/src/components/InputNumber/index.d.ts.map +0 -0
  21. package/dist/src/components/Label/index.d.ts +0 -0
  22. package/dist/src/components/Label/index.d.ts.map +0 -0
  23. package/dist/src/components/Photo/index.d.ts +0 -0
  24. package/dist/src/components/Photo/index.d.ts.map +1 -1
  25. package/dist/src/components/Radio/index.d.ts +0 -0
  26. package/dist/src/components/Radio/index.d.ts.map +0 -0
  27. package/dist/src/components/Rate/index.d.ts +0 -0
  28. package/dist/src/components/Rate/index.d.ts.map +0 -0
  29. package/dist/src/components/Select/index.d.ts +0 -0
  30. package/dist/src/components/Select/index.d.ts.map +0 -0
  31. package/dist/src/components/SuperUpload/index.d.ts +0 -0
  32. package/dist/src/components/SuperUpload/index.d.ts.map +1 -1
  33. package/dist/src/components/Switch/index.d.ts +0 -0
  34. package/dist/src/components/Switch/index.d.ts.map +0 -0
  35. package/dist/src/components/Table/index.d.ts +0 -0
  36. package/dist/src/components/Table/index.d.ts.map +0 -0
  37. package/dist/src/components/Text/index.d.ts +0 -0
  38. package/dist/src/components/Text/index.d.ts.map +0 -0
  39. package/dist/src/components/TextArea/index.d.ts +0 -0
  40. package/dist/src/components/TextArea/index.d.ts.map +0 -0
  41. package/dist/src/components/TimePicker/index.d.ts +0 -0
  42. package/dist/src/components/TimePicker/index.d.ts.map +0 -0
  43. package/dist/src/components/Tooltip/index.d.ts +0 -0
  44. package/dist/src/components/Tooltip/index.d.ts.map +0 -0
  45. package/dist/src/components/Upload/index.d.ts +0 -0
  46. package/dist/src/components/Upload/index.d.ts.map +1 -1
  47. package/dist/src/components/Video/index.d.ts +0 -0
  48. package/dist/src/components/Video/index.d.ts.map +1 -1
  49. package/dist/src/components/index.d.ts +0 -0
  50. package/dist/src/components/index.d.ts.map +0 -0
  51. package/dist/src/config.d.ts +6 -1
  52. package/dist/src/config.d.ts.map +1 -1
  53. package/dist/src/containers/Col/index.d.ts +0 -0
  54. package/dist/src/containers/Col/index.d.ts.map +1 -1
  55. package/dist/src/containers/Collapse/index.d.ts +0 -0
  56. package/dist/src/containers/Collapse/index.d.ts.map +0 -0
  57. package/dist/src/containers/Content/index.d.ts +0 -0
  58. package/dist/src/containers/Content/index.d.ts.map +0 -0
  59. package/dist/src/containers/Divider/index.d.ts +0 -0
  60. package/dist/src/containers/Divider/index.d.ts.map +1 -1
  61. package/dist/src/containers/Row/index.d.ts +0 -0
  62. package/dist/src/containers/Row/index.d.ts.map +1 -1
  63. package/dist/src/containers/Steps/index.d.ts +0 -0
  64. package/dist/src/containers/Steps/index.d.ts.map +1 -1
  65. package/dist/src/containers/index.d.ts +0 -0
  66. package/dist/src/containers/index.d.ts.map +0 -0
  67. package/dist/src/context.d.ts +0 -0
  68. package/dist/src/context.d.ts.map +0 -0
  69. package/dist/src/entity/XML.d.ts +0 -0
  70. package/dist/src/entity/XML.d.ts.map +0 -0
  71. package/dist/src/form/index.d.ts +13 -1
  72. package/dist/src/form/index.d.ts.map +1 -1
  73. package/dist/src/index.d.ts +0 -0
  74. package/dist/src/index.d.ts.map +0 -0
  75. package/dist/src/preview/index.d.ts +0 -0
  76. package/dist/src/preview/index.d.ts.map +1 -1
  77. package/dist/src/service/AIComponent.d.ts +14 -0
  78. package/dist/src/service/AIComponent.d.ts.map +1 -0
  79. package/dist/src/service/ProComponent.d.ts +0 -0
  80. package/dist/src/service/ProComponent.d.ts.map +1 -1
  81. package/dist/src/service/UIComponent.d.ts +2 -2
  82. package/dist/src/service/UIComponent.d.ts.map +1 -1
  83. package/dist/src/service/UIListComponent.d.ts +0 -0
  84. package/dist/src/service/UIListComponent.d.ts.map +0 -0
  85. package/dist/src/service/UploadComponent.d.ts +25 -0
  86. package/dist/src/service/UploadComponent.d.ts.map +1 -0
  87. package/dist/src/service/WidgetComponent.d.ts +0 -0
  88. package/dist/src/service/WidgetComponent.d.ts.map +0 -0
  89. package/dist/src/service/index.d.ts +1 -0
  90. package/dist/src/service/index.d.ts.map +1 -1
  91. package/dist/src/utils/document.d.ts +0 -0
  92. package/dist/src/utils/document.d.ts.map +0 -0
  93. package/dist/src/utils/loading.d.ts +0 -0
  94. package/dist/src/utils/loading.d.ts.map +1 -1
  95. package/dist/src/utils/request.d.ts +7 -0
  96. package/dist/src/utils/request.d.ts.map +1 -1
  97. package/dist/src/utils/style.d.ts +0 -0
  98. package/dist/src/utils/style.d.ts.map +1 -1
  99. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.tsx","sources":["../src/entity/XML.ts","../src/utils/document.ts","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/utils/style.ts","../src/utils/loading.ts","../src/utils/request.ts","../src/service/WidgetComponent.ts","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../src/service/UIListComponent.tsx","../src/components/Label/index.tsx","../src/components/Tooltip/index.tsx","../src/preview/index.tsx","../src/components/Text/index.tsx","../src/components/TextArea/index.tsx","../src/components/InputNumber/index.tsx","../src/components/Editor/index.tsx","../src/components/Select/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Radio/index.tsx","../src/components/Switch/index.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Duration/index.tsx","../src/components/DatePicker/index.tsx","../src/components/TimePicker/index.tsx","../src/components/Upload/index.tsx","../src/components/Photo/index.tsx","../src/components/Rate/index.tsx","../src/components/Audio/index.tsx","../src/components/Video/index.tsx","../src/components/SuperUpload/index.tsx","../src/components/Table/index.tsx","../src/components/FormList/index.tsx","../src/containers/Row/index.tsx","../src/containers/Col/index.tsx","../src/containers/Steps/index.tsx","../src/containers/Content/index.tsx","../src/containers/Divider/index.tsx","../src/containers/Collapse/index.tsx","../src/form/index.tsx"],"sourcesContent":["import { parseInt, uniqueId } from \"lodash\";\r\n\r\nexport default class XML {\r\n readonly id: string;\r\n readonly tag: string;\r\n readonly text?: string;\r\n readonly attributes: { [name: string]: string | boolean } = {};\r\n readonly cdata?: string;\r\n readonly children?: XML[];\r\n\r\n constructor(element: Element) {\r\n // this.id = Math.floor(Math.random() * 1000000000).toString();\r\n this.id = uniqueId();\r\n /** 获得属性 */\r\n for (const item of element.attributes) {\r\n let value: string | boolean = item.value.trim();\r\n if (this.isBoolean(value)) {\r\n value = this.toBoolean(value);\r\n }\r\n this.attributes[item.name] = value;\r\n }\r\n\r\n /** 获得子元素 */\r\n this.children = new Array();\r\n for (const node of element.childNodes) {\r\n if (node instanceof Element) {\r\n this.children?.push(new XML(node));\r\n }\r\n /** 获得文本 */\r\n if (node.nodeType === 3 && node.textContent) {\r\n this.text = node.textContent;\r\n }\r\n /** 获得CDATA */\r\n if (node.nodeType === 4) {\r\n this.cdata = node.nodeValue?.replace(/\\ +/g, \" \").replace(/[\\t\\r\\n]/g, \"\");\r\n }\r\n }\r\n this.tag = element.nodeName;\r\n }\r\n\r\n /**\r\n * 判断是否为boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isBoolean(value: string) {\r\n return value === \"true\" || value === \"false\";\r\n }\r\n\r\n /**\r\n * 转换boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toBoolean(value: string) {\r\n return value === \"true\";\r\n }\r\n\r\n /**\r\n * 判断是否为number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isNumber(value: string) {\r\n return /^\\d+$/.test(value);\r\n }\r\n\r\n /**\r\n * 转换number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toNumber(value: string) {\r\n return parseInt(value, 10);\r\n }\r\n}","import XML from \"@/entity/XML\";\r\n\r\n/**\r\n * xml 解析类\r\n */\r\nexport default class XMLDocument {\r\n\r\n /**\r\n * document 解析 xml对象\r\n * \r\n * @param document \r\n * @returns \r\n */\r\n static parser(document: Document) {\r\n const element: Element = <Element>document.childNodes[0];\r\n return new XML(element);\r\n }\r\n\r\n /**\r\n * document字符串 转换 document对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\r\n\r\n /**\r\n * document字符串 转换 xml对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static getRoot(documentString: string): XML {\r\n const doc: Document = XMLDocument.toDocument(documentString);\r\n return XMLDocument.parser(doc);\r\n }\r\n\r\n /**\r\n * 选择单个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selector(document: Document | Element, selectors: string): Element | null {\r\n return document.querySelector(selectors);\r\n }\r\n\r\n /**\r\n * 选择多个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selectors(document: Document | Element, selectors: string): NodeListOf<Element> {\r\n return document.querySelectorAll(selectors);\r\n }\r\n}","import moment from 'moment';\r\n\r\n/**\r\n * validate 验证\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const validate = ({ type = 'string', required, minlength, maxlength, min, max, pattern, message }: any): Design.Rule => {\r\n if (required) {\r\n return { type, required, message };\r\n }\r\n if (minlength && maxlength) {\r\n return { type, min: Number(minlength), max: Number(maxlength), message };\r\n }\r\n if (min && max) {\r\n return { type: 'number', min: Number(min), max: Number(max), message };\r\n }\r\n if (type === 'phone') {\r\n return { type: 'string', pattern: new RegExp('^[1][3,5,6,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type: 'string', pattern: new RegExp(pattern), message };\r\n }\r\n return { type, message };\r\n}\r\n\r\n/**\r\n * condition 条件\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const condition = (fields: object | undefined, preview: boolean) => ({ test }: { test: string }): boolean | undefined => {\r\n try {\r\n if (fields) {\r\n fields = { ...fields, preview }\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `return ${test}`);\r\n return actuator(fields);\r\n }\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * collection 集合\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const collection = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `${cdata}`);\r\n return actuator(fields);\r\n }\r\n const actuator: Function = new Function(`${cdata}`);\r\n return actuator();\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return [];\r\n}\r\n\r\n/**\r\n * compute 计算\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const compute = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> | string | undefined => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, 'moment', `${cdata}`);\r\n return actuator(fields, moment);\r\n }\r\n const actuator: Function = new Function('moment', `${cdata}`);\r\n return actuator(moment);\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DesignContext = React.createContext<Design.Context>({});","class DesignConfig {\r\n readonly request: {\r\n prefix: string;\r\n headers: {};\r\n route: string;\r\n } = {\r\n prefix: \"api\",\r\n headers: {},\r\n route: \"/design\"\r\n }\r\n readonly file: {\r\n listUrl: string,\r\n downloadUrl: string,\r\n uploadUrl: string,\r\n previewUrl: string,\r\n extraData?: {}\r\n } = {\r\n listUrl: \"/file/list\",\r\n downloadUrl: \"/file/download\",\r\n uploadUrl: \"/file/upload\",\r\n previewUrl: \"/file/preview\",\r\n extraData: (file: Design.File.FileInfo, fileType: string) => {},\r\n }\r\n readonly style: {\r\n labelStyle: {}\r\n } = {\r\n labelStyle: {color: \"#055ab5\"}\r\n }\r\n readonly form: {\r\n documentUrl: string\r\n } = {\r\n documentUrl: \"/form/:formId\"\r\n }\r\n readonly chunk : {\r\n checkFile: string,\r\n checkChunk: string,\r\n chunkUpload: string,\r\n doMerge: string,\r\n mergeProgress: string,\r\n onComplete: string,\r\n completeProgress: string,\r\n chunkSize: number,\r\n } = {\r\n chunkSize: 10 * 1024 ** 2,\r\n checkFile: \"/chunk/checkFile\",\r\n checkChunk: \"/chunk/checkChunk\",\r\n chunkUpload: \"/chunk/chunkUpload\",\r\n doMerge: \"/chunk/doMerge\",\r\n mergeProgress: \"/chunk/mergeProgress\",\r\n onComplete: \"/chunk/onComplete\",\r\n completeProgress: \"/chunk/completeProgress\"\r\n }\r\n\r\n readonly mimeType: {[name: string]: string} = {}\r\n\r\n readonly components?: any\r\n readonly previewComponents?: any\r\n \r\n private constructor(conf?: Design.Config) {\r\n if (conf) {\r\n const { request, file, form, chunk, mimeType, components, previewComponents } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\r\n this.form = { ...this.form, ...form };\r\n this.chunk = { ...this.chunk, ...chunk };\r\n this.mimeType = mimeType;\r\n this.components = components;\r\n this.previewComponents = previewComponents;\r\n }\r\n }\r\n\r\n static init(conf?: Design.Config) {\r\n return new DesignConfig(conf);\r\n }\r\n}\r\n\r\nlet config: DesignConfig = DesignConfig.init();\r\nconst defineConfig = (conf: Design.Config) => {\r\n config = DesignConfig.init(conf)\r\n}\r\n\r\nexport { defineConfig, config }","import { camelCase, isObject, isString } from 'lodash';\r\n\r\n/**\r\n * 转换样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\nexport const toStyles = (style: object | string | undefined) => {\r\n const styles: {} = {};\r\n if (isObject(style)) {\r\n return style;\r\n } else if (isString(style)) {\r\n const styleArray: string[] = style.replace(/\\ +/g, \"\").split(\";\");\r\n styleArray.forEach(items => {\r\n if (items) {\r\n const [key, value] = items.split(\":\");\r\n Object.assign(styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n return styles;\r\n}","let num = 0;\r\nconst listeners: ((loading: boolean) => void)[] = [];\r\n\r\n/**\r\n * wait\r\n * \r\n * @param millisecond \r\n * @returns \r\n */\r\nconst wait = (millisecond: number) => (\r\n new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(millisecond);\r\n }, millisecond)\r\n}));\r\n\r\n/**\r\n * 注册loading\r\n * \r\n * @param payload \r\n */\r\nexport const regrister = (payload: (loading: boolean) => void) => {\r\n if (typeof payload === 'function') {\r\n listeners.push(payload);\r\n }\r\n}\r\n\r\n/**\r\n * 触发\r\n * \r\n * @param loading \r\n */\r\nconst trigger = async (loading: boolean) => {\r\n if (num === 0) {\r\n for (const callback of listeners) {\r\n callback(loading);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 开始加载loading\r\n */\r\nexport const begin = async () => {\r\n if (num ++ === 0) {\r\n trigger(true);\r\n }\r\n}\r\n\r\n/**\r\n * 结束加载loading\r\n * \r\n */\r\nexport const end = async () => {\r\n if (-- num === 0) {\r\n trigger(false);\r\n }\r\n}\r\n\r\n/**\r\n * 自动关闭\r\n * \r\n */\r\nexport const autoClose = async () => {\r\n await wait(1000);\r\n if (num === 0) {\r\n trigger(false);\r\n } else {\r\n autoClose()\r\n }\r\n}\r\n\r\n/**\r\n * 错误loading\r\n */\r\nexport const error = async () => {\r\n num = 0;\r\n trigger(false);\r\n}","import { cloneDeep } from 'lodash';\r\nimport { extend } from 'umi-request';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\nimport { begin, end, error } from './loading';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n headers: config.request.headers,\r\n timeout: 10000,\r\n});\r\n\r\n/** loading全局中间件 */\r\numiRequest.use(async (ctx, next) => {\r\n try {\r\n begin();\r\n await next();\r\n end();\r\n } catch (e) {\r\n error();\r\n throw e;\r\n }\r\n}, { global: true });\r\n\r\n/** 请求访问 **/\r\nconst request = (targetUrl: string, options: any) => {\r\n const cloneData = cloneDeep(options.data);\r\n let url = targetUrl;\r\n try {\r\n // 过滤protocol、domain、host\r\n let domain = '';\r\n const urlMatch = url.match(/[a-zA-z]+:\\/\\/[^/]*/);\r\n if (urlMatch) {\r\n [domain] = urlMatch;\r\n url = url.slice(domain.length);\r\n }\r\n // 编译url参数\r\n const match = parse(url)?.tokens;\r\n url = compile(url)(options.data);\r\n match.forEach((item: any) => {\r\n if (item instanceof Object && item.name in cloneData) {\r\n delete cloneData[item.name];\r\n }\r\n });\r\n url = domain + url;\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n if (options.method.toLocaleUpperCase() === 'GET') {\r\n options.params = cloneData;\r\n } else if (options.type){\r\n options.requestType = options.type\r\n }\r\n options.prefix = config.request.prefix; \r\n // 调用umi-request\r\n return umiRequest(url, options)\r\n .then(({ status, ...rest }: any) => {\r\n const success = status === 200;\r\n return Promise.resolve({\r\n success,\r\n ...rest,\r\n });\r\n })\r\n .catch(({ response, data }: any) => {\r\n const message = data?.message ?? '访问超时';\r\n console.error(url, response, data);\r\n return Promise.resolve({\r\n success: false,\r\n message,\r\n });\r\n });\r\n};\r\n\r\n/** request **/\r\nexport default (uri: string) => {\r\n let [method, type, url] = ['GET', 'json', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n } else if (uriArray.length === 3) {\r\n [method, type, url] = uriArray;\r\n }\r\n return (data?: any) => request(url, { method, type, data });\r\n}\r\n","import React, { PureComponent } from \"react\";\r\nimport request from \"@/utils/request\";\r\nimport { DesignContext } from \"@/context\";\r\n\r\nexport default class WidgetComponent<P = {}, S = {}> extends PureComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param uri \r\n * @returns \r\n */\r\n async request(uri: string, args?: object): Promise<any> {\r\n const params = args ?? this.context.params;\r\n return request(uri)({ ...params }).then(({ success, data }) => (\r\n success ? Promise.resolve(data) : Promise.reject(undefined)\r\n )\r\n ).catch(error => {\r\n console.error(\"remote\", uri, error);\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n}\r\n\r\nWidgetComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { every, some, find } from \"lodash\";\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { toStyles } from \"@/utils/style\";\r\nimport WidgetComponent from \"./WidgetComponent\";\r\n\r\nexport default class UIComponent<P extends Design.ComponentProps, S = {}> extends WidgetComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n styleWrapper = { style: { borderBottom: '1px solid #d9d9d9' } };\r\n\r\n /**\r\n * 设置字段默认值\r\n * \r\n * @param defaultValue \r\n */\r\n setDefaultValue<T>(defaultValue: T): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n const value = form.current?.getFieldValue(code);\r\n if (!value) {\r\n form.current?.setFieldValue(code, defaultValue);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前字段值\r\n * \r\n * @param value \r\n */\r\n setFieldValue<T>(value: T | undefined): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n form.current?.setFieldValue(code, value);\r\n }\r\n }\r\n\r\n /**\r\n * 清楚当前值\r\n * \r\n */\r\n cleanFieldValue(): void {\r\n setTimeout(() => {\r\n this.setFieldValue(undefined);\r\n }, 1);\r\n }\r\n\r\n /**\r\n * 获得当前值\r\n * \r\n * @returns \r\n */\r\n getFieldValue<T>(): T | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n return form.current?.getFieldValue(code);\r\n }\r\n }\r\n\r\n /**\r\n * 获得所有form对象值\r\n * \r\n * @returns \r\n */\r\n getFieldsValue(): object | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n return form.current?.getFieldsValue();\r\n }\r\n }\r\n\r\n /**\r\n * 获得标签\r\n * \r\n * @returns \r\n */\r\n getLabel() {\r\n const isShowTitle = this.context.showTitle;\r\n if (isShowTitle) {\r\n const { title, labelStyle } = this.props;\r\n const labelStyles = toStyles(labelStyle);\r\n return <span style={{ ...config.style.labelStyle, ...labelStyles }}>{title}</span>;\r\n }\r\n }\r\n\r\n /**\r\n * 获得item信息\r\n * \r\n * @returns \r\n */\r\n getItem(): { itemProps: {}, itemLayouts: {} } {\r\n const { preview, labelCol, wrapperCol, tips } = this.props;\r\n const itemLayouts = labelCol && wrapperCol ? { labelCol: { span: labelCol }, wrapperCol: { span: wrapperCol } } : {};\r\n let itemProps: {};\r\n if (preview) {\r\n itemProps = { required: false };\r\n Object.assign(itemLayouts.wrapperCol ?? {}, this.styleWrapper);\r\n } else {\r\n itemProps = { tooltip: tips };\r\n }\r\n return { itemProps, itemLayouts };\r\n }\r\n\r\n /**\r\n * 样式\r\n * \r\n * @returns \r\n */\r\n getStyles(): { styles: {}, itemStyles: {} } {\r\n const { style, itemStyle } = this.props;\r\n const styles = toStyles(style);\r\n const itemStyles = toStyles(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 条件\r\n * \r\n * @param defaultHide \r\n * @param children \r\n * @returns \r\n */\r\n display(): boolean {\r\n const fileds = this.getFieldsValue();\r\n const { defaultHide = false, children, preview } = this.props;\r\n const show: boolean = !defaultHide;\r\n const conditions: Design.Modal.ConditionXML | undefined = find(children, { tag: \"Conditions\" });\r\n if (conditions) {\r\n const { type, action } = conditions;\r\n const list = conditions.children?.map(condition(fileds, preview!!));\r\n if (list?.length > 0 && list?.[0] !== undefined) {\r\n let result: boolean = false;\r\n if (type === 'and') {\r\n result = every(list);\r\n } else {\r\n result = some(list);\r\n }\r\n if ((result && action === 'hide') || (!result && action === 'show')) {\r\n return false;\r\n } else if ((!result && action === 'hide') || (result && action === 'show')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return show;\r\n }\r\n\r\n /**\r\n * 规则\r\n * \r\n * @param preview \r\n * @param children \r\n * @returns \r\n */\r\n rules(): Design.Rule[] {\r\n const { preview, children } = this.props;\r\n if (!preview) {\r\n const validates = find(children, { tag: \"Validates\" });\r\n return validates?.children?.map(validate) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 可选内容列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n collectionList(): string[] | undefined {\r\n const content = find(this.props.children, { tag: \"Collection\" });\r\n if (content) {\r\n const fields = this.getFieldsValue();\r\n return collection(fields, content);\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * 计算值\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n onComputeValue(): void {\r\n const content = find(this.props.children, { tag: \"Compute\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n const computeValue = compute(fileds, content);\r\n if (computeValue) {\r\n setTimeout(() => {\r\n this.setFieldValue(computeValue);\r\n }, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 初始化值\r\n * \r\n * @param value \r\n */\r\n initValue(value?: string): void {\r\n const { defaultValue = value } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\nUIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { Form } from \"antd\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\ninterface ProComponentProps extends Design.ComponentProps {\r\n Component: any;\r\n}\r\n\r\nexport default class ProComponent extends UIComponent<ProComponentProps> {\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n initValue = () => {\r\n const { defaultValue } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n };\r\n\r\n onChange = (value: string) => {\r\n this.setFieldValue(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, hidden } = this.props;\r\n const { Component, defaultValue, style, ...props } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} style={styles} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import { find } from \"lodash\";\r\nimport { config } from \"@/config\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\nexport default class UIListComponent<P extends Design.ComponentProps, S = {}> extends UIComponent<P, S> {\r\n\r\n /**\r\n * 选项列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n optionList(): Design.ItemOption[] | undefined {\r\n const options = find(this.props.children, { tag: \"Options\" })\r\n return options?.children as [];\r\n }\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: string) => value?.length > 0 ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n if (rule.min && rule.max) {\r\n const validator = (_: unknown, list: any[]) => list.length >= rule.min! && list.length <= rule.max! ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n /**\r\n * 获得资源列表\r\n * \r\n * @param list \r\n * @param itemList \r\n * @param reset \r\n * @returns \r\n */\r\n getList(list: Design.ItemOption[], itemList: string[] | undefined, reset: (plist: Design.ItemOption[]) => void): Design.ItemOption[] {\r\n if (itemList) {\r\n const plist = list.filter(({ key }) => itemList.includes(key));\r\n reset(plist);\r\n return plist;\r\n }\r\n return list;\r\n }\r\n\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param uri \r\n * @returns \r\n */\r\n async request(uri: string, args?: object): Promise<any> {\r\n const url = config.request.route + uri;\r\n return super.request(url, args).then(data => {\r\n if (Array.isArray(data)) {\r\n const list = data.map(item => {\r\n const [key, label] = Object.entries<string>(item)?.[0];\r\n return { key, label };\r\n });\r\n return Promise.resolve(list);\r\n } else {\r\n return Promise.resolve(data);\r\n }\r\n });\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Label extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.rules();\r\n const { title, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n wrapperCol={{ span: 24 }}\r\n >\r\n <div style={styles}>{title}</div>\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Tooltip extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n const tooltip = this.context.tooltip ?? true;\r\n if (show && tooltip) {\r\n const { title, hidden, children } = this.props; \r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item style={itemStyles} hidden={hidden} wrapperCol={{ span: 24 }}>\r\n <div style={styles}>{title ?? children}</div>\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Space, Image } from 'antd';\r\nimport { config } from '@/config';\r\n\r\n/** 文本预览 */\r\nconst DefalutPreviewText = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n const urls = value.split(/[,;\\s]/);\r\n return urls.map((url: string) => <div style={style}><a href={url} target=\"_blank\" rel=\"noreferrer\">{url}</a></div>);\r\n }\r\n return <div style={style}>{value}</div>;\r\n}\r\nexport const PreviewText = (props: any) => (\r\n (config.previewComponents?.PreviewText ?? DefalutPreviewText)(props)\r\n)\r\n\r\n/** 富文本预览 */\r\nconst DefalutPreviewEditor = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n return <div dangerouslySetInnerHTML={{ __html: value }}></div>;\r\n}\r\nexport const PreviewEditor = (props: any) => (\r\n (config.previewComponents?.PreviewEditor ?? DefalutPreviewEditor)(props)\r\n)\r\n\r\n/** 时长预览 */\r\nconst DefalutPreviewDuration = ({ value, format, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n let result = format;\r\n const ds = [\"H\", \"M\", \"S\"];\r\n const vs = value ? value.split(\":\") : [\"000\", \"00\", \"00\"];\r\n for (let i = 0; i < ds.length; i++) {\r\n result = result.replace(new RegExp(`\\\\[${ds[i]}\\\\]|${ds[i]}`, \"g\"), vs[i]);\r\n }\r\n return <div style={style}>{result}</div>;\r\n}\r\nexport const PreviewDuration = (props: any) => (\r\n (config.previewComponents?.PreviewDuration ?? DefalutPreviewDuration)(props)\r\n)\r\n\r\n/** 切换预览 */\r\nconst DefalutPreviewSwitch = ({ checked, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div style={style}>{checked ? \"开启\" : \"关闭\"}</div>;\r\n}\r\nexport const PreviewSwitch = (props: any) => (\r\n (config.previewComponents?.PreviewSwitch ?? DefalutPreviewSwitch)(props)\r\n)\r\n\r\n/** 列表预览 */\r\nconst DefalutPreviewList = ({ value, list, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n if (Array.isArray(value)) {\r\n const items = list.filter(({ key }: any) => value.includes(key)).map(({ label }: any) => label);\r\n return <div style={style}>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div style={style}>{item?.label}</div>;\r\n }\r\n}\r\nexport const PreviewList = (props: any) => (\r\n (config.previewComponents?.PreviewList ?? DefalutPreviewList)(props)\r\n)\r\n\r\n/** 文件预览 */\r\nconst DefalutPreviewFile = ({ fileList }: { fileList: any[] }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n const previewUrl = config.request.prefix + config.file.previewUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url, contentType }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n /** pdf文本预览 */\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 图片文本预览 */\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <Image width={200} src={url} alt={name} />\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 视频文本预览 */\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 音频文本预览 */\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={id}>\r\n <div style={{ paddingBottom: 10, display: 'flex', alignItems: 'center' }}>\r\n <div>\r\n <audio src={url} controls style={{ width: 'calc(100% - 40px)', height: 30 }}>当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <div>{name}</div>\r\n </div>\r\n <a style={{ paddingLeft: 10 }} href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n /** office文本预览 */\r\n if (name?.endsWith(\".doc\") || name?.endsWith(\".docx\") || name?.endsWith(\".xls\") || name?.endsWith(\".xlsx\") || name?.endsWith(\".ppt\") || name?.endsWith(\".pptx\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={previewUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 默认文本预览 */\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewFile = (props: any) => (\r\n (config.previewComponents?.PreviewFile ?? DefalutPreviewFile)(props)\r\n)\r\n\r\n/** 音频预览 */\r\nconst DefalutPreviewAudio = ({ fileList, autoplay, muted, loop, preload }: { fileList: any[], autoplay: boolean, muted: boolean, loop: boolean, preload: \"auto\" | \"metadata\" | \"none\" }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <audio\r\n src={url}\r\n controls={true}\r\n autoPlay={autoplay}\r\n muted={muted}\r\n loop={loop}\r\n preload={preload}\r\n style={{ width: 'calc(100% - 40px)', height: 30 }}\r\n >当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewAudio = (props: any) => (\r\n (config.previewComponents?.PreviewAudio ?? DefalutPreviewAudio)(props)\r\n)\r\n\r\n/** 视频预览 */\r\nconst DefalutPreviewVideo = ({ fileList, controls, autoplay, muted, pip, loop, preload }: { fileList: any[], controls: boolean, autoplay: boolean, muted: boolean, pip: boolean, loop: boolean, preload: \"auto\" | \"metadata\" | \"none\" }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <video\r\n src={url}\r\n controls={controls}\r\n autoPlay={autoplay}\r\n muted={muted}\r\n loop={loop}\r\n preload={preload}\r\n style={{ width: 260 }}\r\n >当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewVideo = (props: any) => (\r\n (config.previewComponents?.PreviewVideo ?? DefalutPreviewVideo)(props)\r\n)\r\n\r\n/** 图片预览 */\r\nconst DefalutPreviewImage = ({ fileList, width, height, style }: { fileList: any[], width: number, height: number, style?: object }) =>\r\n <>\r\n {fileList?.map(({ id, name, url }) => (\r\n <div key={id} style={style}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={width} height={height} src={url} alt={name} />\r\n <a href={config.request.prefix + config.file.downloadUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n ))}\r\n </>\r\nexport const PreviewImage = (props: any) => (\r\n (config.previewComponents?.PreviewImage ?? DefalutPreviewImage)(props)\r\n)","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class Text extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText type={type} style={styles} /> : <Input maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class TextArea extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue(); \r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, placeholder, maxLength, allowClear, showCount, minRow=\"0\", maxRow=\"0\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles} = this.getStyles();\r\n const minRows = Number(minRow);\r\n const maxRows = Number(maxRow);\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <Input.TextArea maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} autoSize={ minRows + maxRows < 1 ? false : { minRows, maxRows} } disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, InputNumber as Numerial } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class InputNumber extends UIComponent<Design.NumberProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const { type = \"number\", precision } = this.props;\r\n let numberProps: {} = {};\r\n if (type === \"digits\") {\r\n if (precision) {\r\n numberProps = {\r\n precision: Number(precision),\r\n };\r\n } else {\r\n numberProps = {\r\n precision: 2,\r\n };\r\n }\r\n } else if (type === \"money\") {\r\n numberProps = {\r\n formatter: (value: string) =>\r\n `¥ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"),\r\n parser: (value: string) => value!.replace(/\\$\\s?|(,*)/g, \"\"),\r\n };\r\n } else if (type === \"percentage\") {\r\n numberProps = {\r\n formatter: (value: string) => `${value}%`,\r\n parser: (value: string) => value!.replace(\"%\", \"\"),\r\n };\r\n }\r\n this.onComputeValue();\r\n const rules = this.rules().map(rule => rule.required ? { ...rule, type: \"number\" } : rule);\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, min, max, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? (<PreviewText style={styles} />) : (<Numerial min={min} max={max} disabled={readonly} {...numberProps} style={styles} />)}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { PreviewEditor } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\nimport { Editor as WangEditor, Toolbar } from '@wangeditor/editor-for-react'\r\nimport { debounce } from 'lodash';\r\nimport '@wangeditor/editor/dist/css/style.css'\r\n\r\nexport default class Editor extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, placeholder, hidden, readonly } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n colon={!!title}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {(preview || readonly) ? <PreviewEditor style={styles} /> : <EditorWidget placeholder={placeholder} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass EditorWidget extends React.Component<Design.WidgetProps> {\r\n\r\n state = {\r\n editor: null,\r\n html: ''\r\n }\r\n\r\n handleChange = debounce((value) => {\r\n this.props.onChange?.(value);\r\n }, 500);\r\n\r\n componentDidMount(): void {\r\n setTimeout(() => {\r\n this.setState({ html: this.props.value });\r\n }, 1);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { placeholder, style } = this.props;\r\n const { editor, html } = this.state;\r\n\r\n const styles: React.CSSProperties = { height: '200px', overflowY: 'hidden', ...style };\r\n\r\n return (\r\n <div style={{ border: '1px solid #ccc', zIndex: 100 }}>\r\n <Toolbar\r\n editor={editor}\r\n mode=\"default\"\r\n defaultConfig={{\r\n excludeKeys: ['group-image', 'group-video'],\r\n }}\r\n style={{ borderBottom: '1px solid #ccc' }}\r\n />\r\n <WangEditor\r\n defaultConfig={{ placeholder }}\r\n value={html}\r\n onCreated={editor => {\r\n this.setState({ editor })\r\n }}\r\n onChange={(editor) => {\r\n const html: string = editor.getHtml();\r\n this.setState({ html }, () => {\r\n this.handleChange(html);\r\n });\r\n }}\r\n mode=\"default\"\r\n style={styles}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewList } from '@/preview';\r\n\r\nexport default class SelectList extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n initValue() {\r\n const { defaultValue, multiple } = this.props;\r\n if (defaultValue) {\r\n if (multiple) {\r\n this.setDefaultValue([defaultValue]);\r\n } else {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const { code, preview, multiple, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const rules = multiple ? this.plusRules() : this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string | string[]>();\r\n if (currentValue && (\r\n (!multiple && !plist.some(item => item.key === currentValue)) ||\r\n (multiple && !plist.some(item => currentValue.includes(item.key)))\r\n )) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={this.state.list} style={styles} /> :\r\n <SelectWidget list={list} multiple={multiple} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />\r\n }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nconst { Option } = Select;\r\nclass SelectWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n handleItemValue = (value: string) => {\r\n this.props.onChange?.(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { list, value, multiple, placeholder, allowClear, readonly, style } = this.props;\r\n return (<Select\r\n showSearch\r\n placeholder={placeholder}\r\n mode={multiple ? \"multiple\" : undefined}\r\n disabled={readonly}\r\n value={value as string}\r\n allowClear={allowClear}\r\n style={style}\r\n onChange={this.handleItemValue}\r\n filterOption={(inputValue: string, option: any) =>\r\n (option!.children as unknown as string).toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n >\r\n {list && (list.map(({ key, label }) => <Option key={key} value={key}>{label}</Option>))}\r\n </Select>);\r\n }\r\n}","import React from 'react';\r\nimport { Form, Checkbox } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class CheckBox extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({\r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string[]>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewList list={this.state.list} style={styles} /> : <CheckboxWidget list={list} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nclass CheckboxWidget extends WidgetComponent<Design.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, readonly, style, onChange } = this.props;\r\n return (\r\n <Checkbox.Group\r\n style={style}\r\n value={value as string[]}\r\n onChange={(value: any) => {\r\n onChange?.(value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Checkbox key={key} value={key} disabled={readonly}>{label}</Checkbox>))}\r\n </Checkbox.Group>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Radio } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class RadioButton extends UIListComponent<Design.Radio.Props, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, optionType, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={list} style={styles} /> : <RadioWidget list={this.state.list} optionType={optionType} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n } \r\n}\r\n\r\nclass RadioWidget extends WidgetComponent<Design.Radio.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, optionType, readonly, style, onChange } = this.props;\r\n return (\r\n <Radio.Group\r\n value={value}\r\n optionType={optionType}\r\n style={style}\r\n onChange={(e: any) => {\r\n onChange?.(e.target.value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Radio key={key} value={key} disabled={readonly}>{label}</Radio>))}\r\n </Radio.Group>\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Switch } from 'antd';\r\nimport { PreviewSwitch } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class SwitchButton extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"checked\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewSwitch style={styles} /> : <Switch disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\r\nimport { Form, InputNumber } from 'antd';\r\nimport format from 'number-format.js';\r\nimport { PreviewDuration } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport './index.css';\r\n\r\nexport default class Duration extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue(\"000:00:00\");\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, format=\"H小时M分S秒\", readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewDuration format={format} style={styles} /> : <DurationWidget format={format} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DurationWidget extends WidgetComponent<Design.WidgetDurationProps> {\r\n\r\n duration: number[] = [0, 0, 0];\r\n pattern: string[] = [\"H\", \"M\", \"S\"];\r\n \r\n changeValue = (index: number) => (changeValue: number | null) => {\r\n if (typeof changeValue === \"number\") {\r\n this.duration[index] = changeValue;\r\n const durations = this.duration.map((value: number, index: number) => (index === 0 ? format(\"000\", value) : format(\"00\", value)));\r\n this.props.onChange?.(durations.join(\":\"));\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, format, readonly, style } = this.props;\r\n // 提取时分秒\r\n const times = format.trim().split(/\\[.*?\\]|[HMS]/);\r\n // 提取HMS\r\n this.pattern = format.trim().split(new RegExp(`[${times.join(\"\")}]`)).filter(v => v);\r\n\r\n if (typeof value === \"string\") {\r\n this.duration = value.split(\":\").map(Number);\r\n }\r\n\r\n const result: string[] = [];\r\n times.forEach((v, i) => {\r\n if (v) result.push(v);\r\n if (i <= this.pattern.length - 1) \r\n result.push(this.pattern[i]);\r\n });\r\n\r\n return (\r\n <div className=\"duration\">\r\n {\r\n result.map((item, i) => {\r\n if (item.includes(\"H\")) {\r\n return <Form.Item key=\"H\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={999} precision={0} value={this.duration[0]}\r\n formatter={(value: any) => value! < 100 ? (value! < 10 ? '00'+ value : '0'+ value) : value!.toString()}\r\n onChange={this.changeValue(0)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else if (item.includes(\"M\")) {\r\n return <Form.Item key=\"M\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[1]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(1)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else if (item.includes(\"S\")) {\r\n return <Form.Item key=\"S\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[2]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(2)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else {\r\n return <span key={i}>{item}</span>\r\n }\r\n })\r\n }\r\n </div>\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, DatePicker } from 'antd';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport weekday from \"dayjs/plugin/weekday\";\r\nimport localeData from \"dayjs/plugin/localeData\";\r\n \r\ndayjs.extend(weekday);\r\ndayjs.extend(localeData);\r\n\r\nexport default class Datepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type = \"date\", format = \"YYYY-MM-DD\", showTime = false, preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewText style={styles}/> : <DateWidget type={type} format={format} showTime={showTime} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} /> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DateWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, type, format, showTime, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <DatePicker\r\n value={value ? dayjs(value, format) : undefined}\r\n picker={type}\r\n format={format}\r\n showTime={showTime ? { format: 'HH:mm' } : undefined}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format));\r\n }}\r\n />\r\n )\r\n }\r\n}","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, TimePicker } from 'antd';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport { PreviewText } from '@/preview';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat);\r\n\r\nexport default class Timepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, format = \"HH:mm:ss\", preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <TimeWidget format={format} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TimeWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, format, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <TimePicker \r\n value={value ? dayjs(value, format) : undefined}\r\n format={format}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly}\r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format))\r\n }} />\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timeout;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n this.request(url, { ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n const fileTypes = fileTypeArray?.map((type: string) => (type.startsWith(\".\") ? config.mimeType[type]: type));\r\n if (fileTypes && fileTypes.length > 0) {\r\n const isFileType = fileTypes.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, message } from 'antd';\r\nimport type { UploadProps } from 'antd/es/upload';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport ImgCrop from 'antd-img-crop';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewImage } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"image/jpeg\", \"image/png\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, fileWidth = \"100\", fileHeight = \"100\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileSize={fileSize} fileWidth={Number(fileWidth)} fileHeight={Number(fileHeight)} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n fileView: undefined,\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n this.request(url, { ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onChangeValue: UploadProps['onChange'] = ({ fileList: list }) => {\r\n const fileList: Design.File.FileInfo[] = list.map((file: any) => {\r\n if (file.response?.status === 200) {\r\n const { id, name, url } = file.response.data;\r\n file.id = id;\r\n // file.name = name;\r\n file.url = url;\r\n file.status = 'done';\r\n } else if (file.response?.status === 500) {\r\n file.status = 'error';\r\n file.response = file.response.message;\r\n }\r\n return file;\r\n });\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持图片类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n const { fileSize } = this.props;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList: list } = this.state;\r\n const fileList = list.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, fileView } = this.state;\r\n const { preview, maxCount: count, readonly, fileWidth = 100, fileHeight = 100, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewImage fileList={fileList} width={fileWidth} height={fileHeight} style={style}/>\r\n }\r\n return (<>\r\n <ImgCrop\r\n rotationSlider\r\n modalTitle=\"图片编辑\"\r\n modalOk=\"确认\"\r\n modalCancel=\"取消\"\r\n aspect={fileWidth / fileHeight}\r\n >\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onChange={this.onChangeValue}\r\n onRemove={this.onRemove}\r\n onPreview={(file: any) => this.setState({ fileView: file })}\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n </ImgCrop>\r\n {fileView?.[\"id\"] && <Modal title={fileView[\"name\"]} open={true} footer={null} onCancel={() => this.setState({ fileView: undefined})}>\r\n <img alt={fileView[\"name\"]} style={{ width: '100%' }} src={fileView[\"url\"]} />\r\n </Modal>}\r\n </>)\r\n }\r\n}","import React from 'react';\r\nimport { Form, Rate } from 'antd';\r\nimport { StarFilled } from '@ant-design/icons';\r\nimport { UIListComponent } from '@/service';\r\n\r\nexport default class RateButton extends UIListComponent<Design.Rate.Props> {\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: number) => value === 0 ? Promise.reject() : Promise.resolve();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n\r\n const { code, preview, allowHalf = false, count = 5, items, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n const characters = items?.split(\",\") ?? [];\r\n\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <Rate allowHalf={allowHalf} count={count} character={({ index = 0 }) => characters.length > 0 ? characters[index] : <StarFilled/>} disabled={preview || readonly} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewAudio } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"audio/mpeg\", \"audio/wav\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.Video.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, readonly, hidden } = this.props;\r\n const { autoplay=false, muted=false, loop=false, preload=\"auto\" } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <AudioWidget \r\n code={code} \r\n maxCount={maxCount} \r\n fileSize={fileSize} \r\n readonly={readonly} \r\n preview={preview} \r\n autoplay={autoplay} \r\n muted={muted} \r\n loop={loop}\r\n preload={preload}\r\n style={styles} \r\n />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass AudioWidget extends WidgetComponent<Design.Video.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timeout;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n this.request(url, { ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done'}));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持音频类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n const fileSize = this.props.fileSize;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { code, preview, maxCount: count, readonly, style, autoplay, muted, loop, preload } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewAudio code={code} fileList={fileList} autoplay={autoplay} muted={muted} loop={loop} preload={preload} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewVideo } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"video/mp4\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.Video.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, readonly, hidden } = this.props;\r\n const { controls=true, autoplay=false, muted=false, pip=false, loop=false, preload=\"auto\" } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <VideoWidget \r\n code={code} \r\n maxCount={maxCount} \r\n fileSize={fileSize} \r\n readonly={readonly} \r\n preview={preview} \r\n controls={controls} \r\n autoplay={autoplay} \r\n muted={muted} \r\n pip={pip} \r\n loop={loop}\r\n preload={preload}\r\n style={styles} \r\n />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass VideoWidget extends WidgetComponent<Design.Video.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timeout;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list?.length > 0 && list[0]) {\r\n this.request(url, { ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done' }));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持视频类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n const fileSize = this.props.fileSize;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number}) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(()=> {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { code, preview, maxCount: count, readonly, style, controls, autoplay, muted, pip, loop, preload } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewVideo code={code} fileList={fileList} controls={controls} autoplay={autoplay} muted={muted} pip={pip} loop={loop} preload={preload} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport bytes from 'bytes';\r\nimport FileUpload from 'file-block-upload';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends WidgetComponent<Design.File.WidgetProps, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timer;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.file.listUrl;\r\n if (list && list.length > 0) {\r\n this.request(url, { ids: list }).then((response: Design.Result) => {\r\n const fileList = response.data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done' }));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const { fileSize, fileType, fileTypeMessage } = this.props;\r\n const fileTypeArray = fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n if (fileTypeArray && fileTypeArray.length > 0) {\r\n const isFileType = fileTypeArray.includes(file.type);\r\n if (!isFileType) {\r\n message.error(fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n customRequest = (info: any) => {\r\n const options = {\r\n blockSize: config.chunk.chunkSize,\r\n checkFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.checkFile, { fileName, fileMd5, fileSize })\r\n ),\r\n checkBlock: async ({fileName, fileMd5, blockMd5, blockIndex}: any) => (\r\n await this.request(\"post form \" + config.chunk.checkChunk, { fileName, fileMd5, blockMd5, blockIndex })\r\n ),\r\n\r\n uploadBlock: async ({fileName, fileMd5, blockMd5, blockIndex, file}: any) => {\r\n const formData = new FormData();\r\n formData.append(\"blockIndex\", String(blockIndex));\r\n formData.append(\"blockMd5\", blockMd5);\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", file as Blob);\r\n return await this.request(\"post form \" + config.chunk.chunkUpload, formData);\r\n },\r\n\r\n mergeBlock: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.doMerge, {fileName, fileMd5, fileSize})\r\n ),\r\n mergeProgress: async () => {\r\n const result = await this.request(config.chunk.mergeProgress);\r\n return result?.data;\r\n },\r\n\r\n verifyFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.onComplete, {fileName, fileMd5, fileSize})\r\n ),\r\n verifyProgress: async () => {\r\n const result = await this.request(config.chunk.completeProgress);\r\n return result?.data;\r\n },\r\n };\r\n\r\n const upload = FileUpload.create(options);\r\n upload.progress((file: any, progress: number) => {\r\n file.status = \"uploading\";\r\n this.setState({ modal: { open: true, progress }});\r\n });\r\n upload.complete((file: any) => {\r\n const { id, url } = file.response;\r\n file.id = id;\r\n file.url = url;\r\n file.status = \"done\";\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n });\r\n upload.error((file: any, error: string) => {\r\n file.status = 'error';\r\n file.response = error;\r\n let fileList: any[] = this.state.fileList;\r\n const index = fileList.findIndex(({ uid }) => uid === file.uid);\r\n if (index === -1) {\r\n fileList.push(file);\r\n } else {\r\n fileList[index] = file;\r\n }\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n });\r\n });\r\n upload.start(info.file);\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]) {\r\n this.props.onChange?.(fileList.filter(({ status }) => status === 'done').map(({ id }) => id));\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n customRequest={this.customRequest}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Card, Table, Modal, Input, Space, Row, Col } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { validate } from \"@/applets\";\r\n\r\nexport default class TableList extends UIListComponent<Design.ComponentProps> {\r\n \r\n getColumns() {\r\n const columnList = find(this.props.children, { tag: \"Columns\" })\r\n if (columnList) {\r\n return columnList.children?.map((column: Design.Table.ColumnData) => ({\r\n ...column,\r\n rules: column.rules?.map(validate)\r\n }));\r\n }\r\n return [];\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <TableWidget preview={preview || readonly} title={title} columns={this.getColumns()} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TableWidget extends WidgetComponent<Design.Table.WidgetProps, Design.Table.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const { list, onChange } = this.props;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ worksId, worksExtraId, ...items }, index) => {\r\n return { id: worksExtraId, index: index + 1, ...items }\r\n });\r\n this.setState({ dataSource }, () => {\r\n onChange?.(dataSource);\r\n })\r\n }\r\n }\r\n\r\n getColumns() {\r\n const { title, preview, columns, onChange } = this.props;\r\n const { dataSource } = this.state;\r\n if (preview) {\r\n return columns;\r\n }\r\n return concat(columns, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >\r\n 修改\r\n </a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Table.Item[] = dataSource.filter(({ id, uid }) => !((id && record.id === id) || (uid && record.uid === uid)));\r\n this.setState({ dataSource: list }, () => {\r\n onChange?.(list);\r\n })\r\n },\r\n });\r\n }}\r\n >\r\n 删除\r\n </a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Table.Item) => {\r\n const { dataSource } = this.state;\r\n let list: Design.Table.Item[] = [];\r\n if (entity.id || entity.uid) {\r\n list = dataSource.map((item: Design.Table.Item) => {\r\n if (entity.id && item.id === entity.id) {\r\n return { ...item, ...entity }\r\n } else if (entity.uid && item.uid === entity.uid) {\r\n return { ...item, ...entity }\r\n }\r\n return item;\r\n });\r\n } else {\r\n entity.index = dataSource.length + 1;\r\n entity.uid = uniqueId();\r\n list = [...dataSource, entity];\r\n }\r\n\r\n this.setState({\r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list);\r\n })\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { title, preview, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"index\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} entity={modal.entity} columns={columns} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, entity, columns, onFinish, onCancel }: Design.Table.ModalProps) => {\r\n const [form] = Form.useForm();\r\n return (\r\n <Modal \r\n title={title}\r\n width={740}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n const valid = form.validateFields()\r\n valid.then((data: Design.Table.Item)=> {\r\n onFinish({...entity, ...data});\r\n }).catch((e: any)=> {\r\n console.warn(e);\r\n });\r\n }} \r\n >\r\n <Form\r\n form={form} \r\n name=\"modalTable\"\r\n initialValues={entity}\r\n wrapperCol={{ span: 22 }}\r\n autoComplete=\"off\"\r\n layout='vertical'\r\n >\r\n <Row>\r\n {columns.length > 0 && columns.map(({ title, dataIndex, placeholder, rules }) => {\r\n if (dataIndex !== 'index' && dataIndex !== 'option') {\r\n return (\r\n <Col span={12} key={dataIndex}>\r\n <Form.Item label={title} name={dataIndex} rules={rules as []}>\r\n <Input placeholder={placeholder} />\r\n </Form.Item>\r\n </Col>\r\n )\r\n }\r\n })}\r\n </Row>\r\n </Form>\r\n </Modal>\r\n )\r\n}\r\n","import React, { useRef } from 'react';\r\nimport { Form, FormInstance, Card, Table, Modal, Space } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport XMLDocument from \"@/utils/document\";\r\nimport { config } from '@/config';\r\nimport FormDocument from '@/form';\r\n\r\nexport default class FormList extends UIListComponent<Design.Form.Props, Design.Form.States> {\r\n\r\n itemList:{ code: string; title: string, type: string; data: {}; }[] = []\r\n columnList: any[] = []\r\n state = {\r\n doc: undefined,\r\n loading: true\r\n };\r\n\r\n componentDidMount(): void {\r\n const formId = this.props.formId!;\r\n this.setState({ loading: true });\r\n this.request(config.form.documentUrl, { formId }).then((xml: string) => {\r\n const doc = XMLDocument.toDocument(xml);\r\n this.setState({ doc });\r\n this.initItems(doc);\r\n });\r\n }\r\n\r\n initItems = async(doc: Document) => {\r\n this.columnList = find(this.props.children, { tag: \"Columns\" }).children;\r\n const codes: any[] = this.columnList.map((column: any) => column.dataIndex);\r\n const elements = XMLDocument.selectors(doc, \"[code]\");\r\n for (const element of elements) {\r\n const code = element.getAttribute(\"code\");\r\n const title = element.getAttribute(\"title\")!;\r\n const type = element.tagName.toLowerCase();\r\n if (code && codes.includes(code)) {\r\n const data: any = {};\r\n const remote = element.getAttribute(\"remote\");\r\n const options = XMLDocument.selectors(element, \"Option\");\r\n if (options.length > 0) {\r\n for (const option of options) {\r\n const key = option.getAttribute(\"value\");\r\n const value = option.textContent;\r\n if (key && value) {\r\n data[key] = value;\r\n }\r\n }\r\n } else if (remote) {\r\n const list: Design.ItemOption[] = await this.request(config.request.route + remote);\r\n for(const item of list) {\r\n data[item.key] = item.label;\r\n }\r\n }\r\n this.itemList.push({ code, title, type, data });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n \r\n render(): React.ReactNode { \r\n const show = this.display();\r\n if (show && !this.state.loading) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, witdh, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n const { doc } = this.state;\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <FormWidget preview={preview || readonly} title={title} witdh={witdh} columns={this.columnList} items={this.itemList} document={doc} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass FormWidget extends WidgetComponent<Design.Form.WidgetProps, Design.Form.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const list = this.props.list;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ ...data }, index) => ({ id: uniqueId(), index: index + 1, ...data }));\r\n this.onChange(dataSource);\r\n }\r\n }\r\n\r\n onChange(list: any[]) {\r\n this.setState({ \r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list.map(({ id, index, ...data}) => data));\r\n })\r\n }\r\n\r\n getColumns() {\r\n const { preview, title, columns, items } = this.props;\r\n const { dataSource } = this.state;\r\n\r\n const columnList = columns.map((column: Design.Form.ColumnItem) => {\r\n const code = column.dataIndex;\r\n const item: any = items.find((item: any) => item.code === code);\r\n if (item) {\r\n if (!column.title) {\r\n column.title = item.title;\r\n }\r\n column.render = (text: string) => {\r\n let value = text;\r\n if (column.text) {\r\n value = column.text;\r\n } else if (Object.keys(item.data).length !== 0) {\r\n value = item.data[text]\r\n }\r\n if (column.type === \"url\") {\r\n return <a href={text} target=\"_blank\" rel=\"noreferrer\">{value}</a>;\r\n }\r\n return value;\r\n }\r\n }\r\n return column;\r\n });\r\n \r\n if (preview) {\r\n return columnList;\r\n }\r\n return concat(columnList, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >修改</a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Form.Data[] = dataSource.filter(({ id }) => !(id && record.id === id));\r\n this.onChange(list);\r\n },\r\n });\r\n }}\r\n >删除</a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Form.Data) => {\r\n const dataSource = this.state.dataSource;\r\n let list: Design.Form.Data[] = [];\r\n if (entity.id) {\r\n list = dataSource.map((data: Design.Form.Data) => data.id === entity.id ? { ...data, ...entity } : data);\r\n } else {\r\n entity.id = uniqueId();\r\n entity.index = dataSource.length + 1;\r\n list = [...dataSource, entity];\r\n }\r\n this.onChange(list);\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { preview, title, witdh, document, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n style={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"id\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} witdh={witdh} entity={modal.entity} document={document} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, witdh=\"740\", entity, document, onFinish, onCancel }: Design.Form.ModalProps) => {\r\n const form: React.MutableRefObject<FormInstance | undefined> = useRef();\r\n \r\n return (\r\n <Modal \r\n title={title}\r\n width={Number(witdh)}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n try {\r\n await form.current?.validateFields();\r\n const data = form.current?.getFieldsValue();\r\n onFinish({...entity, ...data});\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }} \r\n >\r\n {document && <FormDocument form={form} document={document} initialValues={entity}/>}\r\n </Modal>\r\n )\r\n}\r\n","import { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n)","import React from 'react';\r\nimport { Col } from 'antd';\r\n\r\nexport default ({ span, children }: any) => {\r\n return (\r\n <Col span={span}>\r\n {children}\r\n </Col>\r\n )\r\n}","import React, { useMemo } from 'react';\r\nimport { Steps } from 'antd';\r\n\r\nexport default ({ direction, stepIndex, onChangeSetp, children }: any) => {\r\n const items = useMemo(() => (\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n return { key: id, title, description };\r\n })\r\n ), [children]);\r\n \r\n return (\r\n <Steps\r\n current={stepIndex}\r\n direction={direction}\r\n onChange={onChangeSetp}\r\n items={items}\r\n style={{ padding: 16, backgroundColor: \"white\" }}\r\n />\r\n )\r\n}","import React, { useMemo, memo } from 'react';\r\nimport { Layout } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst { Content } = Layout;\r\n\r\nexport default memo(({ currentStepIndex, stepIndex, style, children }: any) => {\r\n const itemStyle = useMemo(() => {\r\n const styles = style ? toStyles(style) : { padding: 16, backgroundColor: \"white\" };\r\n if (currentStepIndex !== Number(stepIndex)) {\r\n Object.assign(styles, { \"display\": \"none\" });\r\n }\r\n return styles;\r\n }, [currentStepIndex]);\r\n \r\n return (\r\n <Content style={itemStyle} >\r\n {children}\r\n </Content>\r\n )\r\n});","import React from 'react';\r\nimport { Divider } from 'antd';\r\n\r\nexport default ({ dashed = false, orientation = \"center\", children }: any) => (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n)","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst hide = {\r\n display: 'none'\r\n}\r\nconst show = {\r\n display: 'block'\r\n}\r\n\r\nexport default memo(({ defaultExpanded = true, on, off, style, collapse, children }: any) => {\r\n const [isExpanded, onExpanded] = useState(defaultExpanded);\r\n const styles = toStyles(style);\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={styles}>\r\n <Button\r\n type='link'\r\n onClick={() => {\r\n onExpanded(!isExpanded);\r\n }}\r\n >{isExpanded ? off : on}{isExpanded ? <UpOutlined /> : <DownOutlined />} </Button>\r\n </div>\r\n <div style={isExpanded ? show : hide}>\r\n {children}\r\n </div>\r\n </>\r\n )\r\n }\r\n return <>{children}</>;\r\n});","import React, { PureComponent, ReactNode } from \"react\";\r\nimport { Form as BaseForm, FormInstance, Skeleton } from \"antd\";\r\nimport { find, mapValues, camelCase, isBoolean, isObject, isArray, isUndefined } from \"lodash\";\r\nimport XMLDocument from \"@/utils/document\";\r\nimport XML from \"@/entity/XML\";\r\nimport { ProComponent } from \"@/service\";\r\nimport * as BaseComponents from \"@/components\"\r\nimport { Row, Col, Collapse, Content, Divider, Steps } from \"@/containers\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { regrister, autoClose } from \"@/utils/loading\";\r\n\r\nconst Components: {[name: string]: {}} = BaseComponents;\r\nconst Containers: {[name: string]: {}} = { Row, Col, Collapse, Content, Divider, Steps };\r\n\r\nexport default class FormDocument extends PureComponent<Design.HomeProps, Design.HomeState> {\r\n\r\n state = {\r\n stepIndex: 0,\r\n root: undefined,\r\n loading: true\r\n };\r\n\r\n form: React.RefObject<FormInstance>;\r\n layouts?: {};\r\n styles: {};\r\n showTitle?: boolean;\r\n hideClear: boolean = false;\r\n customComponents?: {[name:string]: {}};\r\n\r\n constructor(props: Design.HomeProps) {\r\n super(props);\r\n this.styles = props.style ?? {};\r\n this.form = props.form ?? React.createRef()\r\n }\r\n\r\n componentDidMount(): void { \r\n const { document } = this.props;\r\n let root;\r\n if (typeof document === \"string\") {\r\n root = XMLDocument.getRoot(document);\r\n } else {\r\n root = XMLDocument.parser(document);\r\n }\r\n \r\n const { style: styleValue, labelCol, wrapperCol, showTitle, hideClear } = root.attributes;\r\n this.showTitle = !!showTitle;\r\n this.hideClear = !!hideClear;\r\n if (typeof styleValue === \"string\") {\r\n const styleList: string[] = styleValue?.replace(/\\ +/g, \"\").split(\";\");\r\n styleList?.forEach(style => {\r\n if (style) {\r\n const [key, value] = style.split(\":\");\r\n Object.assign(this.styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n if (labelCol && wrapperCol) {\r\n this.layouts = {\r\n labelCol: { span: labelCol },\r\n wrapperCol: { span: wrapperCol },\r\n };\r\n }\r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\r\n this.setState({ root, loading: true });\r\n\r\n /** 注册loading插件 */\r\n regrister(loading => {\r\n this.setState({ loading });\r\n });\r\n /** 自动关闭 Skeleton */\r\n autoClose();\r\n }\r\n\r\n /**\r\n * 销毁form时,重置数据\r\n */\r\n componentWillUnmount(): void {\r\n this.form.current?.resetFields();\r\n this.setState({ root: undefined, loading: true });\r\n }\r\n\r\n /**\r\n * 值发生变化时,变更state\r\n */\r\n onValuesChange = (changedValues: any) => {\r\n this.setState({\r\n values: changedValues\r\n })\r\n };\r\n\r\n /**\r\n * 切换步骤\r\n * \r\n * @param stepIndex \r\n */\r\n onStepIndex = (stepIndex: number) => { \r\n this.setState({\r\n stepIndex\r\n })\r\n }\r\n\r\n /**\r\n * 设置组件状态\r\n * \r\n * @param attributes \r\n */\r\n setComponentStatus(attributes: { [name: string]: string | boolean }) {\r\n const { preview, hidden, readonly, } = this.props;\r\n // 设置预览状态\r\n attributes.preview = preview ?? false;\r\n\r\n // 控件是否隐藏\r\n if (isBoolean(hidden)) {\r\n attributes.hidden = hidden;\r\n } else if (isArray(hidden)) {\r\n attributes.hidden = hidden.includes(attributes.code as string);\r\n } else if (isObject(hidden)) {\r\n attributes.hidden = !!hidden[attributes.code as string];\r\n } else {\r\n attributes.hidden = attributes.hidden ?? false;\r\n }\r\n // 控件是否只读\r\n if (isBoolean(readonly)) {\r\n attributes.readonly = readonly;\r\n } else if (isArray(readonly)) {\r\n attributes.readonly = readonly.includes(attributes.code as string);\r\n } else if (isObject(readonly)) {\r\n attributes.readonly = !!readonly[attributes.code as string];\r\n } else {\r\n attributes.readonly = attributes.readonly ?? false;\r\n }\r\n // 控件是否隐藏清除数据\r\n if (isUndefined(attributes.hideClear)) {\r\n attributes.hideClear = this.hideClear;\r\n }\r\n }\r\n\r\n /**\r\n * 加载组件\r\n * \r\n * @param xml \r\n * @param Component \r\n * @returns \r\n */\r\n component(xml: XML, Component: any) {\r\n const { id, attributes, children } = xml;\r\n this.setComponentStatus(attributes);\r\n return <Component key={id} {...attributes}>{children?.map(this.children)}</Component>\r\n }\r\n\r\n /**\r\n * 加载容器\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n container({ id, tag, attributes, text, children }: XML) {\r\n if (tag === \"Row\") {\r\n return <Row key={id} {...attributes}>{children?.map(this.children)}</Row>\r\n }\r\n if (tag === \"Col\") {\r\n return <Col key={id} span={Number(attributes.span)}>{children?.map(this.children)}</Col>\r\n }\r\n if (tag === \"Collapse\") {\r\n return <Collapse key={id} collapse={this.props.collapse} {...attributes}>{children?.map(this.children)}</Collapse>\r\n }\r\n if (tag === \"Content\") {\r\n return <Content key={id} currentStepIndex={this.state.stepIndex} {...attributes}>{children?.map(this.children)}</Content>\r\n }\r\n if (tag === \"Steps\") {\r\n return <Steps key={id} stepIndex={this.state.stepIndex} onChangeSetp={this.onStepIndex} {...attributes}>{children}</Steps>\r\n }\r\n if (tag === \"Divider\") {\r\n return <Divider key={id} {...attributes}>{text}</Divider>\r\n }\r\n }\r\n\r\n /**\r\n * 加载控件\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n applet({ tag, attributes, cdata, children }: XML) {\r\n if (tag === \"Columns\") {\r\n const child = children?.map(({ attributes, children }) => {\r\n if (children) {\r\n const rules: any = find(children.map(this.children), { tag: \"Validates\" });\r\n return { ...attributes, rules: rules?.children ?? [] };\r\n }\r\n return attributes;\r\n });\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Options\") {\r\n const child = children?.map(({ attributes: { value }, text }) => ({ key: value, label: text }));\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Validates\") {\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Conditions\") {\r\n const { type, action } = attributes;\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, type, action, children: child };\r\n }\r\n if (tag === \"Collection\" || tag === \"Compute\") {\r\n return { tag, cdata };\r\n }\r\n }\r\n\r\n /**\r\n * 加载子项\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n children = (xml: XML) => {\r\n const Component = this.customComponents?.[xml.tag] ?? Components[xml.tag];\r\n if (Component) {\r\n return this.component(xml, Component);\r\n }\r\n const Container = Containers[xml.tag];\r\n if (Container) {\r\n return this.container(xml);\r\n }\r\n return this.applet(xml);\r\n }\r\n\r\n render(): ReactNode {\r\n const { root , loading } = this.state;\r\n const { initialValues } = this.props;\r\n return <>\r\n { root && \r\n <DesignContext.Provider value={{ ...this.props, form: this.form, showTitle: this.showTitle}}>\r\n <Form\r\n form={this.form}\r\n style={loading ? { ...this.styles, display: \"none\"} : this.styles }\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n {...this.layouts}\r\n >\r\n {(root as XML).children?.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n }\r\n { loading && <Skeleton active />}\r\n </>\r\n }\r\n}\r\n\r\n/**\r\n * 表单组件\r\n */\r\nclass Form extends React.PureComponent<Design.FormProps> {\r\n\r\n onFinish = (values: object) => {\r\n console.log(\"Success:\", values);\r\n };\r\n\r\n render(): React.ReactNode {\r\n const { form, style, labelCol, wrapperCol, initialValues, children, onValuesChange } = this.props;\r\n return (\r\n <BaseForm\r\n ref={form}\r\n style={style}\r\n labelCol={labelCol}\r\n wrapperCol={wrapperCol}\r\n initialValues={initialValues}\r\n onFinish={this.onFinish}\r\n autoComplete=\"off\"\r\n onValuesChange={changedValues => {\r\n onValuesChange(changedValues);\r\n }}\r\n >\r\n {children}\r\n </BaseForm>\r\n );\r\n }\r\n}\r\n"],"names":["XML","_createClass","element","_classCallCheck","_defineProperty","this","id","uniqueId","_step","_iterator","_createForOfIteratorHelper","attributes","s","n","done","item","value","trim","isBoolean","toBoolean","name","err","e","f","children","Array","_step2","_iterator2","childNodes","_this$children","_node$nodeValue","node","Element","push","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","key","test","parseInt","XMLDocument","document","documentString","DOMParser","parseFromString","doc","toDocument","parser","selectors","querySelector","querySelectorAll","validate","_ref","_ref$type","type","required","minlength","maxlength","min","max","pattern","message","Number","RegExp","DesignContext","React","createContext","DesignConfig","conf","prefix","headers","route","listUrl","downloadUrl","uploadUrl","previewUrl","extraData","file","fileType","labelStyle","color","documentUrl","chunkSize","Math","pow","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","request","form","chunk","mimeType","components","previewComponents","_objectSpread","config","init","defineConfig","toStyles","style","styles","isObject","isString","split","forEach","items","_items$split","_items$split2","_slicedToArray","Object","assign","camelCase","num","listeners","wait","millisecond","Promise","resolve","setTimeout","trigger","_asyncToGenerator","_regeneratorRuntime","mark","_callee","loading","_i","_listeners","wrap","_context","prev","next","length","callback","stop","_x","apply","arguments","begin","_ref2","_callee2","_context2","end","_ref3","_callee3","_context3","autoClose","_ref4","_callee4","_context4","error","_ref5","_callee5","_context5","umiRequest","extend","timeout","use","ctx","t0","_x2","global","targetUrl","options","cloneData","cloneDeep","data","url","_parse","domain","urlMatch","match","slice","parse","tokens","compile","console","method","toLocaleUpperCase","params","requestType","then","status","rest","_objectWithoutProperties","_excluded","success","_data$message","response","_request","uri","uriArray","_uriArray","_uriArray2","WidgetComponent","_inherits","PureComponent","_request2","args","context","abrupt","reject","undefined","contextType","UIComponent","_this","_len","_key","concat","borderBottom","defaultValue","_form$current","_form$current2","code","props","current","getFieldValue","setFieldValue","_form$current3","_this2","_form$current4","_form$current5","getFieldsValue","showTitle","_this$props","title","labelStyles","_jsx","itemProps","_itemLayouts$wrapperC","_this$props2","preview","labelCol","wrapperCol","tips","itemLayouts","span","styleWrapper","tooltip","_this$props3","itemStyle","itemStyles","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","list","map","fields","keys","join","Function","actuator","condition","result","every","some","_this$props5","_validates$children$m","_validates$children","validates","content","collection","_this3","computeValue","moment","compute","_this4","_this$props$defaultVa","forceUpdate","setDefaultValue","ProComponent","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_this$getStyles","getStyles","Form","Item","label","getLabel","onChange","UIListComponent","rule","validator","_","itemList","reset","plist","filter","includes","_superPropGet","isArray","_Object$entries","_Object$entries$","entries","_Object$entries$2","Label","Tooltip","_this$context$tooltip","DefalutPreviewText","useEffect","href","target","rel","PreviewText","_config$previewCompon","_config$previewCompon2","DefalutPreviewEditor","dangerouslySetInnerHTML","__html","PreviewEditor","_config$previewCompon3","_config$previewCompon4","DefalutPreviewDuration","format","ds","vs","i","PreviewDuration","_config$previewCompon5","_config$previewCompon6","DefalutPreviewSwitch","checked","PreviewSwitch","_config$previewCompon7","_config$previewCompon8","DefalutPreviewList","_ref6","_ref7","_ref8","PreviewList","_config$previewCompon9","_config$previewCompon10","DefalutPreviewFile","_ref9","fileList","_ref10","contentType","endsWith","_jsxs","Space","paddingBottom","startsWith","Image","width","src","alt","controls","alignItems","height","paddingLeft","PreviewFile","_config$previewCompon11","_config$previewCompon12","DefalutPreviewAudio","_ref11","autoplay","muted","loop","preload","_Fragment","_ref12","autoPlay","PreviewAudio","_config$previewCompon13","_config$previewCompon14","DefalutPreviewVideo","_ref13","pip","_ref14","PreviewVideo","_config$previewCompon15","_config$previewCompon16","DefalutPreviewImage","_ref15","_ref16","PreviewImage","_config$previewCompon17","_config$previewCompon18","Text","placeholder","maxLength","allowClear","showCount","readonly","Input","disabled","hideClear","cleanFieldValue","TextArea","_this$props$minRow","minRow","_this$props$maxRow","maxRow","minRows","maxRows","autoSize","InputNumber","_this$props$type","precision","numberProps","formatter","Numerial","Editor","_callSuper","colon","EditorWidget","_React$Component","editor","html","debounce","_this$props$onChange","call","setState","_this$state","state","overflowY","border","zIndex","Toolbar","mode","defaultConfig","excludeKeys","WangEditor","onCreated","getHtml","handleChange","SelectList","remote","optionList","multiple","_this$props2$allowCle","plusRules","collectionList","getList","currentValue","SelectWidget","Option","Select","_len2","_key2","_this4$props$onChange","_this4$props","showSearch","handleItemValue","filterOption","inputValue","option","toLowerCase","CheckBox","CheckboxWidget","Checkbox","Group","RadioButton","optionType","RadioWidget","Radio","SwitchButton","valuePropName","Switch","css","ref","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Duration","_this$props$format","DurationWidget","index","changeValue","duration","durations","times","v","className","toString","dayjs","weekday","localeData","Datepicker","_this$props$showTime","showTime","_this$props$allowClea","DateWidget","DatePicker","picker","customParseFormat","Timepicker","TimeWidget","TimePicker","normFile","UplaodList","maxCount","fileTypeMessage","fileSize","getValueFromEvent","UploadWidget","modal","open","progress","fileTypeArray","fileTypes","Upload","LIST_IGNORE","bytes","size","clearInterval","timer","uploading","step","percent","round","setInterval","_response$data","_toConsumableArray","_response$message","ids","warn","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","Button","icon","UploadOutlined","Modal","closable","footer","Progress","_this$props$fileWidth","fileWidth","_this$props$fileHeigh","fileHeight","fileView","_file$response","_file$response2","_file$response$data","_this$props3$fileWidt","_this$props3$fileHeig","ImgCrop","rotationSlider","modalTitle","modalOk","modalCancel","aspect","listType","accept","onChangeValue","onPreview","PlusOutlined","onCancel","RateButton","_this$props$allowHalf","allowHalf","_this$props$count","characters","Rate","character","_ref$index","StarFilled","_this$props2$autoplay","_this$props2$muted","_this$props2$loop","_this$props2$preload","AudioWidget","_this$props2$controls","_this$props2$pip","VideoWidget","info","_verifyProgress","_verifyFile","_mergeProgress","_mergeBlock","_uploadBlock","_checkBlock","_checkFile","blockSize","fileName","fileMd5","sent","checkBlock","blockMd5","blockIndex","uploadBlock","formData","FormData","append","String","_x3","mergeBlock","_x4","verifyFile","_callee6","_context6","_x5","verifyProgress","_callee7","_context7","upload","FileUpload","create","complete","findIndex","uid","start","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","worksId","worksExtraId","dataIndex","valueType","render","record","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","Card","bodyStyle","padding","extra","Table","rowKey","ModalForm","onFinish","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","layout","Row","Col","FormList","codes","elements","_iterator3","_step3","getAttribute","tagName","finish","formId","xml","initItems","witdh","FormWidget","_extends","_objectDestructuringEmpty","_this5","_this6","_ref5$witdh","useRef","log","FormDocument","gutter","margin","Steps","direction","stepIndex","onChangeSetp","useMemo","description","backgroundColor","Content","Layout","Content$1","memo","currentStepIndex","Divider","_ref$dashed","dashed","_ref$orientation","orientation","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","on","off","collapse","_useState","useState","_useState2","isExpanded","onExpanded","UpOutlined","DownOutlined","Components","BaseComponents","Containers","_props$style","_props$form","root","changedValues","values","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","createRef","payload","_root$attributes","getRoot","styleValue","styleList","_style$split","_style$split2","layouts","mapValues","_this$form$current","resetFields","_attributes$hidden","_attributes$readonly","isUndefined","setComponentStatus","onStepIndex","child","_rules$children","_root$children","Provider","onValuesChange","Skeleton","active","_React$PureComponent","BaseForm"],"mappings":"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","x_google_ignoreList":[23]}
1
+ {"version":3,"file":"index.tsx","sources":["../src/entity/XML.ts","../src/utils/document.ts","../src/applets/index.ts","../src/context.ts","../src/config.ts","../src/utils/style.ts","../src/utils/loading.ts","../src/utils/request.ts","../src/service/WidgetComponent.ts","../src/service/AIComponent.tsx","../src/service/UIComponent.tsx","../src/service/ProComponent.tsx","../src/service/UIListComponent.tsx","../src/service/UploadComponent.tsx","../src/components/Label/index.tsx","../src/components/Tooltip/index.tsx","../src/preview/index.tsx","../src/components/Text/index.tsx","../src/components/TextArea/index.tsx","../src/components/InputNumber/index.tsx","../src/components/Editor/index.tsx","../src/components/Select/index.tsx","../src/components/Checkbox/index.tsx","../src/components/Radio/index.tsx","../src/components/Switch/index.tsx","../node_modules/style-inject/dist/style-inject.es.js","../src/components/Duration/index.tsx","../src/components/DatePicker/index.tsx","../src/components/TimePicker/index.tsx","../src/components/Upload/index.tsx","../src/components/Photo/index.tsx","../src/components/Rate/index.tsx","../src/components/Audio/index.tsx","../src/components/Video/index.tsx","../src/components/SuperUpload/index.tsx","../src/components/Table/index.tsx","../src/components/FormList/index.tsx","../src/containers/Row/index.tsx","../src/containers/Col/index.tsx","../src/containers/Steps/index.tsx","../src/containers/Content/index.tsx","../src/containers/Divider/index.tsx","../src/containers/Collapse/index.tsx","../src/form/index.tsx"],"sourcesContent":["import { parseInt, uniqueId } from \"lodash\";\r\n\r\nexport default class XML {\r\n readonly id: string;\r\n readonly tag: string;\r\n readonly text?: string;\r\n readonly attributes: { [name: string]: string | boolean } = {};\r\n readonly cdata?: string;\r\n readonly children?: XML[];\r\n\r\n constructor(element: Element) {\r\n // this.id = Math.floor(Math.random() * 1000000000).toString();\r\n this.id = uniqueId();\r\n /** 获得属性 */\r\n for (const item of element.attributes) {\r\n let value: string | boolean = item.value.trim();\r\n if (this.isBoolean(value)) {\r\n value = this.toBoolean(value);\r\n }\r\n this.attributes[item.name] = value;\r\n }\r\n\r\n /** 获得子元素 */\r\n this.children = new Array();\r\n for (const node of element.childNodes) {\r\n if (node instanceof Element) {\r\n this.children?.push(new XML(node));\r\n }\r\n /** 获得文本 */\r\n if (node.nodeType === 3 && node.textContent) {\r\n this.text = node.textContent;\r\n }\r\n /** 获得CDATA */\r\n if (node.nodeType === 4) {\r\n this.cdata = node.nodeValue?.replace(/\\ +/g, \" \").replace(/[\\t\\r\\n]/g, \"\");\r\n }\r\n }\r\n this.tag = element.nodeName;\r\n }\r\n\r\n /**\r\n * 判断是否为boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isBoolean(value: string) {\r\n return value === \"true\" || value === \"false\";\r\n }\r\n\r\n /**\r\n * 转换boolean型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toBoolean(value: string) {\r\n return value === \"true\";\r\n }\r\n\r\n /**\r\n * 判断是否为number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private isNumber(value: string) {\r\n return /^\\d+$/.test(value);\r\n }\r\n\r\n /**\r\n * 转换number型\r\n * \r\n * @param value \r\n * @returns \r\n */\r\n private toNumber(value: string) {\r\n return parseInt(value, 10);\r\n }\r\n}","import XML from \"@/entity/XML\";\r\n\r\n/**\r\n * xml 解析类\r\n */\r\nexport default class XMLDocument {\r\n\r\n /**\r\n * document 解析 xml对象\r\n * \r\n * @param document \r\n * @returns \r\n */\r\n static parser(document: Document) {\r\n const element: Element = <Element>document.childNodes[0];\r\n return new XML(element);\r\n }\r\n\r\n /**\r\n * document字符串 转换 document对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static toDocument(documentString: string): Document {\r\n return new DOMParser().parseFromString(documentString, \"text/xml\");\r\n }\r\n\r\n /**\r\n * document字符串 转换 xml对象\r\n * \r\n * @param documentString \r\n * @returns \r\n */\r\n static getRoot(documentString: string): XML {\r\n const doc: Document = XMLDocument.toDocument(documentString);\r\n return XMLDocument.parser(doc);\r\n }\r\n\r\n /**\r\n * 选择单个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selector(document: Document | Element, selectors: string): Element | null {\r\n return document.querySelector(selectors);\r\n }\r\n\r\n /**\r\n * 选择多个元素\r\n * \r\n * @param document \r\n * @param selectors \r\n * @returns \r\n */\r\n static selectors(document: Document | Element, selectors: string): NodeListOf<Element> {\r\n return document.querySelectorAll(selectors);\r\n }\r\n}","import moment from 'moment';\r\n\r\n/**\r\n * validate 验证\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const validate = ({ type = 'string', required, minlength, maxlength, min, max, pattern, message }: any): Design.Rule => {\r\n if (required) {\r\n return { type, required, message };\r\n }\r\n if (minlength && maxlength) {\r\n return { type, min: Number(minlength), max: Number(maxlength), message };\r\n }\r\n if (min && max) {\r\n return { type: 'number', min: Number(min), max: Number(max), message };\r\n }\r\n if (type === 'phone') {\r\n return { type: 'string', pattern: new RegExp('^[1][3,5,6,7,8][0-9]\\\\d{8}$'), message };\r\n }\r\n if (type === 'regexp' && typeof pattern === 'string') {\r\n return { type: 'string', pattern: new RegExp(pattern), message };\r\n }\r\n return { type, message };\r\n}\r\n\r\n/**\r\n * condition 条件\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const condition = (fields: object | undefined, preview: boolean) => ({ test }: { test: string }): boolean | undefined => {\r\n try {\r\n if (fields) {\r\n fields = { ...fields, preview }\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `return ${test}`);\r\n return actuator(fields);\r\n }\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * collection 集合\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const collection = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, `${cdata}`);\r\n return actuator(fields);\r\n }\r\n const actuator: Function = new Function(`${cdata}`);\r\n return actuator();\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return [];\r\n}\r\n\r\n/**\r\n * compute 计算\r\n * \r\n * @param param0 \r\n * @returns \r\n */\r\nexport const compute = (fields: object | undefined, { cdata }: { cdata: string }): Array<string> | string | undefined => {\r\n try {\r\n if (fields) {\r\n const keys: string = Object.keys(fields).join(\",\");\r\n const actuator: Function = new Function(`{${keys}}`, 'moment', `${cdata}`);\r\n return actuator(fields, moment);\r\n }\r\n const actuator: Function = new Function('moment', `${cdata}`);\r\n return actuator(moment);\r\n } catch (e: any) {\r\n // console.warn(e.message);\r\n }\r\n return undefined;\r\n}\r\n","import React from \"react\";\r\n\r\nexport const DesignContext = React.createContext<Design.Context>({});","class DesignConfig {\r\n readonly request: {\r\n prefix: string,\r\n headers: {},\r\n timeout: number,\r\n root: string\r\n } = {\r\n prefix: \"api\",\r\n headers: {},\r\n timeout: 20000,\r\n root: \"/design\"\r\n }\r\n readonly file: {\r\n listUrl: string,\r\n downloadUrl: string,\r\n uploadUrl: string,\r\n previewUrl: string,\r\n extraData?: {}\r\n } = {\r\n listUrl: \"/file/list\",\r\n downloadUrl: \"/file/download\",\r\n uploadUrl: \"/file/upload\",\r\n previewUrl: \"/file/preview\",\r\n extraData: (file: Design.File.FileInfo, fileType: string) => {},\r\n }\r\n readonly style: {\r\n labelStyle: {}\r\n } = {\r\n labelStyle: {color: \"#055ab5\"}\r\n }\r\n readonly form: {\r\n documentUrl: string\r\n } = {\r\n documentUrl: \"/form/:formId\"\r\n }\r\n readonly chunk : {\r\n checkFile: string,\r\n checkChunk: string,\r\n chunkUpload: string,\r\n doMerge: string,\r\n mergeProgress: string,\r\n onComplete: string,\r\n completeProgress: string,\r\n chunkSize: number,\r\n } = {\r\n chunkSize: 10 * 1024 ** 2,\r\n checkFile: \"/chunk/checkFile\",\r\n checkChunk: \"/chunk/checkChunk\",\r\n chunkUpload: \"/chunk/chunkUpload\",\r\n doMerge: \"/chunk/doMerge\",\r\n mergeProgress: \"/chunk/mergeProgress\",\r\n onComplete: \"/chunk/onComplete\",\r\n completeProgress: \"/chunk/completeProgress\"\r\n }\r\n\r\n readonly aigc: {\r\n url: string,\r\n stream: boolean\r\n } = {\r\n url: \"/aigc/chat-stream\",\r\n stream: true\r\n }\r\n\r\n readonly mimeType: {[name: string]: string} = {}\r\n\r\n readonly components?: any\r\n readonly previewComponents?: any\r\n \r\n private constructor(conf?: Design.Config) {\r\n if (conf) {\r\n const { request, file, form, chunk, aigc, mimeType, components, previewComponents } = conf;\r\n this.request = { ...this.request, ...request };\r\n this.file = { ...this.file, ...file };\r\n this.form = { ...this.form, ...form };\r\n this.chunk = { ...this.chunk, ...chunk };\r\n this.aigc = { ...this.aigc, ...aigc };\r\n this.mimeType = mimeType;\r\n this.components = components;\r\n this.previewComponents = previewComponents;\r\n }\r\n }\r\n\r\n static init(conf?: Design.Config) {\r\n return new DesignConfig(conf);\r\n }\r\n}\r\n\r\nlet config: DesignConfig = DesignConfig.init();\r\nconst defineConfig = (conf: Design.Config) => {\r\n config = DesignConfig.init(conf)\r\n}\r\n\r\nexport { defineConfig, config }","import { camelCase, isObject, isString } from 'lodash';\r\n\r\n/**\r\n * 转换样式对象\r\n * \r\n * @param style string\r\n * @returns styles\r\n */\r\nexport const toStyles = (style: object | string | undefined) => {\r\n const styles: {} = {};\r\n if (isObject(style)) {\r\n return style;\r\n } else if (isString(style)) {\r\n const styleArray: string[] = style.replace(/\\ +/g, \"\").split(\";\");\r\n styleArray.forEach(items => {\r\n if (items) {\r\n const [key, value] = items.split(\":\");\r\n Object.assign(styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n return styles;\r\n}","let num = 0;\r\nconst listeners: ((loading: boolean) => void)[] = [];\r\n\r\n/**\r\n * wait\r\n * \r\n * @param millisecond \r\n * @returns \r\n */\r\nconst wait = (millisecond: number) => (\r\n new Promise(resolve => {\r\n setTimeout(() => {\r\n resolve(millisecond);\r\n }, millisecond)\r\n}));\r\n\r\n/**\r\n * 注册loading\r\n * \r\n * @param payload \r\n */\r\nexport const regrister = (payload: (loading: boolean) => void) => {\r\n if (typeof payload === 'function') {\r\n listeners.push(payload);\r\n }\r\n}\r\n\r\n/**\r\n * 触发\r\n * \r\n * @param loading \r\n */\r\nconst trigger = async (loading: boolean) => {\r\n if (num === 0) {\r\n for (const callback of listeners) {\r\n callback(loading);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * 开始加载loading\r\n */\r\nexport const begin = async () => {\r\n if (num ++ === 0) {\r\n trigger(true);\r\n }\r\n}\r\n\r\n/**\r\n * 结束加载loading\r\n * \r\n */\r\nexport const end = async () => {\r\n if (-- num === 0) {\r\n trigger(false);\r\n }\r\n}\r\n\r\n/**\r\n * 自动关闭\r\n * \r\n */\r\nexport const autoClose = async () => {\r\n await wait(1000);\r\n if (num === 0) {\r\n trigger(false);\r\n } else {\r\n autoClose()\r\n }\r\n}\r\n\r\n/**\r\n * 错误loading\r\n */\r\nexport const error = async () => {\r\n num = 0;\r\n trigger(false);\r\n}","import { cloneDeep } from 'lodash';\r\nimport { extend } from 'umi-request';\r\nimport { fetchEventSource } from '@microsoft/fetch-event-source';\r\nimport { parse, compile } from 'path-to-regexp';\r\nimport { config } from '@/config';\r\nimport { begin, end, error } from './loading';\r\n\r\nconst umiRequest = extend({\r\n prefix: config.request.prefix,\r\n headers: config.request.headers,\r\n timeout: config.request.timeout,\r\n});\r\n\r\n/** loading全局中间件 */\r\numiRequest.use(async (ctx, next) => {\r\n try {\r\n begin();\r\n await next();\r\n end();\r\n } catch (e) {\r\n error();\r\n throw e;\r\n }\r\n}, { global: true });\r\n\r\n/** 请求访问 **/\r\nconst request = (targetUrl: string, options: any) => {\r\n const cloneData = cloneDeep(options.data);\r\n let url = targetUrl;\r\n try {\r\n // 过滤protocol、domain、host\r\n let domain = '';\r\n const urlMatch = url.match(/[a-zA-z]+:\\/\\/[^/]*/);\r\n if (urlMatch) {\r\n [domain] = urlMatch;\r\n url = url.slice(domain.length);\r\n }\r\n // 编译url参数\r\n const match = parse(url)?.tokens;\r\n url = compile(url)(options.data);\r\n match.forEach((item: any) => {\r\n if (item instanceof Object && item.name in cloneData) {\r\n delete cloneData[item.name];\r\n }\r\n });\r\n url = domain + url;\r\n } catch (e: any) {\r\n console.error(e.message);\r\n }\r\n if (options.method.toLocaleUpperCase() === 'GET') {\r\n options.params = cloneData;\r\n } else if (options.type){\r\n options.requestType = options.type\r\n }\r\n options.prefix = config.request.prefix; \r\n // 调用umi-request\r\n return umiRequest(url, options)\r\n .then(({ status, ...rest }: any) => {\r\n const success = status === 200;\r\n return Promise.resolve({\r\n success,\r\n ...rest,\r\n });\r\n })\r\n .catch(({ response, data }: any) => {\r\n const message = data?.message ?? '访问超时';\r\n console.error(url, response, data);\r\n return Promise.resolve({\r\n success: false,\r\n message,\r\n });\r\n });\r\n};\r\n\r\n/** request **/\r\nexport default (uri: string) => {\r\n let [method, type, url] = ['GET', 'json', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n } else if (uriArray.length === 3) {\r\n [method, type, url] = uriArray;\r\n }\r\n return (data?: any) => request(url, { method, type, data });\r\n}\r\n\r\n/** fetch **/\r\nconst fetch = (uri: string) => {\r\n let [method, url] = ['POST', uri];\r\n const uriArray = uri.split(' ')\r\n if (uriArray.length === 2) {\r\n [method, url] = uriArray;\r\n }\r\n const prefix = config.request.prefix;\r\n return (data: any, { began, end, stream }: { began: () => void, end: () => void, stream: (text?: string) => void}) => {\r\n fetchEventSource(prefix + url, {\r\n method,\r\n headers: {\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n },\r\n body: JSON.stringify(data),\r\n async onopen() {\r\n began();\r\n },\r\n onmessage(response) {\r\n const obj = JSON.parse(response.data);\r\n const content: string = obj?.data?.content ?? '';\r\n stream(content);\r\n },\r\n onerror(message) {\r\n console.error(message);\r\n end();\r\n },\r\n onclose() {\r\n end();\r\n },\r\n });\r\n };\r\n}\r\n\r\nexport { fetch };","import React, { PureComponent } from \"react\";\r\nimport request from \"@/utils/request\";\r\nimport { DesignContext } from \"@/context\";\r\n\r\nexport default class WidgetComponent<P = {}, S = {}> extends PureComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param uri \r\n * @returns \r\n */\r\n async request(uri: string, args?: object): Promise<any> {\r\n const params = args ?? this.context.params;\r\n return request(uri)({ ...params }).then(({ success, data }) => (\r\n success ? Promise.resolve(data) : Promise.reject(undefined)\r\n )\r\n ).catch(error => {\r\n console.error(\"remote\", uri, error);\r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n}\r\n\r\nWidgetComponent.contextType = DesignContext;","import React, { useImperativeHandle, useState } from \"react\";\r\nimport WidgetComponent from \"./WidgetComponent\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { Tooltip } from \"antd\";\r\nimport request, { fetch } from \"@/utils/request\";\r\nimport { config } from \"@/config\";\r\n\r\nexport default class AIComponent<P extends Design.ComponentProps, S = {}> extends WidgetComponent<P, S> {\r\n\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n labelRef: React.RefObject<any>;\r\n\r\n constructor(props: P) {\r\n super(props)\r\n this.labelRef = React.createRef();\r\n this.registerFormMethod();\r\n }\r\n\r\n /**\r\n * 注册组件\r\n */\r\n registerFormMethod(): void {\r\n this.props.registerFormMethod?.(() => { \r\n if (config.aigc.stream) {\r\n this.labelRef.current?.chatStream();\r\n } else {\r\n this.labelRef.current?.chat();\r\n }\r\n });\r\n }\r\n\r\n getAiLabel(value: string) {\r\n const { prompt: rootPrompt, temperature: rootTemperature} = this.context;\r\n const { prompt, temperature } = this.props;\r\n return <Ai ref={this.labelRef} content={value} prompt={prompt || rootPrompt} temperature={temperature || rootTemperature} />\r\n }\r\n\r\n}\r\n\r\nconst Ai = React.forwardRef(({ content, prompt, temperature }: any, ref) => {\r\n\r\n const [message, setMessage] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const url = config.aigc.url;\r\n useImperativeHandle(ref, () => ({\r\n chatStream: () => {\r\n if (loading === false) {\r\n setLoading(true);\r\n let tests = [];\r\n fetch(url)({ content, prompt, temperature }, {\r\n began: () => {\r\n setLoading(true);\r\n },\r\n end: () => {\r\n setLoading(false);\r\n },\r\n stream: text => {\r\n tests.push(text);\r\n setMessage(tests.join(''));\r\n }\r\n });\r\n }\r\n },\r\n chat: () => {\r\n request(url)({content, prompt, temperature}).then(({ success, data }) => {\r\n setMessage(data);\r\n })\r\n }\r\n }));\r\n\r\n if (message) {\r\n return <Tooltip title={message} color=\"lime\">\r\n <span style={{ margin: '5px 0 0 3px' }}>\r\n <svg className=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\r\n <path d=\"M512 85.504c235.52 0 426.496 190.976 426.496 426.496S747.52 938.496 512 938.496 85.504 747.52 85.504 512 276.48 85.504 512 85.504z m0 84.992c-188.416 0-341.504 152.576-341.504 341.504s152.576 341.504 341.504 341.504c188.416 0 341.504-153.088 341.504-341.504 0-188.416-153.088-341.504-341.504-341.504z m-40.448 156.672l121.856 369.664H509.44l-27.136-89.6H361.984l-27.648 89.6H256l122.368-369.664h93.184z m256 0v369.664h-78.336V327.168h78.336zM424.448 402.944h-3.584L377.344 547.84h90.112l-43.008-144.896z\" fill=\"#1296db\" />\r\n </svg>\r\n </span>\r\n </Tooltip>;\r\n }\r\n return null;\r\n\r\n})\r\n\r\nAIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { every, some, find } from \"lodash\";\r\nimport { collection, compute, condition, validate } from \"@/applets\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { toStyles } from \"@/utils/style\";\r\nimport AIComponent from \"./AIComponent\";\r\n\r\nexport default class UIComponent<P extends Design.ComponentProps, S = {}> extends AIComponent<P, S> {\r\n declare context: React.ContextType<typeof DesignContext>\r\n\r\n styleWrapper = { style: { borderBottom: '1px solid #d9d9d9' } };\r\n\r\n /**\r\n * 设置字段默认值\r\n * \r\n * @param defaultValue \r\n */\r\n setDefaultValue<T>(defaultValue: T): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n const value = form.current?.getFieldValue(code);\r\n if (!value) {\r\n form.current?.setFieldValue(code, defaultValue);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 设置当前字段值\r\n * \r\n * @param value \r\n */\r\n setFieldValue<T>(value: T | undefined): void {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n form.current?.setFieldValue(code, value);\r\n }\r\n }\r\n\r\n /**\r\n * 清楚当前值\r\n * \r\n */\r\n cleanFieldValue(): void {\r\n setTimeout(() => {\r\n this.setFieldValue(undefined);\r\n }, 1);\r\n }\r\n\r\n /**\r\n * 获得当前值\r\n * \r\n * @returns \r\n */\r\n getFieldValue<T>(): T | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n const code = this.props.code;\r\n return form.current?.getFieldValue(code);\r\n }\r\n }\r\n\r\n /**\r\n * 获得所有form对象值\r\n * \r\n * @returns \r\n */\r\n getFieldsValue(): object | undefined {\r\n const form = this.context.form;\r\n if (form) {\r\n return form.current?.getFieldsValue();\r\n }\r\n }\r\n\r\n /**\r\n * 获得标签\r\n * \r\n * @returns \r\n */\r\n getLabel() {\r\n if (this.context.showTitle) {\r\n const { title, labelStyle, preview, aigc } = this.props;\r\n const labelStyles = toStyles(labelStyle);\r\n const value = this.getFieldValue();\r\n return <>\r\n <span style={{ ...config.style.labelStyle, ...labelStyles }}>{title}</span>\r\n { aigc && preview && value && this.getAiLabel(value as string)}\r\n </>;\r\n }\r\n }\r\n\r\n /**\r\n * 获得item信息\r\n * \r\n * @returns \r\n */\r\n getItem(): { itemProps: {}, itemLayouts: {} } {\r\n const { preview, labelCol, wrapperCol, tips } = this.props;\r\n const itemLayouts = labelCol && wrapperCol ? { labelCol: { span: labelCol }, wrapperCol: { span: wrapperCol } } : {};\r\n let itemProps: {};\r\n if (preview) {\r\n itemProps = { required: false };\r\n Object.assign(itemLayouts.wrapperCol ?? {}, this.styleWrapper);\r\n } else {\r\n itemProps = { tooltip: tips };\r\n }\r\n return { itemProps, itemLayouts };\r\n }\r\n\r\n /**\r\n * 样式\r\n * \r\n * @returns \r\n */\r\n getStyles(): { styles: {}, itemStyles: {} } {\r\n const { style, itemStyle } = this.props;\r\n const styles = toStyles(style);\r\n const itemStyles = toStyles(itemStyle);\r\n return { styles, itemStyles };\r\n }\r\n\r\n /**\r\n * 条件\r\n * \r\n * @param defaultHide \r\n * @param children \r\n * @returns \r\n */\r\n display(): boolean {\r\n const fileds = this.getFieldsValue();\r\n const { defaultHide = false, children, preview } = this.props;\r\n const show: boolean = !defaultHide;\r\n const conditions: Design.Modal.ConditionXML | undefined = find(children, { tag: \"Conditions\" });\r\n if (conditions) {\r\n const { type, action } = conditions;\r\n const list = conditions.children?.map(condition(fileds, preview!!));\r\n if (list?.length > 0 && list?.[0] !== undefined) {\r\n let result: boolean = false;\r\n if (type === 'and') {\r\n result = every(list);\r\n } else {\r\n result = some(list);\r\n }\r\n if ((result && action === 'hide') || (!result && action === 'show')) {\r\n return false;\r\n } else if ((!result && action === 'hide') || (result && action === 'show')) {\r\n return true;\r\n }\r\n }\r\n }\r\n return show;\r\n }\r\n\r\n /**\r\n * 规则\r\n * \r\n * @param preview \r\n * @param children \r\n * @returns \r\n */\r\n rules(): Design.Rule[] {\r\n const { preview, children } = this.props;\r\n if (!preview) {\r\n const validates = find(children, { tag: \"Validates\" });\r\n return validates?.children?.map(validate) ?? [];\r\n }\r\n return [];\r\n }\r\n\r\n /**\r\n * 可选内容列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n collectionList(): string[] | undefined {\r\n const content = find(this.props.children, { tag: \"Collection\" });\r\n if (content) {\r\n const fields = this.getFieldsValue();\r\n return collection(fields, content);\r\n }\r\n return undefined;\r\n }\r\n\r\n /**\r\n * 计算值\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n onComputeValue(): void {\r\n const content = find(this.props.children, { tag: \"Compute\" });\r\n if (content) {\r\n const fileds = this.getFieldsValue();\r\n const computeValue = compute(fileds, content);\r\n if (computeValue) {\r\n setTimeout(() => {\r\n this.setFieldValue(computeValue);\r\n }, 1);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 初始化值\r\n * \r\n * @param value \r\n */\r\n initValue(value?: string): void {\r\n const { defaultValue = value } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\nUIComponent.contextType = DesignContext;","import React from \"react\";\r\nimport { Form } from \"antd\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\ninterface ProComponentProps extends Design.ComponentProps {\r\n Component: any;\r\n}\r\n\r\nexport default class ProComponent extends UIComponent<ProComponentProps> {\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n initValue = () => {\r\n const { defaultValue } = this.props;\r\n if (defaultValue) {\r\n this.forceUpdate(() => {\r\n this.setDefaultValue(defaultValue);\r\n });\r\n }\r\n };\r\n\r\n onChange = (value: string) => {\r\n this.setFieldValue(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, hidden } = this.props;\r\n const { Component, defaultValue, style, ...props } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {<Component {...props} style={styles} onChange={this.onChange}/>}\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import { find } from \"lodash\";\r\nimport { config } from \"@/config\";\r\nimport UIComponent from \"./UIComponent\";\r\n\r\nexport default class UIListComponent<P extends Design.ComponentProps, S = {}> extends UIComponent<P, S> {\r\n\r\n /**\r\n * 选项列表\r\n * \r\n * @param children \r\n * @returns \r\n */\r\n optionList(): Design.ItemOption[] | undefined {\r\n const options = find(this.props.children, { tag: \"Options\" })\r\n return options?.children as [];\r\n }\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: string) => value?.length > 0 ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n if (rule.min && rule.max) {\r\n const validator = (_: unknown, list: any[]) => list.length >= rule.min! && list.length <= rule.max! ? Promise.resolve() : Promise.reject();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n /**\r\n * 获得资源列表\r\n * \r\n * @param list \r\n * @param itemList \r\n * @param reset \r\n * @returns \r\n */\r\n getList(list: Design.ItemOption[], itemList: string[] | undefined, reset: (plist: Design.ItemOption[]) => void): Design.ItemOption[] {\r\n if (itemList) {\r\n const plist = list.filter(({ key }) => itemList.includes(key));\r\n reset(plist);\r\n return plist;\r\n }\r\n return list;\r\n }\r\n\r\n\r\n /**\r\n * 请求网络\r\n * \r\n * @param uri \r\n * @returns \r\n */\r\n async request(uri: string, args?: object): Promise<any> {\r\n const url = config.request.root + uri;\r\n return super.request(url, args).then(data => {\r\n if (Array.isArray(data)) {\r\n const list = data.map(item => {\r\n const [key, label] = Object.entries<string>(item)?.[0];\r\n return { key, label };\r\n });\r\n return Promise.resolve(list);\r\n } else {\r\n return Promise.resolve(data);\r\n }\r\n });\r\n }\r\n}","import { Upload, message } from 'antd';\r\nimport { WidgetComponent } from '@/service';\r\nimport { config } from '@/config';\r\nimport bytes from 'bytes';\r\n\r\nexport default class UploadComponent<P extends Design.File.WidgetProps> extends WidgetComponent<P, Design.File.WidgetStates> {\r\n timer?: NodeJS.Timeout;\r\n uploading = false;\r\n state = {\r\n fileList: [],\r\n fileView: undefined,\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n }\r\n\r\n getFileTypeList = (): string[] | undefined => {\r\n const fileTypeArray = this.props.fileType?.replace(/\\ +/g, \"\").split(\",\");\r\n return fileTypeArray?.map((type: string) => (type.startsWith(\".\") ? config.mimeType[type] : type));\r\n }\r\n\r\n componentDidMount(): void {\r\n const { list } = this.props;\r\n const url = config.request.root + config.file.listUrl; \r\n if (list && list.length > 0) {\r\n this.request(url, { ids: list }).then((data: any[]) => {\r\n const fileList = data.map((file: Design.File.FileInfo) => ({ ...file, status: 'done' }));\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n })\r\n }).catch((error: Error) => {\r\n console.warn(\"url\", url, error);\r\n });\r\n }\r\n }\r\n\r\n onChange(fileList: Design.File.FileInfo[]): void {\r\n this.props.onChange?.(fileList.filter(({ id, status }) => (id && status === 'done')).map(({ id }) => id));\r\n }\r\n\r\n onBeforeUpload(file: any): string | boolean {\r\n const fileSize = this.props.fileSize;\r\n if (fileSize) {\r\n const fileSizeValue = bytes.parse(fileSize);\r\n if (fileSizeValue < file.size) {\r\n message.error(`上传的文件大小,不能超过 ${fileSize}!`);\r\n return Upload.LIST_IGNORE;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n onStart = (): void => {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: 0\r\n }\r\n })\r\n this.uploading = true;\r\n }\r\n\r\n onProgress = (step: { percent: number }) => {\r\n if (!this.uploading) {\r\n return\r\n }\r\n clearInterval(this.timer);\r\n const percent = Math.round(step.percent / 2);\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: percent\r\n }\r\n });\r\n if (percent === 50) {\r\n let progress = percent;\r\n this.timer = setInterval(() => {\r\n if (this.uploading) {\r\n this.setState({\r\n modal: {\r\n open: true,\r\n progress: ++progress\r\n }\r\n });\r\n } else {\r\n clearInterval(this.timer);\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n });\r\n }\r\n if (progress === 99) {\r\n clearInterval(this.timer);\r\n }\r\n }, 1000);\r\n }\r\n }\r\n\r\n onSuccess = (response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const { id, url } = response.data;\r\n file.status = \"done\";\r\n file.response = response;\r\n file.id = id;\r\n file.url = url;\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: true,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n setTimeout(() => {\r\n this.setState({\r\n modal: {\r\n open: false,\r\n progress: 0\r\n }\r\n })\r\n }, 500);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onError = (error: any, response: any, file: any) => {\r\n clearInterval(this.timer);\r\n const fileList = [...this.state.fileList, file];\r\n file.status = \"error\";\r\n file.response = response?.message ?? \"上传失败\";\r\n this.setState({\r\n fileList,\r\n modal: {\r\n open: false,\r\n progress: 100\r\n }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n this.uploading = false;\r\n }\r\n\r\n onRemove = (file: any) => {\r\n const { fileList } = this.state;\r\n const list = fileList.filter(({ id }) => id !== file.id);\r\n this.setState({\r\n fileList: list\r\n }, () => {\r\n this.onChange(list);\r\n });\r\n }\r\n\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Label extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.rules();\r\n const { title, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n wrapperCol={{ span: 24 }}\r\n >\r\n <div style={styles}>{title}</div>\r\n </Form.Item>\r\n )\r\n }\r\n return <></>;\r\n }\r\n}","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class Tooltip extends UIComponent<Design.ComponentProps> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n const tooltip = this.context.tooltip ?? true;\r\n if (show && tooltip) {\r\n const { title, hidden, children } = this.props; \r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item style={itemStyles} hidden={hidden} wrapperCol={{ span: 24 }}>\r\n <div style={styles}>{title ?? children}</div>\r\n </Form.Item>\r\n );\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { Space, Image } from 'antd';\r\nimport { config } from '@/config';\r\n\r\n/** 文本预览 */\r\nconst DefalutPreviewText = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n if (value && type === \"url\") {\r\n const urls = value.split(/[,;\\s]/);\r\n return urls.map((url: string) => <div style={style}><a href={url} target=\"_blank\" rel=\"noreferrer\">{url}</a></div>);\r\n }\r\n return <div style={style}>{value}</div>;\r\n}\r\nexport const PreviewText = (props: any) => (\r\n (config.previewComponents?.PreviewText ?? DefalutPreviewText)(props)\r\n)\r\n\r\n/** 富文本预览 */\r\nconst DefalutPreviewEditor = ({ value, type, style, onChange }: Design.PreviewProps) => {\r\n useEffect(() => {\r\n onChange?.(value);\r\n }, []);\r\n return <div dangerouslySetInnerHTML={{ __html: value }}></div>;\r\n}\r\nexport const PreviewEditor = (props: any) => (\r\n (config.previewComponents?.PreviewEditor ?? DefalutPreviewEditor)(props)\r\n)\r\n\r\n/** 时长预览 */\r\nconst DefalutPreviewDuration = ({ value, format, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n let result = format;\r\n const ds = [\"H\", \"M\", \"S\"];\r\n const vs = value ? value.split(\":\") : [\"000\", \"00\", \"00\"];\r\n for (let i = 0; i < ds.length; i++) {\r\n result = result.replace(new RegExp(`\\\\[${ds[i]}\\\\]|${ds[i]}`, \"g\"), vs[i]);\r\n }\r\n return <div style={style}>{result}</div>;\r\n}\r\nexport const PreviewDuration = (props: any) => (\r\n (config.previewComponents?.PreviewDuration ?? DefalutPreviewDuration)(props)\r\n)\r\n\r\n/** 切换预览 */\r\nconst DefalutPreviewSwitch = ({ checked, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(checked);\r\n }, []);\r\n return <div style={style}>{checked ? \"开启\" : \"关闭\"}</div>;\r\n}\r\nexport const PreviewSwitch = (props: any) => (\r\n (config.previewComponents?.PreviewSwitch ?? DefalutPreviewSwitch)(props)\r\n)\r\n\r\n/** 列表预览 */\r\nconst DefalutPreviewList = ({ value, list, style, onChange }: any) => {\r\n useEffect(() => {\r\n onChange(value);\r\n }, []);\r\n\r\n if (Array.isArray(value)) {\r\n const items = list.filter(({ key }: any) => value.includes(key)).map(({ label }: any) => label);\r\n return <div style={style}>{items?.join()}</div>\r\n } else {\r\n const item = list?.find(({ key }: any) => key === value);\r\n return <div style={style}>{item?.label}</div>;\r\n }\r\n}\r\nexport const PreviewList = (props: any) => (\r\n (config.previewComponents?.PreviewList ?? DefalutPreviewList)(props)\r\n)\r\n\r\n/** 文件预览 */\r\nconst DefalutPreviewFile = ({ fileList }: { fileList: any[] }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n const previewUrl = config.request.prefix + config.file.previewUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url, contentType }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n /** pdf文本预览 */\r\n if (contentType?.endsWith(\"pdf\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 图片文本预览 */\r\n if (contentType?.startsWith(\"image\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <Image width={200} src={url} alt={name} />\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 视频文本预览 */\r\n if (contentType?.startsWith(\"video\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <video src={url} controls style={{ width: 260 }}>当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 音频文本预览 */\r\n if (contentType?.startsWith(\"audio\")) {\r\n return <div key={id}>\r\n <div style={{ paddingBottom: 10, display: 'flex', alignItems: 'center' }}>\r\n <div>\r\n <audio src={url} controls style={{ width: 'calc(100% - 40px)', height: 30 }}>当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <div>{name}</div>\r\n </div>\r\n <a style={{ paddingLeft: 10 }} href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </div>\r\n </div>\r\n }\r\n /** office文本预览 */\r\n if (name?.endsWith(\".doc\") || name?.endsWith(\".docx\") || name?.endsWith(\".xls\") || name?.endsWith(\".xlsx\") || name?.endsWith(\".ppt\") || name?.endsWith(\".pptx\")) {\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={previewUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n }\r\n /** 默认文本预览 */\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <a href={url} target=\"_blank\" rel=\"noreferrer\">{name}</a>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewFile = (props: any) => (\r\n (config.previewComponents?.PreviewFile ?? DefalutPreviewFile)(props)\r\n)\r\n\r\n/** 音频预览 */\r\nconst DefalutPreviewAudio = ({ fileList, autoplay, muted, loop, preload }: { fileList: any[], autoplay: boolean, muted: boolean, loop: boolean, preload: \"auto\" | \"metadata\" | \"none\" }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <audio\r\n src={url}\r\n controls={true}\r\n autoPlay={autoplay}\r\n muted={muted}\r\n loop={loop}\r\n preload={preload}\r\n style={{ width: 'calc(100% - 40px)', height: 30 }}\r\n >当前浏览器不支持音频播放,请使用最新版谷歌浏览器!</audio>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewAudio = (props: any) => (\r\n (config.previewComponents?.PreviewAudio ?? DefalutPreviewAudio)(props)\r\n)\r\n\r\n/** 视频预览 */\r\nconst DefalutPreviewVideo = ({ fileList, controls, autoplay, muted, pip, loop, preload }: { fileList: any[], controls: boolean, autoplay: boolean, muted: boolean, pip: boolean, loop: boolean, preload: \"auto\" | \"metadata\" | \"none\" }) => {\r\n const downloadUrl = config.request.prefix + config.file.downloadUrl;\r\n return <>\r\n {fileList?.map(({ id, name, url }: any) => {\r\n const uri = downloadUrl + \"/\" + id;\r\n return <div key={id}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <div>\r\n <video\r\n src={url}\r\n controls={controls}\r\n autoPlay={autoplay}\r\n muted={muted}\r\n loop={loop}\r\n preload={preload}\r\n style={{ width: 260 }}\r\n >当前浏览器不支持视频播放,请使用最新版谷歌浏览器!</video>\r\n <div>{name}</div>\r\n </div>\r\n <a href={uri} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n })}\r\n </>\r\n}\r\nexport const PreviewVideo = (props: any) => (\r\n (config.previewComponents?.PreviewVideo ?? DefalutPreviewVideo)(props)\r\n)\r\n\r\n/** 图片预览 */\r\nconst DefalutPreviewImage = ({ fileList, width, height, style }: { fileList: any[], width: number, height: number, style?: object }) =>\r\n <>\r\n {fileList?.map(({ id, name, url }) => (\r\n <div key={id} style={style}>\r\n <Space style={{ paddingBottom: 10 }}>\r\n <Image width={width} height={height} src={url} alt={name} />\r\n <a href={config.request.prefix + config.file.downloadUrl + \"/\" + id} target=\"_blank\" rel=\"noreferrer\">下载</a>\r\n </Space>\r\n </div>\r\n ))}\r\n </>\r\nexport const PreviewImage = (props: any) => (\r\n (config.previewComponents?.PreviewImage ?? DefalutPreviewImage)(props)\r\n)","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class Text extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type, preview, placeholder, maxLength, allowClear, showCount, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText type={type} style={styles} /> : <Input maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, Input } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class TextArea extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue(); \r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, placeholder, maxLength, allowClear, showCount, minRow=\"0\", maxRow=\"0\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles} = this.getStyles();\r\n const minRows = Number(minRow);\r\n const maxRows = Number(maxRow);\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <Input.TextArea maxLength={maxLength} placeholder={placeholder} allowClear={allowClear} showCount={showCount} autoSize={ minRows + maxRows < 1 ? false : { minRows, maxRows} } disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from \"react\";\r\nimport { Form, InputNumber as Numerial } from \"antd\";\r\nimport { UIComponent } from '@/service';\r\nimport { PreviewText } from \"@/preview\";\r\n\r\nexport default class InputNumber extends UIComponent<Design.NumberProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const { type = \"number\", precision } = this.props;\r\n let numberProps: {} = {};\r\n if (type === \"digits\") {\r\n if (precision) {\r\n numberProps = {\r\n precision: Number(precision),\r\n };\r\n } else {\r\n numberProps = {\r\n precision: 2,\r\n };\r\n }\r\n } else if (type === \"money\") {\r\n numberProps = {\r\n formatter: (value: string) =>\r\n `¥ ${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\"),\r\n parser: (value: string) => value!.replace(/\\$\\s?|(,*)/g, \"\"),\r\n };\r\n } else if (type === \"percentage\") {\r\n numberProps = {\r\n formatter: (value: string) => `${value}%`,\r\n parser: (value: string) => value!.replace(\"%\", \"\"),\r\n };\r\n }\r\n this.onComputeValue();\r\n const rules = this.rules().map(rule => rule.required ? { ...rule, type: \"number\" } : rule);\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, min, max, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : (rules as [])}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? (<PreviewText style={styles} />) : (<Numerial min={min} max={max} disabled={readonly} {...numberProps} style={styles} />)}\r\n </Form.Item>\r\n );\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form } from 'antd';\r\nimport { PreviewEditor } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\nimport { Editor as WangEditor, Toolbar } from '@wangeditor/editor-for-react'\r\nimport { debounce } from 'lodash';\r\nimport '@wangeditor/editor/dist/css/style.css'\r\n\r\nexport default class Editor extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, placeholder, hidden, readonly } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n colon={!!title}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {(preview || readonly) ? <PreviewEditor style={styles} /> : <EditorWidget placeholder={placeholder} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass EditorWidget extends React.Component<Design.WidgetProps> {\r\n\r\n state = {\r\n editor: null,\r\n html: ''\r\n }\r\n\r\n handleChange = debounce((value) => {\r\n this.props.onChange?.(value);\r\n }, 500);\r\n\r\n componentDidMount(): void {\r\n setTimeout(() => {\r\n this.setState({ html: this.props.value });\r\n }, 1);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { placeholder, style } = this.props;\r\n const { editor, html } = this.state;\r\n\r\n const styles: React.CSSProperties = { height: '200px', overflowY: 'hidden', ...style };\r\n\r\n return (\r\n <div style={{ border: '1px solid #ccc', zIndex: 100 }}>\r\n <Toolbar\r\n editor={editor}\r\n mode=\"default\"\r\n defaultConfig={{\r\n excludeKeys: ['group-image', 'group-video'],\r\n }}\r\n style={{ borderBottom: '1px solid #ccc' }}\r\n />\r\n <WangEditor\r\n defaultConfig={{ placeholder }}\r\n value={html}\r\n onCreated={editor => {\r\n this.setState({ editor })\r\n }}\r\n onChange={(editor) => {\r\n const html: string = editor.getHtml();\r\n this.setState({ html }, () => {\r\n this.handleChange(html);\r\n });\r\n }}\r\n mode=\"default\"\r\n style={styles}\r\n />\r\n </div>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Select } from 'antd';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { PreviewList } from '@/preview';\r\n\r\nexport default class SelectList extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void { \r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n initValue() {\r\n const { defaultValue, multiple } = this.props;\r\n if (defaultValue) {\r\n if (multiple) {\r\n this.setDefaultValue([defaultValue]);\r\n } else {\r\n this.setDefaultValue(defaultValue);\r\n }\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const { code, preview, multiple, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const rules = multiple ? this.plusRules() : this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string | string[]>();\r\n if (currentValue && (\r\n (!multiple && !plist.some(item => item.key === currentValue)) ||\r\n (multiple && !plist.some(item => currentValue.includes(item.key)))\r\n )) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={this.state.list} style={styles} /> :\r\n <SelectWidget list={list} multiple={multiple} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />\r\n }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nconst { Option } = Select;\r\nclass SelectWidget extends WidgetComponent<Design.WidgetProps> {\r\n\r\n handleItemValue = (value: string) => {\r\n this.props.onChange?.(value);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { list, value, multiple, placeholder, allowClear, readonly, style } = this.props;\r\n return (<Select\r\n showSearch\r\n placeholder={placeholder}\r\n mode={multiple ? \"multiple\" : undefined}\r\n disabled={readonly}\r\n value={value as string}\r\n allowClear={allowClear}\r\n style={style}\r\n onChange={this.handleItemValue}\r\n filterOption={(inputValue: string, option: any) =>\r\n (option!.children as unknown as string).toLowerCase().includes(inputValue.toLowerCase())\r\n }\r\n >\r\n {list && (list.map(({ key, label }) => <Option key={key} value={key}>{label}</Option>))}\r\n </Select>);\r\n }\r\n}","import React from 'react';\r\nimport { Form, Checkbox } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class CheckBox extends UIListComponent<Design.RemoteProps, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({\r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string[]>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewList list={this.state.list} style={styles} /> : <CheckboxWidget list={list} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nclass CheckboxWidget extends WidgetComponent<Design.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, readonly, style, onChange } = this.props;\r\n return (\r\n <Checkbox.Group\r\n style={style}\r\n value={value as string[]}\r\n onChange={(value: any) => {\r\n onChange?.(value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Checkbox key={key} value={key} disabled={readonly}>{label}</Checkbox>))}\r\n </Checkbox.Group>\r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Radio } from 'antd';\r\nimport { PreviewList } from '@/preview';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\n\r\nexport default class RadioButton extends UIListComponent<Design.Radio.Props, Design.ListState> {\r\n state = {\r\n list: [],\r\n }\r\n \r\n componentDidMount(): void {\r\n const { remote } = this.props;\r\n const optionList = this.optionList();\r\n if (optionList) {\r\n this.setState({ \r\n list: optionList\r\n }, this.initValue);\r\n } else if (remote && remote.trim().length > 0) {\r\n this.request(remote).then((list: Design.ItemOption[]) => {\r\n this.setState({ list }, this.initValue);\r\n });\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const itemList = this.collectionList();\r\n const list = this.getList(this.state.list, itemList, (plist) => {\r\n if (plist.length > 0) {\r\n const currentValue = this.getFieldValue<string>();\r\n if (currentValue && !plist.some(item => currentValue.includes(item.key))) {\r\n this.cleanFieldValue();\r\n }\r\n }\r\n });\r\n const { code, preview, optionType, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewList list={list} style={styles} /> : <RadioWidget list={this.state.list} optionType={optionType} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n } \r\n}\r\n\r\nclass RadioWidget extends WidgetComponent<Design.Radio.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, list, optionType, readonly, style, onChange } = this.props;\r\n return (\r\n <Radio.Group\r\n value={value}\r\n optionType={optionType}\r\n style={style}\r\n onChange={(e: any) => {\r\n onChange?.(e.target.value);\r\n }}\r\n >\r\n {list && (list.map(({ key, label }) => <Radio key={key} value={key} disabled={readonly}>{label}</Radio>))}\r\n </Radio.Group>\r\n );\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Switch } from 'antd';\r\nimport { PreviewSwitch } from '@/preview';\r\nimport { UIComponent } from '@/service';\r\n\r\nexport default class SwitchButton extends UIComponent<Design.ComponentProps> {\r\n \r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { code, preview, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n label={this.getLabel()}\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"checked\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewSwitch style={styles} /> : <Switch disabled={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import React from 'react';\r\nimport { Form, InputNumber } from 'antd';\r\nimport format from 'number-format.js';\r\nimport { PreviewDuration } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport './index.css';\r\n\r\nexport default class Duration extends UIComponent<Design.ComponentProps> {\r\n\r\n componentDidMount(): void {\r\n this.initValue(\"000:00:00\");\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, preview, format=\"H小时M分S秒\", readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewDuration format={format} style={styles} /> : <DurationWidget format={format} readonly={readonly} style={styles}/> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DurationWidget extends WidgetComponent<Design.WidgetDurationProps> {\r\n\r\n duration: number[] = [0, 0, 0];\r\n pattern: string[] = [\"H\", \"M\", \"S\"];\r\n \r\n changeValue = (index: number) => (changeValue: number | null) => {\r\n if (typeof changeValue === \"number\") {\r\n this.duration[index] = changeValue;\r\n const durations = this.duration.map((value: number, index: number) => (index === 0 ? format(\"000\", value) : format(\"00\", value)));\r\n this.props.onChange?.(durations.join(\":\"));\r\n }\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { value, format, readonly, style } = this.props;\r\n // 提取时分秒\r\n const times = format.trim().split(/\\[.*?\\]|[HMS]/);\r\n // 提取HMS\r\n this.pattern = format.trim().split(new RegExp(`[${times.join(\"\")}]`)).filter(v => v);\r\n\r\n if (typeof value === \"string\") {\r\n this.duration = value.split(\":\").map(Number);\r\n }\r\n\r\n const result: string[] = [];\r\n times.forEach((v, i) => {\r\n if (v) result.push(v);\r\n if (i <= this.pattern.length - 1) \r\n result.push(this.pattern[i]);\r\n });\r\n\r\n return (\r\n <div className=\"duration\">\r\n {\r\n result.map((item, i) => {\r\n if (item.includes(\"H\")) {\r\n return <Form.Item key=\"H\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={999} precision={0} value={this.duration[0]}\r\n formatter={(value: any) => value! < 100 ? (value! < 10 ? '00'+ value : '0'+ value) : value!.toString()}\r\n onChange={this.changeValue(0)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else if (item.includes(\"M\")) {\r\n return <Form.Item key=\"M\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[1]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(1)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else if (item.includes(\"S\")) {\r\n return <Form.Item key=\"S\">\r\n <InputNumber style={{width: '100%', ...style}} min={0} max={59} precision={0} value={this.duration[2]}\r\n formatter={(value: any) => value! < 10 ? '0'+ value : value!.toString()}\r\n onChange={this.changeValue(2)} controls={false} disabled={/\\[|\\]/.test(item) ? true : readonly}\r\n />\r\n </Form.Item>\r\n } else {\r\n return <span key={i}>{item}</span>\r\n }\r\n })\r\n }\r\n </div>\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, DatePicker } from 'antd';\r\nimport { PreviewText } from '@/preview';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport weekday from \"dayjs/plugin/weekday\";\r\nimport localeData from \"dayjs/plugin/localeData\";\r\n \r\ndayjs.extend(weekday);\r\ndayjs.extend(localeData);\r\n\r\nexport default class Datepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, type = \"date\", format = \"YYYY-MM-DD\", showTime = false, preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n { preview ? <PreviewText style={styles}/> : <DateWidget type={type} format={format} showTime={showTime} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} /> }\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass DateWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, type, format, showTime, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <DatePicker\r\n value={value ? dayjs(value, format) : undefined}\r\n picker={type}\r\n format={format}\r\n showTime={showTime ? { format: 'HH:mm' } : undefined}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly} \r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format));\r\n }}\r\n />\r\n )\r\n }\r\n}","import React from 'react';\r\nimport dayjs from 'dayjs';\r\nimport { Form, TimePicker } from 'antd';\r\nimport { UIComponent, WidgetComponent } from '@/service';\r\nimport { PreviewText } from '@/preview';\r\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\r\n\r\ndayjs.extend(customParseFormat);\r\n\r\nexport default class Timepicker extends UIComponent<Design.Picker.Props> {\r\n\r\n componentDidMount(): void {\r\n this.initValue();\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.rules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, format = \"HH:mm:ss\", preview, placeholder, allowClear = true, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n {preview ? <PreviewText style={styles} /> : <TimeWidget format={format} placeholder={placeholder} allowClear={allowClear} readonly={readonly} style={styles} />}\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TimeWidget extends WidgetComponent<Design.Picker.WidgetProps> {\r\n render(): React.ReactNode {\r\n const { value, format, placeholder, allowClear, readonly, style, onChange } = this.props;\r\n return (\r\n <TimePicker \r\n value={value ? dayjs(value, format) : undefined}\r\n format={format}\r\n placeholder={placeholder}\r\n allowClear={allowClear}\r\n disabled={readonly}\r\n style={style}\r\n onChange={(value: any) => {\r\n onChange?.(value?.format(format))\r\n }} />\r\n )\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport { UIListComponent, UploadComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends UploadComponent<Design.File.WidgetProps> {\r\n\r\n onBeforeUpload = (file: any) => {\r\n const fileTypeList = this.getFileTypeList();\r\n if (fileTypeList && fileTypeList.length > 0) {\r\n const isFileType = fileTypeList.includes(file.type);\r\n if (!isFileType) {\r\n message.error(this.props.fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n return super.onBeforeUpload(file);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, message } from 'antd';\r\nimport type { UploadProps } from 'antd/es/upload';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport ImgCrop from 'antd-img-crop';\r\nimport { UIListComponent, UploadComponent } from '@/service';\r\nimport { PreviewImage } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"image/jpeg\", \"image/png\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, editor = true, fileSize, fileWidth = \"100\", fileHeight = \"100\", readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} editor={editor} fileSize={fileSize} fileWidth={Number(fileWidth)} fileHeight={Number(fileHeight)} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends UploadComponent<Design.File.WidgetProps> {\r\n\r\n onChangeValue: UploadProps['onChange'] = ({ fileList: list }) => {\r\n const fileList: Design.File.FileInfo[] = list.map((file: any) => {\r\n if (file.response?.status === 200) {\r\n const { id, name, url } = file.response.data;\r\n file.id = id;\r\n // file.name = name;\r\n file.url = url;\r\n file.status = 'done';\r\n } else if (file.response?.status === 500) {\r\n file.status = 'error';\r\n file.response = file.response.message;\r\n }\r\n return file;\r\n });\r\n this.setState({\r\n fileList\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n }\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持图片类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n return super.onBeforeUpload(file);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, fileView } = this.state;\r\n const { preview, maxCount: count, readonly, editor, fileWidth = 100, fileHeight = 100, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewImage fileList={fileList} width={fileWidth} height={fileHeight} style={style} />\r\n }\r\n return (<>\r\n {editor ? <ImgCrop\r\n rotationSlider\r\n modalTitle=\"图片编辑\"\r\n modalOk=\"确认\"\r\n modalCancel=\"取消\"\r\n aspect={fileWidth / fileHeight}\r\n >\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onChange={this.onChangeValue}\r\n onRemove={this.onRemove}\r\n onPreview={(file: any) => this.setState({ fileView: file })}\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style} />}\r\n </Upload>\r\n </ImgCrop>\r\n : <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onChange={this.onChangeValue}\r\n onRemove={this.onRemove}\r\n onPreview={(file: any) => this.setState({ fileView: file })}\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style} />}\r\n </Upload>}\r\n {fileView?.[\"id\"] && <Modal title={fileView[\"name\"]} open={true} footer={null} onCancel={() => this.setState({ fileView: undefined })}>\r\n <img alt={fileView[\"name\"]} style={{ width: '100%' }} src={fileView[\"url\"]} />\r\n </Modal>}\r\n </>)\r\n }\r\n}","import React from 'react';\r\nimport { Form, Rate } from 'antd';\r\nimport { StarFilled } from '@ant-design/icons';\r\nimport { UIListComponent } from '@/service';\r\n\r\nexport default class RateButton extends UIListComponent<Design.Rate.Props> {\r\n\r\n /**\r\n * 添加校验规则\r\n * \r\n * @returns \r\n */\r\n plusRules(): Design.Rule[] {\r\n const rules = this.rules();\r\n return rules?.map(rule => {\r\n if (rule.required) {\r\n const validator = (_: unknown, value: number) => value === 0 ? Promise.reject() : Promise.resolve();\r\n return { ...rule, validator };\r\n }\r\n return { ...rule };\r\n });\r\n }\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n\r\n const { code, preview, allowHalf = false, count = 5, items, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n const characters = items?.split(\",\") ?? [];\r\n\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <Rate allowHalf={allowHalf} count={count} character={({ index = 0 }) => characters.length > 0 ? characters[index] : <StarFilled/>} disabled={preview || readonly} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n } \r\n}\r\n","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport { UIListComponent, UploadComponent } from '@/service';\r\nimport { PreviewAudio } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"audio/mpeg\", \"audio/wav\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.Video.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, readonly, hidden } = this.props;\r\n const { autoplay=false, muted=false, loop=false, preload=\"auto\" } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <AudioWidget \r\n code={code} \r\n maxCount={maxCount} \r\n fileSize={fileSize} \r\n readonly={readonly} \r\n preview={preview} \r\n autoplay={autoplay} \r\n muted={muted} \r\n loop={loop}\r\n preload={preload}\r\n style={styles} \r\n />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass AudioWidget extends UploadComponent<Design.Video.WidgetProps> {\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持音频类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n return super.onBeforeUpload(file);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { code, preview, maxCount: count, readonly, style, autoplay, muted, loop, preload } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewAudio code={code} fileList={fileList} autoplay={autoplay} muted={muted} loop={loop} preload={preload} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { PlusOutlined } from '@ant-design/icons';\r\nimport { UIListComponent, UploadComponent } from '@/service';\r\nimport { PreviewVideo } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\nconst fileType = [\"video/mp4\"];\r\n\r\nexport default class UplaodList extends UIListComponent<Design.Video.Props> {\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileSize, readonly, hidden } = this.props;\r\n const { controls=true, autoplay=false, muted=false, pip=false, loop=false, preload=\"auto\" } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <VideoWidget \r\n code={code} \r\n maxCount={maxCount} \r\n fileSize={fileSize} \r\n readonly={readonly} \r\n preview={preview} \r\n controls={controls} \r\n autoplay={autoplay} \r\n muted={muted} \r\n pip={pip} \r\n loop={loop}\r\n preload={preload}\r\n style={styles} \r\n />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass VideoWidget extends UploadComponent<Design.Video.WidgetProps> {\r\n\r\n onBeforeUpload = (file: any) => {\r\n const isFileType = fileType.includes(file.type);\r\n if (!isFileType) {\r\n message.error(\"上传文件类型,仅支持视频类型!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n return super.onBeforeUpload(file);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { code, preview, maxCount: count, readonly, style, controls, autoplay, muted, pip, loop, preload } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewVideo code={code} fileList={fileList} controls={controls} autoplay={autoplay} muted={muted} pip={pip} loop={loop} preload={preload} />\r\n }\r\n const { onStart, onSuccess, onProgress, onError } = this;\r\n const itemProps = { onStart, onSuccess, onProgress, onError }\r\n return (\r\n <>\r\n <Upload\r\n listType=\"picture-card\"\r\n accept={fileType.join(\",\")}\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n { ...itemProps }\r\n >\r\n {!readonly && (Number(maxCount) > fileList.length) && <Button type=\"link\" icon={<PlusOutlined />} style={style}/>}\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Upload, Button, Modal, Progress, message } from 'antd';\r\nimport { UploadOutlined } from '@ant-design/icons';\r\nimport FileUpload from 'file-block-upload';\r\nimport { UIListComponent, UploadComponent } from '@/service';\r\nimport { PreviewFile } from '@/preview';\r\nimport { config } from '@/config';\r\n\r\nconst normFile = (e: any) => {\r\n if (Array.isArray(e)) {\r\n return e;\r\n }\r\n return e && e.list;\r\n};\r\n\r\nexport default class UplaodList extends UIListComponent<Design.File.Props> {\r\n\r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n const rules = this.plusRules();\r\n const { code, preview, maxCount, fileType, fileTypeMessage, fileSize, readonly, hidden } = this.props;\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n label={this.getLabel()}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n getValueFromEvent={normFile}\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <UploadWidget maxCount={maxCount} fileType={fileType} fileTypeMessage={fileTypeMessage} fileSize={fileSize} readonly={readonly} preview={preview} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass UploadWidget extends UploadComponent<Design.File.WidgetProps> {\r\n\r\n onBeforeUpload = (file: any) => {\r\n const fileTypeList = this.getFileTypeList();\r\n if (fileTypeList && fileTypeList.length > 0) {\r\n const isFileType = fileTypeList.includes(file.type);\r\n if (!isFileType) {\r\n message.error(this.props.fileTypeMessage);\r\n return Upload.LIST_IGNORE;\r\n }\r\n } else {\r\n message.error(\"文件类型不匹配!\");\r\n return Upload.LIST_IGNORE;\r\n }\r\n return super.onBeforeUpload(file);\r\n }\r\n\r\n customRequest = (info: any) => {\r\n const options = {\r\n blockSize: config.chunk.chunkSize,\r\n checkFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.checkFile, { fileName, fileMd5, fileSize })\r\n ),\r\n checkBlock: async ({fileName, fileMd5, blockMd5, blockIndex}: any) => (\r\n await this.request(\"post form \" + config.chunk.checkChunk, { fileName, fileMd5, blockMd5, blockIndex })\r\n ),\r\n\r\n uploadBlock: async ({fileName, fileMd5, blockMd5, blockIndex, file}: any) => {\r\n const formData = new FormData();\r\n formData.append(\"blockIndex\", String(blockIndex));\r\n formData.append(\"blockMd5\", blockMd5);\r\n formData.append(\"fileName\", fileName);\r\n formData.append(\"fileMd5\", fileMd5);\r\n formData.append(\"file\", file as Blob);\r\n return await this.request(\"post form \" + config.chunk.chunkUpload, formData);\r\n },\r\n\r\n mergeBlock: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.doMerge, {fileName, fileMd5, fileSize})\r\n ),\r\n mergeProgress: async () => {\r\n const result = await this.request(config.chunk.mergeProgress);\r\n return result?.data;\r\n },\r\n\r\n verifyFile: async ({fileName, fileMd5, fileSize}: any) => (\r\n await this.request(\"post form \" + config.chunk.onComplete, {fileName, fileMd5, fileSize})\r\n ),\r\n verifyProgress: async () => {\r\n const result = await this.request(config.chunk.completeProgress);\r\n return result?.data;\r\n },\r\n };\r\n\r\n const upload = FileUpload.create(options);\r\n upload.progress((file: any, progress: number) => {\r\n file.status = \"uploading\";\r\n this.setState({ modal: { open: true, progress }});\r\n });\r\n upload.complete((file: any) => {\r\n const { id, url } = file.response;\r\n file.id = id;\r\n file.url = url;\r\n file.status = \"done\";\r\n const fileList = [...this.state.fileList, file];\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n }, () => {\r\n this.onChange(fileList);\r\n });\r\n });\r\n upload.error((file: any, error: string) => {\r\n file.status = 'error';\r\n file.response = error;\r\n let fileList: any[] = this.state.fileList;\r\n const index = fileList.findIndex(({ uid }) => uid === file.uid);\r\n if (index === -1) {\r\n fileList.push(file);\r\n } else {\r\n fileList[index] = file;\r\n }\r\n this.setState({\r\n fileList,\r\n modal: { open: false, progress: 0 }\r\n });\r\n });\r\n upload.start(info.file);\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { fileList, modal } = this.state;\r\n const { preview, maxCount: count, readonly, style } = this.props;\r\n const maxCount = count ? Number(count) : 0;\r\n if (preview) {\r\n return <PreviewFile fileList={fileList} />\r\n }\r\n return (\r\n <>\r\n <Upload\r\n action={config.request.prefix + config.file.uploadUrl}\r\n fileList={fileList}\r\n maxCount={maxCount}\r\n disabled={readonly}\r\n beforeUpload={this.onBeforeUpload}\r\n customRequest={this.customRequest}\r\n onRemove={this.onRemove}\r\n // data={file => {\r\n // const mime = this.fileExtraData(fileType);\r\n // return { mime, uid: file.uid };\r\n // }}\r\n >\r\n <Button disabled={readonly ? readonly : maxCount <= fileList.length} icon={<UploadOutlined />} style={style} >上传</Button>\r\n </Upload>\r\n <Modal open={modal.open} closable={false} footer={null}>\r\n <div>上传文件进度</div>\r\n <Progress percent={modal.progress} />\r\n </Modal>\r\n </>\r\n )\r\n }\r\n}","import React from 'react';\r\nimport { Form, Card, Table, Modal, Input, Space, Row, Col } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport { validate } from \"@/applets\";\r\n\r\nexport default class TableList extends UIListComponent<Design.ComponentProps> {\r\n \r\n getColumns() {\r\n const columnList = find(this.props.children, { tag: \"Columns\" })\r\n if (columnList) {\r\n return columnList.children?.map((column: Design.Table.ColumnData) => ({\r\n ...column,\r\n rules: column.rules?.map(validate)\r\n }));\r\n }\r\n return [];\r\n }\r\n \r\n render(): React.ReactNode {\r\n const show = this.display();\r\n if (show) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <TableWidget preview={preview || readonly} title={title} columns={this.getColumns()} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass TableWidget extends WidgetComponent<Design.Table.WidgetProps, Design.Table.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const { list, onChange } = this.props;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ worksId, worksExtraId, ...items }, index) => {\r\n return { id: worksExtraId, index: index + 1, ...items }\r\n });\r\n this.setState({ dataSource }, () => {\r\n onChange?.(dataSource);\r\n })\r\n }\r\n }\r\n\r\n getColumns() {\r\n const { title, preview, columns, onChange } = this.props;\r\n const { dataSource } = this.state;\r\n if (preview) {\r\n return columns;\r\n }\r\n return concat(columns, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >\r\n 修改\r\n </a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Table.Item[] = dataSource.filter(({ id, uid }) => !((id && record.id === id) || (uid && record.uid === uid)));\r\n this.setState({ dataSource: list }, () => {\r\n onChange?.(list);\r\n })\r\n },\r\n });\r\n }}\r\n >\r\n 删除\r\n </a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Table.Item) => {\r\n const { dataSource } = this.state;\r\n let list: Design.Table.Item[] = [];\r\n if (entity.id || entity.uid) {\r\n list = dataSource.map((item: Design.Table.Item) => {\r\n if (entity.id && item.id === entity.id) {\r\n return { ...item, ...entity }\r\n } else if (entity.uid && item.uid === entity.uid) {\r\n return { ...item, ...entity }\r\n }\r\n return item;\r\n });\r\n } else {\r\n entity.index = dataSource.length + 1;\r\n entity.uid = uniqueId();\r\n list = [...dataSource, entity];\r\n }\r\n\r\n this.setState({\r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list);\r\n })\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { title, preview, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n bodyStyle={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"index\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} entity={modal.entity} columns={columns} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, entity, columns, onFinish, onCancel }: Design.Table.ModalProps) => {\r\n const [form] = Form.useForm();\r\n return (\r\n <Modal \r\n title={title}\r\n width={740}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n const valid = form.validateFields()\r\n valid.then((data: Design.Table.Item)=> {\r\n onFinish({...entity, ...data});\r\n }).catch((e: any)=> {\r\n console.warn(e);\r\n });\r\n }} \r\n >\r\n <Form\r\n form={form} \r\n name=\"modalTable\"\r\n initialValues={entity}\r\n wrapperCol={{ span: 22 }}\r\n autoComplete=\"off\"\r\n layout='vertical'\r\n >\r\n <Row>\r\n {columns.length > 0 && columns.map(({ title, dataIndex, placeholder, rules }) => {\r\n if (dataIndex !== 'index' && dataIndex !== 'option') {\r\n return (\r\n <Col span={12} key={dataIndex}>\r\n <Form.Item label={title} name={dataIndex} rules={rules as []}>\r\n <Input placeholder={placeholder} />\r\n </Form.Item>\r\n </Col>\r\n )\r\n }\r\n })}\r\n </Row>\r\n </Form>\r\n </Modal>\r\n )\r\n}\r\n","import React, { useRef } from 'react';\r\nimport { Form, FormInstance, Card, Table, Modal, Space } from 'antd';\r\nimport { QuestionCircleOutlined } from '@ant-design/icons';\r\nimport { concat, find, uniqueId } from 'lodash';\r\nimport { UIListComponent, WidgetComponent } from '@/service';\r\nimport XMLDocument from \"@/utils/document\";\r\nimport { config } from '@/config';\r\nimport FormDocument from '@/form';\r\n\r\nexport default class FormList extends UIListComponent<Design.Form.Props, Design.Form.States> {\r\n\r\n itemList:{ code: string; title: string, type: string; data: {}; }[] = []\r\n columnList: any[] = []\r\n state = {\r\n doc: undefined,\r\n loading: true\r\n };\r\n\r\n componentDidMount(): void {\r\n const formId = this.props.formId!;\r\n this.setState({ loading: true });\r\n this.request(config.form.documentUrl, { formId }).then((xml: string) => {\r\n const doc = XMLDocument.toDocument(xml);\r\n this.setState({ doc });\r\n this.initItems(doc);\r\n });\r\n }\r\n\r\n initItems = async(doc: Document) => {\r\n this.columnList = find(this.props.children, { tag: \"Columns\" }).children;\r\n const codes: any[] = this.columnList.map((column: any) => column.dataIndex);\r\n const elements = XMLDocument.selectors(doc, \"[code]\");\r\n for (const element of elements) {\r\n const code = element.getAttribute(\"code\");\r\n const title = element.getAttribute(\"title\")!;\r\n const type = element.tagName.toLowerCase();\r\n if (code && codes.includes(code)) {\r\n const data: any = {};\r\n const remote = element.getAttribute(\"remote\");\r\n const options = XMLDocument.selectors(element, \"Option\");\r\n if (options.length > 0) {\r\n for (const option of options) {\r\n const key = option.getAttribute(\"value\");\r\n const value = option.textContent;\r\n if (key && value) {\r\n data[key] = value;\r\n }\r\n }\r\n } else if (remote) {\r\n const list: Design.ItemOption[] = await this.request(config.request.root + remote);\r\n for(const item of list) {\r\n data[item.key] = item.label;\r\n }\r\n }\r\n this.itemList.push({ code, title, type, data });\r\n }\r\n }\r\n this.setState({ loading: false });\r\n }\r\n \r\n render(): React.ReactNode { \r\n const show = this.display();\r\n if (show && !this.state.loading) {\r\n this.onComputeValue();\r\n const rules = this.plusRules();\r\n const { itemProps, itemLayouts } = this.getItem();\r\n const { code, title, witdh, preview, readonly, hidden } = this.props;\r\n const { styles, itemStyles } = this.getStyles();\r\n const { doc } = this.state;\r\n return (\r\n <Form.Item\r\n name={code}\r\n style={itemStyles}\r\n hidden={hidden}\r\n rules={hidden ? [] : rules as []}\r\n valuePropName=\"list\"\r\n {...itemProps}\r\n {...itemLayouts}\r\n >\r\n <FormWidget preview={preview || readonly} title={title} witdh={witdh} columns={this.columnList} items={this.itemList} document={doc} style={styles} />\r\n </Form.Item>\r\n )\r\n } else if (this.props.hideClear) {\r\n this.cleanFieldValue();\r\n }\r\n return <></>;\r\n }\r\n}\r\n\r\nclass FormWidget extends WidgetComponent<Design.Form.WidgetProps, Design.Form.WidgetStates> {\r\n state= {\r\n dataSource: [],\r\n modal: {\r\n title: \"\",\r\n entity: undefined,\r\n show: false\r\n }\r\n };\r\n\r\n componentDidMount(): void {\r\n const list = this.props.list;\r\n if (Array.isArray(list)) {\r\n const dataSource = list.map(({ ...data }, index) => ({ id: uniqueId(), index: index + 1, ...data }));\r\n this.onChange(dataSource);\r\n }\r\n }\r\n\r\n onChange(list: any[]) {\r\n this.setState({ \r\n dataSource: list,\r\n modal: { title: \"\", entity: undefined, show: false }\r\n }, () => {\r\n this.props.onChange?.(list.map(({ id, index, ...data}) => data));\r\n })\r\n }\r\n\r\n getColumns() {\r\n const { preview, title, columns, items } = this.props;\r\n const { dataSource } = this.state;\r\n\r\n const columnList = columns.map((column: Design.Form.ColumnItem) => {\r\n const code = column.dataIndex;\r\n const item: any = items.find((item: any) => item.code === code);\r\n if (item) {\r\n if (!column.title) {\r\n column.title = item.title;\r\n }\r\n column.render = (text: string) => {\r\n let value = text;\r\n if (column.text) {\r\n value = column.text;\r\n } else if (Object.keys(item.data).length !== 0) {\r\n value = item.data[text]\r\n }\r\n if (column.type === \"url\") {\r\n return <a href={text} target=\"_blank\" rel=\"noreferrer\">{value}</a>;\r\n }\r\n return value;\r\n }\r\n }\r\n return column;\r\n });\r\n \r\n if (preview) {\r\n return columnList;\r\n }\r\n return concat(columnList, {\r\n title: '操作',\r\n dataIndex: 'option',\r\n valueType: 'option',\r\n render: (_: unknown, record: any) => [\r\n <Space key=\"option\">\r\n <a key=\"modifly\"\r\n onClick={() => {\r\n this.setState({\r\n modal: { title: `修改${title}`, entity: record, show: true }\r\n })\r\n }}\r\n >修改</a>\r\n <a key=\"delete\"\r\n onClick={() => {\r\n Modal.confirm({\r\n title: '警告',\r\n icon: <QuestionCircleOutlined />,\r\n content: '请确认是否删除该项数据?',\r\n okText: '确认',\r\n cancelText: '取消',\r\n onOk: () => {\r\n const list: Design.Form.Data[] = dataSource.filter(({ id }) => !(id && record.id === id));\r\n this.onChange(list);\r\n },\r\n });\r\n }}\r\n >删除</a>\r\n </Space>\r\n ],\r\n });\r\n }\r\n\r\n onFinish = (entity: Design.Form.Data) => {\r\n const dataSource = this.state.dataSource;\r\n let list: Design.Form.Data[] = [];\r\n if (entity.id) {\r\n list = dataSource.map((data: Design.Form.Data) => data.id === entity.id ? { ...data, ...entity } : data);\r\n } else {\r\n entity.id = uniqueId();\r\n entity.index = dataSource.length + 1;\r\n list = [...dataSource, entity];\r\n }\r\n this.onChange(list);\r\n }\r\n\r\n onCancel = () => {\r\n this.setState({\r\n modal: { title: \"\", entity: undefined, show: false }\r\n })\r\n }\r\n\r\n render(): React.ReactNode {\r\n const { preview, title, witdh, document, style } = this.props;\r\n const { dataSource, modal } = this.state;\r\n const columns = this.getColumns();\r\n return (\r\n <Card\r\n title={title}\r\n style={{ padding: '0px 12px' }}\r\n extra={\r\n preview ? null :\r\n <a key=\"new\" onClick={() => {\r\n this.setState({\r\n modal: { title: `新建${title}`, entity: undefined, show: true }\r\n })\r\n }}>添加</a>\r\n }\r\n >\r\n <Table rowKey=\"id\" size=\"small\" style={style} columns={columns} dataSource={dataSource} />\r\n {modal.show && <ModalForm title={modal.title} witdh={witdh} entity={modal.entity} document={document} onFinish={this.onFinish} onCancel={this.onCancel} />}\r\n </Card>\r\n )\r\n }\r\n}\r\n\r\nconst ModalForm = ({ title, witdh=\"740\", entity, document, onFinish, onCancel }: Design.Form.ModalProps) => {\r\n const form: React.MutableRefObject<FormInstance | undefined> = useRef();\r\n \r\n return (\r\n <Modal \r\n title={title}\r\n width={Number(witdh)}\r\n open={true}\r\n destroyOnClose={true}\r\n onCancel={onCancel}\r\n onOk={async () => {\r\n try {\r\n await form.current?.validateFields();\r\n const data = form.current?.getFieldsValue();\r\n onFinish({...entity, ...data});\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }} \r\n >\r\n {document && <FormDocument form={form} document={document} initialValues={entity}/>}\r\n </Modal>\r\n )\r\n}\r\n","import { Row } from 'antd';\r\nimport React from 'react';\r\n\r\nexport default ({ children, gutter }: any) => (\r\n <Row gutter={Number(gutter)} style={{ margin: 0 }}>\r\n {children}\r\n </Row>\r\n)","import React from 'react';\r\nimport { Col } from 'antd';\r\n\r\nexport default ({ span, children }: any) => {\r\n return (\r\n <Col span={span}>\r\n {children}\r\n </Col>\r\n )\r\n}","import React, { useMemo } from 'react';\r\nimport { Steps } from 'antd';\r\n\r\nexport default ({ direction, stepIndex, onChangeSetp, children }: any) => {\r\n const items = useMemo(() => (\r\n children?.map(({ id, attributes }: any) => {\r\n const { title, description } = attributes;\r\n return { key: id, title, description };\r\n })\r\n ), [children]);\r\n \r\n return (\r\n <Steps\r\n current={stepIndex}\r\n direction={direction}\r\n onChange={onChangeSetp}\r\n items={items}\r\n style={{ padding: 16, backgroundColor: \"white\" }}\r\n />\r\n )\r\n}","import React, { useMemo, memo } from 'react';\r\nimport { Layout } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst { Content } = Layout;\r\n\r\nexport default memo(({ currentStepIndex, stepIndex, style, children }: any) => {\r\n const itemStyle = useMemo(() => {\r\n const styles = style ? toStyles(style) : { padding: 16, backgroundColor: \"white\" };\r\n if (currentStepIndex !== Number(stepIndex)) {\r\n Object.assign(styles, { \"display\": \"none\" });\r\n }\r\n return styles;\r\n }, [currentStepIndex]);\r\n \r\n return (\r\n <Content style={itemStyle} >\r\n {children}\r\n </Content>\r\n )\r\n});","import React from 'react';\r\nimport { Divider } from 'antd';\r\n\r\nexport default ({ dashed = false, orientation = \"center\", children }: any) => (\r\n <Divider dashed={dashed} orientation={orientation} style={{ color: \"#055ab5\", fontWeight: \"bold\" }}>{children}</Divider>\r\n)","import React, { useState, useMemo, memo } from 'react';\r\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\r\nimport { Button } from 'antd';\r\nimport { toStyles } from \"@/utils/style\";\r\n\r\nconst hide = {\r\n display: 'none'\r\n}\r\nconst show = {\r\n display: 'block'\r\n}\r\n\r\nexport default memo(({ defaultExpanded = true, on, off, style, collapse, children }: any) => {\r\n const [isExpanded, onExpanded] = useState(defaultExpanded);\r\n const styles = toStyles(style);\r\n if (collapse) {\r\n return (\r\n <>\r\n <div style={styles}>\r\n <Button\r\n type='link'\r\n onClick={() => {\r\n onExpanded(!isExpanded);\r\n }}\r\n >{isExpanded ? off : on}{isExpanded ? <UpOutlined /> : <DownOutlined />} </Button>\r\n </div>\r\n <div style={isExpanded ? show : hide}>\r\n {children}\r\n </div>\r\n </>\r\n )\r\n }\r\n return <>{children}</>;\r\n});","import React, { createRef, PureComponent, ReactNode, useImperativeHandle } from \"react\";\r\nimport { Form as BaseForm, FormInstance, Skeleton } from \"antd\";\r\nimport { find, mapValues, camelCase, isBoolean, isObject, isArray, isUndefined, method } from \"lodash\";\r\nimport XMLDocument from \"@/utils/document\";\r\nimport XML from \"@/entity/XML\";\r\nimport { ProComponent } from \"@/service\";\r\nimport * as BaseComponents from \"@/components\"\r\nimport { Row, Col, Collapse, Content, Divider, Steps } from \"@/containers\";\r\nimport { DesignContext } from \"@/context\";\r\nimport { config } from \"@/config\";\r\nimport { regrister, autoClose } from \"@/utils/loading\";\r\nimport \"../index.css\";\r\n\r\nconst Components: {[name: string]: {}} = BaseComponents;\r\nconst Containers: {[name: string]: {}} = { Row, Col, Collapse, Content, Divider, Steps };\r\n\r\nexport default class FormDocument extends PureComponent<Design.HomeProps, Design.HomeState> {\r\n\r\n state = {\r\n stepIndex: 0,\r\n root: undefined,\r\n loading: true,\r\n methods: [],\r\n };\r\n\r\n form: React.RefObject<FormInstance>;\r\n layouts?: {};\r\n styles: {};\r\n hideClear: boolean = false;\r\n customComponents?: {[name:string]: {}};\r\n extra: any;\r\n\r\n constructor(props: Design.HomeProps) {\r\n super(props);\r\n this.styles = props.style ?? {};\r\n this.form = props.form ?? createRef()\r\n }\r\n\r\n componentDidMount(): void { \r\n const { document } = this.props;\r\n let root;\r\n if (typeof document === \"string\") {\r\n root = XMLDocument.getRoot(document);\r\n } else {\r\n root = XMLDocument.parser(document);\r\n }\r\n \r\n const { style: styleValue, labelCol, wrapperCol, hideClear, ...extra } = root.attributes;\r\n this.hideClear = !!hideClear;\r\n this.extra = extra;\r\n if (typeof styleValue === \"string\") {\r\n const styleList: string[] = styleValue?.replace(/\\ +/g, \"\").split(\";\");\r\n styleList?.forEach(style => {\r\n if (style) {\r\n const [key, value] = style.split(\":\");\r\n Object.assign(this.styles, { [camelCase(key)]: value });\r\n }\r\n });\r\n }\r\n if (labelCol && wrapperCol) {\r\n this.layouts = {\r\n labelCol: { span: labelCol },\r\n wrapperCol: { span: wrapperCol },\r\n };\r\n }\r\n if (config.components) {\r\n this.customComponents = mapValues(config.components, (component: any) => (props: any) => <ProComponent Component={component} { ...props} />)\r\n }\r\n this.setState({ root, loading: true });\r\n\r\n /** 注册loading插件 */\r\n regrister(loading => {\r\n this.setState({ loading });\r\n });\r\n /** 自动关闭 Skeleton */\r\n autoClose();\r\n }\r\n\r\n /**\r\n * 销毁form时,重置数据\r\n */\r\n componentWillUnmount(): void {\r\n this.form.current?.resetFields();\r\n this.setState({ root: undefined, loading: true });\r\n }\r\n\r\n /**\r\n * 值发生变化时,变更state\r\n */\r\n onValuesChange = (changedValues: any) => {\r\n this.setState({\r\n values: changedValues\r\n })\r\n };\r\n\r\n /**\r\n * 切换步骤\r\n * \r\n * @param stepIndex \r\n */\r\n onStepIndex = (stepIndex: number) => { \r\n this.setState({\r\n stepIndex\r\n })\r\n }\r\n\r\n /**\r\n * 设置组件状态\r\n * \r\n * @param attributes \r\n */\r\n setComponentStatus(attributes: { [name: string]: string | boolean }) {\r\n const { preview, hidden, readonly, } = this.props;\r\n // 设置预览状态\r\n attributes.preview = preview ?? false;\r\n\r\n // 控件是否隐藏\r\n if (isBoolean(hidden)) {\r\n attributes.hidden = hidden;\r\n } else if (isArray(hidden)) {\r\n attributes.hidden = hidden.includes(attributes.code as string);\r\n } else if (isObject(hidden)) {\r\n attributes.hidden = !!hidden[attributes.code as string];\r\n } else {\r\n attributes.hidden = attributes.hidden ?? false;\r\n }\r\n // 控件是否只读\r\n if (isBoolean(readonly)) {\r\n attributes.readonly = readonly;\r\n } else if (isArray(readonly)) {\r\n attributes.readonly = readonly.includes(attributes.code as string);\r\n } else if (isObject(readonly)) {\r\n attributes.readonly = !!readonly[attributes.code as string];\r\n } else {\r\n attributes.readonly = attributes.readonly ?? false;\r\n }\r\n // 控件是否隐藏清除数据\r\n if (isUndefined(attributes.hideClear)) {\r\n attributes.hideClear = this.hideClear;\r\n }\r\n }\r\n\r\n /**\r\n * 注册方法\r\n * \r\n * @param method \r\n */\r\n registerFormMethod = (method: any) => {\r\n this.setState((prevState) => ({\r\n methods: [...prevState.methods, method]\r\n }));\r\n };\r\n\r\n /**\r\n * 调用已注册的方法\r\n */\r\n initFormMethod = () => {\r\n this.state.methods.forEach((method: () => {}) => {\r\n if (method) {\r\n method()\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 加载组件\r\n * \r\n * @param xml \r\n * @param Component \r\n * @returns \r\n */\r\n component(xml: XML, Component: any) {\r\n const { id, attributes, children } = xml;\r\n this.setComponentStatus(attributes);\r\n return <Component key={id} {...attributes} registerFormMethod={this.registerFormMethod}>{children?.map(this.children)}</Component>\r\n }\r\n\r\n /**\r\n * 加载容器\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n container({ id, tag, attributes, text, children }: XML) {\r\n if (tag === \"Row\") {\r\n return <Row key={id} {...attributes}>{children?.map(this.children)}</Row>\r\n }\r\n if (tag === \"Col\") {\r\n return <Col key={id} span={Number(attributes.span)}>{children?.map(this.children)}</Col>\r\n }\r\n if (tag === \"Collapse\") {\r\n return <Collapse key={id} collapse={this.props.collapse} {...attributes}>{children?.map(this.children)}</Collapse>\r\n }\r\n if (tag === \"Content\") {\r\n return <Content key={id} currentStepIndex={this.state.stepIndex} {...attributes}>{children?.map(this.children)}</Content>\r\n }\r\n if (tag === \"Steps\") {\r\n return <Steps key={id} stepIndex={this.state.stepIndex} onChangeSetp={this.onStepIndex} {...attributes}>{children}</Steps>\r\n }\r\n if (tag === \"Divider\") {\r\n return <Divider key={id} {...attributes}>{text}</Divider>\r\n }\r\n }\r\n\r\n /**\r\n * 加载控件\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n applet({ tag, attributes, cdata, children }: XML) {\r\n if (tag === \"Columns\") {\r\n const child = children?.map(({ attributes, children }) => {\r\n if (children) {\r\n const rules: any = find(children.map(this.children), { tag: \"Validates\" });\r\n return { ...attributes, rules: rules?.children ?? [] };\r\n }\r\n return attributes;\r\n });\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Options\") {\r\n const child = children?.map(({ attributes: { value }, text }) => ({ key: value, label: text }));\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Validates\") {\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, children: child };\r\n }\r\n if (tag === \"Conditions\") {\r\n const { type, action } = attributes;\r\n const child = children?.map(({ attributes }) => attributes);\r\n return { tag, type, action, children: child };\r\n }\r\n if (tag === \"Collection\" || tag === \"Compute\") {\r\n return { tag, cdata };\r\n }\r\n }\r\n\r\n /**\r\n * 加载子项\r\n * \r\n * @param xml \r\n * @returns \r\n */\r\n children = (xml: XML) => {\r\n const Component = this.customComponents?.[xml.tag] ?? Components[xml.tag];\r\n if (Component) {\r\n return this.component(xml, Component);\r\n }\r\n const Container = Containers[xml.tag];\r\n if (Container) {\r\n return this.container(xml);\r\n }\r\n return this.applet(xml);\r\n }\r\n\r\n render(): ReactNode {\r\n const { root , loading } = this.state;\r\n const { initialValues } = this.props;\r\n return <>\r\n { root && \r\n <DesignContext.Provider value={{ ...this.extra, ...this.props, form: this.form}}>\r\n <Form\r\n form={this.form}\r\n style={loading ? { ...this.styles, display: \"none\"} : this.styles }\r\n initialValues={initialValues}\r\n onValuesChange={this.onValuesChange}\r\n initFormMethod={this.initFormMethod}\r\n {...this.layouts}\r\n >\r\n {(root as XML).children?.map(this.children)}\r\n </Form>\r\n </DesignContext.Provider>\r\n }\r\n { loading && <Skeleton active />}\r\n </>\r\n }\r\n}\r\n\r\n/**\r\n * 表单组件\r\n */\r\nconst Form = ({ form, style, labelCol, wrapperCol, initialValues, children, onValuesChange, initFormMethod }: any) => {\r\n\r\n useImperativeHandle(form, () => {\r\n return {\r\n ...form.current,\r\n checkFields() {\r\n initFormMethod();\r\n }\r\n }\r\n });\r\n\r\n return (\r\n <BaseForm\r\n ref={form}\r\n style={style}\r\n labelCol={labelCol}\r\n wrapperCol={wrapperCol}\r\n initialValues={initialValues}\r\n onFinish={(values: object) => {\r\n console.log(\"Success:\", values);\r\n }}\r\n autoComplete=\"off\"\r\n onValuesChange={changedValues => {\r\n onValuesChange(changedValues);\r\n }}\r\n >\r\n {children}\r\n </BaseForm>\r\n );\r\n}\r\n"],"names":["XML","_createClass","element","_classCallCheck","_defineProperty","this","id","uniqueId","_step","_iterator","_createForOfIteratorHelper","attributes","s","n","done","item","value","trim","isBoolean","toBoolean","name","err","e","f","children","Array","_step2","_iterator2","childNodes","_this$children","_node$nodeValue","node","Element","push","nodeType","textContent","text","cdata","nodeValue","replace","tag","nodeName","key","test","parseInt","XMLDocument","document","documentString","DOMParser","parseFromString","doc","toDocument","parser","selectors","querySelector","querySelectorAll","validate","_ref","_ref$type","type","required","minlength","maxlength","min","max","pattern","message","Number","RegExp","DesignContext","React","createContext","DesignConfig","conf","prefix","headers","timeout","root","listUrl","downloadUrl","uploadUrl","previewUrl","extraData","file","fileType","labelStyle","color","documentUrl","chunkSize","Math","pow","checkFile","checkChunk","chunkUpload","doMerge","mergeProgress","onComplete","completeProgress","url","stream","request","form","chunk","aigc","mimeType","components","previewComponents","_objectSpread","config","init","defineConfig","toStyles","style","styles","isObject","isString","split","forEach","items","_items$split","_items$split2","_slicedToArray","Object","assign","camelCase","num","listeners","wait","millisecond","Promise","resolve","setTimeout","trigger","_asyncToGenerator","_regeneratorRuntime","mark","_callee","loading","_i","_listeners","wrap","_context","prev","next","length","callback","stop","_x","apply","arguments","begin","_ref2","_callee2","_context2","end","_ref3","_callee3","_context3","autoClose","_ref4","_callee4","_context4","error","_ref5","_callee5","_context5","umiRequest","extend","use","ctx","t0","_x2","global","targetUrl","options","cloneData","cloneDeep","data","_parse","domain","urlMatch","match","slice","parse","tokens","compile","console","method","toLocaleUpperCase","params","requestType","then","status","rest","_objectWithoutProperties","_excluded","success","_data$message","response","request$1","uri","uriArray","_uriArray","_uriArray2","WidgetComponent","_inherits","PureComponent","_request2","args","context","abrupt","reject","undefined","contextType","AIComponent","props","_this","labelRef","createRef","registerFormMethod","_this$props$registerF","_this$props","_this2","call","_this2$labelRef$curre","_this2$labelRef$curre2","current","chatStream","chat","_this$context","rootPrompt","prompt","rootTemperature","temperature","_this$props2","_jsx","Ai","ref","content","forwardRef","_useState","useState","_useState2","setMessage","_useState3","_useState4","setLoading","useImperativeHandle","tests","_uriArray3","began","fetchEventSource","body","JSON","stringify","onopen","onmessage","_obj$data$content","_obj$data","obj","onerror","onclose","fetch","join","Tooltip","title","margin","className","viewBox","version","xmlns","width","height","d","fill","UIComponent","_len","_key","concat","borderBottom","defaultValue","_form$current","_form$current2","code","getFieldValue","setFieldValue","_form$current3","_form$current4","_form$current5","getFieldsValue","showTitle","preview","labelStyles","_jsxs","_Fragment","getAiLabel","itemProps","_itemLayouts$wrapperC","labelCol","wrapperCol","tips","itemLayouts","span","styleWrapper","tooltip","_this$props3","itemStyle","itemStyles","fileds","_this$props4","_this$props4$defaultH","defaultHide","show","conditions","find","_conditions$children","action","list","map","fields","keys","Function","actuator","condition","result","every","some","_this$props5","_validates$children$m","_validates$children","validates","collection","_this3","computeValue","moment","compute","_this4","_this$props$defaultVa","forceUpdate","setDefaultValue","ProComponent","initValue","display","onComputeValue","rules","_this$getItem","getItem","hidden","Component","_this$getStyles","getStyles","Form","Item","label","getLabel","onChange","UIListComponent","rule","validator","_","itemList","reset","plist","filter","includes","_request","_superPropGet","isArray","_Object$entries","_Object$entries$","entries","_Object$entries$2","UploadComponent","fileList","fileView","modal","open","progress","_this$props$fileType","fileTypeArray","startsWith","clearInterval","timer","setState","uploading","step","percent","round","setInterval","_response$data","_toConsumableArray","state","_response$message","ids","warn","_this$props$onChange","fileSize","bytes","size","Upload","LIST_IGNORE","Label","_this$context$tooltip","DefalutPreviewText","useEffect","href","target","rel","PreviewText","_config$previewCompon","_config$previewCompon2","DefalutPreviewEditor","dangerouslySetInnerHTML","__html","PreviewEditor","_config$previewCompon3","_config$previewCompon4","DefalutPreviewDuration","format","ds","vs","i","PreviewDuration","_config$previewCompon5","_config$previewCompon6","DefalutPreviewSwitch","checked","PreviewSwitch","_config$previewCompon7","_config$previewCompon8","DefalutPreviewList","_ref6","_ref7","_ref8","PreviewList","_config$previewCompon9","_config$previewCompon10","DefalutPreviewFile","_ref9","_ref10","contentType","endsWith","Space","paddingBottom","Image","src","alt","controls","alignItems","paddingLeft","PreviewFile","_config$previewCompon11","_config$previewCompon12","DefalutPreviewAudio","_ref11","autoplay","muted","loop","preload","_ref12","autoPlay","PreviewAudio","_config$previewCompon13","_config$previewCompon14","DefalutPreviewVideo","_ref13","pip","_ref14","PreviewVideo","_config$previewCompon15","_config$previewCompon16","DefalutPreviewImage","_ref15","_ref16","PreviewImage","_config$previewCompon17","_config$previewCompon18","Text","placeholder","maxLength","allowClear","showCount","readonly","Input","disabled","hideClear","cleanFieldValue","TextArea","_this$props$minRow","minRow","_this$props$maxRow","maxRow","minRows","maxRows","autoSize","InputNumber","_this$props$type","precision","numberProps","formatter","Numerial","Editor","_callSuper","colon","EditorWidget","_React$Component","editor","html","debounce","_this$state","overflowY","border","zIndex","Toolbar","mode","defaultConfig","excludeKeys","WangEditor","onCreated","getHtml","handleChange","SelectList","remote","optionList","multiple","_this$props2$allowCle","plusRules","collectionList","getList","currentValue","SelectWidget","Option","Select","_len2","_key2","_this4$props$onChange","_this4$props","showSearch","handleItemValue","filterOption","inputValue","option","toLowerCase","CheckBox","CheckboxWidget","Checkbox","Group","RadioButton","optionType","RadioWidget","Radio","SwitchButton","valuePropName","Switch","styleInject","css","insertAt","head","getElementsByTagName","createElement","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","Duration","_this$props$format","DurationWidget","index","changeValue","duration","durations","times","v","toString","dayjs","weekday","localeData","Datepicker","_this$props$showTime","showTime","_this$props$allowClea","DateWidget","DatePicker","picker","customParseFormat","Timepicker","TimeWidget","TimePicker","normFile","UplaodList","maxCount","fileTypeMessage","getValueFromEvent","UploadWidget","fileTypeList","getFileTypeList","count","onStart","onSuccess","onProgress","onError","beforeUpload","onBeforeUpload","onRemove","Button","icon","UploadOutlined","Modal","closable","footer","Progress","_this$props$editor","_this$props$fileWidth","fileWidth","_this$props$fileHeigh","fileHeight","_file$response","_file$response2","_file$response$data","_this$props2$fileWidt","_this$props2$fileHeig","ImgCrop","rotationSlider","modalTitle","modalOk","modalCancel","aspect","listType","accept","onChangeValue","onPreview","PlusOutlined","onCancel","RateButton","_this$props$allowHalf","allowHalf","_this$props$count","characters","Rate","character","_ref$index","StarFilled","_this$props2$autoplay","_this$props2$muted","_this$props2$loop","_this$props2$preload","AudioWidget","_this$props2$controls","_this$props2$pip","VideoWidget","info","_verifyProgress","_verifyFile","_mergeProgress","_mergeBlock","_uploadBlock","_checkBlock","_checkFile","blockSize","fileName","fileMd5","sent","checkBlock","blockMd5","blockIndex","uploadBlock","formData","FormData","append","String","_x3","mergeBlock","_x4","verifyFile","_callee6","_context6","_x5","verifyProgress","_callee7","_context7","upload","FileUpload","create","complete","findIndex","uid","start","customRequest","TableList","_columnList$children","columnList","column","_column$rules","TableWidget","columns","getColumns","dataSource","entity","worksId","worksExtraId","dataIndex","valueType","render","record","onClick","confirm","QuestionCircleOutlined","okText","cancelText","onOk","Card","bodyStyle","padding","extra","Table","rowKey","ModalForm","onFinish","_onOk","_Form$useForm","useForm","destroyOnClose","validateFields","initialValues","autoComplete","layout","Row","Col","FormList","codes","elements","_iterator3","_step3","getAttribute","tagName","finish","formId","xml","initItems","witdh","FormWidget","_extends","_objectDestructuringEmpty","_this5","_this6","_ref5$witdh","useRef","log","FormDocument","gutter","Steps","direction","stepIndex","onChangeSetp","useMemo","description","backgroundColor","Content","Layout","Content$1","memo","currentStepIndex","Divider","_ref$dashed","dashed","_ref$orientation","orientation","fontWeight","hide","Collapse","_ref$defaultExpanded","defaultExpanded","on","off","collapse","isExpanded","onExpanded","UpOutlined","DownOutlined","Components","BaseComponents","Containers","_props$style","_props$form","methods","changedValues","values","prevState","_this$customComponent","_this$customComponent2","customComponents","component","container","applet","payload","_root$attributes","getRoot","styleValue","styleList","_style$split","_style$split2","layouts","mapValues","_this$form$current","resetFields","_attributes$hidden","_attributes$readonly","isUndefined","setComponentStatus","onStepIndex","child","_rules$children","_root$children","Provider","onValuesChange","initFormMethod","Skeleton","active","checkFields","BaseForm"],"mappings":"ipGAA4C,IAEvBA,GAAG,WAsCtB,OAAAC,GA9BA,SAAAD,EAAYE,GAAgBC,OAAAH,GAAAI,EAAAC,KAAA,aAJgC,IAM1DA,KAAKC,GAAKC,IACV,IACqCC,EADrCC,EAAAC,GACmBR,EAAQS,YAAU,IAArC,IAAAF,EAAAG,MAAAJ,EAAAC,EAAAI,KAAAC,MAAuC,CAAA,IAA5BC,EAAIP,EAAAQ,MACTA,EAA0BD,EAAKC,MAAMC,OACrCZ,KAAKa,UAAUF,KACjBA,EAAQX,KAAKc,UAAUH,IAEzBX,KAAKM,WAAWI,EAAKK,MAAQJ,CAC/B,CAEA,CAAA,MAAAK,GAAAZ,EAAAa,EAAAD,EAAA,CAAA,QAAAZ,EAAAc,GAAA,CACAlB,KAAKmB,SAAW,IAAIC,MAAQ,IACSC,EADTC,EAAAjB,GACTR,EAAQ0B,YAAU,IAArC,IAAAD,EAAAf,MAAAc,EAAAC,EAAAd,KAAAC,MAAuC,CAAA,IACRe,EAQJC,EAThBC,EAAIL,EAAAV,MACb,GAAIe,aAAgBC,QACL,QAAbH,EAAIxB,KAACmB,gBAALK,IAAaA,GAAbA,EAAeI,KAAK,IAAIjC,EAAI+B,IAO9B,GAJsB,IAAlBA,EAAKG,UAAkBH,EAAKI,cAC9B9B,KAAK+B,KAAOL,EAAKI,aAGG,IAAlBJ,EAAKG,SACP7B,KAAKgC,MAAsBP,QAAjBA,EAAGC,EAAKO,iBAALR,IAAcA,OAAdA,EAAAA,EAAgBS,QAAQ,OAAQ,KAAKA,QAAQ,YAAa,GAE3E,CAAC,CAAA,MAAAlB,GAAAM,EAAAL,EAAAD,EAAA,CAAA,QAAAM,EAAAJ,GAAA,CACDlB,KAAKmC,IAAMtC,EAAQuC,QACrB,GAEA,CAAA,CAAAC,IAAA,YAAA1B,MAMQ,SAAUA,GAChB,MAAiB,SAAVA,GAA8B,UAAVA,CAC7B,GAEA,CAAA0B,IAAA,YAAA1B,MAMQ,SAAUA,GAChB,MAAiB,SAAVA,CACT,GAEA,CAAA0B,IAAA,WAAA1B,MAMQ,SAASA,GACf,MAAO,QAAQ2B,KAAK3B,EACtB,GAEA,CAAA0B,IAAA,WAAA1B,MAMQ,SAASA,GACf,OAAO4B,EAAS5B,EAAO,GACzB,IAAC,CA5EqB,GCGH6B,GAAW,WAAA,SAAAA,IAAA1C,OAAA0C,EAAA,CAAA,OAAA5C,EAAA4C,EAAA,KAAA,CAAA,CAAAH,IAAA,SAAA1B,MAQ9B,SAAc8B,GACZ,IAAM5C,EAA4B4C,EAASlB,WAAW,GACtD,OAAO,IAAI5B,GAAIE,EACjB,GAEA,CAAAwC,IAAA,aAAA1B,MAMA,SAAkB+B,GAChB,OAAO,IAAIC,WAAYC,gBAAgBF,EAAgB,WACzD,GAEA,CAAAL,IAAA,UAAA1B,MAMA,SAAe+B,GACb,IAAMG,EAAiBL,EAAYM,WAAWJ,GAC9C,OAAOF,EAAYO,OAAOF,EAC5B,GAEA,CAAAR,IAAA,WAAA1B,MAOA,SAAgB8B,EAA8BO,GAC5C,OAAOP,EAASQ,cAAcD,EAChC,GAEA,CAAAX,IAAA,YAAA1B,MAOA,SAAiB8B,EAA8BO,GAC7C,OAAOP,EAASS,iBAAiBF,EACnC,IAAC,CAtD6B,skBCGzB,IAAMG,GAAW,SAAHC,GAAyG,IAAAC,EAAAD,EAAnGE,KAAAA,OAAO,IAAHD,EAAG,SAAQA,EAAEE,EAAQH,EAARG,SAAUC,EAASJ,EAATI,UAAWC,EAASL,EAATK,UAAWC,EAAGN,EAAHM,IAAKC,EAAGP,EAAHO,IAAKC,EAAOR,EAAPQ,QAASC,EAAOT,EAAPS,QAC7F,OAAIN,EACK,CAAED,KAAAA,EAAMC,SAAAA,EAAUM,QAAAA,GAEvBL,GAAaC,EACR,CAAEH,KAAAA,EAAMI,IAAKI,OAAON,GAAYG,IAAKG,OAAOL,GAAYI,QAAAA,GAE7DH,GAAOC,EACF,CAAEL,KAAM,SAAUI,IAAKI,OAAOJ,GAAMC,IAAKG,OAAOH,GAAME,QAAAA,GAElD,UAATP,EACK,CAAEA,KAAM,SAAUM,QAAS,IAAIG,OAAO,+BAAgCF,QAAAA,GAElE,WAATP,GAAwC,iBAAZM,EACvB,CAAEN,KAAM,SAAUM,QAAS,IAAIG,OAAOH,GAAUC,QAAAA,GAElD,CAAEP,KAAAA,EAAMO,QAAAA,EACjB,ECvBaG,GAAgBC,EAAMC,cAA8B,CAAE,0kBCF7DC,GAAY,WAoEhB,SAAAA,EAAoBC,GAClB,GADsCtE,OAAAqE,GAAApE,EA9DpCC,KAAA,UAAA,CACFqE,OAAQ,MACRC,QAAS,CAAE,EACXC,QAAS,IACTC,KAAM,YACPzE,EAOGC,KAAA,OAAA,CACFyE,QAAS,aACTC,YAAa,iBACbC,UAAW,eACXC,WAAY,gBACZC,UAAW,SAACC,EAA4BC,OACzChF,EAGGC,KAAA,QAAA,CACFgF,WAAY,CAACC,MAAO,aACrBlF,EAGGC,KAAA,OAAA,CACFkF,YAAa,kBACdnF,EAUGC,KAAA,QAAA,CACFmF,UAAW,GAAEC,KAAAC,IAAG,KAAQ,GACxBC,UAAW,mBACXC,WAAY,oBACZC,YAAa,qBACbC,QAAS,iBACTC,cAAe,uBACfC,WAAY,oBACZC,iBAAkB,4BACnB7F,EAKGC,KAAA,OAAA,CACF6F,IAAK,oBACLC,QAAQ,IACT/F,EAAAC,KAAA,WAE6C,IAMxCoE,EAAM,CACR,IAAQ2B,EAA8E3B,EAA9E2B,QAASjB,EAAqEV,EAArEU,KAAMkB,EAA+D5B,EAA/D4B,KAAMC,EAAyD7B,EAAzD6B,MAAOC,EAAkD9B,EAAlD8B,KAAMC,EAA4C/B,EAA5C+B,SAAUC,EAAkChC,EAAlCgC,WAAYC,EAAsBjC,EAAtBiC,kBAChErG,KAAK+F,QAAOO,GAAAA,GAAQ,CAAA,EAAAtG,KAAK+F,SAAYA,GACrC/F,KAAK8E,KAAIwB,GAAAA,GAAQ,CAAA,EAAAtG,KAAK8E,MAASA,GAC/B9E,KAAKgG,KAAIM,GAAAA,GAAQ,CAAA,EAAAtG,KAAKgG,MAASA,GAC/BhG,KAAKiG,MAAKK,GAAAA,GAAQ,CAAA,EAAAtG,KAAKiG,OAAUA,GACjCjG,KAAKkG,KAAII,GAAAA,GAAQ,CAAA,EAAAtG,KAAKkG,MAASA,GAC/BlG,KAAKmG,SAAWA,EAChBnG,KAAKoG,WAAaA,EAClBpG,KAAKqG,kBAAoBA,CAC3B,CACF,CAAC,OAAAzG,EAAAuE,EAAA,KAAA,CAAA,CAAA9B,IAAA,OAAA1B,MAED,SAAYyD,GACV,OAAO,IAAID,EAAaC,EAC1B,IAAC,CApFe,GAuFdmC,GAAuBpC,GAAaqC,OAClCC,GAAe,SAACrC,GACpBmC,GAASpC,GAAaqC,KAAKpC,EAC7B,EClFasC,GAAW,SAACC,GACvB,IAAMC,EAAa,CAAE,EACrB,OAAIC,EAASF,GACJA,GACEG,EAASH,IACWA,EAAMzE,QAAQ,OAAQ,IAAI6E,MAAM,KAClDC,SAAQ,SAAAC,GACjB,GAAIA,EAAO,CACT,IAAAC,EAAqBD,EAAMF,MAAM,KAAII,EAAAC,EAAAF,EAAA,GAA9B7E,EAAG8E,EAAA,GAAExG,EAAKwG,EAAA,GACjBE,OAAOC,OAAOV,EAAM7G,EAAA,CAAA,EAAKwH,EAAUlF,GAAO1B,GAC5C,CACF,IAEKiG,EACT,ECtBIY,GAAM,EACJC,GAA4C,GAQ5CC,GAAO,SAACC,GAAmB,OAC/B,IAAIC,SAAQ,SAAAC,GACVC,YAAW,WACTD,EAAQF,EACT,GAAEA,EACP,GAAE,EAkBII,GAAO,WAAA,IAAA3E,EAAA4E,GAAAC,GAAAC,MAAG,SAAAC,EAAOC,GAAgB,IAAAC,EAAAC,EAAA,OAAAL,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACrC,GAAY,IAARlB,GACF,IAAAa,EAAA,EAAAC,EAAuBb,GAASY,EAAAC,EAAAK,OAAAN,KAArBO,EAAQN,EAAAD,IACRD,GAEZ,KAAA,EAAA,IAAA,MAAA,OAAAI,EAAAK,OAAA,GAAAV,OACF,OANKJ,SAAOe,GAAA,OAAA1F,EAAA2F,MAAA/I,KAAAgJ,UAAA,CAAA,CAAA,GAWAC,GAAK,WAAA,IAAAC,EAAAlB,GAAAC,GAAAC,MAAG,SAAAiB,IAAA,OAAAlB,GAAAM,MAAA,SAAAa,GAAA,cAAAA,EAAAX,KAAAW,EAAAV,MAAA,KAAA,EACJ,GAAXlB,MACFO,IAAQ,GACT,KAAA,EAAA,IAAA,MAAA,OAAAqB,EAAAP,OAAA,GAAAM,OACF,OAAA,WAJiB,OAAAD,EAAAH,MAAA/I,KAAAgJ,UAAA,CAAA,CAAA,GAULK,GAAG,WAAA,IAAAC,EAAAtB,GAAAC,GAAAC,MAAG,SAAAqB,IAAA,OAAAtB,GAAAM,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,KAAA,EACF,KAARlB,IACLO,IAAQ,GACT,KAAA,EAAA,IAAA,MAAA,OAAAyB,EAAAX,OAAA,GAAAU,OACF,OAAA,WAJe,OAAAD,EAAAP,MAAA/I,KAAAgJ,UAAA,CAAA,CAAA,GAUHS,GAAS,WAAA,IAAAC,EAAA1B,GAAAC,GAAAC,MAAG,SAAAyB,IAAA,OAAA1B,GAAAM,MAAA,SAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,KAAA,EAAA,OAAAkB,EAAAlB,KAAA,EACjBhB,GAAK,KAAK,KAAA,EACJ,IAARF,GACFO,IAAQ,GAER0B,KACD,KAAA,EAAA,IAAA,MAAA,OAAAG,EAAAf,OAAA,GAAAc,OACF,OAAA,WAPqB,OAAAD,EAAAX,MAAA/I,KAAAgJ,UAAA,CAAA,CAAA,GAYTa,GAAK,WAAA,IAAAC,EAAA9B,GAAAC,GAAAC,MAAG,SAAA6B,IAAA,OAAA9B,GAAAM,MAAA,SAAAyB,GAAA,cAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,KAAA,EACnBlB,GAAM,EACNO,IAAQ,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAiC,EAAAnB,OAAA,GAAAkB,OAChB,OAAA,WAHiB,OAAAD,EAAAf,MAAA/I,KAAAgJ,UAAA,CAAA,CAAA,gPCpElB,IAAMiB,GAAaC,GAAO,CACxB7F,OAAQkC,GAAOR,QAAQ1B,OACvBC,QAASiC,GAAOR,QAAQzB,QACxBC,QAASgC,GAAOR,QAAQxB,UAI1B0F,GAAWE,IAAG,WAAA,IAAA/G,EAAA4E,GAAAC,GAAAC,MAAC,SAAAC,EAAOiC,EAAK1B,GAAI,OAAAT,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEnB,OAFmBF,EAAAC,KAAA,EAE3BQ,KAAQT,EAAAE,KAAA,EACFA,IAAM,KAAA,EACZW,KAAMb,EAAAE,KAAA,GAAA,MAAA,KAAA,EAEE,MAFFF,EAAAC,KAAA,EAAAD,EAAA6B,GAAA7B,EAAA,MAAA,GAENqB,KAAQrB,EAAA6B,GAAA,KAAA,GAAA,IAAA,MAAA,OAAA7B,EAAAK,OAAA,GAAAV,EAAA,KAAA,CAAA,CAAA,EAAA,SAGX,OAAAW,SAAAA,EAAAwB,GAAA,OAAAlH,EAAA2F,MAAA/I,KAAAgJ,UAAA,CAAA,CATa,GASX,CAAEuB,QAAQ,IAGb,IAAMxE,GAAU,SAACyE,EAAmBC,GAClC,IAAMC,EAAYC,EAAUF,EAAQG,MAChC/E,EAAM2E,EACV,IAAI,IAAAK,EAEEC,EAAS,GACPC,EAAWlF,EAAImF,MAAM,uBAC3B,GAAID,EACDD,EADW1D,EACD2D,EAAQ,GAAZ,GACPlF,EAAMA,EAAIoF,MAAMH,EAAOnC,QAGzB,IAAMqC,EAAkBH,QAAbA,EAAGK,GAAMrF,UAANgF,IAAUA,OAAVA,EAAAA,EAAYM,OAC1BtF,EAAMuF,GAAQvF,EAARuF,CAAaX,EAAQG,MAC3BI,EAAMhE,SAAQ,SAACtG,GACTA,aAAgB2G,QAAU3G,EAAKK,QAAQ2J,UAClCA,EAAUhK,EAAKK,KAE1B,IACA8E,EAAMiF,EAASjF,CAChB,CAAC,MAAO5E,GACPoK,QAAQxB,MAAM5I,EAAE4C,QAClB,CAQA,MAP2C,QAAvC4G,EAAQa,OAAOC,oBACjBd,EAAQe,OAASd,EACRD,EAAQnH,OACjBmH,EAAQgB,YAAchB,EAAQnH,MAEhCmH,EAAQpG,OAASkC,GAAOR,QAAQ1B,OAEzB4F,GAAWpE,EAAK4E,GACpBiB,MAAK,SAAAxC,GAA6B,IAA1ByC,EAAMzC,EAANyC,OAAWC,EAAIC,EAAA3C,EAAA4C,IAChBC,EAAqB,MAAXJ,EAChB,OAAO/D,QAAQC,yWAAOvB,CAAA,CACpByF,QAAAA,GACGH,GAEP,IAAE,OACK,SAAAtC,GAA4B,IAAA0C,EAAzBC,EAAQ3C,EAAR2C,SAAUrB,EAAItB,EAAJsB,KACZ/G,EAAuBmI,QAAhBA,EAAGpB,aAAI,EAAJA,EAAM/G,eAAOmI,IAAAA,EAAAA,EAAI,OAEjC,OADAX,QAAQxB,MAAMhE,EAAKoG,EAAUrB,GACtBhD,QAAQC,QAAQ,CACrBkE,SAAS,EACTlI,QAAAA,GAEJ,GACJ,EAGeqI,GAAA,SAACC,GACd,IAAKb,EAAsB,MAAdhI,EAAqB,OAAfuC,EAAuBsG,EACpCC,EAAWD,EAAIpF,MAAM,KAC3B,GAAwB,IAApBqF,EAASzD,OAAc,CAAA,IAAA0D,EAAAjF,EACTgF,EAAQ,GAAvBd,EAAMe,EAAA,GAAExG,EAAGwG,EAAA,EACd,MAAO,GAAwB,IAApBD,EAASzD,OAAc,CAAA,IAAA2D,EAAAlF,EACVgF,EAAQ,GAA7Bd,EAAMgB,EAAA,GAAEhJ,EAAIgJ,EAAA,GAAEzG,EAAGyG,EAAA,EACpB,CACA,OAAO,SAAC1B,GAAU,OAAK7E,GAAQF,EAAK,CAAEyF,OAAAA,EAAQhI,KAAAA,EAAMsH,KAAAA,GAAO,CAC5D,wtBClFyC,IAErB2B,cAAgC,SAAAA,IAAA,OAAAzM,OAAAyM,KAAAvM,OAAAgJ,gBAAAuD,+EAAA,CAAA,OAAAC,EAAAD,EAAQE,GAAR7M,EAAA2M,EAAA,CAAA,CAAAlK,IAAA,UAAA1B,OAGnD+L,EAAA1E,GAAAC,GAAAC,MAMA,SAAAC,EAAcgE,EAAaQ,GAAa,IAAAnB,EAAA,OAAAvD,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACI,OAApC8C,EAASmB,QAAAA,EAAQ3M,KAAK4M,QAAQpB,OAAMhD,EAAAqE,gBACnC9G,GAAQoG,EAARpG,CAAYO,GAAA,CAAA,EAAMkF,IAAUE,MAAK,SAAAtI,GAAA,IAAG2I,EAAO3I,EAAP2I,QAASnB,EAAIxH,EAAJwH,KAAI,OACtDmB,EAAUnE,QAAQC,QAAQ+C,GAAQhD,QAAQkF,YAAOC,EAAU,IAE5D,OAAO,SAAAlD,GAEN,OADAwB,QAAQxB,MAAM,SAAUsC,EAAKtC,GACtBjC,QAAQkF,OAAOjD,EACxB,KAAE,KAAA,EAAA,IAAA,MAAA,OAAArB,EAAAK,OAAA,GAAAV,EAAAnI,UACH,SATY8I,EAAAwB,GAAA,OAAAoC,EAAA3D,MAAA/I,KAAAgJ,UAAA,MANb,IAAA0D,CAMa,uJAafH,GAAgBS,YAAchJ,GCrBI,IAEbiJ,cAMnB,SAAAA,EAAYC,GAAQ,IAAAC,QAGQ,OAHRrN,OAAAmN,KAClBA,QAAMC,SAAND,IAAAE,sEACKC,SAAWnJ,EAAMoJ,YACtBF,EAAKG,qBAAqBH,CAC5B,CAEA,OAAAX,EAAAS,EAZgFV,IAYhF3M,EAAAqN,EAAA,CAAA,CAAA5K,IAAA,qBAAA1B,MAGA,WAAkB,IAAA4M,EAAAC,EAAAC,EAAAzN,KACauN,QAA7BA,GAAAC,EAAIxN,KAACkN,OAAMI,8BAAkBC,GAA7BA,EAAAG,KAAAF,GAAgC,WACN,IAAAG,EAEjBC,EAFHrH,GAAOL,KAAKJ,OACO6H,QAArBA,EAAAF,EAAKL,SAASS,eAAdF,IAAqBA,GAArBA,EAAuBG,aAEFF,QAArBA,EAAAH,EAAKL,SAASS,eAAdD,IAAqBA,GAArBA,EAAuBG,MAE3B,GACF,GAAC,CAAA1L,IAAA,aAAA1B,MAED,SAAWA,GACT,IAAAqN,EAA4DhO,KAAK4M,QAAjDqB,EAAUD,EAAlBE,OAAiCC,EAAeH,EAA5BI,YAC5BC,EAAgCrO,KAAKkN,MAA7BgB,EAAMG,EAANH,OAAQE,EAAWC,EAAXD,YAChB,OAAOE,EAACC,GAAE,CAACC,IAAKxO,KAAKoN,SAAUqB,QAAS9N,EAAOuN,OAAQA,GAAUD,EAAYG,YAAaA,GAAeD,GAC3G,IAAC,IAIGI,GAAKtK,EAAMyK,YAAW,SAAAtL,EAAwCoL,GAAO,IAA5CC,EAAOrL,EAAPqL,QAASP,EAAM9K,EAAN8K,OAAQE,EAAWhL,EAAXgL,YAE9CO,EAA8BC,EAAS,IAAGC,EAAAzH,EAAAuH,EAAA,GAAnC9K,EAAOgL,EAAA,GAAEC,EAAUD,EAAA,GAC1BE,EAA8BH,GAAS,GAAMI,EAAA5H,EAAA2H,EAAA,GAAtC3G,EAAO4G,EAAA,GAAEC,EAAUD,EAAA,GACpBnJ,EAAMU,GAAOL,KAAKL,IA2BxB,OA1BAqJ,EAAoBV,GAAK,WAAA,MAAO,CAC9BV,WAAY,WACV,IAAgB,IAAZ1F,EAAmB,CACrB6G,GAAW,GACX,IAAIE,EAAQ,IFsCN,SAAChD,GACb,IAAKb,EAAgB,OAARzF,EAAgBsG,EACvBC,EAAWD,EAAIpF,MAAM,KAC3B,GAAwB,IAApBqF,EAASzD,OAAc,CAAA,IAAAyG,EAAAhI,EACTgF,EAAQ,GAAvBd,EAAM8D,EAAA,GAAEvJ,EAAGuJ,EAAA,EACd,CACA,IAAM/K,EAASkC,GAAOR,QAAQ1B,OAC9B,OAAO,SAACuG,EAASlB,GAAoG,IAAhG2F,EAAK3F,EAAL2F,MAAOhG,EAAGK,EAAHL,IAAKvD,EAAM4D,EAAN5D,OAC/BwJ,GAAiBjL,EAASwB,EAAK,CAC7ByF,OAAAA,EACAhH,QAAS,CACP,eAAgB,mCAElBiL,KAAMC,KAAKC,UAAU7E,GACf8E,OAAM,WAAA,OAAA1H,GAAAC,GAAAC,eAAAiB,IAAA,OAAAlB,GAAAM,MAAA,SAAAa,GAAA,cAAAA,EAAAX,KAAAW,EAAAV,MAAA,KAAA,EACV2G,IAAQ,KAAA,EAAA,IAAA,MAAA,OAAAjG,EAAAP,OAAA,GAAAM,EAAA,IADEnB,EAEX,EACD2H,UAAAA,SAAU1D,GAAQ,IAAA2D,EAAAC,EACVC,EAAMN,KAAKtE,MAAMe,EAASrB,MAC1B6D,UAAOmB,EAAWE,SAASD,QAANA,EAAHC,EAAKlF,YAALiF,IAASA,OAATA,EAAAA,EAAWpB,eAAO,IAAAmB,EAAAA,EAAI,GAC9C9J,EAAO2I,EACR,EACDsB,QAAAA,SAAQlM,GACNwH,QAAQxB,MAAMhG,GACdwF,GACD,EACD2G,QAAO,WACL3G,GACF,GAEH,CACH,CEpEQ4G,CAAMpK,EAANoK,CAAW,CAAExB,QAAAA,EAASP,OAAAA,EAAQE,YAAAA,GAAe,CAC3CiB,MAAO,WACLJ,GAAW,EACZ,EACD5F,IAAK,WACH4F,GAAW,EACZ,EACDnJ,OAAQ,SAAA/D,GACNoN,EAAMvN,KAAKG,GACX+M,EAAWK,EAAMe,KAAK,IACxB,GAEJ,CACD,EACDnC,KAAM,WACJhI,GAAQF,EAARE,CAAa,CAAC0I,QAAAA,EAASP,OAAAA,EAAQE,YAAAA,IAAc1C,MAAK,SAAAxC,GAAUA,EAAP6C,QAASnB,IAAAA,EAAI1B,EAAJ0B,KAC5DkE,EAAWlE,EACb,GACF,EACD,IAEG/G,EACKyK,EAAC6B,EAAO,CAACC,MAAOvM,EAASoB,MAAM,OAAM9D,SAC1CmN,EAAM,OAAA,CAAA3H,MAAO,CAAE0J,OAAQ,eAAelP,SACpCmN,EAAK,MAAA,CAAAgC,UAAU,OAAOC,QAAQ,gBAAgBC,QAAQ,MAAMC,MAAM,6BAA6BC,MAAM,KAAKC,OAAO,KAAIxP,SACnHmN,EAAM,OAAA,CAAAsC,EAAE,0fAA0fC,KAAK,kBAKxgB,IAET,0tBAEA5D,GAAYD,YAAchJ,GC5EL8M,IAAAA,cAAqD,SAAAA,IAAA,IAAA3D,QAAArN,OAAAgR,GAAA,IAAA,IAAAC,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAGT,SAHShR,OAAA8Q,IAAAG,GAAAA,OAAAtE,UAAAQ,qEAAApN,EAAAoN,EAGzD,eAAA,CAAExG,MAAO,CAAEuK,aAAc,uBAAuB/D,CAAA,CAAA,OAAAX,EAAAsE,EAHiB7D,IAGjBrN,EAAAkR,EAAA,CAAA,CAAAzO,IAAA,kBAAA1B,MAO/D,SAAmBwQ,GACjB,IAAMnL,EAAOhG,KAAK4M,QAAQ5G,KAC1B,GAAIA,EAAM,CAAA,IAAAoL,EAGIC,EAFNC,EAAOtR,KAAKkN,MAAMoE,KAExB,KAD0BF,QAAfA,EAAGpL,EAAK6H,mBAAOuD,SAAZA,EAAcG,cAAcD,IAE5BD,QAAZA,EAAArL,EAAK6H,eAALwD,IAAYA,GAAZA,EAAcG,cAAcF,EAAMH,EAEtC,CACF,GAEA,CAAA9O,IAAA,gBAAA1B,MAKA,SAAiBA,GACf,IAAMqF,EAAOhG,KAAK4M,QAAQ5G,KAC1B,GAAIA,EAAM,CAAA,IAAAyL,EACFH,EAAOtR,KAAKkN,MAAMoE,KACZG,QAAZA,EAAAzL,EAAK6H,eAAL4D,IAAYA,GAAZA,EAAcD,cAAcF,EAAM3Q,EACpC,CACF,GAEA,CAAA0B,IAAA,kBAAA1B,MAIA,WAAe,IAAA8M,EAAAzN,KACb8H,YAAW,WACT2F,EAAK+D,mBAAczE,EACpB,GAAE,EACL,GAEA,CAAA1K,IAAA,gBAAA1B,MAKA,WACE,IAAMqF,EAAOhG,KAAK4M,QAAQ5G,KAC1B,GAAIA,EAAM,CAAA,IAAA0L,EACFJ,EAAOtR,KAAKkN,MAAMoE,KACxB,OAAmB,QAAnBI,EAAO1L,EAAK6H,eAAO,IAAA6D,OAAA,EAAZA,EAAcH,cAAcD,EACrC,CACF,GAEA,CAAAjP,IAAA,iBAAA1B,MAKA,WACE,IACUgR,EADJ3L,EAAOhG,KAAK4M,QAAQ5G,KAC1B,GAAIA,EACF,OAAmB,QAAnB2L,EAAO3L,EAAK6H,eAAO,IAAA8D,OAAA,EAAZA,EAAcC,gBAEzB,GAEA,CAAAvP,IAAA,WAAA1B,MAKA,WACE,GAAIX,KAAK4M,QAAQiF,UAAW,CAC1B,IAAArE,EAA6CxN,KAAKkN,MAA1CkD,EAAK5C,EAAL4C,MAAOpL,EAAUwI,EAAVxI,WAAY8M,EAAOtE,EAAPsE,QAAS5L,EAAIsH,EAAJtH,KAC9B6L,EAAcrL,GAAS1B,GACvBrE,EAAQX,KAAKuR,gBACnB,OAAOS,EACLC,EAAA,CAAA9Q,SAAA,CAAAmN,EAAA,OAAA,CAAM3H,MAAKL,GAAAA,GAAOC,CAAAA,EAAAA,GAAOI,MAAM3B,YAAe+M,GAAa5Q,SAAGiP,IAC5DlK,GAAQ4L,GAAWnR,GAASX,KAAKkS,WAAWvR,KAElD,CACF,GAEA,CAAA0B,IAAA,UAAA1B,MAKA,WACE,IAEIwR,EACSC,EAHb/D,EAAgDrO,KAAKkN,MAA7C4E,EAAOzD,EAAPyD,QAASO,EAAQhE,EAARgE,SAAUC,EAAUjE,EAAViE,WAAYC,EAAIlE,EAAJkE,KACjCC,EAAcH,GAAYC,EAAa,CAAED,SAAU,CAAEI,KAAMJ,GAAYC,WAAY,CAAEG,KAAMH,IAAiB,CAAE,EAEhHR,GACFK,EAAY,CAAE5O,UAAU,GACxB8D,OAAOC,OAA6B,QAAvB8K,EAACI,EAAYF,kBAAUF,IAAAA,EAAAA,EAAI,GAAIpS,KAAK0S,eAEjDP,EAAY,CAAEQ,QAASJ,GAEzB,MAAO,CAAEJ,UAAAA,EAAWK,YAAAA,EACtB,GAEA,CAAAnQ,IAAA,YAAA1B,MAKA,WACE,IAAAiS,EAA6B5S,KAAKkN,MAA1BvG,EAAKiM,EAALjM,MAAOkM,EAASD,EAATC,UAGf,MAAO,CAAEjM,OAFMF,GAASC,GAEPmM,WADEpM,GAASmM,GAE9B,GAEA,CAAAxQ,IAAA,UAAA1B,MAOA,WACE,IAAMoS,EAAS/S,KAAK4R,iBACpBoB,EAAmDhT,KAAKkN,MAAK+F,EAAAD,EAArDE,YAAAA,OAAc,IAAHD,GAAQA,EAAE9R,EAAQ6R,EAAR7R,SAAU2Q,EAAOkB,EAAPlB,QACjCqB,GAAiBD,EACjBE,EAAoDC,EAAKlS,EAAU,CAAEgB,IAAK,eAChF,GAAIiR,EAAY,CAAA,IAAAE,EACNhQ,EAAiB8P,EAAjB9P,KAAMiQ,EAAWH,EAAXG,OACRC,UAAIF,EAAGF,EAAWjS,gBAAQ,IAAAmS,OAAA,EAAnBA,EAAqBG,IRzGf,SAACC,EAA4B5B,GAAgB,OAAK,SAAA5I,GAAoD,IAAjD5G,EAAI4G,EAAJ5G,KAC5E,IACE,GAAIoR,EAAQ,CACVA,EAAMpN,GAAAA,MAAQoN,GAAM,CAAA,EAAA,CAAE5B,QAAAA,IACtB,IAAM6B,EAAetM,OAAOsM,KAAKD,GAAQxD,KAAK,KAE9C,OAD2B,IAAI0D,SAAQ3C,IAAAA,OAAK0C,EAAI1C,KAAAA,UAAAA,OAAe3O,GACxDuR,CAASH,EAClB,CACD,CAAC,MAAOzS,GACP,CAGH,CAAA,CQ6F2C6S,CAAUf,EAAQjB,IACxD,IAAI0B,eAAAA,EAAM7K,QAAS,QAAmBoE,KAAdyG,aAAAA,EAAAA,EAAO,IAAkB,CAC/C,IAAIO,GAAkB,EAMtB,IAJEA,EADW,QAATzQ,EACO0Q,GAAMR,GAENS,GAAKT,KAEU,SAAXD,IAAwBQ,GAAqB,SAAXR,EAC/C,OAAO,EACF,IAAMQ,GAAqB,SAAXR,GAAuBQ,GAAqB,SAAXR,EACtD,OAAO,CAEX,CACF,CACA,OAAOJ,CACT,GAEA,CAAA9Q,IAAA,QAAA1B,MAOA,WACE,IAAAuT,EAA8BlU,KAAKkN,MAA3B4E,EAAOoC,EAAPpC,QAAS3Q,EAAQ+S,EAAR/S,SACjB,IAAK2Q,EAAS,CAAA,IAAAqC,EAAAC,EACNC,EAAYhB,EAAKlS,EAAU,CAAEgB,IAAK,cACxC,OAAyC,QAAzCgS,EAAOE,SAAmB,QAAVD,EAATC,EAAWlT,gBAAXiT,IAAmBA,OAAnBA,EAAAA,EAAqBX,IAAItQ,WAAS,IAAAgR,EAAAA,EAAI,EAC/C,CACA,MAAO,EACT,GAEA,CAAA9R,IAAA,iBAAA1B,MAMA,WACE,IAAM8N,EAAU4E,EAAKrT,KAAKkN,MAAM/L,SAAU,CAAEgB,IAAK,eACjD,GAAIsM,EAEF,ORjIoB,SAACiF,EAA0BpK,GAAiD,IAA7CtH,EAAKsH,EAALtH,MACvD,IACE,GAAI0R,EAAQ,CACV,IAAMC,EAAetM,OAAOsM,KAAKD,GAAQxD,KAAK,KAE9C,OAD2B,IAAI0D,SAAQ3C,IAAAA,OAAK0C,EAAI1C,KAAAA,GAAAA,OAAQjP,GACjD6R,CAASH,EAClB,CAEA,OAD2B,IAAIE,YAAQ3C,OAAIjP,GACpC6R,EACR,CAAC,MAAO5S,GACP,CAEF,MAAO,EACT,CQoHaqT,CADQtU,KAAK4R,iBACMnD,EAG9B,GAEA,CAAApM,IAAA,iBAAA1B,MAMA,WAAc,IAAA4T,EAAAvU,KACNyO,EAAU4E,EAAKrT,KAAKkN,MAAM/L,SAAU,CAAEgB,IAAK,YACjD,GAAIsM,EAAS,CACX,IACM+F,ER3HW,SAACd,EAA0BhK,GAAsE,IAAlE1H,EAAK0H,EAAL1H,MACpD,IACE,GAAI0R,EAAQ,CACV,IAAMC,EAAetM,OAAOsM,KAAKD,GAAQxD,KAAK,KAE9C,OAD2B,IAAI0D,aAAQ3C,OAAK0C,EAAI,KAAK,SAAQ1C,GAAAA,OAAKjP,GAC3D6R,CAASH,EAAQe,GAC1B,CAEA,OAD2B,IAAIb,SAAS,SAAQ,GAAA3C,OAAKjP,GAC9C6R,CAASY,GACjB,CAAC,MAAOxT,GACP,CAGJ,CQ8G2ByT,CADN1U,KAAK4R,iBACiBnD,GACjC+F,GACF1M,YAAW,WACTyM,EAAK/C,cAAcgD,EACpB,GAAE,EAEP,CACF,GAEA,CAAAnS,IAAA,YAAA1B,MAKA,SAAUA,GAAc,IAAAgU,EAAA3U,KACtB4U,EAAiC5U,KAAKkN,MAA9BiE,aAAAA,OAAexQ,IAAHiU,EAAGjU,EAAKiU,EACxBzD,GACFnR,KAAK6U,aAAY,WACfF,EAAKG,gBAAgB3D,EACvB,GAEJ,IAAC,IAIHL,GAAY9D,YAAchJ,qwBC5Nc,IAMnB+Q,cAAa,SAAAA,IAAA,IAAA5H,QAAArN,OAAAiV,GAAA,IAAA,IAAAhE,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAgB/B,SAhB+BhR,OAAA+U,IAAA9D,GAAAA,OAAAtE,UAAAQ,qEAAApN,EAAAoN,EAAA,aAKpB,WACV,IAAQgE,EAAiBhE,EAAKD,MAAtBiE,aACJA,GACFhE,EAAK0H,aAAY,WACf1H,EAAK2H,gBAAgB3D,EACvB,OAEHpR,EAAAoN,EAEU,YAAA,SAACxM,GACVwM,EAAKqE,cAAc7Q,MACpBwM,CAAA,CAAA,OAAAX,EAAAuI,EAhBuCjE,IAgBvClR,EAAAmV,EAAA,CAAA,CAAA1S,IAAA,oBAAA1B,MAfD,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAeD,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAyBxN,KAAKkN,MAAtBoE,EAAI9D,EAAJ8D,KAAMgE,EAAM9H,EAAN8H,OACdjH,EAAqDrO,KAAKkN,MAAlDqI,EAASlH,EAATkH,UAAuBlH,EAAZ8C,aAAmB9C,EAAL1H,MAAUuG,IAAAA,EAAKrB,EAAAwC,EAAAvC,IAChD0J,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOA,GACHhD,GACAK,GAAW,GAAA,CAEdrR,SAAAmN,EAACiH,EAASjP,GAAAA,GAAA,GAAK4G,GAAK,GAAA,CAAEvG,MAAOC,EAASkP,SAAU9V,KAAK8V,cAG5D,CACA,OAAOxH,OACT,IAAC,g1BC9CkByH,IAAAA,cAAyD,SAAAA,IAAA,OAAAjW,OAAAiW,KAAA/V,OAAAgJ,gBAAA+M,+EAAA,CAAA,OAAAvJ,EAAAuJ,EAAQjF,IAARlR,EAAAmW,EAAA,CAAA,CAAA1T,IAAA,aAAA1B,MAQ5E,WACE,IAAM8J,EAAU4I,EAAKrT,KAAKkN,MAAM/L,SAAU,CAAEgB,IAAK,YACjD,OAAOsI,aAAAA,EAAAA,EAAStJ,QAClB,GAEA,CAAAkB,IAAA,YAAA1B,MAKA,WACE,IAAMwU,EAAQnV,KAAKmV,QACnB,OAAOA,aAAAA,EAAAA,EAAO1B,KAAI,SAAAuC,GAChB,GAAIA,EAAKzS,SAAU,CAEjB,OAAA+C,GAAAA,GAAA,CAAA,EAAY0P,GAAI,CAAA,EAAA,CAAEC,UADA,SAACC,EAAYvV,GAAa,OAAKA,eAAAA,EAAOgI,QAAS,EAAIf,QAAQC,UAAYD,QAAQkF,QAAQ,GAE3G,CACA,GAAIkJ,EAAKtS,KAAOsS,EAAKrS,IAAK,CAExB,OAAA2C,GAAAA,GAAA,CAAA,EAAY0P,GAAI,CAAA,EAAA,CAAEC,UADA,SAACC,EAAY1C,GAAW,OAAKA,EAAK7K,QAAUqN,EAAKtS,KAAQ8P,EAAK7K,QAAUqN,EAAKrS,IAAOiE,QAAQC,UAAYD,QAAQkF,QAAQ,GAE5I,CACA,OAAAxG,MAAY0P,EACd,GACF,GAEA,CAAA3T,IAAA,UAAA1B,MAQA,SAAQ6S,EAA2B2C,EAAgCC,GACjE,GAAID,EAAU,CACZ,IAAME,EAAQ7C,EAAK8C,QAAO,SAAAlT,GAAA,IAAGf,EAAGe,EAAHf,IAAG,OAAO8T,EAASI,SAASlU,MAEzD,OADA+T,EAAMC,GACCA,CACT,CACA,OAAO7C,CACT,GAGA,CAAAnR,IAAA,UAAA1B,OAAA6V,EAAAxO,GAAAC,GAAAC,MAMA,SAAAC,EAAcgE,EAAaQ,GAAa,IAAA9G,EAAA,OAAAoC,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACD,OAA/B7C,EAAMU,GAAOR,QAAQvB,KAAO2H,EAAG3D,EAAAqE,OAC9B4J,SAAAA,GAAAV,EAAA,UAAA/V,KAAA,EAAAyW,CAAA,CAAc5Q,EAAK8G,IAAMjB,MAAK,SAAAd,GACnC,GAAIxJ,MAAMsV,QAAQ9L,GAAO,CACvB,IAAM4I,EAAO5I,EAAK6I,KAAI,SAAA/S,GAAO,IAAAiW,EAC3BC,UAAAD,EAAqBtP,OAAOwP,QAAgBnW,UAAK,IAAAiW,OAAA,EAA5BA,EAA+B,GAAEG,EAAA1P,EAAAwP,EAAA,GACtD,MAAO,CAAEvU,IADCyU,EAAA,GACIlB,MADGkB,EAAA,GAEnB,IACA,OAAOlP,QAAQC,QAAQ2L,EACzB,CACE,OAAO5L,QAAQC,QAAQ+C,EAE3B,KAAE,KAAA,EAAA,IAAA,MAAA,OAAApC,EAAAK,OAAA,GAAAV,EAAAnI,UACH,SAbY8I,EAAAwB,GAAA,OAAAkM,EAAAzN,MAAA/I,KAAAgJ,UAAA,MANb,IAAAwN,CAMa,0tBC1DW,IAELO,cAAmD,SAAAA,IAAA,IAAA5J,QAAArN,OAAAiX,GAAA,IAAA,IAAAhG,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAwJrE,SAxJqEhR,OAAA+W,IAAA9F,GAAAA,OAAAtE,UAAAQ,qEAAApN,EAAAoN,EAAA,aAE1D,GAAKpN,EAAAoN,EACT,QAAA,CACN6J,SAAU,GACVC,cAAUlK,EACVmK,MAAO,CACLC,MAAM,EACNC,SAAU,KAEbrX,EAAAoN,EAAA,mBAEiB,WAA2B,IAAAkK,EACrCC,EAAmC,QAAtBD,EAAGlK,EAAKD,MAAMnI,gBAAQ,IAAAsS,OAAA,EAAnBA,EAAqBnV,QAAQ,OAAQ,IAAI6E,MAAM,KACrE,OAAOuQ,aAAa,EAAbA,EAAe7D,KAAI,SAACnQ,GAAY,OAAMA,EAAKiU,WAAW,KAAOhR,GAAOJ,SAAS7C,GAAQA,CAAI,OACjGvD,EAAAoN,EAAA,WAmCS,WACRqK,cAAcrK,EAAKsK,OACnBtK,EAAKuK,SAAS,CACZR,MAAO,CACLC,MAAM,EACNC,SAAU,KAGdjK,EAAKwK,WAAY,KAClB5X,EAAAoN,EAEY,cAAA,SAACyK,GACZ,GAAKzK,EAAKwK,UAAV,CAGAH,cAAcrK,EAAKsK,OACnB,IAAMI,EAAUzS,KAAK0S,MAAMF,EAAKC,QAAU,GAO1C,GANA1K,EAAKuK,SAAS,CACZR,MAAO,CACLC,MAAM,EACNC,SAAUS,KAGE,KAAZA,EAAgB,CAClB,IAAIT,EAAWS,EACf1K,EAAKsK,MAAQM,aAAY,WACnB5K,EAAKwK,UACPxK,EAAKuK,SAAS,CACZR,MAAO,CACLC,MAAM,EACNC,WAAYA,MAIhBI,cAAcrK,EAAKsK,OACnBtK,EAAKuK,SAAS,CACZR,MAAO,CACLC,MAAM,EACNC,SAAU,MAIC,KAAbA,GACFI,cAAcrK,EAAKsK,MAEtB,GAAE,IACL,CAhCA,KAiCD1X,EAAAoN,EAAA,aAEW,SAAClB,EAAenH,GAC1B0S,cAAcrK,EAAKsK,OACnB,IAAAO,EAAoB/L,EAASrB,KAArB3K,EAAE+X,EAAF/X,GAAI4F,EAAGmS,EAAHnS,IACZf,EAAK6G,OAAS,OACd7G,EAAKmH,SAAWA,EAChBnH,EAAK7E,GAAKA,EACV6E,EAAKe,IAAMA,EACX,IAAMmR,EAAQ,GAAA/F,OAAAgH,EAAO9K,EAAK+K,MAAMlB,UAAQ,CAAElS,IAC1CqI,EAAKuK,SAAS,CACZV,SAAAA,EACAE,MAAO,CACLC,MAAM,EACNC,SAAU,OAEX,WACDjK,EAAK2I,SAASkB,GACdlP,YAAW,WACTqF,EAAKuK,SAAS,CACZR,MAAO,CACLC,MAAM,EACNC,SAAU,IAGf,GAAE,IACL,IACAjK,EAAKwK,WAAY,KAClB5X,EAAAoN,EAES,WAAA,SAACtD,EAAYoC,EAAenH,GAAa,IAAAqT,EACjDX,cAAcrK,EAAKsK,OACnB,IAAMT,EAAQ,GAAA/F,OAAAgH,EAAO9K,EAAK+K,MAAMlB,UAAQ,CAAElS,IAC1CA,EAAK6G,OAAS,QACd7G,EAAKmH,SAA4B,QAApBkM,EAAGlM,aAAAA,EAAAA,EAAUpI,eAAOsU,IAAAA,EAAAA,EAAI,OACrChL,EAAKuK,SAAS,CACZV,SAAAA,EACAE,MAAO,CACLC,MAAM,EACNC,SAAU,OAEX,WACDjK,EAAK2I,SAASkB,EAChB,IACA7J,EAAKwK,WAAY,KAClB5X,EAAAoN,EAEU,YAAA,SAACrI,GACV,IACM0O,EADerG,EAAK+K,MAAlBlB,SACcV,QAAO,SAAAlT,GAAK,OAAAA,EAAFnD,KAAgB6E,EAAK7E,MACrDkN,EAAKuK,SAAS,CACZV,SAAUxD,IACT,WACDrG,EAAK2I,SAAStC,EAChB,OACDrG,CAAA,CAAA,OAAAX,EAAAuK,EAxJ6ExK,IAwJ7E3M,EAAAmX,EAAA,CAAA,CAAA1U,IAAA,oBAAA1B,MAvID,WAAiB,IAAA8M,EAAAzN,KACPwT,EAASxT,KAAKkN,MAAdsG,KACF3N,EAAMU,GAAOR,QAAQvB,KAAO+B,GAAOzB,KAAKL,QAC1C+O,GAAQA,EAAK7K,OAAS,GACxB3I,KAAK+F,QAAQF,EAAK,CAAEuS,IAAK5E,IAAQ9H,MAAK,SAACd,GACrC,IAAMoM,EAAWpM,EAAK6I,KAAI,SAAC3O,GAA0B,OAAAwB,GAAAA,GAAA,CAAA,EAAWxB,GAAI,CAAA,EAAA,CAAE6G,OAAQ,QAAM,IACpF8B,EAAKiK,SAAS,CACZV,SAAAA,IACC,WACDvJ,EAAKqI,SAASkB,EAChB,GACF,IAAE,OAAO,SAACnN,GACRwB,QAAQgN,KAAK,MAAOxS,EAAKgE,EAC3B,GAEJ,GAAC,CAAAxH,IAAA,WAAA1B,MAED,SAASqW,GAAgC,IAAAsB,EAAA9K,EACpB,QAAnB8K,GAAA9K,EAAAxN,KAAKkN,OAAM4I,gBAAQ,IAAAwC,GAAnBA,EAAA5K,KAAAF,EAAsBwJ,EAASV,QAAO,SAAApN,GAAA,IAAGjJ,EAAEiJ,EAAFjJ,GAAI0L,EAAMzC,EAANyC,OAAM,OAAQ1L,GAAiB,SAAX0L,CAAiB,IAAG8H,KAAI,SAAAnK,GAAK,OAAAA,EAAFrJ,EAAW,IACzG,GAAC,CAAAoC,IAAA,iBAAA1B,MAED,SAAemE,GACb,IAAMyT,EAAWvY,KAAKkN,MAAMqL,SAC5B,GAAIA,GACoBC,GAAMtN,MAAMqN,GACdzT,EAAK2T,KAEvB,OADA5U,EAAQgG,MAAK,gBAAAoH,OAAiBsH,QACvBG,EAAOC,YAGlB,OAAO,CACT,IAAC,uJCnDqC,IAEnBC,cAAM,SAAAA,IAAA,OAAA9Y,OAAA8Y,KAAA5Y,OAAAgJ,gBAAA4P,+EAAA,CAAA,OAAApM,EAAAoM,EAAQ9H,IAARlR,EAAAgZ,EAAA,CAAA,CAAAvW,IAAA,SAAA1B,MAEzB,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKmV,QACnB3H,EAA0BxN,KAAKkN,MAAvBkD,EAAK5C,EAAL4C,MAAOkF,EAAM9H,EAAN8H,OACfE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAI,CACRhP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrB7C,WAAY,CAAEG,KAAM,aAEpBnE,EAAK,MAAA,CAAA3H,MAAOC,EAAMzF,SAAGiP,KAG3B,CACA,OAAO9B,OACT,IAAC,uJCtBqC,IAEnB6B,cAAQ,SAAAA,IAAA,OAAArQ,OAAAqQ,KAAAnQ,OAAAgJ,gBAAAmH,+EAAA,CAAA,OAAA3D,EAAA2D,EAAQW,IAARlR,EAAAuQ,EAAA,CAAA,CAAA9N,IAAA,SAAA1B,MAE3B,WAAM,IAAAkY,EACE1F,EAAOnT,KAAKiV,UACZtC,EAA8BkG,QAAvBA,EAAG7Y,KAAK4M,QAAQ+F,eAAOkG,IAAAA,GAAAA,EACpC,GAAI1F,GAAQR,EAAS,CACnB,IAAAnF,EAAoCxN,KAAKkN,MAAjCkD,EAAK5C,EAAL4C,MAAOkF,EAAM9H,EAAN8H,OAAQnU,EAAQqM,EAARrM,SACvBqU,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAK,CAAAhP,MAAOmM,EAAYwC,OAAQA,EAAQhD,WAAY,CAAEG,KAAM,IAAItR,SACpEmN,SAAK3H,MAAOC,EAAMzF,SAAGiP,QAAAA,EAASjP,KAGpC,CACA,OAAOmN,OACT,IAAC,ICdGwK,GAAqB,SAAH1V,GAA6D,IAAvDzC,EAAKyC,EAALzC,MAAO2C,EAAIF,EAAJE,KAAMqD,EAAKvD,EAALuD,MAAOmP,EAAQ1S,EAAR0S,SAIhD,OAHAiD,GAAU,WACRjD,SAAAA,EAAWnV,EACZ,GAAE,IACCA,GAAkB,QAAT2C,EACE3C,EAAMoG,MAAM,UACb0M,KAAI,SAAC5N,GAAW,OAAKyI,EAAA,MAAA,CAAK3H,MAAOA,EAAOxF,SAAAmN,EAAA,IAAA,CAAG0K,KAAMnT,EAAKoT,OAAO,SAASC,IAAI,aAAc/X,SAAA0E,SAE/FyI,SAAK3H,MAAOA,EAAQxF,SAAAR,GAC7B,EACawY,GAAc,SAACjM,GAAU,IAAAkM,EAAAC,EAAA,eACpCD,EAAyB,QAAzBC,EAAC9S,GAAOF,yBAAiB,IAAAgT,OAAA,EAAxBA,EAA0BF,mBAAW,IAAAC,EAAAA,EAAIN,IAAoB5L,EAAM,EAIhEoM,GAAuB,SAAHpQ,GAA6D,IAAvDvI,EAAKuI,EAALvI,MAAWuI,EAAJ5F,KAAW4F,EAALvC,MAAOmP,IAAAA,EAAQ5M,EAAR4M,SAIlD,OAHAiD,GAAU,WACRjD,SAAAA,EAAWnV,EACZ,GAAE,IACI2N,EAAA,MAAA,CAAKiL,wBAAyB,CAAEC,OAAQ7Y,IACjD,EACa8Y,GAAgB,SAACvM,GAAU,IAAAwM,EAAAC,EAAA,eACtCD,EAAyB,QAAzBC,EAACpT,GAAOF,yBAAiB,IAAAsT,OAAA,EAAxBA,EAA0BF,qBAAa,IAAAC,EAAAA,EAAIJ,IAAsBpM,EAAM,EAIpE0M,GAAyB,SAAHtQ,GAA+C,IAAzC3I,EAAK2I,EAAL3I,MAAOkZ,EAAMvQ,EAANuQ,OAAQlT,EAAK2C,EAAL3C,MAAOmP,EAAQxM,EAARwM,SACtDiD,GAAU,WACRjD,EAASnV,EACV,GAAE,IAKH,IAHA,IAAIoT,EAAS8F,EACPC,EAAK,CAAC,IAAK,IAAK,KAChBC,EAAKpZ,EAAQA,EAAMoG,MAAM,KAAO,CAAC,MAAO,KAAM,MAC3CiT,EAAI,EAAGA,EAAIF,EAAGnR,OAAQqR,IAC7BjG,EAASA,EAAO7R,QAAQ,IAAI6B,OAAM,MAAAkN,OAAO6I,EAAGE,GAAE/I,QAAAA,OAAO6I,EAAGE,IAAM,KAAMD,EAAGC,IAEzE,OAAO1L,SAAK3H,MAAOA,EAAQxF,SAAA4S,GAC7B,EACakG,GAAkB,SAAC/M,GAAU,IAAAgN,EAAAC,EAAA,eACxCD,EAAyB,QAAzBC,EAAC5T,GAAOF,yBAAiB,IAAA8T,OAAA,EAAxBA,EAA0BF,uBAAe,IAAAC,EAAAA,EAAIN,IAAwB1M,EAAM,EAIxEkN,GAAuB,SAAH1Q,GAAyC,IAAnC2Q,EAAO3Q,EAAP2Q,QAAS1T,EAAK+C,EAAL/C,MAAOmP,EAAQpM,EAARoM,SAI9C,OAHAiD,GAAU,WACRjD,EAASuE,EACV,GAAE,IACI/L,EAAK,MAAA,CAAA3H,MAAOA,WAAQ0T,EAAU,KAAO,MAC9C,EACaC,GAAgB,SAACpN,GAAU,IAAAqN,EAAAC,EAAA,eACtCD,EAAyB,QAAzBC,EAACjU,GAAOF,yBAAiB,IAAAmU,OAAA,EAAxBA,EAA0BF,qBAAa,IAAAC,EAAAA,EAAIH,IAAsBlN,EAAM,EAIpEuN,GAAqB,SAAH3Q,GAA6C,IAAvCnJ,EAAKmJ,EAALnJ,MAAO6S,EAAI1J,EAAJ0J,KAAM7M,EAAKmD,EAALnD,MAAOmP,EAAQhM,EAARgM,SAKhD,GAJAiD,GAAU,WACRjD,EAASnV,EACV,GAAE,IAECS,MAAMsV,QAAQ/V,GAAQ,CACxB,IAAMsG,EAAQuM,EAAK8C,QAAO,SAAAoE,GAAA,IAAGrY,EAAGqY,EAAHrY,IAAG,OAAY1B,EAAM4V,SAASlU,EAAI,IAAEoR,KAAI,SAAAkH,GAAQ,OAAAA,EAAL/E,SACxE,OAAOtH,EAAA,MAAA,CAAK3H,MAAOA,EAAKxF,SAAG8F,eAAAA,EAAOiJ,QACpC,CACE,IAAMxP,EAAO8S,aAAAA,EAAAA,EAAMH,MAAK,SAAAuH,GAAM,OAAAA,EAAHvY,MAAuB1B,KAClD,OAAO2N,EAAA,MAAA,CAAK3H,MAAOA,WAAQjG,aAAI,EAAJA,EAAMkV,OAErC,EACaiF,GAAc,SAAC3N,GAAU,IAAA4N,EAAAC,EAAA,eACpCD,EAAyB,QAAzBC,EAACxU,GAAOF,yBAAiB,IAAA0U,OAAA,EAAxBA,EAA0BF,mBAAW,IAAAC,EAAAA,EAAIL,IAAoBvN,EAAM,EAIhE8N,GAAqB,SAAHC,GAAyC,IAAnCjE,EAAQiE,EAARjE,SACtBtS,EAAc6B,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKJ,YAClDE,EAAa2B,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKF,WACvD,OAAO0J,cACJ0I,aAAQ,EAARA,EAAUvD,KAAI,SAAAyH,GAAwC,IAArCjb,EAAEib,EAAFjb,GAAIc,EAAIma,EAAJna,KAAM8E,EAAGqV,EAAHrV,IAAKsV,EAAWD,EAAXC,YACzBhP,EAAMzH,EAAc,IAAMzE,EAEhC,OAAIkb,SAAAA,EAAaC,SAAS,OACjB9M,EAAA,MAAA,CAAAnN,SACL6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,IAC7Bna,SAAA,CAAAmN,EAAA,IAAA,CAAG0K,KAAMnT,EAAKoT,OAAO,SAASC,IAAI,aAAY/X,SAAEJ,IAChDuN,OAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,iCAHrBjZ,GAQfkb,SAAAA,EAAa5D,WAAW,SACnBjJ,EAAA,MAAA,CAAAnN,SACL6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,cAC7BtJ,EACE,MAAA,CAAA7Q,SAAA,CAAAmN,EAACiN,EAAK,CAAC7K,MAAO,IAAK8K,IAAK3V,EAAK4V,IAAK1a,IAClCuN,EAAA,MAAA,CAAAnN,SAAMJ,OAERuN,EAAA,IAAA,CAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,iCANrBjZ,GAWfkb,SAAAA,EAAa5D,WAAW,SACnBjJ,EAAA,MAAA,CAAAnN,SACL6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,cAC7BtJ,EACE,MAAA,CAAA7Q,SAAA,CAAAmN,EAAA,QAAA,CAAOkN,IAAK3V,EAAK6V,UAAS,EAAA/U,MAAO,CAAE+J,MAAO,KAAKvP,SAAA,8BAC/CmN,EAAA,MAAA,CAAAnN,SAAMJ,OAERuN,EAAA,IAAA,CAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,iCANrBjZ,GAWfkb,SAAAA,EAAa5D,WAAW,SACnBjJ,EACL,MAAA,CAAAnN,SAAA6Q,EAAA,MAAA,CAAKrL,MAAO,CAAE2U,cAAe,GAAIrG,QAAS,OAAQ0G,WAAY,UAAUxa,SAAA,CACtE6Q,EACE,MAAA,CAAA7Q,SAAA,CAAAmN,EAAA,QAAA,CAAOkN,IAAK3V,EAAK6V,UAAS,EAAA/U,MAAO,CAAE+J,MAAO,oBAAqBC,OAAQ,IAAIxP,SAAA,8BAC3EmN,EAAA,MAAA,CAAAnN,SAAMJ,OAERuN,EAAA,IAAA,CAAG3H,MAAO,CAAEiV,YAAa,IAAM5C,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,aAAmB/X,SAAA,WANpElB,GAWfc,SAAAA,EAAMqa,SAAS,SAAWra,SAAAA,EAAMqa,SAAS,UAAYra,SAAAA,EAAMqa,SAAS,SAAWra,SAAAA,EAAMqa,SAAS,UAAYra,SAAAA,EAAMqa,SAAS,SAAWra,SAAAA,EAAMqa,SAAS,SAC9I9M,EAAA,MAAA,CAAAnN,SACL6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,cAC7BhN,EAAG,IAAA,CAAA0K,KAAMpU,EAAa,IAAM3E,EAAIgZ,OAAO,SAASC,IAAI,aAAc/X,SAAAJ,IAClEuN,EAAA,IAAA,CAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,iCAHrBjZ,GAQZqO,EAAA,MAAA,CAAAnN,SACL6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,IAC7Bna,SAAA,CAAAmN,EAAA,IAAA,CAAG0K,KAAMnT,EAAKoT,OAAO,SAASC,IAAI,aAAY/X,SAAEJ,IAChDuN,OAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,iCAHrBjZ,EAMlB,KAEL,EACa4b,GAAc,SAAC3O,GAAU,IAAA4O,EAAAC,EAAA,eACpCD,EAAyB,QAAzBC,EAACxV,GAAOF,yBAAiB,IAAA0V,OAAA,EAAxBA,EAA0BF,mBAAW,IAAAC,EAAAA,EAAId,IAAoB9N,EAAM,EAIhE8O,GAAsB,SAAHC,GAAkK,IAA5JjF,EAAQiF,EAARjF,SAAUkF,EAAQD,EAARC,SAAUC,EAAKF,EAALE,MAAOC,EAAIH,EAAJG,KAAMC,EAAOJ,EAAPI,QACxD3X,EAAc6B,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKJ,YACxD,OAAO4J,EACJ2D,EAAA,CAAA9Q,SAAA6V,aAAQ,EAARA,EAAUvD,KAAI,SAAA6I,GAA2B,IAAxBrc,EAAEqc,EAAFrc,GAAIc,EAAIub,EAAJvb,KAAM8E,EAAGyW,EAAHzW,IACpBsG,EAAMzH,EAAc,IAAMzE,EAChC,OAAOqO,EACL,MAAA,CAAAnN,SAAA6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,IAAIna,SAAA,CACjC6Q,EACE,MAAA,CAAA7Q,SAAA,CAAAmN,EAAA,QAAA,CACEkN,IAAK3V,EACL6V,UAAU,EACVa,SAAUL,EACVC,MAAOA,EACPC,KAAMA,EACNC,QAASA,EACT1V,MAAO,CAAE+J,MAAO,oBAAqBC,OAAQ,IAAIxP,SAAA,8BAEnDmN,EAAA,MAAA,CAAAnN,SAAMJ,OAERuN,EAAA,IAAA,CAAG0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,aAAmB/X,SAAA,WAdxClB,EAiBlB,KAEL,EACauc,GAAe,SAACtP,GAAU,IAAAuP,EAAAC,EAAA,eACrCD,EAAyB,QAAzBC,EAACnW,GAAOF,yBAAiB,IAAAqW,OAAA,EAAxBA,EAA0BF,oBAAY,IAAAC,EAAAA,EAAIT,IAAqB9O,EAAM,EAIlEyP,GAAsB,SAAHC,GAAkN,IAA5M5F,EAAQ4F,EAAR5F,SAAU0E,EAAQkB,EAARlB,SAAUQ,EAAQU,EAARV,SAAUC,EAAKS,EAALT,MAAUS,EAAHC,QAAKT,EAAIQ,EAAJR,KAAMC,EAAOO,EAAPP,QACvE3X,EAAc6B,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKJ,YACxD,OAAO4J,EACJ2D,EAAA,CAAA9Q,SAAA6V,aAAQ,EAARA,EAAUvD,KAAI,SAAAqJ,GAA2B,IAAxB7c,EAAE6c,EAAF7c,GAAIc,EAAI+b,EAAJ/b,KAAM8E,EAAGiX,EAAHjX,IACpBsG,EAAMzH,EAAc,IAAMzE,EAChC,OAAOqO,EACL,MAAA,CAAAnN,SAAA6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,IAC7Bna,SAAA,CAAA6Q,EAAA,MAAA,CAAA7Q,SAAA,CACEmN,WACEkN,IAAK3V,EACL6V,SAAUA,EACVa,SAAUL,EACVC,MAAOA,EACPC,KAAMA,EACNC,QAASA,EACT1V,MAAO,CAAE+J,MAAO,KACgBvP,SAAA,8BAClCmN,EAAM,MAAA,CAAAnN,SAAAJ,OAERuN,EAAG,IAAA,CAAA0K,KAAM7M,EAAK8M,OAAO,SAASC,IAAI,aAAmB/X,SAAA,WAdxClB,EAiBlB,KAEL,EACa8c,GAAe,SAAC7P,GAAU,IAAA8P,EAAAC,EAAA,eACrCD,EAAyB,QAAzBC,EAAC1W,GAAOF,yBAAiB,IAAA4W,OAAA,EAAxBA,EAA0BF,oBAAY,IAAAC,EAAAA,EAAIL,IAAqBzP,EAAM,EAIlEgQ,GAAsB,SAAHC,GAAA,IAAMnG,EAAQmG,EAARnG,SAAUtG,EAAKyM,EAALzM,MAAOC,EAAMwM,EAANxM,OAAQhK,EAAKwW,EAALxW,MAAK,OAC3D2H,EACG2D,EAAA,CAAA9Q,SAAA6V,aAAQ,EAARA,EAAUvD,KAAI,SAAA2J,GAAA,IAAGnd,EAAEmd,EAAFnd,GAAIc,EAAIqc,EAAJrc,KAAM8E,EAAGuX,EAAHvX,IAAG,OAC7ByI,EAAA,MAAA,CAAc3H,MAAOA,EAAKxF,SACxB6Q,EAACqJ,EAAK,CAAC1U,MAAO,CAAE2U,cAAe,IAC7Bna,SAAA,CAAAmN,EAACiN,EAAK,CAAC7K,MAAOA,EAAOC,OAAQA,EAAQ6K,IAAK3V,EAAK4V,IAAK1a,IACpDuN,EAAG,IAAA,CAAA0K,KAAMzS,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKJ,YAAc,IAAMzE,EAAIgZ,OAAO,SAASC,IAAI,aAAY/X,SAAA,WAH/FlB,EAMX,KACA,EACQod,GAAe,SAACnQ,GAAU,IAAAoQ,EAAAC,EAAA,eACrCD,EAAyB,QAAzBC,EAAChX,GAAOF,yBAAiB,IAAAkX,OAAA,EAAxBA,EAA0BF,oBAAY,IAAAC,EAAAA,EAAIJ,IAAqBhQ,EAAM,wtBC9NhC,IAEnBsQ,cAAK,SAAAA,IAAA,OAAA1d,OAAA0d,KAAAxd,OAAAgJ,gBAAAwU,+EAAA,CAAA,OAAAhR,EAAAgR,EAAQ1M,IAARlR,EAAA4d,EAAA,CAAA,CAAAnb,IAAA,oBAAA1B,MAExB,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAiGxN,KAAKkN,MAA9FoE,EAAI9D,EAAJ8D,KAAMhO,EAAIkK,EAAJlK,KAAMwO,EAAOtE,EAAPsE,QAAS2L,EAAWjQ,EAAXiQ,YAAaC,EAASlQ,EAATkQ,UAAWC,EAAUnQ,EAAVmQ,WAAYC,EAASpQ,EAAToQ,UAAWC,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACtFE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOA,GACHhD,GACAK,GAAW,GAAA,CAEdrR,SAAA2Q,EAAUxD,EAAC6K,GAAW,CAAC7V,KAAMA,EAAMqD,MAAOC,IAAa0H,EAACwP,EAAM,CAAAJ,UAAWA,EAAWD,YAAaA,EAAaE,WAAYA,EAAYC,UAAWA,EAAWG,SAAUF,EAAUlX,MAAOC,MAG9L,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,0tBCjCqC,IAEnB4P,cAAS,SAAAA,IAAA,OAAApe,OAAAoe,KAAAle,OAAAgJ,gBAAAkV,+EAAA,CAAA,OAAA1R,EAAA0R,EAAQpN,IAARlR,EAAAse,EAAA,CAAA,CAAA7b,IAAA,oBAAA1B,MAE5B,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnB3H,EAAmHxN,KAAKkN,MAAhHoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS2L,EAAWjQ,EAAXiQ,YAAaC,EAASlQ,EAATkQ,UAAWC,EAAUnQ,EAAVmQ,WAAYC,EAASpQ,EAAToQ,UAASO,EAAA3Q,EAAE4Q,OAAAA,OAAO,IAADD,EAAC,IAAGA,EAAAE,EAAA7Q,EAAE8Q,OAAAA,OAAO,IAADD,EAAC,IAAGA,EAAER,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACxGF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA8BxV,KAAKyV,YAA3B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WACVyL,EAAUza,OAAOsa,GACjBI,EAAU1a,OAAOwa,GACvB,OACEhQ,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAMH,GAClBhD,GACAK,GAAW,GAAA,CAEdrR,SAAA2Q,EAAUxD,EAAC6K,GAAY,CAAAxS,MAAOC,IAAa0H,EAACwP,EAAMI,UAASR,UAAWA,EAAWD,YAAaA,EAAaE,WAAYA,EAAYC,UAAWA,EAAWa,WAAWF,EAAUC,EAAU,IAAY,CAAED,QAAAA,EAASC,QAAAA,GAAWT,SAAUF,EAAUlX,MAAOC,MAG5P,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,0tBCnCqC,IAEnBoQ,cAAY,SAAAA,IAAA,OAAA5e,OAAA4e,KAAA1e,OAAAgJ,gBAAA0V,+EAAA,CAAA,OAAAlS,EAAAkS,EAAQ5N,IAARlR,EAAA8e,EAAA,CAAA,CAAArc,IAAA,oBAAA1B,MAE/B,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACR,IAAAzH,EAAuCxN,KAAKkN,MAAKyR,EAAAnR,EAAzClK,KAAAA,OAAO,IAAHqb,EAAG,SAAQA,EAAEC,EAASpR,EAAToR,UACrBC,EAAkB,CAAE,EACX,WAATvb,EAEAub,EADED,EACY,CACZA,UAAW9a,OAAO8a,IAGN,CACZA,UAAW,GAGG,UAATtb,EACTub,EAAc,CACZC,UAAW,SAACne,GAAa,MACvB,KAAAsQ,OAAKtQ,GAAQuB,QAAQ,wBAAyB,IAAI,EACpDa,OAAQ,SAACpC,GAAa,OAAKA,EAAOuB,QAAQ,cAAe,GAAG,GAE5C,eAAToB,IACTub,EAAc,CACZC,UAAW,SAACne,GAAa,MAAAsQ,GAAAA,OAAQtQ,EAAK,IAAG,EACzCoC,OAAQ,SAACpC,GAAa,OAAKA,EAAOuB,QAAQ,IAAK,GAAG,IAGtDlC,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QAAQ1B,KAAI,SAAAuC,GAAI,OAAIA,EAAKzS,SAAQ+C,GAAAA,MAAQ0P,GAAI,GAAA,CAAE1S,KAAM,WAAa0S,KACrFZ,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBnE,EAAsDrO,KAAKkN,MAAnDoE,EAAIjD,EAAJiD,KAAMQ,EAAOzD,EAAPyD,QAASpO,EAAG2K,EAAH3K,IAAKC,EAAG0K,EAAH1K,IAAKka,EAAQxP,EAARwP,SAAUvI,EAAMjH,EAANiH,OAC3CE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAMH,GAClBhD,GACAK,GAAW,GAAA,CAAArR,SAEd2Q,EAAWxD,EAAC6K,IAAYxS,MAAOC,IAAe0H,EAACyQ,EAAQzY,GAAAA,GAAA,CAAC5C,IAAKA,EAAKC,IAAKA,EAAKoa,SAAUF,GAAcgB,GAAW,GAAA,CAAElY,MAAOC,OAG/H,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,8zBCtD2C,IAEzB0Q,cAAO,SAAAA,IAAA,OAAAlf,OAAAkf,GAAAC,GAAAjf,KAAAgf,EAAAhW,UAAA,CAAA,OAAAwD,EAAAwS,EAAQlO,IAARlR,EAAAof,EAAA,CAAA,CAAA3c,IAAA,oBAAA1B,MAE1B,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAgExN,KAAKkN,MAA7DoE,EAAI9D,EAAJ8D,KAAMlB,EAAK5C,EAAL4C,MAAO0B,EAAOtE,EAAPsE,QAAS2L,EAAWjQ,EAAXiQ,YAAanI,EAAM9H,EAAN8H,OAAQuI,EAAQrQ,EAARqQ,SACnDrI,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACR4J,QAAS9O,EACT+E,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,UAEbV,GAAW+L,EAAYvP,EAACmL,GAAc,CAAA9S,MAAOC,IAAa0H,EAAC6Q,GAAa,CAAA1B,YAAaA,EAAa9W,MAAOC,MAGjH,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG6Q,YAAaC,GAAA,SAAAD,IAAA,IAAAhS,EAAArN,OAAAqf,GAAA,IAAA,IAAApO,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GASV,OATU7D,EAAA8R,GAAAjf,KAAAmf,EAAAlO,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAET,QAAA,CACNkS,OAAQ,KACRC,KAAM,KACPvf,EAAAoN,EAAA,eAEcoS,IAAS,SAAC5e,GAAS,IAAA2X,EAAAjK,UAChCiK,GAAAjK,EAAAlB,EAAKD,OAAM4I,gBAAQ,IAAAwC,GAAnBA,EAAA5K,KAAAW,EAAsB1N,EACvB,GAAE,MAAIwM,CAAA,CAAA,OAAAX,EAAA2S,EAAAC,GAAAxf,EAAAuf,EAAA,CAAA,CAAA9c,IAAA,oBAAA1B,MAEP,WAAiB,IAAA8M,EAAAzN,KACf8H,YAAW,WACT2F,EAAKiK,SAAS,CAAE4H,KAAM7R,EAAKP,MAAMvM,OAClC,GAAE,EACL,GAAC,CAAA0B,IAAA,SAAA1B,MAED,WAAM,IAAA4T,EAAAvU,KACJ4S,EAA+B5S,KAAKkN,MAA5BuQ,EAAW7K,EAAX6K,YAAa9W,EAAKiM,EAALjM,MACrB6Y,EAAyBxf,KAAKkY,MAAtBmH,EAAMG,EAANH,OAAQC,EAAIE,EAAJF,KAEV1Y,EAAMN,GAAA,CAA0BqK,OAAQ,QAAS8O,UAAW,UAAa9Y,GAE/E,OACEqL,EAAK,MAAA,CAAArL,MAAO,CAAE+Y,OAAQ,iBAAkBC,OAAQ,eAC9CrR,EAACsR,GACC,CAAAP,OAAQA,EACRQ,KAAK,UACLC,cAAe,CACbC,YAAa,CAAC,cAAe,gBAE/BpZ,MAAO,CAAEuK,aAAc,oBAEzB5C,EAAC0R,GACC,CAAAF,cAAe,CAAErC,YAAAA,GACjB9c,MAAO2e,EACPW,UAAW,SAAAZ,GACT9K,EAAKmD,SAAS,CAAE2H,OAAAA,GACjB,EACDvJ,SAAU,SAACuJ,GACT,IAAMC,EAAeD,EAAOa,UAC5B3L,EAAKmD,SAAS,CAAE4H,KAAAA,IAAQ,WACtB/K,EAAK4L,aAAab,EACpB,GACD,EACDO,KAAK,UACLlZ,MAAOC,MAIf,IAAC,EAlDwB3C,EAAMsR,q0BCxCO,IAEnB6K,cAAW,SAAAA,IAAA,IAAAjT,EAAArN,OAAAsgB,GAAA,IAAA,IAAArP,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAG7B,OAH6B7D,EAAA8R,GAAAjf,KAAAogB,EAAAnP,GAAAA,OAAAtE,IAAA5M,EAAAoN,EACtB,QAAA,CACNqG,KAAM,KACPrG,CAAA,CAAA,OAAAX,EAAA4T,EAHqCrK,IAGrCnW,EAAAwgB,EAAA,CAAA,CAAA/d,IAAA,oBAAA1B,MAED,WAAiB,IAAA8M,EAAAzN,KACPqgB,EAAWrgB,KAAKkN,MAAhBmT,OACFC,EAAatgB,KAAKsgB,aACpBA,EACFtgB,KAAK0X,SAAS,CACZlE,KAAM8M,GACLtgB,KAAKgV,WACCqL,GAAUA,EAAOzf,OAAO+H,OAAS,GAC1C3I,KAAK+F,QAAQsa,GAAQ3U,MAAK,SAAC8H,GACzB/F,EAAKiK,SAAS,CAAElE,KAAAA,GAAQ/F,EAAKuH,UAC/B,GAEJ,GAAC,CAAA3S,IAAA,YAAA1B,MAED,WACE,IAAA6M,EAAmCxN,KAAKkN,MAAhCiE,EAAY3D,EAAZ2D,aAAcoP,EAAQ/S,EAAR+S,SAClBpP,IACEoP,EACFvgB,KAAK8U,gBAAgB,CAAC3D,IAEtBnR,KAAK8U,gBAAgB3D,GAG3B,GAAC,CAAA9O,IAAA,SAAA1B,MAED,WAAM,IAAA4T,EAAAvU,KAEJ,GADaA,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAA7G,EAAsFrO,KAAKkN,MAAnFoE,EAAIjD,EAAJiD,KAAMQ,EAAOzD,EAAPyD,QAASyO,EAAQlS,EAARkS,SAAU9C,EAAWpP,EAAXoP,YAAW+C,EAAAnS,EAAEsP,WAAAA,OAAa,IAAH6C,GAAOA,EAAE3C,EAAQxP,EAARwP,SAAUvI,EAAMjH,EAANiH,OACrEH,EAAQoL,EAAWvgB,KAAKygB,YAAczgB,KAAKmV,QAC3CgB,EAAWnW,KAAK0gB,iBAChBlN,EAAOxT,KAAK2gB,QAAQ3gB,KAAKkY,MAAM1E,KAAM2C,GAAU,SAACE,GACpD,GAAIA,EAAM1N,OAAS,EAAG,CACpB,IAAMiY,EAAerM,EAAKhD,gBACtBqP,KACAL,IAAalK,EAAMpC,MAAK,SAAAvT,GAAI,OAAIA,EAAK2B,MAAQue,CAAa,KAC3DL,IAAalK,EAAMpC,MAAK,SAAAvT,GAAI,OAAIkgB,EAAarK,SAAS7V,EAAK2B,IAAI,MAEhEkS,EAAK0J,iBAET,CACF,IACA7I,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,CAEdrR,SAAA2Q,EAAUxD,EAACuM,GAAW,CAACrH,KAAMxT,KAAKkY,MAAM1E,KAAM7M,MAAOC,IACpD0H,EAACuS,GAAY,CAACrN,KAAMA,EAAM+M,SAAUA,EAAU9C,YAAaA,EAAaE,WAAYA,EAAYE,SAAUA,EAAUlX,MAAOC,MAInI,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGKwS,GAAWC,EAAXD,OACFD,cAAa,SAAAA,IAAA,IAAAlM,EAAA7U,OAAA+gB,GAAA,IAAA,IAAAG,EAAAhY,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA4f,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAtU,EAAAsU,GAAAjY,UAAAiY,GAIhB,OAJgBtM,EAAAsK,GAAAjf,KAAA6gB,EAAA5P,GAAAA,OAAAtE,IAAA5M,EAAA4U,EAEC,mBAAA,SAAChU,GAAiB,IAAAugB,EAAAC,UAClCD,GAAAC,EAAAxM,EAAKzH,OAAM4I,gBAAQ,IAAAoL,GAAnBA,EAAAxT,KAAAyT,EAAsBxgB,MACvBgU,CAAA,CAAA,OAAAnI,EAAAqU,EAJwBtU,IAIxB3M,EAAAihB,EAAA,CAAA,CAAAxe,IAAA,SAAA1B,MAED,WACE,IAAAiS,EAA4E5S,KAAKkN,MAAzEsG,EAAIZ,EAAJY,KAAM7S,EAAKiS,EAALjS,MAAO4f,EAAQ3N,EAAR2N,SAAU9C,EAAW7K,EAAX6K,YAAaE,EAAU/K,EAAV+K,WAAYE,EAAQjL,EAARiL,SAAUlX,EAAKiM,EAALjM,MAClE,OAAQ2H,EAACyS,EAAM,CACbK,YACA,EAAA3D,YAAaA,EACboC,KAAMU,EAAW,gBAAaxT,EAC9BgR,SAAUF,EACVld,MAAOA,EACPgd,WAAYA,EACZhX,MAAOA,EACPmP,SAAU9V,KAAKqhB,gBACfC,aAAc,SAACC,EAAoBC,GAAW,OAC3CA,EAAQrgB,SAA+BsgB,cAAclL,SAASgL,EAAWE,cAAc,EAAAtgB,SAGzFqS,GAASA,EAAKC,KAAI,SAAArQ,GAAA,IAAGf,EAAGe,EAAHf,IAAKuT,EAAKxS,EAALwS,MAAK,OAAOtH,EAACwS,GAAiB,CAAAngB,MAAO0B,EAAGlB,SAAGyU,GAAlBvT,EAAiC,KAEzF,IAAC,8zBClG0D,IAExCqf,cAAS,SAAAA,IAAA,IAAAvU,EAAArN,OAAA4hB,GAAA,IAAA,IAAA3Q,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAG3B,OAH2B7D,EAAA8R,GAAAjf,KAAA0hB,EAAAzQ,GAAAA,OAAAtE,IAAA5M,EAAAoN,EACpB,QAAA,CACNqG,KAAM,KACPrG,CAAA,CAAA,OAAAX,EAAAkV,EAHmC3L,IAGnCnW,EAAA8hB,EAAA,CAAA,CAAArf,IAAA,oBAAA1B,MAED,WAAiB,IAAA8M,EAAAzN,KACPqgB,EAAWrgB,KAAKkN,MAAhBmT,OACFC,EAAatgB,KAAKsgB,aACpBA,EACFtgB,KAAK0X,SAAS,CACZlE,KAAM8M,GACLtgB,KAAKgV,WACCqL,GAAUA,EAAOzf,OAAO+H,OAAS,GAC1C3I,KAAK+F,QAAQsa,GAAQ3U,MAAK,SAAC8H,GACzB/F,EAAKiK,SAAS,CAAElE,KAAAA,GAAQ/F,EAAKuH,UAC/B,GAEJ,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAAM,IAAA4T,EAAAvU,KAEJ,GADaA,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKygB,YACbtK,EAAWnW,KAAK0gB,iBAChBlN,EAAOxT,KAAK2gB,QAAQ3gB,KAAKkY,MAAM1E,KAAM2C,GAAU,SAACE,GACpD,GAAIA,EAAM1N,OAAS,EAAG,CACpB,IAAMiY,EAAerM,EAAKhD,gBACtBqP,IAAiBvK,EAAMpC,MAAK,SAAAvT,GAAI,OAAIkgB,EAAarK,SAAS7V,EAAK2B,IAAI,KACrEkS,EAAK0J,iBAET,CACF,IACAzQ,EAA4CxN,KAAKkN,MAAzCoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS+L,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACjCF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,CAEbrR,SAAA2Q,EAAUxD,EAACuM,IAAYrH,KAAMxT,KAAKkY,MAAM1E,KAAM7M,MAAOC,IAAa0H,EAACqT,GAAc,CAACnO,KAAMA,EAAMqK,SAAUA,EAAUlX,MAAOC,MAGjI,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA,IACT,IAAC,IAGG0D,cAAe,SAAAA,IAAA,OAAA7hB,OAAA6hB,GAAA1C,GAAAjf,KAAA2hB,EAAA3Y,UAAA,CAAA,OAAAwD,EAAAmV,EAAQpV,IAAR3M,EAAA+hB,EAAA,CAAA,CAAAtf,IAAA,SAAA1B,MACnB,WACE,IAAA0N,EAAmDrO,KAAKkN,MAAhDvM,EAAK0N,EAAL1N,MAAO6S,EAAInF,EAAJmF,KAAMqK,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MAAOmP,EAAQzH,EAARyH,SACtC,OACExH,EAACsT,EAASC,MAAK,CACblb,MAAOA,EACPhG,MAAOA,EACPmV,SAAU,SAACnV,GACTmV,SAAAA,EAAWnV,EACZ,WAEA6S,GAASA,EAAKC,KAAI,SAAArQ,GAAA,IAAGf,EAAGe,EAAHf,IAAKuT,EAAKxS,EAALwS,MAAK,OAAOtH,EAACsT,EAAQ,CAAWjhB,MAAO0B,EAAK0b,SAAUF,EAAQ1c,SAAGyU,GAAtCvT,EAAuD,KAGnH,IAAC,8zBCxE0D,IAExCyf,cAAY,SAAAA,IAAA,IAAA3U,EAAArN,OAAAgiB,GAAA,IAAA,IAAA/Q,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAG9B,OAH8B7D,EAAA8R,GAAAjf,KAAA8hB,EAAA7Q,GAAAA,OAAAtE,IAAA5M,EAAAoN,EACvB,QAAA,CACNqG,KAAM,KACPrG,CAAA,CAAA,OAAAX,EAAAsV,EAHsC/L,IAGtCnW,EAAAkiB,EAAA,CAAA,CAAAzf,IAAA,oBAAA1B,MAED,WAAiB,IAAA8M,EAAAzN,KACPqgB,EAAWrgB,KAAKkN,MAAhBmT,OACFC,EAAatgB,KAAKsgB,aACpBA,EACFtgB,KAAK0X,SAAS,CACZlE,KAAM8M,GACLtgB,KAAKgV,WACCqL,GAAUA,EAAOzf,OAAO+H,OAAS,GAC1C3I,KAAK+F,QAAQsa,GAAQ3U,MAAK,SAAC8H,GACzB/F,EAAKiK,SAAS,CAAElE,KAAAA,GAAQ/F,EAAKuH,UAC/B,GAEJ,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAAM,IAAA4T,EAAAvU,KAEJ,GADaA,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACbgB,EAAWnW,KAAK0gB,iBAChBlN,EAAOxT,KAAK2gB,QAAQ3gB,KAAKkY,MAAM1E,KAAM2C,GAAU,SAACE,GACpD,GAAIA,EAAM1N,OAAS,EAAG,CACpB,IAAMiY,EAAerM,EAAKhD,gBACtBqP,IAAiBvK,EAAMpC,MAAK,SAAAvT,GAAI,OAAIkgB,EAAarK,SAAS7V,EAAK2B,IAAI,KACrEkS,EAAK0J,iBAET,CACF,IACAzQ,EAAwDxN,KAAKkN,MAArDoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAASiQ,EAAUvU,EAAVuU,WAAYlE,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OAC7CF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,CAEdrR,SAAA2Q,EAAUxD,EAACuM,IAAYrH,KAAMA,EAAM7M,MAAOC,IAAa0H,EAAC0T,IAAYxO,KAAMxT,KAAKkY,MAAM1E,KAAMuO,WAAYA,EAAYlE,SAAUA,EAAUlX,MAAOC,MAGrJ,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG0T,cAAY,SAAAA,IAAA,OAAAliB,OAAAkiB,GAAA/C,GAAAjf,KAAAgiB,EAAAhZ,UAAA,CAAA,OAAAwD,EAAAwV,EAAQzV,IAAR3M,EAAAoiB,EAAA,CAAA,CAAA3f,IAAA,SAAA1B,MAChB,WACE,IAAA0N,EAA+DrO,KAAKkN,MAA5DvM,EAAK0N,EAAL1N,MAAO6S,EAAInF,EAAJmF,KAAMuO,EAAU1T,EAAV0T,WAAYlE,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MAAOmP,EAAQzH,EAARyH,SAClD,OACExH,EAAC2T,EAAMJ,MACL,CAAAlhB,MAAOA,EACPohB,WAAYA,EACZpb,MAAOA,EACPmP,SAAU,SAAC7U,GACT6U,SAAAA,EAAW7U,EAAEgY,OAAOtY,MACrB,WAEA6S,GAASA,EAAKC,KAAI,SAAArQ,GAAA,IAAGf,EAAGe,EAAHf,IAAKuT,EAAKxS,EAALwS,MAAK,OAAOtH,EAAC2T,EAAK,CAAWthB,MAAO0B,EAAK0b,SAAUF,EAAQ1c,SAAGyU,GAAtCvT,EAAoD,KAG7G,IAAC,0tBCzEqC,IAEnB6f,cAAa,SAAAA,IAAA,OAAApiB,OAAAoiB,KAAAliB,OAAAgJ,gBAAAkZ,+EAAA,CAAA,OAAA1V,EAAA0V,EAAQpR,IAARlR,EAAAsiB,EAAA,CAAA,CAAA7f,IAAA,oBAAA1B,MAEhC,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnB3H,EAA4CxN,KAAKkN,MAAzCoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS+L,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACjCF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRsP,MAAO5V,KAAK6V,WACZ9U,KAAMuQ,EACN3K,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,WACVhQ,GACAK,GAAW,GAAA,CAAArR,SAEd2Q,EAAUxD,EAACgM,GAAa,CAAE3T,MAAOC,IAAa0H,EAAC8T,GAAOrE,SAAUF,EAAUlX,MAAOC,MAGxF,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,ICrCH,SAAS+T,GAAYC,EAAK9T,QACX,IAARA,IAAiBA,EAAM,CAAE,GAC9B,IAAI+T,EAAW/T,EAAI+T,SAEnB,GAAKD,GAA2B,oBAAb7f,SAAnB,CAEA,IAAI+f,EAAO/f,SAAS+f,MAAQ/f,SAASggB,qBAAqB,QAAQ,GAC9D9b,EAAQlE,SAASigB,cAAc,SACnC/b,EAAMrD,KAAO,WAEI,QAAbif,GACEC,EAAKG,WACPH,EAAKI,aAAajc,EAAO6b,EAAKG,YAKhCH,EAAKK,YAAYlc,GAGfA,EAAMmc,WACRnc,EAAMmc,WAAWC,QAAUT,EAE3B3b,EAAMkc,YAAYpgB,SAASugB,eAAeV,GAnBU,CAqBxD,0lCCpBqB,IAEAW,cAAS,SAAAA,IAAA,OAAAnjB,OAAAmjB,GAAAhE,GAAAjf,KAAAijB,EAAAja,UAAA,CAAA,OAAAwD,EAAAyW,EAAQnS,IAARlR,EAAAqjB,EAAA,CAAA,CAAA5gB,IAAA,oBAAA1B,MAE5B,WACEX,KAAKgV,UAAU,YACjB,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAA8DxN,KAAKkN,MAA3DoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAOoR,EAAA1V,EAAEqM,OAAAA,OAAO,IAADqJ,EAAC,UAASA,EAAErF,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACnDE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,UAEbV,EAAUxD,EAAC2L,GAAe,CAACJ,OAAQA,EAAQlT,MAAOC,IAAa0H,EAAC6U,GAAe,CAAAtJ,OAAQA,EAAQgE,SAAUA,EAAUlX,MAAOC,MAGlI,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG6U,cAAe,SAAAA,IAAA,IAAAhW,EAAArN,OAAAqjB,GAAA,IAAA,IAAApS,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAWlB,OAXkB7D,EAAA8R,GAAAjf,KAAAmjB,EAAAlS,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEE,WAAA,CAAC,EAAG,EAAG,IAAEpN,EAAAoN,EACV,UAAA,CAAC,IAAK,IAAK,MAAIpN,EAAAoN,EAErB,eAAA,SAACiW,GAAa,OAAK,SAACC,GAChC,GAA2B,iBAAhBA,EAA0B,CAAA,IAAA/K,EAAAjK,EACnClB,EAAKmW,SAASF,GAASC,EACvB,IAAME,EAAYpW,EAAKmW,SAAS7P,KAAI,SAAC9S,EAAeyiB,GAAa,OAAoBvJ,GAAJ,IAAVuJ,EAAqB,MAAuB,KAAhBziB,EAA4B,IAC5G,QAAnB2X,GAAAjK,EAAAlB,EAAKD,OAAM4I,gBAAQ,IAAAwC,GAAnBA,EAAA5K,KAAAW,EAAsBkV,EAAUrT,KAAK,KACvC,CACD,CAAA,IAAA/C,CAAA,CAAA,OAAAX,EAAA2W,EAX0B5W,IAW1B3M,EAAAujB,EAAA,CAAA,CAAA9gB,IAAA,SAAA1B,MAED,WAAM,IAAA8M,EAAAzN,KACJ4S,EAA2C5S,KAAKkN,MAAxCvM,EAAKiS,EAALjS,MAAOkZ,EAAMjH,EAANiH,OAAQgE,EAAQjL,EAARiL,SAAUlX,EAAKiM,EAALjM,MAE3B6c,EAAQ3J,EAAOjZ,OAAOmG,MAAM,iBAElC/G,KAAK4D,QAAUiW,EAAOjZ,OAAOmG,MAAM,IAAIhD,OAAM,IAAAkN,OAAKuS,EAAMtT,KAAK,IAAM,OAAGoG,QAAO,SAAAmN,GAAC,OAAIA,KAE7D,iBAAV9iB,IACTX,KAAKsjB,SAAW3iB,EAAMoG,MAAM,KAAK0M,IAAI3P,SAGvC,IAAMiQ,EAAmB,GAOzB,OANAyP,EAAMxc,SAAQ,SAACyc,EAAGzJ,GACZyJ,GAAG1P,EAAOnS,KAAK6hB,GACfzJ,GAAKvM,EAAK7J,QAAQ+E,OAAS,GAC3BoL,EAAOnS,KAAK6L,EAAK7J,QAAQoW,GAC/B,IAGE1L,EAAA,MAAA,CAAKgC,UAAU,WAEXnP,SAAA4S,EAAON,KAAI,SAAC/S,EAAMsZ,GAChB,OAAItZ,EAAK6V,SAAS,KACTjI,EAACoH,EAAKC,KAAI,CAAAxU,SACfmN,EAACoQ,EAAW,CAAC/X,MAAKL,GAAA,CAAGoK,MAAO,QAAW/J,GAAQjD,IAAK,EAAGC,IAAK,IAAKib,UAAW,EAAGje,MAAO8M,EAAK6V,SAAS,GAClGxE,UAAW,SAACne,GAAU,OAAKA,EAAS,IAAOA,EAAS,GAAK,KAAMA,EAAQ,IAAKA,EAASA,EAAO+iB,UAAU,EACtG5N,SAAUrI,EAAK4V,YAAY,GAAI3H,UAAU,EAAOqC,WAAU,QAAQzb,KAAK5B,IAAemd,KAHpE,KAMbnd,EAAK6V,SAAS,KAChBjI,EAACoH,EAAKC,eACXrH,EAACoQ,GAAY/X,MAAKL,GAAA,CAAGoK,MAAO,QAAW/J,GAAQjD,IAAK,EAAGC,IAAK,GAAIib,UAAW,EAAGje,MAAO8M,EAAK6V,SAAS,GACjGxE,UAAW,SAACne,GAAU,OAAKA,EAAS,GAAK,IAAKA,EAAQA,EAAO+iB,UAAU,EACvE5N,SAAUrI,EAAK4V,YAAY,GAAI3H,UAAU,EAAOqC,WAAU,QAAQzb,KAAK5B,IAAemd,KAHpE,KAMbnd,EAAK6V,SAAS,KAChBjI,EAACoH,EAAKC,eACXrH,EAACoQ,GAAY/X,MAAKL,GAAA,CAAGoK,MAAO,QAAW/J,GAAQjD,IAAK,EAAGC,IAAK,GAAIib,UAAW,EAAGje,MAAO8M,EAAK6V,SAAS,GACjGxE,UAAW,SAACne,GAAU,OAAKA,EAAS,GAAK,IAAKA,EAAQA,EAAO+iB,UAAU,EACvE5N,SAAUrI,EAAK4V,YAAY,GAAI3H,UAAU,EAAOqC,WAAU,QAAQzb,KAAK5B,IAAemd,KAHpE,KAOfvP,EAAe,OAAA,CAAAnN,SAAAT,GAAJsZ,EAErB,KAIT,IAAC,8zBChGH2J,GAAMzZ,OAAO0Z,IACbD,GAAMzZ,OAAO2Z,IAAY,IAEJC,cAAW,SAAAA,IAAA,OAAAhkB,OAAAgkB,GAAA7E,GAAAjf,KAAA8jB,EAAA9a,UAAA,CAAA,OAAAwD,EAAAsX,EAAQhT,IAARlR,EAAAkkB,EAAA,CAAA,CAAAzhB,IAAA,oBAAA1B,MAE9B,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAoIxN,KAAKkN,MAAjIoE,EAAI9D,EAAJ8D,KAAIqN,EAAAnR,EAAElK,KAAAA,OAAO,IAAHqb,EAAG,OAAMA,EAAAuE,EAAA1V,EAAEqM,OAAAA,OAAS,IAAHqJ,EAAG,aAAYA,EAAAa,EAAAvW,EAAEwW,SAAAA,OAAW,IAAHD,GAAQA,EAAEjS,EAAOtE,EAAPsE,QAAS2L,EAAWjQ,EAAXiQ,YAAWwG,EAAAzW,EAAEmQ,WAAAA,OAAa,IAAHsG,GAAOA,EAAEpG,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACzHE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,CAAArR,SAEb2Q,EAAUxD,EAAC6K,GAAY,CAAAxS,MAAOC,IAAY0H,EAAC4V,GAAU,CAAC5gB,KAAMA,EAAMuW,OAAQA,EAAQmK,SAAUA,EAAUvG,YAAaA,EAAaE,WAAYA,EAAYE,SAAUA,EAAUlX,MAAOC,MAG3L,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG4V,cAAW,SAAAA,IAAA,OAAApkB,OAAAokB,GAAAjF,GAAAjf,KAAAkkB,EAAAlb,UAAA,CAAA,OAAAwD,EAAA0X,EAAQ3X,IAAR3M,EAAAskB,EAAA,CAAA,CAAA7hB,IAAA,SAAA1B,MACf,WACE,IAAA0N,EAA8FrO,KAAKkN,MAA3FvM,EAAK0N,EAAL1N,MAAO2C,EAAI+K,EAAJ/K,KAAMuW,EAAMxL,EAANwL,OAAQmK,EAAQ3V,EAAR2V,SAAUvG,EAAWpP,EAAXoP,YAAaE,EAAUtP,EAAVsP,WAAYE,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MAAOmP,EAAQzH,EAARyH,SACjF,OACExH,EAAC6V,EAAU,CACTxjB,MAAOA,EAAQgjB,GAAMhjB,EAAOkZ,QAAU9M,EACtCqX,OAAQ9gB,EACRuW,OAAQA,EACRmK,SAAUA,EAAW,CAAEnK,OAAQ,cAAY9M,EAC3C0Q,YAAaA,EACbE,WAAYA,EACZI,SAAUF,EACVlX,MAAOA,EACPmP,SAAU,SAACnV,GACTmV,SAAAA,EAAWnV,aAAK,EAALA,EAAOkZ,OAAOA,GAC3B,GAGN,IAAC,8zBCxDH8J,GAAMzZ,OAAOma,IAAmB,IAEXC,cAAW,SAAAA,IAAA,OAAAxkB,OAAAwkB,GAAArF,GAAAjf,KAAAskB,EAAAtb,UAAA,CAAA,OAAAwD,EAAA8X,EAAQxT,IAARlR,EAAA0kB,EAAA,CAAA,CAAAjiB,IAAA,oBAAA1B,MAE9B,WACEX,KAAKgV,WACP,GAAC,CAAA3S,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKmV,QACnBC,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAiGxN,KAAKkN,MAA9FoE,EAAI9D,EAAJ8D,KAAI4R,EAAA1V,EAAEqM,OAAAA,OAAS,IAAHqJ,EAAG,WAAUA,EAAEpR,EAAOtE,EAAPsE,QAAS2L,EAAWjQ,EAAXiQ,YAAWwG,EAAAzW,EAAEmQ,WAAAA,OAAa,IAAHsG,GAAOA,EAAEpG,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACtFE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,CAEdrR,SAAA2Q,EAAUxD,EAAC6K,IAAYxS,MAAOC,IAAa0H,EAACiW,GAAU,CAAC1K,OAAQA,EAAQ4D,YAAaA,EAAaE,WAAYA,EAAYE,SAAUA,EAAUlX,MAAOC,MAG3J,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGGiW,cAAW,SAAAA,IAAA,OAAAzkB,OAAAykB,GAAAtF,GAAAjf,KAAAukB,EAAAvb,UAAA,CAAA,OAAAwD,EAAA+X,EAAQhY,IAAR3M,EAAA2kB,EAAA,CAAA,CAAAliB,IAAA,SAAA1B,MACf,WACE,IAAA0N,EAA8ErO,KAAKkN,MAA3EvM,EAAK0N,EAAL1N,MAAOkZ,EAAMxL,EAANwL,OAAQ4D,EAAWpP,EAAXoP,YAAaE,EAAUtP,EAAVsP,WAAYE,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MAAOmP,EAAQzH,EAARyH,SACjE,OACExH,EAACkW,EAAU,CACT7jB,MAAOA,EAAQgjB,GAAMhjB,EAAOkZ,QAAU9M,EACtC8M,OAAQA,EACR4D,YAAaA,EACbE,WAAYA,EACZI,SAAUF,EACVlX,MAAOA,EACPmP,SAAU,SAACnV,GACTmV,SAAAA,EAAWnV,aAAK,EAALA,EAAOkZ,OAAOA,GAC3B,GAEN,IAAC,8zBCnDH,IAAM4K,GAAW,SAACxjB,GAChB,OAAIG,MAAMsV,QAAQzV,GACTA,EAEFA,GAAKA,EAAEuS,IAChB,EAEqBkR,cAAW,SAAAA,IAAA,OAAA5kB,OAAA4kB,GAAAzF,GAAAjf,KAAA0kB,EAAA1b,UAAA,CAAA,OAAAwD,EAAAkY,EAAQ3O,IAARnW,EAAA8kB,EAAA,CAAA,CAAAriB,IAAA,SAAA1B,MAE9B,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKygB,YACnBjT,EAA2FxN,KAAKkN,MAAxFoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS6S,EAAQnX,EAARmX,SAAU5f,EAAQyI,EAARzI,SAAU6f,EAAepX,EAAfoX,gBAAiBrM,EAAQ/K,EAAR+K,SAAUsF,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OAChFF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,OACd0C,kBAAmBJ,IACftS,GACAK,GAAW,GAAA,UAEflE,EAACwW,GAAa,CAAAH,SAAUA,EAAU5f,SAAUA,EAAU6f,gBAAiBA,EAAiBrM,SAAUA,EAAUsF,SAAUA,EAAU/L,QAASA,EAASnL,MAAOC,MAG/J,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGGwW,cAAa,SAAAA,IAAA,IAAA3X,EAAArN,OAAAglB,GAAA,IAAA,IAAA/T,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAehB,OAfgB7D,EAAA8R,GAAAjf,KAAA8kB,EAAA7T,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEA,kBAAA,SAACrI,GAChB,YAAMigB,EAAe5X,EAAK6X,kBAC1B,OAAID,GAAgBA,EAAapc,OAAS,EACrBoc,EAAaxO,SAASzR,EAAKxB,SAShD6J,mBAAAA,aAAA2X,iFAA4BhgB,KAPxBjB,EAAQgG,MAAMsD,EAAKD,MAAM0X,iBAClBlM,EAAOC,cAGhB9U,EAAQgG,MAAM,YACP6O,EAAOC,gBAGjBxL,CAAA,CAAA,OAAAX,EAAAsY,EAfwB/N,IAexBnX,EAAAklB,EAAA,CAAA,CAAAziB,IAAA,SAAA1B,MAED,WACE,IAAA6e,EAA4Bxf,KAAKkY,MAAzBlB,EAAQwI,EAARxI,SAAUE,EAAKsI,EAALtI,MAClB7I,EAAsDrO,KAAKkN,MAAnD4E,EAAOzD,EAAPyD,QAAmBmT,EAAK5W,EAAfsW,SAAiB9G,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MACtCge,EAAWM,EAAQnhB,OAAOmhB,GAAS,EACzC,GAAInT,EACF,OAAOxD,EAACuN,GAAW,CAAC7E,SAAUA,IAEhC,IACM7E,EAAY,CAAE+S,QADgCllB,KAA5CklB,QACqBC,UADuBnlB,KAAnCmlB,UACuBC,WADYplB,KAAxBolB,WACwBC,QADArlB,KAAZqlB,SAExC,OACErT,eACE1D,EAACoK,EAAMpS,GAAAA,GAAA,CACLiN,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBC,SAAUxlB,KAAKwlB,UAKVrT,GAAS,GAAA,CAEdhR,SAAAmN,EAACmX,EAAO,CAAA1H,SAAUF,GAAsB8G,GAAY3N,EAASrO,OAAQ+c,KAAMpX,EAACqX,GAAiB,IAAEhf,MAAOA,EAAKxF,SAAA,UAE7G6Q,EAAC4T,EAAK,CAACzO,KAAMD,EAAMC,KAAM0O,UAAU,EAAOC,OAAQ,KAAI3kB,SAAA,CACpDmN,EAAiB,MAAA,CAAAnN,SAAA,WACjBmN,EAACyX,EAAQ,CAAClO,QAASX,EAAME,gBAIjC,IAAC,8zBCrFH,IAAMqN,GAAW,SAACxjB,GAChB,OAAIG,MAAMsV,QAAQzV,GACTA,EAEFA,GAAKA,EAAEuS,IAChB,EACMzO,GAAW,CAAC,aAAc,aAEX2f,cAAW,SAAAA,IAAA,OAAA5kB,OAAA4kB,GAAAzF,GAAAjf,KAAA0kB,EAAA1b,UAAA,CAAA,OAAAwD,EAAAkY,EAAQ3O,IAARnW,EAAA8kB,EAAA,CAAA,CAAAriB,IAAA,SAAA1B,MAE9B,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKygB,YACnBjT,EAAsHxN,KAAKkN,MAAnHoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS6S,EAAQnX,EAARmX,SAAQqB,EAAAxY,EAAE6R,OAAAA,OAAS,IAAH2G,GAAOA,EAAEzN,EAAQ/K,EAAR+K,SAAQ0N,EAAAzY,EAAE0Y,UAAAA,OAAY,IAAHD,EAAG,MAAKA,EAAAE,EAAA3Y,EAAE4Y,WAAAA,OAAa,IAAHD,EAAG,MAAKA,EAAEtI,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OAC3GF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,OACd0C,kBAAmBJ,IACftS,GACAK,GAAW,GAAA,CAAArR,SAEfmN,EAACwW,GAAY,CAACH,SAAUA,EAAUtF,OAAQA,EAAQ9G,SAAUA,EAAU2N,UAAWpiB,OAAOoiB,GAAYE,WAAYtiB,OAAOsiB,GAAavI,SAAUA,EAAU/L,QAASA,EAASnL,MAAOC,MAGvL,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGGwW,cAAa,SAAAA,IAAA,IAAA3X,EAAArN,OAAAglB,GAAA,IAAA,IAAA/T,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GA8BhB,OA9BgB7D,EAAA8R,GAAAjf,KAAA8kB,EAAA7T,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEwB,iBAAA,SAAA/J,GAAuB,IACxD4T,EADkD5T,EAAd4T,SACIvD,KAAI,SAAC3O,GAAa,IAAAuhB,EAAAC,EAC9D,GAA8B,OAAb,QAAbD,EAAAvhB,EAAKmH,gBAAQ,IAAAoa,OAAA,EAAbA,EAAe1a,QAAgB,CACjC,IAAA4a,EAA0BzhB,EAAKmH,SAASrB,KAAhC3K,EAAEsmB,EAAFtmB,GAAQsmB,EAAJxlB,KAAM8E,IAAAA,EAAG0gB,EAAH1gB,IAClBf,EAAK7E,GAAKA,EAEV6E,EAAKe,IAAMA,EACXf,EAAK6G,OAAS,MACf,MAAoC,OAAb2a,QAAbA,EAAAxhB,EAAKmH,oBAAQqa,SAAbA,EAAe3a,UACxB7G,EAAK6G,OAAS,QACd7G,EAAKmH,SAAWnH,EAAKmH,SAASpI,SAEhC,OAAOiB,CACT,IACAqI,EAAKuK,SAAS,CACZV,SAAAA,IACC,WACD7J,EAAK2I,SAASkB,EAChB,OACDjX,EAAAoN,EAEgB,kBAAA,SAACrI,GAChB,YACA,OADmBC,GAASwR,SAASzR,EAAKxB,SAK1C6J,mBAAAA,aAAA2X,iFAA4BhgB,KAH1BjB,EAAQgG,MAAM,mBACP6O,EAAOC,gBAGjBxL,CAAA,CAAA,OAAAX,EAAAsY,EA9BwB/N,IA8BxBnX,EAAAklB,EAAA,CAAA,CAAAziB,IAAA,SAAA1B,MAED,WAAM,IAAA8M,EAAAzN,KACJwf,EAA+Bxf,KAAKkY,MAA5BlB,EAAQwI,EAARxI,SAAUC,EAAQuI,EAARvI,SAClB5I,EAAiGrO,KAAKkN,MAA9F4E,EAAOzD,EAAPyD,QAAmBmT,EAAK5W,EAAfsW,SAAiB9G,EAAQxP,EAARwP,SAAUwB,EAAMhR,EAANgR,OAAMmH,EAAAnY,EAAE6X,UAAAA,OAAY,IAAHM,EAAG,IAAGA,EAAAC,EAAApY,EAAE+X,WAAAA,OAAa,IAAHK,EAAG,IAAGA,EAAE9f,EAAK0H,EAAL1H,MACjFge,EAAWM,EAAQnhB,OAAOmhB,GAAS,EACzC,OAAInT,EACKxD,EAAC+O,GAAY,CAACrG,SAAUA,EAAUtG,MAAOwV,EAAWvV,OAAQyV,EAAYzf,MAAOA,IAEhFqL,EAAAC,EAAA,CAAA9Q,SAAA,CACLke,EAAS/Q,EAACoY,GACT,CAAAC,gBACA,EAAAC,WAAW,OACXC,QAAQ,KACRC,YAAY,KACZC,OAAQb,EAAYE,EAEpBjlB,SAAAmN,EAACoK,EACC,CAAAsO,SAAS,eACTC,OAAQliB,GAASmL,KAAK,KACtBqD,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBzP,SAAU9V,KAAKknB,cACf1B,SAAUxlB,KAAKwlB,SACf2B,UAAW,SAACriB,GAAS,OAAK2I,EAAKiK,SAAS,CAAET,SAAUnS,GAAO,EAAA3D,UAEzD0c,GAAa/Z,OAAO6gB,GAAY3N,EAASrO,QAAW2F,EAACmX,EAAO,CAAAniB,KAAK,OAAOoiB,KAAMpX,EAAC8Y,GAAe,IAAEzgB,MAAOA,QAGzG2H,EAACoK,GACDsO,SAAS,eACTC,OAAQliB,GAASmL,KAAK,KACtBqD,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBzP,SAAU9V,KAAKknB,cACf1B,SAAUxlB,KAAKwlB,SACf2B,UAAW,SAACriB,GAAS,OAAK2I,EAAKiK,SAAS,CAAET,SAAUnS,GAAO,EAE1D3D,UAAC0c,GAAa/Z,OAAO6gB,GAAY3N,EAASrO,QAAW2F,EAACmX,EAAO,CAAAniB,KAAK,OAAOoiB,KAAMpX,EAAC8Y,GAAY,IAAKzgB,MAAOA,OAE5GsQ,aAAQ,EAARA,EAAe,KAAK3I,EAACsX,EAAM,CAAAxV,MAAO6G,EAAe,KAAGE,MAAM,EAAM2O,OAAQ,KAAMuB,SAAU,WAAF,OAAQ5Z,EAAKiK,SAAS,CAAET,cAAUlK,GAAY,WACnIuB,EAAK,MAAA,CAAAmN,IAAKxE,EAAe,KAAGtQ,MAAO,CAAE+J,MAAO,QAAU8K,IAAKvE,EAAc,UAG/E,IAAC,0tBC7HyC,IAEvBqQ,cAAW,SAAAA,IAAA,OAAAxnB,OAAAwnB,KAAAtnB,OAAAgJ,gBAAAse,+EAAA,CAAA,OAAA9a,EAAA8a,EAAQvR,IAARnW,EAAA0nB,EAAA,CAAA,CAAAjlB,IAAA,YAAA1B,MAO7B,WACC,IAAMwU,EAAQnV,KAAKmV,QACnB,OAAOA,aAAAA,EAAAA,EAAO1B,KAAI,SAAAuC,GAChB,GAAIA,EAAKzS,SAAU,CAEjB,OAAA+C,GAAAA,GAAA,CAAA,EAAY0P,GAAI,CAAA,EAAA,CAAEC,UADA,SAACC,EAAYvV,GAAa,OAAe,IAAVA,EAAciH,QAAQkF,SAAWlF,QAAQC,SAAS,GAErG,CACA,OAAAvB,MAAY0P,EACd,GACF,GAAC,CAAA3T,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CAAA,IAAA/N,EACRlH,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKygB,YAEnBjT,EAAiFxN,KAAKkN,MAA9EoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAOyV,EAAA/Z,EAAEga,UAAAA,OAAY,IAAHD,GAAQA,EAAAE,EAAAja,EAAEyX,MAAAA,OAAQ,IAAHwC,EAAG,EAACA,EAAExgB,EAAKuG,EAALvG,MAAO4W,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACtEF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WACV4U,EAA8B,QAApBxgB,EAAGD,aAAAA,EAAAA,EAAOF,MAAM,YAAIG,IAAAA,EAAAA,EAAI,GAExC,OACEoH,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,GACjBhD,GACAK,GAAW,GAAA,UAEflE,EAACqZ,EAAK,CAAAH,UAAWA,EAAWvC,MAAOA,EAAO2C,UAAW,SAAFxkB,GAAA,IAAAykB,EAAAzkB,EAAKggB,MAAAA,OAAQ,IAAHyE,EAAG,EAACA,EAAA,OAAOH,EAAW/e,OAAS,EAAI+e,EAAWtE,GAAS9U,EAACwZ,MAAY,EAAE/J,SAAUjM,GAAW+L,EAAUlX,MAAOC,MAG/K,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,8zBC5CH,IAAMmW,GAAW,SAACxjB,GAChB,OAAIG,MAAMsV,QAAQzV,GACTA,EAEFA,GAAKA,EAAEuS,IAChB,EACMzO,GAAW,CAAC,aAAc,aAEX2f,cAAW,SAAAA,IAAA,OAAA5kB,OAAA4kB,GAAAzF,GAAAjf,KAAA0kB,EAAA1b,UAAA,CAAA,OAAAwD,EAAAkY,EAAQ3O,IAARnW,EAAA8kB,EAAA,CAAA,CAAAriB,IAAA,SAAA1B,MAE9B,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKygB,YACnBjT,EAAgExN,KAAKkN,MAA7DoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS6S,EAAQnX,EAARmX,SAAUpM,EAAQ/K,EAAR+K,SAAUsF,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACrDjH,EAAoErO,KAAKkN,MAAK6a,EAAA1Z,EAAtE6N,SAAAA,OAAS,IAAD6L,GAAMA,EAAAC,EAAA3Z,EAAE8N,MAAAA,OAAM,IAAD6L,GAAMA,EAAAC,EAAA5Z,EAAE+N,KAAAA,OAAK,IAAD6L,GAAMA,EAAAC,EAAA7Z,EAAEgO,QAAAA,OAAQ,IAAD6L,EAAC,OAAMA,EAC/D9S,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,OACd0C,kBAAmBJ,IACftS,GACAK,GAAW,GAAA,CAEfrR,SAAAmN,EAAC6Z,GACC,CAAA7W,KAAMA,EACNqT,SAAUA,EACVpM,SAAUA,EACVsF,SAAUA,EACV/L,QAASA,EACToK,SAAUA,EACVC,MAAOA,EACPC,KAAMA,EACNC,QAASA,EACT1V,MAAOC,MAIf,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG6Z,cAAY,SAAAA,IAAA,IAAAhb,EAAArN,OAAAqoB,GAAA,IAAA,IAAApX,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GASf,OATe7D,EAAA8R,GAAAjf,KAAAmoB,EAAAlX,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEC,kBAAA,SAACrI,GAChB,YACA,OADmBC,GAASwR,SAASzR,EAAKxB,SAK1C6J,mBAAAA,aAAAgb,iFAA4BrjB,KAH1BjB,EAAQgG,MAAM,mBACP6O,EAAOC,gBAGjBxL,CAAA,CAAA,OAAAX,EAAA2b,EATuBpR,IASvBnX,EAAAuoB,EAAA,CAAA,CAAA9lB,IAAA,SAAA1B,MAED,WACE,IAAA6e,EAA4Bxf,KAAKkY,MAAzBlB,EAAQwI,EAARxI,SAAUE,EAAKsI,EAALtI,MAClBtE,EAA4F5S,KAAKkN,MAAzFoE,EAAIsB,EAAJtB,KAAMQ,EAAOc,EAAPd,QAAmBmT,EAAKrS,EAAf+R,SAAiB9G,EAAQjL,EAARiL,SAAUlX,EAAKiM,EAALjM,MAAOuV,EAAQtJ,EAARsJ,SAAUC,EAAKvJ,EAALuJ,MAAOC,EAAIxJ,EAAJwJ,KAAMC,EAAOzJ,EAAPyJ,QAC1EsI,EAAWM,EAAQnhB,OAAOmhB,GAAS,EACzC,GAAInT,EACF,OAAOxD,EAACkO,GAAY,CAAClL,KAAMA,EAAM0F,SAAUA,EAAUkF,SAAUA,EAAUC,MAAOA,EAAOC,KAAMA,EAAMC,QAASA,IAE9G,IACMlK,EAAY,CAAE+S,QADgCllB,KAA5CklB,QACqBC,UADuBnlB,KAAnCmlB,UACuBC,WADYplB,KAAxBolB,WACwBC,QADArlB,KAAZqlB,SAExC,OACErT,EACEC,EAAA,CAAA9Q,SAAA,CAAAmN,EAACoK,EAAMpS,GAAAA,GAAA,CACL0gB,SAAS,eACTC,OAAQliB,GAASmL,KAAK,KACtBqD,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBC,SAAUxlB,KAAKwlB,UAKVrT,GAAS,GAAA,CAEbhR,UAAC0c,GAAa/Z,OAAO6gB,GAAY3N,EAASrO,QAAW2F,EAACmX,EAAO,CAAAniB,KAAK,OAAOoiB,KAAMpX,EAAC8Y,GAAY,IAAKzgB,MAAOA,OAE3GqL,EAAC4T,EAAK,CAACzO,KAAMD,EAAMC,KAAM0O,UAAU,EAAOC,OAAQ,KAAI3kB,SAAA,CACpDmN,EAAiB,MAAA,CAAAnN,SAAA,WACjBmN,EAACyX,EAAS,CAAAlO,QAASX,EAAME,gBAIjC,IAAC,8zBChGH,IAAMqN,GAAW,SAACxjB,GAChB,OAAIG,MAAMsV,QAAQzV,GACTA,EAEFA,GAAKA,EAAEuS,IAChB,EACMzO,GAAW,CAAC,aAEG2f,cAAW,SAAAA,IAAA,OAAA5kB,OAAA4kB,GAAAzF,GAAAjf,KAAA0kB,EAAA1b,UAAA,CAAA,OAAAwD,EAAAkY,EAAQ3O,IAARnW,EAAA8kB,EAAA,CAAA,CAAAriB,IAAA,SAAA1B,MAE9B,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKygB,YACnBjT,EAAgExN,KAAKkN,MAA7DoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS6S,EAAQnX,EAARmX,SAAUpM,EAAQ/K,EAAR+K,SAAUsF,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACrDjH,EAA8FrO,KAAKkN,MAAKkb,EAAA/Z,EAAhGqN,SAAAA,OAAS,IAAD0M,GAAKA,EAAAL,EAAA1Z,EAAE6N,SAAAA,OAAS,IAAD6L,GAAMA,EAAAC,EAAA3Z,EAAE8N,MAAAA,OAAM,IAAD6L,GAAMA,EAAAK,EAAAha,EAAEwO,IAAAA,OAAI,IAADwL,GAAMA,EAAAJ,EAAA5Z,EAAE+N,KAAAA,OAAK,IAAD6L,GAAMA,EAAAC,EAAA7Z,EAAEgO,QAAAA,OAAQ,IAAD6L,EAAC,OAAMA,EACzF9S,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,OACd0C,kBAAmBJ,IACftS,GACAK,GAAW,GAAA,CAAArR,SAEfmN,EAACga,IACChX,KAAMA,EACNqT,SAAUA,EACVpM,SAAUA,EACVsF,SAAUA,EACV/L,QAASA,EACT4J,SAAUA,EACVQ,SAAUA,EACVC,MAAOA,EACPU,IAAKA,EACLT,KAAMA,EACNC,QAASA,EACT1V,MAAOC,MAIf,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGGga,cAAY,SAAAA,IAAA,IAAAnb,EAAArN,OAAAwoB,GAAA,IAAA,IAAAvX,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GASf,OATe7D,EAAA8R,GAAAjf,KAAAsoB,EAAArX,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEC,kBAAA,SAACrI,GAChB,YACA,OADmBC,GAASwR,SAASzR,EAAKxB,SAK1C6J,mBAAAA,aAAAmb,iFAA4BxjB,KAH1BjB,EAAQgG,MAAM,mBACP6O,EAAOC,gBAGjBxL,CAAA,CAAA,OAAAX,EAAA8b,EATuBvR,IASvBnX,EAAA0oB,EAAA,CAAA,CAAAjmB,IAAA,SAAA1B,MAED,WACE,IAAA6e,EAA4Bxf,KAAKkY,MAAzBlB,EAAQwI,EAARxI,SAAUE,EAAKsI,EAALtI,MAClBtE,EAA2G5S,KAAKkN,MAAxGoE,EAAIsB,EAAJtB,KAAMQ,EAAOc,EAAPd,QAAmBmT,EAAKrS,EAAf+R,SAAiB9G,EAAQjL,EAARiL,SAAUlX,EAAKiM,EAALjM,MAAO+U,EAAQ9I,EAAR8I,SAAUQ,EAAQtJ,EAARsJ,SAAUC,EAAKvJ,EAALuJ,MAAOU,EAAGjK,EAAHiK,IAAKT,EAAIxJ,EAAJwJ,KAAMC,EAAOzJ,EAAPyJ,QACzFsI,EAAWM,EAAQnhB,OAAOmhB,GAAS,EACzC,GAAInT,EACF,OAAOxD,EAACyO,GAAa,CAAAzL,KAAMA,EAAM0F,SAAUA,EAAU0E,SAAUA,EAAUQ,SAAUA,EAAUC,MAAOA,EAAOU,IAAKA,EAAKT,KAAMA,EAAMC,QAASA,IAE5I,IACMlK,EAAY,CAAE+S,QADgCllB,KAA5CklB,QACqBC,UADuBnlB,KAAnCmlB,UACuBC,WADYplB,KAAxBolB,WACwBC,QADArlB,KAAZqlB,SAExC,OACErT,EACEC,EAAA,CAAA9Q,SAAA,CAAAmN,EAACoK,EAAMpS,GAAAA,GAAA,CACL0gB,SAAS,eACTC,OAAQliB,GAASmL,KAAK,KACtBqD,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBC,SAAUxlB,KAAKwlB,UAKVrT,GAAS,GAAA,CAEbhR,UAAC0c,GAAa/Z,OAAO6gB,GAAY3N,EAASrO,QAAW2F,EAACmX,EAAO,CAAAniB,KAAK,OAAOoiB,KAAMpX,EAAC8Y,GAAY,IAAKzgB,MAAOA,OAE3GqL,EAAC4T,EAAK,CAACzO,KAAMD,EAAMC,KAAM0O,UAAU,EAAOC,OAAQ,KAAI3kB,SAAA,CACpDmN,EAAiB,MAAA,CAAAnN,SAAA,WACjBmN,EAACyX,EAAS,CAAAlO,QAASX,EAAME,gBAIjC,IAAC,8zBCjGH,IAAMqN,GAAW,SAACxjB,GAChB,OAAIG,MAAMsV,QAAQzV,GACTA,EAEFA,GAAKA,EAAEuS,IAChB,EAEqBkR,cAAW,SAAAA,IAAA,OAAA5kB,OAAA4kB,GAAAzF,GAAAjf,KAAA0kB,EAAA1b,UAAA,CAAA,OAAAwD,EAAAkY,EAAQ3O,IAARnW,EAAA8kB,EAAA,CAAA,CAAAriB,IAAA,SAAA1B,MAE9B,WAEE,GADaX,KAAKiV,UACR,CACR,IAAME,EAAQnV,KAAKygB,YACnBjT,EAA2FxN,KAAKkN,MAAxFoE,EAAI9D,EAAJ8D,KAAMQ,EAAOtE,EAAPsE,QAAS6S,EAAQnX,EAARmX,SAAU5f,EAAQyI,EAARzI,SAAU6f,EAAepX,EAAfoX,gBAAiBrM,EAAQ/K,EAAR+K,SAAUsF,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OAChFF,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBgD,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACNsE,MAAO5V,KAAK6V,WACZlP,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,OACd0C,kBAAmBJ,IACftS,GACAK,GAAW,GAAA,UAEflE,EAACwW,GAAa,CAAAH,SAAUA,EAAU5f,SAAUA,EAAU6f,gBAAiBA,EAAiBrM,SAAUA,EAAUsF,SAAUA,EAAU/L,QAASA,EAASnL,MAAOC,MAG/J,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGGwW,cAAa,SAAAA,IAAA,IAAA3X,EAAArN,OAAAglB,GAAA,IAAA,IAAA/T,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAwFhB,OAxFgB7D,EAAA8R,GAAAjf,KAAA8kB,EAAA7T,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAEA,kBAAA,SAACrI,GAChB,YAAMigB,EAAe5X,EAAK6X,kBAC1B,OAAID,GAAgBA,EAAapc,OAAS,EACrBoc,EAAaxO,SAASzR,EAAKxB,SAShD6J,mBAAAA,aAAA2X,iFAA4BhgB,KAPxBjB,EAAQgG,MAAMsD,EAAKD,MAAM0X,iBAClBlM,EAAOC,cAGhB9U,EAAQgG,MAAM,YACP6O,EAAOC,gBAGjB5Y,EAAAoN,EAEe,iBAAA,SAACob,GACf,IA8BgBC,EAHJC,EALGC,EAHHC,EAVCC,EAJDC,EAHDC,EAFLre,EAAU,CACdse,UAAWxiB,GAAON,MAAMd,UACxBG,WAASwjB,EAAA9gB,GAAAC,GAAAC,MAAE,SAAAC,EAAA/E,GAAA,IAAA4lB,EAAAC,EAAA1Q,EAAA,OAAAtQ,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAmC,OAA3BsgB,EAAQ5lB,EAAR4lB,SAAUC,EAAO7lB,EAAP6lB,QAAS1Q,EAAQnV,EAARmV,SAAQ/P,EAAAE,KAAA,EACtCyE,EAAKpH,QAAQ,aAAeQ,GAAON,MAAMX,UAAW,CAAE0jB,SAAAA,EAAUC,QAAAA,EAAS1Q,SAAAA,IAAW,KAAA,EAAA,OAAA/P,EAAAqE,OAAArE,SAAAA,EAAA0gB,MAAA,KAAA,EAAA,IAAA,MAAA,OAAA1gB,EAAAK,OAAA,GAAAV,OAC3F,SAFQW,GAAA,OAAAggB,EAAA/f,MAAA/I,KAAAgJ,UAAA,GAGTmgB,YAAUN,EAAA7gB,GAAAC,GAAAC,MAAE,SAAAiB,EAAAD,GAAA,IAAA8f,EAAAC,EAAAG,EAAAC,EAAA,OAAAphB,GAAAM,MAAA,SAAAa,GAAA,cAAAA,EAAAX,KAAAW,EAAAV,MAAA,KAAA,EAA+C,OAAvCsgB,EAAQ9f,EAAR8f,SAAUC,EAAO/f,EAAP+f,QAASG,EAAQlgB,EAARkgB,SAAUC,EAAUngB,EAAVmgB,WAAUjgB,EAAAV,KAAA,EACnDyE,EAAKpH,QAAQ,aAAeQ,GAAON,MAAMV,WAAY,CAAEyjB,SAAAA,EAAUC,QAAAA,EAASG,SAAAA,EAAUC,WAAAA,IAAa,KAAA,EAAA,OAAAjgB,EAAAyD,OAAAzD,SAAAA,EAAA8f,MAAA,KAAA,EAAA,IAAA,MAAA,OAAA9f,EAAAP,OAAA,GAAAM,OACxG,SAFSmB,GAAA,OAAAue,EAAA9f,MAAA/I,KAAAgJ,UAAA,GAIVsgB,aAAWV,EAAA5gB,GAAAC,GAAAC,MAAE,SAAAqB,EAAAD,GAAA,IAAA0f,EAAAC,EAAAG,EAAAC,EAAAvkB,EAAAykB,EAAA,OAAAthB,GAAAM,MAAA,SAAAiB,GAAA,cAAAA,EAAAf,KAAAe,EAAAd,MAAA,KAAA,EAM2B,OANnBsgB,EAAQ1f,EAAR0f,SAAUC,EAAO3f,EAAP2f,QAASG,EAAQ9f,EAAR8f,SAAUC,EAAU/f,EAAV+f,WAAYvkB,EAAIwE,EAAJxE,MACtDykB,EAAW,IAAIC,UACZC,OAAO,aAAcC,OAAOL,IACrCE,EAASE,OAAO,WAAYL,GAC5BG,EAASE,OAAO,WAAYT,GAC5BO,EAASE,OAAO,UAAWR,GAC3BM,EAASE,OAAO,OAAQ3kB,GAAc0E,EAAAd,KAAA,EACzByE,EAAKpH,QAAQ,aAAeQ,GAAON,MAAMT,YAAa+jB,GAAS,KAAA,EAAA,OAAA/f,EAAAqD,OAAArD,SAAAA,EAAA0f,MAAA,KAAA,GAAA,IAAA,MAAA,OAAA1f,EAAAX,OAAA,GAAAU,OAC7E,SARUogB,GAAA,OAAAf,EAAA7f,MAAA/I,KAAAgJ,UAAA,GAUX4gB,YAAUjB,EAAA3gB,GAAAC,GAAAC,MAAE,SAAAyB,EAAAD,GAAA,IAAAsf,EAAAC,EAAA1Q,EAAA,OAAAtQ,GAAAM,MAAA,SAAAqB,GAAA,cAAAA,EAAAnB,KAAAmB,EAAAlB,MAAA,KAAA,EAAmC,OAA3BsgB,EAAQtf,EAARsf,SAAUC,EAAOvf,EAAPuf,QAAS1Q,EAAQ7O,EAAR6O,SAAQ3O,EAAAlB,KAAA,EACvCyE,EAAKpH,QAAQ,aAAeQ,GAAON,MAAMR,QAAS,CAACujB,SAAAA,EAAUC,QAAAA,EAAS1Q,SAAAA,IAAU,KAAA,EAAA,OAAA3O,EAAAiD,OAAAjD,SAAAA,EAAAsf,MAAA,KAAA,EAAA,IAAA,MAAA,OAAAtf,EAAAf,OAAA,GAAAc,OACvF,SAFSkgB,GAAA,OAAAlB,EAAA5f,MAAA/I,KAAAgJ,UAAA,GAGVtD,eAAagjB,EAAA1gB,GAAAC,GAAAC,MAAE,SAAA6B,IAAA,IAAAgK,EAAA,OAAA9L,GAAAM,MAAA,SAAAyB,GAAA,cAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,KAAA,EAAA,OAAAsB,EAAAtB,KAAA,EACQyE,EAAKpH,QAAQQ,GAAON,MAAMP,eAAc,KAAA,EAAjD,OAANqO,EAAM/J,EAAAkf,KAAAlf,EAAA6C,OACLkH,SAAAA,aAAM,EAANA,EAAQnJ,MAAI,KAAA,EAAA,IAAA,MAAA,OAAAZ,EAAAnB,OAAA,GAAAkB,OACpB,WAHY,OAAA2e,EAAA3f,MAAA/I,KAAAgJ,UAAA,GAKb8gB,YAAUrB,EAAAzgB,GAAAC,GAAAC,MAAE,SAAA6hB,EAAAjgB,GAAA,IAAAkf,EAAAC,EAAA1Q,EAAA,OAAAtQ,GAAAM,MAAA,SAAAyhB,GAAA,cAAAA,EAAAvhB,KAAAuhB,EAAAthB,MAAA,KAAA,EAAmC,OAA3BsgB,EAAQlf,EAARkf,SAAUC,EAAOnf,EAAPmf,QAAS1Q,EAAQzO,EAARyO,SAAQyR,EAAAthB,KAAA,EACvCyE,EAAKpH,QAAQ,aAAeQ,GAAON,MAAMN,WAAY,CAACqjB,SAAAA,EAAUC,QAAAA,EAAS1Q,SAAAA,IAAU,KAAA,EAAA,OAAAyR,EAAAnd,OAAAmd,SAAAA,EAAAd,MAAA,KAAA,EAAA,IAAA,MAAA,OAAAc,EAAAnhB,OAAA,GAAAkhB,OAC1F,SAFSE,GAAA,OAAAxB,EAAA1f,MAAA/I,KAAAgJ,UAAA,GAGVkhB,gBAAc1B,EAAAxgB,GAAAC,GAAAC,MAAE,SAAAiiB,IAAA,IAAApW,EAAA,OAAA9L,GAAAM,MAAA,SAAA6hB,GAAA,cAAAA,EAAA3hB,KAAA2hB,EAAA1hB,MAAA,KAAA,EAAA,OAAA0hB,EAAA1hB,KAAA,EACOyE,EAAKpH,QAAQQ,GAAON,MAAML,kBAAiB,KAAA,EAApD,OAANmO,EAAMqW,EAAAlB,KAAAkB,EAAAvd,OACLkH,SAAAA,aAAM,EAANA,EAAQnJ,MAAI,KAAA,EAAA,IAAA,MAAA,OAAAwf,EAAAvhB,OAAA,GAAAshB,OACpB,WAHa,OAAA3B,EAAAzf,MAAA/I,KAAAgJ,UAAA,IAMVqhB,EAASC,GAAWC,OAAO9f,GACjC4f,EAAOjT,UAAS,SAACtS,EAAWsS,GAC1BtS,EAAK6G,OAAS,YACdwB,EAAKuK,SAAS,CAAER,MAAO,CAAEC,MAAM,EAAMC,SAAAA,IACvC,IACAiT,EAAOG,UAAS,SAAC1lB,GACf,IAAAuhB,EAAoBvhB,EAAKmH,SAAjBhM,EAAEomB,EAAFpmB,GAAI4F,EAAGwgB,EAAHxgB,IACZf,EAAK7E,GAAKA,EACV6E,EAAKe,IAAMA,EACXf,EAAK6G,OAAS,OACd,IAAMqL,EAAQ,GAAA/F,OAAAgH,EAAO9K,EAAK+K,MAAMlB,UAAQ,CAAElS,IAC1CqI,EAAKuK,SAAS,CACZV,SAAAA,EACAE,MAAO,CAAEC,MAAM,EAAOC,SAAU,KAC/B,WACDjK,EAAK2I,SAASkB,EAChB,GACF,IACAqT,EAAOxgB,OAAM,SAAC/E,EAAW+E,GACvB/E,EAAK6G,OAAS,QACd7G,EAAKmH,SAAWpC,EAChB,IAAImN,EAAkB7J,EAAK+K,MAAMlB,SAC3BoM,EAAQpM,EAASyT,WAAU,SAAA/P,GAAM,OAAAA,EAAHgQ,MAAkB5lB,EAAK4lB,QAC7C,IAAVtH,EACFpM,EAASpV,KAAKkD,GAEdkS,EAASoM,GAASte,EAEpBqI,EAAKuK,SAAS,CACZV,SAAAA,EACAE,MAAO,CAAEC,MAAM,EAAOC,SAAU,IAEpC,IACAiT,EAAOM,MAAMpC,EAAKzjB,SACnBqI,CAAA,CAAA,OAAAX,EAAAsY,EAxFwB/N,IAwFxBnX,EAAAklB,EAAA,CAAA,CAAAziB,IAAA,SAAA1B,MAED,WACE,IAAA6e,EAA4Bxf,KAAKkY,MAAzBlB,EAAQwI,EAARxI,SAAUE,EAAKsI,EAALtI,MAClB7I,EAAsDrO,KAAKkN,MAAnD4E,EAAOzD,EAAPyD,QAAmBmT,EAAK5W,EAAfsW,SAAiB9G,EAAQxP,EAARwP,SAAUlX,EAAK0H,EAAL1H,MACtCge,EAAWM,EAAQnhB,OAAOmhB,GAAS,EACzC,OAAInT,EACKxD,EAACuN,GAAW,CAAC7E,SAAUA,IAG9BhF,EACEC,EAAA,CAAA9Q,SAAA,CAAAmN,EAACoK,EAAM,CACLnF,OAAQhN,GAAOR,QAAQ1B,OAASkC,GAAOzB,KAAKH,UAC5CqS,SAAUA,EACV2N,SAAUA,EACV5G,SAAUF,EACVyH,aAActlB,KAAKulB,eACnBqF,cAAe5qB,KAAK4qB,cACpBpF,SAAUxlB,KAAKwlB,SAAQrkB,SAMvBmN,EAACmX,EAAO,CAAA1H,SAAUF,GAAsB8G,GAAY3N,EAASrO,OAAQ+c,KAAMpX,EAACqX,GAAiB,IAAEhf,MAAOA,EAAKxF,SAAA,SAE7G6Q,EAAC4T,EAAM,CAAAzO,KAAMD,EAAMC,KAAM0O,UAAU,EAAOC,OAAQ,KAChD3kB,SAAA,CAAAmN,EAAA,MAAA,CAAAnN,SAAA,WACAmN,EAACyX,EAAS,CAAAlO,QAASX,EAAME,gBAIjC,IAAC,41BCjKkC,IAEhByT,cAAU,SAAAA,IAAA,OAAA/qB,OAAA+qB,GAAA5L,GAAAjf,KAAA6qB,EAAA7hB,UAAA,CAAA,OAAAwD,EAAAqe,EAAQ9U,IAARnW,EAAAirB,EAAA,CAAA,CAAAxoB,IAAA,aAAA1B,MAE7B,WACE,IACgBmqB,EADVC,EAAa1X,EAAKrT,KAAKkN,MAAM/L,SAAU,CAAEgB,IAAK,YACpD,OAAI4oB,EACwB,QAA1BD,EAAOC,EAAW5pB,gBAAQ,IAAA2pB,OAAA,EAAnBA,EAAqBrX,KAAI,SAACuX,GAA+B,IAAAC,EAAA,OAAA3kB,GAAAA,GAAA,CAAA,EAC3D0kB,GAAM,CAAA,EAAA,CACT7V,MAAmB8V,QAAdA,EAAED,EAAO7V,aAAP8V,IAAYA,OAAZA,EAAAA,EAAcxX,IAAItQ,KAAS,IAG/B,EACT,GAAC,CAAAd,IAAA,SAAA1B,MAED,WAEE,GADaX,KAAKiV,UACR,CACRjV,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKygB,YACnBrL,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAAmDxN,KAAKkN,MAAhDoE,EAAI9D,EAAJ8D,KAAMlB,EAAK5C,EAAL4C,MAAO0B,EAAOtE,EAAPsE,QAAS+L,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OACxCE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WAChB,OACExE,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACN3K,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,QACVhQ,GACAK,GAAW,GAAA,CAAArR,SAEfmN,EAAC4c,GAAY,CAAApZ,QAASA,GAAW+L,EAAUzN,MAAOA,EAAO+a,QAASnrB,KAAKorB,aAAczkB,MAAOC,MAGlG,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG4c,cAAY,SAAAA,IAAA,IAAA/d,EAAArN,OAAAorB,GAAA,IAAA,IAAAna,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAiGf,OAjGe7D,EAAA8R,GAAAjf,KAAAkrB,EAAAja,GAAAA,OAAAtE,IAAA5M,EAAAoN,EACT,QAAA,CACLke,WAAY,GACZnU,MAAO,CACL9G,MAAO,GACPkb,YAAQve,EACRoG,MAAM,KAETpT,EAAAoN,EA2DU,YAAA,SAACme,GACV,IAAQD,EAAele,EAAK+K,MAApBmT,WACJ7X,EAA4B,GAC5B8X,EAAOrrB,IAAMqrB,EAAOZ,IACtBlX,EAAO6X,EAAW5X,KAAI,SAAC/S,GACrB,OAAI4qB,EAAOrrB,IAAMS,EAAKT,KAAOqrB,EAAOrrB,IAEzBqrB,EAAOZ,KAAOhqB,EAAKgqB,MAAQY,EAAOZ,IAD3CpkB,GAAAA,GAAY5F,CAAAA,EAAAA,GAAS4qB,GAIhB5qB,CACT,KAEA4qB,EAAOlI,MAAQiI,EAAW1iB,OAAS,EACnC2iB,EAAOZ,IAAMxqB,IACbsT,EAAI,GAAAvC,OAAAgH,EAAOoT,GAAU,CAAEC,KAGzBne,EAAKuK,SAAS,CACZ2T,WAAY7X,EACZ0D,MAAO,CAAE9G,MAAO,GAAIkb,YAAQve,EAAWoG,MAAM,KAC5C,WAAK,IAAAmF,EAAAjK,UACNiK,GAAAjK,EAAAlB,EAAKD,OAAM4I,gBAAQ,IAAAwC,GAAnBA,EAAA5K,KAAAW,EAAsBmF,EACxB,OACDzT,EAAAoN,EAAA,YAEU,WACTA,EAAKuK,SAAS,CACZR,MAAO,CAAE9G,MAAO,GAAIkb,YAAQve,EAAWoG,MAAM,QAEhDhG,CAAA,CAAA,OAAAX,EAAA0e,EAjGuB3e,IAiGvB3M,EAAAsrB,EAAA,CAAA,CAAA7oB,IAAA,oBAAA1B,MAvFD,WACE,IAAAiS,EAA2B5S,KAAKkN,MAAxBsG,EAAIZ,EAAJY,KAAMsC,EAAQlD,EAARkD,SACd,GAAI1U,MAAMsV,QAAQlD,GAAO,CACvB,IAAM6X,EAAa7X,EAAKC,KAAI,SAAArQ,EAAsCggB,GAChE,OADoChgB,EAAPmoB,QAC7BjlB,GAAA,CAASrG,GADyCmD,EAAZooB,aACXpI,MAAOA,EAAQ,GADkBvX,EAAAzI,EAAA0I,IAE9D,IACA9L,KAAK0X,SAAS,CAAE2T,WAAAA,IAAc,WAC5BvV,SAAAA,EAAWuV,EACb,GACF,CACF,GAAC,CAAAhpB,IAAA,aAAA1B,MAED,WAAU,IAAA8M,EAAAzN,KACRgT,EAA8ChT,KAAKkN,MAA3CkD,EAAK4C,EAAL5C,MAAO0B,EAAOkB,EAAPlB,QAASqZ,EAAOnY,EAAPmY,QAASrV,EAAQ9C,EAAR8C,SACzBuV,EAAerrB,KAAKkY,MAApBmT,WACR,OAAIvZ,EACKqZ,EAEFla,GAAOka,EAAS,CACrB/a,MAAO,KACPqb,UAAW,SACXC,UAAW,SACXC,OAAQ,SAACzV,EAAY0V,GAAW,MAAK,CACnC5Z,EAACqJ,EACC,CAAAla,SAAA,CAAAmN,EAAA,IAAA,CACEud,QAAS,WACPpe,EAAKiK,SAAS,CACZR,MAAO,CAAE9G,MAAKa,KAAAA,OAAOb,GAASkb,OAAQM,EAAQzY,MAAM,IAEvD,EAAAhS,SAAA,MALI,WASPmN,OACEud,QAAS,WACPjG,EAAMkG,QAAQ,CACZ1b,MAAO,KACPsV,KAAMpX,EAACyd,GAAyB,IAChCtd,QAAS,eACTud,OAAQ,KACRC,WAAY,KACZC,KAAM,WACJ,IAAM1Y,EAA4B6X,EAAW/U,QAAO,SAAApN,GAAA,IAAGjJ,EAAEiJ,EAAFjJ,GAAIyqB,EAAGxhB,EAAHwhB,IAAG,QAAUzqB,GAAM2rB,EAAO3rB,KAAOA,GAAQyqB,GAAOkB,EAAOlB,MAAQA,MAC1Hjd,EAAKiK,SAAS,CAAE2T,WAAY7X,IAAQ,WAClCsC,SAAAA,EAAWtC,EACb,GACF,GAEH,EAfIrS,SAAA,MAAA,YAVE,UA8BZ,GAEL,GAAC,CAAAkB,IAAA,SAAA1B,MAkCD,WAAM,IAAA4T,EAAAvU,KACJkU,EAAkClU,KAAKkN,MAA/BkD,EAAK8D,EAAL9D,MAAO0B,EAAOoC,EAAPpC,QAASnL,EAAKuN,EAALvN,MACxB6Y,EAA8Bxf,KAAKkY,MAA3BmT,EAAU7L,EAAV6L,WAAYnU,EAAKsI,EAALtI,MACdiU,EAAUnrB,KAAKorB,aACrB,OACEpZ,EAACma,EACC,CAAA/b,MAAOA,EACPgc,UAAW,CAAEC,QAAS,YACtBC,MACExa,EAAU,KACRxD,EAAa,IAAA,CAAAud,QAAS,WACpBtX,EAAKmD,SAAS,CACZR,MAAO,CAAE9G,MAAKa,KAAAA,OAAOb,GAASkb,YAAQve,EAAWoG,MAAM,IAE1D,EAJMhS,SAAA,MAAA,OAIEA,SAAA,CAGbmN,EAACie,EAAM,CAAAC,OAAO,QAAQ/T,KAAK,QAAQ9R,MAAOA,EAAOwkB,QAASA,EAASE,WAAYA,IAC9EnU,EAAM/D,MAAQ7E,EAACme,GAAU,CAAArc,MAAO8G,EAAM9G,MAAOkb,OAAQpU,EAAMoU,OAAQH,QAASA,EAASuB,SAAU1sB,KAAK0sB,SAAUrF,SAAUrnB,KAAKqnB,aAGpI,IAAC,IAGGoF,GAAY,SAAHnjB,GAA+E,IASpFqjB,EATWvc,EAAK9G,EAAL8G,MAAOkb,EAAMhiB,EAANgiB,OAAQH,EAAO7hB,EAAP6hB,QAASuB,EAAQpjB,EAARojB,SAAUrF,EAAQ/d,EAAR+d,SACrDuF,EAAelX,EAAKmX,UAAb7mB,EAAsBoB,EAAAwlB,EAAA,GAAlB,GACX,OACEte,EAACsX,EAAK,CACJxV,MAAOA,EACPM,MAAO,IACPyG,MAAM,EACN2V,gBAAgB,EAChBzF,SAAUA,EACV6E,MAAIS,EAAA3kB,GAAAC,GAAAC,MAAE,SAAAC,IAAA,OAAAF,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACU1C,EAAK+mB,iBACbrhB,MAAK,SAACd,GACV8hB,EAAQpmB,GAAAA,MAAKglB,GAAW1gB,GAC1B,IAAE,OAAO,SAAC3J,GACRoK,QAAQgN,KAAKpX,EACf,IAAG,KAAA,EAAA,IAAA,MAAA,OAAAuH,EAAAK,OAAA,GAAAV,OACJ,WAPG,OAAAwkB,EAAA5jB,MAAA/I,KAAAgJ,UAAA,GAOH7H,SAEDmN,EAACoH,EACC,CAAA1P,KAAMA,EACNjF,KAAK,aACLisB,cAAe1B,EACfhZ,WAAY,CAAEG,KAAM,IACpBwa,aAAa,MACbC,OAAO,WAEP/rB,SAAAmN,EAAC6e,EAAG,CAAAhsB,SACDgqB,EAAQxiB,OAAS,GAAKwiB,EAAQ1X,KAAI,SAAA/J,GAA6C,IAA1C0G,EAAK1G,EAAL0G,MAAOqb,EAAS/hB,EAAT+hB,UAAWhO,EAAW/T,EAAX+T,YAAatI,EAAKzL,EAALyL,MACnE,GAAkB,UAAdsW,GAAuC,WAAdA,EAC3B,OACEnd,EAAC8e,EAAI,CAAA3a,KAAM,GAAEtR,SACXmN,EAACoH,EAAKC,KAAI,CAACC,MAAOxF,EAAOrP,KAAM0qB,EAAWtW,MAAOA,EAAWhU,SAC1DmN,EAACwP,EAAK,CAACL,YAAaA,OAFJgO,EAOzB,SAKX,yyDC9MkC,IAEb4B,cAAS,SAAAA,IAAA,IAAAlgB,EAAArN,OAAAutB,GAAA,IAAA,IAAAtc,EAAA/H,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA2P,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArE,EAAAqE,GAAAhI,UAAAgI,GAiD3B,OAjD2B7D,EAAA8R,GAAAjf,KAAAqtB,EAAApc,GAAAA,OAAAtE,IAAA5M,EAAAoN,EAAA,WAE0C,IAAEpN,EAAAoN,EAAA,aACpD,IAAEpN,EAAAoN,EACd,QAAA,CACNtK,SAAKkK,EACL3E,SAAS,IACVrI,EAAAoN,EAAA,YAAA,WAAA,IAAA/J,EAAA4E,GAAAC,GAAAC,MAYW,SAAAC,EAAMtF,GAAa,IAAAyqB,EAAAC,EAAAntB,EAAAD,EAAAN,EAAAyR,EAAAlB,EAAA9M,EAAAsH,EAAAyV,EAAA5V,EAAAnJ,EAAAD,EAAAmgB,EAAAnf,EAAA1B,EAAA6S,EAAAga,EAAAC,EAAA/sB,EAAA,OAAAuH,GAAAM,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAC7ByE,EAAK4d,WAAa1X,EAAKlG,EAAKD,MAAM/L,SAAU,CAAEgB,IAAK,YAAahB,SAC1DmsB,EAAengB,EAAK4d,WAAWtX,KAAI,SAACuX,GAAW,OAAKA,EAAOS,aAC3D8B,EAAW/qB,GAAYQ,UAAUH,EAAK,UAASzC,EAAAC,GAC/BktB,GAAQ/kB,EAAAC,KAAA,EAAArI,EAAAG,IAAA,KAAA,EAAA,IAAAJ,EAAAC,EAAAI,KAAAC,KAAA,CAAA+H,EAAAE,KAAA,GAAA,KAAA,CAGc,GAHjC7I,EAAOM,EAAAQ,MACV2Q,EAAOzR,EAAQ6tB,aAAa,QAC5Btd,EAAQvQ,EAAQ6tB,aAAa,SAC7BpqB,EAAOzD,EAAQ8tB,QAAQlM,eACzBnQ,IAAQgc,EAAM/W,SAASjF,GAAK,CAAA9I,EAAAE,KAAA,GAAA,KAAA,CAG0B,GAFlDkC,EAAY,CAAE,EACdyV,EAASxgB,EAAQ6tB,aAAa,aAC9BjjB,EAAUjI,GAAYQ,UAAUnD,EAAS,WACnC8I,OAAS,GAAC,CAAAH,EAAAE,KAAA,GAAA,KAAA,CAAApH,EAAAjB,GACCoK,GAAO,IAA5B,IAAAnJ,EAAAf,MAAAc,EAAAC,EAAAd,KAAAC,MAAW+gB,EAAMngB,EAAAV,MACT0B,EAAMmf,EAAOkM,aAAa,SAC1B/sB,EAAQ6gB,EAAO1f,YACjBO,GAAO1B,IACTiK,EAAKvI,GAAO1B,EAEf,CAAA,MAAAK,GAAAM,EAAAL,EAAAD,EAAA,CAAA,QAAAM,EAAAJ,GAAA,CAAAsH,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAA,IACQ2X,EAAM,CAAA7X,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,GACyByE,EAAKpH,QAAQQ,GAAOR,QAAQvB,KAAO6b,GAAO,KAAA,GAA5E7M,EAAIhL,EAAA0gB,KAAAsE,EAAAntB,GACQmT,GAAI,IAAtB,IAAAga,EAAAjtB,MAAAktB,EAAAD,EAAAhtB,KAAAC,MAAUC,EAAI+sB,EAAA9sB,MACZiK,EAAKlK,EAAK2B,KAAO3B,EAAKkV,KACvB,CAAA,MAAA5U,GAAAwsB,EAAAvsB,EAAAD,EAAA,CAAA,QAAAwsB,EAAAtsB,GAAA,CAAA,KAAA,GAEHiM,EAAKgJ,SAASvU,KAAK,CAAE0P,KAAAA,EAAMlB,MAAAA,EAAO9M,KAAAA,EAAMsH,KAAAA,IAAQ,KAAA,GAAApC,EAAAE,KAAA,EAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAA6B,GAAA7B,EAAA,MAAA,GAAApI,EAAAa,EAAAuH,EAAA6B,IAAA,KAAA,GAAA,OAAA7B,EAAAC,KAAA,GAAArI,EAAAc,IAAAsH,EAAAolB,OAAA,IAAA,KAAA,GAGpDzgB,EAAKuK,SAAS,CAAEtP,SAAS,IAAS,KAAA,GAAA,IAAA,MAAA,OAAAI,EAAAK,OAAA,GAAAV,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,UACnC,OAAA,SAAAW,GAAA,OAAA1F,EAAA2F,MAAA/I,KAAAgJ,UAAA,CAAA,CA1CA,IA0CAmE,CAAA,CAAA,OAAAX,EAAA6gB,EAjDmCtX,IAiDnCnW,EAAAytB,EAAA,CAAA,CAAAhrB,IAAA,oBAAA1B,MAxCD,WAAiB,IAAA8M,EAAAzN,KACT6tB,EAAS7tB,KAAKkN,MAAM2gB,OAC1B7tB,KAAK0X,SAAS,CAAEtP,SAAS,IACzBpI,KAAK+F,QAAQQ,GAAOP,KAAKd,YAAa,CAAE2oB,OAAAA,IAAUniB,MAAK,SAACoiB,GACtD,IAAMjrB,EAAML,GAAYM,WAAWgrB,GACnCrgB,EAAKiK,SAAS,CAAE7U,IAAAA,IAChB4K,EAAKsgB,UAAUlrB,EACjB,GACF,GAAC,CAAAR,IAAA,SAAA1B,MAkCD,WAEE,GADaX,KAAKiV,YACLjV,KAAKkY,MAAM9P,QAAS,CAC/BpI,KAAKkV,iBACL,IAAMC,EAAQnV,KAAKygB,YACnBrL,EAAmCpV,KAAKqV,UAAhClD,EAASiD,EAATjD,UAAWK,EAAW4C,EAAX5C,YACnBhF,EAA0DxN,KAAKkN,MAAvDoE,EAAI9D,EAAJ8D,KAAMlB,EAAK5C,EAAL4C,MAAO4d,EAAKxgB,EAALwgB,MAAOlc,EAAOtE,EAAPsE,QAAS+L,EAAQrQ,EAARqQ,SAAUvI,EAAM9H,EAAN8H,OAC/CE,EAA+BxV,KAAKyV,YAA5B7O,EAAM4O,EAAN5O,OAAQkM,EAAU0C,EAAV1C,WACRjQ,EAAQ7C,KAAKkY,MAAbrV,IACR,OACEyL,EAACoH,EAAKC,KAAIrP,GAAAA,GAAAA,GAAA,CACRvF,KAAMuQ,EACN3K,MAAOmM,EACPwC,OAAQA,EACRH,MAAOG,EAAS,GAAKH,EACrBgN,cAAc,QACVhQ,GACAK,GAAW,GAAA,CAAArR,SAEfmN,EAAC2f,IAAWnc,QAASA,GAAW+L,EAAUzN,MAAOA,EAAO4d,MAAOA,EAAO7C,QAASnrB,KAAK+qB,WAAY9jB,MAAOjH,KAAKmW,SAAU1T,SAAUI,EAAK8D,MAAOC,MAGlJ,CAGA,OAHW5G,KAAKkN,MAAM8Q,WACpBhe,KAAKie,kBAEA3P,OACT,IAAC,IAGG2f,cAAW,SAAAA,IAAA,IAAA1Z,EAAAzU,OAAAmuB,GAAA,IAAA,IAAAjN,EAAAhY,UAAAL,OAAAgE,EAAAvL,IAAAA,MAAA4f,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAtU,EAAAsU,GAAAjY,UAAAiY,GA2Gd,OA3Gc1M,EAAA0K,GAAAjf,KAAAiuB,EAAAhd,GAAAA,OAAAtE,IAAA5M,EAAAwU,EACR,QAAA,CACL8W,WAAY,GACZnU,MAAO,CACL9G,MAAO,GACPkb,YAAQve,EACRoG,MAAM,KAETpT,EAAAwU,EAkFU,YAAA,SAAC+W,GACV,IAAMD,EAAa9W,EAAK2D,MAAMmT,WAC1B7X,EAA2B,GAC3B8X,EAAOrrB,GACTuT,EAAO6X,EAAW5X,KAAI,SAAC7I,GAAsB,OAAKA,EAAK3K,KAAOqrB,EAAOrrB,GAAEqG,GAAAA,GAAQsE,GAAAA,GAAS0gB,GAAW1gB,MAEnG0gB,EAAOrrB,GAAKC,IACZorB,EAAOlI,MAAQiI,EAAW1iB,OAAS,EACnC6K,EAAI,GAAAvC,OAAAgH,EAAOoT,GAAU,CAAEC,KAEzB/W,EAAKuB,SAAStC,MACfzT,EAAAwU,EAAA,YAEU,WACTA,EAAKmD,SAAS,CACZR,MAAO,CAAE9G,MAAO,GAAIkb,YAAQve,EAAWoG,MAAM,QAEhDoB,CAAA,CAAA,OAAA/H,EAAAyhB,EA3GsB1hB,IA2GtB3M,EAAAquB,EAAA,CAAA,CAAA5rB,IAAA,oBAAA1B,MAjGD,WACE,IAAM6S,EAAOxT,KAAKkN,MAAMsG,KACxB,GAAIpS,MAAMsV,QAAQlD,GAAO,CACvB,IAAM6X,EAAa7X,EAAKC,KAAI,SAAAvK,EAAcka,GAAK,IAAbxY,EAAIsjB,GAAA,CAAA,GAAAC,GAAAjlB,GAAAA,IAAA,OAAA5C,GAAA,CAAiBrG,GAAIC,IAAYkjB,MAAOA,EAAQ,GAAMxY,EAAI,IAChG5K,KAAK8V,SAASuV,EAChB,CACF,GAAC,CAAAhpB,IAAA,WAAA1B,MAED,SAAS6S,GAAW,IAAAmB,EAAA3U,KAClBA,KAAK0X,SAAS,CACZ2T,WAAY7X,EACZ0D,MAAO,CAAE9G,MAAO,GAAIkb,YAAQve,EAAWoG,MAAM,KAC5C,WAAK,IAAA+N,EAAAC,EACaD,QAAnBA,GAAAC,EAAAxM,EAAKzH,OAAM4I,oBAAQoL,GAAnBA,EAAAxT,KAAAyT,EAAsB3N,EAAKC,KAAI,SAAAnK,GAAqB,OAAhBA,EAAFrJ,GAASqJ,EAAL8Z,MAAcvX,EAAAvC,EAAAwC,GAAU,IAChE,GACF,GAAC,CAAAzJ,IAAA,aAAA1B,MAED,WAAU,IAAAytB,EAAApuB,KACRqO,EAA2CrO,KAAKkN,MAAxC4E,EAAOzD,EAAPyD,QAAS1B,EAAK/B,EAAL+B,MAAO+a,EAAO9c,EAAP8c,QAASlkB,EAAKoH,EAALpH,MACzBokB,EAAerrB,KAAKkY,MAApBmT,WAEFN,EAAaI,EAAQ1X,KAAI,SAACuX,GAC9B,IAAM1Z,EAAO0Z,EAAOS,UACd/qB,EAAYuG,EAAMoM,MAAK,SAAC3S,GAAS,OAAKA,EAAK4Q,OAASA,KAkB1D,OAjBI5Q,IACGsqB,EAAO5a,QACV4a,EAAO5a,MAAQ1P,EAAK0P,OAEtB4a,EAAOW,OAAS,SAAC5pB,GACf,IAAIpB,EAAQoB,EAMZ,OALIipB,EAAOjpB,KACTpB,EAAQqqB,EAAOjpB,KAC4B,IAAlCsF,OAAOsM,KAAKjT,EAAKkK,MAAMjC,SAChChI,EAAQD,EAAKkK,KAAK7I,IAEA,QAAhBipB,EAAO1nB,KACFgL,EAAG,IAAA,CAAA0K,KAAMjX,EAAMkX,OAAO,SAASC,IAAI,aAAc/X,SAAAR,IAEnDA,CACR,GAEIqqB,CACT,IAEA,OAAIlZ,EACKiZ,EAEF9Z,GAAO8Z,EAAY,CACxB3a,MAAO,KACPqb,UAAW,SACXC,UAAW,SACXC,OAAQ,SAACzV,EAAY0V,GAAW,MAAK,CACnC5Z,EAACqJ,EACC,CAAAla,SAAA,CAAAmN,EAAA,IAAA,CACEud,QAAS,WACPuC,EAAK1W,SAAS,CACZR,MAAO,CAAE9G,MAAKa,KAAAA,OAAOb,GAASkb,OAAQM,EAAQzY,MAAM,IAEvD,EAAAhS,SAAA,MALI,WAOPmN,OACEud,QAAS,WACPjG,EAAMkG,QAAQ,CACZ1b,MAAO,KACPsV,KAAMpX,EAACyd,GAAyB,IAChCtd,QAAS,eACTud,OAAQ,KACRC,WAAY,KACZC,KAAM,WACJ,IAAM1Y,EAA2B6X,EAAW/U,QAAO,SAAA5M,GAAA,IAAGzJ,EAAEyJ,EAAFzJ,GAAE,QAASA,GAAM2rB,EAAO3rB,KAAOA,MACrFmuB,EAAKtY,SAAStC,EAChB,GAEH,EAbIrS,SAAA,MAAA,YARE,UAwBZ,GAEL,GAAC,CAAAkB,IAAA,SAAA1B,MAqBD,WAAM,IAAA0tB,EAAAruB,KACJ4S,EAAmD5S,KAAKkN,MAAhD4E,EAAOc,EAAPd,QAAS1B,EAAKwC,EAALxC,MAAO4d,EAAKpb,EAALob,MAAOvrB,EAAQmQ,EAARnQ,SAAUkE,EAAKiM,EAALjM,MACzC6Y,EAA8Bxf,KAAKkY,MAA3BmT,EAAU7L,EAAV6L,WAAYnU,EAAKsI,EAALtI,MACdiU,EAAUnrB,KAAKorB,aACrB,OACEpZ,EAACma,EACC,CAAA/b,MAAOA,EACPzJ,MAAO,CAAE0lB,QAAS,YAClBC,MACExa,EAAU,KACRxD,EAAa,IAAA,CAAAud,QAAS,WACpBwC,EAAK3W,SAAS,CACZR,MAAO,CAAE9G,MAAKa,KAAAA,OAAOb,GAASkb,YAAQve,EAAWoG,MAAM,IAE1D,EAJMhS,SAAA,MAAA,OAIEA,SAAA,CAGbmN,EAACie,EAAK,CAACC,OAAO,KAAK/T,KAAK,QAAQ9R,MAAOA,EAAOwkB,QAASA,EAASE,WAAYA,IAC3EnU,EAAM/D,MAAQ7E,EAACme,GAAU,CAAArc,MAAO8G,EAAM9G,MAAO4d,MAAOA,EAAO1C,OAAQpU,EAAMoU,OAAQ7oB,SAAUA,EAAUiqB,SAAU1sB,KAAK0sB,SAAUrF,SAAUrnB,KAAKqnB,aAGpJ,IAAC,IAGGoF,GAAY,SAAH3iB,GAA4F,IAUjG6iB,EAVWvc,EAAKtG,EAALsG,MAAKke,EAAAxkB,EAAEkkB,MAAAA,OAAM,IAADM,EAAC,MAAKA,EAAEhD,EAAMxhB,EAANwhB,OAAQ7oB,EAAQqH,EAARrH,SAAUiqB,EAAQ5iB,EAAR4iB,SAAUrF,EAAQvd,EAARud,SAC7DrhB,EAAyDuoB,IAE/D,OACEjgB,EAACsX,EAAK,CACJxV,MAAOA,EACPM,MAAO5M,OAAOkqB,GACd7W,MAAM,EACN2V,gBAAgB,EAChBzF,SAAUA,EACV6E,MAAIS,EAAA3kB,GAAAC,GAAAC,MAAE,SAAAiB,IAAA,IAAAiI,EAAAC,EAAAzG,EAAA,OAAA3C,GAAAM,MAAA,SAAAa,GAAA,cAAAA,EAAAX,KAAAW,EAAAV,MAAA,KAAA,EAAA,OAAAU,EAAAX,KAAA,EAAAW,EAAAV,KAAA,EAEgB,QAFhB0I,EAEIpL,EAAK6H,eAAO,IAAAuD,OAAA,EAAZA,EAAc2b,iBAAgB,KAAA,EAC9BniB,EAAmByG,QAAfA,EAAGrL,EAAK6H,eAALwD,IAAYA,OAAZA,EAAAA,EAAcO,iBAC3B8a,EAAQpmB,GAAAA,MAAKglB,GAAW1gB,IAAOxB,EAAAV,KAAA,GAAA,MAAA,KAAA,EAAAU,EAAAX,KAAA,EAAAW,EAAAiB,GAAAjB,EAAA,MAAA,GAE/BiC,QAAQmjB,IAAGplB,EAAAiB,IAAI,KAAA,GAAA,IAAA,MAAA,OAAAjB,EAAAP,OAAA,GAAAM,EAAA,KAAA,CAAA,CAAA,EAAA,SAElB,WARG,OAAAwjB,EAAA5jB,MAAA/I,KAAAgJ,UAAA,GAQH7H,SAEAsB,GAAY6L,EAACmgB,GAAa,CAAAzoB,KAAMA,EAAMvD,SAAUA,EAAUuqB,cAAe1B,KAGhF,mQClPA6B,GAAA,SAAe/pB,GAAA,IAAGjC,EAAQiC,EAARjC,SAAUutB,EAAMtrB,EAANsrB,OAAM,OAChCpgB,EAAC6e,GAAIuB,OAAQ5qB,OAAO4qB,GAAS/nB,MAAO,CAAE0J,OAAQ,GAAGlP,SAC9CA,GAEJ,ECJcisB,GAAA,SAAAhqB,GAA4B,IAAzBqP,EAAIrP,EAAJqP,KAAMtR,EAAQiC,EAARjC,SACtB,OACEmN,EAAC8e,EAAI,CAAA3a,KAAMA,EACRtR,SAAAA,GAGN,ECNcwtB,GAAA,SAAAvrB,GAA0D,IAAvDwrB,EAASxrB,EAATwrB,UAAWC,EAASzrB,EAATyrB,UAAWC,EAAY1rB,EAAZ0rB,aAAc3tB,EAAQiC,EAARjC,SAC9C8F,EAAQ8nB,GAAQ,WAAA,OACpB5tB,aAAAA,EAAAA,EAAUsS,KAAI,SAAAvK,GAA4B,IAAzBjJ,EAAEiJ,EAAFjJ,GAAIK,EAAU4I,EAAV5I,WAEnB,MAAO,CAAE+B,IAAKpC,EAAImQ,MADa9P,EAAvB8P,MACiB4e,YADM1uB,EAAhB0uB,YAEjB,GAAE,GACD,CAAC7tB,IAEJ,OACEmN,EAACqgB,EAAK,CACJ9gB,QAASghB,EACTD,UAAWA,EACX9Y,SAAUgZ,EACV7nB,MAAOA,EACPN,MAAO,CAAE0lB,QAAS,GAAI4C,gBAAiB,UAG5C,EChBOC,GAAYC,EAAZD,QAERE,GAAeC,GAAK,SAAAjsB,GAA0D,IAAvDksB,EAAgBlsB,EAAhBksB,iBAAkBT,EAASzrB,EAATyrB,UAAWloB,EAAKvD,EAALuD,MAAOxF,EAAQiC,EAARjC,SACnD0R,EAAYkc,GAAQ,WACxB,IAAMnoB,EAASD,EAAQD,GAASC,GAAS,CAAE0lB,QAAS,GAAI4C,gBAAiB,SAIzE,OAHIK,IAAqBxrB,OAAO+qB,IAC9BxnB,OAAOC,OAAOV,EAAQ,CAAEqO,QAAW,SAE9BrO,CACT,GAAG,CAAC0oB,IAEJ,OACEhhB,EAAC4gB,GAAQ,CAAAvoB,MAAOkM,EACb1R,SAAAA,GAGP,ICjBAouB,GAAA,SAAensB,GAAA,IAAAosB,EAAApsB,EAAGqsB,OAAAA,OAAS,IAAHD,GAAQA,EAAAE,EAAAtsB,EAAEusB,YAAAA,OAAc,IAAHD,EAAG,SAAQA,EAAEvuB,EAAQiC,EAARjC,SAAQ,OAChEmN,EAACihB,GAAQE,OAAQA,EAAQE,YAAaA,EAAahpB,MAAO,CAAE1B,MAAO,UAAW2qB,WAAY,iBAAWzuB,GACtG,ECAK0uB,GAAO,CACX5a,QAAS,QAEL9B,GAAO,CACX8B,QAAS,SAGX6a,GAAeT,GAAK,SAAAjsB,GAAwE,IAAA2sB,EAAA3sB,EAArE4sB,gBAAAA,OAAkB,IAAHD,GAAOA,EAAEE,EAAE7sB,EAAF6sB,GAAIC,EAAG9sB,EAAH8sB,IAAKvpB,EAAKvD,EAALuD,MAAOwpB,EAAQ/sB,EAAR+sB,SAAUhvB,EAAQiC,EAARjC,SACvEwN,EAAiCC,EAASohB,GAAgBnhB,EAAAzH,EAAAuH,EAAA,GAAnDyhB,EAAUvhB,EAAA,GAAEwhB,EAAUxhB,EAAA,GACvBjI,EAASF,GAASC,GACxB,OAAIwpB,EAEAne,EACEC,EAAA,CAAA9Q,SAAA,CAAAmN,EAAA,MAAA,CAAK3H,MAAOC,EACVzF,SAAA6Q,EAACyT,EAAM,CACLniB,KAAK,OACLuoB,QAAS,WACPwE,GAAYD,EACb,EAAAjvB,SAAA,CACDivB,EAAaF,EAAMD,EAAiB3hB,EAAb8hB,EAAcE,GAAiBC,GAAJ,CAAA,GAAmB,SAEzEjiB,EAAA,MAAA,CAAK3H,MAAOypB,EAAajd,GAAO0c,GAAI1uB,SACjCA,OAKFmN,EAAA2D,EAAA,CAAA9Q,SAAGA,GACZ,s8BCpBA,IAAMqvB,GAAmCC,GACnCC,GAAmC,CAAEvD,IAAAA,GAAKC,IAAAA,GAAK0C,SAAAA,GAAUZ,QAAAA,GAASK,QAAAA,GAASZ,MAAAA,IAE5DF,cAgBnB,SAAAA,EAAYvhB,GAAuB,IAAAyjB,EAAAC,EAAAzjB,QAGI,OAHJrN,OAAA2uB,KACjCA,QAAMvhB,SAANuhB,GAAAthB,qEAAapN,EAAAoN,EAfP,QAAA,CACN0hB,UAAW,EACXrqB,UAAMuI,EACN3E,SAAS,EACTyoB,QAAS,KACV9wB,EAAAoN,EAAA,aAKoB,GA0DrBpN,EAAAoN,EAGiB,kBAAA,SAAC2jB,GAChB3jB,EAAKuK,SAAS,CACZqZ,OAAQD,OAIZ/wB,EAAAoN,EAKc,eAAA,SAAC0hB,GACb1hB,EAAKuK,SAAS,CACZmX,UAAAA,OAwCJ9uB,EAAAoN,EAKqB,sBAAA,SAAC7B,GACpB6B,EAAKuK,UAAS,SAACsZ,GAAS,MAAM,CAC5BH,QAAO,GAAA5f,OAAAgH,EAAO+Y,EAAUH,SAAO,CAAEvlB,IAClC,OAGHvL,EAAAoN,EAAA,kBAGiB,WACfA,EAAK+K,MAAM2Y,QAAQ7pB,SAAQ,SAACsE,GACtBA,GACFA,GAEJ,OA8EFvL,EAAAoN,EAMW,YAAA,SAAC2gB,GAAY,IAAAmD,EAAAC,EAChB3b,EAA4C0b,QAAnCA,EAAwB,QAAxBC,EAAG/jB,EAAKgkB,wBAAgB,IAAAD,OAAA,EAArBA,EAAwBpD,EAAI3rB,YAAI8uB,IAAAA,EAAAA,EAAIT,GAAW1C,EAAI3rB,KACrE,OAAIoT,EACKpI,EAAKikB,UAAUtD,EAAKvY,GAEXmb,GAAW5C,EAAI3rB,KAExBgL,EAAKkkB,UAAUvD,GAEjB3gB,EAAKmkB,OAAOxD,MA5NnB3gB,EAAKvG,OAAoB,QAAd+pB,EAAGzjB,EAAMvG,aAAK,IAAAgqB,EAAAA,EAAI,CAAE,EAC/BxjB,EAAKnH,KAAiB,QAAb4qB,EAAG1jB,EAAMlH,YAAI4qB,IAAAA,EAAAA,EAAIvjB,IAAWF,CACvC,CAAC,OAAAX,EAAAiiB,EApBuChiB,GAoBvC7M,EAAA6uB,EAAA,CAAA,CAAApsB,IAAA,oBAAA1B,MAED,WAAiB,IAEX6D,ErCnBkB+sB,EqCiBP9jB,EAAAzN,KACPyC,EAAazC,KAAKkN,MAAlBzK,SAQR+uB,GALEhtB,EADsB,iBAAb/B,EACFD,GAAYivB,QAAQhvB,GAEpBD,GAAYO,OAAON,IAGkDnC,WAA/DoxB,EAAUF,EAAjB7qB,MAAmB0L,EAAQmf,EAARnf,SAAUC,EAAUkf,EAAVlf,WAAY0L,EAASwT,EAATxT,UAAcsO,EAAKzgB,EAAA2lB,EAAA1lB,IAGpE,GAFA9L,KAAKge,YAAcA,EACnBhe,KAAKssB,MAAQA,EACa,iBAAfoF,EAAyB,CAClC,IAAMC,EAAsBD,aAAU,EAAVA,EAAYxvB,QAAQ,OAAQ,IAAI6E,MAAM,KAClE4qB,SAAAA,EAAW3qB,SAAQ,SAAAL,GACjB,GAAIA,EAAO,CACT,IAAAirB,EAAqBjrB,EAAMI,MAAM,KAAI8qB,EAAAzqB,EAAAwqB,EAAA,GAA9BvvB,EAAGwvB,EAAA,GAAElxB,EAAKkxB,EAAA,GACjBxqB,OAAOC,OAAOmG,EAAK7G,OAAM7G,EAAKwH,CAAAA,EAAAA,EAAUlF,GAAO1B,GACjD,CACF,GACF,CACI0R,GAAYC,IACdtS,KAAK8xB,QAAU,CACbzf,SAAU,CAAEI,KAAMJ,GAClBC,WAAY,CAAEG,KAAMH,KAGpB/L,GAAOH,aACTpG,KAAKmxB,iBAAmBY,GAAUxrB,GAAOH,YAAY,SAACgrB,GAAc,OAAK,SAAClkB,GAAU,OAAKoB,EAACyG,GAAYzO,GAAA,CAACiP,UAAW6b,GAAgBlkB,GAAS,MAE7IlN,KAAK0X,SAAS,CAAElT,KAAAA,EAAM4D,SAAS,IrC9CV,mBADCmpB,EqCkDZ,SAAAnpB,GACRqF,EAAKiK,SAAS,CAAEtP,QAAAA,GAClB,IrClDAX,GAAU7F,KAAK2vB,GqCoDf9nB,IACF,GAEA,CAAApH,IAAA,uBAAA1B,MAGA,WAAoB,IAAAqxB,EACDA,QAAjBA,EAAAhyB,KAAKgG,KAAK6H,eAAVmkB,IAAiBA,GAAjBA,EAAmBC,cACnBjyB,KAAK0X,SAAS,CAAElT,UAAMuI,EAAW3E,SAAS,GAC5C,GAAC,CAAA/F,IAAA,qBAAA1B,MA2BD,SAAmBL,GACjB,IAAAkN,EAAuCxN,KAAKkN,MAApC4E,EAAOtE,EAAPsE,QAASwD,EAAM9H,EAAN8H,OAAQuI,EAAQrQ,EAARqQ,SAKzB,GAHAvd,EAAWwR,QAAUA,SAAAA,EAGjBjR,GAAUyU,GACZhV,EAAWgV,OAASA,OACf,GAAIoB,GAAQpB,GACjBhV,EAAWgV,OAASA,EAAOiB,SAASjW,EAAWgR,WAC1C,GAAIzK,EAASyO,GAClBhV,EAAWgV,SAAWA,EAAOhV,EAAWgR,UACnC,CAAA,IAAA4gB,EACL5xB,EAAWgV,OAA0B4c,QAApBA,EAAG5xB,EAAWgV,cAAM4c,IAAAA,GAAAA,CACvC,CAEA,GAAIrxB,GAAUgd,GACZvd,EAAWud,SAAWA,OACjB,GAAInH,GAAQmH,GACjBvd,EAAWud,SAAWA,EAAStH,SAASjW,EAAWgR,WAC9C,GAAIzK,EAASgX,GAClBvd,EAAWud,WAAaA,EAASvd,EAAWgR,UACvC,CAAA,IAAA6gB,EACL7xB,EAAWud,SAA8BsU,QAAtBA,EAAG7xB,EAAWud,gBAAQsU,IAAAA,GAAAA,CAC3C,CAEIC,GAAY9xB,EAAW0d,aACzB1d,EAAW0d,UAAYhe,KAAKge,UAEhC,GAAC,CAAA3b,IAAA,YAAA1B,MA+BD,SAAUmtB,EAAUvY,GAClB,IAAQtV,EAA6B6tB,EAA7B7tB,GAAIK,EAAyBwtB,EAAzBxtB,WAAYa,EAAa2sB,EAAb3sB,SAExB,OADAnB,KAAKqyB,mBAAmB/xB,GACjBgO,EAACiH,EAASjP,GAAAA,MAAchG,GAAU,GAAA,CAAEgN,mBAAoBtN,KAAKsN,mBAAkBnM,SAAGA,aAAQ,EAARA,EAAUsS,IAAIzT,KAAKmB,YAArFlB,EACzB,GAEA,CAAAoC,IAAA,YAAA1B,MAMA,SAASyC,GAA6C,IAA1CnD,EAAEmD,EAAFnD,GAAIkC,EAAGiB,EAAHjB,IAAK7B,EAAU8C,EAAV9C,WAAYyB,EAAIqB,EAAJrB,KAAMZ,EAAQiC,EAARjC,SACrC,MAAY,QAARgB,EACKmM,EAAC6e,GAAG7mB,GAAAA,MAAchG,GAAU,GAAA,CAAAa,SAAGA,aAAQ,EAARA,EAAUsS,IAAIzT,KAAKmB,YAAxClB,GAEP,QAARkC,EACKmM,EAAC8e,GAAa,CAAA3a,KAAM3O,OAAOxD,EAAWmS,eAAQtR,aAAQ,EAARA,EAAUsS,IAAIzT,KAAKmB,WAAvDlB,GAEP,aAARkC,EACKmM,EAACwhB,GAAQxpB,GAAAA,GAAA,CAAU6pB,SAAUnwB,KAAKkN,MAAMijB,UAAc7vB,GAAU,GAAA,UAAGa,aAAQ,EAARA,EAAUsS,IAAIzT,KAAKmB,YAAvElB,GAEZ,YAARkC,EACKmM,EAAC4gB,GAAO5oB,GAAAA,GAAA,CAAUgpB,iBAAkBtvB,KAAKkY,MAAM2W,WAAevuB,GAAU,GAAA,UAAGa,aAAQ,EAARA,EAAUsS,IAAIzT,KAAKmB,YAAhFlB,GAEX,UAARkC,EACKmM,EAACqgB,GAAKroB,GAAAA,GAAA,CAAUuoB,UAAW7uB,KAAKkY,MAAM2W,UAAWC,aAAc9uB,KAAKsyB,aAAiBhyB,GAAU,GAAA,UAAGa,IAAtFlB,GAET,YAARkC,EACKmM,EAACihB,GAAOjpB,GAAAA,MAAchG,GAAU,GAAA,UAAGyB,IAArB9B,QADvB,CAGF,GAEA,CAAAoC,IAAA,SAAA1B,MAMA,SAAMuI,GAA0C,IAAAqL,EAAAvU,KAAvCmC,EAAG+G,EAAH/G,IAAK7B,EAAU4I,EAAV5I,WAAY0B,EAAKkH,EAALlH,MAAOb,EAAQ+H,EAAR/H,SAC/B,GAAY,YAARgB,EAAmB,CACrB,IAAMowB,EAAQpxB,aAAQ,EAARA,EAAUsS,KAAI,SAAAnK,GAA6B,IAA1BhJ,EAAUgJ,EAAVhJ,WAAYa,EAAQmI,EAARnI,SACzC,GAAIA,EAAU,CAAA,IAAAqxB,EACNrd,EAAa9B,EAAKlS,EAASsS,IAAIc,EAAKpT,UAAW,CAAEgB,IAAK,cAC5D,OAAAmE,GAAAA,GAAA,CAAA,EAAYhG,GAAU,CAAA,EAAA,CAAE6U,MAAsB,QAAjBqd,EAAErd,aAAK,EAALA,EAAOhU,gBAAQ,IAAAqxB,EAAAA,EAAI,IACpD,CACA,OAAOlyB,CACT,IACA,MAAO,CAAE6B,IAAAA,EAAKhB,SAAUoxB,EAC1B,CACA,MAAY,YAARpwB,EAEK,CAAEA,IAAAA,EAAKhB,SADAA,aAAAA,EAAAA,EAAUsS,KAAI,SAAA/J,GAA8B,MAAQ,CAAErH,IAAlBqH,EAAnBpJ,WAAcK,MAAmCiV,MAAtBlM,EAAJ3H,KAAuC,KAGnF,cAARI,EAEK,CAAEA,IAAAA,EAAKhB,SADAA,aAAAA,EAAAA,EAAUsS,KAAI,SAAA3J,GAAa,OAAAA,EAAVxJ,eAGrB,eAAR6B,EAGK,CAAEA,IAAAA,EAAKmB,KAFWhD,EAAjBgD,KAEYiQ,OAFKjT,EAAXiT,OAEcpS,SADdA,aAAAA,EAAAA,EAAUsS,KAAI,SAAAiH,GAAa,OAAAA,EAAVpa,eAGrB,eAAR6B,GAAgC,YAARA,EACnB,CAAEA,IAAAA,EAAKH,MAAAA,QADhB,CAGF,GAAC,CAAAK,IAAA,SAAA1B,MAoBD,WAAM,IAAA8xB,EACJjT,EAA2Bxf,KAAKkY,MAAxB1T,EAAIgb,EAAJhb,KAAO4D,EAAOoX,EAAPpX,QACP4kB,EAAkBhtB,KAAKkN,MAAvB8f,cACR,OAAOhb,eACHxN,GACA8J,EAACtK,GAAc0uB,SAAQ,CAAC/xB,MAAK2F,GAAAA,GAAAA,GAAO,CAAA,EAAAtG,KAAKssB,OAAUtsB,KAAKkN,OAAK,CAAA,EAAA,CAAElH,KAAMhG,KAAKgG,gBACvEsI,EAACoH,GAAIpP,GAAAA,GAAA,CACHN,KAAMhG,KAAKgG,KACXW,MAAOyB,EAAO9B,GAAAA,GAAA,CAAA,EAAQtG,KAAK4G,QAAM,GAAA,CAAEqO,QAAS,SAAUjV,KAAK4G,OAC3DomB,cAAeA,EACf2F,eAAgB3yB,KAAK2yB,eACrBC,eAAgB5yB,KAAK4yB,gBACjB5yB,KAAK8xB,SAAO,GAAA,CAAA3wB,SAEO,QAFPsxB,EAEdjuB,EAAarD,gBAAQ,IAAAsxB,OAAA,EAArBA,EAAuBhf,IAAIzT,KAAKmB,eAIvCiH,GAAWkG,EAACukB,EAAS,CAAAC,QAAS,MAEpC,IAAC,IAMGpd,GAAO,SAAHiF,GAA2G,IAArG3U,EAAI2U,EAAJ3U,KAAMW,EAAKgU,EAALhU,MAAO0L,EAAQsI,EAARtI,SAAUC,EAAUqI,EAAVrI,WAAY0a,EAAarS,EAAbqS,cAAe7rB,EAAQwZ,EAARxZ,SAAUwxB,EAAchY,EAAdgY,eAAgBC,EAAcjY,EAAdiY,eAW1F,OATA1jB,EAAoBlJ,GAAM,WACxB,OAAAM,GAAAA,GACKN,CAAAA,EAAAA,EAAK6H,SAAO,GAAA,CACfklB,YAAW,WACTH,GACF,GAEJ,IAGEtkB,EAAC0kB,EAAQ,CACPxkB,IAAKxI,EACLW,MAAOA,EACP0L,SAAUA,EACVC,WAAYA,EACZ0a,cAAeA,EACfN,SAAU,SAACqE,GACT1lB,QAAQmjB,IAAI,WAAYuC,EACzB,EACD9D,aAAa,MACb0F,eAAgB,SAAA7B,GACd6B,EAAe7B,EAChB,EAEA3vB,SAAAA,GAGP","x_google_ignoreList":[25]}