@webqit/oohtml 4.3.2 → 4.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- (()=>{function At(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function it(n,t,r,e=!0){r=(Array.isArray(r)?r:[r]).map(s=>(s+"").replace("(",e?"(.//":"(./")).join("|");let i=[],o;try{let s=n.document.evaluate(r,t,null,n.XPathResult.ANY_TYPE);for(;o=s.iterateNext();)i.push(o)}catch{}return i}function St(n,t,r){r=(Array.isArray(r)?r:[r]).map(e=>(e+"").replace("(","(self::")).join("|");try{return n.document.evaluate(`${r}`,t,null,n.XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function Q(n,t,r,e=!1){let i=t.getRootNode(),o=r.getRootNode();return i===o?t.contains(r):e&&o instanceof n.ShadowRoot?Q(n,t,o.host,e):!1}function Et(n,t="|"){return[...n].reduce(([r,e,i,o],s)=>!r&&e===0&&(Array.isArray(t)?t:[t]).includes(s)?[r,e,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&e++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&e--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,e,i]),[null,0,[""]])[2].reverse()}function x(n){return!Array.isArray(n)&&typeof n=="object"&&n}function y(n){return Array.isArray(n)}function mt(n,t,r=null){return y(t)?n.filter(e=>r?t.filter(i=>r(e,i)).length:t.indexOf(e)!==-1):[]}function E(n,...t){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new J}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new J,globalThis.webqit.refs.set(n,r));let e,i;for(;e=t.shift();)(i=r)&&!(r=r.get(e))&&(r=new J,i.set(e,r));return r}var J=class extends Map{constructor(...t){super(...t),this.observers=new Set}set(t,r){let e=super.set(t,r);return this.fire("set",t,r,t),e}delete(t){let r=super.delete(t);return this.fire("delete",t),r}has(t){return this.fire("has",t),super.has(t)}get(t){return this.fire("get",t),super.get(t)}keyNames(){return Array.from(super.keys())}observe(t,r,e){let i={type:t,key:r,callback:e};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(t,r,e){if(Array.isArray(t)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(ot([t,"*"],i.type)&&ot([r,"*"],i.key)&&i.callback===e)||this.observers.delete(i)}fire(t,r,...e){for(let i of this.observers)!(ot([t,"*"],i.type)&&ot([r,"*"],i.key))||i.callback(...e)}},ot=(n,t)=>Array.isArray(t)?mt(n,t).length:n.includes(t);function V(n){return typeof n=="function"}function Y(n){return n===null||n===""}function k(n){return arguments.length&&(n===void 0||typeof n>"u")}function O(n){return Array.isArray(n)||typeof n=="object"&&n||V(n)}function dt(n){return Y(n)||k(n)||n===!1||n===0||O(n)&&!Object.keys(n).length}function w(n){return V(n)||n&&{}.toString.call(n)==="[object function]"}function Z(n){return n instanceof Number||typeof n=="number"}function C(n){return Z(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function G(n){return n instanceof String||typeof n=="string"&&n!==null}function pt(n){return!G(n)&&!k(n.length)}function st(n,...t){return t.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function ht(e,t){t=t||Object.prototype,t=t&&!y(t)?[t]:t;for(var r=[],e=e;e&&(!t||t.indexOf(e)<0)&&e.name!=="default";)r.push(e),e=e?Object.getPrototypeOf(e):null;return r}function gt(n,t){var r=[];return ht(n,t).forEach(e=>{st(r,...Object.getOwnPropertyNames(e))}),r}function M(n,t,r=!1,e=!1,i=!1){var o=0,s=n.shift();if((C(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((l,u)=>{!O(l)&&!w(l)||(r?gt(l):Object.keys(l)).forEach(c=>{if(!!t(c,s,l,u)){var a=s[c],m=l[c];if((y(a)&&y(m)||x(a)&&x(m))&&(o===!0||o>0))s[c]=y(a)&&y(m)?[]:{},M([C(o)?o-1:o,s[c],a,m],t,r,e,i);else if(y(s)&&y(l))e?s[c]=m:s.push(m);else try{i?Object.defineProperty(s,c,Object.getOwnPropertyDescriptor(l,c)):s[c]=l[c]}catch{}}})}),s}function K(...n){return M(n,(t,r,e)=>!0,!1,!1,!1)}function A(n,t=!0){return y(n)?n:!t&&x(n)?[n]:n!==!1&&n!==0&&dt(n)?[]:pt(n)?Array.prototype.slice.call(n):x(n)?Object.values(n):[n]}function tt(n,t,r={},e={}){t=A(t).slice();for(var i=n;!k(i)&&!Y(i)&&t.length;){var o=t.shift();if(!(r.get?r.get(i,o):O(i)?o in i:i[o])){e.exists=!1;return}i=r.get?r.get(i,o):i[o]}return e.exists=!0,i}function yt(n,t,r,e={},i={}){let o=(a,m,f)=>i.set?i.set(a,m,f):(C(t[l])&&y(a)?a.push(f):a[m]=f,!0);t=A(t);for(var s=n,l=0;l<t.length;l++)if(l<t.length-1){if(!s||!O(s)&&!w(s))return!1;var u=tt(s,t[l],i);if(!O(u)){if(i.buildTree===!1)return!1;u=w(i.buildTree)?i.buildTree(l):C(t[l+1])?[]:{};var c=o(s,t[l],u);if(!c)return!1}s=u}else return o(s,t[l],r)}var et=class{constructor(t,r=!1){Object.defineProperty(this,"window",{value:t}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!r&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(t){this._synthesis++,this._fulfill();let r=await t();return this._synthesis--,r}_fulfill(){for(let t of this.readCallbacks)t(),this.readCallbacks.delete(t);for(let t of this.writeCallbacks)t(),this.writeCallbacks.delete(t)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(t,r=!1){if(r)return new Promise(e=>{this.synthesis?e(t()):this.readCallbacks.add(()=>{e(t())})});this.synthesis?Promise.resolve().then(t):this.readCallbacks.add(t)}onwrite(t,r=!1){if(r)return new Promise(e=>{this.synthesis?e(t()):this.writeCallbacks.add(()=>{e(t())})});this.synthesis?Promise.resolve().then(t):this.writeCallbacks.add(t)}cycle(t,r,e){this.onread(()=>{let i=t(e),o=s=>{s!==void 0&&this.onwrite(()=>{let l=r(s,e),u=c=>{c!==void 0&&this.cycle(t,r,c)};l instanceof Promise?l.then(u):u(l)})};i instanceof Promise?i.then(o):o(i)})}};var I=class{constructor(t){this.content=t,this.type=typeof t=="string"?"selector":"instance",this.kind=this.type==="instance"?null:At(t)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=Et(t.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var R=class{constructor(t,r,e){this.context=t,this.namespace=r,this.window=t.defaultView||t.ownerDocument?.defaultView||e,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(t){if(w(t[0])?t=[[],...t]:x(t[0])&&!(t[0]instanceof I)&&t.length===1?t=[[],void 0,t[0]]:x(t[1])&&t.length===2?t=[A(t[0],!1),void 0,t[1]]:t[0]=A(t[0],!1),t[0].filter(r=>typeof r!="string"&&!(r instanceof I)&&!(r instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return t[0]=t[0].map(r=>r instanceof I?r:new I(r)),t}registry(...t){return E("realdom.realtime",this.window,this.namespace,...t)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}dispatchBatch=new Set;dispatchBatchControl=new Set;forEachMatchingContext(t,r,e){let{window:i}=this,o=Array.isArray(r)?r:[r],s=this.dispatchBatch.size;for(let[l,u]of this.registry(t))for(let[c,a]of u){let m=o.filter(f=>Q(i,c,f.target,l==="cross-roots")?["subtree","cross-roots"].includes(l)||f.target===c:!1);if(!!m.length){Array.isArray(r)||(m=m[0]);for(let f of a)(!this.dispatchBatchControl.has(f)||f.params.recursiveOk||this.type==="attr")&&(this.dispatchBatch.add([f,m,c]),this.dispatchBatchControl.add(f))}}if(!s)for(let l of this.dispatchBatch){let[u,c,a]=l;e.call(i,u,c,a),this.dispatchBatchControl.delete(u),this.dispatchBatch.delete(l)}}disconnectables(t,...r){let e={disconnect(){r.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||x(i)&&(i.disconnected=!0))}};return t&&t.addEventListener("abort",()=>e.disconnect()),e}};var j=class extends R{type="attr";constructor(t,...r){super(t,"attr",...r)}get(t,r=void 0,e={}){let i=typeof t=="string"||t instanceof I;[t=[],r=void 0,e={}]=this.resolveArgs(arguments);let{context:o}=this,s=Lt(o,t);if(!r)return s;let l=e.lifecycleSignals&&this.createSignalGenerator();if(i)for(let u of s){let c=l?.generate()||{};r(u,c,o)}else{let u=l?.generate()||{};r(s,u,o)}if(e.live){l&&(e={...e,signalGenerator:l});let u=this.observe(i?t[0]:t,r,{newValue:!0,...e});return this.disconnectables(e.signal,u)}}observe(t,r,e={}){let i=typeof t=="string"||t instanceof I;if([t=[],r,e={}]=this.resolveArgs(arguments),["sync","intercept"].includes(e.timing))return this.observeSync(i?t[0]:t,r,e);if(e.timing&&e.timing!=="async")throw new Error(`Timing option "${e.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;e.eventDetails&&!l.realdom.attrInterceptionHooks?.intercepting&&kt.call(s,"intercept",()=>{});let u=new s.MutationObserver(f=>{f=Ht(f).map(p=>Dt.call(s,p)),Pt.call(s,m,f,o)}),c={attributes:!0,attributeOldValue:e.oldValue,subtree:e.subtree&&!0};t.length&&(c.attributeFilter=t.map(f=>f+"")),u.observe(o,c);let a=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:t,callback:r,params:e,atomics:new Map,originalFilterIsString:i,signalGenerator:a,disconnectable:u};return this.disconnectables(e.signal,u,a)}observeSync(t,r,e={}){let i=typeof t=="string"||t instanceof I;[t,r,e={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(e.timing&&!["sync","intercept"].includes(e.timing))throw new Error(`Timing option "${e.timing}" invalid.`);let l=e.timing==="intercept"?"intercept":"sync",u=e.subtree==="cross-roots"?"cross-roots":e.subtree?"subtree":"children";this.registry(l).size||kt.call(s,l,_=>{this.forEachMatchingContext(l,_,Pt)});let c={disconnect(){p.delete(m),p.size||f.delete(o)}},a=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:t,callback:r,params:e,atomics:new Map,originalFilterIsString:i,signalGenerator:a,disconnectable:c},f=this.registry(l,u);f.has(o)||f.set(o,new Set);let p=f.get(o);return p.add(m),this.disconnectables(e.signal,c,a)}};function Ht(n){return n.reduce((t,r,e)=>t[e-1]?.attributeName===r.attributeName||E(r.target,"internalAttrInteractions").get(r.attributeName)?t:t.concat(r),[])}function Pt(n,t){let{context:r,spec:e,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:u}=n,c=e.map(f=>f+"");if(o.atomic&&!s.size?t=Lt(r,e,t):o.timing!=="async"&&e.length&&(t=t.filter(f=>c.includes(f.name))),!t.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(t=t.map(f=>{let p;return o.eventDetails||({event:p,...f}=f),!o.oldValue&&"oldValue"in f&&({oldValue:p,...f}=f),!o.newValue&&"value"in f?{value:p,...f}=f:o.newValue&&typeof f.value>"u"&&(f={...f,value:ft(f.target,f.name,()=>f.target.getAttribute(f.name))}),f})),o.atomic&&(t.forEach(f=>s.set(f.name,f)),t=Array.from(s.entries()).map(([,f])=>f));let a=l?t[0]:t,m=u?.generate()||{};i(a,m,r)}function ft(n,t,r){let e=E(n,"internalAttrInteractions").get(t);E(n,"internalAttrInteractions").set(t,!0);let i=r();return E(n,"internalAttrInteractions").set(t,e),i}function Lt(n,t,r=[]){let e={event:null,type:"attribute"};return t.length?t.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:ft(n,o,()=>n.getAttribute(o)),...e})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:ft(n,o.nodeName,()=>o.nodeValue),...e})}function Dt({target:n,attributeName:t,value:r,oldValue:e}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[t]?.[0]||"mutation";return{target:n,name:t,value:r,oldValue:e,type:"observation",event:s}}function kt(n,t){let r=this,{webqit:e,document:i,Element:o}=r;e.realdom.attrInterceptionHooks||Object.defineProperty(e.realdom,"attrInterceptionHooks",{value:new Map}),e.realdom.attrInterceptionHooks.has(n)||e.realdom.attrInterceptionHooks.set(n,new Set),e.realdom.attrInterceptionHooks.get(n).add(t);let s=()=>e.realdom.attrInterceptionHooks.get(n).delete(t);if(e.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),e.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(e.realdom,"attrInterceptionRecords",{value:new Map});let l=(a,m)=>{e.realdom.attrInterceptionRecords.has(a.target)||e.realdom.attrInterceptionRecords.set(a.target,{});let f=e.realdom.attrInterceptionRecords.get(a.target);if(f[a.name]=f[a.name]||[],f[a.name].unshift(a.event),E(a.target,"internalAttrInteractions").get(a.name))return m();e.realdom.attrInterceptionHooks.get("intercept")?.forEach(_=>_([a]));let p=m();return e.realdom.attrInterceptionHooks.get("sync")?.forEach(_=>_([a])),p};new r.MutationObserver(a=>{a=a.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),a=Ht(a).map(m=>Dt.call(r,m)),a.length&&(e.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(a)),e.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(a)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(a=>{c[a]=o.prototype[a],o.prototype[a]=function(...m){let f,p=ft(this,m[0],()=>this.getAttribute(m[0]));["setAttribute","toggleAttribute"].includes(a)&&(f=m[1]),a==="toggleAttribute"&&f===void 0&&(f=p===null);let _={target:this,name:m[0],value:f,oldValue:p,type:"interception",event:[this,a]};return l(_,()=>c[a].call(this,...m))}}),s}var rt=class extends R{constructor(t,...r){super(t,"tree",...r)}attr(t,r=void 0,e={}){let{context:i,window:o}=this;return new j(i,o).get(...arguments)}query(t,r=void 0,e={}){[t,r=void 0,e={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=c=>(o.has(c)||o.set(c,{target:c,entrants:[],exits:[],type:"query",event:null}),o.get(c));if(!e.generation||e.generation==="entrants"){if(!t.length)[...i.children].forEach(c=>s(i).entrants.push(c));else if(t.every(c=>c.type==="selector")){let[c,a]=t.reduce(([f,p],_)=>_.kind==="xpath"?[f,p.concat(_)]:[f.concat(_),p],[[],[]]),m=[];e.subtree?(c.length&&m.push(...i.querySelectorAll(c.join(","))),a.length&&m.push(...it(this.window,i,a))):(c.length&&m.push(...[...i.children].filter(f=>f.matches(c))),a.length&&m.push(...it(this.window,i,a,!1))),m.forEach(f=>s(f.parentNode||i).entrants.push(f))}}if(!r)return o;let l={disconnected:!1},u=r&&e.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(l.disconnected)break;let a=u?.generate()||{};r(c,a,i)}if(e.live){u&&(e={...e,signalGenerator:u});let c=this.observe(t,r,e);return this.disconnectables(e.signal,l,c)}return this.disconnectables(e.signal,l,u)}children(t,r=void 0,e={}){return[t,r=void 0,e={}]=this.resolveArgs(arguments),this.query(t,r,{...e,subtree:!1})}subtree(t,r=void 0,e={}){return[t,r=void 0,e={}]=this.resolveArgs(arguments),this.query(t,r,{...e,subtree:!0})}observe(t,r,e={}){if([t,r,e={}]=this.resolveArgs(arguments),["sync","intercept"].includes(e.timing))return this.observeSync(t,r,e);if(e.timing&&e.timing!=="async")throw new Error(`Timing option "${e.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;e.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Ft.call(o,"sync",()=>{});let u=new o.MutationObserver(m=>m.forEach(f=>{xt.call(o,a,Bt.call(o,f),i)}));u.observe(i,{childList:!0,subtree:e.subtree&&!0});let c=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),a={context:i,spec:t,callback:r,params:e,signalGenerator:c,disconnectable:u};if(e.staticSensitivity){let m=jt.call(o,a);return this.disconnectables(e.signal,u,c,m)}return this.disconnectables(e.signal,u,c)}observeSync(t,r,e={}){[t,r,e={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(e.timing&&!["sync","intercept"].includes(e.timing))throw new Error(`Timing option "${e.timing}" invalid.`);let s=e.timing==="intercept"?"intercept":"sync",l=e.subtree==="cross-roots"?"cross-roots":e.subtree?"subtree":"children";this.registry(s).size||Ft.call(o,s,_=>{this.forEachMatchingContext(s,_,xt)});let u=new o.MutationObserver(_=>_.forEach(b=>{Array.isArray((b=Bt.call(o,b)).event)||xt.call(o,m,b,i)}));u.observe(i,{childList:!0,subtree:e.subtree&&!0});let c={disconnect(){u.disconnect(),p.delete(m),p.size||f.delete(i)}},a=e.signalGenerator||e.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:t,callback:r,params:e,signalGenerator:a,disconnectable:c},f=this.registry(s,l);f.has(i)||f.set(i,new Set);let p=f.get(i);if(p.add(m),e.staticSensitivity){let _=jt.call(o,m);return this.disconnectables(e.signal,c,a,_)}return this.disconnectables(e.signal,c,a)}track(t,r,e={}){return e={subtree:!0,...e},this.observe(t,i=>{i.entrants.length&&r(!0,Array.isArray(t)?i.entrants:i.entrants[0]),i.exits.length&&r(!1,Array.isArray(t)?i.exits:i.exits[0])},e)}};function jt(n){let t=this,{context:r,spec:e,callback:i,params:o,signalGenerator:s}=n,l=e.filter(p=>p.kind==="css"),u=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],c=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],a=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(_=>_[1]).concat(u(p)).concat(c(p));if(!(n.$attrs=Array.from(new Set(l.filter(p=>(p+"").includes("[")).reduce((p,_)=>p.concat(a(_+"")),[])))).length)return;let m=new Set,f=new Set;return m.push=p=>(f.delete(p),m.add(p)),f.push=p=>(m.delete(p),f.add(p)),n.$deliveryCache={entrants:m,exits:f},new j(r,t).observe(n.$attrs,p=>{let _=new Map,b=g=>(_.has(g)||_.set(g,{target:g,entrants:[],exits:[],type:"static",event:null}),_.get(g)),W=new WeakMap,d=g=>(W.has(g)||W.set(g,l.some(v=>g.matches(v+""))),W.get(g));for(let g of p)["entrants","exits"].forEach(v=>{o.generation&&v!==o.generation||n.$deliveryCache[v].has(g.target)||(v==="entrants"?!d(g.target):d(g.target))||(n.$deliveryCache[v].push(g.target),b(g.target)[v].push(g.target),b(g.target).event=g.event)});for(let[,g]of _){let v=s?.generate()||{};i(g,v,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function xt(n,t){let{context:r,spec:e,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=n,u={...t,entrants:[],exits:[]};if(o.eventDetails||delete u.event,["entrants","exits"].forEach(a=>{if(!(o.generation&&a!==o.generation)&&(e.length?u[a]=ce.call(this,e,o.subtree==="cross-roots",t[a],t.event!=="parse"):u[a]=[...t[a]],!!l))for(let m of u[a])l[a].push(m)}),!u.entrants.length&&!u.exits.length)return;let c=s?.generate()||{};i(u,c,r)}function ce(n,t,r,e){r=Array.isArray(r)?r:[...r];let i=(o,s)=>{if(s.type==="selector"){let l=s.isXpathAttr?[]:o.filter(u=>s.kind==="xpath"?St(this,u,s+""):u.matches&&u.matches(s+""));if((e||s.isXpathAttr)&&(l=o.reduce((u,c)=>s.kind==="xpath"?[...u,...it(this,c,s,e)]:c.querySelectorAll?[...u,...c.querySelectorAll(s+"")]:u,l)),l.length)return l}else if(o.includes(s.content)||e&&o.some(l=>Q(this,l,s.content,t)))return[s.content]};return r.$$searchCache||(r.$$searchCache=new Map),n.reduce((o,s)=>{let l;return r.$$searchCache.has(s.content)?l=r.$$searchCache.get(s.content):(l=i(r,s)||[],s.type==="instance"&&r.$$searchCache.set(s.content,l)),o.concat(l)},[])}function Bt({target:n,addedNodes:t,removedNodes:r}){let e=this,i;return i=A(t).reduce((o,s)=>o||e.webqit.realdom.domInterceptionRecords?.get(s),null),i=A(r).reduce((o,s)=>o||e.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||e.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:t,exits:r,type:"observation",event:i}}function Ft(n,t){let r=this,{webqit:e,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:u,HTMLTemplateElement:c,DocumentFragment:a}=r;e.realdom.domInterceptionHooks||Object.defineProperty(e.realdom,"domInterceptionHooks",{value:new Map}),e.realdom.domInterceptionNoRecurse||Object.defineProperty(e.realdom,"domInterceptionNoRecurse",{value:new Map}),e.realdom.domInterceptionHooks.has(n)||e.realdom.domInterceptionHooks.set(n,new Set),e.realdom.domInterceptionHooks.get(n).add(t);let m=()=>e.realdom.domInterceptionHooks.get(n).delete(t);if(e.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),e.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(e.realdom,"domInterceptionRecords",{value:new Map});let f=(d,g,v)=>{e.realdom.domInterceptionNoRecurse.set(d,g);let h=v();return e.realdom.domInterceptionNoRecurse.delete(d),h},p=(d,g)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(e.realdom.domInterceptionRecords.get(h)?.timeout),e.realdom.domInterceptionRecords.set(h,d.event);let S=setTimeout(()=>{e.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:S,configurable:!0})}),e.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let v=g();return e.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),v},_={ShadowRoot:["innerHTML","setHTMLUnsafe"],DocumentFragment:["replaceChildren","append","prepend"],Document:["replaceChildren","append","prepend"],HTMLElement:["outerText","innerText"],Element:["append","prepend","before","after","insertAdjacentElement","insertAdjacentHTML","remove","replaceChildren","replaceWith","setHTMLUnsafe","innerHTML","outerHTML"],CharacterData:["before","after","remove","replaceWith"],Node:["insertBefore","replaceChild","removeChild","appendChild","textContent","nodeValue"]},b={ShadowRoot:Object.create(null),DocumentFragment:Object.create(null),Document:Object.create(null),HTMLElement:Object.create(null),Element:Object.create(null),CharacterData:Object.create(null),Node:Object.create(null)};return new Set(Object.values(_).reduce((d,g)=>d.concat(g),[])).forEach(d=>{Object.keys(_).forEach(h=>{if(!_[h].includes(d))return;let S=Object.getOwnPropertyDescriptor(r[h].prototype,d);!S||(Object.defineProperty(r[h].prototype,d,"value"in S?{...S,value:g}:{...S,set:v}),b[h][d]=S)});function g(...h){let S=Object.keys(b).find(T=>this instanceof r[T]&&d in b[T]),U=b[S],H=()=>U[d].value.call(this,...h);if(e.realdom.domInterceptionNoRecurse.get(this)===d)return H();let N=[],$=[],L=this;["insertBefore"].includes(d)?$=[h[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?($=[h[1]],["beforebegin","afterend"].includes(h[0])&&(L=this.parentNode)):["setHTMLUnsafe","replaceChildren"].includes(d)?(N=[...this.childNodes],$=d==="replaceChildren"?[...h]:[h[0]]):["replaceWith","remove"].includes(d)?(N=[this],$=d==="replaceWith"?[...h]:[],L=this.parentNode):["replaceChild"].includes(d)?(N=[h[1]],$=[h[0]]):["removeChild"].includes(d)?N=[...h]:($=[...h],["before","after"].includes(d)&&(L=this.parentNode));let nt=d;if(["insertAdjacentHTML","setHTMLUnsafe"].includes(d)){let T=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(h[0])){if(!this.parentNode)return U[d].value.call(this,...h);T=this.parentNode.nodeName}let D=i.createElement(T.includes("-")?"div":T);U.setHTMLUnsafe.value.call(D,$[0],d==="setHTMLUnsafe"?h[1]:{}),$=[...D.childNodes],d==="insertAdjacentHTML"?(nt="insertAdjacentElement",h[1]=new a,f(h[1],"append",()=>h[1].append(...D.childNodes))):(nt="replaceChildren",h=[...D.childNodes])}return p({target:L,entrants:$,exits:N,type:"interception",event:[this,d]},()=>U[nt].value.call(this,...h))}function v(h){let S=Object.keys(b).find(B=>this instanceof r[B]&&d in b[B]),U=b[S],H=()=>U[d].set.call(this,h);if(this instanceof HTMLScriptElement||e.realdom.domInterceptionNoRecurse.get(this)===d)return H();let N=[],$=[],L=this;if(["outerHTML","outerText"].includes(d)?(N=[this],L=this.parentNode):this instanceof c?(L=this.content,N=[...this.content.childNodes]):N=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let B=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return H();B=this.parentNode.nodeName}let T=i.createElement(B.includes("-")?"div":B);if(f(T,d,()=>T[d]=h),$=this instanceof c?[...T.content.childNodes]:[...T.childNodes],this instanceof c&&this.hasAttribute("src")||this instanceof ShadowRoot){let D=F=>F.reduce((q,P)=>P instanceof HTMLScriptElement?q.concat(P):P instanceof c?q.concat(D([P.content])):(q=q.concat(D([...P.querySelectorAll?.("template")||[]].map(Xt=>Xt.content))),q.concat(...P.querySelectorAll?.("script")||[])),[]);for(let F of D($)){if(this instanceof ShadowRoot){F.setAttribute("data-handling","manual");continue}let q=i.createElement("script");[...F.attributes].forEach(P=>q.setAttribute(P.name,P.value)),q.textContent=F.textContent,f(F,"replaceWith",()=>F.replaceWith(q))}}d==="outerHTML"?(h=new a,f(h,"append",()=>h.append(...$)),H=()=>f(this,"replaceWith",()=>l.prototype.replaceWith.call(this,h))):this instanceof c?H=()=>f(this.content,"replaceChildren",()=>this.content.replaceChildren(...$)):H=()=>f(this,"replaceChildren",()=>l.prototype.replaceChildren.call(this,...$))}return p({target:L,entrants:$,exits:N,type:"interception",event:[this,d]},H)}}),m}function Rt(){ae.call(this),ue.call(this),me.call(this)}function ae(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=t=>t.replace(/([\:@\~\$\&])/g,"\\$1"))}function ue(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function me(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(t){for(var r=(this.document||this.ownerDocument).querySelectorAll(t),e=r.length;--e>=0&&r.item(e)!==this;);return e>-1})}function Wt(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},Rt.call(n),n.webqit.realdom.meta=(...r)=>de.call(n,...r),n.webqit.realdom.ready=(...r)=>bt.call(n,...r),n.webqit.realdom.realtime=(r,e="dom")=>{if(e==="dom")return new rt(r,n);if(e==="attr")return new j(r,n)};let t=new et(n);return n.webqit.realdom.schedule=(r,...e)=>t[`on${r}`](...e),n.webqit.realdom.synthesizeWhile=(...r)=>t.synthesizeWhile(...r),n.webqit.realdom}function bt(...n){let t="interactive",r;G(n[0])?(t=n[0],w(n[1])&&(r=n[1])):w(n[0])&&(r=n[0]);let e={interactive:["interactive","complete"],complete:["complete"]};if(!e[t])throw new Error(`Invalid ready-state timing: ${t}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>bt.call(this,"interactive",o)),complete:new Promise(o=>bt.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[t];if(e[t].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[t].push(r)}function de(n){let t=this,r={},e;return(e=t.document.querySelector(`meta[name="${n}"]`))&&(r=(e.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return yt(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:C(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return e.content},json(){return JSON.parse(JSON.stringify(r))}}}function ct(n,t){return typeof n!="string"?n:n.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+(typeof t!==void 0&&t?r.substr(1).toLowerCase():r.substr(1))})}var z=(...n)=>E("oohtml",...n),ge={};function Vt(n,t,r){let e=this,i=Wt.call(e);ge.window=e,e.webqitConfig||(e.webqitConfig=i.meta("webqit").json()),e.webqit||(e.webqit={}),e.webqit.oohtml||(e.webqit.oohtml={}),e.webqit.oohtml.configs||(e.webqit.oohtml.configs={});let o=n.toUpperCase().replace("-","_");if(!e.webqit.oohtml.configs[o]){e.webqit.oohtml.configs[o]={};let s=e.webqit.oohtml.configs[o];K(2,s,r,t,i.meta(n).json()),e.webqitConfig.prefix&&Object.keys(s).forEach(l=>{Object.keys(s[l]).forEach(u=>{l==="api"&&typeof s[l][u]=="string"?s[l][u]=`${e.webqitConfig.prefix}${ct(s[l][u])}`:["attr","elements"].includes(l)&&s[l][u]?.startsWith("data-")===!1&&(s[l][u]=`${e.webqitConfig.prefix}-${s[l][u]}`)})})}return{config:e.webqit.oohtml.configs[o],realdom:i,window:e}}function at(n,t){return[...n].reduce(([r,e,i],o)=>!r&&e===0&&(Array.isArray(t)?t:[t]).includes(o)?[r,e,[""].concat(i)]:(!r&&["(","[","{"].includes(o)&&!i[0].endsWith("\\")&&e++,!r&&[")","]","}"].includes(o)&&!i[0].endsWith("\\")&&e--,['"',"'","`"].includes(o)&&!i[0].endsWith("\\")&&(r=r===o?null:r||o),i[0]+=o,[r,e,i]),[null,0,[""]])[2].reverse()}function Ot(n={}){let{config:t,window:r}=Vt.call(this,"data-binding",n,{attr:{render:"render",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:t.CONTEXT_API,BINDINGS_API:t.BINDINGS_API,HTML_IMPORTS:t.HTML_IMPORTS}=r.webqit.oohtml.configs),t.attrSelector=`[${r.CSS.escape(t.attr.render)}]`;let e=(i,o)=>{let s=`starts-with(., "${i}")`,l=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${l}`};t.discreteBindingsSelector=`comment()[${e(t.tokens.tagStart,t.tokens.tagEnd)}]`,_e.call(r,t)}function _e(n){let t=this,{webqit:{realdom:r}}=t;r.realtime(t.document).query(n.attrSelector,e=>{Gt.call(this,...e.exits),be.call(t,n,...e.entrants)},{id:"data-binding:attr",live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0,staticSensitivity:!0}),r.realtime(t.document).query(`(${n.discreteBindingsSelector})`,e=>{Gt.call(this,...e.exits),we.call(t,n,...e.entrants)},{id:"data-binding:descrete",live:!0,subtree:"cross-roots",timing:"sync"})}function zt(n,t){let{webqit:{realdom:r,Observer:e,DOMBindingsContext:i}}=this;if(z(t).has("data-binding"))return z(t).get("data-binding");let o=Object.create(null),s=new AbortController;o.$exec__=(u,c,...a)=>{(()=>{try{u[c](...a)}catch(f){console.error(`Error executing "${c}": ${f.message} at ${f.cause}`)}})()},o.$assign__=(u,c,a)=>{(()=>{try{u[c]=a}catch(f){console.error(`${f.message} at ${f.cause}`)}})()},e.intercept(o,{get:(u,c,a)=>{if(!(u.key in o)){let m={...i.createRequest(u.key),live:!0,signal:s.signal};t[n.CONTEXT_API.api.contexts].request(m,f=>{e.set(o,u.key,f)})}return a(o[u.key]??(u.key in globalThis?globalThis[u.key]:void 0))},has:(u,c,a)=>a(!0)});let l={scope:o,abortController:s,bindings:new Map};return z(t).set("data-binding",l),l}function Gt(...n){for(let t of n){let r=t.nodeName==="#text"?t.parentNode:t,{bindings:e,abortController:i}=z(r).get("data-binding")||{};if(!e?.has(t))return;e.get(t).state.dispose(),e.get(t).signals?.forEach(o=>o.abort()),e.delete(t),e.size||(i.abort(),z(r).delete("data-binding"))}}function ye(n,t){let r=n.tokens.tagStart.split("").map(c=>`\\${c}`).join(""),e=n.tokens.tagEnd.split("").map(c=>`\\${c}`).join(""),i=n.tokens.stateStart.split("").map(c=>c===" "?"(?:\\s+)?":`\\${c}`).join(""),o=n.tokens.stateEnd.split("").map(c=>`\\${c}`).join(""),s=`^${r}(.*?)(?:${i}(\\d+)${o}(?:\\s+)?)?${e}$`,[,l,u]=t.match(new RegExp(s));return{raw:t,expr:l,span:parseInt(u??0)}}async function we(n,...t){let r=this,e=t.reduce((i,o)=>{if(o.isBound)return i;let s=ye(n,o.nodeValue),l=o;if(s.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<s.span)return i;l.nodeValue.length>s.span&&l.splitText(s.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let u=o;return r.webqit.env!=="server"&&(u.remove(),u=null),i.concat({textNode:l,template:s,anchorNode:u})},[]);for(let{textNode:i,template:o,anchorNode:s}of e){let l=xe.call(r,n,o.expr),{scope:u,bindings:c}=zt.call(this,n,i.parentNode);Object.defineProperty(i,"$oohtml_internal_databinding_anchorNode",{value:s,configurable:!0});try{c.set(i,{state:await(await l.bind(i,u)).execute()})}catch(a){console.log(a)}}}var vt=new Map;function xe(n,t){if(vt.has(t))return vt.get(t);let r=`let content = ((${t}) ?? '') + '';`;r+="$assign__(this, 'nodeValue', content);",r+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${n.tokens.tagStart}${X(t)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:e}}=this,i=new e(r);return vt.set(t,i),i}async function be(n,...t){for(let r of t){let e=ve.call(this,n,r.getAttribute(n.attr.render)),{scope:i,bindings:o}=zt.call(this,n,r),s=[];Object.defineProperty(r,"$oohtml_internal_databinding_signals",{value:s,configurable:!0});try{o.set(r,{signals:s,state:await(await e.bind(r,i)).execute()})}catch(l){console.log(l)}}}var $t=new Map;function ve(n,t){if($t.has(t))return $t.get(t);let r={},e=-1,i=at(t,";").map(l=>{let[u,c]=at(l,":").map(_=>_.trim()),a=u[0],m=u.slice(1).trim(),f=`(${c})`,p=`(${f} ?? '')`;if(a==="&")return m.startsWith("--")?`$exec__(this.style, 'setProperty', "${X(m)}", ${p});`:`$assign__(this.style, "${X(m)}", ${p});`;if(a==="%")return`$exec__(this.classList, 'toggle', "${X(m)}", !!${f});`;if(a==="~")return m.startsWith("?")?`$exec__(this, 'toggleAttribute', "${X(m.substring(1).trim())}", !!${f});`:`$exec__(this, 'setAttribute', "${X(m)}", ${p});`;if(a==="#"){if(r[m])throw new Error(`Duplicate binding: ${u}.`);if(r[m]=!0,m==="text")return`$assign__(this, 'textContent', ${p});`;if(m==="html")return`$exec__(this, 'setHTMLUnsafe', ${p});`;if(m==="items"){let[_,b]=at(c,"/");if(!b)throw new Error(`Invalid ${a}items spec: ${l}; no import specifier.`);let[W,d,g,v]=_.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!W)throw new Error(`Invalid ${a}items spec: ${l}.`);if(d.startsWith("(")?d=d.trim().slice(1,-1).split(",").map(S=>S.trim()):d=[d],d.length>(g==="in"?3:2))throw new Error(`Invalid ${a}items spec: ${l}.`);let h=g==="in"?d[2]:d[1]||"$index__";return`
2
- let $iteratee__ = ${v};
3
- let $import__ = this.${n.HTML_IMPORTS.api.import}( ${b.trim()}, true );
1
+ (()=>{function Ae(n){return(n=n.trim())&&n.startsWith("(")&&n.endsWith(")")}function ie(n,e,r,t=!0){r=(Array.isArray(r)?r:[r]).map(s=>(s+"").replace("(",t?"(.//":"(./")).join("|");let i=[],o;try{let s=n.document.evaluate(r,e,null,n.XPathResult.ANY_TYPE);for(;o=s.iterateNext();)i.push(o)}catch{}return i}function Se(n,e,r){r=(Array.isArray(r)?r:[r]).map(t=>(t+"").replace("(","(self::")).join("|");try{return n.document.evaluate(`${r}`,e,null,n.XPathResult.BOOLEAN_TYPE).booleanValue}catch{}}function z(n,e,r,t=!1,i=null){let o=i?.get(e)?.get(r);if(typeof o<"u")return o;let s=f=>(i?.has(e)||i?.set(e,new WeakMap),i?.get(e)?.set(r,f),f),l=e.getRootNode(),a=r.getRootNode();return l===a?s(e.contains(r)):t&&a instanceof n.ShadowRoot?s(z(n,e,a.host,t,i)):s(!1)}function Ee(n,e="|"){return[...n].reduce(([r,t,i,o],s)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(r=r===s?null:r||s),i[0]+=s,[r,t,i]),[null,0,[""]])[2].reverse()}function x(n){return!Array.isArray(n)&&typeof n=="object"&&n}function _(n){return Array.isArray(n)}function me(n,e,r=null){return _(e)?n.filter(t=>r?e.filter(i=>r(t,i)).length:e.indexOf(t)!==-1):[]}function E(n,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new J}),!arguments.length)return globalThis.webqit.refs;let r=globalThis.webqit.refs.get(n);r||(r=new J,globalThis.webqit.refs.set(n,r));let t,i;for(;t=e.shift();)(i=r)&&!(r=r.get(t))&&(r=new J,i.set(t,r));return r}var J=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,r){let t=super.set(e,r);return this.fire("set",e,r,e),t}delete(e){let r=super.delete(e);return this.fire("delete",e),r}has(e){return this.fire("has",e),super.has(e)}get(e){return this.fire("get",e),super.get(e)}keyNames(){return Array.from(super.keys())}observe(e,r,t){let i={type:e,key:r,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,r,t){if(Array.isArray(e)||Array.isArray(r))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,r,...t){for(let i of this.observers)!(oe([e,"*"],i.type)&&oe([r,"*"],i.key))||i.callback(...t)}},oe=(n,e)=>Array.isArray(e)?me(n,e).length:n.includes(e);function V(n){return typeof n=="function"}function Y(n){return n===null||n===""}function k(n){return arguments.length&&(n===void 0||typeof n>"u")}function $(n){return Array.isArray(n)||typeof n=="object"&&n||V(n)}function de(n){return Y(n)||k(n)||n===!1||n===0||$(n)&&!Object.keys(n).length}function w(n){return V(n)||n&&{}.toString.call(n)==="[object function]"}function Z(n){return n instanceof Number||typeof n=="number"}function I(n){return Z(n)||n!==!0&&n!==!1&&n!==null&&n!==""&&!isNaN(n*1)}function G(n){return n instanceof String||typeof n=="string"&&n!==null}function pe(n){return!G(n)&&!k(n.length)}function se(n,...e){return e.forEach(r=>{n.indexOf(r)<0&&n.push(r)}),n}function he(t,e){e=e||Object.prototype,e=e&&!_(e)?[e]:e;for(var r=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)r.push(t),t=t?Object.getPrototypeOf(t):null;return r}function ge(n,e){var r=[];return he(n,e).forEach(t=>{se(r,...Object.getOwnPropertyNames(t))}),r}function N(n,e,r=!1,t=!1,i=!1){var o=0,s=n.shift();if((I(s)||s===!0||s===!1)&&(o=s,s=n.shift()),!n.length)throw new Error("_merge() requires two or more array/objects.");return n.forEach((l,a)=>{!$(l)&&!w(l)||(r?ge(l):Object.keys(l)).forEach(f=>{if(!!e(f,s,l,a)){var c=s[f],m=l[f];if((_(c)&&_(m)||x(c)&&x(m))&&(o===!0||o>0))s[f]=_(c)&&_(m)?[]:{},N([I(o)?o-1:o,s[f],c,m],e,r,t,i);else if(_(s)&&_(l))t?s[f]=m:s.push(m);else try{i?Object.defineProperty(s,f,Object.getOwnPropertyDescriptor(l,f)):s[f]=l[f]}catch{}}})}),s}function K(...n){return N(n,(e,r,t)=>!0,!1,!1,!1)}function O(n,e=!0){return _(n)?n:!e&&x(n)?[n]:n!==!1&&n!==0&&de(n)?[]:pe(n)?Array.prototype.slice.call(n):x(n)?Object.values(n):[n]}function ee(n,e,r={},t={}){e=O(e).slice();for(var i=n;!k(i)&&!Y(i)&&e.length;){var o=e.shift();if(!(r.get?r.get(i,o):$(i)?o in i:i[o])){t.exists=!1;return}i=r.get?r.get(i,o):i[o]}return t.exists=!0,i}function ye(n,e,r,t={},i={}){let o=(c,m,u)=>i.set?i.set(c,m,u):(I(e[l])&&_(c)?c.push(u):c[m]=u,!0);e=O(e);for(var s=n,l=0;l<e.length;l++)if(l<e.length-1){if(!s||!$(s)&&!w(s))return!1;var a=ee(s,e[l],i);if(!$(a)){if(i.buildTree===!1)return!1;a=w(i.buildTree)?i.buildTree(l):I(e[l+1])?[]:{};var f=o(s,e[l],a);if(!f)return!1}s=a}else return o(s,e[l],r)}var te=class{constructor(e,r=!1){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),Object.defineProperty(this,"_synthesis",{value:0,writable:!0}),!r&&this.window.requestAnimationFrame?this._loop():this._synthesis++}get synthesis(){return this._synthesis}async synthesizeWhile(e){this._synthesis++,this._fulfill();let r=await e();return this._synthesis--,r}_fulfill(){for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e)}_loop(){this.window.requestAnimationFrame(()=>{this._fulfill(),this._loop()})}onread(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.readCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.readCallbacks.add(e)}onwrite(e,r=!1){if(r)return new Promise(t=>{this.synthesis?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.synthesis?Promise.resolve().then(e):this.writeCallbacks.add(e)}cycle(e,r,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let l=r(s,t),a=f=>{f!==void 0&&this.cycle(e,r,f)};l instanceof Promise?l.then(a):a(l)})};i instanceof Promise?i.then(o):o(i)})}};var C=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:Ae(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=Ee(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var W=class{constructor(e,r,t){this.context=e,this.namespace=r,this.window=e.defaultView||e.ownerDocument?.defaultView||t,this.document=this.window.document,this.webqit=this.window.webqit,Object.defineProperty(this,"#",{value:{}})}resolveArgs(e){if(w(e[0])?e=[[],...e]:x(e[0])&&!(e[0]instanceof C)&&e.length===1?e=[[],void 0,e[0]]:x(e[1])&&e.length===2?e=[O(e[0],!1),void 0,e[1]]:e[0]=O(e[0],!1),e[0].filter(r=>typeof r!="string"&&!(r instanceof C)&&!(r instanceof this.window.Node)).length)throw new Error("Argument #2 must be either a string or a Node object, or a list of those.");return e[0]=e[0].map(r=>r instanceof C?r:new C(r)),e}registry(...e){return E("realdom.realtime",this.window,this.namespace,...e)}createSignalGenerator(){return{generate(){return this.lastController?.abort(),this.lastController=new AbortController,{signal:this.lastController.signal}},disconnect(){this.lastController?.abort()}}}forEachMatchingContext(e,r,t){let{window:i}=this,o=new Set,s=new WeakMap;for(let[l,a]of this.registry(e)){let f=[].concat(r).filter(m=>z(i,l.context,m.target,l.params.subtree==="cross-roots",s));if(!f.length)continue;let c=[l,Array.isArray(r)?f:f[0]];a?o.add(c):t.call(i,...c)}for(let l of o)t.call(i,...l);o.clear()}disconnectables(e,...r){let t={disconnect(){r.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||x(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var D=class extends W{type="attr";constructor(e,...r){super(e,"attr",...r)}get(e,r=void 0,t={}){let i=typeof e=="string"||e instanceof C;[e=[],r=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=Le(o,e);if(!r)return s;let l=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let a of s){let f=l?.generate()||{};r(a,f,o)}else{let a=l?.generate()||{};r(s,a,o)}if(t.live){l&&(t={...t,signalGenerator:l});let a=this.observe(i?e[0]:e,r,{newValue:!0,...t});return this.disconnectables(t.signal,a)}}observe(e,r,t={}){let i=typeof e=="string"||e instanceof C;if([e=[],r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:l}=this;t.eventDetails&&!l.realdom.attrInterceptionHooks?.intercepting&&ke.call(s,"intercept",()=>{});let a=new s.MutationObserver(u=>{u=He(u).map(p=>je.call(s,p)),Pe.call(s,m,u,o)}),f={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree&&!0};e.length&&(f.attributeFilter=e.map(u=>u+"")),a.observe(o,f);let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:c,disconnectable:a};return this.disconnectables(t.signal,a,c)}observeSync(e,r,t={}){let i=typeof e=="string"||e instanceof C;[e,r,t={}]=this.resolveArgs(arguments);let{context:o,window:s}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let l=t.timing==="intercept"?"intercept":"sync";this.registry(l).size||ke.call(s,l,u=>{this.forEachMatchingContext(l,u,Pe)});let a={disconnect(){m.delete(c)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:o,spec:e,callback:r,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:a},m=this.registry(l);return m.set(c,!!c.params.deferred),this.disconnectables(t.signal,a,f)}};function He(n){return n.reduce((e,r,t)=>e[t-1]?.attributeName===r.attributeName||E(r.target,"internalAttrInteractions").get(r.attributeName)?e:e.concat(r),[])}function Pe(n,e){let{context:r,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:l,signalGenerator:a}=n,f=t.map(u=>u+"");if(o.atomic&&!s.size?e=Le(r,t,e):o.timing!=="async"&&t.length&&(e=e.filter(u=>f.includes(u.name))),!e.length)return;o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(u=>{let p;return o.eventDetails||({event:p,...u}=u),!o.oldValue&&"oldValue"in u&&({oldValue:p,...u}=u),!o.newValue&&"value"in u?{value:p,...u}=u:o.newValue&&typeof u.value>"u"&&(u={...u,value:fe(u.target,u.name,()=>u.target.getAttribute(u.name))}),u})),o.atomic&&(e.forEach(u=>s.set(u.name,u)),e=Array.from(s.entries()).map(([,u])=>u));let c=l?e[0]:e,m=a?.generate()||{};i(c,m,r)}function fe(n,e,r){let t=E(n,"internalAttrInteractions").get(e);E(n,"internalAttrInteractions").set(e,!0);let i=r();return E(n,"internalAttrInteractions").set(e,t),i}function Le(n,e,r=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",r.find(s=>s.name===o)||{target:n,name:o,value:fe(n,o,()=>n.getAttribute(o)),...t})):Array.from(n.attributes).map(o=>r.find(s=>s.name===o.nodeName)||{target:n,name:o.nodeName,value:fe(n,o.nodeName,()=>o.nodeValue),...t})}function je({target:n,attributeName:e,value:r,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(n)||{})[e]?.[0]||"mutation";return{target:n,name:e,value:r,oldValue:t,type:"observation",event:s}}function ke(n,e){let r=this,{webqit:t,document:i,Element:o}=r;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(n)||t.realdom.attrInterceptionHooks.set(n,new Set),t.realdom.attrInterceptionHooks.get(n).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(n).delete(e);if(t.realdom.attrInterceptionHooks?.intercepting)return s;console.warn("Attr mutation APIs are now being intercepted."),t.realdom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"attrInterceptionRecords",{value:new Map});let l=(c,m)=>{t.realdom.attrInterceptionRecords.has(c.target)||t.realdom.attrInterceptionRecords.set(c.target,{});let u=t.realdom.attrInterceptionRecords.get(c.target);if(u[c.name]=u[c.name]||[],u[c.name].unshift(c.event),E(c.target,"internalAttrInteractions").get(c.name))return m();t.realdom.attrInterceptionHooks.get("intercept")?.forEach(y=>y([c]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(y=>y([c])),p};new r.MutationObserver(c=>{c=c.filter(m=>!(r.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),c=He(c).map(m=>je.call(r,m)),c.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(c)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(c)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let f=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(c=>{f[c]=o.prototype[c],o.prototype[c]=function(...m){let u,p=fe(this,m[0],()=>this.getAttribute(m[0]));["setAttribute","toggleAttribute"].includes(c)&&(u=m[1]),c==="toggleAttribute"&&u===void 0&&(u=p===null);let y={target:this,name:m[0],value:u,oldValue:p,type:"interception",event:[this,c]};return l(y,()=>f[c].call(this,...m))}}),s}var re=class extends W{constructor(e,...r){super(e,"tree",...r)}attr(e,r=void 0,t={}){let{context:i,window:o}=this;return new D(i,o).get(...arguments)}query(e,r=void 0,t={}){[e,r=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=f=>(o.has(f)||o.set(f,{target:f,entrants:[],exits:[],type:"query",event:null}),o.get(f));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(f=>s(i).entrants.push(f));else if(e.every(f=>f.type==="selector")){let[f,c]=e.reduce(([u,p],y)=>y.kind==="xpath"?[u,p.concat(y)]:[u.concat(y),p],[[],[]]),m=[];t.subtree?(f.length&&m.push(...i.querySelectorAll(f.join(","))),c.length&&m.push(...ie(this.window,i,c))):(f.length&&m.push(...[...i.children].filter(u=>u.matches(f))),c.length&&m.push(...ie(this.window,i,c,!1))),m.forEach(u=>s(u.parentNode||i).entrants.push(u))}}if(!r)return o;let l={disconnected:!1},a=r&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,f]of o){if(l.disconnected)break;let c=a?.generate()||{};r(f,c,i)}if(t.live){a&&(t={...t,signalGenerator:a});let f=this.observe(e,r,t);return this.disconnectables(t.signal,l,f)}return this.disconnectables(t.signal,l,a)}children(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!1})}subtree(e,r=void 0,t={}){return[e,r=void 0,t={}]=this.resolveArgs(arguments),this.query(e,r,{...t,subtree:!0})}observe(e,r,t={}){if([e,r,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,r,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:l}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(l.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Be.call(o,"sync",()=>{});let a=new o.MutationObserver(m=>m.forEach(u=>{xe.call(o,c,Fe.call(o,u),i)}));a.observe(i,{childList:!0,subtree:t.subtree&&!0});let f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,spec:e,callback:r,params:t,signalGenerator:f,disconnectable:a};if(t.staticSensitivity){let m=De.call(o,c);return this.disconnectables(t.signal,a,f,m)}return this.disconnectables(t.signal,a,f)}observeSync(e,r,t={}){[e,r,t={}]=this.resolveArgs(arguments);let{context:i,window:o}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let s=t.timing==="intercept"?"intercept":"sync";this.registry(s).size||Be.call(o,s,u=>{this.forEachMatchingContext(s,u,xe)});let l=new o.MutationObserver(u=>u.forEach(p=>{Array.isArray((p=Fe.call(o,p)).event)||xe.call(o,c,p,i)}));l.observe(i,{childList:!0,subtree:t.subtree&&!0});let a={disconnect(){m.delete(c),l.disconnect()}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,spec:e,callback:r,params:t,signalGenerator:f,disconnectable:a},m=this.registry(s);if(m.set(c,!!c.params.deferred),t.staticSensitivity){let u=De.call(o,c);return this.disconnectables(t.signal,a,f,u)}return this.disconnectables(t.signal,a,f)}track(e,r,t={}){return t={subtree:!0,...t},this.observe(e,i=>{i.entrants.length&&r(!0,Array.isArray(e)?i.entrants:i.entrants[0]),i.exits.length&&r(!1,Array.isArray(e)?i.exits:i.exits[0])},t)}};function De(n){let e=this,{context:r,spec:t,callback:i,params:o,signalGenerator:s}=n,l=t.filter(p=>p.kind==="css"),a=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],f=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],c=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(y=>y[1]).concat(a(p)).concat(f(p));if(!(n.$attrs=Array.from(new Set(l.filter(p=>(p+"").includes("[")).reduce((p,y)=>p.concat(c(y+"")),[])))).length)return;let m=new Set,u=new Set;return m.push=p=>(u.delete(p),m.add(p)),u.push=p=>(m.delete(p),u.add(p)),n.$deliveryCache={entrants:m,exits:u},new D(r,e).observe(n.$attrs,p=>{let y=new Map,A=g=>(y.has(g)||y.set(g,{target:g,entrants:[],exits:[],type:"static",event:null}),y.get(g)),R=new WeakMap,d=g=>(R.has(g)||R.set(g,l.some(b=>g.matches(b+""))),R.get(g));for(let g of p)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||n.$deliveryCache[b].has(g.target)||(b==="entrants"?!d(g.target):d(g.target))||(n.$deliveryCache[b].push(g.target),A(g.target)[b].push(g.target),A(g.target).event=g.event)});for(let[,g]of y){let b=s?.generate()||{};i(g,b,r)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function xe(n,e){let{context:r,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:l}=n,a={...e,entrants:[],exits:[]};if(o.eventDetails||delete a.event,["entrants","exits"].forEach(c=>{if(!(o.generation&&c!==o.generation)&&(t.length?a[c]=ct.call(this,t,o.subtree==="cross-roots",e[c],e.event!=="parse"):a[c]=[...e[c]],!!l))for(let m of a[c])l[c].push(m)}),!a.entrants.length&&!a.exits.length)return;let f=s?.generate()||{};i(a,f,r)}function ct(n,e,r,t){r=Array.isArray(r)?r:[...r];let i=(o,s)=>{if(s.type==="selector"){let l=s.isXpathAttr?[]:o.filter(a=>s.kind==="xpath"?Se(this,a,s+""):a.matches&&a.matches(s+""));if((t||s.isXpathAttr)&&(l=o.reduce((a,f)=>s.kind==="xpath"?[...a,...ie(this,f,s,t)]:f.querySelectorAll?[...a,...f.querySelectorAll(s+"")]:a,l)),l.length)return l}else if(o.includes(s.content)||t&&o.some(l=>z(this,l,s.content,e)))return[s.content]};return r.$$searchCache||(r.$$searchCache=new Map),n.reduce((o,s)=>{let l;return r.$$searchCache.has(s.content)?l=r.$$searchCache.get(s.content):(l=i(r,s)||[],s.type==="instance"&&r.$$searchCache.set(s.content,l)),o.concat(l)},[])}function Fe({target:n,addedNodes:e,removedNodes:r}){let t=this,i;return i=O(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=O(r).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:n,entrants:e,exits:r,type:"observation",event:i}}function Be(n,e){let r=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:l,HTMLElement:a,HTMLTemplateElement:f,DocumentFragment:c}=r;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionNoRecurse||Object.defineProperty(t.realdom,"domInterceptionNoRecurse",{value:new Map}),t.realdom.domInterceptionHooks.has(n)||t.realdom.domInterceptionHooks.set(n,new Set),t.realdom.domInterceptionHooks.get(n).add(e);let m=()=>t.realdom.domInterceptionHooks.get(n).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return m;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let u=(d,g,b)=>{t.realdom.domInterceptionNoRecurse.set(d,g);let h=b();return t.realdom.domInterceptionNoRecurse.delete(d),h},p=(d,g)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let S=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:S,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let b=g();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),b},y={ShadowRoot:["innerHTML","setHTMLUnsafe"],DocumentFragment:["replaceChildren","append","prepend"],Document:["replaceChildren","append","prepend"],HTMLElement:["outerText","innerText"],Element:["append","prepend","before","after","insertAdjacentElement","insertAdjacentHTML","remove","replaceChildren","replaceWith","setHTMLUnsafe","innerHTML","outerHTML"],CharacterData:["before","after","remove","replaceWith"],Node:["insertBefore","replaceChild","removeChild","appendChild","textContent","nodeValue"]},A={ShadowRoot:Object.create(null),DocumentFragment:Object.create(null),Document:Object.create(null),HTMLElement:Object.create(null),Element:Object.create(null),CharacterData:Object.create(null),Node:Object.create(null)};return new Set(Object.values(y).reduce((d,g)=>d.concat(g),[])).forEach(d=>{Object.keys(y).forEach(h=>{if(!y[h].includes(d))return;let S=Object.getOwnPropertyDescriptor(r[h].prototype,d);!S||(Object.defineProperty(r[h].prototype,d,"value"in S?{...S,value:g}:{...S,set:b}),A[h][d]=S)});function g(...h){let S=Object.keys(A).find(T=>this instanceof r[T]&&d in A[T]),U=A[S],H=()=>U[d].value.call(this,...h);if(t.realdom.domInterceptionNoRecurse.get(this)===d)return H();let M=[],v=[],L=this;["insertBefore"].includes(d)?v=[h[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?(v=[h[1]],["beforebegin","afterend"].includes(h[0])&&(L=this.parentNode)):["setHTMLUnsafe","replaceChildren"].includes(d)?(M=[...this.childNodes],v=d==="replaceChildren"?[...h]:[h[0]]):["replaceWith","remove"].includes(d)?(M=[this],v=d==="replaceWith"?[...h]:[],L=this.parentNode):["replaceChild"].includes(d)?(M=[h[1]],v=[h[0]]):["removeChild"].includes(d)?M=[...h]:(v=[...h],["before","after"].includes(d)&&(L=this.parentNode));let ne=d;if(["insertAdjacentHTML","setHTMLUnsafe"].includes(d)){let T=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(h[0])){if(!this.parentNode)return U[d].value.call(this,...h);T=this.parentNode.nodeName}let j=i.createElement(T.includes("-")?"div":T);U.setHTMLUnsafe.value.call(j,v[0],d==="setHTMLUnsafe"?h[1]:{}),v=[...j.childNodes],d==="insertAdjacentHTML"?(ne="insertAdjacentElement",h[1]=new c,u(h[1],"append",()=>h[1].append(...j.childNodes))):(ne="replaceChildren",h=[...j.childNodes])}return p({target:L,entrants:v,exits:M,type:"interception",event:[this,d]},()=>U[ne].value.call(this,...h))}function b(h){let S=Object.keys(A).find(F=>this instanceof r[F]&&d in A[F]),U=A[S],H=()=>U[d].set.call(this,h);if(this instanceof HTMLScriptElement||t.realdom.domInterceptionNoRecurse.get(this)===d)return H();let M=[],v=[],L=this;if(["outerHTML","outerText"].includes(d)?(M=[this],L=this.parentNode):this instanceof f?(L=this.content,M=[...this.content.childNodes]):M=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let F=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return H();F=this.parentNode.nodeName}let T=i.createElement(F.includes("-")?"div":F);if(u(T,d,()=>T[d]=h),v=this instanceof f?[...T.content.childNodes]:[...T.childNodes],this instanceof f&&this.hasAttribute("src")||this instanceof ShadowRoot){let j=B=>B.reduce((q,P)=>P instanceof HTMLScriptElement?q.concat(P):P instanceof f?q.concat(j([P.content])):(q=q.concat(j([...P.querySelectorAll?.("template")||[]].map(Qe=>Qe.content))),q.concat(...P.querySelectorAll?.("script")||[])),[]);for(let B of j(v)){if(this instanceof ShadowRoot){B.setAttribute("data-handling","manual");continue}let q=i.createElement("script");[...B.attributes].forEach(P=>q.setAttribute(P.name,P.value)),q.textContent=B.textContent,u(B,"replaceWith",()=>B.replaceWith(q))}}d==="outerHTML"?(h=new c,u(h,"append",()=>h.append(...v)),H=()=>u(this,"replaceWith",()=>l.prototype.replaceWith.call(this,h))):this instanceof f?H=()=>u(this.content,"replaceChildren",()=>this.content.replaceChildren(...v)):H=()=>u(this,"replaceChildren",()=>l.prototype.replaceChildren.call(this,...v))}return p({target:L,entrants:v,exits:M,type:"interception",event:[this,d]},H)}}),m}function We(){at.call(this),ut.call(this),mt.call(this)}function at(){let n=this;n.CSS||(n.CSS={}),n.CSS.escape||(n.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function ut(){let n=this;"isConnected"in n.Node.prototype||Object.defineProperty(n.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function mt(){let n=this;n.Element.prototype.matches||(n.Element.prototype.matches=n.Element.prototype.matchesSelector||n.Element.prototype.mozMatchesSelector||n.Element.prototype.msMatchesSelector||n.Element.prototype.oMatchesSelector||n.Element.prototype.webkitMatchesSelector||function(e){for(var r=(this.document||this.ownerDocument).querySelectorAll(e),t=r.length;--t>=0&&r.item(t)!==this;);return t>-1})}function Re(){let n=this;if(n.webqit||(n.webqit={}),n.webqit.realdom)return n.webqit.realdom;n.webqit.realdom={},We.call(n),n.webqit.realdom.meta=(...r)=>dt.call(n,...r),n.webqit.realdom.ready=(...r)=>be.call(n,...r),n.webqit.realdom.realtime=(r,t="dom")=>{if(t==="dom")return new re(r,n);if(t==="attr")return new D(r,n)};let e=new te(n);return n.webqit.realdom.schedule=(r,...t)=>e[`on${r}`](...t),n.webqit.realdom.synthesizeWhile=(...r)=>e.synthesizeWhile(...r),n.webqit.realdom}function be(...n){let e="interactive",r;G(n[0])?(e=n[0],w(n[1])&&(r=n[1])):w(n[0])&&(r=n[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!r)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>be.call(this,"interactive",o)),complete:new Promise(o=>be.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return r(i);i.webqit.realdom.readyStateCallbacks||(i.webqit.realdom.readyStateCallbacks={interactive:[],complete:[]},i.document.addEventListener("readystatechange",()=>{let o=i.document.readyState;for(let s of i.webqit.realdom.readyStateCallbacks[o].splice(0))s(i)},!1)),i.webqit.realdom.readyStateCallbacks[e].push(r)}function dt(n){let e=this,r={},t;return(t=e.document.querySelector(`meta[name="${n}"]`))&&(r=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(l=>l.trim());return ye(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:I(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return n},get content(){return t.content},json(){return JSON.parse(JSON.stringify(r))}}}function ce(n,e){return typeof n!="string"?n:n.replace(/\w\S*/g,function(r){return r.charAt(0).toUpperCase()+(typeof e!==void 0&&e?r.substr(1).toLowerCase():r.substr(1))})}var X=(...n)=>E("oohtml",...n),gt={};function Ve(n,e,r){let t=this,i=Re.call(t);gt.window=t,t.webqitConfig||(t.webqitConfig=i.meta("webqit").json()),t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=n.toUpperCase().replace("-","_");if(!t.webqit.oohtml.configs[o]){t.webqit.oohtml.configs[o]={};let s=t.webqit.oohtml.configs[o];K(2,s,r,e,i.meta(n).json()),t.webqitConfig.prefix&&Object.keys(s).forEach(l=>{Object.keys(s[l]).forEach(a=>{l==="api"&&typeof s[l][a]=="string"?s[l][a]=`${t.webqitConfig.prefix}${ce(s[l][a])}`:["attr","elements"].includes(l)&&s[l][a]?.startsWith("data-")===!1&&(s[l][a]=`${t.webqitConfig.prefix}-${s[l][a]}`)})})}return{config:t.webqit.oohtml.configs[o],realdom:i,window:t}}function ae(n,e){return[...n].reduce(([r,t,i],o)=>!r&&t===0&&(Array.isArray(e)?e:[e]).includes(o)?[r,t,[""].concat(i)]:(!r&&["(","[","{"].includes(o)&&!i[0].endsWith("\\")&&t++,!r&&[")","]","}"].includes(o)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(o)&&!i[0].endsWith("\\")&&(r=r===o?null:r||o),i[0]+=o,[r,t,i]),[null,0,[""]])[2].reverse()}function Oe(n={}){let{config:e,window:r}=Ve.call(this,"data-binding",n,{attr:{render:"render",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"}});({CONTEXT_API:e.CONTEXT_API,BINDINGS_API:e.BINDINGS_API,HTML_IMPORTS:e.HTML_IMPORTS}=r.webqit.oohtml.configs),e.attrSelector=`[${r.CSS.escape(e.attr.render)}]`;let t=(i,o)=>{let s=`starts-with(., "${i}")`,l=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${l}`};e.discreteBindingsSelector=`comment()[${t(e.tokens.tagStart,e.tokens.tagEnd)}]`,_t.call(r,e)}function _t(n){let e=this,{webqit:{realdom:r}}=e;r.realtime(e.document).query(n.attrSelector,t=>{Ge.call(this,...t.exits),bt.call(e,n,...t.entrants)},{id:"data-binding:attr",live:!0,subtree:"cross-roots",timing:"sync",eventDetails:!0,staticSensitivity:!0}),r.realtime(e.document).query(`(${n.discreteBindingsSelector})`,t=>{Ge.call(this,...t.exits),wt.call(e,n,...t.entrants)},{id:"data-binding:descrete",live:!0,subtree:"cross-roots",timing:"sync"})}function Xe(n,e){let{webqit:{realdom:r,Observer:t,DOMBindingsContext:i}}=this;if(X(e).has("data-binding"))return X(e).get("data-binding");let o=Object.create(null),s=new AbortController;o.$exec__=(a,f,...c)=>{(()=>{try{a[f](...c)}catch(u){console.error(`Error executing "${f}": ${u.message} at ${u.cause}`)}})()},o.$assign__=(a,f,c)=>{(()=>{try{a[f]=c}catch(u){console.error(`${u.message} at ${u.cause}`)}})()},t.intercept(o,{get:(a,f,c)=>{if(!(a.key in o)){let m={...i.createRequest(a.key),live:!0,signal:s.signal};e[n.CONTEXT_API.api.contexts].request(m,u=>{t.set(o,a.key,u)})}return c(o[a.key]??(a.key in globalThis?globalThis[a.key]:void 0))},has:(a,f,c)=>c(!0)});let l={scope:o,abortController:s,bindings:new Map};return X(e).set("data-binding",l),l}function Ge(...n){for(let e of n){let r=e.nodeName==="#text"?e.parentNode:e,{bindings:t,abortController:i}=X(r).get("data-binding")||{};if(!t?.has(e))return;t.get(e).state.dispose(),t.get(e).signals?.forEach(o=>o.abort()),t.delete(e),t.size||(i.abort(),X(r).delete("data-binding"))}}function yt(n,e){let r=n.tokens.tagStart.split("").map(f=>`\\${f}`).join(""),t=n.tokens.tagEnd.split("").map(f=>`\\${f}`).join(""),i=n.tokens.stateStart.split("").map(f=>f===" "?"(?:\\s+)?":`\\${f}`).join(""),o=n.tokens.stateEnd.split("").map(f=>`\\${f}`).join(""),s=`^${r}(.*?)(?:${i}(\\d+)${o}(?:\\s+)?)?${t}$`,[,l,a]=e.match(new RegExp(s));return{raw:e,expr:l,span:parseInt(a??0)}}async function wt(n,...e){let r=this,t=e.reduce((i,o)=>{if(o.isBound)return i;let s=yt(n,o.nodeValue),l=o;if(s.span){if(l=o.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<s.span)return i;l.nodeValue.length>s.span&&l.splitText(s.span)}else l=o.ownerDocument.createTextNode(""),o.after(l);l.isBound=!0;let a=o;return r.webqit.env!=="server"&&(a.remove(),a=null),i.concat({textNode:l,template:s,anchorNode:a})},[]);for(let{textNode:i,template:o,anchorNode:s}of t){let l=xt.call(r,n,o.expr),{scope:a,bindings:f}=Xe.call(this,n,i.parentNode);Object.defineProperty(i,"$oohtml_internal_databinding_anchorNode",{value:s,configurable:!0});try{f.set(i,{state:await(await l.bind(i,a)).execute()})}catch(c){console.log(c)}}}var ve=new Map;function xt(n,e){if(ve.has(e))return ve.get(e);let r=`let content = ((${e}) ?? '') + '';`;r+="$assign__(this, 'nodeValue', content);",r+=`if ( this.$oohtml_internal_databinding_anchorNode ) { $assign__(this.$oohtml_internal_databinding_anchorNode, 'nodeValue', "${n.tokens.tagStart}${Q(e)}${n.tokens.stateStart}" + content.length + "${n.tokens.stateEnd} ${n.tokens.tagEnd}"); }`;let{webqit:{QuantumModule:t}}=this,i=new t(r);return ve.set(e,i),i}async function bt(n,...e){for(let r of e){let t=vt.call(this,n,r.getAttribute(n.attr.render)),{scope:i,bindings:o}=Xe.call(this,n,r),s=[];Object.defineProperty(r,"$oohtml_internal_databinding_signals",{value:s,configurable:!0});try{o.set(r,{signals:s,state:await(await t.bind(r,i)).execute()})}catch(l){console.log(l)}}}var $e=new Map;function vt(n,e){if($e.has(e))return $e.get(e);let r={},t=-1,i=ae(e,";").map(l=>{let[a,f]=ae(l,":").map(y=>y.trim()),c=a[0],m=a.slice(1).trim(),u=`(${f})`,p=`(${u} ?? '')`;if(c==="&")return m.startsWith("--")?`$exec__(this.style, 'setProperty', "${Q(m)}", ${p});`:`$assign__(this.style, "${Q(m)}", ${p});`;if(c==="%")return`$exec__(this.classList, 'toggle', "${Q(m)}", !!${u});`;if(c==="~")return m.startsWith("?")?`$exec__(this, 'toggleAttribute', "${Q(m.substring(1).trim())}", !!${u});`:`$exec__(this, 'setAttribute', "${Q(m)}", ${p});`;if(c==="#"){if(r[m])throw new Error(`Duplicate binding: ${a}.`);if(r[m]=!0,m==="text")return`$assign__(this, 'textContent', ${p});`;if(m==="html")return`$exec__(this, 'setHTMLUnsafe', ${p});`;if(m==="items"){let[y,A]=ae(f,"/");if(!A)throw new Error(`Invalid ${c}items spec: ${l}; no import specifier.`);let[R,d,g,b]=y.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!R)throw new Error(`Invalid ${c}items spec: ${l}.`);if(d.startsWith("(")?d=d.trim().slice(1,-1).split(",").map(S=>S.trim()):d=[d],d.length>(g==="in"?3:2))throw new Error(`Invalid ${c}items spec: ${l}.`);let h=g==="in"?d[2]:d[1]||"$index__";return`
2
+ let $iteratee__ = ${b};
3
+ let $import__ = this.${n.HTML_IMPORTS.api.import}( ${A.trim()}, true );
4
4
  this.$oohtml_internal_databinding_signals?.push( $import__ );
5
5
 
6
6
  if ( $import__.value && $iteratee__ ) {
@@ -30,11 +30,11 @@
30
30
  }
31
31
  $existing__.forEach( x => x.remove() );
32
32
  $existing__.clear();
33
- }`}}if(a==="@")return e++,`
34
- const handler${e} = event => ${c.startsWith("{")?c:f};
35
- this.addEventListener( '${m}', handler${e} );
36
- const abort${e} = () => this.removeEventListener( '${m}', handler${e} );
37
- this.$oohtml_internal_databinding_signals?.push( { abort: abort${e} } );
38
- `;if(a==="$")return`$exec__(this, '${m}', ${f});`;if(l.trim())throw new Error(`Invalid binding: ${l}.`)}).join(`
39
- `),{webqit:{QuantumModule:o}}=this,s=new o(i);return $t.set(t,s),s}var X=n=>n.replace(/"/g,'\\"');Ot.call(window);})();
33
+ }`}}if(c==="@")return t++,`
34
+ const handler${t} = event => ${f.startsWith("{")?f:u};
35
+ this.addEventListener( '${m}', handler${t} );
36
+ const abort${t} = () => this.removeEventListener( '${m}', handler${t} );
37
+ this.$oohtml_internal_databinding_signals?.push( { abort: abort${t} } );
38
+ `;if(c==="$")return`$exec__(this, '${m}', ${u});`;if(l.trim())throw new Error(`Invalid binding: ${l}.`)}).join(`
39
+ `),{webqit:{QuantumModule:o}}=this,s=new o(i);return $e.set(e,s),s}var Q=n=>n.replace(/"/g,'\\"');Oe.call(window);})();
40
40
  //# sourceMappingURL=data-binding.js.map