@webqit/oohtml 3.1.5 → 3.1.7

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,20 +1,20 @@
1
- (()=>{function v(r){return!Array.isArray(r)&&typeof r=="object"&&r}function y(r){return Array.isArray(r)}function Z(r,e,n=null){return y(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function N(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new B}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new B,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new B,i.set(t,n));return n}var B=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,n){let t=super.set(e,n);return this.fire("set",e,n,e),t}delete(e){let n=super.delete(e);return this.fire("delete",e),n}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,n,t){let i={type:e,key:n,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,n,t){if(Array.isArray(e)||Array.isArray(n))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(z([e,"*"],i.type)&&z([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(z([e,"*"],i.type)&&z([n,"*"],i.key))||i.callback(...t)}},z=(r,e)=>Array.isArray(e)?Z(r,e).length:r.includes(e);function H(r){return typeof r=="function"}function j(r){return r===null||r===""}function I(r){return arguments.length&&(r===void 0||typeof r>"u")}function O(r){return Array.isArray(r)||typeof r=="object"&&r||H(r)}function K(r){return j(r)||I(r)||r===!1||r===0||O(r)&&!Object.keys(r).length}function w(r){return H(r)||r&&{}.toString.call(r)==="[object function]"}function V(r){return r instanceof Number||typeof r=="number"}function S(r){return V(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function D(r){return r instanceof String||typeof r=="string"&&r!==null}function ee(r){return!D(r)&&!I(r.length)}function J(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function te(t,e){e=e||Object.prototype,e=e&&!y(e)?[e]:e;for(var n=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)n.push(t),t=t?Object.getPrototypeOf(t):null;return n}function re(r,e){var n=[];return te(r,e).forEach(t=>{J(n,...Object.getOwnPropertyNames(t))}),n}function T(r,e,n=!1,t=!1,i=!1){var o=0,s=r.shift();if((S(s)||s===!0||s===!1)&&(o=s,s=r.shift()),!r.length)throw new Error("_merge() requires two or more array/objects.");return r.forEach((f,a)=>{!O(f)&&!w(f)||(n?re(f):Object.keys(f)).forEach(l=>{if(!!e(l,s,f,a)){var c=s[l],d=f[l];if((y(c)&&y(d)||v(c)&&v(d))&&(o===!0||o>0))s[l]=y(c)&&y(d)?[]:{},T([S(o)?o-1:o,s[l],c,d],e,n,t,i);else if(y(s)&&y(f))t?s[l]=d:s.push(d);else try{i?Object.defineProperty(s,l,Object.getOwnPropertyDescriptor(f,l)):s[l]=f[l]}catch{}}})}),s}function G(...r){return T(r,(e,n,t)=>!0,!1,!1,!1)}function A(r,e=!0){return y(r)?r:!e&&v(r)?[r]:r!==!1&&r!==0&&K(r)?[]:ee(r)?Array.prototype.slice.call(r):v(r)?Object.values(r):[r]}function W(r,e,n={},t={}){e=A(e).slice();for(var i=r;!I(i)&&!j(i)&&e.length;){var o=e.shift();if(!(n.get?n.get(i,o):O(i)?o in i:i[o])){t.exists=!1;return}i=n.get?n.get(i,o):i[o]}return t.exists=!0,i}function ie(r,e,n,t={},i={}){let o=(c,d,u)=>i.set?i.set(c,d,u):(S(e[f])&&y(c)?c.push(u):c[d]=u,!0);e=A(e);for(var s=r,f=0;f<e.length;f++)if(f<e.length-1){if(!s||!O(s)&&!w(s))return!1;var a=W(s,e[f],i);if(!O(a)){if(i.buildTree===!1)return!1;a=w(i.buildTree)?i.buildTree(f):S(e[f+1])?[]:{};var l=o(s,e[f],a);if(!l)return!1}s=a}else return o(s,e[f],n)}var R=class{constructor(e,n=!0){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=n,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,n,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let f=n(s,t),a=l=>{l!==void 0&&this.cycle(e,n,l)};f instanceof Promise?f.then(a):a(f)})};i instanceof Promise?i.then(o):o(i)})}};function ye(r){return(r=r.trim())&&r.startsWith("(")&&r.endsWith(")")}function Y(r,e,n,t=!0){n=(Array.isArray(n)?n:[n]).map(f=>(f+"").replace("(",t?"(.//":"(./")).join("|");let i=r.document.evaluate(n,e,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function we(r,e,n){return n=(Array.isArray(n)?n:[n]).map(t=>(t+"").replace("(","(self::")).join("|"),r.document.evaluate(`${n}`,e,null,XPathResult.BOOLEAN_TYPE).booleanValue}function xe(r,e="|"){return[...r].reduce(([n,t,i,o],s)=>!n&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[n,t,[""].concat(i)]:(!n&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!n&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(n=n===s?null:n||s),i[0]+=s,[n,t,i]),[null,0,[""]])[2].reverse()}var E=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:ye(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=xe(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var q=class{constructor(e,n,t){this.context=e,this.namespace=n,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]:v(e[0])&&!(e[0]instanceof E)&&e.length===1?e=[[],void 0,e[0]]:v(e[1])&&e.length===2?e=[A(e[0],!1),void 0,e[1]]:e[0]=A(e[0],!1),e[0].filter(n=>typeof n!="string"&&!(n instanceof E)&&!(n 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(n=>n instanceof E?n:new E(n)),e}registry(...e){return N("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,n,t){let{window:i}=this,o=Array.isArray(n)?n:[n],s=new Set;for(let[f,a]of this.registry(e))for(let[l,c]of a){let d=o.filter(u=>l.contains(u.target)?f==="subtree"||u.target===l:!1);if(!!d.length){Array.isArray(n)||(d=d[0]);for(let u of c)s.add([u,d,l])}}for(let[f,a,l]of s)t.call(i,f,a,l)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&w(i.disconnect)&&i.disconnect()||w(i)&&i()||v(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var M=class extends q{constructor(e,...n){super(e,"attr",...n)}get(e,n=void 0,t={}){let i=typeof e=="string"||e instanceof E;[e=[],n=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=$e(o,e);if(!n)return s;let f=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let a of s){let l=f?.generate()||{};n(a,l,o)}else{let a=f?.generate()||{};n(s,a,o)}if(t.live){f&&(t={...t,signalGenerator:f});let a=this.observe(i?e[0]:e,n,{newValue:!0,...t});return this.disconnectables(t.signal,a)}}observe(e,n,t={}){let i=typeof e=="string"||e instanceof E;if([e=[],n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:f}=this;t.eventDetails&&!f.realdom.attrInterceptionHooks?.intercepting&&Oe.call(s,"intercept",()=>{});let a=new s.MutationObserver(u=>{u=Ae(u).map(p=>Se.call(s,p)),ve.call(s,d,u,o)}),l={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(l.attributeFilter=e.map(u=>u+"")),a.observe(o,l);let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),d={context:o,spec:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:c,disconnectable:a};return this.disconnectables(t.signal,a,c)}observeSync(e,n,t={}){let i=typeof e=="string"||e instanceof E;[e,n,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 f=t.timing==="intercept"?"intercept":"sync",a=t.subtree?"subtree":"children";this.registry(f).size||Oe.call(s,f,g=>{this.forEachMatchingContext(f,g,ve)});let l={disconnect(){p.delete(d),p.size||u.delete(o)}},c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),d={context:o,spec:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:c,disconnectable:l},u=this.registry(f,a);u.has(o)||u.set(o,new Set);let p=u.get(o);return p.add(d),this.disconnectables(t.signal,l,c)}};function Ae(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function ve(r,e){let{context:n,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:f,signalGenerator:a}=r,l=t.map(u=>u+"");if(o.atomic&&!s.size?e=$e(n,t,e):o.timing!=="async"&&t.length&&(e=e.filter(u=>l.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: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=f?e[0]:e,d=a?.generate()||{};i(c,d,n)}function $e(r,e,n=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",n.find(s=>s.name===o)||{target:r,name:o,value:r.getAttribute(o),...t})):Array.from(r.attributes).map(o=>n.find(s=>s.name===o.nodeName)||{target:r,name:o.nodeName,value:o.nodeValue,...t})}function Se({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(r)||{})[e]?.[0]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function Oe(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(r)||t.realdom.attrInterceptionHooks.set(r,new Set),t.realdom.attrInterceptionHooks.get(r).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(r).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 f=(c,d)=>{t.realdom.attrInterceptionRecords.has(c.target)||t.realdom.attrInterceptionRecords.set(c.target,{});let u=t.realdom.attrInterceptionRecords.get(c.target);u[c.name]=u[c.name]||[],u[c.name].unshift(c.event),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(g=>g([c]));let p=d();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(g=>g([c])),p};new n.MutationObserver(c=>{c=c.filter(d=>!(n.webqit.realdom.attrInterceptionRecords?.get(d.target)||{})[d.attributeName]?.shift()),c=Ae(c).map(d=>Se.call(n,d)),c.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(d=>d(c)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(d=>d(c)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let l=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(c=>{l[c]=o.prototype[c],o.prototype[c]=function(...d){let u,p=this.getAttribute(d[0]);["setAttribute","toggleAttribute"].includes(c)&&(u=d[1]),c==="toggleAttribute"&&u===void 0&&(u=p===null);let g={target:this,name:d[0],value:u,oldValue:p,type:"interception",event:[this,c]};return f(g,()=>l[c].call(this,...d))}}),s}var X=class extends q{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new M(i,o).get(...arguments)}query(e,n=void 0,t={}){[e,n=void 0,t={}]=this.resolveArgs(arguments);let{context:i}=this,o=new Map,s=l=>(o.has(l)||o.set(l,{target:l,entrants:[],exits:[],type:"query",event:null}),o.get(l));if(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(l=>s(i).entrants.push(l));else if(e.every(l=>l.type==="selector")){let[l,c]=e.reduce(([u,p],g)=>g.kind==="xpath"?[u,p.concat(g)]:[u.concat(g),p],[[],[]]),d=[];t.subtree?(l.length&&d.push(...i.querySelectorAll(l.join(","))),c.length&&d.push(...Y(this.window,i,c))):(l.length&&d.push(...[...i.children].filter(u=>u.matches(l))),c.length&&d.push(...Y(this.window,i,c,!1))),d.forEach(u=>s(u.parentNode||i).entrants.push(u))}}if(!n)return o;let f={disconnected:!1},a=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,l]of o){if(f.disconnected)break;let c=a?.generate()||{};n(l,c,i)}if(t.live){a&&(t={...t,signalGenerator:a});let l=this.observe(e,n,t);return this.disconnectables(t.signal,f,l)}return this.disconnectables(t.signal,f,a)}children(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!1})}subtree(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!0})}observe(e,n,t={}){if([e,n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:f}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(f.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Ce.call(o,"sync",()=>{});let a=new o.MutationObserver(d=>d.forEach(u=>{se.call(o,c,Te.call(o,u),i)}));a.observe(i,{childList:!0,subtree:t.subtree});let l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:i,spec:e,callback:n,params:t,signalGenerator:l,disconnectable:a};if(t.staticSensitivity){let d=Ee.call(o,c);return this.disconnectables(t.signal,a,l,d)}return this.disconnectables(t.signal,a,l)}observeSync(e,n,t={}){[e,n,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",f=t.subtree?"subtree":"children";this.registry(s).size||Ce.call(o,s,g=>{this.forEachMatchingContext(s,g,se)});let a=new o.MutationObserver(g=>g.forEach(m=>{Array.isArray((m=Te.call(o,m)).event)||se.call(o,d,m,i)}));a.observe(i,{childList:!0,subtree:t.subtree});let l={disconnect(){a.disconnect(),p.delete(d),p.size||u.delete(i)}},c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),d={context:i,spec:e,callback:n,params:t,signalGenerator:c,disconnectable:l},u=this.registry(s,f);u.has(i)||u.set(i,new Set);let p=u.get(i);if(p.add(d),t.staticSensitivity){let g=Ee.call(o,d);return this.disconnectables(t.signal,l,c,g)}return this.disconnectables(t.signal,l,c)}};function Ee(r){let e=this,{context:n,spec:t,callback:i,params:o,signalGenerator:s}=r,f=t.filter(p=>p.kind==="css"),a=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],l=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],c=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(g=>g[1]).concat(a(p)).concat(l(p));if(!(r.$attrs=Array.from(new Set(f.filter(p=>(p+"").includes("[")).reduce((p,g)=>p.concat(c(g+"")),[])))).length)return;let d=new Set,u=new Set;return d.push=p=>(u.delete(p),d.add(p)),u.push=p=>(d.delete(p),u.add(p)),r.$deliveryCache={entrants:d,exits:u},new M(n,e).observe(r.$attrs,p=>{let g=new Map,m=h=>(g.has(h)||g.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),g.get(h)),x=new WeakMap,_=h=>(x.has(h)||x.set(h,f.some(b=>h.matches(b+""))),x.get(h));for(let h of p)["entrants","exits"].forEach(b=>{o.generation&&b!==o.generation||r.$deliveryCache[b].has(h.target)||(b==="entrants"?!_(h.target):_(h.target))||(r.$deliveryCache[b].push(h.target),m(h.target)[b].push(h.target),m(h.target).event=h.event)});for(let[,h]of g){let b=s?.generate()||{};i(h,b,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function se(r,e){let{context:n,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:f}=r,a={...e,entrants:[],exits:[]};if(o.eventDetails||delete a.event,["entrants","exits"].forEach(c=>{if(!(o.generation&&c!==o.generation)&&(t.length?a[c]=Je.call(this,t,e[c],e.event!=="parse"):a[c]=[...e[c]],!!f))for(let d of a[c])f[c].push(d)}),!a.entrants.length&&!a.exits.length)return;let l=s?.generate()||{};i(a,l,n)}function Je(r,e,n){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(o.type==="selector"){let s=o.isXpathAttr?[]:i.filter(f=>o.kind==="xpath"?we(this,f,o+""):f.matches&&f.matches(o+""));if((n||o.isXpathAttr)&&(s=i.reduce((f,a)=>o.kind==="xpath"?[...f,...Y(this,a,o,n)]:a.querySelectorAll?[...f,...a.querySelectorAll(o+"")]:f,s)),s.length)return s}else if(i.includes(o.content)||n&&i.some(s=>s.contains(o.content)))return[o.content]};return e.$$searchCache||(e.$$searchCache=new Map),r.reduce((i,o)=>{let s;return e.$$searchCache.has(o.content)?s=e.$$searchCache.get(o.content):(s=t(e,o)||[],o.type==="instance"&&e.$$searchCache.set(o.content,s)),i.concat(s)},[])}function Te({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=A(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=A(n).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function Ce(r,e){let n=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:f,HTMLElement:a,HTMLTemplateElement:l,DocumentFragment:c}=n;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(r)||t.realdom.domInterceptionHooks.set(r,new Set),t.realdom.domInterceptionHooks.get(r).add(e);let d=()=>t.realdom.domInterceptionHooks.get(r).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return d;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let u=(m,x)=>{m.entrants.concat(m.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,m.event);let b=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(m.event,"timeout",{value:b,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(m));let _=x();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(m)),_},p={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(m=>{function x(..._){let h=this instanceof s?p.characterData:p.other,b=()=>h[m].call(this,..._);if(!(this instanceof s||this instanceof f||this instanceof c))return b();let C=[],$=[],F=this;["insertBefore"].includes(m)?$=[_[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(m)?($=[_[1]],["beforebegin","afterend"].includes(_[0])&&(F=this.parentNode)):["setHTML","replaceChildren"].includes(m)?(C=[...this.childNodes],$=m==="replaceChildren"?[..._]:[_[0]]):["replaceWith","remove"].includes(m)?(C=[this],$=m==="replaceWith"?[..._]:[],F=this.parentNode):["replaceChild"].includes(m)?(C=[_[1]],$=[_[0]]):["removeChild"].includes(m)?C=[..._]:($=[..._],["before","after"].includes(m)&&(F=this.parentNode));let P=m;if(["insertAdjacentHTML","setHTML"].includes(m)){let ae=this.nodeName;if(m==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(_[0])){if(!this.parentNode)return h[m].call(this,..._);ae=this.parentNode.nodeName}let U=i.createElement(ae);h.setHTML.call(U,$[0],m==="setHTML"?_[1]:{}),$=[...U.childNodes],m==="insertAdjacentHTML"?(P="insertAdjacentElement",_[1]=new c,_[1].______isTemp=!0,_[1].append(...U.childNodes)):(P="replaceChildren",_=[...U.childNodes])}return u({target:F,entrants:$,exits:C,type:"interception",event:[this,m]},()=>h[P].call(this,..._))}["insertBefore","replaceChild","removeChild","appendChild"].includes(m)?(p.other[m]=o.prototype[m],o.prototype[m]=x):(["after","before","remove","replaceWith"].includes(m)&&(p.characterData[m]=s.prototype[m],s.prototype[m]=x),f.prototype[m]&&(p.other[m]=f.prototype[m],f.prototype[m]=x))});let g=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(m=>{let x=["textContent","nodeValue"].includes(m)?o:["outerText","innerText"].includes(m)?a:f;g[m]=Object.getOwnPropertyDescriptor(x.prototype,m),Object.defineProperty(x.prototype,m,{...g[m],set:function(_){let h=()=>g[m].set.call(this,_);if(!(this instanceof f))return h();let b=[],C=[],$=this;if(["outerHTML","outerText"].includes(m)?(b=[this],$=this.parentNode):b=[...this.childNodes],["outerHTML","innerHTML"].includes(m)){let P=this.nodeName;if(m==="outerHTML"){if(!this.parentNode)return h();P=this.parentNode.nodeName}let k=i.createElement(P==="TEMPLATE"?"div":P);g[m].set.call(k,_),C=this instanceof l?[]:[...k.childNodes],m==="outerHTML"?(_=new c,_.______isTemp=!0,_.append(...k.childNodes),h=()=>f.prototype.replaceWith.call(this,_)):this instanceof l?h=()=>this.content.replaceChildren(...k.childNodes):h=()=>f.prototype.replaceChildren.call(this,...k.childNodes)}return u({target:$,entrants:C,exits:b,type:"interception",event:[this,m]},h)}})}),["append","prepend","replaceChildren"].forEach(m=>{[i,c.prototype].forEach(x=>{let _=x[m];x[m]=function(...h){if(this.______isTemp)return _.call(this,...h);let b=m==="replaceChildren"?[...this.childNodes]:[];return u({target:this,entrants:h,exits:b,type:"interception",event:[this,m]},()=>_.call(this,...h))}})}),d}function Ie(){Qe.call(this),Ye.call(this),Ze.call(this)}function Qe(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Ye(){let r=this;"isConnected"in r.Node.prototype||Object.defineProperty(r.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function Ze(){let r=this;r.Element.prototype.matches||(r.Element.prototype.matches=r.Element.prototype.matchesSelector||r.Element.prototype.mozMatchesSelector||r.Element.prototype.msMatchesSelector||r.Element.prototype.oMatchesSelector||r.Element.prototype.webkitMatchesSelector||function(e){for(var n=(this.document||this.ownerDocument).querySelectorAll(e),t=n.length;--t>=0&&n.item(t)!==this;);return t>-1})}function Me(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.realdom)return r.webqit.realdom;r.webqit.realdom={},Ie.call(r),r.webqit.realdom.meta=(...n)=>Ke.call(r,...n),r.webqit.realdom.ready=(...n)=>fe.call(r,...n),r.webqit.realdom.realtime=(n,t="dom")=>{if(t==="dom")return new X(n,r);if(t==="attr")return new M(n,r)};let e=new R(r);return r.webqit.realdom.schedule=(n,...t)=>e[`on${n}`](...t),r.webqit.realdom}function fe(...r){let e="interactive",n;D(r[0])?(e=r[0],w(r[1])&&(n=r[1])):w(r[0])&&(n=r[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!n)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>fe.call(this,"interactive",o)),complete:new Promise(o=>fe.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return n(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(n)}function Ke(r){let e=this,n={},t;return(t=e.document.querySelector(`meta[name="${r}"]`))&&(n=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(f=>f.trim());return ie(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:S(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return r},get content(){return t.content},json(){return JSON.parse(JSON.stringify(n))}}}var L=(...r)=>N("oohtml",...r),et={};function Pe(r,e,n){let t=this,i=Me.call(t);t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=r.toUpperCase().replace("-","_");return t.webqit.oohtml.configs[o]||(t.webqit.oohtml.configs[o]={}),et.window=t,G(2,t.webqit.oohtml.configs[o],n,e,i.meta(r).json()),{config:t.webqit.oohtml.configs[o],realdom:i,window:t}}function ue(r={}){let{config:e,window:n}=Pe.call(this,"html-bindings",r,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"},staticsensitivity:!0,isomorphic:!0});({CONTEXT_API:e.CONTEXT_API,BINDINGS_API:e.BINDINGS_API,HTML_IMPORTS:e.HTML_IMPORTS}=n.webqit.oohtml.configs),e.attrSelector=`[${n.CSS.escape(e.attr.expr)}]`;let t=(i,o)=>{let s=`starts-with(., "${i}")`,f=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${f}`};e.discreteBindingsSelector=`comment()[${t(e.tokens.tagStart,e.tokens.tagEnd)}]`,tt.call(n,e)}function tt(r){let e=this,{webqit:{realdom:n}}=e;n.realtime(e.document).subtree(`(${r.discreteBindingsSelector})`,t=>{qe.call(this,...t.exits),rt.call(this,r,...t.entrants)},{live:!0}),n.realtime(e.document).subtree(r.attrSelector,t=>{qe.call(this,...t.exits),nt.call(this,r,...t.entrants)},{live:!0,timing:"sync",staticSensitivity:r.staticsensitivity})}function ke(r,e){let{webqit:{Observer:n,DOMBindingsContext:t}}=this;if(L(e).has("data-binding"))return L(e).get("data-binding");let i={},o=new AbortController;n.intercept(i,{get:(f,a,l)=>{if(!(f.key in i)){let c={...t.createRequest(f.key),live:!0,signal:o.signal};e[r.CONTEXT_API.api.contexts].request(c,d=>{n.set(i,f.key,d)})}return l(i[f.key]??(f.key in globalThis?globalThis[f.key]:void 0))},has:(f,a,l)=>l(!0)});let s={scope:i,abortController:o,bindings:new Map};return L(e).set("data-binding",s),s}function qe(...r){for(let e of r){let n=e.nodeName==="#text"?e.parentNode:e,{bindings:t,abortController:i}=L(n).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(),L(n).delete("data-binding"))}}async function rt(r,...e){let n=this,{webqit:{QuantumAsyncFunction:t}}=n,i=s=>{let f=r.tokens.tagStart.split("").map(g=>`\\${g}`).join(""),a=r.tokens.tagEnd.split("").map(g=>`\\${g}`).join(""),l=r.tokens.stateStart.split("").map(g=>g===" "?"(?:\\s+)?":`\\${g}`).join(""),c=r.tokens.stateEnd.split("").map(g=>`\\${g}`).join(""),d=`^${f}(.*?)(?:${l}(\\d+)${c}(?:\\s+)?)?${a}$`,[,u,p]=s.match(new RegExp(d));return{raw:s,expr:u,span:parseInt(p??0)}},o=e.reduce((s,f)=>{if(f.isBound)return s;let a=i(f.nodeValue),l=f;if(a.span){if(l=f.nextSibling,l?.nodeName!=="#text"||l.nodeValue.length<a.span)return s;l.nodeValue.length>a.span&&l.splitText(a.span)}else l=f.ownerDocument.createTextNode(""),f.after(l);l.isBound=!0;let c=f;return n.webqit.env!=="server"&&(c.remove(),c=null),s.concat({textNode:l,template:a,anchorNode:c})},[]);for(let{textNode:s,template:f,anchorNode:a}of o){let{scope:l,bindings:c}=ke.call(this,r,s.parentNode),d="";d+=`let content = ((${f.expr}) ?? '') + '';`,d+="this.nodeValue = content;",a&&(d+=`$anchorNode__.nodeValue = "${r.tokens.tagStart}${escDouble(f.expr)}${r.tokens.stateStart}" + content.length + "${r.tokens.stateEnd} ${r.tokens.tagEnd}";`);let u=new t("$signals__","$anchorNode__",d,{env:l}),p=[];c.set(s,{compiled:u,signals:p,state:await u.call(s,p,a)})}}async function nt(r,...e){let{webqit:{QuantumAsyncFunction:n}}=this;for(let t of e){let i=it(r,t.getAttribute(r.attr.expr)),{scope:o,bindings:s}=ke.call(this,r,t),f=new n("$signals__",i,{env:o}),a=[];s.set(t,{compiled:f,signals:a,state:await f.call(t,a)})}}var le=new Map;function it(r,e){if(le.has(e))return le.get(e);let n={},t=o=>o.replace(/"/g,'\\"'),i=ce(e,";").map(o=>{let[s,f]=ce(o,":").map(u=>u.trim()),a=s[0],l=s.slice(1).trim(),c=`(${f})`,d=`(${c} ?? '')`;if(a==="&")return`this.style["${t(l)}"] = ${d};`;if(a==="%")return`this.classList.toggle("${t(l)}", !!${c});`;if(a==="~")return l.startsWith("?")?`this.toggleAttribute("${t(l.substring(1).trim())}", !!${c});`:`this.setAttribute("${t(l)}", ${d});`;if(a==="@"){if(n[l])throw new Error(`Duplicate binding: ${s}.`);if(n[l]=!0,l==="text")return`this.textContent = ${d};`;if(l==="html")return`this.setHTML(${d});`;if(l==="items"){let[u,p]=ce(f,"/");if(!p)throw new Error(`Invalid ${a}items spec: ${o}; no import specifier.`);let[g,m,x,_]=u.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!g)throw new Error(`Invalid ${a}items spec: ${o}.`);if(m.startsWith("(")?m=m.trim().slice(1,-1).split(",").map(b=>b.trim()):m=[m],m.length>(x==="in"?3:2))throw new Error(`Invalid ${a}items spec: ${o}.`);let h=x==="in"?m[2]:m[1]||"$index__";return`
2
- let $iteratee__ = ${_};
3
- let $import__ = this.${r.HTML_IMPORTS.context.api.import}( ${p.trim()}, true );
4
- $signals__.push( $import__ );
1
+ (()=>{function v(r){return!Array.isArray(r)&&typeof r=="object"&&r}function y(r){return Array.isArray(r)}function K(r,e,n=null){return y(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function N(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new B}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new B,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new B,i.set(t,n));return n}var B=class extends Map{constructor(...e){super(...e),this.observers=new Set}set(e,n){let t=super.set(e,n);return this.fire("set",e,n,e),t}delete(e){let n=super.delete(e);return this.fire("delete",e),n}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,n,t){let i={type:e,key:n,callback:t};return this.observers.add(i),()=>this.observers.delete(i)}unobserve(e,n,t){if(Array.isArray(e)||Array.isArray(n))throw new Error('The "type" and "key" arguments can only be strings.');for(let i of this.observers)!(Q([e,"*"],i.type)&&Q([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(Q([e,"*"],i.type)&&Q([n,"*"],i.key))||i.callback(...t)}},Q=(r,e)=>Array.isArray(e)?K(r,e).length:r.includes(e);function H(r){return typeof r=="function"}function V(r){return r===null||r===""}function I(r){return arguments.length&&(r===void 0||typeof r>"u")}function O(r){return Array.isArray(r)||typeof r=="object"&&r||H(r)}function ee(r){return V(r)||I(r)||r===!1||r===0||O(r)&&!Object.keys(r).length}function b(r){return H(r)||r&&{}.toString.call(r)==="[object function]"}function W(r){return r instanceof Number||typeof r=="number"}function S(r){return W(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function D(r){return r instanceof String||typeof r=="string"&&r!==null}function te(r){return!D(r)&&!I(r.length)}function J(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function re(t,e){e=e||Object.prototype,e=e&&!y(e)?[e]:e;for(var n=[],t=t;t&&(!e||e.indexOf(t)<0)&&t.name!=="default";)n.push(t),t=t?Object.getPrototypeOf(t):null;return n}function ne(r,e){var n=[];return re(r,e).forEach(t=>{J(n,...Object.getOwnPropertyNames(t))}),n}function C(r,e,n=!1,t=!1,i=!1){var o=0,s=r.shift();if((S(s)||s===!0||s===!1)&&(o=s,s=r.shift()),!r.length)throw new Error("_merge() requires two or more array/objects.");return r.forEach((f,a)=>{!O(f)&&!b(f)||(n?ne(f):Object.keys(f)).forEach(c=>{if(!!e(c,s,f,a)){var l=s[c],m=f[c];if((y(l)&&y(m)||v(l)&&v(m))&&(o===!0||o>0))s[c]=y(l)&&y(m)?[]:{},C([S(o)?o-1:o,s[c],l,m],e,n,t,i);else if(y(s)&&y(f))t?s[c]=m:s.push(m);else try{i?Object.defineProperty(s,c,Object.getOwnPropertyDescriptor(f,c)):s[c]=f[c]}catch{}}})}),s}function G(...r){return C(r,(e,n,t)=>!0,!1,!1,!1)}function A(r,e=!0){return y(r)?r:!e&&v(r)?[r]:r!==!1&&r!==0&&ee(r)?[]:te(r)?Array.prototype.slice.call(r):v(r)?Object.values(r):[r]}function R(r,e,n={},t={}){e=A(e).slice();for(var i=r;!I(i)&&!V(i)&&e.length;){var o=e.shift();if(!(n.get?n.get(i,o):O(i)?o in i:i[o])){t.exists=!1;return}i=n.get?n.get(i,o):i[o]}return t.exists=!0,i}function oe(r,e,n,t={},i={}){let o=(l,m,u)=>i.set?i.set(l,m,u):(S(e[f])&&y(l)?l.push(u):l[m]=u,!0);e=A(e);for(var s=r,f=0;f<e.length;f++)if(f<e.length-1){if(!s||!O(s)&&!b(s))return!1;var a=R(s,e[f],i);if(!O(a)){if(i.buildTree===!1)return!1;a=b(i.buildTree)?i.buildTree(f):S(e[f+1])?[]:{};var c=o(s,e[f],a);if(!c)return!1}s=a}else return o(s,e[f],n)}var X=class{constructor(e,n=!0){Object.defineProperty(this,"window",{value:e}),Object.defineProperty(this,"readCallbacks",{value:new Set}),Object.defineProperty(this,"writeCallbacks",{value:new Set}),this.async=n,this.window.requestAnimationFrame?this._run():this.async=!1}_run(){this.window.requestAnimationFrame(()=>{for(let e of this.readCallbacks)e(),this.readCallbacks.delete(e);for(let e of this.writeCallbacks)e(),this.writeCallbacks.delete(e);this._run()})}onread(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.readCallbacks.add(()=>{t(e())})});this.async===!1?e():this.readCallbacks.add(e)}onwrite(e,n=!1){if(n)return new Promise(t=>{this.async===!1?t(e()):this.writeCallbacks.add(()=>{t(e())})});this.async===!1?e():this.writeCallbacks.add(e)}cycle(e,n,t){this.onread(()=>{let i=e(t),o=s=>{s!==void 0&&this.onwrite(()=>{let f=n(s,t),a=c=>{c!==void 0&&this.cycle(e,n,c)};f instanceof Promise?f.then(a):a(f)})};i instanceof Promise?i.then(o):o(i)})}};function xe(r){return(r=r.trim())&&r.startsWith("(")&&r.endsWith(")")}function Z(r,e,n,t=!0){n=(Array.isArray(n)?n:[n]).map(f=>(f+"").replace("(",t?"(.//":"(./")).join("|");let i=r.document.evaluate(n,e,null,XPathResult.ANY_TYPE),o=[],s;for(;s=i.iterateNext();)o.push(s);return o}function be(r,e,n){return n=(Array.isArray(n)?n:[n]).map(t=>(t+"").replace("(","(self::")).join("|"),r.document.evaluate(`${n}`,e,null,XPathResult.BOOLEAN_TYPE).booleanValue}function ve(r,e="|"){return[...r].reduce(([n,t,i,o],s)=>!n&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[n,t,[""].concat(i)]:(!n&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!n&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(n=n===s?null:n||s),i[0]+=s,[n,t,i]),[null,0,[""]])[2].reverse()}var E=class{constructor(e){this.content=e,this.type=typeof e=="string"?"selector":"instance",this.kind=this.type==="instance"?null:xe(e)?"xpath":"css",this.kind==="xpath"&&(this.isXpathAttr=ve(e.trim().slice(1,-1),"@").length>1)}toString(){return this.content}};var q=class{constructor(e,n,t){this.context=e,this.namespace=n,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(b(e[0])?e=[[],...e]:v(e[0])&&!(e[0]instanceof E)&&e.length===1?e=[[],void 0,e[0]]:v(e[1])&&e.length===2?e=[A(e[0],!1),void 0,e[1]]:e[0]=A(e[0],!1),e[0].filter(n=>typeof n!="string"&&!(n instanceof E)&&!(n 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(n=>n instanceof E?n:new E(n)),e}registry(...e){return N("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,n,t){let{window:i}=this,o=Array.isArray(n)?n:[n],s=new Set;for(let[f,a]of this.registry(e))for(let[c,l]of a){let m=o.filter(u=>c.contains(u.target)?f==="subtree"||u.target===c:!1);if(!!m.length){Array.isArray(n)||(m=m[0]);for(let u of l)s.add([u,m,c])}}for(let[f,a,c]of s)t.call(i,f,a,c)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&b(i.disconnect)&&i.disconnect()||b(i)&&i()||v(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var P=class extends q{constructor(e,...n){super(e,"attr",...n)}get(e,n=void 0,t={}){let i=typeof e=="string"||e instanceof E;[e=[],n=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=Ee(o,e);if(!n)return s;let f=t.lifecycleSignals&&this.createSignalGenerator();if(i)for(let a of s){let c=f?.generate()||{};n(a,c,o)}else{let a=f?.generate()||{};n(s,a,o)}if(t.live){f&&(t={...t,signalGenerator:f});let a=this.observe(i?e[0]:e,n,{newValue:!0,...t});return this.disconnectables(t.signal,a)}}observe(e,n,t={}){let i=typeof e=="string"||e instanceof E;if([e=[],n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(i?e[0]:e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:o,window:s,webqit:f}=this;t.eventDetails&&!f.realdom.attrInterceptionHooks?.intercepting&&$e.call(s,"intercept",()=>{});let a=new s.MutationObserver(u=>{u=Se(u).map(p=>Te.call(s,p)),Ae.call(s,m,u,o)}),c={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(c.attributeFilter=e.map(u=>u+"")),a.observe(o,c);let l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:a};return this.disconnectables(t.signal,a,l)}observeSync(e,n,t={}){let i=typeof e=="string"||e instanceof E;[e,n,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 f=t.timing==="intercept"?"intercept":"sync",a=t.subtree?"subtree":"children";this.registry(f).size||$e.call(s,f,g=>{this.forEachMatchingContext(f,g,Ae)});let c={disconnect(){p.delete(m),p.size||u.delete(o)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:o,spec:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:l,disconnectable:c},u=this.registry(f,a);u.has(o)||u.set(o,new Set);let p=u.get(o);return p.add(m),this.disconnectables(t.signal,c,l)}};function Se(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function Ae(r,e){let{context:n,spec:t,callback:i,params:o,atomics:s,originalFilterIsString:f,signalGenerator:a}=r,c=t.map(u=>u+"");if(o.atomic&&!s.size?e=Ee(n,t,e):o.timing!=="async"&&t.length&&(e=e.filter(u=>c.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: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 l=f?e[0]:e,m=a?.generate()||{};i(l,m,n)}function Ee(r,e,n=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>(o=o+"",n.find(s=>s.name===o)||{target:r,name:o,value:r.getAttribute(o),...t})):Array.from(r.attributes).map(o=>n.find(s=>s.name===o.nodeName)||{target:r,name:o.nodeName,value:o.nodeValue,...t})}function Te({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(r)||{})[e]?.[0]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function $e(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.realdom.attrInterceptionHooks||Object.defineProperty(t.realdom,"attrInterceptionHooks",{value:new Map}),t.realdom.attrInterceptionHooks.has(r)||t.realdom.attrInterceptionHooks.set(r,new Set),t.realdom.attrInterceptionHooks.get(r).add(e);let s=()=>t.realdom.attrInterceptionHooks.get(r).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 f=(l,m)=>{t.realdom.attrInterceptionRecords.has(l.target)||t.realdom.attrInterceptionRecords.set(l.target,{});let u=t.realdom.attrInterceptionRecords.get(l.target);u[l.name]=u[l.name]||[],u[l.name].unshift(l.event),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(g=>g([l]));let p=m();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(g=>g([l])),p};new n.MutationObserver(l=>{l=l.filter(m=>!(n.webqit.realdom.attrInterceptionRecords?.get(m.target)||{})[m.attributeName]?.shift()),l=Se(l).map(m=>Te.call(n,m)),l.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(m=>m(l)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(m=>m(l)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(l=>{c[l]=o.prototype[l],o.prototype[l]=function(...m){let u,p=this.getAttribute(m[0]);["setAttribute","toggleAttribute"].includes(l)&&(u=m[1]),l==="toggleAttribute"&&u===void 0&&(u=p===null);let g={target:this,name:m[0],value:u,oldValue:p,type:"interception",event:[this,l]};return f(g,()=>c[l].call(this,...m))}}),s}var U=class extends q{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new P(i,o).get(...arguments)}query(e,n=void 0,t={}){[e,n=void 0,t={}]=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(!t.generation||t.generation==="entrants"){if(!e.length)[...i.children].forEach(c=>s(i).entrants.push(c));else if(e.every(c=>c.type==="selector")){let[c,l]=e.reduce(([u,p],g)=>g.kind==="xpath"?[u,p.concat(g)]:[u.concat(g),p],[[],[]]),m=[];t.subtree?(c.length&&m.push(...i.querySelectorAll(c.join(","))),l.length&&m.push(...Z(this.window,i,l))):(c.length&&m.push(...[...i.children].filter(u=>u.matches(c))),l.length&&m.push(...Z(this.window,i,l,!1))),m.forEach(u=>s(u.parentNode||i).entrants.push(u))}}if(!n)return o;let f={disconnected:!1},a=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(f.disconnected)break;let l=a?.generate()||{};n(c,l,i)}if(t.live){a&&(t={...t,signalGenerator:a});let c=this.observe(e,n,t);return this.disconnectables(t.signal,f,c)}return this.disconnectables(t.signal,f,a)}children(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!1})}subtree(e,n=void 0,t={}){return[e,n=void 0,t={}]=this.resolveArgs(arguments),this.query(e,n,{...t,subtree:!0})}observe(e,n,t={}){if([e,n,t={}]=this.resolveArgs(arguments),["sync","intercept"].includes(t.timing))return this.observeSync(e,n,t);if(t.timing&&t.timing!=="async")throw new Error(`Timing option "${t.timing}" invalid.`);let{context:i,window:o,webqit:s,document:f}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(f.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&Pe.call(o,"sync",()=>{});let a=new o.MutationObserver(m=>m.forEach(u=>{fe.call(o,l,Ie.call(o,u),i)}));a.observe(i,{childList:!0,subtree:t.subtree});let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),l={context:i,spec:e,callback:n,params:t,signalGenerator:c,disconnectable:a};if(t.staticSensitivity){let m=Ce.call(o,l);return this.disconnectables(t.signal,a,c,m)}return this.disconnectables(t.signal,a,c)}observeSync(e,n,t={}){[e,n,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",f=t.subtree?"subtree":"children";this.registry(s).size||Pe.call(o,s,g=>{this.forEachMatchingContext(s,g,fe)});let a=new o.MutationObserver(g=>g.forEach(d=>{Array.isArray((d=Ie.call(o,d)).event)||fe.call(o,m,d,i)}));a.observe(i,{childList:!0,subtree:t.subtree});let c={disconnect(){a.disconnect(),p.delete(m),p.size||u.delete(i)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),m={context:i,spec:e,callback:n,params:t,signalGenerator:l,disconnectable:c},u=this.registry(s,f);u.has(i)||u.set(i,new Set);let p=u.get(i);if(p.add(m),t.staticSensitivity){let g=Ce.call(o,m);return this.disconnectables(t.signal,c,l,g)}return this.disconnectables(t.signal,c,l)}};function Ce(r){let e=this,{context:n,spec:t,callback:i,params:o,signalGenerator:s}=r,f=t.filter(p=>p.kind==="css"),a=p=>p.match(/\.([\w-]+)/g)?.length?["class"]:[],c=p=>p.match(/#([\w-]+)/g)?.length?["id"]:[],l=p=>[...p.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(g=>g[1]).concat(a(p)).concat(c(p));if(!(r.$attrs=Array.from(new Set(f.filter(p=>(p+"").includes("[")).reduce((p,g)=>p.concat(l(g+"")),[])))).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)),r.$deliveryCache={entrants:m,exits:u},new P(n,e).observe(r.$attrs,p=>{let g=new Map,d=h=>(g.has(h)||g.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),g.get(h)),w=new WeakMap,_=h=>(w.has(h)||w.set(h,f.some(x=>h.matches(x+""))),w.get(h));for(let h of p)["entrants","exits"].forEach(x=>{o.generation&&x!==o.generation||r.$deliveryCache[x].has(h.target)||(x==="entrants"?!_(h.target):_(h.target))||(r.$deliveryCache[x].push(h.target),d(h.target)[x].push(h.target),d(h.target).event=h.event)});for(let[,h]of g){let x=s?.generate()||{};i(h,x,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function fe(r,e){let{context:n,spec:t,callback:i,params:o,signalGenerator:s,$deliveryCache:f}=r,a={...e,entrants:[],exits:[]};if(o.eventDetails||delete a.event,["entrants","exits"].forEach(l=>{if(!(o.generation&&l!==o.generation)&&(t.length?a[l]=Ye.call(this,t,e[l],e.event!=="parse"):a[l]=[...e[l]],!!f))for(let m of a[l])f[l].push(m)}),!a.entrants.length&&!a.exits.length)return;let c=s?.generate()||{};i(a,c,n)}function Ye(r,e,n){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(o.type==="selector"){let s=o.isXpathAttr?[]:i.filter(f=>o.kind==="xpath"?be(this,f,o+""):f.matches&&f.matches(o+""));if((n||o.isXpathAttr)&&(s=i.reduce((f,a)=>o.kind==="xpath"?[...f,...Z(this,a,o,n)]:a.querySelectorAll?[...f,...a.querySelectorAll(o+"")]:f,s)),s.length)return s}else if(i.includes(o.content)||n&&i.some(s=>s.contains(o.content)))return[o.content]};return e.$$searchCache||(e.$$searchCache=new Map),r.reduce((i,o)=>{let s;return e.$$searchCache.has(o.content)?s=e.$$searchCache.get(o.content):(s=t(e,o)||[],o.type==="instance"&&e.$$searchCache.set(o.content,s)),i.concat(s)},[])}function Ie({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=A(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=A(n).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function Pe(r,e){let n=this,{webqit:t,document:i,Node:o,CharacterData:s,Element:f,HTMLElement:a,HTMLTemplateElement:c,DocumentFragment:l}=n;t.realdom.domInterceptionHooks||Object.defineProperty(t.realdom,"domInterceptionHooks",{value:new Map}),t.realdom.domInterceptionHooks.has(r)||t.realdom.domInterceptionHooks.set(r,new Set),t.realdom.domInterceptionHooks.get(r).add(e);let m=()=>t.realdom.domInterceptionHooks.get(r).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,w)=>{d.entrants.concat(d.exits).forEach(h=>{clearTimeout(t.realdom.domInterceptionRecords.get(h)?.timeout),t.realdom.domInterceptionRecords.set(h,d.event);let x=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(h)},0);Object.defineProperty(d.event,"timeout",{value:x,configurable:!0})}),t.realdom.domInterceptionHooks.get("intercept")?.forEach(h=>h(d));let _=w();return t.realdom.domInterceptionHooks.get("sync")?.forEach(h=>h(d)),_},p={characterData:Object.create(null),other:Object.create(null)};["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(d=>{function w(..._){let h=this instanceof s?p.characterData:p.other,x=()=>h[d].call(this,..._);if(!(this instanceof s||this instanceof f||this instanceof l))return x();let T=[],$=[],j=this;["insertBefore"].includes(d)?$=[_[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(d)?($=[_[1]],["beforebegin","afterend"].includes(_[0])&&(j=this.parentNode)):["setHTML","replaceChildren"].includes(d)?(T=[...this.childNodes],$=d==="replaceChildren"?[..._]:[_[0]]):["replaceWith","remove"].includes(d)?(T=[this],$=d==="replaceWith"?[..._]:[],j=this.parentNode):["replaceChild"].includes(d)?(T=[_[1]],$=[_[0]]):["removeChild"].includes(d)?T=[..._]:($=[..._],["before","after"].includes(d)&&(j=this.parentNode));let M=d;if(["insertAdjacentHTML","setHTML"].includes(d)){let de=this.nodeName;if(d==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(_[0])){if(!this.parentNode)return h[d].call(this,..._);de=this.parentNode.nodeName}let z=i.createElement(de);h.setHTML.call(z,$[0],d==="setHTML"?_[1]:{}),$=[...z.childNodes],d==="insertAdjacentHTML"?(M="insertAdjacentElement",_[1]=new l,_[1].______isTemp=!0,_[1].append(...z.childNodes)):(M="replaceChildren",_=[...z.childNodes])}return u({target:j,entrants:$,exits:T,type:"interception",event:[this,d]},()=>h[M].call(this,..._))}["insertBefore","replaceChild","removeChild","appendChild"].includes(d)?(p.other[d]=o.prototype[d],o.prototype[d]=w):(["after","before","remove","replaceWith"].includes(d)&&(p.characterData[d]=s.prototype[d],s.prototype[d]=w),f.prototype[d]&&(p.other[d]=f.prototype[d],f.prototype[d]=w))});let g=Object.create(null);return["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(d=>{let w=["textContent","nodeValue"].includes(d)?o:["outerText","innerText"].includes(d)?a:f;g[d]=Object.getOwnPropertyDescriptor(w.prototype,d),Object.defineProperty(w.prototype,d,{...g[d],set:function(_){let h=()=>g[d].set.call(this,_);if(!(this instanceof f))return h();let x=[],T=[],$=this;if(["outerHTML","outerText"].includes(d)?(x=[this],$=this.parentNode):x=[...this.childNodes],["outerHTML","innerHTML"].includes(d)){let M=this.nodeName;if(d==="outerHTML"){if(!this.parentNode)return h();M=this.parentNode.nodeName}let k=i.createElement(M==="TEMPLATE"?"div":M);g[d].set.call(k,_),T=this instanceof c?[]:[...k.childNodes],d==="outerHTML"?(_=new l,_.______isTemp=!0,_.append(...k.childNodes),h=()=>f.prototype.replaceWith.call(this,_)):this instanceof c?h=()=>this.content.replaceChildren(...k.childNodes):h=()=>f.prototype.replaceChildren.call(this,...k.childNodes)}return u({target:$,entrants:T,exits:x,type:"interception",event:[this,d]},h)}})}),["append","prepend","replaceChildren"].forEach(d=>{[i,l.prototype].forEach(w=>{let _=w[d];w[d]=function(...h){if(this.______isTemp)return _.call(this,...h);let x=d==="replaceChildren"?[...this.childNodes]:[];return u({target:this,entrants:h,exits:x,type:"interception",event:[this,d]},()=>_.call(this,...h))}})}),m}function Me(){Ze.call(this),Ke.call(this),et.call(this)}function Ze(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Ke(){let r=this;"isConnected"in r.Node.prototype||Object.defineProperty(r.Node.prototype,"isConnected",{get:function(){return!this.ownerDocument||!(this.ownerDocument.compareDocumentPosition(this)&this.DOCUMENT_POSITION_DISCONNECTED)}})}function et(){let r=this;r.Element.prototype.matches||(r.Element.prototype.matches=r.Element.prototype.matchesSelector||r.Element.prototype.mozMatchesSelector||r.Element.prototype.msMatchesSelector||r.Element.prototype.oMatchesSelector||r.Element.prototype.webkitMatchesSelector||function(e){for(var n=(this.document||this.ownerDocument).querySelectorAll(e),t=n.length;--t>=0&&n.item(t)!==this;);return t>-1})}function qe(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.realdom)return r.webqit.realdom;r.webqit.realdom={},Me.call(r),r.webqit.realdom.meta=(...n)=>tt.call(r,...n),r.webqit.realdom.ready=(...n)=>le.call(r,...n),r.webqit.realdom.realtime=(n,t="dom")=>{if(t==="dom")return new U(n,r);if(t==="attr")return new P(n,r)};let e=new X(r);return r.webqit.realdom.schedule=(n,...t)=>e[`on${n}`](...t),r.webqit.realdom}function le(...r){let e="interactive",n;D(r[0])?(e=r[0],b(r[1])&&(n=r[1])):b(r[0])&&(n=r[0]);let t={interactive:["interactive","complete"],complete:["complete"]};if(!t[e])throw new Error(`Invalid ready-state timing: ${e}.`);let i=this;if(!n)return i.webqit.realdom.readyStatePromises||(i.webqit.realdom.readyStatePromises={interactive:new Promise(o=>le.call(this,"interactive",o)),complete:new Promise(o=>le.call(this,"complete",o))}),i.webqit.realdom.readyStatePromises[e];if(t[e].includes(i.document.readyState))return n(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(n)}function tt(r){let e=this,n={},t;return(t=e.document.querySelector(`meta[name="${r}"]`))&&(n=(t.content||"").split(";").filter(i=>i).reduce((i,o)=>{let s=o.split("=").map(f=>f.trim());return oe(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:S(s[1])?parseInt(s[1]):s[1]),i},{})),{get name(){return r},get content(){return t.content},json(){return JSON.parse(JSON.stringify(n))}}}var L=(...r)=>N("oohtml",...r),rt={};function ke(r,e,n){let t=this,i=qe.call(t);t.webqit||(t.webqit={}),t.webqit.oohtml||(t.webqit.oohtml={}),t.webqit.oohtml.configs||(t.webqit.oohtml.configs={});let o=r.toUpperCase().replace("-","_");return t.webqit.oohtml.configs[o]||(t.webqit.oohtml.configs[o]={}),rt.window=t,G(2,t.webqit.oohtml.configs[o],n,e,i.meta(r).json()),{config:t.webqit.oohtml.configs[o],realdom:i,window:t}}function me(r={}){let{config:e,window:n}=ke.call(this,"html-bindings",r,{attr:{expr:"expr",itemIndex:"data-key"},tokens:{nodeType:"processing-instruction",tagStart:"?{",tagEnd:"}?",stateStart:"; [=",stateEnd:"]"},staticsensitivity:!0,isomorphic:!0});({CONTEXT_API:e.CONTEXT_API,BINDINGS_API:e.BINDINGS_API,HTML_IMPORTS:e.HTML_IMPORTS}=n.webqit.oohtml.configs),e.attrSelector=`[${n.CSS.escape(e.attr.expr)}]`;let t=(i,o)=>{let s=`starts-with(., "${i}")`,f=`substring(., string-length(.) - string-length("${o}") + 1) = "${o}"`;return`${s} and ${f}`};e.discreteBindingsSelector=`comment()[${t(e.tokens.tagStart,e.tokens.tagEnd)}]`,nt.call(n,e)}function nt(r){let e=this,{webqit:{realdom:n}}=e;n.realtime(e.document).subtree(`(${r.discreteBindingsSelector})`,t=>{Ne.call(this,...t.exits),it.call(this,r,...t.entrants)},{live:!0}),n.realtime(e.document).subtree(r.attrSelector,t=>{Ne.call(this,...t.exits),st.call(this,r,...t.entrants)},{live:!0,timing:"sync",staticSensitivity:r.staticsensitivity})}function He(r,e){let{webqit:{Observer:n,DOMBindingsContext:t}}=this;if(L(e).has("data-binding"))return L(e).get("data-binding");let i=Object.create(null),o=new AbortController;n.intercept(i,{get:(f,a,c)=>{if(!(f.key in i)){let l={...t.createRequest(f.key),live:!0,signal:o.signal};e[r.CONTEXT_API.api.contexts].request(l,m=>{n.set(i,f.key,m)})}return c(i[f.key]??(f.key in globalThis?globalThis[f.key]:void 0))},has:(f,a,c)=>c(!0)});let s={scope:i,abortController:o,bindings:new Map};return L(e).set("data-binding",s),s}function Ne(...r){for(let e of r){let n=e.nodeName==="#text"?e.parentNode:e,{bindings:t,abortController:i}=L(n).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(),L(n).delete("data-binding"))}}async function it(r,...e){let n=this,{webqit:{QuantumAsyncFunction:t}}=n,i=s=>{let f=r.tokens.tagStart.split("").map(g=>`\\${g}`).join(""),a=r.tokens.tagEnd.split("").map(g=>`\\${g}`).join(""),c=r.tokens.stateStart.split("").map(g=>g===" "?"(?:\\s+)?":`\\${g}`).join(""),l=r.tokens.stateEnd.split("").map(g=>`\\${g}`).join(""),m=`^${f}(.*?)(?:${c}(\\d+)${l}(?:\\s+)?)?${a}$`,[,u,p]=s.match(new RegExp(m));return{raw:s,expr:u,span:parseInt(p??0)}},o=e.reduce((s,f)=>{if(f.isBound)return s;let a=i(f.nodeValue),c=f;if(a.span){if(c=f.nextSibling,c?.nodeName!=="#text"||c.nodeValue.length<a.span)return s;c.nodeValue.length>a.span&&c.splitText(a.span)}else c=f.ownerDocument.createTextNode(""),f.after(c);c.isBound=!0;let l=f;return n.webqit.env!=="server"&&(l.remove(),l=null),s.concat({textNode:c,template:a,anchorNode:l})},[]);for(let{textNode:s,template:f,anchorNode:a}of o){let c=ot(r,f.expr),{scope:l,bindings:m}=He.call(this,r,s.parentNode);Object.defineProperty(s,"$oohtml_internal_databinding_anchorNode",{value:a,configurable:!0}),m.set(s,{state:await(await c.bind(s,l)).execute()})}}var ce=new Map;function ot(r,e){if(ce.has(e))return ce.get(e);let n=`let content = ((${e}) ?? '') + '';`;n+="this.nodeValue = content;",n+=`if ( this.$oohtml_internal_databinding_anchorNode ) { this.$oohtml_internal_databinding_anchorNode.nodeValue = "${r.tokens.tagStart}${F(e)}${r.tokens.stateStart}" + content.length + "${r.tokens.stateEnd} ${r.tokens.tagEnd}"; }`;let{webqit:{QuantumAsyncScript:t}}=this,i=new t(n);return ce.set(e,i),i}async function st(r,...e){for(let n of e){let t=ft(r,n.getAttribute(r.attr.expr)),{scope:i,bindings:o}=He.call(this,r,n),s=[];Object.defineProperty(n,"$oohtml_internal_databinding_signals",{value:s,configurable:!0}),o.set(n,{signals:s,state:await(await t.bind(n,i)).execute()})}}var ue=new Map;function ft(r,e){if(ue.has(e))return ue.get(e);let n={},t=ae(e,";").map(s=>{let[f,a]=ae(s,":").map(p=>p.trim()),c=f[0],l=f.slice(1).trim(),m=`(${a})`,u=`(${m} ?? '')`;if(c==="&")return l.startsWith("--")?`this.style.setProperty("${F(l)}", ${u});`:`this.style["${F(l)}"] = ${u};`;if(c==="%")return`this.classList.toggle("${F(l)}", !!${m});`;if(c==="~")return l.startsWith("?")?`this.toggleAttribute("${F(l.substring(1).trim())}", !!${m});`:`this.setAttribute("${F(l)}", ${u});`;if(c==="@"){if(n[l])throw new Error(`Duplicate binding: ${f}.`);if(n[l]=!0,l==="text")return`this.textContent = ${u};`;if(l==="html")return`this.setHTML(${u});`;if(l==="items"){let[p,g]=ae(a,"/");if(!g)throw new Error(`Invalid ${c}items spec: ${s}; no import specifier.`);let[d,w,_,h]=p.trim().match(/(.*?[\)\s+])(of|in)([\(\{\[\s+].*)/i)||[];if(!d)throw new Error(`Invalid ${c}items spec: ${s}.`);if(w.startsWith("(")?w=w.trim().slice(1,-1).split(",").map(T=>T.trim()):w=[w],w.length>(_==="in"?3:2))throw new Error(`Invalid ${c}items spec: ${s}.`);let x=_==="in"?w[2]:w[1]||"$index__";return`
2
+ let $iteratee__ = ${h};
3
+ let $import__ = this.${r.HTML_IMPORTS.context.api.import}( ${g.trim()}, true );
4
+ this.$oohtml_internal_databinding_signals?.push( $import__ );
5
5
 
6
6
  if ( $import__.value && $iteratee__ ) {
7
7
  let $existing__ = new Map;
8
8
  this.querySelectorAll( '[${r.attr.itemIndex}]' ).forEach( x => {
9
9
  $existing__.set( x.getAttribute( '${r.attr.itemIndex}' ), x );
10
10
  } );
11
- ${h?`let ${h} = -1;`:""}
12
- for ( let ${m[0]} ${x} $iteratee__ ) {
13
- ${h?`${h} ++;`:""}
14
- ${x==="in"&&m[1]?`let ${m[1]} = $iteratee__[ ${m[0]} ];`:""}
15
- const $itemBinding__ = { ${m.join(", ")} };
11
+ ${x?`let ${x} = -1;`:""}
12
+ for ( let ${w[0]} ${_} $iteratee__ ) {
13
+ ${x?`${x} ++;`:""}
14
+ ${_==="in"&&w[1]?`let ${w[1]} = $iteratee__[ ${w[0]} ];`:""}
15
+ const $itemBinding__ = { ${w.join(", ")} };
16
16
 
17
- const $key___ = ( ${x==="in"?m[0]:h} ) + '';
17
+ const $key___ = ( ${_==="in"?w[0]:x} ) + '';
18
18
  let $itemNode__ = $existing__.get( $key___ );
19
19
  if ( $itemNode__ ) {
20
20
  $existing__.delete( $key___ );
@@ -25,10 +25,10 @@
25
25
  }
26
26
 
27
27
  $itemNode__.${r.BINDINGS_API.api.bind}( $itemBinding__ );
28
- if ( ${x==="in"?`!( ${m[0]} in $iteratee__ )`:`typeof ${m[0]} === 'undefined'`} ) { $itemNode__.remove(); }
28
+ if ( ${_==="in"?`!( ${w[0]} in $iteratee__ )`:`typeof ${w[0]} === 'undefined'`} ) { $itemNode__.remove(); }
29
29
  }
30
30
  $existing__.forEach( x => x.remove() );
31
31
  $existing__.clear();
32
- }`}}if(o.trim())throw new Error(`Invalid binding: ${o}.`)}).join(`
33
- `);return le.set(e,i),i}function ce(r,e){return[...r].reduce(([n,t,i,o],s)=>!n&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[n,t,[""].concat(i)]:(!n&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!n&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(n=n===s?null:n||s),i[0]+=s,[n,t,i]),[null,0,[""]])[2].reverse()}ue.call(window);})();
32
+ }`}}if(s.trim())throw new Error(`Invalid binding: ${s}.`)}).join(`
33
+ `),{webqit:{QuantumAsyncScript:i}}=this,o=new i(t);return ue.set(e,o),o}function ae(r,e){return[...r].reduce(([n,t,i,o],s)=>!n&&t===0&&(Array.isArray(e)?e:[e]).includes(s)?[n,t,[""].concat(i)]:(!n&&["(","[","{"].includes(s)&&!i[0].endsWith("\\")&&t++,!n&&[")","]","}"].includes(s)&&!i[0].endsWith("\\")&&t--,['"',"'","`"].includes(s)&&!i[0].endsWith("\\")&&(n=n===s?null:n||s),i[0]+=s,[n,t,i]),[null,0,[""]])[2].reverse()}var F=r=>r.replace(/"/g,'\\"');me.call(window);})();
34
34
  //# sourceMappingURL=data-binding.js.map