essor 0.0.14-beta.2 → 0.0.14-beta.21

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/version.ts","../../shared/src/is.ts","../../shared/src/comm.ts","../../shared/src/name.ts","../../shared/src/console.ts","../../signal/dist/signal.dev.esm.js","../../template/dist/template.dev.esm.js","../src/index.ts"],"names":["essor_version","isObject","val","isArray","isString","isNull","isSymbol","isSet","_toString","isWeakMap","isWeakSet","isMap","isNil","x","isFunction","isFalsy","isPrimitive","isHTMLElement","obj","isPlainObject","isStringNumber","hasOwnProperty","hasOwn","key","coerceArray","data","hasChanged","value","oldValue","noop","startsWith","str","searchString","escape","char","isExclude","exclude","kebabCase","string","match","offset","capitalizeFirstLetter","inputString","warn","msg","args","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","a","b","prop","__spreadProps","queue","activePreFlushCbs","p","isFlushPending","nextTick","fn","queueJob","job","queueFlush","flushJobs","queuePreFlushCb","cb","queueCb","activeQueue","flushPreFlushCbs","createScheduler","effect","flush","activeEffect","triggerMap","reactiveMap","ReactiveSymbol","ReactivePeekSymbol","SignalValueKey","ComputedValueKey","reactiveArrayKey","ReactiveCollectionKey","ReactiveWeakCollectionKey","inBatch","batchQueue","track","target","depsMap","dep","trigger","Signal","shallow","reactive","newValue","isSignal","useSignal","useShallowSignal","shallowSignal","Computed","prev","useComputed","isComputed","useEffect","options","onTrack","onTrigger","effectFn","scheduler","signalObject","initialValues","acc","toRaw","isReactive","value2","useReactive","initialValue","shallowReactive","basicHandler","receiver","getValue","result","arrayInstrumentations","createArrayInstrumentations","instrumentations2","arr","l","res","ArrayHandler","collectionHandlers","instrumentations","weakCollectionHandlers","weakInstrumentations","hadKey","hadItems","callback","thisArg","handler","proxy","clearReactive","reactiveObj","useBatch","runBatch","useWatch","source","doWatch","INITIAL_WATCHER_VALUE","watcher","flushing","queueWatcher","flushWatchers","deep","immediate","getter","isMultiSource","s","resolveSource","baseGetter","depth","traverse","runCb","stop","seen","element","v","createOptionsStore","state","getters","actions","initState","reactiveState","subscriptions","actionCallbacks","default_actions","payload","index","store","action","createStore","storeDefinition","createClassStore","StoreClass","instance","descriptor","EVENT_PREFIX","UPDATE_PREFIX","CHILDREN_PROP","EMPTY_TEMPLATE","FRAGMENT_PROP_KEY","SINGLE_PROP_KEY","PLACEHOLDER","RenderContext","renderContext","componentMap","enterComponent","temp","getComponentIndex","_a","_LifecycleContext","hook","context","set","LifecycleContext","isSSGNode","node","SSGNode","componentIndex","template","props","htmlString","p1","p2","_","tagName","attrs","output","root","cur","children","findIndex","t","child","renderedChild","childResult","extractSignal","SELF_CLOSING_TAGS","HTML_TAGS","coerceNode","isJsxElement","text","insertChild","parent","before","beforeNode","ssr","removeChild","replaceChild","setAttribute","attr","setClassAttribute","setStyleAttribute","setGenericAttribute","bindNode","setter","addEventListener","eventName","closeHtmlTags","input","tagStack","tagPattern","lastIndex","fullMatch","isEndTag","unclosedTag","isHtmlTagName","convertToHtmlTag","signal","ComponentNode","_b","_c","_d","mountedNode","cleanup","trackKey","event","patchChildren","childrenMap","nextChildren","clearChildren","replaces","nextChildrenMap","mapKeys","childIndex","i","currChild","currKey","getKey","origChild","patch","placeholder","range","start","next","jsxKey","TemplateNode","createTemplate","cloneNode","firstChild","_a2","tree","handleNode","type","textNode","ci","hk","isRoot","updateFn","updateKey","item","path","listener","triggerValue","val2","cleanupBind","trackLastNodes","nextNodes","newNode","textNodes","ne","h","htmlTemplate","isComponent","html","Fragment","onMount","assertInsideComponent","onDestroy","hookName","useProvide","useInject","defaultValue","useRef","renderToString","component","hydrate","container","rootElement","ssg"],"mappings":"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","file":"essor.esm.js","sourcesContent":["export const essor_version = '0.0.14-beta.2';\n","import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any): val is Promise<any> {\n return _toString.call(val) === '[object Promise]';\n}\n\nexport const isArray = Array.isArray;\n\nexport function isString(val: unknown): val is string {\n return typeof val === 'string';\n}\nexport function isNull(val: any): val is null {\n return val === null;\n}\nexport function isSymbol(val: unknown): val is symbol {\n return typeof val === 'symbol';\n}\n\nexport function isSet(val: any): val is Set<any> {\n return _toString.call(val) === '[object Set]';\n}\nexport function isWeakMap(val: any): val is WeakMap<any, any> {\n return _toString.call(val) === '[object WeakMap]';\n}\nexport function isWeakSet(val: any): val is WeakSet<any> {\n return _toString.call(val) === '[object WeakSet]';\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return _toString.call(val) === '[object Map]';\n}\nexport function isNil(x: any): x is null | undefined {\n return x === null || x === undefined;\n}\n\nexport const isFunction = (val: unknown): val is Function => typeof val === 'function';\n\nexport function isFalsy(x: any): x is false | null | undefined {\n return x === false || x === null || x === undefined;\n}\n\nexport const isPrimitive = (\n val: unknown,\n): val is string | number | boolean | symbol | null | undefined =>\n ['string', 'number', 'boolean', 'symbol', 'undefined'].includes(typeof val) || isNull(val);\n\nexport function isHTMLElement(obj) {\n if (!obj) return false;\n return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n}\n\nexport const isPlainObject = (val: unknown): val is object =>\n _toString.call(val) === '[object Object]';\n\nexport type StringNumber = `${number}`;\nexport function isStringNumber(val: unknown): val is StringNumber {\n if (!isString(val)) {\n return false;\n }\n return !Number.isNaN(Number(val));\n}\n","import { isArray, isFunction, isString } from './is';\n\nexport const _toString = Object.prototype.toString;\nexport const extend = Object.assign;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val =>\n hasOwnProperty.call(val, key);\n\nexport function coerceArray<T>(data: T | T[]): T[] {\n return isArray(data) ? (data.flat() as T[]) : [data];\n}\nexport const hasChanged = (value, oldValue) =>\n value !== oldValue && (value === value || oldValue === oldValue);\nexport const noop = Function.prototype as () => void;\n\n/**\n * A function that checks if a string starts with a specific substring.\n * indexOf faster under normal circumstances\n * @see https://www.measurethat.net/Benchmarks/Show/12350/0/startswith-vs-test-vs-match-vs-indexof#latest_results_block\n\n * @param {string} str - The input string to check.\n * @param {string} searchString - The substring to check for at the beginning of the input string.\n * @return {boolean} Returns true if the input string starts with the specified substring, otherwise false.\n */\nexport function startsWith(str, searchString) {\n if (!isString(str)) {\n return false;\n }\n return str.indexOf(searchString) === 0;\n}\n\n/**\n * Escapes special HTML characters in a string.\n * @param str - The string to escape.\n * @returns The escaped string.\n */\nexport function escape(str: string): string {\n return str.replaceAll(/[\"&'<>]/g, char => {\n switch (char) {\n case '&':\n return '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\n default:\n return char;\n }\n });\n}\n\nexport type ExcludeType = ((key: string | symbol) => boolean) | (string | symbol)[];\n\n/**\n * Checks if a key should be excluded based on the provided exclude criteria.\n * @param key - The key to check.\n * @param exclude - The exclusion criteria.\n * @returns True if the key should be excluded, otherwise false.\n */\nexport function isExclude(key: string | symbol, exclude?: ExcludeType): boolean {\n return isArray(exclude) ? exclude.includes(key) : isFunction(exclude) ? exclude(key) : false;\n}\n\n/**\n * Generates a unique random 8 character string ID.\n * The generated IDs only contain alphanumeric characters.\n * @returns A unique random 8 character string ID.\n */\nexport function generateUniqueId() {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n const charactersLength = characters.length;\n for (let i = 0; i < 8; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\n/**\n * Checks if the current environment is a browser.\n * @returns True if the current environment is a browser, otherwise false.\n */\nexport function isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n","export const kebabCase = (string: string): string => {\n return string.replaceAll(/[A-Z]+/g, (match, offset) => {\n return `${offset > 0 ? '-' : ''}${match.toLocaleLowerCase()}`;\n });\n};\n\nexport const camelCase = (str: string): string => {\n const s = str.replaceAll(/[\\s_-]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''));\n return s[0].toLowerCase() + s.slice(1);\n};\n/**\n * Capitalizes the first letter of a string.\n *\n * @param {string} inputString - The input string to capitalize the first letter.\n * @return {string} The string with the first letter capitalized.\n */\nexport const capitalizeFirstLetter = (inputString: string): string => {\n return inputString.charAt(0).toUpperCase() + inputString.slice(1);\n};\n","export function warn(msg: string, ..._args: any[]): void;\nexport function warn(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.warn.apply(console, [`[Essor warn]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function info(msg: string, ..._args: any[]): void;\nexport function info(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread, no-console\n console.info.apply(console, [`[Essor info]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function error(msg: string, ..._args: any[]): void;\nexport function error(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.error.apply(console, [`[Essor error]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n","import { isObject, warn, isExclude, isArray, isPlainObject, isSet, isMap, isWeakSet, isWeakMap, isFunction, noop, hasChanged, hasOwn, isStringNumber } from '@estjs/shared';\n\n/**\n* @estjs/signal v0.0.14-beta.2\n* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>\n* @license MIT\n**/\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\n// src/scheduler.ts\nvar queue = [];\nvar activePreFlushCbs = [];\nvar p = Promise.resolve();\nvar isFlushPending = false;\nfunction nextTick(fn) {\n return fn ? p.then(fn) : p;\n}\nfunction queueJob(job) {\n if (!queue.includes(job)) {\n queue.push(job);\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (isFlushPending) {\n return;\n }\n isFlushPending = true;\n nextTick(flushJobs);\n}\nfunction queuePreFlushCb(cb) {\n queueCb(cb, activePreFlushCbs);\n}\nfunction queueCb(cb, activeQueue) {\n if (!activeQueue.includes(cb)) {\n activeQueue.push(cb);\n queueFlush();\n }\n}\nfunction flushJobs() {\n isFlushPending = false;\n flushPreFlushCbs();\n let job;\n while (job = queue.shift()) {\n if (job) {\n job();\n }\n }\n}\nfunction flushPreFlushCbs() {\n while (activePreFlushCbs.length > 0) {\n const cb = activePreFlushCbs.shift();\n if (cb) {\n cb();\n }\n }\n}\nfunction createScheduler(effect, flush) {\n if (flush === \"sync\") {\n return () => effect();\n } else if (flush === \"pre\") {\n return () => queuePreFlushCb(effect);\n } else {\n return () => {\n nextTick(() => queueJob(effect));\n };\n }\n}\n\n// src/signal.ts\nvar activeEffect = null;\nvar triggerMap = /* @__PURE__ */ new WeakMap();\nvar reactiveMap = /* @__PURE__ */ new WeakMap();\nvar ReactiveSymbol = Symbol(\"ReactiveSymbol\" );\nvar ReactivePeekSymbol = Symbol(\"__raw\" );\nvar SignalValueKey = Symbol(\"SignalValueKey\" );\nvar ComputedValueKey = Symbol(\"ComputedValueKey\" );\nvar reactiveArrayKey = Symbol(\"ReactiveArrayKey\" );\nvar ReactiveCollectionKey = Symbol(\"ReactiveCollectionKey\" );\nvar ReactiveWeakCollectionKey = Symbol(\"ReactiveWeakCollectionKey\" );\nvar inBatch = false;\nvar batchQueue = /* @__PURE__ */ new Set();\nfunction track(target, key) {\n if (!activeEffect) return;\n let depsMap = triggerMap.get(target);\n if (!depsMap) {\n depsMap = /* @__PURE__ */ new Map();\n triggerMap.set(target, depsMap);\n }\n let dep = depsMap.get(key);\n if (!dep) {\n dep = /* @__PURE__ */ new Set();\n depsMap.set(key, dep);\n }\n dep.add(activeEffect);\n}\nfunction trigger(target, key) {\n const depsMap = triggerMap.get(target);\n if (!depsMap) return;\n const dep = depsMap.get(key);\n if (dep) {\n dep.forEach((effect) => {\n if (hasOwn(effect, \"active\") && !effect.active) {\n dep.delete(effect);\n return;\n }\n inBatch ? batchQueue.add(effect) : effect();\n });\n }\n}\nvar Signal = class {\n /**\n * Creates a new Signal instance.\n * @param {T} value - The initial value of the Signal.\n * @param {boolean} [shallow] - Whether to create a shallow Signal.\n */\n constructor(value, shallow = false) {\n // is should be read\n //@ts-ignore\n this.__signal = true;\n this.__shallow = shallow;\n this.__value = value;\n }\n /**\n * Gets the current value of the Signal.\n * @returns {T} The current value.\n */\n get value() {\n track(this, SignalValueKey);\n if (isObject(this.__value) && !this.__shallow) {\n return reactive(this.__value);\n }\n return this.__value;\n }\n /**\n * Sets a new value for the Signal.\n * @param {T} newValue - The new value to set.\n */\n set value(newValue) {\n if (isSignal(newValue)) {\n newValue = newValue.peek();\n }\n if (hasChanged(newValue, this.__value)) {\n this.__value = newValue;\n trigger(this, SignalValueKey);\n }\n }\n /**\n * Returns the current value without triggering reactivity.\n * @returns {T} The current value.\n */\n peek() {\n return this.__value;\n }\n};\nfunction useSignal(value) {\n if (isSignal(value)) {\n return value;\n }\n return new Signal(value);\n}\nfunction useShallowSignal(value) {\n return new Signal(value, true);\n}\nfunction shallowSignal(value) {\n return new Signal(value, true);\n}\nfunction isSignal(value) {\n return !!(value && (value == null ? void 0 : value.__signal));\n}\nvar Computed = class {\n constructor(fn) {\n this.fn = fn;\n //@ts-ignore\n this.__computed = true;\n const prev = activeEffect;\n activeEffect = this.run.bind(this);\n this.__value = this.fn();\n activeEffect = prev;\n }\n /**\n * Get the current computed value without tracking it.\n */\n peek() {\n return this.__value;\n }\n /**\n * Run the computed function and update the value if it has changed.\n */\n run() {\n const newValue = this.fn();\n if (hasChanged(newValue, this.__value)) {\n this.__value = newValue;\n trigger(this, ComputedValueKey);\n }\n }\n /**\n * Get the current computed value and track its usage.\n */\n get value() {\n track(this, ComputedValueKey);\n return this.__value;\n }\n};\nfunction useComputed(fn) {\n return new Computed(fn);\n}\nfunction isComputed(value) {\n return !!(value && value.__computed);\n}\nfunction useEffect(fn, options = {}) {\n const { flush = \"pre\", onTrack, onTrigger } = options;\n function effectFn() {\n const prev = activeEffect;\n activeEffect = effectFn.init ? effectFn : effectFn.scheduler;\n fn();\n onTrigger && onTrigger();\n activeEffect = prev;\n }\n const scheduler = createScheduler(effectFn, flush);\n effectFn.scheduler = scheduler;\n effectFn.init = true;\n effectFn.active = true;\n onTrack && onTrack();\n effectFn();\n return () => {\n effectFn.active = false;\n activeEffect = null;\n };\n}\nfunction signalObject(initialValues, exclude) {\n if (!initialValues || !isObject(initialValues)) {\n {\n warn(\"initialValues must be an object,will return initial value!\", initialValues);\n }\n return initialValues;\n }\n const signals = Object.entries(initialValues).reduce((acc, [key, value]) => {\n acc[key] = isExclude(key, exclude) || isSignal(value) ? value : useSignal(value);\n return acc;\n }, {});\n return signals;\n}\nfunction toRaw(value) {\n if (!value) return value;\n if (isReactive(value)) {\n return value[ReactivePeekSymbol];\n }\n if (isSignal(value)) {\n return value.peek();\n }\n if (isArray(value)) {\n return value.map((value2) => toRaw(value2));\n }\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value).map(([key, value2]) => [key, toRaw(value2)])\n );\n }\n return value;\n}\nfunction isReactive(obj) {\n return !!(obj && typeof obj === \"object\" && obj[ReactiveSymbol]);\n}\nfunction useReactive(initialValue, exclude) {\n return reactive(initialValue, false, exclude);\n}\nfunction shallowReactive(initialValue, exclude) {\n return reactive(initialValue, true, exclude);\n}\nvar basicHandler = (shallow, exclude) => {\n return {\n get(target, key, receiver) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n const getValue = Reflect.get(target, key, receiver);\n const value = isSignal(getValue) ? getValue.value : getValue;\n if (isExclude(key, exclude)) {\n return value;\n }\n track(target, key);\n if (isObject(value) && !shallow) {\n return reactive(value);\n }\n return value;\n },\n set(target, key, value, receiver) {\n if (isExclude(key, exclude)) {\n Reflect.set(target, key, value, receiver);\n return true;\n }\n let oldValue = Reflect.get(target, key, receiver);\n if (isSignal(oldValue)) {\n oldValue = oldValue.value;\n }\n if (isSignal(value)) {\n value = value.value;\n }\n const obj = Reflect.set(target, key, value, receiver);\n if (hasChanged(value, oldValue)) {\n trigger(target, key);\n }\n return obj;\n },\n // handle delete\n deleteProperty(target, key) {\n const oldValue = Reflect.get(target, key);\n const result = Reflect.deleteProperty(target, key);\n if (oldValue !== void 0) {\n trigger(target, key);\n }\n return result;\n }\n };\n};\nvar arrayInstrumentations = createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations2 = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, `${i}`);\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args);\n }\n return res;\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\", \"sort\", \"reverse\"].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n const res = arr[key].apply(this, args);\n trigger(arr, reactiveArrayKey);\n return res;\n };\n });\n [\n \"forEach\",\n \"map\",\n \"filter\",\n \"reduce\",\n \"reduceRight\",\n \"some\",\n \"every\",\n \"find\",\n \"findIndex\",\n \"findLast\",\n \"findLastIndex\",\n \"entries\",\n \"keys\",\n \"values\"\n ].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n track(arr, reactiveArrayKey);\n return arr[key].apply(this, args);\n };\n });\n return instrumentations2;\n}\nvar ArrayHandler = (shallow, exclude) => {\n return {\n get(target, key, receiver) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n if (arrayInstrumentations.hasOwnProperty(key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const value = Reflect.get(target, key, receiver);\n if (isExclude(key, exclude)) {\n return value;\n }\n if (isStringNumber(key)) {\n track(target, key);\n }\n track(target, \"length\");\n if (isObject(value) && !shallow) {\n return reactive(value);\n }\n return value;\n },\n set(target, key, value, receiver) {\n const oldValue = Reflect.get(target, key, receiver);\n const result = Reflect.set(target, key, value, receiver);\n if (hasChanged(value, oldValue)) {\n if (isStringNumber(key)) {\n trigger(target, key);\n }\n if (key === \"length\" || !oldValue) {\n trigger(target, \"length\");\n }\n }\n return result;\n }\n };\n};\nvar collectionHandlers = {\n get(target, key) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n if (key === Symbol.iterator || key === \"size\") {\n track(target, ReactiveCollectionKey);\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n target\n );\n }\n};\nvar weakCollectionHandlers = {\n get(target, key) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n return Reflect.get(\n hasOwn(weakInstrumentations, key) && key in target ? weakInstrumentations : target,\n key,\n target\n );\n }\n};\nvar instrumentations = {\n get(key) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.get(key);\n },\n set(key, value) {\n const target = toRaw(this);\n const result = target.set(key, value);\n trigger(target, ReactiveCollectionKey);\n return result;\n },\n add(value) {\n const target = toRaw(this);\n const result = target.add(value);\n trigger(target, ReactiveCollectionKey);\n return result;\n },\n has(key) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.has(key);\n },\n delete(key) {\n const target = toRaw(this);\n const hadKey = target.has(key);\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, ReactiveCollectionKey);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size > 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, ReactiveCollectionKey);\n }\n return result;\n },\n forEach(callback, thisArg) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n target.forEach((value, key) => {\n callback.call(thisArg, value, key, target);\n });\n },\n get size() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.size;\n },\n keys() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.keys();\n },\n values() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.values();\n },\n entries() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.entries();\n },\n [Symbol.iterator]() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target[Symbol.iterator]();\n }\n};\nvar weakInstrumentations = {\n get(key) {\n const target = toRaw(this);\n track(target, ReactiveWeakCollectionKey);\n return target.get(key);\n },\n set(key, value) {\n const target = toRaw(this);\n const result = target.set(key, value);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n },\n add(value) {\n const target = toRaw(this);\n const result = target.add(value);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n },\n has(key) {\n const target = toRaw(this);\n track(target, ReactiveWeakCollectionKey);\n return target.has(key);\n },\n delete(key) {\n const target = toRaw(this);\n const result = target.delete(key);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n }\n};\nfunction reactive(initialValue, shallow = false, exclude) {\n if (!isObject(initialValue)) {\n return initialValue;\n }\n if (isReactive(initialValue)) {\n return initialValue;\n }\n if (reactiveMap.has(initialValue)) {\n return reactiveMap.get(initialValue);\n }\n let handler;\n if (isArray(initialValue)) {\n track(initialValue, reactiveArrayKey);\n handler = ArrayHandler(shallow, exclude);\n } else if (isSet(initialValue) || isMap(initialValue)) {\n track(initialValue, ReactiveCollectionKey);\n handler = collectionHandlers;\n } else if (isWeakSet(initialValue) || isWeakMap(initialValue)) {\n track(initialValue, ReactiveWeakCollectionKey);\n handler = weakCollectionHandlers;\n } else {\n handler = basicHandler(shallow, exclude);\n }\n const proxy = new Proxy(initialValue, handler);\n reactiveMap.set(initialValue, proxy);\n return proxy;\n}\nfunction clearReactive(reactiveObj) {\n if (!isReactive(reactiveObj)) {\n {\n warn(\"clearReactive: argument must be a reactive object\");\n }\n return;\n }\n if (isWeakMap(reactiveObj) || isWeakSet(reactiveObj)) {\n {\n warn(\"clearReactive: WeakMap and WeakSet are not clearable\");\n }\n return;\n }\n useBatch(() => {\n if (isArray(reactiveObj)) {\n reactiveObj.length = 0;\n } else if (isSet(reactiveObj) || isMap(reactiveObj)) {\n reactiveObj.clear();\n } else if (isObject(reactiveObj)) {\n Object.keys(reactiveObj).forEach((key) => {\n delete reactiveObj[key];\n });\n }\n });\n}\nfunction useBatch(fn) {\n try {\n inBatch = true;\n fn();\n } finally {\n inBatch = false;\n runBatch();\n }\n}\nfunction runBatch() {\n if (batchQueue.size > 0) {\n batchQueue.forEach((effect) => effect());\n batchQueue.clear();\n }\n}\nfunction useWatch(source, cb, options) {\n return doWatch(source, cb, options);\n}\nvar INITIAL_WATCHER_VALUE = void 0;\nvar watcher;\nvar flushing = false;\nfunction queueWatcher(fn) {\n watcher = fn;\n if (!flushing) {\n flushing = true;\n nextTick(flushWatchers);\n }\n}\nfunction flushWatchers() {\n watcher == null ? void 0 : watcher();\n watcher = null;\n flushing = false;\n}\nfunction doWatch(source, cb, { deep, immediate } = {}) {\n let getter;\n const isMultiSource = isArray(source);\n if (isSignal(source) || isComputed(source)) {\n getter = () => source.value;\n } else if (isReactive(source)) {\n getter = () => __spreadValues({}, source);\n } else if (isMultiSource) {\n getter = () => source.map((s) => resolveSource(s));\n } else if (isFunction(source)) {\n getter = source;\n } else {\n warn(\"Invalid source type\", source);\n return noop;\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n let oldValue = isMultiSource ? Array.from({ length: source.length }).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n let runCb = false;\n const effectFn = () => {\n const newValue = getter();\n if (hasChanged(newValue, oldValue)) {\n if (immediate && cb) {\n cb(newValue, oldValue);\n oldValue = newValue;\n }\n if (runCb && cb) {\n queueWatcher(() => {\n cb(newValue, oldValue);\n oldValue = newValue;\n });\n }\n !runCb && (oldValue = newValue);\n }\n };\n const stop = useEffect(effectFn, { flush: \"sync\" });\n runCb = true;\n if (immediate) {\n effectFn();\n }\n return stop;\n}\nfunction resolveSource(s) {\n if (isSignal(s) || isComputed(s)) return s.value;\n if (isReactive(s)) return __spreadValues({}, s);\n if (isFunction(s)) return s();\n warn(\"Invalid source\", s);\n return noop;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value)) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isSignal(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (const element of value) {\n traverse(element, depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n }\n return value;\n}\n\n// src/store.ts\nfunction createOptionsStore(options) {\n const { state, getters, actions } = options;\n const initState = __spreadValues({}, state);\n const reactiveState = useReactive(state);\n const subscriptions = [];\n const actionCallbacks = [];\n const default_actions = {\n patch$(payload) {\n Object.assign(reactiveState, payload);\n subscriptions.forEach((callback) => callback(reactiveState));\n actionCallbacks.forEach((callback) => callback(reactiveState));\n },\n subscribe$(callback) {\n subscriptions.push(callback);\n },\n unsubscribe$(callback) {\n const index = subscriptions.indexOf(callback);\n if (index !== -1) {\n subscriptions.splice(index, 1);\n }\n },\n onAction$(callback) {\n actionCallbacks.push(callback);\n },\n reset$() {\n Object.assign(reactiveState, initState);\n }\n };\n const store = __spreadValues(__spreadProps(__spreadValues({}, reactiveState), {\n state: reactiveState\n }), default_actions);\n if (getters) {\n for (const key in getters) {\n const getter = getters[key];\n if (getter) {\n Object.defineProperty(store, key, {\n get() {\n return useComputed(() => getter.call(store, reactiveState)).value;\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n }\n if (actions) {\n for (const key in actions) {\n const action = actions[key];\n if (action) {\n store[key] = function(...args) {\n const result = action.apply(reactiveState, args);\n actionCallbacks.forEach((callback) => callback(reactiveState));\n return result;\n };\n }\n }\n }\n return store;\n}\nfunction createStore(storeDefinition) {\n return function() {\n let options;\n if (typeof storeDefinition === \"function\") {\n options = createClassStore(storeDefinition);\n } else {\n options = storeDefinition;\n }\n const store = createOptionsStore(options);\n if (typeof storeDefinition === \"function\") {\n Object.keys(options.actions || {}).forEach((key) => {\n store[key] = options.actions[key].bind(store);\n });\n }\n return store;\n };\n}\nfunction createClassStore(StoreClass) {\n const instance = new StoreClass();\n const state = /* @__PURE__ */ Object.create(null);\n const getters = {};\n const actions = {};\n Object.getOwnPropertyNames(instance).forEach((key) => {\n state[key] = instance[key];\n });\n Object.getOwnPropertyNames(StoreClass.prototype).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(StoreClass.prototype, key);\n if (descriptor) {\n if (typeof descriptor.get === \"function\") {\n getters[key] = function() {\n return descriptor.get.call(this);\n };\n } else if (typeof descriptor.value === \"function\" && key !== \"constructor\") {\n actions[key] = function(...args) {\n return descriptor.value.apply(this, args);\n };\n }\n }\n });\n return {\n state,\n getters,\n actions\n };\n}\n\nexport { clearReactive, createStore, isComputed, isReactive, isSignal, shallowReactive, shallowSignal, signalObject, toRaw, useBatch, useComputed, useEffect, useReactive, useShallowSignal, useSignal, useWatch };\n","import { isString, isFunction, isArray, isSymbol, escape, startsWith, isPrimitive, capitalizeFirstLetter, isNil, isHTMLElement, coerceArray, isFalsy, kebabCase } from '@estjs/shared';\nimport { shallowSignal, isSignal, useReactive, useEffect, useSignal } from '@estjs/signal';\n\n/**\n* @estjs/template v0.0.14-beta.2\n* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>\n* @license MIT\n**/\n\n\n// src/shared-config.ts\nvar EVENT_PREFIX = \"on\";\nvar UPDATE_PREFIX = \"update\";\nvar CHILDREN_PROP = \"children\";\nvar EMPTY_TEMPLATE = \"\";\nvar FRAGMENT_PROP_KEY = \"0\";\nvar SINGLE_PROP_KEY = \"1\";\nvar PLACEHOLDER = \" __PLACEHOLDER__ \";\nvar RenderContext = class {\n constructor() {\n this.renderMode = 0 /* CLIENT */;\n }\n // Getter to check if the current mode is SSG\n get isSSG() {\n return this.renderMode === 1 /* SSG */;\n }\n // Getter to check if the current mode is SSR\n get isSSR() {\n return this.renderMode === 2 /* SSR */;\n }\n // Getter to check if the current mode is Client\n get isClient() {\n return this.renderMode === 0 /* CLIENT */;\n }\n // Set render mode to SSR\n setSSR() {\n this.renderMode = 2 /* SSR */;\n }\n // Set render mode to SSG\n setSSG() {\n this.renderMode = 1 /* SSG */;\n }\n // Set render mode to Client\n setClient() {\n this.renderMode = 0 /* CLIENT */;\n }\n};\nvar renderContext = new RenderContext();\nvar componentMap = /* @__PURE__ */ new Map();\nfunction enterComponent(temp, index) {\n componentMap.set(temp, {\n index\n });\n}\nfunction getComponentIndex(temp) {\n var _a;\n return (_a = componentMap.get(temp)) == null ? void 0 : _a.index;\n}\n\n// src/lifecycle-context.ts\nvar _LifecycleContext = class _LifecycleContext {\n constructor() {\n // Hooks for different lifecycle stages\n this.hooks = {\n mounted: /* @__PURE__ */ new Set(),\n destroy: /* @__PURE__ */ new Set()\n };\n }\n addEventListener() {\n }\n removeEventListener() {\n }\n // Add a hook for a specific lifecycle stage\n addHook(hook, cb) {\n var _a;\n (_a = this.hooks[hook]) == null ? void 0 : _a.add(cb);\n }\n // Get a value from the static context\n getContext(context) {\n return _LifecycleContext.context[context];\n }\n // Set a value in the static context\n setContext(context, value) {\n _LifecycleContext.context[context] = value;\n }\n // Initialize the static reference\n initRef() {\n _LifecycleContext.ref = this;\n }\n // Remove the static reference\n removeRef() {\n _LifecycleContext.ref = null;\n }\n // Clear all hooks\n clearHooks() {\n Object.values(this.hooks).forEach((set) => set.clear());\n }\n};\n// Static reference to the current context\n_LifecycleContext.ref = null;\n// Static context to store shared values\n_LifecycleContext.context = {};\nvar LifecycleContext = _LifecycleContext;\n\n// src/ssg-node.ts\nfunction isSSGNode(node) {\n return node instanceof SSGNode;\n}\nvar componentIndex = 1;\nvar SSGNode = class extends LifecycleContext {\n constructor(template, props = {}, key) {\n super();\n this.template = template;\n this.props = props;\n this.key = key;\n enterComponent(template, componentIndex);\n this.templates = this.processTemplate();\n }\n // Process the template and return an array of processed strings\n processTemplate() {\n if (isArray(this.template)) {\n const htmlString = this.template.join(PLACEHOLDER);\n const processedString = this.processHtmlString(htmlString);\n return processedString.split(PLACEHOLDER);\n }\n return [];\n }\n // Process HTML string by adding component index and handling text nodes\n processHtmlString(htmlString) {\n return htmlString.replaceAll(/(<[^>]+>)|([^<]+)/g, (match, p1, p2) => {\n if (p1) {\n if (p1.includes(\"data-ci\")) return match;\n return p1.replace(/<\\s*([\\da-z]+)(\\s[^>]*)?>/i, (_, tagName, attrs) => {\n return `<${tagName} data-ci=\"${componentIndex}\"${attrs || \"\"}>`;\n });\n } else if (p2 && p2.replace(PLACEHOLDER, \"\").trim()) {\n return `<!--${0 /* TEXT */}-${componentIndex}-->${p2}<!$>`;\n }\n return match;\n });\n }\n // Mount the SSGNode and return the rendered string\n mount() {\n this.initRef();\n const output = this.render();\n this.removeRef();\n return output;\n }\n // Render the SSGNode\n render() {\n if (isFunction(this.template)) {\n const root = this.template(this.props);\n if (isSSGNode(root)) {\n return root.mount();\n } else {\n return String(root);\n }\n }\n return this.renderTemplate();\n }\n // Render the template by processing props and children\n renderTemplate() {\n Object.entries(this.props).forEach(([key, cur]) => {\n const children = cur.children;\n this.normalizeProps(cur);\n const findIndex = this.templates.findIndex((t) => t.includes(`data-hk=\"${key}\"`));\n if (children) {\n this.renderChildren(children, findIndex);\n }\n this.templates[findIndex] = this.templates[findIndex].replace(\n `data-hk=\"${key}\"`,\n `data-hk=\"${key}\" ${this.generateAttributes(cur)}`\n );\n });\n return this.templates.join(\"\");\n }\n // Normalize props by removing children and handling signals\n normalizeProps(props) {\n Object.entries(props).forEach(([key, value]) => {\n if (key === \"children\") {\n delete props[key];\n } else if (isFunction(value)) {\n delete props[key];\n } else if (isSignal(value)) {\n props[key] = value.value;\n }\n });\n }\n // Generate HTML attributes string from props\n generateAttributes(props) {\n return Object.entries(props).filter(([key, value]) => key !== \"children\" && !isFunction(value)).map(([key, value]) => `${key}=\"${escape(String(value))}\"`).join(\" \");\n }\n // Render children and append them to the template\n renderChildren(children, findIndex) {\n children.forEach(([child]) => {\n componentIndex++;\n const renderedChild = this.renderChild(child);\n this.templates[findIndex] += renderedChild;\n });\n }\n // Render a single child node\n renderChild(child) {\n if (isFunction(child)) {\n return this.renderChild(child(this.props));\n } else if (isSignal(child)) {\n return `<!--${1 /* TEXT_COMPONENT */}-${componentIndex}-->${child.value}<!$>`;\n } else if (isSSGNode(child)) {\n const childResult = child.mount();\n return isFunction(childResult) ? childResult(this.props) : extractSignal(childResult);\n } else {\n return `<!--${1 /* TEXT_COMPONENT */}-${componentIndex}-->${child}<!$>`;\n }\n }\n};\n\n// src/utils.ts\nvar SELF_CLOSING_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\".split(\",\");\nvar HTML_TAGS = \"a,abbr,acronym,address,applet,area,article,aside,audio,b,base,basefont,bdi,bdo,bgsound,big,blink,blockquote,body,br,button,canvas,caption,center,cite,code,col,colgroup,command,content,data,datalist,dd,del,details,dfn,dialog,dir,div,dl,dt,em,embed,fieldset,figcaption,figure,font,footer,form,frame,frameset,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,i,iframe,image,img,input,ins,kbd,keygen,label,legend,li,link,listing,main,map,mark,marquee,menu,menuitem,meta,meter,nav,nobr,noframes,noscript,object,ol,optgroup,option,output,p,param,picture,plaintext,pre,progress,q,rb,rp,rt,rtc,ruby,s,samp,script,section,select,shadow,small,source,spacer,span,strike,strong,style,sub,summary,sup,table,tbody,td,template,textarea,tfoot,th,thead,time,title,tr,track,tt,u,ul,var,video,wbr,xmp\".split(\n \",\"\n);\nfunction coerceNode(data) {\n if (isJsxElement(data) || data instanceof Node || isSSGNode(data)) {\n return data;\n }\n const text = isFalsy(data) ? \"\" : String(data);\n return document.createTextNode(text);\n}\nfunction insertChild(parent, child, before = null) {\n const beforeNode = isJsxElement(before) ? before.firstChild : before;\n const ssr = renderContext.isSSR;\n if (isJsxElement(child)) {\n child.mount(parent, beforeNode);\n } else if (beforeNode && !ssr) {\n beforeNode.before(child);\n } else if (!ssr) {\n parent.append(child);\n }\n}\nfunction removeChild(child) {\n if (isJsxElement(child)) {\n child.unmount();\n } else {\n const parent = child.parentNode;\n if (parent) {\n child.remove();\n }\n }\n}\nfunction replaceChild(parent, node, child) {\n insertChild(parent, node, child);\n removeChild(child);\n}\nfunction setAttribute(element, attr, value) {\n if (attr === \"class\") {\n setClassAttribute(element, value);\n } else if (attr === \"style\") {\n setStyleAttribute(element, value);\n } else {\n setGenericAttribute(element, attr, value);\n }\n}\nfunction setClassAttribute(element, value) {\n if (typeof value === \"string\") {\n element.className = value;\n } else if (isArray(value)) {\n element.className = value.join(\" \");\n } else if (value && typeof value === \"object\") {\n element.className = Object.entries(value).reduce((acc, [key, value2]) => acc + (value2 ? ` ${key}` : \"\"), \"\").trim();\n }\n}\nfunction setStyleAttribute(element, value) {\n if (typeof value === \"string\") {\n element.style.cssText = value;\n } else if (value && typeof value === \"object\") {\n const obj = value;\n Object.entries(obj).forEach(([key, value2]) => {\n element.style.setProperty(kebabCase(key), String(value2));\n });\n }\n}\nfunction setGenericAttribute(element, attr, value) {\n if (isFalsy(value)) {\n element.removeAttribute(attr);\n } else if (value === true) {\n element.setAttribute(attr, \"\");\n } else {\n if (element instanceof HTMLInputElement && attr === \"value\") {\n element.value = String(value);\n } else {\n element.setAttribute(attr, String(value));\n }\n }\n}\nfunction bindNode(node, setter) {\n if (node instanceof HTMLInputElement) {\n switch (node.type) {\n case \"checkbox\":\n return addEventListener(node, \"change\", () => {\n setter(Boolean(node.checked));\n });\n case \"date\":\n return addEventListener(node, \"change\", () => {\n setter(node.value ? node.value : \"\");\n });\n case \"file\":\n return addEventListener(node, \"change\", () => {\n if (node.files) {\n setter(node.files);\n }\n });\n case \"number\":\n return addEventListener(node, \"input\", () => {\n const value = Number.parseFloat(node.value);\n setter(Number.isNaN(value) ? \"\" : String(value));\n });\n case \"radio\":\n return addEventListener(node, \"change\", () => {\n setter(node.checked ? node.value : \"\");\n });\n case \"text\":\n return addEventListener(node, \"input\", () => {\n setter(node.value);\n });\n }\n }\n if (node instanceof HTMLSelectElement) {\n return addEventListener(node, \"change\", () => {\n setter(node.value);\n });\n }\n if (node instanceof HTMLTextAreaElement) {\n return addEventListener(node, \"input\", () => {\n setter(node.value);\n });\n }\n}\nPromise.resolve();\nfunction addEventListener(node, eventName, handler) {\n node.addEventListener(eventName, handler);\n return () => node.removeEventListener(eventName, handler);\n}\nfunction closeHtmlTags(input) {\n const tagStack = [];\n const output = [];\n const tagPattern = /<\\/?([\\da-z-]+)([^>]*)>/gi;\n let lastIndex = 0;\n while (true) {\n const match = tagPattern.exec(input);\n if (!match) break;\n const [fullMatch, tagName] = match;\n const isEndTag = fullMatch[1] === \"/\";\n output.push(input.slice(lastIndex, match.index));\n lastIndex = match.index + fullMatch.length;\n if (isEndTag) {\n while (tagStack.length > 0 && tagStack[tagStack.length - 1] !== tagName) {\n const unclosedTag = tagStack.pop();\n if (unclosedTag) {\n output.push(`</${unclosedTag}>`);\n }\n }\n if (tagStack.length > 0) {\n tagStack.pop();\n }\n } else if (!SELF_CLOSING_TAGS.includes(tagName)) {\n tagStack.push(tagName);\n }\n output.push(fullMatch);\n }\n output.push(input.slice(lastIndex));\n while (tagStack.length > 0) {\n const unclosedTag = tagStack.pop();\n if (unclosedTag) {\n output.push(`</${unclosedTag}>`);\n }\n }\n return output.join(\"\");\n}\nfunction isHtmlTagName(tagName) {\n return HTML_TAGS.includes(tagName);\n}\nfunction convertToHtmlTag(tagName) {\n return SELF_CLOSING_TAGS.includes(tagName) ? `<${tagName}/>` : `<${tagName}></${tagName}>`;\n}\nfunction extractSignal(signal) {\n if (isSignal(signal)) {\n return signal.value;\n } else {\n return signal;\n }\n}\nvar ComponentNode = class extends LifecycleContext {\n constructor(template, props, key) {\n super();\n this.template = template;\n this.props = props;\n this.key = key;\n this.emitter = /* @__PURE__ */ new Set();\n this.rootNode = null;\n this.trackMap = /* @__PURE__ */ new Map();\n this.key || (this.key = props == null ? void 0 : props.key);\n this.proxyProps = this.createProxyProps(props);\n }\n // Create reactive props\n createProxyProps(props) {\n if (!props) return {};\n return useReactive(\n props,\n (key) => startsWith(key, EVENT_PREFIX) || startsWith(key, UPDATE_PREFIX) || key === CHILDREN_PROP\n );\n }\n // Getter for the first child node\n get firstChild() {\n var _a, _b;\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.firstChild) != null ? _b : null;\n }\n // Getter to check if the node is connected to the DOM\n get isConnected() {\n var _a, _b;\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.isConnected) != null ? _b : false;\n }\n // Method to mount the component to the DOM\n mount(parent, before) {\n var _a, _b, _c, _d;\n if (!isFunction(this.template)) {\n throw new Error(\"Template must be a function\");\n }\n if (this.isConnected) {\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.mount(parent, before)) != null ? _b : [];\n }\n this.initRef();\n this.rootNode = this.template(this.proxyProps);\n const mountedNode = (_d = (_c = this.rootNode) == null ? void 0 : _c.mount(parent, before)) != null ? _d : [];\n this.callMountHooks();\n this.patchProps(this.props);\n this.removeRef();\n return mountedNode;\n }\n // Method to unmount the component from the DOM\n unmount() {\n var _a;\n this.callDestroyHooks();\n this.clearHooks();\n (_a = this.rootNode) == null ? void 0 : _a.unmount();\n this.rootNode = null;\n this.proxyProps = {};\n this.clearEmitter();\n }\n // Private method to call mount hooks\n callMountHooks() {\n this.hooks.mounted.forEach((handler) => handler());\n }\n // Private method to call destroy hooks\n callDestroyHooks() {\n this.hooks.destroy.forEach((handler) => handler());\n }\n // Private method to clear the event emitter\n clearEmitter() {\n for (const cleanup of this.emitter) {\n cleanup();\n }\n this.emitter.clear();\n }\n // Method to inherit properties from another ComponentNode\n inheritNode(node) {\n Object.assign(this.proxyProps, node.proxyProps);\n this.rootNode = node.rootNode;\n this.trackMap = node.trackMap;\n this.hooks = node.hooks;\n const props = this.props;\n this.props = node.props;\n this.patchProps(props);\n }\n // Private method to get or create a NodeTrack\n getNodeTrack(trackKey) {\n let track = this.trackMap.get(trackKey);\n if (!track) {\n track = { cleanup: () => {\n } };\n this.trackMap.set(trackKey, track);\n }\n track.cleanup();\n return track;\n }\n // Method to patch props onto the component\n patchProps(props) {\n var _a;\n if (!props) {\n return;\n }\n for (const [key, prop] of Object.entries(props)) {\n if (startsWith(key, EVENT_PREFIX) && ((_a = this.rootNode) == null ? void 0 : _a.firstChild)) {\n this.patchEventListener(key, prop);\n } else if (key === \"ref\") {\n this.patchRef(prop);\n } else if (startsWith(key, UPDATE_PREFIX)) {\n this.patchUpdateHandler(key, prop);\n } else if (key !== CHILDREN_PROP) {\n this.patchNormalProp(key, prop);\n }\n }\n this.props = props;\n }\n // Private method to patch event listeners\n patchEventListener(key, prop) {\n const event = key.slice(2).toLowerCase();\n const cleanup = addEventListener(this.rootNode.nodes[0], event, prop);\n this.emitter.add(cleanup);\n }\n // Private method to patch ref\n patchRef(prop) {\n var _a, _b;\n prop.value = (_b = (_a = this.rootNode) == null ? void 0 : _a.firstChild) != null ? _b : null;\n }\n // Private method to patch update handlers\n patchUpdateHandler(key, prop) {\n this.props[key] = extractSignal(prop);\n }\n // Private method to patch normal props\n patchNormalProp(key, prop) {\n const track = this.getNodeTrack(key);\n track.cleanup = useEffect(() => {\n this.proxyProps[key] = isFunction(prop) ? prop() : prop;\n });\n }\n};\n\n// src/patch.ts\nfunction patchChildren(parent, childrenMap, nextChildren, before) {\n const result = /* @__PURE__ */ new Map();\n const children = Array.from(childrenMap.values());\n if (children.length && nextChildren.length === 0) {\n clearChildren(parent, children, before);\n return result;\n }\n const replaces = [];\n const nextChildrenMap = mapKeys(nextChildren);\n let childIndex = 0;\n for (let [i, child] of nextChildren.entries()) {\n let currChild = children[childIndex];\n let currKey = getKey(currChild, i);\n while (currChild && !nextChildrenMap.has(currKey)) {\n removeChild(currChild);\n childrenMap.delete(currKey);\n currChild = children[++childIndex];\n currKey = getKey(currChild, i);\n }\n const key = getKey(child, i);\n const origChild = childrenMap.get(key);\n if (origChild) {\n child = patch(parent, origChild, child);\n }\n if (currChild) {\n if (currChild === origChild) {\n childIndex++;\n } else {\n const placeholder = document.createComment(\"\");\n insertChild(parent, placeholder, currChild);\n replaces.push([placeholder, child]);\n }\n } else {\n insertChild(parent, child, before);\n }\n result.set(key, child);\n }\n replaces.forEach(([placeholder, child]) => {\n replaceChild(parent, child, placeholder);\n });\n childrenMap.forEach((child, key) => {\n if (child.isConnected && !result.has(key)) {\n removeChild(child);\n }\n });\n return result;\n}\nfunction clearChildren(parent, children, before) {\n if (parent.childNodes.length === children.length + (before ? 1 : 0)) {\n parent.innerHTML = \"\";\n if (before) {\n insertChild(parent, before);\n }\n } else {\n const range = document.createRange();\n const child = children[0];\n const start = isJsxElement(child) ? child.firstChild : child;\n range.setStartBefore(start);\n if (before) {\n range.setEndBefore(before);\n } else {\n range.setEndAfter(parent);\n }\n range.deleteContents();\n }\n children.forEach((node) => {\n if (isJsxElement(node)) {\n node.unmount();\n }\n });\n}\nfunction patch(parent, node, next) {\n if (node === next) {\n return node;\n }\n if (isJsxElement(node) && isJsxElement(next) && node.template === next.template) {\n next.inheritNode(node);\n return next;\n }\n if (node instanceof Text && next instanceof Text) {\n if (node.textContent !== next.textContent) {\n node.textContent = next.textContent;\n }\n return node;\n }\n replaceChild(parent, next, node);\n return next;\n}\nfunction mapKeys(children) {\n const result = /* @__PURE__ */ new Map();\n for (const [i, child] of children.entries()) {\n const key = getKey(child, i);\n result.set(key, child);\n }\n return result;\n}\nfunction getKey(node, index) {\n if (isJsxElement(node)) {\n const jsxKey = node.key;\n if (jsxKey !== void 0 && jsxKey !== null) {\n return String(jsxKey);\n }\n }\n return `_$${index}$`;\n}\n\n// src/template-node.ts\nvar TemplateNode = class {\n constructor(template, props, key) {\n this.template = template;\n this.props = props;\n this.key = key;\n // Private properties for managing the node's state\n this.treeMap = /* @__PURE__ */ new Map();\n this.mounted = false;\n this.nodes = [];\n this.trackMap = /* @__PURE__ */ new Map();\n this.bindValueKeys = [];\n this.parent = null;\n this.key || (this.key = props == null ? void 0 : props.key);\n if (renderContext.isSSR) {\n this.componentIndex = getComponentIndex(this.template);\n }\n }\n // Getter for the first child node\n get firstChild() {\n var _a;\n return (_a = this.nodes[0]) != null ? _a : null;\n }\n // Getter to check if the node is connected to the DOM\n get isConnected() {\n return this.mounted;\n }\n // Placeholder methods for event handling\n addEventListener() {\n }\n removeEventListener() {\n }\n // Method to mount the node to the DOM\n mount(parent, before) {\n var _a;\n this.parent = parent;\n if (this.isConnected) {\n this.nodes.forEach((node) => insertChild(parent, node, before));\n return this.nodes;\n }\n if (isArray(this.template)) {\n this.template = createTemplate(this.template.join(\"\"));\n }\n const cloneNode = this.template.content.cloneNode(true);\n const firstChild = cloneNode.firstChild;\n if ((_a = firstChild == null ? void 0 : firstChild.hasAttribute) == null ? void 0 : _a.call(firstChild, \"_svg_\")) {\n firstChild.remove();\n firstChild == null ? void 0 : firstChild.childNodes.forEach((node) => {\n cloneNode.append(node);\n });\n }\n this.nodes = Array.from(cloneNode.childNodes);\n if (renderContext.isSSR) {\n this.mapSSGNodeTree(parent);\n } else {\n this.mapNodeTree(parent, cloneNode);\n }\n insertChild(parent, cloneNode, before);\n this.patchProps(this.props);\n this.mounted = true;\n return this.nodes;\n }\n // Method to unmount the node from the DOM\n unmount() {\n var _a, _b;\n this.trackMap.forEach((track) => {\n var _a2;\n (_a2 = track.cleanup) == null ? void 0 : _a2.call(track);\n });\n this.trackMap.clear();\n this.treeMap.clear();\n this.nodes.forEach((node) => removeChild(node));\n if (!this.template.innerHTML && !this.nodes.length) {\n const children = (_b = (_a = this.props) == null ? void 0 : _a[FRAGMENT_PROP_KEY]) == null ? void 0 : _b.children;\n if (children) {\n if (isArray(children)) {\n children.forEach((child) => {\n this.deleteFragmentTextNode(child);\n });\n } else {\n this.deleteFragmentTextNode(children);\n }\n }\n }\n this.nodes = [];\n this.mounted = false;\n }\n deleteFragmentTextNode(child) {\n var _a;\n if (isPrimitive(child)) {\n (_a = this.parent) == null ? void 0 : _a.childNodes.forEach((node) => {\n var _a2;\n if (node.nodeType === Node.TEXT_NODE && node.textContent === `${child}`) {\n (_a2 = this.parent) == null ? void 0 : _a2.removeChild(node);\n }\n });\n } else {\n removeChild(child);\n }\n }\n // Method to inherit properties from another TemplateNode\n inheritNode(node) {\n this.mounted = node.mounted;\n this.nodes = node.nodes;\n this.trackMap = node.trackMap;\n this.treeMap = node.treeMap;\n const props = this.props;\n this.props = node.props;\n this.patchProps(props);\n }\n // Private method to map SSG node tree\n mapSSGNodeTree(parent) {\n this.treeMap.set(0, parent);\n this.walkNodeTree(parent, this.handleSSGNode.bind(this));\n }\n // Private method to map node tree\n mapNodeTree(parent, tree) {\n let index = 1;\n this.treeMap.set(0, parent);\n const handleNode = (node) => {\n if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n this.treeMap.set(index++, node);\n }\n };\n this.walkNodeTree(tree, handleNode);\n }\n // Private method to walk through the node tree\n walkNodeTree(node, handler) {\n if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n handler(node);\n }\n let child = node.firstChild;\n while (child) {\n this.walkNodeTree(child, handler);\n child = child.nextSibling;\n }\n }\n // Private method to handle SSG nodes\n handleSSGNode(node) {\n var _a;\n if (node.nodeType === Node.COMMENT_NODE) {\n const [type, index] = ((_a = node.textContent) == null ? void 0 : _a.split(\"-\")) || [];\n if (0 /* TEXT */ === +type && +index === this.componentIndex) {\n const textNode = node.nextSibling;\n this.treeMap.set(+index, textNode);\n }\n } else if (node.nodeType !== Node.TEXT_NODE) {\n const { ci = \"-1\", hk } = (node == null ? void 0 : node.dataset) || {};\n if (hk && +ci === this.componentIndex) {\n this.treeMap.set(+hk, node);\n }\n }\n }\n // Method to patch props onto the node\n patchProps(props) {\n if (!props) return;\n Object.entries(props).forEach(([key, value]) => {\n const index = Number(key);\n const node = this.treeMap.get(index);\n if (node) {\n this.patchProp(key, node, value, index === 0);\n }\n });\n this.props = props;\n }\n // Private method to patch a single prop\n patchProp(key, node, props, isRoot) {\n if (!props) return;\n Object.entries(props).forEach(([attr, value]) => {\n if (attr === CHILDREN_PROP && value) {\n this.patchChildren(key, node, value, isRoot);\n } else if (attr === \"ref\") {\n props[attr].value = node;\n } else if (startsWith(attr, \"on\")) {\n this.patchEventListener(key, node, attr, value);\n } else {\n if (this.bindValueKeys.includes(attr)) return;\n const updateFn = this.getBindUpdateValue(props, key, attr);\n this.patchAttribute(key, node, attr, value, updateFn);\n }\n });\n }\n getBindUpdateValue(props, key, attr) {\n const UPDATE_PREFIX2 = \"update\";\n const updateKey = `${UPDATE_PREFIX2}${capitalizeFirstLetter(attr)}`;\n if (updateKey && props[updateKey] && isFunction(props[updateKey])) {\n this.bindValueKeys.push(updateKey);\n return props[updateKey];\n }\n }\n // Private method to patch children\n patchChildren(key, node, children, isRoot) {\n if (!isArray(children)) {\n const trackKey = `${key}:${CHILDREN_PROP}:0`;\n const track = this.getNodeTrack(trackKey, true, isRoot);\n this.patchChild(track, node, children, null);\n } else {\n children.filter(Boolean).forEach((item, index) => {\n var _a;\n const [child, path] = isArray(item) ? item : [item, null];\n const before = isNil(path) ? null : (_a = this.treeMap.get(path)) != null ? _a : null;\n const trackKey = `${key}:${CHILDREN_PROP}:${index}`;\n const track = this.getNodeTrack(trackKey, true, isRoot);\n this.patchChild(track, node, child, before);\n });\n }\n }\n // Private method to patch event listeners\n patchEventListener(key, node, attr, listener) {\n const eventName = attr.slice(2).toLowerCase();\n const track = this.getNodeTrack(`${key}:${attr}`);\n track.cleanup = addEventListener(node, eventName, listener);\n }\n // Private method to patch attributes\n patchAttribute(key, element, attr, value, updateFn) {\n const track = this.getNodeTrack(`${key}:${attr}`);\n const val = isFunction(value) ? value() : value;\n const triggerValue = isSignal(val) ? val : useSignal(val);\n setAttribute(element, attr, triggerValue.value);\n const cleanup = useEffect(() => {\n const val2 = isFunction(value) ? value() : value;\n triggerValue.value = isSignal(val2) ? val2.value : val2;\n setAttribute(element, attr, triggerValue.value);\n });\n let cleanupBind;\n if (updateFn && isHTMLElement(element)) {\n cleanupBind = bindNode(element, (value2) => {\n updateFn(value2);\n });\n }\n track.cleanup = () => {\n cleanup && cleanup();\n cleanupBind && cleanupBind();\n };\n }\n // Private method to get or create a NodeTrack\n getNodeTrack(trackKey, trackLastNodes, isRoot) {\n var _a;\n let track = this.trackMap.get(trackKey);\n if (!track) {\n track = { cleanup: () => {\n } };\n if (trackLastNodes) {\n track.lastNodes = /* @__PURE__ */ new Map();\n }\n if (isRoot) {\n track.isRoot = true;\n }\n this.trackMap.set(trackKey, track);\n }\n (_a = track.cleanup) == null ? void 0 : _a.call(track);\n return track;\n }\n // Private method to patch a child node\n patchChild(track, parent, child, before) {\n if (isFunction(child)) {\n track.cleanup = useEffect(() => {\n const nextNodes = coerceArray(child()).map(coerceNode);\n if (renderContext.isSSR) {\n track.lastNodes = this.reconcileChildren(parent, nextNodes, before);\n } else {\n track.lastNodes = patchChildren(parent, track.lastNodes, nextNodes, before);\n }\n });\n } else {\n coerceArray(child).forEach((node, index) => {\n const newNode = coerceNode(node);\n const key = getKey(newNode, index);\n if (renderContext.isSSR) {\n track.lastNodes = this.reconcileChildren(parent, [newNode], before);\n } else {\n track.lastNodes.set(key, newNode);\n insertChild(parent, newNode, before);\n }\n });\n }\n }\n // Private method to reconcile children nodes\n reconcileChildren(parent, nextNodes, before) {\n const result = /* @__PURE__ */ new Map();\n const textNodes = Array.from(parent.childNodes).filter(\n (node) => {\n var _a, _b;\n return node.nodeType === Node.TEXT_NODE && ((_a = node.previousSibling) == null ? void 0 : _a.nodeType) === Node.COMMENT_NODE && ((_b = node.nextSibling) == null ? void 0 : _b.nodeType) === Node.COMMENT_NODE;\n }\n );\n nextNodes.forEach((node, index) => {\n const key = getKey(node, index);\n if (node.nodeType === Node.TEXT_NODE) {\n textNodes.forEach((ne) => {\n if (node.textContent === ne.textContent) {\n parent.replaceChild(node, ne);\n }\n });\n } else {\n insertChild(parent, node, before);\n }\n result.set(key, node);\n });\n return result;\n }\n};\n\n// src/jsx-renderer.ts\nfunction h(template, props, key) {\n if (isString(template)) {\n if (isHtmlTagName(template)) {\n const htmlTemplate = convertToHtmlTag(template);\n props = { [SINGLE_PROP_KEY]: props };\n return new TemplateNode(createTemplate(htmlTemplate), props, key);\n } else if (template === EMPTY_TEMPLATE) {\n props = { [FRAGMENT_PROP_KEY]: props };\n return new TemplateNode(createTemplate(EMPTY_TEMPLATE), props, key);\n }\n }\n return isFunction(template) ? new ComponentNode(template, props, key) : new TemplateNode(template, props, key);\n}\nfunction isComponent(node) {\n return node instanceof ComponentNode;\n}\nfunction isJsxElement(node) {\n return node instanceof ComponentNode || node instanceof TemplateNode;\n}\nfunction createTemplate(html) {\n const template = document.createElement(\"template\");\n template.innerHTML = closeHtmlTags(html);\n return template;\n}\nfunction Fragment(props) {\n return h(EMPTY_TEMPLATE, {\n children: isArray(props.children) ? props.children.filter(Boolean) : [props.children]\n });\n}\nfunction onMount(cb) {\n assertInsideComponent(\"onMounted\");\n LifecycleContext.ref && LifecycleContext.ref.addHook(\"mounted\", cb);\n}\nfunction onDestroy(cb) {\n assertInsideComponent(\"onDestroy\");\n LifecycleContext.ref && LifecycleContext.ref.addHook(\"destroy\", cb);\n}\nfunction assertInsideComponent(hookName, key) {\n if (!LifecycleContext.ref && true) {\n console.error(\n `\"${hookName}\"(key: ${isSymbol(key) ? key.toString() : key}) can only be called within the component function body\n and cannot be used in asynchronous or deferred calls.`\n );\n }\n}\nfunction useProvide(key, value) {\n assertInsideComponent(\"useProvide\", key);\n LifecycleContext.ref && LifecycleContext.ref.setContext(key, value);\n}\nfunction useInject(key, defaultValue) {\n var _a;\n assertInsideComponent(\"useInject\", key);\n return (_a = LifecycleContext.ref && LifecycleContext.ref.getContext(key)) != null ? _a : defaultValue;\n}\nfunction useRef() {\n return shallowSignal(null);\n}\n\n// src/server.ts\nfunction renderToString(component, props) {\n renderContext.setSSG();\n const ssrNode = new SSGNode(component, props || {});\n const html = ssrNode.mount();\n renderContext.setClient();\n return html;\n}\nfunction hydrate(component, container) {\n const rootElement = typeof container === \"string\" ? document.querySelector(container) : container;\n if (!rootElement) {\n throw new Error(`Could not find container: ${container}`);\n }\n renderContext.setSSR();\n h(component).mount(rootElement);\n renderContext.setClient();\n}\nfunction ssg(component, props) {\n if (renderContext.isSSG) {\n return new SSGNode(component, props);\n }\n return h(component, props);\n}\n\nexport { Fragment, h, hydrate, isComponent, isJsxElement, onDestroy, onMount, renderToString, ssg, createTemplate as template, useInject, useProvide, useRef };\n","import { essor_version } from './version';\n\nexport * from '@estjs/template';\nexport * from '@estjs/signal';\n\nif (globalThis) {\n globalThis.__essor_version__ = essor_version;\n}\n\nexport { essor_version };\n"]}
1
+ {"version":3,"sources":["../src/version.ts","../../shared/src/is.ts","../../shared/src/comm.ts","../../shared/src/name.ts","../../shared/src/console.ts","../../signal/dist/signal.dev.esm.js","../../template/dist/template.dev.esm.js","../src/index.ts"],"names":["essor_version","isObject","val","isArray","isString","isSymbol","isSet","_toString","isWeakMap","isWeakSet","isMap","isNil","x","isFunction","isFalsy","isHTMLElement","obj","isPlainObject","isStringNumber","hasOwnProperty","hasOwn","key","coerceArray","data","hasChanged","value","oldValue","noop","startsWith","str","searchString","escape","char","isExclude","exclude","cacheStringFunction","fn","cache","hyphenateRE","kebabCase","camelizeRE","capitalize","warn","msg","args","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","a","b","prop","__spreadProps","queue","activePreFlushCbs","p","isFlushPending","nextTick","queueJob","job","queueFlush","flushJobs","queuePreFlushCb","cb","queueCb","activeQueue","flushPreFlushCbs","createScheduler","effect2","flush","activeEffect","triggerMap","reactiveMap","ReactiveSymbol","ReactivePeekSymbol","SignalValueKey","ComputedValueKey","reactiveArrayKey","ReactiveCollectionKey","ReactiveWeakCollectionKey","inBatch","batchQueue","track","target","depsMap","dep","trigger","FunctionExt","f","SignalImpl","shallow","ReactiveImpl","newValue","isSignal","signal","shallowSignal","ComputedImpl","prev","computed","isComputed","effect","options","onTrack","onTrigger","effectFn","scheduler","signalObject","initialValues","acc","toRaw","isReactive","value2","reactive","initialValue","shallowReactive","basicHandler","receiver","getValue","result","arrayInstrumentations","createArrayInstrumentations","instrumentations2","arr","l","res","ArrayHandler","collectionHandlers","instrumentations","weakCollectionHandlers","weakInstrumentations","hadKey","hadItems","callback","thisArg","handler","proxy","clearReactive","reactiveObj","useBatch","runBatch","ref","watch","source","doWatch","INITIAL_WATCHER_VALUE","watcher","flushing","queueWatcher","flushWatchers","deep","immediate","getter","isMultiSource","s","resolveSource","baseGetter","depth","traverse","runCb","stop","seen","element","v","createOptionsStore","state","getters","actions","initState","reactiveState","subscriptions","actionCallbacks","default_actions","payload","index","store","action","createStore","storeDefinition","createClassStore","StoreClass","instance","descriptor","EVENT_PREFIX","UPDATE_PREFIX","CHILDREN_PROP","EMPTY_TEMPLATE","FRAGMENT_PROP_KEY","SINGLE_PROP_KEY","REF_KEY","PLACEHOLDER","RenderContext","renderContext","componentMap","enterComponent","temp","getComponentIndex","_a","_LifecycleContext","hook","context","set","LifecycleContext","isSSGNode","node","SSGNode","componentIndex","template","props","htmlString","match","p1","p2","_","tagName","attrs","output","root","cur","children","findIndex","t","child","renderedChild","childResult","extractSignal","SELF_CLOSING_TAGS","coerceNode","isJsxElement","text","insertChild","parent","before","beforeNode","ssr","removeChild","replaceChild","setAttribute","attr","setClassAttribute","setStyleAttribute","setGenericAttribute","bindNode","setter","addEventListener","eventName","convertToHtmlTag","ComponentNode","_b","_c","_d","componentCache","type","cleanup","trackKey","event","patchChildren","childrenMap","nextChildren","clearChildren","replaces","nextChildrenMap","mapKeys","childIndex","i","currChild","currKey","getKey","origChild","patch","placeholder","range","start","next","jsxKey","TemplateNode","createTemplate","cloneNode","firstChild","tree","handleNode","textNode","ci","hk","isRoot","updateFn","updateKey","item","path","listener","triggerValue","unFnValue","cleanupBind","trackLastNodes","nextNodes","newNode","textNodes","ne","createNodeCache","NodeConstructor","cached","h","Fragment","htmlTemplate","wrappedProps","isComponent","html","processedProps","templateElement","onMount","assertInsideComponent","onDestroy","hookName","provide","inject","defaultValue","renderToString","component","hydrate","container","rootElement","ssg"],"mappings":";;;;;AAAO,IAAMA,GAAgB,iBCEtB,IAAMC,EAAYC,CACvBA,EAAAA,CAAAA,GAAQ,MAAQ,OAAOA,CAAAA,EAAQ,SAK1B,IAAMC,CAAAA,CAAU,MAAM,OAEtB,CAAA,SAASC,EAASF,CAA6B,CAAA,CACpD,OAAO,OAAOA,CAAAA,EAAQ,QACxB,CAIO,SAASG,GAASH,CAA6B,CAAA,CACpD,OAAO,OAAOA,CAAAA,EAAQ,QACxB,CAEO,SAASI,EAAMJ,CAA2B,CAAA,CAC/C,OAAOK,CAAU,CAAA,IAAA,CAAKL,CAAG,CAAM,GAAA,cACjC,CACO,SAASM,EAAAA,CAAUN,CAAoC,CAAA,CAC5D,OAAOK,CAAU,CAAA,IAAA,CAAKL,CAAG,CAAM,GAAA,kBACjC,CACO,SAASO,EAAAA,CAAUP,EAA+B,CACvD,OAAOK,EAAU,IAAKL,CAAAA,CAAG,IAAM,kBACjC,CAEO,SAASQ,CAAMR,CAAAA,CAAAA,CAAoC,CACxD,OAAOK,CAAAA,CAAU,KAAKL,CAAG,CAAA,GAAM,cACjC,CACO,SAASS,GAAMC,CAA+B,CAAA,CACnD,OAAOA,CAAM,EAAA,IACf,CAEO,IAAMC,CAAAA,CAAcX,GAAkC,OAAOA,CAAAA,EAAQ,WAErE,SAASY,EAAAA,CAAQF,CAAuC,CAAA,CAC7D,OAAOA,CAAM,GAAA,CAAA,CAAA,EAASA,IAAM,IAAQA,EAAAA,CAAAA,GAAM,MAC5C,CAOO,SAASG,GAAcC,CAAK,CAAA,CACjC,OAAKA,CACEA,CAAAA,CAAAA,EAAO,OAAOA,CAAQ,EAAA,QAAA,EAAYA,EAAI,QAAa,GAAA,CAAA,EAAK,OAAOA,CAAI,CAAA,QAAA,EAAa,SADtE,CAEnB,CAAA,CAEO,IAAMC,CAAiBf,CAAAA,CAAAA,EAC5BK,EAAU,IAAKL,CAAAA,CAAG,IAAM,iBAGnB,CAAA,SAASgB,GAAehB,CAAmC,CAAA,CAChE,OAAKE,CAASF,CAAAA,CAAG,EAGV,CAAC,MAAA,CAAO,MAAM,MAAOA,CAAAA,CAAG,CAAC,CAFvB,CAAA,CAAA,CAGX,CC5DO,IAAMK,CAAAA,CAAY,OAAO,SAAU,CAAA,QAAA,CAE1C,IAAMY,EAAiB,CAAA,MAAA,CAAO,UAAU,cAC3BC,CAAAA,CAAAA,CAAS,CAAClB,CAAamB,CAAAA,CAAAA,GAClCF,GAAe,IAAKjB,CAAAA,CAAAA,CAAKmB,CAAG,CAEvB,CAAA,SAASC,GAAeC,CAAoB,CAAA,CACjD,OAAOpB,CAAQoB,CAAAA,CAAI,EAAKA,CAAK,CAAA,IAAA,GAAiB,CAACA,CAAI,CACrD,CACO,IAAMC,EAAa,CAACC,CAAAA,CAAOC,IAChCD,CAAUC,GAAAA,CAAAA,GAAaD,CAAUA,GAAAA,CAAAA,EAASC,IAAaA,CAC5CC,CAAAA,CAAAA,EAAAA,CAAO,SAAS,SAWtB,CAAA,SAASC,EAAWC,CAAKC,CAAAA,CAAAA,CAAc,CAC5C,OAAK1B,CAAAA,CAASyB,CAAG,CAGVA,CAAAA,CAAAA,CAAI,QAAQC,CAAY,CAAA,GAAM,EAF5B,CAGX,CAAA,CAOO,SAASC,EAAOF,CAAAA,CAAAA,CAAqB,CAC1C,OAAOA,CAAAA,CAAI,WAAW,UAAYG,CAAAA,CAAAA,EAAQ,CACxC,OAAQA,CAAAA,EACN,IAAK,GAAA,CACH,OAAO,OACT,CAAA,IAAK,IACH,OAAO,MAAA,CACT,IAAK,GACH,CAAA,OAAO,MACT,CAAA,IAAK,IACH,OAAO,QAAA,CACT,IAAK,GACH,CAAA,OAAO,SACT,QACE,OAAOA,CACX,CACF,CAAC,CACH,CAUO,SAASC,EAAUZ,CAAsBa,CAAAA,CAAAA,CAAgC,CAC9E,OAAO/B,CAAAA,CAAQ+B,CAAO,CAAIA,CAAAA,CAAAA,CAAQ,SAASb,CAAG,CAAA,CAAIR,EAAWqB,CAAO,CAAA,CAAIA,EAAQb,CAAG,CAAA,CAAI,EACzF,CAyBO,IAAMc,GAA0DC,CAAa,EAAA,CAClF,IAAMC,CAAgC,CAAA,MAAA,CAAO,OAAO,IAAI,CAAA,CACxD,OAASR,CAAAA,EACKQ,EAAMR,CAAG,CAAA,GACNQ,EAAMR,CAAG,CAAA,CAAIO,EAAGP,CAAG,CAAA,CAEtC,EC9FMS,EAAc,CAAA,YAAA,CACPC,GAAqCJ,EAAqBN,CAAAA,CAAAA,EACrEA,EAAI,UAAWS,CAAAA,EAAAA,CAAa,KAAK,CAAE,CAAA,WAAA,EACrC,CAEME,CAUOC,EAAAA,CAA0DN,GAClDN,CACTA,EAAAA,CAAAA,CAAI,OAAO,CAAC,CAAA,CAAE,aAAgBA,CAAAA,CAAAA,CAAI,MAAM,CAAC,CAErD,ECpBO,SAASa,CAAAA,CAAKC,KAAgBC,CAAY,CAAA,CAE/C,QAAQ,IAAK,CAAA,KAAA,CAAM,QAAS,CAAC,CAAA,cAAA,EAAiBD,CAAG,CAAE,CAAA,CAAA,CAAE,OAAOC,CAAI,CAAuB,EACzF,CCGA,IAAIC,GAAY,MAAO,CAAA,cAAA,CACnBC,GAAa,MAAO,CAAA,gBAAA,CACpBC,GAAoB,MAAO,CAAA,yBAAA,CAC3BC,GAAsB,MAAO,CAAA,qBAAA,CAC7BC,GAAe,MAAO,CAAA,SAAA,CAAU,eAChCC,EAAe,CAAA,MAAA,CAAO,SAAU,CAAA,oBAAA,CAChCC,GAAkB,CAACnC,CAAAA,CAAKK,EAAKI,CAAUJ,GAAAA,CAAAA,IAAOL,EAAM6B,EAAU7B,CAAAA,CAAAA,CAAKK,EAAK,CAAE,UAAA,CAAY,GAAM,YAAc,CAAA,CAAA,CAAA,CAAM,SAAU,CAAM,CAAA,CAAA,KAAA,CAAAI,CAAM,CAAC,CAAA,CAAIT,EAAIK,CAAG,CAAA,CAAII,EACtJ2B,CAAiB,CAAA,CAACC,EAAGC,CAAM,GAAA,CAC7B,QAASC,CAAQD,IAAAA,CAAAA,GAAMA,EAAI,EAAC,CAAA,CACtBL,GAAa,IAAKK,CAAAA,CAAAA,CAAGC,CAAI,CAC3BJ,EAAAA,EAAAA,CAAgBE,EAAGE,CAAMD,CAAAA,CAAAA,CAAEC,CAAI,CAAC,EACpC,GAAIP,EAAAA,CACF,QAASO,CAAQP,IAAAA,EAAAA,CAAoBM,CAAC,CAChCJ,CAAAA,EAAAA,CAAa,KAAKI,CAAGC,CAAAA,CAAI,GAC3BJ,EAAgBE,CAAAA,CAAAA,CAAGE,EAAMD,CAAEC,CAAAA,CAAI,CAAC,CAEtC,CAAA,OAAOF,CACT,CACIG,CAAAA,EAAAA,CAAgB,CAACH,CAAGC,CAAAA,CAAAA,GAAMR,GAAWO,CAAGN,CAAAA,EAAAA,CAAkBO,CAAC,CAAC,CAAA,CAG5DG,GAAQ,EAAC,CACTC,GAAoB,EAAC,CACrBC,GAAI,OAAQ,CAAA,OAAA,GACZC,EAAiB,CAAA,CAAA,CAAA,CACrB,SAASC,EAAAA,CAASzB,EAAI,CACpB,OAAOA,EAAKuB,EAAE,CAAA,IAAA,CAAKvB,CAAE,CAAIuB,CAAAA,EAC3B,CACA,SAASG,EAAAA,CAASC,EAAK,CAChBN,EAAAA,CAAM,SAASM,CAAG,CAAA,GACrBN,GAAM,IAAKM,CAAAA,CAAG,EACdC,EAAW,EAAA,EAEf,CACA,SAASA,EAAAA,EAAa,CAChBJ,EAGJA,GAAAA,EAAAA,CAAiB,GACjBC,EAASI,CAAAA,EAAS,GACpB,CACA,SAASC,GAAgBC,CAAI,CAAA,CAC3BC,GAAQD,CAAIT,CAAAA,EAAiB,EAC/B,CACA,SAASU,GAAQD,CAAIE,CAAAA,CAAAA,CAAa,CAC3BA,CAAY,CAAA,QAAA,CAASF,CAAE,CAC1BE,GAAAA,CAAAA,CAAY,KAAKF,CAAE,CAAA,CACnBH,IAEJ,EAAA,CACA,SAASC,EAAY,EAAA,CACnBL,GAAiB,CACjBU,CAAAA,CAAAA,EAAAA,GACA,IAAIP,CAAAA,CACJ,KAAOA,CAAMN,CAAAA,EAAAA,CAAM,OACbM,EAAAA,CAAAA,EACFA,IAGN,CACA,SAASO,EAAmB,EAAA,CAC1B,KAAOZ,EAAkB,CAAA,MAAA,CAAS,GAAG,CACnC,IAAMS,EAAKT,EAAkB,CAAA,KAAA,GACzBS,CACFA,EAAAA,CAAAA,GAEJ,CACF,CACA,SAASI,EAAAA,CAAgBC,EAASC,CAAO,CAAA,CACvC,OAAIA,CAAU,GAAA,MAAA,CACL,IAAMD,CAAQ,EAAA,CACZC,IAAU,KACZ,CAAA,IAAMP,GAAgBM,CAAO,CAAA,CAE7B,IAAM,CACXX,EAAAA,CAAS,IAAMC,EAASU,CAAAA,CAAO,CAAC,EAClC,CAEJ,CAGA,IAAIE,CAAAA,CAAe,KACfC,EAA6B,CAAA,IAAI,QACjCC,EAA8B,CAAA,IAAI,QAClCC,CAAiB,CAAA,MAAA,CAAO,gBAAiB,CACzCC,CAAAA,CAAAA,CAAqB,OAAO,OAAQ,CAAA,CACpCC,EAAiB,CAAA,MAAA,CAAO,gBAAiB,CACzCC,CAAAA,EAAAA,CAAmB,OAAO,kBAAmB,CAAA,CAC7CC,GAAmB,MAAO,CAAA,kBAAmB,EAC7CC,CAAwB,CAAA,MAAA,CAAO,uBAAwB,CACvDC,CAAAA,CAAAA,CAA4B,OAAO,2BAA4B,CAAA,CAC/DC,GAAU,CACVC,CAAAA,CAAAA,CAAAA,CAA6B,IAAI,GACrC,CAAA,SAASC,EAAMC,CAAQlE,CAAAA,CAAAA,CAAK,CAC1B,GAAI,CAACqD,EAAc,OACnB,IAAIc,EAAUb,EAAW,CAAA,GAAA,CAAIY,CAAM,CAC9BC,CAAAA,CAAAA,GACHA,EAA0B,IAAI,GAAA,CAC9Bb,GAAW,GAAIY,CAAAA,CAAAA,CAAQC,CAAO,CAAA,CAAA,CAEhC,IAAIC,CAAMD,CAAAA,CAAAA,CAAQ,IAAInE,CAAG,CAAA,CACpBoE,IACHA,CAAsB,CAAA,IAAI,IAC1BD,CAAQ,CAAA,GAAA,CAAInE,EAAKoE,CAAG,CAAA,CAAA,CAEtBA,EAAI,GAAIf,CAAAA,CAAY,EACtB,CACA,SAASgB,EAAQH,CAAQlE,CAAAA,CAAAA,CAAK,CAC5B,IAAMmE,CAAAA,CAAUb,GAAW,GAAIY,CAAAA,CAAM,EACrC,GAAI,CAACC,EAAS,OACd,IAAMC,EAAMD,CAAQ,CAAA,GAAA,CAAInE,CAAG,CACvBoE,CAAAA,CAAAA,EACFA,EAAI,OAASjB,CAAAA,CAAAA,EAAY,CACvB,GAAIpD,CAAAA,CAAOoD,EAAS,QAAQ,CAAA,EAAK,CAACA,CAAQ,CAAA,MAAA,CAAQ,CAChDiB,CAAI,CAAA,MAAA,CAAOjB,CAAO,CAClB,CAAA,MACF,CACAY,EAAUC,CAAAA,CAAAA,CAAW,IAAIb,CAAO,CAAA,CAAIA,IACtC,CAAC,EAEL,CACA,IAAImB,GAAc,cAAc,QAAS,CACvC,WAAYC,CAAAA,CAAAA,CAAG,CACb,OAAM,KAAA,EAAA,CACC,OAAO,cAAeA,CAAAA,CAAAA,CAAG,WAAW,SAAS,CACtD,CACF,CACIC,CAAAA,EAAAA,CAAa,cAAcF,EAAY,CAMzC,WAAYlE,CAAAA,CAAAA,CAAOqE,EAAU,CAAO,CAAA,CAAA,CAClC,MAAM,IACG,IAAA,CAAK,KACb,CAGD,CAAA,IAAA,CAAK,SAAW,CAChB,CAAA,CAAA,IAAA,CAAK,UAAYA,CACjB,CAAA,IAAA,CAAK,QAAUrE,EACjB,CAKA,IAAI,KAAQ,EAAA,CAEV,OADA6D,CAAM,CAAA,IAAA,CAAMP,EAAc,CACtB9E,CAAAA,CAAAA,CAAS,KAAK,OAAO,CAAA,CAChB8F,EAAa,IAAK,CAAA,OAAA,CAAS,KAAK,SAAS,CAAA,CAE3C,KAAK,OACd,CAKA,IAAI,KAAMC,CAAAA,CAAAA,CAAU,CACdC,CAASD,CAAAA,CAAQ,CACnBA,GAAAA,CAAAA,CAAWA,EAAS,IAAK,EAAA,CAAA,CAEvBxE,EAAWwE,CAAU,CAAA,IAAA,CAAK,OAAO,CACnC,GAAA,IAAA,CAAK,QAAUA,CACfN,CAAAA,CAAAA,CAAQ,KAAMX,EAAc,CAAA,EAEhC,CAKA,IAAO,EAAA,CACL,OAAO,IAAK,CAAA,OACd,CAGA,GAAItD,CAAAA,CAAAA,CAAO,CACT,IAAK,CAAA,KAAA,CAAQA,EACf,CAGA,MAAA,CAAOW,EAAI,CACT,IAAA,CAAK,IAAIA,CAAG,CAAA,IAAA,CAAK,MAAM,CAAC,EAC1B,CACF,CAAA,CACA,SAAS8D,EAAOzE,CAAAA,CAAAA,CAAO,CACrB,OAAIwE,EAASxE,CAAK,CAAA,CACTA,EAEF,IAAIoE,EAAAA,CAAWpE,CAAK,CAC7B,CACA,SAAS0E,EAAc1E,CAAAA,CAAAA,CAAO,CAC5B,OAAO,IAAIoE,GAAWpE,CAAO,CAAA,CAAA,CAAI,CACnC,CACA,SAASwE,EAASxE,CAAO,CAAA,CACvB,OAAO,CAAC,EAAEA,IAAUA,CAAS,EAAA,IAAA,EAAgBA,EAAM,QACrD,CAAA,CAAA,CACA,IAAI2E,EAAe,CAAA,KAAM,CACvB,WAAYhE,CAAAA,CAAAA,CAAI,CACd,IAAK,CAAA,EAAA,CAAKA,EAEV,IAAK,CAAA,UAAA,CAAa,GAClB,IAAMiE,CAAAA,CAAO3B,EACbA,CAAe,CAAA,IAAA,CAAK,IAAI,IAAK,CAAA,IAAI,EACjC,IAAK,CAAA,OAAA,CAAU,KAAK,EAAG,EAAA,CACvBA,EAAe2B,EACjB,CAIA,MAAO,CACL,OAAO,KAAK,OACd,CAIA,KAAM,CACJ,IAAML,EAAW,IAAK,CAAA,EAAA,GAClBxE,CAAWwE,CAAAA,CAAAA,CAAU,KAAK,OAAO,CAAA,GACnC,KAAK,OAAUA,CAAAA,CAAAA,CACfN,EAAQ,IAAMV,CAAAA,EAAgB,GAElC,CAIA,IAAI,OAAQ,CACV,OAAAM,CAAM,CAAA,IAAA,CAAMN,EAAgB,CACrB,CAAA,IAAA,CAAK,OACd,CACF,CAAA,CACA,SAASsB,EAASlE,CAAAA,CAAAA,CAAI,CACpB,OAAO,IAAIgE,GAAahE,CAAE,CAC5B,CACA,SAASmE,EAAAA,CAAW9E,EAAO,CACzB,OAAO,CAAC,EAAEA,CAAAA,EAASA,EAAM,UAC3B,CAAA,CACA,SAAS+E,CAAOpE,CAAAA,CAAAA,CAAIqE,EAAU,EAAC,CAAG,CAChC,GAAM,CAAE,MAAAhC,CAAQ,CAAA,KAAA,CAAO,QAAAiC,CAAS,CAAA,SAAA,CAAAC,CAAU,CAAIF,CAAAA,CAAAA,CAC9C,SAASG,CAAAA,EAAW,CAClB,IAAMP,CAAAA,CAAO3B,EACbA,CAAekC,CAAAA,CAAAA,CAAS,KAAOA,CAAWA,CAAAA,CAAAA,CAAS,UACnDxE,CAAG,EAAA,CACHuE,GAAaA,CAAU,EAAA,CACvBjC,EAAe2B,EACjB,CACA,IAAMQ,CAAYtC,CAAAA,EAAAA,CAAgBqC,EAAUnC,CAAK,CAAA,CACjD,OAAAmC,CAAS,CAAA,SAAA,CAAYC,EACrBD,CAAS,CAAA,IAAA,CAAO,GAChBA,CAAS,CAAA,MAAA,CAAS,GAClBF,CAAWA,EAAAA,CAAAA,GACXE,CAAS,EAAA,CACF,IAAM,CACXA,CAAAA,CAAS,OAAS,CAClBlC,CAAAA,CAAAA,CAAAA,CAAe,KACjB,CACF,CACA,SAASoC,EAAAA,CAAaC,EAAe7E,CAAS,CAAA,CAC5C,OAAI,CAAC6E,CAAAA,EAAiB,CAAC9G,CAAS8G,CAAAA,CAAa,GAEzCrE,CAAK,CAAA,4DAAA,CAA8DqE,CAAa,CAE3EA,CAAAA,CAAAA,EAEO,OAAO,OAAQA,CAAAA,CAAa,EAAE,MAAO,CAAA,CAACC,EAAK,CAAC3F,CAAAA,CAAKI,CAAK,CACpEuF,IAAAA,CAAAA,CAAI3F,CAAG,CAAIY,CAAAA,CAAAA,CAAUZ,EAAKa,CAAO,CAAA,EAAK+D,EAASxE,CAAK,CAAA,CAAIA,EAAQyE,EAAOzE,CAAAA,CAAK,EACrEuF,CACN,CAAA,CAAA,EAAE,CAEP,CACA,SAASC,CAAMxF,CAAAA,CAAAA,CAAO,CACpB,OAAKA,CAAAA,GACDyF,EAAWzF,CAAK,CAAA,CACXA,EAAMqD,CAAkB,CAAA,CAE7BmB,EAASxE,CAAK,CAAA,CACTA,EAAM,IAAK,EAAA,CAEhBtB,EAAQsB,CAAK,CAAA,CACRA,EAAM,GAAK0F,CAAAA,CAAAA,EAAWF,EAAME,CAAM,CAAC,EAExClG,CAAcQ,CAAAA,CAAK,EACd,MAAO,CAAA,WAAA,CACZ,OAAO,OAAQA,CAAAA,CAAK,EAAE,GAAI,CAAA,CAAC,CAACJ,CAAK8F,CAAAA,CAAM,IAAM,CAAC9F,CAAAA,CAAK4F,CAAME,CAAAA,CAAM,CAAC,CAAC,CACnE,EAEK1F,CACT,CAAA,CACA,SAASyF,CAAWlG,CAAAA,CAAAA,CAAK,CACvB,OAAO,CAAC,EAAEA,CAAO,EAAA,OAAOA,GAAQ,QAAYA,EAAAA,CAAAA,CAAI6D,CAAc,CAChE,CAAA,CACA,SAASuC,EAASC,CAAAA,CAAAA,CAAcnF,EAAS,CACvC,OAAO6D,EAAasB,CAAc,CAAA,CAAA,CAAA,CAAOnF,CAAO,CAClD,CACA,SAASoF,EAAgBD,CAAAA,CAAAA,CAAcnF,EAAS,CAC9C,OAAO6D,EAAasB,CAAc,CAAA,CAAA,CAAA,CAAMnF,CAAO,CACjD,CACA,IAAIqF,EAAAA,CAAe,CAACzB,CAAS5D,CAAAA,CAAAA,IACpB,CACL,GAAIqD,CAAAA,CAAAA,CAAQlE,EAAKmG,CAAU,CAAA,CACzB,GAAInG,CAAQwD,GAAAA,CAAAA,CAAgB,OAAO,CACnC,CAAA,CAAA,GAAIxD,IAAQyD,CAAoB,CAAA,OAAOS,EACvC,IAAMkC,CAAAA,CAAW,QAAQ,GAAIlC,CAAAA,CAAAA,CAAQlE,EAAKmG,CAAQ,CAAA,CAC5C/F,EAAQwE,CAASwB,CAAAA,CAAQ,EAAIA,CAAS,CAAA,KAAA,CAAQA,EACpD,OAAIxF,CAAAA,CAAUZ,EAAKa,CAAO,CAAA,CACjBT,GAET6D,CAAMC,CAAAA,CAAAA,CAAQlE,CAAG,CACbpB,CAAAA,CAAAA,CAASwB,CAAK,CAAA,EAAK,CAACqE,CACfC,CAAAA,CAAAA,CAAatE,CAAK,CAEpBA,CAAAA,CAAAA,CACT,EACA,GAAI8D,CAAAA,CAAAA,CAAQlE,EAAKI,CAAO+F,CAAAA,CAAAA,CAAU,CAChC,GAAIvF,CAAAA,CAAUZ,EAAKa,CAAO,CAAA,CACxB,eAAQ,GAAIqD,CAAAA,CAAAA,CAAQlE,EAAKI,CAAO+F,CAAAA,CAAQ,EACjC,CAET,CAAA,CAAA,IAAI9F,EAAW,OAAQ,CAAA,GAAA,CAAI6D,EAAQlE,CAAKmG,CAAAA,CAAQ,EAC5CvB,CAASvE,CAAAA,CAAQ,IACnBA,CAAWA,CAAAA,CAAAA,CAAS,OAElBuE,CAASxE,CAAAA,CAAK,IAChBA,CAAQA,CAAAA,CAAAA,CAAM,OAEhB,IAAMT,CAAAA,CAAM,QAAQ,GAAIuE,CAAAA,CAAAA,CAAQlE,EAAKI,CAAO+F,CAAAA,CAAQ,EACpD,OAAIhG,CAAAA,CAAWC,EAAOC,CAAQ,CAAA,EAC5BgE,EAAQH,CAAQlE,CAAAA,CAAG,EAEdL,CACT,CAAA,CAEA,eAAeuE,CAAQlE,CAAAA,CAAAA,CAAK,CAC1B,IAAMK,CAAAA,CAAW,QAAQ,GAAI6D,CAAAA,CAAAA,CAAQlE,CAAG,CAClCqG,CAAAA,CAAAA,CAAS,QAAQ,cAAenC,CAAAA,CAAAA,CAAQlE,CAAG,CACjD,CAAA,OAAIK,IAAa,KACfgE,CAAAA,EAAAA,CAAAA,CAAQH,EAAQlE,CAAG,CAAA,CAEdqG,CACT,CACF,CAAA,CAAA,CAEEC,EAAwBC,CAAAA,EAAAA,GAC5B,SAASA,EAAAA,EAA8B,CACrC,IAAMC,CAAAA,CAAoB,EAC1B,CAAA,OAAA,CAAC,WAAY,SAAW,CAAA,aAAa,EAAE,OAASxG,CAAAA,CAAAA,EAAQ,CACtDwG,CAAkBxG,CAAAA,CAAG,EAAI,SAAYuB,GAAAA,CAAAA,CAAM,CACzC,IAAMkF,CAAAA,CAAMb,EAAM,IAAI,CAAA,CACtB,QAAS,CAAI,CAAA,CAAA,CAAGc,EAAI,IAAK,CAAA,MAAA,CAAQ,EAAIA,CAAG,CAAA,CAAA,EAAA,CACtCzC,EAAMwC,CAAK,CAAA,CAAA,EAAG,CAAC,CAAE,CAAA,CAAA,CAEnB,IAAME,CAAMF,CAAAA,CAAAA,CAAIzG,CAAG,CAAE,CAAA,GAAGuB,CAAI,CAC5B,CAAA,OAAIoF,IAAQ,CAAMA,CAAAA,EAAAA,CAAAA,GAAQ,GACjBF,CAAIzG,CAAAA,CAAG,EAAE,GAAGuB,CAAI,EAElBoF,CACT,EACF,CAAC,CACD,CAAA,CAAC,OAAQ,KAAO,CAAA,OAAA,CAAS,UAAW,QAAU,CAAA,MAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAS3G,GAAQ,CAChFwG,CAAAA,CAAkBxG,CAAG,CAAI,CAAA,SAAA,GAAYuB,EAAM,CACzC,IAAMkF,EAAMb,CAAM,CAAA,IAAI,EAChBe,CAAMF,CAAAA,CAAAA,CAAIzG,CAAG,CAAE,CAAA,KAAA,CAAM,IAAMuB,CAAAA,CAAI,EACrC,OAAA8C,CAAAA,CAAQoC,EAAK7C,EAAgB,CAAA,CACtB+C,CACT,EACF,CAAC,EACD,CACE,SAAA,CACA,MACA,QACA,CAAA,QAAA,CACA,cACA,MACA,CAAA,OAAA,CACA,OACA,WACA,CAAA,UAAA,CACA,gBACA,SACA,CAAA,MAAA,CACA,QACF,CAAE,CAAA,OAAA,CAAS3G,GAAQ,CACjBwG,CAAAA,CAAkBxG,CAAG,CAAI,CAAA,SAAA,GAAYuB,EAAM,CACzC,IAAMkF,EAAMb,CAAM,CAAA,IAAI,EACtB,OAAA3B,CAAAA,CAAMwC,EAAK7C,EAAgB,CAAA,CACpB6C,EAAIzG,CAAG,CAAA,CAAE,MAAM,IAAMuB,CAAAA,CAAI,CAClC,EACF,CAAC,EACMiF,CACT,CACA,IAAII,EAAe,CAAA,CAACnC,EAAS5D,CACpB,IAAA,CACL,IAAIqD,CAAQlE,CAAAA,CAAAA,CAAKmG,EAAU,CACzB,GAAInG,IAAQwD,CAAgB,CAAA,OAAO,GACnC,GAAIxD,CAAAA,GAAQyD,EAAoB,OAAOS,CAAAA,CACvC,GAAIoC,EAAsB,CAAA,cAAA,CAAetG,CAAG,CAC1C,CAAA,OAAO,QAAQ,GAAIsG,CAAAA,EAAAA,CAAuBtG,EAAKmG,CAAQ,CAAA,CAEzD,IAAM/F,CAAQ,CAAA,OAAA,CAAQ,GAAI8D,CAAAA,CAAAA,CAAQlE,EAAKmG,CAAQ,CAAA,CAC/C,OAAIvF,CAAUZ,CAAAA,CAAAA,CAAKa,CAAO,CACjBT,CAAAA,CAAAA,EAELP,GAAeG,CAAG,CAAA,EACpBiE,EAAMC,CAAQlE,CAAAA,CAAG,EAEnBiE,CAAMC,CAAAA,CAAAA,CAAQ,QAAQ,CAClBtF,CAAAA,CAAAA,CAASwB,CAAK,CAAK,EAAA,CAACqE,EACfC,CAAatE,CAAAA,CAAK,EAEpBA,CACT,CAAA,CAAA,CACA,IAAI8D,CAAQlE,CAAAA,CAAAA,CAAKI,EAAO+F,CAAU,CAAA,CAChC,IAAM9F,CAAW,CAAA,OAAA,CAAQ,IAAI6D,CAAQlE,CAAAA,CAAAA,CAAKmG,CAAQ,CAC5CE,CAAAA,CAAAA,CAAS,OAAQ,CAAA,GAAA,CAAInC,EAAQlE,CAAKI,CAAAA,CAAAA,CAAO+F,CAAQ,CACvD,CAAA,OAAIhG,EAAWC,CAAOC,CAAAA,CAAQ,IACxBR,EAAeG,CAAAA,CAAG,GACpBqE,CAAQH,CAAAA,CAAAA,CAAQlE,CAAG,CAEjBA,CAAAA,CAAAA,CAAAA,GAAQ,UAAY,CAACK,CAAAA,GACvBgE,EAAQH,CAAQ,CAAA,QAAQ,GAGrBmC,CACT,CACF,GAEEQ,EAAqB,CAAA,CACvB,IAAI3C,CAAQlE,CAAAA,CAAAA,CAAK,CACf,OAAIA,CAAAA,GAAQwD,EAAuB,CAC/BxD,CAAAA,CAAAA,CAAAA,GAAQyD,EAA2BS,CACnClE,EAAAA,CAAAA,CAAAA,GAAQ,OAAO,QAAYA,EAAAA,CAAAA,GAAQ,MACrCiE,GAAAA,CAAAA,CAAMC,EAAQL,CAAqB,CAAA,CAE9B,QAAQ,GACb9D,CAAAA,CAAAA,CAAO+G,GAAkB9G,CAAG,CAAA,EAAKA,KAAOkE,CAAS4C,CAAAA,EAAAA,CAAmB5C,EACpElE,CACAkE,CAAAA,CACF,EACF,CACF,CAAA,CACI6C,GAAyB,CAC3B,GAAA,CAAI7C,EAAQlE,CAAK,CAAA,CACf,OAAIA,CAAQwD,GAAAA,CAAAA,CAAuB,GAC/BxD,CAAQyD,GAAAA,CAAAA,CAA2BS,EAChC,OAAQ,CAAA,GAAA,CACbnE,EAAOiH,EAAsBhH,CAAAA,CAAG,GAAKA,CAAOkE,IAAAA,CAAAA,CAAS8C,GAAuB9C,CAC5ElE,CAAAA,CAAAA,CACAkE,CACF,CACF,CACF,EACI4C,EAAmB,CAAA,CACrB,IAAI9G,CAAK,CAAA,CACP,IAAMkE,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACzB,CAAA,OAAA3B,EAAMC,CAAQL,CAAAA,CAAqB,EAC5BK,CAAO,CAAA,GAAA,CAAIlE,CAAG,CACvB,CAAA,CACA,IAAIA,CAAKI,CAAAA,CAAAA,CAAO,CACd,IAAM8D,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACnBS,EAASnC,CAAO,CAAA,GAAA,CAAIlE,EAAKI,CAAK,CAAA,CACpC,OAAAiE,CAAQH,CAAAA,CAAAA,CAAQL,CAAqB,CAC9BwC,CAAAA,CACT,EACA,GAAIjG,CAAAA,CAAAA,CAAO,CACT,IAAM8D,CAAAA,CAAS0B,CAAM,CAAA,IAAI,EACnBS,CAASnC,CAAAA,CAAAA,CAAO,IAAI9D,CAAK,CAAA,CAC/B,OAAAiE,CAAQH,CAAAA,CAAAA,CAAQL,CAAqB,CAC9BwC,CAAAA,CACT,EACA,GAAIrG,CAAAA,CAAAA,CAAK,CACP,IAAMkE,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACzB,OAAA3B,CAAMC,CAAAA,CAAAA,CAAQL,CAAqB,CAC5BK,CAAAA,CAAAA,CAAO,IAAIlE,CAAG,CACvB,EACA,MAAOA,CAAAA,CAAAA,CAAK,CACV,IAAMkE,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACnBqB,EAAS/C,CAAO,CAAA,GAAA,CAAIlE,CAAG,CACvBqG,CAAAA,CAAAA,CAASnC,CAAO,CAAA,MAAA,CAAOlE,CAAG,CAChC,CAAA,OAAIiH,GACF5C,CAAQH,CAAAA,CAAAA,CAAQL,CAAqB,CAEhCwC,CAAAA,CACT,EACA,KAAQ,EAAA,CACN,IAAMnC,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACnBsB,CAAAA,CAAAA,CAAWhD,EAAO,IAAO,CAAA,CAAA,CACzBmC,EAASnC,CAAO,CAAA,KAAA,GACtB,OAAIgD,CAAAA,EACF7C,EAAQH,CAAQL,CAAAA,CAAqB,EAEhCwC,CACT,CAAA,CACA,QAAQc,CAAUC,CAAAA,CAAAA,CAAS,CACzB,IAAMlD,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACzB3B,EAAMC,CAAQL,CAAAA,CAAqB,CACnCK,CAAAA,CAAAA,CAAO,QAAQ,CAAC9D,CAAAA,CAAOJ,IAAQ,CAC7BmH,CAAAA,CAAS,KAAKC,CAAShH,CAAAA,CAAAA,CAAOJ,EAAKkE,CAAM,EAC3C,CAAC,EACH,CAAA,CACA,IAAI,IAAO,EAAA,CACT,IAAMA,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACzB,CAAA,OAAA3B,EAAMC,CAAQL,CAAAA,CAAqB,EAC5BK,CAAO,CAAA,IAChB,EACA,IAAO,EAAA,CACL,IAAMA,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACzB,CAAA,OAAA3B,EAAMC,CAAQL,CAAAA,CAAqB,EAC5BK,CAAO,CAAA,IAAA,EAChB,CACA,CAAA,MAAA,EAAS,CACP,IAAMA,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACzB,OAAA3B,CAAMC,CAAAA,CAAAA,CAAQL,CAAqB,CAC5BK,CAAAA,CAAAA,CAAO,QAChB,CAAA,CACA,SAAU,CACR,IAAMA,EAAS0B,CAAM,CAAA,IAAI,EACzB,OAAA3B,CAAAA,CAAMC,EAAQL,CAAqB,CAAA,CAC5BK,EAAO,OAAQ,EACxB,EACA,CAAC,MAAA,CAAO,QAAQ,CAAI,EAAA,CAClB,IAAMA,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACzB,CAAA,OAAA3B,EAAMC,CAAQL,CAAAA,CAAqB,CAC5BK,CAAAA,CAAAA,CAAO,OAAO,QAAQ,CAAA,EAC/B,CACF,CAAA,CACI8C,GAAuB,CACzB,GAAA,CAAIhH,EAAK,CACP,IAAMkE,EAAS0B,CAAM,CAAA,IAAI,EACzB,OAAA3B,CAAAA,CAAMC,EAAQJ,CAAyB,CAAA,CAChCI,EAAO,GAAIlE,CAAAA,CAAG,CACvB,CACA,CAAA,GAAA,CAAIA,EAAKI,CAAO,CAAA,CACd,IAAM8D,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACnBS,CAAAA,CAAAA,CAASnC,EAAO,GAAIlE,CAAAA,CAAAA,CAAKI,CAAK,CACpC,CAAA,OAAAiE,EAAQH,CAAQJ,CAAAA,CAAyB,CAClCuC,CAAAA,CACT,EACA,GAAIjG,CAAAA,CAAAA,CAAO,CACT,IAAM8D,CAAAA,CAAS0B,EAAM,IAAI,CAAA,CACnBS,EAASnC,CAAO,CAAA,GAAA,CAAI9D,CAAK,CAC/B,CAAA,OAAAiE,EAAQH,CAAQJ,CAAAA,CAAyB,EAClCuC,CACT,CAAA,CACA,IAAIrG,CAAK,CAAA,CACP,IAAMkE,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CACzB,CAAA,OAAA3B,EAAMC,CAAQJ,CAAAA,CAAyB,EAChCI,CAAO,CAAA,GAAA,CAAIlE,CAAG,CACvB,CAAA,CACA,OAAOA,CAAK,CAAA,CACV,IAAMkE,CAAS0B,CAAAA,CAAAA,CAAM,IAAI,CAAA,CACnBS,EAASnC,CAAO,CAAA,MAAA,CAAOlE,CAAG,CAChC,CAAA,OAAAqE,EAAQH,CAAQJ,CAAAA,CAAyB,EAClCuC,CACT,CACF,EACA,SAAS3B,CAAAA,CAAasB,EAAcvB,CAAU,CAAA,CAAA,CAAA,CAAO5D,EAAS,CAI5D,GAHI,CAACjC,CAASoH,CAAAA,CAAY,GAGtBH,CAAWG,CAAAA,CAAY,EACzB,OAAOA,CAAAA,CAET,GAAIzC,EAAY,CAAA,GAAA,CAAIyC,CAAY,CAC9B,CAAA,OAAOzC,GAAY,GAAIyC,CAAAA,CAAY,EAErC,IAAIqB,CAAAA,CACAvI,EAAQkH,CAAY,CAAA,EACtB/B,EAAM+B,CAAcpC,CAAAA,EAAgB,EACpCyD,CAAUT,CAAAA,EAAAA,CAAanC,EAAS5D,CAAO,CAAA,EAC9B5B,EAAM+G,CAAY,CAAA,EAAK3G,EAAM2G,CAAY,CAAA,EAClD/B,EAAM+B,CAAcnC,CAAAA,CAAqB,EACzCwD,CAAUR,CAAAA,EAAAA,EACDzH,GAAU4G,CAAY,CAAA,EAAK7G,GAAU6G,CAAY,CAAA,EAC1D/B,EAAM+B,CAAclC,CAAAA,CAAyB,EAC7CuD,CAAUN,CAAAA,EAAAA,EAEVM,EAAUnB,EAAazB,CAAAA,CAAAA,CAAS5D,CAAO,CAEzC,CAAA,IAAMyG,EAAQ,IAAI,KAAA,CAAMtB,EAAcqB,CAAO,CAAA,CAC7C,OAAA9D,EAAY,CAAA,GAAA,CAAIyC,CAAcsB,CAAAA,CAAK,EAC5BA,CACT,CACA,SAASC,EAAcC,CAAAA,CAAAA,CAAa,CAClC,GAAI,CAAC3B,EAAW2B,CAAW,CAAA,CAAG,CAE1BnG,CAAK,CAAA,mDAAmD,EAE1D,MACF,CACA,GAAIlC,EAAUqI,CAAAA,CAAW,GAAKpI,EAAUoI,CAAAA,CAAW,EAAG,CAElDnG,CAAAA,CAAK,sDAAsD,CAE7D,CAAA,MACF,CACAoG,EAAS,CAAA,IAAM,CACT3I,CAAQ0I,CAAAA,CAAW,EACrBA,CAAY,CAAA,MAAA,CAAS,EACZvI,CAAMuI,CAAAA,CAAW,GAAKnI,CAAMmI,CAAAA,CAAW,CAChDA,CAAAA,CAAAA,CAAY,OACH5I,CAAAA,CAAAA,CAAS4I,CAAW,CAC7B,EAAA,MAAA,CAAO,KAAKA,CAAW,CAAA,CAAE,QAASxH,CAAQ,EAAA,CACxC,OAAOwH,CAAYxH,CAAAA,CAAG,EACxB,CAAC,EAEL,CAAC,EACH,CACA,SAASyH,EAAS1G,CAAAA,CAAAA,CAAI,CACpB,GAAI,CACFgD,GAAU,CACVhD,CAAAA,CAAAA,CAAAA,GACF,CAAE,OAAA,CACAgD,GAAU,CACV2D,CAAAA,CAAAA,EAAAA,GACF,CACF,CACA,SAASA,EAAW,EAAA,CACd1D,EAAW,IAAO,CAAA,CAAA,GACpBA,CAAW,CAAA,OAAA,CAASb,GAAYA,CAAQ,EAAC,EACzCa,CAAW,CAAA,KAAA,IAEf,CACA,SAAS2D,IAAM,CACb,OAAO7C,GAAc,IAAI,CAC3B,CACA,SAAS8C,EAAAA,CAAMC,EAAQ/E,CAAIsC,CAAAA,CAAAA,CAAS,CAClC,OAAO0C,EAAAA,CAAQD,EAAQ/E,CAAIsC,CAAAA,CAAO,CACpC,CACA,IAAI2C,GAAwB,KACxBC,CAAAA,CAAAA,EAAAA,CACAC,GAAW,CACf,CAAA,CAAA,SAASC,GAAanH,CAAI,CAAA,CACxBiH,GAAUjH,CACLkH,CAAAA,EAAAA,GACHA,GAAW,CACXzF,CAAAA,CAAAA,EAAAA,CAAS2F,EAAa,CAE1B,EAAA,CACA,SAASA,EAAgB,EAAA,CACvBH,IAAWA,EAAQ,EAAA,CACnBA,GAAU,IACVC,CAAAA,EAAAA,CAAW,GACb,CACA,SAASH,GAAQD,CAAQ/E,CAAAA,CAAAA,CAAI,CAAE,IAAAsF,CAAAA,CAAAA,CAAM,UAAAC,CAAU,CAAA,CAAI,EAAI,CAAA,CACrD,IAAIC,CACEC,CAAAA,CAAAA,CAAgBzJ,EAAQ+I,CAAM,CAAA,CACpC,GAAIjD,CAASiD,CAAAA,CAAM,GAAK3C,EAAW2C,CAAAA,CAAM,EACvCS,CAAS,CAAA,IAAMT,EAAO,KACbhC,CAAAA,KAAAA,GAAAA,CAAAA,CAAWgC,CAAM,CAC1BS,CAAAA,CAAAA,CAAS,IAAMvG,CAAAA,CAAe,EAAI8F,CAAAA,CAAM,UAC/BU,CACTD,CAAAA,CAAAA,CAAS,IAAMT,CAAO,CAAA,GAAA,CAAKW,GAAMC,EAAcD,CAAAA,CAAC,CAAC,CACxChJ,CAAAA,KAAAA,GAAAA,CAAAA,CAAWqI,CAAM,CAC1BS,CAAAA,CAAAA,CAAST,OAETxG,OAAAA,CAAAA,CAAK,sBAAuBwG,CAAM,CAAA,CAC3BvH,GAET,GAAIwC,CAAAA,EAAMsF,EAAM,CACd,IAAMM,EAAaJ,CACbK,CAAAA,CAAAA,CAAQP,IAAS,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAWA,EACzCE,CAAS,CAAA,IAAMM,EAASF,CAAW,EAAA,CAAGC,CAAK,EAC7C,CACA,IAAItI,CAAAA,CAAWkI,EAAgB,KAAM,CAAA,IAAA,CAAK,CAAE,MAAQV,CAAAA,CAAAA,CAAO,MAAO,CAAC,CAAA,CAAE,KAAKE,EAAqB,CAAA,CAAIA,GAC/Fc,CAAQ,CAAA,CAAA,CAAA,CACNtD,EAAW,IAAM,CACrB,IAAMZ,CAAW2D,CAAAA,CAAAA,GACbnI,CAAWwE,CAAAA,CAAAA,CAAUtE,CAAQ,CAC3BgI,GAAAA,CAAAA,EAAavF,IACfA,CAAG6B,CAAAA,CAAAA,CAAUtE,CAAQ,CACrBA,CAAAA,CAAAA,CAAWsE,GAETkE,CAAS/F,EAAAA,CAAAA,EACXoF,GAAa,IAAM,CACjBpF,EAAG6B,CAAUtE,CAAAA,CAAQ,EACrBA,CAAWsE,CAAAA,EACb,CAAC,CAAA,CAEH,CAACkE,CAAUxI,GAAAA,CAAAA,CAAWsE,IAE1B,CACMmE,CAAAA,CAAAA,CAAO3D,EAAOI,CAAU,CAAA,CAAE,MAAO,MAAO,CAAC,EAC/C,OAAAsD,CAAAA,CAAQ,GACJR,CACF9C,EAAAA,CAAAA,GAEKuD,CACT,CACA,SAASL,EAAcD,CAAAA,CAAAA,CAAG,CACxB,OAAI5D,CAAAA,CAAS4D,CAAC,CAAKtD,EAAAA,EAAAA,CAAWsD,CAAC,CAAUA,CAAAA,CAAAA,CAAE,MACvC3C,CAAW2C,CAAAA,CAAC,EAAUzG,CAAe,CAAA,GAAIyG,CAAC,CAAA,CAC1ChJ,EAAWgJ,CAAC,CAAA,CAAUA,GAC1BnH,EAAAA,CAAAA,CAAK,iBAAkBmH,CAAC,CAAA,CACjBlI,GACT,CACA,SAASsI,EAASxI,CAAOuI,CAAAA,CAAAA,CAAQ,IAAUI,CAAM,CAAA,CAK/C,GAJIJ,CAAS,EAAA,CAAA,EAAK,CAAC/J,CAASwB,CAAAA,CAAK,IAGjC2I,CAAOA,CAAAA,CAAAA,EAAwB,IAAI,GAC/BA,CAAAA,CAAAA,CAAK,IAAI3I,CAAK,CAAA,CAAA,CAChB,OAAOA,CAIT,CAAA,GAFA2I,EAAK,GAAI3I,CAAAA,CAAK,EACduI,CACI/D,EAAAA,CAAAA,CAAAA,CAASxE,CAAK,CAChBwI,CAAAA,CAAAA,CAASxI,EAAM,KAAOuI,CAAAA,CAAAA,CAAOI,CAAI,CACxBjK,CAAAA,KAAAA,GAAAA,CAAAA,CAAQsB,CAAK,CAAA,CACtB,QAAW4I,CAAW5I,IAAAA,CAAAA,CACpBwI,EAASI,CAASL,CAAAA,CAAAA,CAAOI,CAAI,CAEtB9J,CAAAA,KAAAA,GAAAA,CAAAA,CAAMmB,CAAK,CAAKf,EAAAA,CAAAA,CAAMe,CAAK,CACpCA,CAAAA,CAAAA,CAAM,QAAS6I,CAAM,EAAA,CACnBL,EAASK,CAAGN,CAAAA,CAAAA,CAAOI,CAAI,EACzB,CAAC,UACQnJ,CAAcQ,CAAAA,CAAK,EAC5B,IAAWJ,IAAAA,CAAAA,IAAOI,EAChBwI,CAASxI,CAAAA,CAAAA,CAAMJ,CAAG,CAAG2I,CAAAA,CAAAA,CAAOI,CAAI,CAGpC,CAAA,OAAO3I,CACT,CAGA,SAAS8I,GAAmB9D,CAAS,CAAA,CACnC,GAAM,CAAE,MAAA+D,CAAO,CAAA,OAAA,CAAAC,EAAS,OAAAC,CAAAA,CAAQ,EAAIjE,CAC9BkE,CAAAA,CAAAA,CAAYvH,EAAe,EAAC,CAAGoH,CAAK,CACpCI,CAAAA,CAAAA,CAAgBxD,GAASoD,CAAK,CAAA,CAC9BK,EAAgB,EAAC,CACjBC,EAAkB,EAAC,CACnBC,EAAkB,CACtB,MAAA,CAAOC,EAAS,CACd,MAAA,CAAO,OAAOJ,CAAeI,CAAAA,CAAO,EACpCH,CAAc,CAAA,OAAA,CAASrC,GAAaA,CAASoC,CAAAA,CAAa,CAAC,CAC3DE,CAAAA,CAAAA,CAAgB,QAAStC,CAAaA,EAAAA,CAAAA,CAASoC,CAAa,CAAC,EAC/D,CACA,CAAA,UAAA,CAAWpC,EAAU,CACnBqC,CAAAA,CAAc,KAAKrC,CAAQ,EAC7B,EACA,YAAaA,CAAAA,CAAAA,CAAU,CACrB,IAAMyC,CAAAA,CAAQJ,EAAc,OAAQrC,CAAAA,CAAQ,EACxCyC,CAAU,GAAA,CAAA,CAAA,EACZJ,EAAc,MAAOI,CAAAA,CAAAA,CAAO,CAAC,EAEjC,CAAA,CACA,UAAUzC,CAAU,CAAA,CAClBsC,EAAgB,IAAKtC,CAAAA,CAAQ,EAC/B,CACA,CAAA,MAAA,EAAS,CACP,MAAO,CAAA,MAAA,CAAOoC,EAAeD,CAAS,EACxC,CACF,CACMO,CAAAA,CAAAA,CAAQ9H,EAAeI,EAAcJ,CAAAA,CAAAA,CAAe,EAAIwH,CAAAA,CAAa,EAAG,CAC5E,KAAA,CAAOA,CACT,CAAC,CAAA,CAAGG,CAAe,CACnB,CAAA,GAAIN,EACF,IAAWpJ,IAAAA,CAAAA,IAAOoJ,EAAS,CACzB,IAAMd,EAASc,CAAQpJ,CAAAA,CAAG,EACtBsI,CACF,EAAA,MAAA,CAAO,eAAeuB,CAAO7J,CAAAA,CAAAA,CAAK,CAChC,GAAM,EAAA,CACJ,OAAOiF,EAAS,CAAA,IAAMqD,EAAO,IAAKuB,CAAAA,CAAAA,CAAON,CAAa,CAAC,CAAA,CAAE,KAC3D,CACA,CAAA,UAAA,CAAY,GACZ,YAAc,CAAA,CAAA,CAChB,CAAC,EAEL,CAEF,GAAIF,CAAAA,CACF,QAAWrJ,CAAOqJ,IAAAA,CAAAA,CAAS,CACzB,IAAMS,CAAAA,CAAST,EAAQrJ,CAAG,CAAA,CACtB8J,IACFD,CAAM7J,CAAAA,CAAG,EAAI,SAAYuB,GAAAA,CAAAA,CAAM,CAC7B,IAAM8E,CAAAA,CAASyD,EAAO,KAAMP,CAAAA,CAAAA,CAAehI,CAAI,CAC/C,CAAA,OAAAkI,EAAgB,OAAStC,CAAAA,CAAAA,EAAaA,EAASoC,CAAa,CAAC,EACtDlD,CACT,CAAA,EAEJ,CAEF,OAAOwD,CACT,CACA,SAASE,EAAAA,CAAYC,EAAiB,CACpC,OAAO,UAAW,CAChB,IAAI5E,CACA,CAAA,OAAO4E,GAAoB,UAC7B5E,CAAAA,CAAAA,CAAU6E,GAAiBD,CAAe,CAAA,CAE1C5E,EAAU4E,CAEZ,CAAA,IAAMH,EAAQX,EAAmB9D,CAAAA,CAAO,EACxC,OAAI,OAAO4E,GAAoB,UAC7B,EAAA,MAAA,CAAO,KAAK5E,CAAQ,CAAA,OAAA,EAAW,EAAE,CAAA,CAAE,QAASpF,CAAQ,EAAA,CAClD6J,EAAM7J,CAAG,CAAA,CAAIoF,EAAQ,OAAQpF,CAAAA,CAAG,EAAE,IAAK6J,CAAAA,CAAK,EAC9C,CAAC,CAAA,CAEIA,CACT,CACF,CACA,SAASI,EAAAA,CAAiBC,EAAY,CACpC,IAAMC,EAAW,IAAID,CAAAA,CACff,EAAwB,MAAO,CAAA,MAAA,CAAO,IAAI,CAC1CC,CAAAA,CAAAA,CAAU,EACVC,CAAAA,CAAAA,CAAU,EAChB,CAAA,OAAA,MAAA,CAAO,oBAAoBc,CAAQ,CAAA,CAAE,QAASnK,CAAQ,EAAA,CACpDmJ,EAAMnJ,CAAG,CAAA,CAAImK,EAASnK,CAAG,EAC3B,CAAC,CACD,CAAA,MAAA,CAAO,oBAAoBkK,CAAW,CAAA,SAAS,EAAE,OAASlK,CAAAA,CAAAA,EAAQ,CAChE,IAAMoK,CAAAA,CAAa,OAAO,wBAAyBF,CAAAA,CAAAA,CAAW,UAAWlK,CAAG,CAAA,CACxEoK,IACE,OAAOA,CAAAA,CAAW,KAAQ,UAC5BhB,CAAAA,CAAAA,CAAQpJ,CAAG,CAAI,CAAA,UAAW,CACxB,OAAOoK,CAAAA,CAAW,IAAI,IAAK,CAAA,IAAI,CACjC,CACS,CAAA,OAAOA,EAAW,KAAU,EAAA,UAAA,EAAcpK,IAAQ,aAC3DqJ,GAAAA,CAAAA,CAAQrJ,CAAG,CAAI,CAAA,SAAA,GAAYuB,EAAM,CAC/B,OAAO6I,EAAW,KAAM,CAAA,KAAA,CAAM,KAAM7I,CAAI,CAC1C,IAGN,CAAC,CAAA,CACM,CACL,KAAA4H,CAAAA,CAAAA,CACA,QAAAC,CACA,CAAA,OAAA,CAAAC,CACF,CACF,CCvzBA,IAAIgB,EAAAA,CAAe,KACfC,EAAgB,CAAA,QAAA,CAChBC,EAAgB,UAChBC,CAAAA,EAAAA,CAAiB,GACjBC,EAAoB,CAAA,GAAA,CACpBC,GAAkB,GAClBC,CAAAA,EAAAA,CAAU,MACVC,EAAc,CAAA,mBAAA,CACdC,GAAgB,KAAM,CACxB,aAAc,CACZ,IAAA,CAAK,WAAa,EACpB,CACA,IAAI,KAAQ,EAAA,CACV,OAAO,IAAK,CAAA,UAAA,GAAe,CAC7B,CACA,IAAI,OAAQ,CACV,OAAO,KAAK,UAAe,GAAA,CAC7B,CACA,IAAI,QAAA,EAAW,CACb,OAAO,IAAA,CAAK,aAAe,CAC7B,CACA,QAAS,CACP,IAAA,CAAK,WAAa,EACpB,CACA,QAAS,CACP,IAAA,CAAK,WAAa,EACpB,CACA,WAAY,CACV,IAAA,CAAK,WAAa,EACpB,CACF,EACIC,CAAgB,CAAA,IAAID,GACpBE,EAA+B,CAAA,IAAI,IACvC,SAASC,EAAAA,CAAeC,EAAMrB,CAAO,CAAA,CACnCmB,GAAa,GAAIE,CAAAA,CAAAA,CAAM,CACrB,KAAArB,CAAAA,CACF,CAAC,EACH,CACA,SAASsB,EAAkBD,CAAAA,CAAAA,CAAM,CAC/B,IAAIE,EACJ,OAAQA,CAAAA,CAAAA,CAAKJ,GAAa,GAAIE,CAAAA,CAAI,IAAM,IAAO,CAAA,KAAA,CAAA,CAASE,EAAG,KAC7D,CAGA,IAAIC,EAAoB,CAAA,MAAMA,CAAkB,CAC9C,WAAA,EAAc,CAEZ,IAAK,CAAA,KAAA,CAAQ,CACX,OAAyB,CAAA,IAAI,IAC7B,OAAyB,CAAA,IAAI,GAC/B,EACF,CACA,kBAAmB,EAEnB,qBAAsB,EAGtB,QAAQC,CAAMvI,CAAAA,CAAAA,CAAI,CAChB,IAAIqI,CAAAA,CAAAA,CACHA,EAAK,IAAK,CAAA,KAAA,CAAME,CAAI,CAAM,GAAA,IAAA,EAAgBF,EAAG,GAAIrI,CAAAA,CAAE,EACtD,CAEA,UAAA,CAAWwI,EAAS,CAClB,OAAOF,EAAkB,OAAQE,CAAAA,CAAO,CAC1C,CAEA,UAAA,CAAWA,EAASlL,CAAO,CAAA,CACzBgL,EAAkB,OAAQE,CAAAA,CAAO,EAAIlL,EACvC,CACA,SAAU,CACRgL,CAAAA,CAAkB,IAAM,KAC1B,CACA,WAAY,CACVA,CAAAA,CAAkB,IAAM,KAC1B,CAEA,YAAa,CACX,MAAA,CAAO,OAAO,IAAK,CAAA,KAAK,EAAE,OAASG,CAAAA,CAAAA,EAAQA,CAAI,CAAA,KAAA,EAAO,EACxD,CACF,EACAH,EAAkB,CAAA,GAAA,CAAM,KACxBA,EAAkB,CAAA,OAAA,CAAU,EAC5B,CAAA,IAAII,EAAmBJ,EAGvB,CAAA,SAASK,GAAUC,CAAM,CAAA,CACvB,OAAOA,CAAgBC,YAAAA,EACzB,CACA,IAAIC,CAAAA,CAAiB,EACjBD,EAAU,CAAA,cAAcH,CAAiB,CAC3C,WAAA,CAAYK,EAAUC,CAAQ,CAAA,GAAI9L,CAAK,CAAA,CACrC,OACA,CAAA,IAAA,CAAK,SAAW6L,CAChB,CAAA,IAAA,CAAK,MAAQC,CACb,CAAA,IAAA,CAAK,GAAM9L,CAAAA,CAAAA,CACXgL,GAAea,CAAUD,CAAAA,CAAc,EACvC,IAAK,CAAA,SAAA,CAAY,KAAK,eAAgB,GACxC,CACA,eAAkB,EAAA,CAChB,GAAI9M,CAAQ,CAAA,IAAA,CAAK,QAAQ,CAAG,CAAA,CAC1B,IAAMiN,CAAa,CAAA,IAAA,CAAK,SAAS,IAAKnB,CAAAA,EAAW,EAEjD,OADwB,IAAA,CAAK,kBAAkBmB,CAAU,CAAA,CAClC,MAAMnB,EAAW,CAC1C,CACA,OAAO,EACT,CACA,iBAAA,CAAkBmB,EAAY,CAC5B,OAAOA,EAAW,UAAW,CAAA,oBAAA,CAAsB,CAACC,CAAAA,CAAOC,EAAIC,CACzDD,GAAAA,CAAAA,CACEA,EAAG,QAAS,CAAA,SAAS,EAAUD,CAC5BC,CAAAA,CAAAA,CAAG,QAAQ,4BAA8B,CAAA,CAACE,EAAGC,CAASC,CAAAA,CAAAA,GACpD,IAAID,CAAO,CAAA,UAAA,EAAaR,CAAc,CAAIS,CAAAA,EAAAA,CAAAA,EAAS,EAAE,CAC7D,CAAA,CAAA,CAAA,CACQH,GAAMA,CAAG,CAAA,OAAA,CAAQtB,GAAa,EAAE,CAAA,CAAE,MACpC,CAAA,CAAA,MAAA,EAAuBgB,CAAc,CAAMM,GAAAA,EAAAA,CAAE,OAE/CF,CACR,CACH,CACA,KAAQ,EAAA,CACN,KAAK,OAAQ,EAAA,CACb,IAAMM,CAAS,CAAA,IAAA,CAAK,QACpB,CAAA,OAAA,IAAA,CAAK,WACEA,CAAAA,CACT,CACA,MAAS,EAAA,CACP,GAAI9M,CAAW,CAAA,IAAA,CAAK,QAAQ,CAAG,CAAA,CAC7B,IAAM+M,CAAO,CAAA,IAAA,CAAK,SAAS,IAAK,CAAA,KAAK,EACrC,OAAId,EAAAA,CAAUc,CAAI,CACTA,CAAAA,CAAAA,CAAK,OAEL,CAAA,MAAA,CAAOA,CAAI,CAEtB,CACA,OAAO,IAAK,CAAA,cAAA,EACd,CACA,cAAA,EAAiB,CACf,OAAO,MAAA,CAAA,OAAA,CAAQ,KAAK,KAAK,CAAA,CAAE,OAAQ,CAAA,CAAC,CAACvM,CAAKwM,CAAAA,CAAG,IAAM,CACjD,IAAMC,EAAWD,CAAI,CAAA,QAAA,CACrB,KAAK,cAAeA,CAAAA,CAAG,EACvB,IAAME,CAAAA,CAAY,KAAK,SAAU,CAAA,SAAA,CAAWC,GAAMA,CAAE,CAAA,QAAA,CAAS,YAAY3M,CAAG,CAAA,CAAA,CAAG,CAAC,CAC5EyM,CAAAA,CAAAA,EACF,KAAK,cAAeA,CAAAA,CAAAA,CAAUC,CAAS,CAEzC,CAAA,IAAA,CAAK,UAAUA,CAAS,CAAA,CAAI,KAAK,SAAUA,CAAAA,CAAS,EAAE,OACpD,CAAA,CAAA,SAAA,EAAY1M,CAAG,CACf,CAAA,CAAA,CAAA,CAAA,SAAA,EAAYA,CAAG,CAAA,EAAA,EAAK,KAAK,kBAAmBwM,CAAAA,CAAG,CAAC,CAClD,CAAA,EACF,CAAC,CACM,CAAA,IAAA,CAAK,UAAU,IAAK,CAAA,EAAE,CAC/B,CACA,cAAA,CAAeV,EAAO,CACpB,MAAA,CAAO,QAAQA,CAAK,CAAA,CAAE,QAAQ,CAAC,CAAC9L,EAAKI,CAAK,CAAA,GAAM,CAC1CJ,CAAQuK,GAAAA,CAAAA,EAED/K,EAAWY,CAAK,CAAA,CADzB,OAAO0L,CAAM9L,CAAAA,CAAG,EAGP4E,CAASxE,CAAAA,CAAK,IACvB0L,CAAM9L,CAAAA,CAAG,EAAII,CAAM,CAAA,KAAA,EAEvB,CAAC,EACH,CACA,kBAAmB0L,CAAAA,CAAAA,CAAO,CACxB,OAAO,MAAA,CAAO,QAAQA,CAAK,CAAA,CAAE,OAAO,CAAC,CAAC9L,EAAKI,CAAK,CAAA,GAAMJ,IAAQuK,CAAiB,EAAA,CAAC/K,EAAWY,CAAK,CAAC,EAAE,GAAI,CAAA,CAAC,CAACJ,CAAKI,CAAAA,CAAK,IAAM,CAAGJ,EAAAA,CAAG,KAAKU,EAAO,CAAA,MAAA,CAAON,CAAK,CAAC,CAAC,GAAG,CAAE,CAAA,IAAA,CAAK,GAAG,CACxK,CACA,eAAeqM,CAAUC,CAAAA,CAAAA,CAAW,CAClCD,CAAS,CAAA,OAAA,CAAQ,CAAC,CAACG,CAAK,IAAM,CAC5BhB,CAAAA,EAAAA,CACA,IAAMiB,CAAgB,CAAA,IAAA,CAAK,YAAYD,CAAK,CAAA,CAC5C,KAAK,SAAUF,CAAAA,CAAS,GAAKG,EAC/B,CAAC,EACH,CACA,WAAA,CAAYD,EAAO,CACjB,GAAIhI,EAASgI,CAAK,CAAA,CAChB,OAAO,CAAiChB,MAAAA,EAAAA,CAAc,MAAMgB,CAAM,CAAA,KAAK,OAClE,GAAIpN,CAAAA,CAAWoN,CAAK,CACzB,CAAA,OAAO,KAAK,WAAYA,CAAAA,CAAAA,CAAM,KAAK,KAAK,CAAC,CACpC,CAAA,GAAInB,GAAUmB,CAAK,CAAA,CAAG,CAC3B,IAAME,CAAAA,CAAcF,EAAM,KAAM,EAAA,CAChC,OAAOpN,CAAWsN,CAAAA,CAAW,EAAIA,CAAY,CAAA,IAAA,CAAK,KAAK,CAAIC,CAAAA,EAAAA,CAAcD,CAAW,CACtF,CAAA,YACS,CAAiClB,MAAAA,EAAAA,CAAc,MAAMgB,CAAK,CAAA,IAAA,CAErE,CACF,CAGII,CAAAA,EAAAA,CAAoB,uEAAuE,KAAM,CAAA,GAAG,EACxG,SAASC,EAAAA,CAAW/M,EAAM,CACxB,GAAIgN,EAAahN,CAAI,CAAA,EAAKA,aAAgB,IAAQuL,EAAAA,EAAAA,CAAUvL,CAAI,CAAA,CAC9D,OAAOA,CAET,CAAA,IAAMiN,EAAO1N,EAAQS,CAAAA,CAAI,EAAI,EAAK,CAAA,MAAA,CAAOA,CAAI,CAC7C,CAAA,OAAO,SAAS,cAAeiN,CAAAA,CAAI,CACrC,CACA,SAASC,EAAYC,CAAQT,CAAAA,CAAAA,CAAOU,EAAS,IAAM,CAAA,CACjD,IAAMC,CAAaL,CAAAA,CAAAA,CAAaI,CAAM,CAAIA,CAAAA,CAAAA,CAAO,WAAaA,CACxDE,CAAAA,CAAAA,CAAM1C,EAAc,KACtBoC,CAAAA,CAAAA,CAAaN,CAAK,CACpBA,CAAAA,CAAAA,CAAM,MAAMS,CAAQE,CAAAA,CAAU,EACrBA,CAAc,EAAA,CAACC,CACxBD,CAAAA,CAAAA,CAAW,OAAOX,CAAK,CAAA,CACbY,GACVH,CAAO,CAAA,MAAA,CAAOT,CAAK,EAEvB,CACA,SAASa,EAAYb,CAAAA,CAAAA,CAAO,CACtBM,CAAaN,CAAAA,CAAK,EACpBA,CAAM,CAAA,OAAA,GAESA,CAAM,CAAA,UAAA,EAEnBA,EAAM,MAAO,GAGnB,CACA,SAASc,EAAAA,CAAaL,EAAQ3B,CAAMkB,CAAAA,CAAAA,CAAO,CACzCQ,CAAYC,CAAAA,CAAAA,CAAQ3B,EAAMkB,CAAK,CAAA,CAC/Ba,GAAYb,CAAK,EACnB,CACA,SAASe,EAAAA,CAAa3E,EAAS4E,CAAMxN,CAAAA,CAAAA,CAAO,CACtCwN,CAAS,GAAA,OAAA,CACXC,GAAkB7E,CAAS5I,CAAAA,CAAK,EACvBwN,CAAS,GAAA,OAAA,CAClBE,GAAkB9E,CAAS5I,CAAAA,CAAK,EAEhC2N,EAAoB/E,CAAAA,CAAAA,CAAS4E,EAAMxN,CAAK,EAE5C,CACA,SAASyN,EAAAA,CAAkB7E,EAAS5I,CAAO,CAAA,CACrC,OAAOA,CAAU,EAAA,QAAA,CACnB4I,EAAQ,SAAY5I,CAAAA,CAAAA,CACXtB,EAAQsB,CAAK,CAAA,CACtB4I,EAAQ,SAAY5I,CAAAA,CAAAA,CAAM,KAAK,GAAG,CAAA,CACzBA,GAAS,OAAOA,CAAAA,EAAU,WACnC4I,CAAQ,CAAA,SAAA,CAAY,OAAO,OAAQ5I,CAAAA,CAAK,CAAE,CAAA,MAAA,CAAO,CAACuF,CAAK,CAAA,CAAC3F,EAAK8F,CAAM,CAAA,GAAMH,GAAOG,CAAS,CAAA,CAAA,CAAA,EAAI9F,CAAG,CAAK,CAAA,CAAA,EAAA,CAAA,CAAK,EAAE,CAAE,CAAA,IAAA,IAElH,CACA,SAAS8N,GAAkB9E,CAAS5I,CAAAA,CAAAA,CAAO,CACrC,OAAOA,CAAAA,EAAU,SACnB4I,CAAQ,CAAA,KAAA,CAAM,QAAU5I,CACfA,CAAAA,CAAAA,EAAS,OAAOA,CAAU,EAAA,QAAA,EAEnC,OAAO,OADKA,CAAAA,CACM,EAAE,OAAQ,CAAA,CAAC,CAACJ,CAAK8F,CAAAA,CAAM,IAAM,CAC7CkD,CAAAA,CAAQ,KAAM,CAAA,WAAA,CAAY9H,GAAUlB,CAAG,CAAA,CAAG,OAAO8F,CAAM,CAAC,EAC1D,CAAC,EAEL,CACA,SAASiI,EAAAA,CAAoB/E,EAAS4E,CAAMxN,CAAAA,CAAAA,CAAO,CAC7CX,EAAQW,CAAAA,CAAK,EACf4I,CAAQ,CAAA,eAAA,CAAgB4E,CAAI,CACnBxN,CAAAA,CAAAA,GAAU,GACnB4I,CAAQ,CAAA,YAAA,CAAa4E,EAAM,EAAE,CAAA,CAEzB5E,aAAmB,gBAAoB4E,EAAAA,CAAAA,GAAS,QAClD5E,CAAQ,CAAA,KAAA,CAAQ,OAAO5I,CAAK,CAAA,CAE5B4I,EAAQ,YAAa4E,CAAAA,CAAAA,CAAM,OAAOxN,CAAK,CAAC,EAG9C,CACA,SAAS4N,EAAStC,CAAAA,CAAAA,CAAMuC,EAAQ,CAC9B,GAAIvC,aAAgB,gBAClB,CAAA,OAAQA,EAAK,IAAM,EACjB,IAAK,UACH,CAAA,OAAOwC,EAAiBxC,CAAM,CAAA,QAAA,CAAU,IAAM,CAC5CuC,CAAAA,CAAO,EAAQvC,CAAK,CAAA,OAAQ,EAC9B,CAAC,CAAA,CACH,IAAK,MACH,CAAA,OAAOwC,EAAiBxC,CAAM,CAAA,QAAA,CAAU,IAAM,CAC5CuC,CAAAA,CAAOvC,EAAK,KAAQA,CAAAA,CAAAA,CAAK,MAAQ,EAAE,EACrC,CAAC,CACH,CAAA,IAAK,OACH,OAAOwC,CAAAA,CAAiBxC,EAAM,QAAU,CAAA,IAAM,CACxCA,CAAK,CAAA,KAAA,EACPuC,EAAOvC,CAAK,CAAA,KAAK,EAErB,CAAC,CAAA,CACH,IAAK,QACH,CAAA,OAAOwC,EAAiBxC,CAAM,CAAA,OAAA,CAAS,IAAM,CAC3C,IAAMtL,EAAQ,MAAO,CAAA,UAAA,CAAWsL,EAAK,KAAK,CAAA,CAC1CuC,EAAO,MAAO,CAAA,KAAA,CAAM7N,CAAK,CAAI,CAAA,EAAA,CAAK,OAAOA,CAAK,CAAC,EACjD,CAAC,CAAA,CACH,IAAK,OACH,CAAA,OAAO8N,EAAiBxC,CAAM,CAAA,QAAA,CAAU,IAAM,CAC5CuC,EAAOvC,CAAK,CAAA,OAAA,CAAUA,EAAK,KAAQ,CAAA,EAAE,EACvC,CAAC,CAAA,CACH,IAAK,MACH,CAAA,OAAOwC,EAAiBxC,CAAM,CAAA,OAAA,CAAS,IAAM,CAC3CuC,CAAAA,CAAOvC,EAAK,KAAK,EACnB,CAAC,CACL,CAEF,GAAIA,CAAgB,YAAA,iBAAA,CAClB,OAAOwC,CAAiBxC,CAAAA,CAAAA,CAAM,SAAU,IAAM,CAC5CuC,EAAOvC,CAAK,CAAA,KAAK,EACnB,CAAC,CAAA,CAEH,GAAIA,CAAgB,YAAA,mBAAA,CAClB,OAAOwC,CAAiBxC,CAAAA,CAAAA,CAAM,OAAS,CAAA,IAAM,CAC3CuC,CAAOvC,CAAAA,CAAAA,CAAK,KAAK,EACnB,CAAC,CAEL,CACA,SAASwC,EAAiBxC,CAAMyC,CAAAA,CAAAA,CAAW9G,EAAS,CAClD,OAAAqE,EAAK,gBAAiByC,CAAAA,CAAAA,CAAW9G,CAAO,CACjC,CAAA,IAAMqE,EAAK,mBAAoByC,CAAAA,CAAAA,CAAW9G,CAAO,CAC1D,CACA,SAAS+G,EAAiBhC,CAAAA,CAAAA,CAAS,CACjC,OAAOY,EAAAA,CAAkB,SAASZ,CAAO,CAAA,CAAI,IAAIA,CAAO,CAAA,EAAA,CAAA,CAAO,IAAIA,CAAO,CAAA,GAAA,EAAMA,CAAO,CACzF,CAAA,CAAA,CACA,SAASW,EAAAA,CAAclI,EAAQ,CAC7B,OAAID,EAASC,CAAM,CAAA,CACVA,EAAO,KAEPA,CAAAA,CAEX,CACA,IAAIwJ,EAAAA,CAAgB,cAAc7C,CAAiB,CACjD,YAAYK,CAAUC,CAAAA,CAAAA,CAAO9L,EAAK,CAChC,KAAA,GACA,IAAK,CAAA,QAAA,CAAW6L,EAChB,IAAK,CAAA,KAAA,CAAQC,EACb,IAAK,CAAA,GAAA,CAAM9L,EACX,IAAK,CAAA,OAAA,CAA0B,IAAI,GACnC,CAAA,IAAA,CAAK,SAAW,IAChB,CAAA,IAAA,CAAK,SAA2B,IAAI,GAAA,CACpC,KAAK,KAAQ,CAAA,GACb,IAAK,CAAA,MAAA,CAAS,KACd,IAAK,CAAA,MAAA,CAAS,KACd,IAAK,CAAA,GAAA,GAAQ,KAAK,GAAM8L,CAAAA,CAAAA,EAASA,EAAM,GACvC,CAAA,CAAA,IAAA,CAAK,aAAe,IAAK,CAAA,UAAA,CAAa,KAAK,gBAAiBA,CAAAA,CAAK,GACnE,CACA,gBAAA,CAAiBA,EAAO,CACtB,OAAKA,EACE7F,EACL6F,CAAAA,CAAAA,CACC9L,GAAQO,CAAWP,CAAAA,CAAAA,CAAKqK,EAAY,CAAK9J,EAAAA,CAAAA,CAAWP,EAAKsK,EAAa,CAAA,EAAKtK,IAAQuK,CACtF,CAAA,CAJmB,EAKrB,CACA,IAAI,UAAa,EAAA,CACf,IAAIY,CAAAA,CAAImD,EACR,OAAQA,CAAAA,CAAAA,CAAAA,CAAMnD,EAAK,IAAK,CAAA,QAAA,GAAa,KAAO,KAASA,CAAAA,CAAAA,CAAAA,CAAG,aAAe,IAAOmD,CAAAA,CAAAA,CAAK,IACrF,CACA,IAAI,aAAc,CAChB,IAAInD,EAAImD,CACR,CAAA,OAAA,CAAQA,GAAMnD,CAAK,CAAA,IAAA,CAAK,WAAa,IAAO,CAAA,KAAA,CAAA,CAASA,EAAG,WAAgB,GAAA,IAAA,CAAOmD,EAAK,CACtF,CAAA,CACA,MAAMjB,CAAQC,CAAAA,CAAAA,CAAQ,CACpB,IAAInC,CAAAA,CAAImD,EAAIC,CAAIC,CAAAA,CAAAA,CAEhB,GADA,IAAK,CAAA,MAAA,CAASnB,CACV,CAAA,CAAC7N,EAAW,IAAK,CAAA,QAAQ,EAC3B,MAAM,IAAI,MAAM,6BAA6B,CAAA,CAE/C,OAAI,IAAK,CAAA,WAAA,CAAA,CACC8O,GAAMnD,CAAK,CAAA,IAAA,CAAK,WAAa,IAAO,CAAA,KAAA,CAAA,CAASA,EAAG,KAAMkC,CAAAA,CAAAA,CAAQC,CAAM,CAAM,GAAA,IAAA,CAAOgB,EAAK,EAAC,EAEjG,KAAK,OAAQ,EAAA,CACb,KAAK,QAAW,CAAA,IAAA,CAAK,SAASvI,EAAS,CAAA,IAAA,CAAK,WAAY,CAACwE,CAAa,CAAC,CAAC,CAAA,CACxE,KAAK,KAASiE,CAAAA,CAAAA,CAAAA,CAAAA,CAAMD,CAAK,CAAA,IAAA,CAAK,WAAa,IAAO,CAAA,KAAA,CAAA,CAASA,EAAG,KAAMlB,CAAAA,CAAAA,CAAQC,CAAM,CAAM,GAAA,IAAA,CAAOkB,EAAK,EAAC,CACrG,KAAK,cAAe,EAAA,CACpB,KAAK,UAAW,CAAA,IAAA,CAAK,KAAK,CAC1B,CAAA,IAAA,CAAK,WACE,CAAA,IAAA,CAAK,MACd,CACA,OAAA,EAAU,CACR,IAAIrD,CAAAA,CACJ,KAAK,kBAAmB,CAAA,SAAS,EACjC,IAAK,CAAA,OAAA,IACJA,CAAK,CAAA,IAAA,CAAK,WAAa,IAAgBA,EAAAA,CAAAA,CAAG,SAC3C,CAAA,IAAA,CAAK,YACD,CAAA,IAAA,CAAK,KACPsD,EAAe,CAAA,MAAA,CAAO,KAAK,GAAG,EAElC,CACA,UAAa,EAAA,CACX,KAAK,QAAW,CAAA,IAAA,CAChB,KAAK,UAAa,CAAA,GAClB,IAAK,CAAA,KAAA,CAAQ,EACb,CAAA,IAAA,CAAK,OAAS,KAChB,CACA,mBAAmBC,CAAM,CAAA,CACvB,KAAK,KAAMA,CAAAA,CAAI,EAAE,OAASrH,CAAAA,CAAAA,EAAYA,GAAS,EACjD,CACA,cAAiB,EAAA,CACf,KAAK,KAAM,CAAA,OAAA,CAAQ,QAASA,CAAYA,EAAAA,CAAAA,EAAS,EACnD,CACA,gBAAmB,EAAA,CACjB,KAAK,KAAM,CAAA,OAAA,CAAQ,QAASA,CAAYA,EAAAA,CAAAA,EAAS,EACnD,CACA,cAAe,CACb,IAAA,IAAWsH,KAAW,IAAK,CAAA,OAAA,CACzBA,GAEF,CAAA,IAAA,CAAK,QAAQ,KAAM,GACrB,CACA,WAAYjD,CAAAA,CAAAA,CAAM,CAKhB,GAJA,MAAA,CAAO,OAAO,IAAK,CAAA,UAAA,CAAYA,EAAK,UAAU,CAAA,CAC9C,KAAK,QAAWA,CAAAA,CAAAA,CAAK,SACrB,IAAK,CAAA,QAAA,CAAWA,EAAK,QACrB,CAAA,IAAA,CAAK,KAAQA,CAAAA,CAAAA,CAAK,MACdvL,CAAWuL,CAAAA,CAAAA,CAAK,MAAO,IAAK,CAAA,KAAK,EAAG,CACtC,IAAMI,EAAQ,IAAK,CAAA,KAAA,CACnB,KAAK,KAAQJ,CAAAA,CAAAA,CAAK,MAClB,IAAK,CAAA,UAAA,CAAWI,CAAK,EACvB,CACF,CACA,YAAa8C,CAAAA,CAAAA,CAAU,CACrB,IAAI3K,CAAAA,CAAQ,KAAK,QAAS,CAAA,GAAA,CAAI2K,CAAQ,CACtC,CAAA,OAAK3K,IACHA,CAAQ,CAAA,CAAE,QAAS,IAAM,EACvB,CACF,CAAA,IAAA,CAAK,SAAS,GAAI2K,CAAAA,CAAAA,CAAU3K,CAAK,CAAA,CAAA,CAEnCA,EAAM,OAAQ,EAAA,CACPA,CACT,CACA,UAAA,CAAW6H,EAAO,CAChB,IAAIX,EACJ,GAAKW,CAAAA,CAGL,QAAW,CAAC9L,CAAAA,CAAKkC,CAAI,CAAK,GAAA,MAAA,CAAO,QAAQ4J,CAAK,CAAA,CACxCvL,EAAWP,CAAKqK,CAAAA,EAAY,KAAOc,CAAK,CAAA,IAAA,CAAK,WAAa,IAAgBA,EAAAA,CAAAA,CAAG,YAC/E,IAAK,CAAA,kBAAA,CAAmBnL,EAAKkC,CAAI,CAAA,CACxBlC,IAAQ2K,EACjB,CAAA,IAAA,CAAK,SAASzI,CAAI,CAAA,CACT3B,EAAWP,CAAKsK,CAAAA,EAAa,EACtC,IAAK,CAAA,kBAAA,CAAmBtK,EAAKkC,CAAI,CAAA,CACxBlC,IAAQuK,CACjB,EAAA,IAAA,CAAK,gBAAgBvK,CAAKkC,CAAAA,CAAI,EAGlC,IAAK,CAAA,KAAA,CAAQ4J,GACf,CACA,kBAAA,CAAmB9L,EAAKkC,CAAM,CAAA,CAC5B,IAAM2M,CAAQ7O,CAAAA,CAAAA,CAAI,MAAM,CAAC,CAAA,CAAE,aACrB2O,CAAAA,CAAAA,CAAUT,EAAiB,IAAK,CAAA,QAAA,CAAS,MAAM,CAAC,CAAA,CAAGW,EAAO3M,CAAI,CAAA,CACpE,KAAK,OAAQ,CAAA,GAAA,CAAIyM,CAAO,EAC1B,CACA,SAASzM,CAAM,CAAA,CACb,IAAIiJ,CAAAA,CAAImD,EACRpM,CAAK,CAAA,KAAA,CAAA,CAASoM,GAAMnD,CAAK,CAAA,IAAA,CAAK,WAAa,IAAO,CAAA,KAAA,CAAA,CAASA,EAAG,UAAe,GAAA,IAAA,CAAOmD,EAAK,KAC3F,CACA,mBAAmBtO,CAAKkC,CAAAA,CAAAA,CAAM,CAC5B,IAAK,CAAA,UAAA,CAAWlC,CAAG,CAAI+M,CAAAA,EAAAA,CAAc7K,CAAI,EAC3C,CACA,gBAAgBlC,CAAKkC,CAAAA,CAAAA,CAAM,CACzB,IAAM+B,CAAAA,CAAQ,KAAK,YAAajE,CAAAA,CAAG,EACnCiE,CAAM,CAAA,OAAA,CAAUkB,EAAO,IAAM,CAC3B,KAAK,UAAWnF,CAAAA,CAAG,EAAIR,CAAW0C,CAAAA,CAAI,EAAIA,CAAK,EAAA,CAAIA,EACrD,CAAC,EACH,CACA,OAAU,EAAA,CACR,KAAK,QAAS,CAAA,OAAA,CAAS+B,GAAU,CAC/B,IAAIkH,EACJ,OAAQA,CAAAA,CAAAA,CAAKlH,EAAM,OAAY,GAAA,IAAA,CAAO,OAASkH,CAAG,CAAA,IAAA,CAAKlH,CAAK,CAC9D,CAAC,EACD,IAAK,CAAA,QAAA,CAAS,OACd,CAAA,IAAA,CAAK,QAAQ,OAAS0K,CAAAA,CAAAA,EAAYA,GAAS,CAAA,CAC3C,KAAK,OAAQ,CAAA,KAAA,GACf,CACF,CAAA,CAGA,SAASG,EAAAA,CAAczB,EAAQ0B,CAAaC,CAAAA,CAAAA,CAAc1B,EAAQ,CAChE,IAAMjH,EAAyB,IAAI,GAAA,CAC7BoG,EAAW,KAAM,CAAA,IAAA,CAAKsC,EAAY,MAAO,EAAC,EAChD,GAAItC,CAAAA,CAAS,QAAUuC,CAAa,CAAA,MAAA,GAAW,EAC7C,OAAAC,EAAAA,CAAc5B,EAAQZ,CAAUa,CAAAA,CAAM,EAC/BjH,CAET,CAAA,IAAM6I,EAAW,EAAC,CACZC,EAAkBC,EAAQJ,CAAAA,CAAY,EACxCK,CAAa,CAAA,CAAA,CACjB,OAAS,CAACC,CAAAA,CAAG1C,CAAK,CAAKoC,GAAAA,CAAAA,CAAa,SAAW,CAAA,CAC7C,IAAIO,CAAY9C,CAAAA,CAAAA,CAAS4C,CAAU,CAC/BG,CAAAA,CAAAA,CAAUC,EAAOF,CAAWD,CAAAA,CAAC,EACjC,KAAOC,CAAAA,EAAa,CAACJ,CAAgB,CAAA,GAAA,CAAIK,CAAO,CAC9C/B,EAAAA,EAAAA,CAAY8B,CAAS,CACrBR,CAAAA,CAAAA,CAAY,OAAOS,CAAO,CAAA,CAC1BD,EAAY9C,CAAS,CAAA,EAAE4C,CAAU,CACjCG,CAAAA,CAAAA,CAAUC,EAAOF,CAAWD,CAAAA,CAAC,EAE/B,IAAMtP,CAAAA,CAAMyP,EAAO7C,CAAO0C,CAAAA,CAAC,EACrBI,CAAYX,CAAAA,CAAAA,CAAY,IAAI/O,CAAG,CAAA,CAIrC,GAHI0P,CAAAA,GACF9C,EAAQ+C,EAAMtC,CAAAA,CAAAA,CAAQqC,EAAW9C,CAAK,CAAA,CAAA,CAEpC2C,EACF,GAAIA,CAAAA,GAAcG,EAChBL,CACK,EAAA,CAAA,KAAA,CACL,IAAMO,EAAc,CAAA,QAAA,CAAS,cAAc,EAAE,CAAA,CAC7CxC,EAAYC,CAAQuC,CAAAA,EAAAA,CAAaL,CAAS,CAC1CL,CAAAA,CAAAA,CAAS,KAAK,CAACU,EAAAA,CAAahD,CAAK,CAAC,EACpC,MAEAQ,CAAYC,CAAAA,CAAAA,CAAQT,EAAOU,CAAM,CAAA,CAEnCjH,EAAO,GAAIrG,CAAAA,CAAAA,CAAK4M,CAAK,EACvB,CACA,OAAAsC,CAAS,CAAA,OAAA,CAAQ,CAAC,CAACU,EAAahD,CAAK,CAAA,GAAM,CACzCc,EAAaL,CAAAA,CAAAA,CAAQT,EAAOgD,CAAW,EACzC,CAAC,CACDb,CAAAA,CAAAA,CAAY,QAAQ,CAACnC,CAAAA,CAAO5M,IAAQ,CAC9B4M,CAAAA,CAAM,aAAe,CAACvG,CAAAA,CAAO,IAAIrG,CAAG,CAAA,EACtCyN,GAAYb,CAAK,EAErB,CAAC,CACMvG,CAAAA,CACT,CACA,SAAS4I,EAAAA,CAAc5B,EAAQZ,CAAUa,CAAAA,CAAAA,CAAQ,CAC/C,GAAID,CAAAA,CAAO,WAAW,MAAWZ,GAAAA,CAAAA,CAAS,QAAUa,CAAS,CAAA,CAAA,CAAI,CAC/DD,CAAAA,CAAAA,CAAAA,CAAO,UAAY,EACfC,CAAAA,CAAAA,EACFF,EAAYC,CAAQC,CAAAA,CAAM,OAEvB,CACL,IAAMuC,EAAQ,QAAS,CAAA,WAAA,GACjBjD,CAAQH,CAAAA,CAAAA,CAAS,CAAC,CAClBqD,CAAAA,CAAAA,CAAQ5C,EAAaN,CAAK,CAAA,CAAIA,EAAM,UAAaA,CAAAA,CAAAA,CACvDiD,EAAM,cAAeC,CAAAA,CAAK,EACtBxC,CACFuC,CAAAA,CAAAA,CAAM,aAAavC,CAAM,CAAA,CAEzBuC,EAAM,WAAYxC,CAAAA,CAAM,EAE1BwC,CAAM,CAAA,cAAA,GACR,CACApD,CAAAA,CAAS,QAASf,CAAS,EAAA,CACrBwB,EAAaxB,CAAI,CAAA,EACnBA,EAAK,OAAQ,GAEjB,CAAC,EACH,CACA,SAASiE,EAAMtC,CAAAA,CAAAA,CAAQ3B,EAAMqE,CAAM,CAAA,CACjC,OAAIrE,CAASqE,GAAAA,CAAAA,CACJrE,EAELwB,CAAaxB,CAAAA,CAAI,GAAKwB,CAAa6C,CAAAA,CAAI,GAAKrE,CAAK,CAAA,QAAA,GAAaqE,EAAK,QACrEA,EAAAA,CAAAA,CAAK,YAAYrE,CAAI,CAAA,CACdqE,GAELrE,CAAgB,YAAA,IAAA,EAAQqE,aAAgB,IACtCrE,EAAAA,CAAAA,CAAK,cAAgBqE,CAAK,CAAA,WAAA,GAC5BrE,EAAK,WAAcqE,CAAAA,CAAAA,CAAK,aAEnBrE,CAETgC,GAAAA,EAAAA,CAAaL,CAAQ0C,CAAAA,CAAAA,CAAMrE,CAAI,CACxBqE,CAAAA,CAAAA,CACT,CACA,SAASX,EAAAA,CAAQ3C,EAAU,CACzB,IAAMpG,EAAyB,IAAI,GAAA,CACnC,OAAW,CAACiJ,CAAAA,CAAG1C,CAAK,CAAKH,GAAAA,CAAAA,CAAS,SAAW,CAAA,CAC3C,IAAMzM,CAAMyP,CAAAA,CAAAA,CAAO7C,EAAO0C,CAAC,CAAA,CAC3BjJ,EAAO,GAAIrG,CAAAA,CAAAA,CAAK4M,CAAK,EACvB,CACA,OAAOvG,CACT,CACA,SAASoJ,CAAO/D,CAAAA,CAAAA,CAAM9B,EAAO,CAC3B,GAAIsD,EAAaxB,CAAI,CAAA,CAAG,CACtB,IAAMsE,EAAStE,CAAK,CAAA,GAAA,CACpB,GAAyBsE,CAAW,EAAA,IAAA,CAClC,OAAO,MAAOA,CAAAA,CAAM,CAExB,CACA,OAAO,KAAKpG,CAAK,CAAA,CAAA,CACnB,CAGA,IAAIqG,EAAAA,CAAe,KAAM,CACvB,WAAA,CAAYpE,EAAUC,CAAO9L,CAAAA,CAAAA,CAAK,CAChC,IAAK,CAAA,QAAA,CAAW6L,EAChB,IAAK,CAAA,KAAA,CAAQC,EACb,IAAK,CAAA,GAAA,CAAM9L,EACX,IAAK,CAAA,OAAA,CAA0B,IAAI,GACnC,CAAA,IAAA,CAAK,QAAU,CACf,CAAA,CAAA,IAAA,CAAK,MAAQ,EAAC,CACd,IAAK,CAAA,QAAA,CAA2B,IAAI,GACpC,CAAA,IAAA,CAAK,cAAgB,EAAC,CACtB,KAAK,MAAS,CAAA,IAAA,CACV8K,EAAc,KAChB,GAAA,IAAA,CAAK,eAAiBI,EAAkB,CAAA,IAAA,CAAK,QAAQ,CAEzD,EAAA,CACA,IAAI,UAAa,EAAA,CACf,IAAIC,CACJ,CAAA,OAAA,CAAQA,EAAK,IAAK,CAAA,KAAA,CAAM,CAAC,CAAM,GAAA,IAAA,CAAOA,EAAK,IAC7C,CACA,IAAI,WAAc,EAAA,CAChB,OAAO,IAAK,CAAA,OACd,CACA,gBAAmB,EAAA,EAEnB,mBAAsB,EAAA,EAEtB,KAAMkC,CAAAA,CAAAA,CAAQC,EAAQ,CACpB,IAAInC,EAEJ,GADA,IAAA,CAAK,OAASkC,CACV,CAAA,IAAA,CAAK,YACP,OAAK,IAAA,CAAA,KAAA,CAAM,QAAS3B,CAAS0B,EAAAA,CAAAA,CAAYC,EAAQ3B,CAAM4B,CAAAA,CAAM,CAAC,CACvD,CAAA,IAAA,CAAK,MAEVxO,CAAQ,CAAA,IAAA,CAAK,QAAQ,CACvB,GAAA,IAAA,CAAK,SAAWoR,EAAe,CAAA,IAAA,CAAK,SAAS,IAAK,CAAA,EAAE,CAAC,CAEvD,CAAA,CAAA,IAAMC,EAAY,IAAK,CAAA,QAAA,CAAS,QAAQ,SAAU,CAAA,CAAA,CAAI,EAChDC,CAAaD,CAAAA,CAAAA,CAAU,UAC7B,CAAA,OAAA,CAAKhF,EAAKiF,CAAc,EAAA,IAAA,CAAO,OAASA,CAAW,CAAA,YAAA,GAAiB,MAAgBjF,CAAG,CAAA,IAAA,CAAKiF,EAAY,OAAO,CAAA,GAC7GA,EAAW,MAAO,EAAA,CAClBA,EAAW,UAAW,CAAA,OAAA,CAAS1E,GAAS,CACtCyE,CAAAA,CAAU,OAAOzE,CAAI,EACvB,CAAC,CAEH,CAAA,CAAA,IAAA,CAAK,MAAQ,KAAM,CAAA,IAAA,CAAKyE,EAAU,UAAU,CAAA,CACxCrF,EAAc,KAChB,CAAA,IAAA,CAAK,eAAeuC,CAAM,CAAA,CAE1B,KAAK,WAAYA,CAAAA,CAAAA,CAAQ8C,CAAS,CAEpC/C,CAAAA,CAAAA,CAAYC,CAAQ8C,CAAAA,CAAAA,CAAW7C,CAAM,CACrC,CAAA,IAAA,CAAK,WAAW,IAAK,CAAA,KAAK,EAC1B,IAAK,CAAA,OAAA,CAAU,GACR,IAAK,CAAA,KACd,CACA,OAAU,EAAA,CACR,KAAK,QAAS,CAAA,OAAA,CAASrJ,GAAU,CAC/BA,CAAAA,CAAM,SAAWA,CAAM,CAAA,OAAA,GACzB,CAAC,CAAA,CACD,KAAK,QAAS,CAAA,KAAA,GACd,IAAK,CAAA,OAAA,CAAQ,OACb,CAAA,IAAA,CAAK,MAAM,OAASyH,CAAAA,CAAAA,EAAS+B,GAAY/B,CAAI,CAAC,EAC9C,IAAK,CAAA,KAAA,CAAQ,EAAC,CACd,KAAK,OAAU,CAAA,CAAA,CAAA,CACX,KAAK,GACP+C,EAAAA,EAAAA,CAAe,OAAO,IAAK,CAAA,GAAG,EAElC,CACA,WAAA,CAAY/C,EAAM,CAChB,IAAA,CAAK,QAAUA,CAAK,CAAA,OAAA,CACpB,KAAK,KAAQA,CAAAA,CAAAA,CAAK,MAClB,IAAK,CAAA,QAAA,CAAWA,EAAK,QACrB,CAAA,IAAA,CAAK,QAAUA,CAAK,CAAA,OAAA,CACpB,IAAMI,CAAQ,CAAA,IAAA,CAAK,MACnB,IAAK,CAAA,KAAA,CAAQJ,EAAK,KAClB,CAAA,IAAA,CAAK,WAAWI,CAAK,EACvB,CACA,cAAeuB,CAAAA,CAAAA,CAAQ,CACrB,IAAK,CAAA,OAAA,CAAQ,IAAI,CAAGA,CAAAA,CAAM,EAC1B,IAAK,CAAA,YAAA,CAAaA,EAAQ,IAAK,CAAA,aAAA,CAAc,KAAK,IAAI,CAAC,EACzD,CAEA,WAAA,CAAYA,EAAQgD,CAAM,CAAA,CACxB,IAAIzG,CAAQ,CAAA,CAAA,CACZ,KAAK,OAAQ,CAAA,GAAA,CAAI,EAAGyD,CAAM,CAAA,CAC1B,IAAMiD,CAAc5E,CAAAA,CAAAA,EAAS,CACvBA,CAAK,CAAA,QAAA,GAAa,KAAK,sBACzB,EAAA,IAAA,CAAK,QAAQ,GAAI9B,CAAAA,CAAAA,EAAAA,CAAS8B,CAAI,EAElC,CAAA,CACA,KAAK,YAAa2E,CAAAA,CAAAA,CAAMC,CAAU,EACpC,CACA,YAAa5E,CAAAA,CAAAA,CAAMrE,EAAS,CACtBqE,CAAAA,CAAK,WAAa,IAAK,CAAA,sBAAA,EACzBrE,EAAQqE,CAAI,CAAA,CAEd,IAAIkB,CAAQlB,CAAAA,CAAAA,CAAK,WACjB,KAAOkB,CAAAA,EACL,KAAK,YAAaA,CAAAA,CAAAA,CAAOvF,CAAO,CAChCuF,CAAAA,CAAAA,CAAQA,EAAM,YAElB,CACA,cAAclB,CAAM,CAAA,CAClB,IAAIP,CACJ,CAAA,GAAIO,EAAK,QAAa,GAAA,IAAA,CAAK,aAAc,CACvC,GAAM,CAACgD,CAAM9E,CAAAA,CAAK,IAAMuB,CAAKO,CAAAA,CAAAA,CAAK,WAAgB,GAAA,IAAA,CAAO,OAASP,CAAG,CAAA,KAAA,CAAM,GAAG,CAAM,GAAA,GACpF,GAAqB,CAACuD,GAAlB,CAA0B,EAAA,CAAC9E,IAAU,IAAK,CAAA,cAAA,CAAgB,CAC5D,IAAM2G,CAAAA,CAAW7E,EAAK,WACtB,CAAA,IAAA,CAAK,QAAQ,GAAI,CAAA,CAAC9B,EAAO2G,CAAQ,EACnC,CACF,CAAW7E,KAAAA,GAAAA,CAAAA,CAAK,WAAa,IAAK,CAAA,SAAA,CAAW,CAC3C,GAAM,CAAE,GAAA8E,CAAK,CAAA,IAAA,CAAM,GAAAC,CAAG,CAAA,CAAA,CAAK/E,GAAQ,IAAO,CAAA,KAAA,CAAA,CAASA,CAAK,CAAA,OAAA,GAAY,EAChE+E,CAAAA,CAAAA,EAAM,CAACD,CAAO,GAAA,IAAA,CAAK,gBACrB,IAAK,CAAA,OAAA,CAAQ,IAAI,CAACC,CAAAA,CAAI/E,CAAI,EAE9B,CACF,CACA,UAAWI,CAAAA,CAAAA,CAAO,CACXA,CACL,GAAA,MAAA,CAAO,QAAQA,CAAK,CAAA,CAAE,QAAQ,CAAC,CAAC9L,EAAKI,CAAK,CAAA,GAAM,CAC9C,IAAMwJ,CAAAA,CAAQ,OAAO5J,CAAG,CAAA,CAClB0L,EAAO,IAAK,CAAA,OAAA,CAAQ,IAAI9B,CAAK,CAAA,CAC/B8B,GACF,IAAK,CAAA,SAAA,CAAU1L,EAAK0L,CAAMtL,CAAAA,CAAAA,CAAOwJ,IAAU,CAAC,EAEhD,CAAC,CACD,CAAA,IAAA,CAAK,MAAQkC,CACf,EAAA,CACA,UAAU9L,CAAK0L,CAAAA,CAAAA,CAAMI,EAAO4E,CAAQ,CAAA,CAC7B5E,GACL,MAAO,CAAA,OAAA,CAAQA,CAAK,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC8B,CAAAA,CAAMxN,CAAK,CAAM,GAAA,CAC/C,GAAIwN,CAASrD,GAAAA,CAAAA,EAAiBnK,EAC5B,IAAK,CAAA,aAAA,CAAcJ,EAAK0L,CAAMtL,CAAAA,CAAAA,CAAOsQ,CAAM,CAClC9C,CAAAA,KAAAA,GAAAA,CAAAA,GAASjD,GAClBmB,CAAM8B,CAAAA,CAAI,EAAE,KAAQlC,CAAAA,CAAAA,CAAAA,KAAAA,GACXnL,CAAWqN,CAAAA,CAAAA,CAAMvD,EAAY,CACtC,CAAA,IAAA,CAAK,mBAAmBrK,CAAK0L,CAAAA,CAAAA,CAAMkC,EAAMxN,CAAK,CAAA,CAAA,KACzC,CACL,GAAI,IAAA,CAAK,cAAc,QAASwN,CAAAA,CAAI,EAAG,OACvC,IAAM+C,EAAW,IAAK,CAAA,kBAAA,CAAmB7E,EAAO9L,CAAK4N,CAAAA,CAAI,EACzD,IAAK,CAAA,cAAA,CAAe5N,EAAK0L,CAAMkC,CAAAA,CAAAA,CAAMxN,EAAOuQ,CAAQ,EACtD,CACF,CAAC,EACH,CACA,kBAAmB7E,CAAAA,CAAAA,CAAO9L,EAAK4N,CAAM,CAAA,CACnC,IAAMgD,CAAY,CAAA,CAAA,EAAGtG,EAAa,CAAA,EAAGlJ,GAAWwM,CAAI,CAAC,GACrD,GAAIgD,CAAAA,EAAa9E,EAAM8E,CAAS,CAAA,EAAKpR,EAAWsM,CAAM8E,CAAAA,CAAS,CAAC,CAC9D,CAAA,OAAA,IAAA,CAAK,cAAc,IAAKA,CAAAA,CAAS,EAC1B9E,CAAM8E,CAAAA,CAAS,CAE1B,CACA,aAAA,CAAc5Q,EAAK0L,CAAMe,CAAAA,CAAAA,CAAUiE,EAAQ,CACzC,GAAK5R,EAAQ2N,CAAQ,CAAA,CAKnBA,EAAS,MAAO,CAAA,OAAO,EAAE,OAAQ,CAAA,CAACoE,EAAMjH,CAAU,GAAA,CAChD,IAAIuB,CACJ,CAAA,GAAM,CAACyB,CAAAA,CAAOkE,CAAI,CAAIhS,CAAAA,CAAAA,CAAQ+R,CAAI,CAAIA,CAAAA,CAAAA,CAAO,CAACA,CAAM,CAAA,IAAI,EAClDvD,CAAShO,CAAAA,EAAAA,CAAMwR,CAAI,CAAI,CAAA,IAAA,CAAA,CAAQ3F,EAAK,IAAK,CAAA,OAAA,CAAQ,IAAI2F,CAAI,CAAA,GAAM,KAAO3F,CAAK,CAAA,IAAA,CAC3EyD,EAAW,CAAG5O,EAAAA,CAAG,IAAIuK,CAAa,CAAA,CAAA,EAAIX,CAAK,CAC3C3F,CAAAA,CAAAA,CAAAA,CAAQ,KAAK,YAAa2K,CAAAA,CAAAA,CAAU,GAAM8B,CAAM,CAAA,CACtD,KAAK,UAAWzM,CAAAA,CAAAA,CAAOyH,EAAMkB,CAAOU,CAAAA,CAAM,EAC5C,CAAC,CAAA,CAAA,KAZqB,CACtB,IAAMsB,CAAAA,CAAW,GAAG5O,CAAG,CAAA,CAAA,EAAIuK,CAAa,CAClCtG,EAAAA,CAAAA,CAAAA,CAAAA,CAAQ,KAAK,YAAa2K,CAAAA,CAAAA,CAAU,GAAM8B,CAAM,CAAA,CACtD,KAAK,UAAWzM,CAAAA,CAAAA,CAAOyH,EAAMe,CAAU,CAAA,IAAI,EAC7C,CAUF,CACA,mBAAmBzM,CAAK0L,CAAAA,CAAAA,CAAMkC,EAAMmD,CAAU,CAAA,CAC5C,IAAM5C,CAAYP,CAAAA,CAAAA,CAAK,MAAM,CAAC,CAAA,CAAE,aAC1B3J,CAAAA,CAAAA,CAAQ,KAAK,YAAa,CAAA,CAAA,EAAGjE,CAAG,CAAI4N,CAAAA,EAAAA,CAAI,CAAE,CAAA,CAAA,CAChD3J,EAAM,OAAUiK,CAAAA,CAAAA,CAAiBxC,EAAMyC,CAAW4C,CAAAA,CAAQ,EAC5D,CACA,cAAA,CAAe/Q,EAAKgJ,CAAS4E,CAAAA,CAAAA,CAAMxN,EAAOuQ,CAAU,CAAA,CAClD,IAAM1M,CAAQ,CAAA,IAAA,CAAK,aAAa,CAAGjE,EAAAA,CAAG,IAAI4N,CAAI,CAAA,CAAE,EAC1CoD,CAAelM,CAAAA,EAAAA,GACf6J,CAAUxJ,CAAAA,CAAAA,CAAO,IAAM,CAC3B,IAAM8L,EAAYzR,CAAWY,CAAAA,CAAK,EAAIA,CAAM,EAAA,CAAIA,EAC5CR,CAAcqR,CAAAA,CAAS,GAAKrR,CAAcoR,CAAAA,CAAAA,CAAa,IAAK,EAAC,GAAK,IAAK,CAAA,SAAA,CAAUA,EAAa,KAAK,CAAA,GAAM,KAAK,SAAUC,CAAAA,CAAS,IAErID,CAAa,CAAA,KAAA,CAAQpM,EAASqM,CAAS,CAAA,CAAIA,EAAU,KAAQA,CAAAA,CAAAA,CAC7DtD,GAAa3E,CAAS4E,CAAAA,CAAAA,CAAMoD,EAAa,KAAK,CAAA,EAChD,CAAC,CACGE,CAAAA,CAAAA,CACAP,GAAYjR,EAAcsJ,CAAAA,CAAO,IACnCkI,CAAclD,CAAAA,EAAAA,CAAShF,EAAUlD,CAAW,EAAA,CAC1C6K,EAAS7K,CAAM,EACjB,CAAC,CAEH7B,CAAAA,CAAAA,CAAAA,CAAM,QAAU,IAAM,CACpB0K,CAAWA,EAAAA,CAAAA,GACXuC,CAAeA,EAAAA,CAAAA,GACjB,EACF,CACA,aAAatC,CAAUuC,CAAAA,CAAAA,CAAgBT,EAAQ,CAC7C,IAAIzM,EAAQ,IAAK,CAAA,QAAA,CAAS,IAAI2K,CAAQ,CAAA,CACtC,OAAK3K,CACHA,GAAAA,CAAAA,CAAQ,CAAE,OAAS,CAAA,IAAM,EACvB,CAAA,CACEkN,IACFlN,CAAM,CAAA,SAAA,CAA4B,IAAI,GAEpCyM,CAAAA,CAAAA,CAAAA,GACFzM,EAAM,MAAS,CAAA,CAAA,CAAA,CAAA,CAEjB,KAAK,QAAS,CAAA,GAAA,CAAI2K,EAAU3K,CAAK,CAAA,CAAA,CAEnCA,EAAM,OAAWA,EAAAA,CAAAA,CAAM,SAChBA,CAAAA,CACT,CACA,UAAWA,CAAAA,CAAAA,CAAOoJ,EAAQT,CAAOU,CAAAA,CAAAA,CAAQ,CACnC9N,CAAWoN,CAAAA,CAAK,EAClB3I,CAAM,CAAA,OAAA,CAAUkB,EAAO,IAAM,CAC3B,IAAMiM,CAAYnR,CAAAA,EAAAA,CAAY2M,GAAO,CAAA,CAAE,IAAIK,EAAU,CAAA,CACjDnC,EAAc,KAChB7G,CAAAA,CAAAA,CAAM,UAAY,IAAK,CAAA,iBAAA,CAAkBoJ,EAAQ+D,CAAW9D,CAAAA,CAAM,EAElErJ,CAAM,CAAA,SAAA,CAAY6K,GAAczB,CAAQpJ,CAAAA,CAAAA,CAAM,UAAWmN,CAAW9D,CAAAA,CAAM,EAE9E,CAAC,CAAA,CAEDrN,EAAY2M,CAAAA,CAAK,EAAE,OAAQ,CAAA,CAAClB,EAAM9B,CAAU,GAAA,CAC1C,IAAMyH,CAAUpE,CAAAA,EAAAA,CAAWvB,CAAI,CACzB1L,CAAAA,CAAAA,CAAMyP,EAAO4B,CAASzH,CAAAA,CAAK,EAC7BkB,CAAc,CAAA,KAAA,CAChB7G,EAAM,SAAY,CAAA,IAAA,CAAK,kBAAkBoJ,CAAQ,CAAA,CAACgE,CAAO,CAAG/D,CAAAA,CAAM,GAElErJ,CAAM,CAAA,SAAA,CAAU,IAAIjE,CAAKqR,CAAAA,CAAO,EAChCjE,CAAYC,CAAAA,CAAAA,CAAQgE,EAAS/D,CAAM,CAAA,EAEvC,CAAC,EAEL,CACA,kBAAkBD,CAAQ+D,CAAAA,CAAAA,CAAW9D,CAAQ,CAAA,CAC3C,IAAMjH,CAAyB,CAAA,IAAI,IAC7BiL,CAAY,CAAA,KAAA,CAAM,KAAKjE,CAAO,CAAA,UAAU,EAAE,MAC7C3B,CAAAA,CAAAA,EAAS,CACR,IAAIP,CAAAA,CAAImD,EACR,OAAO5C,CAAAA,CAAK,WAAa,IAAK,CAAA,SAAA,EAAA,CAAA,CAAeP,EAAKO,CAAK,CAAA,eAAA,GAAoB,KAAO,KAASP,CAAAA,CAAAA,CAAAA,CAAG,YAAc,IAAK,CAAA,YAAA,EAAA,CAAA,CAAkBmD,EAAK5C,CAAK,CAAA,WAAA,GAAgB,KAAO,KAAS4C,CAAAA,CAAAA,CAAAA,CAAG,YAAc,IAAK,CAAA,YACrM,CACF,CACA,CAAA,OAAA8C,EAAU,OAAQ,CAAA,CAAC1F,CAAM9B,CAAAA,CAAAA,GAAU,CACjC,IAAM5J,CAAAA,CAAMyP,EAAO/D,CAAM9B,CAAAA,CAAK,EAC1B8B,CAAK,CAAA,QAAA,GAAa,KAAK,SACzB4F,CAAAA,CAAAA,CAAU,QAASC,CAAO,EAAA,CACpB7F,EAAK,WAAgB6F,GAAAA,CAAAA,CAAG,aAC1BlE,CAAO,CAAA,YAAA,CAAa3B,EAAM6F,CAAE,EAEhC,CAAC,CAEDnE,CAAAA,CAAAA,CAAYC,EAAQ3B,CAAM4B,CAAAA,CAAM,EAElCjH,CAAO,CAAA,GAAA,CAAIrG,EAAK0L,CAAI,EACtB,CAAC,CACMrF,CAAAA,CACT,CACF,CAGIoI,CAAAA,EAAAA,CAAiC,IAAI,GACzC,CAAA,SAAS+C,GAAgBC,CAAiB5F,CAAAA,CAAAA,CAAUC,EAAQ,EAAC,CAAG9L,EAAK,CACnE,GAAIA,EAAK,CACP,IAAM0R,EAASjD,EAAe,CAAA,GAAA,CAAIzO,CAAG,CACrC,CAAA,GAAI0R,EACF,OAAOA,CAEX,CACI,OAAO7F,CAAAA,EAAa,WACtBA,CAAWqE,CAAAA,EAAAA,CAAerE,CAAQ,CAEpC,CAAA,CAAA,IAAMwF,EAAU,IAAII,CAAAA,CAAgB5F,EAAUC,CAAO9L,CAAAA,CAAG,EACxD,OAAIA,CAAAA,EAAOqR,aAAmBhD,EAC5BI,EAAAA,EAAAA,CAAe,IAAIzO,CAAKqR,CAAAA,CAAO,EAE1BA,CACT,CACA,SAASM,EAAAA,CAAE9F,EAAUC,CAAQ,CAAA,GAAI9L,CAAK,CAAA,CACpC,GAAI6L,CAAarB,GAAAA,EAAAA,CACf,OAAOoH,EAAS/F,CAAAA,CAAAA,CAAUC,CAAK,CAEjC,CAAA,GAAI/M,EAAS8M,CAAQ,CAAA,CAAG,CACtB,IAAMgG,CAAAA,CAAezD,GAAiBvC,CAAQ,CAAA,CACxCiG,EAAe,CAAE,CAACpH,EAAe,EAAGoB,CAAM,EAChD,OAAO0F,EAAAA,CAAgBvB,GAAc4B,CAAcC,CAAAA,CAAAA,CAAc9R,CAAG,CACtE,CACA,OAAIR,CAAWqM,CAAAA,CAAQ,EACd2F,EAAgBnD,CAAAA,EAAAA,CAAexC,EAAUC,CAAO9L,CAAAA,CAAG,EAErDwR,EAAgBvB,CAAAA,EAAAA,CAAcpE,EAAUC,CAAO9L,CAAAA,CAAG,CAC3D,CACA,SAAS+R,GAAYrG,CAAM,CAAA,CACzB,OAAOA,CAAgB2C,YAAAA,EACzB,CACA,SAASnB,CAAAA,CAAaxB,EAAM,CAC1B,OAAOA,aAAgB2C,EAAiB3C,EAAAA,CAAAA,YAAgBuE,EAC1D,CACA,SAASC,GAAe8B,CAAM,CAAA,CAC5B,IAAMnG,CAAW,CAAA,QAAA,CAAS,cAAc,UAAU,CAAA,CAClD,OAAAA,CAAS,CAAA,SAAA,CAAYmG,EACdnG,CACT,CACA,SAAS+F,EAAS/F,CAAAA,CAAAA,CAAUC,CAAO,CAAA,CACjC,IAAMmG,CAAiBnG,CAAAA,CAAAA,CAAM,SAAW,CACtC,CAACrB,EAAiB,EAAG,CACnB,SAAU,KAAM,CAAA,OAAA,CAAQqB,EAAM,QAAQ,CAAA,CAAIA,EAAM,QAAS,CAAA,MAAA,CAAO,OAAO,CAAI,CAAA,CAACA,EAAM,QAAQ,CAC5F,CACF,CAAIA,CAAAA,CAAAA,CACEoG,EAAkBrG,CAAarB,GAAAA,EAAAA,CAAiB0F,GAAe1F,EAAc,CAAA,CAAIqB,EACvF,OAAO2F,EAAAA,CAAgBvB,GAAciC,CAAiBD,CAAAA,CAAc,CACtE,CACA,SAASE,GAAQrP,CAAI,CAAA,CACnBsP,GAAsB,WAAW,CAAA,CACjC5G,EAAiB,GAAOA,EAAAA,CAAAA,CAAiB,IAAI,OAAQ,CAAA,SAAA,CAAW1I,CAAE,EACpE,CACA,SAASuP,EAAUvP,CAAAA,CAAAA,CAAI,CACrBsP,EAAsB,CAAA,WAAW,EACjC5G,CAAiB,CAAA,GAAA,EAAOA,EAAiB,GAAI,CAAA,OAAA,CAAQ,UAAW1I,CAAE,EACpE,CACA,SAASsP,EAAAA,CAAsBE,EAAUtS,CAAK,CAAA,CACvCwL,EAAiB,GACpB,EAAA,OAAA,CAAQ,MACN,CAAI8G,CAAAA,EAAAA,CAAQ,UAAUtT,EAASgB,CAAAA,CAAG,EAAIA,CAAI,CAAA,QAAA,GAAaA,CAAG,CAAA;AAAA,2DAAA,CAE5D,EAEJ,CACA,SAASuS,EAAAA,CAAQvS,CAAKI,CAAAA,CAAAA,CAAO,CAC3BgS,EAAAA,CAAsB,SAAWpS,CAAAA,CAAG,CACpCwL,CAAAA,CAAAA,CAAiB,GAAOA,EAAAA,CAAAA,CAAiB,GAAI,CAAA,UAAA,CAAWxL,CAAKI,CAAAA,CAAK,EACpE,CACA,SAASoS,EAAAA,CAAOxS,CAAKyS,CAAAA,CAAAA,CAAc,CACjC,IAAItH,CACJ,CAAA,OAAAiH,EAAsB,CAAA,QAAA,CAAUpS,CAAG,CAAA,CAAA,CAC3BmL,CAAKK,CAAAA,CAAAA,CAAiB,GAAOA,EAAAA,CAAAA,CAAiB,GAAI,CAAA,UAAA,CAAWxL,CAAG,CAAA,GAAM,IAAOmL,CAAAA,CAAAA,CAAKsH,CAC5F,CAGA,SAASC,EAAAA,CAAeC,CAAW7G,CAAAA,CAAAA,CAAO,CACxChB,CAAAA,CAAc,MAAO,EAAA,CAErB,IAAMkH,CAAAA,CADU,IAAIrG,EAAAA,CAAQgH,CAAW7G,CAAAA,CAAAA,EAAS,EAAE,EAC7B,KAAM,EAAA,CAC3B,OAAAhB,CAAAA,CAAc,SAAU,EAAA,CACjBkH,CACT,CACA,SAASY,EAAAA,CAAQD,CAAWE,CAAAA,CAAAA,CAAW,CACrC,IAAMC,CAAc,CAAA,OAAOD,CAAc,EAAA,QAAA,CAAW,QAAS,CAAA,aAAA,CAAcA,CAAS,CAAA,CAAIA,CACxF,CAAA,GAAI,CAACC,CAAAA,CACH,MAAM,IAAI,KAAM,CAAA,CAAA,0BAAA,EAA6BD,CAAS,CAAA,CAAE,EAE1D/H,CAAc,CAAA,MAAA,EACd6G,CAAAA,EAAAA,CAAEgB,CAAS,CAAA,CAAE,KAAMG,CAAAA,CAAW,CAC9BhI,CAAAA,CAAAA,CAAc,SAAU,GAC1B,CACA,SAASiI,EAAIJ,CAAAA,CAAAA,CAAW7G,CAAO,CAAA,CAC7B,OAAIhB,CAAAA,CAAc,KACT,CAAA,IAAIa,EAAQgH,CAAAA,CAAAA,CAAW7G,CAAK,CAAA,CAE9B6F,EAAEgB,CAAAA,CAAAA,CAAW7G,CAAK,CAC3B,CCv6BI,UAAA,GACF,WAAW,iBAAoBnN,CAAAA,EAAAA,CAAAA","file":"essor.esm.js","sourcesContent":["export const essor_version = '0.0.14-beta.21';\n","import { _toString } from './comm';\n\nexport const isObject = (val: unknown): val is Record<any, any> =>\n val !== null && typeof val === 'object';\nexport function isPromise(val: any): val is Promise<any> {\n return _toString.call(val) === '[object Promise]';\n}\n\nexport const isArray = Array.isArray;\n\nexport function isString(val: unknown): val is string {\n return typeof val === 'string';\n}\nexport function isNull(val: any): val is null {\n return val === null;\n}\nexport function isSymbol(val: unknown): val is symbol {\n return typeof val === 'symbol';\n}\n\nexport function isSet(val: any): val is Set<any> {\n return _toString.call(val) === '[object Set]';\n}\nexport function isWeakMap(val: any): val is WeakMap<any, any> {\n return _toString.call(val) === '[object WeakMap]';\n}\nexport function isWeakSet(val: any): val is WeakSet<any> {\n return _toString.call(val) === '[object WeakSet]';\n}\n\nexport function isMap(val: unknown): val is Map<any, any> {\n return _toString.call(val) === '[object Map]';\n}\nexport function isNil(x: any): x is null | undefined {\n return x === null || x === undefined;\n}\n\nexport const isFunction = (val: unknown): val is Function => typeof val === 'function';\n\nexport function isFalsy(x: any): x is false | null | undefined {\n return x === false || x === null || x === undefined;\n}\n\nexport const isPrimitive = (\n val: unknown,\n): val is string | number | boolean | symbol | null | undefined =>\n ['string', 'number', 'boolean', 'symbol', 'undefined'].includes(typeof val) || isNull(val);\n\nexport function isHTMLElement(obj) {\n if (!obj) return false;\n return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string';\n}\n\nexport const isPlainObject = (val: unknown): val is object =>\n _toString.call(val) === '[object Object]';\n\nexport type StringNumber = `${number}`;\nexport function isStringNumber(val: unknown): val is StringNumber {\n if (!isString(val)) {\n return false;\n }\n return !Number.isNaN(Number(val));\n}\n","import { isArray, isFunction, isString } from './is';\n\nexport const _toString = Object.prototype.toString;\nexport const extend = Object.assign;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nexport const hasOwn = (val: object, key: string | symbol): key is keyof typeof val =>\n hasOwnProperty.call(val, key);\n\nexport function coerceArray<T>(data: T | T[]): T[] {\n return isArray(data) ? (data.flat() as T[]) : [data];\n}\nexport const hasChanged = (value, oldValue) =>\n value !== oldValue && (value === value || oldValue === oldValue);\nexport const noop = Function.prototype as () => void;\n\n/**\n * A function that checks if a string starts with a specific substring.\n * indexOf faster under normal circumstances\n * @see https://www.measurethat.net/Benchmarks/Show/12350/0/startswith-vs-test-vs-match-vs-indexof#latest_results_block\n\n * @param {string} str - The input string to check.\n * @param {string} searchString - The substring to check for at the beginning of the input string.\n * @return {boolean} Returns true if the input string starts with the specified substring, otherwise false.\n */\nexport function startsWith(str, searchString) {\n if (!isString(str)) {\n return false;\n }\n return str.indexOf(searchString) === 0;\n}\n\n/**\n * Escapes special HTML characters in a string.\n * @param str - The string to escape.\n * @returns The escaped string.\n */\nexport function escape(str: string): string {\n return str.replaceAll(/[\"&'<>]/g, char => {\n switch (char) {\n case '&':\n return '&amp;';\n case '<':\n return '&lt;';\n case '>':\n return '&gt;';\n case '\"':\n return '&quot;';\n case \"'\":\n return '&#039;';\n default:\n return char;\n }\n });\n}\n\nexport type ExcludeType = ((key: string | symbol) => boolean) | (string | symbol)[];\n\n/**\n * Checks if a key should be excluded based on the provided exclude criteria.\n * @param key - The key to check.\n * @param exclude - The exclusion criteria.\n * @returns True if the key should be excluded, otherwise false.\n */\nexport function isExclude(key: string | symbol, exclude?: ExcludeType): boolean {\n return isArray(exclude) ? exclude.includes(key) : isFunction(exclude) ? exclude(key) : false;\n}\n\n/**\n * Generates a unique random 8 character string ID.\n * The generated IDs only contain alphanumeric characters.\n * @returns A unique random 8 character string ID.\n */\nexport function generateUniqueId() {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n let result = '';\n const charactersLength = characters.length;\n for (let i = 0; i < 8; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\n/**\n * Checks if the current environment is a browser.\n * @returns True if the current environment is a browser, otherwise false.\n */\nexport function isBrowser() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n\nexport const cacheStringFunction = <T extends (str: string) => string>(fn: T): T => {\n const cache: Record<string, string> = Object.create(null);\n return ((str: string) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n }) as T;\n};\n","import { cacheStringFunction } from './comm';\n\nconst hyphenateRE = /\\B([A-Z])/g;\nexport const kebabCase: (str: string) => string = cacheStringFunction((str: string) =>\n str.replaceAll(hyphenateRE, '-$1').toLowerCase(),\n);\n\nconst camelizeRE = /-(\\w)/g;\nexport const camelCase: (str: string) => string = cacheStringFunction((str: string): string => {\n return str.replaceAll(camelizeRE, (_, c) => (c ? c.toUpperCase() : ''));\n});\n/**\n * Capitalizes the first letter of a string.\n *\n * @param {string} inputString - The input string to capitalize the first letter.\n * @return {string} The string with the first letter capitalized.\n */\nexport const capitalize: <T extends string>(str: T) => Capitalize<T> = cacheStringFunction(\n <T extends string>(str: T) => {\n return (str.charAt(0).toUpperCase() + str.slice(1)) as Capitalize<T>;\n },\n);\n","export function warn(msg: string, ..._args: any[]): void;\nexport function warn(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.warn.apply(console, [`[Essor warn]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function info(msg: string, ..._args: any[]): void;\nexport function info(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread, no-console\n console.info.apply(console, [`[Essor info]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n\nexport function error(msg: string, ..._args: any[]): void;\nexport function error(msg: string, ...args): void {\n // eslint-disable-next-line prefer-spread\n console.error.apply(console, [`[Essor error]: ${msg}`].concat(args) as [string, ...any[]]);\n}\n","import { isObject, warn, isExclude, isArray, isPlainObject, isSet, isMap, isWeakSet, isWeakMap, isFunction, noop, hasChanged, hasOwn, isStringNumber } from '@estjs/shared';\n\n/**\n* @estjs/signal v0.0.14-beta.21\n* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>\n* @license MIT\n**/\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\n\n// src/scheduler.ts\nvar queue = [];\nvar activePreFlushCbs = [];\nvar p = Promise.resolve();\nvar isFlushPending = false;\nfunction nextTick(fn) {\n return fn ? p.then(fn) : p;\n}\nfunction queueJob(job) {\n if (!queue.includes(job)) {\n queue.push(job);\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (isFlushPending) {\n return;\n }\n isFlushPending = true;\n nextTick(flushJobs);\n}\nfunction queuePreFlushCb(cb) {\n queueCb(cb, activePreFlushCbs);\n}\nfunction queueCb(cb, activeQueue) {\n if (!activeQueue.includes(cb)) {\n activeQueue.push(cb);\n queueFlush();\n }\n}\nfunction flushJobs() {\n isFlushPending = false;\n flushPreFlushCbs();\n let job;\n while (job = queue.shift()) {\n if (job) {\n job();\n }\n }\n}\nfunction flushPreFlushCbs() {\n while (activePreFlushCbs.length > 0) {\n const cb = activePreFlushCbs.shift();\n if (cb) {\n cb();\n }\n }\n}\nfunction createScheduler(effect2, flush) {\n if (flush === \"sync\") {\n return () => effect2();\n } else if (flush === \"pre\") {\n return () => queuePreFlushCb(effect2);\n } else {\n return () => {\n nextTick(() => queueJob(effect2));\n };\n }\n}\n\n// src/signal.ts\nvar activeEffect = null;\nvar triggerMap = /* @__PURE__ */ new WeakMap();\nvar reactiveMap = /* @__PURE__ */ new WeakMap();\nvar ReactiveSymbol = Symbol(\"ReactiveSymbol\" );\nvar ReactivePeekSymbol = Symbol(\"__raw\" );\nvar SignalValueKey = Symbol(\"SignalValueKey\" );\nvar ComputedValueKey = Symbol(\"ComputedValueKey\" );\nvar reactiveArrayKey = Symbol(\"ReactiveArrayKey\" );\nvar ReactiveCollectionKey = Symbol(\"ReactiveCollectionKey\" );\nvar ReactiveWeakCollectionKey = Symbol(\"ReactiveWeakCollectionKey\" );\nvar inBatch = false;\nvar batchQueue = /* @__PURE__ */ new Set();\nfunction track(target, key) {\n if (!activeEffect) return;\n let depsMap = triggerMap.get(target);\n if (!depsMap) {\n depsMap = /* @__PURE__ */ new Map();\n triggerMap.set(target, depsMap);\n }\n let dep = depsMap.get(key);\n if (!dep) {\n dep = /* @__PURE__ */ new Set();\n depsMap.set(key, dep);\n }\n dep.add(activeEffect);\n}\nfunction trigger(target, key) {\n const depsMap = triggerMap.get(target);\n if (!depsMap) return;\n const dep = depsMap.get(key);\n if (dep) {\n dep.forEach((effect2) => {\n if (hasOwn(effect2, \"active\") && !effect2.active) {\n dep.delete(effect2);\n return;\n }\n inBatch ? batchQueue.add(effect2) : effect2();\n });\n }\n}\nvar FunctionExt = class extends Function {\n constructor(f) {\n super();\n return Object.setPrototypeOf(f, new.target.prototype);\n }\n};\nvar SignalImpl = class extends FunctionExt {\n /**\n * Creates a new Signal instance.\n * @param {T} value - The initial value of the Signal.\n * @param {boolean} [shallow] - Whether to create a shallow Signal.\n */\n constructor(value, shallow = false) {\n super(() => {\n return this.value;\n });\n // is should be read\n //@ts-ignore\n this.__signal = true;\n this.__shallow = shallow;\n this.__value = value;\n }\n /**\n * Gets the current value of the Signal.\n * @returns {T} The current value.\n */\n get value() {\n track(this, SignalValueKey);\n if (isObject(this.__value)) {\n return ReactiveImpl(this.__value, this.__shallow);\n }\n return this.__value;\n }\n /**\n * Sets a new value for the Signal.\n * @param {T} newValue - The new value to set.\n */\n set value(newValue) {\n if (isSignal(newValue)) {\n newValue = newValue.peek();\n }\n if (hasChanged(newValue, this.__value)) {\n this.__value = newValue;\n trigger(this, SignalValueKey);\n }\n }\n /**\n * Returns the current value without triggering reactivity.\n * @returns {T} The current value.\n */\n peek() {\n return this.__value;\n }\n // call set value\n // it equals to this.value = value\n set(value) {\n this.value = value;\n }\n // call update\n // it equals to this.value = fn(this.value)\n update(fn) {\n this.set(fn(this.peek()));\n }\n};\nfunction signal(value) {\n if (isSignal(value)) {\n return value;\n }\n return new SignalImpl(value);\n}\nfunction shallowSignal(value) {\n return new SignalImpl(value, true);\n}\nfunction isSignal(value) {\n return !!(value && (value == null ? void 0 : value.__signal));\n}\nvar ComputedImpl = class {\n constructor(fn) {\n this.fn = fn;\n //@ts-ignore\n this.__computed = true;\n const prev = activeEffect;\n activeEffect = this.run.bind(this);\n this.__value = this.fn();\n activeEffect = prev;\n }\n /**\n * Get the current computed value without tracking it.\n */\n peek() {\n return this.__value;\n }\n /**\n * Run the computed function and update the value if it has changed.\n */\n run() {\n const newValue = this.fn();\n if (hasChanged(newValue, this.__value)) {\n this.__value = newValue;\n trigger(this, ComputedValueKey);\n }\n }\n /**\n * Get the current computed value and track its usage.\n */\n get value() {\n track(this, ComputedValueKey);\n return this.__value;\n }\n};\nfunction computed(fn) {\n return new ComputedImpl(fn);\n}\nfunction isComputed(value) {\n return !!(value && value.__computed);\n}\nfunction effect(fn, options = {}) {\n const { flush = \"pre\", onTrack, onTrigger } = options;\n function effectFn() {\n const prev = activeEffect;\n activeEffect = effectFn.init ? effectFn : effectFn.scheduler;\n fn();\n onTrigger && onTrigger();\n activeEffect = prev;\n }\n const scheduler = createScheduler(effectFn, flush);\n effectFn.scheduler = scheduler;\n effectFn.init = true;\n effectFn.active = true;\n onTrack && onTrack();\n effectFn();\n return () => {\n effectFn.active = false;\n activeEffect = null;\n };\n}\nfunction signalObject(initialValues, exclude) {\n if (!initialValues || !isObject(initialValues)) {\n {\n warn(\"initialValues must be an object,will return initial value!\", initialValues);\n }\n return initialValues;\n }\n const signals = Object.entries(initialValues).reduce((acc, [key, value]) => {\n acc[key] = isExclude(key, exclude) || isSignal(value) ? value : signal(value);\n return acc;\n }, {});\n return signals;\n}\nfunction toRaw(value) {\n if (!value) return value;\n if (isReactive(value)) {\n return value[ReactivePeekSymbol];\n }\n if (isSignal(value)) {\n return value.peek();\n }\n if (isArray(value)) {\n return value.map((value2) => toRaw(value2));\n }\n if (isPlainObject(value)) {\n return Object.fromEntries(\n Object.entries(value).map(([key, value2]) => [key, toRaw(value2)])\n );\n }\n return value;\n}\nfunction isReactive(obj) {\n return !!(obj && typeof obj === \"object\" && obj[ReactiveSymbol]);\n}\nfunction reactive(initialValue, exclude) {\n return ReactiveImpl(initialValue, false, exclude);\n}\nfunction shallowReactive(initialValue, exclude) {\n return ReactiveImpl(initialValue, true, exclude);\n}\nvar basicHandler = (shallow, exclude) => {\n return {\n get(target, key, receiver) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n const getValue = Reflect.get(target, key, receiver);\n const value = isSignal(getValue) ? getValue.value : getValue;\n if (isExclude(key, exclude)) {\n return value;\n }\n track(target, key);\n if (isObject(value) && !shallow) {\n return ReactiveImpl(value);\n }\n return value;\n },\n set(target, key, value, receiver) {\n if (isExclude(key, exclude)) {\n Reflect.set(target, key, value, receiver);\n return true;\n }\n let oldValue = Reflect.get(target, key, receiver);\n if (isSignal(oldValue)) {\n oldValue = oldValue.value;\n }\n if (isSignal(value)) {\n value = value.value;\n }\n const obj = Reflect.set(target, key, value, receiver);\n if (hasChanged(value, oldValue)) {\n trigger(target, key);\n }\n return obj;\n },\n // handle delete\n deleteProperty(target, key) {\n const oldValue = Reflect.get(target, key);\n const result = Reflect.deleteProperty(target, key);\n if (oldValue !== void 0) {\n trigger(target, key);\n }\n return result;\n }\n };\n};\nvar arrayInstrumentations = createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations2 = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, `${i}`);\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args);\n }\n return res;\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\", \"sort\", \"reverse\"].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n const res = arr[key].apply(this, args);\n trigger(arr, reactiveArrayKey);\n return res;\n };\n });\n [\n \"forEach\",\n \"map\",\n \"filter\",\n \"reduce\",\n \"reduceRight\",\n \"some\",\n \"every\",\n \"find\",\n \"findIndex\",\n \"findLast\",\n \"findLastIndex\",\n \"entries\",\n \"keys\",\n \"values\"\n ].forEach((key) => {\n instrumentations2[key] = function(...args) {\n const arr = toRaw(this);\n track(arr, reactiveArrayKey);\n return arr[key].apply(this, args);\n };\n });\n return instrumentations2;\n}\nvar ArrayHandler = (shallow, exclude) => {\n return {\n get(target, key, receiver) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n if (arrayInstrumentations.hasOwnProperty(key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const value = Reflect.get(target, key, receiver);\n if (isExclude(key, exclude)) {\n return value;\n }\n if (isStringNumber(key)) {\n track(target, key);\n }\n track(target, \"length\");\n if (isObject(value) && !shallow) {\n return ReactiveImpl(value);\n }\n return value;\n },\n set(target, key, value, receiver) {\n const oldValue = Reflect.get(target, key, receiver);\n const result = Reflect.set(target, key, value, receiver);\n if (hasChanged(value, oldValue)) {\n if (isStringNumber(key)) {\n trigger(target, key);\n }\n if (key === \"length\" || !oldValue) {\n trigger(target, \"length\");\n }\n }\n return result;\n }\n };\n};\nvar collectionHandlers = {\n get(target, key) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n if (key === Symbol.iterator || key === \"size\") {\n track(target, ReactiveCollectionKey);\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n target\n );\n }\n};\nvar weakCollectionHandlers = {\n get(target, key) {\n if (key === ReactiveSymbol) return true;\n if (key === ReactivePeekSymbol) return target;\n return Reflect.get(\n hasOwn(weakInstrumentations, key) && key in target ? weakInstrumentations : target,\n key,\n target\n );\n }\n};\nvar instrumentations = {\n get(key) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.get(key);\n },\n set(key, value) {\n const target = toRaw(this);\n const result = target.set(key, value);\n trigger(target, ReactiveCollectionKey);\n return result;\n },\n add(value) {\n const target = toRaw(this);\n const result = target.add(value);\n trigger(target, ReactiveCollectionKey);\n return result;\n },\n has(key) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.has(key);\n },\n delete(key) {\n const target = toRaw(this);\n const hadKey = target.has(key);\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, ReactiveCollectionKey);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size > 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, ReactiveCollectionKey);\n }\n return result;\n },\n forEach(callback, thisArg) {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n target.forEach((value, key) => {\n callback.call(thisArg, value, key, target);\n });\n },\n get size() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.size;\n },\n keys() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.keys();\n },\n values() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.values();\n },\n entries() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target.entries();\n },\n [Symbol.iterator]() {\n const target = toRaw(this);\n track(target, ReactiveCollectionKey);\n return target[Symbol.iterator]();\n }\n};\nvar weakInstrumentations = {\n get(key) {\n const target = toRaw(this);\n track(target, ReactiveWeakCollectionKey);\n return target.get(key);\n },\n set(key, value) {\n const target = toRaw(this);\n const result = target.set(key, value);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n },\n add(value) {\n const target = toRaw(this);\n const result = target.add(value);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n },\n has(key) {\n const target = toRaw(this);\n track(target, ReactiveWeakCollectionKey);\n return target.has(key);\n },\n delete(key) {\n const target = toRaw(this);\n const result = target.delete(key);\n trigger(target, ReactiveWeakCollectionKey);\n return result;\n }\n};\nfunction ReactiveImpl(initialValue, shallow = false, exclude) {\n if (!isObject(initialValue)) {\n return initialValue;\n }\n if (isReactive(initialValue)) {\n return initialValue;\n }\n if (reactiveMap.has(initialValue)) {\n return reactiveMap.get(initialValue);\n }\n let handler;\n if (isArray(initialValue)) {\n track(initialValue, reactiveArrayKey);\n handler = ArrayHandler(shallow, exclude);\n } else if (isSet(initialValue) || isMap(initialValue)) {\n track(initialValue, ReactiveCollectionKey);\n handler = collectionHandlers;\n } else if (isWeakSet(initialValue) || isWeakMap(initialValue)) {\n track(initialValue, ReactiveWeakCollectionKey);\n handler = weakCollectionHandlers;\n } else {\n handler = basicHandler(shallow, exclude);\n }\n const proxy = new Proxy(initialValue, handler);\n reactiveMap.set(initialValue, proxy);\n return proxy;\n}\nfunction clearReactive(reactiveObj) {\n if (!isReactive(reactiveObj)) {\n {\n warn(\"clearReactive: argument must be a reactive object\");\n }\n return;\n }\n if (isWeakMap(reactiveObj) || isWeakSet(reactiveObj)) {\n {\n warn(\"clearReactive: WeakMap and WeakSet are not clearable\");\n }\n return;\n }\n useBatch(() => {\n if (isArray(reactiveObj)) {\n reactiveObj.length = 0;\n } else if (isSet(reactiveObj) || isMap(reactiveObj)) {\n reactiveObj.clear();\n } else if (isObject(reactiveObj)) {\n Object.keys(reactiveObj).forEach((key) => {\n delete reactiveObj[key];\n });\n }\n });\n}\nfunction useBatch(fn) {\n try {\n inBatch = true;\n fn();\n } finally {\n inBatch = false;\n runBatch();\n }\n}\nfunction runBatch() {\n if (batchQueue.size > 0) {\n batchQueue.forEach((effect2) => effect2());\n batchQueue.clear();\n }\n}\nfunction ref() {\n return shallowSignal(null);\n}\nfunction watch(source, cb, options) {\n return doWatch(source, cb, options);\n}\nvar INITIAL_WATCHER_VALUE = void 0;\nvar watcher;\nvar flushing = false;\nfunction queueWatcher(fn) {\n watcher = fn;\n if (!flushing) {\n flushing = true;\n nextTick(flushWatchers);\n }\n}\nfunction flushWatchers() {\n watcher && watcher();\n watcher = null;\n flushing = false;\n}\nfunction doWatch(source, cb, { deep, immediate } = {}) {\n let getter;\n const isMultiSource = isArray(source);\n if (isSignal(source) || isComputed(source)) {\n getter = () => source.value;\n } else if (isReactive(source)) {\n getter = () => __spreadValues({}, source);\n } else if (isMultiSource) {\n getter = () => source.map((s) => resolveSource(s));\n } else if (isFunction(source)) {\n getter = source;\n } else {\n warn(\"Invalid source type\", source);\n return noop;\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n let oldValue = isMultiSource ? Array.from({ length: source.length }).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n let runCb = false;\n const effectFn = () => {\n const newValue = getter();\n if (hasChanged(newValue, oldValue)) {\n if (immediate && cb) {\n cb(newValue, oldValue);\n oldValue = newValue;\n }\n if (runCb && cb) {\n queueWatcher(() => {\n cb(newValue, oldValue);\n oldValue = newValue;\n });\n }\n !runCb && (oldValue = newValue);\n }\n };\n const stop = effect(effectFn, { flush: \"sync\" });\n runCb = true;\n if (immediate) {\n effectFn();\n }\n return stop;\n}\nfunction resolveSource(s) {\n if (isSignal(s) || isComputed(s)) return s.value;\n if (isReactive(s)) return __spreadValues({}, s);\n if (isFunction(s)) return s();\n warn(\"Invalid source\", s);\n return noop;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value)) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isSignal(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (const element of value) {\n traverse(element, depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n }\n return value;\n}\n\n// src/store.ts\nfunction createOptionsStore(options) {\n const { state, getters, actions } = options;\n const initState = __spreadValues({}, state);\n const reactiveState = reactive(state);\n const subscriptions = [];\n const actionCallbacks = [];\n const default_actions = {\n patch$(payload) {\n Object.assign(reactiveState, payload);\n subscriptions.forEach((callback) => callback(reactiveState));\n actionCallbacks.forEach((callback) => callback(reactiveState));\n },\n subscribe$(callback) {\n subscriptions.push(callback);\n },\n unsubscribe$(callback) {\n const index = subscriptions.indexOf(callback);\n if (index !== -1) {\n subscriptions.splice(index, 1);\n }\n },\n onAction$(callback) {\n actionCallbacks.push(callback);\n },\n reset$() {\n Object.assign(reactiveState, initState);\n }\n };\n const store = __spreadValues(__spreadProps(__spreadValues({}, reactiveState), {\n state: reactiveState\n }), default_actions);\n if (getters) {\n for (const key in getters) {\n const getter = getters[key];\n if (getter) {\n Object.defineProperty(store, key, {\n get() {\n return computed(() => getter.call(store, reactiveState)).value;\n },\n enumerable: true,\n configurable: true\n });\n }\n }\n }\n if (actions) {\n for (const key in actions) {\n const action = actions[key];\n if (action) {\n store[key] = function(...args) {\n const result = action.apply(reactiveState, args);\n actionCallbacks.forEach((callback) => callback(reactiveState));\n return result;\n };\n }\n }\n }\n return store;\n}\nfunction createStore(storeDefinition) {\n return function() {\n let options;\n if (typeof storeDefinition === \"function\") {\n options = createClassStore(storeDefinition);\n } else {\n options = storeDefinition;\n }\n const store = createOptionsStore(options);\n if (typeof storeDefinition === \"function\") {\n Object.keys(options.actions || {}).forEach((key) => {\n store[key] = options.actions[key].bind(store);\n });\n }\n return store;\n };\n}\nfunction createClassStore(StoreClass) {\n const instance = new StoreClass();\n const state = /* @__PURE__ */ Object.create(null);\n const getters = {};\n const actions = {};\n Object.getOwnPropertyNames(instance).forEach((key) => {\n state[key] = instance[key];\n });\n Object.getOwnPropertyNames(StoreClass.prototype).forEach((key) => {\n const descriptor = Object.getOwnPropertyDescriptor(StoreClass.prototype, key);\n if (descriptor) {\n if (typeof descriptor.get === \"function\") {\n getters[key] = function() {\n return descriptor.get.call(this);\n };\n } else if (typeof descriptor.value === \"function\" && key !== \"constructor\") {\n actions[key] = function(...args) {\n return descriptor.value.apply(this, args);\n };\n }\n }\n });\n return {\n state,\n getters,\n actions\n };\n}\n\nexport { clearReactive, computed, createStore, effect, isComputed, isReactive, isSignal, nextTick, reactive, ref, shallowReactive, shallowSignal, signal, signalObject, toRaw, useBatch, watch };\n","import { isString, isFunction, isSymbol, isArray, escape, startsWith, hasChanged, capitalize, isNil, isPlainObject, isHTMLElement, coerceArray, isFalsy, kebabCase } from '@estjs/shared';\nimport { isSignal, shallowReactive, reactive, effect, shallowSignal } from '@estjs/signal';\n\n/**\n* @estjs/template v0.0.14-beta.21\n* (c) 2023-Present jiangxd <jiangxd2016@gmail.com>\n* @license MIT\n**/\n\n\n// src/sharedConfig.ts\nvar EVENT_PREFIX = \"on\";\nvar UPDATE_PREFIX = \"update\";\nvar CHILDREN_PROP = \"children\";\nvar EMPTY_TEMPLATE = \"\";\nvar FRAGMENT_PROP_KEY = \"0\";\nvar SINGLE_PROP_KEY = \"1\";\nvar REF_KEY = \"ref\";\nvar PLACEHOLDER = \" __PLACEHOLDER__ \";\nvar RenderContext = class {\n constructor() {\n this.renderMode = 0 /* CLIENT */;\n }\n get isSSG() {\n return this.renderMode === 1 /* SSG */;\n }\n get isSSR() {\n return this.renderMode === 2 /* SSR */;\n }\n get isClient() {\n return this.renderMode === 0 /* CLIENT */;\n }\n setSSR() {\n this.renderMode = 2 /* SSR */;\n }\n setSSG() {\n this.renderMode = 1 /* SSG */;\n }\n setClient() {\n this.renderMode = 0 /* CLIENT */;\n }\n};\nvar renderContext = new RenderContext();\nvar componentMap = /* @__PURE__ */ new Map();\nfunction enterComponent(temp, index) {\n componentMap.set(temp, {\n index\n });\n}\nfunction getComponentIndex(temp) {\n var _a;\n return (_a = componentMap.get(temp)) == null ? void 0 : _a.index;\n}\n\n// src/lifecycleContext.ts\nvar _LifecycleContext = class _LifecycleContext {\n constructor() {\n // Hooks for different lifecycle stages\n this.hooks = {\n mounted: /* @__PURE__ */ new Set(),\n destroy: /* @__PURE__ */ new Set()\n };\n }\n addEventListener() {\n }\n removeEventListener() {\n }\n // Add a hook for a specific lifecycle stage\n addHook(hook, cb) {\n var _a;\n (_a = this.hooks[hook]) == null ? void 0 : _a.add(cb);\n }\n // Get a value from the static context\n getContext(context) {\n return _LifecycleContext.context[context];\n }\n // Set a value in the static context\n setContext(context, value) {\n _LifecycleContext.context[context] = value;\n }\n initRef() {\n _LifecycleContext.ref = this;\n }\n removeRef() {\n _LifecycleContext.ref = null;\n }\n // Clear all hooks\n clearHooks() {\n Object.values(this.hooks).forEach((set) => set.clear());\n }\n};\n_LifecycleContext.ref = null;\n_LifecycleContext.context = {};\nvar LifecycleContext = _LifecycleContext;\n\n// src/ssgNode.ts\nfunction isSSGNode(node) {\n return node instanceof SSGNode;\n}\nvar componentIndex = 1;\nvar SSGNode = class extends LifecycleContext {\n constructor(template, props = {}, key) {\n super();\n this.template = template;\n this.props = props;\n this.key = key;\n enterComponent(template, componentIndex);\n this.templates = this.processTemplate();\n }\n processTemplate() {\n if (isArray(this.template)) {\n const htmlString = this.template.join(PLACEHOLDER);\n const processedString = this.processHtmlString(htmlString);\n return processedString.split(PLACEHOLDER);\n }\n return [];\n }\n processHtmlString(htmlString) {\n return htmlString.replaceAll(/(<[^>]+>)|([^<]+)/g, (match, p1, p2) => {\n if (p1) {\n if (p1.includes(\"data-ci\")) return match;\n return p1.replace(/<\\s*([\\da-z]+)(\\s[^>]*)?>/i, (_, tagName, attrs) => {\n return `<${tagName} data-ci=\"${componentIndex}\"${attrs || \"\"}>`;\n });\n } else if (p2 && p2.replace(PLACEHOLDER, \"\").trim()) {\n return `<!--${0 /* TEXT */}-${componentIndex}-->${p2}<!$>`;\n }\n return match;\n });\n }\n mount() {\n this.initRef();\n const output = this.render();\n this.removeRef();\n return output;\n }\n render() {\n if (isFunction(this.template)) {\n const root = this.template(this.props);\n if (isSSGNode(root)) {\n return root.mount();\n } else {\n return String(root);\n }\n }\n return this.renderTemplate();\n }\n renderTemplate() {\n Object.entries(this.props).forEach(([key, cur]) => {\n const children = cur.children;\n this.normalizeProps(cur);\n const findIndex = this.templates.findIndex((t) => t.includes(`data-hk=\"${key}\"`));\n if (children) {\n this.renderChildren(children, findIndex);\n }\n this.templates[findIndex] = this.templates[findIndex].replace(\n `data-hk=\"${key}\"`,\n `data-hk=\"${key}\" ${this.generateAttributes(cur)}`\n );\n });\n return this.templates.join(\"\");\n }\n normalizeProps(props) {\n Object.entries(props).forEach(([key, value]) => {\n if (key === CHILDREN_PROP) {\n delete props[key];\n } else if (isFunction(value)) {\n delete props[key];\n } else if (isSignal(value)) {\n props[key] = value.value;\n }\n });\n }\n generateAttributes(props) {\n return Object.entries(props).filter(([key, value]) => key !== CHILDREN_PROP && !isFunction(value)).map(([key, value]) => `${key}=\"${escape(String(value))}\"`).join(\" \");\n }\n renderChildren(children, findIndex) {\n children.forEach(([child]) => {\n componentIndex++;\n const renderedChild = this.renderChild(child);\n this.templates[findIndex] += renderedChild;\n });\n }\n renderChild(child) {\n if (isSignal(child)) {\n return `<!--${1 /* TEXT_COMPONENT */}-${componentIndex}-->${child.value}<!$>`;\n } else if (isFunction(child)) {\n return this.renderChild(child(this.props));\n } else if (isSSGNode(child)) {\n const childResult = child.mount();\n return isFunction(childResult) ? childResult(this.props) : extractSignal(childResult);\n } else {\n return `<!--${1 /* TEXT_COMPONENT */}-${componentIndex}-->${child}<!$>`;\n }\n }\n};\n\n// src/utils.ts\nvar SELF_CLOSING_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\".split(\",\");\nfunction coerceNode(data) {\n if (isJsxElement(data) || data instanceof Node || isSSGNode(data)) {\n return data;\n }\n const text = isFalsy(data) ? \"\" : String(data);\n return document.createTextNode(text);\n}\nfunction insertChild(parent, child, before = null) {\n const beforeNode = isJsxElement(before) ? before.firstChild : before;\n const ssr = renderContext.isSSR;\n if (isJsxElement(child)) {\n child.mount(parent, beforeNode);\n } else if (beforeNode && !ssr) {\n beforeNode.before(child);\n } else if (!ssr) {\n parent.append(child);\n }\n}\nfunction removeChild(child) {\n if (isJsxElement(child)) {\n child.unmount();\n } else {\n const parent = child.parentNode;\n if (parent) {\n child.remove();\n }\n }\n}\nfunction replaceChild(parent, node, child) {\n insertChild(parent, node, child);\n removeChild(child);\n}\nfunction setAttribute(element, attr, value) {\n if (attr === \"class\") {\n setClassAttribute(element, value);\n } else if (attr === \"style\") {\n setStyleAttribute(element, value);\n } else {\n setGenericAttribute(element, attr, value);\n }\n}\nfunction setClassAttribute(element, value) {\n if (typeof value === \"string\") {\n element.className = value;\n } else if (isArray(value)) {\n element.className = value.join(\" \");\n } else if (value && typeof value === \"object\") {\n element.className = Object.entries(value).reduce((acc, [key, value2]) => acc + (value2 ? ` ${key}` : \"\"), \"\").trim();\n }\n}\nfunction setStyleAttribute(element, value) {\n if (typeof value === \"string\") {\n element.style.cssText = value;\n } else if (value && typeof value === \"object\") {\n const obj = value;\n Object.entries(obj).forEach(([key, value2]) => {\n element.style.setProperty(kebabCase(key), String(value2));\n });\n }\n}\nfunction setGenericAttribute(element, attr, value) {\n if (isFalsy(value)) {\n element.removeAttribute(attr);\n } else if (value === true) {\n element.setAttribute(attr, \"\");\n } else {\n if (element instanceof HTMLInputElement && attr === \"value\") {\n element.value = String(value);\n } else {\n element.setAttribute(attr, String(value));\n }\n }\n}\nfunction bindNode(node, setter) {\n if (node instanceof HTMLInputElement) {\n switch (node.type) {\n case \"checkbox\":\n return addEventListener(node, \"change\", () => {\n setter(Boolean(node.checked));\n });\n case \"date\":\n return addEventListener(node, \"change\", () => {\n setter(node.value ? node.value : \"\");\n });\n case \"file\":\n return addEventListener(node, \"change\", () => {\n if (node.files) {\n setter(node.files);\n }\n });\n case \"number\":\n return addEventListener(node, \"input\", () => {\n const value = Number.parseFloat(node.value);\n setter(Number.isNaN(value) ? \"\" : String(value));\n });\n case \"radio\":\n return addEventListener(node, \"change\", () => {\n setter(node.checked ? node.value : \"\");\n });\n case \"text\":\n return addEventListener(node, \"input\", () => {\n setter(node.value);\n });\n }\n }\n if (node instanceof HTMLSelectElement) {\n return addEventListener(node, \"change\", () => {\n setter(node.value);\n });\n }\n if (node instanceof HTMLTextAreaElement) {\n return addEventListener(node, \"input\", () => {\n setter(node.value);\n });\n }\n}\nfunction addEventListener(node, eventName, handler) {\n node.addEventListener(eventName, handler);\n return () => node.removeEventListener(eventName, handler);\n}\nfunction convertToHtmlTag(tagName) {\n return SELF_CLOSING_TAGS.includes(tagName) ? `<${tagName}/>` : `<${tagName}></${tagName}>`;\n}\nfunction extractSignal(signal) {\n if (isSignal(signal)) {\n return signal.value;\n } else {\n return signal;\n }\n}\nvar ComponentNode = class extends LifecycleContext {\n constructor(template, props, key) {\n super();\n this.template = template;\n this.props = props;\n this.key = key;\n this.emitter = /* @__PURE__ */ new Set();\n this.rootNode = null;\n this.trackMap = /* @__PURE__ */ new Map();\n this.nodes = [];\n this.parent = null;\n this.before = null;\n this.key || (this.key = props && props.key);\n this.proxyProps || (this.proxyProps = this.createProxyProps(props));\n }\n createProxyProps(props) {\n if (!props) return {};\n return shallowReactive(\n props,\n (key) => startsWith(key, EVENT_PREFIX) || startsWith(key, UPDATE_PREFIX) || key === CHILDREN_PROP\n );\n }\n get firstChild() {\n var _a, _b;\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.firstChild) != null ? _b : null;\n }\n get isConnected() {\n var _a, _b;\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.isConnected) != null ? _b : false;\n }\n mount(parent, before) {\n var _a, _b, _c, _d;\n this.parent = parent;\n if (!isFunction(this.template)) {\n throw new Error(\"Template must be a function\");\n }\n if (this.isConnected) {\n return (_b = (_a = this.rootNode) == null ? void 0 : _a.mount(parent, before)) != null ? _b : [];\n }\n this.initRef();\n this.rootNode = this.template(reactive(this.proxyProps, [CHILDREN_PROP]));\n this.nodes = (_d = (_c = this.rootNode) == null ? void 0 : _c.mount(parent, before)) != null ? _d : [];\n this.callMountHooks();\n this.patchProps(this.props);\n this.removeRef();\n return this.nodes;\n }\n unmount() {\n var _a;\n this.callLifecycleHooks(\"destroy\");\n this.cleanup();\n (_a = this.rootNode) == null ? void 0 : _a.unmount();\n this.resetState();\n if (this.key) {\n componentCache.delete(this.key);\n }\n }\n resetState() {\n this.rootNode = null;\n this.proxyProps = {};\n this.nodes = [];\n this.parent = null;\n }\n callLifecycleHooks(type) {\n this.hooks[type].forEach((handler) => handler());\n }\n callMountHooks() {\n this.hooks.mounted.forEach((handler) => handler());\n }\n callDestroyHooks() {\n this.hooks.destroy.forEach((handler) => handler());\n }\n clearEmitter() {\n for (const cleanup of this.emitter) {\n cleanup();\n }\n this.emitter.clear();\n }\n inheritNode(node) {\n Object.assign(this.proxyProps, node.proxyProps);\n this.rootNode = node.rootNode;\n this.trackMap = node.trackMap;\n this.hooks = node.hooks;\n if (hasChanged(node.props, this.props)) {\n const props = this.props;\n this.props = node.props;\n this.patchProps(props);\n }\n }\n getNodeTrack(trackKey) {\n let track = this.trackMap.get(trackKey);\n if (!track) {\n track = { cleanup: () => {\n } };\n this.trackMap.set(trackKey, track);\n }\n track.cleanup();\n return track;\n }\n patchProps(props) {\n var _a;\n if (!props) {\n return;\n }\n for (const [key, prop] of Object.entries(props)) {\n if (startsWith(key, EVENT_PREFIX) && ((_a = this.rootNode) == null ? void 0 : _a.firstChild)) {\n this.patchEventListener(key, prop);\n } else if (key === REF_KEY) {\n this.patchRef(prop);\n } else if (startsWith(key, UPDATE_PREFIX)) {\n this.patchUpdateHandler(key, prop);\n } else if (key !== CHILDREN_PROP) {\n this.patchNormalProp(key, prop);\n }\n }\n this.props = props;\n }\n patchEventListener(key, prop) {\n const event = key.slice(2).toLowerCase();\n const cleanup = addEventListener(this.rootNode.nodes[0], event, prop);\n this.emitter.add(cleanup);\n }\n patchRef(prop) {\n var _a, _b;\n prop.value = (_b = (_a = this.rootNode) == null ? void 0 : _a.firstChild) != null ? _b : null;\n }\n patchUpdateHandler(key, prop) {\n this.proxyProps[key] = extractSignal(prop);\n }\n patchNormalProp(key, prop) {\n const track = this.getNodeTrack(key);\n track.cleanup = effect(() => {\n this.proxyProps[key] = isFunction(prop) ? prop() : prop;\n });\n }\n cleanup() {\n this.trackMap.forEach((track) => {\n var _a;\n return (_a = track.cleanup) == null ? void 0 : _a.call(track);\n });\n this.trackMap.clear();\n this.emitter.forEach((cleanup) => cleanup());\n this.emitter.clear();\n }\n};\n\n// src/patch.ts\nfunction patchChildren(parent, childrenMap, nextChildren, before) {\n const result = /* @__PURE__ */ new Map();\n const children = Array.from(childrenMap.values());\n if (children.length && nextChildren.length === 0) {\n clearChildren(parent, children, before);\n return result;\n }\n const replaces = [];\n const nextChildrenMap = mapKeys(nextChildren);\n let childIndex = 0;\n for (let [i, child] of nextChildren.entries()) {\n let currChild = children[childIndex];\n let currKey = getKey(currChild, i);\n while (currChild && !nextChildrenMap.has(currKey)) {\n removeChild(currChild);\n childrenMap.delete(currKey);\n currChild = children[++childIndex];\n currKey = getKey(currChild, i);\n }\n const key = getKey(child, i);\n const origChild = childrenMap.get(key);\n if (origChild) {\n child = patch(parent, origChild, child);\n }\n if (currChild) {\n if (currChild === origChild) {\n childIndex++;\n } else {\n const placeholder = document.createComment(\"\");\n insertChild(parent, placeholder, currChild);\n replaces.push([placeholder, child]);\n }\n } else {\n insertChild(parent, child, before);\n }\n result.set(key, child);\n }\n replaces.forEach(([placeholder, child]) => {\n replaceChild(parent, child, placeholder);\n });\n childrenMap.forEach((child, key) => {\n if (child.isConnected && !result.has(key)) {\n removeChild(child);\n }\n });\n return result;\n}\nfunction clearChildren(parent, children, before) {\n if (parent.childNodes.length === children.length + (before ? 1 : 0)) {\n parent.innerHTML = \"\";\n if (before) {\n insertChild(parent, before);\n }\n } else {\n const range = document.createRange();\n const child = children[0];\n const start = isJsxElement(child) ? child.firstChild : child;\n range.setStartBefore(start);\n if (before) {\n range.setEndBefore(before);\n } else {\n range.setEndAfter(parent);\n }\n range.deleteContents();\n }\n children.forEach((node) => {\n if (isJsxElement(node)) {\n node.unmount();\n }\n });\n}\nfunction patch(parent, node, next) {\n if (node === next) {\n return node;\n }\n if (isJsxElement(node) && isJsxElement(next) && node.template === next.template) {\n next.inheritNode(node);\n return next;\n }\n if (node instanceof Text && next instanceof Text) {\n if (node.textContent !== next.textContent) {\n node.textContent = next.textContent;\n }\n return node;\n }\n replaceChild(parent, next, node);\n return next;\n}\nfunction mapKeys(children) {\n const result = /* @__PURE__ */ new Map();\n for (const [i, child] of children.entries()) {\n const key = getKey(child, i);\n result.set(key, child);\n }\n return result;\n}\nfunction getKey(node, index) {\n if (isJsxElement(node)) {\n const jsxKey = node.key;\n if (jsxKey !== void 0 && jsxKey !== null) {\n return String(jsxKey);\n }\n }\n return `_$${index}$`;\n}\n\n// src/templateNode.ts\nvar TemplateNode = class {\n constructor(template, props, key) {\n this.template = template;\n this.props = props;\n this.key = key;\n this.treeMap = /* @__PURE__ */ new Map();\n this.mounted = false;\n this.nodes = [];\n this.trackMap = /* @__PURE__ */ new Map();\n this.bindValueKeys = [];\n this.parent = null;\n if (renderContext.isSSR) {\n this.componentIndex = getComponentIndex(this.template);\n }\n }\n get firstChild() {\n var _a;\n return (_a = this.nodes[0]) != null ? _a : null;\n }\n get isConnected() {\n return this.mounted;\n }\n addEventListener() {\n }\n removeEventListener() {\n }\n mount(parent, before) {\n var _a;\n this.parent = parent;\n if (this.isConnected) {\n this.nodes.forEach((node) => insertChild(parent, node, before));\n return this.nodes;\n }\n if (isArray(this.template)) {\n this.template = createTemplate(this.template.join(\"\"));\n }\n const cloneNode = this.template.content.cloneNode(true);\n const firstChild = cloneNode.firstChild;\n if ((_a = firstChild == null ? void 0 : firstChild.hasAttribute) == null ? void 0 : _a.call(firstChild, \"_svg_\")) {\n firstChild.remove();\n firstChild.childNodes.forEach((node) => {\n cloneNode.append(node);\n });\n }\n this.nodes = Array.from(cloneNode.childNodes);\n if (renderContext.isSSR) {\n this.mapSSGNodeTree(parent);\n } else {\n this.mapNodeTree(parent, cloneNode);\n }\n insertChild(parent, cloneNode, before);\n this.patchProps(this.props);\n this.mounted = true;\n return this.nodes;\n }\n unmount() {\n this.trackMap.forEach((track) => {\n track.cleanup && track.cleanup();\n });\n this.trackMap.clear();\n this.treeMap.clear();\n this.nodes.forEach((node) => removeChild(node));\n this.nodes = [];\n this.mounted = false;\n if (this.key) {\n componentCache.delete(this.key);\n }\n }\n inheritNode(node) {\n this.mounted = node.mounted;\n this.nodes = node.nodes;\n this.trackMap = node.trackMap;\n this.treeMap = node.treeMap;\n const props = this.props;\n this.props = node.props;\n this.patchProps(props);\n }\n mapSSGNodeTree(parent) {\n this.treeMap.set(0, parent);\n this.walkNodeTree(parent, this.handleSSGNode.bind(this));\n }\n // protected method to map node tree\n mapNodeTree(parent, tree) {\n let index = 1;\n this.treeMap.set(0, parent);\n const handleNode = (node) => {\n if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n this.treeMap.set(index++, node);\n }\n };\n this.walkNodeTree(tree, handleNode);\n }\n walkNodeTree(node, handler) {\n if (node.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n handler(node);\n }\n let child = node.firstChild;\n while (child) {\n this.walkNodeTree(child, handler);\n child = child.nextSibling;\n }\n }\n handleSSGNode(node) {\n var _a;\n if (node.nodeType === Node.COMMENT_NODE) {\n const [type, index] = ((_a = node.textContent) == null ? void 0 : _a.split(\"-\")) || [];\n if (0 /* TEXT */ === +type && +index === this.componentIndex) {\n const textNode = node.nextSibling;\n this.treeMap.set(+index, textNode);\n }\n } else if (node.nodeType !== Node.TEXT_NODE) {\n const { ci = \"-1\", hk } = (node == null ? void 0 : node.dataset) || {};\n if (hk && +ci === this.componentIndex) {\n this.treeMap.set(+hk, node);\n }\n }\n }\n patchProps(props) {\n if (!props) return;\n Object.entries(props).forEach(([key, value]) => {\n const index = Number(key);\n const node = this.treeMap.get(index);\n if (node) {\n this.patchProp(key, node, value, index === 0);\n }\n });\n this.props = props;\n }\n patchProp(key, node, props, isRoot) {\n if (!props) return;\n Object.entries(props).forEach(([attr, value]) => {\n if (attr === CHILDREN_PROP && value) {\n this.patchChildren(key, node, value, isRoot);\n } else if (attr === REF_KEY) {\n props[attr].value = node;\n } else if (startsWith(attr, EVENT_PREFIX)) {\n this.patchEventListener(key, node, attr, value);\n } else {\n if (this.bindValueKeys.includes(attr)) return;\n const updateFn = this.getBindUpdateValue(props, key, attr);\n this.patchAttribute(key, node, attr, value, updateFn);\n }\n });\n }\n getBindUpdateValue(props, key, attr) {\n const updateKey = `${UPDATE_PREFIX}${capitalize(attr)}`;\n if (updateKey && props[updateKey] && isFunction(props[updateKey])) {\n this.bindValueKeys.push(updateKey);\n return props[updateKey];\n }\n }\n patchChildren(key, node, children, isRoot) {\n if (!isArray(children)) {\n const trackKey = `${key}:${CHILDREN_PROP}:0`;\n const track = this.getNodeTrack(trackKey, true, isRoot);\n this.patchChild(track, node, children, null);\n } else {\n children.filter(Boolean).forEach((item, index) => {\n var _a;\n const [child, path] = isArray(item) ? item : [item, null];\n const before = isNil(path) ? null : (_a = this.treeMap.get(path)) != null ? _a : null;\n const trackKey = `${key}:${CHILDREN_PROP}:${index}`;\n const track = this.getNodeTrack(trackKey, true, isRoot);\n this.patchChild(track, node, child, before);\n });\n }\n }\n patchEventListener(key, node, attr, listener) {\n const eventName = attr.slice(2).toLowerCase();\n const track = this.getNodeTrack(`${key}:${attr}`);\n track.cleanup = addEventListener(node, eventName, listener);\n }\n patchAttribute(key, element, attr, value, updateFn) {\n const track = this.getNodeTrack(`${key}:${attr}`);\n const triggerValue = shallowSignal();\n const cleanup = effect(() => {\n const unFnValue = isFunction(value) ? value() : value;\n if (isPlainObject(unFnValue) && isPlainObject(triggerValue.peek()) && JSON.stringify(triggerValue.value) === JSON.stringify(unFnValue))\n return;\n triggerValue.value = isSignal(unFnValue) ? unFnValue.value : unFnValue;\n setAttribute(element, attr, triggerValue.value);\n });\n let cleanupBind;\n if (updateFn && isHTMLElement(element)) {\n cleanupBind = bindNode(element, (value2) => {\n updateFn(value2);\n });\n }\n track.cleanup = () => {\n cleanup && cleanup();\n cleanupBind && cleanupBind();\n };\n }\n getNodeTrack(trackKey, trackLastNodes, isRoot) {\n let track = this.trackMap.get(trackKey);\n if (!track) {\n track = { cleanup: () => {\n } };\n if (trackLastNodes) {\n track.lastNodes = /* @__PURE__ */ new Map();\n }\n if (isRoot) {\n track.isRoot = true;\n }\n this.trackMap.set(trackKey, track);\n }\n track.cleanup && track.cleanup();\n return track;\n }\n patchChild(track, parent, child, before) {\n if (isFunction(child)) {\n track.cleanup = effect(() => {\n const nextNodes = coerceArray(child()).map(coerceNode);\n if (renderContext.isSSR) {\n track.lastNodes = this.reconcileChildren(parent, nextNodes, before);\n } else {\n track.lastNodes = patchChildren(parent, track.lastNodes, nextNodes, before);\n }\n });\n } else {\n coerceArray(child).forEach((node, index) => {\n const newNode = coerceNode(node);\n const key = getKey(newNode, index);\n if (renderContext.isSSR) {\n track.lastNodes = this.reconcileChildren(parent, [newNode], before);\n } else {\n track.lastNodes.set(key, newNode);\n insertChild(parent, newNode, before);\n }\n });\n }\n }\n reconcileChildren(parent, nextNodes, before) {\n const result = /* @__PURE__ */ new Map();\n const textNodes = Array.from(parent.childNodes).filter(\n (node) => {\n var _a, _b;\n return node.nodeType === Node.TEXT_NODE && ((_a = node.previousSibling) == null ? void 0 : _a.nodeType) === Node.COMMENT_NODE && ((_b = node.nextSibling) == null ? void 0 : _b.nodeType) === Node.COMMENT_NODE;\n }\n );\n nextNodes.forEach((node, index) => {\n const key = getKey(node, index);\n if (node.nodeType === Node.TEXT_NODE) {\n textNodes.forEach((ne) => {\n if (node.textContent === ne.textContent) {\n parent.replaceChild(node, ne);\n }\n });\n } else {\n insertChild(parent, node, before);\n }\n result.set(key, node);\n });\n return result;\n }\n};\n\n// src/jsxRenderer.ts\nvar componentCache = /* @__PURE__ */ new Map();\nfunction createNodeCache(NodeConstructor, template, props = {}, key) {\n if (key) {\n const cached = componentCache.get(key);\n if (cached) {\n return cached;\n }\n }\n if (typeof template === \"string\") {\n template = createTemplate(template);\n }\n const newNode = new NodeConstructor(template, props, key);\n if (key && newNode instanceof ComponentNode) {\n componentCache.set(key, newNode);\n }\n return newNode;\n}\nfunction h(template, props = {}, key) {\n if (template === EMPTY_TEMPLATE) {\n return Fragment(template, props);\n }\n if (isString(template)) {\n const htmlTemplate = convertToHtmlTag(template);\n const wrappedProps = { [SINGLE_PROP_KEY]: props };\n return createNodeCache(TemplateNode, htmlTemplate, wrappedProps, key);\n }\n if (isFunction(template)) {\n return createNodeCache(ComponentNode, template, props, key);\n }\n return createNodeCache(TemplateNode, template, props, key);\n}\nfunction isComponent(node) {\n return node instanceof ComponentNode;\n}\nfunction isJsxElement(node) {\n return node instanceof ComponentNode || node instanceof TemplateNode;\n}\nfunction createTemplate(html) {\n const template = document.createElement(\"template\");\n template.innerHTML = html;\n return template;\n}\nfunction Fragment(template, props) {\n const processedProps = props.children ? {\n [FRAGMENT_PROP_KEY]: {\n children: Array.isArray(props.children) ? props.children.filter(Boolean) : [props.children]\n }\n } : props;\n const templateElement = template === EMPTY_TEMPLATE ? createTemplate(EMPTY_TEMPLATE) : template;\n return createNodeCache(TemplateNode, templateElement, processedProps);\n}\nfunction onMount(cb) {\n assertInsideComponent(\"onMounted\");\n LifecycleContext.ref && LifecycleContext.ref.addHook(\"mounted\", cb);\n}\nfunction onDestroy(cb) {\n assertInsideComponent(\"onDestroy\");\n LifecycleContext.ref && LifecycleContext.ref.addHook(\"destroy\", cb);\n}\nfunction assertInsideComponent(hookName, key) {\n if (!LifecycleContext.ref && true) {\n console.error(\n `\"${hookName}\"(key: ${isSymbol(key) ? key.toString() : key}) can only be called within the component function body\n and cannot be used in asynchronous or deferred calls.`\n );\n }\n}\nfunction provide(key, value) {\n assertInsideComponent(\"provide\", key);\n LifecycleContext.ref && LifecycleContext.ref.setContext(key, value);\n}\nfunction inject(key, defaultValue) {\n var _a;\n assertInsideComponent(\"inject\", key);\n return (_a = LifecycleContext.ref && LifecycleContext.ref.getContext(key)) != null ? _a : defaultValue;\n}\n\n// src/server.ts\nfunction renderToString(component, props) {\n renderContext.setSSG();\n const ssrNode = new SSGNode(component, props || {});\n const html = ssrNode.mount();\n renderContext.setClient();\n return html;\n}\nfunction hydrate(component, container) {\n const rootElement = typeof container === \"string\" ? document.querySelector(container) : container;\n if (!rootElement) {\n throw new Error(`Could not find container: ${container}`);\n }\n renderContext.setSSR();\n h(component).mount(rootElement);\n renderContext.setClient();\n}\nfunction ssg(component, props) {\n if (renderContext.isSSG) {\n return new SSGNode(component, props);\n }\n return h(component, props);\n}\n\nexport { Fragment, h, hydrate, inject, isComponent, isJsxElement, onDestroy, onMount, provide, renderToString, ssg, createTemplate as template };\n","import { essor_version } from './version';\n\nexport * from '@estjs/template';\nexport * from '@estjs/signal';\n\nif (globalThis) {\n globalThis.__essor_version__ = essor_version;\n}\n\nexport { essor_version };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "essor",
3
- "version": "0.0.14-beta.2",
3
+ "version": "0.0.14-beta.21",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "keywords": [],
@@ -53,9 +53,9 @@
53
53
  "unpkg": "dist/essor.esm.js",
54
54
  "jsdelivr": "dist/essor.esm.js",
55
55
  "dependencies": {
56
- "@estjs/signal": "0.0.14-beta.2",
57
- "@estjs/template": "0.0.14-beta.2",
58
- "@estjs/shared": "0.0.14-beta.2"
56
+ "@estjs/shared": "0.0.14-beta.21",
57
+ "@estjs/signal": "0.0.14-beta.21",
58
+ "@estjs/template": "0.0.14-beta.21"
59
59
  },
60
60
  "scripts": {
61
61
  "build": "tsup && cross-env NODE_ENV=production tsup --clean=false --treeshake --sourcemap=false",