UNPKG

53.9 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction extend$__(target,ext){\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(ext);\n\tdelete descriptors.constructor;\n\tif(target.extend__ instanceof Function){\n\t\ttarget.extend__(descriptors,ext);\n\t} else {\n\t\t// @ts-ignore\n\t\tObject.defineProperties(target,descriptors);\n\t}\n\treturn target;\n};;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\n};;\nfunction iter$__(a){ let v; return a ? ((v=a.toIterable) ? v.call(a) : a) : a; };\nconst $parent$ = Symbol.for('#parent'), $closestNode$ = Symbol.for('#closestNode'), $parentNode$ = Symbol.for('#parentNode'), $context$ = Symbol.for('#context'), $__init__$ = Symbol.for('#__init__'), $$inited$ = Symbol.for('##inited'), $getRenderContext$ = Symbol.for('#getRenderContext'), $getDynamicContext$ = Symbol.for('#getDynamicContext'), $insertChild$ = Symbol.for('#insertChild'), $appendChild$ = Symbol.for('#appendChild'), $replaceChild$ = Symbol.for('#replaceChild'), $removeChild$ = Symbol.for('#removeChild'), $insertInto$ = Symbol.for('#insertInto'), $insertIntoDeopt$ = Symbol.for('#insertIntoDeopt'), $removeFrom$ = Symbol.for('#removeFrom'), $removeFromDeopt$ = Symbol.for('#removeFromDeopt'), $replaceWith$ = Symbol.for('#replaceWith'), $replaceWithDeopt$ = Symbol.for('#replaceWithDeopt'), $placeholderNode$ = Symbol.for('#placeholderNode'), $attachToParent$ = Symbol.for('#attachToParent'), $detachFromParent$ = Symbol.for('#detachFromParent'), $placeChild$ = Symbol.for('#placeChild'), $beforeReconcile$ = Symbol.for('#beforeReconcile'), $afterReconcile$ = Symbol.for('#afterReconcile'), $afterVisit$ = Symbol.for('#afterVisit'), $visitContext$ = Symbol.for('#visitContext'), $$parent$ = Symbol.for('##parent'), $$up$ = Symbol.for('##up'), $$context$ = Symbol.for('##context'), $domNode$ = Symbol.for('#domNode'), $$placeholderNode$ = Symbol.for('##placeholderNode'), $domDeopt$ = Symbol.for('#domDeopt'), $$visitContext$ = Symbol.for('##visitContext'), $isRichElement$ = Symbol.for('#isRichElement'), $src$ = Symbol.for('#src'), $htmlNodeName$ = Symbol.for('#htmlNodeName'), $getSlot$ = Symbol.for('#getSlot'), $ImbaElement$ = Symbol.for('#ImbaElement'), $cssns$ = Symbol.for('#cssns'), $cssid$ = Symbol.for('#cssid');\n\n/*body*/\n// imba$stdlib=1\n\nimport {Flags} from './flags';\nimport {getDeepPropertyDescriptor} from '../utils';\nimport {RenderContext,createRenderContext} from './context';\n\nexport const {\n\tEvent: Event,\n\tUIEvent: UIEvent,\n\tMouseEvent: MouseEvent,\n\tPointerEvent: PointerEvent,\n\tKeyboardEvent: KeyboardEvent,\n\tCustomEvent: CustomEvent,\n\tNode: Node,\n\tComment: Comment,\n\tText: Text,\n\tElement: Element,\n\tHTMLElement: HTMLElement,\n\tHTMLHtmlElement: HTMLHtmlElement,\n\tHTMLSelectElement: HTMLSelectElement,\n\tHTMLInputElement: HTMLInputElement,\n\tHTMLTextAreaElement: HTMLTextAreaElement,\n\tHTMLButtonElement: HTMLButtonElement,\n\tHTMLOptionElement: HTMLOptionElement,\n\tHTMLScriptElement: HTMLScriptElement,\n\tSVGElement: SVGElement,\n\tDocumentFragment: DocumentFragment,\n\tShadowRoot: ShadowRoot,\n\tDocument: Document,\n\tWindow: Window,\n\tcustomElements: customElements\n} = globalThis.window;\n\nconst descriptorCache = {};\nfunction getDescriptor(item,key,cache){\n\t\n\tif (!(item)) {\n\t\t\n\t\treturn cache[key] = null;\n\t};\n\t\n\tif (cache[key] !== undefined) {\n\t\t\n\t\treturn cache[key];\n\t};\n\t\n\tlet desc = Object.getOwnPropertyDescriptor(item,key);\n\t\n\tif (desc !== undefined || item == SVGElement) {\n\t\t\n\t\treturn cache[key] = desc || null;\n\t};\n\t\n\treturn getDescriptor(Reflect.getPrototypeOf(item),key,cache);\n};\n\n// export const document = global.window.document\nconst CustomTagConstructors = {};\nconst CustomTagToElementNames = {};\nexport const TYPES = {};\nexport const CUSTOM_TYPES = {};\nexport function get_document(){\n\t\n\treturn globalThis.document;\n};\n\nexport function use_window(){\n\t\n\tglobalThis.imba.uses_window = true;\n\treturn true;\n};\n\n// Basic node extensions\n\nconst contextHandler = {\n\tget(target,name){\n\t\t\n\t\tlet ctx = target;\n\t\tlet val = undefined;\n\t\twhile (ctx && val == undefined){\n\t\t\t\n\t\t\tif (ctx = ctx[$parent$]) {\n\t\t\t\t\n\t\t\t\tval = ctx[name];\n\t\t\t};\n\t\t};\n\t\treturn val;\n\t},\n\t\n\tset(target,name,value){\n\t\t\n\t\tlet ctx = target;\n\t\tlet val = undefined;\n\t\twhile (ctx && val == undefined){\n\t\t\t\n\t\t\tlet desc = getDeepPropertyDescriptor(ctx,name,Element);\n\t\t\tif (desc) {\n\t\t\t\t\n\t\t\t\tctx[name] = value;\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tctx = ctx[$parent$];\n\t\t\t};\n\t\t};\n\t\treturn true;\n\t}\n};\n\nclass ΩDocument {\n\t\n\tget flags(){\n\t\t\n\t\treturn this.documentElement.flags;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Document');}\n};\nextend$__(Document.prototype,ΩDocument.prototype);\n;\n\nclass ΩNode {\n\t\n\tget [$parent$](){\n\t\t\n\t\treturn this[$$parent$] || this.parentNode || this[$$up$];// FIX\n\t}\n\t\n\tget [$closestNode$](){\n\t\t\n\t\treturn this;\n\t}\n\t\n\tget [$parentNode$](){\n\t\t\n\t\treturn this[$parent$][$closestNode$];\n\t}\n\t\n\tget [$context$](){\n\t\t\n\t\treturn this[$$context$] ||= new Proxy(this,contextHandler);\n\t}\n\t\n\t[$__init__$](){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t[$$inited$](){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t[$getRenderContext$](sym){\n\t\t\n\t\treturn createRenderContext(this,sym);\n\t}\n\t\n\t[$getDynamicContext$](sym,key){\n\t\t\n\t\treturn this[$getRenderContext$](sym)[$getRenderContext$](key);\n\t}\n\t\n\t[$insertChild$](newnode,refnode){\n\t\t\n\t\treturn newnode[$insertInto$](this,refnode);\n\t}\n\t\n\t[$appendChild$](newnode){\n\t\t\n\t\treturn newnode[$insertInto$](this,null);\n\t}\n\t\n\t[$replaceChild$](newnode,oldnode){\n\t\t\n\t\tlet res = this[$insertChild$](newnode,oldnode);\n\t\tthis[$removeChild$](oldnode);\n\t\treturn res;\n\t}\n\t\n\t[$removeChild$](node){\n\t\t\n\t\treturn node[$removeFrom$](this);\n\t}\n\t\n\t// can override if the element itself wants ot deal with this\n\t[$insertInto$](parent,before = null){\n\t\t\n\t\tif (before) {\n\t\t\t\n\t\t\tparent.insertBefore(this,before);\n\t\t} else {\n\t\t\t\n\t\t\tparent.appendChild(this);\n\t\t};\n\t\treturn this;\n\t}\n\t\n\t[$insertIntoDeopt$](parent,before){\n\t\t\n\t\t// log '#insertIntoDeopt',parent,before\n\t\tif (before) {\n\t\t\t\n\t\t\tparent.insertBefore(this[$domNode$] || this,before);\n\t\t} else {\n\t\t\t\n\t\t\tparent.appendChild(this[$domNode$] || this);\n\t\t};\n\t\treturn this;\n\t}\n\t\n\t[$removeFrom$](parent){\n\t\t\n\t\treturn parent.removeChild(this);\n\t}\n\t\n\t[$removeFromDeopt$](parent){\n\t\t\n\t\treturn parent.removeChild(this[$domNode$] || this);\n\t}\n\t\n\t[$replaceWith$](other,parent){\n\t\t\n\t\treturn parent[$replaceChild$](other,this);\n\t}\n\t\n\t[$replaceWithDeopt$](other,parent){\n\t\t\n\t\treturn parent[$replaceChild$](other,this[$domNode$] || this);\n\t}\n\t\n\tget [$placeholderNode$](){\n\t\t\n\t\treturn this[$$placeholderNode$] ||= globalThis.document.createComment(\"placeholder\");\n\t}\n\t\n\tset [$placeholderNode$](value){\n\t\t\n\t\tlet prev = this[$$placeholderNode$];\n\t\tthis[$$placeholderNode$] = value;\n\t\tif (prev && prev != value && prev.parentNode) {\n\t\t\t\n\t\t\tprev[$replaceWith$](value);\n\t\t};\n\t}\n\t\n\t[$attachToParent$](){\n\t\t\n\t\tlet ph = this[$domNode$];\n\t\tlet par = ph && ph.parentNode;\n\t\tif (ph && par && ph != this) {\n\t\t\t\n\t\t\tthis[$domNode$] = null;\n\t\t\tthis[$insertInto$](par,ph);\n\t\t\tph[$removeFrom$](par);\n\t\t};\n\t\treturn this;\n\t}\n\t\n\t[$detachFromParent$](){\n\t\t\n\t\tif ((this[$domDeopt$] != true) ? ((this[$domDeopt$] = true,true)) : false) {\n\t\t\t\n\t\t\tthis[$replaceWith$] = this[$replaceWithDeopt$];\n\t\t\tthis[$removeFrom$] = this[$removeFromDeopt$];\n\t\t\tthis[$insertInto$] = this[$insertIntoDeopt$];\n\t\t\tthis[$$up$] ||= this[$parent$];\n\t\t};\n\t\t\n\t\tlet ph = this[$placeholderNode$];\n\t\tif (this.parentNode && ph != this) {\n\t\t\t\n\t\t\tph[$insertInto$](this.parentNode,this);\n\t\t\tthis[$removeFrom$](this.parentNode);\n\t\t};\n\t\t\n\t\tthis[$domNode$] = ph;\n\t\t// self.#replaceWith(ph,parentNode)\n\t\treturn this;\n\t}\n\t\n\t[$placeChild$](item,f,prev){\n\t\t\n\t\t\n\t\tlet type = typeof item;\n\t\t// console.log '#inserting!',item,f,prev,type\n\t\t\n\t\tif (type === 'undefined' || item === null) {\n\t\t\t\n\t\t\t// what if the prev value was the same?\n\t\t\tif (prev && (prev instanceof Comment)) { // check perf\n\t\t\t\t\n\t\t\t\treturn prev;\n\t\t\t};\n\t\t\t\n\t\t\tlet el = globalThis.document.createComment('');\n\t\t\treturn prev ? prev[$replaceWith$](el,this) : el[$insertInto$](this,null);\n\t\t};\n\t\t\n\t\t// dont reinsert again\n\t\tif (item === prev) {\n\t\t\t\n\t\t\treturn item;\n\t\t} else if (type !== 'object') {\n\t\t\t\n\t\t\tlet res;\n\t\t\tlet txt = item;\n\t\t\t\n\t\t\tif ((f & 128) && (f & 256) && false) {\n\t\t\t\t\n\t\t\t\t// FIXME what if the previous one was not text? Possibly dangerous\n\t\t\t\t// when we set this on a fragment - it essentially replaces the whole\n\t\t\t\t// fragment?\n\t\t\t\t// log 'set textcontent raw',txt,prev\n\t\t\t\tthis.textContent = txt;\n\t\t\t\treturn;\n\t\t\t};\n\t\t\t\n\t\t\tif (prev) {\n\t\t\t\t\n\t\t\t\tif (prev instanceof Text) { // check perf\n\t\t\t\t\t\n\t\t\t\t\tprev.textContent = txt;\n\t\t\t\t\treturn prev;\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tres = globalThis.document.createTextNode(txt);\n\t\t\t\t\tprev[$replaceWith$](res,this);\n\t\t\t\t\treturn res;\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.appendChild(res = globalThis.document.createTextNode(txt));\n\t\t\t\treturn res;\n\t\t\t};\n\t\t} else {\n\t\t\t\n\t\t\tif (globalThis.DEBUG_IMBA) {\n\t\t\t\t\n\t\t\t\tif (!(item[$insertInto$])) {\n\t\t\t\t\t\n\t\t\t\t\tconsole.warn(\"Tried to insert\",item,\"into\",this);\n\t\t\t\t\tthrow new TypeError(\"Only DOM Nodes can be inserted into DOM\");\n\t\t\t\t};\n\t\t\t};\n\t\t\t\n\t\t\treturn prev ? prev[$replaceWith$](item,this) : item[$insertInto$](this,null);\n\t\t};\n\t\treturn;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Node');}\n};\nextend$__(Node.prototype,ΩNode.prototype);\n;\n\n// Basic element extensions\nclass ΩElement {\n\t\n\t\n\tlog(...params){\n\t\t\n\t\treturn console.log(...params);\n\t}\n\t\n\temit(name,detail,o = {bubbles: true,cancelable: true}){\n\t\t\n\t\tif (detail != undefined) { o.detail = detail };\n\t\tlet event = new CustomEvent(name,o);\n\t\tlet res = this.dispatchEvent(event);\n\t\treturn event;\n\t}\n\t\n\t// inline in files or remove all together?\n\ttext$(item){\n\t\t\n\t\tthis.textContent = item;\n\t\treturn this;\n\t}\n\t\n\t[$beforeReconcile$](){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t[$afterReconcile$](){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t[$afterVisit$](){\n\t\t\n\t\tif (this[$$visitContext$]) { this[$$visitContext$] = null };\n\t\treturn;\n\t}\n\t\n\tget [$visitContext$](){\n\t\t\n\t\treturn this[$$visitContext$] ||= {};\n\t}\n\t\n\tget flags(){\n\t\t\n\t\tif (!(this.$flags)) {\n\t\t\t\n\t\t\t// unless deopted - we want to first cache the extflags\n\t\t\tthis.$flags = new Flags(this);\n\t\t\tif (this.flag$ == Element.prototype.flag$) {\n\t\t\t\t\n\t\t\t\tthis.flags$ext = this.className;\n\t\t\t};\n\t\t\tthis.flagDeopt$();\n\t\t};\n\t\treturn this.$flags;\n\t}\n\t\n\tflag$(str){\n\t\t\n\t\t// Potentially slow\n\t\tlet ns = this.flags$ns;\n\t\tthis.className = ns ? ((ns + (this.flags$ext = str))) : ((this.flags$ext = str));\n\t\treturn;\n\t}\n\t\n\tflagDeopt$(){\n\t\tvar self = this;\n\t\t\n\t\tthis.flag$ = this.flagExt$;// do(str) self.flagSync$(flags$ext = str)\n\t\tthis.flagSelf$ = function(str) { return self.flagSync$(self.flags$own = str); };\n\t\treturn;\n\t}\n\t\n\tflagExt$(str){\n\t\t\n\t\treturn this.flagSync$(this.flags$ext = str);\n\t}\n\t\n\tflagSelf$(str){\n\t\t\n\t\t// if a tag receives flags from inside <self> we need to\n\t\t// redefine the flag-methods to later use both\n\t\tthis.flagDeopt$();\n\t\treturn this.flagSelf$(str);\n\t}\n\t\n\tflagSync$(){\n\t\t\n\t\treturn this.className = ((this.flags$ns || '') + (this.flags$ext || '') + ' ' + (this.flags$own || '') + ' ' + (this.$flags || ''));\n\t}\n\t\n\tset$(key,value){\n\t\t\n\t\t// FIXME relatively slow\n\t\tlet desc = getDeepPropertyDescriptor(this,key,Element);\n\t\tif (!(desc) || !(desc.set)) {\n\t\t\t\n\t\t\tthis.setAttribute(key,value);\n\t\t} else {\n\t\t\t\n\t\t\tthis[key] = value;\n\t\t};\n\t\treturn;\n\t}\n\t\n\tget richValue(){\n\t\t\n\t\treturn this.value;\n\t}\n\t\n\tset richValue(value){\n\t\t\n\t\tthis.value = value;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Element');}\n};\nextend$__(Element.prototype,ΩElement.prototype);\n;\n\n// Element.prototype.set$ = Element.prototype.setAttribute\nElement.prototype.setns$ = Element.prototype.setAttributeNS;\nElement.prototype[$isRichElement$] = true;\n\nexport function createElement(name,parent,flags,text){\n\t\n\tlet el = globalThis.document.createElement(name);\n\t\n\tif (flags) { el.className = flags };\n\t\n\tif (text !== null) {\n\t\t\n\t\tel.text$(text);\n\t};\n\t\n\tif (parent && parent[$appendChild$]) {\n\t\t\n\t\tparent[$appendChild$](el);\n\t\t// el.#insertInto(parent)\n\t};\n\t\n\treturn el;\n};\n\nclass ΩSVGElement {\n\t\n\t\n\tset$(key,value){\n\t\t\n\t\tlet cache = descriptorCache[this.nodeName] ||= {};\n\t\tlet desc = getDescriptor(this,key,cache);\n\t\t\n\t\tif (!(desc) || !(desc.set)) {\n\t\t\t\n\t\t\tthis.setAttribute(key,value);\n\t\t} else {\n\t\t\t\n\t\t\tthis[key] = value;\n\t\t};\n\t\treturn;\n\t}\n\t\n\tflag$(str){\n\t\t\n\t\tlet ns = this.flags$ns;\n\t\tthis.setAttribute('class',ns ? ((ns + (this.flags$ext = str))) : ((this.flags$ext = str)));\n\t\treturn;\n\t}\n\t\n\tflagSelf$(str){\n\t\tvar self = this;\n\t\t\n\t\t// if a tag receives flags from inside <self> we need to\n\t\t// redefine the flag-methods to later use both\n\t\tthis.flag$ = function(str) { return self.flagSync$(self.flags$ext = str); };\n\t\tthis.flagSelf$ = function(str) { return self.flagSync$(self.flags$own = str); };\n\t\treturn this.flagSelf$(str);\n\t}\n\t\n\tflagSync$(){\n\t\t\n\t\treturn this.setAttribute('class',(this.flags$ns || '') + (this.flags$ext || '') + ' ' + (this.flags$own || '') + ' ' + (this.$flags || ''));\n\t}\n\tstatic {\n\t\tdefineName$__(this,'SVGElement');}\n};\nextend$__(SVGElement.prototype,ΩSVGElement.prototype);\n;\n\nclass ΩSVGSVGElement {\n\t\n\t\n\tset src(value){\n\t\t\n\t\tif ((this[$src$] != value) ? ((this[$src$] = value,true)) : false) {\n\t\t\t\n\t\t\tif (value && value.adoptNode) {\n\t\t\t\t\n\t\t\t\tvalue.adoptNode(this);\n\t\t\t} else if (value && value.type == 'svg') {\n\t\t\t\t\n\t\t\t\tif (value.attributes) {\n\t\t\t\t\t\n\t\t\t\t\tfor (let $3 = value.attributes, $1 = 0, $2 = Object.keys($3), $4 = $2.length, k, v; $1 < $4; $1++){\n\t\t\t\t\t\tk = $2[$1];v = $3[k];\n\t\t\t\t\t\tthis.setAttribute(k,v);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\tthis.innerHTML = value.content;\n\t\t\t};\n\t\t};\n\t\treturn;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'SVGSVGElement');}\n};\nextend$__(SVGSVGElement.prototype,ΩSVGSVGElement.prototype);\n;\n\nexport function createSVGElement(name,parent,flags,text,ctx){\n\t\n\tlet el = globalThis.document.createElementNS(\"http://www.w3.org/2000/svg\",name);\n\t\n\tif (flags) {\n\t\t\n\t\tel.className.baseVal = flags;\n\t};\n\t\n\tif (parent && parent[$appendChild$]) {\n\t\t\n\t\tparent[$appendChild$](el);// .#appendChild(parent)\n\t};\n\t\n\tif (text) {\n\t\t\n\t\tel.textContent = text;\n\t};\n\t\n\treturn el;\n};\n\nexport function createComment(text){\n\t\n\treturn globalThis.document.createComment(text);\n};\n\nexport function createTextNode(text){\n\t\n\treturn globalThis.document.createTextNode(text);\n};\n\nexport function createFragment(){\n\t\n\treturn globalThis.document.createDocumentFragment();\n};\n\nconst navigator = globalThis.navigator;\nconst vendor = navigator && navigator.vendor || '';\nconst ua = navigator && navigator.userAgent || '';\n\nconst isSafari = vendor.indexOf('Apple') > -1 || ua.indexOf('CriOS') >= 0 || ua.indexOf('FxiOS') >= 0;\nconst supportsCustomizedBuiltInElements = !(isSafari);\nconst CustomDescriptorCache = new Map;\n\nclass CustomHook extends HTMLElement {\n\t\n\tconnectedCallback(){\n\t\t\n\t\tif (supportsCustomizedBuiltInElements) {\n\t\t\t\n\t\t\treturn this.parentNode.removeChild(this);\n\t\t} else {\n\t\t\t\n\t\t\treturn this.parentNode.connectedCallback();\n\t\t};\n\t}\n\t\n\tdisconnectedCallback(){\n\t\t\n\t\tif (!(supportsCustomizedBuiltInElements)) {\n\t\t\t\n\t\t\treturn this.parentNode.disconnectedCallback();\n\t\t};\n\t}\n\tstatic {\n\t\tdefineName$__(this,'CustomHook');inheritClass$__(this);}\n};\n\nwindow.customElements.define('i-hook',CustomHook);\n\nfunction getCustomDescriptors(el,klass){\n\t\n\tlet props = CustomDescriptorCache.get(klass);\n\t\n\tif (!(props)) {\n\t\t\n\t\tprops = {};\n\t\tlet proto = klass.prototype;\n\t\tlet protos = [proto];\n\t\twhile (proto = (proto && Object.getPrototypeOf(proto))){\n\t\t\t\n\t\t\tif (proto.constructor == el.constructor) { break; };\n\t\t\tprotos.unshift(proto);\n\t\t};\n\t\t\n\t\tfor (let $5 = 0, $6 = iter$__(protos), $7 = $6.length; $5 < $7; $5++) {\n\t\t\tlet item = $6[$5];\n\t\t\tlet desc = Object.getOwnPropertyDescriptors(item);\n\t\t\tObject.assign(props,desc);\n\t\t};\n\t\tCustomDescriptorCache.set(klass,props);\n\t};\n\t\n\treturn props;\n};\n\n// Registry\nexport function createComponent(name,parent,flags,text,ctx){\n\t\n\t// the component could have a different web-components name?\n\tlet el;\n\t\n\tif (typeof name != 'string') {\n\t\t\n\t\tif (name && name.nodeName) {\n\t\t\t\n\t\t\tname = name.nodeName;\n\t\t};\n\t};\n\t\n\tlet cmpname = CustomTagToElementNames[name] || name;\n\t\n\tif (CustomTagConstructors[name]) {\n\t\t\n\t\tlet cls = CustomTagConstructors[name];\n\t\tlet typ = cls.prototype[$htmlNodeName$];\n\t\tif (typ && supportsCustomizedBuiltInElements) {\n\t\t\t\n\t\t\tel = globalThis.document.createElement(typ,{is: cmpname});\n\t\t} else if (cls.create$ && typ) {\n\t\t\t\n\t\t\tel = globalThis.document.createElement(typ);\n\t\t\tel.setAttribute('is',cmpname);\n\t\t\tlet props = getCustomDescriptors(el,cls);\n\t\t\tObject.defineProperties(el,props);\n\t\t\tel.__slots = {};\n\t\t\t// check if we need a hook though?\n\t\t\tel.appendChild(globalThis.document.createElement('i-hook'));\n\t\t} else if (cls.create$) {\n\t\t\t\n\t\t\tel = cls.create$(el);\n\t\t\tel.__slots = {};\n\t\t} else {\n\t\t\t\n\t\t\tconsole.warn((\"could not create tag \" + name));\n\t\t};\n\t} else {\n\t\t\n\t\tel = globalThis.document.createElement(CustomTagToElementNames[name] || name);\n\t};\n\t\n\tel[$$parent$] = parent;\n\tel[$__init__$]();\n\tel[$$inited$]();// .inited(el) if el.#__hooks__\n\t\n\t// potentially\n\t\n\tif (text !== null) {\n\t\t\n\t\tel[$getSlot$]('__').text$(text);\n\t};\n\t\n\tif (flags || el.flags$ns) { // or nsflag\n\t\t\n\t\tel.flag$(flags || '');\n\t};\n\treturn el;\n};\n\nexport function createDynamic(value,parent,flags,text){\n\t\n\tif (value == null || value == undefined) {\n\t\t\n\t\treturn createComment('');\n\t} else if (value instanceof Node) {\n\t\t\n\t\t// check if node already exists somewhere else in dom\n\t\treturn value;\n\t} else if (value[$isRichElement$]) {\n\t\t\n\t\treturn value;\n\t} else if (typeof value == 'string' || (value && (value.prototype instanceof Node))) {\n\t\t\n\t\treturn createComponent(value,parent,flags,text);\n\t};\n};\n\nexport function getTagType(name,klass){\n\t\n\t// TODO follow same structure as ssr TYPES\n\tif (TYPES[name]) {\n\t\t\n\t\treturn TYPES[name];\n\t};\n\t\n\tif (window[klass]) {\n\t\t\n\t\treturn window[klass];\n\t};\n\t\n\tif (window[name]) {\n\t\t\n\t\treturn window[name];\n\t};\n};\n\nexport function getSuperTagType(name,klass,cmp){\n\t\n\tlet typ = getTagType(name,klass);\n\tlet custom = typ == cmp || (typ.prototype instanceof cmp) || typ.prototype[$htmlNodeName$];\n\t\n\tif (!(custom)) {\n\t\t\n\t\tlet cls = typ.prototype[$ImbaElement$];\n\t\t\n\t\tif (!(cls)) {\n\t\t\t\n\t\t\tcls = class CustomBuiltInElement extends typ {\n\t\t\t\t\n\t\t\t\tconstructor(){\n\t\t\t\t\t\n\t\t\t\t\tsuper(...arguments);\n\t\t\t\t\tthis.__slots = {};\n\t\t\t\t\tthis.__F = 0;\n\t\t\t\t}\n\t\t\t\tstatic {\n\t\t\t\t\tdefineName$__(this,'CustomBuiltInElement');inheritClass$__(this);}\n\t\t\t};\n\t\t\t\n\t\t\ttyp.prototype[$ImbaElement$] = cls;\n\t\t\tlet descriptors = Object.getOwnPropertyDescriptors(cmp.prototype);\n\t\t\tObject.defineProperties(cls.prototype,descriptors);\n\t\t\tcls.prototype[$htmlNodeName$] = name;\n\t\t};\n\t\t\n\t\treturn cls;\n\t};\n\t\n\treturn typ;\n};\n\nexport function defineTag(name,klass,options = {}){\n\t\n\tTYPES[name] = CUSTOM_TYPES[name] = klass;\n\t\n\tklass.nodeName = name;\n\t\n\tlet componentName = name;\n\tlet proto = klass.prototype;\n\t\n\tif (name.indexOf('-') == -1) {\n\t\t\n\t\tcomponentName = (\"\" + name + \"-tag\");\n\t\tCustomTagToElementNames[name] = componentName;\n\t};\n\t\n\t// if options.cssns\n\tif (options.cssns) {\n\t\t\n\t\tlet ns = (proto._ns_ || proto[$cssns$] || '') + ' ' + (options.cssns || '');\n\t\tproto._ns_ = ns.trim() + ' ';\n\t\tproto[$cssns$] = options.cssns;\n\t};\n\t\n\tif (options.cssid) {\n\t\t\n\t\tlet ids = (proto.flags$ns || '') + ' ' + options.cssid;\n\t\tproto[$cssid$] = options.cssid;\n\t\tproto.flags$ns = ids.trim() + ' ';\n\t};\n\t\n\tif (proto[$htmlNodeName$] && !(options.extends)) {\n\t\t\n\t\toptions.extends = proto[$htmlNodeName$];\n\t};\n\t\n\tif (options.extends) {\n\t\t\n\t\tproto[$htmlNodeName$] = options.extends;\n\t\tCustomTagConstructors[name] = klass;\n\t\t\n\t\tif (supportsCustomizedBuiltInElements) {\n\t\t\t\n\t\t\twindow.customElements.define(componentName,klass,{extends: options.extends});\n\t\t};\n\t} else {\n\t\t\n\t\twindow.customElements.define(componentName,klass);\n\t};\n\t\n\treturn klass;\n};\n\nlet instance = globalThis.imba ||= {};\ninstance.document = globalThis.document;\n","map":{"version":3,"file":"core.web.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/dom/core.web.imba"],"sourcesContent":["# imba$stdlib=1\n\nimport {Flags} from './flags'\nimport {getDeepPropertyDescriptor} from '../utils'\nimport {RenderContext,createRenderContext} from './context'\n\nexport const {\n\tEvent,\n\tUIEvent,\n\tMouseEvent,\n\tPointerEvent,\n\tKeyboardEvent,\n\tCustomEvent,\n\tNode,\n\tComment,\n\tText,\n\tElement,\n\tHTMLElement,\n\tHTMLHtmlElement,\n\tHTMLSelectElement,\n\tHTMLInputElement,\n\tHTMLTextAreaElement,\n\tHTMLButtonElement,\n\tHTMLOptionElement,\n\tHTMLScriptElement,\n\tSVGElement,\n\tDocumentFragment,\n\tShadowRoot,\n\tDocument,\n\tWindow,\n\tcustomElements\n} = global.window\n\nconst descriptorCache = {}\ndef getDescriptor item,key,cache\n\tif !item\n\t\treturn cache[key] = null\n\n\tif cache[key] !== undefined\n\t\treturn cache[key]\n\n\tlet desc = Object.getOwnPropertyDescriptor(item,key)\n\n\tif desc !== undefined or item == SVGElement\n\t\treturn cache[key] = desc or null\n\n\tgetDescriptor(Reflect.getPrototypeOf(item),key,cache)\n\n# export const document = global.window.document\nconst CustomTagConstructors = {}\nconst CustomTagToElementNames = {}\nexport const TYPES = {}\nexport const CUSTOM_TYPES = {}\nexport def get_document\n\tglobal.document\n\nexport def use_window\n\tglobal.imba.uses_window = yes\n\tyes\n\n# Basic node extensions\n\nconst contextHandler =\n\tdef get target, name\n\t\tlet ctx = target\n\t\tlet val = undefined\n\t\twhile ctx and val == undefined\n\t\t\tif ctx = ctx.#parent\n\t\t\t\tval = ctx[name]\n\t\treturn val\n\n\tdef set target, name, value\n\t\tlet ctx = target\n\t\tlet val = undefined\n\t\twhile ctx and val == undefined\n\t\t\tlet desc = getDeepPropertyDescriptor(ctx,name,Element)\n\t\t\tif desc\n\t\t\t\tctx[name] = value\n\t\t\t\treturn yes\n\t\t\telse\n\t\t\t\tctx = ctx.#parent\n\t\treturn yes\n\nextend class Document\n\tget flags\n\t\tself.documentElement.flags\n\nextend class Node\n\tget #parent\n\t\t##parent or this.parentNode or ##up # FIX\n\n\tget #closestNode\n\t\tself\n\n\tget #parentNode\n\t\t#parent.#closestNode\n\n\tget #context\n\t\t##context ||= new Proxy(self,contextHandler)\n\n\tdef #__init__\n\t\tself\n\n\tdef ##inited\n\t\tself\n\n\tdef #getRenderContext sym\n\t\tcreateRenderContext(self,sym)\n\n\tdef #getDynamicContext sym,key\n\t\t#getRenderContext(sym).#getRenderContext(key)\n\n\tdef #insertChild newnode, refnode\n\t\tnewnode.#insertInto(self,refnode)\n\n\tdef #appendChild newnode\n\t\tnewnode.#insertInto(self,null)\n\n\tdef #replaceChild newnode, oldnode\n\t\tlet res = #insertChild(newnode,oldnode)\n\t\t#removeChild(oldnode)\n\t\treturn res\n\n\tdef #removeChild node\n\t\tnode.#removeFrom(self)\n\n\t# can override if the element itself wants ot deal with this\n\tdef #insertInto parent, before = null\n\t\tif before\n\t\t\tparent.insertBefore(self,before)\n\t\telse\n\t\t\tparent.appendChild(self)\n\t\treturn self\n\n\tdef #insertIntoDeopt parent, before\n\t\t# log '#insertIntoDeopt',parent,before\n\t\tif before\n\t\t\tparent.insertBefore(#domNode or self,before)\n\t\telse\n\t\t\tparent.appendChild(#domNode or self)\n\t\treturn self\n\n\tdef #removeFrom parent\n\t\tparent.removeChild(self)\n\n\tdef #removeFromDeopt parent\n\t\tparent.removeChild(#domNode or self)\n\n\tdef #replaceWith other, parent\n\t\tparent.#replaceChild(other,self)\n\n\tdef #replaceWithDeopt other, parent\n\t\tparent.#replaceChild(other,#domNode or self)\n\n\tget #placeholderNode\n\t\t##placeholderNode ||= global.document.createComment(\"placeholder\")\n\n\tset #placeholderNode value\n\t\tlet prev = ##placeholderNode\n\t\t##placeholderNode = value\n\t\tif prev and prev != value and prev.parentNode\n\t\t\tprev.#replaceWith(value)\n\n\tdef #attachToParent\n\t\tlet ph = #domNode\n\t\tlet par = ph and ph.parentNode\n\t\tif ph and par and ph != self\n\t\t\t#domNode = null\n\t\t\t#insertInto(par,ph)\n\t\t\tph.#removeFrom(par)\n\t\tself\n\n\tdef #detachFromParent\n\t\tif #domDeopt =? yes\n\t\t\t#replaceWith = #replaceWithDeopt\n\t\t\t#removeFrom = #removeFromDeopt\n\t\t\t#insertInto = #insertIntoDeopt\n\t\t\t##up ||= #parent\n\n\t\tlet ph = #placeholderNode\n\t\tif parentNode and ph != self\n\t\t\tph.#insertInto(parentNode,self)\n\t\t\t#removeFrom(parentNode)\n\n\t\t#domNode = ph\n\t\t# self.#replaceWith(ph,parentNode)\n\t\tself\n\n\tdef #placeChild item, f, prev\n\n\t\tlet type = typeof item\n\t\t# console.log '#inserting!',item,f,prev,type\n\n\t\tif type === 'undefined' or item === null\n\t\t\t# what if the prev value was the same?\n\t\t\tif prev and prev isa Comment # check perf\n\t\t\t\treturn prev\n\n\t\t\tlet el = document.createComment('')\n\t\t\treturn prev ? prev.#replaceWith(el,self) : el.#insertInto(this,null)\n\n\t\t# dont reinsert again\n\t\tif item === prev\n\t\t\treturn item\n\n\t\t# what if this is null or undefined -- add comment and return? Or blank text node?\n\t\telif type !== 'object'\n\t\t\tlet res\n\t\t\tlet txt = item\n\n\t\t\tif (f & $TAG_FIRST_CHILD$) && (f & $TAG_LAST_CHILD$) and false\n\t\t\t\t# FIXME what if the previous one was not text? Possibly dangerous\n\t\t\t\t# when we set this on a fragment - it essentially replaces the whole\n\t\t\t\t# fragment?\n\t\t\t\t# log 'set textcontent raw',txt,prev\n\t\t\t\tself.textContent = txt\n\t\t\t\treturn\n\n\t\t\tif prev\n\t\t\t\tif prev isa Text # check perf\n\t\t\t\t\tprev.textContent = txt\n\t\t\t\t\treturn prev\n\t\t\t\telse\n\t\t\t\t\tres = document.createTextNode(txt)\n\t\t\t\t\tprev.#replaceWith(res,self)\n\t\t\t\t\treturn res\n\t\t\telse\n\t\t\t\tself.appendChild(res = document.createTextNode(txt))\n\t\t\t\treturn res\t\n\n\t\telse\n\t\t\tif global.DEBUG_IMBA\n\t\t\t\tif !item.#insertInto\n\t\t\t\t\tconsole.warn(\"Tried to insert\",item,\"into\",this)\n\t\t\t\t\tthrow new TypeError(\"Only DOM Nodes can be inserted into DOM\")\n\n\t\t\treturn prev ? prev.#replaceWith(item,this) : item.#insertInto(this,null)\n\t\treturn\n\n# Basic element extensions\nextend class Element\n\n\tdef log ...params\n\t\tconsole.log(...params)\n\n\tdef emit name, detail, o = {bubbles: true, cancelable: true}\n\t\to.detail = detail if detail != undefined\n\t\tlet event = new CustomEvent(name, o)\n\t\tlet res = self.dispatchEvent(event)\n\t\treturn event\n\n\t# inline in files or remove all together?\n\tdef text$ item\n\t\tself.textContent = item\n\t\tself\n\n\tdef #beforeReconcile\n\t\tself\n\n\tdef #afterReconcile\n\t\tself\n\n\tdef #afterVisit\n\t\t##visitContext = null if ##visitContext\n\t\treturn\n\n\tget #visitContext\n\t\t##visitContext ||= {}\n\n\tget flags\n\t\tunless $flags\n\t\t\t# unless deopted - we want to first cache the extflags\n\t\t\t$flags = new Flags(self)\n\t\t\tif flag$ == Element.prototype.flag$\n\t\t\t\tflags$ext = self.className\n\t\t\tflagDeopt$()\n\t\treturn $flags\n\n\tdef flag$ str\n\t\t# Potentially slow\n\t\tlet ns = flags$ns\n\t\tself.className = ns ? (ns + (flags$ext = str)) : (flags$ext = str)\n\t\treturn\n\n\tdef flagDeopt$\n\t\tself.flag$ = self.flagExt$ # do(str) self.flagSync$(flags$ext = str)\n\t\tself.flagSelf$ = do(str) self.flagSync$(flags$own = str)\n\t\treturn\n\n\tdef flagExt$ str\n\t\tself.flagSync$(flags$ext = str)\n\n\tdef flagSelf$ str\n\t\t# if a tag receives flags from inside <self> we need to\n\t\t# redefine the flag-methods to later use both\n\t\tflagDeopt$()\n\t\treturn flagSelf$(str)\n\n\tdef flagSync$\n\t\tself.className = ((flags$ns or '') + (flags$ext or '') + ' ' + (flags$own || '') + ' ' + ($flags or ''))\n\n\tdef set$ key,value\n\t\t# FIXME relatively slow\n\t\tlet desc = getDeepPropertyDescriptor(this,key,Element)\n\t\tif !desc or !desc.set\n\t\t\tsetAttribute(key,value)\n\t\telse\n\t\t\tself[key] = value\n\t\treturn\n\n\tget richValue\n\t\tvalue\n\n\tset richValue value\n\t\tself.value = value\n\n# Element.prototype.set$ = Element.prototype.setAttribute\nElement.prototype.setns$ = Element.prototype.setAttributeNS\nElement.prototype.#isRichElement = yes\n\nexport def createElement name, parent, flags, text\n\tlet el = document.createElement(name)\n\n\tel.className = flags if flags\n\n\tif text !== null\n\t\tel.text$(text)\n\n\tif parent and parent.#appendChild\n\t\tparent.#appendChild(el)\n\t\t# el.#insertInto(parent)\n\n\treturn el\n\nextend class SVGElement\n\n\tdef set$ key,value\n\t\tlet cache = descriptorCache[nodeName] ||= {}\n\t\tlet desc = getDescriptor(this,key,cache)\n\n\t\tif !desc or !desc.set\n\t\t\tsetAttribute(key,value)\n\t\telse\n\t\t\tself[key] = value\n\t\treturn\n\n\tdef flag$ str\n\t\tlet ns = flags$ns\n\t\tself.setAttribute('class',ns ? (ns + (flags$ext = str)) : (flags$ext = str))\n\t\treturn\n\n\tdef flagSelf$ str\n\t\t# if a tag receives flags from inside <self> we need to\n\t\t# redefine the flag-methods to later use both\n\t\tself.flag$ = do(str) self.flagSync$(flags$ext = str)\n\t\tself.flagSelf$ = do(str) self.flagSync$(flags$own = str)\n\t\treturn flagSelf$(str)\n\n\tdef flagSync$\n\t\tself.setAttribute('class',(flags$ns or '') + (flags$ext or '') + ' ' + (flags$own || '') + ' ' + ($flags or ''))\n\nextend class SVGSVGElement\n\n\tset src value\n\t\tif #src =? value\n\t\t\tif value and value.adoptNode\n\t\t\t\tvalue.adoptNode(self)\n\t\t\telif value and value.type == 'svg'\n\t\t\t\tif value.attributes\n\t\t\t\t\tfor own k,v of value.attributes\n\t\t\t\t\t\tsetAttribute(k,v)\n\t\t\t\tinnerHTML = value.content\n\t\treturn\n\nexport def createSVGElement name, parent, flags, text, ctx\n\tlet el = document.createElementNS(\"http://www.w3.org/2000/svg\",name)\n\n\tif flags\n\t\tel.className.baseVal = flags\n\n\tif parent and parent.#appendChild\n\t\tparent.#appendChild(el) # .#appendChild(parent)\n\n\tif text\n\t\tel.textContent = text\n\n\treturn el\n\nexport def createComment text\n\tdocument.createComment(text)\n\nexport def createTextNode text\n\tdocument.createTextNode(text)\n\nexport def createFragment\n\tdocument.createDocumentFragment!\n\nconst navigator = global.navigator\nconst vendor = navigator and navigator.vendor or ''\nconst ua = navigator and navigator.userAgent or ''\n\nconst isSafari = vendor.indexOf('Apple') > -1 || ua.indexOf('CriOS') >= 0 || ua.indexOf('FxiOS') >= 0\nconst supportsCustomizedBuiltInElements = !isSafari\nconst CustomDescriptorCache = new Map\n\nclass CustomHook < HTMLElement\n\tdef connectedCallback\n\t\tif supportsCustomizedBuiltInElements\n\t\t\tparentNode.removeChild(self)\n\t\telse\n\t\t\tparentNode.connectedCallback!\n\n\tdef disconnectedCallback\n\t\tif !supportsCustomizedBuiltInElements\n\t\t\tparentNode.disconnectedCallback!\n\nwindow.customElements.define('i-hook',CustomHook)\n\ndef getCustomDescriptors el, klass\n\tlet props = CustomDescriptorCache.get(klass)\n\n\tunless props\n\t\tprops = {}\n\t\tlet proto = klass.prototype\n\t\tlet protos = [proto]\n\t\twhile proto = (proto and Object.getPrototypeOf(proto))\n\t\t\tbreak if proto.constructor == el.constructor\n\t\t\tprotos.unshift(proto)\n\n\t\tfor item in protos\n\t\t\tlet desc = Object.getOwnPropertyDescriptors(item)\n\t\t\tObject.assign(props,desc)\n\t\tCustomDescriptorCache.set(klass,props)\n\n\treturn props\n\n# Registry\nexport def createComponent name, parent, flags, text, ctx\n\t# the component could have a different web-components name?\n\tlet el\n\n\tif typeof name != 'string'\n\t\tif name and name.nodeName\n\t\t\tname = name.nodeName\n\n\tlet cmpname = CustomTagToElementNames[name] or name\n\n\tif CustomTagConstructors[name]\n\t\tlet cls = CustomTagConstructors[name]\n\t\tlet typ = cls.prototype.#htmlNodeName\n\t\tif typ and supportsCustomizedBuiltInElements\n\t\t\tel = document.createElement(typ,is: cmpname)\n\t\telif cls.create$ and typ\n\t\t\tel = document.createElement(typ)\n\t\t\tel.setAttribute('is',cmpname)\n\t\t\tlet props = getCustomDescriptors(el,cls)\n\t\t\tObject.defineProperties(el,props)\n\t\t\tel.__slots = {}\n\t\t\t# check if we need a hook though?\n\t\t\tel.appendChild(document.createElement('i-hook'))\n\t\telif cls.create$\n\t\t\tel = cls.create$(el)\n\t\t\tel.__slots = {}\n\t\telse\n\t\t\tconsole.warn \"could not create tag {name}\"\n\telse\n\t\tel = document.createElement(CustomTagToElementNames[name] or name)\n\n\tel.##parent = parent\n\tel.#__init__!\n\tel.##inited! # .inited(el) if el.#__hooks__\n\n\t# potentially\n\n\tif text !== null\n\t\tel.#getSlot('__').text$(text)\n\n\tif flags or el.flags$ns # or nsflag\n\t\tel.flag$(flags or '')\n\treturn el\n\nexport def createDynamic value, parent, flags, text\n\tif value == null or value == undefined\n\t\treturn createComment('')\n\telif value isa Node\n\t\t# check if node already exists somewhere else in dom\n\t\treturn value\n\telif value.#isRichElement\n\t\treturn value\n\n\telif typeof value == 'string' or (value and value.prototype isa Node)\n\t\treturn createComponent(value,parent,flags,text)\n\nexport def getTagType name, klass\n\t# TODO follow same structure as ssr TYPES\n\tif TYPES[name]\n\t\treturn TYPES[name]\n\n\tif window[klass]\n\t\treturn window[klass]\n\n\tif window[name]\n\t\treturn window[name]\n\nexport def getSuperTagType name, klass, cmp\n\tlet typ = getTagType(name,klass)\n\tlet custom = typ == cmp or typ.prototype isa cmp or typ.prototype.#htmlNodeName\n\n\tif !custom\n\t\tlet cls = typ.prototype.#ImbaElement\n\n\t\tif !cls\n\t\t\tcls = class CustomBuiltInElement < typ\n\t\t\t\tdef constructor\n\t\t\t\t\tsuper\n\t\t\t\t\t__slots = {}\n\t\t\t\t\t__F = 0\n\n\t\t\ttyp.prototype.#ImbaElement = cls\n\t\t\tlet descriptors = Object.getOwnPropertyDescriptors(cmp.prototype)\n\t\t\tObject.defineProperties(cls.prototype,descriptors)\n\t\t\tcls.prototype.#htmlNodeName = name\n\n\t\treturn cls\n\n\treturn typ\n\nexport def defineTag name, klass, options = {}\n\tTYPES[name] = CUSTOM_TYPES[name] = klass\n\n\tklass.nodeName = name\n\n\tlet componentName = name\n\tlet proto = klass.prototype\n\n\tif name.indexOf('-') == -1\n\t\tcomponentName = \"{name}-tag\"\n\t\tCustomTagToElementNames[name] = componentName\n\n\t# if options.cssns\n\tif options.cssns\n\t\tlet ns = (proto._ns_ || proto.#cssns || '') + ' ' + (options.cssns or '')\n\t\tproto._ns_ = ns.trim! + ' '\n\t\tproto.#cssns = options.cssns\n\n\tif options.cssid\n\t\tlet ids = (proto.flags$ns || '') + ' ' + options.cssid\n\t\tproto.#cssid = options.cssid\n\t\tproto.flags$ns = ids.trim! + ' '\n\n\tif proto.#htmlNodeName and !options.extends\n\t\toptions.extends = proto.#htmlNodeName\n\n\tif options.extends\n\t\tproto.#htmlNodeName = options.extends\n\t\tCustomTagConstructors[name] = klass\n\n\t\tif supportsCustomizedBuiltInElements\n\t\t\twindow.customElements.define(componentName,klass,extends: options.extends)\n\telse\n\t\twindow.customElements.define(componentName,klass)\n\n\treturn klass\n\nlet instance = global.imba ||= {}\ninstance.document = global.document\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,EAAE,KAAK,OAAO,SAAS;AAC7B,MAAM,EAAE,yBAAyB,OAAO,UAAU;AAClD,MAAM,EAAE,aAAa,CAAC,mBAAmB,OAAO,WAAW;;AAE3D,MAAM,OAAO;CACZ,KAAK,EAAL,KAAK;CACL,OAAO,EAAP,OAAO;CACP,UAAU,EAAV,UAAU;CACV,YAAY,EAAZ,YAAY;CACZ,aAAa,EAAb,aAAa;CACb,WAAW,EAAX,WAAW;CACX,IAAI,EAAJ,IAAI;CACJ,OAAO,EAAP,OAAO;CACP,IAAI,EAAJ,IAAI;CACJ,OAAO,EAAP,OAAO;CACP,WAAW,EAAX,WAAW;CACX,eAAe,EAAf,eAAe;CACf,iBAAiB,EAAjB,iBAAiB;CACjB,gBAAgB,EAAhB,gBAAgB;CAChB,mBAAmB,EAAnB,mBAAmB;CACnB,iBAAiB,EAAjB,iBAAiB;CACjB,iBAAiB,EAAjB,iBAAiB;CACjB,iBAAiB,EAAjB,iBAAiB;CACjB,UAAU,EAAV,UAAU;CACV,gBAAgB,EAAhB,gBAAgB;CAChB,UAAU,EAAV,UAAU;CACV,QAAQ,EAAR,QAAQ;CACR,MAAM,EAAN,MAAM;CACN,cAAc,EAAd,cAAc;CACd,GAAG,UAAM,CAAC,MAAM;;MAEX,eAAe,GAAG,EAAE;AAC1B,QAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;;CAC/B,EAAE,EAAC,EAAC,IAAI,CAAA,EAAA;;EACP,MAAM,CAAC,KAAK,CAAA,GAAI,CAAC,GAAG,IAAI;EAAA;;CAEzB,EAAE,EAAC,KAAK,CAAA,GAAI,CAAC,CAAC,GAAG,CAAC,SAAS,EAAA;;EAC1B,MAAM,CAAC,KAAK,CAAA,GAAI,CAAC;EAAA;;KAEd,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC;;CAEpD,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAA;;EAC1C,MAAM,CAAC,KAAK,CAAA,GAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI;EAAA;;CAEjC,OAAA,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;CAAA;;;MAGhD,qBAAqB,GAAG,EAAE;MAC1B,uBAAuB,GAAG,EAAE;AAClC,MAAM,OAAO,KAAK,GAAG,EAAE;AACvB,MAAM,OAAO,YAAY,GAAG,EAAE;AAC9B,MAAM,CAAC,QAAG,CAAC,YAAY,EAAA;;CACtB,OAAA,UAAM,CAAC,QAAQ;CAAA;;AAEhB,MAAM,CAAC,QAAG,CAAC,UAAU,EAAA;;CACpB,UAAM,CAAC,IAAI,CAAC,WAAW,GAAG,IAAG;CAC7B,OAAA,IAAG;CAAA;;;;MAIE,cAAc;CACf,GAAG,CAAC,MAAM,CAAE,IAAI,CAAA;;MACf,GAAG,GAAG,MAAM;MACZ,GAAG,GAAG,SAAS;SACb,GAAG,CAAC,EAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAA;;GAC7B,EAAE,EAAC,GAAG,GAAG,GAAG,UAAQ,EAAA;;IACnB,GAAG,GAAG,GAAG,CAAA,IAAK,CAAC;IAAA;GAAA;EACjB,MAAM,CAAC,GAAG;EAAA;;CAEP,GAAG,CAAC,MAAM,CAAE,IAAI,CAAE,KAAK,CAAA;;MACtB,GAAG,GAAG,MAAM;MACZ,GAAG,GAAG,SAAS;SACb,GAAG,CAAC,EAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAA;;OACzB,IAAI,GAAG,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;GACtD,EAAE,EAAC,IAAI,EAAA;;IACN,GAAG,CAAA,IAAK,CAAC,GAAG,KAAK;IACjB,MAAM,CAAC,IAAG;IAAA,MACP;;IACH,GAAG,GAAG,GAAG,UAAQ;IAAA;GAAA;EACnB,MAAM,CAAC,IAAG;EAAA;;;AAEL,KAAK,CAAC,SAAQ,EAAA;;CACpB,GAAG,CAAC,KAAK,EAAA;;EACR,OAAA,IAAI,CAAC,eAAe,CAAC,KAAK;EAAA;;;AAAA;UAFf,QAAQ;AAEO;;AAErB,KAAK,CAAC,KAAI,EAAA;;CAChB,GAAG,aAAQ;;EACV,OAAA,eAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,YAAK;EAAM;;CAE1C,GAAG,kBAAa;;EACf,OAAA,IAAI;EAAA;;CAEL,GAAG,iBAAY;;uBACP,eAAa;EAAA;;CAErB,GAAG,cAAS;;yBACF,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;EAAA;;eAEhC;;EACZ,OAAA,IAAI;EAAA;;cAEO;;EACX,OAAA,IAAI;EAAA;;sBAEiB,GAAG,CAAA;;EACxB,OAAA,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;EAAA;;uBAEP,GAAG,CAAC,GAAG,CAAA;;iCACZ,CAAC,GAAG,CAAC,oBAAkB,CAAC,GAAG,CAAC;EAAA;;iBAE7B,OAAO,CAAE,OAAO,CAAA;;EAChC,OAAA,OAAO,cAAY,CAAC,IAAI,CAAC,OAAO,CAAC;EAAA;;iBAEjB,OAAO,CAAA;;EACvB,OAAA,OAAO,cAAY,CAAC,IAAI,CAAC,IAAI,CAAC;EAAA;;kBAEb,OAAO,CAAE,OAAO,CAAA;;MAC7B,GAAG,sBAAe,CAAC,OAAO,CAAC,OAAO,CAAC;qBAC3B,CAAC,OAAO,CAAC;EACrB,MAAM,CAAC,GAAG;EAAA;;iBAEM,IAAI,CAAA;;EACpB,OAAA,IAAI,cAAY,CAAC,IAAI,CAAC;EAAA;;;gBAGP,MAAM,CAAE,MAAM,GAAG,IAAI,CAAA;;EACpC,EAAE,EAAC,MAAM,EAAA;;GACR,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;GAAA,MAC7B;;GACH,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;GAAA;EACzB,MAAM,CAAC,IAAI;EAAA;;qBAES,MAAM,CAAE,MAAM,CAAA;;;EAElC,EAAE,EAAC,MAAM,EAAA;;GACR,MAAM,CAAC,YAAY,CAAC,eAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;GAAA,MACzC;;GACH,MAAM,CAAC,WAAW,CAAC,eAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;GAAA;EACrC,MAAM,CAAC,IAAI;EAAA;;gBAEI,MAAM,CAAA;;EACrB,OAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;EAAA;;qBAEJ,MAAM,CAAA;;EAC1B,OAAA,MAAM,CAAC,WAAW,CAAC,eAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;EAAA;;iBAEpB,KAAK,CAAE,MAAM,CAAA;;EAC7B,OAAA,MAAM,gBAAc,CAAC,KAAK,CAAC,IAAI,CAAC;EAAA;;sBAEX,KAAK,CAAE,MAAM,CAAA;;EAClC,OAAA,MAAM,gBAAc,CAAC,KAAK,CAAC,eAAQ,CAAC,EAAE,CAAC,IAAI,CAAC;EAAA;;CAE7C,GAAG,sBAAiB;;iCACF,KAAK,UAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC;EAAA;;CAEnE,GAAG,qBAAkB,KAAK,CAAA;;MACrB,IAAI,2BAAoB;EAC5B,wBAAiB,GAAG,KAAK;EACzB,EAAE,EAAC,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAG,CAAC,IAAI,CAAC,UAAU,EAAA;;GAC5C,IAAI,eAAa,CAAC,KAAK,CAAC;GAAA;EAAA;;qBAEP;;MACd,EAAE,kBAAW;MACb,GAAG,GAAG,EAAE,CAAC,EAAG,CAAC,EAAE,CAAC,UAAU;EAC9B,EAAE,EAAC,EAAE,CAAC,EAAG,CAAC,GAAG,CAAC,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAA;;GAC3B,eAAQ,GAAG,IAAI;qBACJ,CAAC,GAAG,CAAC,EAAE,CAAC;GACnB,EAAE,cAAY,CAAC,GAAG,CAAC;GAAA;EACpB,OAAA,IAAI;EAAA;;uBAEgB;;EACpB,EAAE,mBAAU,IAAI,IAAG,sBAAP,GAAI,IAAG,iBAAA;;GAClB,mBAAY,2BAAoB;GAChC,kBAAW,0BAAmB;GAC9B,kBAAW,0BAAmB;cAC1B,mBAAY;GAAA;;MAEb,EAAE,0BAAmB;EACzB,EAAE,EAAC,KAAA,UAAU,CAAC,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAA;;GAC3B,EAAE,cAAY,CAAC,KAAA,UAAU,CAAC,IAAI,CAAC;qBACpB,CAAC,KAAA,UAAU,CAAC;GAAA;;EAExB,eAAQ,GAAG,EAAE;;EAEb,OAAA,IAAI;EAAA;;gBAEW,IAAI,CAAE,CAAC,CAAE,IAAI,CAAA;;;MAExB,IAAI,GAAG,OAAO,IAAI;;;EAGtB,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;;GAEvC,EAAE,EAAC,IAAI,CAAC,EAAG,CAAC,CAAA,IAAI,YAAK,OAAO,CAAA,EAAC;;IAC5B,MAAM,CAAC,IAAI;IAAA;;OAER,EAAE,GAAG,mBAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;GACnC,MAAM,CAAC,IAAI,GAAG,IAAI,eAAa,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,cAAY,CAAC,IAAI,CAAC,IAAI,CAAC;GAAA;;;EAGrE,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;GACf,MAAM,CAAC,IAAI;GAAA,MAGZ,EAAA,EAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAA;;OACjB,GAAG;OACH,GAAG,GAAG,IAAI;;GAEd,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,GAAiB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAgB,EAAE,EAAG,CAAC,KAAK,EAAA;;;;;;IAK7D,IAAI,CAAC,WAAW,GAAG,GAAG;IACtB,MAAM;IAAA;;GAEP,EAAE,EAAC,IAAI,EAAA;;IACN,EAAE,EAAC,IAAI,YAAK,IAAI,EAAC;;KAChB,IAAI,CAAC,WAAW,GAAG,GAAG;KACtB,MAAM,CAAC,IAAI;KAAA,MACR;;KACH,GAAG,GAAG,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC;KAClC,IAAI,eAAa,CAAC,GAAG,CAAC,IAAI,CAAC;KAC3B,MAAM,CAAC,GAAG;KAAA;IAAA,MACR;;IACH,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,mBAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,CAAC,GAAG;IAAC;GAAA,MAET;;GACH,EAAE,EAAC,UAAM,CAAC,UAAU,EAAA;;IACnB,EAAE,EAAC,EAAC,IAAI,cAAY,CAAA,EAAA;;KACnB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;WAC1C,GAAG,CAAC,SAAS,CAAC,yCAAyC,CAAC;KAAA;IAAA;;GAEhE,MAAM,CAAC,IAAI,GAAG,IAAI,eAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,cAAY,CAAC,IAAI,CAAC,IAAI,CAAC;GAAA;EACzE,MAAM;EAAA;;;AAAA;UAtJK,IAAI;AAsJT;;;AAGD,KAAK,CAAC,QAAO,EAAA;;;CAEf,GAAG,IAAI,MAAM,CAAA;;EAChB,OAAA,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC;EAAA;;CAEnB,IAAI,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAE,UAAU,EAAE,IAAI,CAAC,CAAA;;EACzC,EAAE,EAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAxC,EAAA,CAAC,CAAC,MAAM,GAAG,MAAM,EAAA;MACb,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAE,CAAC,CAAC;MAChC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;EACnC,MAAM,CAAC,KAAK;EAAA;;;CAGT,KAAK,CAAC,IAAI,CAAA;;EACb,IAAI,CAAC,WAAW,GAAG,IAAI;EACvB,OAAA,IAAI;EAAA;;sBAEe;;EACnB,OAAA,IAAI;EAAA;;qBAEc;;EAClB,OAAA,IAAI;EAAA;;iBAEU;;EACQ,EAAE,uBAAe,EAAvC,uBAAc,GAAG,IAAI,EAAA;EACrB,MAAM;EAAA;;CAEP,GAAG,mBAAc;;8BACF,KAAK,EAAE;EAAA;;CAEtB,GAAG,CAAC,KAAK,EAAA;;EACR,EAAM,IAAC,KAAA,MAAM,GAAA;;;GAEZ,KAAA,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;GACxB,EAAE,EAAC,KAAA,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAA;;IAClC,KAAA,SAAS,GAAG,IAAI,CAAC,SAAS;IAAA;GAC3B,KAAA,UAAU,EAAE;GAAA;EACb,MAAM,CAAC,KAAA,MAAM;EAAA;;CAEV,KAAK,CAAC,GAAG,CAAA;;;MAER,EAAE,GAAG,KAAA,QAAQ;EACjB,IAAI,CAAC,SAAS,GAAG,EAAE,KAAI,EAAE,CAAC,CAAC,EAAE,KAAA,SAAS,GAAG,GAAG,QAAM,KAAA,SAAS,GAAG,GAAG;EACjE,MAAM;EAAA;;CAEH,UAAU,EAAA;;;EACb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ;EAC1B,IAAI,CAAC,SAAS,GAAG,QAAE,CAAC,GAAG,IAAE,OAAA,IAAI,CAAC,SAAS,CAAC,KAAA,SAAS,GAAG,GAAG,CAAC;EACxD,MAAM;EAAA;;CAEH,QAAQ,CAAC,GAAG,CAAA;;EACf,OAAA,IAAI,CAAC,SAAS,CAAC,KAAA,SAAS,GAAG,GAAG,CAAC;EAAA;;CAE5B,SAAS,CAAC,GAAG,CAAA;;;;EAGhB,KAAA,UAAU,EAAE;EACZ,MAAM,CAAC,KAAA,SAAS,CAAC,GAAG,CAAC;EAAA;;CAElB,SAAS,EAAA;;EACZ,OAAA,IAAI,CAAC,SAAS,KAAK,KAAA,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAA,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAA,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAA,MAAM,CAAC,EAAE,CAAC,EAAE;EAAE;;CAErG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;;;MAEb,IAAI,GAAG,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;EACtD,EAAE,EAAC,EAAC,IAAI,CAAA,CAAC,EAAE,CAAC,EAAC,IAAI,CAAC,GAAG,CAAA,EAAA;;GACpB,KAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;GAAA,MACpB;;GACH,IAAI,CAAA,GAAI,CAAC,GAAG,KAAK;GAAA;EAClB,MAAM;EAAA;;CAEP,GAAG,CAAC,SAAS,EAAA;;EACZ,OAAA,KAAA,KAAK;EAAA;;CAEN,GAAG,CAAC,SAAS,CAAC,KAAK,CAAA;;EAClB,IAAI,CAAC,KAAK,GAAG,KAAK;EAAA;;;AAAA;UA1EP,OAAO;AA0EA;;;AAGpB,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,cAAc;AAC3D,OAAO,CAAC,SAAS,iBAAe,GAAG,IAAG;;AAEtC,MAAM,CAAC,QAAG,CAAC,aAAa,CAAC,IAAI,CAAE,MAAM,CAAE,KAAK,CAAE,IAAI,CAAA;;KAC7C,EAAE,GAAG,mBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;;CAEhB,EAAE,EAAC,KAAK,EAA7B,EAAA,EAAE,CAAC,SAAS,GAAG,KAAK,EAAA;;CAEpB,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;EACf,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;EAAA;;CAEf,EAAE,EAAC,MAAM,CAAC,EAAG,CAAC,MAAM,eAAa,EAAA;;EAChC,MAAM,eAAa,CAAC,EAAE,CAAC;;EACC;;CAEzB,MAAM,CAAC,EAAE;CAAA;;AAEH,KAAK,CAAC,WAAU,EAAA;;;CAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA;;MACb,KAAK,GAAG,eAAe,CAAA,KAAC,QAAQ,CAAC,KAAK,EAAE;MACxC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;EAExC,EAAE,EAAC,EAAC,IAAI,CAAA,CAAC,EAAE,CAAC,EAAC,IAAI,CAAC,GAAG,CAAA,EAAA;;GACpB,KAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;GAAA,MACpB;;GACH,IAAI,CAAA,GAAI,CAAC,GAAG,KAAK;GAAA;EAClB,MAAM;EAAA;;CAEH,KAAK,CAAC,GAAG,CAAA;;MACR,EAAE,GAAG,KAAA,QAAQ;EACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAI,EAAE,CAAC,CAAC,EAAE,KAAA,SAAS,GAAG,GAAG,QAAM,KAAA,SAAS,GAAG,GAAG,GAAE;EAC5E,MAAM;EAAA;;CAEH,SAAS,CAAC,GAAG,CAAA;;;;;EAGhB,IAAI,CAAC,KAAK,GAAG,QAAE,CAAC,GAAG,IAAE,OAAA,IAAI,CAAC,SAAS,CAAC,KAAA,SAAS,GAAG,GAAG,CAAC;EACpD,IAAI,CAAC,SAAS,GAAG,QAAE,CAAC,GAAG,IAAE,OAAA,IAAI,CAAC,SAAS,CAAC,KAAA,SAAS,GAAG,GAAG,CAAC;EACxD,MAAM,CAAC,KAAA,SAAS,CAAC,GAAG,CAAC;EAAA;;CAElB,SAAS,EAAA;;EACZ,OAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAA,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,KAAA,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAA,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAA,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;EAAA;;;AAAA;UAzBrG,UAAU;AAyB2F;;AAE3G,KAAK,CAAC,cAAa,EAAA;;;CAEzB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAA;;EACZ,EAAE,cAAK,IAAI,KAAK,iBAAT,GAAI,KAAK,iBAAA;;GACf,EAAE,EAAC,KAAK,CAAC,EAAG,CAAC,KAAK,CAAC,SAAS,EAAA;;IAC3B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;IAAA,MACtB,EAAA,EAAK,KAAK,CAAC,EAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAA;;IACjC,EAAE,EAAC,KAAK,CAAC,UAAU,EAAA;;KAClB,GAAG,WAAY,KAAK,CAAC,UAAU,oEAAA;;MAC9B,KAAA,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;MAAA;KAAA;IACnB,KAAA,SAAS,GAAG,KAAK,CAAC,OAAO;IAAA;GAAA;EAC3B,MAAM;EAAA;;;AAAA;UAXK,aAAa;AAWlB;;AAER,MAAM,CAAC,QAAG,CAAC,gBAAgB,CAAC,IAAI,CAAE,MAAM,CAAE,KAAK,CAAE,IAAI,CAAE,GAAG,CAAA;;KACrD,EAAE,GAAG,mBAAQ,CAAC,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC;;CAEpE,EAAE,EAAC,KAAK,EAAA;;EACP,EAAE,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK;EAAA;;CAE7B,EAAE,EAAC,MAAM,CAAC,EAAG,CAAC,MAAM,eAAa,EAAA;;EAChC,MAAM,eAAa,CAAC,EAAE,CAAC;EAAwB;;CAEhD,EAAE,EAAC,IAAI,EAAA;;EACN,EAAE,CAAC,WAAW,GAAG,IAAI;EAAA;;CAEtB,MAAM,CAAC,EAAE;CAAA;;AAEV,MAAM,CAAC,QAAG,CAAC,aAAa,CAAC,IAAI,CAAA;;CAC5B,OAAA,mBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC;CAAA;;AAE7B,MAAM,CAAC,QAAG,CAAC,cAAc,CAAC,IAAI,CAAA;;CAC7B,OAAA,mBAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;CAAA;;AAE9B,MAAM,CAAC,QAAG,CAAC,cAAc,EAAA;;CACxB,OAAA,mBAAQ,CAAC,sBAAsB,EAAC;CAAA;;MAE3B,SAAS,GAAG,UAAM,CAAC,SAAS;MAC5B,MAAM,GAAG,SAAS,CAAC,EAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;MAC7C,EAAE,GAAG,SAAS,CAAC,EAAG,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE;;MAE5C,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;MAC/F,iCAAiC,GAAG,EAAC,QAAQ,CAAA;MAC7C,qBAAqB,GAAG,GAAG,CAAC,GAAG;;AAErC,KAAK,CAAC,UAAU,SAAG,WAAW,EAAA;;CACzB,iBAAiB,EAAA;;EACpB,EAAE,EAAC,iCAAiC,EAAA;;GACnC,OAAA,KAAA,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;GAAA,MACzB;;GACH,OAAA,KAAA,UAAU,CAAC,iBAAiB,EAAC;GAAA;EAAA;;CAE3B,oBAAoB,EAAA;;EACvB,EAAE,EAAC,EAAC,iCAAiC,CAAA,EAAA;;GACpC,OAAA,KAAA,UAAU,CAAC,oBAAoB,EAAC;GAAA;EAAA;;;AAAA,CAAA;;AAEnC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;;AAEjD,QAAG,CAAC,oBAAoB,CAAC,EAAE,CAAE,KAAK,CAAA;;KAC7B,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;;CAE5C,EAAM,IAAC,KAAK,GAAA;;EACX,KAAK,GAAG,EAAE;MACN,KAAK,GAAG,KAAK,CAAC,SAAS;MACvB,MAAM,GAAG,CAAC,KAAK,CAAC;SACd,KAAK,IAAI,KAAK,CAAC,EAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAC;;GAC/C,EAAE,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW;GAC5C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;GAAA;;EAEtB,GAAG,2BAAS,MAAM,kCAAA;OAAd,IAAI;OACH,IAAI,GAAG,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC;GACjD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;GAAA;EAC1B,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;EAAA;;CAEvC,MAAM,CAAC,KAAK;CAAA;;;AAGb,MAAM,CAAC,QAAG,CAAC,eAAe,CAAC,IAAI,CAAE,MAAM,CAAE,KAAK,CAAE,IAAI,CAAE,GAAG,CAAA;;;KAEpD,EAAE;;CAEN,EAAE,EAAC,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAA;;EACzB,EAAE,EAAC,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,QAAQ,EAAA;;GACxB,IAAI,GAAG,IAAI,CAAC,QAAQ;GAAA;EAAA;;KAElB,OAAO,GAAG,uBAAuB,CAAA,IAAK,CAAC,CAAC,EAAE,CAAC,IAAI;;CAEnD,EAAE,EAAC,qBAAqB,CAAA,IAAK,CAAC,EAAA;;MACzB,GAAG,GAAG,qBAAqB,CAAA,IAAK,CAAC;MACjC,GAAG,GAAG,GAAG,CAAC,SAAS,gBAAc;EACrC,EAAE,EAAC,GAAG,CAAC,EAAG,CAAC,iCAAiC,EAAA;;GAC3C,EAAE,GAAG,mBAAQ,CAAC,aAAa,CAAC,GAAG,EAAC,EAAE,EAAE,OAAO,EAAC;GAAA,MAC7C,EAAA,EAAK,GAAG,CAAC,OAAO,CAAC,EAAG,CAAC,GAAG,EAAA;;GACvB,EAAE,GAAG,mBAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;GAChC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;OACzB,KAAK,GAAG,oBAAoB,CAAC,EAAE,CAAC,GAAG,CAAC;GACxC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC;GACjC,EAAE,CAAC,OAAO,GAAG,EAAE;;GAEf,EAAE,CAAC,WAAW,CAAC,mBAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;GAAA,MACjD,EAAA,EAAK,GAAG,CAAC,OAAO,EAAA;;GACf,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;GACpB,EAAE,CAAC,OAAO,GAAG,EAAE;GAAA,MACZ;;GACH,OAAO,CAAC,IAAI,CAAC,2BAAuB,IAAI,CAAE,CAAA;GAAA;EAAA,MACxC;;EACH,EAAE,GAAG,mBAAQ,CAAC,aAAa,CAAC,uBAAuB,CAAA,IAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;EAAA;;CAEnE,EAAE,WAAS,GAAG,MAAM;CACpB,EAAE,YAAU,EAAC;CACb,EAAE,WAAS,EAAC;;;;CAIZ,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;EACf,EAAE,WAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;EAAA;;CAE9B,EAAE,EAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAC;;EACvB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;EAAA;CACtB,MAAM,CAAC,EAAE;CAAA;;AAEV,MAAM,CAAC,QAAG,CAAC,aAAa,CAAC,KAAK,CAAE,MAAM,CAAE,KAAK,CAAE,IAAI,CAAA;;CAClD,EAAE,EAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAA;;EACrC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;EAAA,MACzB,EAAA,EAAK,KAAK,YAAK,IAAI,EAAA;;;EAElB,MAAM,CAAC,KAAK;EAAA,MACb,EAAA,EAAK,KAAK,iBAAe,EAAA;;EACxB,MAAM,CAAC,KAAK;EAAA,MAEb,EAAA,EAAK,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAG,CAAC,CAAA,KAAK,CAAC,SAAS,YAAK,IAAI,CAAA,GAAC;;EACpE,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;EAAA;CAAA;;AAEjD,MAAM,CAAC,QAAG,CAAC,UAAU,CAAC,IAAI,CAAE,KAAK,CAAA;;;CAEhC,EAAE,EAAC,KAAK,CAAA,IAAK,CAAC,EAAA;;EACb,MAAM,CAAC,KAAK,CAAA,IAAK,CAAC;EAAA;;CAEnB,EAAE,EAAC,MAAM,CAAA,KAAM,CAAC,EAAA;;EACf,MAAM,CAAC,MAAM,CAAA,KAAM,CAAC;EAAA;;CAErB,EAAE,EAAC,MAAM,CAAA,IAAK,CAAC,EAAA;;EACd,MAAM,CAAC,MAAM,CAAA,IAAK,CAAC;EAAA;CAAA;;AAErB,MAAM,CAAC,QAAG,CAAC,eAAe,CAAC,IAAI,CAAE,KAAK,CAAE,GAAG,CAAA;;KACtC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;KAC5B,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,GAAG,CAAC,SAAS,YAAK,GAAG,CAAA,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,gBAAc;;CAE/E,EAAE,EAAC,EAAC,MAAM,CAAA,EAAA;;MACL,GAAG,GAAG,GAAG,CAAC,SAAS,eAAa;;EAEpC,EAAE,EAAC,EAAC,GAAG,CAAA,EAAA;;GACN,GAAG,GAAG,KAAK,CAAC,oBAAoB,SAAG,GAAG,EAAA;;IACjC,WAAW,EAAA;;KACd,mBAAK;KACL,KAAA,OAAO,GAAG,EAAE;KACZ,KAAA,GAAG,GAAG,CAAC;KAAA;;;GAAA,CAAA;;GAET,GAAG,CAAC,SAAS,eAAa,GAAG,GAAG;OAC5B,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,GAAG,CAAC,SAAS,CAAC;GACjE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC;GAClD,GAAG,CAAC,SAAS,gBAAc,GAAG,IAAI;GAAA;;EAEnC,MAAM,CAAC,GAAG;EAAA;;CAEX,MAAM,CAAC,GAAG;CAAA;;AAEX,MAAM,CAAC,QAAG,CAAC,SAAS,CAAC,IAAI,CAAE,KAAK,CAAE,OAAO,GAAG,EAAE,CAAA;;CAC7C,KAAK,CAAA,IAAK,CAAC,GAAG,YAAY,CAAA,IAAK,CAAC,GAAG,KAAK;;CAExC,KAAK,CAAC,QAAQ,GAAG,IAAI;;KAEjB,aAAa,GAAG,IAAI;KACpB,KAAK,GAAG,KAAK,CAAC,SAAS;;CAE3B,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAA;;EACzB,aAAa,GAAG,MAAE,IAAI,UAAM;EAC5B,uBAAuB,CAAA,IAAK,CAAC,GAAG,aAAa;EAAA;;;CAG9C,EAAE,EAAC,OAAO,CAAC,KAAK,EAAA;;MACX,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,SAAO,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;EACxE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,GAAG;EAC3B,KAAK,SAAO,GAAG,OAAO,CAAC,KAAK;EAAA;;CAE7B,EAAE,EAAC,OAAO,CAAC,KAAK,EAAA;;MACX,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;EACtD,KAAK,SAAO,GAAG,OAAO,CAAC,KAAK;EAC5B,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,GAAG;EAAA;;CAEjC,EAAE,EAAC,KAAK,gBAAc,CAAC,EAAG,CAAC,EAAC,OAAO,CAAC,OAAO,CAAA,EAAA;;EAC1C,OAAO,CAAC,OAAO,GAAG,KAAK,gBAAc;EAAA;;CAEtC,EAAE,EAAC,OAAO,CAAC,OAAO,EAAA;;EACjB,KAAK,gBAAc,GAAG,OAAO,CAAC,OAAO;EACrC,qBAAqB,CAAA,IAAK,CAAC,GAAG,KAAK;;EAEnC,EAAE,EAAC,iCAAiC,EAAA;;GACnC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAC;GAAA;EAAA,MACxE;;EACH,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;EAAA;;CAElD,MAAM,CAAC,KAAK;CAAA;;IAET,QAAQ,GAAG,UAAM,CAAC,IAAI,KAAK,EAAE;AACjC,QAAQ,CAAC,QAAQ,GAAG,UAAM,CAAC,QAAQ;AACnC;"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file