UNPKG

23.2 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction iter$__(a){ let v; return a ? ((v=a.toIterable) ? v.call(a) : a) : a; };;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\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};\nconst $parent$ = Symbol.for('#parent'), $closestNode$ = Symbol.for('#closestNode'), $isRichElement$ = Symbol.for('#isRichElement'), $afterVisit$ = Symbol.for('#afterVisit'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $appendChild$ = Symbol.for('#appendChild'), $removeChild$ = Symbol.for('#removeChild'), $replaceChild$ = Symbol.for('#replaceChild'), $insertInto$ = Symbol.for('#insertInto'), $replaceWith$ = Symbol.for('#replaceWith'), $insertChild$ = Symbol.for('#insertChild'), $removeFrom$ = Symbol.for('#removeFrom'), $placeChild$ = Symbol.for('#placeChild'), $registerFunctionalSlot$ = Symbol.for('#registerFunctionalSlot'), $getFunctionalSlot$ = Symbol.for('#getFunctionalSlot'), $getSlot$ = Symbol.for('#getSlot'), $$parent$ = Symbol.for('##parent'), $$up$ = Symbol.for('##up'), $$flags$ = Symbol.for('##flags'), $domFlags$ = Symbol.for('#domFlags'), $end$ = Symbol.for('#end'), $textContent$ = Symbol.for('#textContent'), $textNode$ = Symbol.for('#textNode'), $functionalSlots$ = Symbol.for('#functionalSlots');\nvar $1 = Symbol();\n\n/*body*/\nimport {Text,createComment,createTextNode,Comment,Node} from './core';\nimport {Flags} from './flags';\n\nexport function use_slots(){\n\t\n\tglobalThis.imba.uses_slots = true;\n\treturn true;\n};\n\nexport class Fragment {\n\t\n\t\n\tconstructor(){\n\t\t\n\t\tthis.childNodes = [];\n\t}\n\t\n\tlog(...params){\n\t\t\n\t\treturn;\n\t}\n\t\n\thasChildNodes(){\n\t\t\n\t\treturn false;\n\t}\n\t\n\tset [$parent$](value){\n\t\t\n\t\tthis[$$parent$] = value;\n\t}\n\t\n\tget [$parent$](){\n\t\t\n\t\treturn this[$$parent$] || this[$$up$];\n\t}\n\t\n\tget [$closestNode$](){\n\t\t\n\t\treturn this[$parent$][$closestNode$];\n\t}\n\t\n\tget [$isRichElement$](){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget flags(){\n\t\t\n\t\treturn this[$$flags$] ||= new Flags(this);\n\t}\n\t\n\tflagSync$(){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t[$afterVisit$](){\n\t\t\n\t\treturn this;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Fragment');}\n};\n\nlet counter = 0;\n// like a list\nclass VirtualFragment extends Fragment {\n\t\n\tconstructor(flags,parent){\n\t\t\n\t\tsuper(...arguments);\n\t\tthis[$$up$] = parent;\n\t\tthis.parentNode = null;\n\t\tthis[$domFlags$] = flags;\n\t\tthis.childNodes = [];\n\t\tthis[$end$] = createComment('slot' + counter++);\n\t\t\n\t\tif (parent) {\n\t\t\t\n\t\t\tparent[$appendChild$](this);\n\t\t};this[$__initor__$]===$1 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t\n\tget [$parent$](){\n\t\t\n\t\treturn this[$$parent$] || this.parentNode || this[$$up$];\n\t}\n\t\n\tset textContent(text){\n\t\t\n\t\tthis[$textContent$] = text;\n\t}\n\t\n\tget textContent(){\n\t\t\n\t\treturn this[$textContent$];\n\t}\n\t\n\thasChildNodes(){\n\t\t\n\t\tfor (let $2 = 0, $3 = iter$__(this.childNodes), $4 = $3.length; $2 < $4; $2++) {\n\t\t\tlet item = $3[$2];\n\t\t\tif (item instanceof Fragment) {\n\t\t\t\t\n\t\t\t\tif (item.hasChildNodes()) { return true };\n\t\t\t};\n\t\t\tif (item instanceof Comment) {\n\t\t\t\t\n\t\t\t\ttrue;\n\t\t\t} else if (item instanceof Node) {\n\t\t\t\t\n\t\t\t\treturn true;\n\t\t\t};\n\t\t\t\n\t\t\t// unless item isa Comment\n\t\t\t// return false\n\t\t};\n\t\treturn false;\n\t\t// #children.length == 0\n\t}\n\t\n\ttext$(item){\n\t\t\n\t\tif (!this[$textNode$]) {\n\t\t\t\n\t\t\tthis[$textNode$] = this[$placeChild$](item);\n\t\t} else {\n\t\t\t\n\t\t\tthis[$textNode$].textContent = item;\n\t\t};\n\t\treturn this[$textNode$];\n\t}\n\t\n\tappendChild(child){\n\t\t\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tchild[$insertInto$](this.parentNode,this[$end$]);\n\t\t};\n\t\treturn this.childNodes.push(child);\n\t}\n\t\n\t[$appendChild$](child){\n\t\t\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tchild[$insertInto$](this.parentNode,this[$end$]);\n\t\t} else {\n\t\t\t\n\t\t\tchild[$$up$] ??= (this[$$up$] || this);\n\t\t};\n\t\treturn this.childNodes.push(child);\n\t}\n\t\n\tinsertBefore(node,refnode){\n\t\t\n\t\t// check if this should really happen?\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tthis.parentNode[$insertChild$](node,refnode);\n\t\t};\n\t\tlet idx = this.childNodes.indexOf(refnode);\n\t\tif (idx >= 0) {\n\t\t\t\n\t\t\tthis.childNodes.splice(idx,0,node);\n\t\t};\n\t\treturn node;\n\t}\n\t\n\t[$removeChild$](node){\n\t\t\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tthis.parentNode[$removeChild$](node);\n\t\t};\n\t\tlet idx = this.childNodes.indexOf(node);\n\t\tif (idx >= 0) {\n\t\t\t\n\t\t\tthis.childNodes.splice(idx,1);\n\t\t};\n\t\treturn;\n\t}\n\t\n\t[$replaceChild$](newnode,oldnode){\n\t\t\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tthis.parentNode[$replaceChild$](newnode,oldnode);\n\t\t};\n\t\tlet idx = this.childNodes.indexOf(oldnode);// what if text?\n\t\tthis.childNodes[idx] = newnode;\n\t\t// let res = #insertChild(newnode,oldnode)\n\t\t// #removeChild(oldnode)\n\t\treturn newnode;\n\t}\n\t\n\t[$insertInto$](parent,before){\n\t\t\n\t\t// console.log 'frag #insertInto',parent,before,#children\n\t\tlet prev = this.parentNode;\n\t\t\n\t\tif ((this.parentNode != parent) ? ((this.parentNode = parent,true)) : false) {\n\t\t\t\n\t\t\t// log '#insertInto',parent,prev,before,#end\n\t\t\t// what if before is a fragment etc?\n\t\t\tif (this[$end$]) {\n\t\t\t\t\n\t\t\t\tbefore = this[$end$][$insertInto$](parent,before);\n\t\t\t};\n\t\t\t// before = #end\n\t\t\tfor (let $5 = 0, $6 = iter$__(this.childNodes), $7 = $6.length; $5 < $7; $5++) {\n\t\t\t\tlet item = $6[$5];\n\t\t\t\titem[$insertInto$](parent,before);\n\t\t\t};\n\t\t};\n\t\treturn this;\n\t}\n\t\n\t[$replaceWith$](node,parent){\n\t\t\n\t\t// log '#replaceWith',node,parent\n\t\t// what if this\n\t\t// log 'replaced with',node,parent\n\t\tlet res = node[$insertInto$](parent,this[$end$]);\n\t\tthis[$removeFrom$](parent);\n\t\treturn res;\n\t}\n\t\n\t[$insertChild$](node,refnode){\n\t\t\n\t\tif (this.parentNode) {\n\t\t\t\n\t\t\tthis.insertBefore(node,refnode || this[$end$]);\n\t\t};\n\t\t\n\t\tif (refnode) {\n\t\t\t\n\t\t\tlet idx = this.childNodes.indexOf(refnode);\n\t\t\t// console.log 'vfragment #insertChild',node,refnode,refnode == #end,idx,#children\n\t\t\tif (idx >= 0) {\n\t\t\t\t\n\t\t\t\tthis.childNodes.splice(idx,0,node);\n\t\t\t};\n\t\t} else {\n\t\t\t\n\t\t\tthis.childNodes.push(node);\n\t\t};\n\t\treturn node;\n\t\t\n\t\t// for item in #children\n\t\t// \titem.#removeFrom(parent)\n\t}\n\t\n\t[$removeFrom$](parent){\n\t\t\n\t\tfor (let $8 = 0, $9 = iter$__(this.childNodes), $10 = $9.length; $8 < $10; $8++) {\n\t\t\tlet item = $9[$8];\n\t\t\t\n\t\t\t// log '#removeFrom',item,parent\n\t\t\titem[$removeFrom$](parent);\n\t\t};\n\t\tif (this[$end$]) { this[$end$][$removeFrom$](parent) };\n\t\tthis.parentNode = null;\n\t\treturn this;\n\t}\n\t\n\t[$placeChild$](item,f,prev){\n\t\t\n\t\tlet par = this.parentNode;\n\t\tlet type = typeof item;\n\t\t\n\t\tif (type === 'undefined' || item === null) {\n\t\t\t\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 = createComment('');\n\t\t\t\n\t\t\tif (prev) {\n\t\t\t\t\n\t\t\t\tlet idx = this.childNodes.indexOf(prev);\n\t\t\t\tthis.childNodes.splice(idx,1,el);\n\t\t\t\tif (par) {\n\t\t\t\t\t\n\t\t\t\t\tprev[$replaceWith$](el,par);\n\t\t\t\t};\n\t\t\t\t// parentNode.#insert(item,f,prev or #end)\n\t\t\t\treturn el;\n\t\t\t};\n\t\t\t\n\t\t\tthis.childNodes.push(el);\n\t\t\tif (par) { el[$insertInto$](par,this[$end$]) };\n\t\t\treturn el;\n\t\t\t// return prev ? prev.#replaceWith(el,self) : el.#insertInto(this,null)\n\t\t};\n\t\t\n\t\tif (item === prev) {\n\t\t\t\n\t\t\treturn item;\n\t\t};\n\t\t\n\t\tif (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 (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 = createTextNode(txt);\n\t\t\t\t\tlet idx = this.childNodes.indexOf(prev);\n\t\t\t\t\tthis.childNodes.splice(idx,1,res);\n\t\t\t\t\tif (par) { prev[$replaceWith$](res,par) };\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.childNodes.push(res = createTextNode(txt));\n\t\t\t\t// self.appendChild$(res = createTextNode(txt))\n\t\t\t\tif (par) { res[$insertInto$](par,this[$end$]) };\n\t\t\t\treturn res;\n\t\t\t};\n\t\t} else if (prev) {\n\t\t\t\n\t\t\tlet idx = this.childNodes.indexOf(prev);\n\t\t\tthis.childNodes.splice(idx,1,item);\n\t\t\tif (par) { prev[$replaceWith$](item,par) };\n\t\t\treturn item;\n\t\t} else {\n\t\t\t\n\t\t\tthis.childNodes.push(item);\n\t\t\tif (par) { item[$insertInto$](par,this[$end$]) };\n\t\t\treturn item;\n\t\t};\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $1;defineName$__(this,'VirtualFragment');inheritClass$__(this);}\n};\n\nexport function createLiveFragment(bitflags,par){\n\t\n\tconst el = new VirtualFragment(bitflags,par);\n\treturn el;\n};\n\nexport function createSlot(bitflags,par){\n\t\n\tconst el = new VirtualFragment(bitflags,null);\n\tel[$$up$] = par;\n\t// el.setup$(bitflags, options)\n\t// el.##up = par if par\n\treturn el;\n};\n\nclass ΩNode {\n\t\n\t[$registerFunctionalSlot$](name){\n\t\t\n\t\tlet map = this[$functionalSlots$] ||= {};\n\t\treturn map[name] ||= createSlot(0,this);\n\t}\n\t\n\t[$getFunctionalSlot$](name,context){\n\t\t\n\t\tlet map = this[$functionalSlots$];\n\t\treturn map && map[name] || this[$getSlot$](name,context);\n\t}\n\t\n\t[$getSlot$](name,context){\n\t\t\n\t\tif ((name == '__' && !(this.render)) || !(this.__slots)) {\n\t\t\t\n\t\t\treturn this;\n\t\t};\n\t\treturn this.__slots[name] ||= createSlot(0,this);\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Node');}\n};\nextend$__(Node.prototype,ΩNode.prototype);\n;\n","map":{"version":3,"file":"fragment.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/dom/fragment.imba"],"sourcesContent":["import {Text,createComment,createTextNode,Comment,Node} from './core'\nimport {Flags} from './flags'\n\nexport def use_slots\n\tglobal.imba.uses_slots = yes\n\tyes\n\nexport class Fragment\n\n\tdef constructor\n\t\tchildNodes = []\n\n\tdef log ...params\n\t\treturn\n\n\tdef hasChildNodes\n\t\tfalse\n\n\tset #parent value\n\t\t##parent = value\n\n\tget #parent\n\t\t##parent or ##up\n\n\tget #closestNode\n\t\t#parent.#closestNode\n\n\tget #isRichElement\n\t\tyes\n\n\tget flags\n\t\t##flags ||= new Flags(self)\n\n\tdef flagSync$\n\t\tself\n\n\tdef #afterVisit\n\t\tself\n\nlet counter = 0\n# like a list\nclass VirtualFragment < Fragment\n\tdef constructor flags, parent\n\t\tsuper\n\t\t##up = parent\n\t\tparentNode = null\n\t\t#domFlags = flags\n\t\tchildNodes = []\n\t\t#end = createComment('slot' + counter++)\n\n\t\tif parent\n\t\t\tparent.#appendChild(self)\n\n\tget #parent\n\t\t##parent or parentNode or ##up\n\n\tset textContent text\n\t\t#textContent = text\n\n\tget textContent\n\t\t#textContent\n\n\tdef hasChildNodes\n\t\tfor item in childNodes\n\t\t\tif item isa Fragment\n\t\t\t\treturn true if item.hasChildNodes!\n\t\t\tif item isa Comment\n\t\t\t\tyes\n\t\t\telif item isa Node\n\t\t\t\treturn true\n\n\t\t\t# unless item isa Comment\n\t\t\t#\treturn false\n\t\treturn false\n\t\t# #children.length == 0\n\n\tdef text$ item\n\t\tunless #textNode\n\t\t\t#textNode = #placeChild(item)\n\t\telse\n\t\t\t#textNode.textContent = item\n\t\treturn #textNode\n\n\tdef appendChild child\n\t\tif parentNode\n\t\t\tchild.#insertInto(parentNode,#end)\n\t\tchildNodes.push(child)\n\n\tdef #appendChild child\n\t\tif parentNode\n\t\t\tchild.#insertInto(parentNode,#end)\n\t\telse\n\t\t\tchild.##up ??= (##up or self)\n\t\tchildNodes.push(child)\n\n\tdef insertBefore node,refnode\n\t\t# check if this should really happen?\n\t\tif parentNode\n\t\t\tparentNode.#insertChild(node,refnode)\n\t\tlet idx = childNodes.indexOf(refnode)\n\t\tif idx >= 0\n\t\t\tchildNodes.splice(idx,0,node)\n\t\treturn node\n\n\tdef #removeChild node\n\t\tif parentNode\n\t\t\tparentNode.#removeChild(node)\n\t\tlet idx = childNodes.indexOf(node)\n\t\tif idx >= 0\n\t\t\tchildNodes.splice(idx,1)\n\t\treturn\n\n\tdef #replaceChild newnode, oldnode\n\t\tif parentNode\n\t\t\tparentNode.#replaceChild(newnode,oldnode)\n\t\tlet idx = childNodes.indexOf(oldnode) # what if text?\n\t\tchildNodes[idx] = newnode\n\t\t# let res = #insertChild(newnode,oldnode)\n\t\t# #removeChild(oldnode)\n\t\treturn newnode\n\n\tdef #insertInto parent, before\n\t\t# console.log 'frag #insertInto',parent,before,#children\n\t\tlet prev = parentNode\n\n\t\tif parentNode =? parent\n\t\t\t# log '#insertInto',parent,prev,before,#end\n\t\t\t# what if before is a fragment etc?\n\t\t\tif #end\n\t\t\t\tbefore = #end.#insertInto(parent,before)\n\t\t\t# before = #end\n\t\t\tfor item in childNodes\n\t\t\t\titem.#insertInto(parent,before)\n\t\treturn self\n\n\tdef #replaceWith node, parent\n\t\t# log '#replaceWith',node,parent\n\t\t# what if this\n\t\t# log 'replaced with',node,parent\n\t\tlet res = node.#insertInto(parent,#end)\n\t\t#removeFrom(parent)\n\t\tres\n\n\tdef #insertChild node,refnode\n\t\tif parentNode\n\t\t\tinsertBefore(node,refnode or #end)\n\n\t\tif refnode\n\t\t\tlet idx = childNodes.indexOf(refnode)\n\t\t\t# console.log 'vfragment #insertChild',node,refnode,refnode == #end,idx,#children\n\t\t\tif idx >= 0\n\t\t\t\tchildNodes.splice(idx,0,node)\n\t\telse\n\t\t\tchildNodes.push(node)\n\t\treturn node\n\n\t\t# for item in #children\n\t\t# \titem.#removeFrom(parent)\n\n\tdef #removeFrom parent\n\t\tfor item in childNodes\n\t\t\t# log '#removeFrom',item,parent\n\t\t\titem.#removeFrom(parent)\n\t\t#end.#removeFrom(parent) if #end\n\t\tparentNode = null\n\t\tself\n\n\tdef #placeChild item, f, prev\n\t\tlet par = parentNode\n\t\tlet type = typeof item\n\n\t\tif type === 'undefined' or item === null\n\t\t\tif prev and prev isa Comment # check perf\n\t\t\t\treturn prev\n\n\t\t\tlet el = createComment('')\n\n\t\t\tif prev\n\t\t\t\tlet idx = childNodes.indexOf(prev)\n\t\t\t\tchildNodes.splice(idx,1,el)\n\t\t\t\tif par\n\t\t\t\t\tprev.#replaceWith(el,par)\n\t\t\t\t# parentNode.#insert(item,f,prev or #end)\n\t\t\t\treturn el\n\n\t\t\tchildNodes.push(el)\n\t\t\tel.#insertInto(par,#end) if par\n\t\t\treturn el\n\t\t\t# return prev ? prev.#replaceWith(el,self) : el.#insertInto(this,null)\n\n\t\tif item === prev\n\t\t\treturn item\n\n\t\tif type !== 'object'\n\t\t\tlet res\n\t\t\tlet txt = item\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 = createTextNode(txt)\n\t\t\t\t\tlet idx = childNodes.indexOf(prev)\n\t\t\t\t\tchildNodes.splice(idx,1,res)\n\t\t\t\t\tprev.#replaceWith(res,par) if par\n\t\t\t\t\treturn res\n\t\t\telse\n\t\t\t\tchildNodes.push(res = createTextNode(txt))\n\t\t\t\t# self.appendChild$(res = createTextNode(txt))\n\t\t\t\tres.#insertInto(par,#end) if par\n\t\t\t\treturn res\n\n\t\telif prev\n\t\t\tlet idx = childNodes.indexOf(prev)\n\t\t\tchildNodes.splice(idx,1,item)\n\t\t\tprev.#replaceWith(item,par) if par\n\t\t\treturn item\n\t\telse\n\t\t\tchildNodes.push(item)\n\t\t\titem.#insertInto(par,#end) if par\n\t\t\treturn item\n\nexport def createLiveFragment bitflags, par\n\tconst el = new VirtualFragment(bitflags, par)\n\treturn el\n\nexport def createSlot bitflags, par\n\tconst el = new VirtualFragment(bitflags, null)\n\tel.##up = par\n\t# el.setup$(bitflags, options)\n\t# el.##up = par if par\n\treturn el\n\nextend class Node\n\tdef #registerFunctionalSlot name\n\t\tlet map = #functionalSlots ||= {}\n\t\tmap[name] ||= createSlot(0,self)\n\n\tdef #getFunctionalSlot name, context\n\t\tlet map = #functionalSlots\n\t\treturn map and map[name] or #getSlot(name,context)\n\n\tdef #getSlot name, context\n\t\tif (name == '__' and !self.render) or !__slots\n\t\t\treturn self\n\t\treturn __slots[name] ||= createSlot(0,self)\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,OAAO,QAAQ;AACrE,MAAM,EAAE,KAAK,OAAO,SAAS;;AAE7B,MAAM,CAAC,QAAG,CAAC,SAAS,EAAA;;CACnB,UAAM,CAAC,IAAI,CAAC,UAAU,GAAG,IAAG;CAC5B,OAAA,IAAG;CAAA;;AAEJ,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAA;;;CAEhB,WAAW,EAAA;;EACd,KAAA,UAAU,GAAG,EAAE;EAAA;;CAEZ,GAAG,IAAI,MAAM,CAAA;;EAChB,MAAM;EAAA;;CAEH,aAAa,EAAA;;EAChB,OAAA,KAAK;EAAA;;CAEN,GAAG,YAAS,KAAK,CAAA;;EAChB,eAAQ,GAAG,KAAK;EAAA;;CAEjB,GAAG,aAAQ;;EACV,OAAA,eAAQ,CAAC,EAAE,YAAK;EAAA;;CAEjB,GAAG,kBAAa;;uBACR,eAAa;EAAA;;CAErB,GAAG,oBAAe;;EACjB,OAAA,IAAG;EAAA;;CAEJ,GAAG,CAAC,KAAK,EAAA;;uBACD,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;EAAA;;CAExB,SAAS,EAAA;;EACZ,OAAA,IAAI;EAAA;;iBAEU;;EACd,OAAA,IAAI;EAAA;;;AAAA,CAAA;;IAEF,OAAO,GAAG,CAAC;;AAEf,KAAK,CAAC,eAAe,SAAG,QAAQ,EAAA;;CAC3B,WAAW,CAAC,KAAK,CAAE,MAAM,CAAA;;EAC5B,mBAAK;EACL,WAAI,GAAG,MAAM;EACb,KAAA,UAAU,GAAG,IAAI;EACjB,gBAAS,GAAG,KAAK;EACjB,KAAA,UAAU,GAAG,EAAE;EACf,WAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;;EAExC,EAAE,EAAC,MAAM,EAAA;;GACR,MAAM,eAAa,CAAC,IAAI,CAAC;GAAA;EAAA;;CAE3B,GAAG,aAAQ;;EACV,OAAA,eAAQ,CAAC,EAAE,CAAC,KAAA,UAAU,CAAC,EAAE,YAAK;EAAA;;CAE/B,GAAG,CAAC,WAAW,CAAC,IAAI,CAAA;;EACnB,mBAAY,GAAG,IAAI;EAAA;;CAEpB,GAAG,CAAC,WAAW,EAAA;;4BACF;EAAA;;CAET,aAAa,EAAA;;EAChB,GAAG,2BAAS,KAAA,UAAU,kCAAA;OAAlB,IAAI;GACP,EAAE,EAAC,IAAI,YAAK,QAAQ,EAAA;;IACP,EAAE,EAAC,IAAI,CAAC,aAAa,EAAC,EAAlC,EAAA,MAAM,CAAC,IAAI;IAAuB;GACnC,EAAE,EAAC,IAAI,YAAK,OAAO,EAAA;;IAClB,IAAG;IAAA,MACJ,EAAA,EAAK,IAAI,YAAK,IAAI,EAAA;;IACjB,MAAM,CAAC,IAAI;IAAA;;;;GAGE;EACf,MAAM,CAAC,KAAK;;EACW;;CAEpB,KAAK,CAAC,IAAI,CAAA;;EACb,EAAM,mBAAU,EAAA;;GACf,gBAAS,qBAAc,CAAC,IAAI,CAAC;GAAA,MAC1B;;GACH,gBAAS,CAAC,WAAW,GAAG,IAAI;GAAA;EAC7B,MAAM,iBAAU;EAAA;;CAEb,WAAW,CAAC,KAAK,CAAA;;EACpB,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAK,cAAY,CAAC,KAAA,UAAU,YAAK,CAAC;GAAA;EACnC,OAAA,KAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;EAAA;;iBAEN,KAAK,CAAA;;EACrB,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAK,cAAY,CAAC,KAAA,UAAU,YAAK,CAAC;GAAA,MAC/B;;GACH,KAAK,OAAK,MAAM,WAAI,CAAC,EAAE,CAAC,IAAI;GAAC;EAC9B,OAAA,KAAA,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;EAAA;;CAEnB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAA;;;EAE5B,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAA,UAAU,eAAa,CAAC,IAAI,CAAC,OAAO,CAAC;GAAA;MAClC,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;EACrC,EAAE,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAA;;GACV,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;GAAA;EAC9B,MAAM,CAAC,IAAI;EAAA;;iBAEK,IAAI,CAAA;;EACpB,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAA,UAAU,eAAa,CAAC,IAAI,CAAC;GAAA;MAC1B,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;EAClC,EAAE,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAA;;GACV,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;GAAA;EACzB,MAAM;EAAA;;kBAEW,OAAO,CAAE,OAAO,CAAA;;EACjC,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAA,UAAU,gBAAc,CAAC,OAAO,CAAC,OAAO,CAAC;GAAA;MACtC,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;EACrC,KAAA,UAAU,CAAA,GAAI,CAAC,GAAG,OAAO;;;EAGzB,MAAM,CAAC,OAAO;EAAA;;gBAEC,MAAM,CAAE,MAAM,CAAA;;;MAEzB,IAAI,GAAG,KAAA,UAAU;;EAErB,EAAE,GAAC,KAAA,UAAU,IAAI,MAAM,MAApB,KAAA,UAAU,GAAI,MAAM,iBAAA;;;;GAGtB,EAAE,aAAK,EAAA;;IACN,MAAM,cAAO,cAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IAAA;;GAEzC,GAAG,2BAAS,KAAA,UAAU,kCAAA;QAAlB,IAAI;IACP,IAAI,cAAY,CAAC,MAAM,CAAC,MAAM,CAAC;IAAA;GAAA;EACjC,MAAM,CAAC,IAAI;EAAA;;iBAEK,IAAI,CAAE,MAAM,CAAA;;;;;MAIxB,GAAG,GAAG,IAAI,cAAY,CAAC,MAAM,YAAK,CAAC;oBAC5B,CAAC,MAAM,CAAC;EACnB,OAAA,GAAG;EAAA;;iBAEa,IAAI,CAAC,OAAO,CAAA;;EAC5B,EAAE,EAAC,KAAA,UAAU,EAAA;;GACZ,KAAA,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAK,CAAC;GAAA;;EAEnC,EAAE,EAAC,OAAO,EAAA;;OACL,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;;GAErC,EAAE,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAA;;IACV,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAAA;GAAA,MAC3B;;GACH,KAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;GAAA;EACtB,MAAM,CAAC,IAAI;;;;EAGgB;;gBAEZ,MAAM,CAAA;;EACrB,GAAG,2BAAS,KAAA,UAAU,oCAAA;OAAlB,IAAI;;;GAEP,IAAI,cAAY,CAAC,MAAM,CAAC;GAAA;EACA,EAAE,aAAK,eAA5B,cAAY,CAAC,MAAM,CAAC,EAAA;EACxB,KAAA,UAAU,GAAG,IAAI;EACjB,OAAA,IAAI;EAAA;;gBAEW,IAAI,CAAE,CAAC,CAAE,IAAI,CAAA;;MACxB,GAAG,GAAG,KAAA,UAAU;MAChB,IAAI,GAAG,OAAO,IAAI;;EAEtB,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;GACvC,EAAE,EAAC,IAAI,CAAC,EAAG,CAAC,CAAA,IAAI,YAAK,OAAO,CAAA,EAAC;;IAC5B,MAAM,CAAC,IAAI;IAAA;;OAER,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;;GAE1B,EAAE,EAAC,IAAI,EAAA;;QACF,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,EAAE,EAAC,GAAG,EAAA;;KACL,IAAI,eAAa,CAAC,EAAE,CAAC,GAAG,CAAC;KAAA;;IAE1B,MAAM,CAAC,EAAE;IAAA;;GAEV,KAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;GACM,EAAE,EAAC,GAAG,EAA/B,EAAA,EAAE,cAAY,CAAC,GAAG,YAAK,CAAC,EAAA;GACxB,MAAM,CAAC,EAAE;;GAC6D;;EAEvE,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAA;;GACf,MAAM,CAAC,IAAI;GAAA;;EAEZ,EAAE,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAA;;OACf,GAAG;OACH,GAAG,GAAG,IAAI;;GAEd,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,cAAc,CAAC,GAAG,CAAC;SACrB,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;KAClC,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;KACD,EAAE,EAAC,GAAG,EAAjC,EAAA,IAAI,eAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;KAC1B,MAAM,CAAC,GAAG;KAAA;IAAA,MACR;;IACH,KAAA,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;;IAEhB,EAAE,EAAC,GAAG,EAAhC,EAAA,GAAG,cAAY,CAAC,GAAG,YAAK,CAAC,EAAA;IACzB,MAAM,CAAC,GAAG;IAAA;GAAA,MAEZ,EAAA,EAAK,IAAI,EAAA;;OACJ,GAAG,GAAG,KAAA,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;GAClC,KAAA,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;GACD,EAAE,EAAC,GAAG,EAAlC,EAAA,IAAI,eAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;GAC3B,MAAM,CAAC,IAAI;GAAA,MACR;;GACH,KAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;GACM,EAAE,EAAC,GAAG,EAAjC,EAAA,IAAI,cAAY,CAAC,GAAG,YAAK,CAAC,EAAA;GAC1B,MAAM,CAAC,IAAI;GAAA;EAAA;;;AAAA,CAAA;;AAEd,MAAM,CAAC,QAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAE,GAAG,CAAA;;OACpC,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAE,GAAG,CAAC;CAC7C,MAAM,CAAC,EAAE;CAAA;;AAEV,MAAM,CAAC,QAAG,CAAC,UAAU,CAAC,QAAQ,CAAE,GAAG,CAAA;;OAC5B,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAE,IAAI,CAAC;CAC9C,EAAE,OAAK,GAAG,GAAG;;;CAGb,MAAM,CAAC,EAAE;CAAA;;AAEH,KAAK,CAAC,KAAI,EAAA;;4BACY,IAAI,CAAA;;MAC3B,GAAG,0BAAmB,KAAK,EAAE;SACjC,GAAG,CAAA,IAAK,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;EAAA;;uBAEV,IAAI,CAAE,OAAO,CAAA;;MAC/B,GAAG,0BAAmB;EAC1B,MAAM,CAAC,GAAG,CAAC,EAAG,CAAC,GAAG,CAAA,IAAK,CAAC,CAAC,EAAE,gBAAS,CAAC,IAAI,CAAC,OAAO,CAAC;EAAA;;aAEtC,IAAI,CAAE,OAAO,CAAA;;EACzB,EAAE,GAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAG,CAAC,EAAC,IAAI,CAAC,MAAM,CAAA,EAAE,EAAE,CAAC,EAAC,KAAA,OAAO,CAAA,EAAA;;GAC7C,MAAM,CAAC,IAAI;GAAA;EACZ,MAAM,CAAC,KAAA,OAAO,CAAA,IAAK,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;EAAA;;;AAAA;UAZhC,IAAI;AAY4B;AAC7C;"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file