@webqit/oohtml 2.1.26 → 2.1.28

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,2 +1,2 @@
1
- (()=>{function w(r){return!Array.isArray(r)&&typeof r=="object"&&r}function y(r){return Array.isArray(r)}function se(r,e,n=null){return y(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function K(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)?se(r,e).length:r.includes(e);function k(r){return typeof r=="function"}function G(r){return r===null||r===""}function I(r){return arguments.length&&(r===void 0||typeof r>"u")}function A(r){return Array.isArray(r)||typeof r=="object"&&r||k(r)}function ue(r){return G(r)||I(r)||r===!1||r===0||A(r)&&!Object.keys(r).length}function b(r){return k(r)||r&&{}.toString.call(r)==="[object function]"}function U(r){return r instanceof Number||typeof r=="number"}function P(r){return U(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function ee(r){return r instanceof String||typeof r=="string"&&r!==null}function ce(r){return!ee(r)&&!I(r.length)}function O(r,e=!0){return y(r)?r:!e&&w(r)?[r]:r!==!1&&r!==0&&ue(r)?[]:ce(r)?Array.prototype.slice.call(r):w(r)?Object.values(r):[r]}function j(r,e,n={},t={}){e=O(e).slice();for(var i=r;!I(i)&&!G(i)&&e.length;){var o=e.shift();if(!(n.get?n.get(i,o):A(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 le(r,e,n,t={},i={}){let o=(s,u,d)=>i.set?i.set(s,u,d):(P(e[m])&&y(s)?s.push(d):s[u]=d,!0);e=O(e);for(var f=r,m=0;m<e.length;m++)if(m<e.length-1){if(!f||!A(f)&&!b(f))return!1;var a=j(f,e[m],i);if(!A(a)){if(i.buildTree===!1)return!1;a=b(i.buildTree)?i.buildTree(m):P(e[m+1])?[]:{};var c=o(f,e[m],a);if(!c)return!1}f=a}else return o(f,e[m],n)}var Ce=r=>class{constructor(n=!0){Object.defineProperty(this,"window",{value:r}),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(()=>{this.readCallbacks.forEach(n=>{n()||this.readCallbacks.delete(n)}),this.writeCallbacks.forEach(n=>{n()||this.writeCallbacks.delete(n)}),this._run()})}onread(n,t=!1){if(t)return new Promise((i,o)=>{this.async===!1?n(i,o):this.readCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.readCallbacks.add(n)}onwrite(n,t=!1){if(t)return new Promise((i,o)=>{this.async===!1?n(i,o):this.writeCallbacks.add(()=>{n(i,o)})});this.async===!1?n():this.writeCallbacks.add(n)}cycle(n,t,i){this.onread(()=>{let o=n(i),f=m=>{m!==void 0&&this.onwrite(()=>{let a=t(m,i),c=s=>{s!==void 0&&this.cycle(n,t,s)};a instanceof Promise?a.then(c):c(a)})};o instanceof Promise?o.then(f):f(o)})}};var L=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){return b(e[0])?e=[[],...e]:w(e[0])&&e.length===1?e=[[],void 0,e[0]]:w(e[1])&&e.length===2?e=[O(e[0],!1),void 0,e[1]]:e[0]=O(e[0],!1),e}registry(...e){return K("dom.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],f=new Set;for(let[m,a]of this.registry(e))for(let[c,s]of a){let u=o.filter(d=>c.contains(d.target)?m==="subtree"||d.target===c:!1);if(!!u.length){Array.isArray(n)||(u=u[0]);for(let d of s)f.add([d,u,c])}}for(let[m,a,c]of f)t.call(this,m,a,c)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&b(i.disconnect)&&i.disconnect()||b(i)&&i()||w(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var F=class extends L{constructor(e,...n){super(e,"attr",...n)}get(e,n=void 0,t={}){let i=typeof e=="string";[e=[],n=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,f=Ie(o,e),m=i?f[0]:f;if(!n)return m;let a=n&&t.lifecycleSignals&&this.createSignalGenerator(),c=a?.generate()||{};if(n(m,c,o),t.live){a&&(t={...t,signalGenerator:a});let s=this.observe(i?e[0]:e,n,{newValue:!0,...t});return this.disconnectables(t.signal,s)}}observe(e,n,t={}){let i=typeof e=="string";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:f,webqit:m}=this;t.eventDetails&&!m.dom.attrInterceptionHooks?.intercepting&&Pe.call(f,"intercept",()=>{});let a=new f.MutationObserver(d=>{d=Me(d).map(g=>Fe.call(f,g)),Se.call(f,u,d,o)}),c={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(c.attributeFilter=e),a.observe(o,c);let s=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),u={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:s,disconnectable:a};return this.disconnectables(t.signal,a,s)}observeSync(e,n,t={}){let i=typeof e=="string";[e,n,t={}]=this.resolveArgs(arguments);let{context:o,window:f}=this;if(t.timing&&!["sync","intercept"].includes(t.timing))throw new Error(`Timing option "${t.timing}" invalid.`);let m=t.timing==="intercept"?"intercept":"sync",a=t.subtree?"subtree":"children";this.registry(m).size||Pe.call(f,m,l=>{this.forEachMatchingContext(m,l,Se)});let c={disconnect(){g.delete(u),g.size||d.delete(o)}},s=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),u={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:s,disconnectable:c},d=this.registry(m,a);d.has(o)||d.set(o,new Set);let g=d.get(o);return g.add(u),this.disconnectables(t.signal,c,s)}};function Me(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function Se(r,e){let{context:n,filter:t,callback:i,params:o,atomics:f,originalFilterIsString:m,signalGenerator:a}=r;o.atomic&&!f.size&&(e=Ie(n,t,e)),o.newValue===null&&o.oldValue===null||(e=e.map(u=>{let d;return!o.oldValue&&"oldValue"in u&&({oldValue:d,...u}=u),!o.newValue&&"value"in u?{value:d,...u}=u:o.newValue&&typeof u.value>"u"&&(u={...u,value:u.target.getAttribute(u.name)}),u})),o.atomic&&(e.forEach(u=>f.set(u.name,u)),e=Array.from(f.entries()).map(([,u])=>u));let c=m?e[0]:e,s=a?.generate()||{};i(c,s,n)}function Ie(r,e,n=[]){let t={event:null,type:"attribute"};return e.length?e.map(o=>n.find(f=>f.name===o)||{target:r,name:o,value:r.getAttribute(o),...t}):Array.from(r.attributes).map(o=>n.find(f=>f.name===o.nodeName)||{target:r,name:o.nodeName,value:o.nodeValue,...t})}function Fe({target:r,attributeName:e,value:n,oldValue:t}){let f=(this.webqit.dom.attrInterceptionRecords?.get(r)||{})[e]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:f}}function Pe(r,e){let n=this,{webqit:t,document:i,Element:o}=n;t.dom.attrInterceptionHooks||Object.defineProperty(t.dom,"attrInterceptionHooks",{value:new Map}),t.dom.attrInterceptionHooks.has(r)||t.dom.attrInterceptionHooks.set(r,new Set),t.dom.attrInterceptionHooks.get(r).add(e);let f=()=>t.dom.attrInterceptionHooks.get(r).delete(e);if(t.dom.attrInterceptionHooks?.intercepting)return f;console.warn("Attr mutation APIs are now being intercepted."),t.dom.attrInterceptionHooks.intercepting=!0,Object.defineProperty(t.dom,"attrInterceptionRecords",{value:new Map});let m=(s,u)=>{t.dom.attrInterceptionRecords.has(s.target)||t.dom.attrInterceptionRecords.set(s.target,{});let d=t.dom.attrInterceptionRecords.get(s.target);clearTimeout(d[s.name]?.timeout),d[s.name]=s.event;let g=setTimeout(()=>{delete d[s.name]},0);Object.defineProperty(s.event,"timeout",{value:g,configurable:!0}),t.dom.attrInterceptionHooks.get("intercept")?.forEach(h=>h([s]));let l=u();return t.dom.attrInterceptionHooks.get("sync")?.forEach(h=>h([s])),l};new n.MutationObserver(s=>{s=Me(s).map(u=>Fe.call(n,u)).filter((u,d)=>!Array.isArray(u.event)),s.length&&(t.dom.attrInterceptionHooks.get("intercept")?.forEach(u=>u(s)),t.dom.attrInterceptionHooks.get("sync")?.forEach(u=>u(s)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let c=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(s=>{c[s]=o.prototype[s],o.prototype[s]=function(...u){let d,g=this.getAttribute(u[0]);["setAttribute","toggleAttribute"].includes(s)&&(d=u[1]),s==="toggleAttribute"&&d===void 0&&(d=g===null);let l={target:this,name:u[0],value:d,oldValue:g,type:"interception",event:[this,s]};return m(l,()=>c[s].call(this,...u))}}),f}var V=class extends L{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new F(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,f=c=>(o.has(c)||o.set(c,{target:c,entrants:[],exits:[],type:"query",event:null}),o.get(c));if((!t.generation||t.generation==="entrants")&&(e.length?e.every(c=>typeof c=="string")&&(e=e.join(","))&&(t.subtree?i.querySelectorAll(e):[...i.children].filter(s=>s.matches(e))).forEach(s=>f(s.parentNode||i).entrants.push(s)):[...i.children].forEach(c=>f(i).entrants.push(c))),!n)return o;let m={disconnected:!1},a=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,c]of o){if(m.disconnected)break;let s=a?.generate()||{};n(c,s,i)}if(t.live){a&&(t={...t,signalGenerator:a});let c=this.observe(e,n,t);return this.disconnectables(t.signal,m,c)}return this.disconnectables(t.signal,m,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:f,document:m}=this;t.eventDetails&&(f.dom.domInterceptionRecordsAlwaysOn=!0),(m.readyState==="loading"||f.dom.domInterceptionRecordsAlwaysOn)&&!f.dom.domInterceptionHooks?.intercepting&&Le.call(o,"sync",()=>{});let a=new o.MutationObserver(u=>u.forEach(d=>{He.call(o,s,Re.call(o,d),i)}));a.observe(i,{childList:!0,subtree:t.subtree});let c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),s={context:i,selectors:e,callback:n,params:t,signalGenerator:c,disconnectable:a};if(t.staticSensitivity){let u=Ne.call(o,s);return this.disconnectables(t.signal,a,c,u)}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 f=t.timing==="intercept"?"intercept":"sync",m=t.subtree?"subtree":"children";this.registry(f).size||Le.call(o,f,g=>{this.forEachMatchingContext(f,g,He)});let a={disconnect(){d.delete(s),d.size||u.delete(i)}},c=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),s={context:i,selectors:e,callback:n,params:t,signalGenerator:c,disconnectable:a},u=this.registry(f,m);u.has(i)||u.set(i,new Set);let d=u.get(i);if(d.add(s),t.staticSensitivity){let g=Ne.call(o,s);return this.disconnectables(t.signal,a,c,g)}return this.disconnectables(t.signal,a,c)}};function Ne(r){let e=this,{context:n,selectors:t,callback:i,params:o,signalGenerator:f}=r,m=s=>[...s.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(u=>u[1]);if(!(r.$attrs=t.filter(s=>typeof s=="string"&&s.includes("[")).reduce((s,u)=>s.concat(m(u)),[])).length)return;let a=new Set,c=new Set;return a.push=s=>(c.delete(s),a.add(s)),c.push=s=>(a.delete(s),c.add(s)),r.$deliveryCache={entrants:a,exits:c},new F(n,e).observe(r.$attrs,s=>{let u=new Map,d=h=>(u.has(h)||u.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),u.get(h)),g=new WeakMap,l=h=>(g.has(h)||g.set(h,t.some(p=>h.matches(p))),g.get(h));for(let h of s)["entrants","exits"].forEach(p=>{o.generation&&p!==o.generation||r.$deliveryCache[p].has(h.target)||(p==="entrants"?!l(h.target):l(h.target))||(r.$deliveryCache[p].push(h.target),d(h.target)[p].push(h.target),d(h.target).event=h.event)});for(let[,h]of u){let p=f?.generate()||{};i(h,p,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function He(r,e){let{context:n,selectors:t,callback:i,params:o,signalGenerator:f,$deliveryCache:m}=r,a={...e,entrants:[],exits:[]};if(["entrants","exits"].forEach(s=>{if(!(o.generation&&s!==o.generation)&&(t.length?a[s]=ct(t,e[s],e.event!=="parse"):a[s]=[...e[s]],!!m))for(let u of a[s])m[s].push(u)}),!a.entrants.length&&!a.exits.length)return;let c=f?.generate()||{};i(a,c,n)}function ct(r,e,n){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(i=i.filter(f=>f.matches),typeof o=="string"){let f=i.filter(m=>m.matches(o));if(n&&(f=i.reduce((m,a)=>[...m,...a.querySelectorAll(o)],f)),f.length)return f}else if(i.includes(o)||n&&i.some(f=>f.contains(o)))return[o]};return e.$$searchCache||(e.$$searchCache=new Map),r.reduce((i,o)=>{let f;return e.$$searchCache.has(o)?f=e.$$searchCache.get(o):(f=t(e,o)||[],w(o)&&e.$$searchCache.set(o,f)),i.concat(f)},[])}function Re({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=O(e).reduce((o,f)=>o||t.webqit.dom.domInterceptionRecords?.get(f),null),i=O(n).reduce((o,f)=>o||t.webqit.dom.domInterceptionRecords?.get(f),i),i=i||t.document.readyState==="loading"&&"parse"||"mutation",{target:r,entrants:e,exits:n,type:"observation",event:i}}function Le(r,e){let n=this,{webqit:t,document:i,Node:o,Element:f,HTMLElement:m,HTMLTemplateElement:a,DocumentFragment:c}=n;t.dom.domInterceptionHooks||Object.defineProperty(t.dom,"domInterceptionHooks",{value:new Map}),t.dom.domInterceptionHooks.has(r)||t.dom.domInterceptionHooks.set(r,new Set),t.dom.domInterceptionHooks.get(r).add(e);let s=()=>t.dom.domInterceptionHooks.get(r).delete(e);if(t.dom.domInterceptionHooks?.intercepting)return s;console.warn("DOM mutation APIs are now being intercepted."),t.dom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.dom,"domInterceptionRecords",{value:new Map});let u=()=>!0,d=(l,h)=>{u()?l.entrants.concat(l.exits).forEach(x=>{clearTimeout(t.dom.domInterceptionRecords.get(x)?.timeout),t.dom.domInterceptionRecords.set(x,l.event);let v=setTimeout(()=>{t.dom.domInterceptionRecords.delete(x)},0);Object.defineProperty(l.event,"timeout",{value:v,configurable:!0})}):t.dom.domInterceptionRecords.clear(),t.dom.domInterceptionHooks.get("intercept")?.forEach(x=>x(l));let p=h();return t.dom.domInterceptionHooks.get("sync")?.forEach(x=>x(l)),p};if(u()){let l=new n.MutationObserver(h=>h.forEach(p=>{Array.isArray((p=Re.call(n,p)).event)||(t.dom.domInterceptionHooks.get("intercept")?.forEach(x=>x(p)),t.dom.domInterceptionHooks.get("sync")?.forEach(x=>x(p)))}));l.observe(i,{childList:!0,subtree:!0}),i.addEventListener("readystatechange",()=>!u()&&l.disconnect())}let g=Object.create(null);return["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(l=>{let h=["insertBefore","replaceChild","removeChild","appendChild"].includes(l)?o:f;g[l]=h.prototype[l],g[l]&&(h.prototype[l]=function(...p){let x=()=>g[l].call(this,...p);if(!(this instanceof f||this instanceof c))return x();let v=[],T=[],H=this;["insertBefore"].includes(l)?T=[p[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(l)?(T=[p[1]],["beforebegin","afterend"].includes(p[0])&&(H=this.parentNode)):["setHTML","replaceChildren"].includes(l)?(v=[...this.childNodes],T=l==="replaceChildren"?[...p]:[p[0]]):["replaceWith","remove"].includes(l)?(v=[this],T=l==="replaceWith"?[...p]:[],H=this.parentNode):["replaceChild"].includes(l)?(v=[p[1]],T=[p[0]]):["removeChild"].includes(l)?v=[...p]:(T=[...p],["before","after"].includes(l)&&(H=this.parentNode));let Q=l;if(["insertAdjacentHTML","setHTML"].includes(l)){let N=this.nodeName;if(l==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(p[0])){if(!this.parentNode)return g[l].call(this,...p);N=this.parentNode.nodeName}let Y=i.createElement(N);g.setHTML.call(Y,T[0],l==="setHTML"?p[1]:{}),T=[...Y.childNodes],l==="insertAdjacentHTML"?(Q="insertAdjacentElement",p[1]=new c,p[1].______isTemp=!0,p[1].append(...Y.childNodes)):(Q="replaceChildren",p=[...Y.childNodes])}return d({target:H,entrants:T,exits:v,type:"interception",event:[this,l]},()=>g[Q].call(this,...p))})}),["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(l=>{let h=["textContent","nodeValue"].includes(l)?o:["outerText","innerText"].includes(l)?m:f;g[l]=Object.getOwnPropertyDescriptor(h.prototype,l),Object.defineProperty(h.prototype,l,{...g[l],set:function(p){let x=()=>g[l].set.call(this,p);if(!(this instanceof f))return x();let v=[],T=[],H=this;if(["outerHTML","outerText"].includes(l)?(v=[this],H=this.parentNode):v=[...this.childNodes],["outerHTML","innerHTML"].includes(l)){let X=this.nodeName;if(l==="outerHTML"){if(!this.parentNode)return x();X=this.parentNode.nodeName}let N=i.createElement(X==="TEMPLATE"?"div":X);g[l].set.call(N,p),T=this instanceof a?[]:[...N.childNodes],l==="outerHTML"?(p=new c,p.______isTemp=!0,p.append(...N.childNodes),x=()=>g.replaceWith.call(this,p)):this instanceof a?x=()=>this.content.replaceChildren(...N.childNodes):x=()=>g.replaceChildren.call(this,...N.childNodes)}return d({target:H,entrants:T,exits:v,type:"interception",event:[this,l]},x)}})}),["append","prepend","replaceChildren"].forEach(l=>{[i,c.prototype].forEach(h=>{let p=h[l];h[l]=function(...x){if(this.______isTemp)return p.call(this,...x);let v=l==="replaceChildren"?[...this.childNodes]:[];return d({target:this,entrants:x,exits:v,type:"interception",event:[this,l]},()=>p.call(this,...x))}})}),s}function ke(){mt.call(this),lt.call(this),at.call(this)}function mt(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function lt(){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 at(){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 De(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.dom)return r.webqit.dom;r.webqit.dom={},ke.call(r);let e=Ce(r);return r.webqit.dom.Reflow=new e,r.webqit.dom.DOMRealtime=V,r.webqit.dom.AttrRealtime=F,r.webqit.dom.realtime=(n,t="tree")=>{if(t==="tree")return new V(n,r);if(t==="attr")return new F(n,r)},r.webqit.dom.ready=pt.bind(r),r.webqit.dom.meta=dt.bind(r),r.webqit.dom}function pt(r,e="interactive"){let n={interactive:["interactive","complete"],complete:["complete"]};if(!n[e])return;let t=this;if(n[e].includes(t.document.readyState))return r(t);t.webqit.dom.readyStateCallbacks||(t.webqit.dom.readyStateCallbacks={interactive:[],complete:[]},t.document.addEventListener("readystatechange",()=>{let i=t.document.readyState;for(let o of t.webqit.dom.readyStateCallbacks[i].splice(0))o(t)},!1)),t.webqit.dom.readyStateCallbacks[e].push(r)}function dt(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 f=o.split("=").map(m=>m.trim());return le(i,f[0].split("."),f[1]==="true"?!0:f[1]==="false"?!1:P(f[1])?parseInt(f[1]):f[1]),i},{})),{get name(){return r},get content(){return t.content},json(){return JSON.parse(JSON.stringify(n))}}}function C(r){return!Array.isArray(r)&&typeof r=="object"&&r}function _(r){return Array.isArray(r)}function $e(r,e,n=null){return _(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function ne(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new W}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new W,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new W,i.set(t,n));return n}var W=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)!(re([e,"*"],i.type)&&re([n,"*"],i.key)&&i.callback===t)||this.observers.delete(i)}fire(e,n,...t){for(let i of this.observers)!(re([e,"*"],i.type)&&re([n,"*"],i.key))||i.callback(...t)}},re=(r,e)=>Array.isArray(e)?$e(r,e).length:r.includes(e);function $(r){return typeof r=="function"}function S(r){return Array.isArray(r)||typeof r=="object"&&r||$(r)}function E(r){return $(r)||r&&{}.toString.call(r)==="[object function]"}function ie(r){return r instanceof Number||typeof r=="number"}function R(r){return ie(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function Ge(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function de(t,e){e=e||Object.prototype,e=e&&!_(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 he(r,e){var n=[];return de(r,e).forEach(t=>{Ge(n,...Object.getOwnPropertyNames(t))}),n}function M(r,e,n=!1,t=!1,i=!1){var o=0,f=r.shift();if((R(f)||f===!0||f===!1)&&(o=f,f=r.shift()),!r.length)throw new Error("_merge() requires two or more array/objects.");return r.forEach((m,a)=>{!S(m)&&!E(m)||(n?he(m):Object.keys(m)).forEach(c=>{if(!!e(c,f,m,a)){var s=f[c],u=m[c];if((_(s)&&_(u)||C(s)&&C(u))&&(o===!0||o>0))f[c]=_(s)&&_(u)?[]:{},M([R(o)?o-1:o,f[c],s,u],e,n,t,i);else if(_(f)&&_(m))t?f[c]=u:f.push(u);else try{i?Object.defineProperty(f,c,Object.getOwnPropertyDescriptor(m,c)):f[c]=m[c]}catch{}}})}),f}function z(...r){return M(r,(e,n,t)=>!0,!1,!1,!1)}var fe=(...r)=>ne("oohtml",...r);function je(r,e,n){let t=r.toUpperCase().replace("-","_"),i=this,o=De.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),z(2,i.webqit.oohtml.configs[t],n,e,o.meta(r).json()),{config:i.webqit.oohtml.configs[t],dom:o,window:i}}function ye(r,e,n=1,t=!1){if(n&&typeof r=="object"&&r&&typeof e=="object"&&e&&(!t||Object.keys(r).length===Object.keys(e).length)){for(let i in r)if(!ye(r[i],e[i],n-1,t))return!1;return!0}return Array.isArray(r)&&Array.isArray(e)&&r.length===e.length?(e=e.slice(0).sort())&&r.slice(0).sort().every((i,o)=>i===e[o]):r===e}function We(){let r=this;return class extends r.Event{constructor(n,t,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>n}),Object.defineProperty(this,"callback",{get:()=>t})}respondWith(n,...t){if(this.request.diff){if("previousValue"in this&&this.previousValue===n)return;this.previousValue=n}return this.callback(n,...t)}}}var q=class{static instance(e){return fe(e).get("contextsmanager::instance")||new this(e)}constructor(e){fe(e).get("contextsmanager::instance")?.dispose(),fe(e).set("contextsmanager::instance",this);let n={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>n});let t=We.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield n.contexts[Symbol.iterator]().next().value}}get length(){this["#"].contexts.size}find(e){return[...this["#"].contexts].find(e)}attach(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detach(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}ask(e,n,t={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,n,{bubbles:!0,...t}))}dispose(){}};var J=class{static get config(){return{}}static attachTo(e,n,t=!1){let i,o=q.instance(e);return!t&&(i=o.find(f=>this.matchRequest(f.id,n,!0)))?i:o.attach(new this(n))}static detachFrom(e,n,t=!1){let i,o=q.instance(e);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof t=="function"&&!t(i))&&(o.detach(i),typeof t!="function"&&!t))return i}static createId(e,n={}){let t={type:"HTMLModules",...n};return t.name||(e.getAttribute&&!(t.name=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.name:e.ownerDocument||(t.name="root")),t}static createRequest(e={}){return{...e}}static matchRequest(e,n,t=!1){return t?ye(e,n,1,!0):n.type===e.type&&!n.name||n.name===e.name}constructor(e){Object.defineProperty(this,"id",{get:()=>e}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(e){}subscribe(e){this.subscriptions.add(e),e.request.signal&&e.request.signal.addEventListener("abort",()=>{this.unsubscribe(e)})}unsubscribe(e){this.subscriptions.delete(e),e.request.controller?.abort()}handleEvent(e){if(!(this.disposed||e.target===this.host&&e.request?.superContextOnly||!e.request||typeof e.callback!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let n=new Set;this.subscriptions.forEach(t=>{!e.target.contains(t.request.superContextOnly?t.target.parentNode:t.target)||!this.constructor.matchRequest(e.request,t.request)||(this.subscriptions.delete(t),n.add(t))}),e.respondWith(n)}else e.type==="contextrequest"&&(e.request.live&&this.subscribe(e),this.handle(e))}initialize(e){return this.host=e,this.disposed=!1,e.addEventListener("contextrequest",this),e.addEventListener("contextclaim",this),q.instance(e).ask({...this.id,superContextOnly:!0},n=>n.forEach(t=>{this.subscribe(t),this.handle(t)}),{type:"contextclaim"}),this}dispose(e){return this.disposed=!0,e.removeEventListener("contextrequest",this),e.removeEventListener("contextclaim",this),this.subscriptions.forEach(n=>{this.unsubscribe(n);let{target:t,request:i,callback:o,params:f}=n;q.instance(t).ask(i,o,f)}),this}};function xe(r={}){let{config:e,window:n}=je.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextManager=q,n.webqit.HTMLContext=J,Tt.call(n,e)}function Tt(r){let e=this;if(r.api.context in e.document)throw new Error(`document already has a "${r.api.context}" property!`);if(r.api.context in e.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${r.api.context}" property!`);Object.defineProperty(e.document,r.api.context,{get:function(){return q.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,r.api.context,{get:function(){return q.instance(this)}})}xe.call(window);})();
1
+ (()=>{function w(r){return!Array.isArray(r)&&typeof r=="object"&&r}function g(r){return Array.isArray(r)}function Y(r,e,n=null){return g(e)?r.filter(t=>n?e.filter(i=>n(t,i)).length:e.indexOf(t)!==-1):[]}function H(r,...e){if(globalThis.webqit||(globalThis.webqit={}),globalThis.webqit.refs||Object.defineProperty(globalThis.webqit,"refs",{value:new k}),!arguments.length)return globalThis.webqit.refs;let n=globalThis.webqit.refs.get(r);n||(n=new k,globalThis.webqit.refs.set(r,n));let t,i;for(;t=e.shift();)(i=n)&&!(n=n.get(t))&&(n=new k,i.set(t,n));return n}var k=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)?Y(r,e).length:r.includes(e);function L(r){return typeof r=="function"}function j(r){return r===null||r===""}function S(r){return arguments.length&&(r===void 0||typeof r>"u")}function b(r){return Array.isArray(r)||typeof r=="object"&&r||L(r)}function Z(r){return j(r)||S(r)||r===!1||r===0||b(r)&&!Object.keys(r).length}function _(r){return L(r)||r&&{}.toString.call(r)==="[object function]"}function N(r){return r instanceof Number||typeof r=="number"}function C(r){return N(r)||r!==!0&&r!==!1&&r!==null&&r!==""&&!isNaN(r*1)}function F(r){return r instanceof String||typeof r=="string"&&r!==null}function K(r){return!F(r)&&!S(r.length)}function J(r,...e){return e.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r}function ee(t,e){e=e||Object.prototype,e=e&&!g(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 te(r,e){var n=[];return ee(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((C(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((u,m)=>{!b(u)&&!_(u)||(n?te(u):Object.keys(u)).forEach(l=>{if(!!e(l,s,u,m)){var f=s[l],c=u[l];if((g(f)&&g(c)||w(f)&&w(c))&&(o===!0||o>0))s[l]=g(f)&&g(c)?[]:{},T([C(o)?o-1:o,s[l],f,c],e,n,t,i);else if(g(s)&&g(u))t?s[l]=c:s.push(c);else try{i?Object.defineProperty(s,l,Object.getOwnPropertyDescriptor(u,l)):s[l]=u[l]}catch{}}})}),s}function D(...r){return T(r,(e,n,t)=>!0,!1,!1,!1)}function v(r,e=!0){return g(r)?r:!e&&w(r)?[r]:r!==!1&&r!==0&&Z(r)?[]:K(r)?Array.prototype.slice.call(r):w(r)?Object.values(r):[r]}function R(r,e,n={},t={}){e=v(e).slice();for(var i=r;!S(i)&&!j(i)&&e.length;){var o=e.shift();if(!(n.get?n.get(i,o):b(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 ne(r,e,n,t={},i={}){let o=(f,c,p)=>i.set?i.set(f,c,p):(C(e[u])&&g(f)?f.push(p):f[c]=p,!0);e=v(e);for(var s=r,u=0;u<e.length;u++)if(u<e.length-1){if(!s||!b(s)&&!_(s))return!1;var m=R(s,e[u],i);if(!b(m)){if(i.buildTree===!1)return!1;m=_(i.buildTree)?i.buildTree(u):C(e[u+1])?[]:{};var l=o(s,e[u],m);if(!l)return!1}s=m}else return o(s,e[u],n)}var $=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}#e(){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 u=n(s,t),m=l=>{l!==void 0&&this.cycle(e,n,l)};u instanceof Promise?u.then(m):m(u)})};i instanceof Promise?i.then(o):o(i)})}};var P=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){return _(e[0])?e=[[],...e]:w(e[0])&&e.length===1?e=[[],void 0,e[0]]:w(e[1])&&e.length===2?e=[v(e[0],!1),void 0,e[1]]:e[0]=v(e[0],!1),e}registry(...e){return H("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[u,m]of this.registry(e))for(let[l,f]of m){let c=o.filter(p=>l.contains(p.target)?u==="subtree"||p.target===l:!1);if(!!c.length){Array.isArray(n)||(c=c[0]);for(let p of f)s.add([p,c,l])}}for(let[u,m,l]of s)t.call(this,u,m,l)}disconnectables(e,...n){let t={disconnect(){n.forEach(i=>i&&_(i.disconnect)&&i.disconnect()||_(i)&&i()||w(i)&&(i.disconnected=!0))}};return e&&e.addEventListener("abort",()=>t.disconnect()),t}};var I=class extends P{constructor(e,...n){super(e,"attr",...n)}get(e,n=void 0,t={}){let i=typeof e=="string";[e=[],n=void 0,t={}]=this.resolveArgs(arguments);let{context:o}=this,s=ye(o,e),u=i?s[0]:s;if(!n)return u;let m=n&&t.lifecycleSignals&&this.createSignalGenerator(),l=m?.generate()||{};if(n(u,l,o),t.live){m&&(t={...t,signalGenerator:m});let f=this.observe(i?e[0]:e,n,{newValue:!0,...t});return this.disconnectables(t.signal,f)}}observe(e,n,t={}){let i=typeof e=="string";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:u}=this;t.eventDetails&&!u.realdom.attrInterceptionHooks?.intercepting&&he.call(s,"intercept",()=>{});let m=new s.MutationObserver(p=>{p=ge(p).map(y=>_e.call(s,y)),pe.call(s,c,p,o)}),l={attributes:!0,attributeOldValue:t.oldValue,subtree:t.subtree};e.length&&(l.attributeFilter=e),m.observe(o,l);let f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:m};return this.disconnectables(t.signal,m,f)}observeSync(e,n,t={}){let i=typeof e=="string";[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 u=t.timing==="intercept"?"intercept":"sync",m=t.subtree?"subtree":"children";this.registry(u).size||he.call(s,u,a=>{this.forEachMatchingContext(u,a,pe)});let l={disconnect(){y.delete(c),y.size||p.delete(o)}},f=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),c={context:o,filter:e,callback:n,params:t,atomics:new Map,originalFilterIsString:i,signalGenerator:f,disconnectable:l},p=this.registry(u,m);p.has(o)||p.set(o,new Set);let y=p.get(o);return y.add(c),this.disconnectables(t.signal,l,f)}};function ge(r){return r.reduce((e,n,t)=>e[t-1]?.attributeName===n.attributeName?e:e.concat(n),[])}function pe(r,e){let{context:n,filter:t,callback:i,params:o,atomics:s,originalFilterIsString:u,signalGenerator:m}=r;o.atomic&&!s.size&&(e=ye(n,t,e)),o.newValue===null&&o.oldValue===null&&o.eventDetails||(e=e.map(c=>{o.eventDetails||({event:p,...c}=c);let p;return!o.oldValue&&"oldValue"in c&&({oldValue:p,...c}=c),!o.newValue&&"value"in c?{value:p,...c}=c:o.newValue&&typeof c.value>"u"&&(c={...c,value:c.target.getAttribute(c.name)}),c})),o.atomic&&(e.forEach(c=>s.set(c.name,c)),e=Array.from(s.entries()).map(([,c])=>c));let l=u?e[0]:e,f=m?.generate()||{};i(l,f,n)}function ye(r,e,n=[]){let t={event:null,type:"attribute"};return e.length?e.map(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 _e({target:r,attributeName:e,value:n,oldValue:t}){let s=(this.webqit.realdom.attrInterceptionRecords?.get(r)||{})[e]||"mutation";return{target:r,name:e,value:n,oldValue:t,type:"observation",event:s}}function he(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 u=(f,c)=>{t.realdom.attrInterceptionRecords.has(f.target)||t.realdom.attrInterceptionRecords.set(f.target,{});let p=t.realdom.attrInterceptionRecords.get(f.target);clearTimeout(p[f.name]?.timeout),p[f.name]=f.event;let y=setTimeout(()=>{delete p[f.name]},0);Object.defineProperty(f.event,"timeout",{value:y,configurable:!0}),t.realdom.attrInterceptionHooks.get("intercept")?.forEach(h=>h([f]));let a=c();return t.realdom.attrInterceptionHooks.get("sync")?.forEach(h=>h([f])),a};new n.MutationObserver(f=>{f=ge(f).map(c=>_e.call(n,c)).filter((c,p)=>!Array.isArray(c.event)),f.length&&(t.realdom.attrInterceptionHooks.get("intercept")?.forEach(c=>c(f)),t.realdom.attrInterceptionHooks.get("sync")?.forEach(c=>c(f)))}).observe(i,{attributes:!0,subtree:!0,attributeOldValue:!0});let l=Object.create(null);return["setAttribute","removeAttribute","toggleAttribute"].forEach(f=>{l[f]=o.prototype[f],o.prototype[f]=function(...c){let p,y=this.getAttribute(c[0]);["setAttribute","toggleAttribute"].includes(f)&&(p=c[1]),f==="toggleAttribute"&&p===void 0&&(p=y===null);let a={target:this,name:c[0],value:p,oldValue:y,type:"interception",event:[this,f]};return u(a,()=>l[f].call(this,...c))}}),s}var V=class extends P{constructor(e,...n){super(e,"tree",...n)}attr(e,n=void 0,t={}){let{context:i,window:o}=this;return new I(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")&&(e.length?e.every(l=>typeof l=="string")&&(e=e.join(","))&&(t.subtree?i.querySelectorAll(e):[...i.children].filter(f=>f.matches(e))).forEach(f=>s(f.parentNode||i).entrants.push(f)):[...i.children].forEach(l=>s(i).entrants.push(l))),!n)return o;let u={disconnected:!1},m=n&&t.lifecycleSignals&&this.createSignalGenerator();for(let[,l]of o){if(u.disconnected)break;let f=m?.generate()||{};n(l,f,i)}if(t.live){m&&(t={...t,signalGenerator:m});let l=this.observe(e,n,t);return this.disconnectables(t.signal,u,l)}return this.disconnectables(t.signal,u,m)}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:u}=this;t.eventDetails&&(s.realdom.domInterceptionRecordsAlwaysOn=!0),(u.readyState==="loading"||s.realdom.domInterceptionRecordsAlwaysOn)&&!s.realdom.domInterceptionHooks?.intercepting&&be.call(o,"sync",()=>{});let m=new o.MutationObserver(c=>c.forEach(p=>{we.call(o,f,ve.call(o,p),i)}));m.observe(i,{childList:!0,subtree:t.subtree});let l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:l,disconnectable:m};if(t.staticSensitivity){let c=xe.call(o,f);return this.disconnectables(t.signal,m,l,c)}return this.disconnectables(t.signal,m,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",u=t.subtree?"subtree":"children";this.registry(s).size||be.call(o,s,y=>{this.forEachMatchingContext(s,y,we)});let m={disconnect(){p.delete(f),p.size||c.delete(i)}},l=t.signalGenerator||t.lifecycleSignals&&this.createSignalGenerator(),f={context:i,selectors:e,callback:n,params:t,signalGenerator:l,disconnectable:m},c=this.registry(s,u);c.has(i)||c.set(i,new Set);let p=c.get(i);if(p.add(f),t.staticSensitivity){let y=xe.call(o,f);return this.disconnectables(t.signal,m,l,y)}return this.disconnectables(t.signal,m,l)}};function xe(r){let e=this,{context:n,selectors:t,callback:i,params:o,signalGenerator:s}=r,u=f=>[...f.matchAll(/\[([^\=\]]+)(\=[^\]]+)?\]/g)].map(c=>c[1]);if(!(r.$attrs=t.filter(f=>typeof f=="string"&&f.includes("[")).reduce((f,c)=>f.concat(u(c)),[])).length)return;let m=new Set,l=new Set;return m.push=f=>(l.delete(f),m.add(f)),l.push=f=>(m.delete(f),l.add(f)),r.$deliveryCache={entrants:m,exits:l},new I(n,e).observe(r.$attrs,f=>{let c=new Map,p=h=>(c.has(h)||c.set(h,{target:h,entrants:[],exits:[],type:"static",event:null}),c.get(h)),y=new WeakMap,a=h=>(y.has(h)||y.set(h,t.some(d=>h.matches(d))),y.get(h));for(let h of f)["entrants","exits"].forEach(d=>{o.generation&&d!==o.generation||r.$deliveryCache[d].has(h.target)||(d==="entrants"?!a(h.target):a(h.target))||(r.$deliveryCache[d].push(h.target),p(h.target)[d].push(h.target),p(h.target).event=h.event)});for(let[,h]of c){let d=s?.generate()||{};i(h,d,n)}},{subtree:o.subtree,timing:o.timing,eventDetails:o.eventDetails})}function we(r,e){let{context:n,selectors:t,callback:i,params:o,signalGenerator:s,$deliveryCache:u}=r,m={...e,entrants:[],exits:[]};if(o.eventDetails||delete m.event,["entrants","exits"].forEach(f=>{if(!(o.generation&&f!==o.generation)&&(t.length?m[f]=$e(t,e[f],e.event!=="parse"):m[f]=[...e[f]],!!u))for(let c of m[f])u[f].push(c)}),!m.entrants.length&&!m.exits.length)return;let l=s?.generate()||{};i(m,l,n)}function $e(r,e,n){e=Array.isArray(e)?e:[...e];let t=(i,o)=>{if(i=i.filter(s=>s.matches),typeof o=="string"){let s=i.filter(u=>u.matches(o));if(n&&(s=i.reduce((u,m)=>[...u,...m.querySelectorAll(o)],s)),s.length)return s}else if(i.includes(o)||n&&i.some(s=>s.contains(o)))return[o]};return e.$$searchCache||(e.$$searchCache=new Map),r.reduce((i,o)=>{let s;return e.$$searchCache.has(o)?s=e.$$searchCache.get(o):(s=t(e,o)||[],w(o)&&e.$$searchCache.set(o,s)),i.concat(s)},[])}function ve({target:r,addedNodes:e,removedNodes:n}){let t=this,i;return i=v(e).reduce((o,s)=>o||t.webqit.realdom.domInterceptionRecords?.get(s),null),i=v(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 be(r,e){let n=this,{webqit:t,document:i,Node:o,Element:s,HTMLElement:u,HTMLTemplateElement:m,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 f=()=>t.realdom.domInterceptionHooks.get(r).delete(e);if(t.realdom.domInterceptionHooks?.intercepting)return f;console.warn("DOM mutation APIs are now being intercepted."),t.realdom.domInterceptionHooks.intercepting=!0,Object.defineProperty(t.realdom,"domInterceptionRecords",{value:new Map});let c=()=>!0,p=(a,h)=>{c()?a.entrants.concat(a.exits).forEach(x=>{clearTimeout(t.realdom.domInterceptionRecords.get(x)?.timeout),t.realdom.domInterceptionRecords.set(x,a.event);let O=setTimeout(()=>{t.realdom.domInterceptionRecords.delete(x)},0);Object.defineProperty(a.event,"timeout",{value:O,configurable:!0})}):t.realdom.domInterceptionRecords.clear(),t.realdom.domInterceptionHooks.get("intercept")?.forEach(x=>x(a));let d=h();return t.realdom.domInterceptionHooks.get("sync")?.forEach(x=>x(a)),d};if(c()){let a=new n.MutationObserver(h=>h.forEach(d=>{Array.isArray((d=ve.call(n,d)).event)||(t.realdom.domInterceptionHooks.get("intercept")?.forEach(x=>x(d)),t.realdom.domInterceptionHooks.get("sync")?.forEach(x=>x(d)))}));a.observe(i,{childList:!0,subtree:!0}),i.addEventListener("readystatechange",()=>!c()&&a.disconnect())}let y=Object.create(null);return["insertBefore","insertAdjacentElement","insertAdjacentHTML","setHTML","replaceChildren","replaceWith","remove","replaceChild","removeChild","before","after","append","prepend","appendChild"].forEach(a=>{let h=["insertBefore","replaceChild","removeChild","appendChild"].includes(a)?o:s;y[a]=h.prototype[a],y[a]&&(h.prototype[a]=function(...d){let x=()=>y[a].call(this,...d);if(!(this instanceof s||this instanceof l))return x();let O=[],A=[],M=this;["insertBefore"].includes(a)?A=[d[0]]:["insertAdjacentElement","insertAdjacentHTML"].includes(a)?(A=[d[1]],["beforebegin","afterend"].includes(d[0])&&(M=this.parentNode)):["setHTML","replaceChildren"].includes(a)?(O=[...this.childNodes],A=a==="replaceChildren"?[...d]:[d[0]]):["replaceWith","remove"].includes(a)?(O=[this],A=a==="replaceWith"?[...d]:[],M=this.parentNode):["replaceChild"].includes(a)?(O=[d[1]],A=[d[0]]):["removeChild"].includes(a)?O=[...d]:(A=[...d],["before","after"].includes(a)&&(M=this.parentNode));let B=a;if(["insertAdjacentHTML","setHTML"].includes(a)){let q=this.nodeName;if(a==="insertAdjacentHTML"&&["beforebegin","afterend"].includes(d[0])){if(!this.parentNode)return y[a].call(this,...d);q=this.parentNode.nodeName}let U=i.createElement(q);y.setHTML.call(U,A[0],a==="setHTML"?d[1]:{}),A=[...U.childNodes],a==="insertAdjacentHTML"?(B="insertAdjacentElement",d[1]=new l,d[1].______isTemp=!0,d[1].append(...U.childNodes)):(B="replaceChildren",d=[...U.childNodes])}return p({target:M,entrants:A,exits:O,type:"interception",event:[this,a]},()=>y[B].call(this,...d))})}),["outerHTML","outerText","innerHTML","innerText","textContent","nodeValue"].forEach(a=>{let h=["textContent","nodeValue"].includes(a)?o:["outerText","innerText"].includes(a)?u:s;y[a]=Object.getOwnPropertyDescriptor(h.prototype,a),Object.defineProperty(h.prototype,a,{...y[a],set:function(d){let x=()=>y[a].set.call(this,d);if(!(this instanceof s))return x();let O=[],A=[],M=this;if(["outerHTML","outerText"].includes(a)?(O=[this],M=this.parentNode):O=[...this.childNodes],["outerHTML","innerHTML"].includes(a)){let W=this.nodeName;if(a==="outerHTML"){if(!this.parentNode)return x();W=this.parentNode.nodeName}let q=i.createElement(W==="TEMPLATE"?"div":W);y[a].set.call(q,d),A=this instanceof m?[]:[...q.childNodes],a==="outerHTML"?(d=new l,d.______isTemp=!0,d.append(...q.childNodes),x=()=>y.replaceWith.call(this,d)):this instanceof m?x=()=>this.content.replaceChildren(...q.childNodes):x=()=>y.replaceChildren.call(this,...q.childNodes)}return p({target:M,entrants:A,exits:O,type:"interception",event:[this,a]},x)}})}),["append","prepend","replaceChildren"].forEach(a=>{[i,l.prototype].forEach(h=>{let d=h[a];h[a]=function(...x){if(this.______isTemp)return d.call(this,...x);let O=a==="replaceChildren"?[...this.childNodes]:[];return p({target:this,entrants:x,exits:O,type:"interception",event:[this,a]},()=>d.call(this,...x))}})}),f}function Oe(){Ve.call(this),Ge.call(this),Be.call(this)}function Ve(){let r=this;r.CSS||(r.CSS={}),r.CSS.escape||(r.CSS.escape=e=>e.replace(/([\:@\~\$\&])/g,"\\$1"))}function Ge(){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 Be(){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 Ae(){let r=this;if(r.webqit||(r.webqit={}),r.webqit.realdom)return r.webqit.realdom;r.webqit.realdom={},Oe.call(r),r.webqit.realdom.meta=(...n)=>We.call(r,...n),r.webqit.realdom.ready=(...n)=>oe.call(r,...n),r.webqit.realdom.realtime=(n,t="dom")=>{if(t==="dom")return new V(n,r);if(t==="attr")return new I(n,r)};let e=new $(r);return r.webqit.realdom.schedule=(n,...t)=>e[`on${n}`](...t),r.webqit.realdom}function oe(...r){let e="interactive",n;F(r[0])?(e=r[0],_(r[1])&&(n=r[1])):_(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=>oe.call(this,"interactive",o)),complete:new Promise(o=>oe.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 We(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(u=>u.trim());return ne(i,s[0].split("."),s[1]==="true"?!0:s[1]==="false"?!1:C(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 X=(...r)=>H("oohtml",...r);function Ce(r,e,n){let t=r.toUpperCase().replace("-","_"),i=this,o=Ae.call(i);return i.webqit||(i.webqit={}),i.webqit.oohtml||(i.webqit.oohtml={}),i.webqit.oohtml.configs||(i.webqit.oohtml.configs={}),i.webqit.oohtml.configs[t]||(i.webqit.oohtml.configs[t]={}),D(2,i.webqit.oohtml.configs[t],n,e,o.meta(r).json()),{config:i.webqit.oohtml.configs[t],realdom:o,window:i}}function se(r,e,n=1,t=!1){if(n&&typeof r=="object"&&r&&typeof e=="object"&&e&&(!t||Object.keys(r).length===Object.keys(e).length)){for(let i in r)if(!se(r[i],e[i],n-1,t))return!1;return!0}return Array.isArray(r)&&Array.isArray(e)&&r.length===e.length?(e=e.slice(0).sort())&&r.slice(0).sort().every((i,o)=>i===e[o]):r===e}function Ee(){let r=this;return class extends r.Event{constructor(n,t,{type:i="contextrequest",...o}={}){super(i,o),Object.defineProperty(this,"request",{get:()=>n}),Object.defineProperty(this,"callback",{get:()=>t})}respondWith(n,...t){if(this.request.diff){if("previousValue"in this&&this.previousValue===n)return;this.previousValue=n}return this.callback(n,...t)}}}var E=class{static instance(e){return X(e).get("contextsmanager::instance")||new this(e)}constructor(e){X(e).get("contextsmanager::instance")?.dispose(),X(e).set("contextsmanager::instance",this);let n={host:e,contexts:new Set};Object.defineProperty(this,"#",{get:()=>n});let t=Ee.call(e.ownerDocument?.defaultView||e.defaultView);Object.defineProperty(this,"ContextRequestEvent",{get:()=>t}),this[Symbol.iterator]=function*(){yield n.contexts[Symbol.iterator]().next().value}}get length(){this["#"].contexts.size}find(e){return[...this["#"].contexts].find(e)}attach(e){this["#"].contexts.add(e),e.initialize(this["#"].host)}detach(e){e.dispose(this["#"].host),this["#"].contexts.delete(e)}ask(e,n,t={}){return this["#"].host.dispatchEvent(new this.ContextRequestEvent(e,n,{bubbles:!0,...t}))}dispose(){}};var G=class{static get config(){return{}}static attachTo(e,n,t=!1){let i,o=E.instance(e);return!t&&(i=o.find(s=>this.matchRequest(s.id,n,!0)))?i:o.attach(new this(n))}static detachFrom(e,n,t=!1){let i,o=E.instance(e);for(i of o["#"].contexts)if(!(!this.matchRequest(i.id,n,!0)||typeof t=="function"&&!t(i))&&(o.detach(i),typeof t!="function"&&!t))return i}static createId(e,n={}){let t={type:"HTMLModules",...n};return t.name||(e.getAttribute&&!(t.name=(e.getAttribute(this.config.context.attr.contextname)||"").trim())?delete t.name:e.ownerDocument||(t.name="root")),t}static createRequest(e={}){return{...e}}static matchRequest(e,n,t=!1){return t?se(e,n,1,!0):n.type===e.type&&!n.name||n.name===e.name}constructor(e){Object.defineProperty(this,"id",{get:()=>e}),Object.defineProperty(this,"subscriptions",{value:new Set})}get length(){this.subscriptions.size}handle(e){}subscribe(e){this.subscriptions.add(e),e.request.signal&&e.request.signal.addEventListener("abort",()=>{this.unsubscribe(e)})}unsubscribe(e){this.subscriptions.delete(e),e.request.controller?.abort()}handleEvent(e){if(!(this.disposed||e.target===this.host&&e.request?.superContextOnly||!e.request||typeof e.callback!="function"||!this.constructor.matchRequest(this.id,e.request)))if(e.stopPropagation(),e.type==="contextclaim"){let n=new Set;this.subscriptions.forEach(t=>{!e.target.contains(t.request.superContextOnly?t.target.parentNode:t.target)||!this.constructor.matchRequest(e.request,t.request)||(this.subscriptions.delete(t),n.add(t))}),e.respondWith(n)}else e.type==="contextrequest"&&(e.request.live&&this.subscribe(e),this.handle(e))}initialize(e){return this.host=e,this.disposed=!1,e.addEventListener("contextrequest",this),e.addEventListener("contextclaim",this),E.instance(e).ask({...this.id,superContextOnly:!0},n=>n.forEach(t=>{this.subscribe(t),this.handle(t)}),{type:"contextclaim"}),this}dispose(e){return this.disposed=!0,e.removeEventListener("contextrequest",this),e.removeEventListener("contextclaim",this),this.subscriptions.forEach(n=>{this.unsubscribe(n);let{target:t,request:i,callback:o,params:s}=n;E.instance(t).ask(i,o,s)}),this}};function fe(r={}){let{config:e,window:n}=Ce.call(this,"context-api",r,{api:{context:"context"}});n.webqit.HTMLContextManager=E,n.webqit.HTMLContext=G,Ue.call(n,e)}function Ue(r){let e=this;if(r.api.context in e.document)throw new Error(`document already has a "${r.api.context}" property!`);if(r.api.context in e.HTMLElement.prototype)throw new Error(`The "HTMLElement" class already has a "${r.api.context}" property!`);Object.defineProperty(e.document,r.api.context,{get:function(){return E.instance(e.document)}}),Object.defineProperty(e.HTMLElement.prototype,r.api.context,{get:function(){return E.instance(this)}})}fe.call(window);})();
2
2
  //# sourceMappingURL=context-api.js.map