@whitesev/domutils 1.1.5 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +155 -115
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +155 -115
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +155 -115
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +155 -115
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +155 -115
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +155 -115
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/DOMUtils.d.ts +3 -3
- package/dist/types/src/DOMUtilsCommonUtils.d.ts +2 -0
- package/dist/types/src/DOMUtilsEvent.d.ts +4 -2
- package/dist/types/src/WindowApi.d.ts +22 -0
- package/package.json +5 -3
- package/src/DOMUtils.ts +1791 -0
- package/src/DOMUtilsCommonUtils.ts +111 -0
- package/src/DOMUtilsData.ts +9 -0
- package/src/DOMUtilsEvent.ts +1259 -0
- package/src/DOMUtilsOriginPrototype.ts +7 -0
- package/src/WindowApi.ts +44 -0
- package/src/types/global.d.ts +5 -0
- package/src/types/gm.d.ts +2 -0
- package/dist/types/src/DOMUtilsCore.d.ts +0 -15
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/DOMUtilsCore.ts","../../src/DOMUtilsCommonUtils.ts","../../src/DOMUtilsData.ts","../../src/DOMUtilsOriginPrototype.ts","../../src/DOMUtilsEvent.ts","../../src/DOMUtils.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/DOMUtilsCommonUtils.ts","../src/DOMUtilsData.ts","../src/DOMUtilsOriginPrototype.ts","../src/WindowApi.ts","../src/DOMUtilsEvent.ts","../src/DOMUtils.ts"],"sourcesContent":["/** 通用工具类 */\nconst DOMUtilsCommonUtils = {\n windowApi: {\n window: window,\n document: document,\n },\n /**\n * 判断元素是否已显示或已连接\n * @param element\n */\n isShow(element) {\n return Boolean(element.getClientRects().length);\n },\n /**\n * 用于显示元素并获取它的高度宽度等其它属性\n * @param element\n */\n showElement(element) {\n let dupNode = element.cloneNode(true);\n dupNode.setAttribute(\"style\", \"visibility: hidden !important;display:block !important;\");\n this.windowApi.document.documentElement.appendChild(dupNode);\n return {\n /**\n * 恢复修改的style\n */\n recovery() {\n dupNode.remove();\n },\n };\n },\n /**\n * 获取元素上的Float格式的属性px\n * @param element\n * @param styleName style名\n */\n getStyleValue(element, styleName) {\n let view = null;\n let styles = null;\n if (element instanceof CSSStyleDeclaration) {\n /* 直接就获取了style属性 */\n styles = element;\n }\n else {\n view = element.ownerDocument.defaultView;\n if (!view || !view.opener) {\n view = window;\n }\n styles = view.getComputedStyle(element);\n }\n let value = parseFloat(styles[styleName]);\n if (isNaN(value)) {\n return 0;\n }\n else {\n return value;\n }\n },\n /**\n * 判断是否是window,例如window、self、globalThis\n * @param target\n */\n isWin(target) {\n if (typeof target !== \"object\") {\n return false;\n }\n if (target instanceof Node) {\n return false;\n }\n if (target === globalThis) {\n return true;\n }\n if (target === window) {\n return true;\n }\n if (target === self) {\n return true;\n }\n if (target === globalThis) {\n return true;\n }\n if (target === window) {\n return true;\n }\n if (target === self) {\n return true;\n }\n if (typeof unsafeWindow !== \"undefined\" && target === unsafeWindow) {\n return true;\n }\n if (target?.Math?.toString() !== \"[object Math]\") {\n return false;\n }\n return true;\n },\n /**\n * 删除对象上的属性\n * @param target\n * @param propName\n */\n delete(target, propName) {\n if (typeof Reflect === \"object\" && Reflect.deleteProperty) {\n Reflect.deleteProperty(target, propName);\n }\n else {\n delete target[propName];\n }\n },\n};\nexport { DOMUtilsCommonUtils };\n","/* 数据 */\nconst DOMUtilsData = {\n /** .on绑定的事件 */\n SymbolEvents: Symbol(\"events_\" + (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1)),\n};\nexport { DOMUtilsData };\n","const OriginPrototype = {\n Object: {\n defineProperty: Object.defineProperty,\n },\n};\nexport { OriginPrototype };\n","export class WindowApi {\n /** 默认的配置 */\n defaultApi = {\n document: document,\n window: window,\n globalThis: globalThis,\n self: self,\n top: top,\n };\n /** 使用的配置 */\n api;\n constructor(option) {\n if (!option) {\n option = Object.assign({}, this.defaultApi);\n }\n this.api = Object.assign({}, option);\n }\n get document() {\n return this.api.document;\n }\n get window() {\n return this.api.window;\n }\n get globalThis() {\n return this.api.globalThis;\n }\n get self() {\n return this.api.self;\n }\n get top() {\n return this.api.top;\n }\n}\n","import { DOMUtilsCommonUtils } from \"./DOMUtilsCommonUtils\";\nimport { DOMUtilsData } from \"./DOMUtilsData\";\nimport { OriginPrototype } from \"./DOMUtilsOriginPrototype\";\nimport { WindowApi } from \"./WindowApi\";\nexport class DOMUtilsEvent {\n windowApi;\n constructor(windowApiOption) {\n this.windowApi = new WindowApi(windowApiOption);\n }\n on(element, eventType, selector, callback, option) {\n /**\n * 获取option配置\n * @param args\n * @param startIndex\n * @param option\n */\n function getOption(args, startIndex, option) {\n if (typeof args[startIndex] === \"boolean\") {\n option.capture = args[startIndex];\n if (typeof args[startIndex + 1] === \"boolean\") {\n option.once = args[startIndex + 1];\n }\n if (typeof args[startIndex + 2] === \"boolean\") {\n option.passive = args[startIndex + 2];\n }\n }\n else if (typeof args[startIndex] === \"object\" &&\n (\"capture\" in args[startIndex] ||\n \"once\" in args[startIndex] ||\n \"passive\" in args[startIndex])) {\n option.capture = args[startIndex].capture;\n option.once = args[startIndex].once;\n option.passive = args[startIndex].passive;\n }\n return option;\n }\n let DOMUtilsContext = this;\n let args = arguments;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n let _selector_ = selector;\n let _callback_ = callback;\n let _option_ = {\n capture: false,\n once: false,\n passive: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n /* 这是存在selector的情况 */\n _option_ = getOption(args, 4, _option_);\n }\n /**\n * 如果是once,那么删除该监听和元素上的事件和监听\n */\n function checkOptionOnceToRemoveEventListener() {\n if (_option_.once) {\n DOMUtilsContext.off(element, eventType, selector, callback, option);\n }\n }\n elementList.forEach((elementItem) => {\n function ownCallBack(event) {\n let target = event.target;\n if (_selector_) {\n /* 存在自定义子元素选择器 */\n let totalParent = DOMUtilsCommonUtils.isWin(elementItem)\n ? DOMUtilsContext.windowApi.document.documentElement\n : elementItem;\n if (target.matches(_selector_)) {\n /* 当前目标可以被selector所匹配到 */\n _callback_.call(target, event);\n checkOptionOnceToRemoveEventListener();\n }\n else if (target.closest(_selector_) &&\n totalParent.contains(target.closest(_selector_))) {\n /* 在上层与主元素之间寻找可以被selector所匹配到的 */\n let closestElement = target.closest(_selector_);\n /* event的target值不能直接修改 */\n OriginPrototype.Object.defineProperty(event, \"target\", {\n get() {\n return closestElement;\n },\n });\n _callback_.call(closestElement, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n else {\n _callback_.call(elementItem, event);\n checkOptionOnceToRemoveEventListener();\n }\n }\n /* 遍历事件名设置元素事件 */\n eventTypeList.forEach((eventName) => {\n elementItem.addEventListener(eventName, ownCallBack, _option_);\n if (_callback_ && _callback_.delegate) {\n elementItem.setAttribute(\"data-delegate\", _selector_);\n }\n /* 获取对象上的事件 */\n let elementEvents = elementItem[DOMUtilsData.SymbolEvents] || {};\n /* 初始化对象上的xx事件 */\n elementEvents[eventName] = elementEvents[eventName] || [];\n elementEvents[eventName].push({\n selector: _selector_,\n option: _option_,\n callback: ownCallBack,\n originCallBack: _callback_,\n });\n /* 覆盖事件 */\n elementItem[DOMUtilsData.SymbolEvents] = elementEvents;\n });\n });\n }\n off(element, eventType, selector, callback, option, filter) {\n /**\n * 获取option配置\n * @param args1\n * @param startIndex\n * @param option\n */\n function getOption(args1, startIndex, option) {\n if (typeof args1[startIndex] === \"boolean\") {\n option.capture = args1[startIndex];\n }\n else if (typeof args1[startIndex] === \"object\" &&\n \"capture\" in args1[startIndex]) {\n option.capture = args1[startIndex].capture;\n }\n return option;\n }\n let DOMUtilsContext = this;\n let args = arguments;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n /**\n * 子元素选择器\n */\n let _selector_ = selector;\n /**\n * 事件的回调函数\n */\n let _callback_ = callback;\n /**\n * 事件的配置\n */\n let _option_ = {\n capture: false,\n };\n if (typeof selector === \"function\") {\n /* 这是为没有selector的情况 */\n _selector_ = void 0;\n _callback_ = selector;\n _option_ = getOption(args, 3, _option_);\n }\n else {\n _option_ = getOption(args, 4, _option_);\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let elementEvents = elementItem[DOMUtilsData.SymbolEvents] || {};\n eventTypeList.forEach((eventName) => {\n let handlers = elementEvents[eventName] || [];\n if (typeof filter === \"function\") {\n handlers = handlers.filter(filter);\n }\n for (let index = 0; index < handlers.length; index++) {\n let handler = handlers[index];\n let flag = false;\n if (!_selector_ || handler.selector === _selector_) {\n /* selector不为空,进行selector判断 */\n flag = true;\n }\n if (!_callback_ ||\n handler.callback === _callback_ ||\n handler.originCallBack === _callback_) {\n /* callback不为空,进行callback判断 */\n flag = true;\n }\n if (flag) {\n elementItem.removeEventListener(eventName, handler.callback, _option_);\n handlers.splice(index--, 1);\n }\n }\n if (handlers.length === 0) {\n /* 如果没有任意的handler,那么删除该属性 */\n DOMUtilsCommonUtils.delete(elementEvents, eventType);\n }\n });\n elementItem[DOMUtilsData.SymbolEvents] = elementEvents;\n });\n }\n /**\n * 取消绑定所有的事件\n * @param element 需要取消绑定的元素|元素数组\n * @param eventType (可选)需要取消监听的事件\n */\n offAll(element, eventType) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelectorAll(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n elementList = [...element];\n }\n else {\n elementList.push(element);\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventTypeList.concat(eventType);\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventTypeList.concat(eventType.split(\" \"));\n }\n elementList.forEach((elementItem) => {\n Object.getOwnPropertySymbols(elementItem).forEach((symbolEvents) => {\n if (!symbolEvents.toString().startsWith(\"Symbol(events_\")) {\n return;\n }\n let elementEvents = elementItem[symbolEvents] || {};\n let iterEventNameList = eventTypeList.length\n ? eventTypeList\n : Object.keys(elementEvents);\n iterEventNameList.forEach((eventName) => {\n let handlers = elementEvents[eventName];\n if (!handlers) {\n return;\n }\n for (const handler of handlers) {\n elementItem.removeEventListener(eventName, handler.callback, {\n capture: handler[\"option\"][\"capture\"],\n });\n }\n DOMUtilsCommonUtils.delete(elementItem[symbolEvents], eventName);\n });\n });\n });\n }\n /**\n * 等待文档加载完成后执行指定的函数\n * @param callback 需要执行的函数\n * @example\n * DOMUtils.ready(function(){\n * console.log(\"文档加载完毕\")\n * })\n */\n ready(callback) {\n if (typeof callback !== \"function\") {\n return;\n }\n let DOMUtilsContext = this;\n /**\n * 检测文档是否加载完毕\n */\n function checkDOMReadyState() {\n try {\n if (DOMUtilsContext.windowApi.document.readyState === \"complete\" ||\n (DOMUtilsContext.windowApi.document.readyState !== \"loading\" &&\n !DOMUtilsContext.windowApi.document.documentElement\n .doScroll)) {\n return true;\n }\n else {\n return false;\n }\n }\n catch (error) {\n return false;\n }\n }\n /**\n * 成功加载完毕后触发的回调函数\n */\n function completed() {\n removeDomReadyListener();\n callback();\n }\n let targetList = [\n {\n target: DOMUtilsContext.windowApi.document,\n eventType: \"DOMContentLoaded\",\n callback: completed,\n },\n {\n target: DOMUtilsContext.windowApi.window,\n eventType: \"load\",\n callback: completed,\n },\n ];\n /**\n * 添加监听\n */\n function addDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.addEventListener(item.eventType, item.callback);\n }\n }\n /**\n * 移除监听\n */\n function removeDomReadyListener() {\n for (let index = 0; index < targetList.length; index++) {\n let item = targetList[index];\n item.target.removeEventListener(item.eventType, item.callback);\n }\n }\n if (checkDOMReadyState()) {\n /* 检查document状态 */\n setTimeout(callback);\n }\n else {\n /* 添加监听 */\n addDomReadyListener();\n }\n }\n /**\n * 主动触发事件\n * @param element 需要触发的元素|元素数组|window\n * @param eventType 需要触发的事件\n * @param details 赋予触发的Event的额外属性,如果是Event类型,那么将自动代替默认new的Event对象\n * @param useDispatchToTriggerEvent 是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click\")\n * DOMUtils.trigger(\"a.xx\",\"click\")\n * // 触发元素a.xx的click、tap、hover事件\n * DOMUtils.trigger(document.querySelector(\"a.xx\"),\"click tap hover\")\n * DOMUtils.trigger(\"a.xx\",[\"click\",\"tap\",\"hover\"])\n */\n trigger(element, eventType, details, useDispatchToTriggerEvent = true) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n let elementList = [];\n if (element instanceof NodeList || Array.isArray(element)) {\n element = element;\n elementList = [...element];\n }\n else {\n elementList = [element];\n }\n let eventTypeList = [];\n if (Array.isArray(eventType)) {\n eventTypeList = eventType;\n }\n else if (typeof eventType === \"string\") {\n eventTypeList = eventType.split(\" \");\n }\n elementList.forEach((elementItem) => {\n /* 获取对象上的事件 */\n let events = elementItem[DOMUtilsData.SymbolEvents] || {};\n eventTypeList.forEach((_eventType_) => {\n let event = null;\n if (details && details instanceof Event) {\n event = details;\n }\n else {\n event = new Event(_eventType_);\n if (details) {\n Object.keys(details).forEach((keyName) => {\n event[keyName] = details[keyName];\n });\n }\n }\n if (useDispatchToTriggerEvent == false && _eventType_ in events) {\n events[_eventType_].forEach((eventsItem) => {\n eventsItem.callback(event);\n });\n }\n else {\n elementItem.dispatchEvent(event);\n }\n });\n });\n }\n /**\n * 绑定或触发元素的click事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的click事件\n * DOMUtils.click(document.querySelector(\"a.xx\"))\n * DOMUtils.click(\"a.xx\")\n * DOMUtils.click(\"a.xx\",function(){\n * console.log(\"触发click事件成功\")\n * })\n * */\n click(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"click\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"click\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的blur事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的blur事件\n * DOMUtils.blur(document.querySelector(\"a.xx\"))\n * DOMUtils.blur(\"a.xx\")\n * DOMUtils.blur(\"a.xx\",function(){\n * console.log(\"触发blur事件成功\")\n * })\n * */\n blur(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler === null) {\n DOMUtilsContext.trigger(element, \"blur\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"blur\", null, handler);\n }\n }\n /**\n * 绑定或触发元素的focus事件\n * @param element 目标元素\n * @param handler (可选)事件处理函数\n * @param details (可选)赋予触发的Event的额外属性\n * @param useDispatchToTriggerEvent (可选)是否使用dispatchEvent来触发事件,默认true\n * @example\n * // 触发元素a.xx的focus事件\n * DOMUtils.focus(document.querySelector(\"a.xx\"))\n * DOMUtils.focus(\"a.xx\")\n * DOMUtils.focus(\"a.xx\",function(){\n * console.log(\"触发focus事件成功\")\n * })\n * */\n focus(element, handler, details, useDispatchToTriggerEvent) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (handler == null) {\n DOMUtilsContext.trigger(element, \"focus\", details, useDispatchToTriggerEvent);\n }\n else {\n DOMUtilsContext.on(element, \"focus\", null, handler);\n }\n }\n /**\n * 当鼠标移入或移出元素时触发事件\n * @param element 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的移入或移出\n * DOMUtils.hover(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"移入/移除\");\n * })\n * DOMUtils.hover(\"a.xx\",()=>{\n * console.log(\"移入/移除\");\n * })\n */\n hover(element, handler, option) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n DOMUtilsContext.on(element, \"mouseenter\", null, handler, option);\n DOMUtilsContext.on(element, \"mouseleave\", null, handler, option);\n }\n /**\n * 当按键松开时触发事件\n * keydown - > keypress - > keyup\n * @param target 当前元素\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键松开\n * DOMUtils.keyup(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键松开\");\n * })\n * DOMUtils.keyup(\"a.xx\",()=>{\n * console.log(\"按键松开\");\n * })\n */\n keyup(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keyup\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keydown(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keydown(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keydown(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keydown\", null, handler, option);\n }\n /**\n * 当按键按下时触发事件\n * keydown - > keypress - > keyup\n * @param target 目标\n * @param handler 事件处理函数\n * @param option 配置\n * @example\n * // 监听a.xx元素的按键按下\n * DOMUtils.keypress(document.querySelector(\"a.xx\"),()=>{\n * console.log(\"按键按下\");\n * })\n * DOMUtils.keypress(\"a.xx\",()=>{\n * console.log(\"按键按下\");\n * })\n */\n keypress(target, handler, option) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelector(target);\n }\n DOMUtilsContext.on(target, \"keypress\", null, handler, option);\n }\n}\n","import { DOMUtilsCommonUtils } from \"./DOMUtilsCommonUtils\";\nimport { DOMUtilsEvent, } from \"./DOMUtilsEvent\";\nclass DOMUtils extends DOMUtilsEvent {\n constructor(option) {\n super(option);\n }\n /** 版本号 */\n version = \"2024.7.24\";\n attr(element, attrName, attrValue) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (attrValue == null) {\n return element.getAttribute(attrName);\n }\n else {\n element.setAttribute(attrName, attrValue);\n }\n }\n /**\n * 创建元素\n * @param tagName 标签名\n * @param property 属性\n * @param attributes 元素上的自定义属性\n * @example\n * // 创建一个DIV元素,且属性class为xxx\n * DOMUtils.createElement(\"div\",undefined,{ class:\"xxx\" });\n * > <div class=\"xxx\"></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\");\n * > <div></div>\n * @example\n * // 创建一个DIV元素\n * DOMUtils.createElement(\"div\",\"测试\");\n * > <div>测试</div>\n */\n createElement(\n /** 元素名 */\n tagName, \n /** 属性 */\n property, \n /** 自定义属性 */\n attributes) {\n let DOMUtilsContext = this;\n let tempElement = DOMUtilsContext.windowApi.document.createElement(tagName);\n if (typeof property === \"string\") {\n tempElement.innerHTML = property;\n return tempElement;\n }\n if (property == null) {\n property = {};\n }\n if (attributes == null) {\n attributes = {};\n }\n Object.keys(property).forEach((key) => {\n let value = property[key];\n tempElement[key] = value;\n });\n Object.keys(attributes).forEach((key) => {\n let value = attributes[key];\n if (typeof value === \"object\") {\n /* object转字符串 */\n value = JSON.stringify(value);\n }\n else if (typeof value === \"function\") {\n /* function转字符串 */\n value = value.toString();\n }\n tempElement.setAttribute(key, value);\n });\n return tempElement;\n }\n css(element, property, value) {\n let DOMUtilsContext = this;\n /**\n * 把纯数字没有px的加上\n */\n function handlePixe(propertyName, propertyValue) {\n let allowAddPixe = [\n \"width\",\n \"height\",\n \"top\",\n \"left\",\n \"right\",\n \"bottom\",\n \"font-size\",\n ];\n if (typeof propertyValue === \"number\") {\n propertyValue = propertyValue.toString();\n }\n if (typeof propertyValue === \"string\" &&\n allowAddPixe.includes(propertyName) &&\n propertyValue.match(/[0-9]$/gi)) {\n propertyValue = propertyValue + \"px\";\n }\n return propertyValue;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof property === \"string\") {\n if (value == null) {\n return getComputedStyle(element).getPropertyValue(property);\n }\n else {\n if (value === \"string\" && value.includes(\"!important\")) {\n element.style.setProperty(property, value, \"important\");\n }\n else {\n value = handlePixe(property, value);\n element.style.setProperty(property, value);\n }\n }\n }\n else if (typeof property === \"object\") {\n for (let prop in property) {\n if (typeof property[prop] === \"string\" &&\n property[prop].includes(\"!important\")) {\n element.style.setProperty(prop, property[prop], \"important\");\n }\n else {\n property[prop] = handlePixe(prop, property[prop]);\n element.style.setProperty(prop, property[prop]);\n }\n }\n }\n }\n text(element, text) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (text == null) {\n return element.textContent || element.innerText;\n }\n else {\n if (text instanceof Node) {\n text = text.textContent || text.innerText;\n }\n if (\"textContent\" in element) {\n element.textContent = text;\n }\n else if (\"innerText\" in element) {\n element.innerText = text;\n }\n }\n }\n html(element, html) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (html == null) {\n return element.innerHTML;\n }\n else {\n if (html instanceof Node) {\n html = html.innerHTML;\n }\n if (\"innerHTML\" in element) {\n element.innerHTML = html;\n }\n }\n }\n /**\n * 获取移动元素的transform偏移\n */\n getTransform(element, isShow = false) {\n let DOMUtilsContext = this;\n let transform_left = 0;\n let transform_top = 0;\n if (!(isShow || (!isShow && DOMUtilsCommonUtils.isShow(element)))) {\n /* 未显示 */\n let { recovery } = DOMUtilsCommonUtils.showElement(element);\n let transformInfo = DOMUtilsContext.getTransform(element, true);\n recovery();\n return transformInfo;\n }\n let elementTransform = getComputedStyle(element).transform;\n if (elementTransform != null &&\n elementTransform !== \"none\" &&\n elementTransform !== \"\") {\n let elementTransformSplit = elementTransform\n .match(/\\((.+)\\)/)?.[1]\n .split(\",\");\n if (elementTransformSplit) {\n transform_left = Math.abs(parseInt(elementTransformSplit[4]));\n transform_top = Math.abs(parseInt(elementTransformSplit[5]));\n }\n else {\n transform_left = 0;\n transform_top = 0;\n }\n }\n return {\n transformLeft: transform_left,\n transformTop: transform_top,\n };\n }\n val(element, value) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (value == null) {\n if (element.localName === \"input\" &&\n (element.type === \"checkbox\" || element.type === \"radio\")) {\n return element.checked;\n }\n else {\n return element.value;\n }\n }\n else {\n if (element.localName === \"input\" &&\n (element.type === \"checkbox\" || element.type === \"radio\")) {\n element.checked = !!value;\n }\n else {\n element.value = value;\n }\n }\n }\n prop(element, propName, propValue) {\n let DOMUtilsContext = this;\n if (element == null) {\n return;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (propValue == null) {\n return element[propName];\n }\n else {\n element[propName] = propValue;\n }\n }\n /**\n * 移除元素的属性\n * @param element 目标元素\n * @param attrName 属性名\n * @example\n * // 移除元素a.xx的属性data-value\n * DOMUtils.removeAttr(document.querySelector(\"a.xx\"),\"data-value\")\n * DOMUtils.removeAttr(\"a.xx\",\"data-value\")\n * */\n removeAttr(element, attrName) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element.removeAttribute(attrName);\n }\n /**\n * 移除元素class名\n * @param element 目标元素\n * @param className 类名\n * @example\n * // 移除元素a.xx的className为xx\n * DOMUtils.removeClass(document.querySelector(\"a.xx\"),\"xx\")\n * DOMUtils.removeClass(\"a.xx\",\"xx\")\n */\n removeClass(element, className) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (className == null) {\n return;\n }\n element.classList.remove(className);\n }\n /**\n * 移除元素的属性\n * @param element 目标元素\n * @param propName 属性名\n * @example\n * // 移除元素a.xx的href属性\n * DOMUtils.removeProp(document.querySelector(\"a.xx\"),\"href\")\n * DOMUtils.removeProp(\"a.xx\",\"href\")\n * */\n removeProp(element, propName) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n DOMUtilsCommonUtils.delete(element, propName);\n }\n /**\n * 将一个元素替换为另一个元素\n * @param element 目标元素\n * @param newElement 新元素\n * @example\n * // 替换元素a.xx为b.xx\n * DOMUtils.replaceWith(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.replaceWith(\"a.xx\",'<b class=\"xx\"></b>')\n */\n replaceWith(element, newElement) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof newElement === \"string\") {\n newElement = DOMUtilsContext.parseHTML(newElement, false, false);\n }\n if (element instanceof NodeList || element instanceof Array) {\n element.forEach((item) => {\n DOMUtilsContext.replaceWith(item, newElement);\n });\n }\n else {\n element.parentElement.replaceChild(newElement, element);\n }\n }\n /**\n * 给元素添加class\n * @param element 目标元素\n * @param className class名\n * @example\n * // 元素a.xx的className添加_vue_\n * DOMUtils.addClass(document.querySelector(\"a.xx\"),\"_vue_\")\n * DOMUtils.addClass(\"a.xx\",\"_vue_\")\n * */\n addClass(element, className) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element.classList.add(className);\n }\n /**\n * 函数在元素内部末尾添加子元素或HTML字符串\n * @param element 目标元素\n * @param content 子元素或HTML字符串\n * @example\n * // 元素a.xx的内部末尾添加一个元素\n * DOMUtils.append(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.append(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n append(element, content) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n function elementAppendChild(ele, text) {\n if (typeof content === \"string\") {\n ele.insertAdjacentHTML(\"beforeend\", text);\n }\n else {\n ele.appendChild(text);\n }\n }\n if (Array.isArray(content) || content instanceof NodeList) {\n /* 数组 */\n let fragment = DOMUtilsContext.windowApi.document.createDocumentFragment();\n content.forEach((ele) => {\n if (typeof ele === \"string\") {\n ele = this.parseHTML(ele, true, false);\n }\n fragment.appendChild(ele);\n });\n element.appendChild(fragment);\n }\n else {\n elementAppendChild(element, content);\n }\n }\n /**\n * 函数 在元素内部开头添加子元素或HTML字符串\n * @param element 目标元素\n * @param content 子元素或HTML字符串\n * @example\n * // 元素a.xx内部开头添加一个元素\n * DOMUtils.prepend(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.prepend(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n prepend(element, content) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"afterbegin\", content);\n }\n else {\n element.insertBefore(content, element.firstChild);\n }\n }\n /**\n * 在元素后面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx后面添加一个元素\n * DOMUtils.after(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.after(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n after(element, content) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"afterend\", content);\n }\n else {\n element.parentElement.insertBefore(content, element.nextSibling);\n }\n }\n /**\n * 在元素前面添加兄弟元素或HTML字符串\n * @param element 目标元素\n * @param content 兄弟元素或HTML字符串\n * @example\n * // 元素a.xx前面添加一个元素\n * DOMUtils.before(document.querySelector(\"a.xx\"),document.querySelector(\"b.xx\"))\n * DOMUtils.before(\"a.xx\",\"'<b class=\"xx\"></b>\")\n * */\n before(element, content) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof content === \"string\") {\n element.insertAdjacentHTML(\"beforebegin\", content);\n }\n else {\n element.parentElement.insertBefore(content, element);\n }\n }\n /**\n * 移除元素\n * @param target 目标元素\n * @example\n * // 元素a.xx前面添加一个元素\n * DOMUtils.remove(document.querySelector(\"a.xx\"))\n * DOMUtils.remove(document.querySelectorAll(\"a.xx\"))\n * DOMUtils.remove(\"a.xx\")\n * */\n remove(target) {\n let DOMUtilsContext = this;\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelectorAll(target);\n }\n if (target == null) {\n return;\n }\n if (target instanceof NodeList || target instanceof Array) {\n target = target;\n for (const element of target) {\n DOMUtilsContext.remove(element);\n }\n }\n else {\n target.remove();\n }\n }\n /**\n * 移除元素的所有子元素\n * @param element 目标元素\n * @example\n * // 移除元素a.xx元素的所有子元素\n * DOMUtils.empty(document.querySelector(\"a.xx\"))\n * DOMUtils.empty(\"a.xx\")\n * */\n empty(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element.innerHTML = \"\";\n }\n /**\n * 获取元素相对于文档的偏移坐标(加上文档的滚动条)\n * @param element 目标元素\n * @example\n * // 获取元素a.xx的对于文档的偏移坐标\n * DOMUtils.offset(document.querySelector(\"a.xx\"))\n * DOMUtils.offset(\"a.xx\")\n * > 0\n */\n offset(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n let rect = element.getBoundingClientRect();\n return {\n /** y轴偏移 */\n top: rect.top + DOMUtilsContext.windowApi.globalThis.scrollY,\n /** x轴偏移 */\n left: rect.left + DOMUtilsContext.windowApi.globalThis.scrollX,\n };\n }\n width(element, isShow = false) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (DOMUtilsCommonUtils.isWin(element)) {\n return DOMUtilsContext.windowApi.window.document.documentElement\n .clientWidth;\n }\n if (element.nodeType === 9) {\n /* Document文档节点 */\n element = element;\n return Math.max(element.body.scrollWidth, element.documentElement.scrollWidth, element.body.offsetWidth, element.documentElement.offsetWidth, element.documentElement.clientWidth);\n }\n if (isShow ||\n (!isShow && DOMUtilsCommonUtils.isShow(element))) {\n /* 已显示 */\n /* 不从style中获取对应的宽度,因为可能使用了class定义了width !important */\n element = element;\n /* 如果element.style.width为空 则从css里面获取是否定义了width信息如果定义了 则读取css里面定义的宽度width */\n if (parseFloat(DOMUtilsCommonUtils.getStyleValue(element, \"width\").toString()) > 0) {\n return parseFloat(DOMUtilsCommonUtils.getStyleValue(element, \"width\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetWidth来进行计算 */\n if (element.offsetWidth > 0) {\n let borderLeftWidth = DOMUtilsCommonUtils.getStyleValue(element, \"borderLeftWidth\");\n let borderRightWidth = DOMUtilsCommonUtils.getStyleValue(element, \"borderRightWidth\");\n let paddingLeft = DOMUtilsCommonUtils.getStyleValue(element, \"paddingLeft\");\n let paddingRight = DOMUtilsCommonUtils.getStyleValue(element, \"paddingRight\");\n let backHeight = parseFloat(element.offsetWidth.toString()) -\n parseFloat(borderLeftWidth.toString()) -\n parseFloat(borderRightWidth.toString()) -\n parseFloat(paddingLeft.toString()) -\n parseFloat(paddingRight.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { recovery } = DOMUtilsCommonUtils.showElement(element);\n let width = DOMUtilsContext.width(element, true);\n recovery();\n return width;\n }\n }\n height(element, isShow = false) {\n let DOMUtilsContext = this;\n if (DOMUtilsCommonUtils.isWin(element)) {\n return DOMUtilsContext.windowApi.window.document.documentElement\n .clientHeight;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n // @ts-ignore\n return;\n }\n if (element.nodeType === 9) {\n element = element;\n /* Document文档节点 */\n return Math.max(element.body.scrollHeight, element.documentElement.scrollHeight, element.body.offsetHeight, element.documentElement.offsetHeight, element.documentElement.clientHeight);\n }\n if (isShow ||\n (!isShow && DOMUtilsCommonUtils.isShow(element))) {\n element = element;\n /* 已显示 */\n /* 从style中获取对应的高度,因为可能使用了class定义了width !important */\n /* 如果element.style.height为空 则从css里面获取是否定义了height信息如果定义了 则读取css里面定义的高度height */\n if (parseFloat(DOMUtilsCommonUtils.getStyleValue(element, \"height\").toString()) > 0) {\n return parseFloat(DOMUtilsCommonUtils.getStyleValue(element, \"height\").toString());\n }\n /* 如果从css里获取到的值不是大于0 可能是auto 则通过offsetHeight来进行计算 */\n if (element.offsetHeight > 0) {\n let borderTopWidth = DOMUtilsCommonUtils.getStyleValue(element, \"borderTopWidth\");\n let borderBottomWidth = DOMUtilsCommonUtils.getStyleValue(element, \"borderBottomWidth\");\n let paddingTop = DOMUtilsCommonUtils.getStyleValue(element, \"paddingTop\");\n let paddingBottom = DOMUtilsCommonUtils.getStyleValue(element, \"paddingBottom\");\n let backHeight = parseFloat(element.offsetHeight.toString()) -\n parseFloat(borderTopWidth.toString()) -\n parseFloat(borderBottomWidth.toString()) -\n parseFloat(paddingTop.toString()) -\n parseFloat(paddingBottom.toString());\n return parseFloat(backHeight.toString());\n }\n return 0;\n }\n else {\n /* 未显示 */\n element = element;\n let { recovery } = DOMUtilsCommonUtils.showElement(element);\n let height = DOMUtilsContext.height(element, true);\n recovery();\n return height;\n }\n }\n outerWidth(element, isShow = false) {\n let DOMUtilsContext = this;\n if (DOMUtilsCommonUtils.isWin(element)) {\n return DOMUtilsContext.windowApi.window.innerWidth;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n // @ts-ignore\n return;\n }\n element = element;\n if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginLeft = DOMUtilsCommonUtils.getStyleValue(style, \"marginLeft\");\n let marginRight = DOMUtilsCommonUtils.getStyleValue(style, \"marginRight\");\n return element.offsetWidth + marginLeft + marginRight;\n }\n else {\n let { recovery } = DOMUtilsCommonUtils.showElement(element);\n let outerWidth = DOMUtilsContext.outerWidth(element, true);\n recovery();\n return outerWidth;\n }\n }\n outerHeight(element, isShow = false) {\n let DOMUtilsContext = this;\n if (DOMUtilsCommonUtils.isWin(element)) {\n return DOMUtilsContext.windowApi.window.innerHeight;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n // @ts-ignore\n return;\n }\n element = element;\n if (isShow || (!isShow && DOMUtilsCommonUtils.isShow(element))) {\n let style = getComputedStyle(element, null);\n let marginTop = DOMUtilsCommonUtils.getStyleValue(style, \"marginTop\");\n let marginBottom = DOMUtilsCommonUtils.getStyleValue(style, \"marginBottom\");\n return element.offsetHeight + marginTop + marginBottom;\n }\n else {\n let { recovery } = DOMUtilsCommonUtils.showElement(element);\n let outerHeight = DOMUtilsContext.outerHeight(element, true);\n recovery();\n return outerHeight;\n }\n }\n /**\n * 在一定时间内改变元素的样式属性,实现动画效果\n * @param element 需要进行动画的元素\n * @param styles 动画结束时元素的样式属性\n * @param duration 动画持续时间,单位为毫秒\n * @param callback 动画结束后执行的函数\n * @example\n * // 监听元素a.xx的从显示变为隐藏\n * DOMUtils.animate(document.querySelector(\"a.xx\"),{ top:100},1000,function(){\n * console.log(\"已往上位移100px\")\n * })\n */\n animate(element, styles, duration = 1000, callback = null) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (typeof duration !== \"number\" || duration <= 0) {\n throw new TypeError(\"duration must be a positive number\");\n }\n if (typeof callback !== \"function\" && callback !== void 0) {\n throw new TypeError(\"callback must be a function or null\");\n }\n if (typeof styles !== \"object\" || styles === void 0) {\n throw new TypeError(\"styles must be an object\");\n }\n if (Object.keys(styles).length === 0) {\n throw new Error(\"styles must contain at least one property\");\n }\n let start = performance.now();\n let from = {};\n let to = {};\n for (let prop in styles) {\n from[prop] = element.style[prop] || getComputedStyle(element)[prop];\n to[prop] = styles[prop];\n }\n let timer = setInterval(function () {\n let timePassed = performance.now() - start;\n let progress = timePassed / duration;\n if (progress > 1) {\n progress = 1;\n }\n for (let prop in styles) {\n element.style[prop] =\n from[prop] + (to[prop] - from[prop]) * progress + \"px\";\n }\n if (progress === 1) {\n clearInterval(timer);\n if (callback) {\n callback();\n }\n }\n }, 10);\n }\n /**\n * 将一个元素包裹在指定的HTML元素中\n * @param element 要包裹的元素\n * @param wrapperHTML 要包裹的HTML元素的字符串表示形式\n * @example\n * // 将a.xx元素外面包裹一层div\n * DOMUtils.wrap(document.querySelector(\"a.xx\"),\"<div></div>\")\n */\n wrap(element, wrapperHTML) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n element = element;\n // 创建一个新的div元素,并将wrapperHTML作为其innerHTML\n let wrapper = DOMUtilsContext.windowApi.document.createElement(\"div\");\n wrapper.innerHTML = wrapperHTML;\n let wrapperFirstChild = wrapper.firstChild;\n // 将要包裹的元素插入目标元素前面\n element.parentElement.insertBefore(wrapperFirstChild, element);\n // 将要包裹的元素移动到wrapper中\n wrapperFirstChild.appendChild(element);\n }\n prev(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n return element.previousElementSibling;\n }\n next(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n return element.nextElementSibling;\n }\n /**\n * 取消挂载在window下的DOMUtils并返回DOMUtils\n * @example\n * let DOMUtils = window.DOMUtils.noConflict()\n */\n noConflict() {\n let DOMUtilsContext = this;\n if (DOMUtilsContext.windowApi.window.DOMUtils) {\n DOMUtilsCommonUtils.delete(window, \"DOMUtils\");\n }\n DOMUtilsContext.windowApi.window.DOMUtils = this;\n return this;\n }\n siblings(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n return Array.from(element.parentElement\n .children).filter((child) => child !== element);\n }\n /**\n * 获取当前元素的父元素\n * @param element 当前元素\n * @returns 父元素\n * @example\n * // 获取a.xx元素的父元素\n * DOMUtils.parent(document.querySelector(\"a.xx\"))\n * DOMUtils.parent(\"a.xx\")\n * > <div ...>....</div>\n */\n parent(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (element instanceof NodeList || element instanceof Array) {\n element = element;\n let resultArray = [];\n element.forEach((eleItem) => {\n resultArray.push(DOMUtilsContext.parent(eleItem));\n });\n return resultArray;\n }\n else {\n return element.parentElement;\n }\n }\n parseHTML(html, useParser = false, isComplete = false) {\n let DOMUtilsContext = this;\n function parseHTMLByDOMParser() {\n let parser = new DOMParser();\n if (isComplete) {\n return parser.parseFromString(html, \"text/html\");\n }\n else {\n return parser.parseFromString(html, \"text/html\").body.firstChild;\n }\n }\n function parseHTMLByCreateDom() {\n let tempDIV = DOMUtilsContext.windowApi.document.createElement(\"div\");\n tempDIV.innerHTML = html;\n if (isComplete) {\n return tempDIV;\n }\n else {\n return tempDIV.firstChild;\n }\n }\n if (useParser) {\n return parseHTMLByDOMParser();\n }\n else {\n return parseHTMLByCreateDom();\n }\n }\n /**\n * 显示元素\n * @param target 当前元素\n * @example\n * // 显示a.xx元素\n * DOMUtils.show(document.querySelector(\"a.xx\"))\n * DOMUtils.show(document.querySelectorAll(\"a.xx\"))\n * DOMUtils.show(\"a.xx\")\n */\n show(target) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelectorAll(target);\n }\n if (target instanceof NodeList || target instanceof Array) {\n target = target;\n for (const element of target) {\n DOMUtilsContext.show(element);\n }\n }\n else {\n target = target;\n target.style.display = \"\";\n if (!DOMUtilsCommonUtils.isShow(target)) {\n /* 仍然是不显示,尝试使用强覆盖 */\n target.style.setProperty(\"display\", \"unset\", \"important\");\n }\n }\n }\n /**\n * 隐藏元素\n * @param target 当前元素\n * @example\n * // 隐藏a.xx元素\n * DOMUtils.hide(document.querySelector(\"a.xx\"))\n * DOMUtils.hide(document.querySelectorAll(\"a.xx\"))\n * DOMUtils.hide(\"a.xx\")\n */\n hide(target) {\n let DOMUtilsContext = this;\n if (target == null) {\n return;\n }\n if (typeof target === \"string\") {\n target = DOMUtilsContext.windowApi.document.querySelectorAll(target);\n }\n if (target instanceof NodeList || target instanceof Array) {\n target = target;\n for (const element of target) {\n DOMUtilsContext.hide(element);\n }\n }\n else {\n target = target;\n target.style.display = \"none\";\n if (DOMUtilsCommonUtils.isShow(target)) {\n /* 仍然是显示,尝试使用强覆盖 */\n target.style.setProperty(\"display\", \"none\", \"important\");\n }\n }\n }\n /**\n * 淡入元素\n * @param element 当前元素\n * @param duration 动画持续时间(毫秒),默认400毫秒\n * @param callback 动画结束的回调\n * @example\n * // 元素a.xx淡入\n * DOMUtils.fadeIn(document.querySelector(\"a.xx\"),2500,()=>{\n * console.log(\"淡入完毕\");\n * })\n * DOMUtils.fadeIn(\"a.xx\",undefined,()=>{\n * console.log(\"淡入完毕\");\n * })\n */\n fadeIn(element, duration = 400, callback) {\n if (element == null) {\n return;\n }\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n element = element;\n element.style.opacity = \"0\";\n element.style.display = \"\";\n let start = null;\n let timer = null;\n function step(timestamp) {\n if (!start)\n start = timestamp;\n let progress = timestamp - start;\n element = element;\n element.style.opacity = Math.min(progress / duration, 1).toString();\n if (progress < duration) {\n DOMUtilsContext.windowApi.window.requestAnimationFrame(step);\n }\n else {\n if (callback && typeof callback === \"function\") {\n callback();\n }\n DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);\n }\n }\n timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);\n }\n /**\n * 淡出元素\n * @param element 当前元素\n * @param duration 动画持续时间(毫秒),默认400毫秒\n * @param callback 动画结束的回调\n * @example\n * // 元素a.xx淡出\n * DOMUtils.fadeOut(document.querySelector(\"a.xx\"),2500,()=>{\n * console.log(\"淡出完毕\");\n * })\n * DOMUtils.fadeOut(\"a.xx\",undefined,()=>{\n * console.log(\"淡出完毕\");\n * })\n */\n fadeOut(element, duration = 400, callback) {\n let DOMUtilsContext = this;\n if (element == null) {\n return;\n }\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n element = element;\n element.style.opacity = \"1\";\n let start = null;\n let timer = null;\n function step(timestamp) {\n if (!start)\n start = timestamp;\n let progress = timestamp - start;\n element = element;\n element.style.opacity = Math.max(1 - progress / duration, 0).toString();\n if (progress < duration) {\n DOMUtilsContext.windowApi.window.requestAnimationFrame(step);\n }\n else {\n element.style.display = \"none\";\n if (typeof callback === \"function\") {\n callback();\n }\n DOMUtilsContext.windowApi.window.cancelAnimationFrame(timer);\n }\n }\n timer = DOMUtilsContext.windowApi.window.requestAnimationFrame(step);\n }\n /**\n * 切换元素的显示和隐藏状态\n * @param element 当前元素\n * @example\n * // 如果元素a.xx当前是隐藏,则显示,如果是显示,则隐藏\n * DOMUtils.toggle(document.querySelector(\"a.xx\"))\n * DOMUtils.toggle(\"a.xx\")\n */\n toggle(element) {\n let DOMUtilsContext = this;\n if (typeof element === \"string\") {\n element = DOMUtilsContext.windowApi.document.querySelector(element);\n }\n if (element == null) {\n return;\n }\n if (getComputedStyle(element).getPropertyValue(\"display\") === \"none\") {\n DOMUtilsContext.show(element);\n }\n else {\n DOMUtilsContext.hide(element);\n }\n }\n /**\n * 创建一个新的DOMUtils实例\n * @param option\n * @returns\n */\n createDOMUtils(option) {\n return new DOMUtils(option);\n }\n /**\n * 获取文字的位置信息\n * @param $input 输入框\n * @param selectionStart 起始位置\n * @param selectionEnd 结束位置\n * @example\n * DOMUtils.getTextBoundingRect(document.querySelector(\"input\"));\n */\n getTextBoundingRect($input, selectionStart, selectionEnd) {\n let DOMUtilsContext = this;\n // Basic parameter validation\n if (!$input || !(\"value\" in $input))\n return $input;\n if (selectionStart == null) {\n selectionStart = $input.selectionStart || 0;\n }\n if (selectionEnd == null) {\n selectionEnd = $input.selectionEnd || 0;\n }\n if (typeof selectionStart == \"string\")\n selectionStart = parseFloat(selectionStart);\n if (typeof selectionStart != \"number\" || isNaN(selectionStart)) {\n selectionStart = 0;\n }\n if (selectionStart < 0)\n selectionStart = 0;\n else\n selectionStart = Math.min($input.value.length, selectionStart);\n if (typeof selectionEnd == \"string\")\n selectionEnd = parseFloat(selectionEnd);\n if (typeof selectionEnd != \"number\" ||\n isNaN(selectionEnd) ||\n selectionEnd < selectionStart) {\n selectionEnd = selectionStart;\n }\n if (selectionEnd < 0)\n selectionEnd = 0;\n else\n selectionEnd = Math.min($input.value.length, selectionEnd);\n // If available (thus IE), use the createTextRange method\n // @ts-ignore\n if (typeof $input.createTextRange == \"function\") {\n let range = $input.createTextRange();\n range.collapse(true);\n range.moveStart(\"character\", selectionStart);\n range.moveEnd(\"character\", selectionEnd - selectionStart);\n return range.getBoundingClientRect();\n }\n // createTextRange is not supported, create a fake text range\n let offset = getInputOffset(), topPos = offset.top, leftPos = offset.left, width = getInputCSS(\"width\", true), height = getInputCSS(\"height\", true);\n // Styles to simulate a node in an input field\n let cssDefaultStyles = \"white-space:pre;padding:0;margin:0;\", listOfModifiers = [\n \"direction\",\n \"font-family\",\n \"font-size\",\n \"font-size-adjust\",\n \"font-variant\",\n \"font-weight\",\n \"font-style\",\n \"letter-spacing\",\n \"line-height\",\n \"text-align\",\n \"text-indent\",\n \"text-transform\",\n \"word-wrap\",\n \"word-spacing\",\n ];\n topPos += getInputCSS(\"padding-top\", true);\n topPos += getInputCSS(\"border-top-width\", true);\n leftPos += getInputCSS(\"padding-left\", true);\n leftPos += getInputCSS(\"border-left-width\", true);\n leftPos += 1; //Seems to be necessary\n for (let index = 0; index < listOfModifiers.length; index++) {\n let property = listOfModifiers[index];\n // @ts-ignore\n cssDefaultStyles += property + \":\" + getInputCSS(property) + \";\";\n }\n // End of CSS variable checks\n // 不能为空,不然获取不到高度\n let text = $input.value || \"G\", textLen = text.length, fakeClone = DOMUtilsContext.windowApi.document.createElement(\"div\");\n if (selectionStart > 0)\n appendPart(0, selectionStart);\n var fakeRange = appendPart(selectionStart, selectionEnd);\n if (textLen > selectionEnd)\n appendPart(selectionEnd, textLen);\n // Styles to inherit the font styles of the element\n fakeClone.style.cssText = cssDefaultStyles;\n // Styles to position the text node at the desired position\n fakeClone.style.position = \"absolute\";\n fakeClone.style.top = topPos + \"px\";\n fakeClone.style.left = leftPos + \"px\";\n fakeClone.style.width = width + \"px\";\n fakeClone.style.height = height + \"px\";\n DOMUtilsContext.windowApi.document.body.appendChild(fakeClone);\n var returnValue = fakeRange.getBoundingClientRect(); //Get rect\n fakeClone?.parentNode?.removeChild(fakeClone); //Remove temp\n return returnValue;\n // Local functions for readability of the previous code\n /**\n *\n * @param start\n * @param end\n * @returns\n */\n function appendPart(start, end) {\n var span = DOMUtilsContext.windowApi.document.createElement(\"span\");\n span.style.cssText = cssDefaultStyles; //Force styles to prevent unexpected results\n span.textContent = text.substring(start, end);\n fakeClone.appendChild(span);\n return span;\n }\n // Computing offset position\n function getInputOffset() {\n let body = DOMUtilsContext.windowApi.document.body, win = DOMUtilsContext.windowApi.document.defaultView, docElem = DOMUtilsContext.windowApi.document.documentElement, $box = DOMUtilsContext.windowApi.document.createElement(\"div\");\n $box.style.paddingLeft = $box.style.width = \"1px\";\n body.appendChild($box);\n var isBoxModel = $box.offsetWidth == 2;\n body.removeChild($box);\n let $boxRect = $input.getBoundingClientRect();\n var clientTop = docElem.clientTop || body.clientTop || 0, clientLeft = docElem.clientLeft || body.clientLeft || 0, scrollTop = win.pageYOffset ||\n (isBoxModel && docElem.scrollTop) ||\n body.scrollTop, scrollLeft = win.pageXOffset ||\n (isBoxModel && docElem.scrollLeft) ||\n body.scrollLeft;\n return {\n top: $boxRect.top + scrollTop - clientTop,\n left: $boxRect.left + scrollLeft - clientLeft,\n };\n }\n /**\n *\n * @param prop\n * @param isNumber\n * @returns\n */\n function getInputCSS(prop, isNumber) {\n var val = DOMUtilsContext.windowApi.document\n .defaultView.getComputedStyle($input, null)\n .getPropertyValue(prop);\n return isNumber ? parseFloat(val) : val;\n }\n }\n}\nlet domUtils = new DOMUtils();\nexport { domUtils as DOMUtils };\n"],"names":[],"mappings":";;AAAA;AACA,MAAM,mBAAmB,GAAG;AAC5B,IAAI,SAAS,EAAE;AACf,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC;AACxD,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC9C,QAAQ,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,yDAAyD,CAAC,CAAC;AACjG,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACrE,QAAQ,OAAO;AACf;AACA;AACA;AACA,YAAY,QAAQ,GAAG;AACvB,gBAAgB,OAAO,CAAC,MAAM,EAAE,CAAC;AACjC,aAAa;AACb,SAAS,CAAC;AACV,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE;AACtC,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC;AACxB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;AAC1B,QAAQ,IAAI,OAAO,YAAY,mBAAmB,EAAE;AACpD;AACA,YAAY,MAAM,GAAG,OAAO,CAAC;AAC7B,SAAS;AACT,aAAa;AACb,YAAY,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC;AACrD,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACvC,gBAAgB,IAAI,GAAG,MAAM,CAAC;AAC9B,aAAa;AACb,YAAY,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;AAClD,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AAC1B,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,aAAa;AACb,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,MAAM,YAAY,IAAI,EAAE;AACpC,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,UAAU,EAAE;AACnC,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE;AAC/B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,UAAU,EAAE;AACnC,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE;AAC/B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,MAAM,KAAK,YAAY,EAAE;AAC5E,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,IAAI,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE;AAC1D,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC7B,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE;AACnE,YAAY,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,SAAS;AACT,aAAa;AACb,YAAY,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;AACpC,SAAS;AACT,KAAK;AACL,CAAC;;AC3GD;AACA,MAAM,YAAY,GAAG;AACrB;AACA,IAAI,YAAY,EAAE,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,OAAO,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACrG,CAAC;;ACJD,MAAM,eAAe,GAAG;AACxB,IAAI,MAAM,EAAE;AACZ,QAAQ,cAAc,EAAE,MAAM,CAAC,cAAc;AAC7C,KAAK;AACL,CAAC;;ACJM,MAAM,SAAS,CAAC;AACvB;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,QAAQ,EAAE,QAAQ;AAC1B,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,UAAU,EAAE,UAAU;AAC9B,QAAQ,IAAI,EAAE,IAAI;AAClB,QAAQ,GAAG,EAAE,GAAG;AAChB,KAAK,CAAC;AACN;AACA,IAAI,GAAG,CAAC;AACR,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB,QAAQ,IAAI,CAAC,MAAM,EAAE;AACrB,YAAY,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACxD,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;AAC7C,KAAK;AACL,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AACjC,KAAK;AACL,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AAC/B,KAAK;AACL,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;AACnC,KAAK;AACL,IAAI,IAAI,IAAI,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAC7B,KAAK;AACL,IAAI,IAAI,GAAG,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC5B,KAAK;AACL;;AC5BO,MAAM,aAAa,CAAC;AAC3B,IAAI,SAAS,CAAC;AACd,IAAI,WAAW,CAAC,eAAe,EAAE;AACjC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;AACxD,KAAK;AACL,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE;AACrD,YAAY,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;AACvD,gBAAgB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AAClD,gBAAgB,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;AAC/D,oBAAoB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AACvD,iBAAiB;AACjB,gBAAgB,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;AAC/D,oBAAoB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;AAC1D,iBAAiB;AACjB,aAAa;AACb,iBAAiB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ;AACzD,iBAAiB,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;AAC9C,oBAAoB,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE;AACpD,gBAAgB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;AAC1D,gBAAgB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;AACpD,gBAAgB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;AAC1D,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,IAAI,GAAG,SAAS,CAAC;AAC7B,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACnE,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;AACvC,SAAS;AACT,aAAa;AACb,YAAY,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,SAAS;AACT,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,SAAS;AACT,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC;AAClC,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC;AAClC,QAAQ,IAAI,QAAQ,GAAG;AACvB,YAAY,OAAO,EAAE,KAAK;AAC1B,YAAY,IAAI,EAAE,KAAK;AACvB,YAAY,OAAO,EAAE,KAAK;AAC1B,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C;AACA,YAAY,UAAU,GAAG,KAAK,CAAC,CAAC;AAChC,YAAY,UAAU,GAAG,QAAQ,CAAC;AAClC,YAAY,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,SAAS;AACT,aAAa;AACb;AACA,YAAY,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,SAAS;AACT;AACA;AACA;AACA,QAAQ,SAAS,oCAAoC,GAAG;AACxD,YAAY,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC/B,gBAAgB,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpF,aAAa;AACb,SAAS;AACT,QAAQ,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC7C,YAAY,SAAS,WAAW,CAAC,KAAK,EAAE;AACxC,gBAAgB,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;AAC1C,gBAAgB,IAAI,UAAU,EAAE;AAChC;AACA,oBAAoB,IAAI,WAAW,GAAG,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC;AAC5E,0BAA0B,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe;AAC5E,0BAA0B,WAAW,CAAC;AACtC,oBAAoB,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACpD;AACA,wBAAwB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACvD,wBAAwB,oCAAoC,EAAE,CAAC;AAC/D,qBAAqB;AACrB,yBAAyB,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AACvD,wBAAwB,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;AAC1E;AACA,wBAAwB,IAAI,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACxE;AACA,wBAAwB,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;AAC/E,4BAA4B,GAAG,GAAG;AAClC,gCAAgC,OAAO,cAAc,CAAC;AACtD,6BAA6B;AAC7B,yBAAyB,CAAC,CAAC;AAC3B,wBAAwB,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC/D,wBAAwB,oCAAoC,EAAE,CAAC;AAC/D,qBAAqB;AACrB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACxD,oBAAoB,oCAAoC,EAAE,CAAC;AAC3D,iBAAiB;AACjB,aAAa;AACb;AACA,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK;AACjD,gBAAgB,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC/E,gBAAgB,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE;AACvD,oBAAoB,WAAW,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAC1E,iBAAiB;AACjB;AACA,gBAAgB,IAAI,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACjF;AACA,gBAAgB,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC1E,gBAAgB,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;AAC9C,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,MAAM,EAAE,QAAQ;AACpC,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,cAAc,EAAE,UAAU;AAC9C,iBAAiB,CAAC,CAAC;AACnB;AACA,gBAAgB,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;AACvE,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE;AACtD,YAAY,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,SAAS,EAAE;AACxD,gBAAgB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;AACnD,aAAa;AACb,iBAAiB,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,QAAQ;AAC1D,gBAAgB,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE;AAChD,gBAAgB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;AAC3D,aAAa;AACb,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,IAAI,GAAG,SAAS,CAAC;AAC7B,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACnE,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;AACvC,SAAS;AACT,aAAa;AACb,YAAY,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,SAAS;AACT,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,SAAS;AACT;AACA;AACA;AACA,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC;AAClC;AACA;AACA;AACA,QAAQ,IAAI,UAAU,GAAG,QAAQ,CAAC;AAClC;AACA;AACA;AACA,QAAQ,IAAI,QAAQ,GAAG;AACvB,YAAY,OAAO,EAAE,KAAK;AAC1B,SAAS,CAAC;AACV,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C;AACA,YAAY,UAAU,GAAG,KAAK,CAAC,CAAC;AAChC,YAAY,UAAU,GAAG,QAAQ,CAAC;AAClC,YAAY,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,SAAS;AACT,aAAa;AACb,YAAY,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC7C;AACA,YAAY,IAAI,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC7E,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK;AACjD,gBAAgB,IAAI,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC9D,gBAAgB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;AAClD,oBAAoB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACvD,iBAAiB;AACjB,gBAAgB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACtE,oBAAoB,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,oBAAoB,IAAI,IAAI,GAAG,KAAK,CAAC;AACrC,oBAAoB,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE;AACxE;AACA,wBAAwB,IAAI,GAAG,IAAI,CAAC;AACpC,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,UAAU;AACnC,wBAAwB,OAAO,CAAC,QAAQ,KAAK,UAAU;AACvD,wBAAwB,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE;AAC/D;AACA,wBAAwB,IAAI,GAAG,IAAI,CAAC;AACpC,qBAAqB;AACrB,oBAAoB,IAAI,IAAI,EAAE;AAC9B,wBAAwB,WAAW,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC/F,wBAAwB,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACpD,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C;AACA,oBAAoB,mBAAmB,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACzE,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;AACnE,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE;AAC/B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACnE,YAAY,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;AACvC,SAAS;AACT,aAAa;AACb,YAAY,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACtC,SAAS;AACT,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5D,SAAS;AACT,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,YAAY,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACvE,SAAS;AACT,QAAQ,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC7C,YAAY,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK;AAChF,gBAAgB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE;AAC3E,oBAAoB,OAAO;AAC3B,iBAAiB;AACjB,gBAAgB,IAAI,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACpE,gBAAgB,IAAI,iBAAiB,GAAG,aAAa,CAAC,MAAM;AAC5D,sBAAsB,aAAa;AACnC,sBAAsB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjD,gBAAgB,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK;AACzD,oBAAoB,IAAI,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAC5D,oBAAoB,IAAI,CAAC,QAAQ,EAAE;AACnC,wBAAwB,OAAO;AAC/B,qBAAqB;AACrB,oBAAoB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AACpD,wBAAwB,WAAW,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;AACrF,4BAA4B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;AACjE,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB;AACrB,oBAAoB,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AACrF,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,QAAQ,EAAE;AACpB,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC5C,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC;AACA;AACA;AACA,QAAQ,SAAS,kBAAkB,GAAG;AACtC,YAAY,IAAI;AAChB,gBAAgB,IAAI,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,KAAK,UAAU;AAChF,qBAAqB,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,KAAK,SAAS;AAChF,wBAAwB,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe;AAC3E,6BAA6B,QAAQ,CAAC,EAAE;AACxC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,OAAO,KAAK,CAAC;AACjC,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,QAAQ,SAAS,SAAS,GAAG;AAC7B,YAAY,sBAAsB,EAAE,CAAC;AACrC,YAAY,QAAQ,EAAE,CAAC;AACvB,SAAS;AACT,QAAQ,IAAI,UAAU,GAAG;AACzB,YAAY;AACZ,gBAAgB,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,QAAQ;AAC1D,gBAAgB,SAAS,EAAE,kBAAkB;AAC7C,gBAAgB,QAAQ,EAAE,SAAS;AACnC,aAAa;AACb,YAAY;AACZ,gBAAgB,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM;AACxD,gBAAgB,SAAS,EAAE,MAAM;AACjC,gBAAgB,QAAQ,EAAE,SAAS;AACnC,aAAa;AACb,SAAS,CAAC;AACV;AACA;AACA;AACA,QAAQ,SAAS,mBAAmB,GAAG;AACvC,YAAY,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACpE,gBAAgB,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7C,gBAAgB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5E,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA,QAAQ,SAAS,sBAAsB,GAAG;AAC1C,YAAY,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACpE,gBAAgB,IAAI,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAC7C,gBAAgB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/E,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,kBAAkB,EAAE,EAAE;AAClC;AACA,YAAY,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjC,SAAS;AACT,aAAa;AACb;AACA,YAAY,mBAAmB,EAAE,CAAC;AAClC,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,yBAAyB,GAAG,IAAI,EAAE;AAC3E,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACnE,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,WAAW,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;AACvC,SAAS;AACT,aAAa;AACb,YAAY,WAAW,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,SAAS;AACT,QAAQ,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/B,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;AACtC,YAAY,aAAa,GAAG,SAAS,CAAC;AACtC,SAAS;AACT,aAAa,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAChD,YAAY,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACjD,SAAS;AACT,QAAQ,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AAC7C;AACA,YAAY,IAAI,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACtE,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK;AACnD,gBAAgB,IAAI,KAAK,GAAG,IAAI,CAAC;AACjC,gBAAgB,IAAI,OAAO,IAAI,OAAO,YAAY,KAAK,EAAE;AACzD,oBAAoB,KAAK,GAAG,OAAO,CAAC;AACpC,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;AACnD,oBAAoB,IAAI,OAAO,EAAE;AACjC,wBAAwB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAClE,4BAA4B,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAC9D,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,IAAI,yBAAyB,IAAI,KAAK,IAAI,WAAW,IAAI,MAAM,EAAE;AACjF,oBAAoB,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK;AAChE,wBAAwB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrD,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;AAChE,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChE,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;AAC/D,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AAC9B,YAAY,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACzF,SAAS;AACT,aAAa;AACb,YAAY,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC/D,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE;AAChE,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC;AAC1F,SAAS;AACT,aAAa;AACb,YAAY,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAChE,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE;AACpC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzE,QAAQ,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACzE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;AACnC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9E,SAAS;AACT,QAAQ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACnE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;AACrC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9E,SAAS;AACT,QAAQ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACrE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;AACtC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9E,SAAS;AACT,QAAQ,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACtE,KAAK;AACL;;ACpmBA,MAAM,QAAQ,SAAS,aAAa,CAAC;AACrC,IAAI,WAAW,CAAC,MAAM,EAAE;AACxB,QAAQ,KAAK,CAAC,MAAM,CAAC,CAAC;AACtB,KAAK;AACL;AACA,IAAI,OAAO,GAAG,WAAW,CAAC;AAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;AACvC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,SAAS,IAAI,IAAI,EAAE;AAC/B,YAAY,OAAO,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAClD,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AACtD,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,aAAa;AACjB;AACA,IAAI,OAAO;AACX;AACA,IAAI,QAAQ;AACZ;AACA,IAAI,UAAU,EAAE;AAChB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACpF,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC1C,YAAY,WAAW,CAAC,SAAS,GAAG,QAAQ,CAAC;AAC7C,YAAY,OAAO,WAAW,CAAC;AAC/B,SAAS;AACT,QAAQ,IAAI,QAAQ,IAAI,IAAI,EAAE;AAC9B,YAAY,QAAQ,GAAG,EAAE,CAAC;AAC1B,SAAS;AACT,QAAQ,IAAI,UAAU,IAAI,IAAI,EAAE;AAChC,YAAY,UAAU,GAAG,EAAE,CAAC;AAC5B,SAAS;AACT,QAAQ,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AAC/C,YAAY,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;AACtC,YAAY,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACjD,YAAY,IAAI,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACxC,YAAY,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3C;AACA,gBAAgB,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9C,aAAa;AACb,iBAAiB,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AAClD;AACA,gBAAgB,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AACzC,aAAa;AACb,YAAY,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjD,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK;AACL,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AAClC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC;AACA;AACA;AACA,QAAQ,SAAS,UAAU,CAAC,YAAY,EAAE,aAAa,EAAE;AACzD,YAAY,IAAI,YAAY,GAAG;AAC/B,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,gBAAgB,KAAK;AACrB,gBAAgB,MAAM;AACtB,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,gBAAgB,WAAW;AAC3B,aAAa,CAAC;AACd,YAAY,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACnD,gBAAgB,aAAa,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;AACzD,aAAa;AACb,YAAY,IAAI,OAAO,aAAa,KAAK,QAAQ;AACjD,gBAAgB,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;AACnD,gBAAgB,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;AACjD,gBAAgB,aAAa,GAAG,aAAa,GAAG,IAAI,CAAC;AACrD,aAAa;AACb,YAAY,OAAO,aAAa,CAAC;AACjC,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC1C,YAAY,IAAI,KAAK,IAAI,IAAI,EAAE;AAC/B,gBAAgB,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC5E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AACxE,oBAAoB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAC5E,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACxD,oBAAoB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC/D,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,aAAa,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;AAC/C,YAAY,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;AACvC,gBAAgB,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ;AACtD,oBAAoB,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC3D,oBAAoB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;AACjF,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,oBAAoB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACpE,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AACxB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE;AAC1B,YAAY,OAAO,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;AAC5D,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,YAAY,IAAI,EAAE;AACtC,gBAAgB,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;AAC1D,aAAa;AACb,YAAY,IAAI,aAAa,IAAI,OAAO,EAAE;AAC1C,gBAAgB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;AAC3C,aAAa;AACb,iBAAiB,IAAI,WAAW,IAAI,OAAO,EAAE;AAC7C,gBAAgB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzC,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;AACxB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE;AAC1B,YAAY,OAAO,OAAO,CAAC,SAAS,CAAC;AACrC,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,YAAY,IAAI,EAAE;AACtC,gBAAgB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;AACtC,aAAa;AACb,YAAY,IAAI,WAAW,IAAI,OAAO,EAAE;AACxC,gBAAgB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzC,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;AAC1C,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,cAAc,GAAG,CAAC,CAAC;AAC/B,QAAQ,IAAI,aAAa,GAAG,CAAC,CAAC;AAC9B,QAAQ,IAAI,EAAE,MAAM,KAAK,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AAC3E;AACA,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC5E,YAAY,QAAQ,EAAE,CAAC;AACvB,YAAY,OAAO,aAAa,CAAC;AACjC,SAAS;AACT,QAAQ,IAAI,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;AACnE,QAAQ,IAAI,gBAAgB,IAAI,IAAI;AACpC,YAAY,gBAAgB,KAAK,MAAM;AACvC,YAAY,gBAAgB,KAAK,EAAE,EAAE;AACrC,YAAY,IAAI,qBAAqB,GAAG,gBAAgB;AACxD,iBAAiB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACvC,iBAAiB,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5B,YAAY,IAAI,qBAAqB,EAAE;AACvC,gBAAgB,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,gBAAgB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,cAAc,GAAG,CAAC,CAAC;AACnC,gBAAgB,aAAa,GAAG,CAAC,CAAC;AAClC,aAAa;AACb,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,aAAa,EAAE,cAAc;AACzC,YAAY,YAAY,EAAE,aAAa;AACvC,SAAS,CAAC;AACV,KAAK;AACL,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE;AACxB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,KAAK,IAAI,IAAI,EAAE;AAC3B,YAAY,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;AAC7C,iBAAiB,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC3E,gBAAgB,OAAO,OAAO,CAAC,OAAO,CAAC;AACvC,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,OAAO,CAAC,KAAK,CAAC;AACrC,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO;AAC7C,iBAAiB,OAAO,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;AAC3E,gBAAgB,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;AAC1C,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AACtC,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE;AACvC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,SAAS,IAAI,IAAI,EAAE;AAC/B,YAAY,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrC,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;AAC1C,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;AAClC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC1C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE;AACpC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,SAAS,IAAI,IAAI,EAAE;AAC/B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC5C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE;AAClC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtD,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE;AACrC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;AAC5C,YAAY,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC7E,SAAS;AACT,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,OAAO,YAAY,KAAK,EAAE;AACrE,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACtC,gBAAgB,eAAe,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAC9D,aAAa,CAAC,CAAC;AACf,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACpE,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE;AACjC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACzC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAC7B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,SAAS,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE;AAC/C,YAAY,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC7C,gBAAgB,GAAG,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAC1D,aAAa;AACb,iBAAiB;AACjB,gBAAgB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,YAAY,QAAQ,EAAE;AACnE;AACA,YAAY,IAAI,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;AACvF,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACrC,gBAAgB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC7C,oBAAoB,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3D,iBAAiB;AACjB,gBAAgB,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1C,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC1C,SAAS;AACT,aAAa;AACb,YAAY,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjD,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;AAC9B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,CAAC,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC9D,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;AAC9D,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE;AAC5B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5D,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7E,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE;AAC7B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,CAAC,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AAC/D,SAAS;AACT,aAAa;AACb,YAAY,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACjE,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,MAAM,EAAE;AACnB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACjF,SAAS;AACT,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE;AACnE,YAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,YAAY,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAC1C,gBAAgB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChD,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,CAAC,MAAM,EAAE,CAAC;AAC5B,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAK,CAAC,OAAO,EAAE;AACnB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;AAC/B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AACnD,QAAQ,OAAO;AACf;AACA,YAAY,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;AACxE;AACA,YAAY,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;AAC1E,SAAS,CAAC;AACV,KAAK;AACL,IAAI,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;AACnC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChD,YAAY,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe;AAC5E,iBAAiB,WAAW,CAAC;AAC7B,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;AACpC;AACA,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;AAC/L,SAAS;AACT,QAAQ,IAAI,MAAM;AAClB,aAAa,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9D;AACA;AACA,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B;AACA,YAAY,IAAI,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;AAChG,gBAAgB,OAAO,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClG,aAAa;AACb;AACA,YAAY,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE;AACzC,gBAAgB,IAAI,eAAe,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;AACpG,gBAAgB,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AACtG,gBAAgB,IAAI,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5F,gBAAgB,IAAI,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AAC9F,gBAAgB,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AAC3E,oBAAoB,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;AAC1D,oBAAoB,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;AAC3D,oBAAoB,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;AACtD,oBAAoB,UAAU,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,gBAAgB,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,aAAa;AACb,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,aAAa;AACb;AACA,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC7D,YAAY,QAAQ,EAAE,CAAC;AACvB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL,IAAI,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;AACpC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChD,YAAY,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe;AAC5E,iBAAiB,YAAY,CAAC;AAC9B,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B;AACA,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE;AACpC,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B;AACA,YAAY,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACpM,SAAS;AACT,QAAQ,IAAI,MAAM;AAClB,aAAa,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;AAC9D,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B;AACA;AACA;AACA,YAAY,IAAI,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE;AACjG,gBAAgB,OAAO,UAAU,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACnG,aAAa;AACb;AACA,YAAY,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE;AAC1C,gBAAgB,IAAI,cAAc,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;AAClG,gBAAgB,IAAI,iBAAiB,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACxG,gBAAgB,IAAI,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAC1F,gBAAgB,IAAI,aAAa,GAAG,mBAAmB,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAChG,gBAAgB,IAAI,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AAC5E,oBAAoB,UAAU,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;AACzD,oBAAoB,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AAC5D,oBAAoB,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AACrD,oBAAoB,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,gBAAgB,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,aAAa;AACb,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,aAAa;AACb;AACA,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AAC/D,YAAY,QAAQ,EAAE,CAAC;AACvB,YAAY,OAAO,MAAM,CAAC;AAC1B,SAAS;AACT,KAAK;AACL,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;AACxC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChD,YAAY,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC;AAC/D,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B;AACA,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC;AAC1B,QAAQ,IAAI,MAAM,KAAK,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;AACxE,YAAY,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,YAAY,IAAI,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACpF,YAAY,IAAI,WAAW,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACtF,YAAY,OAAO,OAAO,CAAC,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAClE,SAAS;AACT,aAAa;AACb,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACvE,YAAY,QAAQ,EAAE,CAAC;AACvB,YAAY,OAAO,UAAU,CAAC;AAC9B,SAAS;AACT,KAAK;AACL,IAAI,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,EAAE;AACzC,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;AAChD,YAAY,OAAO,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;AAChE,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B;AACA,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC;AAC1B,QAAQ,IAAI,MAAM,KAAK,CAAC,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE;AACxE,YAAY,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACxD,YAAY,IAAI,SAAS,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAClF,YAAY,IAAI,YAAY,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACxF,YAAY,OAAO,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,YAAY,CAAC;AACnE,SAAS;AACT,aAAa;AACb,YAAY,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,YAAY,IAAI,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACzE,YAAY,QAAQ,EAAE,CAAC;AACvB,YAAY,OAAO,WAAW,CAAC;AAC/B,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE;AAC/D,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE;AAC3D,YAAY,MAAM,IAAI,SAAS,CAAC,oCAAoC,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,KAAK,CAAC,EAAE;AACnE,YAAY,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;AACvE,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE;AAC7D,YAAY,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;AAC5D,SAAS;AACT,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,YAAY,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;AACzE,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;AACtC,QAAQ,IAAI,IAAI,GAAG,EAAE,CAAC;AACtB,QAAQ,IAAI,EAAE,GAAG,EAAE,CAAC;AACpB,QAAQ,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;AACjC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAChF,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,SAAS;AACT,QAAQ,IAAI,KAAK,GAAG,WAAW,CAAC,YAAY;AAC5C,YAAY,IAAI,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;AACvD,YAAY,IAAI,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AACjD,YAAY,IAAI,QAAQ,GAAG,CAAC,EAAE;AAC9B,gBAAgB,QAAQ,GAAG,CAAC,CAAC;AAC7B,aAAa;AACb,YAAY,KAAK,IAAI,IAAI,IAAI,MAAM,EAAE;AACrC,gBAAgB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AACnC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC;AAC3E,aAAa;AACb,YAAY,IAAI,QAAQ,KAAK,CAAC,EAAE;AAChC,gBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC;AACrC,gBAAgB,IAAI,QAAQ,EAAE;AAC9B,oBAAoB,QAAQ,EAAE,CAAC;AAC/B,iBAAiB;AACjB,aAAa;AACb,SAAS,EAAE,EAAE,CAAC,CAAC;AACf,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE;AAC/B,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC;AAC1B;AACA,QAAQ,IAAI,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9E,QAAQ,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;AACxC,QAAQ,IAAI,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;AACnD;AACA,QAAQ,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACvE;AACA,QAAQ,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/C,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC,sBAAsB,CAAC;AAC9C,KAAK;AACL,IAAI,IAAI,CAAC,OAAO,EAAE;AAClB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC,kBAAkB,CAAC;AAC1C,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,UAAU,GAAG;AACjB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;AACvD,YAAY,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3D,SAAS;AACT,QAAQ,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AACzD,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK;AACL,IAAI,QAAQ,CAAC,OAAO,EAAE;AACtB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;AAC/C,aAAa,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,OAAO,CAAC,CAAC;AAC5D,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,YAAY,QAAQ,IAAI,OAAO,YAAY,KAAK,EAAE;AACrE,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,IAAI,WAAW,GAAG,EAAE,CAAC;AACjC,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AACzC,gBAAgB,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAClE,aAAa,CAAC,CAAC;AACf,YAAY,OAAO,WAAW,CAAC;AAC/B,SAAS;AACT,aAAa;AACb,YAAY,OAAO,OAAO,CAAC,aAAa,CAAC;AACzC,SAAS;AACT,KAAK;AACL,IAAI,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE;AAC3D,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,SAAS,oBAAoB,GAAG;AACxC,YAAY,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;AACzC,YAAY,IAAI,UAAU,EAAE;AAC5B,gBAAgB,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACjE,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;AACjF,aAAa;AACb,SAAS;AACT,QAAQ,SAAS,oBAAoB,GAAG;AACxC,YAAY,IAAI,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAClF,YAAY,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACrC,YAAY,IAAI,UAAU,EAAE;AAC5B,gBAAgB,OAAO,OAAO,CAAC;AAC/B,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,OAAO,CAAC,UAAU,CAAC;AAC1C,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,OAAO,oBAAoB,EAAE,CAAC;AAC1C,SAAS;AACT,aAAa;AACb,YAAY,OAAO,oBAAoB,EAAE,CAAC;AAC1C,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACjF,SAAS;AACT,QAAQ,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE;AACnE,YAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,YAAY,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAC1C,gBAAgB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,YAAY,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AACtC,YAAY,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACrD;AACA,gBAAgB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC1E,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,MAAM,IAAI,IAAI,EAAE;AAC5B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACxC,YAAY,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACjF,SAAS;AACT,QAAQ,IAAI,MAAM,YAAY,QAAQ,IAAI,MAAM,YAAY,KAAK,EAAE;AACnE,YAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,YAAY,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;AAC1C,gBAAgB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9C,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,MAAM,GAAG,MAAM,CAAC;AAC5B,YAAY,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC1C,YAAY,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;AACpD;AACA,gBAAgB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACzE,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,QAAQ,EAAE;AAC9C,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC;AAC1B,QAAQ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,QAAQ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;AACnC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,SAAS,IAAI,CAAC,SAAS,EAAE;AACjC,YAAY,IAAI,CAAC,KAAK;AACtB,gBAAgB,KAAK,GAAG,SAAS,CAAC;AAClC,YAAY,IAAI,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChF,YAAY,IAAI,QAAQ,GAAG,QAAQ,EAAE;AACrC,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC7E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAChE,oBAAoB,QAAQ,EAAE,CAAC;AAC/B,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC7E,aAAa;AACb,SAAS;AACT,QAAQ,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC7E,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,EAAE,QAAQ,EAAE;AAC/C,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC;AAC1B,QAAQ,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AACpC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,SAAS,IAAI,CAAC,SAAS,EAAE;AACjC,YAAY,IAAI,CAAC,KAAK;AACtB,gBAAgB,KAAK,GAAG,SAAS,CAAC;AAClC,YAAY,IAAI,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAC7C,YAAY,OAAO,GAAG,OAAO,CAAC;AAC9B,YAAY,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACpF,YAAY,IAAI,QAAQ,GAAG,QAAQ,EAAE;AACrC,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC7E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;AAC/C,gBAAgB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACpD,oBAAoB,QAAQ,EAAE,CAAC;AAC/B,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC7E,aAAa;AACb,SAAS;AACT,QAAQ,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AAC7E,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,CAAC,OAAO,EAAE;AACpB,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACzC,YAAY,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAChF,SAAS;AACT,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE;AAC7B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE;AAC9E,YAAY,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAS;AACT,aAAa;AACb,YAAY,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,CAAC,MAAM,EAAE;AAC3B,QAAQ,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpC,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE;AAC9D,QAAQ,IAAI,eAAe,GAAG,IAAI,CAAC;AACnC;AACA,QAAQ,IAAI,CAAC,MAAM,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC;AAC3C,YAAY,OAAO,MAAM,CAAC;AAC1B,QAAQ,IAAI,cAAc,IAAI,IAAI,EAAE;AACpC,YAAY,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;AACxD,SAAS;AACT,QAAQ,IAAI,YAAY,IAAI,IAAI,EAAE;AAClC,YAAY,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;AACpD,SAAS;AACT,QAAQ,IAAI,OAAO,cAAc,IAAI,QAAQ;AAC7C,YAAY,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACxD,QAAQ,IAAI,OAAO,cAAc,IAAI,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;AACxE,YAAY,cAAc,GAAG,CAAC,CAAC;AAC/B,SAAS;AACT,QAAQ,IAAI,cAAc,GAAG,CAAC;AAC9B,YAAY,cAAc,GAAG,CAAC,CAAC;AAC/B;AACA,YAAY,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAC3E,QAAQ,IAAI,OAAO,YAAY,IAAI,QAAQ;AAC3C,YAAY,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AACpD,QAAQ,IAAI,OAAO,YAAY,IAAI,QAAQ;AAC3C,YAAY,KAAK,CAAC,YAAY,CAAC;AAC/B,YAAY,YAAY,GAAG,cAAc,EAAE;AAC3C,YAAY,YAAY,GAAG,cAAc,CAAC;AAC1C,SAAS;AACT,QAAQ,IAAI,YAAY,GAAG,CAAC;AAC5B,YAAY,YAAY,GAAG,CAAC,CAAC;AAC7B;AACA,YAAY,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACvE;AACA;AACA,QAAQ,IAAI,OAAO,MAAM,CAAC,eAAe,IAAI,UAAU,EAAE;AACzD,YAAY,IAAI,KAAK,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;AACjD,YAAY,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjC,YAAY,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACzD,YAAY,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;AACtE,YAAY,OAAO,KAAK,CAAC,qBAAqB,EAAE,CAAC;AACjD,SAAS;AACT;AACA,QAAQ,IAAI,MAAM,GAAG,cAAc,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC5J;AACA,QAAQ,IAAI,gBAAgB,GAAG,qCAAqC,EAAE,eAAe,GAAG;AACxF,YAAY,WAAW;AACvB,YAAY,aAAa;AACzB,YAAY,WAAW;AACvB,YAAY,kBAAkB;AAC9B,YAAY,cAAc;AAC1B,YAAY,aAAa;AACzB,YAAY,YAAY;AACxB,YAAY,gBAAgB;AAC5B,YAAY,aAAa;AACzB,YAAY,YAAY;AACxB,YAAY,aAAa;AACzB,YAAY,gBAAgB;AAC5B,YAAY,WAAW;AACvB,YAAY,cAAc;AAC1B,SAAS,CAAC;AACV,QAAQ,MAAM,IAAI,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACnD,QAAQ,MAAM,IAAI,WAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;AACxD,QAAQ,OAAO,IAAI,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACrD,QAAQ,OAAO,IAAI,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AAC1D,QAAQ,OAAO,IAAI,CAAC,CAAC;AACrB,QAAQ,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACrE,YAAY,IAAI,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;AAClD;AACA,YAAY,gBAAgB,IAAI,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC;AAC7E,SAAS;AACT;AACA;AACA,QAAQ,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACnI,QAAQ,IAAI,cAAc,GAAG,CAAC;AAC9B,YAAY,UAAU,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAC1C,QAAQ,IAAI,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;AACjE,QAAQ,IAAI,OAAO,GAAG,YAAY;AAClC,YAAY,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC9C;AACA,QAAQ,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;AACnD;AACA,QAAQ,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC9C,QAAQ,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC;AAC5C,QAAQ,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9C,QAAQ,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC;AAC7C,QAAQ,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAC/C,QAAQ,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AACvE,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;AAC5D,QAAQ,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;AACtD,QAAQ,OAAO,WAAW,CAAC;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;AACxC,YAAY,IAAI,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAChF,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAClD,YAAY,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC1D,YAAY,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACxC,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT;AACA,QAAQ,SAAS,cAAc,GAAG;AAClC,YAAY,IAAI,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACnP,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAC9D,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,YAAY,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;AACnD,YAAY,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACnC,YAAY,IAAI,QAAQ,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;AAC1D,YAAY,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,WAAW;AAC1J,iBAAiB,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;AACjD,gBAAgB,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,GAAG,CAAC,WAAW;AAC5D,iBAAiB,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC;AAClD,gBAAgB,IAAI,CAAC,UAAU,CAAC;AAChC,YAAY,OAAO;AACnB,gBAAgB,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,SAAS;AACzD,gBAAgB,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,UAAU,GAAG,UAAU;AAC7D,aAAa,CAAC;AACd,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,SAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC7C,YAAY,IAAI,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ;AACxD,iBAAiB,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC;AAC3D,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACxC,YAAY,OAAO,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AACpD,SAAS;AACT,KAAK;AACL,CAAC;AACE,IAAC,QAAQ,GAAG,IAAI,QAAQ;;;;"}
|