@panphora/hyper-cms 0.11.0 → 0.11.2
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.
- package/dist/hypercms.min.js +47 -45
- package/package.json +4 -4
- package/src/lib/content-dom.js +4 -2
package/dist/hypercms.min.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDescriptor;var Ts=Object.getOwnPropertyNames;var Cs=Object.prototype.hasOwnProperty;var qr=(e,t)=>{for(var r in t)Dr(e,r,{get:t[r],enumerable:!0})},Os=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ts(t))!Cs.call(e,i)&&i!==r&&Dr(e,i,{get:()=>t[i],enumerable:!(n=_s(t,i))||n.enumerable});return e};var Rs=e=>Os(Dr({},"__esModule",{value:!0}),e);var cu={};qr(cu,{cms:()=>au,default:()=>lu});function ae(e){let t=0,r=null,n=-1;for(let i=0;i<e.length;i++){let o=e[i];o==="\\"?i++:r?o===r&&(r=null):o==='"'||o==="'"?r=o:o==="["||o==="("?t++:o==="]"||o===")"?t>0&&t--:o==="@"&&t===0&&(n=i)}return n}function Ht(e){let t=ae(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}var Vn={includeClasses:!0,includeAttributes:["href","src","name","type","role","aria-label","alt","title"],excludeAttributePrefixes:["data-morph-","data-hyper-","data-im-"],textHintLength:64,excludeIds:!0,maxPathDepth:4,landmarks:["HEADER","NAV","MAIN","ASIDE","FOOTER","SECTION","ARTICLE"],weights:{signature:100,pathSegment:10,textMatch:20,textMismatch:25,uniqueCandidate:50,positionPenalty:1,maxDriftPenalty:19,slotMatch:30},minConfidence:101,maxScoredCandidates:16};function Ns(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t^e.charCodeAt(r);return Math.abs(t).toString(36)}function Ls(e){if(e.classList&&e.classList.length>0)return Array.from(e.classList).sort().join(" ");let t=e.getAttribute?.("class");return t?t.split(/\s+/).filter(Boolean).sort().join(" "):""}function Is(e,t){let r=[];for(let n of e.attributes||[]){let i=n.name;i==="id"||i==="class"||t.excludeAttributePrefixes.some(o=>i.startsWith(o))||t.includeAttributes.includes(i)&&r.push(`${i}=${n.value}`)}return r.sort().join("|")}function js(e,t){return(e.textContent||"").replace(/\s+/g," ").trim().slice(0,t.textHintLength)}function Fs(e,t){let r=[e.tagName];return t.includeClasses&&r.push(Ls(e)),r.push(Is(e,t)),Ns(r.join("|"))}function Ds(e){let t=e.tagName,r=1,n=e.previousElementSibling;for(;n;)n.tagName===t&&r++,n=n.previousElementSibling;return r}function qs(e,t){return e.getAttribute?.("id")||e.getAttribute?.("role")?!0:t.landmarks.includes(e.tagName)}function $s(e){let t=e.getAttribute?.("id");if(t)return`#${t}`;let r=e.getAttribute?.("role");return r?`@${r}`:e.tagName}function Ps(e,t){let r=[],n=e;for(;n&&n.tagName&&r.length<t.maxPathDepth;){let i=`${n.tagName}:${Ds(n)}`;if(r.unshift(i),n!==e&&qs(n,t)){r.unshift($s(n));break}n=n.parentElement}return r}function Bs(e,t){let r=0,n=e.length-1,i=t.length-1;for(;n>=0&&i>=0&&e[n]===t[i];)r++,n--,i--;return r}function ye(e,t,r){if(r.has(e))return r.get(e);let n={signature:Fs(e,t),path:Ps(e,t),textHint:js(e,t)};return r.set(e,n),n}function Yn(e,t,r,n){if(n.has(e))return n.get(e);let i=new Map,o=e.querySelectorAll("*"),a=0;for(let s of o){let l=ye(s,t,r);l.domIndex=a++,!t.shouldIgnore?.(s)&&(i.has(l.signature)||i.set(l.signature,[]),i.get(l.signature).push(s))}return n.set(e,i),i}function zs(e,t,r){r.delete(e),t.delete(e);let n=e.querySelectorAll("*");for(let i of n)t.delete(i)}function $r(e,t,r,n,i){let o=ye(e,r,n),a=ye(t,r,n),s=r.weights,l={},u=0;if(o.signature!==a.signature)return{score:0,breakdown:{rejected:"signature mismatch"}};u+=s.signature,l.signature=s.signature;let y=Bs(o.path,a.path)*s.pathSegment;u+=y,l.path=y;let c=!0;if(o.textHint&&a.textHint?o.textHint===a.textHint?(u+=s.textMatch,l.text=s.textMatch):(u-=s.textMismatch,l.text=-s.textMismatch,c=!1):o.textHint!==a.textHint&&(u-=s.textMismatch,l.text=-s.textMismatch,c=!1),i.candidateCount===1&&c&&(u+=s.uniqueCandidate,l.unique=s.uniqueCandidate),typeof o.domIndex=="number"&&typeof a.domIndex=="number"){let h=Math.abs(o.domIndex-a.domIndex),f=Math.min(h*s.positionPenalty,s.maxDriftPenalty);u-=f,l.drift=-f}return{score:u,breakdown:l}}function Wn(e,t,r,n,i){if(r.excludeIds&&e.getAttribute("id"))return null;let o=Yn(t,r,n,i),a=ye(e,r,n);if(typeof a.domIndex!="number"){let c=0,h=e.previousElementSibling;for(;h;)c++,h=h.previousElementSibling;a.domIndex=c}let s=o.get(a.signature)||[],l=r.excludeIds?s.filter(c=>!c.getAttribute("id")):s;if(l.length===0)return null;let u=null,m=0,y=null;for(let c of l){let{score:h,breakdown:f}=$r(e,c,r,n,{candidateCount:l.length});h>m&&(m=h,u=c,y=f)}return m<r.minConfidence?null:{element:u,confidence:m,breakdown:y}}function Hs(e,t,r,n){let i=[],o=r.weights.signature+r.weights.slotMatch,a={slot:o};function s(y){if(y.children)return y.children;let c=y.childNodes;if(!c)return[];let h=[];for(let f=0;f<c.length;f++)c[f].nodeType===1&&h.push(c[f]);return h}function l(y,c){let h=s(y),f=s(c);if(h.length===f.length)for(let b=0;b<h.length;b++){let k=h[b],A=f[b];if(r.shouldIgnore?.(k)||r.shouldIgnore?.(A)||r.excludeIds&&(k.getAttribute("id")||A.getAttribute("id"))||k.tagName!==A.tagName)continue;let E=ye(k,r,n).signature,L=ye(A,r,n).signature;E!==L&&i.push({newEl:k,oldEl:A,score:o,breakdown:a}),l(k,A)}}function u(y,c){for(;;){if(y.tagName===c.tagName)return[y,c];let h=s(y);if(!y.tagName&&h.length===1){y=h[0];continue}let f=s(c);if(f.length===1&&f[0].tagName===y.tagName){c=f[0];continue}return null}}let m=u(e,t);return m&&l(m[0],m[1]),i}function Kn(e,t,r,n,i){let o=t.querySelectorAll("*"),a=Yn(e,r,n,i),s=0;for(let h of o){let f=ye(h,r,n);f.domIndex=s++}let l=[],u=new Map;function m(h,f,b){let k=new Set;if(h.textHint){let O=u.get(h.signature);if(!O){O=new Map;for(let U of f){let ie=ye(U,r,n).textHint,ee=O.get(ie);ee||(ee=[],O.set(ie,ee)),ee.push(U)}u.set(h.signature,O)}let W=O.get(h.textHint);if(W)for(let U=0;U<W.length&&U<b;U++)k.add(W[U])}let A=0,E=f.length;for(;A<E;){let O=A+E>>1;ye(f[O],r,n).domIndex<h.domIndex?A=O+1:E=O}let L=Math.max(0,Math.min(A-(b>>1),f.length-b)),D=Math.min(L+b,f.length);for(let O=L;O<D;O++)k.add(f[O]);return[...k]}for(let h of o){if(r.shouldIgnore?.(h)||r.excludeIds&&h.getAttribute("id"))continue;let f=ye(h,r,n),b=a.get(f.signature)||[],k=r.excludeIds?b.filter(L=>!L.getAttribute("id")):b,A=r.maxScoredCandidates,E=A&&k.length>A?m(f,k,A):k;for(let L of E){let{score:D,breakdown:O}=$r(h,L,r,n,{candidateCount:k.length});D>=r.minConfidence&&l.push({newEl:h,oldEl:L,score:D,breakdown:O})}}if(r.weights.slotMatch>0){let h=Hs(t,e,r,n);for(let f of h)l.push(f)}l.sort((h,f)=>f.score-h.score);let y=new Map,c=new Set;for(let{newEl:h,oldEl:f}of l)y.has(h)||c.has(f)||(y.set(h,f),c.add(f));return y}function Gn(e,t,r,n){let i=ye(e,r,n),o=ye(t,r,n),{score:a,breakdown:s}=$r(e,t,r,n,{candidateCount:1});return{matches:a>=r.minConfidence,score:a,breakdown:s,newMeta:{signature:i.signature,path:i.path,textHint:i.textHint},oldMeta:{signature:o.signature,path:o.path,textHint:o.textHint}}}function Jn(e={}){let t={...Vn,...e,weights:{...Vn.weights,...e.weights}},r=new WeakMap,n=new WeakMap;return{findMatch:(i,o)=>Wn(i,o,t,r,n),computeMatches:(i,o)=>Kn(i,o,t,r,n),explain:(i,o)=>Gn(i,o,t,r),invalidate:i=>zs(i,r,n),session:()=>{let i=new WeakMap,o=new WeakMap;return{findMatch:(a,s)=>Wn(a,s,t,i,o),computeMatches:(a,s)=>Kn(a,s,t,i,o),explain:(a,s)=>Gn(a,s,t,i)}},getConfig:()=>({...t})}}function Pr(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
|
|
2
|
-
`;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let r=e.indexOf("*/",t+2);if(r===-1)return e.length;t=r+2;continue}return t}}function Xn(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,r)=>r.length%2===0?r+'\\"':t)}var Us=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Vs=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Ut(e){try{return JSON.parse(e)}catch{return JSON.parse(Ws(e))}}function Ws(e){let t="",r=0,n=(i,o)=>{throw new Error(`Invalid relaxed JSON: ${i} at position ${o}`)};for(;r<e.length&&(r=Pr(e,r),!(r>=e.length));){let i=e[r];if("{}[]:".includes(i)){t+=i,r++;continue}if(i===","){let s=Pr(e,r+1);if(e[s]==="}"||e[s]==="]"){r++;continue}t+=i,r++;continue}if(i==='"'||i==="'"){let s=r+1;for(;s<e.length&&e[s]!==i;)e[s]==="\\"&&s++,s++;s>=e.length&&n("unterminated string",r);let l=e.slice(r+1,s);i==="'"&&(l=Xn(l)),t+='"'+l+'"',r=s+1;continue}let o=r;for(;o<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[o]);)o++;o===r&&n("unexpected character "+JSON.stringify(i),r);let a=e.slice(r,o);if(a==="true"||a==="false"||a==="null"||Us.test(a)){t+=a,r=o;continue}if(Vs.test(a)){if(e[Pr(e,o)]===":"){t+='"'+a+'"',r=o;continue}n("unquoted value "+JSON.stringify(a),r)}n("invalid token "+JSON.stringify(a),r)}return t}function Zn(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],a=0;for(;a<i.length;){let s=i[a];if(/\s/.test(s)){a++;continue}if("{}".includes(s)){o.push({type:s,value:s}),a++;continue}if(s==="["){let y=!1,c=a+1;for(;c<i.length&&/\s/.test(i[c]);)c++;if(c<i.length&&/[a-zA-Z_]/.test(i[c])&&(y=!0),!y){o.push({type:s,value:s}),a++;continue}}if(s==="]"){o.push({type:s,value:s}),a++;continue}if(s===":"){o.push({type:t.COLON,value:s}),a++;continue}if(s===","){o.push({type:t.COMMA,value:s}),a++;continue}if(s==='"'||s==="'"){let y=s,c=a+1;for(;c<i.length&&i[c]!==y;)i[c]==="\\"&&c++,c++;o.push({type:t.STRING,value:i.substring(a+1,c),quoted:!0,sourceQuote:y}),a=c+1;continue}let l=a,u;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let y=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],c=!1;for(let h of y){let f=h.substring(1);if(i.substring(l+1,l+1+f.length)===f){c=!0,l+=f.length;break}}if(!c)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let y=i[l];for(l++;l<i.length&&i[l]!==y;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;u=i.substring(a,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?m=t.NUMBER:u==="true"||u==="false"||u==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(m=t.SELECTOR),o.push({type:m,value:u,quoted:!1}),a=l}return o}function n(i){let o="";for(let a=0;a<i.length;a++){let s=i[a];if("{}".includes(s.type)||"[]".includes(s.type)){o+=s.value;continue}if(s.type===t.COLON){o+=s.value;continue}if(s.type===t.COMMA){let l=i[a+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=s.value;continue}if(s.type===t.STRING){let l=s.value;s.sourceQuote==="'"&&(l=Xn(l)),o+=`"${l}"`;continue}if(s.type===t.NUMBER||s.type===t.BOOLEAN){o+=s.value;continue}o+=`"${s.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Error("Invalid extraction rules syntax: "+i.message)}}var oe=Symbol("hyper-morph-json-merge:missing"),Qn=["id","_id","uuid","key","slug","code","name"];function We(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bt(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Ks(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!0,writable:!0,configurable:!0})}function Ce(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!Ce(e[r],t[r]))return!1;return!0}if(We(e)&&We(t)){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!bt(t,n)||!Ce(e[n],t[n]))return!1;return!0}return!1}function ei(e,t,r,n){return Ce(t,r)?t:Ce(t,e)?r:Ce(r,e)?t:We(t)&&We(r)?Gs(We(e)?e:{},t,r,n):Array.isArray(t)&&Array.isArray(r)?Zs(Array.isArray(e)?e:[],t,r,n):r}function ti(e,t,r,n){return t===oe&&r===oe?oe:t===oe?e===oe?r:Ce(r,e)?oe:r:r===oe?e===oe?t:oe:ei(e,t,r,n)}function Gs(e,t,r,n){let i={},o=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(r)]);for(let a of o){let s=ti(bt(e,a)?e[a]:oe,bt(t,a)?t[a]:oe,bt(r,a)?r[a]:oe,n);s!==oe&&Ks(i,a,s)}return i}function Ys(e){return e===null||typeof e!="object"}function Vt(e){return typeof e+":"+String(e)}function Js(e,t){for(let r of t){let n=new Set;for(let i of r){if(!bt(i,e))return!1;let o=i[e];if(typeof o!="string"&&typeof o!="number")return!1;let a=Vt(o);if(n.has(a))return!1;n.add(a)}}return!0}function Xs(e,t,r,n){let i=[e,t,r],o=!0;for(let a of i)for(let s of a)We(s)||(o=!1);if(o){for(let a of n.keyCandidates)if(Js(a,i))return{kind:"keyed",field:a};return null}for(let a of i){let s=new Set;for(let l of a){if(!Ys(l))return null;let u=Vt(l);if(s.has(u))return null;s.add(u)}}return{kind:"self"}}function Zs(e,t,r,n){let i=Xs(e,t,r,n);if(!i)return r;let o=i.kind==="self"?Vt:h=>Vt(h[i.field]),a=h=>{let f=new Map;for(let b of h)f.set(o(b),b);return f},s=a(e),l=a(t),u=a(r),m=new Map,y=new Set([...s.keys(),...l.keys(),...u.keys()]);for(let h of y){let f=ti(s.has(h)?s.get(h):oe,l.has(h)?l.get(h):oe,u.has(h)?u.get(h):oe,n);f!==oe&&m.set(h,f)}let c=[];for(let h of r){let f=o(h);m.has(f)&&c.push(f)}for(let h=0;h<t.length;h++){let f=o(t[h]);if(!m.has(f)||c.includes(f))continue;let b=0;for(let k=h-1;k>=0;k--){let A=c.indexOf(o(t[k]));if(A!==-1){b=A+1;break}}c.splice(b,0,f)}return c.map(h=>m.get(h))}function Br(e,t,r,n={}){let i=n.keyCandidates?[...n.keyCandidates,...Qn]:Qn;return ei(e===void 0?oe:e,t,r,{keyCandidates:i})}function zr(e,t,r,n={}){let i=n.parse||Ut,o=[],a=(y,c)=>{if(typeof y!="string")return oe;try{return i(y)}catch(h){return o.push(`${c} side is not valid JSON (${h.message})`),oe}},s=a(t,"local"),l=a(r,"remote");if(s===oe)return{text:r,warnings:o};if(l===oe)return{text:t,warnings:o};let u=a(e,"base"),m=Br(u===oe?void 0:u,s,l,n);return Ce(m,l)?{text:r,warnings:o}:Ce(m,s)?{text:t,warnings:o}:{text:JSON.stringify(m,null,2),warnings:o}}var Qs=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Cu=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Ou=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ri(e){let t=Qs[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}var yt=(function(){"use strict";let e=()=>{},t='[editor-ui],[clay~="editor-ui"],[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]',r=`${ri("history")},[no-undo],[clay~="no-undo"]`;function n(v){if(v?.nodeType!==1)return!1;if(v.matches(t))return!0;if(v.tagName==="LINK"||v.tagName==="SCRIPT"){let I=v.getAttribute("src")||v.getAttribute("href")||"";if(I.startsWith("chrome-extension://")||I.startsWith("moz-extension://")||I.startsWith("safari-web-extension://"))return!0}return!1}function i(v){return v?.nodeType!==1?!1:v.closest(t)?!0:n(v)}function o(v,I,N){if(N){let P=N.identityOf(v);if(P&&!N.disabled.has(P.key))return"hm-merge:"+P.key}if(I!=="smart")return v.outerHTML;let F=v.getAttribute("src"),j=v.getAttribute("type")||"text/javascript";if(F)try{let P=new URL(F,window.location.href);return`ext:${j}:${P.origin}${P.pathname}${P.search}`}catch{return`ext:${j}:${F}`}else{let P=v.textContent.trim(),_=5381;for(let T=0;T<P.length;T++)_=(_<<5)+_^P.charCodeAt(T);return`inline:${j}:${Math.abs(_).toString(36)}`}}let a="http://www.w3.org/1999/xhtml";function s(v){return v?.nodeType===1&&v.tagName==="SCRIPT"&&v.namespaceURI===a}function l(v){let I=document.createElement("div");I.innerHTML="<script><\/script>";let N=I.firstChild;for(let F of v.attributes)N.setAttribute(F.name,F.value);return N.textContent=v.textContent,N}function u(v){if(s(v))return l(v);if(v?.nodeType===1)for(let I of v.querySelectorAll("script"))s(I)&&I.replaceWith(l(I));return v}function m(v){let I=(v.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return I==="application/json"||I.endsWith("+json")}let y={match:v=>v.hasAttribute("merge"),identity:v=>v.getAttribute("merge")};function c(v,I,N){if(N.merge===!1)return null;let F=[y,...N.mergeTags||[]],j=new WeakMap,P=p=>{if(j.has(p))return j.get(p);let S=null;if(s(p)&&!p.getAttribute("src")&&!i(p)){let w=p;for(let R=0;R<F.length;R++)if(F[R].match(w)){if(!m(w))console.warn("[hyper-morph] merge ignored: script type is not JSON",w);else{let B=F[R].identity(w);B!=null&&B!==""&&(S={key:R+":"+B,raw:B,recognizer:F[R]})}break}}return j.set(p,S),S},_=new Set,T=p=>{let S=new Map,w=R=>{let B=P(R);B&&(S.has(B.key)?(_.add(B.key),console.warn(`[hyper-morph] merge disabled for duplicate identity "${B.raw}"`)):S.set(B.key,R))};s(p)&&w(p);for(let R of p.querySelectorAll("script"))w(R);return S},C=T(v),x=T(I.__hyperMorphRoot||I);if(C.size===0&&x.size===0)return null;let d=null;return{identityOf:P,disabled:_,oldByKey:C,newByKey:x,baseTexts:()=>{if(d)return d;d=new Map;let p=N.mergeBase;if(!p)return d;let S;typeof p=="string"?S=new DOMParser().parseFromString(p,"text/html").documentElement:p?.nodeType===9?S=p.documentElement:S=p;let w=R=>{let B=P(R);B&&!d.has(B.key)&&d.set(B.key,R.textContent)};s(S)&&w(S);for(let R of S.querySelectorAll("script"))w(R);return d}}}function h(v,I,N){let F=v.merge;if(!F)return!1;let j=F.identityOf(I);if(!j||F.disabled.has(j.key))return!1;let P=F.identityOf(N);if(!P||P.key!==j.key)return!1;let _=I,T=N,C=T.getAttribute("merge-key")||_.getAttribute("merge-key"),{text:x,warnings:d}=zr(F.baseTexts().get(j.key),_.textContent,T.textContent,{parse:j.recognizer.parse,keyCandidates:C?C.split(/[\s,]+/).filter(Boolean):void 0});for(let g of d)console.warn(`[hyper-morph] merge "${j.raw}": ${g}`);return _.textContent!==x&&(_.textContent=x),!0}let f={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:e,afterNodeAdded:e,beforeNodeMorphed:e,afterNodeMorphed:e,beforeNodeRemoved:e,afterNodeRemoved:e,beforeAttributeUpdated:e},head:{style:"merge",shouldPreserve:v=>v.getAttribute("im-preserve")==="true",shouldReAppend:v=>v.getAttribute("im-re-append")==="true",shouldRemove:e,afterHeadMorphed:e},scripts:{handle:!0,matchMode:"outerHTML",shouldPreserve:v=>v.getAttribute("im-preserve")==="true",shouldReAppend:v=>v.getAttribute("im-re-append")==="true",shouldRemove:e,afterScriptsHandled:e},restoreFocus:!0},b={computeMatches(v,I,N=i){let{computeMatches:F}=Jn({shouldIgnore:N}).session();return F(v,I)}};function k(v,I,N={}){v=Bt(v);let F=mt(I),j=Lr(v,F,N),P=j.scripts.handle?new Set(Array.from(v.querySelectorAll("script")).map(x=>o(x,j.scripts.matchMode,j.merge))):null,_=U(j),T;try{T=q(j,v,F,x=>x.morphStyle==="innerHTML"?(ee(x,v,F),Array.from(v.childNodes)):W(x,v,F))}catch(x){throw E(j),x}let C=x=>{_&&ie(j,_),A(j);let d=P?Nr(x,P,j):[];return d.length>0?Promise.all(d).then(()=>x):x};if(T instanceof Promise)return T.then(x=>{try{return C(x)}catch(d){throw E(j),d}},x=>{throw E(j),x});try{return C(T)}catch(x){throw E(j),x}}function A(v){let I=v.pantry;if(I){for(let N of Array.from(I.childNodes))v.callbacks.beforeNodeRemoved(N)!==!1&&v.callbacks.afterNodeRemoved(N);for(let N of Array.from(I.childNodes))I.removeChild(N);I.remove(),v.pantry=null,v.stagedNodes.clear()}}function E(v){let I=v.pantry;if(!I)return;let N=Array.from(v.stagedNodes.entries()).reverse();for(let[F,j]of N){if(!I.contains(F))continue;let P=j.nextSibling?.parentNode===j.parent?j.nextSibling:null;try{D(j.parent,F,P)}catch{}}for(let F of Array.from(I.childNodes))I.removeChild(F);I.remove(),v.pantry=null,v.stagedNodes.clear()}function L(v){if(v.pantry)return v.pantry;let I=v.target.ownerDocument,N=I.createElement("div");return N.hidden=!0,N.setAttribute("mutations-ignore",""),I.body.insertAdjacentElement("afterend",N),v.pantry=N,N}function D(v,I,N){if(v.moveBefore)try{v.moveBefore(I,N)}catch{v.insertBefore(I,N)}else v.insertBefore(I,N)}function O(v,I){!v.stagedNodes.has(I)&&I.parentNode&&v.stagedNodes.set(I,{parent:I.parentNode,nextSibling:I.nextSibling}),D(L(v),I,null)}function W(v,I,N){let F=mt(I);return ee(v,F,N,I,I.nextSibling),Array.from(F.childNodes)}function U(v){if(!v.config.restoreFocus)return null;let I=document.activeElement;if(!(I instanceof HTMLInputElement||I instanceof HTMLTextAreaElement))return null;let{id:N,selectionStart:F,selectionEnd:j}=I;return{element:I,id:N,selectionStart:F,selectionEnd:j}}function ie(v,I){let N=I.element;if(I.id&&I.id!==document.activeElement?.getAttribute("id")&&(N=v.target.querySelector(`[id="${CSS.escape(I.id)}"]`),N?.focus()),N&&!N.selectionEnd&&I.selectionEnd!=null)try{N.setSelectionRange(I.selectionStart,I.selectionEnd)}catch{}}let ee=(function(){function v(x,d,g,p=null,S=null){d?.tagName==="TEMPLATE"&&g?.tagName==="TEMPLATE"&&(d=d.content,g=g.content),p||=d.firstChild;for(let w of g.childNodes){if(x.shouldIgnore(w))continue;if(p&&p!=S){let B=F(x,w,p,S);if(B){B!==p&&P(x,p,B),me(B,w,x),p=B.nextSibling;continue}}if(w?.nodeType===1){let B=w.getAttribute("id");if(x.persistentIds.has(B)){let M=_(d,B,p,x);me(M,w,x),p=M.nextSibling;continue}if(!x.idMap.has(w)){let M=x.hyperMatches.get(w);if(M&&!x.idMap.has(M)&&!C(M,d)){D(d,M,p),me(M,w,x),p=M.nextSibling;continue}}}let R=I(d,w,p,x);R&&(p=R.nextSibling)}for(;p&&p!=S;){let w=p;p=p.nextSibling,x.shouldIgnore(w)||j(x,w)}}function I(x,d,g,p){if(p.callbacks.beforeNodeAdded(d)===!1)return null;let S=x.ownerDocument||x.realParentNode?.ownerDocument||p.target.ownerDocument;if(p.idMap.has(d)){let w=d,R=S.createElementNS(w.namespaceURI,w.localName);return x.insertBefore(R,g),me(R,d,p),p.callbacks.afterNodeAdded(R),R}else{let w=u(N(d,S,p));return w?(x.insertBefore(w,g),p.callbacks.afterNodeAdded(w),w):null}}function N(x,d,g){if(g.shouldIgnore(x))return null;let p=d.importNode(x,!1),S=x.nodeType===1&&x.tagName==="TEMPLATE"?x.content:x,w=p.nodeType===1&&p.tagName==="TEMPLATE"?p.content:p;for(let R of Array.from(S.childNodes||[])){let B=N(R,d,g);B&&w.appendChild(B)}return p}let F=(function(){function x(p,S,w,R){let B=S?.nodeType===1&&!p.idMap.has(S)?p.hyperMatches.get(S):null,M=null,z=S.nextSibling,$=0,H=w;for(;H&&H!=R;){if(p.shouldIgnore(H)){H=H.nextSibling;continue}if(g(H,S)){if(d(p,H,S)||H===B&&!p.idMap.has(H))return H;if(M===null){let V=H?.nodeType===1&&p.hyperMatchedOldElements.has(H);!p.idMap.has(H)&&!V&&(M=H)}}if(M===null&&z&&g(H,z)&&($++,z=z.nextSibling,$>=2&&(M=void 0)),p.activeElementAndParents.includes(H))break;H=H.nextSibling}return M||null}function d(p,S,w){let R=p.idMap.get(S),B=p.idMap.get(w);if(!B||!R)return!1;for(let M of R)if(B.has(M))return!0;return!1}function g(p,S){let w=p,R=S;return w.nodeType===R.nodeType&&w.tagName===R.tagName&&(!w.getAttribute?.("id")||w.getAttribute?.("id")===R.getAttribute?.("id"))}return x})();function j(x,d){let g=d?.nodeType===1&&x.hyperMatchedOldElements.has(d)&&!x.idMap.has(d);if(x.idMap.has(d)||g)O(x,d);else{if(x.callbacks.beforeNodeRemoved(d)===!1)return;d.parentNode?.removeChild(d),x.callbacks.afterNodeRemoved(d)}}function P(x,d,g){let p=d;for(;p&&p!==g;){let S=p;p=p.nextSibling,x.shouldIgnore(S)||j(x,S)}return p}function _(x,d,g,p){let S=p.target.ownerDocument?.defaultView?.CSS?.escape?p.target.ownerDocument.defaultView.CSS.escape(d):String(d).replace(/["\\]/g,"\\$&"),w=p.target.getAttribute?.("id")===d&&p.target||p.target.querySelector(`[id="${S}"]`)||p.pantry?.querySelector(`[id="${S}"]`);return T(w,p),D(x,w,g),w}function T(x,d){let g=x.getAttribute("id");for(;x=x.parentNode;){let p=d.idMap.get(x);p&&(p.delete(g),p.size||d.idMap.delete(x))}}function C(x,d){let g=d?.nodeType===1?d:d.realParentNode;return!!g&&x.contains(g)}return v})(),me=(function(){function v(_,T,C){return C.ignoreActive&&_===document.activeElement?null:(C.callbacks.beforeNodeMorphed(_,T)===!1||(_?.tagName==="HEAD"&&C.head.ignore||(_?.tagName==="HEAD"&&C.head.style!=="morph"?xe(_,T,C):(I(_,T,C),h(C,_,T)||P(_,C)||ee(C,_,T))),C.callbacks.afterNodeMorphed(_,T)),_)}function I(_,T,C){let x=T.nodeType;if(x===1){let d=_,g=T,p=d.attributes,S=g.attributes;for(let w of S)j(w.name,d,"update",C)||d.getAttribute(w.name)!==w.value&&d.setAttribute(w.name,w.value);for(let w=p.length-1;0<=w;w--){let R=p[w];if(R&&!g.hasAttribute(R.name)){if(j(R.name,d,"remove",C))continue;d.removeAttribute(R.name)}}P(d,C)||N(d,g,C)}(x===8||x===3)&&_.nodeValue!==T.nodeValue&&(_.nodeValue=T.nodeValue)}function N(_,T,C){if(_.tagName==="INPUT"&&T.tagName==="INPUT"&&T.type!=="file"){let x=T.value,d=_.value;F(_,T,"checked",C),F(_,T,"disabled",C),C.formStateSync==="property"&&_.indeterminate!==T.indeterminate&&(_.indeterminate=T.indeterminate),C.formStateSync==="property"?d!==x&&(j("value",_,"update",C)||(_.value=x)):T.hasAttribute("value")?d!==x&&(j("value",_,"update",C)||(_.setAttribute("value",x),_.value=x)):j("value",_,"remove",C)||(_.value="",_.removeAttribute("value"))}else if(_.tagName==="OPTION"&&T.tagName==="OPTION")F(_,T,"selected",C);else if(_.tagName==="TEXTAREA"&&T.tagName==="TEXTAREA"){let x=T.value,d=_.value;if(j("value",_,"update",C)||(x!==d&&(_.value=x),C.formStateSync==="property"))return;_.firstChild&&_.firstChild.nodeValue!==x&&(_.firstChild.nodeValue=x)}}function F(_,T,C,x){let d=T[C],g=_[C];if(d!==g){let p=j(C,_,"update",x);if(p||(_[C]=T[C]),x.formStateSync==="property")return;d?p||_.setAttribute(C,""):j(C,_,"remove",x)||_.removeAttribute(C)}}function j(_,T,C,x){return _==="value"&&x.ignoreActiveValue&&T===document.activeElement?!0:x.callbacks.beforeAttributeUpdated(_,T,C)===!1}function P(_,T){return!!T.ignoreActiveValue&&_===document.activeElement&&_!==document.body}return v})();function q(v,I,N,F){if(v.head.block){let j=I.querySelector("head"),P=N.querySelector("head");if(j&&P){let _=xe(j,P,v);return Promise.all(_).then(()=>(v.head.block=!1,v.head.ignore=!0,F(v)))}}return F(v)}function te(v){return v.tagName==="SCRIPT"?!!v.getAttribute("src"):v.tagName==="LINK"?(v.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")&&!!v.getAttribute("href"):!1}function xe(v,I,N){let F=[],j=[],P=[],_=[],T=N.scripts.matchMode,C=g=>{if(g.tagName==="SCRIPT")return o(g,T,N.merge);if(g.tagName==="LINK"&&T==="smart"){let p=g.getAttribute("href");if(p)try{let S=new URL(p,window.location.href);return`link:${g.getAttribute("rel")||""}:${S.origin}${S.pathname}${S.search}`}catch{}}return g.outerHTML},x=new Map;for(let g of I.children){if(N.shouldIgnore(g))continue;let p=C(g),S=x.get(p);S||(S=[],x.set(p,S)),S.push(g)}for(let g of v.children){let p=C(g),S=x.get(p),w=!!(S&&S.length),R=N.head.shouldReAppend(g),B=N.head.shouldPreserve(g);if(w||B)if(R)j.push(g);else{if(S&&S.length){let M=S.pop();S.length||x.delete(p),h(N,g,M)}P.push(g)}else N.head.style==="append"?R&&(j.push(g),_.push(g)):N.head.shouldRemove(g)!==!1&&!N.shouldIgnore(g)&&j.push(g)}for(let g of x.values())_.push(...g);let d=[];for(let g of _){let p=document.createRange().createContextualFragment(g.outerHTML).firstChild;if(N.callbacks.beforeNodeAdded(p)!==!1){if(p instanceof Element&&te(p)){let S,w=new Promise(function(R){S=R});p.addEventListener("load",function(){S()}),p.addEventListener("error",function(){S()}),d.push(w)}v.appendChild(p),N.callbacks.afterNodeAdded(p),F.push(p)}}for(let g of j)N.callbacks.beforeNodeRemoved(g)!==!1&&(v.removeChild(g),N.callbacks.afterNodeRemoved(g));return N.head.afterHeadMorphed(v,{added:F,kept:P,removed:j}),d}function Nr(v,I,N){if(!N.scripts.handle)return[];let F=[],j=[],P=[],_=[],T=N.scripts.matchMode,C=[];for(let d of v)if(d instanceof Element){s(d)&&C.push(d);for(let g of d.querySelectorAll("script"))s(g)&&C.push(g)}for(let d of C){if(d.closest("head")||N.shouldIgnore(d))continue;let g=o(d,T,N.merge),p=I.has(g),S=N.scripts.shouldPreserve(d),w=N.scripts.shouldReAppend(d);p||S?w?(j.push(d),_.push(d)):P.push(d):_.push(d)}let x=[];for(let d of _){if(N.callbacks.beforeNodeAdded(d)===!1)continue;let g=document.createElement("script");for(let p of d.attributes)g.setAttribute(p.name,p.value);if(g.textContent=d.textContent,g.src){let p,S=new Promise(function(w){p=w});g.addEventListener("load",function(){p()}),g.addEventListener("error",function(){p()}),x.push(S)}d.replaceWith(g),N.callbacks.afterNodeAdded(g),F.push(g)}return N.scripts.afterScriptsHandled(N.target,{added:F,kept:P,removed:j}),x}let Lr=(function(){function v(T,C,x){let d=x.policy==="history"?r:t,g=x.policy==="raw"?()=>!1:$=>{if($?.nodeType!==1)return!1;if(x.policy!=="history"&&i($))return!0;let H=$.closest(d);return!(!H||x.policy==="history"&&H===T&&H.matches('[no-undo],[clay~="no-undo"]')&&!H.matches('[editor-ui],[clay~="editor-ui"]'))},{persistentIds:p,idMap:S}=P(T,C,g),w=b.computeMatches(T,C,g);if(typeof x.key=="function"){let $=new Map,H=new Set,V=K=>{let Y=x.key(K);Y!=null&&($.has(Y)?H.add(Y):$.set(Y,K))};T instanceof Element&&V(T);for(let K of T.querySelectorAll("*"))V(K);for(let K of H)$.delete(K);let se=new Map;for(let[K,Y]of w)se.set(Y,K);let he=C.__hyperMorphRoot||C,Z=new Map,G=new Set,Q=K=>{let Y=x.key(K);Y!=null&&(Z.has(Y)?G.add(Y):Z.set(Y,K))};he instanceof Element&&Q(he);for(let K of he.querySelectorAll("*"))Q(K);for(let K of G)Z.delete(K);for(let[K,Y]of Z){let re=$.get(K);if(!re||re.tagName!==Y.tagName)continue;let De=se.get(re);De&&De!==Y&&w.delete(De);let qe=w.get(Y);qe&&qe!==re&&se.delete(qe),w.set(Y,re),se.set(re,Y)}}let R=I(x),B=c(T,C,R.scripts);if(B){let $=new Map;for(let[H,V]of w)$.set(V,H);for(let[H,V]of B.newByKey){if(B.disabled.has(H))continue;let se=B.oldByKey.get(H);if(!se)continue;let he=$.get(se);he&&he!==V&&w.delete(he);let Z=w.get(V);Z&&Z!==se&&$.delete(Z),w.set(V,se),$.set(se,V)}}let M=new Set;for(let $ of w.values())M.add($);let z=R.morphStyle||"outerHTML";if(!["innerHTML","outerHTML"].includes(z))throw new Error(`Do not understand how to morph style ${z}`);return{target:T,newContent:C,config:R,morphStyle:z,ignoreActive:R.ignoreActive,ignoreActiveValue:R.ignoreActiveValue,restoreFocus:R.restoreFocus,formStateSync:R.formStateSync||"attribute",idMap:S,persistentIds:p,hyperMatches:w,hyperMatchedOldElements:M,merge:B,pantry:null,stagedNodes:new Map,activeElementAndParents:N(T),callbacks:R.callbacks,head:R.head,scripts:R.scripts,shouldIgnore:g}}function I(T){let C=Object.assign({},f);return Object.assign(C,T),C.callbacks=Object.assign({},f.callbacks,T.callbacks),C.head=Object.assign({},f.head,T.head),C.scripts=Object.assign({},f.scripts,T.scripts),C}function N(T){let C=[],x=T.ownerDocument?.activeElement;if(x?.tagName!=="BODY"&&T.contains(x))for(;x&&(C.push(x),x!==T);)x=x.parentElement;return C}function F(T){let C=Array.from(T.querySelectorAll("[id]"));return T.getAttribute?.("id")&&C.push(T),C}function j(T,C,x,d){for(let g of d){let p=g.getAttribute("id");if(C.has(p)){let S=g;for(;S;){let w=T.get(S);if(w==null&&(w=new Set,T.set(S,w)),w.add(p),S===x)break;S=S.parentElement}}}}function P(T,C,x){let d=F(T).filter(R=>!x(R)),g=F(C).filter(R=>!x(R)),p=_(d,g),S=new Map;j(S,p,T,d);let w=C.__hyperMorphRoot||C;return j(S,p,w,g),{persistentIds:p,idMap:S}}function _(T,C){let x=new Set,d=new Map;for(let p of T){let S=p.getAttribute("id");d.has(S)?x.add(S):d.set(S,p.tagName)}let g=new Set;for(let p of C){let S=p.getAttribute("id");g.has(S)?x.add(S):d.get(S)===p.tagName&&g.add(S)}for(let p of x)g.delete(p);return g}return v})(),{normalizeElement:Bt,normalizeParent:mt}=(function(){let v=new WeakSet;function I(_){return _?.nodeType===9?_.documentElement:_}function N(_){if(_==null)return document.createElement("div");if(typeof _=="string")return N(P(_));if(v.has(_))return _;if(_&&typeof _=="object"&&"nodeType"in _){if(_.parentNode)return new F(_);{let T=_.ownerDocument.createElement("div");return T.append(_),T}}else{let C=[..._][0]?.ownerDocument?.createElement("div")||document.createElement("div");for(let x of[..._])C.append(x);return C}}class F{constructor(T){this.originalNode=T,this.realParentNode=T.parentNode,this.previousSibling=T.previousSibling,this.nextSibling=T.nextSibling}get childNodes(){let T=[],C=this.previousSibling?this.previousSibling.nextSibling:this.realParentNode.firstChild;for(;C&&C!=this.nextSibling;)T.push(C),C=C.nextSibling;return T}querySelectorAll(T){return this.childNodes.reduce((C,x)=>{if(x instanceof Element){x.matches(T)&&C.push(x);let d=x.querySelectorAll(T);for(let g=0;g<d.length;g++)C.push(d[g])}return C},[])}insertBefore(T,C){return this.realParentNode.insertBefore(T,C)}moveBefore(T,C){return this.realParentNode.moveBefore(T,C)}get __hyperMorphRoot(){return this.originalNode}}function j(_){let T=g=>`<${g}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,C=_.replace(/<!--[\s\S]*?-->/g,"");for(let g of["script","style","textarea","title"])C=C.replace(new RegExp(`${T(g)}[\\s\\S]*?</${g}\\s*>`,"gi"),"");let x=new RegExp(`${T("svg")}[\\s\\S]*?</svg\\s*>`,"gi"),d;do d=C,C=C.replace(x,"");while(C!==d);return C}function P(_){let T=new DOMParser,C=j(_);if(C.match(/<\/html>/)||C.match(/<\/head>/)||C.match(/<\/body>/)){let x=T.parseFromString(_,"text/html");if(C.match(/<\/html>/))return v.add(x),x;{let d=x.firstChild;return d&&v.add(d),d}}else{let d=T.parseFromString("<body><template>"+_+"</template></body>","text/html").body.querySelector("template").content;return v.add(d),d}}return{normalizeElement:I,normalizeParent:N}})(),zt=Symbol("hyper-morph-duplicate-key"),ft=[v=>v.getAttribute("data-id"),v=>v.getAttribute("id")];function Fe(v,I){return I.map(N=>{let F=new Map;for(let j of v){if(j.nodeType!==1)continue;let P=N(j);P==null||P===""||F.set(P,F.has(P)?zt:j)}return F})}function pt(v,I,N,F){for(let j=0;j<F.length;j++){let P=F[j](v);if(P==null||P===""||I[j].get(P)!==v)continue;let _=N[j].get(P);if(!(!_||_===zt)&&_.tagName===v.tagName)return _}return null}function we(v,I,N){for(let F=0;F<N.length;F++){let j=N[F](v);if(!(j==null||j==="")&&I[F].get(j)===v)return!0}return!1}function Ir(v,I,N={}){let F=N.skip||(()=>!1),j=N.ignoreAttr||(()=>!1),P=N.tiers&&N.tiers.length?N.tiers:ft,_=null;function T(){return _||(_=Fe([v,...v.querySelectorAll("*")],P)),_}let C=null;function x(){return C||(C=Fe([I,...I.querySelectorAll("*")],P)),C}function d(G){return!G.parentElement||!G.parentElement.parentElement}function g(G,Q,K){return d(G)||we(G,T(),P)?(K.push({type:"subtree",el:G,base:Q}),!1):!0}function p(G,Q){let K=[];for(let Y of G.attributes)j(G,Y.name)||Q.getAttribute(Y.name)!==Y.value&&K.push(Y.name);for(let Y of Q.attributes)j(G,Y.name)||G.hasAttribute(Y.name)||K.push(Y.name);return K}function S(G){let Q=[],K=null,Y=()=>{K!==null&&(Q.push({nodeType:3,nodeValue:K}),K=null)};for(let re of G.childNodes){if(re.nodeType===3){K=(K===null?"":K)+re.nodeValue;continue}re.nodeType===1&&F(re)||(Y(),(re.nodeType===1||re.nodeType===8)&&Q.push(re))}return Y(),Q}function w(G,Q){if(G.nodeType!==Q.nodeType)return!1;if(G.nodeType!==1)return!0;if(G.tagName!==Q.tagName)return!1;for(let K of P){let Y=K(G),re=K(Q);if(Y!=null&&Y!==""&&re!=null&&re!==""&&Y!==re)return!1}return!0}function R(G){let Q="";for(let K of G)K.nodeType===3&&K.nodeValue.trim()!==""?Q+="\0"+K.nodeValue:K.nodeType===8&&(Q+=""+K.nodeValue);return Q}function B(G,Q,K){let Y=S(G),re=S(Q);if(Y.length===re.length){let X=!0;for(let le=0;le<Y.length;le++)if(!w(Y[le],re[le])){X=!1;break}if(X){for(let le=0;le<Y.length;le++){let Ve=Y[le];if(Ve.nodeType===1){if(M(Ve,re[le],K))return!0}else if(Ve.nodeValue!==re[le].nodeValue)return!0}return!1}}let De=Y.filter(X=>X.nodeType===1),qe=re.filter(X=>X.nodeType===1);if(R(Y)!==R(re))return!0;let qn=Fe(De,P),$n=Fe(qe,P),jr=[],Fr=new Set,Pn=[];for(let X of De){let le=pt(X,qn,$n,P);le&&!Fr.has(le)?(jr.push([X,le]),Fr.add(le)):Pn.push(X)}let Te=[];for(let X of Pn)we(X,qn,P)?K.push({type:"subtree",el:X,base:null}):Te.push(X);let gt=[];for(let X of qe)Fr.has(X)||(we(X,$n,P)?K.push({type:"deletion",el:X}):gt.push(X));if(Te.length!==gt.length)return!0;for(let X=0;X<Te.length;X++)if(!w(Te[X],gt[X]))return!0;let Bn=new Map(jr);for(let X=0;X<Te.length;X++)Bn.set(Te[X],gt[X]);let zn=-1;for(let X of De){let le=Bn.get(X);if(!le)continue;let Ve=qe.indexOf(le);if(Ve<zn)return!0;zn=Ve}for(let X=0;X<Te.length;X++)if(M(Te[X],gt[X],K))return!0;for(let[X,le]of jr)if(M(X,le,K))return!0;return!1}function M(G,Q,K){if(G.tagName!==Q.tagName)return g(G,Q,K);let Y=p(G,Q),re=[];if(B(G,Q,re))return g(G,Q,K);if(Y.length){if(!d(G)&&!we(Q,x(),P))return!0;K.push({type:"attrs",el:G,names:Y,base:Q})}return K.push(...re),!1}let z=[],$=p(v,I);$.length&&z.push({type:"attrs",el:v,names:$});let H=(G,Q)=>Array.from(G.children).find(K=>K.tagName===Q)||null,V=H(v,"HEAD"),se=H(I,"HEAD");if(V&&se){let G=[];M(V,se,G),G.length&&z.push({type:"head",el:V})}else(V||se)&&V&&z.push({type:"head",el:V});let he=H(v,"BODY"),Z=H(I,"BODY");return he&&Z?M(he,Z,z):he&&z.push({type:"subtree",el:he,base:null}),{entries:z}}function ge(v,I,N={}){let F=N.tiers&&N.tiers.length?N.tiers:ft,j=v.documentElement,P=[],_=0,T=M=>({ok:!1,placed:P,held:M,skippedAttrs:_});if(!j)return T(null);function C(M){let z=[M,...M.querySelectorAll("*")];return Fe(z,F)}let x=C(j),d=new Map,g=M=>{let z=M.getRootNode(),$=d.get(z);if(!$){let H=z.nodeType===9?z.documentElement:z;$=C(H),d.set(z,$)}return $};function p(M){if(!M.parentElement&&M.tagName==="HTML")return j;if(M.parentElement&&!M.parentElement.parentElement&&M.parentElement.tagName==="HTML"){if(M.tagName==="BODY")return v.body||null;if(M.tagName==="HEAD")return v.head||null}return null}function S(M){let z=p(M);return z||pt(M,g(M),x,F)}function w(M){if(!M)return null;let z=S(M);return z&&z.isConnected?z:null}function R(M){for(let z=0;z<F.length;z++){let $=F[z](M);$!=null&&$!==""&&x[z].set($,M)}}for(let M of I){if(M.type!=="deletion")continue;let z=S(M.el);z&&z!==j&&z.remove()}let B=I.filter(M=>M.type!=="deletion").sort((M,z)=>M.el===z.el?0:M.el.compareDocumentPosition(z.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let M of B){if(M.type==="head"){let Z=v.importNode(M.el,!0);v.head?v.head.replaceWith(Z):j.insertBefore(Z,j.firstChild),P.push({entry:M,imported:Z});continue}if(M.type==="attrs"){let Z=w(M.el)||w(M.base);if(!Z){_++;continue}for(let G of M.names)M.el.hasAttribute(G)?Z.setAttribute(G,M.el.getAttribute(G)):Z.removeAttribute(G);continue}let z=M.el;if(p(z))return T(M);let $=w(z)||w(M.base);if($){let Z=v.importNode(z,!0);$.replaceWith(Z),R(Z),P.push({entry:M,imported:Z});continue}if(M.base!=null&&!we(M.base,g(M.base),F)||!we(z,g(z),F))return T(M);let H=z.parentElement;if(!H)return T(M);let V=w(H);if(!V)return T(M);let se=null;for(let Z=z.previousElementSibling;Z;Z=Z.previousElementSibling){let G=w(Z);if(G&&G.parentNode===V){se=G;break}}let he=v.importNode(z,!0);if(se)V.insertBefore(he,se.nextSibling);else{let Z=Array.prototype.indexOf.call(H.children,z);V.insertBefore(he,V.children[Z]||null)}R(he),P.push({entry:M,imported:he})}return{ok:!0,placed:P,held:null,skippedAttrs:_}}return{morph:k,defaults:f,findChangedRoots:Ir,spliceProtected:ge,mergeJson:Br,mergeScriptText:zr,parseJsonRelaxed:Ut,parseRulesRelaxed:Zn}})();var kt=yt.morph,ju=yt.defaults,Fu=yt.findChangedRoots,Du=yt.spliceProtected;var Hr=yt;var Wt=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Ur=new Set(Wt),ni=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),vt=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var Kt={};qr(Kt,{EmptyListInsert:()=>wt,MAX_RULE_DEPTH:()=>Ye,MaxRuleDepthExceeded:()=>$e,RuleTargetReadOnly:()=>At,RulesParseError:()=>Ke,ShapeMismatch:()=>xt,UnknownRulesVersion:()=>Ge});var Ke=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},Ge=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},Ye=20,$e=class extends Error{constructor(t){super(`rule depth exceeded ${Ye} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},xt=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},wt=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},At=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}};function Oe(e,t,r,n={}){if(Object.prototype.hasOwnProperty.call(n,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return Vr(e,t,r,{depth:0,path:[]},n)}function Vr(e,t,r,n,i){if(n.depth>Ye)throw new $e(n.path);if(typeof r=="string")return ia(e,t,r,n,i);if(Array.isArray(r)){let[o,a]=r,s=e.find(t,o,i);return oi(i,n,s),s.map((l,u)=>Vr(e,l,a,{depth:n.depth+1,path:[...n.path,u]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[a,s]of Object.entries(r))o[a]=Vr(e,t,s,{depth:n.depth+1,path:[...n.path,a]},i);return o}return null}function ia(e,t,r,n,i){if(r.endsWith("[]")){let s=r.slice(0,-2),l=e.find(t,s,i);return oi(i,n,l),l.map(u=>e.text(u))}if(r.startsWith("@"))return ii(e,t,r.slice(1));let o=ae(r);if(o!==-1){let s=r.slice(0,o),l=r.slice(o+1),u=s?e.find(t,s,i):[t];return u.length===0?null:ii(e,u[0],l)}if(r===".")return e.text(t);let a=e.find(t,r,i);return a.length===0?null:e.text(a[0])}function oi(e,t,r){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),r)}catch(n){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,n)}}function ii(e,t,r){if(Ur.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n||null}var si=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),oa=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Xu=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function Wr(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function sa(e,t){if(Wr(e,t))return!0;for(let[r,n]of Object.entries(oa))if(n.includes(t)&&Wr(e,r))return!0;return!1}function St(e){let t=si[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function aa(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=si[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>sa(r,i))||n.bundles.some(i=>Wr(r,i)))return r;r=r.parentElement}return null}function ai(e,t){return!!aa(e,t)}var la=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function li(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let n=0;n<e.options.length;n++)t.options[n].selected=e.options[n].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function ci(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function ui(e,t,r,n,i,o,a,s){if(e.nodeType===1&&((a?ai(e,r):ci(e,n,o,!1))||i&&ci(e,i,o,a)))return null;let l=t.importNode(e,!1);s.cloneToLive.set(l,e),s.liveToClone.set(e,l);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,m=l.nodeType===1&&l.tagName==="TEMPLATE"?l.content:l;u!==e&&(s.cloneToLive.set(m,u),s.liveToClone.set(u,m));for(let y of u.childNodes||[]){let c=ui(y,t,r,n,i,o,a,s);c&&(m.appendChild(c),y.nodeType===1&&li(y,c))}return e.nodeType===1&&li(e,l),l}function Et(e,{capability:t="data",exclude:r=null,inherit:n=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let i=e.nodeType===9?e:e.ownerDocument;if(!i?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let o=i.implementation.createHTMLDocument(""),a=new WeakMap,s=new WeakMap,l=e.nodeType===9?e.documentElement:e;r&&o.documentElement.matches(r);let u=St(t),m=ui(l,o,t,u,r,l,n,{cloneToLive:a,liveToClone:s});e.nodeType===9&&m&&(o.replaceChild(m,o.documentElement),s.set(e,o),a.set(o,e));let y=c=>{if(la.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:m,document:o,capability:t,selector:St(t),cloneToLive:a,liveToClone:s,original(c){return a.get(c)||null},cloneOf(c){return s.get(c)||null},query(c,h=m){return y(c),Array.from(h.querySelectorAll(c),f=>a.get(f)||f)},text(c=m){return(c===m?m:s.get(c))?.textContent||""},html(c=m){return(c===m?m:s.get(c))?.innerHTML??""},clone(c=m){let h=c===m?m:s.get(c);return h?o.importNode(h,!0):null}}}function di(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function ca(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var ce={semanticExclude:!0,find(e,t,r={}){let n=ca(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(s=>!di(s)));let o=[];r.skip&&o.push(r.skip);let a=r.templateAttr===null?null:r.templateAttr||"cms-template";if(a&&o.push("["+a+"]"),o.length){let s=o.join(", ");i=i.filter(l=>!l.closest||!l.closest(s))}return i},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,r){if(r===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,r)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,r){if(r===void 0){let n=e?e[t]:void 0;return n!==void 0?n:null}e[t]=r},clone(e){return e.cloneNode(!0)},insertAt(e,t,r){let n=e.children[r]||null;e.insertBefore(t,n)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let n=e.ownerDocument.createElement("template");n.innerHTML=t;let i=n.content.firstElementChild;if(!i)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(i,e),i},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(n=>{n.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function Ae(e,t={}){if(t.exclude===null)return ce;let r=[St("data"),t.exclude].filter(Boolean).join(", "),n=e.nodeType===9?e:e.ownerDocument||e,i=e.nodeType===9?e.documentElement:e;if(!t._write&&!i?.matches?.(r)&&!i?.querySelector?.(r)&&!n?.querySelector?.(r))return ce;let o=e.nodeType===9||!e.isConnected?e:e.ownerDocument,a=e.nodeType===9?e:e.ownerDocument,s=null,l=()=>s||(s=Et(o,{capability:"data",exclude:t.exclude||null})),u=f=>{let b=l();return f===e?b.cloneOf(e):b.cloneOf(f)||f},m=f=>s?.original(f)||f,y=(f,b)=>{l().liveToClone.set(f,b),l().cloneToLive.set(b,f);let k=f.childNodes||[],A=b.childNodes||[];for(let E=0;E<Math.min(k.length,A.length);E++)y(k[E],A[E])},c=(f,b,k,A)=>{let E=Array.from(f.childNodes).filter(U=>s.cloneOf(U)),D=E[0];for(;D&&E.includes(D);)D=D.nextSibling;for(let U of E)U.remove();if(k==="innerHTML"){let U=a.createElement("template");U.innerHTML=A;for(let ie of Array.from(U.content.childNodes))f.insertBefore(ie,D||null)}else f.insertBefore(a.createTextNode(A),D||null);let O=Et(f,{capability:"data",exclude:t.exclude||null});b.replaceChildren(...Array.from(O.root?.childNodes||[]));let W=U=>{let ie=O.original(U);ie&&(s.liveToClone.set(ie,U),s.cloneToLive.set(U,ie));for(let ee of Array.from(U.childNodes||[]))W(ee)};for(let U of Array.from(b.childNodes))W(U)},h={...ce,find(f,b,k={}){let A=u(f);if(!A?.querySelectorAll)return[];let E=l().query(b,A);k.includeRulesTag||(E=E.filter(O=>!di(O)));let L=[];k.skip&&L.push(k.skip);let D=k.templateAttr===null?null:k.templateAttr||"cms-template";if(D&&L.push(`[${D}]`),L.length){let O=L.join(", ");E=E.filter(W=>!W.closest?.(O))}return E},parent(f){let b=u(f)?.parentElement;return b?m(b):null},children(f){return Array.from(u(f)?.children||[],m)},text(f,b){if(b===void 0){let E=m(f);return!E?.matches?.(r)&&!E?.querySelector?.(r)?ce.text(E):(u(f)?.textContent||"").trim()}let k=m(f);if(!k?.matches?.(r)&&!k?.querySelector?.(r)&&!s){ce.text(k,b);return}let A=l().cloneOf(k);A?c(k,A,"textContent",b):ce.text(k,b)},attr(f,b,k){let A=m(f);if(k===void 0)return ce.attr(A,b);ce.attr(A,b,k);let E=s?.cloneOf(A);E&&(ce.attr(E,b,k),Et(A,{capability:"data",exclude:t.exclude||null}).root===null&&(E.remove(),s.liveToClone.delete(A),s.cloneToLive.delete(E)))},removeAttr(f,b){let k=m(f);ce.removeAttr(k,b);let A=s?.cloneOf(k);A&&ce.removeAttr(A,b)},prop(f,b,k){let A=m(f);if(k===void 0)return b==="innerHTML"||b==="outerHTML"||b==="textContent"||b==="innerText"?ce.prop(u(A),b):ce.prop(A,b);let E=b==="innerHTML"||b==="textContent"||b==="innerText",L=E?l().cloneOf(A):s?.cloneOf(A);L&&E?c(A,L,b,k):(ce.prop(A,b,k),L&&ce.prop(L,b,k))},clone(f){let b=u(f);return b===f?ce.clone(f):a.importNode(b,!0)},insertAt(f,b,k){let A=m(f),L=h.children(A)[k]||(()=>{for(let W=A.children.length-1;W>=0;W--){let U=A.children[W];if(l().cloneOf(U))return U.nextElementSibling}return A.firstElementChild})(),D=m(b);A.insertBefore(D,L||null);let O=l().cloneOf(A);if(O){let W=l().cloneOf(D);W||(W=a.importNode(D,!0),y(D,W));let U=Array.from(O.children);O.insertBefore(W,U[k]||null)}},remove(f){let b=m(f),k=l().cloneOf(b);ce.remove(b),k&&ce.remove(k)},replaceWith(f,b){let k=m(f),A=l().cloneOf(k),E=ce.replaceWith(k,b);if(A){let L=Et(E,{capability:"data",exclude:t.exclude||null});if(!L.root)A.remove();else{A.replaceWith(L.root);let D=O=>{let W=L.original(O);W&&(s.liveToClone.set(W,O),s.cloneToLive.set(O,W));for(let U of Array.from(O.childNodes||[]))D(U)};D(L.root)}}return E}};return h}var Je=ce;function Kr(e){try{return JSON.parse(e)}catch(t){throw new Ke(`Invalid strict JSON: ${t.message}`,t)}}function Xe(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function r(i){let o=[],a=0;for(;a<i.length;){let s=i[a];if(/\s/.test(s)){a++;continue}if("{}".includes(s)){o.push({type:s,value:s}),a++;continue}if(s==="["){let y=!1,c=a+1;for(;c<i.length&&/\s/.test(i[c]);)c++;if(c<i.length&&/[a-zA-Z_]/.test(i[c])&&(y=!0),!y){o.push({type:s,value:s}),a++;continue}}if(s==="]"){o.push({type:s,value:s}),a++;continue}if(s===":"){o.push({type:t.COLON,value:s}),a++;continue}if(s===","){o.push({type:t.COMMA,value:s}),a++;continue}if(s==='"'||s==="'"){let y=s,c=a+1;for(;c<i.length&&i[c]!==y;)i[c]==="\\"&&c++,c++;o.push({type:t.STRING,value:i.substring(a+1,c),quoted:!0,sourceQuote:y}),a=c+1;continue}let l=a,u;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let y=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],c=!1;for(let h of y){let f=h.substring(1);if(i.substring(l+1,l+1+f.length)===f){c=!0,l+=f.length;break}}if(!c)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let y=i[l];for(l++;l<i.length&&i[l]!==y;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;u=i.substring(a,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?m=t.NUMBER:u==="true"||u==="false"||u==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(m=t.SELECTOR),o.push({type:m,value:u,quoted:!1}),a=l}return o}function n(i){let o="";for(let a=0;a<i.length;a++){let s=i[a];if("{}".includes(s.type)||"[]".includes(s.type)){o+=s.value;continue}if(s.type===t.COLON){o+=s.value;continue}if(s.type===t.COMMA){let l=i[a+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=s.value;continue}if(s.type===t.STRING&&s.quoted){let l=s.value;s.sourceQuote==="'"&&(l=l.replace(/\\'/g,"'"),l=l.replace(/(\\*)"/g,(u,m)=>m.length%2===0?m+'\\"':u)),o+=`"${l}"`;continue}if(s.type===t.NUMBER||s.type===t.BOOLEAN){o+=s.value;continue}if(s.type===t.SELECTOR||s.type===t.IDENTIFIER){o+=`"${s.value}"`;continue}o+=`"${s.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Ke("Invalid extraction rules syntax: "+i.message,i)}}var mi="1",hi=/^[a-zA-Z0-9_-]+$/;function _t(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!hi.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${hi})`);n=`script[data-rules-name~="${r}"]`}let i=e.find(t,n,{includeRulesTag:!0});if(i.length===0)return null;r!==void 0&&i.length>1&&console.warn(`hyper-html-api: ${i.length} rules tags match data-rules-name~="${r}"; using the first.`);let o=i[0],a=e.attr(o,"data-rules-version");if(a!==mi)throw new Ge(a);return{rules:Xe(e.text(o)),tagNode:o}}var vd=new Function("url","return import(url)");function ki(e,t,r,n){let i=e.length,o=t.length,a=new Array(i).fill(-1);if(n){let k=new Set;for(let A=0;A<i;A++){let E=n[A];!(E>=0&&E<o)||k.has(E)||(a[A]=E,k.add(E))}}if(i===0||o===0)return a;let s=e.map(k=>bi(k,r)),l=t.map(k=>bi(k,r)),u=new Array(o).fill(!1);for(let k of a)k>=0&&(u[k]=!0);let m=new Map;l.forEach((k,A)=>{u[A]||m.set(k,m.has(k)?-1:A)});let y=new Map;s.forEach((k,A)=>{a[A]>=0||y.set(k,(y.get(k)||0)+1)}),s.forEach((k,A)=>{if(a[A]>=0||y.get(k)!==1)return;let E=m.get(k);E===void 0||E===-1||u[E]||(a[A]=E,u[E]=!0)});let c=[];for(let k=0;k<i;k++)a[k]<0&&c.push(k);let h=[];for(let k=0;k<o;k++)u[k]||h.push(k);if(c.length===0||h.length===0)return a;let f=i*o+1,b=(k,A)=>da(e[k],t[A],r)*f+Math.abs(k-A);for(let[k,A]of ha(c,h,b))a[k]=A;return a}var vi=e=>typeof e=="object"&&e!==null;function bi(e,t){if(!vi(t))return e==null?" null":String(e);let r=Object.keys(t);return JSON.stringify(r.map(n=>{let i=JSON.stringify(e?.[n]);return i===void 0?" undef":i}))}function da(e,t,r){if(!vi(r))return e===t?0:1;let n=Object.keys(r);if(n.length===0)return 0;let i=0;for(let o of n){let a=JSON.stringify(e?.[o]),s=JSON.stringify(t?.[o]);a!==s&&i++}return i}function ha(e,t,r){return e.length<=t.length?yi(e,t,r,!1):yi(t,e,(n,i)=>r(i,n),!0)}function yi(e,t,r,n){let i=e.length,o=t.length,a=[];for(let y=0;y<=i;y++)a.push(new Float64Array(o+1).fill(1/0));let s=[];for(let y=0;y<=i;y++)s.push(new Uint8Array(o+1));for(let y=0;y<=o;y++)a[i][y]=0;for(let y=i-1;y>=0;y--)for(let c=o-1;c>=0;c--){let h=r(e[y],t[c])+a[y+1][c+1],f=a[y][c+1];h<=f?(a[y][c]=h,s[y][c]=1):a[y][c]=f}let l=[],u=0,m=0;for(;u<i&&m<o;)s[u][m]&&(l.push(n?[t[m],e[u]]:[e[u],t[m]]),u++),m++;return l}function Yr(e,t,r,n,i,o,a,s={}){let l=e.find(t,r,s);if(i.length===0){l.forEach(O=>e.remove(O)),Gr(s,"onRowsApplied",o.path,[]);return}let u=i.length>l.length,m=l[0]||null;if(u&&!m&&(m=ga(e,t,r,s),!m))throw new wt(o.path);let y=l.map(O=>pa(e,O,n,s)),c=null;if(u&&m){c=e.clone(m),s.templateAttr&&e.removeAttr(c,s.templateAttr);let O=e.stripIds(c);O>0&&console.warn(`[hyper-html-api] stripped ${O} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let h=ki(i,y,n,ma(e,l,i,o,s)),f=l[0]||m,b=e.parent(f),k=l.length>0?xi(e,b,f):0,A=ba(e,l),E=new Set,L=[],D=i.map((O,W)=>{let U=h[W];if(U>=0)return E.add(U),L.push(!1),l[U];L.push(!0);let ie=e.clone(c);return e.stripIds(ie),ie});l.forEach((O,W)=>{E.has(W)||e.remove(O)}),A?D.forEach((O,W)=>{let U=k+W;e.children(b).findIndex(me=>e.sameNode(me,O))!==U&&e.insertAt(b,O,U)}):ya(e,D,L,b,k),fa(e,D,n,i,o,a,s),Gr(s,"onRowsApplied",o.path,D)}function Gr(e,t,r,n){if(typeof e[t]=="function")try{return e[t](r.slice(),n)}catch(i){console.warn(`[hyper-html-api] ${t} threw at "${r.join(".")||"(root)"}"`,i);return}}function ma(e,t,r,n,i){let o=Gr(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let a=new Array(r.length).fill(-1),s=new Set;for(let l=0;l<r.length;l++)if(o[l]){for(let u=0;u<t.length;u++)if(!(s.has(u)||!e.sameNode(t[u],o[l]))){a[l]=u,s.add(u);break}}return a}function fa(e,t,r,n,i,o,a){t.forEach((s,l)=>{if(r===null){let u=n[l],m=u==null?"":String(u);e.text(s)!==m&&e.text(s,m)}else{let u=o(e,s,r,n[l],{depth:i.depth+1,path:[...i.path,l]},a);u&&u!==s&&(t[l]=u)}})}function pa(e,t,r,n){return r===null?e.text(t):Oe(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function xi(e,t,r){let n=e.children(t);for(let i=0;i<n.length;i++)if(e.sameNode(n[i],r))return i;return-1}function ga(e,t,r,n){if(!n.templateAttr)return null;let i=t;for(;i;){let o=e.find(i,r,{includeRulesTag:!1,templateAttr:null});for(let a of o)if(e.attr(a,n.templateAttr)!=null)return a;i=e.parent(i)}return null}function ba(e,t){if(t.length<=1)return!0;let r=e.parent(t[0]);if(!r)return!1;let n=e.children(r),i=[];for(let o of t){let a=n.findIndex(s=>e.sameNode(s,o));if(a===-1)return!1;i.push(a)}return i.sort((o,a)=>o-a),i[i.length-1]-i[0]===i.length-1}function ya(e,t,r,n,i){let o=null,a=i;for(let s=0;s<t.length;s++){if(!r[s]){o=t[s];continue}let l=o?e.parent(o):n;if(!l)continue;let u=o?xi(e,l,o)+1:a++;e.insertAt(l,t[s],u),o=t[s]}}var wi=new Set(["checked","selected","disabled","readOnly","paused"]);function Ze(e,t,r,n,i={}){if(Object.prototype.hasOwnProperty.call(i,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let o=[];if(Jr(r,n,[],o),o.length)throw new xt(o);Gt(e,t,r,n,{depth:0,path:[]},i)}function Gt(e,t,r,n,i,o={}){if(i.depth>Ye)throw new $e(i.path);if(n===void 0)return t;if(typeof r=="string")return ka(e,t,r,n,i,o);if(Array.isArray(r)){let[a,s]=r;return Yr(e,t,a,s,n,i,Gt,o),t}if(typeof r=="object"&&r!==null){for(let[a,s]of Object.entries(r)){let l=Gt(e,t,s,n==null?n:n[a],{depth:i.depth+1,path:[...i.path,a]},o);l&&l!==t&&(t=l)}return t}return t}function ka(e,t,r,n,i,o){if(r.endsWith("[]")){let l=r.slice(0,-2);return Yr(e,t,l,null,n,i,Gt,o),t}if(r.startsWith("@"))return Si(e,t,r.slice(1),n);let a=ae(r);if(a!==-1){let l=r.slice(0,a),u=r.slice(a+1),m=l?e.find(t,l,o):[t];return m.length===0||Si(e,m[0],u,n),t}if(r===".")return Ai(e,t,n),t;let s=e.find(t,r,o);return s.length===0||Ai(e,s[0],n),t}function Ai(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function Si(e,t,r,n){if(vt.has(r))throw new At(r);if(r==="outerHTML"){let o=n==null?"":String(n);return e.replaceWith(t,o)}if(ni.has(r)){let o=va(r,n);return e.prop(t,r)!==o&&e.prop(t,r,o),t}let i=n==null?"":String(n);return e.attr(t,r)!==i&&e.attr(t,r,i),t}function va(e,t){return t==null?wi.has(e)?!1:"":wi.has(e)?t==="false"?!1:!!t:t}function Jr(e,t,r,n){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((i,o)=>{typeof i=="object"&&i!==null&&n.push({path:Ct([...r,o]),expected:"scalar",got:Tt(i)})}):n.push({path:Ct(r),expected:"array",got:Tt(t)});return}t!==null&&typeof t=="object"&&n.push({path:Ct(r),expected:"scalar",got:Tt(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:Ct(r),expected:"array",got:Tt(t)});return}let i=e[1];t.forEach((o,a)=>Jr(i,o,[...r,a],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:Ct(r),expected:"object",got:Tt(t)});return}for(let[i,o]of Object.entries(e))Jr(o,t[i],[...r,i],n)}}}function Tt(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Ct(e){return e.join(".")}function Xr(e,t,r){if(r&&typeof r=="object")return{rules:r,tagNode:null};if(typeof r=="string"){let n=t&&t.ownerDocument?t.ownerDocument:t;return _t(e,n,r)}return null}var fe={extract:(e,t,r={})=>Oe(Ae(e,r),e,t,r),apply:(e,t,r,n={})=>Ze(Ae(e,{...n,_write:!0}),e,t,r,n),findRulesIn:(e,t)=>_t(Je,e,t),findRules:(e,t)=>Xr(Je,e,t),bind:(e,t,r={})=>{let n=Xr(Je,e,t);if(!n){let i=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${i}`)}return{...n,get:()=>Oe(Ae(e,r),e,n.rules,r),set:i=>Ze(Ae(e,{...r,_write:!0}),e,n.rules,i,r)}},parseStrict:Kr,parseRelaxed:Xe,ruleAttrIndex:ae,splitRule:Ht,errors:Kt,DOM_PROPERTIES:Wt};var Qr={};qr(Qr,{fromString:()=>Se,getRuleAtPath:()=>Pe,getValueAtPath:()=>Ia,setAtPath:()=>Zr,toString:()=>La});function La(e){return e.map(String).join(".")}function Se(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function Pe(e,t){let r=e;for(let n of t){if(r==null)return;if(typeof r=="string"){if(r.endsWith("[]")&&(typeof n=="number"||n==="*")){r=r.slice(0,-2);continue}return}if(Array.isArray(r)){if(typeof n!="number"&&n!=="*")return;r=r[1];continue}if(typeof r=="object"){if(typeof n=="number"||!(n in r))return;r=r[n];continue}return}return r}function Ia(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function Zr(e,t,r){if(t.length===0)return r;let[n,...i]=t;if(typeof n=="number"){let o=Array.isArray(e)?[...e]:[];return o[n]=Zr(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:Zr((e||{})[n],i,r)}}function Ot(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[r,n]of Object.entries(e))t[r]=Ot(n);return t}return""}function Yt(e,t,{ignoreActiveValue:r=!0}={}){Hr.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var _i=new WeakMap,en=e=>e.map(String).join(".");function ja(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Ti(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${ja(t)}"]`),n=r&&r.querySelector(".hcms-array-items");return n?Array.from(n.children).filter(i=>i.matches&&i.matches("[data-hcms-card], [data-hcms-array-item]")):null}function Ci(e,t,r){let n=Ti(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&_i.set(i,r[o])})}function Jt(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(en(t),r)}},seed(t){for(let[r,n]of e)Ci(t,r,n);e.clear()}}}function Oi(e){return{identifyRows(t,r){let n=Ti(e,en(t));return!n||n.length!==r.length?null:n.map(i=>_i.get(i)||null)},onRowsApplied(t,r){Ci(e,en(t),r)}}}var Ri={skip:"[data-hcms-shell]",templateAttr:"cms-template"},tn="data-hcms-rollback-ui",Fa=0;function Mi(e,t,r,n={}){return Da(e,t,r,n)}function Da(e,t,r,n){let{shellRoot:i,structural:o,structuralPath:a,formRoot:s}=n,l=s?{...Ri,...Oi(s)}:Ri;if(!o)try{return fe.apply(e,t,r,l),{ok:!0}}catch(c){return{ok:!1,error:c}}let u=qa(e,t,a),m=u?Pa(u):null,y=u?null:za(e,i);try{return fe.apply(e,t,r,l),{ok:!0}}catch(c){return m?Ba(u,m):y&&Ha(e,i,y),{ok:!1,error:c}}}function qa(e,t,r){if(!r||!e)return null;let n=Se(r),i=[],o=t;for(let a of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&a in o){if(i.push(a),o=o[a],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:$a(e,t,i)}function $a(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let a=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let s=i[a];if(s==null)return null;if(o===r.length-1){if(Array.isArray(s)){let[l]=s;return n.querySelector?.(l)?.parentElement||null}if(typeof s=="string"&&s.endsWith("[]")){let l=s.slice(0,-2);return n.querySelector?.(l)?.parentElement||null}return null}i=s}return null}function Pa(e){let t=[],r=[];for(let n of Array.from(e.childNodes))t.push(rn(n,r));return{nodes:t,retained:r}}function Ba(e,t){let r=e.cloneNode(!1);for(let n of t.nodes)r.appendChild(n);kt(e,Array.from(r.childNodes),Li()),Ni(e,t.retained)}function za(e,t){let r=[],n=[];for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||r.push(rn(i,n));return{nodes:r,retained:n}}function Ha(e,t,r){let n=e.cloneNode(!1);for(let i of r.nodes)n.appendChild(i);kt(e,Array.from(n.childNodes),Li()),Ni(e,r.retained)}function rn(e,t){let r=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let o=String(++Fa);r.setAttribute(tn,o),t.push({id:o,node:e})}let n=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,i=r.nodeType===1&&r.tagName==="TEMPLATE"?r.content:r;for(let o of Array.from(n.childNodes||[]))i.appendChild(rn(o,t));return r}function Ni(e,t){for(let{id:r,node:n}of t){let i=e.querySelector(`[${tn}="${r}"]`);i===n?n.removeAttribute(tn):n.isConnected?i?.remove():i?.replaceWith(n)}}function Li(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function Zt(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var Ua='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',nn='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',Fi={"@scalar":`
|
|
1
|
+
var hypercms=(()=>{var ws=Object.defineProperty;var iu=Object.getOwnPropertyDescriptor;var lu=Object.getOwnPropertyNames;var au=Object.prototype.hasOwnProperty;var As=(e,t)=>{for(var n in t)ws(e,n,{get:t[n],enumerable:!0})},cu=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of lu(t))!au.call(e,o)&&o!==n&&ws(e,o,{get:()=>t[o],enumerable:!(r=iu(t,o))||r.enumerable});return e};var uu=e=>cu(ws({},"__esModule",{value:!0}),e);var Om={};As(Om,{cms:()=>Em,default:()=>_m});function Vt(e){let t=0,n=null,r=-1;for(let o=0;o<e.length;o++){let s=e[o];s==="\\"?o++:n?s===n&&(n=null):s==='"'||s==="'"?n=s:s==="["||s==="("?t++:s==="]"||s===")"?t>0&&t--:s==="@"&&t===0&&(r=o)}return r}function To(e){let t=Vt(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function Eo(e,t){if(typeof e=="string"){let n=t&&t.defaultView,r=n&&n.DOMParser||globalThis.DOMParser;return new r().parseFromString(e,"text/html")}if(e&&e.nodeType===9)return e;throw new TypeError("expected an HTML string or a Document")}function Ss(e){let t=new Map;return(n,r)=>{if(typeof r!="string")return Eo(r,e);let o=t.get(n);if(o&&o.text===r)return o.doc;let s=Eo(r,e);return t.set(n,{text:r,doc:s}),s}}function Xi(e,t){let n=t.doctype;if(!n)return!1;let r=e.doctype;if(r&&r.name===n.name&&r.publicId===n.publicId&&r.systemId===n.systemId)return!1;let o=e.implementation.createDocumentType(n.name,n.publicId,n.systemId);return r?e.replaceChild(o,r):e.insertBefore(o,e.documentElement),!0}var Ts=()=>!1;function Es(e,t=[]){if(typeof e!="function")return Ts;let n=new WeakMap,r=new Set(t);return o=>{if(!o||o.nodeType!==1)return!1;let s=n.get(o);if(s!==void 0)return s;let i=[],l=o,a=!1;for(;l&&l.nodeType===1;){let u=n.get(l);if(u!==void 0){a=u;break}if(i.push(l),e(l,r.has(l))){a=!0;break}if(r.has(l))break;l=l.parentElement}for(let u of i)n.set(u,a);return a}}var Vm=Object.freeze(["root-tag","equal","root-attrs","root-level","not-in-body","ignored-ancestor","remote-wins-ancestor","form-ancestor","script-or-template","no-live-twin","live-detached","ancestor-live","sibling-live","outside-id-changed","chain-unpaired"]);function Un(){return{lazyTwins:0,hashRejected:0,similarTiesStrict:0,similarTiesLoose:0,ambiguousMoves:0,certificationPairs:0,certificationVisited:0,fastPathAttempted:0,fastPathTaken:0,fastPathFallback:null}}function _s(e,t){let n=new WeakMap;if(!e||!t||typeof t!="object"||Array.isArray(t))return n;let r=t["~"],o=typeof r=="string"?r.split(",").map(Number):null,s=o&&typeof t["^"]=="string"?t["^"].split(","):null,i=h=>Number.isInteger(h)&&h>=0,l=0,a=!1,u=h=>{let f=h;for(;f>0;){let p=o[l++];if(l>o.length||!i(p))return!1;f+=p-1}return!0},d=(h,f)=>{if(a)return;if(o){let v=l++,m=o[v];if(v>=o.length||!i(m)){a=!0;return}let g=!s||s[v]===h.tagName.toLowerCase();if(!g||m!==h.children.length){let y=g&&t[f];typeof y=="string"&&y&&n.set(h,y),u(m)||(a=!0);return}}let p=t[f];typeof p=="string"&&p&&n.set(h,p);let b=h.children;for(let v=0;v<b.length;v++)d(b[v],f===""?String(v):`${f}.${v}`)};return d(e,""),n}function Ji(e){return t=>{for(let n of e){let r=n(t);if(typeof r=="string"&&r!=="")return r}return null}}var bn=Ji([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function _o(e,t,n,r=null){let o=new Map,s=new Set,i=l=>{if(n(l))return;let a=t(l);a&&(o.has(a)?s.add(a):o.set(a,l))};if(r){let l=a=>{for(let u of a.querySelectorAll(r))i(u);for(let u of a.querySelectorAll("template"))u.content&&l(u.content)};i(e),l(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let l=a=>{i(a);let u=a.tagName==="TEMPLATE"&&a.content?a.content.children:a.children;for(let d=0;d<u.length;d++)l(u[d])};l(e)}for(let l of s)o.delete(l),Os(l);return o}function Os(e){e.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${e.slice(e.indexOf(":",6)+1)}"`)}var du=new Set(["href","src","name","type","role"]),Qi=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function pr(e,t=5381){let n=t;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return n>>>0}function Zi(e){return e.replace(/\s+/g," ")}var hu=0;function el({ignored:e=()=>!1,ignoreAttribute:t=()=>!1,stats:n=null}={}){let r=new WeakMap,o=new WeakMap;function s(H){let z=H.attributes,ae=z.length;if(ae===0)return{all:"",sig:H.tagName+"|"};let me=[],Q="",L=[];for(let Ee=0;Ee<ae;Ee++){let xe=z[Ee],se=xe.name;t(H,se)||me.push(se+"="+xe.value),se==="class"?Q=xe.value.indexOf(" ")<0?xe.value:xe.value.split(/\s+/).filter(Boolean).sort().join(" "):du.has(se)&&L.push(se+"="+xe.value)}return me.length>1&&me.sort(),L.length>1&&L.sort(),{all:me.join(""),sig:H.tagName+"|"+Q+(L.length?"|"+L.join("|"):"")}}function i(H){return H.nodeType===1&&H.tagName==="TEMPLATE"&&H.content?H.content.childNodes:H.childNodes}function l(H){let z=r.get(H);if(z)return z;if(H.nodeType===3)z={hash:"T"+pr(H.nodeValue),hint:Zi(H.nodeValue).slice(0,64),sig:null,tok:null};else if(H.nodeType===8)z={hash:"C"+pr(H.nodeValue),hint:"",sig:null,tok:null};else if(H.nodeType===1){let ae=s(H),me=pr(H.tagName+""+ae.all),Q="";for(let L of u(H))if(L.nodeType===1){let Ee=l(L);me=pr(Ee.hash,me),Q.length<64&&(Q+=" "+Ee.hint)}else me=pr(d(L),me),L.kind==="text"&&Q.length<64&&(Q+=L.value.slice(0,64));z={hash:"E"+me,hint:Zi(Q).trim().slice(0,64),sig:ae.sig,tok:null}}else z={hash:"N"+H.nodeType,hint:"",sig:null,tok:null};return r.set(H,z),z}function a(H){if(!H.tok){H.tok=new Set;for(let z of H.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))z&&H.tok.add(z)}return H.tok}function u(H){let z=o.get(H);if(z)return z;z=[];let ae=null,me=()=>{ae&&(ae.value=ae.nodes.map(Q=>Q.nodeValue).join(""),z.push(ae),ae=null)};for(let Q of i(H)){if(Q.nodeType===3){ae||(ae={kind:"text",nodes:[],value:"",parent:H,hash:void 0}),ae.nodes.push(Q);continue}me(),Q.nodeType===8?z.push({kind:"comment",nodes:[Q],value:Q.nodeValue,parent:H,hash:void 0}):Q.nodeType===1&&!e(Q)&&z.push(Q)}return me(),o.set(H,z),z}function d(H){return H.nodeType===1?l(H).hash:(H.hash===void 0&&(H.hash=(H.kind==="text"?"T":"C")+pr(H.value)),H.hash)}function h(H,z){let ae=a(l(H)),me=a(l(z));if(ae.size===0&&me.size===0)return{coef:1,share:1};if(ae.size===0||me.size===0)return null;let Q=0;for(let L of ae)me.has(L)&&Q++;return{coef:Q/Math.min(ae.size,me.size),share:Q/Math.max(ae.size,me.size)}}function f(H,z){let ae=h(H,z);return!!ae&&ae.coef>=.5}let p=new WeakMap;function b(H){let z=p.get(H);if(z)return z;z=[];for(let ae of H.attributes)t(H,ae.name)||z.push([ae.namespaceURI||"",ae.localName,ae.value]);return z.sort((ae,me)=>ae[0]<me[0]?-1:ae[0]>me[0]?1:ae[1]<me[1]?-1:ae[1]>me[1]?1:0),p.set(H,z),z}let v=new WeakMap;function m(H,z){if(H===z)return!0;if(d(H)!==d(z))return!1;let ae=v.get(H);if(ae&&ae.has(z))return ae.get(z);let me=v.get(z);if(me&&me.has(H))return me.get(H);let Q=g(H,z),L=Q===!0;return Q===!1&&n&&n.hashRejected++,ae||v.set(H,ae=new WeakMap),ae.set(z,L),L}function g(H,z){if(H.nodeType===1){if(z.nodeType!==1||H.tagName!==z.tagName||H.namespaceURI!==z.namespaceURI)return!1;let ae=b(H),me=b(z);if(ae.length!==me.length)return!1;for(let Ee=0;Ee<ae.length;Ee++)if(ae[Ee][0]!==me[Ee][0]||ae[Ee][1]!==me[Ee][1]||ae[Ee][2]!==me[Ee][2])return!1;let Q=u(H),L=u(z);if(Q.length!==L.length)return!1;for(let Ee=0;Ee<Q.length;Ee++){if(d(Q[Ee])!==d(L[Ee]))return!1;if(!m(Q[Ee],L[Ee]))return hu}return!0}return z.nodeType===1?!1:H.kind===z.kind&&H.value===z.value}let y=new WeakMap,I=new Map,Y=0;function $(H){let z=y.get(H);if(z)return z;let ae=d(H),me=I.get(ae);me||I.set(ae,me=[]);let Q=me.find(L=>m(L.unit,H));return z=Q?Q.key:"K"+Y++,Q||me.push({unit:H,key:z}),y.set(H,z),z}return{meta:l,unitsOf:u,unitHash:d,similar:f,score:h,childrenOf:i,equalUnits:m,exactUnitKey:$,ignored:e}}var tl=16,mu=2e3,pu=3,Ns={align:0,certifyVisited:0,certifyScheduled:0};function Cs(e,t,n){let{meta:r,unitsOf:o,unitHash:s,similar:i,score:l,childrenOf:a,equalUnits:u,ignored:d}=n.analyzer,h=n.baseId||(()=>null),f=n.sideId||(()=>null),p=n.stats||null,b=p?new Set:null,v=p?new Set:null,m=new Map,g=new Map,y=new Set,I=new Map,Y=new Set,$=new Set,H=new Set,z=[],ae=[],me=[],Q=[],L=mu,Ee=new Map,xe=new Map,se=(x,A)=>{m.set(x,A),g.set(A,x)},V=new Set,Se=new Set,ve=null,Me=x=>{let A=x.nodeType?x.parentNode:x.parent;if(!A||A.nodeType!==11)return A;if(!ve){ve=new WeakMap;let j=G=>{for(let q of G.querySelectorAll("template"))q.content&&(ve.set(q.content,q),j(q.content))};for(let G of[e,t])j(G.tagName==="TEMPLATE"&&G.content?G.content:G)}return ve.get(A)||null},He=(x,A)=>{for(let j=Me(x);j&&!V.has(j);j=Me(j))V.add(j);for(let j=Me(A);j&&!Se.has(j);j=Me(j))Se.add(j)},Ve=x=>{for(let A=Me(x);A;A=Me(A))if(m.has(A))return $.has(A);return!1},it=x=>{for(let A=Me(x);A;A=Me(A)){let j=g.get(A);if(j!==void 0)return $.has(j)}return!1},le=x=>!!x&&x.nodeType===1,yt=(x,A)=>{let j=I.get(x);return!!j&&j.has(A)},et=x=>Qi.has(x.tagName),Oe=n.comparisons||n.scope,_=(x,A)=>{if(Oe){if(Oe.same.get(x)===A)return!0;if(Oe.differ.get(x)===A)return!1}if(!x.isEqualNode(A))return!1;if(x.tagName==="TEMPLATE")return u(x,A);let j=x.getElementsByTagName("template");if(j.length===0)return!0;let G=A.getElementsByTagName("template");if(j.length!==G.length)return!1;for(let q=0;q<j.length;q++)if(!u(j[q],G[q]))return!1;return!0},B=(x,A)=>{let j=h(x);if(!j)return!0;let G=f(A);return!G||j===G},fe=globalThis.__hyperMorphProfile,Ae=fe?performance.now():0;fe&&!n.scope&&(r(e),r(t),fe.meta=(fe.meta||0)+(performance.now()-Ae),Ae=performance.now()),se(e,t);let pe=new Set;for(let[x,A]of n.baseIndex){let j=n.sideIndex.get(x);j&&j.tagName===A.tagName&&!m.has(A)&&!g.has(j)&&(se(A,j),He(A,j),pe.add(A))}if(pe.size){let x=[];if(n.scope)for(let q of n.scope.chain)pe.has(q)&&x.push(q);let A=[n.scope?n.scope.root:e];for(;A.length;){let q=A.pop();pe.has(q)&&x.push(q);let X=a(q);for(let O=X.length-1;O>=0;O--)X[O].nodeType===1&&A.push(X[O])}let j=new Set;for(let q=x.length-1;q>=0;q--){let X=x[q];n.scope&&n.scope.onChain.has(X)?j.add(X):kt(X,m.get(X),j)?($.add(X),H.add(X),p&&p.certificationPairs++):j.add(X)}let G=new Set;for(let q of x)$.has(q)&&!G.has(q)&&Qe(q,G)}n.scope&&n.scope.head&&ht(n.scope.head[0],n.scope.head[1]);function Qe(x,A){let j=[x];for(;j.length;){let G=j.pop();if(!A.has(G)){A.add(G),T(G);for(let q of o(G))le(q)&&m.has(q)&&j.push(q)}}}Q.push([e,t]);for(let[x,A]of m)le(x)&&x!==e&&Q.push([x,A]);return ee(),qe(),fe&&(fe.align=(fe.align||0)+(performance.now()-Ae)),{map:m,reverse:g,moved:Y,identical:$,pairIdenticalChildren:T,weak:y,unpair:rt,rematch:qe,insertedByHash:lt,refused:v,identityPaired:pe};function qe(){P(),ee();for(let x=0;x<me.length;){let A=me.length;Ue(x,A),x=A,ee(),P(),ee()}}function rt(x){let A=m.get(x);if(!A)return;I.has(x)||I.set(x,new Set),I.get(x).add(A);let j=(q,X)=>{m.delete(q),g.delete(X),Y.delete(q),$.delete(q),y.delete(q),H.delete(q)},G=(q,X)=>{for(let O of o(q)){let C=m.get(O);!C||pe.has(O)||!(le(C)?X.contains(C):X.contains(C.nodes[0]))||(j(O,C),le(O)&&G(O,C))}};j(x,A),le(x)&&G(x,A),z.push(x),ae.push(A)}function lt(){let x=new Map;for(let A of new Set(ae)){if(g.has(A))continue;let j=r(A).hash;x.has(j)||x.set(j,[]),x.get(j).push(A)}return x}function ee(){for(;Q.length;){let[x,A]=Q.shift();m.get(x)!==A||H.has(x)||$.has(x)||ge(x,A)}}function ce(x,A){if(!et(x))for(let j of o(x))le(j)&&(A.push(j),ce(j,A))}function ge(x,A){H.add(x);let j=o(x),G=o(A);Ns.align+=j.length+G.length,Ee=new Map,xe=new Map;for(let Z=0;Z<j.length;Z++)Ee.set(j[Z],Z);for(let Z=0;Z<G.length;Z++)xe.set(G[Z],Z);if(x.tagName==="HTML")for(let Z of["HEAD","BODY"]){let ye=j.find(k=>le(k)&&k.tagName===Z),Re=G.find(k=>le(k)&&k.tagName===Z);ye&&Re&&!m.has(ye)&&!g.has(Re)&&se(ye,Re)}for(let Z=0;Z<j.length&&Z<G.length;Z++){let ye=j[Z],Re=G[Z];m.has(ye)||g.has(Re)||(le(ye)?le(Re)&&ye.tagName===Re.tagName&&_(ye,Re)&&ht(ye,Re):!le(Re)&&ye.kind===Re.kind&&ye.value===Re.value&&ht(ye,Re))}E(j,G);let q=j.filter(Z=>!m.has(Z)),X=G.filter(Z=>!g.has(Z));q.length&&X.length&&(Je(q,X),re(q,X),oe(q,X,j,G),he(j,G));let O=!1,C=!1;for(let Z of j){if(!m.has(Z)){le(Z)&&(z.push(Z),ce(Z,z),O=!0);continue}le(Z)&&!$.has(Z)&&Q.push([Z,m.get(Z)])}for(let Z of G)!g.has(Z)&&le(Z)&&(ae.push(Z),ce(Z,ae),C=!0);O&&C&&me.push([x,A])}function Ue(x,A){for(let j=x;j<A;j++){let[G,q]=me[j];if(m.get(G)!==q)continue;let X=o(G),O=o(q),C=new Map,Z=new Map,ye=null;for(let Re of X)le(Re)&&(m.has(Re)?ye=Re:(C.has(ye)||C.set(ye,[]),C.get(ye).push(Re)));ye=null;for(let Re of O)le(Re)&&(g.has(Re)?ye=g.get(Re):(Z.has(ye)||Z.set(ye,[]),Z.get(ye).push(Re)));for(let[Re,k]of C){let N=Z.get(Re);if(!(!N||k.length!==N.length)&&k.every((D,U)=>N[U].tagName===D.tagName&&B(D,N[U])&&!yt(D,N[U])))for(let D=0;D<k.length;D++)ke(k[D],N[D])}}}function ke(x,A){se(x,A),y.add(x),Q.push([x,A]),ee()}function Je(x,A){let j=gr(x,s),G=gr(A,s),q=new Map;for(let X of A){let O=s(X);G.get(O)===1&&q.set(O,X)}for(let X of x){if(m.has(X))continue;let O=s(X);if(j.get(O)!==1)continue;let C=q.get(O);C&&!g.has(C)&&u(X,C)&&ht(X,C)}}function kt(x,A,j){let G=[[x,A]];for(;G.length;){let[q,X]=G.pop();if(Ns.certifyVisited++,p&&p.certificationVisited++,q.nodeType!==X.nodeType)return!1;if(q.nodeType===3||q.nodeType===8){if(q.nodeValue!==X.nodeValue)return!1;continue}if(q.nodeType!==1){if(!q.isEqualNode(X))return!1;continue}if(q.tagName!==X.tagName||q.namespaceURI!==X.namespaceURI||d(q)!==d(X))return!1;let O=q.attributes,C=X.attributes;if(O.length!==C.length)return!1;for(let N=0;N<O.length;N++){let D=O[N];if(X.getAttributeNS(D.namespaceURI,D.localName)!==D.value)return!1}let Z=m.get(q);if(Z!==void 0&&Z!==X)return!1;let ye=g.get(X);if(ye!==void 0&&ye!==q)return!1;if(q!==x){if($.has(q))continue;if(j.has(q))return!1}let Re=a(q),k=a(X);if(Re.length!==k.length)return!1;Ns.certifyScheduled+=Re.length;for(let N=Re.length-1;N>=0;N--)G.push([Re[N],k[N]])}return!0}function ht(x,A){if(le(x)&&(V.has(x)||Se.has(A))){let j=ze(x,A);if(!j){se(x,A),Q.push([x,A]);return}for(let G=0;G<j.length;G+=2){let q=j[G],X=j[G+1],O=m.get(q);O!==void 0&&O!==X&&wt(q,O);let C=g.get(X);C!==void 0&&C!==q&&wt(C,X),m.get(q)===X&&(Y.delete(q),y.delete(q),$.add(q),H.add(q))}}Ot(x,A)}function wt(x,A){m.delete(x),g.delete(A),Y.delete(x),$.delete(x),y.delete(x),H.delete(x)}function ze(x,A){let j=[x,A,!1],G=[];for(;j.length;){let q=j.pop(),X=j.pop(),O=j.pop(),C=m.get(O),Z=g.get(X);if(O!==x&&(C!==void 0&&C!==X&&pe.has(O)||Z!==void 0&&Z!==O&&pe.has(Z)))return null;if(!(C===X&&$.has(O))&&((C!==void 0||Z!==void 0)&&G.push(O,X),!!le(O))){if(q||C!==void 0&&C!==X||Z!==void 0&&Z!==O){let ye=o(O),Re=o(X);for(let k=0;k<ye.length&&k<Re.length;k++)j.push(ye[k],Re[k],!0)}else if(V.has(O)||Se.has(X)){let ye=O.tagName==="TEMPLATE"?O.content:O,Re=X.tagName==="TEMPLATE"?X.content:X;for(let k=ye.firstElementChild,N=Re.firstElementChild;k&&N;){if(d(k)){k=k.nextElementSibling;continue}if(d(N)){N=N.nextElementSibling;continue}(m.has(k)||g.has(N)||V.has(k)||Se.has(N))&&j.push(k,N,!1),k=k.nextElementSibling,N=N.nextElementSibling}}}}return G}function Ot(x,A){se(x,A),$.add(x),le(x)&&H.add(x)}function T(x){let A=m.get(x);if(!A||!le(x))return;let j=o(x),G=o(A);for(let q=0;q<j.length&&q<G.length;q++)m.has(j[q])||Ot(j[q],G[q])}function re(x,A){let j=O=>le(O)&&!et(O)?r(O).sig+""+r(O).hint:null,G=gr(x,j),q=gr(A,j),X=new Map;for(let O of A){let C=j(O);C!=null&&q.get(C)===1&&X.set(C,O)}for(let O of x){if(m.has(O))continue;let C=j(O);if(C==null||G.get(C)!==1)continue;let Z=X.get(C);Z&&!g.has(Z)&&B(O,Z)&&se(O,Z)}}function oe(x,A,j,G){let q=new Map;for(let O of A){if(!le(O)||g.has(O)||et(O))continue;let C=r(O).sig;q.has(C)||q.set(C,[]),q.get(C).push({el:O,index:xe.get(O)})}let X=[];for(let O of x){if(m.has(O)||!le(O)||et(O))continue;let C=q.get(r(O).sig);if(!C||!C.length)continue;let Z=Ee.get(O),ye=C.filter(Re=>!g.has(Re.el)).map(Re=>({c:Re,d:Math.abs(Re.index-Z)}));ye.sort((Re,k)=>Re.d-k.d),ye.length>tl&&(ye=ye.slice(0,tl));for(let{c:Re,d:k}of ye){if(!B(O,Re.el))continue;let N=l(O,Re.el);N&&N.coef>=.5&&X.push({b:O,s:Re.el,coef:N.coef,share:N.share,d:k,bi:Z})}}if(X.sort((O,C)=>C.coef-O.coef||C.share-O.share||O.d-C.d||O.bi-C.bi),p&&X.length>1){let O=new Map;for(let C of X){let Z=O.get(C.b);Z?Z.coef===C.coef&&(Z.share===C.share?Z.strict++:Z.loose++):O.set(C.b,{coef:C.coef,share:C.share,strict:0,loose:0})}for(let[C,Z]of O)b.has(C)||!(Z.strict||Z.loose)||(b.add(C),Z.strict?p.similarTiesStrict++:p.similarTiesLoose++)}for(let O of X)!m.has(O.b)&&!g.has(O.s)&&se(O.b,O.s)}function de(x,A){return le(x)!==le(A)?!1:le(x)?x.tagName!==A.tagName||!B(x,A)?!1:et(x)||r(x).hint===""||r(A).hint===""?!0:i(x,A):x.kind===A.kind}function ie(x,A){let j=(q,X)=>{let O=X===null?-1:q===A?xe.get(X):Ee.get(X),C=q[O+1];return C&&!le(C)?C:null},G=null;for(let q of x){if(le(q)){G=q;continue}if(m.has(q))continue;let X=G===null?null:m.get(G);if(G!==null&&!X)continue;let O=j(A,X);O&&!g.has(O)&&O.kind===q.kind&&se(q,O)}}function he(x,A){ie(x,A);let j=w(x,A),G=(X,O)=>le(X)&&r(X).hint!==""&&r(O).hint===""&&!!O.querySelector("br")&&!j(X,O),q=0;for(let X of x){if(m.has(X)){let C=xe.get(m.get(X));C!==void 0&&C>=q&&(q=C+1);continue}let O=0;for(let C=q;C<A.length&&O<pu;C++){let Z=A[C];if(!g.has(Z)&&(O++,de(X,Z)&&!yt(X,Z)&&!G(X,Z))){se(X,Z),le(X)&&(r(X).hint===""||r(Z).hint==="")&&y.add(X),q=C+1;break}}}E(x,A)}function w(x,A){let j=(G,q,X)=>{for(let O=q-1;O>=0;O--)if(le(G[O])&&X(G[O]))return G[O];return null};return(G,q)=>{let X=Ee.get(G),O=xe.get(q);if(X===O)return!0;let C=j(x,X,ye=>m.has(ye)),Z=j(A,O,ye=>g.has(ye));return C?m.get(C)===Z:!Z}}function E(x,A){let j=x.filter(C=>le(C)&&!m.has(C)),G=A.filter(C=>le(C)&&!g.has(C));if(!j.length||!G.length)return;let q=gr(j,C=>C.tagName),X=gr(G,C=>C.tagName),O=w(x,A);for(let C of j){let Z=C.tagName;if(q.get(Z)!==1||X.get(Z)!==1)continue;let ye=G.find(Re=>Re.tagName===Z);ye&&!g.has(ye)&&O(C,ye)&&B(C,ye)&&!yt(C,ye)&&(u(C,ye)?ht(C,ye):(se(C,ye),y.add(C)))}}function P(){let x=new Map;for(let C of y)if(le(C)&&le(m.get(C))){let Z=r(C).hash;x.has(Z)||x.set(Z,[]),x.get(Z).push(C)}if(x.size)for(let C of ae){if(g.has(C)||!le(C)||it(C))continue;let Z=x.get(r(C).hash),ye=Z&&Z.find(Re=>y.has(Re)&&!yt(Re,C)&&B(Re,C)&&u(Re,C));ye&&(rt(ye),ht(ye,C),He(ye,C),Y.add(ye))}let A=new Map,j=new Map,G=new Map;for(let C of y){let Z=m.get(C);le(C)&&le(Z)&&G.set(Z,C)}let q=(C,Z)=>{if(!g.has(C))return!it(C);let ye=G.get(C);return ye===g.get(C)&&ye!==Z&&!ye.contains(Z)},X=C=>{if(g.has(C)){let Z=G.get(C);G.delete(C),rt(Z)}};for(let C of[...ae,...G.keys()]){if(g.has(C)&&!G.has(C))continue;let Z=r(C).hash;if(A.has(Z)||A.set(Z,[]),A.get(Z).push(C),et(C))continue;let ye=r(C).sig;j.has(ye)||j.set(ye,[]),j.get(ye).push(C)}let O=new Set;for(let C of y){let Z=m.get(C);!le(C)||!le(Z)||et(C)||r(C).hint===""||r(Z).hint===""||i(C,Z)||O.add(C)}for(let C of[...z,...O]){let Z=m.get(C);if(Z?!(y.has(C)&&O.has(C)):Ve(C))continue;let ye=U=>{Z&&rt(C),X(U)},Re=A.get(r(C).hash);if(Re){let U=Re.find(W=>W!==Z&&q(W,C)&&!yt(C,W)&&u(C,W));if(U){ye(U),ht(C,U),He(C,U),Y.add(C);continue}}if(et(C)||L<=0)continue;let k=j.get(r(C).sig);if(!k)continue;let N=null,D=0;for(let U of k)if(!(U===Z||!q(U,C)||!B(C,U)||yt(C,U))&&(L--<=0||i(C,U)&&(D++,N=U,D>1)))break;D>1&&v&&v.add(C),D===1&&(ye(N),se(C,N),He(C,N),Y.add(C),Q.push([C,N]))}}}function gr(e,t){let n=new Map;for(let r of e){let o=t(r);o!=null&&n.set(o,(n.get(o)||0)+1)}return n}var gu={diff:0},nl=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,bu=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,ku=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,yu=/\P{M}\p{M}*/gu;function Ps(e){if(e==="")return[];if(nl){let n=[];for(let r of nl.segment(e))n.push(r.segment);return n}let t=[];for(let n of e.match(ku))if(bu.test(n))for(let r of n.match(yu))t.push(r);else t.push(n);return t}var xu=/^[ ]+$/,vu=e=>xu.test(e)?" ".repeat(e.length):e,zn=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),Et="",Ms=e=>e.every(t=>zn(t)||t.k===Et),wu=/^[\x00-\x7f\u00A0]*$/,Au=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function Su(e){return e===""?[]:e.match(Au)}function rr(e,t=!1){return(t?Su(e):Ps(e)).map(n=>({k:vu(n),raw:n,len:n.length}))}var Oo=(...e)=>e.every(t=>wu.test(t));function Rs(e,t,n){let r=e.length,o=t.length,s=Math.min(r+o,n),i=s+1,l=new Int32Array(2*s+3),a=[],u=r===0&&o===0;for(let p=0;p<=s&&!u;p++){a.push(l.slice(i-p,i+p+1));for(let b=-p;b<=p;b+=2){let v;b===-p||b!==p&&l[i+b-1]<l[i+b+1]?v=l[i+b+1]:v=l[i+b-1]+1;let m=v-b,g=v;for(;v<r&&m<o&&e[v].k===t[m].k;)v++,m++;if(gu.diff+=1+v-g,l[i+b]=v,v>=r&&m>=o){u=!0;break}}}if(!u)return null;let d=[],h=r,f=o;for(let p=a.length-1;p>0;p--){let b=a[p],v=h-f,m=v+p,g=v===-p||v!==p&&b[m-1]<b[m+1]?v+1:v-1,y=b[g+p],I=y-g;for(;h>y&&f>I;)d.push([0,h-1,f-1]),h--,f--;h===y?(d.push([1,h,f-1]),f--):(d.push([-1,h-1,f]),h--)}for(;h>0&&f>0;)d.push([0,h-1,f-1]),h--,f--;return d.reverse(),d}function Tu(e,t,n){let r=h=>h.k===Et;if(!e.some(r)&&!t.some(r))return Rs(e,t,n);let o=[],s=[];for(let h=0;h<e.length;h++)r(e[h])||o.push(h);for(let h=0;h<t.length;h++)r(t[h])||s.push(h);let i=Rs(o.map(h=>e[h]),s.map(h=>t[h]),n);if(!i)return null;let l=[],a=0,u=0,d=(h,f)=>{for(;a<h&&u<f&&e[a].k===t[u].k;)l.push([0,a++,u++]);let p=Rs(e.slice(a,h),t.slice(u,f),n);if(!p)return!1;for(let[b,v,m]of p)l.push([b,v+a,m+u]);return a=h,u=f,!0};for(let[h,f,p]of i)if(h===0){if(!d(o[f],s[p]))return null;l.push([0,a,u]),a++,u++}return d(e.length,t.length)?l:null}function br(e,t,n=4e3){let r=[],o=0;for(;o<e.length&&o<t.length&&e[o].k===t[o].k;)e[o].raw!==t[o].raw&&r.push({bi:o,tok:t[o]}),o++;let s=0;for(;s<e.length-o&&s<t.length-o&&e[e.length-1-s].k===t[t.length-1-s].k;)e[e.length-1-s].raw!==t[t.length-1-s].raw&&r.push({bi:e.length-1-s,tok:t[t.length-1-s]}),s++;let i=e.slice(o,e.length-s),l=t.slice(o,t.length-s),a=Mu(i,l)?null:Tu(i,l,n);if(!a){let g=i.length||l.length?[{bs:o,be:o+i.length,toks:l}]:[];return{hunks:g,cosmetic:r,coarse:!0,parts:g.map(y=>({...y,gap:[],group:0})),cosmeticEq:r}}let u=[],d=(g,y)=>{i[g].raw!==l[y].raw&&r.push({bi:o+g,tok:l[y]})},h=null,f=[],p=0,b=0,v=()=>{h&&u.push(h),h=null;for(let[g,y]of f)d(g,y);f=[],p++};for(let[g,y,I]of a){if(g===0){h&&zn(i[y])&&!i[y].k.includes(`
|
|
2
|
+
`)?f.push([y,I]):(v(),d(y,I)),b=y+1;continue}(!h||f.length)&&(h&&u.push(h),h={bs:o+b,be:o+b,toks:[],gap:f.map(([Y,$])=>({bi:o+Y,tok:l[$]})),group:p},f=[]),g===-1?(h.be=o+b+1,b=y+1):h.toks.push(l[I])}v(),Eu(u,e);let m=Is(u);return{hunks:m.hunks,cosmetic:r.concat(m.cosmetic),parts:u,cosmeticEq:r}}function Eu(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r.gap.length)continue;let o=n+1<e.length?e[n+1].bs:1/0;if(r.toks.length){if(r.bs===r.be)for(;r.bs+1<o&&r.bs<t.length&&r.toks[0].k===Et&&t[r.bs].k===Et;)r.toks=[...r.toks.slice(1),r.toks[0]],r.bs++,r.be++}else for(;r.be+1<o&&r.be<t.length&&t[r.bs].k===Et&&t[r.be].k===Et;)r.bs++,r.be++}}function Is(e,t=()=>!1){let n=[],r=[],o=null,s=-1;for(let i of e){let l=t(i);if(o&&!o.alone&&!l&&i.group===s){o.be=i.be;for(let a of i.gap)o.toks.push(a.tok);for(let a of i.toks)o.toks.push(a);continue}o&&n.push({bs:o.bs,be:o.be,toks:o.toks});for(let a of i.gap)r.push(a);o={bs:i.bs,be:i.be,toks:i.toks.slice(),alone:l},s=i.group}return o&&n.push({bs:o.bs,be:o.be,toks:o.toks}),{hunks:n,cosmetic:r}}var _u=(e,t)=>e.bs===t.bs&&e.be===t.be&&Fs(e.toks,t.toks);function Ds(e,t,n){let r=d=>h=>d.some(f=>_u(h,f)),o=Is(e.parts,r(t.parts)),s=Is(t.parts,r(e.parts)),i=e.cosmeticEq.concat(o.cosmetic),l=t.cosmeticEq.concat(s.cosmetic),[a,u]=n?Ou(o.hunks,s.hunks,n,i,l):[o.hunks,s.hunks];return{lh:a,rh:u,cosL:i,cosR:l}}function Ou(e,t,n,r,o){let s=(b,v)=>b.k===v.k&&b.raw===v.raw,i=[{list:e.map(b=>({...b})),resp:new Set(r.map(b=>b.bi)),raw:new Map(r.map(b=>[b.bi,b.tok]))},{list:t.map(b=>({...b})),resp:new Set(o.map(b=>b.bi)),raw:new Map(o.map(b=>[b.bi,b.tok]))}],l=b=>b.bs===b.be,a=(b,v,m,g)=>{let y=b.list[v];if(!l(y))return g(y)===m?y.toks:null;let I=v?b.list[v-1].be:0,Y=v+1<b.list.length?b.list[v+1].bs:n.length;if(m<I||m>Y)return null;let $=y.toks,H=y.bs;for(;H>m;){let z=$[$.length-1];if(!s(z,n[H-1])||b.resp.has(H-1))return null;$=[z,...$.slice(0,-1)],H--}for(;H<m;){if(!s($[0],n[H])||b.resp.has(H))return null;$=[...$.slice(1),$[0]],H++}return $},u=(b,v,m,g,y,I)=>{let Y=b.list[v],$=y?m.slice(m.length-g):m.slice(0,g),H=y?m.slice(0,m.length-g):m.slice(g),z={bs:I,be:I,toks:$};if(l(Y)){if(!H.length){b.list[v]=z;return}let me={bs:I,be:I,toks:H};y&&(me.lead=!0),b.list.splice(v,1,...y?[me,z]:[z,me]);return}let ae={bs:Y.bs,be:Y.be,toks:H};b.list.splice(v,1,...y?[ae,z]:[z,ae])},d=(b,v,m,g,y)=>{let I=b.list[v],Y=y?m.slice(m.length-g):m.slice(0,g),$=y?m.slice(0,m.length-g):m.slice(g),H={bs:I.bs,be:I.be,toks:Y};if(!$.length){b.list[v]=H;return}let z=y?{bs:I.bs,be:I.bs,toks:$,lead:!0}:{bs:I.be,be:I.be,toks:$};b.list.splice(v,1,...y?[z,H]:[H,z])},h=(b,v,m,g)=>{let y=b.list[v],I=m.list[g],Y=y.be,$=I.bs;if(Y>=$||v+1<b.list.length&&b.list[v+1].bs<=I.be||g>0&&m.list[g-1].be>=y.bs)return!1;for(let ve=Y;ve<$;ve++)if(!zn(n[ve])||n[ve].k.includes(`
|
|
3
|
+
`))return!1;let H=ve=>n.slice(Y,$).map((Me,He)=>ve.raw.get(Y+He)||Me),z=[...y.toks,...H(b)],ae=[...H(m),...I.toks],me=(ve,Me,He)=>Me>=0&&Me+He.length<=ve.length&&He.every((Ve,it)=>ve[Me+it].k===Ve.k),Q=(ve,Me,He)=>Ms(ve)&&n.slice(Me,He).some(Ve=>!zn(Ve)),L=ve=>ve.some(Me=>!zn(Me)),Ee,xe,se,V;if(l(y)&&L(y.toks)&&me(ae,0,y.toks)){let ve=ae.slice(y.toks.length);Q(ve,Y,I.be)||(Ee=Y,xe=y.toks,se=ae.slice(0,y.toks.length),V=[null,{bs:Y,be:I.be,toks:ve}])}if(Ee===void 0&&l(I)&&L(I.toks)){let ve=z.length-I.toks.length,Me=z.slice(0,ve);me(z,ve,I.toks)&&!Q(Me,y.bs,$)&&(Ee=$,xe=z.slice(ve),se=I.toks,V=[{bs:y.bs,be:$,toks:Me},null])}if(Ee===void 0)return!1;let Se=ve=>ve&&(ve.bs<ve.be||ve.toks.length);return b.list.splice(v,1,...[V[0],{bs:Ee,be:Ee,toks:xe}].filter(Se)),m.list.splice(g,1,...[{bs:Ee,be:Ee,toks:se},V[1]].filter(Se)),!0},f=i[0],p=i[1];for(let b=0;b<64;b++){let v=!1;e:for(let m=0;m<f.list.length;m++)for(let g=0;g<p.list.length;g++){let y=f.list[m],I=p.list[g];if(!(y.bs===I.bs&&y.be===I.be&&Fs(y.toks,I.toks))){for(let Y of[!0,!1]){let $=z=>Y?z.be:z.bs,H=l(y)?[$(I),y.bs]:[$(y)];for(let z of H){let ae=a(f,m,z,$),me=ae&&a(p,g,z,$);if(!me)continue;let Q=(V,Se)=>Y?V[V.length-1-Se]:V[Se],L=0;for(;L<ae.length&&L<me.length&&Q(ae,L).k===Q(me,L).k;)L++;if(!L)continue;let Ee=Y?ae.slice(0,ae.length-L):ae.slice(L),xe=Y?me.slice(0,me.length-L):me.slice(L);if(!(L<ae.length&&L<me.length&&!Ms(Ee)&&!Ms(xe)&&(l(y)&&l(I)||y.bs===I.bs&&y.be===I.be)||!(Y?ae.slice(ae.length-L):ae.slice(0,L)).some(V=>!zn(V)))){if(L===ae.length&&L===me.length&&l(y)&&l(I)){if(y.bs===z&&I.bs===z)continue;f.list[m]={bs:z,be:z,toks:ae},p.list[g]={bs:z,be:z,toks:me}}else!l(y)&&y.bs===I.bs&&y.be===I.be?(d(f,m,ae,L,Y),d(p,g,me,L,Y)):(u(f,m,ae,L,Y,z),u(p,g,me,L,Y,z));v=!0;break e}}}if(h(f,m,p,g)||h(p,g,f,m)){v=!0;break e}}}if(!v)break}return[f.list,p.list]}var Nu=48,Cu=.3;function Mu(e,t){let n=e.filter(i=>!zn(i)),r=t.filter(i=>!zn(i));if(Math.min(n.length,r.length)<Nu)return!1;let o=new Map;for(let i of n)o.set(i.k,(o.get(i.k)||0)+1);let s=0;for(let i of r){let l=o.get(i.k);l>0&&(s++,o.set(i.k,l-1))}return s/Math.min(n.length,r.length)<Cu}var Ru=(e,t)=>{let n=new Set;for(let r of e.toks)typeof r.k!="string"&&n.add(r.k.el);for(let r=e.bs;r<e.be;r++)typeof t[r].k!="string"&&n.add(t[r].k.el);return n},Fs=(e,t)=>e.length===t.length&&e.every((n,r)=>n.k===t[r].k);function rl(e,t,n,r="remote"){let o=br(e,t),s=br(e,n),{lh:i,rh:l,cosL:a,cosR:u}=Ds(o,s,e),d=_=>_.bs===_.be,h=_=>_.toks.some(B=>typeof B.k=="string"),f=_=>d(_)&&!h(_),p=(_,B)=>B.bs<_.be&&_.bs<B.be,b=(_,B)=>!p(_,B)&&B.bs<=_.be&&_.bs<=B.be&&(d(_)&&h(_)||d(B)&&h(B))&&!(d(_)&&d(B)),v=(_,B)=>_.bs===B.bs&&_.be===B.be&&Fs(_.toks,B.toks),m=[],g=new Set;for(let _ of i){let B=l.find(fe=>!g.has(fe)&&v(_,fe));B?(g.add(B),m.push({bs:_.bs,be:_.be,side:"both",l:_,r:B,toks:_.toks})):m.push({bs:_.bs,be:_.be,side:"L",l:_,toks:_.toks,lead:!!_.lead})}for(let _ of l)g.has(_)||m.push({bs:_.bs,be:_.be,side:"R",r:_,toks:_.toks,lead:!!_.lead});m.sort((_,B)=>_.bs-B.bs||_.be-B.be||B.lead-_.lead);let y=0,I=0;for(let _ of m)_.side==="both"&&(y+=_.toks.length-(_.be-_.bs));let Y=m.map((_,B)=>B),$=_=>Y[_]===_?_:Y[_]=$(Y[_]),H=(_,B)=>(_=$(_),B=$(B),_===B?!1:(Y[_]=B,!0)),z=m.map(_=>Ru({bs:_.bs,be:_.be,toks:_.toks},e)),ae={L:new Map,R:new Map};m.forEach((_,B)=>{let fe=_.side==="both"?["L","R"]:[_.side];for(let Ae of fe)for(let pe of z[B])ae[Ae].has(pe)||ae[Ae].set(pe,[]),ae[Ae].get(pe).push(B)});for(let _ of[ae.L,ae.R])for(let B of _.values())for(let fe=1;fe<B.length;fe++)H(B[0],B[fe]);for(let _=0;_<m.length;_++)for(let B=_+1;B<m.length;B++){let fe=m[_],Ae=m[B];fe.side===Ae.side&&fe.side!=="both"||fe.bs>Ae.be||(p(fe,Ae)||b(fe,Ae)?H(_,B):fe.bs===Ae.bs&&d(fe)&&d(Ae)&&I++)}let me=(_,B)=>{let fe=_==="L"?i:l;for(let Ae of fe)if(Ae.toks.some(pe=>pe.kind==="close"&&pe.k.el===B.el))return Ae.bs;for(let Ae=0;Ae<e.length;Ae++)if(e[Ae].kind==="close"&&e[Ae].k.el===B.el)return Ae;return-1};m.forEach((_,B)=>{if(!(!f(_)||_.side==="both"))for(let fe of _.toks){if(fe.kind!=="open")continue;let Ae=me(_.side,fe.k);if(Ae<=_.bs)continue;let pe=new Uint8Array(Ae-_.bs),Qe=[];if(m.forEach((qe,rt)=>{if(!(qe.side===_.side||d(qe))&&qe.bs<Ae&&qe.be>_.bs){Qe.push(rt);for(let lt=Math.max(qe.bs,_.bs);lt<Math.min(qe.be,Ae);lt++)pe[lt-_.bs]=1}}),Qe.length&&pe.every(qe=>qe===1))for(let qe of Qe)H(B,qe)}});let Q=!0;for(;Q;){Q=!1;let _=new Map;m.forEach((B,fe)=>{let Ae=$(fe),pe=_.get(Ae)||{bs:B.bs,be:B.be,L:!1,R:!1};pe.bs=Math.min(pe.bs,B.bs),pe.be=Math.max(pe.be,B.be),B.side!=="R"&&(pe.L=!0),B.side!=="L"&&(pe.R=!0),_.set(Ae,pe)}),m.forEach((B,fe)=>{for(let[Ae,pe]of _){if($(fe)===$(Ae)||!(pe.L&&pe.R))continue;let Qe=B.bs<pe.be&&B.be>pe.bs,qe=d(B)&&h(B)&&(B.bs===pe.be||B.bs===pe.bs);(Qe||qe)&&H(fe,Ae)&&(Q=!0)}})}let L=new Map;m.forEach((_,B)=>{let fe=$(B);L.has(fe)||L.set(fe,[]),L.get(fe).push(_)});let Ee=[];for(let _ of L.values()){let B=_.some(Ae=>Ae.side==="L"),fe=_.some(Ae=>Ae.side==="R");if(B&&fe){let Ae=Math.min(..._.map(rt=>rt.bs)),pe=Math.max(..._.map(rt=>rt.be)),Qe=_.filter(rt=>rt.side!=="R").map(rt=>rt.l).sort((rt,lt)=>rt.bs-lt.bs),qe=_.filter(rt=>rt.side!=="L").map(rt=>rt.r).sort((rt,lt)=>rt.bs-lt.bs);Ee.push({bs:Ae,be:pe,kind:"conflict",localHunks:Qe,remoteHunks:qe})}else for(let Ae of _)Ee.push({bs:Ae.bs,be:Ae.be,kind:Ae.side,u:Ae})}let xe=(_,B)=>{let fe=_==="L"?i:l;for(let Ae of fe)if(Ae.toks.some(pe=>pe.kind==="close"&&pe.k.el===B.el))return Ae.bs+.5;for(let Ae=0;Ae<e.length;Ae++)if(e[Ae].kind==="close"&&e[Ae].k.el===B.el)return Ae;return 1/0},se=(_,B)=>{let fe=_==="L"?i:l;for(let Ae of fe)if(Ae.toks.some(pe=>pe.kind==="open"&&pe.k.el===B.el))return Ae.bs-.5;for(let Ae=0;Ae<e.length;Ae++)if(e[Ae].kind==="open"&&e[Ae].k.el===B.el)return Ae;return-1/0},V=_=>_.kind==="R"?"R":"L",Se=_=>_.kind==="R"?1:0;Ee.sort((_,B)=>{if(_.bs!==B.bs)return _.bs-B.bs;let fe=_.bs===_.be,Ae=B.bs===B.be;if(fe!==Ae)return fe?-1:1;if(fe&&Ae&&_.kind!=="conflict"&&B.kind!=="conflict"){let Qe=_.u.toks,qe=B.u.toks,rt=ee=>ee.length&&ee.every(ce=>ce.kind==="open"),lt=ee=>ee.length&&ee.every(ce=>ce.kind==="close");if(rt(Qe)&&rt(qe)){let ee=Math.max(...Qe.map(ge=>xe(V(_),ge.k))),ce=Math.max(...qe.map(ge=>xe(V(B),ge.k)));if(ee!==ce)return ce-ee}if(lt(Qe)&<(qe)){let ee=Math.min(...Qe.map(ge=>se(V(_),ge.k))),ce=Math.min(...qe.map(ge=>se(V(B),ge.k)));return ee!==ce?ce-ee:Se(B)-Se(_)}}let pe=Qe=>Qe.u&&Qe.u.lead?1:0;return pe(B)-pe(_)||Se(_)-Se(B)||_.be-B.be});let ve=[],Me=[],He=0,Ve=_=>{_>He&&(ve.push({bs:He,be:_,toks:e.slice(He,_),source:"base"}),He=_)};for(let _ of Ee){if(Ve(_.bs),_.kind==="conflict"){let B=js(e,_.localHunks,_.bs,_.be),fe=js(e,_.remoteHunks,_.bs,_.be),Ae=r==="local"?B:r==="both"?B.concat(fe):fe,pe=(rt,lt)=>{let ee=0;for(let ce of rt)ce.be<=_.bs&&!lt.includes(ce)&&(ee+=ce.toks.length-(ce.be-ce.bs));return ee},Qe=_.bs+pe(i,_.localHunks),qe=_.bs+pe(l,_.remoteHunks);Me.push({bs:_.bs,be:_.be,ls:Qe,le:Qe+B.length,rs:qe,re:qe+fe.length,ms:0,me:0,base:e.slice(_.bs,_.be),local:B,remote:fe,resolved:Ae}),ve.push({bs:_.bs,be:_.be,toks:Ae,source:"conflict",localHunks:_.localHunks,localToks:B,keepsLocal:r!=="remote"})}else ve.push({bs:_.bs,be:_.be,toks:_.u.toks,source:_.kind==="R"?"remote":"local",localHunks:_.kind==="R"?[]:[_.u.l]});He=Math.max(He,_.be)}Ve(e.length);let it=0,le=0;for(let _ of ve)_.source==="conflict"&&(Me[le].ms=it,Me[le].me=it+_.toks.length,le++),it+=_.toks.length;let yt=new Map(a.map(_=>[_.bi,_.tok])),et=new Map(u.map(_=>[_.bi,_.tok])),Oe=[];for(let _ of ve){_.source==="base"&&(_.toks=_.toks.map((B,fe)=>{let Ae=_.bs+fe,pe=yt.get(Ae),Qe=et.get(Ae),qe=pe&&Qe?r==="remote"?Qe:pe:pe||Qe||B;return qe===B?B:{...qe,cosmetic:!0}}));for(let B of _.toks)Oe.push({...B,src:_.source})}return{tokens:Oe,segments:ve,conflicts:Me,localHunks:i,remoteHunks:l,collapsedDelta:y,samePoint:I,mapLocalOffset:Lu(e,i,ve)}}function js(e,t,n,r){let o=[],s=n;for(let i of t)o=o.concat(e.slice(s,i.bs),i.toks),s=i.be;return o.concat(e.slice(s,r))}var Ls=e=>e.reduce((t,n)=>t+n.len,0);function Lu(e,t,n){let r=new Int32Array(e.length+1);for(let i=0;i<e.length;i++)r[i+1]=r[i]+e[i].len;let o=t.map(i=>({bs:r[i.bs],be:r[i.be],text:i.toks.map(l=>l.raw).join(""),ref:i})),s=n.map(i=>({bs:r[i.bs],be:r[i.be],len:Ls(i.toks),source:i.source,localHunks:i.localHunks||[],localLen:i.localToks?Ls(i.localToks):0,keepsLocal:i.keepsLocal,ref:i}));return i=>{let l=null,a=null,u=0,d=0,h=0;for(let p of o){let b=p.bs-h;if(i<=d+b){l=h+(i-d);break}if(d+=b,h=p.bs,i<=d+p.text.length){a=p,u=i-d,l=p.bs;break}d+=p.text.length,h=p.be}l===null&&(l=h+(i-d));let f=0;for(let p of s){if(!a&&l<=p.bs)return f;if(!(a?p.localHunks.includes(a.ref):l<p.be)){f+=p.len;continue}if(p.source==="base")return f+(l-p.bs);if(p.source==="remote")return f+p.len;if(p.source==="local")return f+Math.min(u,p.len);if(!p.keepsLocal||!a)return f+p.len;let v=p.localHunks.indexOf(a.ref),m=Ls(js(e,p.localHunks.slice(0,v),p.ref.bs,a.ref.bs));return f+Math.min(m+u,p.localLen)}return f}}function Kr(e,t,n,r="remote"){if(t===n||n===e)return{text:t,conflicts:[],mapLocalOffset:g=>Math.min(g,t.length),granularity:"word"};let o=Oo(e,t,n),s=rr(e,o),i=rr(t,o),l=rr(n,o),a=s.length<=2e4&&i.length<=2e4&&l.length<=2e4?rl(s,i,l,r):null,u="word",d=s;if(!a){let g=y=>y.split(/(?<=\n)/).map(I=>({k:I,raw:I,len:I.length}));d=g(e),a=rl(d,g(t),g(n),r),u="line"}let h=g=>g.map(y=>y.raw).join(""),f=g=>{let y=[0];for(let I of g)y.push(y[y.length-1]+I.len);return y},p=f(d),b=null,v=null,m=null;if(a.conflicts.length){let g=y=>y.split(/(?<=\n)/).map(I=>({k:I,raw:I,len:I.length}));b=f(u==="line"?g(t):i),v=f(u==="line"?g(n):l),m=f(a.tokens)}return{text:h(a.tokens),conflicts:a.conflicts.map(g=>({bs:p[g.bs],be:p[g.be],ls:b[g.ls],le:b[g.le],rs:v[g.rs],re:v[g.re],ms:m[g.ms],me:m[g.me],base:h(g.base),local:h(g.local),remote:h(g.remote),resolved:h(g.resolved)})),mapLocalOffset:a.mapLocalOffset,granularity:u}}function Gr(e,t,n=4e3){if(e===t)return[];let r=Oo(e,t),o=rr(e,r),s=rr(t,r),i=br(o,s,n),l=[0];for(let a of o)l.push(l[l.length-1]+a.len);return i.hunks.map(a=>({bs:l[a.bs],be:l[a.be],text:a.toks.map(u=>u.raw).join("")}))}var xr="\uFFFC";var Iu={caret:0},Mn=new Set("A ABBR B BDI BDO CITE CODE DATA DEL DFN EM FONT I INS KBD MARK Q S SAMP SMALL SPAN STRIKE STRONG SUB SUP TIME TT U VAR".split(" ")),cl=new Set(["BR","WBR","IMG"]),Hs=new Set("ADDRESS ARTICLE ASIDE AUDIO BLOCKQUOTE BODY CANVAS CAPTION CENTER COL COLGROUP DD DETAILS DIALOG DIR DIV DL DT FIELDSET FIGCAPTION FIGURE FOOTER FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HEADER HGROUP HR HTML IFRAME LEGEND LI MAIN MATH MENU NAV NOSCRIPT OBJECT OL OPTGROUP OPTION P PRE SCRIPT SECTION SELECT STYLE SUMMARY SVG TABLE TBODY TD TEMPLATE TEXTAREA TFOOT TH THEAD TITLE TR UL VIDEO".split(" "));function or(e,t={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(t.ignored&&t.ignored(e)||cl.has(e.tagName))return!0;if(!Mn.has(e.tagName))return!Hs.has(e.tagName);if(t.remoteWins&&t.remoteWins(e))return!1;let n=t.inlineCache&&t.inlineCache.get(e);if(n!==void 0)return n;let r=!0;for(let o of e.childNodes)if(!or(o,t)){r=!1;break}return t.inlineCache&&t.inlineCache.set(e,r),r}function ju(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function In(e,t={}){let n={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null,via:null},r=(o,s)=>{for(let i of o){if(i.nodeType===3){let h=i.nodeValue;if(!h)continue;n.nodes.push({node:i,s:n.text.length,e:n.text.length+h.length}),n.text+=h;for(let f=0;f<h.length;f++)n.stackAt.push(s);continue}if(i.nodeType!==1)continue;if(t.ignored&&t.ignored(i)){n.pins.push({el:i,i:n.text.length});continue}if(t.skip&&t.skip.has(i))continue;let l=t.via&&t.via(i)||i;l!==i&&(n.via||(n.via=new Map)).set(l,i);let a=i.tagName;if(t.blocks&&t.blocks.has(i)){n.text.length&&n.text[n.text.length-1]!==Et&&(n.stackAt.push(s),n.text+=Et);let h={el:i,tag:a,from:n.text.length,to:-1,depth:s.length,block:!0};n.marks.push(h);let f=s.concat([h]);r(l.childNodes,f),n.stackAt.push(f),n.text+=Et,h.to=n.text.length;continue}let u=Mn.has(a)&&ju(l);if(cl.has(a)||!Mn.has(a)||t.remoteWins&&t.remoteWins(i)||t.atomize&&t.atomize(i)||u){n.atoms.push({i:n.text.length,el:i,key:u?a+":empty":a,stack:s}),n.stackAt.push(s),n.text+=xr;continue}let d={el:i,tag:a,from:n.text.length,to:-1,depth:s.length};n.marks.push(d),r(l.childNodes,s.concat([d])),d.to=n.text.length}};if(r(e,[]),n.atoms.length===1&&n.atoms[0].el.tagName==="BR"&&n.marks.length===0&&No(n).trim()===""){let o=n.atoms[0];n.placeholder=o.el,n.text=n.text.slice(0,o.i)+n.text.slice(o.i+1),n.stackAt.splice(o.i,1);for(let s of n.nodes)s.s>o.i&&(s.s--,s.e--);n.atoms=[]}return n.atomAt=new Map(n.atoms.map(o=>[o.i,o])),n}function Pu(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ")}function Du(e){let t="<"+e.tagName.toLowerCase();for(let n of e.attributes)t+=` ${n.name}="${n.value.replace(/"/g,""")}"`;return t+">"}function yr(e,t,n){let r="",o=[];for(let s=t;s<n;s++){let i=e.stackAt[s],l=0;for(;l<o.length&&l<i.length&&o[l]===i[l];)l++;for(;o.length>l;)r+=`</${o.pop().tag.toLowerCase()}>`;for(;o.length<i.length;){let u=i[o.length];r+=Du(u.el),o.push(u)}let a=e.atomAt.get(s);r+=a?a.el.outerHTML:e.text[s]===Et?"":Pu(e.text[s])}for(;o.length;)r+=`</${o.pop().tag.toLowerCase()}>`;return r}function Fu(e,t){let n=[...e.el.attributes].filter(r=>!t(e.el,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tag+"|"+n}function ul(e,t){let n=[...e.attributes].filter(r=>!t(e,r.name)).map(r=>r.name+"="+r.value).sort().join("");return e.tagName+"|"+n+"|"+e.innerHTML}function ol(e,t=()=>!1){let n=new Map,r=s=>{let i=n.get(s);return i===void 0&&(i="{"+s.map(l=>Fu(l,t)).sort().join(",")+"}",n.set(s,i)),i},o="";for(let s=0;s<e.text.length;s++){let i=e.atomAt.get(s);o+=(i?"["+ul(i.el,t)+"]":e.text[s])+r(e.stackAt[s])}return e.text.length===0&&e.placeholder&&(o+="[br]"),o}function kr(e,t,n,r=o=>o.key){let o=[],s=e.text,i=0,l=a=>{if(a<=i)return;let u=s.slice(i,a);if(n)for(let d of u.split(/(?<=\n)/))o.push({k:d,raw:d,len:d.length});else for(let d of rr(u,t))o.push(d)};for(let a of e.atoms)l(a.i),o.push({k:"\0"+r(a),raw:xr,len:1,atom:!0}),i=a.i+1;return l(s.length),o}function No(e){if(!e.atoms.length)return e.text;let t="",n=0;for(let r of e.atoms)t+=e.text.slice(n,r.i),n=r.i+1;return t+e.text.slice(n)}var Bs=e=>{let t=new Int32Array(e.length+1);for(let n=0;n<e.length;n++)t[n+1]=t[n]+e[n].len;return t};function sl(e,t,n,r){let o=Bs(t),s=Bs(n),i=[],l=0,a=0;for(let d of r.hunks){a+=d.bs-l;let h=a+d.toks.length;i.push({bs:o[d.bs],be:o[d.be],ss:s[a],se:s[h],text:e.text.slice(s[a],s[h]),toks:d.toks,lead:!!d.lead}),a=h,l=d.be}let u=new Map;for(let d of r.cosmetic)u.set(d.bi,d.tok.raw);return{hunks:i,respell:u}}function il(e,t,n){let r=i=>i===Et||/\s/.test(i),o=i=>i.replace(/[\u001E\s]/g,""),s=[];for(let i of e){let l=t.slice(i.bs,i.be),a=n.slice(i.ss,i.se);if(!l.includes(Et)&&!a.includes(Et)||l.includes(xr)||a.includes(xr)||o(l)!==o(a)){s.push(i);continue}let u=0,d=0;for(;;){let h=u,f=d;for(;h<l.length&&r(l[h]);)h++;for(;f<a.length&&r(a[f]);)f++;let p=u,b=d;for(;p<h&&b<f&&l[p]===a[b];)p++,b++;let v=h,m=f;for(;v>p&&m>b&&l[v-1]===a[m-1];)v--,m--;if(v>p||m>b){let g=a.slice(b,m);s.push({bs:i.bs+p,be:i.bs+v,ss:i.ss+b,se:i.ss+m,text:g,toks:[...g].map(y=>({k:y,raw:y,len:1})),lead:i.lead})}if(h>=l.length)break;u=h+1,d=f+1}}return s}function ll(e,t,n){let r=new Int32Array(t+1).fill(-1),o=new Int32Array(n+1).fill(-1),s=0,i=0,l=a=>{for(;s<a;)r[s]=i,o[i]=s,s++,i++};for(let a of e)l(a.bs),s=a.be,i=a.se;return l(t),r[t]=i,o[i]=t,{bTo:r,toB:o}}function al(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function $s(e){let{out:t,policy:n="remote",L:r,R:o}=e,s=e.provenance||new WeakMap,i=e.textMappers||new WeakMap,l=e.conflicts||[],a=e.decisions||[],u=l.length,d=e.conflict||(c=>l.push(c)),h={textNodes:null,text:"",out:null,atomOut:new Map,breakOut:new Map,node:e.node||null},f=[],p=!!(r&&r.reverse&&r.map&&o&&o.reverse&&o.map),b={base:null,local:null,remote:null};if(p&&e.moveIn){let c=_e=>Ge=>_e.some(Te=>Te===Ge||Te.nodeType===1&&Te.contains(Ge)),S=c(e.local),R=c(e.remote),M=c(e.base),F=new Set,J=_e=>{if(!Mn.has(_e.tagName))return;let Ge=r.map.get(_e),Te=o.map.get(_e);(Ge&&!S(Ge)||Te&&!R(Te))&&F.add(_e);for(let Ie of _e.children)J(Ie)};for(let _e of e.base)_e.nodeType===1&&J(_e);let be=_e=>Ge=>{if(!Mn.has(Ge.tagName))return!1;let Te=_e.reverse.get(Ge);return!!Te&&(F.has(Te)||!M(Te))};F.size&&(b.base=_e=>F.has(_e)),b.local=be(r),b.remote=be(o)}let v={base:new Set,local:new Set,remote:new Set};if(p&&e.moveIn){let c=M=>F=>M.some(J=>J===F||J.nodeType===1&&J.contains(F)),S=c(e.local),R=c(e.remote);for(let M of In(e.base,{...e,atomize:b.base}).atoms){let F=r.map.get(M.el),J=o.map.get(M.el),be=!!F&&!S(F),_e=!!J&&!R(J);!be&&!_e||(v.base.add(M.el),F&&!be&&v.local.add(F),J&&!_e&&v.remote.add(J),S(M.el)&&v.local.add(M.el),R(M.el)&&v.remote.add(M.el))}}let m=In(e.base,{...e,atomize:b.base,skip:v.base}),g=In(e.local,{...e,atomize:b.local,skip:v.local}),y=In(e.remote,{...e,atomize:b.remote,skip:v.remote}),I=new Map(m.atoms.map(c=>[c.el,c])),Y={},$=c=>v[c].size?(Y[c]||(Y[c]=In(e[c],{...e,atomize:b[c]})),Y[c]):null,H=(c,S,R)=>{S.namespaceURI?c.setAttributeNS(S.namespaceURI,S.name,R):c.setAttribute(S.name,R)},z=(c,S,R,M)=>{if(!S&&(!R||!M)){for(let J of(R||M).attributes)H(c,J,J.value);return}let F=new Map;for(let J of[S,R,M])if(J)for(let be of J.attributes)F.set(be.name,be);for(let[J,be]of F){let _e=S?S.getAttribute(J):null,Ge=R?R.getAttribute(J):_e,Te=M?M.getAttribute(J):_e,Ie;Ge===Te?Ie=Ge:Ge===_e?(Ie=Te,a.push({kind:"attr",el:c,name:J,source:"remote"})):Te===_e?(Ie=Ge,a.push({kind:"attr",el:c,name:J,source:"local"})):(Ie=n==="local"?Ge:Te,d({kind:"attr",el:c,name:J,base:_e,local:Ge,remote:Te,resolved:Ie},{el:c,sample:be}),a.push({kind:"attr",el:c,name:J,source:"both"})),Ie!=null&&H(c,be,Ie)}},ae=(c,S,R,M)=>c&&e.mergeAttrs?e.mergeAttrs(c,S,R,M):z(M,c,S,R),me=e.mergeElement||((c,S,R)=>{let M=t.createElement(c.tagName);ae(c,S,R,M);let F=S||c,J=R||c,be=n==="local"?F.isEqualNode(c)?J:F:J.isEqualNode(c)?F:J;for(let _e of be.childNodes)M.appendChild(t.importNode(_e,!0));return s.set(M,{base:c,local:S,remote:R}),M}),Q=e.cloneUnit||((c,S)=>{let R=t.importNode(c,!0);return s.set(R,{base:null,local:S==="local"?c:null,remote:S==="remote"?c:null}),R}),L=e.atomKey||(c=>ul(c,()=>!1)),Ee=(c,S)=>{let R=new Map;for(let M of c.atoms)if(e.remoteWins&&e.remoteWins(M.el)&&Mn.has(M.el.tagName))R.set(M,"w"+M.el.tagName+"#"+(M.el.id||""));else if(!p)R.set(M,M.key);else if(c===m)R.set(M,"="+L(M.el));else{let F=S.reverse.get(M.el),J=F?I.get(F):null;J?R.set(M,"="+L(J.el)):F?R.set(M,"m"+L(M.el)):R.set(M,"="+L(M.el))}return M=>R.get(M)},xe=Ee(m,null),se=Ee(g,r),V=Ee(y,o),Se=Oo(No(m),No(g),No(y)),ve=kr(m,Se,!1,xe),Me=kr(g,Se,!1,se),He=kr(y,Se,!1,V),Ve=ve.length>2e4||Me.length>2e4||He.length>2e4;Ve&&(ve=kr(m,Se,!0,xe),Me=kr(g,Se,!0,se),He=kr(y,Se,!0,V));let it=Ds(br(ve,Me),br(ve,He),ve),le=sl(g,ve,Me,{hunks:it.lh,cosmetic:it.cosL}),yt=sl(y,ve,He,{hunks:it.rh,cosmetic:it.cosR});le.hunks=il(le.hunks,m.text,g.text),yt.hunks=il(yt.hunks,m.text,y.text);let et=ll(le.hunks,m.text.length,g.text.length),Oe=ll(yt.hunks,m.text.length,y.text.length),_=m.text.length,B=c=>new Map(c.atoms.map(S=>[S.el,S])),fe=B(g),Ae=B(y),pe=(c,S,R)=>{let M=new Set;if(!p)return M;for(let F of c.atoms){let J=I.get(S.reverse.get(F.el));J&&R.bTo[J.i]<0&&M.add(J)}return M},Qe=pe(g,r,et),qe=pe(y,o,Oe),rt=c=>!or(c,{...e,remoteWins:null}),lt=new Set;if(p)for(let c of m.atoms){if(!rt(c.el))continue;let S=r.map.get(c.el)||null,R=o.map.get(c.el)||null,M=S&&!R?S:R&&!S?R:null;M&&(fe.has(M)||Ae.has(M))&&!M.isEqualNode(c.el)&<.add(c)}let ee=1,ce=(c,S)=>({id:ee++,tag:c,base:null,local:null,remote:null,rank:S}),ge=new Map,Ue=[];for(let c of m.marks){let S=ce(c.tag,c.depth);S.block=!!c.block,S.base=c.el,S.baseMark=c,ge.set(c.el,S),Ue.push(S)}let ke=(c,S)=>{let R=-1,M=-1;for(let F=c.from;F<c.to;F++){let J=S[F];J>=0&&(R<0&&(R=J),M=J+1)}return R<0?null:[R,M]},Je=(c,S,R,M)=>{for(let F of c.marks){let J=R?R.reverse.get(F.el):null;J&&R.identical.has(J)&&R.pairIdenticalChildren&&R.pairIdenticalChildren(J);let be=J?ge.get(J):null;if(be&&be[S]&&(be=null),!be){let _e=ke(F,M),Ge=0;if(_e)for(let Te of Ue){if(Te.tag!==F.tag||Te[S]||!!Te.block!=!!F.block)continue;let Ie=Math.min(_e[1],Te.baseMark.to)-Math.max(_e[0],Te.baseMark.from);(Ie>Ge||Ie===Ge&&Ie>0&&Math.abs(Te.rank-F.depth)<Math.abs(be.rank-F.depth))&&(be=Te,Ge=Ie)}}be||(be=ce(F.tag,F.depth),be.block=!!F.block,be.new=S),be[S]=F.el,be[S+"Mark"]=F,ge.set(F.el,be)}};Je(g,"local",r,et.toB),Je(y,"remote",o,Oe.toB);let kt=c=>c.merged||c,ht=c=>{let S=new Set;for(let R of c)R.block||S.add(ge.get(R.el));return S},wt=new Map,ze=c=>{let S=wt.get(c);return S||(S=ht(c),wt.set(c,S)),S},Ot=(c,S)=>{let R=[],M=null;for(let F=0;F<_;F++){let J=S[F];if(J<0){M&&R.push(M),M=null;continue}let be=ze(m.stackAt[F]),_e=ze(c.stackAt[J]),Ge=new Set,Te=new Set;for(let Ie of _e)be.has(Ie)||Ge.add(Ie);for(let Ie of be)_e.has(Ie)||Te.add(Ie);if(!Ge.size&&!Te.size){M&&R.push(M),M=null;continue}if(M&&al(M.added,Ge)&&al(M.removed,Te)){M.be=F+1;continue}M&&R.push(M),M={bs:F,be:F+1,added:Ge,removed:Te}}return M&&R.push(M),R},T=Ot(g,et.bTo),re=Ot(y,Oe.bTo),oe=c=>c.be>c.bs?[c.bs,c.be-1]:[c.bs-1,c.bs],de=(c,S)=>{if(_===0)return null;let[R,M]=oe(c);for(let F of S){if(F.be<=R)continue;if(F.bs>M)break;let J=F.bs<=R&&M<F.be;return J&&c.text===""&&F.bs===c.bs&&F.be===c.be?"straddle":J?F:c.be>c.bs?"straddle":null}return null},ie=c=>c.bs===c.be,he=(c,S)=>{let R=!1;for(let M=c.bs;M<c.be;M++){let F=m.text[M];if(F===Et)R=!0;else if(!/\s/.test(F))return!1}for(let M=c.ss;M<c.se;M++){let F=S.text[M];if(F===Et)R=!0;else if(!/\s/.test(F))return!1}return R},w=(c,S)=>c.bs<S.be&&S.bs<c.be,E=(c,S)=>c.bs<=S.be&&S.bs<=c.be&&ie(c)!==ie(S),P=(c,S)=>m.text.slice(c.bs,c.be).includes(Et)||S.text.slice(c.ss,c.se).includes(Et),x=c=>{if(ie(c))return!1;let S=c.bs,R=c.be;for(;S>0&&/\s/.test(m.text[S-1]);)S--;for(;R<m.text.length&&/\s/.test(m.text[R]);)R++;return(S===0||m.text[S-1]===Et)&&(R===m.text.length||m.text[R]===Et)},A=(c,S)=>!P(c,S)&&!x(c),j=(c,S)=>w(c,S)||E(c,S)&&!(he(c,g)&&A(S,y))&&!(he(S,y)&&A(c,g)),G=(c,S)=>{if(c.bs!==S.bs||c.be!==S.be||c.toks.length!==S.toks.length)return!1;let R=c.ss,M=S.ss;for(let F=0;F<c.toks.length;F++){let J=c.toks[F],be=S.toks[F];if(J.k!==be.k||J.atom&&!g.atomAt.get(R).el.isEqualNode(y.atomAt.get(M).el))return!1;R+=J.len,M+=be.len}return!0},q=(c,S,R,M)=>{for(let F of m.atoms){if(F.i<c.bs||F.i>=c.be||M.has(F)||lt.has(F))continue;let J=S.bTo[F.i],be=J>=0?R.atomAt.get(J):null;if(be&&!be.el.isEqualNode(F.el))return!0}return!1},X=[],O=le.hunks,C=yt.hunks,Z=0,ye=0,Re=0,k=0,N=0,D=c=>{c>Re&&(X.push({src:"base",from:Re,to:c,dL:k,dR:N}),Re=c)};for(;Z<O.length||ye<C.length;){let c=O[Z],S=C[ye],R=!!c&&(!S||c.bs<S.bs||c.bs===S.bs&&c.be<=S.be&&!S.lead);if(c&&S&&c.bs===S.bs&&ie(c)&&ie(S)){let qt=he(c,g),Wr=he(S,y);qt!==Wr&&(R=Wr)}let M=R?c:S,F=R?S:c,J=!!F&&G(c,S),be=!!F&&(R?!!O[Z+1]&&G(O[Z+1],S):!!C[ye+1]&&G(c,C[ye+1])),_e=!!F&&!J&&!be&&(_===0||j(c,S)),Ge=_e,Te=de(M,R?re:T);if(Te==="straddle"&&(Ge=!0),!Ge&&M.be>M.bs&&(Ge=q(M,R?Oe:et,R?y:g,R?Qe:qe)),!Ge&&J){D(M.bs),X.push({src:"both",lfrom:c.ss,rfrom:S.ss,len:M.text.length}),Re=M.be,k+=M.text.length-(M.be-M.bs),N+=M.text.length-(M.be-M.bs),Z++,ye++;continue}if(!Ge){D(M.bs),X.push({src:R?"local":"remote",from:M.ss,to:M.se,inherit:Te&&Te!=="straddle"?Te:null}),Re=M.be,R?(k+=M.text.length-(M.be-M.bs),Z++):(N+=M.text.length-(M.be-M.bs),ye++);continue}let Ie=M.bs,gt=M.be,nt=Z,dt=ye,$t=qt=>qt.bs<gt&&qt.be>Ie||ie(qt)&&(qt.bs===Ie||qt.bs===gt);R?nt++:dt++,_e&&(Ie=Math.min(Ie,F.bs),gt=Math.max(gt,F.be),R?dt++:nt++);let Lt=!0;for(;Lt;){for(Lt=!1;nt<O.length&&$t(O[nt]);)Ie=Math.min(Ie,O[nt].bs),gt=Math.max(gt,O[nt].be),nt++,Lt=!0;for(;dt<C.length&&$t(C[dt]);)Ie=Math.min(Ie,C[dt].bs),gt=Math.max(gt,C[dt].be),dt++,Lt=!0}let hn=Ie+k,on=Ie+N,vn=gt-Ie,Tn=gt-Ie;for(let qt=Z;qt<nt;qt++)vn+=O[qt].text.length-(O[qt].be-O[qt].bs);for(let qt=ye;qt<dt;qt++)Tn+=C[qt].text.length-(C[qt].be-C[qt].bs);let Rn=hn+vn,Ln=on+Tn;D(Ie);let Yt={kind:"text",node:e.node||null,base:yr(m,Ie,gt),local:yr(g,hn,Rn),remote:yr(y,on,Ln),resolved:null,range:null,bs:Ie,be:gt,lss:hn,lse:Rn,rss:on,rse:Ln};Yt.resolved=n==="local"?Yt.local:n==="remote"?Yt.remote:Yt.local+Yt.remote,n!=="remote"&&X.push({src:"local",from:hn,to:Rn,conflict:Yt}),n!=="local"&&X.push({src:"remote",from:on,to:Ln,conflict:Yt});let So={site:"inline",fb:m,fl:g,fr:y,scope:e.scope||null,synthetic:!!e.synthetic,full:$,merged:h};f.push(So),d(Yt,So),Re=gt,k+=vn-(gt-Ie),N+=Tn-(gt-Ie),Z=nt,ye=dt}D(_);let U=m.text,W=[];if(le.respell.size||yt.respell.size){let c=Bs(ve),S=[];for(let R=0;R<ve.length;R++){let M=ve[R].raw,F=le.respell.get(R)??M,J=yt.respell.get(R)??M;(F!==M||J!==M)&&W.push([c[R],F!==M&&J!==M?"both":F!==M?"local":"remote"]),S.push(F===J?F:F===M?J:J===M||n==="local"?F:J)}U=S.join("")}let K="",te=[],ue=[],Ce=[],Pe=[];for(let c of X){let S=K.length;if(c.src==="base"){for(let R=c.from;R<c.to;R++)te.push(R),ue.push(R+c.dL),Ce.push(R+c.dR),Pe.push(c);K+=U.slice(c.from,c.to)}else if(c.src==="both"){for(let R=0;R<c.len;R++)te.push(-1),ue.push(c.lfrom+R),Ce.push(c.rfrom+R),Pe.push(c);K+=g.text.slice(c.lfrom,c.lfrom+c.len)}else{let R=c.src==="local"?g:y;for(let M=c.from;M<c.to;M++)te.push(-1),ue.push(c.src==="local"?M:-1),Ce.push(c.src==="remote"?M:-1),Pe.push(c);K+=R.text.slice(c.from,c.to)}c.ms=S,c.me=K.length,c.conflict&&(c.conflict.range||(c.conflict.range=[S,S]),c.conflict.range[1]=K.length)}let Le=K.length,at=new Int32Array(_+1).fill(-1),Be=new Int32Array(g.text.length+1).fill(-1),It=new Int32Array(y.text.length+1).fill(-1);for(let c=0;c<Le;c++)te[c]>=0&&(at[te[c]]=c),ue[c]>=0&&(Be[ue[c]]=c),Ce[c]>=0&&(It[Ce[c]]=c);let We=(c,S)=>{let R=-1,M=-1;for(let F=c.from;F<c.to;F++){let J=S[F];J>=0&&(R<0&&(R=J),M=J+1)}return R<0?null:[R,M]},St=[],mt=[];for(let c of new Set(ge.values()))c.new==="local"?St.push(c):c.new==="remote"&&mt.push(c);let tn=(c,S)=>{c.remote=S.remote,c.remoteMark=S.remoteMark,c.new="both",S.merged=c,ge.set(S.remote,c)};if(St.length&&mt.length){let c=e.idOf;for(let S of St){let R=c?c.local(S.local):null;if(!R)continue;let M=mt.find(F=>!F.merged&&F.tag===S.tag&&!!F.block==!!S.block&&c.remote(F.remote)===R);M&&tn(S,M)}for(let S of St){if(S.remote)continue;let R=We(S.localMark,Be);if(R)for(let M of mt){if(M.merged||M.tag!==S.tag||!!M.block!=!!S.block)continue;let F=We(M.remoteMark,It);if(F&&Math.min(R[1],F[1])-Math.max(R[0],F[0])>0){tn(S,M);break}}}}wt.clear();let Bt=c=>{for(let S of c)if(S.block)return kt(ge.get(S.el));return null},Qt=m.marks.some(c=>c.block)||g.marks.some(c=>c.block)||y.marks.some(c=>c.block),Dt=new Array(Le).fill(null),xt=new Set;if(Qt){let c=(Te,Ie,gt)=>{let nt=new Set([Te,Ie,gt]);nt.delete(null);let dt=[];for(let Lt of nt){let hn=Lt===Te,on=Lt===Ie,vn=Lt===gt;(on===vn?on:on===hn?vn:on)&&dt.push(Lt)}if(dt.length<=1)return dt[0]||null;let $t=n==="local"?Ie:gt;return dt.includes($t)?$t:dt[0]},S=(Te,Ie)=>Ie>=0?Bt(Te.stackAt[Ie]):null,R=new Map;for(let Te=0;Te<Le;Te++){if(K[Te]!==Et)continue;let Ie=te[Te]>=0?S(m,te[Te]):null,gt=S(g,ue[Te]),nt=S(y,Ce[Te]);R.set(Te,[Ie,te[Te]>=0?c(Ie,gt,nt):gt||nt])}let M=new Set([...R.values()].map(Te=>Te[1])),F=Te=>Te!==Et&&Te!==xr&&!/\s/.test(Te),J=(Te,Ie)=>{let gt=Te;for(;gt<Ie&&!F(K[gt]);)gt++;return gt<Ie&&te[gt]>=0?S(m,te[gt]):null},be=new Map,_e=0;for(let Te=0;Te<Le;Te++){if(K[Te]!==Et)continue;let[Ie,gt]=R.get(Te),nt=J(_e,Te),dt=gt,$t=be.get(dt)===dt&&nt===dt;dt&&be.has(dt)&&!$t&&Ie&&!be.has(Ie)&&!M.has(Ie)&&(dt=Ie),dt&&!be.has(dt)&&be.set(dt,nt);for(let Lt=_e;Lt<=Te;Lt++)Dt[Lt]=dt;_e=Te+1}let Ge=Te=>{for(let Ie=0;Ie<Te.text.length;Ie++)if(F(Te.text[Ie])&&!S(Te,Ie))return!0;return!1};if(!Ge(m)&&!Ge(g)&&!Ge(y)){let Te=[],Ie=0;for(let nt=0;nt<Le;nt++)(K[nt]===Et||nt===Le-1)&&(Te.push([Ie,nt]),Ie=nt+1);let gt=new Set(Dt);for(let nt=0;nt<Te.length;nt++){let[dt,$t]=Te[nt];if(Dt[$t])continue;let Lt=dt;for(;Lt<=$t&&!F(K[Lt]);)Lt++;if(Lt>$t)continue;let hn=S(m,te[Lt]),on=S(g,ue[Lt]),vn=S(y,Ce[Lt]),Tn=c(hn,on,vn)||on||vn||hn;if(Tn&&!gt.has(Tn)){gt.add(Tn);for(let Yt=dt;Yt<=$t;Yt++)Dt[Yt]=Tn;continue}let Rn=nt>0&&Dt[Te[nt-1][1]],Ln=nt+1<Te.length&&Dt[Te[nt+1][1]];if(Rn)xt.add(Te[nt-1][1]);else if(Ln&&K[$t]===Et)xt.add($t);else continue;for(let Yt=dt;Yt<=$t;Yt++)Dt[Yt]=Rn||Ln}}}let Rt=new Map,Mt=c=>{let S=Rt.get(c);if(S)return S;S=[1/0,-1/0];for(let[R,M]of[[c.baseMark,at],[c.localMark,Be],[c.remoteMark,It]]){let F=R&&We(R,M);F&&(S[0]=Math.min(S[0],F[0]),S[1]=Math.max(S[1],F[1]))}return Rt.set(c,S),S},zt=(c,S,R)=>{let M=-1,F=-1;for(let J=0;J<c.length;J++){let be=ge.get(c[J].el);be===S&&(M=J),be===R&&(F=J)}return M>=0&&F>=0?M-F:0},an=(c,S)=>[...c].sort((R,M)=>{for(let be of S){let _e=zt(be,R,M);if(_e)return _e}let F=Mt(R),J=Mt(M);return F[0]-J[0]||J[1]-F[1]||R.rank-M.rank||R.id-M.id}),yn=new Map,qn=new Map,Bn=c=>{let S=te[c],R=ue[c],M=Ce[c],F=Pe[c];if(S>=0){let nt=m.stackAt[S],dt=g.stackAt[R],$t=y.stackAt[M],Lt=yn.get(nt);Lt||yn.set(nt,Lt=new Map);let hn=Lt.get(dt);hn||Lt.set(dt,hn=new Map);let on=hn.get($t);if(on)return on;let vn=ze(nt),Tn=ze(dt),Rn=ze($t),Ln=new Set;for(let Yt of new Set([...vn,...Tn,...Rn])){let So=vn.has(Yt),qt=Tn.has(Yt),Wr=Rn.has(Yt);(qt===Wr?qt:qt===So?Wr:qt)&&Ln.add(Yt)}return on=an(Ln,[dt,$t,nt]),hn.set($t,on),on}if(F.src==="both"){let nt=g.stackAt[R],dt=y.stackAt[M];return an(new Set([...ze(nt),...ze(dt)]),[nt,dt])}let be=(F.src==="local"?g:y).stackAt[F.src==="local"?R:M];if(!F.inherit)return an(ze(be),[be]);let _e=qn.get(F);_e||qn.set(F,_e=new Map);let Ge=_e.get(be);if(Ge)return Ge;let Te=new Set(ze(be));for(let nt of F.inherit.added)Te.add(kt(nt));for(let nt of F.inherit.removed)Te.delete(kt(nt));let Ie=F.src==="local"?y:g,gt=(F.src==="local"?Oe.bTo:et.bTo)[F.inherit.bs];return Ge=an(Te,[be,Ie.stackAt[gt]]),_e.set(be,Ge),Ge},Nn=new Int32Array(g.text.length+1);Nn[g.text.length]=Le;for(let c=g.text.length-1;c>=0;c--)Nn[c]=Be[c]>=0?Be[c]:Nn[c+1];Iu.caret+=g.text.length;let mn=c=>c<=0?0:(c>g.text.length&&(c=g.text.length),Be[c-1]>=0?Be[c-1]+1:Nn[c]),nn=[],ne=[],De=null,Ne=[],tt="",pt=-1,$e=c=>{De?De.appendChild(c):nn.push(c)},Ye=c=>{if(!tt)return;let S=t.createTextNode(tt);$e(S),ne.push({node:S,ms:pt,me:c,local:[],u:Ne.length?Ne[Ne.length-1].u:null}),tt=""},ct=new Set,Ke=new Map,ft=new Set,cn=c=>{let S=t.createElement(c.tag);if(c.block&&Kt.add(S),!Ke.has(c)){Ke.set(c,S),ae(c.base,c.local,c.remote,S),s.set(S,{base:c.base,local:c.local,remote:c.remote});let M=(be,_e)=>p&&c[_e]&&be.reverse.get(c[_e])?_e:null,F=!c.base&&(M(r,"local")||M(o,"remote"));if(F){let be=F==="local"?r.reverse.get(c.local):o.reverse.get(c.remote),_e=s.get(S);_e.local=_e.local||r.map.get(be)||null,_e.remote=_e.remote||o.map.get(be)||null,a.push({kind:"move",el:S,source:F})}else c.base||a.push({kind:"insert",el:S,source:c.local&&c.remote?"both":c.local?"local":"remote"});let J=s.get(S);J.local&&(ft.has(J.local)?J.local=null:ft.add(J.local))}else{let M=Ke.get(c);for(let F of M.attributes)F.name!=="id"&&F.name!=="data-id"&&H(S,F,F.value);s.set(S,{base:null,local:null,remote:null})}$e(S),Ne.push({u:c,el:S}),De=S},tr=new Set,xn=new Map;for(let c of g.pins){let S=mn(c.i);xn.has(S)||xn.set(S,[]),xn.get(S).push(c)}let pn=c=>{let S=xn.get(c);if(S){Ye(c);for(let R of S){let M=R.el.namespaceURI&&R.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?t.createElementNS(R.el.namespaceURI,R.el.tagName):t.createElement(R.el.tagName);s.set(M,{base:null,local:R.el,remote:null,pinned:!0}),tr.add(M),$e(M)}}},nr=m.atoms.length||g.atoms.length||y.atoms.length,ot=c=>{if(!nr)return null;let S=te[c]>=0?m.atomAt.get(te[c]):null,R=ue[c]>=0?g.atomAt.get(ue[c]):null,M=Ce[c]>=0?y.atomAt.get(Ce[c]):null;return S||R||M?{ab:S,al:R,ar:M}:null},vt=(c,S,R,M)=>{if(!c||!p)return null;let F=I.get(S.reverse.get(c.el))||null;return!F||F===M||(M?F.el.isEqualNode(M.el):R.bTo[F.i]>=0)?null:F},we=(c,S)=>{if(!c||!p||!e.moveIn)return null;let R=S.reverse.get(c.el);return R&&!I.has(R)?R:null},je=(c,S)=>{let R=new Map;for(let M of c.atoms)R.set(S(M),(R.get(S(M))||0)+1);return R},Xe=je(m,xe),ut=je(g,se),Ze=je(y,V),Nt=c=>{let S=xe(c);return Xe.get(S)===1&&(ut.get(S)||0)<=1&&(Ze.get(S)||0)<=1},_t=new Map,Ht=new Set,en=new Set,dn=new Set;for(let c=0;c<Le;c++){let S=ot(c);if(!S)continue;let{ab:R,al:M,ar:F}=S,J=vt(F,o,Oe,R),be=vt(M,r,et,R),_e=R,Ge=null;if(J?(_e=J,Ge="remote"):be&&(_e=be,Ge="local"),_e){Ht.has(_e)?_t.set(c,{dup:_e.el}):(Ht.add(_e),_t.set(c,{bk:_e,from:Ge,al:M,ar:F}));continue}let Te=we(F,o),Ie=we(M,r),gt=Te||Ie;if(gt){en.has(gt)?_t.set(c,{dup:gt}):(en.add(gt),_t.set(c,{moveIn:gt,side:Te?"remote":"local",sideEl:Te?F.el:M.el}));continue}let nt=($t,Lt)=>$t&&p&&I.get(Lt.reverse.get($t.el))||null,dt=nt(F,o)||nt(M,r);if(dt&&(dn.add(dt),Pe[c].conflict&&Nt(dt))){if(Ht.has(dt)){_t.set(c,{dup:dt.el});continue}Ht.add(dt)}_t.set(c,{al:M,ar:F})}let jt=new Map,Hn=(c,S)=>{if(c[S]>=0)return c[S];for(let R=S-1;R>=0;R--)if(c[R]>=0)return c[R]+1;return 0};if(p)for(let c of m.atoms){if(Ht.has(c)||dn.has(c))continue;let S=r.map.get(c.el)||null,R=o.map.get(c.el)||null,M=S&&fe.get(S),F=R&&Ae.get(R);if(S&&!M||R&&!F)continue;let J=!(M&&F)&<.has(c);if(!J&&!(M&&F&&Nt(c)))continue;let be=n==="local"?[[M,Be],[F,It]]:[[F,It],[M,Be]],[_e,Ge]=be.find(([Ie])=>Ie),Te=Hn(Ge,_e.i);jt.has(Te)||jt.set(Te,[]),jt.get(Te).push({a:c,lt:S,rt:R,edited:J}),Ht.add(c)}if(p&&e.moveIn){let c=[[g,r,Be,"local"],[y,o,It,"remote"]];n!=="local"&&c.reverse();for(let[S,R,M,F]of c)for(let J of S.atoms){let be=we(J,R);if(!be||en.has(be))continue;en.add(be);let _e=Hn(M,J.i);jt.has(_e)||jt.set(_e,[]),jt.get(_e).push({move:be,side:F,sideEl:J.el})}}let Wt=c=>{let S=jt.get(c);if(S){if(Ye(c),S.some(R=>rt(R.move?R.sideEl:R.a.el)))for(;Ne.length;)Ne.pop(),De=Ne.length?Ne[Ne.length-1].el:null;for(let{a:R,lt:M,rt:F,edited:J,move:be,side:_e,sideEl:Ge}of S){if(be){let Ie=e.moveIn(be,_e,Ge);Ie&&$e(Ie);continue}ct.add(R);let Te=me(R.el,M,F);J&&(d({kind:"structure",el:Te,detail:"edit-beats-delete",base:R.el},{subject:R.el,deleted:M?"remote":"local"}),a.push({kind:"insert",el:Te,source:M?"local":"remote"})),$e(Te)}}},Kt=new Set,gn=l.length>u;for(let c=0;c<Le;c++){let S=ot(c),M=!!S&&rt((S.ab||S.al||S.ar).el)?[]:Dt[c]?[Dt[c],...Bn(c)]:Bn(c),F=0;for(;F<Ne.length&&F<M.length&&Ne[F].u===M[F];)F++;if(F<Ne.length)for(Ye(c);Ne.length>F;)Ne.pop(),De=Ne.length?Ne[Ne.length-1].el:null;if(pn(c),Wt(c),M.length>Ne.length)for(Ye(c);Ne.length<M.length;)cn(M[Ne.length]);if(K[c]===Et){if(xt.has(c))continue;Ye(c);let J=Ne.length;for(;J>0&&!Ne[J-1].u.block;)J--;if(J>0)for(gn&&h.breakOut.set(c,Ne[J-1].el);Ne.length>=J;)Ne.pop(),De=Ne.length?Ne[Ne.length-1].el:null;continue}if(S){Ye(c);let J=_t.get(c),be;if(J.dup){d({kind:"structure",el:null,detail:"both-moved",base:J.dup},{subject:J.dup});continue}if(J.moveIn){if(be=e.moveIn(J.moveIn,J.side,J.sideEl),!be)continue}else if(J.bk){let _e=J.bk;if(ct.add(_e),_e===S.ab)be=me(_e.el,J.al.el,J.ar.el);else{let Ge=r.map.get(_e.el)||null,Te=o.map.get(_e.el)||null;be=me(_e.el,Ge,Te),(!Ge||!Te)&&d({kind:"structure",el:null,detail:"move-beats-delete",base:_e.el},{subject:_e.el,deleted:Ge?"remote":"local"}),a.push({kind:"move",el:be,source:J.from})}}else J.al?(be=Q(J.al.el,"local"),J.ar&&(s.get(be).remote=J.ar.el),a.push({kind:"insert",el:be,source:J.ar?"both":"local"})):(be=Q(J.ar.el,"remote"),a.push({kind:"insert",el:be,source:"remote"}));gn&&h.atomOut.set(c,be),$e(be);continue}tt||(pt=c),tt+=K[c]}if(Ye(Le),(xn.has(Le)||jt.has(Le))&&(Ne.length=0,De=null,pn(Le),Wt(Le)),Le===0&&(g.placeholder||y.placeholder||m.placeholder)){let c=t.createElement("br");s.set(c,{base:m.placeholder,local:g.placeholder,remote:y.placeholder}),nn.push(c)}let An=0,wo=c=>{for(;An>0&&ne[An-1].me>=c;)An--;for(;An<ne.length&&ne[An].me<c;)An++;let S=ne[An];if(!S)return ne[ne.length-1]||null;let R=ne[An+1];return S.me===c&&R&&R.ms===c?R:S},mr=new Map,Vr={},Fe=(c,S,R)=>{let M=wo(c)||(R?Vr:null);if(!M)return;let F=mr.get(M)||{l:!1,r:!1};S!=="remote"&&(F.l=!0),S!=="local"&&(F.r=!0),mr.set(M,F)},At=c=>{if(c.conflict)return!0;let S=c.src==="local"?g.text:c.src==="remote"?y.text:"";for(let R=c.from;R<c.to;R++)if(S[R]!==xr&&S[R]!==Et)return!0;return!1};for(let c of X)c.src!=="base"&&Fe(c.ms,c.conflict?"both":c.src,At(c));for(let[c,S]of W)at[c]>=0&&Fe(at[c],S);for(let c of ne.length?ne:[Vr]){let S=mr.get(c);S&&a.push({kind:"text",node:c.node||null,source:S.l&&S.r?"both":S.l?"local":"remote"})}for(let c of Ue){if(Ke.has(c))continue;let S=!c.local&&!(p&&r.map.get(c.base)),R=!c.remote&&!(p&&o.map.get(c.base));!S&&!R||a.push({kind:"remove",source:S&&R?"both":S?"local":"remote",base:c.base})}let Pt=(c,S,R)=>{if(S<=c)return!1;for(let M=c;M<S;M++)if(R[M]>=0)return!1;return!0};for(let c of Ue)for(let S of["local","remote"]){let R=c[S+"Mark"],M=c.baseMark;if(!R)continue;let F=S==="local"?et:Oe;if(!Pt(M.from,M.to,F.bTo)||!Pt(R.from,R.to,F.toB))continue;let J=(S==="local"?O:C).find(be=>be.ss<=R.from&&R.from<be.se);J&&(J.be<=M.from||J.bs>=M.to)&&a.push({kind:"move",el:Ke.get(c)||null,source:S})}let Ct=c=>{let S=ge.get(c.node.parentNode);return S?kt(S):null};for(let c of g.nodes){let S=-1;for(let M=c.s;M<c.e;M++)if(Be[M]>=0){S=Be[M];break}let R;if(S>=0)R=wo(S);else{let M=mn(c.s),F=Ct(c);R=ne.find(J=>J.u===F&&J.me>=M)||ne.filter(J=>J.u===F).pop()}R&&R.local.push(c)}let Tt=new Map,Sn=ne[ne.length-1]||null,Gt=0;for(let c of g.nodes){let S=null;for(let R=c.s;R<=c.e;R++){let M=mn(R);for(;Gt>0&&ne[Gt-1].me>=M;)Gt--;for(;Gt<ne.length&&ne[Gt].me<M;)Gt++;let F=be=>be&&M>=be.ms&&M<=be.me&&(M<be.me||R===c.e||be===S),J=F(ne[Gt])?ne[Gt]:F(ne[Gt+1])?ne[Gt+1]:ne[Gt]||Sn;if(!J)break;if(S===J){let be=Tt.get(J);be[be.length-1].to=R-c.s;continue}S=J,Tt.has(J)||Tt.set(J,[]),Tt.get(J).push({node:c.node,from:R-c.s,to:R-c.s,flatStart:c.s})}}for(let c of ne){let S=c.local,R=!1;for(let be of S)for(let _e=be.s;_e<be.e&&!R;_e++)(Be[_e]<c.ms||Be[_e]>=c.me)&&(R=!0);s.set(c.node,{base:null,local:S.map(be=>be.node),remote:null,caret:Tt.get(c)||[],partial:R});let M=c.ms,F=c.me-c.ms,J=be=>{let _e=0,Ge=-1;for(let Te of S){let Ie=Te.e-Te.s;if(be<=_e+Ie){Ge=Te.s+(be-_e);break}_e+=Ie}return Ge<0&&(Ge=S.length?S[S.length-1].e:0),Math.max(0,Math.min(mn(Ge)-M,F))};J.flat=be=>Math.max(0,Math.min(mn(be)-M,F)),i.set(c.node,J)}function $n(){if(!g.text.includes(Et))return[{flatLocal:g.text,localNodes:g.nodes,textNodes:ne,lToM:Be,mapLocal:mn}];let c=[],S=0,R=0;for(let M=0;M<=g.text.length;M++){if(M<g.text.length&&g.text[M]!==Et)continue;let F=S,J=M;if(J>F){let be=[];for(;R<g.nodes.length&&g.nodes[R].e<=F;)R++;for(let _e=R;_e<g.nodes.length&&g.nodes[_e].s<J;_e++){let Ge=g.nodes[_e],Te=Math.max(Ge.s,F),Ie=Math.min(Ge.e,J);Te<Ie&&be.push({node:Ge.node,s:Te-F,e:Ie-F})}c.push({flatLocal:g.text.slice(F,J),localNodes:be,textNodes:ne,lToM:Be.subarray?Be.subarray(F,J+1):Be.slice(F,J+1),mapLocal:_e=>mn(F+Math.max(0,Math.min(_e,J-F)))})}S=M+1}return c}let Cn={...e,blocks:Kt,ignored:c=>tr.has(c)||(e.ignored?e.ignored(c):!1)},rn=e.ignoreAttribute||(()=>!1),Ao=ol(In(nn,Cn),rn)!==ol(y,rn);if(f.length){let c=S=>{let R=s.get(S);return R&&R.unchanged?R.remote:null};h.text=K,h.textNodes=ne,h.out=In(nn,{...Cn,via:c})}return{nodes:nn,text:K,textNodes:ne,localDiverged:Ao,mapLocal:mn,conflicts:l.slice(u),granularity:Ve?"line":"word",segments:$n(),localHunks:O,remoteHunks:C,lToM:Be}}var qu="http://www.w3.org/1999/xhtml";function Bu(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function un(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===qu}function Hu(e){let t=(e.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return t==="application/json"||t.endsWith("+json")}function Co(e,t){let n=e.getAttribute("src"),r=(e.getAttribute("type")||"text/javascript").split(";")[0].trim().toLowerCase();if(n){let o=n;try{let s=new URL(n,t);o=s.origin+s.pathname+s.search}catch{}return"script|src|"+r+"|"+o}return"script|inline|"+r+"|"+Bu(e.textContent.trim())}var $u={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function vr(e,t=[],n=!1){if(!un(e)||e.hasAttribute("src"))return null;let r=[$u,...t];for(let o=0;o<r.length;o++){let s=r[o];if(!s.match(e))continue;if(!Hu(e))return n&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let i=s.identity(e);return i==null||i===""?null:{key:o+":"+i,raw:i,recognizer:s}}return null}function fl(e,t,n){let r=new Set,o=s=>{un(s)&&!t(s)&&r.add(Co(s,n))};o(e);for(let s of e.querySelectorAll("script"))o(s);return r}function Yr(e,t){let n=t.createElement("div");n.innerHTML="<script><\/script>";let r=n.firstChild;for(let o of e.attributes)r.setAttribute(o.name,o.value);return r.textContent=e.textContent,r}function dl(e,t,n){let r=[],o=[],s=new Map,i=n.trackRecovery?new Set:null,l=Array.from(e.querySelectorAll("script"));un(e)&&l.unshift(e);for(let a of l){if(!un(a)||n.ignored(a)||n.skip.has(a)||t.has(Co(a,n.baseURI)))continue;let u=a.ownerDocument.createElement("script");for(let d of a.attributes)u.setAttribute(d.name,d.value);if(u.textContent=a.textContent,n.beforeNodeAdded(u)===!1){i?.add(a);continue}u.hasAttribute("src")&&o.push(new Promise(d=>{u.addEventListener("load",()=>d()),u.addEventListener("error",()=>d())})),a.replaceWith(u),s.set(a,u),n.afterNodeAdded(u),r.push(u)}return{executed:r,loads:o,swapped:s,vetoed:i}}function Uu(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t^e.charCodeAt(n);return(t>>>0).toString(36)}function zu(e,t){try{let n=new URL(e,t);return n.origin+n.pathname+n.search}catch{return e}}function hl(e,t){let n=e.tagName;if(n==="TITLE"||n==="BASE")return n;if(n==="SCRIPT")return Co(e,t);if(n==="LINK"){let r=e.getAttribute("href");return r?"link|"+(e.getAttribute("rel")||"")+"|"+zu(r,t):e.outerHTML}if(n==="META"){for(let r of["charset","name","property","http-equiv","itemprop"])if(e.hasAttribute(r))return"meta|"+r+"="+e.getAttribute(r);return e.outerHTML}return n==="STYLE"?"style|"+Uu(e.textContent):e.outerHTML}function Us(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
|
|
4
|
+
`;)t++;continue}if(e[t]==="/"&&e[t+1]==="*"){let n=e.indexOf("*/",t+2);if(n===-1)return e.length;t=n+2;continue}return t}}function Vu(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,n)=>n.length%2===0?n+'\\"':t)}var Wu=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Ku=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function zs(e){try{return JSON.parse(e)}catch{return JSON.parse(Gu(e))}}function Gu(e){let t="",n=0,r=(o,s)=>{throw new Error(`Invalid relaxed JSON: ${o} at position ${s}`)};for(;n<e.length&&(n=Us(e,n),!(n>=e.length));){let o=e[n];if("{}[]:".includes(o)){t+=o,n++;continue}if(o===","){let l=Us(e,n+1);if(e[l]==="}"||e[l]==="]"){n++;continue}t+=o,n++;continue}if(o==='"'||o==="'"){let l=n+1;for(;l<e.length&&e[l]!==o;)e[l]==="\\"&&l++,l++;l>=e.length&&r("unterminated string",n);let a=e.slice(n+1,l);o==="'"&&(a=Vu(a)),t+='"'+a+'"',n=l+1;continue}let s=n;for(;s<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[s]);)s++;s===n&&r("unexpected character "+JSON.stringify(o),n);let i=e.slice(n,s);if(i==="true"||i==="false"||i==="null"||Wu.test(i)){t+=i,n=s;continue}if(Ku.test(i)){if(e[Us(e,s)]===":"){t+='"'+i+'"',n=s;continue}r("unquoted value "+JSON.stringify(i),n)}r("invalid token "+JSON.stringify(i),n)}return t}var Ut=Symbol("hyper-morph-json-merge:missing"),ml=["id","_id","uuid","key","slug","code","name"];function wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Xr(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Yu(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})}function Vn(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Vn(e[n],t[n]))return!1;return!0}if(wr(e)&&wr(t)){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Xr(t,r)||!Vn(e[r],t[r]))return!1;return!0}return!1}function pl(e,t,n,r){return Vn(t,n)?t:Vn(t,e)?n:Vn(n,e)?t:wr(t)&&wr(n)?Xu(wr(e)?e:{},t,n,r):Array.isArray(t)&&Array.isArray(n)?ef(Array.isArray(e)?e:[],t,n,r):n}function gl(e,t,n,r){return t===Ut&&n===Ut?Ut:t===Ut?e===Ut?n:Vn(n,e)?Ut:n:n===Ut?e===Ut?t:Ut:pl(e,t,n,r)}function Xu(e,t,n,r){let o={},s=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(n)]);for(let i of s){let l=gl(Xr(e,i)?e[i]:Ut,Xr(t,i)?t[i]:Ut,Xr(n,i)?n[i]:Ut,r);l!==Ut&&Yu(o,i,l)}return o}function Ju(e){return e===null||typeof e!="object"}function Mo(e){return typeof e+":"+String(e)}function Zu(e,t){for(let n of t){let r=new Set;for(let o of n){if(!Xr(o,e))return!1;let s=o[e];if(typeof s!="string"&&typeof s!="number")return!1;let i=Mo(s);if(r.has(i))return!1;r.add(i)}}return!0}function Qu(e,t,n,r){let o=[e,t,n],s=!0;for(let i of o)for(let l of i)wr(l)||(s=!1);if(s){for(let i of r.keyCandidates)if(Zu(i,o))return{kind:"keyed",field:i};return null}for(let i of o){let l=new Set;for(let a of i){if(!Ju(a))return null;let u=Mo(a);if(l.has(u))return null;l.add(u)}}return{kind:"self"}}function ef(e,t,n,r){let o=Qu(e,t,n,r);if(!o)return n;let s=o.kind==="self"?Mo:p=>Mo(p[o.field]),i=p=>{let b=new Map;for(let v of p)b.set(s(v),v);return b},l=i(e),a=i(t),u=i(n),d=new Map,h=new Set([...l.keys(),...a.keys(),...u.keys()]);for(let p of h){let b=gl(l.has(p)?l.get(p):Ut,a.has(p)?a.get(p):Ut,u.has(p)?u.get(p):Ut,r);b!==Ut&&d.set(p,b)}let f=[];for(let p of n){let b=s(p);d.has(b)&&f.push(b)}for(let p=0;p<t.length;p++){let b=s(t[p]);if(!d.has(b)||f.includes(b))continue;let v=0;for(let m=p-1;m>=0;m--){let g=f.indexOf(s(t[m]));if(g!==-1){v=g+1;break}}f.splice(v,0,b)}return f.map(p=>d.get(p))}function bl(e,t,n,r={}){let o=r.keyCandidates?[...r.keyCandidates,...ml]:ml;return pl(e===void 0?Ut:e,t,n,{keyCandidates:o})}function Vs(e,t,n,r={}){let o=r.parse||zs,s=[],i=(h,f)=>{if(typeof h!="string")return Ut;try{return o(h)}catch(p){return s.push(`${f} side is not valid JSON (${p.message})`),Ut}},l=i(t,"local"),a=i(n,"remote");if(l===Ut)return{text:n,warnings:s};if(a===Ut)return{text:t,warnings:s};let u=i(e,"base"),d=bl(u===Ut?void 0:u,l,a,r);return Vn(d,a)?{text:n,warnings:s}:Vn(d,l)?{text:t,warnings:s}:{text:JSON.stringify(d,null,2),warnings:s}}var kl=e=>e.nodeType===3||e.nodeType===8?e.nodeValue.length:e.childNodes.length;function ir(e){if(!e)return!1;let{startContainer:t,startOffset:n,endContainer:r,endOffset:o}=e;if(!t||!r||!Number.isInteger(n)||!Number.isInteger(o)||n<0||o<0||n>kl(t)||o>kl(r)||t.getRootNode()!==r.getRootNode())return!1;let s=t.ownerDocument.createRange();return s.setStart(t,n),s.setEnd(r,o),s.startContainer===t&&s.startOffset===n}function Wn(e,t,n={}){if(!ir(e))return null;let{startContainer:r,startOffset:o,endContainer:s,endOffset:i}=e;if(r===s&&(r.nodeType===3||r.nodeType===8))return r.nodeValue.slice(o,i);if(r===s&&o===i)return"";let l=new Set;for(let m=r;m;m=m.parentNode)l.add(m);let a=s;for(;!l.has(a);)a=a.parentNode;let u=(m,g)=>{let y=a.ownerDocument.createRange(),I=a.ownerDocument.createRange();return y.setStart(m[0],m[1]),y.collapse(!0),I.setStart(g[0],g[1]),I.collapse(!0),y.compareBoundaryPoints(0,I)},d=(m,g=!1)=>[m.parentNode,Array.prototype.indexOf.call(m.parentNode.childNodes,m)+Number(g)],h=[],f;if(t==="plain"){f="";let m=g=>{if(g.nodeType===3||g.nodeType===8){let y=f.length;f+=g.nodeValue,h.push({s:y,e:f.length,a:[g,0],b:[g,g.nodeValue.length],node:g})}else for(let y of g.childNodes)m(y)};m(a)}else{let m=n.blocks;if(!m){m=new Set;let y=I=>{I!==a&&I.nodeType===1&&Hs.has(I.tagName)&&m.add(I);for(let Y of I.childNodes)y(Y)};y(a)}let g=In(Array.from(a.childNodes),{blocks:m,atomize:y=>!!n.atoms?.has(y),ignored:n.ignored});f=g.text;for(let y of g.nodes)h.push({s:y.s,e:y.e,a:[y.node,0],b:[y.node,y.e-y.s],node:y.node});for(let y of g.atoms)h.push({s:y.i,e:y.i+1,a:d(y.el),b:d(y.el,!0)});for(let y=0;y<g.text.length;y++){if(g.text[y]!==Et)continue;let I=g.marks.find($=>$.block&&$.to===y+1),Y=g.marks.find($=>$.block&&$.from===y+1);if(I)h.push({s:y,e:y+1,a:[I.el,I.el.childNodes.length],b:d(I.el,!0)});else if(Y)h.push({s:y,e:y+1,a:d(Y.el),b:[Y.el,0]});else return null}}h.sort((m,g)=>m.s-g.s);let p=m=>{if(m[0].nodeType===3||m[0].nodeType===8){let y=h.find(I=>I.node===m[0]);return y?y.s+m[1]:null}let g=0;for(let y of h){if(u(m,y.a)<=0)return y.s;if(u(m,y.b)<0)return null;g=y.e}return g},b=p([r,o]),v=p([s,i]);return b!==null&&v!==null&&b<=v?f.slice(b,v):null}function sr(e,t){let n=e;for(let r of t.path)if(n=r==="content"?n?.content:n?.childNodes[r],!n)return null;return[n,t.offset]}function yl(e,t){if(!e||!t)return null;let n=sr(e,t.start),r=sr(e,t.end);return n&&r?{startContainer:n[0],startOffset:n[1],endContainer:r[0],endOffset:r[1]}:null}var xl=e=>e.nodeType===1?e.outerHTML:e.nodeValue;function vl(e,t,n){if(!t)return;let r=new Map,o=new Map,s=l=>{if(!l)return null;if(o.has(l))return o.get(l);let u=l.local.map(d=>sr(t.localRoot,{path:d,offset:0})?.[0]).map(d=>d&&n(d)).filter(Boolean).map(d=>({node:d,parent:d.parentNode,previous:d.previousSibling,next:d.nextSibling,fragment:xl(d)}));return o.set(l,u),u},i=l=>{let a=yl(t.localRoot,l);if(!a)return null;let u=n(a.startContainer),d=n(a.endContainer);if(!u||!d)return null;let h={...a,startContainer:u,endContainer:d};return ir(h)?h:null};for(let l of e){let a=l.recovery;if(r.has(a))continue;let u={subject:s(a.subject),span:null,scope:null,touched:new Set};if(a.text){u.span=i(a.text.local.span),u.scope=i(a.text.local.scope);let d=u.span;if(d){let h=d.startContainer.ownerDocument.createRange();h.setStart(d.startContainer,d.startOffset),h.setEnd(d.endContainer,d.endOffset);let f=p=>{if(h.intersectsNode(p)){u.touched.add(p);for(let b of p.childNodes)f(b)}};f(h.commonAncestorContainer)}}if(a.structure){for(let d of[a.structure.localPlacement])d&&(s(d.parent),d.before.forEach(s),d.after.forEach(s));for(let d of a.structure.localOrder||[])s(d)}r.set(a,u)}t.localState={states:r,refs:o}}function wl(e,t,n,r){let o=n.localState?.states.get(e);if(!o)return!1;let s=l=>{let a=l.node;if(!r(a)||a.parentNode!==l.parent)return!1;let u=d=>Array.prototype.indexOf.call(a.parentNode.childNodes,d);return!(l.previous&&r(l.previous)&&l.previous.parentNode===a.parentNode&&u(l.previous)>=u(a)||l.next&&r(l.next)&&l.next.parentNode===a.parentNode&&u(l.next)<=u(a))};if(e.structure?.localAction==="deleted")return e.subject.live.length===0;if(!o.subject.length||!o.subject.every(s))return!1;if(e.text){let l=e.text.local,a=u=>u&&r(u.startContainer)&&r(u.endContainer);return a(o.span)&&a(o.scope)&&Wn(o.scope,e.text.encoding)===l.text&&Wn(o.span,e.text.encoding)===l.text.slice(l.start,l.end)}if(e.attribute){let l=e.attribute,a=o.subject[0].node;return(l.namespaceURI?a.getAttributeNS(l.namespaceURI,l.localName):a.getAttribute(l.qualifiedName))===t.local}let i=e.structure;if(i.localOrder){let l=-1,a=null;for(let u of i.localOrder){let d=n.localState.refs.get(u)?.[0]?.node;if(!d||!r(d)||a&&d.parentNode!==a)return!1;let h=Array.prototype.indexOf.call(d.parentNode.childNodes,d);if(h<=l)return!1;a=d.parentNode,l=h}return!0}return i.localAction==="moved"||o.subject.every(l=>xl(l.node)===l.fragment)}var tf=1,sn=e=>!!e&&e.nodeType===1,Ro=e=>sn(e)&&e.tagName==="TEMPLATE"&&!!e.content;function lr(e,t=null,n=null){let r=new Map,o=new Map,s=d=>{if(!t){t=new WeakMap;let h=[e];for(;h.length;){let f=h.pop();Ro(f)&&(t.set(f.content,f),h.push(f.content));for(let p=f.firstChild;p;p=p.nextSibling)p.nodeType===1&&h.push(p)}}return t.get(d)||null},i=(d,h)=>{let f=o.get(d);if(!f){f=new Map;let p=0;for(let b=d.firstChild;b;b=b.nextSibling)f.set(b,p++);o.set(d,f)}return f.get(h)},l=d=>{if(!d)return null;if(n&&n.has(d))return l(n.get(d));if(d===e)return[];let h=r.get(d);if(h!==void 0)return h;let f=d.parentNode,p=null;if(f&&f.nodeType===11){let b=s(f),v=b?l(b):null;v&&(p=v.concat(["content",i(f,d)]))}else if(f){let b=l(f);b&&(p=b.concat([i(f,d)]))}return r.set(d,p),p};return{root:e,pathOf:l,logicalParent:d=>{let h=d.parentNode;return h&&h.nodeType===11?s(h):h},indexIn:i,containerPath:d=>{if(d.nodeType===11){let f=s(d),p=l(f);return p?p.concat(["content"]):null}let h=l(d);return h&&Ro(d)?h.concat(["content"]):h},ownerOf:s}}var En=e=>Ro(e)?e.content:e;function Al(e){let{L:t,R:n,unitsOf:r,provenance:o,policy:s}=e,i=[];return{note:(d,h)=>{i.push([d,h])},finish:d=>i.length?u(d):null};function u(d){let h={base:lr(e.roots.base),local:lr(e.roots.local),remote:lr(e.roots.remote)},f=w=>w==="local"?t:n,p=(w,E)=>{if(!E)return null;if(w.map.has(E))return w.map.get(E);let P=[],x=sn(E)?h.base.logicalParent(E):E.parent;for(;x&&!w.map.has(x);x=h.base.logicalParent(x))P.push(x);if(!x||!w.identical.has(x))return null;let A=w.map.get(x);for(let j=P.length-1;j>=0&&A;j--)A=En(A).childNodes[h.base.indexIn(P[j].parentNode,P[j])];return A?sn(E)?En(A).childNodes[h.base.indexIn(E.parentNode,E)]||null:r(A)[r(E.parent).indexOf(E)]||null:null},b=new Map,v=new Map,m=new WeakMap,g=0,y=(w,E)=>{let P=b.get(w);P||b.set(w,P=[]),P.push(E)};(function w(E){v.set(E,g++);let P=o.get(E);if(P&&!P.pinned){for(let x of[P.base,P.local,P.remote])if(x)if(Array.isArray(x))for(let A of x)y(A,E);else y(x,E)}if(Ro(E)){m.set(E.content,E);for(let x=E.content.firstChild;x;x=x.nextSibling)w(x)}for(let x=E.firstChild;x;x=x.nextSibling)w(x)})(d);let I=new Map;h.out=lr(d,m,I);let Y={refs:new Map,spans:new Map,anchors:new Map,via:I,outOwners:m,outRoot:d,localRoot:e.roots.local},$=w=>sn(w)?[w]:w.nodes,H=(w,E)=>{let P=h[E].logicalParent(w);if(!P)return null;for(let x of r(P))if(!sn(x)&&x.nodes.includes(w))return x;return null},z=(w,E)=>w==null?null:Array.isArray(w)?w.length?H(w[0],E):null:w,ae=w=>{let E=new Set,P=[];for(let x of w)for(let A of b.get(x)||[])E.has(A)||(E.add(A),P.push(A));return P.sort((x,A)=>v.get(x)-v.get(A))},me=new Map,Q=w=>{let E=w.b||w.l||w.r,P=me.get(E);if(P)return P;let x=[];for(let A of[w.b,w.l,w.r])A&&x.push(...$(A));return P=ae(x),me.set(E,P),P},L=w=>({b:w,l:p(t,w),r:p(n,w)}),Ee=(w,E)=>{let P=f(E).reverse.get(w);if(P)return L(P);for(let x of ae($(w))){let A=o.get(x);if(A&&!A.base&&A.local&&A.remote)return{b:null,l:z(A.local,"local"),r:z(A.remote,"remote")}}return E==="local"?{b:null,l:w,r:null}:{b:null,l:null,r:w}},xe=new Map,se=w=>{let E=o.get(w);if(!E||E.pinned)return null;let P=z(E.base,"base");if(P)return L(P);let x=z(E.local,"local"),A=z(E.remote,"remote");if(x){let j=t.reverse.get(x);if(j)return L(j)}if(A){let j=n.reverse.get(A);if(j)return L(j)}return x||A?{b:null,l:x,r:A}:null},V=w=>(xe.has(w)||xe.set(w,se(w)),xe.get(w)),Se=(w,E)=>sn(w)?h[E].logicalParent(w):w.parent,ve=new Map,Me=new Map,He=(w,E)=>(sn(w)?[h[E].pathOf(w)]:w.nodes.map(P=>h[E].pathOf(P))).filter(Boolean),Ve=w=>{let E=w.b||w.l||w.r,P=w.b?"base":w.l?"local":"remote",x=Me.get(E);if(x)return x;let A=!sn(E),j=He(E,P)[0],G=`${P[0]}:${JSON.stringify(j===void 0?null:j)}${A?":run":""}`,q=ve.get(G);if(q)return Me.set(E,q),q;let X=Q(w);return q={key:G,nodeType:sn(E)?1:E.kind==="comment"?8:3,base:w.b?He(w.b,"base"):[],local:w.l?He(w.l,"local"):[],remote:w.r?He(w.r,"remote"):[],merged:X.map(O=>h.out.pathOf(O)).filter(Boolean),live:[]},ve.set(G,q),Me.set(E,q),Y.refs.set(q,X),q},it={base:new Map,local:new Map,remote:new Map},le=new Map,yt=(w,E)=>{let P=Se(w,E);if(!P||P.nodeType!==1)return null;let x=it[E].get(P);if(!x){let j=r(P),G=q=>Ve(E==="base"?L(q):Ee(q,E));x={parent:G(P),refs:j.map(G),index:new Map(j.map((q,X)=>[q,X]))},it[E].set(P,x)}let A=x.index.get(w)??-1;return{parent:x.parent,before:x.refs.slice(A+1),after:x.refs.slice(0,Math.max(0,A)).reverse()}},et=w=>{let E=w.parentNode;if(!E)return null;let P=le.get(E);if(!P){let A=E.nodeType===11?m.get(E):E,j=A&&A.nodeType===1?V(A):null;if(!j)return null;let G=[],q=[],X=new Map;for(let C of E.childNodes){let Z=V(C),ye=Z&&Ve(Z),Re=G.length,k=G.length-1;ye&&ye!==G[k]&&(G.push(ye),k++);let N={ref:ye,group:k,after:Re};q.push(N),X.set(C,N)}let O=G.length;for(let C=q.length-1;C>=0;C--){let Z=q[C];Z.before=O,Z.ref&&(O=Z.group)}P={parent:Ve(j),refs:G,index:X},le.set(E,P)}let x=P.index.get(w);return{parent:P.parent,before:P.refs.slice(x.before),after:P.refs.slice(0,x.after).reverse()}},Oe=w=>sn(w)?w.outerHTML:w.value,_=w=>sn(w)?"element":w.kind==="comment"?"comment":"text",B=(w,E)=>({path:w,offset:E}),fe=(w,E,P)=>{if(!w)return null;let x=h[P],A=0;if(E){let j=sn(E)?E:E.nodes[E.nodes.length-1];j.parentNode&&(A=x.indexIn(j.parentNode,j)+1)}return B(x.containerPath(w),A)},Ae=(w,E)=>{let P=Se(w,"base"),x=P?p(f(E),P):null;if(!sn(x))return null;let A=r(P),j=null;for(let G=A.indexOf(w)-1;G>=0&&!j;G--){let q=p(f(E),A[G]);q&&Se(q,E)===x&&(j=q)}return fe(x,j,E)},pe=(w,E,P,x)=>{let A=h[x],j=0;for(let G=0;G<w.nodes.length;G++){let q=w.nodes[G],X=q.nodeValue.length,O=G===w.nodes.length-1;if((P==="start"?E<j+X:E<=j+X)||O)return B(A.pathOf(q),Math.max(0,Math.min(E-j,X)));j+=X}return null},Qe=(w,E)=>{let P=h[E],x=w.firstChild,A=w.lastChild;return x&&x.nodeType===3&&A.nodeType===3?{start:B(P.pathOf(x),0),end:B(P.pathOf(A),A.nodeValue.length)}:{start:B(P.pathOf(w),0),end:B(P.pathOf(w),w.childNodes.length)}},qe=(w,E,P)=>{for(let G of w.nodes)if(P==="start"?G.s<=E&&E<G.e:G.s<E&&E<=G.e)return{kind:"text",node:G.node,offset:E-G.s};let x=P==="start"?E:E-1,A=()=>{for(let G of w.nodes)if(G.s===E||G.e===E)return{kind:"text",node:G.node,offset:E-G.s};return null},j=w.atomAt.get(x);if(j)return{kind:P==="start"?"before":"after",node:j.el};if(w.text[x]===Et){let G=w.marks.find(X=>X.block&&X.to===x+1);if(G)return P==="start"?{kind:"end",node:G.el}:{kind:"after",node:G.el};let q=w.marks.find(X=>X.block&&X.from===x+1);if(q)return P==="start"?{kind:"before",node:q.el}:{kind:"startOf",node:q.el}}return A()},rt=(w,E)=>qe(w,E,"end")||qe(w,E,"start"),lt=(w,E)=>{switch(E.kind){case"text":return B(w.pathOf(E.node),E.offset);case"end":return B(w.containerPath(E.node),En(E.node).childNodes.length);case"startOf":return B(w.containerPath(E.node),0);default:{let P=E.node.parentNode;return B(w.containerPath(P),w.indexIn(P,E.node)+(E.kind==="after"?1:0))}}},ee=(w,E,P,x,A)=>{let j=qe(w,E,P);return j?lt(h[x],j):A()},ce=(w,E,P,x)=>{let A=w.textNodes.map(O=>({s:O.ms,e:O.me,start:{kind:"text",node:O.node,offset:0},end:{kind:"text",node:O.node,offset:O.me-O.ms}}));for(let[O,C]of w.atomOut)A.push({s:O,e:O+1,start:{kind:"before",node:C},end:{kind:"after",node:C}});for(let[O,C]of w.breakOut)A.push({s:O,e:O+1,start:{kind:"end",node:C},end:{kind:"after",node:C}});for(let O of A)if(O.start.kind==="text"&&O.s<E&&E<O.e)return{kind:"text",node:O.start.node,offset:E-O.s};if(P!=="empty"){let O=A.find(C=>P==="start"?C.s===E:C.e===E);if(O)return P==="start"?O.start:O.end}let j=A.find(O=>O.e===E);if(j)return j.end;let G=A.find(O=>O.s===E);if(G)return G.start;let q=null,X=null;for(let O of A)O.e<=E&&(!q||O.e>q.e)&&(q=O),O.s>=E&&(!X||O.s<X.s)&&(X=O);return q?q.end:X?X.start:x()},ge=(w,E)=>{if(!E)return null;if(E.kind==="text"){let A=w.nodes.find(j=>j.node===E.node);return A?A.s+Math.min(E.offset,A.e-A.s):null}let P=w.atoms.find(A=>A.el===E.node);if(P)return E.kind==="after"?P.i+1:P.i;let x=w.marks.find(A=>A.el===E.node);return x?E.kind==="before"&&x.block&&w.text[x.from-1]===Et&&!w.marks.some(A=>A.block&&A.to===x.from)?x.from-1:E.kind==="startOf"||E.kind==="before"?x.from:E.kind==="end"&&x.block?x.to-1:x.to:null},Ue=(w,E,P,x)=>{for(let q of w.nodes)if(P==="start"?q.s<=E&&E<q.e:q.s<E&&E<=q.e)return{kind:"text",node:q.node,offset:E-q.s};let A=P==="start"?E:E-1;if(!w.atomAt.has(A)&&w.text[A]!==Et){for(let q of w.nodes)if(q.s===E||q.e===E)return{kind:"text",node:q.node,offset:E-q.s}}let j=w.atomAt.get(A);if(j)return{kind:P==="start"?"before":"after",node:j.el};if(w.text[A]===Et){let q=w.marks.find(O=>O.block&&O.to===A+1);if(q)return P==="start"?{kind:"end",node:q.el}:{kind:"after",node:q.el};let X=w.marks.find(O=>O.block&&O.from===A+1);if(X)return P==="start"?{kind:"before",node:X.el}:{kind:"startOf",node:X.el}}let G=w.marks.find(q=>q.block&&q.from===E);return G?{kind:"startOf",node:G.el}:x?{kind:P==="start"?"startOf":"end",node:x}:null},ke=w=>{if(!w)return null;if(w.kind==="wholeStart"||w.kind==="wholeEnd"){let E=Je(w.node);return w.kind==="wholeStart"?E.start:E.end}return lt(h.out,w)},Je=w=>{let E=w.firstChild,P=w.lastChild;return E&&E.nodeType===3&&P.nodeType===3?{start:B(h.out.pathOf(E),0),end:B(h.out.pathOf(P),P.nodeValue.length)}:{start:B(h.out.pathOf(w),0),end:B(h.out.pathOf(w),w.childNodes.length)}},kt=w=>{let E=Se(w,"base"),P=E?Q(L(E))[0]:null;if(!P)return null;let x=En(P),A=r(E);for(let j=A.indexOf(w)-1;j>=0;j--){let G=Q(L(A[j])).filter(q=>q.parentNode===x);if(G.length)return{kind:"after",node:G[G.length-1]}}return{kind:"startOf",node:P}},ht=(w,E,P,x,A,j)=>({text:w,start:E,end:P,fragment:x,span:A,scope:j}),wt=(w,E,P,x,A)=>ht(w,E,P,w.slice(E,P),x,A),ze=(w,E,P,x,A)=>(Y.spans.set(w,{start:E,end:P,scopeStart:x,scopeEnd:A}),w),Ot=new Map,T=new Map,re=(w,E,P)=>{let x=`text:${w.key}:${E}:${P}`,A=T.get(x)||0;return T.set(x,A+1),`${x}:${A}`},oe=(w,E)=>{let P,x,A,j="plain",G,q,X,O,C,Z=(k,N,D,U,W)=>{if(!k){let K=Ae(W,U);return wt("",0,0,{start:K,end:K},{start:K,end:K})}return wt(k.value,N,D,{start:pe(k,N,N===D?"end":"start",U),end:pe(k,D,"end",U)},{start:pe(k,0,"start",U),end:pe(k,k.value.length,"end",U)})};if(E.site==="run"){let{bRun:k,lRun:N,rRun:D,node:U,c:W}=E;P=L(k),x=W.bs,A=W.be,G=Z(k,W.bs,W.be,"base",k),q=Z(N,W.ls,W.le,"local",k),X=Z(D,W.rs,W.re,"remote",k);let K=U?U.nodeValue:"",te=ue=>U?{kind:"text",node:U,offset:ue}:kt(k);O=ze(wt(K,W.ms,W.me,{start:ke(te(W.ms)),end:ke(te(W.me))},{start:ke(te(0)),end:ke(te(K.length))}),te(W.ms),te(W.me),te(0),te(K.length)),C=U||(kt(k)||{}).node||null}else if(E.site==="whole"){let k=E.el,N=o.get(k);P=L(N.base),x=0,A=w.base.length;let D=(W,K,te)=>{let ue=Qe(K,te);return wt(W,0,W.length,ue,ue)};G=D(w.base,N.base,"base"),q=D(w.local,N.local,"local"),X=D(w.remote,N.remote,"remote");let U=Je(k);O=ze(wt(w.resolved,0,w.resolved.length,U,U),{kind:"wholeStart",node:k},{kind:"wholeEnd",node:k},{kind:"wholeStart",node:k},{kind:"wholeEnd",node:k}),C=k}else if(E.site==="comment"){let{bRun:k,lRun:N,rRun:D,node:U}=E;P=L(k),x=0,A=w.base.length;let W=(Ce,Pe)=>{if(!Ce){let Be=Ae(k,Pe);return wt("",0,0,{start:Be,end:Be},{start:Be,end:Be})}let Le=Ce.nodes[0],at={start:B(h[Pe].pathOf(Le),0),end:B(h[Pe].pathOf(Le),Ce.value.length)};return wt(Ce.value,0,Ce.value.length,at,at)};G=W(k,"base"),q=W(N,"local"),X=W(D,"remote");let K=w.resolved,te=Ce=>U?{kind:"text",node:U,offset:Ce}:kt(k),ue={start:ke(te(0)),end:ke(te(K.length))};O=ze(wt(K,0,K.length,ue,ue),te(0),te(K.length),te(0),te(K.length)),C=U||(kt(k)||{}).node||null}else{let{fb:k,fl:N,fr:D,scope:U}=E,W=E.merged;j="html",P=U.base?L(U.base):Ee(U.local,"local"),x=w.bs,A=w.be;let K=xt=>{let Rt=U[xt];for(let Mt=U.at-1;Mt>=0;Mt--){let zt=U.units[Mt],an=xt==="base"?zt:p(f(xt),zt);if(an&&Se(an,xt)===Rt)return an}return null},te=xt=>()=>fe(U[xt],K(xt),xt),ue=(xt,Rt,Mt,zt,an)=>{let yn=$e=>$e?lt(h[an],$e):te(an)(),qn=Rt===Mt?rt(xt,Rt):qe(xt,Rt,"start"),Bn=Rt===Mt?rt(xt,Rt):qe(xt,Mt,"end"),Nn=yn(qn),mn={start:Nn,end:Rt===Mt?Nn:yn(Bn)},nn=E.full?E.full(an):null;if(!nn)return ht(xt.text,Rt,Mt,zt,mn,{start:yn(qe(xt,0,"start")),end:yn(qe(xt,xt.text.length,"end"))});let ne=qn?ge(nn,qn):null,De=Bn?ge(nn,Bn):null,Ne=ne===null?0:ne,tt=Math.max(Ne,De===null?nn.text.length:De),pt=yn(qe(nn,0,"start"));return ht(nn.text,Ne,tt,yr(nn,Ne,tt),mn,{start:pt,end:nn.text.length?yn(qe(nn,nn.text.length,"end")):pt})};G=E.synthetic?null:ue(k,w.bs,w.be,w.base,"base"),q=ue(N,w.lss,w.lse,w.local,"local"),X=ue(D,w.rss,w.rse,w.remote,"remote");let[Ce,Pe]=w.range||[0,0],Le=W.out,at=()=>{let xt=En(W.node);for(let Rt=U.at-1;Rt>=0;Rt--){let Mt=Q(L(U.units[Rt])).filter(zt=>zt.parentNode===xt);if(Mt.length)return{kind:"after",node:Mt[Mt.length-1]}}for(let Rt=U.at;Rt<U.units.length;Rt++){let Mt=Q(L(U.units[Rt])).filter(zt=>zt.parentNode===xt);if(Mt.length)return{kind:"before",node:Mt[0]}}return{kind:"startOf",node:W.node}};if(Le.via)for(let[xt,Rt]of Le.via)I.set(xt,Rt);let Be=ce(W,Ce,Ce===Pe?"empty":"start",at),It=Ce===Pe?Be:ce(W,Pe,"end",at),We=Le.text.length?Ue(Le,0,"start",W.node):at(),St=Le.text.length?Ue(Le,Le.text.length,"end",W.node):We,mt=ge(Le,Be),tn=ge(Le,It),Bt=mt===null?0:mt,Qt=Math.max(Bt,tn===null?Le.text.length:tn);O=ze(ht(Le.text,Bt,Qt,yr(Le,Bt,Qt),{start:ke(Be),end:ke(It)},{start:ke(We),end:ke(St)}),Be,It,We,St);let Dt=Y.spans.get(O);if(Dt.flat=Le,!Le.text.length){let xt=ke(We),Rt=sr(d,xt),Mt=Rt[0],zt=Rt[1];Dt.empty={parent:Mt.nodeType===11?m.get(Mt):Mt,previous:Mt.childNodes[zt-1]||null,next:Mt.childNodes[zt]||null}}C=Be?Be.node:W.node}let ye=Ve(P),Re=(E.site==="whole"||E.site==="comment"||s!=="both")&&w.resolved!==w.local;return{key:E.site==="comment"&&Ot.get(P.b||P.l||P.r)||re(ye,x,A),subject:ye,localLost:Re,anchor:C,text:{encoding:j,base:G,local:q,remote:X,merged:O,liveSpan:null,liveScope:null}}},de=(w,E)=>{let P=V(E.el),x=Ve(P),A=E.sample;return{key:`attr:${x.key}:${A.namespaceURI||""}:${A.localName}`,subject:x,localLost:w.resolved!==w.local,anchor:E.el,attribute:{namespaceURI:A.namespaceURI||null,localName:A.localName,qualifiedName:A.name}}},ie=(w,E)=>{let P=w.detail,x=E.unit||L(E.subject),A=Ve(x),j=Y.refs.get(A),G=x.l?yt(x.l,"local"):null,q=x.r?yt(x.r,"remote"):null,X=j.length?et(j[0]):null,O,C,Z,ye=null,Re=null,k=E.deleted;switch(P){case"both-reordered":{O=C="reordered";let N=new Set(E.rKept),D=E.lKept.filter(ue=>N.has(ue)&&Q(L(ue)).length),U=ue=>v.get(Q(L(ue))[0]);ye=D.map(ue=>Ve(L(ue))),Re=D.slice().sort((ue,Ce)=>U(ue)-U(Ce)).map(ue=>Ve(L(ue)));let W=ue=>!sn(ue)&&ue.kind!=="comment"&&ue.nodes.every(Ce=>!/[^\t\n\f\r ]/.test(Ce.data)),K=D.filter(ue=>!W(ue)),te=K.slice().sort((ue,Ce)=>U(ue)-U(Ce));Z=K.some((ue,Ce)=>ue!==te[Ce]);break}case"both-moved":O=C="moved",Z=!G||!j.some(N=>{let D=N===j[0]?X:et(N);return D&&D.parent===G.parent});break;case"edit-beats-delete":O=k==="local"?"deleted":"edited",C=k==="remote"?"deleted":"edited",Z=k==="local";break;case"move-beats-delete":O=k==="local"?"deleted":"moved",C=k==="remote"?"deleted":"moved",Z=k==="local";break;default:O=C="inserted",Z=E.localLost}return{key:`structure:${A.key}:${P}`,subject:A,localLost:Z,anchor:j[0]||null,structure:{localAction:O,remoteAction:C,localPlacement:G,remotePlacement:q,mergedPlacement:X,localOrder:ye,mergedOrder:Re,localFragment:P==="both-reordered"||!x.l?null:Oe(x.l),fragmentKind:_(x.b||x.l||x.r)}}};for(let[w,E]of i){if(w.kind!=="structure")continue;let P=E.unit||L(E.subject),x=P.b||P.l||P.r;!sn(x)&&x.kind==="comment"&&Ot.set(x,`structure:${Ve(P).key}:${w.detail}`)}let he=new Map;for(let[w,E]of i){if(w.kind==="structure"){let j=Ve(E.unit||L(E.subject)),G=`structure:${j.key}:${w.detail}`,q=he.get(G);if(q&&q.structure){w.recovery=q;let X=Y.refs.get(j);w.el==null&&X.length&&(w.el=sn(X[0])?X[0]:h.out.logicalParent(X[0]));continue}}let P=w.kind==="text"?oe(w,E):w.kind==="attr"?de(w,E):ie(w,E),x=he.get(P.key);x||(x={version:tf,key:P.key,localLost:P.localLost,subject:P.subject,applied:!1,unavailable:null},he.set(P.key,x),Y.anchors.set(x,P.anchor)),P.text&&(x.text=P.text),P.attribute&&(x.attribute=P.attribute),P.structure&&(x.structure=P.structure),P.text&&(x.localLost=P.localLost),w.recovery=x;let A=Y.refs.get(P.subject);w.kind==="structure"&&w.el==null&&A.length&&(w.el=sn(A[0])?A[0]:h.out.logicalParent(A[0])),w.kind==="text"&&w.node==null&&A.length&&P.subject.nodeType===8&&(w.node=A[0])}return Y}}function Sl(e,t,n){if(!t)return;let{lookup:r,vetoed:o,vetoedAttrs:s,liveAttr:i}=n,l=n.ignored||(()=>!1),a=lr(n.liveRoot),u=se=>!!se&&a.containerPath(se)!==null,d=se=>{let V=se.parentNode;return V&&V.nodeType===11?t.outOwners.get(V)||null:V},h=se=>{for(let V=se;V;V=d(V))if(t.via.has(V)&&(V=t.via.get(V)),o.has(V)||n.vetoedLive?.has(g(V)))return!0;return!1},f=se=>Array.from(En(se).children).filter(V=>!l(V)),p=(se,V)=>f(se)[f(V.parentNode).indexOf(V)],b=(se,V)=>{let Se=null,ve=null,Me=0;for(let le=V.previousSibling;le;le=le.previousSibling){if(le.nodeType===1&&!l(le)){Se=le;break}le.nodeType===3&&(Me+=le.nodeValue.length)}for(let le=V.nextSibling;le&&!ve;le=le.nextSibling)le.nodeType===1&&!l(le)&&(ve=le);let He=Se?p(se,Se):null,Ve=ve?p(se,ve):null;if(Se&&!He||ve&&!Ve)return null;let it=[];for(let le=He?He.nextSibling:En(se).firstChild;le&&le!==Ve;le=le.nextSibling)le.nodeType===3&&it.push(le);return it.length?{nodes:it,lead:Me}:null},v=se=>{let V=[],Se=se;for(;Se&&!t.via.has(Se);Se=Se.parentNode)V.push(Se);if(!Se||!V.length)return null;let ve=g(t.via.get(Se));for(let Ve=V.length-1;Ve>0&&ve;Ve--)ve=p(ve,V[Ve]);if(!ve)return null;let Me=V[0];if(Me.nodeType===3)return b(ve,Me);let He=Me.nodeType===1?p(ve,Me):null;return He?{nodes:[He],lead:0}:null},m=se=>{let V=r(se),Se=V?{nodes:Array.isArray(V)?V:[V],lead:0}:t.via.size?v(se):null;if(!Se)return null;let ve=Se.nodes.filter(u);return ve.length?{nodes:ve,lead:Se.lead}:null},g=se=>{let V=m(se);return V?V.nodes[0]:null},y=se=>{if(!se)return null;if(se.kind==="text"){let Me=m(se.node);if(!Me)return null;let He=Me.nodes,Ve=se.offset+Me.lead,it=0;for(let le=0;le<He.length;le++){let yt=He[le].nodeValue.length;if(Ve<=it+yt||le===He.length-1)return Ve>=it&&Ve<=it+yt?[He[le],Ve-it]:null;it+=yt}return null}let V=g(se.node);if(!V)return null;if(se.kind==="end")return[En(V),En(V).childNodes.length];if(se.kind==="startOf")return[En(V),0];if(se.kind==="wholeStart")return V.firstChild?[V.firstChild,0]:[V,0];if(se.kind==="wholeEnd")return V.lastChild?[V.lastChild,V.lastChild.nodeValue.length]:[V,V.childNodes.length];let Se=V.parentNode;if(!Se)return null;let ve=Array.prototype.indexOf.call(Se.childNodes,V);return[Se,se.kind==="after"?ve+1:ve]},I=se=>({blocks:new Set((se.flat?.marks||[]).filter(V=>V.block).map(V=>g(V.el)).filter(Boolean)),atoms:new Set((se.flat?.atoms||[]).map(V=>g(V.el)).filter(Boolean)),ignored:l}),Y=(se,V,Se,ve)=>{if(!se||!V||!ir(se)||!ir(V))return!1;for(let Ve of[se,V])if(!u(Ve.startContainer)||!u(Ve.endContainer))return!1;let Me=Se.merged;if(Me.start===Me.end&&(se.startContainer!==se.endContainer||se.startOffset!==se.endOffset))return!1;let He=I(ve);return Wn(V,Se.encoding,He)===Me.text&&Wn(se,Se.encoding,He)===Me.text.slice(Me.start,Me.end)},$=new Map,H=se=>{let V=se.parentNode;return V?($.has(V)||$.set(V,new Map(Array.from(V.childNodes,(Se,ve)=>[Se,ve]))),$.get(V).get(se)):-1},z=(se,V)=>{if(!V)return!1;let Se=a.logicalParent(se);if(!V.parent.live.includes(Se))return!1;let ve=H(se);for(let[Me,He]of[["before",1],["after",-1]]){let Ve=ve;for(let it of V[Me]){if(it.live.includes(se))continue;let le=it.live.filter(et=>et!==se&&et.parentNode===se.parentNode);if(!le.length)continue;let yt=He===1?Math.min(...le.map(H)):Math.max(...le.map(H));if(He*(yt-Ve)<=0)return!1;Ve=yt}}return!0},ae=se=>{let V=se.structure;if(V.mergedOrder){let Se=new Set(se.subject.live.map(En)),ve=null,Me=-1;for(let He of V.mergedOrder){let Ve=He.live.find(it=>Se.has(it.parentNode));if(!Ve||ve&&Ve.parentNode!==ve||H(Ve)<=Me)return!1;ve=Ve.parentNode,Me=H(Ve)}return se.subject.live.length>0}return se.subject.live.some(Se=>z(Se,V.mergedPlacement))},me=(se,V)=>{let Se=y(se),ve=y(V);return Se&&ve?{startContainer:Se[0],startOffset:Se[1],endContainer:ve[0],endOffset:ve[1]}:null},Q=new Set,L=se=>{if(!se||Q.has(se))return;Q.add(se);let V=[];for(let Se of t.refs.get(se)||[]){let ve=m(Se);if(ve)for(let Me of ve.nodes)V.includes(Me)||V.push(Me)}se.live=V},Ee=se=>{se&&(L(se.parent),se.before.forEach(L),se.after.forEach(L))},xe=new Set;for(let se of e){let V=se.recovery;if(!V||xe.has(V))continue;xe.add(V),L(V.subject),V.structure&&(Ee(V.structure.localPlacement),Ee(V.structure.remotePlacement),Ee(V.structure.mergedPlacement),(V.structure.localOrder||[]).forEach(L),(V.structure.mergedOrder||[]).forEach(L));let Se=t.anchors.get(V),ve=Se?g(Se):null,Me=!!ve;if(V.text){let _=t.spans.get(V.text.merged),B=_?me(_.start,_.end):null,fe=_?me(_.scopeStart,_.scopeEnd):null;if(_?.empty){let Ae=_.empty,pe=Ae.previous?{kind:"after",node:Ae.previous}:{kind:"startOf",node:Ae.parent},Qe=Ae.next?{kind:"before",node:Ae.next}:{kind:"end",node:Ae.parent},qe=me(pe,Qe);!qe||qe.startContainer!==qe.endContainer||qe.startOffset!==qe.endOffset?B=null:B=fe=qe}Y(B,fe,V.text,_)||(B=fe=null),V.text.liveSpan=B,V.text.liveScope=B?fe:null,B||(Me=!1)}V.structure&&Me&&(Me=ae(V)),V.attribute&&Me&&(Me=i(ve,V.attribute,se.resolved));let He=(!!V.attribute||!!V.text&&ve?.tagName==="TEXTAREA")&&!!s&&[Se,ve].some(_=>s.get(_)?.has(V.attribute?V.attribute.qualifiedName:"value")),Ve=t.localState?.states.get(V),it=!!V.text&&[...n.removedVetoes||[]].some(_=>Ve?.touched.has(_)),le=V.structure?.localAction==="inserted"&&[...o].some(_=>_===Se||Se?.contains(_)),yt=Se&&h(Se)||He||it||le,et=yt&&wl(V,se,t,u);et&&(it||le&&V.localLost)&&(Me=!1);let Oe=!Me&&et&&yt;V.applied=Me,V.unavailable=Me?null:Oe?"hook-veto":"missing-output",Oe&&(V.localLost=!1),!Me&&V.text&&(V.text.liveSpan=V.text.liveScope=null)}}function Lo(e,t,n){let r=lr(t),o=lr(n),s=h=>!!h&&o.containerPath(h)!==null,i=h=>{if(h===t)return n;let f=r.pathOf(h);if(f&&t!==n){let p=sr(n,{path:f,offset:0});if(p&&p[0].nodeType===h.nodeType)return p[0]}return h},l=new Set,a=h=>{!h||l.has(h)||(l.add(h),h.live=h.live.map(i).filter(s))},u=h=>{h&&(h.startContainer=i(h.startContainer),h.endContainer=i(h.endContainer))},d=new Set;for(let h of e){h.node===t&&n.tagName==="SCRIPT"&&(h.node=n),h.el===t&&h.kind==="structure"&&(h.el=n);let f=h.recovery;if(!f||d.has(f))continue;if(d.add(f),a(f.subject),f.text){u(f.text.liveSpan),u(f.text.liveScope);let b=f.text.liveSpan,v=f.text.liveScope,m=f.text.merged,g=y=>!!y&&ir(y)&&s(y.startContainer)&&s(y.endContainer);(!g(b)||!g(v)||Wn(v,f.text.encoding)!==m.text||Wn(b,f.text.encoding)!==m.text.slice(m.start,m.end))&&(f.text.liveSpan=null,f.text.liveScope=null,f.applied=!1,f.unavailable="missing-output")}let p=f.structure;if(p){for(let b of[p.localPlacement,p.remotePlacement,p.mergedPlacement])b&&(a(b.parent),b.before.forEach(a),b.after.forEach(a));(p.localOrder||[]).forEach(a),(p.mergedOrder||[]).forEach(a),f.subject.live.length||(f.applied=!1,f.unavailable="missing-output")}}}var st=e=>!!e&&e.nodeType===1,nf=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" ")),Tl=5e4,Jr="[id],[data-id],script,head>*";function Ws(e,t){return n=>{if(e!==null&&n.tagName==="SCRIPT"){let r=vr(n,e);if(r)return"merge:"+r.key}return n.parentElement&&n.parentElement.tagName==="HEAD"?hl(n,t):null}}function Io(e,t,n,r){let o=r.ignored,s=r.stats||Un(),i=el({ignored:o,ignoreAttribute:r.ignoreAttribute,stats:s}),{unitsOf:l,meta:a}=i,u=r.baseURI,d=r.mergeTags!==null,h=Ws(r.mergeTags,u),f=k=>N=>{let D=h(N);return D!==null?D:k(N)},p=f(r.identity.base),b=f(r.identity.local),v=f(r.identity.remote),m=r.authored||r.identity,g=k=>k&&k.nodeType===9?k.documentElement:k,y=g(e),I=g(t),Y=g(n),$=globalThis.__hyperMorphProfile,H=$?performance.now():0,z=k=>k===bn?Jr:null,ae=r.scope||null,me=ae?ae.baseIndex:_o(y,p,o,z(r.identity.base)),Q=r.localIsBase||y===I?_l():Cs(y,I,{analyzer:i,baseIndex:me,sideIndex:_o(I,b,o,z(r.identity.local)),baseId:m.base,sideId:m.local,stats:s}),L=Cs(y,Y,{analyzer:i,baseIndex:me,sideIndex:ae?ae.remoteIndex:_o(Y,v,o,z(r.identity.remote)),baseId:m.base,sideId:m.remote,stats:s,scope:ae,comparisons:r.comparisons});if(ae){if(!ae.held(L))return null;for(let k of ae.dropped)Os(k)}let Ee=null;function xe(k){if(!Ee){Ee=new WeakMap;let N=[y];for(;N.length;){let D=N.pop();D.tagName==="TEMPLATE"&&D.content&&Ee.set(D.content,D);for(let U of i.childrenOf(D))U.nodeType===1&&N.push(U)}}return Ee.get(k)||null}let se=k=>{let N=st(k)||k.nodeType?k.parentNode:k.parent;return N&&N.nodeType===11?xe(N):N};ge(),Ue(Q,L),Ue(L,Q);for(let k of[Q,L])if(k.refused)for(let N of k.refused)k.moved.has(N)||s.ambiguousMoves++;$&&($.alignTotal=($.alignTotal||0)+(performance.now()-H),H=performance.now());let V=y.ownerDocument.implementation.createHTMLDocument(""),Se=new WeakMap,ve=new WeakMap,Me=[],He=[],Ve=new Set,it=[],le=new Set,yt=new Set,et=new Set,Oe=new WeakMap,_=r.conflicts||"remote",B=k=>Me.push(k),fe=k=>Me.push(k),Ae=Al({roots:{base:y,local:I,remote:Y},L:Q,R:L,unitsOf:l,provenance:Se,policy:_}),pe=(k,N)=>{He.push(k),N&&Ae.note(k,N)},Qe=ee(),qe=wt(y,Q.map.get(y),L.map.get(y),!!r.localIsBase,!!r.childrenOnly);qe.tagName==="HTML"?V.replaceChild(qe,V.documentElement):V.body.appendChild(qe),$&&($.build=($.build||0)+(performance.now()-H));let rt=r.childrenOnly?!q(j(qe),j(Y)):!P(qe,Y),lt=Ae.finish(qe);return{doc:V,root:qe,provenance:Se,textMappers:ve,decisions:Me,conflicts:He,recoveryLinks:lt,localDiverged:rt,mergedScripts:Ve,segments:it,remoteIdOf:r.identity.remote,customIdentity:r.identity.remote!==bn,L:Q,R:L,stats:s};function ee(){let k=new Map,N=new Set;if(r.localIsBase||!Q.insertedByHash)return{partner:k,drop:N};let D=Q.insertedByHash(),U=L.insertedByHash();if(!D.size||!U.size)return{partner:k,drop:N};let W={ignored:o,remoteWins:r.remoteWins,inlineCache:Oe},K=We=>{let St=0;for(let mt=We.parentNode;mt;mt=mt.parentNode)St++;return St},te=[],ue=We=>{let St=We.textContent.trim();return St.split(/\s+/).length>=3||St.replace(/\s/g,"").length>=12},Ce=We=>{let St=ke(Q,We),mt=ke(L,We);return St&&Q.reverse.get(St.parentNode)!==We.parentNode||mt&&L.reverse.get(mt.parentNode)!==We.parentNode},Pe=(We,St,mt)=>{for(let Bt of mt.parentNode.children){let Qt=Bt!==mt&&We.reverse.get(Bt);if(Qt&&Ce(Qt))return!0}let tn=We.reverse.get(mt.parentNode);if(tn){for(let Bt of tn.children)if(!ke(St,Bt)&&!o(Bt))return!0}return!1};for(let[We,St]of D){let mt=U.get(We);if(!mt)continue;let tn=St.length===1&&mt.length===1;for(let Bt of St)or(Bt,W)||te.push([Bt,mt,K(Bt),tn&&(ue(Bt)||Pe(Q,L,Bt)||Pe(L,Q,mt[0]))])}if(!te.length)return{partner:k,drop:N};te.sort((We,St)=>We[2]-St[2]);let Le=new Set,at=new Set,Be=We=>{for(let St of We.querySelectorAll("*"))Le.add(St)},It=(We,St)=>We.reverse.get(St.parentNode)||null;for(let[We,St,,mt]of te){if(Le.has(We))continue;let tn=It(Q,We),Bt=Dt=>!at.has(Dt)&&!Le.has(Dt)&&Dt.tagName===We.tagName&&i.equalUnits(We,Dt),Qt=St.find(Dt=>tn&&It(L,Dt)===tn&&Bt(Dt))||(mt?St.find(Bt):null);Qt&&(at.add(Qt),Be(We),Be(Qt),!(tn&&It(L,Qt)===tn)&&(k.set(We,Qt),k.set(Qt,We),N.add(_==="local"?Qt:We)))}return{partner:k,drop:N}}function ce(k,N,D){if(le.add(k),Qe.drop.has(k))return null;le.add(D);let U=N==="local"?k:D,W=N==="local"?D:k,K;return i.equalUnits(U,W)?(K=w(U,"local",!0),Se.get(K).remote=W):K=he(U,W),pe({kind:"structure",el:K,detail:"both-moved",base:null,local:U,remote:W},{unit:{b:null,l:U,r:W}}),B({kind:"insert",el:K,source:"both"}),K}function ge(){if(!Q.weak||!L.weak||!Q.weak.size||!L.weak.size||!Q.unpair)return;let k=new Map;for(let D of Q.weak){let U=ke(Q,D);st(D)&&st(U)&&k.set(i.unitHash(U),D)}let N=!1;for(let D of Array.from(L.weak)){let U=ke(L,D);if(!st(D)||!st(U))continue;let W=k.get(i.unitHash(U));if(!W||W===D||!Q.weak.has(W)||ke(Q,D)&&ke(L,W))continue;let K=ke(Q,W);K.tagName===U.tagName&&i.equalUnits(K,U)&&(Q.unpair(W),L.unpair(D),N=!0)}N&&(Q.rematch(),L.rematch())}function Ue(k,N){if(!k.weak||!k.weak.size||!N.insertedByHash)return;let D=N.insertedByHash();if(!D.size)return;let U=!1;for(let W of Array.from(k.weak)){let K=ke(k,W);if(!K)continue;let te=D.get(i.unitHash(K));te&&te.some(ue=>ue.tagName===K.tagName&&i.equalUnits(ue,K))&&(k.unpair(W),U=!0)}U&&k.rematch()}function ke(k,N){if(!N)return null;if(k.map.has(N))return k.map.get(N);let D=[],U=se(N);for(;U&&!k.map.has(U);U=se(U))D.push(U);let W=U;if(!W||!k.identical.has(W))return null;k.pairIdenticalChildren(W);for(let te=D.length-1;te>=0;te--)k.pairIdenticalChildren(D[te]);let K=k.map.get(N)||null;return K&&s.lazyTwins++,K}function Je(k,N,D){if(yt.has(k)||et.has(k))return pe({kind:"structure",el:null,detail:"both-moved",base:k},{subject:k}),yt.has(k)?null:w(D,N);let U=ke(Q,k),W=ke(L,k);(!U||!W)&&pe({kind:"structure",el:null,detail:"move-beats-delete",base:k},{subject:k,deleted:U?"remote":"local"});let K=wt(k,U,W,!1);return(N==="local"?B:fe)({kind:"move",el:K,source:N}),K}function kt(k,N,D,U){return U||!N||N===D?{el:D,asBase:!0,twin:W=>W,baseOf:W=>W,units:l(D),here:()=>!0,parentOfTwin:()=>D}:{el:N,asBase:!1,twin:W=>ke(k,W),baseOf:W=>k.reverse.get(W),units:l(N),here:W=>st(W)?W.parentNode===N||N.tagName==="TEMPLATE"&&W.parentNode===N.content:W.parent===N||N.tagName==="TEMPLATE"&&W.parent===N.content}}function ht(k,N,D){return!N||D&&D.identical.has(k)?!1:st(k)?!i.equalUnits(k,N):k.value!==N.value}function wt(k,N,D,U,W=!1){let K=U||r.remoteWins(k),te=k.namespaceURI&&k.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(k.namespaceURI,k.tagName):V.createElement(k.tagName),ue={base:k,local:N||null,remote:D||null};if(Se.set(te,ue),le.add(k),yt.add(k),N&&le.add(N),D&&le.add(D),r.skipUnchanged&&!W&&(r.localIsBase||Q.identical.has(k))&&D&&L.identical.has(k)&&!r.remoteWins(k)){ue.unchanged=!0;for(let Pe of k.attributes)Pe.namespaceURI?te.setAttributeNS(Pe.namespaceURI,Pe.name,Pe.value):te.setAttribute(Pe.name,Pe.value);return te}et.add(k),W||T(k,K?k:N,D,te);let Ce=k.tagName;if(un(k))Ot(k,K?k:N,D,te);else if(Ce==="TEXTAREA")te.textContent=ze(k.textContent,(K?k:N)?(K?k:N).textContent:k.textContent,D?D.textContent:k.textContent,te,"text");else{let Pe=E(k,N,D,K,te),Le=Ce==="TEMPLATE"&&te.content?te.content:te;for(let at of Pe)Le.appendChild(at)}return et.delete(k),te}function ze(k,N,D,U,W){if(N===D)return N;if(N===k)return D!==k&&fe({kind:W,node:U,source:"remote"}),D;if(D===k)return B({kind:W,node:U,source:"local"}),N;let K=_==="local"?N:D;return pe({kind:W,node:U,base:k,local:N,remote:D,resolved:K},{site:"whole",el:U}),Me.push({kind:W,node:U,source:"both"}),K}function Ot(k,N,D,U){let W=k.textContent,K=N?N.textContent:W,te=D?D.textContent:W,ue=d?vr(k,r.mergeTags,!0):null;if(ue&&K!==te){let Ce=D&&D.getAttribute("merge-key")||k.getAttribute("merge-key"),{text:Pe,warnings:Le}=Vs(r.localIsBase?void 0:W,K,te,{parse:ue.recognizer.parse,keyCandidates:Ce?Ce.split(/[\s,]+/).filter(Boolean):void 0});for(let at of Le)console.warn(`[hyper-morph] merge "${ue.raw}": ${at}`);U.textContent=Pe,Ve.add(U),Pe!==te?B({kind:"text",node:U,source:Pe===K?"local":"both"}):Pe!==W&&fe({kind:"text",node:U,source:"remote"});return}U.textContent=ze(W,K,te,U,"text")}function T(k,N,D,U){let W=new Map;for(let K of[k,N,D])if(K)for(let te of K.attributes)r.ignoreAttribute(K,te.name)||W.set(te.name,te);for(let[K,te]of W){let ue=k?k.getAttribute(K):null,Ce=N?N.getAttribute(K):ue,Pe=D?D.getAttribute(K):ue,Le;Ce===Pe?Le=Ce:Ce===ue?(Le=Pe,fe({kind:"attr",el:U,name:K,source:"remote"})):Pe===ue?(Le=Ce,B({kind:"attr",el:U,name:K,source:"local"})):(Le=re(K,ue,Ce,Pe),Le===void 0&&(Le=_==="local"?Ce:Pe,pe({kind:"attr",el:U,name:K,base:ue,local:Ce,remote:Pe,resolved:Le},{el:U,sample:te})),Me.push({kind:"attr",el:U,name:K,source:"both"})),Le!=null&&(te.namespaceURI?U.setAttributeNS(te.namespaceURI,te.name,Le):U.setAttribute(K,Le))}}function re(k,N,D,U){if(k==="class"){let W=Pe=>new Set((Pe||"").split(/\s+/).filter(Boolean)),K=W(N),te=W(D),ue=W(U),Ce=new Set;for(let Pe of new Set([...K,...te,...ue])){let Le=K.has(Pe),at=te.has(Pe),Be=ue.has(Pe);(at===Be?at:at===Le?Be:at)&&Ce.add(Pe)}return[...Ce].join(" ")}if(k==="style"){let W=Le=>{let at=new Map;if(!Le)return at;let Be=0,It=null,We="",St=()=>{let mt=We.indexOf(":");mt>0&&at.set(We.slice(0,mt).trim(),We.slice(mt+1).trim()),We=""};for(let mt of Le){if(It){We+=mt,mt===It&&(It=null);continue}if(mt==='"'||mt==="'"){It=mt,We+=mt;continue}if(mt==="("?Be++:mt===")"&&Be--,mt===";"&&Be===0){St();continue}We+=mt}return We.trim()&&St(),at},K=W(N),te=W(D),ue=W(U),Ce=new Map,Pe=!1;for(let Le of new Set([...K.keys(),...te.keys(),...ue.keys()])){let at=K.get(Le)??null,Be=te.get(Le)??null,It=ue.get(Le)??null,We;Be===It?We=Be:Be===at?We=It:It===at?We=Be:(We=_==="local"?Be:It,Pe=!0),We!=null&&Ce.set(Le,We)}return Pe?void 0:[...Ce].map(([Le,at])=>`${Le}: ${at}`).join("; ")}}function oe(k,N,D,U){let W=k.value,K=U?W:N?N.value:"",te=D?D.value:"";le.add(k),N&&le.add(N),D&&le.add(D);let ue=Kr(W,K,te,_),Ce=ue.text===""?null:V.createTextNode(ue.text);Ce&&(Se.set(Ce,{base:k.nodes,local:N?N.nodes:null,remote:D?D.nodes:null}),ve.set(Ce,ue.mapLocalOffset)),K!==W&&te!==W?Me.push({kind:"text",node:Ce,source:"both"}):K!==W?B({kind:"text",node:Ce,source:"local"}):te!==W&&fe({kind:"text",node:Ce,source:"remote"});for(let Pe of ue.conflicts)pe({kind:"text",node:Ce,base:W.slice(Pe.bs,Pe.be),local:Pe.local,remote:Pe.remote,resolved:Pe.resolved},{site:"run",bRun:k,lRun:N,rRun:D,node:Ce,c:Pe});return Ce}function de(k,N){return Gr(k,N).every(D=>D.bs===D.be)}function ie(k,N){let D=k?k.value:"",U=N?N.value:"",W;if(D===U||!U?W=D:D?de(D,U)?W=U:de(U,D)?W=D:(W=_==="local"?D:_==="both"?D+U:U,pe({kind:"structure",el:null,detail:"insert-collision",local:D,remote:U,resolved:W},{unit:{b:null,l:k,r:N},localLost:_==="remote"})):W=U,k&&le.add(k),N&&le.add(N),W==="")return null;let K=V.createTextNode(W);return Se.set(K,{base:null,local:k?k.nodes:null,remote:N?N.nodes:null}),D?B({kind:"insert",el:K,source:U&&D===U?"both":"local"}):fe({kind:"insert",el:K,source:"remote"}),K}function he(k,N){let D={ignored:o,remoteWins:r.remoteWins,inlineCache:Oe},U=ue=>l(ue).every(Ce=>st(Ce)?or(Ce,D):Ce.kind==="text"),W=null;if(U(k)&&U(N)){let ue=k.textContent,Ce=N.textContent;ue===Ce||de(Ce,ue)?W=N:de(ue,Ce)&&(W=k)}if(!W){let ue=_==="local",Ce=w(ue?k:N,ue?"local":"remote",!0),Pe=Se.get(Ce);return ue?Pe.remote=N:Pe.local=k,pe({kind:"structure",el:Ce,detail:"insert-collision",local:k,remote:N,resolved:ue?k:N},{unit:{b:null,l:k,r:N},localLost:!ue}),Ce}let K=k.namespaceURI&&k.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(k.namespaceURI,k.tagName):V.createElement(k.tagName);T(null,k,N,K),Se.set(K,{base:null,local:k,remote:N}),le.add(k),le.add(N);let te=$s({base:Array.from(W.childNodes),local:Array.from(k.childNodes),remote:Array.from(N.childNodes),out:V,policy:_,idOf:{local:b,remote:v},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,provenance:Se,textMappers:ve,conflicts:He,conflict:pe,scope:{base:null,local:k,remote:N,units:[],at:0},synthetic:!0,decisions:Me,node:K});it.push(...te.segments);for(let ue of te.nodes)K.appendChild(ue);return K}function w(k,N,D=!1){if(!D&&st(k)){let te=Qe.partner.get(k);if(te)return ce(k,N,te)}if(!st(k)){if(k.value==="")return null;let te=k.kind==="comment"?V.createComment(k.value):V.createTextNode(k.value);return Se.set(te,{base:null,local:N==="local"?k.nodes:null,remote:N==="remote"?k.nodes:null}),le.add(k),te}let U=k.namespaceURI&&k.namespaceURI!=="http://www.w3.org/1999/xhtml"?V.createElementNS(k.namespaceURI,k.tagName):V.createElement(k.tagName);for(let te of k.attributes)te.namespaceURI?U.setAttributeNS(te.namespaceURI,te.name,te.value):U.setAttribute(te.name,te.value);Se.set(U,{base:null,local:N==="local"?k:null,remote:N==="remote"?k:null}),le.add(k);let W=k.tagName==="TEMPLATE"&&U.content?U.content:U,K=N==="local"?Q:L;for(let te of l(k)){let ue=st(te)?K.reverse.get(te):null;if(ue&&yt.has(ue)){pe({kind:"structure",el:null,detail:"both-moved",base:ue},{subject:ue});continue}if(ue&&!et.has(ue)){let Pe=ke(Q,ue)||null,Le=ke(L,ue)||null;if(Pe||Le){let at=wt(ue,Pe,Le,!1);N==="local"?B({kind:"move",el:at,source:"local"}):fe({kind:"move",el:at,source:"remote"}),W.appendChild(at);continue}}let Ce=w(te,N);Ce&&W.appendChild(Ce)}return U}function E(k,N,D,U,W){N&&Q.identical.has(k)&&Q.pairIdenticalChildren(k),D&&L.identical.has(k)&&L.pairIdenticalChildren(k);let K=kt(Q,N,k,U),te=kt(L,D,k,!1),ue=l(k),Ce=new Set(ue),Pe=new Map;for(let ne=0;ne<ue.length;ne++)Pe.set(ue[ne],ne);let Le=[],at=new Set,Be=new Map,It=new Set,We=new Set,St=[];nn();let mt=ne=>{let De=[];for(let Ne of ne.units){if(We.has(Ne))continue;let tt=ne.baseOf(Ne);tt&&Ce.has(tt)&&De.push(tt)}return De},tn=ne=>mt(ne).map(De=>Pe.get(De)),Bt=ne=>ne.every((De,Ne)=>Ne===0||De>=ne[Ne-1]),Qt=!K.asBase&&!Bt(tn(K)),Dt=!te.asBase&&!Bt(tn(te));Qt&&Dt&&pe({kind:"structure",el:W,detail:"both-reordered",base:k},{subject:k,lKept:mt(K),rKept:mt(te)});let xt=Dt||!Qt?{V:te,A:L,side:"remote",other:K,otherA:Q,otherSide:"local"}:{V:K,A:Q,side:"local",other:te,otherA:L,otherSide:"remote"};Qt?B({kind:"move",el:null,source:Dt?"both":"local",base:k}):Dt&&fe({kind:"move",el:null,source:"remote",base:k});let Rt=K.asBase?[]:K.units.filter(ne=>!K.baseOf(ne)&&!We.has(ne)&&!Qe.partner.has(ne)),Mt=te.asBase?[]:te.units.filter(ne=>!te.baseOf(ne)&&!We.has(ne)&&!Qe.partner.has(ne)),zt=new Map;if(Rt.length&&Mt.length){let ne=new Map,De=new Map;for(let $e of Mt){if(st($e)){let ct=v($e);ct&&ne.set(ct,$e)}let Ye=i.unitHash($e);De.has(Ye)||De.set(Ye,[]),De.get(Ye).push($e)}let Ne=($e,Ye)=>{let ct=$e.units.indexOf(Ye);for(let Ke=ct-1;Ke>=0;Ke--){let ft=$e.baseOf($e.units[Ke]);if(ft)return ft}return"start"},tt=new Map,pt=new Map;for(let $e of Mt){let Ye=Ne(te,$e);st($e)?(pt.has(Ye)||pt.set(Ye,[]),pt.get(Ye).push($e)):$e.kind==="text"&&!tt.has(Ye)&&tt.set(Ye,$e)}for(let $e of Rt){let Ye=null;if(st($e)){let ct=b($e);ct&&ne.has(ct)&&!zt.has(ne.get(ct))&&(Ye=ne.get(ct))}else if($e.kind==="text"){let ct=tt.get(Ne(K,$e));ct&&!zt.has(ct)&&(Ye=ct)}if(!Ye){let ct=De.get(i.unitHash($e));ct&&(Ye=ct.find(Ke=>!zt.has(Ke)&&st(Ke)===st($e)&&(st(Ke)?Ke.tagName===$e.tagName:Ke.kind===$e.kind)&&i.equalUnits($e,Ke))||null)}if(!Ye&&st($e)){let ct=m.local($e),Ke=(pt.get(Ne(K,$e))||[]).filter(ft=>{let cn=m.remote(ft);return!zt.has(ft)&&ft.tagName===$e.tagName&&!(ct&&cn&&ct!==cn)&&i.similar($e,ft)});Ke.length===1&&(Ye=Ke[0])}Ye&&(zt.set(Ye,$e),zt.set($e,Ye))}}let an=ne=>{if(le.has(ne))return Be.get(ne)||null;let De=K.twin(ne),Ne=te.twin(ne),tt=De&&!K.asBase&&!K.here(De),pt=Ne&&!te.asBase&&!te.here(Ne);if(tt||pt){if((!De||!Ne)&&pe({kind:"structure",el:null,detail:"move-beats-delete",base:ne},{subject:ne,deleted:De?"remote":"local"}),!Z(ne))return le.add(ne),null;pe({kind:"structure",el:null,detail:"both-moved",base:ne},{subject:ne})}if(!De&&!Ne)return le.add(ne),fe({kind:"remove",source:"both",base:ne}),null;if(!De&&!ht(ne,Ne,L))return le.add(ne),B({kind:"remove",source:"local",base:ne}),null;if(!Ne&&!ht(ne,De,Q))return le.add(ne),fe({kind:"remove",source:"remote",base:ne}),null;let $e=!De||!Ne,Ye=K.asBase?ke(Q,ne)||null:De,ct=te.asBase&&st(ne)&&(L.identityPaired.has(ne)||!m.base(ne))&&ke(L,ne)||Ne,Ke;return st(ne)?Ke=wt(ne,Ye,ct,K.asBase):ne.kind==="comment"?Ke=O(ne,Ye,Ne,K.asBase):Ke=oe(ne,Ye,Ne,K.asBase),le.add(ne),Ke&&(Be.set(ne,Ke),De&&Be.set(De,Ke),Ne&&Be.set(Ne,Ke),$e&&(pe({kind:"structure",el:Ke,detail:"edit-beats-delete",base:ne},{subject:ne,deleted:De?"remote":"local"}),De?B({kind:"insert",el:Ke,source:"local"}):fe({kind:"insert",el:Ke,source:"remote"}))),Ke},yn=(ne,De,Ne,tt)=>{if(le.has(ne))return Be.get(ne)||null;let pt=De.baseOf(ne);if(pt&&Ce.has(pt))return We.has(pt)&&!We.has(ne)?qn(pt,ne,tt):an(pt);if(pt)return Bn(pt,ne,tt);let $e=zt.get(ne);if($e){let ct=tt==="local"?ne:$e,Ke=tt==="local"?$e:ne,ft;return st(ct)?i.equalUnits(ct,Ke)?(ft=w(ct,"local"),Se.get(ft).remote=Ke):ft=he(ct,Ke):ft=ie(ct,Ke),le.add(ct),le.add(Ke),ft&&(Be.set(ct,ft),Be.set(Ke,ft),st(ct)&&B({kind:"insert",el:ft,source:"both"})),ft}let Ye=w(ne,tt);return Ye&&(Be.set(ne,Ye),tt==="local"?B({kind:"insert",el:Ye,source:"local"}):fe({kind:"insert",el:Ye,source:"remote"})),Ye},qn=(ne,De,Ne)=>{let tt;return st(ne)?(tt=Je(ne,Ne,De),tt&&le.add(De)):(tt=w(De,Ne),le.add(De),tt&&(Ne==="local"?B:fe)({kind:"insert",el:tt,source:Ne})),tt&&Be.set(De,tt),tt},Bn=(ne,De,Ne)=>{let pt=ke(Ne==="local"?L:Q,ne),$e=De,Ye=pt?ye(pt,Ne==="local"?D:N,Ne==="local"?L:Q):!1,ct=pt&&!Ye&&!Re(ne,pt);if(ct&&Ne===xt.otherSide)return pe({kind:"structure",el:null,detail:"both-moved",base:ne},{subject:ne}),null;if(ct&&pe({kind:"structure",el:null,detail:"both-moved",base:ne},{subject:ne}),pt||pe({kind:"structure",el:null,detail:"move-beats-delete",base:ne},{subject:ne,deleted:Ne==="local"?"remote":"local"}),et.has(ne)){pe({kind:"structure",el:null,detail:"both-moved",base:ne},{subject:ne});let ft=w($e,Ne);return ft&&Be.set(De,ft),ft}let Ke=st(ne)?wt(ne,Ne==="local"?$e:ke(Q,ne)||null,Ne==="remote"?$e:ke(L,ne)||null,!1):null;return Ke&&(Be.set(ne,Ke),Be.set(De,Ke),pt&&Be.set(pt,Ke),Ne==="local"?B({kind:"move",el:Ke,source:"local"}):fe({kind:"move",el:Ke,source:"remote"})),Ke};for(let ne of xt.V.units){if(We.has(ne)){let Ne=Be.get(ne);at.has(Ne)||(Le.push(Ne),at.add(Ne));continue}if(le.has(ne)&&!(Be.get(ne)&&at.has(Be.get(ne)))){let Ne=xt.V.baseOf(ne);Ne&&!Ce.has(Ne)&&pe({kind:"structure",el:null,detail:"both-moved",base:Ne},{subject:Ne});continue}let De=yn(ne,xt.V,xt.A,xt.side);De&&!at.has(De)&&(Le.push(De),at.add(De),!xt.V.baseOf(ne)&&!zt.has(ne)&&!We.has(ne)&&It.add(De))}for(let ne of St)at.has(ne.frag)||(Le.splice(Nn(ne.at),0,ne.frag),at.add(ne.frag));if(!xt.other.asBase){let ne=xt.other,De=xt.otherSide,Ne=xt.otherA,tt=null,pt=0,$e=null;for(let Ye of ne.units){let ct=Be.get(Ye);if(ct&&at.has(ct)){tt=ct,$e=null;continue}if(le.has(Ye)){let cn=ne.baseOf(Ye);cn&&!Ce.has(cn)&&pe({kind:"structure",el:null,detail:"both-moved",base:cn},{subject:cn});continue}let Ke=yn(Ye,ne,Ne,De);if(!Ke)continue;let ft;if($e)ft=Le.indexOf($e)+1;else if(tt){if(ft=Le.indexOf(tt)+1,De==="remote")for(;ft<Le.length&&It.has(Le[ft]);)ft++}else ft=pt++;Le.splice(ft,0,Ke),at.add(Ke),$e=Ke}}for(let ne=0;ne<ue.length;ne++){let De=ue[ne];if(le.has(De))continue;let Ne=an(De);Ne&&Le.splice(Nn(ne),0,Ne)}return Le;function Nn(ne){for(let De=ne-1;De>=0;De--){let Ne=Be.get(ue[De]);if(Ne){let tt=Le.indexOf(Ne);if(tt>=0)return tt+1}}return 0}function mn(ne){let De={ignored:o,remoteWins:()=>!1},Ne=we=>ne(we)||st(we)&&r.remoteWins(we)&&Mn.has(we.tagName)&&or(we,De),tt=new Map,pt=we=>{if(!st(we)||!nf.has(we.tagName))return!1;let je=tt.get(we);return je===void 0&&(je=!o(we)&&!r.remoteWins(we)&&l(we).every(Ne),tt.set(we,je)),je},$e=we=>!st(we)&&we.kind==="text",Ye=null,ct=new Map,Ke=we=>{let je=ct.get(we);if(je)return je;let Xe=st(we)?we.textContent:we.value;je=new Set;let ut=Xe.toLowerCase();if(!(Xe.length>Tl))if(/^[\x00-\x7f]*$/.test(ut))for(let Ze of ut.split(/[^\p{L}\p{N}]+/u))Ze&&je.add(Ze);else for(let Ze of Ps(ut))/^[\s\p{P}]+$/u.test(Ze)||je.add(Ze);return ct.set(we,je),je},ft=we=>(st(we)?we.textContent:we.value).toLowerCase().replace(/\s+/g," ").trim(),cn=new Map,tr=we=>{let je=cn.get(we);if(je)return je;je=new Set(Ke(we));let Xe=Ze=>{if(Ze)for(let Nt of Ke(Ze))je.add(Nt)},ut=Ce.has(we)?we:!K.asBase&&K.baseOf(we)||!te.asBase&&te.baseOf(we);return ut&&(Xe(ut),Xe(ke(Q,ut)),Xe(ke(L,ut))),cn.set(we,je),je},xn=(we,je)=>{let Xe=ft(je),ut=Ce.has(we)?we:!K.asBase&&K.baseOf(we)||!te.asBase&&te.baseOf(we),Ze=Wt=>Xe?Wt.split(Xe).length-1:0;if(ut&&st(je)&&!Ce.has(je)){let Wt=Ze(ft(ut));for(let Kt of[ke(Q,ut),ke(L,ut)]){if(!Kt||Kt===je||Kt.ownerDocument!==je.ownerDocument)continue;let gn=ft(Kt);if(gn.length>Xe.length&&Ze(gn)>=Wt&&(gn.startsWith(Xe)||gn.endsWith(Xe)))return!1}}let Nt=Ke(je),_t=tr(we),Ht=0;for(let Wt of Nt)_t.has(Wt)&&Ht++;if(Nt.size&&Ht*2>=Nt.size)return!0;if(!Xe||Xe.length>Tl)return!1;let en=ut?[we,ut,ke(Q,ut),ke(L,ut)]:[we],dn=(Wt,Kt)=>Wt!==Kt&&(Wt.startsWith(Kt)||Wt.endsWith(Kt));if(en.some(Wt=>Wt&&dn(ft(Wt),Xe)))return!0;if(!Ce.has(je)||!ut)return!1;let jt=ft(we),Hn=ft(ut);return[ke(Q,je),ke(L,je)].some(Wt=>{let Kt=Wt&&ft(Wt);return!!Kt&&jt!==Kt&&(jt.startsWith(Kt)&&!Hn.startsWith(Kt)||jt.endsWith(Kt)&&!Hn.endsWith(Kt))})},pn=we=>{Ye||(Ye=new Set),Ye.add(we)},nr=we=>{pn(we);for(let[je,Xe]of[[Q,K],[L,te]]){if(Xe.asBase)continue;let ut=ke(je,we);ut&&Xe.here(ut)&&pn(ut)}},ot=(we,je)=>we.asBase||ue.every(Xe=>!st(Xe)||je.identical.has(Xe)&&we.here(ke(je,Xe)))&&we.units.every(Xe=>!st(Xe)||we.baseOf(Xe));if(ot(K,Q)&&ot(te,L))return null;let vt=we=>{if(we.asBase)return!1;let je=-1;for(let Xe of we.units){let ut=st(Xe)?we.baseOf(Xe):null;if(!ut||!Ce.has(ut))continue;let Ze=Pe.get(ut);if(Ze<je)return!0;je=Ze}return!1};if(vt(K)||vt(te))return null;for(let[we,je]of[[K,Q],[te,L]]){if(we.asBase||ot(we,je))continue;let Xe=we.units,ut=je===Q?m.local:m.remote,Ze=(Fe,At)=>{let Pt=st(Fe)&&m.base(Fe),Ct=st(At)&&ut(At);return!Pt||!Ct||Pt===Ct},Nt=new Map;for(let Fe=0;Fe<Xe.length;Fe++)Nt.set(Xe[Fe],Fe);let _t=Fe=>!!Fe&&(st(Fe)?we.here(Fe):Nt.has(Fe)),Ht=Fe=>{let At=we.twin(Fe);return _t(At)?At:null},en=ue.filter(Fe=>!we.twin(Fe)&&pt(Fe)),dn=Xe.filter(Fe=>!we.baseOf(Fe)&&pt(Fe)),jt=(Fe,At)=>At===ue?!!Ht(Fe):Ce.has(we.baseOf(Fe)),Hn=Fe=>{let At=new Int32Array(Fe.length),Pt=new Int32Array(Fe.length),Ct=-1;for(let Tt=0;Tt<Fe.length;Tt++)At[Tt]=Ct,jt(Fe[Tt],Fe)&&(Ct=Tt);Ct=Fe.length;for(let Tt=Fe.length-1;Tt>=0;Tt--)Pt[Tt]=Ct,jt(Fe[Tt],Fe)&&(Ct=Tt);return{prev:At,next:Pt}},Wt=Hn(Xe),Kt=Hn(ue),gn=(Fe,At)=>{nr(Fe),pn(At)};for(let Fe of dn){let At=Nt.get(Fe),Pt=Wt.prev[At],Ct=Wt.next[At],Tt=Pt>=0?we.baseOf(Xe[Pt]):null,Sn=Ct<Xe.length?we.baseOf(Xe[Ct]):null,Gt=Tt?Pe.get(Tt):-1,$n=Sn?Pe.get(Sn):ue.length;for(let Cn=Math.max(0,Gt);Cn<=Math.min($n,ue.length-1);Cn++){let rn=ue[Cn];(pt(rn)||$e(rn))&&(!Ze(rn,Fe)||!xn(rn,Fe)||($e(rn)?pn(Fe):gn(rn,Fe)))}}let An=(Fe,At,Pt)=>{for(let Ct=At+Pt;Ct>=0&&Ct<Fe.length;Ct+=Pt){let Tt=Fe[Ct];if(pt(Tt))return Tt;if(st(Tt)||Tt.value.trim())return null}return null},wo=Fe=>{let At=new Set;for(let Pt of l(Fe))if(!st(Pt)&&Pt.kind==="text")for(let Ct of Ke(Pt))At.add(Ct);return At},mr=(Fe,At)=>{let Pt=Ke(At),Ct=new Set;for(let Tt of wo(Fe))Pt.has(Tt)||Ct.add(Tt);return Ct},Vr=(Fe,At)=>{if(!Fe.size)return!1;let Pt=Ke(At),Ct=0;for(let Tt of Fe)Pt.has(Tt)&&Ct++;return Ct*2>=Fe.size};for(let Fe of ue){if(je.identical.has(Fe)||!pt(Fe))continue;let At=Ht(Fe);if(!At||!pt(At))continue;let Pt=mr(At,Fe),Ct=mr(Fe,At);for(let Tt of[-1,1]){let Sn=An(ue,Pe.get(Fe),Tt);Sn&&Vr(Pt,Sn)&&(gn(Fe,At),nr(Sn));let Gt=An(Xe,Nt.get(At)??-1,Tt);if(Gt&&Vr(Ct,Gt)){gn(Fe,At);let $n=we.baseOf(Gt);$n?gn($n,Gt):pn(Gt)}}}for(let Fe of en){let At=Pe.get(Fe),Pt=Kt.prev[At],Ct=Kt.next[At],Tt=Pt>=0?Ht(ue[Pt]):null,Sn=Ct<ue.length?Ht(ue[Ct]):null,Gt=Tt?Nt.get(Tt)??-1:-1,$n=Sn?Nt.get(Sn)??-1:Xe.length;for(let Cn=Math.max(0,Gt);Cn<=Math.min($n,Xe.length-1);Cn++){let rn=Xe[Cn];if((pt(rn)||$e(rn))&&!(!Ze(Fe,rn)||!xn(rn,Fe))&&(nr(Fe),!$e(rn))){let Ao=we.baseOf(rn);Ao?gn(Ao,rn):pn(rn)}}}}if(!Ye)return null;for(let we of Array.from(Ye))if(Ce.has(we))for(let je of[Q,L]){let Xe=ke(je,we);Xe&&!ye(Xe,je===Q?N:D,je)&&!(je===Q?K:te).asBase&&(Ye.delete(we),Ye.delete(ke(Q,we)),Ye.delete(ke(L,we)))}return Ye.size?Ye:null}function nn(){if((K.asBase||Q.identical.has(k))&&(te.asBase||L.identical.has(k)))return;let ne={ignored:o,remoteWins:r.remoteWins,inlineCache:Oe},De=ot=>st(ot)?or(ot,ne):ot.kind==="text",Ne=mn(De),tt=ot=>Ne&&Ne.has(ot)||De(ot),pt=ue.map(tt);if(!pt.includes(!0))return;let $e=ot=>{let vt=ot.units,we=new Map;for(let _t=0;_t<vt.length;_t++)we.set(vt[_t],_t);let je=[],Xe=-1;for(let _t=0;_t<ue.length;_t++){if(pt[_t])continue;let Ht=ot.twin(ue[_t]),en=Ht?we.get(Ht):void 0;en===void 0||en<=Xe||tt(Ht)||(je.push([_t,en]),Xe=en)}let ut=[],Ze=-1,Nt=-1;for(let _t=0;_t<=je.length;_t++){let[Ht,en]=_t<je.length?je[_t]:[ue.length,vt.length],dn={bLo:-1,bHi:-1,sLo:-1,sHi:-1,next:en};for(let jt=Ze+1;jt<Ht;jt++)pt[jt]&&(dn.bLo<0&&(dn.bLo=jt),dn.bHi=jt);for(let jt=Nt+1;jt<en;jt++)tt(vt[jt])&&(dn.sLo<0&&(dn.sLo=jt),dn.sHi=jt);ut.push(dn),Ze=Ht,Nt=en}return{units:vt,list:ut}},Ye=$e(K),ct=$e(te),Ke=[];for(let ot of[Ye,ct])for(let vt of ot.list)vt.bLo>=0&&Ke.push([vt.bLo,vt.bHi]);Ke.sort((ot,vt)=>ot[0]-vt[0]);let ft=[];for(let[ot,vt]of Ke){let we=ft[ft.length-1];we&&ot<=we.hi?we.hi=Math.max(we.hi,vt):ft.push({lo:ot,hi:vt})}let cn=(ot,vt)=>{let we=-1,je=-1;for(let Ze=0;Ze<ot.list.length;Ze++){let Nt=ot.list[Ze];Nt.bLo<vt.lo||Nt.bLo>vt.hi||(we<0&&(we=Ze),je=Ze)}let Xe=1/0,ut=-1;for(let Ze=we;Ze>=0&&Ze<=je;Ze++){let Nt=ot.list[Ze];Nt.sLo>=0&&(Xe=Math.min(Xe,Nt.sLo),ut=Math.max(ut,Nt.sHi)),Ze<je&&(Xe=Math.min(Xe,Nt.next),ut=Math.max(ut,Nt.next))}return ut<0?[]:ot.units.slice(Xe,ut+1)},tr=(ot,vt)=>ot.length===vt.length&&ot.every((we,je)=>i.equalUnits(we,vt[je])),xn=ot=>!st(ot)&&ot.kind==="comment",pn=ot=>{if(!ot.length)return[];let vt=(Ze,Nt)=>st(Ze)?Ze:Ze.nodes[Nt?Ze.nodes.length-1:0],we=vt(ot[0]),je=vt(ot[ot.length-1],!0),Xe=Ze=>Ze&&st(Ze)&&o(Ze);for(;Xe(we.previousSibling);)we=we.previousSibling;for(;Xe(je.nextSibling);)je=je.nextSibling;let ut=[];for(let Ze=we;Ze&&(ut.push(Ze),Ze!==je);Ze=Ze.nextSibling);return ut},nr=ot=>ot.some(vt=>st(vt)&&o(vt));for(let ot of ft){let vt=ue.slice(ot.lo,ot.hi+1),we=K.asBase?null:cn(Ye,ot),je=te.asBase?null:cn(ct,ot);if(vt.some(xn)||we&&we.some(xn)||je&&je.some(xn))continue;let Xe=pn(we||vt),ut=pn(je||vt);if((!we||tr(vt,we))&&(!je||tr(vt,je))&&!(we&&nr(Xe)))continue;let Ze=$s({base:pn(vt),local:Xe,remote:ut,out:V,policy:_,blocks:Ne,L:we?Q:El(Q,k),R:je?L:El(L,k),idOf:{local:b,remote:v},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,mergeElement:(_t,Ht,en)=>wt(_t,Ht,en,!1),cloneUnit:w,mergeAttrs:T,atomKey:i.exactUnitKey,moveIn:Je,provenance:Se,textMappers:ve,conflicts:He,conflict:pe,scope:{base:k,local:K.asBase?null:K.el,remote:te.asBase?null:te.el,units:ue,at:ot.lo},decisions:Me,node:W});it.push(...Ze.segments);let Nt=V.createDocumentFragment();for(let _t of Ze.nodes)Nt.appendChild(_t);for(let _t of[...vt,...we||[],...je||[]])le.add(_t),We.add(_t),Be.set(_t,Nt);St.push({frag:Nt,at:ot.lo})}}}function P(k,N){let D=Se.get(k);return D&&D.unchanged?!D.remote||D.remote===N?!0:x(D.remote,N):k.tagName!==N.tagName||!G(k,N)?!1:q(j(k),j(N))}function x(k,N){return k===N?!0:k.tagName!==N.tagName||k.namespaceURI!==N.namespaceURI||!G(k,N)?!1:A(j(k),j(N))}function A(k,N){let D=X(k,o),U=X(N,o);if(D.length!==U.length)return!1;for(let W=0;W<D.length;W++){let K=D[W],te=U[W];if(typeof K=="string"||typeof te=="string"){if(K!==te)return!1}else{if(K.nodeType!==te.nodeType)return!1;if(K.nodeType===1){if(!x(K,te))return!1}else if(K.nodeValue!==te.nodeValue)return!1}}return!0}function j(k){return k.tagName==="TEMPLATE"&&k.content?k.content:k}function G(k,N){let D=0;for(let U of k.attributes)if(!r.ignoreAttribute(k,U.name)&&(D++,N.getAttribute(U.name)!==U.value))return!1;for(let U of N.attributes)r.ignoreAttribute(N,U.name)||D--;return D===0}function q(k,N){let D=X(k,W=>{let K=Se.get(W);return!!(K&&K.pinned)}),U=X(N,o);if(D.length!==U.length)return!1;for(let W=0;W<D.length;W++){let K=D[W],te=U[W];if(typeof K=="string"||typeof te=="string"){if(K!==te)return!1}else{if(K.nodeType!==te.nodeType)return!1;if(K.nodeType===1){if(!P(K,te))return!1}else if(K.nodeValue!==te.nodeValue)return!1}}return!0}function X(k,N){let D=[],U=null;for(let W=k.firstChild;W;W=W.nextSibling){if(W.nodeType===3){U=U===null?W.nodeValue:U+W.nodeValue;continue}W.nodeType===1&&N(W)||(U!==null&&(U!==""&&D.push(U),U=null),D.push(W))}return U!==null&&U!==""&&D.push(U),D}function O(k,N,D,U){let W=k.value,K=U?W:N?N.value:"",te=D?D.value:"";le.add(k),N&&le.add(N),D&&le.add(D);let ue=K===te?K:K===W?te:te===W||_==="local"?K:te,Ce={site:"comment",bRun:k,lRun:N,rRun:D,node:null};if(K!==W&&te!==W&&K!==te&&pe({kind:"text",node:null,base:W,local:K,remote:te,resolved:ue},Ce),!N&&!D)return null;let Pe=V.createComment(ue);return Ce.node=Pe,Se.set(Pe,{base:k.nodes,local:N?N.nodes:null,remote:D?D.nodes:null}),Pe}function C(k,N){let D=ke(N,k);if(!D)return null;let U=st(D)?D.parentNode:D.parent,W=st(k)?k.parentNode:k.parent;return ke(N,W)===U?null:N.reverse.get(U)||null}function Z(k){let N=new Set([k]),D=k;for(let U=0;U<64;U++){let W=C(D,Q)||C(D,L);if(!W)return!1;if(W===k||st(k)&&st(W)&&k.contains(W)||N.has(W))return!0;N.add(W),D=W}return!0}function ye(k,N,D){if(!N)return!1;let U=st(k)?k.parentNode:k.parent;return U===N||N.tagName==="TEMPLATE"&&U===N.content}function Re(k,N){let D=se(k),U=ke(Q,D);if(U&&ye(N,U,Q))return!0;let W=ke(L,D);return!!(W&&ye(N,W,L))}}function El(e,t){return e.map.get(t)?_l():{map:{get:r=>r&&r.nodeType===1&&e.map.get(r)||r,has:()=>!0},reverse:{get:r=>e.reverse.get(r)||r,has:()=>!0},moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}function _l(){let e={get:t=>t,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var Ol=new Set(["INPUT","OPTION","TEXTAREA"]),Ks=/[\t\n\f\r ]+/;function Nl(e,t,n,r){let o=e.ownerDocument,{provenance:s,textMappers:i}=n,l=r.hooks,a=[],u=[],d=[],h=new Set,f=[],p=[],b=new Map,v=new Set,m=new Map,g=n.conflicts.length>0,y=new Map,I=new Set,Y=new Map,$=(T,re)=>{let oe=Y.get(T);oe||Y.set(T,oe=new Set),oe.add(re)},H=g?new Set:null,z=(T,re,oe)=>{let de=l.beforeAttributeUpdated(T,re,oe);return g&&de===!1&&$(re,T),de},ae=T=>!!T&&(T===e||e.contains(T)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(T)),me=new Map,Q=new Map,L=new Map,Ee=new Set,xe=new Map;(function T(re){let oe=s.get(re);if(oe){if(re.nodeType===1){let ie=oe.local?r.toLive(oe.local):null;ie&&ae(ie)&&ie.nodeType===1&&(me.set(re,ie),Q.set(ie,re))}else if(Array.isArray(oe.local)){let ie=ve(oe.local,oe.local.map(he=>r.toLive(he)).filter(he=>he&&ae(he)&&he.nodeType===re.nodeType));if(ie.length&&(me.set(re,ie[0]),Q.set(ie[0],re),L.set(re,ie)),Array.isArray(oe.caret))for(let he of oe.caret){let w=r.toLive(he.node);if(!w||!ae(w)||w.nodeType!==3)continue;let E=xe.get(w);Array.isArray(E)||xe.set(w,E=[]),E.push({merged:re,from:he.from,to:he.to,flatStart:he.flatStart})}else{let he=0;for(let w of ie)xe.set(w,{merged:re,shift:he}),he+=w.nodeValue.length}}}let de=re.nodeType===1&&re.tagName==="TEMPLATE"&&re.content?re.content.childNodes:re.childNodes;for(let ie of de)T(ie)})(t);let se=new Set;for(let T of me.values())se.add(T);for(let T of L.values())for(let re of T)se.add(re);for(let T of n.segments||[])Me(T);let V=r.restoreFocus===!1?null:rf(o,xe);r.childrenOnly?le(He(e),He(t)):Ve(e,t);for(let{node:T,parent:re}of f)h.has(T)||!T.parentNode||T.nodeType===1&&(r.ignored(T)||yt(T))||qe(T,re);return of(o,V,xe,i,L,m,Ee),{applied:a,moved:u,replaced:d,identities:p,mergedScriptsLive:v,liveOf:me,heldBy:m,runOf:L,keptRuns:Ee,insertedLive:y,vetoed:I,vetoedAttrs:Y,removedVetoes:H};function Se(T,re){let oe=T.slice(re.bs,re.be),de=0;for(;de<oe.length&&de<re.text.length&&oe[de]===re.text[de];)de++;let ie=0;for(;ie<oe.length-de&&ie<re.text.length-de&&oe[oe.length-1-ie]===re.text[re.text.length-1-ie];)ie++;return{bs:re.bs+de,be:re.be-ie,text:re.text.slice(de,re.text.length-ie)}}function ve(T,re){if(!re.length)return re;let oe=[];for(let he of T){let w=he.parentNode;if(!w)continue;let E=b.get(w);if(!E){E=new Set;for(let P=w.firstChild;P;P=P.nextSibling)P.nodeType===3&&E.add(r.toLive(P));b.set(w,E)}oe.includes(E)||oe.push(E)}let de={has:he=>oe.some(w=>w.has(he))},ie=[];for(let he of re){ie.push(he);for(let w=he.nextSibling;w&&w.nodeType===3&&!de.has(w)&&!ie.includes(w);w=w.nextSibling)ie.push(w)}return ie}function Me(T){let re=[];for(let O of T.localNodes){let C=r.toLive(O.node);if(!C||!ae(C)||C.nodeType!==3)return;re.push(C)}let oe=ve(T.localNodes.map(O=>O.node),re);if(!oe.length)return;let de=oe.map(O=>O.nodeValue).join(""),{flatLocal:ie,lToM:he,mapLocal:w}=T;if(de===ie)return;let E=T.textNodes.map(O=>({node:O.node,ms:O.ms,me:O.me})),P=[],x=0;for(let O of oe)P.push(x),x+=O.nodeValue.length;let A=(O,C)=>oe.find((Z,ye)=>P[ye]<=O&&O+C<=P[ye]+Z.nodeValue.length)||null,j=[],G=0;for(let O of Gr(ie,de).map(C=>Se(ie,C))){let C=O.bs+G;G+=O.text.length-(O.be-O.bs);let Z,ye;if(O.be>O.bs){Z=he[O.bs];let Re=Z>=0;for(let k=O.bs;Re&&k<O.be;k++)he[k]!==Z+(k-O.bs)&&(Re=!1);if(!Re)continue;ye=Z+(O.be-O.bs)}else{let Re=O.bs>0?he[O.bs-1]:0,k=O.bs<ie.length?he[O.bs]:0;if(Re<0||k<0)continue;Z=ye=w(O.bs)}j.push({ms:Z,me:ye,text:O.text,live:ye===Z?A(C,O.text.length):null})}j.sort((O,C)=>C.ms-O.ms);let q=(O,C)=>(L.get(O.node)||[me.get(O.node)]).includes(C),X=O=>!!O&&O.nodeType===1&&Mn.has(O.tagName);for(let O of j){let C=E.find(ye=>ye.ms<=O.ms&&O.me<=ye.me&&O.ms<ye.me);if(C&&O.live&&C.ms===O.ms&&!q(C,O.live)){let ye=E.find(Re=>Re.me===O.ms&&q(Re,O.live));ye&&(C=ye)}if(!C&&O.me===O.ms){let ye=E.find(D=>D.me===O.ms),Re=E.find(D=>D.ms===O.ms),k=ye||Re;if(!k)continue;let N=k.node;for(;X(N.parentNode)&&(ye?N.parentNode.lastChild:N.parentNode.firstChild)===N;)N=N.parentNode;if(N===k.node)C=k;else{let D=N.ownerDocument.createTextNode(O.text);N.parentNode.insertBefore(D,ye?N.nextSibling:N);continue}}if(!C)continue;let Z=C.node.nodeValue;C.node.nodeValue=Z.slice(0,O.ms-C.ms)+O.text+Z.slice(O.me-C.ms),C.me+=O.text.length-(O.me-O.ms)}}function He(T){return T.nodeType===1&&T.tagName==="TEMPLATE"&&T.content?T.content:T}function Ve(T,re){h.add(T);let oe=s.get(re);if(oe&&oe.remote&&n.remoteIdOf){let ie=n.remoteIdOf(oe.remote);ie&&p.push([T,ie])}if(oe&&oe.unchanged){n.customIdentity&&oe.remote&&B(T,oe.remote),oe.remote&&_(T,oe.remote);return}if(l.beforeNodeMorphed(T,re)===!1){I.add(re);return}Ue(T,re,r.keepLiveOnly&&oe&&oe.local&&oe.local.nodeType===1&&oe.local!==T?oe.local:null);let de=T.tagName;if(un(T))T.textContent!==re.textContent&&(a.push({kind:"text",node:T,before:T.textContent,after:re.textContent}),T.textContent=re.textContent),n.mergedScripts.has(re)&&v.add(T);else if(de==="TEXTAREA")Ot(T,re,oe);else{wt(T,re,oe);let ie=de==="TEMPLATE"&&T.content?T.content:T,he=de==="TEMPLATE"&&re.content?re.content:re;r.protectFocusedValue==="subtree"&&Je(T)&&T!==o.body?it(ie):le(ie,he)}l.afterNodeMorphed(T,re)}function it(T){for(let re=T.firstChild;re;re=re.nextSibling){let oe=Q.get(re);oe&&me.get(oe.parentNode)!==T||(h.add(re),re.nodeType===1&&it(re))}}function le(T,re){let oe=pe(T.firstChild),de=new Set;for(let ie of Array.from(re.childNodes)){let he=me.get(ie);he&&h.has(he)&&!de.has(he)&&(he=null);let w=s.get(ie);if(w&&w.pinned){he&&he.nodeType===1&&((he.parentNode!==T||pe(he.nextSibling)!==oe)&&Qe(T,he,oe),h.add(he),de.add(he));continue}if(he&&he.nodeType===1){if(he!==oe){let x=he.parentNode;if(x===T&&oe&&kt(he)){let A=he.nextSibling;for(let j=oe;j&&j!==he;){let G=j.nextSibling;Qe(T,j,A),j=G}}else Qe(T,he,oe),x!==T&&(u.push(he),a.push({kind:"move",el:he,from:x,to:T}))}de.add(he),Ve(he,ie),oe=pe(he.nextSibling);continue}if(he&&he.nodeType!==1){let x=L.get(ie)||[he],A=x.map(G=>G.nodeValue).join(""),j=ie.nodeValue;if(ie.nodeType===3){let G=et(ie);G!=null&&A!==G&&(j=Kr(G,A,ie.nodeValue).text)}if(x.length>1&&A===j&&!x.includes(oe,1)&&x.every((G,q)=>G.parentNode===T&&(q===0||x[q-1].nextSibling===G))){if(he!==oe)for(let G of x)Qe(T,G,oe);l.beforeNodeMorphed(he,ie)!==!1?l.afterNodeMorphed(he,ie):g&&I.add(ie);for(let G of x)h.add(G),de.add(G);m.set(ie,he),Ee.add(ie),oe=pe(x[x.length-1].nextSibling);continue}he!==oe&&Qe(T,he,oe),l.beforeNodeMorphed(he,ie)!==!1?(he.nodeValue!==j&&(a.push({kind:"text",node:he,before:he.nodeValue,after:j}),he.nodeValue=j),l.afterNodeMorphed(he,ie)):I.add(ie),h.add(he),de.add(he),m.set(ie,he),oe=pe(he.nextSibling);continue}if(ie.nodeType===3&&oe&&oe.nodeType===3&&!h.has(oe)&&!xe.has(oe)){oe.nodeValue!==ie.nodeValue&&(a.push({kind:"text",node:oe,before:oe.nodeValue,after:ie.nodeValue}),oe.nodeValue=ie.nodeValue),h.add(oe),m.set(ie,oe),oe=pe(oe.nextSibling);continue}let E=s.get(ie),P=rt(E&&E.unchanged&&E.remote?E.remote:ie);if(l.beforeNodeAdded(P)===!1){I.add(ie);continue}T.insertBefore(P,oe),h.add(P),g&&y.set(ie,P),P.nodeType===3&&m.set(ie,P),P.nodeType===1&&(d.push(P),Ae(P,ie),n.customIdentity&&E&&E.unchanged&&E.remote&&B(P,E.remote),un(P)||lt(P,ie),r.formState==="property"&&ht(E)&&_(P,E.remote)),oe=pe(P.nextSibling),a.push({kind:"insert",node:P,parent:T}),l.afterNodeAdded(P)}for(let ie of Array.from(T.childNodes))h.has(ie)||de.has(ie)||ie.nodeType===1&&(r.ignored(ie)||yt(ie))||(se.has(ie)?f.push({node:ie,parent:T}):qe(ie,T))}function yt(T){return r.preserve&&T.parentNode&&T.parentNode.nodeType===1&&T.parentNode.tagName==="HEAD"&&r.preserve(T)===!0}function et(T){let re=s.get(T);return!re||!Array.isArray(re.local)?null:re.local.map(oe=>oe.nodeValue).join("")}function Oe(T){return s.get(T)}function _(T,re){if(!Ol.has(T.tagName)&&!T.querySelector("input,option,textarea"))return;let oe=(de,ie)=>{if(de.tagName!==ie.tagName)return;de.tagName==="TEXTAREA"?Ot(de,ie,{remote:ie}):Ol.has(de.tagName)&&wt(de,ie,{remote:ie});let he=fe(de),w=fe(ie);if(he.length===w.length)for(let E=0;E<he.length;E++)oe(he[E],w[E])};oe(T,re)}function B(T,re){let oe=fe(T),de=fe(re);if(oe.length===de.length)for(let ie=0;ie<oe.length;ie++){let he=n.remoteIdOf(de[ie]);he&&p.push([oe[ie],he]),B(oe[ie],de[ie])}}function fe(T){let re=T.tagName==="TEMPLATE"&&T.content?T.content:T;return Array.from(re.children).filter(oe=>!r.ignored(oe))}function Ae(T,re){if(!n.remoteIdOf)return;let oe=(de,ie)=>{let he=s.get(ie);if(he&&he.remote&&ie.nodeType===1){let P=n.remoteIdOf(he.remote);P&&p.push([de,P])}let w=de.childNodes,E=ie.childNodes;for(let P=0;P<w.length&&P<E.length;P++)oe(w[P],E[P])};oe(T,re)}function pe(T){for(;T&&T.nodeType===1&&r.ignored(T);)T=T.nextSibling;return T}function Qe(T,re,oe){if(typeof T.moveBefore=="function"&&re.ownerDocument===T.ownerDocument)try{T.moveBefore(re,oe);return}catch{}T.insertBefore(re,oe)}function qe(T,re){if(l.beforeNodeRemoved(T)===!1){g&&H.add(T);return}T.parentNode.removeChild(T),a.push({kind:"remove",node:T,parent:re}),l.afterNodeRemoved(T)}function rt(T){if(un(T))return Yr(T,o);let re=o.importNode(T,!0);if(re.nodeType===1)for(let oe of Array.from(re.querySelectorAll("script")))un(oe)&&oe.replaceWith(Yr(oe,o));return re}function lt(T,re){let oe=T.tagName==="TEMPLATE"&&T.content?T.content:T,de=re.tagName==="TEMPLATE"&&re.content?re.content:re,ie=Array.from(oe.childNodes),he=Array.from(de.childNodes);for(let w=0;w<he.length&&w<ie.length;w++){let E=he[w],P=ie[w],x=me.get(E);x&&h.has(x)&&(x=null);let A=s.get(E);if(A&&A.pinned){if(x&&x.nodeType===1){let j=x.parentNode;Qe(oe,x,P),j!==oe&&(u.push(x),a.push({kind:"move",el:x,from:j,to:oe})),h.add(x)}P.remove();continue}if(x){let j=x.parentNode;Qe(oe,x,P),P.remove(),x.nodeType===1?(j!==oe&&(u.push(x),a.push({kind:"move",el:x,from:j,to:oe})),Ve(x,E)):(h.add(x),m.set(E,x),x.nodeValue!==E.nodeValue&&(a.push({kind:"text",node:x,before:x.nodeValue,after:E.nodeValue}),x.nodeValue=E.nodeValue));continue}h.add(P),g&&y.set(E,P),P.nodeType===3&&m.set(E,P),A&&A.unchanged&&A.remote?(ee(P,A.remote),n.customIdentity&&B(P,A.remote)):E.nodeType===1&&!un(E)&<(P,E)}}function ee(T,re){let oe=T.tagName==="TEMPLATE"&&T.content?T.content:T,de=re.tagName==="TEMPLATE"&&re.content?re.content:re;for(let ie of Array.from(de.childNodes))oe.appendChild(rt(ie))}function ce(T,re){return re.namespaceURI?T.getAttributeNS(re.namespaceURI,re.localName):T.getAttribute(re.name)}function ge(T,re){let oe=new Set((re||"").split(Ks).filter(Boolean));return(T||"").split(Ks).filter(de=>de&&!oe.has(de))}function Ue(T,re,oe){for(let de of Array.from(re.attributes)){if(ke(T,de.name)||r.ignoreAttribute(T,de.name))continue;let ie=ce(T,de);if(ie===de.value||oe&&ce(oe,de)===de.value)continue;let he=de.value;if(oe&&de.name==="class"&&!de.namespaceURI){let w=de.value.split(Ks).filter(Boolean),E=ge(ie,oe.getAttribute("class")).filter(P=>!w.includes(P));E.length&&(he=[...w,...E].join(" "))}if(ie!==he){if(l.beforeAttributeUpdated(de.name,T,"update")===!1){g&&$(re,de.name);continue}de.namespaceURI?T.setAttributeNS(de.namespaceURI,de.name,he):T.setAttribute(de.name,he),a.push({kind:"attr",el:T,name:de.name,before:ie,after:he})}}for(let de of Array.from(T.attributes)){if(ke(T,de.name)||r.ignoreAttribute(T,de.name)||(de.namespaceURI?re.hasAttributeNS(de.namespaceURI,de.localName):re.hasAttribute(de.name)))continue;if(oe&&de.name==="class"&&!de.namespaceURI){let w=ge(de.value,oe.getAttribute("class"));if(w.length){let E=w.join(" ");if(E===de.value)continue;if(l.beforeAttributeUpdated("class",T,"update")===!1){g&&$(re,"class");continue}T.setAttribute("class",E),a.push({kind:"attr",el:T,name:"class",before:de.value,after:E});continue}}if(oe&&ce(oe,de)===null)continue;if(l.beforeAttributeUpdated(de.name,T,"remove")===!1){g&&$(re,de.name);continue}let he=de.value;de.namespaceURI?T.removeAttributeNS(de.namespaceURI,de.localName):T.removeAttribute(de.name),a.push({kind:"attr",el:T,name:de.name,before:he,after:null})}}function ke(T,re){let oe=T.tagName;return oe==="INPUT"?re==="value"||re==="checked"||re==="disabled":oe==="OPTION"?re==="selected":!1}function Je(T){return T===o.activeElement}function kt(T){let re=o.activeElement;return!!re&&re!==o.body&&T.contains(re)}function ht(T){let re=T&&T.remote;return re&&re.nodeType===1?re:null}function wt(T,re,oe){let de=T.tagName,ie=ht(oe),he=r.formState==="property"&&ie?ie:re;if(de==="INPUT"){let w=r.protectFocusedValue&&Je(T),E=(T.getAttribute("type")||"").toLowerCase(),P=E!=="file"&&E!=="checkbox"&&E!=="radio",x=ie&&ie.hasAttribute("value")&&ie.value!==ie.getAttribute("value")?ie.value:null;if(P&&!w)if(r.formState==="property"){let A=re.getAttribute("value"),j=T.getAttribute("value");(j!==A||T.value!==he.value)&&z("value",T,A==null?"remove":"update")!==!1&&(j!==A&&(A==null?T.removeAttribute("value"):T.setAttribute("value",A),a.push({kind:"attr",el:T,name:"value",before:j,after:A})),T.value!==he.value&&(T.value=he.value))}else if(re.hasAttribute("value")||x!=null){let A=x??re.getAttribute("value");T.getAttribute("value")!==A&&z("value",T,"update")!==!1?(T.setAttribute("value",A),T.value!==A&&(T.value=A),a.push({kind:"attr",el:T,name:"value",before:null,after:A})):T.value!==A&&T.getAttribute("value")===A&&(T.value=A)}else(T.hasAttribute("value")||T.value!=="")&&z("value",T,"remove")!==!1&&(T.removeAttribute("value"),T.value="",a.push({kind:"attr",el:T,name:"value",before:"",after:null}));if(!P&&E!=="file"){let A=re.getAttribute("value");A==null?T.hasAttribute("value")&&z("value",T,"remove")!==!1&&T.removeAttribute("value"):T.getAttribute("value")!==A&&z("value",T,"update")!==!1&&T.setAttribute("value",A)}w||(ze(T,he,"checked"),r.formState==="property"&&T.indeterminate!==he.indeterminate&&(T.indeterminate=he.indeterminate)),ze(T,he,"disabled")}else if(de==="OPTION"){let w=T.parentNode&&T.closest("select");r.protectFocusedValue&&w&&Je(w)||ze(T,he,"selected")}}function ze(T,re,oe){let de=r.formState==="property"?!!re[oe]:re.hasAttribute(oe);if(r.formState!=="property"){let ie=T.hasAttribute(oe);if(ie!==de){if(z(oe,T,de?"update":"remove")===!1)return;de?T.setAttribute(oe,""):T.removeAttribute(oe),a.push({kind:"attr",el:T,name:oe,before:ie?"":null,after:de?"":null})}}T[oe]!==de&&(T[oe]=de)}function Ot(T,re,oe){if(r.protectFocusedValue&&Je(T)||z("value",T,"update")===!1)return;let de=ht(oe),ie=re.textContent,he=de&&de.value!==de.defaultValue?de.value:ie;r.formState!=="property"&&T.textContent!==ie&&(a.push({kind:"text",node:T,before:T.textContent,after:ie}),T.textContent=ie),T.value!==he&&(T.value=he)}}function rf(e,t){let n=e.activeElement;if(!n||n===e.body||n===e.documentElement)return null;let r={el:n,id:n.getAttribute&&n.getAttribute("id"),scrollTop:n.scrollTop,scrollLeft:n.scrollLeft};if(n.tagName==="INPUT"||n.tagName==="TEXTAREA"){try{r.selection=[n.selectionStart,n.selectionEnd,n.selectionDirection]}catch{}return r}let o=e.getSelection&&e.getSelection();if(o&&o.rangeCount){let s=o.getRangeAt(0);r.range={sc:s.startContainer,so:s.startOffset,ec:s.endContainer,eo:s.endOffset}}return r}function of(e,t,n,r,o,s,i){if(!t)return;let l=t.el;if(!l.isConnected&&t.id&&(l=e.getElementById(t.id)),!l||!l.isConnected)return;if(e.activeElement!==l)try{l.focus({preventScroll:!0})}catch{}try{l.scrollTop=t.scrollTop,l.scrollLeft=t.scrollLeft}catch{}if(t.selection){try{l.setSelectionRange&&!l.selectionEnd&&t.selection[1]!=null&&l.setSelectionRange(t.selection[0],t.selection[1],t.selection[2]||"none")}catch{}return}if(!t.range)return;let a=(h,f)=>{let p=n.get(h);if(Array.isArray(p)){let b=p.find(y=>f>=y.from&&f<y.to)||p.find(y=>f===y.to)||p[p.length-1],v=s.get(b.merged);if(!v||!v.isConnected)return null;let m=r.get(b.merged),g=m&&m.flat?m.flat(b.flatStart+f):f;return[v,Math.max(0,Math.min(g,v.nodeValue.length))]}if(p&&!i.has(p.merged)){let b=(o.get(p.merged)||[h])[0];if(!b.isConnected)return null;let v=r.get(p.merged),m=p.shift+f,g=v?v(m):m;return[b,Math.max(0,Math.min(g,b.nodeValue.length))]}return h.isConnected?[h,Math.min(f,h.nodeType===3?h.nodeValue.length:h.childNodes.length)]:null},u=a(t.range.sc,t.range.so),d=a(t.range.ec,t.range.eo);if(!(!u||!d))try{let h=e.createRange();h.setStart(u[0],u[1]),h.setEnd(d[0],d[1]);let f=e.getSelection();f.removeAllRanges(),f.addRange(h)}catch{}}var sf={compared:0},lf=new Set(["INPUT","SELECT","OPTION","TEXTAREA"]);function af(e,t,n){let r=0;for(let o of e.attributes)if(!n(e,o.name)&&(r++,t.getAttribute(o.name)!==o.value))return!1;for(let o of t.attributes)n(t,o.name)||r--;return r===0}function Gs(e,t){if(e.namespaceURI!==t.namespaceURI||e.prefix!==t.prefix||e.localName!==t.localName)return!1;let n=e.attributes;if(n.length!==t.attributes.length)return!1;for(let r of n)if(t.getAttributeNS(r.namespaceURI,r.localName)!==r.value)return!1;return!0}function Cl(e,t,n,r,o,s,i,l){let a=new Map,u=new Set,d=h=>{if(r(h))return;let f=n(h);f&&(s.add(f),o.has(f)||a.has(f)?u.add(f):a.set(f,h))};for(let h of e)d(h);d(t);for(let h of i||t.querySelectorAll("*"))d(h);for(let h of u)a.delete(h),l.add(h);return a}function Ml(e,t,n,r,o,s){let i=!1;for(let d of o)d.startsWith("merge:")&&(i=!0);if(!i)return[...r];let l=new Map,a=[],u=s===bn?Jr:"*";for(let d of[e,...e.querySelectorAll(u)]){if(n(d))continue;let h=t(d);if(!h||!(r.has(h)||o.has(h)))continue;let f=(l.get(h)||0)+1;l.set(h,f),f===2&&a.push(h)}return a}function Rl({baseRoot:e,remoteRoot:t,liveRoot:n,toLive:r,o,identity:s,baseURI:i}){if(e.tagName!==t.tagName)return{bail:"root-tag"};if(e.getElementsByTagName("template").length||t.getElementsByTagName("template").length)return{bail:"script-or-template"};if(!af(e,t,o.ignoreAttribute))return{bail:"root-attrs"};let{ignored:l,remoteWins:a}=o,u=Ws(o.scripts.merge===!1?null:o.scripts.mergeTags,i),d=Oe=>{let _=u(Oe);return _!==null?_:s.base(Oe)||null},h=Oe=>{let _=u(Oe);return _!==null?_:s.remote(Oe)||null},f=[],p=[],b=new Map,v=new Map,m={same:b,differ:v},g=Oe=>({bail:Oe,comparisons:m}),y=(Oe,_,B=!0)=>{if(b.get(Oe)===_)return!0;if(v.get(Oe)===_)return!1;if(sf.compared++,B&&Oe.isEqualNode(_))return b.set(Oe,_),!0;let fe=Oe.nodeType===_.nodeType;if(fe&&Oe.nodeType===1){if(fe=Gs(Oe,_),fe){let Ae=Oe.firstChild,pe=_.firstChild;for(;Ae&&pe;Ae=Ae.nextSibling,pe=pe.nextSibling)if(!y(Ae,pe,!1)){fe=!1;break}(Ae||pe)&&(fe=!1)}}else fe&&(fe=Oe.isEqualNode(_));return(fe?b:v).set(Oe,_),fe},I=e,Y=t,$=!1,H=()=>{b.set(I,Y);for(let Oe=0;Oe<f.length;Oe++)b.set(f[Oe],p[Oe]);return g("equal")};for(;;){let Oe=I.childNodes,_=Y.childNodes;if(Oe.length!==_.length)break;let B=lt=>y(Oe[lt],_[lt])?(b.set(Oe[lt],_[lt]),!1):!0,fe=-1,Ae=-1;for(let lt=0;lt<Oe.length;lt++){if(Oe[lt].nodeType!==1)continue;let ee=0;for(let ce=Oe[lt].firstElementChild;ce;ce=ce.nextElementSibling)ee++;ee>=Ae&&(Ae=ee,fe=lt)}let pe=[],Qe=!1;for(let lt=0;lt<Oe.length&&pe.length<2;lt++)lt!==fe&&B(lt)&&pe.push(lt);if(fe>=0&&pe.length<2&&(pe.length===0&&Gs(I,Y)?(pe.push(fe),Qe=!0):B(fe)&&pe.push(fe)),pe.length!==1){if(!$&&pe.length===0&&Gs(I,Y))return H();break}let qe=Oe[pe[0]],rt=_[pe[0]];if($=$||!Qe,$&&v.set(qe,rt),qe.nodeType!==1||rt.nodeType!==1||qe.tagName!==rt.tagName)break;if(d(qe)!==h(rt)){if(!$&&y(qe,rt))return H();break}f.push(I),p.push(Y),I=qe,Y=rt}v.set(I,Y);for(let Oe=0;Oe<f.length;Oe++)v.set(f[Oe],p[Oe]);if(I===e||I.tagName==="HEAD"||I.tagName==="BODY")return g("root-level");if(f.length<2||f[1].tagName!=="BODY")return g("not-in-body");if(l(I)||l(Y))return g("ignored-ancestor");if(a(I)||a(Y))return g("remote-wins-ancestor");for(let Oe of f)if(lf.has(Oe.tagName))return g("form-ancestor");if(I.tagName==="SCRIPT"||I.getElementsByTagName("script").length||Y.getElementsByTagName("script").length)return g("script-or-template");let z=r(I);if(!z||z.nodeType!==1||z.tagName!==I.tagName)return g("no-live-twin");if(!n.contains(z))return g("live-detached");for(let Oe of f){let _=r(Oe);if(!_||_.nodeType!==1)return g("ancestor-live")}let ae=s.base===bn&&s.remote===bn&&l===Ts,me=new Set,Q=new Set,L=[],Ee=null,xe=Oe=>{Oe&&(me.has(Oe)?Q.add(Oe):me.add(Oe))},se=(Oe,_)=>{let B=u(Oe),fe=B!==null?B:s.base(Oe)||null;return fe!==(B!==null?B:s.remote(_)||null)?!1:(xe(fe),!0)},V=(Oe,_)=>{for(let B=Oe.firstElementChild,fe=_.firstElementChild;B;B=B.nextElementSibling,fe=fe.nextElementSibling){let Ae=l(B);if(Ae!==l(fe))return!1;if(!Ae&&(!se(B,fe)||!V(B,fe)))return!1}return!0},Se=Oe=>{let _=Oe+1<f.length?f[Oe+1]:I;for(let B=f[Oe].firstElementChild,fe=p[Oe].firstElementChild;B;B=B.nextElementSibling,fe=fe.nextElementSibling){if(B===_){let Qe=Oe+1<f.length?Se(Oe+1):null;if(Qe)return Qe;continue}let Ae=l(B);if(Ae!==l(fe))return"outside-id-changed";if(Ae)continue;let pe=r(B);if(!pe||pe.nodeType!==1)return"sibling-live";if(L.push([B,fe]),!ae&&(!se(B,fe)||!V(B,fe)))return"outside-id-changed";Oe===0&&B.tagName==="HEAD"&&d(B)&&(Ee=[B,fe])}return null},ve=Se(0);if(ve)return g(ve);let Me=new Set(f),He=null;if(s.base===bn){He=[];for(let Oe of e.querySelectorAll(Jr))Oe===I||Me.has(Oe)||(I.contains(Oe)?He.push(Oe):ae&&xe(d(Oe)))}let Ve=new Set,it=new Set,le=new Set,yt=Cl(f,I,d,l,me,Ve,He,it),et=Cl(p,Y,h,l,me,Ve,s.remote===bn&&Y.querySelectorAll(Jr),le);return Ee&&(Q.has(d(Ee[0]))||Ve.has(d(Ee[0])))&&(Ee=null),{scope:{chain:f,root:I,onChain:Me,baseIndex:yt,remoteIndex:et,head:Ee,same:b,differ:v,dropped:[...Ml(e,d,l,Q,it,s.base),...Ml(t,h,l,Q,le,s.remote)],held:Oe=>{for(let _=1;_<f.length;_++)if(Oe.map.get(f[_])!==p[_])return!1;for(let[_,B]of L)if(Oe.map.get(_)!==B)return!1;return!0}}}}var jp=Symbol("hyper-morph-duplicate-key");var cf='[editor-ui],[clay~="editor-ui"],[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]',uf='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',ff='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function df(e){if(e.tagName!=="LINK"&&e.tagName!=="SCRIPT")return!1;let t=e.getAttribute("src")||e.getAttribute("href")||"";return/^(chrome|moz|safari-web)-extension:/.test(t)}function hf(e,t,n,r){if(t==null)return;if(typeof t=="string")return t;let o=t;if(o.nodeType===9){let s=e.getAttribute("id");o=s&&o.getElementById(s)||(e.tagName==="BODY"?o.body:e.tagName==="HTML"?o.documentElement:o.body&&o.body.firstElementChild)}if((!o||o.nodeType!==1||o.tagName!==e.tagName)&&(o=mf(e,t,r)),!!o)return n?Array.from(o.childNodes):o}function mf(e,t,n){let r=t.nodeType===9?t.documentElement:t;if(!r||r.nodeType!==1)return null;let o=new Map,s=[r,...r.querySelectorAll("script")];for(let a of s){let u=vr(a,n);u&&!o.has(u.key)&&o.set(u.key,a.textContent)}if(!o.size)return null;let i=e.cloneNode(!0),l=!1;for(let a of[i,...i.querySelectorAll("script")]){let u=vr(a,n);u&&o.has(u.key)&&(a.textContent=o.get(u.key),l=!0)}return l?i:null}function Ll(e,t){if(typeof e=="string"||e.nodeType===9)return e;if(e.nodeType===1&&e===e.ownerDocument.documentElement)return e.ownerDocument;let n=t.implementation.createHTMLDocument(""),r=e.nodeType===1&&e.tagName==="HTML"?e:null;if(r)return n.replaceChild(n.adoptNode(r),n.documentElement),n;let o=e.nodeType===11?Array.from(e.childNodes):e.nodeType?[e]:Array.from(e);for(let s of o)n.body.appendChild(n.adoptNode(s));return n}function Kn(e,t,n={}){let r=n||{};if(!r.head?.block)return Il(e,t,r);try{return Il(e,t,r)}catch(o){return Promise.reject(o)}}function Il(e,t,n){let r=n.policy||"sync",o=r==="raw"?void 0:(a,u)=>df(a)||(r==="history"?!(u&&a.matches(ff))&&a.matches(uf):a.matches(cf)),s=n.callbacks||{},i={ignore:o,hooks:s,protectFocusedValue:n.ignoreActiveValue===!0?"subtree":!1,restoreFocus:n.restoreFocus!==!1,formState:n.formStateSync||"attribute",scripts:{execute:n.scripts?.handle!==!1,merge:n.scripts?.merge!==!1,mergeTags:n.scripts?.mergeTags||[]},head:{awaitLoads:!!n.head?.block,preserve:n.head?.shouldPreserve||(()=>!1)}};if(typeof n.key=="function"&&(i.identity={base:n.key,local:n.key,remote:n.key}),e&&e.nodeType===9)return Zr(Object.assign({},i,{live:e,base:n.scripts?.mergeBase||null,remote:Ll(t,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let a=Object.assign({},i,{live:e.ownerDocument,base:n.scripts?.mergeBase||null,remote:Ll(t,e.ownerDocument)});return Zr(a)}n.morphStyle==="innerHTML"&&(i.children=!0);let l=hf(e,n.scripts?.mergeBase,!!i.children,i.scripts.mergeTags);return l!==void 0&&(i.base=l),Ys(e,t,i)}var pf=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply","fastPath","keepLiveOnly"]),wn=()=>{};function Qr(e,t=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let i of Object.keys(e))if(!pf.has(i))throw new TypeError(`unknown option "${i}"`);let n=Object.assign({beforeNodeAdded:wn,afterNodeAdded:wn,beforeNodeRemoved:wn,afterNodeRemoved:wn,beforeNodeMorphed:wn,afterNodeMorphed:wn,beforeAttributeUpdated:wn},e.hooks||{}),r=e.conflicts||"remote";if(!["remote","local","both"].includes(r))throw new TypeError("conflicts must be remote, local or both");let o=e.formState||"attribute";if(!["attribute","property"].includes(o))throw new TypeError("formState must be attribute or property");let s=e.protectFocusedValue;if(s!==void 0&&typeof s!="boolean"&&s!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');if(e.fastPath!==void 0&&typeof e.fastPath!="boolean")throw new TypeError("fastPath must be a boolean");if(e.keepLiveOnly!==void 0&&typeof e.keepLiveOnly!="boolean")throw new TypeError("keepLiveOnly must be a boolean");return{ignored:Es(e.ignore,t),remoteWins:Es(e.remoteWins,t),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:r,protectFocusedValue:s===void 0?!0:s,restoreFocus:e.restoreFocus!==!1,head:Object.assign({awaitLoads:!1,preserve:()=>!1},e.head||{}),scripts:Object.assign({execute:!0,merge:!0,mergeTags:[]},e.scripts||{}),formState:o,hooks:n,children:!!e.children,beforeApply:typeof e.beforeApply=="function"?e.beforeApply:null,fastPath:e.fastPath===!0,keepLiveOnly:e.keepLiveOnly===!0}}function Ar(e){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){if(typeof e.first=="function")return e.first;if(typeof e.then=="function")return e.then}return bn}function Sr(e,t){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let n=_s(t,e.map),r=typeof e.then=="function"?e.then:bn;if(typeof e.first=="function"){let o=e.first;return s=>o(s)||n.get(s)||r(s)}return o=>n.get(o)||r(o)}return bn}function gf(e,t,n,r={}){let o=p=>p&&p.nodeType===9?p.documentElement:p,s=o(t),i=o(n),l=o(e)||s,a=Object.assign({},r);delete a.live,delete a.base,delete a.remote;let u=Qr(a,[l,s,i].filter(Boolean)),d=r.identity||{},h=Un(),f=Io(l,s,i,{identity:{base:Sr(d.base,l),local:Sr(d.local,s),remote:Sr(d.remote,i)},authored:{base:Ar(d.base),local:Ar(d.local),remote:Ar(d.remote)},skipUnchanged:u.hooks.beforeNodeMorphed===wn&&u.hooks.afterNodeMorphed===wn,ignored:u.ignored,remoteWins:u.remoteWins,ignoreAttribute:u.ignoreAttribute,conflicts:u.conflicts,mergeTags:u.scripts.merge===!1?null:u.scripts.mergeTags,baseURI:s.ownerDocument&&s.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===t,childrenOnly:u.children,stats:h});return delete f.recoveryLinks,f}function Xs({liveRoot:e,baseRoot:t,localRoot:n,remoteRoot:r,toLive:o,options:s,identity:i,childrenOnly:l,isDocument:a}){let u=Qr(s,[e,t,n,r].filter(Boolean));if(u.ignored(e))return{report:Js(),loads:[]};let d=e.ownerDocument,h=u.scripts.execute?fl(e,u.ignored,d.baseURI):null,f=Un(),p=u.hooks.beforeNodeMorphed===wn&&u.hooks.afterNodeMorphed===wn,b={identity:{base:Sr(i.base,t||n),local:Sr(i.local,n),remote:Sr(i.remote,r)},authored:{base:Ar(i.base),local:Ar(i.local),remote:Ar(i.remote)},ignored:u.ignored,remoteWins:u.remoteWins,ignoreAttribute:u.ignoreAttribute,conflicts:u.conflicts,mergeTags:u.scripts.merge===!1?null:u.scripts.mergeTags,baseURI:d.baseURI,localIsBase:!t,childrenOnly:l,skipUnchanged:p},v=u.fastPath&&a&&!l&&p&&t===n,m=null,g=null;if(v){let xe=Rl({baseRoot:t,remoteRoot:r,liveRoot:e,toLive:o,o:u,identity:b.identity,baseURI:d.baseURI});b.comparisons=xe.comparisons||xe.scope,xe.bail?g=xe.bail:(m=Io(t,n,r,Object.assign({},b,{stats:f,scope:xe.scope})),m||(g="chain-unpaired",f=Un()))}m||(m=Io(t||n,n,r,Object.assign({},b,{stats:f}))),v&&(f.fastPathAttempted=1,f.fastPathTaken=g?0:1,f.fastPathFallback=g),m.recoveryLinks&&["beforeNodeMorphed","beforeNodeAdded","beforeNodeRemoved","beforeAttributeUpdated"].some(xe=>u.hooks[xe]!==wn)&&vl(m.conflicts,m.recoveryLinks,o),u.beforeApply&&u.beforeApply(m.doc);let y=globalThis.__hyperMorphProfile,I=y?performance.now():0,Y=Nl(e,m.root,m,{toLive:o,ignored:u.ignored,ignoreAttribute:u.ignoreAttribute,formState:u.formState,protectFocusedValue:u.protectFocusedValue,restoreFocus:u.restoreFocus,preserve:u.head.preserve,hooks:u.hooks,childrenOnly:l,keepLiveOnly:u.keepLiveOnly});y&&(y.apply=(y.apply||0)+(performance.now()-I));let $=[];if(u.head.awaitLoads)for(let xe of Y.applied){if(xe.kind!=="insert"||xe.node.nodeType!==1)continue;let se=xe.node;se.tagName==="LINK"&&/\bstylesheet\b/i.test(se.getAttribute("rel")||"")&&se.getAttribute("href")&&se.closest("head")&&$.push(new Promise(Se=>{se.addEventListener("load",()=>Se()),se.addEventListener("error",()=>Se())}))}let H=null,z=null;if(h){let xe=dl(e,h,{ignored:u.ignored,skip:Y.mergedScriptsLive,baseURI:d.baseURI,beforeNodeAdded:u.hooks.beforeNodeAdded,afterNodeAdded:u.hooks.afterNodeAdded,trackRecovery:!!m.recoveryLinks});$.push(...xe.loads),H=xe.swapped,z=xe.vetoed}let ae=xe=>H&&H.get(xe)||xe,me=xe=>{if(Y.keptRuns.has(xe))return Y.runOf.get(xe);let se=Y.liveOf.get(xe)||Y.heldBy.get(xe)||Y.insertedLive.get(xe);return se?ae(se):null},Q=xe=>{let se=xe&&Y.liveOf.get(xe);return se?ae(se):null},L=xe=>{let se=xe&&me(xe);return Array.isArray(se)?se[0]:se};if(m.recoveryLinks){let xe=(se,V,Se)=>(V.namespaceURI?se.getAttributeNS(V.namespaceURI,V.localName):se.getAttribute(V.qualifiedName))===Se;Sl(m.conflicts,m.recoveryLinks,{lookup:me,vetoed:Y.vetoed,vetoedAttrs:Y.vetoedAttrs,removedVetoes:Y.removedVetoes,vetoedLive:z,liveAttr:xe,ignored:u.ignored,liveRoot:e})}return{report:{applied:Y.applied,decisions:m.decisions.map(xe=>Object.assign({},xe,{node:xe.node?Q(xe.node):null,el:xe.el?Q(xe.el):null,applied:!!(xe.node?Q(xe.node):xe.el&&Q(xe.el))})),conflicts:m.conflicts.map(xe=>Object.assign({},xe,{node:xe.node?xe.kind==="text"&&xe.recovery.subject.nodeType===8?L(xe.node):Q(xe.node):xe.node,el:xe.el?xe.kind==="structure"?L(xe.el):Q(xe.el):xe.el})),localDiverged:m.localDiverged,identities:Y.identities,moved:Y.moved,replaced:Y.replaced,stats:f},loads:$}}var jl=new WeakMap;function Js(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[],stats:Un()}}function Zr(e){let t=e||{},n=t.live;if(!n||n.nodeType!==9)throw new TypeError("live must be a Document");let r=jl.get(n);r||(r=Ss(n),jl.set(n,r));let o=r("remote",t.remote),s=typeof t.base=="string"&&t.base===""?null:t.base,i=s?r("base",s):null,l=t.local?t.local.root:n.documentElement,a=t.local?t.local.toLive:h=>h;Xi(n,o);let{report:u,loads:d}=Xs({liveRoot:n.documentElement,baseRoot:i?i.documentElement:null,localRoot:l,remoteRoot:o.documentElement,toLive:a,options:t,identity:t.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(d).then(()=>u)}function bf(e,t,n={}){return Zr(Object.assign({},n,{live:e,base:null,remote:t}))}function Pl(e,t){if(e==null)return{root:t.createElement("template"),first:null};if(typeof e=="string"){let r=/^\s*(?:<!--[\s\S]*?-->\s*)*(?:<!doctype[^>]*>\s*)?<(html|body)[\s>]/i.exec(e);if(r){let s=Eo(e,t),i=r[1].toLowerCase()==="html"?s.documentElement:s.body;return{root:i,first:i}}let o=t.createElement("template");return o.innerHTML=e,{root:o,first:o.content.firstElementChild}}if(e.nodeType===9)return{root:e.documentElement,first:e.documentElement};if(e.nodeType===1){let r=t.createElement("template"),o=e.isConnected;return r.content.appendChild(o?t.importNode(e,!0):e),{root:r,first:e}}if(e.nodeType===11){let r=t.createElement("template");return r.content.appendChild(e),{root:r,first:r.content.firstElementChild}}let n=t.createElement("template");for(let r of Array.from(e))n.content.appendChild(r.parentNode?t.importNode(r,!0):r);return{root:n,first:n.content.firstElementChild}}function Ys(e,t,n={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let r=e.ownerDocument,{base:o,...s}=n,i=!!s.children;if(Qr(s,[e]).ignored(e))return Promise.resolve(Js());let l=Pl(t,r),a=o!=null?Pl(o,r):null,u,d=null;if(i)u=l.root,d=a?a.root:null;else{if(u=l.first,d=a?a.first:null,!u){let p=Qr(s);return p.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),p.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e],stats:Un()})}if(u.tagName!==e.tagName){let p=Qr(s,[e,u]);if(p.hooks.beforeNodeMorphed(e,u)===!1)return Promise.resolve(Js());let b=Xs({liveRoot:e,baseRoot:d&&d.tagName===e.tagName?d:null,localRoot:e,remoteRoot:u,toLive:m=>m,options:s,identity:s.identity||{},childrenOnly:!0,isDocument:!1}),v=un(u)?Yr(u,r):r.importNode(u,!1);if(!un(v))for(;e.firstChild;)v.appendChild(e.firstChild);return p.hooks.beforeNodeAdded(v)===!1?(Lo(b.report.conflicts,e,e),Promise.resolve(b.report)):p.hooks.beforeNodeRemoved(e)===!1?(Lo(b.report.conflicts,e,e),Promise.resolve(b.report)):(e.replaceWith(v),Lo(b.report.conflicts,e,v),p.hooks.afterNodeRemoved(e),p.hooks.afterNodeAdded(v),p.hooks.afterNodeMorphed(e,u),b.report.replaced.push(v),b.report.applied.push({kind:"insert",node:v,parent:v.parentNode},{kind:"remove",node:e,parent:v.parentNode}),Promise.all(b.loads).then(()=>b.report))}}let{report:h,loads:f}=Xs({liveRoot:e,baseRoot:d,localRoot:e,remoteRoot:u,toLive:p=>p,options:s,identity:s.identity||{},childrenOnly:i,isDocument:!1});return Promise.all(f).then(()=>h)}var Zs={mergeDocument:Zr,morphDocument:bf,morphElement:Ys,merge3:gf,morph:Kn};var jo=["textContent","innerText","innerHTML","outerHTML","value","checked","selected","disabled","readOnly","type","tagName","nodeName","nodeType","nodeValue","childElementCount","id","className","classList","baseURI","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","dataset","currentSrc","duration","paused","title","documentURI","contentType"],Qs=new Set(jo),Dl=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),eo=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var Do={};As(Do,{EmptyListInsert:()=>no,MAX_RULE_DEPTH:()=>_r,MaxRuleDepthExceeded:()=>ar,NoRulesTag:()=>ei,RuleTargetReadOnly:()=>ro,RulesParseError:()=>Tr,ShapeMismatch:()=>to,UnknownRulesVersion:()=>Er,WriteRefused:()=>Po,WriteRejected:()=>ti});var Tr=class extends Error{constructor(t,n){super(t),this.name="RulesParseError",this.cause=n}},Er=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},_r=20,ar=class extends Error{constructor(t){super(`rule depth exceeded ${_r} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},to=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},no=class extends Error{constructor(t){super(`cannot add items to empty list at "${t.join(".")}" \u2014 no sibling to clone as template. Seed the list with a hidden item first.`),this.name="EmptyListInsert",this.path=t}},ro=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},Po=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}},ei=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},ti=class extends Error{constructor(t,n){super(`write rejected: ${t.length} unknown key(s), ${n.length} rule(s) with no matching element`),this.name="WriteRejected",this.unknownKeys=t,this.unmatched=n}};function Gn(e,t,n,r={}){if(Object.prototype.hasOwnProperty.call(r,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");return ni(e,t,n,{depth:0,path:[]},r)}function ni(e,t,n,r,o){if(r.depth>_r)throw new ar(r.path);if(typeof n=="string")return wf(e,t,n,r,o);if(Array.isArray(n)){let[s,i]=n,l=e.find(t,s,o);return ql(o,r,l),l.map((a,u)=>ni(e,a,i,{depth:r.depth+1,path:[...r.path,u]},o))}if(typeof n=="object"&&n!==null){let s={};for(let[i,l]of Object.entries(n))s[i]=ni(e,t,l,{depth:r.depth+1,path:[...r.path,i]},o);return s}return null}function wf(e,t,n,r,o){if(n.endsWith("[]")){let l=n.slice(0,-2),a=e.find(t,l,o);return ql(o,r,a),a.map(u=>e.text(u))}if(n.startsWith("@"))return Fl(e,t,n.slice(1));let s=Vt(n);if(s!==-1){let l=n.slice(0,s),a=n.slice(s+1),u=l?e.find(t,l,o):[t];return u.length===0?null:Fl(e,u[0],a)}if(n===".")return e.text(t);let i=e.find(t,n,o);return i.length===0?null:e.text(i[0])}function ql(e,t,n){if(typeof e.onRowsRead=="function")try{e.onRowsRead(t.path.slice(),n)}catch(r){console.warn(`[hyper-html-api] onRowsRead threw at "${t.path.join(".")||"(root)"}"`,r)}}function Fl(e,t,n){if(Qs.has(n)){let o=e.prop(t,n);return o==null?null:String(o)}let r=e.attr(t,n);return r||null}var Bl=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Af=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),Hl=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ri(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function Sf(e,t){if(ri(e,t))return!0;for(let[n,r]of Object.entries(Af))if(r.includes(t)&&ri(e,n))return!0;return!1}function oo(e){let t=Bl[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function Tf(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=Bl[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Sf(n,o))||r.bundles.some(o=>ri(n,o)))return n;n=n.parentElement}return null}function $l(e,t){return!!Tf(e,t)}var Ef=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Ul(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function zl(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function Vl(e,t,n,r,o,s,i,l){if(e.nodeType===1&&((i?$l(e,n):zl(e,r,s,!1))||o&&(i&&e!==s?e.matches(o):zl(e,o,s,i))))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;u!==e&&(l.cloneToLive.set(d,u),l.liveToClone.set(u,d));for(let h of u.childNodes||[]){let f=Vl(h,t,n,r,o,s,i,l);f&&(d.appendChild(f),h.nodeType===1&&Ul(h,f))}return e.nodeType===1&&Ul(e,a),a}function so(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),i=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&s.documentElement.matches(n);let u=oo(t),d=Vl(a,s,t,u,n,a,r,{cloneToLive:i,liveToClone:l});e.nodeType===9&&d&&(s.replaceChild(d,s.documentElement),l.set(e,s),i.set(s,e));let h=f=>{if(Ef.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:s,capability:t,selector:oo(t),cloneToLive:i,liveToClone:l,original(f){return i.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,p=d){return h(f),Array.from(p.querySelectorAll(f),b=>i.get(b)||b)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let p=f===d?d:l.get(f);return p?s.importNode(p,!0):null}}}function Wl(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function _f(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Xt={semanticExclude:!0,find(e,t,n={}){let r=_f(e);if(!r||!r.querySelectorAll)return[];let o=Array.from(r.querySelectorAll(t));n.includeRulesTag||(o=o.filter(l=>!Wl(l)));let s=[];n.skip&&s.push(n.skip);let i=n.templateAttr===null?null:n.templateAttr||"cms-template";if(i&&s.push("["+i+"]"),s.length){let l=s.join(", ");o=o.filter(a=>!a.closest||!a.closest(l))}return o},parent(e){return e?e.parentElement:null},children(e){return e?Array.from(e.children):[]},text(e,t){if(t===void 0)return(e.textContent||"").trim();e.textContent=t},attr(e,t,n){if(n===void 0)return e.hasAttribute&&e.hasAttribute(t)?e.getAttribute(t):null;e.setAttribute(t,n)},removeAttr(e,t){e&&e.removeAttribute&&e.removeAttribute(t)},prop(e,t,n){if(n===void 0){let r=e?e[t]:void 0;return r!==void 0?r:null}e[t]=n},clone(e){return e.cloneNode(!0)},insertAt(e,t,n){let r=e.children[n]||null;e.insertBefore(t,r)},remove(e){e&&e.parentNode&&e.parentNode.removeChild(e)},replaceWith(e,t){if(!e||!e.parentNode)throw new Error("dom.replaceWith: node has no parent");let r=e.ownerDocument.createElement("template");r.innerHTML=t;let o=r.content.firstElementChild;if(!o)throw new Error("dom.replaceWith: html did not parse to an element");return e.parentNode.replaceChild(o,e),o},stripIds(e){let t=0;return e.id&&(e.removeAttribute("id"),t++),(e.querySelectorAll?e.querySelectorAll("[id]"):[]).forEach(r=>{r.removeAttribute("id"),t++}),t},sameNode(e,t){return e===t}};function jn(e,t={}){if(t.exclude===null)return Xt;let n=[oo("data"),t.exclude].filter(Boolean).join(", "),r=e.nodeType===9?e:e.ownerDocument||e,o=e.nodeType===9?e.documentElement:e;if(!t._write&&!o?.matches?.(n)&&!o?.querySelector?.(n)&&!r?.querySelector?.(n))return Xt;let s=e.nodeType===9||!e.isConnected?e:e.ownerDocument,i=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=so(s,{capability:"data",exclude:t.exclude||null})),u=b=>{let v=a();return b===e?v.cloneOf(e):v.cloneOf(b)||b},d=b=>l?.original(b)||b,h=(b,v)=>{a().liveToClone.set(b,v),a().cloneToLive.set(v,b);let m=b.childNodes||[],g=v.childNodes||[];for(let y=0;y<Math.min(m.length,g.length);y++)h(m[y],g[y])},f=(b,v,m,g)=>{let y=Array.from(b.childNodes).filter(z=>l.cloneOf(z)),Y=y[0];for(;Y&&y.includes(Y);)Y=Y.nextSibling;for(let z of y)z.remove();if(m==="innerHTML"){let z=i.createElement("template");z.innerHTML=g;for(let ae of Array.from(z.content.childNodes))b.insertBefore(ae,Y||null)}else b.insertBefore(i.createTextNode(g),Y||null);let $=so(b,{capability:"data",exclude:t.exclude||null});v.replaceChildren(...Array.from($.root?.childNodes||[]));let H=z=>{let ae=$.original(z);ae&&(l.liveToClone.set(ae,z),l.cloneToLive.set(z,ae));for(let me of Array.from(z.childNodes||[]))H(me)};for(let z of Array.from(v.childNodes))H(z)},p={...Xt,find(b,v,m={}){let g=u(b);if(!g?.querySelectorAll)return[];let y=a().query(v,g);m.includeRulesTag||(y=y.filter($=>!Wl($)));let I=[];m.skip&&I.push(m.skip);let Y=m.templateAttr===null?null:m.templateAttr||"cms-template";if(Y&&I.push(`[${Y}]`),I.length){let $=I.join(", ");y=y.filter(H=>!H.closest?.($))}return y},parent(b){let v=u(b)?.parentElement;return v?d(v):null},children(b){return Array.from(u(b)?.children||[],d)},text(b,v){if(v===void 0){let y=d(b);return!y?.matches?.(n)&&!y?.querySelector?.(n)?Xt.text(y):(u(b)?.textContent||"").trim()}let m=d(b);if(!m?.matches?.(n)&&!m?.querySelector?.(n)&&!l){Xt.text(m,v);return}let g=a().cloneOf(m);g?f(m,g,"textContent",v):Xt.text(m,v)},attr(b,v,m){let g=d(b);if(m===void 0)return Xt.attr(g,v);Xt.attr(g,v,m);let y=l?.cloneOf(g);y&&(Xt.attr(y,v,m),so(g,{capability:"data",exclude:t.exclude||null}).root===null&&(y.remove(),l.liveToClone.delete(g),l.cloneToLive.delete(y)))},removeAttr(b,v){let m=d(b);Xt.removeAttr(m,v);let g=l?.cloneOf(m);g&&Xt.removeAttr(g,v)},prop(b,v,m){let g=d(b);if(m===void 0)return v==="innerHTML"||v==="outerHTML"||v==="textContent"||v==="innerText"?Xt.prop(u(g),v):Xt.prop(g,v);let y=v==="innerHTML"||v==="textContent"||v==="innerText",I=y?a().cloneOf(g):l?.cloneOf(g);I&&y?f(g,I,v,m):(Xt.prop(g,v,m),I&&Xt.prop(I,v,m))},clone(b){let v=u(b);return v===b?Xt.clone(b):i.importNode(v,!0)},insertAt(b,v,m){let g=d(b),I=p.children(g)[m]||(()=>{for(let H=g.children.length-1;H>=0;H--){let z=g.children[H];if(a().cloneOf(z))return z.nextElementSibling}return g.firstElementChild})(),Y=d(v);g.insertBefore(Y,I||null);let $=a().cloneOf(g);if($){let H=a().cloneOf(Y);H||(H=i.importNode(Y,!0),h(Y,H));let z=Array.from($.children);$.insertBefore(H,z[m]||null)}},remove(b){let v=d(b),m=a().cloneOf(v);Xt.remove(v),m&&Xt.remove(m)},replaceWith(b,v){let m=d(b),g=a().cloneOf(m),y=Xt.replaceWith(m,v);if(g){let I=so(y,{capability:"data",exclude:t.exclude||null});if(!I.root)g.remove();else{g.replaceWith(I.root);let Y=$=>{let H=I.original($);H&&(l.liveToClone.set(H,$),l.cloneToLive.set($,H));for(let z of Array.from($.childNodes||[]))Y(z)};Y(I.root)}}return y}};return p}var Or=Xt;function oi(e){try{return JSON.parse(e)}catch(t){throw new Tr(`Invalid strict JSON: ${t.message}`,t)}}function Nr(e){try{return JSON.parse(e)}catch{}let t={BRACE_OPEN:"{",BRACE_CLOSE:"}",BRACKET_OPEN:"[",BRACKET_CLOSE:"]",COLON:":",COMMA:",",STRING:"STRING",SELECTOR:"SELECTOR",IDENTIFIER:"IDENTIFIER",NUMBER:"NUMBER",BOOLEAN:"BOOLEAN"};function n(o){let s=[],i=0;for(;i<o.length;){let l=o[i];if(/\s/.test(l)){i++;continue}if("{}".includes(l)){s.push({type:l,value:l}),i++;continue}if(l==="["){let h=!1,f=i+1;for(;f<o.length&&/\s/.test(o[f]);)f++;if(f<o.length&&/[a-zA-Z_]/.test(o[f])&&(h=!0),!h){s.push({type:l,value:l}),i++;continue}}if(l==="]"){s.push({type:l,value:l}),i++;continue}if(l===":"){s.push({type:t.COLON,value:l}),i++;continue}if(l===","){s.push({type:t.COMMA,value:l}),i++;continue}if(l==='"'||l==="'"){let h=l,f=i+1;for(;f<o.length&&o[f]!==h;)o[f]==="\\"&&f++,f++;s.push({type:t.STRING,value:o.substring(i+1,f),quoted:!0,sourceQuote:h}),i=f+1;continue}let a=i,u;for(;a<o.length&&!/[{},]/.test(o[a]);)if(o[a]===":"){let h=[":first",":last",":nth-child",":nth-of-type",":first-child",":last-child",":first-of-type",":last-of-type",":only-child",":only-of-type",":hover",":focus",":active",":visited",":disabled",":enabled",":checked",":empty",":root",":target",":not",":before",":after",":nth-last-child",":nth-last-of-type"],f=!1;for(let p of h){let b=p.substring(1);if(o.substring(a+1,a+1+b.length)===b){f=!0,a+=b.length;break}}if(!f)break}else if(o[a]==="["){for(a++;a<o.length&&o[a]!=="]";){if(o[a]==='"'||o[a]==="'"){let h=o[a];for(a++;a<o.length&&o[a]!==h;)o[a]==="\\"&&a++,a++}a++}a<o.length&&o[a]==="]"&&a++}else a++;u=o.substring(i,a);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(u)?d=t.NUMBER:u==="true"||u==="false"||u==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(u)&&(d=t.SELECTOR),s.push({type:d,value:u,quoted:!1}),i=a}return s}function r(o){let s="";for(let i=0;i<o.length;i++){let l=o[i];if("{}".includes(l.type)||"[]".includes(l.type)){s+=l.value;continue}if(l.type===t.COLON){s+=l.value;continue}if(l.type===t.COMMA){let a=o[i+1];if(a&&(a.type==="}"||a.type==="]"))continue;s+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(u,d)=>d.length%2===0?d+'\\"':u)),s+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){s+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){s+=`"${l.value}"`;continue}s+=`"${l.value}"`}return s}try{let o=n(e),s=r(o);return JSON.parse(s)}catch(o){throw new Tr("Invalid extraction rules syntax: "+o.message,o)}}var Gl="1",Kl=/^[a-zA-Z0-9_-]+$/;function io(e,t,n){let r;if(n===void 0)r="script[data-rules-name]";else{if(typeof n!="string"||!Kl.test(n))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(n)} (must match ${Kl})`);r=`script[data-rules-name~="${n}"]`}let o=e.find(t,r,{includeRulesTag:!0});if(o.length===0)return null;n!==void 0&&o.length>1&&console.warn(`hyper-html-api: ${o.length} rules tags match data-rules-name~="${n}"; using the first.`);let s=o[0],i=e.attr(s,"data-rules-version");if(i!==Gl)throw new Er(i);return{rules:Nr(e.text(s)),tagNode:s}}var zg=new Function("url","return import(url)");function ea(e,t,n,r){let o=e.length,s=t.length,i=new Array(o).fill(-1);if(r){let m=new Set;for(let g=0;g<o;g++){let y=r[g];!(y>=0&&y<s)||m.has(y)||(i[g]=y,m.add(y))}}if(o===0||s===0)return i;let l=e.map(m=>Zl(m,n)),a=t.map(m=>Zl(m,n)),u=new Array(s).fill(!1);for(let m of i)m>=0&&(u[m]=!0);let d=new Map;a.forEach((m,g)=>{u[g]||d.set(m,d.has(m)?-1:g)});let h=new Map;l.forEach((m,g)=>{i[g]>=0||h.set(m,(h.get(m)||0)+1)}),l.forEach((m,g)=>{if(i[g]>=0||h.get(m)!==1)return;let y=d.get(m);y===void 0||y===-1||u[y]||(i[g]=y,u[y]=!0)});let f=[];for(let m=0;m<o;m++)i[m]<0&&f.push(m);let p=[];for(let m=0;m<s;m++)u[m]||p.push(m);if(f.length===0||p.length===0)return i;let b=o*s+1,v=(m,g)=>Nf(e[m],t[g],n)*b+Math.abs(m-g);for(let[m,g]of Cf(f,p,v))i[m]=g;return i}var ta=e=>typeof e=="object"&&e!==null;function Zl(e,t){if(!ta(t))return e==null?" null":String(e);let n=Object.keys(t);return JSON.stringify(n.map(r=>{let o=JSON.stringify(e?.[r]);return o===void 0?" undef":o}))}function Nf(e,t,n){if(!ta(n))return e===t?0:1;let r=Object.keys(n);if(r.length===0)return 0;let o=0;for(let s of r){let i=JSON.stringify(e?.[s]),l=JSON.stringify(t?.[s]);i!==l&&o++}return o}function Cf(e,t,n){return e.length<=t.length?Ql(e,t,n,!1):Ql(t,e,(r,o)=>n(o,r),!0)}function Ql(e,t,n,r){let o=e.length,s=t.length,i=[];for(let h=0;h<=o;h++)i.push(new Float64Array(s+1).fill(1/0));let l=[];for(let h=0;h<=o;h++)l.push(new Uint8Array(s+1));for(let h=0;h<=s;h++)i[o][h]=0;for(let h=o-1;h>=0;h--)for(let f=s-1;f>=0;f--){let p=n(e[h],t[f])+i[h+1][f+1],b=i[h][f+1];p<=b?(i[h][f]=p,l[h][f]=1):i[h][f]=b}let a=[],u=0,d=0;for(;u<o&&d<s;)l[u][d]&&(a.push(r?[t[d],e[u]]:[e[u],t[d]]),u++),d++;return a}function ii(e,t,n,r,o,s,i,l={}){let a=e.find(t,n,l);if(o.length===0){a.forEach($=>e.remove($)),si(l,"onRowsApplied",s.path,[]);return}let u=o.length>a.length,d=a[0]||null;if(u&&!d&&(d=If(e,t,n,l),!d))throw new no(s.path);let h=a.map($=>Lf(e,$,r,l)),f=null;if(u&&d){f=e.clone(d),l.templateAttr&&e.removeAttr(f,l.templateAttr);let $=e.stripIds(f);$>0&&console.warn(`[hyper-html-api] stripped ${$} id attribute(s) from cloned template at "${s.path.join(".")||"(root)"}"`)}let p=ea(o,h,r,Mf(e,a,o,s,l)),b=a[0]||d,v=e.parent(b),m=a.length>0?na(e,v,b):0,g=jf(e,a),y=new Set,I=[],Y=o.map(($,H)=>{let z=p[H];if(z>=0)return y.add(z),I.push(!1),a[z];I.push(!0);let ae=e.clone(f);return e.stripIds(ae),ae});a.forEach(($,H)=>{y.has(H)||e.remove($)}),g?Y.forEach(($,H)=>{let z=m+H;e.children(v).findIndex(Q=>e.sameNode(Q,$))!==z&&e.insertAt(v,$,z)}):Pf(e,Y,I,v,m),Rf(e,Y,r,o,s,i,l),si(l,"onRowsApplied",s.path,Y)}function si(e,t,n,r){if(typeof e[t]=="function")try{return e[t](n.slice(),r)}catch(o){console.warn(`[hyper-html-api] ${t} threw at "${n.join(".")||"(root)"}"`,o);return}}function Mf(e,t,n,r,o){let s=si(o,"identifyRows",r.path,n);if(!Array.isArray(s))return null;let i=new Array(n.length).fill(-1),l=new Set;for(let a=0;a<n.length;a++)if(s[a]){for(let u=0;u<t.length;u++)if(!(l.has(u)||!e.sameNode(t[u],s[a]))){i[a]=u,l.add(u);break}}return i}function Rf(e,t,n,r,o,s,i){t.forEach((l,a)=>{if(n===null){let u=r[a],d=u==null?"":String(u);e.text(l)!==d&&e.text(l,d)}else{let u=s(e,l,n,r[a],{depth:o.depth+1,path:[...o.path,a]},i);u&&u!==l&&(t[a]=u)}})}function Lf(e,t,n,r){return n===null?e.text(t):Gn(e,t,n,r.onRowsRead?{...r,onRowsRead:void 0}:r)}function na(e,t,n){let r=e.children(t);for(let o=0;o<r.length;o++)if(e.sameNode(r[o],n))return o;return-1}function If(e,t,n,r){if(!r.templateAttr)return null;let o=t;for(;o;){let s=e.find(o,n,{includeRulesTag:!1,templateAttr:null});for(let i of s)if(e.attr(i,r.templateAttr)!=null)return i;o=e.parent(o)}return null}function jf(e,t){if(t.length<=1)return!0;let n=e.parent(t[0]);if(!n)return!1;let r=e.children(n),o=[];for(let s of t){let i=r.findIndex(l=>e.sameNode(l,s));if(i===-1)return!1;o.push(i)}return o.sort((s,i)=>s-i),o[o.length-1]-o[0]===o.length-1}function Pf(e,t,n,r,o){let s=null,i=o;for(let l=0;l<t.length;l++){if(!n[l]){s=t[l];continue}let a=s?e.parent(s):r;if(!a)continue;let u=s?na(e,a,s)+1:i++;e.insertAt(a,t[l],u),s=t[l]}}var ra=new Set(["checked","selected","disabled","readOnly","paused"]);function Cr(e,t,n,r,o={}){if(Object.prototype.hasOwnProperty.call(o,"exclude")&&e.semanticExclude===!1)throw new Error("This adapter does not support semantic exclude queries; omit exclude or use the DOM adapter.");let s=[];if(li(n,r,[],s),s.length)throw new to(s);Fo(e,t,n,r,{depth:0,path:[]},o)}function Fo(e,t,n,r,o,s={}){if(o.depth>_r)throw new ar(o.path);if(r===void 0)return t;if(typeof n=="string")return Df(e,t,n,r,o,s);if(Array.isArray(n)){let[i,l]=n;return ii(e,t,i,l,r,o,Fo,s),t}if(typeof n=="object"&&n!==null){for(let[i,l]of Object.entries(n)){let a=Fo(e,t,l,r==null?r:r[i],{depth:o.depth+1,path:[...o.path,i]},s);a&&a!==t&&(t=a)}return t}return t}function Df(e,t,n,r,o,s){if(n.endsWith("[]")){let a=n.slice(0,-2);return ii(e,t,a,null,r,o,Fo,s),t}if(n.startsWith("@"))return sa(e,t,n.slice(1),r);let i=Vt(n);if(i!==-1){let a=n.slice(0,i),u=n.slice(i+1),d=a?e.find(t,a,s):[t];return d.length===0||sa(e,d[0],u,r),t}if(n===".")return oa(e,t,r),t;let l=e.find(t,n,s);return l.length===0||oa(e,l[0],r),t}function oa(e,t,n){let r=n==null?"":String(n);e.text(t)!==r&&e.text(t,r)}function sa(e,t,n,r){if(eo.has(n)){let s=e.prop(t,n);if(s===r||s!=null&&r!=null&&String(s)===String(r))return t;throw new ro(n)}if(n==="outerHTML"){let s=r==null?"":String(r);return e.replaceWith(t,s)}if(Dl.has(n)){let s=Ff(n,r);return e.prop(t,n)!==s&&e.prop(t,n,s),t}let o=r==null?"":String(r);return e.attr(t,n)!==o&&e.attr(t,n,o),t}function Ff(e,t){return t==null?ra.has(e)?!1:"":ra.has(e)?t==="false"?!1:!!t:t}function li(e,t,n,r){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,s)=>{typeof o=="object"&&o!==null&&r.push({path:ao([...n,s]),expected:"scalar",got:lo(o)})}):r.push({path:ao(n),expected:"array",got:lo(t)});return}t!==null&&typeof t=="object"&&r.push({path:ao(n),expected:"scalar",got:lo(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){r.push({path:ao(n),expected:"array",got:lo(t)});return}let o=e[1];t.forEach((s,i)=>li(o,s,[...n,i],r));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){r.push({path:ao(n),expected:"object",got:lo(t)});return}for(let[o,s]of Object.entries(e))li(s,t[o],[...n,o],r)}}}function lo(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function ao(e){return e.join(".")}var Xf=Object.freeze({refusedRuleForms:["innerHTML","outerHTML"],refusedTargets:["script","style","template","noscript","iframe","object","embed","xmp","plaintext","noembed","noframes","meta","link","base","animate","set","animatemotion","animatetransform"],refusedAttributes:["style","srcdoc","is","http-equiv","sandbox","allow","nonce","integrity","charset","htmlclaytoken","htmlclayid","data-rules-name","data-rules-version","clay","contenteditable",...Hl],refusedAttributePrefixes:["on"],urlAttributes:["href","src","srcset","action","formaction","poster","cite","data","ping","background","longdesc","usemap","xlink:href","manifest","codebase","icon"],refusedSchemes:["javascript","vbscript","data"]});function ai(e,t,n){if(n&&typeof n=="object")return{rules:n,tagNode:null};if(typeof n=="string"){let r=t&&t.ownerDocument?t.ownerDocument:t;return io(e,r,n)}return null}var ln={extract:(e,t,n={})=>Gn(jn(e,n),e,t,n),apply:(e,t,n,r={})=>Cr(jn(e,{...r,_write:!0}),e,t,n,r),findRulesIn:(e,t)=>io(Or,e,t),findRules:(e,t)=>ai(Or,e,t),bind:(e,t,n={})=>{let r=ai(Or,e,t);if(!r){let o=typeof t=="string"?`data-rules-name~="${t}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${o}`)}return{...r,get:()=>Gn(jn(e,n),e,r.rules,n),set:o=>Cr(jn(e,{...n,_write:!0}),e,r.rules,o,n)}},parseStrict:oi,parseRelaxed:Nr,ruleAttrIndex:Vt,splitRule:To,errors:Do,DOM_PROPERTIES:jo};var ui={};As(ui,{fromString:()=>Pn,getRuleAtPath:()=>cr,getValueAtPath:()=>Qf,setAtPath:()=>ci,toString:()=>Zf});function Zf(e){return e.map(String).join(".")}function Pn(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function cr(e,t){let n=e;for(let r of t){if(n==null)return;if(typeof n=="string"){if(n.endsWith("[]")&&(typeof r=="number"||r==="*")){n=n.slice(0,-2);continue}return}if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function Qf(e,t){let n=e;for(let r of t){if(n==null)return;n=n[r]}return n}function ci(e,t,n){if(t.length===0)return n;let[r,...o]=t;if(typeof r=="number"){let s=Array.isArray(e)?[...e]:[];return s[r]=ci(s[r],o,n),s}return{...e&&typeof e=="object"?e:{},[r]:ci((e||{})[r],o,n)}}function co(e){if(typeof e=="string")return e.endsWith("[]")?[]:"";if(Array.isArray(e))return[];if(typeof e=="object"&&e!==null){let t={};for(let[n,r]of Object.entries(e))t[n]=co(r);return t}return""}function qo(e,t,{ignoreActiveValue:n=!0}={}){Zs.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:n,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var la=new WeakMap,fi=e=>e.map(String).join(".");function ed(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function aa(e,t){if(!e||!e.querySelector)return null;let n=e.querySelector(`[data-hcms-path="${ed(t)}"]`),r=n&&n.querySelector(".hcms-array-items");return r?Array.from(r.children).filter(o=>o.matches&&o.matches("[data-hcms-card], [data-hcms-array-item]")):null}function ca(e,t,n){let r=aa(e,t);!r||r.length!==n.length||r.forEach((o,s)=>{n[s]&&la.set(o,n[s])})}function Bo(){let e=new Map;return{hooks:{onRowsRead(t,n){e.set(fi(t),n)}},seed(t){for(let[n,r]of e)ca(t,n,r);e.clear()}}}function ua(e){return{identifyRows(t,n){let r=aa(e,fi(t));return!r||r.length!==n.length?null:r.map(o=>la.get(o)||null)},onRowsApplied(t,n){ca(e,fi(t),n)}}}var fa={skip:"[data-hcms-shell]",templateAttr:"cms-template"},di="data-hcms-rollback-ui",td=0;function da(e,t,n,r={}){return nd(e,t,n,r)}function nd(e,t,n,r){let{shellRoot:o,structural:s,structuralPath:i,formRoot:l}=r,a=l?{...fa,...ua(l)}:fa;if(!s)try{return ln.apply(e,t,n,a),{ok:!0}}catch(f){return{ok:!1,error:f}}let u=rd(e,t,i),d=u?sd(u):null,h=u?null:ld(e,o);try{return ln.apply(e,t,n,a),{ok:!0}}catch(f){return d?id(u,d):h&&ad(e,o,h),{ok:!1,error:f}}}function rd(e,t,n){if(!n||!e)return null;let r=Pn(n),o=[],s=t;for(let i of r){if(typeof s=="string"||s==null||Array.isArray(s))break;if(typeof s=="object"&&i in s){if(o.push(i),s=s[i],Array.isArray(s)||typeof s=="string"&&s.endsWith("[]"))break}else return null}return!Array.isArray(s)&&!(typeof s=="string"&&s.endsWith("[]"))?null:od(e,t,o)}function od(e,t,n){if(n.length===0)return null;let r=e,o=t;for(let s=0;s<n.length;s++){let i=n[s];if(!o||typeof o!="object"||Array.isArray(o))return null;let l=o[i];if(l==null)return null;if(s===n.length-1){if(Array.isArray(l)){let[a]=l;return r.querySelector?.(a)?.parentElement||null}if(typeof l=="string"&&l.endsWith("[]")){let a=l.slice(0,-2);return r.querySelector?.(a)?.parentElement||null}return null}o=l}return null}function sd(e){let t=[],n=[];for(let r of Array.from(e.childNodes))t.push(hi(r,n));return{nodes:t,retained:n}}function id(e,t){let n=e.cloneNode(!1);for(let r of t.nodes)n.appendChild(r);Kn(e,Array.from(n.childNodes),ma()),ha(e,t.retained)}function ld(e,t){let n=[],r=[];for(let o of Array.from(e.childNodes))o===t||t&&o.contains?.(t)||n.push(hi(o,r));return{nodes:n,retained:r}}function ad(e,t,n){let r=e.cloneNode(!1);for(let o of n.nodes)r.appendChild(o);Kn(e,Array.from(r.childNodes),ma()),ha(e,n.retained)}function hi(e,t){let n=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let s=String(++td);n.setAttribute(di,s),t.push({id:s,node:e})}let r=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,o=n.nodeType===1&&n.tagName==="TEMPLATE"?n.content:n;for(let s of Array.from(r.childNodes||[]))o.appendChild(hi(s,t));return n}function ha(e,t){for(let{id:n,node:r}of t){let o=e.querySelector(`[${di}="${n}"]`);o===r?r.removeAttribute(di):r.isConnected?o?.remove():o?.replaceWith(r)}}function ma(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function $o(e){return e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/[-_]/g," ").replace(/\s+/g," ").trim().replace(/^./,t=>t.toUpperCase())}var cd='<div class="hcms-drag-handle mirk-sortable__grip" aria-hidden="true"><div class="mirk-sortable__dots"><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span><span class="mirk-sortable__dot"></span></div></div>',mi='<svg class="hcms-x" viewBox="0 0 16 16" shape-rendering="crispEdges" aria-hidden="true"><path d="M4 4 L12 12 M12 4 L4 12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="square"></path></svg>',ba={"@scalar":`
|
|
3
5
|
<label class="hcms-field" data-hcms-shape="scalar">
|
|
4
6
|
<span class="hcms-label" data-hcms-label></span>
|
|
5
7
|
<textarea class="mirk-textarea" rows="1" data-hcms-field></textarea>
|
|
@@ -39,13 +41,13 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
|
|
|
39
41
|
</section>
|
|
40
42
|
`,"@object-array-item":`
|
|
41
43
|
<article class="hcms-card mirk-sortable__item" draggable="true">
|
|
42
|
-
${
|
|
44
|
+
${cd}
|
|
43
45
|
<div class="hcms-card-body mirk-sortable__body">
|
|
44
46
|
<div class="hcms-card-fields"></div>
|
|
45
47
|
<div class="hcms-card-controls">
|
|
46
48
|
<button type="button" class="hcms-move hcms-move-up hcms-sr-only" data-hcms-action="move-up" aria-label="Move up">\u2191</button>
|
|
47
49
|
<button type="button" class="hcms-move hcms-move-down hcms-sr-only" data-hcms-action="move-down" aria-label="Move down">\u2193</button>
|
|
48
|
-
<button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${
|
|
50
|
+
<button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${mi}</button>
|
|
49
51
|
</div>
|
|
50
52
|
</div>
|
|
51
53
|
<div class="hcms-error" hidden></div>
|
|
@@ -59,7 +61,7 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
|
|
|
59
61
|
<span class="mirk-button__label">Choose</span>
|
|
60
62
|
</label>
|
|
61
63
|
<a class="mirk-file__name" data-hcms-field></a>
|
|
62
|
-
<button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${
|
|
64
|
+
<button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${mi}</button>
|
|
63
65
|
</div>
|
|
64
66
|
<div class="hcms-error" hidden></div>
|
|
65
67
|
</div>
|
|
@@ -73,7 +75,7 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
|
|
|
73
75
|
</label>
|
|
74
76
|
<figure class="mirk-image__thumb">
|
|
75
77
|
<span class="mirk-image__frame"><img class="mirk-image__preview" data-hcms-field alt="" /></span>
|
|
76
|
-
<button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${
|
|
78
|
+
<button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${mi}</button>
|
|
77
79
|
</figure>
|
|
78
80
|
</div>
|
|
79
81
|
<div class="hcms-error" hidden></div>
|
|
@@ -147,11 +149,11 @@ var hypercms=(()=>{var Dr=Object.defineProperty;var _s=Object.getOwnPropertyDesc
|
|
|
147
149
|
<input class="hcms-chip-field" data-hcms-field aria-label="Item" placeholder="\u2026" />
|
|
148
150
|
<button type="button" class="hcms-remove" data-hcms-action="remove" aria-label="Remove">\xD7</button>
|
|
149
151
|
</span>
|
|
150
|
-
`},Va=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function Qt(e){let t=e.head||e.documentElement;if(t)for(let r of Va)Pi(e,t,r)}function on(e,t){if(!Fi[t])return null;let r=e&&(e.head||e.documentElement);return r?Pi(e,r,t):null}var Ii={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},Xt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Wa=new Set([...Object.values(Xt),"@chips","@chips-item"]);function Rt(e,t,r,n){if(typeof e!="string")return"@scalar";let i=ae(e),o=rr(e,i,r,n),a=nr(o,t,"data-hcms-component");if(a&&Xt[a]){let s=Xt[a],l=Array.isArray(r)&&r.some(u=>u==="*"||typeof u=="number");return s==="@number"&&!ji(e,i,t,l,o).every(Ga)||(s==="@checkbox"||s==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!ji(e,i,t,l,o).every(Ya)?"@scalar":s}if(i>=0){let s=e.slice(i+1);if(Ii[s])return Ii[s]}return"@scalar"}function Di(e,t,r,n){if(typeof e!="string")return null;let i=ae(e),o=nr(rr(e,i,r,n),t,"data-hcms-component");return o&&Xt[o]||null}var Ka=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Ga(e){return e==null||e===""?!0:Ka.test(String(e))}function Ya(e){return e==null||e===""||e==="true"||e==="false"}function ji(e,t,r,n,i){if(!r||!r.querySelectorAll)return[];if(!i||i===".")return[];let o=null;try{o=r.querySelectorAll(i)}catch{return[]}let a=t>=0?e.slice(t+1):null,s=[];for(let l of o)if(!(l.closest&&l.closest("[cms-template], [data-hcms-shell]"))&&(a?a==="value"&&"value"in l?s.push(l.value):s.push(l.getAttribute?l.getAttribute(a):null):s.push((l.textContent||"").trim()),!n))break;return s}function er(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let r=e.slice(0,-2).trim();if(!r)return null;let n=null;try{n=t.querySelector(r)}catch{return null}let i=n&&n.closest?n.closest("[data-hcms-component]"):null;return(i&&i.getAttribute?i.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function Qe(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&ke(r,n)||i&&i!==n&&ke(r,i)||ke(r,t)}function tr(e,t,r){let n=er(e,r);if(!n)return null;let i=Qe(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function qi(e,t,r,n){if(typeof e!="string")return null;let i=ae(e),o=nr(rr(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let a=o.trim().split(/\s+/).filter(Boolean);return a.length?a:null}function $i(e,t,r,n){if(typeof e!="string")return null;let i=ae(e);return nr(rr(e,i,r,n),t,"data-hcms-crop")}function Ja(e,t){return t>=0?e.slice(0,t):e}function rr(e,t,r,n){let i=Ja(e,t);return i&&i!=="."?i:Xa(n,r)}function Xa(e,t){if(e==null||!Array.isArray(t))return"";let r=[],n=e;for(let i of t){if(n==null||typeof n=="string")break;if(Array.isArray(n)){if(typeof n[0]!="string"||i!=="*"&&typeof i!="number")return"";r.push(n[0]),n=n[1];continue}if(typeof n!="object"||!Object.prototype.hasOwnProperty.call(n,i))return"";n=n[i]}return r.join(" ")}function nr(e,t,r){if(!t||!t.querySelector||!e||e===".")return null;let n=null;try{n=t.querySelector(e)}catch{return null}return n&&n.getAttribute?n.getAttribute(r):null}function ir(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=Be(n);if(o==="scalar"){let a=Rt(n,e,i,t);Wa.has(a)&&on(e,a);return}if(o==="scalar-array"){let a=er(n,e);a&&(on(e,a.array),on(e,a.item));return}if(o==="object"){for(let[a,s]of Object.entries(n))r(s,[...i,a]);return}if(o==="object-array"){let a=n[1],s=[...i,"*"];if(a&&typeof a=="object"&&!Array.isArray(a))for(let[l,u]of Object.entries(a))r(u,[...s,l]);else r(a,s)}}}function Pi(e,t,r){let n=ke(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=Fi[r].trim(),t.appendChild(i),i}function ke(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${Za(t)}"]`)}function Za(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Be(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Mt(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Bi={IMG:"src",A:"href"};function or(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":Bi[t]?Bi[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function zi(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=or(e),a=`${Ui(r,n)}[data-hcms-field="${et(t)}"]`;return r==="INPUT"&&n==="radio"?`${a}:checked@value`:i?`${a}@${i}`:a}function Qa(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=or(e),o=`${Ui(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function Ui(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function et(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Hi=new Set(["__proto__","constructor","prototype"]);function sr(e,t){return r(e,[]);function r(u,m){let y=Be(u);if(y==="scalar")return n(u,m);if(y==="scalar-array")return i(u,m);if(y==="object-array")return o(u,m);if(y==="object"){let c=Object.create(null);for(let[h,f]of Object.entries(u)){if(Hi.has(h))throw new Error(`hypercms: rule key "${h}" is forbidden at "${m.join(".")||"<root>"}"`);c[h]=r(f,[...m,h])}return c}return null}function n(u,m){let y=m.length?m[m.length-1]:null,c=typeof y=="string"?y:"__value",h=l(m,c);if(h)return zi(h,c);let f=s(Rt(u,t,m,e),c);return f?zi(f,c):`input[data-hcms-field="${et(c)}"]@value`}function i(u,m){let y=tr(u,m,t),c=y&&s(y.item,null)||s("@scalar-array-item",null),h=c?Qa(c):"input[data-hcms-field]@value";return[a(m,"[data-hcms-array-item]"),h]}function o(u,m){let[,y]=u,c=[...m,"*"],h=a(m,"[data-hcms-card]");if(y&&typeof y=="object"&&!Array.isArray(y)){let f=Object.create(null);for(let[b,k]of Object.entries(y)){if(Hi.has(b))throw new Error(`hypercms: rule key "${b}" is forbidden at "${c.join(".")}"`);f[b]=r(k,[...c,b])}return[h,f]}return[h,r(y,[...c,0])]}function a(u,m){let y=u.length?u[u.length-1]:"",c=u.some(b=>b==="*"),h=u.join(".");return`${c?`[data-hcms-field="${et(y)}"]`:`[data-hcms-path="${et(h)}"]`} > .hcms-array-items > ${m}`}function s(u,m){if(!t)return null;let y=ke(t,u);if(!y)return null;let c=y.content||y;if(m){let h=c.querySelector(`[data-hcms-field="${et(m)}"]`);if(h)return h}return c.querySelector("[data-hcms-field]")}function l(u,m){if(!t)return null;let y=u.map(f=>typeof f=="number"?"*":f).join("."),h=[u.join("."),y];for(let f=u.length-1;f>=0;f--){let b=u.slice(0,f).map(k=>typeof k=="number"?"*":k);b.push("*"),h.push(b.join("."))}for(let f of h){if(!f)continue;let b=ke(t,f);if(!b||!Mt(b))continue;let k=b.content||b,A=k.querySelector(`[data-hcms-field="${et(m)}"]`)||k.querySelector("[data-hcms-field]");if(A)return A}return null}}function sn(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function tt({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=an(e,[],r,n,e);return o&&i.appendChild(o),i}function Wi({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:a}){if(e==="object-array-item")return Gi(t,r,n,i,a);if(e==="scalar-array-item")return Yi(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function an(e,t,r,n,i){let o=Be(e);return o==="scalar"?el(e,t,r,n,i):o==="object"?il(e,t,r,n,i):o==="object-array"?ol(e,t,r,n,i):o==="scalar-array"?sl(e,t,r,n):null}function el(e,t,r,n,i){let o=Rt(e,n,t,i),a=Qe(t,o,n);if(!a)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let s=Di(e,n,t,i);s==="@number"&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(s==="@checkbox"||s==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${s}" but its value isn't true/false; rendering a text input so the value is preserved`),Ki(a,s===o?s:null,t);let l=rt(a,n);nt(l,t);let u=a.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&u===o&&tl(l,e,t,r,n,o,i),o==="@image"&&u==="@image"){let m=$i(e,n,t,i);m!=null&&!l.hasAttribute("data-hcms-crop")&&l.setAttribute("data-hcms-crop",m)}return al(l,Ee(t)),ar(l,Ee(t)),lr(l,Ee(t)),eo(l,r),o==="@file"&&nl(l),l}function Ki(e,t,r){if(!t)return;let n=e.getAttribute?.("data-hcms-tpl");n&&n!==t&&console.info(`[hypercms] field "${r.join(".")}" declares component "${t}" but custom template "${n}" wins`)}function tl(e,t,r,n,i,o,a){let s=qi(t,i,r,a),l=s?[...s]:[],u=n==null?"":String(n);if(u!==""&&!l.includes(u)&&l.unshift(u),!s&&(rl(e,"data-hcms-options required (space-separated values)"),l.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let c=e.querySelector("select[data-hcms-field]");if(!c)return;for(let h of l){let f=i.createElement("option");f.value=h,f.textContent=Zt(h),c.appendChild(f)}return}let m=e.querySelector(".mirk-radio");if(!m||!m.parentNode)return;let y=ln(r.join("."));for(let c of l){let h=m.cloneNode(!0),f=h.querySelector('input[type="radio"]');f&&(f.value=c,f.name=y);let b=h.querySelector(".mirk-radio__label");b&&(b.textContent=Zt(c)),m.parentNode.insertBefore(h,m)}m.remove()}function ln(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function rl(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function nl(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=sn(t.getAttribute("href")))}function il(e,t,r,n,i){let o=Qe(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let a=rt(o,n);if(nt(a,t),ar(a,Ee(t)),lr(a,Ee(t)),Mt(o))return ro(a,e,t),to(a,e,r),a;let s=cr(a,".hcms-object-fields",o,t);for(let[l,u]of Object.entries(e)){let m=r==null?null:r[l],y=an(u,[...t,l],m,n,i);y&&s.appendChild(y)}return a}function ol(e,t,r,n,i){let o=Qe(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let a=rt(o,n);nt(a,t),ar(a,Ee(t)),lr(a,Ee(t)),Xi(a,o),Qi(a,o,t);let s=cr(a,".hcms-array-items",o,t),[,l]=e;return(Array.isArray(r)?r:[]).forEach((m,y)=>{let c=Gi(l,[...t,y],m,n,i);c&&s.appendChild(c)}),Zi(a),a}function Gi(e,t,r,n,i){let o=Ji(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let a=rt(o,n);if(a.setAttribute("data-hcms-card",""),a.classList.contains("hcms-card")||a.classList.add("hcms-card"),nt(a,t),Mt(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(ro(a,e,t),to(a,e,r)),a;let s=cr(a,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[l,u]of Object.entries(e)){let m=r==null?null:r[l],y=an(u,[...t,l],m,n,i);y&&s.appendChild(y)}return a}function sl(e,t,r,n){let i=er(e,n),o=tr(e,t,n),a=i?i.array:"@scalar-array",s=Qe(t,a,n);if(!s)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Ki(s,i?i.array:null,t);let l=rt(s,n);nt(l,t),ar(l,Ee(t)),lr(l,Ee(t)),Xi(l,s),Qi(l,s,t),o&&l.setAttribute("data-hcms-item-tpl",o.item);let u=cr(l,".hcms-array-items",s,t);return(Array.isArray(r)?r:[]).forEach((y,c)=>{let h=Yi([...t,c],y,n,o?o.item:null);h&&u.appendChild(h)}),Zi(l),l}function Yi(e,t,r,n){let i=Ji(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=rt(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),nt(o,e),eo(o,t),o}function Ji(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return ke(r,i)||n&&ke(r,n)||ke(r,"@"+t)}function rt(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function nt(e,t){e.setAttribute("data-hcms-path",t.join("."))}function al(e,t){let r=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",r);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{i.getAttribute("data-hcms-field")||i.setAttribute("data-hcms-field",r)})}function ar(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function lr(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=Zt(String(t)))})}function Xi(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})}function Zi(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let r=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),n=r.length,i=Vi(e,"data-hcms-max-items"),o=Vi(e,"data-hcms-min-items"),a=e.hasAttribute("data-hcms-no-add"),s=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector('[data-hcms-action="add"]');u&&(u.hidden=a||i!=null&&n>=i),r.forEach((m,y)=>{let c=m.querySelector('[data-hcms-action="remove"]');c&&(c.hidden=s||o!=null&&n<=o);let h=m.querySelector('[data-hcms-action="move-up"]');h&&(h.hidden=l||y===0);let f=m.querySelector('[data-hcms-action="move-down"]');f&&(f.hidden=l||y===n-1)})}function Vi(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function Qi(e,t,r){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let n=e.querySelector(".hcms-array-items");if(!n)return;let i="hcms-"+r.join(".");n.setAttribute("sortable",i),n.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function Ee(e){return e.length?e[e.length-1]:null}function eo(e,t){let r=ll(e);if(r.length!==0)for(let n of r)no(n,t)}function ll(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&cl(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(n=>t.push(n)),t}function cl(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function to(e,t,r){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o)return;if(!t||typeof t!="object"||!(o in t)){console.warn(`[hypercms] inline template field "${o}" is not in the rule shape; ignoring`);return}let a=r==null?null:r[o];no(i,a)})}function ro(e,t,r){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(i=>{let o=i.getAttribute("data-hcms-field");if(!o||t&&typeof t=="object"&&!(o in t))return;let a=[...r,o].join(".");i.setAttribute("data-hcms-path",a)})}function cr(e,t,r,n){if(!e.querySelector)return e;let i=e.querySelector(t);if(i)return i;let o=r?.getAttribute?.("data-hcms-tpl")||n.join(".");throw new Error(`hypercms: template "${o}" is in slotted mode but has no ${t} element`)}function no(e,t){let r=or(e),n=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(n==="INPUT"&&i==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(r==="checked"){e.checked=t===!0||t==="true";return}if(r){e[r]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var ul={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?hl(t.uploadFileBasic):null)},dl={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},cn=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function hl(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return cn();try{let o=await e(r,{onProgress:s=>{n?.({loaded:null,total:null,percent:s})}});if(i?.aborted)return cn();let a=o&&o.uploads||[];return typeof a[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:o.msg||"Uploaded",msgType:o.msgType||"success",code:o.code||null,uploads:a}}catch(o){if(i?.aborted)return cn();let a={};try{a=JSON.parse(o?.response||"{}")}catch{a={}}let s=a.code||dl[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:s,uploads:[]}}}}function ue(e,t){let r=ul[e];if(!r)throw new Error(`hypercms: unknown platform capability "${e}"`);let n=t||(typeof window<"u"?window:null);return n&&r(n.clay,n.hyperclay)||null}var io=["clay:mutation-ready","hyperclay:mutation-ready"],oo=["clay:sync-applied","hyperclay:livesync-applied"],so=["clay:ready","hyperclay:ready"];function it(e,t,r){let n=null,i=o=>{n!==null&&n!==o.type||(n=o.type,queueMicrotask(()=>{n=null}),r(o))};for(let o of t)e.addEventListener(o,i);return()=>{for(let o of t)e.removeEventListener(o,i)}}var ve="data-hcms-bound",Re="data-hcms-bound-id",un=new Map;function ao(e,t){un.set(e,t)}function lo(e){un.delete(e)}function co(e){let t=e.getAttribute(Re);if(!t)return null;let r=un.get(t);return!r||!r.restorable()?null:r.originalHTML}var ze="data-hcms-owns-richclay";function ot(e){return e&&e.richclay&&e.richclay.RichClay||ue("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function uo(e,t,r){!e||typeof e.setAttribute!="function"||(e.setAttribute(ve,t?"rich":"plain"),r&&e.setAttribute(ze,"true"))}function ho(e,t){if(!e||typeof e.querySelectorAll!="function")return;let r=e.querySelectorAll(`[${ve}]`);if(!r.length)return;let n=ot(t);if(n&&typeof n.stripFromClone=="function")try{n.stripFromClone(e)}catch(i){console.warn("[hypercms] richclay strip failed; editor state may reach the save",i)}for(let i of r)i.getAttribute(ze)==="true"&&i.removeAttribute("data-richclay"),i.removeAttribute(ze),i.removeAttribute(ve)}function mo(e,t){if(!e||typeof e.removeAttribute!="function")return;let r=ot(t);if(r&&typeof r.stripElement=="function")try{r.stripElement(e)}catch(n){console.warn("[hypercms] richclay element strip failed; the clone stays editable",n)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(ze)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(ze),e.removeAttribute(ve),e.removeAttribute(Re)}function fo(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||ae(n)!==-1)return n;let i=null;try{i=t.querySelector(n)}catch{return n}return i&&i.children.length>0?n+"@innerHTML":n}if(Array.isArray(n))return n;if(n&&typeof n=="object"){let i=Object.create(null);for(let[o,a]of Object.entries(n))i[o]=r(a);return i}return n}}function po(e,t){if(!t||e==null)return e;return r(e,[t]);function r(n,i){if(typeof n=="string")return n.endsWith("[]")||ae(n)!==-1?n:i.some(o=>ml(o,n))?n+"@innerHTML":n;if(Array.isArray(n)){let[o,a]=n;if(typeof o!="string"||!o)return n;let s=fl(t,o);return s.length?[o,r(a,s)]:n}if(n&&typeof n=="object"){let o=Object.create(null);for(let[a,s]of Object.entries(n))o[a]=r(s,i);return o}return n}}function ml(e,t){let r=null;try{r=e.querySelector(t)}catch{return!1}return r?r.hasAttribute(ve)?r.getAttribute(ve)==="rich":r.children.length>0:!1}function fl(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function st(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function Me(e,t,r=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(st),r===!1))return;let n=t&&t.defaultView||(typeof window<"u"?window:null),i=ot(n);i&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(o=>{if(o.__hcmsRichclay)return;let a;try{a=new i(o,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(l){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",l);return}o.__hcmsRichclay=a;let s=a&&a.squire;s&&typeof s.addEventListener=="function"&&s.addEventListener("input",()=>{let l=n&&n.Event||Event;o.dispatchEvent(new l("input",{bubbles:!0}))})})}var dn=new WeakSet;function He(e,t){let r=ue("undo");if(!r)return t();r.pause();try{let n=t();return n&&n.ok?r.commitCaptured(e):r.discardCaptured(),n}finally{r.resume()}}function _e(e){let t=ue("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function hr(e){let{formRoot:t}=e;if(!t||dn.has(t))return;dn.add(t);let r=a=>{let s=a.target;!s||!s.closest||s.closest("[data-hcms-form-root]")&&s.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(s.tagName==="TEXTAREA"&&st(s),!s.matches('input[type="file"]')&&(!s.closest("[data-hcms-field]")&&!s.hasAttribute?.("data-hcms-field")||go(s,e)))},n=a=>{let s=a.target;if(!(!s||!s.closest)&&s.closest("[data-hcms-form-root]")){if(s.matches('input[type="file"][data-hcms-upload]')){wl(s,e);return}s.matches('input[type="checkbox"], input[type="radio"], select')&&go(s,e)}},i=a=>{let s=a.target;if(!s||!s.closest)return;let l=s.closest("[data-hcms-action]");if(!l)return;let u=l.getAttribute("data-hcms-action");if(u==="add"||u==="remove"||u==="move-up"||u==="move-down"||u==="clear-upload"){if(!l.closest("[data-hcms-form-root]"))return}else if(u==="close"&&!l.closest("[data-hcms-shell]"))return;if(u==="add"){let m=l.closest("[data-hcms-path]");if(!m)return;let y=m.getAttribute("data-hcms-path");Nt(y,e)}else if(u==="remove"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;fn(m,e)}else if(u==="move-up"||u==="move-down"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;mn(m,u==="move-up"?-1:1,e)}else u==="clear-upload"?_l(l,e):u==="close"&&e.onCloseRequested?.()},o=t.ownerDocument;o.addEventListener("input",r,!0),o.addEventListener("change",n,!0),o.addEventListener("click",i,!0),e.detachEvents=()=>{o.removeEventListener("input",r,!0),o.removeEventListener("change",n,!0),o.removeEventListener("click",i,!0),dn.delete(t)}}var pl=new Set(["value","checked"]);function gl(e,t){if(!t)return null;let r=Se(t);if(r.some(l=>typeof l=="number"||l==="*"))return null;let n=Pe(e.pageRules,r);if(typeof n!="string")return null;let i=fe.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!pl.has(o))return null;let a=n.slice(0,i),s=a?e.pageRoot.querySelector(a):e.pageRoot;return s?{el:s,prop:o,oldValue:s[o]}:null}function go(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=gl(t,n);if(be(pe(t),{path:n,structural:!1},t),i){let o=ue("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var bl={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function yl(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=ue("quickcrop");if(typeof n!="function")return{file:e};try{let i=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",o=await n(e,{aspect:kl(r),modal:i,...bl});return o===null?null:{file:vl(o.blob,e.name),dataURL:o.dataURL}}catch(i){return lt(t,i&&i.message||"Crop failed"),null}}function kl(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let r=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!r)return null;let n=parseFloat(r[1]),i=parseFloat(r[2]);return!n||!i?null:n/i}function vl(e,t){let r=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",n=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],n+r,{type:e.type})}catch{return e}}var xl=new Set(["unsupported","payment-required"]);async function wl(e,t){let r=e.files&&e.files[0];if(!r)return;let n=e.closest("[data-hcms-path]");if(!n)return;let i=n.getAttribute("data-hcms-path")||"";lt(n,null);let o=await yl(r,n);if(!o||t.closed){Ne(e);return}let a=o.file,s=o.dataURL||null,l=ue("upload");if(typeof l!="function")return hn(e,n,t,i,await bo(a,s,n),a);xo(n,s),yo(n,0);let u=Sl(t),m;try{m=await l(a,{signal:u?.signal,onProgress:({percent:c})=>yo(n,c)})}finally{El(t,u),Cl(n)}if(t.closed){Ne(e);return}if(m.code==="aborted"){Ne(e);return}if(m.ok)return hn(e,n,t,i,m.uploads[0].url,a);if(!xl.has(m.code)){lt(n,m.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(m.msg||"Upload failed"),code:m.code,path:i}),Ne(e);return}let y=m.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return hn(e,n,t,i,await bo(a,s,n),a,y)}function hn(e,t,r,n,i,o,a=null){if(r.closed){Ne(e);return}if(xo(t,null),lt(t,null),!i){Ne(e);return}vo(t,i,o.name),be(pe(r),{path:n,structural:!1},r),a&<(t,a,"info"),Ne(e)}async function bo(e,t,r){return t||await Al(e,r)}function Al(e,t){let r=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return r?new Promise(n=>{let i=new r;i.onload=()=>n(typeof i.result=="string"?i.result:""),i.onerror=()=>n("");try{i.readAsDataURL(e)}catch{n("")}}):Promise.resolve("")}function Sl(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function El(e,t){t&&e.uploads?.delete(t)}function _l(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";vo(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&Ne(i),lt(r,null),be(pe(t),{path:n,structural:!1},t)}function Tl(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function vo(e,t,r){let n=Tl(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||sn(t):"")}function Ne(e){try{e.value=""}catch{}}function xo(e,t){let r=e.querySelector?e.querySelector(".mirk-image__frame"):null;r&&(t?r.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:r.style.removeProperty("background-image"))}function yo(e,t){let r=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${r}%`)}function Cl(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function lt(e,t,r="error"){let n=e.querySelector?e.querySelector(":scope > .hcms-error"):null;n&&(n.classList.toggle("hcms-error--info",!!t&&r==="info"),t?(n.textContent=t,n.hidden=!1):(n.textContent="",n.hidden=!0))}function Nt(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${ct(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);let o=i.querySelector(".hcms-array-items");if(!o)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let a=Se(e),s=Ll(n,a),l=Array.isArray(s),u=typeof s=="string"&&s.endsWith("[]");if(!l&&!u)throw new Error(`hypercms: path "${e}" is not an array`);let m=dr(i,"data-hcms-max-items"),y=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||m!=null&&y.length>=m)return;let c=y.length,h=l?s[1]:s.replace(/\[\]$/,""),f=Ot(l?h:"string"),b=Wi({shape:l?"object-array-item":"scalar-array-item",itemShape:h,pathArr:[...a,c],data:f,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(b),Me(b,t.doc,t.view?.enhanceFormRichText!==!1),gn(i),He(`Add ${e}`,()=>be(pe(t),{path:e,structural:!0},t))}function mn(e,t,r){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!n||n.hasAttribute("data-hcms-no-reorder"))return;let i=n.querySelector(".hcms-array-items");if(!i)return;let o=Array.from(i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),a=o.indexOf(e);if(a<0)return;let s=a+t;if(s<0||s>=o.length)return;let l=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[s]):i.insertBefore(e,o[s].nextSibling),bn(i),gn(n),l&&typeof l.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),He(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>be(pe(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var ur="Delete this item?";function Ol(e,t){let r=e&&e.getAttribute("data-hcms-confirm-remove");if(r!=null)return/^(off|false|no|0)$/i.test(r.trim())?null:r||ur;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||ur:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?ur:null}function fn(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=Ol(r,t);if(n==null)return at(e,t);let i=ue("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>{t.closed||at(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&at(e,t):at(e,t)}function at(e,t){let r=e.getAttribute("data-hcms-path")||"",n=e.parentElement,i=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!i?.hasAttribute("data-hcms-no-remove")){if(i){let o=dr(i,"data-hcms-min-items"),a=i.querySelector(".hcms-array-items"),s=a?a.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&s<=o)return}return e.remove(),n&&bn(n),i&&gn(i),He(`Remove ${r}`,()=>be(pe(t),{path:r,structural:!0},t))}}function be(e,t,r){if(r.closed)return{ok:!1,skipped:!0,closed:!0};let n=Lt(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=Object.hasOwn(r,"writeRules")?r.writeRules:r.pageRules,o=Mi(r.pageRoot,i,e,{shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return o.ok?(r.lastFingerprint=n,r.lastData=e,ko(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(ko(r,Nl(o.error,t.path)),r.dispatch?.("hcms:error",{error:o.error,attemptedData:e}),r.onError?.(o.error)),o}function mr(e,t){let r=ct(t),n=`[data-hcms-path="${r}"] input[data-hcms-field], [data-hcms-path="${r}"] textarea[data-hcms-field], [data-hcms-path="${r}"] select[data-hcms-field], [data-hcms-path="${r}"] img[data-hcms-field], [data-hcms-path="${r}"] a[data-hcms-field], [data-hcms-path="${r}"] [contenteditable][data-hcms-field], input[data-hcms-path="${r}"][data-hcms-field], textarea[data-hcms-path="${r}"][data-hcms-field], select[data-hcms-path="${r}"][data-hcms-field], img[data-hcms-path="${r}"][data-hcms-field], a[data-hcms-path="${r}"][data-hcms-field], [contenteditable][data-hcms-path="${r}"][data-hcms-field]`;return e.querySelector(n)}function fr(e,t,r,n){let i=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(i==="INPUT"&&o==="checkbox"){e.checked=t===!0||t==="true";return}if(i==="INPUT"&&o==="radio"){let a=ct(n),s=r.querySelectorAll(`[data-hcms-path="${a}"][data-hcms-field][type="radio"], [data-hcms-path="${a}"] [data-hcms-field][type="radio"]`);s.length?s.forEach(l=>{l.checked=String(l.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(i==="IMG"){e.src=t==null?"":String(t);return}if(i==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function pe(e){let t=fe.extract(e.formRoot,e.formRules,{exclude:null});return Le(t,e.formRules)}function Le(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,r]=t;return e.map(n=>Le(n,r))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let r={};for(let[n,i]of Object.entries(t))r[n]=Le(e[n],i);return r}return e}function ko(e,t){e.lastErrors=t&&t.length?t:null,pn(e)}function pn(e){if(Rl(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:r,path:n}of e.lastErrors){if(n!=null&&n!==""){let i=Ml(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
|
|
151
|
-
${
|
|
152
|
-
`),e.errorEl.hidden=!1)}function
|
|
152
|
+
`},ud=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function Uo(e){let t=e.head||e.documentElement;if(t)for(let n of ud)va(e,t,n)}function pi(e,t){if(!ba[t])return null;let n=e&&(e.head||e.documentElement);return n?va(e,n,t):null}var pa={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},Ho={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},fd=new Set([...Object.values(Ho),"@chips","@chips-item"]);function uo(e,t,n,r){if(typeof e!="string")return"@scalar";let o=Vt(e),s=Wo(e,o,n,r),i=Ko(s,t,"data-hcms-component");if(i&&Ho[i]){let l=Ho[i],a=Array.isArray(n)&&n.some(u=>u==="*"||typeof u=="number");return l==="@number"&&!ga(e,o,t,a,s).every(hd)||(l==="@checkbox"||l==="@toggle")&&(o<0||e.slice(o+1)!=="checked")&&!ga(e,o,t,a,s).every(md)?"@scalar":l}if(o>=0){let l=e.slice(o+1);if(pa[l])return pa[l]}return"@scalar"}function ka(e,t,n,r){if(typeof e!="string")return null;let o=Vt(e),s=Ko(Wo(e,o,n,r),t,"data-hcms-component");return s&&Ho[s]||null}var dd=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function hd(e){return e==null||e===""?!0:dd.test(String(e))}function md(e){return e==null||e===""||e==="true"||e==="false"}function ga(e,t,n,r,o){if(!n||!n.querySelectorAll)return[];if(!o||o===".")return[];let s=null;try{s=n.querySelectorAll(o)}catch{return[]}let i=t>=0?e.slice(t+1):null,l=[];for(let a of s)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(i?i==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(i):null):l.push((a.textContent||"").trim()),!r))break;return l}function zo(e,t){if(typeof e!="string"||!e.endsWith("[]")||!t||!t.querySelector)return null;let n=e.slice(0,-2).trim();if(!n)return null;let r=null;try{r=t.querySelector(n)}catch{return null}let o=r&&r.closest?r.closest("[data-hcms-component]"):null;return(o&&o.getAttribute?o.getAttribute("data-hcms-component"):null)==="chips"?{array:"@chips",item:"@chips-item"}:null}function Mr(e,t,n){let r=e.join("."),o=e.map(s=>typeof s=="number"?"*":s).join(".");return r&&_n(n,r)||o&&o!==r&&_n(n,o)||_n(n,t)}function Vo(e,t,n){let r=zo(e,n);if(!r)return null;let o=Mr(t,r.array,n);return o&&o.getAttribute("data-hcms-tpl")===r.array?r:null}function ya(e,t,n,r){if(typeof e!="string")return null;let o=Vt(e),s=Ko(Wo(e,o,n,r),t,"data-hcms-options");if(s==null)return null;let i=s.trim().split(/\s+/).filter(Boolean);return i.length?i:null}function xa(e,t,n,r){if(typeof e!="string")return null;let o=Vt(e);return Ko(Wo(e,o,n,r),t,"data-hcms-crop")}function pd(e,t){return t>=0?e.slice(0,t):e}function Wo(e,t,n,r){let o=pd(e,t);return o&&o!=="."?o:gd(r,n)}function gd(e,t){if(e==null||!Array.isArray(t))return"";let n=[],r=e;for(let o of t){if(r==null||typeof r=="string")break;if(Array.isArray(r)){if(typeof r[0]!="string"||o!=="*"&&typeof o!="number")return"";n.push(r[0]),r=r[1];continue}if(typeof r!="object"||!Object.prototype.hasOwnProperty.call(r,o))return"";r=r[o]}return n.join(" ")}function Ko(e,t,n){if(!t||!t.querySelector||!e||e===".")return null;let r=null;try{r=t.querySelector(e)}catch{return null}return r&&r.getAttribute?r.getAttribute(n):null}function Go(e,t){if(!e||t==null)return;n(t,[]);function n(r,o){let s=ur(r);if(s==="scalar"){let i=uo(r,e,o,t);fd.has(i)&&pi(e,i);return}if(s==="scalar-array"){let i=zo(r,e);i&&(pi(e,i.array),pi(e,i.item));return}if(s==="object"){for(let[i,l]of Object.entries(r))n(l,[...o,i]);return}if(s==="object-array"){let i=r[1],l=[...o,"*"];if(i&&typeof i=="object"&&!Array.isArray(i))for(let[a,u]of Object.entries(i))n(u,[...l,a]);else n(i,l)}}}function va(e,t,n){let r=_n(e,n);if(r)return r;let o=e.createElement("template");return o.setAttribute("data-hcms-tpl",n),o.setAttribute("save-remove",""),o.innerHTML=ba[n].trim(),t.appendChild(o),o}function _n(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${bd(t)}"]`)}function bd(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function ur(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function fo(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var wa={IMG:"src",A:"href"};function Yo(e){if(!e)return"value";let t=(e.tagName||"").toUpperCase();return t==="INPUT"?(e.getAttribute("type")||"text").toLowerCase()==="checkbox"?"checked":"value":t==="TEXTAREA"||t==="SELECT"?"value":wa[t]?wa[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function Aa(e,t){let n=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),o=Yo(e),i=`${Ta(n,r)}[data-hcms-field="${Rr(t)}"]`;return n==="INPUT"&&r==="radio"?`${i}:checked@value`:o?`${i}@${o}`:i}function kd(e){let t=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),r=Yo(e),s=`${Ta(t,n)}[data-hcms-field]`;return t==="INPUT"&&n==="radio"?`${s}:checked@value`:r?`${s}@${r}`:s}function Ta(e,t){return e==="INPUT"?t?`input[type="${t}"]`:"input":e==="TEXTAREA"?"textarea":e==="SELECT"?"select":e==="IMG"?"img":e==="A"?"a":':not([data-hcms-shape="scalar"]):not([data-hcms-shape="object"]):not([data-hcms-shape="object-array"]):not([data-hcms-shape="scalar-array"])'}function Rr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Sa=new Set(["__proto__","constructor","prototype"]);function Xo(e,t){return n(e,[]);function n(u,d){let h=ur(u);if(h==="scalar")return r(u,d);if(h==="scalar-array")return o(u,d);if(h==="object-array")return s(u,d);if(h==="object"){let f=Object.create(null);for(let[p,b]of Object.entries(u)){if(Sa.has(p))throw new Error(`hypercms: rule key "${p}" is forbidden at "${d.join(".")||"<root>"}"`);f[p]=n(b,[...d,p])}return f}return null}function r(u,d){let h=d.length?d[d.length-1]:null,f=typeof h=="string"?h:"__value",p=a(d,f);if(p)return Aa(p,f);let b=l(uo(u,t,d,e),f);return b?Aa(b,f):`input[data-hcms-field="${Rr(f)}"]@value`}function o(u,d){let h=Vo(u,d,t),f=h&&l(h.item,null)||l("@scalar-array-item",null),p=f?kd(f):"input[data-hcms-field]@value";return[i(d,"[data-hcms-array-item]"),p]}function s(u,d){let[,h]=u,f=[...d,"*"],p=i(d,"[data-hcms-card]");if(h&&typeof h=="object"&&!Array.isArray(h)){let b=Object.create(null);for(let[v,m]of Object.entries(h)){if(Sa.has(v))throw new Error(`hypercms: rule key "${v}" is forbidden at "${f.join(".")}"`);b[v]=n(m,[...f,v])}return[p,b]}return[p,n(h,[...f,0])]}function i(u,d){let h=u.length?u[u.length-1]:"",f=u.some(v=>v==="*"),p=u.join(".");return`${f?`[data-hcms-field="${Rr(h)}"]`:`[data-hcms-path="${Rr(p)}"]`} > .hcms-array-items > ${d}`}function l(u,d){if(!t)return null;let h=_n(t,u);if(!h)return null;let f=h.content||h;if(d){let p=f.querySelector(`[data-hcms-field="${Rr(d)}"]`);if(p)return p}return f.querySelector("[data-hcms-field]")}function a(u,d){if(!t)return null;let h=u.map(b=>typeof b=="number"?"*":b).join("."),p=[u.join("."),h];for(let b=u.length-1;b>=0;b--){let v=u.slice(0,b).map(m=>typeof m=="number"?"*":m);v.push("*"),p.push(v.join("."))}for(let b of p){if(!b)continue;let v=_n(t,b);if(!v||!fo(v))continue;let m=v.content||v,g=m.querySelector(`[data-hcms-field="${Rr(d)}"]`)||m.querySelector("[data-hcms-field]");if(g)return g}return null}}function gi(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],n=t.split("/").pop()||t;try{return decodeURIComponent(n)}catch{return n}}function Lr({pageRules:e,formRules:t,data:n,doc:r}){let o=r.createDocumentFragment(),s=bi(e,[],n,r,e);return s&&o.appendChild(s),o}function _a({shape:e,itemShape:t,pathArr:n,data:r,doc:o,itemKey:s,pageRules:i}){if(e==="object-array-item")return Na(t,n,r,o,i);if(e==="scalar-array-item")return Ca(n,r,o,s||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function bi(e,t,n,r,o){let s=ur(e);return s==="scalar"?yd(e,t,n,r,o):s==="object"?Ad(e,t,n,r,o):s==="object-array"?Sd(e,t,n,r,o):s==="scalar-array"?Td(e,t,n,r):null}function yd(e,t,n,r,o){let s=uo(e,r,t,o),i=Mr(t,s,r);if(!i)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=ka(e,r,t,o);l==="@number"&&s==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "@number" but its value isn't a plain number; rendering a text input so the value is preserved`),(l==="@checkbox"||l==="@toggle")&&s==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${l}" but its value isn't true/false; rendering a text input so the value is preserved`),Oa(i,l===s?l:null,t);let a=Ir(i,r);jr(a,t);let u=i.getAttribute?.("data-hcms-tpl");if((s==="@select"||s==="@radio")&&u===s&&xd(a,e,t,n,r,s,o),s==="@image"&&u==="@image"){let d=xa(e,r,t,o);d!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",d)}return Ed(a,Dn(t)),Jo(a,Dn(t)),Zo(a,Dn(t)),ja(a,n),s==="@file"&&wd(a),a}function Oa(e,t,n){if(!t)return;let r=e.getAttribute?.("data-hcms-tpl");r&&r!==t&&console.info(`[hypercms] field "${n.join(".")}" declares component "${t}" but custom template "${r}" wins`)}function xd(e,t,n,r,o,s,i){let l=ya(t,o,n,i),a=l?[...l]:[],u=r==null?"":String(r);if(u!==""&&!a.includes(u)&&a.unshift(u),!l&&(vd(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(s==="@select"){let f=e.querySelector("select[data-hcms-field]");if(!f)return;for(let p of a){let b=o.createElement("option");b.value=p,b.textContent=$o(p),f.appendChild(b)}return}let d=e.querySelector(".mirk-radio");if(!d||!d.parentNode)return;let h=ki(n.join("."));for(let f of a){let p=d.cloneNode(!0),b=p.querySelector('input[type="radio"]');b&&(b.value=f,b.name=h);let v=p.querySelector(".mirk-radio__label");v&&(v.textContent=$o(f)),d.parentNode.insertBefore(p,d)}d.remove()}function ki(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function vd(e,t){let n=e.querySelector?e.querySelector(".hcms-error"):null;n&&(n.textContent=t,n.hidden=!1)}function wd(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=gi(t.getAttribute("href")))}function Ad(e,t,n,r,o){let s=Mr(t,"@object",r);if(!s)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let i=Ir(s,r);if(jr(i,t),Jo(i,Dn(t)),Zo(i,Dn(t)),fo(s))return Da(i,e,t),Pa(i,e,n),i;let l=Qo(i,".hcms-object-fields",s,t);for(let[a,u]of Object.entries(e)){let d=n==null?null:n[a],h=bi(u,[...t,a],d,r,o);h&&l.appendChild(h)}return i}function Sd(e,t,n,r,o){let s=Mr(t,"@object-array",r);if(!s)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let i=Ir(s,r);jr(i,t),Jo(i,Dn(t)),Zo(i,Dn(t)),Ra(i,s),Ia(i,s,t);let l=Qo(i,".hcms-array-items",s,t),[,a]=e;return(Array.isArray(n)?n:[]).forEach((d,h)=>{let f=Na(a,[...t,h],d,r,o);f&&l.appendChild(f)}),La(i),i}function Na(e,t,n,r,o){let s=Ma(t,"object-array-item",r);if(!s)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let i=Ir(s,r);if(i.setAttribute("data-hcms-card",""),i.classList.contains("hcms-card")||i.classList.add("hcms-card"),jr(i,t),fo(s))return e&&typeof e=="object"&&!Array.isArray(e)&&(Da(i,e,t),Pa(i,e,n)),i;let l=Qo(i,".hcms-card-fields",s,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,u]of Object.entries(e)){let d=n==null?null:n[a],h=bi(u,[...t,a],d,r,o);h&&l.appendChild(h)}return i}function Td(e,t,n,r){let o=zo(e,r),s=Vo(e,t,r),i=o?o.array:"@scalar-array",l=Mr(t,i,r);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Oa(l,o?o.array:null,t);let a=Ir(l,r);jr(a,t),Jo(a,Dn(t)),Zo(a,Dn(t)),Ra(a,l),Ia(a,l,t),s&&a.setAttribute("data-hcms-item-tpl",s.item);let u=Qo(a,".hcms-array-items",l,t);return(Array.isArray(n)?n:[]).forEach((h,f)=>{let p=Ca([...t,f],h,r,s?s.item:null);p&&u.appendChild(p)}),La(a),a}function Ca(e,t,n,r){let o=Ma(e,"scalar-array-item",n,r);if(!o)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let s=Ir(o,n);return s.setAttribute("data-hcms-array-item",""),s.classList.contains("hcms-array-item")||s.classList.add("hcms-array-item"),jr(s,e),ja(s,t),s}function Ma(e,t,n,r){let o=e.map(s=>typeof s=="number"?"*":s).join(".");return _n(n,o)||r&&_n(n,r)||_n(n,"@"+t)}function Ir(e,t){let n=e.content||e,r=t.createElement("div");return r.appendChild(n.cloneNode(!0)),r.firstElementChild||r}function jr(e,t){e.setAttribute("data-hcms-path",t.join("."))}function Ed(e,t){let n=t==null?"":String(t);if(e.matches&&e.matches("[data-hcms-field]")){e.getAttribute("data-hcms-field")||e.setAttribute("data-hcms-field",n);return}(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{o.getAttribute("data-hcms-field")||o.setAttribute("data-hcms-field",n)})}function Jo(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Zo(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(r=>{(r.textContent||"").trim()===""&&(r.textContent=$o(String(t)))})}function Ra(e,t){["data-hcms-no-add","data-hcms-no-remove","data-hcms-no-reorder"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,"")}),["data-hcms-min-items","data-hcms-max-items"].forEach(n=>{t.hasAttribute(n)&&e.setAttribute(n,t.getAttribute(n))})}function La(e){let t=e.querySelector?e.querySelector(".hcms-array-items"):null;if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=Ea(e,"data-hcms-max-items"),s=Ea(e,"data-hcms-min-items"),i=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector('[data-hcms-action="add"]');u&&(u.hidden=i||o!=null&&r>=o),n.forEach((d,h)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||s!=null&&r<=s);let p=d.querySelector('[data-hcms-action="move-up"]');p&&(p.hidden=a||h===0);let b=d.querySelector('[data-hcms-action="move-down"]');b&&(b.hidden=a||h===r-1)})}function Ea(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Ia(e,t,n){if(e.hasAttribute("data-hcms-no-reorder")||t.hasAttribute("data-hcms-no-reorder"))return;let r=e.querySelector(".hcms-array-items");if(!r)return;let o="hcms-"+n.join(".");r.setAttribute("sortable",o),r.setAttribute("onsorted","hypercmsCommit && hypercmsCommit()")}function Dn(e){return e.length?e[e.length-1]:null}function ja(e,t){let n=_d(e);if(n.length!==0)for(let r of n)Fa(r,t)}function _d(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Od(e)&&t.push(e),(e.querySelectorAll?e.querySelectorAll("input[data-hcms-field], textarea[data-hcms-field], select[data-hcms-field], img[data-hcms-field], a[data-hcms-field], [contenteditable][data-hcms-field]"):[]).forEach(r=>t.push(r)),t}function Od(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function Pa(e,t,n){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{let s=o.getAttribute("data-hcms-field");if(!s)return;if(!t||typeof t!="object"||!(s in t)){console.warn(`[hypercms] inline template field "${s}" is not in the rule shape; ignoring`);return}let i=n==null?null:n[s];Fa(o,i)})}function Da(e,t,n){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(o=>{let s=o.getAttribute("data-hcms-field");if(!s||t&&typeof t=="object"&&!(s in t))return;let i=[...n,s].join(".");o.setAttribute("data-hcms-path",i)})}function Qo(e,t,n,r){if(!e.querySelector)return e;let o=e.querySelector(t);if(o)return o;let s=n?.getAttribute?.("data-hcms-tpl")||r.join(".");throw new Error(`hypercms: template "${s}" is in slotted mode but has no ${t} element`)}function Fa(e,t){let n=Yo(e),r=(e.tagName||"").toUpperCase(),o=(e.getAttribute("type")||"").toLowerCase();if(r==="INPUT"&&o==="radio"){e.checked=e.value!=null&&String(e.value)===String(t??"");return}if(n==="checked"){e.checked=t===!0||t==="true";return}if(n){e[n]=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}var Nd={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,onSnapshot:(e,t)=>e?.onSnapshot??t?.onSnapshot,consent:(e,t)=>e?.confirm??t?.consent,RichClay:(e,t)=>e?.RichClay??t?.RichClay,quickcrop:(e,t)=>e?.quickcrop??t?.quickcrop,upload:(e,t)=>e?.upload??(t?.uploadFileBasic?Md(t.uploadFileBasic):null)},Cd={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},yi=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function Md(e){return async function(n,{onProgress:r,signal:o}={}){if(o?.aborted)return yi();try{let s=await e(n,{onProgress:l=>{r?.({loaded:null,total:null,percent:l})}});if(o?.aborted)return yi();let i=s&&s.uploads||[];return typeof i[0]?.url!="string"?{ok:!1,msg:"The host accepted the file but did not say where it put it",msgType:"error",code:"bad-response",uploads:[]}:{ok:!0,msg:s.msg||"Uploaded",msgType:s.msgType||"success",code:s.code||null,uploads:i}}catch(s){if(o?.aborted)return yi();let i={};try{i=JSON.parse(s?.response||"{}")}catch{i={}}let l=i.code||Cd[s?.status]||"error";return{ok:!1,msg:s&&s.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function Jt(e,t){let n=Nd[e];if(!n)throw new Error(`hypercms: unknown platform capability "${e}"`);let r=t||(typeof window<"u"?window:null);return r&&n(r.clay,r.hyperclay)||null}var qa=["clay:mutation-ready","hyperclay:mutation-ready"],Ba=["clay:sync-applied","hyperclay:livesync-applied"],Ha=["clay:ready","hyperclay:ready"];function Pr(e,t,n){let r=null,o=s=>{r!==null&&r!==s.type||(r=s.type,queueMicrotask(()=>{r=null}),n(s))};for(let s of t)e.addEventListener(s,o);return()=>{for(let s of t)e.removeEventListener(s,o)}}var On="data-hcms-bound",Yn="data-hcms-bound-id",xi=new Map;function $a(e,t){xi.set(e,t)}function Ua(e){xi.delete(e)}function za(e){let t=e.getAttribute(Yn);if(!t)return null;let n=xi.get(t);return!n||!n.restorable()?null:n.originalHTML}var fr="data-hcms-owns-richclay";function Dr(e){return e&&e.richclay&&e.richclay.RichClay||Jt("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function Va(e,t,n){!e||typeof e.setAttribute!="function"||(e.setAttribute(On,t?"rich":"plain"),n&&e.setAttribute(fr,"true"))}function Wa(e,t){if(!e||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll(`[${On}]`);if(!n.length)return;let r=Dr(t);if(r&&typeof r.stripFromClone=="function")try{r.stripFromClone(e)}catch(o){console.warn("[hypercms] richclay strip failed; editor state may reach the save",o)}for(let o of n)o.getAttribute(fr)==="true"&&o.removeAttribute("data-richclay"),o.removeAttribute(fr),o.removeAttribute(On)}function Ka(e,t){if(!e||typeof e.removeAttribute!="function")return;let n=Dr(t);if(n&&typeof n.stripElement=="function")try{n.stripElement(e)}catch(r){console.warn("[hypercms] richclay element strip failed; the clone stays editable",r)}else e.removeAttribute("contenteditable"),e.removeAttribute("no-undo");e.getAttribute(fr)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(fr),e.removeAttribute(On),e.removeAttribute(Yn)}function Ga(e,t){if(!t||e==null)return e;return n(e);function n(r){if(typeof r=="string"){if(r.endsWith("[]")||Vt(r)!==-1)return r;let o=null;try{o=t.querySelector(r)}catch{return r}return o&&o.children.length>0?r+"@innerHTML":r}if(Array.isArray(r))return r;if(r&&typeof r=="object"){let o=Object.create(null);for(let[s,i]of Object.entries(r))o[s]=n(i);return o}return r}}function Ya(e,t){if(!t||e==null)return e;return n(e,[t]);function n(r,o){if(typeof r=="string")return r.endsWith("[]")||Vt(r)!==-1?r:o.some(s=>Rd(s,r))?r+"@innerHTML":r;if(Array.isArray(r)){let[s,i]=r;if(typeof s!="string"||!s)return r;let l=Ld(t,s);return l.length?[s,n(i,l)]:r}if(r&&typeof r=="object"){let s=Object.create(null);for(let[i,l]of Object.entries(r))s[i]=n(l,o);return s}return r}}function Rd(e,t){let n=null;try{n=e.querySelector(t)}catch{return!1}return n?n.hasAttribute(On)?n.getAttribute(On)==="rich":n.children.length>0:!1}function Ld(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function Fr(e){if(!e||e.tagName!=="TEXTAREA")return;let t=e.ownerDocument.defaultView||(typeof window<"u"?window:null);t&&t.CSS&&t.CSS.supports&&t.CSS.supports("field-sizing: content")||(e.style.height="auto",e.style.height=e.scrollHeight+"px")}function Xn(e,t,n=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(Fr),n===!1))return;let r=t&&t.defaultView||(typeof window<"u"?window:null),o=Dr(r);o&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(s=>{if(s.__hcmsRichclay)return;let i;try{i=new o(s,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}s.__hcmsRichclay=i;let l=i&&i.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=r&&r.Event||Event;s.dispatchEvent(new a("input",{bubbles:!0}))})})}var vi=new WeakSet;function dr(e,t){let n=Jt("undo");if(!n)return t();n.pause();try{let r=t();return r&&r.ok?n.commitCaptured(e):n.discardCaptured(),r}finally{n.resume()}}function Fn(e){let t=Jt("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function ns(e){let{formRoot:t}=e;if(!t||vi.has(t))return;vi.add(t);let n=i=>{let l=i.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&Fr(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||Xa(l,e)))},r=i=>{let l=i.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){Hd(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&Xa(l,e)}},o=i=>{let l=i.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let u=a.getAttribute("data-hcms-action");if(u==="add"||u==="remove"||u==="move-up"||u==="move-down"||u==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(u==="close"&&!a.closest("[data-hcms-shell]"))return;if(u==="add"){let d=a.closest("[data-hcms-path]");if(!d)return;let h=d.getAttribute("data-hcms-path");ho(h,e)}else if(u==="remove"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Si(d,e)}else if(u==="move-up"||u==="move-down"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Ai(d,u==="move-up"?-1:1,e)}else u==="clear-upload"?Vd(a,e):u==="close"&&e.onCloseRequested?.()},s=t.ownerDocument;s.addEventListener("input",n,!0),s.addEventListener("change",r,!0),s.addEventListener("click",o,!0),e.detachEvents=()=>{s.removeEventListener("input",n,!0),s.removeEventListener("change",r,!0),s.removeEventListener("click",o,!0),vi.delete(t)}}var Id=new Set(["value","checked"]);function jd(e,t){if(!t)return null;let n=Pn(t);if(n.some(a=>typeof a=="number"||a==="*"))return null;let r=cr(e.pageRules,n);if(typeof r!="string")return null;let o=ln.ruleAttrIndex(r);if(o===-1)return null;let s=r.slice(o+1);if(!Id.has(s))return null;let i=r.slice(0,o),l=i?e.pageRoot.querySelector(i):e.pageRoot;return l?{el:l,prop:s,oldValue:l[s]}:null}function Xa(e,t){let r=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",o=jd(t,r);if(kn(fn(t),{path:r,structural:!1},t),o){let s=Jt("undo");s&&typeof s.recordValue=="function"&&s.recordValue(o.el,{prop:o.prop,oldValue:o.oldValue,newValue:o.el[o.prop]})}}var Pd={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function Dd(e,t){let n=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(n==null)return{file:e};let r=Jt("quickcrop");if(typeof r!="function")return{file:e};try{let o=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",s=await r(e,{aspect:Fd(n),modal:o,...Pd});return s===null?null:{file:qd(s.blob,e.name),dataURL:s.dataURL}}catch(o){return Br(t,o&&o.message||"Crop failed"),null}}function Fd(e){let t=String(e??"").trim().toLowerCase();if(t===""||t==="free")return null;let n=t.match(/^(\d+(?:\.\d+)?)\s*[:/]\s*(\d+(?:\.\d+)?)$/);if(!n)return null;let r=parseFloat(n[1]),o=parseFloat(n[2]);return!r||!o?null:r/o}function qd(e,t){let n=e.type==="image/webp"?".webp":e.type==="image/jpeg"?".jpg":".png",r=String(t||"image").replace(/\.[^.]+$/,"");try{return new File([e],r+n,{type:e.type})}catch{return e}}var Bd=new Set(["unsupported","payment-required"]);async function Hd(e,t){let n=e.files&&e.files[0];if(!n)return;let r=e.closest("[data-hcms-path]");if(!r)return;let o=r.getAttribute("data-hcms-path")||"";Br(r,null);let s=await Dd(n,r);if(!s||t.closed){Jn(e);return}let i=s.file,l=s.dataURL||null,a=Jt("upload");if(typeof a!="function")return wi(e,r,t,o,await Ja(i,l,r),i);tc(r,l),Za(r,0);let u=Ud(t),d;try{d=await a(i,{signal:u?.signal,onProgress:({percent:f})=>Za(r,f)})}finally{zd(t,u),Kd(r)}if(t.closed){Jn(e);return}if(d.code==="aborted"){Jn(e);return}if(d.ok)return wi(e,r,t,o,d.uploads[0].url,i);if(!Bd.has(d.code)){Br(r,d.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(d.msg||"Upload failed"),code:d.code,path:o}),Jn(e);return}let h=d.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return wi(e,r,t,o,await Ja(i,l,r),i,h)}function wi(e,t,n,r,o,s,i=null){if(n.closed){Jn(e);return}if(tc(t,null),Br(t,null),!o){Jn(e);return}ec(t,o,s.name),kn(fn(n),{path:r,structural:!1},n),i&&Br(t,i,"info"),Jn(e)}async function Ja(e,t,n){return t||await $d(e,n)}function $d(e,t){let n=t?.ownerDocument?.defaultView?.FileReader||globalThis.FileReader;return n?new Promise(r=>{let o=new n;o.onload=()=>r(typeof o.result=="string"?o.result:""),o.onerror=()=>r("");try{o.readAsDataURL(e)}catch{r("")}}):Promise.resolve("")}function Ud(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function zd(e,t){t&&e.uploads?.delete(t)}function Vd(e,t){let n=e.closest("[data-hcms-path]");if(!n)return;let r=n.getAttribute("data-hcms-path")||"";ec(n,"","");let o=n.querySelector('input[type="file"][data-hcms-upload]');o&&Jn(o),Br(n,null),kn(fn(t),{path:r,structural:!1},t)}function Wd(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function ec(e,t,n){let r=Wd(e);if(!r)return;let o=(r.tagName||"").toUpperCase();o==="IMG"?r.src=t||"":o==="A"&&(r.href=t||"",r.textContent=t?n||gi(t):"")}function Jn(e){try{e.value=""}catch{}}function tc(e,t){let n=e.querySelector?e.querySelector(".mirk-image__frame"):null;n&&(t?n.style.backgroundImage=`url("${t.replace(/"/g,"%22")}")`:n.style.removeProperty("background-image"))}function Za(e,t){let n=Math.max(0,Math.min(100,Number(t)||0));e.setAttribute("data-hcms-uploading",""),e.style?.setProperty?.("--hcms-upload-progress",`${n}%`)}function Kd(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function Br(e,t,n="error"){let r=e.querySelector?e.querySelector(":scope > .hcms-error"):null;r&&(r.classList.toggle("hcms-error--info",!!t&&n==="info"),t?(r.textContent=t,r.hidden=!1):(r.textContent="",r.hidden=!0))}function ho(e,t){let{formRoot:n,pageRules:r}=t,o=n.querySelector(`[data-hcms-path="${Hr(e)}"]`);if(!o)throw new Error(`hypercms: no element at path "${e}"`);let s=o.querySelector(".hcms-array-items");if(!s)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let i=Pn(e),l=Zd(r,i),a=Array.isArray(l),u=typeof l=="string"&&l.endsWith("[]");if(!a&&!u)throw new Error(`hypercms: path "${e}" is not an array`);let d=ts(o,"data-hcms-max-items"),h=s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(o.hasAttribute("data-hcms-no-add")||d!=null&&h.length>=d)return;let f=h.length,p=a?l[1]:l.replace(/\[\]$/,""),b=co(a?p:"string"),v=_a({shape:a?"object-array-item":"scalar-array-item",itemShape:p,pathArr:[...i,f],data:b,doc:t.doc,itemKey:o.getAttribute("data-hcms-item-tpl")||null,pageRules:r});return s.appendChild(v),Xn(v,t.doc,t.view?.enhanceFormRichText!==!1),Ei(o),dr(`Add ${e}`,()=>kn(fn(t),{path:e,structural:!0},t))}function Ai(e,t,n){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!r||r.hasAttribute("data-hcms-no-reorder"))return;let o=r.querySelector(".hcms-array-items");if(!o)return;let s=Array.from(o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),i=s.indexOf(e);if(i<0)return;let l=i+t;if(l<0||l>=s.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?o.insertBefore(e,s[l]):o.insertBefore(e,s[l].nextSibling),_i(o),Ei(r),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),dr(`Reorder ${r.getAttribute("data-hcms-path")||""}`,()=>kn(fn(n),{path:r.getAttribute("data-hcms-path")||"",structural:!0},n))}var es="Delete this item?";function Gd(e,t){let n=e&&e.getAttribute("data-hcms-confirm-remove");if(n!=null)return/^(off|false|no|0)$/i.test(n.trim())?null:n||es;let r=t&&t.confirmRemove;return r===!1?null:typeof r=="string"?r||es:r===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?es:null}function Si(e,t){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),r=Gd(n,t);if(r==null)return qr(e,t);let o=Jt("consent")||typeof window<"u"&&window.consent;typeof o=="function"?Promise.resolve(o(r)).then(()=>{t.closed||qr(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(r)&&qr(e,t):qr(e,t)}function qr(e,t){let n=e.getAttribute("data-hcms-path")||"",r=e.parentElement,o=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]');if(!o?.hasAttribute("data-hcms-no-remove")){if(o){let s=ts(o,"data-hcms-min-items"),i=o.querySelector(".hcms-array-items"),l=i?i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(s!=null&&l<=s)return}return e.remove(),r&&_i(r),o&&Ei(o),dr(`Remove ${n}`,()=>kn(fn(t),{path:n,structural:!0},t))}}function kn(e,t,n){if(n.closed)return{ok:!1,skipped:!0,closed:!0};let r=mo(e);if(!t.structural&&r===n.lastFingerprint)return{ok:!0,skipped:!0};let o=Object.hasOwn(n,"writeRules")?n.writeRules:n.pageRules,s=da(n.pageRoot,o,e,{shellRoot:n.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:n.formRoot});return s.ok?(n.lastFingerprint=r,n.lastData=e,Qa(n,null),n.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),n.onChange?.(e,t)):(Qa(n,Jd(s.error,t.path)),n.dispatch?.("hcms:error",{error:s.error,attemptedData:e}),n.onError?.(s.error)),s}function rs(e,t){let n=Hr(t),r=`[data-hcms-path="${n}"] input[data-hcms-field], [data-hcms-path="${n}"] textarea[data-hcms-field], [data-hcms-path="${n}"] select[data-hcms-field], [data-hcms-path="${n}"] img[data-hcms-field], [data-hcms-path="${n}"] a[data-hcms-field], [data-hcms-path="${n}"] [contenteditable][data-hcms-field], input[data-hcms-path="${n}"][data-hcms-field], textarea[data-hcms-path="${n}"][data-hcms-field], select[data-hcms-path="${n}"][data-hcms-field], img[data-hcms-path="${n}"][data-hcms-field], a[data-hcms-path="${n}"][data-hcms-field], [contenteditable][data-hcms-path="${n}"][data-hcms-field]`;return e.querySelector(r)}function os(e,t,n,r){let o=(e.tagName||"").toUpperCase(),s=(e.getAttribute("type")||"").toLowerCase();if(o==="INPUT"&&s==="checkbox"){e.checked=t===!0||t==="true";return}if(o==="INPUT"&&s==="radio"){let i=Hr(r),l=n.querySelectorAll(`[data-hcms-path="${i}"][data-hcms-field][type="radio"], [data-hcms-path="${i}"] [data-hcms-field][type="radio"]`);l.length?l.forEach(a=>{a.checked=String(a.value)===String(t??"")}):e.checked=String(e.value)===String(t??"");return}if(o==="IMG"){e.src=t==null?"":String(t);return}if(o==="A"){e.href=t==null?"":String(t);return}if(e.hasAttribute&&e.hasAttribute("contenteditable")){e.innerHTML=t==null?"":String(t);return}if("value"in e){e.value=t==null?"":String(t);return}e.textContent=t==null?"":String(t)}function fn(e){let t=ln.extract(e.formRoot,e.formRules,{exclude:null});return Zn(t,e.formRules)}function Zn(e,t){if(t==null||e==null)return e;if(typeof t=="string")return t.endsWith("@checked")?e===!0||e==="true":e;if(Array.isArray(t)){if(!Array.isArray(e))return e;let[,n]=t;return e.map(r=>Zn(r,n))}if(typeof t=="object"){if(typeof e!="object"||Array.isArray(e))return e;let n={};for(let[r,o]of Object.entries(t))n[r]=Zn(e[r],o);return n}return e}function Qa(e,t){e.lastErrors=t&&t.length?t:null,Ti(e)}function Ti(e){if(Yd(e),e.errorEl&&(e.errorEl.textContent="",e.errorEl.hidden=!0),!e.lastErrors)return;let t=[];for(let{message:n,path:r}of e.lastErrors){if(r!=null&&r!==""){let o=Xd(e.formRoot,r);if(o){o.textContent=o.textContent?`${o.textContent}
|
|
153
|
+
${n}`:n,o.hidden=!1;continue}}t.push(n)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
|
|
154
|
+
`),e.errorEl.hidden=!1)}function Yd(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function Xd(e,t){if(!e)return null;let n=t.split(".");for(;n.length>0;){let r=n.join("."),o=typeof CSS<"u"&&CSS.escape?CSS.escape(r):r.replace(/[^a-zA-Z0-9_\-.*]/g,i=>"\\"+i),s=e.querySelector(`[data-hcms-path="${o}"]`);if(s){for(let i of s.children)if(i.classList&&i.classList.contains("hcms-error"))return i}n.pop()}return null}function Jd(e,t){return e?e.name==="EmptyListInsert"?[{message:"Add a seed item in HTML first.",path:t}]:e.name==="ShapeMismatch"&&Array.isArray(e.mismatches)&&e.mismatches.length?e.mismatches.map(n=>({message:`Shape mismatch: expected ${n.expected}, got ${n.got}`,path:n.path})):[{message:e.message||String(e),path:t}]:[{message:"unknown error",path:t}]}function Zd(e,t){let n=e;for(let r of t){if(n==null||typeof n=="string")return;if(Array.isArray(n)){if(typeof r!="number"&&r!=="*")return;n=n[1];continue}if(typeof n=="object"){if(typeof r=="number"||!(r in n))return;n=n[r];continue}return}return n}function ts(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Ei(e){if(!e)return;let t=e.querySelector(".hcms-array-items");if(!t)return;let n=Array.from(t.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),r=n.length,o=ts(e,"data-hcms-max-items"),s=ts(e,"data-hcms-min-items"),i=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),u=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');u&&(u.hidden=i||o!=null&&r>=o),n.forEach((d,h)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||s!=null&&r<=s);let p=d.querySelector('[data-hcms-action="move-up"]');p&&(p.hidden=a||h===0);let b=d.querySelector('[data-hcms-action="move-down"]');b&&(b.hidden=a||h===r-1)})}function ss(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>_i(t))}function _i(e){let t=e.querySelectorAll?Array.from(e.querySelectorAll('input[type="radio"][data-hcms-field]'),r=>[r,r.checked]):[],n=0;for(let r of e.children){if(!r.matches?.("[data-hcms-card], [data-hcms-array-item]"))continue;let o=r.getAttribute("data-hcms-path");if(!o)continue;let s=o.split(".");s[s.length-1]=String(n);let i=s.join(".");i!==o&&Qd(r,o,i),n++}for(let[r,o]of t)r.checked!==o&&(r.checked=o)}function Qd(e,t,n){let r=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",n);for(let o of r){let s=o.getAttribute("data-hcms-path");s===t?o.setAttribute("data-hcms-path",n):s&&s.startsWith(t+".")&&o.setAttribute("data-hcms-path",n+s.slice(t.length))}eh(e)}function eh(e){for(let t of e.querySelectorAll('input[type="radio"][data-hcms-field]')){if(!t.name||!t.name.startsWith("hcms-"))continue;let n=t.closest("[data-hcms-path]");n&&(t.name=ki(n.getAttribute("data-hcms-path")))}}function mo(e){return JSON.stringify(e,(t,n)=>{if(n&&typeof n=="object"&&!Array.isArray(n)){let r=Object.create(null);for(let o of Object.keys(n).sort())r[o]=n[o];return r}return n})}function Hr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var ih={},is="hcms-shell-styles",th="hcms-bundled-styles-installed",ls="hcms-session-open",nh='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',$r=new WeakSet,Oi="";function rc(e){Oi=e}function po(e){e?.body?.classList.add(ls)}function Ni(e){e?.body?.classList.remove(ls)}var rh=0;function nc(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&","<":"<",">":">",'"':"""})[t])}function oc({mountTo:e,side:t="right",overlay:n=!1,showSaveButton:r=!1,title:o="Page content",eyebrow:s="Edit",theme:i=null,doc:l}){sc(l);let a=`hcms-shell-title-${++rh}`,u=l.createElement("div");u.setAttribute("data-hcms-shell",""),u.setAttribute("editor-ui",""),u.setAttribute("save-remove",""),u.setAttribute("save-ignore",""),u.setAttribute("tabindex","-1"),u.setAttribute("role","dialog"),u.setAttribute("aria-modal","true"),u.setAttribute("aria-labelledby",a);let d=i==="dark"?" dark":i==="light"?" light":"";u.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(n?" hcms-overlay":"")+d;let h=nc(o),f=nc(s);u.innerHTML=`
|
|
153
155
|
<div class="hcms-shell-minibar" aria-hidden="true">
|
|
154
|
-
<span class="hcms-shell-minibar-title">${
|
|
156
|
+
<span class="hcms-shell-minibar-title">${h}</span>
|
|
155
157
|
<button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
|
|
156
158
|
<span class="mirk-button__label">\xD7</span>
|
|
157
159
|
</button>
|
|
@@ -159,8 +161,8 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
159
161
|
<div class="hcms-shell-body">
|
|
160
162
|
<header class="hcms-shell-header">
|
|
161
163
|
<div class="hcms-shell-heading">
|
|
162
|
-
<div class="hcms-shell-eyebrow">${
|
|
163
|
-
<h2 class="hcms-shell-title" id="${
|
|
164
|
+
<div class="hcms-shell-eyebrow">${f}</div>
|
|
165
|
+
<h2 class="hcms-shell-title" id="${a}">${h}</h2>
|
|
164
166
|
</div>
|
|
165
167
|
<button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
|
|
166
168
|
<span class="mirk-button__label">\xD7</span>
|
|
@@ -169,14 +171,14 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
169
171
|
<div class="hcms-shell-notice" role="status" hidden></div>
|
|
170
172
|
<div class="hcms-shell-error" role="alert" hidden></div>
|
|
171
173
|
<div data-hcms-form-root class="hcms-form"></div>
|
|
172
|
-
<footer class="hcms-shell-footer"${
|
|
174
|
+
<footer class="hcms-shell-footer"${r?"":" hidden"}>
|
|
173
175
|
<button type="button" class="hcms-shell-save mirk-button" trigger-save>
|
|
174
176
|
<span class="mirk-button__label">Save</span>
|
|
175
177
|
</button>
|
|
176
178
|
</footer>
|
|
177
179
|
</div>
|
|
178
|
-
`,(e||
|
|
179
|
-
`),t.hidden=!1}function Wl(e){let t=e.unresolved&&e.unresolved.twins||[],r=t.map(n=>`${n.path}:${n.count}`).join("|");if(r!==e.lastTwinSignature){e.lastTwinSignature=r;for(let{path:n,count:i}of t)console.warn(`${zl} "${n}" matches ${i} elements; edits go to the first one.`)}}function Co(e){return[...new Set(e)]}function Kl(e){let t=new Map;for(let r of e){let n=t.get(r.path);(!n||r.count>n.count)&&t.set(r.path,r)}return[...t.values()]}function dt(e){return e.length?e.join("."):"(whole page)"}var Gl={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function je(e,{ignoreActiveValue:t}={}){return Yl(e,{ignoreActiveValue:t})}function Yl(e,{ignoreActiveValue:t}){let r=fe.findRules(e.doc,e.rulesSource||"cms");r&&(e.pageRules=e.view.prepareRules(r.rules),e.rulesTagNode=r.tagNode),Qt(e.doc),ir(e.doc,e.pageRules),e.formRules=sr(e.pageRules,e.doc),e.writeRules=vr(e.pageRules),e.unresolved=kr(e.pageRoot,e.pageRules);let n=Jt(),i=Le(fe.extract(e.pageRoot,e.pageRules,{...Gl,...n.hooks}),e.pageRules),o=tt({pageRules:e.pageRules,formRules:e.formRules,data:i,doc:e.doc});Yt(e.formRoot,o,{ignoreActiveValue:t}),n.seed(e.formRoot),Me(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),pn(e),ht(e),e.updateFingerprint&&e.updateFingerprint()}function Ro({debounce:e=100,onRefresh:t}){let r=ue("Mutation");if(!r||typeof r.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let n=r.onAnyChange({debounce:e},i=>{t(i)});return{unsubscribe:typeof n=="function"?n:()=>{}}}var Jl='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Mo({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null;return{name:"sidebar",richText:n,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(o){return n?fo(o,t):o},mount(o){let a=this.ctx;i=_e(()=>So({mountTo:r.mountTo||e.body,side:r.side||"right",overlay:!!r.overlay,showSaveButton:!!r.showSaveButton,title:r.title,eyebrow:r.eyebrow,theme:r.theme,doc:e})),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl;let s=tt({pageRules:a.pageRules,formRules:a.formRules,data:o,doc:e});i.formRoot.appendChild(s),a.seeder.seed(i.formRoot),Me(i.formRoot,e),ht(a),hr(a)},refresh(o){if(o==="livesync"){i?.restoreChrome?.(),je(this.ctx,{ignoreActiveValue:!0});return}if(o==="undo"){je(this.ctx,{ignoreActiveValue:!1});return}je(this.ctx)},focusOnOpen(){let o=this.root&&this.root.querySelector(Jl);o&&typeof o.focus=="function"&&o.focus()},destroy(){i?.destroy(),i=null}}}var Xl="[cms-template], [data-hcms-shell]";function jt(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Xl))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var Zl={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ql={skip:"[data-hcms-shell]",templateAttr:null},ec="text",tc="native",No="handle",rc=new Set(["INPUT","TEXTAREA","SELECT"]),jo=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function Sn(e,t){return nc(e,t)}function nc(e,t){let r=[],n=[],i=Ae(e);return An(i,e,t,[],r,n),{targets:r,lists:n}}function An(e,t,r,n,i,o){if(typeof r=="string"){if(r.endsWith("[]")){let m=r.slice(0,-2);if(!m)return;let y=xr(e,t,m);y.forEach((c,h)=>{i.push(Io([...n,h],c,r,null))}),o.push(Lo(e,t,n,m,y,!0));return}let a=ae(r),s=a===-1?null:r.slice(a+1),l=a===-1?r:r.slice(0,a),u=!l||l==="."?t:xr(e,t,l)[0];u&&i.push(Io(n,u,r,s));return}if(Array.isArray(r)){let[a,s]=r;if(typeof a!="string"||!a)return;let l=xr(e,t,a);l.forEach((u,m)=>An(e,u,s,[...n,m],i,o)),o.push(Lo(e,t,n,a,l,typeof s=="string"));return}if(r&&typeof r=="object")for(let[a,s]of Object.entries(r))An(e,t,s,[...n,a],i,o)}function Lo(e,t,r,n,i,o){let a=i[0]?i[0].parentElement:null;if(!a){let s=xr(e,t,n,Ql)[0];a=s?s.parentElement:null}return{path:r,items:i,container:a,scalar:o}}function Io(e,t,r,n){return{path:e,el:t,rule:r,attr:n,kind:ic(t,n),icon:sc(t,n)}}function ic(e,t){let r=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?jo.has(r)?No:ec:t==="value"&&rc.has(r)&&!e.readOnly&&!oc(e)?tc:No}function oc(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function sc(e,t){let r=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!jo.has(r)?null:r==="IMG"||t==="srcset"?"camera":r==="A"&&t==="href"?"paperclip":"pencil"}function xr(e,t,r,n=Zl){try{return e.find(t,r,n)}catch{return[]}}var Fo=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),ac=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),xm=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function En(e,t){if(!e||e.nodeType!==1)return!1;let r=e.getAttribute?.("clay");return!!(r&&r.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function lc(e,t){if(En(e,t))return!0;for(let[r,n]of Object.entries(ac))if(n.includes(t)&&En(e,r))return!0;return!1}function Ft(e){let t=Fo[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(r=>[`[clay~="${r}"]`,`[${r}]`]).join(", ")}function cc(e,t){let r=e&&e.nodeType===1?e:e?.parentElement;for(;r&&r.nodeType===1;){let n=Fo[t];if(!n)throw new Error(`Unknown region capability: ${t}`);if(n.tokens.some(i=>lc(r,i))||n.bundles.some(i=>En(r,i)))return r;r=r.parentElement}return null}function Do(e,t){return!!cc(e,t)}var uc=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function qo(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let r=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&r!=="checkbox"&&r!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let n=0;n<e.options.length;n++)t.options[n].selected=e.options[n].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function $o(e,t,r,n){if(n)return!!e.closest?.(t);let i=e;for(;i?.nodeType===1;){if(i.matches(t))return!0;if(i===r)break;i=i.parentElement}return!1}function Po(e,t,r,n,i,o,a,s){if(e.nodeType===1&&((a?Do(e,r):$o(e,n,o,!1))||i&&$o(e,i,o,a)))return null;let l=t.importNode(e,!1);s.cloneToLive.set(l,e),s.liveToClone.set(e,l);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,m=l.nodeType===1&&l.tagName==="TEMPLATE"?l.content:l;u!==e&&(s.cloneToLive.set(m,u),s.liveToClone.set(u,m));for(let y of u.childNodes||[]){let c=Po(y,t,r,n,i,o,a,s);c&&(m.appendChild(c),y.nodeType===1&&qo(y,c))}return e.nodeType===1&&qo(e,l),l}function _n(e,{capability:t="data",exclude:r=null,inherit:n=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let i=e.nodeType===9?e:e.ownerDocument;if(!i?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let o=i.implementation.createHTMLDocument(""),a=new WeakMap,s=new WeakMap,l=e.nodeType===9?e.documentElement:e;r&&o.documentElement.matches(r);let u=Ft(t),m=Po(l,o,t,u,r,l,n,{cloneToLive:a,liveToClone:s});e.nodeType===9&&m&&(o.replaceChild(m,o.documentElement),s.set(e,o),a.set(o,e));let y=c=>{if(uc.test(c))throw new Error(`Filtered content queries do not support stateful selector: ${c}`)};return{root:m,document:o,capability:t,selector:Ft(t),cloneToLive:a,liveToClone:s,original(c){return a.get(c)||null},cloneOf(c){return s.get(c)||null},query(c,h=m){return y(c),Array.from(h.querySelectorAll(c),f=>a.get(f)||f)},text(c=m){return(c===m?m:s.get(c))?.textContent||""},html(c=m){return(c===m?m:s.get(c))?.innerHTML??""},clone(c=m){let h=c===m?m:s.get(c);return h?o.importNode(h,!0):null}}}var dc=[16,8,0],de=8,hc=4;function Bo({anchor:e,bar:t,rail:r=t,viewport:n,current:i=null}){let o=c=>i===c?hc:0;if(e.bottom<=0||e.top>=n.height||e.right<=0||e.left>=n.width)return{mode:"hidden",x:0,y:0};let a=c=>Math.max(de,Math.min(e.left,n.width-c-de)),s=e.top-16-t.height;if(s>=de-o("above"))return{mode:"above",x:a(t.width),y:s};let l=e.bottom+16;if(l+t.height<=n.height-de+o("below"))return{mode:"below",x:a(t.width),y:l};let u=n.width-e.right-de,m=e.left-de,y=u>=m?[["rail-right",u],["rail-left",m]]:[["rail-left",m],["rail-right",u]];for(let[c,h]of y)for(let f of dc){if(r.width+f>h+o(c))continue;let b=c==="rail-right"?Math.min(e.right+f,n.width-r.width-de):Math.max(e.left-f-r.width,de),k=Math.min(e.bottom,n.height-de)-r.height,A=Math.max(de,Math.min(Math.max(e.top,de),k));return{mode:c,x:b,y:A,gap:f}}return{mode:"pinned",x:a(t.width),y:de}}function Tn({anchor:e,handle:t,viewport:r,inset:n=6,prefer:i="auto"}){let o=e.height>=t.height*1.5&&e.width>=t.width*2;if(i==="corner"||o){let c=Math.max(de,Math.min(e.right-t.width+n,r.width-t.width-de)),h=Math.max(de,Math.min(e.top-n,r.height-t.height-de));return{x:c,y:h,mode:"over"}}let a=4,s=e.right+a+t.width<=r.width-de,l=s?e.right+a:e.left-a-t.width,u=Math.max(de,l),m=e.top+e.height/2-t.height/2,y=Math.max(de,Math.min(m,r.height-t.height-de));return{x:u,y,mode:s?"beside-right":"beside-left"}}var Ar=!1;function zo(){if(Ar)return;let e=ue("onPrepareForSave");typeof e=="function"&&(e(t=>{Uo(t),Ho(t)}),Ar=!0)}function Ho(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",br)}function Uo(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${Re}]`)){let r=co(t);r!==null&&(t.innerHTML=r),t.removeAttribute(Re)}}var Sr=!1;function Er(){if(Sr)return;let e=ue("onSnapshot");typeof e=="function"&&(e(t=>{Uo(t),ho(t,typeof window<"u"?window:null),Ho(t)}),Sr=!0)}function Vo(){zo(),Er(),(!Ar||!Sr)&&mc()}var wr=null;function mc(){if(wr||typeof document>"u")return;wr=it(document,so,()=>{zo(),Er(),Ar&&Sr&&(wr?.(),wr=null)})}var fc={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function Ue(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",r=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${fc[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${r}</svg>`}var Wo="data-hcms-ghost",pc=Ft("history");function gc(e){let t=e.container,r=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)r=t,t=t.parentElement;return{parent:t,anchor:r}}function Ko({doc:e,themeRoot:t,onAdd:r,onResize:n}){let i=e.defaultView,o=[],a=!1,s=null,l=new Map;function u(h,f,b){h.style[f]!==b&&(h.style[f]=b)}function m(){let h=new Set(o.map(f=>f.node.parentElement));for(let[f,b]of l)h.has(f)&&i?.Sortable?.get(f)===b.instance||(b.instance.option("draggable")===b.selector&&b.instance.option("draggable",b.original),l.delete(f));for(let f of h){let b=i?.Sortable?.get(f);if(!b)continue;let k=b.option("draggable");if(l.get(f)?.selector===k)continue;let A=k,L=`${A.trim().startsWith(">")?"> ":""}:is(${A.trim().replace(/^>\s*/,"")}):not(${pc})`;b.option("draggable",L),l.set(f,{instance:b,original:A,selector:L})}}function y(){for(let h of o){let{node:f,slot:b,list:k}=h,A=k.items.filter(E=>E.isConnected).map(E=>E.getBoundingClientRect()).filter(E=>E.width>0&&E.height>0);A.length&&(h.width=A.reduce((E,L)=>E+L.width,0)/A.length,h.height=A.reduce((E,L)=>E+L.height,0)/A.length),u(f,"width",h.width?`${Math.round(h.width)}px`:"100%"),u(b,"height",`${Math.max(48,Math.round(h.height||64))}px`),b!==f&&(b.colSpan=Math.max(1,...k.items.map(E=>[...E.children].reduce((L,D)=>L+(D.colSpan||1),0)))),f.hidden!==a&&(f.hidden=a)}m()}function c(h,f){let b=f.tagName,k=["TBODY","THEAD","TFOOT","TABLE"].includes(b),A=e.createElement(k?"tr":["UL","OL","MENU"].includes(b)?"li":"div");for(let O of[Wo,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])A.setAttribute(O,"");A.setAttribute("draggable","false"),A.setAttribute("contenteditable","false"),A.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let O of["light","dark"])A.classList.toggle(O,!!t?.classList.contains(O));let E=k?e.createElement("td"):A;E!==A&&(E.className="hcms-inline-ghost-cell",A.appendChild(E));let L=e.createElement("button");L.type="button",L.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",L.setAttribute("data-hcms-list-action","add"),L.innerHTML=`<span class="mirk-button__label">${Ue("add")}<span>Add</span></span>`,E.appendChild(L);let D={node:A,slot:E,button:L,list:h,width:0,height:0};L.addEventListener("click",O=>{O.preventDefault(),O.stopPropagation(),r(D.list)});for(let O of["pointerdown","mousedown","touchstart","click"])A.addEventListener(O,W=>W.stopPropagation());return A.addEventListener("dragstart",O=>{O.preventDefault(),O.stopPropagation()}),D}return{setLists(h){let f=new Set(o),b=[],k=new Set(o.map(E=>E.node)),A=new Set;for(let E of h||[]){if(!E.container||!E.container.isConnected)continue;let{parent:L,anchor:D}=gc(E);if(!L)continue;if(!A.has(L)){for(let U of L.querySelectorAll(`:scope > [${Wo}]`))k.has(U)||U.remove();A.add(L)}let O=o.find(U=>f.has(U)&&U.list.container===E.container&&U.list.path.join(".")===E.path.join("."))||c(E,L);f.delete(O),O.list=E,O.button.setAttribute("data-hcms-list",E.path.join(".")),O.button.setAttribute("aria-label",`Add to ${E.path.join(".")||"the list"}`);let W=D||E.items.filter(U=>U.parentElement===L).at(-1);W?W.nextSibling!==O.node&&W.after(O.node):O.node.parentElement!==L&&L.appendChild(O.node),b.push(O)}for(let E of f)E.node.remove();o=b,s?.disconnect(),!s&&typeof i?.ResizeObserver=="function"&&(s=new i.ResizeObserver(()=>{y(),n?.()}));for(let E of o)for(let L of E.list.items)s?.observe(L);y()},update:y,setHidden(h){a=!!h,y()},destroy(){s?.disconnect();for(let h of o)h.node.remove();o=[],m()}}}var Go=[["move-up","Move up"],["move-down","Move down"]],bc={prefer:"corner",inset:0};function yc(e,t){return t.width<=e.width&&t.height<=e.height}function Yo({doc:e,layerEl:t,onActivate:r,onListAction:n}){let i=e.defaultView,o=[],a=new Map,s=0,l=new Map,u=null,m=new Set,y=0,c=!1,h=null,f=null,b=null,k=null,A=new Map,E=!1,L=null,D=Ko({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:W,onAdd:d=>n?.({action:"add",list:d,index:d.items.length})}),O=e.createElement("div");O.className="hcms-inline-highlight",O.hidden=!0,O.setAttribute("aria-hidden","true"),t.appendChild(O);function W(){if(!(y||!i)){if(typeof i.requestAnimationFrame!="function")return ie();y=i.requestAnimationFrame(()=>{y=0,ie()})}}let U=()=>b||k;function ie(){if(!i)return;D.update();let d={width:i.innerWidth,height:i.innerHeight},g=U();for(let p of o){if(!p.visible){p.node.hidden=!0;continue}for(let V of p.members)V.node.hidden=E&&V.kind!=="handle";p.node.hidden=!1;let S=p.el.getBoundingClientRect(),w=p.node.getBoundingClientRect(),R=w.width,B=p.kind==="row"&&!yc(S,w);if(B&&p.el!==g){for(let V of p.members)V.kind==="row"&&(V.node.hidden=!0);w=p.node.getBoundingClientRect()}if(p.members.every(V=>V.node.hidden)){p.node.hidden=!0;continue}let M=p.kind==="handle"?null:bc,{x:z,y:$}=Tn({anchor:S,handle:w,viewport:d,...M}),H=p.members.find(V=>V.kind==="handle");if(B&&H){let V=H.node.getBoundingClientRect(),se=Tn({anchor:S,handle:V,viewport:d}),he=p.members.slice(p.members.indexOf(H)+1).filter(Z=>!Z.node.hidden).reduce((Z,G)=>Z+G.node.getBoundingClientRect().width+2,0);z=Math.max(8+R,Math.min(d.width-8,se.x+V.width+he))-w.width,$=se.y}p.node.style.transform=`translate(${Math.round(z)}px, ${Math.round($)}px)`}if(L)if(!L.node.isConnected||L.node.closest("[hidden]"))ge();else{let p=L.button.getBoundingClientRect(),S=L.menu.getBoundingClientRect();L.menu.style.left=`${Math.max(8,p.right-S.width)-p.left}px`,L.menu.style.right="auto",L.menu.style.top=p.bottom+6+S.height>d.height-8?"auto":"calc(100% + 6px)",L.menu.style.bottom=p.bottom+6+S.height>d.height-8?"calc(100% + 6px)":"auto"}te(),h?.()}function ee(d){if(d?.closest?.("[data-hcms-ghost]"))return null;for(let g=d;g&&g.nodeType===1;g=g.parentElement){let p=A.get(g);if(p)return p}return null}function me(d){L&&!L.node.contains(d.target)&&ge();let g=U();k=ee(d.target),k&&t.contains(d.target)&&(b=null),U()!==g&&W()}function q(d){if(d.relatedTarget||!k)return;let g=U();k=null,U()!==g&&W()}function te(){if(!f||O.hidden)return;let d=f.getBoundingClientRect();O.style.width=`${Math.round(d.width)}px`,O.style.height=`${Math.round(d.height)}px`,O.style.transform=`translate(${Math.round(d.left)}px, ${Math.round(d.top)}px)`}function xe(){if(!i||typeof i.IntersectionObserver!="function"){for(let g of o)g.visible=!0;return}u||(u=new i.IntersectionObserver(g=>{let p=!1;for(let S of g)for(let w of a.get(S.target)||[])w.visible!==S.isIntersecting&&(w.visible=S.isIntersecting,p=!0);p&&W()},{threshold:0}));let d=new Set(a.keys());for(let g of m)d.has(g)||u.unobserve(g);for(let g of d)m.has(g)||u.observe(g);m=d}function Nr(){c||!i||(i.addEventListener("scroll",W,{passive:!0,capture:!0}),i.addEventListener("resize",W,{passive:!0}),e.addEventListener("focusin",me),e.addEventListener("focusout",q),e.addEventListener("pointerdown",v,!0),e.addEventListener("keydown",I,!0),c=!0)}function Lr(){!c||!i||(i.removeEventListener("scroll",W,{capture:!0}),i.removeEventListener("resize",W),e.removeEventListener("focusin",me),e.removeEventListener("focusout",q),e.removeEventListener("pointerdown",v,!0),e.removeEventListener("keydown",I,!0),c=!1)}function Bt(d){return`${d.kind}\0${d.attr||""}`}function mt(d,g){return d.container===g.container&&d.scalar===g.scalar}function zt(d,g){return d.kind!==g.kind?!1:d.kind==="handle"?Bt(d.target)===Bt(g.target):d.kind==="row"?d.row===g.row&&mt(d.list,g.list):mt(d.list,g.list)}function ft(d,g){d.target=g;let p=g.path.join(".");d.node.setAttribute("data-hcms-target",p),g.icon?d.node.setAttribute("data-hcms-icon",g.icon):d.node.removeAttribute("data-hcms-icon"),d.node.setAttribute("aria-label",`Edit ${p}`)}function Fe(d){let g=e.createElement("button");g.type="button",g.className="hcms-inline-handle mirk-button mirk-button--small",g.innerHTML=`<span class="mirk-button__label">${Ue("edit")}</span>`;let p={node:g,kind:"handle",target:d};return ft(p,d),g.addEventListener("click",S=>{S.preventDefault(),S.stopPropagation(),r?.(p.target,g)}),p}function pt(d,g){let p=e.createElement("button");return p.type="button",p.className="hcms-inline-list-button mirk-button mirk-button--small",p.setAttribute("data-hcms-list-action",d),p.setAttribute("aria-label",g),p.innerHTML=`<span class="mirk-button__label">${Ue(d)}${d==="add"?"<span>Add</span>":""}</span>`,p}function we(d,{list:g,row:p,rowIndex:S,count:w}){let R=g.path.join(".");d.list=g,d.row=p,d.index=S,d.count=w,d.node.setAttribute("data-hcms-list",R),d.node.setAttribute("data-hcms-row",String(S));for(let B of d.node.querySelectorAll("[data-hcms-list-action]")){let M=B.getAttribute("data-hcms-list-action"),z=Go.find(([$])=>$===M)?.[1]||M;B.setAttribute("aria-label",`${z} ${R}.${S}`),B.disabled=M==="move-up"&&S===0||M==="move-down"&&S===w-1}}function Ir(d,g,p,S){let w=e.createElement("div");w.className="hcms-inline-row-controls";let R={node:w,kind:"row",list:d,row:g,index:p,count:S};for(let[B,M]of Go){let z=pt(B,M);z.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),!z.disabled&&n?.({action:B,list:R.list,index:R.index,row:R.row})}),w.appendChild(z)}return we(R,{list:d,row:g,rowIndex:p,count:S}),R}function ge(d=!1){if(!L)return;let g=L;L=null,g.menu.hidden=!0,g.button.setAttribute("aria-expanded","false"),g.node.parentElement?.classList.remove("has-open-settings"),d&&g.button.isConnected&&g.button.focus({preventScroll:!0})}function v(d){L&&!L.node.contains(d.target)&&ge()}function I(d){L&&(d.key==="Escape"?(d.preventDefault(),d.stopPropagation(),ge(!0)):d.key==="Tab"?ge(!0):["ArrowDown","ArrowUp","Home","End"].includes(d.key)&&L.menu.contains(d.target)&&(d.preventDefault(),L.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function N(d,{list:g,row:p,rowIndex:S}){Object.assign(d,{list:g,row:p,index:S}),d.node.setAttribute("data-hcms-list",g.path.join(".")),d.node.setAttribute("data-hcms-row",String(S)),d.button.setAttribute("aria-label",`Settings ${g.path.join(".")}.${S}`)}function F(d){let g=e.createElement("div");g.className="hcms-inline-settings";let p=pt("settings","Settings");p.setAttribute("aria-haspopup","menu"),p.setAttribute("aria-expanded","false");let S=e.createElement("div");S.className="hcms-inline-settings-menu",S.setAttribute("role","menu"),S.setAttribute("aria-label","Item settings"),S.hidden=!0;let w=e.createElement("button");w.type="button",w.setAttribute("role","menuitem"),w.setAttribute("data-hcms-list-action","remove"),w.textContent="Delete",S.appendChild(w),g.append(p,S);let R={node:g,button:p,menu:S,kind:"settings"};N(R,d);let B=()=>{ge(),L=R,S.hidden=!1,p.setAttribute("aria-expanded","true"),g.parentElement.classList.add("has-open-settings"),w.focus({preventScroll:!0}),W()};return p.addEventListener("click",M=>{M.preventDefault(),M.stopPropagation(),L===R?ge(!0):B()}),p.addEventListener("keydown",M=>{(M.key==="ArrowDown"||M.key==="ArrowUp")&&(M.preventDefault(),B())}),w.addEventListener("click",M=>{M.preventDefault(),M.stopPropagation(),ge(!0),n?.({action:"remove",list:R.list,index:R.index,row:R.row})}),R}function j(d,g){d.kind==="handle"?ft(d,g.target):d.kind==="row"?we(d,g):d.kind==="settings"&&N(d,g)}function P(d,g,p,S,w){let R=g.get(p)?.find(B=>B.category===w);if(!R){R={el:p,category:w,members:[]},d.push(R);let B=g.get(p);B?B.push(R):g.set(p,[R])}R.members.push(S)}function _(d,g,p){let S=p.items||[];S.forEach((w,R)=>{jt(w)&&(P(d,g,w,{kind:"row",list:p,row:w,rowIndex:R,count:S.length},"item"),P(d,g,w,{kind:"settings",list:p,row:w,rowIndex:R},"item"))})}function T(d,g){let p=new Set(d.members),S=[];for(let w of g){let R=d.members.find(B=>p.has(B)&&zt(B,w))||(w.kind==="handle"?Fe(w.target):w.kind==="row"?Ir(w.list,w.row,w.rowIndex,w.count):F(w));p.delete(R),j(R,w),E&&R.kind!=="handle"&&(R.node.hidden=!0),S.push(R)}for(let w of p)w===L&&ge(),w.node.remove();S.sort((w,R)=>["row","handle","settings"].indexOf(w.kind)-["row","handle","settings"].indexOf(R.kind)),S.forEach((w,R)=>{d.node.children[R]!==w.node&&d.node.insertBefore(w.node,d.node.children[R]||null)}),d.members=S}function C(d,g){let p=[],S=new Map,w=new Map,R=0;for(let $ of d||[])w.has($.el)||w.set($.el,$),!($.kind!=="handle"||!jt($.el))&&(P(p,S,$.el,{kind:"handle",target:$},"item"),R++);for(let $ of g||[])_(p,S,$);let B=new Set(o),M=new Map;for(let $ of o)M.has($.el)||M.set($.el,$.visible);let z=[];for(let $ of p){let H=o.find(V=>B.has(V)&&V.el===$.el&&V.category===$.category);if(!H){let V=e.createElement("div");V.className="hcms-inline-item-controls",V.setAttribute("role","group"),H={el:$.el,node:V,category:$.category,kind:$.category==="add"?"add":"handle",members:[],visible:M.get($.el)??!1},t.appendChild(V)}B.delete(H),H.el=$.el,H.category=$.category,T(H,$.members),H.kind=H.members.some(V=>V.kind==="row")?"row":H.members.some(V=>V.kind==="handle")?"handle":"add",H.node.setAttribute("aria-label",H.category==="add"?"List controls":"Item controls"),z.push(H)}for(let $ of B)$.node.remove();o=z,a=new Map,A=new Map;for(let $ of o){let H=a.get($.el);H?H.push($):a.set($.el,[$]);for(let V of $.members)V.kind!=="row"&&V.kind!=="settings"||(A.set(V.row,V.row),A.set(V.node,V.row),A.set($.node,V.row))}b&&!A.has(b)&&(b=null),k&&!A.has(k)&&(k=null),l=w,s=R}function x(){ge(),u?.disconnect(),u=null,m=new Set;for(let d of o)d.node.remove();o=[],a=new Map,l=new Map,A=new Map,s=0}return{setTargets(d,g){C(d,g),D.setLists(g),xe(),Nr(),W()},refresh:W,get count(){return s},get controlsHidden(){return E},setControlsHidden(d){if(E=!!d,D.setHidden(E),E){ge();for(let g of o){for(let p of g.members)p.kind!=="handle"&&(p.node.hidden=!0);g.members.every(p=>p.node.hidden)&&(g.node.hidden=!0)}}W()},elementToTarget(d){if(d?.closest?.("[data-hcms-ghost]"))return null;for(let g=d;g&&g.nodeType===1;g=g.parentElement){let p=l.get(g);if(p)return p}return null},setHoveredRow(d){let g=U();b=d?ee(d):null,U()!==g&&W()},showHighlight(d){d&&(f=d,O.hidden=!1,te())},hideHighlight(){f=null,O.hidden=!0},setFollower(d){h=typeof d=="function"?d:null},destroy(){D.destroy(),y&&i&&i.cancelAnimationFrame(y),y=0,h=null,f=null,b=null,k=null,O.remove(),Lr(),x()}}}var kc="hypercms-inline",$t="is-hcms-inline-active",Cn="is-hcms-inline-onpath",Jo='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',vc=["bold","italic","link","undo","redo"],xc=/^H[1-6]$/,wc=0;function Qo({doc:e,pageRoot:t,opts:r={}}){let n=r.richText!==!1,i=null,o=null,a=null,s=new Map,l=null,u=null,m=null;function y(c,h,f,b,k){let A=ot(e.defaultView);if(typeof A!="function")return null;let E=k||{},L=E.originalHTML??_n(h,{capability:"history"}).html(),D=E.richClayIsOurs??!h.hasAttribute("data-richclay"),O=E.adopted??h.getAttribute("data-richclay-active")==="true",W=Dt(h,b,"history"),U=Ac(c,A,h,b,D);if(!U)return null;uo(h,b==="innerHTML",D);let ie=String(++wc);h.setAttribute(Re,ie),Er();let ee={el:h,editor:U,path:f,prop:b,boundId:ie,originalHTML:L,oldValue:W,richClayIsOurs:D,adopted:O,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};s.set(h,ee),ao(ie,ee);let me=U.squire;if(me&&typeof me.addEventListener=="function"){let te=()=>{ee.dirty=!0,ee.lastEdited=Dt(h,ee.prop,"history"),Sc(c,ee)};me.addEventListener("input",te),ee.detachInput=()=>me.removeEventListener?.("input",te)}let q=()=>es(ee);return h.addEventListener("blur",q),ee.detachBlur=()=>h.removeEventListener("blur",q),ee}return{name:"inline",richText:n,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(c){return n?po(c,t):c},bindText(c,h,f,b){return y(this.ctx,c,h,f,b)},mount(c){let h=this.ctx;i=Oc(e,r.theme),this.root=i.root,this.formRoot=i.formRoot,this.errorEl=i.errorEl,this.noticeEl=i.noticeEl,this.handoffEl=i.handoffEl,this.handoffCountEl=i.handoffCountEl,this.popEl=i.popEl,_e(()=>It(e));let f=tt({pageRules:h.pageRules,formRules:h.formRules,data:c,doc:e});i.formRoot.appendChild(f),h.seeder.seed(i.formRoot),Me(i.formRoot,e,this.enhanceFormRichText),ht(h),hr(h),o=Yo({doc:e,layerEl:i.layerEl,onActivate:(b,k)=>this.activate(b,k),onListAction:b=>this.listAction(b)}),o.setFollower(()=>this.placePopover()),i.closeEl.addEventListener("click",()=>this.deactivate()),i.toggleEl.addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),this.toggleControls()}),i.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",b=>{b.preventDefault(),b.stopPropagation(),h.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:c,list:h,index:f,row:b}){let k=this.ctx,A=h.path.join("."),E=k.formRoot.querySelector(`[data-hcms-path="${ct(A)}"]`);if(!E)return;if(c==="add"){Nt(A,k);return}let L=b?Mc(k,A,b):f;if(L===-1)return;let D=Rc(E,L);if(D){if(c==="remove"){fn(D,k),this.syncTargets();return}mn(D,c==="move-up"?-1:1,k),this.syncTargets()}},toggleControls(){if(!o||!i)return;let c=!o.controlsHidden;o.setControlsHidden(c),i.toggleEl.setAttribute("aria-pressed",String(c));let h=i.toggleEl.querySelector(".mirk-button__label");h&&(h.textContent=c?"Show controls":"Hide controls")},bindPage(){let c=this.ctx.pageRoot,h=i.root,f=D=>{let O=o&&o.elementToTarget(D.target);O?o.showHighlight(O.el):o?.hideHighlight(),o?.setHoveredRow(D.target)},b=()=>{o?.hideHighlight(),o?.setHoveredRow(null)},k=D=>{if(h.contains(D.target))return;let O=o&&o.elementToTarget(D.target);!O||O.kind!=="text"||s.has(O.el)||y(this.ctx,O.el,O.path.join("."),Tr(O))},A=D=>{if(h.contains(D.target))return;let O=o&&o.elementToTarget(D.target);if(!O){this.deactivate();return}(typeof D.target.closest=="function"&&D.target.closest("a[href]")||O.kind!=="text")&&D.preventDefault(),this.activate(O)},E=D=>{D.key==="Escape"&&this.deactivate()},L=D=>{let O=D.detail;if(!(!O||O.pageRoot!==this.ctx.pageRoot||!O.path))for(let W of s.values())W.path===O.path&&(W.written=!0)};c.addEventListener("pointerover",f),c.addEventListener("pointerleave",b),c.addEventListener("pointerdown",k),c.addEventListener("click",A),h.addEventListener("keydown",E),e.addEventListener("hcms:change",L),a=()=>{c.removeEventListener("pointerover",f),c.removeEventListener("pointerleave",b),c.removeEventListener("pointerdown",k),c.removeEventListener("click",A),h.removeEventListener("keydown",E),e.removeEventListener("hcms:change",L)}},activate(c,h){if(!c||!i||c.kind==="text"&&this.activateText(c))return;let f=Xo(this,i,c.path.join("."));if(!f){this.deactivate();return}l=c,u=h||null,m=null,i.popEl.hidden=!1,i.formRoot.querySelectorAll(`.${$t}`).forEach(Zo),this.placePopover(),Cc(f)},activateText(c){let h=c.el,f=s.get(h);if(f)return _r(f),!0;let b=y(this.ctx,h,c.path.join("."),Tr(c));return b?(_r(b),!0):!1},placePopover(){if(!i||!l||i.popEl.hidden)return;let c=e.defaultView;if(!c)return;let h={width:c.innerWidth,height:c.innerHeight},f=l.el.getBoundingClientRect(),b=i.popEl.getBoundingClientRect(),{mode:k,x:A,y:E}=Bo({anchor:f,bar:b,viewport:h,current:m});m=k,i.popEl.style.transform=`translate(${Math.round(A)}px, ${Math.round(E)}px)`},deactivate(){if(!i||!l&&i.popEl.hidden)return;i.popEl.hidden=!0,rs(i.root);let c=u;if(l=null,u=null,m=null,c&&e.contains(c)&&typeof c.focus=="function")try{c.focus({preventScroll:!0})}catch{c.focus()}},syncTargets(){if(!o)return;let c=this.ctx,{targets:h,lists:f}=Sn(c.pageRoot,c.pageRules);o.setTargets(h,f);let b=Ec(this,s,h,e);if(l){let A=b.get(l.el)||[],E=A.find(L=>_c(L,l))||A.find(L=>L.path.join(".")===l.path.join("."))||(A.length===1?A[0]:null);E?l=E:this.deactivate()}Tc(this.ctx,s,e);let k=h.reduce((A,E)=>A+(jt(E.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=k===0?"":`${k} ${k===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=k===0)},refresh(c,h){c==="livesync"?(Ie(e),It(e),je(this.ctx,{ignoreActiveValue:!0})):c==="undo"?je(this.ctx,{ignoreActiveValue:!1}):je(this.ctx),this.syncTargets(),(c==="livesync"||c==="undo")&&this.rebindText(c),this.restoreActive()},rebindText(c){let h=c!=="undo";for(let[f,b]of[...s]){if(!e.contains(f)){qt(this.ctx,b,{restore:!1,record:h}),s.delete(f);continue}if(f.hasAttribute(ve)){let E=Dt(f,b.prop);E!==b.lastEdited&&(b.oldValue=E,b.lastEdited=void 0);continue}let k=e.activeElement===f;qt(this.ctx,b,{restore:!1,record:h}),s.delete(f);let A=y(this.ctx,f,b.path,b.prop,{richClayIsOurs:b.richClayIsOurs,adopted:b.adopted});A&&k&&_r(A)}},restoreActive(){if(!i||!l||i.popEl.hidden)return;if(!e.contains(l.el)){this.deactivate();return}if(!Xo(this,i,l.path.join("."))){this.deactivate();return}i.formRoot.querySelectorAll(`.${$t}`).forEach(Zo),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){u=null,this.deactivate();for(let c of s.values())qt(this.ctx,c);s.clear(),a?.(),a=null,o?.destroy(),o=null,i?.destroy(),i=null,kn(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function Ac(e,t,r,n,i){return _e(()=>{let o=null;try{o=new t(r,{inline:!0,hyperclay:!1,toolbar:n==="innerHTML"?vc:!1,...xc.test(r.tagName)?{singleLine:!0}:null})}catch(a){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",a),null}if(o.unsupported||!o.active){if(i)try{o.destroy()}catch{}return null}return typeof o.reattach=="function"&&o.reattach(),o})}function Sc(e,{path:t,el:r,prop:n}){let i=mr(e.formRoot,t);i&&(fr(i,Dt(r,n),e.formRoot,t),be(pe(e),{path:t,structural:!1},e))}function Dt(e,t,r="data"){let n=_n(e,{capability:r});return t==="innerHTML"?n.html():n.text().trim()}function es(e){let{el:t,prop:r,oldValue:n,lastEdited:i}=e,o=i;if(o===void 0||o===n)return;e.oldValue=o;let a=ue("undo");if(!a||typeof a.recordValue!="function")return;let s={prop:r,oldValue:n,newValue:o,read:l=>Dt(l,r,"history"),write:(l,u)=>ts(l,r,u)};a.isPaused?queueMicrotask(()=>{t.isConnected&&a.recordValue(t,s)}):a.recordValue(t,s)}function ts(e,t,r){let n=e.cloneNode(!1);t==="innerHTML"?n.innerHTML=r:n.textContent=r,kt(e,Array.from(n.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function qt(e,t,{restore:r=!0,record:n=!0}={}){n&&es(t),t.detachInput?.(),t.detachBlur?.(),_e(()=>{if(!t.adopted){try{t.editor.destroy()}catch(i){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",i)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(ve),t.el.removeAttribute(ze),t.el.removeAttribute(Re),lo(t.boundId),r&&t.restorable()&&ts(t.el,"innerHTML",t.originalHTML)})}function _r(e){let{editor:t,el:r}=e;if(r.ownerDocument.activeElement!==r)try{typeof t.focus=="function"?t.focus():r.focus()}catch{}}function Ec(e,t,r,n){let i=new Map;for(let o of r){let a=i.get(o.el);a?a.push(o):i.set(o.el,[o])}for(let[o,a]of[...t]){let s=i.get(o)||[],l=s.find(c=>Tr(c)===a.prop)||s[0];if(!l){qt(e.ctx,a,{restore:!0}),t.delete(o);continue}a.path=l.path.join(".");let u=Tr(l);if(u===a.prop)continue;let m=n.activeElement===o;qt(e.ctx,a,{restore:!1}),t.delete(o);let y=e.bindText(o,a.path,u,{richClayIsOurs:a.richClayIsOurs,adopted:a.adopted,originalHTML:a.originalHTML});y&&m&&_r(y)}return i}function _c(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Tr(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function Tc(e,t,r){for(let n of e.pageRoot.querySelectorAll(`[${ve}]`))t.has(n)||_e(()=>mo(n,r.defaultView))}function Xo(e,t,r){let n=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${ct(r)}"]`);if(rs(t.root),!n)return null;let i=n.closest("[data-hcms-card]"),o=i?[...i.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(a=>a.closest("[data-hcms-card]")===i&&a.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===i.parentElement.closest('[data-hcms-shape="object-array"]')):[n];o.includes(n)||o.push(n);for(let a of o){a.classList.add($t),a.removeAttribute("draggable");for(let s=a.parentElement;s&&(s.classList.add(Cn),s.removeAttribute("draggable"),s!==e.formRoot);s=s.parentElement);}return n}function rs(e){if(e)for(let t of e.querySelectorAll(`.${$t}, .${Cn}`))t.classList.remove($t,Cn)}function Zo(e){e.tagName==="TEXTAREA"&&st(e),e.querySelectorAll?.("textarea").forEach(st)}function Cc(e){let t=e.matches?.(Jo)?e:e.querySelector?.(Jo);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function Oc(e,t){Ie(e);let r=e.createElement(kc),n=t==="dark"?" dark":t==="light"?" light":"";return r.className="hcms-shell pixel-quiet hcms-inline"+n,r.setAttribute("data-hcms-shell",""),r.setAttribute("editor-ui",""),r.setAttribute("no-save",""),r.setAttribute("save-remove",""),r.setAttribute("snapshot-remove",""),r.setAttribute("no-watch",""),r.setAttribute("tabindex","-1"),r.innerHTML=`
|
|
180
|
+
`,(e||l.body).appendChild(u);let b=l.body;b.classList.add("hcms-open"),po(l),n&&b.classList.add("hcms-overlay"),t==="left"&&b.classList.add("hcms-side-left");let v=sh(u,l),m=oh(u);return{root:u,formRoot:u.querySelector("[data-hcms-form-root]"),noticeEl:u.querySelector(".hcms-shell-notice"),errorEl:u.querySelector(".hcms-shell-error"),saveButton:u.querySelector(".hcms-shell-save"),destroy(){v.detach(),m.detach(),u.remove(),b.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),Ni(l)},restoreChrome(){Qn(l),b.classList.add("hcms-open"),po(l),n&&b.classList.add("hcms-overlay"),t==="left"&&b.classList.add("hcms-side-left")}}}function Qn(e){e&&(e.getElementById(is)||e.querySelector("style[data-hcms-bundled-styles]")||($r.delete(e),sc(e)))}function sc(e){if(e&&!$r.has(e)){if(e[th]){$r.add(e);return}if(e.getElementById(is)||e.querySelector("style[data-hcms-bundled-styles]")){$r.add(e);return}if(Oi){let t=e.createElement("style");t.id=is,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Oi,(e.head||e.documentElement).appendChild(t),$r.add(e);return}try{let t=new URL("./theme.generated.css",ih.url).href,n=e.createElement("link");n.rel="stylesheet",n.id=is,n.setAttribute("save-remove",""),n.setAttribute("save-ignore",""),n.href=t,(e.head||e.documentElement).appendChild(n),$r.add(e)}catch{let n=()=>{link.isConnected&&console.warn("hypercms: shell stylesheet not applied \u2014 cssText is empty and the co-located theme fallback is unavailable. Call installStyles(themeText) before opening the CMS.")};e.defaultView?.queueMicrotask?e.defaultView.queueMicrotask(n):n()}}}function oh(e){let t=e.querySelector(".hcms-shell-body"),n=e.querySelector(".hcms-shell-header");if(!t||!n||typeof t.addEventListener!="function")return{detach(){}};let r=()=>{let o=(n.offsetHeight||0)-12;e.classList.toggle("is-condensed",t.scrollTop>o)};return t.addEventListener("scroll",r,{passive:!0}),r(),{detach(){t.removeEventListener("scroll",r)}}}function sh(e,t){function n(r){if(r.key!=="Tab"||!e.contains(t.activeElement))return;let o=Array.from(e.querySelectorAll(nh));if(o.length===0)return;let s=o[0],i=o[o.length-1];r.shiftKey&&t.activeElement===s?(r.preventDefault(),i.focus()):!r.shiftKey&&t.activeElement===i&&(r.preventDefault(),s.focus())}return t.addEventListener("keydown",n),{detach:()=>t.removeEventListener("keydown",n)}}var lh="[hypercms]",ic={skip:"[data-hcms-shell]",templateAttr:"cms-template"},lc={skip:"[data-hcms-shell]",templateAttr:null},Ci=class extends Error{constructor(t,n,r){super(`hypercms: rule at "${t}" has an invalid CSS selector: "${n}"`),this.name="InvalidRuleSelector",this.path=t,this.selector=n,this.cause=r}};function cs(e,t){let n=[],r=[],o=[];return Ri(jn(e),e,t,[],n,r,o),{missing:ac(n),twins:dh(r),readOnly:ac(o)}}function us(e){return Mi(e)}function Mi(e){if(typeof e=="string")return cc(e)?void 0:e;if(Array.isArray(e)){let[t,n]=e;return[t,Mi(n)]}if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e)){let o=Mi(r);o!==void 0&&(t[n]=o)}return t}return e}function Ri(e,t,n,r,o,s,i){if(typeof n=="string"){let l=ah(n),a=l?as(e,t,l,ic,r):[];if(cc(n)){i.push(Ur(r));return}if(!l)return;if(n.endsWith("[]")){a.length===0&&as(e,t,l,lc,r).length===0&&o.push(Ur(r));return}a.length===0?o.push(Ur(r)):a.length>1&&s.push({path:Ur(r),count:a.length});return}if(Array.isArray(n)){let[l,a]=n;if(typeof l!="string"||!l)return;let u=as(e,t,l,ic,r);if(u.length===0){as(e,t,l,lc,r).length===0&&o.push(Ur(r));return}for(let d of u)Ri(e,d,a,[...r,"*"],o,s,i);return}if(n&&typeof n=="object")for(let[l,a]of Object.entries(n))Ri(e,t,a,[...r,l],o,s,i)}function as(e,t,n,r,o){try{return e.find(t,n,r)}catch(s){throw new Ci(Ur(o),n,s)}}function ah(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=Vt(e);return(t===-1?e:e.slice(0,t))||null}function ch(e){if(e.endsWith("[]"))return null;let t=Vt(e);return t===-1?null:e.slice(t+1)||null}function cc(e){let t=ch(e);return t!=null&&eo.has(t)}function zr(e){uh(e),fh(e)}function uh(e){let t=e.noticeEl;if(!t)return;let n=e.unresolved&&e.unresolved.missing||[],r=e.unresolved&&e.unresolved.readOnly||[];if(n.length===0&&r.length===0){t.textContent="",t.hidden=!0;return}let o=[];if(n.length){let s=n.length===1?"1 field no longer matches this page":`${n.length} fields no longer match this page`;o.push(`${s}: ${n.join(", ")}`)}if(r.length){let s=r.length===1?"1 field reads a property the browser will not let anything write":`${r.length} fields read properties the browser will not let anything write`;o.push(`${s}: ${r.join(", ")}`)}t.textContent=o.join(`
|
|
181
|
+
`),t.hidden=!1}function fh(e){let t=e.unresolved&&e.unresolved.twins||[],n=t.map(r=>`${r.path}:${r.count}`).join("|");if(n!==e.lastTwinSignature){e.lastTwinSignature=n;for(let{path:r,count:o}of t)console.warn(`${lh} "${r}" matches ${o} elements; edits go to the first one.`)}}function ac(e){return[...new Set(e)]}function dh(e){let t=new Map;for(let n of e){let r=t.get(n.path);(!r||n.count>r.count)&&t.set(n.path,n)}return[...t.values()]}function Ur(e){return e.length?e.join("."):"(whole page)"}var hh={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function er(e,{ignoreActiveValue:t}={}){return mh(e,{ignoreActiveValue:t})}function mh(e,{ignoreActiveValue:t}){let n=ln.findRules(e.doc,e.rulesSource||"cms");n&&(e.pageRules=e.view.prepareRules(n.rules),e.rulesTagNode=n.tagNode),Uo(e.doc),Go(e.doc,e.pageRules),e.formRules=Xo(e.pageRules,e.doc),e.writeRules=us(e.pageRules),e.unresolved=cs(e.pageRoot,e.pageRules);let r=Bo(),o=Zn(ln.extract(e.pageRoot,e.pageRules,{...hh,...r.hooks}),e.pageRules),s=Lr({pageRules:e.pageRules,formRules:e.formRules,data:o,doc:e.doc});qo(e.formRoot,s,{ignoreActiveValue:t}),r.seed(e.formRoot),Xn(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Ti(e),zr(e),e.updateFingerprint&&e.updateFingerprint()}function uc({debounce:e=100,onRefresh:t}){let n=Jt("Mutation");if(!n||typeof n.onAnyChange!="function")throw new Error("hypercms: a mutation hub is required (clay.Mutation or hyperclay.Mutation). Load clayjs or hyperclayjs, or just the mutation utility, before initializing hypercms.");let r=n.onAnyChange({debounce:e},o=>{t(o)});return{unsubscribe:typeof r=="function"?r:()=>{}}}var ph='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function fc({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null;return{name:"sidebar",richText:r,enhanceFormRichText:!0,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,prepareRules(s){return r?Ga(s,t):s},mount(s){let i=this.ctx;o=Fn(()=>oc({mountTo:n.mountTo||e.body,side:n.side||"right",overlay:!!n.overlay,showSaveButton:!!n.showSaveButton,title:n.title,eyebrow:n.eyebrow,theme:n.theme,doc:e})),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl;let l=Lr({pageRules:i.pageRules,formRules:i.formRules,data:s,doc:e});o.formRoot.appendChild(l),i.seeder.seed(o.formRoot),Xn(o.formRoot,e),zr(i),ns(i)},refresh(s){if(s==="livesync"){o?.restoreChrome?.(),er(this.ctx,{ignoreActiveValue:!0});return}if(s==="undo"){er(this.ctx,{ignoreActiveValue:!1});return}er(this.ctx)},focusOnOpen(){let s=this.root&&this.root.querySelector(ph);s&&typeof s.focus=="function"&&s.focus()},destroy(){o?.destroy(),o=null}}}var gh="[cms-template], [data-hcms-shell]";function go(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(gh))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var bh={skip:"[data-hcms-shell]",templateAttr:"cms-template"},kh={skip:"[data-hcms-shell]",templateAttr:null},yh="text",xh="native",dc="handle",vh=new Set(["INPUT","TEXTAREA","SELECT"]),pc=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function Ii(e,t){return wh(e,t)}function wh(e,t){let n=[],r=[],o=jn(e);return Li(o,e,t,[],n,r),{targets:n,lists:r}}function Li(e,t,n,r,o,s){if(typeof n=="string"){if(n.endsWith("[]")){let d=n.slice(0,-2);if(!d)return;let h=fs(e,t,d);h.forEach((f,p)=>{o.push(mc([...r,p],f,n,null))}),s.push(hc(e,t,r,d,h,!0));return}let i=Vt(n),l=i===-1?null:n.slice(i+1),a=i===-1?n:n.slice(0,i),u=!a||a==="."?t:fs(e,t,a)[0];u&&o.push(mc(r,u,n,l));return}if(Array.isArray(n)){let[i,l]=n;if(typeof i!="string"||!i)return;let a=fs(e,t,i);a.forEach((u,d)=>Li(e,u,l,[...r,d],o,s)),s.push(hc(e,t,r,i,a,typeof l=="string"));return}if(n&&typeof n=="object")for(let[i,l]of Object.entries(n))Li(e,t,l,[...r,i],o,s)}function hc(e,t,n,r,o,s){let i=o[0]?o[0].parentElement:null;if(!i){let l=fs(e,t,r,kh)[0];i=l?l.parentElement:null}return{path:n,items:o,container:i,scalar:s}}function mc(e,t,n,r){return{path:e,el:t,rule:n,attr:r,kind:Ah(t,r),icon:Th(t,r)}}function Ah(e,t){let n=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?pc.has(n)?dc:yh:t==="value"&&vh.has(n)&&!e.readOnly&&!Sh(e)?xh:dc}function Sh(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function Th(e,t){let n=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!pc.has(n)?null:n==="IMG"||t==="srcset"?"camera":n==="A"&&t==="href"?"paperclip":"pencil"}function fs(e,t,n,r=bh){try{return e.find(t,n,r)}catch{return[]}}var gc=Object.freeze({data:Object.freeze({tokens:["no-data"],bundles:["editor-ui"]}),save:Object.freeze({tokens:["no-save"],bundles:["editor-ui"]}),snapshot:Object.freeze({tokens:["no-snapshot"],bundles:["editor-ui"]}),watch:Object.freeze({tokens:["no-watch"],bundles:["editor-ui"]}),undo:Object.freeze({tokens:["no-undo"],bundles:["editor-ui"]}),history:Object.freeze({tokens:[],bundles:["editor-ui"]})}),Eh=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),iy=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ji(e,t){if(!e||e.nodeType!==1)return!1;let n=e.getAttribute?.("clay");return!!(n&&n.split(/\s+/).includes(t)||e.hasAttribute?.(t))}function _h(e,t){if(ji(e,t))return!0;for(let[n,r]of Object.entries(Eh))if(r.includes(t)&&ji(e,n))return!0;return!1}function bo(e){let t=gc[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function Oh(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=gc[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>_h(n,o))||r.bundles.some(o=>ji(n,o)))return n;n=n.parentElement}return null}function bc(e,t){return!!Oh(e,t)}var Nh=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function kc(e,t){if(!/^(INPUT|TEXTAREA|SELECT|OPTION)$/.test(e.tagName||""))return;let n=(e.getAttribute?.("type")||"").toLowerCase();if("value"in e&&"value"in t&&e.tagName!=="OPTION"&&n!=="checkbox"&&n!=="radio"&&(t.value=e.value),"checked"in e&&"checked"in t&&(t.checked=e.checked),"selected"in e&&"selected"in t&&(t.selected=e.selected),e.tagName==="SELECT")for(let r=0;r<e.options.length;r++)t.options[r].selected=e.options[r].selected;"indeterminate"in e&&"indeterminate"in t&&(t.indeterminate=e.indeterminate)}function yc(e,t,n,r){if(r)return!!e.closest?.(t);let o=e;for(;o?.nodeType===1;){if(o.matches(t))return!0;if(o===n)break;o=o.parentElement}return!1}function xc(e,t,n,r,o,s,i,l){if(e.nodeType===1&&((i?bc(e,n):yc(e,r,s,!1))||o&&(i&&e!==s?e.matches(o):yc(e,o,s,i))))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let u=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;u!==e&&(l.cloneToLive.set(d,u),l.liveToClone.set(u,d));for(let h of u.childNodes||[]){let f=xc(h,t,n,r,o,s,i,l);f&&(d.appendChild(f),h.nodeType===1&&kc(h,f))}return e.nodeType===1&&kc(e,a),a}function Pi(e,{capability:t="data",exclude:n=null,inherit:r=!0}={}){if(!e)throw new TypeError("createContentView requires a DOM context");let o=e.nodeType===9?e:e.ownerDocument;if(!o?.implementation?.createHTMLDocument)throw new TypeError("createContentView requires an HTML DOM implementation");let s=o.implementation.createHTMLDocument(""),i=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&s.documentElement.matches(n);let u=bo(t),d=xc(a,s,t,u,n,a,r,{cloneToLive:i,liveToClone:l});e.nodeType===9&&d&&(s.replaceChild(d,s.documentElement),l.set(e,s),i.set(s,e));let h=f=>{if(Nh.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:s,capability:t,selector:bo(t),cloneToLive:i,liveToClone:l,original(f){return i.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,p=d){return h(f),Array.from(p.querySelectorAll(f),b=>i.get(b)||b)},text(f=d){return(f===d?d:l.get(f))?.textContent||""},html(f=d){return(f===d?d:l.get(f))?.innerHTML??""},clone(f=d){let p=f===d?d:l.get(f);return p?s.importNode(p,!0):null}}}var Ch=[16,8,0],Zt=8,Mh=4;function vc({anchor:e,bar:t,rail:n=t,viewport:r,current:o=null}){let s=f=>o===f?Mh:0;if(e.bottom<=0||e.top>=r.height||e.right<=0||e.left>=r.width)return{mode:"hidden",x:0,y:0};let i=f=>Math.max(Zt,Math.min(e.left,r.width-f-Zt)),l=e.top-16-t.height;if(l>=Zt-s("above"))return{mode:"above",x:i(t.width),y:l};let a=e.bottom+16;if(a+t.height<=r.height-Zt+s("below"))return{mode:"below",x:i(t.width),y:a};let u=r.width-e.right-Zt,d=e.left-Zt,h=u>=d?[["rail-right",u],["rail-left",d]]:[["rail-left",d],["rail-right",u]];for(let[f,p]of h)for(let b of Ch){if(n.width+b>p+s(f))continue;let v=f==="rail-right"?Math.min(e.right+b,r.width-n.width-Zt):Math.max(e.left-b-n.width,Zt),m=Math.min(e.bottom,r.height-Zt)-n.height,g=Math.max(Zt,Math.min(Math.max(e.top,Zt),m));return{mode:f,x:v,y:g,gap:b}}return{mode:"pinned",x:i(t.width),y:Zt}}function Di({anchor:e,handle:t,viewport:n,inset:r=6,prefer:o="auto"}){let s=e.height>=t.height*1.5&&e.width>=t.width*2;if(o==="corner"||s){let f=Math.max(Zt,Math.min(e.right-t.width+r,n.width-t.width-Zt)),p=Math.max(Zt,Math.min(e.top-r,n.height-t.height-Zt));return{x:f,y:p,mode:"over"}}let i=4,l=e.right+i+t.width<=n.width-Zt,a=l?e.right+i:e.left-i-t.width,u=Math.max(Zt,a),d=e.top+e.height/2-t.height/2,h=Math.max(Zt,Math.min(d,n.height-t.height-Zt));return{x:u,y:h,mode:l?"beside-right":"beside-left"}}var hs=!1;function wc(){if(hs)return;let e=Jt("onPrepareForSave");typeof e=="function"&&(e(t=>{Sc(t),Ac(t)}),hs=!0)}function Ac(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",ls)}function Sc(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${Yn}]`)){let n=za(t);n!==null&&(t.innerHTML=n),t.removeAttribute(Yn)}}var ms=!1;function ps(){if(ms)return;let e=Jt("onSnapshot");typeof e=="function"&&(e(t=>{Sc(t),Wa(t,typeof window<"u"?window:null),Ac(t)}),ms=!0)}function Tc(){wc(),ps(),(!hs||!ms)&&Rh()}var ds=null;function Rh(){if(ds||typeof document>"u")return;ds=Pr(document,Ha,()=>{wc(),ps(),hs&&ms&&(ds?.(),ds=null)})}var Lh={edit:"M8 10h2v6H8zm2 4h4v2h-4zm0-6h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2-2h2v2h-2zm2 2h2v2h-2zm2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-2 2h2v2h-2zm-4 0h2v2h-2z","move-up":"M11 4h2v2h2v2h2v2h2v2h-4v-2h-2v10h-2V10H9v2H5v-2h2V8h2V6h2z","move-down":"M11 4h2v10h2v-2h4v2h-2v2h-2v2h-2v2h-2v-2H9v-2H7v-2H5v-2h4v2h2z",remove:"M5 5h3v3h3v3h2V8h3V5h3v3h-3v3h-3v2h3v3h3v3h-3v-3h-3v-3h-2v3H8v3H5v-3h3v-3h3v-2H8V8H5z",add:"M10 4h4v6h6v4h-6v6h-4v-6H4v-4h6z"};function hr(e){let t=e==="edit"?"6 0 18 18":"0 0 24 24",n=e==="settings"?'<circle cx="6" cy="12" r="1.5"/><circle cx="12" cy="12" r="1.5"/><circle cx="18" cy="12" r="1.5"/>':`<path d="${Lh[e]}"/>`;return`<svg class="hcms-inline-icon" xmlns="http://www.w3.org/2000/svg" viewBox="${t}" width="24" height="24" fill="currentColor" aria-hidden="true" focusable="false">${n}</svg>`}var Ec="data-hcms-ghost",Ih=bo("history");function jh(e){let t=e.container,n=null;for(;t&&(t.namespaceURI!=="http://www.w3.org/1999/xhtml"||["SELECT","OPTGROUP","DATALIST"].includes(t.tagName));)n=t,t=t.parentElement;return{parent:t,anchor:n}}function _c({doc:e,themeRoot:t,onAdd:n,onResize:r}){let o=e.defaultView,s=[],i=!1,l=null,a=new Map;function u(p,b,v){p.style[b]!==v&&(p.style[b]=v)}function d(){let p=new Set(s.map(b=>b.node.parentElement));for(let[b,v]of a)p.has(b)&&o?.Sortable?.get(b)===v.instance||(v.instance.option("draggable")===v.selector&&v.instance.option("draggable",v.original),a.delete(b));for(let b of p){let v=o?.Sortable?.get(b);if(!v)continue;let m=v.option("draggable");if(a.get(b)?.selector===m)continue;let g=m,I=`${g.trim().startsWith(">")?"> ":""}:is(${g.trim().replace(/^>\s*/,"")}):not(${Ih})`;v.option("draggable",I),a.set(b,{instance:v,original:g,selector:I})}}function h(){for(let p of s){let{node:b,slot:v,list:m}=p,g=m.items.filter(y=>y.isConnected).map(y=>y.getBoundingClientRect()).filter(y=>y.width>0&&y.height>0);g.length&&(p.width=g.reduce((y,I)=>y+I.width,0)/g.length,p.height=g.reduce((y,I)=>y+I.height,0)/g.length),u(b,"width",p.width?`${Math.round(p.width)}px`:"100%"),u(v,"height",`${Math.max(48,Math.round(p.height||64))}px`),v!==b&&(v.colSpan=Math.max(1,...m.items.map(y=>[...y.children].reduce((I,Y)=>I+(Y.colSpan||1),0)))),b.hidden!==i&&(b.hidden=i)}d()}function f(p,b){let v=b.tagName,m=["TBODY","THEAD","TFOOT","TABLE"].includes(v),g=e.createElement(m?"tr":["UL","OL","MENU"].includes(v)?"li":"div");for(let $ of[Ec,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])g.setAttribute($,"");g.setAttribute("draggable","false"),g.setAttribute("contenteditable","false"),g.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let $ of["light","dark"])g.classList.toggle($,!!t?.classList.contains($));let y=m?e.createElement("td"):g;y!==g&&(y.className="hcms-inline-ghost-cell",g.appendChild(y));let I=e.createElement("button");I.type="button",I.className="hcms-inline-list-button hcms-inline-list-add mirk-button mirk-button--small",I.setAttribute("data-hcms-list-action","add"),I.innerHTML=`<span class="mirk-button__label">${hr("add")}<span>Add</span></span>`,y.appendChild(I);let Y={node:g,slot:y,button:I,list:p,width:0,height:0};I.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),n(Y.list)});for(let $ of["pointerdown","mousedown","touchstart","click"])g.addEventListener($,H=>H.stopPropagation());return g.addEventListener("dragstart",$=>{$.preventDefault(),$.stopPropagation()}),Y}return{setLists(p){let b=new Set(s),v=[],m=new Set(s.map(y=>y.node)),g=new Set;for(let y of p||[]){if(!y.container||!y.container.isConnected)continue;let{parent:I,anchor:Y}=jh(y);if(!I)continue;if(!g.has(I)){for(let z of I.querySelectorAll(`:scope > [${Ec}]`))m.has(z)||z.remove();g.add(I)}let $=s.find(z=>b.has(z)&&z.list.container===y.container&&z.list.path.join(".")===y.path.join("."))||f(y,I);b.delete($),$.list=y,$.button.setAttribute("data-hcms-list",y.path.join(".")),$.button.setAttribute("aria-label",`Add to ${y.path.join(".")||"the list"}`);let H=Y||y.items.filter(z=>z.parentElement===I).at(-1);H?H.nextSibling!==$.node&&H.after($.node):$.node.parentElement!==I&&I.appendChild($.node),v.push($)}for(let y of b)y.node.remove();s=v,l?.disconnect(),!l&&typeof o?.ResizeObserver=="function"&&(l=new o.ResizeObserver(()=>{h(),r?.()}));for(let y of s)for(let I of y.list.items)l?.observe(I);h()},update:h,setHidden(p){i=!!p,h()},destroy(){l?.disconnect();for(let p of s)p.node.remove();s=[],d()}}}var Oc=[["move-up","Move up"],["move-down","Move down"]],Ph={prefer:"corner",inset:0};function Dh(e,t){return t.width<=e.width&&t.height<=e.height}function Nc({doc:e,layerEl:t,onActivate:n,onListAction:r}){let o=e.defaultView,s=[],i=new Map,l=0,a=new Map,u=null,d=new Set,h=0,f=!1,p=null,b=null,v=null,m=null,g=new Map,y=!1,I=null,Y=_c({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:H,onAdd:ee=>r?.({action:"add",list:ee,index:ee.items.length})}),$=e.createElement("div");$.className="hcms-inline-highlight",$.hidden=!0,$.setAttribute("aria-hidden","true"),t.appendChild($);function H(){if(!(h||!o)){if(typeof o.requestAnimationFrame!="function")return ae();h=o.requestAnimationFrame(()=>{h=0,ae()})}}let z=()=>v||m;function ae(){if(!o)return;Y.update();let ee={width:o.innerWidth,height:o.innerHeight},ce=z();for(let ge of s){if(!ge.visible){ge.node.hidden=!0;continue}for(let T of ge.members)T.node.hidden=y&&T.kind!=="handle";ge.node.hidden=!1;let Ue=ge.el.getBoundingClientRect(),ke=ge.node.getBoundingClientRect(),Je=ke.width,kt=ge.kind==="row"&&!Dh(Ue,ke);if(kt&&ge.el!==ce){for(let T of ge.members)T.kind==="row"&&(T.node.hidden=!0);ke=ge.node.getBoundingClientRect()}if(ge.members.every(T=>T.node.hidden)){ge.node.hidden=!0;continue}let ht=ge.kind==="handle"?null:Ph,{x:wt,y:ze}=Di({anchor:Ue,handle:ke,viewport:ee,...ht}),Ot=ge.members.find(T=>T.kind==="handle");if(kt&&Ot){let T=Ot.node.getBoundingClientRect(),re=Di({anchor:Ue,handle:T,viewport:ee}),oe=ge.members.slice(ge.members.indexOf(Ot)+1).filter(de=>!de.node.hidden).reduce((de,ie)=>de+ie.node.getBoundingClientRect().width+2,0);wt=Math.max(8+Je,Math.min(ee.width-8,re.x+T.width+oe))-ke.width,ze=re.y}ge.node.style.transform=`translate(${Math.round(wt)}px, ${Math.round(ze)}px)`}if(I)if(!I.node.isConnected||I.node.closest("[hidden]"))et();else{let ge=I.button.getBoundingClientRect(),Ue=I.menu.getBoundingClientRect();I.menu.style.left=`${Math.max(8,ge.right-Ue.width)-ge.left}px`,I.menu.style.right="auto",I.menu.style.top=ge.bottom+6+Ue.height>ee.height-8?"auto":"calc(100% + 6px)",I.menu.style.bottom=ge.bottom+6+Ue.height>ee.height-8?"calc(100% + 6px)":"auto"}Ee(),p?.()}function me(ee){if(ee?.closest?.("[data-hcms-ghost]"))return null;for(let ce=ee;ce&&ce.nodeType===1;ce=ce.parentElement){let ge=g.get(ce);if(ge)return ge}return null}function Q(ee){I&&!I.node.contains(ee.target)&&et();let ce=z();m=me(ee.target),m&&t.contains(ee.target)&&(v=null),z()!==ce&&H()}function L(ee){if(ee.relatedTarget||!m)return;let ce=z();m=null,z()!==ce&&H()}function Ee(){if(!b||$.hidden)return;let ee=b.getBoundingClientRect();$.style.width=`${Math.round(ee.width)}px`,$.style.height=`${Math.round(ee.height)}px`,$.style.transform=`translate(${Math.round(ee.left)}px, ${Math.round(ee.top)}px)`}function xe(){if(!o||typeof o.IntersectionObserver!="function"){for(let ce of s)ce.visible=!0;return}u||(u=new o.IntersectionObserver(ce=>{let ge=!1;for(let Ue of ce)for(let ke of i.get(Ue.target)||[])ke.visible!==Ue.isIntersecting&&(ke.visible=Ue.isIntersecting,ge=!0);ge&&H()},{threshold:0}));let ee=new Set(i.keys());for(let ce of d)ee.has(ce)||u.unobserve(ce);for(let ce of ee)d.has(ce)||u.observe(ce);d=ee}function se(){f||!o||(o.addEventListener("scroll",H,{passive:!0,capture:!0}),o.addEventListener("resize",H,{passive:!0}),e.addEventListener("focusin",Q),e.addEventListener("focusout",L),e.addEventListener("pointerdown",Oe,!0),e.addEventListener("keydown",_,!0),f=!0)}function V(){!f||!o||(o.removeEventListener("scroll",H,{capture:!0}),o.removeEventListener("resize",H),e.removeEventListener("focusin",Q),e.removeEventListener("focusout",L),e.removeEventListener("pointerdown",Oe,!0),e.removeEventListener("keydown",_,!0),f=!1)}function Se(ee){return`${ee.kind}\0${ee.attr||""}`}function ve(ee,ce){return ee.container===ce.container&&ee.scalar===ce.scalar}function Me(ee,ce){return ee.kind!==ce.kind?!1:ee.kind==="handle"?Se(ee.target)===Se(ce.target):ee.kind==="row"?ee.row===ce.row&&ve(ee.list,ce.list):ve(ee.list,ce.list)}function He(ee,ce){ee.target=ce;let ge=ce.path.join(".");ee.node.setAttribute("data-hcms-target",ge),ce.icon?ee.node.setAttribute("data-hcms-icon",ce.icon):ee.node.removeAttribute("data-hcms-icon"),ee.node.setAttribute("aria-label",`Edit ${ge}`)}function Ve(ee){let ce=e.createElement("button");ce.type="button",ce.className="hcms-inline-handle mirk-button mirk-button--small",ce.innerHTML=`<span class="mirk-button__label">${hr("edit")}</span>`;let ge={node:ce,kind:"handle",target:ee};return He(ge,ee),ce.addEventListener("click",Ue=>{Ue.preventDefault(),Ue.stopPropagation(),n?.(ge.target,ce)}),ge}function it(ee,ce){let ge=e.createElement("button");return ge.type="button",ge.className="hcms-inline-list-button mirk-button mirk-button--small",ge.setAttribute("data-hcms-list-action",ee),ge.setAttribute("aria-label",ce),ge.innerHTML=`<span class="mirk-button__label">${hr(ee)}${ee==="add"?"<span>Add</span>":""}</span>`,ge}function le(ee,{list:ce,row:ge,rowIndex:Ue,count:ke}){let Je=ce.path.join(".");ee.list=ce,ee.row=ge,ee.index=Ue,ee.count=ke,ee.node.setAttribute("data-hcms-list",Je),ee.node.setAttribute("data-hcms-row",String(Ue));for(let kt of ee.node.querySelectorAll("[data-hcms-list-action]")){let ht=kt.getAttribute("data-hcms-list-action"),wt=Oc.find(([ze])=>ze===ht)?.[1]||ht;kt.setAttribute("aria-label",`${wt} ${Je}.${Ue}`),kt.disabled=ht==="move-up"&&Ue===0||ht==="move-down"&&Ue===ke-1}}function yt(ee,ce,ge,Ue){let ke=e.createElement("div");ke.className="hcms-inline-row-controls";let Je={node:ke,kind:"row",list:ee,row:ce,index:ge,count:Ue};for(let[kt,ht]of Oc){let wt=it(kt,ht);wt.addEventListener("click",ze=>{ze.preventDefault(),ze.stopPropagation(),!wt.disabled&&r?.({action:kt,list:Je.list,index:Je.index,row:Je.row})}),ke.appendChild(wt)}return le(Je,{list:ee,row:ce,rowIndex:ge,count:Ue}),Je}function et(ee=!1){if(!I)return;let ce=I;I=null,ce.menu.hidden=!0,ce.button.setAttribute("aria-expanded","false"),ce.node.parentElement?.classList.remove("has-open-settings"),ee&&ce.button.isConnected&&ce.button.focus({preventScroll:!0})}function Oe(ee){I&&!I.node.contains(ee.target)&&et()}function _(ee){I&&(ee.key==="Escape"?(ee.preventDefault(),ee.stopPropagation(),et(!0)):ee.key==="Tab"?et(!0):["ArrowDown","ArrowUp","Home","End"].includes(ee.key)&&I.menu.contains(ee.target)&&(ee.preventDefault(),I.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function B(ee,{list:ce,row:ge,rowIndex:Ue}){Object.assign(ee,{list:ce,row:ge,index:Ue}),ee.node.setAttribute("data-hcms-list",ce.path.join(".")),ee.node.setAttribute("data-hcms-row",String(Ue)),ee.button.setAttribute("aria-label",`Settings ${ce.path.join(".")}.${Ue}`)}function fe(ee){let ce=e.createElement("div");ce.className="hcms-inline-settings";let ge=it("settings","Settings");ge.setAttribute("aria-haspopup","menu"),ge.setAttribute("aria-expanded","false");let Ue=e.createElement("div");Ue.className="hcms-inline-settings-menu",Ue.setAttribute("role","menu"),Ue.setAttribute("aria-label","Item settings"),Ue.hidden=!0;let ke=e.createElement("button");ke.type="button",ke.setAttribute("role","menuitem"),ke.setAttribute("data-hcms-list-action","remove"),ke.textContent="Delete",Ue.appendChild(ke),ce.append(ge,Ue);let Je={node:ce,button:ge,menu:Ue,kind:"settings"};B(Je,ee);let kt=()=>{et(),I=Je,Ue.hidden=!1,ge.setAttribute("aria-expanded","true"),ce.parentElement.classList.add("has-open-settings"),ke.focus({preventScroll:!0}),H()};return ge.addEventListener("click",ht=>{ht.preventDefault(),ht.stopPropagation(),I===Je?et(!0):kt()}),ge.addEventListener("keydown",ht=>{(ht.key==="ArrowDown"||ht.key==="ArrowUp")&&(ht.preventDefault(),kt())}),ke.addEventListener("click",ht=>{ht.preventDefault(),ht.stopPropagation(),et(!0),r?.({action:"remove",list:Je.list,index:Je.index,row:Je.row})}),Je}function Ae(ee,ce){ee.kind==="handle"?He(ee,ce.target):ee.kind==="row"?le(ee,ce):ee.kind==="settings"&&B(ee,ce)}function pe(ee,ce,ge,Ue,ke){let Je=ce.get(ge)?.find(kt=>kt.category===ke);if(!Je){Je={el:ge,category:ke,members:[]},ee.push(Je);let kt=ce.get(ge);kt?kt.push(Je):ce.set(ge,[Je])}Je.members.push(Ue)}function Qe(ee,ce,ge){let Ue=ge.items||[];Ue.forEach((ke,Je)=>{go(ke)&&(pe(ee,ce,ke,{kind:"row",list:ge,row:ke,rowIndex:Je,count:Ue.length},"item"),pe(ee,ce,ke,{kind:"settings",list:ge,row:ke,rowIndex:Je},"item"))})}function qe(ee,ce){let ge=new Set(ee.members),Ue=[];for(let ke of ce){let Je=ee.members.find(kt=>ge.has(kt)&&Me(kt,ke))||(ke.kind==="handle"?Ve(ke.target):ke.kind==="row"?yt(ke.list,ke.row,ke.rowIndex,ke.count):fe(ke));ge.delete(Je),Ae(Je,ke),y&&Je.kind!=="handle"&&(Je.node.hidden=!0),Ue.push(Je)}for(let ke of ge)ke===I&&et(),ke.node.remove();Ue.sort((ke,Je)=>["row","handle","settings"].indexOf(ke.kind)-["row","handle","settings"].indexOf(Je.kind)),Ue.forEach((ke,Je)=>{ee.node.children[Je]!==ke.node&&ee.node.insertBefore(ke.node,ee.node.children[Je]||null)}),ee.members=Ue}function rt(ee,ce){let ge=[],Ue=new Map,ke=new Map,Je=0;for(let ze of ee||[])ke.has(ze.el)||ke.set(ze.el,ze),!(ze.kind!=="handle"||!go(ze.el))&&(pe(ge,Ue,ze.el,{kind:"handle",target:ze},"item"),Je++);for(let ze of ce||[])Qe(ge,Ue,ze);let kt=new Set(s),ht=new Map;for(let ze of s)ht.has(ze.el)||ht.set(ze.el,ze.visible);let wt=[];for(let ze of ge){let Ot=s.find(T=>kt.has(T)&&T.el===ze.el&&T.category===ze.category);if(!Ot){let T=e.createElement("div");T.className="hcms-inline-item-controls",T.setAttribute("role","group"),Ot={el:ze.el,node:T,category:ze.category,kind:ze.category==="add"?"add":"handle",members:[],visible:ht.get(ze.el)??!1},t.appendChild(T)}kt.delete(Ot),Ot.el=ze.el,Ot.category=ze.category,qe(Ot,ze.members),Ot.kind=Ot.members.some(T=>T.kind==="row")?"row":Ot.members.some(T=>T.kind==="handle")?"handle":"add",Ot.node.setAttribute("aria-label",Ot.category==="add"?"List controls":"Item controls"),wt.push(Ot)}for(let ze of kt)ze.node.remove();s=wt,i=new Map,g=new Map;for(let ze of s){let Ot=i.get(ze.el);Ot?Ot.push(ze):i.set(ze.el,[ze]);for(let T of ze.members)T.kind!=="row"&&T.kind!=="settings"||(g.set(T.row,T.row),g.set(T.node,T.row),g.set(ze.node,T.row))}v&&!g.has(v)&&(v=null),m&&!g.has(m)&&(m=null),a=ke,l=Je}function lt(){et(),u?.disconnect(),u=null,d=new Set;for(let ee of s)ee.node.remove();s=[],i=new Map,a=new Map,g=new Map,l=0}return{setTargets(ee,ce){rt(ee,ce),Y.setLists(ce),xe(),se(),H()},refresh:H,get count(){return l},get controlsHidden(){return y},setControlsHidden(ee){if(y=!!ee,Y.setHidden(y),y){et();for(let ce of s){for(let ge of ce.members)ge.kind!=="handle"&&(ge.node.hidden=!0);ce.members.every(ge=>ge.node.hidden)&&(ce.node.hidden=!0)}}H()},elementToTarget(ee){if(ee?.closest?.("[data-hcms-ghost]"))return null;for(let ce=ee;ce&&ce.nodeType===1;ce=ce.parentElement){let ge=a.get(ce);if(ge)return ge}return null},setHoveredRow(ee){let ce=z();v=ee?me(ee):null,z()!==ce&&H()},showHighlight(ee){ee&&(b=ee,$.hidden=!1,Ee())},hideHighlight(){b=null,$.hidden=!0},setFollower(ee){p=typeof ee=="function"?ee:null},destroy(){Y.destroy(),h&&o&&o.cancelAnimationFrame(h),h=0,p=null,b=null,v=null,m=null,$.remove(),V(),lt()}}}var Fh="hypercms-inline",xo="is-hcms-inline-active",Fi="is-hcms-inline-onpath",Cc='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',qh=["bold","italic","link","undo","redo"],Bh=/^H[1-6]$/,Hh=0;function Lc({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null,s=null,i=null,l=new Map,a=null,u=null,d=null;function h(f,p,b,v,m){let g=Dr(e.defaultView);if(typeof g!="function")return null;let y=m||{},I=y.originalHTML??Pi(p,{capability:"history"}).html(),Y=y.richClayIsOurs??!p.hasAttribute("data-richclay"),$=y.adopted??p.getAttribute("data-richclay-active")==="true",H=ko(p,v,"history"),z=$h(f,g,p,v,Y);if(!z)return null;Va(p,v==="innerHTML",Y);let ae=String(++Hh);p.setAttribute(Yn,ae),ps();let me={el:p,editor:z,path:b,prop:v,boundId:ae,originalHTML:I,oldValue:H,richClayIsOurs:Y,adopted:$,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(p,me),$a(ae,me);let Q=z.squire;if(Q&&typeof Q.addEventListener=="function"){let Ee=()=>{me.dirty=!0,me.lastEdited=ko(p,me.prop,"history"),Uh(f,me)};Q.addEventListener("input",Ee),me.detachInput=()=>Q.removeEventListener?.("input",Ee)}let L=()=>Ic(me);return p.addEventListener("blur",L),me.detachBlur=()=>p.removeEventListener("blur",L),me}return{name:"inline",richText:r,ctx:null,root:null,formRoot:null,errorEl:null,noticeEl:null,handoffEl:null,handoffCountEl:null,popEl:null,enhanceFormRichText:!1,prepareRules(f){return r?Ya(f,t):f},bindText(f,p,b,v){return h(this.ctx,f,p,b,v)},mount(f){let p=this.ctx;o=Gh(e,n.theme),this.root=o.root,this.formRoot=o.formRoot,this.errorEl=o.errorEl,this.noticeEl=o.noticeEl,this.handoffEl=o.handoffEl,this.handoffCountEl=o.handoffCountEl,this.popEl=o.popEl,Fn(()=>po(e));let b=Lr({pageRules:p.pageRules,formRules:p.formRules,data:f,doc:e});o.formRoot.appendChild(b),p.seeder.seed(o.formRoot),Xn(o.formRoot,e,this.enhanceFormRichText),zr(p),ns(p),s=Nc({doc:e,layerEl:o.layerEl,onActivate:(v,m)=>this.activate(v,m),onListAction:v=>this.listAction(v)}),s.setFollower(()=>this.placePopover()),o.closeEl.addEventListener("click",()=>this.deactivate()),o.toggleEl.addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),this.toggleControls()}),o.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",v=>{v.preventDefault(),v.stopPropagation(),p.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:f,list:p,index:b,row:v}){let m=this.ctx,g=p.path.join("."),y=m.formRoot.querySelector(`[data-hcms-path="${Hr(g)}"]`);if(!y)return;if(f==="add"){ho(g,m);return}let I=v?Xh(m,g,v):b;if(I===-1)return;let Y=Yh(y,I);if(Y){if(f==="remove"){Si(Y,m),this.syncTargets();return}Ai(Y,f==="move-up"?-1:1,m),this.syncTargets()}},toggleControls(){if(!s||!o)return;let f=!s.controlsHidden;s.setControlsHidden(f),o.toggleEl.setAttribute("aria-pressed",String(f));let p=o.toggleEl.querySelector(".mirk-button__label");p&&(p.textContent=f?"Show controls":"Hide controls")},bindPage(){let f=this.ctx.pageRoot,p=o.root,b=Y=>{let $=s&&s.elementToTarget(Y.target);$?s.showHighlight($.el):s?.hideHighlight(),s?.setHoveredRow(Y.target)},v=()=>{s?.hideHighlight(),s?.setHoveredRow(null)},m=Y=>{if(p.contains(Y.target))return;let $=s&&s.elementToTarget(Y.target);!$||$.kind!=="text"||l.has($.el)||h(this.ctx,$.el,$.path.join("."),bs($))},g=Y=>{if(p.contains(Y.target))return;let $=s&&s.elementToTarget(Y.target);if(!$){this.deactivate();return}(typeof Y.target.closest=="function"&&Y.target.closest("a[href]")||$.kind!=="text")&&Y.preventDefault(),this.activate($)},y=Y=>{Y.key==="Escape"&&this.deactivate()},I=Y=>{let $=Y.detail;if(!(!$||$.pageRoot!==this.ctx.pageRoot||!$.path))for(let H of l.values())H.path===$.path&&(H.written=!0)};f.addEventListener("pointerover",b),f.addEventListener("pointerleave",v),f.addEventListener("pointerdown",m),f.addEventListener("click",g),p.addEventListener("keydown",y),e.addEventListener("hcms:change",I),i=()=>{f.removeEventListener("pointerover",b),f.removeEventListener("pointerleave",v),f.removeEventListener("pointerdown",m),f.removeEventListener("click",g),p.removeEventListener("keydown",y),e.removeEventListener("hcms:change",I)}},activate(f,p){if(!f||!o||f.kind==="text"&&this.activateText(f))return;let b=Mc(this,o,f.path.join("."));if(!b){this.deactivate();return}a=f,u=p||null,d=null,o.popEl.hidden=!1,o.formRoot.querySelectorAll(`.${xo}`).forEach(Rc),this.placePopover(),Kh(b)},activateText(f){let p=f.el,b=l.get(p);if(b)return gs(b),!0;let v=h(this.ctx,p,f.path.join("."),bs(f));return v?(gs(v),!0):!1},placePopover(){if(!o||!a||o.popEl.hidden)return;let f=e.defaultView;if(!f)return;let p={width:f.innerWidth,height:f.innerHeight},b=a.el.getBoundingClientRect(),v=o.popEl.getBoundingClientRect(),{mode:m,x:g,y}=vc({anchor:b,bar:v,viewport:p,current:d});d=m,o.popEl.style.transform=`translate(${Math.round(g)}px, ${Math.round(y)}px)`},deactivate(){if(!o||!a&&o.popEl.hidden)return;o.popEl.hidden=!0,Pc(o.root);let f=u;if(a=null,u=null,d=null,f&&e.contains(f)&&typeof f.focus=="function")try{f.focus({preventScroll:!0})}catch{f.focus()}},syncTargets(){if(!s)return;let f=this.ctx,{targets:p,lists:b}=Ii(f.pageRoot,f.pageRules);s.setTargets(p,b);let v=zh(this,l,p,e);if(a){let g=v.get(a.el)||[],y=g.find(I=>Vh(I,a))||g.find(I=>I.path.join(".")===a.path.join("."))||(g.length===1?g[0]:null);y?a=y:this.deactivate()}Wh(this.ctx,l,e);let m=p.reduce((g,y)=>g+(go(y.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=m===0?"":`${m} ${m===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=m===0)},refresh(f,p){f==="livesync"?(Qn(e),po(e),er(this.ctx,{ignoreActiveValue:!0})):f==="undo"?er(this.ctx,{ignoreActiveValue:!1}):er(this.ctx),this.syncTargets(),(f==="livesync"||f==="undo")&&this.rebindText(f),this.restoreActive()},rebindText(f){let p=f!=="undo";for(let[b,v]of[...l]){if(!e.contains(b)){yo(this.ctx,v,{restore:!1,record:p}),l.delete(b);continue}if(b.hasAttribute(On)){let y=ko(b,v.prop);y!==v.lastEdited&&(v.oldValue=y,v.lastEdited=void 0);continue}let m=e.activeElement===b;yo(this.ctx,v,{restore:!1,record:p}),l.delete(b);let g=h(this.ctx,b,v.path,v.prop,{richClayIsOurs:v.richClayIsOurs,adopted:v.adopted});g&&m&&gs(g)}},restoreActive(){if(!o||!a||o.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!Mc(this,o,a.path.join("."))){this.deactivate();return}o.formRoot.querySelectorAll(`.${xo}`).forEach(Rc),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){u=null,this.deactivate();for(let f of l.values())yo(this.ctx,f);l.clear(),i?.(),i=null,s?.destroy(),s=null,o?.destroy(),o=null,Ni(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function $h(e,t,n,r,o){return Fn(()=>{let s=null;try{s=new t(n,{inline:!0,hyperclay:!1,toolbar:r==="innerHTML"?qh:!1,...Bh.test(n.tagName)?{singleLine:!0}:null})}catch(i){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",i),null}if(s.unsupported||!s.active){if(o)try{s.destroy()}catch{}return null}return typeof s.reattach=="function"&&s.reattach(),s})}function Uh(e,{path:t,el:n,prop:r}){let o=rs(e.formRoot,t);o&&(os(o,ko(n,r),e.formRoot,t),kn(fn(e),{path:t,structural:!1},e))}function ko(e,t,n="data"){let r=Pi(e,{capability:n});return t==="innerHTML"?r.html():r.text().trim()}function Ic(e){let{el:t,prop:n,oldValue:r,lastEdited:o}=e,s=o;if(s===void 0||s===r)return;e.oldValue=s;let i=Jt("undo");if(!i||typeof i.recordValue!="function")return;let l={prop:n,oldValue:r,newValue:s,read:a=>ko(a,n,"history"),write:(a,u)=>jc(a,n,u)};i.isPaused?queueMicrotask(()=>{t.isConnected&&i.recordValue(t,l)}):i.recordValue(t,l)}function jc(e,t,n){let r=e.cloneNode(!1);t==="innerHTML"?r.innerHTML=n:r.textContent=n,Kn(e,Array.from(r.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function yo(e,t,{restore:n=!0,record:r=!0}={}){r&&Ic(t),t.detachInput?.(),t.detachBlur?.(),Fn(()=>{if(!t.adopted){try{t.editor.destroy()}catch(o){console.warn("[hypercms] richclay teardown failed; editor state may reach the save",o)}t.richClayIsOurs&&t.el.removeAttribute("data-richclay")}t.el.removeAttribute(On),t.el.removeAttribute(fr),t.el.removeAttribute(Yn),Ua(t.boundId),n&&t.restorable()&&jc(t.el,"innerHTML",t.originalHTML)})}function gs(e){let{editor:t,el:n}=e;if(n.ownerDocument.activeElement!==n)try{typeof t.focus=="function"?t.focus():n.focus()}catch{}}function zh(e,t,n,r){let o=new Map;for(let s of n){let i=o.get(s.el);i?i.push(s):o.set(s.el,[s])}for(let[s,i]of[...t]){let l=o.get(s)||[],a=l.find(f=>bs(f)===i.prop)||l[0];if(!a){yo(e.ctx,i,{restore:!0}),t.delete(s);continue}i.path=a.path.join(".");let u=bs(a);if(u===i.prop)continue;let d=r.activeElement===s;yo(e.ctx,i,{restore:!1}),t.delete(s);let h=e.bindText(s,i.path,u,{richClayIsOurs:i.richClayIsOurs,adopted:i.adopted,originalHTML:i.originalHTML});h&&d&&gs(h)}return o}function Vh(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function bs(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function Wh(e,t,n){for(let r of e.pageRoot.querySelectorAll(`[${On}]`))t.has(r)||Fn(()=>Ka(r,n.defaultView))}function Mc(e,t,n){let r=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${Hr(n)}"]`);if(Pc(t.root),!r)return null;let o=r.closest("[data-hcms-card]"),s=o?[...o.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(i=>i.closest("[data-hcms-card]")===o&&i.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===o.parentElement.closest('[data-hcms-shape="object-array"]')):[r];s.includes(r)||s.push(r);for(let i of s){i.classList.add(xo),i.removeAttribute("draggable");for(let l=i.parentElement;l&&(l.classList.add(Fi),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return r}function Pc(e){if(e)for(let t of e.querySelectorAll(`.${xo}, .${Fi}`))t.classList.remove(xo,Fi)}function Rc(e){e.tagName==="TEXTAREA"&&Fr(e),e.querySelectorAll?.("textarea").forEach(Fr)}function Kh(e){let t=e.matches?.(Cc)?e:e.querySelector?.(Cc);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function Gh(e,t){Qn(e);let n=e.createElement(Fh),r=t==="dark"?" dark":t==="light"?" light":"";return n.className="hcms-shell pixel-quiet hcms-inline"+r,n.setAttribute("data-hcms-shell",""),n.setAttribute("editor-ui",""),n.setAttribute("no-save",""),n.setAttribute("save-remove",""),n.setAttribute("snapshot-remove",""),n.setAttribute("no-watch",""),n.setAttribute("tabindex","-1"),n.innerHTML=`
|
|
180
182
|
<div class="hcms-inline-bar">
|
|
181
183
|
<div class="hcms-inline-handoff" hidden>
|
|
182
184
|
<span class="hcms-inline-handoff-count"></span>
|
|
@@ -195,24 +197,24 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
195
197
|
<div class="hcms-inline-pop-header">
|
|
196
198
|
<span>Edit content</span>
|
|
197
199
|
<button type="button" class="hcms-inline-pop-close mirk-button mirk-button--small" aria-label="Close field editor">
|
|
198
|
-
<span class="mirk-button__label">${
|
|
200
|
+
<span class="mirk-button__label">${hr("remove")}</span>
|
|
199
201
|
</button>
|
|
200
202
|
</div>
|
|
201
203
|
<div data-hcms-form-root class="hcms-form"></div>
|
|
202
204
|
</div>
|
|
203
|
-
`,e.body.appendChild(
|
|
204
|
-
[${
|
|
205
|
+
`,e.body.appendChild(n),{root:n,formRoot:n.querySelector("[data-hcms-form-root]"),noticeEl:n.querySelector(".hcms-inline-notice"),errorEl:n.querySelector(".hcms-inline-error"),handoffEl:n.querySelector(".hcms-inline-handoff"),handoffCountEl:n.querySelector(".hcms-inline-handoff-count"),layerEl:n.querySelector(".hcms-inline-layer"),popEl:n.querySelector(".hcms-inline-pop"),closeEl:n.querySelector(".hcms-inline-pop-close"),toggleEl:n.querySelector("[data-hcms-controls-toggle]"),destroy(){n.remove()}}}function Yh(e,t){let n=e.querySelector(".hcms-array-items");return n&&n.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")[t]||null}function Xh(e,t,n){let{lists:r}=Ii(e.pageRoot,e.pageRules),o=r.find(s=>s.path.join(".")===t);return o?o.items.indexOf(n):-1}var Jh="[hypercms]";function Dc(e,t){if(!e||!e.querySelectorAll||!t)return;let n=Zh(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(o=>{let s=o.getAttribute("data-hcms-tpl");s&&(s.startsWith("@")||n.has(s)||console.warn(`${Jh} template "${s}" doesn't match any rule path; ignored`))})}function Zh(e){let t=new Set;return n([],e),t;function n(r,o){let s=r.join("."),i=r.map(a=>typeof a=="number"?"*":a).join(".");s&&t.add(s),i&&t.add(i);let l=ur(o);if(l==="object")for(let[a,u]of Object.entries(o))n([...r,a],u);else if(l==="object-array"||l==="scalar-array"){let a=[...r,"*"],u=a.map(d=>typeof d=="number"?"*":d).join(".");if(t.add(u),l==="object-array"){let d=o[1];if(d&&typeof d=="object"&&!Array.isArray(d))for(let[h,f]of Object.entries(d))n([...a,h],f)}}}}var qc={skip:"[data-hcms-shell]",templateAttr:"cms-template"},bt={isOpen:!1,ctx:null,opts:null};function Bc({view:e,doc:t,pageRoot:n,opts:r={},onCloseRequested:o,onViewRequested:s}){let i=r.rules!==void 0?r.rules:"cms",l=ln.findRules(t,i);if(!l){let m=typeof i=="string"?`data-rules-name~="${i}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${m}`)}let a=e.prepareRules(l.rules),u=l.tagNode;Uo(t),Go(t,a),Dc(t,a);let d=Xo(a,t),h=us(a),f=cs(n,a),p=Bo(),b=Zn(ln.extract(n,a,{...qc,...p.hooks}),a),v={doc:t,pageRoot:n,pageRules:a,writeRules:h,formRules:d,rulesTagNode:u,rulesSource:i,richText:e.richText,view:e,seeder:p,initialData:b,get formRoot(){return e.formRoot},get shellRoot(){return e.root},get errorEl(){return e.errorEl},get noticeEl(){return e.noticeEl},unresolved:f,lastTwinSignature:null,lastFingerprint:null,lastData:null,observerHandle:null,undoUnsub:null,livesyncUnsub:null,onChange:r.onChange,onError:r.onError,confirmRemove:r.confirmRemove,previouslyFocused:t.activeElement,dispatch(m,g){let y=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!y)return;let I={...g||{},pageRoot:n,view:e.name},Y=new y(m,{bubbles:!0,cancelable:m==="hcms:change",detail:I});(e.root&&e.root.isConnected!==!1?e.root:n).dispatchEvent(Y)},onCloseRequested:o,onViewRequested:s};return v.updateFingerprint=()=>{v.lastFingerprint=mo(fn(v))},e.ctx=v,v}function Hc(e){e.updateFingerprint(),e.observerHandle=uc({onRefresh:r=>e.view.refresh("observer",r)});let t=Jt("undo");if(t&&typeof t.on=="function"){let r=()=>{if(bt.ctx!==e)return;Fc(e,"undo");let o=Zn(ln.extract(e.pageRoot,e.pageRules,qc),e.pageRules);mo(o)!==mo(e.lastData)&&(e.lastData=o,e.onChange?.(o,{path:"",structural:!1}))};t.on("undo",r),t.on("redo",r),e.undoUnsub=()=>{t.off("undo",r),t.off("redo",r)}}let n=()=>Fc(e,"livesync");e.livesyncUnsub=Pr(e.doc,Ba,n),Bi.ctx=e,em(e.doc)}function Fc(e,t){bt.ctx===e&&e.view.refresh(t)}function ks(e,{dispatch:t=!0,restoreFocus:n=!0,updateUrl:r=!0,reason:o="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let i of e.uploads||[])try{i.abort()}catch{}e.uploads?.clear();let s=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:o}),r&&tm(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),Fn(()=>e.view.destroy()),Qh(),n&&typeof s?.focus=="function")try{s.focus()}catch{}}function Qh(){bt.isOpen=!1,bt.ctx=null,bt.opts=null,Bi.ctx=null}var Bi={ctx:null};function em(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let n=function(){let o=Bi.ctx;if(o)return ss(o.formRoot),dr("Reorder",()=>kn(fn(o),{path:"",structural:!0},o))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=n),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=n)}var qi="cms";function $c(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);if(!r)return t;let o=new URLSearchParams(r);return o.get(qi)!=="true"?t:(o.set(qi,"false"),"?"+o.toString())}function Uc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);return r?new URLSearchParams(r).get(qi)==="true":!1}function tm(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=$c(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var zc="hcms-toggle",Ft="data-hcms-toggle-host",Vc="hcms-toggle-style",Wc="data-hcms-toggle-style",ys="data-hcms-session",Qc="data-hcms-split",eu="hcms.view",xs=["sidebar","inline"],nm={sidebar:"In the sidebar",inline:"On the page"},Ui="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function Kc(e){try{let t=e&&e.localStorage?e.localStorage.getItem(eu):null;return xs.includes(t)?t:null}catch{return null}}function rm(e,t){if(xs.includes(t))try{e?.localStorage?.setItem(eu,t)}catch{}}var om="#fafafa",sm="#0a0a0a",im=`
|
|
206
|
+
[${Ft}] {
|
|
205
207
|
all: unset;
|
|
206
208
|
box-sizing: border-box;
|
|
207
209
|
display: var(--hcms-toggle-display, inline-flex);
|
|
208
210
|
font-family: 'Departure Mono', ui-monospace, Menlo, monospace;
|
|
209
|
-
--hcms-toggle-_surface: ${
|
|
211
|
+
--hcms-toggle-_surface: ${om};
|
|
210
212
|
}
|
|
211
|
-
[${
|
|
212
|
-
--hcms-toggle-_surface: ${
|
|
213
|
+
[${Ft}][data-hcms-surface="dark"] {
|
|
214
|
+
--hcms-toggle-_surface: ${sm};
|
|
213
215
|
}
|
|
214
|
-
[${
|
|
215
|
-
[${
|
|
216
|
+
[${Ft}] .hcms-toggle__main,
|
|
217
|
+
[${Ft}] .hcms-toggle__arrow {
|
|
216
218
|
all: unset;
|
|
217
219
|
box-sizing: border-box;
|
|
218
220
|
display: inline-flex;
|
|
@@ -231,34 +233,34 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
231
233
|
cursor: pointer;
|
|
232
234
|
box-shadow: none;
|
|
233
235
|
}
|
|
234
|
-
[${
|
|
235
|
-
[${
|
|
236
|
+
[${Ft}] .hcms-toggle__main:hover,
|
|
237
|
+
[${Ft}] .hcms-toggle__arrow:hover {
|
|
236
238
|
border-color: var(--mirk-focus-color, #C7AE93);
|
|
237
239
|
box-shadow: none;
|
|
238
240
|
}
|
|
239
|
-
[${
|
|
240
|
-
[${
|
|
241
|
+
[${Ft}] .hcms-toggle__main:active,
|
|
242
|
+
[${Ft}] .hcms-toggle__arrow:active {
|
|
241
243
|
border-color: var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF);
|
|
242
244
|
}
|
|
243
|
-
[${
|
|
244
|
-
[${
|
|
245
|
+
[${Ft}] .hcms-toggle__main:focus-visible,
|
|
246
|
+
[${Ft}] .hcms-toggle__arrow:focus-visible {
|
|
245
247
|
outline: 2px solid currentColor;
|
|
246
248
|
outline-offset: -5px;
|
|
247
249
|
}
|
|
248
|
-
[${
|
|
249
|
-
[${
|
|
250
|
-
[${
|
|
251
|
-
[${
|
|
250
|
+
[${Ft}] .hcms-toggle__close { display: none; }
|
|
251
|
+
[${Ft}][${ys}="open"] .hcms-toggle__open { display: none; }
|
|
252
|
+
[${Ft}][${ys}="open"] .hcms-toggle__close { display: inline; }
|
|
253
|
+
[${Ft}][${Qc}] .hcms-toggle__main {
|
|
252
254
|
border-radius: 0;
|
|
253
255
|
padding-right: 12px;
|
|
254
256
|
}
|
|
255
|
-
[${
|
|
257
|
+
[${Ft}] .hcms-toggle__arrow {
|
|
256
258
|
gap: 0;
|
|
257
259
|
padding: 0 10px;
|
|
258
260
|
border-radius: 0;
|
|
259
261
|
border-left-width: 0;
|
|
260
262
|
}
|
|
261
|
-
[${
|
|
263
|
+
[${Ft}] .hcms-toggle__menu {
|
|
262
264
|
all: unset;
|
|
263
265
|
box-sizing: border-box;
|
|
264
266
|
min-width: 180px;
|
|
@@ -267,12 +269,12 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
267
269
|
font-size: 14px;
|
|
268
270
|
line-height: 1.5;
|
|
269
271
|
color: var(--hcms-toggle-color, currentColor);
|
|
270
|
-
background: ${
|
|
272
|
+
background: ${Ui};
|
|
271
273
|
border: 1px solid var(--mirk-input-border, #D8C8AF);
|
|
272
274
|
border-radius: var(--mirk-radius, 5px);
|
|
273
275
|
box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45);
|
|
274
276
|
}
|
|
275
|
-
[${
|
|
277
|
+
[${Ft}] .hcms-toggle__item {
|
|
276
278
|
all: unset;
|
|
277
279
|
box-sizing: border-box;
|
|
278
280
|
display: block;
|
|
@@ -281,27 +283,27 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
281
283
|
border-radius: 0;
|
|
282
284
|
cursor: pointer;
|
|
283
285
|
}
|
|
284
|
-
[${
|
|
286
|
+
[${Ft}] .hcms-toggle__item::before {
|
|
285
287
|
content: "\u25CB";
|
|
286
288
|
margin-right: 8px;
|
|
287
289
|
opacity: .55;
|
|
288
290
|
}
|
|
289
|
-
[${
|
|
291
|
+
[${Ft}] .hcms-toggle__item[aria-checked="true"]::before {
|
|
290
292
|
content: "\u25CF";
|
|
291
293
|
opacity: 1;
|
|
292
294
|
}
|
|
293
|
-
[${
|
|
295
|
+
[${Ft}] .hcms-toggle__item:hover {
|
|
294
296
|
background: color-mix(in srgb, currentColor 12%, transparent);
|
|
295
297
|
}
|
|
296
|
-
[${
|
|
298
|
+
[${Ft}] .hcms-toggle__item:focus-visible {
|
|
297
299
|
outline: 2px solid currentColor;
|
|
298
300
|
outline-offset: -3px;
|
|
299
301
|
}
|
|
300
302
|
@media (pointer: coarse) {
|
|
301
|
-
[${
|
|
302
|
-
[${
|
|
303
|
+
[${Ft}] .hcms-toggle__main,
|
|
304
|
+
[${Ft}] .hcms-toggle__arrow { min-height: 44px; }
|
|
303
305
|
}
|
|
304
|
-
`;function zc({search:e="",cookie:t="",forced:r=null}={}){let n=typeof e=="string"?e:"",i=n.indexOf("?"),o=i===-1?n:n.slice(i+1),a=new URLSearchParams(o).get("editmode");return a?a==="true":r!=null?!!r:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var Mn=new WeakMap;function xs(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let r=e.getImageData(0,0,1,1).data;return{r:r[0],g:r[1],b:r[2],a:r[3]/255}}catch{return null}}function Hc(e){if(Mn.has(e))return Mn.get(e);let t=null;try{let r=e.createElement("canvas");if(r.width=r.height=1,t=r.getContext?r.getContext("2d",{willReadFrequently:!0}):null,t){let n=xs(t,"rgb(1, 2, 3)");(!n||n.r!==1||n.g!==2||n.b!==3||n.a!==1)&&(t=null)}}catch{t=null}return Mn.set(e,t),t}function Uc(e,t){let r=String(e??"").trim();if(!r)return null;let n=Vc(r);if(n)return n;let i=t&&t.defaultView;if(!i||!i.CSS||typeof i.CSS.supports!="function"||!i.CSS.supports("color",r))return null;let o=Hc(t);return o?xs(o,r):null}function Vc(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let r=t[1].split(/[\s,/]+/).filter(Boolean);if(r.length<3)return null;let n=r.slice(0,3).map(Number);if(n.some(Number.isNaN))return null;let i=r[3],o=i===void 0?1:i.endsWith("%")?Number(i.slice(0,-1))/100:Number(i);return{r:n[0],g:n[1],b:n[2],a:Number.isNaN(o)?1:o}}function fs({r:e,g:t,b:r}){let n=i=>{let o=i/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*n(e)+.7152*n(t)+.0722*n(r)}function ps(e,t){let r=fs(e),n=fs(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}var gs={r:10,g:10,b:10},bs={r:250,g:250,b:250};function ys(e,t){let r=e.a==null?1:e.a;return{r:e.r*r+t.r*(1-r),g:e.g*r+t.g*(1-r),b:e.b*r+t.b*(1-r)}}function Wc(e){if(!e)return"light";let t=ps(ys(e,gs),gs),r=ps(ys(e,bs),bs);return t>r?"dark":"light"}function Pt(e,t){for(let[r,n]of Object.entries(t))e.style.setProperty(r,n,"important")}function Nn(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,r=e.querySelector(".hcms-toggle__main");if(!t||!r||typeof t.getComputedStyle!="function")return;let n=Uc(t.getComputedStyle(r).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Wc(n))}function Kc(e){Nn(e);let t=e.ownerDocument,r=t&&t.defaultView;if(!r)return;let n=0,i=()=>{if(!n){if(typeof r.requestAnimationFrame!="function")return e.isConnected?Nn(e):s();n=r.requestAnimationFrame(()=>{if(n=0,!e.isConnected)return s();Nn(e)})}};typeof r.requestAnimationFrame=="function"&&i(),t.readyState!=="complete"&&r.addEventListener("load",i,{once:!0});let o=typeof r.MutationObserver=="function"?new r.MutationObserver(i):null;o&&(o.observe(t.documentElement,{attributes:!0}),t.body&&o.observe(t.body,{attributes:!0}));let a=typeof r.matchMedia=="function"?r.matchMedia("(prefers-color-scheme: dark)"):null;a&&typeof a.addEventListener=="function"&&a.addEventListener("change",i);function s(){o&&o.disconnect(),a&&typeof a.removeEventListener=="function"&&a.removeEventListener("change",i)}}function Gc({open:e,close:t,isOpen:r,getTheme:n=()=>null,views:i=Rr},o=document){let a=o.querySelector(`[${ne}]`);if(a)return a;if(!o.querySelector(`[${hs}]`)){let q=o.createElement("style");q.setAttribute(hs,""),q.setAttribute("editor-ui",""),o.getElementById(ds)||(q.id=ds),q.setAttribute("no-save",""),q.setAttribute("snapshot-remove",""),q.setAttribute("save-ignore",""),q.textContent=Bc,o.head.insertBefore(q,o.head.firstChild)}let s=o.createElement("hypercms-toggle");s.className="hcms-shell pixel-quiet",o.getElementById(us)||(s.id=us),s.setAttribute(ne,""),s.setAttribute("editor-ui",""),s.setAttribute("no-save",""),s.setAttribute("snapshot-remove",""),s.setAttribute("save-ignore",""),s.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let l=o.defaultView,u=s.querySelector(".hcms-toggle__main"),m=Rr.filter(q=>i.includes(q)),y=m.length>1,c=y?Yc(o):null,h=y?Jc(o,m):null;y&&(s.setAttribute(ks,""),s.appendChild(c),s.appendChild(h)),Pt(s,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),Pt(u,{background:Ln}),c&&Pt(c,{background:Ln}),h&&Pt(h,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let f=()=>h?[...h.querySelectorAll('[role="menuitemradio"]')]:[];function b(q){if(!(!q||typeof q.focus!="function"))try{q.focus({preventScroll:!0})}catch{q.focus()}}function k(q){let te=f();te.length&&b(te[(q+te.length)%te.length])}function A(){let q=ms(l);for(let te of f())te.setAttribute("aria-checked",String(te.getAttribute("data-hcms-view")===q))}function E(q){s.contains(q.target)||O()}function L(q){h&&(h.hidden=!q,Pt(h,{display:q?"block":"none"}),c.setAttribute("aria-expanded",String(q)),q?(A(),o.addEventListener("pointerdown",E,!0)):o.removeEventListener("pointerdown",E,!0))}function D(q=0){L(!0),k(q)}function O({focusArrow:q=!1}={}){!h||h.hidden||(L(!1),q&&b(c))}function W(){let q=ms(l);return q&&m.includes(q)?q:null}async function U(q){await e({view:q}),qc(l,q)}async function ie(){if(r()){t();return}let q=W();return q?e({view:q}):y?D():e(m[0]?{view:m[0]}:{})}async function ee(q){try{await q()}catch(te){console.warn("hypercms: toggle failed to open the CMS",te)}}s.addEventListener("click",async q=>{c&&c.contains(q.target)||h&&h.contains(q.target)||await ee(ie)}),c&&(c.addEventListener("click",q=>{q.preventDefault(),h.hidden?D():O({focusArrow:!0})}),c.addEventListener("keydown",q=>{if(q.key==="ArrowUp"){q.preventDefault(),D(-1);return}(q.key==="ArrowDown"||q.key==="Enter"||q.key===" ")&&(q.preventDefault(),D(0))}),h.addEventListener("click",q=>{let te=q.target.closest?.('[role="menuitemradio"]');te&&(q.preventDefault(),O(),ee(()=>U(te.getAttribute("data-hcms-view"))))}),h.addEventListener("keydown",q=>{let te=f(),xe=te.indexOf(o.activeElement);switch(q.key){case"ArrowDown":q.preventDefault(),k(xe+1);break;case"ArrowUp":q.preventDefault(),k(xe-1);break;case"Home":q.preventDefault(),k(0);break;case"End":q.preventDefault(),k(te.length-1);break;case"Enter":case" ":if(q.preventDefault(),xe===-1)break;O(),ee(()=>U(te[xe].getAttribute("data-hcms-view")));break;case"Escape":q.preventDefault(),O({focusArrow:!0});break;case"Tab":O();break}}));let me=q=>{let te=n();s.classList.toggle("light",te==="light"),s.classList.toggle("dark",te==="dark"),q?s.setAttribute(Or,"open"):s.removeAttribute(Or)};return me(r()),o.addEventListener("hcms:open",()=>me(!0)),o.addEventListener("hcms:close",()=>me(!1)),o.body.appendChild(s),Ie(o),Kc(s),s}function Yc(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function Jc(e,t){let r=e.createElement("div");r.className="hcms-toggle__menu",r.setAttribute("role","menu"),r.setAttribute("aria-label","Where to edit"),r.hidden=!0;for(let n of t){let i=e.createElement("button");i.type="button",i.className="hcms-toggle__item",i.setAttribute("role","menuitemradio"),i.setAttribute("aria-checked","false"),i.setAttribute("data-hcms-view",n),i.tabIndex=-1,i.textContent=Dc[n],r.appendChild(i)}return r}function ws(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!zc({search:window.location.search,cookie:document.cookie,forced:t}))return;let r=()=>{document.body&&e.hasRules(document)&&Gc(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",r,{once:!0}):r()}function As(e){if(Ao(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Ie(document)}}var jn={sidebar:Mo,inline:Qo};function Mr(e={}){let t=e.view||(J.isOpen?J.ctx.view.name:"sidebar"),r=jn[t];if(!r)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(jn).join(" or ")})`);let n=J.isOpen?{...J.opts,...e,view:t}:e,i=n.pageRoot||(typeof document<"u"?document.body:null);if(!i)throw new Error("hypercms: no pageRoot available");let o=i.ownerDocument||(typeof document<"u"?document:null);if(!o)throw new Error("hypercms: no document available");let a=null,s=null;if(J.isOpen){if(J.ctx.view.name===t)return;a=J.ctx.previouslyFocused,s=J.ctx.view.name,Cr(J.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Vo();let l=r({doc:o,pageRoot:i,opts:n}),u=ss({view:l,doc:o,pageRoot:i,opts:n,onCloseRequested:()=>Fn(),onViewRequested:m=>Mr({view:m})});a&&(u.previouslyFocused=a);try{l.mount(u.initialData),as(u),l.focusOnOpen(),J.isOpen=!0,J.ctx=u,J.opts=n,u.dispatch("hcms:open",{pageRoot:i,previous:s})}catch(m){throw Cr(u,{dispatch:!1,restoreFocus:!!a,updateUrl:!1}),m}}function Fn(){J.isOpen&&Cr(J.ctx)}function Ss(){J.isOpen&&J.ctx.view.refresh("api")}function Xc(){return J.isOpen}function Zc(){return J.isOpen&&J.ctx?J.ctx.view.name:null}var Qc={getData(){return J.isOpen?pe(J.ctx):null},setValue(e,t){if(!J.isOpen)throw new Error("hypercms: cms is not open");let r=J.ctx,n=Se(e),i=Pe(r.pageRules,n);if(i===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof i!="string"||i.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let o=mr(r.formRoot,e);if(!o)throw new Error(`hypercms: no field element at path "${e}"`);fr(o,t,r.formRoot,e),be(pe(r),{path:e,structural:!1},r)},addItem(e){if(!J.isOpen)throw new Error("hypercms: cms is not open");Nt(e,J.ctx)},removeItem(e){if(!J.isOpen)throw new Error("hypercms: cms is not open");let t=J.ctx,r=Se(e);if(typeof r[r.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let i=Pe(t.pageRules,r.slice(0,-1));if(!(Array.isArray(i)||typeof i=="string"&&i.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let a=t.formRoot.querySelector(`[data-hcms-path="${iu(e)}"]`);if(!a)throw new Error(`hypercms: no element at path "${e}"`);at(a,t)},refresh:Ss,_commit(){if(!J.isOpen)return;let e=J.ctx;return pr(e.formRoot),He("Update",()=>be(pe(e),{path:"",structural:!0},e))}},eu=250,tu=1e4;function ru(){typeof window>"u"||typeof document>"u"||cs(window.location?window.location.search:"")&&(J.isOpen||nu(()=>{if(!J.isOpen)try{Mr()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function In(){return!!document.body&&!!ue("Mutation")}function nu(e){if(In()){queueMicrotask(e);return}let t=Date.now()+tu,r=!1,n=null,i=null,o=()=>{r||(r=!0,n!==null&&clearInterval(n),i&&i())};function a(){if(J.isOpen){o();return}In()&&(o(),e())}i=it(document,io,a),n=setInterval(()=>{if(J.isOpen){o();return}if(In()){o(),e();return}Date.now()>=t&&(o(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},eu)}ru();ws({open:Mr,close:Fn,isOpen:Xc,getTheme:()=>J.opts?.theme,views:Object.keys(jn),hasRules:e=>!!fe.findRules(e,"cms")});var Dn={open:Mr,close:Fn,refresh:Ss,api:Qc,get isOpen(){return J.isOpen},currentView:Zc,path:Qr,scaffold:Ot,morphForm:Yt};function iu(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Es=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
|
|
306
|
+
`;function lm({search:e="",cookie:t="",forced:n=null}={}){let r=typeof e=="string"?e:"",o=r.indexOf("?"),s=o===-1?r:r.slice(o+1),i=new URLSearchParams(s).get("editmode");return i?i==="true":n!=null?!!n:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var Hi=new WeakMap;function tu(e,t){try{e.globalCompositeOperation="copy",e.fillStyle=t,e.fillRect(0,0,1,1);let n=e.getImageData(0,0,1,1).data;return{r:n[0],g:n[1],b:n[2],a:n[3]/255}}catch{return null}}function am(e){if(Hi.has(e))return Hi.get(e);let t=null;try{let n=e.createElement("canvas");if(n.width=n.height=1,t=n.getContext?n.getContext("2d",{willReadFrequently:!0}):null,t){let r=tu(t,"rgb(1, 2, 3)");(!r||r.r!==1||r.g!==2||r.b!==3||r.a!==1)&&(t=null)}}catch{t=null}return Hi.set(e,t),t}function cm(e,t){let n=String(e??"").trim();if(!n)return null;let r=um(n);if(r)return r;let o=t&&t.defaultView;if(!o||!o.CSS||typeof o.CSS.supports!="function"||!o.CSS.supports("color",n))return null;let s=am(t);return s?tu(s,n):null}function um(e){let t=/rgba?\(([^)]+)\)/.exec(String(e??""));if(!t)return null;let n=t[1].split(/[\s,/]+/).filter(Boolean);if(n.length<3)return null;let r=n.slice(0,3).map(Number);if(r.some(Number.isNaN))return null;let o=n[3],s=o===void 0?1:o.endsWith("%")?Number(o.slice(0,-1))/100:Number(o);return{r:r[0],g:r[1],b:r[2],a:Number.isNaN(s)?1:s}}function Gc({r:e,g:t,b:n}){let r=o=>{let s=o/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function Yc(e,t){let n=Gc(e),r=Gc(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}var Xc={r:10,g:10,b:10},Jc={r:250,g:250,b:250};function Zc(e,t){let n=e.a==null?1:e.a;return{r:e.r*n+t.r*(1-n),g:e.g*n+t.g*(1-n),b:e.b*n+t.b*(1-n)}}function fm(e){if(!e)return"light";let t=Yc(Zc(e,Xc),Xc),n=Yc(Zc(e,Jc),Jc);return t>n?"dark":"light"}function vo(e,t){for(let[n,r]of Object.entries(t))e.style.setProperty(n,r,"important")}function $i(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,n=e.querySelector(".hcms-toggle__main");if(!t||!n||typeof t.getComputedStyle!="function")return;let r=cm(t.getComputedStyle(n).color,e.ownerDocument);e.setAttribute("data-hcms-surface",fm(r))}function dm(e){$i(e);let t=e.ownerDocument,n=t&&t.defaultView;if(!n)return;let r=0,o=()=>{if(!r){if(typeof n.requestAnimationFrame!="function")return e.isConnected?$i(e):l();r=n.requestAnimationFrame(()=>{if(r=0,!e.isConnected)return l();$i(e)})}};typeof n.requestAnimationFrame=="function"&&o(),t.readyState!=="complete"&&n.addEventListener("load",o,{once:!0});let s=typeof n.MutationObserver=="function"?new n.MutationObserver(o):null;s&&(s.observe(t.documentElement,{attributes:!0}),t.body&&s.observe(t.body,{attributes:!0}));let i=typeof n.matchMedia=="function"?n.matchMedia("(prefers-color-scheme: dark)"):null;i&&typeof i.addEventListener=="function"&&i.addEventListener("change",o);function l(){s&&s.disconnect(),i&&typeof i.removeEventListener=="function"&&i.removeEventListener("change",o)}}function hm({open:e,close:t,isOpen:n,getTheme:r=()=>null,views:o=xs},s=document){let i=s.querySelector(`[${Ft}]`);if(i)return i;if(!s.querySelector(`[${Wc}]`)){let L=s.createElement("style");L.setAttribute(Wc,""),L.setAttribute("editor-ui",""),s.getElementById(Vc)||(L.id=Vc),L.setAttribute("no-save",""),L.setAttribute("snapshot-remove",""),L.setAttribute("save-ignore",""),L.textContent=im,s.head.insertBefore(L,s.head.firstChild)}let l=s.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",s.getElementById(zc)||(l.id=zc),l.setAttribute(Ft,""),l.setAttribute("editor-ui",""),l.setAttribute("no-save",""),l.setAttribute("snapshot-remove",""),l.setAttribute("save-ignore",""),l.innerHTML='<button type="button" class="hcms-toggle__main mirk-button"><span class="hcms-toggle__open">Edit content</span><span class="hcms-toggle__close">Close editor</span></button>';let a=s.defaultView,u=l.querySelector(".hcms-toggle__main"),d=xs.filter(L=>o.includes(L)),h=d.length>1,f=h?mm(s):null,p=h?pm(s,d):null;h&&(l.setAttribute(Qc,""),l.appendChild(f),l.appendChild(p)),vo(l,{position:"fixed",right:"calc(var(--hcms-toggle-offset, 16px) + var(--hcms-toggle-shift, 0px))",bottom:"calc(var(--hcms-toggle-offset, 16px) + env(safe-area-inset-bottom, 0px))","z-index":"var(--hcms-toggle-z, 2147482900)"}),vo(u,{background:Ui}),f&&vo(f,{background:Ui}),p&&vo(p,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let b=()=>p?[...p.querySelectorAll('[role="menuitemradio"]')]:[];function v(L){if(!(!L||typeof L.focus!="function"))try{L.focus({preventScroll:!0})}catch{L.focus()}}function m(L){let Ee=b();Ee.length&&v(Ee[(L+Ee.length)%Ee.length])}function g(){let L=Kc(a);for(let Ee of b())Ee.setAttribute("aria-checked",String(Ee.getAttribute("data-hcms-view")===L))}function y(L){l.contains(L.target)||$()}function I(L){p&&(p.hidden=!L,vo(p,{display:L?"block":"none"}),f.setAttribute("aria-expanded",String(L)),L?(g(),s.addEventListener("pointerdown",y,!0)):s.removeEventListener("pointerdown",y,!0))}function Y(L=0){I(!0),m(L)}function $({focusArrow:L=!1}={}){!p||p.hidden||(I(!1),L&&v(f))}function H(){let L=Kc(a);return L&&d.includes(L)?L:null}async function z(L){await e({view:L}),rm(a,L)}async function ae(){if(n()){t();return}let L=H();return L?e({view:L}):h?Y():e(d[0]?{view:d[0]}:{})}async function me(L){try{await L()}catch(Ee){console.warn("hypercms: toggle failed to open the CMS",Ee)}}l.addEventListener("click",async L=>{f&&f.contains(L.target)||p&&p.contains(L.target)||await me(ae)}),f&&(f.addEventListener("click",L=>{L.preventDefault(),p.hidden?Y():$({focusArrow:!0})}),f.addEventListener("keydown",L=>{if(L.key==="ArrowUp"){L.preventDefault(),Y(-1);return}(L.key==="ArrowDown"||L.key==="Enter"||L.key===" ")&&(L.preventDefault(),Y(0))}),p.addEventListener("click",L=>{let Ee=L.target.closest?.('[role="menuitemradio"]');Ee&&(L.preventDefault(),$(),me(()=>z(Ee.getAttribute("data-hcms-view"))))}),p.addEventListener("keydown",L=>{let Ee=b(),xe=Ee.indexOf(s.activeElement);switch(L.key){case"ArrowDown":L.preventDefault(),m(xe+1);break;case"ArrowUp":L.preventDefault(),m(xe-1);break;case"Home":L.preventDefault(),m(0);break;case"End":L.preventDefault(),m(Ee.length-1);break;case"Enter":case" ":if(L.preventDefault(),xe===-1)break;$(),me(()=>z(Ee[xe].getAttribute("data-hcms-view")));break;case"Escape":L.preventDefault(),$({focusArrow:!0});break;case"Tab":$();break}}));let Q=L=>{let Ee=r();l.classList.toggle("light",Ee==="light"),l.classList.toggle("dark",Ee==="dark"),L?l.setAttribute(ys,"open"):l.removeAttribute(ys)};return Q(n()),s.addEventListener("hcms:open",()=>Q(!0)),s.addEventListener("hcms:close",()=>Q(!1)),s.body.appendChild(l),Qn(s),dm(l),l}function mm(e){let t=e.createElement("button");return t.type="button",t.className="hcms-toggle__arrow mirk-button",t.setAttribute("aria-haspopup","menu"),t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label","Choose where to edit"),t.textContent="\u25BE",t}function pm(e,t){let n=e.createElement("div");n.className="hcms-toggle__menu",n.setAttribute("role","menu"),n.setAttribute("aria-label","Where to edit"),n.hidden=!0;for(let r of t){let o=e.createElement("button");o.type="button",o.className="hcms-toggle__item",o.setAttribute("role","menuitemradio"),o.setAttribute("aria-checked","false"),o.setAttribute("data-hcms-view",r),o.tabIndex=-1,o.textContent=nm[r],n.appendChild(o)}return n}function nu(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!lm({search:window.location.search,cookie:document.cookie,forced:t}))return;let n=()=>{document.body&&e.hasRules(document)&&hm(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}function ru(e){if(rc(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Qn(document)}}var Vi={sidebar:fc,inline:Lc};function vs(e={}){let t=e.view||(bt.isOpen?bt.ctx.view.name:"sidebar"),n=Vi[t];if(!n)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(Vi).join(" or ")})`);let r=bt.isOpen?{...bt.opts,...e,view:t}:e,o=r.pageRoot||(typeof document<"u"?document.body:null);if(!o)throw new Error("hypercms: no pageRoot available");let s=o.ownerDocument||(typeof document<"u"?document:null);if(!s)throw new Error("hypercms: no document available");let i=null,l=null;if(bt.isOpen){if(bt.ctx.view.name===t)return;i=bt.ctx.previouslyFocused,l=bt.ctx.view.name,ks(bt.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Tc();let a=n({doc:s,pageRoot:o,opts:r}),u=Bc({view:a,doc:s,pageRoot:o,opts:r,onCloseRequested:()=>Wi(),onViewRequested:d=>vs({view:d})});i&&(u.previouslyFocused=i);try{a.mount(u.initialData),Hc(u),a.focusOnOpen(),bt.isOpen=!0,bt.ctx=u,bt.opts=r,u.dispatch("hcms:open",{pageRoot:o,previous:l})}catch(d){throw ks(u,{dispatch:!1,restoreFocus:!!i,updateUrl:!1}),d}}function Wi(){bt.isOpen&&ks(bt.ctx)}function ou(){bt.isOpen&&bt.ctx.view.refresh("api")}function gm(){return bt.isOpen}function bm(){return bt.isOpen&&bt.ctx?bt.ctx.view.name:null}var km={getData(){return bt.isOpen?fn(bt.ctx):null},setValue(e,t){if(!bt.isOpen)throw new Error("hypercms: cms is not open");let n=bt.ctx,r=Pn(e),o=cr(n.pageRules,r);if(o===void 0)throw new Error(`hypercms: no rule at path "${e}"`);if(typeof o!="string"||o.endsWith("[]"))throw new Error(`hypercms: setValue requires a leaf scalar path; "${e}" is not a leaf`);let s=rs(n.formRoot,e);if(!s)throw new Error(`hypercms: no field element at path "${e}"`);os(s,t,n.formRoot,e),kn(fn(n),{path:e,structural:!1},n)},addItem(e){if(!bt.isOpen)throw new Error("hypercms: cms is not open");ho(e,bt.ctx)},removeItem(e){if(!bt.isOpen)throw new Error("hypercms: cms is not open");let t=bt.ctx,n=Pn(e);if(typeof n[n.length-1]!="number")throw new Error(`hypercms: removeItem requires an item path; "${e}" is not an array index`);let o=cr(t.pageRules,n.slice(0,-1));if(!(Array.isArray(o)||typeof o=="string"&&o.endsWith("[]")))throw new Error(`hypercms: removeItem requires an item path; parent of "${e}" is not an array`);let i=t.formRoot.querySelector(`[data-hcms-path="${Am(e)}"]`);if(!i)throw new Error(`hypercms: no element at path "${e}"`);qr(i,t)},refresh:ou,_commit(){if(!bt.isOpen)return;let e=bt.ctx;return ss(e.formRoot),dr("Update",()=>kn(fn(e),{path:"",structural:!0},e))}},ym=250,xm=1e4;function vm(){typeof window>"u"||typeof document>"u"||Uc(window.location?window.location.search:"")&&(bt.isOpen||wm(()=>{if(!bt.isOpen)try{vs()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function zi(){return!!document.body&&!!Jt("Mutation")}function wm(e){if(zi()){queueMicrotask(e);return}let t=Date.now()+xm,n=!1,r=null,o=null,s=()=>{n||(n=!0,r!==null&&clearInterval(r),o&&o())};function i(){if(bt.isOpen){s();return}zi()&&(s(),e())}o=Pr(document,qa,i),r=setInterval(()=>{if(bt.isOpen){s();return}if(zi()){s(),e();return}Date.now()>=t&&(s(),console.warn("hypercms: ?cms=true auto-open gave up \u2014 no mutation hub appeared. Load clayjs or hyperclayjs (or just the mutation utility) so the CMS can initialize."))},ym)}vm();nu({open:vs,close:Wi,isOpen:gm,getTheme:()=>bt.opts?.theme,views:Object.keys(Vi),hasRules:e=>!!ln.findRules(e,"cms")});var Ki={open:vs,close:Wi,refresh:ou,api:km,get isOpen(){return bt.isOpen},currentView:bm,path:ui,scaffold:co,morphForm:qo};function Am(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var su=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
|
|
305
307
|
Source of truth: mirk-interface/mirk.css + src/theme/pixel-quiet.overrides.css.
|
|
306
308
|
Regenerate with: npm run build:theme */
|
|
307
309
|
|
|
@@ -2197,4 +2199,4 @@ tr.hcms-shell.hcms-inline-ghost { display: table-row; }
|
|
|
2197
2199
|
will-change: transform;
|
|
2198
2200
|
}
|
|
2199
2201
|
.hcms-inline-highlight[hidden] { display: none; }
|
|
2200
|
-
`;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",
|
|
2202
|
+
`;typeof window<"u"&&typeof document<"u"&&(function(){if(window.__mirk)return;window.__mirk=!0;let e='<svg viewBox="0 0 16 16" aria-hidden="true"><path d="M4 4 12 12M12 4 4 12" stroke="currentColor" stroke-width="2" stroke-linecap="square" fill="none"/></svg>';document.addEventListener("click",n=>{let r=n.target.closest(".mirk-number__step");if(!r)return;let o=r.closest(".mirk-number").querySelector("input[type=number]");o&&(r.dataset.step==="up"?o.stepUp():o.stepDown(),o.dispatchEvent(new Event("change",{bubbles:!0})))}),document.addEventListener("input",n=>{let r=n.target.closest(".mirk-slider__input");r&&r.closest(".mirk-slider").style.setProperty("--mirk-value",`${r.value}%`)}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-file__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-file"),s=o.querySelector(".mirk-file__name");if(!s)return;let i=r.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(i),l.target="_blank",l.rel="noopener",l.textContent=i.name,s.replaceWith(l),!o.querySelector(".mirk-file__remove")){let a=document.createElement("button");a.type="button",a.className="mirk-file__remove",a.setAttribute("aria-label","Remove file"),a.innerHTML=e,l.after(a)}}),document.addEventListener("change",n=>{let r=n.target.closest(".mirk-image__input");if(!r||!r.files.length)return;let o=r.closest(".mirk-image"),s=o.querySelector(".mirk-image__preview");if(!s)return;let i=o.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{s.src=a.target.result,s.removeAttribute("hidden"),i&&i.setAttribute("hidden",""),o.querySelector(".mirk-image__thumb")?.removeAttribute("hidden"),o.querySelector(".mirk-image__upload")?.setAttribute("hidden","")},l.readAsDataURL(r.files[0])}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-file__remove");if(r){let s=r.closest(".mirk-file"),i=s?.querySelector(".mirk-file__input"),l=s?.querySelector(".mirk-file__name");if(i&&(i.value=""),l){let a=document.createElement("span");a.className="mirk-file__name",a.textContent="No file chosen",l.replaceWith(a)}r.remove();return}let o=n.target.closest(".mirk-image__remove");if(o){let s=o.closest(".mirk-image"),i=s?.querySelector(".mirk-image__input"),l=s?.querySelector(".mirk-image__preview");i&&(i.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),s?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),s?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(n,r){let o=document.createElement("span");o.textContent=n;let s=document.createElement("input");s.type="hidden",s.name="tags[]",s.value=n;let i=document.createElement("button");i.type="button",i.className="mirk-tags__remove",i.textContent="\xD7";let l=document.createElement("span");if(l.className="mirk-tags__chip",r){let a=document.createElement("span");a.className="mirk-tags__chip-inner",a.append(o,s,i),l.append(a)}else l.append(o,s,i);return l}document.addEventListener("keydown",n=>{let r=n.target.closest(".mirk-tags__input");if(!r)return;let o=r.closest(".mirk-tags");if(n.key==="Enter"||n.key===","){let s=r.value.trim();if(!s)return;n.preventDefault(),r.before(t(s,o.classList.contains("mirk-tags--round"))),r.value=""}else if(n.key==="Backspace"&&!r.value){let s=o.querySelectorAll(".mirk-tags__chip");s[s.length-1]?.remove()}}),document.addEventListener("click",n=>{let r=n.target.closest(".mirk-tags__remove");if(r){r.closest(".mirk-tags__chip").remove();return}let o=n.target.closest(".mirk-tags");o&&n.target===o&&o.querySelector(".mirk-tags__input")?.focus()}),document.addEventListener("click",n=>{let r=n.target.closest("[data-mirk-chip]");if(!r)return;let o=r.getAttribute("data-mirk-chip");if(o==="open")r.closest(".mirk-chip")?.classList.add("mirk-chip--open");else if(o==="collapse")r.closest(".mirk-chip")?.classList.remove("mirk-chip--open");else if(o==="changes"){let s=r.closest(".mirk-chip__panel")?.classList.toggle("is-changes");r.textContent=s?"(hide changes)":"(view changes)"}}),document.addEventListener("click",n=>{let r=n.target.closest("[data-copy-btn]");if(!r)return;let o=r.closest("[data-copy]");if(!o)return;let s=o.cloneNode(!0);s.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=o.getAttribute("data-copy")==="text"?s.textContent.replace(/^\s+|\s+$/g,""):s.innerHTML.replace(/\s+data-copy(="[^"]*")?/g,"").replace(/^\s*\n/gm,"").trim();navigator.clipboard.writeText(l).then(()=>{let a=r.textContent;r.textContent="copied",r.dataset.copied="",setTimeout(()=>{r.textContent=a,delete r.dataset.copied},1200)}).catch(()=>{r.textContent="error",setTimeout(()=>{r.textContent="copy"},1200)})})})();ru(su);var Em=Ki,_m={cms:Ki};return uu(Om);})();
|