@celldl/viewer 0.20260807.1 → 0.20260905.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/CellDLViewer.css +2 -1
  2. package/dist/CellDLViewer.es.js +8 -914
  3. package/dist/CellDLViewer.es.js.map +1 -1
  4. package/dist/Rdf.es-CTxZ_25c.js +7511 -0
  5. package/dist/Rdf.es-CTxZ_25c.js.map +1 -0
  6. package/dist/WrappedViewer-kJtkh6i7.js +10683 -0
  7. package/dist/WrappedViewer-kJtkh6i7.js.map +1 -0
  8. package/dist/index.d.ts +6 -7
  9. package/dist/node_modules/@vueuse/core/dist/index.d.ts +5706 -0
  10. package/dist/node_modules/@vueuse/shared/dist/index.d.ts +1503 -0
  11. package/dist/src/SVGElements/boundedelement.d.ts +6 -0
  12. package/dist/src/SVGElements/index.d.ts +27 -0
  13. package/dist/src/celldlObjects/index.d.ts +85 -0
  14. package/dist/src/common/points.d.ts +56 -0
  15. package/dist/src/common/styling.d.ts +36 -0
  16. package/dist/src/common/svgUtils.d.ts +41 -0
  17. package/dist/src/common/types.d.ts +23 -0
  18. package/dist/src/components/ViewerComponent.d.ts +8 -0
  19. package/dist/src/components/WrappedViewer.vue.d.ts +24 -0
  20. package/dist/src/geometry/controls.d.ts +20 -0
  21. package/dist/src/geometry/index.d.ts +85 -0
  22. package/dist/src/geometry/transforms.d.ts +15 -0
  23. package/dist/src/geometry/units.d.ts +23 -0
  24. package/dist/src/index.d.ts +12 -0
  25. package/dist/src/utils.d.ts +6 -0
  26. package/dist/src/viewer/index.d.ts +14 -0
  27. package/dist/src/viewer/model.d.ts +17 -0
  28. package/dist/src/viewer/panzoom.d.ts +30 -0
  29. package/dist/vite.config.d.ts +3 -0
  30. package/dist/vite.lib.config.d.ts +3 -0
  31. package/package.json +21 -22
  32. package/dist/WrappedViewer-CcH9JaZs.js +0 -12048
  33. package/dist/WrappedViewer-CcH9JaZs.js.map +0 -1
  34. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WrappedViewer-kJtkh6i7.js","names":["toString","unrefElement","round","getComputedStyle","win","toValue","#wheelEvent","#containerId","#containerOrigin","#validContainer","#containerSize","#resizeObserver","#resizeObservation","#panning","#scale","#svgDiagram","#minScale","#setViewbox","#pointerDownPosition","#currentViewbox","#step","#maxScale","#container","#scopeId","#panzoom","#tooltip","#tooltipElement","#pointerClickEvent","#pointerOverEvent","#pointerOutEvent","#pointerDownEvent","#pointerMoveEvent","#pointerUpEvent","#celldlModel","#addPointerEventHandlers","#svgDiagram","#activeObject","#pointerMoved","#selectedObject","#removePointerEventHandlers","#unsetSelectedObject","#unsetActiveObject","#hideTooltip","#tooltipStyle","#activateObject","#showTooltip","#emitModelEvent","#pointerDownTime","#selectionClickEvent","#setSelectedObject","#notDiagramElement","#setActiveObject","#panning","#setDefaultCursor","h","#e","#t","#n","#o","#i","#r","#a","#left","#right","#top","#bottom","#instance","#nextId","#value","#getValue","#minimum","#maximum","#dirty","#xValue","#yValue","#centroid","#topLeft","#bottomRight","#svgElement","#centroidOffset","#size","#matrix","#globalTransform","#svgElement","#selectionElement","#updatedSvgElement","#bounds","#centroid","#centroidOffset","#cornerOffsets","#size","#selected","#topLeft","#selectionElementMembers","#selectionClasses","#setSelectionClass","#updateBounds","#controlRect","#celldlModel","#celldlClassName","#celldlType","#celldlSvgElement","#tooltip","#externalConnections","#celldlViewer","#documentNode","#documentNS","#annotations","#loadSvgDiagram","#loadMetadata","#tooltipField","#loadComponents","#loadInterfaces","#loadConduits","#loadConnections","#loadAnnotations","#loadAnnotatedSVGFeatures","#setTooltips","#svgDiagram","#kb","#objects","#subjectsOfType","#celldlObjectFromRdf","#setObjectSvgElement","#addMoveableObject","#loadObject"],"sources":["../node_modules/@vueuse/shared/dist/index.js","../node_modules/@vueuse/core/dist/index.js","../node_modules/vue-tippy/dist/vue-tippy.esm-browser.js","../src/common/points.ts","../src/geometry/units.ts","../src/common/svgUtils.ts","../src/viewer/panzoom.ts","../src/viewer/index.ts","../node_modules/@celldl/metadata/dist/metadata.es.js","../src/utils.ts","../src/geometry/index.ts","../src/geometry/controls.ts","../src/common/styling.ts","../node_modules/transformation-matrix/src/applyToPoint.js","../node_modules/transformation-matrix/src/fromString.js","../node_modules/transformation-matrix/src/identity.js","../node_modules/transformation-matrix/src/inverse.js","../node_modules/transformation-matrix/src/translate.js","../node_modules/transformation-matrix/src/transform.js","../node_modules/transformation-matrix/src/rotate.js","../node_modules/transformation-matrix/src/skew.js","../node_modules/transformation-matrix/src/toString.js","../src/geometry/transforms.ts","../src/SVGElements/index.ts","../src/SVGElements/boundedelement.ts","../src/celldlObjects/index.ts","../src/viewer/model.ts","../src/components/WrappedViewer.vue","../src/components/WrappedViewer.vue"],"sourcesContent":["import { computed, customRef, effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, inject, isReactive, isRef, nextTick, onBeforeMount, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, provide, reactive, readonly, ref, shallowReadonly, shallowRef, toRef as toRef$1, toRefs as toRefs$1, toValue, unref, watch, watchEffect } from \"vue\";\n//#region computedEager/index.ts\n/**\n*\n* @deprecated This function will be removed in future version.\n*\n* Note: If you are using Vue 3.4+, you can straight use computed instead.\n* Because in Vue 3.4+, if computed new value does not change,\n* computed, effect, watch, watchEffect, render dependencies will not be triggered.\n* refer: https://github.com/vuejs/core/pull/5912\n*\n* @param fn effect function\n* @param options WatchOptionsBase\n* @returns readonly shallowRef\n*/\nfunction computedEager(fn, options) {\n\tvar _options$flush;\n\tconst result = shallowRef();\n\twatchEffect(() => {\n\t\tresult.value = fn();\n\t}, {\n\t\t...options,\n\t\tflush: (_options$flush = options === null || options === void 0 ? void 0 : options.flush) !== null && _options$flush !== void 0 ? _options$flush : \"sync\"\n\t});\n\treturn readonly(result);\n}\n/** @deprecated use `computedEager` instead */\nconst eagerComputed = computedEager;\n//#endregion\n//#region computedWithControl/index.ts\n/**\n* Explicitly define the deps of computed.\n*\n* @param source\n* @param fn\n*/\nfunction computedWithControl(source, fn, options = {}) {\n\tlet v = void 0;\n\tlet track;\n\tlet trigger;\n\tlet dirty = true;\n\tconst update = () => {\n\t\tdirty = true;\n\t\ttrigger();\n\t};\n\twatch(source, update, {\n\t\tflush: \"sync\",\n\t\t...options\n\t});\n\tconst get = typeof fn === \"function\" ? fn : fn.get;\n\tconst set = typeof fn === \"function\" ? void 0 : fn.set;\n\tconst result = customRef((_track, _trigger) => {\n\t\ttrack = _track;\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\tif (dirty) {\n\t\t\t\t\tv = get(v);\n\t\t\t\t\tdirty = false;\n\t\t\t\t}\n\t\t\t\ttrack();\n\t\t\t\treturn v;\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\tset === null || set === void 0 || set(v);\n\t\t\t}\n\t\t};\n\t});\n\tresult.trigger = update;\n\treturn result;\n}\n/** @deprecated use `computedWithControl` instead */\nconst controlledComputed = computedWithControl;\n//#endregion\n//#region createDisposableDirective/index.ts\n/**\n* Utility for authoring disposable directives. Reactive effects created within `mounted` directive hook will be tracked and automatically disposed when directive is unmounted.\n*\n* @see https://vueuse.org/createDisposableDirective\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createDisposableDirective(origin = {}) {\n\tfunction isFunc(fn) {\n\t\treturn typeof fn === \"function\";\n\t}\n\tconst normalisedOrigin = isFunc(origin) ? {\n\t\tmounted: origin,\n\t\tupdated: origin\n\t} : origin;\n\tconst { mounted, unmounted } = normalisedOrigin;\n\tif (!isFunc(mounted)) return origin;\n\tconst scopeWeakMap = /* @__PURE__ */ new WeakMap();\n\treturn {\n\t\t...normalisedOrigin,\n\t\tmounted(el, binding, vNode, prevNode) {\n\t\t\tvar _scopeWeakMap$get;\n\t\t\tconst scope = (_scopeWeakMap$get = scopeWeakMap.get(el)) !== null && _scopeWeakMap$get !== void 0 ? _scopeWeakMap$get : effectScope();\n\t\t\tscopeWeakMap.set(el, scope);\n\t\t\tscope.run(() => {\n\t\t\t\tmounted === null || mounted === void 0 || mounted(el, binding, vNode, prevNode);\n\t\t\t});\n\t\t},\n\t\tunmounted(el, binding, vNode, prevNode) {\n\t\t\tvar _scopeWeakMap$get2;\n\t\t\t(_scopeWeakMap$get2 = scopeWeakMap.get(el)) === null || _scopeWeakMap$get2 === void 0 || _scopeWeakMap$get2.stop();\n\t\t\tscopeWeakMap.delete(el);\n\t\t\tif (isFunc(unmounted)) unmounted(el, binding, vNode, prevNode);\n\t\t}\n\t};\n}\n//#endregion\n//#region tryOnScopeDispose/index.ts\n/**\n* Call onScopeDispose() if it's inside an effect scope lifecycle, if not, do nothing\n*\n* @param fn\n*/\nfunction tryOnScopeDispose(fn, failSilently) {\n\tif (getCurrentScope()) {\n\t\tonScopeDispose(fn, failSilently);\n\t\treturn true;\n\t}\n\treturn false;\n}\n//#endregion\n//#region createEventHook/index.ts\n/**\n* Utility for creating event hooks\n*\n* @see https://vueuse.org/createEventHook\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createEventHook() {\n\tconst fns = /* @__PURE__ */ new Set();\n\tconst off = (fn) => {\n\t\tfns.delete(fn);\n\t};\n\tconst clear = () => {\n\t\tfns.clear();\n\t};\n\tconst on = (fn) => {\n\t\tfns.add(fn);\n\t\tconst offFn = () => off(fn);\n\t\ttryOnScopeDispose(offFn);\n\t\treturn { off: offFn };\n\t};\n\tconst trigger = (...args) => {\n\t\treturn Promise.all(Array.from(fns).map((fn) => fn(...args)));\n\t};\n\treturn {\n\t\ton,\n\t\toff,\n\t\ttrigger,\n\t\tclear\n\t};\n}\n//#endregion\n//#region createGlobalState/index.ts\n/**\n* Keep states in the global scope to be reusable across Vue instances.\n*\n* @see https://vueuse.org/createGlobalState\n* @param stateFactory A factory function to create the state\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createGlobalState(stateFactory) {\n\tlet initialized = false;\n\tlet state;\n\tconst scope = effectScope(true);\n\treturn ((...args) => {\n\t\tif (!initialized) {\n\t\t\tstate = scope.run(() => stateFactory(...args));\n\t\t\tinitialized = true;\n\t\t}\n\t\treturn state;\n\t});\n}\n//#endregion\n//#region provideLocal/map.ts\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n//#endregion\n//#region injectLocal/index.ts\n/**\n* On the basis of `inject`, it is allowed to directly call inject to obtain the value after call provide in the same component.\n*\n* @example\n* ```ts\n* injectLocal('MyInjectionKey', 1)\n* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1\n* ```\n*\n* @__NO_SIDE_EFFECTS__\n*/\nconst injectLocal = (...args) => {\n\tvar _getCurrentInstance;\n\tconst key = args[0];\n\tconst instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy;\n\tconst owner = instance !== null && instance !== void 0 ? instance : getCurrentScope();\n\tif (owner == null && !hasInjectionContext()) throw new Error(\"injectLocal must be called in setup\");\n\tif (owner && localProvidedStateMap.has(owner) && key in localProvidedStateMap.get(owner)) return localProvidedStateMap.get(owner)[key];\n\treturn inject(...args);\n};\n//#endregion\n//#region provideLocal/index.ts\n/**\n* On the basis of `provide`, it is allowed to directly call inject to obtain the value after call provide in the same component.\n*\n* @example\n* ```ts\n* provideLocal('MyInjectionKey', 1)\n* const injectedValue = injectLocal('MyInjectionKey') // injectedValue === 1\n* ```\n*/\nfunction provideLocal(key, value) {\n\tvar _getCurrentInstance;\n\tconst instance = (_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy;\n\tconst owner = instance !== null && instance !== void 0 ? instance : getCurrentScope();\n\tif (owner == null) throw new Error(\"provideLocal must be called in setup\");\n\tif (!localProvidedStateMap.has(owner)) localProvidedStateMap.set(owner, Object.create(null));\n\tconst localProvidedState = localProvidedStateMap.get(owner);\n\tlocalProvidedState[key] = value;\n\treturn provide(key, value);\n}\n//#endregion\n//#region createInjectionState/index.ts\nfunction createInjectionState(composable, options) {\n\tconst key = (options === null || options === void 0 ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n\tconst defaultValue = options === null || options === void 0 ? void 0 : options.defaultValue;\n\tconst useProvidingState = (...args) => {\n\t\tconst state = composable(...args);\n\t\tprovideLocal(key, state);\n\t\treturn state;\n\t};\n\tconst useInjectedState = () => injectLocal(key, defaultValue);\n\treturn [useProvidingState, useInjectedState];\n}\n//#endregion\n//#region createRef/index.ts\n/**\n* Returns a `deepRef` or `shallowRef` depending on the `deep` param.\n*\n* @example createRef(1) // ShallowRef<number>\n* @example createRef(1, false) // ShallowRef<number>\n* @example createRef(1, true) // Ref<number>\n* @example createRef(\"string\") // ShallowRef<string>\n* @example createRef<\"A\"|\"B\">(\"A\", true) // Ref<\"A\"|\"B\">\n*\n* @param value\n* @param deep\n* @returns the `deepRef` or `shallowRef`\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createRef(value, deep) {\n\tif (deep === true) return ref(value);\n\telse return shallowRef(value);\n}\n//#endregion\n//#region utils/is.ts\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n\tif (!condition) console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {};\nconst rand = (min, max) => {\n\tmin = Math.ceil(min);\n\tmax = Math.floor(max);\n\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.hasOwn(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n\tvar _window, _window2, _window3;\n\treturn isClient && !!((_window = window) === null || _window === void 0 || (_window = _window.navigator) === null || _window === void 0 ? void 0 : _window.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.maxTouchPoints) > 2 && /iPad|Macintosh/.test((_window3 = window) === null || _window3 === void 0 ? void 0 : _window3.navigator.userAgent));\n}\n//#endregion\n//#region toRef/index.ts\nfunction toRef(...args) {\n\tif (args.length !== 1) return toRef$1(...args);\n\tconst r = args[0];\n\treturn typeof r === \"function\" ? readonly(customRef(() => ({\n\t\tget: r,\n\t\tset: noop\n\t}))) : ref(r);\n}\n//#endregion\n//#region utils/filters.ts\n/**\n* @internal\n*/\nfunction createFilterWrapper(filter, fn) {\n\tfunction wrapper(...args) {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tPromise.resolve(filter(() => fn.apply(this, args), {\n\t\t\t\tfn,\n\t\t\t\tthisArg: this,\n\t\t\t\targs\n\t\t\t})).then(resolve).catch(reject);\n\t\t});\n\t}\n\treturn wrapper;\n}\nconst bypassFilter = (invoke) => {\n\treturn invoke();\n};\n/**\n* Create an EventFilter that debounce the events\n*/\nfunction debounceFilter(ms, options = {}) {\n\tlet timer;\n\tlet maxTimer;\n\tlet lastRejector = noop;\n\tconst _clearTimeout = (timer) => {\n\t\tclearTimeout(timer);\n\t\tlastRejector();\n\t\tlastRejector = noop;\n\t};\n\tlet lastInvoker;\n\tconst filter = (invoke) => {\n\t\tconst duration = toValue(ms);\n\t\tconst maxDuration = toValue(options.maxWait);\n\t\tif (timer) _clearTimeout(timer);\n\t\tif (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n\t\t\tif (maxTimer) {\n\t\t\t\t_clearTimeout(maxTimer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t}\n\t\t\treturn Promise.resolve(invoke());\n\t\t}\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlastRejector = options.rejectOnCancel ? reject : resolve;\n\t\t\tlastInvoker = invoke;\n\t\t\tif (maxDuration && !maxTimer) maxTimer = setTimeout(() => {\n\t\t\t\tif (timer) _clearTimeout(timer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t\tresolve(lastInvoker());\n\t\t\t}, maxDuration);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tif (maxTimer) _clearTimeout(maxTimer);\n\t\t\t\tmaxTimer = void 0;\n\t\t\t\tresolve(invoke());\n\t\t\t}, duration);\n\t\t});\n\t};\n\treturn filter;\n}\nfunction throttleFilter(...args) {\n\tlet lastExec = 0;\n\tlet timer;\n\tlet isLeading = true;\n\tlet lastRejector = noop;\n\tlet lastValue;\n\tlet ms;\n\tlet trailing;\n\tlet leading;\n\tlet rejectOnCancel;\n\tif (!isRef(args[0]) && typeof args[0] === \"object\") ({delay: ms, trailing = true, leading = true, rejectOnCancel = false} = args[0]);\n\telse [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n\tconst clear = () => {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = void 0;\n\t\t\tlastRejector();\n\t\t\tlastRejector = noop;\n\t\t}\n\t};\n\tconst filter = (_invoke) => {\n\t\tconst duration = toValue(ms);\n\t\tconst elapsed = Date.now() - lastExec;\n\t\tconst invoke = () => {\n\t\t\treturn lastValue = _invoke();\n\t\t};\n\t\tclear();\n\t\tif (duration <= 0) {\n\t\t\tlastExec = Date.now();\n\t\t\treturn invoke();\n\t\t}\n\t\tif (elapsed > duration) {\n\t\t\tlastExec = Date.now();\n\t\t\tif (leading || !isLeading) invoke();\n\t\t} else if (trailing) lastValue = new Promise((resolve, reject) => {\n\t\t\tlastRejector = rejectOnCancel ? reject : resolve;\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tlastExec = Date.now();\n\t\t\t\tisLeading = true;\n\t\t\t\tresolve(invoke());\n\t\t\t\tclear();\n\t\t\t}, Math.max(0, duration - elapsed));\n\t\t});\n\t\tif (!leading && !timer) timer = setTimeout(() => isLeading = true, duration);\n\t\tisLeading = false;\n\t\treturn lastValue;\n\t};\n\treturn filter;\n}\n/**\n* EventFilter that gives extra controls to pause and resume the filter\n*\n* @param extendFilter Extra filter to apply when the PausableFilter is active, default to none\n* @param options Options to configure the filter\n*/\nfunction pausableFilter(extendFilter = bypassFilter, options = {}) {\n\tconst { initialState = \"active\" } = options;\n\tconst isActive = toRef(initialState === \"active\");\n\tfunction pause() {\n\t\tisActive.value = false;\n\t}\n\tfunction resume() {\n\t\tisActive.value = true;\n\t}\n\tconst eventFilter = (...args) => {\n\t\tif (isActive.value) extendFilter(...args);\n\t};\n\treturn {\n\t\tisActive: shallowReadonly(isActive),\n\t\tpause,\n\t\tresume,\n\t\teventFilter\n\t};\n}\n//#endregion\n//#region utils/general.ts\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n\treturn new Promise((resolve, reject) => {\n\t\tif (throwOnTimeout) setTimeout(reject, ms, reason);\n\t\telse setTimeout(resolve, ms);\n\t});\n}\nfunction identity(arg) {\n\treturn arg;\n}\n/**\n* Create singleton promise function\n*\n* @example\n* ```\n* const promise = createSingletonPromise(async () => { ... })\n*\n* await promise()\n* await promise() // all of them will be bind to a single promise instance\n* await promise() // and be resolved together\n* ```\n*/\nfunction createSingletonPromise(fn) {\n\tlet _promise;\n\tfunction wrapper() {\n\t\tif (!_promise) _promise = fn();\n\t\treturn _promise;\n\t}\n\twrapper.reset = async () => {\n\t\tconst _prev = _promise;\n\t\t_promise = void 0;\n\t\tif (_prev) await _prev;\n\t};\n\treturn wrapper;\n}\nfunction invoke(fn) {\n\treturn fn();\n}\nfunction containsProp(obj, ...props) {\n\treturn props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n\tvar _target$match;\n\tif (typeof target === \"number\") return target + delta;\n\tconst value = ((_target$match = target.match(/^-?\\d+\\.?\\d*/)) === null || _target$match === void 0 ? void 0 : _target$match[0]) || \"\";\n\tconst unit = target.slice(value.length);\n\tconst result = Number.parseFloat(value) + delta;\n\tif (Number.isNaN(result)) return target;\n\treturn result + unit;\n}\n/**\n* Get a px value for SSR use, do not rely on this method outside of SSR as REM unit is assumed at 16px, which might not be the case on the client\n*/\nfunction pxValue(px) {\n\treturn px.endsWith(\"rem\") ? Number.parseFloat(px) * 16 : Number.parseFloat(px);\n}\n/**\n* Create a new subset object by giving keys\n*/\nfunction objectPick(obj, keys, omitUndefined = false) {\n\treturn keys.reduce((n, k) => {\n\t\tif (k in obj) {\n\t\t\tif (!omitUndefined || obj[k] !== void 0) n[k] = obj[k];\n\t\t}\n\t\treturn n;\n\t}, {});\n}\n/**\n* Create a new subset object by omit giving keys\n*/\nfunction objectOmit(obj, keys, omitUndefined = false) {\n\treturn Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n\t\treturn (!omitUndefined || value !== void 0) && !keys.includes(key);\n\t}));\n}\nfunction objectEntries(obj) {\n\treturn Object.entries(obj);\n}\nfunction toArray(value) {\n\treturn Array.isArray(value) ? value : [value];\n}\n//#endregion\n//#region utils/port.ts\nfunction cacheStringFunction(fn) {\n\tconst cache = Object.create(null);\n\treturn ((str) => {\n\t\treturn cache[str] || (cache[str] = fn(str));\n\t});\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n\treturn str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n//#endregion\n//#region utils/vue.ts\nfunction getLifeCycleTarget(target) {\n\treturn target || getCurrentInstance();\n}\n//#endregion\n//#region createSharedComposable/index.ts\n/**\n* Make a composable function usable with multiple Vue instances.\n*\n* @see https://vueuse.org/createSharedComposable\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createSharedComposable(composable) {\n\tif (!isClient) return composable;\n\tlet subscribers = 0;\n\tlet state;\n\tlet scope;\n\tconst dispose = () => {\n\t\tsubscribers -= 1;\n\t\tif (scope && subscribers <= 0) {\n\t\t\tscope.stop();\n\t\t\tstate = void 0;\n\t\t\tscope = void 0;\n\t\t}\n\t};\n\treturn ((...args) => {\n\t\tsubscribers += 1;\n\t\tif (!scope) {\n\t\t\tscope = effectScope(true);\n\t\t\tstate = scope.run(() => composable(...args));\n\t\t}\n\t\ttryOnScopeDispose(dispose);\n\t\treturn state;\n\t});\n}\n//#endregion\n//#region extendRef/index.ts\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n\tfor (const [key, value] of Object.entries(extend)) {\n\t\tif (key === \"value\") continue;\n\t\tif (isRef(value) && unwrap) Object.defineProperty(ref, key, {\n\t\t\tget() {\n\t\t\t\treturn value.value;\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\tvalue.value = v;\n\t\t\t},\n\t\t\tenumerable\n\t\t});\n\t\telse Object.defineProperty(ref, key, {\n\t\t\tvalue,\n\t\t\tenumerable\n\t\t});\n\t}\n\treturn ref;\n}\n//#endregion\n//#region get/index.ts\nfunction get(obj, key) {\n\tif (key == null) return unref(obj);\n\treturn unref(obj)[key];\n}\n//#endregion\n//#region isDefined/index.ts\nfunction isDefined(v) {\n\treturn unref(v) != null;\n}\n//#endregion\n//#region makeDestructurable/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction makeDestructurable(obj, arr) {\n\tif (typeof Symbol !== \"undefined\") {\n\t\tconst clone = { ...obj };\n\t\tObject.defineProperty(clone, Symbol.iterator, {\n\t\t\tenumerable: false,\n\t\t\tvalue() {\n\t\t\t\tlet index = 0;\n\t\t\t\treturn { next: () => ({\n\t\t\t\t\tvalue: arr[index++],\n\t\t\t\t\tdone: index > arr.length\n\t\t\t\t}) };\n\t\t\t}\n\t\t});\n\t\treturn clone;\n\t} else return Object.assign([...arr], obj);\n}\n//#endregion\n//#region reactify/index.ts\n/**\n* Converts plain function into a reactive function.\n* The converted function accepts refs as it's arguments\n* and returns a ComputedRef, with proper typing.\n*\n* @param fn - Source function\n* @param options - Options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction reactify(fn, options) {\n\tconst unrefFn = (options === null || options === void 0 ? void 0 : options.computedGetter) === false ? unref : toValue;\n\treturn function(...args) {\n\t\treturn computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n\t};\n}\n/** @deprecated use `reactify` instead */\nconst createReactiveFn = reactify;\n//#endregion\n//#region reactifyObject/index.ts\n/**\n* Apply `reactify` to an object\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n\tlet keys = [];\n\tlet options;\n\tif (Array.isArray(optionsOrKeys)) keys = optionsOrKeys;\n\telse {\n\t\toptions = optionsOrKeys;\n\t\tconst { includeOwnProperties = true } = optionsOrKeys;\n\t\tkeys.push(...Object.keys(obj));\n\t\tif (includeOwnProperties) keys.push(...Object.getOwnPropertyNames(obj));\n\t}\n\treturn Object.fromEntries(keys.map((key) => {\n\t\tconst value = obj[key];\n\t\treturn [key, typeof value === \"function\" ? reactify(value.bind(obj), options) : value];\n\t}));\n}\n//#endregion\n//#region toReactive/index.ts\n/**\n* Converts ref to reactive.\n*\n* @see https://vueuse.org/toReactive\n* @param objectRef A ref of object\n*/\nfunction toReactive(objectRef) {\n\tif (!isRef(objectRef)) return reactive(objectRef);\n\treturn reactive(new Proxy({}, {\n\t\tget(_, p, receiver) {\n\t\t\treturn unref(Reflect.get(objectRef.value, p, receiver));\n\t\t},\n\t\tset(_, p, value) {\n\t\t\tif (isRef(objectRef.value[p]) && !isRef(value)) objectRef.value[p].value = value;\n\t\t\telse objectRef.value[p] = value;\n\t\t\treturn true;\n\t\t},\n\t\tdeleteProperty(_, p) {\n\t\t\treturn Reflect.deleteProperty(objectRef.value, p);\n\t\t},\n\t\thas(_, p) {\n\t\t\treturn Reflect.has(objectRef.value, p);\n\t\t},\n\t\townKeys() {\n\t\t\treturn Object.keys(objectRef.value);\n\t\t},\n\t\tgetOwnPropertyDescriptor() {\n\t\t\treturn {\n\t\t\t\tenumerable: true,\n\t\t\t\tconfigurable: true\n\t\t\t};\n\t\t}\n\t}));\n}\n//#endregion\n//#region reactiveComputed/index.ts\n/**\n* Computed reactive object.\n*/\nfunction reactiveComputed(fn) {\n\treturn toReactive(computed(fn));\n}\n//#endregion\n//#region reactiveOmit/index.ts\n/**\n* Reactively omit fields from a reactive object\n*\n* @see https://vueuse.org/reactiveOmit\n*/\nfunction reactiveOmit(obj, ...keys) {\n\tconst flatKeys = keys.flat();\n\tconst predicate = flatKeys[0];\n\treturn reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n//#endregion\n//#region reactivePick/index.ts\n/**\n* Reactively pick fields from a reactive object\n*\n* @see https://vueuse.org/reactivePick\n*/\nfunction reactivePick(obj, ...keys) {\n\tconst flatKeys = keys.flat();\n\tconst predicate = flatKeys[0];\n\treturn reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n//#endregion\n//#region refAutoReset/index.ts\n/**\n* Create a ref which will be reset to the default value after some time.\n*\n* @see https://vueuse.org/refAutoReset\n* @param defaultValue The value which will be set.\n* @param afterMs A zero-or-greater delay in milliseconds.\n*/\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n\treturn customRef((track, trigger) => {\n\t\tlet value = toValue(defaultValue);\n\t\tlet timer;\n\t\tconst resetAfter = () => setTimeout(() => {\n\t\t\tvalue = toValue(defaultValue);\n\t\t\ttrigger();\n\t\t}, toValue(afterMs));\n\t\ttryOnScopeDispose(() => {\n\t\t\tclearTimeout(timer);\n\t\t});\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tvalue = newValue;\n\t\t\t\ttrigger();\n\t\t\t\tclearTimeout(timer);\n\t\t\t\ttimer = resetAfter();\n\t\t\t}\n\t\t};\n\t});\n}\n/** @deprecated use `refAutoReset` instead */\nconst autoResetRef = refAutoReset;\n//#endregion\n//#region useDebounceFn/index.ts\n/**\n* Debounce execution of a function.\n*\n* @see https://vueuse.org/useDebounceFn\n* @param fn A function to be executed after delay milliseconds debounced.\n* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* @param options Options\n*\n* @return A new, debounce, function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n\treturn createFilterWrapper(debounceFilter(ms, options), fn);\n}\n//#endregion\n//#region refDebounced/index.ts\n/**\n* Debounce updates of a ref.\n*\n* @return A new debounced ref.\n*/\nfunction refDebounced(value, ms = 200, options = {}) {\n\tconst debounced = ref(toValue(value));\n\tconst updater = useDebounceFn(() => {\n\t\tdebounced.value = value.value;\n\t}, ms, options);\n\twatch(value, () => updater());\n\treturn shallowReadonly(debounced);\n}\n/** @deprecated use `refDebounced` instead */\nconst debouncedRef = refDebounced;\n/** @deprecated use `refDebounced` instead */\nconst useDebounce = refDebounced;\n//#endregion\n//#region refDefault/index.ts\n/**\n* Apply default value to a ref.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction refDefault(source, defaultValue) {\n\treturn computed({\n\t\tget() {\n\t\t\tvar _source$value;\n\t\t\treturn (_source$value = source.value) !== null && _source$value !== void 0 ? _source$value : defaultValue;\n\t\t},\n\t\tset(value) {\n\t\t\tsource.value = value;\n\t\t}\n\t});\n}\n//#endregion\n//#region refManualReset/index.ts\n/**\n* Create a ref with manual reset functionality.\n*\n* @see https://vueuse.org/refManualReset\n* @param defaultValue The value which will be set.\n*/\nfunction refManualReset(defaultValue) {\n\tlet value = toValue(defaultValue);\n\tlet trigger;\n\tconst reset = () => {\n\t\tvalue = toValue(defaultValue);\n\t\ttrigger();\n\t};\n\tconst refValue = customRef((track, _trigger) => {\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\tset(newValue) {\n\t\t\t\tvalue = newValue;\n\t\t\t\ttrigger();\n\t\t\t}\n\t\t};\n\t});\n\trefValue.reset = reset;\n\treturn refValue;\n}\n//#endregion\n//#region useThrottleFn/index.ts\n/**\n* Throttle execution of a function. Especially useful for rate limiting\n* execution of handlers on events like resize and scroll.\n*\n* @param fn A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n* to `callback` when the throttled-function is executed.\n* @param ms A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* (default value: 200)\n*\n* @param [trailing] if true, call fn again after the time is up (default value: false)\n*\n* @param [leading] if true, call fn on the leading edge of the ms timeout (default value: true)\n*\n* @param [rejectOnCancel] if true, reject the last call if it's been cancel (default value: false)\n*\n* @return A new, throttled, function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n\treturn createFilterWrapper(throttleFilter(ms, trailing, leading, rejectOnCancel), fn);\n}\n//#endregion\n//#region refThrottled/index.ts\n/**\n* Throttle execution of a function. Especially useful for rate limiting\n* execution of handlers on events like resize and scroll.\n*\n* @param value Ref value to be watched with throttle effect\n* @param delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n* @param trailing if true, update the value again after the delay time is up\n* @param leading if true, update the value on the leading edge of the ms timeout\n*/\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n\tif (delay <= 0) return value;\n\tconst throttled = ref(toValue(value));\n\tconst updater = useThrottleFn(() => {\n\t\tthrottled.value = value.value;\n\t}, delay, trailing, leading);\n\twatch(value, () => updater());\n\treturn throttled;\n}\n/** @deprecated use `refThrottled` instead */\nconst throttledRef = refThrottled;\n/** @deprecated use `refThrottled` instead */\nconst useThrottle = refThrottled;\n//#endregion\n//#region refWithControl/index.ts\n/**\n* Fine-grained controls over ref and its reactivity.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction refWithControl(initial, options = {}) {\n\tlet source = initial;\n\tlet track;\n\tlet trigger;\n\tconst ref = customRef((_track, _trigger) => {\n\t\ttrack = _track;\n\t\ttrigger = _trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\treturn get();\n\t\t\t},\n\t\t\tset(v) {\n\t\t\t\tset(v);\n\t\t\t}\n\t\t};\n\t});\n\tfunction get(tracking = true) {\n\t\tif (tracking) track();\n\t\treturn source;\n\t}\n\tfunction set(value, triggering = true) {\n\t\tvar _options$onBeforeChan, _options$onChanged;\n\t\tif (value === source) return;\n\t\tconst old = source;\n\t\tif (((_options$onBeforeChan = options.onBeforeChange) === null || _options$onBeforeChan === void 0 ? void 0 : _options$onBeforeChan.call(options, value, old)) === false) return;\n\t\tsource = value;\n\t\t(_options$onChanged = options.onChanged) === null || _options$onChanged === void 0 || _options$onChanged.call(options, value, old);\n\t\tif (triggering) trigger();\n\t}\n\t/**\n\t* Get the value without tracked in the reactivity system\n\t*/\n\tconst untrackedGet = () => get(false);\n\t/**\n\t* Set the value without triggering the reactivity system\n\t*/\n\tconst silentSet = (v) => set(v, false);\n\t/**\n\t* Get the value without tracked in the reactivity system.\n\t*\n\t* Alias for `untrackedGet()`\n\t*/\n\tconst peek = () => get(false);\n\t/**\n\t* Set the value without triggering the reactivity system\n\t*\n\t* Alias for `silentSet(v)`\n\t*/\n\tconst lay = (v) => set(v, false);\n\treturn extendRef(ref, {\n\t\tget,\n\t\tset,\n\t\tuntrackedGet,\n\t\tsilentSet,\n\t\tpeek,\n\t\tlay\n\t}, { enumerable: true });\n}\n/** @deprecated use `refWithControl` instead */\nconst controlledRef = refWithControl;\n//#endregion\n//#region set/index.ts\n/**\n* Shorthand for `ref.value = x`\n*/\nfunction set(...args) {\n\tif (args.length === 2) {\n\t\tconst [ref, value] = args;\n\t\tref.value = value;\n\t}\n\tif (args.length === 3) {\n\t\tconst [target, key, value] = args;\n\t\ttarget[key] = value;\n\t}\n}\n//#endregion\n//#region watchWithFilter/index.ts\nfunction watchWithFilter(source, cb, options = {}) {\n\tconst { eventFilter = bypassFilter, ...watchOptions } = options;\n\treturn watch(source, createFilterWrapper(eventFilter, cb), watchOptions);\n}\n//#endregion\n//#region watchPausable/index.ts\n/** @deprecated Use Vue's built-in `watch` instead. This function will be removed in future version. */\nfunction watchPausable(source, cb, options = {}) {\n\tconst { eventFilter: filter, initialState = \"active\", ...watchOptions } = options;\n\tconst { eventFilter, pause, resume, isActive } = pausableFilter(filter, { initialState });\n\treturn {\n\t\tstop: watchWithFilter(source, cb, {\n\t\t\t...watchOptions,\n\t\t\teventFilter\n\t\t}),\n\t\tpause,\n\t\tresume,\n\t\tisActive\n\t};\n}\n/** @deprecated Use Vue's built-in `watch` instead. This function will be removed in future version. */\nconst pausableWatch = watchPausable;\n//#endregion\n//#region syncRef/index.ts\n/**\n* Two-way refs synchronization.\n* From the set theory perspective to restrict the option's type\n* Check in the following order:\n* 1. L = R\n* 2. L ∩ R ≠ ∅\n* 3. L ⊆ R\n* 4. L ∩ R = ∅\n*/\nfunction syncRef(left, right, ...[options]) {\n\tconst { flush = \"sync\", deep = false, immediate = true, direction = \"both\", transform = {} } = options || {};\n\tconst watchers = [];\n\tconst transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n\tconst transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n\tif (direction === \"both\" || direction === \"ltr\") watchers.push(watchPausable(left, (newValue) => {\n\t\twatchers.forEach((w) => w.pause());\n\t\tright.value = transformLTR(newValue);\n\t\twatchers.forEach((w) => w.resume());\n\t}, {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t}));\n\tif (direction === \"both\" || direction === \"rtl\") watchers.push(watchPausable(right, (newValue) => {\n\t\twatchers.forEach((w) => w.pause());\n\t\tleft.value = transformRTL(newValue);\n\t\twatchers.forEach((w) => w.resume());\n\t}, {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t}));\n\tconst stop = () => {\n\t\twatchers.forEach((w) => w.stop());\n\t};\n\treturn stop;\n}\n//#endregion\n//#region syncRefs/index.ts\n/**\n* Keep target ref(s) in sync with the source ref\n*\n* @param source source ref\n* @param targets\n*/\nfunction syncRefs(source, targets, options = {}) {\n\tconst { flush = \"sync\", deep = false, immediate = true } = options;\n\tconst targetsArray = toArray(targets);\n\treturn watch(source, (newValue) => targetsArray.forEach((target) => target.value = newValue), {\n\t\tflush,\n\t\tdeep,\n\t\timmediate\n\t});\n}\n//#endregion\n//#region toRefs/index.ts\n/**\n* Extended `toRefs` that also accepts refs of an object.\n*\n* @see https://vueuse.org/toRefs\n* @param objectRef A ref or normal object or array.\n* @param options Options\n*/\nfunction toRefs(objectRef, options = {}) {\n\tif (!isRef(objectRef)) return toRefs$1(objectRef);\n\tconst result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n\tfor (const key in objectRef.value) result[key] = customRef(() => ({\n\t\tget() {\n\t\t\treturn objectRef.value[key];\n\t\t},\n\t\tset(v) {\n\t\t\tvar _toValue;\n\t\t\tif ((_toValue = toValue(options.replaceRef)) !== null && _toValue !== void 0 ? _toValue : true) if (Array.isArray(objectRef.value)) {\n\t\t\t\tconst copy = [...objectRef.value];\n\t\t\t\tcopy[key] = v;\n\t\t\t\tobjectRef.value = copy;\n\t\t\t} else {\n\t\t\t\tconst newObject = {\n\t\t\t\t\t...objectRef.value,\n\t\t\t\t\t[key]: v\n\t\t\t\t};\n\t\t\t\tObject.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n\t\t\t\tobjectRef.value = newObject;\n\t\t\t}\n\t\t\telse objectRef.value[key] = v;\n\t\t}\n\t}));\n\treturn result;\n}\n//#endregion\n//#region tryOnBeforeMount/index.ts\n/**\n* Call onBeforeMount() if it's inside a component lifecycle, if not, just call the function\n*\n* @param fn\n* @param sync if set to false, it will run in the nextTick() of Vue\n* @param target\n*/\nfunction tryOnBeforeMount(fn, sync = true, target) {\n\tif (getLifeCycleTarget(target)) onBeforeMount(fn, target);\n\telse if (sync) fn();\n\telse nextTick(fn);\n}\n//#endregion\n//#region tryOnBeforeUnmount/index.ts\n/**\n* Call onBeforeUnmount() if it's inside a component lifecycle, if not, do nothing\n*\n* @param fn\n* @param target\n*/\nfunction tryOnBeforeUnmount(fn, target) {\n\tif (getLifeCycleTarget(target)) onBeforeUnmount(fn, target);\n}\n//#endregion\n//#region tryOnMounted/index.ts\n/**\n* Call onMounted() if it's inside a component lifecycle, if not, just call the function\n*\n* @param fn\n* @param sync if set to false, it will run in the nextTick() of Vue\n* @param target\n*/\nfunction tryOnMounted(fn, sync = true, target) {\n\tif (getLifeCycleTarget(target)) onMounted(fn, target);\n\telse if (sync) fn();\n\telse nextTick(fn);\n}\n//#endregion\n//#region tryOnUnmounted/index.ts\n/**\n* Call onUnmounted() if it's inside a component lifecycle, if not, do nothing\n*\n* @param fn\n* @param target\n*/\nfunction tryOnUnmounted(fn, target) {\n\tif (getLifeCycleTarget(target)) onUnmounted(fn, target);\n}\n//#endregion\n//#region until/index.ts\nfunction createUntil(r, isNot = false) {\n\tfunction toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n\t\tlet stop = null;\n\t\tconst promises = [new Promise((resolve) => {\n\t\t\tstop = watch(r, (v) => {\n\t\t\t\tif (condition(v) !== isNot) {\n\t\t\t\t\tif (stop) stop();\n\t\t\t\t\telse nextTick(() => stop === null || stop === void 0 ? void 0 : stop());\n\t\t\t\t\tresolve(v);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tflush,\n\t\t\t\tdeep,\n\t\t\t\timmediate: true\n\t\t\t});\n\t\t})];\n\t\tif (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop === null || stop === void 0 ? void 0 : stop()));\n\t\treturn Promise.race(promises);\n\t}\n\tfunction toBe(value, options) {\n\t\tif (!isRef(value)) return toMatch((v) => v === value, options);\n\t\tconst { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options !== null && options !== void 0 ? options : {};\n\t\tlet stop = null;\n\t\tconst promises = [new Promise((resolve) => {\n\t\t\tstop = watch([r, value], ([v1, v2]) => {\n\t\t\t\tif (isNot !== (v1 === v2)) {\n\t\t\t\t\tif (stop) stop();\n\t\t\t\t\telse nextTick(() => stop === null || stop === void 0 ? void 0 : stop());\n\t\t\t\t\tresolve(v1);\n\t\t\t\t}\n\t\t\t}, {\n\t\t\t\tflush,\n\t\t\t\tdeep,\n\t\t\t\timmediate: true\n\t\t\t});\n\t\t})];\n\t\tif (timeout != null) promises.push(promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n\t\t\tstop === null || stop === void 0 || stop();\n\t\t\treturn toValue(r);\n\t\t}));\n\t\treturn Promise.race(promises);\n\t}\n\tfunction toBeTruthy(options) {\n\t\treturn toMatch((v) => Boolean(v), options);\n\t}\n\tfunction toBeNull(options) {\n\t\treturn toBe(null, options);\n\t}\n\tfunction toBeUndefined(options) {\n\t\treturn toBe(void 0, options);\n\t}\n\tfunction toBeNaN(options) {\n\t\treturn toMatch(Number.isNaN, options);\n\t}\n\tfunction toContains(value, options) {\n\t\treturn toMatch((v) => {\n\t\t\tconst array = Array.from(v);\n\t\t\treturn array.includes(value) || array.includes(toValue(value));\n\t\t}, options);\n\t}\n\tfunction changed(options) {\n\t\treturn changedTimes(1, options);\n\t}\n\tfunction changedTimes(n = 1, options) {\n\t\tlet count = -1;\n\t\treturn toMatch(() => {\n\t\t\tcount += 1;\n\t\t\treturn count >= n;\n\t\t}, options);\n\t}\n\tif (Array.isArray(toValue(r))) return {\n\t\ttoMatch,\n\t\ttoContains,\n\t\tchanged,\n\t\tchangedTimes,\n\t\tget not() {\n\t\t\treturn createUntil(r, !isNot);\n\t\t}\n\t};\n\telse return {\n\t\ttoMatch,\n\t\ttoBe,\n\t\ttoBeTruthy,\n\t\ttoBeNull,\n\t\ttoBeNaN,\n\t\ttoBeUndefined,\n\t\tchanged,\n\t\tchangedTimes,\n\t\tget not() {\n\t\t\treturn createUntil(r, !isNot);\n\t\t}\n\t};\n}\nfunction until(r) {\n\treturn createUntil(r);\n}\n//#endregion\n//#region useArrayDifference/index.ts\nfunction defaultComparator(value, othVal) {\n\treturn value === othVal;\n}\n/**\n* Reactive get array difference of two array\n* @see https://vueuse.org/useArrayDifference\n* @returns - the difference of two array\n* @param args\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayDifference(...args) {\n\tvar _args$, _args$2;\n\tconst list = args[0];\n\tconst values = args[1];\n\tlet compareFn = (_args$ = args[2]) !== null && _args$ !== void 0 ? _args$ : defaultComparator;\n\tconst { symmetric = false } = (_args$2 = args[3]) !== null && _args$2 !== void 0 ? _args$2 : {};\n\tif (typeof compareFn === \"string\") {\n\t\tconst key = compareFn;\n\t\tcompareFn = (value, othVal) => value[key] === othVal[key];\n\t}\n\tconst diff1 = computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n\tif (symmetric) {\n\t\tconst diff2 = computed(() => toValue(values).filter((x) => toValue(list).findIndex((y) => compareFn(x, y)) === -1));\n\t\treturn computed(() => symmetric ? [...toValue(diff1), ...toValue(diff2)] : toValue(diff1));\n\t} else return diff1;\n}\n//#endregion\n//#region useArrayEvery/index.ts\n/**\n* Reactive `Array.every`\n*\n* @see https://vueuse.org/useArrayEvery\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns **true** if the `fn` function returns a **truthy** value for every element from the array. Otherwise, **false**.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayEvery(list, fn) {\n\treturn computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n//#endregion\n//#region useArrayFilter/index.ts\n/**\n* Reactive `Array.filter`\n*\n* @see https://vueuse.org/useArrayFilter\n* @param list - the array was called upon.\n* @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.\n*\n* @returns a shallow copy of a portion of the given array, filtered down to just the elements from the given array that pass the test implemented by the provided function. If no elements pass the test, an empty array will be returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFilter(list, fn) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n//#endregion\n//#region useArrayFind/index.ts\n/**\n* Reactive `Array.find`\n*\n* @see https://vueuse.org/useArrayFind\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the first element in the array that satisfies the provided testing function. Otherwise, undefined is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFind(list, fn) {\n\treturn computed(() => toValue(toValue(list).find((element, index, array) => fn(toValue(element), index, array))));\n}\n//#endregion\n//#region useArrayFindIndex/index.ts\n/**\n* Reactive `Array.findIndex`\n*\n* @see https://vueuse.org/useArrayFindIndex\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the index of the first element in the array that passes the test. Otherwise, \"-1\".\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFindIndex(list, fn) {\n\treturn computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n//#endregion\n//#region useArrayFindLast/index.ts\nfunction findLast(arr, cb) {\n\tlet index = arr.length;\n\twhile (index-- > 0) if (cb(arr[index], index, arr)) return arr[index];\n}\n/**\n* Reactive `Array.findLast`\n*\n* @see https://vueuse.org/useArrayFindLast\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns the last element in the array that satisfies the provided testing function. Otherwise, undefined is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayFindLast(list, fn) {\n\treturn computed(() => toValue(!Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))));\n}\n//#endregion\n//#region useArrayIncludes/index.ts\nfunction isArrayIncludesOptions(obj) {\n\treturn isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\n/**\n* Reactive `Array.includes`\n*\n* @see https://vueuse.org/useArrayIncludes\n*\n* @returns true if the `value` is found in the array. Otherwise, false.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayIncludes(...args) {\n\tvar _comparator;\n\tconst list = args[0];\n\tconst value = args[1];\n\tlet comparator = args[2];\n\tlet formIndex = 0;\n\tif (isArrayIncludesOptions(comparator)) {\n\t\tvar _comparator$fromIndex;\n\t\tformIndex = (_comparator$fromIndex = comparator.fromIndex) !== null && _comparator$fromIndex !== void 0 ? _comparator$fromIndex : 0;\n\t\tcomparator = comparator.comparator;\n\t}\n\tif (typeof comparator === \"string\") {\n\t\tconst key = comparator;\n\t\tcomparator = (element, value) => element[key] === toValue(value);\n\t}\n\tcomparator = (_comparator = comparator) !== null && _comparator !== void 0 ? _comparator : ((element, value) => element === toValue(value));\n\treturn computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(toValue(element), toValue(value), index, toValue(array))));\n}\n//#endregion\n//#region useArrayJoin/index.ts\n/**\n* Reactive `Array.join`\n*\n* @see https://vueuse.org/useArrayJoin\n* @param list - the array was called upon.\n* @param separator - a string to separate each pair of adjacent elements of the array. If omitted, the array elements are separated with a comma (\",\").\n*\n* @returns a string with all array elements joined. If arr.length is 0, the empty string is returned.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayJoin(list, separator) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n//#endregion\n//#region useArrayMap/index.ts\n/**\n* Reactive `Array.map`\n*\n* @see https://vueuse.org/useArrayMap\n* @param list - the array was called upon.\n* @param fn - a function that is called for every element of the given `list`. Each time `fn` executes, the returned value is added to the new array.\n*\n* @returns a new array with each element being the result of the callback function.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayMap(list, fn) {\n\treturn computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n//#endregion\n//#region useArrayReduce/index.ts\n/**\n* Reactive `Array.reduce`\n*\n* @see https://vueuse.org/useArrayReduce\n* @param list - the array was called upon.\n* @param reducer - a \"reducer\" function.\n* @param args\n*\n* @returns the value that results from running the \"reducer\" callback function to completion over the entire array.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayReduce(list, reducer, ...args) {\n\tconst reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n\treturn computed(() => {\n\t\tconst resolved = toValue(list);\n\t\treturn args.length ? resolved.reduce(reduceCallback, typeof args[0] === \"function\" ? toValue(args[0]()) : toValue(args[0])) : resolved.reduce(reduceCallback);\n\t});\n}\n//#endregion\n//#region useArraySome/index.ts\n/**\n* Reactive `Array.some`\n*\n* @see https://vueuse.org/useArraySome\n* @param list - the array was called upon.\n* @param fn - a function to test each element.\n*\n* @returns **true** if the `fn` function returns a **truthy** value for any element from the array. Otherwise, **false**.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArraySome(list, fn) {\n\treturn computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n//#endregion\n//#region useArrayUnique/index.ts\nfunction uniq(array) {\n\treturn Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n\treturn array.reduce((acc, v) => {\n\t\tif (!acc.some((x) => fn(v, x, array))) acc.push(v);\n\t\treturn acc;\n\t}, []);\n}\n/**\n* reactive unique array\n* @see https://vueuse.org/useArrayUnique\n* @param list - the array was called upon.\n* @param compareFn\n* @returns A computed ref that returns a unique array of items.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useArrayUnique(list, compareFn) {\n\treturn computed(() => {\n\t\tconst resolvedList = toValue(list).map((element) => toValue(element));\n\t\treturn compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n\t});\n}\n//#endregion\n//#region useCounter/index.ts\n/**\n* Basic counter with utility functions.\n*\n* @see https://vueuse.org/useCounter\n* @param [initialValue]\n* @param options\n*/\nfunction useCounter(initialValue = 0, options = {}) {\n\tlet _initialValue = unref(initialValue);\n\tconst count = shallowRef(initialValue);\n\tconst { max = Number.POSITIVE_INFINITY, min = Number.NEGATIVE_INFINITY } = options;\n\tconst inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n\tconst dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n\tconst get = () => count.value;\n\tconst set = (val) => count.value = Math.max(min, Math.min(max, val));\n\tconst reset = (val = _initialValue) => {\n\t\t_initialValue = val;\n\t\treturn set(val);\n\t};\n\treturn {\n\t\tcount: shallowReadonly(count),\n\t\tinc,\n\t\tdec,\n\t\tget,\n\t\tset,\n\t\treset\n\t};\n}\n//#endregion\n//#region useDateFormat/index.ts\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|z{1,4}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n\tlet m = hours < 12 ? \"AM\" : \"PM\";\n\tif (hasPeriod) m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n\treturn isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n\tconst suffixes = [\n\t\t\"th\",\n\t\t\"st\",\n\t\t\"nd\",\n\t\t\"rd\"\n\t];\n\tconst v = num % 100;\n\treturn num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n\tvar _options$customMeridi;\n\tconst years = date.getFullYear();\n\tconst month = date.getMonth();\n\tconst days = date.getDate();\n\tconst hours = date.getHours();\n\tconst minutes = date.getMinutes();\n\tconst seconds = date.getSeconds();\n\tconst milliseconds = date.getMilliseconds();\n\tconst day = date.getDay();\n\tconst meridiem = (_options$customMeridi = options.customMeridiem) !== null && _options$customMeridi !== void 0 ? _options$customMeridi : defaultMeridiem;\n\tconst stripTimeZone = (dateString) => {\n\t\tvar _dateString$split$;\n\t\treturn (_dateString$split$ = dateString.split(\" \")[1]) !== null && _dateString$split$ !== void 0 ? _dateString$split$ : \"\";\n\t};\n\tconst matches = {\n\t\tYo: () => formatOrdinal(years),\n\t\tYY: () => String(years).slice(-2),\n\t\tYYYY: () => years,\n\t\tM: () => month + 1,\n\t\tMo: () => formatOrdinal(month + 1),\n\t\tMM: () => `${month + 1}`.padStart(2, \"0\"),\n\t\tMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n\t\tMMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n\t\tD: () => String(days),\n\t\tDo: () => formatOrdinal(days),\n\t\tDD: () => `${days}`.padStart(2, \"0\"),\n\t\tH: () => String(hours),\n\t\tHo: () => formatOrdinal(hours),\n\t\tHH: () => `${hours}`.padStart(2, \"0\"),\n\t\th: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n\t\tho: () => formatOrdinal(hours % 12 || 12),\n\t\thh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n\t\tm: () => String(minutes),\n\t\tmo: () => formatOrdinal(minutes),\n\t\tmm: () => `${minutes}`.padStart(2, \"0\"),\n\t\ts: () => String(seconds),\n\t\tso: () => formatOrdinal(seconds),\n\t\tss: () => `${seconds}`.padStart(2, \"0\"),\n\t\tSSS: () => `${milliseconds}`.padStart(3, \"0\"),\n\t\td: () => day,\n\t\tdd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n\t\tddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n\t\tdddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n\t\tA: () => meridiem(hours, minutes),\n\t\tAA: () => meridiem(hours, minutes, false, true),\n\t\ta: () => meridiem(hours, minutes, true),\n\t\taa: () => meridiem(hours, minutes, true, true),\n\t\tz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"shortOffset\" })),\n\t\tzzzz: () => stripTimeZone(date.toLocaleDateString(toValue(options.locales), { timeZoneName: \"longOffset\" }))\n\t};\n\treturn formatStr.replace(REGEX_FORMAT, (match, $1) => {\n\t\tvar _ref, _matches$match;\n\t\treturn (_ref = $1 !== null && $1 !== void 0 ? $1 : (_matches$match = matches[match]) === null || _matches$match === void 0 ? void 0 : _matches$match.call(matches)) !== null && _ref !== void 0 ? _ref : match;\n\t});\n}\nfunction normalizeDate(date) {\n\tif (date === null) return /* @__PURE__ */ new Date(NaN);\n\tif (date === void 0) return /* @__PURE__ */ new Date();\n\tif (date instanceof Date) return new Date(date);\n\tif (typeof date === \"string\" && !/Z$/i.test(date)) {\n\t\tconst d = date.match(REGEX_PARSE);\n\t\tif (d) {\n\t\t\tconst m = d[2] - 1 || 0;\n\t\t\tconst ms = (d[7] || \"0\").substring(0, 3);\n\t\t\treturn new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n\t\t}\n\t}\n\treturn new Date(date);\n}\n/**\n* Get the formatted date according to the string of tokens passed in.\n*\n* @see https://vueuse.org/useDateFormat\n* @param date - The date to format, can either be a `Date` object, a timestamp, or a string\n* @param formatStr - The combination of tokens to format the date\n* @param options - UseDateFormatOptions\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n\treturn computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n//#endregion\n//#region useIntervalFn/index.ts\n/**\n* Wrapper for `setInterval` with controls\n*\n* @see https://vueuse.org/useIntervalFn\n* @param cb\n* @param interval\n* @param options\n*/\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n\tconst { immediate = true, immediateCallback = false } = options;\n\tlet timer = null;\n\tconst isActive = shallowRef(false);\n\tfunction clean() {\n\t\tif (timer) {\n\t\t\tclearInterval(timer);\n\t\t\ttimer = null;\n\t\t}\n\t}\n\tfunction pause() {\n\t\tisActive.value = false;\n\t\tclean();\n\t}\n\tfunction resume() {\n\t\tconst intervalValue = toValue(interval);\n\t\tif (intervalValue <= 0) return;\n\t\tisActive.value = true;\n\t\tif (immediateCallback) cb();\n\t\tclean();\n\t\tif (isActive.value) timer = setInterval(cb, intervalValue);\n\t}\n\tif (immediate && isClient) resume();\n\tif (isRef(interval) || typeof interval === \"function\") tryOnScopeDispose(watch(interval, () => {\n\t\tif (isActive.value && isClient) resume();\n\t}));\n\ttryOnScopeDispose(pause);\n\treturn {\n\t\tisActive: shallowReadonly(isActive),\n\t\tpause,\n\t\tresume\n\t};\n}\n//#endregion\n//#region useInterval/index.ts\nfunction useInterval(interval = 1e3, options = {}) {\n\tconst { controls: exposeControls = false, immediate = true, callback } = options;\n\tconst counter = shallowRef(0);\n\tconst update = () => counter.value += 1;\n\tconst reset = () => {\n\t\tcounter.value = 0;\n\t};\n\tconst controls = useIntervalFn(callback ? () => {\n\t\tupdate();\n\t\tcallback(counter.value);\n\t} : update, interval, { immediate });\n\tif (exposeControls) return {\n\t\tcounter: shallowReadonly(counter),\n\t\treset,\n\t\t...controls\n\t};\n\telse return shallowReadonly(counter);\n}\n//#endregion\n//#region useLastChanged/index.ts\nfunction useLastChanged(source, options = {}) {\n\tvar _options$initialValue;\n\tconst ms = shallowRef((_options$initialValue = options.initialValue) !== null && _options$initialValue !== void 0 ? _options$initialValue : null);\n\twatch(source, () => ms.value = timestamp(), options);\n\treturn shallowReadonly(ms);\n}\n//#endregion\n//#region useTimeoutFn/index.ts\n/**\n* Wrapper for `setTimeout` with controls.\n*\n* @param cb\n* @param interval\n* @param options\n*/\nfunction useTimeoutFn(cb, interval, options = {}) {\n\tconst { immediate = true, immediateCallback = false } = options;\n\tconst isPending = shallowRef(false);\n\tlet timer;\n\tfunction clear() {\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = void 0;\n\t\t}\n\t}\n\tfunction stop() {\n\t\tisPending.value = false;\n\t\tclear();\n\t}\n\tfunction start(...args) {\n\t\tif (immediateCallback) cb();\n\t\tclear();\n\t\tisPending.value = true;\n\t\ttimer = setTimeout(() => {\n\t\t\tisPending.value = false;\n\t\t\ttimer = void 0;\n\t\t\tcb(...args);\n\t\t}, toValue(interval));\n\t}\n\tif (immediate) {\n\t\tisPending.value = true;\n\t\tif (isClient) start();\n\t}\n\ttryOnScopeDispose(stop);\n\treturn {\n\t\tisPending: shallowReadonly(isPending),\n\t\tstart,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useTimeout/index.ts\nfunction useTimeout(interval = 1e3, options = {}) {\n\tconst { controls: exposeControls = false, callback } = options;\n\tconst controls = useTimeoutFn(callback !== null && callback !== void 0 ? callback : noop, interval, options);\n\tconst ready = computed(() => !controls.isPending.value);\n\tif (exposeControls) return {\n\t\tready,\n\t\t...controls\n\t};\n\telse return ready;\n}\n//#endregion\n//#region useToNumber/index.ts\n/**\n* Reactively convert a string ref to number.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToNumber(value, options = {}) {\n\tconst { method = \"parseFloat\", radix, nanToZero } = options;\n\treturn computed(() => {\n\t\tlet resolved = toValue(value);\n\t\tif (typeof method === \"function\") resolved = method(resolved);\n\t\telse if (typeof resolved === \"string\") resolved = Number[method](resolved, radix);\n\t\tif (nanToZero && Number.isNaN(resolved)) resolved = 0;\n\t\treturn resolved;\n\t});\n}\n//#endregion\n//#region useToString/index.ts\n/**\n* Reactively convert a ref to string.\n*\n* @see https://vueuse.org/useToString\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToString(value) {\n\treturn computed(() => `${toValue(value)}`);\n}\n//#endregion\n//#region useToggle/index.ts\n/**\n* A boolean ref with a toggler\n*\n* @see https://vueuse.org/useToggle\n* @param [initialValue]\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useToggle(initialValue = false, options = {}) {\n\tconst { truthyValue = true, falsyValue = false } = options;\n\tconst valueIsRef = isRef(initialValue);\n\tconst _value = shallowRef(initialValue);\n\tfunction toggle(value) {\n\t\tif (arguments.length) {\n\t\t\t_value.value = value;\n\t\t\treturn _value.value;\n\t\t} else {\n\t\t\tconst truthy = toValue(truthyValue);\n\t\t\t_value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n\t\t\treturn _value.value;\n\t\t}\n\t}\n\tif (valueIsRef) return toggle;\n\telse return [_value, toggle];\n}\n//#endregion\n//#region watchArray/index.ts\n/**\n* Watch for an array with additions and removals.\n*\n* @see https://vueuse.org/watchArray\n*/\nfunction watchArray(source, cb, options) {\n\tlet oldList = (options === null || options === void 0 ? void 0 : options.immediate) ? [] : [...typeof source === \"function\" ? source() : Array.isArray(source) ? source : toValue(source)];\n\treturn watch(source, (newList, _, onCleanup) => {\n\t\tconst oldListRemains = Array.from({ length: oldList.length });\n\t\tconst added = [];\n\t\tfor (const obj of newList) {\n\t\t\tlet found = false;\n\t\t\tfor (let i = 0; i < oldList.length; i++) if (!oldListRemains[i] && obj === oldList[i]) {\n\t\t\t\toldListRemains[i] = true;\n\t\t\t\tfound = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!found) added.push(obj);\n\t\t}\n\t\tconst removed = oldList.filter((_, i) => !oldListRemains[i]);\n\t\tcb(newList, oldList, added, removed, onCleanup);\n\t\toldList = [...newList];\n\t}, options);\n}\n//#endregion\n//#region watchAtMost/index.ts\nfunction watchAtMost(source, cb, options) {\n\tconst { count, ...watchOptions } = options;\n\tconst current = shallowRef(0);\n\tconst { stop, resume, pause } = watchWithFilter(source, (...args) => {\n\t\tcurrent.value += 1;\n\t\tif (current.value >= toValue(count)) nextTick(() => stop());\n\t\tcb(...args);\n\t}, watchOptions);\n\treturn {\n\t\tcount: current,\n\t\tstop,\n\t\tresume,\n\t\tpause\n\t};\n}\n//#endregion\n//#region watchDebounced/index.ts\nfunction watchDebounced(source, cb, options = {}) {\n\tconst { debounce = 0, maxWait = void 0, ...watchOptions } = options;\n\treturn watchWithFilter(source, cb, {\n\t\t...watchOptions,\n\t\teventFilter: debounceFilter(debounce, { maxWait })\n\t});\n}\n/** @deprecated use `watchDebounced` instead */\nconst debouncedWatch = watchDebounced;\n//#endregion\n//#region watchDeep/index.ts\n/**\n* Shorthand for watching value with {deep: true}\n*\n* @see https://vueuse.org/watchDeep\n*/\nfunction watchDeep(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\tdeep: true\n\t});\n}\n//#endregion\n//#region watchIgnorable/index.ts\nfunction watchIgnorable(source, cb, options = {}) {\n\tconst { eventFilter = bypassFilter, ...watchOptions } = options;\n\tconst filteredCb = createFilterWrapper(eventFilter, cb);\n\tlet ignoreUpdates;\n\tlet ignorePrevAsyncUpdates;\n\tlet stop;\n\tif (watchOptions.flush === \"sync\") {\n\t\tlet ignore = false;\n\t\tignorePrevAsyncUpdates = () => {};\n\t\tignoreUpdates = (updater) => {\n\t\t\tignore = true;\n\t\t\tupdater();\n\t\t\tignore = false;\n\t\t};\n\t\tstop = watch(source, (...args) => {\n\t\t\tif (!ignore) filteredCb(...args);\n\t\t}, watchOptions);\n\t} else {\n\t\tconst disposables = [];\n\t\tlet ignoreCounter = 0;\n\t\tlet syncCounter = 0;\n\t\tignorePrevAsyncUpdates = () => {\n\t\t\tignoreCounter = syncCounter;\n\t\t};\n\t\tdisposables.push(watch(source, () => {\n\t\t\tsyncCounter++;\n\t\t}, {\n\t\t\t...watchOptions,\n\t\t\tflush: \"sync\"\n\t\t}));\n\t\tignoreUpdates = (updater) => {\n\t\t\tconst syncCounterPrev = syncCounter;\n\t\t\tupdater();\n\t\t\tignoreCounter += syncCounter - syncCounterPrev;\n\t\t};\n\t\tdisposables.push(watch(source, (...args) => {\n\t\t\tconst ignore = ignoreCounter > 0 && ignoreCounter === syncCounter;\n\t\t\tignoreCounter = 0;\n\t\t\tsyncCounter = 0;\n\t\t\tif (ignore) return;\n\t\t\tfilteredCb(...args);\n\t\t}, watchOptions));\n\t\tstop = () => {\n\t\t\tdisposables.forEach((fn) => fn());\n\t\t};\n\t}\n\treturn {\n\t\tstop,\n\t\tignoreUpdates,\n\t\tignorePrevAsyncUpdates\n\t};\n}\n/** @deprecated use `watchIgnorable` instead */\nconst ignorableWatch = watchIgnorable;\n//#endregion\n//#region watchImmediate/index.ts\n/**\n* Shorthand for watching value with {immediate: true}\n*\n* @see https://vueuse.org/watchImmediate\n*/\nfunction watchImmediate(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\timmediate: true\n\t});\n}\n//#endregion\n//#region watchOnce/index.ts\n/**\n* Shorthand for watching value with { once: true }\n*\n* @see https://vueuse.org/watchOnce\n*/\nfunction watchOnce(source, cb, options) {\n\treturn watch(source, cb, {\n\t\t...options,\n\t\tonce: true\n\t});\n}\n//#endregion\n//#region watchThrottled/index.ts\nfunction watchThrottled(source, cb, options = {}) {\n\tconst { throttle = 0, trailing = true, leading = true, ...watchOptions } = options;\n\treturn watchWithFilter(source, cb, {\n\t\t...watchOptions,\n\t\teventFilter: throttleFilter(throttle, trailing, leading)\n\t});\n}\n/** @deprecated use `watchThrottled` instead */\nconst throttledWatch = watchThrottled;\n//#endregion\n//#region watchTriggerable/index.ts\nfunction watchTriggerable(source, cb, options = {}) {\n\tlet cleanupFn;\n\tfunction onEffect() {\n\t\tif (!cleanupFn) return;\n\t\tconst fn = cleanupFn;\n\t\tcleanupFn = void 0;\n\t\tfn();\n\t}\n\t/** Register the function `cleanupFn` */\n\tfunction onCleanup(callback) {\n\t\tcleanupFn = callback;\n\t}\n\tconst _cb = (value, oldValue) => {\n\t\tonEffect();\n\t\treturn cb(value, oldValue, onCleanup);\n\t};\n\tconst res = watchIgnorable(source, _cb, options);\n\tconst { ignoreUpdates } = res;\n\tconst trigger = () => {\n\t\tlet res;\n\t\tignoreUpdates(() => {\n\t\t\tres = _cb(getWatchSources(source), getOldValue(source));\n\t\t});\n\t\treturn res;\n\t};\n\treturn {\n\t\t...res,\n\t\ttrigger\n\t};\n}\nfunction getWatchSources(sources) {\n\tif (isReactive(sources)) return sources;\n\tif (Array.isArray(sources)) return sources.map((item) => toValue(item));\n\treturn toValue(sources);\n}\nfunction getOldValue(source) {\n\treturn Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n//#endregion\n//#region whenever/index.ts\nfunction whenever(source, cb, options) {\n\tconst stop = watch(source, (v, ov, onInvalidate) => {\n\t\tif (v) {\n\t\t\tif (options === null || options === void 0 ? void 0 : options.once) nextTick(() => stop());\n\t\t\tcb(v, ov, onInvalidate);\n\t\t}\n\t}, {\n\t\t...options,\n\t\tonce: false\n\t});\n\treturn stop;\n}\n//#endregion\nexport { assert, autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, controlledComputed, controlledRef, createDisposableDirective, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, createReactiveFn, createRef, createSharedComposable, createSingletonPromise, debounceFilter, debouncedRef, debouncedWatch, eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, pausableWatch, promiseTimeout, provideLocal, pxValue, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refManualReset, refThrottled, refWithControl, set, syncRef, syncRefs, throttleFilter, throttledRef, throttledWatch, timestamp, toArray, toReactive, toRef, toRefs, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import { bypassFilter, camelize, clamp, computedWithControl, containsProp, createEventHook, createFilterWrapper, createRef, createSingletonPromise, debounceFilter, hasOwn, identity, increaseWithUnit, injectLocal, isClient, isDef, isIOS, isObject, isWorker, makeDestructurable, noop, notNullish, objectEntries, objectOmit, objectPick, pausableFilter, promiseTimeout, provideLocal, pxValue, syncRef, throttleFilter, timestamp, toArray, toRef, toRefs, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useDebounceFn, useIntervalFn, useThrottleFn, useTimeoutFn, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchWithFilter, whenever } from \"@vueuse/shared\";\nimport { Fragment, TransitionGroup, computed, customRef, defineComponent, getCurrentInstance, getCurrentScope, h, hasInjectionContext, inject, isReadonly, isRef, markRaw, nextTick, onBeforeUpdate, onMounted, onUpdated, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRaw, toValue, unref, watch, watchEffect } from \"vue\";\nexport * from \"@vueuse/shared\";\n//#region computedAsync/index.ts\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n\tvar _globalThis$reportErr;\n\tlet options;\n\tif (isRef(optionsOrRef)) options = { evaluating: optionsOrRef };\n\telse options = optionsOrRef || {};\n\tconst { lazy = false, flush = \"sync\", evaluating = void 0, shallow = true, onError = (_globalThis$reportErr = globalThis.reportError) !== null && _globalThis$reportErr !== void 0 ? _globalThis$reportErr : noop } = options;\n\tconst started = shallowRef(!lazy);\n\tconst current = shallow ? shallowRef(initialState) : ref(initialState);\n\tlet counter = 0;\n\twatchEffect(async (onInvalidate) => {\n\t\tif (!started.value) return;\n\t\tcounter++;\n\t\tconst counterAtBeginning = counter;\n\t\tlet hasFinished = false;\n\t\tif (evaluating) Promise.resolve().then(() => {\n\t\t\tevaluating.value = true;\n\t\t});\n\t\ttry {\n\t\t\tconst result = await evaluationCallback((cancelCallback) => {\n\t\t\t\tonInvalidate(() => {\n\t\t\t\t\tif (evaluating) evaluating.value = false;\n\t\t\t\t\tif (!hasFinished) cancelCallback();\n\t\t\t\t});\n\t\t\t});\n\t\t\tif (counterAtBeginning === counter) current.value = result;\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t} finally {\n\t\t\tif (evaluating && counterAtBeginning === counter) evaluating.value = false;\n\t\t\thasFinished = true;\n\t\t}\n\t}, { flush });\n\tif (lazy) return computed(() => {\n\t\tstarted.value = true;\n\t\treturn current.value;\n\t});\n\telse return current;\n}\n/** @deprecated use `computedAsync` instead */\nconst asyncComputed = computedAsync;\n//#endregion\n//#region computedInject/index.ts\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n\tlet source = inject(key);\n\tif (defaultSource) source = inject(key, defaultSource);\n\tif (treatDefaultAsFactory) source = inject(key, defaultSource, treatDefaultAsFactory);\n\tif (typeof options === \"function\") return computed((oldValue) => options(source, oldValue));\n\telse return computed({\n\t\tget: (oldValue) => options.get(source, oldValue),\n\t\tset: options.set\n\t});\n}\n//#endregion\n//#region createReusableTemplate/index.ts\n/**\n* This function creates `define` and `reuse` components in pair,\n* It also allow to pass a generic to bind with type.\n*\n* @see https://vueuse.org/createReusableTemplate\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createReusableTemplate(options = {}) {\n\tconst { inheritAttrs = true, name = \"ReusableTemplate\" } = options;\n\tconst render = shallowRef();\n\tconst define = defineComponent({\n\t\tname: `${name}.define`,\n\t\tsetup(_, { slots }) {\n\t\t\treturn () => {\n\t\t\t\trender.value = slots.default;\n\t\t\t};\n\t\t}\n\t});\n\tconst reuse = defineComponent({\n\t\tinheritAttrs,\n\t\tname: `${name}.reuse`,\n\t\tprops: options.props,\n\t\tsetup(props, { attrs, slots }) {\n\t\t\treturn () => {\n\t\t\t\tvar _render$value;\n\t\t\t\tif (!render.value && true) throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n\t\t\t\tconst vnode = (_render$value = render.value) === null || _render$value === void 0 ? void 0 : _render$value.call(render, {\n\t\t\t\t\t...options.props == null ? keysToCamelKebabCase(attrs) : props,\n\t\t\t\t\t$slots: slots\n\t\t\t\t});\n\t\t\t\treturn inheritAttrs && (vnode === null || vnode === void 0 ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n\t\t\t};\n\t\t}\n\t});\n\treturn makeDestructurable({\n\t\tdefine,\n\t\treuse\n\t}, [define, reuse]);\n}\nfunction keysToCamelKebabCase(obj) {\n\tconst newObj = {};\n\tfor (const key in obj) newObj[camelize(key)] = obj[key];\n\treturn newObj;\n}\n//#endregion\n//#region createTemplatePromise/index.ts\n/**\n* Creates a template promise component.\n*\n* @see https://vueuse.org/createTemplatePromise\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createTemplatePromise(options = {}) {\n\tlet index = 0;\n\tconst instances = ref([]);\n\tfunction create(...args) {\n\t\tconst props = shallowReactive({\n\t\t\tkey: index++,\n\t\t\targs,\n\t\t\tpromise: void 0,\n\t\t\tresolve: () => {},\n\t\t\treject: () => {},\n\t\t\tisResolving: false,\n\t\t\toptions\n\t\t});\n\t\tinstances.value.push(props);\n\t\tprops.promise = new Promise((_resolve, _reject) => {\n\t\t\tprops.resolve = (v) => {\n\t\t\t\tprops.isResolving = true;\n\t\t\t\treturn _resolve(v);\n\t\t\t};\n\t\t\tprops.reject = _reject;\n\t\t}).finally(() => {\n\t\t\tprops.promise = void 0;\n\t\t\tconst index = instances.value.indexOf(props);\n\t\t\tif (index !== -1) instances.value.splice(index, 1);\n\t\t});\n\t\treturn props.promise;\n\t}\n\tfunction start(...args) {\n\t\tif (options.singleton && instances.value.length > 0) return instances.value[0].promise;\n\t\treturn create(...args);\n\t}\n\tconst component = defineComponent((_, { slots }) => {\n\t\tconst renderList = () => instances.value.map((props) => {\n\t\t\tvar _slots$default;\n\t\t\treturn h(Fragment, { key: props.key }, (_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots, props));\n\t\t});\n\t\tif (options.transition) return () => h(TransitionGroup, options.transition, renderList);\n\t\treturn renderList;\n\t});\n\tcomponent.start = start;\n\treturn component;\n}\n//#endregion\n//#region createUnrefFn/index.ts\n/**\n* Make a plain function accepting ref and raw values as arguments.\n* Returns the same value the unconverted function returns, with proper typing.\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction createUnrefFn(fn) {\n\treturn function(...args) {\n\t\treturn fn.apply(this, args.map((i) => toValue(i)));\n\t};\n}\n//#endregion\n//#region _configurable.ts\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n//#endregion\n//#region unrefElement/index.ts\n/**\n* Get the dom element of a ref of element or Vue component instance\n*\n* @param elRef\n*/\nfunction unrefElement(elRef) {\n\tvar _$el;\n\tconst plain = toValue(elRef);\n\treturn (_$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _$el !== void 0 ? _$el : plain;\n}\n//#endregion\n//#region useEventListener/index.ts\nfunction useEventListener(...args) {\n\tconst register = (el, event, listener, options) => {\n\t\tel.addEventListener(event, listener, options);\n\t\treturn () => el.removeEventListener(event, listener, options);\n\t};\n\tconst firstParamTargets = computed(() => {\n\t\tconst test = toArray(toValue(args[0])).filter((e) => e != null);\n\t\treturn test.every((e) => typeof e !== \"string\") ? test : void 0;\n\t});\n\treturn watchImmediate(() => {\n\t\tvar _firstParamTargets$va, _firstParamTargets$va2;\n\t\treturn [\n\t\t\t(_firstParamTargets$va = (_firstParamTargets$va2 = firstParamTargets.value) === null || _firstParamTargets$va2 === void 0 ? void 0 : _firstParamTargets$va2.map((e) => unrefElement(e))) !== null && _firstParamTargets$va !== void 0 ? _firstParamTargets$va : [defaultWindow].filter((e) => e != null),\n\t\t\ttoArray(toValue(firstParamTargets.value ? args[1] : args[0])),\n\t\t\ttoArray(unref(firstParamTargets.value ? args[2] : args[1])),\n\t\t\ttoValue(firstParamTargets.value ? args[3] : args[2])\n\t\t];\n\t}, ([raw_targets, raw_events, raw_listeners, raw_options], _, onCleanup) => {\n\t\tif (!(raw_targets === null || raw_targets === void 0 ? void 0 : raw_targets.length) || !(raw_events === null || raw_events === void 0 ? void 0 : raw_events.length) || !(raw_listeners === null || raw_listeners === void 0 ? void 0 : raw_listeners.length)) return;\n\t\tconst optionsClone = isObject(raw_options) ? { ...raw_options } : raw_options;\n\t\tconst cleanups = raw_targets.flatMap((el) => raw_events.flatMap((event) => raw_listeners.map((listener) => register(el, event, listener, optionsClone))));\n\t\tonCleanup(() => {\n\t\t\tcleanups.forEach((fn) => fn());\n\t\t});\n\t}, { flush: \"post\" });\n}\n//#endregion\n//#region onClickOutside/index.ts\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n\tconst { window = defaultWindow, ignore = [], capture = true, detectIframe = false, controls = false } = options;\n\tif (!window) return controls ? {\n\t\tstop: noop,\n\t\tcancel: noop,\n\t\ttrigger: noop\n\t} : noop;\n\tif (isIOS && !_iOSWorkaround) {\n\t\t_iOSWorkaround = true;\n\t\tconst listenerOptions = { passive: true };\n\t\tArray.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop, listenerOptions));\n\t\twindow.document.documentElement.addEventListener(\"click\", noop, listenerOptions);\n\t}\n\tlet shouldListen = true;\n\tconst shouldIgnore = (event) => {\n\t\treturn toValue(ignore).some((target) => {\n\t\t\tif (typeof target === \"string\") return Array.from(window.document.querySelectorAll(target)).some((el) => el === event.target || event.composedPath().includes(el));\n\t\t\telse {\n\t\t\t\tconst el = unrefElement(target);\n\t\t\t\treturn el && (event.target === el || event.composedPath().includes(el));\n\t\t\t}\n\t\t});\n\t};\n\t/**\n\t* Determines if the given target has multiple root elements.\n\t* Referenced from: https://github.com/vuejs/test-utils/blob/ccb460be55f9f6be05ab708500a41ec8adf6f4bc/src/vue-wrapper.ts#L21\n\t*/\n\tfunction hasMultipleRoots(target) {\n\t\tconst vm = toValue(target);\n\t\treturn vm && vm.$.subTree.shapeFlag === 16;\n\t}\n\tfunction checkMultipleRoots(target, event) {\n\t\tconst vm = toValue(target);\n\t\tconst children = vm.$.subTree && vm.$.subTree.children;\n\t\tif (children == null || !Array.isArray(children)) return false;\n\t\treturn children.some((child) => child.el === event.target || event.composedPath().includes(child.el));\n\t}\n\tconst listener = (event) => {\n\t\tconst el = unrefElement(target);\n\t\tif (event.target == null) return;\n\t\tif (!(el instanceof Element) && hasMultipleRoots(target) && checkMultipleRoots(target, event)) return;\n\t\tif (!el || el === event.target || event.composedPath().includes(el)) return;\n\t\tif (\"detail\" in event && event.detail === 0) shouldListen = !shouldIgnore(event);\n\t\tif (!shouldListen) {\n\t\t\tshouldListen = true;\n\t\t\treturn;\n\t\t}\n\t\thandler(event);\n\t};\n\tlet isProcessingClick = false;\n\tconst cleanup = [\n\t\tuseEventListener(window, \"click\", (event) => {\n\t\t\tif (!isProcessingClick) {\n\t\t\t\tisProcessingClick = true;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tisProcessingClick = false;\n\t\t\t\t}, 0);\n\t\t\t\tlistener(event);\n\t\t\t}\n\t\t}, {\n\t\t\tpassive: true,\n\t\t\tcapture\n\t\t}),\n\t\tuseEventListener(window, \"pointerdown\", (e) => {\n\t\t\tconst el = unrefElement(target);\n\t\t\tshouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n\t\t}, { passive: true }),\n\t\tdetectIframe && useEventListener(window, \"blur\", (event) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst el = unrefElement(target);\n\t\t\t\tlet activeEl = window.document.activeElement;\n\t\t\t\twhile (activeEl === null || activeEl === void 0 ? void 0 : activeEl.shadowRoot) activeEl = activeEl.shadowRoot.activeElement;\n\t\t\t\tif ((activeEl === null || activeEl === void 0 ? void 0 : activeEl.tagName) === \"IFRAME\" && !(el === null || el === void 0 ? void 0 : el.contains(window.document.activeElement))) handler(event);\n\t\t\t}, 0);\n\t\t}, { passive: true })\n\t].filter(Boolean);\n\tconst stop = () => cleanup.forEach((fn) => fn());\n\tif (controls) return {\n\t\tstop,\n\t\tcancel: () => {\n\t\t\tshouldListen = false;\n\t\t},\n\t\ttrigger: (event) => {\n\t\t\tshouldListen = true;\n\t\t\tlistener(event);\n\t\t\tshouldListen = false;\n\t\t}\n\t};\n\treturn stop;\n}\n//#endregion\n//#region useMounted/index.ts\n/**\n* Mounted state in ref.\n*\n* @see https://vueuse.org/useMounted\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useMounted() {\n\tconst isMounted = shallowRef(false);\n\tconst instance = getCurrentInstance();\n\tif (instance) onMounted(() => {\n\t\tisMounted.value = true;\n\t}, instance);\n\treturn isMounted;\n}\n//#endregion\n//#region useSupported/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useSupported(callback) {\n\tconst isMounted = useMounted();\n\treturn computed(() => {\n\t\tisMounted.value;\n\t\treturn Boolean(callback());\n\t});\n}\n//#endregion\n//#region useMutationObserver/index.ts\n/**\n* Watch for changes being made to the DOM tree.\n*\n* @see https://vueuse.org/useMutationObserver\n* @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver MutationObserver MDN\n* @param target\n* @param callback\n* @param options\n*/\nfunction useMutationObserver(target, callback, options = {}) {\n\tconst { window = defaultWindow, ...mutationOptions } = options;\n\tlet observer;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"MutationObserver\" in window);\n\tconst cleanup = () => {\n\t\tif (observer) {\n\t\t\tobserver.disconnect();\n\t\t\tobserver = void 0;\n\t\t}\n\t};\n\tconst stopWatch = watch(computed(() => {\n\t\tconst items = toArray(toValue(target)).map(unrefElement).filter(notNullish);\n\t\treturn new Set(items);\n\t}), (newTargets) => {\n\t\tcleanup();\n\t\tif (isSupported.value && newTargets.size) {\n\t\t\tobserver = new MutationObserver(callback);\n\t\t\tnewTargets.forEach((el) => observer.observe(el, mutationOptions));\n\t\t}\n\t}, {\n\t\timmediate: true,\n\t\tflush: \"post\"\n\t});\n\tconst takeRecords = () => {\n\t\treturn observer === null || observer === void 0 ? void 0 : observer.takeRecords();\n\t};\n\tconst stop = () => {\n\t\tstopWatch();\n\t\tcleanup();\n\t};\n\ttryOnScopeDispose(stop);\n\treturn {\n\t\tisSupported,\n\t\tstop,\n\t\ttakeRecords\n\t};\n}\n//#endregion\n//#region onElementRemoval/index.ts\n/**\n* Fires when the element or any element containing it is removed.\n*\n* @param target\n* @param callback\n* @param options\n*/\nfunction onElementRemoval(target, callback, options = {}) {\n\tconst { window = defaultWindow, document = window === null || window === void 0 ? void 0 : window.document, flush = \"sync\" } = options;\n\tif (!window || !document) return noop;\n\tlet stopFn;\n\tconst cleanupAndUpdate = (fn) => {\n\t\tstopFn === null || stopFn === void 0 || stopFn();\n\t\tstopFn = fn;\n\t};\n\tconst stopWatch = watchEffect(() => {\n\t\tconst el = unrefElement(target);\n\t\tif (el) {\n\t\t\tconst { stop } = useMutationObserver(document, (mutationsList) => {\n\t\t\t\tif (mutationsList.map((mutation) => [...mutation.removedNodes]).flat().some((node) => node === el || node.contains(el))) callback(mutationsList);\n\t\t\t}, {\n\t\t\t\twindow,\n\t\t\t\tchildList: true,\n\t\t\t\tsubtree: true\n\t\t\t});\n\t\t\tcleanupAndUpdate(stop);\n\t\t}\n\t}, { flush });\n\tconst stopHandle = () => {\n\t\tstopWatch();\n\t\tcleanupAndUpdate();\n\t};\n\ttryOnScopeDispose(stopHandle);\n\treturn stopHandle;\n}\n//#endregion\n//#region onKeyStroke/index.ts\nfunction createKeyPredicate(keyFilter) {\n\tif (typeof keyFilter === \"function\") return keyFilter;\n\telse if (typeof keyFilter === \"string\") return (event) => event.key === keyFilter;\n\telse if (Array.isArray(keyFilter)) return (event) => keyFilter.includes(event.key);\n\treturn () => true;\n}\nfunction onKeyStroke(...args) {\n\tlet key;\n\tlet handler;\n\tlet options = {};\n\tif (args.length === 3) {\n\t\tkey = args[0];\n\t\thandler = args[1];\n\t\toptions = args[2];\n\t} else if (args.length === 2) if (typeof args[1] === \"object\") {\n\t\tkey = true;\n\t\thandler = args[0];\n\t\toptions = args[1];\n\t} else {\n\t\tkey = args[0];\n\t\thandler = args[1];\n\t}\n\telse {\n\t\tkey = true;\n\t\thandler = args[0];\n\t}\n\tconst { target = defaultWindow, eventName = \"keydown\", passive = false, dedupe = false } = options;\n\tconst predicate = createKeyPredicate(key);\n\tconst listener = (e) => {\n\t\tif (e.repeat && toValue(dedupe)) return;\n\t\tif (predicate(e)) handler(e);\n\t};\n\treturn useEventListener(target, eventName, listener, passive);\n}\n/**\n* Listen to the keydown event of the given key.\n*\n* @see https://vueuse.org/onKeyStroke\n* @param key\n* @param handler\n* @param options\n*/\nfunction onKeyDown(key, handler, options = {}) {\n\treturn onKeyStroke(key, handler, {\n\t\t...options,\n\t\teventName: \"keydown\"\n\t});\n}\n/**\n* Listen to the keypress event of the given key.\n*\n* @see https://vueuse.org/onKeyStroke\n* @param key\n* @param handler\n* @param options\n*/\nfunction onKeyPressed(key, handler, options = {}) {\n\treturn onKeyStroke(key, handler, {\n\t\t...options,\n\t\teventName: \"keypress\"\n\t});\n}\n/**\n* Listen to the keyup event of the given key.\n*\n* @see https://vueuse.org/onKeyStroke\n* @param key\n* @param handler\n* @param options\n*/\nfunction onKeyUp(key, handler, options = {}) {\n\treturn onKeyStroke(key, handler, {\n\t\t...options,\n\t\teventName: \"keyup\"\n\t});\n}\n//#endregion\n//#region onLongPress/index.ts\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n\tvar _options$modifiers10, _options$modifiers11;\n\tconst elementRef = computed(() => unrefElement(target));\n\tlet timeout;\n\tlet posStart;\n\tlet startTimestamp;\n\tlet hasLongPressed = false;\n\tfunction clear() {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t\ttimeout = void 0;\n\t\t}\n\t\tposStart = void 0;\n\t\tstartTimestamp = void 0;\n\t\thasLongPressed = false;\n\t}\n\tfunction getDelay(ev) {\n\t\tconst delay = options === null || options === void 0 ? void 0 : options.delay;\n\t\tif (typeof delay === \"function\") return delay(ev);\n\t\treturn delay !== null && delay !== void 0 ? delay : DEFAULT_DELAY;\n\t}\n\tfunction onRelease(ev) {\n\t\tvar _options$modifiers, _options$modifiers2, _options$modifiers3;\n\t\tconst [_startTimestamp, _posStart, _hasLongPressed] = [\n\t\t\tstartTimestamp,\n\t\t\tposStart,\n\t\t\thasLongPressed\n\t\t];\n\t\tclear();\n\t\tif (!(options === null || options === void 0 ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp) return;\n\t\tif ((options === null || options === void 0 || (_options$modifiers = options.modifiers) === null || _options$modifiers === void 0 ? void 0 : _options$modifiers.self) && ev.target !== elementRef.value) return;\n\t\tif (options === null || options === void 0 || (_options$modifiers2 = options.modifiers) === null || _options$modifiers2 === void 0 ? void 0 : _options$modifiers2.prevent) ev.preventDefault();\n\t\tif (options === null || options === void 0 || (_options$modifiers3 = options.modifiers) === null || _options$modifiers3 === void 0 ? void 0 : _options$modifiers3.stop) ev.stopPropagation();\n\t\tconst dx = ev.x - _posStart.x;\n\t\tconst dy = ev.y - _posStart.y;\n\t\tconst distance = Math.sqrt(dx * dx + dy * dy);\n\t\toptions.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed, ev);\n\t}\n\tfunction onDown(ev) {\n\t\tvar _options$modifiers4, _options$modifiers5, _options$modifiers6;\n\t\tif ((options === null || options === void 0 || (_options$modifiers4 = options.modifiers) === null || _options$modifiers4 === void 0 ? void 0 : _options$modifiers4.self) && ev.target !== elementRef.value) return;\n\t\tclear();\n\t\tif (options === null || options === void 0 || (_options$modifiers5 = options.modifiers) === null || _options$modifiers5 === void 0 ? void 0 : _options$modifiers5.prevent) ev.preventDefault();\n\t\tif (options === null || options === void 0 || (_options$modifiers6 = options.modifiers) === null || _options$modifiers6 === void 0 ? void 0 : _options$modifiers6.stop) ev.stopPropagation();\n\t\tposStart = {\n\t\t\tx: ev.x,\n\t\t\ty: ev.y\n\t\t};\n\t\tstartTimestamp = ev.timeStamp;\n\t\ttimeout = setTimeout(() => {\n\t\t\thasLongPressed = true;\n\t\t\thandler(ev);\n\t\t}, getDelay(ev));\n\t}\n\tfunction onMove(ev) {\n\t\tvar _options$modifiers7, _options$modifiers8, _options$modifiers9, _options$distanceThre;\n\t\tif ((options === null || options === void 0 || (_options$modifiers7 = options.modifiers) === null || _options$modifiers7 === void 0 ? void 0 : _options$modifiers7.self) && ev.target !== elementRef.value) return;\n\t\tif (!posStart || (options === null || options === void 0 ? void 0 : options.distanceThreshold) === false) return;\n\t\tif (options === null || options === void 0 || (_options$modifiers8 = options.modifiers) === null || _options$modifiers8 === void 0 ? void 0 : _options$modifiers8.prevent) ev.preventDefault();\n\t\tif (options === null || options === void 0 || (_options$modifiers9 = options.modifiers) === null || _options$modifiers9 === void 0 ? void 0 : _options$modifiers9.stop) ev.stopPropagation();\n\t\tconst dx = ev.x - posStart.x;\n\t\tconst dy = ev.y - posStart.y;\n\t\tif (Math.sqrt(dx * dx + dy * dy) >= ((_options$distanceThre = options === null || options === void 0 ? void 0 : options.distanceThreshold) !== null && _options$distanceThre !== void 0 ? _options$distanceThre : DEFAULT_THRESHOLD)) clear();\n\t}\n\tconst listenerOptions = {\n\t\tcapture: options === null || options === void 0 || (_options$modifiers10 = options.modifiers) === null || _options$modifiers10 === void 0 ? void 0 : _options$modifiers10.capture,\n\t\tonce: options === null || options === void 0 || (_options$modifiers11 = options.modifiers) === null || _options$modifiers11 === void 0 ? void 0 : _options$modifiers11.once\n\t};\n\tconst cleanup = [\n\t\tuseEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n\t\tuseEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n\t\tuseEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n\t];\n\tconst stop = () => cleanup.forEach((fn) => fn());\n\treturn stop;\n}\n//#endregion\n//#region onStartTyping/index.ts\nfunction isFocusedElementEditable() {\n\tconst { activeElement, body } = document;\n\tif (!activeElement) return false;\n\tif (activeElement === body) return false;\n\tswitch (activeElement.tagName) {\n\t\tcase \"INPUT\":\n\t\tcase \"TEXTAREA\": return true;\n\t}\n\treturn activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({ keyCode, metaKey, ctrlKey, altKey }) {\n\tif (metaKey || ctrlKey || altKey) return false;\n\tif (keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) return true;\n\tif (keyCode >= 65 && keyCode <= 90) return true;\n\treturn false;\n}\n/**\n* Fires when users start typing on non-editable elements.\n*\n* @see https://vueuse.org/onStartTyping\n* @param callback\n* @param options\n*/\nfunction onStartTyping(callback, options = {}) {\n\tconst { document = defaultDocument } = options;\n\tconst keydown = (event) => {\n\t\tif (!isFocusedElementEditable() && isTypedCharValid(event)) callback(event);\n\t};\n\tif (document) useEventListener(document, \"keydown\", keydown, { passive: true });\n}\n//#endregion\n//#region templateRef/index.ts\n/**\n* @deprecated Use Vue's built-in `useTemplateRef` instead.\n*\n* Shorthand for binding ref to template element.\n*\n* @see https://vueuse.org/templateRef\n* @param key\n* @param initialValue\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction templateRef(key, initialValue = null) {\n\tconst instance = getCurrentInstance();\n\tlet _trigger = () => {};\n\tconst element = customRef((track, trigger) => {\n\t\t_trigger = trigger;\n\t\treturn {\n\t\t\tget() {\n\t\t\t\tvar _instance$proxy$$refs, _instance$proxy;\n\t\t\t\ttrack();\n\t\t\t\treturn (_instance$proxy$$refs = instance === null || instance === void 0 || (_instance$proxy = instance.proxy) === null || _instance$proxy === void 0 ? void 0 : _instance$proxy.$refs[key]) !== null && _instance$proxy$$refs !== void 0 ? _instance$proxy$$refs : initialValue;\n\t\t\t},\n\t\t\tset() {}\n\t\t};\n\t});\n\ttryOnMounted(_trigger);\n\tonUpdated(_trigger);\n\treturn element;\n}\n//#endregion\n//#region useActiveElement/index.ts\n/**\n* Reactive `document.activeElement`\n*\n* @see https://vueuse.org/useActiveElement\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useActiveElement(options = {}) {\n\tvar _options$document;\n\tconst { window = defaultWindow, deep = true, triggerOnRemoval = false } = options;\n\tconst document = (_options$document = options.document) !== null && _options$document !== void 0 ? _options$document : window === null || window === void 0 ? void 0 : window.document;\n\tconst getDeepActiveElement = () => {\n\t\tlet element = document === null || document === void 0 ? void 0 : document.activeElement;\n\t\tif (deep) {\n\t\t\tvar _element$shadowRoot;\n\t\t\twhile (element === null || element === void 0 ? void 0 : element.shadowRoot) element = element === null || element === void 0 || (_element$shadowRoot = element.shadowRoot) === null || _element$shadowRoot === void 0 ? void 0 : _element$shadowRoot.activeElement;\n\t\t}\n\t\treturn element;\n\t};\n\tconst activeElement = shallowRef();\n\tconst trigger = () => {\n\t\tactiveElement.value = getDeepActiveElement();\n\t};\n\tif (window) {\n\t\tconst listenerOptions = {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t};\n\t\tuseEventListener(window, \"blur\", (event) => {\n\t\t\tif (event.relatedTarget !== null) return;\n\t\t\ttrigger();\n\t\t}, listenerOptions);\n\t\tuseEventListener(window, \"focus\", trigger, listenerOptions);\n\t}\n\tif (triggerOnRemoval) onElementRemoval(activeElement, trigger, { document });\n\ttrigger();\n\treturn activeElement;\n}\n//#endregion\n//#region useRafFn/index.ts\n/**\n* Call function on every `requestAnimationFrame`. With controls of pausing and resuming.\n*\n* @see https://vueuse.org/useRafFn\n* @param fn\n* @param options\n*/\nfunction useRafFn(fn, options = {}) {\n\tconst { immediate = true, fpsLimit = null, window = defaultWindow, once = false } = options;\n\tconst isActive = shallowRef(false);\n\tconst intervalLimit = computed(() => {\n\t\tconst limit = toValue(fpsLimit);\n\t\treturn limit ? 1e3 / limit : null;\n\t});\n\tlet previousFrameTimestamp = 0;\n\tlet rafId = null;\n\tfunction loop(timestamp) {\n\t\tif (!isActive.value || !window) return;\n\t\tif (!previousFrameTimestamp) previousFrameTimestamp = timestamp;\n\t\tconst delta = timestamp - previousFrameTimestamp;\n\t\tif (intervalLimit.value && delta < intervalLimit.value) {\n\t\t\trafId = window.requestAnimationFrame(loop);\n\t\t\treturn;\n\t\t}\n\t\tpreviousFrameTimestamp = timestamp;\n\t\tfn({\n\t\t\tdelta,\n\t\t\ttimestamp\n\t\t});\n\t\tif (once) {\n\t\t\tisActive.value = false;\n\t\t\trafId = null;\n\t\t\treturn;\n\t\t}\n\t\trafId = window.requestAnimationFrame(loop);\n\t}\n\tfunction resume() {\n\t\tif (!isActive.value && window) {\n\t\t\tisActive.value = true;\n\t\t\tpreviousFrameTimestamp = 0;\n\t\t\trafId = window.requestAnimationFrame(loop);\n\t\t}\n\t}\n\tfunction pause() {\n\t\tisActive.value = false;\n\t\tif (rafId != null && window) {\n\t\t\twindow.cancelAnimationFrame(rafId);\n\t\t\trafId = null;\n\t\t}\n\t}\n\tif (immediate) resume();\n\ttryOnScopeDispose(pause);\n\treturn {\n\t\tisActive: shallowReadonly(isActive),\n\t\tpause,\n\t\tresume\n\t};\n}\n//#endregion\n//#region useAnimate/index.ts\n/**\n* Reactive Web Animations API\n*\n* @see https://vueuse.org/useAnimate\n* @param target\n* @param keyframes\n* @param options\n*/\nfunction useAnimate(target, keyframes, options) {\n\tlet config;\n\tlet animateOptions;\n\tif (isObject(options)) {\n\t\tconfig = options;\n\t\tanimateOptions = objectOmit(options, [\n\t\t\t\"window\",\n\t\t\t\"immediate\",\n\t\t\t\"commitStyles\",\n\t\t\t\"persist\",\n\t\t\t\"onReady\",\n\t\t\t\"onError\"\n\t\t]);\n\t} else {\n\t\tconfig = { duration: options };\n\t\tanimateOptions = options;\n\t}\n\tconst { window = defaultWindow, immediate = true, commitStyles, persist, playbackRate: _playbackRate = 1, onReady, onError = (e) => {\n\t\tconsole.error(e);\n\t} } = config;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n\tconst animate = shallowRef(void 0);\n\tconst store = shallowReactive({\n\t\tstartTime: null,\n\t\tcurrentTime: null,\n\t\ttimeline: null,\n\t\tplaybackRate: _playbackRate,\n\t\tpending: false,\n\t\tplayState: immediate ? \"idle\" : \"paused\",\n\t\treplaceState: \"active\"\n\t});\n\tconst pending = computed(() => store.pending);\n\tconst playState = computed(() => store.playState);\n\tconst replaceState = computed(() => store.replaceState);\n\tconst startTime = computed({\n\t\tget() {\n\t\t\treturn store.startTime;\n\t\t},\n\t\tset(value) {\n\t\t\tstore.startTime = value;\n\t\t\tif (animate.value) animate.value.startTime = value;\n\t\t}\n\t});\n\tconst currentTime = computed({\n\t\tget() {\n\t\t\treturn store.currentTime;\n\t\t},\n\t\tset(value) {\n\t\t\tstore.currentTime = value;\n\t\t\tif (animate.value) {\n\t\t\t\tanimate.value.currentTime = value;\n\t\t\t\tsyncResume();\n\t\t\t}\n\t\t}\n\t});\n\tconst timeline = computed({\n\t\tget() {\n\t\t\treturn store.timeline;\n\t\t},\n\t\tset(value) {\n\t\t\tstore.timeline = value;\n\t\t\tif (animate.value) animate.value.timeline = value;\n\t\t}\n\t});\n\tconst playbackRate = computed({\n\t\tget() {\n\t\t\treturn store.playbackRate;\n\t\t},\n\t\tset(value) {\n\t\t\tstore.playbackRate = value;\n\t\t\tif (animate.value) animate.value.playbackRate = value;\n\t\t}\n\t});\n\tconst play = () => {\n\t\tif (animate.value) try {\n\t\t\tanimate.value.play();\n\t\t\tsyncResume();\n\t\t} catch (e) {\n\t\t\tsyncPause();\n\t\t\tonError(e);\n\t\t}\n\t\telse update();\n\t};\n\tconst pause = () => {\n\t\ttry {\n\t\t\tvar _animate$value;\n\t\t\t(_animate$value = animate.value) === null || _animate$value === void 0 || _animate$value.pause();\n\t\t\tsyncPause();\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t};\n\tconst reverse = () => {\n\t\tif (!animate.value) update();\n\t\ttry {\n\t\t\tvar _animate$value2;\n\t\t\t(_animate$value2 = animate.value) === null || _animate$value2 === void 0 || _animate$value2.reverse();\n\t\t\tsyncResume();\n\t\t} catch (e) {\n\t\t\tsyncPause();\n\t\t\tonError(e);\n\t\t}\n\t};\n\tconst finish = () => {\n\t\ttry {\n\t\t\tvar _animate$value3;\n\t\t\t(_animate$value3 = animate.value) === null || _animate$value3 === void 0 || _animate$value3.finish();\n\t\t\tsyncPause();\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t};\n\tconst cancel = () => {\n\t\ttry {\n\t\t\tvar _animate$value4;\n\t\t\t(_animate$value4 = animate.value) === null || _animate$value4 === void 0 || _animate$value4.cancel();\n\t\t\tsyncPause();\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t};\n\twatch(() => unrefElement(target), (el) => {\n\t\tif (el) update(true);\n\t\telse animate.value = void 0;\n\t});\n\twatch(() => keyframes, (value) => {\n\t\tif (animate.value) {\n\t\t\tupdate();\n\t\t\tconst targetEl = unrefElement(target);\n\t\t\tif (targetEl) animate.value.effect = new KeyframeEffect(targetEl, toValue(value), animateOptions);\n\t\t}\n\t}, { deep: true });\n\ttryOnMounted(() => update(true), false);\n\ttryOnScopeDispose(cancel);\n\tfunction update(init) {\n\t\tconst el = unrefElement(target);\n\t\tif (!isSupported.value || !el) return;\n\t\tif (!animate.value) animate.value = el.animate(toValue(keyframes), animateOptions);\n\t\tif (persist) animate.value.persist();\n\t\tif (_playbackRate !== 1) animate.value.playbackRate = _playbackRate;\n\t\tif (init && !immediate) animate.value.pause();\n\t\telse syncResume();\n\t\tonReady === null || onReady === void 0 || onReady(animate.value);\n\t}\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(animate, [\n\t\t\"cancel\",\n\t\t\"finish\",\n\t\t\"remove\"\n\t], syncPause, listenerOptions);\n\tuseEventListener(animate, \"finish\", () => {\n\t\tvar _animate$value5;\n\t\tif (commitStyles) (_animate$value5 = animate.value) === null || _animate$value5 === void 0 || _animate$value5.commitStyles();\n\t}, listenerOptions);\n\tconst { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n\t\tif (!animate.value) return;\n\t\tstore.pending = animate.value.pending;\n\t\tstore.playState = animate.value.playState;\n\t\tstore.replaceState = animate.value.replaceState;\n\t\tstore.startTime = animate.value.startTime;\n\t\tstore.currentTime = animate.value.currentTime;\n\t\tstore.timeline = animate.value.timeline;\n\t\tstore.playbackRate = animate.value.playbackRate;\n\t}, { immediate: false });\n\tfunction syncResume() {\n\t\tif (isSupported.value) resumeRef();\n\t}\n\tfunction syncPause() {\n\t\tif (isSupported.value && window) window.requestAnimationFrame(pauseRef);\n\t}\n\treturn {\n\t\tisSupported,\n\t\tanimate,\n\t\tplay,\n\t\tpause,\n\t\treverse,\n\t\tfinish,\n\t\tcancel,\n\t\tpending,\n\t\tplayState,\n\t\treplaceState,\n\t\tstartTime,\n\t\tcurrentTime,\n\t\ttimeline,\n\t\tplaybackRate\n\t};\n}\n//#endregion\n//#region useAsyncQueue/index.ts\n/**\n* Asynchronous queue task controller.\n*\n* @see https://vueuse.org/useAsyncQueue\n* @param tasks\n* @param options\n*/\nfunction useAsyncQueue(tasks, options) {\n\tconst { interrupt = true, onError = noop, onFinished = noop, signal } = options || {};\n\tconst promiseState = {\n\t\taborted: \"aborted\",\n\t\tfulfilled: \"fulfilled\",\n\t\tpending: \"pending\",\n\t\trejected: \"rejected\"\n\t};\n\tconst result = reactive(Array.from(Array.from({ length: tasks.length }), () => ({\n\t\tstate: promiseState.pending,\n\t\tdata: null\n\t})));\n\tconst activeIndex = shallowRef(-1);\n\tif (!tasks || tasks.length === 0) {\n\t\tonFinished();\n\t\treturn {\n\t\t\tactiveIndex,\n\t\t\tresult\n\t\t};\n\t}\n\tfunction updateResult(state, res) {\n\t\tactiveIndex.value++;\n\t\tresult[activeIndex.value].data = res;\n\t\tresult[activeIndex.value].state = state;\n\t}\n\ttasks.reduce((prev, curr) => {\n\t\treturn prev.then((prevRes) => {\n\t\t\tvar _result$activeIndex$v;\n\t\t\tif (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n\t\t\t\tupdateResult(promiseState.aborted, /* @__PURE__ */ new Error(\"aborted\"));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (((_result$activeIndex$v = result[activeIndex.value]) === null || _result$activeIndex$v === void 0 ? void 0 : _result$activeIndex$v.state) === promiseState.rejected && interrupt) {\n\t\t\t\tonFinished();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst done = curr(prevRes).then((currentRes) => {\n\t\t\t\tupdateResult(promiseState.fulfilled, currentRes);\n\t\t\t\tif (activeIndex.value === tasks.length - 1) onFinished();\n\t\t\t\treturn currentRes;\n\t\t\t});\n\t\t\tif (!signal) return done;\n\t\t\treturn Promise.race([done, whenAborted(signal)]);\n\t\t}).catch((e) => {\n\t\t\tif (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n\t\t\t\tupdateResult(promiseState.aborted, e);\n\t\t\t\treturn e;\n\t\t\t}\n\t\t\tupdateResult(promiseState.rejected, e);\n\t\t\tonError();\n\t\t\tif (activeIndex.value === tasks.length - 1) onFinished();\n\t\t\treturn e;\n\t\t});\n\t}, Promise.resolve());\n\treturn {\n\t\tactiveIndex,\n\t\tresult\n\t};\n}\nfunction whenAborted(signal) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst error = /* @__PURE__ */ new Error(\"aborted\");\n\t\tif (signal.aborted) reject(error);\n\t\telse signal.addEventListener(\"abort\", () => reject(error), { once: true });\n\t});\n}\n//#endregion\n//#region useAsyncState/index.ts\n/**\n* Reactive async state. Will not block your setup function and will trigger changes once\n* the promise is ready.\n*\n* @see https://vueuse.org/useAsyncState\n* @param promise The promise / async function to be resolved\n* @param initialState The initial state, used until the first evaluation finishes\n* @param options\n*/\nfunction useAsyncState(promise, initialState, options) {\n\tvar _globalThis$reportErr;\n\tconst { immediate = true, delay = 0, onError = (_globalThis$reportErr = globalThis.reportError) !== null && _globalThis$reportErr !== void 0 ? _globalThis$reportErr : noop, onSuccess = noop, resetOnExecute = true, shallow = true, throwError } = options !== null && options !== void 0 ? options : {};\n\tconst state = shallow ? shallowRef(initialState) : ref(initialState);\n\tconst isReady = shallowRef(false);\n\tconst isLoading = shallowRef(false);\n\tconst error = shallowRef(void 0);\n\tlet executionsCount = 0;\n\tasync function execute(delay = 0, ...args) {\n\t\tconst executionId = executionsCount += 1;\n\t\tif (resetOnExecute) state.value = toValue(initialState);\n\t\terror.value = void 0;\n\t\tisReady.value = false;\n\t\tisLoading.value = true;\n\t\tif (delay > 0) await promiseTimeout(delay);\n\t\tconst _promise = typeof promise === \"function\" ? promise(...args) : promise;\n\t\ttry {\n\t\t\tconst data = await _promise;\n\t\t\tif (executionId === executionsCount) {\n\t\t\t\tstate.value = data;\n\t\t\t\tisReady.value = true;\n\t\t\t}\n\t\t\tonSuccess(data);\n\t\t\treturn data;\n\t\t} catch (e) {\n\t\t\tif (executionId === executionsCount) error.value = e;\n\t\t\tonError(e);\n\t\t\tif (throwError) throw e;\n\t\t} finally {\n\t\t\tif (executionId === executionsCount) isLoading.value = false;\n\t\t}\n\t}\n\tif (immediate) execute(delay);\n\tconst shell = {\n\t\tstate,\n\t\tisReady,\n\t\tisLoading,\n\t\terror,\n\t\texecute,\n\t\texecuteImmediate: (...args) => execute(0, ...args)\n\t};\n\tfunction waitUntilIsLoaded() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuntil(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n\t\t});\n\t}\n\treturn {\n\t\t...shell,\n\t\tthen(onFulfilled, onRejected) {\n\t\t\treturn waitUntilIsLoaded().then(onFulfilled, onRejected);\n\t\t}\n\t};\n}\n//#endregion\n//#region useBase64/serialization.ts\nconst defaults = {\n\tarray: (v) => JSON.stringify(v),\n\tobject: (v) => JSON.stringify(v),\n\tset: (v) => JSON.stringify(Array.from(v)),\n\tmap: (v) => JSON.stringify(Object.fromEntries(v)),\n\tnull: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n\tif (!target) return defaults.null;\n\tif (target instanceof Map) return defaults.map;\n\telse if (target instanceof Set) return defaults.set;\n\telse if (Array.isArray(target)) return defaults.array;\n\telse return defaults.object;\n}\n//#endregion\n//#region useBase64/index.ts\nfunction useBase64(target, options) {\n\tconst base64 = shallowRef(\"\");\n\tconst promise = shallowRef();\n\tfunction execute() {\n\t\tif (!isClient) return;\n\t\tpromise.value = new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tconst _target = toValue(target);\n\t\t\t\tif (_target == null) resolve(\"\");\n\t\t\t\telse if (typeof _target === \"string\") resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n\t\t\t\telse if (_target instanceof Blob) resolve(blobToBase64(_target));\n\t\t\t\telse if (_target instanceof ArrayBuffer) resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n\t\t\t\telse if (_target instanceof HTMLCanvasElement) resolve(_target.toDataURL(options === null || options === void 0 ? void 0 : options.type, options === null || options === void 0 ? void 0 : options.quality));\n\t\t\t\telse if (_target instanceof HTMLImageElement) {\n\t\t\t\t\tconst img = _target.cloneNode(false);\n\t\t\t\t\timg.crossOrigin = \"Anonymous\";\n\t\t\t\t\timgLoaded(img).then(() => {\n\t\t\t\t\t\tconst canvas = document.createElement(\"canvas\");\n\t\t\t\t\t\tconst ctx = canvas.getContext(\"2d\");\n\t\t\t\t\t\tcanvas.width = img.width;\n\t\t\t\t\t\tcanvas.height = img.height;\n\t\t\t\t\t\tctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n\t\t\t\t\t\tresolve(canvas.toDataURL(options === null || options === void 0 ? void 0 : options.type, options === null || options === void 0 ? void 0 : options.quality));\n\t\t\t\t\t}).catch(reject);\n\t\t\t\t} else if (typeof _target === \"object\") {\n\t\t\t\t\tconst serialized = ((options === null || options === void 0 ? void 0 : options.serializer) || getDefaultSerialization(_target))(_target);\n\t\t\t\t\treturn resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n\t\t\t\t} else reject(/* @__PURE__ */ new Error(\"target is unsupported types\"));\n\t\t\t} catch (error) {\n\t\t\t\treject(error);\n\t\t\t}\n\t\t});\n\t\tpromise.value.then((res) => {\n\t\t\tbase64.value = (options === null || options === void 0 ? void 0 : options.dataUrl) === false ? res.replace(/^data:.*?;base64,/, \"\") : res;\n\t\t});\n\t\treturn promise.value;\n\t}\n\tif (isRef(target) || typeof target === \"function\") watch(target, execute, { immediate: true });\n\telse execute();\n\treturn {\n\t\tbase64,\n\t\tpromise,\n\t\texecute\n\t};\n}\nfunction imgLoaded(img) {\n\treturn new Promise((resolve, reject) => {\n\t\tif (!img.complete) {\n\t\t\timg.onload = () => {\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\timg.onerror = reject;\n\t\t} else resolve();\n\t});\n}\nfunction blobToBase64(blob) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst fr = new FileReader();\n\t\tfr.onload = (e) => {\n\t\t\tresolve(e.target.result);\n\t\t};\n\t\tfr.onerror = reject;\n\t\tfr.readAsDataURL(blob);\n\t});\n}\n//#endregion\n//#region useBattery/index.ts\n/**\n* Reactive Battery Status API.\n*\n* @see https://vueuse.org/useBattery\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useBattery(options = {}) {\n\tconst { navigator = defaultNavigator } = options;\n\tconst events = [\n\t\t\"chargingchange\",\n\t\t\"chargingtimechange\",\n\t\t\"dischargingtimechange\",\n\t\t\"levelchange\"\n\t];\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n\tconst charging = shallowRef(false);\n\tconst chargingTime = shallowRef(0);\n\tconst dischargingTime = shallowRef(0);\n\tconst level = shallowRef(1);\n\tlet battery;\n\tfunction updateBatteryInfo() {\n\t\tcharging.value = this.charging;\n\t\tchargingTime.value = this.chargingTime || 0;\n\t\tdischargingTime.value = this.dischargingTime || 0;\n\t\tlevel.value = this.level;\n\t}\n\tif (isSupported.value) navigator.getBattery().then((_battery) => {\n\t\tbattery = _battery;\n\t\tupdateBatteryInfo.call(battery);\n\t\tuseEventListener(battery, events, updateBatteryInfo, { passive: true });\n\t});\n\treturn {\n\t\tisSupported,\n\t\tcharging,\n\t\tchargingTime,\n\t\tdischargingTime,\n\t\tlevel\n\t};\n}\n//#endregion\n//#region useBluetooth/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useBluetooth(options) {\n\tlet { acceptAllDevices = false } = options || {};\n\tconst { filters = void 0, optionalServices = void 0, navigator = defaultNavigator } = options || {};\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"bluetooth\" in navigator);\n\tconst device = shallowRef();\n\tconst error = shallowRef(null);\n\twatch(device, () => {\n\t\tconnectToBluetoothGATTServer();\n\t});\n\tasync function requestDevice() {\n\t\tif (!isSupported.value) return;\n\t\terror.value = null;\n\t\tif (filters && filters.length > 0) acceptAllDevices = false;\n\t\ttry {\n\t\t\tdevice.value = await (navigator === null || navigator === void 0 ? void 0 : navigator.bluetooth.requestDevice({\n\t\t\t\tacceptAllDevices,\n\t\t\t\tfilters,\n\t\t\t\toptionalServices\n\t\t\t}));\n\t\t} catch (err) {\n\t\t\terror.value = err;\n\t\t}\n\t}\n\tconst server = shallowRef();\n\tconst isConnected = shallowRef(false);\n\tfunction reset() {\n\t\tisConnected.value = false;\n\t\tdevice.value = void 0;\n\t\tserver.value = void 0;\n\t}\n\tasync function connectToBluetoothGATTServer() {\n\t\terror.value = null;\n\t\tif (device.value && device.value.gatt) {\n\t\t\tuseEventListener(device, \"gattserverdisconnected\", reset, { passive: true });\n\t\t\ttry {\n\t\t\t\tserver.value = await device.value.gatt.connect();\n\t\t\t\tisConnected.value = server.value.connected;\n\t\t\t} catch (err) {\n\t\t\t\terror.value = err;\n\t\t\t}\n\t\t}\n\t}\n\ttryOnMounted(() => {\n\t\tvar _device$value$gatt;\n\t\tif (device.value) (_device$value$gatt = device.value.gatt) === null || _device$value$gatt === void 0 || _device$value$gatt.connect();\n\t});\n\ttryOnScopeDispose(() => {\n\t\tvar _device$value$gatt2;\n\t\tif (device.value) (_device$value$gatt2 = device.value.gatt) === null || _device$value$gatt2 === void 0 || _device$value$gatt2.disconnect();\n\t});\n\treturn {\n\t\tisSupported,\n\t\tisConnected: shallowReadonly(isConnected),\n\t\tdevice,\n\t\trequestDevice,\n\t\tserver,\n\t\terror\n\t};\n}\n//#endregion\n//#region useSSRWidth/index.ts\nconst ssrWidthSymbol = Symbol(\"vueuse-ssr-width\");\n/* @__NO_SIDE_EFFECTS__ */\nfunction useSSRWidth() {\n\tconst ssrWidth = hasInjectionContext() ? injectLocal(ssrWidthSymbol, null) : null;\n\treturn typeof ssrWidth === \"number\" ? ssrWidth : void 0;\n}\nfunction provideSSRWidth(width, app) {\n\tif (app !== void 0) app.provide(ssrWidthSymbol, width);\n\telse provideLocal(ssrWidthSymbol, width);\n}\n//#endregion\n//#region useMediaQuery/index.ts\n/**\n* Reactive Media Query.\n*\n* @see https://vueuse.org/useMediaQuery\n* @param query\n* @param options\n*/\nfunction useMediaQuery(query, options = {}) {\n\tconst { window = defaultWindow, ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n\tconst ssrSupport = shallowRef(typeof ssrWidth === \"number\");\n\tconst mediaQuery = shallowRef();\n\tconst matches = shallowRef(false);\n\tconst handler = (event) => {\n\t\tmatches.value = event.matches;\n\t};\n\twatchEffect(() => {\n\t\tif (ssrSupport.value) {\n\t\t\tssrSupport.value = !isSupported.value;\n\t\t\tmatches.value = toValue(query).split(\",\").some((queryString) => {\n\t\t\t\tconst not = queryString.includes(\"not all\");\n\t\t\t\tconst minWidth = queryString.match(/\\(\\s*min-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n\t\t\t\tconst maxWidth = queryString.match(/\\(\\s*max-width:\\s*(-?\\d+(?:\\.\\d*)?[a-z]+\\s*)\\)/);\n\t\t\t\tlet res = Boolean(minWidth || maxWidth);\n\t\t\t\tif (minWidth && res) res = ssrWidth >= pxValue(minWidth[1]);\n\t\t\t\tif (maxWidth && res) res = ssrWidth <= pxValue(maxWidth[1]);\n\t\t\t\treturn not ? !res : res;\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (!isSupported.value) return;\n\t\tmediaQuery.value = window.matchMedia(toValue(query));\n\t\tmatches.value = mediaQuery.value.matches;\n\t});\n\tuseEventListener(mediaQuery, \"change\", handler, { passive: true });\n\treturn computed(() => matches.value);\n}\n//#endregion\n//#region useBreakpoints/breakpoints.ts\n/**\n* Breakpoints from Tailwind V2\n*\n* @see https://tailwindcss.com/docs/breakpoints\n*/\nconst breakpointsTailwind = {\n\t\"sm\": 640,\n\t\"md\": 768,\n\t\"lg\": 1024,\n\t\"xl\": 1280,\n\t\"2xl\": 1536\n};\n/**\n* Breakpoints from Bootstrap V5\n*\n* @see https://getbootstrap.com/docs/5.0/layout/breakpoints\n*/\nconst breakpointsBootstrapV5 = {\n\txs: 0,\n\tsm: 576,\n\tmd: 768,\n\tlg: 992,\n\txl: 1200,\n\txxl: 1400\n};\n/**\n* Breakpoints from Vuetify V2\n*\n* @see https://v2.vuetifyjs.com/en/features/breakpoints/\n*/\nconst breakpointsVuetifyV2 = {\n\txs: 0,\n\tsm: 600,\n\tmd: 960,\n\tlg: 1264,\n\txl: 1904\n};\n/**\n* Breakpoints from Vuetify V3\n*\n* @see https://vuetifyjs.com/en/styles/float/#overview\n*/\nconst breakpointsVuetifyV3 = {\n\txs: 0,\n\tsm: 600,\n\tmd: 960,\n\tlg: 1280,\n\txl: 1920,\n\txxl: 2560\n};\n/**\n* Alias to `breakpointsVuetifyV2`\n*\n* @deprecated explictly use `breakpointsVuetifyV2` or `breakpointsVuetifyV3` instead\n*/\nconst breakpointsVuetify = breakpointsVuetifyV2;\n/**\n* Breakpoints from Ant Design\n*\n* @see https://ant.design/components/layout/#breakpoint-width\n*/\nconst breakpointsAntDesign = {\n\txs: 480,\n\tsm: 576,\n\tmd: 768,\n\tlg: 992,\n\txl: 1200,\n\txxl: 1600\n};\n/**\n* Breakpoints from Quasar V2\n*\n* @see https://quasar.dev/style/breakpoints\n*/\nconst breakpointsQuasar = {\n\txs: 0,\n\tsm: 600,\n\tmd: 1024,\n\tlg: 1440,\n\txl: 1920\n};\n/**\n* Sematic Breakpoints\n*/\nconst breakpointsSematic = {\n\tmobileS: 320,\n\tmobileM: 375,\n\tmobileL: 425,\n\ttablet: 768,\n\tlaptop: 1024,\n\tlaptopL: 1440,\n\tdesktop4K: 2560\n};\n/**\n* Breakpoints from Master CSS\n*\n* @see https://docs.master.co/css/breakpoints\n*/\nconst breakpointsMasterCss = {\n\t\"3xs\": 360,\n\t\"2xs\": 480,\n\t\"xs\": 600,\n\t\"sm\": 768,\n\t\"md\": 1024,\n\t\"lg\": 1280,\n\t\"xl\": 1440,\n\t\"2xl\": 1600,\n\t\"3xl\": 1920,\n\t\"4xl\": 2560\n};\n/**\n* Breakpoints from PrimeFlex\n*\n* @see https://primeflex.org/installation\n*/\nconst breakpointsPrimeFlex = {\n\tsm: 576,\n\tmd: 768,\n\tlg: 992,\n\txl: 1200\n};\n/**\n* Breakpoints from ElementUI/ElementPlus\n*\n* @see https://element.eleme.io/#/en-US/component/layout\n* @see https://element-plus.org/en-US/component/layout.html\n*/\nconst breakpointsElement = {\n\txs: 0,\n\tsm: 768,\n\tmd: 992,\n\tlg: 1200,\n\txl: 1920\n};\n//#endregion\n//#region useBreakpoints/index.ts\n/**\n* Reactively viewport breakpoints\n*\n* @see https://vueuse.org/useBreakpoints\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useBreakpoints(breakpoints, options = {}) {\n\tfunction getValue(k, delta) {\n\t\tlet v = toValue(breakpoints[toValue(k)]);\n\t\tif (delta != null) v = increaseWithUnit(v, delta);\n\t\tif (typeof v === \"number\") v = `${v}px`;\n\t\treturn v;\n\t}\n\tconst { window = defaultWindow, strategy = \"min-width\", ssrWidth = /* @__PURE__ */ useSSRWidth() } = options;\n\tconst ssrSupport = typeof ssrWidth === \"number\";\n\tconst mounted = ssrSupport ? shallowRef(false) : { value: true };\n\tif (ssrSupport) tryOnMounted(() => mounted.value = !!window);\n\tfunction match(query, size) {\n\t\tif (!mounted.value && ssrSupport) return query === \"min\" ? ssrWidth >= pxValue(size) : ssrWidth <= pxValue(size);\n\t\tif (!window) return false;\n\t\treturn window.matchMedia(`(${query}-width: ${size})`).matches;\n\t}\n\tconst greaterOrEqual = (k) => {\n\t\treturn useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n\t};\n\tconst smallerOrEqual = (k) => {\n\t\treturn useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n\t};\n\tconst shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n\t\tObject.defineProperty(shortcuts, k, {\n\t\t\tget: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true\n\t\t});\n\t\treturn shortcuts;\n\t}, {});\n\tfunction current() {\n\t\tconst points = Object.keys(breakpoints).map((k) => [\n\t\t\tk,\n\t\t\tshortcutMethods[k],\n\t\t\tpxValue(getValue(k))\n\t\t]).sort((a, b) => a[2] - b[2]);\n\t\treturn computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n\t}\n\treturn Object.assign(shortcutMethods, {\n\t\tgreaterOrEqual,\n\t\tsmallerOrEqual,\n\t\tgreater(k) {\n\t\t\treturn useMediaQuery(() => `(min-width: ${getValue(k, .1)})`, options);\n\t\t},\n\t\tsmaller(k) {\n\t\t\treturn useMediaQuery(() => `(max-width: ${getValue(k, -.1)})`, options);\n\t\t},\n\t\tbetween(a, b) {\n\t\t\treturn useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -.1)})`, options);\n\t\t},\n\t\tisGreater(k) {\n\t\t\treturn match(\"min\", getValue(k, .1));\n\t\t},\n\t\tisGreaterOrEqual(k) {\n\t\t\treturn match(\"min\", getValue(k));\n\t\t},\n\t\tisSmaller(k) {\n\t\t\treturn match(\"max\", getValue(k, -.1));\n\t\t},\n\t\tisSmallerOrEqual(k) {\n\t\t\treturn match(\"max\", getValue(k));\n\t\t},\n\t\tisInBetween(a, b) {\n\t\t\treturn match(\"min\", getValue(a)) && match(\"max\", getValue(b, -.1));\n\t\t},\n\t\tcurrent,\n\t\tactive() {\n\t\t\tconst bps = current();\n\t\t\treturn computed(() => bps.value.length === 0 ? \"\" : bps.value.at(strategy === \"min-width\" ? -1 : 0));\n\t\t}\n\t});\n}\n//#endregion\n//#region useBroadcastChannel/index.ts\n/**\n* Reactive BroadcastChannel\n*\n* @see https://vueuse.org/useBroadcastChannel\n* @see https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel\n* @param options\n*\n*/\nfunction useBroadcastChannel(options) {\n\tconst { name, window = defaultWindow } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"BroadcastChannel\" in window);\n\tconst isClosed = shallowRef(false);\n\tconst channel = shallowRef();\n\tconst data = shallowRef();\n\tconst error = shallowRef(null);\n\tconst post = (data) => {\n\t\tif (channel.value) channel.value.postMessage(data);\n\t};\n\tconst close = () => {\n\t\tif (channel.value) channel.value.close();\n\t\tisClosed.value = true;\n\t};\n\tif (isSupported.value) tryOnMounted(() => {\n\t\terror.value = null;\n\t\tchannel.value = new BroadcastChannel(name);\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(channel, \"message\", (e) => {\n\t\t\tdata.value = e.data;\n\t\t}, listenerOptions);\n\t\tuseEventListener(channel, \"messageerror\", (e) => {\n\t\t\terror.value = e;\n\t\t}, listenerOptions);\n\t\tuseEventListener(channel, \"close\", () => {\n\t\t\tisClosed.value = true;\n\t\t}, listenerOptions);\n\t});\n\ttryOnScopeDispose(() => {\n\t\tclose();\n\t});\n\treturn {\n\t\tisSupported,\n\t\tchannel,\n\t\tdata,\n\t\tpost,\n\t\tclose,\n\t\terror,\n\t\tisClosed\n\t};\n}\n//#endregion\n//#region useBrowserLocation/index.ts\nconst WRITABLE_PROPERTIES = [\n\t\"hash\",\n\t\"host\",\n\t\"hostname\",\n\t\"href\",\n\t\"pathname\",\n\t\"port\",\n\t\"protocol\",\n\t\"search\"\n];\n/**\n* Reactive browser location.\n*\n* @see https://vueuse.org/useBrowserLocation\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useBrowserLocation(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst refs = Object.fromEntries(WRITABLE_PROPERTIES.map((key) => [key, ref()]));\n\tfor (const [key, ref] of objectEntries(refs)) watch(ref, (value) => {\n\t\tif (!(window === null || window === void 0 ? void 0 : window.location) || window.location[key] === value) return;\n\t\twindow.location[key] = value;\n\t});\n\tconst buildState = (trigger) => {\n\t\tvar _window$location;\n\t\tconst { state, length } = (window === null || window === void 0 ? void 0 : window.history) || {};\n\t\tconst { origin } = (window === null || window === void 0 ? void 0 : window.location) || {};\n\t\tfor (const key of WRITABLE_PROPERTIES) refs[key].value = window === null || window === void 0 || (_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location[key];\n\t\treturn reactive({\n\t\t\ttrigger,\n\t\t\tstate,\n\t\t\tlength,\n\t\t\torigin,\n\t\t\t...refs\n\t\t});\n\t};\n\tconst state = ref(buildState(\"load\"));\n\tif (window) {\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), listenerOptions);\n\t\tuseEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), listenerOptions);\n\t}\n\treturn state;\n}\n//#endregion\n//#region useCached/index.ts\nfunction useCached(refValue, comparator = (newSourceValue, cachedValue) => newSourceValue === cachedValue, options) {\n\tconst { deepRefs = true, ...watchOptions } = options || {};\n\tconst cachedValue = createRef(refValue.value, deepRefs);\n\twatch(() => refValue.value, (value) => {\n\t\tif (!comparator(value, cachedValue.value)) cachedValue.value = value;\n\t}, watchOptions);\n\treturn cachedValue;\n}\n//#endregion\n//#region usePermission/index.ts\n/**\n* Reactive Permissions API.\n*\n* @see https://vueuse.org/usePermission\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePermission(permissionDesc, options = {}) {\n\tconst { controls = false, navigator = defaultNavigator } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"permissions\" in navigator);\n\tconst permissionStatus = shallowRef();\n\tconst desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n\tconst state = shallowRef();\n\tconst update = () => {\n\t\tvar _permissionStatus$val, _permissionStatus$val2;\n\t\tstate.value = (_permissionStatus$val = (_permissionStatus$val2 = permissionStatus.value) === null || _permissionStatus$val2 === void 0 ? void 0 : _permissionStatus$val2.state) !== null && _permissionStatus$val !== void 0 ? _permissionStatus$val : \"prompt\";\n\t};\n\tuseEventListener(permissionStatus, \"change\", update, { passive: true });\n\tconst query = createSingletonPromise(async () => {\n\t\tif (!isSupported.value) return;\n\t\tif (!permissionStatus.value) try {\n\t\t\tpermissionStatus.value = await navigator.permissions.query(desc);\n\t\t} catch (_unused) {\n\t\t\tpermissionStatus.value = void 0;\n\t\t} finally {\n\t\t\tupdate();\n\t\t}\n\t\tif (controls) return toRaw(permissionStatus.value);\n\t});\n\tquery();\n\tif (controls) return {\n\t\tstate,\n\t\tisSupported,\n\t\tquery\n\t};\n\telse return state;\n}\n//#endregion\n//#region useClipboard/index.ts\nfunction useClipboard(options = {}) {\n\tconst { navigator = defaultNavigator, read = false, source, copiedDuring = 1500, legacy = false } = options;\n\tconst isClipboardApiSupported = /* @__PURE__ */ useSupported(() => navigator && \"clipboard\" in navigator);\n\tconst permissionRead = usePermission(\"clipboard-read\");\n\tconst permissionWrite = usePermission(\"clipboard-write\");\n\tconst isSupported = computed(() => isClipboardApiSupported.value || legacy);\n\tconst text = shallowRef(\"\");\n\tconst copied = shallowRef(false);\n\tconst copyPending = shallowRef(false);\n\tconst timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false });\n\tlet lastLegacyId = 0;\n\tasync function updateText() {\n\t\tlet useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionRead.value));\n\t\tif (!useLegacy) try {\n\t\t\ttext.value = await navigator.clipboard.readText();\n\t\t} catch (_unused) {\n\t\t\tuseLegacy = true;\n\t\t}\n\t\tif (useLegacy) text.value = legacyRead();\n\t}\n\tif (isSupported.value && read) useEventListener([\"copy\", \"cut\"], updateText, { passive: true });\n\tasync function copy(value) {\n\t\tconst resolvedValue = value !== null && value !== void 0 ? value : toValue(source);\n\t\tif (isSupported.value && resolvedValue != null) {\n\t\t\tcopyPending.value = true;\n\t\t\tlet useLegacy = !(isClipboardApiSupported.value && isAllowed(permissionWrite.value));\n\t\t\tif (!useLegacy) try {\n\t\t\t\tconst clipboardItem = createClipboardItem(resolvedValue);\n\t\t\t\tawait navigator.clipboard.write([clipboardItem]);\n\t\t\t} catch (_unused2) {\n\t\t\t\tuseLegacy = true;\n\t\t\t}\n\t\t\tif (useLegacy) if (typeof resolvedValue === \"string\") {\n\t\t\t\ttext.value = resolvedValue;\n\t\t\t\tlegacyCopy(resolvedValue);\n\t\t\t} else {\n\t\t\t\tconst currentId = ++lastLegacyId;\n\t\t\t\tconst resolvedText = await resolvedValue();\n\t\t\t\tif (resolvedText != null && currentId === lastLegacyId) {\n\t\t\t\t\ttext.value = resolvedText;\n\t\t\t\t\tlegacyCopy(resolvedText);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcopied.value = true;\n\t\t\ttimeout.start();\n\t\t\tcopyPending.value = false;\n\t\t}\n\t}\n\tfunction createClipboardItem(value) {\n\t\tif (typeof value === \"string\") {\n\t\t\ttext.value = value;\n\t\t\treturn new ClipboardItem({ \"text/plain\": value });\n\t\t} else return new ClipboardItem({ \"text/plain\": value().then((resolvedText = \"\") => {\n\t\t\ttext.value = resolvedText;\n\t\t\treturn new Blob([resolvedText], { type: \"text/plain\" });\n\t\t}) });\n\t}\n\tfunction legacyCopy(value) {\n\t\tconst ta = document.createElement(\"textarea\");\n\t\tta.value = value;\n\t\tta.style.position = \"absolute\";\n\t\tta.style.opacity = \"0\";\n\t\tta.setAttribute(\"readonly\", \"\");\n\t\tdocument.body.appendChild(ta);\n\t\tta.select();\n\t\tdocument.execCommand(\"copy\");\n\t\tta.remove();\n\t}\n\tfunction legacyRead() {\n\t\tvar _document$getSelectio, _document, _document$getSelectio2;\n\t\treturn (_document$getSelectio = (_document = document) === null || _document === void 0 || (_document$getSelectio2 = _document.getSelection) === null || _document$getSelectio2 === void 0 || (_document$getSelectio2 = _document$getSelectio2.call(_document)) === null || _document$getSelectio2 === void 0 ? void 0 : _document$getSelectio2.toString()) !== null && _document$getSelectio !== void 0 ? _document$getSelectio : \"\";\n\t}\n\tfunction isAllowed(status) {\n\t\treturn status === \"granted\" || status === \"prompt\";\n\t}\n\treturn {\n\t\tcopyPending: shallowReadonly(copyPending),\n\t\tisSupported,\n\t\ttext: shallowReadonly(text),\n\t\tcopied: shallowReadonly(copied),\n\t\tcopy\n\t};\n}\n//#endregion\n//#region useClipboardItems/index.ts\nfunction useClipboardItems(options = {}) {\n\tconst { navigator = defaultNavigator, read = false, source, copiedDuring = 1500 } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"clipboard\" in navigator);\n\tconst content = shallowRef([]);\n\tconst copied = shallowRef(false);\n\tconst timeout = useTimeoutFn(() => copied.value = false, copiedDuring, { immediate: false });\n\tfunction updateContent() {\n\t\tif (isSupported.value) navigator.clipboard.read().then((items) => {\n\t\t\tcontent.value = items;\n\t\t});\n\t}\n\tif (isSupported.value && read) useEventListener([\"copy\", \"cut\"], updateContent, { passive: true });\n\tasync function copy(value = toValue(source)) {\n\t\tif (isSupported.value && value != null) {\n\t\t\tawait navigator.clipboard.write(value);\n\t\t\tcontent.value = value;\n\t\t\tcopied.value = true;\n\t\t\ttimeout.start();\n\t\t}\n\t}\n\treturn {\n\t\tisSupported,\n\t\tcontent: shallowReadonly(content),\n\t\tcopied: shallowReadonly(copied),\n\t\tcopy,\n\t\tread: updateContent\n\t};\n}\n//#endregion\n//#region useCloned/index.ts\nfunction cloneFnJSON(source) {\n\treturn JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n\tconst cloned = ref({});\n\tconst isModified = shallowRef(false);\n\tlet _lastSync = false;\n\tconst { manual, clone = cloneFnJSON, deep = true, immediate = true } = options;\n\twatch(cloned, () => {\n\t\tif (_lastSync) {\n\t\t\t_lastSync = false;\n\t\t\treturn;\n\t\t}\n\t\tisModified.value = true;\n\t}, {\n\t\tdeep: true,\n\t\tflush: \"sync\"\n\t});\n\tfunction sync() {\n\t\t_lastSync = true;\n\t\tisModified.value = false;\n\t\tcloned.value = clone(toValue(source));\n\t}\n\tif (!manual && (isRef(source) || typeof source === \"function\")) watch(source, sync, {\n\t\t...options,\n\t\tdeep,\n\t\timmediate\n\t});\n\telse sync();\n\treturn {\n\t\tcloned,\n\t\tisModified,\n\t\tsync\n\t};\n}\n//#endregion\n//#region ssr-handlers.ts\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n\tif (!(globalKey in _global)) _global[globalKey] = _global[globalKey] || {};\n\treturn _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n\treturn handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n\thandlers[key] = fn;\n}\n//#endregion\n//#region usePreferredDark/index.ts\n/**\n* Reactive dark theme preference.\n*\n* @see https://vueuse.org/usePreferredDark\n* @param [options]\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredDark(options) {\n\treturn useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n//#endregion\n//#region useStorage/guess.ts\nfunction guessSerializerType(rawInit) {\n\treturn rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n//#endregion\n//#region useStorage/index.ts\nconst StorageSerializers = {\n\tboolean: {\n\t\tread: (v) => v === \"true\",\n\t\twrite: (v) => String(v)\n\t},\n\tobject: {\n\t\tread: (v) => JSON.parse(v),\n\t\twrite: (v) => JSON.stringify(v)\n\t},\n\tnumber: {\n\t\tread: (v) => Number.parseFloat(v),\n\t\twrite: (v) => String(v)\n\t},\n\tany: {\n\t\tread: (v) => v,\n\t\twrite: (v) => String(v)\n\t},\n\tstring: {\n\t\tread: (v) => v,\n\t\twrite: (v) => String(v)\n\t},\n\tmap: {\n\t\tread: (v) => new Map(JSON.parse(v)),\n\t\twrite: (v) => JSON.stringify(Array.from(v.entries()))\n\t},\n\tset: {\n\t\tread: (v) => new Set(JSON.parse(v)),\n\t\twrite: (v) => JSON.stringify(Array.from(v))\n\t},\n\tdate: {\n\t\tread: (v) => new Date(v),\n\t\twrite: (v) => v.toISOString()\n\t}\n};\nconst customStorageEventName = \"vueuse-storage\";\n/**\n* Reactive LocalStorage/SessionStorage.\n*\n* @see https://vueuse.org/useStorage\n*/\nfunction useStorage(key, defaults, storage, options = {}) {\n\tvar _options$serializer;\n\tconst { flush = \"pre\", deep = true, listenToStorageChanges = true, writeDefaults = true, mergeDefaults = false, shallow, window = defaultWindow, eventFilter, onError = (e) => {\n\t\tconsole.error(e);\n\t}, initOnMounted } = options;\n\tconst data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n\tconst keyComputed = computed(() => toValue(key));\n\tif (!storage) try {\n\t\tstorage = getSSRHandler(\"getDefaultStorage\", () => defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.localStorage)();\n\t} catch (e) {\n\t\tonError(e);\n\t}\n\tif (!storage) return data;\n\tconst rawInit = toValue(defaults);\n\tconst type = guessSerializerType(rawInit);\n\tconst serializer = (_options$serializer = options.serializer) !== null && _options$serializer !== void 0 ? _options$serializer : StorageSerializers[type];\n\tconst { pause: pauseWatch, resume: resumeWatch } = watchPausable(data, (newValue) => write(newValue), {\n\t\tflush,\n\t\tdeep,\n\t\teventFilter\n\t});\n\twatch(keyComputed, () => update(), { flush });\n\tlet firstMounted = false;\n\tconst onStorageEvent = (ev) => {\n\t\tif (initOnMounted && !firstMounted) return;\n\t\tupdate(ev);\n\t};\n\tconst onStorageCustomEvent = (ev) => {\n\t\tif (initOnMounted && !firstMounted) return;\n\t\tupdateFromCustomEvent(ev);\n\t};\n\t/**\n\t* The custom event is needed for same-document syncing when using custom\n\t* storage backends, but it doesn't work across different documents.\n\t*\n\t* TODO: Consider implementing a BroadcastChannel-based solution that fixes this.\n\t*/\n\tif (window && listenToStorageChanges) if (storage instanceof Storage) useEventListener(window, \"storage\", onStorageEvent, { passive: true });\n\telse useEventListener(window, customStorageEventName, onStorageCustomEvent);\n\tif (initOnMounted) tryOnMounted(() => {\n\t\tfirstMounted = true;\n\t\tupdate();\n\t});\n\telse update();\n\tfunction dispatchWriteEvent(oldValue, newValue) {\n\t\tif (window) {\n\t\t\tconst payload = {\n\t\t\t\tkey: keyComputed.value,\n\t\t\t\toldValue,\n\t\t\t\tnewValue,\n\t\t\t\tstorageArea: storage\n\t\t\t};\n\t\t\twindow.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, { detail: payload }));\n\t\t}\n\t}\n\tfunction write(v) {\n\t\ttry {\n\t\t\tconst oldValue = storage.getItem(keyComputed.value);\n\t\t\tif (v == null) {\n\t\t\t\tdispatchWriteEvent(oldValue, null);\n\t\t\t\tstorage.removeItem(keyComputed.value);\n\t\t\t} else {\n\t\t\t\tconst serialized = serializer.write(v);\n\t\t\t\tif (oldValue !== serialized) {\n\t\t\t\t\tstorage.setItem(keyComputed.value, serialized);\n\t\t\t\t\tdispatchWriteEvent(oldValue, serialized);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t}\n\tfunction read(event) {\n\t\tconst rawValue = event ? event.newValue : storage.getItem(keyComputed.value);\n\t\tif (rawValue == null) {\n\t\t\tif (writeDefaults && rawInit != null) storage.setItem(keyComputed.value, serializer.write(rawInit));\n\t\t\treturn rawInit;\n\t\t} else if (!event && mergeDefaults) {\n\t\t\tconst value = serializer.read(rawValue);\n\t\t\tif (typeof mergeDefaults === \"function\") return mergeDefaults(value, rawInit);\n\t\t\telse if (type === \"object\" && !Array.isArray(value)) return {\n\t\t\t\t...rawInit,\n\t\t\t\t...value\n\t\t\t};\n\t\t\treturn value;\n\t\t} else if (typeof rawValue !== \"string\") return rawValue;\n\t\telse return serializer.read(rawValue);\n\t}\n\tfunction update(event) {\n\t\tif (event && event.storageArea !== storage) return;\n\t\tif (event && event.key == null) {\n\t\t\tdata.value = rawInit;\n\t\t\treturn;\n\t\t}\n\t\tif (event && event.key !== keyComputed.value) return;\n\t\tpauseWatch();\n\t\ttry {\n\t\t\tconst serializedData = serializer.write(data.value);\n\t\t\tif (event === void 0 || (event === null || event === void 0 ? void 0 : event.newValue) !== serializedData) data.value = read(event);\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t} finally {\n\t\t\tif (event) nextTick(resumeWatch);\n\t\t\telse resumeWatch();\n\t\t}\n\t}\n\tfunction updateFromCustomEvent(event) {\n\t\tupdate(event.detail);\n\t}\n\treturn data;\n}\n//#endregion\n//#region useColorMode/index.ts\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\n/**\n* Reactive color mode with auto data persistence.\n*\n* @see https://vueuse.org/useColorMode\n* @param options\n*/\nfunction useColorMode(options = {}) {\n\tconst { selector = \"html\", attribute = \"class\", initialValue = \"auto\", window = defaultWindow, storage, storageKey = \"vueuse-color-scheme\", listenToStorageChanges = true, storageRef, emitAuto, disableTransition = true } = options;\n\tconst modes = {\n\t\tauto: \"\",\n\t\tlight: \"light\",\n\t\tdark: \"dark\",\n\t\t...options.modes || {}\n\t};\n\tconst preferredDark = usePreferredDark({ window });\n\tconst system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n\tconst store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, {\n\t\twindow,\n\t\tlistenToStorageChanges\n\t}));\n\tconst state = computed(() => store.value === \"auto\" ? system.value : store.value);\n\tconst updateHTMLAttrs = getSSRHandler(\"updateHTMLAttrs\", (selector, attribute, value) => {\n\t\tconst el = typeof selector === \"string\" ? window === null || window === void 0 ? void 0 : window.document.querySelector(selector) : unrefElement(selector);\n\t\tif (!el) return;\n\t\tconst classesToAdd = /* @__PURE__ */ new Set();\n\t\tconst classesToRemove = /* @__PURE__ */ new Set();\n\t\tlet attributeToChange = null;\n\t\tif (attribute === \"class\") {\n\t\t\tconst current = value.split(/\\s/g);\n\t\t\tObject.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n\t\t\t\tif (current.includes(v)) classesToAdd.add(v);\n\t\t\t\telse classesToRemove.add(v);\n\t\t\t});\n\t\t} else attributeToChange = {\n\t\t\tkey: attribute,\n\t\t\tvalue\n\t\t};\n\t\tif (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null) return;\n\t\tlet style;\n\t\tif (disableTransition) {\n\t\t\tstyle = window.document.createElement(\"style\");\n\t\t\tstyle.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n\t\t\twindow.document.head.appendChild(style);\n\t\t}\n\t\tfor (const c of classesToAdd) el.classList.add(c);\n\t\tfor (const c of classesToRemove) el.classList.remove(c);\n\t\tif (attributeToChange) el.setAttribute(attributeToChange.key, attributeToChange.value);\n\t\tif (disableTransition) {\n\t\t\twindow.getComputedStyle(style).opacity;\n\t\t\tdocument.head.removeChild(style);\n\t\t}\n\t});\n\tfunction defaultOnChanged(mode) {\n\t\tvar _modes$mode;\n\t\tupdateHTMLAttrs(selector, attribute, (_modes$mode = modes[mode]) !== null && _modes$mode !== void 0 ? _modes$mode : mode);\n\t}\n\tfunction onChanged(mode) {\n\t\tif (options.onChanged) options.onChanged(mode, defaultOnChanged);\n\t\telse defaultOnChanged(mode);\n\t}\n\twatch(state, onChanged, {\n\t\tflush: \"post\",\n\t\timmediate: true\n\t});\n\ttryOnMounted(() => onChanged(state.value));\n\tconst auto = computed({\n\t\tget() {\n\t\t\treturn emitAuto ? store.value : state.value;\n\t\t},\n\t\tset(v) {\n\t\t\tstore.value = v;\n\t\t}\n\t});\n\treturn Object.assign(auto, {\n\t\tstore,\n\t\tsystem,\n\t\tstate\n\t});\n}\n//#endregion\n//#region useConfirmDialog/index.ts\n/**\n* Hooks for creating confirm dialogs. Useful for modal windows, popups and logins.\n*\n* @see https://vueuse.org/useConfirmDialog/\n* @param revealed `boolean` `ref` that handles a modal window\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useConfirmDialog(revealed = shallowRef(false)) {\n\tconst confirmHook = createEventHook();\n\tconst cancelHook = createEventHook();\n\tconst revealHook = createEventHook();\n\tlet _resolve = noop;\n\tconst reveal = (data) => {\n\t\trevealHook.trigger(data);\n\t\trevealed.value = true;\n\t\treturn new Promise((resolve) => {\n\t\t\t_resolve = resolve;\n\t\t});\n\t};\n\tconst confirm = (data) => {\n\t\trevealed.value = false;\n\t\tconfirmHook.trigger(data);\n\t\t_resolve({\n\t\t\tdata,\n\t\t\tisCanceled: false\n\t\t});\n\t};\n\tconst cancel = (data) => {\n\t\trevealed.value = false;\n\t\tcancelHook.trigger(data);\n\t\t_resolve({\n\t\t\tdata,\n\t\t\tisCanceled: true\n\t\t});\n\t};\n\treturn {\n\t\tisRevealed: computed(() => revealed.value),\n\t\treveal,\n\t\tconfirm,\n\t\tcancel,\n\t\tonReveal: revealHook.on,\n\t\tonConfirm: confirmHook.on,\n\t\tonCancel: cancelHook.on\n\t};\n}\n//#endregion\n//#region useCountdown/index.ts\nfunction getDefaultScheduler$8(options) {\n\tif (\"interval\" in options || \"immediate\" in options) {\n\t\tconst { interval = 1e3, immediate = false } = options;\n\t\treturn (cb) => useIntervalFn(cb, interval, { immediate });\n\t}\n\treturn (cb) => useIntervalFn(cb, 1e3, { immediate: false });\n}\n/**\n* Reactive countdown timer in seconds.\n*\n* @param initialCountdown\n* @param options\n*\n* @see https://vueuse.org/useCountdown\n*/\nfunction useCountdown(initialCountdown, options = {}) {\n\tconst remaining = shallowRef(toValue(initialCountdown));\n\tconst { scheduler = getDefaultScheduler$8(options), onTick, onComplete } = options;\n\tconst controls = scheduler(() => {\n\t\tconst value = remaining.value - 1;\n\t\tremaining.value = value < 0 ? 0 : value;\n\t\tonTick === null || onTick === void 0 || onTick();\n\t\tif (remaining.value <= 0) {\n\t\t\tcontrols.pause();\n\t\t\tonComplete === null || onComplete === void 0 || onComplete();\n\t\t}\n\t});\n\tconst reset = (countdown) => {\n\t\tvar _toValue;\n\t\tremaining.value = (_toValue = toValue(countdown)) !== null && _toValue !== void 0 ? _toValue : toValue(initialCountdown);\n\t};\n\tconst stop = () => {\n\t\tcontrols.pause();\n\t\treset();\n\t};\n\tconst resume = () => {\n\t\tif (!controls.isActive.value) {\n\t\t\tif (remaining.value > 0) controls.resume();\n\t\t}\n\t};\n\tconst start = (countdown) => {\n\t\treset(countdown);\n\t\tcontrols.resume();\n\t};\n\treturn {\n\t\tremaining,\n\t\treset,\n\t\tstop,\n\t\tstart,\n\t\tpause: controls.pause,\n\t\tresume,\n\t\tisActive: controls.isActive\n\t};\n}\n//#endregion\n//#region useCssSupports/index.ts\nfunction useCssSupports(...args) {\n\tlet options = {};\n\tif (typeof toValue(args.at(-1)) === \"object\") options = args.pop();\n\tconst [prop, value] = args;\n\tconst { window = defaultWindow, ssrValue = false } = options;\n\tconst isMounted = useMounted();\n\treturn { isSupported: computed(() => {\n\t\tif (!isClient || !isMounted.value) return ssrValue;\n\t\treturn args.length === 2 ? window === null || window === void 0 ? void 0 : window.CSS.supports(toValue(prop), toValue(value)) : window === null || window === void 0 ? void 0 : window.CSS.supports(toValue(prop));\n\t}) };\n}\n//#endregion\n//#region useCssVar/index.ts\n/**\n* Manipulate CSS variables.\n*\n* @see https://vueuse.org/useCssVar\n* @param prop\n* @param target\n* @param options\n*/\nfunction useCssVar(prop, target, options = {}) {\n\tconst { window = defaultWindow, initialValue, observe = false } = options;\n\tconst variable = shallowRef(initialValue);\n\tconst elRef = computed(() => {\n\t\tvar _window$document;\n\t\treturn unrefElement(target) || (window === null || window === void 0 || (_window$document = window.document) === null || _window$document === void 0 ? void 0 : _window$document.documentElement);\n\t});\n\tfunction updateCssVar() {\n\t\tconst key = toValue(prop);\n\t\tconst el = toValue(elRef);\n\t\tif (el && window && key) {\n\t\t\tvar _window$getComputedSt;\n\t\t\tvariable.value = ((_window$getComputedSt = window.getComputedStyle(el).getPropertyValue(key)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.trim()) || variable.value || initialValue;\n\t\t}\n\t}\n\tif (observe) useMutationObserver(elRef, updateCssVar, {\n\t\tattributeFilter: [\"style\", \"class\"],\n\t\twindow\n\t});\n\twatch([elRef, () => toValue(prop)], (_, old) => {\n\t\tif (old[0] && old[1]) old[0].style.removeProperty(old[1]);\n\t\tupdateCssVar();\n\t}, { immediate: true });\n\twatch([variable, elRef], ([val, el]) => {\n\t\tconst raw_prop = toValue(prop);\n\t\tif ((el === null || el === void 0 ? void 0 : el.style) && raw_prop) if (val == null) el.style.removeProperty(raw_prop);\n\t\telse el.style.setProperty(raw_prop, val);\n\t}, { immediate: true });\n\treturn variable;\n}\n//#endregion\n//#region useCurrentElement/index.ts\nfunction useCurrentElement(rootComponent) {\n\tconst vm = getCurrentInstance();\n\tconst currentElement = computedWithControl(() => null, () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el);\n\tonUpdated(currentElement.trigger);\n\tonMounted(currentElement.trigger);\n\treturn currentElement;\n}\n//#endregion\n//#region useCycleList/index.ts\n/**\n* Cycle through a list of items\n*\n* @see https://vueuse.org/useCycleList\n*/\nfunction useCycleList(list, options) {\n\tconst state = shallowRef(getInitialValue());\n\tconst listRef = toRef(list);\n\tconst index = computed({\n\t\tget() {\n\t\t\tvar _options$fallbackInde;\n\t\t\tconst targetList = listRef.value;\n\t\t\tlet index = (options === null || options === void 0 ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n\t\t\tif (index < 0) index = (_options$fallbackInde = options === null || options === void 0 ? void 0 : options.fallbackIndex) !== null && _options$fallbackInde !== void 0 ? _options$fallbackInde : 0;\n\t\t\treturn index;\n\t\t},\n\t\tset(v) {\n\t\t\tset(v);\n\t\t}\n\t});\n\tfunction set(i) {\n\t\tconst targetList = listRef.value;\n\t\tconst length = targetList.length;\n\t\tconst value = targetList[(i % length + length) % length];\n\t\tstate.value = value;\n\t\treturn value;\n\t}\n\tfunction shift(delta = 1) {\n\t\treturn set(index.value + delta);\n\t}\n\tfunction next(n = 1) {\n\t\treturn shift(n);\n\t}\n\tfunction prev(n = 1) {\n\t\treturn shift(-n);\n\t}\n\tfunction getInitialValue() {\n\t\tvar _toValue, _options$initialValue;\n\t\treturn (_toValue = toValue((_options$initialValue = options === null || options === void 0 ? void 0 : options.initialValue) !== null && _options$initialValue !== void 0 ? _options$initialValue : toValue(list)[0])) !== null && _toValue !== void 0 ? _toValue : void 0;\n\t}\n\twatch(listRef, () => set(index.value));\n\treturn {\n\t\tstate,\n\t\tindex,\n\t\tnext,\n\t\tprev,\n\t\tgo: set\n\t};\n}\n//#endregion\n//#region useDark/index.ts\n/**\n* Reactive dark mode with auto data persistence.\n*\n* @see https://vueuse.org/useDark\n* @param options\n*/\nfunction useDark(options = {}) {\n\tconst { valueDark = \"dark\", valueLight = \"\" } = options;\n\tconst mode = useColorMode({\n\t\t...options,\n\t\tonChanged: (mode, defaultHandler) => {\n\t\t\tvar _options$onChanged;\n\t\t\tif (options.onChanged) (_options$onChanged = options.onChanged) === null || _options$onChanged === void 0 || _options$onChanged.call(options, mode === \"dark\", defaultHandler, mode);\n\t\t\telse defaultHandler(mode);\n\t\t},\n\t\tmodes: {\n\t\t\tdark: valueDark,\n\t\t\tlight: valueLight\n\t\t}\n\t});\n\tconst system = computed(() => mode.system.value);\n\treturn computed({\n\t\tget() {\n\t\t\treturn mode.value === \"dark\";\n\t\t},\n\t\tset(v) {\n\t\t\tconst modeVal = v ? \"dark\" : \"light\";\n\t\t\tif (system.value === modeVal) mode.value = \"auto\";\n\t\t\telse mode.value = modeVal;\n\t\t}\n\t});\n}\n//#endregion\n//#region useManualRefHistory/index.ts\nfunction fnBypass(v) {\n\treturn v;\n}\nfunction fnSetSource(source, value) {\n\treturn source.value = value;\n}\nfunction defaultDump(clone) {\n\treturn clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n\treturn clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\n/**\n* Track the change history of a ref, also provides undo and redo functionality.\n*\n* @see https://vueuse.org/useManualRefHistory\n* @param source\n* @param options\n*/\nfunction useManualRefHistory(source, options = {}) {\n\tconst { clone = false, dump = defaultDump(clone), parse = defaultParse(clone), setSource = fnSetSource } = options;\n\tfunction _createHistoryRecord() {\n\t\treturn markRaw({\n\t\t\tsnapshot: dump(source.value),\n\t\t\ttimestamp: timestamp()\n\t\t});\n\t}\n\tconst last = ref(_createHistoryRecord());\n\tconst undoStack = ref([]);\n\tconst redoStack = ref([]);\n\tconst _setSource = (record) => {\n\t\tsetSource(source, parse(record.snapshot));\n\t\tlast.value = record;\n\t};\n\tconst commit = () => {\n\t\tundoStack.value.unshift(last.value);\n\t\tlast.value = _createHistoryRecord();\n\t\tif (options.capacity && undoStack.value.length > options.capacity) undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n\t\tif (redoStack.value.length) redoStack.value.splice(0, redoStack.value.length);\n\t};\n\tconst clear = () => {\n\t\tundoStack.value.splice(0, undoStack.value.length);\n\t\tredoStack.value.splice(0, redoStack.value.length);\n\t};\n\tconst undo = () => {\n\t\tconst state = undoStack.value.shift();\n\t\tif (state) {\n\t\t\tredoStack.value.unshift(last.value);\n\t\t\t_setSource(state);\n\t\t}\n\t};\n\tconst redo = () => {\n\t\tconst state = redoStack.value.shift();\n\t\tif (state) {\n\t\t\tundoStack.value.unshift(last.value);\n\t\t\t_setSource(state);\n\t\t}\n\t};\n\tconst reset = () => {\n\t\t_setSource(last.value);\n\t};\n\treturn {\n\t\tsource,\n\t\tundoStack,\n\t\tredoStack,\n\t\tlast,\n\t\thistory: computed(() => [last.value, ...undoStack.value]),\n\t\tcanUndo: computed(() => undoStack.value.length > 0),\n\t\tcanRedo: computed(() => redoStack.value.length > 0),\n\t\tclear,\n\t\tcommit,\n\t\treset,\n\t\tundo,\n\t\tredo\n\t};\n}\n//#endregion\n//#region useRefHistory/index.ts\n/**\n* Track the change history of a ref, also provides undo and redo functionality.\n*\n* @see https://vueuse.org/useRefHistory\n* @param source\n* @param options\n*/\nfunction useRefHistory(source, options = {}) {\n\tconst { deep = false, flush = \"pre\", eventFilter, shouldCommit = () => true } = options;\n\tconst { eventFilter: composedFilter, pause, resume: resumeTracking, isActive: isTracking } = pausableFilter(eventFilter);\n\tlet lastRawValue = source.value;\n\tconst { ignoreUpdates, ignorePrevAsyncUpdates, stop } = watchIgnorable(source, commit, {\n\t\tdeep,\n\t\tflush,\n\t\teventFilter: composedFilter\n\t});\n\tfunction setSource(source, value) {\n\t\tignorePrevAsyncUpdates();\n\t\tignoreUpdates(() => {\n\t\t\tsource.value = value;\n\t\t\tlastRawValue = value;\n\t\t});\n\t}\n\tconst manualHistory = useManualRefHistory(source, {\n\t\t...options,\n\t\tclone: options.clone || deep,\n\t\tsetSource\n\t});\n\tconst { clear, commit: manualCommit } = manualHistory;\n\tfunction commit() {\n\t\tignorePrevAsyncUpdates();\n\t\tif (!shouldCommit(lastRawValue, source.value)) return;\n\t\tlastRawValue = source.value;\n\t\tmanualCommit();\n\t}\n\tfunction resume(commitNow) {\n\t\tresumeTracking();\n\t\tif (commitNow) commit();\n\t}\n\tfunction batch(fn) {\n\t\tlet canceled = false;\n\t\tconst cancel = () => canceled = true;\n\t\tignoreUpdates(() => {\n\t\t\tfn(cancel);\n\t\t});\n\t\tif (!canceled) commit();\n\t}\n\tfunction dispose() {\n\t\tstop();\n\t\tclear();\n\t}\n\treturn {\n\t\t...manualHistory,\n\t\tisTracking,\n\t\tpause,\n\t\tresume,\n\t\tcommit,\n\t\tbatch,\n\t\tdispose\n\t};\n}\n//#endregion\n//#region useDebouncedRefHistory/index.ts\n/**\n* Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with debounce filter.\n*\n* @see https://vueuse.org/useDebouncedRefHistory\n* @param source\n* @param options\n*/\nfunction useDebouncedRefHistory(source, options = {}) {\n\tconst filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n\treturn { ...useRefHistory(source, {\n\t\t...options,\n\t\teventFilter: filter\n\t}) };\n}\n//#endregion\n//#region useDeviceMotion/index.ts\n/**\n* Reactive DeviceMotionEvent.\n*\n* @see https://vueuse.org/useDeviceMotion\n* @param options\n*/\nfunction useDeviceMotion(options = {}) {\n\tconst { window = defaultWindow, requestPermissions = false, eventFilter = bypassFilter } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => typeof DeviceMotionEvent !== \"undefined\");\n\tconst requirePermissions = /* @__PURE__ */ useSupported(() => isSupported.value && \"requestPermission\" in DeviceMotionEvent && typeof DeviceMotionEvent.requestPermission === \"function\");\n\tconst permissionGranted = shallowRef(false);\n\tconst acceleration = ref({\n\t\tx: null,\n\t\ty: null,\n\t\tz: null\n\t});\n\tconst rotationRate = ref({\n\t\talpha: null,\n\t\tbeta: null,\n\t\tgamma: null\n\t});\n\tconst interval = shallowRef(0);\n\tconst accelerationIncludingGravity = ref({\n\t\tx: null,\n\t\ty: null,\n\t\tz: null\n\t});\n\tfunction init() {\n\t\tif (window) useEventListener(window, \"devicemotion\", createFilterWrapper(eventFilter, (event) => {\n\t\t\tvar _event$acceleration, _event$acceleration2, _event$acceleration3, _event$accelerationIn, _event$accelerationIn2, _event$accelerationIn3, _event$rotationRate, _event$rotationRate2, _event$rotationRate3;\n\t\t\tacceleration.value = {\n\t\t\t\tx: ((_event$acceleration = event.acceleration) === null || _event$acceleration === void 0 ? void 0 : _event$acceleration.x) || null,\n\t\t\t\ty: ((_event$acceleration2 = event.acceleration) === null || _event$acceleration2 === void 0 ? void 0 : _event$acceleration2.y) || null,\n\t\t\t\tz: ((_event$acceleration3 = event.acceleration) === null || _event$acceleration3 === void 0 ? void 0 : _event$acceleration3.z) || null\n\t\t\t};\n\t\t\taccelerationIncludingGravity.value = {\n\t\t\t\tx: ((_event$accelerationIn = event.accelerationIncludingGravity) === null || _event$accelerationIn === void 0 ? void 0 : _event$accelerationIn.x) || null,\n\t\t\t\ty: ((_event$accelerationIn2 = event.accelerationIncludingGravity) === null || _event$accelerationIn2 === void 0 ? void 0 : _event$accelerationIn2.y) || null,\n\t\t\t\tz: ((_event$accelerationIn3 = event.accelerationIncludingGravity) === null || _event$accelerationIn3 === void 0 ? void 0 : _event$accelerationIn3.z) || null\n\t\t\t};\n\t\t\trotationRate.value = {\n\t\t\t\talpha: ((_event$rotationRate = event.rotationRate) === null || _event$rotationRate === void 0 ? void 0 : _event$rotationRate.alpha) || null,\n\t\t\t\tbeta: ((_event$rotationRate2 = event.rotationRate) === null || _event$rotationRate2 === void 0 ? void 0 : _event$rotationRate2.beta) || null,\n\t\t\t\tgamma: ((_event$rotationRate3 = event.rotationRate) === null || _event$rotationRate3 === void 0 ? void 0 : _event$rotationRate3.gamma) || null\n\t\t\t};\n\t\t\tinterval.value = event.interval;\n\t\t}), { passive: true });\n\t}\n\tconst ensurePermissions = async () => {\n\t\tif (!requirePermissions.value) permissionGranted.value = true;\n\t\tif (permissionGranted.value) return;\n\t\tif (requirePermissions.value) {\n\t\t\tconst requestPermission = DeviceMotionEvent.requestPermission;\n\t\t\ttry {\n\t\t\t\tif (await requestPermission() === \"granted\") {\n\t\t\t\t\tpermissionGranted.value = true;\n\t\t\t\t\tinit();\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t}\n\t};\n\tif (isSupported.value) if (requestPermissions && requirePermissions.value) ensurePermissions().then(() => init());\n\telse init();\n\treturn {\n\t\tacceleration,\n\t\taccelerationIncludingGravity,\n\t\trotationRate,\n\t\tinterval,\n\t\tisSupported,\n\t\trequirePermissions,\n\t\tensurePermissions,\n\t\tpermissionGranted\n\t};\n}\n//#endregion\n//#region useDeviceOrientation/index.ts\n/**\n* Reactive DeviceOrientationEvent.\n*\n* @see https://vueuse.org/useDeviceOrientation\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDeviceOrientation(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"DeviceOrientationEvent\" in window);\n\tconst isAbsolute = shallowRef(false);\n\tconst alpha = shallowRef(null);\n\tconst beta = shallowRef(null);\n\tconst gamma = shallowRef(null);\n\tif (window && isSupported.value) useEventListener(window, \"deviceorientation\", (event) => {\n\t\tisAbsolute.value = event.absolute;\n\t\talpha.value = event.alpha;\n\t\tbeta.value = event.beta;\n\t\tgamma.value = event.gamma;\n\t}, { passive: true });\n\treturn {\n\t\tisSupported,\n\t\tisAbsolute,\n\t\talpha,\n\t\tbeta,\n\t\tgamma\n\t};\n}\n//#endregion\n//#region useDevicePixelRatio/index.ts\n/**\n* Reactively track `window.devicePixelRatio`.\n*\n* @see https://vueuse.org/useDevicePixelRatio\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDevicePixelRatio(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst pixelRatio = shallowRef(1);\n\tconst query = useMediaQuery(() => `(resolution: ${pixelRatio.value}dppx)`, options);\n\tlet stop = noop;\n\tif (window) stop = watchImmediate(query, () => pixelRatio.value = window.devicePixelRatio);\n\treturn {\n\t\tpixelRatio: shallowReadonly(pixelRatio),\n\t\tstop\n\t};\n}\n//#endregion\n//#region useDevicesList/index.ts\n/**\n* Reactive `enumerateDevices` listing available input/output devices\n*\n* @see https://vueuse.org/useDevicesList\n* @param options\n*/\nfunction useDevicesList(options = {}) {\n\tconst { navigator = defaultNavigator, requestPermissions = false, constraints = {\n\t\taudio: true,\n\t\tvideo: true\n\t}, onUpdated } = options;\n\tconst devices = shallowRef([]);\n\tconst videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n\tconst audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n\tconst audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n\tconst permissionGranted = shallowRef(false);\n\tlet stream;\n\tasync function update() {\n\t\tif (!isSupported.value) return;\n\t\tdevices.value = await navigator.mediaDevices.enumerateDevices();\n\t\tonUpdated === null || onUpdated === void 0 || onUpdated(devices.value);\n\t\tif (stream) {\n\t\t\tstream.getTracks().forEach((t) => t.stop());\n\t\t\tstream = null;\n\t\t}\n\t}\n\tasync function ensurePermissions() {\n\t\tconst deviceName = constraints.video ? \"camera\" : \"microphone\";\n\t\tif (!isSupported.value) return false;\n\t\tif (permissionGranted.value) return true;\n\t\tconst { state, query } = usePermission(deviceName, { controls: true });\n\t\tawait query();\n\t\tif (state.value !== \"granted\") {\n\t\t\tlet granted = true;\n\t\t\ttry {\n\t\t\t\tconst allDevices = await navigator.mediaDevices.enumerateDevices();\n\t\t\t\tconst hasCamera = allDevices.some((device) => device.kind === \"videoinput\");\n\t\t\t\tconst hasMicrophone = allDevices.some((device) => device.kind === \"audioinput\" || device.kind === \"audiooutput\");\n\t\t\t\tconstraints.video = hasCamera ? constraints.video : false;\n\t\t\t\tconstraints.audio = hasMicrophone ? constraints.audio : false;\n\t\t\t\tstream = await navigator.mediaDevices.getUserMedia(constraints);\n\t\t\t} catch (_unused) {\n\t\t\t\tstream = null;\n\t\t\t\tgranted = false;\n\t\t\t}\n\t\t\tupdate();\n\t\t\tpermissionGranted.value = granted;\n\t\t} else permissionGranted.value = true;\n\t\treturn permissionGranted.value;\n\t}\n\tif (isSupported.value) {\n\t\tif (requestPermissions) ensurePermissions();\n\t\tuseEventListener(navigator.mediaDevices, \"devicechange\", update, { passive: true });\n\t\tupdate();\n\t}\n\treturn {\n\t\tdevices,\n\t\tensurePermissions,\n\t\tpermissionGranted,\n\t\tvideoInputs,\n\t\taudioInputs,\n\t\taudioOutputs,\n\t\tisSupported\n\t};\n}\n//#endregion\n//#region useDisplayMedia/index.ts\n/**\n* Reactive `mediaDevices.getDisplayMedia` streaming\n*\n* @see https://vueuse.org/useDisplayMedia\n* @param options\n*/\nfunction useDisplayMedia(options = {}) {\n\tvar _options$enabled;\n\tconst enabled = shallowRef((_options$enabled = options.enabled) !== null && _options$enabled !== void 0 ? _options$enabled : false);\n\tconst video = options.video;\n\tconst audio = options.audio;\n\tconst { navigator = defaultNavigator } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => {\n\t\tvar _navigator$mediaDevic;\n\t\treturn navigator === null || navigator === void 0 || (_navigator$mediaDevic = navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : _navigator$mediaDevic.getDisplayMedia;\n\t});\n\tconst constraint = {\n\t\taudio,\n\t\tvideo\n\t};\n\tconst stream = shallowRef();\n\tasync function _start() {\n\t\tvar _stream$value;\n\t\tif (!isSupported.value || stream.value) return;\n\t\tstream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n\t\t(_stream$value = stream.value) === null || _stream$value === void 0 || _stream$value.getTracks().forEach((t) => useEventListener(t, \"ended\", stop, { passive: true }));\n\t\treturn stream.value;\n\t}\n\tasync function _stop() {\n\t\tvar _stream$value2;\n\t\t(_stream$value2 = stream.value) === null || _stream$value2 === void 0 || _stream$value2.getTracks().forEach((t) => t.stop());\n\t\tstream.value = void 0;\n\t}\n\tfunction stop() {\n\t\t_stop();\n\t\tenabled.value = false;\n\t}\n\tasync function start() {\n\t\tawait _start();\n\t\tif (stream.value) enabled.value = true;\n\t\treturn stream.value;\n\t}\n\twatch(enabled, (v) => {\n\t\tif (v) _start();\n\t\telse _stop();\n\t}, { immediate: true });\n\treturn {\n\t\tisSupported,\n\t\tstream,\n\t\tstart,\n\t\tstop,\n\t\tenabled\n\t};\n}\n//#endregion\n//#region useDocumentVisibility/index.ts\n/**\n* Reactively track `document.visibilityState`.\n*\n* @see https://vueuse.org/useDocumentVisibility\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useDocumentVisibility(options = {}) {\n\tconst { document = defaultDocument } = options;\n\tif (!document) return shallowRef(\"visible\");\n\tconst visibility = shallowRef(document.visibilityState);\n\tuseEventListener(document, \"visibilitychange\", () => {\n\t\tvisibility.value = document.visibilityState;\n\t}, { passive: true });\n\treturn visibility;\n}\n//#endregion\n//#region useDraggable/index.ts\nconst defaultScrollConfig = {\n\tspeed: 2,\n\tmargin: 30,\n\tdirection: \"both\"\n};\nfunction clampContainerScroll(container) {\n\tif (container.scrollLeft > container.scrollWidth - container.clientWidth) container.scrollLeft = Math.max(0, container.scrollWidth - container.clientWidth);\n\tif (container.scrollTop > container.scrollHeight - container.clientHeight) container.scrollTop = Math.max(0, container.scrollHeight - container.clientHeight);\n}\n/**\n* Make elements draggable.\n*\n* @see https://vueuse.org/useDraggable\n* @param target\n* @param options\n*/\nfunction useDraggable(target, options = {}) {\n\tvar _toValue, _toValue2, _toValue3, _scrollConfig$directi;\n\tconst { pointerTypes, preventDefault, stopPropagation, exact, onMove, onEnd, onStart, initialValue, axis = \"both\", draggingElement = defaultWindow, containerElement, handle: draggingHandle = target, buttons = [0], restrictInView, autoScroll = false } = options;\n\tconst position = ref((_toValue = toValue(initialValue)) !== null && _toValue !== void 0 ? _toValue : {\n\t\tx: 0,\n\t\ty: 0\n\t});\n\tconst pressedDelta = ref();\n\tconst filterEvent = (e) => {\n\t\tif (pointerTypes) return pointerTypes.includes(e.pointerType);\n\t\treturn true;\n\t};\n\tconst handleEvent = (e) => {\n\t\tif (toValue(preventDefault)) e.preventDefault();\n\t\tif (toValue(stopPropagation)) e.stopPropagation();\n\t};\n\tconst scrollConfig = toValue(autoScroll);\n\tconst scrollSettings = typeof scrollConfig === \"object\" ? {\n\t\tspeed: (_toValue2 = toValue(scrollConfig.speed)) !== null && _toValue2 !== void 0 ? _toValue2 : defaultScrollConfig.speed,\n\t\tmargin: (_toValue3 = toValue(scrollConfig.margin)) !== null && _toValue3 !== void 0 ? _toValue3 : defaultScrollConfig.margin,\n\t\tdirection: (_scrollConfig$directi = scrollConfig.direction) !== null && _scrollConfig$directi !== void 0 ? _scrollConfig$directi : defaultScrollConfig.direction\n\t} : defaultScrollConfig;\n\tconst getScrollAxisValues = (value) => typeof value === \"number\" ? [value, value] : [value.x, value.y];\n\tconst handleAutoScroll = (container, targetRect, position) => {\n\t\tconst { clientWidth, clientHeight, scrollLeft, scrollTop, scrollWidth, scrollHeight } = container;\n\t\tconst [marginX, marginY] = getScrollAxisValues(scrollSettings.margin);\n\t\tconst [speedX, speedY] = getScrollAxisValues(scrollSettings.speed);\n\t\tlet deltaX = 0;\n\t\tlet deltaY = 0;\n\t\tif (scrollSettings.direction === \"x\" || scrollSettings.direction === \"both\") {\n\t\t\tif (position.x < marginX && scrollLeft > 0) deltaX = -speedX;\n\t\t\telse if (position.x + targetRect.width > clientWidth - marginX && scrollLeft < scrollWidth - clientWidth) deltaX = speedX;\n\t\t}\n\t\tif (scrollSettings.direction === \"y\" || scrollSettings.direction === \"both\") {\n\t\t\tif (position.y < marginY && scrollTop > 0) deltaY = -speedY;\n\t\t\telse if (position.y + targetRect.height > clientHeight - marginY && scrollTop < scrollHeight - clientHeight) deltaY = speedY;\n\t\t}\n\t\tif (deltaX || deltaY) container.scrollBy({\n\t\t\tleft: deltaX,\n\t\t\ttop: deltaY,\n\t\t\tbehavior: \"auto\"\n\t\t});\n\t};\n\tlet autoScrollInterval = null;\n\tconst startAutoScroll = () => {\n\t\tconst container = toValue(containerElement);\n\t\tif (container && !autoScrollInterval) autoScrollInterval = setInterval(() => {\n\t\t\tconst targetRect = toValue(target).getBoundingClientRect();\n\t\t\tconst { x, y } = position.value;\n\t\t\tconst relativePosition = {\n\t\t\t\tx: x - container.scrollLeft,\n\t\t\t\ty: y - container.scrollTop\n\t\t\t};\n\t\t\tif (relativePosition.x >= 0 && relativePosition.y >= 0) {\n\t\t\t\thandleAutoScroll(container, targetRect, relativePosition);\n\t\t\t\trelativePosition.x += container.scrollLeft;\n\t\t\t\trelativePosition.y += container.scrollTop;\n\t\t\t\tposition.value = relativePosition;\n\t\t\t}\n\t\t}, 1e3 / 60);\n\t};\n\tconst stopAutoScroll = () => {\n\t\tif (autoScrollInterval) {\n\t\t\tclearInterval(autoScrollInterval);\n\t\t\tautoScrollInterval = null;\n\t\t}\n\t};\n\tconst isPointerNearEdge = (pointer, container, margin, targetRect) => {\n\t\tconst [marginX, marginY] = typeof margin === \"number\" ? [margin, margin] : [margin.x, margin.y];\n\t\tconst { clientWidth, clientHeight } = container;\n\t\treturn pointer.x < marginX || pointer.x + targetRect.width > clientWidth - marginX || pointer.y < marginY || pointer.y + targetRect.height > clientHeight - marginY;\n\t};\n\tconst checkAutoScroll = () => {\n\t\tif (toValue(options.disabled) || !pressedDelta.value) return;\n\t\tconst container = toValue(containerElement);\n\t\tif (!container) return;\n\t\tconst targetRect = toValue(target).getBoundingClientRect();\n\t\tconst { x, y } = position.value;\n\t\tif (isPointerNearEdge({\n\t\t\tx: x - container.scrollLeft,\n\t\t\ty: y - container.scrollTop\n\t\t}, container, scrollSettings.margin, targetRect)) startAutoScroll();\n\t\telse stopAutoScroll();\n\t};\n\tif (toValue(autoScroll)) watch(position, checkAutoScroll);\n\tconst start = (e) => {\n\t\tvar _container$getBoundin;\n\t\tif (!toValue(buttons).includes(e.button)) return;\n\t\tif (toValue(options.disabled) || !filterEvent(e)) return;\n\t\tif (toValue(exact) && e.target !== toValue(target)) return;\n\t\tconst container = toValue(containerElement);\n\t\tconst containerRect = container === null || container === void 0 || (_container$getBoundin = container.getBoundingClientRect) === null || _container$getBoundin === void 0 ? void 0 : _container$getBoundin.call(container);\n\t\tconst targetRect = toValue(target).getBoundingClientRect();\n\t\tconst pos = {\n\t\t\tx: e.clientX - (container ? targetRect.left - containerRect.left + (autoScroll ? 0 : container.scrollLeft) : targetRect.left),\n\t\t\ty: e.clientY - (container ? targetRect.top - containerRect.top + (autoScroll ? 0 : container.scrollTop) : targetRect.top)\n\t\t};\n\t\tif ((onStart === null || onStart === void 0 ? void 0 : onStart(pos, e)) === false) return;\n\t\tpressedDelta.value = pos;\n\t\thandleEvent(e);\n\t};\n\tconst move = (e) => {\n\t\tif (toValue(options.disabled) || !filterEvent(e)) return;\n\t\tif (!pressedDelta.value) return;\n\t\tconst container = toValue(containerElement);\n\t\tif (container instanceof HTMLElement) clampContainerScroll(container);\n\t\tconst targetRect = toValue(target).getBoundingClientRect();\n\t\tlet { x, y } = position.value;\n\t\tif (axis === \"x\" || axis === \"both\") {\n\t\t\tx = e.clientX - pressedDelta.value.x;\n\t\t\tif (container) x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n\t\t}\n\t\tif (axis === \"y\" || axis === \"both\") {\n\t\t\ty = e.clientY - pressedDelta.value.y;\n\t\t\tif (container) y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n\t\t}\n\t\tif (toValue(autoScroll) && container) {\n\t\t\tif (autoScrollInterval === null) handleAutoScroll(container, targetRect, {\n\t\t\t\tx,\n\t\t\t\ty\n\t\t\t});\n\t\t\tx += container.scrollLeft;\n\t\t\ty += container.scrollTop;\n\t\t}\n\t\tif (container && (restrictInView || autoScroll)) {\n\t\t\tif (axis !== \"y\") {\n\t\t\t\tconst relativeX = x - container.scrollLeft;\n\t\t\t\tif (relativeX < 0) x = container.scrollLeft;\n\t\t\t\telse if (relativeX > container.clientWidth - targetRect.width) x = container.clientWidth - targetRect.width + container.scrollLeft;\n\t\t\t}\n\t\t\tif (axis !== \"x\") {\n\t\t\t\tconst relativeY = y - container.scrollTop;\n\t\t\t\tif (relativeY < 0) y = container.scrollTop;\n\t\t\t\telse if (relativeY > container.clientHeight - targetRect.height) y = container.clientHeight - targetRect.height + container.scrollTop;\n\t\t\t}\n\t\t}\n\t\tposition.value = {\n\t\t\tx,\n\t\t\ty\n\t\t};\n\t\tonMove === null || onMove === void 0 || onMove(position.value, e);\n\t\thandleEvent(e);\n\t};\n\tconst end = (e) => {\n\t\tif (toValue(options.disabled) || !filterEvent(e)) return;\n\t\tif (!pressedDelta.value) return;\n\t\tpressedDelta.value = void 0;\n\t\tif (autoScroll) stopAutoScroll();\n\t\tonEnd === null || onEnd === void 0 || onEnd(position.value, e);\n\t\thandleEvent(e);\n\t};\n\tif (isClient) {\n\t\tconst config = () => {\n\t\t\tvar _options$capture;\n\t\t\treturn {\n\t\t\t\tcapture: (_options$capture = options.capture) !== null && _options$capture !== void 0 ? _options$capture : true,\n\t\t\t\tpassive: !toValue(preventDefault)\n\t\t\t};\n\t\t};\n\t\tuseEventListener(draggingHandle, \"pointerdown\", start, config);\n\t\tuseEventListener(draggingElement, \"pointermove\", move, config);\n\t\tuseEventListener(draggingElement, \"pointerup\", end, config);\n\t}\n\treturn {\n\t\t...toRefs(position),\n\t\tposition,\n\t\tisDragging: computed(() => !!pressedDelta.value),\n\t\tstyle: computed(() => `\n left: ${position.value.x}px;\n top: ${position.value.y}px;\n ${autoScroll ? \"text-wrap: nowrap;\" : \"\"}\n `)\n\t};\n}\n//#endregion\n//#region useDropZone/index.ts\nfunction useDropZone(target, options = {}) {\n\tconst isOverDropZone = shallowRef(false);\n\tconst files = shallowRef(null);\n\tlet counter = 0;\n\tlet isValid = true;\n\tif (isClient) {\n\t\tvar _options$multiple, _options$preventDefau;\n\t\tconst _options = typeof options === \"function\" ? { onDrop: options } : options;\n\t\tconst multiple = (_options$multiple = _options.multiple) !== null && _options$multiple !== void 0 ? _options$multiple : true;\n\t\tconst preventDefaultForUnhandled = (_options$preventDefau = _options.preventDefaultForUnhandled) !== null && _options$preventDefau !== void 0 ? _options$preventDefau : false;\n\t\tconst getFiles = (event) => {\n\t\t\tvar _event$dataTransfer$f, _event$dataTransfer;\n\t\t\tconst list = Array.from((_event$dataTransfer$f = (_event$dataTransfer = event.dataTransfer) === null || _event$dataTransfer === void 0 ? void 0 : _event$dataTransfer.files) !== null && _event$dataTransfer$f !== void 0 ? _event$dataTransfer$f : []);\n\t\t\treturn list.length === 0 ? null : multiple ? list : [list[0]];\n\t\t};\n\t\tconst checkDataTypes = (types) => {\n\t\t\tconst dataTypes = unref(_options.dataTypes);\n\t\t\tif (typeof dataTypes === \"function\") return dataTypes(types);\n\t\t\tif (!(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length)) return true;\n\t\t\tif (types.length === 0) return false;\n\t\t\treturn types.every((type) => dataTypes.some((allowedType) => type.includes(allowedType)));\n\t\t};\n\t\tconst checkValidity = (items) => {\n\t\t\tif (_options.checkValidity) return _options.checkValidity(items);\n\t\t\tconst dataTypesValid = checkDataTypes(Array.from(items !== null && items !== void 0 ? items : []).map((item) => item.type));\n\t\t\tconst multipleFilesValid = multiple || items.length <= 1;\n\t\t\treturn dataTypesValid && multipleFilesValid;\n\t\t};\n\t\tconst isSafari = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !(\"chrome\" in window);\n\t\tconst handleDragEvent = (event, eventType) => {\n\t\t\tvar _event$dataTransfer2, _ref;\n\t\t\tconst dataTransferItemList = (_event$dataTransfer2 = event.dataTransfer) === null || _event$dataTransfer2 === void 0 ? void 0 : _event$dataTransfer2.items;\n\t\t\tisValid = (_ref = dataTransferItemList && checkValidity(dataTransferItemList)) !== null && _ref !== void 0 ? _ref : false;\n\t\t\tif (preventDefaultForUnhandled) event.preventDefault();\n\t\t\tif (!isSafari() && !isValid) {\n\t\t\t\tif (event.dataTransfer) event.dataTransfer.dropEffect = \"none\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tif (event.dataTransfer) event.dataTransfer.dropEffect = \"copy\";\n\t\t\tconst currentFiles = getFiles(event);\n\t\t\tswitch (eventType) {\n\t\t\t\tcase \"enter\":\n\t\t\t\t\tvar _options$onEnter;\n\t\t\t\t\tcounter += 1;\n\t\t\t\t\tisOverDropZone.value = true;\n\t\t\t\t\t(_options$onEnter = _options.onEnter) === null || _options$onEnter === void 0 || _options$onEnter.call(_options, null, event);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"over\":\n\t\t\t\t\tvar _options$onOver;\n\t\t\t\t\t(_options$onOver = _options.onOver) === null || _options$onOver === void 0 || _options$onOver.call(_options, null, event);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"leave\":\n\t\t\t\t\tvar _options$onLeave;\n\t\t\t\t\tcounter -= 1;\n\t\t\t\t\tif (counter === 0) isOverDropZone.value = false;\n\t\t\t\t\t(_options$onLeave = _options.onLeave) === null || _options$onLeave === void 0 || _options$onLeave.call(_options, null, event);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"drop\":\n\t\t\t\t\tcounter = 0;\n\t\t\t\t\tisOverDropZone.value = false;\n\t\t\t\t\tif (isValid) {\n\t\t\t\t\t\tvar _options$onDrop;\n\t\t\t\t\t\tfiles.value = currentFiles;\n\t\t\t\t\t\t(_options$onDrop = _options.onDrop) === null || _options$onDrop === void 0 || _options$onDrop.call(_options, currentFiles, event);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\tuseEventListener(target, \"dragenter\", (event) => handleDragEvent(event, \"enter\"));\n\t\tuseEventListener(target, \"dragover\", (event) => handleDragEvent(event, \"over\"));\n\t\tuseEventListener(target, \"dragleave\", (event) => handleDragEvent(event, \"leave\"));\n\t\tuseEventListener(target, \"drop\", (event) => handleDragEvent(event, \"drop\"));\n\t}\n\treturn {\n\t\tfiles,\n\t\tisOverDropZone\n\t};\n}\n//#endregion\n//#region useResizeObserver/index.ts\n/**\n* Reports changes to the dimensions of an Element's content or the border-box\n*\n* @see https://vueuse.org/useResizeObserver\n* @param target\n* @param callback\n* @param options\n*/\nfunction useResizeObserver(target, callback, options = {}) {\n\tconst { window = defaultWindow, ...observerOptions } = options;\n\tlet observer;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"ResizeObserver\" in window);\n\tconst cleanup = () => {\n\t\tif (observer) {\n\t\t\tobserver.disconnect();\n\t\t\tobserver = void 0;\n\t\t}\n\t};\n\tconst stopWatch = watch(computed(() => {\n\t\tconst _targets = toValue(target);\n\t\treturn Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n\t}), (els) => {\n\t\tcleanup();\n\t\tif (isSupported.value && window) {\n\t\t\tobserver = new ResizeObserver(callback);\n\t\t\tfor (const _el of els) if (_el) observer.observe(_el, observerOptions);\n\t\t}\n\t}, {\n\t\timmediate: true,\n\t\tflush: \"post\"\n\t});\n\tconst stop = () => {\n\t\tcleanup();\n\t\tstopWatch();\n\t};\n\ttryOnScopeDispose(stop);\n\treturn {\n\t\tisSupported,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useElementBounding/index.ts\n/**\n* Reactive bounding box of an HTML element.\n*\n* @see https://vueuse.org/useElementBounding\n* @param target\n*/\nfunction useElementBounding(target, options = {}) {\n\tconst { reset = true, windowResize = true, windowScroll = true, immediate = true, updateTiming = \"sync\" } = options;\n\tconst height = shallowRef(0);\n\tconst bottom = shallowRef(0);\n\tconst left = shallowRef(0);\n\tconst right = shallowRef(0);\n\tconst top = shallowRef(0);\n\tconst width = shallowRef(0);\n\tconst x = shallowRef(0);\n\tconst y = shallowRef(0);\n\tfunction recalculate() {\n\t\tconst el = unrefElement(target);\n\t\tif (!el) {\n\t\t\tif (reset) {\n\t\t\t\theight.value = 0;\n\t\t\t\tbottom.value = 0;\n\t\t\t\tleft.value = 0;\n\t\t\t\tright.value = 0;\n\t\t\t\ttop.value = 0;\n\t\t\t\twidth.value = 0;\n\t\t\t\tx.value = 0;\n\t\t\t\ty.value = 0;\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tconst rect = el.getBoundingClientRect();\n\t\theight.value = rect.height;\n\t\tbottom.value = rect.bottom;\n\t\tleft.value = rect.left;\n\t\tright.value = rect.right;\n\t\ttop.value = rect.top;\n\t\twidth.value = rect.width;\n\t\tx.value = rect.x;\n\t\ty.value = rect.y;\n\t}\n\tfunction update() {\n\t\tif (updateTiming === \"sync\") recalculate();\n\t\telse if (updateTiming === \"next-frame\") requestAnimationFrame(() => recalculate());\n\t}\n\tuseResizeObserver(target, update);\n\twatch(() => unrefElement(target), (ele) => !ele && update());\n\tuseMutationObserver(target, update, { attributeFilter: [\"style\", \"class\"] });\n\tif (windowScroll) useEventListener(\"scroll\", update, {\n\t\tcapture: true,\n\t\tpassive: true\n\t});\n\tif (windowResize) useEventListener(\"resize\", update, { passive: true });\n\ttryOnMounted(() => {\n\t\tif (immediate) update();\n\t});\n\treturn {\n\t\theight,\n\t\tbottom,\n\t\tleft,\n\t\tright,\n\t\ttop,\n\t\twidth,\n\t\tx,\n\t\ty,\n\t\tupdate\n\t};\n}\n//#endregion\n//#region useElementByPoint/index.ts\nfunction getDefaultScheduler$7(options) {\n\tif (\"interval\" in options || \"immediate\" in options) {\n\t\tconst { interval = \"requestAnimationFrame\", immediate = true } = options;\n\t\treturn interval === \"requestAnimationFrame\" ? (cb) => useRafFn(cb, { immediate }) : (cb) => useIntervalFn(cb, interval, { immediate });\n\t}\n\treturn useRafFn;\n}\n/**\n* Reactive element by point.\n*\n* @see https://vueuse.org/useElementByPoint\n* @param options - UseElementByPointOptions\n*/\nfunction useElementByPoint(options) {\n\tconst { x, y, document = defaultDocument, multiple, scheduler = getDefaultScheduler$7(options) } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => {\n\t\tif (toValue(multiple)) return document && \"elementsFromPoint\" in document;\n\t\treturn document && \"elementFromPoint\" in document;\n\t});\n\tconst element = shallowRef(null);\n\treturn {\n\t\tisSupported,\n\t\telement,\n\t\t...scheduler(() => {\n\t\t\tvar _document$elementsFro, _document$elementFrom;\n\t\t\telement.value = toValue(multiple) ? (_document$elementsFro = document === null || document === void 0 ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) !== null && _document$elementsFro !== void 0 ? _document$elementsFro : [] : (_document$elementFrom = document === null || document === void 0 ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) !== null && _document$elementFrom !== void 0 ? _document$elementFrom : null;\n\t\t})\n\t};\n}\n//#endregion\n//#region useElementHover/index.ts\nfunction useElementHover(el, options = {}) {\n\tconst { delayEnter = 0, delayLeave = 0, triggerOnRemoval = false, window = defaultWindow } = options;\n\tconst isHovered = shallowRef(false);\n\tlet timer;\n\tconst toggle = (entering) => {\n\t\tconst delay = entering ? delayEnter : delayLeave;\n\t\tif (timer) {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = void 0;\n\t\t}\n\t\tif (delay) timer = setTimeout(() => isHovered.value = entering, delay);\n\t\telse isHovered.value = entering;\n\t};\n\tif (!window) return isHovered;\n\tuseEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n\tuseEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n\tif (triggerOnRemoval) onElementRemoval(computed(() => unrefElement(el)), () => toggle(false));\n\treturn isHovered;\n}\n//#endregion\n//#region useElementSize/index.ts\n/**\n* Reactive size of an HTML element.\n*\n* @see https://vueuse.org/useElementSize\n*/\nfunction useElementSize(target, initialSize = {\n\twidth: 0,\n\theight: 0\n}, options = {}) {\n\tconst { window = defaultWindow, box = \"content-box\" } = options;\n\tconst isSVG = computed(() => {\n\t\tvar _unrefElement;\n\t\treturn (_unrefElement = unrefElement(target)) === null || _unrefElement === void 0 || (_unrefElement = _unrefElement.namespaceURI) === null || _unrefElement === void 0 ? void 0 : _unrefElement.includes(\"svg\");\n\t});\n\tconst width = shallowRef(initialSize.width);\n\tconst height = shallowRef(initialSize.height);\n\tconst { stop: stop1 } = useResizeObserver(target, ([entry]) => {\n\t\tconst boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n\t\tif (window && isSVG.value) {\n\t\t\tconst $elem = unrefElement(target);\n\t\t\tif ($elem) {\n\t\t\t\tconst rect = $elem.getBoundingClientRect();\n\t\t\t\twidth.value = rect.width;\n\t\t\t\theight.value = rect.height;\n\t\t\t}\n\t\t} else if (boxSize) {\n\t\t\tconst formatBoxSize = toArray(boxSize);\n\t\t\twidth.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n\t\t\theight.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n\t\t} else {\n\t\t\twidth.value = entry.contentRect.width;\n\t\t\theight.value = entry.contentRect.height;\n\t\t}\n\t}, options);\n\ttryOnMounted(() => {\n\t\tconst ele = unrefElement(target);\n\t\tif (ele) {\n\t\t\twidth.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n\t\t\theight.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n\t\t}\n\t});\n\tconst stop2 = watch(() => unrefElement(target), (ele) => {\n\t\twidth.value = ele ? initialSize.width : 0;\n\t\theight.value = ele ? initialSize.height : 0;\n\t});\n\tfunction stop() {\n\t\tstop1();\n\t\tstop2();\n\t}\n\treturn {\n\t\twidth,\n\t\theight,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useIntersectionObserver/index.ts\n/**\n* Detects changes to a target element's visibility.\n*\n* @see https://vueuse.org/useIntersectionObserver\n* @param target\n* @param callback\n* @param options\n*/\nfunction useIntersectionObserver(target, callback, options = {}) {\n\tconst { root, rootMargin, threshold = 0, window = defaultWindow, immediate = true } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"IntersectionObserver\" in window);\n\tconst targets = computed(() => {\n\t\treturn toArray(toValue(target)).map(unrefElement).filter(notNullish);\n\t});\n\tlet cleanup = noop;\n\tconst isActive = shallowRef(immediate);\n\tconst stopWatch = isSupported.value ? watch(() => [\n\t\ttargets.value,\n\t\tunrefElement(root),\n\t\ttoValue(rootMargin),\n\t\tisActive.value\n\t], ([targets, root, rootMargin]) => {\n\t\tcleanup();\n\t\tif (!isActive.value) return;\n\t\tif (!targets.length) return;\n\t\tconst observer = new IntersectionObserver(callback, {\n\t\t\troot: unrefElement(root),\n\t\t\trootMargin,\n\t\t\tthreshold\n\t\t});\n\t\ttargets.forEach((el) => el && observer.observe(el));\n\t\tcleanup = () => {\n\t\t\tobserver.disconnect();\n\t\t\tcleanup = noop;\n\t\t};\n\t}, {\n\t\timmediate,\n\t\tflush: \"post\"\n\t}) : noop;\n\tconst stop = () => {\n\t\tcleanup();\n\t\tstopWatch();\n\t\tisActive.value = false;\n\t};\n\ttryOnScopeDispose(stop);\n\treturn {\n\t\tisSupported,\n\t\tisActive,\n\t\tpause() {\n\t\t\tcleanup();\n\t\t\tisActive.value = false;\n\t\t},\n\t\tresume() {\n\t\t\tisActive.value = true;\n\t\t},\n\t\tstop\n\t};\n}\n//#endregion\n//#region useElementVisibility/index.ts\nfunction useElementVisibility(element, options = {}) {\n\tconst { window = defaultWindow, scrollTarget, threshold = 0, rootMargin, once = false, initialValue = false } = options;\n\tconst isVisible = shallowRef(initialValue);\n\tconst observerController = useIntersectionObserver(element, (intersectionObserverEntries) => {\n\t\tlet isIntersecting = isVisible.value;\n\t\tlet latestTime = 0;\n\t\tfor (const entry of intersectionObserverEntries) if (entry.time >= latestTime) {\n\t\t\tlatestTime = entry.time;\n\t\t\tisIntersecting = entry.isIntersecting;\n\t\t}\n\t\tisVisible.value = isIntersecting;\n\t\tif (once) watchOnce(isVisible, () => {\n\t\t\tobserverController.stop();\n\t\t});\n\t}, {\n\t\troot: scrollTarget,\n\t\twindow,\n\t\tthreshold,\n\t\trootMargin\n\t});\n\treturn options.controls ? {\n\t\t...observerController,\n\t\tisVisible\n\t} : isVisible;\n}\n//#endregion\n//#region useEventBus/internal.ts\n/* #__PURE__ */\nconst events = /* @__PURE__ */ new Map();\n//#endregion\n//#region useEventBus/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useEventBus(key) {\n\tconst scope = getCurrentScope();\n\tfunction on(listener) {\n\t\tvar _scope$cleanups;\n\t\tconst listeners = events.get(key) || /* @__PURE__ */ new Set();\n\t\tlisteners.add(listener);\n\t\tevents.set(key, listeners);\n\t\tconst _off = () => off(listener);\n\t\tscope === null || scope === void 0 || (_scope$cleanups = scope.cleanups) === null || _scope$cleanups === void 0 || _scope$cleanups.push(_off);\n\t\treturn _off;\n\t}\n\tfunction once(listener) {\n\t\tfunction _listener(...args) {\n\t\t\toff(_listener);\n\t\t\tlistener(...args);\n\t\t}\n\t\treturn on(_listener);\n\t}\n\tfunction off(listener) {\n\t\tconst listeners = events.get(key);\n\t\tif (!listeners) return;\n\t\tlisteners.delete(listener);\n\t\tif (!listeners.size) reset();\n\t}\n\tfunction reset() {\n\t\tevents.delete(key);\n\t}\n\tfunction emit(event, payload) {\n\t\tvar _events$get;\n\t\t(_events$get = events.get(key)) === null || _events$get === void 0 || _events$get.forEach((v) => v(event, payload));\n\t}\n\treturn {\n\t\ton,\n\t\tonce,\n\t\toff,\n\t\temit,\n\t\treset\n\t};\n}\n//#endregion\n//#region useEventSource/index.ts\nfunction resolveNestedOptions$1(options) {\n\tif (options === true) return {};\n\treturn options;\n}\n/**\n* Reactive wrapper for EventSource.\n*\n* @see https://vueuse.org/useEventSource\n* @see https://developer.mozilla.org/en-US/docs/Web/API/EventSource/EventSource EventSource\n* @param url\n* @param events\n* @param options\n*/\nfunction useEventSource(url, events = [], options = {}) {\n\tconst event = shallowRef(null);\n\tconst data = shallowRef(null);\n\tconst status = shallowRef(\"CONNECTING\");\n\tconst eventSource = shallowRef(null);\n\tconst error = shallowRef(null);\n\tconst urlRef = toRef(url);\n\tconst lastEventId = shallowRef(null);\n\tlet explicitlyClosed = false;\n\tlet retried = 0;\n\tconst { withCredentials = false, immediate = true, autoConnect = true, autoReconnect, serializer = { read: (v) => v } } = options;\n\tconst close = () => {\n\t\tif (isClient && eventSource.value) {\n\t\t\teventSource.value.close();\n\t\t\teventSource.value = null;\n\t\t\tstatus.value = \"CLOSED\";\n\t\t\texplicitlyClosed = true;\n\t\t}\n\t};\n\tconst _init = () => {\n\t\tif (explicitlyClosed || typeof urlRef.value === \"undefined\") return;\n\t\tconst es = new EventSource(urlRef.value, { withCredentials });\n\t\tstatus.value = \"CONNECTING\";\n\t\teventSource.value = es;\n\t\tes.onopen = () => {\n\t\t\tstatus.value = \"OPEN\";\n\t\t\terror.value = null;\n\t\t};\n\t\tes.onerror = (e) => {\n\t\t\tstatus.value = \"CLOSED\";\n\t\t\terror.value = e;\n\t\t\tif (es.readyState === 2 && !explicitlyClosed && autoReconnect) {\n\t\t\t\tes.close();\n\t\t\t\tconst { retries = -1, delay = 1e3, onFailed } = resolveNestedOptions$1(autoReconnect);\n\t\t\t\tretried += 1;\n\t\t\t\tif (typeof retries === \"number\" && (retries < 0 || retried < retries)) setTimeout(_init, delay);\n\t\t\t\telse if (typeof retries === \"function\" && retries()) setTimeout(_init, delay);\n\t\t\t\telse onFailed === null || onFailed === void 0 || onFailed();\n\t\t\t}\n\t\t};\n\t\tes.onmessage = (e) => {\n\t\t\tvar _serializer$read;\n\t\t\tevent.value = null;\n\t\t\tdata.value = (_serializer$read = serializer.read(e.data)) !== null && _serializer$read !== void 0 ? _serializer$read : null;\n\t\t\tlastEventId.value = e.lastEventId;\n\t\t};\n\t\tfor (const event_name of events) useEventListener(es, event_name, (e) => {\n\t\t\tvar _serializer$read2, _e$lastEventId;\n\t\t\tevent.value = event_name;\n\t\t\tdata.value = (_serializer$read2 = serializer.read(e.data)) !== null && _serializer$read2 !== void 0 ? _serializer$read2 : null;\n\t\t\tlastEventId.value = (_e$lastEventId = e.lastEventId) !== null && _e$lastEventId !== void 0 ? _e$lastEventId : null;\n\t\t}, { passive: true });\n\t};\n\tconst open = () => {\n\t\tif (!isClient) return;\n\t\tclose();\n\t\texplicitlyClosed = false;\n\t\tretried = 0;\n\t\t_init();\n\t};\n\tif (immediate) open();\n\tif (autoConnect) watch(urlRef, open);\n\ttryOnScopeDispose(close);\n\treturn {\n\t\teventSource,\n\t\tevent,\n\t\tdata,\n\t\tstatus,\n\t\terror,\n\t\topen,\n\t\tclose,\n\t\tlastEventId\n\t};\n}\n//#endregion\n//#region useEyeDropper/index.ts\n/**\n* Reactive [EyeDropper API](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API)\n*\n* @see https://vueuse.org/useEyeDropper\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useEyeDropper(options = {}) {\n\tconst { initialValue = \"\" } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n\tconst sRGBHex = shallowRef(initialValue);\n\tasync function open(openOptions) {\n\t\tif (!isSupported.value) return;\n\t\tconst result = await new window.EyeDropper().open(openOptions);\n\t\tsRGBHex.value = result.sRGBHex;\n\t\treturn result;\n\t}\n\treturn {\n\t\tisSupported,\n\t\tsRGBHex,\n\t\topen\n\t};\n}\n//#endregion\n//#region useFavicon/index.ts\nfunction useFavicon(newIcon = null, options = {}) {\n\tconst { baseUrl = \"\", rel = \"icon\", document = defaultDocument } = options;\n\tconst favicon = toRef(newIcon);\n\tconst applyIcon = (icon) => {\n\t\tconst elements = document === null || document === void 0 ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n\t\tif (!elements || elements.length === 0) {\n\t\t\tconst link = document === null || document === void 0 ? void 0 : document.createElement(\"link\");\n\t\t\tif (link) {\n\t\t\t\tlink.rel = rel;\n\t\t\t\tlink.href = `${baseUrl}${icon}`;\n\t\t\t\tlink.type = `image/${icon.split(\".\").pop()}`;\n\t\t\t\tdocument === null || document === void 0 || document.head.append(link);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\telements === null || elements === void 0 || elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n\t};\n\twatch(favicon, (i, o) => {\n\t\tif (typeof i === \"string\" && i !== o) applyIcon(i);\n\t}, { immediate: true });\n\treturn favicon;\n}\n//#endregion\n//#region useFetch/index.ts\nconst payloadMapping = {\n\tjson: \"application/json\",\n\ttext: \"text/plain\"\n};\n/**\n* !!!IMPORTANT!!!\n*\n* If you update the UseFetchOptions interface, be sure to update this object\n* to include the new options\n*/\nfunction isFetchOptions(obj) {\n\treturn obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nconst reAbsolute = /^(?:[a-z][a-z\\d+\\-.]*:)?\\/\\//i;\nfunction isAbsoluteURL(url) {\n\treturn reAbsolute.test(url);\n}\nfunction headersToObject(headers) {\n\tif (typeof Headers !== \"undefined\" && headers instanceof Headers) return Object.fromEntries(headers.entries());\n\treturn headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n\tif (combination === \"overwrite\") return async (ctx) => {\n\t\tlet callback;\n\t\tfor (let i = callbacks.length - 1; i >= 0; i--) if (callbacks[i] != null) {\n\t\t\tcallback = callbacks[i];\n\t\t\tbreak;\n\t\t}\n\t\tif (callback) return {\n\t\t\t...ctx,\n\t\t\t...await callback(ctx)\n\t\t};\n\t\treturn ctx;\n\t};\n\telse return async (ctx) => {\n\t\tfor (const callback of callbacks) if (callback) ctx = {\n\t\t\t...ctx,\n\t\t\t...await callback(ctx)\n\t\t};\n\t\treturn ctx;\n\t};\n}\nfunction createFetch(config = {}) {\n\tconst _combination = config.combination || \"chain\";\n\tconst _options = config.options || {};\n\tconst _fetchOptions = config.fetchOptions || {};\n\tfunction useFactoryFetch(url, ...args) {\n\t\tconst computedUrl = computed(() => {\n\t\t\tconst baseUrl = toValue(config.baseUrl);\n\t\t\tconst targetUrl = toValue(url);\n\t\t\treturn baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n\t\t});\n\t\tlet options = _options;\n\t\tlet fetchOptions = _fetchOptions;\n\t\tif (args.length > 0) if (isFetchOptions(args[0])) options = {\n\t\t\t...options,\n\t\t\t...args[0],\n\t\t\tbeforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n\t\t\tafterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n\t\t\tonFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n\t\t};\n\t\telse fetchOptions = {\n\t\t\t...fetchOptions,\n\t\t\t...args[0],\n\t\t\theaders: {\n\t\t\t\t...headersToObject(fetchOptions.headers) || {},\n\t\t\t\t...headersToObject(args[0].headers) || {}\n\t\t\t}\n\t\t};\n\t\tif (args.length > 1 && isFetchOptions(args[1])) options = {\n\t\t\t...options,\n\t\t\t...args[1],\n\t\t\tbeforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n\t\t\tafterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n\t\t\tonFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n\t\t};\n\t\treturn useFetch(computedUrl, fetchOptions, options);\n\t}\n\treturn useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n\tvar _defaultWindow$fetch, _globalThis;\n\tconst supportsAbort = typeof AbortController === \"function\";\n\tlet fetchOptions = {};\n\tlet options = {\n\t\timmediate: true,\n\t\trefetch: false,\n\t\ttimeout: 0,\n\t\tupdateDataOnError: false\n\t};\n\tconst config = {\n\t\tmethod: \"GET\",\n\t\ttype: \"text\",\n\t\tpayload: void 0\n\t};\n\tif (args.length > 0) if (isFetchOptions(args[0])) options = {\n\t\t...options,\n\t\t...args[0]\n\t};\n\telse fetchOptions = args[0];\n\tif (args.length > 1) {\n\t\tif (isFetchOptions(args[1])) options = {\n\t\t\t...options,\n\t\t\t...args[1]\n\t\t};\n\t}\n\tconst { fetch = (_defaultWindow$fetch = defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.fetch) !== null && _defaultWindow$fetch !== void 0 ? _defaultWindow$fetch : (_globalThis = globalThis) === null || _globalThis === void 0 ? void 0 : _globalThis.fetch, initialData, timeout } = options;\n\tconst responseEvent = createEventHook();\n\tconst errorEvent = createEventHook();\n\tconst finallyEvent = createEventHook();\n\tconst isFinished = shallowRef(false);\n\tconst isFetching = shallowRef(false);\n\tconst aborted = shallowRef(false);\n\tconst statusCode = shallowRef(null);\n\tconst response = shallowRef(null);\n\tconst error = shallowRef(null);\n\tconst data = shallowRef(initialData || null);\n\tconst canAbort = computed(() => supportsAbort && isFetching.value);\n\tlet controller;\n\tlet timer;\n\tconst abort = (reason) => {\n\t\tif (supportsAbort) {\n\t\t\tcontroller === null || controller === void 0 || controller.abort(reason);\n\t\t\tcontroller = new AbortController();\n\t\t\tcontroller.signal.onabort = () => aborted.value = true;\n\t\t\tfetchOptions = {\n\t\t\t\t...fetchOptions,\n\t\t\t\tsignal: controller.signal\n\t\t\t};\n\t\t}\n\t};\n\tconst loading = (isLoading) => {\n\t\tisFetching.value = isLoading;\n\t\tisFinished.value = !isLoading;\n\t};\n\tif (timeout) timer = useTimeoutFn(abort, timeout, { immediate: false });\n\tlet executeCounter = 0;\n\tconst execute = async (throwOnFailed = false) => {\n\t\tvar _context$options;\n\t\tabort();\n\t\tloading(true);\n\t\terror.value = null;\n\t\tstatusCode.value = null;\n\t\taborted.value = false;\n\t\texecuteCounter += 1;\n\t\tconst currentExecuteCounter = executeCounter;\n\t\tconst defaultFetchOptions = {\n\t\t\tmethod: config.method,\n\t\t\theaders: {}\n\t\t};\n\t\tconst payload = toValue(config.payload);\n\t\tif (payload) {\n\t\t\tvar _payloadMapping$confi;\n\t\t\tconst headers = headersToObject(defaultFetchOptions.headers);\n\t\t\tconst proto = Object.getPrototypeOf(payload);\n\t\t\tif (!config.payloadType && payload && (proto === Object.prototype || Array.isArray(proto)) && !(payload instanceof FormData)) config.payloadType = \"json\";\n\t\t\tif (config.payloadType) headers[\"Content-Type\"] = (_payloadMapping$confi = payloadMapping[config.payloadType]) !== null && _payloadMapping$confi !== void 0 ? _payloadMapping$confi : config.payloadType;\n\t\t\tdefaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n\t\t}\n\t\tlet isCanceled = false;\n\t\tconst context = {\n\t\t\turl: toValue(url),\n\t\t\toptions: {\n\t\t\t\t...defaultFetchOptions,\n\t\t\t\t...fetchOptions\n\t\t\t},\n\t\t\tcancel: () => {\n\t\t\t\tisCanceled = true;\n\t\t\t}\n\t\t};\n\t\tif (options.beforeFetch) Object.assign(context, await options.beforeFetch(context));\n\t\tif (isCanceled || !fetch) {\n\t\t\tloading(false);\n\t\t\treturn Promise.resolve(null);\n\t\t}\n\t\tlet responseData = null;\n\t\tif (timer) timer.start();\n\t\treturn fetch(context.url, {\n\t\t\t...defaultFetchOptions,\n\t\t\t...context.options,\n\t\t\theaders: {\n\t\t\t\t...headersToObject(defaultFetchOptions.headers),\n\t\t\t\t...headersToObject((_context$options = context.options) === null || _context$options === void 0 ? void 0 : _context$options.headers)\n\t\t\t}\n\t\t}).then(async (fetchResponse) => {\n\t\t\tresponse.value = fetchResponse;\n\t\t\tstatusCode.value = fetchResponse.status;\n\t\t\tresponseData = await fetchResponse.clone()[config.type]();\n\t\t\tif (!fetchResponse.ok) {\n\t\t\t\tdata.value = initialData || null;\n\t\t\t\tthrow new Error(fetchResponse.statusText);\n\t\t\t}\n\t\t\tif (options.afterFetch) ({data: responseData} = await options.afterFetch({\n\t\t\t\tdata: responseData,\n\t\t\t\tresponse: fetchResponse,\n\t\t\t\tcontext,\n\t\t\t\texecute\n\t\t\t}));\n\t\t\tdata.value = responseData;\n\t\t\tresponseEvent.trigger(fetchResponse);\n\t\t\treturn fetchResponse;\n\t\t}).catch(async (fetchError) => {\n\t\t\tlet errorData = fetchError.message || fetchError.name;\n\t\t\tif (options.onFetchError) ({error: errorData, data: responseData} = await options.onFetchError({\n\t\t\t\tdata: responseData,\n\t\t\t\terror: fetchError,\n\t\t\t\tresponse: response.value,\n\t\t\t\tcontext,\n\t\t\t\texecute\n\t\t\t}));\n\t\t\terror.value = errorData;\n\t\t\tif (options.updateDataOnError) data.value = responseData;\n\t\t\terrorEvent.trigger(fetchError);\n\t\t\tif (throwOnFailed) throw fetchError;\n\t\t\treturn null;\n\t\t}).finally(() => {\n\t\t\tif (currentExecuteCounter === executeCounter) loading(false);\n\t\t\tif (timer) timer.stop();\n\t\t\tfinallyEvent.trigger(null);\n\t\t});\n\t};\n\tconst refetch = toRef(options.refetch);\n\twatch([refetch, toRef(url)], ([refetch]) => refetch && execute(), { deep: true });\n\tconst shell = {\n\t\tisFinished: shallowReadonly(isFinished),\n\t\tisFetching: shallowReadonly(isFetching),\n\t\tstatusCode,\n\t\tresponse,\n\t\terror,\n\t\tdata,\n\t\tcanAbort,\n\t\taborted,\n\t\tabort,\n\t\texecute,\n\t\tonFetchResponse: responseEvent.on,\n\t\tonFetchError: errorEvent.on,\n\t\tonFetchFinally: finallyEvent.on,\n\t\tget: setMethod(\"GET\"),\n\t\tput: setMethod(\"PUT\"),\n\t\tpost: setMethod(\"POST\"),\n\t\tdelete: setMethod(\"DELETE\"),\n\t\tpatch: setMethod(\"PATCH\"),\n\t\thead: setMethod(\"HEAD\"),\n\t\toptions: setMethod(\"OPTIONS\"),\n\t\tjson: setType(\"json\"),\n\t\ttext: setType(\"text\"),\n\t\tblob: setType(\"blob\"),\n\t\tarrayBuffer: setType(\"arrayBuffer\"),\n\t\tformData: setType(\"formData\")\n\t};\n\tfunction setMethod(method) {\n\t\treturn (payload, payloadType) => {\n\t\t\tif (!isFetching.value) {\n\t\t\t\tconfig.method = method;\n\t\t\t\tconfig.payload = payload;\n\t\t\t\tconfig.payloadType = payloadType;\n\t\t\t\tif (isRef(config.payload)) watch([refetch, toRef(config.payload)], ([refetch]) => refetch && execute(), { deep: true });\n\t\t\t\treturn {\n\t\t\t\t\t...shell,\n\t\t\t\t\tthen(onFulfilled, onRejected) {\n\t\t\t\t\t\treturn waitUntilFinished().then(onFulfilled, onRejected);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\t}\n\tfunction waitUntilFinished() {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuntil(isFinished).toBe(true).then(() => resolve(shell)).catch(reject);\n\t\t});\n\t}\n\tfunction setType(type) {\n\t\treturn () => {\n\t\t\tif (!isFetching.value) {\n\t\t\t\tconfig.type = type;\n\t\t\t\treturn {\n\t\t\t\t\t...shell,\n\t\t\t\t\tthen(onFulfilled, onRejected) {\n\t\t\t\t\t\treturn waitUntilFinished().then(onFulfilled, onRejected);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\t}\n\tif (options.immediate) Promise.resolve().then(() => execute());\n\treturn {\n\t\t...shell,\n\t\tthen(onFulfilled, onRejected) {\n\t\t\treturn waitUntilFinished().then(onFulfilled, onRejected);\n\t\t}\n\t};\n}\nfunction joinPaths(start, end) {\n\tif (!start.endsWith(\"/\") && !end.startsWith(\"/\")) return `${start}/${end}`;\n\tif (start.endsWith(\"/\") && end.startsWith(\"/\")) return `${start.slice(0, -1)}${end}`;\n\treturn `${start}${end}`;\n}\n//#endregion\n//#region useFileDialog/index.ts\nconst DEFAULT_OPTIONS = {\n\tmultiple: true,\n\taccept: \"*\",\n\treset: false,\n\tdirectory: false\n};\nfunction prepareInitialFiles(files) {\n\tif (!files) return null;\n\tif (files instanceof FileList) return files;\n\tconst dt = new DataTransfer();\n\tfor (const file of files) dt.items.add(file);\n\treturn dt.files;\n}\n/**\n* Open file dialog with ease.\n*\n* @see https://vueuse.org/useFileDialog\n* @param options\n*/\nfunction useFileDialog(options = {}) {\n\tconst { document = defaultDocument } = options;\n\tconst files = ref(prepareInitialFiles(options.initialFiles));\n\tconst { on: onChange, trigger: changeTrigger } = createEventHook();\n\tconst { on: onCancel, trigger: cancelTrigger } = createEventHook();\n\tconst inputRef = computed(() => {\n\t\tvar _unrefElement;\n\t\tconst input = (_unrefElement = unrefElement(options.input)) !== null && _unrefElement !== void 0 ? _unrefElement : document ? document.createElement(\"input\") : void 0;\n\t\tif (input) {\n\t\t\tinput.type = \"file\";\n\t\t\tinput.onchange = (event) => {\n\t\t\t\tfiles.value = event.target.files;\n\t\t\t\tchangeTrigger(files.value);\n\t\t\t};\n\t\t\tinput.oncancel = () => {\n\t\t\t\tcancelTrigger();\n\t\t\t};\n\t\t}\n\t\treturn input;\n\t});\n\tconst reset = () => {\n\t\tfiles.value = null;\n\t\tif (inputRef.value && inputRef.value.value) {\n\t\t\tinputRef.value.value = \"\";\n\t\t\tchangeTrigger(null);\n\t\t}\n\t};\n\tconst applyOptions = (options) => {\n\t\tconst el = inputRef.value;\n\t\tif (!el) return;\n\t\tel.multiple = toValue(options.multiple);\n\t\tel.accept = toValue(options.accept);\n\t\tel.webkitdirectory = toValue(options.directory);\n\t\tif (hasOwn(options, \"capture\")) el.capture = toValue(options.capture);\n\t};\n\tconst open = (localOptions) => {\n\t\tconst el = inputRef.value;\n\t\tif (!el) return;\n\t\tconst mergedOptions = {\n\t\t\t...DEFAULT_OPTIONS,\n\t\t\t...options,\n\t\t\t...localOptions\n\t\t};\n\t\tapplyOptions(mergedOptions);\n\t\tif (toValue(mergedOptions.reset)) reset();\n\t\tel.click();\n\t};\n\twatchEffect(() => {\n\t\tapplyOptions(options);\n\t});\n\treturn {\n\t\tfiles: readonly(files),\n\t\topen,\n\t\treset,\n\t\tonCancel,\n\t\tonChange\n\t};\n}\n//#endregion\n//#region useFileSystemAccess/index.ts\nfunction useFileSystemAccess(options = {}) {\n\tconst { window: _window = defaultWindow, dataType = \"Text\" } = options;\n\tconst window = _window;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n\tconst fileHandle = shallowRef();\n\tconst data = shallowRef();\n\tconst file = shallowRef();\n\tconst fileName = computed(() => {\n\t\tvar _file$value$name, _file$value;\n\t\treturn (_file$value$name = (_file$value = file.value) === null || _file$value === void 0 ? void 0 : _file$value.name) !== null && _file$value$name !== void 0 ? _file$value$name : \"\";\n\t});\n\tconst fileMIME = computed(() => {\n\t\tvar _file$value$type, _file$value2;\n\t\treturn (_file$value$type = (_file$value2 = file.value) === null || _file$value2 === void 0 ? void 0 : _file$value2.type) !== null && _file$value$type !== void 0 ? _file$value$type : \"\";\n\t});\n\tconst fileSize = computed(() => {\n\t\tvar _file$value$size, _file$value3;\n\t\treturn (_file$value$size = (_file$value3 = file.value) === null || _file$value3 === void 0 ? void 0 : _file$value3.size) !== null && _file$value$size !== void 0 ? _file$value$size : 0;\n\t});\n\tconst fileLastModified = computed(() => {\n\t\tvar _file$value$lastModif, _file$value4;\n\t\treturn (_file$value$lastModif = (_file$value4 = file.value) === null || _file$value4 === void 0 ? void 0 : _file$value4.lastModified) !== null && _file$value$lastModif !== void 0 ? _file$value$lastModif : 0;\n\t});\n\tasync function open(_options = {}) {\n\t\tif (!isSupported.value) return;\n\t\tconst [handle] = await window.showOpenFilePicker({\n\t\t\t...toValue(options),\n\t\t\t..._options\n\t\t});\n\t\tfileHandle.value = handle;\n\t\tawait updateData();\n\t}\n\tasync function create(_options = {}) {\n\t\tif (!isSupported.value) return;\n\t\tfileHandle.value = await window.showSaveFilePicker({\n\t\t\t...options,\n\t\t\t..._options\n\t\t});\n\t\tdata.value = void 0;\n\t\tawait updateData();\n\t}\n\tasync function save(_options = {}) {\n\t\tif (!isSupported.value) return;\n\t\tif (!fileHandle.value) return saveAs(_options);\n\t\tif (data.value) {\n\t\t\tconst writableStream = await fileHandle.value.createWritable();\n\t\t\tawait writableStream.write(data.value);\n\t\t\tawait writableStream.close();\n\t\t}\n\t\tawait updateFile();\n\t}\n\tasync function saveAs(_options = {}) {\n\t\tif (!isSupported.value) return;\n\t\tfileHandle.value = await window.showSaveFilePicker({\n\t\t\t...options,\n\t\t\t..._options\n\t\t});\n\t\tif (data.value) {\n\t\t\tconst writableStream = await fileHandle.value.createWritable();\n\t\t\tawait writableStream.write(data.value);\n\t\t\tawait writableStream.close();\n\t\t}\n\t\tawait updateFile();\n\t}\n\tasync function updateFile() {\n\t\tvar _fileHandle$value;\n\t\tfile.value = await ((_fileHandle$value = fileHandle.value) === null || _fileHandle$value === void 0 ? void 0 : _fileHandle$value.getFile());\n\t}\n\tasync function updateData() {\n\t\tvar _file$value5, _file$value6;\n\t\tawait updateFile();\n\t\tconst type = toValue(dataType);\n\t\tif (type === \"Text\") data.value = await ((_file$value5 = file.value) === null || _file$value5 === void 0 ? void 0 : _file$value5.text());\n\t\telse if (type === \"ArrayBuffer\") data.value = await ((_file$value6 = file.value) === null || _file$value6 === void 0 ? void 0 : _file$value6.arrayBuffer());\n\t\telse if (type === \"Blob\") data.value = file.value;\n\t}\n\twatch(() => toValue(dataType), updateData);\n\treturn {\n\t\tisSupported,\n\t\tdata,\n\t\tfile,\n\t\tfileName,\n\t\tfileMIME,\n\t\tfileSize,\n\t\tfileLastModified,\n\t\topen,\n\t\tcreate,\n\t\tsave,\n\t\tsaveAs,\n\t\tupdateData\n\t};\n}\n//#endregion\n//#region useFocus/index.ts\n/**\n* Track or set the focus state of a DOM element.\n*\n* @see https://vueuse.org/useFocus\n* @param target The target element for the focus and blur events.\n* @param options\n*/\nfunction useFocus(target, options = {}) {\n\tconst { initialValue = false, focusVisible = false, preventScroll = false } = options;\n\tconst innerFocused = shallowRef(false);\n\tconst targetElement = computed(() => unrefElement(target));\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(targetElement, \"focus\", (event) => {\n\t\tvar _matches, _ref;\n\t\tif (!focusVisible || ((_matches = (_ref = event.target).matches) === null || _matches === void 0 ? void 0 : _matches.call(_ref, \":focus-visible\"))) innerFocused.value = true;\n\t}, listenerOptions);\n\tuseEventListener(targetElement, \"blur\", () => innerFocused.value = false, listenerOptions);\n\tconst focused = computed({\n\t\tget: () => innerFocused.value,\n\t\tset(value) {\n\t\t\tvar _targetElement$value, _targetElement$value2;\n\t\t\tif (!value && innerFocused.value) (_targetElement$value = targetElement.value) === null || _targetElement$value === void 0 || _targetElement$value.blur();\n\t\t\telse if (value && !innerFocused.value) (_targetElement$value2 = targetElement.value) === null || _targetElement$value2 === void 0 || _targetElement$value2.focus({ preventScroll });\n\t\t}\n\t});\n\twatch(targetElement, () => {\n\t\tfocused.value = initialValue;\n\t}, {\n\t\timmediate: true,\n\t\tflush: \"post\"\n\t});\n\treturn { focused };\n}\n//#endregion\n//#region useFocusWithin/index.ts\nconst EVENT_FOCUS_IN = \"focusin\";\nconst EVENT_FOCUS_OUT = \"focusout\";\nconst PSEUDO_CLASS_FOCUS_WITHIN = \":focus-within\";\n/**\n* Track if focus is contained within the target element\n*\n* @see https://vueuse.org/useFocusWithin\n* @param target The target element to track\n* @param options Focus within options\n*/\nfunction useFocusWithin(target, options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst targetElement = computed(() => unrefElement(target));\n\tconst _focused = shallowRef(false);\n\tconst focused = computed(() => _focused.value);\n\tconst activeElement = useActiveElement(options);\n\tif (!window || !activeElement.value) return { focused };\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(targetElement, EVENT_FOCUS_IN, () => _focused.value = true, listenerOptions);\n\tuseEventListener(targetElement, EVENT_FOCUS_OUT, () => {\n\t\tvar _targetElement$value$, _targetElement$value, _targetElement$value$2;\n\t\treturn _focused.value = (_targetElement$value$ = (_targetElement$value = targetElement.value) === null || _targetElement$value === void 0 || (_targetElement$value$2 = _targetElement$value.matches) === null || _targetElement$value$2 === void 0 ? void 0 : _targetElement$value$2.call(_targetElement$value, PSEUDO_CLASS_FOCUS_WITHIN)) !== null && _targetElement$value$ !== void 0 ? _targetElement$value$ : false;\n\t}, listenerOptions);\n\treturn { focused };\n}\n//#endregion\n//#region useFps/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useFps(options) {\n\tvar _options$every;\n\tconst fps = shallowRef(0);\n\tif (typeof performance === \"undefined\") return fps;\n\tconst every = (_options$every = options === null || options === void 0 ? void 0 : options.every) !== null && _options$every !== void 0 ? _options$every : 10;\n\tlet last = performance.now();\n\tlet ticks = 0;\n\tuseRafFn(() => {\n\t\tticks += 1;\n\t\tif (ticks >= every) {\n\t\t\tconst now = performance.now();\n\t\t\tconst diff = now - last;\n\t\t\tfps.value = Math.round(1e3 / (diff / ticks));\n\t\t\tlast = now;\n\t\t\tticks = 0;\n\t\t}\n\t});\n\treturn fps;\n}\n//#endregion\n//#region useFullscreen/index.ts\nconst eventHandlers = [\n\t\"fullscreenchange\",\n\t\"webkitfullscreenchange\",\n\t\"webkitendfullscreen\",\n\t\"mozfullscreenchange\",\n\t\"MSFullscreenChange\"\n];\n/**\n* Reactive Fullscreen API.\n*\n* @see https://vueuse.org/useFullscreen\n* @param target\n* @param options\n*/\nfunction useFullscreen(target, options = {}) {\n\tconst { document = defaultDocument, autoExit = false } = options;\n\tconst targetRef = computed(() => {\n\t\tvar _unrefElement;\n\t\treturn (_unrefElement = unrefElement(target)) !== null && _unrefElement !== void 0 ? _unrefElement : document === null || document === void 0 ? void 0 : document.documentElement;\n\t});\n\tconst isFullscreen = shallowRef(false);\n\tconst requestMethod = computed(() => {\n\t\treturn [\n\t\t\t\"requestFullscreen\",\n\t\t\t\"webkitRequestFullscreen\",\n\t\t\t\"webkitEnterFullscreen\",\n\t\t\t\"webkitEnterFullScreen\",\n\t\t\t\"webkitRequestFullScreen\",\n\t\t\t\"mozRequestFullScreen\",\n\t\t\t\"msRequestFullscreen\"\n\t\t].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n\t});\n\tconst exitMethod = computed(() => {\n\t\treturn [\n\t\t\t\"exitFullscreen\",\n\t\t\t\"webkitExitFullscreen\",\n\t\t\t\"webkitExitFullScreen\",\n\t\t\t\"webkitCancelFullScreen\",\n\t\t\t\"mozCancelFullScreen\",\n\t\t\t\"msExitFullscreen\"\n\t\t].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n\t});\n\tconst fullscreenEnabled = computed(() => {\n\t\treturn [\n\t\t\t\"fullScreen\",\n\t\t\t\"webkitIsFullScreen\",\n\t\t\t\"webkitDisplayingFullscreen\",\n\t\t\t\"mozFullScreen\",\n\t\t\t\"msFullscreenElement\"\n\t\t].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n\t});\n\tconst fullscreenElementMethod = [\n\t\t\"fullscreenElement\",\n\t\t\"webkitFullscreenElement\",\n\t\t\"mozFullScreenElement\",\n\t\t\"msFullscreenElement\"\n\t].find((m) => document && m in document);\n\tconst isSupported = /* @__PURE__ */ useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n\tconst isCurrentElementFullScreen = () => {\n\t\tif (fullscreenElementMethod) return (document === null || document === void 0 ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n\t\treturn false;\n\t};\n\tconst isElementFullScreen = () => {\n\t\tif (fullscreenEnabled.value) if (document && document[fullscreenEnabled.value] != null) return document[fullscreenEnabled.value];\n\t\telse {\n\t\t\tconst target = targetRef.value;\n\t\t\tif ((target === null || target === void 0 ? void 0 : target[fullscreenEnabled.value]) != null) return Boolean(target[fullscreenEnabled.value]);\n\t\t}\n\t\treturn false;\n\t};\n\tasync function exit() {\n\t\tif (!isSupported.value || !isFullscreen.value) return;\n\t\tif (exitMethod.value) if ((document === null || document === void 0 ? void 0 : document[exitMethod.value]) != null) await document[exitMethod.value]();\n\t\telse {\n\t\t\tconst target = targetRef.value;\n\t\t\tif ((target === null || target === void 0 ? void 0 : target[exitMethod.value]) != null) await target[exitMethod.value]();\n\t\t}\n\t\tisFullscreen.value = false;\n\t}\n\tasync function enter() {\n\t\tif (!isSupported.value || isFullscreen.value) return;\n\t\tif (isElementFullScreen()) await exit();\n\t\tconst target = targetRef.value;\n\t\tif (requestMethod.value && (target === null || target === void 0 ? void 0 : target[requestMethod.value]) != null) {\n\t\t\tawait target[requestMethod.value]();\n\t\t\tisFullscreen.value = true;\n\t\t}\n\t}\n\tasync function toggle() {\n\t\tawait (isFullscreen.value ? exit() : enter());\n\t}\n\tconst handlerCallback = () => {\n\t\tconst isElementFullScreenValue = isElementFullScreen();\n\t\tif (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen()) isFullscreen.value = isElementFullScreenValue;\n\t};\n\tconst listenerOptions = {\n\t\tcapture: false,\n\t\tpassive: true\n\t};\n\tuseEventListener(document, eventHandlers, handlerCallback, listenerOptions);\n\tuseEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, listenerOptions);\n\ttryOnMounted(handlerCallback, false);\n\tif (autoExit) tryOnScopeDispose(exit);\n\treturn {\n\t\tisSupported,\n\t\tisFullscreen,\n\t\tenter,\n\t\texit,\n\t\ttoggle\n\t};\n}\n//#endregion\n//#region useGamepad/index.ts\n/**\n* Maps a standard standard gamepad to an Xbox 360 Controller.\n*/\nfunction mapGamepadToXbox360Controller(gamepad) {\n\treturn computed(() => {\n\t\tif (gamepad.value) return {\n\t\t\tbuttons: {\n\t\t\t\ta: gamepad.value.buttons[0],\n\t\t\t\tb: gamepad.value.buttons[1],\n\t\t\t\tx: gamepad.value.buttons[2],\n\t\t\t\ty: gamepad.value.buttons[3]\n\t\t\t},\n\t\t\tbumper: {\n\t\t\t\tleft: gamepad.value.buttons[4],\n\t\t\t\tright: gamepad.value.buttons[5]\n\t\t\t},\n\t\t\ttriggers: {\n\t\t\t\tleft: gamepad.value.buttons[6],\n\t\t\t\tright: gamepad.value.buttons[7]\n\t\t\t},\n\t\t\tstick: {\n\t\t\t\tleft: {\n\t\t\t\t\thorizontal: gamepad.value.axes[0],\n\t\t\t\t\tvertical: gamepad.value.axes[1],\n\t\t\t\t\tbutton: gamepad.value.buttons[10]\n\t\t\t\t},\n\t\t\t\tright: {\n\t\t\t\t\thorizontal: gamepad.value.axes[2],\n\t\t\t\t\tvertical: gamepad.value.axes[3],\n\t\t\t\t\tbutton: gamepad.value.buttons[11]\n\t\t\t\t}\n\t\t\t},\n\t\t\tdpad: {\n\t\t\t\tup: gamepad.value.buttons[12],\n\t\t\t\tdown: gamepad.value.buttons[13],\n\t\t\t\tleft: gamepad.value.buttons[14],\n\t\t\t\tright: gamepad.value.buttons[15]\n\t\t\t},\n\t\t\tback: gamepad.value.buttons[8],\n\t\t\tstart: gamepad.value.buttons[9]\n\t\t};\n\t\treturn null;\n\t});\n}\n/* @__NO_SIDE_EFFECTS__ */\nfunction useGamepad(options = {}) {\n\tconst { navigator = defaultNavigator } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"getGamepads\" in navigator);\n\tconst gamepads = ref([]);\n\tconst onConnectedHook = createEventHook();\n\tconst onDisconnectedHook = createEventHook();\n\tconst stateFromGamepad = (gamepad) => {\n\t\tconst hapticActuators = [];\n\t\tconst vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n\t\tif (vibrationActuator) hapticActuators.push(vibrationActuator);\n\t\tif (gamepad.hapticActuators) hapticActuators.push(...gamepad.hapticActuators);\n\t\treturn {\n\t\t\tid: gamepad.id,\n\t\t\tindex: gamepad.index,\n\t\t\tconnected: gamepad.connected,\n\t\t\tmapping: gamepad.mapping,\n\t\t\ttimestamp: gamepad.timestamp,\n\t\t\tvibrationActuator: gamepad.vibrationActuator,\n\t\t\thapticActuators,\n\t\t\taxes: gamepad.axes.map((axes) => axes),\n\t\t\tbuttons: gamepad.buttons.map((button) => ({\n\t\t\t\tpressed: button.pressed,\n\t\t\t\ttouched: button.touched,\n\t\t\t\tvalue: button.value\n\t\t\t}))\n\t\t};\n\t};\n\tconst updateGamepadState = () => {\n\t\tconst _gamepads = (navigator === null || navigator === void 0 ? void 0 : navigator.getGamepads()) || [];\n\t\tfor (const gamepad of _gamepads) if (gamepad && gamepads.value[gamepad.index]) gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n\t};\n\tconst { isActive, pause, resume } = useRafFn(updateGamepadState);\n\tconst onGamepadConnected = (gamepad) => {\n\t\tif (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n\t\t\tgamepads.value.push(stateFromGamepad(gamepad));\n\t\t\tonConnectedHook.trigger(gamepad.index);\n\t\t}\n\t\tresume();\n\t};\n\tconst onGamepadDisconnected = (gamepad) => {\n\t\tgamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n\t\tonDisconnectedHook.trigger(gamepad.index);\n\t};\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad), listenerOptions);\n\tuseEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad), listenerOptions);\n\ttryOnMounted(() => {\n\t\tconst _gamepads = (navigator === null || navigator === void 0 ? void 0 : navigator.getGamepads()) || [];\n\t\tfor (const gamepad of _gamepads) if (gamepad && gamepads.value[gamepad.index]) onGamepadConnected(gamepad);\n\t});\n\tpause();\n\treturn {\n\t\tisSupported,\n\t\tonConnected: onConnectedHook.on,\n\t\tonDisconnected: onDisconnectedHook.on,\n\t\tgamepads,\n\t\tpause,\n\t\tresume,\n\t\tisActive\n\t};\n}\n//#endregion\n//#region useGeolocation/index.ts\n/**\n* Reactive Geolocation API.\n*\n* @see https://vueuse.org/useGeolocation\n* @param options\n*/\nfunction useGeolocation(options = {}) {\n\tconst { enableHighAccuracy = true, maximumAge = 3e4, timeout = 27e3, navigator = defaultNavigator, immediate = true } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"geolocation\" in navigator);\n\tconst locatedAt = shallowRef(null);\n\tconst error = shallowRef(null);\n\tconst coords = shallowRef({\n\t\taccuracy: 0,\n\t\tlatitude: Number.POSITIVE_INFINITY,\n\t\tlongitude: Number.POSITIVE_INFINITY,\n\t\taltitude: null,\n\t\taltitudeAccuracy: null,\n\t\theading: null,\n\t\tspeed: null\n\t});\n\tfunction updatePosition(position) {\n\t\tlocatedAt.value = position.timestamp;\n\t\tcoords.value = position.coords;\n\t\terror.value = null;\n\t}\n\tlet watcher;\n\tfunction resume() {\n\t\tif (isSupported.value) watcher = navigator.geolocation.watchPosition(updatePosition, (err) => error.value = err, {\n\t\t\tenableHighAccuracy,\n\t\t\tmaximumAge,\n\t\t\ttimeout\n\t\t});\n\t}\n\tif (immediate) resume();\n\tfunction pause() {\n\t\tif (watcher && navigator) navigator.geolocation.clearWatch(watcher);\n\t}\n\ttryOnScopeDispose(() => {\n\t\tpause();\n\t});\n\treturn {\n\t\tisSupported,\n\t\tcoords,\n\t\tlocatedAt,\n\t\terror,\n\t\tresume,\n\t\tpause\n\t};\n}\n//#endregion\n//#region useIdle/index.ts\nconst defaultEvents$1 = [\n\t\"mousemove\",\n\t\"mousedown\",\n\t\"resize\",\n\t\"keydown\",\n\t\"touchstart\",\n\t\"wheel\"\n];\nconst oneMinute = 6e4;\n/**\n* Tracks whether the user is being inactive.\n*\n* @see https://vueuse.org/useIdle\n* @param timeout default to 1 minute\n* @param options IdleOptions\n*/\nfunction useIdle(timeout = oneMinute, options = {}) {\n\tconst { initialState = false, listenForVisibilityChange = true, events = defaultEvents$1, window = defaultWindow, eventFilter = throttleFilter(50) } = options;\n\tconst idle = shallowRef(initialState);\n\tconst lastActive = shallowRef(timestamp());\n\tconst isPending = shallowRef(false);\n\tlet timer;\n\tconst reset = () => {\n\t\tidle.value = false;\n\t\tclearTimeout(timer);\n\t\ttimer = setTimeout(() => idle.value = true, timeout);\n\t};\n\tconst onEvent = createFilterWrapper(eventFilter, () => {\n\t\tlastActive.value = timestamp();\n\t\treset();\n\t});\n\tif (window) {\n\t\tconst document = window.document;\n\t\tconst listenerOptions = { passive: true };\n\t\tfor (const event of events) useEventListener(window, event, () => {\n\t\t\tif (!isPending.value) return;\n\t\t\tonEvent();\n\t\t}, listenerOptions);\n\t\tif (listenForVisibilityChange) useEventListener(document, \"visibilitychange\", () => {\n\t\t\tif (document.hidden || !isPending.value) return;\n\t\t\tonEvent();\n\t\t}, listenerOptions);\n\t\tstart();\n\t}\n\tfunction start() {\n\t\tif (isPending.value) return;\n\t\tisPending.value = true;\n\t\tif (!initialState) reset();\n\t}\n\tfunction stop() {\n\t\tidle.value = initialState;\n\t\tclearTimeout(timer);\n\t\tisPending.value = false;\n\t}\n\treturn {\n\t\tidle,\n\t\tlastActive,\n\t\treset,\n\t\tstop,\n\t\tstart,\n\t\tisPending: shallowReadonly(isPending)\n\t};\n}\n//#endregion\n//#region useImage/index.ts\nasync function loadImage(options) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst img = new Image();\n\t\tconst { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy, width, height, decoding, fetchPriority, ismap, usemap } = options;\n\t\timg.src = src;\n\t\tif (srcset != null) img.srcset = srcset;\n\t\tif (sizes != null) img.sizes = sizes;\n\t\tif (clazz != null) img.className = clazz;\n\t\tif (loading != null) img.loading = loading;\n\t\tif (crossorigin != null) img.crossOrigin = crossorigin;\n\t\tif (referrerPolicy != null) img.referrerPolicy = referrerPolicy;\n\t\tif (width != null) img.width = width;\n\t\tif (height != null) img.height = height;\n\t\tif (decoding != null) img.decoding = decoding;\n\t\tif (fetchPriority != null) img.fetchPriority = fetchPriority;\n\t\tif (ismap != null) img.isMap = ismap;\n\t\tif (usemap != null) img.useMap = usemap;\n\t\timg.onload = () => resolve(img);\n\t\timg.onerror = reject;\n\t});\n}\n/**\n* Reactive load an image in the browser, you can wait the result to display it or show a fallback.\n*\n* @see https://vueuse.org/useImage\n* @param options Image attributes, as used in the <img> tag\n* @param asyncStateOptions\n*/\nfunction useImage(options, asyncStateOptions = {}) {\n\tconst state = useAsyncState(() => loadImage(toValue(options)), void 0, {\n\t\tresetOnExecute: true,\n\t\t...asyncStateOptions\n\t});\n\twatch(() => toValue(options), () => state.execute(asyncStateOptions.delay), { deep: true });\n\treturn state;\n}\n//#endregion\n//#region _resolve-element.ts\n/**\n* Resolves an element from a given element, window, or document.\n*\n* @internal\n*/\nfunction resolveElement(el) {\n\tif (typeof Window !== \"undefined\" && el instanceof Window) return el.document.documentElement;\n\tif (typeof Document !== \"undefined\" && el instanceof Document) return el.documentElement;\n\treturn el;\n}\n//#endregion\n//#region useScroll/index.ts\n/**\n* We have to check if the scroll amount is close enough to some threshold in order to\n* more accurately calculate arrivedState. This is because scrollTop/scrollLeft are non-rounded\n* numbers, while scrollHeight/scrollWidth and clientHeight/clientWidth are rounded.\n* https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#determine_if_an_element_has_been_totally_scrolled\n*/\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\n/**\n* Reactive scroll.\n*\n* @see https://vueuse.org/useScroll\n* @param element\n* @param options\n*/\nfunction useScroll(element, options = {}) {\n\tconst { throttle = 0, idle = 200, onStop = noop, onScroll = noop, offset = {\n\t\tleft: 0,\n\t\tright: 0,\n\t\ttop: 0,\n\t\tbottom: 0\n\t}, observe: _observe = { mutation: false }, eventListenerOptions = {\n\t\tcapture: false,\n\t\tpassive: true\n\t}, behavior = \"auto\", window = defaultWindow, onError = (e) => {\n\t\tconsole.error(e);\n\t} } = options;\n\tconst observe = typeof _observe === \"boolean\" ? { mutation: _observe } : _observe;\n\tconst internalX = shallowRef(0);\n\tconst internalY = shallowRef(0);\n\tconst x = computed({\n\t\tget() {\n\t\t\treturn internalX.value;\n\t\t},\n\t\tset(x) {\n\t\t\tscrollTo(x, void 0);\n\t\t}\n\t});\n\tconst y = computed({\n\t\tget() {\n\t\t\treturn internalY.value;\n\t\t},\n\t\tset(y) {\n\t\t\tscrollTo(void 0, y);\n\t\t}\n\t});\n\tfunction scrollTo(_x, _y) {\n\t\tvar _ref, _toValue, _toValue2, _document;\n\t\tif (!window) return;\n\t\tconst _element = toValue(element);\n\t\tif (!_element) return;\n\t\t(_ref = _element instanceof Document ? window.document.body : _element) === null || _ref === void 0 || _ref.scrollTo({\n\t\t\ttop: (_toValue = toValue(_y)) !== null && _toValue !== void 0 ? _toValue : y.value,\n\t\t\tleft: (_toValue2 = toValue(_x)) !== null && _toValue2 !== void 0 ? _toValue2 : x.value,\n\t\t\tbehavior: toValue(behavior)\n\t\t});\n\t\tconst scrollContainer = (_element === null || _element === void 0 || (_document = _element.document) === null || _document === void 0 ? void 0 : _document.documentElement) || (_element === null || _element === void 0 ? void 0 : _element.documentElement) || _element;\n\t\tif (x != null) internalX.value = scrollContainer.scrollLeft;\n\t\tif (y != null) internalY.value = scrollContainer.scrollTop;\n\t}\n\tconst isScrolling = shallowRef(false);\n\tconst arrivedState = reactive({\n\t\tleft: true,\n\t\tright: false,\n\t\ttop: true,\n\t\tbottom: false\n\t});\n\tconst directions = reactive({\n\t\tleft: false,\n\t\tright: false,\n\t\ttop: false,\n\t\tbottom: false\n\t});\n\tconst onScrollEnd = (e) => {\n\t\tif (!isScrolling.value) return;\n\t\tisScrolling.value = false;\n\t\tdirections.left = false;\n\t\tdirections.right = false;\n\t\tdirections.top = false;\n\t\tdirections.bottom = false;\n\t\tonStop(e);\n\t};\n\tconst onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n\tconst setArrivedState = (target) => {\n\t\tvar _document2;\n\t\tif (!window) return;\n\t\tconst el = (target === null || target === void 0 || (_document2 = target.document) === null || _document2 === void 0 ? void 0 : _document2.documentElement) || (target === null || target === void 0 ? void 0 : target.documentElement) || unrefElement(target);\n\t\tconst { display, flexDirection, direction } = window.getComputedStyle(el);\n\t\tconst directionMultipler = direction === \"rtl\" ? -1 : 1;\n\t\tconst scrollLeft = el.scrollLeft;\n\t\tdirections.left = scrollLeft < internalX.value;\n\t\tdirections.right = scrollLeft > internalX.value;\n\t\tconst left = Math.abs(scrollLeft * directionMultipler) <= (offset.left || 0);\n\t\tconst right = Math.abs(scrollLeft * directionMultipler) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\t\tif (display === \"flex\" && flexDirection === \"row-reverse\") {\n\t\t\tarrivedState.left = right;\n\t\t\tarrivedState.right = left;\n\t\t} else {\n\t\t\tarrivedState.left = left;\n\t\t\tarrivedState.right = right;\n\t\t}\n\t\tinternalX.value = scrollLeft;\n\t\tlet scrollTop = el.scrollTop;\n\t\tif (target === window.document && !scrollTop) scrollTop = window.document.body.scrollTop;\n\t\tdirections.top = scrollTop < internalY.value;\n\t\tdirections.bottom = scrollTop > internalY.value;\n\t\tconst top = Math.abs(scrollTop) <= (offset.top || 0);\n\t\tconst bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n\t\t/**\n\t\t* reverse columns and rows behave exactly the other way around,\n\t\t* bottom is treated as top and top is treated as the negative version of bottom\n\t\t*/\n\t\tif (display === \"flex\" && flexDirection === \"column-reverse\") {\n\t\t\tarrivedState.top = bottom;\n\t\t\tarrivedState.bottom = top;\n\t\t} else {\n\t\t\tarrivedState.top = top;\n\t\t\tarrivedState.bottom = bottom;\n\t\t}\n\t\tinternalY.value = scrollTop;\n\t};\n\tconst onScrollHandler = (e) => {\n\t\tvar _documentElement;\n\t\tif (!window) return;\n\t\tsetArrivedState((_documentElement = e.target.documentElement) !== null && _documentElement !== void 0 ? _documentElement : e.target);\n\t\tisScrolling.value = true;\n\t\tonScrollEndDebounced(e);\n\t\tonScroll(e);\n\t};\n\tuseEventListener(element, \"scroll\", throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler, eventListenerOptions);\n\ttryOnMounted(() => {\n\t\ttry {\n\t\t\tconst _element = toValue(element);\n\t\t\tif (!_element) return;\n\t\t\tsetArrivedState(_element);\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t});\n\tif ((observe === null || observe === void 0 ? void 0 : observe.mutation) && element != null && element !== window && element !== document) useMutationObserver(element, () => {\n\t\tconst _element = toValue(element);\n\t\tif (!_element) return;\n\t\tsetArrivedState(_element);\n\t}, {\n\t\tattributes: true,\n\t\tchildList: true,\n\t\tsubtree: true\n\t});\n\tuseEventListener(element, \"scrollend\", onScrollEnd, eventListenerOptions);\n\treturn {\n\t\tx,\n\t\ty,\n\t\tisScrolling,\n\t\tarrivedState,\n\t\tdirections,\n\t\tmeasure() {\n\t\t\tconst _element = toValue(element);\n\t\t\tif (window && _element) setArrivedState(_element);\n\t\t}\n\t};\n}\n//#endregion\n//#region useInfiniteScroll/index.ts\n/**\n* Reactive infinite scroll.\n*\n* @see https://vueuse.org/useInfiniteScroll\n*/\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n\tvar _options$distance;\n\tconst { direction = \"bottom\", interval = 100, canLoadMore = () => true } = options;\n\tconst state = reactive(useScroll(element, {\n\t\t...options,\n\t\toffset: {\n\t\t\t[direction]: (_options$distance = options.distance) !== null && _options$distance !== void 0 ? _options$distance : 0,\n\t\t\t...options.offset\n\t\t}\n\t}));\n\tconst promise = shallowRef();\n\tconst isLoading = computed(() => !!promise.value);\n\tconst observedElement = computed(() => {\n\t\treturn resolveElement(toValue(element));\n\t});\n\tconst isElementVisible = useElementVisibility(observedElement);\n\tconst canLoad = computed(() => {\n\t\tif (!observedElement.value) return false;\n\t\treturn canLoadMore(observedElement.value);\n\t});\n\tfunction checkAndLoad() {\n\t\tstate.measure();\n\t\tif (!observedElement.value || !isElementVisible.value || !canLoad.value || promise.value) return;\n\t\tconst { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n\t\tconst isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n\t\tif (state.arrivedState[direction] || isNarrower) promise.value = Promise.all([onLoadMore(state), new Promise((resolve) => setTimeout(resolve, interval))]).finally(() => {\n\t\t\tpromise.value = null;\n\t\t\tnextTick(() => checkAndLoad());\n\t\t});\n\t}\n\ttryOnUnmounted(watch(() => [\n\t\tstate.arrivedState[direction],\n\t\tisElementVisible.value,\n\t\tcanLoad.value\n\t], checkAndLoad, {\n\t\timmediate: true,\n\t\tflush: \"post\"\n\t}));\n\treturn {\n\t\tisLoading,\n\t\treset() {\n\t\t\tnextTick(() => checkAndLoad());\n\t\t}\n\t};\n}\n//#endregion\n//#region useKeyModifier/index.ts\nconst defaultEvents = [\n\t\"mousedown\",\n\t\"mouseup\",\n\t\"keydown\",\n\t\"keyup\"\n];\n/* @__NO_SIDE_EFFECTS__ */\nfunction useKeyModifier(modifier, options = {}) {\n\tconst { events = defaultEvents, document = defaultDocument, initial = null } = options;\n\tconst state = shallowRef(initial);\n\tif (document) events.forEach((listenerEvent) => {\n\t\tuseEventListener(document, listenerEvent, (evt) => {\n\t\t\tif (typeof evt.getModifierState === \"function\") state.value = evt.getModifierState(modifier);\n\t\t}, { passive: true });\n\t});\n\treturn state;\n}\n//#endregion\n//#region useLocalStorage/index.ts\n/**\n* Reactive LocalStorage.\n*\n* @see https://vueuse.org/useLocalStorage\n* @param key\n* @param initialValue\n* @param options\n*/\nfunction useLocalStorage(key, initialValue, options = {}) {\n\tconst { window = defaultWindow } = options;\n\treturn useStorage(key, initialValue, window === null || window === void 0 ? void 0 : window.localStorage, options);\n}\n//#endregion\n//#region useMagicKeys/aliasMap.ts\nconst DefaultMagicKeysAliasMap = {\n\tctrl: \"control\",\n\tcommand: \"meta\",\n\tcmd: \"meta\",\n\toption: \"alt\",\n\tup: \"arrowup\",\n\tdown: \"arrowdown\",\n\tleft: \"arrowleft\",\n\tright: \"arrowright\"\n};\n//#endregion\n//#region useMagicKeys/index.ts\n/**\n* Reactive keys pressed state, with magical keys combination support.\n*\n* @see https://vueuse.org/useMagicKeys\n*/\nfunction useMagicKeys(options = {}) {\n\tconst { reactive: useReactive = false, target = defaultWindow, aliasMap = DefaultMagicKeysAliasMap, passive = true, onEventFired = noop } = options;\n\tconst current = reactive(/* @__PURE__ */ new Set());\n\tconst obj = {\n\t\ttoJSON() {\n\t\t\treturn {};\n\t\t},\n\t\tcurrent\n\t};\n\tconst refs = useReactive ? reactive(obj) : obj;\n\tconst metaDeps = /* @__PURE__ */ new Set();\n\tconst depsMap = new Map([\n\t\t[\"Meta\", metaDeps],\n\t\t[\"Shift\", /* @__PURE__ */ new Set()],\n\t\t[\"Alt\", /* @__PURE__ */ new Set()]\n\t]);\n\tconst usedKeys = /* @__PURE__ */ new Set();\n\tfunction setRefs(key, value) {\n\t\tif (key in refs) if (useReactive) refs[key] = value;\n\t\telse refs[key].value = value;\n\t}\n\tfunction reset() {\n\t\tcurrent.clear();\n\t\tfor (const key of usedKeys) setRefs(key, false);\n\t}\n\tfunction updateDeps(value, e, keys) {\n\t\tif (!value || typeof e.getModifierState !== \"function\") return;\n\t\tfor (const [modifier, depsSet] of depsMap) if (e.getModifierState(modifier)) {\n\t\t\tkeys.forEach((key) => depsSet.add(key));\n\t\t\tbreak;\n\t\t}\n\t}\n\tfunction clearDeps(value, key) {\n\t\tif (value) return;\n\t\tconst depsMapKey = `${key[0].toUpperCase()}${key.slice(1)}`;\n\t\tconst deps = depsMap.get(depsMapKey);\n\t\tif (![\"shift\", \"alt\"].includes(key) || !deps) return;\n\t\tconst depsArray = Array.from(deps);\n\t\tconst depsIndex = depsArray.indexOf(key);\n\t\tdepsArray.forEach((key, index) => {\n\t\t\tif (index >= depsIndex) {\n\t\t\t\tcurrent.delete(key);\n\t\t\t\tsetRefs(key, false);\n\t\t\t}\n\t\t});\n\t\tdeps.clear();\n\t}\n\tfunction updateRefs(e, value) {\n\t\tvar _e$key, _e$code;\n\t\tconst key = (_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.toLowerCase();\n\t\tconst values = [(_e$code = e.code) === null || _e$code === void 0 ? void 0 : _e$code.toLowerCase(), key].filter(Boolean);\n\t\tif (!key) return;\n\t\tif (key) if (value) current.add(key);\n\t\telse current.delete(key);\n\t\tfor (const key of values) {\n\t\t\tusedKeys.add(key);\n\t\t\tsetRefs(key, value);\n\t\t}\n\t\tupdateDeps(value, e, [...current, ...values]);\n\t\tclearDeps(value, key);\n\t\tif (key === \"meta\" && !value) {\n\t\t\tmetaDeps.forEach((key) => {\n\t\t\t\tcurrent.delete(key);\n\t\t\t\tsetRefs(key, false);\n\t\t\t});\n\t\t\tmetaDeps.clear();\n\t\t}\n\t}\n\tuseEventListener(target, \"keydown\", (e) => {\n\t\tupdateRefs(e, true);\n\t\treturn onEventFired(e);\n\t}, { passive });\n\tuseEventListener(target, \"keyup\", (e) => {\n\t\tupdateRefs(e, false);\n\t\treturn onEventFired(e);\n\t}, { passive });\n\tuseEventListener(\"blur\", reset, { passive });\n\tuseEventListener(\"focus\", reset, { passive });\n\tconst proxy = new Proxy(refs, { get(target, prop, rec) {\n\t\tif (typeof prop !== \"string\") return Reflect.get(target, prop, rec);\n\t\tprop = prop.toLowerCase();\n\t\tif (prop in aliasMap) prop = aliasMap[prop];\n\t\tif (!(prop in refs)) if (/[+_-]/.test(prop)) {\n\t\t\tconst keys = prop.split(/[+_-]/g).map((i) => i.trim());\n\t\t\trefs[prop] = computed(() => keys.map((key) => toValue(proxy[key])).every(Boolean));\n\t\t} else refs[prop] = shallowRef(false);\n\t\tconst r = Reflect.get(target, prop, rec);\n\t\treturn useReactive ? toValue(r) : r;\n\t} });\n\treturn proxy;\n}\n//#endregion\n//#region useMediaControls/index.ts\n/**\n* Automatically check if the ref exists and if it does run the cb fn\n*/\nfunction usingElRef(source, cb) {\n\tif (toValue(source)) cb(toValue(source));\n}\n/**\n* Converts a TimeRange object to an array\n*/\nfunction timeRangeToArray(timeRanges) {\n\tlet ranges = [];\n\tfor (let i = 0; i < timeRanges.length; ++i) ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n\treturn ranges;\n}\n/**\n* Converts a TextTrackList object to an array of `UseMediaTextTrack`\n*/\nfunction tracksToArray(tracks) {\n\treturn Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({\n\t\tid,\n\t\tlabel,\n\t\tkind,\n\t\tlanguage,\n\t\tmode,\n\t\tactiveCues,\n\t\tcues,\n\t\tinBandMetadataTrackDispatchType\n\t}));\n}\nconst defaultOptions = {\n\tsrc: \"\",\n\ttracks: []\n};\nfunction useMediaControls(target, options = {}) {\n\ttarget = toRef(target);\n\toptions = {\n\t\t...defaultOptions,\n\t\t...options\n\t};\n\tconst { document = defaultDocument } = options;\n\tconst listenerOptions = { passive: true };\n\tconst currentTime = shallowRef(0);\n\tconst duration = shallowRef(0);\n\tconst seeking = shallowRef(false);\n\tconst volume = shallowRef(1);\n\tconst waiting = shallowRef(false);\n\tconst ended = shallowRef(false);\n\tconst playing = shallowRef(false);\n\tconst rate = shallowRef(1);\n\tconst stalled = shallowRef(false);\n\tconst buffered = shallowRef([]);\n\tconst tracks = shallowRef([]);\n\tconst selectedTrack = shallowRef(-1);\n\tconst isPictureInPicture = shallowRef(false);\n\tconst muted = shallowRef(false);\n\tconst supportsPictureInPicture = Boolean(document && \"pictureInPictureEnabled\" in document);\n\tconst sourceErrorEvent = createEventHook();\n\tconst playbackErrorEvent = createEventHook();\n\t/**\n\t* Disables the specified track. If no track is specified then\n\t* all tracks will be disabled\n\t*\n\t* @param track The id of the track to disable\n\t*/\n\tconst disableTrack = (track) => {\n\t\tusingElRef(target, (el) => {\n\t\t\tif (track) {\n\t\t\t\tconst id = typeof track === \"number\" ? track : track.id;\n\t\t\t\tel.textTracks[id].mode = \"disabled\";\n\t\t\t} else for (let i = 0; i < el.textTracks.length; ++i) el.textTracks[i].mode = \"disabled\";\n\t\t\tselectedTrack.value = -1;\n\t\t});\n\t};\n\t/**\n\t* Enables the specified track and disables the\n\t* other tracks unless otherwise specified\n\t*\n\t* @param track The track of the id of the track to enable\n\t* @param disableTracks Disable all other tracks\n\t*/\n\tconst enableTrack = (track, disableTracks = true) => {\n\t\tusingElRef(target, (el) => {\n\t\t\tconst id = typeof track === \"number\" ? track : track.id;\n\t\t\tif (disableTracks) disableTrack();\n\t\t\tel.textTracks[id].mode = \"showing\";\n\t\t\tselectedTrack.value = id;\n\t\t});\n\t};\n\t/**\n\t* Toggle picture in picture mode for the player.\n\t*/\n\tconst togglePictureInPicture = () => {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tusingElRef(target, async (el) => {\n\t\t\t\tif (supportsPictureInPicture) if (!isPictureInPicture.value) el.requestPictureInPicture().then(resolve).catch(reject);\n\t\t\t\telse document.exitPictureInPicture().then(resolve).catch(reject);\n\t\t\t});\n\t\t});\n\t};\n\t/**\n\t* This will automatically inject sources to the media element. The sources will be\n\t* appended as children to the media element as `<source>` elements.\n\t*/\n\twatchEffect(() => {\n\t\tif (!document) return;\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tconst src = toValue(options.src);\n\t\tlet sources = [];\n\t\tif (!src) return;\n\t\tif (typeof src === \"string\") sources = [{ src }];\n\t\telse if (Array.isArray(src)) sources = src;\n\t\telse if (isObject(src)) sources = [src];\n\t\tel.querySelectorAll(\"source\").forEach((e) => {\n\t\t\te.remove();\n\t\t});\n\t\tsources.forEach(({ src, type, media }) => {\n\t\t\tconst source = document.createElement(\"source\");\n\t\t\tsource.setAttribute(\"src\", src);\n\t\t\tsource.setAttribute(\"type\", type || \"\");\n\t\t\tsource.setAttribute(\"media\", media || \"\");\n\t\t\tuseEventListener(source, \"error\", sourceErrorEvent.trigger, listenerOptions);\n\t\t\tel.appendChild(source);\n\t\t});\n\t\tel.load();\n\t});\n\t/**\n\t* Apply composable state to the element, also when element is changed\n\t*/\n\twatch([target, volume], () => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tel.volume = volume.value;\n\t});\n\twatch([target, muted], () => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tel.muted = muted.value;\n\t});\n\twatch([target, rate], () => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tel.playbackRate = rate.value;\n\t});\n\t/**\n\t* Load Tracks\n\t*/\n\twatchEffect(() => {\n\t\tif (!document) return;\n\t\tconst textTracks = toValue(options.tracks);\n\t\tconst el = toValue(target);\n\t\tif (!textTracks || !textTracks.length || !el) return;\n\t\t/**\n\t\t* The MediaAPI provides an API for adding text tracks, but they don't currently\n\t\t* have an API for removing text tracks, so instead we will just create and remove\n\t\t* the tracks manually using the HTML api.\n\t\t*/\n\t\tel.querySelectorAll(\"track\").forEach((e) => e.remove());\n\t\ttextTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n\t\t\tconst track = document.createElement(\"track\");\n\t\t\ttrack.default = isDefault || false;\n\t\t\ttrack.kind = kind;\n\t\t\ttrack.label = label;\n\t\t\ttrack.src = src;\n\t\t\ttrack.srclang = srcLang;\n\t\t\tif (track.default) selectedTrack.value = i;\n\t\t\tel.appendChild(track);\n\t\t});\n\t});\n\t/**\n\t* This will allow us to update the current time from the timeupdate event\n\t* without setting the medias current position, but if the user changes the\n\t* current time via the ref, then the media will seek.\n\t*\n\t* If we did not use an ignorable watch, then the current time update from\n\t* the timeupdate event would cause the media to stutter.\n\t*/\n\tconst { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tel.currentTime = time;\n\t});\n\t/**\n\t* Using an ignorable watch so we can control the play state using a ref and not\n\t* a function\n\t*/\n\tconst { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tif (isPlaying) el.play().catch((e) => {\n\t\t\tplaybackErrorEvent.trigger(e);\n\t\t\tthrow e;\n\t\t});\n\t\telse el.pause();\n\t});\n\tuseEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime), listenerOptions);\n\tuseEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration, listenerOptions);\n\tuseEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered), listenerOptions);\n\tuseEventListener(target, \"seeking\", () => seeking.value = true, listenerOptions);\n\tuseEventListener(target, \"seeked\", () => seeking.value = false, listenerOptions);\n\tuseEventListener(target, [\"waiting\", \"loadstart\"], () => {\n\t\twaiting.value = true;\n\t\tignorePlayingUpdates(() => playing.value = false);\n\t}, listenerOptions);\n\tuseEventListener(target, \"loadeddata\", () => waiting.value = false, listenerOptions);\n\tuseEventListener(target, \"playing\", () => {\n\t\twaiting.value = false;\n\t\tended.value = false;\n\t\tignorePlayingUpdates(() => playing.value = true);\n\t}, listenerOptions);\n\tuseEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate, listenerOptions);\n\tuseEventListener(target, \"stalled\", () => stalled.value = true, listenerOptions);\n\tuseEventListener(target, \"ended\", () => ended.value = true, listenerOptions);\n\tuseEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false), listenerOptions);\n\tuseEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true), listenerOptions);\n\tuseEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true, listenerOptions);\n\tuseEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false, listenerOptions);\n\tuseEventListener(target, \"volumechange\", () => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tvolume.value = el.volume;\n\t\tmuted.value = el.muted;\n\t}, listenerOptions);\n\t/**\n\t* The following listeners need to listen to a nested\n\t* object on the target, so we will have to use a nested\n\t* watch and manually remove the listeners\n\t*/\n\tconst listeners = [];\n\tconst stop = watch([target], () => {\n\t\tconst el = toValue(target);\n\t\tif (!el) return;\n\t\tstop();\n\t\tlisteners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n\t\tlisteners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n\t\tlisteners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks), listenerOptions);\n\t});\n\ttryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n\treturn {\n\t\tcurrentTime,\n\t\tduration,\n\t\twaiting,\n\t\tseeking,\n\t\tended,\n\t\tstalled,\n\t\tbuffered,\n\t\tplaying,\n\t\trate,\n\t\tvolume,\n\t\tmuted,\n\t\ttracks,\n\t\tselectedTrack,\n\t\tenableTrack,\n\t\tdisableTrack,\n\t\tsupportsPictureInPicture,\n\t\ttogglePictureInPicture,\n\t\tisPictureInPicture,\n\t\tonSourceError: sourceErrorEvent.on,\n\t\tonPlaybackError: playbackErrorEvent.on\n\t};\n}\n//#endregion\n//#region useMemoize/index.ts\n/**\n* Reactive function result cache based on arguments\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useMemoize(resolver, options) {\n\tconst initCache = () => {\n\t\tif (options === null || options === void 0 ? void 0 : options.cache) return shallowReactive(options.cache);\n\t\treturn shallowReactive(/* @__PURE__ */ new Map());\n\t};\n\tconst cache = initCache();\n\t/**\n\t* Generate key from args\n\t*/\n\tconst generateKey = (...args) => (options === null || options === void 0 ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n\t/**\n\t* Load data and save in cache\n\t*/\n\tconst _loadData = (key, ...args) => {\n\t\tcache.set(key, resolver(...args));\n\t\treturn cache.get(key);\n\t};\n\tconst loadData = (...args) => _loadData(generateKey(...args), ...args);\n\t/**\n\t* Delete key from cache\n\t*/\n\tconst deleteData = (...args) => {\n\t\tcache.delete(generateKey(...args));\n\t};\n\t/**\n\t* Clear cached data\n\t*/\n\tconst clearData = () => {\n\t\tcache.clear();\n\t};\n\tconst memoized = (...args) => {\n\t\tconst key = generateKey(...args);\n\t\tif (cache.has(key)) return cache.get(key);\n\t\treturn _loadData(key, ...args);\n\t};\n\tmemoized.load = loadData;\n\tmemoized.delete = deleteData;\n\tmemoized.clear = clearData;\n\tmemoized.generateKey = generateKey;\n\tmemoized.cache = cache;\n\treturn memoized;\n}\n//#endregion\n//#region useMemory/index.ts\nfunction getDefaultScheduler$6(options) {\n\tif (\"interval\" in options || \"immediate\" in options || \"immediateCallback\" in options) {\n\t\tconst { interval = 1e3, immediate, immediateCallback } = options;\n\t\treturn (cb) => useIntervalFn(cb, interval, {\n\t\t\timmediate,\n\t\t\timmediateCallback\n\t\t});\n\t}\n\treturn useIntervalFn;\n}\n/**\n* Reactive Memory Info.\n*\n* @see https://vueuse.org/useMemory\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useMemory(options = {}) {\n\tconst memory = shallowRef();\n\tconst isSupported = /* @__PURE__ */ useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n\tif (isSupported.value) {\n\t\tconst { scheduler = getDefaultScheduler$6 } = options;\n\t\tscheduler(() => {\n\t\t\tmemory.value = performance.memory;\n\t\t});\n\t}\n\treturn {\n\t\tisSupported,\n\t\tmemory\n\t};\n}\n//#endregion\n//#region useMouse/index.ts\nconst UseMouseBuiltinExtractors = {\n\tpage: (event) => [event.pageX, event.pageY],\n\tclient: (event) => [event.clientX, event.clientY],\n\tscreen: (event) => [event.screenX, event.screenY],\n\tmovement: (event) => event instanceof MouseEvent ? [event.movementX, event.movementY] : null\n};\n/**\n* Reactive mouse position.\n*\n* @see https://vueuse.org/useMouse\n* @param options\n*/\nfunction useMouse(options = {}) {\n\tconst { type = \"page\", touch = true, resetOnTouchEnds = false, initialValue = {\n\t\tx: 0,\n\t\ty: 0\n\t}, window = defaultWindow, target = window, scroll = true, eventFilter } = options;\n\tlet _prevMouseEvent = null;\n\tlet _prevScrollX = 0;\n\tlet _prevScrollY = 0;\n\tconst x = shallowRef(initialValue.x);\n\tconst y = shallowRef(initialValue.y);\n\tconst sourceType = shallowRef(null);\n\tconst extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n\tconst mouseHandler = (event) => {\n\t\tconst result = extractor(event);\n\t\t_prevMouseEvent = event;\n\t\tif (result) {\n\t\t\t[x.value, y.value] = result;\n\t\t\tsourceType.value = \"mouse\";\n\t\t}\n\t\tif (window) {\n\t\t\t_prevScrollX = window.scrollX;\n\t\t\t_prevScrollY = window.scrollY;\n\t\t}\n\t};\n\tconst touchHandler = (event) => {\n\t\tif (event.touches.length > 0) {\n\t\t\tconst result = extractor(event.touches[0]);\n\t\t\tif (result) {\n\t\t\t\t[x.value, y.value] = result;\n\t\t\t\tsourceType.value = \"touch\";\n\t\t\t}\n\t\t}\n\t};\n\tconst scrollHandler = () => {\n\t\tif (!_prevMouseEvent || !window) return;\n\t\tconst pos = extractor(_prevMouseEvent);\n\t\tif (_prevMouseEvent instanceof MouseEvent && pos) {\n\t\t\tx.value = pos[0] + window.scrollX - _prevScrollX;\n\t\t\ty.value = pos[1] + window.scrollY - _prevScrollY;\n\t\t}\n\t};\n\tconst reset = () => {\n\t\tx.value = initialValue.x;\n\t\ty.value = initialValue.y;\n\t};\n\tconst mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n\tconst touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n\tconst scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n\tif (target) {\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n\t\tif (touch && type !== \"movement\") {\n\t\t\tuseEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n\t\t\tif (resetOnTouchEnds) useEventListener(target, \"touchend\", reset, listenerOptions);\n\t\t}\n\t\tif (scroll && type === \"page\") useEventListener(window, \"scroll\", scrollHandlerWrapper, listenerOptions);\n\t}\n\treturn {\n\t\tx,\n\t\ty,\n\t\tsourceType\n\t};\n}\n//#endregion\n//#region useMouseInElement/index.ts\n/**\n* Reactive mouse position related to an element.\n*\n* @see https://vueuse.org/useMouseInElement\n* @param target\n* @param options\n*/\nfunction useMouseInElement(target, options = {}) {\n\tconst { windowResize = true, windowScroll = true, handleOutside = true, window = defaultWindow } = options;\n\tconst type = options.type || \"page\";\n\tconst { x, y, sourceType } = useMouse(options);\n\tconst targetRef = shallowRef(target !== null && target !== void 0 ? target : window === null || window === void 0 ? void 0 : window.document.body);\n\tconst elementX = shallowRef(0);\n\tconst elementY = shallowRef(0);\n\tconst elementPositionX = shallowRef(0);\n\tconst elementPositionY = shallowRef(0);\n\tconst elementHeight = shallowRef(0);\n\tconst elementWidth = shallowRef(0);\n\tconst isOutside = shallowRef(true);\n\tfunction update() {\n\t\tif (!window) return;\n\t\tconst el = unrefElement(targetRef);\n\t\tif (!el || !(el instanceof Element)) return;\n\t\tfor (const rect of el.getClientRects()) {\n\t\t\tconst { left, top, width, height } = rect;\n\t\t\telementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n\t\t\telementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n\t\t\telementHeight.value = height;\n\t\t\telementWidth.value = width;\n\t\t\tconst elX = x.value - elementPositionX.value;\n\t\t\tconst elY = y.value - elementPositionY.value;\n\t\t\tisOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n\t\t\tif (handleOutside || !isOutside.value) {\n\t\t\t\telementX.value = elX;\n\t\t\t\telementY.value = elY;\n\t\t\t}\n\t\t\tif (!isOutside.value) break;\n\t\t}\n\t}\n\tconst stopFnList = [];\n\tfunction stop() {\n\t\tstopFnList.forEach((fn) => fn());\n\t\tstopFnList.length = 0;\n\t}\n\ttryOnMounted(() => {\n\t\tupdate();\n\t});\n\tif (window) {\n\t\tconst { stop: stopResizeObserver } = useResizeObserver(targetRef, update);\n\t\tconst { stop: stopMutationObserver } = useMutationObserver(targetRef, update, { attributeFilter: [\"style\", \"class\"] });\n\t\tconst stopWatch = watch([\n\t\t\ttargetRef,\n\t\t\tx,\n\t\t\ty\n\t\t], update);\n\t\tstopFnList.push(stopResizeObserver, stopMutationObserver, stopWatch);\n\t\tuseEventListener(document, \"mouseleave\", () => isOutside.value = true, { passive: true });\n\t\tif (windowScroll) stopFnList.push(useEventListener(\"scroll\", update, {\n\t\t\tcapture: true,\n\t\t\tpassive: true\n\t\t}));\n\t\tif (windowResize) stopFnList.push(useEventListener(\"resize\", update, { passive: true }));\n\t}\n\treturn {\n\t\tx,\n\t\ty,\n\t\tsourceType,\n\t\telementX,\n\t\telementY,\n\t\telementPositionX,\n\t\telementPositionY,\n\t\telementHeight,\n\t\telementWidth,\n\t\tisOutside,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useMousePressed/index.ts\n/**\n* Reactive mouse pressing state.\n*\n* @see https://vueuse.org/useMousePressed\n* @param options\n*/\nfunction useMousePressed(options = {}) {\n\tconst { touch = true, drag = true, capture = false, initialValue = false, window = defaultWindow } = options;\n\tconst pressed = shallowRef(initialValue);\n\tconst sourceType = shallowRef(null);\n\tif (!window) return {\n\t\tpressed,\n\t\tsourceType\n\t};\n\tconst onPressed = (srcType) => (event) => {\n\t\tvar _options$onPressed;\n\t\tpressed.value = true;\n\t\tsourceType.value = srcType;\n\t\t(_options$onPressed = options.onPressed) === null || _options$onPressed === void 0 || _options$onPressed.call(options, event);\n\t};\n\tconst onReleased = (event) => {\n\t\tvar _options$onReleased;\n\t\tpressed.value = false;\n\t\tsourceType.value = null;\n\t\t(_options$onReleased = options.onReleased) === null || _options$onReleased === void 0 || _options$onReleased.call(options, event);\n\t};\n\tconst target = computed(() => unrefElement(options.target) || window);\n\tconst listenerOptions = {\n\t\tpassive: true,\n\t\tcapture\n\t};\n\tuseEventListener(target, \"mousedown\", onPressed(\"mouse\"), listenerOptions);\n\tuseEventListener(window, \"mouseleave\", onReleased, listenerOptions);\n\tuseEventListener(window, \"mouseup\", onReleased, listenerOptions);\n\tif (drag) {\n\t\tuseEventListener(target, \"dragstart\", onPressed(\"mouse\"), listenerOptions);\n\t\tuseEventListener(window, \"drop\", onReleased, listenerOptions);\n\t\tuseEventListener(window, \"dragend\", onReleased, listenerOptions);\n\t}\n\tif (touch) {\n\t\tuseEventListener(target, \"touchstart\", onPressed(\"touch\"), listenerOptions);\n\t\tuseEventListener(window, \"touchend\", onReleased, listenerOptions);\n\t\tuseEventListener(window, \"touchcancel\", onReleased, listenerOptions);\n\t}\n\treturn {\n\t\tpressed,\n\t\tsourceType\n\t};\n}\n//#endregion\n//#region useNavigatorLanguage/index.ts\n/**\n*\n* Reactive useNavigatorLanguage\n*\n* Detects the currently selected user language and returns a reactive language\n* @see https://vueuse.org/useNavigatorLanguage\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useNavigatorLanguage(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst navigator = window === null || window === void 0 ? void 0 : window.navigator;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"language\" in navigator);\n\tconst language = shallowRef(navigator === null || navigator === void 0 ? void 0 : navigator.language);\n\tuseEventListener(window, \"languagechange\", () => {\n\t\tif (navigator) language.value = navigator.language;\n\t}, { passive: true });\n\treturn {\n\t\tisSupported,\n\t\tlanguage\n\t};\n}\n//#endregion\n//#region useNetwork/index.ts\n/**\n* Reactive Network status.\n*\n* @see https://vueuse.org/useNetwork\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useNetwork(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst navigator = window === null || window === void 0 ? void 0 : window.navigator;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"connection\" in navigator);\n\tconst isOnline = shallowRef(true);\n\tconst saveData = shallowRef(false);\n\tconst offlineAt = shallowRef(void 0);\n\tconst onlineAt = shallowRef(void 0);\n\tconst downlink = shallowRef(void 0);\n\tconst downlinkMax = shallowRef(void 0);\n\tconst rtt = shallowRef(void 0);\n\tconst effectiveType = shallowRef(void 0);\n\tconst type = shallowRef(\"unknown\");\n\tconst connection = isSupported.value && navigator.connection;\n\tfunction updateNetworkInformation() {\n\t\tif (!navigator) return;\n\t\tisOnline.value = navigator.onLine;\n\t\tofflineAt.value = isOnline.value ? void 0 : Date.now();\n\t\tonlineAt.value = isOnline.value ? Date.now() : void 0;\n\t\tif (connection) {\n\t\t\tdownlink.value = connection.downlink;\n\t\t\tdownlinkMax.value = connection.downlinkMax;\n\t\t\teffectiveType.value = connection.effectiveType;\n\t\t\trtt.value = connection.rtt;\n\t\t\tsaveData.value = connection.saveData;\n\t\t\ttype.value = connection.type;\n\t\t}\n\t}\n\tconst listenerOptions = { passive: true };\n\tif (window) {\n\t\tuseEventListener(window, \"offline\", () => {\n\t\t\tisOnline.value = false;\n\t\t\tofflineAt.value = Date.now();\n\t\t}, listenerOptions);\n\t\tuseEventListener(window, \"online\", () => {\n\t\t\tisOnline.value = true;\n\t\t\tonlineAt.value = Date.now();\n\t\t}, listenerOptions);\n\t}\n\tif (connection) useEventListener(connection, \"change\", updateNetworkInformation, listenerOptions);\n\tupdateNetworkInformation();\n\treturn {\n\t\tisSupported,\n\t\tisOnline: shallowReadonly(isOnline),\n\t\tsaveData: shallowReadonly(saveData),\n\t\tofflineAt: shallowReadonly(offlineAt),\n\t\tonlineAt: shallowReadonly(onlineAt),\n\t\tdownlink: shallowReadonly(downlink),\n\t\tdownlinkMax: shallowReadonly(downlinkMax),\n\t\teffectiveType: shallowReadonly(effectiveType),\n\t\trtt: shallowReadonly(rtt),\n\t\ttype: shallowReadonly(type)\n\t};\n}\n//#endregion\n//#region useNow/index.ts\nfunction getDefaultScheduler$5(options) {\n\tif (\"interval\" in options || \"immediate\" in options) {\n\t\tconst { interval = \"requestAnimationFrame\", immediate = true } = options;\n\t\treturn interval === \"requestAnimationFrame\" ? (fn) => useRafFn(fn, { immediate }) : (fn) => useIntervalFn(fn, interval, options);\n\t}\n\treturn useRafFn;\n}\n/**\n* Reactive current Date instance.\n*\n* @see https://vueuse.org/useNow\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useNow(options = {}) {\n\tconst { controls: exposeControls = false, scheduler = getDefaultScheduler$5(options) } = options;\n\tconst now = shallowRef(/* @__PURE__ */ new Date());\n\tconst update = () => now.value = /* @__PURE__ */ new Date();\n\tconst controls = scheduler(update);\n\tif (exposeControls) return {\n\t\tnow,\n\t\t...controls\n\t};\n\telse return now;\n}\n//#endregion\n//#region useObjectUrl/index.ts\n/**\n* Reactive URL representing an object.\n*\n* @see https://vueuse.org/useObjectUrl\n* @param object\n*/\nfunction useObjectUrl(object) {\n\tconst url = shallowRef();\n\tconst release = () => {\n\t\tif (url.value) URL.revokeObjectURL(url.value);\n\t\turl.value = void 0;\n\t};\n\twatch(() => toValue(object), (newObject) => {\n\t\trelease();\n\t\tif (newObject) url.value = URL.createObjectURL(newObject);\n\t}, { immediate: true });\n\ttryOnScopeDispose(release);\n\treturn shallowReadonly(url);\n}\n//#endregion\n//#region ../math/useClamp/index.ts\n/**\n* Reactively clamp a value between two other values.\n*\n* @see https://vueuse.org/useClamp\n* @param value number\n* @param min\n* @param max\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useClamp(value, min, max) {\n\tif (typeof value === \"function\" || isReadonly(value)) return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n\tconst _value = ref(value);\n\treturn computed({\n\t\tget() {\n\t\t\treturn _value.value = clamp(_value.value, toValue(min), toValue(max));\n\t\t},\n\t\tset(value) {\n\t\t\t_value.value = clamp(value, toValue(min), toValue(max));\n\t\t}\n\t});\n}\n//#endregion\n//#region useOffsetPagination/index.ts\nfunction useOffsetPagination(options) {\n\tconst { total = Number.POSITIVE_INFINITY, pageSize = 10, page = 1, onPageChange = noop, onPageSizeChange = noop, onPageCountChange = noop } = options;\n\tconst currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n\tconst pageCount = computed(() => Math.max(1, Math.ceil(toValue(total) / toValue(currentPageSize))));\n\tconst currentPage = useClamp(page, 1, pageCount);\n\tconst isFirstPage = computed(() => currentPage.value === 1);\n\tconst isLastPage = computed(() => currentPage.value === pageCount.value);\n\tif (isRef(page)) syncRef(page, currentPage, { direction: isReadonly(page) ? \"ltr\" : \"both\" });\n\tif (isRef(pageSize)) syncRef(pageSize, currentPageSize, { direction: isReadonly(pageSize) ? \"ltr\" : \"both\" });\n\tfunction prev() {\n\t\tcurrentPage.value--;\n\t}\n\tfunction next() {\n\t\tcurrentPage.value++;\n\t}\n\tconst returnValue = {\n\t\tcurrentPage,\n\t\tcurrentPageSize,\n\t\tpageCount,\n\t\tisFirstPage,\n\t\tisLastPage,\n\t\tprev,\n\t\tnext\n\t};\n\twatch(currentPage, () => {\n\t\tonPageChange(reactive(returnValue));\n\t});\n\twatch(currentPageSize, () => {\n\t\tonPageSizeChange(reactive(returnValue));\n\t});\n\twatch(pageCount, () => {\n\t\tonPageCountChange(reactive(returnValue));\n\t});\n\treturn returnValue;\n}\n//#endregion\n//#region useOnline/index.ts\n/**\n* Reactive online state.\n*\n* @see https://vueuse.org/useOnline\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useOnline(options = {}) {\n\tconst { isOnline } = useNetwork(options);\n\treturn isOnline;\n}\n//#endregion\n//#region usePageLeave/index.ts\n/**\n* Reactive state to show whether mouse leaves the page.\n*\n* @see https://vueuse.org/usePageLeave\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePageLeave(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst isLeft = shallowRef(false);\n\tconst handler = (event) => {\n\t\tif (!window) return;\n\t\tevent = event || window.event;\n\t\tisLeft.value = !(event.relatedTarget || event.toElement);\n\t};\n\tif (window) {\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(window, \"mouseout\", handler, listenerOptions);\n\t\tuseEventListener(window.document, \"mouseleave\", handler, listenerOptions);\n\t\tuseEventListener(window.document, \"mouseenter\", handler, listenerOptions);\n\t}\n\treturn isLeft;\n}\n//#endregion\n//#region useScreenOrientation/index.ts\n/**\n* Reactive screen orientation\n*\n* @see https://vueuse.org/useScreenOrientation\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useScreenOrientation(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n\tconst screenOrientation = isSupported.value ? window.screen.orientation : {};\n\tconst orientation = shallowRef(screenOrientation.type);\n\tconst angle = shallowRef(screenOrientation.angle || 0);\n\tif (isSupported.value) useEventListener(window, \"orientationchange\", () => {\n\t\torientation.value = screenOrientation.type;\n\t\tangle.value = screenOrientation.angle;\n\t}, { passive: true });\n\tconst lockOrientation = (type) => {\n\t\tif (isSupported.value && typeof screenOrientation.lock === \"function\") return screenOrientation.lock(type);\n\t\treturn Promise.reject(/* @__PURE__ */ new Error(\"Not supported\"));\n\t};\n\tconst unlockOrientation = () => {\n\t\tif (isSupported.value && typeof screenOrientation.unlock === \"function\") screenOrientation.unlock();\n\t};\n\treturn {\n\t\tisSupported,\n\t\torientation,\n\t\tangle,\n\t\tlockOrientation,\n\t\tunlockOrientation\n\t};\n}\n//#endregion\n//#region useParallax/index.ts\n/**\n* Create parallax effect easily. It uses `useDeviceOrientation` and fallback to `useMouse`\n* if orientation is not supported.\n*\n* @param target\n* @param options\n*/\nfunction useParallax(target, options = {}) {\n\tconst { deviceOrientationTiltAdjust = (i) => i, deviceOrientationRollAdjust = (i) => i, mouseTiltAdjust = (i) => i, mouseRollAdjust = (i) => i, window = defaultWindow } = options;\n\tconst orientation = reactive(useDeviceOrientation({ window }));\n\tconst screenOrientation = reactive(useScreenOrientation({ window }));\n\tconst { elementX: x, elementY: y, elementWidth: width, elementHeight: height } = useMouseInElement(target, {\n\t\thandleOutside: false,\n\t\twindow\n\t});\n\tconst source = computed(() => {\n\t\tif (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) return \"deviceOrientation\";\n\t\treturn \"mouse\";\n\t});\n\treturn {\n\t\troll: computed(() => {\n\t\t\tif (source.value === \"deviceOrientation\") {\n\t\t\t\tlet value;\n\t\t\t\tswitch (screenOrientation.orientation) {\n\t\t\t\t\tcase \"landscape-primary\":\n\t\t\t\t\t\tvalue = orientation.gamma / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"landscape-secondary\":\n\t\t\t\t\t\tvalue = -orientation.gamma / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"portrait-primary\":\n\t\t\t\t\t\tvalue = -orientation.beta / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"portrait-secondary\":\n\t\t\t\t\t\tvalue = orientation.beta / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: value = -orientation.beta / 90;\n\t\t\t\t}\n\t\t\t\treturn deviceOrientationRollAdjust(value);\n\t\t\t} else return mouseRollAdjust(-(y.value - height.value / 2) / height.value);\n\t\t}),\n\t\ttilt: computed(() => {\n\t\t\tif (source.value === \"deviceOrientation\") {\n\t\t\t\tlet value;\n\t\t\t\tswitch (screenOrientation.orientation) {\n\t\t\t\t\tcase \"landscape-primary\":\n\t\t\t\t\t\tvalue = orientation.beta / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"landscape-secondary\":\n\t\t\t\t\t\tvalue = -orientation.beta / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"portrait-primary\":\n\t\t\t\t\t\tvalue = orientation.gamma / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"portrait-secondary\":\n\t\t\t\t\t\tvalue = -orientation.gamma / 90;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: value = orientation.gamma / 90;\n\t\t\t\t}\n\t\t\t\treturn deviceOrientationTiltAdjust(value);\n\t\t\t} else return mouseTiltAdjust((x.value - width.value / 2) / width.value);\n\t\t}),\n\t\tsource\n\t};\n}\n//#endregion\n//#region useParentElement/index.ts\nfunction useParentElement(element = useCurrentElement()) {\n\tconst parentElement = shallowRef();\n\tconst update = () => {\n\t\tconst el = unrefElement(element);\n\t\tif (el) parentElement.value = el.parentElement;\n\t};\n\ttryOnMounted(update);\n\twatch(() => toValue(element), update);\n\treturn parentElement;\n}\n//#endregion\n//#region usePerformanceObserver/index.ts\n/**\n* Observe performance metrics.\n*\n* @see https://vueuse.org/usePerformanceObserver\n* @param options\n*/\nfunction usePerformanceObserver(options, callback) {\n\tconst { window = defaultWindow, immediate = true, ...performanceOptions } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => window && \"PerformanceObserver\" in window);\n\tlet observer;\n\tconst stop = () => {\n\t\tobserver === null || observer === void 0 || observer.disconnect();\n\t};\n\tconst start = () => {\n\t\tif (isSupported.value) {\n\t\t\tstop();\n\t\t\tobserver = new PerformanceObserver(callback);\n\t\t\tobserver.observe(performanceOptions);\n\t\t}\n\t};\n\ttryOnScopeDispose(stop);\n\tif (immediate) start();\n\treturn {\n\t\tisSupported,\n\t\tstart,\n\t\tstop\n\t};\n}\n//#endregion\n//#region usePointer/index.ts\nconst defaultState = (/* #__PURE__ */ {\n\tx: 0,\n\ty: 0,\n\tpointerId: 0,\n\tpressure: 0,\n\ttiltX: 0,\n\ttiltY: 0,\n\twidth: 0,\n\theight: 0,\n\ttwist: 0,\n\tpointerType: null\n});\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\n/**\n* Reactive pointer state.\n*\n* @see https://vueuse.org/usePointer\n* @param options\n*/\nfunction usePointer(options = {}) {\n\tconst { target = defaultWindow } = options;\n\tconst isInside = shallowRef(false);\n\tconst state = shallowRef(options.initialValue || {});\n\tObject.assign(state.value, defaultState, state.value);\n\tconst handler = (event) => {\n\t\tisInside.value = true;\n\t\tif (options.pointerTypes && !options.pointerTypes.includes(event.pointerType)) return;\n\t\tstate.value = objectPick(event, keys, false);\n\t};\n\tif (target) {\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(target, [\n\t\t\t\"pointerdown\",\n\t\t\t\"pointermove\",\n\t\t\t\"pointerup\"\n\t\t], handler, listenerOptions);\n\t\tuseEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n\t}\n\treturn {\n\t\t...toRefs(state),\n\t\tisInside\n\t};\n}\n//#endregion\n//#region usePointerLock/index.ts\n/**\n* Reactive pointer lock.\n*\n* @see https://vueuse.org/usePointerLock\n* @param target\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePointerLock(target, options = {}) {\n\tconst { document = defaultDocument } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => document && \"pointerLockElement\" in document);\n\tconst element = shallowRef();\n\tconst triggerElement = shallowRef();\n\tlet targetElement;\n\tif (isSupported.value) {\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(document, \"pointerlockchange\", () => {\n\t\t\tvar _pointerLockElement;\n\t\t\tconst currentElement = (_pointerLockElement = document.pointerLockElement) !== null && _pointerLockElement !== void 0 ? _pointerLockElement : element.value;\n\t\t\tif (targetElement && currentElement === targetElement) {\n\t\t\t\telement.value = document.pointerLockElement;\n\t\t\t\tif (!element.value) targetElement = triggerElement.value = null;\n\t\t\t}\n\t\t}, listenerOptions);\n\t\tuseEventListener(document, \"pointerlockerror\", () => {\n\t\t\tvar _pointerLockElement2;\n\t\t\tconst currentElement = (_pointerLockElement2 = document.pointerLockElement) !== null && _pointerLockElement2 !== void 0 ? _pointerLockElement2 : element.value;\n\t\t\tif (targetElement && currentElement === targetElement) {\n\t\t\t\tconst action = document.pointerLockElement ? \"release\" : \"acquire\";\n\t\t\t\tthrow new Error(`Failed to ${action} pointer lock.`);\n\t\t\t}\n\t\t}, listenerOptions);\n\t}\n\tasync function lock(e) {\n\t\tvar _unrefElement;\n\t\tif (!isSupported.value) throw new Error(\"Pointer Lock API is not supported by your browser.\");\n\t\ttriggerElement.value = e instanceof Event ? e.currentTarget : null;\n\t\ttargetElement = e instanceof Event ? (_unrefElement = unrefElement(target)) !== null && _unrefElement !== void 0 ? _unrefElement : triggerElement.value : unrefElement(e);\n\t\tif (!targetElement) throw new Error(\"Target element undefined.\");\n\t\ttargetElement.requestPointerLock();\n\t\treturn await until(element).toBe(targetElement);\n\t}\n\tasync function unlock() {\n\t\tif (!element.value) return false;\n\t\tdocument.exitPointerLock();\n\t\tawait until(element).toBeNull();\n\t\treturn true;\n\t}\n\treturn {\n\t\tisSupported,\n\t\telement,\n\t\ttriggerElement,\n\t\tlock,\n\t\tunlock\n\t};\n}\n//#endregion\n//#region usePointerSwipe/index.ts\n/**\n* Reactive swipe detection based on PointerEvents.\n*\n* @see https://vueuse.org/usePointerSwipe\n* @param target\n* @param options\n*/\nfunction usePointerSwipe(target, options = {}) {\n\tconst targetRef = toRef(target);\n\tconst { threshold = 50, onSwipe, onSwipeEnd, onSwipeStart, disableTextSelect = false } = options;\n\tconst posStart = reactive({\n\t\tx: 0,\n\t\ty: 0\n\t});\n\tconst updatePosStart = (x, y) => {\n\t\tposStart.x = x;\n\t\tposStart.y = y;\n\t};\n\tconst posEnd = reactive({\n\t\tx: 0,\n\t\ty: 0\n\t});\n\tconst updatePosEnd = (x, y) => {\n\t\tposEnd.x = x;\n\t\tposEnd.y = y;\n\t};\n\tconst distanceX = computed(() => posStart.x - posEnd.x);\n\tconst distanceY = computed(() => posStart.y - posEnd.y);\n\tconst { max, abs } = Math;\n\tconst isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n\tconst isSwiping = shallowRef(false);\n\tconst isPointerDown = shallowRef(false);\n\tconst direction = computed(() => {\n\t\tif (!isThresholdExceeded.value) return \"none\";\n\t\tif (abs(distanceX.value) > abs(distanceY.value)) return distanceX.value > 0 ? \"left\" : \"right\";\n\t\telse return distanceY.value > 0 ? \"up\" : \"down\";\n\t});\n\tconst eventIsAllowed = (e) => {\n\t\tvar _ref, _options$pointerTypes, _options$pointerTypes2;\n\t\tconst isReleasingButton = e.buttons === 0;\n\t\tconst isPrimaryButton = e.buttons === 1;\n\t\treturn (_ref = (_options$pointerTypes = (_options$pointerTypes2 = options.pointerTypes) === null || _options$pointerTypes2 === void 0 ? void 0 : _options$pointerTypes2.includes(e.pointerType)) !== null && _options$pointerTypes !== void 0 ? _options$pointerTypes : isReleasingButton || isPrimaryButton) !== null && _ref !== void 0 ? _ref : true;\n\t};\n\tconst listenerOptions = { passive: true };\n\tconst stops = [\n\t\tuseEventListener(target, \"pointerdown\", (e) => {\n\t\t\tif (!eventIsAllowed(e)) return;\n\t\t\tisPointerDown.value = true;\n\t\t\tconst eventTarget = e.target;\n\t\t\teventTarget === null || eventTarget === void 0 || eventTarget.setPointerCapture(e.pointerId);\n\t\t\tconst { clientX: x, clientY: y } = e;\n\t\t\tupdatePosStart(x, y);\n\t\t\tupdatePosEnd(x, y);\n\t\t\tonSwipeStart === null || onSwipeStart === void 0 || onSwipeStart(e);\n\t\t}, listenerOptions),\n\t\tuseEventListener(target, \"pointermove\", (e) => {\n\t\t\tif (!eventIsAllowed(e)) return;\n\t\t\tif (!isPointerDown.value) return;\n\t\t\tconst { clientX: x, clientY: y } = e;\n\t\t\tupdatePosEnd(x, y);\n\t\t\tif (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true;\n\t\t\tif (isSwiping.value) onSwipe === null || onSwipe === void 0 || onSwipe(e);\n\t\t}, listenerOptions),\n\t\tuseEventListener(target, \"pointerup\", (e) => {\n\t\t\tif (!eventIsAllowed(e)) return;\n\t\t\tif (isSwiping.value) onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd(e, direction.value);\n\t\t\tisPointerDown.value = false;\n\t\t\tisSwiping.value = false;\n\t\t}, listenerOptions)\n\t];\n\ttryOnMounted(() => {\n\t\tvar _targetRef$value;\n\t\t(_targetRef$value = targetRef.value) === null || _targetRef$value === void 0 || (_targetRef$value = _targetRef$value.style) === null || _targetRef$value === void 0 || _targetRef$value.setProperty(\"touch-action\", \"pan-y\");\n\t\tif (disableTextSelect) {\n\t\t\tvar _targetRef$value2, _targetRef$value3, _targetRef$value4;\n\t\t\t(_targetRef$value2 = targetRef.value) === null || _targetRef$value2 === void 0 || (_targetRef$value2 = _targetRef$value2.style) === null || _targetRef$value2 === void 0 || _targetRef$value2.setProperty(\"-webkit-user-select\", \"none\");\n\t\t\t(_targetRef$value3 = targetRef.value) === null || _targetRef$value3 === void 0 || (_targetRef$value3 = _targetRef$value3.style) === null || _targetRef$value3 === void 0 || _targetRef$value3.setProperty(\"-ms-user-select\", \"none\");\n\t\t\t(_targetRef$value4 = targetRef.value) === null || _targetRef$value4 === void 0 || (_targetRef$value4 = _targetRef$value4.style) === null || _targetRef$value4 === void 0 || _targetRef$value4.setProperty(\"user-select\", \"none\");\n\t\t}\n\t});\n\tconst stop = () => stops.forEach((s) => s());\n\treturn {\n\t\tisSwiping: shallowReadonly(isSwiping),\n\t\tdirection: shallowReadonly(direction),\n\t\tposStart: readonly(posStart),\n\t\tposEnd: readonly(posEnd),\n\t\tdistanceX,\n\t\tdistanceY,\n\t\tstop\n\t};\n}\n//#endregion\n//#region usePreferredColorScheme/index.ts\n/**\n* Reactive prefers-color-scheme media query.\n*\n* @see https://vueuse.org/usePreferredColorScheme\n* @param [options]\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredColorScheme(options) {\n\tconst isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n\tconst isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n\treturn computed(() => {\n\t\tif (isDark.value) return \"dark\";\n\t\tif (isLight.value) return \"light\";\n\t\treturn \"no-preference\";\n\t});\n}\n//#endregion\n//#region usePreferredContrast/index.ts\n/**\n* Reactive prefers-contrast media query.\n*\n* @see https://vueuse.org/usePreferredContrast\n* @param [options]\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredContrast(options) {\n\tconst isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n\tconst isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n\tconst isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n\treturn computed(() => {\n\t\tif (isMore.value) return \"more\";\n\t\tif (isLess.value) return \"less\";\n\t\tif (isCustom.value) return \"custom\";\n\t\treturn \"no-preference\";\n\t});\n}\n//#endregion\n//#region usePreferredLanguages/index.ts\n/**\n* Reactive Navigator Languages.\n*\n* @see https://vueuse.org/usePreferredLanguages\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredLanguages(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tif (!window) return shallowRef([\"en\"]);\n\tconst navigator = window.navigator;\n\tconst value = shallowRef(navigator.languages);\n\tuseEventListener(window, \"languagechange\", () => {\n\t\tvalue.value = navigator.languages;\n\t}, { passive: true });\n\treturn value;\n}\n//#endregion\n//#region usePreferredReducedMotion/index.ts\n/**\n* Reactive prefers-reduced-motion media query.\n*\n* @see https://vueuse.org/usePreferredReducedMotion\n* @param [options]\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredReducedMotion(options) {\n\tconst isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n\treturn computed(() => {\n\t\tif (isReduced.value) return \"reduce\";\n\t\treturn \"no-preference\";\n\t});\n}\n//#endregion\n//#region usePreferredReducedTransparency/index.ts\n/**\n* Reactive prefers-reduced-transparency media query.\n*\n* @see https://vueuse.org/usePreferredReducedTransparency\n* @param [options]\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction usePreferredReducedTransparency(options) {\n\tconst isReduced = useMediaQuery(\"(prefers-reduced-transparency: reduce)\", options);\n\treturn computed(() => {\n\t\tif (isReduced.value) return \"reduce\";\n\t\treturn \"no-preference\";\n\t});\n}\n//#endregion\n//#region usePrevious/index.ts\nfunction usePrevious(value, initialValue) {\n\tconst previous = shallowRef(initialValue);\n\twatch(toRef(value), (_, oldValue) => {\n\t\tprevious.value = oldValue;\n\t}, { flush: \"sync\" });\n\treturn readonly(previous);\n}\n//#endregion\n//#region useScreenSafeArea/index.ts\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\n/**\n* Reactive `env(safe-area-inset-*)`\n*\n* @see https://vueuse.org/useScreenSafeArea\n*/\nfunction useScreenSafeArea() {\n\tconst top = shallowRef(\"\");\n\tconst right = shallowRef(\"\");\n\tconst bottom = shallowRef(\"\");\n\tconst left = shallowRef(\"\");\n\tif (isClient) {\n\t\tconst topCssVar = useCssVar(topVarName);\n\t\tconst rightCssVar = useCssVar(rightVarName);\n\t\tconst bottomCssVar = useCssVar(bottomVarName);\n\t\tconst leftCssVar = useCssVar(leftVarName);\n\t\ttopCssVar.value = \"env(safe-area-inset-top, 0px)\";\n\t\trightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n\t\tbottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n\t\tleftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n\t\ttryOnMounted(update);\n\t\tuseEventListener(\"resize\", useDebounceFn(update), { passive: true });\n\t}\n\tfunction update() {\n\t\ttop.value = getValue(topVarName);\n\t\tright.value = getValue(rightVarName);\n\t\tbottom.value = getValue(bottomVarName);\n\t\tleft.value = getValue(leftVarName);\n\t}\n\treturn {\n\t\ttop,\n\t\tright,\n\t\tbottom,\n\t\tleft,\n\t\tupdate\n\t};\n}\nfunction getValue(position) {\n\treturn getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n//#endregion\n//#region useScriptTag/index.ts\n/**\n* Async script tag loading.\n*\n* @see https://vueuse.org/useScriptTag\n* @param src\n* @param onLoaded\n* @param options\n*/\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n\tconst { immediate = true, manual = false, type = \"text/javascript\", async = true, crossOrigin, referrerPolicy, noModule, defer, document = defaultDocument, attrs = {}, nonce = void 0 } = options;\n\tconst scriptTag = shallowRef(null);\n\tlet _promise = null;\n\t/**\n\t* Load the script specified via `src`.\n\t*\n\t* @param waitForScriptLoad Whether if the Promise should resolve once the \"load\" event is emitted by the <script> attribute, or right after appending it to the DOM.\n\t* @returns Promise<HTMLScriptElement>\n\t*/\n\tconst loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n\t\tconst resolveWithElement = (el) => {\n\t\t\tscriptTag.value = el;\n\t\t\tresolve(el);\n\t\t\treturn el;\n\t\t};\n\t\tif (!document) {\n\t\t\tresolve(false);\n\t\t\treturn;\n\t\t}\n\t\tlet shouldAppend = false;\n\t\tlet el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n\t\tif (!el) {\n\t\t\tel = document.createElement(\"script\");\n\t\t\tel.type = type;\n\t\t\tel.async = async;\n\t\t\tel.src = toValue(src);\n\t\t\tif (defer) el.defer = defer;\n\t\t\tif (crossOrigin) el.crossOrigin = crossOrigin;\n\t\t\tif (noModule) el.noModule = noModule;\n\t\t\tif (referrerPolicy) el.referrerPolicy = referrerPolicy;\n\t\t\tif (nonce) el.nonce = nonce;\n\t\t\tObject.entries(attrs).forEach(([name, value]) => el === null || el === void 0 ? void 0 : el.setAttribute(name, value));\n\t\t\tshouldAppend = true;\n\t\t} else if (el.hasAttribute(\"data-loaded\")) resolveWithElement(el);\n\t\tconst listenerOptions = { passive: true };\n\t\tuseEventListener(el, \"error\", (event) => reject(event), listenerOptions);\n\t\tuseEventListener(el, \"abort\", (event) => reject(event), listenerOptions);\n\t\tuseEventListener(el, \"load\", () => {\n\t\t\tel.setAttribute(\"data-loaded\", \"true\");\n\t\t\tonLoaded(el);\n\t\t\tresolveWithElement(el);\n\t\t}, listenerOptions);\n\t\tif (shouldAppend) el = document.head.appendChild(el);\n\t\tif (!waitForScriptLoad) resolveWithElement(el);\n\t});\n\t/**\n\t* Exposed singleton wrapper for `loadScript`, avoiding calling it twice.\n\t*\n\t* @param waitForScriptLoad Whether if the Promise should resolve once the \"load\" event is emitted by the <script> attribute, or right after appending it to the DOM.\n\t* @returns Promise<HTMLScriptElement>\n\t*/\n\tconst load = (waitForScriptLoad = true) => {\n\t\tif (!_promise) _promise = loadScript(waitForScriptLoad);\n\t\treturn _promise;\n\t};\n\t/**\n\t* Unload the script specified by `src`.\n\t*/\n\tconst unload = () => {\n\t\tif (!document) return;\n\t\t_promise = null;\n\t\tif (scriptTag.value) scriptTag.value = null;\n\t\tconst el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n\t\tif (el) document.head.removeChild(el);\n\t};\n\tif (immediate && !manual) tryOnMounted(load);\n\tif (!manual) tryOnUnmounted(unload);\n\treturn {\n\t\tscriptTag,\n\t\tload,\n\t\tunload\n\t};\n}\n//#endregion\n//#region useScrollLock/index.ts\nfunction checkOverflowScroll(ele) {\n\tconst style = window.getComputedStyle(ele);\n\tif (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) return true;\n\telse {\n\t\tconst parent = ele.parentNode;\n\t\tif (!parent || parent.tagName === \"BODY\") return false;\n\t\treturn checkOverflowScroll(parent);\n\t}\n}\nfunction preventDefault(rawEvent) {\n\tconst e = rawEvent || window.event;\n\tconst _target = e.target;\n\tif (checkOverflowScroll(_target)) return false;\n\tif (e.touches.length > 1) return true;\n\tif (e.preventDefault) e.preventDefault();\n\treturn false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\n/**\n* Lock scrolling of the element.\n*\n* @see https://vueuse.org/useScrollLock\n* @param element\n*/\nfunction useScrollLock(element, initialState = false) {\n\tconst isLocked = shallowRef(initialState);\n\tlet stopTouchMoveListener = null;\n\tlet initialOverflow = \"\";\n\twatch(toRef(element), (el) => {\n\t\tconst target = resolveElement(toValue(el));\n\t\tif (target) {\n\t\t\tconst ele = target;\n\t\t\tif (!elInitialOverflow.get(ele)) elInitialOverflow.set(ele, ele.style.overflow);\n\t\t\tif (ele.style.overflow !== \"hidden\") initialOverflow = ele.style.overflow;\n\t\t\tif (ele.style.overflow === \"hidden\") return isLocked.value = true;\n\t\t\tif (isLocked.value) return ele.style.overflow = \"hidden\";\n\t\t}\n\t}, { immediate: true });\n\tconst lock = () => {\n\t\tconst el = resolveElement(toValue(element));\n\t\tif (!el || isLocked.value) return;\n\t\tif (isIOS) stopTouchMoveListener = useEventListener(el, \"touchmove\", (e) => {\n\t\t\tpreventDefault(e);\n\t\t}, { passive: false });\n\t\tel.style.overflow = \"hidden\";\n\t\tisLocked.value = true;\n\t};\n\tconst unlock = () => {\n\t\tconst el = resolveElement(toValue(element));\n\t\tif (!el || !isLocked.value) return;\n\t\tif (isIOS) stopTouchMoveListener === null || stopTouchMoveListener === void 0 || stopTouchMoveListener();\n\t\tel.style.overflow = initialOverflow;\n\t\telInitialOverflow.delete(el);\n\t\tisLocked.value = false;\n\t};\n\ttryOnScopeDispose(unlock);\n\treturn computed({\n\t\tget() {\n\t\t\treturn isLocked.value;\n\t\t},\n\t\tset(v) {\n\t\t\tif (v) lock();\n\t\t\telse unlock();\n\t\t}\n\t});\n}\n//#endregion\n//#region useSessionStorage/index.ts\n/**\n* Reactive SessionStorage.\n*\n* @see https://vueuse.org/useSessionStorage\n* @param key\n* @param initialValue\n* @param options\n*/\nfunction useSessionStorage(key, initialValue, options = {}) {\n\tconst { window = defaultWindow } = options;\n\treturn useStorage(key, initialValue, window === null || window === void 0 ? void 0 : window.sessionStorage, options);\n}\n//#endregion\n//#region useShare/index.ts\n/**\n* Reactive Web Share API.\n*\n* @see https://vueuse.org/useShare\n* @param shareOptions\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useShare(shareOptions = {}, options = {}) {\n\tconst { navigator = defaultNavigator } = options;\n\tconst _navigator = navigator;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => _navigator && \"canShare\" in _navigator);\n\tconst share = async (overrideOptions = {}) => {\n\t\tif (isSupported.value) {\n\t\t\tconst data = {\n\t\t\t\t...toValue(shareOptions),\n\t\t\t\t...toValue(overrideOptions)\n\t\t\t};\n\t\t\tlet granted = false;\n\t\t\tif (_navigator.canShare) granted = _navigator.canShare(data);\n\t\t\tif (granted) return _navigator.share(data);\n\t\t}\n\t};\n\treturn {\n\t\tisSupported,\n\t\tshare\n\t};\n}\n//#endregion\n//#region useSorted/index.ts\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n\tconst [source] = args;\n\tlet compareFn = defaultCompare;\n\tlet options = {};\n\tif (args.length === 2) if (typeof args[1] === \"object\") {\n\t\tvar _options$compareFn;\n\t\toptions = args[1];\n\t\tcompareFn = (_options$compareFn = options.compareFn) !== null && _options$compareFn !== void 0 ? _options$compareFn : defaultCompare;\n\t} else {\n\t\tvar _args$;\n\t\tcompareFn = (_args$ = args[1]) !== null && _args$ !== void 0 ? _args$ : defaultCompare;\n\t}\n\telse if (args.length > 2) {\n\t\tvar _args$2, _args$3;\n\t\tcompareFn = (_args$2 = args[1]) !== null && _args$2 !== void 0 ? _args$2 : defaultCompare;\n\t\toptions = (_args$3 = args[2]) !== null && _args$3 !== void 0 ? _args$3 : {};\n\t}\n\tconst { dirty = false, sortFn = defaultSortFn } = options;\n\tif (!dirty) return computed(() => sortFn([...toValue(source)], compareFn));\n\twatchEffect(() => {\n\t\tconst result = sortFn(toValue(source), compareFn);\n\t\tif (isRef(source)) source.value = result;\n\t\telse source.splice(0, source.length, ...result);\n\t});\n\treturn source;\n}\n//#endregion\n//#region useSpeechRecognition/index.ts\n/**\n* Reactive SpeechRecognition.\n*\n* @see https://vueuse.org/useSpeechRecognition\n* @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition SpeechRecognition\n* @param options\n*/\nfunction useSpeechRecognition(options = {}) {\n\tconst { interimResults = true, continuous = true, maxAlternatives = 1, window = defaultWindow } = options;\n\tconst lang = toRef(options.lang || \"en-US\");\n\tconst isListening = shallowRef(false);\n\tconst isFinal = shallowRef(false);\n\tconst result = shallowRef(\"\");\n\tconst error = shallowRef(void 0);\n\tlet recognition;\n\tconst start = () => {\n\t\tisListening.value = true;\n\t};\n\tconst stop = () => {\n\t\tisListening.value = false;\n\t};\n\tconst toggle = (value = !isListening.value) => {\n\t\tif (value) start();\n\t\telse stop();\n\t};\n\tconst SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n\tconst isSupported = /* @__PURE__ */ useSupported(() => SpeechRecognition);\n\tif (isSupported.value) {\n\t\trecognition = new SpeechRecognition();\n\t\trecognition.continuous = continuous;\n\t\trecognition.interimResults = interimResults;\n\t\trecognition.lang = toValue(lang);\n\t\trecognition.maxAlternatives = maxAlternatives;\n\t\trecognition.onstart = () => {\n\t\t\tisListening.value = true;\n\t\t\tisFinal.value = false;\n\t\t};\n\t\twatch(lang, (lang) => {\n\t\t\tif (recognition && !isListening.value) recognition.lang = lang;\n\t\t});\n\t\trecognition.onresult = (event) => {\n\t\t\tconst currentResult = event.results[event.resultIndex];\n\t\t\tconst { transcript } = currentResult[0];\n\t\t\tisFinal.value = currentResult.isFinal;\n\t\t\tresult.value = transcript;\n\t\t\terror.value = void 0;\n\t\t};\n\t\trecognition.onerror = (event) => {\n\t\t\terror.value = event;\n\t\t};\n\t\trecognition.onend = () => {\n\t\t\tisListening.value = false;\n\t\t\trecognition.lang = toValue(lang);\n\t\t};\n\t\twatch(isListening, (newValue, oldValue) => {\n\t\t\tif (newValue === oldValue) return;\n\t\t\ttry {\n\t\t\t\tif (newValue) recognition.start();\n\t\t\t\telse recognition.stop();\n\t\t\t} catch (err) {\n\t\t\t\terror.value = err;\n\t\t\t}\n\t\t});\n\t}\n\ttryOnScopeDispose(() => {\n\t\tstop();\n\t});\n\treturn {\n\t\tisSupported,\n\t\tisListening,\n\t\tisFinal,\n\t\trecognition,\n\t\tresult,\n\t\terror,\n\t\ttoggle,\n\t\tstart,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useSpeechSynthesis/index.ts\n/**\n* Reactive SpeechSynthesis.\n*\n* @see https://vueuse.org/useSpeechSynthesis\n* @see https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis SpeechSynthesis\n*/\nfunction useSpeechSynthesis(text, options = {}) {\n\tconst { pitch = 1, rate = 1, volume = 1, window = defaultWindow, onBoundary } = options;\n\tconst synth = window && window.speechSynthesis;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => synth);\n\tconst isPlaying = shallowRef(false);\n\tconst status = shallowRef(\"init\");\n\tconst spokenText = toRef(text || \"\");\n\tconst lang = toRef(options.lang || \"en-US\");\n\tconst error = shallowRef(void 0);\n\tconst toggle = (value = !isPlaying.value) => {\n\t\tisPlaying.value = value;\n\t};\n\tconst bindEventsForUtterance = (utterance) => {\n\t\tutterance.lang = toValue(lang);\n\t\tutterance.voice = toValue(options.voice) || null;\n\t\tutterance.pitch = toValue(pitch);\n\t\tutterance.rate = toValue(rate);\n\t\tutterance.volume = toValue(volume);\n\t\tutterance.onstart = () => {\n\t\t\tisPlaying.value = true;\n\t\t\tstatus.value = \"play\";\n\t\t};\n\t\tutterance.onpause = () => {\n\t\t\tisPlaying.value = false;\n\t\t\tstatus.value = \"pause\";\n\t\t};\n\t\tutterance.onresume = () => {\n\t\t\tisPlaying.value = true;\n\t\t\tstatus.value = \"play\";\n\t\t};\n\t\tutterance.onend = () => {\n\t\t\tisPlaying.value = false;\n\t\t\tstatus.value = \"end\";\n\t\t};\n\t\tutterance.onerror = (event) => {\n\t\t\terror.value = event;\n\t\t};\n\t\tutterance.onboundary = (event) => {\n\t\t\tonBoundary === null || onBoundary === void 0 || onBoundary(event);\n\t\t};\n\t};\n\tconst utterance = computed(() => {\n\t\tisPlaying.value = false;\n\t\tstatus.value = \"init\";\n\t\tconst newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n\t\tbindEventsForUtterance(newUtterance);\n\t\treturn newUtterance;\n\t});\n\tconst speak = () => {\n\t\tsynth.cancel();\n\t\tif (utterance) synth.speak(utterance.value);\n\t};\n\tconst stop = () => {\n\t\tsynth.cancel();\n\t\tisPlaying.value = false;\n\t};\n\tif (isSupported.value) {\n\t\tbindEventsForUtterance(utterance.value);\n\t\twatch(lang, (lang) => {\n\t\t\tif (utterance.value && !isPlaying.value) utterance.value.lang = lang;\n\t\t});\n\t\tif (options.voice) watch(options.voice, () => {\n\t\t\tsynth.cancel();\n\t\t});\n\t\twatch(isPlaying, () => {\n\t\t\tif (isPlaying.value) synth.resume();\n\t\t\telse synth.pause();\n\t\t});\n\t}\n\ttryOnScopeDispose(() => {\n\t\tisPlaying.value = false;\n\t});\n\treturn {\n\t\tisSupported,\n\t\tisPlaying,\n\t\tstatus,\n\t\tutterance,\n\t\terror,\n\t\tstop,\n\t\ttoggle,\n\t\tspeak\n\t};\n}\n//#endregion\n//#region useStepper/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useStepper(steps, initialStep) {\n\tconst stepsRef = ref(steps);\n\tconst stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n\tconst index = ref(stepNames.value.indexOf(initialStep !== null && initialStep !== void 0 ? initialStep : stepNames.value[0]));\n\tconst current = computed(() => at(index.value));\n\tconst isFirst = computed(() => index.value === 0);\n\tconst isLast = computed(() => index.value === stepNames.value.length - 1);\n\tconst next = computed(() => stepNames.value[index.value + 1]);\n\tconst previous = computed(() => stepNames.value[index.value - 1]);\n\tfunction at(index) {\n\t\tif (Array.isArray(stepsRef.value)) return stepsRef.value[index];\n\t\treturn stepsRef.value[stepNames.value[index]];\n\t}\n\tfunction get(step) {\n\t\tif (!stepNames.value.includes(step)) return;\n\t\treturn at(stepNames.value.indexOf(step));\n\t}\n\tfunction goTo(step) {\n\t\tif (stepNames.value.includes(step)) index.value = stepNames.value.indexOf(step);\n\t}\n\tfunction goToNext() {\n\t\tif (isLast.value) return;\n\t\tindex.value++;\n\t}\n\tfunction goToPrevious() {\n\t\tif (isFirst.value) return;\n\t\tindex.value--;\n\t}\n\tfunction goBackTo(step) {\n\t\tif (isAfter(step)) goTo(step);\n\t}\n\tfunction isNext(step) {\n\t\treturn stepNames.value.indexOf(step) === index.value + 1;\n\t}\n\tfunction isPrevious(step) {\n\t\treturn stepNames.value.indexOf(step) === index.value - 1;\n\t}\n\tfunction isCurrent(step) {\n\t\treturn stepNames.value.indexOf(step) === index.value;\n\t}\n\tfunction isBefore(step) {\n\t\treturn index.value < stepNames.value.indexOf(step);\n\t}\n\tfunction isAfter(step) {\n\t\treturn index.value > stepNames.value.indexOf(step);\n\t}\n\treturn {\n\t\tsteps: stepsRef,\n\t\tstepNames,\n\t\tindex,\n\t\tcurrent,\n\t\tnext,\n\t\tprevious,\n\t\tisFirst,\n\t\tisLast,\n\t\tat,\n\t\tget,\n\t\tgoTo,\n\t\tgoToNext,\n\t\tgoToPrevious,\n\t\tgoBackTo,\n\t\tisNext,\n\t\tisPrevious,\n\t\tisCurrent,\n\t\tisBefore,\n\t\tisAfter\n\t};\n}\n//#endregion\n//#region useStorageAsync/index.ts\n/**\n* Reactive Storage with async support.\n*\n* @see https://vueuse.org/useStorageAsync\n* @param key\n* @param initialValue\n* @param storage\n* @param options\n*/\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n\tvar _options$serializer;\n\tconst { flush = \"pre\", deep = true, listenToStorageChanges = true, writeDefaults = true, mergeDefaults = false, shallow, window = defaultWindow, eventFilter, onError = (e) => {\n\t\tconsole.error(e);\n\t}, onReady } = options;\n\tconst rawInit = toValue(initialValue);\n\tconst type = guessSerializerType(rawInit);\n\tconst data = (shallow ? shallowRef : ref)(toValue(initialValue));\n\tconst serializer = (_options$serializer = options.serializer) !== null && _options$serializer !== void 0 ? _options$serializer : StorageSerializers[type];\n\tif (!storage) try {\n\t\tstorage = getSSRHandler(\"getDefaultStorageAsync\", () => defaultWindow === null || defaultWindow === void 0 ? void 0 : defaultWindow.localStorage)();\n\t} catch (e) {\n\t\tonError(e);\n\t}\n\tasync function read(event) {\n\t\tif (!storage || event && event.key !== key) return;\n\t\ttry {\n\t\t\tconst rawValue = event ? event.newValue : await storage.getItem(key);\n\t\t\tif (rawValue == null) {\n\t\t\t\tdata.value = rawInit;\n\t\t\t\tif (writeDefaults && rawInit !== null) await storage.setItem(key, await serializer.write(rawInit));\n\t\t\t} else if (mergeDefaults) {\n\t\t\t\tconst value = await serializer.read(rawValue);\n\t\t\t\tif (typeof mergeDefaults === \"function\") data.value = mergeDefaults(value, rawInit);\n\t\t\t\telse if (type === \"object\" && !Array.isArray(value)) data.value = {\n\t\t\t\t\t...rawInit,\n\t\t\t\t\t...value\n\t\t\t\t};\n\t\t\t\telse data.value = value;\n\t\t\t} else data.value = await serializer.read(rawValue);\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t}\n\tconst promise = new Promise((resolve) => {\n\t\tread().then(() => {\n\t\t\tonReady === null || onReady === void 0 || onReady(data.value);\n\t\t\tresolve(data);\n\t\t});\n\t});\n\tif (window && listenToStorageChanges) useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)), { passive: true });\n\tif (storage) watchWithFilter(data, async () => {\n\t\ttry {\n\t\t\tif (data.value == null) await storage.removeItem(key);\n\t\t\telse await storage.setItem(key, await serializer.write(data.value));\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t}, {\n\t\tflush,\n\t\tdeep,\n\t\teventFilter\n\t});\n\tObject.assign(data, {\n\t\tthen: promise.then.bind(promise),\n\t\tcatch: promise.catch.bind(promise)\n\t});\n\treturn data;\n}\n//#endregion\n//#region useStyleTag/index.ts\nlet _id = 0;\n/**\n* Inject <style> element in head.\n*\n* Overload: Omitted id\n*\n* @see https://vueuse.org/useStyleTag\n* @param css\n* @param options\n*/\nfunction useStyleTag(css, options = {}) {\n\tconst isLoaded = shallowRef(false);\n\tconst { document = defaultDocument, immediate = true, manual = false, id = `vueuse_styletag_${++_id}` } = options;\n\tconst cssRef = shallowRef(css);\n\tlet stop = () => {};\n\tconst load = () => {\n\t\tif (!document) return;\n\t\tconst el = document.getElementById(id) || document.createElement(\"style\");\n\t\tif (!el.isConnected) {\n\t\t\tel.id = id;\n\t\t\tif (options.nonce) el.nonce = options.nonce;\n\t\t\tif (options.media) el.media = options.media;\n\t\t\tdocument.head.appendChild(el);\n\t\t}\n\t\tif (isLoaded.value) return;\n\t\tstop = watch(cssRef, (value) => {\n\t\t\tel.textContent = value;\n\t\t}, { immediate: true });\n\t\tisLoaded.value = true;\n\t};\n\tconst unload = () => {\n\t\tif (!document || !isLoaded.value) return;\n\t\tstop();\n\t\tdocument.head.removeChild(document.getElementById(id));\n\t\tisLoaded.value = false;\n\t};\n\tif (immediate && !manual) tryOnMounted(load);\n\tif (!manual) tryOnScopeDispose(unload);\n\treturn {\n\t\tid,\n\t\tcss: cssRef,\n\t\tunload,\n\t\tload,\n\t\tisLoaded: shallowReadonly(isLoaded)\n\t};\n}\n//#endregion\n//#region useSwipe/index.ts\n/**\n* Reactive swipe detection.\n*\n* @see https://vueuse.org/useSwipe\n* @param target\n* @param options\n*/\nfunction useSwipe(target, options = {}) {\n\tconst { threshold = 50, onSwipe, onSwipeEnd, onSwipeStart, passive = true } = options;\n\tconst coordsStart = reactive({\n\t\tx: 0,\n\t\ty: 0\n\t});\n\tconst coordsEnd = reactive({\n\t\tx: 0,\n\t\ty: 0\n\t});\n\tconst diffX = computed(() => coordsStart.x - coordsEnd.x);\n\tconst diffY = computed(() => coordsStart.y - coordsEnd.y);\n\tconst { max, abs } = Math;\n\tconst isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n\tconst isSwiping = shallowRef(false);\n\tconst direction = computed(() => {\n\t\tif (!isThresholdExceeded.value) return \"none\";\n\t\tif (abs(diffX.value) > abs(diffY.value)) return diffX.value > 0 ? \"left\" : \"right\";\n\t\telse return diffY.value > 0 ? \"up\" : \"down\";\n\t});\n\tconst getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n\tconst updateCoordsStart = (x, y) => {\n\t\tcoordsStart.x = x;\n\t\tcoordsStart.y = y;\n\t};\n\tconst updateCoordsEnd = (x, y) => {\n\t\tcoordsEnd.x = x;\n\t\tcoordsEnd.y = y;\n\t};\n\tconst listenerOptions = {\n\t\tpassive,\n\t\tcapture: !passive\n\t};\n\tconst onTouchEnd = (e) => {\n\t\tif (isSwiping.value) onSwipeEnd === null || onSwipeEnd === void 0 || onSwipeEnd(e, direction.value);\n\t\tisSwiping.value = false;\n\t};\n\tconst stops = [\n\t\tuseEventListener(target, \"touchstart\", (e) => {\n\t\t\tif (e.touches.length !== 1) return;\n\t\t\tconst [x, y] = getTouchEventCoords(e);\n\t\t\tupdateCoordsStart(x, y);\n\t\t\tupdateCoordsEnd(x, y);\n\t\t\tonSwipeStart === null || onSwipeStart === void 0 || onSwipeStart(e);\n\t\t}, listenerOptions),\n\t\tuseEventListener(target, \"touchmove\", (e) => {\n\t\t\tif (e.touches.length !== 1) return;\n\t\t\tconst [x, y] = getTouchEventCoords(e);\n\t\t\tupdateCoordsEnd(x, y);\n\t\t\tif (listenerOptions.capture && !listenerOptions.passive && Math.abs(diffX.value) > Math.abs(diffY.value)) e.preventDefault();\n\t\t\tif (!isSwiping.value && isThresholdExceeded.value) isSwiping.value = true;\n\t\t\tif (isSwiping.value) onSwipe === null || onSwipe === void 0 || onSwipe(e);\n\t\t}, listenerOptions),\n\t\tuseEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n\t];\n\tconst stop = () => stops.forEach((s) => s());\n\treturn {\n\t\tisSwiping,\n\t\tdirection,\n\t\tcoordsStart,\n\t\tcoordsEnd,\n\t\tlengthX: diffX,\n\t\tlengthY: diffY,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useTemplateRefsList/index.ts\n/* @__NO_SIDE_EFFECTS__ */\nfunction useTemplateRefsList() {\n\tconst refs = ref([]);\n\trefs.value.set = (el) => {\n\t\tif (el) refs.value.push(el);\n\t};\n\tonBeforeUpdate(() => {\n\t\trefs.value.length = 0;\n\t});\n\treturn refs;\n}\n//#endregion\n//#region useTextDirection/index.ts\n/**\n* Reactive dir of the element's text.\n*\n* @see https://vueuse.org/useTextDirection\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useTextDirection(options = {}) {\n\tconst { document = defaultDocument, selector = \"html\", observe = false, initialValue = \"ltr\" } = options;\n\tfunction getValue() {\n\t\tvar _ref, _document$querySelect;\n\t\treturn (_ref = document === null || document === void 0 || (_document$querySelect = document.querySelector(selector)) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.getAttribute(\"dir\")) !== null && _ref !== void 0 ? _ref : initialValue;\n\t}\n\tconst dir = shallowRef(getValue());\n\ttryOnMounted(() => dir.value = getValue());\n\tif (observe && document) useMutationObserver(document.querySelector(selector), () => dir.value = getValue(), { attributes: true });\n\treturn computed({\n\t\tget() {\n\t\t\treturn dir.value;\n\t\t},\n\t\tset(v) {\n\t\t\tvar _document$querySelect2, _document$querySelect3;\n\t\t\tdir.value = v;\n\t\t\tif (!document) return;\n\t\t\tif (dir.value) (_document$querySelect2 = document.querySelector(selector)) === null || _document$querySelect2 === void 0 || _document$querySelect2.setAttribute(\"dir\", dir.value);\n\t\t\telse (_document$querySelect3 = document.querySelector(selector)) === null || _document$querySelect3 === void 0 || _document$querySelect3.removeAttribute(\"dir\");\n\t\t}\n\t});\n}\n//#endregion\n//#region useTextSelection/index.ts\nfunction getRangesFromSelection(selection) {\n\tvar _selection$rangeCount;\n\tconst rangeCount = (_selection$rangeCount = selection.rangeCount) !== null && _selection$rangeCount !== void 0 ? _selection$rangeCount : 0;\n\treturn Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\n/**\n* Reactively track user text selection based on [`Window.getSelection`](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection).\n*\n* @see https://vueuse.org/useTextSelection\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useTextSelection(options = {}) {\n\tvar _window$getSelection;\n\tconst { window = defaultWindow } = options;\n\tconst selection = shallowRef((_window$getSelection = window === null || window === void 0 ? void 0 : window.getSelection()) !== null && _window$getSelection !== void 0 ? _window$getSelection : null);\n\tconst text = computed(() => {\n\t\tvar _selection$value$toSt, _selection$value;\n\t\treturn (_selection$value$toSt = (_selection$value = selection.value) === null || _selection$value === void 0 ? void 0 : _selection$value.toString()) !== null && _selection$value$toSt !== void 0 ? _selection$value$toSt : \"\";\n\t});\n\tconst ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n\tconst rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n\tfunction onSelectionChange() {\n\t\tselection.value = null;\n\t\tif (window) selection.value = window.getSelection();\n\t}\n\tif (window) useEventListener(window.document, \"selectionchange\", onSelectionChange, { passive: true });\n\treturn {\n\t\ttext,\n\t\trects,\n\t\tranges,\n\t\tselection\n\t};\n}\n//#endregion\n//#region useTextareaAutosize/index.ts\n/**\n* Call window.requestAnimationFrame(), if not available, just call the function\n*\n* @param window\n* @param fn\n*/\nfunction tryRequestAnimationFrame(window = defaultWindow, fn) {\n\tif (window && typeof window.requestAnimationFrame === \"function\") window.requestAnimationFrame(fn);\n\telse fn();\n}\nfunction useTextareaAutosize(options = {}) {\n\tvar _options$input, _options$styleProp;\n\tconst { window = defaultWindow } = options;\n\tconst textarea = toRef(options === null || options === void 0 ? void 0 : options.element);\n\tconst input = toRef((_options$input = options === null || options === void 0 ? void 0 : options.input) !== null && _options$input !== void 0 ? _options$input : \"\");\n\tconst styleProp = (_options$styleProp = options === null || options === void 0 ? void 0 : options.styleProp) !== null && _options$styleProp !== void 0 ? _options$styleProp : \"height\";\n\tconst textareaScrollHeight = shallowRef(1);\n\tconst textareaOldWidth = shallowRef(0);\n\tfunction triggerResize() {\n\t\tvar _textarea$value;\n\t\tif (!textarea.value) return;\n\t\tlet height = \"\";\n\t\tconst maxHeight = options === null || options === void 0 ? void 0 : options.maxHeight;\n\t\ttextarea.value.style[styleProp] = \"1px\";\n\t\ttextareaScrollHeight.value = (_textarea$value = textarea.value) === null || _textarea$value === void 0 ? void 0 : _textarea$value.scrollHeight;\n\t\tconst _styleTarget = toValue(options === null || options === void 0 ? void 0 : options.styleTarget);\n\t\tconst styleHeight = maxHeight != null ? `${Math.min(textareaScrollHeight.value, maxHeight)}px` : `${textareaScrollHeight.value}px`;\n\t\tif (_styleTarget) _styleTarget.style[styleProp] = styleHeight;\n\t\telse height = styleHeight;\n\t\ttextarea.value.style[styleProp] = height;\n\t}\n\twatch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n\twatch(textareaScrollHeight, () => {\n\t\tvar _options$onResize;\n\t\treturn options === null || options === void 0 || (_options$onResize = options.onResize) === null || _options$onResize === void 0 ? void 0 : _options$onResize.call(options);\n\t});\n\tuseResizeObserver(textarea, ([{ contentRect }]) => {\n\t\tif (textareaOldWidth.value === contentRect.width) return;\n\t\ttryRequestAnimationFrame(window, () => {\n\t\t\ttextareaOldWidth.value = contentRect.width;\n\t\t\ttriggerResize();\n\t\t});\n\t});\n\tif (options === null || options === void 0 ? void 0 : options.watch) watch(options.watch, triggerResize, {\n\t\timmediate: true,\n\t\tdeep: true\n\t});\n\treturn {\n\t\ttextarea,\n\t\tinput,\n\t\ttriggerResize\n\t};\n}\n//#endregion\n//#region useThrottledRefHistory/index.ts\n/**\n* Shorthand for [useRefHistory](https://vueuse.org/useRefHistory) with throttled filter.\n*\n* @see https://vueuse.org/useThrottledRefHistory\n* @param source\n* @param options\n*/\nfunction useThrottledRefHistory(source, options = {}) {\n\tconst { throttle = 200, trailing = true } = options;\n\tconst filter = throttleFilter(throttle, trailing);\n\treturn { ...useRefHistory(source, {\n\t\t...options,\n\t\teventFilter: filter\n\t}) };\n}\n//#endregion\n//#region useTimeAgo/index.ts\nconst DEFAULT_UNITS = [\n\t{\n\t\tmax: 6e4,\n\t\tvalue: 1e3,\n\t\tname: \"second\"\n\t},\n\t{\n\t\tmax: 276e4,\n\t\tvalue: 6e4,\n\t\tname: \"minute\"\n\t},\n\t{\n\t\tmax: 72e6,\n\t\tvalue: 36e5,\n\t\tname: \"hour\"\n\t},\n\t{\n\t\tmax: 5184e5,\n\t\tvalue: 864e5,\n\t\tname: \"day\"\n\t},\n\t{\n\t\tmax: 24192e5,\n\t\tvalue: 6048e5,\n\t\tname: \"week\"\n\t},\n\t{\n\t\tmax: 28512e6,\n\t\tvalue: 2592e6,\n\t\tname: \"month\"\n\t},\n\t{\n\t\tmax: Number.POSITIVE_INFINITY,\n\t\tvalue: 31536e6,\n\t\tname: \"year\"\n\t}\n];\nconst DEFAULT_MESSAGES = {\n\tjustNow: \"just now\",\n\tpast: (n) => /\\d/.test(n) ? `${n} ago` : n,\n\tfuture: (n) => /\\d/.test(n) ? `in ${n}` : n,\n\tmonth: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n\tyear: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n\tday: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n\tweek: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n\thour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n\tminute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n\tsecond: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n\tinvalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n\treturn date.toISOString().slice(0, 10);\n}\nfunction getDefaultScheduler$4(options) {\n\tif (\"updateInterval\" in options) {\n\t\tconst { updateInterval = 3e4 } = options;\n\t\treturn (cb) => useIntervalFn(cb, updateInterval);\n\t}\n\treturn (cb) => useIntervalFn(cb, 3e4);\n}\n/**\n* Reactive time ago formatter.\n*\n* @see https://vueuse.org/useTimeAgo\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useTimeAgo(time, options = {}) {\n\tconst { controls: exposeControls = false, scheduler = getDefaultScheduler$4(options) } = options;\n\tconst { now, ...controls } = useNow({\n\t\tscheduler,\n\t\tcontrols: true\n\t});\n\tconst timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n\tif (exposeControls) return {\n\t\ttimeAgo,\n\t\t...controls\n\t};\n\telse return timeAgo;\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n\tconst { max, messages = DEFAULT_MESSAGES, fullDateFormatter = DEFAULT_FORMATTER, units = DEFAULT_UNITS, showSecond = false, rounding = \"round\" } = options;\n\tconst roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n\tconst diff = +now - +from;\n\tconst absDiff = Math.abs(diff);\n\tfunction getValue(diff, unit) {\n\t\treturn roundFn(Math.abs(diff) / unit.value);\n\t}\n\tfunction format(diff, unit) {\n\t\tconst val = getValue(diff, unit);\n\t\tconst past = diff > 0;\n\t\tconst str = applyFormat(unit.name, val, past);\n\t\treturn applyFormat(past ? \"past\" : \"future\", str, past);\n\t}\n\tfunction applyFormat(name, val, isPast) {\n\t\tconst formatter = messages[name];\n\t\tif (typeof formatter === \"function\") return formatter(val, isPast);\n\t\treturn formatter.replace(\"{0}\", val.toString());\n\t}\n\tif (absDiff < 6e4 && !showSecond) return messages.justNow;\n\tif (typeof max === \"number\" && absDiff > max) return fullDateFormatter(new Date(from));\n\tif (typeof max === \"string\") {\n\t\tvar _units$find;\n\t\tconst unitMax = (_units$find = units.find((i) => i.name === max)) === null || _units$find === void 0 ? void 0 : _units$find.max;\n\t\tif (unitMax && absDiff > unitMax) return fullDateFormatter(new Date(from));\n\t}\n\tfor (const [idx, unit] of units.entries()) {\n\t\tif (getValue(diff, unit) <= 0 && units[idx - 1]) return format(diff, units[idx - 1]);\n\t\tif (absDiff < unit.max) return format(diff, unit);\n\t}\n\treturn messages.invalid;\n}\n//#endregion\n//#region useTimeAgoIntl/index.ts\nconst UNITS = [\n\t{\n\t\tname: \"year\",\n\t\tms: 31536e6\n\t},\n\t{\n\t\tname: \"month\",\n\t\tms: 2592e6\n\t},\n\t{\n\t\tname: \"week\",\n\t\tms: 6048e5\n\t},\n\t{\n\t\tname: \"day\",\n\t\tms: 864e5\n\t},\n\t{\n\t\tname: \"hour\",\n\t\tms: 36e5\n\t},\n\t{\n\t\tname: \"minute\",\n\t\tms: 6e4\n\t},\n\t{\n\t\tname: \"second\",\n\t\tms: 1e3\n\t}\n];\nfunction getDefaultScheduler$3(options) {\n\tif (\"updateInterval\" in options) {\n\t\tconst { updateInterval = 3e4 } = options;\n\t\treturn (cb) => useIntervalFn(cb, updateInterval);\n\t}\n\treturn (cb) => useIntervalFn(cb, 3e4);\n}\nfunction useTimeAgoIntl(time, options = {}) {\n\tconst { controls: exposeControls = false, scheduler = getDefaultScheduler$3(options) } = options;\n\tconst { now, ...controls } = useNow({\n\t\tscheduler,\n\t\tcontrols: true\n\t});\n\tconst result = computed(() => getTimeAgoIntlResult(new Date(toValue(time)), options, toValue(now)));\n\tconst parts = computed(() => result.value.parts);\n\tconst timeAgoIntl = computed(() => formatTimeAgoIntlParts(parts.value, {\n\t\t...options,\n\t\tlocale: result.value.resolvedLocale\n\t}));\n\treturn exposeControls ? {\n\t\ttimeAgoIntl,\n\t\tparts,\n\t\t...controls\n\t} : timeAgoIntl;\n}\n/**\n* Non-reactive version of useTimeAgoIntl\n*/\nfunction formatTimeAgoIntl(from, options = {}, now = Date.now()) {\n\tconst { parts, resolvedLocale } = getTimeAgoIntlResult(from, options, now);\n\treturn formatTimeAgoIntlParts(parts, {\n\t\t...options,\n\t\tlocale: resolvedLocale\n\t});\n}\n/**\n* Get parts from `Intl.RelativeTimeFormat.formatToParts`.\n*/\nfunction getTimeAgoIntlResult(from, options = {}, now = Date.now()) {\n\tvar _options$units;\n\tconst { locale, relativeTimeFormatOptions = { numeric: \"auto\" } } = options;\n\tconst rtf = new Intl.RelativeTimeFormat(locale, relativeTimeFormatOptions);\n\tconst { locale: resolvedLocale } = rtf.resolvedOptions();\n\tconst diff = +from - +now;\n\tconst absDiff = Math.abs(diff);\n\tconst units = (_options$units = options.units) !== null && _options$units !== void 0 ? _options$units : UNITS;\n\tfor (const { name, ms } of units) if (absDiff >= ms) return {\n\t\tresolvedLocale,\n\t\tparts: rtf.formatToParts(Math.round(diff / ms), name)\n\t};\n\treturn {\n\t\tresolvedLocale,\n\t\tparts: rtf.formatToParts(0, units[units.length - 1].name)\n\t};\n}\n/**\n* Format parts into a string\n*/\nfunction formatTimeAgoIntlParts(parts, options = {}) {\n\tconst { insertSpace = true, joinParts, locale } = options;\n\tif (typeof joinParts === \"function\") return joinParts(parts, locale);\n\tif (!insertSpace) return parts.map((part) => part.value).join(\"\");\n\treturn parts.map((part) => part.value.trim()).join(\" \");\n}\n//#endregion\n//#region useTimeoutPoll/index.ts\nfunction useTimeoutPoll(fn, interval, options = {}) {\n\tconst { immediate = true, immediateCallback = false } = options;\n\tconst { start } = useTimeoutFn(loop, interval, { immediate });\n\tconst isActive = shallowRef(false);\n\tasync function loop() {\n\t\tif (!isActive.value) return;\n\t\tawait fn();\n\t\tstart();\n\t}\n\tfunction resume() {\n\t\tif (!isActive.value) {\n\t\t\tisActive.value = true;\n\t\t\tif (immediateCallback) fn();\n\t\t\tstart();\n\t\t}\n\t}\n\tfunction pause() {\n\t\tisActive.value = false;\n\t}\n\tif (immediate && isClient) resume();\n\ttryOnScopeDispose(pause);\n\treturn {\n\t\tisActive,\n\t\tpause,\n\t\tresume\n\t};\n}\n//#endregion\n//#region useTimestamp/index.ts\nfunction getDefaultScheduler$2(options) {\n\tif (\"interval\" in options || \"immediate\" in options) {\n\t\tconst { interval = \"requestAnimationFrame\", immediate = true } = options;\n\t\treturn interval === \"requestAnimationFrame\" ? (cb) => useRafFn(cb, { immediate }) : (cb) => useIntervalFn(cb, interval, { immediate });\n\t}\n\treturn useRafFn;\n}\nfunction useTimestamp(options = {}) {\n\tconst { controls: exposeControls = false, offset = 0, scheduler = getDefaultScheduler$2(options), callback } = options;\n\tconst ts = shallowRef(timestamp() + offset);\n\tconst update = () => ts.value = timestamp() + offset;\n\tconst controls = scheduler(callback ? () => {\n\t\tupdate();\n\t\tcallback(ts.value);\n\t} : update);\n\tif (exposeControls) return {\n\t\ttimestamp: ts,\n\t\t...controls\n\t};\n\telse return ts;\n}\n//#endregion\n//#region useTitle/index.ts\nfunction useTitle(newTitle = null, options = {}) {\n\tvar _document$title, _ref;\n\tconst { document = defaultDocument, restoreOnUnmount = (t) => t } = options;\n\tconst originalTitle = (_document$title = document === null || document === void 0 ? void 0 : document.title) !== null && _document$title !== void 0 ? _document$title : \"\";\n\tconst title = toRef((_ref = newTitle !== null && newTitle !== void 0 ? newTitle : document === null || document === void 0 ? void 0 : document.title) !== null && _ref !== void 0 ? _ref : null);\n\tconst isReadonly = !!(newTitle && typeof newTitle === \"function\");\n\tfunction format(t) {\n\t\tif (!(\"titleTemplate\" in options)) return t;\n\t\tconst template = options.titleTemplate || \"%s\";\n\t\treturn typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n\t}\n\twatch(title, (newValue, oldValue) => {\n\t\tif (newValue !== oldValue && document) document.title = format(newValue !== null && newValue !== void 0 ? newValue : \"\");\n\t}, { immediate: true });\n\tif (options.observe && !options.titleTemplate && document && !isReadonly) {\n\t\tvar _document$head;\n\t\tuseMutationObserver((_document$head = document.head) === null || _document$head === void 0 ? void 0 : _document$head.querySelector(\"title\"), () => {\n\t\t\tif (document && document.title !== title.value) title.value = format(document.title);\n\t\t}, { childList: true });\n\t}\n\ttryOnScopeDispose(() => {\n\t\tif (restoreOnUnmount) {\n\t\t\tconst restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n\t\t\tif (restoredTitle != null && document) document.title = restoredTitle;\n\t\t}\n\t});\n\treturn title;\n}\n/**\n* Common transitions\n*\n* @see https://easings.net\n*/\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, {\n\teaseInSine: [\n\t\t.12,\n\t\t0,\n\t\t.39,\n\t\t0\n\t],\n\teaseOutSine: [\n\t\t.61,\n\t\t1,\n\t\t.88,\n\t\t1\n\t],\n\teaseInOutSine: [\n\t\t.37,\n\t\t0,\n\t\t.63,\n\t\t1\n\t],\n\teaseInQuad: [\n\t\t.11,\n\t\t0,\n\t\t.5,\n\t\t0\n\t],\n\teaseOutQuad: [\n\t\t.5,\n\t\t1,\n\t\t.89,\n\t\t1\n\t],\n\teaseInOutQuad: [\n\t\t.45,\n\t\t0,\n\t\t.55,\n\t\t1\n\t],\n\teaseInCubic: [\n\t\t.32,\n\t\t0,\n\t\t.67,\n\t\t0\n\t],\n\teaseOutCubic: [\n\t\t.33,\n\t\t1,\n\t\t.68,\n\t\t1\n\t],\n\teaseInOutCubic: [\n\t\t.65,\n\t\t0,\n\t\t.35,\n\t\t1\n\t],\n\teaseInQuart: [\n\t\t.5,\n\t\t0,\n\t\t.75,\n\t\t0\n\t],\n\teaseOutQuart: [\n\t\t.25,\n\t\t1,\n\t\t.5,\n\t\t1\n\t],\n\teaseInOutQuart: [\n\t\t.76,\n\t\t0,\n\t\t.24,\n\t\t1\n\t],\n\teaseInQuint: [\n\t\t.64,\n\t\t0,\n\t\t.78,\n\t\t0\n\t],\n\teaseOutQuint: [\n\t\t.22,\n\t\t1,\n\t\t.36,\n\t\t1\n\t],\n\teaseInOutQuint: [\n\t\t.83,\n\t\t0,\n\t\t.17,\n\t\t1\n\t],\n\teaseInExpo: [\n\t\t.7,\n\t\t0,\n\t\t.84,\n\t\t0\n\t],\n\teaseOutExpo: [\n\t\t.16,\n\t\t1,\n\t\t.3,\n\t\t1\n\t],\n\teaseInOutExpo: [\n\t\t.87,\n\t\t0,\n\t\t.13,\n\t\t1\n\t],\n\teaseInCirc: [\n\t\t.55,\n\t\t0,\n\t\t1,\n\t\t.45\n\t],\n\teaseOutCirc: [\n\t\t0,\n\t\t.55,\n\t\t.45,\n\t\t1\n\t],\n\teaseInOutCirc: [\n\t\t.85,\n\t\t0,\n\t\t.15,\n\t\t1\n\t],\n\teaseInBack: [\n\t\t.36,\n\t\t0,\n\t\t.66,\n\t\t-.56\n\t],\n\teaseOutBack: [\n\t\t.34,\n\t\t1.56,\n\t\t.64,\n\t\t1\n\t],\n\teaseInOutBack: [\n\t\t.68,\n\t\t-.6,\n\t\t.32,\n\t\t1.6\n\t]\n});\n/**\n* Create an easing function from cubic bezier points.\n*/\nfunction createEasingFunction([p0, p1, p2, p3]) {\n\tconst a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n\tconst b = (a1, a2) => 3 * a2 - 6 * a1;\n\tconst c = (a1) => 3 * a1;\n\tconst calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n\tconst getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n\tconst getTforX = (x) => {\n\t\tlet aGuessT = x;\n\t\tfor (let i = 0; i < 4; ++i) {\n\t\t\tconst currentSlope = getSlope(aGuessT, p0, p2);\n\t\t\tif (currentSlope === 0) return aGuessT;\n\t\t\tconst currentX = calcBezier(aGuessT, p0, p2) - x;\n\t\t\taGuessT -= currentX / currentSlope;\n\t\t}\n\t\treturn aGuessT;\n\t};\n\treturn (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n\treturn a + alpha * (b - a);\n}\nfunction defaultInterpolation(a, b, t) {\n\tconst aVal = toValue(a);\n\tconst bVal = toValue(b);\n\tif (typeof aVal === \"number\" && typeof bVal === \"number\") return lerp(aVal, bVal, t);\n\tif (Array.isArray(aVal) && Array.isArray(bVal)) return aVal.map((v, i) => lerp(v, toValue(bVal[i]), t));\n\tthrow new TypeError(\"Unknown transition type, specify an interpolation function.\");\n}\nfunction normalizeEasing(easing) {\n\tvar _toValue;\n\treturn typeof easing === \"function\" ? easing : (_toValue = toValue(easing)) !== null && _toValue !== void 0 ? _toValue : identity;\n}\n/**\n* Transition from one value to another.\n*\n* @param source\n* @param from\n* @param to\n* @param options\n*/\nfunction transition(source, from, to, options = {}) {\n\tvar _toValue2;\n\tconst { window = defaultWindow } = options;\n\tconst fromVal = toValue(from);\n\tconst toVal = toValue(to);\n\tconst duration = (_toValue2 = toValue(options.duration)) !== null && _toValue2 !== void 0 ? _toValue2 : 1e3;\n\tconst startedAt = Date.now();\n\tconst endAt = Date.now() + duration;\n\tconst interpolation = typeof options.interpolation === \"function\" ? options.interpolation : defaultInterpolation;\n\tconst trans = typeof options.easing !== \"undefined\" ? normalizeEasing(options.easing) : normalizeEasing(options.transition);\n\tconst ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n\treturn new Promise((resolve) => {\n\t\tsource.value = fromVal;\n\t\tconst tick = () => {\n\t\t\tvar _options$abort;\n\t\t\tif ((_options$abort = options.abort) === null || _options$abort === void 0 ? void 0 : _options$abort.call(options)) {\n\t\t\t\tresolve();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst now = Date.now();\n\t\t\tsource.value = interpolation(fromVal, toVal, ease((now - startedAt) / duration));\n\t\t\tif (now < endAt) window === null || window === void 0 || window.requestAnimationFrame(tick);\n\t\t\telse {\n\t\t\t\tsource.value = toVal;\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\t\ttick();\n\t});\n}\n/**\n* Transition from one value to another.\n* @deprecated The `executeTransition` function is deprecated, use `transition` instead.\n*\n* @param source\n* @param from\n* @param to\n* @param options\n*/\nfunction executeTransition(source, from, to, options = {}) {\n\treturn transition(source, from, to, options);\n}\n/**\n* Follow value with a transition.\n*\n* @see https://vueuse.org/useTransition\n* @param source\n* @param options\n*/\nfunction useTransition(source, options = {}) {\n\tlet currentId = 0;\n\tconst sourceVal = () => {\n\t\tconst v = toValue(source);\n\t\treturn typeof options.interpolation === \"undefined\" && Array.isArray(v) ? v.map(toValue) : v;\n\t};\n\tconst outputRef = shallowRef(sourceVal());\n\twatch(sourceVal, async (to) => {\n\t\tvar _options$onStarted, _options$onFinished;\n\t\tif (toValue(options.disabled)) return;\n\t\tconst id = ++currentId;\n\t\tif (options.delay) await promiseTimeout(toValue(options.delay));\n\t\tif (id !== currentId) return;\n\t\t(_options$onStarted = options.onStarted) === null || _options$onStarted === void 0 || _options$onStarted.call(options);\n\t\tawait transition(outputRef, outputRef.value, to, {\n\t\t\t...options,\n\t\t\tabort: () => {\n\t\t\t\tvar _options$abort2;\n\t\t\t\treturn id !== currentId || ((_options$abort2 = options.abort) === null || _options$abort2 === void 0 ? void 0 : _options$abort2.call(options));\n\t\t\t}\n\t\t});\n\t\t(_options$onFinished = options.onFinished) === null || _options$onFinished === void 0 || _options$onFinished.call(options);\n\t}, { deep: true });\n\twatch(() => toValue(options.disabled), (disabled) => {\n\t\tif (disabled) {\n\t\t\tcurrentId++;\n\t\t\toutputRef.value = sourceVal();\n\t\t}\n\t});\n\ttryOnScopeDispose(() => {\n\t\tcurrentId++;\n\t});\n\treturn computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n//#endregion\n//#region useUrlSearchParams/index.ts\n/**\n* Reactive URLSearchParams\n*\n* @see https://vueuse.org/useUrlSearchParams\n* @param mode\n* @param options\n*/\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n\tconst { initialValue = {}, removeNullishValues = true, removeFalsyValues = false, write: enableWrite = true, writeMode = \"replace\", window = defaultWindow, stringify = (params) => params.toString() } = options;\n\tif (!window) return reactive(initialValue);\n\tconst state = reactive({});\n\tfunction getRawParams() {\n\t\tif (mode === \"history\") return window.location.search || \"\";\n\t\telse if (mode === \"hash\") {\n\t\t\tconst hash = window.location.hash || \"\";\n\t\t\tconst index = hash.indexOf(\"?\");\n\t\t\treturn index > 0 ? hash.slice(index) : \"\";\n\t\t} else return (window.location.hash || \"\").replace(/^#/, \"\");\n\t}\n\tfunction constructQuery(params) {\n\t\tconst stringified = stringify(params);\n\t\tif (mode === \"history\") return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n\t\tif (mode === \"hash-params\") return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n\t\tconst hash = window.location.hash || \"#\";\n\t\tconst index = hash.indexOf(\"?\");\n\t\tif (index > 0) return `${window.location.search || \"\"}${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n\t\treturn `${window.location.search || \"\"}${hash}${stringified ? `?${stringified}` : \"\"}`;\n\t}\n\tfunction read() {\n\t\treturn new URLSearchParams(getRawParams());\n\t}\n\tfunction updateState(params) {\n\t\tconst unusedKeys = new Set(Object.keys(state));\n\t\tfor (const key of params.keys()) {\n\t\t\tconst paramsForKey = params.getAll(key);\n\t\t\tstate[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n\t\t\tunusedKeys.delete(key);\n\t\t}\n\t\tArray.from(unusedKeys).forEach((key) => delete state[key]);\n\t}\n\tconst { pause, resume } = watchPausable(state, () => {\n\t\tconst params = new URLSearchParams(\"\");\n\t\tObject.keys(state).forEach((key) => {\n\t\t\tconst mapEntry = state[key];\n\t\t\tif (Array.isArray(mapEntry)) mapEntry.forEach((value) => params.append(key, value));\n\t\t\telse if (removeNullishValues && mapEntry == null) params.delete(key);\n\t\t\telse if (removeFalsyValues && !mapEntry) params.delete(key);\n\t\t\telse params.set(key, mapEntry);\n\t\t});\n\t\twrite(params, false);\n\t}, { deep: true });\n\tfunction write(params, shouldUpdate, shouldWriteHistory = true) {\n\t\tpause();\n\t\tif (shouldUpdate) updateState(params);\n\t\tif (writeMode === \"replace\") window.history.replaceState(window.history.state, window.document.title, window.location.pathname + constructQuery(params));\n\t\telse if (shouldWriteHistory) window.history.pushState(window.history.state, window.document.title, window.location.pathname + constructQuery(params));\n\t\tnextTick(() => resume());\n\t}\n\tfunction onChanged() {\n\t\tif (!enableWrite) return;\n\t\twrite(read(), true, false);\n\t}\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(window, \"popstate\", onChanged, listenerOptions);\n\tif (mode !== \"history\") useEventListener(window, \"hashchange\", onChanged, listenerOptions);\n\tconst initial = read();\n\tif (initial.keys().next().value) updateState(initial);\n\telse Object.assign(state, initialValue);\n\treturn state;\n}\n//#endregion\n//#region useUserMedia/index.ts\n/**\n* Reactive `mediaDevices.getUserMedia` streaming\n*\n* @see https://vueuse.org/useUserMedia\n* @param options\n*/\nfunction useUserMedia(options = {}) {\n\tvar _options$enabled, _options$autoSwitch;\n\tconst enabled = shallowRef((_options$enabled = options.enabled) !== null && _options$enabled !== void 0 ? _options$enabled : false);\n\tconst autoSwitch = shallowRef((_options$autoSwitch = options.autoSwitch) !== null && _options$autoSwitch !== void 0 ? _options$autoSwitch : true);\n\tconst constraints = ref(options.constraints);\n\tconst { navigator = defaultNavigator } = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => {\n\t\tvar _navigator$mediaDevic;\n\t\treturn navigator === null || navigator === void 0 || (_navigator$mediaDevic = navigator.mediaDevices) === null || _navigator$mediaDevic === void 0 ? void 0 : _navigator$mediaDevic.getUserMedia;\n\t});\n\tconst stream = shallowRef();\n\tfunction getDeviceOptions(type) {\n\t\tswitch (type) {\n\t\t\tcase \"video\":\n\t\t\t\tif (constraints.value) return constraints.value.video || false;\n\t\t\t\tbreak;\n\t\t\tcase \"audio\":\n\t\t\t\tif (constraints.value) return constraints.value.audio || false;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tasync function _start() {\n\t\tif (!isSupported.value || stream.value) return;\n\t\tstream.value = await navigator.mediaDevices.getUserMedia({\n\t\t\tvideo: getDeviceOptions(\"video\"),\n\t\t\taudio: getDeviceOptions(\"audio\")\n\t\t});\n\t\treturn stream.value;\n\t}\n\tfunction _stop() {\n\t\tvar _stream$value;\n\t\t(_stream$value = stream.value) === null || _stream$value === void 0 || _stream$value.getTracks().forEach((t) => t.stop());\n\t\tstream.value = void 0;\n\t}\n\tfunction stop() {\n\t\t_stop();\n\t\tenabled.value = false;\n\t}\n\tasync function start() {\n\t\tawait _start();\n\t\tif (stream.value) enabled.value = true;\n\t\treturn stream.value;\n\t}\n\tasync function restart() {\n\t\t_stop();\n\t\treturn await start();\n\t}\n\twatch(enabled, (v) => {\n\t\tif (v) _start();\n\t\telse _stop();\n\t}, { immediate: true });\n\twatch(constraints, () => {\n\t\tif (autoSwitch.value && stream.value) restart();\n\t}, {\n\t\timmediate: true,\n\t\tdeep: true\n\t});\n\ttryOnScopeDispose(() => {\n\t\tstop();\n\t});\n\treturn {\n\t\tisSupported,\n\t\tstream,\n\t\tstart,\n\t\tstop,\n\t\trestart,\n\t\tconstraints,\n\t\tenabled,\n\t\tautoSwitch\n\t};\n}\n//#endregion\n//#region useVModel/index.ts\n/**\n* Shorthand for v-model binding, props + emit -> ref\n*\n* @see https://vueuse.org/useVModel\n* @param props\n* @param key (default 'modelValue')\n* @param emit\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useVModel(props, key, emit, options = {}) {\n\tvar _vm$$emit, _vm$proxy;\n\tconst { clone = false, passive = false, eventName, deep = false, defaultValue, shouldEmit } = options;\n\tconst vm = getCurrentInstance();\n\tconst _emit = emit || (vm === null || vm === void 0 ? void 0 : vm.emit) || (vm === null || vm === void 0 || (_vm$$emit = vm.$emit) === null || _vm$$emit === void 0 ? void 0 : _vm$$emit.bind(vm)) || (vm === null || vm === void 0 || (_vm$proxy = vm.proxy) === null || _vm$proxy === void 0 || (_vm$proxy = _vm$proxy.$emit) === null || _vm$proxy === void 0 ? void 0 : _vm$proxy.bind(vm === null || vm === void 0 ? void 0 : vm.proxy));\n\tlet event = eventName;\n\tif (!key) key = \"modelValue\";\n\tevent = event || `update:${key.toString()}`;\n\tconst cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n\tconst getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n\tconst triggerEmit = (value) => {\n\t\tif (shouldEmit) {\n\t\t\tif (shouldEmit(value)) _emit(event, value);\n\t\t} else _emit(event, value);\n\t};\n\tif (passive) {\n\t\tconst proxy = ref(getValue());\n\t\tlet isUpdating = false;\n\t\twatch(() => props[key], (v) => {\n\t\t\tif (!isUpdating) {\n\t\t\t\tisUpdating = true;\n\t\t\t\tproxy.value = cloneFn(v);\n\t\t\t\tnextTick(() => isUpdating = false);\n\t\t\t}\n\t\t});\n\t\twatch(proxy, (v) => {\n\t\t\tif (!isUpdating && (v !== props[key] || deep)) triggerEmit(v);\n\t\t}, { deep });\n\t\treturn proxy;\n\t} else return computed({\n\t\tget() {\n\t\t\treturn getValue();\n\t\t},\n\t\tset(value) {\n\t\t\ttriggerEmit(value);\n\t\t}\n\t});\n}\n//#endregion\n//#region useVModels/index.ts\n/**\n* Shorthand for props v-model binding. Think like `toRefs(props)` but changes will also emit out.\n*\n* @see https://vueuse.org/useVModels\n* @param props\n* @param emit\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useVModels(props, emit, options = {}) {\n\tconst ret = {};\n\tfor (const key in props) ret[key] = useVModel(props, key, emit, options);\n\treturn ret;\n}\n//#endregion\n//#region useVibrate/index.ts\nfunction getDefaultScheduler$1(options = { interval: 0 }) {\n\tconst { interval } = options;\n\tif (interval === 0) return;\n\treturn (fn) => useIntervalFn(fn, interval, {\n\t\timmediate: false,\n\t\timmediateCallback: false\n\t});\n}\n/**\n* Reactive vibrate\n*\n* @see https://vueuse.org/useVibrate\n* @see https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useVibrate(options) {\n\tconst { pattern = [], scheduler = getDefaultScheduler$1(options), navigator = defaultNavigator } = options || {};\n\tconst isSupported = /* @__PURE__ */ useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n\tconst patternRef = toRef(pattern);\n\tconst vibrate = (pattern = patternRef.value) => {\n\t\tif (isSupported.value) navigator.vibrate(pattern);\n\t};\n\tconst intervalControls = scheduler === null || scheduler === void 0 ? void 0 : scheduler(vibrate);\n\tconst stop = () => {\n\t\tif (isSupported.value) navigator.vibrate(0);\n\t\tintervalControls === null || intervalControls === void 0 || intervalControls.pause();\n\t};\n\treturn {\n\t\tisSupported,\n\t\tpattern,\n\t\tintervalControls,\n\t\tvibrate,\n\t\tstop\n\t};\n}\n//#endregion\n//#region useVirtualList/index.ts\n/**\n* Please consider using [`vue-virtual-scroller`](https://github.com/Akryum/vue-virtual-scroller) if you are looking for more features.\n*/\nfunction useVirtualList(list, options) {\n\tconst { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n\treturn {\n\t\tlist: currentList,\n\t\tscrollTo,\n\t\tcontainerProps: {\n\t\t\tref: containerRef,\n\t\t\tonScroll: () => {\n\t\t\t\tcalculateRange();\n\t\t\t},\n\t\t\tstyle: containerStyle\n\t\t},\n\t\twrapperProps\n\t};\n}\nfunction useVirtualListResources(list) {\n\tconst containerRef = shallowRef(null);\n\tconst size = useElementSize(containerRef);\n\tconst currentList = ref([]);\n\tconst source = shallowRef(list);\n\treturn {\n\t\tstate: ref({\n\t\t\tstart: 0,\n\t\t\tend: 10\n\t\t}),\n\t\tsource,\n\t\tcurrentList,\n\t\tsize,\n\t\tcontainerRef\n\t};\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n\treturn (containerSize) => {\n\t\tif (typeof itemSize === \"number\") return Math.ceil(containerSize / itemSize);\n\t\tconst { start = 0 } = state.value;\n\t\tlet sum = 0;\n\t\tlet capacity = 0;\n\t\tfor (let i = start; i < source.value.length; i++) {\n\t\t\tconst size = itemSize(i);\n\t\t\tsum += size;\n\t\t\tcapacity = i;\n\t\t\tif (sum > containerSize) break;\n\t\t}\n\t\treturn capacity - start;\n\t};\n}\nfunction createGetOffset(source, itemSize) {\n\treturn (scrollDirection) => {\n\t\tif (typeof itemSize === \"number\") return Math.floor(scrollDirection / itemSize) + 1;\n\t\tlet sum = 0;\n\t\tlet offset = 0;\n\t\tfor (let i = 0; i < source.value.length; i++) {\n\t\t\tconst size = itemSize(i);\n\t\t\tsum += size;\n\t\t\tif (sum >= scrollDirection) {\n\t\t\t\toffset = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn offset + 1;\n\t};\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n\treturn () => {\n\t\tconst element = containerRef.value;\n\t\tif (element) {\n\t\t\tconst offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n\t\t\tconst viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n\t\t\tconst from = offset - overscan;\n\t\t\tconst to = offset + viewCapacity + overscan;\n\t\t\tstate.value = {\n\t\t\t\tstart: from < 0 ? 0 : from,\n\t\t\t\tend: to > source.value.length ? source.value.length : to\n\t\t\t};\n\t\t\tcurrentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n\t\t\t\tdata: ele,\n\t\t\t\tindex: index + state.value.start\n\t\t\t}));\n\t\t}\n\t};\n}\nfunction createGetDistance(itemSize, source) {\n\treturn (index) => {\n\t\tif (typeof itemSize === \"number\") return index * itemSize;\n\t\treturn source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n\t};\n}\nfunction useWatchForSizes(size, listRef, containerRef, calculateRange) {\n\twatch([\n\t\tsize.width,\n\t\tsize.height,\n\t\tlistRef,\n\t\tcontainerRef\n\t], () => {\n\t\tcalculateRange();\n\t});\n}\nfunction createComputedTotalSize(itemSize, source) {\n\treturn computed(() => {\n\t\tif (typeof itemSize === \"number\") return source.value.length * itemSize;\n\t\treturn source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n\t});\n}\nconst scrollToDictionaryForElementScrollKey = {\n\thorizontal: \"scrollLeft\",\n\tvertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n\treturn (index) => {\n\t\tif (containerRef.value) {\n\t\t\tcontainerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n\t\t\tcalculateRange();\n\t\t}\n\t};\n}\nfunction useHorizontalVirtualList(options, list) {\n\tconst resources = useVirtualListResources(list);\n\tconst { state, source, currentList, size, containerRef } = resources;\n\tconst containerStyle = { overflowX: \"auto\" };\n\tconst { itemWidth, overscan = 5 } = options;\n\tconst getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n\tconst calculateRange = createCalculateRange(\"horizontal\", overscan, createGetOffset(source, itemWidth), getViewCapacity, resources);\n\tconst getDistanceLeft = createGetDistance(itemWidth, source);\n\tconst offsetLeft = computed(() => getDistanceLeft(state.value.start));\n\tconst totalWidth = createComputedTotalSize(itemWidth, source);\n\tuseWatchForSizes(size, source, containerRef, calculateRange);\n\treturn {\n\t\tscrollTo: createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef),\n\t\tcalculateRange,\n\t\twrapperProps: computed(() => {\n\t\t\treturn { style: {\n\t\t\t\theight: \"100%\",\n\t\t\t\twidth: `${totalWidth.value - offsetLeft.value}px`,\n\t\t\t\tmarginLeft: `${offsetLeft.value}px`,\n\t\t\t\tdisplay: \"flex\"\n\t\t\t} };\n\t\t}),\n\t\tcontainerStyle,\n\t\tcurrentList,\n\t\tcontainerRef\n\t};\n}\nfunction useVerticalVirtualList(options, list) {\n\tconst resources = useVirtualListResources(list);\n\tconst { state, source, currentList, size, containerRef } = resources;\n\tconst containerStyle = { overflowY: \"auto\" };\n\tconst { itemHeight, overscan = 5 } = options;\n\tconst getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n\tconst calculateRange = createCalculateRange(\"vertical\", overscan, createGetOffset(source, itemHeight), getViewCapacity, resources);\n\tconst getDistanceTop = createGetDistance(itemHeight, source);\n\tconst offsetTop = computed(() => getDistanceTop(state.value.start));\n\tconst totalHeight = createComputedTotalSize(itemHeight, source);\n\tuseWatchForSizes(size, source, containerRef, calculateRange);\n\treturn {\n\t\tcalculateRange,\n\t\tscrollTo: createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef),\n\t\tcontainerStyle,\n\t\twrapperProps: computed(() => {\n\t\t\treturn { style: {\n\t\t\t\twidth: \"100%\",\n\t\t\t\theight: `${totalHeight.value - offsetTop.value}px`,\n\t\t\t\tmarginTop: `${offsetTop.value}px`\n\t\t\t} };\n\t\t}),\n\t\tcurrentList,\n\t\tcontainerRef\n\t};\n}\n//#endregion\n//#region useWakeLock/index.ts\n/**\n* Reactive Screen Wake Lock API.\n*\n* @see https://vueuse.org/useWakeLock\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useWakeLock(options = {}) {\n\tconst { navigator = defaultNavigator, document = defaultDocument } = options;\n\tconst requestedType = shallowRef(false);\n\tconst sentinel = shallowRef(null);\n\tconst documentVisibility = useDocumentVisibility({ document });\n\tconst isSupported = /* @__PURE__ */ useSupported(() => navigator && \"wakeLock\" in navigator);\n\tconst isActive = computed(() => !!sentinel.value && documentVisibility.value === \"visible\");\n\tif (isSupported.value) {\n\t\tuseEventListener(sentinel, \"release\", () => {\n\t\t\tvar _sentinel$value$type, _sentinel$value;\n\t\t\trequestedType.value = (_sentinel$value$type = (_sentinel$value = sentinel.value) === null || _sentinel$value === void 0 ? void 0 : _sentinel$value.type) !== null && _sentinel$value$type !== void 0 ? _sentinel$value$type : false;\n\t\t}, { passive: true });\n\t\twhenever(() => documentVisibility.value === \"visible\" && (document === null || document === void 0 ? void 0 : document.visibilityState) === \"visible\" && requestedType.value, (type) => {\n\t\t\trequestedType.value = false;\n\t\t\tforceRequest(type);\n\t\t});\n\t}\n\tasync function forceRequest(type) {\n\t\tvar _sentinel$value2;\n\t\tawait ((_sentinel$value2 = sentinel.value) === null || _sentinel$value2 === void 0 ? void 0 : _sentinel$value2.release());\n\t\tsentinel.value = isSupported.value ? await navigator.wakeLock.request(type) : null;\n\t}\n\tasync function request(type) {\n\t\tif (documentVisibility.value === \"visible\") await forceRequest(type);\n\t\telse requestedType.value = type;\n\t}\n\tasync function release() {\n\t\trequestedType.value = false;\n\t\tconst s = sentinel.value;\n\t\tsentinel.value = null;\n\t\tawait (s === null || s === void 0 ? void 0 : s.release());\n\t}\n\ttryOnScopeDispose(() => {\n\t\trelease();\n\t});\n\treturn {\n\t\tsentinel,\n\t\tisSupported,\n\t\tisActive,\n\t\trequest,\n\t\tforceRequest,\n\t\trelease\n\t};\n}\n//#endregion\n//#region useWebNotification/index.ts\n/**\n* Reactive useWebNotification\n*\n* @see https://vueuse.org/useWebNotification\n* @see https://developer.mozilla.org/en-US/docs/Web/API/notification\n*/\nfunction useWebNotification(options = {}) {\n\tconst { window = defaultWindow, requestPermissions: _requestForPermissions = true } = options;\n\tconst defaultWebNotificationOptions = options;\n\tconst isSupported = /* @__PURE__ */ useSupported(() => {\n\t\tif (!window || !(\"Notification\" in window)) return false;\n\t\tif (Notification.permission === \"granted\") return true;\n\t\ttry {\n\t\t\tconst notification = new Notification(\"\");\n\t\t\tnotification.onshow = () => {\n\t\t\t\tnotification.close();\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tif (e.name === \"TypeError\") return false;\n\t\t}\n\t\treturn true;\n\t});\n\tconst permissionGranted = shallowRef(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n\tconst notification = shallowRef(null);\n\tconst ensurePermissions = async () => {\n\t\tif (!isSupported.value) return;\n\t\tif (!permissionGranted.value && Notification.permission !== \"denied\") {\n\t\t\tif (await Notification.requestPermission() === \"granted\") permissionGranted.value = true;\n\t\t}\n\t\treturn permissionGranted.value;\n\t};\n\tconst { on: onClick, trigger: clickTrigger } = createEventHook();\n\tconst { on: onShow, trigger: showTrigger } = createEventHook();\n\tconst { on: onError, trigger: errorTrigger } = createEventHook();\n\tconst { on: onClose, trigger: closeTrigger } = createEventHook();\n\tconst show = async (overrides) => {\n\t\tif (!isSupported.value || !permissionGranted.value) return;\n\t\tconst options = Object.assign({}, defaultWebNotificationOptions, overrides);\n\t\tnotification.value = new Notification(options.title || \"\", options);\n\t\tnotification.value.onclick = clickTrigger;\n\t\tnotification.value.onshow = showTrigger;\n\t\tnotification.value.onerror = errorTrigger;\n\t\tnotification.value.onclose = closeTrigger;\n\t\treturn notification.value;\n\t};\n\tconst close = () => {\n\t\tif (notification.value) notification.value.close();\n\t\tnotification.value = null;\n\t};\n\tif (_requestForPermissions) tryOnMounted(ensurePermissions);\n\ttryOnScopeDispose(close);\n\tif (isSupported.value && window) {\n\t\tconst document = window.document;\n\t\tuseEventListener(document, \"visibilitychange\", (e) => {\n\t\t\te.preventDefault();\n\t\t\tif (document.visibilityState === \"visible\") close();\n\t\t});\n\t}\n\treturn {\n\t\tisSupported,\n\t\tnotification,\n\t\tensurePermissions,\n\t\tpermissionGranted,\n\t\tshow,\n\t\tclose,\n\t\tonClick,\n\t\tonShow,\n\t\tonError,\n\t\tonClose\n\t};\n}\n//#endregion\n//#region useWebSocket/index.ts\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n\tif (options === true) return {};\n\treturn options;\n}\nfunction getDefaultScheduler(options) {\n\tif (\"interval\" in options) {\n\t\tconst { interval = 1e3 } = options;\n\t\treturn (cb) => useIntervalFn(cb, interval, { immediate: false });\n\t}\n\treturn (cb) => useIntervalFn(cb, 1e3, { immediate: false });\n}\n/**\n* Reactive WebSocket client.\n*\n* @see https://vueuse.org/useWebSocket\n* @param url\n*/\nfunction useWebSocket(url, options = {}) {\n\tconst { onConnected, onDisconnected, onError, onMessage, immediate = true, autoConnect = true, autoClose = true, protocols = [] } = options;\n\tconst data = shallowRef(null);\n\tconst status = shallowRef(\"CLOSED\");\n\tconst wsRef = shallowRef();\n\tconst urlRef = toRef(url);\n\tlet heartbeatPause;\n\tlet heartbeatResume;\n\tlet explicitlyClosed = false;\n\tlet retried = 0;\n\tlet bufferedData = [];\n\tlet retryTimeout;\n\tlet pongTimeoutWait;\n\tconst _sendBuffer = () => {\n\t\tif (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n\t\t\tfor (const buffer of bufferedData) wsRef.value.send(buffer);\n\t\t\tbufferedData = [];\n\t\t}\n\t};\n\tconst resetRetry = () => {\n\t\tif (retryTimeout != null) {\n\t\t\tclearTimeout(retryTimeout);\n\t\t\tretryTimeout = void 0;\n\t\t}\n\t};\n\tconst resetHeartbeat = () => {\n\t\tclearTimeout(pongTimeoutWait);\n\t\tpongTimeoutWait = void 0;\n\t};\n\tconst close = (code = 1e3, reason) => {\n\t\tresetRetry();\n\t\tif (!isClient && !isWorker || !wsRef.value) return;\n\t\texplicitlyClosed = true;\n\t\tresetHeartbeat();\n\t\theartbeatPause === null || heartbeatPause === void 0 || heartbeatPause();\n\t\twsRef.value.close(code, reason);\n\t\twsRef.value = void 0;\n\t};\n\tconst send = (data, useBuffer = true) => {\n\t\tif (!wsRef.value || status.value !== \"OPEN\") {\n\t\t\tif (useBuffer) bufferedData.push(data);\n\t\t\treturn false;\n\t\t}\n\t\t_sendBuffer();\n\t\twsRef.value.send(data);\n\t\treturn true;\n\t};\n\tconst _init = () => {\n\t\tif (explicitlyClosed || typeof urlRef.value === \"undefined\") return;\n\t\tconst ws = new WebSocket(urlRef.value, protocols);\n\t\twsRef.value = ws;\n\t\tstatus.value = \"CONNECTING\";\n\t\tws.onopen = () => {\n\t\t\tif (wsRef.value !== ws) return;\n\t\t\tstatus.value = \"OPEN\";\n\t\t\tretried = 0;\n\t\t\tonConnected === null || onConnected === void 0 || onConnected(ws);\n\t\t\theartbeatResume === null || heartbeatResume === void 0 || heartbeatResume();\n\t\t\t_sendBuffer();\n\t\t};\n\t\tws.onclose = (ev) => {\n\t\t\tif (wsRef.value === ws) status.value = \"CLOSED\";\n\t\t\tresetHeartbeat();\n\t\t\theartbeatPause === null || heartbeatPause === void 0 || heartbeatPause();\n\t\t\tonDisconnected === null || onDisconnected === void 0 || onDisconnected(ws, ev);\n\t\t\tif (!explicitlyClosed && options.autoReconnect && (wsRef.value == null || ws === wsRef.value)) {\n\t\t\t\tconst { retries = -1, delay = 1e3, onFailed } = resolveNestedOptions(options.autoReconnect);\n\t\t\t\tif ((typeof retries === \"function\" ? retries : () => typeof retries === \"number\" && (retries < 0 || retried < retries))(retried)) {\n\t\t\t\t\tretried += 1;\n\t\t\t\t\tconst delayTime = typeof delay === \"function\" ? delay(retried) : delay;\n\t\t\t\t\tretryTimeout = setTimeout(_init, delayTime);\n\t\t\t\t} else onFailed === null || onFailed === void 0 || onFailed();\n\t\t\t}\n\t\t};\n\t\tws.onerror = (e) => {\n\t\t\tonError === null || onError === void 0 || onError(ws, e);\n\t\t};\n\t\tws.onmessage = (e) => {\n\t\t\tif (options.heartbeat) {\n\t\t\t\tresetHeartbeat();\n\t\t\t\tconst { message = DEFAULT_PING_MESSAGE, responseMessage = message } = resolveNestedOptions(options.heartbeat);\n\t\t\t\tif (e.data === toValue(responseMessage)) return;\n\t\t\t}\n\t\t\tdata.value = e.data;\n\t\t\tonMessage === null || onMessage === void 0 || onMessage(ws, e);\n\t\t};\n\t};\n\tif (options.heartbeat) {\n\t\tconst { message = DEFAULT_PING_MESSAGE, scheduler = getDefaultScheduler(resolveNestedOptions(options.heartbeat)), pongTimeout = 1e3 } = resolveNestedOptions(options.heartbeat);\n\t\tconst { pause, resume } = scheduler(() => {\n\t\t\tsend(toValue(message), false);\n\t\t\tif (pongTimeoutWait != null) return;\n\t\t\tpongTimeoutWait = setTimeout(() => {\n\t\t\t\tclose();\n\t\t\t\texplicitlyClosed = false;\n\t\t\t}, pongTimeout);\n\t\t});\n\t\theartbeatPause = pause;\n\t\theartbeatResume = resume;\n\t}\n\tif (autoClose) {\n\t\tif (isClient) useEventListener(\"beforeunload\", () => close(), { passive: true });\n\t\ttryOnScopeDispose(close);\n\t}\n\tconst open = () => {\n\t\tif (!isClient && !isWorker) return;\n\t\tclose();\n\t\texplicitlyClosed = false;\n\t\tretried = 0;\n\t\t_init();\n\t};\n\tif (immediate) open();\n\tif (autoConnect) watch(urlRef, open);\n\treturn {\n\t\tdata,\n\t\tstatus,\n\t\tclose,\n\t\tsend,\n\t\topen,\n\t\tws: wsRef\n\t};\n}\n//#endregion\n//#region useWebWorker/index.ts\nfunction useWebWorker(arg0, workerOptions, options) {\n\tconst { window = defaultWindow } = options !== null && options !== void 0 ? options : {};\n\tconst data = shallowRef(null);\n\tconst worker = shallowRef();\n\tconst post = (...args) => {\n\t\tif (!worker.value) return;\n\t\tworker.value.postMessage(...args);\n\t};\n\tconst terminate = function terminate() {\n\t\tif (!worker.value) return;\n\t\tworker.value.terminate();\n\t};\n\tif (window) {\n\t\tif (typeof arg0 === \"string\") worker.value = new Worker(arg0, workerOptions);\n\t\telse if (typeof arg0 === \"function\") worker.value = arg0();\n\t\telse worker.value = arg0;\n\t\tworker.value.onmessage = (e) => {\n\t\t\tdata.value = e.data;\n\t\t};\n\t\ttryOnScopeDispose(() => {\n\t\t\tif (worker.value) worker.value.terminate();\n\t\t});\n\t}\n\treturn {\n\t\tdata,\n\t\tpost,\n\t\tterminate,\n\t\tworker\n\t};\n}\n//#endregion\n//#region useWebWorkerFn/lib/depsParser.ts\n/**\n*\n* Concatenates the dependencies into a comma separated string.\n* this string will then be passed as an argument to the \"importScripts\" function\n*\n* @param deps array of string\n* @param localDeps array of function\n* @returns a string composed by the concatenation of the array\n* elements \"deps\" and \"importScripts\".\n*\n* @example\n* depsParser(['demo1', 'demo2']) // return importScripts('demo1', 'demo2')\n*/\nfunction depsParser(deps, localDeps) {\n\tif (deps.length === 0 && localDeps.length === 0) return \"\";\n\tconst depsString = deps.map((dep) => `'${dep}'`).toString();\n\tconst depsFunctionString = localDeps.filter((dep) => typeof dep === \"function\").map((fn) => {\n\t\tconst str = fn.toString();\n\t\tif (str.trim().startsWith(\"function\")) return str;\n\t\telse return `const ${fn.name} = ${str}`;\n\t}).join(\";\");\n\tconst importString = `importScripts(${depsString});`;\n\treturn `${depsString.trim() === \"\" ? \"\" : importString} ${depsFunctionString}`;\n}\n//#endregion\n//#region useWebWorkerFn/lib/jobRunner.ts\n/**\n* This function accepts as a parameter a function \"userFunc\"\n* And as a result returns an anonymous function.\n* This anonymous function, accepts as arguments,\n* the parameters to pass to the function \"useArgs\" and returns a Promise\n* This function can be used as a wrapper, only inside a Worker\n* because it depends by \"postMessage\".\n*\n* @param userFunc {Function} fn the function to run with web worker\n*\n* @returns returns a function that accepts the parameters\n* to be passed to the \"userFunc\" function\n*/\nfunction jobRunner(userFunc) {\n\treturn (e) => {\n\t\tconst userFuncArgs = e.data[0];\n\t\treturn Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n\t\t\tpostMessage([\"SUCCESS\", result]);\n\t\t}).catch((error) => {\n\t\t\tpostMessage([\"ERROR\", error]);\n\t\t});\n\t};\n}\n//#endregion\n//#region useWebWorkerFn/lib/createWorkerBlobUrl.ts\n/**\n* Converts the \"fn\" function into the syntax needed to be executed within a web worker\n*\n* @param fn the function to run with web worker\n* @param deps array of strings, imported into the worker through \"importScripts\"\n* @param localDeps array of function, local dependencies\n*\n* @returns a blob url, containing the code of \"fn\" as a string\n*\n* @example\n* createWorkerBlobUrl((a,b) => a+b, [])\n* // return \"onmessage=return Promise.resolve((a,b) => a + b)\n* .then(postMessage(['SUCCESS', result]))\n* .catch(postMessage(['ERROR', error])\"\n*/\nfunction createWorkerBlobUrl(fn, deps, localDeps) {\n\tconst blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`;\n\tconst blob = new Blob([blobCode], { type: \"text/javascript\" });\n\treturn URL.createObjectURL(blob);\n}\n//#endregion\n//#region useWebWorkerFn/index.ts\n/**\n* Run expensive function without blocking the UI, using a simple syntax that makes use of Promise.\n*\n* @see https://vueuse.org/useWebWorkerFn\n* @param fn\n* @param options\n*/\nfunction useWebWorkerFn(fn, options = {}) {\n\tconst { dependencies = [], localDependencies = [], timeout, window = defaultWindow } = options;\n\tlet worker;\n\tconst workerStatus = shallowRef(\"PENDING\");\n\tconst promise = shallowRef({});\n\tconst timeoutId = shallowRef();\n\tconst workerTerminate = (status = \"PENDING\") => {\n\t\tif (worker && worker._url && window) {\n\t\t\tworker.terminate();\n\t\t\tURL.revokeObjectURL(worker._url);\n\t\t\tpromise.value = {};\n\t\t\tworker = void 0;\n\t\t\twindow.clearTimeout(timeoutId.value);\n\t\t\tworkerStatus.value = status;\n\t\t}\n\t};\n\tworkerTerminate();\n\ttryOnScopeDispose(workerTerminate);\n\tconst generateWorker = () => {\n\t\tconst blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies);\n\t\tconst newWorker = new Worker(blobUrl);\n\t\tnewWorker._url = blobUrl;\n\t\tnewWorker.onmessage = (e) => {\n\t\t\tconst { resolve = () => {}, reject = () => {} } = promise.value;\n\t\t\tconst [status, result] = e.data;\n\t\t\tswitch (status) {\n\t\t\t\tcase \"SUCCESS\":\n\t\t\t\t\tresolve(result);\n\t\t\t\t\tworkerTerminate(status);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\treject(result);\n\t\t\t\t\tworkerTerminate(\"ERROR\");\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t};\n\t\tnewWorker.onerror = (e) => {\n\t\t\tconst { reject = () => {} } = promise.value;\n\t\t\te.preventDefault();\n\t\t\treject(e);\n\t\t\tworkerTerminate(\"ERROR\");\n\t\t};\n\t\tif (timeout) timeoutId.value = setTimeout(workerTerminate, timeout, \"TIMEOUT_EXPIRED\");\n\t\treturn newWorker;\n\t};\n\tconst callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n\t\tpromise.value = {\n\t\t\tresolve,\n\t\t\treject\n\t\t};\n\t\tworker === null || worker === void 0 || worker.postMessage([[...fnArgs]]);\n\t\tworkerStatus.value = \"RUNNING\";\n\t});\n\tconst workerFn = (...fnArgs) => {\n\t\tif (workerStatus.value === \"RUNNING\") {\n\t\t\tconsole.error(\"[useWebWorkerFn] You can only run one instance of the worker at a time.\");\n\t\t\treturn Promise.reject();\n\t\t}\n\t\tworker = generateWorker();\n\t\treturn callWorker(...fnArgs);\n\t};\n\treturn {\n\t\tworkerFn,\n\t\tworkerStatus,\n\t\tworkerTerminate\n\t};\n}\n//#endregion\n//#region useWindowFocus/index.ts\n/**\n* Reactively track window focus with `window.onfocus` and `window.onblur`.\n*\n* @see https://vueuse.org/useWindowFocus\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useWindowFocus(options = {}) {\n\tconst { window = defaultWindow } = options;\n\tif (!window) return shallowRef(false);\n\tconst focused = shallowRef(window.document.hasFocus());\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(window, \"blur\", () => {\n\t\tfocused.value = false;\n\t}, listenerOptions);\n\tuseEventListener(window, \"focus\", () => {\n\t\tfocused.value = true;\n\t}, listenerOptions);\n\treturn focused;\n}\n//#endregion\n//#region useWindowScroll/index.ts\n/**\n* Reactive window scroll.\n*\n* @see https://vueuse.org/useWindowScroll\n* @param options\n*/\nfunction useWindowScroll(options = {}) {\n\tconst { window = defaultWindow, ...rest } = options;\n\treturn useScroll(window, rest);\n}\n//#endregion\n//#region useWindowSize/index.ts\n/**\n* Reactive window size.\n*\n* @see https://vueuse.org/useWindowSize\n* @param options\n*\n* @__NO_SIDE_EFFECTS__\n*/\nfunction useWindowSize(options = {}) {\n\tconst { window = defaultWindow, initialWidth = Number.POSITIVE_INFINITY, initialHeight = Number.POSITIVE_INFINITY, listenOrientation = true, includeScrollbar = true, type = \"inner\" } = options;\n\tconst width = shallowRef(initialWidth);\n\tconst height = shallowRef(initialHeight);\n\tconst update = () => {\n\t\tif (window) if (type === \"outer\") {\n\t\t\twidth.value = window.outerWidth;\n\t\t\theight.value = window.outerHeight;\n\t\t} else if (type === \"visual\" && window.visualViewport) {\n\t\t\tconst { width: visualViewportWidth, height: visualViewportHeight, scale } = window.visualViewport;\n\t\t\twidth.value = Math.round(visualViewportWidth * scale);\n\t\t\theight.value = Math.round(visualViewportHeight * scale);\n\t\t} else if (includeScrollbar) {\n\t\t\twidth.value = window.innerWidth;\n\t\t\theight.value = window.innerHeight;\n\t\t} else {\n\t\t\twidth.value = window.document.documentElement.clientWidth;\n\t\t\theight.value = window.document.documentElement.clientHeight;\n\t\t}\n\t};\n\tupdate();\n\ttryOnMounted(update);\n\tconst listenerOptions = { passive: true };\n\tuseEventListener(\"resize\", update, listenerOptions);\n\tif (window && type === \"visual\" && window.visualViewport) useEventListener(window.visualViewport, \"resize\", update, listenerOptions);\n\tif (listenOrientation) watch(useMediaQuery(\"(orientation: portrait)\"), () => update());\n\treturn {\n\t\twidth,\n\t\theight\n\t};\n}\n//#endregion\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsElement, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, formatTimeAgoIntl, formatTimeAgoIntlParts, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onElementRemoval, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, provideSSRWidth, setSSRHandler, templateRef, transition, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCountdown, useCssSupports, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePreferredReducedTransparency, usePrevious, useRafFn, useRefHistory, useResizeObserver, useSSRWidth, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeAgoIntl, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","/*!\n * vue-tippy v6.7.1\n * (c) 2025 \n * @license MIT\n */\nimport { getCurrentInstance, ref, shallowRef, onMounted, onUnmounted, isRef, isReactive, watch, isVNode, createApp, h, defineComponent, nextTick, unref, reactive } from 'vue';\n\nvar top = 'top';\nvar bottom = 'bottom';\nvar right = 'right';\nvar left = 'left';\nvar auto = 'auto';\nvar basePlacements = [top, bottom, right, left];\nvar start = 'start';\nvar end = 'end';\nvar clippingParents = 'clippingParents';\nvar viewport = 'viewport';\nvar popper = 'popper';\nvar reference = 'reference';\nvar variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nvar placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nvar beforeRead = 'beforeRead';\nvar read = 'read';\nvar afterRead = 'afterRead'; // pure-logic modifiers\n\nvar beforeMain = 'beforeMain';\nvar main = 'main';\nvar afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nvar beforeWrite = 'beforeWrite';\nvar write = 'write';\nvar afterWrite = 'afterWrite';\nvar modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];\n\nfunction getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}\n\nfunction getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar applyStyles$1 = {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};\n\nfunction getBasePlacement(placement) {\n return placement.split('-')[0];\n}\n\nvar max = Math.max;\nvar min = Math.min;\nvar round = Math.round;\n\nfunction getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (isHTMLElement(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = round(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = round(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}\n\n// means it doesn't take into account transforms.\n\nfunction getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}\n\nfunction contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}\n\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}\n\nfunction getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}\n\nfunction getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nfunction getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}\n\nfunction within(min$1, value, max$1) {\n return max(min$1, min(value, max$1));\n}\nfunction withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}\n\nfunction getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}\n\nfunction mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}\n\nfunction expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect$1(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar arrow$1 = {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect$1,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};\n\nfunction getVariation(placement) {\n return placement.split('-')[1];\n}\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nfunction mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n\n var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,\n _ref3$x = _ref3.x,\n x = _ref3$x === void 0 ? 0 : _ref3$x,\n _ref3$y = _ref3.y,\n y = _ref3$y === void 0 ? 0 : _ref3$y;\n\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref4) {\n var state = _ref4.state,\n options = _ref4.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar computeStyles$1 = {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};\n\nvar passive = {\n passive: true\n};\n\nfunction effect$2(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar eventListeners = {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect$2,\n data: {}\n};\n\nvar hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\nvar hash$1 = {\n start: 'end',\n end: 'start'\n};\nfunction getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash$1[matched];\n });\n}\n\nfunction getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}\n\nfunction getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}\n\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nfunction getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}\n\nfunction isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}\n\nfunction getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}\n\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nfunction listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}\n\nfunction rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body' && (canEscapeClipping ? getComputedStyle(clippingParent).position !== 'static' : true);\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nfunction getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}\n\nfunction computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n }\n }\n\n return offsets;\n}\n\nfunction detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}\n\nfunction computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements$1.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements$1;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar flip$1 = {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar hide$1 = {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};\n\nfunction distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar offset$1 = {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar popperOffsets$1 = {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};\n\nfunction getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min$1 = offset + overflow[mainSide];\n var max$1 = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nvar preventOverflow$1 = {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};\n\nfunction getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}\n\nfunction getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nfunction getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nfunction orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}\n\nfunction debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}\n\nfunction mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}\n\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nfunction popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\n\nvar defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\n/**!\n* tippy.js v6.3.7\n* (c) 2017-2021 atomiks\n* MIT License\n*/\n\nvar ROUND_ARROW = '<svg width=\"16\" height=\"6\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z\"></svg>';\nvar BOX_CLASS = \"tippy-box\";\nvar CONTENT_CLASS = \"tippy-content\";\nvar BACKDROP_CLASS = \"tippy-backdrop\";\nvar ARROW_CLASS = \"tippy-arrow\";\nvar SVG_ARROW_CLASS = \"tippy-svg-arrow\";\nvar TOUCH_OPTIONS = {\n passive: true,\n capture: true\n};\nvar TIPPY_DEFAULT_APPEND_TO = function TIPPY_DEFAULT_APPEND_TO() {\n return document.body;\n};\nfunction getValueAtIndexOrReturn(value, index, defaultValue) {\n if (Array.isArray(value)) {\n var v = value[index];\n return v == null ? Array.isArray(defaultValue) ? defaultValue[index] : defaultValue : v;\n }\n\n return value;\n}\nfunction isType(value, type) {\n var str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(type + \"]\") > -1;\n}\nfunction invokeWithArgsOrReturn(value, args) {\n return typeof value === 'function' ? value.apply(void 0, args) : value;\n}\nfunction debounce$1(fn, ms) {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n var timeout;\n return function (arg) {\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n fn(arg);\n }, ms);\n };\n}\nfunction removeProperties(obj, keys) {\n var clone = Object.assign({}, obj);\n keys.forEach(function (key) {\n delete clone[key];\n });\n return clone;\n}\nfunction splitBySpaces(value) {\n return value.split(/\\s+/).filter(Boolean);\n}\nfunction normalizeToArray(value) {\n return [].concat(value);\n}\nfunction pushIfUnique(arr, value) {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\nfunction unique(arr) {\n return arr.filter(function (item, index) {\n return arr.indexOf(item) === index;\n });\n}\nfunction getBasePlacement$1(placement) {\n return placement.split('-')[0];\n}\nfunction arrayFrom(value) {\n return [].slice.call(value);\n}\nfunction removeUndefinedProps(obj) {\n return Object.keys(obj).reduce(function (acc, key) {\n if (obj[key] !== undefined) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nfunction div() {\n return document.createElement('div');\n}\nfunction isElement$1(value) {\n return ['Element', 'Fragment'].some(function (type) {\n return isType(value, type);\n });\n}\nfunction isNodeList(value) {\n return isType(value, 'NodeList');\n}\nfunction isMouseEvent(value) {\n return isType(value, 'MouseEvent');\n}\nfunction isReferenceElement(value) {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\nfunction getArrayOfElements(value) {\n if (isElement$1(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\nfunction setTransitionDuration(els, value) {\n els.forEach(function (el) {\n if (el) {\n el.style.transitionDuration = value + \"ms\";\n }\n });\n}\nfunction setVisibilityState(els, state) {\n els.forEach(function (el) {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\nfunction getOwnerDocument(elementOrElements) {\n var _element$ownerDocumen;\n\n var _normalizeToArray = normalizeToArray(elementOrElements),\n element = _normalizeToArray[0]; // Elements created via a <template> have an ownerDocument with no reference to the body\n\n\n return element != null && (_element$ownerDocumen = element.ownerDocument) != null && _element$ownerDocumen.body ? element.ownerDocument : document;\n}\nfunction isCursorOutsideInteractiveBorder(popperTreeData, event) {\n var clientX = event.clientX,\n clientY = event.clientY;\n return popperTreeData.every(function (_ref) {\n var popperRect = _ref.popperRect,\n popperState = _ref.popperState,\n props = _ref.props;\n var interactiveBorder = props.interactiveBorder;\n var basePlacement = getBasePlacement$1(popperState.placement);\n var offsetData = popperState.modifiersData.offset;\n\n if (!offsetData) {\n return true;\n }\n\n var topDistance = basePlacement === 'bottom' ? offsetData.top.y : 0;\n var bottomDistance = basePlacement === 'top' ? offsetData.bottom.y : 0;\n var leftDistance = basePlacement === 'right' ? offsetData.left.x : 0;\n var rightDistance = basePlacement === 'left' ? offsetData.right.x : 0;\n var exceedsTop = popperRect.top - clientY + topDistance > interactiveBorder;\n var exceedsBottom = clientY - popperRect.bottom - bottomDistance > interactiveBorder;\n var exceedsLeft = popperRect.left - clientX + leftDistance > interactiveBorder;\n var exceedsRight = clientX - popperRect.right - rightDistance > interactiveBorder;\n return exceedsTop || exceedsBottom || exceedsLeft || exceedsRight;\n });\n}\nfunction updateTransitionEndListener(box, action, listener) {\n var method = action + \"EventListener\"; // some browsers apparently support `transition` (unprefixed) but only fire\n // `webkitTransitionEnd`...\n\n ['transitionend', 'webkitTransitionEnd'].forEach(function (event) {\n box[method](event, listener);\n });\n}\n/**\n * Compared to xxx.contains, this function works for dom structures with shadow\n * dom\n */\n\nfunction actualContains(parent, child) {\n var target = child;\n\n while (target) {\n var _target$getRootNode;\n\n if (parent.contains(target)) {\n return true;\n }\n\n target = target.getRootNode == null ? void 0 : (_target$getRootNode = target.getRootNode()) == null ? void 0 : _target$getRootNode.host;\n }\n\n return false;\n}\n\nvar currentInput = {\n isTouch: false\n};\nvar lastMouseMoveTime = 0;\n/**\n * When a `touchstart` event is fired, it's assumed the user is using touch\n * input. We'll bind a `mousemove` event listener to listen for mouse input in\n * the future. This way, the `isTouch` property is fully dynamic and will handle\n * hybrid devices that use a mix of touch + mouse input.\n */\n\nfunction onDocumentTouchStart() {\n if (currentInput.isTouch) {\n return;\n }\n\n currentInput.isTouch = true;\n\n if (window.performance) {\n document.addEventListener('mousemove', onDocumentMouseMove);\n }\n}\n/**\n * When two `mousemove` event are fired consecutively within 20ms, it's assumed\n * the user is using mouse input again. `mousemove` can fire on touch devices as\n * well, but very rarely that quickly.\n */\n\nfunction onDocumentMouseMove() {\n var now = performance.now();\n\n if (now - lastMouseMoveTime < 20) {\n currentInput.isTouch = false;\n document.removeEventListener('mousemove', onDocumentMouseMove);\n }\n\n lastMouseMoveTime = now;\n}\n/**\n * When an element is in focus and has a tippy, leaving the tab/window and\n * returning causes it to show again. For mouse users this is unexpected, but\n * for keyboard use it makes sense.\n * TODO: find a better technique to solve this problem\n */\n\nfunction onWindowBlur() {\n var activeElement = document.activeElement;\n\n if (isReferenceElement(activeElement)) {\n var instance = activeElement._tippy;\n\n if (activeElement.blur && !instance.state.isVisible) {\n activeElement.blur();\n }\n }\n}\nfunction bindGlobalEventListeners() {\n document.addEventListener('touchstart', onDocumentTouchStart, TOUCH_OPTIONS);\n window.addEventListener('blur', onWindowBlur);\n}\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar isIE11 = isBrowser ? // @ts-ignore\n!!window.msCrypto : false;\n\nvar pluginProps = {\n animateFill: false,\n followCursor: false,\n inlinePositioning: false,\n sticky: false\n};\nvar renderProps = {\n allowHTML: false,\n animation: 'fade',\n arrow: true,\n content: '',\n inertia: false,\n maxWidth: 350,\n role: 'tooltip',\n theme: '',\n zIndex: 9999\n};\nvar defaultProps = Object.assign({\n appendTo: TIPPY_DEFAULT_APPEND_TO,\n aria: {\n content: 'auto',\n expanded: 'auto'\n },\n delay: 0,\n duration: [300, 250],\n getReferenceClientRect: null,\n hideOnClick: true,\n ignoreAttributes: false,\n interactive: false,\n interactiveBorder: 2,\n interactiveDebounce: 0,\n moveTransition: '',\n offset: [0, 10],\n onAfterUpdate: function onAfterUpdate() {},\n onBeforeUpdate: function onBeforeUpdate() {},\n onCreate: function onCreate() {},\n onDestroy: function onDestroy() {},\n onHidden: function onHidden() {},\n onHide: function onHide() {},\n onMount: function onMount() {},\n onShow: function onShow() {},\n onShown: function onShown() {},\n onTrigger: function onTrigger() {},\n onUntrigger: function onUntrigger() {},\n onClickOutside: function onClickOutside() {},\n placement: 'top',\n plugins: [],\n popperOptions: {},\n render: null,\n showOnCreate: false,\n touch: true,\n trigger: 'mouseenter focus',\n triggerTarget: null\n}, pluginProps, renderProps);\nvar defaultKeys = Object.keys(defaultProps);\nvar setDefaultProps = function setDefaultProps(partialProps) {\n\n var keys = Object.keys(partialProps);\n keys.forEach(function (key) {\n defaultProps[key] = partialProps[key];\n });\n};\nfunction getExtendedPassedProps(passedProps) {\n var plugins = passedProps.plugins || [];\n var pluginProps = plugins.reduce(function (acc, plugin) {\n var name = plugin.name,\n defaultValue = plugin.defaultValue;\n\n if (name) {\n var _name;\n\n acc[name] = passedProps[name] !== undefined ? passedProps[name] : (_name = defaultProps[name]) != null ? _name : defaultValue;\n }\n\n return acc;\n }, {});\n return Object.assign({}, passedProps, pluginProps);\n}\nfunction getDataAttributeProps(reference, plugins) {\n var propKeys = plugins ? Object.keys(getExtendedPassedProps(Object.assign({}, defaultProps, {\n plugins: plugins\n }))) : defaultKeys;\n var props = propKeys.reduce(function (acc, key) {\n var valueAsString = (reference.getAttribute(\"data-tippy-\" + key) || '').trim();\n\n if (!valueAsString) {\n return acc;\n }\n\n if (key === 'content') {\n acc[key] = valueAsString;\n } else {\n try {\n acc[key] = JSON.parse(valueAsString);\n } catch (e) {\n acc[key] = valueAsString;\n }\n }\n\n return acc;\n }, {});\n return props;\n}\nfunction evaluateProps(reference, props) {\n var out = Object.assign({}, props, {\n content: invokeWithArgsOrReturn(props.content, [reference])\n }, props.ignoreAttributes ? {} : getDataAttributeProps(reference, props.plugins));\n out.aria = Object.assign({}, defaultProps.aria, out.aria);\n out.aria = {\n expanded: out.aria.expanded === 'auto' ? props.interactive : out.aria.expanded,\n content: out.aria.content === 'auto' ? props.interactive ? null : 'describedby' : out.aria.content\n };\n return out;\n}\n\nvar innerHTML = function innerHTML() {\n return 'innerHTML';\n};\n\nfunction dangerouslySetInnerHTML(element, html) {\n element[innerHTML()] = html;\n}\n\nfunction createArrowElement(value) {\n var arrow = div();\n\n if (value === true) {\n arrow.className = ARROW_CLASS;\n } else {\n arrow.className = SVG_ARROW_CLASS;\n\n if (isElement$1(value)) {\n arrow.appendChild(value);\n } else {\n dangerouslySetInnerHTML(arrow, value);\n }\n }\n\n return arrow;\n}\n\nfunction setContent(content, props) {\n if (isElement$1(props.content)) {\n dangerouslySetInnerHTML(content, '');\n content.appendChild(props.content);\n } else if (typeof props.content !== 'function') {\n if (props.allowHTML) {\n dangerouslySetInnerHTML(content, props.content);\n } else {\n content.textContent = props.content;\n }\n }\n}\nfunction getChildren(popper) {\n var box = popper.firstElementChild;\n var boxChildren = arrayFrom(box.children);\n return {\n box: box,\n content: boxChildren.find(function (node) {\n return node.classList.contains(CONTENT_CLASS);\n }),\n arrow: boxChildren.find(function (node) {\n return node.classList.contains(ARROW_CLASS) || node.classList.contains(SVG_ARROW_CLASS);\n }),\n backdrop: boxChildren.find(function (node) {\n return node.classList.contains(BACKDROP_CLASS);\n })\n };\n}\nfunction render(instance) {\n var popper = div();\n var box = div();\n box.className = BOX_CLASS;\n box.setAttribute('data-state', 'hidden');\n box.setAttribute('tabindex', '-1');\n var content = div();\n content.className = CONTENT_CLASS;\n content.setAttribute('data-state', 'hidden');\n setContent(content, instance.props);\n popper.appendChild(box);\n box.appendChild(content);\n onUpdate(instance.props, instance.props);\n\n function onUpdate(prevProps, nextProps) {\n var _getChildren = getChildren(popper),\n box = _getChildren.box,\n content = _getChildren.content,\n arrow = _getChildren.arrow;\n\n if (nextProps.theme) {\n box.setAttribute('data-theme', nextProps.theme);\n } else {\n box.removeAttribute('data-theme');\n }\n\n if (typeof nextProps.animation === 'string') {\n box.setAttribute('data-animation', nextProps.animation);\n } else {\n box.removeAttribute('data-animation');\n }\n\n if (nextProps.inertia) {\n box.setAttribute('data-inertia', '');\n } else {\n box.removeAttribute('data-inertia');\n }\n\n box.style.maxWidth = typeof nextProps.maxWidth === 'number' ? nextProps.maxWidth + \"px\" : nextProps.maxWidth;\n\n if (nextProps.role) {\n box.setAttribute('role', nextProps.role);\n } else {\n box.removeAttribute('role');\n }\n\n if (prevProps.content !== nextProps.content || prevProps.allowHTML !== nextProps.allowHTML) {\n setContent(content, instance.props);\n }\n\n if (nextProps.arrow) {\n if (!arrow) {\n box.appendChild(createArrowElement(nextProps.arrow));\n } else if (prevProps.arrow !== nextProps.arrow) {\n box.removeChild(arrow);\n box.appendChild(createArrowElement(nextProps.arrow));\n }\n } else if (arrow) {\n box.removeChild(arrow);\n }\n }\n\n return {\n popper: popper,\n onUpdate: onUpdate\n };\n} // Runtime check to identify if the render function is the default one; this\n// way we can apply default CSS transitions logic and it can be tree-shaken away\n\nrender.$$tippy = true;\n\nvar idCounter = 1;\nvar mouseMoveListeners = []; // Used by `hideAll()`\n\nvar mountedInstances = [];\nfunction createTippy(reference, passedProps) {\n var props = evaluateProps(reference, Object.assign({}, defaultProps, getExtendedPassedProps(removeUndefinedProps(passedProps)))); // ===========================================================================\n // 🔒 Private members\n // ===========================================================================\n\n var showTimeout;\n var hideTimeout;\n var scheduleHideAnimationFrame;\n var isVisibleFromClick = false;\n var didHideDueToDocumentMouseDown = false;\n var didTouchMove = false;\n var ignoreOnFirstUpdate = false;\n var lastTriggerEvent;\n var currentTransitionEndListener;\n var onFirstUpdate;\n var listeners = [];\n var debouncedOnMouseMove = debounce$1(onMouseMove, props.interactiveDebounce);\n var currentTarget; // ===========================================================================\n // 🔑 Public members\n // ===========================================================================\n\n var id = idCounter++;\n var popperInstance = null;\n var plugins = unique(props.plugins);\n var state = {\n // Is the instance currently enabled?\n isEnabled: true,\n // Is the tippy currently showing and not transitioning out?\n isVisible: false,\n // Has the instance been destroyed?\n isDestroyed: false,\n // Is the tippy currently mounted to the DOM?\n isMounted: false,\n // Has the tippy finished transitioning in?\n isShown: false\n };\n var instance = {\n // properties\n id: id,\n reference: reference,\n popper: div(),\n popperInstance: popperInstance,\n props: props,\n state: state,\n plugins: plugins,\n // methods\n clearDelayTimeouts: clearDelayTimeouts,\n setProps: setProps,\n setContent: setContent,\n show: show,\n hide: hide,\n hideWithInteractivity: hideWithInteractivity,\n enable: enable,\n disable: disable,\n unmount: unmount,\n destroy: destroy\n }; // TODO: Investigate why this early return causes a TDZ error in the tests —\n // it doesn't seem to happen in the browser\n\n /* istanbul ignore if */\n\n if (!props.render) {\n\n return instance;\n } // ===========================================================================\n // Initial mutations\n // ===========================================================================\n\n\n var _props$render = props.render(instance),\n popper = _props$render.popper,\n onUpdate = _props$render.onUpdate;\n\n popper.setAttribute('data-tippy-root', '');\n popper.id = \"tippy-\" + instance.id;\n instance.popper = popper;\n reference._tippy = instance;\n popper._tippy = instance;\n var pluginsHooks = plugins.map(function (plugin) {\n return plugin.fn(instance);\n });\n var hasAriaExpanded = reference.hasAttribute('aria-expanded');\n addListeners();\n handleAriaExpandedAttribute();\n handleStyles();\n invokeHook('onCreate', [instance]);\n\n if (props.showOnCreate) {\n scheduleShow();\n } // Prevent a tippy with a delay from hiding if the cursor left then returned\n // before it started hiding\n\n\n popper.addEventListener('mouseenter', function () {\n if (instance.props.interactive && instance.state.isVisible) {\n instance.clearDelayTimeouts();\n }\n });\n popper.addEventListener('mouseleave', function () {\n if (instance.props.interactive && instance.props.trigger.indexOf('mouseenter') >= 0) {\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n }\n });\n return instance; // ===========================================================================\n // 🔒 Private methods\n // ===========================================================================\n\n function getNormalizedTouchSettings() {\n var touch = instance.props.touch;\n return Array.isArray(touch) ? touch : [touch, 0];\n }\n\n function getIsCustomTouchBehavior() {\n return getNormalizedTouchSettings()[0] === 'hold';\n }\n\n function getIsDefaultRenderFn() {\n var _instance$props$rende;\n\n // @ts-ignore\n return !!((_instance$props$rende = instance.props.render) != null && _instance$props$rende.$$tippy);\n }\n\n function getCurrentTarget() {\n return currentTarget || reference;\n }\n\n function getDocument() {\n var parent = getCurrentTarget().parentNode;\n return parent ? getOwnerDocument(parent) : document;\n }\n\n function getDefaultTemplateChildren() {\n return getChildren(popper);\n }\n\n function getDelay(isShow) {\n // For touch or keyboard input, force `0` delay for UX reasons\n // Also if the instance is mounted but not visible (transitioning out),\n // ignore delay\n if (instance.state.isMounted && !instance.state.isVisible || currentInput.isTouch || lastTriggerEvent && lastTriggerEvent.type === 'focus') {\n return 0;\n }\n\n return getValueAtIndexOrReturn(instance.props.delay, isShow ? 0 : 1, defaultProps.delay);\n }\n\n function handleStyles(fromHide) {\n if (fromHide === void 0) {\n fromHide = false;\n }\n\n popper.style.pointerEvents = instance.props.interactive && !fromHide ? '' : 'none';\n popper.style.zIndex = \"\" + instance.props.zIndex;\n }\n\n function invokeHook(hook, args, shouldInvokePropsHook) {\n if (shouldInvokePropsHook === void 0) {\n shouldInvokePropsHook = true;\n }\n\n pluginsHooks.forEach(function (pluginHooks) {\n if (pluginHooks[hook]) {\n pluginHooks[hook].apply(pluginHooks, args);\n }\n });\n\n if (shouldInvokePropsHook) {\n var _instance$props;\n\n (_instance$props = instance.props)[hook].apply(_instance$props, args);\n }\n }\n\n function handleAriaContentAttribute() {\n var aria = instance.props.aria;\n\n if (!aria.content) {\n return;\n }\n\n var attr = \"aria-\" + aria.content;\n var id = popper.id;\n var nodes = normalizeToArray(instance.props.triggerTarget || reference);\n nodes.forEach(function (node) {\n var currentValue = node.getAttribute(attr);\n\n if (instance.state.isVisible) {\n node.setAttribute(attr, currentValue ? currentValue + \" \" + id : id);\n } else {\n var nextValue = currentValue && currentValue.replace(id, '').trim();\n\n if (nextValue) {\n node.setAttribute(attr, nextValue);\n } else {\n node.removeAttribute(attr);\n }\n }\n });\n }\n\n function handleAriaExpandedAttribute() {\n if (hasAriaExpanded || !instance.props.aria.expanded) {\n return;\n }\n\n var nodes = normalizeToArray(instance.props.triggerTarget || reference);\n nodes.forEach(function (node) {\n if (instance.props.interactive) {\n node.setAttribute('aria-expanded', instance.state.isVisible && node === getCurrentTarget() ? 'true' : 'false');\n } else {\n node.removeAttribute('aria-expanded');\n }\n });\n }\n\n function cleanupInteractiveMouseListeners() {\n getDocument().removeEventListener('mousemove', debouncedOnMouseMove);\n mouseMoveListeners = mouseMoveListeners.filter(function (listener) {\n return listener !== debouncedOnMouseMove;\n });\n }\n\n function onDocumentPress(event) {\n // Moved finger to scroll instead of an intentional tap outside\n if (currentInput.isTouch) {\n if (didTouchMove || event.type === 'mousedown') {\n return;\n }\n }\n\n var actualTarget = event.composedPath && event.composedPath()[0] || event.target; // Clicked on interactive popper\n\n if (instance.props.interactive && actualContains(popper, actualTarget)) {\n return;\n } // Clicked on the event listeners target\n\n\n if (normalizeToArray(instance.props.triggerTarget || reference).some(function (el) {\n return actualContains(el, actualTarget);\n })) {\n if (currentInput.isTouch) {\n return;\n }\n\n if (instance.state.isVisible && instance.props.trigger.indexOf('click') >= 0) {\n return;\n }\n } else {\n invokeHook('onClickOutside', [instance, event]);\n }\n\n if (instance.props.hideOnClick === true) {\n instance.clearDelayTimeouts();\n instance.hide(); // `mousedown` event is fired right before `focus` if pressing the\n // currentTarget. This lets a tippy with `focus` trigger know that it\n // should not show\n\n didHideDueToDocumentMouseDown = true;\n setTimeout(function () {\n didHideDueToDocumentMouseDown = false;\n }); // The listener gets added in `scheduleShow()`, but this may be hiding it\n // before it shows, and hide()'s early bail-out behavior can prevent it\n // from being cleaned up\n\n if (!instance.state.isMounted) {\n removeDocumentPress();\n }\n }\n }\n\n function onTouchMove() {\n didTouchMove = true;\n }\n\n function onTouchStart() {\n didTouchMove = false;\n }\n\n function addDocumentPress() {\n var doc = getDocument();\n doc.addEventListener('mousedown', onDocumentPress, true);\n doc.addEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.addEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.addEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function removeDocumentPress() {\n var doc = getDocument();\n doc.removeEventListener('mousedown', onDocumentPress, true);\n doc.removeEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.removeEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.removeEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function onTransitionedOut(duration, callback) {\n onTransitionEnd(duration, function () {\n if (!instance.state.isVisible && popper.parentNode && popper.parentNode.contains(popper)) {\n callback();\n }\n });\n }\n\n function onTransitionedIn(duration, callback) {\n onTransitionEnd(duration, callback);\n }\n\n function onTransitionEnd(duration, callback) {\n var box = getDefaultTemplateChildren().box;\n\n function listener(event) {\n if (event.target === box) {\n updateTransitionEndListener(box, 'remove', listener);\n callback();\n }\n } // Make callback synchronous if duration is 0\n // `transitionend` won't fire otherwise\n\n\n if (duration === 0) {\n return callback();\n }\n\n updateTransitionEndListener(box, 'remove', currentTransitionEndListener);\n updateTransitionEndListener(box, 'add', listener);\n currentTransitionEndListener = listener;\n }\n\n function on(eventType, handler, options) {\n if (options === void 0) {\n options = false;\n }\n\n var nodes = normalizeToArray(instance.props.triggerTarget || reference);\n nodes.forEach(function (node) {\n node.addEventListener(eventType, handler, options);\n listeners.push({\n node: node,\n eventType: eventType,\n handler: handler,\n options: options\n });\n });\n }\n\n function addListeners() {\n if (getIsCustomTouchBehavior()) {\n on('touchstart', onTrigger, {\n passive: true\n });\n on('touchend', onMouseLeave, {\n passive: true\n });\n }\n\n splitBySpaces(instance.props.trigger).forEach(function (eventType) {\n if (eventType === 'manual') {\n return;\n }\n\n on(eventType, onTrigger);\n\n switch (eventType) {\n case 'mouseenter':\n on('mouseleave', onMouseLeave);\n break;\n\n case 'focus':\n on(isIE11 ? 'focusout' : 'blur', onBlurOrFocusOut);\n break;\n\n case 'focusin':\n on('focusout', onBlurOrFocusOut);\n break;\n }\n });\n }\n\n function removeListeners() {\n listeners.forEach(function (_ref) {\n var node = _ref.node,\n eventType = _ref.eventType,\n handler = _ref.handler,\n options = _ref.options;\n node.removeEventListener(eventType, handler, options);\n });\n listeners = [];\n }\n\n function onTrigger(event) {\n var _lastTriggerEvent;\n\n var shouldScheduleClickHide = false;\n\n if (!instance.state.isEnabled || isEventListenerStopped(event) || didHideDueToDocumentMouseDown) {\n return;\n }\n\n var wasFocused = ((_lastTriggerEvent = lastTriggerEvent) == null ? void 0 : _lastTriggerEvent.type) === 'focus';\n lastTriggerEvent = event;\n currentTarget = event.currentTarget;\n handleAriaExpandedAttribute();\n\n if (!instance.state.isVisible && isMouseEvent(event)) {\n // If scrolling, `mouseenter` events can be fired if the cursor lands\n // over a new target, but `mousemove` events don't get fired. This\n // causes interactive tooltips to get stuck open until the cursor is\n // moved\n mouseMoveListeners.forEach(function (listener) {\n return listener(event);\n });\n } // Toggle show/hide when clicking click-triggered tooltips\n\n\n if (event.type === 'click' && (instance.props.trigger.indexOf('mouseenter') < 0 || isVisibleFromClick) && instance.props.hideOnClick !== false && instance.state.isVisible) {\n shouldScheduleClickHide = true;\n } else {\n scheduleShow(event);\n }\n\n if (event.type === 'click') {\n isVisibleFromClick = !shouldScheduleClickHide;\n }\n\n if (shouldScheduleClickHide && !wasFocused) {\n scheduleHide(event);\n }\n }\n\n function onMouseMove(event) {\n var target = event.target;\n var isCursorOverReferenceOrPopper = getCurrentTarget().contains(target) || popper.contains(target);\n\n if (event.type === 'mousemove' && isCursorOverReferenceOrPopper) {\n return;\n }\n\n var popperTreeData = getNestedPopperTree().concat(popper).map(function (popper) {\n var _instance$popperInsta;\n\n var instance = popper._tippy;\n var state = (_instance$popperInsta = instance.popperInstance) == null ? void 0 : _instance$popperInsta.state;\n\n if (state) {\n return {\n popperRect: popper.getBoundingClientRect(),\n popperState: state,\n props: props\n };\n }\n\n return null;\n }).filter(Boolean);\n\n if (isCursorOutsideInteractiveBorder(popperTreeData, event)) {\n cleanupInteractiveMouseListeners();\n scheduleHide(event);\n }\n }\n\n function onMouseLeave(event) {\n var shouldBail = isEventListenerStopped(event) || instance.props.trigger.indexOf('click') >= 0 && isVisibleFromClick;\n\n if (shouldBail) {\n return;\n }\n\n if (instance.props.interactive) {\n instance.hideWithInteractivity(event);\n return;\n }\n\n scheduleHide(event);\n }\n\n function onBlurOrFocusOut(event) {\n if (instance.props.trigger.indexOf('focusin') < 0 && event.target !== getCurrentTarget()) {\n return;\n } // If focus was moved to within the popper\n\n\n if (instance.props.interactive && event.relatedTarget && popper.contains(event.relatedTarget)) {\n return;\n }\n\n scheduleHide(event);\n }\n\n function isEventListenerStopped(event) {\n return currentInput.isTouch ? getIsCustomTouchBehavior() !== event.type.indexOf('touch') >= 0 : false;\n }\n\n function createPopperInstance() {\n destroyPopperInstance();\n var _instance$props2 = instance.props,\n popperOptions = _instance$props2.popperOptions,\n placement = _instance$props2.placement,\n offset = _instance$props2.offset,\n getReferenceClientRect = _instance$props2.getReferenceClientRect,\n moveTransition = _instance$props2.moveTransition;\n var arrow = getIsDefaultRenderFn() ? getChildren(popper).arrow : null;\n var computedReference = getReferenceClientRect ? {\n getBoundingClientRect: getReferenceClientRect,\n contextElement: getReferenceClientRect.contextElement || getCurrentTarget()\n } : reference;\n var tippyModifier = {\n name: '$$tippy',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn: function fn(_ref2) {\n var state = _ref2.state;\n\n if (getIsDefaultRenderFn()) {\n var _getDefaultTemplateCh = getDefaultTemplateChildren(),\n box = _getDefaultTemplateCh.box;\n\n ['placement', 'reference-hidden', 'escaped'].forEach(function (attr) {\n if (attr === 'placement') {\n box.setAttribute('data-placement', state.placement);\n } else {\n if (state.attributes.popper[\"data-popper-\" + attr]) {\n box.setAttribute(\"data-\" + attr, '');\n } else {\n box.removeAttribute(\"data-\" + attr);\n }\n }\n });\n state.attributes.popper = {};\n }\n }\n };\n var modifiers = [{\n name: 'offset',\n options: {\n offset: offset\n }\n }, {\n name: 'preventOverflow',\n options: {\n padding: {\n top: 2,\n bottom: 2,\n left: 5,\n right: 5\n }\n }\n }, {\n name: 'flip',\n options: {\n padding: 5\n }\n }, {\n name: 'computeStyles',\n options: {\n adaptive: !moveTransition\n }\n }, tippyModifier];\n\n if (getIsDefaultRenderFn() && arrow) {\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 3\n }\n });\n }\n\n modifiers.push.apply(modifiers, (popperOptions == null ? void 0 : popperOptions.modifiers) || []);\n instance.popperInstance = createPopper(computedReference, popper, Object.assign({}, popperOptions, {\n placement: placement,\n onFirstUpdate: onFirstUpdate,\n modifiers: modifiers\n }));\n }\n\n function destroyPopperInstance() {\n if (instance.popperInstance) {\n instance.popperInstance.destroy();\n instance.popperInstance = null;\n }\n }\n\n function mount() {\n var appendTo = instance.props.appendTo;\n var parentNode; // By default, we'll append the popper to the triggerTargets's parentNode so\n // it's directly after the reference element so the elements inside the\n // tippy can be tabbed to\n // If there are clipping issues, the user can specify a different appendTo\n // and ensure focus management is handled correctly manually\n\n var node = getCurrentTarget();\n\n if (instance.props.interactive && appendTo === TIPPY_DEFAULT_APPEND_TO || appendTo === 'parent') {\n parentNode = node.parentNode;\n } else {\n parentNode = invokeWithArgsOrReturn(appendTo, [node]);\n } // The popper element needs to exist on the DOM before its position can be\n // updated as Popper needs to read its dimensions\n\n\n if (!parentNode.contains(popper)) {\n parentNode.appendChild(popper);\n }\n\n instance.state.isMounted = true;\n createPopperInstance();\n }\n\n function getNestedPopperTree() {\n return arrayFrom(popper.querySelectorAll('[data-tippy-root]'));\n }\n\n function scheduleShow(event) {\n instance.clearDelayTimeouts();\n\n if (event) {\n invokeHook('onTrigger', [instance, event]);\n }\n\n addDocumentPress();\n var delay = getDelay(true);\n\n var _getNormalizedTouchSe = getNormalizedTouchSettings(),\n touchValue = _getNormalizedTouchSe[0],\n touchDelay = _getNormalizedTouchSe[1];\n\n if (currentInput.isTouch && touchValue === 'hold' && touchDelay) {\n delay = touchDelay;\n }\n\n if (delay) {\n showTimeout = setTimeout(function () {\n instance.show();\n }, delay);\n } else {\n instance.show();\n }\n }\n\n function scheduleHide(event) {\n instance.clearDelayTimeouts();\n invokeHook('onUntrigger', [instance, event]);\n\n if (!instance.state.isVisible) {\n removeDocumentPress();\n return;\n } // For interactive tippies, scheduleHide is added to a document.body handler\n // from onMouseLeave so must intercept scheduled hides from mousemove/leave\n // events when trigger contains mouseenter and click, and the tip is\n // currently shown as a result of a click.\n\n\n if (instance.props.trigger.indexOf('mouseenter') >= 0 && instance.props.trigger.indexOf('click') >= 0 && ['mouseleave', 'mousemove'].indexOf(event.type) >= 0 && isVisibleFromClick) {\n return;\n }\n\n var delay = getDelay(false);\n\n if (delay) {\n hideTimeout = setTimeout(function () {\n if (instance.state.isVisible) {\n instance.hide();\n }\n }, delay);\n } else {\n // Fixes a `transitionend` problem when it fires 1 frame too\n // late sometimes, we don't want hide() to be called.\n scheduleHideAnimationFrame = requestAnimationFrame(function () {\n instance.hide();\n });\n }\n } // ===========================================================================\n // 🔑 Public methods\n // ===========================================================================\n\n\n function enable() {\n instance.state.isEnabled = true;\n }\n\n function disable() {\n // Disabling the instance should also hide it\n // https://github.com/atomiks/tippy.js-react/issues/106\n instance.hide();\n instance.state.isEnabled = false;\n }\n\n function clearDelayTimeouts() {\n clearTimeout(showTimeout);\n clearTimeout(hideTimeout);\n cancelAnimationFrame(scheduleHideAnimationFrame);\n }\n\n function setProps(partialProps) {\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n invokeHook('onBeforeUpdate', [instance, partialProps]);\n removeListeners();\n var prevProps = instance.props;\n var nextProps = evaluateProps(reference, Object.assign({}, prevProps, removeUndefinedProps(partialProps), {\n ignoreAttributes: true\n }));\n instance.props = nextProps;\n addListeners();\n\n if (prevProps.interactiveDebounce !== nextProps.interactiveDebounce) {\n cleanupInteractiveMouseListeners();\n debouncedOnMouseMove = debounce$1(onMouseMove, nextProps.interactiveDebounce);\n } // Ensure stale aria-expanded attributes are removed\n\n\n if (prevProps.triggerTarget && !nextProps.triggerTarget) {\n normalizeToArray(prevProps.triggerTarget).forEach(function (node) {\n node.removeAttribute('aria-expanded');\n });\n } else if (nextProps.triggerTarget) {\n reference.removeAttribute('aria-expanded');\n }\n\n handleAriaExpandedAttribute();\n handleStyles();\n\n if (onUpdate) {\n onUpdate(prevProps, nextProps);\n }\n\n if (instance.popperInstance) {\n createPopperInstance(); // Fixes an issue with nested tippies if they are all getting re-rendered,\n // and the nested ones get re-rendered first.\n // https://github.com/atomiks/tippyjs-react/issues/177\n // TODO: find a cleaner / more efficient solution(!)\n\n getNestedPopperTree().forEach(function (nestedPopper) {\n // React (and other UI libs likely) requires a rAF wrapper as it flushes\n // its work in one\n requestAnimationFrame(nestedPopper._tippy.popperInstance.forceUpdate);\n });\n }\n\n invokeHook('onAfterUpdate', [instance, partialProps]);\n }\n\n function setContent(content) {\n instance.setProps({\n content: content\n });\n }\n\n function show() {\n\n\n var isAlreadyVisible = instance.state.isVisible;\n var isDestroyed = instance.state.isDestroyed;\n var isDisabled = !instance.state.isEnabled;\n var isTouchAndTouchDisabled = currentInput.isTouch && !instance.props.touch;\n var duration = getValueAtIndexOrReturn(instance.props.duration, 0, defaultProps.duration);\n\n if (isAlreadyVisible || isDestroyed || isDisabled || isTouchAndTouchDisabled) {\n return;\n } // Normalize `disabled` behavior across browsers.\n // Firefox allows events on disabled elements, but Chrome doesn't.\n // Using a wrapper element (i.e. <span>) is recommended.\n\n\n if (getCurrentTarget().hasAttribute('disabled')) {\n return;\n }\n\n invokeHook('onShow', [instance], false);\n\n if (instance.props.onShow(instance) === false) {\n return;\n }\n\n instance.state.isVisible = true;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'visible';\n }\n\n handleStyles();\n addDocumentPress();\n\n if (!instance.state.isMounted) {\n popper.style.transition = 'none';\n } // If flipping to the opposite side after hiding at least once, the\n // animation will use the wrong placement without resetting the duration\n\n\n if (getIsDefaultRenderFn()) {\n var _getDefaultTemplateCh2 = getDefaultTemplateChildren(),\n box = _getDefaultTemplateCh2.box,\n content = _getDefaultTemplateCh2.content;\n\n setTransitionDuration([box, content], 0);\n }\n\n onFirstUpdate = function onFirstUpdate() {\n var _instance$popperInsta2;\n\n if (!instance.state.isVisible || ignoreOnFirstUpdate) {\n return;\n }\n\n ignoreOnFirstUpdate = true; // reflow\n\n void popper.offsetHeight;\n popper.style.transition = instance.props.moveTransition;\n\n if (getIsDefaultRenderFn() && instance.props.animation) {\n var _getDefaultTemplateCh3 = getDefaultTemplateChildren(),\n _box = _getDefaultTemplateCh3.box,\n _content = _getDefaultTemplateCh3.content;\n\n setTransitionDuration([_box, _content], duration);\n setVisibilityState([_box, _content], 'visible');\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n pushIfUnique(mountedInstances, instance); // certain modifiers (e.g. `maxSize`) require a second update after the\n // popper has been positioned for the first time\n\n (_instance$popperInsta2 = instance.popperInstance) == null ? void 0 : _instance$popperInsta2.forceUpdate();\n invokeHook('onMount', [instance]);\n\n if (instance.props.animation && getIsDefaultRenderFn()) {\n onTransitionedIn(duration, function () {\n instance.state.isShown = true;\n invokeHook('onShown', [instance]);\n });\n }\n };\n\n mount();\n }\n\n function hide() {\n\n\n var isAlreadyHidden = !instance.state.isVisible;\n var isDestroyed = instance.state.isDestroyed;\n var isDisabled = !instance.state.isEnabled;\n var duration = getValueAtIndexOrReturn(instance.props.duration, 1, defaultProps.duration);\n\n if (isAlreadyHidden || isDestroyed || isDisabled) {\n return;\n }\n\n invokeHook('onHide', [instance], false);\n\n if (instance.props.onHide(instance) === false) {\n return;\n }\n\n instance.state.isVisible = false;\n instance.state.isShown = false;\n ignoreOnFirstUpdate = false;\n isVisibleFromClick = false;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'hidden';\n }\n\n cleanupInteractiveMouseListeners();\n removeDocumentPress();\n handleStyles(true);\n\n if (getIsDefaultRenderFn()) {\n var _getDefaultTemplateCh4 = getDefaultTemplateChildren(),\n box = _getDefaultTemplateCh4.box,\n content = _getDefaultTemplateCh4.content;\n\n if (instance.props.animation) {\n setTransitionDuration([box, content], duration);\n setVisibilityState([box, content], 'hidden');\n }\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n\n if (instance.props.animation) {\n if (getIsDefaultRenderFn()) {\n onTransitionedOut(duration, instance.unmount);\n }\n } else {\n instance.unmount();\n }\n }\n\n function hideWithInteractivity(event) {\n\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n pushIfUnique(mouseMoveListeners, debouncedOnMouseMove);\n debouncedOnMouseMove(event);\n }\n\n function unmount() {\n\n if (instance.state.isVisible) {\n instance.hide();\n }\n\n if (!instance.state.isMounted) {\n return;\n }\n\n destroyPopperInstance(); // If a popper is not interactive, it will be appended outside the popper\n // tree by default. This seems mainly for interactive tippies, but we should\n // find a workaround if possible\n\n getNestedPopperTree().forEach(function (nestedPopper) {\n nestedPopper._tippy.unmount();\n });\n\n if (popper.parentNode) {\n popper.parentNode.removeChild(popper);\n }\n\n mountedInstances = mountedInstances.filter(function (i) {\n return i !== instance;\n });\n instance.state.isMounted = false;\n invokeHook('onHidden', [instance]);\n }\n\n function destroy() {\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n instance.clearDelayTimeouts();\n instance.unmount();\n removeListeners();\n delete reference._tippy;\n instance.state.isDestroyed = true;\n invokeHook('onDestroy', [instance]);\n }\n}\n\nfunction tippy(targets, optionalProps) {\n if (optionalProps === void 0) {\n optionalProps = {};\n }\n\n var plugins = defaultProps.plugins.concat(optionalProps.plugins || []);\n\n bindGlobalEventListeners();\n var passedProps = Object.assign({}, optionalProps, {\n plugins: plugins\n });\n var elements = getArrayOfElements(targets);\n\n var instances = elements.reduce(function (acc, reference) {\n var instance = reference && createTippy(reference, passedProps);\n\n if (instance) {\n acc.push(instance);\n }\n\n return acc;\n }, []);\n return isElement$1(targets) ? instances[0] : instances;\n}\n\ntippy.defaultProps = defaultProps;\ntippy.setDefaultProps = setDefaultProps;\ntippy.currentInput = currentInput;\nvar hideAll = function hideAll(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n excludedReferenceOrInstance = _ref.exclude,\n duration = _ref.duration;\n\n mountedInstances.forEach(function (instance) {\n var isExcluded = false;\n\n if (excludedReferenceOrInstance) {\n isExcluded = isReferenceElement(excludedReferenceOrInstance) ? instance.reference === excludedReferenceOrInstance : instance.popper === excludedReferenceOrInstance.popper;\n }\n\n if (!isExcluded) {\n var originalDuration = instance.props.duration;\n instance.setProps({\n duration: duration\n });\n instance.hide();\n\n if (!instance.state.isDestroyed) {\n instance.setProps({\n duration: originalDuration\n });\n }\n }\n });\n};\n\n// every time the popper is destroyed (i.e. a new target), removing the styles\n// and causing transitions to break for singletons when the console is open, but\n// most notably for non-transform styles being used, `gpuAcceleration: false`.\n\nvar applyStylesModifier = Object.assign({}, applyStyles$1, {\n effect: function effect(_ref) {\n var state = _ref.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n } // intentionally return no cleanup function\n // return () => { ... }\n\n }\n});\n\nvar createSingleton = function createSingleton(tippyInstances, optionalProps) {\n var _optionalProps$popper;\n\n if (optionalProps === void 0) {\n optionalProps = {};\n }\n\n var individualInstances = tippyInstances;\n var references = [];\n var triggerTargets = [];\n var currentTarget;\n var overrides = optionalProps.overrides;\n var interceptSetPropsCleanups = [];\n var shownOnCreate = false;\n\n function setTriggerTargets() {\n triggerTargets = individualInstances.map(function (instance) {\n return normalizeToArray(instance.props.triggerTarget || instance.reference);\n }).reduce(function (acc, item) {\n return acc.concat(item);\n }, []);\n }\n\n function setReferences() {\n references = individualInstances.map(function (instance) {\n return instance.reference;\n });\n }\n\n function enableInstances(isEnabled) {\n individualInstances.forEach(function (instance) {\n if (isEnabled) {\n instance.enable();\n } else {\n instance.disable();\n }\n });\n }\n\n function interceptSetProps(singleton) {\n return individualInstances.map(function (instance) {\n var originalSetProps = instance.setProps;\n\n instance.setProps = function (props) {\n originalSetProps(props);\n\n if (instance.reference === currentTarget) {\n singleton.setProps(props);\n }\n };\n\n return function () {\n instance.setProps = originalSetProps;\n };\n });\n } // have to pass singleton, as it maybe undefined on first call\n\n\n function prepareInstance(singleton, target) {\n var index = triggerTargets.indexOf(target); // bail-out\n\n if (target === currentTarget) {\n return;\n }\n\n currentTarget = target;\n var overrideProps = (overrides || []).concat('content').reduce(function (acc, prop) {\n acc[prop] = individualInstances[index].props[prop];\n return acc;\n }, {});\n singleton.setProps(Object.assign({}, overrideProps, {\n getReferenceClientRect: typeof overrideProps.getReferenceClientRect === 'function' ? overrideProps.getReferenceClientRect : function () {\n var _references$index;\n\n return (_references$index = references[index]) == null ? void 0 : _references$index.getBoundingClientRect();\n }\n }));\n }\n\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n var plugin = {\n fn: function fn() {\n return {\n onDestroy: function onDestroy() {\n enableInstances(true);\n },\n onHidden: function onHidden() {\n currentTarget = null;\n },\n onClickOutside: function onClickOutside(instance) {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n currentTarget = null;\n }\n },\n onShow: function onShow(instance) {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n prepareInstance(instance, references[0]);\n }\n },\n onTrigger: function onTrigger(instance, event) {\n prepareInstance(instance, event.currentTarget);\n }\n };\n }\n };\n var singleton = tippy(div(), Object.assign({}, removeProperties(optionalProps, ['overrides']), {\n plugins: [plugin].concat(optionalProps.plugins || []),\n triggerTarget: triggerTargets,\n popperOptions: Object.assign({}, optionalProps.popperOptions, {\n modifiers: [].concat(((_optionalProps$popper = optionalProps.popperOptions) == null ? void 0 : _optionalProps$popper.modifiers) || [], [applyStylesModifier])\n })\n }));\n var originalShow = singleton.show;\n\n singleton.show = function (target) {\n originalShow(); // first time, showOnCreate or programmatic call with no params\n // default to showing first instance\n\n if (!currentTarget && target == null) {\n return prepareInstance(singleton, references[0]);\n } // triggered from event (do nothing as prepareInstance already called by onTrigger)\n // programmatic call with no params when already visible (do nothing again)\n\n\n if (currentTarget && target == null) {\n return;\n } // target is index of instance\n\n\n if (typeof target === 'number') {\n return references[target] && prepareInstance(singleton, references[target]);\n } // target is a child tippy instance\n\n\n if (individualInstances.indexOf(target) >= 0) {\n var ref = target.reference;\n return prepareInstance(singleton, ref);\n } // target is a ReferenceElement\n\n\n if (references.indexOf(target) >= 0) {\n return prepareInstance(singleton, target);\n }\n };\n\n singleton.showNext = function () {\n var first = references[0];\n\n if (!currentTarget) {\n return singleton.show(0);\n }\n\n var index = references.indexOf(currentTarget);\n singleton.show(references[index + 1] || first);\n };\n\n singleton.showPrevious = function () {\n var last = references[references.length - 1];\n\n if (!currentTarget) {\n return singleton.show(last);\n }\n\n var index = references.indexOf(currentTarget);\n var target = references[index - 1] || last;\n singleton.show(target);\n };\n\n var originalSetProps = singleton.setProps;\n\n singleton.setProps = function (props) {\n overrides = props.overrides || overrides;\n originalSetProps(props);\n };\n\n singleton.setInstances = function (nextInstances) {\n enableInstances(true);\n interceptSetPropsCleanups.forEach(function (fn) {\n return fn();\n });\n individualInstances = nextInstances;\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n interceptSetPropsCleanups = interceptSetProps(singleton);\n singleton.setProps({\n triggerTarget: triggerTargets\n });\n };\n\n interceptSetPropsCleanups = interceptSetProps(singleton);\n return singleton;\n};\n\nvar animateFill = {\n name: 'animateFill',\n defaultValue: false,\n fn: function fn(instance) {\n var _instance$props$rende;\n\n // @ts-ignore\n if (!((_instance$props$rende = instance.props.render) != null && _instance$props$rende.$$tippy)) {\n\n return {};\n }\n\n var _getChildren = getChildren(instance.popper),\n box = _getChildren.box,\n content = _getChildren.content;\n\n var backdrop = instance.props.animateFill ? createBackdropElement() : null;\n return {\n onCreate: function onCreate() {\n if (backdrop) {\n box.insertBefore(backdrop, box.firstElementChild);\n box.setAttribute('data-animatefill', '');\n box.style.overflow = 'hidden';\n instance.setProps({\n arrow: false,\n animation: 'shift-away'\n });\n }\n },\n onMount: function onMount() {\n if (backdrop) {\n var transitionDuration = box.style.transitionDuration;\n var duration = Number(transitionDuration.replace('ms', '')); // The content should fade in after the backdrop has mostly filled the\n // tooltip element. `clip-path` is the other alternative but is not\n // well-supported and is buggy on some devices.\n\n content.style.transitionDelay = Math.round(duration / 10) + \"ms\";\n backdrop.style.transitionDuration = transitionDuration;\n setVisibilityState([backdrop], 'visible');\n }\n },\n onShow: function onShow() {\n if (backdrop) {\n backdrop.style.transitionDuration = '0ms';\n }\n },\n onHide: function onHide() {\n if (backdrop) {\n setVisibilityState([backdrop], 'hidden');\n }\n }\n };\n }\n};\n\nfunction createBackdropElement() {\n var backdrop = div();\n backdrop.className = BACKDROP_CLASS;\n setVisibilityState([backdrop], 'hidden');\n return backdrop;\n}\n\nvar mouseCoords = {\n clientX: 0,\n clientY: 0\n};\nvar activeInstances = [];\n\nfunction storeMouseCoords(_ref) {\n var clientX = _ref.clientX,\n clientY = _ref.clientY;\n mouseCoords = {\n clientX: clientX,\n clientY: clientY\n };\n}\n\nfunction addMouseCoordsListener(doc) {\n doc.addEventListener('mousemove', storeMouseCoords);\n}\n\nfunction removeMouseCoordsListener(doc) {\n doc.removeEventListener('mousemove', storeMouseCoords);\n}\n\nvar followCursor = {\n name: 'followCursor',\n defaultValue: false,\n fn: function fn(instance) {\n var reference = instance.reference;\n var doc = getOwnerDocument(instance.props.triggerTarget || reference);\n var isInternalUpdate = false;\n var wasFocusEvent = false;\n var isUnmounted = true;\n var prevProps = instance.props;\n\n function getIsInitialBehavior() {\n return instance.props.followCursor === 'initial' && instance.state.isVisible;\n }\n\n function addListener() {\n doc.addEventListener('mousemove', onMouseMove);\n }\n\n function removeListener() {\n doc.removeEventListener('mousemove', onMouseMove);\n }\n\n function unsetGetReferenceClientRect() {\n isInternalUpdate = true;\n instance.setProps({\n getReferenceClientRect: null\n });\n isInternalUpdate = false;\n }\n\n function onMouseMove(event) {\n // If the instance is interactive, avoid updating the position unless it's\n // over the reference element\n var isCursorOverReference = event.target ? reference.contains(event.target) : true;\n var followCursor = instance.props.followCursor;\n var clientX = event.clientX,\n clientY = event.clientY;\n var rect = reference.getBoundingClientRect();\n var relativeX = clientX - rect.left;\n var relativeY = clientY - rect.top;\n\n if (isCursorOverReference || !instance.props.interactive) {\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect: function getReferenceClientRect() {\n var rect = reference.getBoundingClientRect();\n var x = clientX;\n var y = clientY;\n\n if (followCursor === 'initial') {\n x = rect.left + relativeX;\n y = rect.top + relativeY;\n }\n\n var top = followCursor === 'horizontal' ? rect.top : y;\n var right = followCursor === 'vertical' ? rect.right : x;\n var bottom = followCursor === 'horizontal' ? rect.bottom : y;\n var left = followCursor === 'vertical' ? rect.left : x;\n return {\n width: right - left,\n height: bottom - top,\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n }\n });\n }\n }\n\n function create() {\n if (instance.props.followCursor) {\n activeInstances.push({\n instance: instance,\n doc: doc\n });\n addMouseCoordsListener(doc);\n }\n }\n\n function destroy() {\n activeInstances = activeInstances.filter(function (data) {\n return data.instance !== instance;\n });\n\n if (activeInstances.filter(function (data) {\n return data.doc === doc;\n }).length === 0) {\n removeMouseCoordsListener(doc);\n }\n }\n\n return {\n onCreate: create,\n onDestroy: destroy,\n onBeforeUpdate: function onBeforeUpdate() {\n prevProps = instance.props;\n },\n onAfterUpdate: function onAfterUpdate(_, _ref2) {\n var followCursor = _ref2.followCursor;\n\n if (isInternalUpdate) {\n return;\n }\n\n if (followCursor !== undefined && prevProps.followCursor !== followCursor) {\n destroy();\n\n if (followCursor) {\n create();\n\n if (instance.state.isMounted && !wasFocusEvent && !getIsInitialBehavior()) {\n addListener();\n }\n } else {\n removeListener();\n unsetGetReferenceClientRect();\n }\n }\n },\n onMount: function onMount() {\n if (instance.props.followCursor && !wasFocusEvent) {\n if (isUnmounted) {\n onMouseMove(mouseCoords);\n isUnmounted = false;\n }\n\n if (!getIsInitialBehavior()) {\n addListener();\n }\n }\n },\n onTrigger: function onTrigger(_, event) {\n if (isMouseEvent(event)) {\n mouseCoords = {\n clientX: event.clientX,\n clientY: event.clientY\n };\n }\n\n wasFocusEvent = event.type === 'focus';\n },\n onHidden: function onHidden() {\n if (instance.props.followCursor) {\n unsetGetReferenceClientRect();\n removeListener();\n isUnmounted = true;\n }\n }\n };\n }\n};\n\nfunction getProps(props, modifier) {\n var _props$popperOptions;\n\n return {\n popperOptions: Object.assign({}, props.popperOptions, {\n modifiers: [].concat((((_props$popperOptions = props.popperOptions) == null ? void 0 : _props$popperOptions.modifiers) || []).filter(function (_ref) {\n var name = _ref.name;\n return name !== modifier.name;\n }), [modifier])\n })\n };\n}\n\nvar inlinePositioning = {\n name: 'inlinePositioning',\n defaultValue: false,\n fn: function fn(instance) {\n var reference = instance.reference;\n\n function isEnabled() {\n return !!instance.props.inlinePositioning;\n }\n\n var placement;\n var cursorRectIndex = -1;\n var isInternalUpdate = false;\n var triedPlacements = [];\n var modifier = {\n name: 'tippyInlinePositioning',\n enabled: true,\n phase: 'afterWrite',\n fn: function fn(_ref2) {\n var state = _ref2.state;\n\n if (isEnabled()) {\n if (triedPlacements.indexOf(state.placement) !== -1) {\n triedPlacements = [];\n }\n\n if (placement !== state.placement && triedPlacements.indexOf(state.placement) === -1) {\n triedPlacements.push(state.placement);\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect: function getReferenceClientRect() {\n return _getReferenceClientRect(state.placement);\n }\n });\n }\n\n placement = state.placement;\n }\n }\n };\n\n function _getReferenceClientRect(placement) {\n return getInlineBoundingClientRect(getBasePlacement$1(placement), reference.getBoundingClientRect(), arrayFrom(reference.getClientRects()), cursorRectIndex);\n }\n\n function setInternalProps(partialProps) {\n isInternalUpdate = true;\n instance.setProps(partialProps);\n isInternalUpdate = false;\n }\n\n function addModifier() {\n if (!isInternalUpdate) {\n setInternalProps(getProps(instance.props, modifier));\n }\n }\n\n return {\n onCreate: addModifier,\n onAfterUpdate: addModifier,\n onTrigger: function onTrigger(_, event) {\n if (isMouseEvent(event)) {\n var rects = arrayFrom(instance.reference.getClientRects());\n var cursorRect = rects.find(function (rect) {\n return rect.left - 2 <= event.clientX && rect.right + 2 >= event.clientX && rect.top - 2 <= event.clientY && rect.bottom + 2 >= event.clientY;\n });\n var index = rects.indexOf(cursorRect);\n cursorRectIndex = index > -1 ? index : cursorRectIndex;\n }\n },\n onHidden: function onHidden() {\n cursorRectIndex = -1;\n }\n };\n }\n};\nfunction getInlineBoundingClientRect(currentBasePlacement, boundingRect, clientRects, cursorRectIndex) {\n // Not an inline element, or placement is not yet known\n if (clientRects.length < 2 || currentBasePlacement === null) {\n return boundingRect;\n } // There are two rects and they are disjoined\n\n\n if (clientRects.length === 2 && cursorRectIndex >= 0 && clientRects[0].left > clientRects[1].right) {\n return clientRects[cursorRectIndex] || boundingRect;\n }\n\n switch (currentBasePlacement) {\n case 'top':\n case 'bottom':\n {\n var firstRect = clientRects[0];\n var lastRect = clientRects[clientRects.length - 1];\n var isTop = currentBasePlacement === 'top';\n var top = firstRect.top;\n var bottom = lastRect.bottom;\n var left = isTop ? firstRect.left : lastRect.left;\n var right = isTop ? firstRect.right : lastRect.right;\n var width = right - left;\n var height = bottom - top;\n return {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n };\n }\n\n case 'left':\n case 'right':\n {\n var minLeft = Math.min.apply(Math, clientRects.map(function (rects) {\n return rects.left;\n }));\n var maxRight = Math.max.apply(Math, clientRects.map(function (rects) {\n return rects.right;\n }));\n var measureRects = clientRects.filter(function (rect) {\n return currentBasePlacement === 'left' ? rect.left === minLeft : rect.right === maxRight;\n });\n var _top = measureRects[0].top;\n var _bottom = measureRects[measureRects.length - 1].bottom;\n var _left = minLeft;\n var _right = maxRight;\n\n var _width = _right - _left;\n\n var _height = _bottom - _top;\n\n return {\n top: _top,\n bottom: _bottom,\n left: _left,\n right: _right,\n width: _width,\n height: _height\n };\n }\n\n default:\n {\n return boundingRect;\n }\n }\n}\n\nvar sticky = {\n name: 'sticky',\n defaultValue: false,\n fn: function fn(instance) {\n var reference = instance.reference,\n popper = instance.popper;\n\n function getReference() {\n return instance.popperInstance ? instance.popperInstance.state.elements.reference : reference;\n }\n\n function shouldCheck(value) {\n return instance.props.sticky === true || instance.props.sticky === value;\n }\n\n var prevRefRect = null;\n var prevPopRect = null;\n\n function updatePosition() {\n var currentRefRect = shouldCheck('reference') ? getReference().getBoundingClientRect() : null;\n var currentPopRect = shouldCheck('popper') ? popper.getBoundingClientRect() : null;\n\n if (currentRefRect && areRectsDifferent(prevRefRect, currentRefRect) || currentPopRect && areRectsDifferent(prevPopRect, currentPopRect)) {\n if (instance.popperInstance) {\n instance.popperInstance.update();\n }\n }\n\n prevRefRect = currentRefRect;\n prevPopRect = currentPopRect;\n\n if (instance.state.isMounted) {\n requestAnimationFrame(updatePosition);\n }\n }\n\n return {\n onMount: function onMount() {\n if (instance.props.sticky) {\n updatePosition();\n }\n }\n };\n }\n};\n\nfunction areRectsDifferent(rectA, rectB) {\n if (rectA && rectB) {\n return rectA.top !== rectB.top || rectA.right !== rectB.right || rectA.bottom !== rectB.bottom || rectA.left !== rectB.left;\n }\n\n return true;\n}\n\ntippy.setDefaultProps({\n render: render\n});\n\ntippy.setDefaultProps({\r\n //@ts-ignore\r\n onShow: instance => {\r\n if (!instance.props.content)\r\n return false;\r\n },\r\n});\r\nconst isComponentInstance = (value) => {\r\n return value instanceof Object && '$' in value && '$el' in value;\r\n};\r\nfunction useTippy(el, opts = {}, settings = { mount: true, appName: 'Tippy' }) {\r\n settings = Object.assign({ mount: true, appName: 'Tippy' }, settings);\r\n const vm = getCurrentInstance();\r\n const instance = ref();\r\n const state = ref({\r\n isEnabled: false,\r\n isVisible: false,\r\n isDestroyed: false,\r\n isMounted: false,\r\n isShown: false,\r\n });\r\n const headlessApp = shallowRef();\r\n let container = null;\r\n const getContainer = () => {\r\n if (container)\r\n return container;\r\n container = document.createDocumentFragment();\r\n return container;\r\n };\r\n const getContent = (content) => {\r\n let newContent;\r\n let unwrappedContent = isRef(content)\r\n ? content.value\r\n : content;\r\n if (isVNode(unwrappedContent)) {\r\n if (!headlessApp.value) {\r\n headlessApp.value = createApp({\r\n name: settings.appName,\r\n setup: () => {\r\n return () => isRef(content) ? content.value : content;\r\n },\r\n });\r\n if (vm) {\r\n Object.assign(headlessApp.value._context, vm.appContext);\r\n }\r\n headlessApp.value.mount(getContainer());\r\n }\r\n newContent = () => getContainer();\r\n }\r\n else if (typeof unwrappedContent === 'object') {\r\n if (!headlessApp.value) {\r\n headlessApp.value = createApp({\r\n name: settings.appName,\r\n setup: () => {\r\n return () => h(isRef(content) ? content.value : content);\r\n },\r\n });\r\n if (vm) {\r\n Object.assign(headlessApp.value._context, vm.appContext);\r\n }\r\n headlessApp.value.mount(getContainer());\r\n }\r\n newContent = () => getContainer();\r\n }\r\n else {\r\n newContent = unwrappedContent;\r\n }\r\n return newContent;\r\n };\r\n const getProps = (opts) => {\r\n let options = {};\r\n if (isRef(opts)) {\r\n options = opts.value || {};\r\n }\r\n else if (isReactive(opts)) {\r\n options = { ...opts };\r\n }\r\n else {\r\n options = { ...opts };\r\n }\r\n if (options.content) {\r\n options.content = getContent(options.content);\r\n }\r\n if (options.triggerTarget) {\r\n options.triggerTarget = isRef(options.triggerTarget)\r\n ? options.triggerTarget.value\r\n : options.triggerTarget;\r\n }\r\n if (!options.plugins || !Array.isArray(options.plugins)) {\r\n options.plugins = [];\r\n }\r\n options.plugins = options.plugins.filter((plugin) => plugin.name !== 'vueTippyReactiveState');\r\n options.plugins.push({\r\n name: 'vueTippyReactiveState',\r\n fn: () => {\r\n return {\r\n onCreate() {\r\n state.value.isEnabled = true;\r\n },\r\n onMount() {\r\n state.value.isMounted = true;\r\n },\r\n onShow() {\r\n state.value.isMounted = true;\r\n state.value.isVisible = true;\r\n },\r\n onShown() {\r\n state.value.isShown = true;\r\n },\r\n onHide() {\r\n state.value.isMounted = false;\r\n state.value.isVisible = false;\r\n },\r\n onHidden() {\r\n state.value.isShown = false;\r\n },\r\n onUnmounted() {\r\n state.value.isMounted = false;\r\n },\r\n onDestroy() {\r\n state.value.isDestroyed = true;\r\n },\r\n };\r\n }\r\n });\r\n return options;\r\n };\r\n const refresh = () => {\r\n if (!instance.value)\r\n return;\r\n instance.value.setProps(getProps(opts));\r\n };\r\n const refreshContent = () => {\r\n if (!instance.value || !opts.content)\r\n return;\r\n instance.value.setContent(getContent(opts.content));\r\n };\r\n const setContent = (value) => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.setContent(getContent(value));\r\n };\r\n const setProps = (value) => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.setProps(getProps(value));\r\n };\r\n const destroy = () => {\r\n var _a;\r\n if (instance.value) {\r\n instance.value.destroy();\r\n instance.value = undefined;\r\n }\r\n container = null;\r\n (_a = headlessApp.value) === null || _a === void 0 ? void 0 : _a.unmount();\r\n headlessApp.value = undefined;\r\n };\r\n const show = () => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.show();\r\n };\r\n const hide = () => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.hide();\r\n };\r\n const disable = () => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.disable();\r\n state.value.isEnabled = false;\r\n };\r\n const enable = () => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.enable();\r\n state.value.isEnabled = true;\r\n };\r\n const unmount = () => {\r\n var _a;\r\n (_a = instance.value) === null || _a === void 0 ? void 0 : _a.unmount();\r\n };\r\n const mount = () => {\r\n if (!el)\r\n return;\r\n let target = isRef(el) ? el.value : el;\r\n if (typeof target === 'function')\r\n target = target();\r\n if (isComponentInstance(target)) {\r\n target = target.$el;\r\n }\r\n if (target) {\r\n //@ts-ignore\r\n instance.value = tippy(target, getProps(opts));\r\n //@ts-ignore\r\n target.$tippy = response;\r\n }\r\n };\r\n const response = {\r\n tippy: instance,\r\n refresh,\r\n refreshContent,\r\n setContent,\r\n setProps,\r\n destroy,\r\n hide,\r\n show,\r\n disable,\r\n enable,\r\n unmount,\r\n mount,\r\n state,\r\n };\r\n if (settings.mount) {\r\n if (vm) {\r\n if (vm.isMounted) {\r\n mount();\r\n }\r\n else {\r\n onMounted(mount);\r\n }\r\n }\r\n else {\r\n mount();\r\n }\r\n }\r\n if (vm) {\r\n onUnmounted(() => {\r\n destroy();\r\n });\r\n }\r\n if (isRef(opts) || isReactive(opts)) {\r\n watch(opts, refresh, { immediate: false });\r\n }\r\n else if (isRef(opts.content)) {\r\n watch(opts.content, refreshContent, { immediate: false });\r\n }\r\n return response;\r\n}\n\nfunction useTippyComponent(opts = {}, children) {\r\n const instance = ref();\r\n return {\r\n instance,\r\n TippyComponent: h(TippyComponent, {\r\n ...opts,\r\n onVnodeMounted: (vnode) => {\r\n //@ts-ignore\r\n instance.value = vnode.component.ctx;\r\n },\r\n }, children),\r\n };\r\n}\n\nfunction useSingleton(instances, optionalProps) {\r\n const singleton = ref();\r\n onMounted(() => {\r\n const pendingTippyInstances = Array.isArray(instances)\r\n ? instances.map(i => i.value)\r\n : typeof instances === 'function'\r\n ? instances()\r\n : instances.value;\r\n const tippyInstances = pendingTippyInstances\r\n .map((instance) => {\r\n if (instance instanceof Element) {\r\n //@ts-ignore\r\n return instance._tippy;\r\n }\r\n return instance;\r\n })\r\n .filter(Boolean);\r\n singleton.value = createSingleton(tippyInstances, optionalProps\r\n ? { allowHTML: true, ...optionalProps }\r\n : { allowHTML: true });\r\n });\r\n return {\r\n singleton,\r\n };\r\n}\n\nfunction toValue(r) {\r\n return typeof r === 'function'\r\n ? r()\r\n : unref(r);\r\n}\r\nfunction unrefElement(elRef) {\r\n var _a, _b;\r\n const plain = toValue(elRef);\r\n return (_b = (_a = plain) === null || _a === void 0 ? void 0 : _a.$el) !== null && _b !== void 0 ? _b : plain;\r\n}\r\nconst TippyComponent = defineComponent({\r\n props: {\r\n to: {\r\n type: [String, Function],\r\n },\r\n tag: {\r\n type: [String, Object],\r\n default: 'span'\r\n },\r\n contentTag: {\r\n type: [String, Object],\r\n default: 'span'\r\n },\r\n contentClass: {\r\n type: String,\r\n default: null\r\n },\r\n appendTo: { default: () => tippy.defaultProps['appendTo'] },\r\n aria: { default: () => tippy.defaultProps['aria'] },\r\n delay: { default: () => tippy.defaultProps['delay'] },\r\n duration: { default: () => tippy.defaultProps['duration'] },\r\n getReferenceClientRect: { default: () => tippy.defaultProps['getReferenceClientRect'] },\r\n hideOnClick: { type: [Boolean, String], default: () => tippy.defaultProps['hideOnClick'] },\r\n ignoreAttributes: { type: Boolean, default: () => tippy.defaultProps['ignoreAttributes'] },\r\n interactive: { type: Boolean, default: () => tippy.defaultProps['interactive'] },\r\n interactiveBorder: { default: () => tippy.defaultProps['interactiveBorder'] },\r\n interactiveDebounce: { default: () => tippy.defaultProps['interactiveDebounce'] },\r\n moveTransition: { default: () => tippy.defaultProps['moveTransition'] },\r\n offset: { default: () => tippy.defaultProps['offset'] },\r\n onAfterUpdate: { default: () => tippy.defaultProps['onAfterUpdate'] },\r\n onBeforeUpdate: { default: () => tippy.defaultProps['onBeforeUpdate'] },\r\n onCreate: { default: () => tippy.defaultProps['onCreate'] },\r\n onDestroy: { default: () => tippy.defaultProps['onDestroy'] },\r\n onHidden: { default: () => tippy.defaultProps['onHidden'] },\r\n onHide: { default: () => tippy.defaultProps['onHide'] },\r\n onMount: { default: () => tippy.defaultProps['onMount'] },\r\n onShow: { default: () => tippy.defaultProps['onShow'] },\r\n onShown: { default: () => tippy.defaultProps['onShown'] },\r\n onTrigger: { default: () => tippy.defaultProps['onTrigger'] },\r\n onUntrigger: { default: () => tippy.defaultProps['onUntrigger'] },\r\n onClickOutside: { default: () => tippy.defaultProps['onClickOutside'] },\r\n placement: { default: () => tippy.defaultProps['placement'] },\r\n plugins: { default: () => tippy.defaultProps['plugins'] },\r\n popperOptions: { default: () => tippy.defaultProps['popperOptions'] },\r\n render: { default: () => tippy.defaultProps['render'] },\r\n showOnCreate: { type: Boolean, default: () => tippy.defaultProps['showOnCreate'] },\r\n touch: { type: [Boolean, String, Array], default: () => tippy.defaultProps['touch'] },\r\n trigger: { default: () => tippy.defaultProps['trigger'] },\r\n triggerTarget: { default: () => tippy.defaultProps['triggerTarget'] },\r\n animateFill: { type: Boolean, default: () => tippy.defaultProps['animateFill'] },\r\n followCursor: { type: [Boolean, String], default: () => tippy.defaultProps['followCursor'] },\r\n inlinePositioning: { type: Boolean, default: () => tippy.defaultProps['inlinePositioning'] },\r\n sticky: { type: [Boolean, String], default: () => tippy.defaultProps['sticky'] },\r\n allowHTML: { type: Boolean, default: () => tippy.defaultProps['allowHTML'] },\r\n animation: { default: () => tippy.defaultProps['animation'] },\r\n arrow: { default: () => tippy.defaultProps['arrow'] },\r\n content: { default: () => tippy.defaultProps['content'] },\r\n inertia: { default: () => tippy.defaultProps['inertia'] },\r\n maxWidth: { default: () => tippy.defaultProps['maxWidth'] },\r\n role: { default: () => tippy.defaultProps['role'] },\r\n theme: { default: () => tippy.defaultProps['theme'] },\r\n zIndex: { default: () => tippy.defaultProps['zIndex'] }\r\n },\r\n emits: ['state'],\r\n setup(props, { slots, emit, expose }) {\r\n const elem = ref();\r\n const findParentHelper = ref();\r\n const contentElem = ref();\r\n const mounted = ref(false);\r\n const getOptions = () => {\r\n let options = { ...props };\r\n for (const prop of ['to', 'tag', 'contentTag', 'contentClass']) {\r\n if (options.hasOwnProperty(prop)) {\r\n // @ts-ignore\r\n delete options[prop];\r\n }\r\n }\r\n return options;\r\n };\r\n let target = () => unrefElement(elem);\r\n if (props.to) {\r\n if (typeof Element !== 'undefined' && props.to instanceof Element) {\r\n target = () => props.to;\r\n }\r\n else if (props.to === 'parent') {\r\n target = () => {\r\n let el = elem.value;\r\n if (!el) {\r\n el = elem.value = findParentHelper.value.parentElement;\r\n }\r\n return el;\r\n };\r\n }\r\n else if (typeof props.to === 'string' || props.to instanceof String) {\r\n target = () => document.querySelector(props.to);\r\n }\r\n }\r\n const tippy = useTippy(target, getOptions());\r\n let contentSlot = slots.content;\r\n if (!contentSlot && props.to === 'parent') {\r\n contentSlot = slots.default;\r\n }\r\n onMounted(() => {\r\n mounted.value = true;\r\n nextTick(() => {\r\n if (contentSlot)\r\n tippy.setContent(() => contentElem.value);\r\n });\r\n });\r\n watch(tippy.state, () => {\r\n emit('state', unref(tippy.state));\r\n }, { immediate: true, deep: true });\r\n watch(() => props, () => {\r\n tippy.setProps(getOptions());\r\n if (contentSlot)\r\n tippy.setContent(() => contentElem.value);\r\n }, { deep: true });\r\n let exposed = reactive({\r\n elem,\r\n contentElem,\r\n mounted,\r\n ...tippy\r\n });\r\n expose(exposed);\r\n return () => {\r\n const contentTag = typeof props.contentTag === 'string' ? props.contentTag : props.contentTag;\r\n const content = contentSlot\r\n ? h(contentTag, {\r\n ref: contentElem,\r\n style: { display: mounted.value ? 'inherit' : 'none' },\r\n class: props.contentClass,\r\n }, contentSlot(exposed))\r\n : null;\r\n if (props.to === 'parent') {\r\n const result = [];\r\n if (!elem.value) {\r\n const findParentHelperNode = h('span', {\r\n ref: findParentHelper,\r\n 'data-v-tippy': '',\r\n style: { display: 'none' },\r\n });\r\n result.push(findParentHelperNode);\r\n }\r\n if (content) {\r\n result.push(content);\r\n }\r\n return result;\r\n }\r\n const slot = slots.default ? slots.default(exposed) : [];\r\n if (!props.tag) {\r\n const trigger = h(slot[0], {\r\n ref: elem, 'data-v-tippy': ''\r\n });\r\n return content ? [trigger, content] : trigger;\r\n }\r\n const tag = typeof props.tag === 'string' ? props.tag : props.tag;\r\n return h(tag, { ref: elem, 'data-v-tippy': '' }, content ? [slot, content] : slot);\r\n };\r\n },\r\n});\n\nconst booleanProps = [\r\n 'a11y',\r\n 'allowHTML',\r\n 'arrow',\r\n 'flip',\r\n 'flipOnUpdate',\r\n 'hideOnClick',\r\n 'ignoreAttributes',\r\n 'inertia',\r\n 'interactive',\r\n 'lazy',\r\n 'multiple',\r\n 'showOnInit',\r\n 'touch',\r\n 'touchHold',\r\n];\r\nlet props = {};\r\nObject.keys(tippy.defaultProps).forEach((prop) => {\r\n if (booleanProps.includes(prop)) {\r\n props[prop] = {\r\n type: Boolean,\r\n default: function () {\r\n return tippy.defaultProps[prop];\r\n },\r\n };\r\n }\r\n else {\r\n props[prop] = {\r\n default: function () {\r\n return tippy.defaultProps[prop];\r\n },\r\n };\r\n }\r\n});\r\nconst TippySingleton = defineComponent({\r\n props,\r\n setup(props) {\r\n const instances = ref([]);\r\n const { singleton } = useSingleton(instances, props);\r\n return { instances, singleton };\r\n },\r\n mounted() {\r\n var _a;\r\n const parent = this.$el.parentElement;\r\n const elements = parent.querySelectorAll('[data-v-tippy]');\r\n this.instances = Array.from(elements)\r\n .map((el) => el._tippy)\r\n .filter(Boolean);\r\n (_a = this.singleton) === null || _a === void 0 ? void 0 : _a.setInstances(this.instances);\r\n },\r\n render() {\r\n let slot = this.$slots.default ? this.$slots.default() : [];\r\n return h(() => slot);\r\n },\r\n});\n\nconst directive = {\r\n mounted(el, binding, vnode) {\r\n const opts = typeof binding.value === \"string\" ? { content: binding.value } : binding.value || {};\r\n const modifiers = Object.keys(binding.modifiers || {});\r\n const placement = modifiers.find(modifier => modifier !== 'arrow');\r\n const withArrow = modifiers.findIndex(modifier => modifier === 'arrow') !== -1;\r\n if (placement) {\r\n opts.placement = opts.placement || placement;\r\n }\r\n if (withArrow) {\r\n opts.arrow = opts.arrow !== undefined ? opts.arrow : true;\r\n }\r\n if (vnode.props && vnode.props.onTippyShow) {\r\n opts.onShow = function (...args) {\r\n var _a;\r\n return (_a = vnode.props) === null || _a === void 0 ? void 0 : _a.onTippyShow(...args);\r\n };\r\n }\r\n if (vnode.props && vnode.props.onTippyShown) {\r\n opts.onShown = function (...args) {\r\n var _a;\r\n return (_a = vnode.props) === null || _a === void 0 ? void 0 : _a.onTippyShown(...args);\r\n };\r\n }\r\n if (vnode.props && vnode.props.onTippyHidden) {\r\n opts.onHidden = function (...args) {\r\n var _a;\r\n return (_a = vnode.props) === null || _a === void 0 ? void 0 : _a.onTippyHidden(...args);\r\n };\r\n }\r\n if (vnode.props && vnode.props.onTippyHide) {\r\n opts.onHide = function (...args) {\r\n var _a;\r\n return (_a = vnode.props) === null || _a === void 0 ? void 0 : _a.onTippyHide(...args);\r\n };\r\n }\r\n if (vnode.props && vnode.props.onTippyMount) {\r\n opts.onMount = function (...args) {\r\n var _a;\r\n return (_a = vnode.props) === null || _a === void 0 ? void 0 : _a.onTippyMount(...args);\r\n };\r\n }\r\n if (el.getAttribute('title') && !opts.content) {\r\n opts.content = el.getAttribute('title');\r\n el.removeAttribute('title');\r\n }\r\n if (el.getAttribute('content') && !opts.content) {\r\n opts.content = el.getAttribute('content');\r\n }\r\n useTippy(el, opts);\r\n },\r\n unmounted(el) {\r\n if (el.$tippy) {\r\n el.$tippy.destroy();\r\n }\r\n else if (el._tippy) {\r\n el._tippy.destroy();\r\n }\r\n },\r\n updated(el, binding) {\r\n const opts = typeof binding.value === \"string\" ? { content: binding.value } : binding.value || {};\r\n // any kind of falsy content value, even undefined, should be treated as null - 'no tooltip to show'\r\n if (!opts.content) {\r\n opts.content = null;\r\n }\r\n if (el.getAttribute('title') && !opts.content) {\r\n opts.content = el.getAttribute('title');\r\n el.removeAttribute('title');\r\n }\r\n if (el.getAttribute('content') && !opts.content) {\r\n opts.content = el.getAttribute('content');\r\n }\r\n if (el.$tippy) {\r\n el.$tippy.setProps(opts || {});\r\n }\r\n else if (el._tippy) {\r\n el._tippy.setProps(opts || {});\r\n }\r\n },\r\n};\n\nconst plugin = {\r\n install(app, options = {}) {\r\n tippy.setDefaultProps(options.defaultProps || {});\r\n app.directive(options.directive || 'tippy', directive);\r\n app.component(options.component || 'tippy', TippyComponent);\r\n app.component(options.componentSingleton || 'tippy-singleton', TippySingleton);\r\n },\r\n};\n\nconst setDefaultProps$1 = tippy.setDefaultProps;\r\nsetDefaultProps$1({\r\n ignoreAttributes: true,\r\n plugins: [sticky, inlinePositioning, followCursor, animateFill],\r\n});\n\nexport default plugin;\nexport { TippyComponent as Tippy, TippySingleton, directive, hideAll, plugin, ROUND_ARROW as roundArrow, setDefaultProps$1 as setDefaultProps, tippy, useSingleton, useTippy, useTippyComponent };\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nexport interface PointLike {\n x: number\n y: number\n}\n\nexport type PointArray = [number, number]\n\n//==============================================================================\n\n// Two points are considered to be the same if the square of the distance between\n// them is no bigger than POINT_EPSILON_SQUARED\n\nexport const POINT_EPSILON = 1e-4\nexport const POINT_EPSILON_SQUARED = POINT_EPSILON * POINT_EPSILON\n\n//==============================================================================\n\nexport class Point implements PointLike {\n constructor(\n readonly x: number = 0,\n readonly y: number = 0\n ) {}\n\n static fromPoint(point: PointLike): Point {\n return new Point(point.x, point.y)\n }\n\n static fromArray(coords: PointArray): Point {\n return new Point(coords[0], coords[1])\n }\n\n asArray(): PointArray {\n return [this.x, this.y]\n }\n\n add(point: PointLike): Point {\n return Point.fromPoint(PointMath.add(this, point))\n }\n\n colinear(p1: PointLike, p2: PointLike, between: boolean = false): boolean {\n return PointMath.colinear(this, p1, p2, between)\n }\n\n copy(): Point {\n return new Point(this.x, this.y)\n }\n\n distance(point: PointLike): number {\n return PointMath.distance(this, point)\n }\n\n equals(point: PointLike): boolean {\n return PointMath.equals(this, point)\n }\n\n isZero(): boolean {\n return PointMath.isZero(this)\n }\n\n apply(fn: (n: number) => number): Point {\n return Point.fromPoint(PointMath.apply(this, fn))\n }\n\n scalarScale(scale: number): Point {\n return Point.fromPoint(PointMath.scalarScale(this, scale))\n }\n\n scale(scale: PointLike): Point {\n return Point.fromPoint(PointMath.scale(this, scale))\n }\n\n subtract(point: PointLike): Point {\n return Point.fromPoint(PointMath.subtract(this, point))\n }\n\n toString(): string {\n return `(${this.x}, ${this.y})`\n }\n}\n\n//==============================================================================\n\n// biome-ignore lint/complexity/noStaticOnlyClass: use static members to provide a namespace\nexport class PointMath {\n static add(p1: PointLike, p2: PointLike): Point {\n return new Point(p1.x + p2.x, p1.y + p2.y)\n }\n\n static apply(p1: PointLike, fn: (number: number) => number): Point {\n return new Point(fn(p1.x), fn(p1.y))\n }\n\n static colinear(p0: PointLike, p1: PointLike, p2: PointLike, between: boolean = false): boolean {\n const d0 = PointMath.distance(p0, p1)\n const d1 = PointMath.distance(p1, p2)\n const d2 = PointMath.distance(p0, p2)\n if (d2 > d0 && d2 > d1) {\n return d0 + d1 < d2 * (1 + POINT_EPSILON)\n } else if (between) {\n return false\n } else if (d1 > d0 && d1 > d2) {\n return d0 + d2 < d1 * (1 + POINT_EPSILON)\n } else {\n return d1 + d2 < d0 * (1 + POINT_EPSILON)\n }\n }\n\n static distance(p1: PointLike, p2: PointLike): number {\n return Math.sqrt((p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2)\n }\n\n static equals(p1: PointLike, p2: PointLike): boolean {\n return (p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2 <= POINT_EPSILON_SQUARED\n }\n\n static isZero(pt: PointLike): boolean {\n return pt.x ** 2 + pt.y ** 2 <= POINT_EPSILON_SQUARED\n }\n\n static scalarScale(p1: PointLike, scale: number): Point {\n return new Point(scale * p1.x, scale * p1.y)\n }\n\n static scale(p1: PointLike, scale: PointLike): Point {\n return new Point(scale.x * p1.x, scale.y * p1.y)\n }\n\n static subtract(p1: PointLike, p2: PointLike): Point {\n return new Point(p1.x - p2.x, p1.y - p2.y)\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nexport const EM_SIZE = 16 // Pixels, sets ``font-size`` in CellDLStylesheet\nexport const EX_SIZE = EM_SIZE / 2\n\nconst CM_PER_INCH = 2.54\nconst MM_PER_INCH = 10 * CM_PER_INCH\n\nconst POINTS_PER_INCH = 72\nconst PICAS_PER_INCH = 6\nconst PIXELS_PER_INCH = 96\n\n//==============================================================================\n\nconst __unit_scaling: Map<string, number | null> = new Map([\n ['px', 1],\n ['in', PIXELS_PER_INCH],\n ['cm', PIXELS_PER_INCH / CM_PER_INCH],\n ['mm', PIXELS_PER_INCH / MM_PER_INCH],\n ['pt', PIXELS_PER_INCH / POINTS_PER_INCH],\n ['pc', PIXELS_PER_INCH / PICAS_PER_INCH],\n ['%', null], // 1/100.0 of viewport dimension\n ['em', EM_SIZE], // em/pt depends on current font size\n ['ex', EX_SIZE] // ex/pt depends on current font size\n])\n\nconst __unit_length_re = /(.*)(em|ex|px|in|cm|mm|pt|pc|%)/\n\nexport function lengthToPixels(length: string | number | null): number | null {\n if (typeof length !== 'string') {\n return length\n }\n const match = length.match(__unit_length_re)\n if (match === null || match.length < 3) {\n return +length\n } else {\n // @ts-expect-error:\n const scaling = __unit_scaling.get(match[2])\n if (scaling !== null && scaling !== undefined) {\n // @ts-expect-error:\n return scaling * +match[1]\n }\n }\n return null\n}\n\nexport function pixelsToLength(pixels: string | number, units: string): string | null {\n const scaling = __unit_scaling.get(units)\n if (scaling !== null && scaling !== undefined) {\n return `${Math.round((+pixels * 1000) / scaling) / 1000}${units}`\n }\n return null\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { PointLike } from '../common/points'\nimport type { StringProperties } from '../common/types'\nimport type { Extent } from '../geometry'\nimport { lengthToPixels } from '../geometry/units'\n\n//==============================================================================\n\nexport const SVG_URI = 'http://www.w3.org/2000/svg'\n\n//==============================================================================\n\nexport interface INodeStyle {\n gradientFill: boolean\n colours: string[]\n direction?: string\n}\n\nexport interface IPathStyle {\n colour: string // defaut is CONNECTION_COLOUR (with opacity of 0.7)\n width: number // default is CONNECTION_WIDTH (but +2 when selected)\n dashed: boolean // set `dashed` class`\n}\n\n//==============================================================================\n\nexport interface LatexMathSvgOptions {\n background?: string|string[]\n border?: string\n 'border-width'?: string\n class?: string\n 'corner-radius'?: string\n 'middle-colour'?: string\n 'min-height'?: string\n 'min-width'?: string\n padding?: string\n 'vertical-align'?: string\n}\n\n//==============================================================================\n\nexport function svgSize(svgDocument: Document): PointLike | null {\n const svgElement = svgDocument.documentElement\n const width = lengthToPixels(svgElement.getAttribute('width'))\n const height = lengthToPixels(svgElement.getAttribute('height'))\n if (width && height) {\n return {\n x: width,\n y: height\n }\n }\n return null\n}\n\nexport function getViewbox(svgElement: SVGGraphicsElement): Extent {\n return svgElement\n .getAttribute('viewBox')\n ?.split(' ')\n .map((n) => +n) as Extent\n}\n\n//==============================================================================\n\ntype Attributes = StringProperties\n\nexport function createSVGElement(tagName: string, attributes: Attributes): SVGElement {\n const element = document.createElementNS(SVG_URI, tagName)\n for (const [key, value] of Object.entries(attributes)) {\n element.setAttribute(key, value)\n }\n return element\n}\n\nfunction attributePairs(attributes: Attributes): string {\n const attributePairs: string[] = []\n for (const [key, value] of Object.entries(attributes)) {\n attributePairs.push(` ${key}=\"${value}\"`)\n }\n return attributePairs.join('')\n}\n\n//==============================================================================\n\nfunction svgCircleAttributes(c: PointLike, r: number, attributes: Attributes): Attributes {\n return Object.assign({}, attributes, {\n cx: `${c.x}`,\n cy: `${c.y}`,\n r: `${r}`\n })\n}\n\nexport function svgCircle(centre: PointLike, radius: number, attributes: Attributes = {}): string {\n return `<circle${attributePairs(svgCircleAttributes(centre, radius, attributes))}/>`\n}\n\nexport function svgCircleElement(centre: PointLike, radius: number, attributes: Attributes = {}): SVGCircleElement {\n return createSVGElement('circle', svgCircleAttributes(centre, radius, attributes)) as SVGCircleElement\n}\n\n//==============================================================================\n\nexport function svgPath(points: PointLike[], attributes: Attributes = {}): string {\n const description = svgPathDescription(points)\n return description ? `<path${attributePairs(attributes)} d=\"${description}\"/>` : ''\n}\n\nexport function svgPathDescription(points: PointLike[]): string {\n const pts = points.map((pt) => `${pt.x},${pt.y}`)\n return pts.length > 1 ? `M${pts.join(' L')}` : ''\n}\n\nexport function svgPathElement(points: PointLike[], attributes: Attributes = {}): SVGPathElement {\n const description = svgPathDescription(points)\n return createSVGElement('path', Object.assign({}, attributes, { d: description })) as SVGPathElement\n}\n\n//==============================================================================\n\nfunction svgRectAttributes(tl: PointLike, br: PointLike, attributes: Attributes): Attributes {\n return Object.assign({}, attributes, {\n x: `${Math.min(tl.x, br.x)}`,\n y: `${Math.min(tl.y, br.y)}`,\n width: `${Math.abs(br.x - tl.x)}`,\n height: `${Math.abs(br.y - tl.y)}`\n })\n}\n\nexport function svgRect(topLeft: PointLike, bottomRight: PointLike, attributes: Attributes = {}): string {\n return `<rect${attributePairs(svgRectAttributes(topLeft, bottomRight, attributes))}/>`\n}\n\nexport function svgRectElement(\n topLeft: PointLike,\n bottomRight: PointLike,\n attributes: StringProperties = {}\n): SVGRectElement {\n return createSVGElement('rect', svgRectAttributes(topLeft, bottomRight, attributes)) as SVGRectElement\n}\n\n//==============================================================================\n//==============================================================================\n\n// Minimal CSS needed for stand-alone image\nexport const LatexStyleRules = [\n 'svg {color: black}', // default value of ``currentColor``\n 'svg a{fill:blue;stroke:blue}',\n // Round the corners of filled background rectangles\n '[data-mml-node=\"mstyle\"]>rect[data-bgcolor=\"true\"]{rx: 8%; ry: 12%}',\n '[data-mml-node=\"merror\"]>g{fill:red;stroke:red}',\n '[data-mml-node=\"merror\"]>rect[data-background]{fill:yellow;stroke:none}',\n '[data-frame],[data-line]{stroke-width:70px;fill:none}',\n '.mjx-dashed{stroke-dasharray:140}',\n '.mjx-dotted{stroke-linecap:round;stroke-dasharray:0,140}',\n 'use[data-c]{stroke-width:3px}'\n].join('')\n\n//==============================================================================\n\nexport function base64Svg(svg: string): string {\n return `data:image/svg+xml;base64,${Buffer.from(svg, 'utf8').toString('base64')}`\n}\n\n//==============================================================================\n\nexport function getSvgImageFromBase64(svgText: string): string|undefined {\n const base64 = svgText.match(/data:image\\/svg\\+xml;base64,(?<base64>.*)/)\n if (base64) {\n return Buffer.from(base64.groups!.base64!, 'base64').toString('utf8')\n }\n}\n//==============================================================================\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\n\nimport { Point } from '../common/points'\nimport { getViewbox } from '../common/svgUtils'\nimport type { Extent } from '../geometry'\n\n//==============================================================================\n\nexport default class PanZoom {\n #panning: boolean = false\n #pointerDownPosition: Point = new Point()\n\n #svgDiagram: SVGSVGElement | null = null\n #containerId: string\n #containerOrigin: Point = new Point()\n #containerSize: Point = new Point()\n #resizeObserver: ResizeObserver\n #validContainer: boolean = true\n\n #minScale: number = 0.125\n #scale: number = 1\n #maxScale: number = 32\n #step: number = 0.05\n\n constructor(container: HTMLElement) {\n // options\n container.addEventListener('wheel', this.#wheelEvent.bind(this), { passive: true })\n this.#containerId = container.id\n this.#containerOrigin = new Point(\n container.offsetLeft + container.clientLeft,\n container.offsetTop + container.clientTop\n )\n if (container.clientWidth === 0 || container.clientHeight === 0) {\n console.error('Container for viewer has no size...')\n this.#validContainer = false\n }\n this.#containerSize = new Point(container.clientWidth, container.clientHeight)\n this.#resizeObserver = new ResizeObserver(this.#resizeObservation.bind(this))\n this.#resizeObserver.observe(container)\n }\n\n get panning() {\n return this.#panning\n }\n\n get scale() {\n return this.#scale\n }\n\n #currentViewbox(): Extent {\n // @ts-expect-error: we have an SVG diagram\n return getViewbox(this.#svgDiagram)\n }\n\n #setViewbox(viewbox: Extent) {\n // @ts-expect-error: we have an SVG diagram\n this.#svgDiagram.setAttribute('viewBox', viewbox.map((n) => String(n)).join(' '))\n }\n\n enable(svgDiagram: SVGSVGElement) {\n if (!this.#validContainer) {\n return\n }\n // Scale large diagrams down to fit container\n let viewbox = getViewbox(svgDiagram)\n if (viewbox[2] * this.#containerSize.y >= viewbox[3] * this.#containerSize.x) {\n // Too wide, so scale width\n this.#scale = this.#containerSize.x / viewbox[2]\n viewbox[1] -= (this.#containerSize.y / this.#scale - viewbox[3]) / 2\n viewbox[3] = this.#containerSize.y / this.#scale\n } else {\n // Too high, so scale height\n this.#scale = this.#containerSize.y / viewbox[3]\n viewbox[0] -= (this.#containerSize.x / this.#scale - viewbox[2]) / 2\n viewbox[2] = this.#containerSize.x / this.#scale\n }\n if (this.#minScale > this.#scale) {\n this.#minScale = this.#scale\n }\n\n // Otherwise centre small diagrams that don't require scaling down\n if (this.#scale >= 1) {\n this.#scale = 1\n viewbox = getViewbox(svgDiagram)\n const delta = this.#containerSize.subtract({ x: viewbox[2], y: viewbox[3] })\n viewbox[0] -= delta.x / 2\n viewbox[1] -= delta.y / 2\n viewbox[2] = this.#containerSize.x\n viewbox[3] = this.#containerSize.y\n }\n\n this.#svgDiagram = svgDiagram\n this.#setViewbox(viewbox)\n this.#panning = false\n }\n\n disable() {\n this.#svgDiagram = null\n this.#panning = false\n this.#scale = 1.0\n }\n\n pointerDown(event: PointerEvent) {\n this.#panning = true\n this.#pointerDownPosition = Point.fromPoint(event)\n }\n\n pointerMove(event: PointerEvent): boolean {\n if (this.#svgDiagram && this.#panning) {\n const delta = this.#pointerDownPosition.subtract(event).scalarScale(1.0 / this.#scale)\n if (!delta.isZero()) {\n const viewbox = this.#currentViewbox()\n viewbox[0] += delta.x\n viewbox[1] += delta.y\n this.#setViewbox(viewbox)\n this.#pointerDownPosition = Point.fromPoint(event)\n return true\n }\n }\n return false\n }\n\n pointerUp(_event: PointerEvent) {\n this.#panning = false\n }\n\n #resizeObservation(entries: ResizeObserverEntry[]) {\n if (this.#svgDiagram) {\n for (const entry of entries) {\n if (entry.target.id === this.#containerId) {\n const containerSize = new Point(entry.contentRect.width, entry.contentRect.height)\n const viewbox = this.#currentViewbox()\n const delta = containerSize.subtract(this.#containerSize)\n if (Math.abs(delta.x * viewbox[3]) >= Math.abs(delta.y * viewbox[2])) {\n this.#scale = containerSize.x / viewbox[2]\n viewbox[1] -= (this.#containerSize.y / this.#scale - viewbox[3]) / 2\n viewbox[3] = containerSize.y / this.#scale\n } else {\n this.#scale = containerSize.y / viewbox[3]\n viewbox[0] -= (this.#containerSize.x / this.#scale - viewbox[2]) / 2\n viewbox[2] = containerSize.x / this.#scale\n }\n this.#containerSize = containerSize\n this.#setViewbox(viewbox)\n }\n }\n }\n }\n\n #wheelEvent(event: WheelEvent) {\n if (this.#svgDiagram) {\n // Normalise in case shift modifier is used on macOS\n const delta = event.deltaY === 0 && event.deltaX ? event.deltaX : event.deltaY\n const wheel = delta < 0 ? 1 : -1\n const toScale = this.#scale * Math.exp((wheel * this.#step) / 3)\n this.#scale = Math.min(Math.max(toScale, this.#minScale), this.#maxScale)\n const viewSize = this.#containerSize.scalarScale(1.0 / this.#scale)\n const viewbox = this.#currentViewbox()\n viewbox[0] +=\n ((viewbox[2] - viewSize.x) * (event.clientX - this.#containerOrigin.x)) / this.#containerSize.x\n viewbox[1] +=\n ((viewbox[3] - viewSize.y) * (event.clientY - this.#containerOrigin.y)) / this.#containerSize.y\n viewbox[2] = viewSize.x\n viewbox[3] = viewSize.y\n this.#setViewbox(viewbox)\n }\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport * as vue from 'vue'\nimport { useTippy } from \"vue-tippy\"\n\n//==============================================================================\n\nimport type { CellDLObject } from '../celldlObjects'\n\nimport type { CellDLModel } from './model'\n\n//==============================================================================\n\nimport PanZoom from './panzoom'\n\n//==============================================================================\n\nconst MAX_POINTER_CLICK_TIME = 200 // milliseconds\n\n//==============================================================================\n\nexport function notifyChanges() {\n document.dispatchEvent(new CustomEvent('file-edited'))\n}\n\n//==============================================================================\n\nexport function getElementId(element: SVGGraphicsElement): string {\n if (element.dataset.parentId) {\n return element.dataset.parentId\n } else if (element.classList.contains('parent-id')) {\n return element.parentElement?.id || ''\n }\n while (element.tagName === 'text') {\n const prevElement = element.previousElementSibling\n if (prevElement) {\n element = prevElement as SVGGraphicsElement\n } else {\n break\n }\n }\n return element.id\n}\n\n//==============================================================================\n\nconst SVG_PANEL_ID = 'svg-panel'\n\nexport class CellDLViewer {\n static instance: CellDLViewer | null = null\n\n #container: HTMLElement | null = null\n #celldlModel: CellDLModel | null = null\n #scopeId: string = ''\n #svgDiagram: SVGSVGElement | null = null\n\n #panning: boolean = false\n #panzoom: PanZoom | null = null\n #pointerMoved: boolean = false\n\n #activeObject: CellDLObject | null = null\n #selectedObject: CellDLObject | null = null\n\n #pointerDownTime: number = 0\n\n #tooltip: vue.Ref|undefined\n #tooltipElement: HTMLElement|undefined\n #tooltipStyle: string = ''\n\n constructor() {\n CellDLViewer.instance = this\n }\n\n mount(svgContainer: HTMLElement, scopeId: string) {\n this.#container = svgContainer\n this.#scopeId = scopeId\n\n // Create a panzoom handler\n this.#panzoom = new PanZoom(this.#container)\n\n // Create a tooltip\n\n const { tippy } = useTippy(this.#container, {\n content: '',\n animation: 'none',\n duration: [0, 0],\n showOnCreate: false,\n hideOnClick: false,\n trigger: 'manual',\n arrow: true,\n followCursor: true\n })\n if (tippy.value) {\n this.#tooltip = tippy\n this.#tooltipElement = this.#tooltip.value.popper\n }\n }\n\n #addPointerEventHandlers() {\n if (this.#container) {\n this.#container.addEventListener('click', this.#pointerClickEvent.bind(this))\n\n this.#container.addEventListener('pointerover', this.#pointerOverEvent.bind(this))\n this.#container.addEventListener('pointerout', this.#pointerOutEvent.bind(this))\n\n this.#container.addEventListener('pointerdown', this.#pointerDownEvent.bind(this))\n this.#container.addEventListener('pointermove', this.#pointerMoveEvent.bind(this))\n this.#container.addEventListener('pointerup', this.#pointerUpEvent.bind(this))\n }\n }\n\n #removePointerEventHandlers() {\n if (this.#container) {\n this.#container.removeEventListener('click', this.#pointerClickEvent.bind(this))\n\n this.#container.removeEventListener('pointerover', this.#pointerOverEvent.bind(this))\n this.#container.removeEventListener('pointerout', this.#pointerOutEvent.bind(this))\n\n this.#container.removeEventListener('pointerdown', this.#pointerDownEvent.bind(this))\n this.#container.removeEventListener('pointermove', this.#pointerMoveEvent.bind(this))\n this.#container.removeEventListener('pointerup', this.#pointerUpEvent.bind(this))\n }\n }\n\n get celldlModel() {\n return this.#celldlModel\n }\n\n get windowSize(): [number, number] {\n if (this.#container) {\n return [this.#container.clientWidth, this.#container.clientHeight]\n }\n return [0, 0]\n }\n\n async viewDiagram(celldlModel: CellDLModel) {\n if (this.#celldlModel !== null) {\n this.closeDiagram(true)\n } else {\n this.#addPointerEventHandlers()\n }\n this.#celldlModel = celldlModel\n this.#svgDiagram = celldlModel.svgDiagram\n\n // Show the model's diagram in the viewer's window\n if (this.#container) {\n // @ts-expect-error: we have a SVG diagram\n this.#container.appendChild(this.#svgDiagram)\n }\n\n // Allow for the diagram to render\n await vue.nextTick()\n\n // Finish setting up the model as we now have SVG elements\n celldlModel.finishSetup()\n\n // Local styles are scoped, so assign the Vue component's scopeId\n // to the diagram and its newly added interactive elements\n if (this.#scopeId !== '') {\n this.#svgDiagram?.setAttribute(this.#scopeId, '')\n this.#svgDiagram?.querySelectorAll('*').forEach(child => {\n child.setAttribute(this.#scopeId, '')\n })\n }\n\n // Enable pan/zoom and toolBars\n // @ts-expect-error: we have a SVG diagram\n this.#panzoom?.enable(this.#svgDiagram)\n\n // Set initial state\n this.#activeObject = null\n this.#pointerMoved = false\n this.#selectedObject = null\n }\n\n closeDiagram(newDiagram: boolean=false) {\n if (this.#celldlModel !== null) {\n if (!newDiagram) {\n this.#removePointerEventHandlers()\n }\n this.#panzoom?.disable()\n if (this.#container) {\n this.#container.removeChild(this.#svgDiagram as Node)\n }\n this.#svgDiagram = null\n this.#celldlModel = null\n }\n }\n\n resetObjectStates() {\n this.#unsetSelectedObject()\n this.#unsetActiveObject()\n }\n\n #setDefaultCursor() {\n this.#svgDiagram?.style.removeProperty('cursor')\n if (this.#container) {\n this.#container.style.setProperty('cursor', 'default')\n }\n }\n\n #hideTooltip() {\n if (this.#tooltip) {\n this.#tooltip.value.hide()\n }\n }\n\n #showTooltip(msg: string, style: string = '') {\n if (msg === '') {\n this.#hideTooltip()\n } else if (this.#tooltip) {\n this.#tooltip.value.setContent(msg)\n this.#tooltip.value.show()\n if (this.#tooltipElement) {\n if (this.#tooltipStyle !== '') {\n this.#tooltipElement.classList.remove(this.#tooltipStyle)\n this.#tooltipStyle = ''\n }\n if (style !== '') {\n const tooltipStyle = `tooltip-${style}`\n this.#tooltipElement.classList.add(tooltipStyle)\n this.#tooltipStyle = tooltipStyle\n }\n }\n }\n }\n\n #emitModelEvent(type: string, object: CellDLObject|undefined=undefined) {\n if (this.#celldlModel) {\n this.#celldlModel.viewerEvent(type, object)\n }\n }\n\n #activateObject(object: CellDLObject, active: boolean) {\n object.activate(active)\n }\n\n #setActiveObject(activeObject: CellDLObject | null) {\n if (activeObject && this.#activeObject !== activeObject) {\n this.#activateObject(activeObject, true)\n this.#activeObject = activeObject\n if (activeObject.tooltip) {\n this.#showTooltip(activeObject.tooltip, 'info')\n }\n this.#emitModelEvent('active', activeObject)\n }\n }\n\n #unsetActiveObject() {\n if (this.#activeObject) {\n this.#activateObject(this.#activeObject, false)\n this.#activeObject = null\n this.#emitModelEvent('unactive')\n }\n }\n\n #setSelectedObject(selectedObject: CellDLObject) {\n this.#unsetSelectedObject() // This will depend upon multi-selection\n if (selectedObject !== null) {\n selectedObject.select(true)\n this.#selectedObject = selectedObject\n this.#emitModelEvent('select', selectedObject)\n }\n }\n\n #unsetSelectedObject() {\n if (this.#selectedObject) {\n this.#emitModelEvent('unselect', this.#selectedObject)\n this.#selectedObject.select(false)\n this.#selectedObject = null\n }\n }\n\n #pointerClickEvent(event: MouseEvent) {\n const element = event.target as SVGGraphicsElement\n if (\n this.#celldlModel === null ||\n !this.#svgDiagram?.contains(element) ||\n // clickTolerance = 1px ? to set pointerMoved?\n (this.#pointerMoved && Date.now() - this.#pointerDownTime > MAX_POINTER_CLICK_TIME)\n ) {\n return\n }\n const clickedObject = this.#celldlModel.objectById(getElementId(element))\n this.#selectionClickEvent(event, element, clickedObject)\n }\n\n #selectionClickEvent(_event: MouseEvent, _element: SVGGraphicsElement, clickedObject: CellDLObject|null) {\n let deselected = false\n if (this.#selectedObject !== null) {\n // Deselect\n deselected = clickedObject === this.#selectedObject\n this.#unsetSelectedObject()\n }\n if (!deselected && clickedObject && clickedObject === this.#activeObject) {\n // Select when active object is clicked\n this.#setSelectedObject(clickedObject)\n }\n }\n\n #notDiagramElement(element: SVGGraphicsElement) {\n return (\n element === this.#svgDiagram ||\n element.id === SVG_PANEL_ID ||\n !this.#svgDiagram?.contains(element)\n )\n }\n\n #pointerOverEvent(event: PointerEvent) {\n if (this.#celldlModel === null) {\n return\n }\n const element = event.target as SVGGraphicsElement\n const currentObject = this.#celldlModel.objectById(getElementId(element))\n\n if (this.#notDiagramElement(element)) {\n this.#hideTooltip()\n if (this.#activeObject && currentObject !== this.#activeObject) {\n this.#unsetActiveObject()\n }\n return\n }\n\n if (this.#activeObject && currentObject !== this.#activeObject) {\n this.#unsetActiveObject()\n }\n if (currentObject) {\n this.#setActiveObject(currentObject)\n }\n }\n\n #pointerOutEvent(event: PointerEvent) {\n const element = event.target as SVGGraphicsElement\n if (element === this.#svgDiagram || !this.#svgDiagram?.contains(element)) {\n if (this.#activeObject) {\n this.#unsetActiveObject()\n }\n }\n }\n\n #pointerDownEvent(event: PointerEvent) {\n this.#pointerMoved = false\n this.#pointerDownTime = Date.now()\n this.#svgDiagram?.style.removeProperty('cursor')\n this.#container?.style.setProperty('cursor', 'grab')\n // @ts-expect-error: `panzoom` is defined\n this.#panzoom.pointerDown(event)\n this.#panning = true\n }\n\n #pointerMoveEvent(event: PointerEvent) {\n if (this.#panning) {\n // @ts-expect-error: `panzoom` is defined\n this.#pointerMoved = this.#panzoom.pointerMove(event) || this.#pointerMoved\n return\n }\n this.#pointerMoved = true\n }\n\n #pointerUpEvent(event: PointerEvent) {\n if (this.#celldlModel === null) {\n return\n }\n if (this.#panning) {\n // @ts-expect-error: `panzoom` is defined\n this.#panzoom.pointerUp(event)\n this.#panning = false\n this.#setDefaultCursor()\n return\n }\n }\n}\n\n//==============================================================================\n//==============================================================================\n","//#region node_modules/@celldl/rdf/dist/Rdf.es.js\nvar e = Object.defineProperty, t = Object.getOwnPropertyDescriptor, n = Object.getOwnPropertyNames, r = Object.prototype.hasOwnProperty, i = (e, t, n) => () => {\n\tif (n) throw n[0];\n\ttry {\n\t\treturn e && (t = e(e = 0)), t;\n\t} catch (e) {\n\t\tthrow n = [e], e;\n\t}\n}, a = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), o = (t, n) => {\n\tlet r = {};\n\tfor (var i in t) e(r, i, {\n\t\tget: t[i],\n\t\tenumerable: !0\n\t});\n\treturn n || e(r, Symbol.toStringTag, { value: \"Module\" }), r;\n}, s = (i, a, o, s) => {\n\tif (a && typeof a == \"object\" || typeof a == \"function\") for (var c = n(a), l = 0, u = c.length, d; l < u; l++) d = c[l], !r.call(i, d) && d !== o && e(i, d, {\n\t\tget: ((e) => a[e]).bind(null, d),\n\t\tenumerable: !(s = t(a, d)) || s.enumerable\n\t});\n\treturn i;\n}, c = (t) => r.call(t, \"module.exports\") ? t[\"module.exports\"] : s(e({}, \"__esModule\", { value: !0 }), t), l = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, y.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, y.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_asyncparseriterator_free(e, 0);\n\t}\n\tnext() {\n\t\treturn H.asyncparseriterator_next(this.__wbg_ptr);\n\t}\n};\nSymbol.dispose && (l.prototype[Symbol.dispose] = l.prototype.free);\nvar u = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, b.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, b.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_blanknode_free(e, 0);\n\t}\n\tequals(e) {\n\t\treturn H.blanknode_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.blanknode_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.blanknode_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.blanknode_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (u.prototype[Symbol.dispose] = u.prototype.free);\nvar d = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, x.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, x.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_defaultgraph_free(e, 0);\n\t}\n\tequals(e) {\n\t\treturn H.defaultgraph_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.defaultgraph_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.defaultgraph_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.defaultgraph_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (d.prototype[Symbol.dispose] = d.prototype.free);\nvar f = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, S.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, S.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_literal_free(e, 0);\n\t}\n\tget datatype() {\n\t\tlet e = H.literal_datatype(this.__wbg_ptr);\n\t\treturn p.__wrap(e);\n\t}\n\tget direction() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.literal_direction(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tequals(e) {\n\t\treturn H.literal_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget language() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.literal_language(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.literal_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.literal_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.literal_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (f.prototype[Symbol.dispose] = f.prototype.free);\nvar p = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, C.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, C.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_namednode_free(e, 0);\n\t}\n\tequals(e) {\n\t\treturn H.namednode_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.namednode_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.namednode_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.namednode_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (p.prototype[Symbol.dispose] = p.prototype.free);\nvar m = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, w.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, w.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_parseriterator_free(e, 0);\n\t}\n\tnext() {\n\t\tlet e = H.parseriterator_next(this.__wbg_ptr);\n\t\tif (e[2]) throw I(e[1]);\n\t\treturn h.__wrap(e[0]);\n\t}\n};\nSymbol.dispose && (m.prototype[Symbol.dispose] = m.prototype.free);\nvar h = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, T.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, T.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_parseriteratorresult_free(e, 0);\n\t}\n\tget done() {\n\t\treturn H.parseriteratorresult_done(this.__wbg_ptr) !== 0;\n\t}\n\tget value() {\n\t\tlet e = H.parseriteratorresult_value(this.__wbg_ptr);\n\t\treturn e === 0 ? void 0 : g.__wrap(e);\n\t}\n};\nSymbol.dispose && (h.prototype[Symbol.dispose] = h.prototype.free);\nvar g = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, E.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, E.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_quad_free(e, 0);\n\t}\n\tequals(e) {\n\t\treturn H.quad_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget graph() {\n\t\treturn H.quad_graph(this.__wbg_ptr);\n\t}\n\tget object() {\n\t\treturn H.quad_object(this.__wbg_ptr);\n\t}\n\tget predicate() {\n\t\treturn H.quad_predicate(this.__wbg_ptr);\n\t}\n\tget subject() {\n\t\treturn H.quad_subject(this.__wbg_ptr);\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.quad_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.quad_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.quad_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (g.prototype[Symbol.dispose] = g.prototype.free);\nvar _ = class {\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, D.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_store_free(e, 0);\n\t}\n\tadd(e) {\n\t\tlet t = H.store_add(this.__wbg_ptr, e);\n\t\tif (t[1]) throw I(t[0]);\n\t}\n\tdelete(e) {\n\t\tlet t = H.store_delete(this.__wbg_ptr, e);\n\t\tif (t[1]) throw I(t[0]);\n\t}\n\tdump(e, t) {\n\t\tlet n, r;\n\t\ttry {\n\t\t\tlet o = H.store_dump(this.__wbg_ptr, e, t);\n\t\t\tvar i = o[0], a = o[1];\n\t\t\tif (o[3]) throw i = 0, a = 0, I(o[2]);\n\t\t\treturn n = i, r = a, M(i, a);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(n, r, 1);\n\t\t}\n\t}\n\thas(e) {\n\t\tlet t = H.store_has(this.__wbg_ptr, e);\n\t\tif (t[2]) throw I(t[1]);\n\t\treturn t[0] !== 0;\n\t}\n\tload(e, t, n, r) {\n\t\tlet i = H.store_load(this.__wbg_ptr, e, t, n, r);\n\t\tif (i[1]) throw I(i[0]);\n\t}\n\tmatch(e, t, n, r) {\n\t\tlet i = H.store_match(this.__wbg_ptr, e, t, n, r);\n\t\tif (i[3]) throw I(i[2]);\n\t\tvar a = k(i[0], i[1]).slice();\n\t\treturn H.__wbindgen_free(i[0], i[1] * 4, 4), a;\n\t}\n\tconstructor(e) {\n\t\tlet t = H.store_new(e);\n\t\tif (t[2]) throw I(t[1]);\n\t\treturn this.__wbg_ptr = t[0], D.register(this, this.__wbg_ptr, this), this;\n\t}\n\tquery(e, t) {\n\t\tlet n = F(e, H.__wbindgen_malloc, H.__wbindgen_realloc), r = V, i = H.store_query(this.__wbg_ptr, n, r, t);\n\t\tif (i[2]) throw I(i[1]);\n\t\treturn I(i[0]);\n\t}\n\tget size() {\n\t\tlet e = H.store_size(this.__wbg_ptr);\n\t\tif (e[2]) throw I(e[1]);\n\t\treturn e[0] >>> 0;\n\t}\n\tupdate(e, t) {\n\t\tlet n = F(e, H.__wbindgen_malloc, H.__wbindgen_realloc), r = V, i = H.store_update(this.__wbg_ptr, n, r, t);\n\t\tif (i[1]) throw I(i[0]);\n\t}\n};\nSymbol.dispose && (_.prototype[Symbol.dispose] = _.prototype.free);\nvar v = class e {\n\tstatic __wrap(t) {\n\t\tlet n = Object.create(e.prototype);\n\t\treturn n.__wbg_ptr = t, O.register(n, n.__wbg_ptr, n), n;\n\t}\n\t__destroy_into_raw() {\n\t\tlet e = this.__wbg_ptr;\n\t\treturn this.__wbg_ptr = 0, O.unregister(this), e;\n\t}\n\tfree() {\n\t\tlet e = this.__destroy_into_raw();\n\t\tH.__wbg_variable_free(e, 0);\n\t}\n\tequals(e) {\n\t\treturn H.variable_equals(this.__wbg_ptr, e) !== 0;\n\t}\n\tget termType() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.variable_term_type(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\ttoString() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.variable_toString(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n\tget value() {\n\t\tlet e, t;\n\t\ttry {\n\t\t\tlet n = H.variable_value(this.__wbg_ptr);\n\t\t\treturn e = n[0], t = n[1], M(n[0], n[1]);\n\t\t} finally {\n\t\t\tH.__wbindgen_free(e, t, 1);\n\t\t}\n\t}\n};\nSymbol.dispose && (v.prototype[Symbol.dispose] = v.prototype.free);\nvar y = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_asyncparseriterator_free(e, 1)), b = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_blanknode_free(e, 1)), x = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_defaultgraph_free(e, 1)), S = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_literal_free(e, 1)), C = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_namednode_free(e, 1)), w = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_parseriterator_free(e, 1)), T = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_parseriteratorresult_free(e, 1)), E = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_quad_free(e, 1)), D = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_store_free(e, 1)), O = typeof FinalizationRegistry > \"u\" ? {\n\tregister: () => {},\n\tunregister: () => {}\n} : new FinalizationRegistry((e) => H.__wbg_variable_free(e, 1));\ntypeof FinalizationRegistry > \"u\" || new FinalizationRegistry((e) => H.__wbindgen_destroy_closure(e.a, e.b));\nfunction k(e, t) {\n\te >>>= 0;\n\tlet n = j(), r = [];\n\tfor (let i = e; i < e + 4 * t; i += 4) r.push(H.__wbindgen_externrefs.get(n.getUint32(i, !0)));\n\treturn H.__externref_drop_slice(e, t), r;\n}\nvar A = null;\nfunction j() {\n\treturn (A === null || A.buffer.detached === !0 || A.buffer.detached === void 0 && A.buffer !== H.memory.buffer) && (A = new DataView(H.memory.buffer)), A;\n}\nfunction M(e, t) {\n\treturn ee(e >>> 0, t);\n}\nvar N = null;\nfunction P() {\n\treturn (N === null || N.byteLength === 0) && (N = new Uint8Array(H.memory.buffer)), N;\n}\nfunction F(e, t, n) {\n\tif (n === void 0) {\n\t\tlet n = B.encode(e), r = t(n.length, 1) >>> 0;\n\t\treturn P().subarray(r, r + n.length).set(n), V = n.length, r;\n\t}\n\tlet r = e.length, i = t(r, 1) >>> 0, a = P(), o = 0;\n\tfor (; o < r; o++) {\n\t\tlet t = e.charCodeAt(o);\n\t\tif (t > 127) break;\n\t\ta[i + o] = t;\n\t}\n\tif (o !== r) {\n\t\to !== 0 && (e = e.slice(o)), i = n(i, r, r = o + e.length * 3, 1) >>> 0;\n\t\tlet t = P().subarray(i + o, i + r), a = B.encodeInto(e, t);\n\t\to += a.written, i = n(i, r, o, 1) >>> 0;\n\t}\n\treturn V = o, i;\n}\nfunction I(e) {\n\tlet t = H.__wbindgen_externrefs.get(e);\n\treturn H.__externref_table_dealloc(e), t;\n}\nvar L = new TextDecoder(\"utf-8\", {\n\tignoreBOM: !0,\n\tfatal: !0\n});\nL.decode();\nvar R = 2146435072, z = 0;\nfunction ee(e, t) {\n\treturn z += t, z >= R && (L = new TextDecoder(\"utf-8\", {\n\t\tignoreBOM: !0,\n\t\tfatal: !0\n\t}), L.decode(), z = t), L.decode(P().subarray(e, e + t));\n}\nvar B = new TextEncoder();\n\"encodeInto\" in B || (B.encodeInto = function(e, t) {\n\tlet n = B.encode(e);\n\treturn t.set(n), {\n\t\tread: e.length,\n\t\twritten: n.length\n\t};\n});\nvar V = 0, H, te = /* @__PURE__ */ a(((e) => {\n\te.byteLength = c, e.toByteArray = u, e.fromByteArray = p;\n\tfor (var t = [], n = [], r = typeof Uint8Array < \"u\" ? Uint8Array : Array, i = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", a = 0, o = i.length; a < o; ++a) t[a] = i[a], n[i.charCodeAt(a)] = a;\n\tn[45] = 62, n[95] = 63;\n\tfunction s(e) {\n\t\tvar t = e.length;\n\t\tif (t % 4 > 0) throw Error(\"Invalid string. Length must be a multiple of 4\");\n\t\tvar n = e.indexOf(\"=\");\n\t\tn === -1 && (n = t);\n\t\tvar r = n === t ? 0 : 4 - n % 4;\n\t\treturn [n, r];\n\t}\n\tfunction c(e) {\n\t\tvar t = s(e), n = t[0], r = t[1];\n\t\treturn (n + r) * 3 / 4 - r;\n\t}\n\tfunction l(e, t, n) {\n\t\treturn (t + n) * 3 / 4 - n;\n\t}\n\tfunction u(e) {\n\t\tvar t, i = s(e), a = i[0], o = i[1], c = new r(l(e, a, o)), u = 0, d = o > 0 ? a - 4 : a, f;\n\t\tfor (f = 0; f < d; f += 4) t = n[e.charCodeAt(f)] << 18 | n[e.charCodeAt(f + 1)] << 12 | n[e.charCodeAt(f + 2)] << 6 | n[e.charCodeAt(f + 3)], c[u++] = t >> 16 & 255, c[u++] = t >> 8 & 255, c[u++] = t & 255;\n\t\treturn o === 2 && (t = n[e.charCodeAt(f)] << 2 | n[e.charCodeAt(f + 1)] >> 4, c[u++] = t & 255), o === 1 && (t = n[e.charCodeAt(f)] << 10 | n[e.charCodeAt(f + 1)] << 4 | n[e.charCodeAt(f + 2)] >> 2, c[u++] = t >> 8 & 255, c[u++] = t & 255), c;\n\t}\n\tfunction d(e) {\n\t\treturn t[e >> 18 & 63] + t[e >> 12 & 63] + t[e >> 6 & 63] + t[e & 63];\n\t}\n\tfunction f(e, t, n) {\n\t\tfor (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(d(r));\n\t\treturn i.join(\"\");\n\t}\n\tfunction p(e) {\n\t\tfor (var n, r = e.length, i = r % 3, a = [], o = 16383, s = 0, c = r - i; s < c; s += o) a.push(f(e, s, s + o > c ? c : s + o));\n\t\treturn i === 1 ? (n = e[r - 1], a.push(t[n >> 2] + t[n << 4 & 63] + \"==\")) : i === 2 && (n = (e[r - 2] << 8) + e[r - 1], a.push(t[n >> 10] + t[n >> 4 & 63] + t[n << 2 & 63] + \"=\")), a.join(\"\");\n\t}\n})), ne = /* @__PURE__ */ a(((e) => {\n\te.read = function(e, t, n, r, i) {\n\t\tvar a, o, s = i * 8 - r - 1, c = (1 << s) - 1, l = c >> 1, u = -7, d = n ? i - 1 : 0, f = n ? -1 : 1, p = e[t + d];\n\t\tfor (d += f, a = p & (1 << -u) - 1, p >>= -u, u += s; u > 0; a = a * 256 + e[t + d], d += f, u -= 8);\n\t\tfor (o = a & (1 << -u) - 1, a >>= -u, u += r; u > 0; o = o * 256 + e[t + d], d += f, u -= 8);\n\t\tif (a === 0) a = 1 - l;\n\t\telse if (a === c) return o ? NaN : (p ? -1 : 1) * Infinity;\n\t\telse o += 2 ** r, a -= l;\n\t\treturn (p ? -1 : 1) * o * 2 ** (a - r);\n\t}, e.write = function(e, t, n, r, i, a) {\n\t\tvar o, s, c, l = a * 8 - i - 1, u = (1 << l) - 1, d = u >> 1, f = i === 23 ? 2 ** -24 - 2 ** -77 : 0, p = r ? 0 : a - 1, m = r ? 1 : -1, h = +(t < 0 || t === 0 && 1 / t < 0);\n\t\tfor (t = Math.abs(t), isNaN(t) || t === Infinity ? (s = +!!isNaN(t), o = u) : (o = Math.floor(Math.log(t) / Math.LN2), t * (c = 2 ** -o) < 1 && (o--, c *= 2), o + d >= 1 ? t += f / c : t += f * 2 ** (1 - d), t * c >= 2 && (o++, c /= 2), o + d >= u ? (s = 0, o = u) : o + d >= 1 ? (s = (t * c - 1) * 2 ** i, o += d) : (s = t * 2 ** (d - 1) * 2 ** i, o = 0)); i >= 8; e[n + p] = s & 255, p += m, s /= 256, i -= 8);\n\t\tfor (o = o << i | s, l += i; l > 0; e[n + p] = o & 255, p += m, o /= 256, l -= 8);\n\t\te[n + p - m] |= h * 128;\n\t};\n})), U = /* @__PURE__ */ a(((e) => {\n\tvar t = te(), n = ne(), r = typeof Symbol == \"function\" && typeof Symbol.for == \"function\" ? Symbol.for(\"nodejs.util.inspect.custom\") : null;\n\te.Buffer = s, e.SlowBuffer = v, e.INSPECT_MAX_BYTES = 50;\n\tvar i = 2147483647;\n\te.kMaxLength = i, s.TYPED_ARRAY_SUPPORT = a(), !s.TYPED_ARRAY_SUPPORT && typeof console < \"u\" && typeof console.error == \"function\" && console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\n\tfunction a() {\n\t\ttry {\n\t\t\tlet e = /* @__PURE__ */ new Uint8Array(1), t = { foo: function() {\n\t\t\t\treturn 42;\n\t\t\t} };\n\t\t\treturn Object.setPrototypeOf(t, Uint8Array.prototype), Object.setPrototypeOf(e, t), e.foo() === 42;\n\t\t} catch {\n\t\t\treturn !1;\n\t\t}\n\t}\n\tObject.defineProperty(s.prototype, \"parent\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\tif (s.isBuffer(this)) return this.buffer;\n\t\t}\n\t}), Object.defineProperty(s.prototype, \"offset\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\tif (s.isBuffer(this)) return this.byteOffset;\n\t\t}\n\t});\n\tfunction o(e) {\n\t\tif (e > i) throw RangeError(\"The value \\\"\" + e + \"\\\" is invalid for option \\\"size\\\"\");\n\t\tlet t = new Uint8Array(e);\n\t\treturn Object.setPrototypeOf(t, s.prototype), t;\n\t}\n\tfunction s(e, t, n) {\n\t\tif (typeof e == \"number\") {\n\t\t\tif (typeof t == \"string\") throw TypeError(\"The \\\"string\\\" argument must be of type string. Received type number\");\n\t\t\treturn d(e);\n\t\t}\n\t\treturn c(e, t, n);\n\t}\n\ts.poolSize = 8192;\n\tfunction c(e, t, n) {\n\t\tif (typeof e == \"string\") return f(e, t);\n\t\tif (ArrayBuffer.isView(e)) return m(e);\n\t\tif (e == null) throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof e);\n\t\tif (Y(e, ArrayBuffer) || e && Y(e.buffer, ArrayBuffer) || typeof SharedArrayBuffer < \"u\" && (Y(e, SharedArrayBuffer) || e && Y(e.buffer, SharedArrayBuffer))) return h(e, t, n);\n\t\tif (typeof e == \"number\") throw TypeError(\"The \\\"value\\\" argument must not be of type number. Received type number\");\n\t\tlet r = e.valueOf && e.valueOf();\n\t\tif (r != null && r !== e) return s.from(r, t, n);\n\t\tlet i = g(e);\n\t\tif (i) return i;\n\t\tif (typeof Symbol < \"u\" && Symbol.toPrimitive != null && typeof e[Symbol.toPrimitive] == \"function\") return s.from(e[Symbol.toPrimitive](\"string\"), t, n);\n\t\tthrow TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof e);\n\t}\n\ts.from = function(e, t, n) {\n\t\treturn c(e, t, n);\n\t}, Object.setPrototypeOf(s.prototype, Uint8Array.prototype), Object.setPrototypeOf(s, Uint8Array);\n\tfunction l(e) {\n\t\tif (typeof e != \"number\") throw TypeError(\"\\\"size\\\" argument must be of type number\");\n\t\tif (e < 0) throw RangeError(\"The value \\\"\" + e + \"\\\" is invalid for option \\\"size\\\"\");\n\t}\n\tfunction u(e, t, n) {\n\t\treturn l(e), e <= 0 || t === void 0 ? o(e) : typeof n == \"string\" ? o(e).fill(t, n) : o(e).fill(t);\n\t}\n\ts.alloc = function(e, t, n) {\n\t\treturn u(e, t, n);\n\t};\n\tfunction d(e) {\n\t\treturn l(e), o(e < 0 ? 0 : _(e) | 0);\n\t}\n\ts.allocUnsafe = function(e) {\n\t\treturn d(e);\n\t}, s.allocUnsafeSlow = function(e) {\n\t\treturn d(e);\n\t};\n\tfunction f(e, t) {\n\t\tif ((typeof t != \"string\" || t === \"\") && (t = \"utf8\"), !s.isEncoding(t)) throw TypeError(\"Unknown encoding: \" + t);\n\t\tlet n = y(e, t) | 0, r = o(n), i = r.write(e, t);\n\t\treturn i !== n && (r = r.slice(0, i)), r;\n\t}\n\tfunction p(e) {\n\t\tlet t = e.length < 0 ? 0 : _(e.length) | 0, n = o(t);\n\t\tfor (let r = 0; r < t; r += 1) n[r] = e[r] & 255;\n\t\treturn n;\n\t}\n\tfunction m(e) {\n\t\tif (Y(e, Uint8Array)) {\n\t\t\tlet t = new Uint8Array(e);\n\t\t\treturn h(t.buffer, t.byteOffset, t.byteLength);\n\t\t}\n\t\treturn p(e);\n\t}\n\tfunction h(e, t, n) {\n\t\tif (t < 0 || e.byteLength < t) throw RangeError(\"\\\"offset\\\" is outside of buffer bounds\");\n\t\tif (e.byteLength < t + (n || 0)) throw RangeError(\"\\\"length\\\" is outside of buffer bounds\");\n\t\tlet r;\n\t\treturn r = t === void 0 && n === void 0 ? new Uint8Array(e) : n === void 0 ? new Uint8Array(e, t) : new Uint8Array(e, t, n), Object.setPrototypeOf(r, s.prototype), r;\n\t}\n\tfunction g(e) {\n\t\tif (s.isBuffer(e)) {\n\t\t\tlet t = _(e.length) | 0, n = o(t);\n\t\t\treturn n.length === 0 || e.copy(n, 0, 0, t), n;\n\t\t}\n\t\tif (e.length !== void 0) return typeof e.length != \"number\" || X(e.length) ? o(0) : p(e);\n\t\tif (e.type === \"Buffer\" && Array.isArray(e.data)) return p(e.data);\n\t}\n\tfunction _(e) {\n\t\tif (e >= i) throw RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + i.toString(16) + \" bytes\");\n\t\treturn e | 0;\n\t}\n\tfunction v(e) {\n\t\treturn +e != e && (e = 0), s.alloc(+e);\n\t}\n\ts.isBuffer = function(e) {\n\t\treturn e != null && e._isBuffer === !0 && e !== s.prototype;\n\t}, s.compare = function(e, t) {\n\t\tif (Y(e, Uint8Array) && (e = s.from(e, e.offset, e.byteLength)), Y(t, Uint8Array) && (t = s.from(t, t.offset, t.byteLength)), !s.isBuffer(e) || !s.isBuffer(t)) throw TypeError(\"The \\\"buf1\\\", \\\"buf2\\\" arguments must be one of type Buffer or Uint8Array\");\n\t\tif (e === t) return 0;\n\t\tlet n = e.length, r = t.length;\n\t\tfor (let i = 0, a = Math.min(n, r); i < a; ++i) if (e[i] !== t[i]) {\n\t\t\tn = e[i], r = t[i];\n\t\t\tbreak;\n\t\t}\n\t\treturn n < r ? -1 : +(r < n);\n\t}, s.isEncoding = function(e) {\n\t\tswitch (String(e).toLowerCase()) {\n\t\t\tcase \"hex\":\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\":\n\t\t\tcase \"ascii\":\n\t\t\tcase \"latin1\":\n\t\t\tcase \"binary\":\n\t\t\tcase \"base64\":\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\": return !0;\n\t\t\tdefault: return !1;\n\t\t}\n\t}, s.concat = function(e, t) {\n\t\tif (!Array.isArray(e)) throw TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n\t\tif (e.length === 0) return s.alloc(0);\n\t\tlet n;\n\t\tif (t === void 0) for (t = 0, n = 0; n < e.length; ++n) t += e[n].length;\n\t\tlet r = s.allocUnsafe(t), i = 0;\n\t\tfor (n = 0; n < e.length; ++n) {\n\t\t\tlet t = e[n];\n\t\t\tif (Y(t, Uint8Array)) i + t.length > r.length ? (s.isBuffer(t) || (t = s.from(t)), t.copy(r, i)) : Uint8Array.prototype.set.call(r, t, i);\n\t\t\telse if (s.isBuffer(t)) t.copy(r, i);\n\t\t\telse throw TypeError(\"\\\"list\\\" argument must be an Array of Buffers\");\n\t\t\ti += t.length;\n\t\t}\n\t\treturn r;\n\t};\n\tfunction y(e, t) {\n\t\tif (s.isBuffer(e)) return e.length;\n\t\tif (ArrayBuffer.isView(e) || Y(e, ArrayBuffer)) return e.byteLength;\n\t\tif (typeof e != \"string\") throw TypeError(\"The \\\"string\\\" argument must be one of type string, Buffer, or ArrayBuffer. Received type \" + typeof e);\n\t\tlet n = e.length, r = arguments.length > 2 && arguments[2] === !0;\n\t\tif (!r && n === 0) return 0;\n\t\tlet i = !1;\n\t\tfor (;;) switch (t) {\n\t\t\tcase \"ascii\":\n\t\t\tcase \"latin1\":\n\t\t\tcase \"binary\": return n;\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\": return se(e).length;\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\": return n * 2;\n\t\t\tcase \"hex\": return n >>> 1;\n\t\t\tcase \"base64\": return ue(e).length;\n\t\t\tdefault:\n\t\t\t\tif (i) return r ? -1 : se(e).length;\n\t\t\t\tt = (\"\" + t).toLowerCase(), i = !0;\n\t\t}\n\t}\n\ts.byteLength = y;\n\tfunction b(e, t, n) {\n\t\tlet r = !1;\n\t\tif ((t === void 0 || t < 0) && (t = 0), t > this.length || ((n === void 0 || n > this.length) && (n = this.length), n <= 0) || (n >>>= 0, t >>>= 0, n <= t)) return \"\";\n\t\tfor (e ||= \"utf8\";;) switch (e) {\n\t\t\tcase \"hex\": return F(this, t, n);\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\": return A(this, t, n);\n\t\t\tcase \"ascii\": return N(this, t, n);\n\t\t\tcase \"latin1\":\n\t\t\tcase \"binary\": return P(this, t, n);\n\t\t\tcase \"base64\": return k(this, t, n);\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\": return I(this, t, n);\n\t\t\tdefault:\n\t\t\t\tif (r) throw TypeError(\"Unknown encoding: \" + e);\n\t\t\t\te = (e + \"\").toLowerCase(), r = !0;\n\t\t}\n\t}\n\ts.prototype._isBuffer = !0;\n\tfunction x(e, t, n) {\n\t\tlet r = e[t];\n\t\te[t] = e[n], e[n] = r;\n\t}\n\ts.prototype.swap16 = function() {\n\t\tlet e = this.length;\n\t\tif (e % 2 != 0) throw RangeError(\"Buffer size must be a multiple of 16-bits\");\n\t\tfor (let t = 0; t < e; t += 2) x(this, t, t + 1);\n\t\treturn this;\n\t}, s.prototype.swap32 = function() {\n\t\tlet e = this.length;\n\t\tif (e % 4 != 0) throw RangeError(\"Buffer size must be a multiple of 32-bits\");\n\t\tfor (let t = 0; t < e; t += 4) x(this, t, t + 3), x(this, t + 1, t + 2);\n\t\treturn this;\n\t}, s.prototype.swap64 = function() {\n\t\tlet e = this.length;\n\t\tif (e % 8 != 0) throw RangeError(\"Buffer size must be a multiple of 64-bits\");\n\t\tfor (let t = 0; t < e; t += 8) x(this, t, t + 7), x(this, t + 1, t + 6), x(this, t + 2, t + 5), x(this, t + 3, t + 4);\n\t\treturn this;\n\t}, s.prototype.toString = function() {\n\t\tlet e = this.length;\n\t\treturn e === 0 ? \"\" : arguments.length === 0 ? A(this, 0, e) : b.apply(this, arguments);\n\t}, s.prototype.toLocaleString = s.prototype.toString, s.prototype.equals = function(e) {\n\t\tif (!s.isBuffer(e)) throw TypeError(\"Argument must be a Buffer\");\n\t\treturn this === e || s.compare(this, e) === 0;\n\t}, s.prototype.inspect = function() {\n\t\tlet t = \"\", n = e.INSPECT_MAX_BYTES;\n\t\treturn t = this.toString(\"hex\", 0, n).replace(/(.{2})/g, \"$1 \").trim(), this.length > n && (t += \" ... \"), \"<Buffer \" + t + \">\";\n\t}, r && (s.prototype[r] = s.prototype.inspect), s.prototype.compare = function(e, t, n, r, i) {\n\t\tif (Y(e, Uint8Array) && (e = s.from(e, e.offset, e.byteLength)), !s.isBuffer(e)) throw TypeError(\"The \\\"target\\\" argument must be one of type Buffer or Uint8Array. Received type \" + typeof e);\n\t\tif (t === void 0 && (t = 0), n === void 0 && (n = e ? e.length : 0), r === void 0 && (r = 0), i === void 0 && (i = this.length), t < 0 || n > e.length || r < 0 || i > this.length) throw RangeError(\"out of range index\");\n\t\tif (r >= i && t >= n) return 0;\n\t\tif (r >= i) return -1;\n\t\tif (t >= n) return 1;\n\t\tif (t >>>= 0, n >>>= 0, r >>>= 0, i >>>= 0, this === e) return 0;\n\t\tlet a = i - r, o = n - t, c = Math.min(a, o), l = this.slice(r, i), u = e.slice(t, n);\n\t\tfor (let e = 0; e < c; ++e) if (l[e] !== u[e]) {\n\t\t\ta = l[e], o = u[e];\n\t\t\tbreak;\n\t\t}\n\t\treturn a < o ? -1 : +(o < a);\n\t};\n\tfunction S(e, t, n, r, i) {\n\t\tif (e.length === 0) return -1;\n\t\tif (typeof n == \"string\" ? (r = n, n = 0) : n > 2147483647 ? n = 2147483647 : n < -2147483648 && (n = -2147483648), n = +n, X(n) && (n = i ? 0 : e.length - 1), n < 0 && (n = e.length + n), n >= e.length) {\n\t\t\tif (i) return -1;\n\t\t\tn = e.length - 1;\n\t\t} else if (n < 0) {\n\t\t\tif (i) n = 0;\n\t\t\telse return -1;\n\t\t}\n\t\tif (typeof t == \"string\" && (t = s.from(t, r)), s.isBuffer(t)) return t.length === 0 ? -1 : C(e, t, n, r, i);\n\t\tif (typeof t == \"number\") return t &= 255, typeof Uint8Array.prototype.indexOf == \"function\" ? i ? Uint8Array.prototype.indexOf.call(e, t, n) : Uint8Array.prototype.lastIndexOf.call(e, t, n) : C(e, [t], n, r, i);\n\t\tthrow TypeError(\"val must be string, number or Buffer\");\n\t}\n\tfunction C(e, t, n, r, i) {\n\t\tlet a = 1, o = e.length, s = t.length;\n\t\tif (r !== void 0 && (r = String(r).toLowerCase(), r === \"ucs2\" || r === \"ucs-2\" || r === \"utf16le\" || r === \"utf-16le\")) {\n\t\t\tif (e.length < 2 || t.length < 2) return -1;\n\t\t\ta = 2, o /= 2, s /= 2, n /= 2;\n\t\t}\n\t\tfunction c(e, t) {\n\t\t\treturn a === 1 ? e[t] : e.readUInt16BE(t * a);\n\t\t}\n\t\tlet l;\n\t\tif (i) {\n\t\t\tlet r = -1;\n\t\t\tfor (l = n; l < o; l++) if (c(e, l) === c(t, r === -1 ? 0 : l - r)) {\n\t\t\t\tif (r === -1 && (r = l), l - r + 1 === s) return r * a;\n\t\t\t} else r !== -1 && (l -= l - r), r = -1;\n\t\t} else for (n + s > o && (n = o - s), l = n; l >= 0; l--) {\n\t\t\tlet n = !0;\n\t\t\tfor (let r = 0; r < s; r++) if (c(e, l + r) !== c(t, r)) {\n\t\t\t\tn = !1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (n) return l;\n\t\t}\n\t\treturn -1;\n\t}\n\ts.prototype.includes = function(e, t, n) {\n\t\treturn this.indexOf(e, t, n) !== -1;\n\t}, s.prototype.indexOf = function(e, t, n) {\n\t\treturn S(this, e, t, n, !0);\n\t}, s.prototype.lastIndexOf = function(e, t, n) {\n\t\treturn S(this, e, t, n, !1);\n\t};\n\tfunction w(e, t, n, r) {\n\t\tn = Number(n) || 0;\n\t\tlet i = e.length - n;\n\t\tr ? (r = Number(r), r > i && (r = i)) : r = i;\n\t\tlet a = t.length;\n\t\tr > a / 2 && (r = a / 2);\n\t\tlet o;\n\t\tfor (o = 0; o < r; ++o) {\n\t\t\tlet r = parseInt(t.substr(o * 2, 2), 16);\n\t\t\tif (X(r)) return o;\n\t\t\te[n + o] = r;\n\t\t}\n\t\treturn o;\n\t}\n\tfunction T(e, t, n, r) {\n\t\treturn J(se(t, e.length - n), e, n, r);\n\t}\n\tfunction E(e, t, n, r) {\n\t\treturn J(ce(t), e, n, r);\n\t}\n\tfunction D(e, t, n, r) {\n\t\treturn J(ue(t), e, n, r);\n\t}\n\tfunction O(e, t, n, r) {\n\t\treturn J(le(t, e.length - n), e, n, r);\n\t}\n\ts.prototype.write = function(e, t, n, r) {\n\t\tif (t === void 0) r = \"utf8\", n = this.length, t = 0;\n\t\telse if (n === void 0 && typeof t == \"string\") r = t, n = this.length, t = 0;\n\t\telse if (isFinite(t)) t >>>= 0, isFinite(n) ? (n >>>= 0, r === void 0 && (r = \"utf8\")) : (r = n, n = void 0);\n\t\telse throw Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n\t\tlet i = this.length - t;\n\t\tif ((n === void 0 || n > i) && (n = i), e.length > 0 && (n < 0 || t < 0) || t > this.length) throw RangeError(\"Attempt to write outside buffer bounds\");\n\t\tr ||= \"utf8\";\n\t\tlet a = !1;\n\t\tfor (;;) switch (r) {\n\t\t\tcase \"hex\": return w(this, e, t, n);\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\": return T(this, e, t, n);\n\t\t\tcase \"ascii\":\n\t\t\tcase \"latin1\":\n\t\t\tcase \"binary\": return E(this, e, t, n);\n\t\t\tcase \"base64\": return D(this, e, t, n);\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\": return O(this, e, t, n);\n\t\t\tdefault:\n\t\t\t\tif (a) throw TypeError(\"Unknown encoding: \" + r);\n\t\t\t\tr = (\"\" + r).toLowerCase(), a = !0;\n\t\t}\n\t}, s.prototype.toJSON = function() {\n\t\treturn {\n\t\t\ttype: \"Buffer\",\n\t\t\tdata: Array.prototype.slice.call(this._arr || this, 0)\n\t\t};\n\t};\n\tfunction k(e, n, r) {\n\t\treturn n === 0 && r === e.length ? t.fromByteArray(e) : t.fromByteArray(e.slice(n, r));\n\t}\n\tfunction A(e, t, n) {\n\t\tn = Math.min(e.length, n);\n\t\tlet r = [], i = t;\n\t\tfor (; i < n;) {\n\t\t\tlet t = e[i], a = null, o = t > 239 ? 4 : t > 223 ? 3 : t > 191 ? 2 : 1;\n\t\t\tif (i + o <= n) {\n\t\t\t\tlet n, r, s, c;\n\t\t\t\tswitch (o) {\n\t\t\t\t\tcase 1:\n\t\t\t\t\t\tt < 128 && (a = t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 2:\n\t\t\t\t\t\tn = e[i + 1], (n & 192) == 128 && (c = (t & 31) << 6 | n & 63, c > 127 && (a = c));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 3:\n\t\t\t\t\t\tn = e[i + 1], r = e[i + 2], (n & 192) == 128 && (r & 192) == 128 && (c = (t & 15) << 12 | (n & 63) << 6 | r & 63, c > 2047 && (c < 55296 || c > 57343) && (a = c));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 4: n = e[i + 1], r = e[i + 2], s = e[i + 3], (n & 192) == 128 && (r & 192) == 128 && (s & 192) == 128 && (c = (t & 15) << 18 | (n & 63) << 12 | (r & 63) << 6 | s & 63, c > 65535 && c < 1114112 && (a = c));\n\t\t\t\t}\n\t\t\t}\n\t\t\ta === null ? (a = 65533, o = 1) : a > 65535 && (a -= 65536, r.push(a >>> 10 & 1023 | 55296), a = 56320 | a & 1023), r.push(a), i += o;\n\t\t}\n\t\treturn M(r);\n\t}\n\tvar j = 4096;\n\tfunction M(e) {\n\t\tlet t = e.length;\n\t\tif (t <= j) return String.fromCharCode.apply(String, e);\n\t\tlet n = \"\", r = 0;\n\t\tfor (; r < t;) n += String.fromCharCode.apply(String, e.slice(r, r += j));\n\t\treturn n;\n\t}\n\tfunction N(e, t, n) {\n\t\tlet r = \"\";\n\t\tn = Math.min(e.length, n);\n\t\tfor (let i = t; i < n; ++i) r += String.fromCharCode(e[i] & 127);\n\t\treturn r;\n\t}\n\tfunction P(e, t, n) {\n\t\tlet r = \"\";\n\t\tn = Math.min(e.length, n);\n\t\tfor (let i = t; i < n; ++i) r += String.fromCharCode(e[i]);\n\t\treturn r;\n\t}\n\tfunction F(e, t, n) {\n\t\tlet r = e.length;\n\t\t(!t || t < 0) && (t = 0), (!n || n < 0 || n > r) && (n = r);\n\t\tlet i = \"\";\n\t\tfor (let r = t; r < n; ++r) i += de[e[r]];\n\t\treturn i;\n\t}\n\tfunction I(e, t, n) {\n\t\tlet r = e.slice(t, n), i = \"\";\n\t\tfor (let e = 0; e < r.length - 1; e += 2) i += String.fromCharCode(r[e] + r[e + 1] * 256);\n\t\treturn i;\n\t}\n\ts.prototype.slice = function(e, t) {\n\t\tlet n = this.length;\n\t\te = ~~e, t = t === void 0 ? n : ~~t, e < 0 ? (e += n, e < 0 && (e = 0)) : e > n && (e = n), t < 0 ? (t += n, t < 0 && (t = 0)) : t > n && (t = n), t < e && (t = e);\n\t\tlet r = this.subarray(e, t);\n\t\treturn Object.setPrototypeOf(r, s.prototype), r;\n\t};\n\tfunction L(e, t, n) {\n\t\tif (e % 1 != 0 || e < 0) throw RangeError(\"offset is not uint\");\n\t\tif (e + t > n) throw RangeError(\"Trying to access beyond buffer length\");\n\t}\n\ts.prototype.readUintLE = s.prototype.readUIntLE = function(e, t, n) {\n\t\te >>>= 0, t >>>= 0, n || L(e, t, this.length);\n\t\tlet r = this[e], i = 1, a = 0;\n\t\tfor (; ++a < t && (i *= 256);) r += this[e + a] * i;\n\t\treturn r;\n\t}, s.prototype.readUintBE = s.prototype.readUIntBE = function(e, t, n) {\n\t\te >>>= 0, t >>>= 0, n || L(e, t, this.length);\n\t\tlet r = this[e + --t], i = 1;\n\t\tfor (; t > 0 && (i *= 256);) r += this[e + --t] * i;\n\t\treturn r;\n\t}, s.prototype.readUint8 = s.prototype.readUInt8 = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 1, this.length), this[e];\n\t}, s.prototype.readUint16LE = s.prototype.readUInt16LE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 2, this.length), this[e] | this[e + 1] << 8;\n\t}, s.prototype.readUint16BE = s.prototype.readUInt16BE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 2, this.length), this[e] << 8 | this[e + 1];\n\t}, s.prototype.readUint32LE = s.prototype.readUInt32LE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + this[e + 3] * 16777216;\n\t}, s.prototype.readUint32BE = s.prototype.readUInt32BE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), this[e] * 16777216 + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);\n\t}, s.prototype.readBigUInt64LE = fe(function(e) {\n\t\te >>>= 0, q(e, \"offset\");\n\t\tlet t = this[e], n = this[e + 7];\n\t\t(t === void 0 || n === void 0) && ie(e, this.length - 8);\n\t\tlet r = t + this[++e] * 256 + this[++e] * 2 ** 16 + this[++e] * 2 ** 24, i = this[++e] + this[++e] * 256 + this[++e] * 2 ** 16 + n * 2 ** 24;\n\t\treturn BigInt(r) + (BigInt(i) << BigInt(32));\n\t}), s.prototype.readBigUInt64BE = fe(function(e) {\n\t\te >>>= 0, q(e, \"offset\");\n\t\tlet t = this[e], n = this[e + 7];\n\t\t(t === void 0 || n === void 0) && ie(e, this.length - 8);\n\t\tlet r = t * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 256 + this[++e], i = this[++e] * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 256 + n;\n\t\treturn (BigInt(r) << BigInt(32)) + BigInt(i);\n\t}), s.prototype.readIntLE = function(e, t, n) {\n\t\te >>>= 0, t >>>= 0, n || L(e, t, this.length);\n\t\tlet r = this[e], i = 1, a = 0;\n\t\tfor (; ++a < t && (i *= 256);) r += this[e + a] * i;\n\t\treturn i *= 128, r >= i && (r -= 2 ** (8 * t)), r;\n\t}, s.prototype.readIntBE = function(e, t, n) {\n\t\te >>>= 0, t >>>= 0, n || L(e, t, this.length);\n\t\tlet r = t, i = 1, a = this[e + --r];\n\t\tfor (; r > 0 && (i *= 256);) a += this[e + --r] * i;\n\t\treturn i *= 128, a >= i && (a -= 2 ** (8 * t)), a;\n\t}, s.prototype.readInt8 = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 1, this.length), this[e] & 128 ? (255 - this[e] + 1) * -1 : this[e];\n\t}, s.prototype.readInt16LE = function(e, t) {\n\t\te >>>= 0, t || L(e, 2, this.length);\n\t\tlet n = this[e] | this[e + 1] << 8;\n\t\treturn n & 32768 ? n | 4294901760 : n;\n\t}, s.prototype.readInt16BE = function(e, t) {\n\t\te >>>= 0, t || L(e, 2, this.length);\n\t\tlet n = this[e + 1] | this[e] << 8;\n\t\treturn n & 32768 ? n | 4294901760 : n;\n\t}, s.prototype.readInt32LE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;\n\t}, s.prototype.readInt32BE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];\n\t}, s.prototype.readBigInt64LE = fe(function(e) {\n\t\te >>>= 0, q(e, \"offset\");\n\t\tlet t = this[e], n = this[e + 7];\n\t\t(t === void 0 || n === void 0) && ie(e, this.length - 8);\n\t\tlet r = this[e + 4] + this[e + 5] * 256 + this[e + 6] * 2 ** 16 + (n << 24);\n\t\treturn (BigInt(r) << BigInt(32)) + BigInt(t + this[++e] * 256 + this[++e] * 2 ** 16 + this[++e] * 2 ** 24);\n\t}), s.prototype.readBigInt64BE = fe(function(e) {\n\t\te >>>= 0, q(e, \"offset\");\n\t\tlet t = this[e], n = this[e + 7];\n\t\t(t === void 0 || n === void 0) && ie(e, this.length - 8);\n\t\tlet r = (t << 24) + this[++e] * 2 ** 16 + this[++e] * 256 + this[++e];\n\t\treturn (BigInt(r) << BigInt(32)) + BigInt(this[++e] * 2 ** 24 + this[++e] * 2 ** 16 + this[++e] * 256 + n);\n\t}), s.prototype.readFloatLE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), n.read(this, e, !0, 23, 4);\n\t}, s.prototype.readFloatBE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 4, this.length), n.read(this, e, !1, 23, 4);\n\t}, s.prototype.readDoubleLE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 8, this.length), n.read(this, e, !0, 52, 8);\n\t}, s.prototype.readDoubleBE = function(e, t) {\n\t\treturn e >>>= 0, t || L(e, 8, this.length), n.read(this, e, !1, 52, 8);\n\t};\n\tfunction R(e, t, n, r, i, a) {\n\t\tif (!s.isBuffer(e)) throw TypeError(\"\\\"buffer\\\" argument must be a Buffer instance\");\n\t\tif (t > i || t < a) throw RangeError(\"\\\"value\\\" argument is out of bounds\");\n\t\tif (n + r > e.length) throw RangeError(\"Index out of range\");\n\t}\n\ts.prototype.writeUintLE = s.prototype.writeUIntLE = function(e, t, n, r) {\n\t\tif (e = +e, t >>>= 0, n >>>= 0, !r) {\n\t\t\tlet r = 2 ** (8 * n) - 1;\n\t\t\tR(this, e, t, n, r, 0);\n\t\t}\n\t\tlet i = 1, a = 0;\n\t\tfor (this[t] = e & 255; ++a < n && (i *= 256);) this[t + a] = e / i & 255;\n\t\treturn t + n;\n\t}, s.prototype.writeUintBE = s.prototype.writeUIntBE = function(e, t, n, r) {\n\t\tif (e = +e, t >>>= 0, n >>>= 0, !r) {\n\t\t\tlet r = 2 ** (8 * n) - 1;\n\t\t\tR(this, e, t, n, r, 0);\n\t\t}\n\t\tlet i = n - 1, a = 1;\n\t\tfor (this[t + i] = e & 255; --i >= 0 && (a *= 256);) this[t + i] = e / a & 255;\n\t\treturn t + n;\n\t}, s.prototype.writeUint8 = s.prototype.writeUInt8 = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 1, 255, 0), this[t] = e & 255, t + 1;\n\t}, s.prototype.writeUint16LE = s.prototype.writeUInt16LE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 2, 65535, 0), this[t] = e & 255, this[t + 1] = e >>> 8, t + 2;\n\t}, s.prototype.writeUint16BE = s.prototype.writeUInt16BE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 2, 65535, 0), this[t] = e >>> 8, this[t + 1] = e & 255, t + 2;\n\t}, s.prototype.writeUint32LE = s.prototype.writeUInt32LE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 4, 4294967295, 0), this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = e & 255, t + 4;\n\t}, s.prototype.writeUint32BE = s.prototype.writeUInt32BE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 4, 4294967295, 0), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = e & 255, t + 4;\n\t};\n\tfunction z(e, t, n, r, i) {\n\t\tK(t, r, i, e, n, 7);\n\t\tlet a = Number(t & BigInt(4294967295));\n\t\te[n++] = a, a >>= 8, e[n++] = a, a >>= 8, e[n++] = a, a >>= 8, e[n++] = a;\n\t\tlet o = Number(t >> BigInt(32) & BigInt(4294967295));\n\t\treturn e[n++] = o, o >>= 8, e[n++] = o, o >>= 8, e[n++] = o, o >>= 8, e[n++] = o, n;\n\t}\n\tfunction ee(e, t, n, r, i) {\n\t\tK(t, r, i, e, n, 7);\n\t\tlet a = Number(t & BigInt(4294967295));\n\t\te[n + 7] = a, a >>= 8, e[n + 6] = a, a >>= 8, e[n + 5] = a, a >>= 8, e[n + 4] = a;\n\t\tlet o = Number(t >> BigInt(32) & BigInt(4294967295));\n\t\treturn e[n + 3] = o, o >>= 8, e[n + 2] = o, o >>= 8, e[n + 1] = o, o >>= 8, e[n] = o, n + 8;\n\t}\n\ts.prototype.writeBigUInt64LE = fe(function(e, t = 0) {\n\t\treturn z(this, e, t, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n\t}), s.prototype.writeBigUInt64BE = fe(function(e, t = 0) {\n\t\treturn ee(this, e, t, BigInt(0), BigInt(\"0xffffffffffffffff\"));\n\t}), s.prototype.writeIntLE = function(e, t, n, r) {\n\t\tif (e = +e, t >>>= 0, !r) {\n\t\t\tlet r = 2 ** (8 * n - 1);\n\t\t\tR(this, e, t, n, r - 1, -r);\n\t\t}\n\t\tlet i = 0, a = 1, o = 0;\n\t\tfor (this[t] = e & 255; ++i < n && (a *= 256);) e < 0 && o === 0 && this[t + i - 1] !== 0 && (o = 1), this[t + i] = (e / a >> 0) - o & 255;\n\t\treturn t + n;\n\t}, s.prototype.writeIntBE = function(e, t, n, r) {\n\t\tif (e = +e, t >>>= 0, !r) {\n\t\t\tlet r = 2 ** (8 * n - 1);\n\t\t\tR(this, e, t, n, r - 1, -r);\n\t\t}\n\t\tlet i = n - 1, a = 1, o = 0;\n\t\tfor (this[t + i] = e & 255; --i >= 0 && (a *= 256);) e < 0 && o === 0 && this[t + i + 1] !== 0 && (o = 1), this[t + i] = (e / a >> 0) - o & 255;\n\t\treturn t + n;\n\t}, s.prototype.writeInt8 = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 1, 127, -128), e < 0 && (e = 255 + e + 1), this[t] = e & 255, t + 1;\n\t}, s.prototype.writeInt16LE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 2, 32767, -32768), this[t] = e & 255, this[t + 1] = e >>> 8, t + 2;\n\t}, s.prototype.writeInt16BE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 2, 32767, -32768), this[t] = e >>> 8, this[t + 1] = e & 255, t + 2;\n\t}, s.prototype.writeInt32LE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 4, 2147483647, -2147483648), this[t] = e & 255, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24, t + 4;\n\t}, s.prototype.writeInt32BE = function(e, t, n) {\n\t\treturn e = +e, t >>>= 0, n || R(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = e & 255, t + 4;\n\t}, s.prototype.writeBigInt64LE = fe(function(e, t = 0) {\n\t\treturn z(this, e, t, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n\t}), s.prototype.writeBigInt64BE = fe(function(e, t = 0) {\n\t\treturn ee(this, e, t, -BigInt(\"0x8000000000000000\"), BigInt(\"0x7fffffffffffffff\"));\n\t});\n\tfunction B(e, t, n, r, i, a) {\n\t\tif (n + r > e.length || n < 0) throw RangeError(\"Index out of range\");\n\t}\n\tfunction V(e, t, r, i, a) {\n\t\treturn t = +t, r >>>= 0, a || B(e, t, r, 4, 34028234663852886e22, -34028234663852886e22), n.write(e, t, r, i, 23, 4), r + 4;\n\t}\n\ts.prototype.writeFloatLE = function(e, t, n) {\n\t\treturn V(this, e, t, !0, n);\n\t}, s.prototype.writeFloatBE = function(e, t, n) {\n\t\treturn V(this, e, t, !1, n);\n\t};\n\tfunction H(e, t, r, i, a) {\n\t\treturn t = +t, r >>>= 0, a || B(e, t, r, 8, 17976931348623157e292, -17976931348623157e292), n.write(e, t, r, i, 52, 8), r + 8;\n\t}\n\ts.prototype.writeDoubleLE = function(e, t, n) {\n\t\treturn H(this, e, t, !0, n);\n\t}, s.prototype.writeDoubleBE = function(e, t, n) {\n\t\treturn H(this, e, t, !1, n);\n\t}, s.prototype.copy = function(e, t, n, r) {\n\t\tif (!s.isBuffer(e)) throw TypeError(\"argument should be a Buffer\");\n\t\tif (n ||= 0, !r && r !== 0 && (r = this.length), t >= e.length && (t = e.length), t ||= 0, r > 0 && r < n && (r = n), r === n || e.length === 0 || this.length === 0) return 0;\n\t\tif (t < 0) throw RangeError(\"targetStart out of bounds\");\n\t\tif (n < 0 || n >= this.length) throw RangeError(\"Index out of range\");\n\t\tif (r < 0) throw RangeError(\"sourceEnd out of bounds\");\n\t\tr > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n);\n\t\tlet i = r - n;\n\t\treturn this === e && typeof Uint8Array.prototype.copyWithin == \"function\" ? this.copyWithin(t, n, r) : Uint8Array.prototype.set.call(e, this.subarray(n, r), t), i;\n\t}, s.prototype.fill = function(e, t, n, r) {\n\t\tif (typeof e == \"string\") {\n\t\t\tif (typeof t == \"string\" ? (r = t, t = 0, n = this.length) : typeof n == \"string\" && (r = n, n = this.length), r !== void 0 && typeof r != \"string\") throw TypeError(\"encoding must be a string\");\n\t\t\tif (typeof r == \"string\" && !s.isEncoding(r)) throw TypeError(\"Unknown encoding: \" + r);\n\t\t\tif (e.length === 1) {\n\t\t\t\tlet t = e.charCodeAt(0);\n\t\t\t\t(r === \"utf8\" && t < 128 || r === \"latin1\") && (e = t);\n\t\t\t}\n\t\t} else typeof e == \"number\" ? e &= 255 : typeof e == \"boolean\" && (e = Number(e));\n\t\tif (t < 0 || this.length < t || this.length < n) throw RangeError(\"Out of range index\");\n\t\tif (n <= t) return this;\n\t\tt >>>= 0, n = n === void 0 ? this.length : n >>> 0, e ||= 0;\n\t\tlet i;\n\t\tif (typeof e == \"number\") for (i = t; i < n; ++i) this[i] = e;\n\t\telse {\n\t\t\tlet a = s.isBuffer(e) ? e : s.from(e, r), o = a.length;\n\t\t\tif (o === 0) throw TypeError(\"The value \\\"\" + e + \"\\\" is invalid for argument \\\"value\\\"\");\n\t\t\tfor (i = 0; i < n - t; ++i) this[i + t] = a[i % o];\n\t\t}\n\t\treturn this;\n\t};\n\tvar U = {};\n\tfunction W(e, t, n) {\n\t\tU[e] = class extends n {\n\t\t\tconstructor() {\n\t\t\t\tsuper(), Object.defineProperty(this, \"message\", {\n\t\t\t\t\tvalue: t.apply(this, arguments),\n\t\t\t\t\twritable: !0,\n\t\t\t\t\tconfigurable: !0\n\t\t\t\t}), this.name = `${this.name} [${e}]`, this.stack, delete this.name;\n\t\t\t}\n\t\t\tget code() {\n\t\t\t\treturn e;\n\t\t\t}\n\t\t\tset code(e) {\n\t\t\t\tObject.defineProperty(this, \"code\", {\n\t\t\t\t\tconfigurable: !0,\n\t\t\t\t\tenumerable: !0,\n\t\t\t\t\tvalue: e,\n\t\t\t\t\twritable: !0\n\t\t\t\t});\n\t\t\t}\n\t\t\ttoString() {\n\t\t\t\treturn `${this.name} [${e}]: ${this.message}`;\n\t\t\t}\n\t\t};\n\t}\n\tW(\"ERR_BUFFER_OUT_OF_BOUNDS\", function(e) {\n\t\treturn e ? `${e} is outside of buffer bounds` : \"Attempt to access memory outside buffer bounds\";\n\t}, RangeError), W(\"ERR_INVALID_ARG_TYPE\", function(e, t) {\n\t\treturn `The \"${e}\" argument must be of type number. Received type ${typeof t}`;\n\t}, TypeError), W(\"ERR_OUT_OF_RANGE\", function(e, t, n) {\n\t\tlet r = `The value of \"${e}\" is out of range.`, i = n;\n\t\treturn Number.isInteger(n) && Math.abs(n) > 2 ** 32 ? i = G(String(n)) : typeof n == \"bigint\" && (i = String(n), (n > BigInt(2) ** BigInt(32) || n < -(BigInt(2) ** BigInt(32))) && (i = G(i)), i += \"n\"), r += ` It must be ${t}. Received ${i}`, r;\n\t}, RangeError);\n\tfunction G(e) {\n\t\tlet t = \"\", n = e.length, r = +(e[0] === \"-\");\n\t\tfor (; n >= r + 4; n -= 3) t = `_${e.slice(n - 3, n)}${t}`;\n\t\treturn `${e.slice(0, n)}${t}`;\n\t}\n\tfunction re(e, t, n) {\n\t\tq(t, \"offset\"), (e[t] === void 0 || e[t + n] === void 0) && ie(t, e.length - (n + 1));\n\t}\n\tfunction K(e, t, n, r, i, a) {\n\t\tif (e > n || e < t) {\n\t\t\tlet r = typeof t == \"bigint\" ? \"n\" : \"\", i;\n\t\t\tthrow i = a > 3 ? t === 0 || t === BigInt(0) ? `>= 0${r} and < 2${r} ** ${(a + 1) * 8}${r}` : `>= -(2${r} ** ${(a + 1) * 8 - 1}${r}) and < 2 ** ${(a + 1) * 8 - 1}${r}` : `>= ${t}${r} and <= ${n}${r}`, new U.ERR_OUT_OF_RANGE(\"value\", i, e);\n\t\t}\n\t\tre(r, i, a);\n\t}\n\tfunction q(e, t) {\n\t\tif (typeof e != \"number\") throw new U.ERR_INVALID_ARG_TYPE(t, \"number\", e);\n\t}\n\tfunction ie(e, t, n) {\n\t\tthrow Math.floor(e) === e ? t < 0 ? new U.ERR_BUFFER_OUT_OF_BOUNDS() : new U.ERR_OUT_OF_RANGE(n || \"offset\", `>= ${+!!n} and <= ${t}`, e) : (q(e, n), new U.ERR_OUT_OF_RANGE(n || \"offset\", \"an integer\", e));\n\t}\n\tvar ae = /[^+/0-9A-Za-z-_]/g;\n\tfunction oe(e) {\n\t\tif (e = e.split(\"=\")[0], e = e.trim().replace(ae, \"\"), e.length < 2) return \"\";\n\t\tfor (; e.length % 4 != 0;) e += \"=\";\n\t\treturn e;\n\t}\n\tfunction se(e, t) {\n\t\tt ||= Infinity;\n\t\tlet n, r = e.length, i = null, a = [];\n\t\tfor (let o = 0; o < r; ++o) {\n\t\t\tif (n = e.charCodeAt(o), n > 55295 && n < 57344) {\n\t\t\t\tif (!i) {\n\t\t\t\t\tif (n > 56319) {\n\t\t\t\t\t\t(t -= 3) > -1 && a.push(239, 191, 189);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (o + 1 === r) {\n\t\t\t\t\t\t(t -= 3) > -1 && a.push(239, 191, 189);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\ti = n;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (n < 56320) {\n\t\t\t\t\t(t -= 3) > -1 && a.push(239, 191, 189), i = n;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tn = (i - 55296 << 10 | n - 56320) + 65536;\n\t\t\t} else i && (t -= 3) > -1 && a.push(239, 191, 189);\n\t\t\tif (i = null, n < 128) {\n\t\t\t\tif (--t < 0) break;\n\t\t\t\ta.push(n);\n\t\t\t} else if (n < 2048) {\n\t\t\t\tif ((t -= 2) < 0) break;\n\t\t\t\ta.push(n >> 6 | 192, n & 63 | 128);\n\t\t\t} else if (n < 65536) {\n\t\t\t\tif ((t -= 3) < 0) break;\n\t\t\t\ta.push(n >> 12 | 224, n >> 6 & 63 | 128, n & 63 | 128);\n\t\t\t} else if (n < 1114112) {\n\t\t\t\tif ((t -= 4) < 0) break;\n\t\t\t\ta.push(n >> 18 | 240, n >> 12 & 63 | 128, n >> 6 & 63 | 128, n & 63 | 128);\n\t\t\t} else throw Error(\"Invalid code point\");\n\t\t}\n\t\treturn a;\n\t}\n\tfunction ce(e) {\n\t\tlet t = [];\n\t\tfor (let n = 0; n < e.length; ++n) t.push(e.charCodeAt(n) & 255);\n\t\treturn t;\n\t}\n\tfunction le(e, t) {\n\t\tlet n, r, i, a = [];\n\t\tfor (let o = 0; o < e.length && !((t -= 2) < 0); ++o) n = e.charCodeAt(o), r = n >> 8, i = n % 256, a.push(i), a.push(r);\n\t\treturn a;\n\t}\n\tfunction ue(e) {\n\t\treturn t.toByteArray(oe(e));\n\t}\n\tfunction J(e, t, n, r) {\n\t\tlet i;\n\t\tfor (i = 0; i < r && !(i + n >= t.length || i >= e.length); ++i) t[i + n] = e[i];\n\t\treturn i;\n\t}\n\tfunction Y(e, t) {\n\t\treturn e instanceof t || e != null && e.constructor != null && e.constructor.name != null && e.constructor.name === t.name;\n\t}\n\tfunction X(e) {\n\t\treturn e !== e;\n\t}\n\tvar de = (function() {\n\t\tlet e = \"0123456789abcdef\", t = Array(256);\n\t\tfor (let n = 0; n < 16; ++n) {\n\t\t\tlet r = n * 16;\n\t\t\tfor (let i = 0; i < 16; ++i) t[r + i] = e[n] + e[i];\n\t\t}\n\t\treturn t;\n\t})();\n\tfunction fe(e) {\n\t\treturn typeof BigInt > \"u\" ? pe : e;\n\t}\n\tfunction pe() {\n\t\tthrow Error(\"BigInt not supported\");\n\t}\n})), W, G, re, K, q = i((() => {\n\tW = \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\", G = \"http://www.w3.org/2001/XMLSchema#\", re = \"http://www.w3.org/2000/10/swap/\", K = {\n\t\txsd: {\n\t\t\tdecimal: `${G}decimal`,\n\t\t\tboolean: `${G}boolean`,\n\t\t\tdouble: `${G}double`,\n\t\t\tinteger: `${G}integer`,\n\t\t\tstring: `${G}string`\n\t\t},\n\t\trdf: {\n\t\t\ttype: `${W}type`,\n\t\t\tnil: `${W}nil`,\n\t\t\tfirst: `${W}first`,\n\t\t\trest: `${W}rest`,\n\t\t\tlangString: `${W}langString`\n\t\t},\n\t\towl: { sameAs: \"http://www.w3.org/2002/07/owl#sameAs\" },\n\t\tr: {\n\t\t\tforSome: `${re}reify#forSome`,\n\t\t\tforAll: `${re}reify#forAll`\n\t\t},\n\t\tlog: {\n\t\t\timplies: `${re}log#implies`,\n\t\t\tisImpliedBy: `${re}log#isImpliedBy`\n\t\t}\n\t};\n})), ie, ae, oe, se, ce, le, ue, J, Y = i((() => {\n\tie = U(), q(), {xsd: ae} = K, oe = /\\\\u([a-fA-F0-9]{4})|\\\\U([a-fA-F0-9]{8})|\\\\([^])/g, se = {\n\t\t\"\\\\\": \"\\\\\",\n\t\t\"'\": \"'\",\n\t\t\"\\\"\": \"\\\"\",\n\t\tn: \"\\n\",\n\t\tr: \"\\r\",\n\t\tt: \"\t\",\n\t\tf: \"\\f\",\n\t\tb: \"\\b\",\n\t\t_: \"_\",\n\t\t\"~\": \"~\",\n\t\t\".\": \".\",\n\t\t\"-\": \"-\",\n\t\t\"!\": \"!\",\n\t\t$: \"$\",\n\t\t\"&\": \"&\",\n\t\t\"(\": \"(\",\n\t\t\")\": \")\",\n\t\t\"*\": \"*\",\n\t\t\"+\": \"+\",\n\t\t\",\": \",\",\n\t\t\";\": \";\",\n\t\t\"=\": \"=\",\n\t\t\"/\": \"/\",\n\t\t\"?\": \"?\",\n\t\t\"#\": \"#\",\n\t\t\"@\": \"@\",\n\t\t\"%\": \"%\"\n\t}, ce = /[\\x00-\\x20<>\\\\\"\\{\\}\\|\\^\\`]/, le = {\n\t\t_iri: !0,\n\t\t_unescapedIri: !0,\n\t\t_simpleQuotedString: !0,\n\t\t_langcode: !0,\n\t\t_blank: !0,\n\t\t_newline: !0,\n\t\t_comment: !0,\n\t\t_whitespace: !0,\n\t\t_endOfFile: !0\n\t}, ue = /$0^/, J = class {\n\t\tconstructor(e) {\n\t\t\tif (this._iri = /^<((?:[^ <>{}\\\\]|\\\\[uU])+)>[ \\t]*/, this._unescapedIri = /^<([^\\x00-\\x20<>\\\\\"\\{\\}\\|\\^\\`]*)>[ \\t]*/, this._simpleQuotedString = /^\"([^\"\\\\\\r\\n]*)\"(?=[^\"])/, this._simpleApostropheString = /^'([^'\\\\\\r\\n]*)'(?=[^'])/, this._langcode = /^@([a-z]+(?:-[a-z0-9]+)*)(?=[^a-z0-9\\-])/i, this._prefix = /^((?:[A-Za-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)?:(?=[#\\s<])/, this._prefixed = /^((?:[A-Za-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)?:((?:(?:[0-:A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~])(?:(?:[\\.\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~])*(?:[\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff]|%[0-9a-fA-F]{2}|\\\\[!#-\\/;=?\\-@_~]))?)?)(?:[ \\t]+|(?=\\.?[,;!\\^\\s#()\\[\\]\\{\\}\"'<>]))/, this._variable = /^\\?(?:(?:[A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:[\\-0-:A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)(?=[.,;!\\^\\s#()\\[\\]\\{\\}\"'<>])/, this._blank = /^_:((?:[0-9A-Z_a-z\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02ff\\u0370-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])(?:\\.?[\\-0-9A-Z_a-z\\xb7\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u037d\\u037f-\\u1fff\\u200c\\u200d\\u203f\\u2040\\u2070-\\u218f\\u2c00-\\u2fef\\u3001-\\ud7ff\\uf900-\\ufdcf\\ufdf0-\\ufffd]|[\\ud800-\\udb7f][\\udc00-\\udfff])*)(?:[ \\t]+|(?=\\.?[,;:\\s#()\\[\\]\\{\\}\"'<>]))/, this._number = /^[\\-+]?(?:(\\d+\\.\\d*|\\.?\\d+)[eE][\\-+]?|\\d*(\\.)?)\\d+(?=\\.?[,;:\\s#()\\[\\]\\{\\}\"'<>])/, this._boolean = /^(?:true|false)(?=[.,;\\s#()\\[\\]\\{\\}\"'<>])/, this._keyword = /^@[a-z]+(?=[\\s#<:])/i, this._sparqlKeyword = /^(?:PREFIX|BASE|GRAPH)(?=[\\s#<])/i, this._shortPredicates = /^a(?=[\\s#()\\[\\]\\{\\}\"'<>])/, this._newline = /^[ \\t]*(?:#[^\\n\\r]*)?(?:\\r\\n|\\n|\\r)[ \\t]*/, this._comment = /#([^\\n\\r]*)/, this._whitespace = /^[ \\t]+/, this._endOfFile = /^(?:#[^\\n\\r]*)?$/, e ||= {}, this._isImpliedBy = e.isImpliedBy, this._lineMode = !!e.lineMode) {\n\t\t\t\tthis._n3Mode = !1;\n\t\t\t\tfor (let e in this) !(e in le) && this[e] instanceof RegExp && (this[e] = ue);\n\t\t\t} else this._n3Mode = e.n3 !== !1;\n\t\t\tthis.comments = !!e.comments, this._literalClosingPos = 0;\n\t\t}\n\t\t_tokenizeToEnd(e, t) {\n\t\t\tlet n = this._input, r = n.length;\n\t\t\tfor (;;) {\n\t\t\t\tlet e, o;\n\t\t\t\tfor (; e = this._newline.exec(n);) this.comments && (o = this._comment.exec(e[0])) && i(\"comment\", o[1], \"\", this._line, e[0].length), n = n.substr(e[0].length, n.length), r = n.length, this._line++;\n\t\t\t\tif (!e && (e = this._whitespace.exec(n)) && (n = n.substr(e[0].length, n.length)), this._endOfFile.test(n)) return t && (this.comments && (o = this._comment.exec(n)) && i(\"comment\", o[1], \"\", this._line, n.length), n = null, i(\"eof\", \"\", \"\", this._line, 0)), this._input = n;\n\t\t\t\tlet s = this._line, c = n[0], l = \"\", u = \"\", d = \"\", f = null, p = 0, m = !1;\n\t\t\t\tswitch (c) {\n\t\t\t\t\tcase \"^\":\n\t\t\t\t\t\tif (n.length < 3) break;\n\t\t\t\t\t\tif (n[1] === \"^\") {\n\t\t\t\t\t\t\tif (this._previousMarker = \"^^\", n = n.substr(2), n[0] !== \"<\") {\n\t\t\t\t\t\t\t\tm = !0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis._n3Mode && (p = 1, l = \"^\");\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\tcase \"<\":\n\t\t\t\t\t\tif (f = this._unescapedIri.exec(n)) l = \"IRI\", u = f[1];\n\t\t\t\t\t\telse if (f = this._iri.exec(n)) {\n\t\t\t\t\t\t\tif (u = this._unescape(f[1]), u === null || ce.test(u)) return a(this);\n\t\t\t\t\t\t\tl = \"IRI\";\n\t\t\t\t\t\t} else n.length > 1 && n[1] === \"<\" ? (l = \"<<\", p = 2) : this._n3Mode && n.length > 1 && n[1] === \"=\" && (p = 2, this._isImpliedBy ? (l = \"abbreviation\", u = \"<\") : (l = \"inverse\", u = \">\"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \">\":\n\t\t\t\t\t\tn.length > 1 && n[1] === \">\" && (l = \">>\", p = 2);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"_\":\n\t\t\t\t\t\t((f = this._blank.exec(n)) || t && (f = this._blank.exec(`${n} `))) && (l = \"blank\", d = \"_\", u = f[1]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"\\\"\":\n\t\t\t\t\t\tif (f = this._simpleQuotedString.exec(n)) u = f[1];\n\t\t\t\t\t\telse if ({value: u, matchLength: p} = this._parseLiteral(n), u === null) return a(this);\n\t\t\t\t\t\t(f !== null || p !== 0) && (l = \"literal\", this._literalClosingPos = 0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"'\":\n\t\t\t\t\t\tif (!this._lineMode) {\n\t\t\t\t\t\t\tif (f = this._simpleApostropheString.exec(n)) u = f[1];\n\t\t\t\t\t\t\telse if ({value: u, matchLength: p} = this._parseLiteral(n), u === null) return a(this);\n\t\t\t\t\t\t\t(f !== null || p !== 0) && (l = \"literal\", this._literalClosingPos = 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"?\":\n\t\t\t\t\t\tthis._n3Mode && (f = this._variable.exec(n)) && (l = \"var\", u = f[0]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"@\":\n\t\t\t\t\t\tthis._previousMarker === \"literal\" && (f = this._langcode.exec(n)) ? (l = \"langcode\", u = f[1]) : (f = this._keyword.exec(n)) && (l = f[0]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \".\": if (n.length === 1 ? t : n[1] < \"0\" || n[1] > \"9\") {\n\t\t\t\t\t\tl = \".\", p = 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcase \"0\":\n\t\t\t\t\tcase \"1\":\n\t\t\t\t\tcase \"2\":\n\t\t\t\t\tcase \"3\":\n\t\t\t\t\tcase \"4\":\n\t\t\t\t\tcase \"5\":\n\t\t\t\t\tcase \"6\":\n\t\t\t\t\tcase \"7\":\n\t\t\t\t\tcase \"8\":\n\t\t\t\t\tcase \"9\":\n\t\t\t\t\tcase \"+\":\n\t\t\t\t\tcase \"-\":\n\t\t\t\t\t\t(f = this._number.exec(n) || t && (f = this._number.exec(`${n} `))) && (l = \"literal\", u = f[0], d = typeof f[1] == \"string\" ? ae.double : typeof f[2] == \"string\" ? ae.decimal : ae.integer);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"B\":\n\t\t\t\t\tcase \"b\":\n\t\t\t\t\tcase \"p\":\n\t\t\t\t\tcase \"P\":\n\t\t\t\t\tcase \"G\":\n\t\t\t\t\tcase \"g\":\n\t\t\t\t\t\t(f = this._sparqlKeyword.exec(n)) ? l = f[0].toUpperCase() : m = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"f\":\n\t\t\t\t\tcase \"t\":\n\t\t\t\t\t\t(f = this._boolean.exec(n)) ? (l = \"literal\", u = f[0], d = ae.boolean) : m = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"a\":\n\t\t\t\t\t\t(f = this._shortPredicates.exec(n)) ? (l = \"abbreviation\", u = \"a\") : m = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"=\":\n\t\t\t\t\t\tthis._n3Mode && n.length > 1 && (l = \"abbreviation\", n[1] === \">\" ? (p = 2, u = \">\") : (p = 1, u = \"=\"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"!\": if (!this._n3Mode) break;\n\t\t\t\t\tcase \",\":\n\t\t\t\t\tcase \";\":\n\t\t\t\t\tcase \"[\":\n\t\t\t\t\tcase \"]\":\n\t\t\t\t\tcase \"(\":\n\t\t\t\t\tcase \")\":\n\t\t\t\t\tcase \"}\":\n\t\t\t\t\t\tthis._lineMode || (p = 1, l = c);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"{\":\n\t\t\t\t\t\t!this._lineMode && n.length >= 2 && (n[1] === \"|\" ? (l = \"{|\", p = 2) : (l = c, p = 1));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"|\":\n\t\t\t\t\t\tn.length >= 2 && n[1] === \"}\" && (l = \"|}\", p = 2);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: m = !0;\n\t\t\t\t}\n\t\t\t\tif (m && ((this._previousMarker === \"@prefix\" || this._previousMarker === \"PREFIX\") && (f = this._prefix.exec(n)) ? (l = \"prefix\", u = f[1] || \"\") : ((f = this._prefixed.exec(n)) || t && (f = this._prefixed.exec(`${n} `))) && (l = \"prefixed\", d = f[1] || \"\", u = this._unescape(f[2]))), this._previousMarker === \"^^\") switch (l) {\n\t\t\t\t\tcase \"prefixed\":\n\t\t\t\t\t\tl = \"type\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"IRI\":\n\t\t\t\t\t\tl = \"typeIRI\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: l = \"\";\n\t\t\t\t}\n\t\t\t\tif (!l) return t || !/^'''|^\"\"\"/.test(n) && /\\n|\\r/.test(n) ? a(this) : this._input = n;\n\t\t\t\tlet h = p || f[0].length, g = i(l, u, d, s, h);\n\t\t\t\tthis.previousToken = g, this._previousMarker = l, n = n.substr(h, n.length);\n\t\t\t}\n\t\t\tfunction i(t, i, a, o, s) {\n\t\t\t\tlet c = n ? r - n.length : r, l = {\n\t\t\t\t\ttype: t,\n\t\t\t\t\tvalue: i,\n\t\t\t\t\tprefix: a,\n\t\t\t\t\tline: o,\n\t\t\t\t\tstart: c,\n\t\t\t\t\tend: c + s\n\t\t\t\t};\n\t\t\t\treturn e(null, l), l;\n\t\t\t}\n\t\t\tfunction a(t) {\n\t\t\t\te(t._syntaxError(/^\\S*/.exec(n)[0]));\n\t\t\t}\n\t\t}\n\t\t_unescape(e) {\n\t\t\tlet t = !1, n = e.replace(oe, (e, n, r, i) => {\n\t\t\t\tif (typeof n == \"string\") return String.fromCharCode(Number.parseInt(n, 16));\n\t\t\t\tif (typeof r == \"string\") {\n\t\t\t\t\tlet e = Number.parseInt(r, 16);\n\t\t\t\t\treturn e <= 65535 ? String.fromCharCode(Number.parseInt(r, 16)) : String.fromCharCode(55296 + ((e -= 65536) >> 10), 56320 + (e & 1023));\n\t\t\t\t}\n\t\t\t\treturn i in se ? se[i] : (t = !0, \"\");\n\t\t\t});\n\t\t\treturn t ? null : n;\n\t\t}\n\t\t_parseLiteral(e) {\n\t\t\tif (e.length >= 3) {\n\t\t\t\tlet t = e.match(/^(?:\"\"\"|\"|'''|'|)/)[0], n = t.length, r = Math.max(this._literalClosingPos, n);\n\t\t\t\tfor (; (r = e.indexOf(t, r)) > 0;) {\n\t\t\t\t\tlet t = 0;\n\t\t\t\t\tfor (; e[r - t - 1] === \"\\\\\";) t++;\n\t\t\t\t\tif (t % 2 == 0) {\n\t\t\t\t\t\tlet t = e.substring(n, r), i = t.split(/\\r\\n|\\r|\\n/).length - 1, a = r + n;\n\t\t\t\t\t\tif (n === 1 && i !== 0 || n === 3 && this._lineMode) break;\n\t\t\t\t\t\treturn this._line += i, {\n\t\t\t\t\t\t\tvalue: this._unescape(t),\n\t\t\t\t\t\t\tmatchLength: a\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tr++;\n\t\t\t\t}\n\t\t\t\tthis._literalClosingPos = e.length - n + 1;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tvalue: \"\",\n\t\t\t\tmatchLength: 0\n\t\t\t};\n\t\t}\n\t\t_syntaxError(e) {\n\t\t\tthis._input = null;\n\t\t\tlet t = /* @__PURE__ */ Error(`Unexpected \"${e}\" on line ${this._line}.`);\n\t\t\treturn t.context = {\n\t\t\t\ttoken: void 0,\n\t\t\t\tline: this._line,\n\t\t\t\tpreviousToken: this.previousToken\n\t\t\t}, t;\n\t\t}\n\t\t_readStartingBom(e) {\n\t\t\treturn e.startsWith(\"\") ? e.substr(1) : e;\n\t\t}\n\t\ttokenize(e, t) {\n\t\t\tif (this._line = 1, typeof e == \"string\") {\n\t\t\t\tif (this._input = this._readStartingBom(e), typeof t == \"function\") queueMicrotask(() => this._tokenizeToEnd(t, !0));\n\t\t\t\telse {\n\t\t\t\t\tlet e = [], t;\n\t\t\t\t\tif (this._tokenizeToEnd((n, r) => n ? t = n : e.push(r), !0), t) throw t;\n\t\t\t\t\treturn e;\n\t\t\t\t}\n\t\t\t} else this._pendingBuffer = null, typeof e.setEncoding == \"function\" && e.setEncoding(\"utf8\"), e.on(\"data\", (e) => {\n\t\t\t\tthis._input !== null && e.length !== 0 && (this._pendingBuffer &&= (e = ie.Buffer.concat([this._pendingBuffer, e]), null), e[e.length - 1] & 128 ? this._pendingBuffer = e : (this._input === void 0 ? this._input = this._readStartingBom(typeof e == \"string\" ? e : e.toString()) : this._input += e, this._tokenizeToEnd(t, !1)));\n\t\t\t}), e.on(\"end\", () => {\n\t\t\t\ttypeof this._input == \"string\" && this._tokenizeToEnd(t, !0);\n\t\t\t}), e.on(\"error\", t);\n\t\t}\n\t};\n}));\nfunction X(e, t, n) {\n\tif (t ||= we, !e) return t.defaultGraph();\n\tswitch (e[0]) {\n\t\tcase \"?\": return t.variable(e.substr(1));\n\t\tcase \"_\": return t.blankNode(e.substr(2));\n\t\tcase \"\\\"\":\n\t\t\tif (t === we) return new De(e);\n\t\t\tif (e[e.length - 1] === \"\\\"\") return t.literal(e.substr(1, e.length - 2));\n\t\t\tlet r = e.lastIndexOf(\"\\\"\", e.length - 1);\n\t\t\treturn t.literal(e.substr(1, r - 1), e[r + 1] === \"@\" ? e.substr(r + 2) : t.namedNode(e.substr(r + 3)));\n\t\tcase \"[\":\n\t\t\te = JSON.parse(e);\n\t\t\tbreak;\n\t\tdefault: if (!n || !Array.isArray(e)) return t.namedNode(e);\n\t}\n\treturn t.quad(X(e[0], t, !0), X(e[1], t, !0), X(e[2], t, !0), e[3] && X(e[3], t, !0));\n}\nfunction de(e, t) {\n\tif (typeof e == \"string\") return e;\n\tif (e instanceof Te && e.termType !== \"Quad\") return e.id;\n\tif (!e) return Se.id;\n\tswitch (e.termType) {\n\t\tcase \"NamedNode\": return e.value;\n\t\tcase \"BlankNode\": return `_:${e.value}`;\n\t\tcase \"Variable\": return `?${e.value}`;\n\t\tcase \"DefaultGraph\": return \"\";\n\t\tcase \"Literal\": return `\"${e.value}\"${e.language ? `@${e.language}` : e.datatype && e.datatype.value !== xe.string ? `^^${e.datatype.value}` : \"\"}`;\n\t\tcase \"Quad\":\n\t\t\tlet n = [\n\t\t\t\tde(e.subject, !0),\n\t\t\t\tde(e.predicate, !0),\n\t\t\t\tde(e.object, !0)\n\t\t\t];\n\t\t\treturn e.graph && e.graph.termType !== \"DefaultGraph\" && n.push(de(e.graph, !0)), t ? n : JSON.stringify(n);\n\t\tdefault: throw Error(`Unexpected termType: ${e.termType}`);\n\t}\n}\nfunction fe(e) {\n\treturn new Ee(e);\n}\nfunction pe(e) {\n\treturn new Oe(e || `n3-${Ce++}`);\n}\nfunction me(e, t) {\n\tif (typeof t == \"string\") return new De(`\"${e}\"@${t.toLowerCase()}`);\n\tlet n = t ? t.value : \"\";\n\treturn n === \"\" && (typeof e == \"boolean\" ? n = xe.boolean : typeof e == \"number\" && (Number.isFinite(e) ? n = Number.isInteger(e) ? xe.integer : xe.double : (n = xe.double, Number.isNaN(e) || (e = e > 0 ? \"INF\" : \"-INF\")))), n === \"\" || n === xe.string ? new De(`\"${e}\"`) : new De(`\"${e}\"^^${n}`);\n}\nfunction he(e) {\n\treturn new ke(e);\n}\nfunction ge() {\n\treturn Se;\n}\nfunction _e(e, t, n, r) {\n\treturn new je(e, t, n, r);\n}\nfunction ve(e) {\n\tif (e instanceof Te) return e;\n\tswitch (e.termType) {\n\t\tcase \"NamedNode\": return fe(e.value);\n\t\tcase \"BlankNode\": return pe(e.value);\n\t\tcase \"Variable\": return he(e.value);\n\t\tcase \"DefaultGraph\": return Se;\n\t\tcase \"Literal\": return me(e.value, e.language || e.datatype);\n\t\tcase \"Quad\": return ye(e);\n\t\tdefault: throw Error(`Unexpected termType: ${e.termType}`);\n\t}\n}\nfunction ye(e) {\n\tif (e instanceof je) return e;\n\tif (e.termType !== \"Quad\") throw Error(`Unexpected termType: ${e.termType}`);\n\treturn _e(ve(e.subject), ve(e.predicate), ve(e.object), ve(e.graph));\n}\nvar be, xe, Se, Ce, we, Te, Ee, De, Oe, ke, Ae, je, Me = i((() => {\n\tq(), {rdf: be, xsd: xe} = K, Ce = 0, we = {\n\t\tnamedNode: fe,\n\t\tblankNode: pe,\n\t\tvariable: he,\n\t\tliteral: me,\n\t\tdefaultGraph: ge,\n\t\tquad: _e,\n\t\ttriple: _e,\n\t\tfromTerm: ve,\n\t\tfromQuad: ye\n\t}, Te = class e {\n\t\tconstructor(e) {\n\t\t\tthis.id = e;\n\t\t}\n\t\tget value() {\n\t\t\treturn this.id;\n\t\t}\n\t\tequals(t) {\n\t\t\treturn t instanceof e ? this.id === t.id : !!t && this.termType === t.termType && this.value === t.value;\n\t\t}\n\t\thashCode() {\n\t\t\treturn 0;\n\t\t}\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\ttermType: this.termType,\n\t\t\t\tvalue: this.value\n\t\t\t};\n\t\t}\n\t}, Ee = class extends Te {\n\t\tget termType() {\n\t\t\treturn \"NamedNode\";\n\t\t}\n\t}, De = class e extends Te {\n\t\tget termType() {\n\t\t\treturn \"Literal\";\n\t\t}\n\t\tget value() {\n\t\t\treturn this.id.substring(1, this.id.lastIndexOf(\"\\\"\"));\n\t\t}\n\t\tget language() {\n\t\t\tlet e = this.id, t = e.lastIndexOf(\"\\\"\") + 1;\n\t\t\treturn t < e.length && e[t++] === \"@\" ? e.substr(t).toLowerCase() : \"\";\n\t\t}\n\t\tget datatype() {\n\t\t\treturn new Ee(this.datatypeString);\n\t\t}\n\t\tget datatypeString() {\n\t\t\tlet e = this.id, t = e.lastIndexOf(\"\\\"\") + 1, n = t < e.length ? e[t] : \"\";\n\t\t\treturn n === \"^\" ? e.substr(t + 2) : n === \"@\" ? be.langString : xe.string;\n\t\t}\n\t\tequals(t) {\n\t\t\treturn t instanceof e ? this.id === t.id : !!t && !!t.datatype && this.termType === t.termType && this.value === t.value && this.language === t.language && this.datatype.value === t.datatype.value;\n\t\t}\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\ttermType: this.termType,\n\t\t\t\tvalue: this.value,\n\t\t\t\tlanguage: this.language,\n\t\t\t\tdatatype: {\n\t\t\t\t\ttermType: \"NamedNode\",\n\t\t\t\t\tvalue: this.datatypeString\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t}, Oe = class extends Te {\n\t\tconstructor(e) {\n\t\t\tsuper(`_:${e}`);\n\t\t}\n\t\tget termType() {\n\t\t\treturn \"BlankNode\";\n\t\t}\n\t\tget value() {\n\t\t\treturn this.id.substr(2);\n\t\t}\n\t}, ke = class extends Te {\n\t\tconstructor(e) {\n\t\t\tsuper(`?${e}`);\n\t\t}\n\t\tget termType() {\n\t\t\treturn \"Variable\";\n\t\t}\n\t\tget value() {\n\t\t\treturn this.id.substr(1);\n\t\t}\n\t}, Ae = class extends Te {\n\t\tconstructor() {\n\t\t\treturn super(\"\"), Se || this;\n\t\t}\n\t\tget termType() {\n\t\t\treturn \"DefaultGraph\";\n\t\t}\n\t\tequals(e) {\n\t\t\treturn this === e || !!e && this.termType === e.termType;\n\t\t}\n\t}, Se = new Ae(), je = class extends Te {\n\t\tconstructor(e, t, n, r) {\n\t\t\tsuper(\"\"), this._subject = e, this._predicate = t, this._object = n, this._graph = r || Se;\n\t\t}\n\t\tget termType() {\n\t\t\treturn \"Quad\";\n\t\t}\n\t\tget subject() {\n\t\t\treturn this._subject;\n\t\t}\n\t\tget predicate() {\n\t\t\treturn this._predicate;\n\t\t}\n\t\tget object() {\n\t\t\treturn this._object;\n\t\t}\n\t\tget graph() {\n\t\t\treturn this._graph;\n\t\t}\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\ttermType: this.termType,\n\t\t\t\tsubject: this._subject.toJSON(),\n\t\t\t\tpredicate: this._predicate.toJSON(),\n\t\t\t\tobject: this._object.toJSON(),\n\t\t\t\tgraph: this._graph.toJSON()\n\t\t\t};\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && this._subject.equals(e.subject) && this._predicate.equals(e.predicate) && this._object.equals(e.object) && this._graph.equals(e.graph);\n\t\t}\n\t};\n}));\nfunction Ne() {}\nfunction Pe(e, t) {\n\te._factory = t, e.DEFAULTGRAPH = t.defaultGraph(), e.RDF_FIRST = t.namedNode(K.rdf.first), e.RDF_REST = t.namedNode(K.rdf.rest), e.RDF_NIL = t.namedNode(K.rdf.nil), e.N3_FORALL = t.namedNode(K.r.forAll), e.N3_FORSOME = t.namedNode(K.r.forSome), e.ABBREVIATIONS = {\n\t\ta: t.namedNode(K.rdf.type),\n\t\t\"=\": t.namedNode(K.owl.sameAs),\n\t\t\">\": t.namedNode(K.log.implies),\n\t\t\"<\": t.namedNode(K.log.isImpliedBy)\n\t}, e.QUANTIFIERS_GRAPH = t.namedNode(\"urn:n3:quantifiers\");\n}\nvar Fe, Ie, Le = i((() => {\n\tY(), Me(), q(), Fe = 0, Ie = class {\n\t\tconstructor(e) {\n\t\t\tthis._contextStack = [], this._graph = null, e ||= {}, this._setBase(e.baseIRI), e.factory && Pe(this, e.factory);\n\t\t\tlet t = typeof e.format == \"string\" ? e.format.match(/\\w*$/)[0].toLowerCase() : \"\", n = /turtle/.test(t), r = /trig/.test(t), i = /triple/.test(t), a = /quad/.test(t), o = this._n3Mode = /n3/.test(t), s = i || a;\n\t\t\t(this._supportsNamedGraphs = !(n || o)) || (this._readPredicateOrNamedGraph = this._readPredicate), this._supportsQuads = !(n || r || i || o), this._isImpliedBy = e.isImpliedBy, this._supportsRDFStar = t === \"\" || /star|\\*$/.test(t), s && (this._resolveRelativeIRI = (e) => null), this._blankNodePrefix = typeof e.blankNodePrefix == \"string\" ? e.blankNodePrefix.replace(/^(?!_:)/, \"_:\") : \"\", this._lexer = e.lexer || new J({\n\t\t\t\tlineMode: s,\n\t\t\t\tn3: o,\n\t\t\t\tisImpliedBy: this._isImpliedBy\n\t\t\t}), this._explicitQuantifiers = !!e.explicitQuantifiers;\n\t\t}\n\t\tstatic _resetBlankNodePrefix() {\n\t\t\tFe = 0;\n\t\t}\n\t\t_setBase(e) {\n\t\t\tif (!e) this._base = \"\", this._basePath = \"\";\n\t\t\telse {\n\t\t\t\tlet t = e.indexOf(\"#\");\n\t\t\t\tt >= 0 && (e = e.substr(0, t)), this._base = e, this._basePath = e.indexOf(\"/\") < 0 ? e : e.replace(/[^\\/?]*(?:\\?.*)?$/, \"\"), e = e.match(/^(?:([a-z][a-z0-9+.-]*:))?(?:\\/\\/[^\\/]*)?/i), this._baseRoot = e[0], this._baseScheme = e[1];\n\t\t\t}\n\t\t}\n\t\t_saveContext(e, t, n, r, i) {\n\t\t\tlet a = this._n3Mode;\n\t\t\tthis._contextStack.push({\n\t\t\t\ttype: e,\n\t\t\t\tsubject: n,\n\t\t\t\tpredicate: r,\n\t\t\t\tobject: i,\n\t\t\t\tgraph: t,\n\t\t\t\tinverse: a ? this._inversePredicate : !1,\n\t\t\t\tblankPrefix: a ? this._prefixes._ : \"\",\n\t\t\t\tquantified: a ? this._quantified : null\n\t\t\t}), a && (this._inversePredicate = !1, this._prefixes._ = this._graph ? `${this._graph.value}.` : \".\", this._quantified = Object.create(this._quantified));\n\t\t}\n\t\t_restoreContext(e, t) {\n\t\t\tlet n = this._contextStack.pop();\n\t\t\tif (!n || n.type !== e) return this._error(`Unexpected ${t.type}`, t);\n\t\t\tthis._subject = n.subject, this._predicate = n.predicate, this._object = n.object, this._graph = n.graph, this._n3Mode && (this._inversePredicate = n.inverse, this._prefixes._ = n.blankPrefix, this._quantified = n.quantified);\n\t\t}\n\t\t_readInTopContext(e) {\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"eof\": return this._graph === null ? (delete this._prefixes._, this._callback(null, null, this._prefixes)) : this._error(\"Unclosed graph\", e);\n\t\t\t\tcase \"PREFIX\": this._sparqlStyle = !0;\n\t\t\t\tcase \"@prefix\": return this._readPrefix;\n\t\t\t\tcase \"BASE\": this._sparqlStyle = !0;\n\t\t\t\tcase \"@base\": return this._readBaseIRI;\n\t\t\t\tcase \"{\": if (this._supportsNamedGraphs) return this._graph = \"\", this._subject = null, this._readSubject;\n\t\t\t\tcase \"GRAPH\": if (this._supportsNamedGraphs) return this._readNamedGraphLabel;\n\t\t\t\tdefault: return this._readSubject(e);\n\t\t\t}\n\t\t}\n\t\t_readEntity(e, t) {\n\t\t\tlet n;\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"IRI\":\n\t\t\t\tcase \"typeIRI\":\n\t\t\t\t\tlet t = this._resolveIRI(e.value);\n\t\t\t\t\tif (t === null) return this._error(\"Invalid IRI\", e);\n\t\t\t\t\tn = this._factory.namedNode(t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"type\":\n\t\t\t\tcase \"prefixed\":\n\t\t\t\t\tlet r = this._prefixes[e.prefix];\n\t\t\t\t\tif (r === void 0) return this._error(`Undefined prefix \"${e.prefix}:\"`, e);\n\t\t\t\t\tn = this._factory.namedNode(r + e.value);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"blank\":\n\t\t\t\t\tn = this._factory.blankNode(this._prefixes[e.prefix] + e.value);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"var\":\n\t\t\t\t\tn = this._factory.variable(e.value.substr(1));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: return this._error(`Expected entity but got ${e.type}`, e);\n\t\t\t}\n\t\t\treturn !t && this._n3Mode && n.id in this._quantified && (n = this._quantified[n.id]), n;\n\t\t}\n\t\t_readSubject(e) {\n\t\t\tswitch (this._predicate = null, e.type) {\n\t\t\t\tcase \"[\": return this._saveContext(\"blank\", this._graph, this._subject = this._factory.blankNode(), null, null), this._readBlankNodeHead;\n\t\t\t\tcase \"(\": return this._saveContext(\"list\", this._graph, this.RDF_NIL, null, null), this._subject = null, this._readListItem;\n\t\t\t\tcase \"{\": return this._n3Mode ? (this._saveContext(\"formula\", this._graph, this._graph = this._factory.blankNode(), null, null), this._readSubject) : this._error(\"Unexpected graph\", e);\n\t\t\t\tcase \"}\": return this._readPunctuation(e);\n\t\t\t\tcase \"@forSome\": return this._n3Mode ? (this._subject = null, this._predicate = this.N3_FORSOME, this._quantifier = \"blankNode\", this._readQuantifierList) : this._error(\"Unexpected \\\"@forSome\\\"\", e);\n\t\t\t\tcase \"@forAll\": return this._n3Mode ? (this._subject = null, this._predicate = this.N3_FORALL, this._quantifier = \"variable\", this._readQuantifierList) : this._error(\"Unexpected \\\"@forAll\\\"\", e);\n\t\t\t\tcase \"literal\":\n\t\t\t\t\tif (!this._n3Mode) return this._error(\"Unexpected literal\", e);\n\t\t\t\t\tif (e.prefix.length === 0) return this._literalValue = e.value, this._completeSubjectLiteral;\n\t\t\t\t\tthis._subject = this._factory.literal(e.value, this._factory.namedNode(e.prefix));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"<<\": return this._supportsRDFStar ? (this._saveContext(\"<<\", this._graph, null, null, null), this._graph = null, this._readSubject) : this._error(\"Unexpected RDF-star syntax\", e);\n\t\t\t\tdefault:\n\t\t\t\t\tif ((this._subject = this._readEntity(e)) === void 0) return;\n\t\t\t\t\tif (this._n3Mode) return this._getPathReader(this._readPredicateOrNamedGraph);\n\t\t\t}\n\t\t\treturn this._readPredicateOrNamedGraph;\n\t\t}\n\t\t_readPredicate(e) {\n\t\t\tlet t = e.type;\n\t\t\tswitch (t) {\n\t\t\t\tcase \"inverse\": this._inversePredicate = !0;\n\t\t\t\tcase \"abbreviation\":\n\t\t\t\t\tthis._predicate = this.ABBREVIATIONS[e.value];\n\t\t\t\t\tbreak;\n\t\t\t\tcase \".\":\n\t\t\t\tcase \"]\":\n\t\t\t\tcase \"}\": return this._predicate === null ? this._error(`Unexpected ${t}`, e) : (this._subject = null, t === \"]\" ? this._readBlankNodeTail(e) : this._readPunctuation(e));\n\t\t\t\tcase \";\": return this._predicate === null ? this._error(\"Expected predicate but got ;\", e) : this._readPredicate;\n\t\t\t\tcase \"[\": if (this._n3Mode) return this._saveContext(\"blank\", this._graph, this._subject, this._subject = this._factory.blankNode(), null), this._readBlankNodeHead;\n\t\t\t\tcase \"blank\": if (!this._n3Mode) return this._error(\"Disallowed blank node as predicate\", e);\n\t\t\t\tdefault: if ((this._predicate = this._readEntity(e)) === void 0) return;\n\t\t\t}\n\t\t\treturn this._readObject;\n\t\t}\n\t\t_readObject(e) {\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"literal\":\n\t\t\t\t\tif (e.prefix.length === 0) return this._literalValue = e.value, this._readDataTypeOrLang;\n\t\t\t\t\tthis._object = this._factory.literal(e.value, this._factory.namedNode(e.prefix));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"[\": return this._saveContext(\"blank\", this._graph, this._subject, this._predicate, this._subject = this._factory.blankNode()), this._readBlankNodeHead;\n\t\t\t\tcase \"(\": return this._saveContext(\"list\", this._graph, this._subject, this._predicate, this.RDF_NIL), this._subject = null, this._readListItem;\n\t\t\t\tcase \"{\": return this._n3Mode ? (this._saveContext(\"formula\", this._graph, this._subject, this._predicate, this._graph = this._factory.blankNode()), this._readSubject) : this._error(\"Unexpected graph\", e);\n\t\t\t\tcase \"<<\": return this._supportsRDFStar ? (this._saveContext(\"<<\", this._graph, this._subject, this._predicate, null), this._graph = null, this._readSubject) : this._error(\"Unexpected RDF-star syntax\", e);\n\t\t\t\tdefault:\n\t\t\t\t\tif ((this._object = this._readEntity(e)) === void 0) return;\n\t\t\t\t\tif (this._n3Mode) return this._getPathReader(this._getContextEndReader());\n\t\t\t}\n\t\t\treturn this._getContextEndReader();\n\t\t}\n\t\t_readPredicateOrNamedGraph(e) {\n\t\t\treturn e.type === \"{\" ? this._readGraph(e) : this._readPredicate(e);\n\t\t}\n\t\t_readGraph(e) {\n\t\t\treturn e.type === \"{\" ? (this._graph = this._subject, this._subject = null, this._readSubject) : this._error(`Expected graph but got ${e.type}`, e);\n\t\t}\n\t\t_readBlankNodeHead(e) {\n\t\t\treturn e.type === \"]\" ? (this._subject = null, this._readBlankNodeTail(e)) : (this._predicate = null, this._readPredicate(e));\n\t\t}\n\t\t_readBlankNodeTail(e) {\n\t\t\tif (e.type !== \"]\") return this._readBlankNodePunctuation(e);\n\t\t\tthis._subject !== null && this._emit(this._subject, this._predicate, this._object, this._graph);\n\t\t\tlet t = this._predicate === null;\n\t\t\treturn this._restoreContext(\"blank\", e), this._object === null ? this._predicate === null ? t ? this._readPredicateOrNamedGraph : this._readPredicateAfterBlank : this._readObject : this._getContextEndReader();\n\t\t}\n\t\t_readPredicateAfterBlank(e) {\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \".\":\n\t\t\t\tcase \"}\": return this._subject = null, this._readPunctuation(e);\n\t\t\t\tdefault: return this._readPredicate(e);\n\t\t\t}\n\t\t}\n\t\t_readListItem(e) {\n\t\t\tlet t = null, n = null, r = this._readListItem, i = this._subject, a = this._contextStack, o = a[a.length - 1];\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"[\":\n\t\t\t\t\tthis._saveContext(\"blank\", this._graph, n = this._factory.blankNode(), this.RDF_FIRST, this._subject = t = this._factory.blankNode()), r = this._readBlankNodeHead;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"(\":\n\t\t\t\t\tthis._saveContext(\"list\", this._graph, n = this._factory.blankNode(), this.RDF_FIRST, this.RDF_NIL), this._subject = null;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \")\":\n\t\t\t\t\tif (this._restoreContext(\"list\", e), a.length !== 0 && a[a.length - 1].type === \"list\" && this._emit(this._subject, this._predicate, this._object, this._graph), this._predicate === null) {\n\t\t\t\t\t\tif (r = this._readPredicate, this._subject === this.RDF_NIL) return r;\n\t\t\t\t\t} else if (r = this._getContextEndReader(), this._object === this.RDF_NIL) return r;\n\t\t\t\t\tn = this.RDF_NIL;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"literal\":\n\t\t\t\t\te.prefix.length === 0 ? (this._literalValue = e.value, r = this._readListItemDataTypeOrLang) : (t = this._factory.literal(e.value, this._factory.namedNode(e.prefix)), r = this._getContextEndReader());\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{\": return this._n3Mode ? (this._saveContext(\"formula\", this._graph, this._subject, this._predicate, this._graph = this._factory.blankNode()), this._readSubject) : this._error(\"Unexpected graph\", e);\n\t\t\t\tdefault: if ((t = this._readEntity(e)) === void 0) return;\n\t\t\t}\n\t\t\tif (n === null && (this._subject = n = this._factory.blankNode()), i === null ? o.predicate === null ? o.subject = n : o.object = n : this._emit(i, this.RDF_REST, n, this._graph), t !== null) {\n\t\t\t\tif (this._n3Mode && (e.type === \"IRI\" || e.type === \"prefixed\")) return this._saveContext(\"item\", this._graph, n, this.RDF_FIRST, t), this._subject = t, this._predicate = null, this._getPathReader(this._readListItem);\n\t\t\t\tthis._emit(n, this.RDF_FIRST, t, this._graph);\n\t\t\t}\n\t\t\treturn r;\n\t\t}\n\t\t_readDataTypeOrLang(e) {\n\t\t\treturn this._completeObjectLiteral(e, !1);\n\t\t}\n\t\t_readListItemDataTypeOrLang(e) {\n\t\t\treturn this._completeObjectLiteral(e, !0);\n\t\t}\n\t\t_completeLiteral(e) {\n\t\t\tlet t = this._factory.literal(this._literalValue);\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"type\":\n\t\t\t\tcase \"typeIRI\":\n\t\t\t\t\tlet n = this._readEntity(e);\n\t\t\t\t\tif (n === void 0) return;\n\t\t\t\t\tt = this._factory.literal(this._literalValue, n), e = null;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"langcode\": t = this._factory.literal(this._literalValue, e.value), e = null;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\ttoken: e,\n\t\t\t\tliteral: t\n\t\t\t};\n\t\t}\n\t\t_completeSubjectLiteral(e) {\n\t\t\treturn this._subject = this._completeLiteral(e).literal, this._readPredicateOrNamedGraph;\n\t\t}\n\t\t_completeObjectLiteral(e, t) {\n\t\t\tlet n = this._completeLiteral(e);\n\t\t\tif (n) return this._object = n.literal, t && this._emit(this._subject, this.RDF_FIRST, this._object, this._graph), n.token === null ? this._getContextEndReader() : (this._readCallback = this._getContextEndReader(), this._readCallback(n.token));\n\t\t}\n\t\t_readFormulaTail(e) {\n\t\t\treturn e.type === \"}\" ? (this._subject !== null && this._emit(this._subject, this._predicate, this._object, this._graph), this._restoreContext(\"formula\", e), this._object === null ? this._readPredicate : this._getContextEndReader()) : this._readPunctuation(e);\n\t\t}\n\t\t_readPunctuation(e) {\n\t\t\tlet t, n = this._graph, r = this._subject, i = this._inversePredicate;\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"}\":\n\t\t\t\t\tif (this._graph === null) return this._error(\"Unexpected graph closing\", e);\n\t\t\t\t\tif (this._n3Mode) return this._readFormulaTail(e);\n\t\t\t\t\tthis._graph = null;\n\t\t\t\tcase \".\":\n\t\t\t\t\tthis._subject = null, t = this._contextStack.length ? this._readSubject : this._readInTopContext, i && (this._inversePredicate = !1);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \";\":\n\t\t\t\t\tt = this._readPredicate;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \",\":\n\t\t\t\t\tt = this._readObject;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"{|\":\n\t\t\t\t\tif (!this._supportsRDFStar) return this._error(\"Unexpected RDF-star syntax\", e);\n\t\t\t\t\tlet a = this._predicate, o = this._object;\n\t\t\t\t\tthis._subject = this._factory.quad(r, a, o, this.DEFAULTGRAPH), t = this._readPredicate;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"|}\":\n\t\t\t\t\tif (this._subject.termType !== \"Quad\") return this._error(\"Unexpected asserted triple closing\", e);\n\t\t\t\t\tthis._subject = null, t = this._readPunctuation;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (this._supportsQuads && this._graph === null && (n = this._readEntity(e)) !== void 0) {\n\t\t\t\t\t\tt = this._readQuadPunctuation;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\treturn this._error(`Expected punctuation to follow \"${this._object.id}\"`, e);\n\t\t\t}\n\t\t\tif (r !== null) {\n\t\t\t\tlet e = this._predicate, t = this._object;\n\t\t\t\ti ? this._emit(t, e, r, n) : this._emit(r, e, t, n);\n\t\t\t}\n\t\t\treturn t;\n\t\t}\n\t\t_readBlankNodePunctuation(e) {\n\t\t\tlet t;\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \";\":\n\t\t\t\t\tt = this._readPredicate;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \",\":\n\t\t\t\t\tt = this._readObject;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: return this._error(`Expected punctuation to follow \"${this._object.id}\"`, e);\n\t\t\t}\n\t\t\treturn this._emit(this._subject, this._predicate, this._object, this._graph), t;\n\t\t}\n\t\t_readQuadPunctuation(e) {\n\t\t\treturn e.type === \".\" ? this._readInTopContext : this._error(\"Expected dot to follow quad\", e);\n\t\t}\n\t\t_readPrefix(e) {\n\t\t\treturn e.type === \"prefix\" ? (this._prefix = e.value, this._readPrefixIRI) : this._error(\"Expected prefix to follow @prefix\", e);\n\t\t}\n\t\t_readPrefixIRI(e) {\n\t\t\tif (e.type !== \"IRI\") return this._error(`Expected IRI to follow prefix \"${this._prefix}:\"`, e);\n\t\t\tlet t = this._readEntity(e);\n\t\t\treturn this._prefixes[this._prefix] = t.value, this._prefixCallback(this._prefix, t), this._readDeclarationPunctuation;\n\t\t}\n\t\t_readBaseIRI(e) {\n\t\t\tlet t = e.type === \"IRI\" && this._resolveIRI(e.value);\n\t\t\treturn t ? (this._setBase(t), this._readDeclarationPunctuation) : this._error(\"Expected valid IRI to follow base declaration\", e);\n\t\t}\n\t\t_readNamedGraphLabel(e) {\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"IRI\":\n\t\t\t\tcase \"blank\":\n\t\t\t\tcase \"prefixed\": return this._readSubject(e), this._readGraph;\n\t\t\t\tcase \"[\": return this._readNamedGraphBlankLabel;\n\t\t\t\tdefault: return this._error(\"Invalid graph label\", e);\n\t\t\t}\n\t\t}\n\t\t_readNamedGraphBlankLabel(e) {\n\t\t\treturn e.type === \"]\" ? (this._subject = this._factory.blankNode(), this._readGraph) : this._error(\"Invalid graph label\", e);\n\t\t}\n\t\t_readDeclarationPunctuation(e) {\n\t\t\treturn this._sparqlStyle ? (this._sparqlStyle = !1, this._readInTopContext(e)) : e.type === \".\" ? this._readInTopContext : this._error(\"Expected declaration to end with a dot\", e);\n\t\t}\n\t\t_readQuantifierList(e) {\n\t\t\tlet t;\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"IRI\":\n\t\t\t\tcase \"prefixed\": if ((t = this._readEntity(e, !0)) !== void 0) break;\n\t\t\t\tdefault: return this._error(`Unexpected ${e.type}`, e);\n\t\t\t}\n\t\t\treturn this._explicitQuantifiers ? (this._subject === null ? this._emit(this._graph || this.DEFAULTGRAPH, this._predicate, this._subject = this._factory.blankNode(), this.QUANTIFIERS_GRAPH) : this._emit(this._subject, this.RDF_REST, this._subject = this._factory.blankNode(), this.QUANTIFIERS_GRAPH), this._emit(this._subject, this.RDF_FIRST, t, this.QUANTIFIERS_GRAPH)) : this._quantified[t.id] = this._factory[this._quantifier](this._factory.blankNode().value), this._readQuantifierPunctuation;\n\t\t}\n\t\t_readQuantifierPunctuation(e) {\n\t\t\treturn e.type === \",\" ? this._readQuantifierList : (this._explicitQuantifiers && (this._emit(this._subject, this.RDF_REST, this.RDF_NIL, this.QUANTIFIERS_GRAPH), this._subject = null), this._readCallback = this._getContextEndReader(), this._readCallback(e));\n\t\t}\n\t\t_getPathReader(e) {\n\t\t\treturn this._afterPath = e, this._readPath;\n\t\t}\n\t\t_readPath(e) {\n\t\t\tswitch (e.type) {\n\t\t\t\tcase \"!\": return this._readForwardPath;\n\t\t\t\tcase \"^\": return this._readBackwardPath;\n\t\t\t\tdefault:\n\t\t\t\t\tlet t = this._contextStack, n = t.length && t[t.length - 1];\n\t\t\t\t\tif (n && n.type === \"item\") {\n\t\t\t\t\t\tlet t = this._subject;\n\t\t\t\t\t\tthis._restoreContext(\"item\", e), this._emit(this._subject, this.RDF_FIRST, t, this._graph);\n\t\t\t\t\t}\n\t\t\t\t\treturn this._afterPath(e);\n\t\t\t}\n\t\t}\n\t\t_readForwardPath(e) {\n\t\t\tlet t, n, r = this._factory.blankNode();\n\t\t\tif ((n = this._readEntity(e)) !== void 0) return this._predicate === null ? (t = this._subject, this._subject = r) : (t = this._object, this._object = r), this._emit(t, n, r, this._graph), this._readPath;\n\t\t}\n\t\t_readBackwardPath(e) {\n\t\t\tlet t = this._factory.blankNode(), n, r;\n\t\t\tif ((n = this._readEntity(e)) !== void 0) return this._predicate === null ? (r = this._subject, this._subject = t) : (r = this._object, this._object = t), this._emit(t, n, r, this._graph), this._readPath;\n\t\t}\n\t\t_readRDFStarTailOrGraph(e) {\n\t\t\treturn e.type === \">>\" ? this._readRDFStarTail(e) : this._supportsQuads && this._graph === null && (this._graph = this._readEntity(e)) !== void 0 ? this._readRDFStarTail : this._error(`Expected >> to follow \"${this._object.id}\"`, e);\n\t\t}\n\t\t_readRDFStarTail(e) {\n\t\t\tif (e.type !== \">>\") return this._error(`Expected >> but got ${e.type}`, e);\n\t\t\tlet t = this._factory.quad(this._subject, this._predicate, this._object, this._graph || this.DEFAULTGRAPH);\n\t\t\treturn this._restoreContext(\"<<\", e), this._subject === null ? (this._subject = t, this._readPredicate) : (this._object = t, this._getContextEndReader());\n\t\t}\n\t\t_getContextEndReader() {\n\t\t\tlet e = this._contextStack;\n\t\t\tif (!e.length) return this._readPunctuation;\n\t\t\tswitch (e[e.length - 1].type) {\n\t\t\t\tcase \"blank\": return this._readBlankNodeTail;\n\t\t\t\tcase \"list\": return this._readListItem;\n\t\t\t\tcase \"formula\": return this._readFormulaTail;\n\t\t\t\tcase \"<<\": return this._readRDFStarTailOrGraph;\n\t\t\t}\n\t\t}\n\t\t_emit(e, t, n, r) {\n\t\t\tthis._callback(null, this._factory.quad(e, t, n, r || this.DEFAULTGRAPH));\n\t\t}\n\t\t_error(e, t) {\n\t\t\tlet n = /* @__PURE__ */ Error(`${e} on line ${t.line}.`);\n\t\t\tn.context = {\n\t\t\t\ttoken: t,\n\t\t\t\tline: t.line,\n\t\t\t\tpreviousToken: this._lexer.previousToken\n\t\t\t}, this._callback(n), this._callback = Ne;\n\t\t}\n\t\t_resolveIRI(e) {\n\t\t\treturn /^[a-z][a-z0-9+.-]*:/i.test(e) ? e : this._resolveRelativeIRI(e);\n\t\t}\n\t\t_resolveRelativeIRI(e) {\n\t\t\tif (!e.length) return this._base;\n\t\t\tswitch (e[0]) {\n\t\t\t\tcase \"#\": return this._base + e;\n\t\t\t\tcase \"?\": return this._base.replace(/(?:\\?.*)?$/, e);\n\t\t\t\tcase \"/\": return (e[1] === \"/\" ? this._baseScheme : this._baseRoot) + this._removeDotSegments(e);\n\t\t\t\tdefault: return /^[^/:]*:/.test(e) ? null : this._removeDotSegments(this._basePath + e);\n\t\t\t}\n\t\t}\n\t\t_removeDotSegments(e) {\n\t\t\tif (!/(^|\\/)\\.\\.?($|[/#?])/.test(e)) return e;\n\t\t\tlet t = e.length, n = \"\", r = -1, i = -1, a = 0, o = \"/\";\n\t\t\tfor (; r < t;) {\n\t\t\t\tswitch (o) {\n\t\t\t\t\tcase \":\":\n\t\t\t\t\t\tif (i < 0 && e[++r] === \"/\" && e[++r] === \"/\") for (; (i = r + 1) < t && e[i] !== \"/\";) r = i;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"?\":\n\t\t\t\t\tcase \"#\":\n\t\t\t\t\t\tr = t;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"/\": if (e[r + 1] === \".\") switch (o = e[++r + 1], o) {\n\t\t\t\t\t\tcase \"/\":\n\t\t\t\t\t\t\tn += e.substring(a, r - 1), a = r + 1;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase void 0:\n\t\t\t\t\t\tcase \"?\":\n\t\t\t\t\t\tcase \"#\": return n + e.substring(a, r) + e.substr(r + 1);\n\t\t\t\t\t\tcase \".\": if (o = e[++r + 1], o === void 0 || o === \"/\" || o === \"?\" || o === \"#\") {\n\t\t\t\t\t\t\tif (n += e.substring(a, r - 2), (a = n.lastIndexOf(\"/\")) >= i && (n = n.substr(0, a)), o !== \"/\") return `${n}/${e.substr(r + 1)}`;\n\t\t\t\t\t\t\ta = r + 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\to = e[++r];\n\t\t\t}\n\t\t\treturn n + e.substring(a);\n\t\t}\n\t\tparse(e, t, n) {\n\t\t\tlet r, i, a;\n\t\t\tif (t && (t.onQuad || t.onPrefix || t.onComment) ? (r = t.onQuad, i = t.onPrefix, a = t.onComment) : (r = t, i = n), this._readCallback = this._readInTopContext, this._sparqlStyle = !1, this._prefixes = Object.create(null), this._prefixes._ = this._blankNodePrefix ? this._blankNodePrefix.substr(2) : `b${Fe++}_`, this._prefixCallback = i || Ne, this._inversePredicate = !1, this._quantified = Object.create(null), !r) {\n\t\t\t\tlet t = [], n;\n\t\t\t\tif (this._callback = (e, r) => {\n\t\t\t\t\te ? n = e : r && t.push(r);\n\t\t\t\t}, this._lexer.tokenize(e).every((e) => this._readCallback = this._readCallback(e)), n) throw n;\n\t\t\t\treturn t;\n\t\t\t}\n\t\t\tlet o = (e, t) => {\n\t\t\t\te === null ? this._readCallback &&= this._readCallback(t) : (this._callback(e), this._callback = Ne);\n\t\t\t};\n\t\t\ta && (this._lexer.comments = !0, o = (e, t) => {\n\t\t\t\te === null ? this._readCallback && (t.type === \"comment\" ? a(t.value) : this._readCallback = this._readCallback(t)) : (this._callback(e), this._callback = Ne);\n\t\t\t}), this._callback = r, this._lexer.tokenize(e, o);\n\t\t}\n\t}, Pe(Ie.prototype, we);\n})), Re = /* @__PURE__ */ o({\n\tinDefaultGraph: () => Ge,\n\tisBlankNode: () => Be,\n\tisDefaultGraph: () => We,\n\tisLiteral: () => Ve,\n\tisNamedNode: () => ze,\n\tisQuad: () => Ue,\n\tisVariable: () => He,\n\tprefix: () => Ke,\n\tprefixes: () => qe\n});\nfunction ze(e) {\n\treturn !!e && e.termType === \"NamedNode\";\n}\nfunction Be(e) {\n\treturn !!e && e.termType === \"BlankNode\";\n}\nfunction Ve(e) {\n\treturn !!e && e.termType === \"Literal\";\n}\nfunction He(e) {\n\treturn !!e && e.termType === \"Variable\";\n}\nfunction Ue(e) {\n\treturn !!e && e.termType === \"Quad\";\n}\nfunction We(e) {\n\treturn !!e && e.termType === \"DefaultGraph\";\n}\nfunction Ge(e) {\n\treturn We(e.graph);\n}\nfunction Ke(e, t) {\n\treturn qe({ \"\": e.value || e }, t)(\"\");\n}\nfunction qe(e, t) {\n\tlet n = Object.create(null);\n\tfor (let t in e) r(t, e[t]);\n\tt ||= we;\n\tfunction r(e, r) {\n\t\tif (typeof r == \"string\") {\n\t\t\tlet i = Object.create(null);\n\t\t\tn[e] = (e) => i[e] || (i[e] = t.namedNode(r + e));\n\t\t} else if (!(e in n)) throw Error(`Unknown prefix: ${e}`);\n\t\treturn n[e];\n\t}\n\treturn r;\n}\nvar Je = i((() => {\n\tMe();\n}));\nfunction Ye(e) {\n\treturn e.replace(/[\\]\\/\\(\\)\\*\\+\\?\\.\\\\\\$]/g, \"\\\\$&\");\n}\nvar Xe = i((() => {})), Ze, Qe, $e, et, tt, nt, rt, it = i((() => {\n\tXe(), Ze = /^:?[^:?#]*(?:[?#]|$)|^file:|^[^:]*:\\/*[^?#]+?\\/(?:\\.\\.?(?:\\/|$)|\\/)/i, Qe = /^(?:(?:[^/?#]{3,}|\\.?[^/?#.]\\.?)(?:\\/[^/?#]{3,}|\\.?[^/?#.]\\.?)*\\/?)?(?:[?#]|$)/, $e = \"./\", et = \"../\", tt = \"?\", nt = \"#\", rt = class e {\n\t\tconstructor(e) {\n\t\t\tthis.base = e, this._baseLength = 0, this._baseMatcher = null, this._pathReplacements = Array(e.length + 1);\n\t\t}\n\t\tstatic supports(e) {\n\t\t\treturn !Ze.test(e);\n\t\t}\n\t\t_getBaseMatcher() {\n\t\t\tif (this._baseMatcher) return this._baseMatcher;\n\t\t\tif (!e.supports(this.base)) return this._baseMatcher = /.^/;\n\t\t\tlet t = /^[^:]*:\\/*/.exec(this.base)[0], n = [\"^\", Ye(t)], r = [], i = [], a = /[^/?#]*([/?#])/y, o, s = 0, c = 0, l = a.lastIndex = t.length;\n\t\t\tfor (; !s && !c && (o = a.exec(this.base));) o[1] === nt ? c = a.lastIndex - 1 : (n.push(Ye(o[0]), \"(?:\"), r.push(\")?\"), o[1] === tt ? (s = l = a.lastIndex, c = this.base.indexOf(nt, s), this._pathReplacements[s] = tt) : i.push(l = a.lastIndex));\n\t\t\tfor (let e = 0; e < i.length; e++) this._pathReplacements[i[e]] = et.repeat(i.length - e - 1);\n\t\t\treturn this._pathReplacements[i[i.length - 1]] = $e, this._baseLength = c > 0 ? c : this.base.length, n.push(Ye(this.base.substring(l, this._baseLength)), s ? \"(?:#|$)\" : \"(?:[?#]|$)\"), this._baseMatcher = new RegExp([...n, ...r].join(\"\"));\n\t\t}\n\t\ttoRelative(e) {\n\t\t\tlet t = this._getBaseMatcher().exec(e);\n\t\t\tif (!t) return e;\n\t\t\tlet n = t[0].length;\n\t\t\tif (n === this._baseLength && n === e.length) return \"\";\n\t\t\tlet r = this._pathReplacements[n];\n\t\t\tif (r) {\n\t\t\t\tlet t = e.substring(n);\n\t\t\t\treturn r !== tt && !Qe.test(t) ? e : r === $e && /^[^?#]/.test(t) ? t : r + t;\n\t\t\t}\n\t\t\treturn e.substring(n - 1);\n\t\t}\n\t};\n}));\nfunction at(e) {\n\tlet t = dt[e];\n\treturn t === void 0 && (e.length === 1 ? (t = e.charCodeAt(0).toString(16), t = \"\\\\u0000\".substr(0, 6 - t.length) + t) : (t = ((e.charCodeAt(0) - 55296) * 1024 + e.charCodeAt(1) + 9216).toString(16), t = \"\\\\U00000000\".substr(0, 10 - t.length) + t)), t;\n}\nvar ot, st, ct, lt, ut, dt, ft, pt, mt = i((() => {\n\tq(), Me(), Je(), it(), Xe(), ot = we.defaultGraph(), {rdf: st, xsd: ct} = K, lt = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019\\ud800-\\udbff]/, ut = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\ud800-\\udbff][\\udc00-\\udfff]/g, dt = {\n\t\t\"\\\\\": \"\\\\\\\\\",\n\t\t\"\\\"\": \"\\\\\\\"\",\n\t\t\"\t\": \"\\\\t\",\n\t\t\"\\n\": \"\\\\n\",\n\t\t\"\\r\": \"\\\\r\",\n\t\t\"\\b\": \"\\\\b\",\n\t\t\"\\f\": \"\\\\f\"\n\t}, ft = class extends Te {\n\t\tequals(e) {\n\t\t\treturn e === this;\n\t\t}\n\t}, pt = class {\n\t\tconstructor(e, t) {\n\t\t\tif (this._prefixRegex = /$0^/, e && typeof e.write != \"function\" && (t = e, e = null), t ||= {}, this._lists = t.lists, e) this._outputStream = e, this._endStream = t.end === void 0 || !!t.end;\n\t\t\telse {\n\t\t\t\tlet e = \"\";\n\t\t\t\tthis._outputStream = {\n\t\t\t\t\twrite(t, n, r) {\n\t\t\t\t\t\te += t, r && r();\n\t\t\t\t\t},\n\t\t\t\t\tend: (t) => {\n\t\t\t\t\t\tt && t(null, e);\n\t\t\t\t\t}\n\t\t\t\t}, this._endStream = !0;\n\t\t\t}\n\t\t\tthis._subject = null, /triple|quad/i.test(t.format) ? (this._lineMode = !0, this._writeQuad = this._writeQuadLine) : (this._lineMode = !1, this._graph = ot, this._prefixIRIs = Object.create(null), t.prefixes && this.addPrefixes(t.prefixes), t.baseIRI && (this._baseIri = new rt(t.baseIRI)));\n\t\t}\n\t\tget _inDefaultGraph() {\n\t\t\treturn ot.equals(this._graph);\n\t\t}\n\t\t_write(e, t) {\n\t\t\tthis._outputStream.write(e, \"utf8\", t);\n\t\t}\n\t\t_writeQuad(e, t, n, r, i) {\n\t\t\ttry {\n\t\t\t\tr.equals(this._graph) || (this._write((this._subject === null ? \"\" : this._inDefaultGraph ? \".\\n\" : \"\\n}\\n\") + (ot.equals(r) ? \"\" : `${this._encodeIriOrBlank(r)} {\\n`)), this._graph = r, this._subject = null), e.equals(this._subject) ? t.equals(this._predicate) ? this._write(`, ${this._encodeObject(n)}`, i) : this._write(`;\\n ${this._encodePredicate(this._predicate = t)} ${this._encodeObject(n)}`, i) : this._write(`${(this._subject === null ? \"\" : \".\\n\") + this._encodeSubject(this._subject = e)} ${this._encodePredicate(this._predicate = t)} ${this._encodeObject(n)}`, i);\n\t\t\t} catch (e) {\n\t\t\t\ti && i(e);\n\t\t\t}\n\t\t}\n\t\t_writeQuadLine(e, t, n, r, i) {\n\t\t\tdelete this._prefixMatch, this._write(this.quadToString(e, t, n, r), i);\n\t\t}\n\t\tquadToString(e, t, n, r) {\n\t\t\treturn `${this._encodeSubject(e)} ${this._encodeIriOrBlank(t)} ${this._encodeObject(n)}${r && r.value ? ` ${this._encodeIriOrBlank(r)} .\\n` : \" .\\n\"}`;\n\t\t}\n\t\tquadsToString(e) {\n\t\t\tlet t = \"\";\n\t\t\tfor (let n of e) t += this.quadToString(n.subject, n.predicate, n.object, n.graph);\n\t\t\treturn t;\n\t\t}\n\t\t_encodeSubject(e) {\n\t\t\treturn e.termType === \"Quad\" ? this._encodeQuad(e) : this._encodeIriOrBlank(e);\n\t\t}\n\t\t_encodeIriOrBlank(e) {\n\t\t\tif (e.termType !== \"NamedNode\") return this._lists && e.value in this._lists && (e = this.list(this._lists[e.value])), \"id\" in e ? e.id : `_:${e.value}`;\n\t\t\tlet t = e.value;\n\t\t\tthis._baseIri && (t = this._baseIri.toRelative(t)), lt.test(t) && (t = t.replace(ut, at));\n\t\t\tlet n = this._prefixRegex.exec(t);\n\t\t\treturn n ? n[1] ? this._prefixIRIs[n[1]] + n[2] : t : `<${t}>`;\n\t\t}\n\t\t_encodeLiteral(e) {\n\t\t\tlet t = e.value;\n\t\t\tif (lt.test(t) && (t = t.replace(ut, at)), e.language) return `\"${t}\"@${e.language}`;\n\t\t\tif (this._lineMode) {\n\t\t\t\tif (e.datatype.value === ct.string) return `\"${t}\"`;\n\t\t\t} else switch (e.datatype.value) {\n\t\t\t\tcase ct.string: return `\"${t}\"`;\n\t\t\t\tcase ct.boolean:\n\t\t\t\t\tif (t === \"true\" || t === \"false\") return t;\n\t\t\t\t\tbreak;\n\t\t\t\tcase ct.integer:\n\t\t\t\t\tif (/^[+-]?\\d+$/.test(t)) return t;\n\t\t\t\t\tbreak;\n\t\t\t\tcase ct.decimal:\n\t\t\t\t\tif (/^[+-]?\\d*\\.\\d+$/.test(t)) return t;\n\t\t\t\t\tbreak;\n\t\t\t\tcase ct.double: if (/^[+-]?(?:\\d+\\.\\d*|\\.?\\d+)[eE][+-]?\\d+$/.test(t)) return t;\n\t\t\t}\n\t\t\treturn `\"${t}\"^^${this._encodeIriOrBlank(e.datatype)}`;\n\t\t}\n\t\t_encodePredicate(e) {\n\t\t\treturn e.value === st.type ? \"a\" : this._encodeIriOrBlank(e);\n\t\t}\n\t\t_encodeObject(e) {\n\t\t\tswitch (e.termType) {\n\t\t\t\tcase \"Quad\": return this._encodeQuad(e);\n\t\t\t\tcase \"Literal\": return this._encodeLiteral(e);\n\t\t\t\tdefault: return this._encodeIriOrBlank(e);\n\t\t\t}\n\t\t}\n\t\t_encodeQuad({ subject: e, predicate: t, object: n, graph: r }) {\n\t\t\treturn `<<${this._encodeSubject(e)} ${this._encodePredicate(t)} ${this._encodeObject(n)}${We(r) ? \"\" : ` ${this._encodeIriOrBlank(r)}`}>>`;\n\t\t}\n\t\t_blockedWrite() {\n\t\t\tthrow Error(\"Cannot write because the writer has been closed.\");\n\t\t}\n\t\taddQuad(e, t, n, r, i) {\n\t\t\tn === void 0 ? this._writeQuad(e.subject, e.predicate, e.object, e.graph, t) : typeof r == \"function\" ? this._writeQuad(e, t, n, ot, r) : this._writeQuad(e, t, n, r || ot, i);\n\t\t}\n\t\taddQuads(e) {\n\t\t\tfor (let t = 0; t < e.length; t++) this.addQuad(e[t]);\n\t\t}\n\t\taddPrefix(e, t, n) {\n\t\t\tlet r = {};\n\t\t\tr[e] = t, this.addPrefixes(r, n);\n\t\t}\n\t\taddPrefixes(e, t) {\n\t\t\tif (!this._prefixIRIs) return t && t();\n\t\t\tlet n = !1;\n\t\t\tfor (let t in e) {\n\t\t\t\tlet r = e[t];\n\t\t\t\ttypeof r != \"string\" && (r = r.value), n = !0, this._subject !== null && (this._write(this._inDefaultGraph ? \".\\n\" : \"\\n}\\n\"), this._subject = null, this._graph = \"\"), this._prefixIRIs[r] = t += \":\", this._write(`@prefix ${t} <${r}>.\\n`);\n\t\t\t}\n\t\t\tif (n) {\n\t\t\t\tlet e = \"\", t = \"\";\n\t\t\t\tfor (let n in this._prefixIRIs) e += e ? `|${n}` : n, t += (t ? \"|\" : \"\") + this._prefixIRIs[n];\n\t\t\t\te = Ye(e, /[\\]\\/\\(\\)\\*\\+\\?\\.\\\\\\$]/g, \"\\\\$&\"), this._prefixRegex = RegExp(`^(?:${t})[^\\/]*$|^(${e})([_a-zA-Z0-9][\\\\-_a-zA-Z0-9]*)$`);\n\t\t\t}\n\t\t\tthis._write(n ? \"\\n\" : \"\", t);\n\t\t}\n\t\tblank(e, t) {\n\t\t\tlet n = e, r, i;\n\t\t\tswitch (e === void 0 ? n = [] : e.termType ? n = [{\n\t\t\t\tpredicate: e,\n\t\t\t\tobject: t\n\t\t\t}] : \"length\" in e || (n = [e]), i = n.length) {\n\t\t\t\tcase 0: return new ft(\"[]\");\n\t\t\t\tcase 1: if (r = n[0], !(r.object instanceof ft)) return new ft(`[ ${this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)} ]`);\n\t\t\t\tdefault:\n\t\t\t\t\tlet t = \"[\";\n\t\t\t\t\tfor (let a = 0; a < i; a++) r = n[a], r.predicate.equals(e) ? t += `, ${this._encodeObject(r.object)}` : (t += `${(a ? \";\\n \" : \"\\n \") + this._encodePredicate(r.predicate)} ${this._encodeObject(r.object)}`, e = r.predicate);\n\t\t\t\t\treturn new ft(`${t}\\n]`);\n\t\t\t}\n\t\t}\n\t\tlist(e) {\n\t\t\tlet t = e && e.length || 0, n = Array(t);\n\t\t\tfor (let r = 0; r < t; r++) n[r] = this._encodeObject(e[r]);\n\t\t\treturn new ft(`(${n.join(\" \")})`);\n\t\t}\n\t\tend(e) {\n\t\t\tthis._subject !== null && (this._write(this._inDefaultGraph ? \".\\n\" : \"\\n}\\n\"), this._subject = null), this._write = this._blockedWrite;\n\t\t\tlet t = e && ((n, r) => {\n\t\t\t\tt = null, e(n, r);\n\t\t\t});\n\t\t\tif (this._endStream) try {\n\t\t\t\treturn this._outputStream.end(t);\n\t\t\t} catch {}\n\t\t\tt && t();\n\t\t}\n\t};\n})), Z = /* @__PURE__ */ a(((e, t) => {\n\tt.exports = {\n\t\tAggregateError: class extends Error {\n\t\t\tconstructor(e) {\n\t\t\t\tif (!Array.isArray(e)) throw TypeError(`Expected input to be an Array, got ${typeof e}`);\n\t\t\t\tlet t = \"\";\n\t\t\t\tfor (let n = 0; n < e.length; n++) t += ` ${e[n].stack}\\n`;\n\t\t\t\tsuper(t), this.name = \"AggregateError\", this.errors = e;\n\t\t\t}\n\t\t},\n\t\tArrayIsArray(e) {\n\t\t\treturn Array.isArray(e);\n\t\t},\n\t\tArrayPrototypeIncludes(e, t) {\n\t\t\treturn e.includes(t);\n\t\t},\n\t\tArrayPrototypeIndexOf(e, t) {\n\t\t\treturn e.indexOf(t);\n\t\t},\n\t\tArrayPrototypeJoin(e, t) {\n\t\t\treturn e.join(t);\n\t\t},\n\t\tArrayPrototypeMap(e, t) {\n\t\t\treturn e.map(t);\n\t\t},\n\t\tArrayPrototypePop(e, t) {\n\t\t\treturn e.pop(t);\n\t\t},\n\t\tArrayPrototypePush(e, t) {\n\t\t\treturn e.push(t);\n\t\t},\n\t\tArrayPrototypeSlice(e, t, n) {\n\t\t\treturn e.slice(t, n);\n\t\t},\n\t\tError,\n\t\tFunctionPrototypeCall(e, t, ...n) {\n\t\t\treturn e.call(t, ...n);\n\t\t},\n\t\tFunctionPrototypeSymbolHasInstance(e, t) {\n\t\t\treturn Function.prototype[Symbol.hasInstance].call(e, t);\n\t\t},\n\t\tMathFloor: Math.floor,\n\t\tNumber,\n\t\tNumberIsInteger: Number.isInteger,\n\t\tNumberIsNaN: Number.isNaN,\n\t\tNumberMAX_SAFE_INTEGER: 2 ** 53 - 1,\n\t\tNumberMIN_SAFE_INTEGER: -(2 ** 53 - 1),\n\t\tNumberParseInt: Number.parseInt,\n\t\tObjectDefineProperties(e, t) {\n\t\t\treturn Object.defineProperties(e, t);\n\t\t},\n\t\tObjectDefineProperty(e, t, n) {\n\t\t\treturn Object.defineProperty(e, t, n);\n\t\t},\n\t\tObjectGetOwnPropertyDescriptor(e, t) {\n\t\t\treturn Object.getOwnPropertyDescriptor(e, t);\n\t\t},\n\t\tObjectKeys(e) {\n\t\t\treturn Object.keys(e);\n\t\t},\n\t\tObjectSetPrototypeOf(e, t) {\n\t\t\treturn Object.setPrototypeOf(e, t);\n\t\t},\n\t\tPromise,\n\t\tPromisePrototypeCatch(e, t) {\n\t\t\treturn e.catch(t);\n\t\t},\n\t\tPromisePrototypeThen(e, t, n) {\n\t\t\treturn e.then(t, n);\n\t\t},\n\t\tPromiseReject(e) {\n\t\t\treturn Promise.reject(e);\n\t\t},\n\t\tPromiseResolve(e) {\n\t\t\treturn Promise.resolve(e);\n\t\t},\n\t\tReflectApply: Reflect.apply,\n\t\tRegExpPrototypeTest(e, t) {\n\t\t\treturn e.test(t);\n\t\t},\n\t\tSafeSet: Set,\n\t\tString,\n\t\tStringPrototypeSlice(e, t, n) {\n\t\t\treturn e.slice(t, n);\n\t\t},\n\t\tStringPrototypeToLowerCase(e) {\n\t\t\treturn e.toLowerCase();\n\t\t},\n\t\tStringPrototypeToUpperCase(e) {\n\t\t\treturn e.toUpperCase();\n\t\t},\n\t\tStringPrototypeTrim(e) {\n\t\t\treturn e.trim();\n\t\t},\n\t\tSymbol,\n\t\tSymbolFor: Symbol.for,\n\t\tSymbolAsyncIterator: Symbol.asyncIterator,\n\t\tSymbolHasInstance: Symbol.hasInstance,\n\t\tSymbolIterator: Symbol.iterator,\n\t\tSymbolDispose: Symbol.dispose || Symbol(\"Symbol.dispose\"),\n\t\tSymbolAsyncDispose: Symbol.asyncDispose || Symbol(\"Symbol.asyncDispose\"),\n\t\tTypedArrayPrototypeSet(e, t, n) {\n\t\t\treturn e.set(t, n);\n\t\t},\n\t\tBoolean,\n\t\tUint8Array\n\t};\n})), ht = /* @__PURE__ */ a(((e, t) => {\n\tt.exports = {\n\t\tformat(e, ...t) {\n\t\t\treturn e.replace(/%([sdifj])/g, function(...[e, n]) {\n\t\t\t\tlet r = t.shift();\n\t\t\t\treturn n === \"f\" ? r.toFixed(6) : n === \"j\" ? JSON.stringify(r) : n === \"s\" && typeof r == \"object\" ? `${r.constructor === Object ? \"\" : r.constructor.name} {}`.trim() : r.toString();\n\t\t\t});\n\t\t},\n\t\tinspect(e) {\n\t\t\tswitch (typeof e) {\n\t\t\t\tcase \"string\":\n\t\t\t\t\tif (e.includes(\"'\")) {\n\t\t\t\t\t\tif (!e.includes(\"\\\"\")) return `\"${e}\"`;\n\t\t\t\t\t\tif (!e.includes(\"`\") && !e.includes(\"${\")) return `\\`${e}\\``;\n\t\t\t\t\t}\n\t\t\t\t\treturn `'${e}'`;\n\t\t\t\tcase \"number\": return isNaN(e) ? \"NaN\" : Object.is(e, -0) ? String(e) : e;\n\t\t\t\tcase \"bigint\": return `${String(e)}n`;\n\t\t\t\tcase \"boolean\":\n\t\t\t\tcase \"undefined\": return String(e);\n\t\t\t\tcase \"object\": return \"{}\";\n\t\t\t}\n\t\t}\n\t};\n})), Q = /* @__PURE__ */ a(((e, t) => {\n\tvar { format: n, inspect: r } = ht(), { AggregateError: i } = Z(), a = globalThis.AggregateError || i, o = Symbol(\"kIsNodeError\"), s = [\n\t\t\"string\",\n\t\t\"function\",\n\t\t\"number\",\n\t\t\"object\",\n\t\t\"Function\",\n\t\t\"Object\",\n\t\t\"boolean\",\n\t\t\"bigint\",\n\t\t\"symbol\"\n\t], c = /^([A-Z][a-z0-9]*)+$/, l = \"__node_internal_\", u = {};\n\tfunction d(e, t) {\n\t\tif (!e) throw new u.ERR_INTERNAL_ASSERTION(t);\n\t}\n\tfunction f(e) {\n\t\tlet t = \"\", n = e.length, r = +(e[0] === \"-\");\n\t\tfor (; n >= r + 4; n -= 3) t = `_${e.slice(n - 3, n)}${t}`;\n\t\treturn `${e.slice(0, n)}${t}`;\n\t}\n\tfunction p(e, t, r) {\n\t\tif (typeof t == \"function\") return d(t.length <= r.length, `Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${t.length}).`), t(...r);\n\t\tlet i = (t.match(/%[dfijoOs]/g) || []).length;\n\t\treturn d(i === r.length, `Code: ${e}; The provided arguments length (${r.length}) does not match the required ones (${i}).`), r.length === 0 ? t : n(t, ...r);\n\t}\n\tfunction m(e, t, n) {\n\t\tn ||= Error;\n\t\tclass r extends n {\n\t\t\tconstructor(...n) {\n\t\t\t\tsuper(p(e, t, n));\n\t\t\t}\n\t\t\ttoString() {\n\t\t\t\treturn `${this.name} [${e}]: ${this.message}`;\n\t\t\t}\n\t\t}\n\t\tObject.defineProperties(r.prototype, {\n\t\t\tname: {\n\t\t\t\tvalue: n.name,\n\t\t\t\twritable: !0,\n\t\t\t\tenumerable: !1,\n\t\t\t\tconfigurable: !0\n\t\t\t},\n\t\t\ttoString: {\n\t\t\t\tvalue() {\n\t\t\t\t\treturn `${this.name} [${e}]: ${this.message}`;\n\t\t\t\t},\n\t\t\t\twritable: !0,\n\t\t\t\tenumerable: !1,\n\t\t\t\tconfigurable: !0\n\t\t\t}\n\t\t}), r.prototype.code = e, r.prototype[o] = !0, u[e] = r;\n\t}\n\tfunction h(e) {\n\t\tlet t = l + e.name;\n\t\treturn Object.defineProperty(e, \"name\", { value: t }), e;\n\t}\n\tfunction g(e, t) {\n\t\tif (e && t && e !== t) {\n\t\t\tif (Array.isArray(t.errors)) return t.errors.push(e), t;\n\t\t\tlet n = new a([t, e], t.message);\n\t\t\treturn n.code = t.code, n;\n\t\t}\n\t\treturn e || t;\n\t}\n\tvar _ = class extends Error {\n\t\tconstructor(e = \"The operation was aborted\", t = void 0) {\n\t\t\tif (t !== void 0 && typeof t != \"object\") throw new u.ERR_INVALID_ARG_TYPE(\"options\", \"Object\", t);\n\t\t\tsuper(e, t), this.code = \"ABORT_ERR\", this.name = \"AbortError\";\n\t\t}\n\t};\n\tm(\"ERR_ASSERTION\", \"%s\", Error), m(\"ERR_INVALID_ARG_TYPE\", (e, t, n) => {\n\t\td(typeof e == \"string\", \"'name' must be a string\"), Array.isArray(t) || (t = [t]);\n\t\tlet i = \"The \";\n\t\te.endsWith(\" argument\") ? i += `${e} ` : i += `\"${e}\" ${e.includes(\".\") ? \"property\" : \"argument\"} `, i += \"must be \";\n\t\tlet a = [], o = [], l = [];\n\t\tfor (let e of t) d(typeof e == \"string\", \"All expected entries have to be of type string\"), s.includes(e) ? a.push(e.toLowerCase()) : c.test(e) ? o.push(e) : (d(e !== \"object\", \"The value \\\"object\\\" should be written as \\\"Object\\\"\"), l.push(e));\n\t\tif (o.length > 0) {\n\t\t\tlet e = a.indexOf(\"object\");\n\t\t\te !== -1 && (a.splice(a, e, 1), o.push(\"Object\"));\n\t\t}\n\t\tif (a.length > 0) {\n\t\t\tswitch (a.length) {\n\t\t\t\tcase 1:\n\t\t\t\t\ti += `of type ${a[0]}`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\ti += `one of type ${a[0]} or ${a[1]}`;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: {\n\t\t\t\t\tlet e = a.pop();\n\t\t\t\t\ti += `one of type ${a.join(\", \")}, or ${e}`;\n\t\t\t\t}\n\t\t\t}\n\t\t\t(o.length > 0 || l.length > 0) && (i += \" or \");\n\t\t}\n\t\tif (o.length > 0) {\n\t\t\tswitch (o.length) {\n\t\t\t\tcase 1:\n\t\t\t\t\ti += `an instance of ${o[0]}`;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 2:\n\t\t\t\t\ti += `an instance of ${o[0]} or ${o[1]}`;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault: {\n\t\t\t\t\tlet e = o.pop();\n\t\t\t\t\ti += `an instance of ${o.join(\", \")}, or ${e}`;\n\t\t\t\t}\n\t\t\t}\n\t\t\tl.length > 0 && (i += \" or \");\n\t\t}\n\t\tswitch (l.length) {\n\t\t\tcase 0: break;\n\t\t\tcase 1:\n\t\t\t\tl[0].toLowerCase() !== l[0] && (i += \"an \"), i += `${l[0]}`;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\ti += `one of ${l[0]} or ${l[1]}`;\n\t\t\t\tbreak;\n\t\t\tdefault: {\n\t\t\t\tlet e = l.pop();\n\t\t\t\ti += `one of ${l.join(\", \")}, or ${e}`;\n\t\t\t}\n\t\t}\n\t\tif (n == null) i += `. Received ${n}`;\n\t\telse if (typeof n == \"function\" && n.name) i += `. Received function ${n.name}`;\n\t\telse if (typeof n == \"object\") {\n\t\t\tvar u;\n\t\t\tif ((u = n.constructor) != null && u.name) i += `. Received an instance of ${n.constructor.name}`;\n\t\t\telse {\n\t\t\t\tlet e = r(n, { depth: -1 });\n\t\t\t\ti += `. Received ${e}`;\n\t\t\t}\n\t\t} else {\n\t\t\tlet e = r(n, { colors: !1 });\n\t\t\te.length > 25 && (e = `${e.slice(0, 25)}...`), i += `. Received type ${typeof n} (${e})`;\n\t\t}\n\t\treturn i;\n\t}, TypeError), m(\"ERR_INVALID_ARG_VALUE\", (e, t, n = \"is invalid\") => {\n\t\tlet i = r(t);\n\t\treturn i.length > 128 && (i = i.slice(0, 128) + \"...\"), `The ${e.includes(\".\") ? \"property\" : \"argument\"} '${e}' ${n}. Received ${i}`;\n\t}, TypeError), m(\"ERR_INVALID_RETURN_VALUE\", (e, t, n) => {\n\t\tvar r;\n\t\treturn `Expected ${e} to be returned from the \"${t}\" function but got ${n != null && (r = n.constructor) != null && r.name ? `instance of ${n.constructor.name}` : `type ${typeof n}`}.`;\n\t}, TypeError), m(\"ERR_MISSING_ARGS\", (...e) => {\n\t\td(e.length > 0, \"At least one arg needs to be specified\");\n\t\tlet t, n = e.length;\n\t\tswitch (e = (Array.isArray(e) ? e : [e]).map((e) => `\"${e}\"`).join(\" or \"), n) {\n\t\t\tcase 1:\n\t\t\t\tt += `The ${e[0]} argument`;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tt += `The ${e[0]} and ${e[1]} arguments`;\n\t\t\t\tbreak;\n\t\t\tdefault: {\n\t\t\t\tlet n = e.pop();\n\t\t\t\tt += `The ${e.join(\", \")}, and ${n} arguments`;\n\t\t\t}\n\t\t}\n\t\treturn `${t} must be specified`;\n\t}, TypeError), m(\"ERR_OUT_OF_RANGE\", (e, t, n) => {\n\t\td(t, \"Missing \\\"range\\\" argument\");\n\t\tlet i;\n\t\tif (Number.isInteger(n) && Math.abs(n) > 2 ** 32) i = f(String(n));\n\t\telse if (typeof n == \"bigint\") {\n\t\t\ti = String(n);\n\t\t\tlet e = BigInt(2) ** BigInt(32);\n\t\t\t(n > e || n < -e) && (i = f(i)), i += \"n\";\n\t\t} else i = r(n);\n\t\treturn `The value of \"${e}\" is out of range. It must be ${t}. Received ${i}`;\n\t}, RangeError), m(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\", Error), m(\"ERR_METHOD_NOT_IMPLEMENTED\", \"The %s method is not implemented\", Error), m(\"ERR_STREAM_ALREADY_FINISHED\", \"Cannot call %s after a stream was finished\", Error), m(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\", Error), m(\"ERR_STREAM_DESTROYED\", \"Cannot call %s after a stream was destroyed\", Error), m(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError), m(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\", Error), m(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\", Error), m(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\", Error), m(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\", Error), m(\"ERR_UNKNOWN_ENCODING\", \"Unknown encoding: %s\", TypeError), t.exports = {\n\t\tAbortError: _,\n\t\taggregateTwoErrors: h(g),\n\t\thideStackFrames: h,\n\t\tcodes: u\n\t};\n})), gt = /* @__PURE__ */ a(((e, t) => {\n\tvar { AbortController: n, AbortSignal: r } = typeof self < \"u\" ? self : typeof window < \"u\" ? window : void 0;\n\tt.exports = n, t.exports.AbortSignal = r, t.exports.default = n;\n})), _t = /* @__PURE__ */ a(((e, t) => {\n\tvar n = typeof Reflect == \"object\" ? Reflect : null, r = n && typeof n.apply == \"function\" ? n.apply : function(e, t, n) {\n\t\treturn Function.prototype.apply.call(e, t, n);\n\t}, i = n && typeof n.ownKeys == \"function\" ? n.ownKeys : Object.getOwnPropertySymbols ? function(e) {\n\t\treturn Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));\n\t} : function(e) {\n\t\treturn Object.getOwnPropertyNames(e);\n\t};\n\tfunction a(e) {\n\t\tconsole && console.warn && console.warn(e);\n\t}\n\tvar o = Number.isNaN || function(e) {\n\t\treturn e !== e;\n\t};\n\tfunction s() {\n\t\ts.init.call(this);\n\t}\n\tt.exports = s, t.exports.once = y, s.EventEmitter = s, s.prototype._events = void 0, s.prototype._eventsCount = 0, s.prototype._maxListeners = void 0;\n\tvar c = 10;\n\tfunction l(e) {\n\t\tif (typeof e != \"function\") throw TypeError(\"The \\\"listener\\\" argument must be of type Function. Received type \" + typeof e);\n\t}\n\tObject.defineProperty(s, \"defaultMaxListeners\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn c;\n\t\t},\n\t\tset: function(e) {\n\t\t\tif (typeof e != \"number\" || e < 0 || o(e)) throw RangeError(\"The value of \\\"defaultMaxListeners\\\" is out of range. It must be a non-negative number. Received \" + e + \".\");\n\t\t\tc = e;\n\t\t}\n\t}), s.init = function() {\n\t\t(this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) && (this._events = Object.create(null), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;\n\t}, s.prototype.setMaxListeners = function(e) {\n\t\tif (typeof e != \"number\" || e < 0 || o(e)) throw RangeError(\"The value of \\\"n\\\" is out of range. It must be a non-negative number. Received \" + e + \".\");\n\t\treturn this._maxListeners = e, this;\n\t};\n\tfunction u(e) {\n\t\treturn e._maxListeners === void 0 ? s.defaultMaxListeners : e._maxListeners;\n\t}\n\ts.prototype.getMaxListeners = function() {\n\t\treturn u(this);\n\t}, s.prototype.emit = function(e) {\n\t\tfor (var t = [], n = 1; n < arguments.length; n++) t.push(arguments[n]);\n\t\tvar i = e === \"error\", a = this._events;\n\t\tif (a !== void 0) i &&= a.error === void 0;\n\t\telse if (!i) return !1;\n\t\tif (i) {\n\t\t\tvar o;\n\t\t\tif (t.length > 0 && (o = t[0]), o instanceof Error) throw o;\n\t\t\tvar s = /* @__PURE__ */ Error(\"Unhandled error.\" + (o ? \" (\" + o.message + \")\" : \"\"));\n\t\t\tthrow s.context = o, s;\n\t\t}\n\t\tvar c = a[e];\n\t\tif (c === void 0) return !1;\n\t\tif (typeof c == \"function\") r(c, this, t);\n\t\telse for (var l = c.length, u = g(c, l), n = 0; n < l; ++n) r(u[n], this, t);\n\t\treturn !0;\n\t};\n\tfunction d(e, t, n, r) {\n\t\tvar i, o, s;\n\t\tif (l(n), o = e._events, o === void 0 ? (o = e._events = Object.create(null), e._eventsCount = 0) : (o.newListener !== void 0 && (e.emit(\"newListener\", t, n.listener ? n.listener : n), o = e._events), s = o[t]), s === void 0) s = o[t] = n, ++e._eventsCount;\n\t\telse if (typeof s == \"function\" ? s = o[t] = r ? [n, s] : [s, n] : r ? s.unshift(n) : s.push(n), i = u(e), i > 0 && s.length > i && !s.warned) {\n\t\t\ts.warned = !0;\n\t\t\tvar c = /* @__PURE__ */ Error(\"Possible EventEmitter memory leak detected. \" + s.length + \" \" + String(t) + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n\t\t\tc.name = \"MaxListenersExceededWarning\", c.emitter = e, c.type = t, c.count = s.length, a(c);\n\t\t}\n\t\treturn e;\n\t}\n\ts.prototype.addListener = function(e, t) {\n\t\treturn d(this, e, t, !1);\n\t}, s.prototype.on = s.prototype.addListener, s.prototype.prependListener = function(e, t) {\n\t\treturn d(this, e, t, !0);\n\t};\n\tfunction f() {\n\t\tif (!this.fired) return this.target.removeListener(this.type, this.wrapFn), this.fired = !0, arguments.length === 0 ? this.listener.call(this.target) : this.listener.apply(this.target, arguments);\n\t}\n\tfunction p(e, t, n) {\n\t\tvar r = {\n\t\t\tfired: !1,\n\t\t\twrapFn: void 0,\n\t\t\ttarget: e,\n\t\t\ttype: t,\n\t\t\tlistener: n\n\t\t}, i = f.bind(r);\n\t\treturn i.listener = n, r.wrapFn = i, i;\n\t}\n\ts.prototype.once = function(e, t) {\n\t\treturn l(t), this.on(e, p(this, e, t)), this;\n\t}, s.prototype.prependOnceListener = function(e, t) {\n\t\treturn l(t), this.prependListener(e, p(this, e, t)), this;\n\t}, s.prototype.removeListener = function(e, t) {\n\t\tvar n, r, i, a, o;\n\t\tif (l(t), r = this._events, r === void 0 || (n = r[e], n === void 0)) return this;\n\t\tif (n === t || n.listener === t) --this._eventsCount === 0 ? this._events = Object.create(null) : (delete r[e], r.removeListener && this.emit(\"removeListener\", e, n.listener || t));\n\t\telse if (typeof n != \"function\") {\n\t\t\tfor (i = -1, a = n.length - 1; a >= 0; a--) if (n[a] === t || n[a].listener === t) {\n\t\t\t\to = n[a].listener, i = a;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (i < 0) return this;\n\t\t\ti === 0 ? n.shift() : _(n, i), n.length === 1 && (r[e] = n[0]), r.removeListener !== void 0 && this.emit(\"removeListener\", e, o || t);\n\t\t}\n\t\treturn this;\n\t}, s.prototype.off = s.prototype.removeListener, s.prototype.removeAllListeners = function(e) {\n\t\tvar t, n = this._events, r;\n\t\tif (n === void 0) return this;\n\t\tif (n.removeListener === void 0) return arguments.length === 0 ? (this._events = Object.create(null), this._eventsCount = 0) : n[e] !== void 0 && (--this._eventsCount === 0 ? this._events = Object.create(null) : delete n[e]), this;\n\t\tif (arguments.length === 0) {\n\t\t\tvar i = Object.keys(n), a;\n\t\t\tfor (r = 0; r < i.length; ++r) a = i[r], a !== \"removeListener\" && this.removeAllListeners(a);\n\t\t\treturn this.removeAllListeners(\"removeListener\"), this._events = Object.create(null), this._eventsCount = 0, this;\n\t\t}\n\t\tif (t = n[e], typeof t == \"function\") this.removeListener(e, t);\n\t\telse if (t !== void 0) for (r = t.length - 1; r >= 0; r--) this.removeListener(e, t[r]);\n\t\treturn this;\n\t};\n\tfunction m(e, t, n) {\n\t\tvar r = e._events;\n\t\tif (r === void 0) return [];\n\t\tvar i = r[t];\n\t\treturn i === void 0 ? [] : typeof i == \"function\" ? n ? [i.listener || i] : [i] : n ? v(i) : g(i, i.length);\n\t}\n\ts.prototype.listeners = function(e) {\n\t\treturn m(this, e, !0);\n\t}, s.prototype.rawListeners = function(e) {\n\t\treturn m(this, e, !1);\n\t}, s.listenerCount = function(e, t) {\n\t\treturn typeof e.listenerCount == \"function\" ? e.listenerCount(t) : h.call(e, t);\n\t}, s.prototype.listenerCount = h;\n\tfunction h(e) {\n\t\tvar t = this._events;\n\t\tif (t !== void 0) {\n\t\t\tvar n = t[e];\n\t\t\tif (typeof n == \"function\") return 1;\n\t\t\tif (n !== void 0) return n.length;\n\t\t}\n\t\treturn 0;\n\t}\n\ts.prototype.eventNames = function() {\n\t\treturn this._eventsCount > 0 ? i(this._events) : [];\n\t};\n\tfunction g(e, t) {\n\t\tfor (var n = Array(t), r = 0; r < t; ++r) n[r] = e[r];\n\t\treturn n;\n\t}\n\tfunction _(e, t) {\n\t\tfor (; t + 1 < e.length; t++) e[t] = e[t + 1];\n\t\te.pop();\n\t}\n\tfunction v(e) {\n\t\tfor (var t = Array(e.length), n = 0; n < t.length; ++n) t[n] = e[n].listener || e[n];\n\t\treturn t;\n\t}\n\tfunction y(e, t) {\n\t\treturn new Promise(function(n, r) {\n\t\t\tfunction i(n) {\n\t\t\t\te.removeListener(t, a), r(n);\n\t\t\t}\n\t\t\tfunction a() {\n\t\t\t\ttypeof e.removeListener == \"function\" && e.removeListener(\"error\", i), n([].slice.call(arguments));\n\t\t\t}\n\t\t\tx(e, t, a, { once: !0 }), t !== \"error\" && b(e, i, { once: !0 });\n\t\t});\n\t}\n\tfunction b(e, t, n) {\n\t\ttypeof e.on == \"function\" && x(e, \"error\", t, n);\n\t}\n\tfunction x(e, t, n, r) {\n\t\tif (typeof e.on == \"function\") r.once ? e.once(t, n) : e.on(t, n);\n\t\telse if (typeof e.addEventListener == \"function\") e.addEventListener(t, function i(a) {\n\t\t\tr.once && e.removeEventListener(t, i), n(a);\n\t\t});\n\t\telse throw TypeError(\"The \\\"emitter\\\" argument must be of type EventEmitter. Received type \" + typeof e);\n\t}\n})), $ = /* @__PURE__ */ a(((e, t) => {\n\tvar n = U(), { format: r, inspect: i } = ht(), { codes: { ERR_INVALID_ARG_TYPE: a } } = Q(), { kResistStopPropagation: o, AggregateError: s, SymbolDispose: c } = Z(), l = globalThis.AbortSignal || gt().AbortSignal, u = globalThis.AbortController || gt().AbortController, d = Object.getPrototypeOf(async function() {}).constructor, f = globalThis.Blob || n.Blob, p = f === void 0 ? function(e) {\n\t\treturn !1;\n\t} : function(e) {\n\t\treturn e instanceof f;\n\t}, m = (e, t) => {\n\t\tif (e !== void 0 && (typeof e != \"object\" || !e || !(\"aborted\" in e))) throw new a(t, \"AbortSignal\", e);\n\t}, h = (e, t) => {\n\t\tif (typeof e != \"function\") throw new a(t, \"Function\", e);\n\t};\n\tt.exports = {\n\t\tAggregateError: s,\n\t\tkEmptyObject: Object.freeze({}),\n\t\tonce(e) {\n\t\t\tlet t = !1;\n\t\t\treturn function(...n) {\n\t\t\t\tt || (t = !0, e.apply(this, n));\n\t\t\t};\n\t\t},\n\t\tcreateDeferredPromise: function() {\n\t\t\tlet e, t;\n\t\t\treturn {\n\t\t\t\tpromise: new Promise((n, r) => {\n\t\t\t\t\te = n, t = r;\n\t\t\t\t}),\n\t\t\t\tresolve: e,\n\t\t\t\treject: t\n\t\t\t};\n\t\t},\n\t\tpromisify(e) {\n\t\t\treturn new Promise((t, n) => {\n\t\t\t\te((e, ...r) => e ? n(e) : t(...r));\n\t\t\t});\n\t\t},\n\t\tdebuglog() {\n\t\t\treturn function() {};\n\t\t},\n\t\tformat: r,\n\t\tinspect: i,\n\t\ttypes: {\n\t\t\tisAsyncFunction(e) {\n\t\t\t\treturn e instanceof d;\n\t\t\t},\n\t\t\tisArrayBufferView(e) {\n\t\t\t\treturn ArrayBuffer.isView(e);\n\t\t\t}\n\t\t},\n\t\tisBlob: p,\n\t\tdeprecate(e, t) {\n\t\t\treturn e;\n\t\t},\n\t\taddAbortListener: _t().addAbortListener || function(e, t) {\n\t\t\tif (e === void 0) throw new a(\"signal\", \"AbortSignal\", e);\n\t\t\tm(e, \"signal\"), h(t, \"listener\");\n\t\t\tlet n;\n\t\t\treturn e.aborted ? queueMicrotask(() => t()) : (e.addEventListener(\"abort\", t, {\n\t\t\t\t__proto__: null,\n\t\t\t\tonce: !0,\n\t\t\t\t[o]: !0\n\t\t\t}), n = () => {\n\t\t\t\te.removeEventListener(\"abort\", t);\n\t\t\t}), {\n\t\t\t\t__proto__: null,\n\t\t\t\t[c]() {\n\t\t\t\t\tvar e;\n\t\t\t\t\t(e = n) == null || e();\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tAbortSignalAny: l.any || function(e) {\n\t\t\tif (e.length === 1) return e[0];\n\t\t\tlet t = new u(), n = () => t.abort();\n\t\t\treturn e.forEach((e) => {\n\t\t\t\tm(e, \"signals\"), e.addEventListener(\"abort\", n, { once: !0 });\n\t\t\t}), t.signal.addEventListener(\"abort\", () => {\n\t\t\t\te.forEach((e) => e.removeEventListener(\"abort\", n));\n\t\t\t}, { once: !0 }), t.signal;\n\t\t}\n\t}, t.exports.promisify.custom = Symbol.for(\"nodejs.util.promisify.custom\");\n})), vt = /* @__PURE__ */ a(((e, t) => {\n\tvar { ArrayIsArray: n, ArrayPrototypeIncludes: r, ArrayPrototypeJoin: i, ArrayPrototypeMap: a, NumberIsInteger: o, NumberIsNaN: s, NumberMAX_SAFE_INTEGER: c, NumberMIN_SAFE_INTEGER: l, NumberParseInt: u, ObjectPrototypeHasOwnProperty: d, RegExpPrototypeExec: f, String: p, StringPrototypeToUpperCase: m, StringPrototypeTrim: h } = Z(), { hideStackFrames: g, codes: { ERR_SOCKET_BAD_PORT: _, ERR_INVALID_ARG_TYPE: v, ERR_INVALID_ARG_VALUE: y, ERR_OUT_OF_RANGE: b, ERR_UNKNOWN_SIGNAL: x } } = Q(), { normalizeEncoding: S } = $(), { isAsyncFunction: C, isArrayBufferView: w } = $().types, T = {};\n\tfunction E(e) {\n\t\treturn e === (e | 0);\n\t}\n\tfunction D(e) {\n\t\treturn e === e >>> 0;\n\t}\n\tvar O = /^[0-7]+$/, k = \"must be a 32-bit unsigned integer or an octal string\";\n\tfunction A(e, t, n) {\n\t\tif (e === void 0 && (e = n), typeof e == \"string\") {\n\t\t\tif (f(O, e) === null) throw new y(t, e, k);\n\t\t\te = u(e, 8);\n\t\t}\n\t\treturn N(e, t), e;\n\t}\n\tvar j = g((e, t, n = l, r = c) => {\n\t\tif (typeof e != \"number\") throw new v(t, \"number\", e);\n\t\tif (!o(e)) throw new b(t, \"an integer\", e);\n\t\tif (e < n || e > r) throw new b(t, `>= ${n} && <= ${r}`, e);\n\t}), M = g((e, t, n = -2147483648, r = 2147483647) => {\n\t\tif (typeof e != \"number\") throw new v(t, \"number\", e);\n\t\tif (!o(e)) throw new b(t, \"an integer\", e);\n\t\tif (e < n || e > r) throw new b(t, `>= ${n} && <= ${r}`, e);\n\t}), N = g((e, t, n = !1) => {\n\t\tif (typeof e != \"number\") throw new v(t, \"number\", e);\n\t\tif (!o(e)) throw new b(t, \"an integer\", e);\n\t\tlet r = +!!n, i = 4294967295;\n\t\tif (e < r || e > i) throw new b(t, `>= ${r} && <= ${i}`, e);\n\t});\n\tfunction P(e, t) {\n\t\tif (typeof e != \"string\") throw new v(t, \"string\", e);\n\t}\n\tfunction F(e, t, n = void 0, r) {\n\t\tif (typeof e != \"number\") throw new v(t, \"number\", e);\n\t\tif (n != null && e < n || r != null && e > r || (n != null || r != null) && s(e)) throw new b(t, `${n == null ? \"\" : `>= ${n}`}${n != null && r != null ? \" && \" : \"\"}${r == null ? \"\" : `<= ${r}`}`, e);\n\t}\n\tvar I = g((e, t, n) => {\n\t\tif (!r(n, e)) throw new y(t, e, \"must be one of: \" + i(a(n, (e) => typeof e == \"string\" ? `'${e}'` : p(e)), \", \"));\n\t});\n\tfunction L(e, t) {\n\t\tif (typeof e != \"boolean\") throw new v(t, \"boolean\", e);\n\t}\n\tfunction R(e, t, n) {\n\t\treturn e == null || !d(e, t) ? n : e[t];\n\t}\n\tvar z = g((e, t, r = null) => {\n\t\tlet i = R(r, \"allowArray\", !1), a = R(r, \"allowFunction\", !1);\n\t\tif (!R(r, \"nullable\", !1) && e === null || !i && n(e) || typeof e != \"object\" && (!a || typeof e != \"function\")) throw new v(t, \"Object\", e);\n\t}), ee = g((e, t) => {\n\t\tif (e != null && typeof e != \"object\" && typeof e != \"function\") throw new v(t, \"a dictionary\", e);\n\t}), B = g((e, t, r = 0) => {\n\t\tif (!n(e)) throw new v(t, \"Array\", e);\n\t\tif (e.length < r) throw new y(t, e, `must be longer than ${r}`);\n\t});\n\tfunction V(e, t) {\n\t\tB(e, t);\n\t\tfor (let n = 0; n < e.length; n++) P(e[n], `${t}[${n}]`);\n\t}\n\tfunction H(e, t) {\n\t\tB(e, t);\n\t\tfor (let n = 0; n < e.length; n++) L(e[n], `${t}[${n}]`);\n\t}\n\tfunction te(e, t) {\n\t\tB(e, t);\n\t\tfor (let n = 0; n < e.length; n++) {\n\t\t\tlet r = e[n], i = `${t}[${n}]`;\n\t\t\tif (r == null) throw new v(i, \"AbortSignal\", r);\n\t\t\tre(r, i);\n\t\t}\n\t}\n\tfunction ne(e, t = \"signal\") {\n\t\tif (P(e, t), T[e] === void 0) throw T[m(e)] === void 0 ? new x(e) : new x(e + \" (signals must use all capital letters)\");\n\t}\n\tvar U = g((e, t = \"buffer\") => {\n\t\tif (!w(e)) throw new v(t, [\n\t\t\t\"Buffer\",\n\t\t\t\"TypedArray\",\n\t\t\t\"DataView\"\n\t\t], e);\n\t});\n\tfunction W(e, t) {\n\t\tlet n = S(t), r = e.length;\n\t\tif (n === \"hex\" && r % 2 != 0) throw new y(\"encoding\", t, `is invalid for data of length ${r}`);\n\t}\n\tfunction G(e, t = \"Port\", n = !0) {\n\t\tif (typeof e != \"number\" && typeof e != \"string\" || typeof e == \"string\" && h(e).length === 0 || +e != e >>> 0 || e > 65535 || e === 0 && !n) throw new _(t, e, n);\n\t\treturn e | 0;\n\t}\n\tvar re = g((e, t) => {\n\t\tif (e !== void 0 && (typeof e != \"object\" || !e || !(\"aborted\" in e))) throw new v(t, \"AbortSignal\", e);\n\t}), K = g((e, t) => {\n\t\tif (typeof e != \"function\") throw new v(t, \"Function\", e);\n\t}), q = g((e, t) => {\n\t\tif (typeof e != \"function\" || C(e)) throw new v(t, \"Function\", e);\n\t}), ie = g((e, t) => {\n\t\tif (e !== void 0) throw new v(t, \"undefined\", e);\n\t});\n\tfunction ae(e, t, n) {\n\t\tif (!r(n, e)) throw new v(t, `('${i(n, \"|\")}')`, e);\n\t}\n\tvar oe = /^(?:<[^>]*>)(?:\\s*;\\s*[^;\"\\s]+(?:=(\")?[^;\"\\s]*\\1)?)*$/;\n\tfunction se(e, t) {\n\t\tif (e === void 0 || !f(oe, e)) throw new y(t, e, \"must be an array or string of format \\\"</styles.css>; rel=preload; as=style\\\"\");\n\t}\n\tfunction ce(e) {\n\t\tif (typeof e == \"string\") return se(e, \"hints\"), e;\n\t\tif (n(e)) {\n\t\t\tlet t = e.length, n = \"\";\n\t\t\tif (t === 0) return n;\n\t\t\tfor (let r = 0; r < t; r++) {\n\t\t\t\tlet i = e[r];\n\t\t\t\tse(i, \"hints\"), n += i, r !== t - 1 && (n += \", \");\n\t\t\t}\n\t\t\treturn n;\n\t\t}\n\t\tthrow new y(\"hints\", e, \"must be an array or string of format \\\"</styles.css>; rel=preload; as=style\\\"\");\n\t}\n\tt.exports = {\n\t\tisInt32: E,\n\t\tisUint32: D,\n\t\tparseFileMode: A,\n\t\tvalidateArray: B,\n\t\tvalidateStringArray: V,\n\t\tvalidateBooleanArray: H,\n\t\tvalidateAbortSignalArray: te,\n\t\tvalidateBoolean: L,\n\t\tvalidateBuffer: U,\n\t\tvalidateDictionary: ee,\n\t\tvalidateEncoding: W,\n\t\tvalidateFunction: K,\n\t\tvalidateInt32: M,\n\t\tvalidateInteger: j,\n\t\tvalidateNumber: F,\n\t\tvalidateObject: z,\n\t\tvalidateOneOf: I,\n\t\tvalidatePlainFunction: q,\n\t\tvalidatePort: G,\n\t\tvalidateSignalName: ne,\n\t\tvalidateString: P,\n\t\tvalidateUint32: N,\n\t\tvalidateUndefined: ie,\n\t\tvalidateUnion: ae,\n\t\tvalidateAbortSignal: re,\n\t\tvalidateLinkHeaderValue: ce\n\t};\n})), yt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = t.exports = {}, r, i;\n\tfunction a() {\n\t\tthrow Error(\"setTimeout has not been defined\");\n\t}\n\tfunction o() {\n\t\tthrow Error(\"clearTimeout has not been defined\");\n\t}\n\t(function() {\n\t\ttry {\n\t\t\tr = typeof setTimeout == \"function\" ? setTimeout : a;\n\t\t} catch {\n\t\t\tr = a;\n\t\t}\n\t\ttry {\n\t\t\ti = typeof clearTimeout == \"function\" ? clearTimeout : o;\n\t\t} catch {\n\t\t\ti = o;\n\t\t}\n\t})();\n\tfunction s(e) {\n\t\tif (r === setTimeout) return setTimeout(e, 0);\n\t\tif ((r === a || !r) && setTimeout) return r = setTimeout, setTimeout(e, 0);\n\t\ttry {\n\t\t\treturn r(e, 0);\n\t\t} catch {\n\t\t\ttry {\n\t\t\t\treturn r.call(null, e, 0);\n\t\t\t} catch {\n\t\t\t\treturn r.call(this, e, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfunction c(e) {\n\t\tif (i === clearTimeout) return clearTimeout(e);\n\t\tif ((i === o || !i) && clearTimeout) return i = clearTimeout, clearTimeout(e);\n\t\ttry {\n\t\t\treturn i(e);\n\t\t} catch {\n\t\t\ttry {\n\t\t\t\treturn i.call(null, e);\n\t\t\t} catch {\n\t\t\t\treturn i.call(this, e);\n\t\t\t}\n\t\t}\n\t}\n\tvar l = [], u = !1, d, f = -1;\n\tfunction p() {\n\t\t!u || !d || (u = !1, d.length ? l = d.concat(l) : f = -1, l.length && m());\n\t}\n\tfunction m() {\n\t\tif (!u) {\n\t\t\tvar e = s(p);\n\t\t\tu = !0;\n\t\t\tfor (var t = l.length; t;) {\n\t\t\t\tfor (d = l, l = []; ++f < t;) d && d[f].run();\n\t\t\t\tf = -1, t = l.length;\n\t\t\t}\n\t\t\td = null, u = !1, c(e);\n\t\t}\n\t}\n\tn.nextTick = function(e) {\n\t\tvar t = Array(arguments.length - 1);\n\t\tif (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];\n\t\tl.push(new h(e, t)), l.length === 1 && !u && s(m);\n\t};\n\tfunction h(e, t) {\n\t\tthis.fun = e, this.array = t;\n\t}\n\th.prototype.run = function() {\n\t\tthis.fun.apply(null, this.array);\n\t}, n.title = \"browser\", n.browser = !0, n.env = {}, n.argv = [], n.version = \"\", n.versions = {};\n\tfunction g() {}\n\tn.on = g, n.addListener = g, n.once = g, n.off = g, n.removeListener = g, n.removeAllListeners = g, n.emit = g, n.prependListener = g, n.prependOnceListener = g, n.listeners = function(e) {\n\t\treturn [];\n\t}, n.binding = function(e) {\n\t\tthrow Error(\"process.binding is not supported\");\n\t}, n.cwd = function() {\n\t\treturn \"/\";\n\t}, n.chdir = function(e) {\n\t\tthrow Error(\"process.chdir is not supported\");\n\t}, n.umask = function() {\n\t\treturn 0;\n\t};\n})), bt = /* @__PURE__ */ a(((e, t) => {\n\tvar { SymbolAsyncIterator: n, SymbolIterator: r, SymbolFor: i } = Z(), a = i(\"nodejs.stream.destroyed\"), o = i(\"nodejs.stream.errored\"), s = i(\"nodejs.stream.readable\"), c = i(\"nodejs.stream.writable\"), l = i(\"nodejs.stream.disturbed\"), u = i(\"nodejs.webstream.isClosedPromise\"), d = i(\"nodejs.webstream.controllerErrorFunction\");\n\tfunction f(e, t = !1) {\n\t\treturn !!(e && typeof e.pipe == \"function\" && typeof e.on == \"function\" && (!t || typeof e.pause == \"function\" && typeof e.resume == \"function\") && (!e._writableState || e._readableState?.readable !== !1) && (!e._writableState || e._readableState));\n\t}\n\tfunction p(e) {\n\t\treturn !!(e && typeof e.write == \"function\" && typeof e.on == \"function\" && (!e._readableState || e._writableState?.writable !== !1));\n\t}\n\tfunction m(e) {\n\t\treturn !!(e && typeof e.pipe == \"function\" && e._readableState && typeof e.on == \"function\" && typeof e.write == \"function\");\n\t}\n\tfunction h(e) {\n\t\treturn e && (e._readableState || e._writableState || typeof e.write == \"function\" && typeof e.on == \"function\" || typeof e.pipe == \"function\" && typeof e.on == \"function\");\n\t}\n\tfunction g(e) {\n\t\treturn !!(e && !h(e) && typeof e.pipeThrough == \"function\" && typeof e.getReader == \"function\" && typeof e.cancel == \"function\");\n\t}\n\tfunction _(e) {\n\t\treturn !!(e && !h(e) && typeof e.getWriter == \"function\" && typeof e.abort == \"function\");\n\t}\n\tfunction v(e) {\n\t\treturn !!(e && !h(e) && typeof e.readable == \"object\" && typeof e.writable == \"object\");\n\t}\n\tfunction y(e) {\n\t\treturn g(e) || _(e) || v(e);\n\t}\n\tfunction b(e, t) {\n\t\treturn e == null ? !1 : t === !0 ? typeof e[n] == \"function\" : t === !1 ? typeof e[r] == \"function\" : typeof e[n] == \"function\" || typeof e[r] == \"function\";\n\t}\n\tfunction x(e) {\n\t\tif (!h(e)) return null;\n\t\tlet t = e._writableState, n = e._readableState, r = t || n;\n\t\treturn !!(e.destroyed || e[a] || r != null && r.destroyed);\n\t}\n\tfunction S(e) {\n\t\tif (!p(e)) return null;\n\t\tif (e.writableEnded === !0) return !0;\n\t\tlet t = e._writableState;\n\t\treturn t != null && t.errored ? !1 : typeof t?.ended == \"boolean\" ? t.ended : null;\n\t}\n\tfunction C(e, t) {\n\t\tif (!p(e)) return null;\n\t\tif (e.writableFinished === !0) return !0;\n\t\tlet n = e._writableState;\n\t\treturn n != null && n.errored ? !1 : typeof n?.finished == \"boolean\" ? !!(n.finished || t === !1 && n.ended === !0 && n.length === 0) : null;\n\t}\n\tfunction w(e) {\n\t\tif (!f(e)) return null;\n\t\tif (e.readableEnded === !0) return !0;\n\t\tlet t = e._readableState;\n\t\treturn !t || t.errored ? !1 : typeof t?.ended == \"boolean\" ? t.ended : null;\n\t}\n\tfunction T(e, t) {\n\t\tif (!f(e)) return null;\n\t\tlet n = e._readableState;\n\t\treturn n != null && n.errored ? !1 : typeof n?.endEmitted == \"boolean\" ? !!(n.endEmitted || t === !1 && n.ended === !0 && n.length === 0) : null;\n\t}\n\tfunction E(e) {\n\t\treturn e && e[s] != null ? e[s] : typeof e?.readable == \"boolean\" ? !x(e) && f(e) && e.readable && !T(e) : null;\n\t}\n\tfunction D(e) {\n\t\treturn e && e[c] != null ? e[c] : typeof e?.writable == \"boolean\" ? !x(e) && p(e) && e.writable && !S(e) : null;\n\t}\n\tfunction O(e, t) {\n\t\treturn h(e) ? x(e) ? !0 : !(t?.readable !== !1 && E(e) || t?.writable !== !1 && D(e)) : null;\n\t}\n\tfunction k(e) {\n\t\treturn h(e) ? e.writableErrored ? e.writableErrored : e._writableState?.errored ?? null : null;\n\t}\n\tfunction A(e) {\n\t\treturn h(e) ? e.readableErrored ? e.readableErrored : e._readableState?.errored ?? null : null;\n\t}\n\tfunction j(e) {\n\t\tif (!h(e)) return null;\n\t\tif (typeof e.closed == \"boolean\") return e.closed;\n\t\tlet t = e._writableState, n = e._readableState;\n\t\treturn typeof t?.closed == \"boolean\" || typeof n?.closed == \"boolean\" ? t?.closed || n?.closed : typeof e._closed == \"boolean\" && M(e) ? e._closed : null;\n\t}\n\tfunction M(e) {\n\t\treturn typeof e._closed == \"boolean\" && typeof e._defaultKeepAlive == \"boolean\" && typeof e._removedConnection == \"boolean\" && typeof e._removedContLen == \"boolean\";\n\t}\n\tfunction N(e) {\n\t\treturn typeof e._sent100 == \"boolean\" && M(e);\n\t}\n\tfunction P(e) {\n\t\treturn typeof e._consuming == \"boolean\" && typeof e._dumped == \"boolean\" && e.req?.upgradeOrConnect === void 0;\n\t}\n\tfunction F(e) {\n\t\tif (!h(e)) return null;\n\t\tlet t = e._writableState, n = e._readableState, r = t || n;\n\t\treturn !r && N(e) || !!(r && r.autoDestroy && r.emitClose && r.closed === !1);\n\t}\n\tfunction I(e) {\n\t\treturn !!(e && (e[l] ?? (e.readableDidRead || e.readableAborted)));\n\t}\n\tfunction L(e) {\n\t\treturn !!(e && (e[o] ?? e.readableErrored ?? e.writableErrored ?? e._readableState?.errorEmitted ?? e._writableState?.errorEmitted ?? e._readableState?.errored ?? e._writableState?.errored));\n\t}\n\tt.exports = {\n\t\tisDestroyed: x,\n\t\tkIsDestroyed: a,\n\t\tisDisturbed: I,\n\t\tkIsDisturbed: l,\n\t\tisErrored: L,\n\t\tkIsErrored: o,\n\t\tisReadable: E,\n\t\tkIsReadable: s,\n\t\tkIsClosedPromise: u,\n\t\tkControllerErrorFunction: d,\n\t\tkIsWritable: c,\n\t\tisClosed: j,\n\t\tisDuplexNodeStream: m,\n\t\tisFinished: O,\n\t\tisIterable: b,\n\t\tisReadableNodeStream: f,\n\t\tisReadableStream: g,\n\t\tisReadableEnded: w,\n\t\tisReadableFinished: T,\n\t\tisReadableErrored: A,\n\t\tisNodeStream: h,\n\t\tisWebStream: y,\n\t\tisWritable: D,\n\t\tisWritableNodeStream: p,\n\t\tisWritableStream: _,\n\t\tisWritableEnded: S,\n\t\tisWritableFinished: C,\n\t\tisWritableErrored: k,\n\t\tisServerRequest: P,\n\t\tisServerResponse: N,\n\t\twillEmitClose: F,\n\t\tisTransformStream: v\n\t};\n})), xt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { AbortError: r, codes: i } = Q(), { ERR_INVALID_ARG_TYPE: a, ERR_STREAM_PREMATURE_CLOSE: o } = i, { kEmptyObject: s, once: c } = $(), { validateAbortSignal: l, validateFunction: u, validateObject: d, validateBoolean: f } = vt(), { Promise: p, PromisePrototypeThen: m, SymbolDispose: h } = Z(), { isClosed: g, isReadable: _, isReadableNodeStream: v, isReadableStream: y, isReadableFinished: b, isReadableErrored: x, isWritable: S, isWritableNodeStream: C, isWritableStream: w, isWritableFinished: T, isWritableErrored: E, isNodeStream: D, willEmitClose: O, kIsClosedPromise: k } = bt(), A;\n\tfunction j(e) {\n\t\treturn e.setHeader && typeof e.abort == \"function\";\n\t}\n\tvar M = () => {};\n\tfunction N(e, t, i) {\n\t\tif (arguments.length === 2 ? (i = t, t = s) : t == null ? t = s : d(t, \"options\"), u(i, \"callback\"), l(t.signal, \"options.signal\"), i = c(i), y(e) || w(e)) return P(e, t, i);\n\t\tif (!D(e)) throw new a(\"stream\", [\n\t\t\t\"ReadableStream\",\n\t\t\t\"WritableStream\",\n\t\t\t\"Stream\"\n\t\t], e);\n\t\tlet f = t.readable ?? v(e), p = t.writable ?? C(e), m = e._writableState, k = e._readableState, N = () => {\n\t\t\te.writable || L();\n\t\t}, F = O(e) && v(e) === f && C(e) === p, I = T(e, !1), L = () => {\n\t\t\tI = !0, e.destroyed && (F = !1), !(F && (!e.readable || f)) && (!f || R) && i.call(e);\n\t\t}, R = b(e, !1), z = () => {\n\t\t\tR = !0, e.destroyed && (F = !1), !(F && (!e.writable || p)) && (!p || I) && i.call(e);\n\t\t}, ee = (t) => {\n\t\t\ti.call(e, t);\n\t\t}, B = g(e), V = () => {\n\t\t\tB = !0;\n\t\t\tlet t = E(e) || x(e);\n\t\t\tif (t && typeof t != \"boolean\") return i.call(e, t);\n\t\t\tif (f && !R && v(e, !0) && !b(e, !1) || p && !I && !T(e, !1)) return i.call(e, new o());\n\t\t\ti.call(e);\n\t\t}, H = () => {\n\t\t\tB = !0;\n\t\t\tlet t = E(e) || x(e);\n\t\t\tif (t && typeof t != \"boolean\") return i.call(e, t);\n\t\t\ti.call(e);\n\t\t}, te = () => {\n\t\t\te.req.on(\"finish\", L);\n\t\t};\n\t\tj(e) ? (e.on(\"complete\", L), F || e.on(\"abort\", V), e.req ? te() : e.on(\"request\", te)) : p && !m && (e.on(\"end\", N), e.on(\"close\", N)), !F && typeof e.aborted == \"boolean\" && e.on(\"aborted\", V), e.on(\"end\", z), e.on(\"finish\", L), t.error !== !1 && e.on(\"error\", ee), e.on(\"close\", V), B ? n.nextTick(V) : m != null && m.errorEmitted || k != null && k.errorEmitted ? F || n.nextTick(H) : (!f && (!F || _(e)) && (I || S(e) === !1) || !p && (!F || S(e)) && (R || _(e) === !1) || k && e.req && e.aborted) && n.nextTick(H);\n\t\tlet ne = () => {\n\t\t\ti = M, e.removeListener(\"aborted\", V), e.removeListener(\"complete\", L), e.removeListener(\"abort\", V), e.removeListener(\"request\", te), e.req && e.req.removeListener(\"finish\", L), e.removeListener(\"end\", N), e.removeListener(\"close\", N), e.removeListener(\"finish\", L), e.removeListener(\"end\", z), e.removeListener(\"error\", ee), e.removeListener(\"close\", V);\n\t\t};\n\t\tif (t.signal && !B) {\n\t\t\tlet a = () => {\n\t\t\t\tlet n = i;\n\t\t\t\tne(), n.call(e, new r(void 0, { cause: t.signal.reason }));\n\t\t\t};\n\t\t\tif (t.signal.aborted) n.nextTick(a);\n\t\t\telse {\n\t\t\t\tA ||= $().addAbortListener;\n\t\t\t\tlet n = A(t.signal, a), r = i;\n\t\t\t\ti = c((...t) => {\n\t\t\t\t\tn[h](), r.apply(e, t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn ne;\n\t}\n\tfunction P(e, t, i) {\n\t\tlet a = !1, o = M;\n\t\tif (t.signal) {\n\t\t\tif (o = () => {\n\t\t\t\ta = !0, i.call(e, new r(void 0, { cause: t.signal.reason }));\n\t\t\t}, t.signal.aborted) n.nextTick(o);\n\t\t\telse {\n\t\t\t\tA ||= $().addAbortListener;\n\t\t\t\tlet n = A(t.signal, o), r = i;\n\t\t\t\ti = c((...t) => {\n\t\t\t\t\tn[h](), r.apply(e, t);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tlet s = (...t) => {\n\t\t\ta || n.nextTick(() => i.apply(e, t));\n\t\t};\n\t\treturn m(e[k].promise, s, s), M;\n\t}\n\tfunction F(e, t) {\n\t\tvar n;\n\t\tlet r = !1;\n\t\treturn t === null && (t = s), (n = t) != null && n.cleanup && (f(t.cleanup, \"cleanup\"), r = t.cleanup), new p((n, i) => {\n\t\t\tlet a = N(e, t, (e) => {\n\t\t\t\tr && a(), e ? i(e) : n();\n\t\t\t});\n\t\t});\n\t}\n\tt.exports = N, t.exports.finished = F;\n})), St = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { aggregateTwoErrors: r, codes: { ERR_MULTIPLE_CALLBACK: i }, AbortError: a } = Q(), { Symbol: o } = Z(), { kIsDestroyed: s, isDestroyed: c, isFinished: l, isServerRequest: u } = bt(), d = o(\"kDestroy\"), f = o(\"kConstruct\");\n\tfunction p(e, t, n) {\n\t\te && (e.stack, t && !t.errored && (t.errored = e), n && !n.errored && (n.errored = e));\n\t}\n\tfunction m(e, t) {\n\t\tlet n = this._readableState, i = this._writableState, a = i || n;\n\t\treturn i != null && i.destroyed || n != null && n.destroyed ? (typeof t == \"function\" && t(), this) : (p(e, i, n), i && (i.destroyed = !0), n && (n.destroyed = !0), a.constructed ? h(this, e, t) : this.once(d, function(n) {\n\t\t\th(this, r(n, e), t);\n\t\t}), this);\n\t}\n\tfunction h(e, t, r) {\n\t\tlet i = !1;\n\t\tfunction a(t) {\n\t\t\tif (i) return;\n\t\t\ti = !0;\n\t\t\tlet a = e._readableState, o = e._writableState;\n\t\t\tp(t, o, a), o && (o.closed = !0), a && (a.closed = !0), typeof r == \"function\" && r(t), t ? n.nextTick(g, e, t) : n.nextTick(_, e);\n\t\t}\n\t\ttry {\n\t\t\te._destroy(t || null, a);\n\t\t} catch (e) {\n\t\t\ta(e);\n\t\t}\n\t}\n\tfunction g(e, t) {\n\t\tv(e, t), _(e);\n\t}\n\tfunction _(e) {\n\t\tlet t = e._readableState, n = e._writableState;\n\t\tn && (n.closeEmitted = !0), t && (t.closeEmitted = !0), (n != null && n.emitClose || t != null && t.emitClose) && e.emit(\"close\");\n\t}\n\tfunction v(e, t) {\n\t\tlet n = e._readableState, r = e._writableState;\n\t\tr != null && r.errorEmitted || n != null && n.errorEmitted || (r && (r.errorEmitted = !0), n && (n.errorEmitted = !0), e.emit(\"error\", t));\n\t}\n\tfunction y() {\n\t\tlet e = this._readableState, t = this._writableState;\n\t\te && (e.constructed = !0, e.closed = !1, e.closeEmitted = !1, e.destroyed = !1, e.errored = null, e.errorEmitted = !1, e.reading = !1, e.ended = e.readable === !1, e.endEmitted = e.readable === !1), t && (t.constructed = !0, t.destroyed = !1, t.closed = !1, t.closeEmitted = !1, t.errored = null, t.errorEmitted = !1, t.finalCalled = !1, t.prefinished = !1, t.ended = t.writable === !1, t.ending = t.writable === !1, t.finished = t.writable === !1);\n\t}\n\tfunction b(e, t, r) {\n\t\tlet i = e._readableState, a = e._writableState;\n\t\tif (a != null && a.destroyed || i != null && i.destroyed) return this;\n\t\ti != null && i.autoDestroy || a != null && a.autoDestroy ? e.destroy(t) : t && (t.stack, a && !a.errored && (a.errored = t), i && !i.errored && (i.errored = t), r ? n.nextTick(v, e, t) : v(e, t));\n\t}\n\tfunction x(e, t) {\n\t\tif (typeof e._construct != \"function\") return;\n\t\tlet r = e._readableState, i = e._writableState;\n\t\tr && (r.constructed = !1), i && (i.constructed = !1), e.once(f, t), !(e.listenerCount(f) > 1) && n.nextTick(S, e);\n\t}\n\tfunction S(e) {\n\t\tlet t = !1;\n\t\tfunction r(r) {\n\t\t\tif (t) {\n\t\t\t\tb(e, r ?? new i());\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tt = !0;\n\t\t\tlet a = e._readableState, o = e._writableState, s = o || a;\n\t\t\ta && (a.constructed = !0), o && (o.constructed = !0), s.destroyed ? e.emit(d, r) : r ? b(e, r, !0) : n.nextTick(C, e);\n\t\t}\n\t\ttry {\n\t\t\te._construct((e) => {\n\t\t\t\tn.nextTick(r, e);\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tn.nextTick(r, e);\n\t\t}\n\t}\n\tfunction C(e) {\n\t\te.emit(f);\n\t}\n\tfunction w(e) {\n\t\treturn e?.setHeader && typeof e.abort == \"function\";\n\t}\n\tfunction T(e) {\n\t\te.emit(\"close\");\n\t}\n\tfunction E(e, t) {\n\t\te.emit(\"error\", t), n.nextTick(T, e);\n\t}\n\tfunction D(e, t) {\n\t\t!e || c(e) || (!t && !l(e) && (t = new a()), u(e) ? (e.socket = null, e.destroy(t)) : w(e) ? e.abort() : w(e.req) ? e.req.abort() : typeof e.destroy == \"function\" ? e.destroy(t) : typeof e.close == \"function\" ? e.close() : t ? n.nextTick(E, e, t) : n.nextTick(T, e), e.destroyed || (e[s] = !0));\n\t}\n\tt.exports = {\n\t\tconstruct: x,\n\t\tdestroyer: D,\n\t\tdestroy: m,\n\t\tundestroy: y,\n\t\terrorOrDestroy: b\n\t};\n})), Ct = /* @__PURE__ */ a(((e, t) => {\n\tvar { ArrayIsArray: n, ObjectSetPrototypeOf: r } = Z(), { EventEmitter: i } = _t();\n\tfunction a(e) {\n\t\ti.call(this, e);\n\t}\n\tr(a.prototype, i.prototype), r(a, i), a.prototype.pipe = function(e, t) {\n\t\tlet n = this;\n\t\tfunction r(t) {\n\t\t\te.writable && e.write(t) === !1 && n.pause && n.pause();\n\t\t}\n\t\tn.on(\"data\", r);\n\t\tfunction a() {\n\t\t\tn.readable && n.resume && n.resume();\n\t\t}\n\t\te.on(\"drain\", a), !e._isStdio && (!t || t.end !== !1) && (n.on(\"end\", c), n.on(\"close\", l));\n\t\tlet s = !1;\n\t\tfunction c() {\n\t\t\ts || (s = !0, e.end());\n\t\t}\n\t\tfunction l() {\n\t\t\ts || (s = !0, typeof e.destroy == \"function\" && e.destroy());\n\t\t}\n\t\tfunction u(e) {\n\t\t\td(), i.listenerCount(this, \"error\") === 0 && this.emit(\"error\", e);\n\t\t}\n\t\to(n, \"error\", u), o(e, \"error\", u);\n\t\tfunction d() {\n\t\t\tn.removeListener(\"data\", r), e.removeListener(\"drain\", a), n.removeListener(\"end\", c), n.removeListener(\"close\", l), n.removeListener(\"error\", u), e.removeListener(\"error\", u), n.removeListener(\"end\", d), n.removeListener(\"close\", d), e.removeListener(\"close\", d);\n\t\t}\n\t\treturn n.on(\"end\", d), n.on(\"close\", d), e.on(\"close\", d), e.emit(\"pipe\", n), e;\n\t};\n\tfunction o(e, t, r) {\n\t\tif (typeof e.prependListener == \"function\") return e.prependListener(t, r);\n\t\t!e._events || !e._events[t] ? e.on(t, r) : n(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]];\n\t}\n\tt.exports = {\n\t\tStream: a,\n\t\tprependListener: o\n\t};\n})), wt = /* @__PURE__ */ a(((e, t) => {\n\tvar { SymbolDispose: n } = Z(), { AbortError: r, codes: i } = Q(), { isNodeStream: a, isWebStream: o, kControllerErrorFunction: s } = bt(), c = xt(), { ERR_INVALID_ARG_TYPE: l } = i, u, d = (e, t) => {\n\t\tif (typeof e != \"object\" || !(\"aborted\" in e)) throw new l(t, \"AbortSignal\", e);\n\t};\n\tt.exports.addAbortSignal = function(e, n) {\n\t\tif (d(e, \"signal\"), !a(n) && !o(n)) throw new l(\"stream\", [\n\t\t\t\"ReadableStream\",\n\t\t\t\"WritableStream\",\n\t\t\t\"Stream\"\n\t\t], n);\n\t\treturn t.exports.addAbortSignalNoValidate(e, n);\n\t}, t.exports.addAbortSignalNoValidate = function(e, t) {\n\t\tif (typeof e != \"object\" || !(\"aborted\" in e)) return t;\n\t\tlet i = a(t) ? () => {\n\t\t\tt.destroy(new r(void 0, { cause: e.reason }));\n\t\t} : () => {\n\t\t\tt[s](new r(void 0, { cause: e.reason }));\n\t\t};\n\t\treturn e.aborted ? i() : (u ||= $().addAbortListener, c(t, u(e, i)[n])), t;\n\t};\n})), Tt = /* @__PURE__ */ a(((e, t) => {\n\tvar { StringPrototypeSlice: n, SymbolIterator: r, TypedArrayPrototypeSet: i, Uint8Array: a } = Z(), { Buffer: o } = U(), { inspect: s } = $();\n\tt.exports = class {\n\t\tconstructor() {\n\t\t\tthis.head = null, this.tail = null, this.length = 0;\n\t\t}\n\t\tpush(e) {\n\t\t\tlet t = {\n\t\t\t\tdata: e,\n\t\t\t\tnext: null\n\t\t\t};\n\t\t\tthis.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length;\n\t\t}\n\t\tunshift(e) {\n\t\t\tlet t = {\n\t\t\t\tdata: e,\n\t\t\t\tnext: this.head\n\t\t\t};\n\t\t\tthis.length === 0 && (this.tail = t), this.head = t, ++this.length;\n\t\t}\n\t\tshift() {\n\t\t\tif (this.length === 0) return;\n\t\t\tlet e = this.head.data;\n\t\t\treturn this.head = this.length === 1 ? this.tail = null : this.head.next, --this.length, e;\n\t\t}\n\t\tclear() {\n\t\t\tthis.head = this.tail = null, this.length = 0;\n\t\t}\n\t\tjoin(e) {\n\t\t\tif (this.length === 0) return \"\";\n\t\t\tlet t = this.head, n = \"\" + t.data;\n\t\t\tfor (; (t = t.next) !== null;) n += e + t.data;\n\t\t\treturn n;\n\t\t}\n\t\tconcat(e) {\n\t\t\tif (this.length === 0) return o.alloc(0);\n\t\t\tlet t = o.allocUnsafe(e >>> 0), n = this.head, r = 0;\n\t\t\tfor (; n;) i(t, n.data, r), r += n.data.length, n = n.next;\n\t\t\treturn t;\n\t\t}\n\t\tconsume(e, t) {\n\t\t\tlet n = this.head.data;\n\t\t\tif (e < n.length) {\n\t\t\t\tlet t = n.slice(0, e);\n\t\t\t\treturn this.head.data = n.slice(e), t;\n\t\t\t}\n\t\t\treturn e === n.length ? this.shift() : t ? this._getString(e) : this._getBuffer(e);\n\t\t}\n\t\tfirst() {\n\t\t\treturn this.head.data;\n\t\t}\n\t\t*[r]() {\n\t\t\tfor (let e = this.head; e; e = e.next) yield e.data;\n\t\t}\n\t\t_getString(e) {\n\t\t\tlet t = \"\", r = this.head, i = 0;\n\t\t\tdo {\n\t\t\t\tlet a = r.data;\n\t\t\t\tif (e > a.length) t += a, e -= a.length;\n\t\t\t\telse {\n\t\t\t\t\te === a.length ? (t += a, ++i, this.head = r.next ? r.next : this.tail = null) : (t += n(a, 0, e), this.head = r, r.data = n(a, e));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t++i;\n\t\t\t} while ((r = r.next) !== null);\n\t\t\treturn this.length -= i, t;\n\t\t}\n\t\t_getBuffer(e) {\n\t\t\tlet t = o.allocUnsafe(e), n = e, r = this.head, s = 0;\n\t\t\tdo {\n\t\t\t\tlet o = r.data;\n\t\t\t\tif (e > o.length) i(t, o, n - e), e -= o.length;\n\t\t\t\telse {\n\t\t\t\t\te === o.length ? (i(t, o, n - e), ++s, this.head = r.next ? r.next : this.tail = null) : (i(t, new a(o.buffer, o.byteOffset, e), n - e), this.head = r, r.data = o.slice(e));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t++s;\n\t\t\t} while ((r = r.next) !== null);\n\t\t\treturn this.length -= s, t;\n\t\t}\n\t\t[Symbol.for(\"nodejs.util.inspect.custom\")](e, t) {\n\t\t\treturn s(this, {\n\t\t\t\t...t,\n\t\t\t\tdepth: 0,\n\t\t\t\tcustomInspect: !1\n\t\t\t});\n\t\t}\n\t};\n})), Et = /* @__PURE__ */ a(((e, t) => {\n\tvar { MathFloor: n, NumberIsInteger: r } = Z(), { validateInteger: i } = vt(), { ERR_INVALID_ARG_VALUE: a } = Q().codes, o = 16384, s = 16;\n\tfunction c(e, t, n) {\n\t\treturn e.highWaterMark == null ? t ? e[n] : null : e.highWaterMark;\n\t}\n\tfunction l(e) {\n\t\treturn e ? s : o;\n\t}\n\tfunction u(e, t) {\n\t\ti(t, \"value\", 0), e ? s = t : o = t;\n\t}\n\tfunction d(e, t, i, o) {\n\t\tlet s = c(t, o, i);\n\t\tif (s != null) {\n\t\t\tif (!r(s) || s < 0) throw new a(o ? `options.${i}` : \"options.highWaterMark\", s);\n\t\t\treturn n(s);\n\t\t}\n\t\treturn l(e.objectMode);\n\t}\n\tt.exports = {\n\t\tgetHighWaterMark: d,\n\t\tgetDefaultHighWaterMark: l,\n\t\tsetDefaultHighWaterMark: u\n\t};\n})), Dt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = U(), r = n.Buffer;\n\tfunction i(e, t) {\n\t\tfor (var n in e) t[n] = e[n];\n\t}\n\tr.from && r.alloc && r.allocUnsafe && r.allocUnsafeSlow ? t.exports = n : (i(n, e), e.Buffer = a);\n\tfunction a(e, t, n) {\n\t\treturn r(e, t, n);\n\t}\n\ta.prototype = Object.create(r.prototype), i(r, a), a.from = function(e, t, n) {\n\t\tif (typeof e == \"number\") throw TypeError(\"Argument must not be a number\");\n\t\treturn r(e, t, n);\n\t}, a.alloc = function(e, t, n) {\n\t\tif (typeof e != \"number\") throw TypeError(\"Argument must be a number\");\n\t\tvar i = r(e);\n\t\treturn t === void 0 ? i.fill(0) : typeof n == \"string\" ? i.fill(t, n) : i.fill(t), i;\n\t}, a.allocUnsafe = function(e) {\n\t\tif (typeof e != \"number\") throw TypeError(\"Argument must be a number\");\n\t\treturn r(e);\n\t}, a.allocUnsafeSlow = function(e) {\n\t\tif (typeof e != \"number\") throw TypeError(\"Argument must be a number\");\n\t\treturn n.SlowBuffer(e);\n\t};\n})), Ot = /* @__PURE__ */ a(((e) => {\n\tvar t = Dt().Buffer, n = t.isEncoding || function(e) {\n\t\tswitch (e = \"\" + e, e && e.toLowerCase()) {\n\t\t\tcase \"hex\":\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\":\n\t\t\tcase \"ascii\":\n\t\t\tcase \"binary\":\n\t\t\tcase \"base64\":\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\":\n\t\t\tcase \"raw\": return !0;\n\t\t\tdefault: return !1;\n\t\t}\n\t};\n\tfunction r(e) {\n\t\tif (!e) return \"utf8\";\n\t\tfor (var t;;) switch (e) {\n\t\t\tcase \"utf8\":\n\t\t\tcase \"utf-8\": return \"utf8\";\n\t\t\tcase \"ucs2\":\n\t\t\tcase \"ucs-2\":\n\t\t\tcase \"utf16le\":\n\t\t\tcase \"utf-16le\": return \"utf16le\";\n\t\t\tcase \"latin1\":\n\t\t\tcase \"binary\": return \"latin1\";\n\t\t\tcase \"base64\":\n\t\t\tcase \"ascii\":\n\t\t\tcase \"hex\": return e;\n\t\t\tdefault:\n\t\t\t\tif (t) return;\n\t\t\t\te = (\"\" + e).toLowerCase(), t = !0;\n\t\t}\n\t}\n\tfunction i(e) {\n\t\tvar i = r(e);\n\t\tif (typeof i != \"string\" && (t.isEncoding === n || !n(e))) throw Error(\"Unknown encoding: \" + e);\n\t\treturn i || e;\n\t}\n\te.StringDecoder = a;\n\tfunction a(e) {\n\t\tthis.encoding = i(e);\n\t\tvar n;\n\t\tswitch (this.encoding) {\n\t\t\tcase \"utf16le\":\n\t\t\t\tthis.text = f, this.end = p, n = 4;\n\t\t\t\tbreak;\n\t\t\tcase \"utf8\":\n\t\t\t\tthis.fillLast = l, n = 4;\n\t\t\t\tbreak;\n\t\t\tcase \"base64\":\n\t\t\t\tthis.text = m, this.end = h, n = 3;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthis.write = g, this.end = _;\n\t\t\t\treturn;\n\t\t}\n\t\tthis.lastNeed = 0, this.lastTotal = 0, this.lastChar = t.allocUnsafe(n);\n\t}\n\ta.prototype.write = function(e) {\n\t\tif (e.length === 0) return \"\";\n\t\tvar t, n;\n\t\tif (this.lastNeed) {\n\t\t\tif (t = this.fillLast(e), t === void 0) return \"\";\n\t\t\tn = this.lastNeed, this.lastNeed = 0;\n\t\t} else n = 0;\n\t\treturn n < e.length ? t ? t + this.text(e, n) : this.text(e, n) : t || \"\";\n\t}, a.prototype.end = d, a.prototype.text = u, a.prototype.fillLast = function(e) {\n\t\tif (this.lastNeed <= e.length) return e.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);\n\t\te.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, e.length), this.lastNeed -= e.length;\n\t};\n\tfunction o(e) {\n\t\treturn e <= 127 ? 0 : e >> 5 == 6 ? 2 : e >> 4 == 14 ? 3 : e >> 3 == 30 ? 4 : e >> 6 == 2 ? -1 : -2;\n\t}\n\tfunction s(e, t, n) {\n\t\tvar r = t.length - 1;\n\t\tif (r < n) return 0;\n\t\tvar i = o(t[r]);\n\t\treturn i >= 0 ? (i > 0 && (e.lastNeed = i - 1), i) : --r < n || i === -2 ? 0 : (i = o(t[r]), i >= 0 ? (i > 0 && (e.lastNeed = i - 2), i) : --r < n || i === -2 ? 0 : (i = o(t[r]), i >= 0 ? (i > 0 && (i === 2 ? i = 0 : e.lastNeed = i - 3), i) : 0));\n\t}\n\tfunction c(e, t, n) {\n\t\tif ((t[0] & 192) != 128) return e.lastNeed = 0, \"�\";\n\t\tif (e.lastNeed > 1 && t.length > 1) {\n\t\t\tif ((t[1] & 192) != 128) return e.lastNeed = 1, \"�\";\n\t\t\tif (e.lastNeed > 2 && t.length > 2 && (t[2] & 192) != 128) return e.lastNeed = 2, \"�\";\n\t\t}\n\t}\n\tfunction l(e) {\n\t\tvar t = this.lastTotal - this.lastNeed, n = c(this, e, t);\n\t\tif (n !== void 0) return n;\n\t\tif (this.lastNeed <= e.length) return e.copy(this.lastChar, t, 0, this.lastNeed), this.lastChar.toString(this.encoding, 0, this.lastTotal);\n\t\te.copy(this.lastChar, t, 0, e.length), this.lastNeed -= e.length;\n\t}\n\tfunction u(e, t) {\n\t\tvar n = s(this, e, t);\n\t\tif (!this.lastNeed) return e.toString(\"utf8\", t);\n\t\tthis.lastTotal = n;\n\t\tvar r = e.length - (n - this.lastNeed);\n\t\treturn e.copy(this.lastChar, 0, r), e.toString(\"utf8\", t, r);\n\t}\n\tfunction d(e) {\n\t\tvar t = e && e.length ? this.write(e) : \"\";\n\t\treturn this.lastNeed ? t + \"�\" : t;\n\t}\n\tfunction f(e, t) {\n\t\tif ((e.length - t) % 2 == 0) {\n\t\t\tvar n = e.toString(\"utf16le\", t);\n\t\t\tif (n) {\n\t\t\t\tvar r = n.charCodeAt(n.length - 1);\n\t\t\t\tif (r >= 55296 && r <= 56319) return this.lastNeed = 2, this.lastTotal = 4, this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1], n.slice(0, -1);\n\t\t\t}\n\t\t\treturn n;\n\t\t}\n\t\treturn this.lastNeed = 1, this.lastTotal = 2, this.lastChar[0] = e[e.length - 1], e.toString(\"utf16le\", t, e.length - 1);\n\t}\n\tfunction p(e) {\n\t\tvar t = e && e.length ? this.write(e) : \"\";\n\t\tif (this.lastNeed) {\n\t\t\tvar n = this.lastTotal - this.lastNeed;\n\t\t\treturn t + this.lastChar.toString(\"utf16le\", 0, n);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction m(e, t) {\n\t\tvar n = (e.length - t) % 3;\n\t\treturn n === 0 ? e.toString(\"base64\", t) : (this.lastNeed = 3 - n, this.lastTotal = 3, n === 1 ? this.lastChar[0] = e[e.length - 1] : (this.lastChar[0] = e[e.length - 2], this.lastChar[1] = e[e.length - 1]), e.toString(\"base64\", t, e.length - n));\n\t}\n\tfunction h(e) {\n\t\tvar t = e && e.length ? this.write(e) : \"\";\n\t\treturn this.lastNeed ? t + this.lastChar.toString(\"base64\", 0, 3 - this.lastNeed) : t;\n\t}\n\tfunction g(e) {\n\t\treturn e.toString(this.encoding);\n\t}\n\tfunction _(e) {\n\t\treturn e && e.length ? this.write(e) : \"\";\n\t}\n})), kt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { PromisePrototypeThen: r, SymbolAsyncIterator: i, SymbolIterator: a } = Z(), { Buffer: o } = U(), { ERR_INVALID_ARG_TYPE: s, ERR_STREAM_NULL_VALUES: c } = Q().codes;\n\tfunction l(e, t, l) {\n\t\tlet u;\n\t\tif (typeof t == \"string\" || t instanceof o) return new e({\n\t\t\tobjectMode: !0,\n\t\t\t...l,\n\t\t\tread() {\n\t\t\t\tthis.push(t), this.push(null);\n\t\t\t}\n\t\t});\n\t\tlet d;\n\t\tif (t && t[i]) d = !0, u = t[i]();\n\t\telse if (t && t[a]) d = !1, u = t[a]();\n\t\telse throw new s(\"iterable\", [\"Iterable\"], t);\n\t\tlet f = new e({\n\t\t\tobjectMode: !0,\n\t\t\thighWaterMark: 1,\n\t\t\t...l\n\t\t}), p = !1;\n\t\tf._read = function() {\n\t\t\tp || (p = !0, h());\n\t\t}, f._destroy = function(e, t) {\n\t\t\tr(m(e), () => n.nextTick(t, e), (r) => n.nextTick(t, r || e));\n\t\t};\n\t\tasync function m(e) {\n\t\t\tlet t = e != null, n = typeof u.throw == \"function\";\n\t\t\tif (t && n) {\n\t\t\t\tlet { value: t, done: n } = await u.throw(e);\n\t\t\t\tif (await t, n) return;\n\t\t\t}\n\t\t\tif (typeof u.return == \"function\") {\n\t\t\t\tlet { value: e } = await u.return();\n\t\t\t\tawait e;\n\t\t\t}\n\t\t}\n\t\tasync function h() {\n\t\t\tfor (;;) {\n\t\t\t\ttry {\n\t\t\t\t\tlet { value: e, done: t } = d ? await u.next() : u.next();\n\t\t\t\t\tif (t) f.push(null);\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet t = e && typeof e.then == \"function\" ? await e : e;\n\t\t\t\t\t\tif (t === null) throw p = !1, new c();\n\t\t\t\t\t\tif (f.push(t)) continue;\n\t\t\t\t\t\tp = !1;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {\n\t\t\t\t\tf.destroy(e);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn f;\n\t}\n\tt.exports = l;\n})), At = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { ArrayPrototypeIndexOf: r, NumberIsInteger: i, NumberIsNaN: a, NumberParseInt: o, ObjectDefineProperties: s, ObjectKeys: c, ObjectSetPrototypeOf: l, Promise: u, SafeSet: d, SymbolAsyncDispose: f, SymbolAsyncIterator: p, Symbol: m } = Z();\n\tt.exports = X, X.ReadableState = Y;\n\tvar { EventEmitter: h } = _t(), { Stream: g, prependListener: _ } = Ct(), { Buffer: v } = U(), { addAbortSignal: y } = wt(), b = xt(), x = $().debuglog(\"stream\", (e) => {\n\t\tx = e;\n\t}), S = Tt(), C = St(), { getHighWaterMark: w, getDefaultHighWaterMark: T } = Et(), { aggregateTwoErrors: E, codes: { ERR_INVALID_ARG_TYPE: D, ERR_METHOD_NOT_IMPLEMENTED: O, ERR_OUT_OF_RANGE: k, ERR_STREAM_PUSH_AFTER_EOF: A, ERR_STREAM_UNSHIFT_AFTER_END_EVENT: j }, AbortError: M } = Q(), { validateObject: N } = vt(), P = m(\"kPaused\"), { StringDecoder: F } = Ot(), I = kt();\n\tl(X.prototype, g.prototype), l(X, g);\n\tvar L = () => {}, { errorOrDestroy: R } = C, z = 1, ee = 2, B = 4, V = 8, H = 16, te = 32, ne = 64, W = 128, G = 256, re = 512, K = 1024, q = 2048, ie = 4096, ae = 8192, oe = 16384, se = 32768, ce = 65536, le = 1 << 17, ue = 1 << 18;\n\tfunction J(e) {\n\t\treturn {\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn (this.state & e) !== 0;\n\t\t\t},\n\t\t\tset(t) {\n\t\t\t\tt ? this.state |= e : this.state &= ~e;\n\t\t\t}\n\t\t};\n\t}\n\ts(Y.prototype, {\n\t\tobjectMode: J(z),\n\t\tended: J(ee),\n\t\tendEmitted: J(B),\n\t\treading: J(V),\n\t\tconstructed: J(H),\n\t\tsync: J(te),\n\t\tneedReadable: J(ne),\n\t\temittedReadable: J(W),\n\t\treadableListening: J(G),\n\t\tresumeScheduled: J(re),\n\t\terrorEmitted: J(K),\n\t\temitClose: J(q),\n\t\tautoDestroy: J(ie),\n\t\tdestroyed: J(ae),\n\t\tclosed: J(oe),\n\t\tcloseEmitted: J(se),\n\t\tmultiAwaitDrain: J(ce),\n\t\treadingMore: J(le),\n\t\tdataEmitted: J(ue)\n\t});\n\tfunction Y(e, t, n) {\n\t\ttypeof n != \"boolean\" && (n = t instanceof Nt()), this.state = 6192, e && e.objectMode && (this.state |= z), n && e && e.readableObjectMode && (this.state |= z), this.highWaterMark = e ? w(this, e, \"readableHighWaterMark\", n) : T(!1), this.buffer = new S(), this.length = 0, this.pipes = [], this.flowing = null, this[P] = null, e && e.emitClose === !1 && (this.state &= -2049), e && e.autoDestroy === !1 && (this.state &= -4097), this.errored = null, this.defaultEncoding = e && e.defaultEncoding || \"utf8\", this.awaitDrainWriters = null, this.decoder = null, this.encoding = null, e && e.encoding && (this.decoder = new F(e.encoding), this.encoding = e.encoding);\n\t}\n\tfunction X(e) {\n\t\tif (!(this instanceof X)) return new X(e);\n\t\tlet t = this instanceof Nt();\n\t\tthis._readableState = new Y(e, this, t), e && (typeof e.read == \"function\" && (this._read = e.read), typeof e.destroy == \"function\" && (this._destroy = e.destroy), typeof e.construct == \"function\" && (this._construct = e.construct), e.signal && !t && y(e.signal, this)), g.call(this, e), C.construct(this, () => {\n\t\t\tthis._readableState.needReadable && ye(this, this._readableState);\n\t\t});\n\t}\n\tX.prototype.destroy = C.destroy, X.prototype._undestroy = C.undestroy, X.prototype._destroy = function(e, t) {\n\t\tt(e);\n\t}, X.prototype[h.captureRejectionSymbol] = function(e) {\n\t\tthis.destroy(e);\n\t}, X.prototype[f] = function() {\n\t\tlet e;\n\t\treturn this.destroyed || (e = this.readableEnded ? null : new M(), this.destroy(e)), new u((t, n) => b(this, (r) => r && r !== e ? n(r) : t(null)));\n\t}, X.prototype.push = function(e, t) {\n\t\treturn de(this, e, t, !1);\n\t}, X.prototype.unshift = function(e, t) {\n\t\treturn de(this, e, t, !0);\n\t};\n\tfunction de(e, t, n, r) {\n\t\tx(\"readableAddChunk\", t);\n\t\tlet i = e._readableState, a;\n\t\tif ((i.state & z) === 0 && (typeof t == \"string\" ? (n ||= i.defaultEncoding, i.encoding !== n && (r && i.encoding ? t = v.from(t, n).toString(i.encoding) : (t = v.from(t, n), n = \"\"))) : t instanceof v ? n = \"\" : g._isUint8Array(t) ? (t = g._uint8ArrayToBuffer(t), n = \"\") : t != null && (a = new D(\"chunk\", [\n\t\t\t\"string\",\n\t\t\t\"Buffer\",\n\t\t\t\"Uint8Array\"\n\t\t], t))), a) R(e, a);\n\t\telse if (t === null) i.state &= -9, ge(e, i);\n\t\telse if ((i.state & z) !== 0 || t && t.length > 0) {\n\t\t\tif (r) {\n\t\t\t\tif ((i.state & B) !== 0) R(e, new j());\n\t\t\t\telse if (i.destroyed || i.errored) return !1;\n\t\t\t\telse fe(e, i, t, !0);\n\t\t\t} else if (i.ended) R(e, new A());\n\t\t\telse if (i.destroyed || i.errored) return !1;\n\t\t\telse i.state &= -9, i.decoder && !n ? (t = i.decoder.write(t), i.objectMode || t.length !== 0 ? fe(e, i, t, !1) : ye(e, i)) : fe(e, i, t, !1);\n\t\t} else r || (i.state &= -9, ye(e, i));\n\t\treturn !i.ended && (i.length < i.highWaterMark || i.length === 0);\n\t}\n\tfunction fe(e, t, n, r) {\n\t\tt.flowing && t.length === 0 && !t.sync && e.listenerCount(\"data\") > 0 ? ((t.state & ce) === 0 ? t.awaitDrainWriters = null : t.awaitDrainWriters.clear(), t.dataEmitted = !0, e.emit(\"data\", n)) : (t.length += t.objectMode ? 1 : n.length, r ? t.buffer.unshift(n) : t.buffer.push(n), (t.state & ne) !== 0 && _e(e)), ye(e, t);\n\t}\n\tX.prototype.isPaused = function() {\n\t\tlet e = this._readableState;\n\t\treturn e[P] === !0 || e.flowing === !1;\n\t}, X.prototype.setEncoding = function(e) {\n\t\tlet t = new F(e);\n\t\tthis._readableState.decoder = t, this._readableState.encoding = this._readableState.decoder.encoding;\n\t\tlet n = this._readableState.buffer, r = \"\";\n\t\tfor (let e of n) r += t.write(e);\n\t\treturn n.clear(), r !== \"\" && n.push(r), this._readableState.length = r.length, this;\n\t};\n\tvar pe = 1073741824;\n\tfunction me(e) {\n\t\tif (e > pe) throw new k(\"size\", \"<= 1GiB\", e);\n\t\treturn e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++, e;\n\t}\n\tfunction he(e, t) {\n\t\treturn e <= 0 || t.length === 0 && t.ended ? 0 : (t.state & z) === 0 ? a(e) ? t.flowing && t.length ? t.buffer.first().length : t.length : e <= t.length ? e : t.ended ? t.length : 0 : 1;\n\t}\n\tX.prototype.read = function(e) {\n\t\tx(\"read\", e), e === void 0 ? e = NaN : i(e) || (e = o(e, 10));\n\t\tlet t = this._readableState, n = e;\n\t\tif (e > t.highWaterMark && (t.highWaterMark = me(e)), e !== 0 && (t.state &= -129), e === 0 && t.needReadable && ((t.highWaterMark === 0 ? t.length > 0 : t.length >= t.highWaterMark) || t.ended)) return x(\"read: emitReadable\", t.length, t.ended), t.length === 0 && t.ended ? Ae(this) : _e(this), null;\n\t\tif (e = he(e, t), e === 0 && t.ended) return t.length === 0 && Ae(this), null;\n\t\tlet r = (t.state & ne) !== 0;\n\t\tif (x(\"need readable\", r), (t.length === 0 || t.length - e < t.highWaterMark) && (r = !0, x(\"length less than watermark\", r)), t.ended || t.reading || t.destroyed || t.errored || !t.constructed) r = !1, x(\"reading, ended or constructing\", r);\n\t\telse if (r) {\n\t\t\tx(\"do read\"), t.state |= 40, t.length === 0 && (t.state |= ne);\n\t\t\ttry {\n\t\t\t\tthis._read(t.highWaterMark);\n\t\t\t} catch (e) {\n\t\t\t\tR(this, e);\n\t\t\t}\n\t\t\tt.state &= -33, t.reading || (e = he(n, t));\n\t\t}\n\t\tlet a;\n\t\treturn a = e > 0 ? ke(e, t) : null, a === null ? (t.needReadable = t.length <= t.highWaterMark, e = 0) : (t.length -= e, t.multiAwaitDrain ? t.awaitDrainWriters.clear() : t.awaitDrainWriters = null), t.length === 0 && (t.ended || (t.needReadable = !0), n !== e && t.ended && Ae(this)), a !== null && !t.errorEmitted && !t.closeEmitted && (t.dataEmitted = !0, this.emit(\"data\", a)), a;\n\t};\n\tfunction ge(e, t) {\n\t\tif (x(\"onEofChunk\"), !t.ended) {\n\t\t\tif (t.decoder) {\n\t\t\t\tlet e = t.decoder.end();\n\t\t\t\te && e.length && (t.buffer.push(e), t.length += t.objectMode ? 1 : e.length);\n\t\t\t}\n\t\t\tt.ended = !0, t.sync ? _e(e) : (t.needReadable = !1, t.emittedReadable = !0, ve(e));\n\t\t}\n\t}\n\tfunction _e(e) {\n\t\tlet t = e._readableState;\n\t\tx(\"emitReadable\", t.needReadable, t.emittedReadable), t.needReadable = !1, t.emittedReadable || (x(\"emitReadable\", t.flowing), t.emittedReadable = !0, n.nextTick(ve, e));\n\t}\n\tfunction ve(e) {\n\t\tlet t = e._readableState;\n\t\tx(\"emitReadable_\", t.destroyed, t.length, t.ended), !t.destroyed && !t.errored && (t.length || t.ended) && (e.emit(\"readable\"), t.emittedReadable = !1), t.needReadable = !t.flowing && !t.ended && t.length <= t.highWaterMark, Ee(e);\n\t}\n\tfunction ye(e, t) {\n\t\t!t.readingMore && t.constructed && (t.readingMore = !0, n.nextTick(be, e, t));\n\t}\n\tfunction be(e, t) {\n\t\tfor (; !t.reading && !t.ended && (t.length < t.highWaterMark || t.flowing && t.length === 0);) {\n\t\t\tlet n = t.length;\n\t\t\tif (x(\"maybeReadMore read 0\"), e.read(0), n === t.length) break;\n\t\t}\n\t\tt.readingMore = !1;\n\t}\n\tX.prototype._read = function(e) {\n\t\tthrow new O(\"_read()\");\n\t}, X.prototype.pipe = function(e, t) {\n\t\tlet r = this, i = this._readableState;\n\t\ti.pipes.length === 1 && (i.multiAwaitDrain || (i.multiAwaitDrain = !0, i.awaitDrainWriters = new d(i.awaitDrainWriters ? [i.awaitDrainWriters] : []))), i.pipes.push(e), x(\"pipe count=%d opts=%j\", i.pipes.length, t);\n\t\tlet a = (!t || t.end !== !1) && e !== n.stdout && e !== n.stderr ? s : v;\n\t\ti.endEmitted ? n.nextTick(a) : r.once(\"end\", a), e.on(\"unpipe\", o);\n\t\tfunction o(e, t) {\n\t\t\tx(\"onunpipe\"), e === r && t && t.hasUnpiped === !1 && (t.hasUnpiped = !0, u());\n\t\t}\n\t\tfunction s() {\n\t\t\tx(\"onend\"), e.end();\n\t\t}\n\t\tlet c, l = !1;\n\t\tfunction u() {\n\t\t\tx(\"cleanup\"), e.removeListener(\"close\", h), e.removeListener(\"finish\", g), c && e.removeListener(\"drain\", c), e.removeListener(\"error\", m), e.removeListener(\"unpipe\", o), r.removeListener(\"end\", s), r.removeListener(\"end\", v), r.removeListener(\"data\", p), l = !0, c && i.awaitDrainWriters && (!e._writableState || e._writableState.needDrain) && c();\n\t\t}\n\t\tfunction f() {\n\t\t\tl || (i.pipes.length === 1 && i.pipes[0] === e ? (x(\"false write response, pause\", 0), i.awaitDrainWriters = e, i.multiAwaitDrain = !1) : i.pipes.length > 1 && i.pipes.includes(e) && (x(\"false write response, pause\", i.awaitDrainWriters.size), i.awaitDrainWriters.add(e)), r.pause()), c || (c = xe(r, e), e.on(\"drain\", c));\n\t\t}\n\t\tr.on(\"data\", p);\n\t\tfunction p(t) {\n\t\t\tx(\"ondata\");\n\t\t\tlet n = e.write(t);\n\t\t\tx(\"dest.write\", n), n === !1 && f();\n\t\t}\n\t\tfunction m(t) {\n\t\t\tif (x(\"onerror\", t), v(), e.removeListener(\"error\", m), e.listenerCount(\"error\") === 0) {\n\t\t\t\tlet n = e._writableState || e._readableState;\n\t\t\t\tn && !n.errorEmitted ? R(e, t) : e.emit(\"error\", t);\n\t\t\t}\n\t\t}\n\t\t_(e, \"error\", m);\n\t\tfunction h() {\n\t\t\te.removeListener(\"finish\", g), v();\n\t\t}\n\t\te.once(\"close\", h);\n\t\tfunction g() {\n\t\t\tx(\"onfinish\"), e.removeListener(\"close\", h), v();\n\t\t}\n\t\te.once(\"finish\", g);\n\t\tfunction v() {\n\t\t\tx(\"unpipe\"), r.unpipe(e);\n\t\t}\n\t\treturn e.emit(\"pipe\", r), e.writableNeedDrain === !0 ? f() : i.flowing || (x(\"pipe resume\"), r.resume()), e;\n\t};\n\tfunction xe(e, t) {\n\t\treturn function() {\n\t\t\tlet n = e._readableState;\n\t\t\tn.awaitDrainWriters === t ? (x(\"pipeOnDrain\", 1), n.awaitDrainWriters = null) : n.multiAwaitDrain && (x(\"pipeOnDrain\", n.awaitDrainWriters.size), n.awaitDrainWriters.delete(t)), (!n.awaitDrainWriters || n.awaitDrainWriters.size === 0) && e.listenerCount(\"data\") && e.resume();\n\t\t};\n\t}\n\tX.prototype.unpipe = function(e) {\n\t\tlet t = this._readableState, n = { hasUnpiped: !1 };\n\t\tif (t.pipes.length === 0) return this;\n\t\tif (!e) {\n\t\t\tlet e = t.pipes;\n\t\t\tt.pipes = [], this.pause();\n\t\t\tfor (let t = 0; t < e.length; t++) e[t].emit(\"unpipe\", this, { hasUnpiped: !1 });\n\t\t\treturn this;\n\t\t}\n\t\tlet i = r(t.pipes, e);\n\t\treturn i === -1 ? this : (t.pipes.splice(i, 1), t.pipes.length === 0 && this.pause(), e.emit(\"unpipe\", this, n), this);\n\t}, X.prototype.on = function(e, t) {\n\t\tlet r = g.prototype.on.call(this, e, t), i = this._readableState;\n\t\treturn e === \"data\" ? (i.readableListening = this.listenerCount(\"readable\") > 0, i.flowing !== !1 && this.resume()) : e === \"readable\" && !i.endEmitted && !i.readableListening && (i.readableListening = i.needReadable = !0, i.flowing = !1, i.emittedReadable = !1, x(\"on readable\", i.length, i.reading), i.length ? _e(this) : i.reading || n.nextTick(Ce, this)), r;\n\t}, X.prototype.addListener = X.prototype.on, X.prototype.removeListener = function(e, t) {\n\t\tlet r = g.prototype.removeListener.call(this, e, t);\n\t\treturn e === \"readable\" && n.nextTick(Se, this), r;\n\t}, X.prototype.off = X.prototype.removeListener, X.prototype.removeAllListeners = function(e) {\n\t\tlet t = g.prototype.removeAllListeners.apply(this, arguments);\n\t\treturn (e === \"readable\" || e === void 0) && n.nextTick(Se, this), t;\n\t};\n\tfunction Se(e) {\n\t\tlet t = e._readableState;\n\t\tt.readableListening = e.listenerCount(\"readable\") > 0, t.resumeScheduled && t[P] === !1 ? t.flowing = !0 : e.listenerCount(\"data\") > 0 ? e.resume() : t.readableListening || (t.flowing = null);\n\t}\n\tfunction Ce(e) {\n\t\tx(\"readable nexttick read 0\"), e.read(0);\n\t}\n\tX.prototype.resume = function() {\n\t\tlet e = this._readableState;\n\t\treturn e.flowing || (x(\"resume\"), e.flowing = !e.readableListening, we(this, e)), e[P] = !1, this;\n\t};\n\tfunction we(e, t) {\n\t\tt.resumeScheduled || (t.resumeScheduled = !0, n.nextTick(Te, e, t));\n\t}\n\tfunction Te(e, t) {\n\t\tx(\"resume\", t.reading), t.reading || e.read(0), t.resumeScheduled = !1, e.emit(\"resume\"), Ee(e), t.flowing && !t.reading && e.read(0);\n\t}\n\tX.prototype.pause = function() {\n\t\treturn x(\"call pause flowing=%j\", this._readableState.flowing), this._readableState.flowing !== !1 && (x(\"pause\"), this._readableState.flowing = !1, this.emit(\"pause\")), this._readableState[P] = !0, this;\n\t};\n\tfunction Ee(e) {\n\t\tlet t = e._readableState;\n\t\tfor (x(\"flow\", t.flowing); t.flowing && e.read() !== null;);\n\t}\n\tX.prototype.wrap = function(e) {\n\t\tlet t = !1;\n\t\te.on(\"data\", (n) => {\n\t\t\t!this.push(n) && e.pause && (t = !0, e.pause());\n\t\t}), e.on(\"end\", () => {\n\t\t\tthis.push(null);\n\t\t}), e.on(\"error\", (e) => {\n\t\t\tR(this, e);\n\t\t}), e.on(\"close\", () => {\n\t\t\tthis.destroy();\n\t\t}), e.on(\"destroy\", () => {\n\t\t\tthis.destroy();\n\t\t}), this._read = () => {\n\t\t\tt && e.resume && (t = !1, e.resume());\n\t\t};\n\t\tlet n = c(e);\n\t\tfor (let t = 1; t < n.length; t++) {\n\t\t\tlet r = n[t];\n\t\t\tthis[r] === void 0 && typeof e[r] == \"function\" && (this[r] = e[r].bind(e));\n\t\t}\n\t\treturn this;\n\t}, X.prototype[p] = function() {\n\t\treturn De(this);\n\t}, X.prototype.iterator = function(e) {\n\t\treturn e !== void 0 && N(e, \"options\"), De(this, e);\n\t};\n\tfunction De(e, t) {\n\t\ttypeof e.read != \"function\" && (e = X.wrap(e, { objectMode: !0 }));\n\t\tlet n = Oe(e, t);\n\t\treturn n.stream = e, n;\n\t}\n\tasync function* Oe(e, t) {\n\t\tlet n = L;\n\t\tfunction r(t) {\n\t\t\tthis === e ? (n(), n = L) : n = t;\n\t\t}\n\t\te.on(\"readable\", r);\n\t\tlet i, a = b(e, { writable: !1 }, (e) => {\n\t\t\ti = e ? E(i, e) : null, n(), n = L;\n\t\t});\n\t\ttry {\n\t\t\tfor (;;) {\n\t\t\t\tlet t = e.destroyed ? null : e.read();\n\t\t\t\tif (t !== null) yield t;\n\t\t\t\telse if (i) throw i;\n\t\t\t\telse if (i === null) return;\n\t\t\t\telse await new u(r);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthrow i = E(i, e), i;\n\t\t} finally {\n\t\t\t(i || t?.destroyOnReturn !== !1) && (i === void 0 || e._readableState.autoDestroy) ? C.destroyer(e, null) : (e.off(\"readable\", r), a());\n\t\t}\n\t}\n\ts(X.prototype, {\n\t\treadable: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\tlet e = this._readableState;\n\t\t\t\treturn !!e && e.readable !== !1 && !e.destroyed && !e.errorEmitted && !e.endEmitted;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis._readableState && (this._readableState.readable = !!e);\n\t\t\t}\n\t\t},\n\t\treadableDidRead: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn this._readableState.dataEmitted;\n\t\t\t}\n\t\t},\n\t\treadableAborted: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn !!(this._readableState.readable !== !1 && (this._readableState.destroyed || this._readableState.errored) && !this._readableState.endEmitted);\n\t\t\t}\n\t\t},\n\t\treadableHighWaterMark: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn this._readableState.highWaterMark;\n\t\t\t}\n\t\t},\n\t\treadableBuffer: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn this._readableState && this._readableState.buffer;\n\t\t\t}\n\t\t},\n\t\treadableFlowing: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn this._readableState.flowing;\n\t\t\t},\n\t\t\tset: function(e) {\n\t\t\t\tthis._readableState && (this._readableState.flowing = e);\n\t\t\t}\n\t\t},\n\t\treadableLength: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState.length;\n\t\t\t}\n\t\t},\n\t\treadableObjectMode: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.objectMode : !1;\n\t\t\t}\n\t\t},\n\t\treadableEncoding: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.encoding : null;\n\t\t\t}\n\t\t},\n\t\terrored: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.errored : null;\n\t\t\t}\n\t\t},\n\t\tclosed: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.closed : !1;\n\t\t\t}\n\t\t},\n\t\tdestroyed: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.destroyed : !1;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis._readableState && (this._readableState.destroyed = e);\n\t\t\t}\n\t\t},\n\t\treadableEnded: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._readableState ? this._readableState.endEmitted : !1;\n\t\t\t}\n\t\t}\n\t}), s(Y.prototype, {\n\t\tpipesCount: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this.pipes.length;\n\t\t\t}\n\t\t},\n\t\tpaused: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this[P] !== !1;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis[P] = !!e;\n\t\t\t}\n\t\t}\n\t}), X._fromList = ke;\n\tfunction ke(e, t) {\n\t\tif (t.length === 0) return null;\n\t\tlet n;\n\t\treturn t.objectMode ? n = t.buffer.shift() : !e || e >= t.length ? (n = t.decoder ? t.buffer.join(\"\") : t.buffer.length === 1 ? t.buffer.first() : t.buffer.concat(t.length), t.buffer.clear()) : n = t.buffer.consume(e, t.decoder), n;\n\t}\n\tfunction Ae(e) {\n\t\tlet t = e._readableState;\n\t\tx(\"endReadable\", t.endEmitted), t.endEmitted || (t.ended = !0, n.nextTick(je, t, e));\n\t}\n\tfunction je(e, t) {\n\t\tif (x(\"endReadableNT\", e.endEmitted, e.length), !e.errored && !e.closeEmitted && !e.endEmitted && e.length === 0) {\n\t\t\tif (e.endEmitted = !0, t.emit(\"end\"), t.writable && t.allowHalfOpen === !1) n.nextTick(Me, t);\n\t\t\telse if (e.autoDestroy) {\n\t\t\t\tlet e = t._writableState;\n\t\t\t\t(!e || e.autoDestroy && (e.finished || e.writable === !1)) && t.destroy();\n\t\t\t}\n\t\t}\n\t}\n\tfunction Me(e) {\n\t\te.writable && !e.writableEnded && !e.destroyed && e.end();\n\t}\n\tX.from = function(e, t) {\n\t\treturn I(X, e, t);\n\t};\n\tvar Ne;\n\tfunction Pe() {\n\t\treturn Ne === void 0 && (Ne = {}), Ne;\n\t}\n\tX.fromWeb = function(e, t) {\n\t\treturn Pe().newStreamReadableFromReadableStream(e, t);\n\t}, X.toWeb = function(e, t) {\n\t\treturn Pe().newReadableStreamFromStreamReadable(e, t);\n\t}, X.wrap = function(e, t) {\n\t\treturn new X({\n\t\t\tobjectMode: e.readableObjectMode ?? e.objectMode ?? !0,\n\t\t\t...t,\n\t\t\tdestroy(t, n) {\n\t\t\t\tC.destroyer(e, t), n(t);\n\t\t\t}\n\t\t}).wrap(e);\n\t};\n})), jt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { ArrayPrototypeSlice: r, Error: i, FunctionPrototypeSymbolHasInstance: a, ObjectDefineProperty: o, ObjectDefineProperties: s, ObjectSetPrototypeOf: c, StringPrototypeToLowerCase: l, Symbol: u, SymbolHasInstance: d } = Z();\n\tt.exports = N, N.WritableState = j;\n\tvar { EventEmitter: f } = _t(), p = Ct().Stream, { Buffer: m } = U(), h = St(), { addAbortSignal: g } = wt(), { getHighWaterMark: _, getDefaultHighWaterMark: v } = Et(), { ERR_INVALID_ARG_TYPE: y, ERR_METHOD_NOT_IMPLEMENTED: b, ERR_MULTIPLE_CALLBACK: x, ERR_STREAM_CANNOT_PIPE: S, ERR_STREAM_DESTROYED: C, ERR_STREAM_ALREADY_FINISHED: w, ERR_STREAM_NULL_VALUES: T, ERR_STREAM_WRITE_AFTER_END: E, ERR_UNKNOWN_ENCODING: D } = Q().codes, { errorOrDestroy: O } = h;\n\tc(N.prototype, p.prototype), c(N, p);\n\tfunction k() {}\n\tvar A = u(\"kOnFinished\");\n\tfunction j(e, t, n) {\n\t\ttypeof n != \"boolean\" && (n = t instanceof Nt()), this.objectMode = !!(e && e.objectMode), n && (this.objectMode = this.objectMode || !!(e && e.writableObjectMode)), this.highWaterMark = e ? _(this, e, \"writableHighWaterMark\", n) : v(!1), this.finalCalled = !1, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1, this.destroyed = !1;\n\t\tlet r = !!(e && e.decodeStrings === !1);\n\t\tthis.decodeStrings = !r, this.defaultEncoding = e && e.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = R.bind(void 0, t), this.writecb = null, this.writelen = 0, this.afterWriteTickInfo = null, M(this), this.pendingcb = 0, this.constructed = !0, this.prefinished = !1, this.errorEmitted = !1, this.emitClose = !e || e.emitClose !== !1, this.autoDestroy = !e || e.autoDestroy !== !1, this.errored = null, this.closed = !1, this.closeEmitted = !1, this[A] = [];\n\t}\n\tfunction M(e) {\n\t\te.buffered = [], e.bufferedIndex = 0, e.allBuffers = !0, e.allNoop = !0;\n\t}\n\tj.prototype.getBuffer = function() {\n\t\treturn r(this.buffered, this.bufferedIndex);\n\t}, o(j.prototype, \"bufferedRequestCount\", {\n\t\t__proto__: null,\n\t\tget() {\n\t\t\treturn this.buffered.length - this.bufferedIndex;\n\t\t}\n\t});\n\tfunction N(e) {\n\t\tlet t = this instanceof Nt();\n\t\tif (!t && !a(N, this)) return new N(e);\n\t\tthis._writableState = new j(e, this, t), e && (typeof e.write == \"function\" && (this._write = e.write), typeof e.writev == \"function\" && (this._writev = e.writev), typeof e.destroy == \"function\" && (this._destroy = e.destroy), typeof e.final == \"function\" && (this._final = e.final), typeof e.construct == \"function\" && (this._construct = e.construct), e.signal && g(e.signal, this)), p.call(this, e), h.construct(this, () => {\n\t\t\tlet e = this._writableState;\n\t\t\te.writing || V(this, e), W(this, e);\n\t\t});\n\t}\n\to(N, d, {\n\t\t__proto__: null,\n\t\tvalue: function(e) {\n\t\t\treturn a(this, e) ? !0 : this === N && e && e._writableState instanceof j;\n\t\t}\n\t}), N.prototype.pipe = function() {\n\t\tO(this, new S());\n\t};\n\tfunction P(e, t, r, i) {\n\t\tlet a = e._writableState;\n\t\tif (typeof r == \"function\") i = r, r = a.defaultEncoding;\n\t\telse {\n\t\t\tif (!r) r = a.defaultEncoding;\n\t\t\telse if (r !== \"buffer\" && !m.isEncoding(r)) throw new D(r);\n\t\t\ttypeof i != \"function\" && (i = k);\n\t\t}\n\t\tif (t === null) throw new T();\n\t\tif (!a.objectMode) {\n\t\t\tif (typeof t == \"string\") a.decodeStrings !== !1 && (t = m.from(t, r), r = \"buffer\");\n\t\t\telse if (t instanceof m) r = \"buffer\";\n\t\t\telse if (p._isUint8Array(t)) t = p._uint8ArrayToBuffer(t), r = \"buffer\";\n\t\t\telse throw new y(\"chunk\", [\n\t\t\t\t\"string\",\n\t\t\t\t\"Buffer\",\n\t\t\t\t\"Uint8Array\"\n\t\t\t], t);\n\t\t}\n\t\tlet o;\n\t\treturn a.ending ? o = new E() : a.destroyed && (o = new C(\"write\")), o ? (n.nextTick(i, o), O(e, o, !0), o) : (a.pendingcb++, F(e, a, t, r, i));\n\t}\n\tN.prototype.write = function(e, t, n) {\n\t\treturn P(this, e, t, n) === !0;\n\t}, N.prototype.cork = function() {\n\t\tthis._writableState.corked++;\n\t}, N.prototype.uncork = function() {\n\t\tlet e = this._writableState;\n\t\te.corked && (e.corked--, e.writing || V(this, e));\n\t}, N.prototype.setDefaultEncoding = function(e) {\n\t\tif (typeof e == \"string\" && (e = l(e)), !m.isEncoding(e)) throw new D(e);\n\t\treturn this._writableState.defaultEncoding = e, this;\n\t};\n\tfunction F(e, t, n, r, i) {\n\t\tlet a = t.objectMode ? 1 : n.length;\n\t\tt.length += a;\n\t\tlet o = t.length < t.highWaterMark;\n\t\treturn o || (t.needDrain = !0), t.writing || t.corked || t.errored || !t.constructed ? (t.buffered.push({\n\t\t\tchunk: n,\n\t\t\tencoding: r,\n\t\t\tcallback: i\n\t\t}), t.allBuffers && r !== \"buffer\" && (t.allBuffers = !1), t.allNoop && i !== k && (t.allNoop = !1)) : (t.writelen = a, t.writecb = i, t.writing = !0, t.sync = !0, e._write(n, r, t.onwrite), t.sync = !1), o && !t.errored && !t.destroyed;\n\t}\n\tfunction I(e, t, n, r, i, a, o) {\n\t\tt.writelen = r, t.writecb = o, t.writing = !0, t.sync = !0, t.destroyed ? t.onwrite(new C(\"write\")) : n ? e._writev(i, t.onwrite) : e._write(i, a, t.onwrite), t.sync = !1;\n\t}\n\tfunction L(e, t, n, r) {\n\t\t--t.pendingcb, r(n), B(t), O(e, n);\n\t}\n\tfunction R(e, t) {\n\t\tlet r = e._writableState, i = r.sync, a = r.writecb;\n\t\tif (typeof a != \"function\") {\n\t\t\tO(e, new x());\n\t\t\treturn;\n\t\t}\n\t\tr.writing = !1, r.writecb = null, r.length -= r.writelen, r.writelen = 0, t ? (t.stack, r.errored ||= t, e._readableState && !e._readableState.errored && (e._readableState.errored = t), i ? n.nextTick(L, e, r, t, a) : L(e, r, t, a)) : (r.buffered.length > r.bufferedIndex && V(e, r), i ? r.afterWriteTickInfo !== null && r.afterWriteTickInfo.cb === a ? r.afterWriteTickInfo.count++ : (r.afterWriteTickInfo = {\n\t\t\tcount: 1,\n\t\t\tcb: a,\n\t\t\tstream: e,\n\t\t\tstate: r\n\t\t}, n.nextTick(z, r.afterWriteTickInfo)) : ee(e, r, 1, a));\n\t}\n\tfunction z({ stream: e, state: t, count: n, cb: r }) {\n\t\treturn t.afterWriteTickInfo = null, ee(e, t, n, r);\n\t}\n\tfunction ee(e, t, n, r) {\n\t\tfor (!t.ending && !e.destroyed && t.length === 0 && t.needDrain && (t.needDrain = !1, e.emit(\"drain\")); n-- > 0;) t.pendingcb--, r();\n\t\tt.destroyed && B(t), W(e, t);\n\t}\n\tfunction B(e) {\n\t\tif (e.writing) return;\n\t\tfor (let t = e.bufferedIndex; t < e.buffered.length; ++t) {\n\t\t\tlet { chunk: n, callback: r } = e.buffered[t], i = e.objectMode ? 1 : n.length;\n\t\t\te.length -= i, r(e.errored ?? new C(\"write\"));\n\t\t}\n\t\tlet t = e[A].splice(0);\n\t\tfor (let n = 0; n < t.length; n++) t[n](e.errored ?? new C(\"end\"));\n\t\tM(e);\n\t}\n\tfunction V(e, t) {\n\t\tif (t.corked || t.bufferProcessing || t.destroyed || !t.constructed) return;\n\t\tlet { buffered: n, bufferedIndex: i, objectMode: a } = t, o = n.length - i;\n\t\tif (!o) return;\n\t\tlet s = i;\n\t\tif (t.bufferProcessing = !0, o > 1 && e._writev) {\n\t\t\tt.pendingcb -= o - 1;\n\t\t\tlet i = t.allNoop ? k : (e) => {\n\t\t\t\tfor (let t = s; t < n.length; ++t) n[t].callback(e);\n\t\t\t}, a = t.allNoop && s === 0 ? n : r(n, s);\n\t\t\ta.allBuffers = t.allBuffers, I(e, t, !0, t.length, a, \"\", i), M(t);\n\t\t} else {\n\t\t\tdo {\n\t\t\t\tlet { chunk: r, encoding: i, callback: o } = n[s];\n\t\t\t\tn[s++] = null, I(e, t, !1, a ? 1 : r.length, r, i, o);\n\t\t\t} while (s < n.length && !t.writing);\n\t\t\ts === n.length ? M(t) : s > 256 ? (n.splice(0, s), t.bufferedIndex = 0) : t.bufferedIndex = s;\n\t\t}\n\t\tt.bufferProcessing = !1;\n\t}\n\tN.prototype._write = function(e, t, n) {\n\t\tif (this._writev) this._writev([{\n\t\t\tchunk: e,\n\t\t\tencoding: t\n\t\t}], n);\n\t\telse throw new b(\"_write()\");\n\t}, N.prototype._writev = null, N.prototype.end = function(e, t, r) {\n\t\tlet a = this._writableState;\n\t\ttypeof e == \"function\" ? (r = e, e = null, t = null) : typeof t == \"function\" && (r = t, t = null);\n\t\tlet o;\n\t\tif (e != null) {\n\t\t\tlet n = P(this, e, t);\n\t\t\tn instanceof i && (o = n);\n\t\t}\n\t\treturn a.corked && (a.corked = 1, this.uncork()), o || (!a.errored && !a.ending ? (a.ending = !0, W(this, a, !0), a.ended = !0) : a.finished ? o = new w(\"end\") : a.destroyed && (o = new C(\"end\"))), typeof r == \"function\" && (o || a.finished ? n.nextTick(r, o) : a[A].push(r)), this;\n\t};\n\tfunction H(e) {\n\t\treturn e.ending && !e.destroyed && e.constructed && e.length === 0 && !e.errored && e.buffered.length === 0 && !e.finished && !e.writing && !e.errorEmitted && !e.closeEmitted;\n\t}\n\tfunction te(e, t) {\n\t\tlet r = !1;\n\t\tfunction i(i) {\n\t\t\tif (r) {\n\t\t\t\tO(e, i ?? x());\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (r = !0, t.pendingcb--, i) {\n\t\t\t\tlet n = t[A].splice(0);\n\t\t\t\tfor (let e = 0; e < n.length; e++) n[e](i);\n\t\t\t\tO(e, i, t.sync);\n\t\t\t} else H(t) && (t.prefinished = !0, e.emit(\"prefinish\"), t.pendingcb++, n.nextTick(G, e, t));\n\t\t}\n\t\tt.sync = !0, t.pendingcb++;\n\t\ttry {\n\t\t\te._final(i);\n\t\t} catch (e) {\n\t\t\ti(e);\n\t\t}\n\t\tt.sync = !1;\n\t}\n\tfunction ne(e, t) {\n\t\t!t.prefinished && !t.finalCalled && (typeof e._final == \"function\" && !t.destroyed ? (t.finalCalled = !0, te(e, t)) : (t.prefinished = !0, e.emit(\"prefinish\")));\n\t}\n\tfunction W(e, t, r) {\n\t\tH(t) && (ne(e, t), t.pendingcb === 0 && (r ? (t.pendingcb++, n.nextTick((e, t) => {\n\t\t\tH(t) ? G(e, t) : t.pendingcb--;\n\t\t}, e, t)) : H(t) && (t.pendingcb++, G(e, t))));\n\t}\n\tfunction G(e, t) {\n\t\tt.pendingcb--, t.finished = !0;\n\t\tlet n = t[A].splice(0);\n\t\tfor (let e = 0; e < n.length; e++) n[e]();\n\t\tif (e.emit(\"finish\"), t.autoDestroy) {\n\t\t\tlet t = e._readableState;\n\t\t\t(!t || t.autoDestroy && (t.endEmitted || t.readable === !1)) && e.destroy();\n\t\t}\n\t}\n\ts(N.prototype, {\n\t\tclosed: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.closed : !1;\n\t\t\t}\n\t\t},\n\t\tdestroyed: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.destroyed : !1;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis._writableState && (this._writableState.destroyed = e);\n\t\t\t}\n\t\t},\n\t\twritable: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\tlet e = this._writableState;\n\t\t\t\treturn !!e && e.writable !== !1 && !e.destroyed && !e.errored && !e.ending && !e.ended;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis._writableState && (this._writableState.writable = !!e);\n\t\t\t}\n\t\t},\n\t\twritableFinished: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.finished : !1;\n\t\t\t}\n\t\t},\n\t\twritableObjectMode: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.objectMode : !1;\n\t\t\t}\n\t\t},\n\t\twritableBuffer: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState && this._writableState.getBuffer();\n\t\t\t}\n\t\t},\n\t\twritableEnded: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.ending : !1;\n\t\t\t}\n\t\t},\n\t\twritableNeedDrain: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\tlet e = this._writableState;\n\t\t\t\treturn e ? !e.destroyed && !e.ending && e.needDrain : !1;\n\t\t\t}\n\t\t},\n\t\twritableHighWaterMark: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState && this._writableState.highWaterMark;\n\t\t\t}\n\t\t},\n\t\twritableCorked: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.corked : 0;\n\t\t\t}\n\t\t},\n\t\twritableLength: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._writableState && this._writableState.length;\n\t\t\t}\n\t\t},\n\t\terrored: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget() {\n\t\t\t\treturn this._writableState ? this._writableState.errored : null;\n\t\t\t}\n\t\t},\n\t\twritableAborted: {\n\t\t\t__proto__: null,\n\t\t\tenumerable: !1,\n\t\t\tget: function() {\n\t\t\t\treturn !!(this._writableState.writable !== !1 && (this._writableState.destroyed || this._writableState.errored) && !this._writableState.finished);\n\t\t\t}\n\t\t}\n\t});\n\tvar re = h.destroy;\n\tN.prototype.destroy = function(e, t) {\n\t\tlet r = this._writableState;\n\t\treturn !r.destroyed && (r.bufferedIndex < r.buffered.length || r[A].length) && n.nextTick(B, r), re.call(this, e, t), this;\n\t}, N.prototype._undestroy = h.undestroy, N.prototype._destroy = function(e, t) {\n\t\tt(e);\n\t}, N.prototype[f.captureRejectionSymbol] = function(e) {\n\t\tthis.destroy(e);\n\t};\n\tvar K;\n\tfunction q() {\n\t\treturn K === void 0 && (K = {}), K;\n\t}\n\tN.fromWeb = function(e, t) {\n\t\treturn q().newStreamWritableFromWritableStream(e, t);\n\t}, N.toWeb = function(e) {\n\t\treturn q().newWritableStreamFromStreamWritable(e);\n\t};\n})), Mt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), r = U(), { isReadable: i, isWritable: a, isIterable: o, isNodeStream: s, isReadableNodeStream: c, isWritableNodeStream: l, isDuplexNodeStream: u, isReadableStream: d, isWritableStream: f } = bt(), p = xt(), { AbortError: m, codes: { ERR_INVALID_ARG_TYPE: h, ERR_INVALID_RETURN_VALUE: g } } = Q(), { destroyer: _ } = St(), v = Nt(), y = At(), b = jt(), { createDeferredPromise: x } = $(), S = kt(), C = globalThis.Blob || r.Blob, w = C === void 0 ? function(e) {\n\t\treturn !1;\n\t} : function(e) {\n\t\treturn e instanceof C;\n\t}, T = globalThis.AbortController || gt().AbortController, { FunctionPrototypeCall: E } = Z(), D = class extends v {\n\t\tconstructor(e) {\n\t\t\tsuper(e), e?.readable === !1 && (this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0), e?.writable === !1 && (this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0);\n\t\t}\n\t};\n\tt.exports = function e(t, r) {\n\t\tif (u(t)) return t;\n\t\tif (c(t)) return k({ readable: t });\n\t\tif (l(t)) return k({ writable: t });\n\t\tif (s(t)) return k({\n\t\t\twritable: !1,\n\t\t\treadable: !1\n\t\t});\n\t\tif (d(t)) return k({ readable: y.fromWeb(t) });\n\t\tif (f(t)) return k({ writable: b.fromWeb(t) });\n\t\tif (typeof t == \"function\") {\n\t\t\tlet { value: e, write: i, final: a, destroy: s } = O(t);\n\t\t\tif (o(e)) return S(D, e, {\n\t\t\t\tobjectMode: !0,\n\t\t\t\twrite: i,\n\t\t\t\tfinal: a,\n\t\t\t\tdestroy: s\n\t\t\t});\n\t\t\tlet c = e?.then;\n\t\t\tif (typeof c == \"function\") {\n\t\t\t\tlet t, r = E(c, e, (e) => {\n\t\t\t\t\tif (e != null) throw new g(\"nully\", \"body\", e);\n\t\t\t\t}, (e) => {\n\t\t\t\t\t_(t, e);\n\t\t\t\t});\n\t\t\t\treturn t = new D({\n\t\t\t\t\tobjectMode: !0,\n\t\t\t\t\treadable: !1,\n\t\t\t\t\twrite: i,\n\t\t\t\t\tfinal(e) {\n\t\t\t\t\t\ta(async () => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tawait r, n.nextTick(e, null);\n\t\t\t\t\t\t\t} catch (t) {\n\t\t\t\t\t\t\t\tn.nextTick(e, t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t\tdestroy: s\n\t\t\t\t});\n\t\t\t}\n\t\t\tthrow new g(\"Iterable, AsyncIterable or AsyncFunction\", r, e);\n\t\t}\n\t\tif (w(t)) return e(t.arrayBuffer());\n\t\tif (o(t)) return S(D, t, {\n\t\t\tobjectMode: !0,\n\t\t\twritable: !1\n\t\t});\n\t\tif (d(t?.readable) && f(t?.writable)) return D.fromWeb(t);\n\t\tif (typeof t?.writable == \"object\" || typeof t?.readable == \"object\") return k({\n\t\t\treadable: t != null && t.readable ? c(t?.readable) ? t?.readable : e(t.readable) : void 0,\n\t\t\twritable: t != null && t.writable ? l(t?.writable) ? t?.writable : e(t.writable) : void 0\n\t\t});\n\t\tlet i = t?.then;\n\t\tif (typeof i == \"function\") {\n\t\t\tlet e;\n\t\t\treturn E(i, t, (t) => {\n\t\t\t\tt != null && e.push(t), e.push(null);\n\t\t\t}, (t) => {\n\t\t\t\t_(e, t);\n\t\t\t}), e = new D({\n\t\t\t\tobjectMode: !0,\n\t\t\t\twritable: !1,\n\t\t\t\tread() {}\n\t\t\t});\n\t\t}\n\t\tthrow new h(r, [\n\t\t\t\"Blob\",\n\t\t\t\"ReadableStream\",\n\t\t\t\"WritableStream\",\n\t\t\t\"Stream\",\n\t\t\t\"Iterable\",\n\t\t\t\"AsyncIterable\",\n\t\t\t\"Function\",\n\t\t\t\"{ readable, writable } pair\",\n\t\t\t\"Promise\"\n\t\t], t);\n\t};\n\tfunction O(e) {\n\t\tlet { promise: t, resolve: r } = x(), i = new T(), a = i.signal;\n\t\treturn {\n\t\t\tvalue: e((async function* () {\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet e = t;\n\t\t\t\t\tt = null;\n\t\t\t\t\tlet { chunk: i, done: o, cb: s } = await e;\n\t\t\t\t\tif (n.nextTick(s), o) return;\n\t\t\t\t\tif (a.aborted) throw new m(void 0, { cause: a.reason });\n\t\t\t\t\t({promise: t, resolve: r} = x()), yield i;\n\t\t\t\t}\n\t\t\t})(), { signal: a }),\n\t\t\twrite(e, t, n) {\n\t\t\t\tlet i = r;\n\t\t\t\tr = null, i({\n\t\t\t\t\tchunk: e,\n\t\t\t\t\tdone: !1,\n\t\t\t\t\tcb: n\n\t\t\t\t});\n\t\t\t},\n\t\t\tfinal(e) {\n\t\t\t\tlet t = r;\n\t\t\t\tr = null, t({\n\t\t\t\t\tdone: !0,\n\t\t\t\t\tcb: e\n\t\t\t\t});\n\t\t\t},\n\t\t\tdestroy(e, t) {\n\t\t\t\ti.abort(), t(e);\n\t\t\t}\n\t\t};\n\t}\n\tfunction k(e) {\n\t\tlet t = e.readable && typeof e.readable.read != \"function\" ? y.wrap(e.readable) : e.readable, n = e.writable, r = !!i(t), o = !!a(n), s, c, l, u, d;\n\t\tfunction f(e) {\n\t\t\tlet t = u;\n\t\t\tu = null, t ? t(e) : e && d.destroy(e);\n\t\t}\n\t\treturn d = new D({\n\t\t\treadableObjectMode: !!(t != null && t.readableObjectMode),\n\t\t\twritableObjectMode: !!(n != null && n.writableObjectMode),\n\t\t\treadable: r,\n\t\t\twritable: o\n\t\t}), o && (p(n, (e) => {\n\t\t\to = !1, e && _(t, e), f(e);\n\t\t}), d._write = function(e, t, r) {\n\t\t\tn.write(e, t) ? r() : s = r;\n\t\t}, d._final = function(e) {\n\t\t\tn.end(), c = e;\n\t\t}, n.on(\"drain\", function() {\n\t\t\tif (s) {\n\t\t\t\tlet e = s;\n\t\t\t\ts = null, e();\n\t\t\t}\n\t\t}), n.on(\"finish\", function() {\n\t\t\tif (c) {\n\t\t\t\tlet e = c;\n\t\t\t\tc = null, e();\n\t\t\t}\n\t\t})), r && (p(t, (e) => {\n\t\t\tr = !1, e && _(t, e), f(e);\n\t\t}), t.on(\"readable\", function() {\n\t\t\tif (l) {\n\t\t\t\tlet e = l;\n\t\t\t\tl = null, e();\n\t\t\t}\n\t\t}), t.on(\"end\", function() {\n\t\t\td.push(null);\n\t\t}), d._read = function() {\n\t\t\tfor (;;) {\n\t\t\t\tlet e = t.read();\n\t\t\t\tif (e === null) {\n\t\t\t\t\tl = d._read;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!d.push(e)) return;\n\t\t\t}\n\t\t}), d._destroy = function(e, r) {\n\t\t\t!e && u !== null && (e = new m()), l = null, s = null, c = null, u === null ? r(e) : (u = r, _(n, e), _(t, e));\n\t\t}, d;\n\t}\n})), Nt = /* @__PURE__ */ a(((e, t) => {\n\tvar { ObjectDefineProperties: n, ObjectGetOwnPropertyDescriptor: r, ObjectKeys: i, ObjectSetPrototypeOf: a } = Z();\n\tt.exports = c;\n\tvar o = At(), s = jt();\n\ta(c.prototype, o.prototype), a(c, o);\n\t{\n\t\tlet e = i(s.prototype);\n\t\tfor (let t = 0; t < e.length; t++) {\n\t\t\tlet n = e[t];\n\t\t\tc.prototype[n] || (c.prototype[n] = s.prototype[n]);\n\t\t}\n\t}\n\tfunction c(e) {\n\t\tif (!(this instanceof c)) return new c(e);\n\t\to.call(this, e), s.call(this, e), e ? (this.allowHalfOpen = e.allowHalfOpen !== !1, e.readable === !1 && (this._readableState.readable = !1, this._readableState.ended = !0, this._readableState.endEmitted = !0), e.writable === !1 && (this._writableState.writable = !1, this._writableState.ending = !0, this._writableState.ended = !0, this._writableState.finished = !0)) : this.allowHalfOpen = !0;\n\t}\n\tn(c.prototype, {\n\t\twritable: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writable\")\n\t\t},\n\t\twritableHighWaterMark: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableHighWaterMark\")\n\t\t},\n\t\twritableObjectMode: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableObjectMode\")\n\t\t},\n\t\twritableBuffer: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableBuffer\")\n\t\t},\n\t\twritableLength: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableLength\")\n\t\t},\n\t\twritableFinished: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableFinished\")\n\t\t},\n\t\twritableCorked: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableCorked\")\n\t\t},\n\t\twritableEnded: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableEnded\")\n\t\t},\n\t\twritableNeedDrain: {\n\t\t\t__proto__: null,\n\t\t\t...r(s.prototype, \"writableNeedDrain\")\n\t\t},\n\t\tdestroyed: {\n\t\t\t__proto__: null,\n\t\t\tget() {\n\t\t\t\treturn this._readableState === void 0 || this._writableState === void 0 ? !1 : this._readableState.destroyed && this._writableState.destroyed;\n\t\t\t},\n\t\t\tset(e) {\n\t\t\t\tthis._readableState && this._writableState && (this._readableState.destroyed = e, this._writableState.destroyed = e);\n\t\t\t}\n\t\t}\n\t});\n\tvar l;\n\tfunction u() {\n\t\treturn l === void 0 && (l = {}), l;\n\t}\n\tc.fromWeb = function(e, t) {\n\t\treturn u().newStreamDuplexFromReadableWritablePair(e, t);\n\t}, c.toWeb = function(e) {\n\t\treturn u().newReadableWritablePairFromDuplex(e);\n\t};\n\tvar d;\n\tc.from = function(e) {\n\t\treturn d ||= Mt(), d(e, \"body\");\n\t};\n})), Pt = /* @__PURE__ */ a(((e, t) => {\n\tvar { ObjectSetPrototypeOf: n, Symbol: r } = Z();\n\tt.exports = c;\n\tvar { ERR_METHOD_NOT_IMPLEMENTED: i } = Q().codes, a = Nt(), { getHighWaterMark: o } = Et();\n\tn(c.prototype, a.prototype), n(c, a);\n\tvar s = r(\"kCallback\");\n\tfunction c(e) {\n\t\tif (!(this instanceof c)) return new c(e);\n\t\tlet t = e ? o(this, e, \"readableHighWaterMark\", !0) : null;\n\t\tt === 0 && (e = {\n\t\t\t...e,\n\t\t\thighWaterMark: null,\n\t\t\treadableHighWaterMark: t,\n\t\t\twritableHighWaterMark: e.writableHighWaterMark || 0\n\t\t}), a.call(this, e), this._readableState.sync = !1, this[s] = null, e && (typeof e.transform == \"function\" && (this._transform = e.transform), typeof e.flush == \"function\" && (this._flush = e.flush)), this.on(\"prefinish\", u);\n\t}\n\tfunction l(e) {\n\t\ttypeof this._flush == \"function\" && !this.destroyed ? this._flush((t, n) => {\n\t\t\tif (t) {\n\t\t\t\te ? e(t) : this.destroy(t);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tn != null && this.push(n), this.push(null), e && e();\n\t\t}) : (this.push(null), e && e());\n\t}\n\tfunction u() {\n\t\tthis._final !== l && l.call(this);\n\t}\n\tc.prototype._final = l, c.prototype._transform = function(e, t, n) {\n\t\tthrow new i(\"_transform()\");\n\t}, c.prototype._write = function(e, t, n) {\n\t\tlet r = this._readableState, i = this._writableState, a = r.length;\n\t\tthis._transform(e, t, (e, t) => {\n\t\t\tif (e) {\n\t\t\t\tn(e);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tt != null && this.push(t), i.ended || a === r.length || r.length < r.highWaterMark ? n() : this[s] = n;\n\t\t});\n\t}, c.prototype._read = function() {\n\t\tif (this[s]) {\n\t\t\tlet e = this[s];\n\t\t\tthis[s] = null, e();\n\t\t}\n\t};\n})), Ft = /* @__PURE__ */ a(((e, t) => {\n\tvar { ObjectSetPrototypeOf: n } = Z();\n\tt.exports = i;\n\tvar r = Pt();\n\tn(i.prototype, r.prototype), n(i, r);\n\tfunction i(e) {\n\t\tif (!(this instanceof i)) return new i(e);\n\t\tr.call(this, e);\n\t}\n\ti.prototype._transform = function(e, t, n) {\n\t\tn(null, e);\n\t};\n})), It = /* @__PURE__ */ a(((e, t) => {\n\tvar n = yt(), { ArrayIsArray: r, Promise: i, SymbolAsyncIterator: a, SymbolDispose: o } = Z(), s = xt(), { once: c } = $(), l = St(), u = Nt(), { aggregateTwoErrors: d, codes: { ERR_INVALID_ARG_TYPE: f, ERR_INVALID_RETURN_VALUE: p, ERR_MISSING_ARGS: m, ERR_STREAM_DESTROYED: h, ERR_STREAM_PREMATURE_CLOSE: g }, AbortError: _ } = Q(), { validateFunction: v, validateAbortSignal: y } = vt(), { isIterable: b, isReadable: x, isReadableNodeStream: S, isNodeStream: C, isTransformStream: w, isWebStream: T, isReadableStream: E, isReadableFinished: D } = bt(), O = globalThis.AbortController || gt().AbortController, k, A, j;\n\tfunction M(e, t, n) {\n\t\tlet r = !1;\n\t\treturn e.on(\"close\", () => {\n\t\t\tr = !0;\n\t\t}), {\n\t\t\tdestroy: (t) => {\n\t\t\t\tr || (r = !0, l.destroyer(e, t || new h(\"pipe\")));\n\t\t\t},\n\t\t\tcleanup: s(e, {\n\t\t\t\treadable: t,\n\t\t\t\twritable: n\n\t\t\t}, (e) => {\n\t\t\t\tr = !e;\n\t\t\t})\n\t\t};\n\t}\n\tfunction N(e) {\n\t\treturn v(e[e.length - 1], \"streams[stream.length - 1]\"), e.pop();\n\t}\n\tfunction P(e) {\n\t\tif (b(e)) return e;\n\t\tif (S(e)) return F(e);\n\t\tthrow new f(\"val\", [\n\t\t\t\"Readable\",\n\t\t\t\"Iterable\",\n\t\t\t\"AsyncIterable\"\n\t\t], e);\n\t}\n\tasync function* F(e) {\n\t\tA ||= At(), yield* A.prototype[a].call(e);\n\t}\n\tasync function I(e, t, n, { end: r }) {\n\t\tlet a, o = null, c = (e) => {\n\t\t\tif (e && (a = e), o) {\n\t\t\t\tlet e = o;\n\t\t\t\to = null, e();\n\t\t\t}\n\t\t}, l = () => new i((e, t) => {\n\t\t\ta ? t(a) : o = () => {\n\t\t\t\ta ? t(a) : e();\n\t\t\t};\n\t\t});\n\t\tt.on(\"drain\", c);\n\t\tlet u = s(t, { readable: !1 }, c);\n\t\ttry {\n\t\t\tt.writableNeedDrain && await l();\n\t\t\tfor await (let n of e) t.write(n) || await l();\n\t\t\tr && (t.end(), await l()), n();\n\t\t} catch (e) {\n\t\t\tn(a === e ? e : d(a, e));\n\t\t} finally {\n\t\t\tu(), t.off(\"drain\", c);\n\t\t}\n\t}\n\tasync function L(e, t, n, { end: r }) {\n\t\tw(t) && (t = t.writable);\n\t\tlet i = t.getWriter();\n\t\ttry {\n\t\t\tfor await (let t of e) await i.ready, i.write(t).catch(() => {});\n\t\t\tawait i.ready, r && await i.close(), n();\n\t\t} catch (e) {\n\t\t\ttry {\n\t\t\t\tawait i.abort(e), n(e);\n\t\t\t} catch (e) {\n\t\t\t\tn(e);\n\t\t\t}\n\t\t}\n\t}\n\tfunction R(...e) {\n\t\treturn z(e, c(N(e)));\n\t}\n\tfunction z(e, t, i) {\n\t\tif (e.length === 1 && r(e[0]) && (e = e[0]), e.length < 2) throw new m(\"streams\");\n\t\tlet a = new O(), s = a.signal, c = i?.signal, l = [];\n\t\ty(c, \"options.signal\");\n\t\tfunction d() {\n\t\t\tF(new _());\n\t\t}\n\t\tj ||= $().addAbortListener;\n\t\tlet h;\n\t\tc && (h = j(c, d));\n\t\tlet g, v, D = [], A = 0;\n\t\tfunction N(e) {\n\t\t\tF(e, --A === 0);\n\t\t}\n\t\tfunction F(e, r) {\n\t\t\tvar i;\n\t\t\tif (e && (!g || g.code === \"ERR_STREAM_PREMATURE_CLOSE\") && (g = e), !(!g && !r)) {\n\t\t\t\tfor (; D.length;) D.shift()(g);\n\t\t\t\t(i = h) == null || i[o](), a.abort(), r && (g || l.forEach((e) => e()), n.nextTick(t, g, v));\n\t\t\t}\n\t\t}\n\t\tlet R;\n\t\tfor (let t = 0; t < e.length; t++) {\n\t\t\tlet r = e[t], a = t < e.length - 1, o = t > 0, c = a || i?.end !== !1, d = t === e.length - 1;\n\t\t\tif (C(r)) {\n\t\t\t\tif (c) {\n\t\t\t\t\tlet { destroy: e, cleanup: t } = M(r, a, o);\n\t\t\t\t\tD.push(e), x(r) && d && l.push(t);\n\t\t\t\t}\n\t\t\t\tfunction e(e) {\n\t\t\t\t\te && e.name !== \"AbortError\" && e.code !== \"ERR_STREAM_PREMATURE_CLOSE\" && N(e);\n\t\t\t\t}\n\t\t\t\tr.on(\"error\", e), x(r) && d && l.push(() => {\n\t\t\t\t\tr.removeListener(\"error\", e);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (t === 0) {\n\t\t\t\tif (typeof r == \"function\") {\n\t\t\t\t\tif (R = r({ signal: s }), !b(R)) throw new p(\"Iterable, AsyncIterable or Stream\", \"source\", R);\n\t\t\t\t} else R = b(r) || S(r) || w(r) ? r : u.from(r);\n\t\t\t} else if (typeof r == \"function\") {\n\t\t\t\tif (R = w(R) ? P(R?.readable) : P(R), R = r(R, { signal: s }), a) {\n\t\t\t\t\tif (!b(R, !0)) throw new p(\"AsyncIterable\", `transform[${t - 1}]`, R);\n\t\t\t\t} else {\n\t\t\t\t\tk ||= Ft();\n\t\t\t\t\tlet e = new k({ objectMode: !0 }), t = R?.then;\n\t\t\t\t\tif (typeof t == \"function\") A++, t.call(R, (t) => {\n\t\t\t\t\t\tv = t, t != null && e.write(t), c && e.end(), n.nextTick(N);\n\t\t\t\t\t}, (t) => {\n\t\t\t\t\t\te.destroy(t), n.nextTick(N, t);\n\t\t\t\t\t});\n\t\t\t\t\telse if (b(R, !0)) A++, I(R, e, N, { end: c });\n\t\t\t\t\telse if (E(R) || w(R)) {\n\t\t\t\t\t\tlet t = R.readable || R;\n\t\t\t\t\t\tA++, I(t, e, N, { end: c });\n\t\t\t\t\t} else throw new p(\"AsyncIterable or Promise\", \"destination\", R);\n\t\t\t\t\tR = e;\n\t\t\t\t\tlet { destroy: r, cleanup: i } = M(R, !1, !0);\n\t\t\t\t\tD.push(r), d && l.push(i);\n\t\t\t\t}\n\t\t\t} else if (C(r)) {\n\t\t\t\tif (S(R)) {\n\t\t\t\t\tA += 2;\n\t\t\t\t\tlet e = ee(R, r, N, { end: c });\n\t\t\t\t\tx(r) && d && l.push(e);\n\t\t\t\t} else if (w(R) || E(R)) {\n\t\t\t\t\tlet e = R.readable || R;\n\t\t\t\t\tA++, I(e, r, N, { end: c });\n\t\t\t\t} else if (b(R)) A++, I(R, r, N, { end: c });\n\t\t\t\telse throw new f(\"val\", [\n\t\t\t\t\t\"Readable\",\n\t\t\t\t\t\"Iterable\",\n\t\t\t\t\t\"AsyncIterable\",\n\t\t\t\t\t\"ReadableStream\",\n\t\t\t\t\t\"TransformStream\"\n\t\t\t\t], R);\n\t\t\t\tR = r;\n\t\t\t} else if (T(r)) {\n\t\t\t\tif (S(R)) A++, L(P(R), r, N, { end: c });\n\t\t\t\telse if (E(R) || b(R)) A++, L(R, r, N, { end: c });\n\t\t\t\telse if (w(R)) A++, L(R.readable, r, N, { end: c });\n\t\t\t\telse throw new f(\"val\", [\n\t\t\t\t\t\"Readable\",\n\t\t\t\t\t\"Iterable\",\n\t\t\t\t\t\"AsyncIterable\",\n\t\t\t\t\t\"ReadableStream\",\n\t\t\t\t\t\"TransformStream\"\n\t\t\t\t], R);\n\t\t\t\tR = r;\n\t\t\t} else R = u.from(r);\n\t\t}\n\t\treturn (s != null && s.aborted || c != null && c.aborted) && n.nextTick(d), R;\n\t}\n\tfunction ee(e, t, r, { end: i }) {\n\t\tlet a = !1;\n\t\tif (t.on(\"close\", () => {\n\t\t\ta || r(new g());\n\t\t}), e.pipe(t, { end: !1 }), i) {\n\t\t\tfunction r() {\n\t\t\t\ta = !0, t.end();\n\t\t\t}\n\t\t\tD(e) ? n.nextTick(r) : e.once(\"end\", r);\n\t\t} else r();\n\t\treturn s(e, {\n\t\t\treadable: !0,\n\t\t\twritable: !1\n\t\t}, (t) => {\n\t\t\tlet n = e._readableState;\n\t\t\tt && t.code === \"ERR_STREAM_PREMATURE_CLOSE\" && n && n.ended && !n.errored && !n.errorEmitted ? e.once(\"end\", r).once(\"error\", r) : r(t);\n\t\t}), s(t, {\n\t\t\treadable: !1,\n\t\t\twritable: !0\n\t\t}, r);\n\t}\n\tt.exports = {\n\t\tpipelineImpl: z,\n\t\tpipeline: R\n\t};\n})), Lt = /* @__PURE__ */ a(((e, t) => {\n\tvar { pipeline: n } = It(), r = Nt(), { destroyer: i } = St(), { isNodeStream: a, isReadable: o, isWritable: s, isWebStream: c, isTransformStream: l, isWritableStream: u, isReadableStream: d } = bt(), { AbortError: f, codes: { ERR_INVALID_ARG_VALUE: p, ERR_MISSING_ARGS: m } } = Q(), h = xt();\n\tt.exports = function(...e) {\n\t\tif (e.length === 0) throw new m(\"streams\");\n\t\tif (e.length === 1) return r.from(e[0]);\n\t\tlet t = [...e];\n\t\tif (typeof e[0] == \"function\" && (e[0] = r.from(e[0])), typeof e[e.length - 1] == \"function\") {\n\t\t\tlet t = e.length - 1;\n\t\t\te[t] = r.from(e[t]);\n\t\t}\n\t\tfor (let n = 0; n < e.length; ++n) if (!(!a(e[n]) && !c(e[n]))) {\n\t\t\tif (n < e.length - 1 && !(o(e[n]) || d(e[n]) || l(e[n]))) throw new p(`streams[${n}]`, t[n], \"must be readable\");\n\t\t\tif (n > 0 && !(s(e[n]) || u(e[n]) || l(e[n]))) throw new p(`streams[${n}]`, t[n], \"must be writable\");\n\t\t}\n\t\tlet g, _, v, y, b;\n\t\tfunction x(e) {\n\t\t\tlet t = y;\n\t\t\ty = null, t ? t(e) : e ? b.destroy(e) : !T && !w && b.destroy();\n\t\t}\n\t\tlet S = e[0], C = n(e, x), w = !!(s(S) || u(S) || l(S)), T = !!(o(C) || d(C) || l(C));\n\t\tif (b = new r({\n\t\t\twritableObjectMode: !!(S != null && S.writableObjectMode),\n\t\t\treadableObjectMode: !!(C != null && C.readableObjectMode),\n\t\t\twritable: w,\n\t\t\treadable: T\n\t\t}), w) {\n\t\t\tif (a(S)) b._write = function(e, t, n) {\n\t\t\t\tS.write(e, t) ? n() : g = n;\n\t\t\t}, b._final = function(e) {\n\t\t\t\tS.end(), _ = e;\n\t\t\t}, S.on(\"drain\", function() {\n\t\t\t\tif (g) {\n\t\t\t\t\tlet e = g;\n\t\t\t\t\tg = null, e();\n\t\t\t\t}\n\t\t\t});\n\t\t\telse if (c(S)) {\n\t\t\t\tlet e = (l(S) ? S.writable : S).getWriter();\n\t\t\t\tb._write = async function(t, n, r) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait e.ready, e.write(t).catch(() => {}), r();\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tr(e);\n\t\t\t\t\t}\n\t\t\t\t}, b._final = async function(t) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait e.ready, e.close().catch(() => {}), _ = t;\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tt(e);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t\th(l(C) ? C.readable : C, () => {\n\t\t\t\tif (_) {\n\t\t\t\t\tlet e = _;\n\t\t\t\t\t_ = null, e();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (T) {\n\t\t\tif (a(C)) C.on(\"readable\", function() {\n\t\t\t\tif (v) {\n\t\t\t\t\tlet e = v;\n\t\t\t\t\tv = null, e();\n\t\t\t\t}\n\t\t\t}), C.on(\"end\", function() {\n\t\t\t\tb.push(null);\n\t\t\t}), b._read = function() {\n\t\t\t\tfor (;;) {\n\t\t\t\t\tlet e = C.read();\n\t\t\t\t\tif (e === null) {\n\t\t\t\t\t\tv = b._read;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (!b.push(e)) return;\n\t\t\t\t}\n\t\t\t};\n\t\t\telse if (c(C)) {\n\t\t\t\tlet e = (l(C) ? C.readable : C).getReader();\n\t\t\t\tb._read = async function() {\n\t\t\t\t\tfor (;;) try {\n\t\t\t\t\t\tlet { value: t, done: n } = await e.read();\n\t\t\t\t\t\tif (!b.push(t)) return;\n\t\t\t\t\t\tif (n) {\n\t\t\t\t\t\t\tb.push(null);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t\treturn b._destroy = function(e, t) {\n\t\t\t!e && y !== null && (e = new f()), v = null, g = null, _ = null, y === null ? t(e) : (y = t, a(C) && i(C, e));\n\t\t}, b;\n\t};\n})), Rt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = globalThis.AbortController || gt().AbortController, { codes: { ERR_INVALID_ARG_VALUE: r, ERR_INVALID_ARG_TYPE: i, ERR_MISSING_ARGS: a, ERR_OUT_OF_RANGE: o }, AbortError: s } = Q(), { validateAbortSignal: c, validateInteger: l, validateObject: u } = vt(), d = Z().Symbol(\"kWeak\"), f = Z().Symbol(\"kResistStopPropagation\"), { finished: p } = xt(), m = Lt(), { addAbortSignalNoValidate: h } = wt(), { isWritable: g, isNodeStream: _ } = bt(), { deprecate: v } = $(), { ArrayPrototypePush: y, Boolean: b, MathFloor: x, Number: S, NumberIsNaN: C, Promise: w, PromiseReject: T, PromiseResolve: E, PromisePrototypeThen: D, Symbol: O } = Z(), k = O(\"kEmpty\"), A = O(\"kEof\");\n\tfunction j(e, t) {\n\t\tif (t != null && u(t, \"options\"), t?.signal != null && c(t.signal, \"options.signal\"), _(e) && !g(e)) throw new r(\"stream\", e, \"must be writable\");\n\t\tlet n = m(this, e);\n\t\treturn t != null && t.signal && h(t.signal, n), n;\n\t}\n\tfunction M(e, t) {\n\t\tif (typeof e != \"function\") throw new i(\"fn\", [\"Function\", \"AsyncFunction\"], e);\n\t\tt != null && u(t, \"options\"), t?.signal != null && c(t.signal, \"options.signal\");\n\t\tlet n = 1;\n\t\tt?.concurrency != null && (n = x(t.concurrency));\n\t\tlet r = n - 1;\n\t\treturn t?.highWaterMark != null && (r = x(t.highWaterMark)), l(n, \"options.concurrency\", 1), l(r, \"options.highWaterMark\", 0), r += n, async function* () {\n\t\t\tlet i = $().AbortSignalAny([t?.signal].filter(b)), a = this, o = [], c = { signal: i }, l, u, d = !1, f = 0;\n\t\t\tfunction p() {\n\t\t\t\td = !0, m();\n\t\t\t}\n\t\t\tfunction m() {\n\t\t\t\t--f, h();\n\t\t\t}\n\t\t\tfunction h() {\n\t\t\t\tu && !d && f < n && o.length < r && (u(), u = null);\n\t\t\t}\n\t\t\tasync function g() {\n\t\t\t\ttry {\n\t\t\t\t\tfor await (let t of a) {\n\t\t\t\t\t\tif (d) return;\n\t\t\t\t\t\tif (i.aborted) throw new s();\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (t = e(t, c), t === k) continue;\n\t\t\t\t\t\t\tt = E(t);\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\tt = T(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tf += 1, D(t, m, p), o.push(t), l &&= (l(), null), !d && (o.length >= r || f >= n) && await new w((e) => {\n\t\t\t\t\t\t\tu = e;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\to.push(A);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tlet t = T(e);\n\t\t\t\t\tD(t, m, p), o.push(t);\n\t\t\t\t} finally {\n\t\t\t\t\td = !0, l &&= (l(), null);\n\t\t\t\t}\n\t\t\t}\n\t\t\tg();\n\t\t\ttry {\n\t\t\t\tfor (;;) {\n\t\t\t\t\tfor (; o.length > 0;) {\n\t\t\t\t\t\tlet e = await o[0];\n\t\t\t\t\t\tif (e === A) return;\n\t\t\t\t\t\tif (i.aborted) throw new s();\n\t\t\t\t\t\te !== k && (yield e), o.shift(), h();\n\t\t\t\t\t}\n\t\t\t\t\tawait new w((e) => {\n\t\t\t\t\t\tl = e;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\td = !0, u &&= (u(), null);\n\t\t\t}\n\t\t}.call(this);\n\t}\n\tfunction N(e = void 0) {\n\t\treturn e != null && u(e, \"options\"), e?.signal != null && c(e.signal, \"options.signal\"), async function* () {\n\t\t\tlet t = 0;\n\t\t\tfor await (let r of this) {\n\t\t\t\tvar n;\n\t\t\t\tif (e != null && (n = e.signal) != null && n.aborted) throw new s({ cause: e.signal.reason });\n\t\t\t\tyield [t++, r];\n\t\t\t}\n\t\t}.call(this);\n\t}\n\tasync function P(e, t = void 0) {\n\t\tfor await (let n of R.call(this, e, t)) return !0;\n\t\treturn !1;\n\t}\n\tasync function F(e, t = void 0) {\n\t\tif (typeof e != \"function\") throw new i(\"fn\", [\"Function\", \"AsyncFunction\"], e);\n\t\treturn !await P.call(this, async (...t) => !await e(...t), t);\n\t}\n\tasync function I(e, t) {\n\t\tfor await (let n of R.call(this, e, t)) return n;\n\t}\n\tasync function L(e, t) {\n\t\tif (typeof e != \"function\") throw new i(\"fn\", [\"Function\", \"AsyncFunction\"], e);\n\t\tasync function n(t, n) {\n\t\t\treturn await e(t, n), k;\n\t\t}\n\t\tfor await (let e of M.call(this, n, t));\n\t}\n\tfunction R(e, t) {\n\t\tif (typeof e != \"function\") throw new i(\"fn\", [\"Function\", \"AsyncFunction\"], e);\n\t\tasync function n(t, n) {\n\t\t\treturn await e(t, n) ? t : k;\n\t\t}\n\t\treturn M.call(this, n, t);\n\t}\n\tvar z = class extends a {\n\t\tconstructor() {\n\t\t\tsuper(\"reduce\"), this.message = \"Reduce of an empty stream requires an initial value\";\n\t\t}\n\t};\n\tasync function ee(e, t, r) {\n\t\tvar a;\n\t\tif (typeof e != \"function\") throw new i(\"reducer\", [\"Function\", \"AsyncFunction\"], e);\n\t\tr != null && u(r, \"options\"), r?.signal != null && c(r.signal, \"options.signal\");\n\t\tlet o = arguments.length > 1;\n\t\tif (r != null && (a = r.signal) != null && a.aborted) {\n\t\t\tlet e = new s(void 0, { cause: r.signal.reason });\n\t\t\tthrow this.once(\"error\", () => {}), await p(this.destroy(e)), e;\n\t\t}\n\t\tlet l = new n(), m = l.signal;\n\t\tif (r != null && r.signal) {\n\t\t\tlet e = {\n\t\t\t\tonce: !0,\n\t\t\t\t[d]: this,\n\t\t\t\t[f]: !0\n\t\t\t};\n\t\t\tr.signal.addEventListener(\"abort\", () => l.abort(), e);\n\t\t}\n\t\tlet h = !1;\n\t\ttry {\n\t\t\tfor await (let n of this) {\n\t\t\t\tvar g;\n\t\t\t\tif (h = !0, r != null && (g = r.signal) != null && g.aborted) throw new s();\n\t\t\t\to ? t = await e(t, n, { signal: m }) : (t = n, o = !0);\n\t\t\t}\n\t\t\tif (!h && !o) throw new z();\n\t\t} finally {\n\t\t\tl.abort();\n\t\t}\n\t\treturn t;\n\t}\n\tasync function B(e) {\n\t\te != null && u(e, \"options\"), e?.signal != null && c(e.signal, \"options.signal\");\n\t\tlet t = [];\n\t\tfor await (let r of this) {\n\t\t\tvar n;\n\t\t\tif (e != null && (n = e.signal) != null && n.aborted) throw new s(void 0, { cause: e.signal.reason });\n\t\t\ty(t, r);\n\t\t}\n\t\treturn t;\n\t}\n\tfunction V(e, t) {\n\t\tlet n = M.call(this, e, t);\n\t\treturn async function* () {\n\t\t\tfor await (let e of n) yield* e;\n\t\t}.call(this);\n\t}\n\tfunction H(e) {\n\t\tif (e = S(e), C(e)) return 0;\n\t\tif (e < 0) throw new o(\"number\", \">= 0\", e);\n\t\treturn e;\n\t}\n\tfunction te(e, t = void 0) {\n\t\treturn t != null && u(t, \"options\"), t?.signal != null && c(t.signal, \"options.signal\"), e = H(e), async function* () {\n\t\t\tvar n;\n\t\t\tif (t != null && (n = t.signal) != null && n.aborted) throw new s();\n\t\t\tfor await (let n of this) {\n\t\t\t\tvar r;\n\t\t\t\tif (t != null && (r = t.signal) != null && r.aborted) throw new s();\n\t\t\t\te-- <= 0 && (yield n);\n\t\t\t}\n\t\t}.call(this);\n\t}\n\tfunction ne(e, t = void 0) {\n\t\treturn t != null && u(t, \"options\"), t?.signal != null && c(t.signal, \"options.signal\"), e = H(e), async function* () {\n\t\t\tvar n;\n\t\t\tif (t != null && (n = t.signal) != null && n.aborted) throw new s();\n\t\t\tfor await (let n of this) {\n\t\t\t\tvar r;\n\t\t\t\tif (t != null && (r = t.signal) != null && r.aborted) throw new s();\n\t\t\t\tif (e-- > 0 && (yield n), e <= 0) return;\n\t\t\t}\n\t\t}.call(this);\n\t}\n\tt.exports.streamReturningOperators = {\n\t\tasIndexedPairs: v(N, \"readable.asIndexedPairs will be removed in a future version.\"),\n\t\tdrop: te,\n\t\tfilter: R,\n\t\tflatMap: V,\n\t\tmap: M,\n\t\ttake: ne,\n\t\tcompose: j\n\t}, t.exports.promiseReturningOperators = {\n\t\tevery: F,\n\t\tforEach: L,\n\t\treduce: ee,\n\t\ttoArray: B,\n\t\tsome: P,\n\t\tfind: I\n\t};\n})), zt = /* @__PURE__ */ a(((e, t) => {\n\tvar { ArrayPrototypePop: n, Promise: r } = Z(), { isIterable: i, isNodeStream: a, isWebStream: o } = bt(), { pipelineImpl: s } = It(), { finished: c } = xt();\n\tBt();\n\tfunction l(...e) {\n\t\treturn new r((t, r) => {\n\t\t\tlet c, l, u = e[e.length - 1];\n\t\t\tif (u && typeof u == \"object\" && !a(u) && !i(u) && !o(u)) {\n\t\t\t\tlet t = n(e);\n\t\t\t\tc = t.signal, l = t.end;\n\t\t\t}\n\t\t\ts(e, (e, n) => {\n\t\t\t\te ? r(e) : t(n);\n\t\t\t}, {\n\t\t\t\tsignal: c,\n\t\t\t\tend: l\n\t\t\t});\n\t\t});\n\t}\n\tt.exports = {\n\t\tfinished: c,\n\t\tpipeline: l\n\t};\n})), Bt = /* @__PURE__ */ a(((e, t) => {\n\tvar { Buffer: n } = U(), { ObjectDefineProperty: r, ObjectKeys: i, ReflectApply: a } = Z(), { promisify: { custom: o } } = $(), { streamReturningOperators: s, promiseReturningOperators: c } = Rt(), { codes: { ERR_ILLEGAL_CONSTRUCTOR: l } } = Q(), u = Lt(), { setDefaultHighWaterMark: d, getDefaultHighWaterMark: f } = Et(), { pipeline: p } = It(), { destroyer: m } = St(), h = xt(), g = zt(), _ = bt(), v = t.exports = Ct().Stream;\n\tv.isDestroyed = _.isDestroyed, v.isDisturbed = _.isDisturbed, v.isErrored = _.isErrored, v.isReadable = _.isReadable, v.isWritable = _.isWritable, v.Readable = At();\n\tfor (let e of i(s)) {\n\t\tlet t = s[e];\n\t\tfunction n(...e) {\n\t\t\tif (new.target) throw l();\n\t\t\treturn v.Readable.from(a(t, this, e));\n\t\t}\n\t\tr(n, \"name\", {\n\t\t\t__proto__: null,\n\t\t\tvalue: t.name\n\t\t}), r(n, \"length\", {\n\t\t\t__proto__: null,\n\t\t\tvalue: t.length\n\t\t}), r(v.Readable.prototype, e, {\n\t\t\t__proto__: null,\n\t\t\tvalue: n,\n\t\t\tenumerable: !1,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t});\n\t}\n\tfor (let e of i(c)) {\n\t\tlet t = c[e];\n\t\tfunction n(...e) {\n\t\t\tif (new.target) throw l();\n\t\t\treturn a(t, this, e);\n\t\t}\n\t\tr(n, \"name\", {\n\t\t\t__proto__: null,\n\t\t\tvalue: t.name\n\t\t}), r(n, \"length\", {\n\t\t\t__proto__: null,\n\t\t\tvalue: t.length\n\t\t}), r(v.Readable.prototype, e, {\n\t\t\t__proto__: null,\n\t\t\tvalue: n,\n\t\t\tenumerable: !1,\n\t\t\tconfigurable: !0,\n\t\t\twritable: !0\n\t\t});\n\t}\n\tv.Writable = jt(), v.Duplex = Nt(), v.Transform = Pt(), v.PassThrough = Ft(), v.pipeline = p;\n\tvar { addAbortSignal: y } = wt();\n\tv.addAbortSignal = y, v.finished = h, v.destroy = m, v.compose = u, v.setDefaultHighWaterMark = d, v.getDefaultHighWaterMark = f, r(v, \"promises\", {\n\t\t__proto__: null,\n\t\tconfigurable: !0,\n\t\tenumerable: !0,\n\t\tget() {\n\t\t\treturn g;\n\t\t}\n\t}), r(p, o, {\n\t\t__proto__: null,\n\t\tenumerable: !0,\n\t\tget() {\n\t\t\treturn g.pipeline;\n\t\t}\n\t}), r(h, o, {\n\t\t__proto__: null,\n\t\tenumerable: !0,\n\t\tget() {\n\t\t\treturn g.finished;\n\t\t}\n\t}), v.Stream = v, v._isUint8Array = function(e) {\n\t\treturn e instanceof Uint8Array;\n\t}, v._uint8ArrayToBuffer = function(e) {\n\t\treturn n.from(e.buffer, e.byteOffset, e.byteLength);\n\t};\n})), Vt = /* @__PURE__ */ a(((e, t) => {\n\tvar n = Bt(), r = zt(), i = n.Readable.destroy;\n\tt.exports = n.Readable, t.exports._uint8ArrayToBuffer = n._uint8ArrayToBuffer, t.exports._isUint8Array = n._isUint8Array, t.exports.isDisturbed = n.isDisturbed, t.exports.isErrored = n.isErrored, t.exports.isReadable = n.isReadable, t.exports.Readable = n.Readable, t.exports.Writable = n.Writable, t.exports.Duplex = n.Duplex, t.exports.Transform = n.Transform, t.exports.PassThrough = n.PassThrough, t.exports.addAbortSignal = n.addAbortSignal, t.exports.finished = n.finished, t.exports.destroy = n.destroy, t.exports.destroy = i, t.exports.pipeline = n.pipeline, t.exports.compose = n.compose, Object.defineProperty(n, \"promises\", {\n\t\tconfigurable: !0,\n\t\tenumerable: !0,\n\t\tget() {\n\t\t\treturn r;\n\t\t}\n\t}), t.exports.Stream = n.Stream, t.exports.default = t.exports;\n}));\nfunction Ht(e, t, n = 4) {\n\tif (n === 0) return Object.assign(e, t);\n\tfor (let r in t) e[r] = Ht(e[r] || Object.create(null), t[r], n - 1);\n\treturn e;\n}\nfunction Ut(e, t, n = 4) {\n\tlet r = !1;\n\tfor (let i in e) if (i in t) {\n\t\tlet a = n === 0 ? null : Ut(e[i], t[i], n - 1);\n\t\tif (a !== !1) r ||= Object.create(null), r[i] = a;\n\t\telse if (n === 3) return !1;\n\t}\n\treturn r;\n}\nfunction Wt(e, t, n = 4) {\n\tlet r = !1;\n\tfor (let i in e) if (!(i in t)) r ||= Object.create(null), r[i] = n === 0 ? null : Ht({}, e[i], n - 1);\n\telse if (n !== 0) {\n\t\tlet a = Wt(e[i], t[i], n - 1);\n\t\tif (a !== !1) r ||= Object.create(null), r[i] = a;\n\t\telse if (n === 3) return !1;\n\t}\n\treturn r;\n}\nfunction Gt(e, t, n = 0) {\n\tlet r = t[n];\n\tif (r && !(r in e)) return !1;\n\tlet i = !1;\n\tfor (let a in r ? { [r]: e[r] } : e) {\n\t\tlet r = n === 2 ? null : Gt(e[a], t, n + 1);\n\t\tr !== !1 && (i ||= Object.create(null), i[a] = r);\n\t}\n\treturn i;\n}\nvar Kt, qt, Jt, Yt, Xt, Zt = i((() => {\n\tKt = Vt(), Me(), q(), Je(), mt(), qt = Symbol(\"iter\"), Jt = class {\n\t\tconstructor(e = {}) {\n\t\t\tthis._id = 1, this._ids = Object.create(null), this._ids[\"\"] = 1, this._entities = Object.create(null), this._entities[1] = \"\", this._blankNodeIndex = 0, this._factory = e.factory || we;\n\t\t}\n\t\t_termFromId(e) {\n\t\t\tif (e[0] === \".\") {\n\t\t\t\tlet t = this._entities, n = e.split(\".\");\n\t\t\t\treturn this._factory.quad(this._termFromId(t[n[1]]), this._termFromId(t[n[2]]), this._termFromId(t[n[3]]), n[4] && this._termFromId(t[n[4]]));\n\t\t\t}\n\t\t\treturn X(e, this._factory);\n\t\t}\n\t\t_termToNumericId(e) {\n\t\t\tif (e.termType === \"Quad\") {\n\t\t\t\tlet t = this._termToNumericId(e.subject), n = this._termToNumericId(e.predicate), r = this._termToNumericId(e.object), i;\n\t\t\t\treturn t && n && r && (We(e.graph) || (i = this._termToNumericId(e.graph))) && this._ids[i ? `.${t}.${n}.${r}.${i}` : `.${t}.${n}.${r}`];\n\t\t\t}\n\t\t\treturn this._ids[de(e)];\n\t\t}\n\t\t_termToNewNumericId(e) {\n\t\t\tlet t = e && e.termType === \"Quad\" ? `.${this._termToNewNumericId(e.subject)}.${this._termToNewNumericId(e.predicate)}.${this._termToNewNumericId(e.object)}${We(e.graph) ? \"\" : `.${this._termToNewNumericId(e.graph)}`}` : de(e);\n\t\t\treturn this._ids[t] || (this._ids[this._entities[++this._id] = t] = this._id);\n\t\t}\n\t\tcreateBlankNode(e) {\n\t\t\tlet t, n;\n\t\t\tif (e) for (t = e = `_:${e}`, n = 1; this._ids[t];) t = e + n++;\n\t\t\telse do\n\t\t\t\tt = `_:b${this._blankNodeIndex++}`;\n\t\t\twhile (this._ids[t]);\n\t\t\treturn this._ids[t] = ++this._id, this._entities[this._id] = t, this._factory.blankNode(t.substr(2));\n\t\t}\n\t}, Yt = class e {\n\t\tconstructor(e, t) {\n\t\t\tthis._size = 0, this._graphs = Object.create(null), !t && e && !e[0] && typeof e.match != \"function\" && (t = e, e = null), t ||= {}, this._factory = t.factory || we, this._entityIndex = t.entityIndex || new Jt({ factory: this._factory }), this._entities = this._entityIndex._entities, this._termFromId = this._entityIndex._termFromId.bind(this._entityIndex), this._termToNumericId = this._entityIndex._termToNumericId.bind(this._entityIndex), this._termToNewNumericId = this._entityIndex._termToNewNumericId.bind(this._entityIndex), e && this.addAll(e);\n\t\t}\n\t\tget size() {\n\t\t\tlet e = this._size;\n\t\t\tif (e !== null) return e;\n\t\t\te = 0;\n\t\t\tlet t = this._graphs, n, r;\n\t\t\tfor (let i in t) for (let a in n = t[i].subjects) for (let t in r = n[a]) e += Object.keys(r[t]).length;\n\t\t\treturn this._size = e;\n\t\t}\n\t\t_addToIndex(e, t, n, r) {\n\t\t\tlet i = e[t] || (e[t] = {}), a = i[n] || (i[n] = {}), o = r in a;\n\t\t\treturn o || (a[r] = null), !o;\n\t\t}\n\t\t_removeFromIndex(e, t, n, r) {\n\t\t\tlet i = e[t], a = i[n];\n\t\t\tdelete a[r];\n\t\t\tfor (let e in a) return;\n\t\t\tdelete i[n];\n\t\t\tfor (let e in i) return;\n\t\t\tdelete e[t];\n\t\t}\n\t\t*_findInIndex(e, t, n, r, i, a, o, s) {\n\t\t\tlet c, l, u, d = this._entities, f = this._termFromId(d[s]), p = {\n\t\t\t\tsubject: null,\n\t\t\t\tpredicate: null,\n\t\t\t\tobject: null\n\t\t\t};\n\t\t\tt && ((c = e, e = {})[t] = c[t]);\n\t\t\tfor (let t in e) if (l = e[t]) {\n\t\t\t\tp[i] = this._termFromId(d[t]), n && ((c = l, l = {})[n] = c[n]);\n\t\t\t\tfor (let e in l) if (u = l[e]) {\n\t\t\t\t\tp[a] = this._termFromId(d[e]);\n\t\t\t\t\tlet t = r ? r in u ? [r] : [] : Object.keys(u);\n\t\t\t\t\tfor (let e = 0; e < t.length; e++) p[o] = this._termFromId(d[t[e]]), yield this._factory.quad(p.subject, p.predicate, p.object, f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_loop(e, t) {\n\t\t\tfor (let n in e) t(n);\n\t\t}\n\t\t_loopByKey0(e, t, n) {\n\t\t\tlet r, i;\n\t\t\tif (r = e[t]) for (i in r) n(i);\n\t\t}\n\t\t_loopByKey1(e, t, n) {\n\t\t\tlet r, i;\n\t\t\tfor (r in e) i = e[r], i[t] && n(r);\n\t\t}\n\t\t_loopBy2Keys(e, t, n, r) {\n\t\t\tlet i, a, o;\n\t\t\tif ((i = e[t]) && (a = i[n])) for (o in a) r(o);\n\t\t}\n\t\t_countInIndex(e, t, n, r) {\n\t\t\tlet i = 0, a, o, s;\n\t\t\tt && ((a = e, e = {})[t] = a[t]);\n\t\t\tfor (let t in e) if (o = e[t]) {\n\t\t\t\tn && ((a = o, o = {})[n] = a[n]);\n\t\t\t\tfor (let e in o) (s = o[e]) && (r ? r in s && i++ : i += Object.keys(s).length);\n\t\t\t}\n\t\t\treturn i;\n\t\t}\n\t\t_getGraphs(e) {\n\t\t\treturn e = e === \"\" ? 1 : e && (this._termToNumericId(e) || -1), typeof e == \"number\" ? { [e]: this._graphs[e] } : this._graphs;\n\t\t}\n\t\t_uniqueEntities(e) {\n\t\t\tlet t = Object.create(null);\n\t\t\treturn (n) => {\n\t\t\t\tn in t || (t[n] = !0, e(this._termFromId(this._entities[n], this._factory)));\n\t\t\t};\n\t\t}\n\t\tadd(e) {\n\t\t\treturn this.addQuad(e), this;\n\t\t}\n\t\taddQuad(e, t, n, r) {\n\t\t\tt || (r = e.graph, n = e.object, t = e.predicate, e = e.subject), r = r ? this._termToNewNumericId(r) : 1;\n\t\t\tlet i = this._graphs[r];\n\t\t\treturn i || (i = this._graphs[r] = {\n\t\t\t\tsubjects: {},\n\t\t\t\tpredicates: {},\n\t\t\t\tobjects: {}\n\t\t\t}, Object.freeze(i)), e = this._termToNewNumericId(e), t = this._termToNewNumericId(t), n = this._termToNewNumericId(n), this._addToIndex(i.subjects, e, t, n) ? (this._addToIndex(i.predicates, t, n, e), this._addToIndex(i.objects, n, e, t), this._size = null, !0) : !1;\n\t\t}\n\t\taddQuads(e) {\n\t\t\tfor (let t = 0; t < e.length; t++) this.addQuad(e[t]);\n\t\t}\n\t\tdelete(e) {\n\t\t\treturn this.removeQuad(e), this;\n\t\t}\n\t\thas(e, t, n, r) {\n\t\t\treturn e && e.subject && ({subject: e, predicate: t, object: n, graph: r} = e), !this.readQuads(e, t, n, r).next().done;\n\t\t}\n\t\timport(e) {\n\t\t\treturn e.on(\"data\", (e) => {\n\t\t\t\tthis.addQuad(e);\n\t\t\t}), e;\n\t\t}\n\t\tremoveQuad(e, t, n, r) {\n\t\t\tt || ({subject: e, predicate: t, object: n, graph: r} = e), r = r ? this._termToNumericId(r) : 1;\n\t\t\tlet i = this._graphs, a, o, s;\n\t\t\tif (!(e &&= this._termToNumericId(e)) || !(t &&= this._termToNumericId(t)) || !(n &&= this._termToNumericId(n)) || !(a = i[r]) || !(o = a.subjects[e]) || !(s = o[t]) || !(n in s)) return !1;\n\t\t\tfor (e in this._removeFromIndex(a.subjects, e, t, n), this._removeFromIndex(a.predicates, t, n, e), this._removeFromIndex(a.objects, n, e, t), this._size !== null && this._size--, a.subjects) return !0;\n\t\t\treturn delete i[r], !0;\n\t\t}\n\t\tremoveQuads(e) {\n\t\t\tfor (let t = 0; t < e.length; t++) this.removeQuad(e[t]);\n\t\t}\n\t\tremove(e) {\n\t\t\treturn e.on(\"data\", (e) => {\n\t\t\t\tthis.removeQuad(e);\n\t\t\t}), e;\n\t\t}\n\t\tremoveMatches(e, t, n, r) {\n\t\t\tlet i = new Kt.Readable({ objectMode: !0 }), a = this.readQuads(e, t, n, r);\n\t\t\treturn i._read = (e) => {\n\t\t\t\tfor (; --e >= 0;) {\n\t\t\t\t\tlet { done: e, value: t } = a.next();\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\ti.push(null);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ti.push(t);\n\t\t\t\t}\n\t\t\t}, this.remove(i);\n\t\t}\n\t\tdeleteGraph(e) {\n\t\t\treturn this.removeMatches(null, null, null, e);\n\t\t}\n\t\tgetQuads(e, t, n, r) {\n\t\t\treturn [...this.readQuads(e, t, n, r)];\n\t\t}\n\t\t*readQuads(e, t, n, r) {\n\t\t\tlet i = this._getGraphs(r), a, o, s, c;\n\t\t\tif (!(e && !(o = this._termToNumericId(e)) || t && !(s = this._termToNumericId(t)) || n && !(c = this._termToNumericId(n)))) for (let e in i) (a = i[e]) && (o ? c ? yield* this._findInIndex(a.objects, c, o, s, \"object\", \"subject\", \"predicate\", e) : yield* this._findInIndex(a.subjects, o, s, null, \"subject\", \"predicate\", \"object\", e) : s ? yield* this._findInIndex(a.predicates, s, c, null, \"predicate\", \"object\", \"subject\", e) : c ? yield* this._findInIndex(a.objects, c, null, null, \"object\", \"subject\", \"predicate\", e) : yield* this._findInIndex(a.subjects, null, null, null, \"subject\", \"predicate\", \"object\", e));\n\t\t}\n\t\tmatch(e, t, n, r) {\n\t\t\treturn new Xt(this, e, t, n, r, { entityIndex: this._entityIndex });\n\t\t}\n\t\tcountQuads(e, t, n, r) {\n\t\t\tlet i = this._getGraphs(r), a = 0, o, s, c, l;\n\t\t\tif (e && !(s = this._termToNumericId(e)) || t && !(c = this._termToNumericId(t)) || n && !(l = this._termToNumericId(n))) return 0;\n\t\t\tfor (let r in i) (o = i[r]) && (a += e ? n ? this._countInIndex(o.objects, l, s, c) : this._countInIndex(o.subjects, s, c, l) : t ? this._countInIndex(o.predicates, c, l, s) : this._countInIndex(o.objects, l, s, c));\n\t\t\treturn a;\n\t\t}\n\t\tforEach(e, t, n, r, i) {\n\t\t\tthis.some((t) => (e(t, this), !1), t, n, r, i);\n\t\t}\n\t\tevery(e, t, n, r, i) {\n\t\t\treturn !this.some((t) => !e(t, this), t, n, r, i);\n\t\t}\n\t\tsome(e, t, n, r, i) {\n\t\t\tfor (let a of this.readQuads(t, n, r, i)) if (e(a, this)) return !0;\n\t\t\treturn !1;\n\t\t}\n\t\tgetSubjects(e, t, n) {\n\t\t\tlet r = [];\n\t\t\treturn this.forSubjects((e) => {\n\t\t\t\tr.push(e);\n\t\t\t}, e, t, n), r;\n\t\t}\n\t\tforSubjects(e, t, n, r) {\n\t\t\tlet i = this._getGraphs(r), a, o, s;\n\t\t\tif (e = this._uniqueEntities(e), !(t && !(o = this._termToNumericId(t)) || n && !(s = this._termToNumericId(n)))) for (r in i) (a = i[r]) && (o ? s ? this._loopBy2Keys(a.predicates, o, s, e) : this._loopByKey1(a.subjects, o, e) : s ? this._loopByKey0(a.objects, s, e) : this._loop(a.subjects, e));\n\t\t}\n\t\tgetPredicates(e, t, n) {\n\t\t\tlet r = [];\n\t\t\treturn this.forPredicates((e) => {\n\t\t\t\tr.push(e);\n\t\t\t}, e, t, n), r;\n\t\t}\n\t\tforPredicates(e, t, n, r) {\n\t\t\tlet i = this._getGraphs(r), a, o, s;\n\t\t\tif (e = this._uniqueEntities(e), !(t && !(o = this._termToNumericId(t)) || n && !(s = this._termToNumericId(n)))) for (r in i) (a = i[r]) && (o ? s ? this._loopBy2Keys(a.objects, s, o, e) : this._loopByKey0(a.subjects, o, e) : s ? this._loopByKey1(a.predicates, s, e) : this._loop(a.predicates, e));\n\t\t}\n\t\tgetObjects(e, t, n) {\n\t\t\tlet r = [];\n\t\t\treturn this.forObjects((e) => {\n\t\t\t\tr.push(e);\n\t\t\t}, e, t, n), r;\n\t\t}\n\t\tforObjects(e, t, n, r) {\n\t\t\tlet i = this._getGraphs(r), a, o, s;\n\t\t\tif (e = this._uniqueEntities(e), !(t && !(o = this._termToNumericId(t)) || n && !(s = this._termToNumericId(n)))) for (r in i) (a = i[r]) && (o ? s ? this._loopBy2Keys(a.subjects, o, s, e) : this._loopByKey1(a.objects, o, e) : s ? this._loopByKey0(a.predicates, s, e) : this._loop(a.objects, e));\n\t\t}\n\t\tgetGraphs(e, t, n) {\n\t\t\tlet r = [];\n\t\t\treturn this.forGraphs((e) => {\n\t\t\t\tr.push(e);\n\t\t\t}, e, t, n), r;\n\t\t}\n\t\tforGraphs(e, t, n, r) {\n\t\t\tfor (let i in this._graphs) this.some((t) => (e(t.graph), !0), t, n, r, this._termFromId(this._entities[i]));\n\t\t}\n\t\tcreateBlankNode(e) {\n\t\t\treturn this._entityIndex.createBlankNode(e);\n\t\t}\n\t\textractLists({ remove: e = !1, ignoreErrors: t = !1 } = {}) {\n\t\t\tlet n = {}, r = t ? (() => !0) : ((e, t) => {\n\t\t\t\tthrow Error(`${e.value} ${t}`);\n\t\t\t}), i = this.getQuads(null, K.rdf.rest, K.rdf.nil, null), a = e ? [...i] : [];\n\t\t\treturn i.forEach((t) => {\n\t\t\t\tlet i = [], o = !1, s, c, l = t.graph, u = t.subject;\n\t\t\t\tfor (; u && !o;) {\n\t\t\t\t\tlet e = this.getQuads(null, null, u, null), t = this.getQuads(u, null, null, null), n, d = null, f = null, p = null;\n\t\t\t\t\tfor (let i = 0; i < t.length && !o; i++) n = t[i], n.graph.equals(l) ? s ? o = r(u, \"has non-list arcs out\") : n.predicate.value === K.rdf.first ? d ? o = r(u, \"has multiple rdf:first arcs\") : a.push(d = n) : n.predicate.value === K.rdf.rest ? f ? o = r(u, \"has multiple rdf:rest arcs\") : a.push(f = n) : e.length ? o = r(u, \"can't be subject and object\") : (s = n, c = \"subject\") : o = r(u, \"not confined to single graph\");\n\t\t\t\t\tfor (let t = 0; t < e.length && !o; ++t) n = e[t], s ? o = r(u, \"can't have coreferences\") : n.predicate.value === K.rdf.rest ? p ? o = r(u, \"has incoming rdf:rest arcs\") : p = n : (s = n, c = \"object\");\n\t\t\t\t\td ? i.unshift(d.object) : o = r(u, \"has no list head\"), u = p && p.subject;\n\t\t\t\t}\n\t\t\t\to ? e = !1 : s && (n[s[c].value] = i);\n\t\t\t}), e && this.removeQuads(a), n;\n\t\t}\n\t\taddAll(t) {\n\t\t\tif (t instanceof Xt && (t = t.filtered), Array.isArray(t)) this.addQuads(t);\n\t\t\telse if (t instanceof e && t._entityIndex === this._entityIndex) t._size !== 0 && (this._graphs = Ht(this._graphs, t._graphs), this._size = null);\n\t\t\telse for (let e of t) this.add(e);\n\t\t\treturn this;\n\t\t}\n\t\tcontains(t) {\n\t\t\tif (t instanceof Xt && (t = t.filtered), t === this) return !0;\n\t\t\tif (!(t instanceof e) || this._entityIndex !== t._entityIndex) return t.every((e) => this.has(e));\n\t\t\tlet n = this._graphs, r = t._graphs, i, a, o, s, c;\n\t\t\tfor (let e in r) {\n\t\t\t\tif (!(i = n[e])) return !1;\n\t\t\t\ti = i.subjects;\n\t\t\t\tfor (let t in a = r[e].subjects) {\n\t\t\t\t\tif (!(o = i[t])) return !1;\n\t\t\t\t\tfor (let e in s = a[t]) {\n\t\t\t\t\t\tif (!(c = o[e])) return !1;\n\t\t\t\t\t\tfor (let t in s[e]) if (!(t in c)) return !1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn !0;\n\t\t}\n\t\tdeleteMatches(e, t, n, r) {\n\t\t\tfor (let i of this.match(e, t, n, r)) this.removeQuad(i);\n\t\t\treturn this;\n\t\t}\n\t\tdifference(t) {\n\t\t\tif (t && t instanceof Xt && (t = t.filtered), t === this) return new e({ entityIndex: this._entityIndex });\n\t\t\tif (t instanceof e && t._entityIndex === this._entityIndex) {\n\t\t\t\tlet n = new e({ entityIndex: this._entityIndex }), r = Wt(this._graphs, t._graphs);\n\t\t\t\treturn r && (n._graphs = r, n._size = null), n;\n\t\t\t}\n\t\t\treturn this.filter((e) => !t.has(e));\n\t\t}\n\t\tequals(e) {\n\t\t\treturn e instanceof Xt && (e = e.filtered), e === this || this.size === e.size && this.contains(e);\n\t\t}\n\t\tfilter(t) {\n\t\t\tlet n = new e({ entityIndex: this._entityIndex });\n\t\t\tfor (let e of this) t(e, this) && n.add(e);\n\t\t\treturn n;\n\t\t}\n\t\tintersection(t) {\n\t\t\tif (t instanceof Xt && (t = t.filtered), t === this) {\n\t\t\t\tlet t = new e({ entityIndex: this._entityIndex });\n\t\t\t\treturn t._graphs = Ht(Object.create(null), this._graphs), t._size = this._size, t;\n\t\t\t}\n\t\t\tif (t instanceof e && this._entityIndex === t._entityIndex) {\n\t\t\t\tlet n = new e({ entityIndex: this._entityIndex }), r = Ut(t._graphs, this._graphs);\n\t\t\t\treturn r && (n._graphs = r, n._size = null), n;\n\t\t\t}\n\t\t\treturn this.filter((e) => t.has(e));\n\t\t}\n\t\tmap(t) {\n\t\t\tlet n = new e({ entityIndex: this._entityIndex });\n\t\t\tfor (let e of this) n.add(t(e, this));\n\t\t\treturn n;\n\t\t}\n\t\treduce(e, t) {\n\t\t\tlet n = this.readQuads(), r = t === void 0 ? n.next().value : t;\n\t\t\tfor (let t of n) r = e(r, t, this);\n\t\t\treturn r;\n\t\t}\n\t\ttoArray() {\n\t\t\treturn this.getQuads();\n\t\t}\n\t\ttoCanonical() {\n\t\t\tthrow Error(\"not implemented\");\n\t\t}\n\t\ttoStream() {\n\t\t\treturn this.match();\n\t\t}\n\t\ttoString() {\n\t\t\treturn new pt().quadsToString(this);\n\t\t}\n\t\tunion(t) {\n\t\t\tlet n = new e({ entityIndex: this._entityIndex });\n\t\t\treturn n._graphs = Ht(Object.create(null), this._graphs), n._size = this._size, n.addAll(t), n;\n\t\t}\n\t\t*[Symbol.iterator]() {\n\t\t\tyield* this.readQuads();\n\t\t}\n\t}, Xt = class e extends Kt.Readable {\n\t\tconstructor(e, t, n, r, i, a) {\n\t\t\tsuper({ objectMode: !0 }), Object.assign(this, {\n\t\t\t\tn3Store: e,\n\t\t\t\tsubject: t,\n\t\t\t\tpredicate: n,\n\t\t\t\tobject: r,\n\t\t\t\tgraph: i,\n\t\t\t\toptions: a\n\t\t\t});\n\t\t}\n\t\tget filtered() {\n\t\t\tif (!this._filtered) {\n\t\t\t\tlet { n3Store: e, graph: t, object: n, predicate: r, subject: i } = this, a = this._filtered = new Yt({\n\t\t\t\t\tfactory: e._factory,\n\t\t\t\t\tentityIndex: this.options.entityIndex\n\t\t\t\t}), o, s, c;\n\t\t\t\tif (i && !(o = a._termToNumericId(i)) || r && !(s = a._termToNumericId(r)) || n && !(c = a._termToNumericId(n))) return a;\n\t\t\t\tlet l = e._getGraphs(t);\n\t\t\t\tfor (let e in l) {\n\t\t\t\t\tlet t, n, r, i;\n\t\t\t\t\t(i = l[e]) && (!o && s ? (n = Gt(i.predicates, [\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to\n\t\t\t\t\t])) && (t = Gt(i.subjects, [\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc\n\t\t\t\t\t]), r = Gt(i.objects, [\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts\n\t\t\t\t\t])) : c ? (r = Gt(i.objects, [\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts\n\t\t\t\t\t])) && (t = Gt(i.subjects, [\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc\n\t\t\t\t\t]), n = Gt(i.predicates, [\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to\n\t\t\t\t\t])) : (t = Gt(i.subjects, [\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc\n\t\t\t\t\t])) && (n = Gt(i.predicates, [\n\t\t\t\t\t\ts,\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to\n\t\t\t\t\t]), r = Gt(i.objects, [\n\t\t\t\t\t\tc,\n\t\t\t\t\t\to,\n\t\t\t\t\t\ts\n\t\t\t\t\t])), t && (a._graphs[e] = {\n\t\t\t\t\t\tsubjects: t,\n\t\t\t\t\t\tpredicates: n,\n\t\t\t\t\t\tobjects: r\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\ta._size = null;\n\t\t\t}\n\t\t\treturn this._filtered;\n\t\t}\n\t\tget size() {\n\t\t\treturn this.filtered.size;\n\t\t}\n\t\t_read(e) {\n\t\t\te > 0 && !this[qt] && (this[qt] = this[Symbol.iterator]());\n\t\t\tlet t = this[qt];\n\t\t\tfor (; --e >= 0;) {\n\t\t\t\tlet { done: e, value: n } = t.next();\n\t\t\t\tif (e) {\n\t\t\t\t\tthis.push(null);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.push(n);\n\t\t\t}\n\t\t}\n\t\taddAll(e) {\n\t\t\treturn this.filtered.addAll(e);\n\t\t}\n\t\tcontains(e) {\n\t\t\treturn this.filtered.contains(e);\n\t\t}\n\t\tdeleteMatches(e, t, n, r) {\n\t\t\treturn this.filtered.deleteMatches(e, t, n, r);\n\t\t}\n\t\tdifference(e) {\n\t\t\treturn this.filtered.difference(e);\n\t\t}\n\t\tequals(e) {\n\t\t\treturn this.filtered.equals(e);\n\t\t}\n\t\tevery(e, t, n, r, i) {\n\t\t\treturn this.filtered.every(e, t, n, r, i);\n\t\t}\n\t\tfilter(e) {\n\t\t\treturn this.filtered.filter(e);\n\t\t}\n\t\tforEach(e, t, n, r, i) {\n\t\t\treturn this.filtered.forEach(e, t, n, r, i);\n\t\t}\n\t\timport(e) {\n\t\t\treturn this.filtered.import(e);\n\t\t}\n\t\tintersection(e) {\n\t\t\treturn this.filtered.intersection(e);\n\t\t}\n\t\tmap(e) {\n\t\t\treturn this.filtered.map(e);\n\t\t}\n\t\tsome(e, t, n, r, i) {\n\t\t\treturn this.filtered.some(e, t, n, r, i);\n\t\t}\n\t\ttoCanonical() {\n\t\t\treturn this.filtered.toCanonical();\n\t\t}\n\t\ttoStream() {\n\t\t\treturn this._filtered ? this._filtered.toStream() : this.n3Store.match(this.subject, this.predicate, this.object, this.graph);\n\t\t}\n\t\tunion(e) {\n\t\t\treturn this._filtered ? this._filtered.union(e) : this.n3Store.match(this.subject, this.predicate, this.object, this.graph).addAll(e);\n\t\t}\n\t\ttoArray() {\n\t\t\treturn this._filtered ? this._filtered.toArray() : this.n3Store.getQuads(this.subject, this.predicate, this.object, this.graph);\n\t\t}\n\t\treduce(e, t) {\n\t\t\treturn this.filtered.reduce(e, t);\n\t\t}\n\t\ttoString() {\n\t\t\treturn new pt().quadsToString(this);\n\t\t}\n\t\tadd(e) {\n\t\t\treturn this.filtered.add(e);\n\t\t}\n\t\tdelete(e) {\n\t\t\treturn this.filtered.delete(e);\n\t\t}\n\t\thas(e) {\n\t\t\treturn this.filtered.has(e);\n\t\t}\n\t\tmatch(t, n, r, i) {\n\t\t\treturn new e(this.filtered, t, n, r, i, this.options);\n\t\t}\n\t\t*[Symbol.iterator]() {\n\t\t\tyield* this._filtered || this.n3Store.readQuads(this.subject, this.predicate, this.object, this.graph);\n\t\t}\n\t};\n})), Qt, $t = i((() => {\n\tZt(), Qt = class {\n\t\tdataset(e) {\n\t\t\treturn new Yt(e);\n\t\t}\n\t};\n}));\nfunction en(e) {\n\tlet t = [];\n\tfor (let { subject: n, object: r } of e.match(null, we.namedNode(\"http://www.w3.org/2000/10/swap/log#implies\"), null, we.defaultGraph())) {\n\t\tlet i = [...e.match(null, null, null, n)], a = [...e.match(null, null, null, r)];\n\t\tt.push({\n\t\t\tpremise: i,\n\t\t\tconclusion: a\n\t\t});\n\t}\n\treturn t;\n}\nfunction tn({ subject: e, predicate: t, object: n }, r) {\n\tlet i = e.value || r.has(e) || (r.add(e), !1), a = t.value || r.has(t) || (r.add(t), !1), o = n.value || r.has(n) || (r.add(n), !1);\n\treturn !i && a ? {\n\t\tcontent: \"predicates\",\n\t\tvalue: [\n\t\t\tt,\n\t\t\tn,\n\t\t\te\n\t\t]\n\t} : o ? {\n\t\tcontent: \"objects\",\n\t\tvalue: [\n\t\t\tn,\n\t\t\te,\n\t\t\tt\n\t\t]\n\t} : {\n\t\tcontent: \"subjects\",\n\t\tvalue: [\n\t\t\te,\n\t\t\tt,\n\t\t\tn\n\t\t]\n\t};\n}\nfunction nn(e, t) {\n\treturn e.value === null && (e.value = t.value), e.value === t.value;\n}\nvar rn, an = i((() => {\n\tMe(), rn = class {\n\t\tconstructor(e) {\n\t\t\tthis._store = e;\n\t\t}\n\t\t_add(e, t, n, r, i) {\n\t\t\tthis._store._addToIndex(r.subjects, e, t, n) && (this._store._addToIndex(r.predicates, t, n, e), this._store._addToIndex(r.objects, n, e, t), i());\n\t\t}\n\t\t_evaluatePremise(e, t, n, r = 0) {\n\t\t\tlet i, a, o, s, c, [l, u, d] = e.premise[r].value, f = t[e.premise[r].content], p = !(o = l.value);\n\t\t\tfor (o in p ? f : { [o]: f[o] }) if (s = f[o]) {\n\t\t\t\tfor (o in p && (l.value = Number(o)), i = !(o = u.value), i ? s : { [o]: s[o] }) if (c = s[o]) {\n\t\t\t\t\tfor (o in i && (u.value = Number(o)), a = !(o = d.value), a ? c : { [o]: c[o] }) a && (d.value = Number(o)), r === e.premise.length - 1 ? e.conclusion.forEach((e) => {\n\t\t\t\t\t\tthis._add(e.subject.value, e.predicate.value, e.object.value, t, () => {\n\t\t\t\t\t\t\tn(e);\n\t\t\t\t\t\t});\n\t\t\t\t\t}) : this._evaluatePremise(e, t, n, r + 1);\n\t\t\t\t\ta && (d.value = null);\n\t\t\t\t}\n\t\t\t\ti && (u.value = null);\n\t\t\t}\n\t\t\tp && (l.value = null);\n\t\t}\n\t\t_evaluateRules(e, t, n) {\n\t\t\tfor (let r = 0; r < e.length; r++) this._evaluatePremise(e[r], t, n);\n\t\t}\n\t\t_reasonGraphNaive(e, t) {\n\t\t\tlet n = [];\n\t\t\tfunction r(e) {\n\t\t\t\te.next && e.next.forEach((t) => {\n\t\t\t\t\tn.push([\n\t\t\t\t\t\te.subject.value,\n\t\t\t\t\t\te.predicate.value,\n\t\t\t\t\t\te.object.value,\n\t\t\t\t\t\tt\n\t\t\t\t\t]);\n\t\t\t\t});\n\t\t\t}\n\t\t\tlet i = (e) => {\n\t\t\t\te.forEach((e) => {\n\t\t\t\t\tthis._add(e.subject.value, e.predicate.value, e.object.value, t, () => {\n\t\t\t\t\t\tr(e);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t};\n\t\t\tthis._evaluateRules(e, t, r);\n\t\t\tlet a;\n\t\t\tfor (; (a = n.pop()) !== void 0;) {\n\t\t\t\tlet [e, n, o, s] = a, c = s.basePremise.subject.value;\n\t\t\t\tc || (s.basePremise.subject.value = e);\n\t\t\t\tlet l = s.basePremise.predicate.value;\n\t\t\t\tl || (s.basePremise.predicate.value = n);\n\t\t\t\tlet u = s.basePremise.object.value;\n\t\t\t\tu || (s.basePremise.object.value = o), s.premise.length === 0 ? i(s.conclusion) : this._evaluatePremise(s, t, r), c || (s.basePremise.subject.value = null), l || (s.basePremise.predicate.value = null), u || (s.basePremise.object.value = null);\n\t\t\t}\n\t\t}\n\t\t_createRule({ premise: e, conclusion: t }) {\n\t\t\tlet n = {}, r = (e) => e.termType === \"Variable\" ? n[e.value] = n[e.value] || {} : { value: this._store._termToNewNumericId(e) }, i = (e) => ({\n\t\t\t\tsubject: r(e.subject),\n\t\t\t\tpredicate: r(e.predicate),\n\t\t\t\tobject: r(e.object)\n\t\t\t});\n\t\t\treturn {\n\t\t\t\tpremise: e.map((e) => i(e)),\n\t\t\t\tconclusion: t.map((e) => i(e)),\n\t\t\t\tvariables: Object.values(n)\n\t\t\t};\n\t\t}\n\t\treason(e) {\n\t\t\tArray.isArray(e) || (e = en(e)), e = e.map((e) => this._createRule(e));\n\t\t\tfor (let t of e) for (let n of e) for (let e = 0; e < n.premise.length; e++) {\n\t\t\t\tlet r = n.premise[e];\n\t\t\t\tfor (let i of t.conclusion) {\n\t\t\t\t\tif (nn(r.subject, i.subject) && nn(r.predicate, i.predicate) && nn(r.object, i.object)) {\n\t\t\t\t\t\tlet t = /* @__PURE__ */ new Set(), a = [];\n\t\t\t\t\t\tr.subject.value = r.subject.value || 1, r.object.value = r.object.value || 1, r.predicate.value = r.predicate.value || 1;\n\t\t\t\t\t\tfor (let r = 0; r < n.premise.length; r++) r !== e && a.push(tn(n.premise[r], t));\n\t\t\t\t\t\t(i.next = i.next || []).push({\n\t\t\t\t\t\t\tpremise: a,\n\t\t\t\t\t\t\tconclusion: n.conclusion,\n\t\t\t\t\t\t\tbasePremise: r\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tn.variables.forEach((e) => {\n\t\t\t\t\t\te.value = null;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (let t of e) {\n\t\t\t\tlet e = /* @__PURE__ */ new Set();\n\t\t\t\tt.premise = t.premise.map((t) => tn(t, e));\n\t\t\t}\n\t\t\tlet t = this._store._getGraphs();\n\t\t\tfor (let n in t) this._reasonGraphNaive(e, t[n]);\n\t\t\tthis._store._size = null;\n\t\t}\n\t};\n})), on, sn, cn = i((() => {\n\ton = Vt(), Le(), sn = class extends on.Transform {\n\t\tconstructor(e) {\n\t\t\tsuper({ decodeStrings: !0 }), this._readableState.objectMode = !0;\n\t\t\tlet t = new Ie(e), n, r, i = {\n\t\t\t\tonQuad: (e, t) => {\n\t\t\t\t\te && this.emit(\"error\", e) || t && this.push(t);\n\t\t\t\t},\n\t\t\t\tonPrefix: (e, t) => {\n\t\t\t\t\tthis.emit(\"prefix\", e, t);\n\t\t\t\t}\n\t\t\t};\n\t\t\te && e.comments && (i.onComment = (e) => {\n\t\t\t\tthis.emit(\"comment\", e);\n\t\t\t}), t.parse({ on: (e, t) => {\n\t\t\t\tswitch (e) {\n\t\t\t\t\tcase \"data\":\n\t\t\t\t\t\tn = t;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"end\": r = t;\n\t\t\t\t}\n\t\t\t} }, i), this._transform = (e, t, r) => {\n\t\t\t\tn(e), r();\n\t\t\t}, this._flush = (e) => {\n\t\t\t\tr(), e();\n\t\t\t};\n\t\t}\n\t\timport(e) {\n\t\t\treturn e.on(\"data\", (e) => {\n\t\t\t\tthis.write(e);\n\t\t\t}), e.on(\"end\", () => {\n\t\t\t\tthis.end();\n\t\t\t}), e.on(\"error\", (e) => {\n\t\t\t\tthis.emit(\"error\", e);\n\t\t\t}), this;\n\t\t}\n\t};\n})), ln, un, dn = i((() => {\n\tln = Vt(), mt(), un = class extends ln.Transform {\n\t\tconstructor(e) {\n\t\t\tsuper({\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\twritableObjectMode: !0\n\t\t\t});\n\t\t\tlet t = this._writer = new pt({\n\t\t\t\twrite: (e, t, n) => {\n\t\t\t\t\tthis.push(e), n && n();\n\t\t\t\t},\n\t\t\t\tend: (e) => {\n\t\t\t\t\tthis.push(null), e && e();\n\t\t\t\t}\n\t\t\t}, e);\n\t\t\tthis._transform = (e, n, r) => {\n\t\t\t\tt.addQuad(e, r);\n\t\t\t}, this._flush = (e) => {\n\t\t\t\tt.end(e);\n\t\t\t};\n\t\t}\n\t\timport(e) {\n\t\t\treturn e.on(\"data\", (e) => {\n\t\t\t\tthis.write(e);\n\t\t\t}), e.on(\"end\", () => {\n\t\t\t\tthis.end();\n\t\t\t}), e.on(\"error\", (e) => {\n\t\t\t\tthis.emit(\"error\", e);\n\t\t\t}), e.on(\"prefix\", (e, t) => {\n\t\t\t\tthis._writer.addPrefix(e, t);\n\t\t\t}), this;\n\t\t}\n\t};\n})), fn = /* @__PURE__ */ o({\n\tBaseIRI: () => rt,\n\tBlankNode: () => Oe,\n\tDataFactory: () => we,\n\tDefaultGraph: () => Ae,\n\tEntityIndex: () => Jt,\n\tLexer: () => J,\n\tLiteral: () => De,\n\tNamedNode: () => Ee,\n\tParser: () => Ie,\n\tQuad: () => je,\n\tReasoner: () => rn,\n\tStore: () => Yt,\n\tStoreFactory: () => Qt,\n\tStreamParser: () => sn,\n\tStreamWriter: () => un,\n\tTerm: () => Te,\n\tTriple: () => je,\n\tUtil: () => Re,\n\tVariable: () => ke,\n\tWriter: () => pt,\n\tdefault: () => pn,\n\tgetRulesFromDataset: () => en,\n\ttermFromId: () => X,\n\ttermToId: () => de\n}), pn, mn = i((() => {\n\tY(), Le(), mt(), Zt(), $t(), an(), cn(), dn(), Je(), it(), Me(), pn = {\n\t\tLexer: J,\n\t\tParser: Ie,\n\t\tWriter: pt,\n\t\tStore: Yt,\n\t\tStoreFactory: Qt,\n\t\tEntityIndex: Jt,\n\t\tStreamParser: sn,\n\t\tStreamWriter: un,\n\t\tUtil: Re,\n\t\tReasoner: rn,\n\t\tBaseIRI: rt,\n\t\tDataFactory: we,\n\t\tTerm: Te,\n\t\tNamedNode: Ee,\n\t\tLiteral: De,\n\t\tBlankNode: Oe,\n\t\tVariable: ke,\n\t\tDefaultGraph: Ae,\n\t\tQuad: je,\n\t\tTriple: je,\n\t\ttermFromId: X,\n\t\ttermToId: de\n\t};\n})), hn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 });\n\tvar t = (mn(), c(fn));\n\te.default = class extends t.Store {\n\t\tgetQuadsOnce(e, t, n, r) {\n\t\t\tlet i = this.getQuads(e, t, n, r);\n\t\t\treturn this.removeQuads(i), i;\n\t\t}\n\t\tgetObjectsOnce(e, t, n) {\n\t\t\treturn this.getQuadsOnce(e, t, null, n).map((e) => e.object);\n\t\t}\n\t};\n})), gn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.BlankNode = void 0, e.BlankNode = class {\n\t\tconstructor(e) {\n\t\t\tthis.termType = \"BlankNode\", this.value = e;\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && e.termType === \"BlankNode\" && e.value === this.value;\n\t\t}\n\t};\n})), _n = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.DefaultGraph = void 0;\n\tvar t = class {\n\t\tconstructor() {\n\t\t\tthis.termType = \"DefaultGraph\", this.value = \"\";\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && e.termType === \"DefaultGraph\";\n\t\t}\n\t};\n\te.DefaultGraph = t, t.INSTANCE = new t();\n})), vn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.NamedNode = void 0, e.NamedNode = class {\n\t\tconstructor(e) {\n\t\t\tthis.termType = \"NamedNode\", this.value = e;\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && e.termType === \"NamedNode\" && e.value === this.value;\n\t\t}\n\t};\n})), yn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.Literal = void 0;\n\tvar t = vn(), n = class e {\n\t\tconstructor(t, n) {\n\t\t\tthis.termType = \"Literal\", this.value = t, typeof n == \"string\" ? (this.language = n, this.datatype = e.RDF_LANGUAGE_STRING) : n ? (this.language = \"\", this.datatype = n) : (this.language = \"\", this.datatype = e.XSD_STRING);\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && e.termType === \"Literal\" && e.value === this.value && e.language === this.language && this.datatype.equals(e.datatype);\n\t\t}\n\t};\n\te.Literal = n, n.RDF_LANGUAGE_STRING = new t.NamedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\"), n.XSD_STRING = new t.NamedNode(\"http://www.w3.org/2001/XMLSchema#string\");\n})), bn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.Quad = void 0, e.Quad = class {\n\t\tconstructor(e, t, n, r) {\n\t\t\tthis.termType = \"Quad\", this.value = \"\", this.subject = e, this.predicate = t, this.object = n, this.graph = r;\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && (e.termType === \"Quad\" || !e.termType) && this.subject.equals(e.subject) && this.predicate.equals(e.predicate) && this.object.equals(e.object) && this.graph.equals(e.graph);\n\t\t}\n\t};\n})), xn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.Variable = void 0, e.Variable = class {\n\t\tconstructor(e) {\n\t\t\tthis.termType = \"Variable\", this.value = e;\n\t\t}\n\t\tequals(e) {\n\t\t\treturn !!e && e.termType === \"Variable\" && e.value === this.value;\n\t\t}\n\t};\n})), Sn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.DataFactory = void 0;\n\tvar t = gn(), n = _n(), r = yn(), i = vn(), a = bn(), o = xn(), s = 0;\n\te.DataFactory = class {\n\t\tconstructor(e) {\n\t\t\tthis.blankNodeCounter = 0, e ||= {}, this.blankNodePrefix = e.blankNodePrefix || `df_${s++}_`;\n\t\t}\n\t\tnamedNode(e) {\n\t\t\treturn new i.NamedNode(e);\n\t\t}\n\t\tblankNode(e) {\n\t\t\treturn new t.BlankNode(e || `${this.blankNodePrefix}${this.blankNodeCounter++}`);\n\t\t}\n\t\tliteral(e, t) {\n\t\t\treturn new r.Literal(e, t);\n\t\t}\n\t\tvariable(e) {\n\t\t\treturn new o.Variable(e);\n\t\t}\n\t\tdefaultGraph() {\n\t\t\treturn n.DefaultGraph.INSTANCE;\n\t\t}\n\t\tquad(e, t, n, r) {\n\t\t\treturn new a.Quad(e, t, n, r || this.defaultGraph());\n\t\t}\n\t\tfromTerm(e) {\n\t\t\tswitch (e.termType) {\n\t\t\t\tcase \"NamedNode\": return this.namedNode(e.value);\n\t\t\t\tcase \"BlankNode\": return this.blankNode(e.value);\n\t\t\t\tcase \"Literal\": return e.language ? this.literal(e.value, e.language) : e.datatype.equals(r.Literal.XSD_STRING) ? this.literal(e.value) : this.literal(e.value, this.fromTerm(e.datatype));\n\t\t\t\tcase \"Variable\": return this.variable(e.value);\n\t\t\t\tcase \"DefaultGraph\": return this.defaultGraph();\n\t\t\t\tcase \"Quad\": return this.quad(this.fromTerm(e.subject), this.fromTerm(e.predicate), this.fromTerm(e.object), this.fromTerm(e.graph));\n\t\t\t}\n\t\t}\n\t\tfromQuad(e) {\n\t\t\treturn this.fromTerm(e);\n\t\t}\n\t\tresetBlankNodeCounter() {\n\t\t\tthis.blankNodeCounter = 0;\n\t\t}\n\t};\n})), Cn = /* @__PURE__ */ a(((e) => {\n\tvar t = e && e.__createBinding || (Object.create ? (function(e, t, n, r) {\n\t\tr === void 0 && (r = n);\n\t\tvar i = Object.getOwnPropertyDescriptor(t, n);\n\t\t(!i || (\"get\" in i ? !t.__esModule : i.writable || i.configurable)) && (i = {\n\t\t\tenumerable: !0,\n\t\t\tget: function() {\n\t\t\t\treturn t[n];\n\t\t\t}\n\t\t}), Object.defineProperty(e, r, i);\n\t}) : (function(e, t, n, r) {\n\t\tr === void 0 && (r = n), e[r] = t[n];\n\t})), n = e && e.__exportStar || function(e, n) {\n\t\tfor (var r in e) r !== \"default\" && !Object.prototype.hasOwnProperty.call(n, r) && t(n, e, r);\n\t};\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), n(gn(), e), n(Sn(), e), n(_n(), e), n(yn(), e), n(vn(), e), n(bn(), e), n(xn(), e);\n})), wn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.stringQuadToQuad = e.quadToStringQuad = e.stringToTerm = e.getLiteralLanguage = e.getLiteralType = e.getLiteralValue = e.termToString = void 0;\n\tvar t = new (Cn()).DataFactory();\n\tfunction n(e) {\n\t\tif (e) switch (e.termType) {\n\t\t\tcase \"NamedNode\": return `<${l(e.value)}>`;\n\t\t\tcase \"BlankNode\": return `_:${e.value}`;\n\t\t\tcase \"Literal\": {\n\t\t\t\tlet t = e;\n\t\t\t\treturn `\"${u(t.value)}\"${t.datatype && t.datatype.value !== \"http://www.w3.org/2001/XMLSchema#string\" && t.datatype.value !== \"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\" ? `^^<${t.datatype.value}>` : \"\"}${t.language ? `@${t.language}` : \"\"}`;\n\t\t\t}\n\t\t\tcase \"Quad\": return `<<${n(e.subject)} ${n(e.predicate)} ${n(e.object)}${e.graph.termType === \"DefaultGraph\" ? \"\" : ` ${n(e.graph)}`}>>`;\n\t\t\tcase \"Variable\": return `?${e.value}`;\n\t\t\tcase \"DefaultGraph\": return e.value;\n\t\t}\n\t}\n\te.termToString = n;\n\tfunction r(e) {\n\t\tlet t = /^\"([^]*)\"((\\^\\^.*)|(@.*))?$/u.exec(e);\n\t\tif (!t) throw Error(`${e} is not a literal`);\n\t\treturn t[1].replace(/\\\\\"/gu, \"\\\"\");\n\t}\n\te.getLiteralValue = r;\n\tfunction i(e) {\n\t\tlet t = /^\"[^]*\"(?:\\^\\^<([^\"]+)>|(@)[^@\"]+)?$/u.exec(e);\n\t\tif (!t) throw Error(`${e} is not a literal`);\n\t\treturn t[1] || (t[2] ? \"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\" : \"http://www.w3.org/2001/XMLSchema#string\");\n\t}\n\te.getLiteralType = i;\n\tfunction a(e) {\n\t\tlet t = /^\"[^]*\"(?:@([^@\"]+)|\\^\\^[^\"]+)?$/u.exec(e);\n\t\tif (!t) throw Error(`${e} is not a literal`);\n\t\treturn t[1] ? t[1].toLowerCase() : \"\";\n\t}\n\te.getLiteralLanguage = a;\n\tfunction o(e, n) {\n\t\tif (n ||= t, !e || e.length === 0) return n.defaultGraph();\n\t\tswitch (e[0]) {\n\t\t\tcase \"_\": return n.blankNode(e.slice(2));\n\t\t\tcase \"?\":\n\t\t\t\tif (!n.variable) throw Error(\"Missing 'variable()' method on the given DataFactory\");\n\t\t\t\treturn n.variable(e.slice(1));\n\t\t\tcase \"\\\"\": {\n\t\t\t\tlet t = a(e), o = n.namedNode(i(e));\n\t\t\t\treturn n.literal(r(e), t || o);\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tif (e.startsWith(\"<<\") && e.endsWith(\">>\")) {\n\t\t\t\t\tlet t = e.slice(2, -2), r = [], i = 0, a = 0;\n\t\t\t\t\tfor (let n = 0; n < t.length; n++) {\n\t\t\t\t\t\tlet o = t[n];\n\t\t\t\t\t\tif (o === \"<\" && i++, o === \">\") {\n\t\t\t\t\t\t\tif (i === 0) throw Error(`Found closing tag without opening tag in ${e}`);\n\t\t\t\t\t\t\ti--;\n\t\t\t\t\t\t}\n\t\t\t\t\t\to === \" \" && i === 0 && (r.push(t.slice(a, n)), a = n + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif (i !== 0) throw Error(`Found opening tag without closing tag in ${e}`);\n\t\t\t\t\tif (r.push(t.slice(a, t.length)), r.length !== 3 && r.length !== 4) throw Error(`Nested quad syntax error ${e}`);\n\t\t\t\t\treturn n.quad(o(r[0]), o(r[1]), o(r[2]), r[3] ? o(r[3]) : void 0);\n\t\t\t\t}\n\t\t\t\tif (!e.startsWith(\"<\") || !e.endsWith(\">\")) throw Error(`Detected invalid iri for named node (must be wrapped in <>): ${e}`);\n\t\t\t\treturn n.namedNode(e.slice(1, -1));\n\t\t}\n\t}\n\te.stringToTerm = o;\n\tfunction s(e) {\n\t\treturn {\n\t\t\tsubject: n(e.subject),\n\t\t\tpredicate: n(e.predicate),\n\t\t\tobject: n(e.object),\n\t\t\tgraph: n(e.graph)\n\t\t};\n\t}\n\te.quadToStringQuad = s;\n\tfunction c(e, n) {\n\t\treturn n ||= t, n.quad(o(e.subject, n), o(e.predicate, n), o(e.object, n), o(e.graph, n));\n\t}\n\te.stringQuadToQuad = c;\n\tfunction l(e) {\n\t\treturn e.replace(d, p);\n\t}\n\tfunction u(e) {\n\t\treturn d.test(e) && (e = e.replace(d, p)), e;\n\t}\n\tvar d = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g, f = /* @__PURE__ */ new Map([\n\t\t[\"\\\\\", \"\\\\\\\\\"],\n\t\t[\"\\\"\", \"\\\\\\\"\"],\n\t\t[\"\t\", \"\\\\t\"],\n\t\t[\"\\n\", \"\\\\n\"],\n\t\t[\"\\r\", \"\\\\r\"],\n\t\t[\"\\b\", \"\\\\b\"],\n\t\t[\"\\f\", \"\\\\f\"]\n\t]);\n\tfunction p(e) {\n\t\tlet t = f.get(e);\n\t\tif (!t) {\n\t\t\tif (e.length === 1) {\n\t\t\t\tlet t = e.charCodeAt(0).toString(16);\n\t\t\t\treturn `${\"\\\\u0000\".slice(0, -t.length)}${t}`;\n\t\t\t}\n\t\t\tlet t = ((e.charCodeAt(0) - 55296) * 1024 + e.charCodeAt(1) + 9216).toString(16);\n\t\t\treturn `${\"\\\\U00000000\".slice(0, -t.length)}${t}`;\n\t\t}\n\t\treturn t;\n\t}\n})), Tn = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.termToString = e.stringToTerm = e.stringQuadToQuad = e.quadToStringQuad = e.getLiteralValue = e.getLiteralType = e.getLiteralLanguage = void 0;\n\tvar t = wn();\n\tObject.defineProperty(e, \"getLiteralLanguage\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.getLiteralLanguage;\n\t\t}\n\t}), Object.defineProperty(e, \"getLiteralType\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.getLiteralType;\n\t\t}\n\t}), Object.defineProperty(e, \"getLiteralValue\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.getLiteralValue;\n\t\t}\n\t}), Object.defineProperty(e, \"quadToStringQuad\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.quadToStringQuad;\n\t\t}\n\t}), Object.defineProperty(e, \"stringQuadToQuad\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.stringQuadToQuad;\n\t\t}\n\t}), Object.defineProperty(e, \"stringToTerm\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.stringToTerm;\n\t\t}\n\t}), Object.defineProperty(e, \"termToString\", {\n\t\tenumerable: !0,\n\t\tget: function() {\n\t\t\treturn t.termToString;\n\t\t}\n\t});\n})), En = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.escapeStringRDF = i, e.escapeIRI = a;\n\tvar t = /* @__PURE__ */ new Map([\n\t\t[\"\\\\\", \"\\\\\\\\\"],\n\t\t[\"\\\"\", \"\\\\\\\"\"],\n\t\t[\"\t\", \"\\\\t\"],\n\t\t[\"\\n\", \"\\\\n\"],\n\t\t[\"\\r\", \"\\\\r\"],\n\t\t[\"\\b\", \"\\\\b\"],\n\t\t[\"\\f\", \"\\\\f\"]\n\t]);\n\tfunction n(e) {\n\t\tlet n = t.get(e);\n\t\tif (!n) {\n\t\t\tif (e.length === 1) {\n\t\t\t\tlet t = e.charCodeAt(0).toString(16);\n\t\t\t\treturn `${\"\\\\u0000\".slice(0, -t.length)}${t}`;\n\t\t\t}\n\t\t\tlet t = ((e.charCodeAt(0) - 55296) * 1024 + e.charCodeAt(1) + 9216).toString(16);\n\t\t\treturn `${\"\\\\U00000000\".slice(0, -t.length)}${t}`;\n\t\t}\n\t\treturn n;\n\t}\n\tvar r = /[\"\\\\\\t\\n\\r\\b\\f\\u0000-\\u0019]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n\tfunction i(e) {\n\t\treturn r.test(e) ? e.replace(r, n) : e;\n\t}\n\tfunction a(e) {\n\t\treturn e.replace(r, n);\n\t}\n})), Dn = /* @__PURE__ */ a(((e) => {\n\tvar t = e && e.__awaiter || function(e, t, n, r) {\n\t\tfunction i(e) {\n\t\t\treturn e instanceof n ? e : new n(function(t) {\n\t\t\t\tt(e);\n\t\t\t});\n\t\t}\n\t\treturn new (n ||= Promise)(function(n, a) {\n\t\t\tfunction o(e) {\n\t\t\t\ttry {\n\t\t\t\t\tc(r.next(e));\n\t\t\t\t} catch (e) {\n\t\t\t\t\ta(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction s(e) {\n\t\t\t\ttry {\n\t\t\t\t\tc(r.throw(e));\n\t\t\t\t} catch (e) {\n\t\t\t\t\ta(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction c(e) {\n\t\t\t\te.done ? n(e.value) : i(e.value).then(o, s);\n\t\t\t}\n\t\t\tc((r = r.apply(e, t || [])).next());\n\t\t});\n\t};\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.TTLWriter = void 0;\n\tvar n = (mn(), c(fn)), r = Tn(), i = En(), a = (e, t) => {\n\t\tfor (let n of [\"termType\", \"value\"]) {\n\t\t\tlet r = e[n].localeCompare(t[n]);\n\t\t\tif (r !== 0) return r;\n\t\t}\n\t\tif (e.termType === \"Literal\" && t.termType === \"Literal\") {\n\t\t\tif (e.datatype.value !== t.datatype.value) return e.datatype.value.localeCompare(t.datatype.value);\n\t\t\tif (e.language !== t.language) return e.language.localeCompare(t.language);\n\t\t}\n\t\treturn 0;\n\t};\n\tfunction o(e) {\n\t\treturn /^[^]*[#/]/.exec(e)?.[0];\n\t}\n\tvar s = {\n\t\trdf: \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",\n\t\trdfs: \"http://www.w3.org/2000/01/rdf-schema#\",\n\t\towl: \"http://www.w3.org/2002/07/owl#\",\n\t\tsh: \"http://www.w3.org/ns/shacl#\",\n\t\txsd: \"http://www.w3.org/2001/XMLSchema#\",\n\t\tex: \"http://example.com/ns#\"\n\t}, l = [\n\t\t\"http://www.w3.org/1999/02/22-rdf-syntax-ns#langString\",\n\t\t\"http://www.w3.org/2001/XMLSchema#string\",\n\t\t\"http://www.w3.org/1999/02/22-rdf-syntax-ns#dirLangString\"\n\t];\n\te.TTLWriter = class {\n\t\tconstructor(e, t, r = {}, i = {}) {\n\t\t\tswitch (this.store = e, this.isN3 = !1, this.isImpliedBy = !1, this.prefixes = {}, this.prefixRev = {}, this.explicitBnodes = /* @__PURE__ */ new Set(), this.currentGraph = n.DataFactory.defaultGraph(), this.baseIRI = null, this.baseIRIString = void 0, this.explicitBaseIRI = !1, this.ordered = !1, i?.format) {\n\t\t\t\tcase \"text/n3\":\n\t\t\t\t\tthis.isN3 = !0;\n\t\t\t\t\tbreak;\n\t\t\t\tcase void 0:\n\t\t\t\tcase \"text/turtle\": break;\n\t\t\t\tdefault: throw Error(`Unsupported format: ${i?.format}`);\n\t\t\t}\n\t\t\tif (this.isImpliedBy = i?.isImpliedBy || !1, this.explicitBaseIRI = i?.explicitBaseIRI || !1, n.BaseIRI.supports(i.baseIri) && (this.baseIRI = new n.BaseIRI(i.baseIri), this.baseIRIString = i.baseIri), !this.isN3) {\n\t\t\t\tlet t = e.getGraphs(null, null, null);\n\t\t\t\tif (t.length > 1) throw Error(\"More than one graph found - can serialize in the default graph\");\n\t\t\t\tif (t.length === 1 && !t[0].equals(n.DataFactory.defaultGraph())) throw Error(`Expected all triples to be in the default graph, instead triples were in ${t[0].value}`);\n\t\t\t}\n\t\t\tthis.ordered = i?.ordered || !1;\n\t\t\tlet a = /* @__PURE__ */ new Set();\n\t\t\tfunction o(e) {\n\t\t\t\te.termType === \"NamedNode\" ? a.add(e.value) : e.termType === \"Quad\" ? (o(e.subject), (e.predicate.termType !== \"NamedNode\" || e.predicate.value !== \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\") && o(e.predicate), o(e.object), o(e.graph)) : e.termType === \"Literal\" && e.datatype.termType === \"NamedNode\" && !l.includes(e.datatype.value) && o(e.datatype);\n\t\t\t}\n\t\t\tfor (let e of [\n\t\t\t\tthis.store.getSubjects(null, null, null),\n\t\t\t\tthis.store.getPredicates(null, null, null).filter((e) => e.termType !== \"NamedNode\" || e.value !== \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"),\n\t\t\t\tthis.store.getObjects(null, null, null)\n\t\t\t]) for (let t of e) o(t);\n\t\t\tlet c = [...a];\n\t\t\tc.sort();\n\t\t\tlet u = [...Object.keys(r), ...Object.keys(s)];\n\t\t\tthis.ordered && u.sort();\n\t\t\tfor (let e of u) {\n\t\t\t\tlet t = r[e] || s[e];\n\t\t\t\t!(t in this.prefixRev) && c.some((e) => e.startsWith(t)) && (this.prefixRev[t] = e, this.prefixes[e] = t);\n\t\t\t}\n\t\t\tthis.writer = t;\n\t\t}\n\t\twrite() {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tthis.explicitBaseIRI && typeof this.baseIRIString == \"string\" && (this.writer.add(`@base <${(0, i.escapeIRI)(this.baseIRIString)}> .`), this.writer.newLine(1));\n\t\t\t\tlet e = Object.keys(this.prefixes);\n\t\t\t\tthis.ordered && e.sort();\n\t\t\t\tfor (let t of e) typeof t == \"string\" && (this.writer.add(`@prefix ${t}: <${this.prefixes[t]}> .`), this.writer.newLine(1));\n\t\t\t\tthis.writer.newLine(1), yield this.writeGraph(), this.writer.end();\n\t\t\t});\n\t\t}\n\t\twriteGraph() {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tlet e = this.store.getSubjects(null, null, this.currentGraph);\n\t\t\t\tthis.ordered && e.sort((e, t) => a(e, t));\n\t\t\t\tfor (let t of e) t.termType === \"NamedNode\" && (yield this.writeTurtleSubject(t));\n\t\t\t\tlet t = this.store.getSubjects(null, null, this.currentGraph).filter((e) => e.termType === \"BlankNode\");\n\t\t\t\tthis.ordered && t.sort((e, t) => a(e, t));\n\t\t\t\tfor (let e of t) e.termType === \"BlankNode\" && !this.explicitBnodes.has(e.value) && this.store.getQuads(e, null, null, this.currentGraph).length > 0 && this.store.getQuads(null, e, null, this.currentGraph).length === 0 && this.store.getQuads(null, null, e, this.currentGraph).length === 0 && (yield this.writeTurtleSubject(e, !0));\n\t\t\t\tlet n = this.store.getSubjects(null, null, this.currentGraph).filter((e) => e.termType === \"BlankNode\");\n\t\t\t\tthis.ordered && n.sort((e, t) => a(e, t));\n\t\t\t\tfor (let e of n) e.termType === \"BlankNode\" && !(this.store.getQuads(null, null, e, this.currentGraph).length !== 1 || !this.store.getQuads(null, null, e, this.currentGraph)[0].subject.equals(e)) && (this.explicitBnodes.add(e.value), yield this.writeTurtleSubject(e));\n\t\t\t\tlet r = this.store.getSubjects(null, null, this.currentGraph);\n\t\t\t\tthis.ordered && r.sort((e, t) => a(e, t));\n\t\t\t\tfor (let e of r) this.store.getQuads(e, null, null, this.currentGraph).length > 0 && (e.termType === \"BlankNode\" && this.explicitBnodes.add(e.value), yield this.writeTurtleSubject(e));\n\t\t\t});\n\t\t}\n\t\twriteNestedGraph(e) {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tif (this.isN3 && this.store.getQuads(null, null, null, e).length !== 0) {\n\t\t\t\t\tlet { currentGraph: t } = this;\n\t\t\t\t\treturn this.currentGraph = e, this.writer.add(\"{\"), this.writer.indent(), this.writer.newLine(1), yield this.writeGraph(), this.writer.deindent(), this.writer.newLine(1), this.writer.add(\"}\"), this.currentGraph = t, !0;\n\t\t\t\t}\n\t\t\t\treturn !1;\n\t\t\t});\n\t\t}\n\t\twriteTurtleSubject(e) {\n\t\t\treturn t(this, arguments, void 0, function* (e, t = !1) {\n\t\t\t\t(yield this.writeNestedGraph(e)) || this.isN3 && (yield this.writeList(e, !0)) || (t ? this.writer.add(\"[]\") : this.writer.add(yield this.termToString(e))), this.writer.add(\" \"), this.writer.indent(), yield this.writeTurtlePredicates(e), this.writer.deindent(), this.writer.add(\" .\"), this.writer.newLine(this.store.size === 0 ? 1 : 2);\n\t\t\t});\n\t\t}\n\t\ttermToString(e) {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tif (e.termType === \"NamedNode\") {\n\t\t\t\t\tif (this.isN3 && e.value === \"http://www.w3.org/2000/10/swap/log#implies\") return \"=>\";\n\t\t\t\t\tif (this.isN3 && this.isImpliedBy && e.value === \"http://www.w3.org/2000/10/swap/log#isImpliedBy\") return \"<=\";\n\t\t\t\t\tlet t = o(e.value);\n\t\t\t\t\tif (t && t in this.prefixRev && t in this.prefixRev) return `${this.prefixRev[t]}:${e.value.slice(t.length)}`;\n\t\t\t\t}\n\t\t\t\tif (e.termType === \"NamedNode\" && this.baseIRI !== null) return `<${(0, i.escapeIRI)(this.baseIRI.toRelative(e.value))}>`;\n\t\t\t\tif (e.termType === \"Literal\" && (e.datatypeString === \"http://www.w3.org/2001/XMLSchema#integer\" || e.datatypeString === \"http://www.w3.org/2001/XMLSchema#boolean\")) return e.value;\n\t\t\t\tif (e.termType === \"Quad\") {\n\t\t\t\t\tif (!e.graph.equals(n.DataFactory.defaultGraph())) throw Error(\"Default graph expected on nested quads\");\n\t\t\t\t\treturn `<<${yield this.termToString(e.subject)} ${e.predicate.termType === \"NamedNode\" && e.predicate.value === \"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\" ? \"a\" : yield this.termToString(e.predicate)} ${yield this.termToString(e.object)}>>`;\n\t\t\t\t}\n\t\t\t\treturn e.termType === \"Literal\" && !l.includes(e.datatype.value) ? `\"${(0, i.escapeStringRDF)(e.value)}\"^^${yield this.termToString(e.datatype)}` : (0, r.termToString)(e);\n\t\t\t});\n\t\t}\n\t\twriteTurtlePredicates(e) {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tlet t = this.store.getPredicates(e, null, this.currentGraph);\n\t\t\t\treturn this.ordered && t.sort((e, t) => a(e, t)), this.writeGivenTurtlePredicates(e, t);\n\t\t\t});\n\t\t}\n\t\twriteGivenTurtlePredicates(e, r) {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tlet t = !1;\n\t\t\t\tif (r.some((e) => e.equals(n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\")))) {\n\t\t\t\t\tlet r = this.store.getObjectsOnce(e, n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"), this.currentGraph);\n\t\t\t\t\tthis.ordered && r.sort((e, t) => a(e, t)), r.length > 0 && (t = !0, this.writer.add(\"a \"), yield this.writeTurtleObjects(r));\n\t\t\t\t}\n\t\t\t\tfor (let i of r) if (!i.equals(n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#type\"))) {\n\t\t\t\t\tt ? (this.writer.add(\" ;\"), this.writer.newLine(1)) : t = !0, this.writer.add(yield this.termToString(i)), this.writer.add(\" \");\n\t\t\t\t\tlet n = this.store.getObjectsOnce(e, i, this.currentGraph);\n\t\t\t\t\tthis.ordered && n.sort((e, t) => a(e, t)), yield this.writeTurtleObjects(n, e, i);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\twriteTurtleObjects(e, r, i) {\n\t\t\treturn t(this, void 0, void 0, function* () {\n\t\t\t\tlet t = [], o = [];\n\t\t\t\tfor (let n of e) n.termType === \"BlankNode\" && [...this.store.match(null, null, n, this.currentGraph), ...this.store.match(null, n, null, this.currentGraph)].length === 0 && !this.explicitBnodes.has(n.value) ? t.push(n) : (n.termType === \"BlankNode\" && this.explicitBnodes.add(n.value), o.push(n));\n\t\t\t\tthis.ordered && (t.sort((e, t) => a(e, t)), o.sort((e, t) => a(e, t)));\n\t\t\t\tlet s = !1, c = !1;\n\t\t\t\tthis.writer.indent();\n\t\t\t\tfor (let e of o) {\n\t\t\t\t\tif (s && (this.writer.add(\", \"), c && this.writer.newLine(1)), this.writer.add(yield this.termToString(e)), c = e.termType === \"Quad\", r && i) {\n\t\t\t\t\t\tlet t = n.DataFactory.quad(r, i, e);\n\t\t\t\t\t\tthis.store.getQuads(t, null, null, this.currentGraph).length > 0 && (this.writer.add(\" {| \"), yield this.writeTurtlePredicates(t), this.writer.add(\" |}\"));\n\t\t\t\t\t}\n\t\t\t\t\ts = !0;\n\t\t\t\t}\n\t\t\t\tif (this.writer.deindent(), t.length > 0) {\n\t\t\t\t\tfor (let e of t) if (s ? this.writer.add(\", \") : s = !0, (yield this.writeNestedGraph(e)) || (yield this.writeList(e)) || (this.writer.add(\"[\"), this.store.getQuads(e, null, null, this.currentGraph).length > 0 && (this.writer.indent(), this.writer.newLine(1), yield this.writeTurtlePredicates(e), this.writer.deindent(), this.writer.newLine(1)), this.writer.add(\"]\")), r && i) {\n\t\t\t\t\t\tlet t = n.DataFactory.quad(r, i, e);\n\t\t\t\t\t\tthis.store.getQuads(t, null, null, this.currentGraph).length > 0 && (this.writer.add(\" {| \"), yield this.writeTurtlePredicates(t), this.writer.add(\" |}\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\twriteList(e) {\n\t\t\treturn t(this, arguments, void 0, function* (e, t = !1) {\n\t\t\t\tlet r = e, i = [], a = [];\n\t\t\t\tfor (; !r.equals(n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#nil\"));) {\n\t\t\t\t\tlet e = this.store.getQuadsOnce(r, n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#first\"), null, this.currentGraph), o = this.store.getQuadsOnce(r, n.DataFactory.namedNode(\"http://www.w3.org/1999/02/22-rdf-syntax-ns#rest\"), null, this.currentGraph);\n\t\t\t\t\tif (a.push(...e, ...o), e.length !== 1 || o.length !== 1 || this.store.getQuads(r, null, null, this.currentGraph).length !== 0 && !t) return this.store.addQuads(a), !1;\n\t\t\t\t\ti.push(e[0].object), r = o[0].object, t = !1;\n\t\t\t\t}\n\t\t\t\tlet o = !1;\n\t\t\t\tthis.writer.add(\"(\");\n\t\t\t\tfor (let e of i) o ? this.writer.add(\" \") : o = !0, yield this.writeTurtleObjects([e]);\n\t\t\t\treturn this.writer.add(\")\"), !0;\n\t\t\t});\n\t\t}\n\t};\n})), On = /* @__PURE__ */ a(((e) => {\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.default = class {\n\t\tconstructor(e) {\n\t\t\tthis.indents = 0, this.compact = !1, this.write = e.write, this.end = e.end, this.compact = e.compact || !1;\n\t\t}\n\t\tindent() {\n\t\t\treturn this.indents += 1, this;\n\t\t}\n\t\tdeindent() {\n\t\t\treturn --this.indents, this;\n\t\t}\n\t\tadd(e) {\n\t\t\treturn this.write(e, \"utf-8\"), this;\n\t\t}\n\t\tnewLine(e) {\n\t\t\treturn this.compact || this.write(\"\\n\".repeat(e) + \" \".repeat(this.indents), \"utf-8\"), this;\n\t\t}\n\t};\n})), kn = (/* @__PURE__ */ a(((e) => {\n\tvar t = e && e.__awaiter || function(e, t, n, r) {\n\t\tfunction i(e) {\n\t\t\treturn e instanceof n ? e : new n(function(t) {\n\t\t\t\tt(e);\n\t\t\t});\n\t\t}\n\t\treturn new (n ||= Promise)(function(n, a) {\n\t\t\tfunction o(e) {\n\t\t\t\ttry {\n\t\t\t\t\tc(r.next(e));\n\t\t\t\t} catch (e) {\n\t\t\t\t\ta(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction s(e) {\n\t\t\t\ttry {\n\t\t\t\t\tc(r.throw(e));\n\t\t\t\t} catch (e) {\n\t\t\t\t\ta(e);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfunction c(e) {\n\t\t\t\te.done ? n(e.value) : i(e.value).then(o, s);\n\t\t\t}\n\t\t\tc((r = r.apply(e, t || [])).next());\n\t\t});\n\t}, n = e && e.__importDefault || function(e) {\n\t\treturn e && e.__esModule ? e : { default: e };\n\t};\n\tObject.defineProperty(e, \"__esModule\", { value: !0 }), e.write = o;\n\tvar r = n(hn()), i = Dn(), a = n(On());\n\tfunction o(e, n) {\n\t\treturn t(this, void 0, void 0, function* () {\n\t\t\treturn new Promise((o, s) => t(this, void 0, void 0, function* () {\n\t\t\t\ttry {\n\t\t\t\t\tlet t = \"\", s = new r.default(e), c = new a.default({\n\t\t\t\t\t\twrite: (e) => {\n\t\t\t\t\t\t\tt += e;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tend: () => {\n\t\t\t\t\t\t\to(t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcompact: n?.compact\n\t\t\t\t\t});\n\t\t\t\t\tyield new i.TTLWriter(s, c, n?.prefixes, n).write();\n\t\t\t\t} catch (e) {\n\t\t\t\t\ts(e);\n\t\t\t\t}\n\t\t\t}));\n\t\t});\n\t}\n})))();\nfunction An(e = void 0) {\n\treturn globalThis.rdfModule.blankNode(e);\n}\nfunction jn(e) {\n\treturn !!e.termType && e.termType === \"BlankNode\";\n}\nfunction Mn(e) {\n\treturn !!e.termType && e.termType === \"Literal\";\n}\nfunction Nn(e) {\n\treturn Fn(e) ? (e.uri = e.value, e.id = () => {\n\t\tlet t = e.value.split(\"#\");\n\t\treturn t.length < 2 && (t = e.value.split(\"/\")), t.length > 1 ? t.at(-1) : \"\";\n\t}, e) : e;\n}\nfunction Pn(e) {\n\treturn Nn(globalThis.rdfModule.namedNode(e));\n}\nfunction Fn(e) {\n\treturn !!e.termType && e.termType === \"NamedNode\";\n}\nfunction In(e) {\n\treturn {\n\t\tgraph: Nn(e.graph),\n\t\tobject: Nn(e.object),\n\t\tpredicate: Nn(e.predicate),\n\t\tsubject: Nn(e.subject),\n\t\ttermType: e.termType,\n\t\tvalue: e.value\n\t};\n}\nvar Ln = \"text/turtle\", Rn = class {\n\t#e;\n\tconstructor() {\n\t\tthis.#e = new globalThis.rdfModule.Store();\n\t}\n\tget size() {\n\t\tlet e = 0;\n\t\treturn this.query(\"\\n SELECT (COUNT(*) AS ?count)\\n WHERE { ?s ?p ?o }\\n \").forEach((t) => {\n\t\t\te = Number(t.get(\"count\")?.value || 0);\n\t\t}), e;\n\t}\n\tstatements(e = null) {\n\t\treturn this.statementsMatching(null, null, null, e);\n\t}\n\tadd(e, t, n, r = null) {\n\t\tlet i = globalThis.rdfModule.quad(e, t, n, r || globalThis.rdfModule.defaultGraph());\n\t\treturn this.#e.add(i), In(i);\n\t}\n\taddStatements(e, t = null) {\n\t\tfor (let n of e) this.add(n.subject, n.predicate, n.object, t);\n\t}\n\tcontains(e = null, t = null, n = null, r = null) {\n\t\treturn this.#e.match(e, t, n, r || globalThis.rdfModule.defaultGraph()).length > 0;\n\t}\n\tload(e = null, t, n = Ln, r = null) {\n\t\ttry {\n\t\t\tthis.#e.load(t, {\n\t\t\t\tformat: n,\n\t\t\t\tbase_iri: e || void 0,\n\t\t\t\tto_graph_name: r || globalThis.rdfModule.defaultGraph()\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthrow Error(`Error parsing RDF: ${e.message}`);\n\t\t}\n\t}\n\tremoveStatements(e) {\n\t\te.forEach((e) => {\n\t\t\tthis.#e.delete(e);\n\t\t});\n\t}\n\tremoveStatementsMatching(e = null, t = null, n = null, r = null) {\n\t\tthis.#e.match(e, t, n, r || globalThis.rdfModule.defaultGraph()).forEach((e) => {\n\t\t\tthis.#e.delete(e);\n\t\t});\n\t}\n\tasync serialise(e, t = Ln, n = {}, r = null) {\n\t\tif (t === \"text/turtle\") {\n\t\t\tlet t = this.#e.match(null, null, null, r || globalThis.rdfModule.defaultGraph());\n\t\t\treturn (await (0, kn.write)(t, {\n\t\t\t\tformat: \"text/turtle\",\n\t\t\t\tprefixes: Object.assign({ \"\": `${e}#` }, n),\n\t\t\t\tbaseIri: e,\n\t\t\t\texplicitBaseIRI: !0,\n\t\t\t\tcompact: !1,\n\t\t\t\tordered: !0\n\t\t\t})).replaceAll(e, \"\");\n\t\t}\n\t\treturn this.#e.dump({\n\t\t\tformat: t,\n\t\t\tfrom_graph_name: r || globalThis.rdfModule.defaultGraph()\n\t\t});\n\t}\n\tquery(e, t = !1) {\n\t\ttry {\n\t\t\tlet n = this.#e.query(e, { use_default_graph_as_union: t });\n\t\t\tfor (let e of n) for (let t of e.values()) Nn(t);\n\t\t\treturn n;\n\t\t} catch (t) {\n\t\t\tconsole.log(`Error parsing SPARQL query: ${t.message} ${e}`);\n\t\t\tlet n = !0;\n\t\t\tfor (let e of t.stack.split(\"\\n\")) n ? n = e.indexOf(\"RdfStore.query\") < 0 : console.log(e);\n\t\t}\n\t\treturn [];\n\t}\n\tstatementsMatching(e = null, t = null, n = null, r = null) {\n\t\treturn this.#e.match(e, t, n, r || globalThis.rdfModule.defaultGraph()).map((e) => In(e));\n\t}\n\tsubjectsOfType(e) {\n\t\treturn this.query(`PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\nPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>\n\nSELECT DISTINCT ?s ?t WHERE {\n ?s rdf:type/rdfs:subClassOf* <${e.uri}> .\n ?s rdf:type ?t .\n } ORDER BY ?s`, !0).map((e) => [e.get(\"s\"), e.get(\"t\")]);\n\t}\n\tupdate(e) {\n\t\ttry {\n\t\t\tthis.#e.update(e);\n\t\t} catch (t) {\n\t\t\tconsole.log(`Error parsing SPARQL update: ${t.message} ${e}`);\n\t\t\tlet n = !0;\n\t\t\tfor (let e of t.stack.split(\"\\n\")) n ? n = e.indexOf(\"RdfStore.update\") < 0 : console.log(e);\n\t\t}\n\t}\n}, zn = class {\n\t#e;\n\t#t;\n\tconstructor(e, t) {\n\t\tthis.#t = e, this.#e = t;\n\t}\n\tget prefix() {\n\t\treturn this.#t;\n\t}\n\tget nsUri() {\n\t\treturn this.#e;\n\t}\n\turi(e) {\n\t\treturn Pn(this.#e + (e || \"\"));\n\t}\n}, Bn = class e extends Map {\n\tstatic #e = null;\n\tconstructor() {\n\t\tif (e.#e) throw Error(\"Use `NamespaceMap.instance` instead of `new`\");\n\t\tsuper(), e.#e = this;\n\t}\n\tstatic get instance() {\n\t\treturn e.#e ||= new e(), e.#e;\n\t}\n\tget namespaces() {\n\t\treturn Object.fromEntries(this.entries());\n\t}\n\tadd(e) {\n\t\tthis.set(e.prefix, e.nsUri);\n\t}\n\tcurieSuffix(e, t) {\n\t\tlet n = Fn(t) ? t.uri : t, r = this.expandCurie(n), i = e.uri(\"\").uri;\n\t\treturn r.startsWith(i) ? r.slice(i.length) : n;\n\t}\n\texpandCurie(e) {\n\t\tlet t = e.split(\":\");\n\t\treturn t.length > 1 && this.has(t[0]) ? `${namespaceMapping.get(t[0])}${t.slice(1).join(\":\")}` : e;\n\t}\n\tgetCurie(e) {\n\t\tlet t = Fn(e) ? e.uri : e;\n\t\tfor (let [e, n] of this.entries()) if (t.startsWith(n)) return `${e}:${t.slice(n.length)}`;\n\t\treturn t;\n\t}\n\tupdate(e) {\n\t\tfor (let t of e) this.set(t.prefix, t.nsUri);\n\t}\n}.instance, Vn = \"http://purl.org/dc/terms/\", Hn = \"http://www.w3.org/2002/07/owl#\", Un = \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\", Wn = \"http://www.w3.org/2000/01/rdf-schema#\", Gn = \"http://www.w3.org/2001/XMLSchema#\", Kn = new zn(\"dcterms\", Vn), qn = new zn(\"owl\", Hn), Jn = new zn(\"rdf\", Un), Yn = [\n\tKn,\n\tqn,\n\tJn,\n\tnew zn(\"rdfs\", Wn),\n\tnew zn(\"xsd\", Gn)\n];\nBn.update(Yn);\n//#endregion\n//#region src/index.ts\nfunction Xn(e) {\n\treturn (Fn(e) ? e.value : e).split(\"#\").at(-1);\n}\nvar Zn = class e extends Map {\n\t#e = /* @__PURE__ */ new Set();\n\tstatic fromProperties(t) {\n\t\treturn t.reduce((e, t) => (e.setProperty(t[0], t[1]), e), new e());\n\t}\n\tget rdfTypes() {\n\t\treturn this.#e;\n\t}\n\tcopy() {\n\t\tlet t = new e();\n\t\tfor (let [e, n] of this.entries()) t.set(e, this.#t(n));\n\t\treturn t.#e = new Set(this.#e.values()), t;\n\t}\n\t#t(t) {\n\t\treturn Mn(t) || Fn(t) ? t : t instanceof e ? t.copy() : Array.isArray(t) ? t.map((e) => this.#t(e)) : new Set([...t.values()].map((e) => this.#t(e)));\n\t}\n\tgetProperty(e) {\n\t\treturn this.get(e.value) || null;\n\t}\n\tgetPropertyAsArray(t) {\n\t\tlet n = this.getProperty(t);\n\t\treturn n ? Mn(n) || Fn(n) || n instanceof e ? [n] : Array.isArray(n) ? n : [...n.values()] : [];\n\t}\n\tisA(e) {\n\t\treturn this.#e.has(e.uri);\n\t}\n\t*predicateValues() {\n\t\tfor (let [e, t] of super.entries()) yield [Pn(e), t];\n\t}\n\tsetProperty(e, t, n = !1) {\n\t\te.equals(Jn.uri(\"type\")) && Fn(t) && this.#e.add(t.uri);\n\t\tlet r = e.uri;\n\t\tif (n && this.has(r)) {\n\t\t\tlet e = this.get(r);\n\t\t\tif (e instanceof Set) {\n\t\t\t\tlet n = !1;\n\t\t\t\tif (Mn(t) || Fn(t)) {\n\t\t\t\t\tfor (let r of e) if (t.equals(r)) {\n\t\t\t\t\t\tn = !0;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tn || e.add(t);\n\t\t\t} else e ? (!(Mn(e) || Fn(e)) || !e.equals(t)) && this.set(r, /* @__PURE__ */ new Set([e, t])) : this.set(r, /* @__PURE__ */ new Set([t]));\n\t\t} else this.set(r, t);\n\t}\n}, Qn = \"http://celldl.org/ontologies/celldl#\", $n = \"https://bg-rdf.org/ontologies/bondgraph#\", er = \"https://bg-rdf.org/ontologies/bondgraph-framework#\", tr = \"https://w3id.org/cdt/\", nr = \"https://bg-rdf.org/templates/\", rr = new zn(\"celldl\", Qn), ir = new zn(\"bg\", $n), ar = new zn(\"bgf\", er), or = new zn(\"cdt\", tr), sr = new zn(\"tpl\", nr), cr = [\n\trr,\n\tir,\n\tar,\n\tor,\n\tsr\n];\nBn.update(cr);\nvar lr = [...Bn.entries()].map((e) => `PREFIX ${e[0]}: <${e[1]}>`).join(\"\\n\"), ur = class extends Rn {\n\t#e = /* @__PURE__ */ new Map();\n\tconstructor(e = \"\") {\n\t\tsuper();\n\t}\n\t#t() {\n\t\tthis.#e.clear();\n\t}\n\taddMetadataPropertiesForSubject(e, t) {\n\t\tthis.#t();\n\t\tlet n = [];\n\t\tfor (let [r, i] of t.predicateValues()) n.push(...this.#n(e, r, i));\n\t\treturn n;\n\t}\n\t#n(e, t, n) {\n\t\tlet r = [];\n\t\tif (Mn(n) || Fn(n)) r.push(super.add(e, t, n));\n\t\telse if (n instanceof Zn) {\n\t\t\tlet i = An();\n\t\t\tr.push(super.add(e, t, i, null)), r.push(...this.addMetadataPropertiesForSubject(i, n));\n\t\t} else if (Array.isArray(n) && n.length > 0) {\n\t\t\tlet i = An();\n\t\t\tr.push(super.add(e, t, i, null)), this.#o(i, n);\n\t\t} else if (n instanceof Set) for (let i of n.values()) r.push(...this.#n(e, t, i));\n\t\treturn r;\n\t}\n\taddStatementList(e) {\n\t\te.forEach((e) => {\n\t\t\tthis.#e.delete(e.subject), super.add(e.subject, e.predicate, e.object, null);\n\t\t});\n\t}\n\t#r(e) {\n\t\tlet t = new Zn();\n\t\tfor (let n of e) {\n\t\t\tlet e = this.#i(n.object);\n\t\t\te && t.setProperty(n.predicate, e, !0);\n\t\t}\n\t\treturn t;\n\t}\n\tmetadataPropertiesForSubject(e) {\n\t\tlet t = super.statementsMatching(e, null, null, null);\n\t\treturn this.#r(t);\n\t}\n\tstatementsForSubject(e) {\n\t\tif (this.#e.has(e)) return this.#e.get(e);\n\t\tlet t = super.statementsMatching(e, null, null, null), n = [];\n\t\tfor (let e of t) jn(e.object) && n.push(...this.statementsForSubject(e.object));\n\t\tlet r = [...t, ...n];\n\t\treturn this.#e.set(e, r), r;\n\t}\n\tremoveStatements(e) {\n\t\te.forEach((e) => {\n\t\t\tthis.#e.delete(e.subject);\n\t\t}), super.removeStatements(e);\n\t}\n\tremoveStatementsForSubject(e) {\n\t\tthis.removeStatements(this.statementsForSubject(e));\n\t}\n\tupdate(e) {\n\t\tthis.#t(), super.update(e);\n\t}\n\tasync serialise(e, t = Ln, n = {}, r = null) {\n\t\treturn await super.serialise(e, t, Object.assign(Bn.namespaces, n), r);\n\t}\n\t#i(e) {\n\t\treturn Mn(e) || Fn(e) ? e : jn(e) ? super.contains(e, Jn.uri(\"rest\"), null) ? this.#a(e) : this.metadataPropertiesForSubject(e) : null;\n\t}\n\t#a(e) {\n\t\tlet t = [], n = [e.value], r = e;\n\t\tfor (; r && !r.equals(Jn.uri(\"nil\"));) {\n\t\t\tlet e = super.statementsMatching(r, Jn.uri(\"first\"), null, null);\n\t\t\tif (e.length !== 1 || e[0] === void 0) break;\n\t\t\tlet i = this.#i(e[0].object);\n\t\t\tif (!i) break;\n\t\t\tt.push(i);\n\t\t\tlet a = super.statementsMatching(r, Jn.uri(\"rest\"), null, null);\n\t\t\tif (a.length !== 1 || a[0] === void 0 || (r = a[0].object, n.includes(r.value))) break;\n\t\t\tn.push(r.value);\n\t\t}\n\t\treturn t;\n\t}\n\t#o(e, t) {\n\t\tlet n = [], r = e;\n\t\treturn t.forEach((e, i) => {\n\t\t\tif (n.push(...this.#n(r, Jn.uri(\"first\"), e)), i < t.length - 1) {\n\t\t\t\tlet e = An();\n\t\t\t\tn.push(super.add(r, Jn.uri(\"rest\"), e, null)), r = e;\n\t\t\t}\n\t\t}), n.push(super.add(r, Jn.uri(\"rest\"), Jn.uri(\"nil\"), null)), n;\n\t}\n};\n//#endregion\nexport { ir as BG, ar as BGF, er as BGF_URI, $n as BG_URI, or as CDT, tr as CDT_URI, rr as CELLDL, Qn as CELLDL_URI, Zn as MetadataPropertiesMap, ur as MetadataStore, lr as SPARQL_PREFIXES, sr as TPL, nr as TPL_URI, cr as celldlNamespaces, Xn as fragment };\n\n//# sourceMappingURL=metadata.es.js.map","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { Pair } from './common/types'\n\n//==============================================================================\n\nexport function sleep(ms: number) {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\n//==============================================================================\n\nexport function round(length: number, decimalPlaces: number = 3): number {\n const tenPower = 10 ** decimalPlaces\n return Math.round(tenPower * length) / tenPower\n}\n\nexport function roundEqual(l1: number, l2: number, decimalPlaces: number = 3): boolean {\n const tenPower = 10 ** decimalPlaces\n return Math.round(tenPower * l1) / tenPower === Math.round(tenPower * l2) / tenPower\n}\n\n//==============================================================================\n\nexport function* range(startOrStop: number, stop: number | null = null, step: number | null = null) {\n if (stop === null) {\n stop = startOrStop\n startOrStop = 0\n }\n if (step === null) {\n step = 1\n }\n for (let x = startOrStop; x < stop; x += step) {\n yield x\n }\n}\n\n//==============================================================================\n\n// From https://stackoverflow.com/a/65064026\n\nexport function pairwise<T>(a: T[]): Pair<T>[] {\n return a.flatMap((x: T) => {\n return a.flatMap((y: T): Pair<T>[] => {\n return x !== y ? [[x, y]] : []\n })\n })\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport { Point, type PointLike } from '../common/points'\nimport type { Transform } from '../geometry/transforms'\nimport { round } from '../utils'\n\n//==============================================================================\n\n/**\n * [left, top, width, height]\n */\nexport type Extent = [number, number, number, number]\n\n//==============================================================================\n\nexport class Bounds {\n #left: number\n #right: number\n #top: number\n #bottom: number\n\n constructor(left: number, top: number, right: number, bottom: number) {\n // Ensure bounds are in ``normal`` order\n ;[this.#left, this.#right] = left <= right ? [left, right] : [right, left]\n ;[this.#top, this.#bottom] = top <= bottom ? [top, bottom] : [bottom, top]\n }\n\n get left() {\n return this.#left\n }\n\n get right() {\n return this.#right\n }\n\n get top() {\n return this.#top\n }\n\n get bottom() {\n return this.#bottom\n }\n\n static fromPoints(pt0: PointLike, pt1: PointLike): Bounds {\n return new Bounds(pt0.x, pt0.y, pt1.x, pt1.y)\n }\n\n static fromSvg(svgElement: SVGGraphicsElement, globalTransform: Transform | null = null): Bounds {\n const bbox = svgElement.getBBox()\n let topLeft = new Point(bbox.x, bbox.y)\n let bottomRight = new Point(bbox.x + bbox.width, bbox.y + bbox.height)\n if (globalTransform) {\n topLeft = globalTransform.transformPoint(topLeft)\n bottomRight = globalTransform.transformPoint(bottomRight)\n }\n const bounds = new Bounds(topLeft.x, topLeft.y, bottomRight.x, bottomRight.y)\n return bounds\n }\n\n get height(): number {\n return this.#bottom - this.#top\n }\n\n get topLeft(): Point {\n return new Point(this.#left, this.#top)\n }\n\n get width(): number {\n return this.#right - this.#left\n }\n\n asArray(): [number, number, number, number] {\n return [this.#left, this.#top, this.#right, this.#bottom]\n }\n\n asPoints(): [Point, Point] {\n return [new Point(this.#left, this.#top), new Point(this.#right, this.#bottom)]\n }\n\n equal(bounds: Bounds, epsilon = 0.0001): boolean {\n // Assume bounds are normalised\n return (\n Math.abs(this.#left - bounds.#left) < epsilon &&\n Math.abs(this.#top - bounds.#top) < epsilon &&\n Math.abs(this.#right - bounds.#right) < epsilon &&\n Math.abs(this.#bottom - bounds.#bottom) < epsilon\n )\n }\n\n expand(margin: number): Bounds {\n return new Bounds(this.#left - margin, this.#top - margin, this.#right + margin, this.#bottom + margin)\n }\n\n inContainer(container: Bounds): boolean {\n return (\n this.#left >= container.#left &&\n this.#top <= container.#top &&\n this.#top >= container.#top &&\n this.#bottom <= container.#bottom\n )\n }\n}\n\n//==============================================================================\n\ninterface NumericRange {\n minimum: number\n maximum: number\n}\n\n//==============================================================================\n\nclass IdGenerator {\n static #instance: IdGenerator | null = null\n #nextId: number = 0\n\n private constructor() {\n if (IdGenerator.#instance) {\n throw new Error('Use `IdGenerator.instance` instead of `new`')\n }\n IdGenerator.#instance = this\n }\n\n static get instance() {\n if (!IdGenerator.#instance) {\n IdGenerator.#instance = new IdGenerator()\n }\n return IdGenerator.#instance\n }\n\n get nextId() {\n this.#nextId += 1\n return this.#nextId\n }\n}\n\nconst idGenerator = IdGenerator.instance\n\nfunction nextId(prefix: string = ''): string {\n return `${prefix}:${idGenerator.nextId}`\n}\n\n//==============================================================================\n\nexport class RestrictedValue implements NumericRange {\n #dirty: boolean = false\n #value: number = 0\n #minimum: number | RestrictedValue = -Infinity\n #maximum: number | RestrictedValue = Infinity\n readonly id: string\n\n constructor(\n value: number = 0,\n rangeStart: number | RestrictedValue = -Infinity,\n rangeEnd: number | RestrictedValue = Infinity\n ) {\n this.#value = value\n if (this.#getValue(rangeStart) <= this.#getValue(rangeEnd)) {\n this.#minimum = rangeStart\n this.#maximum = rangeEnd\n } else {\n this.#minimum = rangeEnd\n this.#maximum = rangeStart\n }\n this.id = nextId('V')\n }\n\n clean() {\n this.#dirty = false\n }\n get dirty() {\n return this.#dirty\n }\n\n get fixed() {\n return this.minimum === this.maximum\n }\n\n get minimum() {\n return this.#getValue(this.#minimum)\n }\n\n get maximum() {\n return this.#getValue(this.#maximum)\n }\n\n get value() {\n return this.#value\n }\n set value(value: number) {\n if (this.#value !== value) {\n if (value < this.minimum) {\n value = this.minimum\n } else if (value > this.maximum) {\n value = this.maximum\n }\n if (this.#value !== value) {\n this.#value = value\n this.#dirty = true\n }\n }\n }\n\n #getValue(value: number | RestrictedValue): number {\n return typeof value === 'number' ? value : value.value\n }\n\n copy(): RestrictedValue {\n return new RestrictedValue(this.#value, this.#minimum, this.#maximum)\n }\n\n adjustValue(delta: number) {\n this.#minimum = this.minimum + delta\n this.#maximum = this.maximum + delta\n this.#value += delta\n }\n\n narrowRange(minimum: number | RestrictedValue, maximum: number | RestrictedValue) {\n let minValue = minimum\n let maxValue = maximum\n if (this.#getValue(minValue) > this.#getValue(maxValue)) {\n minValue = maximum\n maxValue = minimum\n }\n if (this.#getValue(minValue) > this.minimum) {\n this.#minimum = minValue\n }\n if (this.#getValue(maxValue) < this.maximum) {\n this.#maximum = maxValue\n }\n }\n\n reassignMaximum(maximum: number | RestrictedValue) {\n this.#maximum = maximum\n }\n\n reassignMinimum(minimum: number | RestrictedValue) {\n this.#minimum = minimum\n }\n\n reassignValue(value: number) {\n this.#value = value\n }\n\n toString() {\n return `${this.id}: [${round(this.minimum)}, ${round(this.#value)}, ${round(this.maximum)}]`\n }\n}\n\n//==============================================================================\n\nexport class FixedValue extends RestrictedValue {\n constructor(value: number) {\n super(value, value, value)\n }\n\n get fixed() {\n return true\n }\n\n copy(): FixedValue {\n return new FixedValue(this.value)\n }\n\n narrowRange(_minimum: number, _maximum: number) {}\n\n reassignValue(value: number) {\n super.reassignValue(value)\n super.reassignMinimum(value)\n super.reassignMaximum(value)\n }\n}\n\n//==============================================================================\n\nexport class ComputedValue extends RestrictedValue {\n #value: () => number\n\n constructor(\n value: () => number,\n minimum: number | RestrictedValue = -Infinity,\n maximum: number | RestrictedValue = Infinity\n ) {\n super(value(), minimum, maximum)\n this.#value = value\n }\n\n get dirty() {\n return true // Always recompute\n }\n\n get value() {\n super.value = this.#value()\n return super.value\n }\n set value(_: number) {}\n}\n\n//==============================================================================\n\nexport class RestrictedPoint {\n #xValue: RestrictedValue\n #yValue: RestrictedValue\n\n constructor(xValue: RestrictedValue, yValue: RestrictedValue) {\n this.#xValue = xValue\n this.#yValue = yValue\n }\n\n static fromPoint(point: PointLike): RestrictedPoint {\n return new RestrictedPoint(new RestrictedValue(point.x), new RestrictedValue(point.y))\n }\n\n get dirty() {\n return this.#xValue.dirty || this.#yValue.dirty\n }\n\n get fixed() {\n return this.#xValue.fixed && this.#yValue.fixed\n }\n\n get point(): Point {\n return new Point(this.#xValue.value, this.#yValue.value)\n }\n set point(point: PointLike) {\n this.#xValue.value = point.x\n this.#yValue.value = point.y\n }\n\n get x() {\n return this.#xValue.value\n }\n get y() {\n return this.#yValue.value\n }\n\n get xValue() {\n return this.#xValue\n }\n set xValue(value: RestrictedValue) {\n this.#xValue = value\n }\n\n get yValue() {\n return this.#yValue\n }\n set yValue(value: RestrictedValue) {\n this.#yValue = value\n }\n\n clean() {\n this.#xValue.clean()\n this.#yValue.clean()\n }\n\n adjustValue(delta: PointLike) {\n this.xValue.adjustValue(delta.x)\n this.yValue.adjustValue(delta.y)\n }\n\n copy(): RestrictedPoint {\n return new RestrictedPoint(this.#xValue, this.#yValue)\n }\n\n reassignValue(point: PointLike) {\n this.xValue.reassignValue(point.x)\n this.yValue.reassignValue(point.y)\n }\n\n toString(): string {\n return `RP: (${round(this.x)}, ${round(this.y)})`\n }\n}\n\n//==============================================================================\n\nexport class FixedPoint extends RestrictedPoint {\n constructor(xValue: FixedValue, yValue: FixedValue) {\n super(xValue, yValue)\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport { Point, PointMath } from '../common/points'\nimport { svgRect } from '../common/svgUtils'\nimport type { StringProperties } from '../common/types'\nimport { FixedPoint, FixedValue } from '../geometry'\n\nimport { RestrictedPoint } from '.'\n\n//==============================================================================\n\nexport class ControlRect {\n #topLeft!: RestrictedPoint\n #bottomRight!: RestrictedPoint\n #size!: Point\n #centroid!: RestrictedPoint\n #centroidOffset!: Point\n #svgElement: SVGRectElement | null = null\n\n constructor(corner_0: RestrictedPoint, corner_1: RestrictedPoint, centroidOffset: Point | null = null) {\n this.setCornerPositions(corner_0, corner_1)\n this.setCentroidOffset(centroidOffset || new Point(0.5, 0.5))\n }\n\n get centroid() {\n return this.#centroid\n }\n\n get dirty() {\n return this.#topLeft.dirty || this.#bottomRight.dirty\n }\n\n get fixed() {\n return this.#topLeft.fixed && this.#bottomRight.fixed\n }\n\n get svgElement() {\n return this.#svgElement\n }\n\n get topLeftPoint() {\n return this.#topLeft.point\n }\n\n clean() {\n this.#topLeft.clean()\n this.#bottomRight.clean()\n }\n\n copy(): ControlRect {\n return new ControlRect(this.#topLeft, this.#bottomRight, this.#centroidOffset)\n }\n\n setCornerPositions(corner_0: RestrictedPoint, corner_1: RestrictedPoint) {\n let x0 = corner_0.xValue,\n y0 = corner_0.yValue\n let x1 = corner_1.xValue,\n y1 = corner_1.yValue\n if (x0.value > x1.value) {\n x0 = corner_1.xValue\n x1 = corner_0.xValue\n }\n if (y0.value > y1.value) {\n y0 = corner_1.yValue\n y1 = corner_0.yValue\n }\n this.#topLeft = new RestrictedPoint(x0, y0)\n this.#bottomRight = new RestrictedPoint(x1, y1)\n this.#size = PointMath.subtract(this.#bottomRight.point, this.#topLeft.point)\n }\n\n setCentroidOffset(centroidOffset: Point) {\n this.#centroidOffset = centroidOffset\n this.#centroid = RestrictedPoint.fromPoint(this.#size.scale(this.#centroidOffset).add(this.#topLeft.point))\n }\n\n svg(attributes: StringProperties = {}) {\n return svgRect(this.#topLeft.point, this.#bottomRight.point, attributes)\n }\n}\n\n//==============================================================================\n\nexport class FixedControlRect extends ControlRect {\n constructor(bounds: [number, number, number, number]) {\n super(\n new FixedPoint(new FixedValue(bounds[0]), new FixedValue(bounds[1])),\n new FixedPoint(new FixedValue(bounds[2]), new FixedValue(bounds[3]))\n )\n }\n}\n\n//==============================================================================\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport { EM_SIZE } from '../geometry/units'\n\n//==============================================================================\n\nexport const CONNECTION_ARROW_SIZE = [4, 4] // [W, H] pixels\nexport const CONNECTION_SPLAY_PADDING = 16 // If <= 1.0 then fraction of elements width and height else pixels\nexport const MAX_CONNECTION_SPLAY_PADDING = 20 // pixels\n\nexport const CONNECTION_COLOUR = '#456'\nexport const OLD_CONNECTION_COLOUR = \"#334155\" // For auto update of `stroke` in <path> elements\n\nexport const CONNECTION_WIDTH = 2 // pixels\nexport const CONNECTION_DASH = 2 // * width\n\nexport const INTERFACE_PORT_RADIUS = 4 // pixels\nexport const SELECTION_STROKE_WIDTH = 3 // pixels\n\n//==============================================================================\n\nexport const CELLDL_BACKGROUND_CLASS = 'celldl-background'\n\n//==============================================================================\n\nexport function arrowMarkerDefinition(markerId: string, markerType: string): string {\n // see https://developer.mozilla.org/en-US/docs/Web/SVG/Element/marker\n const W = 1\n return `<marker id=\"${markerId}\" viewBox=\"0 0 ${5.5 * W} ${5 * W}\" class=\"${markerType}\"\n refX=\"${5 * W}\" refY=\"${2.5 * W}\" orient=\"auto-start-reverse\" markerUnits=\"strokeWidth\"\n markerWidth=\"${CONNECTION_ARROW_SIZE[0]}\" markerHeight=\"${CONNECTION_ARROW_SIZE[1]}\">\n <path fill=\"context-stroke\" stroke=\"context-stroke\" d=\"M0,0 L${5.05 * W},${2.2 * W} L${5.05 * W},${2.8 * W} L0,${5 * W} L${W},${2.5 * W} z\" />\n </marker>`\n}\n\n//==============================================================================\n\nexport type GradientStop = {\n offset: string\n colour: string\n}\n\nexport function gradientDefinition(type: string, gradientId: string, stops: GradientStop[]): string {\n return `<${type}Gradient id=\"${gradientId}\">${stops\n .map((def) => `<stop offset=\"${def.offset}\" stop-color=\"${def.colour}\" />`)\n .join('\\n ')}</${type}Gradient>`\n}\n\n//==============================================================================\n\nexport const CellDLStylesheet = [\n `svg{font-size:${EM_SIZE}px}`,\n /* Conduits */\n '.celldl-Conduit{z-index:9999}',\n /* Connections */\n `.celldl-Connection{stroke-linejoin:round;fill:none}`,\n /* Compartments */\n '.celldl-Compartment>rect.compartment{fill:#CCC;opacity:0.6;stroke:#444;rx:10px;ry:10px}',\n /* Interfaces */\n `.celldl-InterfacePort{fill:red;r:${INTERFACE_PORT_RADIUS}px}`,\n `.celldl-Unconnected{fill:red;fill-opacity:0.1;stroke:red;r:${INTERFACE_PORT_RADIUS}px}`\n].join('')\n\n//==============================================================================\n","/**\n * Calculate a point transformed with an affine matrix\n * @param matrix {Matrix} Affine Matrix\n * @param point {Point} Point\n * @returns {Point} Point\n */\nexport function applyToPoint (matrix, point) {\n return Array.isArray(point)\n ? [\n matrix.a * point[0] + matrix.c * point[1] + matrix.e,\n matrix.b * point[0] + matrix.d * point[1] + matrix.f\n ]\n : {\n x: matrix.a * point.x + matrix.c * point.y + matrix.e,\n y: matrix.b * point.x + matrix.d * point.y + matrix.f\n }\n}\n\n/**\n * Calculate an array of points transformed with an affine matrix\n * @param matrix {Matrix} Affine Matrix\n * @param points {Point[]} Array of point\n * @returns {Point[]} Array of point\n */\nexport function applyToPoints (matrix, points) {\n return points.map(point => applyToPoint(matrix, point))\n}\n","/**\n * @ignore\n * @type {RegExp}\n */\nconst matrixRegex = /^matrix\\(\\s*([0-9_+-.e]+)\\s*,\\s*([0-9_+-.e]+)\\s*,\\s*([0-9_+-.e]+)\\s*,\\s*([0-9_+-.e]+)\\s*,\\s*([0-9_+-.e]+)\\s*,\\s*([0-9_+-.e]+)\\s*\\)$/i\n\n/**\n * Parse a string formatted as matrix(a,b,c,d,e,f)\n * @param string {string} String with an affine matrix\n * @returns {Matrix} Affine Matrix\n *\n * @example\n * > fromString('matrix(1,2,3,4,5,6)')\n * {a: 1, b: 2, c: 3, d: 4, c: 5, e: 6}\n */\nexport function fromString (string) {\n const parseFloatOrThrow = number => {\n const n = parseFloat(number)\n if (Number.isFinite(n)) return n // excludes NaN, +Infinite, -Infinite\n throw new Error(`'${string}' is not a matrix`)\n }\n\n const prefix = string.substring(0, 7).toLowerCase()\n const suffix = string.substring(string.length - 1)\n const body = string.substring(7, string.length - 1)\n const elements = body.split(',')\n\n if (\n prefix === 'matrix(' &&\n suffix === ')' &&\n elements.length === 6\n ) {\n return {\n a: parseFloatOrThrow(elements[0]),\n b: parseFloatOrThrow(elements[1]),\n c: parseFloatOrThrow(elements[2]),\n d: parseFloatOrThrow(elements[3]),\n e: parseFloatOrThrow(elements[4]),\n f: parseFloatOrThrow(elements[5])\n }\n }\n\n throw new Error(`'${string}' is not a matrix`)\n}\n\n/**\n * Parse a string formatted as matrix(a,b,c,d,e,f) - Legacy implementation of `fromString(matrix)`;\n * Read this PR for details {@link https://github.com/chrvadala/transformation-matrix/pull/107}\n * @param string {string} String with an affine matrix\n * @deprecated\n * @returns {Matrix} Affine Matrix\n *\n * @example\n * > fromStringLegacy('matrix(1,2,3,4,5,6)')\n * {a: 1, b: 2, c: 3, d: 4, c: 5, e: 6}\n */\nexport function fromStringLegacy (string) {\n const parsed = string.match(matrixRegex)\n if (parsed === null || parsed.length < 7) throw new Error(`'${string}' is not a matrix`)\n return {\n a: parseFloat(parsed[1]),\n b: parseFloat(parsed[2]),\n c: parseFloat(parsed[3]),\n d: parseFloat(parsed[4]),\n e: parseFloat(parsed[5]),\n f: parseFloat(parsed[6])\n }\n}\n","/**\n * Identity matrix\n * @returns {Matrix} Affine Matrix\n */\nexport function identity () {\n return {\n a: 1,\n c: 0,\n e: 0,\n b: 0,\n d: 1,\n f: 0\n }\n}\n","/**\n * Calculate a matrix that is the inverse of the provided matrix\n * @param matrix {Matrix} Affine Matrix\n * @returns {Matrix} Inverted Affine Matrix\n */\nexport function inverse (matrix) {\n // http://www.wolframalpha.com/input/?i=Inverse+%5B%7B%7Ba,c,e%7D,%7Bb,d,f%7D,%7B0,0,1%7D%7D%5D\n\n const { a, b, c, d, e, f } = matrix\n\n const denom = a * d - b * c\n\n return {\n a: d / denom,\n b: b / -denom,\n c: c / -denom,\n d: a / denom,\n e: (d * e - c * f) / -denom,\n f: (b * e - a * f) / denom\n }\n}\n","/**\n * Calculate a translate matrix\n * @param tx {number} Translation on axis x\n * @param [ty = 0] {number} Translation on axis y\n * @returns {Matrix} Affine Matrix\n */\nexport function translate (tx, ty = 0) {\n return {\n a: 1,\n c: 0,\n e: tx,\n b: 0,\n d: 1,\n f: ty\n }\n}\n","/**\n * Merge multiple matrices into one\n * @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array\n * @returns {Matrix} Affine Matrix\n */\nexport function transform (...matrices) {\n matrices = Array.isArray(matrices[0]) ? matrices[0] : matrices\n\n const multiply = (m1, m2) => {\n return {\n a: m1.a * m2.a + m1.c * m2.b,\n c: m1.a * m2.c + m1.c * m2.d,\n e: m1.a * m2.e + m1.c * m2.f + m1.e,\n b: m1.b * m2.a + m1.d * m2.b,\n d: m1.b * m2.c + m1.d * m2.d,\n f: m1.b * m2.e + m1.d * m2.f + m1.f\n }\n }\n\n switch (matrices.length) {\n case 0:\n throw new Error('no matrices provided')\n\n case 1:\n return matrices[0]\n\n case 2:\n return multiply(matrices[0], matrices[1])\n\n default: {\n const [m1, m2, ...rest] = matrices\n const m = multiply(m1, m2)\n return transform(m, ...rest)\n }\n }\n}\n\n/**\n * Merge multiple matrices into one\n * @param matrices {...Matrix | Matrix[]} Matrices listed as separate parameters or in an array\n * @returns {Matrix} Affine Matrix\n */\nexport function compose (...matrices) {\n return transform(...matrices)\n}\n","import { isUndefined } from './utils'\nimport { translate } from './translate'\nimport { transform } from './transform'\n\nconst { cos, sin, PI } = Math\n/**\n * Calculate a rotation matrix\n * @param angle {number} Angle in radians\n * @param [cx] {number} If (cx,cy) are supplied the rotate is about this point\n * @param [cy] {number} If (cx,cy) are supplied the rotate is about this point\n * @returns {Matrix} Affine Matrix\n */\nexport function rotate (angle, cx, cy) {\n const cosAngle = cos(angle)\n const sinAngle = sin(angle)\n const rotationMatrix = {\n a: cosAngle,\n c: -sinAngle,\n e: 0,\n b: sinAngle,\n d: cosAngle,\n f: 0\n }\n if (isUndefined(cx) || isUndefined(cy)) {\n return rotationMatrix\n }\n\n return transform([\n translate(cx, cy),\n rotationMatrix,\n translate(-cx, -cy)\n ])\n}\n\n/**\n * Calculate a rotation matrix with a DEG angle\n * @param angle {number} Angle in degree\n * @param [cx] {number} If (cx,cy) are supplied the rotate is about this point\n * @param [cy] {number} If (cx,cy) are supplied the rotate is about this point\n * @returns {Matrix} Affine Matrix\n */\nexport function rotateDEG (angle, cx = undefined, cy = undefined) {\n return rotate(angle * PI / 180, cx, cy)\n}\n","// https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew\nconst { tan } = Math\n\n/**\n * Calculate a skew matrix\n * @param ax {number} Skew on axis x\n * @param ay {number} Skew on axis y\n * @returns {Matrix} Affine Matrix\n */\nexport function skew (ax, ay) {\n return {\n a: 1,\n c: tan(ax),\n e: 0,\n b: tan(ay),\n d: 1,\n f: 0\n }\n}\n\n/**\n * Calculate a skew matrix using DEG angles\n * @param ax {number} Skew on axis x\n * @param ay {number} Skew on axis y\n * @returns {Matrix} Affine Matrix\n */\nexport function skewDEG (ax, ay) {\n return skew(ax * Math.PI / 180, ay * Math.PI / 180)\n}\n","/**\n * Serialize an affine matrix to a string that can be used with CSS or SVG\n * @param matrix {Matrix} Affine Matrix\n * @returns {string} String that contains an affine matrix formatted as matrix(a,b,c,d,e,f)\n */\nexport function toCSS (matrix) {\n return toString(matrix)\n}\n\n/**\n * Serialize an affine matrix to a string that can be used with CSS or SVG\n * @param matrix {Matrix} Affine Matrix\n * @returns {string} String that contains an affine matrix formatted as matrix(a,b,c,d,e,f)\n */\nexport function toSVG (matrix) {\n return toString(matrix)\n}\n\n/**\n * Serialize an affine matrix to a string that can be used with CSS or SVG\n * @param matrix {Matrix} Affine Matrix\n * @returns {string} String that contains an affine matrix formatted as matrix(a,b,c,d,e,f)\n */\nexport function toString (matrix) {\n return `matrix(${matrix.a},${matrix.b},${matrix.c},${matrix.d},${matrix.e},${matrix.f})`\n}\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport {\n applyToPoint,\n applyToPoints,\n compose,\n fromString,\n identity,\n inverse,\n type Matrix,\n toString as transformToString,\n translate\n} from 'transformation-matrix'\n\n//==============================================================================\n\nimport { Point, type PointLike } from '../common/points'\n\n//==============================================================================\n\nexport class Transform {\n #matrix: Matrix\n\n constructor(matrix: Matrix) {\n this.#matrix = matrix\n }\n\n static fromString(matrix: string): Transform {\n if (matrix === '' || matrix === 'none') {\n return new Transform(identity())\n } else {\n return new Transform(fromString(matrix))\n }\n }\n\n static Identity(): Transform {\n return new Transform(identity())\n }\n\n get isIdentity(): boolean {\n return transformToString(this.#matrix) === transformToString(identity())\n }\n\n inverse(): Transform {\n return new Transform(inverse(this.#matrix))\n }\n\n leftMultiply(transform: Transform): Transform {\n return new Transform(compose([transform.#matrix, this.#matrix]))\n }\n\n toString(): string {\n return transformToString(this.#matrix)\n }\n\n transformPoint(point: PointLike): Point {\n return Point.fromPoint(applyToPoint(this.#matrix, point))\n }\n\n transformPoints(points: PointLike[]): Point[] {\n return applyToPoints(this.#matrix, points).map((pt) => Point.fromPoint(pt))\n }\n\n static Translate(tx: number, ty: number): Transform {\n return new Transform(translate(tx, ty))\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\n\nimport { CELLDL_CLASS, type CellDLObject } from '../celldlObjects'\nimport { Point, type PointLike } from '../common/points'\nimport { CONNECTION_WIDTH, SELECTION_STROKE_WIDTH } from '../common/styling'\nimport { svgCircle } from '../common/svgUtils'\nimport { Bounds } from '../geometry'\nimport { FixedControlRect } from '../geometry/controls'\nimport { Transform } from '../geometry/transforms'\n\n\nconst CONDUIT_SELECTION_RADIUS = 9\n\n//==============================================================================\n\nexport class CellDLSVGElement {\n #bounds!: Bounds\n #centroid!: Point\n #centroidOffset: Point = new Point(0.5, 0.5)\n #cornerOffsets!: [Point, Point, Point, Point] // Wrt centroid, anticlockwise from bottom right\n #selected: boolean = false\n #selectionClasses: Set<string> = new Set()\n #selectionElement: SVGGraphicsElement\n #size: Point = new Point()\n #svgElement: SVGGraphicsElement\n #topLeft!: Point\n #globalTransform: Transform | null = null\n\n constructor(\n readonly celldlObject: CellDLObject,\n svgElement: SVGGraphicsElement | null\n ) {\n if (svgElement === null) {\n throw new Error(`CellDL object '${celldlObject.id}' isn't represented in SVG...`)\n }\n const svgDiagramElement = celldlObject.celldlModel?.svgDiagram\n // get all transformations that are being applied to the SVG element\n this.#globalTransform = Transform.Identity()\n let element = svgElement\n while (element !== svgDiagramElement) {\n const transform = getComputedStyle(element).transform\n if (transform !== 'none') {\n this.#globalTransform = this.#globalTransform.leftMultiply(Transform.fromString(transform))\n }\n element = element.parentNode as SVGGraphicsElement\n }\n if (this.#globalTransform.isIdentity) {\n this.#globalTransform = null\n }\n celldlObject.setCelldlSvgElement(this)\n this.#svgElement = svgElement\n this.#selectionElement = svgElement\n this.#updatedSvgElement()\n }\n\n get bounds(): Bounds {\n return this.#bounds\n }\n\n get centroid(): Point {\n return this.#centroid\n }\n\n get centroidOffset(): Point {\n return this.#centroidOffset\n }\n\n get corners(): [Point, Point] {\n return [this.#cornerOffsets[0], this.#cornerOffsets[2]]\n }\n\n get globalTransform() {\n return this.#globalTransform\n }\n\n get height(): number {\n return this.#size.y\n }\n\n get id(): string {\n return this.celldlObject.id\n }\n\n get selected() {\n return this.#selected\n }\n\n get size() {\n return this.#size\n }\n\n get svgElement() {\n return this.#svgElement\n }\n\n get topLeft() {\n return this.#topLeft\n }\n\n get width(): number {\n return this.#size.x\n }\n\n setCentroid(centroid: Point) {\n this.#centroid = centroid\n }\n\n svgBounds(recalculate: boolean = false): Bounds {\n // Get bounds in global coordinates\n return recalculate || this.#bounds === undefined\n ? Bounds.fromSvg(this.#svgElement, this.#globalTransform)\n : this.#bounds\n }\n\n #selectionElementMembers(): SVGGraphicsElement[] {\n const members: SVGGraphicsElement[] = []\n if (this.#selectionElement.tagName === 'g'\n && this.#selectionElement.classList.contains(CELLDL_CLASS.Connection)) {\n const children = this.#selectionElement.children\n for (let index = 0; index < children.length; ++index) {\n // biome-ignore lint/style/noNonNullAssertion: index is in range\n members.push(children[index]! as SVGGraphicsElement)\n }\n } else {\n members.push(this.#selectionElement)\n }\n return members\n }\n\n #setSelectionClass(cls: string, enable: boolean) {\n if (enable) {\n for (const element of this.#selectionElementMembers()) {\n element.classList.add(cls)\n }\n this.#selectionClasses.add(cls)\n } else {\n for (const element of this.#selectionElementMembers()) {\n element.classList.remove(cls)\n }\n this.#selectionClasses.delete(cls)\n }\n }\n\n activate(active = true) {\n this.#setSelectionClass('active', active)\n }\n\n highlight(highlight = true) {\n this.#setSelectionClass('highlight', highlight)\n }\n\n pointerEvent(_eventType: string, _svgElement: SVGGraphicsElement, _svgCoords: PointLike): boolean {\n return false\n }\n\n select(selected = true) {\n this.#setSelectionClass('selected', selected)\n this.#selected = selected\n }\n\n #updateBounds() {\n const bounds = this.svgBounds(true)\n this.#size = new Point(bounds.right - bounds.left, bounds.bottom - bounds.top)\n if (this.#centroid) {\n this.#topLeft = this.#centroid.subtract(this.#size.scale(this.#centroidOffset))\n // Get bounds in local coordinates\n this.#bounds = new Bounds(\n this.#topLeft.x,\n this.#topLeft.y,\n this.#topLeft.x + this.#size.x,\n this.#topLeft.y + this.#size.y\n )\n } else {\n this.#topLeft = new Point(bounds.left, bounds.top)\n this.#bounds = bounds\n this.#centroid = this.#size.scale(this.#centroidOffset).add(this.#topLeft)\n }\n const topLeftOffset = this.#size.scale(this.#centroidOffset).scalarScale(-1)\n // Corner offsets are wrt centroid, anticlockwise from bottom right; see comment below in ``boundaryIntersections()``\n const connectionComponentGap: number = CONNECTION_WIDTH / 2 - SELECTION_STROKE_WIDTH / 2\n if (connectionComponentGap !== 0) {\n this.#cornerOffsets = [\n topLeftOffset.add(this.#size).add({ x: connectionComponentGap, y: connectionComponentGap }),\n topLeftOffset\n .add({ x: this.#size.x, y: 0 })\n .add({ x: connectionComponentGap, y: -connectionComponentGap }),\n topLeftOffset.add({ x: -connectionComponentGap, y: -connectionComponentGap }),\n topLeftOffset\n .add({ x: 0, y: this.#size.y })\n .add({ x: -connectionComponentGap, y: connectionComponentGap })\n ]\n } else {\n this.#cornerOffsets = [\n topLeftOffset.add(this.#size),\n topLeftOffset.add({ x: this.#size.x, y: 0 }),\n topLeftOffset,\n topLeftOffset.add({ x: 0, y: this.#size.y })\n ]\n }\n }\n\n #updatedSvgElement() {\n // Find the relative offset to the element's centroid\n this.#centroidOffset = new Point(0.5, 0.5)\n if (this.#svgElement.tagName === 'g') {\n const firstChild = this.#svgElement.children.item(0) as SVGGraphicsElement\n if (firstChild.dataset.centreX) {\n this.#centroidOffset = new Point(+firstChild.dataset.centreX, +firstChild.dataset.centreY!)\n }\n }\n // And set the elements bounds relative to its centroid\n this.#updateBounds()\n // Add a dummy rectangle to a group so that it can be activated and selected\n if (\n this.#svgElement.tagName === 'g' &&\n !this.#svgElement.classList.contains(CELLDL_CLASS.Connection) &&\n this.#svgElement.firstElementChild !== null\n ) {\n const bounds = (\n this.#svgElement.classList.contains(CELLDL_CLASS.Compartment)\n ? Bounds.fromSvg(this.#svgElement.firstChild as SVGGraphicsElement)\n : Bounds.fromSvg(this.#svgElement)\n ).expand(SELECTION_STROKE_WIDTH / 2)\n // Set height, width and offset of an <svg> child...\n if (this.#svgElement.firstElementChild.tagName === 'svg') {\n const svgChild = this.#svgElement.firstElementChild\n svgChild.setAttribute('x', `${bounds.topLeft.x}px`)\n svgChild.setAttribute('y', `${bounds.topLeft.y}px`)\n svgChild.setAttribute('width', `${bounds.width}px`)\n svgChild.setAttribute('height', `${bounds.height}px`)\n }\n const selectionRect = new FixedControlRect(bounds.asArray()) // versus control rect in RectangularObject\n const svg = selectionRect.svg({\n class: `selection-element parent-id editor-specific ${[...this.#selectionClasses.values()].join(' ')}`\n })\n this.#svgElement.insertAdjacentHTML('beforeend', svg)\n this.#selectionElement = this.#svgElement.lastChild as SVGGraphicsElement\n // Indicate a component is a conduit with a circular mark at its centre\n if (this.celldlObject.isConduit) {\n const centre = new Point(bounds.right - bounds.left, bounds.bottom - bounds.top)\n .scale(this.#centroidOffset)\n .add(new Point(bounds.left, bounds.top))\n const svg = svgCircle(centre, CONDUIT_SELECTION_RADIUS, {\n class: 'selection-element parent-id editor-specific conduit'\n })\n this.#svgElement.insertAdjacentHTML('beforeend', svg)\n }\n }\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport type { CellDLObject } from '../celldlObjects'\nimport { RestrictedPoint } from '../geometry'\nimport { ControlRect } from '../geometry/controls'\n\nimport { CellDLSVGElement } from '.'\n\n//==============================================================================\n\nexport class BoundedElement extends CellDLSVGElement {\n #controlRect: ControlRect\n\n constructor(object: CellDLObject, svgElement: SVGGraphicsElement) {\n super(object, svgElement)\n // local transform on the element\n this.#controlRect = new ControlRect(\n RestrictedPoint.fromPoint(this.topLeft),\n RestrictedPoint.fromPoint(this.topLeft.add(this.size)),\n this.centroidOffset\n )\n this.setCentroid(this.#controlRect.centroid.point)\n }\n}\n\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport { CELLDL } from '@celldl/metadata'\nimport type { NamedNode } from '@celldl/rdf'\n\n//==============================================================================\n\nimport type { PropertiesType } from '../common/types'\nimport type { CellDLSVGElement } from '../SVGElements'\nimport { BoundedElement } from '../SVGElements/boundedelement'\nimport type { CellDLModel } from '../viewer/model'\n\n//==============================================================================\n\nexport enum CELLDL_CLASS {\n Annotation = 'celldl-Annotation',\n Component = 'celldl-Component',\n Connector = 'celldl-Connector',\n Connection = 'celldl-Connection',\n Conduit = 'celldl-Conduit',\n Compartment = 'celldl-Compartment',\n Interface = 'celldl-InterfacePort',\n Layer = 'celldl-Layer',\n UnconnectedPort = 'celldl-Unconnected',\n Unknown = ''\n}\n\n//==============================================================================\n\nexport class CellDLObject {\n static celldlClassName: CELLDL_CLASS = CELLDL_CLASS.Unknown\n static celldlType: string = 'Object'\n\n #celldlClassName: CELLDL_CLASS\n #celldlModel: CellDLModel\n #celldlSvgElement: CellDLSVGElement|undefined\n #celldlType: NamedNode\n\n #tooltip: string|undefined\n\n constructor(\n public readonly uri: NamedNode,\n readonly options: PropertiesType = {},\n celldlModel: CellDLModel\n ) {\n this.#celldlModel = celldlModel\n // @ts-expect-error: celldlClassName is a member of the object's constructor\n this.#celldlClassName = this.constructor.celldlClassName\n // @ts-expect-error: celldlType is a member of the object's constructor\n this.#celldlType = CELLDL.uri(this.constructor.celldlType)\n }\n\n toString(): string {\n return `${this.#celldlClassName} ${this.id}`\n }\n\n get celldlClassName() {\n return this.#celldlClassName\n }\n\n get celldlModel() {\n return this.#celldlModel\n }\n\n get celldlSvgElement() {\n return this.#celldlSvgElement\n }\n setCelldlSvgElement(celldlSvgElement: CellDLSVGElement) {\n this.#celldlSvgElement = celldlSvgElement\n }\n\n get hasEditGuides() {\n return false\n }\n\n get id(): string {\n return this.uri.id()\n }\n\n isA(rdfType: NamedNode) {\n return this.#celldlType.equals(rdfType) // || this.#metadataProperties.isA(rdfType)\n }\n\n get isAlignable() {\n return true\n }\n\n get isAnnotation() {\n return this.celldlClassName === CELLDL_CLASS.Annotation\n }\n\n get isComponent() {\n // Conduits are a component sub-class\n return this.celldlClassName === CELLDL_CLASS.Component || this.celldlClassName === CELLDL_CLASS.Conduit\n }\n\n get isConduit() {\n return this.celldlClassName === CELLDL_CLASS.Conduit\n }\n\n get isConnectable() {\n return false\n }\n\n get isConnection() {\n return this.celldlClassName === CELLDL_CLASS.Connection\n }\n\n get isCompartment() {\n return this.celldlClassName === CELLDL_CLASS.Compartment\n }\n\n get isInterface() {\n return this.celldlClassName === CELLDL_CLASS.Interface\n }\n\n get selected() {\n return this.#celldlSvgElement?.selected\n }\n\n get svgElement() {\n return this.#celldlSvgElement?.svgElement || null\n }\n\n get tooltip(): string|undefined {\n return this.#tooltip\n }\n set tooltip(tooltip: string) {\n this.#tooltip = tooltip\n }\n\n activate(active = true) {\n this.#celldlSvgElement?.activate(active)\n }\n\n highlight(highlight = true) {\n this.#celldlSvgElement?.highlight(highlight)\n }\n\n select(selected = true) {\n this.#celldlSvgElement?.select(selected)\n }\n\n assignSvgElement(_svgElement: SVGGraphicsElement) {\n }\n}\n\n//==============================================================================\n\nexport class CellDLMoveableObject extends CellDLObject {\n assignSvgElement(svgElement: SVGGraphicsElement) {\n new BoundedElement(this, svgElement)\n }\n}\n\n//==============================================================================\n\nexport class CellDLAnnotation extends CellDLMoveableObject {\n static celldlClassName = CELLDL_CLASS.Annotation\n static celldlType = 'Annotation'\n}\n\n//==============================================================================\n\nexport class CellDLConnectedObject extends CellDLMoveableObject {\n static celldlType = 'Connector'\n\n get isConnectable() {\n return true\n }\n}\n\n//==============================================================================\n\nexport class CellDLComponent extends CellDLConnectedObject {\n static celldlClassName = CELLDL_CLASS.Component\n static celldlType = 'Component'\n}\n\n//==============================================================================\n\nexport class CellDLConduit extends CellDLComponent {\n static readonly celldlClassName = CELLDL_CLASS.Conduit\n static celldlType = 'Conduit'\n}\n\n//==============================================================================\n\nexport class CellDLCompartment extends CellDLConnectedObject {\n static readonly celldlClassName = CELLDL_CLASS.Compartment\n static celldlType = 'Compartment'\n}\n\n//==============================================================================\n\nexport class CellDLConnection extends CellDLObject {\n static readonly celldlClassName = CELLDL_CLASS.Connection\n static celldlType = 'Connection'\n}\n\n//==============================================================================\n\nexport class CellDLInterface extends CellDLConnectedObject {\n static readonly celldlClassName = CELLDL_CLASS.Interface\n static celldlType = 'Interface'\n\n #externalConnections: CellDLConnection[] = []\n\n toString(): string {\n return `${super.toString()} External: ${this.#externalConnections.map((c) => c.id).join(', ')}`\n }\n}\n\n//==============================================================================\n\nexport class CellDLUnconnectedPort extends CellDLConnectedObject {\n static readonly celldlClassName = CELLDL_CLASS.UnconnectedPort\n static celldlType = 'UnconnectedPort'\n}\n\n//==============================================================================\n//==============================================================================\n","/******************************************************************************\n\nCellDL Model Viewer\n\nCopyright (c) 2022 - 2025 David Brooks\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n******************************************************************************/\n\nimport {\n CELLDL,\n MetadataStore\n} from '@celldl/metadata'\n\nimport * as $rdf from '@celldl/rdf'\n\n//==============================================================================\n\nimport {\n CellDLAnnotation,\n CellDLCompartment,\n CellDLComponent,\n CellDLConduit,\n type CellDLConnectedObject,\n CellDLConnection,\n CellDLInterface,\n type CellDLObject,\n CellDLUnconnectedPort\n} from '../celldlObjects'\n\nimport {\n CONNECTION_COLOUR,\n OLD_CONNECTION_COLOUR\n} from '../common/styling'\n\nimport type { Constructor } from '../common/types'\n\nimport { lengthToPixels } from '../geometry/units'\n\nimport type { CellDLViewer } from '.'\n\nimport type { Annotations, Annotation, SvgViewerOptions, ViewerEvent } from '../index'\n\n//==============================================================================\n//==============================================================================\n\nconst CELLDL_METADATA_ID = 'celldl-rdf-metadata'\n\nconst VIEWER_DIAGRAM_URI = 'file://tmp/viewing.celldl'\n\n//==============================================================================\n\nexport class CellDLModel {\n #svgDiagram: SVGSVGElement|null = null\n\n #kb = new MetadataStore()\n #celldlViewer: CellDLViewer\n\n #documentNode: $rdf.NamedNode\n #documentNS: $rdf.NamespacedUri\n\n #annotations: Map<string, Annotation> = new Map()\n #objects: Map<string, CellDLObject> = new Map()\n #tooltipField: string|undefined = undefined\n\n constructor(celldlViewer: CellDLViewer, celldlData: string='', annotations: Annotations={},\n options: SvgViewerOptions|undefined=undefined) {\n this.#celldlViewer = celldlViewer\n this.#documentNode = $rdf.namedNode(VIEWER_DIAGRAM_URI)\n this.#documentNS = new $rdf.NamespacedUri(':', `${VIEWER_DIAGRAM_URI}#`)\n this.#annotations = new Map(Object.entries(annotations))\n if (celldlData !== '') {\n this.#loadSvgDiagram(celldlData)\n this.#loadMetadata()\n this.#tooltipField = options?.tooltip\n }\n }\n\n finishSetup() {\n // Called when the loaded diagram has been drawn as SVG\n this.#loadComponents()\n this.#loadInterfaces()\n this.#loadConduits()\n this.#loadConnections()\n this.#loadAnnotations()\n this.#loadAnnotatedSVGFeatures()\n\n this.#setTooltips()\n }\n\n async viewModel() {\n if (this.#svgDiagram) {\n await this.#celldlViewer.viewDiagram(this)\n } else {\n this.#celldlViewer.closeDiagram()\n }\n }\n\n viewerEvent(type: string, object: CellDLObject|undefined=undefined) {\n const eventDetail: ViewerEvent = {\n type: type\n }\n if (object) {\n eventDetail.component = {\n id: object.id\n }\n if (this.#annotations.has(object.id)) {\n eventDetail.component.annotation = this.#annotations.get(object.id)\n }\n }\n document.dispatchEvent(\n new CustomEvent('viewer-event', {\n detail: eventDetail\n })\n )\n }\n\n get rdfStore() {\n return this.#kb\n }\n\n get svgDiagram() {\n return this.#svgDiagram\n }\n\n get uri(): string {\n return this.#documentNode.value\n }\n\n makeUri(id: string): $rdf.NamedNode {\n return this.#documentNS.uri(id)\n }\n\n objectById(id: string): CellDLObject | null {\n return this.#objects.get(id) || null\n }\n\n #loadSvgDiagram(svgData: string) {\n const parser = new DOMParser()\n const svgDocument = parser.parseFromString(svgData, 'image/svg+xml')\n const svgDiagram = <SVGSVGElement>svgDocument.firstElementChild\n if (svgDiagram.hasAttribute('width') && svgDiagram.hasAttribute('height')) {\n const width = lengthToPixels(<string>svgDiagram.getAttribute('width'))\n const height = lengthToPixels(<string>svgDiagram.getAttribute('height'))\n if (width !== null && height !== null) {\n svgDiagram.attributes.removeNamedItem('width')\n svgDiagram.attributes.removeNamedItem('height')\n if (!svgDiagram.hasAttribute('viewBox')) {\n svgDiagram.setAttribute('viewBox', `0 0 ${width} ${height}`)\n }\n }\n }\n // Tweak the colour of <path> elements in existing CellDL files so they show\n // better in dark mode.\n const strokedPaths = svgDiagram.querySelectorAll(`path[stroke=\"${OLD_CONNECTION_COLOUR}\"]`)\n for (let index = 0; index < strokedPaths.length; ++index) {\n // @ts-expect-error: `index` is in range\n const path: HTMLElement = strokedPaths[index]\n path.setAttribute('stroke', CONNECTION_COLOUR)\n }\n this.#svgDiagram = svgDiagram\n }\n\n #loadMetadata() {\n const metadataElement = this.#svgDiagram?.getElementById(CELLDL_METADATA_ID) as SVGMetadataElement\n if (\n metadataElement &&\n (!('contentType' in metadataElement.dataset) || metadataElement.dataset.contentType === $rdf.TurtleContentType)\n ) {\n const childNodes = metadataElement.childNodes\n for (let index = 0; index < childNodes.length; ++index) {\n // biome-ignore lint/style/noNonNullAssertion: index is in range\n const childNode = childNodes[index]!\n if (childNode.nodeName === '#cdata-section') {\n this.#kb.load(this.#documentNode.uri, (<CDATASection>childNode).data, $rdf.TurtleContentType)\n break\n }\n }\n } else {\n for (const [objectId, annotation] of this.#annotations.entries()) {\n if (this.#svgDiagram?.getElementById(objectId)) {\n const celldlType = ('type' in annotation)\n ? String(annotation.type)\n : 'Component'\n this.#kb.add($rdf.namedNode(`${this.#documentNode.uri}#${objectId}`),\n $rdf.RDF.uri('type'), CELLDL.uri(celldlType))\n }\n }\n }\n }\n\n #setObjectSvgElement(celldlObject: CellDLObject): boolean {\n const svgElement = <SVGGraphicsElement>this.#svgDiagram?.getElementById(celldlObject.id)\n if (svgElement) {\n celldlObject.assignSvgElement(svgElement)\n return true\n }\n console.error(`Missing SVG element for ${celldlObject.id}`)\n return false\n }\n\n #setTooltips() {\n for (const object of this.#objects.values()) {\n const annotation = this.#annotations.get(object.id)\n if (annotation && this.#tooltipField && this.#tooltipField in annotation) {\n object.tooltip = String(annotation[this.#tooltipField])\n }\n }\n }\n\n #celldlObjectFromRdf<T extends CellDLObject>(CellDLClass: Constructor<T>, subject: $rdf.SubjectType): T {\n const metadata = this.#kb.metadataPropertiesForSubject(subject)\n const celldlObject = new CellDLClass(subject, metadata, this)\n return celldlObject\n }\n\n #subjectsOfType(parentType: $rdf.NamedNode): [$rdf.SubjectType, $rdf.NamedNode][] {\n return this.#kb.subjectsOfType(parentType).filter((st) => st[0].value.startsWith(this.#documentNode.value))\n }\n\n #addMoveableObject(object: CellDLObject) {\n this.#objects.set(object.id, object)\n }\n\n #loadObject<T extends CellDLObject>(type: $rdf.NamedNode, CellDLClass: Constructor<T>) {\n for (const subjectType of this.#subjectsOfType(type)) {\n if (subjectType[1].equals(type)) {\n const object = this.#celldlObjectFromRdf(CellDLClass, subjectType[0])\n if (this.#setObjectSvgElement(object)) {\n this.#addMoveableObject(object)\n }\n }\n }\n }\n\n #loadAnnotations() {\n this.#loadObject(CELLDL.uri('Annotation'), CellDLAnnotation)\n }\n\n #loadComponents() {\n this.#loadObject(CELLDL.uri('Component'), CellDLComponent)\n this.#loadObject(CELLDL.uri('UnconnectedPort'), CellDLUnconnectedPort)\n }\n\n #loadInterfaces() {\n this.#loadObject(CELLDL.uri('Connector'), CellDLInterface)\n }\n\n #loadConduits() {\n this.#loadObject(CELLDL.uri('Conduit'), CellDLConduit)\n }\n\n #loadConnections() {\n this.#loadObject(CELLDL.uri('Connection'), CellDLConnection)\n }\n\n #loadAnnotatedSVGFeatures() {\n // @ts-expect-error: we have an SVG diagram\n const featuresWithId = this.#svgDiagram.querySelectorAll(`*[id]`)\n for (let index = 0; index < featuresWithId.length; ++index) {\n // @ts-expect-error: `index` is in range\n const feature: SVGGraphicsElement = featuresWithId[index]\n if (!this.#objects.has(feature.id)) {\n // This must match CELLDL_STYLE_CLASS and CELLDL_CLASS_MAP in the Editor's code.\n const CellDLClass = feature.classList.contains('celldl-Annotation') ? CellDLAnnotation\n : feature.classList.contains('celldl-Compartment') ? CellDLCompartment\n : feature.classList.contains('celldl-Component') ? CellDLComponent\n : feature.classList.contains('celldl-Connection') ? CellDLConnection\n : feature.classList.contains('celldl-InterfacePort') ? CellDLInterface\n : feature.classList.contains('celldl-Unconnected') ? CellDLUnconnectedPort\n : null\n if (CellDLClass !== null) {\n const object = new CellDLClass(this.makeUri(feature.id), {}, this)\n object.assignSvgElement(feature)\n this.#addMoveableObject(object)\n }\n }\n }\n }\n}\n\n//==============================================================================\n","<template>\n <div ref=\"svgContent\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport * as vueusecore from '@vueuse/core'\nimport * as vue from 'vue'\n\nimport vueTippy from 'vue-tippy'\nimport 'tippy.js/dist/tippy.css'\n\n//==============================================================================\n\nimport type { Annotation, Annotations, SvgViewerOptions, Theme } from '../index'\nimport { CellDLViewer } from '../viewer'\nimport { CellDLModel } from '../viewer/model'\n\n//==============================================================================\n\nexport interface SvgViewerProps {\n annotations?: Annotations\n svgData: string\n options?: SvgViewerOptions\n theme?: Theme\n}\n\nexport type ViewerEvent = {\n type: string\n component?: {\n id: string\n annotation?: Annotation\n }\n}\n\n//==============================================================================\n//==============================================================================\n\n// Get the current Vue app instance to use some PrimeVue plugins and VueTippy.\n\nconst crtInstance = vue.getCurrentInstance();\n\nif (crtInstance) {\n const app = crtInstance.appContext.app;\n\n app.use(vueTippy)\n}\n\n// @ts-expect-error: the instance's type has a `__scopeId`\nconst scopeId: string = crtInstance?.type.__scopeId || ''\n\n//==============================================================================\n//==============================================================================\n\nconst svgContent = vue.ref(null)\n\nlet celldlModel: CellDLModel|undefined\n\nconst celldlViewer: CellDLViewer = new CellDLViewer()\n\n//==============================================================================\n\nconst props = defineProps<SvgViewerProps>()\n\nconst emit = defineEmits<{\n 'error': [msg: string]\n 'event': [detail: ViewerEvent]\n}>()\n\n//==============================================================================\n\nconst showDiagram = async () => {\n if (props.svgData === '') {\n celldlModel = new CellDLModel(celldlViewer)\n await celldlModel.viewModel()\n } else {\n try {\n celldlModel = new CellDLModel(celldlViewer, props.svgData, props.annotations, props.options)\n await celldlModel.viewModel()\n } catch(err) {\n emit('error', `Invalid CellDL file... (${err})`)\n }\n }\n}\n\n//==============================================================================\n\nvue.watch(\n () => props.svgData,\n async () => {\n await showDiagram()\n }\n)\n\n//==============================================================================\n\nvue.onMounted(async () => {\n if (svgContent.value) {\n celldlViewer.mount(svgContent.value, scopeId)\n await showDiagram()\n }\n})\n\n//==============================================================================\n\nvueusecore.useEventListener(document, 'viewer-event', (event: CustomEvent) => {\n emit('event', event.detail)\n})\n\n//==============================================================================\n//==============================================================================\n</script>\n\n<style scoped>\n@import '../assets/svgContent.css'\n</style>\n","<template>\n <div ref=\"svgContent\"></div>\n</template>\n\n<script setup lang=\"ts\">\nimport * as vueusecore from '@vueuse/core'\nimport * as vue from 'vue'\n\nimport vueTippy from 'vue-tippy'\nimport 'tippy.js/dist/tippy.css'\n\n//==============================================================================\n\nimport type { Annotation, Annotations, SvgViewerOptions, Theme } from '../index'\nimport { CellDLViewer } from '../viewer'\nimport { CellDLModel } from '../viewer/model'\n\n//==============================================================================\n\nexport interface SvgViewerProps {\n annotations?: Annotations\n svgData: string\n options?: SvgViewerOptions\n theme?: Theme\n}\n\nexport type ViewerEvent = {\n type: string\n component?: {\n id: string\n annotation?: Annotation\n }\n}\n\n//==============================================================================\n//==============================================================================\n\n// Get the current Vue app instance to use some PrimeVue plugins and VueTippy.\n\nconst crtInstance = vue.getCurrentInstance();\n\nif (crtInstance) {\n const app = crtInstance.appContext.app;\n\n app.use(vueTippy)\n}\n\n// @ts-expect-error: the instance's type has a `__scopeId`\nconst scopeId: string = crtInstance?.type.__scopeId || ''\n\n//==============================================================================\n//==============================================================================\n\nconst svgContent = vue.ref(null)\n\nlet celldlModel: CellDLModel|undefined\n\nconst celldlViewer: CellDLViewer = new CellDLViewer()\n\n//==============================================================================\n\nconst props = defineProps<SvgViewerProps>()\n\nconst emit = defineEmits<{\n 'error': [msg: string]\n 'event': [detail: ViewerEvent]\n}>()\n\n//==============================================================================\n\nconst showDiagram = async () => {\n if (props.svgData === '') {\n celldlModel = new CellDLModel(celldlViewer)\n await celldlModel.viewModel()\n } else {\n try {\n celldlModel = new CellDLModel(celldlViewer, props.svgData, props.annotations, props.options)\n await celldlModel.viewModel()\n } catch(err) {\n emit('error', `Invalid CellDL file... (${err})`)\n }\n }\n}\n\n//==============================================================================\n\nvue.watch(\n () => props.svgData,\n async () => {\n await showDiagram()\n }\n)\n\n//==============================================================================\n\nvue.onMounted(async () => {\n if (svgContent.value) {\n celldlViewer.mount(svgContent.value, scopeId)\n await showDiagram()\n }\n})\n\n//==============================================================================\n\nvueusecore.useEventListener(document, 'viewer-event', (event: CustomEvent) => {\n emit('event', event.detail)\n})\n\n//==============================================================================\n//==============================================================================\n</script>\n\n<style scoped>\n@import '../assets/svgContent.css'\n</style>\n"],"x_google_ignoreList":[0,1,2,8,13,14,15,16,17,18,19,20,21],"mappings":";;;;AAsQA,IAAM,IAAW,OAAO,SAAW,OAAe,OAAO,WAAa;AACrD,OAAO,oBAAsB,OAAe,sBAAsB;AAMnF,IAAMA,IAAW,OAAO,UAAU,UAC5B,KAAY,MAAQA,EAAS,KAAK,CAAG,MAAM;AAgPjD,SAAS,EAAQ,GAAO;CACvB,OAAO,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,CAAK;AAC7C;AAu4CA,SAAS,EAAe,GAAQ,GAAI,GAAS;CAC5C,OAAO,EAAM,GAAQ,GAAI;EACxB,GAAG;EACH,WAAW;CACZ,CAAC;AACF;;;ACnuDA,IAAM,IAAgB,IAAW,SAAS,KAAK;AACvB,KAAW,OAAO,UACjB,KAAW,OAAO,WACnB,KAAW,OAAO;AAQ1C,SAASC,EAAa,GAAO;CAE5B,IAAM,IAAQ,EAAQ,CAAK;CAC3B,OAAe,GAAoD,OAA0C;AAC9G;AAGA,SAAS,EAAiB,GAAG,GAAM;CAClC,IAAM,KAAY,GAAI,GAAO,GAAU,OACtC,EAAG,iBAAiB,GAAO,GAAU,CAAO,SAC/B,EAAG,oBAAoB,GAAO,GAAU,CAAO,IAEvD,IAAoB,QAAe;EACxC,IAAM,IAAO,EAAQ,EAAQ,EAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,MAAM,KAAK,IAAI;EAC9D,OAAO,EAAK,OAAO,MAAM,OAAO,KAAM,QAAQ,IAAI,IAAO,KAAK;CAC/D,CAAC;CACD,OAAO,QAEC;EAC6C,EAAkB,OAAuF,KAAK,MAAMA,EAAa,CAAC,CAAC,KAA0E,CAAC,CAAa,CAAC,CAAC,QAAQ,MAAM,KAAK,IAAI;EACvS,EAAQ,EAAQ,EAAkB,QAAQ,EAAK,KAAK,EAAK,EAAE,CAAC;EAC5D,EAAQ,EAAM,EAAkB,QAAQ,EAAK,KAAK,EAAK,EAAE,CAAC;EAC1D,EAAQ,EAAkB,QAAQ,EAAK,KAAK,EAAK,EAAE;CACpD,IACG,CAAC,GAAa,GAAY,GAAe,IAAc,GAAG,MAAc;EAC3E,IAAI,CAAE,GAAsE,UAAW,CAAE,GAAmE,UAAW,CAAE,GAA4E,QAAS;EAC9P,IAAM,IAAe,EAAS,CAAW,IAAI,EAAE,GAAG,EAAY,IAAI,GAC5D,IAAW,EAAY,SAAS,MAAO,EAAW,SAAS,MAAU,EAAc,KAAK,MAAa,EAAS,GAAI,GAAO,GAAU,CAAY,CAAC,CAAC,CAAC;EACxJ,QAAgB;GACf,EAAS,SAAS,MAAO,EAAG,CAAC;EAC9B,CAAC;CACF,GAAG,EAAE,OAAO,OAAO,CAAC;AACrB;;;AC7MA,IAAI,IAAM,OACN,IAAS,UACT,IAAQ,SACR,IAAO,QACP,IAAO,QACP,IAAiB;CAAC;CAAK;CAAQ;CAAO;AAAI,GAC1C,IAAQ,SACR,IAAM,OACN,KAAkB,mBAClB,IAAW,YACX,IAAS,UACT,KAAY,aACZ,KAAmC,gBAAe,OAAO,SAAU,GAAK,GAAW;CACrF,OAAO,EAAI,OAAO,CAAC,IAAY,MAAM,GAAO,IAAY,MAAM,CAAG,CAAC;AACpE,GAAG,CAAC,CAAC,GACD,IAA0B,eAAC,CAAC,CAAC,OAAO,GAAgB,CAAC,CAAI,CAAC,CAAC,CAAC,OAAO,SAAU,GAAK,GAAW;CAC/F,OAAO,EAAI,OAAO;EAAC;EAAW,IAAY,MAAM;EAAO,IAAY,MAAM;CAAG,CAAC;AAC/E,GAAG,CAAC,CAAC,GAaD,KAAiB;CAAC;CAAY;CAAM;CAAW;CAAY;CAAM;CAAW;CAAa;CAAO;AAAU;AAE9G,SAAS,GAAY,GAAS;CAC5B,OAAO,KAAW,EAAQ,YAAY,GAAA,CAAI,YAAY,IAAI;AAC5D;AAEA,SAAS,EAAU,GAAM;CACvB,IAAI,KAAQ,MACV,OAAO;CAGT,IAAI,EAAK,SAAS,MAAM,mBAAmB;EACzC,IAAI,IAAgB,EAAK;EACzB,OAAO,KAAgB,EAAc,eAAwB;CAC/D;CAEA,OAAO;AACT;AAEA,SAAS,EAAU,GAAM;CAEvB,OAAO,aADU,EAAU,CAAI,CAAC,CAAC,WACI,aAAgB;AACvD;AAEA,SAAS,EAAc,GAAM;CAE3B,OAAO,aADU,EAAU,CAAI,CAAC,CAAC,eACI,aAAgB;AACvD;AAEA,SAAS,GAAa,GAAM;CAO1B,OALI,OAAO,aAAe,MACjB,KAIF,aADU,EAAU,CAAI,CAAC,CAAC,cACI,aAAgB;AACvD;AAIA,SAAS,GAAY,GAAM;CACzB,IAAI,IAAQ,EAAK;CACjB,OAAO,KAAK,EAAM,QAAQ,CAAC,CAAC,QAAQ,SAAU,GAAM;EAClD,IAAI,IAAQ,EAAM,OAAO,MAAS,CAAC,GAC/B,IAAa,EAAM,WAAW,MAAS,CAAC,GACxC,IAAU,EAAM,SAAS;EAEzB,CAAC,EAAc,CAAO,KAAK,CAAC,GAAY,CAAO,MAOnD,OAAO,OAAO,EAAQ,OAAO,CAAK,GAClC,OAAO,KAAK,CAAU,CAAC,CAAC,QAAQ,SAAU,GAAM;GAC9C,IAAI,IAAQ,EAAW;GAEvB,AAAI,MAAU,KACZ,EAAQ,gBAAgB,CAAI,IAE5B,EAAQ,aAAa,GAAM,MAAU,KAAO,KAAK,CAAK;EAE1D,CAAC;CACH,CAAC;AACH;AAEA,SAAS,GAAO,GAAO;CACrB,IAAI,IAAQ,EAAM,OACd,IAAgB;EAClB,QAAQ;GACN,UAAU,EAAM,QAAQ;GACxB,MAAM;GACN,KAAK;GACL,QAAQ;EACV;EACA,OAAO,EACL,UAAU,WACZ;EACA,WAAW,CAAC;CACd;CAQA,OAPA,OAAO,OAAO,EAAM,SAAS,OAAO,OAAO,EAAc,MAAM,GAC/D,EAAM,SAAS,GAEX,EAAM,SAAS,SACjB,OAAO,OAAO,EAAM,SAAS,MAAM,OAAO,EAAc,KAAK,GAGxD,WAAY;EACjB,OAAO,KAAK,EAAM,QAAQ,CAAC,CAAC,QAAQ,SAAU,GAAM;GAClD,IAAI,IAAU,EAAM,SAAS,IACzB,IAAa,EAAM,WAAW,MAAS,CAAC,GAGxC,IAFkB,OAAO,KAAK,EAAM,OAAO,eAAe,CAAI,IAAI,EAAM,OAAO,KAAQ,EAAc,EAE/E,CAAC,CAAC,OAAO,SAAU,GAAO,GAAU;IAE5D,OADA,EAAM,KAAY,IACX;GACT,GAAG,CAAC,CAAC;GAED,CAAC,EAAc,CAAO,KAAK,CAAC,GAAY,CAAO,MAInD,OAAO,OAAO,EAAQ,OAAO,CAAK,GAClC,OAAO,KAAK,CAAU,CAAC,CAAC,QAAQ,SAAU,GAAW;IACnD,EAAQ,gBAAgB,CAAS;GACnC,CAAC;EACH,CAAC;CACH;AACF;AAGA,IAAI,KAAgB;CAClB,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACI;CACR,UAAU,CAAC,eAAe;AAC5B;AAEA,SAAS,GAAiB,GAAW;CACnC,OAAO,EAAU,MAAM,GAAG,CAAC,CAAC;AAC9B;AAEA,IAAI,KAAM,KAAK,KACX,KAAM,KAAK,KACXC,IAAQ,KAAK;AAEjB,SAAS,GAAsB,GAAS,GAAc;CACpD,AAAI,MAAiB,KAAK,MACxB,IAAe;CAGjB,IAAI,IAAO,EAAQ,sBAAsB,GACrC,IAAS,GACT,IAAS;CAEb,IAAI,EAAc,CAAO,KAAK,GAAc;EAC1C,IAAI,IAAe,EAAQ,cACvB,IAAc,EAAQ;EAO1B,AAJI,IAAc,MAChB,IAASA,EAAM,EAAK,KAAK,IAAI,KAAe,IAG1C,IAAe,MACjB,IAASA,EAAM,EAAK,MAAM,IAAI,KAAgB;CAElD;CAEA,OAAO;EACL,OAAO,EAAK,QAAQ;EACpB,QAAQ,EAAK,SAAS;EACtB,KAAK,EAAK,MAAM;EAChB,OAAO,EAAK,QAAQ;EACpB,QAAQ,EAAK,SAAS;EACtB,MAAM,EAAK,OAAO;EAClB,GAAG,EAAK,OAAO;EACf,GAAG,EAAK,MAAM;CAChB;AACF;AAIA,SAAS,EAAc,GAAS;CAC9B,IAAI,IAAa,GAAsB,CAAO,GAG1C,IAAQ,EAAQ,aAChB,IAAS,EAAQ;CAUrB,OARI,KAAK,IAAI,EAAW,QAAQ,CAAK,KAAK,MACxC,IAAQ,EAAW,QAGjB,KAAK,IAAI,EAAW,SAAS,CAAM,KAAK,MAC1C,IAAS,EAAW,SAGf;EACL,GAAG,EAAQ;EACX,GAAG,EAAQ;EACJ;EACC;CACV;AACF;AAEA,SAAS,GAAS,GAAQ,GAAO;CAC/B,IAAI,IAAW,EAAM,eAAe,EAAM,YAAY;CAEtD,IAAI,EAAO,SAAS,CAAK,GACvB,OAAO;CAEJ,IAAI,KAAY,GAAa,CAAQ,GAAG;EACzC,IAAI,IAAO;EAEX,GAAG;GACD,IAAI,KAAQ,EAAO,WAAW,CAAI,GAChC,OAAO;GAIT,IAAO,EAAK,cAAc,EAAK;EACjC,SAAS;CACX;CAGF,OAAO;AACT;AAEA,SAASC,GAAiB,GAAS;CACjC,OAAO,EAAU,CAAO,CAAC,CAAC,iBAAiB,CAAO;AACpD;AAEA,SAAS,GAAe,GAAS;CAC/B,OAAO;EAAC;EAAS;EAAM;CAAI,CAAC,CAAC,QAAQ,GAAY,CAAO,CAAC,KAAK;AAChE;AAEA,SAAS,GAAmB,GAAS;CAEnC,SAAS,EAAU,CAAO,IAAI,EAAQ,gBACtC,EAAQ,aAAa,OAAO,SAAA,CAAU;AACxC;AAEA,SAAS,GAAc,GAAS;CAK9B,OAJI,GAAY,CAAO,MAAM,SACpB,IAMP,EAAQ,gBACR,EAAQ,eACR,GAAa,CAAO,IAAI,EAAQ,OAAO,SAEvC,GAAmB,CAAO;AAG9B;AAEA,SAAS,GAAoB,GAAS;CAMpC,OALI,CAAC,EAAc,CAAO,KAC1BA,GAAiB,CAAO,CAAC,CAAC,aAAa,UAC9B,OAGF,EAAQ;AACjB;AAIA,SAAS,GAAmB,GAAS;CACnC,IAAI,IAAY,UAAU,UAAU,YAAY,CAAC,CAAC,QAAQ,SAAS,MAAM;CAGzE,IAFW,UAAU,UAAU,QAAQ,SAAS,MAAM,MAE1C,EAAc,CAAO,KAEdA,GAAiB,CAErB,CAAC,CAAC,aAAa,SAC1B,OAAO;CAMX,KAFA,IAAI,IAAc,GAAc,CAAO,GAEhC,EAAc,CAAW,KAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,QAAQ,GAAY,CAAW,CAAC,IAAI,IAAG;EAC3F,IAAI,IAAMA,GAAiB,CAAW;EAItC,IAAI,EAAI,cAAc,UAAU,EAAI,gBAAgB,UAAU,EAAI,YAAY,WAAW,CAAC,aAAa,aAAa,CAAC,CAAC,QAAQ,EAAI,UAAU,MAAM,MAAM,KAAa,EAAI,eAAe,YAAY,KAAa,EAAI,UAAU,EAAI,WAAW,QAC5O,OAAO;EAEP,IAAc,EAAY;CAE9B;CAEA,OAAO;AACT;AAIA,SAAS,GAAgB,GAAS;CAIhC,KAHA,IAAI,IAAS,EAAU,CAAO,GAC1B,IAAe,GAAoB,CAAO,GAEvC,KAAgB,GAAe,CAAY,KAAKA,GAAiB,CAAY,CAAC,CAAC,aAAa,WACjG,IAAe,GAAoB,CAAY;CAOjD,OAJI,MAAiB,GAAY,CAAY,MAAM,UAAU,GAAY,CAAY,MAAM,UAAUA,GAAiB,CAAY,CAAC,CAAC,aAAa,YACxI,IAGF,KAAgB,GAAmB,CAAO,KAAK;AACxD;AAEA,SAAS,GAAyB,GAAW;CAC3C,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC,QAAQ,CAAS,KAAK,IAAI,MAAM;AAC3D;AAEA,SAAS,GAAO,GAAO,GAAO,GAAO;CACnC,OAAO,GAAI,GAAO,GAAI,GAAO,CAAK,CAAC;AACrC;AACA,SAAS,GAAe,GAAK,GAAO,GAAK;CACvC,IAAI,IAAI,GAAO,GAAK,GAAO,CAAG;CAC9B,OAAO,IAAI,IAAM,IAAM;AACzB;AAEA,SAAS,KAAqB;CAC5B,OAAO;EACL,KAAK;EACL,OAAO;EACP,QAAQ;EACR,MAAM;CACR;AACF;AAEA,SAAS,GAAmB,GAAe;CACzC,OAAO,OAAO,OAAO,CAAC,GAAG,GAAmB,GAAG,CAAa;AAC9D;AAEA,SAAS,GAAgB,GAAO,GAAM;CACpC,OAAO,EAAK,OAAO,SAAU,GAAS,GAAK;EAEzC,OADA,EAAQ,KAAO,GACR;CACT,GAAG,CAAC,CAAC;AACP;AAEA,IAAI,KAAkB,SAAyB,GAAS,GAAO;CAI7D,OAHA,IAAU,OAAO,KAAY,aAAa,EAAQ,OAAO,OAAO,CAAC,GAAG,EAAM,OAAO,EAC/E,WAAW,EAAM,UACnB,CAAC,CAAC,IAAI,GACC,GAAmB,OAAO,KAAY,WAAqB,GAAgB,GAAS,CAAc,IAAjD,CAAkD;AAC5G;AAEA,SAAS,GAAM,GAAM;CACnB,IAAI,GAEA,IAAQ,EAAK,OACb,IAAO,EAAK,MACZ,IAAU,EAAK,SACf,IAAe,EAAM,SAAS,OAC9B,IAAgB,EAAM,cAAc,eACpC,IAAgB,GAAiB,EAAM,SAAS,GAChD,IAAO,GAAyB,CAAa,GAE7C,IADa,CAAC,GAAM,CAAK,CAAC,CAAC,QAAQ,CAAa,KAAK,IAClC,WAAW;CAE9B,OAAC,KAAgB,CAAC,IAItB;MAAI,IAAgB,GAAgB,EAAQ,SAAS,CAAK,GACtD,IAAY,EAAc,CAAY,GACtC,IAAU,MAAS,MAAM,IAAM,GAC/B,IAAU,MAAS,MAAM,IAAS,GAClC,IAAU,EAAM,MAAM,UAAU,KAAO,EAAM,MAAM,UAAU,KAAQ,EAAc,KAAQ,EAAM,MAAM,OAAO,IAC9G,IAAY,EAAc,KAAQ,EAAM,MAAM,UAAU,IACxD,IAAoB,GAAgB,CAAY,GAChD,IAAa,IAAoB,MAAS,MAAM,EAAkB,gBAAgB,IAAI,EAAkB,eAAe,IAAI,GAC3H,IAAoB,IAAU,IAAI,IAAY,GAG9C,IAAM,EAAc,IACpB,IAAM,IAAa,EAAU,KAAO,EAAc,IAClD,IAAS,IAAa,IAAI,EAAU,KAAO,IAAI,GAC/C,IAAS,GAAO,GAAK,GAAQ,CAAG,GAEhC,IAAW;EACf,EAAM,cAAc,MAAS,IAAwB,CAAC,GAAG,EAAsB,KAAY,GAAQ,EAAsB,eAAe,IAAS,GAAQ;CAjB/F;AAkB5D;AAEA,SAAS,GAAS,GAAO;CACvB,IAAI,IAAQ,EAAM,OAEd,IADU,EAAM,QACW,SAC3B,IAAe,MAAqB,KAAK,IAAI,wBAAwB;CAErE,KAAgB,SAKhB,OAAO,KAAiB,aAC1B,IAAe,EAAM,SAAS,OAAO,cAAc,CAAY,GAE3D,CAAC,MAKF,GAAS,EAAM,SAAS,QAAQ,CAAY,MAKjD,EAAM,SAAS,QAAQ;AACzB;AAGA,IAAI,KAAU;CACZ,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACJ,QAAQ;CACR,UAAU,CAAC,eAAe;CAC1B,kBAAkB,CAAC,iBAAiB;AACtC;AAEA,SAAS,GAAa,GAAW;CAC/B,OAAO,EAAU,MAAM,GAAG,CAAC,CAAC;AAC9B;AAEA,IAAI,KAAa;CACf,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;AACR;AAIA,SAAS,GAAkB,GAAM;CAC/B,IAAI,IAAI,EAAK,GACT,IAAI,EAAK,GAET,IAAMC,OAAI,oBAAoB;CAClC,OAAO;EACL,GAAGF,EAAM,IAAI,CAAG,IAAI,KAAO;EAC3B,GAAGA,EAAM,IAAI,CAAG,IAAI,KAAO;CAC7B;AACF;AAEA,SAAS,GAAY,GAAO;CAC1B,IAAI,GAEA,IAAS,EAAM,QACf,IAAa,EAAM,YACnB,IAAY,EAAM,WAClB,IAAY,EAAM,WAClB,IAAU,EAAM,SAChB,IAAW,EAAM,UACjB,IAAkB,EAAM,iBACxB,IAAW,EAAM,UACjB,IAAe,EAAM,cACrB,IAAU,EAAM,SAEhB,IAAQ,MAAiB,KAAO,GAAkB,CAAO,IAAI,OAAO,KAAiB,aAAa,EAAa,CAAO,IAAI,GAC1H,IAAU,EAAM,GAChB,IAAI,MAAY,KAAK,IAAI,IAAI,GAC7B,IAAU,EAAM,GAChB,IAAI,MAAY,KAAK,IAAI,IAAI,GAE7B,IAAO,EAAQ,eAAe,GAAG,GACjC,IAAO,EAAQ,eAAe,GAAG,GACjC,IAAQ,GACR,IAAQ,GACR,IAAM;CAEV,IAAI,GAAU;EACZ,IAAI,IAAe,GAAgB,CAAM,GACrC,IAAa,gBACb,IAAY;EAchB,IAZI,MAAiB,EAAU,CAAM,MACnC,IAAe,GAAmB,CAAM,GAEpCC,GAAiB,CAAY,CAAC,CAAC,aAAa,YAAY,MAAa,eACvE,IAAa,gBACb,IAAY,iBAKhB,IAAe,GAEX,MAAc,MAAQ,MAAc,KAAQ,MAAc,MAAU,MAAc,GAAK;GACzF,IAAQ;GACR,IAAI,IAAU,KAAW,EAAI,iBAAiB,EAAI,eAAe,SACjE,EAAa;GAEb,AADA,KAAK,IAAU,EAAW,QAC1B,KAAK,IAAkB,IAAI;EAC7B;EAEA,IAAI,MAAc,MAAS,MAAc,KAAO,MAAc,MAAW,MAAc,GAAK;GAC1F,IAAQ;GACR,IAAI,IAAU,KAAW,EAAI,iBAAiB,EAAI,eAAe,QACjE,EAAa;GAEb,AADA,KAAK,IAAU,EAAW,OAC1B,KAAK,IAAkB,IAAI;EAC7B;CACF;CAEA,IAAI,IAAe,OAAO,OAAO,EACrB,YACZ,GAAG,KAAY,EAAU;CAEzB,IAAI,GAAiB;EACnB,IAAI;EAEJ,OAAO,OAAO,OAAO,CAAC,GAAG,IAAe,IAAiB,CAAC,GAAG,EAAe,KAAS,IAAO,MAAM,IAAI,EAAe,KAAS,IAAO,MAAM,IAAI,EAAe,aAAa,EAAI,oBAAoB,MAAM,IAAI,eAAe,IAAI,SAAS,IAAI,QAAQ,iBAAiB,IAAI,SAAS,IAAI,UAAU,EAAe;CAClT;CAEA,OAAO,OAAO,OAAO,CAAC,GAAG,IAAe,IAAkB,CAAC,GAAG,EAAgB,KAAS,IAAO,IAAI,OAAO,IAAI,EAAgB,KAAS,IAAO,IAAI,OAAO,IAAI,EAAgB,YAAY,IAAI,EAAgB;AAC9M;AAEA,SAAS,GAAc,GAAO;CAC5B,IAAI,IAAQ,EAAM,OACd,IAAU,EAAM,SAChB,IAAwB,EAAQ,iBAChC,IAAkB,MAA0B,KAAK,KAAW,GAC5D,IAAoB,EAAQ,UAC5B,IAAW,MAAsB,KAAK,KAAW,GACjD,IAAwB,EAAQ,cAChC,IAAe,MAA0B,KAAK,KAAW,GAEzD,IAAe;EACjB,WAAW,GAAiB,EAAM,SAAS;EAC3C,WAAW,GAAa,EAAM,SAAS;EACvC,QAAQ,EAAM,SAAS;EACvB,YAAY,EAAM,MAAM;EACP;EACjB,SAAS,EAAM,QAAQ,aAAa;CACtC;CAoBA,AAlBI,EAAM,cAAc,iBAAiB,SACvC,EAAM,OAAO,SAAS,OAAO,OAAO,CAAC,GAAG,EAAM,OAAO,QAAQ,GAAY,OAAO,OAAO,CAAC,GAAG,GAAc;EACvG,SAAS,EAAM,cAAc;EAC7B,UAAU,EAAM,QAAQ;EACd;EACI;CAChB,CAAC,CAAC,CAAC,IAGD,EAAM,cAAc,SAAS,SAC/B,EAAM,OAAO,QAAQ,OAAO,OAAO,CAAC,GAAG,EAAM,OAAO,OAAO,GAAY,OAAO,OAAO,CAAC,GAAG,GAAc;EACrG,SAAS,EAAM,cAAc;EAC7B,UAAU;EACV,UAAU;EACI;CAChB,CAAC,CAAC,CAAC,IAGL,EAAM,WAAW,SAAS,OAAO,OAAO,CAAC,GAAG,EAAM,WAAW,QAAQ,EACnE,yBAAyB,EAAM,UACjC,CAAC;AACH;AAGA,IAAI,KAAkB;CACpB,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACJ,MAAM,CAAC;AACT,GAEI,KAAU,EACZ,SAAS,GACX;AAEA,SAAS,GAAS,GAAM;CACtB,IAAI,IAAQ,EAAK,OACb,IAAW,EAAK,UAChB,IAAU,EAAK,SACf,IAAkB,EAAQ,QAC1B,IAAS,MAAoB,KAAK,KAAW,GAC7C,IAAkB,EAAQ,QAC1B,IAAS,MAAoB,KAAK,KAAW,GAC7C,IAAS,EAAU,EAAM,SAAS,MAAM,GACxC,IAAgB,CAAC,CAAC,CAAC,OAAO,EAAM,cAAc,WAAW,EAAM,cAAc,MAAM;CAYvF,OAVI,KACF,EAAc,QAAQ,SAAU,GAAc;EAC5C,EAAa,iBAAiB,UAAU,EAAS,QAAQ,EAAO;CAClE,CAAC,GAGC,KACF,EAAO,iBAAiB,UAAU,EAAS,QAAQ,EAAO,GAGrD,WAAY;EAOjB,AANI,KACF,EAAc,QAAQ,SAAU,GAAc;GAC5C,EAAa,oBAAoB,UAAU,EAAS,QAAQ,EAAO;EACrE,CAAC,GAGC,KACF,EAAO,oBAAoB,UAAU,EAAS,QAAQ,EAAO;CAEjE;AACF;AAGA,IAAI,KAAiB;CACnB,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI,WAAc,CAAC;CACnB,QAAQ;CACR,MAAM,CAAC;AACT,GAEI,KAAO;CACT,MAAM;CACN,OAAO;CACP,QAAQ;CACR,KAAK;AACP;AACA,SAAS,GAAqB,GAAW;CACvC,OAAO,EAAU,QAAQ,0BAA0B,SAAU,GAAS;EACpE,OAAO,GAAK;CACd,CAAC;AACH;AAEA,IAAI,KAAS;CACX,OAAO;CACP,KAAK;AACP;AACA,SAAS,GAA8B,GAAW;CAChD,OAAO,EAAU,QAAQ,cAAc,SAAU,GAAS;EACxD,OAAO,GAAO;CAChB,CAAC;AACH;AAEA,SAAS,GAAgB,GAAM;CAC7B,IAAI,IAAM,EAAU,CAAI;CAGxB,OAAO;EACL,YAHe,EAAI;EAInB,WAHc,EAAI;CAIpB;AACF;AAEA,SAAS,GAAoB,GAAS;CAQpC,OAAO,GAAsB,GAAmB,CAAO,CAAC,CAAC,CAAC,OAAO,GAAgB,CAAO,CAAC,CAAC;AAC5F;AAEA,SAAS,GAAgB,GAAS;CAChC,IAAI,IAAM,EAAU,CAAO,GACvB,IAAO,GAAmB,CAAO,GACjC,IAAiB,EAAI,gBACrB,IAAQ,EAAK,aACb,IAAS,EAAK,cACd,IAAI,GACJ,IAAI;CAuBR,OAjBI,MACF,IAAQ,EAAe,OACvB,IAAS,EAAe,QASnB,iCAAiC,KAAK,UAAU,SAAS,MAC5D,IAAI,EAAe,YACnB,IAAI,EAAe,aAIhB;EACE;EACC;EACR,GAAG,IAAI,GAAoB,CAAO;EAC/B;CACL;AACF;AAIA,SAAS,GAAgB,GAAS;CAChC,IAEI,IAAO,GAAmB,CAAO,GACjC,IAAY,GAAgB,CAAO,GACnC,IAAgC,EAAQ,eAAwD,MAChG,IAAQ,GAAI,EAAK,aAAa,EAAK,aAAa,IAAO,EAAK,cAAc,GAAG,IAAO,EAAK,cAAc,CAAC,GACxG,IAAS,GAAI,EAAK,cAAc,EAAK,cAAc,IAAO,EAAK,eAAe,GAAG,IAAO,EAAK,eAAe,CAAC,GAC7G,IAAI,CAAC,EAAU,aAAa,GAAoB,CAAO,GACvD,IAAI,CAAC,EAAU;CAMnB,OAJIA,GAAiB,KAAQ,CAAI,CAAC,CAAC,cAAc,UAC/C,KAAK,GAAI,EAAK,aAAa,IAAO,EAAK,cAAc,CAAC,IAAI,IAGrD;EACE;EACC;EACL;EACA;CACL;AACF;AAEA,SAAS,GAAe,GAAS;CAE/B,IAAI,IAAoBA,GAAiB,CAAO,GAC5C,IAAW,EAAkB,UAC7B,IAAY,EAAkB,WAC9B,IAAY,EAAkB;CAElC,OAAO,6BAA6B,KAAK,IAAW,IAAY,CAAS;AAC3E;AAEA,SAAS,GAAgB,GAAM;CAU7B,OATI;EAAC;EAAQ;EAAQ;CAAW,CAAC,CAAC,QAAQ,GAAY,CAAI,CAAC,KAAK,IAEvD,EAAK,cAAc,OAGxB,EAAc,CAAI,KAAK,GAAe,CAAI,IACrC,IAGF,GAAgB,GAAc,CAAI,CAAC;AAC5C;AASA,SAAS,GAAkB,GAAS,GAAM;CAGxC,AAAI,MAAS,KAAK,MAChB,IAAO,CAAC;CAGV,IAAI,IAAe,GAAgB,CAAO,GACtC,IAAS,MAA2C,EAAQ,eAAwD,MACpH,IAAM,EAAU,CAAY,GAC5B,IAAS,IAAS,CAAC,CAAG,CAAC,CAAC,OAAO,EAAI,kBAAkB,CAAC,GAAG,GAAe,CAAY,IAAI,IAAe,CAAC,CAAC,IAAI,GAC7G,IAAc,EAAK,OAAO,CAAM;CACpC,OAAO,IAAS,IAChB,EAAY,OAAO,GAAkB,GAAc,CAAM,CAAC,CAAC;AAC7D;AAEA,SAAS,GAAiB,GAAM;CAC9B,OAAO,OAAO,OAAO,CAAC,GAAG,GAAM;EAC7B,MAAM,EAAK;EACX,KAAK,EAAK;EACV,OAAO,EAAK,IAAI,EAAK;EACrB,QAAQ,EAAK,IAAI,EAAK;CACxB,CAAC;AACH;AAEA,SAAS,GAA2B,GAAS;CAC3C,IAAI,IAAO,GAAsB,CAAO;CASxC,OARA,EAAK,OAAiB,EAAQ,WAC9B,EAAK,QAAmB,EAAQ,YAChC,EAAK,SAAS,EAAK,MAAM,EAAQ,cACjC,EAAK,QAAQ,EAAK,OAAO,EAAQ,aACjC,EAAK,QAAQ,EAAQ,aACrB,EAAK,SAAS,EAAQ,cACtB,EAAK,IAAI,EAAK,MACd,EAAK,IAAI,EAAK,KACP;AACT;AAEA,SAAS,GAA2B,GAAS,GAAgB;CAC3D,OAAO,MAAmB,IAAW,GAAiB,GAAgB,CAAO,CAAC,IAAI,EAAU,CAAc,IAAI,GAA2B,CAAc,IAAI,GAAiB,GAAgB,GAAmB,CAAO,CAAC,CAAC;AAC1N;AAKA,SAAS,GAAmB,GAAS;CACnC,IAAI,IAAkB,GAAkB,GAAc,CAAO,CAAC,GAC1D,IAAoB,CAAC,YAAY,OAAO,CAAC,CAAC,QAAQA,GAAiB,CAAO,CAAC,CAAC,QAAQ,KAAK,GACzF,IAAiB,KAAqB,EAAc,CAAO,IAAI,GAAgB,CAAO,IAAI;CAO9F,OALK,EAAU,CAAc,IAKtB,EAAgB,OAAO,SAAU,GAAgB;EACtD,OAAO,EAAU,CAAc,KAAK,GAAS,GAAgB,CAAc,KAAK,GAAY,CAAc,MAAM,WAAW,MAAoBA,GAAiB,CAAc,CAAC,CAAC,aAAa;CAC/L,CAAC,IANQ,CAAC;AAOZ;AAIA,SAAS,GAAgB,GAAS,GAAU,GAAc;CACxD,IAAI,IAAsB,MAAa,oBAAoB,GAAmB,CAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAQ,GACvG,IAAkB,CAAC,CAAC,CAAC,OAAO,GAAqB,CAAC,CAAY,CAAC,GAC/D,IAAsB,EAAgB,IACtC,IAAe,EAAgB,OAAO,SAAU,GAAS,GAAgB;EAC3E,IAAI,IAAO,GAA2B,GAAS,CAAc;EAK7D,OAJA,EAAQ,MAAM,GAAI,EAAK,KAAK,EAAQ,GAAG,GACvC,EAAQ,QAAQ,GAAI,EAAK,OAAO,EAAQ,KAAK,GAC7C,EAAQ,SAAS,GAAI,EAAK,QAAQ,EAAQ,MAAM,GAChD,EAAQ,OAAO,GAAI,EAAK,MAAM,EAAQ,IAAI,GACnC;CACT,GAAG,GAA2B,GAAS,CAAmB,CAAC;CAK3D,OAJA,EAAa,QAAQ,EAAa,QAAQ,EAAa,MACvD,EAAa,SAAS,EAAa,SAAS,EAAa,KACzD,EAAa,IAAI,EAAa,MAC9B,EAAa,IAAI,EAAa,KACvB;AACT;AAEA,SAAS,GAAe,GAAM;CAC5B,IAAI,IAAY,EAAK,WACjB,IAAU,EAAK,SACf,IAAY,EAAK,WACjB,IAAgB,IAAY,GAAiB,CAAS,IAAI,MAC1D,IAAY,IAAY,GAAa,CAAS,IAAI,MAClD,IAAU,EAAU,IAAI,EAAU,QAAQ,IAAI,EAAQ,QAAQ,GAC9D,IAAU,EAAU,IAAI,EAAU,SAAS,IAAI,EAAQ,SAAS,GAChE;CAEJ,QAAQ,GAAR;EACE,KAAK;GACH,IAAU;IACR,GAAG;IACH,GAAG,EAAU,IAAI,EAAQ;GAC3B;GACA;EAEF,KAAK;GACH,IAAU;IACR,GAAG;IACH,GAAG,EAAU,IAAI,EAAU;GAC7B;GACA;EAEF,KAAK;GACH,IAAU;IACR,GAAG,EAAU,IAAI,EAAU;IAC3B,GAAG;GACL;GACA;EAEF,KAAK;GACH,IAAU;IACR,GAAG,EAAU,IAAI,EAAQ;IACzB,GAAG;GACL;GACA;EAEF,SACE,IAAU;GACR,GAAG,EAAU;GACb,GAAG,EAAU;EACf;CACJ;CAEA,IAAI,IAAW,IAAgB,GAAyB,CAAa,IAAI;CAEzE,IAAI,KAAY,MAAM;EACpB,IAAI,IAAM,MAAa,MAAM,WAAW;EAExC,QAAQ,GAAR;GACE,KAAK;IACH,EAAQ,KAAY,EAAQ,MAAa,EAAU,KAAO,IAAI,EAAQ,KAAO;IAC7E;GAEF,KAAK,GACH,EAAQ,KAAY,EAAQ,MAAa,EAAU,KAAO,IAAI,EAAQ,KAAO;EAEjF;CACF;CAEA,OAAO;AACT;AAEA,SAAS,GAAe,GAAO,GAAS;CACtC,AAAI,MAAY,KAAK,MACnB,IAAU,CAAC;CAGb,IAAI,IAAW,GACX,IAAqB,EAAS,WAC9B,IAAY,MAAuB,KAAK,IAAI,EAAM,YAAY,GAC9D,IAAoB,EAAS,UAC7B,IAAW,MAAsB,KAAK,IAAI,KAAkB,GAC5D,IAAwB,EAAS,cACjC,IAAe,MAA0B,KAAK,IAAI,IAAW,GAC7D,IAAwB,EAAS,gBACjC,IAAiB,MAA0B,KAAK,IAAI,IAAS,GAC7D,IAAuB,EAAS,aAChC,IAAc,MAAyB,KAAK,KAAY,GACxD,IAAmB,EAAS,SAC5B,IAAU,MAAqB,KAAK,IAAI,IAAI,GAC5C,IAAgB,GAAmB,OAAO,KAAY,WAAqB,GAAgB,GAAS,CAAc,IAAjD,CAAkD,GACnH,IAAa,MAAmB,IAAS,KAAY,GACrD,IAAa,EAAM,MAAM,QACzB,IAAU,EAAM,SAAS,IAAc,IAAa,IACpD,IAAqB,GAAgB,EAAU,CAAO,IAAI,IAAU,EAAQ,kBAAkB,GAAmB,EAAM,SAAS,MAAM,GAAG,GAAU,CAAY,GAC/J,IAAsB,GAAsB,EAAM,SAAS,SAAS,GACpE,IAAgB,GAAe;EACjC,WAAW;EACX,SAAS;EACT,UAAU;EACC;CACb,CAAC,GACG,IAAmB,GAAiB,OAAO,OAAO,CAAC,GAAG,GAAY,CAAa,CAAC,GAChF,IAAoB,MAAmB,IAAS,IAAmB,GAGnE,IAAkB;EACpB,KAAK,EAAmB,MAAM,EAAkB,MAAM,EAAc;EACpE,QAAQ,EAAkB,SAAS,EAAmB,SAAS,EAAc;EAC7E,MAAM,EAAmB,OAAO,EAAkB,OAAO,EAAc;EACvE,OAAO,EAAkB,QAAQ,EAAmB,QAAQ,EAAc;CAC5E,GACI,IAAa,EAAM,cAAc;CAErC,IAAI,MAAmB,KAAU,GAAY;EAC3C,IAAI,IAAS,EAAW;EACxB,OAAO,KAAK,CAAe,CAAC,CAAC,QAAQ,SAAU,GAAK;GAClD,IAAI,IAAW,CAAC,GAAO,CAAM,CAAC,CAAC,QAAQ,CAAG,KAAK,IAAI,IAAI,IACnD,IAAO,CAAC,GAAK,CAAM,CAAC,CAAC,QAAQ,CAAG,KAAK,IAAI,MAAM;GACnD,EAAgB,MAAQ,EAAO,KAAQ;EACzC,CAAC;CACH;CAEA,OAAO;AACT;AAEA,SAAS,GAAqB,GAAO,GAAS;CAC5C,AAAI,MAAY,KAAK,MACnB,IAAU,CAAC;CAGb,IAAI,IAAW,GACX,IAAY,EAAS,WACrB,IAAW,EAAS,UACpB,IAAe,EAAS,cACxB,IAAU,EAAS,SACnB,IAAiB,EAAS,gBAC1B,IAAwB,EAAS,uBACjC,IAAwB,MAA0B,KAAK,IAAI,IAAa,GACxE,IAAY,GAAa,CAAS,GAClC,IAAe,IAAY,IAAiB,KAAsB,GAAoB,OAAO,SAAU,GAAW;EACpH,OAAO,GAAa,CAAS,MAAM;CACrC,CAAC,IAAI,GACD,IAAoB,EAAa,OAAO,SAAU,GAAW;EAC/D,OAAO,EAAsB,QAAQ,CAAS,KAAK;CACrD,CAAC;CAED,AAAI,EAAkB,WAAW,MAC/B,IAAoB;CAItB,IAAI,IAAY,EAAkB,OAAO,SAAU,GAAK,GAAW;EAOjE,OANA,EAAI,KAAa,GAAe,GAAO;GAC1B;GACD;GACI;GACL;EACX,CAAC,CAAC,CAAC,GAAiB,CAAS,IACtB;CACT,GAAG,CAAC,CAAC;CACL,OAAO,OAAO,KAAK,CAAS,CAAC,CAAC,KAAK,SAAU,GAAG,GAAG;EACjD,OAAO,EAAU,KAAK,EAAU;CAClC,CAAC;AACH;AAEA,SAAS,GAA8B,GAAW;CAChD,IAAI,GAAiB,CAAS,MAAM,GAClC,OAAO,CAAC;CAGV,IAAI,IAAoB,GAAqB,CAAS;CACtD,OAAO;EAAC,GAA8B,CAAS;EAAG;EAAmB,GAA8B,CAAiB;CAAC;AACvH;AAEA,SAAS,GAAK,GAAM;CAClB,IAAI,IAAQ,EAAK,OACb,IAAU,EAAK,SACf,IAAO,EAAK;CAEZ,OAAM,cAAc,EAAK,CAAC,OAoC9B;OAAK,IAhCD,IAAoB,EAAQ,UAC5B,IAAgB,MAAsB,KAAK,KAAW,GACtD,IAAmB,EAAQ,SAC3B,IAAe,MAAqB,KAAK,KAAW,GACpD,IAA8B,EAAQ,oBACtC,IAAU,EAAQ,SAClB,IAAW,EAAQ,UACnB,IAAe,EAAQ,cACvB,IAAc,EAAQ,aACtB,IAAwB,EAAQ,gBAChC,IAAiB,MAA0B,KAAK,KAAW,GAC3D,IAAwB,EAAQ,uBAChC,IAAqB,EAAM,QAAQ,WAEnC,IADgB,GAAiB,CACH,MAAM,GACpC,IAAqB,MAAgC,KAAmB,CAAC,IAAiB,CAAC,GAAqB,CAAkB,CAAC,IAAI,GAA8B,CAAkB,IACvL,IAAa,CAAC,CAAkB,CAAC,CAAC,OAAO,CAAkB,CAAC,CAAC,OAAO,SAAU,GAAK,GAAW;GAChG,OAAO,EAAI,OAAO,GAAiB,CAAS,MAAM,IAAO,GAAqB,GAAO;IACxE;IACD;IACI;IACL;IACO;IACO;GACzB,CAAC,IAAI,CAAS;EAChB,GAAG,CAAC,CAAC,GACD,IAAgB,EAAM,MAAM,WAC5B,IAAa,EAAM,MAAM,QACzB,oBAAY,IAAI,IAAI,GACpB,IAAqB,IACrB,IAAwB,EAAW,IAE9B,IAAI,GAAG,IAAI,EAAW,QAAQ,KAAK;GAC1C,IAAI,IAAY,EAAW,IAEvB,IAAiB,GAAiB,CAAS,GAE3C,IAAmB,GAAa,CAAS,MAAM,GAC/C,IAAa,CAAC,GAAK,CAAM,CAAC,CAAC,QAAQ,CAAc,KAAK,GACtD,IAAM,IAAa,UAAU,UAC7B,IAAW,GAAe,GAAO;IACxB;IACD;IACI;IACD;IACJ;GACX,CAAC,GACG,IAAoB,IAAa,IAAmB,IAAQ,IAAO,IAAmB,IAAS;GAEnG,AAAI,EAAc,KAAO,EAAW,OAClC,IAAoB,GAAqB,CAAiB;GAG5D,IAAI,IAAmB,GAAqB,CAAiB,GACzD,KAAS,CAAC;GAUd,IARI,KACF,GAAO,KAAK,EAAS,MAAmB,CAAC,GAGvC,KACF,GAAO,KAAK,EAAS,MAAsB,GAAG,EAAS,MAAqB,CAAC,GAG3E,GAAO,MAAM,SAAU,GAAO;IAChC,OAAO;GACT,CAAC,GAAG;IAEF,AADA,IAAwB,GACxB,IAAqB;IACrB;GACF;GAEA,EAAU,IAAI,GAAW,EAAM;EACjC;EAEA,IAAI,GAqBF,KAAK,IAnBD,IAAiB,IAAiB,IAAI,GAEtC,IAAQ,SAAe,GAAI;GAC7B,IAAI,IAAmB,EAAW,KAAK,SAAU,GAAW;IAC1D,IAAI,IAAS,EAAU,IAAI,CAAS;IAEpC,IAAI,GACF,OAAO,EAAO,MAAM,GAAG,CAAE,CAAC,CAAC,MAAM,SAAU,GAAO;KAChD,OAAO;IACT,CAAC;GAEL,CAAC;GAED,IAAI,GAEF,OADA,IAAwB,GACjB;EAEX,GAES,KAAK,GAAgB,KAAK,KACtB,EAAM,EAEV,MAAM,SAHuB;EAOxC,AAAI,EAAM,cAAc,MACtB,EAAM,cAAc,EAAK,CAAC,QAAQ,IAClC,EAAM,YAAY,GAClB,EAAM,QAAQ;CAjChB;AAmCF;AAGA,IAAI,KAAS;CACX,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACJ,kBAAkB,CAAC,QAAQ;CAC3B,MAAM,EACJ,OAAO,GACT;AACF;AAEA,SAAS,GAAe,GAAU,GAAM,GAAkB;CAQxD,OAPI,MAAqB,KAAK,MAC5B,IAAmB;EACjB,GAAG;EACH,GAAG;CACL,IAGK;EACL,KAAK,EAAS,MAAM,EAAK,SAAS,EAAiB;EACnD,OAAO,EAAS,QAAQ,EAAK,QAAQ,EAAiB;EACtD,QAAQ,EAAS,SAAS,EAAK,SAAS,EAAiB;EACzD,MAAM,EAAS,OAAO,EAAK,QAAQ,EAAiB;CACtD;AACF;AAEA,SAAS,GAAsB,GAAU;CACvC,OAAO;EAAC;EAAK;EAAO;EAAQ;CAAI,CAAC,CAAC,KAAK,SAAU,GAAM;EACrD,OAAO,EAAS,MAAS;CAC3B,CAAC;AACH;AAEA,SAAS,GAAK,GAAM;CAClB,IAAI,IAAQ,EAAK,OACb,IAAO,EAAK,MACZ,IAAgB,EAAM,MAAM,WAC5B,IAAa,EAAM,MAAM,QACzB,IAAmB,EAAM,cAAc,iBACvC,IAAoB,GAAe,GAAO,EAC5C,gBAAgB,YAClB,CAAC,GACG,IAAoB,GAAe,GAAO,EAC5C,aAAa,GACf,CAAC,GACG,IAA2B,GAAe,GAAmB,CAAa,GAC1E,IAAsB,GAAe,GAAmB,GAAY,CAAgB,GACpF,IAAoB,GAAsB,CAAwB,GAClE,IAAmB,GAAsB,CAAmB;CAOhE,AANA,EAAM,cAAc,KAAQ;EACA;EACL;EACF;EACD;CACpB,GACA,EAAM,WAAW,SAAS,OAAO,OAAO,CAAC,GAAG,EAAM,WAAW,QAAQ;EACnE,gCAAgC;EAChC,uBAAuB;CACzB,CAAC;AACH;AAGA,IAAI,KAAS;CACX,MAAM;CACN,SAAS;CACT,OAAO;CACP,kBAAkB,CAAC,iBAAiB;CACpC,IAAI;AACN;AAEA,SAAS,GAAwB,GAAW,GAAO,GAAQ;CACzD,IAAI,IAAgB,GAAiB,CAAS,GAC1C,IAAiB,CAAC,GAAM,CAAG,CAAC,CAAC,QAAQ,CAAa,KAAK,IAAI,KAAK,GAEhE,IAAO,OAAO,KAAW,aAAa,EAAO,OAAO,OAAO,CAAC,GAAG,GAAO,EAC7D,aACb,CAAC,CAAC,IAAI,GACF,IAAW,EAAK,IAChB,IAAW,EAAK;CAIpB,OAFA,MAAuB,GACvB,KAAY,KAAY,KAAK,GACtB,CAAC,GAAM,CAAK,CAAC,CAAC,QAAQ,CAAa,KAAK,IAAI;EACjD,GAAG;EACH,GAAG;CACL,IAAI;EACF,GAAG;EACH,GAAG;CACL;AACF;AAEA,SAAS,GAAO,GAAO;CACrB,IAAI,IAAQ,EAAM,OACd,IAAU,EAAM,SAChB,IAAO,EAAM,MACb,IAAkB,EAAQ,QAC1B,IAAS,MAAoB,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,GAC/C,IAAO,EAAW,OAAO,SAAU,GAAK,GAAW;EAErD,OADA,EAAI,KAAa,GAAwB,GAAW,EAAM,OAAO,CAAM,GAChE;CACT,GAAG,CAAC,CAAC,GACD,IAAwB,EAAK,EAAM,YACnC,IAAI,EAAsB,GAC1B,IAAI,EAAsB;CAO9B,AALI,EAAM,cAAc,iBAAiB,SACvC,EAAM,cAAc,cAAc,KAAK,GACvC,EAAM,cAAc,cAAc,KAAK,IAGzC,EAAM,cAAc,KAAQ;AAC9B;AAGA,IAAI,KAAW;CACb,MAAM;CACN,SAAS;CACT,OAAO;CACP,UAAU,CAAC,eAAe;CAC1B,IAAI;AACN;AAEA,SAAS,GAAc,GAAM;CAC3B,IAAI,IAAQ,EAAK,OACb,IAAO,EAAK;CAKhB,EAAM,cAAc,KAAQ,GAAe;EACzC,WAAW,EAAM,MAAM;EACvB,SAAS,EAAM,MAAM;EACrB,UAAU;EACV,WAAW,EAAM;CACnB,CAAC;AACH;AAGA,IAAI,KAAkB;CACpB,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACJ,MAAM,CAAC;AACT;AAEA,SAAS,GAAW,GAAM;CACxB,OAAO,MAAS,MAAM,MAAM;AAC9B;AAEA,SAAS,GAAgB,GAAM;CAC7B,IAAI,IAAQ,EAAK,OACb,IAAU,EAAK,SACf,IAAO,EAAK,MACZ,IAAoB,EAAQ,UAC5B,IAAgB,MAAsB,KAAK,KAAW,GACtD,IAAmB,EAAQ,SAC3B,IAAe,MAAqB,KAAK,KAAY,GACrD,IAAW,EAAQ,UACnB,IAAe,EAAQ,cACvB,IAAc,EAAQ,aACtB,IAAU,EAAQ,SAClB,IAAkB,EAAQ,QAC1B,IAAS,MAAoB,KAAK,KAAW,GAC7C,IAAwB,EAAQ,cAChC,IAAe,MAA0B,KAAK,IAAI,IAAI,GACtD,IAAW,GAAe,GAAO;EACzB;EACI;EACL;EACI;CACf,CAAC,GACG,IAAgB,GAAiB,EAAM,SAAS,GAChD,IAAY,GAAa,EAAM,SAAS,GACxC,IAAkB,CAAC,GACnB,IAAW,GAAyB,CAAa,GACjD,IAAU,GAAW,CAAQ,GAC7B,IAAgB,EAAM,cAAc,eACpC,IAAgB,EAAM,MAAM,WAC5B,IAAa,EAAM,MAAM,QACzB,IAAoB,OAAO,KAAiB,aAAa,EAAa,OAAO,OAAO,CAAC,GAAG,EAAM,OAAO,EACvG,WAAW,EAAM,UACnB,CAAC,CAAC,IAAI,GACF,IAA8B,OAAO,KAAsB,WAAW;EACxE,UAAU;EACV,SAAS;CACX,IAAI,OAAO,OAAO;EAChB,UAAU;EACV,SAAS;CACX,GAAG,CAAiB,GAChB,IAAsB,EAAM,cAAc,SAAS,EAAM,cAAc,OAAO,EAAM,aAAa,MACjG,IAAO;EACT,GAAG;EACH,GAAG;CACL;CAEK,OAIL;MAAI,GAAe;GACjB,IAEI,IAAW,MAAa,MAAM,IAAM,GACpC,IAAU,MAAa,MAAM,IAAS,GACtC,IAAM,MAAa,MAAM,WAAW,SACpC,IAAS,EAAc,IACvB,IAAQ,IAAS,EAAS,IAC1B,IAAQ,IAAS,EAAS,IAC1B,KAAW,IAAS,CAAC,EAAW,KAAO,IAAI,GAC3C,IAAS,MAAc,IAAQ,EAAc,KAAO,EAAW,IAC/D,IAAS,MAAc,IAAQ,CAAC,EAAW,KAAO,CAAC,EAAc,IAGjE,KAAe,EAAM,SAAS,OAC9B,KAAY,KAAU,KAAe,EAAc,EAAY,IAAI;IACrE,OAAO;IACP,QAAQ;GACV,GACI,IAAqB,EAAM,cAAc,sBAAsB,EAAM,cAAc,mBAAmB,CAAC,UAAU,GAAmB,GACpI,KAAkB,EAAmB,IACrC,KAAkB,EAAmB,IAMrC,IAAW,GAAO,GAAG,EAAc,IAAM,GAAU,EAAI,GACvD,IAAY,IAAkB,EAAc,KAAO,IAAI,KAAW,IAAW,KAAkB,EAA4B,WAAW,IAAS,IAAW,KAAkB,EAA4B,UACxM,IAAY,IAAkB,CAAC,EAAc,KAAO,IAAI,KAAW,IAAW,KAAkB,EAA4B,WAAW,IAAS,IAAW,KAAkB,EAA4B,UACzM,KAAoB,EAAM,SAAS,SAAS,GAAgB,EAAM,SAAS,KAAK,GAChF,KAAe,KAAoB,MAAa,MAAM,GAAkB,aAAa,IAAI,GAAkB,cAAc,IAAI,GAC7H,KAA+C,IAA2D,MAA6C,GACvJ,KAAY,IAAS,IAAY,KAAsB,IACvD,IAAY,IAAS,IAAY,IACjC,KAAkB,GAAO,IAAS,GAAI,GAAO,EAAS,IAAI,GAAO,GAAQ,IAAS,GAAI,GAAO,CAAS,IAAI,CAAK;GAEnH,AADA,EAAc,KAAY,IAC1B,EAAK,KAAY,KAAkB;EACrC;EAEA,IAAI,GAAc;GAChB,IAEI,KAAY,MAAa,MAAM,IAAM,GAErC,KAAW,MAAa,MAAM,IAAS,GAEvC,KAAU,EAAc,IAExB,KAAO,MAAY,MAAM,WAAW,SAEpC,KAAO,KAAU,EAAS,KAE1B,KAAO,KAAU,EAAS,KAE1B,KAAe,CAAC,GAAK,CAAI,CAAC,CAAC,QAAQ,CAAa,MAAM,IAEtD,KAAiD,IAA2D,MAA6C,GAEzJ,KAAa,KAAe,KAAO,KAAU,EAAc,MAAQ,EAAW,MAAQ,KAAuB,EAA4B,SAEzI,KAAa,KAAe,KAAU,EAAc,MAAQ,EAAW,MAAQ,KAAuB,EAA4B,UAAU,IAE5I,KAAmB,KAAU,KAAe,GAAe,IAAY,IAAS,EAAU,IAAI,GAAO,IAAS,KAAa,IAAM,IAAS,IAAS,KAAa,EAAI;GAGxK,AADA,EAAc,KAAW,IACzB,EAAK,KAAW,KAAmB;EACrC;EAEA,EAAM,cAAc,KAAQ;CA/B5B;AAgCF;AAGA,IAAI,KAAoB;CACtB,MAAM;CACN,SAAS;CACT,OAAO;CACP,IAAI;CACJ,kBAAkB,CAAC,QAAQ;AAC7B;AAEA,SAAS,GAAqB,GAAS;CACrC,OAAO;EACL,YAAY,EAAQ;EACpB,WAAW,EAAQ;CACrB;AACF;AAEA,SAAS,GAAc,GAAM;CAIzB,OAHE,MAAS,EAAU,CAAI,KAAK,CAAC,EAAc,CAAI,IAC1C,GAAgB,CAAI,IAEpB,GAAqB,CAAI;AAEpC;AAEA,SAAS,GAAgB,GAAS;CAChC,IAAI,IAAO,EAAQ,sBAAsB,GACrC,IAASD,EAAM,EAAK,KAAK,IAAI,EAAQ,eAAe,GACpD,IAASA,EAAM,EAAK,MAAM,IAAI,EAAQ,gBAAgB;CAC1D,OAAO,MAAW,KAAK,MAAW;AACpC;AAIA,SAAS,GAAiB,GAAyB,GAAc,GAAS;CACxE,AAAI,MAAY,KAAK,MACnB,IAAU;CAGZ,IAAI,IAA0B,EAAc,CAAY,GACpD,IAAuB,EAAc,CAAY,KAAK,GAAgB,CAAY,GAClF,IAAkB,GAAmB,CAAY,GACjD,IAAO,GAAsB,GAAyB,CAAoB,GAC1E,IAAS;EACX,YAAY;EACZ,WAAW;CACb,GACI,IAAU;EACZ,GAAG;EACH,GAAG;CACL;CAiBA,QAfI,KAA2B,CAAC,KAA2B,CAAC,QACtD,GAAY,CAAY,MAAM,UAClC,GAAe,CAAe,OAC5B,IAAS,GAAc,CAAY,IAGjC,EAAc,CAAY,KAC5B,IAAU,GAAsB,GAAc,EAAI,GAClD,EAAQ,KAAK,EAAa,YAC1B,EAAQ,KAAK,EAAa,aACjB,MACT,EAAQ,IAAI,GAAoB,CAAe,KAI5C;EACL,GAAG,EAAK,OAAO,EAAO,aAAa,EAAQ;EAC3C,GAAG,EAAK,MAAM,EAAO,YAAY,EAAQ;EACzC,OAAO,EAAK;EACZ,QAAQ,EAAK;CACf;AACF;AAEA,SAAS,GAAM,GAAW;CACxB,IAAI,oBAAM,IAAI,IAAI,GACd,oBAAU,IAAI,IAAI,GAClB,IAAS,CAAC;CACd,EAAU,QAAQ,SAAU,GAAU;EACpC,EAAI,IAAI,EAAS,MAAM,CAAQ;CACjC,CAAC;CAED,SAAS,EAAK,GAAU;EAYtB,AAXA,EAAQ,IAAI,EAAS,IAAI,GAEzB,CADgB,CAAC,CAAC,OAAO,EAAS,YAAY,CAAC,GAAG,EAAS,oBAAoB,CAAC,CACzE,CAAC,CAAC,QAAQ,SAAU,GAAK;GAC9B,IAAI,CAAC,EAAQ,IAAI,CAAG,GAAG;IACrB,IAAI,IAAc,EAAI,IAAI,CAAG;IAE7B,AAAI,KACF,EAAK,CAAW;GAEpB;EACF,CAAC,GACD,EAAO,KAAK,CAAQ;CACtB;CAQA,OANA,EAAU,QAAQ,SAAU,GAAU;EACpC,AAAK,EAAQ,IAAI,EAAS,IAAI,KAE5B,EAAK,CAAQ;CAEjB,CAAC,GACM;AACT;AAEA,SAAS,GAAe,GAAW;CAEjC,IAAI,IAAmB,GAAM,CAAS;CAEtC,OAAO,GAAe,OAAO,SAAU,GAAK,GAAO;EACjD,OAAO,EAAI,OAAO,EAAiB,OAAO,SAAU,GAAU;GAC5D,OAAO,EAAS,UAAU;EAC5B,CAAC,CAAC;CACJ,GAAG,CAAC,CAAC;AACP;AAEA,SAAS,GAAS,GAAI;CACpB,IAAI;CACJ,OAAO,WAAY;EAUjB,OATA,AACE,MAAU,IAAI,QAAQ,SAAU,GAAS;GACvC,QAAQ,QAAQ,CAAC,CAAC,KAAK,WAAY;IAEjC,AADA,IAAU,KAAA,GACV,EAAQ,EAAG,CAAC;GACd,CAAC;EACH,CAAC,GAGI;CACT;AACF;AAEA,SAAS,GAAY,GAAW;CAC9B,IAAI,IAAS,EAAU,OAAO,SAAU,GAAQ,GAAS;EACvD,IAAI,IAAW,EAAO,EAAQ;EAK9B,OAJA,EAAO,EAAQ,QAAQ,IAAW,OAAO,OAAO,CAAC,GAAG,GAAU,GAAS;GACrE,SAAS,OAAO,OAAO,CAAC,GAAG,EAAS,SAAS,EAAQ,OAAO;GAC5D,MAAM,OAAO,OAAO,CAAC,GAAG,EAAS,MAAM,EAAQ,IAAI;EACrD,CAAC,IAAI,GACE;CACT,GAAG,CAAC,CAAC;CAEL,OAAO,OAAO,KAAK,CAAM,CAAC,CAAC,IAAI,SAAU,GAAK;EAC5C,OAAO,EAAO;CAChB,CAAC;AACH;AAEA,IAAI,KAAkB;CACpB,WAAW;CACX,WAAW,CAAC;CACZ,UAAU;AACZ;AAEA,SAAS,KAAmB;CAK1B,OAAO,CAAC,IAHO,SAGP,CAAA,CAAK,KAAK,SAAU,GAAS;EACnC,OAAO,EAAE,KAAW,OAAO,EAAQ,yBAA0B;CAC/D,CAAC;AACH;AAEA,SAAS,GAAgB,GAAkB;CACzC,AAAI,MAAqB,KAAK,MAC5B,IAAmB,CAAC;CAGtB,IAAI,IAAoB,GACpB,IAAwB,EAAkB,kBAC1C,IAAmB,MAA0B,KAAK,IAAI,CAAC,IAAI,GAC3D,IAAyB,EAAkB,gBAC3C,IAAiB,MAA2B,KAAK,IAAI,KAAkB;CAC3E,OAAO,SAAsB,GAAW,GAAQ,GAAS;EACvD,AAAI,MAAY,KAAK,MACnB,IAAU;EAGZ,IAAI,IAAQ;GACV,WAAW;GACX,kBAAkB,CAAC;GACnB,SAAS,OAAO,OAAO,CAAC,GAAG,IAAiB,CAAc;GAC1D,eAAe,CAAC;GAChB,UAAU;IACG;IACH;GACV;GACA,YAAY,CAAC;GACb,QAAQ,CAAC;EACX,GACI,IAAmB,CAAC,GACpB,IAAc,IACd,IAAW;GACN;GACP,YAAY,SAAoB,GAAkB;IAChD,IAAI,IAAU,OAAO,KAAqB,aAAa,EAAiB,EAAM,OAAO,IAAI;IAGzF,AAFA,EAAuB,GACvB,EAAM,UAAU,OAAO,OAAO,CAAC,GAAG,GAAgB,EAAM,SAAS,CAAO,GACxE,EAAM,gBAAgB;KACpB,WAAW,EAAU,CAAS,IAAI,GAAkB,CAAS,IAAI,EAAU,iBAAiB,GAAkB,EAAU,cAAc,IAAI,CAAC;KAC3I,QAAQ,GAAkB,CAAM;IAClC;IAGA,IAAI,IAAmB,GAAe,GAAY,CAAC,CAAC,CAAC,OAAO,GAAkB,EAAM,QAAQ,SAAS,CAAC,CAAC;IAOvG,OALA,EAAM,mBAAmB,EAAiB,OAAO,SAAU,GAAG;KAC5D,OAAO,EAAE;IACX,CAAC,GAED,EAAmB,GACZ,EAAS,OAAO;GACzB;GAMA,aAAa,WAAuB;IAC9B,QAIJ;SAAI,IAAkB,EAAM,UACxB,IAAY,EAAgB,WAC5B,IAAS,EAAgB;KAGxB,OAAiB,GAAW,CAAM,GAqBvC;MAfA,EAAM,QAAQ;OACZ,WAAW,GAAiB,GAAW,GAAgB,CAAM,GAAG,EAAM,QAAQ,aAAa,OAAO;OAClG,QAAQ,EAAc,CAAM;MAC9B,GAMA,EAAM,QAAQ,IACd,EAAM,YAAY,EAAM,QAAQ,WAKhC,EAAM,iBAAiB,QAAQ,SAAU,GAAU;OACjD,OAAO,EAAM,cAAc,EAAS,QAAQ,OAAO,OAAO,CAAC,GAAG,EAAS,IAAI;MAC7E,CAAC;MAED,KAAK,IAAI,IAAQ,GAAG,IAAQ,EAAM,iBAAiB,QAAQ,KAAS;OAElE,IAAI,EAAM,UAAU,IAAM;QAExB,AADA,EAAM,QAAQ,IACd,IAAQ;QACR;OACF;OAEA,IAAI,IAAwB,EAAM,iBAAiB,IAC/C,IAAK,EAAsB,IAC3B,IAAyB,EAAsB,SAC/C,IAAW,MAA2B,KAAK,IAAI,CAAC,IAAI,GACpD,IAAO,EAAsB;OAEjC,AAAI,OAAO,KAAO,eAChB,IAAQ,EAAG;QACF;QACP,SAAS;QACH;QACI;OACZ,CAAC,KAAK;MAEV;KAxBC;IA1B4B;GAmD/B;GAGA,QAAQ,GAAS,WAAY;IAC3B,OAAO,IAAI,QAAQ,SAAU,GAAS;KAEpC,AADA,EAAS,YAAY,GACrB,EAAQ,CAAK;IACf,CAAC;GACH,CAAC;GACD,SAAS,WAAmB;IAE1B,AADA,EAAuB,GACvB,IAAc;GAChB;EACF;EAEA,IAAI,CAAC,GAAiB,GAAW,CAAM,GAErC,OAAO;EAGT,EAAS,WAAW,CAAO,CAAC,CAAC,KAAK,SAAU,GAAO;GACjD,AAAI,CAAC,KAAe,EAAQ,iBAC1B,EAAQ,cAAc,CAAK;EAE/B,CAAC;EAMD,SAAS,IAAqB;GAC5B,EAAM,iBAAiB,QAAQ,SAAU,GAAO;IAC9C,IAAI,IAAO,EAAM,MACb,IAAgB,EAAM,SACtB,IAAU,MAAkB,KAAK,IAAI,CAAC,IAAI,GAC1C,IAAS,EAAM;IAEnB,IAAI,OAAO,KAAW,YAAY;KAChC,IAAI,IAAY,EAAO;MACd;MACD;MACI;MACD;KACX,CAAC;KAID,EAAiB,KAAK,KAAa,WAFJ,CAAC,CAES;IAC3C;GACF,CAAC;EACH;EAEA,SAAS,IAAyB;GAIhC,AAHA,EAAiB,QAAQ,SAAU,GAAI;IACrC,OAAO,EAAG;GACZ,CAAC,GACD,IAAmB,CAAC;EACtB;EAEA,OAAO;CACT;AACF;AAGA,IAAI,KAA4B,iBAAgB,EAC9C,kBAAkB;CAFI;CAAgB;CAAiB;CAAiB;CAAe;CAAU;CAAQ;CAAmB;CAAS;AAEpG,EACnC,CAAC,GASG,KAAY,aACZ,KAAgB,iBAChB,KAAiB,kBACjB,KAAc,eACd,KAAkB,mBAClB,KAAgB;CAClB,SAAS;CACT,SAAS;AACX,GACI,KAA0B,WAAmC;CAC/D,OAAO,SAAS;AAClB;AACA,SAAS,GAAwB,GAAO,GAAO,GAAc;CAM3D,OALI,MAAM,QAAQ,CAAK,IACb,EAAM,OACK,MAAM,QAAQ,CAAY,IAAI,EAAa,KAAS,KAGlE;AACT;AACA,SAAS,GAAO,GAAO,GAAM;CAC3B,IAAI,IAAM,CAAC,EAAE,SAAS,KAAK,CAAK;CAChC,OAAO,EAAI,QAAQ,SAAS,MAAM,KAAK,EAAI,QAAQ,IAAO,GAAG,IAAI;AACnE;AACA,SAAS,GAAuB,GAAO,GAAM;CAC3C,OAAO,OAAO,KAAU,aAAa,EAAM,MAAM,KAAK,GAAG,CAAI,IAAI;AACnE;AACA,SAAS,GAAW,GAAI,GAAI;CAE1B,IAAI,MAAO,GACT,OAAO;CAGT,IAAI;CACJ,OAAO,SAAU,GAAK;EAEpB,AADA,aAAa,CAAO,GACpB,IAAU,WAAW,WAAY;GAC/B,EAAG,CAAG;EACR,GAAG,CAAE;CACP;AACF;AACA,SAAS,GAAiB,GAAK,GAAM;CACnC,IAAI,IAAQ,OAAO,OAAO,CAAC,GAAG,CAAG;CAIjC,OAHA,EAAK,QAAQ,SAAU,GAAK;EAC1B,OAAO,EAAM;CACf,CAAC,GACM;AACT;AACA,SAAS,GAAc,GAAO;CAC5B,OAAO,EAAM,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;AAC1C;AACA,SAAS,GAAiB,GAAO;CAC/B,OAAO,CAAC,CAAC,CAAC,OAAO,CAAK;AACxB;AACA,SAAS,GAAa,GAAK,GAAO;CAChC,AAAI,EAAI,QAAQ,CAAK,MAAM,MACzB,EAAI,KAAK,CAAK;AAElB;AACA,SAAS,GAAO,GAAK;CACnB,OAAO,EAAI,OAAO,SAAU,GAAM,GAAO;EACvC,OAAO,EAAI,QAAQ,CAAI,MAAM;CAC/B,CAAC;AACH;AACA,SAAS,GAAmB,GAAW;CACrC,OAAO,EAAU,MAAM,GAAG,CAAC,CAAC;AAC9B;AACA,SAAS,GAAU,GAAO;CACxB,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAK;AAC5B;AACA,SAAS,GAAqB,GAAK;CACjC,OAAO,OAAO,KAAK,CAAG,CAAC,CAAC,OAAO,SAAU,GAAK,GAAK;EAKjD,OAJI,EAAI,OAAS,KAAA,MACf,EAAI,KAAO,EAAI,KAGV;CACT,GAAG,CAAC,CAAC;AACP;AAEA,SAAS,KAAM;CACb,OAAO,SAAS,cAAc,KAAK;AACrC;AACA,SAAS,GAAY,GAAO;CAC1B,OAAO,CAAC,WAAW,UAAU,CAAC,CAAC,KAAK,SAAU,GAAM;EAClD,OAAO,GAAO,GAAO,CAAI;CAC3B,CAAC;AACH;AACA,SAAS,GAAW,GAAO;CACzB,OAAO,GAAO,GAAO,UAAU;AACjC;AACA,SAAS,GAAa,GAAO;CAC3B,OAAO,GAAO,GAAO,YAAY;AACnC;AACA,SAAS,GAAmB,GAAO;CACjC,OAAO,CAAC,EAAE,KAAS,EAAM,UAAU,EAAM,OAAO,cAAc;AAChE;AACA,SAAS,GAAmB,GAAO;CAajC,OAZI,GAAY,CAAK,IACZ,CAAC,CAAK,IAGX,GAAW,CAAK,IACX,GAAU,CAAK,IAGpB,MAAM,QAAQ,CAAK,IACd,IAGF,GAAU,SAAS,iBAAiB,CAAK,CAAC;AACnD;AACA,SAAS,GAAsB,GAAK,GAAO;CACzC,EAAI,QAAQ,SAAU,GAAI;EACxB,AAAI,MACF,EAAG,MAAM,qBAAqB,IAAQ;CAE1C,CAAC;AACH;AACA,SAAS,GAAmB,GAAK,GAAO;CACtC,EAAI,QAAQ,SAAU,GAAI;EACxB,AAAI,KACF,EAAG,aAAa,cAAc,CAAK;CAEvC,CAAC;AACH;AACA,SAAS,GAAiB,GAAmB;CAC3C,IAAI,GAGA,IADoB,GAAiB,CACX,CAAC,CAAC;CAGhC,OAAO,KAAW,SAAS,IAAwB,EAAQ,kBAAkB,QAAQ,EAAsB,OAAO,EAAQ,gBAAgB;AAC5I;AACA,SAAS,GAAiC,GAAgB,GAAO;CAC/D,IAAI,IAAU,EAAM,SAChB,IAAU,EAAM;CACpB,OAAO,EAAe,MAAM,SAAU,GAAM;EAC1C,IAAI,IAAa,EAAK,YAClB,IAAc,EAAK,aAEnB,IADQ,EAAK,MACa,mBAC1B,IAAgB,GAAmB,EAAY,SAAS,GACxD,IAAa,EAAY,cAAc;EAE3C,IAAI,CAAC,GACH,OAAO;EAGT,IAAI,IAAc,MAAkB,WAAW,EAAW,IAAI,IAAI,GAC9D,IAAiB,MAAkB,QAAQ,EAAW,OAAO,IAAI,GACjE,IAAe,MAAkB,UAAU,EAAW,KAAK,IAAI,GAC/D,IAAgB,MAAkB,SAAS,EAAW,MAAM,IAAI,GAChE,IAAa,EAAW,MAAM,IAAU,IAAc,GACtD,IAAgB,IAAU,EAAW,SAAS,IAAiB,GAC/D,IAAc,EAAW,OAAO,IAAU,IAAe,GACzD,IAAe,IAAU,EAAW,QAAQ,IAAgB;EAChE,OAAO,KAAc,KAAiB,KAAe;CACvD,CAAC;AACH;AACA,SAAS,GAA4B,GAAK,GAAQ,GAAU;CAC1D,IAAI,IAAS,IAAS;CAGtB,CAAC,iBAAiB,qBAAqB,CAAC,CAAC,QAAQ,SAAU,GAAO;EAChE,EAAI,EAAO,CAAC,GAAO,CAAQ;CAC7B,CAAC;AACH;AAMA,SAAS,GAAe,GAAQ,GAAO;CAGrC,KAFA,IAAI,IAAS,GAEN,IAAQ;EAGb,IAAI,EAAO,SAAS,CAAM,GACxB,OAAO;EAGT,IAAS,EAAO,eAAe,OAAO,KAAK,IAA2B,EAAO,YAAY,CAAA,EAA0C;CACrI;CAEA,OAAO;AACT;AAEA,IAAI,KAAe,EACjB,SAAS,GACX,GACI,KAAoB;AAQxB,SAAS,KAAuB;CAC1B,GAAa,YAIjB,GAAa,UAAU,IAEnB,OAAO,eACT,SAAS,iBAAiB,aAAa,EAAmB;AAE9D;AAOA,SAAS,KAAsB;CAC7B,IAAI,IAAM,YAAY,IAAI;CAO1B,AALI,IAAM,KAAoB,OAC5B,GAAa,UAAU,IACvB,SAAS,oBAAoB,aAAa,EAAmB,IAG/D,KAAoB;AACtB;AAQA,SAAS,KAAe;CACtB,IAAI,IAAgB,SAAS;CAE7B,IAAI,GAAmB,CAAa,GAAG;EACrC,IAAI,IAAW,EAAc;EAE7B,AAAI,EAAc,QAAQ,CAAC,EAAS,MAAM,aACxC,EAAc,KAAK;CAEvB;AACF;AACA,SAAS,KAA2B;CAElC,AADA,SAAS,iBAAiB,cAAc,IAAsB,EAAa,GAC3E,OAAO,iBAAiB,QAAQ,EAAY;AAC9C;AAGA,IAAI,KADY,OAAO,SAAW,OAAe,OAAO,WAAa,OAErE,CAAC,CAAC,OAAO,UAmBL,KAAe,OAAO,OAAO;CAC/B,UAAU;CACV,MAAM;EACJ,SAAS;EACT,UAAU;CACZ;CACA,OAAO;CACP,UAAU,CAAC,KAAK,GAAG;CACnB,wBAAwB;CACxB,aAAa;CACb,kBAAkB;CAClB,aAAa;CACb,mBAAmB;CACnB,qBAAqB;CACrB,gBAAgB;CAChB,QAAQ,CAAC,GAAG,EAAE;CACd,eAAe,WAAyB,CAAC;CACzC,gBAAgB,WAA0B,CAAC;CAC3C,UAAU,WAAoB,CAAC;CAC/B,WAAW,WAAqB,CAAC;CACjC,UAAU,WAAoB,CAAC;CAC/B,QAAQ,WAAkB,CAAC;CAC3B,SAAS,WAAmB,CAAC;CAC7B,QAAQ,WAAkB,CAAC;CAC3B,SAAS,WAAmB,CAAC;CAC7B,WAAW,WAAqB,CAAC;CACjC,aAAa,WAAuB,CAAC;CACrC,gBAAgB,WAA0B,CAAC;CAC3C,WAAW;CACX,SAAS,CAAC;CACV,eAAe,CAAC;CAChB,QAAQ;CACR,cAAc;CACd,OAAO;CACP,SAAS;CACT,eAAe;AACjB,GAAG;CApDD,aAAa;CACb,cAAc;CACd,mBAAmB;CACnB,QAAQ;AAiDG,GAAG;CA9Cd,WAAW;CACX,WAAW;CACX,OAAO;CACP,SAAS;CACT,SAAS;CACT,UAAU;CACV,MAAM;CACN,OAAO;CACP,QAAQ;AAsCgB,CAAC,GACvB,KAAc,OAAO,KAAK,EAAY,GACtC,KAAkB,SAAyB,GAAc;CAG3D,OADkB,KAAK,CACpB,CAAC,CAAC,QAAQ,SAAU,GAAK;EAC1B,GAAa,KAAO,EAAa;CACnC,CAAC;AACH;AACA,SAAS,GAAuB,GAAa;CAE3C,IAAI,KADU,EAAY,WAAW,CAAC,EAAA,CACZ,OAAO,SAAU,GAAK,GAAQ;EACtD,IAAI,IAAO,EAAO,MACd,IAAe,EAAO;EAQ1B,OANI,MAGF,EAAI,KAAQ,EAAY,OAAU,KAAA,IAAyC,GAAa,MAAyB,IAAnE,EAAY,KAGrD;CACT,GAAG,CAAC,CAAC;CACL,OAAO,OAAO,OAAO,CAAC,GAAG,GAAa,CAAW;AACnD;AACA,SAAS,GAAsB,GAAW,GAAS;CAuBjD,QAtBe,IAAU,OAAO,KAAK,GAAuB,OAAO,OAAO,CAAC,GAAG,IAAc,EACjF,WACX,CAAC,CAAC,CAAC,IAAI,GAAA,CACc,OAAO,SAAU,GAAK,GAAK;EAC9C,IAAI,KAAiB,EAAU,aAAa,gBAAgB,CAAG,KAAK,GAAA,CAAI,KAAK;EAE7E,IAAI,CAAC,GACH,OAAO;EAGT,IAAI,MAAQ,WACV,EAAI,KAAO;OAEX,IAAI;GACF,EAAI,KAAO,KAAK,MAAM,CAAa;EACrC,QAAY;GACV,EAAI,KAAO;EACb;EAGF,OAAO;CACT,GAAG,CAAC,CACO;AACb;AACA,SAAS,GAAc,GAAW,GAAO;CACvC,IAAI,IAAM,OAAO,OAAO,CAAC,GAAG,GAAO,EACjC,SAAS,GAAuB,EAAM,SAAS,CAAC,CAAS,CAAC,EAC5D,GAAG,EAAM,mBAAmB,CAAC,IAAI,GAAsB,GAAW,EAAM,OAAO,CAAC;CAMhF,OALA,EAAI,OAAO,OAAO,OAAO,CAAC,GAAG,GAAa,MAAM,EAAI,IAAI,GACxD,EAAI,OAAO;EACT,UAAU,EAAI,KAAK,aAAa,SAAS,EAAM,cAAc,EAAI,KAAK;EACtE,SAAS,EAAI,KAAK,YAAY,SAAS,EAAM,cAAc,OAAO,gBAAgB,EAAI,KAAK;CAC7F,GACO;AACT;AAEA,IAAI,KAAY,WAAqB;CACnC,OAAO;AACT;AAEA,SAAS,GAAwB,GAAS,GAAM;CAC9C,EAAQ,GAAU,KAAK;AACzB;AAEA,SAAS,GAAmB,GAAO;CACjC,IAAI,IAAQ,GAAI;CAchB,OAZI,MAAU,KACZ,EAAM,YAAY,MAElB,EAAM,YAAY,IAEd,GAAY,CAAK,IACnB,EAAM,YAAY,CAAK,IAEvB,GAAwB,GAAO,CAAK,IAIjC;AACT;AAEA,SAAS,GAAW,GAAS,GAAO;CAClC,AAAI,GAAY,EAAM,OAAO,KAC3B,GAAwB,GAAS,EAAE,GACnC,EAAQ,YAAY,EAAM,OAAO,KACxB,OAAO,EAAM,WAAY,eAC9B,EAAM,YACR,GAAwB,GAAS,EAAM,OAAO,IAE9C,EAAQ,cAAc,EAAM;AAGlC;AACA,SAAS,GAAY,GAAQ;CAC3B,IAAI,IAAM,EAAO,mBACb,IAAc,GAAU,EAAI,QAAQ;CACxC,OAAO;EACA;EACL,SAAS,EAAY,KAAK,SAAU,GAAM;GACxC,OAAO,EAAK,UAAU,SAAS,EAAa;EAC9C,CAAC;EACD,OAAO,EAAY,KAAK,SAAU,GAAM;GACtC,OAAO,EAAK,UAAU,SAAS,EAAW,KAAK,EAAK,UAAU,SAAS,EAAe;EACxF,CAAC;EACD,UAAU,EAAY,KAAK,SAAU,GAAM;GACzC,OAAO,EAAK,UAAU,SAAS,EAAc;EAC/C,CAAC;CACH;AACF;AACA,SAAS,GAAO,GAAU;CACxB,IAAI,IAAS,GAAI,GACb,IAAM,GAAI;CAGd,AAFA,EAAI,YAAY,IAChB,EAAI,aAAa,cAAc,QAAQ,GACvC,EAAI,aAAa,YAAY,IAAI;CACjC,IAAI,IAAU,GAAI;CAMlB,AALA,EAAQ,YAAY,IACpB,EAAQ,aAAa,cAAc,QAAQ,GAC3C,GAAW,GAAS,EAAS,KAAK,GAClC,EAAO,YAAY,CAAG,GACtB,EAAI,YAAY,CAAO,GACvB,EAAS,EAAS,OAAO,EAAS,KAAK;CAEvC,SAAS,EAAS,GAAW,GAAW;EACtC,IAAI,IAAe,GAAY,CAAM,GACjC,IAAM,EAAa,KACnB,IAAU,EAAa,SACvB,IAAQ,EAAa;EAgCzB,AA9BI,EAAU,QACZ,EAAI,aAAa,cAAc,EAAU,KAAK,IAE9C,EAAI,gBAAgB,YAAY,GAG9B,OAAO,EAAU,aAAc,WACjC,EAAI,aAAa,kBAAkB,EAAU,SAAS,IAEtD,EAAI,gBAAgB,gBAAgB,GAGlC,EAAU,UACZ,EAAI,aAAa,gBAAgB,EAAE,IAEnC,EAAI,gBAAgB,cAAc,GAGpC,EAAI,MAAM,WAAW,OAAO,EAAU,YAAa,WAAW,EAAU,WAAW,OAAO,EAAU,UAEhG,EAAU,OACZ,EAAI,aAAa,QAAQ,EAAU,IAAI,IAEvC,EAAI,gBAAgB,MAAM,IAGxB,EAAU,YAAY,EAAU,WAAW,EAAU,cAAc,EAAU,cAC/E,GAAW,GAAS,EAAS,KAAK,GAGhC,EAAU,QACP,IAEM,EAAU,UAAU,EAAU,UACvC,EAAI,YAAY,CAAK,GACrB,EAAI,YAAY,GAAmB,EAAU,KAAK,CAAC,KAHnD,EAAI,YAAY,GAAmB,EAAU,KAAK,CAAC,IAK5C,KACT,EAAI,YAAY,CAAK;CAEzB;CAEA,OAAO;EACG;EACE;CACZ;AACF;AAGA,GAAO,UAAU;AAEjB,IAAI,KAAY,GACZ,KAAqB,CAAC,GAEtB,KAAmB,CAAC;AACxB,SAAS,GAAY,GAAW,GAAa;CAC3C,IAAI,IAAQ,GAAc,GAAW,OAAO,OAAO,CAAC,GAAG,IAAc,GAAuB,GAAqB,CAAW,CAAC,CAAC,CAAC,GAI3H,GACA,GACA,GACA,IAAqB,IACrB,IAAgC,IAChC,IAAe,IACf,IAAsB,IACtB,GACA,GACA,GACA,IAAY,CAAC,GACb,IAAuB,GAAW,GAAa,EAAM,mBAAmB,GACxE,GAIA,IAAK,MACL,IAAiB,MACjB,IAAU,GAAO,EAAM,OAAO,GAa9B,IAAW;EAET;EACO;EACX,QAAQ,GAAI;EACI;EACT;EACP,OAAO;GAjBP,WAAW;GAEX,WAAW;GAEX,aAAa;GAEb,WAAW;GAEX,SAAS;EASE;EACF;EAEW;EACV;EACE;EACN;EACA;EACiB;EACf;EACC;EACA;EACA;CACX;;CAKA,IAAI,CAAC,EAAM,QAET,OAAO;CAMT,IAAI,IAAgB,EAAM,OAAO,CAAQ,GACrC,IAAS,EAAc,QACvB,IAAW,EAAc;CAM7B,AAJA,EAAO,aAAa,mBAAmB,EAAE,GACzC,EAAO,KAAK,WAAW,EAAS,IAChC,EAAS,SAAS,GAClB,EAAU,SAAS,GACnB,EAAO,SAAS;CAChB,IAAI,IAAe,EAAQ,IAAI,SAAU,GAAQ;EAC/C,OAAO,EAAO,GAAG,CAAQ;CAC3B,CAAC,GACG,IAAkB,EAAU,aAAa,eAAe;CAsB5D,OArBA,GAAa,GACb,EAA4B,GAC5B,EAAa,GACb,EAAW,YAAY,CAAC,CAAQ,CAAC,GAE7B,EAAM,gBACR,GAAa,GAKf,EAAO,iBAAiB,cAAc,WAAY;EAChD,AAAI,EAAS,MAAM,eAAe,EAAS,MAAM,aAC/C,EAAS,mBAAmB;CAEhC,CAAC,GACD,EAAO,iBAAiB,cAAc,WAAY;EAChD,AAAI,EAAS,MAAM,eAAe,EAAS,MAAM,QAAQ,QAAQ,YAAY,KAAK,KAChF,EAAY,CAAC,CAAC,iBAAiB,aAAa,CAAoB;CAEpE,CAAC,GACM;CAIP,SAAS,IAA6B;EACpC,IAAI,IAAQ,EAAS,MAAM;EAC3B,OAAO,MAAM,QAAQ,CAAK,IAAI,IAAQ,CAAC,GAAO,CAAC;CACjD;CAEA,SAAS,IAA2B;EAClC,OAAO,EAA2B,CAAC,CAAC,OAAO;CAC7C;CAEA,SAAS,IAAuB;EAC9B,IAAI;EAGJ,OAAO,CAAC,GAAG,IAAwB,EAAS,MAAM,WAAW,QAAQ,EAAsB;CAC7F;CAEA,SAAS,IAAmB;EAC1B,OAAO,KAAiB;CAC1B;CAEA,SAAS,IAAc;EACrB,IAAI,IAAS,EAAiB,CAAC,CAAC;EAChC,OAAO,IAAS,GAAiB,CAAM,IAAI;CAC7C;CAEA,SAAS,IAA6B;EACpC,OAAO,GAAY,CAAM;CAC3B;CAEA,SAAS,EAAS,GAAQ;EAQxB,OAJI,EAAS,MAAM,aAAa,CAAC,EAAS,MAAM,aAAa,GAAa,WAAW,KAAoB,EAAiB,SAAS,UAC1H,IAGF,GAAwB,EAAS,MAAM,OAAO,KAAgB,GAAa,KAAK;CACzF;CAEA,SAAS,EAAa,GAAU;EAM9B,AALI,MAAa,KAAK,MACpB,IAAW,KAGb,EAAO,MAAM,gBAAgB,EAAS,MAAM,eAAe,CAAC,IAAW,KAAK,QAC5E,EAAO,MAAM,SAAS,KAAK,EAAS,MAAM;CAC5C;CAEA,SAAS,EAAW,GAAM,GAAM,GAAuB;EAWrD,IAVI,MAA0B,KAAK,MACjC,IAAwB,KAG1B,EAAa,QAAQ,SAAU,GAAa;GAC1C,AAAI,EAAY,MACd,EAAY,EAAK,CAAC,MAAM,GAAa,CAAI;EAE7C,CAAC,GAEG,GAAuB;GACzB,IAAI;GAEJ,CAAC,IAAkB,EAAS,MAAA,CAAO,EAAK,CAAC,MAAM,GAAiB,CAAI;EACtE;CACF;CAEA,SAAS,IAA6B;EACpC,IAAI,IAAO,EAAS,MAAM;EAErB,MAAK,SAIV;OAAI,IAAO,UAAU,EAAK,SACtB,IAAK,EAAO;GAEhB,GAD6B,EAAS,MAAM,iBAAiB,CACzD,CAAC,CAAC,QAAQ,SAAU,GAAM;IAC5B,IAAI,IAAe,EAAK,aAAa,CAAI;IAEzC,IAAI,EAAS,MAAM,WACjB,EAAK,aAAa,GAAM,IAAe,IAAe,MAAM,IAAK,CAAE;SAC9D;KACL,IAAI,IAAY,KAAgB,EAAa,QAAQ,GAAI,EAAE,CAAC,CAAC,KAAK;KAElE,AAAI,IACF,EAAK,aAAa,GAAM,CAAS,IAEjC,EAAK,gBAAgB,CAAI;IAE7B;GACF,CAAC;EAjByB;CAkB5B;CAEA,SAAS,IAA8B;EACjC,KAAmB,CAAC,EAAS,MAAM,KAAK,YAK5C,GAD6B,EAAS,MAAM,iBAAiB,CACzD,CAAC,CAAC,QAAQ,SAAU,GAAM;GAC5B,AAAI,EAAS,MAAM,cACjB,EAAK,aAAa,iBAAiB,EAAS,MAAM,aAAa,MAAS,EAAiB,IAAI,SAAS,OAAO,IAE7G,EAAK,gBAAgB,eAAe;EAExC,CAAC;CACH;CAEA,SAAS,IAAmC;EAE1C,AADA,EAAY,CAAC,CAAC,oBAAoB,aAAa,CAAoB,GACnE,KAAqB,GAAmB,OAAO,SAAU,GAAU;GACjE,OAAO,MAAa;EACtB,CAAC;CACH;CAEA,SAAS,EAAgB,GAAO;QAE1B,GAAa,YACX,KAAgB,EAAM,SAAS,eAKrC;OAAI,IAAe,EAAM,gBAAgB,EAAM,aAAa,CAAC,CAAC,MAAM,EAAM;GAEtE,QAAS,MAAM,eAAe,GAAe,GAAQ,CAAY,IAKrE;QAAI,GAAiB,EAAS,MAAM,iBAAiB,CAAS,CAAC,CAAC,KAAK,SAAU,GAAI;KACjF,OAAO,GAAe,GAAI,CAAY;IACxC,CAAC,GAKC;SAJI,GAAa,WAIb,EAAS,MAAM,aAAa,EAAS,MAAM,QAAQ,QAAQ,OAAO,KAAK,GACzE;IAAA,OAGF,EAAW,kBAAkB,CAAC,GAAU,CAAK,CAAC;IAGhD,AAAI,EAAS,MAAM,gBAAgB,OACjC,EAAS,mBAAmB,GAC5B,EAAS,KAAK,GAId,IAAgC,IAChC,WAAW,WAAY;KACrB,IAAgC;IAClC,CAAC,GAII,EAAS,MAAM,aAClB,EAAoB;GAjBwB;EAlB0B;CAsC5E;CAEA,SAAS,IAAc;EACrB,IAAe;CACjB;CAEA,SAAS,IAAe;EACtB,IAAe;CACjB;CAEA,SAAS,KAAmB;EAC1B,IAAI,IAAM,EAAY;EAItB,AAHA,EAAI,iBAAiB,aAAa,GAAiB,EAAI,GACvD,EAAI,iBAAiB,YAAY,GAAiB,EAAa,GAC/D,EAAI,iBAAiB,cAAc,GAAc,EAAa,GAC9D,EAAI,iBAAiB,aAAa,GAAa,EAAa;CAC9D;CAEA,SAAS,IAAsB;EAC7B,IAAI,IAAM,EAAY;EAItB,AAHA,EAAI,oBAAoB,aAAa,GAAiB,EAAI,GAC1D,EAAI,oBAAoB,YAAY,GAAiB,EAAa,GAClE,EAAI,oBAAoB,cAAc,GAAc,EAAa,GACjE,EAAI,oBAAoB,aAAa,GAAa,EAAa;CACjE;CAEA,SAAS,EAAkB,GAAU,GAAU;EAC7C,GAAgB,GAAU,WAAY;GACpC,AAAI,CAAC,EAAS,MAAM,aAAa,EAAO,cAAc,EAAO,WAAW,SAAS,CAAM,KACrF,EAAS;EAEb,CAAC;CACH;CAEA,SAAS,GAAiB,GAAU,GAAU;EAC5C,GAAgB,GAAU,CAAQ;CACpC;CAEA,SAAS,GAAgB,GAAU,GAAU;EAC3C,IAAI,IAAM,EAA2B,CAAC,CAAC;EAEvC,SAAS,EAAS,GAAO;GACvB,AAAI,EAAM,WAAW,MACnB,GAA4B,GAAK,UAAU,CAAQ,GACnD,EAAS;EAEb;EAIA,IAAI,MAAa,GACf,OAAO,EAAS;EAKlB,AAFA,GAA4B,GAAK,UAAU,CAA4B,GACvE,GAA4B,GAAK,OAAO,CAAQ,GAChD,IAA+B;CACjC;CAEA,SAAS,EAAG,GAAW,GAAS,GAAS;EAMvC,AALI,MAAY,KAAK,MACnB,IAAU,KAIZ,GAD6B,EAAS,MAAM,iBAAiB,CACzD,CAAC,CAAC,QAAQ,SAAU,GAAM;GAE5B,AADA,EAAK,iBAAiB,GAAW,GAAS,CAAO,GACjD,EAAU,KAAK;IACP;IACK;IACF;IACA;GACX,CAAC;EACH,CAAC;CACH;CAEA,SAAS,KAAe;EAUtB,AATI,EAAyB,MAC3B,EAAG,cAAc,GAAW,EAC1B,SAAS,GACX,CAAC,GACD,EAAG,YAAY,GAAc,EAC3B,SAAS,GACX,CAAC,IAGH,GAAc,EAAS,MAAM,OAAO,CAAC,CAAC,QAAQ,SAAU,GAAW;GAC7D,UAAc,UAMlB,QAFA,EAAG,GAAW,CAAS,GAEf,GAAR;IACE,KAAK;KACH,EAAG,cAAc,CAAY;KAC7B;IAEF,KAAK;KACH,EAAG,KAAS,aAAa,QAAQ,EAAgB;KACjD;IAEF,KAAK,WACH,EAAG,YAAY,EAAgB;GAEnC;EACF,CAAC;CACH;CAEA,SAAS,KAAkB;EAQzB,AAPA,EAAU,QAAQ,SAAU,GAAM;GAChC,IAAI,IAAO,EAAK,MACZ,IAAY,EAAK,WACjB,IAAU,EAAK,SACf,IAAU,EAAK;GACnB,EAAK,oBAAoB,GAAW,GAAS,CAAO;EACtD,CAAC,GACD,IAAY,CAAC;CACf;CAEA,SAAS,EAAU,GAAO;EACxB,IAEI,IAA0B;EAE1B,OAAC,EAAS,MAAM,aAAa,GAAuB,CAAK,KAAK,IAIlE;OAAI,IAAmC,GAAuD,SAAU;GA0BxG,AAzBA,IAAmB,GACnB,IAAgB,EAAM,eACtB,EAA4B,GAExB,CAAC,EAAS,MAAM,aAAa,GAAa,CAAK,KAKjD,GAAmB,QAAQ,SAAU,GAAU;IAC7C,OAAO,EAAS,CAAK;GACvB,CAAC,GAIC,EAAM,SAAS,YAAY,EAAS,MAAM,QAAQ,QAAQ,YAAY,IAAI,KAAK,MAAuB,EAAS,MAAM,gBAAgB,MAAS,EAAS,MAAM,YAC/J,IAA0B,KAE1B,GAAa,CAAK,GAGhB,EAAM,SAAS,YACjB,IAAqB,CAAC,IAGpB,KAA2B,CAAC,KAC9B,EAAa,CAAK;EA3BoF;CA6B1G;CAEA,SAAS,EAAY,GAAO;EAC1B,IAAI,IAAS,EAAM,QACf,IAAgC,EAAiB,CAAC,CAAC,SAAS,CAAM,KAAK,EAAO,SAAS,CAAM;EAE7F,EAAM,SAAS,eAAe,KAqB9B,GAjBiB,GAAoB,CAAC,CAAC,OAAO,CAAM,CAAC,CAAC,IAAI,SAAU,GAAQ;GAC9E,IAGI,IADW,EAAO,OACwB,gBAAyD;GAUvG,OARI,IACK;IACL,YAAY,EAAO,sBAAsB;IACzC,aAAa;IACN;GACT,IAGK;EACT,CAAC,CAAC,CAAC,OAAO,OAEwC,GAAG,CAAK,MACxD,EAAiC,GACjC,EAAa,CAAK;CAEtB;CAEA,SAAS,EAAa,GAAO;EACV,SAAuB,CAAK,KAAK,EAAS,MAAM,QAAQ,QAAQ,OAAO,KAAK,KAAK,IAMlG;OAAI,EAAS,MAAM,aAAa;IAC9B,EAAS,sBAAsB,CAAK;IACpC;GACF;GAEA,EAAa,CAAK;EAFlB;CAGF;CAEA,SAAS,GAAiB,GAAO;EAC3B,EAAS,MAAM,QAAQ,QAAQ,SAAS,IAAI,KAAK,EAAM,WAAW,EAAiB,KAKnF,EAAS,MAAM,eAAe,EAAM,iBAAiB,EAAO,SAAS,EAAM,aAAa,KAI5F,EAAa,CAAK;CACpB;CAEA,SAAS,GAAuB,GAAO;EACrC,OAAO,GAAa,UAAU,EAAyB,MAAM,EAAM,KAAK,QAAQ,OAAO,KAAK,IAAI;CAClG;CAEA,SAAS,KAAuB;EAC9B,GAAsB;EACtB,IAAI,IAAmB,EAAS,OAC5B,IAAgB,EAAiB,eACjC,IAAY,EAAiB,WAC7B,IAAS,EAAiB,QAC1B,IAAyB,EAAiB,wBAC1C,IAAiB,EAAiB,gBAClC,IAAQ,EAAqB,IAAI,GAAY,CAAM,CAAC,CAAC,QAAQ,MAC7D,IAAoB,IAAyB;GAC/C,uBAAuB;GACvB,gBAAgB,EAAuB,kBAAkB,EAAiB;EAC5E,IAAI,GA4BA,IAAY;GAAC;IACf,MAAM;IACN,SAAS,EACC,UACV;GACF;GAAG;IACD,MAAM;IACN,SAAS,EACP,SAAS;KACP,KAAK;KACL,QAAQ;KACR,MAAM;KACN,OAAO;IACT,EACF;GACF;GAAG;IACD,MAAM;IACN,SAAS,EACP,SAAS,EACX;GACF;GAAG;IACD,MAAM;IACN,SAAS,EACP,UAAU,CAAC,EACb;GACF;GAAG;IAnDD,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU,CAAC,eAAe;IAC1B,IAAI,SAAY,GAAO;KACrB,IAAI,IAAQ,EAAM;KAElB,IAAI,EAAqB,GAAG;MAC1B,IACI,IADwB,EACE,CAAC,CAAC;MAahC,AAXA;OAAC;OAAa;OAAoB;MAAS,CAAC,CAAC,QAAQ,SAAU,GAAM;OACnE,AAAI,MAAS,cACX,EAAI,aAAa,kBAAkB,EAAM,SAAS,IAE9C,EAAM,WAAW,OAAO,iBAAiB,KAC3C,EAAI,aAAa,UAAU,GAAM,EAAE,IAEnC,EAAI,gBAAgB,UAAU,CAAI;MAGxC,CAAC,GACD,EAAM,WAAW,SAAS,CAAC;KAC7B;IACF;GA2Ba;EAAC;EAahB,AAXI,EAAqB,KAAK,KAC5B,EAAU,KAAK;GACb,MAAM;GACN,SAAS;IACP,SAAS;IACT,SAAS;GACX;EACF,CAAC,GAGH,EAAU,KAAK,MAAM,GAAY,GAA+C,aAAc,CAAC,CAAC,GAChG,EAAS,iBAAiB,GAAa,GAAmB,GAAQ,OAAO,OAAO,CAAC,GAAG,GAAe;GACtF;GACI;GACJ;EACb,CAAC,CAAC;CACJ;CAEA,SAAS,KAAwB;EAC/B,AAEE,EAAS,oBADT,EAAS,eAAe,QAAQ,GACN;CAE9B;CAEA,SAAS,KAAQ;EACf,IAAI,IAAW,EAAS,MAAM,UAC1B,GAMA,IAAO,EAAiB;EAe5B,AAbA,AAGE,IAHE,EAAS,MAAM,eAAe,MAAa,MAA2B,MAAa,WACxE,EAAK,aAEL,GAAuB,GAAU,CAAC,CAAI,CAAC,GAKjD,EAAW,SAAS,CAAM,KAC7B,EAAW,YAAY,CAAM,GAG/B,EAAS,MAAM,YAAY,IAC3B,GAAqB;CACvB;CAEA,SAAS,KAAsB;EAC7B,OAAO,GAAU,EAAO,iBAAiB,mBAAmB,CAAC;CAC/D;CAEA,SAAS,GAAa,GAAO;EAO3B,AANA,EAAS,mBAAmB,GAExB,KACF,EAAW,aAAa,CAAC,GAAU,CAAK,CAAC,GAG3C,GAAiB;EACjB,IAAI,IAAQ,EAAS,EAAI,GAErB,IAAwB,EAA2B,GACnD,IAAa,EAAsB,IACnC,IAAa,EAAsB;EAMvC,AAJI,GAAa,WAAW,MAAe,UAAU,MACnD,IAAQ,IAGN,IACF,IAAc,WAAW,WAAY;GACnC,EAAS,KAAK;EAChB,GAAG,CAAK,IAER,EAAS,KAAK;CAElB;CAEA,SAAS,EAAa,GAAO;EAI3B,IAHA,EAAS,mBAAmB,GAC5B,EAAW,eAAe,CAAC,GAAU,CAAK,CAAC,GAEvC,CAAC,EAAS,MAAM,WAAW;GAC7B,EAAoB;GACpB;EACF;EAMI,QAAS,MAAM,QAAQ,QAAQ,YAAY,KAAK,KAAK,EAAS,MAAM,QAAQ,QAAQ,OAAO,KAAK,KAAK,CAAC,cAAc,WAAW,CAAC,CAAC,QAAQ,EAAM,IAAI,KAAK,KAAK,IAIjK;OAAI,IAAQ,EAAS,EAAK;GAE1B,AAAI,IACF,IAAc,WAAW,WAAY;IACnC,AAAI,EAAS,MAAM,aACjB,EAAS,KAAK;GAElB,GAAG,CAAK,IAIR,IAA6B,sBAAsB,WAAY;IAC7D,EAAS,KAAK;GAChB,CAAC;EAbuB;CAe5B;CAKA,SAAS,KAAS;EAChB,EAAS,MAAM,YAAY;CAC7B;CAEA,SAAS,IAAU;EAIjB,AADA,EAAS,KAAK,GACd,EAAS,MAAM,YAAY;CAC7B;CAEA,SAAS,KAAqB;EAG5B,AAFA,aAAa,CAAW,GACxB,aAAa,CAAW,GACxB,qBAAqB,CAA0B;CACjD;CAEA,SAAS,GAAS,GAAc;EAE1B,OAAS,MAAM,aAKnB;GADA,EAAW,kBAAkB,CAAC,GAAU,CAAY,CAAC,GACrD,GAAgB;GAChB,IAAI,IAAY,EAAS,OACrB,IAAY,GAAc,GAAW,OAAO,OAAO,CAAC,GAAG,GAAW,GAAqB,CAAY,GAAG,EACxG,kBAAkB,GACpB,CAAC,CAAC;GAsCF,AArCA,EAAS,QAAQ,GACjB,GAAa,GAET,EAAU,wBAAwB,EAAU,wBAC9C,EAAiC,GACjC,IAAuB,GAAW,GAAa,EAAU,mBAAmB,IAI1E,EAAU,iBAAiB,CAAC,EAAU,gBACxC,GAAiB,EAAU,aAAa,CAAC,CAAC,QAAQ,SAAU,GAAM;IAChE,EAAK,gBAAgB,eAAe;GACtC,CAAC,IACQ,EAAU,iBACnB,EAAU,gBAAgB,eAAe,GAG3C,EAA4B,GAC5B,EAAa,GAET,KACF,EAAS,GAAW,CAAS,GAG3B,EAAS,mBACX,GAAqB,GAKrB,GAAoB,CAAC,CAAC,QAAQ,SAAU,GAAc;IAGpD,sBAAsB,EAAa,OAAO,eAAe,WAAW;GACtE,CAAC,IAGH,EAAW,iBAAiB,CAAC,GAAU,CAAY,CAAC;EA1CpC;CA2ClB;CAEA,SAAS,GAAW,GAAS;EAC3B,EAAS,SAAS,EACP,WACX,CAAC;CACH;CAEA,SAAS,KAAO;EAGd,IAAI,IAAmB,EAAS,MAAM,WAClC,IAAc,EAAS,MAAM,aAC7B,IAAa,CAAC,EAAS,MAAM,WAC7B,IAA0B,GAAa,WAAW,CAAC,EAAS,MAAM,OAClE,IAAW,GAAwB,EAAS,MAAM,UAAU,GAAG,GAAa,QAAQ;EAEpF,WAAoB,KAAe,KAAc,MAOjD,GAAiB,CAAC,CAAC,aAAa,UAAU,MAI9C,EAAW,UAAU,CAAC,CAAQ,GAAG,EAAK,GAElC,EAAS,MAAM,OAAO,CAAQ,MAAM,KAmBxC;OAfA,EAAS,MAAM,YAAY,IAEvB,EAAqB,MACvB,EAAO,MAAM,aAAa,YAG5B,EAAa,GACb,GAAiB,GAEZ,EAAS,MAAM,cAClB,EAAO,MAAM,aAAa,SAKxB,EAAqB,GAAG;IAC1B,IAAI,IAAyB,EAA2B,GACpD,IAAM,EAAuB,KAC7B,IAAU,EAAuB;IAErC,GAAsB,CAAC,GAAK,CAAO,GAAG,CAAC;GACzC;GAuCA,AArCA,IAAgB,WAAyB;IACvC,IAAI;IAEA,OAAC,EAAS,MAAM,aAAa,IASjC;SALA,IAAsB,IAEtB,EAAY,cACZ,EAAO,MAAM,aAAa,EAAS,MAAM,gBAErC,EAAqB,KAAK,EAAS,MAAM,WAAW;MACtD,IAAI,IAAyB,EAA2B,GACpD,IAAO,EAAuB,KAC9B,IAAW,EAAuB;MAGtC,AADA,GAAsB,CAAC,GAAM,CAAQ,GAAG,CAAQ,GAChD,GAAmB,CAAC,GAAM,CAAQ,GAAG,SAAS;KAChD;KAUA,AARA,EAA2B,GAC3B,EAA4B,GAC5B,GAAa,IAAkB,CAAQ,IAGtC,IAAyB,EAAS,mBAAmB,QAAgB,EAAuB,YAAY,GACzG,EAAW,WAAW,CAAC,CAAQ,CAAC,GAE5B,EAAS,MAAM,aAAa,EAAqB,KACnD,GAAiB,GAAU,WAAY;MAErC,AADA,EAAS,MAAM,UAAU,IACzB,EAAW,WAAW,CAAC,CAAQ,CAAC;KAClC,CAAC;IAdH;GAgBF,GAEA,GAAM;EAvCN;CAwCF;CAEA,SAAS,KAAO;EAGd,IAAI,IAAkB,CAAC,EAAS,MAAM,WAClC,IAAc,EAAS,MAAM,aAC7B,IAAa,CAAC,EAAS,MAAM,WAC7B,IAAW,GAAwB,EAAS,MAAM,UAAU,GAAG,GAAa,QAAQ;EAEpF,WAAmB,KAAe,OAItC,EAAW,UAAU,CAAC,CAAQ,GAAG,EAAK,GAElC,EAAS,MAAM,OAAO,CAAQ,MAAM,KAiBxC;OAbA,EAAS,MAAM,YAAY,IAC3B,EAAS,MAAM,UAAU,IACzB,IAAsB,IACtB,IAAqB,IAEjB,EAAqB,MACvB,EAAO,MAAM,aAAa,WAG5B,EAAiC,GACjC,EAAoB,GACpB,EAAa,EAAI,GAEb,EAAqB,GAAG;IAC1B,IAAI,IAAyB,EAA2B,GACpD,IAAM,EAAuB,KAC7B,IAAU,EAAuB;IAErC,AAAI,EAAS,MAAM,cACjB,GAAsB,CAAC,GAAK,CAAO,GAAG,CAAQ,GAC9C,GAAmB,CAAC,GAAK,CAAO,GAAG,QAAQ;GAE/C;GAKA,AAHA,EAA2B,GAC3B,EAA4B,GAExB,EAAS,MAAM,YACb,EAAqB,KACvB,EAAkB,GAAU,EAAS,OAAO,IAG9C,EAAS,QAAQ;EAVnB;CAYF;CAEA,SAAS,GAAsB,GAAO;EAIpC,AAFA,EAAY,CAAC,CAAC,iBAAiB,aAAa,CAAoB,GAChE,GAAa,IAAoB,CAAoB,GACrD,EAAqB,CAAK;CAC5B;CAEA,SAAS,KAAU;EAEjB,AAAI,EAAS,MAAM,aACjB,EAAS,KAAK,GAGX,EAAS,MAAM,cAIpB,GAAsB,GAItB,GAAoB,CAAC,CAAC,QAAQ,SAAU,GAAc;GACpD,EAAa,OAAO,QAAQ;EAC9B,CAAC,GAEG,EAAO,cACT,EAAO,WAAW,YAAY,CAAM,GAGtC,KAAmB,GAAiB,OAAO,SAAU,GAAG;GACtD,OAAO,MAAM;EACf,CAAC,GACD,EAAS,MAAM,YAAY,IAC3B,EAAW,YAAY,CAAC,CAAQ,CAAC;CACnC;CAEA,SAAS,KAAU;EAEb,EAAS,MAAM,gBAInB,EAAS,mBAAmB,GAC5B,EAAS,QAAQ,GACjB,GAAgB,GAChB,OAAO,EAAU,QACjB,EAAS,MAAM,cAAc,IAC7B,EAAW,aAAa,CAAC,CAAQ,CAAC;CACpC;AACF;AAEA,SAAS,EAAM,GAAS,GAAe;CACrC,AAAI,MAAkB,KAAK,MACzB,IAAgB,CAAC;CAGnB,IAAI,IAAU,GAAa,QAAQ,OAAO,EAAc,WAAW,CAAC,CAAC;CAErE,GAAyB;CACzB,IAAI,IAAc,OAAO,OAAO,CAAC,GAAG,GAAe,EACxC,WACX,CAAC,GAGG,IAFW,GAAmB,CAEX,CAAC,CAAC,OAAO,SAAU,GAAK,GAAW;EACxD,IAAI,IAAW,KAAa,GAAY,GAAW,CAAW;EAM9D,OAJI,KACF,EAAI,KAAK,CAAQ,GAGZ;CACT,GAAG,CAAC,CAAC;CACL,OAAO,GAAY,CAAO,IAAI,EAAU,KAAK;AAC/C;AAEA,EAAM,eAAe,IACrB,EAAM,kBAAkB,IACxB,EAAM,eAAe;AAiCrB,IAAI,KAAsB,OAAO,OAAO,CAAC,GAAG,IAAe,EACzD,QAAQ,SAAgB,GAAM;CAC5B,IAAI,IAAQ,EAAK,OACb,IAAgB;EAClB,QAAQ;GACN,UAAU,EAAM,QAAQ;GACxB,MAAM;GACN,KAAK;GACL,QAAQ;EACV;EACA,OAAO,EACL,UAAU,WACZ;EACA,WAAW,CAAC;CACd;CAIA,AAHA,OAAO,OAAO,EAAM,SAAS,OAAO,OAAO,EAAc,MAAM,GAC/D,EAAM,SAAS,GAEX,EAAM,SAAS,SACjB,OAAO,OAAO,EAAM,SAAS,MAAM,OAAO,EAAc,KAAK;AAIjE,EACF,CAAC,GAEG,KAAkB,SAAyB,GAAgB,GAAe;CAG5E,AAAI,MAAkB,KAAK,MACzB,IAAgB,CAAC;CAGnB,IAAI,IAAsB,GACtB,IAAa,CAAC,GACd,IAAiB,CAAC,GAClB,GACA,IAAY,EAAc,WAC1B,IAA4B,CAAC,GAC7B,IAAgB;CAEpB,SAAS,IAAoB;EAC3B,IAAiB,EAAoB,IAAI,SAAU,GAAU;GAC3D,OAAO,GAAiB,EAAS,MAAM,iBAAiB,EAAS,SAAS;EAC5E,CAAC,CAAC,CAAC,OAAO,SAAU,GAAK,GAAM;GAC7B,OAAO,EAAI,OAAO,CAAI;EACxB,GAAG,CAAC,CAAC;CACP;CAEA,SAAS,IAAgB;EACvB,IAAa,EAAoB,IAAI,SAAU,GAAU;GACvD,OAAO,EAAS;EAClB,CAAC;CACH;CAEA,SAAS,EAAgB,GAAW;EAClC,EAAoB,QAAQ,SAAU,GAAU;GAC9C,AAAI,IACF,EAAS,OAAO,IAEhB,EAAS,QAAQ;EAErB,CAAC;CACH;CAEA,SAAS,EAAkB,GAAW;EACpC,OAAO,EAAoB,IAAI,SAAU,GAAU;GACjD,IAAI,IAAmB,EAAS;GAUhC,OARA,EAAS,WAAW,SAAU,GAAO;IAGnC,AAFA,EAAiB,CAAK,GAElB,EAAS,cAAc,KACzB,EAAU,SAAS,CAAK;GAE5B,GAEO,WAAY;IACjB,EAAS,WAAW;GACtB;EACF,CAAC;CACH;CAGA,SAAS,EAAgB,GAAW,GAAQ;EAC1C,IAAI,IAAQ,EAAe,QAAQ,CAAM;EAErC,UAAW,GAIf;OAAgB;GAChB,IAAI,KAAiB,KAAa,CAAC,EAAA,CAAG,OAAO,SAAS,CAAC,CAAC,OAAO,SAAU,GAAK,GAAM;IAElF,OADA,EAAI,KAAQ,EAAoB,EAAM,CAAC,MAAM,IACtC;GACT,GAAG,CAAC,CAAC;GACL,EAAU,SAAS,OAAO,OAAO,CAAC,GAAG,GAAe,EAClD,wBAAwB,OAAO,EAAc,0BAA2B,aAAa,EAAc,yBAAyB,WAAY;IAGtI,OAA4B,EAAW,EAAA,EAA6C,sBAAsB;GAC5G,EACF,CAAC,CAAC;EAXc;CAYlB;CAIA,AAFA,EAAgB,EAAK,GACrB,EAAc,GACd,EAAkB;CA4BlB,IAAI,IAAY,EAAM,GAAI,GAAG,OAAO,OAAO,CAAC,GAAG,GAAiB,GAAe,CAAC,WAAW,CAAC,GAAG;EAC7F,SAAS,CAAC,EA3BV,IAAI,WAAc;GAChB,OAAO;IACL,WAAW,WAAqB;KAC9B,EAAgB,EAAI;IACtB;IACA,UAAU,WAAoB;KAC5B,IAAgB;IAClB;IACA,gBAAgB,SAAwB,GAAU;KAChD,AAAI,EAAS,MAAM,gBAAgB,CAAC,MAClC,IAAgB,IAChB,IAAgB;IAEpB;IACA,QAAQ,SAAgB,GAAU;KAChC,AAAI,EAAS,MAAM,gBAAgB,CAAC,MAClC,IAAgB,IAChB,EAAgB,GAAU,EAAW,EAAE;IAE3C;IACA,WAAW,SAAmB,GAAU,GAAO;KAC7C,EAAgB,GAAU,EAAM,aAAa;IAC/C;GACF;EACF,EAGe,CAAC,CAAC,CAAC,OAAO,EAAc,WAAW,CAAC,CAAC;EACpD,eAAe;EACf,eAAe,OAAO,OAAO,CAAC,GAAG,EAAc,eAAe,EAC5D,WAAW,CAAC,CAAC,CAAC,OAAiC,EAAc,eAAwD,aAAc,CAAC,GAAG,CAAC,EAAmB,CAAC,EAC9J,CAAC;CACH,CAAC,CAAC,GACE,IAAe,EAAU;CA4C7B,AA1CA,EAAU,OAAO,SAAU,GAAQ;EAIjC,IAHA,EAAa,GAGT,CAAC,KAAiB,KAAU,MAC9B,OAAO,EAAgB,GAAW,EAAW,EAAE;EAK7C,WAAiB,KAAU,OAK/B;OAAI,OAAO,KAAW,UACpB,OAAO,EAAW,MAAW,EAAgB,GAAW,EAAW,EAAO;GAI5E,IAAI,EAAoB,QAAQ,CAAM,KAAK,GAAG;IAC5C,IAAI,IAAM,EAAO;IACjB,OAAO,EAAgB,GAAW,CAAG;GACvC;GAGA,IAAI,EAAW,QAAQ,CAAM,KAAK,GAChC,OAAO,EAAgB,GAAW,CAAM;EAXkC;CAa9E,GAEA,EAAU,WAAW,WAAY;EAC/B,IAAI,IAAQ,EAAW;EAEvB,IAAI,CAAC,GACH,OAAO,EAAU,KAAK,CAAC;EAGzB,IAAI,IAAQ,EAAW,QAAQ,CAAa;EAC5C,EAAU,KAAK,EAAW,IAAQ,MAAM,CAAK;CAC/C,GAEA,EAAU,eAAe,WAAY;EACnC,IAAI,IAAO,EAAW,EAAW,SAAS;EAE1C,IAAI,CAAC,GACH,OAAO,EAAU,KAAK,CAAI;EAG5B,IAAI,IAAQ,EAAW,QAAQ,CAAa,GACxC,IAAS,EAAW,IAAQ,MAAM;EACtC,EAAU,KAAK,CAAM;CACvB;CAEA,IAAI,IAAmB,EAAU;CAuBjC,OArBA,EAAU,WAAW,SAAU,GAAO;EAEpC,AADA,IAAY,EAAM,aAAa,GAC/B,EAAiB,CAAK;CACxB,GAEA,EAAU,eAAe,SAAU,GAAe;EAUhD,AATA,EAAgB,EAAI,GACpB,EAA0B,QAAQ,SAAU,GAAI;GAC9C,OAAO,EAAG;EACZ,CAAC,GACD,IAAsB,GACtB,EAAgB,EAAK,GACrB,EAAc,GACd,EAAkB,GAClB,IAA4B,EAAkB,CAAS,GACvD,EAAU,SAAS,EACjB,eAAe,EACjB,CAAC;CACH,GAEA,IAA4B,EAAkB,CAAS,GAChD;AACT,GAEI,KAAc;CAChB,MAAM;CACN,cAAc;CACd,IAAI,SAAY,GAAU;EACxB,IAAI;EAGJ,IAAI,GAAG,IAAwB,EAAS,MAAM,WAAW,QAAQ,EAAsB,UAErF,OAAO,CAAC;EAGV,IAAI,IAAe,GAAY,EAAS,MAAM,GAC1C,IAAM,EAAa,KACnB,IAAU,EAAa,SAEvB,IAAW,EAAS,MAAM,cAAc,GAAsB,IAAI;EACtE,OAAO;GACL,UAAU,WAAoB;IAC5B,AAAI,MACF,EAAI,aAAa,GAAU,EAAI,iBAAiB,GAChD,EAAI,aAAa,oBAAoB,EAAE,GACvC,EAAI,MAAM,WAAW,UACrB,EAAS,SAAS;KAChB,OAAO;KACP,WAAW;IACb,CAAC;GAEL;GACA,SAAS,WAAmB;IAC1B,IAAI,GAAU;KACZ,IAAI,IAAqB,EAAI,MAAM,oBAC/B,IAAW,OAAO,EAAmB,QAAQ,MAAM,EAAE,CAAC;KAM1D,AAFA,EAAQ,MAAM,kBAAkB,KAAK,MAAM,IAAW,EAAE,IAAI,MAC5D,EAAS,MAAM,qBAAqB,GACpC,GAAmB,CAAC,CAAQ,GAAG,SAAS;IAC1C;GACF;GACA,QAAQ,WAAkB;IACxB,AAAI,MACF,EAAS,MAAM,qBAAqB;GAExC;GACA,QAAQ,WAAkB;IACxB,AAAI,KACF,GAAmB,CAAC,CAAQ,GAAG,QAAQ;GAE3C;EACF;CACF;AACF;AAEA,SAAS,KAAwB;CAC/B,IAAI,IAAW,GAAI;CAGnB,OAFA,EAAS,YAAY,IACrB,GAAmB,CAAC,CAAQ,GAAG,QAAQ,GAChC;AACT;AAEA,IAAI,KAAc;CAChB,SAAS;CACT,SAAS;AACX,GACI,KAAkB,CAAC;AAEvB,SAAS,GAAiB,GAAM;CAG9B,KAAc;EACZ,SAHY,EAAK;EAIjB,SAHY,EAAK;CAInB;AACF;AAEA,SAAS,GAAuB,GAAK;CACnC,EAAI,iBAAiB,aAAa,EAAgB;AACpD;AAEA,SAAS,GAA0B,GAAK;CACtC,EAAI,oBAAoB,aAAa,EAAgB;AACvD;AAEA,IAAI,KAAe;CACjB,MAAM;CACN,cAAc;CACd,IAAI,SAAY,GAAU;EACxB,IAAI,IAAY,EAAS,WACrB,IAAM,GAAiB,EAAS,MAAM,iBAAiB,CAAS,GAChE,IAAmB,IACnB,IAAgB,IAChB,IAAc,IACd,IAAY,EAAS;EAEzB,SAAS,IAAuB;GAC9B,OAAO,EAAS,MAAM,iBAAiB,aAAa,EAAS,MAAM;EACrE;EAEA,SAAS,IAAc;GACrB,EAAI,iBAAiB,aAAa,CAAW;EAC/C;EAEA,SAAS,IAAiB;GACxB,EAAI,oBAAoB,aAAa,CAAW;EAClD;EAEA,SAAS,IAA8B;GAKrC,AAJA,IAAmB,IACnB,EAAS,SAAS,EAChB,wBAAwB,KAC1B,CAAC,GACD,IAAmB;EACrB;EAEA,SAAS,EAAY,GAAO;GAG1B,IAAI,IAAwB,GAAM,UAAS,EAAU,SAAS,EAAM,MAAM,GACtE,IAAe,EAAS,MAAM,cAC9B,IAAU,EAAM,SAChB,IAAU,EAAM,SAChB,IAAO,EAAU,sBAAsB,GACvC,IAAY,IAAU,EAAK,MAC3B,IAAY,IAAU,EAAK;GAE/B,CAAI,KAAyB,CAAC,EAAS,MAAM,gBAC3C,EAAS,SAAS,EAEhB,wBAAwB,WAAkC;IACxD,IAAI,IAAO,EAAU,sBAAsB,GACvC,IAAI,GACJ,IAAI;IAER,AAAI,MAAiB,cACnB,IAAI,EAAK,OAAO,GAChB,IAAI,EAAK,MAAM;IAGjB,IAAI,IAAM,MAAiB,eAAe,EAAK,MAAM,GACjD,IAAQ,MAAiB,aAAa,EAAK,QAAQ,GACnD,IAAS,MAAiB,eAAe,EAAK,SAAS,GACvD,IAAO,MAAiB,aAAa,EAAK,OAAO;IACrD,OAAO;KACL,OAAO,IAAQ;KACf,QAAQ,IAAS;KACZ;KACE;KACC;KACF;IACR;GACF,EACF,CAAC;EAEL;EAEA,SAAS,IAAS;GAChB,AAAI,EAAS,MAAM,iBACjB,GAAgB,KAAK;IACT;IACL;GACP,CAAC,GACD,GAAuB,CAAG;EAE9B;EAEA,SAAS,IAAU;GAKjB,AAJA,KAAkB,GAAgB,OAAO,SAAU,GAAM;IACvD,OAAO,EAAK,aAAa;GAC3B,CAAC,GAEG,GAAgB,OAAO,SAAU,GAAM;IACzC,OAAO,EAAK,QAAQ;GACtB,CAAC,CAAC,CAAC,WAAW,KACZ,GAA0B,CAAG;EAEjC;EAEA,OAAO;GACL,UAAU;GACV,WAAW;GACX,gBAAgB,WAA0B;IACxC,IAAY,EAAS;GACvB;GACA,eAAe,SAAuB,GAAG,GAAO;IAC9C,IAAI,IAAe,EAAM;IAErB,KAIA,MAAiB,KAAA,KAAa,EAAU,iBAAiB,MAC3D,EAAQ,GAEJ,KACF,EAAO,GAEH,EAAS,MAAM,aAAa,CAAC,KAAiB,CAAC,EAAqB,KACtE,EAAY,MAGd,EAAe,GACf,EAA4B;GAGlC;GACA,SAAS,WAAmB;IAC1B,AAAI,EAAS,MAAM,gBAAgB,CAAC,MAClC,AAEE,OADA,EAAY,EAAW,GACT,KAGX,EAAqB,KACxB,EAAY;GAGlB;GACA,WAAW,SAAmB,GAAG,GAAO;IAQtC,AAPI,GAAa,CAAK,MACpB,KAAc;KACZ,SAAS,EAAM;KACf,SAAS,EAAM;IACjB,IAGF,IAAgB,EAAM,SAAS;GACjC;GACA,UAAU,WAAoB;IAC5B,AAAI,EAAS,MAAM,iBACjB,EAA4B,GAC5B,EAAe,GACf,IAAc;GAElB;EACF;CACF;AACF;AAEA,SAAS,GAAS,GAAO,GAAU;CAGjC,OAAO,EACL,eAAe,OAAO,OAAO,CAAC,GAAG,EAAM,eAAe,EACpD,WAAW,CAAC,CAAC,CAAC,QAAiC,EAAM,eAAuD,aAAc,CAAC,EAAA,CAAG,OAAO,SAAU,GAAM;EAEnJ,OADW,EAAK,SACA,EAAS;CAC3B,CAAC,GAAG,CAAC,CAAQ,CAAC,EAChB,CAAC,EACH;AACF;AAEA,IAAI,KAAoB;CACtB,MAAM;CACN,cAAc;CACd,IAAI,SAAY,GAAU;EACxB,IAAI,IAAY,EAAS;EAEzB,SAAS,IAAY;GACnB,OAAO,CAAC,CAAC,EAAS,MAAM;EAC1B;EAEA,IAAI,GACA,IAAkB,IAClB,IAAmB,IACnB,IAAkB,CAAC,GACnB,IAAW;GACb,MAAM;GACN,SAAS;GACT,OAAO;GACP,IAAI,SAAY,GAAO;IACrB,IAAI,IAAQ,EAAM;IAElB,AAAI,EAAU,MACR,EAAgB,QAAQ,EAAM,SAAS,MAAM,OAC/C,IAAkB,CAAC,IAGjB,MAAc,EAAM,aAAa,EAAgB,QAAQ,EAAM,SAAS,MAAM,OAChF,EAAgB,KAAK,EAAM,SAAS,GACpC,EAAS,SAAS,EAEhB,wBAAwB,WAAkC;KACxD,OAAO,EAAwB,EAAM,SAAS;IAChD,EACF,CAAC,IAGH,IAAY,EAAM;GAEtB;EACF;EAEA,SAAS,EAAwB,GAAW;GAC1C,OAAO,GAA4B,GAAmB,CAAS,GAAG,EAAU,sBAAsB,GAAG,GAAU,EAAU,eAAe,CAAC,GAAG,CAAe;EAC7J;EAEA,SAAS,EAAiB,GAAc;GAGtC,AAFA,IAAmB,IACnB,EAAS,SAAS,CAAY,GAC9B,IAAmB;EACrB;EAEA,SAAS,IAAc;GACrB,AAAK,KACH,EAAiB,GAAS,EAAS,OAAO,CAAQ,CAAC;EAEvD;EAEA,OAAO;GACL,UAAU;GACV,eAAe;GACf,WAAW,SAAmB,GAAG,GAAO;IACtC,IAAI,GAAa,CAAK,GAAG;KACvB,IAAI,IAAQ,GAAU,EAAS,UAAU,eAAe,CAAC,GACrD,IAAa,EAAM,KAAK,SAAU,GAAM;MAC1C,OAAO,EAAK,OAAO,KAAK,EAAM,WAAW,EAAK,QAAQ,KAAK,EAAM,WAAW,EAAK,MAAM,KAAK,EAAM,WAAW,EAAK,SAAS,KAAK,EAAM;KACxI,CAAC,GACG,IAAQ,EAAM,QAAQ,CAAU;KACpC,IAAkB,IAAQ,KAAK,IAAQ;IACzC;GACF;GACA,UAAU,WAAoB;IAC5B,IAAkB;GACpB;EACF;CACF;AACF;AACA,SAAS,GAA4B,GAAsB,GAAc,GAAa,GAAiB;CAErG,IAAI,EAAY,SAAS,KAAK,MAAyB,MACrD,OAAO;CAIT,IAAI,EAAY,WAAW,KAAK,KAAmB,KAAK,EAAY,EAAE,CAAC,OAAO,EAAY,EAAE,CAAC,OAC3F,OAAO,EAAY,MAAoB;CAGzC,QAAQ,GAAR;EACE,KAAK;EACL,KAAK;GAED,IAAI,IAAY,EAAY,IACxB,IAAW,EAAY,EAAY,SAAS,IAC5C,IAAQ,MAAyB,OACjC,IAAM,EAAU,KAChB,IAAS,EAAS,QAClB,IAAO,IAAQ,EAAU,OAAO,EAAS,MACzC,IAAQ,IAAQ,EAAU,QAAQ,EAAS;GAG/C,OAAO;IACA;IACG;IACF;IACC;IACP,OAPU,IAAQ;IAQlB,QAPW,IAAS;GAQtB;EAGJ,KAAK;EACL,KAAK;GAED,IAAI,IAAU,KAAK,IAAI,MAAM,MAAM,EAAY,IAAI,SAAU,GAAO;IAClE,OAAO,EAAM;GACf,CAAC,CAAC,GACE,IAAW,KAAK,IAAI,MAAM,MAAM,EAAY,IAAI,SAAU,GAAO;IACnE,OAAO,EAAM;GACf,CAAC,CAAC,GACE,IAAe,EAAY,OAAO,SAAU,GAAM;IACpD,OAAO,MAAyB,SAAS,EAAK,SAAS,IAAU,EAAK,UAAU;GAClF,CAAC,GACG,IAAO,EAAa,EAAE,CAAC,KACvB,IAAU,EAAa,EAAa,SAAS,EAAE,CAAC,QAChD,IAAQ,GACR,IAAS;GAMb,OAAO;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,OATW,IAAS;IAUpB,QARY,IAAU;GASxB;EAGJ,SAEI,OAAO;CAEb;AACF;AAEA,IAAI,KAAS;CACX,MAAM;CACN,cAAc;CACd,IAAI,SAAY,GAAU;EACxB,IAAI,IAAY,EAAS,WACrB,IAAS,EAAS;EAEtB,SAAS,IAAe;GACtB,OAAO,EAAS,iBAAiB,EAAS,eAAe,MAAM,SAAS,YAAY;EACtF;EAEA,SAAS,EAAY,GAAO;GAC1B,OAAO,EAAS,MAAM,WAAW,MAAQ,EAAS,MAAM,WAAW;EACrE;EAEA,IAAI,IAAc,MACd,IAAc;EAElB,SAAS,IAAiB;GACxB,IAAI,IAAiB,EAAY,WAAW,IAAI,EAAa,CAAC,CAAC,sBAAsB,IAAI,MACrF,IAAiB,EAAY,QAAQ,IAAI,EAAO,sBAAsB,IAAI;GAW9E,CATI,KAAkB,GAAkB,GAAa,CAAc,KAAK,KAAkB,GAAkB,GAAa,CAAc,MACjI,EAAS,kBACX,EAAS,eAAe,OAAO,GAInC,IAAc,GACd,IAAc,GAEV,EAAS,MAAM,aACjB,sBAAsB,CAAc;EAExC;EAEA,OAAO,EACL,SAAS,WAAmB;GAC1B,AAAI,EAAS,MAAM,UACjB,EAAe;EAEnB,EACF;CACF;AACF;AAEA,SAAS,GAAkB,GAAO,GAAO;CAKvC,OAJI,KAAS,IACJ,EAAM,QAAQ,EAAM,OAAO,EAAM,UAAU,EAAM,SAAS,EAAM,WAAW,EAAM,UAAU,EAAM,SAAS,EAAM,OAGlH;AACT;AAEA,EAAM,gBAAgB,EACZ,WACV,CAAC,GAED,EAAM,gBAAgB,EAElB,SAAQ,MAAY;CAChB,IAAI,CAAC,EAAS,MAAM,SAChB,OAAO;AACf,EACJ,CAAC;AACD,IAAM,MAAuB,MAClB,aAAiB,UAAU,OAAO,KAAS,SAAS;AAE/D,SAAS,GAAS,GAAI,IAAO,CAAC,GAAG,IAAW;CAAE,OAAO;CAAM,SAAS;AAAQ,GAAG;CAC3E,IAAW,OAAO,OAAO;EAAE,OAAO;EAAM,SAAS;CAAQ,GAAG,CAAQ;CACpE,IAAM,IAAK,EAAmB,GACxB,IAAW,EAAI,GACf,IAAQ,EAAI;EACd,WAAW;EACX,WAAW;EACX,aAAa;EACb,WAAW;EACX,SAAS;CACb,CAAC,GACK,IAAc,EAAW,GAC3B,IAAY,MACV,UACE,MAEJ,IAAY,SAAS,uBAAuB,GACrC,IAEL,KAAc,MAAY;EAC5B,IAAI,GACA,IAAmB,EAAM,CAAO,IAC9B,EAAQ,QACR;EAkCN,OAjCI,EAAQ,CAAgB,KACnB,EAAY,UACb,EAAY,QAAQ,EAAU;GAC1B,MAAM,EAAS;GACf,mBACiB,EAAM,CAAO,IAAI,EAAQ,QAAQ;EAEtD,CAAC,GACG,KACA,OAAO,OAAO,EAAY,MAAM,UAAU,EAAG,UAAU,GAE3D,EAAY,MAAM,MAAM,EAAa,CAAC,IAE1C,UAAmB,EAAa,KAE3B,OAAO,KAAqB,YAC5B,EAAY,UACb,EAAY,QAAQ,EAAU;GAC1B,MAAM,EAAS;GACf,mBACiB,EAAE,EAAM,CAAO,IAAI,EAAQ,QAAQ,CAAO;EAE/D,CAAC,GACG,KACA,OAAO,OAAO,EAAY,MAAM,UAAU,EAAG,UAAU,GAE3D,EAAY,MAAM,MAAM,EAAa,CAAC,IAE1C,UAAmB,EAAa,KAGhC,IAAa,GAEV;CACX,GACM,KAAY,MAAS;EACvB,IAAI,IAAU,CAAC;EAuDf,OAtDA,AAOI,IAPA,EAAM,CAAI,IACA,EAAK,SAAS,CAAC,KAEpB,EAAW,CAAI,GACV,EAAE,GAAG,EAAK,IAKpB,EAAQ,YACR,EAAQ,UAAU,EAAW,EAAQ,OAAO,IAE5C,EAAQ,kBACR,EAAQ,gBAAgB,EAAM,EAAQ,aAAa,IAC7C,EAAQ,cAAc,QACtB,EAAQ,iBAEd,CAAC,EAAQ,WAAW,CAAC,MAAM,QAAQ,EAAQ,OAAO,OAClD,EAAQ,UAAU,CAAC,IAEvB,EAAQ,UAAU,EAAQ,QAAQ,QAAQ,MAAW,EAAO,SAAS,uBAAuB,GAC5F,EAAQ,QAAQ,KAAK;GACjB,MAAM;GACN,WACW;IACH,WAAW;KACP,EAAM,MAAM,YAAY;IAC5B;IACA,UAAU;KACN,EAAM,MAAM,YAAY;IAC5B;IACA,SAAS;KAEL,AADA,EAAM,MAAM,YAAY,IACxB,EAAM,MAAM,YAAY;IAC5B;IACA,UAAU;KACN,EAAM,MAAM,UAAU;IAC1B;IACA,SAAS;KAEL,AADA,EAAM,MAAM,YAAY,IACxB,EAAM,MAAM,YAAY;IAC5B;IACA,WAAW;KACP,EAAM,MAAM,UAAU;IAC1B;IACA,cAAc;KACV,EAAM,MAAM,YAAY;IAC5B;IACA,YAAY;KACR,EAAM,MAAM,cAAc;IAC9B;GACJ;EAER,CAAC,GACM;CACX,GACM,UAAgB;EACb,EAAS,SAEd,EAAS,MAAM,SAAS,EAAS,CAAI,CAAC;CAC1C,GACM,UAAuB;EACrB,CAAC,EAAS,SAAS,CAAC,EAAK,WAE7B,EAAS,MAAM,WAAW,EAAW,EAAK,OAAO,CAAC;CACtD,GACM,KAAc,MAAU;EAC1B,IAAI;EACJ,CAAC,IAAK,EAAS,UAAW,QAAiC,EAAG,WAAW,EAAW,CAAK,CAAC;CAC9F,GACM,KAAY,MAAU;EACxB,IAAI;EACJ,CAAC,IAAK,EAAS,UAAW,QAAiC,EAAG,SAAS,EAAS,CAAK,CAAC;CAC1F,GACM,UAAgB;EAClB,IAAI;EAOJ,AANA,AAEI,EAAS,WADT,EAAS,MAAM,QAAQ,GACN,KAAA,IAErB,IAAY,OACX,IAAK,EAAY,UAAW,QAAiC,EAAG,QAAQ,GACzE,EAAY,QAAQ,KAAA;CACxB,GACM,UAAa;EACf,IAAI;EACJ,CAAC,IAAK,EAAS,UAAW,QAAiC,EAAG,KAAK;CACvE,GACM,UAAa;EACf,IAAI;EACJ,CAAC,IAAK,EAAS,UAAW,QAAiC,EAAG,KAAK;CACvE,GACM,UAAgB;EAClB,IAAI;EAEJ,CADC,IAAK,EAAS,UAAW,QAAiC,EAAG,QAAQ,GACtE,EAAM,MAAM,YAAY;CAC5B,GACM,UAAe;EACjB,IAAI;EAEJ,CADC,IAAK,EAAS,UAAW,QAAiC,EAAG,OAAO,GACrE,EAAM,MAAM,YAAY;CAC5B,GACM,UAAgB;EAClB,IAAI;EACJ,CAAC,IAAK,EAAS,UAAW,QAAiC,EAAG,QAAQ;CAC1E,GACM,UAAc;EAChB,IAAI,CAAC,GACD;EACJ,IAAI,IAAS,EAAM,CAAE,IAAI,EAAG,QAAQ;EAMpC,AALI,OAAO,KAAW,eAClB,IAAS,EAAO,IAChB,GAAoB,CAAM,MAC1B,IAAS,EAAO,MAEhB,MAEA,EAAS,QAAQ,EAAM,GAAQ,EAAS,CAAI,CAAC,GAE7C,EAAO,SAAS;CAExB,GACM,IAAW;EACb,OAAO;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACJ;CAyBA,OAxBI,EAAS,UACL,IACI,EAAG,YACH,EAAM,IAGN,EAAU,CAAK,IAInB,EAAM,IAGV,KACA,QAAkB;EACd,EAAQ;CACZ,CAAC,GAED,EAAM,CAAI,KAAK,EAAW,CAAI,IAC9B,EAAM,GAAM,GAAS,EAAE,WAAW,GAAM,CAAC,IAEpC,EAAM,EAAK,OAAO,KACvB,EAAM,EAAK,SAAS,GAAgB,EAAE,WAAW,GAAM,CAAC,GAErD;AACX;AAgBA,SAAS,GAAa,GAAW,GAAe;CAC5C,IAAM,IAAY,EAAI;CAoBtB,OAnBA,QAAgB;EAMZ,IAAM,KALwB,MAAM,QAAQ,CAAS,IAC/C,EAAU,KAAI,MAAK,EAAE,KAAK,IAC1B,OAAO,KAAc,aACjB,EAAU,IACV,EAAU,MAAA,CAEf,KAAK,MACF,aAAoB,UAEb,EAAS,SAEb,CACV,CAAC,CACG,OAAO,OAAO;EACnB,EAAU,QAAQ,GAAgB,GAAgB,IAC5C;GAAE,WAAW;GAAM,GAAG;EAAc,IACpC,EAAE,WAAW,GAAK,CAAC;CAC7B,CAAC,GACM,EACH,aACJ;AACJ;AAEA,SAASG,GAAQ,GAAG;CAChB,OAAO,OAAO,KAAM,aACd,EAAE,IACF,EAAM,CAAC;AACjB;AACA,SAAS,GAAa,GAAO;CAEzB,IAAM,IAAQA,GAAQ,CAAK;CAC3B,OAAmB,GAA+C,OAAsC;AAC5G;AACA,IAAM,KAAiB,EAAgB;CACnC,OAAO;EACH,IAAI,EACA,MAAM,CAAC,QAAQ,QAAQ,EAC3B;EACA,KAAK;GACD,MAAM,CAAC,QAAQ,MAAM;GACrB,SAAS;EACb;EACA,YAAY;GACR,MAAM,CAAC,QAAQ,MAAM;GACrB,SAAS;EACb;EACA,cAAc;GACV,MAAM;GACN,SAAS;EACb;EACA,UAAU,EAAE,eAAe,EAAM,aAAa,SAAY;EAC1D,MAAM,EAAE,eAAe,EAAM,aAAa,KAAQ;EAClD,OAAO,EAAE,eAAe,EAAM,aAAa,MAAS;EACpD,UAAU,EAAE,eAAe,EAAM,aAAa,SAAY;EAC1D,wBAAwB,EAAE,eAAe,EAAM,aAAa,uBAA0B;EACtF,aAAa;GAAE,MAAM,CAAC,SAAS,MAAM;GAAG,eAAe,EAAM,aAAa;EAAe;EACzF,kBAAkB;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAoB;EACzF,aAAa;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAe;EAC/E,mBAAmB,EAAE,eAAe,EAAM,aAAa,kBAAqB;EAC5E,qBAAqB,EAAE,eAAe,EAAM,aAAa,oBAAuB;EAChF,gBAAgB,EAAE,eAAe,EAAM,aAAa,eAAkB;EACtE,QAAQ,EAAE,eAAe,EAAM,aAAa,OAAU;EACtD,eAAe,EAAE,eAAe,EAAM,aAAa,cAAiB;EACpE,gBAAgB,EAAE,eAAe,EAAM,aAAa,eAAkB;EACtE,UAAU,EAAE,eAAe,EAAM,aAAa,SAAY;EAC1D,WAAW,EAAE,eAAe,EAAM,aAAa,UAAa;EAC5D,UAAU,EAAE,eAAe,EAAM,aAAa,SAAY;EAC1D,QAAQ,EAAE,eAAe,EAAM,aAAa,OAAU;EACtD,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,QAAQ,EAAE,eAAe,EAAM,aAAa,OAAU;EACtD,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,WAAW,EAAE,eAAe,EAAM,aAAa,UAAa;EAC5D,aAAa,EAAE,eAAe,EAAM,aAAa,YAAe;EAChE,gBAAgB,EAAE,eAAe,EAAM,aAAa,eAAkB;EACtE,WAAW,EAAE,eAAe,EAAM,aAAa,UAAa;EAC5D,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,eAAe,EAAE,eAAe,EAAM,aAAa,cAAiB;EACpE,QAAQ,EAAE,eAAe,EAAM,aAAa,OAAU;EACtD,cAAc;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAgB;EACjF,OAAO;GAAE,MAAM;IAAC;IAAS;IAAQ;GAAK;GAAG,eAAe,EAAM,aAAa;EAAS;EACpF,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,eAAe,EAAE,eAAe,EAAM,aAAa,cAAiB;EACpE,aAAa;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAe;EAC/E,cAAc;GAAE,MAAM,CAAC,SAAS,MAAM;GAAG,eAAe,EAAM,aAAa;EAAgB;EAC3F,mBAAmB;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAqB;EAC3F,QAAQ;GAAE,MAAM,CAAC,SAAS,MAAM;GAAG,eAAe,EAAM,aAAa;EAAU;EAC/E,WAAW;GAAE,MAAM;GAAS,eAAe,EAAM,aAAa;EAAa;EAC3E,WAAW,EAAE,eAAe,EAAM,aAAa,UAAa;EAC5D,OAAO,EAAE,eAAe,EAAM,aAAa,MAAS;EACpD,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,SAAS,EAAE,eAAe,EAAM,aAAa,QAAW;EACxD,UAAU,EAAE,eAAe,EAAM,aAAa,SAAY;EAC1D,MAAM,EAAE,eAAe,EAAM,aAAa,KAAQ;EAClD,OAAO,EAAE,eAAe,EAAM,aAAa,MAAS;EACpD,QAAQ,EAAE,eAAe,EAAM,aAAa,OAAU;CAC1D;CACA,OAAO,CAAC,OAAO;CACf,MAAM,GAAO,EAAE,UAAO,SAAM,aAAU;EAClC,IAAM,IAAO,EAAI,GACX,IAAmB,EAAI,GACvB,IAAc,EAAI,GAClB,IAAU,EAAI,EAAK,GACnB,UAAmB;GACrB,IAAI,IAAU,EAAE,GAAG,EAAM;GACzB,KAAK,IAAM,KAAQ;IAAC;IAAM;IAAO;IAAc;GAAc,GACzD,AAAI,EAAQ,eAAe,CAAI,KAE3B,OAAO,EAAQ;GAGvB,OAAO;EACX,GACI,UAAe,GAAa,CAAI;EACpC,AAAI,EAAM,OACF,OAAO,UAAY,OAAe,EAAM,cAAc,UACtD,UAAe,EAAM,KAEhB,EAAM,OAAO,WAClB,UAAe;GACX,IAAI,IAAK,EAAK;GAId,OAHA,AACI,MAAK,EAAK,QAAQ,EAAiB,MAAM,eAEtC;EACX,KAEK,OAAO,EAAM,MAAO,YAAY,EAAM,cAAc,YACzD,UAAe,SAAS,cAAc,EAAM,EAAE;EAGtD,IAAM,IAAQ,GAAS,GAAQ,EAAW,CAAC,GACvC,IAAc,EAAM;EAcxB,AAbI,CAAC,KAAe,EAAM,OAAO,aAC7B,IAAc,EAAM,UAExB,QAAgB;GAEZ,AADA,EAAQ,QAAQ,IAChB,QAAe;IACX,AAAI,KACA,EAAM,iBAAiB,EAAY,KAAK;GAChD,CAAC;EACL,CAAC,GACD,EAAM,EAAM,aAAa;GACrB,EAAK,SAAS,EAAM,EAAM,KAAK,CAAC;EACpC,GAAG;GAAE,WAAW;GAAM,MAAM;EAAK,CAAC,GAClC,QAAY,SAAa;GAErB,AADA,EAAM,SAAS,EAAW,CAAC,GACvB,KACA,EAAM,iBAAiB,EAAY,KAAK;EAChD,GAAG,EAAE,MAAM,GAAK,CAAC;EACjB,IAAI,IAAU,EAAS;GACnB;GACA;GACA;GACA,GAAG;EACP,CAAC;EAED,OADA,EAAO,CAAO,SACD;GACT,IAAM,KAAoB,EAAM,YAA0B,EAAM,aAC1D,IAAU,IACV,EAAE,GAAY;IACZ,KAAK;IACL,OAAO,EAAE,SAAS,EAAQ,QAAQ,YAAY,OAAO;IACrD,OAAO,EAAM;GACjB,GAAG,EAAY,CAAO,CAAC,IACrB;GACN,IAAI,EAAM,OAAO,UAAU;IACvB,IAAM,IAAS,CAAC;IAChB,IAAI,CAAC,EAAK,OAAO;KACb,IAAM,IAAuB,EAAE,QAAQ;MACnC,KAAK;MACL,gBAAgB;MAChB,OAAO,EAAE,SAAS,OAAO;KAC7B,CAAC;KACD,EAAO,KAAK,CAAoB;IACpC;IAIA,OAHI,KACA,EAAO,KAAK,CAAO,GAEhB;GACX;GACA,IAAM,IAAO,EAAM,UAAU,EAAM,QAAQ,CAAO,IAAI,CAAC;GACvD,IAAI,CAAC,EAAM,KAAK;IACZ,IAAM,IAAU,EAAE,EAAK,IAAI;KACvB,KAAK;KAAM,gBAAgB;IAC/B,CAAC;IACD,OAAO,IAAU,CAAC,GAAS,CAAO,IAAI;GAC1C;GACA,IAAM,KAAa,EAAM,KAAmB,EAAM;GAClD,OAAO,EAAE,GAAK;IAAE,KAAK;IAAM,gBAAgB;GAAG,GAAG,IAAU,CAAC,GAAM,CAAO,IAAI,CAAI;EACrF;CACJ;AACJ,CAAC,GAEK,KAAe;CACjB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACJ,GACI,KAAQ,CAAC;AACb,OAAO,KAAK,EAAM,YAAY,CAAC,CAAC,SAAS,MAAS;CAC9C,AASI,GAAM,KATN,GAAa,SAAS,CAAI,IACZ;EACV,MAAM;EACN,SAAS,WAAY;GACjB,OAAO,EAAM,aAAa;EAC9B;CACJ,IAGc,EACV,SAAS,WAAY;EACjB,OAAO,EAAM,aAAa;CAC9B,EACJ;AAER,CAAC;AACD,IAAM,KAAiB,EAAgB;CACnC;CACA,MAAM,GAAO;EACT,IAAM,IAAY,EAAI,CAAC,CAAC,GAClB,EAAE,iBAAc,GAAa,GAAW,CAAK;EACnD,OAAO;GAAE;GAAW;EAAU;CAClC;CACA,UAAU;EACN,IAAI;EAEJ,IAAM,IADS,KAAK,IAAI,cACA,iBAAiB,gBAAgB;EAIzD,AAHA,KAAK,YAAY,MAAM,KAAK,CAAQ,CAAC,CAChC,KAAK,MAAO,EAAG,MAAM,CAAC,CACtB,OAAO,OAAO,IAClB,IAAK,KAAK,cAAe,QAAiC,EAAG,aAAa,KAAK,SAAS;CAC7F;CACA,SAAS;EACL,IAAI,IAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,IAAI,CAAC;EAC1D,OAAO,QAAQ,CAAI;CACvB;AACJ,CAAC,GAEK,KAAY;CACd,QAAQ,GAAI,GAAS,GAAO;EACxB,IAAM,IAAO,OAAO,EAAQ,SAAU,WAAW,EAAE,SAAS,EAAQ,MAAM,IAAI,EAAQ,SAAS,CAAC,GAC1F,IAAY,OAAO,KAAK,EAAQ,aAAa,CAAC,CAAC,GAC/C,IAAY,EAAU,MAAK,MAAY,MAAa,OAAO,GAC3D,IAAY,EAAU,WAAU,MAAY,MAAa,OAAO,MAAM;EA4C5E,AA3CI,MACA,EAAK,YAAY,EAAK,aAAa,IAEnC,MACA,EAAK,QAAQ,EAAK,UAAU,KAAA,KAAY,EAAK,QAE7C,EAAM,SAAS,EAAM,MAAM,gBAC3B,EAAK,SAAS,SAAU,GAAG,GAAM;GAE7B,OAAa,EAAM,OAA+C,YAAY,GAAG,CAAI;EACzF,IAEA,EAAM,SAAS,EAAM,MAAM,iBAC3B,EAAK,UAAU,SAAU,GAAG,GAAM;GAE9B,OAAa,EAAM,OAA+C,aAAa,GAAG,CAAI;EAC1F,IAEA,EAAM,SAAS,EAAM,MAAM,kBAC3B,EAAK,WAAW,SAAU,GAAG,GAAM;GAE/B,OAAa,EAAM,OAA+C,cAAc,GAAG,CAAI;EAC3F,IAEA,EAAM,SAAS,EAAM,MAAM,gBAC3B,EAAK,SAAS,SAAU,GAAG,GAAM;GAE7B,OAAa,EAAM,OAA+C,YAAY,GAAG,CAAI;EACzF,IAEA,EAAM,SAAS,EAAM,MAAM,iBAC3B,EAAK,UAAU,SAAU,GAAG,GAAM;GAE9B,OAAa,EAAM,OAA+C,aAAa,GAAG,CAAI;EAC1F,IAEA,EAAG,aAAa,OAAO,KAAK,CAAC,EAAK,YAClC,EAAK,UAAU,EAAG,aAAa,OAAO,GACtC,EAAG,gBAAgB,OAAO,IAE1B,EAAG,aAAa,SAAS,KAAK,CAAC,EAAK,YACpC,EAAK,UAAU,EAAG,aAAa,SAAS,IAE5C,GAAS,GAAI,CAAI;CACrB;CACA,UAAU,GAAI;EACV,AAAI,EAAG,SACH,EAAG,OAAO,QAAQ,IAEb,EAAG,UACR,EAAG,OAAO,QAAQ;CAE1B;CACA,QAAQ,GAAI,GAAS;EACjB,IAAM,IAAO,OAAO,EAAQ,SAAU,WAAW,EAAE,SAAS,EAAQ,MAAM,IAAI,EAAQ,SAAS,CAAC;EAYhG,AAVA,AACI,EAAK,YAAU,MAEf,EAAG,aAAa,OAAO,KAAK,CAAC,EAAK,YAClC,EAAK,UAAU,EAAG,aAAa,OAAO,GACtC,EAAG,gBAAgB,OAAO,IAE1B,EAAG,aAAa,SAAS,KAAK,CAAC,EAAK,YACpC,EAAK,UAAU,EAAG,aAAa,SAAS,IAExC,EAAG,SACH,EAAG,OAAO,SAAS,KAAQ,CAAC,CAAC,IAExB,EAAG,UACR,EAAG,OAAO,SAAS,KAAQ,CAAC,CAAC;CAErC;AACJ,GAEM,KAAS,EACX,QAAQ,GAAK,IAAU,CAAC,GAAG;CAIvB,AAHA,EAAM,gBAAgB,EAAQ,gBAAgB,CAAC,CAAC,GAChD,EAAI,UAAU,EAAQ,aAAa,SAAS,EAAS,GACrD,EAAI,UAAU,EAAQ,aAAa,SAAS,EAAc,GAC1D,EAAI,UAAU,EAAQ,sBAAsB,mBAAmB,EAAc;AACjF,EACJ,GAEM,KAAoB,EAAM;AAChC,GAAkB;CACd,kBAAkB;CAClB,SAAS;EAAC;EAAQ;EAAmB;EAAc;CAAW;AAClE,CAAC;;;ACn7ID,IAAa,KAAgB,MAChB,KAAwB,KAAgB,IAIxC,IAAb,MAAa,EAA2B;CAEvB;CACA;CAFb,YACI,IAAqB,GACrB,IAAqB,GACvB;EADW,AADA,KAAA,IAAA,GACA,KAAA,IAAA;CACV;CAEH,OAAO,UAAU,GAAyB;EACtC,OAAO,IAAI,EAAM,EAAM,GAAG,EAAM,CAAC;CACrC;CAEA,OAAO,UAAU,GAA2B;EACxC,OAAO,IAAI,EAAM,EAAO,IAAI,EAAO,EAAE;CACzC;CAEA,UAAsB;EAClB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;CAC1B;CAEA,IAAI,GAAyB;EACzB,OAAO,EAAM,UAAU,GAAU,IAAI,MAAM,CAAK,CAAC;CACrD;CAEA,SAAS,GAAe,GAAe,IAAmB,IAAgB;EACtE,OAAO,GAAU,SAAS,MAAM,GAAI,GAAI,CAAO;CACnD;CAEA,OAAc;EACV,OAAO,IAAI,EAAM,KAAK,GAAG,KAAK,CAAC;CACnC;CAEA,SAAS,GAA0B;EAC/B,OAAO,GAAU,SAAS,MAAM,CAAK;CACzC;CAEA,OAAO,GAA2B;EAC9B,OAAO,GAAU,OAAO,MAAM,CAAK;CACvC;CAEA,SAAkB;EACd,OAAO,GAAU,OAAO,IAAI;CAChC;CAEA,MAAM,GAAkC;EACpC,OAAO,EAAM,UAAU,GAAU,MAAM,MAAM,CAAE,CAAC;CACpD;CAEA,YAAY,GAAsB;EAC9B,OAAO,EAAM,UAAU,GAAU,YAAY,MAAM,CAAK,CAAC;CAC7D;CAEA,MAAM,GAAyB;EAC3B,OAAO,EAAM,UAAU,GAAU,MAAM,MAAM,CAAK,CAAC;CACvD;CAEA,SAAS,GAAyB;EAC9B,OAAO,EAAM,UAAU,GAAU,SAAS,MAAM,CAAK,CAAC;CAC1D;CAEA,WAAmB;EACf,OAAO,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE;CACjC;AACJ,GAKa,KAAb,MAAa,EAAU;CACnB,OAAO,IAAI,GAAe,GAAsB;EAC5C,OAAO,IAAI,EAAM,EAAG,IAAI,EAAG,GAAG,EAAG,IAAI,EAAG,CAAC;CAC7C;CAEA,OAAO,MAAM,GAAe,GAAuC;EAC/D,OAAO,IAAI,EAAM,EAAG,EAAG,CAAC,GAAG,EAAG,EAAG,CAAC,CAAC;CACvC;CAEA,OAAO,SAAS,GAAe,GAAe,GAAe,IAAmB,IAAgB;EAC5F,IAAM,IAAK,EAAU,SAAS,GAAI,CAAE,GAC9B,IAAK,EAAU,SAAS,GAAI,CAAE,GAC9B,IAAK,EAAU,SAAS,GAAI,CAAE;EAQhC,OAPA,IAAK,KAAM,IAAK,IACT,IAAK,IAAK,IAAM,SAChB,IACA,KACA,IAAK,KAAM,IAAK,IAChB,IAAK,IAAK,IAAM,SAEhB,IAAK,IAAK,IAAM;CAE/B;CAEA,OAAO,SAAS,GAAe,GAAuB;EAClD,OAAO,KAAK,MAAM,EAAG,IAAI,EAAG,MAAM,KAAK,EAAG,IAAI,EAAG,MAAM,CAAC;CAC5D;CAEA,OAAO,OAAO,GAAe,GAAwB;EACjD,QAAQ,EAAG,IAAI,EAAG,MAAM,KAAK,EAAG,IAAI,EAAG,MAAM,KAAK;CACtD;CAEA,OAAO,OAAO,GAAwB;EAClC,OAAO,EAAG,KAAK,IAAI,EAAG,KAAK,KAAK;CACpC;CAEA,OAAO,YAAY,GAAe,GAAsB;EACpD,OAAO,IAAI,EAAM,IAAQ,EAAG,GAAG,IAAQ,EAAG,CAAC;CAC/C;CAEA,OAAO,MAAM,GAAe,GAAyB;EACjD,OAAO,IAAI,EAAM,EAAM,IAAI,EAAG,GAAG,EAAM,IAAI,EAAG,CAAC;CACnD;CAEA,OAAO,SAAS,GAAe,GAAsB;EACjD,OAAO,IAAI,EAAM,EAAG,IAAI,EAAG,GAAG,EAAG,IAAI,EAAG,CAAC;CAC7C;AACJ,GC/HM,KAAc,MACd,KAAc,KAAK,IAEnB,KAAkB,IAClB,KAAiB,GACjB,KAAkB,IAIlB,qBAA6C,IAAI,IAAI;CACvD,CAAC,MAAM,CAAC;CACR,CAAC,MAAM,EAAe;CACtB,CAAC,MAAM,KAAkB,EAAW;CACpC,CAAC,MAAM,KAAkB,EAAW;CACpC,CAAC,MAAM,KAAkB,EAAe;CACxC,CAAC,MAAM,KAAkB,EAAc;CACvC,CAAC,KAAK,IAAI;CACV,CAAC,MAAA,EAAa;CACd,CAAC,MAAA,CAAa;AAClB,CAAC,GAEK,KAAmB;AAEzB,SAAgB,GAAe,GAA+C;CAC1E,IAAI,OAAO,KAAW,UAClB,OAAO;CAEX,IAAM,IAAQ,EAAO,MAAM,EAAgB;CAC3C,IAAI,MAAU,QAAQ,EAAM,SAAS,GACjC,OAAO,CAAC;CACL;EAEH,IAAM,IAAU,GAAe,IAAI,EAAM,EAAE;EAC3C,IAAI,KAAY,MAEZ,OAAO,IAAU,CAAC,EAAM;CAEhC;CACA,OAAO;AACX;;;ACWA,SAAgB,GAAW,GAAwC;CAC/D,OAAO,EACF,aAAa,SAAS,CAAC,EACtB,MAAM,GAAG,CAAC,CACX,KAAK,MAAM,CAAC,CAAC;AACtB;AAcA,SAAS,GAAe,GAAgC;CACpD,IAAM,IAA2B,CAAC;CAClC,KAAK,IAAM,CAAC,GAAK,MAAU,OAAO,QAAQ,CAAU,GAChD,EAAe,KAAK,IAAI,EAAI,IAAI,EAAM,EAAE;CAE5C,OAAO,EAAe,KAAK,EAAE;AACjC;AAIA,SAAS,GAAoB,GAAc,GAAW,GAAoC;CACtF,OAAO,OAAO,OAAO,CAAC,GAAG,GAAY;EACjC,IAAI,GAAG,EAAE;EACT,IAAI,GAAG,EAAE;EACT,GAAG,GAAG;CACV,CAAC;AACL;AAEA,SAAgB,GAAU,GAAmB,GAAgB,IAAyB,CAAC,GAAW;CAC9F,OAAO,UAAU,GAAe,GAAoB,GAAQ,GAAQ,CAAU,CAAC,EAAE;AACrF;AAyBA,SAAS,GAAkB,GAAe,GAAe,GAAoC;CACzF,OAAO,OAAO,OAAO,CAAC,GAAG,GAAY;EACjC,GAAG,GAAG,KAAK,IAAI,EAAG,GAAG,EAAG,CAAC;EACzB,GAAG,GAAG,KAAK,IAAI,EAAG,GAAG,EAAG,CAAC;EACzB,OAAO,GAAG,KAAK,IAAI,EAAG,IAAI,EAAG,CAAC;EAC9B,QAAQ,GAAG,KAAK,IAAI,EAAG,IAAI,EAAG,CAAC;CACnC,CAAC;AACL;AAEA,SAAgB,GAAQ,GAAoB,GAAwB,IAAyB,CAAC,GAAW;CACrG,OAAO,QAAQ,GAAe,GAAkB,GAAS,GAAa,CAAU,CAAC,EAAE;AACvF;AAc+B;CAC3B;CACA;CAEA;CACA;CACA;CACA;CACA;CACA;CACA;AACJ,CAAC,CAAC,KAAK,EAAE;;;AClJT,IAAqB,KAArB,MAA6B;CACzB,KAAoB;CACpB,KAA8B,IAAI,EAAM;CAExC,KAAoC;CACpC;CACA,KAA0B,IAAI,EAAM;CACpC,KAAwB,IAAI,EAAM;CAClC;CACA,KAA2B;CAE3B,KAAoB;CACpB,KAAiB;CACjB,KAAoB;CACpB,KAAgB;CAEhB,YAAY,GAAwB;EAchC,AAZA,EAAU,iBAAiB,SAAS,KAAKC,GAAY,KAAK,IAAI,GAAG,EAAE,SAAS,GAAK,CAAC,GAClF,KAAKC,KAAe,EAAU,IAC9B,KAAKC,KAAmB,IAAI,EACxB,EAAU,aAAa,EAAU,YACjC,EAAU,YAAY,EAAU,SACpC,IACI,EAAU,gBAAgB,KAAK,EAAU,iBAAiB,OAC1D,QAAQ,MAAM,qCAAqC,GACnD,KAAKC,KAAkB,KAE3B,KAAKC,KAAiB,IAAI,EAAM,EAAU,aAAa,EAAU,YAAY,GAC7E,KAAKC,KAAkB,IAAI,eAAe,KAAKC,GAAmB,KAAK,IAAI,CAAC,GAC5E,KAAKD,GAAgB,QAAQ,CAAS;CAC1C;CAEA,IAAI,UAAU;EACV,OAAO,KAAKE;CAChB;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKC;CAChB;CAEA,KAA0B;EAEtB,OAAO,GAAW,KAAKC,EAAW;CACtC;CAEA,GAAY,GAAiB;EAEzB,KAAKA,GAAY,aAAa,WAAW,EAAQ,KAAK,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;CACpF;CAEA,OAAO,GAA2B;EAC9B,IAAI,CAAC,KAAKN,IACN;EAGJ,IAAI,IAAU,GAAW,CAAU;EAiBnC,IAhBI,EAAQ,KAAK,KAAKC,GAAe,KAAK,EAAQ,KAAK,KAAKA,GAAe,KAEvE,KAAKI,KAAS,KAAKJ,GAAe,IAAI,EAAQ,IAC9C,EAAQ,OAAO,KAAKA,GAAe,IAAI,KAAKI,KAAS,EAAQ,MAAM,GACnE,EAAQ,KAAK,KAAKJ,GAAe,IAAI,KAAKI,OAG1C,KAAKA,KAAS,KAAKJ,GAAe,IAAI,EAAQ,IAC9C,EAAQ,OAAO,KAAKA,GAAe,IAAI,KAAKI,KAAS,EAAQ,MAAM,GACnE,EAAQ,KAAK,KAAKJ,GAAe,IAAI,KAAKI,KAE1C,KAAKE,KAAY,KAAKF,OACtB,KAAKE,KAAY,KAAKF,KAItB,KAAKA,MAAU,GAAG;GAElB,AADA,KAAKA,KAAS,GACd,IAAU,GAAW,CAAU;GAC/B,IAAM,IAAQ,KAAKJ,GAAe,SAAS;IAAE,GAAG,EAAQ;IAAI,GAAG,EAAQ;GAAG,CAAC;GAI3E,AAHA,EAAQ,MAAM,EAAM,IAAI,GACxB,EAAQ,MAAM,EAAM,IAAI,GACxB,EAAQ,KAAK,KAAKA,GAAe,GACjC,EAAQ,KAAK,KAAKA,GAAe;EACrC;EAIA,AAFA,KAAKK,KAAc,GACnB,KAAKE,GAAY,CAAO,GACxB,KAAKJ,KAAW;CACpB;CAEA,UAAU;EAGN,AAFA,KAAKE,KAAc,MACnB,KAAKF,KAAW,IAChB,KAAKC,KAAS;CAClB;CAEA,YAAY,GAAqB;EAE7B,AADA,KAAKD,KAAW,IAChB,KAAKK,KAAuB,EAAM,UAAU,CAAK;CACrD;CAEA,YAAY,GAA8B;EACtC,IAAI,KAAKH,MAAe,KAAKF,IAAU;GACnC,IAAM,IAAQ,KAAKK,GAAqB,SAAS,CAAK,CAAC,CAAC,YAAY,IAAM,KAAKJ,EAAM;GACrF,IAAI,CAAC,EAAM,OAAO,GAAG;IACjB,IAAM,IAAU,KAAKK,GAAgB;IAKrC,OAJA,EAAQ,MAAM,EAAM,GACpB,EAAQ,MAAM,EAAM,GACpB,KAAKF,GAAY,CAAO,GACxB,KAAKC,KAAuB,EAAM,UAAU,CAAK,GAC1C;GACX;EACJ;EACA,OAAO;CACX;CAEA,UAAU,GAAsB;EAC5B,KAAKL,KAAW;CACpB;CAEA,GAAmB,GAAgC;EAC/C,IAAI,KAAKE,IACA;QAAA,IAAM,KAAS,GAChB,IAAI,EAAM,OAAO,OAAO,KAAKR,IAAc;IACvC,IAAM,IAAgB,IAAI,EAAM,EAAM,YAAY,OAAO,EAAM,YAAY,MAAM,GAC3E,IAAU,KAAKY,GAAgB,GAC/B,IAAQ,EAAc,SAAS,KAAKT,EAAc;IAWxD,AAVI,KAAK,IAAI,EAAM,IAAI,EAAQ,EAAE,KAAK,KAAK,IAAI,EAAM,IAAI,EAAQ,EAAE,KAC/D,KAAKI,KAAS,EAAc,IAAI,EAAQ,IACxC,EAAQ,OAAO,KAAKJ,GAAe,IAAI,KAAKI,KAAS,EAAQ,MAAM,GACnE,EAAQ,KAAK,EAAc,IAAI,KAAKA,OAEpC,KAAKA,KAAS,EAAc,IAAI,EAAQ,IACxC,EAAQ,OAAO,KAAKJ,GAAe,IAAI,KAAKI,KAAS,EAAQ,MAAM,GACnE,EAAQ,KAAK,EAAc,IAAI,KAAKA,KAExC,KAAKJ,KAAiB,GACtB,KAAKO,GAAY,CAAO;GAC5B;;CAGZ;CAEA,GAAY,GAAmB;EAC3B,IAAI,KAAKF,IAAa;GAGlB,IAAM,KADQ,EAAM,WAAW,KAAK,EAAM,SAAS,EAAM,SAAS,EAAM,UAClD,IAAI,IAAI,IACxB,IAAU,KAAKD,KAAS,KAAK,IAAK,IAAQ,KAAKM,KAAS,CAAC;GAC/D,KAAKN,KAAS,KAAK,IAAI,KAAK,IAAI,GAAS,KAAKE,EAAS,GAAG,KAAKK,EAAS;GACxE,IAAM,IAAW,KAAKX,GAAe,YAAY,IAAM,KAAKI,EAAM,GAC5D,IAAU,KAAKK,GAAgB;GAOrC,AANA,EAAQ,OACF,EAAQ,KAAK,EAAS,MAAM,EAAM,UAAU,KAAKX,GAAiB,KAAM,KAAKE,GAAe,GAClG,EAAQ,OACF,EAAQ,KAAK,EAAS,MAAM,EAAM,UAAU,KAAKF,GAAiB,KAAM,KAAKE,GAAe,GAClG,EAAQ,KAAK,EAAS,GACtB,EAAQ,KAAK,EAAS,GACtB,KAAKO,GAAY,CAAO;EAC5B;CACJ;AACJ,GCvJM,KAAyB;AAU/B,SAAgB,GAAa,GAAqC;CAC9D,IAAI,EAAQ,QAAQ,UAChB,OAAO,EAAQ,QAAQ;CACpB,IAAI,EAAQ,UAAU,SAAS,WAAW,GAC7C,OAAO,EAAQ,eAAe,MAAM;CAExC,OAAO,EAAQ,YAAY,SAAQ;EAC/B,IAAM,IAAc,EAAQ;EAC5B,IAAI,GACA,IAAU;OAEV;CAER;CACA,OAAO,EAAQ;AACnB;AAIA,IAAM,KAAe,aAER,KAAb,MAAa,EAAa;CACtB,OAAO,WAAgC;CAEvC,KAAiC;CACjC,KAAmC;CACnC,KAAmB;CACnB,KAAoC;CAEpC,KAAoB;CACpB,KAA2B;CAC3B,KAAyB;CAEzB,KAAqC;CACrC,KAAuC;CAEvC,KAA2B;CAE3B;CACA;CACA,KAAwB;CAExB,cAAc;EACV,EAAa,WAAW;CAC5B;CAEA,MAAM,GAA2B,GAAiB;EAK9C,AAJA,KAAKK,KAAa,GAClB,KAAKC,KAAW,GAGhB,KAAKC,KAAW,IAAI,GAAQ,KAAKF,EAAU;EAI3C,IAAM,EAAE,aAAU,GAAS,KAAKA,IAAY;GACxC,SAAS;GACT,WAAW;GACX,UAAU,CAAC,GAAG,CAAC;GACf,cAAc;GACd,aAAa;GACb,SAAS;GACT,OAAO;GACP,cAAc;EAClB,CAAC;EACD,AAAI,EAAM,UACN,KAAKG,KAAW,GAChB,KAAKC,KAAkB,KAAKD,GAAS,MAAM;CAEnD;CAEA,KAA2B;EACvB,AAAI,KAAKH,OACL,KAAKA,GAAW,iBAAiB,SAAS,KAAKK,GAAmB,KAAK,IAAI,CAAC,GAE5E,KAAKL,GAAW,iBAAiB,eAAe,KAAKM,GAAkB,KAAK,IAAI,CAAC,GACjF,KAAKN,GAAW,iBAAiB,cAAc,KAAKO,GAAiB,KAAK,IAAI,CAAC,GAE/E,KAAKP,GAAW,iBAAiB,eAAe,KAAKQ,GAAkB,KAAK,IAAI,CAAC,GACjF,KAAKR,GAAW,iBAAiB,eAAe,KAAKS,GAAkB,KAAK,IAAI,CAAC,GACjF,KAAKT,GAAW,iBAAiB,aAAa,KAAKU,GAAgB,KAAK,IAAI,CAAC;CAErF;CAEA,KAA8B;EAC1B,AAAI,KAAKV,OACL,KAAKA,GAAW,oBAAoB,SAAS,KAAKK,GAAmB,KAAK,IAAI,CAAC,GAE/E,KAAKL,GAAW,oBAAoB,eAAe,KAAKM,GAAkB,KAAK,IAAI,CAAC,GACpF,KAAKN,GAAW,oBAAoB,cAAc,KAAKO,GAAiB,KAAK,IAAI,CAAC,GAElF,KAAKP,GAAW,oBAAoB,eAAe,KAAKQ,GAAkB,KAAK,IAAI,CAAC,GACpF,KAAKR,GAAW,oBAAoB,eAAe,KAAKS,GAAkB,KAAK,IAAI,CAAC,GACpF,KAAKT,GAAW,oBAAoB,aAAa,KAAKU,GAAgB,KAAK,IAAI,CAAC;CAExF;CAEA,IAAI,cAAc;EACd,OAAO,KAAKC;CAChB;CAEA,IAAI,aAA+B;EAI/B,OAHI,KAAKX,KACE,CAAC,KAAKA,GAAW,aAAa,KAAKA,GAAW,YAAY,IAE9D,CAAC,GAAG,CAAC;CAChB;CAEA,MAAM,YAAY,GAA0B;EAqCxC,AApCI,KAAKW,OAAiB,OAGtB,KAAKC,GAAyB,IAF9B,KAAK,aAAa,EAAI,GAI1B,KAAKD,KAAe,GACpB,KAAKE,KAAc,EAAY,YAG3B,KAAKb,MAEL,KAAKA,GAAW,YAAY,KAAKa,EAAW,GAIhD,MAAM,EAAI,SAAS,GAGnB,EAAY,YAAY,GAIpB,KAAKZ,OAAa,OAClB,KAAKY,IAAa,aAAa,KAAKZ,IAAU,EAAE,GAChD,KAAKY,IAAa,iBAAiB,GAAG,CAAC,CAAC,SAAQ,MAAS;GACrD,EAAM,aAAa,KAAKZ,IAAU,EAAE;EACxC,CAAC,IAKL,KAAKC,IAAU,OAAO,KAAKW,EAAW,GAGtC,KAAKC,KAAgB,MACrB,KAAKC,KAAgB,IACrB,KAAKC,KAAkB;CAC3B;CAEA,aAAa,IAAoB,IAAO;EACpC,AAAI,KAAKL,OAAiB,SACjB,KACD,KAAKM,GAA4B,GAErC,KAAKf,IAAU,QAAQ,GACnB,KAAKF,MACL,KAAKA,GAAW,YAAY,KAAKa,EAAmB,GAExD,KAAKA,KAAc,MACnB,KAAKF,KAAe;CAE5B;CAEA,oBAAoB;EAEhB,AADA,KAAKO,GAAqB,GAC1B,KAAKC,GAAmB;CAC5B;CAEA,KAAoB;EAEhB,AADA,KAAKN,IAAa,MAAM,eAAe,QAAQ,GAC3C,KAAKb,MACL,KAAKA,GAAW,MAAM,YAAY,UAAU,SAAS;CAE7D;CAEA,KAAe;EACX,AAAI,KAAKG,MACL,KAAKA,GAAS,MAAM,KAAK;CAEjC;CAEA,GAAa,GAAa,IAAgB,IAAI;EAC1C,IAAI,MAAQ,IACR,KAAKiB,GAAa;OACf,IAAI,KAAKjB,OACZ,KAAKA,GAAS,MAAM,WAAW,CAAG,GAClC,KAAKA,GAAS,MAAM,KAAK,GACrB,KAAKC,OACD,KAAKiB,OAAkB,OACvB,KAAKjB,GAAgB,UAAU,OAAO,KAAKiB,EAAa,GACxD,KAAKA,KAAgB,KAErB,MAAU,MAAI;GACd,IAAM,IAAe,WAAW;GAEhC,AADA,KAAKjB,GAAgB,UAAU,IAAI,CAAY,GAC/C,KAAKiB,KAAgB;EACzB;CAGZ;CAEA,GAAgB,GAAc,IAA+B,KAAA,GAAW;EACpE,AAAI,KAAKV,MACL,KAAKA,GAAa,YAAY,GAAM,CAAM;CAElD;CAEA,GAAgB,GAAsB,GAAiB;EACnD,EAAO,SAAS,CAAM;CAC1B;CAEA,GAAiB,GAAmC;EAChD,AAAI,KAAgB,KAAKG,OAAkB,MACvC,KAAKQ,GAAgB,GAAc,EAAI,GACvC,KAAKR,KAAgB,GACjB,EAAa,WACb,KAAKS,GAAa,EAAa,SAAS,MAAM,GAElD,KAAKC,GAAgB,UAAU,CAAY;CAEnD;CAEA,KAAqB;EACjB,AAAI,KAAKV,OACL,KAAKQ,GAAgB,KAAKR,IAAe,EAAK,GAC9C,KAAKA,KAAgB,MACrB,KAAKU,GAAgB,UAAU;CAEvC;CAEA,GAAmB,GAA8B;EAE7C,AADA,KAAKN,GAAqB,GACtB,MAAmB,SACnB,EAAe,OAAO,EAAI,GAC1B,KAAKF,KAAkB,GACvB,KAAKQ,GAAgB,UAAU,CAAc;CAErD;CAEA,KAAuB;EACnB,AAGI,KAAKR,QAFL,KAAKQ,GAAgB,YAAY,KAAKR,EAAe,GACrD,KAAKA,GAAgB,OAAO,EAAK,GACV;CAE/B;CAEA,GAAmB,GAAmB;EAClC,IAAM,IAAU,EAAM;EACtB,IACI,KAAKL,OAAiB,QACtB,CAAC,KAAKE,IAAa,SAAS,CAAO,KAElC,KAAKE,MAAiB,KAAK,IAAI,IAAI,KAAKU,KAAmB,IAE5D;EAEJ,IAAM,IAAgB,KAAKd,GAAa,WAAW,GAAa,CAAO,CAAC;EACxE,KAAKe,GAAqB,GAAO,GAAS,CAAa;CAC3D;CAEA,GAAqB,GAAoB,GAA8B,GAAkC;EACrG,IAAI,IAAa;EAMjB,AALI,KAAKV,OAAoB,SAEzB,IAAa,MAAkB,KAAKA,IACpC,KAAKE,GAAqB,IAE1B,CAAC,KAAc,KAAiB,MAAkB,KAAKJ,MAEvD,KAAKa,GAAmB,CAAa;CAE7C;CAEA,GAAmB,GAA6B;EAC5C,OACI,MAAY,KAAKd,MACjB,EAAQ,OAAO,MACf,CAAC,KAAKA,IAAa,SAAS,CAAO;CAE3C;CAEA,GAAkB,GAAqB;EACnC,IAAI,KAAKF,OAAiB,MACtB;EAEJ,IAAM,IAAU,EAAM,QAChB,IAAgB,KAAKA,GAAa,WAAW,GAAa,CAAO,CAAC;EAExE,IAAI,KAAKiB,GAAmB,CAAO,GAAG;GAElC,AADA,KAAKR,GAAa,GACd,KAAKN,MAAiB,MAAkB,KAAKA,MAC7C,KAAKK,GAAmB;GAE5B;EACJ;EAKA,AAHI,KAAKL,MAAiB,MAAkB,KAAKA,MAC7C,KAAKK,GAAmB,GAExB,KACA,KAAKU,GAAiB,CAAa;CAE3C;CAEA,GAAiB,GAAqB;EAClC,IAAM,IAAU,EAAM;EACtB,CAAI,MAAY,KAAKhB,MAAe,CAAC,KAAKA,IAAa,SAAS,CAAO,MAC/D,KAAKC,MACL,KAAKK,GAAmB;CAGpC;CAEA,GAAkB,GAAqB;EAOnC,AANA,KAAKJ,KAAgB,IACrB,KAAKU,KAAmB,KAAK,IAAI,GACjC,KAAKZ,IAAa,MAAM,eAAe,QAAQ,GAC/C,KAAKb,IAAY,MAAM,YAAY,UAAU,MAAM,GAEnD,KAAKE,GAAS,YAAY,CAAK,GAC/B,KAAK4B,KAAW;CACpB;CAEA,GAAkB,GAAqB;EACnC,IAAI,KAAKA,IAAU;GAEf,KAAKf,KAAgB,KAAKb,GAAS,YAAY,CAAK,KAAK,KAAKa;GAC9D;EACJ;EACA,KAAKA,KAAgB;CACzB;CAEA,GAAgB,GAAqB;EAC7B,SAAKJ,OAAiB,QAGtB,KAAKmB,IAAU;GAIf,AAFA,KAAK5B,GAAS,UAAU,CAAK,GAC7B,KAAK4B,KAAW,IAChB,KAAKC,GAAkB;GACvB;EACJ;CACJ;AACJ,GCpYI,KAAI,OAAO,gBAAgB,KAAI,OAAO,0BAA0B,KAAI,OAAO,qBAAqB,KAAI,OAAO,UAAU,gBAAgB,MAAK,GAAG,GAAG,YAAY;CAC/J,IAAI,GAAG,MAAM,EAAE;CACf,IAAI;EACH,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI;CAC7B,SAAS,GAAG;EACX,MAAM,IAAI,CAAC,CAAC,GAAG;CAChB;AACD,GAAG,KAAK,GAAG,aAAa,MAAM,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,EAAA,CAAG,SAAS,CAAC,GAAG,IAAI,OAAO,EAAE,UAAU,MAAK,GAAG,MAAM;CACvG,IAAI,IAAI,CAAC;CACT,KAAK,IAAI,KAAK,GAAG,GAAE,GAAG,GAAG;EACxB,KAAK,EAAE;EACP,YAAY,CAAC;CACd,CAAC;CACD,OAAO,KAAK,GAAE,GAAG,OAAO,aAAa,EAAE,OAAO,SAAS,CAAC,GAAG;AAC5D,GAAG,MAAK,GAAG,GAAG,GAAG,MAAM;CACtB,IAAI,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,KAAK,IAAI,IAAI,GAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,IAAI,CAAC,GAAE,KAAK,GAAG,CAAC,KAAK,MAAM,KAAK,GAAE,GAAG,GAAG;EAC7J,OAAO,MAAM,EAAE,GAAA,CAAI,KAAK,MAAM,CAAC;EAC/B,YAAY,EAAE,IAAI,GAAE,GAAG,CAAC,MAAM,EAAE;CACjC,CAAC;CACD,OAAO;AACR,GAAG,MAAK,MAAM,GAAE,KAAK,GAAG,gBAAgB,IAAI,EAAE,oBAAoB,GAAE,GAAE,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAI,MAAM,EAAE;CACvH,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,+BAA+B,GAAG,CAAC;CACtC;CACA,OAAO;EACN,OAAO,EAAE,yBAAyB,KAAK,SAAS;CACjD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,qBAAqB,GAAG,CAAC;CAC5B;CACA,OAAO,GAAG;EACT,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,MAAM;CAClD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,oBAAoB,KAAK,SAAS;GAC5C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS;GAC3C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,gBAAgB,KAAK,SAAS;GACxC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,wBAAwB,GAAG,CAAC;CAC/B;CACA,OAAO,GAAG;EACT,OAAO,EAAE,oBAAoB,KAAK,WAAW,CAAC,MAAM;CACrD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,uBAAuB,KAAK,SAAS;GAC/C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,sBAAsB,KAAK,SAAS;GAC9C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS;GAC3C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,mBAAmB,GAAG,CAAC;CAC1B;CACA,IAAI,WAAW;EACd,IAAI,IAAI,EAAE,iBAAiB,KAAK,SAAS;EACzC,OAAO,GAAE,OAAO,CAAC;CAClB;CACA,IAAI,YAAY;EACf,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS;GAC1C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,OAAO,GAAG;EACT,OAAO,EAAE,eAAe,KAAK,WAAW,CAAC,MAAM;CAChD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,iBAAiB,KAAK,SAAS;GACzC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS;GAC1C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,iBAAiB,KAAK,SAAS;GACzC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,cAAc,KAAK,SAAS;GACtC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,qBAAqB,GAAG,CAAC;CAC5B;CACA,OAAO,GAAG;EACT,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,MAAM;CAClD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,oBAAoB,KAAK,SAAS;GAC5C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS;GAC3C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,gBAAgB,KAAK,SAAS;GACxC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,0BAA0B,GAAG,CAAC;CACjC;CACA,OAAO;EACN,IAAI,IAAI,EAAE,oBAAoB,KAAK,SAAS;EAC5C,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,OAAOC,GAAE,OAAO,EAAE,EAAE;CACrB;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAIA,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,gCAAgC,GAAG,CAAC;CACvC;CACA,IAAI,OAAO;EACV,OAAO,EAAE,0BAA0B,KAAK,SAAS,MAAM;CACxD;CACA,IAAI,QAAQ;EACX,IAAI,IAAI,EAAE,2BAA2B,KAAK,SAAS;EACnD,OAAO,MAAM,IAAI,KAAK,IAAI,GAAE,OAAO,CAAC;CACrC;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAWA,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,gBAAgB,GAAG,CAAC;CACvB;CACA,OAAO,GAAG;EACT,OAAO,EAAE,YAAY,KAAK,WAAW,CAAC,MAAM;CAC7C;CACA,IAAI,QAAQ;EACX,OAAO,EAAE,WAAW,KAAK,SAAS;CACnC;CACA,IAAI,SAAS;EACZ,OAAO,EAAE,YAAY,KAAK,SAAS;CACpC;CACA,IAAI,YAAY;EACf,OAAO,EAAE,eAAe,KAAK,SAAS;CACvC;CACA,IAAI,UAAU;EACb,OAAO,EAAE,aAAa,KAAK,SAAS;CACrC;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,eAAe,KAAK,SAAS;GACvC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,cAAc,KAAK,SAAS;GACtC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS;GACnC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM;CACb,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,iBAAiB,GAAG,CAAC;CACxB;CACA,IAAI,GAAG;EACN,IAAI,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC;EACrC,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;CACvB;CACA,OAAO,GAAG;EACT,IAAI,IAAI,EAAE,aAAa,KAAK,WAAW,CAAC;EACxC,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;CACvB;CACA,KAAK,GAAG,GAAG;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,WAAW,KAAK,WAAW,GAAG,CAAC;GACzC,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE;GACpB,IAAI,EAAE,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,GAAE,EAAE,EAAE;GACpC,OAAO,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC;EAC5B,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,GAAG;EACN,IAAI,IAAI,EAAE,UAAU,KAAK,WAAW,CAAC;EACrC,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,OAAO,EAAE,OAAO;CACjB;CACA,KAAK,GAAG,GAAG,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,WAAW,KAAK,WAAW,GAAG,GAAG,GAAG,CAAC;EAC/C,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;CACvB;CACA,MAAM,GAAG,GAAG,GAAG,GAAG;EACjB,IAAI,IAAI,EAAE,YAAY,KAAK,WAAW,GAAG,GAAG,GAAG,CAAC;EAChD,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,IAAI,IAAI,GAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM;EAC5B,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG;CAC9C;CACA,YAAY,GAAG;EACd,IAAI,IAAI,EAAE,UAAU,CAAC;EACrB,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,OAAO,KAAK,YAAY,EAAE,IAAI,GAAE,SAAS,MAAM,KAAK,WAAW,IAAI,GAAG;CACvE;CACA,MAAM,GAAG,GAAG;EACX,IAAI,IAAI,GAAE,GAAG,EAAE,mBAAmB,EAAE,kBAAkB,GAAG,IAAI,IAAG,IAAI,EAAE,YAAY,KAAK,WAAW,GAAG,GAAG,CAAC;EACzG,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,OAAO,GAAE,EAAE,EAAE;CACd;CACA,IAAI,OAAO;EACV,IAAI,IAAI,EAAE,WAAW,KAAK,SAAS;EACnC,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;EACtB,OAAO,EAAE,OAAO;CACjB;CACA,OAAO,GAAG,GAAG;EACZ,IAAI,IAAI,GAAE,GAAG,EAAE,mBAAmB,EAAE,kBAAkB,GAAG,IAAI,IAAG,IAAI,EAAE,aAAa,KAAK,WAAW,GAAG,GAAG,CAAC;EAC1G,IAAI,EAAE,IAAI,MAAM,GAAE,EAAE,EAAE;CACvB;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,MAAM,EAAE;CACf,OAAO,OAAO,GAAG;EAChB,IAAI,IAAI,OAAO,OAAO,EAAE,SAAS;EACjC,OAAO,EAAE,YAAY,GAAG,GAAE,SAAS,GAAG,EAAE,WAAW,CAAC,GAAG;CACxD;CACA,qBAAqB;EACpB,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,YAAY,GAAG,GAAE,WAAW,IAAI,GAAG;CAChD;CACA,OAAO;EACN,IAAI,IAAI,KAAK,mBAAmB;EAChC,EAAE,oBAAoB,GAAG,CAAC;CAC3B;CACA,OAAO,GAAG;EACT,OAAO,EAAE,gBAAgB,KAAK,WAAW,CAAC,MAAM;CACjD;CACA,IAAI,WAAW;EACd,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,mBAAmB,KAAK,SAAS;GAC3C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,WAAW;EACV,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,kBAAkB,KAAK,SAAS;GAC1C,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;CACA,IAAI,QAAQ;EACX,IAAI,GAAG;EACP,IAAI;GACH,IAAI,IAAI,EAAE,eAAe,KAAK,SAAS;GACvC,OAAO,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE;EACxC,UAAU;GACT,EAAE,gBAAgB,GAAG,GAAG,CAAC;EAC1B;CACD;AACD;AACA,OAAO,YAAY,GAAE,UAAU,OAAO,WAAW,GAAE,UAAU;AAC7D,IAAI,KAAI,OAAO,uBAAuB,MAAM;CAC3C,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,+BAA+B,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CACpH,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CAC1G,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,wBAAwB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CAC7G,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,mBAAmB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CACxG,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CAC1G,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,0BAA0B,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CAC/G,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,gCAAgC,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CACrH,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CACrG,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,iBAAiB,GAAG,CAAC,CAAC,GAAG,KAAI,OAAO,uBAAuB,MAAM;CACtG,gBAAgB,CAAC;CACjB,kBAAkB,CAAC;AACpB,IAAI,IAAI,sBAAsB,MAAM,EAAE,oBAAoB,GAAG,CAAC,CAAC;AAC/D,OAAO,uBAAuB,OAAO,IAAI,sBAAsB,MAAM,EAAE,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3G,SAAS,GAAE,GAAG,GAAG;CAChB,OAAO;CACP,IAAI,IAAI,GAAE,GAAG,IAAI,CAAC;CAClB,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,sBAAsB,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;CAC7F,OAAO,EAAE,uBAAuB,GAAG,CAAC,GAAG;AACxC;AACA,IAAI,KAAI;AACR,SAAS,KAAI;CACZ,QAAQ,OAAM,QAAQ,GAAE,OAAO,aAAa,CAAC,KAAK,GAAE,OAAO,aAAa,KAAK,KAAK,GAAE,WAAW,EAAE,OAAO,YAAY,KAAI,IAAI,SAAS,EAAE,OAAO,MAAM,IAAI;AACzJ;AACA,SAAS,EAAE,GAAG,GAAG;CAChB,OAAO,GAAG,MAAM,GAAG,CAAC;AACrB;AACA,IAAI,KAAI;AACR,SAAS,KAAI;CACZ,QAAQ,OAAM,QAAQ,GAAE,eAAe,OAAO,KAAI,IAAI,WAAW,EAAE,OAAO,MAAM,IAAI;AACrF;AACA,SAAS,GAAE,GAAG,GAAG,GAAG;CACnB,IAAI,MAAM,KAAK,GAAG;EACjB,IAAI,IAAI,GAAE,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,MAAM;EAC5C,OAAO,GAAE,CAAC,CAAC,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,KAAI,EAAE,QAAQ;CAC5D;CACA,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,GAAE,GAAG,IAAI;CAClD,OAAO,IAAI,GAAG,KAAK;EAClB,IAAI,IAAI,EAAE,WAAW,CAAC;EACtB,IAAI,IAAI,KAAK;EACb,EAAE,IAAI,KAAK;CACZ;CACA,IAAI,MAAM,GAAG;EACZ,MAAM,MAAM,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,SAAS,GAAG,CAAC,MAAM;EACtE,IAAI,IAAI,GAAE,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAE,WAAW,GAAG,CAAC;EACzD,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM;CACvC;CACA,OAAO,KAAI,GAAG;AACf;AACA,SAAS,GAAE,GAAG;CACb,IAAI,IAAI,EAAE,sBAAsB,IAAI,CAAC;CACrC,OAAO,EAAE,0BAA0B,CAAC,GAAG;AACxC;AACA,IAAI,KAAI,IAAI,YAAY,SAAS;CAChC,WAAW,CAAC;CACZ,OAAO,CAAC;AACT,CAAC;AACD,GAAE,OAAO;AACT,IAAI,KAAI,YAAY,KAAI;AACxB,SAAS,GAAG,GAAG,GAAG;CACjB,OAAO,MAAK,GAAG,MAAK,OAAM,KAAI,IAAI,YAAY,SAAS;EACtD,WAAW,CAAC;EACZ,OAAO,CAAC;CACT,CAAC,GAAG,GAAE,OAAO,GAAG,KAAI,IAAI,GAAE,OAAO,GAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;AACxD;AACA,IAAI,KAAI,IAAI,YAAY;AACxB,gBAAgB,OAAM,GAAE,aAAa,SAAS,GAAG,GAAG;CACnD,IAAI,IAAI,GAAE,OAAO,CAAC;CAClB,OAAO,EAAE,IAAI,CAAC,GAAG;EAChB,MAAM,EAAE;EACR,SAAS,EAAE;CACZ;AACD;AACA,IAAI,KAAI,GAAG,GAAG,KAAqB,oBAAI,MAAM;CAC5C,EAAE,aAAa,GAAG,EAAE,cAAc,GAAG,EAAE,gBAAgB;CACvD,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,aAAa,MAAM,aAAa,OAAO,IAAI,oEAAoE,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,KAAK;CACtN,EAAE,MAAM,IAAI,EAAE,MAAM;CACpB,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE;EACV,IAAI,IAAI,IAAI,GAAG,MAAM,MAAM,gDAAgD;EAC3E,IAAI,IAAI,EAAE,QAAQ,GAAG;EACrB,MAAM,OAAO,IAAI;EACjB,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI;EAC9B,OAAO,CAAC,GAAG,CAAC;CACb;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE;EAC9B,QAAQ,IAAI,KAAK,IAAI,IAAI;CAC1B;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,QAAQ,IAAI,KAAK,IAAI,IAAI;CAC1B;CACA,SAAS,EAAE,GAAG;EACb,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG;EAC1F,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,EAAE,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,EAAE,OAAO,IAAI;EAC3M,OAAO,MAAM,MAAM,IAAI,EAAE,EAAE,WAAW,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE,EAAE,WAAW,CAAC,MAAM,KAAK,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,IAAI,CAAC,MAAM,GAAG,EAAE,OAAO,KAAK,IAAI,KAAK,EAAE,OAAO,IAAI,MAAM;CAClP;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,IAAI;CACnE;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,KAAK,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,EAAE,MAAM,KAAK,aAAa,EAAE,IAAI,MAAM,IAAI,UAAU,EAAE,IAAI,KAAK,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;EAC/H,OAAO,EAAE,KAAK,EAAE;CACjB;CACA,SAAS,EAAE,GAAG;EACb,KAAK,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;EAC9H,OAAO,MAAM,KAAK,IAAI,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,MAAM,IAAI,KAAK,MAAM,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,IAAI,IAAI,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,IAAI,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE;CAChM;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,EAAE,OAAO,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;EAChC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,EAAE,IAAI;EAChH,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK;EAClG,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,MAAM,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK;EAC1F,IAAI,MAAM,GAAG,IAAI,IAAI;OAChB,IAAI,MAAM,GAAG,OAAO,IAAI,OAAO,IAAI,KAAK,KAAK;OAC7C,KAAK,KAAK,GAAG,KAAK;EACvB,QAAQ,IAAI,KAAK,KAAK,IAAI,MAAM,IAAI;CACrC,GAAG,EAAE,QAAQ,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EACvC,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,KAAK,KAAK,GAAG,IAAI,KAAK,GAAG,IAAI,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,GAAG,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI;EAC3K,KAAK,IAAI,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,GAAG,KAAK,MAAM,IAAI,IAAI,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK;EACzZ,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,KAAK,KAAK;EAC/E,EAAE,IAAI,IAAI,MAAM,IAAI;CACrB;AACD,EAAE,GAAG,KAAoB,oBAAI,MAAM;CAClC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,OAAO,UAAU,cAAc,OAAO,OAAO,OAAO,aAAa,OAAO,IAAI,4BAA4B,IAAI;CACxI,EAAE,SAAS,GAAG,EAAE,aAAa,GAAG,EAAE,oBAAoB;CACtD,IAAI,IAAI;CACR,EAAE,aAAa,GAAG,EAAE,sBAAsB,EAAE,GAAG,CAAC,EAAE,uBAAuB,OAAO,UAAU,OAAO,OAAO,QAAQ,SAAS,cAAc,QAAQ,MAAM,+IAA+I;CACpS,SAAS,IAAI;EACZ,IAAI;GACH,IAAI,oBAAoB,IAAI,WAAW,CAAC,GAAG,IAAI,EAAE,KAAK,WAAW;IAChE,OAAO;GACR,EAAE;GACF,OAAO,OAAO,eAAe,GAAG,WAAW,SAAS,GAAG,OAAO,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,MAAM;EACjG,QAAQ;GACP,OAAO,CAAC;EACT;CACD;CACA,OAAO,eAAe,EAAE,WAAW,UAAU;EAC5C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,IAAI,EAAE,SAAS,IAAI,GAAG,OAAO,KAAK;EACnC;CACD,CAAC,GAAG,OAAO,eAAe,EAAE,WAAW,UAAU;EAChD,YAAY,CAAC;EACb,KAAK,WAAW;GACf,IAAI,EAAE,SAAS,IAAI,GAAG,OAAO,KAAK;EACnC;CACD,CAAC;CACD,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,GAAG,MAAM,WAAW,iBAAiB,IAAI,mCAAmC;EACpF,IAAI,IAAI,IAAI,WAAW,CAAC;EACxB,OAAO,OAAO,eAAe,GAAG,EAAE,SAAS,GAAG;CAC/C;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,OAAO,KAAK,UAAU;GACzB,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,sEAAsE;GAChH,OAAO,EAAE,CAAC;EACX;EACA,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB;CACA,EAAE,WAAW;CACb,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,OAAO,KAAK,UAAU,OAAO,EAAE,GAAG,CAAC;EACvC,IAAI,YAAY,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;EACrC,IAAI,KAAK,MAAM,MAAM,UAAU,oHAAoH,OAAO,CAAC;EAC3J,IAAI,EAAE,GAAG,WAAW,KAAK,KAAK,EAAE,EAAE,QAAQ,WAAW,KAAK,OAAO,oBAAoB,QAAQ,EAAE,GAAG,iBAAiB,KAAK,KAAK,EAAE,EAAE,QAAQ,iBAAiB,IAAI,OAAO,EAAE,GAAG,GAAG,CAAC;EAC9K,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,yEAAyE;EACnH,IAAI,IAAI,EAAE,WAAW,EAAE,QAAQ;EAC/B,IAAI,KAAK,QAAQ,MAAM,GAAG,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC;EAC/C,IAAI,IAAI,EAAE,CAAC;EACX,IAAI,GAAG,OAAO;EACd,IAAI,OAAO,SAAS,OAAO,OAAO,eAAe,QAAQ,OAAO,EAAE,OAAO,gBAAgB,YAAY,OAAO,EAAE,KAAK,EAAE,OAAO,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC;EACxJ,MAAM,UAAU,oHAAoH,OAAO,CAAC;CAC7I;CACA,EAAE,OAAO,SAAS,GAAG,GAAG,GAAG;EAC1B,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB,GAAG,OAAO,eAAe,EAAE,WAAW,WAAW,SAAS,GAAG,OAAO,eAAe,GAAG,UAAU;CAChG,SAAS,EAAE,GAAG;EACb,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,0CAA0C;EACpF,IAAI,IAAI,GAAG,MAAM,WAAW,iBAAiB,IAAI,mCAAmC;CACrF;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,EAAE,CAAC,GAAG,KAAK,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;CAClG;CACA,EAAE,QAAQ,SAAS,GAAG,GAAG,GAAG;EAC3B,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC;CACpC;CACA,EAAE,cAAc,SAAS,GAAG;EAC3B,OAAO,EAAE,CAAC;CACX,GAAG,EAAE,kBAAkB,SAAS,GAAG;EAClC,OAAO,EAAE,CAAC;CACX;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,KAAK,OAAO,KAAK,YAAY,MAAM,QAAQ,IAAI,SAAS,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,UAAU,uBAAuB,CAAC;EAClH,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC;EAC/C,OAAO,MAAM,MAAM,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI;CACxC;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;EACnD,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,KAAK,EAAE,KAAK;EAC7C,OAAO;CACR;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,GAAG,UAAU,GAAG;GACrB,IAAI,IAAI,IAAI,WAAW,CAAC;GACxB,OAAO,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;EAC9C;EACA,OAAO,EAAE,CAAC;CACX;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,KAAK,EAAE,aAAa,GAAG,MAAM,WAAW,wCAAwC;EACxF,IAAI,EAAE,aAAa,KAAK,KAAK,IAAI,MAAM,WAAW,wCAAwC;EAC1F,IAAI;EACJ,OAAO,IAAI,MAAM,KAAK,KAAK,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,IAAI,MAAM,KAAK,IAAI,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,OAAO,eAAe,GAAG,EAAE,SAAS,GAAG;CACrK;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,SAAS,CAAC,GAAG;GAClB,IAAI,IAAI,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;GAChC,OAAO,EAAE,WAAW,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG;EAC9C;EACA,IAAI,EAAE,WAAW,KAAK,GAAG,OAAO,OAAO,EAAE,UAAU,YAAY,GAAE,EAAE,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;EACvF,IAAI,EAAE,SAAS,YAAY,MAAM,QAAQ,EAAE,IAAI,GAAG,OAAO,EAAE,EAAE,IAAI;CAClE;CACA,SAAS,EAAE,GAAG;EACb,IAAI,KAAK,GAAG,MAAM,WAAW,4DAA4D,EAAE,SAAS,EAAE,IAAI,QAAQ;EAClH,OAAO,IAAI;CACZ;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,KAAK,MAAM,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC;CACtC;CACA,EAAE,WAAW,SAAS,GAAG;EACxB,OAAO,KAAK,QAAQ,EAAE,cAAc,CAAC,KAAK,MAAM,EAAE;CACnD,GAAG,EAAE,UAAU,SAAS,GAAG,GAAG;EAC7B,IAAI,EAAE,GAAG,UAAU,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE,GAAG,UAAU,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,UAAU,2EAA2E;EAC3P,IAAI,MAAM,GAAG,OAAO;EACpB,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE;EACxB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI;GAClE,IAAI,EAAE,IAAI,IAAI,EAAE;GAChB;EACD;EACA,OAAO,IAAI,IAAI,KAAK,EAAE,IAAI;CAC3B,GAAG,EAAE,aAAa,SAAS,GAAG;EAC7B,QAAQ,OAAO,CAAC,CAAC,CAAC,YAAY,GAA9B;GACC,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,YAAY,OAAO,CAAC;GACzB,SAAS,OAAO,CAAC;EAClB;CACD,GAAG,EAAE,SAAS,SAAS,GAAG,GAAG;EAC5B,IAAI,CAAC,MAAM,QAAQ,CAAC,GAAG,MAAM,UAAU,+CAA+C;EACtF,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE,MAAM,CAAC;EACpC,IAAI;EACJ,IAAI,MAAM,KAAK,GAAG,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;EAClE,IAAI,IAAI,EAAE,YAAY,CAAC,GAAG,IAAI;EAC9B,KAAK,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG;GAC9B,IAAI,IAAI,EAAE;GACV,IAAI,EAAE,GAAG,UAAU,GAAG,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,MAAM,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,KAAK,WAAW,UAAU,IAAI,KAAK,GAAG,GAAG,CAAC;QACnI,IAAI,EAAE,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC;QAC9B,MAAM,UAAU,+CAA+C;GACpE,KAAK,EAAE;EACR;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,EAAE,SAAS,CAAC,GAAG,OAAO,EAAE;EAC5B,IAAI,YAAY,OAAO,CAAC,KAAK,EAAE,GAAG,WAAW,GAAG,OAAO,EAAE;EACzD,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,+FAA+F,OAAO,CAAC;EACjJ,IAAI,IAAI,EAAE,QAAQ,IAAI,UAAU,SAAS,KAAK,UAAU,OAAO,CAAC;EAChE,IAAI,CAAC,KAAK,MAAM,GAAG,OAAO;EAC1B,IAAI,IAAI,CAAC;EACT,SAAS,QAAQ,GAAR;GACR,KAAK;GACL,KAAK;GACL,KAAK,UAAU,OAAO;GACtB,KAAK;GACL,KAAK,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC;GAC3B,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,YAAY,OAAO,IAAI;GAC5B,KAAK,OAAO,OAAO,MAAM;GACzB,KAAK,UAAU,OAAO,GAAG,CAAC,CAAC,CAAC;GAC5B;IACC,IAAI,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7B,KAAK,KAAK,EAAA,CAAG,YAAY,GAAG,IAAI,CAAC;EACnC;CACD;CACA,EAAE,aAAa;CACf,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,CAAC;EACT,KAAK,MAAM,KAAK,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,KAAK,YAAY,MAAM,KAAK,KAAK,IAAI,KAAK,YAAY,IAAI,KAAK,SAAS,KAAK,OAAO,OAAO,GAAG,OAAO,GAAG,KAAK,IAAI,OAAO;EACpK,KAAK,MAAM,UAAU,QAAQ,GAAR;GACpB,KAAK,OAAO,OAAO,EAAE,MAAM,GAAG,CAAC;GAC/B,KAAK;GACL,KAAK,SAAS,OAAO,EAAE,MAAM,GAAG,CAAC;GACjC,KAAK,SAAS,OAAO,EAAE,MAAM,GAAG,CAAC;GACjC,KAAK;GACL,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG,CAAC;GAClC,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG,CAAC;GAClC,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,YAAY,OAAO,EAAE,MAAM,GAAG,CAAC;GACpC;IACC,IAAI,GAAG,MAAM,UAAU,uBAAuB,CAAC;IAC/C,KAAK,IAAI,GAAA,CAAI,YAAY,GAAG,IAAI,CAAC;EACnC;CACD;CACA,EAAE,UAAU,YAAY,CAAC;CACzB,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE;EACV,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;CACrB;CACA,EAAE,UAAU,SAAS,WAAW;EAC/B,IAAI,IAAI,KAAK;EACb,IAAI,IAAI,KAAK,GAAG,MAAM,WAAW,2CAA2C;EAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;EAC/C,OAAO;CACR,GAAG,EAAE,UAAU,SAAS,WAAW;EAClC,IAAI,IAAI,KAAK;EACb,IAAI,IAAI,KAAK,GAAG,MAAM,WAAW,2CAA2C;EAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;EACtE,OAAO;CACR,GAAG,EAAE,UAAU,SAAS,WAAW;EAClC,IAAI,IAAI,KAAK;EACb,IAAI,IAAI,KAAK,GAAG,MAAM,WAAW,2CAA2C;EAC5E,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;EACpH,OAAO;CACR,GAAG,EAAE,UAAU,WAAW,WAAW;EACpC,IAAI,IAAI,KAAK;EACb,OAAO,MAAM,IAAI,KAAK,UAAU,WAAW,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,MAAM,SAAS;CACvF,GAAG,EAAE,UAAU,iBAAiB,EAAE,UAAU,UAAU,EAAE,UAAU,SAAS,SAAS,GAAG;EACtF,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,UAAU,2BAA2B;EAC/D,OAAO,SAAS,KAAK,EAAE,QAAQ,MAAM,CAAC,MAAM;CAC7C,GAAG,EAAE,UAAU,UAAU,WAAW;EACnC,IAAI,IAAI,IAAI,IAAI,EAAE;EAClB,OAAO,IAAI,KAAK,SAAS,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,WAAW,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,SAAS,MAAM,KAAK,UAAU,aAAa,IAAI;CAC7H,GAAG,MAAM,EAAE,UAAU,KAAK,EAAE,UAAU,UAAU,EAAE,UAAU,UAAU,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;EAC7F,IAAI,EAAE,GAAG,UAAU,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,UAAU,qFAAqF,OAAO,CAAC;EAC9L,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,EAAE,SAAS,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,SAAS,IAAI,KAAK,IAAI,EAAE,UAAU,IAAI,KAAK,IAAI,KAAK,QAAQ,MAAM,WAAW,oBAAoB;EACzN,IAAI,KAAK,KAAK,KAAK,GAAG,OAAO;EAC7B,IAAI,KAAK,GAAG,OAAO;EACnB,IAAI,KAAK,GAAG,OAAO;EACnB,IAAI,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO;EAC/D,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,GAAG,CAAC;EACpF,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,IAAI;GAC9C,IAAI,EAAE,IAAI,IAAI,EAAE;GAChB;EACD;EACA,OAAO,IAAI,IAAI,KAAK,EAAE,IAAI;CAC3B;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,IAAI,EAAE,WAAW,GAAG,OAAO;EAC3B,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,IAAI,KAAK,IAAI,aAAa,IAAI,aAAa,IAAI,gBAAgB,IAAI,cAAc,IAAI,CAAC,GAAG,GAAE,CAAC,MAAM,IAAI,IAAI,IAAI,EAAE,SAAS,IAAI,IAAI,MAAM,IAAI,EAAE,SAAS,IAAI,KAAK,EAAE,QAAQ;GAC3M,IAAI,GAAG,OAAO;GACd,IAAI,EAAE,SAAS;EAChB,OAAO,IAAI,IAAI,GAAG;GACjB,IAAI,GAAG,IAAI;QACN,OAAO;EACb;EACA,IAAI,OAAO,KAAK,aAAa,IAAI,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,OAAO,EAAE,WAAW,IAAI,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;EAC3G,IAAI,OAAO,KAAK,UAAU,OAAO,KAAK,KAAK,OAAO,WAAW,UAAU,WAAW,aAAa,IAAI,WAAW,UAAU,QAAQ,KAAK,GAAG,GAAG,CAAC,IAAI,WAAW,UAAU,YAAY,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;EAClN,MAAM,UAAU,sCAAsC;CACvD;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE;EAC/B,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,UAAU,MAAM,WAAW,MAAM,aAAa,MAAM,aAAa;GACxH,IAAI,EAAE,SAAS,KAAK,EAAE,SAAS,GAAG,OAAO;GACzC,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;EAC7B;EACA,SAAS,EAAE,GAAG,GAAG;GAChB,OAAO,MAAM,IAAI,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;EAC7C;EACA,IAAI;EACJ,IAAI,GAAG;GACN,IAAI,IAAI;GACR,KAAK,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,MAAM,KAAK,IAAI,IAAI,CAAC,GAC5D;QAAA,MAAM,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,GAAG,OAAO,IAAI;GAAA,OAC/C,MAAM,OAAO,KAAK,IAAI,IAAI,IAAI;EACtC,OAAO,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;GACzD,IAAI,IAAI,CAAC;GACT,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IACxD,IAAI,CAAC;IACL;GACD;GACA,IAAI,GAAG,OAAO;EACf;EACA,OAAO;CACR;CACA,EAAE,UAAU,WAAW,SAAS,GAAG,GAAG,GAAG;EACxC,OAAO,KAAK,QAAQ,GAAG,GAAG,CAAC,MAAM;CAClC,GAAG,EAAE,UAAU,UAAU,SAAS,GAAG,GAAG,GAAG;EAC1C,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;CAC3B,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG,GAAG;EAC9C,OAAO,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;CAC3B;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI,OAAO,CAAC,KAAK;EACjB,IAAI,IAAI,EAAE,SAAS;EACnB,KAAK,IAAI,OAAO,CAAC,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI;EAC5C,IAAI,IAAI,EAAE;EACV,IAAI,IAAI,MAAM,IAAI,IAAI;EACtB,IAAI;EACJ,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;GACvB,IAAI,IAAI,SAAS,EAAE,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE;GACvC,IAAI,GAAE,CAAC,GAAG,OAAO;GACjB,EAAE,IAAI,KAAK;EACZ;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,OAAO,GAAE,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;CACtC;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,OAAO,GAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;CACxB;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,OAAO,GAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;CACxB;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,OAAO,GAAE,GAAG,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;CACtC;CACA,EAAE,UAAU,QAAQ,SAAS,GAAG,GAAG,GAAG,GAAG;EACxC,IAAI,MAAM,KAAK,GAAG,IAAI,QAAQ,IAAI,KAAK,QAAQ,IAAI;OAC9C,IAAI,MAAM,KAAK,KAAK,OAAO,KAAK,UAAU,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI;OACtE,IAAI,SAAS,CAAC,GAAG,OAAO,GAAG,SAAS,CAAC,KAAK,OAAO,GAAG,MAAM,KAAK,MAAM,IAAI,YAAY,IAAI,GAAG,IAAI,KAAK;OACrG,MAAM,MAAM,yEAAyE;EAC1F,IAAI,IAAI,KAAK,SAAS;EACtB,KAAK,MAAM,KAAK,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE,SAAS,MAAM,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,QAAQ,MAAM,WAAW,wCAAwC;EACtJ,MAAM;EACN,IAAI,IAAI,CAAC;EACT,SAAS,QAAQ,GAAR;GACR,KAAK,OAAO,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;GAClC,KAAK;GACL,KAAK,SAAS,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;GACpC,KAAK;GACL,KAAK;GACL,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;GACrC,KAAK,UAAU,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;GACrC,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,YAAY,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC;GACvC;IACC,IAAI,GAAG,MAAM,UAAU,uBAAuB,CAAC;IAC/C,KAAK,KAAK,EAAA,CAAG,YAAY,GAAG,IAAI,CAAC;EACnC;CACD,GAAG,EAAE,UAAU,SAAS,WAAW;EAClC,OAAO;GACN,MAAM;GACN,MAAM,MAAM,UAAU,MAAM,KAAK,KAAK,QAAQ,MAAM,CAAC;EACtD;CACD;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,MAAM,KAAK,MAAM,EAAE,SAAS,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,CAAC;CACtF;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC;EACxB,IAAI,IAAI,CAAC,GAAG,IAAI;EAChB,OAAO,IAAI,IAAI;GACd,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI,IAAI,MAAM,IAAI;GACtE,IAAI,IAAI,KAAK,GAAG;IACf,IAAI,GAAG,GAAG,GAAG;IACb,QAAQ,GAAR;KACC,KAAK;MACJ,IAAI,QAAQ,IAAI;MAChB;KACD,KAAK;MACJ,IAAI,EAAE,IAAI,KAAK,IAAI,QAAQ,QAAQ,KAAK,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,QAAQ,IAAI;MAC/E;KACD,KAAK;MACJ,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,QAAQ,QAAQ,IAAI,QAAQ,QAAQ,KAAK,IAAI,OAAO,MAAM,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,SAAS,IAAI,WAAW,IAAI;MAC/J;KACD,KAAK,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,QAAQ,QAAQ,IAAI,QAAQ,QAAQ,IAAI,QAAQ,QAAQ,KAAK,IAAI,OAAO,MAAM,IAAI,OAAO,MAAM,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,SAAS,IAAI,YAAY,IAAI;IAC/M;GACD;GACA,MAAM,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,UAAU,KAAK,OAAO,EAAE,KAAK,MAAM,KAAK,OAAO,KAAK,GAAG,IAAI,QAAQ,IAAI,OAAO,EAAE,KAAK,CAAC,GAAG,KAAK;EACrI;EACA,OAAO,EAAE,CAAC;CACX;CACA,IAAI,IAAI;CACR,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE;EACV,IAAI,KAAK,GAAG,OAAO,OAAO,aAAa,MAAM,QAAQ,CAAC;EACtD,IAAI,IAAI,IAAI,IAAI;EAChB,OAAO,IAAI,IAAI,KAAK,OAAO,aAAa,MAAM,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;EACxE,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI;EACR,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC;EACxB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,OAAO,aAAa,EAAE,KAAK,GAAG;EAC/D,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI;EACR,IAAI,KAAK,IAAI,EAAE,QAAQ,CAAC;EACxB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,OAAO,aAAa,EAAE,EAAE;EACzD,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE;EACV,CAAC,CAAC,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,IAAI,OAAO,IAAI;EACzD,IAAI,IAAI;EACR,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,EAAG,EAAE;EACtC,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;EAC3B,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,OAAO,aAAa,EAAE,KAAK,EAAE,IAAI,KAAK,GAAG;EACxF,OAAO;CACR;CACA,EAAE,UAAU,QAAQ,SAAS,GAAG,GAAG;EAClC,IAAI,IAAI,KAAK;EACb,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI;EACjK,IAAI,IAAI,KAAK,SAAS,GAAG,CAAC;EAC1B,OAAO,OAAO,eAAe,GAAG,EAAE,SAAS,GAAG;CAC/C;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,MAAM,WAAW,oBAAoB;EAC9D,IAAI,IAAI,IAAI,GAAG,MAAM,WAAW,uCAAuC;CACxE;CACA,EAAE,UAAU,aAAa,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG;EACnE,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAC5C,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI;EAC5B,OAAO,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK;EAClD,OAAO;CACR,GAAG,EAAE,UAAU,aAAa,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG;EACtE,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,IAAI,IAAI;EAC3B,OAAO,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,KAAK;EAClD,OAAO;CACR,GAAG,EAAE,UAAU,YAAY,EAAE,UAAU,YAAY,SAAS,GAAG,GAAG;EACjE,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK;CAClD,GAAG,EAAE,UAAU,eAAe,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EACvE,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,KAAK,IAAI,MAAM;CACtE,GAAG,EAAE,UAAU,eAAe,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EACvE,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,MAAM,IAAI,KAAK,IAAI;CACrE,GAAG,EAAE,UAAU,eAAe,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EACvE,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,MAAM,KAAK,IAAI,KAAK;CAC9G,GAAG,EAAE,UAAU,eAAe,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EACvE,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,YAAY,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI;CACnH,GAAG,EAAE,UAAU,kBAAkB,GAAG,SAAS,GAAG;EAC/C,OAAO,GAAG,EAAE,GAAG,QAAQ;EACvB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI;EAC9B,CAAC,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,EAAG,GAAG,KAAK,SAAS,CAAC;EACvD,IAAI,IAAI,IAAI,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK;EAC1I,OAAO,OAAO,CAAC,KAAK,OAAO,CAAC,KAAK,OAAO,EAAE;CAC3C,CAAC,GAAG,EAAE,UAAU,kBAAkB,GAAG,SAAS,GAAG;EAChD,OAAO,GAAG,EAAE,GAAG,QAAQ;EACvB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI;EAC9B,CAAC,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,EAAG,GAAG,KAAK,SAAS,CAAC;EACvD,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,MAAM;EAC3I,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,CAAC;CAC5C,CAAC,GAAG,EAAE,UAAU,YAAY,SAAS,GAAG,GAAG,GAAG;EAC7C,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAC5C,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,IAAI;EAC5B,OAAO,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK;EAClD,OAAO,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,IAAI,KAAK;CACjD,GAAG,EAAE,UAAU,YAAY,SAAS,GAAG,GAAG,GAAG;EAC5C,OAAO,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAC5C,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,IAAI,EAAE;EACjC,OAAO,IAAI,MAAM,KAAK,OAAO,KAAK,KAAK,IAAI,EAAE,KAAK;EAClD,OAAO,KAAK,KAAK,KAAK,MAAM,KAAK,MAAM,IAAI,KAAK;CACjD,GAAG,EAAE,UAAU,WAAW,SAAS,GAAG,GAAG;EACxC,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,OAAO,MAAM,KAAK,KAAK,KAAK,KAAK,KAAK;CAC7F,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC3C,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAClC,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,MAAM;EACjC,OAAO,IAAI,QAAQ,IAAI,aAAa;CACrC,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC3C,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM;EAClC,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,MAAM;EACjC,OAAO,IAAI,QAAQ,IAAI,aAAa;CACrC,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC3C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM;CAC7G,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC3C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI;CAC7G,GAAG,EAAE,UAAU,iBAAiB,GAAG,SAAS,GAAG;EAC9C,OAAO,GAAG,EAAE,GAAG,QAAQ;EACvB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI;EAC9B,CAAC,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,EAAG,GAAG,KAAK,SAAS,CAAC;EACvD,IAAI,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,KAAK,MAAM,KAAK;EACxE,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,IAAI,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,EAAE;CAC1G,CAAC,GAAG,EAAE,UAAU,iBAAiB,GAAG,SAAS,GAAG;EAC/C,OAAO,GAAG,EAAE,GAAG,QAAQ;EACvB,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI;EAC9B,CAAC,MAAM,KAAK,KAAK,MAAM,KAAK,MAAM,EAAG,GAAG,KAAK,SAAS,CAAC;EACvD,IAAI,KAAK,KAAK,MAAM,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,MAAM,KAAK,EAAE;EACnE,QAAQ,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK,MAAM,CAAC;CAC1G,CAAC,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC5C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;CACtE,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EAC3C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;CACtE,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EAC5C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;CACtE,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG;EAC5C,OAAO,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;CACtE;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EAC5B,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,UAAU,+CAA+C;EACnF,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,WAAW,qCAAqC;EAC1E,IAAI,IAAI,IAAI,EAAE,QAAQ,MAAM,WAAW,oBAAoB;CAC5D;CACA,EAAE,UAAU,cAAc,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG,GAAG,GAAG;EACxE,IAAI,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,GAAG;GACnC,IAAI,IAAI,MAAM,IAAI,KAAK;GACvB,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;EACtB;EACA,IAAI,IAAI,GAAG,IAAI;EACf,KAAK,KAAK,KAAK,IAAI,KAAK,EAAE,IAAI,MAAM,KAAK,OAAO,KAAK,IAAI,KAAK,IAAI,IAAI;EACtE,OAAO,IAAI;CACZ,GAAG,EAAE,UAAU,cAAc,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG,GAAG,GAAG;EAC3E,IAAI,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,CAAC,GAAG;GACnC,IAAI,IAAI,MAAM,IAAI,KAAK;GACvB,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;EACtB;EACA,IAAI,IAAI,IAAI,GAAG,IAAI;EACnB,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,KAAK,IAAI,IAAI;EAC3E,OAAO,IAAI;CACZ,GAAG,EAAE,UAAU,aAAa,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG;EACtE,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI;CAChF,GAAG,EAAE,UAAU,gBAAgB,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAC5E,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,IAAI;CACzG,GAAG,EAAE,UAAU,gBAAgB,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAC5E,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,KAAK,KAAK,MAAM,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CACzG,GAAG,EAAE,UAAU,gBAAgB,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAC5E,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,GAAG,KAAK,KAAK,IAAI,KAAK,IAAI;CAC9J,GAAG,EAAE,UAAU,gBAAgB,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAC5E,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,YAAY,CAAC,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CAC9J;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;EAClB,IAAI,IAAI,OAAO,IAAI,OAAO,UAAU,CAAC;EACrC,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO;EACxE,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;EACnD,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,EAAE,OAAO,GAAG;CACnF;CACA,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EAC1B,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;EAClB,IAAI,IAAI,OAAO,IAAI,OAAO,UAAU,CAAC;EACrC,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,IAAI,KAAK;EAChF,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE,IAAI,OAAO,UAAU,CAAC;EACnD,OAAO,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,IAAI,KAAK,GAAG,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI;CAC3F;CACA,EAAE,UAAU,mBAAmB,GAAG,SAAS,GAAG,IAAI,GAAG;EACpD,OAAO,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;CAC7D,CAAC,GAAG,EAAE,UAAU,mBAAmB,GAAG,SAAS,GAAG,IAAI,GAAG;EACxD,OAAO,GAAG,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,OAAO,oBAAoB,CAAC;CAC9D,CAAC,GAAG,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG,GAAG;EACjD,IAAI,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG;GACzB,IAAI,IAAI,MAAM,IAAI,IAAI;GACtB,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;EAC3B;EACA,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI;EACtB,KAAK,KAAK,KAAK,IAAI,KAAK,EAAE,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI;EACvI,OAAO,IAAI;CACZ,GAAG,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG,GAAG;EAChD,IAAI,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG;GACzB,IAAI,IAAI,MAAM,IAAI,IAAI;GACtB,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;EAC3B;EACA,IAAI,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI;EAC1B,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,EAAE,KAAK,MAAM,KAAK,OAAO,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,IAAI,OAAO,MAAM,IAAI,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,KAAK,IAAI;EAC5I,OAAO,IAAI;CACZ,GAAG,EAAE,UAAU,YAAY,SAAS,GAAG,GAAG,GAAG;EAC5C,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;CAC/G,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC/C,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,MAAM,GAAG,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,IAAI;CAC9G,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC/C,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,OAAO,MAAM,GAAG,KAAK,KAAK,MAAM,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CAC9G,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC/C,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,YAAY,WAAW,GAAG,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,GAAG,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,IAAI,IAAI;CACxK,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC/C,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,YAAY,WAAW,GAAG,IAAI,MAAM,IAAI,aAAa,IAAI,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,IAAI,KAAK,MAAM,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI;CAC3M,GAAG,EAAE,UAAU,kBAAkB,GAAG,SAAS,GAAG,IAAI,GAAG;EACtD,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CACjF,CAAC,GAAG,EAAE,UAAU,kBAAkB,GAAG,SAAS,GAAG,IAAI,GAAG;EACvD,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,OAAO,oBAAoB,GAAG,OAAO,oBAAoB,CAAC;CAClF,CAAC;CACD,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EAC5B,IAAI,IAAI,IAAI,EAAE,UAAU,IAAI,GAAG,MAAM,WAAW,oBAAoB;CACrE;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,sBAAsB,qBAAqB,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI;CAC3H;CACA,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC5C,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;CAC3B,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG,GAAG,GAAG;EAC/C,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;CAC3B;CACA,SAAS,GAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,OAAO,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,uBAAuB,sBAAsB,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI;CAC7H;CACA,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAC7C,OAAO,GAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;CAC3B,GAAG,EAAE,UAAU,gBAAgB,SAAS,GAAG,GAAG,GAAG;EAChD,OAAO,GAAE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC;CAC3B,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG,GAAG,GAAG;EAC1C,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,UAAU,6BAA6B;EACjE,IAAI,MAAM,GAAG,CAAC,KAAK,MAAM,MAAM,IAAI,KAAK,SAAS,KAAK,EAAE,WAAW,IAAI,EAAE,SAAS,MAAM,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,IAAI,MAAM,KAAK,EAAE,WAAW,KAAK,KAAK,WAAW,GAAG,OAAO;EAC7K,IAAI,IAAI,GAAG,MAAM,WAAW,2BAA2B;EACvD,IAAI,IAAI,KAAK,KAAK,KAAK,QAAQ,MAAM,WAAW,oBAAoB;EACpE,IAAI,IAAI,GAAG,MAAM,WAAW,yBAAyB;EACrD,IAAI,KAAK,WAAW,IAAI,KAAK,SAAS,EAAE,SAAS,IAAI,IAAI,MAAM,IAAI,EAAE,SAAS,IAAI;EAClF,IAAI,IAAI,IAAI;EACZ,OAAO,SAAS,KAAK,OAAO,WAAW,UAAU,cAAc,aAAa,KAAK,WAAW,GAAG,GAAG,CAAC,IAAI,WAAW,UAAU,IAAI,KAAK,GAAG,KAAK,SAAS,GAAG,CAAC,GAAG,CAAC,GAAG;CAClK,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG,GAAG,GAAG;EAC1C,IAAI,OAAO,KAAK,UAAU;GACzB,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,UAAU,OAAO,KAAK,aAAa,IAAI,GAAG,IAAI,KAAK,SAAS,MAAM,KAAK,KAAK,OAAO,KAAK,UAAU,MAAM,UAAU,2BAA2B;GAChM,IAAI,OAAO,KAAK,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,UAAU,uBAAuB,CAAC;GACtF,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,IAAI,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,UAAU,IAAI,OAAO,MAAM,cAAc,IAAI;GACrD;EACD,OAAO,OAAO,KAAK,WAAW,KAAK,MAAM,OAAO,KAAK,cAAc,IAAI,OAAO,CAAC;EAC/E,IAAI,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,SAAS,GAAG,MAAM,WAAW,oBAAoB;EACtF,IAAI,KAAK,GAAG,OAAO;EACnB,OAAO,GAAG,IAAI,MAAM,KAAK,IAAI,KAAK,SAAS,MAAM,GAAG,MAAM;EAC1D,IAAI;EACJ,IAAI,OAAO,KAAK,UAAU,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,KAAK;OACvD;GACJ,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE;GAChD,IAAI,MAAM,GAAG,MAAM,UAAU,iBAAiB,IAAI,sCAAsC;GACxF,KAAK,IAAI,GAAG,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,IAAI;EACjD;EACA,OAAO;CACR;CACA,IAAI,KAAI,CAAC;CACT,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,GAAE,KAAK,cAAc,EAAE;GACtB,cAAc;IACb,MAAM,GAAG,OAAO,eAAe,MAAM,WAAW;KAC/C,OAAO,EAAE,MAAM,MAAM,SAAS;KAC9B,UAAU,CAAC;KACX,cAAc,CAAC;IAChB,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,IAAI,KAAK,OAAO,OAAO,KAAK;GAChE;GACA,IAAI,OAAO;IACV,OAAO;GACR;GACA,IAAI,KAAK,GAAG;IACX,OAAO,eAAe,MAAM,QAAQ;KACnC,cAAc,CAAC;KACf,YAAY,CAAC;KACb,OAAO;KACP,UAAU,CAAC;IACZ,CAAC;GACF;GACA,WAAW;IACV,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK;GACrC;EACD;CACD;CACA,EAAE,4BAA4B,SAAS,GAAG;EACzC,OAAO,IAAI,GAAG,EAAE,gCAAgC;CACjD,GAAG,UAAU,GAAG,EAAE,wBAAwB,SAAS,GAAG,GAAG;EACxD,OAAO,QAAQ,EAAE,mDAAmD,OAAO;CAC5E,GAAG,SAAS,GAAG,EAAE,oBAAoB,SAAS,GAAG,GAAG,GAAG;EACtD,IAAI,IAAI,iBAAiB,EAAE,qBAAqB,IAAI;EACpD,OAAO,OAAO,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,GAAE,OAAO,CAAC,CAAC,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,OAAO,EAAE,QAAQ,IAAI,GAAE,CAAC,IAAI,KAAK,MAAM,KAAK,eAAe,EAAE,aAAa,KAAK;CACpP,GAAG,UAAU;CACb,SAAS,GAAE,GAAG;EACb,IAAI,IAAI,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO;EACzC,OAAO,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,EAAE,MAAM,IAAI,GAAG,CAAC,IAAI;EACvD,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI;CAC3B;CACA,SAAS,GAAG,GAAG,GAAG,GAAG;EACpB,EAAE,GAAG,QAAQ,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,IAAI,OAAO,KAAK,MAAM,EAAG,GAAG,EAAE,UAAU,IAAI,EAAE;CACrF;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EAC5B,IAAI,IAAI,KAAK,IAAI,GAAG;GACnB,IAAI,IAAI,OAAO,KAAK,WAAW,MAAM,IAAI;GACzC,MAAM,IAAI,IAAI,IAAI,MAAM,KAAK,MAAM,OAAO,CAAC,IAAI,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,KAAK,IAAI,MAAM,SAAS,EAAE,OAAO,IAAI,KAAK,IAAI,IAAI,EAAE,gBAAgB,IAAI,KAAK,IAAI,IAAI,MAAM,MAAM,IAAI,EAAE,UAAU,IAAI,KAAK,IAAI,GAAE,iBAAiB,SAAS,GAAG,CAAC;EAC9O;EACA,GAAG,GAAG,GAAG,CAAC;CACX;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,GAAE,qBAAqB,GAAG,UAAU,CAAC;CAC1E;CACA,SAAS,EAAG,GAAG,GAAG,GAAG;EACpB,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,GAAE,yBAAyB,IAAI,IAAI,GAAE,iBAAiB,KAAK,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,IAAI,GAAE,iBAAiB,KAAK,UAAU,cAAc,CAAC;CAC5M;CACA,IAAI,KAAK;CACT,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO;EAC5E,OAAO,EAAE,SAAS,KAAK,IAAI,KAAK;EAChC,OAAO;CACR;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,MAAM;EACN,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,MAAM,IAAI,CAAC;EACpC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;GAC3B,IAAI,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,SAAS,IAAI,OAAO;IAChD,IAAI,CAAC,GAAG;KACP,IAAI,IAAI,OAAO;MACd,CAAC,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,GAAG;MACrC;KACD;KACA,IAAI,IAAI,MAAM,GAAG;MAChB,CAAC,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,GAAG;MACrC;KACD;KACA,IAAI;KACJ;IACD;IACA,IAAI,IAAI,OAAO;KACd,CAAC,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,GAAG,GAAG,IAAI;KAC5C;IACD;IACA,KAAK,IAAI,SAAS,KAAK,IAAI,SAAS;GACrC,OAAO,MAAM,KAAK,KAAK,MAAM,EAAE,KAAK,KAAK,KAAK,GAAG;GACjD,IAAI,IAAI,MAAM,IAAI,KAAK;IACtB,IAAI,EAAE,IAAI,GAAG;IACb,EAAE,KAAK,CAAC;GACT,OAAO,IAAI,IAAI,MAAM;IACpB,KAAK,KAAK,KAAK,GAAG;IAClB,EAAE,KAAK,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG;GAClC,OAAO,IAAI,IAAI,OAAO;IACrB,KAAK,KAAK,KAAK,GAAG;IAClB,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,GAAG;GACtD,OAAO,IAAI,IAAI,SAAS;IACvB,KAAK,KAAK,KAAK,GAAG;IAClB,EAAE,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,GAAG;GAC1E,OAAO,MAAM,MAAM,oBAAoB;EACxC;EACA,OAAO;CACR;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,CAAC;EACT,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,GAAG;EAC/D,OAAO;CACR;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;EAClB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,UAAU,GAAG,KAAK,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC;EACvH,OAAO;CACR;CACA,SAAS,GAAG,GAAG;EACd,OAAO,EAAE,YAAY,GAAG,CAAC,CAAC;CAC3B;CACA,SAAS,GAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI;EACJ,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE,IAAI,KAAK,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE;EAC9E,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,aAAa,KAAK,KAAK,QAAQ,EAAE,eAAe,QAAQ,EAAE,YAAY,QAAQ,QAAQ,EAAE,YAAY,SAAS,EAAE;CACvH;CACA,SAAS,GAAE,GAAG;EACb,OAAO,MAAM;CACd;CACA,IAAI,KAAM,WAAW;EACpB,IAAI,IAAI,oBAAoB,IAAI,MAAM,GAAG;EACzC,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG;GAC5B,IAAI,IAAI,IAAI;GACZ,KAAK,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE;EAClD;EACA,OAAO;CACR,EAAA,CAAG;CACH,SAAS,GAAG,GAAG;EACd,OAAO,OAAO,SAAS,MAAM,KAAK;CACnC;CACA,SAAS,KAAK;EACb,MAAM,MAAM,sBAAsB;CACnC;AACD,EAAE,GAAG,IAAG,IAAG,IAAI,IAAG,KAAI,UAAS;CAC9B,KAAI,+CAA+C,KAAI,qCAAqC,KAAK,mCAAmC,KAAI;EACvI,KAAK;GACJ,SAAS,GAAG,GAAE;GACd,SAAS,GAAG,GAAE;GACd,QAAQ,GAAG,GAAE;GACb,SAAS,GAAG,GAAE;GACd,QAAQ,GAAG,GAAE;EACd;EACA,KAAK;GACJ,MAAM,GAAG,GAAE;GACX,KAAK,GAAG,GAAE;GACV,OAAO,GAAG,GAAE;GACZ,MAAM,GAAG,GAAE;GACX,YAAY,GAAG,GAAE;EAClB;EACA,KAAK,EAAE,QAAQ,uCAAuC;EACtD,GAAG;GACF,SAAS,GAAG,GAAG;GACf,QAAQ,GAAG,GAAG;EACf;EACA,KAAK;GACJ,SAAS,GAAG,GAAG;GACf,aAAa,GAAG,GAAG;EACpB;CACD;AACD,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAG,KAAI,UAAS;CAChD,KAAK,GAAE,GAAG,GAAE,GAAG,CAAC,KAAK,MAAM,IAAG,KAAK,oDAAoD,KAAK;EAC3F,MAAM;EACN,KAAK;EACL,MAAM;EACN,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,GAAG;EACH,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;CACN,GAAG,KAAK,8BAA8B,KAAK;EAC1C,MAAM,CAAC;EACP,eAAe,CAAC;EAChB,qBAAqB,CAAC;EACtB,WAAW,CAAC;EACZ,QAAQ,CAAC;EACT,UAAU,CAAC;EACX,UAAU,CAAC;EACX,aAAa,CAAC;EACd,YAAY,CAAC;CACd,GAAG,KAAK,OAAO,KAAI,MAAM;EACxB,YAAY,GAAG;GACd,IAAI,KAAK,OAAO,qCAAqC,KAAK,gBAAgB,2CAA2C,KAAK,sBAAsB,4BAA4B,KAAK,0BAA0B,4BAA4B,KAAK,YAAY,6CAA6C,KAAK,UAAU,8XAA8X,KAAK,YAAY,sjCAAsjC,KAAK,YAAY,iZAAiZ,KAAK,SAAS,gaAAga,KAAK,UAAU,mFAAmF,KAAK,WAAW,6CAA6C,KAAK,WAAW,wBAAwB,KAAK,iBAAiB,qCAAqC,KAAK,mBAAmB,6BAA6B,KAAK,WAAW,6CAA6C,KAAK,WAAW,eAAe,KAAK,cAAc,WAAW,KAAK,aAAa,oBAAoB,MAAM,CAAC,GAAG,KAAK,eAAe,EAAE,aAAa,KAAK,YAAY,CAAC,CAAC,EAAE,UAAU;IAC3mG,KAAK,UAAU,CAAC;IAChB,KAAK,IAAI,KAAK,MAAM,EAAE,KAAK,OAAO,KAAK,cAAc,WAAW,KAAK,KAAK;GAC3E,OAAO,KAAK,UAAU,EAAE,OAAO,CAAC;GAChC,KAAK,WAAW,CAAC,CAAC,EAAE,UAAU,KAAK,qBAAqB;EACzD;EACA,eAAe,GAAG,GAAG;GACpB,IAAI,IAAI,KAAK,QAAQ,IAAI,EAAE;GAC3B,SAAS;IACR,IAAI,GAAG;IACP,OAAO,IAAI,KAAK,SAAS,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,SAAS,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,OAAO,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,KAAK;IAC/L,IAAI,CAAC,MAAM,IAAI,KAAK,YAAY,KAAK,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,WAAW,KAAK,CAAC,GAAG,OAAO,MAAM,KAAK,aAAa,IAAI,KAAK,SAAS,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,OAAO,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS;IACjR,IAAI,IAAI,KAAK,OAAO,IAAI,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5E,QAAQ,GAAR;KACC,KAAK;MACJ,IAAI,EAAE,SAAS,GAAG;MAClB,IAAI,EAAE,OAAO,KACR;WAAA,KAAK,kBAAkB,MAAM,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,KAAK;QAC/D,IAAI,CAAC;QACL;OACD;aACM;OACN,KAAK,YAAY,IAAI,GAAG,IAAI;OAC5B;MACD;KACD,KAAK;MACJ,IAAI,IAAI,KAAK,cAAc,KAAK,CAAC,GAAG,IAAI,OAAO,IAAI,EAAE;WAChD,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,GAAG;OAC/B,IAAI,IAAI,KAAK,UAAU,EAAE,EAAE,GAAG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,IAAI;OACrE,IAAI;MACL,OAAO,EAAE,SAAS,KAAK,EAAE,OAAO,OAAO,IAAI,MAAM,IAAI,KAAK,KAAK,WAAW,EAAE,SAAS,KAAK,EAAE,OAAO,QAAQ,IAAI,GAAG,KAAK,gBAAgB,IAAI,gBAAgB,IAAI,QAAQ,IAAI,WAAW,IAAI;MAC1L;KACD,KAAK;MACJ,EAAE,SAAS,KAAK,EAAE,OAAO,QAAQ,IAAI,MAAM,IAAI;MAC/C;KACD,KAAK;MACJ,EAAE,IAAI,KAAK,OAAO,KAAK,CAAC,MAAM,MAAM,IAAI,KAAK,OAAO,KAAK,GAAG,EAAE,EAAE,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE;MACpG;KACD,KAAK;MACJ,IAAI,IAAI,KAAK,oBAAoB,KAAK,CAAC,GAAG,IAAI,EAAE;WAC3C,IAAI,CAAC,OAAO,GAAG,aAAa,KAAK,KAAK,cAAc,CAAC,GAAG,MAAM,MAAM,OAAO,EAAE,IAAI;MACtF,CAAC,MAAM,QAAQ,MAAM,OAAO,IAAI,WAAW,KAAK,qBAAqB;MACrE;KACD,KAAK;MACJ,IAAI,CAAC,KAAK,WAAW;OACpB,IAAI,IAAI,KAAK,wBAAwB,KAAK,CAAC,GAAG,IAAI,EAAE;YAC/C,IAAI,CAAC,OAAO,GAAG,aAAa,KAAK,KAAK,cAAc,CAAC,GAAG,MAAM,MAAM,OAAO,EAAE,IAAI;OACtF,CAAC,MAAM,QAAQ,MAAM,OAAO,IAAI,WAAW,KAAK,qBAAqB;MACtE;MACA;KACD,KAAK;MACJ,KAAK,YAAY,IAAI,KAAK,UAAU,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,EAAE;MAClE;KACD,KAAK;MACJ,KAAK,oBAAoB,cAAc,IAAI,KAAK,UAAU,KAAK,CAAC,MAAM,IAAI,YAAY,IAAI,EAAE,OAAO,IAAI,KAAK,SAAS,KAAK,CAAC,OAAO,IAAI,EAAE;MACxI;KACD,KAAK,KAAK,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK;MAC5D,IAAI,KAAK,IAAI;MACb;KACD;KACA,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;MACJ,CAAC,IAAI,KAAK,QAAQ,KAAK,CAAC,KAAK,MAAM,IAAI,KAAK,QAAQ,KAAK,GAAG,EAAE,EAAE,QAAQ,IAAI,WAAW,IAAI,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,WAAW,GAAG,SAAS,OAAO,EAAE,MAAM,WAAW,GAAG,UAAU,GAAG;MACrL;KACD,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;MACJ,CAAC,IAAI,KAAK,eAAe,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC;MAClE;KACD,KAAK;KACL,KAAK;MACJ,CAAC,IAAI,KAAK,SAAS,KAAK,CAAC,MAAM,IAAI,WAAW,IAAI,EAAE,IAAI,IAAI,GAAG,WAAW,IAAI,CAAC;MAC/E;KACD,KAAK;MACJ,CAAC,IAAI,KAAK,iBAAiB,KAAK,CAAC,MAAM,IAAI,gBAAgB,IAAI,OAAO,IAAI,CAAC;MAC3E;KACD,KAAK;MACJ,KAAK,WAAW,EAAE,SAAS,MAAM,IAAI,gBAAgB,EAAE,OAAO,OAAO,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI;MACnG;KACD,KAAK,KAAK,IAAI,CAAC,KAAK,SAAS;KAC7B,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;MACJ,KAAK,cAAc,IAAI,GAAG,IAAI;MAC9B;KACD,KAAK;MACJ,CAAC,KAAK,aAAa,EAAE,UAAU,MAAM,EAAE,OAAO,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,GAAG,IAAI;MACpF;KACD,KAAK;MACJ,EAAE,UAAU,KAAK,EAAE,OAAO,QAAQ,IAAI,MAAM,IAAI;MAChD;KACD,SAAS,IAAI,CAAC;IACf;IACA,IAAI,OAAO,KAAK,oBAAoB,aAAa,KAAK,oBAAoB,cAAc,IAAI,KAAK,QAAQ,KAAK,CAAC,MAAM,IAAI,UAAU,IAAI,EAAE,MAAM,QAAQ,IAAI,KAAK,UAAU,KAAK,CAAC,MAAM,MAAM,IAAI,KAAK,UAAU,KAAK,GAAG,EAAE,EAAE,QAAQ,IAAI,YAAY,IAAI,EAAE,MAAM,IAAI,IAAI,KAAK,UAAU,EAAE,EAAE,KAAK,KAAK,oBAAoB,MAAM,QAAQ,GAAR;KAC7T,KAAK;MACJ,IAAI;MACJ;KACD,KAAK;MACJ,IAAI;MACJ;KACD,SAAS,IAAI;IACd;IACA,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,YAAY,KAAK,CAAC,KAAK,QAAQ,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,KAAK,SAAS;IACtF,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;IAC7C,KAAK,gBAAgB,GAAG,KAAK,kBAAkB,GAAG,IAAI,EAAE,OAAO,GAAG,EAAE,MAAM;GAC3E;GACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;IACzB,IAAI,IAAI,IAAI,IAAI,EAAE,SAAS,GAAG,IAAI;KACjC,MAAM;KACN,OAAO;KACP,QAAQ;KACR,MAAM;KACN,OAAO;KACP,KAAK,IAAI;IACV;IACA,OAAO,EAAE,MAAM,CAAC,GAAG;GACpB;GACA,SAAS,EAAE,GAAG;IACb,EAAE,EAAE,aAAa,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;GACpC;EACD;EACA,UAAU,GAAG;GACZ,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,QAAQ,KAAK,GAAG,GAAG,GAAG,MAAM;IAC7C,IAAI,OAAO,KAAK,UAAU,OAAO,OAAO,aAAa,OAAO,SAAS,GAAG,EAAE,CAAC;IAC3E,IAAI,OAAO,KAAK,UAAU;KACzB,IAAI,IAAI,OAAO,SAAS,GAAG,EAAE;KAC7B,OAAO,KAAK,QAAQ,OAAO,aAAa,OAAO,SAAS,GAAG,EAAE,CAAC,IAAI,OAAO,aAAa,UAAU,KAAK,UAAU,KAAK,SAAS,IAAI,KAAK;IACvI;IACA,OAAO,KAAK,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG;GACnC,CAAC;GACD,OAAO,IAAI,OAAO;EACnB;EACA,cAAc,GAAG;GAChB,IAAI,EAAE,UAAU,GAAG;IAClB,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC,CAAC,IAAI,IAAI,EAAE,QAAQ,IAAI,KAAK,IAAI,KAAK,oBAAoB,CAAC;IAC9F,QAAQ,IAAI,EAAE,QAAQ,GAAG,CAAC,KAAK,IAAI;KAClC,IAAI,IAAI;KACR,OAAO,EAAE,IAAI,IAAI,OAAO,OAAO;KAC/B,IAAI,IAAI,KAAK,GAAG;MACf,IAAI,IAAI,EAAE,UAAU,GAAG,CAAC,GAAG,IAAI,EAAE,MAAM,YAAY,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI;MACzE,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,KAAK,WAAW;MACrD,OAAO,KAAK,SAAS,GAAG;OACvB,OAAO,KAAK,UAAU,CAAC;OACvB,aAAa;MACd;KACD;KACA;IACD;IACA,KAAK,qBAAqB,EAAE,SAAS,IAAI;GAC1C;GACA,OAAO;IACN,OAAO;IACP,aAAa;GACd;EACD;EACA,aAAa,GAAG;GACf,KAAK,SAAS;GACd,IAAI,IAAoB,sBAAM,eAAe,EAAE,YAAY,KAAK,MAAM,EAAE;GACxE,OAAO,EAAE,UAAU;IAClB,OAAO,KAAK;IACZ,MAAM,KAAK;IACX,eAAe,KAAK;GACrB,GAAG;EACJ;EACA,iBAAiB,GAAG;GACnB,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,CAAC,IAAI;EAC1C;EACA,SAAS,GAAG,GAAG;GACd,IAAI,KAAK,QAAQ,GAAG,OAAO,KAAK,UAAU;IACzC,IAAI,KAAK,SAAS,KAAK,iBAAiB,CAAC,GAAG,OAAO,KAAK,YAAY,qBAAqB,KAAK,eAAe,GAAG,CAAC,CAAC,CAAC;SAC9G;KACJ,IAAI,IAAI,CAAC,GAAG;KACZ,IAAI,KAAK,gBAAgB,GAAG,MAAM,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM;KACvE,OAAO;IACR;GACD,OAAO,KAAK,iBAAiB,MAAM,OAAO,EAAE,eAAe,cAAc,EAAE,YAAY,MAAM,GAAG,EAAE,GAAG,SAAS,MAAM;IACnH,KAAK,WAAW,QAAQ,EAAE,WAAW,MAAM,KAAK,oBAAoB,IAAI,GAAG,OAAO,OAAO,CAAC,KAAK,gBAAgB,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,SAAS,KAAK,MAAM,KAAK,iBAAiB,KAAK,KAAK,WAAW,KAAK,IAAI,KAAK,SAAS,KAAK,iBAAiB,OAAO,KAAK,WAAW,IAAI,EAAE,SAAS,CAAC,IAAI,KAAK,UAAU,GAAG,KAAK,eAAe,GAAG,CAAC,CAAC;GAClU,CAAC,GAAG,EAAE,GAAG,aAAa;IACrB,OAAO,KAAK,UAAU,YAAY,KAAK,eAAe,GAAG,CAAC,CAAC;GAC5D,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;EACpB;CACD;AACD,EAAE;AACF,SAAS,GAAE,GAAG,GAAG,GAAG;CACnB,IAAI,MAAM,IAAI,CAAC,GAAG,OAAO,EAAE,aAAa;CACxC,QAAQ,EAAE,IAAV;EACC,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;EACvC,KAAK,KAAK,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;EACxC,KAAK;GACJ,IAAI,MAAM,IAAI,OAAO,IAAI,GAAG,CAAC;GAC7B,IAAI,EAAE,EAAE,SAAS,OAAO,MAAM,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,SAAS,CAAC,CAAC;GACxE,IAAI,IAAI,EAAE,YAAY,MAAM,EAAE,SAAS,CAAC;GACxC,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,OAAO,MAAM,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC;EACvG,KAAK;GACJ,IAAI,KAAK,MAAM,CAAC;GAChB;EACD,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,GAAG,OAAO,EAAE,UAAU,CAAC;CAC3D;CACA,OAAO,EAAE,KAAK,GAAE,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAE,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,GAAE,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,GAAE,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;AACrF;AACA,SAAS,GAAG,GAAG,GAAG;CACjB,IAAI,OAAO,KAAK,UAAU,OAAO;CACjC,IAAI,aAAa,MAAM,EAAE,aAAa,QAAQ,OAAO,EAAE;CACvD,IAAI,CAAC,GAAG,OAAO,GAAG;CAClB,QAAQ,EAAE,UAAV;EACC,KAAK,aAAa,OAAO,EAAE;EAC3B,KAAK,aAAa,OAAO,KAAK,EAAE;EAChC,KAAK,YAAY,OAAO,IAAI,EAAE;EAC9B,KAAK,gBAAgB,OAAO;EAC5B,KAAK,WAAW,OAAO,IAAI,EAAE,MAAM,GAAG,EAAE,WAAW,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,UAAU,GAAG,SAAS,KAAK,EAAE,SAAS,UAAU;EAC/I,KAAK;GACJ,IAAI,IAAI;IACP,GAAG,EAAE,SAAS,CAAC,CAAC;IAChB,GAAG,EAAE,WAAW,CAAC,CAAC;IAClB,GAAG,EAAE,QAAQ,CAAC,CAAC;GAChB;GACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,kBAAkB,EAAE,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,UAAU,CAAC;EAC3G,SAAS,MAAM,MAAM,wBAAwB,EAAE,UAAU;CAC1D;AACD;AACA,SAAS,GAAG,GAAG;CACd,OAAO,IAAI,GAAG,CAAC;AAChB;AACA,SAAS,GAAG,GAAG;CACd,OAAO,IAAI,GAAG,KAAK,MAAM,MAAM;AAChC;AACA,SAAS,GAAG,GAAG,GAAG;CACjB,IAAI,OAAO,KAAK,UAAU,OAAO,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG;CACnE,IAAI,IAAI,IAAI,EAAE,QAAQ;CACtB,OAAO,MAAM,OAAO,OAAO,KAAK,YAAY,IAAI,GAAG,UAAU,OAAO,KAAK,aAAa,OAAO,SAAS,CAAC,IAAI,IAAI,OAAO,UAAU,CAAC,IAAI,GAAG,UAAU,GAAG,UAAU,IAAI,GAAG,QAAQ,OAAO,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,QAAQ,YAAY,MAAM,MAAM,MAAM,GAAG,SAAS,IAAI,GAAG,IAAI,EAAE,EAAE,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG;AACzS;AACA,SAAS,GAAG,GAAG;CACd,OAAO,IAAI,GAAG,CAAC;AAChB;AACA,SAAS,KAAK;CACb,OAAO;AACR;AACA,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;CACvB,OAAO,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;AACzB;AACA,SAAS,GAAG,GAAG;CACd,IAAI,aAAa,IAAI,OAAO;CAC5B,QAAQ,EAAE,UAAV;EACC,KAAK,aAAa,OAAO,GAAG,EAAE,KAAK;EACnC,KAAK,aAAa,OAAO,GAAG,EAAE,KAAK;EACnC,KAAK,YAAY,OAAO,GAAG,EAAE,KAAK;EAClC,KAAK,gBAAgB,OAAO;EAC5B,KAAK,WAAW,OAAO,GAAG,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ;EAC3D,KAAK,QAAQ,OAAO,GAAG,CAAC;EACxB,SAAS,MAAM,MAAM,wBAAwB,EAAE,UAAU;CAC1D;AACD;AACA,SAAS,GAAG,GAAG;CACd,IAAI,aAAa,IAAI,OAAO;CAC5B,IAAI,EAAE,aAAa,QAAQ,MAAM,MAAM,wBAAwB,EAAE,UAAU;CAC3E,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,KAAK,CAAC;AACpE;AACA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,UAAS;CACjE,GAAE,GAAG,CAAC,KAAK,IAAI,KAAK,MAAM,IAAG,KAAK,GAAG,KAAK;EACzC,WAAW;EACX,WAAW;EACX,UAAU;EACV,SAAS;EACT,cAAc;EACd,MAAM;EACN,QAAQ;EACR,UAAU;EACV,UAAU;CACX,GAAG,KAAK,MAAM,EAAE;EACf,YAAY,GAAG;GACd,KAAK,KAAK;EACX;EACA,IAAI,QAAQ;GACX,OAAO,KAAK;EACb;EACA,OAAO,GAAG;GACT,OAAO,aAAa,IAAI,KAAK,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE,YAAY,KAAK,UAAU,EAAE;EACpG;EACA,WAAW;GACV,OAAO;EACR;EACA,SAAS;GACR,OAAO;IACN,UAAU,KAAK;IACf,OAAO,KAAK;GACb;EACD;CACD,GAAG,KAAK,cAAc,GAAG;EACxB,IAAI,WAAW;GACd,OAAO;EACR;CACD,GAAG,KAAK,MAAM,UAAU,GAAG;EAC1B,IAAI,WAAW;GACd,OAAO;EACR;EACA,IAAI,QAAQ;GACX,OAAO,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,YAAY,IAAI,CAAC;EACtD;EACA,IAAI,WAAW;GACd,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI;GAC3C,OAAO,IAAI,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI;EACrE;EACA,IAAI,WAAW;GACd,OAAO,IAAI,GAAG,KAAK,cAAc;EAClC;EACA,IAAI,iBAAiB;GACpB,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,YAAY,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,SAAS,EAAE,KAAK;GACxE,OAAO,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,IAAI,MAAM,MAAM,GAAG,aAAa,GAAG;EACrE;EACA,OAAO,GAAG;GACT,OAAO,aAAa,IAAI,KAAK,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,KAAK,aAAa,EAAE,YAAY,KAAK,UAAU,EAAE,SAAS,KAAK,aAAa,EAAE,YAAY,KAAK,SAAS,UAAU,EAAE,SAAS;EAChM;EACA,SAAS;GACR,OAAO;IACN,UAAU,KAAK;IACf,OAAO,KAAK;IACZ,UAAU,KAAK;IACf,UAAU;KACT,UAAU;KACV,OAAO,KAAK;IACb;GACD;EACD;CACD,GAAG,KAAK,cAAc,GAAG;EACxB,YAAY,GAAG;GACd,MAAM,KAAK,GAAG;EACf;EACA,IAAI,WAAW;GACd,OAAO;EACR;EACA,IAAI,QAAQ;GACX,OAAO,KAAK,GAAG,OAAO,CAAC;EACxB;CACD,GAAG,KAAK,cAAc,GAAG;EACxB,YAAY,GAAG;GACd,MAAM,IAAI,GAAG;EACd;EACA,IAAI,WAAW;GACd,OAAO;EACR;EACA,IAAI,QAAQ;GACX,OAAO,KAAK,GAAG,OAAO,CAAC;EACxB;CACD,GAAG,KAAK,cAAc,GAAG;EACxB,cAAc;GACb,OAAO,MAAM,EAAE,GAAG,MAAM;EACzB;EACA,IAAI,WAAW;GACd,OAAO;EACR;EACA,OAAO,GAAG;GACT,OAAO,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE;EACjD;CACD,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,cAAc,GAAG;EACvC,YAAY,GAAG,GAAG,GAAG,GAAG;GACvB,MAAM,EAAE,GAAG,KAAK,WAAW,GAAG,KAAK,aAAa,GAAG,KAAK,UAAU,GAAG,KAAK,SAAS,KAAK;EACzF;EACA,IAAI,WAAW;GACd,OAAO;EACR;EACA,IAAI,UAAU;GACb,OAAO,KAAK;EACb;EACA,IAAI,YAAY;GACf,OAAO,KAAK;EACb;EACA,IAAI,SAAS;GACZ,OAAO,KAAK;EACb;EACA,IAAI,QAAQ;GACX,OAAO,KAAK;EACb;EACA,SAAS;GACR,OAAO;IACN,UAAU,KAAK;IACf,SAAS,KAAK,SAAS,OAAO;IAC9B,WAAW,KAAK,WAAW,OAAO;IAClC,QAAQ,KAAK,QAAQ,OAAO;IAC5B,OAAO,KAAK,OAAO,OAAO;GAC3B;EACD;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,KAAK,SAAS,OAAO,EAAE,OAAO,KAAK,KAAK,WAAW,OAAO,EAAE,SAAS,KAAK,KAAK,QAAQ,OAAO,EAAE,MAAM,KAAK,KAAK,OAAO,OAAO,EAAE,KAAK;EACpJ;CACD;AACD,EAAE;AACF,SAAS,KAAK,CAAC;AACf,SAAS,GAAG,GAAG,GAAG;CACjB,EAAE,WAAW,GAAG,EAAE,eAAe,EAAE,aAAa,GAAG,EAAE,YAAY,EAAE,UAAU,GAAE,IAAI,KAAK,GAAG,EAAE,WAAW,EAAE,UAAU,GAAE,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,UAAU,GAAE,IAAI,GAAG,GAAG,EAAE,YAAY,EAAE,UAAU,GAAE,EAAE,MAAM,GAAG,EAAE,aAAa,EAAE,UAAU,GAAE,EAAE,OAAO,GAAG,EAAE,gBAAgB;EACtQ,GAAG,EAAE,UAAU,GAAE,IAAI,IAAI;EACzB,KAAK,EAAE,UAAU,GAAE,IAAI,MAAM;EAC7B,KAAK,EAAE,UAAU,GAAE,IAAI,OAAO;EAC9B,KAAK,EAAE,UAAU,GAAE,IAAI,WAAW;CACnC,GAAG,EAAE,oBAAoB,EAAE,UAAU,oBAAoB;AAC1D;AACA,IAAI,IAAI,IAAI,KAAK,UAAS;CACzB,GAAE,GAAG,GAAG,GAAG,GAAE,GAAG,KAAK,GAAG,KAAK,MAAM;EAClC,YAAY,GAAG;GACd,KAAK,gBAAgB,CAAC,GAAG,KAAK,SAAS,MAAM,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,OAAO,GAAG,EAAE,WAAW,GAAG,MAAM,EAAE,OAAO;GAChH,IAAI,IAAI,OAAO,EAAE,UAAU,WAAW,EAAE,OAAO,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,IAAI,SAAS,KAAK,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,GAAG,IAAI,KAAK,UAAU,KAAK,KAAK,CAAC,GAAG,IAAI,KAAK;GAClN,CAAC,KAAK,uBAAuB,EAAE,KAAK,QAAQ,KAAK,6BAA6B,KAAK,iBAAiB,KAAK,iBAAiB,EAAE,KAAK,KAAK,KAAK,IAAI,KAAK,eAAe,EAAE,aAAa,KAAK,mBAAmB,MAAM,MAAM,WAAW,KAAK,CAAC,GAAG,MAAM,KAAK,uBAAuB,MAAM,OAAO,KAAK,mBAAmB,OAAO,EAAE,mBAAmB,WAAW,EAAE,gBAAgB,QAAQ,WAAW,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,SAAS,IAAI,GAAE;IACva,UAAU;IACV,IAAI;IACJ,aAAa,KAAK;GACnB,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC,EAAE;EACrC;EACA,OAAO,wBAAwB;GAC9B,KAAK;EACN;EACA,SAAS,GAAG;GACX,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,YAAY;QACrC;IACJ,IAAI,IAAI,EAAE,QAAQ,GAAG;IACrB,KAAK,MAAM,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,GAAG,KAAK,YAAY,EAAE,QAAQ,GAAG,IAAI,IAAI,IAAI,EAAE,QAAQ,qBAAqB,EAAE,GAAG,IAAI,EAAE,MAAM,4CAA4C,GAAG,KAAK,YAAY,EAAE,IAAI,KAAK,cAAc,EAAE;GACtO;EACD;EACA,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG;GAC3B,IAAI,IAAI,KAAK;GACb,KAAK,cAAc,KAAK;IACvB,MAAM;IACN,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,SAAS,IAAI,KAAK,oBAAoB,CAAC;IACvC,aAAa,IAAI,KAAK,UAAU,IAAI;IACpC,YAAY,IAAI,KAAK,cAAc;GACpC,CAAC,GAAG,MAAM,KAAK,oBAAoB,CAAC,GAAG,KAAK,UAAU,IAAI,KAAK,SAAS,GAAG,KAAK,OAAO,MAAM,KAAK,KAAK,KAAK,cAAc,OAAO,OAAO,KAAK,WAAW;EACzJ;EACA,gBAAgB,GAAG,GAAG;GACrB,IAAI,IAAI,KAAK,cAAc,IAAI;GAC/B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,KAAK,OAAO,cAAc,EAAE,QAAQ,CAAC;GACpE,KAAK,WAAW,EAAE,SAAS,KAAK,aAAa,EAAE,WAAW,KAAK,UAAU,EAAE,QAAQ,KAAK,SAAS,EAAE,OAAO,KAAK,YAAY,KAAK,oBAAoB,EAAE,SAAS,KAAK,UAAU,IAAI,EAAE,aAAa,KAAK,cAAc,EAAE;EACvN;EACA,kBAAkB,GAAG;GACpB,QAAQ,EAAE,MAAV;IACC,KAAK,OAAO,OAAO,KAAK,WAAW,QAAQ,OAAO,KAAK,UAAU,GAAG,KAAK,UAAU,MAAM,MAAM,KAAK,SAAS,KAAK,KAAK,OAAO,kBAAkB,CAAC;IACjJ,KAAK,UAAU,KAAK,eAAe,CAAC;IACpC,KAAK,WAAW,OAAO,KAAK;IAC5B,KAAK,QAAQ,KAAK,eAAe,CAAC;IAClC,KAAK,SAAS,OAAO,KAAK;IAC1B,KAAK,KAAK,IAAI,KAAK,sBAAsB,OAAO,KAAK,SAAS,IAAI,KAAK,WAAW,MAAM,KAAK;IAC7F,KAAK,SAAS,IAAI,KAAK,sBAAsB,OAAO,KAAK;IACzD,SAAS,OAAO,KAAK,aAAa,CAAC;GACpC;EACD;EACA,YAAY,GAAG,GAAG;GACjB,IAAI;GACJ,QAAQ,EAAE,MAAV;IACC,KAAK;IACL,KAAK;KACJ,IAAI,IAAI,KAAK,YAAY,EAAE,KAAK;KAChC,IAAI,MAAM,MAAM,OAAO,KAAK,OAAO,eAAe,CAAC;KACnD,IAAI,KAAK,SAAS,UAAU,CAAC;KAC7B;IACD,KAAK;IACL,KAAK;KACJ,IAAI,IAAI,KAAK,UAAU,EAAE;KACzB,IAAI,MAAM,KAAK,GAAG,OAAO,KAAK,OAAO,qBAAqB,EAAE,OAAO,KAAK,CAAC;KACzE,IAAI,KAAK,SAAS,UAAU,IAAI,EAAE,KAAK;KACvC;IACD,KAAK;KACJ,IAAI,KAAK,SAAS,UAAU,KAAK,UAAU,EAAE,UAAU,EAAE,KAAK;KAC9D;IACD,KAAK;KACJ,IAAI,KAAK,SAAS,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC;KAC5C;IACD,SAAS,OAAO,KAAK,OAAO,2BAA2B,EAAE,QAAQ,CAAC;GACnE;GACA,OAAO,CAAC,KAAK,KAAK,WAAW,EAAE,MAAM,KAAK,gBAAgB,IAAI,KAAK,YAAY,EAAE,MAAM;EACxF;EACA,aAAa,GAAG;GACf,QAAQ,KAAK,aAAa,MAAM,EAAE,MAAlC;IACC,KAAK,KAAK,OAAO,KAAK,aAAa,SAAS,KAAK,QAAQ,KAAK,WAAW,KAAK,SAAS,UAAU,GAAG,MAAM,IAAI,GAAG,KAAK;IACtH,KAAK,KAAK,OAAO,KAAK,aAAa,QAAQ,KAAK,QAAQ,KAAK,SAAS,MAAM,IAAI,GAAG,KAAK,WAAW,MAAM,KAAK;IAC9G,KAAK,KAAK,OAAO,KAAK,WAAW,KAAK,aAAa,WAAW,KAAK,QAAQ,KAAK,SAAS,KAAK,SAAS,UAAU,GAAG,MAAM,IAAI,GAAG,KAAK,gBAAgB,KAAK,OAAO,oBAAoB,CAAC;IACvL,KAAK,KAAK,OAAO,KAAK,iBAAiB,CAAC;IACxC,KAAK,YAAY,OAAO,KAAK,WAAW,KAAK,WAAW,MAAM,KAAK,aAAa,KAAK,YAAY,KAAK,cAAc,aAAa,KAAK,uBAAuB,KAAK,OAAO,2BAA2B,CAAC;IACrM,KAAK,WAAW,OAAO,KAAK,WAAW,KAAK,WAAW,MAAM,KAAK,aAAa,KAAK,WAAW,KAAK,cAAc,YAAY,KAAK,uBAAuB,KAAK,OAAO,0BAA0B,CAAC;IACjM,KAAK;KACJ,IAAI,CAAC,KAAK,SAAS,OAAO,KAAK,OAAO,sBAAsB,CAAC;KAC7D,IAAI,EAAE,OAAO,WAAW,GAAG,OAAO,KAAK,gBAAgB,EAAE,OAAO,KAAK;KACrE,KAAK,WAAW,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,SAAS,UAAU,EAAE,MAAM,CAAC;KAChF;IACD,KAAK,MAAM,OAAO,KAAK,oBAAoB,KAAK,aAAa,MAAM,KAAK,QAAQ,MAAM,MAAM,IAAI,GAAG,KAAK,SAAS,MAAM,KAAK,gBAAgB,KAAK,OAAO,8BAA8B,CAAC;IACvL;KACC,KAAK,KAAK,WAAW,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG;KACtD,IAAI,KAAK,SAAS,OAAO,KAAK,eAAe,KAAK,0BAA0B;GAC9E;GACA,OAAO,KAAK;EACb;EACA,eAAe,GAAG;GACjB,IAAI,IAAI,EAAE;GACV,QAAQ,GAAR;IACC,KAAK,WAAW,KAAK,oBAAoB,CAAC;IAC1C,KAAK;KACJ,KAAK,aAAa,KAAK,cAAc,EAAE;KACvC;IACD,KAAK;IACL,KAAK;IACL,KAAK,KAAK,OAAO,KAAK,eAAe,OAAO,KAAK,OAAO,cAAc,KAAK,CAAC,KAAK,KAAK,WAAW,MAAM,MAAM,MAAM,KAAK,mBAAmB,CAAC,IAAI,KAAK,iBAAiB,CAAC;IACvK,KAAK,KAAK,OAAO,KAAK,eAAe,OAAO,KAAK,OAAO,gCAAgC,CAAC,IAAI,KAAK;IAClG,KAAK,KAAK,IAAI,KAAK,SAAS,OAAO,KAAK,aAAa,SAAS,KAAK,QAAQ,KAAK,UAAU,KAAK,WAAW,KAAK,SAAS,UAAU,GAAG,IAAI,GAAG,KAAK;IACjJ,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,OAAO,KAAK,OAAO,sCAAsC,CAAC;IAC3F,SAAS,KAAK,KAAK,aAAa,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG;GAClE;GACA,OAAO,KAAK;EACb;EACA,YAAY,GAAG;GACd,QAAQ,EAAE,MAAV;IACC,KAAK;KACJ,IAAI,EAAE,OAAO,WAAW,GAAG,OAAO,KAAK,gBAAgB,EAAE,OAAO,KAAK;KACrE,KAAK,UAAU,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,SAAS,UAAU,EAAE,MAAM,CAAC;KAC/E;IACD,KAAK,KAAK,OAAO,KAAK,aAAa,SAAS,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,KAAK,WAAW,KAAK,SAAS,UAAU,CAAC,GAAG,KAAK;IAC1I,KAAK,KAAK,OAAO,KAAK,aAAa,QAAQ,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,KAAK,OAAO,GAAG,KAAK,WAAW,MAAM,KAAK;IAClI,KAAK,KAAK,OAAO,KAAK,WAAW,KAAK,aAAa,WAAW,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,SAAS,UAAU,CAAC,GAAG,KAAK,gBAAgB,KAAK,OAAO,oBAAoB,CAAC;IAC3M,KAAK,MAAM,OAAO,KAAK,oBAAoB,KAAK,aAAa,MAAM,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,IAAI,GAAG,KAAK,SAAS,MAAM,KAAK,gBAAgB,KAAK,OAAO,8BAA8B,CAAC;IAC3M;KACC,KAAK,KAAK,UAAU,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG;KACrD,IAAI,KAAK,SAAS,OAAO,KAAK,eAAe,KAAK,qBAAqB,CAAC;GAC1E;GACA,OAAO,KAAK,qBAAqB;EAClC;EACA,2BAA2B,GAAG;GAC7B,OAAO,EAAE,SAAS,MAAM,KAAK,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC;EACnE;EACA,WAAW,GAAG;GACb,OAAO,EAAE,SAAS,OAAO,KAAK,SAAS,KAAK,UAAU,KAAK,WAAW,MAAM,KAAK,gBAAgB,KAAK,OAAO,0BAA0B,EAAE,QAAQ,CAAC;EACnJ;EACA,mBAAmB,GAAG;GACrB,OAAO,EAAE,SAAS,OAAO,KAAK,WAAW,MAAM,KAAK,mBAAmB,CAAC,MAAM,KAAK,aAAa,MAAM,KAAK,eAAe,CAAC;EAC5H;EACA,mBAAmB,GAAG;GACrB,IAAI,EAAE,SAAS,KAAK,OAAO,KAAK,0BAA0B,CAAC;GAC3D,KAAK,aAAa,QAAQ,KAAK,MAAM,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,MAAM;GAC9F,IAAI,IAAI,KAAK,eAAe;GAC5B,OAAO,KAAK,gBAAgB,SAAS,CAAC,GAAG,KAAK,YAAY,OAAO,KAAK,eAAe,OAAO,IAAI,KAAK,6BAA6B,KAAK,2BAA2B,KAAK,cAAc,KAAK,qBAAqB;EAChN;EACA,yBAAyB,GAAG;GAC3B,QAAQ,EAAE,MAAV;IACC,KAAK;IACL,KAAK,KAAK,OAAO,KAAK,WAAW,MAAM,KAAK,iBAAiB,CAAC;IAC9D,SAAS,OAAO,KAAK,eAAe,CAAC;GACtC;EACD;EACA,cAAc,GAAG;GAChB,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK,eAAe,IAAI,KAAK,UAAU,IAAI,KAAK,eAAe,IAAI,EAAE,EAAE,SAAS;GAC5G,QAAQ,EAAE,MAAV;IACC,KAAK;KACJ,KAAK,aAAa,SAAS,KAAK,QAAQ,IAAI,KAAK,SAAS,UAAU,GAAG,KAAK,WAAW,KAAK,WAAW,IAAI,KAAK,SAAS,UAAU,CAAC,GAAG,IAAI,KAAK;KAChJ;IACD,KAAK;KACJ,KAAK,aAAa,QAAQ,KAAK,QAAQ,IAAI,KAAK,SAAS,UAAU,GAAG,KAAK,WAAW,KAAK,OAAO,GAAG,KAAK,WAAW;KACrH;IACD,KAAK;KACJ,IAAI,KAAK,gBAAgB,QAAQ,CAAC,GAAG,EAAE,WAAW,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,SAAS,UAAU,KAAK,MAAM,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,MAAM,GAAG,KAAK,eAAe,MAChL;UAAA,IAAI,KAAK,gBAAgB,KAAK,aAAa,KAAK,SAAS,OAAO;KAAA,OAC9D,IAAI,IAAI,KAAK,qBAAqB,GAAG,KAAK,YAAY,KAAK,SAAS,OAAO;KAClF,IAAI,KAAK;KACT;IACD,KAAK;KACJ,EAAE,OAAO,WAAW,KAAK,KAAK,gBAAgB,EAAE,OAAO,IAAI,KAAK,gCAAgC,IAAI,KAAK,SAAS,QAAQ,EAAE,OAAO,KAAK,SAAS,UAAU,EAAE,MAAM,CAAC,GAAG,IAAI,KAAK,qBAAqB;KACrM;IACD,KAAK,KAAK,OAAO,KAAK,WAAW,KAAK,aAAa,WAAW,KAAK,QAAQ,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,SAAS,UAAU,CAAC,GAAG,KAAK,gBAAgB,KAAK,OAAO,oBAAoB,CAAC;IAC3M,SAAS,KAAK,IAAI,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG;GACpD;GACA,IAAI,MAAM,SAAS,KAAK,WAAW,IAAI,KAAK,SAAS,UAAU,IAAI,MAAM,OAAO,EAAE,cAAc,OAAO,EAAE,UAAU,IAAI,EAAE,SAAS,IAAI,KAAK,MAAM,GAAG,KAAK,UAAU,GAAG,KAAK,MAAM,GAAG,MAAM,MAAM;IAC/L,IAAI,KAAK,YAAY,EAAE,SAAS,SAAS,EAAE,SAAS,aAAa,OAAO,KAAK,aAAa,QAAQ,KAAK,QAAQ,GAAG,KAAK,WAAW,CAAC,GAAG,KAAK,WAAW,GAAG,KAAK,aAAa,MAAM,KAAK,eAAe,KAAK,aAAa;IACvN,KAAK,MAAM,GAAG,KAAK,WAAW,GAAG,KAAK,MAAM;GAC7C;GACA,OAAO;EACR;EACA,oBAAoB,GAAG;GACtB,OAAO,KAAK,uBAAuB,GAAG,CAAC,CAAC;EACzC;EACA,4BAA4B,GAAG;GAC9B,OAAO,KAAK,uBAAuB,GAAG,CAAC,CAAC;EACzC;EACA,iBAAiB,GAAG;GACnB,IAAI,IAAI,KAAK,SAAS,QAAQ,KAAK,aAAa;GAChD,QAAQ,EAAE,MAAV;IACC,KAAK;IACL,KAAK;KACJ,IAAI,IAAI,KAAK,YAAY,CAAC;KAC1B,IAAI,MAAM,KAAK,GAAG;KAClB,IAAI,KAAK,SAAS,QAAQ,KAAK,eAAe,CAAC,GAAG,IAAI;KACtD;IACD,KAAK,YAAY,IAAI,KAAK,SAAS,QAAQ,KAAK,eAAe,EAAE,KAAK,GAAG,IAAI;GAC9E;GACA,OAAO;IACN,OAAO;IACP,SAAS;GACV;EACD;EACA,wBAAwB,GAAG;GAC1B,OAAO,KAAK,WAAW,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,KAAK;EAC/D;EACA,uBAAuB,GAAG,GAAG;GAC5B,IAAI,IAAI,KAAK,iBAAiB,CAAC;GAC/B,IAAI,GAAG,OAAO,KAAK,UAAU,EAAE,SAAS,KAAK,KAAK,MAAM,KAAK,UAAU,KAAK,WAAW,KAAK,SAAS,KAAK,MAAM,GAAG,EAAE,UAAU,OAAO,KAAK,qBAAqB,KAAK,KAAK,gBAAgB,KAAK,qBAAqB,GAAG,KAAK,cAAc,EAAE,KAAK;EAClP;EACA,iBAAiB,GAAG;GACnB,OAAO,EAAE,SAAS,OAAO,KAAK,aAAa,QAAQ,KAAK,MAAM,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,MAAM,GAAG,KAAK,gBAAgB,WAAW,CAAC,GAAG,KAAK,YAAY,OAAO,KAAK,iBAAiB,KAAK,qBAAqB,KAAK,KAAK,iBAAiB,CAAC;EACnQ;EACA,iBAAiB,GAAG;GACnB,IAAI,GAAG,IAAI,KAAK,QAAQ,IAAI,KAAK,UAAU,IAAI,KAAK;GACpD,QAAQ,EAAE,MAAV;IACC,KAAK;KACJ,IAAI,KAAK,WAAW,MAAM,OAAO,KAAK,OAAO,4BAA4B,CAAC;KAC1E,IAAI,KAAK,SAAS,OAAO,KAAK,iBAAiB,CAAC;KAChD,KAAK,SAAS;IACf,KAAK;KACJ,KAAK,WAAW,MAAM,IAAI,KAAK,cAAc,SAAS,KAAK,eAAe,KAAK,mBAAmB,MAAM,KAAK,oBAAoB,CAAC;KAClI;IACD,KAAK;KACJ,IAAI,KAAK;KACT;IACD,KAAK;KACJ,IAAI,KAAK;KACT;IACD,KAAK;KACJ,IAAI,CAAC,KAAK,kBAAkB,OAAO,KAAK,OAAO,8BAA8B,CAAC;KAC9E,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK;KAClC,KAAK,WAAW,KAAK,SAAS,KAAK,GAAG,GAAG,GAAG,KAAK,YAAY,GAAG,IAAI,KAAK;KACzE;IACD,KAAK;KACJ,IAAI,KAAK,SAAS,aAAa,QAAQ,OAAO,KAAK,OAAO,sCAAsC,CAAC;KACjG,KAAK,WAAW,MAAM,IAAI,KAAK;KAC/B;IACD;KACC,IAAI,KAAK,kBAAkB,KAAK,WAAW,SAAS,IAAI,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG;MACxF,IAAI,KAAK;MACT;KACD;KACA,OAAO,KAAK,OAAO,mCAAmC,KAAK,QAAQ,GAAG,IAAI,CAAC;GAC7E;GACA,IAAI,MAAM,MAAM;IACf,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK;IAClC,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC;GACnD;GACA,OAAO;EACR;EACA,0BAA0B,GAAG;GAC5B,IAAI;GACJ,QAAQ,EAAE,MAAV;IACC,KAAK;KACJ,IAAI,KAAK;KACT;IACD,KAAK;KACJ,IAAI,KAAK;KACT;IACD,SAAS,OAAO,KAAK,OAAO,mCAAmC,KAAK,QAAQ,GAAG,IAAI,CAAC;GACrF;GACA,OAAO,KAAK,MAAM,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,MAAM,GAAG;EAC/E;EACA,qBAAqB,GAAG;GACvB,OAAO,EAAE,SAAS,MAAM,KAAK,oBAAoB,KAAK,OAAO,+BAA+B,CAAC;EAC9F;EACA,YAAY,GAAG;GACd,OAAO,EAAE,SAAS,YAAY,KAAK,UAAU,EAAE,OAAO,KAAK,kBAAkB,KAAK,OAAO,qCAAqC,CAAC;EAChI;EACA,eAAe,GAAG;GACjB,IAAI,EAAE,SAAS,OAAO,OAAO,KAAK,OAAO,kCAAkC,KAAK,QAAQ,KAAK,CAAC;GAC9F,IAAI,IAAI,KAAK,YAAY,CAAC;GAC1B,OAAO,KAAK,UAAU,KAAK,WAAW,EAAE,OAAO,KAAK,gBAAgB,KAAK,SAAS,CAAC,GAAG,KAAK;EAC5F;EACA,aAAa,GAAG;GACf,IAAI,IAAI,EAAE,SAAS,SAAS,KAAK,YAAY,EAAE,KAAK;GACpD,OAAO,KAAK,KAAK,SAAS,CAAC,GAAG,KAAK,+BAA+B,KAAK,OAAO,iDAAiD,CAAC;EACjI;EACA,qBAAqB,GAAG;GACvB,QAAQ,EAAE,MAAV;IACC,KAAK;IACL,KAAK;IACL,KAAK,YAAY,OAAO,KAAK,aAAa,CAAC,GAAG,KAAK;IACnD,KAAK,KAAK,OAAO,KAAK;IACtB,SAAS,OAAO,KAAK,OAAO,uBAAuB,CAAC;GACrD;EACD;EACA,0BAA0B,GAAG;GAC5B,OAAO,EAAE,SAAS,OAAO,KAAK,WAAW,KAAK,SAAS,UAAU,GAAG,KAAK,cAAc,KAAK,OAAO,uBAAuB,CAAC;EAC5H;EACA,4BAA4B,GAAG;GAC9B,OAAO,KAAK,gBAAgB,KAAK,eAAe,CAAC,GAAG,KAAK,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,KAAK,oBAAoB,KAAK,OAAO,0CAA0C,CAAC;EACnL;EACA,oBAAoB,GAAG;GACtB,IAAI;GACJ,QAAQ,EAAE,MAAV;IACC,KAAK;IACL,KAAK,YAAY,KAAK,IAAI,KAAK,YAAY,GAAG,CAAC,CAAC,OAAO,KAAK,GAAG;IAC/D,SAAS,OAAO,KAAK,OAAO,cAAc,EAAE,QAAQ,CAAC;GACtD;GACA,OAAO,KAAK,wBAAwB,KAAK,aAAa,OAAO,KAAK,MAAM,KAAK,UAAU,KAAK,cAAc,KAAK,YAAY,KAAK,WAAW,KAAK,SAAS,UAAU,GAAG,KAAK,iBAAiB,IAAI,KAAK,MAAM,KAAK,UAAU,KAAK,UAAU,KAAK,WAAW,KAAK,SAAS,UAAU,GAAG,KAAK,iBAAiB,GAAG,KAAK,MAAM,KAAK,UAAU,KAAK,WAAW,GAAG,KAAK,iBAAiB,KAAK,KAAK,YAAY,EAAE,MAAM,KAAK,SAAS,KAAK,YAAY,CAAC,KAAK,SAAS,UAAU,CAAC,CAAC,KAAK,GAAG,KAAK;EACtd;EACA,2BAA2B,GAAG;GAC7B,OAAO,EAAE,SAAS,MAAM,KAAK,uBAAuB,KAAK,yBAAyB,KAAK,MAAM,KAAK,UAAU,KAAK,UAAU,KAAK,SAAS,KAAK,iBAAiB,GAAG,KAAK,WAAW,OAAO,KAAK,gBAAgB,KAAK,qBAAqB,GAAG,KAAK,cAAc,CAAC;EAChQ;EACA,eAAe,GAAG;GACjB,OAAO,KAAK,aAAa,GAAG,KAAK;EAClC;EACA,UAAU,GAAG;GACZ,QAAQ,EAAE,MAAV;IACC,KAAK,KAAK,OAAO,KAAK;IACtB,KAAK,KAAK,OAAO,KAAK;IACtB;KACC,IAAI,IAAI,KAAK,eAAe,IAAI,EAAE,UAAU,EAAE,EAAE,SAAS;KACzD,IAAI,KAAK,EAAE,SAAS,QAAQ;MAC3B,IAAI,IAAI,KAAK;MACb,KAAK,gBAAgB,QAAQ,CAAC,GAAG,KAAK,MAAM,KAAK,UAAU,KAAK,WAAW,GAAG,KAAK,MAAM;KAC1F;KACA,OAAO,KAAK,WAAW,CAAC;GAC1B;EACD;EACA,iBAAiB,GAAG;GACnB,IAAI,GAAG,GAAG,IAAI,KAAK,SAAS,UAAU;GACtC,KAAK,IAAI,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG,OAAO,KAAK,eAAe,QAAQ,IAAI,KAAK,UAAU,KAAK,WAAW,MAAM,IAAI,KAAK,SAAS,KAAK,UAAU,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK;EACnM;EACA,kBAAkB,GAAG;GACpB,IAAI,IAAI,KAAK,SAAS,UAAU,GAAG,GAAG;GACtC,KAAK,IAAI,KAAK,YAAY,CAAC,OAAO,KAAK,GAAG,OAAO,KAAK,eAAe,QAAQ,IAAI,KAAK,UAAU,KAAK,WAAW,MAAM,IAAI,KAAK,SAAS,KAAK,UAAU,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,KAAK,MAAM,GAAG,KAAK;EACnM;EACA,wBAAwB,GAAG;GAC1B,OAAO,EAAE,SAAS,OAAO,KAAK,iBAAiB,CAAC,IAAI,KAAK,kBAAkB,KAAK,WAAW,SAAS,KAAK,SAAS,KAAK,YAAY,CAAC,OAAO,KAAK,IAAI,KAAK,mBAAmB,KAAK,OAAO,0BAA0B,KAAK,QAAQ,GAAG,IAAI,CAAC;EACxO;EACA,iBAAiB,GAAG;GACnB,IAAI,EAAE,SAAS,MAAM,OAAO,KAAK,OAAO,uBAAuB,EAAE,QAAQ,CAAC;GAC1E,IAAI,IAAI,KAAK,SAAS,KAAK,KAAK,UAAU,KAAK,YAAY,KAAK,SAAS,KAAK,UAAU,KAAK,YAAY;GACzG,OAAO,KAAK,gBAAgB,MAAM,CAAC,GAAG,KAAK,aAAa,QAAQ,KAAK,WAAW,GAAG,KAAK,mBAAmB,KAAK,UAAU,GAAG,KAAK,qBAAqB;EACxJ;EACA,uBAAuB;GACtB,IAAI,IAAI,KAAK;GACb,IAAI,CAAC,EAAE,QAAQ,OAAO,KAAK;GAC3B,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,MAAxB;IACC,KAAK,SAAS,OAAO,KAAK;IAC1B,KAAK,QAAQ,OAAO,KAAK;IACzB,KAAK,WAAW,OAAO,KAAK;IAC5B,KAAK,MAAM,OAAO,KAAK;GACxB;EACD;EACA,MAAM,GAAG,GAAG,GAAG,GAAG;GACjB,KAAK,UAAU,MAAM,KAAK,SAAS,KAAK,GAAG,GAAG,GAAG,KAAK,KAAK,YAAY,CAAC;EACzE;EACA,OAAO,GAAG,GAAG;GACZ,IAAI,IAAoB,sBAAM,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE;GACvD,EAAE,UAAU;IACX,OAAO;IACP,MAAM,EAAE;IACR,eAAe,KAAK,OAAO;GAC5B,GAAG,KAAK,UAAU,CAAC,GAAG,KAAK,YAAY;EACxC;EACA,YAAY,GAAG;GACd,OAAO,uBAAuB,KAAK,CAAC,IAAI,IAAI,KAAK,oBAAoB,CAAC;EACvE;EACA,oBAAoB,GAAG;GACtB,IAAI,CAAC,EAAE,QAAQ,OAAO,KAAK;GAC3B,QAAQ,EAAE,IAAV;IACC,KAAK,KAAK,OAAO,KAAK,QAAQ;IAC9B,KAAK,KAAK,OAAO,KAAK,MAAM,QAAQ,cAAc,CAAC;IACnD,KAAK,KAAK,QAAQ,EAAE,OAAO,MAAM,KAAK,cAAc,KAAK,aAAa,KAAK,mBAAmB,CAAC;IAC/F,SAAS,OAAO,WAAW,KAAK,CAAC,IAAI,OAAO,KAAK,mBAAmB,KAAK,YAAY,CAAC;GACvF;EACD;EACA,mBAAmB,GAAG;GACrB,IAAI,CAAC,uBAAuB,KAAK,CAAC,GAAG,OAAO;GAC5C,IAAI,IAAI,EAAE,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI;GACrD,OAAO,IAAI,IAAI;IACd,QAAQ,GAAR;KACC,KAAK;MACJ,IAAI,IAAI,KAAK,EAAE,EAAE,OAAO,OAAO,EAAE,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,EAAE,OAAO,MAAM,IAAI;MAC5F;KACD,KAAK;KACL,KAAK;MACJ,IAAI;MACJ;KACD,KAAK,KAAK,IAAI,EAAE,IAAI,OAAO,KAAK,QAAQ,IAAI,EAAE,EAAE,IAAI,IAAI,GAAxB;MAC/B,KAAK;OACJ,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI;OACpC;MACD,KAAK,KAAK;MACV,KAAK;MACL,KAAK,KAAK,OAAO,IAAI,EAAE,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,CAAC;MACvD,KAAK,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI,MAAM,KAAK,KAAK,MAAM,OAAO,MAAM,OAAO,MAAM,KAAK;OAClF,IAAI,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,YAAY,GAAG,MAAM,MAAM,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,OAAO,IAAI,CAAC;OAC/H,IAAI,IAAI;MACT;KACD;IACD;IACA,IAAI,EAAE,EAAE;GACT;GACA,OAAO,IAAI,EAAE,UAAU,CAAC;EACzB;EACA,MAAM,GAAG,GAAG,GAAG;GACd,IAAI,GAAG,GAAG;GACV,IAAI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,IAAI,EAAE,QAAQ,IAAI,EAAE,UAAU,IAAI,EAAE,cAAc,IAAI,GAAG,IAAI,IAAI,KAAK,gBAAgB,KAAK,mBAAmB,KAAK,eAAe,CAAC,GAAG,KAAK,YAAY,OAAO,OAAO,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,mBAAmB,KAAK,iBAAiB,OAAO,CAAC,IAAI,IAAI,KAAK,IAAI,KAAK,kBAAkB,KAAK,IAAI,KAAK,oBAAoB,CAAC,GAAG,KAAK,cAAc,OAAO,OAAO,IAAI,GAAG,CAAC,GAAG;IACla,IAAI,IAAI,CAAC,GAAG;IACZ,IAAI,KAAK,aAAa,GAAG,MAAM;KAC9B,IAAI,IAAI,IAAI,KAAK,EAAE,KAAK,CAAC;IAC1B,GAAG,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,KAAK,gBAAgB,KAAK,cAAc,CAAC,CAAC,GAAG,GAAG,MAAM;IAC9F,OAAO;GACR;GACA,IAAI,KAAK,GAAG,MAAM;IACjB,MAAM,OAAO,KAAK,kBAAkB,KAAK,cAAc,CAAC,KAAK,KAAK,UAAU,CAAC,GAAG,KAAK,YAAY;GAClG;GACA,MAAM,KAAK,OAAO,WAAW,CAAC,GAAG,KAAK,GAAG,MAAM;IAC9C,MAAM,OAAO,KAAK,kBAAkB,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,IAAI,KAAK,gBAAgB,KAAK,cAAc,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,KAAK,YAAY;GAC5J,IAAI,KAAK,YAAY,GAAG,KAAK,OAAO,SAAS,GAAG,CAAC;EAClD;CACD,GAAG,GAAG,GAAG,WAAW,EAAE;AACvB,EAAE,GAAG,KAAqB,mBAAE;CAC3B,sBAAsB;CACtB,mBAAmB;CACnB,sBAAsB;CACtB,iBAAiB;CACjB,mBAAmB;CACnB,cAAc;CACd,kBAAkB;CAClB,cAAc;CACd,gBAAgB;AACjB,CAAC;AACD,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;AAC9B;AACA,SAAS,GAAG,GAAG;CACd,OAAO,GAAG,EAAE,KAAK;AAClB;AACA,SAAS,GAAG,GAAG,GAAG;CACjB,OAAO,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE;AACtC;AACA,SAAS,GAAG,GAAG,GAAG;CACjB,IAAI,IAAI,OAAO,OAAO,IAAI;CAC1B,KAAK,IAAI,KAAK,GAAG,EAAE,GAAG,EAAE,EAAE;CAC1B,MAAM;CACN,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,UAAU;GACzB,IAAI,IAAI,OAAO,OAAO,IAAI;GAC1B,EAAE,MAAM,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;EAChD,OAAO,IAAI,EAAE,KAAK,IAAI,MAAM,MAAM,mBAAmB,GAAG;EACxD,OAAO,EAAE;CACV;CACA,OAAO;AACR;AACA,IAAI,KAAK,UAAS;CACjB,GAAG;AACJ,EAAE;AACF,SAAS,GAAG,GAAG;CACd,OAAO,EAAE,QAAQ,2BAA2B,MAAM;AACnD;AACA,IAAI,KAAK,UAAS,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,UAAS;CACjE,GAAG,GAAG,KAAK,wEAAwE,KAAK,kFAAkF,KAAK,MAAM,KAAK,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAE;EACjO,YAAY,GAAG;GACd,KAAK,OAAO,GAAG,KAAK,cAAc,GAAG,KAAK,eAAe,MAAM,KAAK,oBAAoB,MAAM,EAAE,SAAS,CAAC;EAC3G;EACA,OAAO,SAAS,GAAG;GAClB,OAAO,CAAC,GAAG,KAAK,CAAC;EAClB;EACA,kBAAkB;GACjB,IAAI,KAAK,cAAc,OAAO,KAAK;GACnC,IAAI,CAAC,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,KAAK,eAAe;GACvD,IAAI,IAAI,aAAa,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,mBAAmB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,YAAY,EAAE;GACvI,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,KAAK,KAAK,IAAI,KAAK,EAAE,OAAO,KAAK,IAAI,EAAE,YAAY,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,OAAO,MAAM,IAAI,IAAI,EAAE,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,CAAC,GAAG,KAAK,kBAAkB,KAAK,MAAM,EAAE,KAAK,IAAI,EAAE,SAAS;GACnP,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,kBAAkB,EAAE,MAAM,GAAG,OAAO,EAAE,SAAS,IAAI,CAAC;GAC5F,OAAO,KAAK,kBAAkB,EAAE,EAAE,SAAS,MAAM,IAAI,KAAK,cAAc,IAAI,IAAI,IAAI,KAAK,KAAK,QAAQ,EAAE,KAAK,GAAG,KAAK,KAAK,UAAU,GAAG,KAAK,WAAW,CAAC,GAAG,IAAI,YAAY,YAAY,GAAG,KAAK,eAAe,IAAI,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;EAC/O;EACA,WAAW,GAAG;GACb,IAAI,IAAI,KAAK,gBAAgB,CAAC,CAAC,KAAK,CAAC;GACrC,IAAI,CAAC,GAAG,OAAO;GACf,IAAI,IAAI,EAAE,EAAE,CAAC;GACb,IAAI,MAAM,KAAK,eAAe,MAAM,EAAE,QAAQ,OAAO;GACrD,IAAI,IAAI,KAAK,kBAAkB;GAC/B,IAAI,GAAG;IACN,IAAI,IAAI,EAAE,UAAU,CAAC;IACrB,OAAO,MAAM,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,MAAM,SAAS,KAAK,CAAC,IAAI,IAAI,IAAI;GAC7E;GACA,OAAO,EAAE,UAAU,IAAI,CAAC;EACzB;CACD;AACD,EAAE;AACF,SAAS,GAAG,GAAG;CACd,IAAI,IAAI,GAAG;CACX,OAAO,MAAM,KAAK,MAAM,EAAE,WAAW,KAAK,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,UAAU,OAAO,GAAG,IAAI,EAAE,MAAM,IAAI,MAAM,MAAM,EAAE,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,CAAC,IAAI,KAAA,CAAM,SAAS,EAAE,GAAG,IAAI,cAAc,OAAO,GAAG,KAAK,EAAE,MAAM,IAAI,KAAK;AAC3P;AACA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,UAAS;CACjD,GAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,aAAa,GAAG,CAAC,KAAK,IAAI,KAAK,MAAM,IAAG,KAAK,6CAA6C,KAAK,gEAAgE,KAAK;EACxM,MAAM;EACN,MAAM;EACN,KAAK;EACL,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;CACP,GAAG,KAAK,cAAc,GAAG;EACxB,OAAO,GAAG;GACT,OAAO,MAAM;EACd;CACD,GAAG,KAAK,MAAM;EACb,YAAY,GAAG,GAAG;GACjB,IAAI,KAAK,eAAe,OAAO,KAAK,OAAO,EAAE,SAAS,eAAe,IAAI,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,OAAO,GAAG,KAAK,gBAAgB,GAAG,KAAK,aAAa,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,EAAE;QACxL;IACJ,IAAI,IAAI;IACR,KAAK,gBAAgB;KACpB,MAAM,GAAG,GAAG,GAAG;MACd,KAAK,GAAG,KAAK,EAAE;KAChB;KACA,MAAM,MAAM;MACX,KAAK,EAAE,MAAM,CAAC;KACf;IACD,GAAG,KAAK,aAAa,CAAC;GACvB;GACA,KAAK,WAAW,MAAM,eAAe,KAAK,EAAE,MAAM,KAAK,KAAK,YAAY,CAAC,GAAG,KAAK,aAAa,KAAK,mBAAmB,KAAK,YAAY,CAAC,GAAG,KAAK,SAAS,IAAI,KAAK,cAAc,OAAO,OAAO,IAAI,GAAG,EAAE,YAAY,KAAK,YAAY,EAAE,QAAQ,GAAG,EAAE,YAAY,KAAK,WAAW,IAAI,GAAG,EAAE,OAAO;EAChS;EACA,IAAI,kBAAkB;GACrB,OAAO,GAAG,OAAO,KAAK,MAAM;EAC7B;EACA,OAAO,GAAG,GAAG;GACZ,KAAK,cAAc,MAAM,GAAG,QAAQ,CAAC;EACtC;EACA,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG;GACzB,IAAI;IACH,EAAE,OAAO,KAAK,MAAM,MAAM,KAAK,QAAQ,KAAK,aAAa,OAAO,KAAK,KAAK,kBAAkB,QAAQ,YAAY,GAAG,OAAO,CAAC,IAAI,KAAK,GAAG,KAAK,kBAAkB,CAAC,EAAE,MAAM,GAAG,KAAK,SAAS,GAAG,KAAK,WAAW,OAAO,EAAE,OAAO,KAAK,QAAQ,IAAI,EAAE,OAAO,KAAK,UAAU,IAAI,KAAK,OAAO,KAAK,KAAK,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,UAAU,KAAK,iBAAiB,KAAK,aAAa,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,aAAa,OAAO,KAAK,SAAS,KAAK,eAAe,KAAK,WAAW,CAAC,EAAE,GAAG,KAAK,iBAAiB,KAAK,aAAa,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC,KAAK,CAAC;GACnkB,SAAS,GAAG;IACX,KAAK,EAAE,CAAC;GACT;EACD;EACA,eAAe,GAAG,GAAG,GAAG,GAAG,GAAG;GAC7B,OAAO,KAAK,cAAc,KAAK,OAAO,KAAK,aAAa,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;EACvE;EACA,aAAa,GAAG,GAAG,GAAG,GAAG;GACxB,OAAO,GAAG,KAAK,eAAe,CAAC,EAAE,GAAG,KAAK,kBAAkB,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC,IAAI,KAAK,EAAE,QAAQ,IAAI,KAAK,kBAAkB,CAAC,EAAE,QAAQ;EAC/I;EACA,cAAc,GAAG;GAChB,IAAI,IAAI;GACR,KAAK,IAAI,KAAK,GAAG,KAAK,KAAK,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK;GACjF,OAAO;EACR;EACA,eAAe,GAAG;GACjB,OAAO,EAAE,aAAa,SAAS,KAAK,YAAY,CAAC,IAAI,KAAK,kBAAkB,CAAC;EAC9E;EACA,kBAAkB,GAAG;GACpB,IAAI,EAAE,aAAa,aAAa,OAAO,KAAK,UAAU,EAAE,SAAS,KAAK,WAAW,IAAI,KAAK,KAAK,KAAK,OAAO,EAAE,MAAM,IAAI,QAAQ,IAAI,EAAE,KAAK,KAAK,EAAE;GACjJ,IAAI,IAAI,EAAE;GACV,KAAK,aAAa,IAAI,KAAK,SAAS,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,QAAQ,IAAI,EAAE;GACvF,IAAI,IAAI,KAAK,aAAa,KAAK,CAAC;GAChC,OAAO,IAAI,EAAE,KAAK,KAAK,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI,EAAE;EAC7D;EACA,eAAe,GAAG;GACjB,IAAI,IAAI,EAAE;GACV,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,QAAQ,IAAI,EAAE,IAAI,EAAE,UAAU,OAAO,IAAI,EAAE,IAAI,EAAE;GAC1E,IAAI,KAAK,WACJ;QAAA,EAAE,SAAS,UAAU,GAAG,QAAQ,OAAO,IAAI,EAAE;GAAA,OAC3C,QAAQ,EAAE,SAAS,OAAnB;IACN,KAAK,GAAG,QAAQ,OAAO,IAAI,EAAE;IAC7B,KAAK,GAAG;KACP,IAAI,MAAM,UAAU,MAAM,SAAS,OAAO;KAC1C;IACD,KAAK,GAAG;KACP,IAAI,aAAa,KAAK,CAAC,GAAG,OAAO;KACjC;IACD,KAAK,GAAG;KACP,IAAI,kBAAkB,KAAK,CAAC,GAAG,OAAO;KACtC;IACD,KAAK,GAAG,QAAQ,IAAI,yCAAyC,KAAK,CAAC,GAAG,OAAO;GAC9E;GACA,OAAO,IAAI,EAAE,KAAK,KAAK,kBAAkB,EAAE,QAAQ;EACpD;EACA,iBAAiB,GAAG;GACnB,OAAO,EAAE,UAAU,GAAG,OAAO,MAAM,KAAK,kBAAkB,CAAC;EAC5D;EACA,cAAc,GAAG;GAChB,QAAQ,EAAE,UAAV;IACC,KAAK,QAAQ,OAAO,KAAK,YAAY,CAAC;IACtC,KAAK,WAAW,OAAO,KAAK,eAAe,CAAC;IAC5C,SAAS,OAAO,KAAK,kBAAkB,CAAC;GACzC;EACD;EACA,YAAY,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,KAAK;GAC9D,OAAO,KAAK,KAAK,eAAe,CAAC,EAAE,GAAG,KAAK,iBAAiB,CAAC,EAAE,GAAG,KAAK,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,kBAAkB,CAAC,IAAI;EACxI;EACA,gBAAgB;GACf,MAAM,MAAM,kDAAkD;EAC/D;EACA,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG;GACtB,MAAM,KAAK,IAAI,KAAK,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,OAAO,KAAK,aAAa,KAAK,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,GAAG,GAAG,KAAK,IAAI,CAAC;EAC9K;EACA,SAAS,GAAG;GACX,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,QAAQ,EAAE,EAAE;EACrD;EACA,UAAU,GAAG,GAAG,GAAG;GAClB,IAAI,IAAI,CAAC;GACT,EAAE,KAAK,GAAG,KAAK,YAAY,GAAG,CAAC;EAChC;EACA,YAAY,GAAG,GAAG;GACjB,IAAI,CAAC,KAAK,aAAa,OAAO,KAAK,EAAE;GACrC,IAAI,IAAI,CAAC;GACT,KAAK,IAAI,KAAK,GAAG;IAChB,IAAI,IAAI,EAAE;IACV,OAAO,KAAK,aAAa,IAAI,EAAE,QAAQ,IAAI,CAAC,GAAG,KAAK,aAAa,SAAS,KAAK,OAAO,KAAK,kBAAkB,QAAQ,OAAO,GAAG,KAAK,WAAW,MAAM,KAAK,SAAS,KAAK,KAAK,YAAY,KAAK,KAAK,KAAK,KAAK,OAAO,WAAW,EAAE,IAAI,EAAE,KAAK;GAC7O;GACA,IAAI,GAAG;IACN,IAAI,IAAI,IAAI,IAAI;IAChB,KAAK,IAAI,KAAK,KAAK,aAAa,KAAK,IAAI,IAAI,MAAM,GAAG,MAAM,IAAI,MAAM,MAAM,KAAK,YAAY;IAC7F,IAAI,GAAG,GAAG,2BAA2B,MAAM,GAAG,KAAK,eAAe,OAAO,OAAO,EAAE,aAAa,EAAE,iCAAiC;GACnI;GACA,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC;EAC7B;EACA,MAAM,GAAG,GAAG;GACX,IAAI,IAAI,GAAG,GAAG;GACd,QAAQ,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,WAAW,IAAI,CAAC;IACjD,WAAW;IACX,QAAQ;GACT,CAAC,IAAI,YAAY,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,QAHvC;IAIC,KAAK,GAAG,OAAO,IAAI,GAAG,IAAI;IAC1B,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAkB,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK,iBAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,cAAc,EAAE,MAAM,EAAE,GAAG;IAC1I;KACC,IAAI,IAAI;KACR,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,IAAI,EAAE,UAAU,OAAO,CAAC,IAAI,KAAK,KAAK,KAAK,cAAc,EAAE,MAAM,OAAO,KAAK,IAAI,IAAI,UAAU,UAAU,KAAK,iBAAiB,EAAE,SAAS,EAAE,GAAG,KAAK,cAAc,EAAE,MAAM,KAAK,IAAI,EAAE;KACvN,OAAO,IAAI,GAAG,GAAG,EAAE,IAAI;GACzB;EACD;EACA,KAAK,GAAG;GACP,IAAI,IAAI,KAAK,EAAE,UAAU,GAAG,IAAI,MAAM,CAAC;GACvC,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,cAAc,EAAE,EAAE;GAC1D,OAAO,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE;EACjC;EACA,IAAI,GAAG;GACN,KAAK,aAAa,SAAS,KAAK,OAAO,KAAK,kBAAkB,QAAQ,OAAO,GAAG,KAAK,WAAW,OAAO,KAAK,SAAS,KAAK;GAC1H,IAAI,IAAI,OAAO,GAAG,MAAM;IACvB,IAAI,MAAM,EAAE,GAAG,CAAC;GACjB;GACA,IAAI,KAAK,YAAY,IAAI;IACxB,OAAO,KAAK,cAAc,IAAI,CAAC;GAChC,QAAQ,CAAC;GACT,KAAK,EAAE;EACR;CACD;AACD,EAAE,GAAG,IAAoB,oBAAI,GAAG,MAAM;CACrC,EAAE,UAAU;EACX,gBAAgB,cAAc,MAAM;GACnC,YAAY,GAAG;IACd,IAAI,CAAC,MAAM,QAAQ,CAAC,GAAG,MAAM,UAAU,sCAAsC,OAAO,GAAG;IACvF,IAAI,IAAI;IACR,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,OAAO,EAAE,EAAE,CAAC,MAAM;IAC1D,MAAM,CAAC,GAAG,KAAK,OAAO,kBAAkB,KAAK,SAAS;GACvD;EACD;EACA,aAAa,GAAG;GACf,OAAO,MAAM,QAAQ,CAAC;EACvB;EACA,uBAAuB,GAAG,GAAG;GAC5B,OAAO,EAAE,SAAS,CAAC;EACpB;EACA,sBAAsB,GAAG,GAAG;GAC3B,OAAO,EAAE,QAAQ,CAAC;EACnB;EACA,mBAAmB,GAAG,GAAG;GACxB,OAAO,EAAE,KAAK,CAAC;EAChB;EACA,kBAAkB,GAAG,GAAG;GACvB,OAAO,EAAE,IAAI,CAAC;EACf;EACA,kBAAkB,GAAG,GAAG;GACvB,OAAO,EAAE,IAAI,CAAC;EACf;EACA,mBAAmB,GAAG,GAAG;GACxB,OAAO,EAAE,KAAK,CAAC;EAChB;EACA,oBAAoB,GAAG,GAAG,GAAG;GAC5B,OAAO,EAAE,MAAM,GAAG,CAAC;EACpB;EACA;EACA,sBAAsB,GAAG,GAAG,GAAG,GAAG;GACjC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC;EACtB;EACA,mCAAmC,GAAG,GAAG;GACxC,OAAO,SAAS,UAAU,OAAO,YAAY,CAAC,KAAK,GAAG,CAAC;EACxD;EACA,WAAW,KAAK;EAChB;EACA,iBAAiB,OAAO;EACxB,aAAa,OAAO;EACpB,wBAAwB,KAAK,KAAK;EAClC,wBAAwB,EAAE,KAAK,KAAK;EACpC,gBAAgB,OAAO;EACvB,uBAAuB,GAAG,GAAG;GAC5B,OAAO,OAAO,iBAAiB,GAAG,CAAC;EACpC;EACA,qBAAqB,GAAG,GAAG,GAAG;GAC7B,OAAO,OAAO,eAAe,GAAG,GAAG,CAAC;EACrC;EACA,+BAA+B,GAAG,GAAG;GACpC,OAAO,OAAO,yBAAyB,GAAG,CAAC;EAC5C;EACA,WAAW,GAAG;GACb,OAAO,OAAO,KAAK,CAAC;EACrB;EACA,qBAAqB,GAAG,GAAG;GAC1B,OAAO,OAAO,eAAe,GAAG,CAAC;EAClC;EACA;EACA,sBAAsB,GAAG,GAAG;GAC3B,OAAO,EAAE,MAAM,CAAC;EACjB;EACA,qBAAqB,GAAG,GAAG,GAAG;GAC7B,OAAO,EAAE,KAAK,GAAG,CAAC;EACnB;EACA,cAAc,GAAG;GAChB,OAAO,QAAQ,OAAO,CAAC;EACxB;EACA,eAAe,GAAG;GACjB,OAAO,QAAQ,QAAQ,CAAC;EACzB;EACA,cAAc,QAAQ;EACtB,oBAAoB,GAAG,GAAG;GACzB,OAAO,EAAE,KAAK,CAAC;EAChB;EACA,SAAS;EACT;EACA,qBAAqB,GAAG,GAAG,GAAG;GAC7B,OAAO,EAAE,MAAM,GAAG,CAAC;EACpB;EACA,2BAA2B,GAAG;GAC7B,OAAO,EAAE,YAAY;EACtB;EACA,2BAA2B,GAAG;GAC7B,OAAO,EAAE,YAAY;EACtB;EACA,oBAAoB,GAAG;GACtB,OAAO,EAAE,KAAK;EACf;EACA;EACA,WAAW,OAAO;EAClB,qBAAqB,OAAO;EAC5B,mBAAmB,OAAO;EAC1B,gBAAgB,OAAO;EACvB,eAAe,OAAO,WAAW,OAAO,gBAAgB;EACxD,oBAAoB,OAAO,gBAAgB,OAAO,qBAAqB;EACvE,uBAAuB,GAAG,GAAG,GAAG;GAC/B,OAAO,EAAE,IAAI,GAAG,CAAC;EAClB;EACA;EACA;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,EAAE,UAAU;EACX,OAAO,GAAG,GAAG,GAAG;GACf,OAAO,EAAE,QAAQ,eAAe,SAAS,GAAG,CAAC,GAAG,IAAI;IACnD,IAAI,IAAI,EAAE,MAAM;IAChB,OAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,MAAM,KAAK,UAAU,CAAC,IAAI,MAAM,OAAO,OAAO,KAAK,WAAW,GAAG,EAAE,gBAAgB,SAAS,KAAK,EAAE,YAAY,KAAK,KAAK,KAAK,IAAI,EAAE,SAAS;GACtL,CAAC;EACF;EACA,QAAQ,GAAG;GACV,QAAQ,OAAO,GAAf;IACC,KAAK;KACJ,IAAI,EAAE,SAAS,GAAG,GAAG;MACpB,IAAI,CAAC,EAAE,SAAS,IAAI,GAAG,OAAO,IAAI,EAAE;MACpC,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,EAAE,SAAS,IAAI,GAAG,OAAO,KAAK,EAAE;KAC1D;KACA,OAAO,IAAI,EAAE;IACd,KAAK,UAAU,OAAO,MAAM,CAAC,IAAI,QAAQ,OAAO,GAAG,GAAG,EAAE,IAAI,OAAO,CAAC,IAAI;IACxE,KAAK,UAAU,OAAO,GAAG,OAAO,CAAC,EAAE;IACnC,KAAK;IACL,KAAK,aAAa,OAAO,OAAO,CAAC;IACjC,KAAK,UAAU,OAAO;GACvB;EACD;CACD;AACD,EAAE,GAAG,KAAoB,oBAAI,GAAG,MAAM;CACrC,IAAI,EAAE,QAAQ,GAAG,SAAS,MAAM,GAAG,GAAG,EAAE,gBAAgB,MAAM,EAAE,GAAG,IAAI,WAAW,kBAAkB,GAAG,IAAI,OAAO,cAAc,GAAG,IAAI;EACtI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACD,GAAG,IAAI,uBAAuB,IAAI,oBAAoB,IAAI,CAAC;CAC3D,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,uBAAuB,CAAC;CAC7C;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO;EACzC,OAAO,KAAK,IAAI,GAAG,KAAK,GAAG,IAAI,IAAI,EAAE,MAAM,IAAI,GAAG,CAAC,IAAI;EACvD,OAAO,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI;CAC3B;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,OAAO,KAAK,YAAY,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,SAAS,EAAE,mCAAmC,EAAE,OAAO,sCAAsC,EAAE,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC;EAC7K,IAAI,KAAK,EAAE,MAAM,aAAa,KAAK,CAAC,EAAA,CAAG;EACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,SAAS,EAAE,mCAAmC,EAAE,OAAO,sCAAsC,EAAE,GAAG,GAAG,EAAE,WAAW,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC;CAC7J;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,MAAM;EACN,MAAM,UAAU,EAAE;GACjB,YAAY,GAAG,GAAG;IACjB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;GACjB;GACA,WAAW;IACV,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK;GACrC;EACD;EACA,OAAO,iBAAiB,EAAE,WAAW;GACpC,MAAM;IACL,OAAO,EAAE;IACT,UAAU,CAAC;IACX,YAAY,CAAC;IACb,cAAc,CAAC;GAChB;GACA,UAAU;IACT,QAAQ;KACP,OAAO,GAAG,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK;IACrC;IACA,UAAU,CAAC;IACX,YAAY,CAAC;IACb,cAAc,CAAC;GAChB;EACD,CAAC,GAAG,EAAE,UAAU,OAAO,GAAG,EAAE,UAAU,KAAK,CAAC,GAAG,EAAE,KAAK;CACvD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,IAAI,EAAE;EACd,OAAO,OAAO,eAAe,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG;CACxD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,KAAK,KAAK,MAAM,GAAG;GACtB,IAAI,MAAM,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,OAAO,KAAK,CAAC,GAAG;GACtD,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO;GAC/B,OAAO,EAAE,OAAO,EAAE,MAAM;EACzB;EACA,OAAO,KAAK;CACb;CACA,IAAI,IAAI,cAAc,MAAM;EAC3B,YAAY,IAAI,6BAA6B,IAAI,KAAK,GAAG;GACxD,IAAI,MAAM,KAAK,KAAK,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,qBAAqB,WAAW,UAAU,CAAC;GACjG,MAAM,GAAG,CAAC,GAAG,KAAK,OAAO,aAAa,KAAK,OAAO;EACnD;CACD;CACA,EAAE,iBAAiB,MAAM,KAAK,GAAG,EAAE,yBAAyB,GAAG,GAAG,MAAM;EACvE,EAAE,OAAO,KAAK,UAAU,yBAAyB,GAAG,MAAM,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;EAC/E,IAAI,IAAI;EACR,EAAE,SAAS,WAAW,IAAI,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,aAAa,WAAW,IAAI,KAAK;EAC3G,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;EACzB,KAAK,IAAI,KAAK,GAAG,EAAE,OAAO,KAAK,UAAU,gDAAgD,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,UAAU,sDAAsD,GAAG,EAAE,KAAK,CAAC;EAClP,IAAI,EAAE,SAAS,GAAG;GACjB,IAAI,IAAI,EAAE,QAAQ,QAAQ;GAC1B,MAAM,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,QAAQ;EAChD;EACA,IAAI,EAAE,SAAS,GAAG;GACjB,QAAQ,EAAE,QAAV;IACC,KAAK;KACJ,KAAK,WAAW,EAAE;KAClB;IACD,KAAK;KACJ,KAAK,eAAe,EAAE,GAAG,MAAM,EAAE;KACjC;IACD,SAAS;KACR,IAAI,IAAI,EAAE,IAAI;KACd,KAAK,eAAe,EAAE,KAAK,IAAI,EAAE,OAAO;IACzC;GACD;GACA,CAAC,EAAE,SAAS,KAAK,EAAE,SAAS,OAAO,KAAK;EACzC;EACA,IAAI,EAAE,SAAS,GAAG;GACjB,QAAQ,EAAE,QAAV;IACC,KAAK;KACJ,KAAK,kBAAkB,EAAE;KACzB;IACD,KAAK;KACJ,KAAK,kBAAkB,EAAE,GAAG,MAAM,EAAE;KACpC;IACD,SAAS;KACR,IAAI,IAAI,EAAE,IAAI;KACd,KAAK,kBAAkB,EAAE,KAAK,IAAI,EAAE,OAAO;IAC5C;GACD;GACA,EAAE,SAAS,MAAM,KAAK;EACvB;EACA,QAAQ,EAAE,QAAV;GACC,KAAK,GAAG;GACR,KAAK;IACJ,EAAE,EAAE,CAAC,YAAY,MAAM,EAAE,OAAO,KAAK,QAAQ,KAAK,GAAG,EAAE;IACvD;GACD,KAAK;IACJ,KAAK,UAAU,EAAE,GAAG,MAAM,EAAE;IAC5B;GACD,SAAS;IACR,IAAI,IAAI,EAAE,IAAI;IACd,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,OAAO;GACpC;EACD;EACA,IAAI,KAAK,MAAM,KAAK,cAAc;OAC7B,IAAI,OAAO,KAAK,cAAc,EAAE,MAAM,KAAK,uBAAuB,EAAE;OACpE,IAAI,OAAO,KAAK,UAAU;GAC9B,IAAI;GACJ,KAAK,IAAI,EAAE,gBAAgB,QAAQ,EAAE,MAAM,KAAK,6BAA6B,EAAE,YAAY;QACtF;IACJ,IAAI,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC;IAC1B,KAAK,cAAc;GACpB;EACD,OAAO;GACN,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;GAC3B,EAAE,SAAS,OAAO,IAAI,GAAG,EAAE,MAAM,GAAG,EAAE,EAAE,OAAO,KAAK,mBAAmB,OAAO,EAAE,IAAI,EAAE;EACvF;EACA,OAAO;CACR,GAAG,SAAS,GAAG,EAAE,0BAA0B,GAAG,GAAG,IAAI,iBAAiB;EACrE,IAAI,IAAI,EAAE,CAAC;EACX,OAAO,EAAE,SAAS,QAAQ,IAAI,EAAE,MAAM,GAAG,GAAG,IAAI,QAAQ,OAAO,EAAE,SAAS,GAAG,IAAI,aAAa,WAAW,IAAI,EAAE,IAAI,EAAE,aAAa;CACnI,GAAG,SAAS,GAAG,EAAE,6BAA6B,GAAG,GAAG,MAAM;EACzD,IAAI;EACJ,OAAO,YAAY,EAAE,4BAA4B,EAAE,qBAAqB,KAAK,SAAS,IAAI,EAAE,gBAAgB,QAAQ,EAAE,OAAO,eAAe,EAAE,YAAY,SAAS,QAAQ,OAAO,IAAI;CACvL,GAAG,SAAS,GAAG,EAAE,qBAAqB,GAAG,MAAM;EAC9C,EAAE,EAAE,SAAS,GAAG,wCAAwC;EACxD,IAAI,GAAG,IAAI,EAAE;EACb,QAAQ,KAAK,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,EAAA,CAAG,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,GAAG,GAA5E;GACC,KAAK;IACJ,KAAK,OAAO,EAAE,GAAG;IACjB;GACD,KAAK;IACJ,KAAK,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG;IAC7B;GACD,SAAS;IACR,IAAI,IAAI,EAAE,IAAI;IACd,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,QAAQ,EAAE;GACpC;EACD;EACA,OAAO,GAAG,EAAE;CACb,GAAG,SAAS,GAAG,EAAE,qBAAqB,GAAG,GAAG,MAAM;EACjD,EAAE,GAAG,4BAA4B;EACjC,IAAI;EACJ,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,OAAO,CAAC,CAAC;OAC5D,IAAI,OAAO,KAAK,UAAU;GAC9B,IAAI,OAAO,CAAC;GACZ,IAAI,IAAI,OAAO,CAAC,KAAK,OAAO,EAAE;GAC9B,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK;EACvC,OAAO,IAAI,EAAE,CAAC;EACd,OAAO,iBAAiB,EAAE,gCAAgC,EAAE,aAAa;CAC1E,GAAG,UAAU,GAAG,EAAE,yBAAyB,kCAAkC,KAAK,GAAG,EAAE,8BAA8B,oCAAoC,KAAK,GAAG,EAAE,+BAA+B,8CAA8C,KAAK,GAAG,EAAE,0BAA0B,6BAA6B,KAAK,GAAG,EAAE,wBAAwB,+CAA+C,KAAK,GAAG,EAAE,0BAA0B,uCAAuC,SAAS,GAAG,EAAE,8BAA8B,mBAAmB,KAAK,GAAG,EAAE,6BAA6B,2BAA2B,KAAK,GAAG,EAAE,sCAAsC,oCAAoC,KAAK,GAAG,EAAE,8BAA8B,mBAAmB,KAAK,GAAG,EAAE,wBAAwB,wBAAwB,SAAS,GAAG,EAAE,UAAU;EAC9yB,YAAY;EACZ,oBAAoB,EAAE,CAAC;EACvB,iBAAiB;EACjB,OAAO;CACR;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,iBAAiB,GAAG,aAAa,MAAM,OAAO,OAAO,MAAM,OAAO,OAAO,SAAS,MAAM,SAAS,KAAK;CAC5G,EAAE,UAAU,GAAG,EAAE,QAAQ,cAAc,GAAG,EAAE,QAAQ,UAAU;AAC/D,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,OAAO,WAAW,WAAW,UAAU,MAAM,IAAI,KAAK,OAAO,EAAE,SAAS,aAAa,EAAE,QAAQ,SAAS,GAAG,GAAG,GAAG;EACxH,OAAO,SAAS,UAAU,MAAM,KAAK,GAAG,GAAG,CAAC;CAC7C,GAAG,IAAI,KAAK,OAAO,EAAE,WAAW,aAAa,EAAE,UAAU,OAAO,wBAAwB,SAAS,GAAG;EACnG,OAAO,OAAO,oBAAoB,CAAC,CAAC,CAAC,OAAO,OAAO,sBAAsB,CAAC,CAAC;CAC5E,IAAI,SAAS,GAAG;EACf,OAAO,OAAO,oBAAoB,CAAC;CACpC;CACA,SAAS,EAAE,GAAG;EACb,WAAW,QAAQ,QAAQ,QAAQ,KAAK,CAAC;CAC1C;CACA,IAAI,IAAI,OAAO,SAAS,SAAS,GAAG;EACnC,OAAO,MAAM;CACd;CACA,SAAS,IAAI;EACZ,EAAE,KAAK,KAAK,IAAI;CACjB;CACA,EAAE,UAAU,GAAG,EAAE,QAAQ,OAAO,GAAG,EAAE,eAAe,GAAG,EAAE,UAAU,UAAU,KAAK,GAAG,EAAE,UAAU,eAAe,GAAG,EAAE,UAAU,gBAAgB,KAAK;CACpJ,IAAI,IAAI;CACR,SAAS,EAAE,GAAG;EACb,IAAI,OAAO,KAAK,YAAY,MAAM,UAAU,uEAAuE,OAAO,CAAC;CAC5H;CACA,OAAO,eAAe,GAAG,uBAAuB;EAC/C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO;EACR;EACA,KAAK,SAAS,GAAG;GAChB,IAAI,OAAO,KAAK,YAAY,IAAI,KAAK,EAAE,CAAC,GAAG,MAAM,WAAW,sGAAsG,IAAI,GAAG;GACzK,IAAI;EACL;CACD,CAAC,GAAG,EAAE,OAAO,WAAW;EACvB,CAAC,KAAK,YAAY,KAAK,KAAK,KAAK,YAAY,OAAO,eAAe,IAAI,CAAC,CAAC,aAAa,KAAK,UAAU,OAAO,OAAO,IAAI,GAAG,KAAK,eAAe,IAAI,KAAK,gBAAgB,KAAK,iBAAiB,KAAK;CACnM,GAAG,EAAE,UAAU,kBAAkB,SAAS,GAAG;EAC5C,IAAI,OAAO,KAAK,YAAY,IAAI,KAAK,EAAE,CAAC,GAAG,MAAM,WAAW,oFAAoF,IAAI,GAAG;EACvJ,OAAO,KAAK,gBAAgB,GAAG;CAChC;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAAE,sBAAsB,EAAE;CAC/D;CACA,EAAE,UAAU,kBAAkB,WAAW;EACxC,OAAO,EAAE,IAAI;CACd,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG;EACjC,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,EAAE,KAAK,UAAU,EAAE;EACtE,IAAI,IAAI,MAAM,SAAS,IAAI,KAAK;EAChC,IAAI,MAAM,KAAK,GAAG,MAAM,EAAE,UAAU,KAAK;OACpC,IAAI,CAAC,GAAG,OAAO,CAAC;EACrB,IAAI,GAAG;GACN,IAAI;GACJ,IAAI,EAAE,SAAS,MAAM,IAAI,EAAE,KAAK,aAAa,OAAO,MAAM;GAC1D,IAAI,IAAoB,sBAAM,sBAAsB,IAAI,OAAO,EAAE,UAAU,MAAM,GAAG;GACpF,MAAM,EAAE,UAAU,GAAG;EACtB;EACA,IAAI,IAAI,EAAE;EACV,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC;EAC1B,IAAI,OAAO,KAAK,YAAY,EAAE,GAAG,MAAM,CAAC;OACnC,KAAK,IAAI,IAAI,EAAE,QAAQ,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,MAAM,CAAC;EAC3E,OAAO,CAAC;CACT;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI,GAAG,GAAG;EACV,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,MAAM,KAAK,KAAK,IAAI,EAAE,UAAU,OAAO,OAAO,IAAI,GAAG,EAAE,eAAe,MAAM,EAAE,gBAAgB,KAAK,MAAM,EAAE,KAAK,eAAe,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE;OAC/O,IAAI,OAAO,KAAK,aAAa,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,EAAE,SAAS,KAAK,CAAC,EAAE,QAAQ;GAC9I,EAAE,SAAS,CAAC;GACZ,IAAI,IAAoB,sBAAM,iDAAiD,EAAE,SAAS,MAAM,OAAO,CAAC,IAAI,mEAAmE;GAC/K,EAAE,OAAO,+BAA+B,EAAE,UAAU,GAAG,EAAE,OAAO,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;EAC3F;EACA,OAAO;CACR;CACA,EAAE,UAAU,cAAc,SAAS,GAAG,GAAG;EACxC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;CACxB,GAAG,EAAE,UAAU,KAAK,EAAE,UAAU,aAAa,EAAE,UAAU,kBAAkB,SAAS,GAAG,GAAG;EACzF,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,CAAC;CACxB;CACA,SAAS,IAAI;EACZ,IAAI,CAAC,KAAK,OAAO,OAAO,KAAK,OAAO,eAAe,KAAK,MAAM,KAAK,MAAM,GAAG,KAAK,QAAQ,CAAC,GAAG,UAAU,WAAW,IAAI,KAAK,SAAS,KAAK,KAAK,MAAM,IAAI,KAAK,SAAS,MAAM,KAAK,QAAQ,SAAS;CACnM;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI;GACP,OAAO,CAAC;GACR,QAAQ,KAAK;GACb,QAAQ;GACR,MAAM;GACN,UAAU;EACX,GAAG,IAAI,EAAE,KAAK,CAAC;EACf,OAAO,EAAE,WAAW,GAAG,EAAE,SAAS,GAAG;CACtC;CACA,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG;EACjC,OAAO,EAAE,CAAC,GAAG,KAAK,GAAG,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG;CACzC,GAAG,EAAE,UAAU,sBAAsB,SAAS,GAAG,GAAG;EACnD,OAAO,EAAE,CAAC,GAAG,KAAK,gBAAgB,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG;CACtD,GAAG,EAAE,UAAU,iBAAiB,SAAS,GAAG,GAAG;EAC9C,IAAI,GAAG,GAAG,GAAG,GAAG;EAChB,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,SAAS,MAAM,KAAK,MAAM,IAAI,EAAE,IAAI,MAAM,KAAK,IAAI,OAAO;EAC7E,IAAI,MAAM,KAAK,EAAE,aAAa,GAAG,EAAE,KAAK,iBAAiB,IAAI,KAAK,UAAU,OAAO,OAAO,IAAI,KAAK,OAAO,EAAE,IAAI,EAAE,kBAAkB,KAAK,KAAK,kBAAkB,GAAG,EAAE,YAAY,CAAC;OAC7K,IAAI,OAAO,KAAK,YAAY;GAChC,KAAK,IAAI,IAAI,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,IAAI,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,aAAa,GAAG;IAClF,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI;IACvB;GACD;GACA,IAAI,IAAI,GAAG,OAAO;GAClB,MAAM,IAAI,EAAE,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,WAAW,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,KAAK,KAAK,KAAK,KAAK,kBAAkB,GAAG,KAAK,CAAC;EACrI;EACA,OAAO;CACR,GAAG,EAAE,UAAU,MAAM,EAAE,UAAU,gBAAgB,EAAE,UAAU,qBAAqB,SAAS,GAAG;EAC7F,IAAI,GAAG,IAAI,KAAK,SAAS;EACzB,IAAI,MAAM,KAAK,GAAG,OAAO;EACzB,IAAI,EAAE,mBAAmB,KAAK,GAAG,OAAO,UAAU,WAAW,KAAK,KAAK,UAAU,OAAO,OAAO,IAAI,GAAG,KAAK,eAAe,KAAK,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,iBAAiB,IAAI,KAAK,UAAU,OAAO,OAAO,IAAI,IAAI,OAAO,EAAE,KAAK;EAClO,IAAI,UAAU,WAAW,GAAG;GAC3B,IAAI,IAAI,OAAO,KAAK,CAAC,GAAG;GACxB,KAAK,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,IAAI,MAAM,oBAAoB,KAAK,mBAAmB,CAAC;GAC5F,OAAO,KAAK,mBAAmB,gBAAgB,GAAG,KAAK,UAAU,OAAO,OAAO,IAAI,GAAG,KAAK,eAAe,GAAG;EAC9G;EACA,IAAI,IAAI,EAAE,IAAI,OAAO,KAAK,YAAY,KAAK,eAAe,GAAG,CAAC;OACzD,IAAI,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,KAAK,KAAK,eAAe,GAAG,EAAE,EAAE;EACtF,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE;EACV,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC;EAC1B,IAAI,IAAI,EAAE;EACV,OAAO,MAAM,KAAK,IAAI,CAAC,IAAI,OAAO,KAAK,aAAa,IAAI,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM;CAC3G;CACA,EAAE,UAAU,YAAY,SAAS,GAAG;EACnC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CACrB,GAAG,EAAE,UAAU,eAAe,SAAS,GAAG;EACzC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC;CACrB,GAAG,EAAE,gBAAgB,SAAS,GAAG,GAAG;EACnC,OAAO,OAAO,EAAE,iBAAiB,aAAa,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;CAC/E,GAAG,EAAE,UAAU,gBAAgB;CAC/B,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,KAAK;EACb,IAAI,MAAM,KAAK,GAAG;GACjB,IAAI,IAAI,EAAE;GACV,IAAI,OAAO,KAAK,YAAY,OAAO;GACnC,IAAI,MAAM,KAAK,GAAG,OAAO,EAAE;EAC5B;EACA,OAAO;CACR;CACA,EAAE,UAAU,aAAa,WAAW;EACnC,OAAO,KAAK,eAAe,IAAI,EAAE,KAAK,OAAO,IAAI,CAAC;CACnD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;EACnD,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,IAAI,IAAI,EAAE,QAAQ,KAAK,EAAE,KAAK,EAAE,IAAI;EAC3C,EAAE,IAAI;CACP;CACA,SAAS,EAAE,GAAG;EACb,KAAK,IAAI,IAAI,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,EAAE;EAClF,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,IAAI,QAAQ,SAAS,GAAG,GAAG;GACjC,SAAS,EAAE,GAAG;IACb,EAAE,eAAe,GAAG,CAAC,GAAG,EAAE,CAAC;GAC5B;GACA,SAAS,IAAI;IACZ,OAAO,EAAE,kBAAkB,cAAc,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;GAClG;GACA,EAAE,GAAG,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,WAAW,EAAE,GAAG,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;EAChE,CAAC;CACF;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,EAAE,MAAM,cAAc,EAAE,GAAG,SAAS,GAAG,CAAC;CAChD;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI,OAAO,EAAE,MAAM,YAAY,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;OAC3D,IAAI,OAAO,EAAE,oBAAoB,YAAY,EAAE,iBAAiB,GAAG,SAAS,EAAE,GAAG;GACrF,EAAE,QAAQ,EAAE,oBAAoB,GAAG,CAAC,GAAG,EAAE,CAAC;EAC3C,CAAC;OACI,MAAM,UAAU,0EAA0E,OAAO,CAAC;CACxG;AACD,EAAE,GAAG,KAAoB,oBAAI,GAAG,MAAM;CACrC,IAAI,IAAI,GAAE,GAAG,EAAE,QAAQ,GAAG,SAAS,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,sBAAsB,QAAQ,GAAE,GAAG,EAAE,wBAAwB,GAAG,gBAAgB,GAAG,eAAe,MAAM,EAAE,GAAG,IAAI,WAAW,eAAe,GAAG,CAAC,CAAC,aAAa,IAAI,WAAW,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,IAAI,OAAO,eAAe,iBAAiB,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,WAAW,QAAQ,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,SAAS,GAAG;EACxY,OAAO,CAAC;CACT,IAAI,SAAS,GAAG;EACf,OAAO,aAAa;CACrB,GAAG,KAAK,GAAG,MAAM;EAChB,IAAI,MAAM,KAAK,MAAM,OAAO,KAAK,YAAY,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC;CACvG,GAAG,KAAK,GAAG,MAAM;EAChB,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,GAAG,YAAY,CAAC;CACzD;CACA,EAAE,UAAU;EACX,gBAAgB;EAChB,cAAc,OAAO,OAAO,CAAC,CAAC;EAC9B,KAAK,GAAG;GACP,IAAI,IAAI,CAAC;GACT,OAAO,SAAS,GAAG,GAAG;IACrB,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;GAC9B;EACD;EACA,uBAAuB,WAAW;GACjC,IAAI,GAAG;GACP,OAAO;IACN,SAAS,IAAI,SAAS,GAAG,MAAM;KAC9B,IAAI,GAAG,IAAI;IACZ,CAAC;IACD,SAAS;IACT,QAAQ;GACT;EACD;EACA,UAAU,GAAG;GACZ,OAAO,IAAI,SAAS,GAAG,MAAM;IAC5B,GAAG,GAAG,GAAG,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;GAClC,CAAC;EACF;EACA,WAAW;GACV,OAAO,WAAW,CAAC;EACpB;EACA,QAAQ;EACR,SAAS;EACT,OAAO;GACN,gBAAgB,GAAG;IAClB,OAAO,aAAa;GACrB;GACA,kBAAkB,GAAG;IACpB,OAAO,YAAY,OAAO,CAAC;GAC5B;EACD;EACA,QAAQ;EACR,UAAU,GAAG,GAAG;GACf,OAAO;EACR;EACA,kBAAkB,GAAG,CAAC,CAAC,oBAAoB,SAAS,GAAG,GAAG;GACzD,IAAI,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,UAAU,eAAe,CAAC;GACxD,EAAE,GAAG,QAAQ,GAAG,EAAE,GAAG,UAAU;GAC/B,IAAI;GACJ,OAAO,EAAE,UAAU,qBAAqB,EAAE,CAAC,KAAK,EAAE,iBAAiB,SAAS,GAAG;IAC9E,WAAW;IACX,MAAM,CAAC;KACN,IAAI,CAAC;GACP,CAAC,GAAG,UAAU;IACb,EAAE,oBAAoB,SAAS,CAAC;GACjC,IAAI;IACH,WAAW;IACX,CAAC,KAAK;KACL,IAAI;KACJ,CAAC,IAAI,MAAM,QAAQ,EAAE;IACtB;GACD;EACD;EACA,gBAAgB,EAAE,OAAO,SAAS,GAAG;GACpC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE;GAC7B,IAAI,IAAI,IAAI,EAAE,GAAG,UAAU,EAAE,MAAM;GACnC,OAAO,EAAE,SAAS,MAAM;IACvB,EAAE,GAAG,SAAS,GAAG,EAAE,iBAAiB,SAAS,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;GAC7D,CAAC,GAAG,EAAE,OAAO,iBAAiB,eAAe;IAC5C,EAAE,SAAS,MAAM,EAAE,oBAAoB,SAAS,CAAC,CAAC;GACnD,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;EACrB;CACD,GAAG,EAAE,QAAQ,UAAU,SAAS,OAAO,IAAI,8BAA8B;AAC1E,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,cAAc,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,GAAG,wBAAwB,GAAG,gBAAgB,GAAG,+BAA+B,GAAG,qBAAqB,GAAG,QAAQ,GAAG,4BAA4B,GAAG,qBAAqB,MAAM,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,EAAE,qBAAqB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,oBAAoB,QAAQ,GAAE,GAAG,EAAE,mBAAmB,MAAM,GAAE,GAAG,EAAE,iBAAiB,GAAG,mBAAmB,MAAM,GAAE,CAAC,CAAC,OAAO,IAAI,CAAC;CAC/kB,SAAS,EAAE,GAAG;EACb,OAAO,OAAO,IAAI;CACnB;CACA,SAAS,EAAE,GAAG;EACb,OAAO,MAAM,MAAM;CACpB;CACA,IAAI,IAAI,YAAY,IAAI;CACxB,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,OAAO,KAAK,UAAU;GAClD,IAAI,EAAE,GAAG,CAAC,MAAM,MAAM,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC;GACzC,IAAI,EAAE,GAAG,CAAC;EACX;EACA,OAAO,EAAE,GAAG,CAAC,GAAG;CACjB;CACA,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,MAAM;EACjC,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;EACpD,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,cAAc,CAAC;EACzC,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,EAAE,GAAG,MAAM,EAAE,SAAS,KAAK,CAAC;CAC3D,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,aAAa,IAAI,eAAe;EACpD,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;EACpD,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,cAAc,CAAC;EACzC,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,EAAE,GAAG,MAAM,EAAE,SAAS,KAAK,CAAC;CAC3D,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM;EAC3B,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;EACpD,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,cAAc,CAAC;EACzC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;EAClB,IAAI,IAAI,KAAK,IAAI,GAAG,MAAM,IAAI,EAAE,GAAG,MAAM,EAAE,SAAS,KAAK,CAAC;CAC3D,CAAC;CACD,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;CACrD;CACA,SAAS,EAAE,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;EAC/B,IAAI,OAAO,KAAK,UAAU,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;EACpD,IAAI,KAAK,QAAQ,IAAI,KAAK,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,KAAK,SAAS,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM,MAAM,KAAK,QAAQ,KAAK,OAAO,SAAS,KAAK,KAAK,OAAO,KAAK,MAAM,OAAO,CAAC;CACxM;CACA,IAAI,IAAI,GAAG,GAAG,GAAG,MAAM;EACtB,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,qBAAqB,EAAE,EAAE,IAAI,MAAM,OAAO,KAAK,WAAW,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;CAClH,CAAC;CACD,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,WAAW,MAAM,IAAI,EAAE,GAAG,WAAW,CAAC;CACvD;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,KAAK,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;CACtC;CACA,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,SAAS;EAC7B,IAAI,IAAI,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,CAAC;EAC5D,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,KAAK,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,KAAK,aAAa,CAAC,KAAK,OAAO,KAAK,aAAa,MAAM,IAAI,EAAE,GAAG,UAAU,CAAC;CAC5I,CAAC,GAAG,KAAK,GAAG,GAAG,MAAM;EACpB,IAAI,KAAK,QAAQ,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,GAAG,gBAAgB,CAAC;CAClG,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,MAAM;EAC1B,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,SAAS,CAAC;EACpC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,uBAAuB,GAAG;CAC/D,CAAC;CACD,SAAS,EAAE,GAAG,GAAG;EAChB,EAAE,GAAG,CAAC;EACN,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE;CACxD;CACA,SAAS,GAAE,GAAG,GAAG;EAChB,EAAE,GAAG,CAAC;EACN,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE;CACxD;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,EAAE,GAAG,CAAC;EACN,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;GAClC,IAAI,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE;GAC5B,IAAI,KAAK,MAAM,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC;GAC9C,EAAG,GAAG,CAAC;EACR;CACD;CACA,SAAS,EAAG,GAAG,IAAI,UAAU;EAC5B,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,IAAI,yCAAyC;CACxH;CACA,IAAI,KAAI,GAAG,GAAG,IAAI,aAAa;EAC9B,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG;GACzB;GACA;GACA;EACD,GAAG,CAAC;CACL,CAAC;CACD,SAAS,GAAE,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE;EACpB,IAAI,MAAM,SAAS,IAAI,KAAK,GAAG,MAAM,IAAI,EAAE,YAAY,GAAG,iCAAiC,GAAG;CAC/F;CACA,SAAS,EAAE,GAAG,IAAI,QAAQ,IAAI,CAAC,GAAG;EACjC,IAAI,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,MAAM,KAAK,IAAI,SAAS,MAAM,KAAK,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,CAAC;EACjK,OAAO,IAAI;CACZ;CACA,IAAI,IAAK,GAAG,GAAG,MAAM;EACpB,IAAI,MAAM,KAAK,MAAM,OAAO,KAAK,YAAY,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC;CACvG,CAAC,GAAG,IAAI,GAAG,GAAG,MAAM;EACnB,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,GAAG,YAAY,CAAC;CACzD,CAAC,GAAG,KAAI,GAAG,GAAG,MAAM;EACnB,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,YAAY,CAAC;CACjE,CAAC,GAAG,KAAK,GAAG,GAAG,MAAM;EACpB,IAAI,MAAM,KAAK,GAAG,MAAM,IAAI,EAAE,GAAG,aAAa,CAAC;CAChD,CAAC;CACD,SAAS,GAAG,GAAG,GAAG,GAAG;EACpB,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC;CACnD;CACA,IAAI,KAAK;CACT,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,MAAM,KAAK,KAAK,CAAC,EAAE,IAAI,CAAC,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,+EAA+E;CACjI;CACA,SAAS,GAAG,GAAG;EACd,IAAI,OAAO,KAAK,UAAU,OAAO,GAAG,GAAG,OAAO,GAAG;EACjD,IAAI,EAAE,CAAC,GAAG;GACT,IAAI,IAAI,EAAE,QAAQ,IAAI;GACtB,IAAI,MAAM,GAAG,OAAO;GACpB,KAAK,IAAI,IAAI,GAAG,IAAI,GAAG,KAAK;IAC3B,IAAI,IAAI,EAAE;IACV,GAAG,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,IAAI,MAAM,KAAK;GAC9C;GACA,OAAO;EACR;EACA,MAAM,IAAI,EAAE,SAAS,GAAG,+EAA+E;CACxG;CACA,EAAE,UAAU;EACX,SAAS;EACT,UAAU;EACV,eAAe;EACf,eAAe;EACf,qBAAqB;EACrB,sBAAsB;EACtB,0BAA0B;EAC1B,iBAAiB;EACjB,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,kBAAkB;EAClB,eAAe;EACf,iBAAiB;EACjB,gBAAgB;EAChB,gBAAgB;EAChB,eAAe;EACf,uBAAuB;EACvB,cAAc;EACd,oBAAoB;EACpB,gBAAgB;EAChB,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,qBAAqB;EACrB,yBAAyB;CAC1B;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,EAAE,UAAU,CAAC,GAAG,GAAG;CAC3B,SAAS,IAAI;EACZ,MAAM,MAAM,iCAAiC;CAC9C;CACA,SAAS,IAAI;EACZ,MAAM,MAAM,mCAAmC;CAChD;CACA,CAAC,WAAW;EACX,IAAI;GACH,IAAI,OAAO,cAAc,aAAa,aAAa;EACpD,QAAQ;GACP,IAAI;EACL;EACA,IAAI;GACH,IAAI,OAAO,gBAAgB,aAAa,eAAe;EACxD,QAAQ;GACP,IAAI;EACL;CACD,EAAA,CAAG;CACH,SAAS,EAAE,GAAG;EACb,IAAI,MAAM,YAAY,OAAO,WAAW,GAAG,CAAC;EAC5C,KAAK,MAAM,KAAK,CAAC,MAAM,YAAY,OAAO,IAAI,YAAY,WAAW,GAAG,CAAC;EACzE,IAAI;GACH,OAAO,EAAE,GAAG,CAAC;EACd,QAAQ;GACP,IAAI;IACH,OAAO,EAAE,KAAK,MAAM,GAAG,CAAC;GACzB,QAAQ;IACP,OAAO,EAAE,KAAK,MAAM,GAAG,CAAC;GACzB;EACD;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,MAAM,cAAc,OAAO,aAAa,CAAC;EAC7C,KAAK,MAAM,KAAK,CAAC,MAAM,cAAc,OAAO,IAAI,cAAc,aAAa,CAAC;EAC5E,IAAI;GACH,OAAO,EAAE,CAAC;EACX,QAAQ;GACP,IAAI;IACH,OAAO,EAAE,KAAK,MAAM,CAAC;GACtB,QAAQ;IACP,OAAO,EAAE,KAAK,MAAM,CAAC;GACtB;EACD;CACD;CACA,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI;CAC3B,SAAS,IAAI;EACZ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,SAAS,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,UAAU,EAAE;CACzE;CACA,SAAS,IAAI;EACZ,IAAI,CAAC,GAAG;GACP,IAAI,IAAI,EAAE,CAAC;GACX,IAAI,CAAC;GACL,KAAK,IAAI,IAAI,EAAE,QAAQ,IAAI;IAC1B,KAAK,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC,IAAI;IAC5C,IAAI,IAAI,IAAI,EAAE;GACf;GACA,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;EACtB;CACD;CACA,EAAE,WAAW,SAAS,GAAG;EACxB,IAAI,IAAI,MAAM,UAAU,SAAS,CAAC;EAClC,IAAI,UAAU,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK,EAAE,IAAI,KAAK,UAAU;EAC1F,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC;CACjD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,KAAK,MAAM,GAAG,KAAK,QAAQ;CAC5B;CACA,EAAE,UAAU,MAAM,WAAW;EAC5B,KAAK,IAAI,MAAM,MAAM,KAAK,KAAK;CAChC,GAAG,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,WAAW,CAAC;CAC/F,SAAS,IAAI,CAAC;CACd,EAAE,KAAK,GAAG,EAAE,cAAc,GAAG,EAAE,OAAO,GAAG,EAAE,MAAM,GAAG,EAAE,iBAAiB,GAAG,EAAE,qBAAqB,GAAG,EAAE,OAAO,GAAG,EAAE,kBAAkB,GAAG,EAAE,sBAAsB,GAAG,EAAE,YAAY,SAAS,GAAG;EAC3L,OAAO,CAAC;CACT,GAAG,EAAE,UAAU,SAAS,GAAG;EAC1B,MAAM,MAAM,kCAAkC;CAC/C,GAAG,EAAE,MAAM,WAAW;EACrB,OAAO;CACR,GAAG,EAAE,QAAQ,SAAS,GAAG;EACxB,MAAM,MAAM,gCAAgC;CAC7C,GAAG,EAAE,QAAQ,WAAW;EACvB,OAAO;CACR;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,WAAW,MAAM,EAAE,GAAG,IAAI,EAAE,yBAAyB,GAAG,IAAI,EAAE,uBAAuB,GAAG,IAAI,EAAE,wBAAwB,GAAG,IAAI,EAAE,wBAAwB,GAAG,IAAI,EAAE,yBAAyB,GAAG,IAAI,EAAE,kCAAkC,GAAG,IAAI,EAAE,0CAA0C;CACxU,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG;EACrB,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,QAAQ,cAAc,OAAO,EAAE,MAAM,eAAe,CAAC,KAAK,OAAO,EAAE,SAAS,cAAc,OAAO,EAAE,UAAU,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE;CACzO;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,SAAS,cAAc,OAAO,EAAE,MAAM,eAAe,CAAC,EAAE,kBAAkB,EAAE,gBAAgB,aAAa,CAAC;CACnI;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,KAAK,OAAO,EAAE,QAAQ,cAAc,EAAE,kBAAkB,OAAO,EAAE,MAAM,cAAc,OAAO,EAAE,SAAS;CAClH;CACA,SAAS,EAAE,GAAG;EACb,OAAO,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,OAAO,EAAE,SAAS,cAAc,OAAO,EAAE,MAAM,cAAc,OAAO,EAAE,QAAQ,cAAc,OAAO,EAAE,MAAM;CACjK;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,eAAe,cAAc,OAAO,EAAE,aAAa,cAAc,OAAO,EAAE,UAAU;CACtH;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,aAAa,cAAc,OAAO,EAAE,SAAS;CAC/E;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,YAAY,YAAY,OAAO,EAAE,YAAY;CAC/E;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;CAC3B;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,OAAO,EAAE,MAAM,aAAa,MAAM,CAAC,IAAI,OAAO,EAAE,MAAM,aAAa,OAAO,EAAE,MAAM,cAAc,OAAO,EAAE,MAAM;CACnJ;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE,gBAAgB,IAAI,KAAK;EACzD,OAAO,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,KAAK,QAAQ,EAAE;CACjD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAAC;EACpC,IAAI,IAAI,EAAE;EACV,OAAO,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,OAAO,GAAG,SAAS,YAAY,EAAE,QAAQ;CAC/E;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,EAAE,qBAAqB,CAAC,GAAG,OAAO,CAAC;EACvC,IAAI,IAAI,EAAE;EACV,OAAO,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,OAAO,GAAG,YAAY,YAAY,CAAC,EAAE,EAAE,YAAY,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,KAAK;CACzI;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,EAAE,kBAAkB,CAAC,GAAG,OAAO,CAAC;EACpC,IAAI,IAAI,EAAE;EACV,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,OAAO,GAAG,SAAS,YAAY,EAAE,QAAQ;CACxE;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,IAAI,EAAE;EACV,OAAO,KAAK,QAAQ,EAAE,UAAU,CAAC,IAAI,OAAO,GAAG,cAAc,YAAY,CAAC,EAAE,EAAE,cAAc,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,KAAK;CAC7I;CACA,SAAS,EAAE,GAAG;EACb,OAAO,KAAK,EAAE,MAAM,OAAO,EAAE,KAAK,OAAO,GAAG,YAAY,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI;CAC5G;CACA,SAAS,EAAE,GAAG;EACb,OAAO,KAAK,EAAE,MAAM,OAAO,EAAE,KAAK,OAAO,GAAG,YAAY,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC,IAAI;CAC5G;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK;CACzF;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,WAAW,OAAO;CAC3F;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,WAAW,OAAO;CAC3F;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,OAAO,EAAE,UAAU,WAAW,OAAO,EAAE;EAC3C,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;EAChC,OAAO,OAAO,GAAG,UAAU,aAAa,OAAO,GAAG,UAAU,YAAY,GAAG,UAAU,GAAG,SAAS,OAAO,EAAE,WAAW,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU;CACtJ;CACA,SAAS,EAAE,GAAG;EACb,OAAO,OAAO,EAAE,WAAW,aAAa,OAAO,EAAE,qBAAqB,aAAa,OAAO,EAAE,sBAAsB,aAAa,OAAO,EAAE,mBAAmB;CAC5J;CACA,SAAS,EAAE,GAAG;EACb,OAAO,OAAO,EAAE,YAAY,aAAa,EAAE,CAAC;CAC7C;CACA,SAAS,EAAE,GAAG;EACb,OAAO,OAAO,EAAE,cAAc,aAAa,OAAO,EAAE,WAAW,aAAa,EAAE,KAAK,qBAAqB,KAAK;CAC9G;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;EAClB,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE,gBAAgB,IAAI,KAAK;EACzD,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,CAAC;CAC5E;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE;CACjD;CACA,SAAS,EAAE,GAAG;EACb,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,gBAAgB,EAAE,gBAAgB,gBAAgB,EAAE,gBAAgB,WAAW,EAAE,gBAAgB;CACtL;CACA,EAAE,UAAU;EACX,aAAa;EACb,cAAc;EACd,aAAa;EACb,cAAc;EACd,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,kBAAkB;EAClB,0BAA0B;EAC1B,aAAa;EACb,UAAU;EACV,oBAAoB;EACpB,YAAY;EACZ,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,cAAc;EACd,aAAa;EACb,YAAY;EACZ,sBAAsB;EACtB,kBAAkB;EAClB,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;EACf,mBAAmB;CACpB;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,YAAY,GAAG,OAAO,MAAM,GAAE,GAAG,EAAE,sBAAsB,GAAG,4BAA4B,MAAM,GAAG,EAAE,cAAc,GAAG,MAAM,MAAM,GAAE,GAAG,EAAE,qBAAqB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,iBAAiB,MAAM,GAAG,GAAG,EAAE,SAAS,GAAG,sBAAsB,GAAG,eAAe,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,YAAY,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,YAAY,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,cAAc,GAAG,eAAe,GAAG,kBAAkB,MAAM,GAAG,GAAG;CACzlB,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,aAAa,OAAO,EAAE,SAAS;CACzC;CACA,IAAI,UAAU,CAAC;CACf,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,UAAU,WAAW,KAAK,IAAI,GAAG,IAAI,KAAK,KAAK,OAAO,IAAI,IAAI,EAAE,GAAG,SAAS,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,EAAE,QAAQ,gBAAgB,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG,CAAC;EAC5K,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,UAAU;GAChC;GACA;GACA;EACD,GAAG,CAAC;EACJ,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,GAAG,IAAI,EAAE,gBAAgB,IAAI,EAAE,gBAAgB,UAAU;GACzG,EAAE,YAAY,EAAE;EACjB,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU;GAChE,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY,QAAQ,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC;EACrF,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,UAAU;GAC1B,IAAI,CAAC,GAAG,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,YAAY,QAAQ,CAAC,KAAK,MAAM,EAAE,KAAK,CAAC;EACrF,GAAG,MAAM,MAAM;GACd,EAAE,KAAK,GAAG,CAAC;EACZ,GAAG,IAAI,EAAE,CAAC,GAAG,UAAU;GACtB,IAAI,CAAC;GACL,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;GACnB,IAAI,KAAK,OAAO,KAAK,WAAW,OAAO,EAAE,KAAK,GAAG,CAAC;GAClD,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC;GACtF,EAAE,KAAK,CAAC;EACT,GAAG,WAAU;GACZ,IAAI,CAAC;GACL,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;GACnB,IAAI,KAAK,OAAO,KAAK,WAAW,OAAO,EAAE,KAAK,GAAG,CAAC;GAClD,EAAE,KAAK,CAAC;EACT,GAAG,WAAW;GACb,EAAE,IAAI,GAAG,UAAU,CAAC;EACrB;EACA,EAAE,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,WAAW,aAAa,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,gBAAgB,KAAK,QAAQ,EAAE,eAAe,KAAK,EAAE,SAAS,EAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC;EACrgB,IAAI,UAAW;GACd,IAAI,GAAG,EAAE,eAAe,WAAW,CAAC,GAAG,EAAE,eAAe,YAAY,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,eAAe,UAAU,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,UAAU,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,SAAS,EAAE,GAAG,EAAE,eAAe,SAAS,CAAC;EACnW;EACA,IAAI,EAAE,UAAU,CAAC,GAAG;GACnB,IAAI,UAAU;IACb,IAAI,IAAI;IACR,EAAG,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;GAC1D;GACA,IAAI,EAAE,OAAO,SAAS,EAAE,SAAS,CAAC;QAC7B;IACJ,MAAM,GAAE,CAAC,CAAC;IACV,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI;IAC5B,IAAI,GAAG,GAAG,MAAM;KACf,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;IACrB,CAAC;GACF;EACD;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,CAAC,GAAG,IAAI;EAChB,IAAI,EAAE,QAAQ;GACb,IAAI,UAAU;IACb,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC,CAAC;GAC5D,GAAG,EAAE,OAAO,SAAS,EAAE,SAAS,CAAC;QAC5B;IACJ,MAAM,GAAE,CAAC,CAAC;IACV,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,GAAG,IAAI;IAC5B,IAAI,GAAG,GAAG,MAAM;KACf,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC;IACrB,CAAC;GACF;EACD;EACA,IAAI,KAAK,GAAG,MAAM;GACjB,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC,CAAC;EACpC;EACA,OAAO,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,GAAG;CAC/B;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI;EACJ,IAAI,IAAI,CAAC;EACT,OAAO,MAAM,SAAS,IAAI,KAAK,IAAI,MAAM,QAAQ,EAAE,YAAY,EAAE,EAAE,SAAS,SAAS,GAAG,IAAI,EAAE,UAAU,IAAI,GAAG,GAAG,MAAM;GACvH,IAAI,IAAI,EAAE,GAAG,IAAI,MAAM;IACtB,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,EAAE;GACxB,CAAC;EACF,CAAC;CACF;CACA,EAAE,UAAU,GAAG,EAAE,QAAQ,WAAW;AACrC,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,oBAAoB,GAAG,OAAO,EAAE,uBAAuB,KAAK,YAAY,MAAM,GAAE,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,iBAAiB,MAAM,GAAG,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,YAAY;CAC5O,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,MAAM,EAAE,OAAO,KAAK,CAAC,EAAE,YAAY,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE,YAAY,EAAE,UAAU;CACpF;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,IAAI,KAAK,gBAAgB,IAAI,KAAK,gBAAgB,IAAI,KAAK;EAC/D,OAAO,KAAK,QAAQ,EAAE,aAAa,KAAK,QAAQ,EAAE,aAAa,OAAO,KAAK,cAAc,EAAE,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC,IAAI,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,SAAS,GAAG;GAC7N,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;EACnB,CAAC,GAAG;CACL;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,CAAC;EACT,SAAS,EAAE,GAAG;GACb,IAAI,GAAG;GACP,IAAI,CAAC;GACL,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;GAChC,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,IAAI,MAAM,EAAE,SAAS,CAAC,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC;EAClI;EACA,IAAI;GACH,EAAE,SAAS,KAAK,MAAM,CAAC;EACxB,SAAS,GAAG;GACX,EAAE,CAAC;EACJ;CACD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;CACb;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;EAChC,MAAM,EAAE,eAAe,CAAC,IAAI,MAAM,EAAE,eAAe,CAAC,KAAK,KAAK,QAAQ,EAAE,aAAa,KAAK,QAAQ,EAAE,cAAc,EAAE,KAAK,OAAO;CACjI;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;EAChC,KAAK,QAAQ,EAAE,gBAAgB,KAAK,QAAQ,EAAE,iBAAiB,MAAM,EAAE,eAAe,CAAC,IAAI,MAAM,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC;CACzI;CACA,SAAS,IAAI;EACZ,IAAI,IAAI,KAAK,gBAAgB,IAAI,KAAK;EACtC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,eAAe,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC;CAC/b;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;EAChC,IAAI,KAAK,QAAQ,EAAE,aAAa,KAAK,QAAQ,EAAE,WAAW,OAAO;EACjE,KAAK,QAAQ,EAAE,eAAe,KAAK,QAAQ,EAAE,cAAc,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,OAAO,KAAK,CAAC,EAAE,YAAY,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE,YAAY,EAAE,UAAU,IAAI,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;CAClM;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,EAAE,cAAc,YAAY;EACvC,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE;EAChC,MAAM,EAAE,cAAc,CAAC,IAAI,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,IAAI,MAAM,EAAE,SAAS,GAAG,CAAC;CACjH;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,CAAC;EACT,SAAS,EAAE,GAAG;GACb,IAAI,GAAG;IACN,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;IACjB;GACD;GACA,IAAI,CAAC;GACL,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE,gBAAgB,IAAI,KAAK;GACzD,MAAM,EAAE,cAAc,CAAC,IAAI,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC;EACrH;EACA,IAAI;GACH,EAAE,YAAY,MAAM;IACnB,EAAE,SAAS,GAAG,CAAC;GAChB,CAAC;EACF,SAAS,GAAG;GACX,EAAE,SAAS,GAAG,CAAC;EAChB;CACD;CACA,SAAS,EAAE,GAAG;EACb,EAAE,KAAK,CAAC;CACT;CACA,SAAS,EAAE,GAAG;EACb,OAAO,GAAG,aAAa,OAAO,EAAE,SAAS;CAC1C;CACA,SAAS,EAAE,GAAG;EACb,EAAE,KAAK,OAAO;CACf;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,EAAE,KAAK,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC;CACpC;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,MAAM,IAAI,OAAO,EAAE,WAAW,aAAa,EAAE,QAAQ,CAAC,IAAI,OAAO,EAAE,SAAS,aAAa,EAAE,MAAM,IAAI,IAAI,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC;CACpS;CACA,EAAE,UAAU;EACX,WAAW;EACX,WAAW;EACX,SAAS;EACT,WAAW;EACX,gBAAgB;CACjB;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,cAAc,GAAG,sBAAsB,MAAM,EAAE,GAAG,EAAE,cAAc,MAAM,GAAG;CACjF,SAAS,EAAE,GAAG;EACb,EAAE,KAAK,MAAM,CAAC;CACf;CACA,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG;EACvE,IAAI,IAAI;EACR,SAAS,EAAE,GAAG;GACb,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM;EACvD;EACA,EAAE,GAAG,QAAQ,CAAC;EACd,SAAS,IAAI;GACZ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO;EACpC;EACA,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;EACzF,IAAI,IAAI,CAAC;EACT,SAAS,IAAI;GACZ,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI;EACrB;EACA,SAAS,IAAI;GACZ,MAAM,IAAI,CAAC,GAAG,OAAO,EAAE,WAAW,cAAc,EAAE,QAAQ;EAC3D;EACA,SAAS,EAAE,GAAG;GACb,EAAE,GAAG,EAAE,cAAc,MAAM,OAAO,MAAM,KAAK,KAAK,KAAK,SAAS,CAAC;EAClE;EACA,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;EACjC,SAAS,IAAI;GACZ,EAAE,eAAe,QAAQ,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC;EACvQ;EACA,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,QAAQ,CAAC,GAAG;CAC/E;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,OAAO,EAAE,mBAAmB,YAAY,OAAO,EAAE,gBAAgB,GAAG,CAAC;EACzE,CAAC,EAAE,WAAW,CAAC,EAAE,QAAQ,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE;CACvH;CACA,EAAE,UAAU;EACX,QAAQ;EACR,iBAAiB;CAClB;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,eAAe,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,MAAM,GAAE,GAAG,EAAE,cAAc,GAAG,aAAa,GAAG,0BAA0B,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,sBAAsB,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM;EACvM,IAAI,OAAO,KAAK,YAAY,EAAE,aAAa,IAAI,MAAM,IAAI,EAAE,GAAG,eAAe,CAAC;CAC/E;CACA,EAAE,QAAQ,iBAAiB,SAAS,GAAG,GAAG;EACzC,IAAI,EAAE,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,UAAU;GACzD;GACA;GACA;EACD,GAAG,CAAC;EACJ,OAAO,EAAE,QAAQ,yBAAyB,GAAG,CAAC;CAC/C,GAAG,EAAE,QAAQ,2BAA2B,SAAS,GAAG,GAAG;EACtD,IAAI,OAAO,KAAK,YAAY,EAAE,aAAa,IAAI,OAAO;EACtD,IAAI,IAAI,EAAE,CAAC,UAAU;GACpB,EAAE,QAAQ,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;EAC7C,UAAU;GACT,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;EACxC;EACA,OAAO,EAAE,UAAU,EAAE,KAAK,MAAM,GAAE,CAAC,CAAC,kBAAkB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI;CAC1E;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,YAAY,MAAM,EAAE,GAAG,EAAE,QAAQ,MAAM,GAAE,GAAG,EAAE,SAAS,MAAM,GAAE;CAC5I,EAAE,UAAU,MAAM;EACjB,cAAc;GACb,KAAK,OAAO,MAAM,KAAK,OAAO,MAAM,KAAK,SAAS;EACnD;EACA,KAAK,GAAG;GACP,IAAI,IAAI;IACP,MAAM;IACN,MAAM;GACP;GACA,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,OAAO,GAAG,KAAK,OAAO,GAAG,EAAE,KAAK;EAC7E;EACA,QAAQ,GAAG;GACV,IAAI,IAAI;IACP,MAAM;IACN,MAAM,KAAK;GACZ;GACA,KAAK,WAAW,MAAM,KAAK,OAAO,IAAI,KAAK,OAAO,GAAG,EAAE,KAAK;EAC7D;EACA,QAAQ;GACP,IAAI,KAAK,WAAW,GAAG;GACvB,IAAI,IAAI,KAAK,KAAK;GAClB,OAAO,KAAK,OAAO,KAAK,WAAW,IAAI,KAAK,OAAO,OAAO,KAAK,KAAK,MAAM,EAAE,KAAK,QAAQ;EAC1F;EACA,QAAQ;GACP,KAAK,OAAO,KAAK,OAAO,MAAM,KAAK,SAAS;EAC7C;EACA,KAAK,GAAG;GACP,IAAI,KAAK,WAAW,GAAG,OAAO;GAC9B,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,EAAE;GAC9B,QAAQ,IAAI,EAAE,UAAU,OAAO,KAAK,IAAI,EAAE;GAC1C,OAAO;EACR;EACA,OAAO,GAAG;GACT,IAAI,KAAK,WAAW,GAAG,OAAO,EAAE,MAAM,CAAC;GACvC,IAAI,IAAI,EAAE,YAAY,MAAM,CAAC,GAAG,IAAI,KAAK,MAAM,IAAI;GACnD,OAAO,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,KAAK,EAAE,KAAK,QAAQ,IAAI,EAAE;GACtD,OAAO;EACR;EACA,QAAQ,GAAG,GAAG;GACb,IAAI,IAAI,KAAK,KAAK;GAClB,IAAI,IAAI,EAAE,QAAQ;IACjB,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC;IACpB,OAAO,KAAK,KAAK,OAAO,EAAE,MAAM,CAAC,GAAG;GACrC;GACA,OAAO,MAAM,EAAE,SAAS,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC;EAClF;EACA,QAAQ;GACP,OAAO,KAAK,KAAK;EAClB;EACA,EAAE,KAAK;GACN,KAAK,IAAI,IAAI,KAAK,MAAM,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE;EAChD;EACA,WAAW,GAAG;GACb,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,IAAI;GAC/B,GAAG;IACF,IAAI,IAAI,EAAE;IACV,IAAI,IAAI,EAAE,QAAQ,KAAK,GAAG,KAAK,EAAE;SAC5B;KACJ,MAAM,EAAE,UAAU,KAAK,GAAG,EAAE,GAAG,KAAK,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,SAAS,KAAK,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,OAAO,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC;KACjI;IACD;IACA,EAAE;GACH,UAAU,IAAI,EAAE,UAAU;GAC1B,OAAO,KAAK,UAAU,GAAG;EAC1B;EACA,WAAW,GAAG;GACb,IAAI,IAAI,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI,KAAK,MAAM,IAAI;GACpD,GAAG;IACF,IAAI,IAAI,EAAE;IACV,IAAI,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,EAAE;SACpC;KACJ,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC;KAC1K;IACD;IACA,EAAE;GACH,UAAU,IAAI,EAAE,UAAU;GAC1B,OAAO,KAAK,UAAU,GAAG;EAC1B;EACA,CAAC,OAAO,IAAI,4BAA4B,GAAG,GAAG,GAAG;GAChD,OAAO,EAAE,MAAM;IACd,GAAG;IACH,OAAO;IACP,eAAe,CAAC;GACjB,CAAC;EACF;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,WAAW,GAAG,iBAAiB,MAAM,EAAE,GAAG,EAAE,iBAAiB,MAAM,GAAG,GAAG,EAAE,uBAAuB,MAAM,GAAE,CAAC,CAAC,OAAO,IAAI,OAAO,IAAI;CACxI,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,EAAE,iBAAiB,OAAO,IAAI,EAAE,KAAK,OAAO,EAAE;CACtD;CACA,SAAS,EAAE,GAAG;EACb,OAAO,IAAI,IAAI;CAChB;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,IAAI;CACnC;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI,IAAI,EAAE,GAAG,GAAG,CAAC;EACjB,IAAI,KAAK,MAAM;GACd,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,EAAE,IAAI,WAAW,MAAM,yBAAyB,CAAC;GAC/E,OAAO,EAAE,CAAC;EACX;EACA,OAAO,EAAE,EAAE,UAAU;CACtB;CACA,EAAE,UAAU;EACX,kBAAkB;EAClB,yBAAyB;EACzB,yBAAyB;CAC1B;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAE,GAAG,IAAI,EAAE;CACnB,SAAS,EAAE,GAAG,GAAG;EAChB,KAAK,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE;CAC3B;CACA,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,SAAS;CAC/F,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB;CACA,EAAE,YAAY,OAAO,OAAO,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,SAAS,GAAG,GAAG,GAAG;EAC7E,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,+BAA+B;EACzE,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB,GAAG,EAAE,QAAQ,SAAS,GAAG,GAAG,GAAG;EAC9B,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,2BAA2B;EACrE,IAAI,IAAI,EAAE,CAAC;EACX,OAAO,MAAM,KAAK,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,KAAK,WAAW,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;CACpF,GAAG,EAAE,cAAc,SAAS,GAAG;EAC9B,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,2BAA2B;EACrE,OAAO,EAAE,CAAC;CACX,GAAG,EAAE,kBAAkB,SAAS,GAAG;EAClC,IAAI,OAAO,KAAK,UAAU,MAAM,UAAU,2BAA2B;EACrE,OAAO,EAAE,WAAW,CAAC;CACtB;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,cAAc,SAAS,GAAG;EACpD,QAAQ,IAAI,KAAK,GAAG,KAAK,EAAE,YAAY,GAAvC;GACC,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,OAAO,OAAO,CAAC;GACpB,SAAS,OAAO,CAAC;EAClB;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,CAAC,GAAG,OAAO;EACf,KAAK,IAAI,KAAK,QAAQ,GAAR;GACb,KAAK;GACL,KAAK,SAAS,OAAO;GACrB,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK,YAAY,OAAO;GACxB,KAAK;GACL,KAAK,UAAU,OAAO;GACtB,KAAK;GACL,KAAK;GACL,KAAK,OAAO,OAAO;GACnB;IACC,IAAI,GAAG;IACP,KAAK,KAAK,EAAA,CAAG,YAAY,GAAG,IAAI,CAAC;EACnC;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,CAAC;EACX,IAAI,OAAO,KAAK,aAAa,EAAE,eAAe,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,MAAM,uBAAuB,CAAC;EAC/F,OAAO,KAAK;CACb;CACA,EAAE,gBAAgB;CAClB,SAAS,EAAE,GAAG;EACb,KAAK,WAAW,EAAE,CAAC;EACnB,IAAI;EACJ,QAAQ,KAAK,UAAb;GACC,KAAK;IACJ,KAAK,OAAO,GAAG,KAAK,MAAM,GAAG,IAAI;IACjC;GACD,KAAK;IACJ,KAAK,WAAW,GAAG,IAAI;IACvB;GACD,KAAK;IACJ,KAAK,OAAO,GAAG,KAAK,MAAM,GAAG,IAAI;IACjC;GACD;IACC,KAAK,QAAQ,GAAG,KAAK,MAAM;IAC3B;EACF;EACA,KAAK,WAAW,GAAG,KAAK,YAAY,GAAG,KAAK,WAAW,EAAE,YAAY,CAAC;CACvE;CACA,EAAE,UAAU,QAAQ,SAAS,GAAG;EAC/B,IAAI,EAAE,WAAW,GAAG,OAAO;EAC3B,IAAI,GAAG;EACP,IAAI,KAAK,UAAU;GAClB,IAAI,IAAI,KAAK,SAAS,CAAC,GAAG,MAAM,KAAK,GAAG,OAAO;GAC/C,IAAI,KAAK,UAAU,KAAK,WAAW;EACpC,OAAO,IAAI;EACX,OAAO,IAAI,EAAE,SAAS,IAAI,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,IAAI,KAAK;CACxE,GAAG,EAAE,UAAU,MAAM,GAAG,EAAE,UAAU,OAAO,GAAG,EAAE,UAAU,WAAW,SAAS,GAAG;EAChF,IAAI,KAAK,YAAY,EAAE,QAAQ,OAAO,EAAE,KAAK,KAAK,UAAU,KAAK,YAAY,KAAK,UAAU,GAAG,KAAK,QAAQ,GAAG,KAAK,SAAS,SAAS,KAAK,UAAU,GAAG,KAAK,SAAS;EACtK,EAAE,KAAK,KAAK,UAAU,KAAK,YAAY,KAAK,UAAU,GAAG,EAAE,MAAM,GAAG,KAAK,YAAY,EAAE;CACxF;CACA,SAAS,EAAE,GAAG;EACb,OAAO,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK;CAClG;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,EAAE,SAAS;EACnB,IAAI,IAAI,GAAG,OAAO;EAClB,IAAI,IAAI,EAAE,EAAE,EAAE;EACd,OAAO,KAAK,KAAK,IAAI,MAAM,EAAE,WAAW,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,IAAI,MAAM,EAAE,WAAW,IAAI,IAAI,KAAK,EAAE,IAAI,KAAK,MAAM,KAAK,KAAK,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,EAAE,WAAW,IAAI,IAAI,KAAK;CACpP;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,KAAK,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,WAAW,GAAG;EAChD,IAAI,EAAE,WAAW,KAAK,EAAE,SAAS,GAAG;GACnC,KAAK,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,WAAW,GAAG;GAChD,IAAI,EAAE,WAAW,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,QAAQ,KAAK,OAAO,EAAE,WAAW,GAAG;EACnF;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,KAAK,YAAY,KAAK,UAAU,IAAI,EAAE,MAAM,GAAG,CAAC;EACxD,IAAI,MAAM,KAAK,GAAG,OAAO;EACzB,IAAI,KAAK,YAAY,EAAE,QAAQ,OAAO,EAAE,KAAK,KAAK,UAAU,GAAG,GAAG,KAAK,QAAQ,GAAG,KAAK,SAAS,SAAS,KAAK,UAAU,GAAG,KAAK,SAAS;EACzI,EAAE,KAAK,KAAK,UAAU,GAAG,GAAG,EAAE,MAAM,GAAG,KAAK,YAAY,EAAE;CAC3D;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC;EACpB,IAAI,CAAC,KAAK,UAAU,OAAO,EAAE,SAAS,QAAQ,CAAC;EAC/C,KAAK,YAAY;EACjB,IAAI,IAAI,EAAE,UAAU,IAAI,KAAK;EAC7B,OAAO,EAAE,KAAK,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,SAAS,QAAQ,GAAG,CAAC;CAC5D;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,IAAI;EACxC,OAAO,KAAK,WAAW,IAAI,MAAM;CAClC;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,KAAK,EAAE,SAAS,KAAK,KAAK,GAAG;GAC5B,IAAI,IAAI,EAAE,SAAS,WAAW,CAAC;GAC/B,IAAI,GAAG;IACN,IAAI,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC;IACjC,IAAI,KAAK,SAAS,KAAK,OAAO,OAAO,KAAK,WAAW,GAAG,KAAK,YAAY,GAAG,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,IAAI,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,IAAI,EAAE,MAAM,GAAG,EAAE;GAClK;GACA,OAAO;EACR;EACA,OAAO,KAAK,WAAW,GAAG,KAAK,YAAY,GAAG,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,IAAI,EAAE,SAAS,WAAW,GAAG,EAAE,SAAS,CAAC;CACxH;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,IAAI;EACxC,IAAI,KAAK,UAAU;GAClB,IAAI,IAAI,KAAK,YAAY,KAAK;GAC9B,OAAO,IAAI,KAAK,SAAS,SAAS,WAAW,GAAG,CAAC;EAClD;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,KAAK,EAAE,SAAS,KAAK;EACzB,OAAO,MAAM,IAAI,EAAE,SAAS,UAAU,CAAC,KAAK,KAAK,WAAW,IAAI,GAAG,KAAK,YAAY,GAAG,MAAM,IAAI,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,MAAM,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,IAAI,KAAK,SAAS,KAAK,EAAE,EAAE,SAAS,KAAK,EAAE,SAAS,UAAU,GAAG,EAAE,SAAS,CAAC;CACrP;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,IAAI;EACxC,OAAO,KAAK,WAAW,IAAI,KAAK,SAAS,SAAS,UAAU,GAAG,IAAI,KAAK,QAAQ,IAAI;CACrF;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,SAAS,KAAK,QAAQ;CAChC;CACA,SAAS,EAAE,GAAG;EACb,OAAO,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,IAAI;CACxC;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,sBAAsB,GAAG,qBAAqB,GAAG,gBAAgB,MAAM,EAAE,GAAG,EAAE,QAAQ,MAAM,GAAE,GAAG,EAAE,sBAAsB,GAAG,wBAAwB,MAAM,GAAE,CAAC,CAAC;CAC9K,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI;EACJ,IAAI,OAAO,KAAK,YAAY,aAAa,GAAG,OAAO,IAAI,EAAE;GACxD,YAAY,CAAC;GACb,GAAG;GACH,OAAO;IACN,KAAK,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI;GAC7B;EACD,CAAC;EACD,IAAI;EACJ,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;OAC3B,IAAI,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC;OAChC,MAAM,IAAI,EAAE,YAAY,CAAC,UAAU,GAAG,CAAC;EAC5C,IAAI,IAAI,IAAI,EAAE;GACb,YAAY,CAAC;GACb,eAAe;GACf,GAAG;EACJ,CAAC,GAAG,IAAI,CAAC;EACT,EAAE,QAAQ,WAAW;GACpB,MAAM,IAAI,CAAC,GAAG,EAAE;EACjB,GAAG,EAAE,WAAW,SAAS,GAAG,GAAG;GAC9B,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,CAAC,IAAI,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;EAC7D;EACA,eAAe,EAAE,GAAG;GACnB,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,SAAS;GACzC,IAAI,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,GAAG,MAAM,MAAM,MAAM,EAAE,MAAM,CAAC;IAC3C,IAAI,MAAM,GAAG,GAAG;GACjB;GACA,IAAI,OAAO,EAAE,UAAU,YAAY;IAClC,IAAI,EAAE,OAAO,MAAM,MAAM,EAAE,OAAO;IAClC,MAAM;GACP;EACD;EACA,eAAe,IAAI;GAClB,SAAS;IACR,IAAI;KACH,IAAI,EAAE,OAAO,GAAG,MAAM,MAAM,IAAI,MAAM,EAAE,KAAK,IAAI,EAAE,KAAK;KACxD,IAAI,GAAG,EAAE,KAAK,IAAI;UACb;MACJ,IAAI,IAAI,KAAK,OAAO,EAAE,QAAQ,aAAa,MAAM,IAAI;MACrD,IAAI,MAAM,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,EAAE;MACpC,IAAI,EAAE,KAAK,CAAC,GAAG;MACf,IAAI,CAAC;KACN;IACD,SAAS,GAAG;KACX,EAAE,QAAQ,CAAC;IACZ;IACA;GACD;EACD;EACA,OAAO;CACR;CACA,EAAE,UAAU;AACb,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,uBAAuB,GAAG,iBAAiB,GAAG,aAAa,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,YAAY,GAAG,sBAAsB,GAAG,SAAS,GAAG,SAAS,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,QAAQ,MAAM,EAAE;CAC3P,EAAE,UAAU,GAAG,EAAE,gBAAgB;CACjC,IAAI,EAAE,cAAc,MAAM,GAAG,GAAG,EAAE,QAAQ,GAAG,iBAAiB,MAAM,GAAG,GAAG,EAAE,QAAQ,MAAM,GAAE,GAAG,EAAE,gBAAgB,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAE,CAAC,CAAC,SAAS,WAAW,MAAM;EACxK,IAAI;CACL,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,kBAAkB,GAAG,yBAAyB,MAAM,GAAG,GAAG,EAAE,oBAAoB,GAAG,OAAO,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,kBAAkB,GAAG,2BAA2B,GAAG,oCAAoC,KAAK,YAAY,MAAM,GAAE,GAAG,EAAE,gBAAgB,MAAM,GAAG,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,eAAe,MAAM,GAAG,GAAG,IAAI,GAAG;CACrX,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC;CACnC,IAAI,UAAU,CAAC,GAAG,EAAE,gBAAgB,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAI,IAAI,KAAK,IAAI,IAAK,IAAI,KAAI,KAAK,KAAI,KAAK,IAAK,KAAK,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,KAAK,IAAI,KAAK,KAAK;CACtO,SAAS,EAAE,GAAG;EACb,OAAO;GACN,YAAY,CAAC;GACb,MAAM;IACL,QAAQ,KAAK,QAAQ,OAAO;GAC7B;GACA,IAAI,GAAG;IACN,IAAI,KAAK,SAAS,IAAI,KAAK,SAAS,CAAC;GACtC;EACD;CACD;CACA,EAAE,GAAE,WAAW;EACd,YAAY,EAAE,CAAC;EACf,OAAO,EAAE,EAAE;EACX,YAAY,EAAE,CAAC;EACf,SAAS,EAAE,CAAC;EACZ,aAAa,EAAE,EAAC;EAChB,MAAM,EAAE,EAAE;EACV,cAAc,EAAE,CAAE;EAClB,iBAAiB,EAAE,EAAC;EACpB,mBAAmB,EAAE,EAAC;EACtB,iBAAiB,EAAE,CAAE;EACrB,cAAc,EAAE,CAAC;EACjB,WAAW,EAAE,CAAC;EACd,aAAa,EAAE,EAAE;EACjB,WAAW,EAAE,EAAE;EACf,QAAQ,EAAE,EAAE;EACZ,cAAc,EAAE,EAAE;EAClB,iBAAiB,EAAE,EAAE;EACrB,aAAa,EAAE,EAAE;EACjB,aAAa,EAAE,EAAE;CAClB,CAAC;CACD,SAAS,GAAE,GAAG,GAAG,GAAG;EACnB,OAAO,KAAK,cAAc,IAAI,aAAa,GAAG,IAAI,KAAK,QAAQ,MAAM,KAAK,EAAE,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,uBAAuB,KAAK,SAAS,IAAI,KAAK,gBAAgB,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC,GAAG,KAAK,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,EAAE,cAAc,CAAC,MAAM,KAAK,SAAS,QAAQ,KAAK,EAAE,gBAAgB,CAAC,MAAM,KAAK,SAAS,QAAQ,KAAK,UAAU,MAAM,KAAK,kBAAkB,KAAK,EAAE,mBAAmB,QAAQ,KAAK,oBAAoB,MAAM,KAAK,UAAU,MAAM,KAAK,WAAW,MAAM,KAAK,EAAE,aAAa,KAAK,UAAU,IAAI,EAAE,EAAE,QAAQ,GAAG,KAAK,WAAW,EAAE;CAChpB;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,gBAAgB,IAAI,OAAO,IAAI,EAAE,CAAC;EACxC,IAAI,IAAI,gBAAgB,GAAG;EAC3B,KAAK,iBAAiB,IAAI,GAAE,GAAG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,QAAQ,eAAe,KAAK,QAAQ,EAAE,OAAO,OAAO,EAAE,WAAW,eAAe,KAAK,WAAW,EAAE,UAAU,OAAO,EAAE,aAAa,eAAe,KAAK,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,YAAY;GACvT,KAAK,eAAe,gBAAgB,GAAG,MAAM,KAAK,cAAc;EACjE,CAAC;CACF;CACA,EAAE,UAAU,UAAU,EAAE,SAAS,EAAE,UAAU,aAAa,EAAE,WAAW,EAAE,UAAU,WAAW,SAAS,GAAG,GAAG;EAC5G,EAAE,CAAC;CACJ,GAAG,EAAE,UAAU,EAAE,0BAA0B,SAAS,GAAG;EACtD,KAAK,QAAQ,CAAC;CACf,GAAG,EAAE,UAAU,KAAK,WAAW;EAC9B,IAAI;EACJ,OAAO,KAAK,cAAc,IAAI,KAAK,gBAAgB,OAAO,IAAI,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,IAAI,GAAG,GAAG,MAAM,EAAE,OAAO,MAAM,KAAK,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;CACnJ,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG;EACpC,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;CACzB,GAAG,EAAE,UAAU,UAAU,SAAS,GAAG,GAAG;EACvC,OAAO,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;CACzB;CACA,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;EACvB,EAAE,oBAAoB,CAAC;EACvB,IAAI,IAAI,EAAE,gBAAgB;EAC1B,KAAK,EAAE,QAAQ,OAAO,MAAM,OAAO,KAAK,YAAY,MAAM,EAAE,iBAAiB,EAAE,aAAa,MAAM,KAAK,EAAE,WAAW,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,KAAK,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,QAAQ,aAAa,IAAI,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,EAAE,SAAS;GACnT;GACA;GACA;EACD,GAAG,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC;OACb,IAAI,MAAM,MAAM,EAAE,SAAS,IAAI,GAAG,GAAG,CAAC;OACtC,KAAK,EAAE,QAAQ,OAAO,KAAK,KAAK,EAAE,SAAS,GAAG;GAClD,IAAI,GAAG;IACN,KAAK,EAAE,QAAQ,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;SAChC,IAAI,EAAE,aAAa,EAAE,SAAS,OAAO,CAAC;SACtC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;GACpB,OAAO,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3B,IAAI,EAAE,aAAa,EAAE,SAAS,OAAO,CAAC;QACtC,EAAE,SAAS,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,EAAE,QAAQ,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;EAC7I,OAAO,MAAM,EAAE,SAAS,IAAI,GAAG,GAAG,CAAC;EACnC,OAAO,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW;CAChE;CACA,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;EACvB,EAAE,WAAW,EAAE,WAAW,KAAK,CAAC,EAAE,QAAQ,EAAE,cAAc,MAAM,IAAI,MAAM,EAAE,QAAQ,QAAQ,IAAI,EAAE,oBAAoB,OAAO,EAAE,kBAAkB,MAAM,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,IAAI,EAAE,QAAQ,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,IAAI,EAAE,QAAQ,OAAQ,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;CACjU;CACA,EAAE,UAAU,WAAW,WAAW;EACjC,IAAI,IAAI,KAAK;EACb,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;CACtC,GAAG,EAAE,UAAU,cAAc,SAAS,GAAG;EACxC,IAAI,IAAI,IAAI,EAAE,CAAC;EACf,KAAK,eAAe,UAAU,GAAG,KAAK,eAAe,WAAW,KAAK,eAAe,QAAQ;EAC5F,IAAI,IAAI,KAAK,eAAe,QAAQ,IAAI;EACxC,KAAK,IAAI,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC;EAC/B,OAAO,EAAE,MAAM,GAAG,MAAM,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,eAAe,SAAS,EAAE,QAAQ;CACjF;CACA,IAAI,KAAK;CACT,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,QAAQ,WAAW,CAAC;EAC5C,OAAO,KAAK,KAAK,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,MAAM,IAAI,KAAK;CACzF;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,OAAO,KAAK,KAAK,EAAE,WAAW,KAAK,EAAE,QAAQ,KAAK,EAAE,QAAQ,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,MAAM,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,EAAE,SAAS,IAAI,EAAE,QAAQ,EAAE,SAAS,IAAI;CACzL;CACA,EAAE,UAAU,OAAO,SAAS,GAAG;EAC9B,EAAE,QAAQ,CAAC,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,GAAG,EAAE;EAC3D,IAAI,IAAI,KAAK,gBAAgB,IAAI;EACjC,IAAI,IAAI,EAAE,kBAAkB,EAAE,gBAAgB,GAAG,CAAC,IAAI,MAAM,MAAM,EAAE,SAAS,OAAO,MAAM,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,IAAI,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,QAAQ,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,WAAW,KAAK,EAAE,QAAQ,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG;EACxS,IAAI,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,KAAK,EAAE,OAAO,OAAO,EAAE,WAAW,KAAK,GAAG,IAAI,GAAG;EACzE,IAAI,KAAK,EAAE,QAAQ,OAAQ;EAC3B,IAAI,EAAE,iBAAiB,CAAC,IAAI,EAAE,WAAW,KAAK,EAAE,SAAS,IAAI,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,8BAA8B,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,kCAAkC,CAAC;OAC3O,IAAI,GAAG;GACX,EAAE,SAAS,GAAG,EAAE,SAAS,IAAI,EAAE,WAAW,MAAM,EAAE,SAAS;GAC3D,IAAI;IACH,KAAK,MAAM,EAAE,aAAa;GAC3B,SAAS,GAAG;IACX,EAAE,MAAM,CAAC;GACV;GACA,EAAE,SAAS,KAAK,EAAE,YAAY,IAAI,GAAG,GAAG,CAAC;EAC1C;EACA,IAAI;EACJ,OAAO,IAAI,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,MAAM,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,IAAI,MAAM,EAAE,UAAU,GAAG,EAAE,kBAAkB,EAAE,kBAAkB,MAAM,IAAI,EAAE,oBAAoB,OAAO,EAAE,WAAW,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,IAAI,MAAM,KAAK,EAAE,SAAS,GAAG,IAAI,IAAI,MAAM,QAAQ,CAAC,EAAE,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,cAAc,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,IAAI;CAC/X;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,EAAE,YAAY,GAAG,CAAC,EAAE,OAAO;GAC9B,IAAI,EAAE,SAAS;IACd,IAAI,IAAI,EAAE,QAAQ,IAAI;IACtB,KAAK,EAAE,WAAW,EAAE,OAAO,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,IAAI,EAAE;GACtE;GACA,EAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,GAAG,CAAC;EAClF;CACD;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE;EACV,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,OAAO,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC;CACxK;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE;EACV,EAAE,iBAAiB,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,GAAG,EAAE,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,GAAG,CAAC;CACtO;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,CAAC,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,CAAC;CAC5E;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,KAAK;GAC9F,IAAI,IAAI,EAAE;GACV,IAAI,EAAE,sBAAsB,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ;EAC3D;EACA,EAAE,cAAc,CAAC;CAClB;CACA,EAAE,UAAU,QAAQ,SAAS,GAAG;EAC/B,MAAM,IAAI,EAAE,SAAS;CACtB,GAAG,EAAE,UAAU,OAAO,SAAS,GAAG,GAAG;EACpC,IAAI,IAAI,MAAM,IAAI,KAAK;EACvB,EAAE,MAAM,WAAW,MAAM,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,GAAG,EAAE,oBAAoB,IAAI,EAAE,EAAE,oBAAoB,CAAC,EAAE,iBAAiB,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;EACrN,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,MAAM,EAAE,UAAU,MAAM,EAAE,SAAS,IAAI;EACvE,EAAE,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;EACjE,SAAS,EAAE,GAAG,GAAG;GAChB,EAAE,UAAU,GAAG,MAAM,KAAK,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE;EAC7E;EACA,SAAS,IAAI;GACZ,EAAE,OAAO,GAAG,EAAE,IAAI;EACnB;EACA,IAAI,GAAG,IAAI,CAAC;EACZ,SAAS,IAAI;GACZ,EAAE,SAAS,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,UAAU,CAAC,GAAG,KAAK,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,eAAe,UAAU,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,OAAO,CAAC,GAAG,EAAE,eAAe,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,EAAE,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,eAAe,cAAc,EAAE;EAC5V;EACA,SAAS,IAAI;GACZ,MAAM,EAAE,MAAM,WAAW,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,+BAA+B,CAAC,GAAG,EAAE,oBAAoB,GAAG,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,SAAS,KAAK,EAAE,MAAM,SAAS,CAAC,MAAM,EAAE,+BAA+B,EAAE,kBAAkB,IAAI,GAAG,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;EACjU;EACA,EAAE,GAAG,QAAQ,CAAC;EACd,SAAS,EAAE,GAAG;GACb,EAAE,QAAQ;GACV,IAAI,IAAI,EAAE,MAAM,CAAC;GACjB,EAAE,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE;EACnC;EACA,SAAS,EAAE,GAAG;GACb,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE,cAAc,OAAO,MAAM,GAAG;IACvF,IAAI,IAAI,EAAE,kBAAkB,EAAE;IAC9B,KAAK,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC;GACnD;EACD;EACA,EAAE,GAAG,SAAS,CAAC;EACf,SAAS,IAAI;GACZ,EAAE,eAAe,UAAU,CAAC,GAAG,EAAE;EAClC;EACA,EAAE,KAAK,SAAS,CAAC;EACjB,SAAS,IAAI;GACZ,EAAE,UAAU,GAAG,EAAE,eAAe,SAAS,CAAC,GAAG,EAAE;EAChD;EACA,EAAE,KAAK,UAAU,CAAC;EAClB,SAAS,IAAI;GACZ,EAAE,QAAQ,GAAG,EAAE,OAAO,CAAC;EACxB;EACA,OAAO,EAAE,KAAK,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,GAAG,EAAE,OAAO,IAAI;CAC3G;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,OAAO,WAAW;GACjB,IAAI,IAAI,EAAE;GACV,EAAE,sBAAsB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,oBAAoB,QAAQ,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,IAAI,GAAG,EAAE,kBAAkB,OAAO,CAAC,KAAK,CAAC,EAAE,qBAAqB,EAAE,kBAAkB,SAAS,MAAM,EAAE,cAAc,MAAM,KAAK,EAAE,OAAO;EACnR;CACD;CACA,EAAE,UAAU,SAAS,SAAS,GAAG;EAChC,IAAI,IAAI,KAAK,gBAAgB,IAAI,EAAE,YAAY,CAAC,EAAE;EAClD,IAAI,EAAE,MAAM,WAAW,GAAG,OAAO;EACjC,IAAI,CAAC,GAAG;GACP,IAAI,IAAI,EAAE;GACV,EAAE,QAAQ,CAAC,GAAG,KAAK,MAAM;GACzB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,KAAK,UAAU,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC;GAC/E,OAAO;EACR;EACA,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC;EACpB,OAAO,MAAM,KAAK,QAAQ,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,WAAW,KAAK,KAAK,MAAM,GAAG,EAAE,KAAK,UAAU,MAAM,CAAC,GAAG;CAClH,GAAG,EAAE,UAAU,KAAK,SAAS,GAAG,GAAG;EAClC,IAAI,IAAI,EAAE,UAAU,GAAG,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,KAAK;EAClD,OAAO,MAAM,UAAU,EAAE,oBAAoB,KAAK,cAAc,UAAU,IAAI,GAAG,EAAE,YAAY,CAAC,KAAK,KAAK,OAAO,KAAK,MAAM,cAAc,CAAC,EAAE,cAAc,CAAC,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,SAAS,GAAG,IAAI,IAAI,EAAE,WAAW,EAAE,SAAS,IAAI,IAAI,IAAI;CACzW,GAAG,EAAE,UAAU,cAAc,EAAE,UAAU,IAAI,EAAE,UAAU,iBAAiB,SAAS,GAAG,GAAG;EACxF,IAAI,IAAI,EAAE,UAAU,eAAe,KAAK,MAAM,GAAG,CAAC;EAClD,OAAO,MAAM,cAAc,EAAE,SAAS,IAAI,IAAI,GAAG;CAClD,GAAG,EAAE,UAAU,MAAM,EAAE,UAAU,gBAAgB,EAAE,UAAU,qBAAqB,SAAS,GAAG;EAC7F,IAAI,IAAI,EAAE,UAAU,mBAAmB,MAAM,MAAM,SAAS;EAC5D,QAAQ,MAAM,cAAc,MAAM,KAAK,MAAM,EAAE,SAAS,IAAI,IAAI,GAAG;CACpE;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE;EACV,EAAE,oBAAoB,EAAE,cAAc,UAAU,IAAI,GAAG,EAAE,mBAAmB,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,MAAM,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE,sBAAsB,EAAE,UAAU;CAC3L;CACA,SAAS,GAAG,GAAG;EACd,EAAE,0BAA0B,GAAG,EAAE,KAAK,CAAC;CACxC;CACA,EAAE,UAAU,SAAS,WAAW;EAC/B,IAAI,IAAI,KAAK;EACb,OAAO,EAAE,YAAY,EAAE,QAAQ,GAAG,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;CAC9F;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,CAAC;CAClE;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,EAAE,UAAU,EAAE,OAAO,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,EAAE,KAAK,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC;CACrI;CACA,EAAE,UAAU,QAAQ,WAAW;EAC9B,OAAO,EAAE,yBAAyB,KAAK,eAAe,OAAO,GAAG,KAAK,eAAe,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,eAAe,UAAU,CAAC,GAAG,KAAK,KAAK,OAAO,IAAI,KAAK,eAAe,KAAK,CAAC,GAAG;CACxM;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE;EACV,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,EAAE,WAAW,EAAE,KAAK,MAAM;CACtD;CACA,EAAE,UAAU,OAAO,SAAS,GAAG;EAC9B,IAAI,IAAI,CAAC;EACT,EAAE,GAAG,SAAS,MAAM;GACnB,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,MAAM;EAC9C,CAAC,GAAG,EAAE,GAAG,aAAa;GACrB,KAAK,KAAK,IAAI;EACf,CAAC,GAAG,EAAE,GAAG,UAAU,MAAM;GACxB,EAAE,MAAM,CAAC;EACV,CAAC,GAAG,EAAE,GAAG,eAAe;GACvB,KAAK,QAAQ;EACd,CAAC,GAAG,EAAE,GAAG,iBAAiB;GACzB,KAAK,QAAQ;EACd,CAAC,GAAG,KAAK,cAAc;GACtB,KAAK,EAAE,WAAW,IAAI,CAAC,GAAG,EAAE,OAAO;EACpC;EACA,IAAI,IAAI,EAAE,CAAC;EACX,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;GAClC,IAAI,IAAI,EAAE;GACV,KAAK,OAAO,KAAK,KAAK,OAAO,EAAE,MAAM,eAAe,KAAK,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;EAC1E;EACA,OAAO;CACR,GAAG,EAAE,UAAU,KAAK,WAAW;EAC9B,OAAO,GAAG,IAAI;CACf,GAAG,EAAE,UAAU,WAAW,SAAS,GAAG;EACrC,OAAO,MAAM,KAAK,KAAK,EAAE,GAAG,SAAS,GAAG,GAAG,MAAM,CAAC;CACnD;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,OAAO,EAAE,QAAQ,eAAe,IAAI,EAAE,KAAK,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;EAChE,IAAI,IAAI,GAAG,GAAG,CAAC;EACf,OAAO,EAAE,SAAS,GAAG;CACtB;CACA,gBAAgB,GAAG,GAAG,GAAG;EACxB,IAAI,IAAI;EACR,SAAS,EAAE,GAAG;GACb,SAAS,KAAK,EAAE,GAAG,IAAI,KAAK,IAAI;EACjC;EACA,EAAE,GAAG,YAAY,CAAC;EAClB,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,IAAI,MAAM;GACxC,IAAI,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,GAAG,IAAI;EAClC,CAAC;EACD,IAAI;GACH,SAAS;IACR,IAAI,IAAI,EAAE,YAAY,OAAO,EAAE,KAAK;IACpC,IAAI,MAAM,MAAM,MAAM;SACjB,IAAI,GAAG,MAAM;SACb,IAAI,MAAM,MAAM;SAChB,MAAM,IAAI,EAAE,CAAC;GACnB;EACD,SAAS,GAAG;GACX,MAAM,IAAI,EAAE,GAAG,CAAC,GAAG;EACpB,UAAU;GACT,CAAC,KAAK,GAAG,oBAAoB,CAAC,OAAO,MAAM,KAAK,KAAK,EAAE,eAAe,eAAe,EAAE,UAAU,GAAG,IAAI,KAAK,EAAE,IAAI,YAAY,CAAC,GAAG,EAAE;EACtI;CACD;CACA,EAAE,EAAE,WAAW;EACd,UAAU;GACT,WAAW;GACX,MAAM;IACL,IAAI,IAAI,KAAK;IACb,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,EAAE,gBAAgB,CAAC,EAAE;GAC1E;GACA,IAAI,GAAG;IACN,KAAK,mBAAmB,KAAK,eAAe,WAAW,CAAC,CAAC;GAC1D;EACD;EACA,iBAAiB;GAChB,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,KAAK,eAAe;GAC5B;EACD;EACA,iBAAiB;GAChB,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,CAAC,EAAE,KAAK,eAAe,aAAa,CAAC,MAAM,KAAK,eAAe,aAAa,KAAK,eAAe,YAAY,CAAC,KAAK,eAAe;GACzI;EACD;EACA,uBAAuB;GACtB,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,KAAK,eAAe;GAC5B;EACD;EACA,gBAAgB;GACf,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,KAAK,kBAAkB,KAAK,eAAe;GACnD;EACD;EACA,iBAAiB;GAChB,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,KAAK,eAAe;GAC5B;GACA,KAAK,SAAS,GAAG;IAChB,KAAK,mBAAmB,KAAK,eAAe,UAAU;GACvD;EACD;EACA,gBAAgB;GACf,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,eAAe;GAC5B;EACD;EACA,oBAAoB;GACnB,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,aAAa,CAAC;GAChE;EACD;EACA,kBAAkB;GACjB,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,WAAW;GAC7D;EACD;EACA,SAAS;GACR,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,UAAU;GAC5D;EACD;EACA,QAAQ;GACP,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,SAAS,CAAC;GAC5D;EACD;EACA,WAAW;GACV,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,YAAY,CAAC;GAC/D;GACA,IAAI,GAAG;IACN,KAAK,mBAAmB,KAAK,eAAe,YAAY;GACzD;EACD;EACA,eAAe;GACd,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,aAAa,CAAC;GAChE;EACD;CACD,CAAC,GAAG,EAAE,GAAE,WAAW;EAClB,YAAY;GACX,WAAW;GACX,MAAM;IACL,OAAO,KAAK,MAAM;GACnB;EACD;EACA,QAAQ;GACP,WAAW;GACX,MAAM;IACL,OAAO,KAAK,OAAO,CAAC;GACrB;GACA,IAAI,GAAG;IACN,KAAK,KAAK,CAAC,CAAC;GACb;EACD;CACD,CAAC,GAAG,EAAE,YAAY;CAClB,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,EAAE,WAAW,GAAG,OAAO;EAC3B,IAAI;EACJ,OAAO,EAAE,aAAa,IAAI,EAAE,OAAO,MAAM,IAAI,CAAC,KAAK,KAAK,EAAE,UAAU,IAAI,EAAE,UAAU,EAAE,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,WAAW,IAAI,EAAE,OAAO,MAAM,IAAI,EAAE,OAAO,OAAO,EAAE,MAAM,GAAG,EAAE,OAAO,MAAM,KAAK,IAAI,EAAE,OAAO,QAAQ,GAAG,EAAE,OAAO,GAAG;CACvO;CACA,SAAS,GAAG,GAAG;EACd,IAAI,IAAI,EAAE;EACV,EAAE,eAAe,EAAE,UAAU,GAAG,EAAE,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,IAAI,GAAG,CAAC;CACnF;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE,cAAc,EAAE,WAAW,GAAG;GACjH,IAAI,EAAE,aAAa,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,YAAY,EAAE,kBAAkB,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC;QACvF,IAAI,EAAE,aAAa;IACvB,IAAI,IAAI,EAAE;IACV,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ;GACzE;EACD;CACD;CACA,SAAS,GAAG,GAAG;EACd,EAAE,YAAY,CAAC,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI;CACzD;CACA,EAAE,OAAO,SAAS,GAAG,GAAG;EACvB,OAAO,EAAE,GAAG,GAAG,CAAC;CACjB;CACA,IAAI;CACJ,SAAS,KAAK;EACb,OAAO,OAAO,KAAK,MAAM,KAAK,CAAC,IAAI;CACpC;CACA,EAAE,UAAU,SAAS,GAAG,GAAG;EAC1B,OAAO,GAAG,CAAC,CAAC,oCAAoC,GAAG,CAAC;CACrD,GAAG,EAAE,QAAQ,SAAS,GAAG,GAAG;EAC3B,OAAO,GAAG,CAAC,CAAC,oCAAoC,GAAG,CAAC;CACrD,GAAG,EAAE,OAAO,SAAS,GAAG,GAAG;EAC1B,OAAO,IAAI,EAAE;GACZ,YAAY,EAAE,sBAAsB,EAAE,cAAc,CAAC;GACrD,GAAG;GACH,QAAQ,GAAG,GAAG;IACb,EAAE,UAAU,GAAG,CAAC,GAAG,EAAE,CAAC;GACvB;EACD,CAAC,CAAC,CAAC,KAAK,CAAC;CACV;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,qBAAqB,GAAG,OAAO,GAAG,oCAAoC,GAAG,sBAAsB,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,4BAA4B,GAAG,QAAQ,GAAG,mBAAmB,MAAM,EAAE;CAC3O,EAAE,UAAU,GAAG,EAAE,gBAAgB;CACjC,IAAI,EAAE,cAAc,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,MAAM,GAAE,GAAG,IAAI,GAAG,GAAG,EAAE,gBAAgB,MAAM,GAAG,GAAG,EAAE,kBAAkB,GAAG,yBAAyB,MAAM,GAAG,GAAG,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,uBAAuB,GAAG,wBAAwB,GAAG,sBAAsB,GAAG,6BAA6B,GAAG,wBAAwB,GAAG,4BAA4B,GAAG,sBAAsB,MAAM,GAAE,CAAC,CAAC,OAAO,EAAE,gBAAgB,MAAM;CAC3c,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC;CACnC,SAAS,IAAI,CAAC;CACd,IAAI,IAAI,EAAE,aAAa;CACvB,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,OAAO,KAAK,cAAc,IAAI,aAAa,GAAG,IAAI,KAAK,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,MAAM,KAAK,aAAa,KAAK,cAAc,CAAC,EAAE,KAAK,EAAE,sBAAsB,KAAK,gBAAgB,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,KAAK,YAAY,CAAC;EACpW,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC;EACrC,KAAK,gBAAgB,CAAC,GAAG,KAAK,kBAAkB,KAAK,EAAE,mBAAmB,QAAQ,KAAK,SAAS,GAAG,KAAK,UAAU,CAAC,GAAG,KAAK,SAAS,GAAG,KAAK,OAAO,CAAC,GAAG,KAAK,mBAAmB,CAAC,GAAG,KAAK,UAAU,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,KAAK,UAAU,MAAM,KAAK,WAAW,GAAG,KAAK,qBAAqB,MAAM,EAAE,IAAI,GAAG,KAAK,YAAY,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,KAAK,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,KAAK,EAAE,gBAAgB,CAAC,GAAG,KAAK,UAAU,MAAM,KAAK,SAAS,CAAC,GAAG,KAAK,eAAe,CAAC,GAAG,KAAK,KAAK,CAAC;CACriB;CACA,SAAS,EAAE,GAAG;EACb,EAAE,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,UAAU,CAAC;CACvE;CACA,EAAE,UAAU,YAAY,WAAW;EAClC,OAAO,EAAE,KAAK,UAAU,KAAK,aAAa;CAC3C,GAAG,EAAE,EAAE,WAAW,wBAAwB;EACzC,WAAW;EACX,MAAM;GACL,OAAO,KAAK,SAAS,SAAS,KAAK;EACpC;CACD,CAAC;CACD,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,gBAAgB,GAAG;EAC3B,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;EACrC,KAAK,iBAAiB,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,MAAM,OAAO,EAAE,SAAS,eAAe,KAAK,SAAS,EAAE,QAAQ,OAAO,EAAE,UAAU,eAAe,KAAK,UAAU,EAAE,SAAS,OAAO,EAAE,WAAW,eAAe,KAAK,WAAW,EAAE,UAAU,OAAO,EAAE,SAAS,eAAe,KAAK,SAAS,EAAE,QAAQ,OAAO,EAAE,aAAa,eAAe,KAAK,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,QAAQ,IAAI,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,YAAY;GACza,IAAI,IAAI,KAAK;GACb,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,GAAE,MAAM,CAAC;EACnC,CAAC;CACF;CACA,EAAE,GAAG,GAAG;EACP,WAAW;EACX,OAAO,SAAS,GAAG;GAClB,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,KAAK,EAAE,0BAA0B;EACzE;CACD,CAAC,GAAG,EAAE,UAAU,OAAO,WAAW;EACjC,EAAE,MAAM,IAAI,EAAE,CAAC;CAChB;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,IAAI,IAAI,EAAE;EACV,IAAI,OAAO,KAAK,YAAY,IAAI,GAAG,IAAI,EAAE;OACpC;GACJ,IAAI,CAAC,GAAG,IAAI,EAAE;QACT,IAAI,MAAM,YAAY,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;GAC1D,OAAO,KAAK,eAAe,IAAI;EAChC;EACA,IAAI,MAAM,MAAM,MAAM,IAAI,EAAE;EAC5B,IAAI,CAAC,EAAE,YAAY;GAClB,IAAI,OAAO,KAAK,UAAU,EAAE,kBAAkB,CAAC,MAAM,IAAI,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI;QACtE,IAAI,aAAa,GAAG,IAAI;QACxB,IAAI,EAAE,cAAc,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,GAAG,IAAI;QAC1D,MAAM,IAAI,EAAE,SAAS;IACzB;IACA;IACA;GACD,GAAG,CAAC;EACL;EACA,IAAI;EACJ,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI,EAAE,OAAO,IAAI,KAAK,EAAE,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC;CAC9I;CACA,EAAE,UAAU,QAAQ,SAAS,GAAG,GAAG,GAAG;EACrC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;CAC9B,GAAG,EAAE,UAAU,OAAO,WAAW;EAChC,KAAK,eAAe;CACrB,GAAG,EAAE,UAAU,SAAS,WAAW;EAClC,IAAI,IAAI,KAAK;EACb,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC;CAChD,GAAG,EAAE,UAAU,qBAAqB,SAAS,GAAG;EAC/C,IAAI,OAAO,KAAK,aAAa,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;EACvE,OAAO,KAAK,eAAe,kBAAkB,GAAG;CACjD;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EACzB,IAAI,IAAI,EAAE,aAAa,IAAI,EAAE;EAC7B,EAAE,UAAU;EACZ,IAAI,IAAI,EAAE,SAAS,EAAE;EACrB,OAAO,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,eAAe,EAAE,SAAS,KAAK;GACvG,OAAO;GACP,UAAU;GACV,UAAU;EACX,CAAC,GAAG,EAAE,cAAc,MAAM,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,EAAE,UAAU,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,WAAW,CAAC,EAAE;CACpO;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;EAC/B,EAAE,WAAW,GAAG,EAAE,UAAU,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,QAAQ,GAAG,EAAE,OAAO,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,OAAO,CAAC;CAC1K;CACA,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG;EACtB,EAAE,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;CAClC;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,gBAAgB,IAAI,EAAE,MAAM,IAAI,EAAE;EAC5C,IAAI,OAAO,KAAK,YAAY;GAC3B,EAAE,GAAG,IAAI,EAAE,CAAC;GACZ;EACD;EACA,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,GAAG,KAAK,EAAE,OAAO,EAAE,YAAY,GAAG,EAAE,kBAAkB,CAAC,EAAE,eAAe,YAAY,EAAE,eAAe,UAAU,IAAI,IAAI,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,iBAAiB,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,uBAAuB,QAAQ,EAAE,mBAAmB,OAAO,IAAI,EAAE,mBAAmB,WAAW,EAAE,qBAAqB;GACvZ,OAAO;GACP,IAAI;GACJ,QAAQ;GACR,OAAO;EACR,GAAG,EAAE,SAAS,GAAG,EAAE,kBAAkB,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;CACxD;CACA,SAAS,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,KAAK;EACpD,OAAO,EAAE,qBAAqB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;CAClD;CACA,SAAS,GAAG,GAAG,GAAG,GAAG,GAAG;EACvB,KAAK,CAAC,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE,WAAW,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,OAAO,IAAI,MAAM,IAAI,EAAE,aAAa,EAAE;EACnI,EAAE,aAAa,EAAE,CAAC,GAAG,GAAE,GAAG,CAAC;CAC5B;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,SAAS;EACf,KAAK,IAAI,IAAI,EAAE,eAAe,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG;GACzD,IAAI,EAAE,OAAO,GAAG,UAAU,MAAM,EAAE,SAAS,IAAI,IAAI,EAAE,aAAa,IAAI,EAAE;GACxE,EAAE,UAAU,GAAG,EAAE,EAAE,WAAW,IAAI,EAAE,OAAO,CAAC;EAC7C;EACA,IAAI,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;EACrB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE,KAAK,CAAC;EACjE,EAAE,CAAC;CACJ;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAE,aAAa;EACrE,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,YAAY,MAAM,GAAG,IAAI,EAAE,SAAS;EACzE,IAAI,CAAC,GAAG;EACR,IAAI,IAAI;EACR,IAAI,EAAE,mBAAmB,CAAC,GAAG,IAAI,KAAK,EAAE,SAAS;GAChD,EAAE,aAAa,IAAI;GACnB,IAAI,IAAI,EAAE,UAAU,KAAK,MAAM;IAC9B,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC;GACnD,GAAG,IAAI,EAAE,WAAW,MAAM,IAAI,IAAI,EAAE,GAAG,CAAC;GACxC,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAClE,OAAO;GACN,GAAG;IACF,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,MAAM,EAAE;IAC/C,EAAE,OAAO,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC;GACrD,SAAS,IAAI,EAAE,UAAU,CAAC,EAAE;GAC5B,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,IAAI,OAAO,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,gBAAgB,KAAK,EAAE,gBAAgB;EAC7F;EACA,EAAE,mBAAmB,CAAC;CACvB;CACA,EAAE,UAAU,SAAS,SAAS,GAAG,GAAG,GAAG;EACtC,IAAI,KAAK,SAAS,KAAK,QAAQ,CAAC;GAC/B,OAAO;GACP,UAAU;EACX,CAAC,GAAG,CAAC;OACA,MAAM,IAAI,EAAE,UAAU;CAC5B,GAAG,EAAE,UAAU,UAAU,MAAM,EAAE,UAAU,MAAM,SAAS,GAAG,GAAG,GAAG;EAClE,IAAI,IAAI,KAAK;EACb,OAAO,KAAK,cAAc,IAAI,GAAG,IAAI,MAAM,IAAI,QAAQ,OAAO,KAAK,eAAe,IAAI,GAAG,IAAI;EAC7F,IAAI;EACJ,IAAI,KAAK,MAAM;GACd,IAAI,IAAI,EAAE,MAAM,GAAG,CAAC;GACpB,aAAa,MAAM,IAAI;EACxB;EACA,OAAO,EAAE,WAAW,EAAE,SAAS,GAAG,KAAK,OAAO,IAAI,MAAM,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,GAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,cAAc,IAAI,IAAI,EAAE,KAAK,KAAK,OAAO,KAAK,eAAe,KAAK,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;CACtR;CACA,SAAS,GAAE,GAAG;EACb,OAAO,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,KAAK,CAAC,EAAE,WAAW,EAAE,SAAS,WAAW,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAAE;CACnK;CACA,SAAS,GAAG,GAAG,GAAG;EACjB,IAAI,IAAI,CAAC;EACT,SAAS,EAAE,GAAG;GACb,IAAI,GAAG;IACN,EAAE,GAAG,KAAK,EAAE,CAAC;IACb;GACD;GACA,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,GAAG;IAC7B,IAAI,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;IACrB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IACzC,EAAE,GAAG,GAAG,EAAE,IAAI;GACf,OAAO,GAAE,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,WAAW,GAAG,EAAE,aAAa,EAAE,SAAS,IAAG,GAAG,CAAC;EAC3F;EACA,EAAE,OAAO,CAAC,GAAG,EAAE;EACf,IAAI;GACH,EAAE,OAAO,CAAC;EACX,SAAS,GAAG;GACX,EAAE,CAAC;EACJ;EACA,EAAE,OAAO,CAAC;CACX;CACA,SAAS,EAAG,GAAG,GAAG;EACjB,CAAC,EAAE,eAAe,CAAC,EAAE,gBAAgB,OAAO,EAAE,UAAU,cAAc,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,WAAW;CAC9J;CACA,SAAS,GAAE,GAAG,GAAG,GAAG;EACnB,GAAE,CAAC,MAAM,EAAG,GAAG,CAAC,GAAG,EAAE,cAAc,MAAM,KAAK,EAAE,aAAa,EAAE,UAAU,GAAG,MAAM;GACjF,GAAE,CAAC,IAAI,GAAE,GAAG,CAAC,IAAI,EAAE;EACpB,GAAG,GAAG,CAAC,KAAK,GAAE,CAAC,MAAM,EAAE,aAAa,GAAE,GAAG,CAAC;CAC3C;CACA,SAAS,GAAE,GAAG,GAAG;EAChB,EAAE,aAAa,EAAE,WAAW,CAAC;EAC7B,IAAI,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;EACrB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC;EACxC,IAAI,EAAE,KAAK,QAAQ,GAAG,EAAE,aAAa;GACpC,IAAI,IAAI,EAAE;GACV,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ;EAC3E;CACD;CACA,EAAE,EAAE,WAAW;EACd,QAAQ;GACP,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,SAAS,CAAC;GAC5D;EACD;EACA,WAAW;GACV,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,YAAY,CAAC;GAC/D;GACA,IAAI,GAAG;IACN,KAAK,mBAAmB,KAAK,eAAe,YAAY;GACzD;EACD;EACA,UAAU;GACT,WAAW;GACX,MAAM;IACL,IAAI,IAAI,KAAK;IACb,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,EAAE;GAClF;GACA,IAAI,GAAG;IACN,KAAK,mBAAmB,KAAK,eAAe,WAAW,CAAC,CAAC;GAC1D;EACD;EACA,kBAAkB;GACjB,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,WAAW,CAAC;GAC9D;EACD;EACA,oBAAoB;GACnB,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,aAAa,CAAC;GAChE;EACD;EACA,gBAAgB;GACf,WAAW;GACX,MAAM;IACL,OAAO,KAAK,kBAAkB,KAAK,eAAe,UAAU;GAC7D;EACD;EACA,eAAe;GACd,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,SAAS,CAAC;GAC5D;EACD;EACA,mBAAmB;GAClB,WAAW;GACX,MAAM;IACL,IAAI,IAAI,KAAK;IACb,OAAO,IAAI,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC;GACxD;EACD;EACA,uBAAuB;GACtB,WAAW;GACX,MAAM;IACL,OAAO,KAAK,kBAAkB,KAAK,eAAe;GACnD;EACD;EACA,gBAAgB;GACf,WAAW;GACX,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,SAAS;GAC3D;EACD;EACA,gBAAgB;GACf,WAAW;GACX,MAAM;IACL,OAAO,KAAK,kBAAkB,KAAK,eAAe;GACnD;EACD;EACA,SAAS;GACR,WAAW;GACX,YAAY,CAAC;GACb,MAAM;IACL,OAAO,KAAK,iBAAiB,KAAK,eAAe,UAAU;GAC5D;EACD;EACA,iBAAiB;GAChB,WAAW;GACX,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,CAAC,EAAE,KAAK,eAAe,aAAa,CAAC,MAAM,KAAK,eAAe,aAAa,KAAK,eAAe,YAAY,CAAC,KAAK,eAAe;GACzI;EACD;CACD,CAAC;CACD,IAAI,IAAK,EAAE;CACX,EAAE,UAAU,UAAU,SAAS,GAAG,GAAG;EACpC,IAAI,IAAI,KAAK;EACb,OAAO,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,UAAU,EAAE,EAAE,CAAC,WAAW,EAAE,SAAS,GAAG,CAAC,GAAG,EAAG,KAAK,MAAM,GAAG,CAAC,GAAG;CACvH,GAAG,EAAE,UAAU,aAAa,EAAE,WAAW,EAAE,UAAU,WAAW,SAAS,GAAG,GAAG;EAC9E,EAAE,CAAC;CACJ,GAAG,EAAE,UAAU,EAAE,0BAA0B,SAAS,GAAG;EACtD,KAAK,QAAQ,CAAC;CACf;CACA,IAAI;CACJ,SAAS,IAAI;EACZ,OAAO,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI;CAClC;CACA,EAAE,UAAU,SAAS,GAAG,GAAG;EAC1B,OAAO,EAAE,CAAC,CAAC,oCAAoC,GAAG,CAAC;CACpD,GAAG,EAAE,QAAQ,SAAS,GAAG;EACxB,OAAO,EAAE,CAAC,CAAC,oCAAoC,CAAC;CACjD;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAE,GAAG,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,sBAAsB,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,kBAAkB,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,YAAY,GAAG,OAAO,EAAE,sBAAsB,GAAG,0BAA0B,QAAQ,GAAE,GAAG,EAAE,WAAW,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,uBAAuB,MAAM,GAAE,GAAG,IAAI,GAAG,GAAG,IAAI,WAAW,QAAQ,EAAE,MAAM,IAAI,MAAM,KAAK,IAAI,SAAS,GAAG;EACzd,OAAO,CAAC;CACT,IAAI,SAAS,GAAG;EACf,OAAO,aAAa;CACrB,GAAG,IAAI,WAAW,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,EAAE,uBAAuB,MAAM,EAAE,GAAG,IAAI,cAAc,EAAE;EAClH,YAAY,GAAG;GACd,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,MAAM,KAAK,eAAe,WAAW,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,GAAG,KAAK,eAAe,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,KAAK,eAAe,WAAW,CAAC,GAAG,KAAK,eAAe,SAAS,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,GAAG,KAAK,eAAe,WAAW,CAAC;EACtS;CACD;CACA,EAAE,UAAU,SAAS,EAAE,GAAG,GAAG;EAC5B,IAAI,EAAE,CAAC,GAAG,OAAO;EACjB,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC;EAClC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC;EAClC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE;GAClB,UAAU,CAAC;GACX,UAAU,CAAC;EACZ,CAAC;EACD,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;EAC7C,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;EAC7C,IAAI,OAAO,KAAK,YAAY;GAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;GACtD,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG;IACxB,YAAY,CAAC;IACb,OAAO;IACP,OAAO;IACP,SAAS;GACV,CAAC;GACD,IAAI,IAAI,GAAG;GACX,IAAI,OAAO,KAAK,YAAY;IAC3B,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,MAAM;KACzB,IAAI,KAAK,MAAM,MAAM,IAAI,EAAE,SAAS,QAAQ,CAAC;IAC9C,IAAI,MAAM;KACT,EAAE,GAAG,CAAC;IACP,CAAC;IACD,OAAO,IAAI,IAAI,EAAE;KAChB,YAAY,CAAC;KACb,UAAU,CAAC;KACX,OAAO;KACP,MAAM,GAAG;MACR,EAAE,YAAY;OACb,IAAI;QACH,MAAM,GAAG,EAAE,SAAS,GAAG,IAAI;OAC5B,SAAS,GAAG;QACX,EAAE,SAAS,GAAG,CAAC;OAChB;MACD,CAAC;KACF;KACA,SAAS;IACV,CAAC;GACF;GACA,MAAM,IAAI,EAAE,4CAA4C,GAAG,CAAC;EAC7D;EACA,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,EAAE,YAAY,CAAC;EAClC,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,GAAG;GACxB,YAAY,CAAC;GACb,UAAU,CAAC;EACZ,CAAC;EACD,IAAI,EAAE,GAAG,QAAQ,KAAK,EAAE,GAAG,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;EACxD,IAAI,OAAO,GAAG,YAAY,YAAY,OAAO,GAAG,YAAY,UAAU,OAAO,EAAE;GAC9E,UAAU,KAAK,QAAQ,EAAE,WAAW,EAAE,GAAG,QAAQ,IAAI,GAAG,WAAW,EAAE,EAAE,QAAQ,IAAI,KAAK;GACxF,UAAU,KAAK,QAAQ,EAAE,WAAW,EAAE,GAAG,QAAQ,IAAI,GAAG,WAAW,EAAE,EAAE,QAAQ,IAAI,KAAK;EACzF,CAAC;EACD,IAAI,IAAI,GAAG;EACX,IAAI,OAAO,KAAK,YAAY;GAC3B,IAAI;GACJ,OAAO,EAAE,GAAG,IAAI,MAAM;IACrB,KAAK,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI;GACpC,IAAI,MAAM;IACT,EAAE,GAAG,CAAC;GACP,CAAC,GAAG,IAAI,IAAI,EAAE;IACb,YAAY,CAAC;IACb,UAAU,CAAC;IACX,OAAO,CAAC;GACT,CAAC;EACF;EACA,MAAM,IAAI,EAAE,GAAG;GACd;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD,GAAG,CAAC;CACL;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE;EACzD,OAAO;GACN,OAAO,GAAG,mBAAmB;IAC5B,SAAS;KACR,IAAI,IAAI;KACR,IAAI;KACJ,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,MAAM,MAAM;KACzC,IAAI,EAAE,SAAS,CAAC,GAAG,GAAG;KACtB,IAAI,EAAE,SAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC;KACtD,CAAC,CAAC,SAAS,GAAG,SAAS,KAAK,EAAE,IAAI,MAAM;IACzC;GACD,EAAA,CAAG,GAAG,EAAE,QAAQ,EAAE,CAAC;GACnB,MAAM,GAAG,GAAG,GAAG;IACd,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;KACX,OAAO;KACP,MAAM,CAAC;KACP,IAAI;IACL,CAAC;GACF;GACA,MAAM,GAAG;IACR,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;KACX,MAAM,CAAC;KACP,IAAI;IACL,CAAC;GACF;GACA,QAAQ,GAAG,GAAG;IACb,EAAE,MAAM,GAAG,EAAE,CAAC;GACf;EACD;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,YAAY,OAAO,EAAE,SAAS,QAAQ,aAAa,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,UAAU,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG;EAClJ,SAAS,EAAE,GAAG;GACb,IAAI,IAAI;GACR,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,QAAQ,CAAC;EACtC;EACA,OAAO,IAAI,IAAI,EAAE;GAChB,oBAAoB,CAAC,EAAE,KAAK,QAAQ,EAAE;GACtC,oBAAoB,CAAC,EAAE,KAAK,QAAQ,EAAE;GACtC,UAAU;GACV,UAAU;EACX,CAAC,GAAG,MAAM,EAAE,IAAI,MAAM;GACrB,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;EAC1B,CAAC,GAAG,EAAE,SAAS,SAAS,GAAG,GAAG,GAAG;GAChC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI;EAC3B,GAAG,EAAE,SAAS,SAAS,GAAG;GACzB,EAAE,IAAI,GAAG,IAAI;EACd,GAAG,EAAE,GAAG,SAAS,WAAW;GAC3B,IAAI,GAAG;IACN,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;GACb;EACD,CAAC,GAAG,EAAE,GAAG,UAAU,WAAW;GAC7B,IAAI,GAAG;IACN,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;GACb;EACD,CAAC,IAAI,MAAM,EAAE,IAAI,MAAM;GACtB,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;EAC1B,CAAC,GAAG,EAAE,GAAG,YAAY,WAAW;GAC/B,IAAI,GAAG;IACN,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;GACb;EACD,CAAC,GAAG,EAAE,GAAG,OAAO,WAAW;GAC1B,EAAE,KAAK,IAAI;EACZ,CAAC,GAAG,EAAE,QAAQ,WAAW;GACxB,SAAS;IACR,IAAI,IAAI,EAAE,KAAK;IACf,IAAI,MAAM,MAAM;KACf,IAAI,EAAE;KACN;IACD;IACA,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG;GACjB;EACD,IAAI,EAAE,WAAW,SAAS,GAAG,GAAG;GAC/B,CAAC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;EAC7G,GAAG;CACJ;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,wBAAwB,GAAG,gCAAgC,GAAG,YAAY,GAAG,sBAAsB,MAAM,EAAE;CACjH,EAAE,UAAU;CACZ,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG;CACrB,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC;CACnC;EACC,IAAI,IAAI,EAAE,EAAE,SAAS;EACrB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;GAClC,IAAI,IAAI,EAAE;GACV,EAAE,UAAU,OAAO,EAAE,UAAU,KAAK,EAAE,UAAU;EACjD;CACD;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,gBAAgB,IAAI,OAAO,IAAI,EAAE,CAAC;EACxC,EAAE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,KAAK,KAAK,gBAAgB,EAAE,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,KAAK,eAAe,WAAW,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,GAAG,KAAK,eAAe,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,KAAK,eAAe,WAAW,CAAC,GAAG,KAAK,eAAe,SAAS,CAAC,GAAG,KAAK,eAAe,QAAQ,CAAC,GAAG,KAAK,eAAe,WAAW,CAAC,MAAM,KAAK,gBAAgB,CAAC;CAC1Y;CACA,EAAE,EAAE,WAAW;EACd,UAAU;GACT,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,UAAU;EAC7B;EACA,uBAAuB;GACtB,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,uBAAuB;EAC1C;EACA,oBAAoB;GACnB,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,oBAAoB;EACvC;EACA,gBAAgB;GACf,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,gBAAgB;EACnC;EACA,gBAAgB;GACf,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,gBAAgB;EACnC;EACA,kBAAkB;GACjB,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,kBAAkB;EACrC;EACA,gBAAgB;GACf,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,gBAAgB;EACnC;EACA,eAAe;GACd,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,eAAe;EAClC;EACA,mBAAmB;GAClB,WAAW;GACX,GAAG,EAAE,EAAE,WAAW,mBAAmB;EACtC;EACA,WAAW;GACV,WAAW;GACX,MAAM;IACL,OAAO,KAAK,mBAAmB,KAAK,KAAK,KAAK,mBAAmB,KAAK,IAAI,CAAC,IAAI,KAAK,eAAe,aAAa,KAAK,eAAe;GACrI;GACA,IAAI,GAAG;IACN,KAAK,kBAAkB,KAAK,mBAAmB,KAAK,eAAe,YAAY,GAAG,KAAK,eAAe,YAAY;GACnH;EACD;CACD,CAAC;CACD,IAAI;CACJ,SAAS,IAAI;EACZ,OAAO,MAAM,KAAK,MAAM,IAAI,CAAC,IAAI;CAClC;CACA,EAAE,UAAU,SAAS,GAAG,GAAG;EAC1B,OAAO,EAAE,CAAC,CAAC,wCAAwC,GAAG,CAAC;CACxD,GAAG,EAAE,QAAQ,SAAS,GAAG;EACxB,OAAO,EAAE,CAAC,CAAC,kCAAkC,CAAC;CAC/C;CACA,IAAI;CACJ,EAAE,OAAO,SAAS,GAAG;EACpB,OAAO,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM;CAC/B;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,sBAAsB,GAAG,QAAQ,MAAM,EAAE;CAC/C,EAAE,UAAU;CACZ,IAAI,EAAE,4BAA4B,MAAM,GAAE,CAAC,CAAC,OAAO,IAAI,GAAG,GAAG,EAAE,kBAAkB,MAAM,GAAG;CAC1F,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC;CACnC,IAAI,IAAI,EAAE,WAAW;CACrB,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,gBAAgB,IAAI,OAAO,IAAI,EAAE,CAAC;EACxC,IAAI,IAAI,IAAI,EAAE,MAAM,GAAG,yBAAyB,CAAC,CAAC,IAAI;EACtD,MAAM,MAAM,IAAI;GACf,GAAG;GACH,eAAe;GACf,uBAAuB;GACvB,uBAAuB,EAAE,yBAAyB;EACnD,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,KAAK,eAAe,OAAO,CAAC,GAAG,KAAK,KAAK,MAAM,MAAM,OAAO,EAAE,aAAa,eAAe,KAAK,aAAa,EAAE,YAAY,OAAO,EAAE,SAAS,eAAe,KAAK,SAAS,EAAE,SAAS,KAAK,GAAG,aAAa,CAAC;CAChO;CACA,SAAS,EAAE,GAAG;EACb,OAAO,KAAK,UAAU,cAAc,CAAC,KAAK,YAAY,KAAK,QAAQ,GAAG,MAAM;GAC3E,IAAI,GAAG;IACN,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,CAAC;IACzB;GACD;GACA,KAAK,QAAQ,KAAK,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,EAAE;EACpD,CAAC,KAAK,KAAK,KAAK,IAAI,GAAG,KAAK,EAAE;CAC/B;CACA,SAAS,IAAI;EACZ,KAAK,WAAW,KAAK,EAAE,KAAK,IAAI;CACjC;CACA,EAAE,UAAU,SAAS,GAAG,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG;EAClE,MAAM,IAAI,EAAE,cAAc;CAC3B,GAAG,EAAE,UAAU,SAAS,SAAS,GAAG,GAAG,GAAG;EACzC,IAAI,IAAI,KAAK,gBAAgB,IAAI,KAAK,gBAAgB,IAAI,EAAE;EAC5D,KAAK,WAAW,GAAG,IAAI,GAAG,MAAM;GAC/B,IAAI,GAAG;IACN,EAAE,CAAC;IACH;GACD;GACA,KAAK,QAAQ,KAAK,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,KAAK,KAAK;EACtG,CAAC;CACF,GAAG,EAAE,UAAU,QAAQ,WAAW;EACjC,IAAI,KAAK,IAAI;GACZ,IAAI,IAAI,KAAK;GACb,KAAK,KAAK,MAAM,EAAE;EACnB;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,sBAAsB,MAAM,EAAE;CACpC,EAAE,UAAU;CACZ,IAAI,IAAI,GAAG;CACX,EAAE,EAAE,WAAW,EAAE,SAAS,GAAG,EAAE,GAAG,CAAC;CACnC,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,gBAAgB,IAAI,OAAO,IAAI,EAAE,CAAC;EACxC,EAAE,KAAK,MAAM,CAAC;CACf;CACA,EAAE,UAAU,aAAa,SAAS,GAAG,GAAG,GAAG;EAC1C,EAAE,MAAM,CAAC;CACV;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,GAAG,eAAe,MAAM,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,MAAM,MAAM,GAAE,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,oBAAoB,GAAG,OAAO,EAAE,sBAAsB,GAAG,0BAA0B,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,4BAA4B,KAAK,YAAY,MAAM,GAAE,GAAG,EAAE,kBAAkB,GAAG,qBAAqB,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,YAAY,GAAG,sBAAsB,GAAG,cAAc,GAAG,mBAAmB,GAAG,aAAa,GAAG,kBAAkB,GAAG,oBAAoB,MAAM,GAAG,GAAG,IAAI,WAAW,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,GAAG,GAAG;CACzmB,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,IAAI,CAAC;EACT,OAAO,EAAE,GAAG,eAAe;GAC1B,IAAI,CAAC;EACN,CAAC,GAAG;GACH,UAAU,MAAM;IACf,MAAM,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC;GAChD;GACA,SAAS,EAAE,GAAG;IACb,UAAU;IACV,UAAU;GACX,IAAI,MAAM;IACT,IAAI,CAAC;GACN,CAAC;EACF;CACD;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,EAAE,EAAE,SAAS,IAAI,4BAA4B,GAAG,EAAE,IAAI;CAChE;CACA,SAAS,EAAE,GAAG;EACb,IAAI,EAAE,CAAC,GAAG,OAAO;EACjB,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC;EACpB,MAAM,IAAI,EAAE,OAAO;GAClB;GACA;GACA;EACD,GAAG,CAAC;CACL;CACA,gBAAgB,EAAE,GAAG;EACpB,MAAM,GAAG,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC;CACzC;CACA,eAAe,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK;EACrC,IAAI,GAAG,IAAI,MAAM,KAAK,MAAM;GAC3B,IAAI,MAAM,IAAI,IAAI,GAAG;IACpB,IAAI,IAAI;IACR,IAAI,MAAM,EAAE;GACb;EACD,GAAG,UAAU,IAAI,GAAG,GAAG,MAAM;GAC5B,IAAI,EAAE,CAAC,IAAI,UAAU;IACpB,IAAI,EAAE,CAAC,IAAI,EAAE;GACd;EACD,CAAC;EACD,EAAE,GAAG,SAAS,CAAC;EACf,IAAI,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC;EAChC,IAAI;GACH,EAAE,qBAAqB,MAAM,EAAE;GAC/B,WAAW,IAAI,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE;GAC7C,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,EAAE;EAC9B,SAAS,GAAG;GACX,EAAE,MAAM,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;EACxB,UAAU;GACT,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC;EACtB;CACD;CACA,eAAe,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK;EACrC,EAAE,CAAC,MAAM,IAAI,EAAE;EACf,IAAI,IAAI,EAAE,UAAU;EACpB,IAAI;GACH,WAAW,IAAI,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;GAC/D,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,MAAM,GAAG,EAAE;EACxC,SAAS,GAAG;GACX,IAAI;IACH,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;GACtB,SAAS,GAAG;IACX,EAAE,CAAC;GACJ;EACD;CACD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;CACpB;CACA,SAAS,EAAE,GAAG,GAAG,GAAG;EACnB,IAAI,EAAE,WAAW,KAAK,EAAE,EAAE,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,IAAI,EAAE,SAAS;EAChF,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,QAAQ,IAAI,CAAC;EACnD,EAAE,GAAG,gBAAgB;EACrB,SAAS,IAAI;GACZ,EAAE,IAAI,EAAE,CAAC;EACV;EACA,MAAM,GAAE,CAAC,CAAC;EACV,IAAI;EACJ,MAAM,IAAI,EAAE,GAAG,CAAC;EAChB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI;EACtB,SAAS,EAAE,GAAG;GACb,EAAE,GAAG,EAAE,MAAM,CAAC;EACf;EACA,SAAS,EAAE,GAAG,GAAG;GAChB,IAAI;GACJ,IAAI,MAAM,CAAC,KAAK,EAAE,SAAS,kCAAkC,IAAI,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI;IACjF,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7B,CAAC,IAAI,MAAM,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,EAAE,SAAS,GAAG,GAAG,CAAC;GAC3F;EACD;EACA,IAAI;EACJ,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;GAClC,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,SAAS,GAAG,IAAI,IAAI,GAAG,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE,SAAS;GAC5F,IAAI,EAAE,CAAC,GAAG;IACT,IAAI,GAAG;KACN,IAAI,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,GAAG,CAAC;KAC1C,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,CAAC;IACjC;IACA,SAAS,EAAE,GAAG;KACb,KAAK,EAAE,SAAS,gBAAgB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC/E;IACA,EAAE,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,EAAE,WAAW;KAC3C,EAAE,eAAe,SAAS,CAAC;IAC5B,CAAC;GACF;GACA,IAAI,MAAM,GAAG;IACZ,IAAI,OAAO,KAAK,YACX;SAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,qCAAqC,UAAU,CAAC;IAAA,OACvF,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,KAAK,CAAC;GAC/C,OAAO,IAAI,OAAO,KAAK,YAAY;IAClC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,QAAQ,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,GAC1D;SAAA,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,iBAAiB,aAAa,IAAI,EAAE,IAAI,CAAC;IAAA,OAC9D;KACN,MAAM,GAAG;KACT,IAAI,IAAI,IAAI,EAAE,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG;KAC1C,IAAI,OAAO,KAAK,YAAY,KAAK,EAAE,KAAK,IAAI,MAAM;MACjD,IAAI,GAAG,KAAK,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,SAAS,CAAC;KAC3D,IAAI,MAAM;MACT,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC;KAC9B,CAAC;UACI,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;UACxC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG;MACtB,IAAI,IAAI,EAAE,YAAY;MACtB,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;KAC3B,OAAO,MAAM,IAAI,EAAE,4BAA4B,eAAe,CAAC;KAC/D,IAAI;KACJ,IAAI,EAAE,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;KAC5C,EAAE,KAAK,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC;IACzB;GACD,OAAO,IAAI,EAAE,CAAC,GAAG;IAChB,IAAI,EAAE,CAAC,GAAG;KACT,KAAK;KACL,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;KAC9B,EAAE,CAAC,KAAK,KAAK,EAAE,KAAK,CAAC;IACtB,OAAO,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG;KACxB,IAAI,IAAI,EAAE,YAAY;KACtB,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;IAC3B,OAAO,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;SACtC,MAAM,IAAI,EAAE,OAAO;KACvB;KACA;KACA;KACA;KACA;IACD,GAAG,CAAC;IACJ,IAAI;GACL,OAAO,IAAI,EAAE,CAAC,GAAG;IAChB,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;SAClC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;SAC5C,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,UAAU,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;SAC7C,MAAM,IAAI,EAAE,OAAO;KACvB;KACA;KACA;KACA;KACA;IACD,GAAG,CAAC;IACJ,IAAI;GACL,OAAO,IAAI,EAAE,KAAK,CAAC;EACpB;EACA,QAAQ,KAAK,QAAQ,EAAE,WAAW,KAAK,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,GAAG;CAC7E;CACA,SAAS,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,KAAK;EAChC,IAAI,IAAI,CAAC;EACT,IAAI,EAAE,GAAG,eAAe;GACvB,KAAK,EAAE,IAAI,EAAE,CAAC;EACf,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG;GAC9B,SAAS,IAAI;IACZ,IAAI,CAAC,GAAG,EAAE,IAAI;GACf;GACA,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC;EACvC,OAAO,EAAE;EACT,OAAO,EAAE,GAAG;GACX,UAAU,CAAC;GACX,UAAU,CAAC;EACZ,IAAI,MAAM;GACT,IAAI,IAAI,EAAE;GACV,KAAK,EAAE,SAAS,gCAAgC,KAAK,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,EAAE,eAAe,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;EACxI,CAAC,GAAG,EAAE,GAAG;GACR,UAAU,CAAC;GACX,UAAU,CAAC;EACZ,GAAG,CAAC;CACL;CACA,EAAE,UAAU;EACX,cAAc;EACd,UAAU;CACX;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,UAAU,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,WAAW,MAAM,GAAG,GAAG,EAAE,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,kBAAkB,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,OAAO,EAAE,uBAAuB,GAAG,kBAAkB,QAAQ,GAAE,GAAG,IAAI,GAAG;CACnS,EAAE,UAAU,SAAS,GAAG,GAAG;EAC1B,IAAI,EAAE,WAAW,GAAG,MAAM,IAAI,EAAE,SAAS;EACzC,IAAI,EAAE,WAAW,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE;EACtC,IAAI,IAAI,CAAC,GAAG,CAAC;EACb,IAAI,OAAO,EAAE,MAAM,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,OAAO,EAAE,EAAE,SAAS,MAAM,YAAY;GAC7F,IAAI,IAAI,EAAE,SAAS;GACnB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;EACnB;EACA,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI;GAC/D,IAAI,IAAI,EAAE,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,MAAM,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,kBAAkB;GAC/G,IAAI,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,MAAM,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,kBAAkB;EACrG;EACA,IAAI,GAAG,GAAG,GAAG,GAAG;EAChB,SAAS,EAAE,GAAG;GACb,IAAI,IAAI;GACR,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ;EAC/D;EACA,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;EACnF,IAAI,IAAI,IAAI,EAAE;GACb,oBAAoB,CAAC,EAAE,KAAK,QAAQ,EAAE;GACtC,oBAAoB,CAAC,EAAE,KAAK,QAAQ,EAAE;GACtC,UAAU;GACV,UAAU;EACX,CAAC,GAAG,GAAG;GACN,IAAI,EAAE,CAAC,GAAG,EAAE,SAAS,SAAS,GAAG,GAAG,GAAG;IACtC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI;GAC3B,GAAG,EAAE,SAAS,SAAS,GAAG;IACzB,EAAE,IAAI,GAAG,IAAI;GACd,GAAG,EAAE,GAAG,SAAS,WAAW;IAC3B,IAAI,GAAG;KACN,IAAI,IAAI;KACR,IAAI,MAAM,EAAE;IACb;GACD,CAAC;QACI,IAAI,EAAE,CAAC,GAAG;IACd,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAA,CAAG,UAAU;IAC1C,EAAE,SAAS,eAAe,GAAG,GAAG,GAAG;KAClC,IAAI;MACH,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE;KAC9C,SAAS,GAAG;MACX,EAAE,CAAC;KACJ;IACD,GAAG,EAAE,SAAS,eAAe,GAAG;KAC/B,IAAI;MACH,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;KAC/C,SAAS,GAAG;MACX,EAAE,CAAC;KACJ;IACD;GACD;GACA,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,SAAS;IAC9B,IAAI,GAAG;KACN,IAAI,IAAI;KACR,IAAI,MAAM,EAAE;IACb;GACD,CAAC;EACF;EACA,IAAI,GAAG;GACN,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,YAAY,WAAW;IACrC,IAAI,GAAG;KACN,IAAI,IAAI;KACR,IAAI,MAAM,EAAE;IACb;GACD,CAAC,GAAG,EAAE,GAAG,OAAO,WAAW;IAC1B,EAAE,KAAK,IAAI;GACZ,CAAC,GAAG,EAAE,QAAQ,WAAW;IACxB,SAAS;KACR,IAAI,IAAI,EAAE,KAAK;KACf,IAAI,MAAM,MAAM;MACf,IAAI,EAAE;MACN;KACD;KACA,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG;IACjB;GACD;QACK,IAAI,EAAE,CAAC,GAAG;IACd,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAA,CAAG,UAAU;IAC1C,EAAE,QAAQ,iBAAiB;KAC1B,SAAS,IAAI;MACZ,IAAI,EAAE,OAAO,GAAG,MAAM,MAAM,MAAM,EAAE,KAAK;MACzC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG;MAChB,IAAI,GAAG;OACN,EAAE,KAAK,IAAI;OACX;MACD;KACD,QAAQ;MACP;KACD;IACD;GACD;EACD;EACA,OAAO,EAAE,WAAW,SAAS,GAAG,GAAG;GAClC,CAAC,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,MAAM,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC;EAC5G,GAAG;CACJ;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,WAAW,mBAAmB,GAAG,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,GAAG,kBAAkB,GAAG,kBAAkB,KAAK,YAAY,MAAM,GAAE,GAAG,EAAE,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC,OAAO,wBAAwB,GAAG,EAAE,UAAU,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,0BAA0B,MAAM,GAAG,GAAG,EAAE,YAAY,GAAG,cAAc,MAAM,GAAG,GAAG,EAAE,WAAW,MAAM,GAAE,GAAG,EAAE,oBAAoB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,eAAe,GAAG,gBAAgB,GAAG,sBAAsB,GAAG,QAAQ,MAAM,EAAE,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM;CAC/pB,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,EAAE,UAAU,GAAG,kBAAkB;EAChJ,IAAI,IAAI,EAAE,MAAM,CAAC;EACjB,OAAO,KAAK,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,GAAG;CACjD;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,eAAe,GAAG,CAAC;EAC9E,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB;EAC/E,IAAI,IAAI;EACR,GAAG,eAAe,SAAS,IAAI,EAAE,EAAE,WAAW;EAC9C,IAAI,IAAI,IAAI;EACZ,OAAO,GAAG,iBAAiB,SAAS,IAAI,EAAE,EAAE,aAAa,IAAI,EAAE,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,yBAAyB,CAAC,GAAG,KAAK,GAAG,mBAAmB;GACzJ,IAAI,IAAI,GAAE,CAAC,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI;GAC1G,SAAS,IAAI;IACZ,IAAI,CAAC,GAAG,EAAE;GACX;GACA,SAAS,IAAI;IACZ,EAAE,GAAG,EAAE;GACR;GACA,SAAS,IAAI;IACZ,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;GAC/C;GACA,eAAe,IAAI;IAClB,IAAI;KACH,WAAW,IAAI,KAAK,GAAG;MACtB,IAAI,GAAG;MACP,IAAI,EAAE,SAAS,MAAM,IAAI,EAAE;MAC3B,IAAI;OACH,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG;OAC1B,IAAI,EAAE,CAAC;MACR,SAAS,GAAG;OACX,IAAI,EAAE,CAAC;MACR;MACA,KAAK,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,KAAK,KAAK,MAAM,MAAM,IAAI,GAAG,MAAM;OACvG,IAAI;MACL,CAAC;KACF;KACA,EAAE,KAAK,CAAC;IACT,SAAS,GAAG;KACX,IAAI,IAAI,EAAE,CAAC;KACX,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;IACrB,UAAU;KACT,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG;IACrB;GACD;GACA,EAAE;GACF,IAAI;IACH,SAAS;KACR,OAAO,EAAE,SAAS,IAAI;MACrB,IAAI,IAAI,MAAM,EAAE;MAChB,IAAI,MAAM,GAAG;MACb,IAAI,EAAE,SAAS,MAAM,IAAI,EAAE;MAC3B,MAAM,MAAM,MAAM,IAAI,EAAE,MAAM,GAAG,EAAE;KACpC;KACA,MAAM,IAAI,GAAG,MAAM;MAClB,IAAI;KACL,CAAC;IACF;GACD,UAAU;IACT,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG;GACrB;EACD,EAAE,KAAK,IAAI;CACZ;CACA,SAAS,EAAE,IAAI,KAAK,GAAG;EACtB,OAAO,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB,GAAG,mBAAmB;GAC3G,IAAI,IAAI;GACR,WAAW,IAAI,KAAK,MAAM;IACzB,IAAI;IACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC;IAC5F,MAAM,CAAC,KAAK,CAAC;GACd;EACD,EAAE,KAAK,IAAI;CACZ;CACA,eAAe,EAAE,GAAG,IAAI,KAAK,GAAG;EAC/B,WAAW,IAAI,KAAK,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC;EAChD,OAAO,CAAC;CACT;CACA,eAAe,EAAE,GAAG,IAAI,KAAK,GAAG;EAC/B,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,eAAe,GAAG,CAAC;EAC9E,OAAO,CAAC,MAAM,EAAE,KAAK,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;CAC7D;CACA,eAAe,EAAE,GAAG,GAAG;EACtB,WAAW,IAAI,KAAK,EAAE,KAAK,MAAM,GAAG,CAAC,GAAG,OAAO;CAChD;CACA,eAAe,EAAE,GAAG,GAAG;EACtB,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,eAAe,GAAG,CAAC;EAC9E,eAAe,EAAE,GAAG,GAAG;GACtB,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG;EACvB;EACA,WAAW,IAAI,KAAK,EAAE,KAAK,MAAM,GAAG,CAAC;CACtC;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,MAAM,CAAC,YAAY,eAAe,GAAG,CAAC;EAC9E,eAAe,EAAE,GAAG,GAAG;GACtB,OAAO,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI;EAC5B;EACA,OAAO,EAAE,KAAK,MAAM,GAAG,CAAC;CACzB;CACA,IAAI,IAAI,cAAc,EAAE;EACvB,cAAc;GACb,MAAM,QAAQ,GAAG,KAAK,UAAU;EACjC;CACD;CACA,eAAe,GAAG,GAAG,GAAG,GAAG;EAC1B,IAAI;EACJ,IAAI,OAAO,KAAK,YAAY,MAAM,IAAI,EAAE,WAAW,CAAC,YAAY,eAAe,GAAG,CAAC;EACnF,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB;EAC/E,IAAI,IAAI,UAAU,SAAS;EAC3B,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS;GACrD,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC;GAChD,MAAM,KAAK,KAAK,eAAe,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,QAAQ,CAAC,CAAC,GAAG;EAC/D;EACA,IAAI,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE;EACvB,IAAI,KAAK,QAAQ,EAAE,QAAQ;GAC1B,IAAI,IAAI;IACP,MAAM,CAAC;KACN,IAAI;KACJ,IAAI,CAAC;GACP;GACA,EAAE,OAAO,iBAAiB,eAAe,EAAE,MAAM,GAAG,CAAC;EACtD;EACA,IAAI,IAAI,CAAC;EACT,IAAI;GACH,WAAW,IAAI,KAAK,MAAM;IACzB,IAAI;IACJ,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE;IAC1E,IAAI,IAAI,MAAM,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;GACrD;GACA,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,EAAE;EAC3B,UAAU;GACT,EAAE,MAAM;EACT;EACA,OAAO;CACR;CACA,eAAe,EAAE,GAAG;EACnB,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB;EAC/E,IAAI,IAAI,CAAC;EACT,WAAW,IAAI,KAAK,MAAM;GACzB,IAAI;GACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE,OAAO,EAAE,OAAO,OAAO,CAAC;GACpG,EAAE,GAAG,CAAC;EACP;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,IAAI,EAAE,KAAK,MAAM,GAAG,CAAC;EACzB,OAAO,mBAAmB;GACzB,WAAW,IAAI,KAAK,GAAG,OAAO;EAC/B,EAAE,KAAK,IAAI;CACZ;CACA,SAAS,GAAE,GAAG;EACb,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;EAC3B,IAAI,IAAI,GAAG,MAAM,IAAI,EAAE,UAAU,QAAQ,CAAC;EAC1C,OAAO;CACR;CACA,SAAS,GAAG,GAAG,IAAI,KAAK,GAAG;EAC1B,OAAO,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB,GAAG,IAAI,GAAE,CAAC,GAAG,mBAAmB;GACrH,IAAI;GACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE;GAClE,WAAW,IAAI,KAAK,MAAM;IACzB,IAAI;IACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE;IAClE,OAAO,MAAM,MAAM;GACpB;EACD,EAAE,KAAK,IAAI;CACZ;CACA,SAAS,EAAG,GAAG,IAAI,KAAK,GAAG;EAC1B,OAAO,KAAK,QAAQ,EAAE,GAAG,SAAS,GAAG,GAAG,UAAU,QAAQ,EAAE,EAAE,QAAQ,gBAAgB,GAAG,IAAI,GAAE,CAAC,GAAG,mBAAmB;GACrH,IAAI;GACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE;GAClE,WAAW,IAAI,KAAK,MAAM;IACzB,IAAI;IACJ,IAAI,KAAK,SAAS,IAAI,EAAE,WAAW,QAAQ,EAAE,SAAS,MAAM,IAAI,EAAE;IAClE,IAAI,MAAM,MAAM,MAAM,IAAI,KAAK,GAAG;GACnC;EACD,EAAE,KAAK,IAAI;CACZ;CACA,EAAE,QAAQ,2BAA2B;EACpC,gBAAgB,EAAE,GAAG,8DAA8D;EACnF,MAAM;EACN,QAAQ;EACR,SAAS;EACT,KAAK;EACL,MAAM;EACN,SAAS;CACV,GAAG,EAAE,QAAQ,4BAA4B;EACxC,OAAO;EACP,SAAS;EACT,QAAQ;EACR,SAAS;EACT,MAAM;EACN,MAAM;CACP;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,GAAG,EAAE,YAAY,GAAG,cAAc,GAAG,aAAa,MAAM,GAAG,GAAG,EAAE,cAAc,MAAM,GAAG,GAAG,EAAE,UAAU,MAAM,GAAG;CAC5J,GAAG;CACH,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,IAAI,GAAG,GAAG,MAAM;GACtB,IAAI,GAAG,GAAG,IAAI,EAAE,EAAE,SAAS;GAC3B,IAAI,KAAK,OAAO,KAAK,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;IACzD,IAAI,IAAI,EAAE,CAAC;IACX,IAAI,EAAE,QAAQ,IAAI,EAAE;GACrB;GACA,EAAE,IAAI,GAAG,MAAM;IACd,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;GACf,GAAG;IACF,QAAQ;IACR,KAAK;GACN,CAAC;EACF,CAAC;CACF;CACA,EAAE,UAAU;EACX,UAAU;EACV,UAAU;CACX;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,EAAE,QAAQ,MAAM,GAAE,GAAG,EAAE,sBAAsB,GAAG,YAAY,GAAG,cAAc,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,QAAQ,GAAE,GAAG,EAAE,0BAA0B,GAAG,2BAA2B,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,yBAAyB,QAAQ,GAAE,GAAG,IAAI,GAAG,GAAG,EAAE,yBAAyB,GAAG,yBAAyB,MAAM,GAAG,GAAG,EAAE,UAAU,MAAM,GAAG,GAAG,EAAE,WAAW,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC;CACxa,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,GAAG;CACnK,KAAK,IAAI,KAAK,EAAE,CAAC,GAAG;EACnB,IAAI,IAAI,EAAE;EACV,SAAS,EAAE,GAAG,GAAG;GAChB,IAAI,YAAY,MAAM,EAAE;GACxB,OAAO,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC;EACrC;EACA,EAAE,GAAG,QAAQ;GACZ,WAAW;GACX,OAAO,EAAE;EACV,CAAC,GAAG,EAAE,GAAG,UAAU;GAClB,WAAW;GACX,OAAO,EAAE;EACV,CAAC,GAAG,EAAE,EAAE,SAAS,WAAW,GAAG;GAC9B,WAAW;GACX,OAAO;GACP,YAAY,CAAC;GACb,cAAc,CAAC;GACf,UAAU,CAAC;EACZ,CAAC;CACF;CACA,KAAK,IAAI,KAAK,EAAE,CAAC,GAAG;EACnB,IAAI,IAAI,EAAE;EACV,SAAS,EAAE,GAAG,GAAG;GAChB,IAAI,YAAY,MAAM,EAAE;GACxB,OAAO,EAAE,GAAG,MAAM,CAAC;EACpB;EACA,EAAE,GAAG,QAAQ;GACZ,WAAW;GACX,OAAO,EAAE;EACV,CAAC,GAAG,EAAE,GAAG,UAAU;GAClB,WAAW;GACX,OAAO,EAAE;EACV,CAAC,GAAG,EAAE,EAAE,SAAS,WAAW,GAAG;GAC9B,WAAW;GACX,OAAO;GACP,YAAY,CAAC;GACb,cAAc,CAAC;GACf,UAAU,CAAC;EACZ,CAAC;CACF;CACA,EAAE,WAAW,GAAG,GAAG,EAAE,SAAS,GAAG,GAAG,EAAE,YAAY,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAAE,WAAW;CAC3F,IAAI,EAAE,gBAAgB,MAAM,GAAG;CAC/B,EAAE,iBAAiB,GAAG,EAAE,WAAW,GAAG,EAAE,UAAU,GAAG,EAAE,UAAU,GAAG,EAAE,0BAA0B,GAAG,EAAE,0BAA0B,GAAG,EAAE,GAAG,YAAY;EAClJ,WAAW;EACX,cAAc,CAAC;EACf,YAAY,CAAC;EACb,MAAM;GACL,OAAO;EACR;CACD,CAAC,GAAG,EAAE,GAAG,GAAG;EACX,WAAW;EACX,YAAY,CAAC;EACb,MAAM;GACL,OAAO,EAAE;EACV;CACD,CAAC,GAAG,EAAE,GAAG,GAAG;EACX,WAAW;EACX,YAAY,CAAC;EACb,MAAM;GACL,OAAO,EAAE;EACV;CACD,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,gBAAgB,SAAS,GAAG;EAC/C,OAAO,aAAa;CACrB,GAAG,EAAE,sBAAsB,SAAS,GAAG;EACtC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU;CACnD;AACD,EAAE,GAAG,KAAqB,oBAAI,GAAG,MAAM;CACtC,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,SAAS;CACvC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,sBAAsB,EAAE,qBAAqB,EAAE,QAAQ,gBAAgB,EAAE,eAAe,EAAE,QAAQ,cAAc,EAAE,aAAa,EAAE,QAAQ,YAAY,EAAE,WAAW,EAAE,QAAQ,aAAa,EAAE,YAAY,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,QAAQ,SAAS,EAAE,QAAQ,EAAE,QAAQ,YAAY,EAAE,WAAW,EAAE,QAAQ,cAAc,EAAE,aAAa,EAAE,QAAQ,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,QAAQ,UAAU,EAAE,SAAS,EAAE,QAAQ,UAAU,GAAG,EAAE,QAAQ,WAAW,EAAE,UAAU,EAAE,QAAQ,UAAU,EAAE,SAAS,OAAO,eAAe,GAAG,YAAY;EAC1nB,cAAc,CAAC;EACf,YAAY,CAAC;EACb,MAAM;GACL,OAAO;EACR;CACD,CAAC,GAAG,EAAE,QAAQ,SAAS,EAAE,QAAQ,EAAE,QAAQ,UAAU,EAAE;AACxD,EAAE;AACF,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG;CACxB,IAAI,MAAM,GAAG,OAAO,OAAO,OAAO,GAAG,CAAC;CACtC,KAAK,IAAI,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,OAAO,IAAI,GAAG,EAAE,IAAI,IAAI,CAAC;CACnE,OAAO;AACR;AACA,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG;CACxB,IAAI,IAAI,CAAC;CACT,KAAK,IAAI,KAAK,GAAG,IAAI,KAAK,GAAG;EAC5B,IAAI,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;EAC7C,IAAI,MAAM,CAAC,GAAG,MAAM,OAAO,OAAO,IAAI,GAAG,EAAE,KAAK;OAC3C,IAAI,MAAM,GAAG,OAAO,CAAC;CAC3B;CACA,OAAO;AACR;AACA,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG;CACxB,IAAI,IAAI,CAAC;CACT,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,MAAM,OAAO,OAAO,IAAI,GAAG,EAAE,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC;MAChG,IAAI,MAAM,GAAG;EACjB,IAAI,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;EAC5B,IAAI,MAAM,CAAC,GAAG,MAAM,OAAO,OAAO,IAAI,GAAG,EAAE,KAAK;OAC3C,IAAI,MAAM,GAAG,OAAO,CAAC;CAC3B;CACA,OAAO;AACR;AACA,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG;CACxB,IAAI,IAAI,EAAE;CACV,IAAI,KAAK,EAAE,KAAK,IAAI,OAAO,CAAC;CAC5B,IAAI,IAAI,CAAC;CACT,KAAK,IAAI,KAAK,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG;EACpC,IAAI,IAAI,MAAM,IAAI,OAAO,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;EAC1C,MAAM,CAAC,MAAM,MAAM,OAAO,OAAO,IAAI,GAAG,EAAE,KAAK;CAChD;CACA,OAAO;AACR;AACA,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,UAAS;CACrC,KAAK,GAAG,GAAG,GAAG,GAAG,GAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,OAAO,MAAM,GAAG,KAAK,MAAM;EACjE,YAAY,IAAI,CAAC,GAAG;GACnB,KAAK,MAAM,GAAG,KAAK,OAAO,OAAO,OAAO,IAAI,GAAG,KAAK,KAAK,MAAM,GAAG,KAAK,YAAY,OAAO,OAAO,IAAI,GAAG,KAAK,UAAU,KAAK,IAAI,KAAK,kBAAkB,GAAG,KAAK,WAAW,EAAE,WAAW;EACxL;EACA,YAAY,GAAG;GACd,IAAI,EAAE,OAAO,KAAK;IACjB,IAAI,IAAI,KAAK,WAAW,IAAI,EAAE,MAAM,GAAG;IACvC,OAAO,KAAK,SAAS,KAAK,KAAK,YAAY,EAAE,EAAE,GAAG,GAAG,KAAK,YAAY,EAAE,EAAE,GAAG,GAAG,KAAK,YAAY,EAAE,EAAE,GAAG,GAAG,EAAE,MAAM,KAAK,YAAY,EAAE,EAAE,GAAG,CAAC;GAC7I;GACA,OAAO,GAAE,GAAG,KAAK,QAAQ;EAC1B;EACA,iBAAiB,GAAG;GACnB,IAAI,EAAE,aAAa,QAAQ;IAC1B,IAAI,IAAI,KAAK,iBAAiB,EAAE,OAAO,GAAG,IAAI,KAAK,iBAAiB,EAAE,SAAS,GAAG,IAAI,KAAK,iBAAiB,EAAE,MAAM,GAAG;IACvH,OAAO,KAAK,KAAK,MAAM,GAAG,EAAE,KAAK,MAAM,IAAI,KAAK,iBAAiB,EAAE,KAAK,OAAO,KAAK,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG;GACrI;GACA,OAAO,KAAK,KAAK,GAAG,CAAC;EACtB;EACA,oBAAoB,GAAG;GACtB,IAAI,IAAI,KAAK,EAAE,aAAa,SAAS,IAAI,KAAK,oBAAoB,EAAE,OAAO,EAAE,GAAG,KAAK,oBAAoB,EAAE,SAAS,EAAE,GAAG,KAAK,oBAAoB,EAAE,MAAM,IAAI,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,KAAK,oBAAoB,EAAE,KAAK,QAAQ,GAAG,CAAC;GACjO,OAAO,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK,UAAU,EAAE,KAAK,OAAO,KAAK,KAAK;EAC1E;EACA,gBAAgB,GAAG;GAClB,IAAI,GAAG;GACP,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,KAAK,IAAI,IAAI;QACvD;IACJ,IAAI,MAAM,KAAK;UACT,KAAK,KAAK;GACjB,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,KAAK,UAAU,KAAK,OAAO,GAAG,KAAK,SAAS,UAAU,EAAE,OAAO,CAAC,CAAC;EACpG;CACD,GAAG,KAAK,MAAM,EAAE;EACf,YAAY,GAAG,GAAG;GACjB,KAAK,QAAQ,GAAG,KAAK,UAAU,OAAO,OAAO,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,MAAM,OAAO,EAAE,SAAS,eAAe,IAAI,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,WAAW,EAAE,WAAW,IAAI,KAAK,eAAe,EAAE,eAAe,IAAI,GAAG,EAAE,SAAS,KAAK,SAAS,CAAC,GAAG,KAAK,YAAY,KAAK,aAAa,WAAW,KAAK,cAAc,KAAK,aAAa,YAAY,KAAK,KAAK,YAAY,GAAG,KAAK,mBAAmB,KAAK,aAAa,iBAAiB,KAAK,KAAK,YAAY,GAAG,KAAK,sBAAsB,KAAK,aAAa,oBAAoB,KAAK,KAAK,YAAY,GAAG,KAAK,KAAK,OAAO,CAAC;EACxiB;EACA,IAAI,OAAO;GACV,IAAI,IAAI,KAAK;GACb,IAAI,MAAM,MAAM,OAAO;GACvB,IAAI;GACJ,IAAI,IAAI,KAAK,SAAS,GAAG;GACzB,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,UAAU,KAAK,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,OAAO,KAAK,EAAE,EAAE,CAAC,CAAC;GACjG,OAAO,KAAK,QAAQ;EACrB;EACA,YAAY,GAAG,GAAG,GAAG,GAAG;GACvB,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK;GAC/D,OAAO,MAAM,EAAE,KAAK,OAAO,CAAC;EAC7B;EACA,iBAAiB,GAAG,GAAG,GAAG,GAAG;GAC5B,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE;GACpB,OAAO,EAAE;GACT,KAAK,IAAI,KAAK,GAAG;GACjB,OAAO,EAAE;GACT,KAAK,IAAI,KAAK,GAAG;GACjB,OAAO,EAAE;EACV;EACA,CAAC,aAAa,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;GACrC,IAAI,GAAG,GAAG,GAAG,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,EAAE,EAAE,GAAG,IAAI;IAChE,SAAS;IACT,WAAW;IACX,QAAQ;GACT;GACA,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAA,CAAG,KAAK,EAAE;GAC7B,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI;IAC9B,EAAE,KAAK,KAAK,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAA,CAAG,KAAK,EAAE;IAC5D,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI;KAC9B,EAAE,KAAK,KAAK,YAAY,EAAE,EAAE;KAC5B,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC;KAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,EAAE,KAAK,KAAK,YAAY,EAAE,EAAE,GAAG,GAAG,MAAM,KAAK,SAAS,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;IAClI;GACD;EACD;EACA,MAAM,GAAG,GAAG;GACX,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC;EACrB;EACA,YAAY,GAAG,GAAG,GAAG;GACpB,IAAI,GAAG;GACP,IAAI,IAAI,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;EAC/B;EACA,YAAY,GAAG,GAAG,GAAG;GACpB,IAAI,GAAG;GACP,KAAK,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;EACnC;EACA,aAAa,GAAG,GAAG,GAAG,GAAG;GACxB,IAAI,GAAG,GAAG;GACV,KAAK,IAAI,EAAE,QAAQ,IAAI,EAAE,KAAK,KAAK,KAAK,GAAG,EAAE,CAAC;EAC/C;EACA,cAAc,GAAG,GAAG,GAAG,GAAG;GACzB,IAAI,IAAI,GAAG,GAAG,GAAG;GACjB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAA,CAAG,KAAK,EAAE;GAC7B,KAAK,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,IAAI;IAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,EAAA,CAAG,KAAK,EAAE;IAC7B,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,KAAK,KAAK,MAAM,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC;GACzE;GACA,OAAO;EACR;EACA,WAAW,GAAG;GACb,OAAO,IAAI,MAAM,KAAK,IAAI,MAAM,KAAK,iBAAiB,CAAC,KAAK,KAAK,OAAO,KAAK,WAAW,GAAG,IAAI,KAAK,QAAQ,GAAG,IAAI,KAAK;EACzH;EACA,gBAAgB,GAAG;GAClB,IAAI,IAAI,OAAO,OAAO,IAAI;GAC1B,QAAQ,MAAM;IACb,KAAK,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,UAAU,IAAI,KAAK,QAAQ,CAAC;GAC3E;EACD;EACA,IAAI,GAAG;GACN,OAAO,KAAK,QAAQ,CAAC,GAAG;EACzB;EACA,QAAQ,GAAG,GAAG,GAAG,GAAG;GACnB,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,QAAQ,IAAI,EAAE,WAAW,IAAI,EAAE,UAAU,IAAI,IAAI,KAAK,oBAAoB,CAAC,IAAI;GACxG,IAAI,IAAI,KAAK,QAAQ;GACrB,OAAO,MAAM,IAAI,KAAK,QAAQ,KAAK;IAClC,UAAU,CAAC;IACX,YAAY,CAAC;IACb,SAAS,CAAC;GACX,GAAG,OAAO,OAAO,CAAC,IAAI,IAAI,KAAK,oBAAoB,CAAC,GAAG,IAAI,KAAK,oBAAoB,CAAC,GAAG,IAAI,KAAK,oBAAoB,CAAC,GAAG,KAAK,YAAY,EAAE,UAAU,GAAG,GAAG,CAAC,KAAK,KAAK,YAAY,EAAE,YAAY,GAAG,GAAG,CAAC,GAAG,KAAK,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,QAAQ,MAAM,CAAC,KAAK,CAAC;EAC5Q;EACA,SAAS,GAAG;GACX,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,QAAQ,EAAE,EAAE;EACrD;EACA,OAAO,GAAG;GACT,OAAO,KAAK,WAAW,CAAC,GAAG;EAC5B;EACA,IAAI,GAAG,GAAG,GAAG,GAAG;GACf,OAAO,KAAK,EAAE,YAAY,CAAC,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,CAAC,KAAK,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;EACpH;EACA,OAAO,GAAG;GACT,OAAO,EAAE,GAAG,SAAS,MAAM;IAC1B,KAAK,QAAQ,CAAC;GACf,CAAC,GAAG;EACL;EACA,WAAW,GAAG,GAAG,GAAG,GAAG;GACtB,MAAM,CAAC,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,iBAAiB,CAAC,IAAI;GAC/F,IAAI,IAAI,KAAK,SAAS,GAAG,GAAG;GAC5B,IAAI,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC;GAC5L,KAAK,KAAK,KAAK,iBAAiB,EAAE,UAAU,GAAG,GAAG,CAAC,GAAG,KAAK,iBAAiB,EAAE,YAAY,GAAG,GAAG,CAAC,GAAG,KAAK,iBAAiB,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,UAAU,QAAQ,KAAK,SAAS,EAAE,UAAU,OAAO,CAAC;GACxM,OAAO,OAAO,EAAE,IAAI,CAAC;EACtB;EACA,YAAY,GAAG;GACd,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,WAAW,EAAE,EAAE;EACxD;EACA,OAAO,GAAG;GACT,OAAO,EAAE,GAAG,SAAS,MAAM;IAC1B,KAAK,WAAW,CAAC;GAClB,CAAC,GAAG;EACL;EACA,cAAc,GAAG,GAAG,GAAG,GAAG;GACzB,IAAI,IAAI,IAAI,GAAG,SAAS,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,KAAK,UAAU,GAAG,GAAG,GAAG,CAAC;GAC1E,OAAO,EAAE,SAAS,MAAM;IACvB,OAAO,EAAE,KAAK,IAAI;KACjB,IAAI,EAAE,MAAM,GAAG,OAAO,MAAM,EAAE,KAAK;KACnC,IAAI,GAAG;MACN,EAAE,KAAK,IAAI;MACX;KACD;KACA,EAAE,KAAK,CAAC;IACT;GACD,GAAG,KAAK,OAAO,CAAC;EACjB;EACA,YAAY,GAAG;GACd,OAAO,KAAK,cAAc,MAAM,MAAM,MAAM,CAAC;EAC9C;EACA,SAAS,GAAG,GAAG,GAAG,GAAG;GACpB,OAAO,CAAC,GAAG,KAAK,UAAU,GAAG,GAAG,GAAG,CAAC,CAAC;EACtC;EACA,CAAC,UAAU,GAAG,GAAG,GAAG,GAAG;GACtB,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG;GACrC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,OAAO,KAAK,aAAa,EAAE,SAAS,GAAG,GAAG,GAAG,UAAU,WAAW,aAAa,CAAC,IAAI,OAAO,KAAK,aAAa,EAAE,UAAU,GAAG,GAAG,MAAM,WAAW,aAAa,UAAU,CAAC,IAAI,IAAI,OAAO,KAAK,aAAa,EAAE,YAAY,GAAG,GAAG,MAAM,aAAa,UAAU,WAAW,CAAC,IAAI,IAAI,OAAO,KAAK,aAAa,EAAE,SAAS,GAAG,MAAM,MAAM,UAAU,WAAW,aAAa,CAAC,IAAI,OAAO,KAAK,aAAa,EAAE,UAAU,MAAM,MAAM,MAAM,WAAW,aAAa,UAAU,CAAC;EACxmB;EACA,MAAM,GAAG,GAAG,GAAG,GAAG;GACjB,OAAO,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,EAAE,aAAa,KAAK,aAAa,CAAC;EACnE;EACA,WAAW,GAAG,GAAG,GAAG,GAAG;GACtB,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG;GAC5C,IAAI,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,IAAI,OAAO;GACjI,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,IAAI,KAAK,cAAc,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,UAAU,GAAG,GAAG,CAAC,IAAI,IAAI,KAAK,cAAc,EAAE,YAAY,GAAG,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,SAAS,GAAG,GAAG,CAAC;GACrN,OAAO;EACR;EACA,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG;GACtB,KAAK,MAAM,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;EAC9C;EACA,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG;GACpB,OAAO,CAAC,KAAK,MAAM,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;EACjD;EACA,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;GACnB,KAAK,IAAI,KAAK,KAAK,UAAU,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;GAClE,OAAO,CAAC;EACT;EACA,YAAY,GAAG,GAAG,GAAG;GACpB,IAAI,IAAI,CAAC;GACT,OAAO,KAAK,aAAa,MAAM;IAC9B,EAAE,KAAK,CAAC;GACT,GAAG,GAAG,GAAG,CAAC,GAAG;EACd;EACA,YAAY,GAAG,GAAG,GAAG,GAAG;GACvB,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,GAAG,GAAG;GAClC,IAAI,IAAI,KAAK,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,KAAK,aAAa,EAAE,YAAY,GAAG,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,UAAU,GAAG,CAAC,IAAI,IAAI,KAAK,YAAY,EAAE,SAAS,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,UAAU,CAAC;EACvS;EACA,cAAc,GAAG,GAAG,GAAG;GACtB,IAAI,IAAI,CAAC;GACT,OAAO,KAAK,eAAe,MAAM;IAChC,EAAE,KAAK,CAAC;GACT,GAAG,GAAG,GAAG,CAAC,GAAG;EACd;EACA,cAAc,GAAG,GAAG,GAAG,GAAG;GACzB,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,GAAG,GAAG;GAClC,IAAI,IAAI,KAAK,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,KAAK,aAAa,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,UAAU,GAAG,CAAC,IAAI,IAAI,KAAK,YAAY,EAAE,YAAY,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,YAAY,CAAC;EACzS;EACA,WAAW,GAAG,GAAG,GAAG;GACnB,IAAI,IAAI,CAAC;GACT,OAAO,KAAK,YAAY,MAAM;IAC7B,EAAE,KAAK,CAAC;GACT,GAAG,GAAG,GAAG,CAAC,GAAG;EACd;EACA,WAAW,GAAG,GAAG,GAAG,GAAG;GACtB,IAAI,IAAI,KAAK,WAAW,CAAC,GAAG,GAAG,GAAG;GAClC,IAAI,IAAI,KAAK,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,KAAK,aAAa,EAAE,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,SAAS,GAAG,CAAC,IAAI,IAAI,KAAK,YAAY,EAAE,YAAY,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,SAAS,CAAC;EACtS;EACA,UAAU,GAAG,GAAG,GAAG;GAClB,IAAI,IAAI,CAAC;GACT,OAAO,KAAK,WAAW,MAAM;IAC5B,EAAE,KAAK,CAAC;GACT,GAAG,GAAG,GAAG,CAAC,GAAG;EACd;EACA,UAAU,GAAG,GAAG,GAAG,GAAG;GACrB,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,MAAM,OAAO,EAAE,EAAE,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,KAAK,YAAY,KAAK,UAAU,EAAE,CAAC;EAC5G;EACA,gBAAgB,GAAG;GAClB,OAAO,KAAK,aAAa,gBAAgB,CAAC;EAC3C;EACA,aAAa,EAAE,QAAQ,IAAI,CAAC,GAAG,cAAc,IAAI,CAAC,MAAM,CAAC,GAAG;GAC3D,IAAI,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC,OAAO,GAAG,MAAM;IAC3C,MAAM,MAAM,GAAG,EAAE,MAAM,GAAG,GAAG;GAC9B,IAAI,IAAI,KAAK,SAAS,MAAM,GAAE,IAAI,MAAM,GAAE,IAAI,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;GAC5E,OAAO,EAAE,SAAS,MAAM;IACvB,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE;IAC7C,OAAO,KAAK,CAAC,IAAI;KAChB,IAAI,IAAI,KAAK,SAAS,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,MAAM,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,IAAI,MAAM,IAAI;KAC/G,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,GAAG,KAAK,IAAI,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,GAAG,uBAAuB,IAAI,EAAE,UAAU,UAAU,GAAE,IAAI,QAAQ,IAAI,IAAI,EAAE,GAAG,6BAA6B,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,UAAU,UAAU,GAAE,IAAI,OAAO,IAAI,IAAI,EAAE,GAAG,4BAA4B,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,GAAG,6BAA6B,KAAK,IAAI,GAAG,IAAI,aAAa,IAAI,EAAE,GAAG,8BAA8B;KACta,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,yBAAyB,IAAI,EAAE,UAAU,UAAU,GAAE,IAAI,OAAO,IAAI,IAAI,EAAE,GAAG,4BAA4B,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI;KACjM,IAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,GAAG,kBAAkB,GAAG,IAAI,KAAK,EAAE;IACpE;IACA,IAAI,IAAI,CAAC,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC,SAAS;GACpC,CAAC,GAAG,KAAK,KAAK,YAAY,CAAC,GAAG;EAC/B;EACA,OAAO,GAAG;GACT,IAAI,aAAa,OAAO,IAAI,EAAE,WAAW,MAAM,QAAQ,CAAC,GAAG,KAAK,SAAS,CAAC;QACrE,IAAI,aAAa,KAAK,EAAE,iBAAiB,KAAK,cAAc,EAAE,UAAU,MAAM,KAAK,UAAU,GAAG,KAAK,SAAS,EAAE,OAAO,GAAG,KAAK,QAAQ;QACvI,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,CAAC;GAChC,OAAO;EACR;EACA,SAAS,GAAG;GACX,IAAI,aAAa,OAAO,IAAI,EAAE,WAAW,MAAM,MAAM,OAAO,CAAC;GAC7D,IAAI,EAAE,aAAa,MAAM,KAAK,iBAAiB,EAAE,cAAc,OAAO,EAAE,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC;GAChG,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,SAAS,GAAG,GAAG,GAAG,GAAG;GACjD,KAAK,IAAI,KAAK,GAAG;IAChB,IAAI,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC;IACzB,IAAI,EAAE;IACN,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,UAAU;KAChC,IAAI,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC;KACzB,KAAK,IAAI,KAAK,IAAI,EAAE,IAAI;MACvB,IAAI,EAAE,IAAI,EAAE,KAAK,OAAO,CAAC;MACzB,KAAK,IAAI,KAAK,EAAE,IAAI,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC;KAC5C;IACD;GACD;GACA,OAAO,CAAC;EACT;EACA,cAAc,GAAG,GAAG,GAAG,GAAG;GACzB,KAAK,IAAI,KAAK,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC;GACvD,OAAO;EACR;EACA,WAAW,GAAG;GACb,IAAI,KAAK,aAAa,OAAO,IAAI,EAAE,WAAW,MAAM,MAAM,OAAO,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC;GACzG,IAAI,aAAa,KAAK,EAAE,iBAAiB,KAAK,cAAc;IAC3D,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC,GAAG,IAAI,GAAG,KAAK,SAAS,EAAE,OAAO;IACjF,OAAO,MAAM,EAAE,UAAU,GAAG,EAAE,QAAQ,OAAO;GAC9C;GACA,OAAO,KAAK,QAAQ,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;EACpC;EACA,OAAO,GAAG;GACT,OAAO,aAAa,OAAO,IAAI,EAAE,WAAW,MAAM,QAAQ,KAAK,SAAS,EAAE,QAAQ,KAAK,SAAS,CAAC;EAClG;EACA,OAAO,GAAG;GACT,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC;GAChD,KAAK,IAAI,KAAK,MAAM,EAAE,GAAG,IAAI,KAAK,EAAE,IAAI,CAAC;GACzC,OAAO;EACR;EACA,aAAa,GAAG;GACf,IAAI,aAAa,OAAO,IAAI,EAAE,WAAW,MAAM,MAAM;IACpD,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC;IAChD,OAAO,EAAE,UAAU,GAAG,OAAO,OAAO,IAAI,GAAG,KAAK,OAAO,GAAG,EAAE,QAAQ,KAAK,OAAO;GACjF;GACA,IAAI,aAAa,KAAK,KAAK,iBAAiB,EAAE,cAAc;IAC3D,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC,GAAG,IAAI,GAAG,EAAE,SAAS,KAAK,OAAO;IACjF,OAAO,MAAM,EAAE,UAAU,GAAG,EAAE,QAAQ,OAAO;GAC9C;GACA,OAAO,KAAK,QAAQ,MAAM,EAAE,IAAI,CAAC,CAAC;EACnC;EACA,IAAI,GAAG;GACN,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC;GAChD,KAAK,IAAI,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;GACpC,OAAO;EACR;EACA,OAAO,GAAG,GAAG;GACZ,IAAI,IAAI,KAAK,UAAU,GAAG,IAAI,MAAM,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ;GAC9D,KAAK,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI;GACjC,OAAO;EACR;EACA,UAAU;GACT,OAAO,KAAK,SAAS;EACtB;EACA,cAAc;GACb,MAAM,MAAM,iBAAiB;EAC9B;EACA,WAAW;GACV,OAAO,KAAK,MAAM;EACnB;EACA,WAAW;GACV,OAAO,IAAI,GAAG,CAAC,CAAC,cAAc,IAAI;EACnC;EACA,MAAM,GAAG;GACR,IAAI,IAAI,IAAI,EAAE,EAAE,aAAa,KAAK,aAAa,CAAC;GAChD,OAAO,EAAE,UAAU,GAAG,OAAO,OAAO,IAAI,GAAG,KAAK,OAAO,GAAG,EAAE,QAAQ,KAAK,OAAO,EAAE,OAAO,CAAC,GAAG;EAC9F;EACA,EAAE,OAAO,YAAY;GACpB,OAAO,KAAK,UAAU;EACvB;CACD,GAAG,KAAK,MAAM,UAAU,GAAG,SAAS;EACnC,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG;GAC7B,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,OAAO,OAAO,MAAM;IAC9C,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,SAAS;GACV,CAAC;EACF;EACA,IAAI,WAAW;GACd,IAAI,CAAC,KAAK,WAAW;IACpB,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,MAAM,MAAM,IAAI,KAAK,YAAY,IAAI,GAAG;KACrG,SAAS,EAAE;KACX,aAAa,KAAK,QAAQ;IAC3B,CAAC,GAAG,GAAG,GAAG;IACV,IAAI,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,EAAE,iBAAiB,CAAC,IAAI,OAAO;IACxH,IAAI,IAAI,EAAE,WAAW,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG;KAChB,IAAI,GAAG,GAAG,GAAG;KACb,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,YAAY;MAC9C;MACA;MACA;KACD,CAAC,OAAO,IAAI,GAAG,EAAE,UAAU;MAC1B;MACA;MACA;KACD,CAAC,GAAG,IAAI,GAAG,EAAE,SAAS;MACrB;MACA;MACA;KACD,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,SAAS;MAC5B;MACA;MACA;KACD,CAAC,OAAO,IAAI,GAAG,EAAE,UAAU;MAC1B;MACA;MACA;KACD,CAAC,GAAG,IAAI,GAAG,EAAE,YAAY;MACxB;MACA;MACA;KACD,CAAC,MAAM,IAAI,GAAG,EAAE,UAAU;MACzB;MACA;MACA;KACD,CAAC,OAAO,IAAI,GAAG,EAAE,YAAY;MAC5B;MACA;MACA;KACD,CAAC,GAAG,IAAI,GAAG,EAAE,SAAS;MACrB;MACA;MACA;KACD,CAAC,IAAI,MAAM,EAAE,QAAQ,KAAK;MACzB,UAAU;MACV,YAAY;MACZ,SAAS;KACV;IACD;IACA,EAAE,QAAQ;GACX;GACA,OAAO,KAAK;EACb;EACA,IAAI,OAAO;GACV,OAAO,KAAK,SAAS;EACtB;EACA,MAAM,GAAG;GACR,IAAI,KAAK,CAAC,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAO,SAAS,CAAC;GACxD,IAAI,IAAI,KAAK;GACb,OAAO,EAAE,KAAK,IAAI;IACjB,IAAI,EAAE,MAAM,GAAG,OAAO,MAAM,EAAE,KAAK;IACnC,IAAI,GAAG;KACN,KAAK,KAAK,IAAI;KACd;IACD;IACA,KAAK,KAAK,CAAC;GACZ;EACD;EACA,OAAO,GAAG;GACT,OAAO,KAAK,SAAS,OAAO,CAAC;EAC9B;EACA,SAAS,GAAG;GACX,OAAO,KAAK,SAAS,SAAS,CAAC;EAChC;EACA,cAAc,GAAG,GAAG,GAAG,GAAG;GACzB,OAAO,KAAK,SAAS,cAAc,GAAG,GAAG,GAAG,CAAC;EAC9C;EACA,WAAW,GAAG;GACb,OAAO,KAAK,SAAS,WAAW,CAAC;EAClC;EACA,OAAO,GAAG;GACT,OAAO,KAAK,SAAS,OAAO,CAAC;EAC9B;EACA,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG;GACpB,OAAO,KAAK,SAAS,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC;EACzC;EACA,OAAO,GAAG;GACT,OAAO,KAAK,SAAS,OAAO,CAAC;EAC9B;EACA,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG;GACtB,OAAO,KAAK,SAAS,QAAQ,GAAG,GAAG,GAAG,GAAG,CAAC;EAC3C;EACA,OAAO,GAAG;GACT,OAAO,KAAK,SAAS,OAAO,CAAC;EAC9B;EACA,aAAa,GAAG;GACf,OAAO,KAAK,SAAS,aAAa,CAAC;EACpC;EACA,IAAI,GAAG;GACN,OAAO,KAAK,SAAS,IAAI,CAAC;EAC3B;EACA,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;GACnB,OAAO,KAAK,SAAS,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;EACxC;EACA,cAAc;GACb,OAAO,KAAK,SAAS,YAAY;EAClC;EACA,WAAW;GACV,OAAO,KAAK,YAAY,KAAK,UAAU,SAAS,IAAI,KAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,WAAW,KAAK,QAAQ,KAAK,KAAK;EAC7H;EACA,MAAM,GAAG;GACR,OAAO,KAAK,YAAY,KAAK,UAAU,MAAM,CAAC,IAAI,KAAK,QAAQ,MAAM,KAAK,SAAS,KAAK,WAAW,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC;EACrI;EACA,UAAU;GACT,OAAO,KAAK,YAAY,KAAK,UAAU,QAAQ,IAAI,KAAK,QAAQ,SAAS,KAAK,SAAS,KAAK,WAAW,KAAK,QAAQ,KAAK,KAAK;EAC/H;EACA,OAAO,GAAG,GAAG;GACZ,OAAO,KAAK,SAAS,OAAO,GAAG,CAAC;EACjC;EACA,WAAW;GACV,OAAO,IAAI,GAAG,CAAC,CAAC,cAAc,IAAI;EACnC;EACA,IAAI,GAAG;GACN,OAAO,KAAK,SAAS,IAAI,CAAC;EAC3B;EACA,OAAO,GAAG;GACT,OAAO,KAAK,SAAS,OAAO,CAAC;EAC9B;EACA,IAAI,GAAG;GACN,OAAO,KAAK,SAAS,IAAI,CAAC;EAC3B;EACA,MAAM,GAAG,GAAG,GAAG,GAAG;GACjB,OAAO,IAAI,EAAE,KAAK,UAAU,GAAG,GAAG,GAAG,GAAG,KAAK,OAAO;EACrD;EACA,EAAE,OAAO,YAAY;GACpB,OAAO,KAAK,aAAa,KAAK,QAAQ,UAAU,KAAK,SAAS,KAAK,WAAW,KAAK,QAAQ,KAAK,KAAK;EACtG;CACD;AACD,EAAE,GAAG,IAAI,KAAK,UAAS;CACtB,GAAG,GAAG,KAAK,MAAM;EAChB,QAAQ,GAAG;GACV,OAAO,IAAI,GAAG,CAAC;EAChB;CACD;AACD,EAAE;AACF,SAAS,GAAG,GAAG;CACd,IAAI,IAAI,CAAC;CACT,KAAK,IAAI,EAAE,SAAS,GAAG,QAAQ,OAAO,EAAE,MAAM,MAAM,GAAG,UAAU,4CAA4C,GAAG,MAAM,GAAG,aAAa,CAAC,GAAG;EACzI,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,MAAM,MAAM,MAAM,CAAC,CAAC;EAC/E,EAAE,KAAK;GACN,SAAS;GACT,YAAY;EACb,CAAC;CACF;CACA,OAAO;AACR;AACA,SAAS,GAAG,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,KAAK,GAAG;CACvD,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC;CACjI,OAAO,CAAC,KAAK,IAAI;EAChB,SAAS;EACT,OAAO;GACN;GACA;GACA;EACD;CACD,IAAI,IAAI;EACP,SAAS;EACT,OAAO;GACN;GACA;GACA;EACD;CACD,IAAI;EACH,SAAS;EACT,OAAO;GACN;GACA;GACA;EACD;CACD;AACD;AACA,SAAS,GAAG,GAAG,GAAG;CACjB,OAAO,EAAE,UAAU,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE;AAC/D;AACA,IAAI,IAAI,KAAK,UAAS;CACrB,GAAG,GAAG,KAAK,MAAM;EAChB,YAAY,GAAG;GACd,KAAK,SAAS;EACf;EACA,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG;GACnB,KAAK,OAAO,YAAY,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,KAAK,OAAO,YAAY,EAAE,YAAY,GAAG,GAAG,CAAC,GAAG,KAAK,OAAO,YAAY,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,EAAE;EACjJ;EACA,iBAAiB,GAAG,GAAG,GAAG,IAAI,GAAG;GAChC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,UAAU,IAAI,EAAE,IAAI,EAAE;GAC5F,KAAK,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,IAAI;IAC9C,KAAK,KAAK,MAAM,EAAE,QAAQ,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,IAAI;KAC9F,KAAK,KAAK,MAAM,EAAE,QAAQ,OAAO,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,QAAQ,OAAO,CAAC,IAAI,MAAM,EAAE,QAAQ,SAAS,IAAI,EAAE,WAAW,SAAS,MAAM;MACrK,KAAK,KAAK,EAAE,QAAQ,OAAO,EAAE,UAAU,OAAO,EAAE,OAAO,OAAO,SAAS;OACtE,EAAE,CAAC;MACJ,CAAC;KACF,CAAC,IAAI,KAAK,iBAAiB,GAAG,GAAG,GAAG,IAAI,CAAC;KACzC,MAAM,EAAE,QAAQ;IACjB;IACA,MAAM,EAAE,QAAQ;GACjB;GACA,MAAM,EAAE,QAAQ;EACjB;EACA,eAAe,GAAG,GAAG,GAAG;GACvB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK,KAAK,iBAAiB,EAAE,IAAI,GAAG,CAAC;EACpE;EACA,kBAAkB,GAAG,GAAG;GACvB,IAAI,IAAI,CAAC;GACT,SAAS,EAAE,GAAG;IACb,EAAE,QAAQ,EAAE,KAAK,SAAS,MAAM;KAC/B,EAAE,KAAK;MACN,EAAE,QAAQ;MACV,EAAE,UAAU;MACZ,EAAE,OAAO;MACT;KACD,CAAC;IACF,CAAC;GACF;GACA,IAAI,KAAK,MAAM;IACd,EAAE,SAAS,MAAM;KAChB,KAAK,KAAK,EAAE,QAAQ,OAAO,EAAE,UAAU,OAAO,EAAE,OAAO,OAAO,SAAS;MACtE,EAAE,CAAC;KACJ,CAAC;IACF,CAAC;GACF;GACA,KAAK,eAAe,GAAG,GAAG,CAAC;GAC3B,IAAI;GACJ,QAAQ,IAAI,EAAE,IAAI,OAAO,KAAK,IAAI;IACjC,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,EAAE,YAAY,QAAQ;IAChD,MAAM,EAAE,YAAY,QAAQ,QAAQ;IACpC,IAAI,IAAI,EAAE,YAAY,UAAU;IAChC,MAAM,EAAE,YAAY,UAAU,QAAQ;IACtC,IAAI,IAAI,EAAE,YAAY,OAAO;IAC7B,MAAM,EAAE,YAAY,OAAO,QAAQ,IAAI,EAAE,QAAQ,WAAW,IAAI,EAAE,EAAE,UAAU,IAAI,KAAK,iBAAiB,GAAG,GAAG,CAAC,GAAG,MAAM,EAAE,YAAY,QAAQ,QAAQ,OAAO,MAAM,EAAE,YAAY,UAAU,QAAQ,OAAO,MAAM,EAAE,YAAY,OAAO,QAAQ;GAC9O;EACD;EACA,YAAY,EAAE,SAAS,GAAG,YAAY,KAAK;GAC1C,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,EAAE,aAAa,aAAa,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,oBAAoB,CAAC,EAAE,GAAG,KAAK,OAAO;IAC7I,SAAS,EAAE,EAAE,OAAO;IACpB,WAAW,EAAE,EAAE,SAAS;IACxB,QAAQ,EAAE,EAAE,MAAM;GACnB;GACA,OAAO;IACN,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAC1B,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC;IAC7B,WAAW,OAAO,OAAO,CAAC;GAC3B;EACD;EACA,OAAO,GAAG;GACT,MAAM,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC;GACrE,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,QAAQ,KAAK;IAC5E,IAAI,IAAI,EAAE,QAAQ;IAClB,KAAK,IAAI,KAAK,EAAE,YAAY;KAC3B,IAAI,GAAG,EAAE,SAAS,EAAE,OAAO,KAAK,GAAG,EAAE,WAAW,EAAE,SAAS,KAAK,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG;MACvF,IAAI,oBAAoB,IAAI,IAAI,GAAG,IAAI,CAAC;MACxC,EAAE,QAAQ,QAAQ,EAAE,QAAQ,SAAS,GAAG,EAAE,OAAO,QAAQ,EAAE,OAAO,SAAS,GAAG,EAAE,UAAU,QAAQ,EAAE,UAAU,SAAS;MACvH,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,QAAQ,KAAK,MAAM,KAAK,EAAE,KAAK,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC;MAChF,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAA,CAAG,KAAK;OAC5B,SAAS;OACT,YAAY,EAAE;OACd,aAAa;MACd,CAAC;KACF;KACA,EAAE,UAAU,SAAS,MAAM;MAC1B,EAAE,QAAQ;KACX,CAAC;IACF;GACD;GACA,KAAK,IAAI,KAAK,GAAG;IAChB,IAAI,oBAAoB,IAAI,IAAI;IAChC,EAAE,UAAU,EAAE,QAAQ,KAAK,MAAM,GAAG,GAAG,CAAC,CAAC;GAC1C;GACA,IAAI,IAAI,KAAK,OAAO,WAAW;GAC/B,KAAK,IAAI,KAAK,GAAG,KAAK,kBAAkB,GAAG,EAAE,EAAE;GAC/C,KAAK,OAAO,QAAQ;EACrB;CACD;AACD,EAAE,GAAG,IAAI,IAAI,KAAK,UAAS;CAC1B,KAAK,GAAG,GAAG,GAAG,GAAG,KAAK,cAAc,GAAG,UAAU;EAChD,YAAY,GAAG;GACd,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC,GAAG,KAAK,eAAe,aAAa,CAAC;GAChE,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI;IAC5B,SAAS,GAAG,MAAM;KACjB,KAAK,KAAK,KAAK,SAAS,CAAC,KAAK,KAAK,KAAK,KAAK,CAAC;IAC/C;IACA,WAAW,GAAG,MAAM;KACnB,KAAK,KAAK,UAAU,GAAG,CAAC;IACzB;GACD;GACA,KAAK,EAAE,aAAa,EAAE,aAAa,MAAM;IACxC,KAAK,KAAK,WAAW,CAAC;GACvB,IAAI,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM;IAC3B,QAAQ,GAAR;KACC,KAAK;MACJ,IAAI;MACJ;KACD,KAAK,OAAO,IAAI;IACjB;GACD,EAAE,GAAG,CAAC,GAAG,KAAK,cAAc,GAAG,GAAG,MAAM;IACvC,EAAE,CAAC,GAAG,EAAE;GACT,GAAG,KAAK,UAAU,MAAM;IACvB,EAAE,GAAG,EAAE;GACR;EACD;EACA,OAAO,GAAG;GACT,OAAO,EAAE,GAAG,SAAS,MAAM;IAC1B,KAAK,MAAM,CAAC;GACb,CAAC,GAAG,EAAE,GAAG,aAAa;IACrB,KAAK,IAAI;GACV,CAAC,GAAG,EAAE,GAAG,UAAU,MAAM;IACxB,KAAK,KAAK,SAAS,CAAC;GACrB,CAAC,GAAG;EACL;CACD;AACD,EAAE,GAAG,IAAI,IAAI,KAAK,UAAS;CAC1B,KAAK,GAAG,GAAG,GAAG,GAAG,KAAK,cAAc,GAAG,UAAU;EAChD,YAAY,GAAG;GACd,MAAM;IACL,UAAU;IACV,oBAAoB,CAAC;GACtB,CAAC;GACD,IAAI,IAAI,KAAK,UAAU,IAAI,GAAG;IAC7B,QAAQ,GAAG,GAAG,MAAM;KACnB,KAAK,KAAK,CAAC,GAAG,KAAK,EAAE;IACtB;IACA,MAAM,MAAM;KACX,KAAK,KAAK,IAAI,GAAG,KAAK,EAAE;IACzB;GACD,GAAG,CAAC;GACJ,KAAK,cAAc,GAAG,GAAG,MAAM;IAC9B,EAAE,QAAQ,GAAG,CAAC;GACf,GAAG,KAAK,UAAU,MAAM;IACvB,EAAE,IAAI,CAAC;GACR;EACD;EACA,OAAO,GAAG;GACT,OAAO,EAAE,GAAG,SAAS,MAAM;IAC1B,KAAK,MAAM,CAAC;GACb,CAAC,GAAG,EAAE,GAAG,aAAa;IACrB,KAAK,IAAI;GACV,CAAC,GAAG,EAAE,GAAG,UAAU,MAAM;IACxB,KAAK,KAAK,SAAS,CAAC;GACrB,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,MAAM;IAC5B,KAAK,QAAQ,UAAU,GAAG,CAAC;GAC5B,CAAC,GAAG;EACL;CACD;AACD,EAAE,GAAG,KAAqB,mBAAE;CAC3B,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,oBAAoB;CACpB,mBAAmB;CACnB,aAAa;CACb,eAAe;CACf,iBAAiB;CACjB,cAAc;CACd,YAAY;CACZ,gBAAgB;CAChB,aAAa;CACb,oBAAoB;CACpB,oBAAoB;CACpB,oBAAoB;CACpB,YAAY;CACZ,cAAc;CACd,YAAY;CACZ,gBAAgB;CAChB,cAAc;CACd,eAAe;CACf,2BAA2B;CAC3B,kBAAkB;CAClB,gBAAgB;AACjB,CAAC,GAAG,IAAI,KAAK,UAAS;CACrB,GAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK;EACrE,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,cAAc;EACd,aAAa;EACb,cAAc;EACd,cAAc;EACd,MAAM;EACN,UAAU;EACV,SAAS;EACT,aAAa;EACb,MAAM;EACN,WAAW;EACX,SAAS;EACT,WAAW;EACX,UAAU;EACV,cAAc;EACd,MAAM;EACN,QAAQ;EACR,YAAY;EACZ,UAAU;CACX;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;CACpD,IAAI,KAAK,GAAG,GAAG,GAAE,EAAE;CACnB,EAAE,UAAU,cAAc,EAAE,MAAM;EACjC,aAAa,GAAG,GAAG,GAAG,GAAG;GACxB,IAAI,IAAI,KAAK,SAAS,GAAG,GAAG,GAAG,CAAC;GAChC,OAAO,KAAK,YAAY,CAAC,GAAG;EAC7B;EACA,eAAe,GAAG,GAAG,GAAG;GACvB,OAAO,KAAK,aAAa,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,MAAM;EAC5D;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,GAAG,EAAE,YAAY,MAAM;EAChG,YAAY,GAAG;GACd,KAAK,WAAW,aAAa,KAAK,QAAQ;EAC3C;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,eAAe,EAAE,UAAU,KAAK;EAC9D;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK;CAC7E,IAAI,IAAI,MAAM;EACb,cAAc;GACb,KAAK,WAAW,gBAAgB,KAAK,QAAQ;EAC9C;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa;EAC9B;CACD;CACA,EAAE,eAAe,GAAG,EAAE,WAAW,IAAI,EAAE;AACxC,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,GAAG,EAAE,YAAY,MAAM;EAChG,YAAY,GAAG;GACd,KAAK,WAAW,aAAa,KAAK,QAAQ;EAC3C;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,eAAe,EAAE,UAAU,KAAK;EAC9D;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK;CACxE,IAAI,IAAI,GAAG,GAAG,IAAI,MAAM,EAAE;EACzB,YAAY,GAAG,GAAG;GACjB,KAAK,WAAW,WAAW,KAAK,QAAQ,GAAG,OAAO,KAAK,YAAY,KAAK,WAAW,GAAG,KAAK,WAAW,EAAE,uBAAuB,KAAK,KAAK,WAAW,IAAI,KAAK,WAAW,MAAM,KAAK,WAAW,IAAI,KAAK,WAAW,EAAE;EACrN;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,aAAa,EAAE,UAAU,KAAK,SAAS,EAAE,aAAa,KAAK,YAAY,KAAK,SAAS,OAAO,EAAE,QAAQ;EACpI;CACD;CACA,EAAE,UAAU,GAAG,EAAE,sBAAsB,IAAI,EAAE,UAAU,uDAAuD,GAAG,EAAE,aAAa,IAAI,EAAE,UAAU,yCAAyC;AAC1L,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,EAAE,OAAO,MAAM;EACtF,YAAY,GAAG,GAAG,GAAG,GAAG;GACvB,KAAK,WAAW,QAAQ,KAAK,QAAQ,IAAI,KAAK,UAAU,GAAG,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ;EAC9G;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,MAAM,EAAE,aAAa,UAAU,CAAC,EAAE,aAAa,KAAK,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK,UAAU,OAAO,EAAE,SAAS,KAAK,KAAK,OAAO,OAAO,EAAE,MAAM,KAAK,KAAK,MAAM,OAAO,EAAE,KAAK;EAC1L;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,GAAG,EAAE,WAAW,MAAM;EAC9F,YAAY,GAAG;GACd,KAAK,WAAW,YAAY,KAAK,QAAQ;EAC1C;EACA,OAAO,GAAG;GACT,OAAO,CAAC,CAAC,KAAK,EAAE,aAAa,cAAc,EAAE,UAAU,KAAK;EAC7D;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK;CAC5E,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,IAAI;CACpE,EAAE,cAAc,MAAM;EACrB,YAAY,GAAG;GACd,KAAK,mBAAmB,GAAG,MAAM,CAAC,GAAG,KAAK,kBAAkB,EAAE,mBAAmB,MAAM,IAAI;EAC5F;EACA,UAAU,GAAG;GACZ,OAAO,IAAI,EAAE,UAAU,CAAC;EACzB;EACA,UAAU,GAAG;GACZ,OAAO,IAAI,EAAE,UAAU,KAAK,GAAG,KAAK,kBAAkB,KAAK,oBAAoB;EAChF;EACA,QAAQ,GAAG,GAAG;GACb,OAAO,IAAI,EAAE,QAAQ,GAAG,CAAC;EAC1B;EACA,SAAS,GAAG;GACX,OAAO,IAAI,EAAE,SAAS,CAAC;EACxB;EACA,eAAe;GACd,OAAO,EAAE,aAAa;EACvB;EACA,KAAK,GAAG,GAAG,GAAG,GAAG;GAChB,OAAO,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK,KAAK,aAAa,CAAC;EACpD;EACA,SAAS,GAAG;GACX,QAAQ,EAAE,UAAV;IACC,KAAK,aAAa,OAAO,KAAK,UAAU,EAAE,KAAK;IAC/C,KAAK,aAAa,OAAO,KAAK,UAAU,EAAE,KAAK;IAC/C,KAAK,WAAW,OAAO,EAAE,WAAW,KAAK,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,SAAS,OAAO,EAAE,QAAQ,UAAU,IAAI,KAAK,QAAQ,EAAE,KAAK,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,QAAQ,CAAC;IACzL,KAAK,YAAY,OAAO,KAAK,SAAS,EAAE,KAAK;IAC7C,KAAK,gBAAgB,OAAO,KAAK,aAAa;IAC9C,KAAK,QAAQ,OAAO,KAAK,KAAK,KAAK,SAAS,EAAE,OAAO,GAAG,KAAK,SAAS,EAAE,SAAS,GAAG,KAAK,SAAS,EAAE,MAAM,GAAG,KAAK,SAAS,EAAE,KAAK,CAAC;GACpI;EACD;EACA,SAAS,GAAG;GACX,OAAO,KAAK,SAAS,CAAC;EACvB;EACA,wBAAwB;GACvB,KAAK,mBAAmB;EACzB;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,IAAI,IAAI,KAAK,EAAE,oBAAoB,OAAO,UAAU,SAAS,GAAG,GAAG,GAAG,GAAG;EACxE,MAAM,KAAK,MAAM,IAAI;EACrB,IAAI,IAAI,OAAO,yBAAyB,GAAG,CAAC;EAC5C,CAAC,CAAC,MAAM,SAAS,IAAI,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,IAAI;GAC3E,YAAY,CAAC;GACb,KAAK,WAAW;IACf,OAAO,EAAE;GACV;EACD,IAAI,OAAO,eAAe,GAAG,GAAG,CAAC;CAClC,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG;EAC1B,MAAM,KAAK,MAAM,IAAI,IAAI,EAAE,KAAK,EAAE;CACnC,KAAK,IAAI,KAAK,EAAE,gBAAgB,SAAS,GAAG,GAAG;EAC9C,KAAK,IAAI,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC;CAC7F;CACA,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;AACzI,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,KAAK;CACtM,IAAI,IAAI,KAAK,GAAG,EAAA,CAAG,YAAY;CAC/B,SAAS,EAAE,GAAG;EACb,IAAI,GAAG,QAAQ,EAAE,UAAV;GACN,KAAK,aAAa,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE;GACxC,KAAK,aAAa,OAAO,KAAK,EAAE;GAChC,KAAK,WAAW;IACf,IAAI,IAAI;IACR,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,SAAS,UAAU,6CAA6C,EAAE,SAAS,UAAU,0DAA0D,MAAM,EAAE,SAAS,MAAM,KAAK,KAAK,EAAE,WAAW,IAAI,EAAE,aAAa;GAC1P;GACA,KAAK,QAAQ,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,EAAE,MAAM,aAAa,iBAAiB,KAAK,IAAI,EAAE,EAAE,KAAK,IAAI;GACrI,KAAK,YAAY,OAAO,IAAI,EAAE;GAC9B,KAAK,gBAAgB,OAAO,EAAE;EAC/B;CACD;CACA,EAAE,eAAe;CACjB,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,+BAA+B,KAAK,CAAC;EAC7C,IAAI,CAAC,GAAG,MAAM,MAAM,GAAG,EAAE,kBAAkB;EAC3C,OAAO,EAAE,EAAE,CAAC,QAAQ,SAAS,IAAI;CAClC;CACA,EAAE,kBAAkB;CACpB,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,wCAAwC,KAAK,CAAC;EACtD,IAAI,CAAC,GAAG,MAAM,MAAM,GAAG,EAAE,kBAAkB;EAC3C,OAAO,EAAE,OAAO,EAAE,KAAK,0DAA0D;CAClF;CACA,EAAE,iBAAiB;CACnB,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,oCAAoC,KAAK,CAAC;EAClD,IAAI,CAAC,GAAG,MAAM,MAAM,GAAG,EAAE,kBAAkB;EAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,IAAI;CACpC;CACA,EAAE,qBAAqB;CACvB,SAAS,EAAE,GAAG,GAAG;EAChB,IAAI,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,EAAE,aAAa;EACzD,QAAQ,EAAE,IAAV;GACC,KAAK,KAAK,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;GACvC,KAAK;IACJ,IAAI,CAAC,EAAE,UAAU,MAAM,MAAM,sDAAsD;IACnF,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;GAC7B,KAAK,MAAM;IACV,IAAI,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAClC,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC;GAC9B;GACA;IACC,IAAI,EAAE,WAAW,IAAI,KAAK,EAAE,SAAS,IAAI,GAAG;KAC3C,IAAI,IAAI,EAAE,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;KAC3C,KAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;MAClC,IAAI,IAAI,EAAE;MACV,IAAI,MAAM,OAAO,KAAK,MAAM,KAAK;OAChC,IAAI,MAAM,GAAG,MAAM,MAAM,4CAA4C,GAAG;OACxE;MACD;MACA,MAAM,OAAO,MAAM,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI;KACzD;KACA,IAAI,MAAM,GAAG,MAAM,MAAM,4CAA4C,GAAG;KACxE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,KAAK,EAAE,WAAW,GAAG,MAAM,MAAM,4BAA4B,GAAG;KAC/G,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,KAAK,CAAC;IACjE;IACA,IAAI,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,EAAE,SAAS,GAAG,GAAG,MAAM,MAAM,gEAAgE,GAAG;IAC3H,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;EACnC;CACD;CACA,EAAE,eAAe;CACjB,SAAS,EAAE,GAAG;EACb,OAAO;GACN,SAAS,EAAE,EAAE,OAAO;GACpB,WAAW,EAAE,EAAE,SAAS;GACxB,QAAQ,EAAE,EAAE,MAAM;GAClB,OAAO,EAAE,EAAE,KAAK;EACjB;CACD;CACA,EAAE,mBAAmB;CACrB,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;CACzF;CACA,EAAE,mBAAmB;CACrB,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,QAAQ,GAAG,CAAC;CACtB;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,QAAQ,GAAG,CAAC,IAAI;CAC5C;CACA,IAAI,IAAI,gEAAgE,oBAAoB,IAAI,IAAI;EACnG,CAAC,MAAM,MAAM;EACb,CAAC,MAAM,MAAM;EACb,CAAC,KAAK,KAAK;EACX,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;CACb,CAAC;CACD,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,IAAI,CAAC;EACf,IAAI,CAAC,GAAG;GACP,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE;IACnC,OAAO,GAAG,UAAU,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI;GAC3C;GACA,IAAI,MAAM,EAAE,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,CAAC,IAAI,KAAA,CAAM,SAAS,EAAE;GAC/E,OAAO,GAAG,cAAc,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI;EAC/C;EACA,OAAO;CACR;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,KAAK;CACtM,IAAI,IAAI,GAAG;CACX,OAAO,eAAe,GAAG,sBAAsB;EAC9C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,kBAAkB;EAC9C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,mBAAmB;EAC/C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,oBAAoB;EAChD,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,oBAAoB;EAChD,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,gBAAgB;EAC5C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC,GAAG,OAAO,eAAe,GAAG,gBAAgB;EAC5C,YAAY,CAAC;EACb,KAAK,WAAW;GACf,OAAO,EAAE;EACV;CACD,CAAC;AACF,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,GAAG,EAAE,YAAY;CAC5F,IAAI,oBAAoB,IAAI,IAAI;EAC/B,CAAC,MAAM,MAAM;EACb,CAAC,MAAM,MAAM;EACb,CAAC,KAAK,KAAK;EACX,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;EACZ,CAAC,MAAM,KAAK;CACb,CAAC;CACD,SAAS,EAAE,GAAG;EACb,IAAI,IAAI,EAAE,IAAI,CAAC;EACf,IAAI,CAAC,GAAG;GACP,IAAI,EAAE,WAAW,GAAG;IACnB,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE;IACnC,OAAO,GAAG,UAAU,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI;GAC3C;GACA,IAAI,MAAM,EAAE,WAAW,CAAC,IAAI,SAAS,OAAO,EAAE,WAAW,CAAC,IAAI,KAAA,CAAM,SAAS,EAAE;GAC/E,OAAO,GAAG,cAAc,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI;EAC/C;EACA,OAAO;CACR;CACA,IAAI,IAAI;CACR,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,IAAI;CACtC;CACA,SAAS,EAAE,GAAG;EACb,OAAO,EAAE,QAAQ,GAAG,CAAC;CACtB;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,IAAI,IAAI,KAAK,EAAE,aAAa,SAAS,GAAG,GAAG,GAAG,GAAG;EAChD,SAAS,EAAE,GAAG;GACb,OAAO,aAAa,IAAI,IAAI,IAAI,EAAE,SAAS,GAAG;IAC7C,EAAE,CAAC;GACJ,CAAC;EACF;EACA,OAAO,KAAK,MAAM,SAAS,SAAS,GAAG,GAAG;GACzC,SAAS,EAAE,GAAG;IACb,IAAI;KACH,EAAE,EAAE,KAAK,CAAC,CAAC;IACZ,SAAS,GAAG;KACX,EAAE,CAAC;IACJ;GACD;GACA,SAAS,EAAE,GAAG;IACb,IAAI;KACH,EAAE,EAAE,MAAM,CAAC,CAAC;IACb,SAAS,GAAG;KACX,EAAE,CAAC;IACJ;GACD;GACA,SAAS,EAAE,GAAG;IACb,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;GAC3C;GACA,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,EAAA,CAAG,KAAK,CAAC;EACnC,CAAC;CACF;CACA,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK;CAC1E,IAAI,KAAK,GAAG,GAAG,GAAE,EAAE,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM;EACxD,KAAK,IAAI,KAAK,CAAC,YAAY,OAAO,GAAG;GACpC,IAAI,IAAI,EAAE,EAAE,CAAC,cAAc,EAAE,EAAE;GAC/B,IAAI,MAAM,GAAG,OAAO;EACrB;EACA,IAAI,EAAE,aAAa,aAAa,EAAE,aAAa,WAAW;GACzD,IAAI,EAAE,SAAS,UAAU,EAAE,SAAS,OAAO,OAAO,EAAE,SAAS,MAAM,cAAc,EAAE,SAAS,KAAK;GACjG,IAAI,EAAE,aAAa,EAAE,UAAU,OAAO,EAAE,SAAS,cAAc,EAAE,QAAQ;EAC1E;EACA,OAAO;CACR;CACA,SAAS,EAAE,GAAG;EACb,OAAO,YAAY,KAAK,CAAC,CAAC,GAAG;CAC9B;CACA,IAAI,IAAI;EACP,KAAK;EACL,MAAM;EACN,KAAK;EACL,IAAI;EACJ,KAAK;EACL,IAAI;CACL,GAAG,IAAI;EACN;EACA;EACA;CACD;CACA,EAAE,YAAY,MAAM;EACnB,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;GACjC,QAAQ,KAAK,QAAQ,GAAG,KAAK,OAAO,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,KAAK,iCAAiC,IAAI,IAAI,GAAG,KAAK,eAAe,EAAE,YAAY,aAAa,GAAG,KAAK,UAAU,MAAM,KAAK,gBAAgB,KAAK,GAAG,KAAK,kBAAkB,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,GAAG,QAA9S;IACC,KAAK;KACJ,KAAK,OAAO,CAAC;KACb;IACD,KAAK,KAAK;IACV,KAAK,eAAe;IACpB,SAAS,MAAM,MAAM,uBAAuB,GAAG,QAAQ;GACxD;GACA,IAAI,KAAK,cAAc,GAAG,eAAe,CAAC,GAAG,KAAK,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,SAAS,EAAE,OAAO,MAAM,KAAK,UAAU,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,gBAAgB,EAAE,UAAU,CAAC,KAAK,MAAM;IACrN,IAAI,IAAI,EAAE,UAAU,MAAM,MAAM,IAAI;IACpC,IAAI,EAAE,SAAS,GAAG,MAAM,MAAM,gEAAgE;IAC9F,IAAI,EAAE,WAAW,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,YAAY,aAAa,CAAC,GAAG,MAAM,MAAM,4EAA4E,EAAE,EAAE,CAAC,OAAO;GACvK;GACA,KAAK,UAAU,GAAG,WAAW,CAAC;GAC9B,IAAI,oBAAoB,IAAI,IAAI;GAChC,SAAS,EAAE,GAAG;IACb,EAAE,aAAa,cAAc,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,aAAa,UAAU,EAAE,EAAE,OAAO,IAAI,EAAE,UAAU,aAAa,eAAe,EAAE,UAAU,UAAU,sDAAsD,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,KAAK,EAAE,aAAa,aAAa,EAAE,SAAS,aAAa,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,KAAK,KAAK,EAAE,EAAE,QAAQ;GACtW;GACA,KAAK,IAAI,KAAK;IACb,KAAK,MAAM,YAAY,MAAM,MAAM,IAAI;IACvC,KAAK,MAAM,cAAc,MAAM,MAAM,IAAI,CAAC,CAAC,QAAQ,MAAM,EAAE,aAAa,eAAe,EAAE,UAAU,iDAAiD;IACpJ,KAAK,MAAM,WAAW,MAAM,MAAM,IAAI;GACvC,GAAG,KAAK,IAAI,KAAK,GAAG,EAAE,CAAC;GACvB,IAAI,IAAI,CAAC,GAAG,CAAC;GACb,EAAE,KAAK;GACP,IAAI,IAAI,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,GAAG,OAAO,KAAK,CAAC,CAAC;GAC7C,KAAK,WAAW,EAAE,KAAK;GACvB,KAAK,IAAI,KAAK,GAAG;IAChB,IAAI,IAAI,EAAE,MAAM,EAAE;IAClB,EAAE,KAAK,KAAK,cAAc,EAAE,MAAM,MAAM,EAAE,WAAW,CAAC,CAAC,MAAM,KAAK,UAAU,KAAK,GAAG,KAAK,SAAS,KAAK;GACxG;GACA,KAAK,SAAS;EACf;EACA,QAAQ;GACP,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,KAAK,mBAAmB,OAAO,KAAK,iBAAiB,aAAa,KAAK,OAAO,IAAI,WAAW,GAAG,EAAE,UAAA,CAAW,KAAK,aAAa,EAAE,IAAI,GAAG,KAAK,OAAO,QAAQ,CAAC;IAC7J,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;IACjC,KAAK,WAAW,EAAE,KAAK;IACvB,KAAK,IAAI,KAAK,GAAG,OAAO,KAAK,aAAa,KAAK,OAAO,IAAI,WAAW,EAAE,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,OAAO,QAAQ,CAAC;IACzH,KAAK,OAAO,QAAQ,CAAC,GAAG,MAAM,KAAK,WAAW,GAAG,KAAK,OAAO,IAAI;GAClE,CAAC;EACF;EACA,aAAa;GACZ,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,IAAI,KAAK,MAAM,YAAY,MAAM,MAAM,KAAK,YAAY;IAC5D,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,EAAE,aAAa,gBAAgB,MAAM,KAAK,mBAAmB,CAAC;IAC/E,IAAI,IAAI,KAAK,MAAM,YAAY,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,QAAQ,MAAM,EAAE,aAAa,WAAW;IACtG,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,EAAE,aAAa,eAAe,CAAC,KAAK,eAAe,IAAI,EAAE,KAAK,KAAK,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,KAAK,KAAK,MAAM,SAAS,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,WAAW,KAAK,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG,KAAK,YAAY,CAAC,CAAC,WAAW,MAAM,MAAM,KAAK,mBAAmB,GAAG,CAAC,CAAC;IACxU,IAAI,IAAI,KAAK,MAAM,YAAY,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,QAAQ,MAAM,EAAE,aAAa,WAAW;IACtG,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,EAAE,aAAa,eAAe,EAAE,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG,KAAK,YAAY,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,MAAM,SAAS,MAAM,MAAM,GAAG,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,QAAQ,OAAO,CAAC,OAAO,KAAK,eAAe,IAAI,EAAE,KAAK,GAAG,MAAM,KAAK,mBAAmB,CAAC;IACzQ,IAAI,IAAI,KAAK,MAAM,YAAY,MAAM,MAAM,KAAK,YAAY;IAC5D,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,aAAa,eAAe,KAAK,eAAe,IAAI,EAAE,KAAK,GAAG,MAAM,KAAK,mBAAmB,CAAC;GACtL,CAAC;EACF;EACA,iBAAiB,GAAG;GACnB,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,KAAK,QAAQ,KAAK,MAAM,SAAS,MAAM,MAAM,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG;KACvE,IAAI,EAAE,cAAc,MAAM;KAC1B,OAAO,KAAK,eAAe,GAAG,KAAK,OAAO,IAAI,GAAG,GAAG,KAAK,OAAO,OAAO,GAAG,KAAK,OAAO,QAAQ,CAAC,GAAG,MAAM,KAAK,WAAW,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,OAAO,QAAQ,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,GAAG,KAAK,eAAe,GAAG,CAAC;IAC1N;IACA,OAAO,CAAC;GACT,CAAC;EACF;EACA,mBAAmB,GAAG;GACrB,OAAO,EAAE,MAAM,WAAW,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG;IACvD,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,KAAK,SAAS,MAAM,KAAK,UAAU,GAAG,CAAC,CAAC,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,GAAG,KAAK,OAAO,OAAO,GAAG,MAAM,KAAK,sBAAsB,CAAC,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,OAAO,IAAI,IAAI,GAAG,KAAK,OAAO,QAAQ,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC;GAC/U,CAAC;EACF;EACA,aAAa,GAAG;GACf,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,EAAE,aAAa,aAAa;KAC/B,IAAI,KAAK,QAAQ,EAAE,UAAU,8CAA8C,OAAO;KAClF,IAAI,KAAK,QAAQ,KAAK,eAAe,EAAE,UAAU,kDAAkD,OAAO;KAC1G,IAAI,IAAI,EAAE,EAAE,KAAK;KACjB,IAAI,KAAK,KAAK,KAAK,aAAa,KAAK,KAAK,WAAW,OAAO,GAAG,KAAK,UAAU,GAAG,GAAG,EAAE,MAAM,MAAM,EAAE,MAAM;IAC3G;IACA,IAAI,EAAE,aAAa,eAAe,KAAK,YAAY,MAAM,OAAO,KAAK,GAAG,EAAE,UAAA,CAAW,KAAK,QAAQ,WAAW,EAAE,KAAK,CAAC,EAAE;IACvH,IAAI,EAAE,aAAa,cAAc,EAAE,mBAAmB,8CAA8C,EAAE,mBAAmB,6CAA6C,OAAO,EAAE;IAC/K,IAAI,EAAE,aAAa,QAAQ;KAC1B,IAAI,CAAC,EAAE,MAAM,OAAO,EAAE,YAAY,aAAa,CAAC,GAAG,MAAM,MAAM,wCAAwC;KACvG,OAAO,KAAK,MAAM,KAAK,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,aAAa,eAAe,EAAE,UAAU,UAAU,oDAAoD,MAAM,MAAM,KAAK,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,aAAa,EAAE,MAAM,EAAE;IACrP;IACA,OAAO,EAAE,aAAa,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,KAAK,GAAG,EAAE,gBAAA,CAAiB,EAAE,KAAK,EAAE,KAAK,MAAM,KAAK,aAAa,EAAE,QAAQ,OAAO,GAAG,EAAE,aAAA,CAAc,CAAC;GAC1K,CAAC;EACF;EACA,sBAAsB,GAAG;GACxB,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,IAAI,KAAK,MAAM,cAAc,GAAG,MAAM,KAAK,YAAY;IAC3D,OAAO,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,2BAA2B,GAAG,CAAC;GACvF,CAAC;EACF;EACA,2BAA2B,GAAG,GAAG;GAChC,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,MAAM,EAAE,OAAO,EAAE,YAAY,UAAU,iDAAiD,CAAC,CAAC,GAAG;KACxG,IAAI,IAAI,KAAK,MAAM,eAAe,GAAG,EAAE,YAAY,UAAU,iDAAiD,GAAG,KAAK,YAAY;KAClI,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,MAAM,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,GAAG,MAAM,KAAK,mBAAmB,CAAC;IAC3H;IACA,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,UAAU,iDAAiD,CAAC,GAAG;KAC3G,KAAK,KAAK,OAAO,IAAI,IAAI,GAAG,KAAK,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG;KAC9H,IAAI,IAAI,KAAK,MAAM,eAAe,GAAG,GAAG,KAAK,YAAY;KACzD,KAAK,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,MAAM,KAAK,mBAAmB,GAAG,GAAG,CAAC;IACjF;GACD,CAAC;EACF;EACA,mBAAmB,GAAG,GAAG,GAAG;GAC3B,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IAC3C,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,EAAE,aAAa,eAAe,CAAC,GAAG,KAAK,MAAM,MAAM,MAAM,MAAM,GAAG,KAAK,YAAY,GAAG,GAAG,KAAK,MAAM,MAAM,MAAM,GAAG,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,KAAK,eAAe,IAAI,EAAE,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,eAAe,KAAK,eAAe,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC;IACvS,KAAK,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC;IACjB,KAAK,OAAO,OAAO;IACnB,KAAK,IAAI,KAAK,GAAG;KAChB,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,GAAG,KAAK,KAAK,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,KAAK,aAAa,CAAC,CAAC,GAAG,IAAI,EAAE,aAAa,QAAQ,KAAK,GAAG;MAC9I,IAAI,IAAI,EAAE,YAAY,KAAK,GAAG,GAAG,CAAC;MAClC,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,KAAK,OAAO,IAAI,MAAM,GAAG,MAAM,KAAK,sBAAsB,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK;KACzJ;KACA,IAAI,CAAC;IACN;IACA,IAAI,KAAK,OAAO,SAAS,GAAG,EAAE,SAAS,GACjC;UAAA,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,MAAM,KAAK,iBAAiB,CAAC,OAAO,MAAM,KAAK,UAAU,CAAC,OAAO,KAAK,OAAO,IAAI,GAAG,GAAG,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,KAAK,OAAO,OAAO,GAAG,KAAK,OAAO,QAAQ,CAAC,GAAG,MAAM,KAAK,sBAAsB,CAAC,GAAG,KAAK,OAAO,SAAS,GAAG,KAAK,OAAO,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,IAAI,KAAK,GAAG;MACxX,IAAI,IAAI,EAAE,YAAY,KAAK,GAAG,GAAG,CAAC;MAClC,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,SAAS,MAAM,KAAK,OAAO,IAAI,MAAM,GAAG,MAAM,KAAK,sBAAsB,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK;KACzJ;;GAEF,CAAC;EACF;EACA,UAAU,GAAG;GACZ,OAAO,EAAE,MAAM,WAAW,KAAK,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG;IACvD,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,UAAU,gDAAgD,CAAC,IAAI;KAC7F,IAAI,IAAI,KAAK,MAAM,aAAa,GAAG,EAAE,YAAY,UAAU,kDAAkD,GAAG,MAAM,KAAK,YAAY,GAAG,IAAI,KAAK,MAAM,aAAa,GAAG,EAAE,YAAY,UAAU,iDAAiD,GAAG,MAAM,KAAK,YAAY;KAC5Q,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,EAAE,WAAW,KAAK,KAAK,MAAM,SAAS,GAAG,MAAM,MAAM,KAAK,YAAY,CAAC,CAAC,WAAW,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,SAAS,CAAC,GAAG,CAAC;KACtK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,GAAG,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC;IAC5C;IACA,IAAI,IAAI,CAAC;IACT,KAAK,OAAO,IAAI,GAAG;IACnB,KAAK,IAAI,KAAK,GAAG,IAAI,KAAK,OAAO,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,MAAM,KAAK,mBAAmB,CAAC,CAAC,CAAC;IACrF,OAAO,KAAK,OAAO,IAAI,GAAG,GAAG,CAAC;GAC/B,CAAC;EACF;CACD;AACD,EAAE,GAAG,KAAqB,oBAAI,MAAM;CACnC,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,MAAM;EACxE,YAAY,GAAG;GACd,KAAK,UAAU,GAAG,KAAK,UAAU,CAAC,GAAG,KAAK,QAAQ,EAAE,OAAO,KAAK,MAAM,EAAE,KAAK,KAAK,UAAU,EAAE,WAAW,CAAC;EAC3G;EACA,SAAS;GACR,OAAO,KAAK,WAAW,GAAG;EAC3B;EACA,WAAW;GACV,OAAO,EAAE,KAAK,SAAS;EACxB;EACA,IAAI,GAAG;GACN,OAAO,KAAK,MAAM,GAAG,OAAO,GAAG;EAChC;EACA,QAAQ,GAAG;GACV,OAAO,KAAK,WAAW,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI,KAAK,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG;EACzF;CACD;AACD,EAAE,GAAG,MAAsB,oBAAI,MAAM;CACpC,IAAI,IAAI,KAAK,EAAE,aAAa,SAAS,GAAG,GAAG,GAAG,GAAG;EAChD,SAAS,EAAE,GAAG;GACb,OAAO,aAAa,IAAI,IAAI,IAAI,EAAE,SAAS,GAAG;IAC7C,EAAE,CAAC;GACJ,CAAC;EACF;EACA,OAAO,KAAK,MAAM,SAAS,SAAS,GAAG,GAAG;GACzC,SAAS,EAAE,GAAG;IACb,IAAI;KACH,EAAE,EAAE,KAAK,CAAC,CAAC;IACZ,SAAS,GAAG;KACX,EAAE,CAAC;IACJ;GACD;GACA,SAAS,EAAE,GAAG;IACb,IAAI;KACH,EAAE,EAAE,MAAM,CAAC,CAAC;IACb,SAAS,GAAG;KACX,EAAE,CAAC;IACJ;GACD;GACA,SAAS,EAAE,GAAG;IACb,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC;GAC3C;GACA,GAAG,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,EAAA,CAAG,KAAK,CAAC;EACnC,CAAC;CACF,GAAG,IAAI,KAAK,EAAE,mBAAmB,SAAS,GAAG;EAC5C,OAAO,KAAK,EAAE,aAAa,IAAI,EAAE,SAAS,EAAE;CAC7C;CACA,OAAO,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ;CACjE,IAAI,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE,GAAG,CAAC;CACrC,SAAS,EAAE,GAAG,GAAG;EAChB,OAAO,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;GAC3C,OAAO,IAAI,SAAS,GAAG,MAAM,EAAE,MAAM,KAAK,GAAG,KAAK,GAAG,aAAa;IACjE,IAAI;KACH,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,QAAQ,CAAC,GAAG,IAAI,IAAI,EAAE,QAAQ;MACnD,QAAQ,MAAM;OACb,KAAK;MACN;MACA,WAAW;OACV,EAAE,CAAC;MACJ;MACA,SAAS,GAAG;KACb,CAAC;KACD,MAAM,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM;IACnD,SAAS,GAAG;KACX,EAAE,CAAC;IACJ;GACD,CAAC,CAAC;EACH,CAAC;CACF;AACD,EAAE,EAAA,CAAG;AACL,SAAS,GAAG,IAAI,KAAK,GAAG;CACvB,OAAO,WAAW,UAAU,UAAU,CAAC;AACxC;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa;AACvC;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa;AACvC;AACA,SAAS,GAAG,GAAG;CACd,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;EAC7C,IAAI,IAAI,EAAE,MAAM,MAAM,GAAG;EACzB,OAAO,EAAE,SAAS,MAAM,IAAI,EAAE,MAAM,MAAM,GAAG,IAAI,EAAE,SAAS,IAAI,EAAE,GAAG,EAAE,IAAI;CAC5E,GAAG,KAAK;AACT;AACA,SAAS,GAAG,GAAG;CACd,OAAO,GAAG,WAAW,UAAU,UAAU,CAAC,CAAC;AAC5C;AACA,SAAS,GAAG,GAAG;CACd,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa;AACvC;AACA,SAAS,GAAG,GAAG;CACd,OAAO;EACN,OAAO,GAAG,EAAE,KAAK;EACjB,QAAQ,GAAG,EAAE,MAAM;EACnB,WAAW,GAAG,EAAE,SAAS;EACzB,SAAS,GAAG,EAAE,OAAO;EACrB,UAAU,EAAE;EACZ,OAAO,EAAE;CACV;AACD;AACA,IAAI,KAAK,eAAe,KAAK,MAAM;CAClC;CACA,cAAc;EACb,KAAKC,KAAK,IAAI,WAAW,UAAU,MAAM;CAC1C;CACA,IAAI,OAAO;EACV,IAAI,IAAI;EACR,OAAO,KAAK,MAAM,yFAAyF,CAAC,CAAC,SAAS,MAAM;GAC3H,IAAI,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,SAAS,CAAC;EACtC,CAAC,GAAG;CACL;CACA,WAAW,IAAI,MAAM;EACpB,OAAO,KAAK,mBAAmB,MAAM,MAAM,MAAM,CAAC;CACnD;CACA,IAAI,GAAG,GAAG,GAAG,IAAI,MAAM;EACtB,IAAI,IAAI,WAAW,UAAU,KAAK,GAAG,GAAG,GAAG,KAAK,WAAW,UAAU,aAAa,CAAC;EACnF,OAAO,KAAKA,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;CAC5B;CACA,cAAc,GAAG,IAAI,MAAM;EAC1B,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC;CAC9D;CACA,SAAS,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;EAChD,OAAO,KAAKA,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,WAAW,UAAU,aAAa,CAAC,CAAC,CAAC,SAAS;CAClF;CACA,KAAK,IAAI,MAAM,GAAG,IAAI,IAAI,IAAI,MAAM;EACnC,IAAI;GACH,KAAKA,GAAG,KAAK,GAAG;IACf,QAAQ;IACR,UAAU,KAAK,KAAK;IACpB,eAAe,KAAK,WAAW,UAAU,aAAa;GACvD,CAAC;EACF,SAAS,GAAG;GACX,MAAM,MAAM,sBAAsB,EAAE,SAAS;EAC9C;CACD;CACA,iBAAiB,GAAG;EACnB,EAAE,SAAS,MAAM;GAChB,KAAKA,GAAG,OAAO,CAAC;EACjB,CAAC;CACF;CACA,yBAAyB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;EAChE,KAAKA,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,WAAW,UAAU,aAAa,CAAC,CAAC,CAAC,SAAS,MAAM;GAC/E,KAAKA,GAAG,OAAO,CAAC;EACjB,CAAC;CACF;CACA,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM;EAC5C,IAAI,MAAM,eAAe;GACxB,IAAI,IAAI,KAAKA,GAAG,MAAM,MAAM,MAAM,MAAM,KAAK,WAAW,UAAU,aAAa,CAAC;GAChF,QAAQ,OAAO,GAAG,GAAG,MAAA,CAAO,GAAG;IAC9B,QAAQ;IACR,UAAU,OAAO,OAAO,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;IAC1C,SAAS;IACT,iBAAiB,CAAC;IAClB,SAAS,CAAC;IACV,SAAS,CAAC;GACX,CAAC,EAAA,CAAG,WAAW,GAAG,EAAE;EACrB;EACA,OAAO,KAAKA,GAAG,KAAK;GACnB,QAAQ;GACR,iBAAiB,KAAK,WAAW,UAAU,aAAa;EACzD,CAAC;CACF;CACA,MAAM,GAAG,IAAI,CAAC,GAAG;EAChB,IAAI;GACH,IAAI,IAAI,KAAKA,GAAG,MAAM,GAAG,EAAE,4BAA4B,EAAE,CAAC;GAC1D,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC;GAC/C,OAAO;EACR,SAAS,GAAG;GACX,QAAQ,IAAI,+BAA+B,EAAE,QAAQ,GAAG,GAAG;GAC3D,IAAI,IAAI,CAAC;GACT,KAAK,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,QAAQ,gBAAgB,IAAI,IAAI,QAAQ,IAAI,CAAC;EAC3F;EACA,OAAO,CAAC;CACT;CACA,mBAAmB,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM;EAC1D,OAAO,KAAKA,GAAG,MAAM,GAAG,GAAG,GAAG,KAAK,WAAW,UAAU,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC;CACzF;CACA,eAAe,GAAG;EACjB,OAAO,KAAK,MAAM;;;;oCAIgB,EAAE,IAAI;;kBAExB,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;CACxD;CACA,OAAO,GAAG;EACT,IAAI;GACH,KAAKA,GAAG,OAAO,CAAC;EACjB,SAAS,GAAG;GACX,QAAQ,IAAI,gCAAgC,EAAE,QAAQ,GAAG,GAAG;GAC5D,IAAI,IAAI,CAAC;GACT,KAAK,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,QAAQ,iBAAiB,IAAI,IAAI,QAAQ,IAAI,CAAC;EAC5F;CACD;AACD,GAAG,KAAK,MAAM;CACb;CACA;CACA,YAAY,GAAG,GAAG;EACjB,KAAKC,KAAK,GAAG,KAAKD,KAAK;CACxB;CACA,IAAI,SAAS;EACZ,OAAO,KAAKC;CACb;CACA,IAAI,QAAQ;EACX,OAAO,KAAKD;CACb;CACA,IAAI,GAAG;EACN,OAAO,GAAG,KAAKA,MAAM,KAAK,GAAG;CAC9B;AACD,GAAG,KAAK,MAAM,UAAU,IAAI;CAC3B,OAAOA,KAAK;CACZ,cAAc;EACb,IAAI,EAAEA,IAAI,MAAM,MAAM,8CAA8C;EACpE,MAAM,GAAG,EAAEA,KAAK;CACjB;CACA,WAAW,WAAW;EACrB,OAAO,EAAEA,OAAO,IAAI,EAAE,GAAG,EAAEA;CAC5B;CACA,IAAI,aAAa;EAChB,OAAO,OAAO,YAAY,KAAK,QAAQ,CAAC;CACzC;CACA,IAAI,GAAG;EACN,KAAK,IAAI,EAAE,QAAQ,EAAE,KAAK;CAC3B;CACA,YAAY,GAAG,GAAG;EACjB,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,YAAY,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;EAClE,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI;CAC9C;CACA,YAAY,GAAG;EACd,IAAI,IAAI,EAAE,MAAM,GAAG;EACnB,OAAO,EAAE,SAAS,KAAK,KAAK,IAAI,EAAE,EAAE,IAAI,GAAG,iBAAiB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM;CAClG;CACA,SAAS,GAAG;EACX,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM;EACxB,KAAK,IAAI,CAAC,GAAG,MAAM,KAAK,QAAQ,GAAG,IAAI,EAAE,WAAW,CAAC,GAAG,OAAO,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;EACvF,OAAO;CACR;CACA,OAAO,GAAG;EACT,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,QAAQ,EAAE,KAAK;CAC5C;AACD,EAAE,UAAU,KAAK,6BAA6B,KAAK,kCAAkC,KAAK,+CAA+C,KAAK,yCAAyC,KAAK,qCAAqC,KAAK,IAAI,GAAG,WAAW,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,EAAE,GAAG,KAAK;CACjT;CACA;CACA;CACA,IAAI,GAAG,QAAQ,EAAE;CACjB,IAAI,GAAG,OAAO,EAAE;AACjB;AACA,GAAG,OAAO,EAAE;AAMZ,IAAI,KAAK,MAAM,UAAU,IAAI;CAC5B,qBAAqB,IAAI,IAAI;CAC7B,OAAO,eAAe,GAAG;EACxB,OAAO,EAAE,QAAQ,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;CAClE;CACA,IAAI,WAAW;EACd,OAAO,KAAKA;CACb;CACA,OAAO;EACN,IAAI,IAAI,IAAI,EAAE;EACd,KAAK,IAAI,CAAC,GAAG,MAAM,KAAK,QAAQ,GAAG,EAAE,IAAI,GAAG,KAAKC,GAAG,CAAC,CAAC;EACtD,OAAO,EAAED,KAAK,IAAI,IAAI,KAAKA,GAAG,OAAO,CAAC,GAAG;CAC1C;CACA,GAAG,GAAG;EACL,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,aAAa,IAAI,EAAE,KAAK,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,KAAK,MAAM,KAAKC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,KAAKA,GAAG,CAAC,CAAC,CAAC;CACrJ;CACA,YAAY,GAAG;EACd,OAAO,KAAK,IAAI,EAAE,KAAK,KAAK;CAC7B;CACA,mBAAmB,GAAG;EACrB,IAAI,IAAI,KAAK,YAAY,CAAC;EAC1B,OAAO,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC;CAC/F;CACA,IAAI,GAAG;EACN,OAAO,KAAKD,GAAG,IAAI,EAAE,GAAG;CACzB;CACA,CAAC,kBAAkB;EAClB,KAAK,IAAI,CAAC,GAAG,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;CACpD;CACA,YAAY,GAAG,GAAG,IAAI,CAAC,GAAG;EACzB,EAAE,OAAO,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,KAAKA,GAAG,IAAI,EAAE,GAAG;EACtD,IAAI,IAAI,EAAE;EACV,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG;GACrB,IAAI,IAAI,KAAK,IAAI,CAAC;GAClB,IAAI,aAAa,KAAK;IACrB,IAAI,IAAI,CAAC;IACT,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,GACX;UAAA,IAAI,KAAK,GAAG,IAAI,EAAE,OAAO,CAAC,GAAG;MACjC,IAAI,CAAC;MACL;KACD;;IAED,KAAK,EAAE,IAAI,CAAC;GACb,OAAO,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI,mBAAmB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,mBAAmB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;EAC1I,OAAO,KAAK,IAAI,GAAG,CAAC;CACrB;AACD,GAAG,KAAK,wCAAwC,KAAK,4CAA4C,KAAK,sDAAsD,KAAK,yBAAyB,KAAK,iCAAiC,KAAK,IAAI,GAAG,UAAU,EAAE,GAAkG,KAAK;CAC9V;CACA,IAFmQ,GAAG,MAAM,EAE5Q;CACA,IAH0R,GAAG,OAAO,EAGpS;CACA,IAJkT,GAAG,OAAO,EAI5T;CACA,IAL0U,GAAG,OAAO,EAKpV;AACD;AACA,GAAG,OAAO,EAAE,GACH,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI;AAAG,IAAA,KAAK,cAAc,GAAG;CACpG,qBAAqB,IAAI,IAAI;CAC7B,YAAY,IAAI,IAAI;EACnB,MAAM;CACP;CACA,KAAK;EACJ,KAAKA,GAAG,MAAM;CACf;CACA,gCAAgC,GAAG,GAAG;EACrC,KAAKC,GAAG;EACR,IAAI,IAAI,CAAC;EACT,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,gBAAgB,GAAG,EAAE,KAAK,GAAG,KAAKC,GAAG,GAAG,GAAG,CAAC,CAAC;EAClE,OAAO;CACR;CACA,GAAG,GAAG,GAAG,GAAG;EACX,IAAI,IAAI,CAAC;EACT,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;OACxC,IAAI,aAAa,IAAI;GACzB,IAAI,IAAI,GAAG;GACX,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,KAAK,gCAAgC,GAAG,CAAC,CAAC;EACvF,OAAO,IAAI,MAAM,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG;GAC5C,IAAI,IAAI,GAAG;GACX,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,KAAKC,GAAG,GAAG,CAAC;EAC/C,OAAO,IAAI,aAAa,KAAK,KAAK,IAAI,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,KAAKD,GAAG,GAAG,GAAG,CAAC,CAAC;EACjF,OAAO;CACR;CACA,iBAAiB,GAAG;EACnB,EAAE,SAAS,MAAM;GAChB,KAAKF,GAAG,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,IAAI;EAC5E,CAAC;CACF;CACA,GAAG,GAAG;EACL,IAAI,IAAI,IAAI,GAAG;EACf,KAAK,IAAI,KAAK,GAAG;GAChB,IAAI,IAAI,KAAKI,GAAG,EAAE,MAAM;GACxB,KAAK,EAAE,YAAY,EAAE,WAAW,GAAG,CAAC,CAAC;EACtC;EACA,OAAO;CACR;CACA,6BAA6B,GAAG;EAC/B,IAAI,IAAI,MAAM,mBAAmB,GAAG,MAAM,MAAM,IAAI;EACpD,OAAO,KAAKC,GAAG,CAAC;CACjB;CACA,qBAAqB,GAAG;EACvB,IAAI,KAAKL,GAAG,IAAI,CAAC,GAAG,OAAO,KAAKA,GAAG,IAAI,CAAC;EACxC,IAAI,IAAI,MAAM,mBAAmB,GAAG,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC;EAC5D,KAAK,IAAI,KAAK,GAAG,GAAG,EAAE,MAAM,KAAK,EAAE,KAAK,GAAG,KAAK,qBAAqB,EAAE,MAAM,CAAC;EAC9E,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;EACnB,OAAO,KAAKA,GAAG,IAAI,GAAG,CAAC,GAAG;CAC3B;CACA,iBAAiB,GAAG;EACnB,EAAE,SAAS,MAAM;GAChB,KAAKA,GAAG,OAAO,EAAE,OAAO;EACzB,CAAC,GAAG,MAAM,iBAAiB,CAAC;CAC7B;CACA,2BAA2B,GAAG;EAC7B,KAAK,iBAAiB,KAAK,qBAAqB,CAAC,CAAC;CACnD;CACA,OAAO,GAAG;EACT,KAAKC,GAAG,GAAG,MAAM,OAAO,CAAC;CAC1B;CACA,MAAM,UAAU,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,MAAM;EAC5C,OAAO,MAAM,MAAM,UAAU,GAAG,GAAG,OAAO,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC;CACtE;CACA,GAAG,GAAG;EACL,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,MAAM,SAAS,GAAG,GAAG,IAAI,MAAM,GAAG,IAAI,IAAI,KAAKK,GAAG,CAAC,IAAI,KAAK,6BAA6B,CAAC,IAAI;CACnI;CACA,GAAG,GAAG;EACL,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI;EAC/B,OAAO,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,CAAC,IAAI;GACtC,IAAI,IAAI,MAAM,mBAAmB,GAAG,GAAG,IAAI,OAAO,GAAG,MAAM,IAAI;GAC/D,IAAI,EAAE,WAAW,KAAK,EAAE,OAAO,KAAK,GAAG;GACvC,IAAI,IAAI,KAAKF,GAAG,EAAE,EAAE,CAAC,MAAM;GAC3B,IAAI,CAAC,GAAG;GACR,EAAE,KAAK,CAAC;GACR,IAAI,IAAI,MAAM,mBAAmB,GAAG,GAAG,IAAI,MAAM,GAAG,MAAM,IAAI;GAC9D,IAAI,EAAE,WAAW,KAAK,EAAE,OAAO,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI;GACjF,EAAE,KAAK,EAAE,KAAK;EACf;EACA,OAAO;CACR;CACA,GAAG,GAAG,GAAG;EACR,IAAI,IAAI,CAAC,GAAG,IAAI;EAChB,OAAO,EAAE,SAAS,GAAG,MAAM;GAC1B,IAAI,EAAE,KAAK,GAAG,KAAKF,GAAG,GAAG,GAAG,IAAI,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,SAAS,GAAG;IAChE,IAAI,IAAI,GAAG;IACX,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI;GACpD;EACD,CAAC,GAAG,EAAE,KAAK,MAAM,IAAI,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG;CAChE;AACD;;;ACpmOA,SAAgB,GAAM,GAAgB,IAAwB,GAAW;CACrE,IAAM,IAAW,MAAM;CACvB,OAAO,KAAK,MAAM,IAAW,CAAM,IAAI;AAC3C;;;ACAA,IAAa,KAAb,MAAa,EAAO;CAChB;CACA;CACA;CACA;CAEA,YAAY,GAAc,GAAa,GAAe,GAAgB;EAGjE,AADA,CAAC,KAAKK,IAAO,KAAKC,MAAU,KAAQ,IAAQ,CAAC,GAAM,CAAK,IAAI,CAAC,GAAO,CAAI,GACxE,CAAC,KAAKC,IAAM,KAAKC,MAAW,KAAO,IAAS,CAAC,GAAK,CAAM,IAAI,CAAC,GAAQ,CAAG;CAC7E;CAEA,IAAI,OAAO;EACP,OAAO,KAAKH;CAChB;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKC;CAChB;CAEA,IAAI,MAAM;EACN,OAAO,KAAKC;CAChB;CAEA,IAAI,SAAS;EACT,OAAO,KAAKC;CAChB;CAEA,OAAO,WAAW,GAAgB,GAAwB;EACtD,OAAO,IAAI,EAAO,EAAI,GAAG,EAAI,GAAG,EAAI,GAAG,EAAI,CAAC;CAChD;CAEA,OAAO,QAAQ,GAAgC,IAAoC,MAAc;EAC7F,IAAM,IAAO,EAAW,QAAQ,GAC5B,IAAU,IAAI,EAAM,EAAK,GAAG,EAAK,CAAC,GAClC,IAAc,IAAI,EAAM,EAAK,IAAI,EAAK,OAAO,EAAK,IAAI,EAAK,MAAM;EAMrE,OALI,MACA,IAAU,EAAgB,eAAe,CAAO,GAChD,IAAc,EAAgB,eAAe,CAAW,IAGrD,IADY,EAAO,EAAQ,GAAG,EAAQ,GAAG,EAAY,GAAG,EAAY,CACpE;CACX;CAEA,IAAI,SAAiB;EACjB,OAAO,KAAKA,KAAU,KAAKD;CAC/B;CAEA,IAAI,UAAiB;EACjB,OAAO,IAAI,EAAM,KAAKF,IAAO,KAAKE,EAAI;CAC1C;CAEA,IAAI,QAAgB;EAChB,OAAO,KAAKD,KAAS,KAAKD;CAC9B;CAEA,UAA4C;EACxC,OAAO;GAAC,KAAKA;GAAO,KAAKE;GAAM,KAAKD;GAAQ,KAAKE;EAAO;CAC5D;CAEA,WAA2B;EACvB,OAAO,CAAC,IAAI,EAAM,KAAKH,IAAO,KAAKE,EAAI,GAAG,IAAI,EAAM,KAAKD,IAAQ,KAAKE,EAAO,CAAC;CAClF;CAEA,MAAM,GAAgB,IAAU,MAAiB;EAE7C,OACI,KAAK,IAAI,KAAKH,KAAQ,EAAOA,EAAK,IAAI,KACtC,KAAK,IAAI,KAAKE,KAAO,EAAOA,EAAI,IAAI,KACpC,KAAK,IAAI,KAAKD,KAAS,EAAOA,EAAM,IAAI,KACxC,KAAK,IAAI,KAAKE,KAAU,EAAOA,EAAO,IAAI;CAElD;CAEA,OAAO,GAAwB;EAC3B,OAAO,IAAI,EAAO,KAAKH,KAAQ,GAAQ,KAAKE,KAAO,GAAQ,KAAKD,KAAS,GAAQ,KAAKE,KAAU,CAAM;CAC1G;CAEA,YAAY,GAA4B;EACpC,OACI,KAAKH,MAAS,EAAUA,MACxB,KAAKE,MAAQ,EAAUA,MACvB,KAAKA,MAAQ,EAAUA,MACvB,KAAKC,MAAW,EAAUA;CAElC;AACJ,GAmCM,KAAc,MAxBd,EAAY;CACd,OAAOC,KAAgC;CACvC,KAAkB;CAElB,cAAsB;EAClB,IAAI,EAAYA,IACZ,MAAU,MAAM,6CAA6C;EAEjE,EAAYA,KAAY;CAC5B;CAEA,WAAW,WAAW;EAIlB,OAHA,AACI,EAAYA,OAAY,IAAI,EAAY,GAErC,EAAYA;CACvB;CAEA,IAAI,SAAS;EAET,OADA,KAAKC,MAAW,GACT,KAAKA;CAChB;AACJ,EAEgC;AAEhC,SAAS,GAAO,IAAiB,IAAY;CACzC,OAAO,GAAG,EAAO,GAAG,GAAY;AACpC;AAIA,IAAa,KAAb,MAAa,EAAwC;CACjD,KAAkB;CAClB,KAAiB;CACjB,KAAqC;CACrC,KAAqC;CACrC;CAEA,YACI,IAAgB,GAChB,IAAuC,WACvC,IAAqC,UACvC;EASE,AARA,KAAKC,KAAS,GACV,KAAKC,GAAU,CAAU,KAAK,KAAKA,GAAU,CAAQ,KACrD,KAAKC,KAAW,GAChB,KAAKC,KAAW,MAEhB,KAAKD,KAAW,GAChB,KAAKC,KAAW,IAEpB,KAAK,KAAK,GAAO,GAAG;CACxB;CAEA,QAAQ;EACJ,KAAKC,KAAS;CAClB;CACA,IAAI,QAAQ;EACR,OAAO,KAAKA;CAChB;CAEA,IAAI,QAAQ;EACR,OAAO,KAAK,YAAY,KAAK;CACjC;CAEA,IAAI,UAAU;EACV,OAAO,KAAKH,GAAU,KAAKC,EAAQ;CACvC;CAEA,IAAI,UAAU;EACV,OAAO,KAAKD,GAAU,KAAKE,EAAQ;CACvC;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKH;CAChB;CACA,IAAI,MAAM,GAAe;EACrB,AAAI,KAAKA,OAAW,MACZ,IAAQ,KAAK,UACb,IAAQ,KAAK,UACN,IAAQ,KAAK,YACpB,IAAQ,KAAK,UAEb,KAAKA,OAAW,MAChB,KAAKA,KAAS,GACd,KAAKI,KAAS;CAG1B;CAEA,GAAU,GAAyC;EAC/C,OAAO,OAAO,KAAU,WAAW,IAAQ,EAAM;CACrD;CAEA,OAAwB;EACpB,OAAO,IAAI,EAAgB,KAAKJ,IAAQ,KAAKE,IAAU,KAAKC,EAAQ;CACxE;CAEA,YAAY,GAAe;EAGvB,AAFA,KAAKD,KAAW,KAAK,UAAU,GAC/B,KAAKC,KAAW,KAAK,UAAU,GAC/B,KAAKH,MAAU;CACnB;CAEA,YAAY,GAAmC,GAAmC;EAC9E,IAAI,IAAW,GACX,IAAW;EAQf,AAPI,KAAKC,GAAU,CAAQ,IAAI,KAAKA,GAAU,CAAQ,MAClD,IAAW,GACX,IAAW,IAEX,KAAKA,GAAU,CAAQ,IAAI,KAAK,YAChC,KAAKC,KAAW,IAEhB,KAAKD,GAAU,CAAQ,IAAI,KAAK,YAChC,KAAKE,KAAW;CAExB;CAEA,gBAAgB,GAAmC;EAC/C,KAAKA,KAAW;CACpB;CAEA,gBAAgB,GAAmC;EAC/C,KAAKD,KAAW;CACpB;CAEA,cAAc,GAAe;EACzB,KAAKF,KAAS;CAClB;CAEA,WAAW;EACP,OAAO,GAAG,KAAK,GAAG,KAAK,GAAM,KAAK,OAAO,EAAE,IAAI,GAAM,KAAKA,EAAM,EAAE,IAAI,GAAM,KAAK,OAAO,EAAE;CAC9F;AACJ,GAIa,KAAb,MAAa,UAAmB,GAAgB;CAC5C,YAAY,GAAe;EACvB,MAAM,GAAO,GAAO,CAAK;CAC7B;CAEA,IAAI,QAAQ;EACR,OAAO;CACX;CAEA,OAAmB;EACf,OAAO,IAAI,EAAW,KAAK,KAAK;CACpC;CAEA,YAAY,GAAkB,GAAkB,CAAC;CAEjD,cAAc,GAAe;EAGzB,AAFA,MAAM,cAAc,CAAK,GACzB,MAAM,gBAAgB,CAAK,GAC3B,MAAM,gBAAgB,CAAK;CAC/B;AACJ,GA6Ba,KAAb,MAAa,EAAgB;CACzB;CACA;CAEA,YAAY,GAAyB,GAAyB;EAE1D,AADA,KAAKK,KAAU,GACf,KAAKC,KAAU;CACnB;CAEA,OAAO,UAAU,GAAmC;EAChD,OAAO,IAAI,EAAgB,IAAI,GAAgB,EAAM,CAAC,GAAG,IAAI,GAAgB,EAAM,CAAC,CAAC;CACzF;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKD,GAAQ,SAAS,KAAKC,GAAQ;CAC9C;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKD,GAAQ,SAAS,KAAKC,GAAQ;CAC9C;CAEA,IAAI,QAAe;EACf,OAAO,IAAI,EAAM,KAAKD,GAAQ,OAAO,KAAKC,GAAQ,KAAK;CAC3D;CACA,IAAI,MAAM,GAAkB;EAExB,AADA,KAAKD,GAAQ,QAAQ,EAAM,GAC3B,KAAKC,GAAQ,QAAQ,EAAM;CAC/B;CAEA,IAAI,IAAI;EACJ,OAAO,KAAKD,GAAQ;CACxB;CACA,IAAI,IAAI;EACJ,OAAO,KAAKC,GAAQ;CACxB;CAEA,IAAI,SAAS;EACT,OAAO,KAAKD;CAChB;CACA,IAAI,OAAO,GAAwB;EAC/B,KAAKA,KAAU;CACnB;CAEA,IAAI,SAAS;EACT,OAAO,KAAKC;CAChB;CACA,IAAI,OAAO,GAAwB;EAC/B,KAAKA,KAAU;CACnB;CAEA,QAAQ;EAEJ,AADA,KAAKD,GAAQ,MAAM,GACnB,KAAKC,GAAQ,MAAM;CACvB;CAEA,YAAY,GAAkB;EAE1B,AADA,KAAK,OAAO,YAAY,EAAM,CAAC,GAC/B,KAAK,OAAO,YAAY,EAAM,CAAC;CACnC;CAEA,OAAwB;EACpB,OAAO,IAAI,EAAgB,KAAKD,IAAS,KAAKC,EAAO;CACzD;CAEA,cAAc,GAAkB;EAE5B,AADA,KAAK,OAAO,cAAc,EAAM,CAAC,GACjC,KAAK,OAAO,cAAc,EAAM,CAAC;CACrC;CAEA,WAAmB;EACf,OAAO,QAAQ,GAAM,KAAK,CAAC,EAAE,IAAI,GAAM,KAAK,CAAC,EAAE;CACnD;AACJ,GAIa,KAAb,cAAgC,GAAgB;CAC5C,YAAY,GAAoB,GAAoB;EAChD,MAAM,GAAQ,CAAM;CACxB;AACJ,GCjXa,KAAb,MAAa,EAAY;CACrB;CACA;CACA;CACA;CACA;CACA,KAAqC;CAErC,YAAY,GAA2B,GAA2B,IAA+B,MAAM;EAEnG,AADA,KAAK,mBAAmB,GAAU,CAAQ,GAC1C,KAAK,kBAAkB,KAAkB,IAAI,EAAM,IAAK,EAAG,CAAC;CAChE;CAEA,IAAI,WAAW;EACX,OAAO,KAAKC;CAChB;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKC,GAAS,SAAS,KAAKC,GAAa;CACpD;CAEA,IAAI,QAAQ;EACR,OAAO,KAAKD,GAAS,SAAS,KAAKC,GAAa;CACpD;CAEA,IAAI,aAAa;EACb,OAAO,KAAKC;CAChB;CAEA,IAAI,eAAe;EACf,OAAO,KAAKF,GAAS;CACzB;CAEA,QAAQ;EAEJ,AADA,KAAKA,GAAS,MAAM,GACpB,KAAKC,GAAa,MAAM;CAC5B;CAEA,OAAoB;EAChB,OAAO,IAAI,EAAY,KAAKD,IAAU,KAAKC,IAAc,KAAKE,EAAe;CACjF;CAEA,mBAAmB,GAA2B,GAA2B;EACrE,IAAI,IAAK,EAAS,QACd,IAAK,EAAS,QACd,IAAK,EAAS,QACd,IAAK,EAAS;EAWlB,AAVI,EAAG,QAAQ,EAAG,UACd,IAAK,EAAS,QACd,IAAK,EAAS,SAEd,EAAG,QAAQ,EAAG,UACd,IAAK,EAAS,QACd,IAAK,EAAS,SAElB,KAAKH,KAAW,IAAI,GAAgB,GAAI,CAAE,GAC1C,KAAKC,KAAe,IAAI,GAAgB,GAAI,CAAE,GAC9C,KAAKG,KAAQ,GAAU,SAAS,KAAKH,GAAa,OAAO,KAAKD,GAAS,KAAK;CAChF;CAEA,kBAAkB,GAAuB;EAErC,AADA,KAAKG,KAAkB,GACvB,KAAKJ,KAAY,GAAgB,UAAU,KAAKK,GAAM,MAAM,KAAKD,EAAe,CAAC,CAAC,IAAI,KAAKH,GAAS,KAAK,CAAC;CAC9G;CAEA,IAAI,IAA+B,CAAC,GAAG;EACnC,OAAO,GAAQ,KAAKA,GAAS,OAAO,KAAKC,GAAa,OAAO,CAAU;CAC3E;AACJ,GAIa,KAAb,cAAsC,GAAY;CAC9C,YAAY,GAA0C;EAClD,MACI,IAAI,GAAW,IAAI,GAAW,EAAO,EAAE,GAAG,IAAI,GAAW,EAAO,EAAE,CAAC,GACnE,IAAI,GAAW,IAAI,GAAW,EAAO,EAAE,GAAG,IAAI,GAAW,EAAO,EAAE,CAAC,CACvE;CACJ;AACJ,GChFa,KAAoB,QACpB,KAAwB;AAuCL;CAC5B;CAEA;CAEA;CAEA;CAEA;CACA;AACJ,CAAC,CAAC,KAAK,EAAE;;;ACzET,SAAgB,GAAc,GAAQ,GAAO;CAC3C,OAAO,MAAM,QAAQ,CAAK,IACtB,CACE,EAAO,IAAI,EAAM,KAAK,EAAO,IAAI,EAAM,KAAK,EAAO,GACnD,EAAO,IAAI,EAAM,KAAK,EAAO,IAAI,EAAM,KAAK,EAAO,CACrD,IACA;EACE,GAAG,EAAO,IAAI,EAAM,IAAI,EAAO,IAAI,EAAM,IAAI,EAAO;EACpD,GAAG,EAAO,IAAI,EAAM,IAAI,EAAO,IAAI,EAAM,IAAI,EAAO;CACtD;AACN;AAQA,SAAgB,GAAe,GAAQ,GAAQ;CAC7C,OAAO,EAAO,KAAI,MAAS,GAAa,GAAQ,CAAK,CAAC;AACxD;;;ACXA,SAAgB,GAAY,GAAQ;CAClC,IAAM,KAAoB,MAAU;EAClC,IAAM,IAAI,WAAW,CAAM;EAC3B,IAAI,OAAO,SAAS,CAAC,GAAG,OAAO;EAC/B,MAAU,MAAM,IAAI,EAAO,kBAAkB;CAC/C,GAEM,IAAS,EAAO,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY,GAC5C,IAAS,EAAO,UAAU,EAAO,SAAS,CAAC,GAE3C,IADO,EAAO,UAAU,GAAG,EAAO,SAAS,CAC7B,CAAC,CAAC,MAAM,GAAG;CAE/B,IACE,MAAW,aACX,MAAW,OACX,EAAS,WAAW,GAEpB,OAAO;EACL,GAAG,EAAkB,EAAS,EAAE;EAChC,GAAG,EAAkB,EAAS,EAAE;EAChC,GAAG,EAAkB,EAAS,EAAE;EAChC,GAAG,EAAkB,EAAS,EAAE;EAChC,GAAG,EAAkB,EAAS,EAAE;EAChC,GAAG,EAAkB,EAAS,EAAE;CAClC;CAGF,MAAU,MAAM,IAAI,EAAO,kBAAkB;AAC/C;;;ACvCA,SAAgB,KAAY;CAC1B,OAAO;EACL,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;EACH,GAAG;CACL;AACF;;;ACRA,SAAgB,GAAS,GAAQ;CAG/B,IAAM,EAAE,MAAG,MAAG,MAAG,MAAG,MAAG,SAAM,GAEvB,IAAQ,IAAI,IAAI,IAAI;CAE1B,OAAO;EACL,GAAG,IAAI;EACP,GAAG,IAAI,CAAC;EACR,GAAG,IAAI,CAAC;EACR,GAAG,IAAI;EACP,IAAI,IAAI,IAAI,IAAI,KAAK,CAAC;EACtB,IAAI,IAAI,IAAI,IAAI,KAAK;CACvB;AACF;;;ACdA,SAAgB,GAAW,GAAI,IAAK,GAAG;CACrC,OAAO;EACL,GAAG;EACH,GAAG;EACA;EACH,GAAG;EACH,GAAG;EACH,GAAG;CACL;AACF;;;ACVA,SAAgB,GAAW,GAAG,GAAU;CACtC,IAAW,MAAM,QAAQ,EAAS,EAAE,IAAI,EAAS,KAAK;CAEtD,IAAM,KAAY,GAAI,OACb;EACL,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;EAC3B,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;EAC3B,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;EAClC,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;EAC3B,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;EAC3B,GAAG,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG,IAAI,EAAG;CACpC;CAGF,QAAQ,EAAS,QAAjB;EACE,KAAK,GACH,MAAU,MAAM,sBAAsB;EAExC,KAAK,GACH,OAAO,EAAS;EAElB,KAAK,GACH,OAAO,EAAS,EAAS,IAAI,EAAS,EAAE;EAE1C,SAAS;GACP,IAAM,CAAC,GAAI,GAAI,GAAG,KAAQ;GAE1B,OAAO,GADG,EAAS,GAAI,CACN,GAAG,GAAG,CAAI;EAC7B;CACF;AACF;AAOA,SAAgB,GAAS,GAAG,GAAU;CACpC,OAAO,GAAU,GAAG,CAAQ;AAC9B;;;ACxCA,IAAM,EAAE,SAAK,SAAK,WAAO,MCHnB,EAAE,YAAQ;;;ACsBhB,SAAgB,GAAU,GAAQ;CAChC,OAAO,UAAU,EAAO,EAAE,GAAG,EAAO,EAAE,GAAG,EAAO,EAAE,GAAG,EAAO,EAAE,GAAG,EAAO,EAAE,GAAG,EAAO,EAAE;AACxF;;;ACaA,IAAa,KAAb,MAAa,EAAU;CACnB;CAEA,YAAY,GAAgB;EACxB,KAAKI,KAAU;CACnB;CAEA,OAAO,WAAW,GAA2B;EAIrC,OAHA,MAAW,MAAM,MAAW,SACrB,IAAI,EAAU,GAAS,CAAC,IAExB,IAAI,EAAU,GAAW,CAAM,CAAC;CAE/C;CAEA,OAAO,WAAsB;EACzB,OAAO,IAAI,EAAU,GAAS,CAAC;CACnC;CAEA,IAAI,aAAsB;EACtB,OAAO,GAAkB,KAAKA,EAAO,MAAM,GAAkB,GAAS,CAAC;CAC3E;CAEA,UAAqB;EACjB,OAAO,IAAI,EAAU,GAAQ,KAAKA,EAAO,CAAC;CAC9C;CAEA,aAAa,GAAiC;EAC1C,OAAO,IAAI,EAAU,GAAQ,CAAC,EAAUA,IAAS,KAAKA,EAAO,CAAC,CAAC;CACnE;CAEA,WAAmB;EACf,OAAO,GAAkB,KAAKA,EAAO;CACzC;CAEA,eAAe,GAAyB;EACpC,OAAO,EAAM,UAAU,GAAa,KAAKA,IAAS,CAAK,CAAC;CAC5D;CAEA,gBAAgB,GAA8B;EAC1C,OAAO,GAAc,KAAKA,IAAS,CAAM,CAAC,CAAC,KAAK,MAAO,EAAM,UAAU,CAAE,CAAC;CAC9E;CAEA,OAAO,UAAU,GAAY,GAAuB;EAChD,OAAO,IAAI,EAAU,GAAU,GAAI,CAAE,CAAC;CAC1C;AACJ,GCtDM,KAA2B,GAIpB,KAAb,MAA8B;CAcb;CAbb;CACA;CACA,KAAyB,IAAI,EAAM,IAAK,EAAG;CAC3C;CACA,KAAqB;CACrB,qBAAiC,IAAI,IAAI;CACzC;CACA,KAAe,IAAI,EAAM;CACzB;CACA;CACA,KAAqC;CAErC,YACI,GACA,GACF;EACE,IAHS,KAAA,eAAA,GAGL,MAAe,MACf,MAAU,MAAM,kBAAkB,EAAa,GAAG,8BAA8B;EAEpF,IAAM,IAAoB,EAAa,aAAa;EAEpD,KAAKC,KAAmB,GAAU,SAAS;EAC3C,IAAI,IAAU;EACd,OAAO,MAAY,IAAmB;GAClC,IAAM,IAAY,iBAAiB,CAAO,CAAC,CAAC;GAI5C,AAHI,MAAc,WACd,KAAKA,KAAmB,KAAKA,GAAiB,aAAa,GAAU,WAAW,CAAS,CAAC,IAE9F,IAAU,EAAQ;EACtB;EAOA,AANI,KAAKA,GAAiB,eACtB,KAAKA,KAAmB,OAE5B,EAAa,oBAAoB,IAAI,GACrC,KAAKC,KAAc,GACnB,KAAKC,KAAoB,GACzB,KAAKC,GAAmB;CAC5B;CAEA,IAAI,SAAiB;EACjB,OAAO,KAAKC;CAChB;CAEA,IAAI,WAAkB;EAClB,OAAO,KAAKC;CAChB;CAEA,IAAI,iBAAwB;EACxB,OAAO,KAAKC;CAChB;CAEA,IAAI,UAA0B;EAC1B,OAAO,CAAC,KAAKC,GAAe,IAAI,KAAKA,GAAe,EAAE;CAC1D;CAEA,IAAI,kBAAkB;EAClB,OAAO,KAAKP;CAChB;CAEA,IAAI,SAAiB;EACjB,OAAO,KAAKQ,GAAM;CACtB;CAEA,IAAI,KAAa;EACb,OAAO,KAAK,aAAa;CAC7B;CAEA,IAAI,WAAW;EACX,OAAO,KAAKC;CAChB;CAEA,IAAI,OAAO;EACP,OAAO,KAAKD;CAChB;CAEA,IAAI,aAAa;EACb,OAAO,KAAKP;CAChB;CAEA,IAAI,UAAU;EACV,OAAO,KAAKS;CAChB;CAEA,IAAI,QAAgB;EAChB,OAAO,KAAKF,GAAM;CACtB;CAEA,YAAY,GAAiB;EACzB,KAAKH,KAAY;CACrB;CAEA,UAAU,IAAuB,IAAe;EAE5C,OAAO,KAAe,KAAKD,OAAY,KAAA,IACjC,GAAO,QAAQ,KAAKH,IAAa,KAAKD,EAAgB,IACtD,KAAKI;CACf;CAEA,KAAiD;EAC7C,IAAM,IAAgC,CAAC;EACvC,IAAI,KAAKF,GAAkB,YAAY,OACnC,KAAKA,GAAkB,UAAU,SAAS,GAAa,UAAU,GAAG;GACpE,IAAM,IAAW,KAAKA,GAAkB;GACxC,KAAK,IAAI,IAAQ,GAAG,IAAQ,EAAS,QAAQ,EAAE,GAE3C,EAAQ,KAAK,EAAS,EAA6B;EAE3D,OACI,EAAQ,KAAK,KAAKA,EAAiB;EAEvC,OAAO;CACX;CAEA,GAAmB,GAAa,GAAiB;EAC7C,IAAI,GAAQ;GACR,KAAK,IAAM,KAAW,KAAKS,GAAyB,GAChD,EAAQ,UAAU,IAAI,CAAG;GAE7B,KAAKC,GAAkB,IAAI,CAAG;EAClC,OAAO;GACH,KAAK,IAAM,KAAW,KAAKD,GAAyB,GAChD,EAAQ,UAAU,OAAO,CAAG;GAEhC,KAAKC,GAAkB,OAAO,CAAG;EACrC;CACJ;CAEA,SAAS,IAAS,IAAM;EACpB,KAAKC,GAAmB,UAAU,CAAM;CAC5C;CAEA,UAAU,IAAY,IAAM;EACxB,KAAKA,GAAmB,aAAa,CAAS;CAClD;CAEA,aAAa,GAAoB,GAAiC,GAAgC;EAC9F,OAAO;CACX;CAEA,OAAO,IAAW,IAAM;EAEpB,AADA,KAAKA,GAAmB,YAAY,CAAQ,GAC5C,KAAKJ,KAAY;CACrB;CAEA,KAAgB;EACZ,IAAM,IAAS,KAAK,UAAU,EAAI;EAElC,AADA,KAAKD,KAAQ,IAAI,EAAM,EAAO,QAAQ,EAAO,MAAM,EAAO,SAAS,EAAO,GAAG,GACzE,KAAKH,MACL,KAAKK,KAAW,KAAKL,GAAU,SAAS,KAAKG,GAAM,MAAM,KAAKF,EAAe,CAAC,GAE9E,KAAKF,KAAU,IAAI,GACf,KAAKM,GAAS,GACd,KAAKA,GAAS,GACd,KAAKA,GAAS,IAAI,KAAKF,GAAM,GAC7B,KAAKE,GAAS,IAAI,KAAKF,GAAM,CACjC,MAEA,KAAKE,KAAW,IAAI,EAAM,EAAO,MAAM,EAAO,GAAG,GACjD,KAAKN,KAAU,GACf,KAAKC,KAAY,KAAKG,GAAM,MAAM,KAAKF,EAAe,CAAC,CAAC,IAAI,KAAKI,EAAQ;EAE7E,IAAM,IAAgB,KAAKF,GAAM,MAAM,KAAKF,EAAe,CAAC,CAAC,YAAY,EAAE,GAErE,IAAA,IAAoD,IAA6B;EAEnF,KAAKC,KAAiB;GAClB,EAAc,IAAI,KAAKC,EAAK,CAAC,CAAC,IAAI;IAAE,GAAG;IAAwB,GAAG;GAAuB,CAAC;GAC1F,EACK,IAAI;IAAE,GAAG,KAAKA,GAAM;IAAG,GAAG;GAAE,CAAC,CAAC,CAC9B,IAAI;IAAE,GAAG;IAAwB,GAAG;GAAwB,CAAC;GAClE,EAAc,IAAI;IAAE,GAAG;IAAyB,GAAG;GAAwB,CAAC;GAC5E,EACK,IAAI;IAAE,GAAG;IAAG,GAAG,KAAKA,GAAM;GAAE,CAAC,CAAC,CAC9B,IAAI;IAAE,GAAG;IAAyB,GAAG;GAAuB,CAAC;EACtE;CASR;CAEA,KAAqB;EAGjB,IADA,KAAKF,KAAkB,IAAI,EAAM,IAAK,EAAG,GACrC,KAAKL,GAAY,YAAY,KAAK;GAClC,IAAM,IAAa,KAAKA,GAAY,SAAS,KAAK,CAAC;GACnD,AAAI,EAAW,QAAQ,YACnB,KAAKK,KAAkB,IAAI,EAAM,CAAC,EAAW,QAAQ,SAAS,CAAC,EAAW,QAAQ,OAAQ;EAElG;EAIA,IAFA,KAAKQ,GAAc,GAGf,KAAKb,GAAY,YAAY,OAC7B,CAAC,KAAKA,GAAY,UAAU,SAAS,GAAa,UAAU,KAC5D,KAAKA,GAAY,sBAAsB,MACzC;GACE,IAAM,KACF,KAAKA,GAAY,UAAU,SAAS,GAAa,WAAW,IACtD,GAAO,QAAQ,KAAKA,GAAY,UAAgC,IAChE,GAAO,QAAQ,KAAKA,EAAW,EAAA,CACvC,OAAA,IAAgC,CAAC;GAEnC,IAAI,KAAKA,GAAY,kBAAkB,YAAY,OAAO;IACtD,IAAM,IAAW,KAAKA,GAAY;IAIlC,AAHA,EAAS,aAAa,KAAK,GAAG,EAAO,QAAQ,EAAE,GAAG,GAClD,EAAS,aAAa,KAAK,GAAG,EAAO,QAAQ,EAAE,GAAG,GAClD,EAAS,aAAa,SAAS,GAAG,EAAO,MAAM,GAAG,GAClD,EAAS,aAAa,UAAU,GAAG,EAAO,OAAO,GAAG;GACxD;GAEA,IAAM,IAAM,IADc,GAAiB,EAAO,QAAQ,CAC9C,CAAA,CAAc,IAAI,EAC1B,OAAO,+CAA+C,CAAC,GAAG,KAAKW,GAAkB,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IACvG,CAAC;GAID,IAHA,KAAKX,GAAY,mBAAmB,aAAa,CAAG,GACpD,KAAKC,KAAoB,KAAKD,GAAY,WAEtC,KAAK,aAAa,WAAW;IAI7B,IAAM,IAAM,GAHG,IAAI,EAAM,EAAO,QAAQ,EAAO,MAAM,EAAO,SAAS,EAAO,GAAG,CAAC,CAC3E,MAAM,KAAKK,EAAe,CAAC,CAC3B,IAAI,IAAI,EAAM,EAAO,MAAM,EAAO,GAAG,CACpB,GAAQ,IAA0B,EACpD,OAAO,sDACX,CAAC;IACD,KAAKL,GAAY,mBAAmB,aAAa,CAAG;GACxD;EACJ;CACJ;AACJ,GChPa,KAAb,cAAoC,GAAiB;CACjD;CAEA,YAAY,GAAsB,GAAgC;EAQ9D,AAPA,MAAM,GAAQ,CAAU,GAExB,KAAKc,KAAe,IAAI,GACpB,GAAgB,UAAU,KAAK,OAAO,GACtC,GAAgB,UAAU,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,GACrD,KAAK,cACT,GACA,KAAK,YAAY,KAAKA,GAAa,SAAS,KAAK;CACrD;AACJ,GCTY,KAAL,yBAAA,GAAA;QACH,EAAA,aAAA,qBACA,EAAA,YAAA,oBACA,EAAA,YAAA,oBACA,EAAA,aAAA,qBACA,EAAA,UAAA,kBACA,EAAA,cAAA,sBACA,EAAA,YAAA,wBACA,EAAA,QAAA,gBACA,EAAA,kBAAA,sBACA,EAAA,UAAA;AACJ,EAAA,CAAA,CAAA,GAIa,KAAb,MAA0B;CAYF;CACP;CAZb,OAAO,kBAAA;CACP,OAAO,aAAqB;CAE5B;CACA;CACA;CACA;CAEA;CAEA,YACI,GACA,IAAmC,CAAC,GACpC,GACF;EAKE,AARgB,KAAA,MAAA,GACP,KAAA,UAAA,GAGT,KAAKC,KAAe,GAEpB,KAAKC,KAAmB,KAAK,YAAY,iBAEzC,KAAKC,KAAc,GAAO,IAAI,KAAK,YAAY,UAAU;CAC7D;CAEA,WAAmB;EACf,OAAO,GAAG,KAAKD,GAAiB,GAAG,KAAK;CAC5C;CAEA,IAAI,kBAAkB;EAClB,OAAO,KAAKA;CAChB;CAEA,IAAI,cAAc;EACd,OAAO,KAAKD;CAChB;CAEA,IAAI,mBAAmB;EACnB,OAAO,KAAKG;CAChB;CACA,oBAAoB,GAAoC;EACpD,KAAKA,KAAoB;CAC7B;CAEA,IAAI,gBAAgB;EAChB,OAAO;CACX;CAEA,IAAI,KAAa;EACb,OAAO,KAAK,IAAI,GAAG;CACvB;CAEA,IAAI,GAAoB;EACpB,OAAO,KAAKD,GAAY,OAAO,CAAO;CAC1C;CAEA,IAAI,cAAc;EACd,OAAO;CACX;CAEA,IAAI,eAAe;EACf,OAAO,KAAK,oBAAA;CAChB;CAEA,IAAI,cAAc;EAEd,OAAO,KAAK,oBAAA,sBAA8C,KAAK,oBAAA;CACnE;CAEA,IAAI,YAAY;EACZ,OAAO,KAAK,oBAAA;CAChB;CAEA,IAAI,gBAAgB;EAChB,OAAO;CACX;CAEA,IAAI,eAAe;EACf,OAAO,KAAK,oBAAA;CAChB;CAEA,IAAI,gBAAgB;EAChB,OAAO,KAAK,oBAAA;CAChB;CAEA,IAAI,cAAc;EACd,OAAO,KAAK,oBAAA;CAChB;CAEA,IAAI,WAAW;EACX,OAAO,KAAKC,IAAmB;CACnC;CAEA,IAAI,aAAa;EACb,OAAO,KAAKA,IAAmB,cAAc;CACjD;CAEA,IAAI,UAA4B;EAC5B,OAAO,KAAKC;CAChB;CACA,IAAI,QAAQ,GAAiB;EACzB,KAAKA,KAAW;CACpB;CAEA,SAAS,IAAS,IAAM;EACpB,KAAKD,IAAmB,SAAS,CAAM;CAC3C;CAEA,UAAU,IAAY,IAAM;EACxB,KAAKA,IAAmB,UAAU,CAAS;CAC/C;CAEA,OAAO,IAAW,IAAM;EACpB,KAAKA,IAAmB,OAAO,CAAQ;CAC3C;CAEA,iBAAiB,GAAiC,CAClD;AACJ,GAIa,KAAb,cAA0C,GAAa;CACnD,iBAAiB,GAAgC;EAC7C,IAAI,GAAe,MAAM,CAAU;CACvC;AACJ,GAIa,KAAb,cAAsC,GAAqB;CACvD,OAAO,kBAAA;CACP,OAAO,aAAa;AACxB,GAIa,KAAb,cAA2C,GAAqB;CAC5D,OAAO,aAAa;CAEpB,IAAI,gBAAgB;EAChB,OAAO;CACX;AACJ,GAIa,KAAb,cAAqC,GAAsB;CACvD,OAAO,kBAAA;CACP,OAAO,aAAa;AACxB,GAIa,KAAb,cAAmC,GAAgB;CAC/C,OAAgB,kBAAA;CAChB,OAAO,aAAa;AACxB,GAIa,KAAb,cAAuC,GAAsB;CACzD,OAAgB,kBAAA;CAChB,OAAO,aAAa;AACxB,GAIa,KAAb,cAAsC,GAAa;CAC/C,OAAgB,kBAAA;CAChB,OAAO,aAAa;AACxB,GAIa,KAAb,cAAqC,GAAsB;CACvD,OAAgB,kBAAA;CAChB,OAAO,aAAa;CAEpB,KAA2C,CAAC;CAE5C,WAAmB;EACf,OAAO,GAAG,MAAM,SAAS,EAAE,cAAc,KAAKE,GAAqB,KAAK,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI;CACjG;AACJ,GAIa,KAAb,cAA2C,GAAsB;CAC7D,OAAgB,kBAAA;CAChB,OAAO,aAAa;AACxB,GCnLM,KAAqB,uBAErB,KAAqB,6BAId,KAAb,MAAyB;CACrB,KAAkC;CAElC,KAAM,IAAI,GAAc;CACxB;CAEA;CACA;CAEA,qBAAwC,IAAI,IAAI;CAChD,qBAAsC,IAAI,IAAI;CAC9C,KAAkC,KAAA;CAElC,YAAY,GAA4B,IAAmB,IAAI,IAAyB,CAAC,GAC7E,IAAoC,KAAA,GAAW;EAKvD,AAJA,KAAKC,KAAgB,GACrB,KAAKC,KAAgB,EAAe,EAAkB,GACtD,KAAKC,KAAc,IAAI,EAAmB,KAAK,GAAG,GAAmB,EAAE,GACvE,KAAKC,KAAe,IAAI,IAAI,OAAO,QAAQ,CAAW,CAAC,GACnD,MAAe,OACf,KAAKC,GAAgB,CAAU,GAC/B,KAAKC,GAAc,GACnB,KAAKC,KAAgB,GAAS;CAEtC;CAEA,cAAc;EASV,AAPA,KAAKC,GAAgB,GACrB,KAAKC,GAAgB,GACrB,KAAKC,GAAc,GACnB,KAAKC,GAAiB,GACtB,KAAKC,GAAiB,GACtB,KAAKC,GAA0B,GAE/B,KAAKC,GAAa;CACtB;CAEA,MAAM,YAAY;EACd,AAAI,KAAKC,KACL,MAAM,KAAKd,GAAc,YAAY,IAAI,IAEzC,KAAKA,GAAc,aAAa;CAExC;CAEA,YAAY,GAAc,IAA+B,KAAA,GAAW;EAChE,IAAM,IAA2B,EACvB,QACV;EASA,AARI,MACA,EAAY,YAAY,EACpB,IAAI,EAAO,GACf,GACI,KAAKG,GAAa,IAAI,EAAO,EAAE,MAC/B,EAAY,UAAU,aAAa,KAAKA,GAAa,IAAI,EAAO,EAAE,KAG1E,SAAS,cACL,IAAI,YAAY,gBAAgB,EAC5B,QAAQ,EACZ,CAAC,CACL;CACJ;CAEA,IAAI,WAAW;EACX,OAAO,KAAKY;CAChB;CAEA,IAAI,aAAa;EACb,OAAO,KAAKD;CAChB;CAEA,IAAI,MAAc;EACd,OAAO,KAAKb,GAAc;CAC9B;CAEA,QAAQ,GAA4B;EAChC,OAAO,KAAKC,GAAY,IAAI,CAAE;CAClC;CAEA,WAAW,GAAiC;EACxC,OAAO,KAAKc,GAAS,IAAI,CAAE,KAAK;CACpC;CAEA,GAAgB,GAAiB;EAG7B,IAAM,IADc,IADD,UACC,CAAA,CAAO,gBAAgB,GAAS,eAClB,CAAA,CAAY;EAC9C,IAAI,EAAW,aAAa,OAAO,KAAK,EAAW,aAAa,QAAQ,GAAG;GACvE,IAAM,IAAQ,GAAuB,EAAW,aAAa,OAAO,CAAC,GAC/D,IAAS,GAAuB,EAAW,aAAa,QAAQ,CAAC;GACvE,AAAI,MAAU,QAAQ,MAAW,SAC7B,EAAW,WAAW,gBAAgB,OAAO,GAC7C,EAAW,WAAW,gBAAgB,QAAQ,GACzC,EAAW,aAAa,SAAS,KAClC,EAAW,aAAa,WAAW,OAAO,EAAM,GAAG,GAAQ;EAGvE;EAGA,IAAM,IAAe,EAAW,iBAAiB,gBAAgB,GAAsB,GAAG;EAC1F,KAAK,IAAI,IAAQ,GAAG,IAAQ,EAAa,QAAQ,EAAE,GAG/C,EADuC,EACvC,CAAK,aAAa,UAAU,EAAiB;EAEjD,KAAKF,KAAc;CACvB;CAEA,KAAgB;EACZ,IAAM,IAAkB,KAAKA,IAAa,eAAe,EAAkB;EAC3E,IACI,MACC,EAAE,iBAAiB,EAAgB,YAAY,EAAgB,QAAQ,gBAAgB,gBAC1F;GACE,IAAM,IAAa,EAAgB;GACnC,KAAK,IAAI,IAAQ,GAAG,IAAQ,EAAW,QAAQ,EAAE,GAAO;IAEpD,IAAM,IAAY,EAAW;IAC7B,IAAI,EAAU,aAAa,kBAAkB;KACzC,KAAKC,GAAI,KAAK,KAAKd,GAAc,KAAoB,EAAW,MAAM,CAAsB;KAC5F;IACJ;GACJ;EACJ,OACI,KAAK,IAAM,CAAC,GAAU,MAAe,KAAKE,GAAa,QAAQ,GAC3D,IAAI,KAAKW,IAAa,eAAe,CAAQ,GAAG;GAC5C,IAAM,IAAc,UAAU,IACR,OAAO,EAAW,IAAI,IACzB;GACnB,KAAKC,GAAI,IAAI,EAAe,GAAG,KAAKd,GAAc,IAAI,GAAG,GAAU,GAAA,EAC1C,IAAI,MAAM,GAAG,GAAO,IAAI,CAAU,CAAC;EAChE;CAGZ;CAEA,GAAqB,GAAqC;EACtD,IAAM,IAAiC,KAAKa,IAAa,eAAe,EAAa,EAAE;EAMvF,OALI,KACA,EAAa,iBAAiB,CAAU,GACjC,OAEX,QAAQ,MAAM,2BAA2B,EAAa,IAAI,GACnD;CACX;CAEA,KAAe;EACX,KAAK,IAAM,KAAU,KAAKE,GAAS,OAAO,GAAG;GACzC,IAAM,IAAa,KAAKb,GAAa,IAAI,EAAO,EAAE;GAClD,AAAI,KAAc,KAAKG,MAAiB,KAAKA,MAAiB,MAC1D,EAAO,UAAU,OAAO,EAAW,KAAKA,GAAc;EAE9D;CACJ;CAEA,GAA6C,GAA6B,GAA8B;EAGpG,OAAO,IADkB,EAAY,GADpB,KAAKS,GAAI,6BAA6B,CACT,GAAU,IACjD;CACX;CAEA,GAAgB,GAAkE;EAC9E,OAAO,KAAKA,GAAI,eAAe,CAAU,CAAC,CAAC,QAAQ,MAAO,EAAG,EAAE,CAAC,MAAM,WAAW,KAAKd,GAAc,KAAK,CAAC;CAC9G;CAEA,GAAmB,GAAsB;EACrC,KAAKe,GAAS,IAAI,EAAO,IAAI,CAAM;CACvC;CAEA,GAAoC,GAAsB,GAA6B;EACnF,KAAK,IAAM,KAAe,KAAKC,GAAgB,CAAI,GAC/C,IAAI,EAAY,EAAE,CAAC,OAAO,CAAI,GAAG;GAC7B,IAAM,IAAS,KAAKC,GAAqB,GAAa,EAAY,EAAE;GACpE,AAAI,KAAKC,GAAqB,CAAM,KAChC,KAAKC,GAAmB,CAAM;EAEtC;CAER;CAEA,KAAmB;EACf,KAAKC,GAAY,GAAO,IAAI,YAAY,GAAG,EAAgB;CAC/D;CAEA,KAAkB;EAEd,AADA,KAAKA,GAAY,GAAO,IAAI,WAAW,GAAG,EAAe,GACzD,KAAKA,GAAY,GAAO,IAAI,iBAAiB,GAAG,EAAqB;CACzE;CAEA,KAAkB;EACd,KAAKA,GAAY,GAAO,IAAI,WAAW,GAAG,EAAe;CAC7D;CAEA,KAAgB;EACZ,KAAKA,GAAY,GAAO,IAAI,SAAS,GAAG,EAAa;CACzD;CAEA,KAAmB;EACf,KAAKA,GAAY,GAAO,IAAI,YAAY,GAAG,EAAgB;CAC/D;CAEA,KAA4B;EAExB,IAAM,IAAiB,KAAKP,GAAY,iBAAiB,OAAO;EAChE,KAAK,IAAI,IAAQ,GAAG,IAAQ,EAAe,QAAQ,EAAE,GAAO;GAExD,IAAM,IAA8B,EAAe;GACnD,IAAI,CAAC,KAAKE,GAAS,IAAI,EAAQ,EAAE,GAAG;IAEhC,IAAM,IAAc,EAAQ,UAAU,SAAS,mBAAmB,IAAI,KAClD,EAAQ,UAAU,SAAS,oBAAoB,IAAI,KACnD,EAAQ,UAAU,SAAS,kBAAkB,IAAI,KACjD,EAAQ,UAAU,SAAS,mBAAmB,IAAI,KAClD,EAAQ,UAAU,SAAS,sBAAsB,IAAI,KACrD,EAAQ,UAAU,SAAS,oBAAoB,IAAI,KACnD;IACpB,IAAI,MAAgB,MAAM;KACtB,IAAM,IAAS,IAAI,EAAY,KAAK,QAAQ,EAAQ,EAAE,GAAG,CAAC,GAAG,IAAI;KAEjE,AADA,EAAO,iBAAiB,CAAO,GAC/B,KAAKI,GAAmB,CAAM;IAClC;GACJ;EACJ;CACJ;AACJ;;;;;;;;;;;;;;EC3PA,IAAM,IAAc,EAAI,mBAAmB;EAE3C,AAAI,KAGA,EAFwB,WAAW,IAE/B,IAAI,EAAQ;EAIpB,IAAM,IAAkB,GAAa,KAAK,aAAa,IAKjD,IAAa,EAAI,IAAI,IAAI,GAE3B,GAEE,IAA6B,IAAI,GAAa,GAI9C,IAAQ,GAER,IAAO,GAOP,IAAc,YAAY;GAC5B,IAAI,EAAM,YAAY,IAElB,AADA,IAAc,IAAI,GAAY,CAAY,GAC1C,MAAM,EAAY,UAAU;QAE5B,IAAI;IAEA,AADA,IAAc,IAAI,GAAY,GAAc,EAAM,SAAS,EAAM,aAAa,EAAM,OAAO,GAC3F,MAAM,EAAY,UAAU;GAChC,SAAQ,GAAK;IACT,EAAK,SAAS,2BAA2B,EAAI,EAAE;GACnD;EAER;SAIA,EAAI,YACM,EAAM,SACZ,YAAY;GACR,MAAM,EAAY;EACtB,CACJ,GAIA,EAAI,UAAU,YAAY;GACtB,AAAI,EAAW,UACX,EAAa,MAAM,EAAW,OAAO,CAAO,GAC5C,MAAM,EAAY;EAE1B,CAAC,GAID,EAA4B,UAAU,iBAAiB,MAAuB;GAC1E,EAAK,SAAS,EAAM,MAAM;EAC9B,CAAC,cAzGG,EAAA,GAAA,EAA4B,OAAA;GAAnB,SAAA;GAAJ,KAAI"}