@panphora/hyper-cms 0.10.0 → 0.11.1
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/README.md +33 -0
- package/dist/hypercms.min.js +445 -38
- package/package.json +8 -5
- package/packed-contract.json +1 -0
- package/src/anchor.js +24 -0
- package/src/apply-loop.js +73 -46
- package/src/enhance.js +79 -6
- package/src/events.js +92 -6
- package/src/hooks.js +100 -0
- package/src/hypercms-clayjs.js +10 -0
- package/src/hypercms.js +109 -386
- package/src/inline-icons.js +15 -0
- package/src/lib/content-dom.js +110 -0
- package/src/lib/region-capabilities.js +71 -0
- package/src/morph.js +1 -0
- package/src/place.js +131 -0
- package/src/platform.js +12 -0
- package/src/refresh.js +23 -13
- package/src/richclay-bridge.js +140 -0
- package/src/row-identity.js +4 -6
- package/src/session.js +303 -0
- package/src/shell.js +27 -6
- package/src/targets.js +149 -0
- package/src/theme/pixel-quiet.overrides.css +303 -9
- package/src/theme.generated.css +303 -9
- package/src/toggle.js +627 -34
- package/src/unresolved.js +87 -18
- package/src/views/inline-ghosts.js +139 -0
- package/src/views/inline-layer.js +663 -0
- package/src/views/inline.js +1092 -0
- package/src/views/sidebar.js +97 -0
package/dist/hypercms.min.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDescriptor;var vi=Object.getOwnPropertyNames;var xi=Object.prototype.hasOwnProperty;var Pt=(e,t)=>{for(var r in t)$t(e,r,{get:t[r],enumerable:!0})},wi=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of vi(t))!xi.call(e,i)&&i!==r&&$t(e,i,{get:()=>t[i],enumerable:!(n=yi(t,i))||n.enumerable});return e};var _i=e=>wi($t({},"__esModule",{value:!0}),e);var ua={};Pt(ua,{cms:()=>la,default:()=>ca});function Q(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 it(e){let t=Q(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}var qr={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 Si(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 Ei(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 Ci(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 Ti(e,t){return(e.textContent||"").replace(/\s+/g," ").trim().slice(0,t.textHintLength)}function Ri(e,t){let r=[e.tagName];return t.includeClasses&&r.push(Ei(e)),r.push(Ci(e,t)),Si(r.join("|"))}function Oi(e){let t=e.tagName,r=1,n=e.previousElementSibling;for(;n;)n.tagName===t&&r++,n=n.previousElementSibling;return r}function Mi(e,t){return e.getAttribute?.("id")||e.getAttribute?.("role")?!0:t.landmarks.includes(e.tagName)}function Ni(e){let t=e.getAttribute?.("id");if(t)return`#${t}`;let r=e.getAttribute?.("role");return r?`@${r}`:e.tagName}function Ii(e,t){let r=[],n=e;for(;n&&n.tagName&&r.length<t.maxPathDepth;){let i=`${n.tagName}:${Oi(n)}`;if(r.unshift(i),n!==e&&Mi(n,t)){r.unshift(Ni(n));break}n=n.parentElement}return r}function ji(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 se(e,t,r){if(r.has(e))return r.get(e);let n={signature:Ri(e,t),path:Ii(e,t),textHint:Ti(e,t)};return r.set(e,n),n}function Br(e,t,r,n){if(n.has(e))return n.get(e);let i=new Map,o=e.querySelectorAll("*"),s=0;for(let a of o){let l=se(a,t,r);l.domIndex=s++,!t.shouldIgnore?.(a)&&(i.has(l.signature)||i.set(l.signature,[]),i.get(l.signature).push(a))}return n.set(e,i),i}function Li(e,t,r){r.delete(e),t.delete(e);let n=e.querySelectorAll("*");for(let i of n)t.delete(i)}function Bt(e,t,r,n,i){let o=se(e,r,n),s=se(t,r,n),a=r.weights,l={},c=0;if(o.signature!==s.signature)return{score:0,breakdown:{rejected:"signature mismatch"}};c+=a.signature,l.signature=a.signature;let p=ji(o.path,s.path)*a.pathSegment;c+=p,l.path=p;let d=!0;if(o.textHint&&s.textHint?o.textHint===s.textHint?(c+=a.textMatch,l.text=a.textMatch):(c-=a.textMismatch,l.text=-a.textMismatch,d=!1):o.textHint!==s.textHint&&(c-=a.textMismatch,l.text=-a.textMismatch,d=!1),i.candidateCount===1&&d&&(c+=a.uniqueCandidate,l.unique=a.uniqueCandidate),typeof o.domIndex=="number"&&typeof s.domIndex=="number"){let u=Math.abs(o.domIndex-s.domIndex),y=Math.min(u*a.positionPenalty,a.maxDriftPenalty);c-=y,l.drift=-y}return{score:c,breakdown:l}}function Dr(e,t,r,n,i){if(r.excludeIds&&e.getAttribute("id"))return null;let o=Br(t,r,n,i),s=se(e,r,n);if(typeof s.domIndex!="number"){let d=0,u=e.previousElementSibling;for(;u;)d++,u=u.previousElementSibling;s.domIndex=d}let a=o.get(s.signature)||[],l=r.excludeIds?a.filter(d=>!d.getAttribute("id")):a;if(l.length===0)return null;let c=null,m=0,p=null;for(let d of l){let{score:u,breakdown:y}=Bt(e,d,r,n,{candidateCount:l.length});u>m&&(m=u,c=d,p=y)}return m<r.minConfidence?null:{element:c,confidence:m,breakdown:p}}function Fi(e,t,r,n){let i=[],o=r.weights.signature+r.weights.slotMatch,s={slot:o};function a(p){if(p.children)return p.children;let d=p.childNodes;if(!d)return[];let u=[];for(let y=0;y<d.length;y++)d[y].nodeType===1&&u.push(d[y]);return u}function l(p,d){let u=a(p),y=a(d);if(u.length===y.length)for(let N=0;N<u.length;N++){let R=u[N],F=y[N];if(r.shouldIgnore?.(R)||r.shouldIgnore?.(F)||r.excludeIds&&(R.getAttribute("id")||F.getAttribute("id"))||R.tagName!==F.tagName)continue;let V=se(R,r,n).signature,te=se(F,r,n).signature;V!==te&&i.push({newEl:R,oldEl:F,score:o,breakdown:s}),l(R,F)}}function c(p,d){for(;;){if(p.tagName===d.tagName)return[p,d];let u=a(p);if(!p.tagName&&u.length===1){p=u[0];continue}let y=a(d);if(y.length===1&&y[0].tagName===p.tagName){d=y[0];continue}return null}}let m=c(e,t);return m&&l(m[0],m[1]),i}function $r(e,t,r,n,i){let o=t.querySelectorAll("*"),s=Br(e,r,n,i),a=0;for(let u of o){let y=se(u,r,n);y.domIndex=a++}let l=[],c=new Map;function m(u,y,N){let R=new Set;if(u.textHint){let z=c.get(u.signature);if(!z){z=new Map;for(let ee of y){let pe=se(ee,r,n).textHint,fe=z.get(pe);fe||(fe=[],z.set(pe,fe)),fe.push(ee)}c.set(u.signature,z)}let oe=z.get(u.textHint);if(oe)for(let ee=0;ee<oe.length&&ee<N;ee++)R.add(oe[ee])}let F=0,V=y.length;for(;F<V;){let z=F+V>>1;se(y[z],r,n).domIndex<u.domIndex?F=z+1:V=z}let te=Math.max(0,Math.min(F-(N>>1),y.length-N)),le=Math.min(te+N,y.length);for(let z=te;z<le;z++)R.add(y[z]);return[...R]}for(let u of o){if(r.shouldIgnore?.(u)||r.excludeIds&&u.getAttribute("id"))continue;let y=se(u,r,n),N=s.get(y.signature)||[],R=r.excludeIds?N.filter(te=>!te.getAttribute("id")):N,F=r.maxScoredCandidates,V=F&&R.length>F?m(y,R,F):R;for(let te of V){let{score:le,breakdown:z}=Bt(u,te,r,n,{candidateCount:R.length});le>=r.minConfidence&&l.push({newEl:u,oldEl:te,score:le,breakdown:z})}}if(r.weights.slotMatch>0){let u=Fi(t,e,r,n);for(let y of u)l.push(y)}l.sort((u,y)=>y.score-u.score);let p=new Map,d=new Set;for(let{newEl:u,oldEl:y}of l)p.has(u)||d.has(y)||(p.set(u,y),d.add(y));return p}function Pr(e,t,r,n){let i=se(e,r,n),o=se(t,r,n),{score:s,breakdown:a}=Bt(e,t,r,n,{candidateCount:1});return{matches:s>=r.minConfidence,score:s,breakdown:a,newMeta:{signature:i.signature,path:i.path,textHint:i.textHint},oldMeta:{signature:o.signature,path:o.path,textHint:o.textHint}}}function Ur(e={}){let t={...qr,...e,weights:{...qr.weights,...e.weights}},r=new WeakMap,n=new WeakMap;return{findMatch:(i,o)=>Dr(i,o,t,r,n),computeMatches:(i,o)=>$r(i,o,t,r,n),explain:(i,o)=>Pr(i,o,t,r),invalidate:i=>Li(i,r,n),session:()=>{let i=new WeakMap,o=new WeakMap;return{findMatch:(s,a)=>Dr(s,a,t,i,o),computeMatches:(s,a)=>$r(s,a,t,i,o),explain:(s,a)=>Pr(s,a,t,i)}},getConfig:()=>({...t})}}function Ut(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 zr(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,r)=>r.length%2===0?r+'\\"':t)}var qi=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,Di=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function ot(e){try{return JSON.parse(e)}catch{return JSON.parse($i(e))}}function $i(e){let t="",r=0,n=(i,o)=>{throw new Error(`Invalid relaxed JSON: ${i} at position ${o}`)};for(;r<e.length&&(r=Ut(e,r),!(r>=e.length));){let i=e[r];if("{}[]:".includes(i)){t+=i,r++;continue}if(i===","){let a=Ut(e,r+1);if(e[a]==="}"||e[a]==="]"){r++;continue}t+=i,r++;continue}if(i==='"'||i==="'"){let a=r+1;for(;a<e.length&&e[a]!==i;)e[a]==="\\"&&a++,a++;a>=e.length&&n("unterminated string",r);let l=e.slice(r+1,a);i==="'"&&(l=zr(l)),t+='"'+l+'"',r=a+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 s=e.slice(r,o);if(s==="true"||s==="false"||s==="null"||qi.test(s)){t+=s,r=o;continue}if(Di.test(s)){if(e[Ut(e,o)]===":"){t+='"'+s+'"',r=o;continue}n("unquoted value "+JSON.stringify(s),r)}n("invalid token "+JSON.stringify(s),r)}return t}function Hr(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=[],s=0;for(;s<i.length;){let a=i[s];if(/\s/.test(a)){s++;continue}if("{}".includes(a)){o.push({type:a,value:a}),s++;continue}if(a==="["){let p=!1,d=s+1;for(;d<i.length&&/\s/.test(i[d]);)d++;if(d<i.length&&/[a-zA-Z_]/.test(i[d])&&(p=!0),!p){o.push({type:a,value:a}),s++;continue}}if(a==="]"){o.push({type:a,value:a}),s++;continue}if(a===":"){o.push({type:t.COLON,value:a}),s++;continue}if(a===","){o.push({type:t.COMMA,value:a}),s++;continue}if(a==='"'||a==="'"){let p=a,d=s+1;for(;d<i.length&&i[d]!==p;)i[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:i.substring(s+1,d),quoted:!0,sourceQuote:p}),s=d+1;continue}let l=s,c;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let p=[":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"],d=!1;for(let u of p){let y=u.substring(1);if(i.substring(l+1,l+1+y.length)===y){d=!0,l+=y.length;break}}if(!d)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let p=i[l];for(l++;l<i.length&&i[l]!==p;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;c=i.substring(s,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(c)?m=t.NUMBER:c==="true"||c==="false"||c==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(c)&&(m=t.SELECTOR),o.push({type:m,value:c,quoted:!1}),s=l}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let a=i[s];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let l=i[s+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING){let l=a.value;a.sourceQuote==="'"&&(l=zr(l)),o+=`"${l}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}o+=`"${a.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 Y=Symbol("hyper-morph-json-merge:missing"),Vr=["id","_id","uuid","key","slug","code","name"];function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function He(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Pi(e,t,r){Object.defineProperty(e,t,{value:r,enumerable:!0,writable:!0,configurable:!0})}function be(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(!be(e[r],t[r]))return!1;return!0}if(Ce(e)&&Ce(t)){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n of r)if(!He(t,n)||!be(e[n],t[n]))return!1;return!0}return!1}function Wr(e,t,r,n){return be(t,r)?t:be(t,e)?r:be(r,e)?t:Ce(t)&&Ce(r)?Bi(Ce(e)?e:{},t,r,n):Array.isArray(t)&&Array.isArray(r)?Vi(Array.isArray(e)?e:[],t,r,n):r}function Kr(e,t,r,n){return t===Y&&r===Y?Y:t===Y?e===Y?r:be(r,e)?Y:r:r===Y?e===Y?t:Y:Wr(e,t,r,n)}function Bi(e,t,r,n){let i={},o=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(r)]);for(let s of o){let a=Kr(He(e,s)?e[s]:Y,He(t,s)?t[s]:Y,He(r,s)?r[s]:Y,n);a!==Y&&Pi(i,s,a)}return i}function Ui(e){return e===null||typeof e!="object"}function st(e){return typeof e+":"+String(e)}function zi(e,t){for(let r of t){let n=new Set;for(let i of r){if(!He(i,e))return!1;let o=i[e];if(typeof o!="string"&&typeof o!="number")return!1;let s=st(o);if(n.has(s))return!1;n.add(s)}}return!0}function Hi(e,t,r,n){let i=[e,t,r],o=!0;for(let s of i)for(let a of s)Ce(a)||(o=!1);if(o){for(let s of n.keyCandidates)if(zi(s,i))return{kind:"keyed",field:s};return null}for(let s of i){let a=new Set;for(let l of s){if(!Ui(l))return null;let c=st(l);if(a.has(c))return null;a.add(c)}}return{kind:"self"}}function Vi(e,t,r,n){let i=Hi(e,t,r,n);if(!i)return r;let o=i.kind==="self"?st:u=>st(u[i.field]),s=u=>{let y=new Map;for(let N of u)y.set(o(N),N);return y},a=s(e),l=s(t),c=s(r),m=new Map,p=new Set([...a.keys(),...l.keys(),...c.keys()]);for(let u of p){let y=Kr(a.has(u)?a.get(u):Y,l.has(u)?l.get(u):Y,c.has(u)?c.get(u):Y,n);y!==Y&&m.set(u,y)}let d=[];for(let u of r){let y=o(u);m.has(y)&&d.push(y)}for(let u=0;u<t.length;u++){let y=o(t[u]);if(!m.has(y)||d.includes(y))continue;let N=0;for(let R=u-1;R>=0;R--){let F=d.indexOf(o(t[R]));if(F!==-1){N=F+1;break}}d.splice(N,0,y)}return d.map(u=>m.get(u))}function zt(e,t,r,n={}){let i=n.keyCandidates?[...n.keyCandidates,...Vr]:Vr;return Wr(e===void 0?Y:e,t,r,{keyCandidates:i})}function Ht(e,t,r,n={}){let i=n.parse||ot,o=[],s=(p,d)=>{if(typeof p!="string")return Y;try{return i(p)}catch(u){return o.push(`${d} side is not valid JSON (${u.message})`),Y}},a=s(t,"local"),l=s(r,"remote");if(a===Y)return{text:r,warnings:o};if(l===Y)return{text:t,warnings:o};let c=s(e,"base"),m=zt(c===Y?void 0:c,a,l,n);return be(m,l)?{text:r,warnings:o}:be(m,a)?{text:t,warnings:o}:{text:JSON.stringify(m,null,2),warnings:o}}var Ve=(function(){"use strict";let e=()=>{},t='[save-ignore],[snapshot-remove],[no-snapshot],[no-save],[save-remove],[freeze],[save-freeze],[clay~="no-save"],[clay~="no-snapshot"],[clay~="freeze"]';function r(g){if(!(g instanceof Element))return!1;if(g.matches(t))return!0;if(g.tagName==="LINK"||g.tagName==="SCRIPT"){let T=g.getAttribute("src")||g.getAttribute("href")||"";if(T.startsWith("chrome-extension://")||T.startsWith("moz-extension://")||T.startsWith("safari-web-extension://"))return!0}return!1}function n(g){return g instanceof Element?g.closest(t)?!0:r(g):!1}let i=Ur({shouldIgnore:n});function o(g,T,E){if(E){let M=E.identityOf(g);if(M&&!E.disabled.has(M.key))return"hm-merge:"+M.key}if(T!=="smart")return g.outerHTML;let O=g.getAttribute("src"),C=g.getAttribute("type")||"text/javascript";if(O)try{let M=new URL(O,window.location.href);return`ext:${C}:${M.origin}${M.pathname}${M.search}`}catch{return`ext:${C}:${O}`}else{let M=g.textContent.trim(),v=5381;for(let A=0;A<M.length;A++)v=(v<<5)+v^M.charCodeAt(A);return`inline:${C}:${Math.abs(v).toString(36)}`}}let s="http://www.w3.org/1999/xhtml";function a(g){return g instanceof Element&&g.tagName==="SCRIPT"&&g.namespaceURI===s}function l(g){let T=document.createElement("div");T.innerHTML="<script><\/script>";let E=T.firstChild;for(let O of g.attributes)E.setAttribute(O.name,O.value);return E.textContent=g.textContent,E}function c(g){if(a(g))return l(g);if(g instanceof Element)for(let T of g.querySelectorAll("script"))a(T)&&T.replaceWith(l(T));return g}function m(g){let T=(g.getAttribute("type")||"").split(";")[0].trim().toLowerCase();return T==="application/json"||T.endsWith("+json")}let p={match:g=>g.hasAttribute("merge"),identity:g=>g.getAttribute("merge")};function d(g,T,E){if(E.merge===!1)return null;let O=[p,...E.mergeTags||[]],C=new WeakMap,M=b=>{if(C.has(b))return C.get(b);let w=null;if(a(b)&&!b.getAttribute("src")&&!n(b)){let _=b;for(let j=0;j<O.length;j++)if(O[j].match(_)){if(!m(_))console.warn("[hyper-morph] merge ignored: script type is not JSON",_);else{let B=O[j].identity(_);B!=null&&B!==""&&(w={key:j+":"+B,raw:B,recognizer:O[j]})}break}}return C.set(b,w),w},v=new Set,A=b=>{let w=new Map,_=j=>{let B=M(j);B&&(w.has(B.key)?(v.add(B.key),console.warn(`[hyper-morph] merge disabled for duplicate identity "${B.raw}"`)):w.set(B.key,j))};a(b)&&_(b);for(let j of b.querySelectorAll("script"))_(j);return w},k=A(g),f=A(T.__hyperMorphRoot||T);if(k.size===0&&f.size===0)return null;let h=null;return{identityOf:M,disabled:v,oldByKey:k,newByKey:f,baseTexts:()=>{if(h)return h;h=new Map;let b=E.mergeBase;if(!b)return h;let w;typeof b=="string"?w=new DOMParser().parseFromString(b,"text/html").documentElement:b instanceof Document?w=b.documentElement:w=b;let _=j=>{let B=M(j);B&&!h.has(B.key)&&h.set(B.key,j.textContent)};a(w)&&_(w);for(let j of w.querySelectorAll("script"))_(j);return h}}}function u(g,T,E){let O=g.merge;if(!O)return!1;let C=O.identityOf(T);if(!C||O.disabled.has(C.key))return!1;let M=O.identityOf(E);if(!M||M.key!==C.key)return!1;let v=T,A=E,k=A.getAttribute("merge-key")||v.getAttribute("merge-key"),{text:f,warnings:h}=Ht(O.baseTexts().get(C.key),v.textContent,A.textContent,{parse:C.recognizer.parse,keyCandidates:k?k.split(/[\s,]+/).filter(Boolean):void 0});for(let x of h)console.warn(`[hyper-morph] merge "${C.raw}": ${x}`);return v.textContent!==f&&(v.textContent=f),!0}let y={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:e,afterNodeAdded:e,beforeNodeMorphed:e,afterNodeMorphed:e,beforeNodeRemoved:e,afterNodeRemoved:e,beforeAttributeUpdated:e},head:{style:"merge",shouldPreserve:g=>g.getAttribute("im-preserve")==="true",shouldReAppend:g=>g.getAttribute("im-re-append")==="true",shouldRemove:e,afterHeadMorphed:e},scripts:{handle:!0,matchMode:"outerHTML",shouldPreserve:g=>g.getAttribute("im-preserve")==="true",shouldReAppend:g=>g.getAttribute("im-re-append")==="true",shouldRemove:e,afterScriptsHandled:e},restoreFocus:!0},N={computeMatches(g,T){let{computeMatches:E}=i.session();return E(g,T)}};function R(g,T,E={}){g=gi(g);let O=Er(T),C=fi(g,O,E),M=C.scripts.handle?new Set(Array.from(g.querySelectorAll("script")).map(f=>o(f,C.scripts.matchMode,C.merge))):null,v=te(C),A=ee(C,g,O,f=>f.morphStyle==="innerHTML"?(z(f,g,O),Array.from(g.childNodes)):V(f,g,O)),k=f=>{v&&le(C,v),F(C);let h=M?Lt(f,M,C):[];return h.length>0?Promise.all(h).then(()=>f):f};return A instanceof Promise?A.then(k):k(A)}function F(g){for(let T of Array.from(g.pantry.childNodes))g.callbacks.beforeNodeRemoved(T)!==!1&&g.callbacks.afterNodeRemoved(T);g.pantry.remove()}function V(g,T,E){let O=Er(T);return z(g,O,E,T,T.nextSibling),Array.from(O.childNodes)}function te(g){if(!g.config.restoreFocus)return null;let T=document.activeElement;if(!(T instanceof HTMLInputElement||T instanceof HTMLTextAreaElement))return null;let{id:E,selectionStart:O,selectionEnd:C}=T;return{element:T,id:E,selectionStart:O,selectionEnd:C}}function le(g,T){let E=T.element;if(T.id&&T.id!==document.activeElement?.getAttribute("id")&&(E=g.target.querySelector(`[id="${CSS.escape(T.id)}"]`),E?.focus()),E&&!E.selectionEnd&&T.selectionEnd!=null)try{E.setSelectionRange(T.selectionStart,T.selectionEnd)}catch{}}let z=(function(){function g(f,h,x,b=null,w=null){h instanceof HTMLTemplateElement&&x instanceof HTMLTemplateElement&&(h=h.content,x=x.content),b||=h.firstChild;for(let _ of x.childNodes){if(r(_))continue;if(b&&b!=w){let B=E(f,_,b,w);if(B){B!==b&&C(f,b,B),oe(B,_,f),b=B.nextSibling;continue}}if(_ instanceof Element){let B=_.getAttribute("id");if(f.persistentIds.has(B)){let S=M(h,B,b,f);oe(S,_,f),b=S.nextSibling;continue}if(!f.idMap.has(_)){let S=f.hyperMatches.get(_);if(S&&!f.idMap.has(S)&&!k(S,h)){A(h,S,b),oe(S,_,f),b=S.nextSibling;continue}}}let j=T(h,_,b,f);j&&(b=j.nextSibling)}for(;b&&b!=w;){let _=b;b=b.nextSibling,r(_)||O(f,_)}}function T(f,h,x,b){if(b.callbacks.beforeNodeAdded(h)===!1)return null;if(b.idMap.has(h)){let w=h,_=document.createElementNS(w.namespaceURI,w.localName);return f.insertBefore(_,x),oe(_,h,b),b.callbacks.afterNodeAdded(_),_}else{let w=c(document.importNode(h,!0));return f.insertBefore(w,x),b.callbacks.afterNodeAdded(w),w}}let E=(function(){function f(b,w,_,j){let B=w instanceof Element&&!b.idMap.has(w)?b.hyperMatches.get(w):null,S=null,I=w.nextSibling,W=0,$=_;for(;$&&$!=j;){if(r($)){$=$.nextSibling;continue}if(x($,w)){if(h(b,$,w)||$===B&&!b.idMap.has($))return $;if(S===null){let K=$ instanceof Element&&b.hyperMatchedOldElements.has($);!b.idMap.has($)&&!K&&(S=$)}}if(S===null&&I&&x($,I)&&(W++,I=I.nextSibling,W>=2&&(S=void 0)),b.activeElementAndParents.includes($))break;$=$.nextSibling}return S||null}function h(b,w,_){let j=b.idMap.get(w),B=b.idMap.get(_);if(!B||!j)return!1;for(let S of j)if(B.has(S))return!0;return!1}function x(b,w){let _=b,j=w;return _.nodeType===j.nodeType&&_.tagName===j.tagName&&(!_.getAttribute?.("id")||_.getAttribute?.("id")===j.getAttribute?.("id"))}return f})();function O(f,h){let x=h instanceof Element&&f.hyperMatchedOldElements.has(h)&&!f.idMap.has(h);if(f.idMap.has(h)||x)A(f.pantry,h,null);else{if(f.callbacks.beforeNodeRemoved(h)===!1)return;h.parentNode?.removeChild(h),f.callbacks.afterNodeRemoved(h)}}function C(f,h,x){let b=h;for(;b&&b!==x;){let w=b;b=b.nextSibling,r(w)||O(f,w)}return b}function M(f,h,x,b){let w=b.target.getAttribute?.("id")===h&&b.target||b.target.querySelector(`[id="${CSS.escape(h)}"]`)||b.pantry.querySelector(`[id="${CSS.escape(h)}"]`);return v(w,b),A(f,w,x),w}function v(f,h){let x=f.getAttribute("id");for(;f=f.parentNode;){let b=h.idMap.get(f);b&&(b.delete(x),b.size||h.idMap.delete(f))}}function A(f,h,x){if(f.moveBefore)try{f.moveBefore(h,x)}catch{f.insertBefore(h,x)}else f.insertBefore(h,x)}function k(f,h){let x=h instanceof Element?h:h.realParentNode;return!!x&&f.contains(x)}return g})(),oe=(function(){function g(v,A,k){return k.ignoreActive&&v===document.activeElement?null:(k.callbacks.beforeNodeMorphed(v,A)===!1||(v instanceof HTMLHeadElement&&k.head.ignore||(v instanceof HTMLHeadElement&&k.head.style!=="morph"?fe(v,A,k):(T(v,A,k),u(k,v,A)||M(v,k)||z(k,v,A))),k.callbacks.afterNodeMorphed(v,A)),v)}function T(v,A,k){let f=A.nodeType;if(f===1){let h=v,x=A,b=h.attributes,w=x.attributes;for(let _ of w)C(_.name,h,"update",k)||h.getAttribute(_.name)!==_.value&&h.setAttribute(_.name,_.value);for(let _=b.length-1;0<=_;_--){let j=b[_];if(j&&!x.hasAttribute(j.name)){if(C(j.name,h,"remove",k))continue;h.removeAttribute(j.name)}}M(h,k)||E(h,x,k)}(f===8||f===3)&&v.nodeValue!==A.nodeValue&&(v.nodeValue=A.nodeValue)}function E(v,A,k){if(v instanceof HTMLInputElement&&A instanceof HTMLInputElement&&A.type!=="file"){let f=A.value,h=v.value;O(v,A,"checked",k),O(v,A,"disabled",k),k.formStateSync==="property"&&v.indeterminate!==A.indeterminate&&(v.indeterminate=A.indeterminate),k.formStateSync==="property"?h!==f&&(C("value",v,"update",k)||(v.value=f)):A.hasAttribute("value")?h!==f&&(C("value",v,"update",k)||(v.setAttribute("value",f),v.value=f)):C("value",v,"remove",k)||(v.value="",v.removeAttribute("value"))}else if(v instanceof HTMLOptionElement&&A instanceof HTMLOptionElement)O(v,A,"selected",k);else if(v instanceof HTMLTextAreaElement&&A instanceof HTMLTextAreaElement){let f=A.value,h=v.value;if(C("value",v,"update",k)||(f!==h&&(v.value=f),k.formStateSync==="property"))return;v.firstChild&&v.firstChild.nodeValue!==f&&(v.firstChild.nodeValue=f)}}function O(v,A,k,f){let h=A[k],x=v[k];if(h!==x){let b=C(k,v,"update",f);if(b||(v[k]=A[k]),f.formStateSync==="property")return;h?b||v.setAttribute(k,""):C(k,v,"remove",f)||v.removeAttribute(k)}}function C(v,A,k,f){return v==="value"&&f.ignoreActiveValue&&A===document.activeElement?!0:f.callbacks.beforeAttributeUpdated(v,A,k)===!1}function M(v,A){return!!A.ignoreActiveValue&&v===document.activeElement&&v!==document.body}return g})();function ee(g,T,E,O){if(g.head.block){let C=T.querySelector("head"),M=E.querySelector("head");if(C&&M){let v=fe(C,M,g);return Promise.all(v).then(()=>(g.head.block=!1,g.head.ignore=!0,O(g)))}}return O(g)}function pe(g){return g.tagName==="SCRIPT"?!!g.getAttribute("src"):g.tagName==="LINK"?(g.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")&&!!g.getAttribute("href"):!1}function fe(g,T,E){let O=[],C=[],M=[],v=[],A=E.scripts.matchMode,k=x=>{if(x.tagName==="SCRIPT")return o(x,A,E.merge);if(x.tagName==="LINK"&&A==="smart"){let b=x.getAttribute("href");if(b)try{let w=new URL(b,window.location.href);return`link:${x.getAttribute("rel")||""}:${w.origin}${w.pathname}${w.search}`}catch{}}return x.outerHTML},f=new Map;for(let x of T.children){if(r(x))continue;let b=k(x),w=f.get(b);w||(w=[],f.set(b,w)),w.push(x)}for(let x of g.children){let b=k(x),w=f.get(b),_=!!(w&&w.length),j=E.head.shouldReAppend(x),B=E.head.shouldPreserve(x);if(_||B)if(j)C.push(x);else{if(w&&w.length){let S=w.pop();w.length||f.delete(b),u(E,x,S)}M.push(x)}else E.head.style==="append"?j&&(C.push(x),v.push(x)):E.head.shouldRemove(x)!==!1&&!r(x)&&C.push(x)}for(let x of f.values())v.push(...x);let h=[];for(let x of v){let b=document.createRange().createContextualFragment(x.outerHTML).firstChild;if(E.callbacks.beforeNodeAdded(b)!==!1){if(b instanceof Element&&pe(b)){let w,_=new Promise(function(j){w=j});b.addEventListener("load",function(){w()}),b.addEventListener("error",function(){w()}),h.push(_)}g.appendChild(b),E.callbacks.afterNodeAdded(b),O.push(b)}}for(let x of C)E.callbacks.beforeNodeRemoved(x)!==!1&&(g.removeChild(x),E.callbacks.afterNodeRemoved(x));return E.head.afterHeadMorphed(g,{added:O,kept:M,removed:C}),h}function Lt(g,T,E){if(!E.scripts.handle)return[];let O=[],C=[],M=[],v=[],A=E.scripts.matchMode,k=[];for(let h of g)if(h instanceof Element){a(h)&&k.push(h);for(let x of h.querySelectorAll("script"))a(x)&&k.push(x)}for(let h of k){if(h.closest("head")||n(h))continue;let x=o(h,A,E.merge),b=T.has(x),w=E.scripts.shouldPreserve(h),_=E.scripts.shouldReAppend(h);b||w?_?(C.push(h),v.push(h)):M.push(h):v.push(h)}let f=[];for(let h of v){if(E.callbacks.beforeNodeAdded(h)===!1)continue;let x=document.createElement("script");for(let b of h.attributes)x.setAttribute(b.name,b.value);if(x.textContent=h.textContent,x.src){let b,w=new Promise(function(_){b=_});x.addEventListener("load",function(){b()}),x.addEventListener("error",function(){b()}),f.push(w)}h.replaceWith(x),E.callbacks.afterNodeAdded(x),O.push(x)}return E.scripts.afterScriptsHandled(E.target,{added:O,kept:M,removed:C}),f}let fi=(function(){function g(k,f,h){let{persistentIds:x,idMap:b}=v(k,f),w=N.computeMatches(k,f);if(typeof h.key=="function"){let I=new Map,W=new Set,$=D=>{let L=h.key(D);L!=null&&(I.has(L)?W.add(L):I.set(L,D))};k instanceof Element&&$(k);for(let D of k.querySelectorAll("*"))$(D);for(let D of W)I.delete(D);let K=new Map;for(let[D,L]of w)K.set(L,D);let re=f.__hyperMorphRoot||f,X=new Map,J=new Set,q=D=>{let L=h.key(D);L!=null&&(X.has(L)?J.add(L):X.set(L,D))};re instanceof Element&&q(re);for(let D of re.querySelectorAll("*"))q(D);for(let D of J)X.delete(D);for(let[D,L]of X){let H=I.get(D);if(!H||H.tagName!==L.tagName)continue;let G=K.get(H);G&&G!==L&&w.delete(G);let xe=w.get(L);xe&&xe!==H&&K.delete(xe),w.set(L,H),K.set(H,L)}}let _=T(h),j=d(k,f,_.scripts);if(j){let I=new Map;for(let[W,$]of w)I.set($,W);for(let[W,$]of j.newByKey){if(j.disabled.has(W))continue;let K=j.oldByKey.get(W);if(!K)continue;let re=I.get(K);re&&re!==$&&w.delete(re);let X=w.get($);X&&X!==K&&I.delete(X),w.set($,K),I.set(K,$)}}let B=new Set;for(let I of w.values())B.add(I);let S=_.morphStyle||"outerHTML";if(!["innerHTML","outerHTML"].includes(S))throw new Error(`Do not understand how to morph style ${S}`);return{target:k,newContent:f,config:_,morphStyle:S,ignoreActive:_.ignoreActive,ignoreActiveValue:_.ignoreActiveValue,restoreFocus:_.restoreFocus,formStateSync:_.formStateSync||"attribute",idMap:b,persistentIds:x,hyperMatches:w,hyperMatchedOldElements:B,merge:j,pantry:E(),activeElementAndParents:O(k),callbacks:_.callbacks,head:_.head,scripts:_.scripts}}function T(k){let f=Object.assign({},y);return Object.assign(f,k),f.callbacks=Object.assign({},y.callbacks,k.callbacks),f.head=Object.assign({},y.head,k.head),f.scripts=Object.assign({},y.scripts,k.scripts),f}function E(){let k=document.createElement("div");return k.hidden=!0,document.body.insertAdjacentElement("afterend",k),k}function O(k){let f=[],h=document.activeElement;if(h?.tagName!=="BODY"&&k.contains(h))for(;h&&(f.push(h),h!==k);)h=h.parentElement;return f}function C(k){let f=Array.from(k.querySelectorAll("[id]"));return k.getAttribute?.("id")&&f.push(k),f}function M(k,f,h,x){for(let b of x){let w=b.getAttribute("id");if(f.has(w)){let _=b;for(;_;){let j=k.get(_);if(j==null&&(j=new Set,k.set(_,j)),j.add(w),_===h)break;_=_.parentElement}}}}function v(k,f){let h=C(k),x=C(f),b=A(h,x),w=new Map;M(w,b,k,h);let _=f.__hyperMorphRoot||f;return M(w,b,_,x),{persistentIds:b,idMap:w}}function A(k,f){let h=new Set,x=new Map;for(let w of k){let _=w.getAttribute("id");x.has(_)?h.add(_):x.set(_,w.tagName)}let b=new Set;for(let w of f){let _=w.getAttribute("id");b.has(_)?h.add(_):x.get(_)===w.tagName&&b.add(_)}for(let w of h)b.delete(w);return b}return g})(),{normalizeElement:gi,normalizeParent:Er}=(function(){let g=new WeakSet;function T(v){return v instanceof Document?v.documentElement:v}function E(v){if(v==null)return document.createElement("div");if(typeof v=="string")return E(M(v));if(g.has(v))return v;if(v instanceof Node){if(v.parentNode)return new O(v);{let A=document.createElement("div");return A.append(v),A}}else{let A=document.createElement("div");for(let k of[...v])A.append(k);return A}}class O{constructor(A){this.originalNode=A,this.realParentNode=A.parentNode,this.previousSibling=A.previousSibling,this.nextSibling=A.nextSibling}get childNodes(){let A=[],k=this.previousSibling?this.previousSibling.nextSibling:this.realParentNode.firstChild;for(;k&&k!=this.nextSibling;)A.push(k),k=k.nextSibling;return A}querySelectorAll(A){return this.childNodes.reduce((k,f)=>{if(f instanceof Element){f.matches(A)&&k.push(f);let h=f.querySelectorAll(A);for(let x=0;x<h.length;x++)k.push(h[x])}return k},[])}insertBefore(A,k){return this.realParentNode.insertBefore(A,k)}moveBefore(A,k){return this.realParentNode.moveBefore(A,k)}get __hyperMorphRoot(){return this.originalNode}}function C(v){let A=x=>`<${x}(?:\\s(?:[^>"']|"[^"]*"|'[^']*')*)?>`,k=v.replace(/<!--[\s\S]*?-->/g,"");for(let x of["script","style","textarea","title"])k=k.replace(new RegExp(`${A(x)}[\\s\\S]*?</${x}\\s*>`,"gi"),"");let f=new RegExp(`${A("svg")}[\\s\\S]*?</svg\\s*>`,"gi"),h;do h=k,k=k.replace(f,"");while(k!==h);return k}function M(v){let A=new DOMParser,k=C(v);if(k.match(/<\/html>/)||k.match(/<\/head>/)||k.match(/<\/body>/)){let f=A.parseFromString(v,"text/html");if(k.match(/<\/html>/))return g.add(f),f;{let h=f.firstChild;return h&&g.add(h),h}}else{let h=A.parseFromString("<body><template>"+v+"</template></body>","text/html").body.querySelector("template").content;return g.add(h),h}}return{normalizeElement:T,normalizeParent:E}})(),Cr=Symbol("hyper-morph-duplicate-key"),Tr=[g=>g.getAttribute("data-id"),g=>g.getAttribute("id")];function Ue(g,T){return T.map(E=>{let O=new Map;for(let C of g){if(C.nodeType!==1)continue;let M=E(C);M==null||M===""||O.set(M,O.has(M)?Cr:C)}return O})}function Rr(g,T,E,O){for(let C=0;C<O.length;C++){let M=O[C](g);if(M==null||M===""||T[C].get(M)!==g)continue;let v=E[C].get(M);if(!(!v||v===Cr)&&v.tagName===g.tagName)return v}return null}function Se(g,T,E){for(let O=0;O<E.length;O++){let C=E[O](g);if(!(C==null||C==="")&&T[O].get(C)===g)return!0}return!1}function bi(g,T,E={}){let O=E.skip||(()=>!1),C=E.ignoreAttr||(()=>!1),M=E.tiers&&E.tiers.length?E.tiers:Tr,v=null;function A(){return v||(v=Ue([g,...g.querySelectorAll("*")],M)),v}let k=null;function f(){return k||(k=Ue([T,...T.querySelectorAll("*")],M)),k}function h(q){return!q.parentElement||!q.parentElement.parentElement}function x(q,D,L){return h(q)||Se(q,A(),M)?(L.push({type:"subtree",el:q,base:D}),!1):!0}function b(q,D){let L=[];for(let H of q.attributes)C(q,H.name)||D.getAttribute(H.name)!==H.value&&L.push(H.name);for(let H of D.attributes)C(q,H.name)||q.hasAttribute(H.name)||L.push(H.name);return L}function w(q){let D=[],L=null,H=()=>{L!==null&&(D.push({nodeType:3,nodeValue:L}),L=null)};for(let G of q.childNodes){if(G.nodeType===3){L=(L===null?"":L)+G.nodeValue;continue}G.nodeType===1&&O(G)||(H(),(G.nodeType===1||G.nodeType===8)&&D.push(G))}return H(),D}function _(q,D){if(q.nodeType!==D.nodeType)return!1;if(q.nodeType!==1)return!0;if(q.tagName!==D.tagName)return!1;for(let L of M){let H=L(q),G=L(D);if(H!=null&&H!==""&&G!=null&&G!==""&&H!==G)return!1}return!0}function j(q){let D="";for(let L of q)L.nodeType===3&&L.nodeValue.trim()!==""?D+="\0"+L.nodeValue:L.nodeType===8&&(D+=""+L.nodeValue);return D}function B(q,D,L){let H=w(q),G=w(D);if(H.length===G.length){let P=!0;for(let Z=0;Z<H.length;Z++)if(!_(H[Z],G[Z])){P=!1;break}if(P){for(let Z=0;Z<H.length;Z++){let Ee=H[Z];if(Ee.nodeType===1){if(S(Ee,G[Z],L))return!0}else if(Ee.nodeValue!==G[Z].nodeValue)return!0}return!1}}let xe=H.filter(P=>P.nodeType===1),Ft=G.filter(P=>P.nodeType===1);if(j(H)!==j(G))return!0;let Or=Ue(xe,M),Mr=Ue(Ft,M),qt=[],Dt=new Set,Nr=[];for(let P of xe){let Z=Rr(P,Or,Mr,M);Z&&!Dt.has(Z)?(qt.push([P,Z]),Dt.add(Z)):Nr.push(P)}let ge=[];for(let P of Nr)Se(P,Or,M)?L.push({type:"subtree",el:P,base:null}):ge.push(P);let ze=[];for(let P of Ft)Dt.has(P)||(Se(P,Mr,M)?L.push({type:"deletion",el:P}):ze.push(P));if(ge.length!==ze.length)return!0;for(let P=0;P<ge.length;P++)if(!_(ge[P],ze[P]))return!0;let Ir=new Map(qt);for(let P=0;P<ge.length;P++)Ir.set(ge[P],ze[P]);let jr=-1;for(let P of xe){let Z=Ir.get(P);if(!Z)continue;let Ee=Ft.indexOf(Z);if(Ee<jr)return!0;jr=Ee}for(let P=0;P<ge.length;P++)if(S(ge[P],ze[P],L))return!0;for(let[P,Z]of qt)if(S(P,Z,L))return!0;return!1}function S(q,D,L){if(q.tagName!==D.tagName)return x(q,D,L);let H=b(q,D),G=[];if(B(q,D,G))return x(q,D,L);if(H.length){if(!h(q)&&!Se(D,f(),M))return!0;L.push({type:"attrs",el:q,names:H,base:D})}return L.push(...G),!1}let I=[],W=b(g,T);W.length&&I.push({type:"attrs",el:g,names:W});let $=(q,D)=>Array.from(q.children).find(L=>L.tagName===D)||null,K=$(g,"HEAD"),re=$(T,"HEAD");if(K&&re){let q=[];S(K,re,q),q.length&&I.push({type:"head",el:K})}else(K||re)&&K&&I.push({type:"head",el:K});let X=$(g,"BODY"),J=$(T,"BODY");return X&&J?S(X,J,I):X&&I.push({type:"subtree",el:X,base:null}),{entries:I}}function ki(g,T,E={}){let O=E.tiers&&E.tiers.length?E.tiers:Tr,C=g.documentElement,M=[],v=0,A=S=>({ok:!1,placed:M,held:S,skippedAttrs:v});if(!C)return A(null);function k(S){let I=[S,...S.querySelectorAll("*")];return Ue(I,O)}let f=k(C),h=new Map,x=S=>{let I=S.getRootNode(),W=h.get(I);if(!W){let $=I.nodeType===9?I.documentElement:I;W=k($),h.set(I,W)}return W};function b(S){if(!S.parentElement&&S.tagName==="HTML")return C;if(S.parentElement&&!S.parentElement.parentElement&&S.parentElement.tagName==="HTML"){if(S.tagName==="BODY")return g.body||null;if(S.tagName==="HEAD")return g.head||null}return null}function w(S){let I=b(S);return I||Rr(S,x(S),f,O)}function _(S){if(!S)return null;let I=w(S);return I&&I.isConnected?I:null}function j(S){for(let I=0;I<O.length;I++){let W=O[I](S);W!=null&&W!==""&&f[I].set(W,S)}}for(let S of T){if(S.type!=="deletion")continue;let I=w(S.el);I&&I!==C&&I.remove()}let B=T.filter(S=>S.type!=="deletion").sort((S,I)=>S.el===I.el?0:S.el.compareDocumentPosition(I.el)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let S of B){if(S.type==="head"){let J=g.importNode(S.el,!0);g.head?g.head.replaceWith(J):C.insertBefore(J,C.firstChild),M.push({entry:S,imported:J});continue}if(S.type==="attrs"){let J=_(S.el)||_(S.base);if(!J){v++;continue}for(let q of S.names)S.el.hasAttribute(q)?J.setAttribute(q,S.el.getAttribute(q)):J.removeAttribute(q);continue}let I=S.el;if(b(I))return A(S);let W=_(I)||_(S.base);if(W){let J=g.importNode(I,!0);W.replaceWith(J),j(J),M.push({entry:S,imported:J});continue}if(S.base!=null&&!Se(S.base,x(S.base),O)||!Se(I,x(I),O))return A(S);let $=I.parentElement;if(!$)return A(S);let K=_($);if(!K)return A(S);let re=null;for(let J=I.previousElementSibling;J;J=J.previousElementSibling){let q=_(J);if(q&&q.parentNode===K){re=q;break}}let X=g.importNode(I,!0);if(re)K.insertBefore(X,re.nextSibling);else{let J=Array.prototype.indexOf.call($.children,I);K.insertBefore(X,K.children[J]||null)}j(X),M.push({entry:S,imported:X})}return{ok:!0,placed:M,held:null,skippedAttrs:v}}return{morph:R,defaults:y,findChangedRoots:bi,spliceProtected:ki,mergeJson:zt,mergeScriptText:Ht,parseJsonRelaxed:ot,parseRulesRelaxed:Hr}})();var Na=Ve.morph,Ia=Ve.defaults,ja=Ve.findChangedRoots,La=Ve.spliceProtected;var Vt=Ve;var at=["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"],Wt=new Set(at),Gr=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Jr=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var lt={};Pt(lt,{EmptyListInsert:()=>Ke,MAX_RULE_DEPTH:()=>Oe,MaxRuleDepthExceeded:()=>we,RuleTargetReadOnly:()=>Ge,RulesParseError:()=>Te,ShapeMismatch:()=>We,UnknownRulesVersion:()=>Re});var Te=class extends Error{constructor(t,r){super(t),this.name="RulesParseError",this.cause=r}},Re=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},Oe=20,we=class extends Error{constructor(t){super(`rule depth exceeded ${Oe} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},We=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Ke=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}},Ge=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}};function ke(e,t,r,n={}){return Kt(e,t,r,{depth:0,path:[]},n)}function Kt(e,t,r,n,i){if(n.depth>Oe)throw new we(n.path);if(typeof r=="string")return Yi(e,t,r,n,i);if(Array.isArray(r)){let[o,s]=r,a=e.find(t,o,i);return Zr(i,n,a),a.map((l,c)=>Kt(e,l,s,{depth:n.depth+1,path:[...n.path,c]},i))}if(typeof r=="object"&&r!==null){let o={};for(let[s,a]of Object.entries(r))o[s]=Kt(e,t,a,{depth:n.depth+1,path:[...n.path,s]},i);return o}return null}function Yi(e,t,r,n,i){if(r.endsWith("[]")){let a=r.slice(0,-2),l=e.find(t,a,i);return Zr(i,n,l),l.map(c=>e.text(c))}if(r.startsWith("@"))return Yr(e,t,r.slice(1));let o=Q(r);if(o!==-1){let a=r.slice(0,o),l=r.slice(o+1),c=a?e.find(t,a,i):[t];return c.length===0?null:Yr(e,c[0],l)}if(r===".")return e.text(t);let s=e.find(t,r,i);return s.length===0?null:e.text(s[0])}function Zr(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 Yr(e,t,r){if(Wt.has(r)){let i=e.prop(t,r);return i==null?null:String(i)}let n=e.attr(t,r);return n||null}function Zi(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function Xi(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Qi={find(e,t,r={}){let n=Xi(e);if(!n||!n.querySelectorAll)return[];let i=Array.from(n.querySelectorAll(t));r.includeRulesTag||(i=i.filter(a=>!Zi(a)));let o=[];r.skip&&o.push(r.skip);let s=r.templateAttr===null?null:r.templateAttr||"cms-template";if(s&&o.push("["+s+"]"),o.length){let a=o.join(", ");i=i.filter(l=>!l.closest||!l.closest(a))}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}},ue=Qi;function Gt(e){try{return JSON.parse(e)}catch(t){throw new Te(`Invalid strict JSON: ${t.message}`,t)}}function Me(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=[],s=0;for(;s<i.length;){let a=i[s];if(/\s/.test(a)){s++;continue}if("{}".includes(a)){o.push({type:a,value:a}),s++;continue}if(a==="["){let p=!1,d=s+1;for(;d<i.length&&/\s/.test(i[d]);)d++;if(d<i.length&&/[a-zA-Z_]/.test(i[d])&&(p=!0),!p){o.push({type:a,value:a}),s++;continue}}if(a==="]"){o.push({type:a,value:a}),s++;continue}if(a===":"){o.push({type:t.COLON,value:a}),s++;continue}if(a===","){o.push({type:t.COMMA,value:a}),s++;continue}if(a==='"'||a==="'"){let p=a,d=s+1;for(;d<i.length&&i[d]!==p;)i[d]==="\\"&&d++,d++;o.push({type:t.STRING,value:i.substring(s+1,d),quoted:!0,sourceQuote:p}),s=d+1;continue}let l=s,c;for(;l<i.length&&!/[{},]/.test(i[l]);)if(i[l]===":"){let p=[":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"],d=!1;for(let u of p){let y=u.substring(1);if(i.substring(l+1,l+1+y.length)===y){d=!0,l+=y.length;break}}if(!d)break}else if(i[l]==="["){for(l++;l<i.length&&i[l]!=="]";){if(i[l]==='"'||i[l]==="'"){let p=i[l];for(l++;l<i.length&&i[l]!==p;)i[l]==="\\"&&l++,l++}l++}l<i.length&&i[l]==="]"&&l++}else l++;c=i.substring(s,l);let m=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(c)?m=t.NUMBER:c==="true"||c==="false"||c==="null"?m=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(c)&&(m=t.SELECTOR),o.push({type:m,value:c,quoted:!1}),s=l}return o}function n(i){let o="";for(let s=0;s<i.length;s++){let a=i[s];if("{}".includes(a.type)||"[]".includes(a.type)){o+=a.value;continue}if(a.type===t.COLON){o+=a.value;continue}if(a.type===t.COMMA){let l=i[s+1];if(l&&(l.type==="}"||l.type==="]"))continue;o+=a.value;continue}if(a.type===t.STRING&&a.quoted){let l=a.value;a.sourceQuote==="'"&&(l=l.replace(/\\'/g,"'"),l=l.replace(/(\\*)"/g,(c,m)=>m.length%2===0?m+'\\"':c)),o+=`"${l}"`;continue}if(a.type===t.NUMBER||a.type===t.BOOLEAN){o+=a.value;continue}if(a.type===t.SELECTOR||a.type===t.IDENTIFIER){o+=`"${a.value}"`;continue}o+=`"${a.value}"`}return o}try{let i=r(e),o=n(i);return JSON.parse(o)}catch(i){throw new Te("Invalid extraction rules syntax: "+i.message,i)}}var Qr="1",Xr=/^[a-zA-Z0-9_-]+$/;function Je(e,t,r){let n;if(r===void 0)n="script[data-rules-name]";else{if(typeof r!="string"||!Xr.test(r))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(r)} (must match ${Xr})`);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],s=e.attr(o,"data-rules-version");if(s!==Qr)throw new Re(s);return{rules:Me(e.text(o)),tagNode:o}}var ml=new Function("url","return import(url)");function sn(e,t,r,n){let i=e.length,o=t.length,s=new Array(i).fill(-1);if(n){let R=new Set;for(let F=0;F<i;F++){let V=n[F];!(V>=0&&V<o)||R.has(V)||(s[F]=V,R.add(V))}}if(i===0||o===0)return s;let a=e.map(R=>nn(R,r)),l=t.map(R=>nn(R,r)),c=new Array(o).fill(!1);for(let R of s)R>=0&&(c[R]=!0);let m=new Map;l.forEach((R,F)=>{c[F]||m.set(R,m.has(R)?-1:F)});let p=new Map;a.forEach((R,F)=>{s[F]>=0||p.set(R,(p.get(R)||0)+1)}),a.forEach((R,F)=>{if(s[F]>=0||p.get(R)!==1)return;let V=m.get(R);V===void 0||V===-1||c[V]||(s[F]=V,c[V]=!0)});let d=[];for(let R=0;R<i;R++)s[R]<0&&d.push(R);let u=[];for(let R=0;R<o;R++)c[R]||u.push(R);if(d.length===0||u.length===0)return s;let y=i*o+1,N=(R,F)=>to(e[R],t[F],r)*y+Math.abs(R-F);for(let[R,F]of ro(d,u,N))s[R]=F;return s}var an=e=>typeof e=="object"&&e!==null;function nn(e,t){if(!an(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 to(e,t,r){if(!an(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 s=JSON.stringify(e?.[o]),a=JSON.stringify(t?.[o]);s!==a&&i++}return i}function ro(e,t,r){return e.length<=t.length?on(e,t,r,!1):on(t,e,(n,i)=>r(i,n),!0)}function on(e,t,r,n){let i=e.length,o=t.length,s=[];for(let p=0;p<=i;p++)s.push(new Float64Array(o+1).fill(1/0));let a=[];for(let p=0;p<=i;p++)a.push(new Uint8Array(o+1));for(let p=0;p<=o;p++)s[i][p]=0;for(let p=i-1;p>=0;p--)for(let d=o-1;d>=0;d--){let u=r(e[p],t[d])+s[p+1][d+1],y=s[p][d+1];u<=y?(s[p][d]=u,a[p][d]=1):s[p][d]=y}let l=[],c=0,m=0;for(;c<i&&m<o;)a[c][m]&&(l.push(n?[t[m],e[c]]:[e[c],t[m]]),c++),m++;return l}function Yt(e,t,r,n,i,o,s,a={}){let l=e.find(t,r,a);if(i.length===0){l.forEach(z=>e.remove(z)),Jt(a,"onRowsApplied",o.path,[]);return}let c=i.length>l.length,m=l[0]||null;if(c&&!m&&(m=so(e,t,r,a),!m))throw new Ke(o.path);let p=l.map(z=>oo(e,z,n,a)),d=null;if(c&&m){d=e.clone(m),a.templateAttr&&e.removeAttr(d,a.templateAttr);let z=e.stripIds(d);z>0&&console.warn(`[hyper-html-api] stripped ${z} id attribute(s) from cloned template at "${o.path.join(".")||"(root)"}"`)}let u=sn(i,p,n,no(e,l,i,o,a)),y=l[0]||m,N=e.parent(y),R=l.length>0?ln(e,N,y):0,F=ao(e,l),V=new Set,te=[],le=i.map((z,oe)=>{let ee=u[oe];if(ee>=0)return V.add(ee),te.push(!1),l[ee];te.push(!0);let pe=e.clone(d);return e.stripIds(pe),pe});l.forEach((z,oe)=>{V.has(oe)||e.remove(z)}),F?le.forEach((z,oe)=>{let ee=R+oe;e.children(N).findIndex(Lt=>e.sameNode(Lt,z))!==ee&&e.insertAt(N,z,ee)}):lo(e,le,te,N,R),io(e,le,n,i,o,s,a),Jt(a,"onRowsApplied",o.path,le)}function Jt(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 no(e,t,r,n,i){let o=Jt(i,"identifyRows",n.path,r);if(!Array.isArray(o))return null;let s=new Array(r.length).fill(-1),a=new Set;for(let l=0;l<r.length;l++)if(o[l]){for(let c=0;c<t.length;c++)if(!(a.has(c)||!e.sameNode(t[c],o[l]))){s[l]=c,a.add(c);break}}return s}function io(e,t,r,n,i,o,s){t.forEach((a,l)=>{if(r===null){let c=n[l],m=c==null?"":String(c);e.text(a)!==m&&e.text(a,m)}else{let c=o(e,a,r,n[l],{depth:i.depth+1,path:[...i.path,l]},s);c&&c!==a&&(t[l]=c)}})}function oo(e,t,r,n){return r===null?e.text(t):ke(e,t,r,n.onRowsRead?{...n,onRowsRead:void 0}:n)}function ln(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 so(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 s of o)if(e.attr(s,n.templateAttr)!=null)return s;i=e.parent(i)}return null}function ao(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 s=n.findIndex(a=>e.sameNode(a,o));if(s===-1)return!1;i.push(s)}return i.sort((o,s)=>o-s),i[i.length-1]-i[0]===i.length-1}function lo(e,t,r,n,i){let o=null,s=i;for(let a=0;a<t.length;a++){if(!r[a]){o=t[a];continue}let l=o?e.parent(o):n;if(!l)continue;let c=o?ln(e,l,o)+1:s++;e.insertAt(l,t[a],c),o=t[a]}}var cn=new Set(["checked","selected","disabled","readOnly","paused"]);function Ne(e,t,r,n,i={}){let o=[];if(Zt(r,n,[],o),o.length)throw new We(o);ct(e,t,r,n,{depth:0,path:[]},i)}function ct(e,t,r,n,i,o={}){if(i.depth>Oe)throw new we(i.path);if(n===void 0)return t;if(typeof r=="string")return co(e,t,r,n,i,o);if(Array.isArray(r)){let[s,a]=r;return Yt(e,t,s,a,n,i,ct,o),t}if(typeof r=="object"&&r!==null){for(let[s,a]of Object.entries(r)){let l=ct(e,t,a,n==null?n:n[s],{depth:i.depth+1,path:[...i.path,s]},o);l&&l!==t&&(t=l)}return t}return t}function co(e,t,r,n,i,o){if(r.endsWith("[]")){let l=r.slice(0,-2);return Yt(e,t,l,null,n,i,ct,o),t}if(r.startsWith("@"))return dn(e,t,r.slice(1),n);let s=Q(r);if(s!==-1){let l=r.slice(0,s),c=r.slice(s+1),m=l?e.find(t,l,o):[t];return m.length===0||dn(e,m[0],c,n),t}if(r===".")return un(e,t,n),t;let a=e.find(t,r,o);return a.length===0||un(e,a[0],n),t}function un(e,t,r){let n=r==null?"":String(r);e.text(t)!==n&&e.text(t,n)}function dn(e,t,r,n){if(Jr.has(r))throw new Ge(r);if(r==="outerHTML"){let i=n==null?"":String(n);return e.replaceWith(t,i)}return Gr.has(r)?(e.prop(t,r,uo(r,n)),t):(e.attr(t,r,n==null?"":String(n)),t)}function uo(e,t){return t==null?cn.has(e)?!1:"":cn.has(e)?t==="false"?!1:!!t:t}function Zt(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:Ze([...r,o]),expected:"scalar",got:Ye(i)})}):n.push({path:Ze(r),expected:"array",got:Ye(t)});return}t!==null&&typeof t=="object"&&n.push({path:Ze(r),expected:"scalar",got:Ye(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){n.push({path:Ze(r),expected:"array",got:Ye(t)});return}let i=e[1];t.forEach((o,s)=>Zt(i,o,[...r,s],n));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){n.push({path:Ze(r),expected:"object",got:Ye(t)});return}for(let[i,o]of Object.entries(e))Zt(o,t[i],[...r,i],n)}}}function Ye(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Ze(e){return e.join(".")}function Xt(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 Je(e,n,r)}return null}function hn(e,t,r,n){let i=Xt(e,t,r);if(!i){let a=typeof r=="string"?`data-rules-name~="${r}"`:"the provided rules object";throw new Error(`hyper-html-api: could not resolve rules for ${a}`)}let{rules:o,tagNode:s}=i;return{rules:o,tagNode:s,get:()=>ke(e,t,o,n),set:a=>Ne(e,t,o,a,n)}}var ne={extract:(e,t,r)=>ke(ue,e,t,r),apply:(e,t,r,n)=>Ne(ue,e,t,r,n),findRulesIn:(e,t)=>Je(ue,e,t),findRules:(e,t)=>Xt(ue,e,t),bind:(e,t,r)=>hn(ue,e,t,r),parseStrict:Gt,parseRelaxed:Me,ruleAttrIndex:Q,splitRule:it,errors:lt,DOM_PROPERTIES:at};var er={};Pt(er,{fromString:()=>me,getRuleAtPath:()=>_e,getValueAtPath:()=>So,setAtPath:()=>Qt,toString:()=>Ao});function Ao(e){return e.map(String).join(".")}function me(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function _e(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 So(e,t){let r=e;for(let n of t){if(r==null)return;r=r[n]}return r}function Qt(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]=Qt(o[n],i,r),o}return{...e&&typeof e=="object"?e:{},[n]:Qt((e||{})[n],i,r)}}function Xe(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]=Xe(n);return t}return""}function ut(e,t,{ignoreActiveValue:r=!0}={}){Vt.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:r,restoreFocus:!0,formStateSync:"property"})}function mt(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 Eo='<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>',tr='<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>',gn={"@scalar":`
|
|
1
|
+
var hypercms=(()=>{var Qo=Object.defineProperty;var _c=Object.getOwnPropertyDescriptor;var Cc=Object.getOwnPropertyNames;var Oc=Object.prototype.hasOwnProperty;var ei=(e,t)=>{for(var n in t)Qo(e,n,{get:t[n],enumerable:!0})},Nc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Cc(t))!Oc.call(e,o)&&o!==n&&Qo(e,o,{get:()=>t[o],enumerable:!(r=_c(t,o))||r.enumerable});return e};var Rc=e=>Nc(Qo({},"__esModule",{value:!0}),e);var Wh={};ei(Wh,{cms:()=>zh,default:()=>Vh});function St(e){let t=0,n=null,r=-1;for(let o=0;o<e.length;o++){let i=e[o];i==="\\"?o++:n?i===n&&(n=null):i==='"'||i==="'"?n=i:i==="["||i==="("?t++:i==="]"||i===")"?t>0&&t--:i==="@"&&t===0&&(r=o)}return r}function oo(e){let t=St(e);return t===-1?{selector:e,prop:null}:{selector:e.slice(0,t),prop:e.slice(t+1)||null}}function io(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 ti(e){let t=new Map;return(n,r)=>{if(typeof r!="string")return io(r,e);let o=t.get(n);if(o&&o.text===r)return o.doc;let i=io(r,e);return t.set(n,{text:r,doc:i}),i}}function As(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}function ni(e,t=[]){if(typeof e!="function")return()=>!1;let n=new WeakMap,r=new Set(t);return o=>{if(!o||o.nodeType!==1)return!1;let i=n.get(o);if(i!==void 0)return i;let s=[],l=o,a=!1;for(;l&&l.nodeType===1;){let h=n.get(l);if(h!==void 0){a=h;break}if(s.push(l),e(l,r.has(l))){a=!0;break}if(r.has(l))break;l=l.parentElement}for(let h of s)n.set(h,a);return a}}function ri(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,i=o&&typeof t["^"]=="string"?t["^"].split(","):null,s=b=>Number.isInteger(b)&&b>=0,l=0,a=!1,h=b=>{let f=b;for(;f>0;){let u=o[l++];if(l>o.length||!s(u))return!1;f+=u-1}return!0},d=(b,f)=>{if(a)return;if(o){let p=l++,v=o[p];if(p>=o.length||!s(v)){a=!0;return}let A=!i||i[p]===b.tagName.toLowerCase();if(!A||v!==b.children.length){let M=A&&t[f];typeof M=="string"&&M&&n.set(b,M),h(v)||(a=!0);return}}let u=t[f];typeof u=="string"&&u&&n.set(b,u);let m=b.children;for(let p=0;p<m.length;p++)d(m[p],f===""?String(p):`${f}.${p}`)};return d(e,""),n}function Ss(e){return t=>{for(let n of e){let r=n(t);if(typeof r=="string"&&r!=="")return r}return null}}var In=Ss([e=>e.getAttribute("data-id"),e=>e.getAttribute("id")]);function so(e,t,n,r=null){let o=new Map,i=new Set,s=l=>{if(n(l))return;let a=t(l);a&&(o.has(a)?i.add(a):o.set(a,l))};if(r){let l=a=>{for(let h of a.querySelectorAll(r))s(h);for(let h of a.querySelectorAll("template"))h.content&&l(h.content)};s(e),l(e.tagName==="TEMPLATE"&&e.content?e.content:e)}else{let l=a=>{s(a);let h=a.tagName==="TEMPLATE"&&a.content?a.content.children:a.children;for(let d=0;d<h.length;d++)l(h[d])};l(e)}for(let l of i)o.delete(l),l.startsWith("merge:")&&console.warn(`[hyper-morph] merge disabled for duplicate identity "${l.slice(l.indexOf(":",6)+1)}"`);return o}var Lc=new Set(["href","src","name","type","role"]),Es=new Set(["SCRIPT","STYLE","TEXTAREA","TEMPLATE","IFRAME","OBJECT","CANVAS","VIDEO","AUDIO","svg","SVG"]);function Vn(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 Ts(e){return e.replace(/\s+/g," ")}function _s({ignored:e=()=>!1,ignoreAttribute:t=()=>!1}={}){let n=new WeakMap,r=new WeakMap;function o(f){let u=f.attributes,m=u.length;if(m===0)return{all:"",sig:f.tagName+"|"};let p=[],v="",A=[];for(let M=0;M<m;M++){let L=u[M],H=L.name;t(f,H)||p.push(H+"="+L.value),H==="class"?v=L.value.indexOf(" ")<0?L.value:L.value.split(/\s+/).filter(Boolean).sort().join(" "):Lc.has(H)&&A.push(H+"="+L.value)}return p.length>1&&p.sort(),A.length>1&&A.sort(),{all:p.join(""),sig:f.tagName+"|"+v+(A.length?"|"+A.join("|"):"")}}function i(f){return f.nodeType===1&&f.tagName==="TEMPLATE"&&f.content?f.content.childNodes:f.childNodes}function s(f){let u=n.get(f);if(u)return u;if(f.nodeType===3)u={hash:"T"+Vn(f.nodeValue),hint:Ts(f.nodeValue).slice(0,64),sig:null,tok:null};else if(f.nodeType===8)u={hash:"C"+Vn(f.nodeValue),hint:"",sig:null,tok:null};else if(f.nodeType===1){let m=o(f),p=Vn(f.tagName+""+m.all),v="";for(let A of a(f))if(A.nodeType===1){let M=s(A);p=Vn(M.hash,p),v.length<64&&(v+=" "+M.hint)}else p=Vn(h(A),p),A.kind==="text"&&v.length<64&&(v+=A.value.slice(0,64));u={hash:"E"+p,hint:Ts(v).trim().slice(0,64),sig:m.sig,tok:null}}else u={hash:"N"+f.nodeType,hint:"",sig:null,tok:null};return n.set(f,u),u}function l(f){if(!f.tok){f.tok=new Set;for(let u of f.hint.toLowerCase().split(/[^\p{L}\p{N}]+/u))u&&f.tok.add(u)}return f.tok}function a(f){let u=r.get(f);if(u)return u;u=[];let m=null,p=()=>{m&&(m.value=m.nodes.map(v=>v.nodeValue).join(""),u.push(m),m=null)};for(let v of i(f)){if(v.nodeType===3){m||(m={kind:"text",nodes:[],value:"",parent:f,hash:void 0}),m.nodes.push(v);continue}p(),v.nodeType===8?u.push({kind:"comment",nodes:[v],value:v.nodeValue,parent:f,hash:void 0}):v.nodeType===1&&!e(v)&&u.push(v)}return p(),r.set(f,u),u}function h(f){return f.nodeType===1?s(f).hash:(f.hash===void 0&&(f.hash=(f.kind==="text"?"T":"C")+Vn(f.value)),f.hash)}function d(f,u){let m=l(s(f)),p=l(s(u));if(m.size===0&&p.size===0)return{coef:1,share:1};if(m.size===0||p.size===0)return null;let v=0;for(let A of m)p.has(A)&&v++;return{coef:v/Math.min(m.size,p.size),share:v/Math.max(m.size,p.size)}}function b(f,u){let m=d(f,u);return!!m&&m.coef>=.5}return{meta:s,unitsOf:a,unitHash:h,similar:b,score:d,childrenOf:i}}var Cs=16,Ic=2e3,jc=3,Dc={align:0};function oi(e,t,n){let{meta:r,unitsOf:o,unitHash:i,similar:s,score:l}=n.analyzer,a=n.baseId||(()=>null),h=n.sideId||(()=>null),d=new Map,b=new Map,f=new Set,u=new Map,m=new Set,p=new Set,v=new Set,A=[],M=[],L=[],H=[],B=Ic,te=new Map,re=new Map,K=(k,g)=>{d.set(k,g),b.set(g,k)},W=k=>!!k&&k.nodeType===1,he=(k,g)=>{let y=u.get(k);return!!y&&y.has(g)},V=k=>Es.has(k.tagName),xe=(k,g)=>{let y=a(k);if(!y)return!0;let O=h(g);return!O||y===O},We=globalThis.__hyperMorphProfile,at=We?performance.now():0;We&&(r(e),r(t),We.meta=(We.meta||0)+(performance.now()-at),at=performance.now()),K(e,t);for(let[k,g]of n.baseIndex){let y=n.sideIndex.get(k);y&&y.tagName===g.tagName&&!d.has(g)&&!b.has(y)&&K(g,y)}H.push([e,t]);for(let[k,g]of d)W(k)&&k!==e&&H.push([k,g]);return dt(),Nt(),We&&(We.align=(We.align||0)+(performance.now()-at)),{map:d,reverse:b,moved:m,identical:p,pairIdenticalChildren:G,weak:f,unpair:xt,rematch:Nt,insertedByHash:_e};function Nt(){ut(),dt();for(let k=0;k<L.length;){let g=L.length;nt(k,g),k=g,dt(),ut(),dt()}}function xt(k){let g=d.get(k);if(!g)return;u.has(k)||u.set(k,new Set),u.get(k).add(g);let y=(_,E)=>{d.delete(_),b.delete(E),m.delete(_),p.delete(_),f.delete(_),v.delete(_)},O=(_,E)=>{for(let I of o(_)){let N=d.get(I);!N||!(W(N)?E.contains(N):E.contains(N.nodes[0]))||(y(I,N),W(I)&&O(I,N))}};y(k,g),W(k)&&O(k,g),A.push(k),M.push(g)}function _e(){let k=new Map;for(let g of new Set(M)){if(b.has(g))continue;let y=r(g).hash;k.has(y)||k.set(y,[]),k.get(y).push(g)}return k}function dt(){for(;H.length;){let[k,g]=H.shift();v.has(k)||p.has(k)||Rt(k,g)}}function Ze(k,g){if(!V(k))for(let y of o(k))W(y)&&(g.push(y),Ze(y,g))}function Rt(k,g){v.add(k);let y=o(k),O=o(g);Dc.align+=y.length+O.length,te=new Map,re=new Map;for(let j=0;j<y.length;j++)te.set(y[j],j);for(let j=0;j<O.length;j++)re.set(O[j],j);if(k.tagName==="HTML")for(let j of["HEAD","BODY"]){let J=y.find(ce=>W(ce)&&ce.tagName===j),$=O.find(ce=>W(ce)&&ce.tagName===j);J&&$&&!d.has(J)&&!b.has($)&&K(J,$)}for(let j=0;j<y.length&&j<O.length;j++){let J=y[j],$=O[j];d.has(J)||b.has($)||(W(J)?W($)&&J.tagName===$.tagName&&J.isEqualNode($)&&C(J,$):!W($)&&J.kind===$.kind&&J.value===$.value&&C(J,$))}et(y,O);let _=y.filter(j=>!d.has(j)),E=O.filter(j=>!b.has(j));_.length&&E.length&&(ct(_,E),ye(_,E),se(_,E,y,O),Ve(y,O));let I=!1,N=!1;for(let j of y){if(!d.has(j)){W(j)&&(A.push(j),Ze(j,A),I=!0);continue}W(j)&&!p.has(j)&&H.push([j,d.get(j)])}for(let j of O)!b.has(j)&&W(j)&&(M.push(j),Ze(j,M),N=!0);I&&N&&L.push([k,g])}function nt(k,g){for(let y=k;y<g;y++){let[O,_]=L[y],E=o(O),I=o(_),N=new Map,j=new Map,J=null;for(let $ of E)W($)&&(d.has($)?J=$:(N.has(J)||N.set(J,[]),N.get(J).push($)));J=null;for(let $ of I)W($)&&(b.has($)?J=b.get($):(j.has(J)||j.set(J,[]),j.get(J).push($)));for(let[$,ce]of N){let ge=j.get($);if(!(!ge||ce.length!==ge.length)&&ce.every((ht,ft)=>ge[ft].tagName===ht.tagName&&xe(ht,ge[ft])&&!he(ht,ge[ft])))for(let ht=0;ht<ce.length;ht++)Qe(ce[ht],ge[ht])}}}function Qe(k,g){K(k,g),f.add(k),H.push([k,g]),dt()}function ct(k,g){let y=Wn(k,i),O=Wn(g,i),_=new Map;for(let E of g){let I=i(E);O.get(I)===1&&_.set(I,E)}for(let E of k){if(d.has(E))continue;let I=i(E);if(y.get(I)!==1)continue;let N=_.get(I);N&&!b.has(N)&&C(E,N)}}function C(k,g){K(k,g),p.add(k),W(k)&&v.add(k)}function G(k){let g=d.get(k);if(!g||!W(k))return;let y=o(k),O=o(g);for(let _=0;_<y.length&&_<O.length;_++)d.has(y[_])||C(y[_],O[_])}function ye(k,g){let y=I=>W(I)&&!V(I)?r(I).sig+""+r(I).hint:null,O=Wn(k,y),_=Wn(g,y),E=new Map;for(let I of g){let N=y(I);N!=null&&_.get(N)===1&&E.set(N,I)}for(let I of k){if(d.has(I))continue;let N=y(I);if(N==null||O.get(N)!==1)continue;let j=E.get(N);j&&!b.has(j)&&xe(I,j)&&K(I,j)}}function se(k,g,y,O){let _=new Map;for(let I of g){if(!W(I)||b.has(I)||V(I))continue;let N=r(I).sig;_.has(N)||_.set(N,[]),_.get(N).push({el:I,index:re.get(I)})}let E=[];for(let I of k){if(d.has(I)||!W(I)||V(I))continue;let N=_.get(r(I).sig);if(!N||!N.length)continue;let j=te.get(I),J=N.filter($=>!b.has($.el)).map($=>({c:$,d:Math.abs($.index-j)}));J.sort(($,ce)=>$.d-ce.d),J.length>Cs&&(J=J.slice(0,Cs));for(let{c:$,d:ce}of J){if(!xe(I,$.el))continue;let ge=l(I,$.el);ge&&ge.coef>=.5&&E.push({b:I,s:$.el,coef:ge.coef,share:ge.share,d:ce,bi:j})}}E.sort((I,N)=>N.coef-I.coef||N.share-I.share||I.d-N.d||I.bi-N.bi);for(let I of E)!d.has(I.b)&&!b.has(I.s)&&K(I.b,I.s)}function Ce(k,g){return W(k)!==W(g)?!1:W(k)?k.tagName!==g.tagName||!xe(k,g)?!1:V(k)||r(k).hint===""||r(g).hint===""?!0:s(k,g):k.kind===g.kind}function rt(k,g){let y=(_,E)=>{let I=E===null?-1:_===g?re.get(E):te.get(E),N=_[I+1];return N&&!W(N)?N:null},O=null;for(let _ of k){if(W(_)){O=_;continue}if(d.has(_))continue;let E=O===null?null:d.get(O);if(O!==null&&!E)continue;let I=y(g,E);I&&!b.has(I)&&I.kind===_.kind&&K(_,I)}}function Ve(k,g){rt(k,g);let y=Ke(k,g),O=(E,I)=>W(E)&&r(E).hint!==""&&r(I).hint===""&&!!I.querySelector("br")&&!y(E,I),_=0;for(let E of k){if(d.has(E)){let N=re.get(d.get(E));N!==void 0&&N>=_&&(_=N+1);continue}let I=0;for(let N=_;N<g.length&&I<jc;N++){let j=g[N];if(!b.has(j)&&(I++,Ce(E,j)&&!he(E,j)&&!O(E,j))){K(E,j),W(E)&&(r(E).hint===""||r(j).hint==="")&&f.add(E),_=N+1;break}}}et(k,g)}function Ke(k,g){let y=(O,_,E)=>{for(let I=_-1;I>=0;I--)if(W(O[I])&&E(O[I]))return O[I];return null};return(O,_)=>{let E=te.get(O),I=re.get(_);if(E===I)return!0;let N=y(k,E,J=>d.has(J)),j=y(g,I,J=>b.has(J));return N?d.get(N)===j:!j}}function et(k,g){let y=k.filter(N=>W(N)&&!d.has(N)),O=g.filter(N=>W(N)&&!b.has(N));if(!y.length||!O.length)return;let _=Wn(y,N=>N.tagName),E=Wn(O,N=>N.tagName),I=Ke(k,g);for(let N of y){let j=N.tagName;if(_.get(j)!==1||E.get(j)!==1)continue;let J=O.find($=>$.tagName===j);J&&!b.has(J)&&I(N,J)&&xe(N,J)&&!he(N,J)&&(K(N,J),f.add(N))}}function ut(){let k=new Map;for(let N of f)if(W(N)&&W(d.get(N))){let j=r(N).hash;k.has(j)||k.set(j,[]),k.get(j).push(N)}if(k.size)for(let N of M){if(b.has(N)||!W(N))continue;let j=k.get(r(N).hash),J=j&&j.find($=>f.has($)&&!he($,N)&&xe($,N));J&&(xt(J),C(J,N),m.add(J))}let g=new Map,y=new Map,O=new Map;for(let N of f){let j=d.get(N);W(N)&&W(j)&&O.set(j,N)}let _=(N,j)=>{if(!b.has(N))return!0;let J=O.get(N);return J===b.get(N)&&J!==j&&!J.contains(j)},E=N=>{if(b.has(N)){let j=O.get(N);O.delete(N),xt(j)}};for(let N of[...M,...O.keys()]){if(b.has(N)&&!O.has(N))continue;let j=r(N).hash;if(g.has(j)||g.set(j,[]),g.get(j).push(N),V(N))continue;let J=r(N).sig;y.has(J)||y.set(J,[]),y.get(J).push(N)}let I=new Set;for(let N of f){let j=d.get(N);!W(N)||!W(j)||V(N)||r(N).hint===""||r(j).hint===""||s(N,j)||I.add(N)}for(let N of[...A,...I]){let j=d.get(N);if(j&&!(f.has(N)&&I.has(N)))continue;let J=ft=>{j&&xt(N),E(ft)},$=g.get(r(N).hash);if($){let ft=$.find(ue=>ue!==j&&_(ue,N)&&!he(N,ue));if(ft){J(ft),C(N,ft),m.add(N);continue}}if(V(N)||B<=0)continue;let ce=y.get(r(N).sig);if(!ce)continue;let ge=null,ht=0;for(let ft of ce)if(!(ft===j||!_(ft,N)||!xe(N,ft)||he(N,ft))&&(B--<=0||s(N,ft)&&(ht++,ge=ft,ht>1)))break;ht===1&&(J(ge),K(N,ge),m.add(N),H.push([N,ge]))}}}function Wn(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 Pc={diff:0},Os=typeof Intl<"u"&&typeof Intl.Segmenter=="function"?new Intl.Segmenter(void 0,{granularity:"word"}):null,Fc=/[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Thai}\p{Script=Lao}\p{Script=Khmer}\p{Script=Myanmar}]/u,qc=/[\p{L}\p{M}\p{N}_'’]+|\s+|[\s\S]/gu,Bc=/\P{M}\p{M}*/gu;function ci(e){if(e==="")return[];if(Os){let n=[];for(let r of Os.segment(e))n.push(r.segment);return n}let t=[];for(let n of e.match(qc))if(Fc.test(n))for(let r of n.match(Bc))t.push(r);else t.push(n);return t}var Hc=/^[ ]+$/,$c=e=>Hc.test(e)?" ".repeat(e.length):e,Sr=e=>typeof e.k=="string"&&/^\s+$/.test(e.k),it="",Ns=e=>e.every(t=>Sr(t)||t.k===it),Uc=/^[\x00-\x7f\u00A0]*$/,zc=/[A-Za-z0-9_']+|[ \u00A0]+|\s|./g;function Vc(e){return e===""?[]:e.match(zc)}function jn(e,t=!1){return(t?Vc(e):ci(e)).map(n=>({k:$c(n),raw:n,len:n.length}))}var lo=(...e)=>e.every(t=>Uc.test(t));function ii(e,t,n){let r=e.length,o=t.length,i=Math.min(r+o,n),s=i+1,l=new Int32Array(2*i+3),a=[],h=r===0&&o===0;for(let u=0;u<=i&&!h;u++){a.push(l.slice(s-u,s+u+1));for(let m=-u;m<=u;m+=2){let p;m===-u||m!==u&&l[s+m-1]<l[s+m+1]?p=l[s+m+1]:p=l[s+m-1]+1;let v=p-m,A=p;for(;p<r&&v<o&&e[p].k===t[v].k;)p++,v++;if(Pc.diff+=1+p-A,l[s+m]=p,p>=r&&v>=o){h=!0;break}}}if(!h)return null;let d=[],b=r,f=o;for(let u=a.length-1;u>0;u--){let m=a[u],p=b-f,v=p+u,A=p===-u||p!==u&&m[v-1]<m[v+1]?p+1:p-1,M=m[A+u],L=M-A;for(;b>M&&f>L;)d.push([0,b-1,f-1]),b--,f--;b===M?(d.push([1,b,f-1]),f--):(d.push([-1,b-1,f]),b--)}for(;b>0&&f>0;)d.push([0,b-1,f-1]),b--,f--;return d.reverse(),d}function Wc(e,t,n){let r=b=>b.k===it;if(!e.some(r)&&!t.some(r))return ii(e,t,n);let o=[],i=[];for(let b=0;b<e.length;b++)r(e[b])||o.push(b);for(let b=0;b<t.length;b++)r(t[b])||i.push(b);let s=ii(o.map(b=>e[b]),i.map(b=>t[b]),n);if(!s)return null;let l=[],a=0,h=0,d=(b,f)=>{for(;a<b&&h<f&&e[a].k===t[h].k;)l.push([0,a++,h++]);let u=ii(e.slice(a,b),t.slice(h,f),n);if(!u)return!1;for(let[m,p,v]of u)l.push([m,p+a,v+h]);return a=b,h=f,!0};for(let[b,f,u]of s)if(b===0){if(!d(o[f],i[u]))return null;l.push([0,a,h]),a++,h++}return d(e.length,t.length)?l:null}function Kn(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 i=0;for(;i<e.length-o&&i<t.length-o&&e[e.length-1-i].k===t[t.length-1-i].k;)e[e.length-1-i].raw!==t[t.length-1-i].raw&&r.push({bi:e.length-1-i,tok:t[t.length-1-i]}),i++;let s=e.slice(o,e.length-i),l=t.slice(o,t.length-i),a=Zc(s,l)?null:Wc(s,l,n);if(!a){let A=s.length||l.length?[{bs:o,be:o+s.length,toks:l}]:[];return{hunks:A,cosmetic:r,coarse:!0,parts:A.map(M=>({...M,gap:[],group:0})),cosmeticEq:r}}let h=[],d=(A,M)=>{s[A].raw!==l[M].raw&&r.push({bi:o+A,tok:l[M]})},b=null,f=[],u=0,m=0,p=()=>{b&&h.push(b),b=null;for(let[A,M]of f)d(A,M);f=[],u++};for(let[A,M,L]of a){if(A===0){b&&Sr(s[M])&&!s[M].k.includes(`
|
|
2
|
+
`)?f.push([M,L]):(p(),d(M,L)),m=M+1;continue}(!b||f.length)&&(b&&h.push(b),b={bs:o+m,be:o+m,toks:[],gap:f.map(([H,B])=>({bi:o+H,tok:l[B]})),group:u},f=[]),A===-1?(b.be=o+m+1,m=M+1):b.toks.push(l[L])}p(),Kc(h,e);let v=li(h);return{hunks:v.hunks,cosmetic:r.concat(v.cosmetic),parts:h,cosmeticEq:r}}function Kc(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===it&&t[r.bs].k===it;)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===it&&t[r.be].k===it;)r.bs++,r.be++}}function li(e,t=()=>!1){let n=[],r=[],o=null,i=-1;for(let s of e){let l=t(s);if(o&&!o.alone&&!l&&s.group===i){o.be=s.be;for(let a of s.gap)o.toks.push(a.tok);for(let a of s.toks)o.toks.push(a);continue}o&&n.push({bs:o.bs,be:o.be,toks:o.toks});for(let a of s.gap)r.push(a);o={bs:s.bs,be:s.be,toks:s.toks.slice(),alone:l},i=s.group}return o&&n.push({bs:o.bs,be:o.be,toks:o.toks}),{hunks:n,cosmetic:r}}var Gc=(e,t)=>e.bs===t.bs&&e.be===t.be&&fi(e.toks,t.toks);function ui(e,t,n){let r=d=>b=>d.some(f=>Gc(b,f)),o=li(e.parts,r(t.parts)),i=li(t.parts,r(e.parts)),s=e.cosmeticEq.concat(o.cosmetic),l=t.cosmeticEq.concat(i.cosmetic),[a,h]=n?Yc(o.hunks,i.hunks,n,s,l):[o.hunks,i.hunks];return{lh:a,rh:h,cosL:s,cosR:l}}function Yc(e,t,n,r,o){let i=(u,m)=>u.k===m.k&&u.raw===m.raw,s=[{list:e.map(u=>({...u})),resp:new Set(r.map(u=>u.bi))},{list:t.map(u=>({...u})),resp:new Set(o.map(u=>u.bi))}],l=u=>u.bs===u.be,a=(u,m,p,v)=>{let A=u.list[m];if(!l(A))return v(A)===p?A.toks:null;let M=m?u.list[m-1].be:0,L=m+1<u.list.length?u.list[m+1].bs:n.length;if(p<M||p>L)return null;let H=A.toks,B=A.bs;for(;B>p;){let te=H[H.length-1];if(!i(te,n[B-1])||u.resp.has(B-1))return null;H=[te,...H.slice(0,-1)],B--}for(;B<p;){if(!i(H[0],n[B])||u.resp.has(B))return null;H=[...H.slice(1),H[0]],B++}return H},h=(u,m,p,v,A,M)=>{let L=u.list[m],H=A?p.slice(p.length-v):p.slice(0,v),B=A?p.slice(0,p.length-v):p.slice(v),te={bs:M,be:M,toks:H};if(l(L)){if(!B.length){u.list[m]=te;return}let K={bs:M,be:M,toks:B};A&&(K.lead=!0),u.list.splice(m,1,...A?[K,te]:[te,K]);return}let re={bs:L.bs,be:L.be,toks:B};u.list.splice(m,1,...A?[re,te]:[te,re])},d=(u,m,p,v,A)=>{let M=u.list[m],L=A?p.slice(p.length-v):p.slice(0,v),H=A?p.slice(0,p.length-v):p.slice(v),B={bs:M.bs,be:M.be,toks:L};if(!H.length){u.list[m]=B;return}let te=A?{bs:M.bs,be:M.bs,toks:H,lead:!0}:{bs:M.be,be:M.be,toks:H};u.list.splice(m,1,...A?[te,B]:[B,te])},b=s[0],f=s[1];for(let u=0;u<64;u++){let m=!1;e:for(let p=0;p<b.list.length;p++)for(let v=0;v<f.list.length;v++){let A=b.list[p],M=f.list[v];if(!(A.bs===M.bs&&A.be===M.be&&fi(A.toks,M.toks)))for(let L of[!0,!1]){let H=te=>L?te.be:te.bs,B=l(A)?[H(M),A.bs]:[H(A)];for(let te of B){let re=a(b,p,te,H),K=re&&a(f,v,te,H);if(!K)continue;let W=(at,Nt)=>L?at[at.length-1-Nt]:at[Nt],he=0;for(;he<re.length&&he<K.length&&W(re,he).k===W(K,he).k;)he++;if(!he)continue;let V=L?re.slice(0,re.length-he):re.slice(he),xe=L?K.slice(0,K.length-he):K.slice(he);if(!(he<re.length&&he<K.length&&!Ns(V)&&!Ns(xe)&&(l(A)&&l(M)||A.bs===M.bs&&A.be===M.be)||!(L?re.slice(re.length-he):re.slice(0,he)).some(at=>!Sr(at)))){if(he===re.length&&he===K.length&&l(A)&&l(M)){if(A.bs===te&&M.bs===te)continue;b.list[p]={bs:te,be:te,toks:re},f.list[v]={bs:te,be:te,toks:K}}else!l(A)&&A.bs===M.bs&&A.be===M.be?(d(b,p,re,he,L),d(f,v,K,he,L)):(h(b,p,re,he,L,te),h(f,v,K,he,L,te));m=!0;break e}}}}if(!m)break}return[b.list,f.list]}var Xc=48,Jc=.3;function Zc(e,t){let n=e.filter(s=>!Sr(s)),r=t.filter(s=>!Sr(s));if(Math.min(n.length,r.length)<Xc)return!1;let o=new Map;for(let s of n)o.set(s.k,(o.get(s.k)||0)+1);let i=0;for(let s of r){let l=o.get(s.k);l>0&&(i++,o.set(s.k,l-1))}return i/Math.min(n.length,r.length)<Jc}var Qc=(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},fi=(e,t)=>e.length===t.length&&e.every((n,r)=>n.k===t[r].k);function Rs(e,t,n,r="remote"){let o=Kn(e,t),i=Kn(e,n),{lh:s,rh:l,cosL:a,cosR:h}=ui(o,i,e),d=C=>C.bs===C.be,b=C=>C.toks.some(G=>typeof G.k=="string"),f=C=>d(C)&&!b(C),u=(C,G)=>G.bs<C.be&&C.bs<G.be,m=(C,G)=>!u(C,G)&&G.bs<=C.be&&C.bs<=G.be&&(d(C)&&b(C)||d(G)&&b(G))&&!(d(C)&&d(G)),p=(C,G)=>C.bs===G.bs&&C.be===G.be&&fi(C.toks,G.toks),v=[],A=new Set;for(let C of s){let G=l.find(ye=>!A.has(ye)&&p(C,ye));G?(A.add(G),v.push({bs:C.bs,be:C.be,side:"both",l:C,r:G,toks:C.toks})):v.push({bs:C.bs,be:C.be,side:"L",l:C,toks:C.toks,lead:!!C.lead})}for(let C of l)A.has(C)||v.push({bs:C.bs,be:C.be,side:"R",r:C,toks:C.toks,lead:!!C.lead});v.sort((C,G)=>C.bs-G.bs||C.be-G.be||G.lead-C.lead);let M=0,L=0;for(let C of v)C.side==="both"&&(M+=C.toks.length-(C.be-C.bs));let H=v.map((C,G)=>G),B=C=>H[C]===C?C:H[C]=B(H[C]),te=(C,G)=>(C=B(C),G=B(G),C===G?!1:(H[C]=G,!0)),re=v.map(C=>Qc({bs:C.bs,be:C.be,toks:C.toks},e)),K={L:new Map,R:new Map};v.forEach((C,G)=>{let ye=C.side==="both"?["L","R"]:[C.side];for(let se of ye)for(let Ce of re[G])K[se].has(Ce)||K[se].set(Ce,[]),K[se].get(Ce).push(G)});for(let C of[K.L,K.R])for(let G of C.values())for(let ye=1;ye<G.length;ye++)te(G[0],G[ye]);for(let C=0;C<v.length;C++)for(let G=C+1;G<v.length;G++){let ye=v[C],se=v[G];ye.side===se.side&&ye.side!=="both"||ye.bs>se.be||(u(ye,se)||m(ye,se)?te(C,G):ye.bs===se.bs&&d(ye)&&d(se)&&L++)}let W=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return-1};v.forEach((C,G)=>{if(!(!f(C)||C.side==="both"))for(let ye of C.toks){if(ye.kind!=="open")continue;let se=W(C.side,ye.k);if(se<=C.bs)continue;let Ce=new Uint8Array(se-C.bs),rt=[];if(v.forEach((Ve,Ke)=>{if(!(Ve.side===C.side||d(Ve))&&Ve.bs<se&&Ve.be>C.bs){rt.push(Ke);for(let et=Math.max(Ve.bs,C.bs);et<Math.min(Ve.be,se);et++)Ce[et-C.bs]=1}}),rt.length&&Ce.every(Ve=>Ve===1))for(let Ve of rt)te(G,Ve)}});let he=!0;for(;he;){he=!1;let C=new Map;v.forEach((G,ye)=>{let se=B(ye),Ce=C.get(se)||{bs:G.bs,be:G.be,L:!1,R:!1};Ce.bs=Math.min(Ce.bs,G.bs),Ce.be=Math.max(Ce.be,G.be),G.side!=="R"&&(Ce.L=!0),G.side!=="L"&&(Ce.R=!0),C.set(se,Ce)}),v.forEach((G,ye)=>{for(let[se,Ce]of C){if(B(ye)===B(se)||!(Ce.L&&Ce.R))continue;let rt=G.bs<Ce.be&&G.be>Ce.bs,Ve=d(G)&&b(G)&&(G.bs===Ce.be||G.bs===Ce.bs);(rt||Ve)&&te(ye,se)&&(he=!0)}})}let V=new Map;v.forEach((C,G)=>{let ye=B(G);V.has(ye)||V.set(ye,[]),V.get(ye).push(C)});let xe=[];for(let C of V.values()){let G=C.some(se=>se.side==="L"),ye=C.some(se=>se.side==="R");if(G&&ye){let se=Math.min(...C.map(Ke=>Ke.bs)),Ce=Math.max(...C.map(Ke=>Ke.be)),rt=C.filter(Ke=>Ke.side!=="R").map(Ke=>Ke.l).sort((Ke,et)=>Ke.bs-et.bs),Ve=C.filter(Ke=>Ke.side!=="L").map(Ke=>Ke.r).sort((Ke,et)=>Ke.bs-et.bs);xe.push({bs:se,be:Ce,kind:"conflict",localHunks:rt,remoteHunks:Ve})}else for(let se of C)xe.push({bs:se.bs,be:se.be,kind:se.side,u:se})}let We=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="close"&&Ce.k.el===G.el))return se.bs+.5;for(let se=0;se<e.length;se++)if(e[se].kind==="close"&&e[se].k.el===G.el)return se;return 1/0},at=(C,G)=>{let ye=C==="L"?s:l;for(let se of ye)if(se.toks.some(Ce=>Ce.kind==="open"&&Ce.k.el===G.el))return se.bs-.5;for(let se=0;se<e.length;se++)if(e[se].kind==="open"&&e[se].k.el===G.el)return se;return-1/0},Nt=C=>C.kind==="R"?"R":"L",xt=C=>C.kind==="R"?1:0;xe.sort((C,G)=>{if(C.bs!==G.bs)return C.bs-G.bs;let ye=C.bs===C.be,se=G.bs===G.be;if(ye!==se)return ye?-1:1;if(ye&&se&&C.kind!=="conflict"&&G.kind!=="conflict"){let rt=C.u.toks,Ve=G.u.toks,Ke=ut=>ut.length&&ut.every(k=>k.kind==="open"),et=ut=>ut.length&&ut.every(k=>k.kind==="close");if(Ke(rt)&&Ke(Ve)){let ut=Math.max(...rt.map(g=>We(Nt(C),g.k))),k=Math.max(...Ve.map(g=>We(Nt(G),g.k)));if(ut!==k)return k-ut}if(et(rt)&&et(Ve)){let ut=Math.min(...rt.map(g=>at(Nt(C),g.k))),k=Math.min(...Ve.map(g=>at(Nt(G),g.k)));return ut!==k?k-ut:xt(G)-xt(C)}}let Ce=rt=>rt.u&&rt.u.lead?1:0;return Ce(G)-Ce(C)||xt(C)-xt(G)||C.be-G.be});let _e=[],dt=[],Ze=0,Rt=C=>{C>Ze&&(_e.push({bs:Ze,be:C,toks:e.slice(Ze,C),source:"base"}),Ze=C)};for(let C of xe){if(Rt(C.bs),C.kind==="conflict"){let G=ai(e,C.localHunks,C.bs,C.be),ye=ai(e,C.remoteHunks,C.bs,C.be),se=r==="local"?G:r==="both"?G.concat(ye):ye;dt.push({bs:C.bs,be:C.be,base:e.slice(C.bs,C.be),local:G,remote:ye,resolved:se}),_e.push({bs:C.bs,be:C.be,toks:se,source:"conflict",localHunks:C.localHunks,localToks:G,keepsLocal:r!=="remote"})}else _e.push({bs:C.bs,be:C.be,toks:C.u.toks,source:C.kind==="R"?"remote":"local",localHunks:C.kind==="R"?[]:[C.u.l]});Ze=Math.max(Ze,C.be)}Rt(e.length);let nt=new Map(a.map(C=>[C.bi,C.tok])),Qe=new Map(h.map(C=>[C.bi,C.tok])),ct=[];for(let C of _e){C.source==="base"&&(C.toks=C.toks.map((G,ye)=>{let se=C.bs+ye,Ce=nt.get(se),rt=Qe.get(se),Ve=Ce&&rt?r==="remote"?rt:Ce:Ce||rt||G;return Ve===G?G:{...Ve,cosmetic:!0}}));for(let G of C.toks)ct.push({...G,src:C.source})}return{tokens:ct,segments:_e,conflicts:dt,localHunks:s,remoteHunks:l,collapsedDelta:M,samePoint:L,mapLocalOffset:eu(e,s,_e)}}function ai(e,t,n,r){let o=[],i=n;for(let s of t)o=o.concat(e.slice(i,s.bs),s.toks),i=s.be;return o.concat(e.slice(i,r))}var si=e=>e.reduce((t,n)=>t+n.len,0);function eu(e,t,n){let r=new Int32Array(e.length+1);for(let s=0;s<e.length;s++)r[s+1]=r[s]+e[s].len;let o=t.map(s=>({bs:r[s.bs],be:r[s.be],text:s.toks.map(l=>l.raw).join(""),ref:s})),i=n.map(s=>({bs:r[s.bs],be:r[s.be],len:si(s.toks),source:s.source,localHunks:s.localHunks||[],localLen:s.localToks?si(s.localToks):0,keepsLocal:s.keepsLocal,ref:s}));return s=>{let l=null,a=null,h=0,d=0,b=0;for(let u of o){let m=u.bs-b;if(s<=d+m){l=b+(s-d);break}if(d+=m,b=u.bs,s<=d+u.text.length){a=u,h=s-d,l=u.bs;break}d+=u.text.length,b=u.be}l===null&&(l=b+(s-d));let f=0;for(let u of i){if(!a&&l<=u.bs)return f;if(!(a?u.localHunks.includes(a.ref):l<u.be)){f+=u.len;continue}if(u.source==="base")return f+(l-u.bs);if(u.source==="remote")return f+u.len;if(u.source==="local")return f+Math.min(h,u.len);if(!u.keepsLocal||!a)return f+u.len;let p=u.localHunks.indexOf(a.ref),v=si(ai(e,u.localHunks.slice(0,p),u.ref.bs,a.ref.bs));return f+Math.min(v+h,u.localLen)}return f}}function Tr(e,t,n,r="remote"){if(t===n||n===e)return{text:t,conflicts:[],mapLocalOffset:u=>Math.min(u,t.length),granularity:"word"};let o=lo(e,t,n),i=jn(e,o),s=jn(t,o),l=jn(n,o),a=i.length<=2e4&&s.length<=2e4&&l.length<=2e4?Rs(i,s,l,r):null,h="word",d=i;if(!a){let u=m=>m.split(/(?<=\n)/).map(p=>({k:p,raw:p,len:p.length}));d=u(e),a=Rs(d,u(t),u(n),r),h="line"}let b=u=>u.map(m=>m.raw).join(""),f=[0];for(let u of d)f.push(f[f.length-1]+u.len);return{text:b(a.tokens),conflicts:a.conflicts.map(u=>({bs:f[u.bs],be:f[u.be],base:b(u.base),local:b(u.local),remote:b(u.remote),resolved:b(u.resolved)})),mapLocalOffset:a.mapLocalOffset,granularity:h}}function Er(e,t,n=4e3){if(e===t)return[];let r=lo(e,t),o=jn(e,r),i=jn(t,r),s=Kn(o,i,n),l=[0];for(let a of o)l.push(l[l.length-1]+a.len);return s.hunks.map(a=>({bs:l[a.bs],be:l[a.be],text:a.toks.map(h=>h.raw).join("")}))}var Yn="\uFFFC";var tu={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(" ")),Ps=new Set(["BR","WBR","IMG"]),nu=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 Dn(e,t={}){if(e.nodeType===3)return!0;if(e.nodeType!==1)return!1;if(t.ignored&&t.ignored(e)||Ps.has(e.tagName))return!0;if(!mn.has(e.tagName))return!nu.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(!Dn(o,t)){r=!1;break}return t.inlineCache&&t.inlineCache.set(e,r),r}function ru(e){return!e.firstChild||e.textContent===""&&!e.querySelector("br,img,wbr")}function _r(e,t={}){let n={text:"",marks:[],atoms:[],nodes:[],stackAt:[],pins:[],placeholder:null},r=(o,i)=>{for(let s of o){if(s.nodeType===3){let d=s.nodeValue;if(!d)continue;n.nodes.push({node:s,s:n.text.length,e:n.text.length+d.length}),n.text+=d;for(let b=0;b<d.length;b++)n.stackAt.push(i);continue}if(s.nodeType!==1)continue;if(t.ignored&&t.ignored(s)){n.pins.push({el:s,i:n.text.length});continue}if(t.skip&&t.skip.has(s))continue;let l=s.tagName;if(t.blocks&&t.blocks.has(s)){n.text.length&&n.text[n.text.length-1]!==it&&(n.stackAt.push(i),n.text+=it);let d={el:s,tag:l,from:n.text.length,to:-1,depth:i.length,block:!0};n.marks.push(d);let b=i.concat([d]);r(s.childNodes,b),n.stackAt.push(b),n.text+=it,d.to=n.text.length;continue}let a=mn.has(l)&&ru(s);if(Ps.has(l)||!mn.has(l)||t.remoteWins&&t.remoteWins(s)||t.atomize&&t.atomize(s)||a){n.atoms.push({i:n.text.length,el:s,key:a?l+":empty":l,stack:i}),n.stackAt.push(i),n.text+=Yn;continue}let h={el:s,tag:l,from:n.text.length,to:-1,depth:i.length};n.marks.push(h),r(s.childNodes,i.concat([h])),h.to=n.text.length}};if(r(e,[]),n.atoms.length===1&&n.atoms[0].el.tagName==="BR"&&n.marks.length===0&&ao(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 i of n.nodes)i.s>o.i&&(i.s--,i.e--);n.atoms=[]}return n.atomAt=new Map(n.atoms.map(o=>[o.i,o])),n}function ou(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/ /g," ")}function iu(e){let t="<"+e.tagName.toLowerCase();for(let n of e.attributes)t+=` ${n.name}="${n.value.replace(/"/g,""")}"`;return t+">"}function hi(e,t,n){let r="",o=[];for(let i=t;i<n;i++){let s=e.stackAt[i],l=0;for(;l<o.length&&l<s.length&&o[l]===s[l];)l++;for(;o.length>l;)r+=`</${o.pop().tag.toLowerCase()}>`;for(;o.length<s.length;){let h=s[o.length];r+=iu(h.el),o.push(h)}let a=e.atomAt.get(i);r+=a?a.el.outerHTML:e.text[i]===it?"":ou(e.text[i])}for(;o.length;)r+=`</${o.pop().tag.toLowerCase()}>`;return r}function su(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 Fs(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 Ms(e,t=()=>!1){let n=new Map,r=i=>{let s=n.get(i);return s===void 0&&(s="{"+i.map(l=>su(l,t)).sort().join(",")+"}",n.set(i,s)),s},o="";for(let i=0;i<e.text.length;i++){let s=e.atomAt.get(i);o+=(s?"["+Fs(s.el,t)+"]":e.text[i])+r(e.stackAt[i])}return e.text.length===0&&e.placeholder&&(o+="[br]"),o}function Gn(e,t,n,r=o=>o.key){let o=[],i=e.text,s=0,l=a=>{if(a<=s)return;let h=i.slice(s,a);if(n)for(let d of h.split(/(?<=\n)/))o.push({k:d,raw:d,len:d.length});else for(let d of jn(h,t))o.push(d)};for(let a of e.atoms)l(a.i),o.push({k:"\0"+r(a),raw:Yn,len:1,atom:!0}),s=a.i+1;return l(i.length),o}function ao(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 mi=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 Ls(e,t,n,r){let o=mi(t),i=mi(n),s=[],l=0,a=0;for(let d of r.hunks){a+=d.bs-l;let b=a+d.toks.length;s.push({bs:o[d.bs],be:o[d.be],ss:i[a],se:i[b],text:e.text.slice(i[a],i[b]),toks:d.toks,lead:!!d.lead}),a=b,l=d.be}let h=new Map;for(let d of r.cosmetic)h.set(d.bi,d.tok.raw);return{hunks:s,respell:h}}function Is(e,t,n){let r=s=>s===it||/\s/.test(s),o=s=>s.replace(/[\u001E\s]/g,""),i=[];for(let s of e){let l=t.slice(s.bs,s.be),a=n.slice(s.ss,s.se);if(!l.includes(it)&&!a.includes(it)||l.includes(Yn)||a.includes(Yn)||o(l)!==o(a)){i.push(s);continue}let h=0,d=0;for(;;){let b=h,f=d;for(;b<l.length&&r(l[b]);)b++;for(;f<a.length&&r(a[f]);)f++;let u=h,m=d;for(;u<b&&m<f&&l[u]===a[m];)u++,m++;let p=b,v=f;for(;p>u&&v>m&&l[p-1]===a[v-1];)p--,v--;if(p>u||v>m){let A=a.slice(m,v);i.push({bs:s.bs+u,be:s.bs+p,ss:s.ss+m,se:s.ss+v,text:A,toks:[...A].map(M=>({k:M,raw:M,len:1})),lead:s.lead})}if(b>=l.length)break;h=b+1,d=f+1}}return i}function js(e,t,n){let r=new Int32Array(t+1).fill(-1),o=new Int32Array(n+1).fill(-1),i=0,s=0,l=a=>{for(;i<a;)r[i]=s,o[s]=i,i++,s++};for(let a of e)l(a.bs),i=a.be,s=a.se;return l(t),r[t]=s,o[s]=t,{bTo:r,toB:o}}function Ds(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function pi(e){let{out:t,policy:n="remote",L:r,R:o}=e,i=e.provenance||new WeakMap,s=e.textMappers||new WeakMap,l=e.conflicts||[],a=e.decisions||[],h=l.length,d=!!(r&&r.reverse&&r.map&&o&&o.reverse&&o.map),b={base:null,local:null,remote:null};if(d&&e.moveIn){let c=ne=>Ae=>ne.some(ee=>ee===Ae||ee.nodeType===1&&ee.contains(Ae)),x=c(e.local),S=c(e.remote),w=c(e.base),R=new Set,P=ne=>{if(!mn.has(ne.tagName))return;let Ae=r.map.get(ne),ee=o.map.get(ne);(Ae&&!x(Ae)||ee&&!S(ee))&&R.add(ne);for(let ae of ne.children)P(ae)};for(let ne of e.base)ne.nodeType===1&&P(ne);let X=ne=>Ae=>{if(!mn.has(Ae.tagName))return!1;let ee=ne.reverse.get(Ae);return!!ee&&(R.has(ee)||!w(ee))};R.size&&(b.base=ne=>R.has(ne)),b.local=X(r),b.remote=X(o)}let f={base:new Set,local:new Set,remote:new Set};if(d&&e.moveIn){let c=w=>R=>w.some(P=>P===R||P.nodeType===1&&P.contains(R)),x=c(e.local),S=c(e.remote);for(let w of _r(e.base,{...e,atomize:b.base}).atoms){let R=r.map.get(w.el),P=o.map.get(w.el),X=!!R&&!x(R),ne=!!P&&!S(P);!X&&!ne||(f.base.add(w.el),R&&!X&&f.local.add(R),P&&!ne&&f.remote.add(P),x(w.el)&&f.local.add(w.el),S(w.el)&&f.remote.add(w.el))}}let u=_r(e.base,{...e,atomize:b.base,skip:f.base}),m=_r(e.local,{...e,atomize:b.local,skip:f.local}),p=_r(e.remote,{...e,atomize:b.remote,skip:f.remote}),v=new Map(u.atoms.map(c=>[c.el,c])),A=(c,x,S)=>{x.namespaceURI?c.setAttributeNS(x.namespaceURI,x.name,S):c.setAttribute(x.name,S)},M=(c,x,S,w)=>{if(!x&&(!S||!w)){for(let P of(S||w).attributes)A(c,P,P.value);return}let R=new Map;for(let P of[x,S,w])if(P)for(let X of P.attributes)R.set(X.name,X);for(let[P,X]of R){let ne=x?x.getAttribute(P):null,Ae=S?S.getAttribute(P):ne,ee=w?w.getAttribute(P):ne,ae;Ae===ee?ae=Ae:Ae===ne?(ae=ee,a.push({kind:"attr",el:c,name:P,source:"remote"})):ee===ne?(ae=Ae,a.push({kind:"attr",el:c,name:P,source:"local"})):(ae=n==="local"?Ae:ee,l.push({kind:"attr",el:c,name:P,base:ne,local:Ae,remote:ee,resolved:ae}),a.push({kind:"attr",el:c,name:P,source:"both"})),ae!=null&&A(c,X,ae)}},L=(c,x,S,w)=>c&&e.mergeAttrs?e.mergeAttrs(c,x,S,w):M(w,c,x,S),H=e.mergeElement||((c,x,S)=>{let w=t.createElement(c.tagName);L(c,x,S,w);let R=x||c,P=S||c,X=n==="local"?R.isEqualNode(c)?P:R:P.isEqualNode(c)?R:P;for(let ne of X.childNodes)w.appendChild(t.importNode(ne,!0));return i.set(w,{base:c,local:x,remote:S}),w}),B=e.cloneUnit||((c,x)=>{let S=t.importNode(c,!0);return i.set(S,{base:null,local:x==="local"?c:null,remote:x==="remote"?c:null}),S}),te=e.atomKey||(c=>Fs(c,()=>!1)),re=(c,x)=>{let S=new Map;for(let w of c.atoms)if(e.remoteWins&&e.remoteWins(w.el)&&mn.has(w.el.tagName))S.set(w,"w"+w.el.tagName+"#"+(w.el.id||""));else if(!d)S.set(w,w.key);else if(c===u)S.set(w,"="+te(w.el));else{let R=x.reverse.get(w.el),P=R?v.get(R):null;P?S.set(w,"="+te(P.el)):R?S.set(w,"m"+te(w.el)):S.set(w,"="+te(w.el))}return w=>S.get(w)},K=re(u,null),W=re(m,r),he=re(p,o),V=lo(ao(u),ao(m),ao(p)),xe=Gn(u,V,!1,K),We=Gn(m,V,!1,W),at=Gn(p,V,!1,he),Nt=xe.length>2e4||We.length>2e4||at.length>2e4;Nt&&(xe=Gn(u,V,!0,K),We=Gn(m,V,!0,W),at=Gn(p,V,!0,he));let xt=ui(Kn(xe,We),Kn(xe,at),xe),_e=Ls(m,xe,We,{hunks:xt.lh,cosmetic:xt.cosL}),dt=Ls(p,xe,at,{hunks:xt.rh,cosmetic:xt.cosR});_e.hunks=Is(_e.hunks,u.text,m.text),dt.hunks=Is(dt.hunks,u.text,p.text);let Ze=js(_e.hunks,u.text.length,m.text.length),Rt=js(dt.hunks,u.text.length,p.text.length),nt=u.text.length,Qe=c=>new Map(c.atoms.map(x=>[x.el,x])),ct=Qe(m),C=Qe(p),G=(c,x,S)=>{let w=new Set;if(!d)return w;for(let R of c.atoms){let P=v.get(x.reverse.get(R.el));P&&S.bTo[P.i]<0&&w.add(P)}return w},ye=G(m,r,Ze),se=G(p,o,Rt),Ce=c=>!Dn(c,{...e,remoteWins:null}),rt=new Set;if(d)for(let c of u.atoms){if(!Ce(c.el))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&!S?x:S&&!x?S:null;w&&(ct.has(w)||C.has(w))&&!w.isEqualNode(c.el)&&rt.add(c)}let Ve=1,Ke=(c,x)=>({id:Ve++,tag:c,base:null,local:null,remote:null,rank:x}),et=new Map,ut=[];for(let c of u.marks){let x=Ke(c.tag,c.depth);x.block=!!c.block,x.base=c.el,x.baseMark=c,et.set(c.el,x),ut.push(x)}let k=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},g=(c,x,S,w)=>{for(let R of c.marks){let P=S?S.reverse.get(R.el):null;P&&S.identical.has(P)&&S.pairIdenticalChildren&&S.pairIdenticalChildren(P);let X=P?et.get(P):null;if(X&&X[x]&&(X=null),!X){let ne=k(R,w),Ae=0;if(ne)for(let ee of ut){if(ee.tag!==R.tag||ee[x]||!!ee.block!=!!R.block)continue;let ae=Math.min(ne[1],ee.baseMark.to)-Math.max(ne[0],ee.baseMark.from);(ae>Ae||ae===Ae&&ae>0&&Math.abs(ee.rank-R.depth)<Math.abs(X.rank-R.depth))&&(X=ee,Ae=ae)}}X||(X=Ke(R.tag,R.depth),X.block=!!R.block,X.new=x),X[x]=R.el,X[x+"Mark"]=R,et.set(R.el,X)}};g(m,"local",r,Ze.toB),g(p,"remote",o,Rt.toB);let y=c=>c.merged||c,O=c=>{let x=new Set;for(let S of c)S.block||x.add(et.get(S.el));return x},_=new Map,E=c=>{let x=_.get(c);return x||(x=O(c),_.set(c,x)),x},I=(c,x)=>{let S=[],w=null;for(let R=0;R<nt;R++){let P=x[R];if(P<0){w&&S.push(w),w=null;continue}let X=E(u.stackAt[R]),ne=E(c.stackAt[P]),Ae=new Set,ee=new Set;for(let ae of ne)X.has(ae)||Ae.add(ae);for(let ae of X)ne.has(ae)||ee.add(ae);if(!Ae.size&&!ee.size){w&&S.push(w),w=null;continue}if(w&&Ds(w.added,Ae)&&Ds(w.removed,ee)){w.be=R+1;continue}w&&S.push(w),w={bs:R,be:R+1,added:Ae,removed:ee}}return w&&S.push(w),S},N=I(m,Ze.bTo),j=I(p,Rt.bTo),J=c=>c.be>c.bs?[c.bs,c.be-1]:[c.bs-1,c.bs],$=(c,x)=>{if(nt===0)return null;let[S,w]=J(c);for(let R of x){if(R.be<=S)continue;if(R.bs>w)break;let P=R.bs<=S&&w<R.be;return P&&c.text===""&&R.bs===c.bs&&R.be===c.be?"straddle":P?R:c.be>c.bs?"straddle":null}return null},ce=c=>c.bs===c.be,ge=(c,x)=>{let S=!1;for(let w=c.bs;w<c.be;w++){let R=u.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}for(let w=c.ss;w<c.se;w++){let R=x.text[w];if(R===it)S=!0;else if(!/\s/.test(R))return!1}return S},ht=(c,x)=>c.bs<x.be&&x.bs<c.be,ft=(c,x)=>c.bs<=x.be&&x.bs<=c.be&&ce(c)!==ce(x),ue=(c,x)=>u.text.slice(c.bs,c.be).includes(it)||x.text.slice(c.ss,c.se).includes(it),Ge=c=>{if(ce(c))return!1;let x=c.bs,S=c.be;for(;x>0&&/\s/.test(u.text[x-1]);)x--;for(;S<u.text.length&&/\s/.test(u.text[S]);)S++;return(x===0||u.text[x-1]===it)&&(S===u.text.length||u.text[S]===it)},Ft=(c,x)=>!ue(c,x)&&!Ge(c),vt=(c,x)=>ht(c,x)||ft(c,x)&&!(ge(c,m)&&Ft(x,p))&&!(ge(x,p)&&Ft(c,m)),Ht=(c,x)=>{if(c.bs!==x.bs||c.be!==x.be||c.toks.length!==x.toks.length)return!1;let S=c.ss,w=x.ss;for(let R=0;R<c.toks.length;R++){let P=c.toks[R],X=x.toks[R];if(P.k!==X.k||P.atom&&!m.atomAt.get(S).el.isEqualNode(p.atomAt.get(w).el))return!1;S+=P.len,w+=X.len}return!0},Wt=(c,x,S,w)=>{for(let R of u.atoms){if(R.i<c.bs||R.i>=c.be||w.has(R)||rt.has(R))continue;let P=x.bTo[R.i],X=P>=0?S.atomAt.get(P):null;if(X&&!X.el.isEqualNode(R.el))return!0}return!1},Tt=[],Et=_e.hunks,T=dt.hunks,D=0,F=0,z=0,q=0,U=0,Q=c=>{c>z&&(Tt.push({src:"base",from:z,to:c,dL:q,dR:U}),z=c)};for(;D<Et.length||F<T.length;){let c=Et[D],x=T[F],S=!!c&&(!x||c.bs<x.bs||c.bs===x.bs&&c.be<=x.be&&!x.lead);if(c&&x&&c.bs===x.bs&&ce(c)&&ce(x)){let Ot=ge(c,m),Ln=ge(x,p);Ot!==Ln&&(S=Ln)}let w=S?c:x,R=S?x:c,P=!!R&&Ht(c,x),X=!!R&&(S?!!Et[D+1]&&Ht(Et[D+1],x):!!T[F+1]&&Ht(c,T[F+1])),ne=!!R&&!P&&!X&&(nt===0||vt(c,x)),Ae=ne,ee=$(w,S?j:N);if(ee==="straddle"&&(Ae=!0),!Ae&&w.be>w.bs&&(Ae=Wt(w,S?Rt:Ze,S?p:m,S?ye:se)),!Ae&&P){Q(w.bs),Tt.push({src:"both",lfrom:c.ss,rfrom:x.ss,len:w.text.length}),z=w.be,q+=w.text.length-(w.be-w.bs),U+=w.text.length-(w.be-w.bs),D++,F++;continue}if(!Ae){Q(w.bs),Tt.push({src:S?"local":"remote",from:w.ss,to:w.se,inherit:ee&&ee!=="straddle"?ee:null}),z=w.be,S?(q+=w.text.length-(w.be-w.bs),D++):(U+=w.text.length-(w.be-w.bs),F++);continue}let ae=w.bs,Be=w.be,Me=D,qe=F,kt=Ot=>Ot.bs<Be&&Ot.be>ae||ce(Ot)&&(Ot.bs===ae||Ot.bs===Be);S?Me++:qe++,ne&&(ae=Math.min(ae,R.bs),Be=Math.max(Be,R.be),S?qe++:Me++);let lt=!0;for(;lt;){for(lt=!1;Me<Et.length&&kt(Et[Me]);)ae=Math.min(ae,Et[Me].bs),Be=Math.max(Be,Et[Me].be),Me++,lt=!0;for(;qe<T.length&&kt(T[qe]);)ae=Math.min(ae,T[qe].bs),Be=Math.max(Be,T[qe].be),qe++,lt=!0}let Xt=ae+q,Bt=ae+U,sn=Be-ae,cn=Be-ae;for(let Ot=D;Ot<Me;Ot++)sn+=Et[Ot].text.length-(Et[Ot].be-Et[Ot].bs);for(let Ot=F;Ot<qe;Ot++)cn+=T[Ot].text.length-(T[Ot].be-T[Ot].bs);let gn=Xt+sn,bn=Bt+cn;Q(ae);let Ct={kind:"text",node:e.node||null,base:hi(u,ae,Be),local:hi(m,Xt,gn),remote:hi(p,Bt,bn),resolved:null,range:null,bs:ae,be:Be,lss:Xt,lse:gn,rss:Bt,rse:bn};Ct.resolved=n==="local"?Ct.local:n==="remote"?Ct.remote:Ct.local+Ct.remote,n!=="remote"&&Tt.push({src:"local",from:Xt,to:gn,conflict:Ct}),n!=="local"&&Tt.push({src:"remote",from:Bt,to:bn,conflict:Ct}),l.push(Ct),z=Be,q+=sn-(Be-ae),U+=cn-(Be-ae),D=Me,F=qe}Q(nt);let le=u.text,ke=[];if(_e.respell.size||dt.respell.size){let c=mi(xe),x=[];for(let S=0;S<xe.length;S++){let w=xe[S].raw,R=_e.respell.get(S)??w,P=dt.respell.get(S)??w;(R!==w||P!==w)&&ke.push([c[S],R!==w&&P!==w?"both":R!==w?"local":"remote"]),x.push(R===P?R:R===w?P:P===w||n==="local"?R:P)}le=x.join("")}let me="",ve=[],Pe=[],je=[],wt=[];for(let c of Tt){let x=me.length;if(c.src==="base"){for(let S=c.from;S<c.to;S++)ve.push(S),Pe.push(S+c.dL),je.push(S+c.dR),wt.push(c);me+=le.slice(c.from,c.to)}else if(c.src==="both"){for(let S=0;S<c.len;S++)ve.push(-1),Pe.push(c.lfrom+S),je.push(c.rfrom+S),wt.push(c);me+=m.text.slice(c.lfrom,c.lfrom+c.len)}else{let S=c.src==="local"?m:p;for(let w=c.from;w<c.to;w++)ve.push(-1),Pe.push(c.src==="local"?w:-1),je.push(c.src==="remote"?w:-1),wt.push(c);me+=S.text.slice(c.from,c.to)}c.ms=x,c.me=me.length,c.conflict&&(c.conflict.range||(c.conflict.range=[x,x]),c.conflict.range[1]=me.length)}let pe=me.length,Xe=new Int32Array(nt+1).fill(-1),Ee=new Int32Array(m.text.length+1).fill(-1),Dt=new Int32Array(p.text.length+1).fill(-1);for(let c=0;c<pe;c++)ve[c]>=0&&(Xe[ve[c]]=c),Pe[c]>=0&&(Ee[Pe[c]]=c),je[c]>=0&&(Dt[je[c]]=c);let At=(c,x)=>{let S=-1,w=-1;for(let R=c.from;R<c.to;R++){let P=x[R];P>=0&&(S<0&&(S=P),w=P+1)}return S<0?null:[S,w]},Mt=[],gt=[];for(let c of new Set(et.values()))c.new==="local"?Mt.push(c):c.new==="remote"&>.push(c);let xr=(c,x)=>{c.remote=x.remote,c.remoteMark=x.remoteMark,c.new="both",x.merged=c,et.set(x.remote,c)};if(Mt.length&>.length){let c=e.idOf;for(let x of Mt){let S=c?c.local(x.local):null;if(!S)continue;let w=gt.find(R=>!R.merged&&R.tag===x.tag&&!!R.block==!!x.block&&c.remote(R.remote)===S);w&&xr(x,w)}for(let x of Mt){if(x.remote)continue;let S=At(x.localMark,Ee);if(S)for(let w of gt){if(w.merged||w.tag!==x.tag||!!w.block!=!!x.block)continue;let R=At(w.remoteMark,Dt);if(R&&Math.min(S[1],R[1])-Math.max(S[0],R[0])>0){xr(x,w);break}}}}_.clear();let vr=c=>{for(let x of c)if(x.block)return y(et.get(x.el));return null},hn=u.marks.some(c=>c.block)||m.marks.some(c=>c.block)||p.marks.some(c=>c.block),nn=new Array(pe).fill(null),Un=new Set;if(hn){let c=(ee,ae,Be)=>{let Me=new Set([ee,ae,Be]);Me.delete(null);let qe=[];for(let lt of Me){let Xt=lt===ee,Bt=lt===ae,sn=lt===Be;(Bt===sn?Bt:Bt===Xt?sn:Bt)&&qe.push(lt)}if(qe.length<=1)return qe[0]||null;let kt=n==="local"?ae:Be;return qe.includes(kt)?kt:qe[0]},x=(ee,ae)=>ae>=0?vr(ee.stackAt[ae]):null,S=new Map;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let ae=ve[ee]>=0?x(u,ve[ee]):null,Be=x(m,Pe[ee]),Me=x(p,je[ee]);S.set(ee,[ae,ve[ee]>=0?c(ae,Be,Me):Be||Me])}let w=new Set([...S.values()].map(ee=>ee[1])),R=ee=>ee!==it&&ee!==Yn&&!/\s/.test(ee),P=(ee,ae)=>{let Be=ee;for(;Be<ae&&!R(me[Be]);)Be++;return Be<ae&&ve[Be]>=0?x(u,ve[Be]):null},X=new Map,ne=0;for(let ee=0;ee<pe;ee++){if(me[ee]!==it)continue;let[ae,Be]=S.get(ee),Me=P(ne,ee),qe=Be,kt=X.get(qe)===qe&&Me===qe;qe&&X.has(qe)&&!kt&&ae&&!X.has(ae)&&!w.has(ae)&&(qe=ae),qe&&!X.has(qe)&&X.set(qe,Me);for(let lt=ne;lt<=ee;lt++)nn[lt]=qe;ne=ee+1}let Ae=ee=>{for(let ae=0;ae<ee.text.length;ae++)if(R(ee.text[ae])&&!x(ee,ae))return!0;return!1};if(!Ae(u)&&!Ae(m)&&!Ae(p)){let ee=[],ae=0;for(let Me=0;Me<pe;Me++)(me[Me]===it||Me===pe-1)&&(ee.push([ae,Me]),ae=Me+1);let Be=new Set(nn);for(let Me=0;Me<ee.length;Me++){let[qe,kt]=ee[Me];if(nn[kt])continue;let lt=qe;for(;lt<=kt&&!R(me[lt]);)lt++;if(lt>kt)continue;let Xt=x(u,ve[lt]),Bt=x(m,Pe[lt]),sn=x(p,je[lt]),cn=c(Xt,Bt,sn)||Bt||sn||Xt;if(cn&&!Be.has(cn)){Be.add(cn);for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=cn;continue}let gn=Me>0&&nn[ee[Me-1][1]],bn=Me+1<ee.length&&nn[ee[Me+1][1]];if(gn)Un.add(ee[Me-1][1]);else if(bn&&me[kt]===it)Un.add(kt);else continue;for(let Ct=qe;Ct<=kt;Ct++)nn[Ct]=gn||bn}}}let Qr=new Map,eo=c=>{let x=Qr.get(c);if(x)return x;x=[1/0,-1/0];for(let[S,w]of[[c.baseMark,Xe],[c.localMark,Ee],[c.remoteMark,Dt]]){let R=S&&At(S,w);R&&(x[0]=Math.min(x[0],R[0]),x[1]=Math.max(x[1],R[1]))}return Qr.set(c,x),x},to=(c,x,S)=>{let w=-1,R=-1;for(let P=0;P<c.length;P++){let X=et.get(c[P].el);X===x&&(w=P),X===S&&(R=P)}return w>=0&&R>=0?w-R:0},zn=(c,x)=>[...c].sort((S,w)=>{for(let X of x){let ne=to(X,S,w);if(ne)return ne}let R=eo(S),P=eo(w);return R[0]-P[0]||P[1]-R[1]||S.rank-w.rank||S.id-w.id}),no=new Map,Y=new Map,Te=c=>{let x=ve[c],S=Pe[c],w=je[c],R=wt[c];if(x>=0){let Me=u.stackAt[x],qe=m.stackAt[S],kt=p.stackAt[w],lt=no.get(Me);lt||no.set(Me,lt=new Map);let Xt=lt.get(qe);Xt||lt.set(qe,Xt=new Map);let Bt=Xt.get(kt);if(Bt)return Bt;let sn=E(Me),cn=E(qe),gn=E(kt),bn=new Set;for(let Ct of new Set([...sn,...cn,...gn])){let Ot=sn.has(Ct),Ln=cn.has(Ct),xs=gn.has(Ct);(Ln===xs?Ln:Ln===Ot?xs:Ln)&&bn.add(Ct)}return Bt=zn(bn,[qe,kt,Me]),Xt.set(kt,Bt),Bt}if(R.src==="both"){let Me=m.stackAt[S],qe=p.stackAt[w];return zn(new Set([...E(Me),...E(qe)]),[Me,qe])}let X=(R.src==="local"?m:p).stackAt[R.src==="local"?S:w];if(!R.inherit)return zn(E(X),[X]);let ne=Y.get(R);ne||Y.set(R,ne=new Map);let Ae=ne.get(X);if(Ae)return Ae;let ee=new Set(E(X));for(let Me of R.inherit.added)ee.add(y(Me));for(let Me of R.inherit.removed)ee.delete(y(Me));let ae=R.src==="local"?p:m,Be=(R.src==="local"?Rt.bTo:Ze.bTo)[R.inherit.bs];return Ae=zn(ee,[X,ae.stackAt[Be]]),ne.set(X,Ae),Ae},be=new Int32Array(m.text.length+1);be[m.text.length]=pe;for(let c=m.text.length-1;c>=0;c--)be[c]=Ee[c]>=0?Ee[c]:be[c+1];tu.caret+=m.text.length;let Ne=c=>c<=0?0:(c>m.text.length&&(c=m.text.length),Ee[c-1]>=0?Ee[c-1]+1:be[c]),$e=[],ie=[],Se=null,oe=[],Re="",Fe=-1,Pt=c=>{Se?Se.appendChild(c):$e.push(c)},rn=c=>{if(!Re)return;let x=t.createTextNode(Re);Pt(x),ie.push({node:x,ms:Fe,me:c,local:[],u:oe.length?oe[oe.length-1].u:null}),Re=""},pn=new Set,Ut=new Map,wn=new Set,De=c=>{let x=t.createElement(c.tag);if(c.block&&Ar.add(x),!Ut.has(c)){Ut.set(c,x),L(c.base,c.local,c.remote,x),i.set(x,{base:c.base,local:c.local,remote:c.remote});let w=(X,ne)=>d&&c[ne]&&X.reverse.get(c[ne])?ne:null,R=!c.base&&(w(r,"local")||w(o,"remote"));if(R){let X=R==="local"?r.reverse.get(c.local):o.reverse.get(c.remote),ne=i.get(x);ne.local=ne.local||r.map.get(X)||null,ne.remote=ne.remote||o.map.get(X)||null,a.push({kind:"move",el:x,source:R})}else c.base||a.push({kind:"insert",el:x,source:c.local&&c.remote?"both":c.local?"local":"remote"});let P=i.get(x);P.local&&(wn.has(P.local)?P.local=null:wn.add(P.local))}else{let w=Ut.get(c);for(let R of w.attributes)R.name!=="id"&&R.name!=="data-id"&&A(x,R,R.value);i.set(x,{base:null,local:null,remote:null})}Pt(x),oe.push({u:c,el:x}),Se=x},Ue=new Set,Z=new Map;for(let c of m.pins){let x=Ne(c.i);Z.has(x)||Z.set(x,[]),Z.get(x).push(c)}let de=c=>{let x=Z.get(c);if(x){rn(c);for(let S of x){let w=S.el.namespaceURI&&S.el.namespaceURI!=="http://www.w3.org/1999/xhtml"?t.createElementNS(S.el.namespaceURI,S.el.tagName):t.createElement(S.el.tagName);i.set(w,{base:null,local:S.el,remote:null,pinned:!0}),Ue.add(w),Pt(w)}}},we=u.atoms.length||m.atoms.length||p.atoms.length,Ie=c=>{if(!we)return null;let x=ve[c]>=0?u.atomAt.get(ve[c]):null,S=Pe[c]>=0?m.atomAt.get(Pe[c]):null,w=je[c]>=0?p.atomAt.get(je[c]):null;return x||S||w?{ab:x,al:S,ar:w}:null},Oe=(c,x,S,w)=>{if(!c||!d)return null;let R=v.get(x.reverse.get(c.el))||null;return!R||R===w||(w?R.el.isEqualNode(w.el):S.bTo[R.i]>=0)?null:R},Ye=(c,x)=>{if(!c||!d||!e.moveIn)return null;let S=x.reverse.get(c.el);return S&&!v.has(S)?S:null},ot=(c,x)=>{let S=new Map;for(let w of c.atoms)S.set(x(w),(S.get(x(w))||0)+1);return S},qt=ot(u,K),zt=ot(m,W),Jt=ot(p,he),_t=c=>{let x=K(c);return qt.get(x)===1&&(zt.get(x)||0)<=1&&(Jt.get(x)||0)<=1},Zt=new Map,mt=new Set,bt=new Set,Qt=new Set;for(let c=0;c<pe;c++){let x=Ie(c);if(!x)continue;let{ab:S,al:w,ar:R}=x,P=Oe(R,o,Rt,S),X=Oe(w,r,Ze,S),ne=S,Ae=null;if(P?(ne=P,Ae="remote"):X&&(ne=X,Ae="local"),ne){mt.has(ne)?Zt.set(c,{dup:ne.el}):(mt.add(ne),Zt.set(c,{bk:ne,from:Ae,al:w,ar:R}));continue}let ee=Ye(R,o),ae=Ye(w,r),Be=ee||ae;if(Be){bt.has(Be)?Zt.set(c,{dup:Be}):(bt.add(Be),Zt.set(c,{moveIn:Be,side:ee?"remote":"local",sideEl:ee?R.el:w.el}));continue}let Me=(kt,lt)=>kt&&d&&v.get(lt.reverse.get(kt.el))||null,qe=Me(R,o)||Me(w,r);if(qe&&(Qt.add(qe),wt[c].conflict&&_t(qe))){if(mt.has(qe)){Zt.set(c,{dup:qe.el});continue}mt.add(qe)}Zt.set(c,{al:w,ar:R})}let ln=new Map,ro=(c,x)=>{if(c[x]>=0)return c[x];for(let S=x-1;S>=0;S--)if(c[S]>=0)return c[S]+1;return 0};if(d)for(let c of u.atoms){if(mt.has(c)||Qt.has(c))continue;let x=r.map.get(c.el)||null,S=o.map.get(c.el)||null,w=x&&ct.get(x),R=S&&C.get(S);if(x&&!w||S&&!R)continue;let P=!(w&&R)&&rt.has(c);if(!P&&!(w&&R&&_t(c)))continue;let X=n==="local"?[[w,Ee],[R,Dt]]:[[R,Dt],[w,Ee]],[ne,Ae]=X.find(([ae])=>ae),ee=ro(Ae,ne.i);ln.has(ee)||ln.set(ee,[]),ln.get(ee).push({a:c,lt:x,rt:S,edited:P}),mt.add(c)}if(d&&e.moveIn){let c=[[m,r,Ee,"local"],[p,o,Dt,"remote"]];n!=="local"&&c.reverse();for(let[x,S,w,R]of c)for(let P of x.atoms){let X=Ye(P,S);if(!X||bt.has(X))continue;bt.add(X);let ne=ro(w,P.i);ln.has(ne)||ln.set(ne,[]),ln.get(ne).push({move:X,side:R,sideEl:P.el})}}let wr=c=>{let x=ln.get(c);if(x){if(rn(c),x.some(S=>Ce(S.move?S.sideEl:S.a.el)))for(;oe.length;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;for(let{a:S,lt:w,rt:R,edited:P,move:X,side:ne,sideEl:Ae}of x){if(X){let ae=e.moveIn(X,ne,Ae);ae&&Pt(ae);continue}pn.add(S);let ee=H(S.el,w,R);P&&(l.push({kind:"structure",el:ee,detail:"edit-beats-delete",base:S.el}),a.push({kind:"insert",el:ee,source:w?"local":"remote"})),Pt(ee)}}},Ar=new Set;for(let c=0;c<pe;c++){let x=Ie(c),w=!!x&&Ce((x.ab||x.al||x.ar).el)?[]:nn[c]?[nn[c],...Te(c)]:Te(c),R=0;for(;R<oe.length&&R<w.length&&oe[R].u===w[R];)R++;if(R<oe.length)for(rn(c);oe.length>R;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;if(de(c),wr(c),w.length>oe.length)for(rn(c);oe.length<w.length;)De(w[oe.length]);if(me[c]===it){if(Un.has(c))continue;rn(c);let P=oe.length;for(;P>0&&!oe[P-1].u.block;)P--;if(P>0)for(;oe.length>=P;)oe.pop(),Se=oe.length?oe[oe.length-1].el:null;continue}if(x){rn(c);let P=Zt.get(c),X;if(P.dup){l.push({kind:"structure",el:null,detail:"both-moved",base:P.dup});continue}if(P.moveIn){if(X=e.moveIn(P.moveIn,P.side,P.sideEl),!X)continue}else if(P.bk){let ne=P.bk;if(pn.add(ne),ne===x.ab)X=H(ne.el,P.al.el,P.ar.el);else{let Ae=r.map.get(ne.el)||null,ee=o.map.get(ne.el)||null;X=H(ne.el,Ae,ee),(!Ae||!ee)&&l.push({kind:"structure",el:null,detail:"move-beats-delete",base:ne.el}),a.push({kind:"move",el:X,source:P.from})}}else P.al?(X=B(P.al.el,"local"),P.ar&&(i.get(X).remote=P.ar.el),a.push({kind:"insert",el:X,source:P.ar?"both":"local"})):(X=B(P.ar.el,"remote"),a.push({kind:"insert",el:X,source:"remote"}));Pt(X);continue}Re||(Fe=c),Re+=me[c]}if(rn(pe),(Z.has(pe)||ln.has(pe))&&(oe.length=0,Se=null,de(pe),wr(pe)),pe===0&&(m.placeholder||p.placeholder||u.placeholder)){let c=t.createElement("br");i.set(c,{base:u.placeholder,local:m.placeholder,remote:p.placeholder}),$e.push(c)}let fe=0,ze=c=>{for(;fe>0&&ie[fe-1].me>=c;)fe--;for(;fe<ie.length&&ie[fe].me<c;)fe++;let x=ie[fe];if(!x)return ie[ie.length-1]||null;let S=ie[fe+1];return x.me===c&&S&&S.ms===c?S:x},st=new Map,tt={},Je=(c,x,S)=>{let w=ze(c)||(S?tt:null);if(!w)return;let R=st.get(w)||{l:!1,r:!1};x!=="remote"&&(R.l=!0),x!=="local"&&(R.r=!0),st.set(w,R)},an=c=>{if(c.conflict)return!0;let x=c.src==="local"?m.text:c.src==="remote"?p.text:"";for(let S=c.from;S<c.to;S++)if(x[S]!==Yn&&x[S]!==it)return!0;return!1};for(let c of Tt)c.src!=="base"&&Je(c.ms,c.conflict?"both":c.src,an(c));for(let[c,x]of ke)Xe[c]>=0&&Je(Xe[c],x);for(let c of ie.length?ie:[tt]){let x=st.get(c);x&&a.push({kind:"text",node:c.node||null,source:x.l&&x.r?"both":x.l?"local":"remote"})}for(let c of ut){if(Ut.has(c))continue;let x=!c.local&&!(d&&r.map.get(c.base)),S=!c.remote&&!(d&&o.map.get(c.base));!x&&!S||a.push({kind:"remove",source:x&&S?"both":x?"local":"remote",base:c.base})}let on=(c,x,S)=>{if(x<=c)return!1;for(let w=c;w<x;w++)if(S[w]>=0)return!1;return!0};for(let c of ut)for(let x of["local","remote"]){let S=c[x+"Mark"],w=c.baseMark;if(!S)continue;let R=x==="local"?Ze:Rt;if(!on(w.from,w.to,R.bTo)||!on(S.from,S.to,R.toB))continue;let P=(x==="local"?Et:T).find(X=>X.ss<=S.from&&S.from<X.se);P&&(P.be<=w.from||P.bs>=w.to)&&a.push({kind:"move",el:Ut.get(c)||null,source:x})}let An=c=>{let x=et.get(c.node.parentNode);return x?y(x):null};for(let c of m.nodes){let x=-1;for(let w=c.s;w<c.e;w++)if(Ee[w]>=0){x=Ee[w];break}let S;if(x>=0)S=ze(x);else{let w=Ne(c.s),R=An(c);S=ie.find(P=>P.u===R&&P.me>=w)||ie.filter(P=>P.u===R).pop()}S&&S.local.push(c)}let en=new Map,$t=ie[ie.length-1]||null,Yt=0;for(let c of m.nodes){let x=null;for(let S=c.s;S<=c.e;S++){let w=Ne(S);for(;Yt>0&&ie[Yt-1].me>=w;)Yt--;for(;Yt<ie.length&&ie[Yt].me<w;)Yt++;let R=X=>X&&w>=X.ms&&w<=X.me&&(w<X.me||S===c.e||X===x),P=R(ie[Yt])?ie[Yt]:R(ie[Yt+1])?ie[Yt+1]:ie[Yt]||$t;if(!P)break;if(x===P){let X=en.get(P);X[X.length-1].to=S-c.s;continue}x=P,en.has(P)||en.set(P,[]),en.get(P).push({node:c.node,from:S-c.s,to:S-c.s,flatStart:c.s})}}for(let c of ie){let x=c.local,S=!1;for(let X of x)for(let ne=X.s;ne<X.e&&!S;ne++)(Ee[ne]<c.ms||Ee[ne]>=c.me)&&(S=!0);i.set(c.node,{base:null,local:x.map(X=>X.node),remote:null,caret:en.get(c)||[],partial:S});let w=c.ms,R=c.me-c.ms,P=X=>{let ne=0,Ae=-1;for(let ee of x){let ae=ee.e-ee.s;if(X<=ne+ae){Ae=ee.s+(X-ne);break}ne+=ae}return Ae<0&&(Ae=x.length?x[x.length-1].e:0),Math.max(0,Math.min(Ne(Ae)-w,R))};P.flat=X=>Math.max(0,Math.min(Ne(X)-w,R)),s.set(c.node,P)}function Sc(){if(!m.text.includes(it))return[{flatLocal:m.text,localNodes:m.nodes,textNodes:ie,lToM:Ee,mapLocal:Ne}];let c=[],x=0,S=0;for(let w=0;w<=m.text.length;w++){if(w<m.text.length&&m.text[w]!==it)continue;let R=x,P=w;if(P>R){let X=[];for(;S<m.nodes.length&&m.nodes[S].e<=R;)S++;for(let ne=S;ne<m.nodes.length&&m.nodes[ne].s<P;ne++){let Ae=m.nodes[ne],ee=Math.max(Ae.s,R),ae=Math.min(Ae.e,P);ee<ae&&X.push({node:Ae.node,s:ee-R,e:ae-R})}c.push({flatLocal:m.text.slice(R,P),localNodes:X,textNodes:ie,lToM:Ee.subarray?Ee.subarray(R,P+1):Ee.slice(R,P+1),mapLocal:ne=>Ne(R+Math.max(0,Math.min(ne,P-R)))})}x=w+1}return c}let Tc={...e,blocks:Ar,ignored:c=>Ue.has(c)||(e.ignored?e.ignored(c):!1)},ys=e.ignoreAttribute||(()=>!1),Ec=Ms(_r($e,Tc),ys)!==Ms(p,ys);return{nodes:$e,text:me,textNodes:ie,localDiverged:Ec,mapLocal:Ne,conflicts:l.slice(h),granularity:Nt?"line":"word",segments:Sc(),localHunks:Et,remoteHunks:T,lToM:Ee}}var lu="http://www.w3.org/1999/xhtml";function au(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 Kt(e){return!!e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.namespaceURI===lu}function cu(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 i=new URL(n,t);o=i.origin+i.pathname+i.search}catch{}return"script|src|"+r+"|"+o}return"script|inline|"+r+"|"+au(e.textContent.trim())}var uu={match:e=>e.hasAttribute("merge"),identity:e=>e.getAttribute("merge")};function Xn(e,t=[],n=!1){if(!Kt(e)||e.hasAttribute("src"))return null;let r=[uu,...t];for(let o=0;o<r.length;o++){let i=r[o];if(!i.match(e))continue;if(!cu(e))return n&&console.warn("[hyper-morph] merge ignored: script type is not JSON",e),null;let s=i.identity(e);return s==null||s===""?null:{key:o+":"+s,raw:s,recognizer:i}}return null}function qs(e,t,n){let r=new Set,o=i=>{Kt(i)&&!t(i)&&r.add(co(i,n))};o(e);for(let i of e.querySelectorAll("script"))o(i);return r}function Cr(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 Bs(e,t,n){let r=[],o=[],i=Array.from(e.querySelectorAll("script"));Kt(e)&&i.unshift(e);for(let s of i){if(!Kt(s)||n.ignored(s)||n.skip.has(s)||t.has(co(s,n.baseURI)))continue;let l=s.ownerDocument.createElement("script");for(let a of s.attributes)l.setAttribute(a.name,a.value);l.textContent=s.textContent,n.beforeNodeAdded(l)!==!1&&(l.hasAttribute("src")&&o.push(new Promise(a=>{l.addEventListener("load",()=>a()),l.addEventListener("error",()=>a())})),s.replaceWith(l),n.afterNodeAdded(l),r.push(l))}return{executed:r,loads:o}}function fu(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 du(e,t){try{let n=new URL(e,t);return n.origin+n.pathname+n.search}catch{return e}}function Hs(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")||"")+"|"+du(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|"+fu(e.textContent):e.outerHTML}function gi(e,t){for(;;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(e[t]==="/"&&e[t+1]==="/"){for(;t<e.length&&e[t]!==`
|
|
3
|
+
`;)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 hu(e){return e.replace(/\\'/g,"'").replace(/(\\*)"/g,(t,n)=>n.length%2===0?n+'\\"':t)}var mu=/^-?(0|[1-9]\d*)(\.\d+)?([eE][+-]?\d+)?$/,pu=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function bi(e){try{return JSON.parse(e)}catch{return JSON.parse(gu(e))}}function gu(e){let t="",n=0,r=(o,i)=>{throw new Error(`Invalid relaxed JSON: ${o} at position ${i}`)};for(;n<e.length&&(n=gi(e,n),!(n>=e.length));){let o=e[n];if("{}[]:".includes(o)){t+=o,n++;continue}if(o===","){let l=gi(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=hu(a)),t+='"'+a+'"',n=l+1;continue}let i=n;for(;i<e.length&&/[A-Za-z0-9_$.+\-]/.test(e[i]);)i++;i===n&&r("unexpected character "+JSON.stringify(o),n);let s=e.slice(n,i);if(s==="true"||s==="false"||s==="null"||mu.test(s)){t+=s,n=i;continue}if(pu.test(s)){if(e[gi(e,i)]===":"){t+='"'+s+'"',n=i;continue}r("unquoted value "+JSON.stringify(s),n)}r("invalid token "+JSON.stringify(s),n)}return t}var yt=Symbol("hyper-morph-json-merge:missing"),$s=["id","_id","uuid","key","slug","code","name"];function Jn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Or(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function bu(e,t,n){Object.defineProperty(e,t,{value:n,enumerable:!0,writable:!0,configurable:!0})}function Sn(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(!Sn(e[n],t[n]))return!1;return!0}if(Jn(e)&&Jn(t)){let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Or(t,r)||!Sn(e[r],t[r]))return!1;return!0}return!1}function Us(e,t,n,r){return Sn(t,n)?t:Sn(t,e)?n:Sn(n,e)?t:Jn(t)&&Jn(n)?ku(Jn(e)?e:{},t,n,r):Array.isArray(t)&&Array.isArray(n)?wu(Array.isArray(e)?e:[],t,n,r):n}function zs(e,t,n,r){return t===yt&&n===yt?yt:t===yt?e===yt?n:Sn(n,e)?yt:n:n===yt?e===yt?t:yt:Us(e,t,n,r)}function ku(e,t,n,r){let o={},i=new Set([...Object.keys(e),...Object.keys(t),...Object.keys(n)]);for(let s of i){let l=zs(Or(e,s)?e[s]:yt,Or(t,s)?t[s]:yt,Or(n,s)?n[s]:yt,r);l!==yt&&bu(o,s,l)}return o}function yu(e){return e===null||typeof e!="object"}function uo(e){return typeof e+":"+String(e)}function xu(e,t){for(let n of t){let r=new Set;for(let o of n){if(!Or(o,e))return!1;let i=o[e];if(typeof i!="string"&&typeof i!="number")return!1;let s=uo(i);if(r.has(s))return!1;r.add(s)}}return!0}function vu(e,t,n,r){let o=[e,t,n],i=!0;for(let s of o)for(let l of s)Jn(l)||(i=!1);if(i){for(let s of r.keyCandidates)if(xu(s,o))return{kind:"keyed",field:s};return null}for(let s of o){let l=new Set;for(let a of s){if(!yu(a))return null;let h=uo(a);if(l.has(h))return null;l.add(h)}}return{kind:"self"}}function wu(e,t,n,r){let o=vu(e,t,n,r);if(!o)return n;let i=o.kind==="self"?uo:u=>uo(u[o.field]),s=u=>{let m=new Map;for(let p of u)m.set(i(p),p);return m},l=s(e),a=s(t),h=s(n),d=new Map,b=new Set([...l.keys(),...a.keys(),...h.keys()]);for(let u of b){let m=zs(l.has(u)?l.get(u):yt,a.has(u)?a.get(u):yt,h.has(u)?h.get(u):yt,r);m!==yt&&d.set(u,m)}let f=[];for(let u of n){let m=i(u);d.has(m)&&f.push(m)}for(let u=0;u<t.length;u++){let m=i(t[u]);if(!d.has(m)||f.includes(m))continue;let p=0;for(let v=u-1;v>=0;v--){let A=f.indexOf(i(t[v]));if(A!==-1){p=A+1;break}}f.splice(p,0,m)}return f.map(u=>d.get(u))}function Vs(e,t,n,r={}){let o=r.keyCandidates?[...r.keyCandidates,...$s]:$s;return Us(e===void 0?yt:e,t,n,{keyCandidates:o})}function ki(e,t,n,r={}){let o=r.parse||bi,i=[],s=(b,f)=>{if(typeof b!="string")return yt;try{return o(b)}catch(u){return i.push(`${f} side is not valid JSON (${u.message})`),yt}},l=s(t,"local"),a=s(n,"remote");if(l===yt)return{text:n,warnings:i};if(a===yt)return{text:t,warnings:i};let h=s(e,"base"),d=Vs(h===yt?void 0:h,l,a,r);return Sn(d,a)?{text:n,warnings:i}:Sn(d,l)?{text:t,warnings:i}:{text:JSON.stringify(d,null,2),warnings:i}}var Le=e=>!!e&&e.nodeType===1,Au=new Set("P H1 H2 H3 H4 H5 H6 DIV LI DD DT BLOCKQUOTE FIGCAPTION SUMMARY ADDRESS".split(" ")),Ws=5e4;function yi(e,t,n,r){let o=r.ignored,i=_s({ignored:o,ignoreAttribute:r.ignoreAttribute}),{unitsOf:s,meta:l}=i,a=r.baseURI,h=r.mergeTags!==null,d=T=>D=>{if(h&&D.tagName==="SCRIPT"){let F=Xn(D,r.mergeTags);if(F)return"merge:"+F.key}return D.parentElement&&D.parentElement.tagName==="HEAD"?Hs(D,a):T(D)},b=d(r.identity.base),f=d(r.identity.local),u=d(r.identity.remote),m=r.authored||r.identity,p=T=>T&&T.nodeType===9?T.documentElement:T,v=p(e),A=p(t),M=p(n),L=globalThis.__hyperMorphProfile,H=L?performance.now():0,B="[id],[data-id],script,head>*",te=T=>T===In?B:null,re=so(v,b,o,te(r.identity.base)),K=r.localIsBase?Gs():oi(v,A,{analyzer:i,baseIndex:re,sideIndex:so(A,f,o,te(r.identity.local)),baseId:m.base,sideId:m.local}),W=oi(v,M,{analyzer:i,baseIndex:re,sideIndex:so(M,u,o,te(r.identity.remote)),baseId:m.base,sideId:m.remote});Ve(),Ke(K,W),Ke(W,K),L&&(L.alignTotal=(L.alignTotal||0)+(performance.now()-H),H=performance.now());let he=v.ownerDocument.implementation.createHTMLDocument(""),V=new WeakMap,xe=new WeakMap,We=[],at=[],Nt=new Set,xt=[],_e=new Set,dt=new Set,Ze=new Set,Rt=new WeakMap,nt=r.conflicts||"remote",Qe=T=>We.push(T),ct=T=>We.push(T),C=T=>at.push(T),G=Ce(),ye=y(v,K.map.get(v),W.map.get(v),!!r.localIsBase,!!r.childrenOnly);ye.tagName==="HTML"?he.replaceChild(ye,he.documentElement):he.body.appendChild(ye),L&&(L.build=(L.build||0)+(performance.now()-H));let se=r.childrenOnly?!Ge(ft(ye),ft(M)):!ht(ye,M);return{doc:he,root:ye,provenance:V,textMappers:xe,decisions:We,conflicts:at,localDiverged:se,mergedScripts:Nt,segments:xt,remoteIdOf:r.identity.remote,customIdentity:r.identity.remote!==In,L:K,R:W};function Ce(){let T=new Map,D=new Set;if(r.localIsBase||!K.insertedByHash)return{partner:T,drop:D};let F=K.insertedByHash(),z=W.insertedByHash();if(!F.size||!z.size)return{partner:T,drop:D};let q={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},U=pe=>{let Xe=0;for(let Ee=pe.parentNode;Ee;Ee=Ee.parentNode)Xe++;return Xe},Q=[],le=pe=>{let Xe=pe.textContent.trim();return Xe.split(/\s+/).length>=3||Xe.replace(/\s/g,"").length>=12},ke=pe=>{let Xe=K.map.get(pe),Ee=W.map.get(pe);return Xe&&K.reverse.get(Xe.parentNode)!==pe.parentNode||Ee&&W.reverse.get(Ee.parentNode)!==pe.parentNode},me=(pe,Xe,Ee)=>{for(let At of Ee.parentNode.children){let Mt=At!==Ee&&pe.reverse.get(At);if(Mt&&ke(Mt))return!0}let Dt=pe.reverse.get(Ee.parentNode);if(Dt){for(let At of Dt.children)if(!Xe.map.has(At)&&!o(At))return!0}return!1};for(let[pe,Xe]of F){let Ee=z.get(pe);if(!Ee)continue;let Dt=Xe.length===1&&Ee.length===1;for(let At of Xe)Dn(At,q)||Q.push([At,Ee,U(At),Dt&&(le(At)||me(K,W,At)||me(W,K,Ee[0]))])}if(!Q.length)return{partner:T,drop:D};Q.sort((pe,Xe)=>pe[2]-Xe[2]);let ve=new Set,Pe=new Set,je=pe=>{for(let Xe of pe.querySelectorAll("*"))ve.add(Xe)},wt=(pe,Xe)=>pe.reverse.get(Xe.parentNode)||null;for(let[pe,Xe,,Ee]of Q){if(ve.has(pe))continue;let Dt=wt(K,pe),At=gt=>!Pe.has(gt)&&!ve.has(gt)&>.tagName===pe.tagName,Mt=Xe.find(gt=>At(gt)&&Dt&&wt(W,gt)===Dt)||(Ee?Xe.find(At):null);Mt&&(Pe.add(Mt),je(pe),je(Mt),!(Dt&&wt(W,Mt)===Dt)&&(T.set(pe,Mt),T.set(Mt,pe),D.add(nt==="local"?Mt:pe)))}return{partner:T,drop:D}}function rt(T,D,F){if(_e.add(T),G.drop.has(T))return null;_e.add(F);let z=D==="local"?T:F,q=D==="local"?F:T,U;return i.unitHash(z)===i.unitHash(q)?(U=ce(z,"local",!0),V.get(U).remote=q):U=$(z,q),C({kind:"structure",el:U,detail:"both-moved",base:null,local:z,remote:q}),Qe({kind:"insert",el:U,source:"both"}),U}function Ve(){if(!K.weak||!W.weak||!K.weak.size||!W.weak.size||!K.unpair)return;let T=new Map;for(let F of K.weak){let z=K.map.get(F);Le(F)&&Le(z)&&T.set(i.unitHash(z),F)}let D=!1;for(let F of Array.from(W.weak)){let z=W.map.get(F);if(!Le(F)||!Le(z))continue;let q=T.get(i.unitHash(z));!q||q===F||!K.weak.has(q)||K.map.has(F)&&W.map.has(q)||K.map.get(q).tagName===z.tagName&&(K.unpair(q),W.unpair(F),D=!0)}D&&(K.rematch(),W.rematch())}function Ke(T,D){if(!T.weak||!T.weak.size||!D.insertedByHash)return;let F=D.insertedByHash();if(!F.size)return;let z=!1;for(let q of Array.from(T.weak)){let U=T.map.get(q);if(!U)continue;let Q=F.get(i.unitHash(U));Q&&Q.some(le=>le.tagName===U.tagName)&&(T.unpair(q),z=!0)}z&&T.rematch()}function et(T,D){if(T.map.has(D))return T.map.get(D);let F=[];for(let q=D.parentNode;q&&!T.map.has(q);q=q.parentNode)F.push(q);let z=F.length?F[F.length-1].parentNode:D.parentNode;if(!z||!T.identical.has(z))return null;T.pairIdenticalChildren(z);for(let q=F.length-1;q>=0;q--)T.pairIdenticalChildren(F[q]);return T.map.get(D)||null}function ut(T,D,F){if(dt.has(T)||Ze.has(T))return C({kind:"structure",el:null,detail:"both-moved",base:T}),dt.has(T)?null:ce(F,D);let z=et(K,T),q=et(W,T);(!z||!q)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:T});let U=y(T,z,q,!1);return(D==="local"?Qe:ct)({kind:"move",el:U,source:D}),U}function k(T,D,F,z){return z||!D||D===F?{el:F,asBase:!0,twin:q=>q,baseOf:q=>q,units:s(F),here:()=>!0,parentOfTwin:()=>F}:{el:D,asBase:!1,twin:q=>T.map.get(q),baseOf:q=>T.reverse.get(q),units:s(D),here:q=>Le(q)?q.parentNode===D||D.tagName==="TEMPLATE"&&q.parentNode===D.content:q.parent===D||D.tagName==="TEMPLATE"&&q.parent===D.content}}function g(T,D,F){return!D||F&&F.identical.has(T)?!1:Le(T)?l(T).hash!==l(D).hash:T.value!==D.value}function y(T,D,F,z,q=!1){let U=z||r.remoteWins(T),Q=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName),le={base:T,local:D||null,remote:F||null};if(V.set(Q,le),_e.add(T),dt.add(T),D&&_e.add(D),F&&_e.add(F),r.skipUnchanged&&!q&&(r.localIsBase||K.identical.has(T))&&F&&W.identical.has(T)&&!r.remoteWins(T)){le.unchanged=!0;for(let me of T.attributes)me.namespaceURI?Q.setAttributeNS(me.namespaceURI,me.name,me.value):Q.setAttribute(me.name,me.value);return Q}Ze.add(T),q||E(T,U?T:D,F,Q);let ke=T.tagName;if(Kt(T))_(T,U?T:D,F,Q);else if(ke==="TEXTAREA")Q.textContent=O(T.textContent,(U?T:D)?(U?T:D).textContent:T.textContent,F?F.textContent:T.textContent,Q,"text");else{let me=ge(T,D,F,U,Q),ve=ke==="TEMPLATE"&&Q.content?Q.content:Q;for(let Pe of me)ve.appendChild(Pe)}return Ze.delete(T),Q}function O(T,D,F,z,q){if(D===F)return D;if(D===T)return F!==T&&ct({kind:q,node:z,source:"remote"}),F;if(F===T)return Qe({kind:q,node:z,source:"local"}),D;let U=nt==="local"?D:F;return C({kind:q,node:z,base:T,local:D,remote:F,resolved:U}),We.push({kind:q,node:z,source:"both"}),U}function _(T,D,F,z){let q=T.textContent,U=D?D.textContent:q,Q=F?F.textContent:q,le=h?Xn(T,r.mergeTags,!0):null;if(le&&U!==Q){let ke=F&&F.getAttribute("merge-key")||T.getAttribute("merge-key"),{text:me,warnings:ve}=ki(r.localIsBase?void 0:q,U,Q,{parse:le.recognizer.parse,keyCandidates:ke?ke.split(/[\s,]+/).filter(Boolean):void 0});for(let Pe of ve)console.warn(`[hyper-morph] merge "${le.raw}": ${Pe}`);z.textContent=me,Nt.add(z),me!==Q?Qe({kind:"text",node:z,source:me===U?"local":"both"}):me!==q&&ct({kind:"text",node:z,source:"remote"});return}z.textContent=O(q,U,Q,z,"text")}function E(T,D,F,z){let q=new Map;for(let U of[T,D,F])if(U)for(let Q of U.attributes)r.ignoreAttribute(U,Q.name)||q.set(Q.name,Q);for(let[U,Q]of q){let le=T?T.getAttribute(U):null,ke=D?D.getAttribute(U):le,me=F?F.getAttribute(U):le,ve;ke===me?ve=ke:ke===le?(ve=me,ct({kind:"attr",el:z,name:U,source:"remote"})):me===le?(ve=ke,Qe({kind:"attr",el:z,name:U,source:"local"})):(ve=I(U,le,ke,me),ve===void 0&&(ve=nt==="local"?ke:me,C({kind:"attr",el:z,name:U,base:le,local:ke,remote:me,resolved:ve})),We.push({kind:"attr",el:z,name:U,source:"both"})),ve!=null&&(Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,ve):z.setAttribute(U,ve))}}function I(T,D,F,z){if(T==="class"){let q=me=>new Set((me||"").split(/\s+/).filter(Boolean)),U=q(D),Q=q(F),le=q(z),ke=new Set;for(let me of new Set([...U,...Q,...le])){let ve=U.has(me),Pe=Q.has(me),je=le.has(me);(Pe===je?Pe:Pe===ve?je:Pe)&&ke.add(me)}return[...ke].join(" ")}if(T==="style"){let q=ve=>{let Pe=new Map;if(!ve)return Pe;let je=0,wt=null,pe="",Xe=()=>{let Ee=pe.indexOf(":");Ee>0&&Pe.set(pe.slice(0,Ee).trim(),pe.slice(Ee+1).trim()),pe=""};for(let Ee of ve){if(wt){pe+=Ee,Ee===wt&&(wt=null);continue}if(Ee==='"'||Ee==="'"){wt=Ee,pe+=Ee;continue}if(Ee==="("?je++:Ee===")"&&je--,Ee===";"&&je===0){Xe();continue}pe+=Ee}return pe.trim()&&Xe(),Pe},U=q(D),Q=q(F),le=q(z),ke=new Map,me=!1;for(let ve of new Set([...U.keys(),...Q.keys(),...le.keys()])){let Pe=U.get(ve)??null,je=Q.get(ve)??null,wt=le.get(ve)??null,pe;je===wt?pe=je:je===Pe?pe=wt:wt===Pe?pe=je:(pe=nt==="local"?je:wt,me=!0),pe!=null&&ke.set(ve,pe)}return me?void 0:[...ke].map(([ve,Pe])=>`${ve}: ${Pe}`).join("; ")}}function N(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=Tr(q,U,Q,nt),ke=le.text===""?null:he.createTextNode(le.text);ke&&(V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),xe.set(ke,le.mapLocalOffset)),U!==q&&Q!==q?We.push({kind:"text",node:ke,source:"both"}):U!==q?Qe({kind:"text",node:ke,source:"local"}):Q!==q&&ct({kind:"text",node:ke,source:"remote"});for(let me of le.conflicts)C({kind:"text",node:ke,base:q.slice(me.bs,me.be),local:me.local,remote:me.remote,resolved:me.resolved});return ke}function j(T,D){return Er(T,D).every(F=>F.bs===F.be)}function J(T,D){let F=T?T.value:"",z=D?D.value:"",q;if(F===z||!z?q=F:F?j(F,z)?q=z:j(z,F)?q=F:(q=nt==="local"?F:nt==="both"?F+z:z,C({kind:"structure",el:null,detail:"insert-collision",local:F,remote:z,resolved:q})):q=z,T&&_e.add(T),D&&_e.add(D),q==="")return null;let U=he.createTextNode(q);return V.set(U,{base:null,local:T?T.nodes:null,remote:D?D.nodes:null}),F?Qe({kind:"insert",el:U,source:z&&F===z?"both":"local"}):ct({kind:"insert",el:U,source:"remote"}),U}function $(T,D){let F={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},z=le=>s(le).every(ke=>Le(ke)?Dn(ke,F):ke.kind==="text"),q=null;if(z(T)&&z(D)){let le=T.textContent,ke=D.textContent;le===ke||j(ke,le)?q=D:j(le,ke)&&(q=T)}if(!q){let le=nt==="local",ke=ce(le?T:D,le?"local":"remote",!0),me=V.get(ke);return le?me.remote=D:me.local=T,C({kind:"structure",el:ke,detail:"insert-collision",local:T,remote:D,resolved:le?T:D}),ke}let U=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);E(null,T,D,U),V.set(U,{base:null,local:T,remote:D}),_e.add(T),_e.add(D);let Q=pi({base:Array.from(q.childNodes),local:Array.from(T.childNodes),remote:Array.from(D.childNodes),out:he,policy:nt,idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:U});xt.push(...Q.segments);for(let le of Q.nodes)U.appendChild(le);return U}function ce(T,D,F=!1){if(!F&&Le(T)){let Q=G.partner.get(T);if(Q)return rt(T,D,Q)}if(!Le(T)){if(T.value==="")return null;let Q=T.kind==="comment"?he.createComment(T.value):he.createTextNode(T.value);return V.set(Q,{base:null,local:D==="local"?T.nodes:null,remote:D==="remote"?T.nodes:null}),_e.add(T),Q}let z=T.namespaceURI&&T.namespaceURI!=="http://www.w3.org/1999/xhtml"?he.createElementNS(T.namespaceURI,T.tagName):he.createElement(T.tagName);for(let Q of T.attributes)Q.namespaceURI?z.setAttributeNS(Q.namespaceURI,Q.name,Q.value):z.setAttribute(Q.name,Q.value);V.set(z,{base:null,local:D==="local"?T:null,remote:D==="remote"?T:null}),_e.add(T);let q=T.tagName==="TEMPLATE"&&z.content?z.content:z,U=D==="local"?K:W;for(let Q of s(T)){let le=Le(Q)?U.reverse.get(Q):null;if(le&&dt.has(le)){C({kind:"structure",el:null,detail:"both-moved",base:le});continue}if(le&&!Ze.has(le)){let me=K.map.get(le)||null,ve=W.map.get(le)||null;if(me||ve){let Pe=y(le,me,ve,!1);D==="local"?Qe({kind:"move",el:Pe,source:"local"}):ct({kind:"move",el:Pe,source:"remote"}),q.appendChild(Pe);continue}}let ke=ce(Q,D);ke&&q.appendChild(ke)}return z}function ge(T,D,F,z,q){D&&K.identical.has(T)&&K.pairIdenticalChildren(T),F&&W.identical.has(T)&&W.pairIdenticalChildren(T);let U=k(K,D,T,z),Q=k(W,F,T,!1),le=s(T),ke=new Set(le),me=new Map;for(let Y=0;Y<le.length;Y++)me.set(le[Y],Y);let ve=[],Pe=new Set,je=new Map,wt=new Set,pe=new Set,Xe=[];no();let Ee=Y=>{let Te=[];for(let be of Y.units){if(pe.has(be))continue;let Ne=Y.baseOf(be);Ne&&ke.has(Ne)&&Te.push(me.get(Ne))}return Te},Dt=Y=>Y.every((Te,be)=>be===0||Te>=Y[be-1]),At=!U.asBase&&!Dt(Ee(U)),Mt=!Q.asBase&&!Dt(Ee(Q));At&&Mt&&C({kind:"structure",el:null,detail:"both-reordered",base:T});let gt=Mt||!At?{V:Q,A:W,side:"remote",other:U,otherA:K,otherSide:"local"}:{V:U,A:K,side:"local",other:Q,otherA:W,otherSide:"remote"};At?Qe({kind:"move",el:null,source:Mt?"both":"local",base:T}):Mt&&ct({kind:"move",el:null,source:"remote",base:T});let xr=U.asBase?[]:U.units.filter(Y=>!U.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),vr=Q.asBase?[]:Q.units.filter(Y=>!Q.baseOf(Y)&&!pe.has(Y)&&!G.partner.has(Y)),hn=new Map;if(xr.length&&vr.length){let Y=new Map,Te=new Map;for(let ie of vr){if(Le(ie)){let oe=u(ie);oe&&Y.set(oe,ie)}let Se=i.unitHash(ie);Te.has(Se)||Te.set(Se,[]),Te.get(Se).push(ie)}let be=(ie,Se)=>{let oe=ie.units.indexOf(Se);for(let Re=oe-1;Re>=0;Re--){let Fe=ie.baseOf(ie.units[Re]);if(Fe)return Fe}return"start"},Ne=new Map,$e=new Map;for(let ie of vr){let Se=be(Q,ie);Le(ie)?($e.has(Se)||$e.set(Se,[]),$e.get(Se).push(ie)):ie.kind==="text"&&!Ne.has(Se)&&Ne.set(Se,ie)}for(let ie of xr){let Se=null;if(Le(ie)){let oe=f(ie);oe&&Y.has(oe)&&!hn.has(Y.get(oe))&&(Se=Y.get(oe))}else if(ie.kind==="text"){let oe=Ne.get(be(U,ie));oe&&!hn.has(oe)&&(Se=oe)}if(!Se){let oe=Te.get(i.unitHash(ie));oe&&(Se=oe.find(Re=>!hn.has(Re)&&Le(Re)===Le(ie)&&(Le(Re)?Re.tagName===ie.tagName:Re.kind===ie.kind))||null)}if(!Se&&Le(ie)){let oe=m.local(ie),Re=($e.get(be(U,ie))||[]).filter(Fe=>{let Pt=m.remote(Fe);return!hn.has(Fe)&&Fe.tagName===ie.tagName&&!(oe&&Pt&&oe!==Pt)&&i.similar(ie,Fe)});Re.length===1&&(Se=Re[0])}Se&&(hn.set(Se,ie),hn.set(ie,Se))}}let nn=Y=>{if(_e.has(Y))return je.get(Y)||null;let Te=U.twin(Y),be=Q.twin(Y),Ne=Te&&!U.asBase&&!U.here(Te),$e=be&&!Q.asBase&&!Q.here(be);if(Ne||$e){if((!Te||!be)&&C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),!Wt(Y))return _e.add(Y),null;C({kind:"structure",el:null,detail:"both-moved",base:Y})}if(!Te&&!be)return _e.add(Y),ct({kind:"remove",source:"both",base:Y}),null;if(!Te&&!g(Y,be,W))return _e.add(Y),Qe({kind:"remove",source:"local",base:Y}),null;if(!be&&!g(Y,Te,K))return _e.add(Y),ct({kind:"remove",source:"remote",base:Y}),null;let ie=!Te||!be,Se=U.asBase?K.map.get(Y)||null:Te,oe;return Le(Y)?oe=y(Y,Se,be,U.asBase):Y.kind==="comment"?oe=vt(Y,Se,be,U.asBase):oe=N(Y,Se,be,U.asBase),_e.add(Y),oe&&(je.set(Y,oe),Te&&je.set(Te,oe),be&&je.set(be,oe),ie&&(C({kind:"structure",el:oe,detail:"edit-beats-delete",base:Y}),Te?Qe({kind:"insert",el:oe,source:"local"}):ct({kind:"insert",el:oe,source:"remote"}))),oe},Un=(Y,Te,be,Ne)=>{if(_e.has(Y))return je.get(Y)||null;let $e=Te.baseOf(Y);if($e&&ke.has($e))return pe.has($e)&&!pe.has(Y)?Qr($e,Y,Ne):nn($e);if($e)return eo($e,Y,Ne);let ie=hn.get(Y);if(ie){let oe=Ne==="local"?Y:ie,Re=Ne==="local"?ie:Y,Fe;return Le(oe)?i.unitHash(oe)===i.unitHash(Re)?(Fe=ce(oe,"local"),V.get(Fe).remote=Re):Fe=$(oe,Re):Fe=J(oe,Re),_e.add(oe),_e.add(Re),Fe&&(je.set(oe,Fe),je.set(Re,Fe),Le(oe)&&Qe({kind:"insert",el:Fe,source:"both"})),Fe}let Se=ce(Y,Ne);return Se&&(je.set(Y,Se),Ne==="local"?Qe({kind:"insert",el:Se,source:"local"}):ct({kind:"insert",el:Se,source:"remote"})),Se},Qr=(Y,Te,be)=>{let Ne;return Le(Y)?(Ne=ut(Y,be,Te),Ne&&_e.add(Te)):(Ne=ce(Te,be),_e.add(Te),Ne&&(be==="local"?Qe:ct)({kind:"insert",el:Ne,source:be})),Ne&&je.set(Te,Ne),Ne},eo=(Y,Te,be)=>{let $e=(be==="local"?W:K).map.get(Y),ie=Te,Se=$e?Tt($e,be==="local"?F:D,be==="local"?W:K):!1,oe=$e&&!Se&&!Et(Y,$e);if(oe&&be===gt.otherSide)return C({kind:"structure",el:null,detail:"both-moved",base:Y}),null;if(oe&&C({kind:"structure",el:null,detail:"both-moved",base:Y}),$e||C({kind:"structure",el:null,detail:"move-beats-delete",base:Y}),Ze.has(Y)){C({kind:"structure",el:null,detail:"both-moved",base:Y});let Fe=ce(ie,be);return Fe&&je.set(Te,Fe),Fe}let Re=Le(Y)?y(Y,be==="local"?ie:K.map.get(Y)||null,be==="remote"?ie:W.map.get(Y)||null,!1):null;return Re&&(je.set(Y,Re),je.set(Te,Re),$e&&je.set($e,Re),be==="local"?Qe({kind:"move",el:Re,source:"local"}):ct({kind:"move",el:Re,source:"remote"})),Re};for(let Y of gt.V.units){if(pe.has(Y)){let be=je.get(Y);Pe.has(be)||(ve.push(be),Pe.add(be));continue}if(_e.has(Y)&&!(je.get(Y)&&Pe.has(je.get(Y)))){let be=gt.V.baseOf(Y);be&&!ke.has(be)&&C({kind:"structure",el:null,detail:"both-moved",base:be});continue}let Te=Un(Y,gt.V,gt.A,gt.side);Te&&!Pe.has(Te)&&(ve.push(Te),Pe.add(Te),!gt.V.baseOf(Y)&&!hn.has(Y)&&!pe.has(Y)&&wt.add(Te))}for(let Y of Xe)Pe.has(Y.frag)||(ve.splice(to(Y.at),0,Y.frag),Pe.add(Y.frag));if(!gt.other.asBase){let Y=gt.other,Te=gt.otherSide,be=gt.otherA,Ne=null,$e=0,ie=null;for(let Se of Y.units){let oe=je.get(Se);if(oe&&Pe.has(oe)){Ne=oe,ie=null;continue}if(_e.has(Se)){let Pt=Y.baseOf(Se);Pt&&!ke.has(Pt)&&C({kind:"structure",el:null,detail:"both-moved",base:Pt});continue}let Re=Un(Se,Y,be,Te);if(!Re)continue;let Fe;if(ie)Fe=ve.indexOf(ie)+1;else if(Ne){if(Fe=ve.indexOf(Ne)+1,Te==="remote")for(;Fe<ve.length&&wt.has(ve[Fe]);)Fe++}else Fe=$e++;ve.splice(Fe,0,Re),Pe.add(Re),ie=Re}}for(let Y=0;Y<le.length;Y++){let Te=le[Y];if(_e.has(Te))continue;let be=nn(Te);be&&ve.splice(to(Y),0,be)}return ve;function to(Y){for(let Te=Y-1;Te>=0;Te--){let be=je.get(le[Te]);if(be){let Ne=ve.indexOf(be);if(Ne>=0)return Ne+1}}return 0}function zn(Y){let Te={ignored:o,remoteWins:()=>!1},be=Z=>Y(Z)||Le(Z)&&r.remoteWins(Z)&&mn.has(Z.tagName)&&Dn(Z,Te),Ne=new Map,$e=Z=>{if(!Le(Z)||!Au.has(Z.tagName))return!1;let de=Ne.get(Z);return de===void 0&&(de=!o(Z)&&!r.remoteWins(Z)&&s(Z).every(be),Ne.set(Z,de)),de},ie=Z=>!Le(Z)&&Z.kind==="text",Se=null,oe=new Map,Re=Z=>{let de=oe.get(Z);if(de)return de;let we=Le(Z)?Z.textContent:Z.value;de=new Set;let Ie=we.toLowerCase();if(!(we.length>Ws))if(/^[\x00-\x7f]*$/.test(Ie))for(let Oe of Ie.split(/[^\p{L}\p{N}]+/u))Oe&&de.add(Oe);else for(let Oe of ci(Ie))/^[\s\p{P}]+$/u.test(Oe)||de.add(Oe);return oe.set(Z,de),de},Fe=Z=>(Le(Z)?Z.textContent:Z.value).toLowerCase().replace(/\s+/g," ").trim(),Pt=new Map,rn=Z=>{let de=Pt.get(Z);if(de)return de;de=new Set(Re(Z));let we=Oe=>{if(Oe)for(let Ye of Re(Oe))de.add(Ye)},Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z);return Ie&&(we(Ie),we(K.map.get(Ie)),we(W.map.get(Ie))),Pt.set(Z,de),de},pn=(Z,de)=>{let we=Fe(de),Ie=ke.has(Z)?Z:!U.asBase&&U.baseOf(Z)||!Q.asBase&&Q.baseOf(Z),Oe=mt=>we?mt.split(we).length-1:0;if(Ie&&Le(de)&&!ke.has(de)){let mt=Oe(Fe(Ie));for(let bt of[K.map.get(Ie),W.map.get(Ie)]){if(!bt||bt===de||bt.ownerDocument!==de.ownerDocument)continue;let Qt=Fe(bt);if(Qt.length>we.length&&Oe(Qt)>=mt&&(Qt.startsWith(we)||Qt.endsWith(we)))return!1}}let Ye=Re(de),ot=rn(Z),qt=0;for(let mt of Ye)ot.has(mt)&&qt++;if(Ye.size&&qt*2>=Ye.size)return!0;if(!we||we.length>Ws)return!1;let zt=Ie?[Z,Ie,K.map.get(Ie),W.map.get(Ie)]:[Z],Jt=(mt,bt)=>mt!==bt&&(mt.startsWith(bt)||mt.endsWith(bt));if(zt.some(mt=>mt&&Jt(Fe(mt),we)))return!0;if(!ke.has(de)||!Ie)return!1;let _t=Fe(Z),Zt=Fe(Ie);return[K.map.get(de),W.map.get(de)].some(mt=>{let bt=mt&&Fe(mt);return!!bt&&_t!==bt&&(_t.startsWith(bt)&&!Zt.startsWith(bt)||_t.endsWith(bt)&&!Zt.endsWith(bt))})},Ut=Z=>{Se||(Se=new Set),Se.add(Z)},wn=Z=>{Ut(Z);for(let[de,we]of[[K,U],[W,Q]]){if(we.asBase)continue;let Ie=de.map.get(Z);Ie&&we.here(Ie)&&Ut(Ie)}},De=(Z,de)=>Z.asBase||le.every(we=>!Le(we)||de.identical.has(we)&&Z.here(de.map.get(we)))&&Z.units.every(we=>!Le(we)||Z.baseOf(we));if(De(U,K)&&De(Q,W))return null;let Ue=Z=>{if(Z.asBase)return!1;let de=-1;for(let we of Z.units){let Ie=Le(we)?Z.baseOf(we):null;if(!Ie||!ke.has(Ie))continue;let Oe=me.get(Ie);if(Oe<de)return!0;de=Oe}return!1};if(Ue(U)||Ue(Q))return null;for(let[Z,de]of[[U,K],[Q,W]]){if(Z.asBase||De(Z,de))continue;let we=Z.units,Ie=de===K?m.local:m.remote,Oe=(fe,ze)=>{let st=Le(fe)&&m.base(fe),tt=Le(ze)&&Ie(ze);return!st||!tt||st===tt},Ye=new Map;for(let fe=0;fe<we.length;fe++)Ye.set(we[fe],fe);let ot=fe=>!!fe&&(Le(fe)?Z.here(fe):Ye.has(fe)),qt=fe=>{let ze=Z.twin(fe);return ot(ze)?ze:null},zt=le.filter(fe=>!Z.twin(fe)&&$e(fe)),Jt=we.filter(fe=>!Z.baseOf(fe)&&$e(fe)),_t=(fe,ze)=>ze===le?!!qt(fe):ke.has(Z.baseOf(fe)),Zt=fe=>{let ze=new Int32Array(fe.length),st=new Int32Array(fe.length),tt=-1;for(let Je=0;Je<fe.length;Je++)ze[Je]=tt,_t(fe[Je],fe)&&(tt=Je);tt=fe.length;for(let Je=fe.length-1;Je>=0;Je--)st[Je]=tt,_t(fe[Je],fe)&&(tt=Je);return{prev:ze,next:st}},mt=Zt(we),bt=Zt(le),Qt=(fe,ze)=>{wn(fe),Ut(ze)};for(let fe of Jt){let ze=Ye.get(fe),st=mt.prev[ze],tt=mt.next[ze],Je=st>=0?Z.baseOf(we[st]):null,an=tt<we.length?Z.baseOf(we[tt]):null,on=Je?me.get(Je):-1,An=an?me.get(an):le.length;for(let en=Math.max(0,on);en<=Math.min(An,le.length-1);en++){let $t=le[en];($e($t)||ie($t))&&(!Oe($t,fe)||!pn($t,fe)||(ie($t)?Ut(fe):Qt($t,fe)))}}let ln=(fe,ze,st)=>{for(let tt=ze+st;tt>=0&&tt<fe.length;tt+=st){let Je=fe[tt];if($e(Je))return Je;if(Le(Je)||Je.value.trim())return null}return null},ro=fe=>{let ze=new Set;for(let st of s(fe))if(!Le(st)&&st.kind==="text")for(let tt of Re(st))ze.add(tt);return ze},wr=(fe,ze)=>{let st=Re(ze),tt=new Set;for(let Je of ro(fe))st.has(Je)||tt.add(Je);return tt},Ar=(fe,ze)=>{if(!fe.size)return!1;let st=Re(ze),tt=0;for(let Je of fe)st.has(Je)&&tt++;return tt*2>=fe.size};for(let fe of le){if(de.identical.has(fe)||!$e(fe))continue;let ze=qt(fe);if(!ze||!$e(ze))continue;let st=wr(ze,fe),tt=wr(fe,ze);for(let Je of[-1,1]){let an=ln(le,me.get(fe),Je);an&&Ar(st,an)&&(Qt(fe,ze),wn(an));let on=ln(we,Ye.get(ze)??-1,Je);if(on&&Ar(tt,on)){Qt(fe,ze);let An=Z.baseOf(on);An?Qt(An,on):Ut(on)}}}for(let fe of zt){let ze=me.get(fe),st=bt.prev[ze],tt=bt.next[ze],Je=st>=0?qt(le[st]):null,an=tt<le.length?qt(le[tt]):null,on=Je?Ye.get(Je)??-1:-1,An=an?Ye.get(an)??-1:we.length;for(let en=Math.max(0,on);en<=Math.min(An,we.length-1);en++){let $t=we[en];if(($e($t)||ie($t))&&!(!Oe(fe,$t)||!pn($t,fe))&&(wn(fe),!ie($t))){let Yt=Z.baseOf($t);Yt?Qt(Yt,$t):Ut($t)}}}}if(!Se)return null;for(let Z of Array.from(Se))if(ke.has(Z))for(let de of[K,W]){let we=de.map.get(Z);we&&we.parentNode!==(de===K?D:F)&&!(de===K?U:Q).asBase&&Se.delete(Z)}return Se.size?Se:null}function no(){if((U.asBase||K.identical.has(T))&&(Q.asBase||W.identical.has(T)))return;let Y={ignored:o,remoteWins:r.remoteWins,inlineCache:Rt},Te=De=>Le(De)?Dn(De,Y):De.kind==="text",be=zn(Te),Ne=De=>be&&be.has(De)||Te(De),$e=le.map(Ne);if(!$e.includes(!0))return;let ie=De=>{let Ue=De.units,Z=new Map;for(let ot=0;ot<Ue.length;ot++)Z.set(Ue[ot],ot);let de=[],we=-1;for(let ot=0;ot<le.length;ot++){if($e[ot])continue;let qt=De.twin(le[ot]),zt=qt?Z.get(qt):void 0;zt===void 0||zt<=we||Ne(qt)||(de.push([ot,zt]),we=zt)}let Ie=[],Oe=-1,Ye=-1;for(let ot=0;ot<=de.length;ot++){let[qt,zt]=ot<de.length?de[ot]:[le.length,Ue.length],Jt={bLo:-1,bHi:-1,sLo:-1,sHi:-1,next:zt};for(let _t=Oe+1;_t<qt;_t++)$e[_t]&&(Jt.bLo<0&&(Jt.bLo=_t),Jt.bHi=_t);for(let _t=Ye+1;_t<zt;_t++)Ne(Ue[_t])&&(Jt.sLo<0&&(Jt.sLo=_t),Jt.sHi=_t);Ie.push(Jt),Oe=qt,Ye=zt}return{units:Ue,list:Ie}},Se=ie(U),oe=ie(Q),Re=[];for(let De of[Se,oe])for(let Ue of De.list)Ue.bLo>=0&&Re.push([Ue.bLo,Ue.bHi]);Re.sort((De,Ue)=>De[0]-Ue[0]);let Fe=[];for(let[De,Ue]of Re){let Z=Fe[Fe.length-1];Z&&De<=Z.hi?Z.hi=Math.max(Z.hi,Ue):Fe.push({lo:De,hi:Ue})}let Pt=(De,Ue)=>{let Z=-1,de=-1;for(let Oe=0;Oe<De.list.length;Oe++){let Ye=De.list[Oe];Ye.bLo<Ue.lo||Ye.bLo>Ue.hi||(Z<0&&(Z=Oe),de=Oe)}let we=1/0,Ie=-1;for(let Oe=Z;Oe>=0&&Oe<=de;Oe++){let Ye=De.list[Oe];Ye.sLo>=0&&(we=Math.min(we,Ye.sLo),Ie=Math.max(Ie,Ye.sHi)),Oe<de&&(we=Math.min(we,Ye.next),Ie=Math.max(Ie,Ye.next))}return Ie<0?[]:De.units.slice(we,Ie+1)},rn=(De,Ue)=>De.length===Ue.length&&De.every((Z,de)=>i.unitHash(Z)===i.unitHash(Ue[de])),pn=De=>!Le(De)&&De.kind==="comment",Ut=De=>{if(!De.length)return[];let Ue=(Oe,Ye)=>Le(Oe)?Oe:Oe.nodes[Ye?Oe.nodes.length-1:0],Z=Ue(De[0]),de=Ue(De[De.length-1],!0),we=Oe=>Oe&&Le(Oe)&&o(Oe);for(;we(Z.previousSibling);)Z=Z.previousSibling;for(;we(de.nextSibling);)de=de.nextSibling;let Ie=[];for(let Oe=Z;Oe&&(Ie.push(Oe),Oe!==de);Oe=Oe.nextSibling);return Ie},wn=De=>De.some(Ue=>Le(Ue)&&o(Ue));for(let De of Fe){let Ue=le.slice(De.lo,De.hi+1),Z=U.asBase?null:Pt(Se,De),de=Q.asBase?null:Pt(oe,De);if(Ue.some(pn)||Z&&Z.some(pn)||de&&de.some(pn))continue;let we=Ut(Z||Ue),Ie=Ut(de||Ue);if((!Z||rn(Ue,Z))&&(!de||rn(Ue,de))&&!(Z&&wn(we)))continue;let Oe=pi({base:Ut(Ue),local:we,remote:Ie,out:he,policy:nt,blocks:be,L:Z?K:Ks(K,T),R:de?W:Ks(W,T),idOf:{local:f,remote:u},ignored:o,ignoreAttribute:r.ignoreAttribute,remoteWins:r.remoteWins,mergeElement:(ot,qt,zt)=>y(ot,qt,zt,!1),cloneUnit:ce,mergeAttrs:E,atomKey:i.unitHash,moveIn:ut,provenance:V,textMappers:xe,conflicts:at,decisions:We,node:q});xt.push(...Oe.segments);let Ye=he.createDocumentFragment();for(let ot of Oe.nodes)Ye.appendChild(ot);for(let ot of[...Ue,...Z||[],...de||[]])_e.add(ot),pe.add(ot),je.set(ot,Ye);Xe.push({frag:Ye,at:De.lo})}}}function ht(T,D){let F=V.get(T);return F&&F.unchanged?!0:T.tagName!==D.tagName||!ue(T,D)?!1:Ge(ft(T),ft(D))}function ft(T){return T.tagName==="TEMPLATE"&&T.content?T.content:T}function ue(T,D){let F=0;for(let z of T.attributes)if(!r.ignoreAttribute(T,z.name)&&(F++,D.getAttribute(z.name)!==z.value))return!1;for(let z of D.attributes)r.ignoreAttribute(D,z.name)||F--;return F===0}function Ge(T,D){let F=Ft(T,q=>{let U=V.get(q);return!!(U&&U.pinned)}),z=Ft(D,o);if(F.length!==z.length)return!1;for(let q=0;q<F.length;q++){let U=F[q],Q=z[q];if(typeof U=="string"||typeof Q=="string"){if(U!==Q)return!1}else{if(U.nodeType!==Q.nodeType)return!1;if(U.nodeType===1){if(!ht(U,Q))return!1}else if(U.nodeValue!==Q.nodeValue)return!1}}return!0}function Ft(T,D){let F=[],z=null;for(let q=T.firstChild;q;q=q.nextSibling){if(q.nodeType===3){z=z===null?q.nodeValue:z+q.nodeValue;continue}q.nodeType===1&&D(q)||(z!==null&&(z!==""&&F.push(z),z=null),F.push(q))}return z!==null&&z!==""&&F.push(z),F}function vt(T,D,F,z){let q=T.value,U=z?q:D?D.value:"",Q=F?F.value:"";_e.add(T),D&&_e.add(D),F&&_e.add(F);let le=U===Q?U:U===q?Q:Q===q||nt==="local"?U:Q;if(U!==q&&Q!==q&&U!==Q&&C({kind:"text",node:null,base:q,local:U,remote:Q,resolved:le}),!D&&!F)return null;let ke=he.createComment(le);return V.set(ke,{base:T.nodes,local:D?D.nodes:null,remote:F?F.nodes:null}),ke}function Ht(T,D){let F=D.map.get(T);if(!F)return null;let z=Le(F)?F.parentNode:F.parent,q=Le(T)?T.parentNode:T.parent;return D.map.get(q)===z?null:D.reverse.get(z)||null}function Wt(T){let D=new Set([T]),F=T;for(let z=0;z<64;z++){let q=Ht(F,K)||Ht(F,W);if(!q)return!1;if(q===T||Le(T)&&Le(q)&&T.contains(q)||D.has(q))return!0;D.add(q),F=q}return!0}function Tt(T,D,F){if(!D)return!1;let z=Le(T)?T.parentNode:T.parent;return z===D||D.tagName==="TEMPLATE"&&z===D.content}function Et(T,D){let F=Le(T)?T.parentNode:T.parent,z=Le(D)?D.parentNode:D.parent;return!!(K.map.get(F)===z?K:W.map.get(F)===z?W:null)}}function Ks(e,t){return e.map.get(t)?Gs():{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 Gs(){let e={get:t=>t,has:()=>!0};return{map:e,reverse:e,moved:new Set,identical:{has:()=>!0},pairIdenticalChildren:()=>{}}}var Ys=new Set(["INPUT","OPTION","TEXTAREA"]);function Xs(e,t,n,r){let o=e.ownerDocument,{provenance:i,textMappers:s}=n,l=r.hooks,a=[],h=[],d=[],b=new Set,f=[],u=[],m=new Set,p=new Map,v=k=>!!k&&(k===e||e.contains(k)||e.nodeType===1&&e.tagName==="TEMPLATE"&&e.content.contains(k)),A=new Map,M=new Map,L=new Map,H=new Map;(function k(g){let y=i.get(g);if(y){if(g.nodeType===1){let _=y.local?r.toLive(y.local):null;_&&v(_)&&_.nodeType===1&&(A.set(g,_),M.set(_,g))}else if(Array.isArray(y.local)){let _=K(y.local,y.local.map(E=>r.toLive(E)).filter(E=>E&&v(E)&&E.nodeType===g.nodeType));if(_.length&&(A.set(g,_[0]),M.set(_[0],g),L.set(g,_)),Array.isArray(y.caret))for(let E of y.caret){let I=r.toLive(E.node);if(!I||!v(I)||I.nodeType!==3)continue;let N=H.get(I);Array.isArray(N)||H.set(I,N=[]),N.push({merged:g,from:E.from,to:E.to,flatStart:E.flatStart})}else{let E=0;for(let I of _)H.set(I,{merged:g,shift:E}),E+=I.nodeValue.length}}}let O=g.nodeType===1&&g.tagName==="TEMPLATE"&&g.content?g.content.childNodes:g.childNodes;for(let _ of O)k(_)})(t);let B=new Set;for(let k of A.values())B.add(k);for(let k of L.values())for(let g of k)B.add(g);for(let k of n.segments||[])W(k);let te=r.restoreFocus===!1?null:Su(o,H);r.childrenOnly?We(he(e),he(t)):V(e,t);for(let{node:k,parent:g}of f)b.has(k)||!k.parentNode||k.nodeType===1&&(r.ignored(k)||at(k))||ct(k,g);return Tu(o,te,H,s,L,p),{applied:a,moved:h,replaced:d,identities:u,mergedScriptsLive:m,liveOf:A};function re(k,g){let y=k.slice(g.bs,g.be),O=0;for(;O<y.length&&O<g.text.length&&y[O]===g.text[O];)O++;let _=0;for(;_<y.length-O&&_<g.text.length-O&&y[y.length-1-_]===g.text[g.text.length-1-_];)_++;return{bs:g.bs+O,be:g.be-_,text:g.text.slice(O,g.text.length-_)}}function K(k,g){if(!g.length)return g;let y=new Set;for(let _ of k){let E=_.parentNode;if(E)for(let I=E.firstChild;I;I=I.nextSibling)I.nodeType===3&&y.add(r.toLive(I))}let O=[];for(let _ of g){O.push(_);for(let E=_.nextSibling;E&&E.nodeType===3&&!y.has(E)&&!O.includes(E);E=E.nextSibling)O.push(E)}return O}function W(k){let g=[];for(let ue of k.localNodes){let Ge=r.toLive(ue.node);if(!Ge||!v(Ge)||Ge.nodeType!==3)return;g.push(Ge)}let y=K(k.localNodes.map(ue=>ue.node),g);if(!y.length)return;let O=y.map(ue=>ue.nodeValue).join(""),{flatLocal:_,lToM:E,mapLocal:I}=k;if(O===_)return;let N=k.textNodes.map(ue=>({node:ue.node,ms:ue.ms,me:ue.me})),j=[],J=0;for(let ue of y)j.push(J),J+=ue.nodeValue.length;let $=(ue,Ge)=>y.find((Ft,vt)=>j[vt]<=ue&&ue+Ge<=j[vt]+Ft.nodeValue.length)||null,ce=[],ge=0;for(let ue of Er(_,O).map(Ge=>re(_,Ge))){let Ge=ue.bs+ge;ge+=ue.text.length-(ue.be-ue.bs);let Ft,vt;if(ue.be>ue.bs){Ft=E[ue.bs];let Ht=Ft>=0;for(let Wt=ue.bs;Ht&&Wt<ue.be;Wt++)E[Wt]!==Ft+(Wt-ue.bs)&&(Ht=!1);if(!Ht)continue;vt=Ft+(ue.be-ue.bs)}else{let Ht=ue.bs>0?E[ue.bs-1]:0,Wt=ue.bs<_.length?E[ue.bs]:0;if(Ht<0||Wt<0)continue;Ft=vt=I(ue.bs)}ce.push({ms:Ft,me:vt,text:ue.text,live:vt===Ft?$(Ge,ue.text.length):null})}ce.sort((ue,Ge)=>Ge.ms-ue.ms);let ht=(ue,Ge)=>(L.get(ue.node)||[A.get(ue.node)]).includes(Ge),ft=ue=>!!ue&&ue.nodeType===1&&mn.has(ue.tagName);for(let ue of ce){let Ge=N.find(vt=>vt.ms<=ue.ms&&ue.me<=vt.me&&ue.ms<vt.me);if(Ge&&ue.live&&Ge.ms===ue.ms&&!ht(Ge,ue.live)){let vt=N.find(Ht=>Ht.me===ue.ms&&ht(Ht,ue.live));vt&&(Ge=vt)}if(!Ge&&ue.me===ue.ms){let vt=N.find(Et=>Et.me===ue.ms),Ht=N.find(Et=>Et.ms===ue.ms),Wt=vt||Ht;if(!Wt)continue;let Tt=Wt.node;for(;ft(Tt.parentNode)&&(vt?Tt.parentNode.lastChild:Tt.parentNode.firstChild)===Tt;)Tt=Tt.parentNode;if(Tt===Wt.node)Ge=Wt;else{let Et=Tt.ownerDocument.createTextNode(ue.text);Tt.parentNode.insertBefore(Et,vt?Tt.nextSibling:Tt);continue}}if(!Ge)continue;let Ft=Ge.node.nodeValue;Ge.node.nodeValue=Ft.slice(0,ue.ms-Ge.ms)+ue.text+Ft.slice(ue.me-Ge.ms),Ge.me+=ue.text.length-(ue.me-ue.ms)}}function he(k){return k.nodeType===1&&k.tagName==="TEMPLATE"&&k.content?k.content:k}function V(k,g){b.add(k);let y=i.get(g);if(y&&y.remote&&n.remoteIdOf){let _=n.remoteIdOf(y.remote);_&&u.push([k,_])}if(y&&y.unchanged){n.customIdentity&&y.remote&&dt(k,y.remote),y.remote&&_e(k,y.remote);return}if(l.beforeNodeMorphed(k,g)===!1)return;ye(k,g);let O=k.tagName;if(Kt(k))k.textContent!==g.textContent&&(a.push({kind:"text",node:k,before:k.textContent,after:g.textContent}),k.textContent=g.textContent),n.mergedScripts.has(g)&&m.add(k);else if(O==="TEXTAREA")ut(k,g,y);else{Ke(k,g,y);let _=O==="TEMPLATE"&&k.content?k.content:k,E=O==="TEMPLATE"&&g.content?g.content:g;r.protectFocusedValue==="subtree"&&Ce(k)&&k!==o.body?xe(_):We(_,E)}l.afterNodeMorphed(k,g)}function xe(k){for(let g=k.firstChild;g;g=g.nextSibling){let y=M.get(g);y&&A.get(y.parentNode)!==k||(b.add(g),g.nodeType===1&&xe(g))}}function We(k,g){let y=nt(k.firstChild),O=new Set;for(let _ of Array.from(g.childNodes)){let E=A.get(_);E&&b.has(E)&&!O.has(E)&&(E=null);let I=i.get(_);if(I&&I.pinned){E&&E.nodeType===1&&((E.parentNode!==k||nt(E.nextSibling)!==y)&&Qe(k,E,y),b.add(E),O.add(E));continue}if(E&&E.nodeType===1){if(E!==y){let J=E.parentNode;if(J===k&&y&&rt(E)){let $=E.nextSibling;for(let ce=y;ce&&ce!==E;){let ge=ce.nextSibling;Qe(k,ce,$),ce=ge}}else Qe(k,E,y),J!==k&&(h.push(E),a.push({kind:"move",el:E,from:J,to:k}))}O.add(E),V(E,_),y=nt(E.nextSibling);continue}if(E&&E.nodeType!==1){let J=L.get(_)||[E];E!==y&&Qe(k,E,y);let $=_.nodeValue;if(_.nodeType===3){let ce=Nt(_),ge=J.map(ht=>ht.nodeValue).join("");ce!=null&&ge!==ce&&($=Tr(ce,ge,_.nodeValue).text)}l.beforeNodeMorphed(E,_)!==!1&&(E.nodeValue!==$&&(a.push({kind:"text",node:E,before:E.nodeValue,after:$}),E.nodeValue=$),l.afterNodeMorphed(E,_)),b.add(E),O.add(E),p.set(_,E),y=nt(E.nextSibling);continue}if(_.nodeType===3&&y&&y.nodeType===3&&!b.has(y)&&!H.has(y)){y.nodeValue!==_.nodeValue&&(a.push({kind:"text",node:y,before:y.nodeValue,after:_.nodeValue}),y.nodeValue=_.nodeValue),b.add(y),p.set(_,y),y=nt(y.nextSibling);continue}let N=i.get(_),j=C(N&&N.unchanged&&N.remote?N.remote:_);l.beforeNodeAdded(j)!==!1&&(k.insertBefore(j,y),b.add(j),j.nodeType===3&&p.set(_,j),j.nodeType===1&&(d.push(j),Rt(j,_),Kt(j)||G(j,_),r.formState==="property"&&Ve(N)&&_e(j,N.remote)),y=nt(j.nextSibling),a.push({kind:"insert",node:j,parent:k}),l.afterNodeAdded(j))}for(let _ of Array.from(k.childNodes))b.has(_)||O.has(_)||_.nodeType===1&&(r.ignored(_)||at(_))||(B.has(_)?f.push({node:_,parent:k}):ct(_,k))}function at(k){return r.preserve&&k.parentNode&&k.parentNode.nodeType===1&&k.parentNode.tagName==="HEAD"&&r.preserve(k)===!0}function Nt(k){let g=i.get(k);return!g||!Array.isArray(g.local)?null:g.local.map(y=>y.nodeValue).join("")}function xt(k){return i.get(k)}function _e(k,g){if(!Ys.has(k.tagName)&&!k.querySelector("input,option,textarea"))return;let y=(O,_)=>{if(O.tagName!==_.tagName)return;O.tagName==="TEXTAREA"?ut(O,_,{remote:_}):Ys.has(O.tagName)&&Ke(O,_,{remote:_});let E=Ze(O),I=Ze(_);if(E.length===I.length)for(let N=0;N<E.length;N++)y(E[N],I[N])};y(k,g)}function dt(k,g){let y=Ze(k),O=Ze(g);if(y.length===O.length)for(let _=0;_<y.length;_++){let E=n.remoteIdOf(O[_]);E&&u.push([y[_],E]),dt(y[_],O[_])}}function Ze(k){let g=k.tagName==="TEMPLATE"&&k.content?k.content:k;return Array.from(g.children).filter(y=>!r.ignored(y))}function Rt(k,g){if(!n.remoteIdOf)return;let y=(O,_)=>{let E=i.get(_);if(E&&E.remote&&_.nodeType===1){let j=n.remoteIdOf(E.remote);j&&u.push([O,j])}let I=O.childNodes,N=_.childNodes;for(let j=0;j<I.length&&j<N.length;j++)y(I[j],N[j])};y(k,g)}function nt(k){for(;k&&k.nodeType===1&&r.ignored(k);)k=k.nextSibling;return k}function Qe(k,g,y){if(typeof k.moveBefore=="function"&&g.ownerDocument===k.ownerDocument)try{k.moveBefore(g,y);return}catch{}k.insertBefore(g,y)}function ct(k,g){l.beforeNodeRemoved(k)!==!1&&(k.parentNode.removeChild(k),a.push({kind:"remove",node:k,parent:g}),l.afterNodeRemoved(k))}function C(k){if(Kt(k))return Cr(k,o);let g=o.importNode(k,!0);if(g.nodeType===1)for(let y of Array.from(g.querySelectorAll("script")))Kt(y)&&y.replaceWith(Cr(y,o));return g}function G(k,g){let y=k.tagName==="TEMPLATE"&&k.content?k.content:k,O=g.tagName==="TEMPLATE"&&g.content?g.content:g,_=Array.from(y.childNodes),E=Array.from(O.childNodes);for(let I=0;I<E.length&&I<_.length;I++){let N=E[I],j=_[I],J=A.get(N);J&&b.has(J)&&(J=null);let $=i.get(N);if($&&$.pinned){if(J&&J.nodeType===1){let ce=J.parentNode;Qe(y,J,j),ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),b.add(J)}j.remove();continue}if(J){let ce=J.parentNode;Qe(y,J,j),j.remove(),J.nodeType===1?(ce!==y&&(h.push(J),a.push({kind:"move",el:J,from:ce,to:y})),V(J,N)):(b.add(J),p.set(N,J),J.nodeValue!==N.nodeValue&&(a.push({kind:"text",node:J,before:J.nodeValue,after:N.nodeValue}),J.nodeValue=N.nodeValue));continue}b.add(j),j.nodeType===3&&p.set(N,j),N.nodeType===1&&!Kt(N)&&G(j,N)}}function ye(k,g){for(let y of Array.from(g.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name))continue;let O=y.namespaceURI?k.getAttributeNS(y.namespaceURI,y.localName):k.getAttribute(y.name);O!==y.value&&l.beforeAttributeUpdated(y.name,k,"update")!==!1&&(y.namespaceURI?k.setAttributeNS(y.namespaceURI,y.name,y.value):k.setAttribute(y.name,y.value),a.push({kind:"attr",el:k,name:y.name,before:O,after:y.value}))}for(let y of Array.from(k.attributes)){if(se(k,y.name)||r.ignoreAttribute(k,y.name)||(y.namespaceURI?g.hasAttributeNS(y.namespaceURI,y.localName):g.hasAttribute(y.name))||l.beforeAttributeUpdated(y.name,k,"remove")===!1)continue;let _=y.value;y.namespaceURI?k.removeAttributeNS(y.namespaceURI,y.localName):k.removeAttribute(y.name),a.push({kind:"attr",el:k,name:y.name,before:_,after:null})}}function se(k,g){let y=k.tagName;return y==="INPUT"?g==="value"||g==="checked"||g==="disabled":y==="OPTION"?g==="selected":!1}function Ce(k){return k===o.activeElement}function rt(k){let g=o.activeElement;return!!g&&g!==o.body&&k.contains(g)}function Ve(k){let g=k&&k.remote;return g&&g.nodeType===1?g:null}function Ke(k,g,y){let O=k.tagName,_=Ve(y),E=r.formState==="property"&&_?_:g;if(O==="INPUT"){let I=r.protectFocusedValue&&Ce(k),N=(k.getAttribute("type")||"").toLowerCase(),j=N!=="file"&&N!=="checkbox"&&N!=="radio",J=_&&_.hasAttribute("value")&&_.value!==_.getAttribute("value")?_.value:null;if(j&&!I)if(r.formState==="property"){let $=g.getAttribute("value"),ce=k.getAttribute("value");(ce!==$||k.value!==E.value)&&l.beforeAttributeUpdated("value",k,$==null?"remove":"update")!==!1&&(ce!==$&&($==null?k.removeAttribute("value"):k.setAttribute("value",$),a.push({kind:"attr",el:k,name:"value",before:ce,after:$})),k.value!==E.value&&(k.value=E.value))}else if(g.hasAttribute("value")||J!=null){let $=J??g.getAttribute("value");k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1?(k.setAttribute("value",$),k.value!==$&&(k.value=$),a.push({kind:"attr",el:k,name:"value",before:null,after:$})):k.value!==$&&k.getAttribute("value")===$&&(k.value=$)}else(k.hasAttribute("value")||k.value!=="")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&(k.removeAttribute("value"),k.value="",a.push({kind:"attr",el:k,name:"value",before:"",after:null}));if(!j&&N!=="file"){let $=g.getAttribute("value");$==null?k.hasAttribute("value")&&l.beforeAttributeUpdated("value",k,"remove")!==!1&&k.removeAttribute("value"):k.getAttribute("value")!==$&&l.beforeAttributeUpdated("value",k,"update")!==!1&&k.setAttribute("value",$)}I||(et(k,E,"checked"),r.formState==="property"&&k.indeterminate!==E.indeterminate&&(k.indeterminate=E.indeterminate)),et(k,E,"disabled")}else if(O==="OPTION"){let I=k.parentNode&&k.closest("select");r.protectFocusedValue&&I&&Ce(I)||et(k,E,"selected")}}function et(k,g,y){let O=r.formState==="property"?!!g[y]:g.hasAttribute(y);if(r.formState!=="property"){let _=k.hasAttribute(y);if(_!==O){if(l.beforeAttributeUpdated(y,k,O?"update":"remove")===!1)return;O?k.setAttribute(y,""):k.removeAttribute(y),a.push({kind:"attr",el:k,name:y,before:_?"":null,after:O?"":null})}}k[y]!==O&&(k[y]=O)}function ut(k,g,y){if(r.protectFocusedValue&&Ce(k)||l.beforeAttributeUpdated("value",k,"update")===!1)return;let O=Ve(y),_=g.textContent,E=O&&O.value!==O.defaultValue?O.value:_;r.formState!=="property"&&k.textContent!==_&&(a.push({kind:"text",node:k,before:k.textContent,after:_}),k.textContent=_),k.value!==E&&(k.value=E)}}function Su(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 i=o.getRangeAt(0);r.range={sc:i.startContainer,so:i.startOffset,ec:i.endContainer,eo:i.endOffset}}return r}function Tu(e,t,n,r,o,i){if(!t)return;let s=t.el;if(!s.isConnected&&t.id&&(s=e.getElementById(t.id)),!s||!s.isConnected)return;if(e.activeElement!==s)try{s.focus({preventScroll:!0})}catch{}try{s.scrollTop=t.scrollTop,s.scrollLeft=t.scrollLeft}catch{}if(t.selection){try{s.setSelectionRange&&!s.selectionEnd&&t.selection[1]!=null&&s.setSelectionRange(t.selection[0],t.selection[1],t.selection[2]||"none")}catch{}return}if(!t.range)return;let l=(d,b)=>{let f=n.get(d);if(Array.isArray(f)){let u=f.find(A=>b>=A.from&&b<A.to)||f.find(A=>b===A.to)||f[f.length-1],m=i.get(u.merged);if(!m||!m.isConnected)return null;let p=r.get(u.merged),v=p&&p.flat?p.flat(u.flatStart+b):b;return[m,Math.max(0,Math.min(v,m.nodeValue.length))]}if(f){let u=(o.get(f.merged)||[d])[0];if(!u.isConnected)return null;let m=r.get(f.merged),p=f.shift+b,v=m?m(p):p;return[u,Math.max(0,Math.min(v,u.nodeValue.length))]}return d.isConnected?[d,Math.min(b,d.nodeType===3?d.nodeValue.length:d.childNodes.length)]:null},a=l(t.range.sc,t.range.so),h=l(t.range.ec,t.range.eo);if(!(!a||!h))try{let d=e.createRange();d.setStart(a[0],a[1]),d.setEnd(h[0],h[1]);let b=e.getSelection();b.removeAllRanges(),b.addRange(d)}catch{}}var jm=Symbol("hyper-morph-duplicate-key");var Eu='[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"]',_u='[editor-ui],[clay~="editor-ui"],[no-undo],[clay~="no-undo"]',Cu='[no-undo]:not([editor-ui]):not([clay~="editor-ui"]),[clay~="no-undo"]:not([editor-ui]):not([clay~="editor-ui"])';function Ou(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 Nu(e,t,n,r){if(t==null)return;if(typeof t=="string")return t;let o=t;if(o.nodeType===9){let i=e.getAttribute("id");o=i&&o.getElementById(i)||(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=Ru(e,t,r)),!!o)return n?Array.from(o.childNodes):o}function Ru(e,t,n){let r=t.nodeType===9?t.documentElement:t;if(!r||r.nodeType!==1)return null;let o=new Map,i=[r,...r.querySelectorAll("script")];for(let a of i){let h=Xn(a,n);h&&!o.has(h.key)&&o.set(h.key,a.textContent)}if(!o.size)return null;let s=e.cloneNode(!0),l=!1;for(let a of[s,...s.querySelectorAll("script")]){let h=Xn(a,n);h&&o.has(h.key)&&(a.textContent=o.get(h.key),l=!0)}return l?s:null}function Js(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 i of o)n.body.appendChild(n.adoptNode(i));return n}function Tn(e,t,n={}){let r=n||{};if(!r.head?.block)return Zs(e,t,r);try{return Zs(e,t,r)}catch(o){return Promise.reject(o)}}function Zs(e,t,n){let r=n.policy||"sync",o=r==="raw"?void 0:(a,h)=>Ou(a)||(r==="history"?!(h&&a.matches(Cu))&&a.matches(_u):a.matches(Eu)),i=n.callbacks||{},s={ignore:o,hooks:i,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"&&(s.identity={base:n.key,local:n.key,remote:n.key}),e&&e.nodeType===9)return Nr(Object.assign({},s,{live:e,base:n.scripts?.mergeBase||null,remote:Js(t,e)}));if(e.tagName==="HTML"&&e.parentNode&&e.parentNode.nodeType===9){let a=Object.assign({},s,{live:e.ownerDocument,base:n.scripts?.mergeBase||null,remote:Js(t,e.ownerDocument)});return Nr(a)}n.morphStyle==="innerHTML"&&(s.children=!0);let l=Nu(e,n.scripts?.mergeBase,!!s.children,s.scripts.mergeTags);return l!==void 0&&(s.base=l),xi(e,t,s)}var Mu=new Set(["live","base","remote","local","identity","ignore","remoteWins","ignoreAttribute","conflicts","protectFocusedValue","restoreFocus","head","scripts","formState","children","hooks","beforeApply"]),un=()=>{};function Rr(e,t=[]){if(!e||typeof e!="object")throw new TypeError("options object required");for(let s of Object.keys(e))if(!Mu.has(s))throw new TypeError(`unknown option "${s}"`);let n=Object.assign({beforeNodeAdded:un,afterNodeAdded:un,beforeNodeRemoved:un,afterNodeRemoved:un,beforeNodeMorphed:un,afterNodeMorphed:un,beforeAttributeUpdated:un},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 i=e.protectFocusedValue;if(i!==void 0&&typeof i!="boolean"&&i!=="subtree")throw new TypeError('protectFocusedValue must be a boolean or "subtree"');return{ignored:ni(e.ignore,t),remoteWins:ni(e.remoteWins,t),ignoreAttribute:typeof e.ignoreAttribute=="function"?e.ignoreAttribute:()=>!1,conflicts:r,protectFocusedValue:i===void 0?!0:i,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}}function Zn(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 In}function Qn(e,t){if(typeof e=="function")return e;if(e&&typeof e=="object"&&e.map){let n=ri(t,e.map),r=typeof e.then=="function"?e.then:In;if(typeof e.first=="function"){let o=e.first;return i=>o(i)||n.get(i)||r(i)}return o=>n.get(o)||r(o)}return In}function Lu(e,t,n,r={}){let o=b=>b&&b.nodeType===9?b.documentElement:b,i=o(t),s=o(n),l=o(e)||i,a=Object.assign({},r);delete a.live,delete a.base,delete a.remote;let h=Rr(a,[l,i,s].filter(Boolean)),d=r.identity||{};return yi(l,i,s,{identity:{base:Qn(d.base,l),local:Qn(d.local,i),remote:Qn(d.remote,s)},authored:{base:Zn(d.base),local:Zn(d.local),remote:Zn(d.remote)},skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un,ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:i.ownerDocument&&i.ownerDocument.baseURI||"about:blank",localIsBase:!e||e===t,childrenOnly:h.children})}function vi({liveRoot:e,baseRoot:t,localRoot:n,remoteRoot:r,toLive:o,options:i,identity:s,childrenOnly:l,isDocument:a}){let h=Rr(i,[e,t,n,r].filter(Boolean));if(h.ignored(e))return{report:wi(),loads:[]};let d=e.ownerDocument,b=h.scripts.execute?qs(e,h.ignored,d.baseURI):null,f=yi(t||n,n,r,{identity:{base:Qn(s.base,t||n),local:Qn(s.local,n),remote:Qn(s.remote,r)},authored:{base:Zn(s.base),local:Zn(s.local),remote:Zn(s.remote)},ignored:h.ignored,remoteWins:h.remoteWins,ignoreAttribute:h.ignoreAttribute,conflicts:h.conflicts,mergeTags:h.scripts.merge===!1?null:h.scripts.mergeTags,baseURI:d.baseURI,localIsBase:!t,childrenOnly:l,skipUnchanged:h.hooks.beforeNodeMorphed===un&&h.hooks.afterNodeMorphed===un});h.beforeApply&&h.beforeApply(f.doc);let u=globalThis.__hyperMorphProfile,m=u?performance.now():0,p=Xs(e,f.root,f,{toLive:o,ignored:h.ignored,ignoreAttribute:h.ignoreAttribute,formState:h.formState,protectFocusedValue:h.protectFocusedValue,restoreFocus:h.restoreFocus,preserve:h.head.preserve,hooks:h.hooks,childrenOnly:l});u&&(u.apply=(u.apply||0)+(performance.now()-m));let v=[];if(h.head.awaitLoads)for(let L of p.applied){if(L.kind!=="insert"||L.node.nodeType!==1)continue;let H=L.node;H.tagName==="LINK"&&/\bstylesheet\b/i.test(H.getAttribute("rel")||"")&&H.getAttribute("href")&&H.closest("head")&&v.push(new Promise(te=>{H.addEventListener("load",()=>te()),H.addEventListener("error",()=>te())}))}if(b){let L=Bs(e,b,{ignored:h.ignored,skip:p.mergedScriptsLive,baseURI:d.baseURI,beforeNodeAdded:h.hooks.beforeNodeAdded,afterNodeAdded:h.hooks.afterNodeAdded});v.push(...L.loads)}let A=L=>L&&p.liveOf&&p.liveOf.get(L)||null;return{report:{applied:p.applied,decisions:f.decisions.map(L=>Object.assign({},L,{node:L.node?A(L.node):null,el:L.el?A(L.el):null,applied:!!(L.node?A(L.node):L.el&&A(L.el))})),conflicts:f.conflicts.map(L=>Object.assign({},L,{node:L.node?A(L.node):L.node,el:L.el?A(L.el):L.el})),localDiverged:f.localDiverged,identities:p.identities,moved:p.moved,replaced:p.replaced},loads:v}}var Qs=new WeakMap;function wi(){return{applied:[],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[]}}function Nr(e){let t=e||{},n=t.live;if(!n||n.nodeType!==9)throw new TypeError("live must be a Document");let r=Qs.get(n);r||(r=ti(n),Qs.set(n,r));let o=r("remote",t.remote),i=typeof t.base=="string"&&t.base===""?null:t.base,s=i?r("base",i):null,l=t.local?t.local.root:n.documentElement,a=t.local?t.local.toLive:b=>b;As(n,o);let{report:h,loads:d}=vi({liveRoot:n.documentElement,baseRoot:s?s.documentElement:null,localRoot:l,remoteRoot:o.documentElement,toLive:a,options:t,identity:t.identity||{},childrenOnly:!1,isDocument:!0});return Promise.all(d).then(()=>h)}function Iu(e,t,n={}){return Nr(Object.assign({},n,{live:e,base:null,remote:t}))}function el(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 i=io(e,t),s=r[1].toLowerCase()==="html"?i.documentElement:i.body;return{root:s,first:s}}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 xi(e,t,n={}){if(!e||e.nodeType!==1)throw new TypeError("oldEl must be an Element");let r=e.ownerDocument,{base:o,...i}=n,s=!!i.children;if(Rr(i,[e]).ignored(e))return Promise.resolve(wi());let l=el(t,r),a=o!=null?el(o,r):null,h,d=null;if(s)h=l.root,d=a?a.root:null;else{if(h=l.first,d=a?a.first:null,!h){let u=Rr(i);return u.hooks.beforeNodeRemoved(e)!==!1&&(e.remove(),u.hooks.afterNodeRemoved(e)),Promise.resolve({applied:[{kind:"remove",node:e,parent:null}],decisions:[],conflicts:[],localDiverged:!1,identities:[],moved:[],replaced:[e]})}if(h.tagName!==e.tagName){let u=Rr(i,[e,h]);if(u.hooks.beforeNodeMorphed(e,h)===!1)return Promise.resolve(wi());let m=vi({liveRoot:e,baseRoot:d&&d.tagName===e.tagName?d:null,localRoot:e,remoteRoot:h,toLive:v=>v,options:i,identity:i.identity||{},childrenOnly:!0,isDocument:!1}),p=Kt(h)?Cr(h,r):r.importNode(h,!1);if(!Kt(p))for(;e.firstChild;)p.appendChild(e.firstChild);return u.hooks.beforeNodeAdded(p)===!1||u.hooks.beforeNodeRemoved(e)===!1?Promise.resolve(m.report):(e.replaceWith(p),u.hooks.afterNodeRemoved(e),u.hooks.afterNodeAdded(p),u.hooks.afterNodeMorphed(e,h),m.report.replaced.push(p),m.report.applied.push({kind:"insert",node:p,parent:p.parentNode},{kind:"remove",node:e,parent:p.parentNode}),Promise.all(m.loads).then(()=>m.report))}}let{report:b,loads:f}=vi({liveRoot:e,baseRoot:d,localRoot:e,remoteRoot:h,toLive:u=>u,options:i,identity:i.identity||{},childrenOnly:s,isDocument:!1});return Promise.all(f).then(()=>b)}var Ai={mergeDocument:Nr,morphDocument:Iu,morphElement:xi,merge3:Lu,morph:Tn};var fo=["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"],Si=new Set(fo),tl=new Set(["textContent","innerText","innerHTML","value","checked","selected","disabled","readOnly","type","id","className","title"]),Mr=new Set(["tagName","nodeName","nodeType","nodeValue","childElementCount","classList","baseURI","documentURI","contentType","offsetWidth","offsetHeight","clientWidth","clientHeight","scrollWidth","scrollHeight","currentSrc","duration","paused","dataset"]);var mo={};ei(mo,{EmptyListInsert:()=>Ir,MAX_RULE_DEPTH:()=>nr,MaxRuleDepthExceeded:()=>Pn,NoRulesTag:()=>Ti,RuleTargetReadOnly:()=>jr,RulesParseError:()=>er,ShapeMismatch:()=>Lr,UnknownRulesVersion:()=>tr,WriteRefused:()=>ho,WriteRejected:()=>Ei});var er=class extends Error{constructor(t,n){super(t),this.name="RulesParseError",this.cause=n}},tr=class extends Error{constructor(t){super(`unknown rules version: ${t}. Library supports "1".`),this.name="UnknownRulesVersion",this.version=t}},nr=20,Pn=class extends Error{constructor(t){super(`rule depth exceeded ${nr} at path: ${t.join(".")}`),this.name="MaxRuleDepthExceeded",this.path=t}},Lr=class extends Error{constructor(t){super(`shape mismatch: ${t.length} field(s) failed validation`),this.name="ShapeMismatch",this.mismatches=t}},Ir=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}},jr=class extends Error{constructor(t){super(`cannot write to read-only DOM property "${t}"`),this.name="RuleTargetReadOnly",this.target=t}},ho=class extends Error{constructor(t){super(`write refused: ${t.length} write(s) broke the content-only policy`),this.name="WriteRefused",this.refusals=t}},Ti=class extends Error{constructor(t){super(`no <script data-rules-name~="${t}"> rules tag in this document`),this.name="NoRulesTag",this.token=t}},Ei=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 En(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 _i(e,t,n,{depth:0,path:[]},r)}function _i(e,t,n,r,o){if(r.depth>nr)throw new Pn(r.path);if(typeof n=="string")return qu(e,t,n,r,o);if(Array.isArray(n)){let[i,s]=n,l=e.find(t,i,o);return rl(o,r,l),l.map((a,h)=>_i(e,a,s,{depth:r.depth+1,path:[...r.path,h]},o))}if(typeof n=="object"&&n!==null){let i={};for(let[s,l]of Object.entries(n))i[s]=_i(e,t,l,{depth:r.depth+1,path:[...r.path,s]},o);return i}return null}function qu(e,t,n,r,o){if(n.endsWith("[]")){let l=n.slice(0,-2),a=e.find(t,l,o);return rl(o,r,a),a.map(h=>e.text(h))}if(n.startsWith("@"))return nl(e,t,n.slice(1));let i=St(n);if(i!==-1){let l=n.slice(0,i),a=n.slice(i+1),h=l?e.find(t,l,o):[t];return h.length===0?null:nl(e,h[0],a)}if(n===".")return e.text(t);let s=e.find(t,n,o);return s.length===0?null:e.text(s[0])}function rl(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 nl(e,t,n){if(Si.has(n)){let o=e.prop(t,n);return o==null?null:String(o)}let r=e.attr(t,n);return r||null}var ol=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"]})}),Bu=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),il=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function Ci(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 Hu(e,t){if(Ci(e,t))return!0;for(let[n,r]of Object.entries(Bu))if(r.includes(t)&&Ci(e,n))return!0;return!1}function Dr(e){let t=ol[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function $u(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=ol[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Hu(n,o))||r.bundles.some(o=>Ci(n,o)))return n;n=n.parentElement}return null}function sl(e,t){return!!$u(e,t)}var Uu=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function ll(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 al(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 cl(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?sl(e,n):al(e,r,i,!1))||o&&al(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=cl(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&ll(b,f))}return e.nodeType===1&&ll(e,a),a}function Pr(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 i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Dr(t),d=cl(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Uu.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Dr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},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 u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}function ul(e){return e&&e.nodeType===1&&e.tagName==="SCRIPT"&&e.hasAttribute&&e.hasAttribute("data-rules-name")}function zu(e){return e?(e.nodeType===9||e.nodeType===11,e):null}var Lt={semanticExclude:!0,find(e,t,n={}){let r=zu(e);if(!r||!r.querySelectorAll)return[];let o=Array.from(r.querySelectorAll(t));n.includeRulesTag||(o=o.filter(l=>!ul(l)));let i=[];n.skip&&i.push(n.skip);let s=n.templateAttr===null?null:n.templateAttr||"cms-template";if(s&&i.push("["+s+"]"),i.length){let l=i.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 kn(e,t={}){if(t.exclude===null)return Lt;let n=[Dr("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 Lt;let i=e.nodeType===9||!e.isConnected?e:e.ownerDocument,s=e.nodeType===9?e:e.ownerDocument,l=null,a=()=>l||(l=Pr(i,{capability:"data",exclude:t.exclude||null})),h=m=>{let p=a();return m===e?p.cloneOf(e):p.cloneOf(m)||m},d=m=>l?.original(m)||m,b=(m,p)=>{a().liveToClone.set(m,p),a().cloneToLive.set(p,m);let v=m.childNodes||[],A=p.childNodes||[];for(let M=0;M<Math.min(v.length,A.length);M++)b(v[M],A[M])},f=(m,p,v,A)=>{let M=Array.from(m.childNodes).filter(re=>l.cloneOf(re)),H=M[0];for(;H&&M.includes(H);)H=H.nextSibling;for(let re of M)re.remove();if(v==="innerHTML"){let re=s.createElement("template");re.innerHTML=A;for(let K of Array.from(re.content.childNodes))m.insertBefore(K,H||null)}else m.insertBefore(s.createTextNode(A),H||null);let B=Pr(m,{capability:"data",exclude:t.exclude||null});p.replaceChildren(...Array.from(B.root?.childNodes||[]));let te=re=>{let K=B.original(re);K&&(l.liveToClone.set(K,re),l.cloneToLive.set(re,K));for(let W of Array.from(re.childNodes||[]))te(W)};for(let re of Array.from(p.childNodes))te(re)},u={...Lt,find(m,p,v={}){let A=h(m);if(!A?.querySelectorAll)return[];let M=a().query(p,A);v.includeRulesTag||(M=M.filter(B=>!ul(B)));let L=[];v.skip&&L.push(v.skip);let H=v.templateAttr===null?null:v.templateAttr||"cms-template";if(H&&L.push(`[${H}]`),L.length){let B=L.join(", ");M=M.filter(te=>!te.closest?.(B))}return M},parent(m){let p=h(m)?.parentElement;return p?d(p):null},children(m){return Array.from(h(m)?.children||[],d)},text(m,p){if(p===void 0){let M=d(m);return!M?.matches?.(n)&&!M?.querySelector?.(n)?Lt.text(M):(h(m)?.textContent||"").trim()}let v=d(m);if(!v?.matches?.(n)&&!v?.querySelector?.(n)&&!l){Lt.text(v,p);return}let A=a().cloneOf(v);A?f(v,A,"textContent",p):Lt.text(v,p)},attr(m,p,v){let A=d(m);if(v===void 0)return Lt.attr(A,p);Lt.attr(A,p,v);let M=l?.cloneOf(A);M&&(Lt.attr(M,p,v),Pr(A,{capability:"data",exclude:t.exclude||null}).root===null&&(M.remove(),l.liveToClone.delete(A),l.cloneToLive.delete(M)))},removeAttr(m,p){let v=d(m);Lt.removeAttr(v,p);let A=l?.cloneOf(v);A&&Lt.removeAttr(A,p)},prop(m,p,v){let A=d(m);if(v===void 0)return p==="innerHTML"||p==="outerHTML"||p==="textContent"||p==="innerText"?Lt.prop(h(A),p):Lt.prop(A,p);let M=p==="innerHTML"||p==="textContent"||p==="innerText",L=M?a().cloneOf(A):l?.cloneOf(A);L&&M?f(A,L,p,v):(Lt.prop(A,p,v),L&&Lt.prop(L,p,v))},clone(m){let p=h(m);return p===m?Lt.clone(m):s.importNode(p,!0)},insertAt(m,p,v){let A=d(m),L=u.children(A)[v]||(()=>{for(let te=A.children.length-1;te>=0;te--){let re=A.children[te];if(a().cloneOf(re))return re.nextElementSibling}return A.firstElementChild})(),H=d(p);A.insertBefore(H,L||null);let B=a().cloneOf(A);if(B){let te=a().cloneOf(H);te||(te=s.importNode(H,!0),b(H,te));let re=Array.from(B.children);B.insertBefore(te,re[v]||null)}},remove(m){let p=d(m),v=a().cloneOf(p);Lt.remove(p),v&&Lt.remove(v)},replaceWith(m,p){let v=d(m),A=a().cloneOf(v),M=Lt.replaceWith(v,p);if(A){let L=Pr(M,{capability:"data",exclude:t.exclude||null});if(!L.root)A.remove();else{A.replaceWith(L.root);let H=B=>{let te=L.original(B);te&&(l.liveToClone.set(te,B),l.cloneToLive.set(B,te));for(let re of Array.from(B.childNodes||[]))H(re)};H(L.root)}}return M}};return u}var rr=Lt;function Oi(e){try{return JSON.parse(e)}catch(t){throw new er(`Invalid strict JSON: ${t.message}`,t)}}function or(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 i=[],s=0;for(;s<o.length;){let l=o[s];if(/\s/.test(l)){s++;continue}if("{}".includes(l)){i.push({type:l,value:l}),s++;continue}if(l==="["){let b=!1,f=s+1;for(;f<o.length&&/\s/.test(o[f]);)f++;if(f<o.length&&/[a-zA-Z_]/.test(o[f])&&(b=!0),!b){i.push({type:l,value:l}),s++;continue}}if(l==="]"){i.push({type:l,value:l}),s++;continue}if(l===":"){i.push({type:t.COLON,value:l}),s++;continue}if(l===","){i.push({type:t.COMMA,value:l}),s++;continue}if(l==='"'||l==="'"){let b=l,f=s+1;for(;f<o.length&&o[f]!==b;)o[f]==="\\"&&f++,f++;i.push({type:t.STRING,value:o.substring(s+1,f),quoted:!0,sourceQuote:b}),s=f+1;continue}let a=s,h;for(;a<o.length&&!/[{},]/.test(o[a]);)if(o[a]===":"){let b=[":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 u of b){let m=u.substring(1);if(o.substring(a+1,a+1+m.length)===m){f=!0,a+=m.length;break}}if(!f)break}else if(o[a]==="["){for(a++;a<o.length&&o[a]!=="]";){if(o[a]==='"'||o[a]==="'"){let b=o[a];for(a++;a<o.length&&o[a]!==b;)o[a]==="\\"&&a++,a++}a++}a<o.length&&o[a]==="]"&&a++}else a++;h=o.substring(s,a);let d=t.IDENTIFIER;/^-?\d+(\.\d+)?$/.test(h)?d=t.NUMBER:h==="true"||h==="false"||h==="null"?d=t.BOOLEAN:/^[.#@\[]|[.#@\[]| /.test(h)&&(d=t.SELECTOR),i.push({type:d,value:h,quoted:!1}),s=a}return i}function r(o){let i="";for(let s=0;s<o.length;s++){let l=o[s];if("{}".includes(l.type)||"[]".includes(l.type)){i+=l.value;continue}if(l.type===t.COLON){i+=l.value;continue}if(l.type===t.COMMA){let a=o[s+1];if(a&&(a.type==="}"||a.type==="]"))continue;i+=l.value;continue}if(l.type===t.STRING&&l.quoted){let a=l.value;l.sourceQuote==="'"&&(a=a.replace(/\\'/g,"'"),a=a.replace(/(\\*)"/g,(h,d)=>d.length%2===0?d+'\\"':h)),i+=`"${a}"`;continue}if(l.type===t.NUMBER||l.type===t.BOOLEAN){i+=l.value;continue}if(l.type===t.SELECTOR||l.type===t.IDENTIFIER){i+=`"${l.value}"`;continue}i+=`"${l.value}"`}return i}try{let o=n(e),i=r(o);return JSON.parse(i)}catch(o){throw new er("Invalid extraction rules syntax: "+o.message,o)}}var dl="1",fl=/^[a-zA-Z0-9_-]+$/;function Fr(e,t,n){let r;if(n===void 0)r="script[data-rules-name]";else{if(typeof n!="string"||!fl.test(n))throw new Error(`hyper-html-api: invalid rules token ${JSON.stringify(n)} (must match ${fl})`);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 i=o[0],s=e.attr(i,"data-rules-version");if(s!==dl)throw new tr(s);return{rules:or(e.text(i)),tagNode:i}}var Bp=new Function("url","return import(url)");function kl(e,t,n,r){let o=e.length,i=t.length,s=new Array(o).fill(-1);if(r){let v=new Set;for(let A=0;A<o;A++){let M=r[A];!(M>=0&&M<i)||v.has(M)||(s[A]=M,v.add(M))}}if(o===0||i===0)return s;let l=e.map(v=>gl(v,n)),a=t.map(v=>gl(v,n)),h=new Array(i).fill(!1);for(let v of s)v>=0&&(h[v]=!0);let d=new Map;a.forEach((v,A)=>{h[A]||d.set(v,d.has(v)?-1:A)});let b=new Map;l.forEach((v,A)=>{s[A]>=0||b.set(v,(b.get(v)||0)+1)}),l.forEach((v,A)=>{if(s[A]>=0||b.get(v)!==1)return;let M=d.get(v);M===void 0||M===-1||h[M]||(s[A]=M,h[M]=!0)});let f=[];for(let v=0;v<o;v++)s[v]<0&&f.push(v);let u=[];for(let v=0;v<i;v++)h[v]||u.push(v);if(f.length===0||u.length===0)return s;let m=o*i+1,p=(v,A)=>Wu(e[v],t[A],n)*m+Math.abs(v-A);for(let[v,A]of Ku(f,u,p))s[v]=A;return s}var yl=e=>typeof e=="object"&&e!==null;function gl(e,t){if(!yl(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 Wu(e,t,n){if(!yl(n))return e===t?0:1;let r=Object.keys(n);if(r.length===0)return 0;let o=0;for(let i of r){let s=JSON.stringify(e?.[i]),l=JSON.stringify(t?.[i]);s!==l&&o++}return o}function Ku(e,t,n){return e.length<=t.length?bl(e,t,n,!1):bl(t,e,(r,o)=>n(o,r),!0)}function bl(e,t,n,r){let o=e.length,i=t.length,s=[];for(let b=0;b<=o;b++)s.push(new Float64Array(i+1).fill(1/0));let l=[];for(let b=0;b<=o;b++)l.push(new Uint8Array(i+1));for(let b=0;b<=i;b++)s[o][b]=0;for(let b=o-1;b>=0;b--)for(let f=i-1;f>=0;f--){let u=n(e[b],t[f])+s[b+1][f+1],m=s[b][f+1];u<=m?(s[b][f]=u,l[b][f]=1):s[b][f]=m}let a=[],h=0,d=0;for(;h<o&&d<i;)l[h][d]&&(a.push(r?[t[d],e[h]]:[e[h],t[d]]),h++),d++;return a}function Ri(e,t,n,r,o,i,s,l={}){let a=e.find(t,n,l);if(o.length===0){a.forEach(B=>e.remove(B)),Ni(l,"onRowsApplied",i.path,[]);return}let h=o.length>a.length,d=a[0]||null;if(h&&!d&&(d=Ju(e,t,n,l),!d))throw new Ir(i.path);let b=a.map(B=>Xu(e,B,r,l)),f=null;if(h&&d){f=e.clone(d),l.templateAttr&&e.removeAttr(f,l.templateAttr);let B=e.stripIds(f);B>0&&console.warn(`[hyper-html-api] stripped ${B} id attribute(s) from cloned template at "${i.path.join(".")||"(root)"}"`)}let u=kl(o,b,r,Gu(e,a,o,i,l)),m=a[0]||d,p=e.parent(m),v=a.length>0?xl(e,p,m):0,A=Zu(e,a),M=new Set,L=[],H=o.map((B,te)=>{let re=u[te];if(re>=0)return M.add(re),L.push(!1),a[re];L.push(!0);let K=e.clone(f);return e.stripIds(K),K});a.forEach((B,te)=>{M.has(te)||e.remove(B)}),A?H.forEach((B,te)=>{let re=v+te;e.children(p).findIndex(he=>e.sameNode(he,B))!==re&&e.insertAt(p,B,re)}):Qu(e,H,L,p,v),Yu(e,H,r,o,i,s,l),Ni(l,"onRowsApplied",i.path,H)}function Ni(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 Gu(e,t,n,r,o){let i=Ni(o,"identifyRows",r.path,n);if(!Array.isArray(i))return null;let s=new Array(n.length).fill(-1),l=new Set;for(let a=0;a<n.length;a++)if(i[a]){for(let h=0;h<t.length;h++)if(!(l.has(h)||!e.sameNode(t[h],i[a]))){s[a]=h,l.add(h);break}}return s}function Yu(e,t,n,r,o,i,s){t.forEach((l,a)=>{if(n===null){let h=r[a],d=h==null?"":String(h);e.text(l)!==d&&e.text(l,d)}else{let h=i(e,l,n,r[a],{depth:o.depth+1,path:[...o.path,a]},s);h&&h!==l&&(t[a]=h)}})}function Xu(e,t,n,r){return n===null?e.text(t):En(e,t,n,r.onRowsRead?{...r,onRowsRead:void 0}:r)}function xl(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 Ju(e,t,n,r){if(!r.templateAttr)return null;let o=t;for(;o;){let i=e.find(o,n,{includeRulesTag:!1,templateAttr:null});for(let s of i)if(e.attr(s,r.templateAttr)!=null)return s;o=e.parent(o)}return null}function Zu(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 i of t){let s=r.findIndex(l=>e.sameNode(l,i));if(s===-1)return!1;o.push(s)}return o.sort((i,s)=>i-s),o[o.length-1]-o[0]===o.length-1}function Qu(e,t,n,r,o){let i=null,s=o;for(let l=0;l<t.length;l++){if(!n[l]){i=t[l];continue}let a=i?e.parent(i):r;if(!a)continue;let h=i?xl(e,a,i)+1:s++;e.insertAt(a,t[l],h),i=t[l]}}var vl=new Set(["checked","selected","disabled","readOnly","paused"]);function ir(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 i=[];if(Mi(n,r,[],i),i.length)throw new Lr(i);po(e,t,n,r,{depth:0,path:[]},o)}function po(e,t,n,r,o,i={}){if(o.depth>nr)throw new Pn(o.path);if(r===void 0)return t;if(typeof n=="string")return ef(e,t,n,r,o,i);if(Array.isArray(n)){let[s,l]=n;return Ri(e,t,s,l,r,o,po,i),t}if(typeof n=="object"&&n!==null){for(let[s,l]of Object.entries(n)){let a=po(e,t,l,r==null?r:r[s],{depth:o.depth+1,path:[...o.path,s]},i);a&&a!==t&&(t=a)}return t}return t}function ef(e,t,n,r,o,i){if(n.endsWith("[]")){let a=n.slice(0,-2);return Ri(e,t,a,null,r,o,po,i),t}if(n.startsWith("@"))return Al(e,t,n.slice(1),r);let s=St(n);if(s!==-1){let a=n.slice(0,s),h=n.slice(s+1),d=a?e.find(t,a,i):[t];return d.length===0||Al(e,d[0],h,r),t}if(n===".")return wl(e,t,r),t;let l=e.find(t,n,i);return l.length===0||wl(e,l[0],r),t}function wl(e,t,n){let r=n==null?"":String(n);e.text(t)!==r&&e.text(t,r)}function Al(e,t,n,r){if(Mr.has(n)){let i=e.prop(t,n);if(i===r||i!=null&&r!=null&&String(i)===String(r))return t;throw new jr(n)}if(n==="outerHTML"){let i=r==null?"":String(r);return e.replaceWith(t,i)}if(tl.has(n)){let i=tf(n,r);return e.prop(t,n)!==i&&e.prop(t,n,i),t}let o=r==null?"":String(r);return e.attr(t,n)!==o&&e.attr(t,n,o),t}function tf(e,t){return t==null?vl.has(e)?!1:"":vl.has(e)?t==="false"?!1:!!t:t}function Mi(e,t,n,r){if(t!==void 0){if(typeof e=="string"){if(e.endsWith("[]")){Array.isArray(t)?t.forEach((o,i)=>{typeof o=="object"&&o!==null&&r.push({path:Br([...n,i]),expected:"scalar",got:qr(o)})}):r.push({path:Br(n),expected:"array",got:qr(t)});return}t!==null&&typeof t=="object"&&r.push({path:Br(n),expected:"scalar",got:qr(t)});return}if(Array.isArray(e)){if(!Array.isArray(t)){r.push({path:Br(n),expected:"array",got:qr(t)});return}let o=e[1];t.forEach((i,s)=>Mi(o,i,[...n,s],r));return}if(typeof e=="object"&&e!==null){if(t===null||Array.isArray(t)||typeof t!="object"){r.push({path:Br(n),expected:"object",got:qr(t)});return}for(let[o,i]of Object.entries(e))Mi(i,t[o],[...n,o],r)}}}function qr(e){return e===null?"null":Array.isArray(e)?"array":typeof e}function Br(e){return e.join(".")}var mf=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",...il],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 Li(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 Fr(e,r,n)}return null}var Vt={extract:(e,t,n={})=>En(kn(e,n),e,t,n),apply:(e,t,n,r={})=>ir(kn(e,{...r,_write:!0}),e,t,n,r),findRulesIn:(e,t)=>Fr(rr,e,t),findRules:(e,t)=>Li(rr,e,t),bind:(e,t,n={})=>{let r=Li(rr,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:()=>En(kn(e,n),e,r.rules,n),set:o=>ir(kn(e,{...n,_write:!0}),e,r.rules,o,n)}},parseStrict:Oi,parseRelaxed:or,ruleAttrIndex:St,splitRule:oo,errors:mo,DOM_PROPERTIES:fo};var ji={};ei(ji,{fromString:()=>yn,getRuleAtPath:()=>Fn,getValueAtPath:()=>bf,setAtPath:()=>Ii,toString:()=>gf});function gf(e){return e.map(String).join(".")}function yn(e){return e===""?[]:e.split(".").map(t=>/^\d+$/.test(t)?Number(t):t)}function Fn(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 bf(e,t){let n=e;for(let r of t){if(n==null)return;n=n[r]}return n}function Ii(e,t,n){if(t.length===0)return n;let[r,...o]=t;if(typeof r=="number"){let i=Array.isArray(e)?[...e]:[];return i[r]=Ii(i[r],o,n),i}return{...e&&typeof e=="object"?e:{},[r]:Ii((e||{})[r],o,n)}}function Hr(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]=Hr(r);return t}return""}function go(e,t,{ignoreActiveValue:n=!0}={}){Ai.morph(e,t,{morphStyle:"innerHTML",ignoreActiveValue:n,restoreFocus:!0,formStateSync:"property",policy:"raw"})}var Tl=new WeakMap,Di=e=>e.map(String).join(".");function kf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function El(e,t){if(!e||!e.querySelector)return null;let n=e.querySelector(`[data-hcms-path="${kf(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 _l(e,t,n){let r=El(e,t);!r||r.length!==n.length||r.forEach((o,i)=>{n[i]&&Tl.set(o,n[i])})}function bo(){let e=new Map;return{hooks:{onRowsRead(t,n){e.set(Di(t),n)}},seed(t){for(let[n,r]of e)_l(t,n,r);e.clear()}}}function Cl(e){return{identifyRows(t,n){let r=El(e,Di(t));return!r||r.length!==n.length?null:r.map(o=>Tl.get(o)||null)},onRowsApplied(t,n){_l(e,Di(t),n)}}}var Ol={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Pi="data-hcms-rollback-ui",yf=0;function Nl(e,t,n,r={}){return xf(e,t,n,r)}function xf(e,t,n,r){let{shellRoot:o,structural:i,structuralPath:s,formRoot:l}=r,a=l?{...Ol,...Cl(l)}:Ol;if(!i)try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return{ok:!1,error:f}}let h=vf(e,t,s),d=h?Af(h):null,b=h?null:Tf(e,o);try{return Vt.apply(e,t,n,a),{ok:!0}}catch(f){return d?Sf(h,d):b&&Ef(e,o,b),{ok:!1,error:f}}}function vf(e,t,n){if(!n||!e)return null;let r=yn(n),o=[],i=t;for(let s of r){if(typeof i=="string"||i==null||Array.isArray(i))break;if(typeof i=="object"&&s in i){if(o.push(s),i=i[s],Array.isArray(i)||typeof i=="string"&&i.endsWith("[]"))break}else return null}return!Array.isArray(i)&&!(typeof i=="string"&&i.endsWith("[]"))?null:wf(e,t,o)}function wf(e,t,n){if(n.length===0)return null;let r=e,o=t;for(let i=0;i<n.length;i++){let s=n[i];if(!o||typeof o!="object"||Array.isArray(o))return null;let l=o[s];if(l==null)return null;if(i===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 Af(e){let t=[],n=[];for(let r of Array.from(e.childNodes))t.push(Fi(r,n));return{nodes:t,retained:n}}function Sf(e,t){let n=e.cloneNode(!1);for(let r of t.nodes)n.appendChild(r);Tn(e,Array.from(n.childNodes),Ml()),Rl(e,t.retained)}function Tf(e,t){let n=[],r=[];for(let o of Array.from(e.childNodes))o===t||t&&o.contains?.(t)||n.push(Fi(o,r));return{nodes:n,retained:r}}function Ef(e,t,n){let r=e.cloneNode(!1);for(let o of n.nodes)r.appendChild(o);Tn(e,Array.from(r.childNodes),Ml()),Rl(e,n.retained)}function Fi(e,t){let n=e.cloneNode(!1);if(e.nodeType===1&&e.matches('[editor-ui],[clay~="editor-ui"]')){let i=String(++yf);n.setAttribute(Pi,i),t.push({id:i,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 i of Array.from(r.childNodes||[]))o.appendChild(Fi(i,t));return n}function Rl(e,t){for(let{id:n,node:r}of t){let o=e.querySelector(`[${Pi}="${n}"]`);o===r?r.removeAttribute(Pi):r.isConnected?o?.remove():o?.replaceWith(r)}}function Ml(){return{morphStyle:"innerHTML",policy:"raw",restoreFocus:!1,scripts:{handle:!1,merge:!1}}}function yo(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 _f='<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>',qi='<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>',jl={"@scalar":`
|
|
3
4
|
<label class="hcms-field" data-hcms-shape="scalar">
|
|
4
5
|
<span class="hcms-label" data-hcms-label></span>
|
|
5
6
|
<textarea class="mirk-textarea" rows="1" data-hcms-field></textarea>
|
|
@@ -39,13 +40,13 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
|
|
|
39
40
|
</section>
|
|
40
41
|
`,"@object-array-item":`
|
|
41
42
|
<article class="hcms-card mirk-sortable__item" draggable="true">
|
|
42
|
-
${
|
|
43
|
+
${_f}
|
|
43
44
|
<div class="hcms-card-body mirk-sortable__body">
|
|
44
45
|
<div class="hcms-card-fields"></div>
|
|
45
46
|
<div class="hcms-card-controls">
|
|
46
47
|
<button type="button" class="hcms-move hcms-move-up hcms-sr-only" data-hcms-action="move-up" aria-label="Move up">\u2191</button>
|
|
47
48
|
<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">${
|
|
49
|
+
<button type="button" class="hcms-remove hcms-remove--card" data-hcms-action="remove" aria-label="Remove">${qi}</button>
|
|
49
50
|
</div>
|
|
50
51
|
</div>
|
|
51
52
|
<div class="hcms-error" hidden></div>
|
|
@@ -59,7 +60,7 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
|
|
|
59
60
|
<span class="mirk-button__label">Choose</span>
|
|
60
61
|
</label>
|
|
61
62
|
<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">${
|
|
63
|
+
<button type="button" class="hcms-upload-clear" data-hcms-action="clear-upload" aria-label="Remove file">${qi}</button>
|
|
63
64
|
</div>
|
|
64
65
|
<div class="hcms-error" hidden></div>
|
|
65
66
|
</div>
|
|
@@ -73,7 +74,7 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
|
|
|
73
74
|
</label>
|
|
74
75
|
<figure class="mirk-image__thumb">
|
|
75
76
|
<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">${
|
|
77
|
+
<button type="button" class="hcms-upload-clear hcms-upload-clear--badge" data-hcms-action="clear-upload" aria-label="Remove image">${qi}</button>
|
|
77
78
|
</figure>
|
|
78
79
|
</div>
|
|
79
80
|
<div class="hcms-error" hidden></div>
|
|
@@ -147,11 +148,11 @@ var hypercms=(()=>{var $t=Object.defineProperty;var yi=Object.getOwnPropertyDesc
|
|
|
147
148
|
<input class="hcms-chip-field" data-hcms-field aria-label="Item" placeholder="\u2026" />
|
|
148
149
|
<button type="button" class="hcms-remove" data-hcms-action="remove" aria-label="Remove">\xD7</button>
|
|
149
150
|
</span>
|
|
150
|
-
`},Co=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function ht(e){let t=e.head||e.documentElement;if(t)for(let r of Co)vn(e,t,r)}function rr(e,t){if(!gn[t])return null;let r=e&&(e.head||e.documentElement);return r?vn(e,r,t):null}var pn={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},dt={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},To=new Set([...Object.values(dt),"@chips","@chips-item"]);function Qe(e,t,r,n){if(typeof e!="string")return"@scalar";let i=Q(e),o=gt(e,i,r,n),s=bt(o,t,"data-hcms-component");if(s&&dt[s]){let a=dt[s],l=Array.isArray(r)&&r.some(c=>c==="*"||typeof c=="number");return a==="@number"&&!fn(e,i,t,l,o).every(Oo)||(a==="@checkbox"||a==="@toggle")&&(i<0||e.slice(i+1)!=="checked")&&!fn(e,i,t,l,o).every(Mo)?"@scalar":a}if(i>=0){let a=e.slice(i+1);if(pn[a])return pn[a]}return"@scalar"}function bn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e),o=bt(gt(e,i,r,n),t,"data-hcms-component");return o&&dt[o]||null}var Ro=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Oo(e){return e==null||e===""?!0:Ro.test(String(e))}function Mo(e){return e==null||e===""||e==="true"||e==="false"}function fn(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 s=t>=0?e.slice(t+1):null,a=[];for(let l of o)if(!(l.closest&&l.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in l?a.push(l.value):a.push(l.getAttribute?l.getAttribute(s):null):a.push((l.textContent||"").trim()),!n))break;return a}function pt(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 Ie(e,t,r){let n=e.join("."),i=e.map(o=>typeof o=="number"?"*":o).join(".");return n&&ce(r,n)||i&&i!==n&&ce(r,i)||ce(r,t)}function ft(e,t,r){let n=pt(e,r);if(!n)return null;let i=Ie(t,n.array,r);return i&&i.getAttribute("data-hcms-tpl")===n.array?n:null}function kn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e),o=bt(gt(e,i,r,n),t,"data-hcms-options");if(o==null)return null;let s=o.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function yn(e,t,r,n){if(typeof e!="string")return null;let i=Q(e);return bt(gt(e,i,r,n),t,"data-hcms-crop")}function No(e,t){return t>=0?e.slice(0,t):e}function gt(e,t,r,n){let i=No(e,t);return i&&i!=="."?i:Io(n,r)}function Io(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 bt(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 kt(e,t){if(!e||t==null)return;r(t,[]);function r(n,i){let o=Ae(n);if(o==="scalar"){let s=Qe(n,e,i,t);To.has(s)&&rr(e,s);return}if(o==="scalar-array"){let s=pt(n,e);s&&(rr(e,s.array),rr(e,s.item));return}if(o==="object"){for(let[s,a]of Object.entries(n))r(a,[...i,s]);return}if(o==="object-array"){let s=n[1],a=[...i,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[l,c]of Object.entries(s))r(c,[...a,l]);else r(s,a)}}}function vn(e,t,r){let n=ce(e,r);if(n)return n;let i=e.createElement("template");return i.setAttribute("data-hcms-tpl",r),i.setAttribute("save-remove",""),i.innerHTML=gn[r].trim(),t.appendChild(i),i}function ce(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${jo(t)}"]`)}function jo(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function Ae(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function et(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var xn={IMG:"src",A:"href"};function yt(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":xn[t]?xn[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function wn(e,t){let r=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),i=yt(e),s=`${An(r,n)}[data-hcms-field="${je(t)}"]`;return r==="INPUT"&&n==="radio"?`${s}:checked@value`:i?`${s}@${i}`:s}function Lo(e){let t=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),n=yt(e),o=`${An(t,r)}[data-hcms-field]`;return t==="INPUT"&&r==="radio"?`${o}:checked@value`:n?`${o}@${n}`:o}function An(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 je(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var _n=new Set(["__proto__","constructor","prototype"]);function vt(e,t){return r(e,[]);function r(c,m){let p=Ae(c);if(p==="scalar")return n(c,m);if(p==="scalar-array")return i(c,m);if(p==="object-array")return o(c,m);if(p==="object"){let d=Object.create(null);for(let[u,y]of Object.entries(c)){if(_n.has(u))throw new Error(`hypercms: rule key "${u}" is forbidden at "${m.join(".")||"<root>"}"`);d[u]=r(y,[...m,u])}return d}return null}function n(c,m){let p=m.length?m[m.length-1]:null,d=typeof p=="string"?p:"__value",u=l(m,d);if(u)return wn(u,d);let y=a(Qe(c,t,m,e),d);return y?wn(y,d):`input[data-hcms-field="${je(d)}"]@value`}function i(c,m){let p=ft(c,m,t),d=p&&a(p.item,null)||a("@scalar-array-item",null),u=d?Lo(d):"input[data-hcms-field]@value";return[s(m,"[data-hcms-array-item]"),u]}function o(c,m){let[,p]=c,d=[...m,"*"],u=s(m,"[data-hcms-card]");if(p&&typeof p=="object"&&!Array.isArray(p)){let y=Object.create(null);for(let[N,R]of Object.entries(p)){if(_n.has(N))throw new Error(`hypercms: rule key "${N}" is forbidden at "${d.join(".")}"`);y[N]=r(R,[...d,N])}return[u,y]}return[u,r(p,[...d,0])]}function s(c,m){let p=c.length?c[c.length-1]:"",d=c.some(N=>N==="*"),u=c.join(".");return`${d?`[data-hcms-field="${je(p)}"]`:`[data-hcms-path="${je(u)}"]`} > .hcms-array-items > ${m}`}function a(c,m){if(!t)return null;let p=ce(t,c);if(!p)return null;let d=p.content||p;if(m){let u=d.querySelector(`[data-hcms-field="${je(m)}"]`);if(u)return u}return d.querySelector("[data-hcms-field]")}function l(c,m){if(!t)return null;let p=c.map(y=>typeof y=="number"?"*":y).join("."),u=[c.join("."),p];for(let y=c.length-1;y>=0;y--){let N=c.slice(0,y).map(R=>typeof R=="number"?"*":R);N.push("*"),u.push(N.join("."))}for(let y of u){if(!y)continue;let N=ce(t,y);if(!N||!et(N))continue;let R=N.content||N,F=R.querySelector(`[data-hcms-field="${je(m)}"]`)||R.querySelector("[data-hcms-field]");if(F)return F}return null}}function nr(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],r=t.split("/").pop()||t;try{return decodeURIComponent(r)}catch{return r}}function xt({pageRules:e,formRules:t,data:r,doc:n}){let i=n.createDocumentFragment(),o=ir(e,[],r,n,e);return o&&i.appendChild(o),i}function En({shape:e,itemShape:t,pathArr:r,data:n,doc:i,itemKey:o,pageRules:s}){if(e==="object-array-item")return Tn(t,r,n,i,s);if(e==="scalar-array-item")return Rn(r,n,i,o||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function ir(e,t,r,n,i){let o=Ae(e);return o==="scalar"?Fo(e,t,r,n,i):o==="object"?Po(e,t,r,n,i):o==="object-array"?Bo(e,t,r,n,i):o==="scalar-array"?Uo(e,t,r,n):null}function Fo(e,t,r,n,i){let o=Qe(e,n,t,i),s=Ie(t,o,n);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let a=bn(e,n,t,i);a==="@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`),(a==="@checkbox"||a==="@toggle")&&o==="@scalar"&&console.info(`[hypercms] field "${t.join(".")}" declares component "${a}" but its value isn't true/false; rendering a text input so the value is preserved`),Cn(s,a===o?a:null,t);let l=Le(s,n);Fe(l,t);let c=s.getAttribute?.("data-hcms-tpl");if((o==="@select"||o==="@radio")&&c===o&&qo(l,e,t,r,n,o,i),o==="@image"&&c==="@image"){let m=yn(e,n,t,i);m!=null&&!l.hasAttribute("data-hcms-crop")&&l.setAttribute("data-hcms-crop",m)}return zo(l,he(t)),wt(l,he(t)),_t(l,he(t)),jn(l,r),o==="@file"&&$o(l),l}function Cn(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 qo(e,t,r,n,i,o,s){let a=kn(t,i,r,s),l=a?[...a]:[],c=n==null?"":String(n);if(c!==""&&!l.includes(c)&&l.unshift(c),!a&&(Do(e,"data-hcms-options required (space-separated values)"),l.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(o==="@select"){let d=e.querySelector("select[data-hcms-field]");if(!d)return;for(let u of l){let y=i.createElement("option");y.value=u,y.textContent=mt(u),d.appendChild(y)}return}let m=e.querySelector(".mirk-radio");if(!m||!m.parentNode)return;let p=or(r.join("."));for(let d of l){let u=m.cloneNode(!0),y=u.querySelector('input[type="radio"]');y&&(y.value=d,y.name=p);let N=u.querySelector(".mirk-radio__label");N&&(N.textContent=mt(d)),m.parentNode.insertBefore(u,m)}m.remove()}function or(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function Do(e,t){let r=e.querySelector?e.querySelector(".hcms-error"):null;r&&(r.textContent=t,r.hidden=!1)}function $o(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=nr(t.getAttribute("href")))}function Po(e,t,r,n,i){let o=Ie(t,"@object",n);if(!o)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=Le(o,n);if(Fe(s,t),wt(s,he(t)),_t(s,he(t)),et(o))return Fn(s,e,t),Ln(s,e,r),s;let a=At(s,".hcms-object-fields",o,t);for(let[l,c]of Object.entries(e)){let m=r==null?null:r[l],p=ir(c,[...t,l],m,n,i);p&&a.appendChild(p)}return s}function Bo(e,t,r,n,i){let o=Ie(t,"@object-array",n);if(!o)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=Le(o,n);Fe(s,t),wt(s,he(t)),_t(s,he(t)),Mn(s,o),In(s,o,t);let a=At(s,".hcms-array-items",o,t),[,l]=e;return(Array.isArray(r)?r:[]).forEach((m,p)=>{let d=Tn(l,[...t,p],m,n,i);d&&a.appendChild(d)}),Nn(s),s}function Tn(e,t,r,n,i){let o=On(t,"object-array-item",n);if(!o)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=Le(o,n);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),Fe(s,t),et(o))return e&&typeof e=="object"&&!Array.isArray(e)&&(Fn(s,e,t),Ln(s,e,r)),s;let a=At(s,".hcms-card-fields",o,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[l,c]of Object.entries(e)){let m=r==null?null:r[l],p=ir(c,[...t,l],m,n,i);p&&a.appendChild(p)}return s}function Uo(e,t,r,n){let i=pt(e,n),o=ft(e,t,n),s=i?i.array:"@scalar-array",a=Ie(t,s,n);if(!a)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Cn(a,i?i.array:null,t);let l=Le(a,n);Fe(l,t),wt(l,he(t)),_t(l,he(t)),Mn(l,a),In(l,a,t),o&&l.setAttribute("data-hcms-item-tpl",o.item);let c=At(l,".hcms-array-items",a,t);return(Array.isArray(r)?r:[]).forEach((p,d)=>{let u=Rn([...t,d],p,n,o?o.item:null);u&&c.appendChild(u)}),Nn(l),l}function Rn(e,t,r,n){let i=On(e,"scalar-array-item",r,n);if(!i)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let o=Le(i,r);return o.setAttribute("data-hcms-array-item",""),o.classList.contains("hcms-array-item")||o.classList.add("hcms-array-item"),Fe(o,e),jn(o,t),o}function On(e,t,r,n){let i=e.map(o=>typeof o=="number"?"*":o).join(".");return ce(r,i)||n&&ce(r,n)||ce(r,"@"+t)}function Le(e,t){let r=e.content||e,n=t.createElement("div");return n.appendChild(r.cloneNode(!0)),n.firstElementChild||n}function Fe(e,t){e.setAttribute("data-hcms-path",t.join("."))}function zo(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 wt(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function _t(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(n=>{(n.textContent||"").trim()===""&&(n.textContent=mt(String(t)))})}function Mn(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 Nn(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=Sn(e,"data-hcms-max-items"),o=Sn(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),a=e.hasAttribute("data-hcms-no-remove"),l=e.hasAttribute("data-hcms-no-reorder"),c=e.querySelector('[data-hcms-action="add"]');c&&(c.hidden=s||i!=null&&n>=i),r.forEach((m,p)=>{let d=m.querySelector('[data-hcms-action="remove"]');d&&(d.hidden=a||o!=null&&n<=o);let u=m.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=l||p===0);let y=m.querySelector('[data-hcms-action="move-down"]');y&&(y.hidden=l||p===n-1)})}function Sn(e,t){if(!e||!e.hasAttribute(t))return null;let r=parseInt(e.getAttribute(t),10);return Number.isFinite(r)?r:null}function In(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 he(e){return e.length?e[e.length-1]:null}function jn(e,t){let r=Ho(e);if(r.length!==0)for(let n of r)qn(n,t)}function Ho(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Vo(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 Vo(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function Ln(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 s=r==null?null:r[o];qn(i,s)})}function Fn(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 s=[...r,o].join(".");i.setAttribute("data-hcms-path",s)})}function At(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 qn(e,t){let r=yt(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 Dn=new WeakMap,sr=e=>e.map(String).join(".");function Wo(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function $n(e,t){if(!e||!e.querySelector)return null;let r=e.querySelector(`[data-hcms-path="${Wo(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 Pn(e,t,r){let n=$n(e,t);!n||n.length!==r.length||n.forEach((i,o)=>{r[o]&&Dn.set(i,r[o])})}function St(){let e=new Map;return{hooks:{onRowsRead(t,r){e.set(sr(t),r)}},seed(t){for(let[r,n]of e)Pn(t,r,n);e.clear()}}}function Bn(e){return{identifyRows(t,r){let n=$n(e,sr(t));return!n||n.length!==r.length?null:n.map(i=>Dn.get(i)||null)},onRowsApplied(t,r){Pn(e,sr(t),r)}}}var Un={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function zn(e,t,r,n={}){let{observerHandle:i,shellRoot:o,structural:s,structuralPath:a,formRoot:l}=n,c=l?{...Un,...Bn(l)}:Un;i?.pause?.();try{if(!s)try{return ne.apply(e,t,r,c),{ok:!0}}catch(u){return{ok:!1,error:u}}let m=Ko(e,t,a),p=m?Jo(m):null,d=m?null:Zo(e,o);try{return ne.apply(e,t,r,c),{ok:!0}}catch(u){return p?Yo(m,p):d&&Xo(e,o,d),{ok:!1,error:u}}}finally{i?.resume?.()}}function Ko(e,t,r){if(!r||!e)return null;let n=me(r),i=[],o=t;for(let s of n){if(typeof o=="string"||o==null||Array.isArray(o))break;if(typeof o=="object"&&s in o){if(i.push(s),o=o[s],Array.isArray(o)||typeof o=="string"&&o.endsWith("[]"))break}else return null}return!Array.isArray(o)&&!(typeof o=="string"&&o.endsWith("[]"))?null:Go(e,t,i)}function Go(e,t,r){if(r.length===0)return null;let n=e,i=t;for(let o=0;o<r.length;o++){let s=r[o];if(!i||typeof i!="object"||Array.isArray(i))return null;let a=i[s];if(a==null)return null;if(o===r.length-1){if(Array.isArray(a)){let[l]=a;return n.querySelector?.(l)?.parentElement||null}if(typeof a=="string"&&a.endsWith("[]")){let l=a.slice(0,-2);return n.querySelector?.(l)?.parentElement||null}return null}i=a}return null}function Jo(e){let t=[];for(let r of Array.from(e.childNodes))t.push(r.cloneNode(!0));return t}function Yo(e,t){for(;e.firstChild;)e.removeChild(e.firstChild);for(let r of t)e.appendChild(r)}function Zo(e,t){let r=[];for(let n of Array.from(e.childNodes))n===t||t&&n.contains?.(t)||r.push(n.cloneNode(!0));return r}function Xo(e,t,r){for(let i of Array.from(e.childNodes))i===t||t&&i.contains?.(t)||e.removeChild(i);let n=Qo(e,t);for(let i of r)e.insertBefore(i,n||null)}function Qo(e,t){if(!t)return null;for(let r of Array.from(e.childNodes))if(r===t||r.contains?.(t))return r;return null}var es={Mutation:(e,t)=>e?.Mutation??t?.Mutation,undo:(e,t)=>e?.undo??t?.undo,onPrepareForSave:(e,t)=>e?.addDocumentTransform??t?.onPrepareForSave,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?rs(t.uploadFileBasic):null)},ts={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},ar=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function rs(e){return async function(r,{onProgress:n,signal:i}={}){if(i?.aborted)return ar();try{let o=await e(r,{onProgress:a=>{n?.({loaded:null,total:null,percent:a})}});if(i?.aborted)return ar();let s=o&&o.uploads||[];return typeof s[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:s}}catch(o){if(i?.aborted)return ar();let s={};try{s=JSON.parse(o?.response||"{}")}catch{s={}}let a=s.code||ts[o?.status]||"error";return{ok:!1,msg:o&&o.message||"Upload failed",msgType:"error",code:a,uploads:[]}}}}function ie(e,t){let r=es[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 Hn=["clay:mutation-ready","hyperclay:mutation-ready"],Vn=["clay:sync-applied","hyperclay:livesync-applied"];function lr(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)}}function Et(e,t){if(!t||e==null)return e;return r(e);function r(n){if(typeof n=="string"){if(n.endsWith("[]")||Q(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,s]of Object.entries(n))i[o]=r(s);return i}return n}}function cr(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 qe(e,t){if(!e||!e.querySelectorAll)return;e.querySelectorAll("textarea[data-hcms-field]").forEach(cr);let r=t&&t.defaultView||(typeof window<"u"?window:null),n=r&&r.richclay&&r.richclay.RichClay||ie("RichClay",r)||(r&&typeof r.RichClay=="function"?r.RichClay:null);n&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(i=>{if(i.__hcmsRichclay)return;let o;try{o=new n(i,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}i.__hcmsRichclay=o;let s=o&&o.squire;s&&typeof s.addEventListener=="function"&&s.addEventListener("input",()=>{let a=r&&r.Event||Event;i.dispatchEvent(new a("input",{bubbles:!0}))})})}var ur=new WeakSet;function Pe(e,t){let r=ie("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 Rt(e){let t=ie("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Yn(e){let{formRoot:t}=e;if(!t||ur.has(t))return;ur.add(t);let r=s=>{let a=s.target;!a||!a.closest||a.closest("[data-hcms-form-root]")&&a.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(a.tagName==="TEXTAREA"&&cr(a),!a.matches('input[type="file"]')&&(!a.closest("[data-hcms-field]")&&!a.hasAttribute?.("data-hcms-field")||Wn(a,e)))},n=s=>{let a=s.target;if(!(!a||!a.closest)&&a.closest("[data-hcms-form-root]")){if(a.matches('input[type="file"][data-hcms-upload]')){us(a,e);return}a.matches('input[type="checkbox"], input[type="radio"], select')&&Wn(a,e)}},i=s=>{let a=s.target;if(!a||!a.closest)return;let l=a.closest("[data-hcms-action]");if(!l)return;let c=l.getAttribute("data-hcms-action");if(c==="add"||c==="remove"||c==="move-up"||c==="move-down"||c==="clear-upload"){if(!l.closest("[data-hcms-form-root]"))return}else if(c==="close"&&!l.closest("[data-hcms-shell]"))return;if(c==="add"){let m=l.closest("[data-hcms-path]");if(!m)return;let p=m.getAttribute("data-hcms-path");mr(p,e)}else if(c==="remove"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;ys(m,e)}else if(c==="move-up"||c==="move-down"){let m=l.closest("[data-hcms-card], [data-hcms-array-item]");if(!m)return;bs(m,c==="move-up"?-1:1,e)}else c==="clear-upload"?ps(l,e):c==="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),ur.delete(t)}}var ns=new Set(["value","checked"]);function is(e,t){if(!t)return null;let r=me(t);if(r.some(l=>typeof l=="number"||l==="*"))return null;let n=_e(e.pageRules,r);if(typeof n!="string")return null;let i=ne.ruleAttrIndex(n);if(i===-1)return null;let o=n.slice(i+1);if(!ns.has(o))return null;let s=n.slice(0,i),a=s?e.pageRoot.querySelector(s):e.pageRoot;return a?{el:a,prop:o,oldValue:a[o]}:null}function Wn(e,t){let n=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",i=is(t,n);if(de(ae(t),{path:n,structural:!1},t),i){let o=ie("undo");o&&typeof o.recordValue=="function"&&o.recordValue(i.el,{prop:i.prop,oldValue:i.oldValue,newValue:i.el[i.prop]})}}var os={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function ss(e,t){let r=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(r==null)return{file:e};let n=ie("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:as(r),modal:i,...os});return o===null?null:{file:ls(o.blob,e.name),dataURL:o.dataURL}}catch(i){return $e(t,i&&i.message||"Crop failed"),null}}function as(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 ls(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 cs=new Set(["unsupported","payment-required"]);async function us(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")||"";$e(n,null);let o=await ss(r,n);if(!o||t.closed){ye(e);return}let s=o.file,a=o.dataURL||null,l=ie("upload");if(typeof l!="function")return dr(e,n,t,i,await Kn(s,a,n),s);Xn(n,a),Gn(n,0);let c=ms(t),m;try{m=await l(s,{signal:c?.signal,onProgress:({percent:d})=>Gn(n,d)})}finally{hs(t,c),gs(n)}if(t.closed){ye(e);return}if(m.code==="aborted"){ye(e);return}if(m.ok)return dr(e,n,t,i,m.uploads[0].url,s);if(!cs.has(m.code)){$e(n,m.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(m.msg||"Upload failed"),code:m.code,path:i}),ye(e);return}let p=m.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return dr(e,n,t,i,await Kn(s,a,n),s,p)}function dr(e,t,r,n,i,o,s=null){if(r.closed){ye(e);return}if(Xn(t,null),$e(t,null),!i){ye(e);return}Zn(t,i,o.name),de(ae(r),{path:n,structural:!1},r),s&&$e(t,s,"info"),ye(e)}async function Kn(e,t,r){return t||await ds(e,r)}function ds(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 ms(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function hs(e,t){t&&e.uploads?.delete(t)}function ps(e,t){let r=e.closest("[data-hcms-path]");if(!r)return;let n=r.getAttribute("data-hcms-path")||"";Zn(r,"","");let i=r.querySelector('input[type="file"][data-hcms-upload]');i&&ye(i),$e(r,null),de(ae(t),{path:n,structural:!1},t)}function fs(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function Zn(e,t,r){let n=fs(e);if(!n)return;let i=(n.tagName||"").toUpperCase();i==="IMG"?n.src=t||"":i==="A"&&(n.href=t||"",n.textContent=t?r||nr(t):"")}function ye(e){try{e.value=""}catch{}}function Xn(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 Gn(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 gs(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function $e(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 mr(e,t){let{formRoot:r,pageRules:n}=t,i=r.querySelector(`[data-hcms-path="${Es(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 s=me(e),a=_s(n,s),l=Array.isArray(a),c=typeof a=="string"&&a.endsWith("[]");if(!l&&!c)throw new Error(`hypercms: path "${e}" is not an array`);let m=Tt(i,"data-hcms-max-items"),p=o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(i.hasAttribute("data-hcms-no-add")||m!=null&&p.length>=m)return;let d=p.length,u=l?a[1]:a.replace(/\[\]$/,""),y=Xe(l?u:"string"),N=En({shape:l?"object-array-item":"scalar-array-item",itemShape:u,pathArr:[...s,d],data:y,doc:t.doc,itemKey:i.getAttribute("data-hcms-item-tpl")||null,pageRules:n});return o.appendChild(N),qe(N,t.doc),pr(i),Pe(`Add ${e}`,()=>de(ae(t),{path:e,structural:!0},t))}function bs(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]")),s=o.indexOf(e);if(s<0)return;let a=s+t;if(a<0||a>=o.length)return;let l=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?i.insertBefore(e,o[a]):i.insertBefore(e,o[a].nextSibling),gr(i),pr(n),l&&typeof l.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),Pe(`Reorder ${n.getAttribute("data-hcms-path")||""}`,()=>de(ae(r),{path:n.getAttribute("data-hcms-path")||"",structural:!0},r))}var Ct="Delete this item?";function ks(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||Ct;let n=t&&t.confirmRemove;return n===!1?null:typeof n=="string"?n||Ct:n===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Ct:null}function ys(e,t){let r=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),n=ks(r,t);if(n==null)return De(e,t);let i=ie("consent")||typeof window<"u"&&window.consent;typeof i=="function"?Promise.resolve(i(n)).then(()=>De(e,t),()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(n)&&De(e,t):De(e,t)}function De(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=Tt(i,"data-hcms-min-items"),s=i.querySelector(".hcms-array-items"),a=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(o!=null&&a<=o)return}return e.remove(),n&&gr(n),i&&pr(i),Pe(`Remove ${r}`,()=>de(ae(t),{path:r,structural:!0},t))}}function de(e,t,r){let n=tt(e);if(!t.structural&&n===r.lastFingerprint)return{ok:!0,skipped:!0};let i=zn(r.pageRoot,r.pageRules,e,{observerHandle:r.observerHandle,shellRoot:r.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:r.formRoot});return i.ok?(r.lastFingerprint=n,r.lastData=e,Jn(r,null),r.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),r.onChange?.(e,t)):(Jn(r,ws(i.error,t.path)),r.dispatch?.("hcms:error",{error:i.error,attemptedData:e}),r.onError?.(i.error)),i}function ae(e){let t=ne.extract(e.formRoot,e.formRules);return ve(t,e.formRules)}function ve(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=>ve(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]=ve(e[n],i);return r}return e}function Jn(e,t){e.lastErrors=t&&t.length?t:null,hr(e)}function hr(e){if(vs(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=xs(e.formRoot,n);if(i){i.textContent=i.textContent?`${i.textContent}
|
|
151
|
-
${
|
|
152
|
-
`),e.errorEl.hidden=!1)}function
|
|
151
|
+
`},Cf=["@scalar","@object","@scalar-array","@scalar-array-item","@object-array","@object-array-item"];function xo(e){let t=e.head||e.documentElement;if(t)for(let n of Cf)ql(e,t,n)}function Bi(e,t){if(!jl[t])return null;let n=e&&(e.head||e.documentElement);return n?ql(e,n,t):null}var Ll={src:"@image",checked:"@checkbox",innerHTML:"@richtext"},ko={image:"@image",file:"@file",checkbox:"@checkbox",toggle:"@toggle",select:"@select",radio:"@radio",textarea:"@textarea",number:"@number",richtext:"@richtext"},Of=new Set([...Object.values(ko),"@chips","@chips-item"]);function $r(e,t,n,r){if(typeof e!="string")return"@scalar";let o=St(e),i=Ao(e,o,n,r),s=So(i,t,"data-hcms-component");if(s&&ko[s]){let l=ko[s],a=Array.isArray(n)&&n.some(h=>h==="*"||typeof h=="number");return l==="@number"&&!Il(e,o,t,a,i).every(Rf)||(l==="@checkbox"||l==="@toggle")&&(o<0||e.slice(o+1)!=="checked")&&!Il(e,o,t,a,i).every(Mf)?"@scalar":l}if(o>=0){let l=e.slice(o+1);if(Ll[l])return Ll[l]}return"@scalar"}function Dl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-component");return i&&ko[i]||null}var Nf=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;function Rf(e){return e==null||e===""?!0:Nf.test(String(e))}function Mf(e){return e==null||e===""||e==="true"||e==="false"}function Il(e,t,n,r,o){if(!n||!n.querySelectorAll)return[];if(!o||o===".")return[];let i=null;try{i=n.querySelectorAll(o)}catch{return[]}let s=t>=0?e.slice(t+1):null,l=[];for(let a of i)if(!(a.closest&&a.closest("[cms-template], [data-hcms-shell]"))&&(s?s==="value"&&"value"in a?l.push(a.value):l.push(a.getAttribute?a.getAttribute(s):null):l.push((a.textContent||"").trim()),!r))break;return l}function vo(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 sr(e,t,n){let r=e.join("."),o=e.map(i=>typeof i=="number"?"*":i).join(".");return r&&fn(n,r)||o&&o!==r&&fn(n,o)||fn(n,t)}function wo(e,t,n){let r=vo(e,n);if(!r)return null;let o=sr(t,r.array,n);return o&&o.getAttribute("data-hcms-tpl")===r.array?r:null}function Pl(e,t,n,r){if(typeof e!="string")return null;let o=St(e),i=So(Ao(e,o,n,r),t,"data-hcms-options");if(i==null)return null;let s=i.trim().split(/\s+/).filter(Boolean);return s.length?s:null}function Fl(e,t,n,r){if(typeof e!="string")return null;let o=St(e);return So(Ao(e,o,n,r),t,"data-hcms-crop")}function Lf(e,t){return t>=0?e.slice(0,t):e}function Ao(e,t,n,r){let o=Lf(e,t);return o&&o!=="."?o:If(r,n)}function If(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 So(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 To(e,t){if(!e||t==null)return;n(t,[]);function n(r,o){let i=qn(r);if(i==="scalar"){let s=$r(r,e,o,t);Of.has(s)&&Bi(e,s);return}if(i==="scalar-array"){let s=vo(r,e);s&&(Bi(e,s.array),Bi(e,s.item));return}if(i==="object"){for(let[s,l]of Object.entries(r))n(l,[...o,s]);return}if(i==="object-array"){let s=r[1],l=[...o,"*"];if(s&&typeof s=="object"&&!Array.isArray(s))for(let[a,h]of Object.entries(s))n(h,[...l,a]);else n(s,l)}}}function ql(e,t,n){let r=fn(e,n);if(r)return r;let o=e.createElement("template");return o.setAttribute("data-hcms-tpl",n),o.setAttribute("save-remove",""),o.innerHTML=jl[n].trim(),t.appendChild(o),o}function fn(e,t){return!e||!e.querySelector?null:e.querySelector(`template[data-hcms-tpl="${jf(t)}"]`)}function jf(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}function qn(e){return typeof e=="string"?e.endsWith("[]")?"scalar-array":"scalar":Array.isArray(e)?"object-array":typeof e=="object"&&e!==null?"object":"scalar"}function Ur(e){return e?!!(e.content||e).querySelector("[data-hcms-field]"):!1}var Bl={IMG:"src",A:"href"};function Eo(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":Bl[t]?Bl[t]:e.hasAttribute&&e.hasAttribute("contenteditable")?"innerHTML":null}function Hl(e,t){let n=(e.tagName||"").toUpperCase(),r=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),o=Eo(e),s=`${Ul(n,r)}[data-hcms-field="${lr(t)}"]`;return n==="INPUT"&&r==="radio"?`${s}:checked@value`:o?`${s}@${o}`:s}function Df(e){let t=(e.tagName||"").toUpperCase(),n=(e.getAttribute&&e.getAttribute("type")||"").toLowerCase(),r=Eo(e),i=`${Ul(t,n)}[data-hcms-field]`;return t==="INPUT"&&n==="radio"?`${i}:checked@value`:r?`${i}@${r}`:i}function Ul(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 lr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var $l=new Set(["__proto__","constructor","prototype"]);function _o(e,t){return n(e,[]);function n(h,d){let b=qn(h);if(b==="scalar")return r(h,d);if(b==="scalar-array")return o(h,d);if(b==="object-array")return i(h,d);if(b==="object"){let f=Object.create(null);for(let[u,m]of Object.entries(h)){if($l.has(u))throw new Error(`hypercms: rule key "${u}" is forbidden at "${d.join(".")||"<root>"}"`);f[u]=n(m,[...d,u])}return f}return null}function r(h,d){let b=d.length?d[d.length-1]:null,f=typeof b=="string"?b:"__value",u=a(d,f);if(u)return Hl(u,f);let m=l($r(h,t,d,e),f);return m?Hl(m,f):`input[data-hcms-field="${lr(f)}"]@value`}function o(h,d){let b=wo(h,d,t),f=b&&l(b.item,null)||l("@scalar-array-item",null),u=f?Df(f):"input[data-hcms-field]@value";return[s(d,"[data-hcms-array-item]"),u]}function i(h,d){let[,b]=h,f=[...d,"*"],u=s(d,"[data-hcms-card]");if(b&&typeof b=="object"&&!Array.isArray(b)){let m=Object.create(null);for(let[p,v]of Object.entries(b)){if($l.has(p))throw new Error(`hypercms: rule key "${p}" is forbidden at "${f.join(".")}"`);m[p]=n(v,[...f,p])}return[u,m]}return[u,n(b,[...f,0])]}function s(h,d){let b=h.length?h[h.length-1]:"",f=h.some(p=>p==="*"),u=h.join(".");return`${f?`[data-hcms-field="${lr(b)}"]`:`[data-hcms-path="${lr(u)}"]`} > .hcms-array-items > ${d}`}function l(h,d){if(!t)return null;let b=fn(t,h);if(!b)return null;let f=b.content||b;if(d){let u=f.querySelector(`[data-hcms-field="${lr(d)}"]`);if(u)return u}return f.querySelector("[data-hcms-field]")}function a(h,d){if(!t)return null;let b=h.map(m=>typeof m=="number"?"*":m).join("."),u=[h.join("."),b];for(let m=h.length-1;m>=0;m--){let p=h.slice(0,m).map(v=>typeof v=="number"?"*":v);p.push("*"),u.push(p.join("."))}for(let m of u){if(!m)continue;let p=fn(t,m);if(!p||!Ur(p))continue;let v=p.content||p,A=v.querySelector(`[data-hcms-field="${lr(d)}"]`)||v.querySelector("[data-hcms-field]");if(A)return A}return null}}function Hi(e){if(!e)return"";let t=String(e).split(/[?#]/)[0],n=t.split("/").pop()||t;try{return decodeURIComponent(n)}catch{return n}}function ar({pageRules:e,formRules:t,data:n,doc:r}){let o=r.createDocumentFragment(),i=$i(e,[],n,r,e);return i&&o.appendChild(i),o}function Vl({shape:e,itemShape:t,pathArr:n,data:r,doc:o,itemKey:i,pageRules:s}){if(e==="object-array-item")return Kl(t,n,r,o,s);if(e==="scalar-array-item")return Gl(n,r,o,i||null);throw new Error(`hypercms: buildItem called with unknown shape "${e}"`)}function $i(e,t,n,r,o){let i=qn(e);return i==="scalar"?Pf(e,t,n,r,o):i==="object"?Hf(e,t,n,r,o):i==="object-array"?$f(e,t,n,r,o):i==="scalar-array"?Uf(e,t,n,r):null}function Pf(e,t,n,r,o){let i=$r(e,r,t,o),s=sr(t,i,r);if(!s)throw new Error(`hypercms: missing template for scalar at "${t.join(".")}"`);let l=Dl(e,r,t,o);l==="@number"&&i==="@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")&&i==="@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`),Wl(s,l===i?l:null,t);let a=cr(s,r);ur(a,t);let h=s.getAttribute?.("data-hcms-tpl");if((i==="@select"||i==="@radio")&&h===i&&Ff(a,e,t,n,r,i,o),i==="@image"&&h==="@image"){let d=Fl(e,r,t,o);d!=null&&!a.hasAttribute("data-hcms-crop")&&a.setAttribute("data-hcms-crop",d)}return zf(a,xn(t)),Co(a,xn(t)),Oo(a,xn(t)),Ql(a,n),i==="@file"&&Bf(a),a}function Wl(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 Ff(e,t,n,r,o,i,s){let l=Pl(t,o,n,s),a=l?[...l]:[],h=r==null?"":String(r);if(h!==""&&!a.includes(h)&&a.unshift(h),!l&&(qf(e,"data-hcms-options required (space-separated values)"),a.length===0)){e.querySelector(".mirk-radio")?.remove();return}if(i==="@select"){let f=e.querySelector("select[data-hcms-field]");if(!f)return;for(let u of a){let m=o.createElement("option");m.value=u,m.textContent=yo(u),f.appendChild(m)}return}let d=e.querySelector(".mirk-radio");if(!d||!d.parentNode)return;let b=Ui(n.join("."));for(let f of a){let u=d.cloneNode(!0),m=u.querySelector('input[type="radio"]');m&&(m.value=f,m.name=b);let p=u.querySelector(".mirk-radio__label");p&&(p.textContent=yo(f)),d.parentNode.insertBefore(u,d)}d.remove()}function Ui(e){return"hcms-"+String(e).replace(/[^A-Za-z0-9_-]/g,"-")}function qf(e,t){let n=e.querySelector?e.querySelector(".hcms-error"):null;n&&(n.textContent=t,n.hidden=!1)}function Bf(e){let t=e.querySelector?e.querySelector("a.mirk-file__name[data-hcms-field]"):null;t&&(t.textContent=Hi(t.getAttribute("href")))}function Hf(e,t,n,r,o){let i=sr(t,"@object",r);if(!i)throw new Error(`hypercms: missing template for object at "${t.join(".")}"`);let s=cr(i,r);if(ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Ur(i))return ta(s,e,t),ea(s,e,n),s;let l=No(s,".hcms-object-fields",i,t);for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function $f(e,t,n,r,o){let i=sr(t,"@object-array",r);if(!i)throw new Error(`hypercms: missing template for object-array at "${t.join(".")}"`);let s=cr(i,r);ur(s,t),Co(s,xn(t)),Oo(s,xn(t)),Xl(s,i),Zl(s,i,t);let l=No(s,".hcms-array-items",i,t),[,a]=e;return(Array.isArray(n)?n:[]).forEach((d,b)=>{let f=Kl(a,[...t,b],d,r,o);f&&l.appendChild(f)}),Jl(s),s}function Kl(e,t,n,r,o){let i=Yl(t,"object-array-item",r);if(!i)throw new Error(`hypercms: missing item template for "${t.join(".")}"`);let s=cr(i,r);if(s.setAttribute("data-hcms-card",""),s.classList.contains("hcms-card")||s.classList.add("hcms-card"),ur(s,t),Ur(i))return e&&typeof e=="object"&&!Array.isArray(e)&&(ta(s,e,t),ea(s,e,n)),s;let l=No(s,".hcms-card-fields",i,t);if(e&&typeof e=="object"&&!Array.isArray(e))for(let[a,h]of Object.entries(e)){let d=n==null?null:n[a],b=$i(h,[...t,a],d,r,o);b&&l.appendChild(b)}return s}function Uf(e,t,n,r){let o=vo(e,r),i=wo(e,t,r),s=o?o.array:"@scalar-array",l=sr(t,s,r);if(!l)throw new Error(`hypercms: missing template for scalar-array at "${t.join(".")}"`);Wl(l,o?o.array:null,t);let a=cr(l,r);ur(a,t),Co(a,xn(t)),Oo(a,xn(t)),Xl(a,l),Zl(a,l,t),i&&a.setAttribute("data-hcms-item-tpl",i.item);let h=No(a,".hcms-array-items",l,t);return(Array.isArray(n)?n:[]).forEach((b,f)=>{let u=Gl([...t,f],b,r,i?i.item:null);u&&h.appendChild(u)}),Jl(a),a}function Gl(e,t,n,r){let o=Yl(e,"scalar-array-item",n,r);if(!o)throw new Error(`hypercms: missing item template for "${e.join(".")}"`);let i=cr(o,n);return i.setAttribute("data-hcms-array-item",""),i.classList.contains("hcms-array-item")||i.classList.add("hcms-array-item"),ur(i,e),Ql(i,t),i}function Yl(e,t,n,r){let o=e.map(i=>typeof i=="number"?"*":i).join(".");return fn(n,o)||r&&fn(n,r)||fn(n,"@"+t)}function cr(e,t){let n=e.content||e,r=t.createElement("div");return r.appendChild(n.cloneNode(!0)),r.firstElementChild||r}function ur(e,t){e.setAttribute("data-hcms-path",t.join("."))}function zf(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 Co(e,t){t==null||t===""||!e.setAttribute||e.hasAttribute?.("data-hcms-field")||e.setAttribute("data-hcms-field",String(t))}function Oo(e,t){if(t==null||t==="")return;(e.querySelectorAll?e.querySelectorAll("[data-hcms-label]"):[]).forEach(r=>{(r.textContent||"").trim()===""&&(r.textContent=yo(String(t)))})}function Xl(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 Jl(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=zl(e,"data-hcms-max-items"),i=zl(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector('[data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function zl(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Zl(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 xn(e){return e.length?e[e.length-1]:null}function Ql(e,t){let n=Vf(e);if(n.length!==0)for(let r of n)na(r,t)}function Vf(e){if(!e)return[];let t=[];return e.matches?.("[data-hcms-field]")&&Wf(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 Wf(e){let t=(e.tagName||"").toUpperCase();return!!(t==="INPUT"||t==="TEXTAREA"||t==="SELECT"||t==="IMG"||t==="A"||e.hasAttribute?.("contenteditable"))}function ea(e,t,n){(e.querySelectorAll?e.querySelectorAll("[data-hcms-field]"):[]).forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i)return;if(!t||typeof t!="object"||!(i in t)){console.warn(`[hypercms] inline template field "${i}" is not in the rule shape; ignoring`);return}let s=n==null?null:n[i];na(o,s)})}function ta(e,t,n){if(!e.querySelectorAll)return;e.querySelectorAll("[data-hcms-field]").forEach(o=>{let i=o.getAttribute("data-hcms-field");if(!i||t&&typeof t=="object"&&!(i in t))return;let s=[...n,i].join(".");o.setAttribute("data-hcms-path",s)})}function No(e,t,n,r){if(!e.querySelector)return e;let o=e.querySelector(t);if(o)return o;let i=n?.getAttribute?.("data-hcms-tpl")||r.join(".");throw new Error(`hypercms: template "${i}" is in slotted mode but has no ${t} element`)}function na(e,t){let n=Eo(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 Kf={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?Yf(t.uploadFileBasic):null)},Gf={402:"payment-required",413:"too-large",415:"unsupported-type",401:"unauthorized",403:"forbidden",404:"not-found"},zi=()=>({ok:!1,msg:"Upload cancelled",msgType:"skipped",code:"aborted",uploads:[]});function Yf(e){return async function(n,{onProgress:r,signal:o}={}){if(o?.aborted)return zi();try{let i=await e(n,{onProgress:l=>{r?.({loaded:null,total:null,percent:l})}});if(o?.aborted)return zi();let s=i&&i.uploads||[];return typeof s[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:i.msg||"Uploaded",msgType:i.msgType||"success",code:i.code||null,uploads:s}}catch(i){if(o?.aborted)return zi();let s={};try{s=JSON.parse(i?.response||"{}")}catch{s={}}let l=s.code||Gf[i?.status]||"error";return{ok:!1,msg:i&&i.message||"Upload failed",msgType:"error",code:l,uploads:[]}}}}function It(e,t){let n=Kf[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 ra=["clay:mutation-ready","hyperclay:mutation-ready"],oa=["clay:sync-applied","hyperclay:livesync-applied"],ia=["clay:ready","hyperclay:ready"];function fr(e,t,n){let r=null,o=i=>{r!==null&&r!==i.type||(r=i.type,queueMicrotask(()=>{r=null}),n(i))};for(let i of t)e.addEventListener(i,o);return()=>{for(let i of t)e.removeEventListener(i,o)}}var dn="data-hcms-bound",_n="data-hcms-bound-id",Vi=new Map;function sa(e,t){Vi.set(e,t)}function la(e){Vi.delete(e)}function aa(e){let t=e.getAttribute(_n);if(!t)return null;let n=Vi.get(t);return!n||!n.restorable()?null:n.originalHTML}var Bn="data-hcms-owns-richclay";function dr(e){return e&&e.richclay&&e.richclay.RichClay||It("RichClay",e)||(e&&typeof e.RichClay=="function"?e.RichClay:null)}function ca(e,t,n){!e||typeof e.setAttribute!="function"||(e.setAttribute(dn,t?"rich":"plain"),n&&e.setAttribute(Bn,"true"))}function ua(e,t){if(!e||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll(`[${dn}]`);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(Bn)==="true"&&o.removeAttribute("data-richclay"),o.removeAttribute(Bn),o.removeAttribute(dn)}function fa(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(Bn)==="true"&&e.removeAttribute("data-richclay"),e.removeAttribute(Bn),e.removeAttribute(dn),e.removeAttribute(_n)}function da(e,t){if(!t||e==null)return e;return n(e);function n(r){if(typeof r=="string"){if(r.endsWith("[]")||St(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[i,s]of Object.entries(r))o[i]=n(s);return o}return r}}function ha(e,t){if(!t||e==null)return e;return n(e,[t]);function n(r,o){if(typeof r=="string")return r.endsWith("[]")||St(r)!==-1?r:o.some(i=>Xf(i,r))?r+"@innerHTML":r;if(Array.isArray(r)){let[i,s]=r;if(typeof i!="string"||!i)return r;let l=Jf(t,i);return l.length?[i,n(s,l)]:r}if(r&&typeof r=="object"){let i=Object.create(null);for(let[s,l]of Object.entries(r))i[s]=n(l,o);return i}return r}}function Xf(e,t){let n=null;try{n=e.querySelector(t)}catch{return!1}return n?n.hasAttribute(dn)?n.getAttribute(dn)==="rich":n.children.length>0:!1}function Jf(e,t){try{return[...e.querySelectorAll(t)]}catch{return[]}}function hr(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 Cn(e,t,n=!0){if(!e||!e.querySelectorAll||(e.querySelectorAll("textarea[data-hcms-field]").forEach(hr),n===!1))return;let r=t&&t.defaultView||(typeof window<"u"?window:null),o=dr(r);o&&e.querySelectorAll("[contenteditable][data-hcms-field]").forEach(i=>{if(i.__hcmsRichclay)return;let s;try{s=new o(i,{inline:!0,hyperclay:!1,toolbar:["bold","italic","link","undo","redo"]})}catch(a){console.warn("[hypercms] richclay activation failed; field stays plain contenteditable",a);return}i.__hcmsRichclay=s;let l=s&&s.squire;l&&typeof l.addEventListener=="function"&&l.addEventListener("input",()=>{let a=r&&r.Event||Event;i.dispatchEvent(new a("input",{bubbles:!0}))})})}var Wi=new WeakSet;function Hn(e,t){let n=It("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 vn(e){let t=It("undo");if(!t)return e();t.pause();try{return e()}finally{t.discardCaptured(),t.resume()}}function Lo(e){let{formRoot:t}=e;if(!t||Wi.has(t))return;Wi.add(t);let n=s=>{let l=s.target;!l||!l.closest||l.closest("[data-hcms-form-root]")&&l.matches("input, textarea, select, [contenteditable][data-hcms-field]")&&(l.tagName==="TEXTAREA"&&hr(l),!l.matches('input[type="file"]')&&(!l.closest("[data-hcms-field]")&&!l.hasAttribute?.("data-hcms-field")||ma(l,e)))},r=s=>{let l=s.target;if(!(!l||!l.closest)&&l.closest("[data-hcms-form-root]")){if(l.matches('input[type="file"][data-hcms-upload]')){id(l,e);return}l.matches('input[type="checkbox"], input[type="radio"], select')&&ma(l,e)}},o=s=>{let l=s.target;if(!l||!l.closest)return;let a=l.closest("[data-hcms-action]");if(!a)return;let h=a.getAttribute("data-hcms-action");if(h==="add"||h==="remove"||h==="move-up"||h==="move-down"||h==="clear-upload"){if(!a.closest("[data-hcms-form-root]"))return}else if(h==="close"&&!a.closest("[data-hcms-shell]"))return;if(h==="add"){let d=a.closest("[data-hcms-path]");if(!d)return;let b=d.getAttribute("data-hcms-path");zr(b,e)}else if(h==="remove"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Yi(d,e)}else if(h==="move-up"||h==="move-down"){let d=a.closest("[data-hcms-card], [data-hcms-array-item]");if(!d)return;Gi(d,h==="move-up"?-1:1,e)}else h==="clear-upload"?cd(a,e):h==="close"&&e.onCloseRequested?.()},i=t.ownerDocument;i.addEventListener("input",n,!0),i.addEventListener("change",r,!0),i.addEventListener("click",o,!0),e.detachEvents=()=>{i.removeEventListener("input",n,!0),i.removeEventListener("change",r,!0),i.removeEventListener("click",o,!0),Wi.delete(t)}}var Zf=new Set(["value","checked"]);function Qf(e,t){if(!t)return null;let n=yn(t);if(n.some(a=>typeof a=="number"||a==="*"))return null;let r=Fn(e.pageRules,n);if(typeof r!="string")return null;let o=Vt.ruleAttrIndex(r);if(o===-1)return null;let i=r.slice(o+1);if(!Zf.has(i))return null;let s=r.slice(0,o),l=s?e.pageRoot.querySelector(s):e.pageRoot;return l?{el:l,prop:i,oldValue:l[i]}:null}function ma(e,t){let r=(e.closest("[data-hcms-field]")||e).closest("[data-hcms-path]")?.getAttribute("data-hcms-path")||"",o=Qf(t,r);if(tn(Gt(t),{path:r,structural:!1},t),o){let i=It("undo");i&&typeof i.recordValue=="function"&&i.recordValue(o.el,{prop:o.prop,oldValue:o.oldValue,newValue:o.el[o.prop]})}}var ed={type:"image/webp",quality:.85,maxWidth:2048,maxHeight:2048};async function td(e,t){let n=t&&t.getAttribute?t.getAttribute("data-hcms-crop"):null;if(n==null)return{file:e};let r=It("quickcrop");if(typeof r!="function")return{file:e};try{let o=typeof window<"u"&&(window.clay?.modal??window.themodal)||"auto",i=await r(e,{aspect:nd(n),modal:o,...ed});return i===null?null:{file:rd(i.blob,e.name),dataURL:i.dataURL}}catch(o){return pr(t,o&&o.message||"Crop failed"),null}}function nd(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 rd(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 od=new Set(["unsupported","payment-required"]);async function id(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")||"";pr(r,null);let i=await td(n,r);if(!i||t.closed){On(e);return}let s=i.file,l=i.dataURL||null,a=It("upload");if(typeof a!="function")return Ki(e,r,t,o,await pa(s,l,r),s);ya(r,l),ga(r,0);let h=ld(t),d;try{d=await a(s,{signal:h?.signal,onProgress:({percent:f})=>ga(r,f)})}finally{ad(t,h),fd(r)}if(t.closed){On(e);return}if(d.code==="aborted"){On(e);return}if(d.ok)return Ki(e,r,t,o,d.uploads[0].url,s);if(!od.has(d.code)){pr(r,d.msg||"Upload failed"),t.dispatch?.("hcms:error",{error:new Error(d.msg||"Upload failed"),code:d.code,path:o}),On(e);return}let b=d.code==="payment-required"?"This file is stored in the page. Add a paid plan to upload files.":null;return Ki(e,r,t,o,await pa(s,l,r),s,b)}function Ki(e,t,n,r,o,i,s=null){if(n.closed){On(e);return}if(ya(t,null),pr(t,null),!o){On(e);return}ka(t,o,i.name),tn(Gt(n),{path:r,structural:!1},n),s&&pr(t,s,"info"),On(e)}async function pa(e,t,n){return t||await sd(e,n)}function sd(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 ld(e){if(typeof AbortController!="function")return null;let t=new AbortController;return(e.uploads||(e.uploads=new Set)).add(t),t}function ad(e,t){t&&e.uploads?.delete(t)}function cd(e,t){let n=e.closest("[data-hcms-path]");if(!n)return;let r=n.getAttribute("data-hcms-path")||"";ka(n,"","");let o=n.querySelector('input[type="file"][data-hcms-upload]');o&&On(o),pr(n,null),tn(Gt(t),{path:r,structural:!1},t)}function ud(e){return e.querySelector?e.querySelector("img[data-hcms-field], a[data-hcms-field]"):null}function ka(e,t,n){let r=ud(e);if(!r)return;let o=(r.tagName||"").toUpperCase();o==="IMG"?r.src=t||"":o==="A"&&(r.href=t||"",r.textContent=t?n||Hi(t):"")}function On(e){try{e.value=""}catch{}}function ya(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 ga(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 fd(e){e.removeAttribute("data-hcms-uploading"),e.style?.removeProperty?.("--hcms-upload-progress")}function pr(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 zr(e,t){let{formRoot:n,pageRules:r}=t,o=n.querySelector(`[data-hcms-path="${gr(e)}"]`);if(!o)throw new Error(`hypercms: no element at path "${e}"`);let i=o.querySelector(".hcms-array-items");if(!i)throw new Error(`hypercms: array container missing .hcms-array-items at "${e}"`);let s=yn(e),l=gd(r,s),a=Array.isArray(l),h=typeof l=="string"&&l.endsWith("[]");if(!a&&!h)throw new Error(`hypercms: path "${e}" is not an array`);let d=Mo(o,"data-hcms-max-items"),b=i.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]");if(o.hasAttribute("data-hcms-no-add")||d!=null&&b.length>=d)return;let f=b.length,u=a?l[1]:l.replace(/\[\]$/,""),m=Hr(a?u:"string"),p=Vl({shape:a?"object-array-item":"scalar-array-item",itemShape:u,pathArr:[...s,f],data:m,doc:t.doc,itemKey:o.getAttribute("data-hcms-item-tpl")||null,pageRules:r});return i.appendChild(p),Cn(p,t.doc,t.view?.enhanceFormRichText!==!1),Ji(o),Hn(`Add ${e}`,()=>tn(Gt(t),{path:e,structural:!0},t))}function Gi(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 i=Array.from(o.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]")),s=i.indexOf(e);if(s<0)return;let l=s+t;if(l<0||l>=i.length)return;let a=e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`);return t<0?o.insertBefore(e,i[l]):o.insertBefore(e,i[l].nextSibling),Zi(o),Ji(r),a&&typeof a.focus=="function"&&e.querySelector(`[data-hcms-action="${t<0?"move-up":"move-down"}"]`)?.focus?.(),Hn(`Reorder ${r.getAttribute("data-hcms-path")||""}`,()=>tn(Gt(n),{path:r.getAttribute("data-hcms-path")||"",structural:!0},n))}var Ro="Delete this item?";function dd(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||Ro;let r=t&&t.confirmRemove;return r===!1?null:typeof r=="string"?r||Ro:r===!0||e&&e.getAttribute("data-hcms-shape")==="object-array"?Ro:null}function Yi(e,t){let n=e.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]'),r=dd(n,t);if(r==null)return mr(e,t);let o=It("consent")||typeof window<"u"&&window.consent;typeof o=="function"?Promise.resolve(o(r)).then(()=>{t.closed||mr(e,t)},()=>{}):typeof window<"u"&&typeof window.confirm=="function"?window.confirm(r)&&mr(e,t):mr(e,t)}function mr(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 i=Mo(o,"data-hcms-min-items"),s=o.querySelector(".hcms-array-items"),l=s?s.querySelectorAll(":scope > [data-hcms-card], :scope > [data-hcms-array-item]").length:0;if(i!=null&&l<=i)return}return e.remove(),r&&Zi(r),o&&Ji(o),Hn(`Remove ${n}`,()=>tn(Gt(t),{path:n,structural:!0},t))}}function tn(e,t,n){if(n.closed)return{ok:!1,skipped:!0,closed:!0};let r=Vr(e);if(!t.structural&&r===n.lastFingerprint)return{ok:!0,skipped:!0};let o=Object.hasOwn(n,"writeRules")?n.writeRules:n.pageRules,i=Nl(n.pageRoot,o,e,{shellRoot:n.shellRoot,structural:!!t.structural,structuralPath:t.path||null,formRoot:n.formRoot});return i.ok?(n.lastFingerprint=r,n.lastData=e,ba(n,null),n.dispatch?.("hcms:change",{data:e,path:t.path,structural:!!t.structural}),n.onChange?.(e,t)):(ba(n,pd(i.error,t.path)),n.dispatch?.("hcms:error",{error:i.error,attemptedData:e}),n.onError?.(i.error)),i}function Io(e,t){let n=gr(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 jo(e,t,n,r){let o=(e.tagName||"").toUpperCase(),i=(e.getAttribute("type")||"").toLowerCase();if(o==="INPUT"&&i==="checkbox"){e.checked=t===!0||t==="true";return}if(o==="INPUT"&&i==="radio"){let s=gr(r),l=n.querySelectorAll(`[data-hcms-path="${s}"][data-hcms-field][type="radio"], [data-hcms-path="${s}"] [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 Gt(e){let t=Vt.extract(e.formRoot,e.formRules,{exclude:null});return Nn(t,e.formRules)}function Nn(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=>Nn(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]=Nn(e[r],o);return n}return e}function ba(e,t){e.lastErrors=t&&t.length?t:null,Xi(e)}function Xi(e){if(hd(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=md(e.formRoot,r);if(o){o.textContent=o.textContent?`${o.textContent}
|
|
152
|
+
${n}`:n,o.hidden=!1;continue}}t.push(n)}t.length&&e.errorEl&&(e.errorEl.textContent=t.join(`
|
|
153
|
+
`),e.errorEl.hidden=!1)}function hd(e){if(e.formRoot)for(let t of e.formRoot.querySelectorAll(".hcms-error"))t.textContent="",t.hidden=!0}function md(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,s=>"\\"+s),i=e.querySelector(`[data-hcms-path="${o}"]`);if(i){for(let s of i.children)if(s.classList&&s.classList.contains("hcms-error"))return s}n.pop()}return null}function pd(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 gd(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 Mo(e,t){if(!e||!e.hasAttribute(t))return null;let n=parseInt(e.getAttribute(t),10);return Number.isFinite(n)?n:null}function Ji(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=Mo(e,"data-hcms-max-items"),i=Mo(e,"data-hcms-min-items"),s=e.hasAttribute("data-hcms-no-add"),l=e.hasAttribute("data-hcms-no-remove"),a=e.hasAttribute("data-hcms-no-reorder"),h=e.querySelector(':scope > .hcms-add, :scope > * > .hcms-add, :scope > [data-hcms-action="add"]');h&&(h.hidden=s||o!=null&&r>=o),n.forEach((d,b)=>{let f=d.querySelector('[data-hcms-action="remove"]');f&&(f.hidden=l||i!=null&&r<=i);let u=d.querySelector('[data-hcms-action="move-up"]');u&&(u.hidden=a||b===0);let m=d.querySelector('[data-hcms-action="move-down"]');m&&(m.hidden=a||b===r-1)})}function Do(e){!e||!e.querySelectorAll||e.querySelectorAll(".hcms-array-items").forEach(t=>Zi(t))}function Zi(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 i=o.split(".");i[i.length-1]=String(n);let s=i.join(".");s!==o&&bd(r,o,s),n++}for(let[r,o]of t)r.checked!==o&&(r.checked=o)}function bd(e,t,n){let r=e.querySelectorAll("[data-hcms-path]");e.setAttribute("data-hcms-path",n);for(let o of r){let i=o.getAttribute("data-hcms-path");i===t?o.setAttribute("data-hcms-path",n):i&&i.startsWith(t+".")&&o.setAttribute("data-hcms-path",n+i.slice(t.length))}kd(e)}function kd(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=Ui(n.getAttribute("data-hcms-path")))}}function Vr(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 gr(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Sd={},Po="hcms-shell-styles",yd="hcms-bundled-styles-installed",Fo="hcms-session-open",xd='a[href], area[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])',br=new WeakSet,Qi="";function va(e){Qi=e}function Wr(e){e?.body?.classList.add(Fo)}function es(e){e?.body?.classList.remove(Fo)}var vd=0;function xa(e){return String(e).replace(/[&<>"]/g,t=>({"&":"&","<":"<",">":">",'"':"""})[t])}function wa({mountTo:e,side:t="right",overlay:n=!1,showSaveButton:r=!1,title:o="Page content",eyebrow:i="Edit",theme:s=null,doc:l}){Aa(l);let a=`hcms-shell-title-${++vd}`,h=l.createElement("div");h.setAttribute("data-hcms-shell",""),h.setAttribute("editor-ui",""),h.setAttribute("save-remove",""),h.setAttribute("save-ignore",""),h.setAttribute("tabindex","-1"),h.setAttribute("role","dialog"),h.setAttribute("aria-modal","true"),h.setAttribute("aria-labelledby",a);let d=s==="dark"?" dark":s==="light"?" light":"";h.className="hcms-shell pixel-quiet hcms-panel hcms-side-"+t+(n?" hcms-overlay":"")+d;let b=xa(o),f=xa(i);h.innerHTML=`
|
|
153
154
|
<div class="hcms-shell-minibar" aria-hidden="true">
|
|
154
|
-
<span class="hcms-shell-minibar-title">${
|
|
155
|
+
<span class="hcms-shell-minibar-title">${b}</span>
|
|
155
156
|
<button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
|
|
156
157
|
<span class="mirk-button__label">\xD7</span>
|
|
157
158
|
</button>
|
|
@@ -159,8 +160,8 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
159
160
|
<div class="hcms-shell-body">
|
|
160
161
|
<header class="hcms-shell-header">
|
|
161
162
|
<div class="hcms-shell-heading">
|
|
162
|
-
<div class="hcms-shell-eyebrow">${
|
|
163
|
-
<h2 class="hcms-shell-title" id="${
|
|
163
|
+
<div class="hcms-shell-eyebrow">${f}</div>
|
|
164
|
+
<h2 class="hcms-shell-title" id="${a}">${b}</h2>
|
|
164
165
|
</div>
|
|
165
166
|
<button type="button" class="hcms-shell-close mirk-button mirk-button--small" data-hcms-action="close" aria-label="Close">
|
|
166
167
|
<span class="mirk-button__label">\xD7</span>
|
|
@@ -169,27 +170,139 @@ ${r}`:r,i.hidden=!1;continue}}t.push(r)}t.length&&e.errorEl&&(e.errorEl.textCont
|
|
|
169
170
|
<div class="hcms-shell-notice" role="status" hidden></div>
|
|
170
171
|
<div class="hcms-shell-error" role="alert" hidden></div>
|
|
171
172
|
<div data-hcms-form-root class="hcms-form"></div>
|
|
172
|
-
<footer class="hcms-shell-footer"${
|
|
173
|
+
<footer class="hcms-shell-footer"${r?"":" hidden"}>
|
|
173
174
|
<button type="button" class="hcms-shell-save mirk-button" trigger-save>
|
|
174
175
|
<span class="mirk-button__label">Save</span>
|
|
175
176
|
</button>
|
|
176
177
|
</footer>
|
|
177
178
|
</div>
|
|
178
|
-
`,(e||
|
|
179
|
-
#hcms-toggle {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
179
|
+
`,(e||l.body).appendChild(h);let m=l.body;m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left");let p=Ad(h,l),v=wd(h);return{root:h,formRoot:h.querySelector("[data-hcms-form-root]"),noticeEl:h.querySelector(".hcms-shell-notice"),errorEl:h.querySelector(".hcms-shell-error"),saveButton:h.querySelector(".hcms-shell-save"),destroy(){p.detach(),v.detach(),h.remove(),m.classList.remove("hcms-open","hcms-overlay","hcms-side-left"),es(l)},restoreChrome(){Rn(l),m.classList.add("hcms-open"),Wr(l),n&&m.classList.add("hcms-overlay"),t==="left"&&m.classList.add("hcms-side-left")}}}function Rn(e){e&&(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")||(br.delete(e),Aa(e)))}function Aa(e){if(e&&!br.has(e)){if(e[yd]){br.add(e);return}if(e.getElementById(Po)||e.querySelector("style[data-hcms-bundled-styles]")){br.add(e);return}if(Qi){let t=e.createElement("style");t.id=Po,t.setAttribute("save-remove",""),t.setAttribute("save-ignore",""),t.textContent=Qi,(e.head||e.documentElement).appendChild(t),br.add(e);return}try{let t=new URL("./theme.generated.css",Sd.url).href,n=e.createElement("link");n.rel="stylesheet",n.id=Po,n.setAttribute("save-remove",""),n.setAttribute("save-ignore",""),n.href=t,(e.head||e.documentElement).appendChild(n),br.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 wd(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 Ad(e,t){function n(r){if(r.key!=="Tab"||!e.contains(t.activeElement))return;let o=Array.from(e.querySelectorAll(xd));if(o.length===0)return;let i=o[0],s=o[o.length-1];r.shiftKey&&t.activeElement===i?(r.preventDefault(),s.focus()):!r.shiftKey&&t.activeElement===s&&(r.preventDefault(),i.focus())}return t.addEventListener("keydown",n),{detach:()=>t.removeEventListener("keydown",n)}}var Td="[hypercms]",Sa={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Ta={skip:"[data-hcms-shell]",templateAttr:null},ts=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 Bo(e,t){let n=[],r=[],o=[];return rs(kn(e),e,t,[],n,r,o),{missing:Ea(n),twins:Nd(r),readOnly:Ea(o)}}function Ho(e){return ns(e)}function ns(e){if(typeof e=="string")return _a(e)?void 0:e;if(Array.isArray(e)){let[t,n]=e;return[t,ns(n)]}if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e)){let o=ns(r);o!==void 0&&(t[n]=o)}return t}return e}function rs(e,t,n,r,o,i,s){if(typeof n=="string"){let l=Ed(n),a=l?qo(e,t,l,Sa,r):[];if(_a(n)){s.push(kr(r));return}if(!l)return;if(n.endsWith("[]")){a.length===0&&qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}a.length===0?o.push(kr(r)):a.length>1&&i.push({path:kr(r),count:a.length});return}if(Array.isArray(n)){let[l,a]=n;if(typeof l!="string"||!l)return;let h=qo(e,t,l,Sa,r);if(h.length===0){qo(e,t,l,Ta,r).length===0&&o.push(kr(r));return}for(let d of h)rs(e,d,a,[...r,"*"],o,i,s);return}if(n&&typeof n=="object")for(let[l,a]of Object.entries(n))rs(e,t,a,[...r,l],o,i,s)}function qo(e,t,n,r,o){try{return e.find(t,n,r)}catch(i){throw new ts(kr(o),n,i)}}function Ed(e){if(e==="."||e.startsWith("@"))return null;if(e.endsWith("[]"))return e.slice(0,-2)||null;let t=St(e);return(t===-1?e:e.slice(0,t))||null}function _d(e){if(e.endsWith("[]"))return null;let t=St(e);return t===-1?null:e.slice(t+1)||null}function _a(e){let t=_d(e);return t!=null&&Mr.has(t)}function yr(e){Cd(e),Od(e)}function Cd(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 i=n.length===1?"1 field no longer matches this page":`${n.length} fields no longer match this page`;o.push(`${i}: ${n.join(", ")}`)}if(r.length){let i=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(`${i}: ${r.join(", ")}`)}t.textContent=o.join(`
|
|
180
|
+
`),t.hidden=!1}function Od(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(`${Td} "${r}" matches ${o} elements; edits go to the first one.`)}}function Ea(e){return[...new Set(e)]}function Nd(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 kr(e){return e.length?e.join("."):"(whole page)"}var Rd={skip:"[data-hcms-shell]",templateAttr:"cms-template"};function Mn(e,{ignoreActiveValue:t}={}){return Md(e,{ignoreActiveValue:t})}function Md(e,{ignoreActiveValue:t}){let n=Vt.findRules(e.doc,e.rulesSource||"cms");n&&(e.pageRules=e.view.prepareRules(n.rules),e.rulesTagNode=n.tagNode),xo(e.doc),To(e.doc,e.pageRules),e.formRules=_o(e.pageRules,e.doc),e.writeRules=Ho(e.pageRules),e.unresolved=Bo(e.pageRoot,e.pageRules);let r=bo(),o=Nn(Vt.extract(e.pageRoot,e.pageRules,{...Rd,...r.hooks}),e.pageRules),i=ar({pageRules:e.pageRules,formRules:e.formRules,data:o,doc:e.doc});go(e.formRoot,i,{ignoreActiveValue:t}),r.seed(e.formRoot),Cn(e.formRoot,e.doc,e.view?.enhanceFormRichText!==!1),Xi(e),yr(e),e.updateFingerprint&&e.updateFingerprint()}function Ca({debounce:e=100,onRefresh:t}){let n=It("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 Ld='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])';function Oa({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(i){return r?da(i,t):i},mount(i){let s=this.ctx;o=vn(()=>wa({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=ar({pageRules:s.pageRules,formRules:s.formRules,data:i,doc:e});o.formRoot.appendChild(l),s.seeder.seed(o.formRoot),Cn(o.formRoot,e),yr(s),Lo(s)},refresh(i){if(i==="livesync"){o?.restoreChrome?.(),Mn(this.ctx,{ignoreActiveValue:!0});return}if(i==="undo"){Mn(this.ctx,{ignoreActiveValue:!1});return}Mn(this.ctx)},focusOnOpen(){let i=this.root&&this.root.querySelector(Ld);i&&typeof i.focus=="function"&&i.focus()},destroy(){o?.destroy(),o=null}}}var Id="[cms-template], [data-hcms-shell]";function Kr(e){if(!e||typeof e.getBoundingClientRect!="function"||typeof e.closest=="function"&&e.closest(Id))return!1;let t=e.getBoundingClientRect();return t.width>=8&&t.height>=8}var jd={skip:"[data-hcms-shell]",templateAttr:"cms-template"},Dd={skip:"[data-hcms-shell]",templateAttr:null},Pd="text",Fd="native",Na="handle",qd=new Set(["INPUT","TEXTAREA","SELECT"]),La=new Set(["IMG","INPUT","TEXTAREA","SELECT","OPTION","BR","HR","VIDEO","AUDIO","IFRAME","EMBED","OBJECT","CANVAS","SOURCE","TRACK","AREA","COL","PARAM","BUTTON"]);function is(e,t){return Bd(e,t)}function Bd(e,t){let n=[],r=[],o=kn(e);return os(o,e,t,[],n,r),{targets:n,lists:r}}function os(e,t,n,r,o,i){if(typeof n=="string"){if(n.endsWith("[]")){let d=n.slice(0,-2);if(!d)return;let b=$o(e,t,d);b.forEach((f,u)=>{o.push(Ma([...r,u],f,n,null))}),i.push(Ra(e,t,r,d,b,!0));return}let s=St(n),l=s===-1?null:n.slice(s+1),a=s===-1?n:n.slice(0,s),h=!a||a==="."?t:$o(e,t,a)[0];h&&o.push(Ma(r,h,n,l));return}if(Array.isArray(n)){let[s,l]=n;if(typeof s!="string"||!s)return;let a=$o(e,t,s);a.forEach((h,d)=>os(e,h,l,[...r,d],o,i)),i.push(Ra(e,t,r,s,a,typeof l=="string"));return}if(n&&typeof n=="object")for(let[s,l]of Object.entries(n))os(e,t,l,[...r,s],o,i)}function Ra(e,t,n,r,o,i){let s=o[0]?o[0].parentElement:null;if(!s){let l=$o(e,t,r,Dd)[0];s=l?l.parentElement:null}return{path:n,items:o,container:s,scalar:i}}function Ma(e,t,n,r){return{path:e,el:t,rule:n,attr:r,kind:Hd(t,r),icon:Ud(t,r)}}function Hd(e,t){let n=(e.tagName||"").toUpperCase();return!t||t==="innerHTML"?La.has(n)?Na:Pd:t==="value"&&qd.has(n)&&!e.readOnly&&!$d(e)?Fd:Na}function $d(e){return e.disabled?!0:typeof e.matches=="function"&&e.matches(":disabled")}function Ud(e,t){let n=(e.tagName||"").toUpperCase();return(!t||t==="innerHTML")&&!La.has(n)?null:n==="IMG"||t==="srcset"?"camera":n==="A"&&t==="href"?"paperclip":"pencil"}function $o(e,t,n,r=jd){try{return e.find(t,n,r)}catch{return[]}}var Ia=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"]})}),zd=Object.freeze({"editor-ui":Object.freeze(["no-data","no-save","no-snapshot","no-watch","no-undo"])}),nk=Object.freeze(["no-save","no-snapshot","no-trigger-autosave","no-dirty","no-watch","no-undo","no-data","freeze","editor-ui"]);function ss(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 Vd(e,t){if(ss(e,t))return!0;for(let[n,r]of Object.entries(zd))if(r.includes(t)&&ss(e,n))return!0;return!1}function Gr(e){let t=Ia[e];if(!t)throw new Error(`Unknown region capability: ${e}`);return[...t.tokens,...t.bundles].flatMap(n=>[`[clay~="${n}"]`,`[${n}]`]).join(", ")}function Wd(e,t){let n=e&&e.nodeType===1?e:e?.parentElement;for(;n&&n.nodeType===1;){let r=Ia[t];if(!r)throw new Error(`Unknown region capability: ${t}`);if(r.tokens.some(o=>Vd(n,o))||r.bundles.some(o=>ss(n,o)))return n;n=n.parentElement}return null}function ja(e,t){return!!Wd(e,t)}var Kd=/:(?:focus(?:-within|-visible)?|hover|active|visited|defined)\b/i;function Da(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 Pa(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 Fa(e,t,n,r,o,i,s,l){if(e.nodeType===1&&((s?ja(e,n):Pa(e,r,i,!1))||o&&Pa(e,o,i,s)))return null;let a=t.importNode(e,!1);l.cloneToLive.set(a,e),l.liveToClone.set(e,a);let h=e.nodeType===1&&e.tagName==="TEMPLATE"?e.content:e,d=a.nodeType===1&&a.tagName==="TEMPLATE"?a.content:a;h!==e&&(l.cloneToLive.set(d,h),l.liveToClone.set(h,d));for(let b of h.childNodes||[]){let f=Fa(b,t,n,r,o,i,s,l);f&&(d.appendChild(f),b.nodeType===1&&Da(b,f))}return e.nodeType===1&&Da(e,a),a}function ls(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 i=o.implementation.createHTMLDocument(""),s=new WeakMap,l=new WeakMap,a=e.nodeType===9?e.documentElement:e;n&&i.documentElement.matches(n);let h=Gr(t),d=Fa(a,i,t,h,n,a,r,{cloneToLive:s,liveToClone:l});e.nodeType===9&&d&&(i.replaceChild(d,i.documentElement),l.set(e,i),s.set(i,e));let b=f=>{if(Kd.test(f))throw new Error(`Filtered content queries do not support stateful selector: ${f}`)};return{root:d,document:i,capability:t,selector:Gr(t),cloneToLive:s,liveToClone:l,original(f){return s.get(f)||null},cloneOf(f){return l.get(f)||null},query(f,u=d){return b(f),Array.from(u.querySelectorAll(f),m=>s.get(m)||m)},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 u=f===d?d:l.get(f);return u?i.importNode(u,!0):null}}}var Gd=[16,8,0],jt=8,Yd=4;function qa({anchor:e,bar:t,rail:n=t,viewport:r,current:o=null}){let i=f=>o===f?Yd:0;if(e.bottom<=0||e.top>=r.height||e.right<=0||e.left>=r.width)return{mode:"hidden",x:0,y:0};let s=f=>Math.max(jt,Math.min(e.left,r.width-f-jt)),l=e.top-16-t.height;if(l>=jt-i("above"))return{mode:"above",x:s(t.width),y:l};let a=e.bottom+16;if(a+t.height<=r.height-jt+i("below"))return{mode:"below",x:s(t.width),y:a};let h=r.width-e.right-jt,d=e.left-jt,b=h>=d?[["rail-right",h],["rail-left",d]]:[["rail-left",d],["rail-right",h]];for(let[f,u]of b)for(let m of Gd){if(n.width+m>u+i(f))continue;let p=f==="rail-right"?Math.min(e.right+m,r.width-n.width-jt):Math.max(e.left-m-n.width,jt),v=Math.min(e.bottom,r.height-jt)-n.height,A=Math.max(jt,Math.min(Math.max(e.top,jt),v));return{mode:f,x:p,y:A,gap:m}}return{mode:"pinned",x:s(t.width),y:jt}}function as({anchor:e,handle:t,viewport:n,inset:r=6,prefer:o="auto"}){let i=e.height>=t.height*1.5&&e.width>=t.width*2;if(o==="corner"||i){let f=Math.max(jt,Math.min(e.right-t.width+r,n.width-t.width-jt)),u=Math.max(jt,Math.min(e.top-r,n.height-t.height-jt));return{x:f,y:u,mode:"over"}}let s=4,l=e.right+s+t.width<=n.width-jt,a=l?e.right+s:e.left-s-t.width,h=Math.max(jt,a),d=e.top+e.height/2-t.height/2,b=Math.max(jt,Math.min(d,n.height-t.height-jt));return{x:h,y:b,mode:l?"beside-right":"beside-left"}}var zo=!1;function Ba(){if(zo)return;let e=It("onPrepareForSave");typeof e=="function"&&(e(t=>{$a(t),Ha(t)}),zo=!0)}function Ha(e){let t=e&&e.querySelector&&e.querySelector("body");t&&t.classList.remove("hcms-open","hcms-overlay","hcms-side-left",Fo)}function $a(e){if(!(!e||typeof e.querySelectorAll!="function"))for(let t of e.querySelectorAll(`[${_n}]`)){let n=aa(t);n!==null&&(t.innerHTML=n),t.removeAttribute(_n)}}var Vo=!1;function Wo(){if(Vo)return;let e=It("onSnapshot");typeof e=="function"&&(e(t=>{$a(t),ua(t,typeof window<"u"?window:null),Ha(t)}),Vo=!0)}function Ua(){Ba(),Wo(),(!zo||!Vo)&&Xd()}var Uo=null;function Xd(){if(Uo||typeof document>"u")return;Uo=fr(document,ia,()=>{Ba(),Wo(),zo&&Vo&&(Uo?.(),Uo=null)})}var Jd={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 $n(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="${Jd[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 za="data-hcms-ghost",Zd=Gr("history");function Qd(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 Va({doc:e,themeRoot:t,onAdd:n,onResize:r}){let o=e.defaultView,i=[],s=!1,l=null,a=new Map;function h(u,m,p){u.style[m]!==p&&(u.style[m]=p)}function d(){let u=new Set(i.map(m=>m.node.parentElement));for(let[m,p]of a)u.has(m)&&o?.Sortable?.get(m)===p.instance||(p.instance.option("draggable")===p.selector&&p.instance.option("draggable",p.original),a.delete(m));for(let m of u){let p=o?.Sortable?.get(m);if(!p)continue;let v=p.option("draggable");if(a.get(m)?.selector===v)continue;let A=v,L=`${A.trim().startsWith(">")?"> ":""}:is(${A.trim().replace(/^>\s*/,"")}):not(${Zd})`;p.option("draggable",L),a.set(m,{instance:p,original:A,selector:L})}}function b(){for(let u of i){let{node:m,slot:p,list:v}=u,A=v.items.filter(M=>M.isConnected).map(M=>M.getBoundingClientRect()).filter(M=>M.width>0&&M.height>0);A.length&&(u.width=A.reduce((M,L)=>M+L.width,0)/A.length,u.height=A.reduce((M,L)=>M+L.height,0)/A.length),h(m,"width",u.width?`${Math.round(u.width)}px`:"100%"),h(p,"height",`${Math.max(48,Math.round(u.height||64))}px`),p!==m&&(p.colSpan=Math.max(1,...v.items.map(M=>[...M.children].reduce((L,H)=>L+(H.colSpan||1),0)))),m.hidden!==s&&(m.hidden=s)}d()}function f(u,m){let p=m.tagName,v=["TBODY","THEAD","TFOOT","TABLE"].includes(p),A=e.createElement(v?"tr":["UL","OL","MENU"].includes(p)?"li":"div");for(let B of[za,"data-hcms-shell","editor-ui","no-watch","no-save","save-remove","snapshot-remove"])A.setAttribute(B,"");A.setAttribute("draggable","false"),A.setAttribute("contenteditable","false"),A.className="hcms-shell pixel-quiet hcms-inline-ghost";for(let B of["light","dark"])A.classList.toggle(B,!!t?.classList.contains(B));let M=v?e.createElement("td"):A;M!==A&&(M.className="hcms-inline-ghost-cell",A.appendChild(M));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">${$n("add")}<span>Add</span></span>`,M.appendChild(L);let H={node:A,slot:M,button:L,list:u,width:0,height:0};L.addEventListener("click",B=>{B.preventDefault(),B.stopPropagation(),n(H.list)});for(let B of["pointerdown","mousedown","touchstart","click"])A.addEventListener(B,te=>te.stopPropagation());return A.addEventListener("dragstart",B=>{B.preventDefault(),B.stopPropagation()}),H}return{setLists(u){let m=new Set(i),p=[],v=new Set(i.map(M=>M.node)),A=new Set;for(let M of u||[]){if(!M.container||!M.container.isConnected)continue;let{parent:L,anchor:H}=Qd(M);if(!L)continue;if(!A.has(L)){for(let re of L.querySelectorAll(`:scope > [${za}]`))v.has(re)||re.remove();A.add(L)}let B=i.find(re=>m.has(re)&&re.list.container===M.container&&re.list.path.join(".")===M.path.join("."))||f(M,L);m.delete(B),B.list=M,B.button.setAttribute("data-hcms-list",M.path.join(".")),B.button.setAttribute("aria-label",`Add to ${M.path.join(".")||"the list"}`);let te=H||M.items.filter(re=>re.parentElement===L).at(-1);te?te.nextSibling!==B.node&&te.after(B.node):B.node.parentElement!==L&&L.appendChild(B.node),p.push(B)}for(let M of m)M.node.remove();i=p,l?.disconnect(),!l&&typeof o?.ResizeObserver=="function"&&(l=new o.ResizeObserver(()=>{b(),r?.()}));for(let M of i)for(let L of M.list.items)l?.observe(L);b()},update:b,setHidden(u){s=!!u,b()},destroy(){l?.disconnect();for(let u of i)u.node.remove();i=[],d()}}}var Wa=[["move-up","Move up"],["move-down","Move down"]],eh={prefer:"corner",inset:0};function th(e,t){return t.width<=e.width&&t.height<=e.height}function Ka({doc:e,layerEl:t,onActivate:n,onListAction:r}){let o=e.defaultView,i=[],s=new Map,l=0,a=new Map,h=null,d=new Set,b=0,f=!1,u=null,m=null,p=null,v=null,A=new Map,M=!1,L=null,H=Va({doc:e,themeRoot:t.closest("[data-hcms-shell]"),onResize:te,onAdd:g=>r?.({action:"add",list:g,index:g.items.length})}),B=e.createElement("div");B.className="hcms-inline-highlight",B.hidden=!0,B.setAttribute("aria-hidden","true"),t.appendChild(B);function te(){if(!(b||!o)){if(typeof o.requestAnimationFrame!="function")return K();b=o.requestAnimationFrame(()=>{b=0,K()})}}let re=()=>p||v;function K(){if(!o)return;H.update();let g={width:o.innerWidth,height:o.innerHeight},y=re();for(let O of i){if(!O.visible){O.node.hidden=!0;continue}for(let ge of O.members)ge.node.hidden=M&&ge.kind!=="handle";O.node.hidden=!1;let _=O.el.getBoundingClientRect(),E=O.node.getBoundingClientRect(),I=E.width,N=O.kind==="row"&&!th(_,E);if(N&&O.el!==y){for(let ge of O.members)ge.kind==="row"&&(ge.node.hidden=!0);E=O.node.getBoundingClientRect()}if(O.members.every(ge=>ge.node.hidden)){O.node.hidden=!0;continue}let j=O.kind==="handle"?null:eh,{x:J,y:$}=as({anchor:_,handle:E,viewport:g,...j}),ce=O.members.find(ge=>ge.kind==="handle");if(N&&ce){let ge=ce.node.getBoundingClientRect(),ht=as({anchor:_,handle:ge,viewport:g}),ft=O.members.slice(O.members.indexOf(ce)+1).filter(ue=>!ue.node.hidden).reduce((ue,Ge)=>ue+Ge.node.getBoundingClientRect().width+2,0);J=Math.max(8+I,Math.min(g.width-8,ht.x+ge.width+ft))-E.width,$=ht.y}O.node.style.transform=`translate(${Math.round(J)}px, ${Math.round($)}px)`}if(L)if(!L.node.isConnected||L.node.closest("[hidden]"))C();else{let O=L.button.getBoundingClientRect(),_=L.menu.getBoundingClientRect();L.menu.style.left=`${Math.max(8,O.right-_.width)-O.left}px`,L.menu.style.right="auto",L.menu.style.top=O.bottom+6+_.height>g.height-8?"auto":"calc(100% + 6px)",L.menu.style.bottom=O.bottom+6+_.height>g.height-8?"calc(100% + 6px)":"auto"}xe(),u?.()}function W(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=A.get(y);if(O)return O}return null}function he(g){L&&!L.node.contains(g.target)&&C();let y=re();v=W(g.target),v&&t.contains(g.target)&&(p=null),re()!==y&&te()}function V(g){if(g.relatedTarget||!v)return;let y=re();v=null,re()!==y&&te()}function xe(){if(!m||B.hidden)return;let g=m.getBoundingClientRect();B.style.width=`${Math.round(g.width)}px`,B.style.height=`${Math.round(g.height)}px`,B.style.transform=`translate(${Math.round(g.left)}px, ${Math.round(g.top)}px)`}function We(){if(!o||typeof o.IntersectionObserver!="function"){for(let y of i)y.visible=!0;return}h||(h=new o.IntersectionObserver(y=>{let O=!1;for(let _ of y)for(let E of s.get(_.target)||[])E.visible!==_.isIntersecting&&(E.visible=_.isIntersecting,O=!0);O&&te()},{threshold:0}));let g=new Set(s.keys());for(let y of d)g.has(y)||h.unobserve(y);for(let y of g)d.has(y)||h.observe(y);d=g}function at(){f||!o||(o.addEventListener("scroll",te,{passive:!0,capture:!0}),o.addEventListener("resize",te,{passive:!0}),e.addEventListener("focusin",he),e.addEventListener("focusout",V),e.addEventListener("pointerdown",G,!0),e.addEventListener("keydown",ye,!0),f=!0)}function Nt(){!f||!o||(o.removeEventListener("scroll",te,{capture:!0}),o.removeEventListener("resize",te),e.removeEventListener("focusin",he),e.removeEventListener("focusout",V),e.removeEventListener("pointerdown",G,!0),e.removeEventListener("keydown",ye,!0),f=!1)}function xt(g){return`${g.kind}\0${g.attr||""}`}function _e(g,y){return g.container===y.container&&g.scalar===y.scalar}function dt(g,y){return g.kind!==y.kind?!1:g.kind==="handle"?xt(g.target)===xt(y.target):g.kind==="row"?g.row===y.row&&_e(g.list,y.list):_e(g.list,y.list)}function Ze(g,y){g.target=y;let O=y.path.join(".");g.node.setAttribute("data-hcms-target",O),y.icon?g.node.setAttribute("data-hcms-icon",y.icon):g.node.removeAttribute("data-hcms-icon"),g.node.setAttribute("aria-label",`Edit ${O}`)}function Rt(g){let y=e.createElement("button");y.type="button",y.className="hcms-inline-handle mirk-button mirk-button--small",y.innerHTML=`<span class="mirk-button__label">${$n("edit")}</span>`;let O={node:y,kind:"handle",target:g};return Ze(O,g),y.addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),n?.(O.target,y)}),O}function nt(g,y){let O=e.createElement("button");return O.type="button",O.className="hcms-inline-list-button mirk-button mirk-button--small",O.setAttribute("data-hcms-list-action",g),O.setAttribute("aria-label",y),O.innerHTML=`<span class="mirk-button__label">${$n(g)}${g==="add"?"<span>Add</span>":""}</span>`,O}function Qe(g,{list:y,row:O,rowIndex:_,count:E}){let I=y.path.join(".");g.list=y,g.row=O,g.index=_,g.count=E,g.node.setAttribute("data-hcms-list",I),g.node.setAttribute("data-hcms-row",String(_));for(let N of g.node.querySelectorAll("[data-hcms-list-action]")){let j=N.getAttribute("data-hcms-list-action"),J=Wa.find(([$])=>$===j)?.[1]||j;N.setAttribute("aria-label",`${J} ${I}.${_}`),N.disabled=j==="move-up"&&_===0||j==="move-down"&&_===E-1}}function ct(g,y,O,_){let E=e.createElement("div");E.className="hcms-inline-row-controls";let I={node:E,kind:"row",list:g,row:y,index:O,count:_};for(let[N,j]of Wa){let J=nt(N,j);J.addEventListener("click",$=>{$.preventDefault(),$.stopPropagation(),!J.disabled&&r?.({action:N,list:I.list,index:I.index,row:I.row})}),E.appendChild(J)}return Qe(I,{list:g,row:y,rowIndex:O,count:_}),I}function C(g=!1){if(!L)return;let y=L;L=null,y.menu.hidden=!0,y.button.setAttribute("aria-expanded","false"),y.node.parentElement?.classList.remove("has-open-settings"),g&&y.button.isConnected&&y.button.focus({preventScroll:!0})}function G(g){L&&!L.node.contains(g.target)&&C()}function ye(g){L&&(g.key==="Escape"?(g.preventDefault(),g.stopPropagation(),C(!0)):g.key==="Tab"?C(!0):["ArrowDown","ArrowUp","Home","End"].includes(g.key)&&L.menu.contains(g.target)&&(g.preventDefault(),L.menu.querySelector('[role="menuitem"]').focus({preventScroll:!0})))}function se(g,{list:y,row:O,rowIndex:_}){Object.assign(g,{list:y,row:O,index:_}),g.node.setAttribute("data-hcms-list",y.path.join(".")),g.node.setAttribute("data-hcms-row",String(_)),g.button.setAttribute("aria-label",`Settings ${y.path.join(".")}.${_}`)}function Ce(g){let y=e.createElement("div");y.className="hcms-inline-settings";let O=nt("settings","Settings");O.setAttribute("aria-haspopup","menu"),O.setAttribute("aria-expanded","false");let _=e.createElement("div");_.className="hcms-inline-settings-menu",_.setAttribute("role","menu"),_.setAttribute("aria-label","Item settings"),_.hidden=!0;let E=e.createElement("button");E.type="button",E.setAttribute("role","menuitem"),E.setAttribute("data-hcms-list-action","remove"),E.textContent="Delete",_.appendChild(E),y.append(O,_);let I={node:y,button:O,menu:_,kind:"settings"};se(I,g);let N=()=>{C(),L=I,_.hidden=!1,O.setAttribute("aria-expanded","true"),y.parentElement.classList.add("has-open-settings"),E.focus({preventScroll:!0}),te()};return O.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),L===I?C(!0):N()}),O.addEventListener("keydown",j=>{(j.key==="ArrowDown"||j.key==="ArrowUp")&&(j.preventDefault(),N())}),E.addEventListener("click",j=>{j.preventDefault(),j.stopPropagation(),C(!0),r?.({action:"remove",list:I.list,index:I.index,row:I.row})}),I}function rt(g,y){g.kind==="handle"?Ze(g,y.target):g.kind==="row"?Qe(g,y):g.kind==="settings"&&se(g,y)}function Ve(g,y,O,_,E){let I=y.get(O)?.find(N=>N.category===E);if(!I){I={el:O,category:E,members:[]},g.push(I);let N=y.get(O);N?N.push(I):y.set(O,[I])}I.members.push(_)}function Ke(g,y,O){let _=O.items||[];_.forEach((E,I)=>{Kr(E)&&(Ve(g,y,E,{kind:"row",list:O,row:E,rowIndex:I,count:_.length},"item"),Ve(g,y,E,{kind:"settings",list:O,row:E,rowIndex:I},"item"))})}function et(g,y){let O=new Set(g.members),_=[];for(let E of y){let I=g.members.find(N=>O.has(N)&&dt(N,E))||(E.kind==="handle"?Rt(E.target):E.kind==="row"?ct(E.list,E.row,E.rowIndex,E.count):Ce(E));O.delete(I),rt(I,E),M&&I.kind!=="handle"&&(I.node.hidden=!0),_.push(I)}for(let E of O)E===L&&C(),E.node.remove();_.sort((E,I)=>["row","handle","settings"].indexOf(E.kind)-["row","handle","settings"].indexOf(I.kind)),_.forEach((E,I)=>{g.node.children[I]!==E.node&&g.node.insertBefore(E.node,g.node.children[I]||null)}),g.members=_}function ut(g,y){let O=[],_=new Map,E=new Map,I=0;for(let $ of g||[])E.has($.el)||E.set($.el,$),!($.kind!=="handle"||!Kr($.el))&&(Ve(O,_,$.el,{kind:"handle",target:$},"item"),I++);for(let $ of y||[])Ke(O,_,$);let N=new Set(i),j=new Map;for(let $ of i)j.has($.el)||j.set($.el,$.visible);let J=[];for(let $ of O){let ce=i.find(ge=>N.has(ge)&&ge.el===$.el&&ge.category===$.category);if(!ce){let ge=e.createElement("div");ge.className="hcms-inline-item-controls",ge.setAttribute("role","group"),ce={el:$.el,node:ge,category:$.category,kind:$.category==="add"?"add":"handle",members:[],visible:j.get($.el)??!1},t.appendChild(ge)}N.delete(ce),ce.el=$.el,ce.category=$.category,et(ce,$.members),ce.kind=ce.members.some(ge=>ge.kind==="row")?"row":ce.members.some(ge=>ge.kind==="handle")?"handle":"add",ce.node.setAttribute("aria-label",ce.category==="add"?"List controls":"Item controls"),J.push(ce)}for(let $ of N)$.node.remove();i=J,s=new Map,A=new Map;for(let $ of i){let ce=s.get($.el);ce?ce.push($):s.set($.el,[$]);for(let ge of $.members)ge.kind!=="row"&&ge.kind!=="settings"||(A.set(ge.row,ge.row),A.set(ge.node,ge.row),A.set($.node,ge.row))}p&&!A.has(p)&&(p=null),v&&!A.has(v)&&(v=null),a=E,l=I}function k(){C(),h?.disconnect(),h=null,d=new Set;for(let g of i)g.node.remove();i=[],s=new Map,a=new Map,A=new Map,l=0}return{setTargets(g,y){ut(g,y),H.setLists(y),We(),at(),te()},refresh:te,get count(){return l},get controlsHidden(){return M},setControlsHidden(g){if(M=!!g,H.setHidden(M),M){C();for(let y of i){for(let O of y.members)O.kind!=="handle"&&(O.node.hidden=!0);y.members.every(O=>O.node.hidden)&&(y.node.hidden=!0)}}te()},elementToTarget(g){if(g?.closest?.("[data-hcms-ghost]"))return null;for(let y=g;y&&y.nodeType===1;y=y.parentElement){let O=a.get(y);if(O)return O}return null},setHoveredRow(g){let y=re();p=g?W(g):null,re()!==y&&te()},showHighlight(g){g&&(m=g,B.hidden=!1,xe())},hideHighlight(){m=null,B.hidden=!0},setFollower(g){u=typeof g=="function"?g:null},destroy(){H.destroy(),b&&o&&o.cancelAnimationFrame(b),b=0,u=null,m=null,p=null,v=null,B.remove(),Nt(),k()}}}var nh="hypercms-inline",Jr="is-hcms-inline-active",cs="is-hcms-inline-onpath",Ga='input:not([disabled]):not([type="hidden"]), textarea:not([disabled]), select:not([disabled]), button:not([disabled]), [tabindex]:not([tabindex="-1"])',rh=["bold","italic","link","undo","redo"],oh=/^H[1-6]$/,ih=0;function Ja({doc:e,pageRoot:t,opts:n={}}){let r=n.richText!==!1,o=null,i=null,s=null,l=new Map,a=null,h=null,d=null;function b(f,u,m,p,v){let A=dr(e.defaultView);if(typeof A!="function")return null;let M=v||{},L=M.originalHTML??ls(u,{capability:"history"}).html(),H=M.richClayIsOurs??!u.hasAttribute("data-richclay"),B=M.adopted??u.getAttribute("data-richclay-active")==="true",te=Yr(u,p,"history"),re=sh(f,A,u,p,H);if(!re)return null;ca(u,p==="innerHTML",H);let K=String(++ih);u.setAttribute(_n,K),Wo();let W={el:u,editor:re,path:m,prop:p,boundId:K,originalHTML:L,oldValue:te,richClayIsOurs:H,adopted:B,dirty:!1,written:!1,restorable(){return!this.adopted&&!this.dirty&&!this.written},lastEdited:void 0};l.set(u,W),sa(K,W);let he=re.squire;if(he&&typeof he.addEventListener=="function"){let xe=()=>{W.dirty=!0,W.lastEdited=Yr(u,W.prop,"history"),lh(f,W)};he.addEventListener("input",xe),W.detachInput=()=>he.removeEventListener?.("input",xe)}let V=()=>Za(W);return u.addEventListener("blur",V),W.detachBlur=()=>u.removeEventListener("blur",V),W}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?ha(f,t):f},bindText(f,u,m,p){return b(this.ctx,f,u,m,p)},mount(f){let u=this.ctx;o=dh(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,vn(()=>Wr(e));let m=ar({pageRules:u.pageRules,formRules:u.formRules,data:f,doc:e});o.formRoot.appendChild(m),u.seeder.seed(o.formRoot),Cn(o.formRoot,e,this.enhanceFormRichText),yr(u),Lo(u),i=Ka({doc:e,layerEl:o.layerEl,onActivate:(p,v)=>this.activate(p,v),onListAction:p=>this.listAction(p)}),i.setFollower(()=>this.placePopover()),o.closeEl.addEventListener("click",()=>this.deactivate()),o.toggleEl.addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),this.toggleControls()}),o.handoffEl.querySelector("[data-hcms-open-view]").addEventListener("click",p=>{p.preventDefault(),p.stopPropagation(),u.onViewRequested?.("sidebar")}),this.bindPage(),this.syncTargets()},listAction({action:f,list:u,index:m,row:p}){let v=this.ctx,A=u.path.join("."),M=v.formRoot.querySelector(`[data-hcms-path="${gr(A)}"]`);if(!M)return;if(f==="add"){zr(A,v);return}let L=p?mh(v,A,p):m;if(L===-1)return;let H=hh(M,L);if(H){if(f==="remove"){Yi(H,v),this.syncTargets();return}Gi(H,f==="move-up"?-1:1,v),this.syncTargets()}},toggleControls(){if(!i||!o)return;let f=!i.controlsHidden;i.setControlsHidden(f),o.toggleEl.setAttribute("aria-pressed",String(f));let u=o.toggleEl.querySelector(".mirk-button__label");u&&(u.textContent=f?"Show controls":"Hide controls")},bindPage(){let f=this.ctx.pageRoot,u=o.root,m=H=>{let B=i&&i.elementToTarget(H.target);B?i.showHighlight(B.el):i?.hideHighlight(),i?.setHoveredRow(H.target)},p=()=>{i?.hideHighlight(),i?.setHoveredRow(null)},v=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);!B||B.kind!=="text"||l.has(B.el)||b(this.ctx,B.el,B.path.join("."),Go(B))},A=H=>{if(u.contains(H.target))return;let B=i&&i.elementToTarget(H.target);if(!B){this.deactivate();return}(typeof H.target.closest=="function"&&H.target.closest("a[href]")||B.kind!=="text")&&H.preventDefault(),this.activate(B)},M=H=>{H.key==="Escape"&&this.deactivate()},L=H=>{let B=H.detail;if(!(!B||B.pageRoot!==this.ctx.pageRoot||!B.path))for(let te of l.values())te.path===B.path&&(te.written=!0)};f.addEventListener("pointerover",m),f.addEventListener("pointerleave",p),f.addEventListener("pointerdown",v),f.addEventListener("click",A),u.addEventListener("keydown",M),e.addEventListener("hcms:change",L),s=()=>{f.removeEventListener("pointerover",m),f.removeEventListener("pointerleave",p),f.removeEventListener("pointerdown",v),f.removeEventListener("click",A),u.removeEventListener("keydown",M),e.removeEventListener("hcms:change",L)}},activate(f,u){if(!f||!o||f.kind==="text"&&this.activateText(f))return;let m=Ya(this,o,f.path.join("."));if(!m){this.deactivate();return}a=f,h=u||null,d=null,o.popEl.hidden=!1,o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover(),fh(m)},activateText(f){let u=f.el,m=l.get(u);if(m)return Ko(m),!0;let p=b(this.ctx,u,f.path.join("."),Go(f));return p?(Ko(p),!0):!1},placePopover(){if(!o||!a||o.popEl.hidden)return;let f=e.defaultView;if(!f)return;let u={width:f.innerWidth,height:f.innerHeight},m=a.el.getBoundingClientRect(),p=o.popEl.getBoundingClientRect(),{mode:v,x:A,y:M}=qa({anchor:m,bar:p,viewport:u,current:d});d=v,o.popEl.style.transform=`translate(${Math.round(A)}px, ${Math.round(M)}px)`},deactivate(){if(!o||!a&&o.popEl.hidden)return;o.popEl.hidden=!0,ec(o.root);let f=h;if(a=null,h=null,d=null,f&&e.contains(f)&&typeof f.focus=="function")try{f.focus({preventScroll:!0})}catch{f.focus()}},syncTargets(){if(!i)return;let f=this.ctx,{targets:u,lists:m}=is(f.pageRoot,f.pageRules);i.setTargets(u,m);let p=ah(this,l,u,e);if(a){let A=p.get(a.el)||[],M=A.find(L=>ch(L,a))||A.find(L=>L.path.join(".")===a.path.join("."))||(A.length===1?A[0]:null);M?a=M:this.deactivate()}uh(this.ctx,l,e);let v=u.reduce((A,M)=>A+(Kr(M.el)?0:1),0);this.handoffEl&&(this.handoffCountEl.textContent=v===0?"":`${v} ${v===1?"field isn't":"fields aren't"} visible right now.`,this.handoffEl.hidden=v===0)},refresh(f,u){f==="livesync"?(Rn(e),Wr(e),Mn(this.ctx,{ignoreActiveValue:!0})):f==="undo"?Mn(this.ctx,{ignoreActiveValue:!1}):Mn(this.ctx),this.syncTargets(),(f==="livesync"||f==="undo")&&this.rebindText(f),this.restoreActive()},rebindText(f){let u=f!=="undo";for(let[m,p]of[...l]){if(!e.contains(m)){Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);continue}if(m.hasAttribute(dn)){let M=Yr(m,p.prop);M!==p.lastEdited&&(p.oldValue=M,p.lastEdited=void 0);continue}let v=e.activeElement===m;Xr(this.ctx,p,{restore:!1,record:u}),l.delete(m);let A=b(this.ctx,m,p.path,p.prop,{richClayIsOurs:p.richClayIsOurs,adopted:p.adopted});A&&v&&Ko(A)}},restoreActive(){if(!o||!a||o.popEl.hidden)return;if(!e.contains(a.el)){this.deactivate();return}if(!Ya(this,o,a.path.join("."))){this.deactivate();return}o.formRoot.querySelectorAll(`.${Jr}`).forEach(Xa),this.placePopover()},focusOnOpen(){if(this.root&&typeof this.root.focus=="function")try{this.root.focus({preventScroll:!0})}catch{this.root.focus()}},destroy(){h=null,this.deactivate();for(let f of l.values())Xr(this.ctx,f);l.clear(),s?.(),s=null,i?.destroy(),i=null,o?.destroy(),o=null,es(e),this.popEl=null,this.handoffEl=null,this.handoffCountEl=null}}}function sh(e,t,n,r,o){return vn(()=>{let i=null;try{i=new t(n,{inline:!0,hyperclay:!1,toolbar:r==="innerHTML"?rh:!1,...oh.test(n.tagName)?{singleLine:!0}:null})}catch(s){return console.warn("[hypercms] richclay activation failed; the field falls back to the popover",s),null}if(i.unsupported||!i.active){if(o)try{i.destroy()}catch{}return null}return typeof i.reattach=="function"&&i.reattach(),i})}function lh(e,{path:t,el:n,prop:r}){let o=Io(e.formRoot,t);o&&(jo(o,Yr(n,r),e.formRoot,t),tn(Gt(e),{path:t,structural:!1},e))}function Yr(e,t,n="data"){let r=ls(e,{capability:n});return t==="innerHTML"?r.html():r.text().trim()}function Za(e){let{el:t,prop:n,oldValue:r,lastEdited:o}=e,i=o;if(i===void 0||i===r)return;e.oldValue=i;let s=It("undo");if(!s||typeof s.recordValue!="function")return;let l={prop:n,oldValue:r,newValue:i,read:a=>Yr(a,n,"history"),write:(a,h)=>Qa(a,n,h)};s.isPaused?queueMicrotask(()=>{t.isConnected&&s.recordValue(t,l)}):s.recordValue(t,l)}function Qa(e,t,n){let r=e.cloneNode(!1);t==="innerHTML"?r.innerHTML=n:r.textContent=n,Tn(e,Array.from(r.childNodes),{morphStyle:"innerHTML",policy:"history",restoreFocus:!1,scripts:{handle:!1,merge:!1}})}function Xr(e,t,{restore:n=!0,record:r=!0}={}){r&&Za(t),t.detachInput?.(),t.detachBlur?.(),vn(()=>{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(dn),t.el.removeAttribute(Bn),t.el.removeAttribute(_n),la(t.boundId),n&&t.restorable()&&Qa(t.el,"innerHTML",t.originalHTML)})}function Ko(e){let{editor:t,el:n}=e;if(n.ownerDocument.activeElement!==n)try{typeof t.focus=="function"?t.focus():n.focus()}catch{}}function ah(e,t,n,r){let o=new Map;for(let i of n){let s=o.get(i.el);s?s.push(i):o.set(i.el,[i])}for(let[i,s]of[...t]){let l=o.get(i)||[],a=l.find(f=>Go(f)===s.prop)||l[0];if(!a){Xr(e.ctx,s,{restore:!0}),t.delete(i);continue}s.path=a.path.join(".");let h=Go(a);if(h===s.prop)continue;let d=r.activeElement===i;Xr(e.ctx,s,{restore:!1}),t.delete(i);let b=e.bindText(i,s.path,h,{richClayIsOurs:s.richClayIsOurs,adopted:s.adopted,originalHTML:s.originalHTML});b&&d&&Ko(b)}return o}function ch(e,t){return e.el===t.el&&e.kind===t.kind&&e.attr===t.attr}function Go(e){return e.attr==="innerHTML"?"innerHTML":"textContent"}function uh(e,t,n){for(let r of e.pageRoot.querySelectorAll(`[${dn}]`))t.has(r)||vn(()=>fa(r,n.defaultView))}function Ya(e,t,n){let r=e.formRoot&&e.formRoot.querySelector(`[data-hcms-path="${gr(n)}"]`);if(ec(t.root),!r)return null;let o=r.closest("[data-hcms-card]"),i=o?[...o.querySelectorAll('[data-hcms-shape="scalar"][data-hcms-path]')].filter(s=>s.closest("[data-hcms-card]")===o&&s.closest('[data-hcms-shape="object-array"], [data-hcms-shape="scalar-array"]')===o.parentElement.closest('[data-hcms-shape="object-array"]')):[r];i.includes(r)||i.push(r);for(let s of i){s.classList.add(Jr),s.removeAttribute("draggable");for(let l=s.parentElement;l&&(l.classList.add(cs),l.removeAttribute("draggable"),l!==e.formRoot);l=l.parentElement);}return r}function ec(e){if(e)for(let t of e.querySelectorAll(`.${Jr}, .${cs}`))t.classList.remove(Jr,cs)}function Xa(e){e.tagName==="TEXTAREA"&&hr(e),e.querySelectorAll?.("textarea").forEach(hr)}function fh(e){let t=e.matches?.(Ga)?e:e.querySelector?.(Ga);if(!(!t||typeof t.focus!="function"))try{t.focus({preventScroll:!0})}catch{t.focus()}}function dh(e,t){Rn(e);let n=e.createElement(nh),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=`
|
|
181
|
+
<div class="hcms-inline-bar">
|
|
182
|
+
<div class="hcms-inline-handoff" hidden>
|
|
183
|
+
<span class="hcms-inline-handoff-count"></span>
|
|
184
|
+
<button type="button" class="hcms-inline-handoff-open mirk-button mirk-button--small" data-hcms-open-view="sidebar">
|
|
185
|
+
<span class="mirk-button__label">Edit in the sidebar</span>
|
|
186
|
+
</button>
|
|
187
|
+
</div>
|
|
188
|
+
<button type="button" class="hcms-inline-toggle mirk-button mirk-button--small" data-hcms-controls-toggle aria-pressed="false" hidden>
|
|
189
|
+
<span class="mirk-button__label">Hide controls</span>
|
|
190
|
+
</button>
|
|
191
|
+
<div class="hcms-inline-notice" role="status" hidden></div>
|
|
192
|
+
<div class="hcms-inline-error" role="alert" hidden></div>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="hcms-inline-layer"></div>
|
|
195
|
+
<div class="hcms-inline-pop" role="dialog" aria-label="Edit content" hidden>
|
|
196
|
+
<div class="hcms-inline-pop-header">
|
|
197
|
+
<span>Edit content</span>
|
|
198
|
+
<button type="button" class="hcms-inline-pop-close mirk-button mirk-button--small" aria-label="Close field editor">
|
|
199
|
+
<span class="mirk-button__label">${$n("remove")}</span>
|
|
200
|
+
</button>
|
|
201
|
+
</div>
|
|
202
|
+
<div data-hcms-form-root class="hcms-form"></div>
|
|
203
|
+
</div>
|
|
204
|
+
`,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 hh(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 mh(e,t,n){let{lists:r}=is(e.pageRoot,e.pageRules),o=r.find(i=>i.path.join(".")===t);return o?o.items.indexOf(n):-1}var ph="[hypercms]";function tc(e,t){if(!e||!e.querySelectorAll||!t)return;let n=gh(t);e.querySelectorAll("template[data-hcms-tpl]").forEach(o=>{let i=o.getAttribute("data-hcms-tpl");i&&(i.startsWith("@")||n.has(i)||console.warn(`${ph} template "${i}" doesn't match any rule path; ignored`))})}function gh(e){let t=new Set;return n([],e),t;function n(r,o){let i=r.join("."),s=r.map(a=>typeof a=="number"?"*":a).join(".");i&&t.add(i),s&&t.add(s);let l=qn(o);if(l==="object")for(let[a,h]of Object.entries(o))n([...r,a],h);else if(l==="object-array"||l==="scalar-array"){let a=[...r,"*"],h=a.map(d=>typeof d=="number"?"*":d).join(".");if(t.add(h),l==="object-array"){let d=o[1];if(d&&typeof d=="object"&&!Array.isArray(d))for(let[b,f]of Object.entries(d))n([...a,b],f)}}}}var rc={skip:"[data-hcms-shell]",templateAttr:"cms-template"},He={isOpen:!1,ctx:null,opts:null};function oc({view:e,doc:t,pageRoot:n,opts:r={},onCloseRequested:o,onViewRequested:i}){let s=r.rules!==void 0?r.rules:"cms",l=Vt.findRules(t,s);if(!l){let v=typeof s=="string"?`data-rules-name~="${s}"`:"the provided rules object";throw new Error(`hypercms: no rules found for ${v}`)}let a=e.prepareRules(l.rules),h=l.tagNode;xo(t),To(t,a),tc(t,a);let d=_o(a,t),b=Ho(a),f=Bo(n,a),u=bo(),m=Nn(Vt.extract(n,a,{...rc,...u.hooks}),a),p={doc:t,pageRoot:n,pageRules:a,writeRules:b,formRules:d,rulesTagNode:h,rulesSource:s,richText:e.richText,view:e,seeder:u,initialData:m,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(v,A){let M=t.defaultView&&t.defaultView.CustomEvent||(typeof CustomEvent<"u"?CustomEvent:null);if(!M)return;let L={...A||{},pageRoot:n,view:e.name},H=new M(v,{bubbles:!0,cancelable:v==="hcms:change",detail:L});(e.root&&e.root.isConnected!==!1?e.root:n).dispatchEvent(H)},onCloseRequested:o,onViewRequested:i};return p.updateFingerprint=()=>{p.lastFingerprint=Vr(Gt(p))},e.ctx=p,p}function ic(e){e.updateFingerprint(),e.observerHandle=Ca({onRefresh:r=>e.view.refresh("observer",r)});let t=It("undo");if(t&&typeof t.on=="function"){let r=()=>{if(He.ctx!==e)return;nc(e,"undo");let o=Nn(Vt.extract(e.pageRoot,e.pageRules,rc),e.pageRules);Vr(o)!==Vr(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=()=>nc(e,"livesync");e.livesyncUnsub=fr(e.doc,oa,n),fs.ctx=e,kh(e.doc)}function nc(e,t){He.ctx===e&&e.view.refresh(t)}function Yo(e,{dispatch:t=!0,restoreFocus:n=!0,updateUrl:r=!0,reason:o="close"}={}){if(!e||e.closed)return;e.closed=!0;for(let s of e.uploads||[])try{s.abort()}catch{}e.uploads?.clear();let i=e.previouslyFocused;if(t&&e.dispatch("hcms:close",{reason:o}),r&&yh(),e.observerHandle?.unsubscribe?.(),e.undoUnsub?.(),e.livesyncUnsub?.(),e.detachEvents?.(),vn(()=>e.view.destroy()),bh(),n&&typeof i?.focus=="function")try{i.focus()}catch{}}function bh(){He.isOpen=!1,He.ctx=null,He.opts=null,fs.ctx=null}var fs={ctx:null};function kh(e){let t=e.defaultView||(typeof globalThis<"u"?globalThis:null);if(!t)return;let n=function(){let o=fs.ctx;if(o)return Do(o.formRoot),Hn("Reorder",()=>tn(Gt(o),{path:"",structural:!0},o))};typeof t.hypercmsCommit!="function"&&(t.hypercmsCommit=n),typeof globalThis<"u"&&typeof globalThis.hypercmsCommit!="function"&&(globalThis.hypercmsCommit=n)}var us="cms";function sc(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(us)!=="true"?t:(o.set(us,"false"),"?"+o.toString())}function lc(e){let t=typeof e=="string"?e:"",n=t.indexOf("?"),r=n===-1?t:t.slice(n+1);return r?new URLSearchParams(r).get(us)==="true":!1}function yh(){if(typeof window>"u"||!window.location||!window.history||typeof window.history.replaceState!="function")return;let e=window.location.search,t=sc(e);t!==e&&window.history.replaceState(window.history.state,"",t+window.location.hash)}var ac="hcms-toggle",pt="data-hcms-toggle-host",cc="hcms-toggle-style",uc="data-hcms-toggle-style",Xo="data-hcms-session",bc="data-hcms-split",kc="hcms.view",Jo=["sidebar","inline"],xh={sidebar:"In the sidebar",inline:"On the page"},ms="var(--hcms-toggle-bg, var(--hcms-toggle-_surface))";function fc(e){try{let t=e&&e.localStorage?e.localStorage.getItem(kc):null;return Jo.includes(t)?t:null}catch{return null}}function vh(e,t){if(Jo.includes(t))try{e?.localStorage?.setItem(kc,t)}catch{}}var wh="#fafafa",Ah="#0a0a0a",Sh=`
|
|
205
|
+
[${pt}] {
|
|
206
|
+
all: unset;
|
|
207
|
+
box-sizing: border-box;
|
|
208
|
+
display: var(--hcms-toggle-display, inline-flex);
|
|
209
|
+
font-family: 'Departure Mono', ui-monospace, Menlo, monospace;
|
|
210
|
+
--hcms-toggle-_surface: ${wh};
|
|
211
|
+
}
|
|
212
|
+
[${pt}][data-hcms-surface="dark"] {
|
|
213
|
+
--hcms-toggle-_surface: ${Ah};
|
|
214
|
+
}
|
|
215
|
+
[${pt}] .hcms-toggle__main,
|
|
216
|
+
[${pt}] .hcms-toggle__arrow {
|
|
217
|
+
all: unset;
|
|
218
|
+
box-sizing: border-box;
|
|
219
|
+
display: inline-flex;
|
|
220
|
+
align-items: center;
|
|
221
|
+
gap: 7px;
|
|
222
|
+
padding: 0 14px;
|
|
223
|
+
min-height: 40px;
|
|
224
|
+
font-family: inherit;
|
|
225
|
+
font-weight: 400;
|
|
226
|
+
line-height: 1.5;
|
|
227
|
+
font-size: 14px;
|
|
228
|
+
color: var(--hcms-toggle-color, currentColor);
|
|
229
|
+
border: 2px solid;
|
|
230
|
+
border-color: var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8);
|
|
231
|
+
border-radius: 0;
|
|
232
|
+
cursor: pointer;
|
|
233
|
+
box-shadow: none;
|
|
234
|
+
}
|
|
235
|
+
[${pt}] .hcms-toggle__main:hover,
|
|
236
|
+
[${pt}] .hcms-toggle__arrow:hover {
|
|
237
|
+
border-color: var(--mirk-focus-color, #C7AE93);
|
|
238
|
+
box-shadow: none;
|
|
239
|
+
}
|
|
240
|
+
[${pt}] .hcms-toggle__main:active,
|
|
241
|
+
[${pt}] .hcms-toggle__arrow:active {
|
|
242
|
+
border-color: var(--mirk-bevel-br, #E2D4BF) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-tl, #F0E7D8) var(--mirk-bevel-br, #E2D4BF);
|
|
243
|
+
}
|
|
244
|
+
[${pt}] .hcms-toggle__main:focus-visible,
|
|
245
|
+
[${pt}] .hcms-toggle__arrow:focus-visible {
|
|
246
|
+
outline: 2px solid currentColor;
|
|
247
|
+
outline-offset: -5px;
|
|
248
|
+
}
|
|
249
|
+
[${pt}] .hcms-toggle__close { display: none; }
|
|
250
|
+
[${pt}][${Xo}="open"] .hcms-toggle__open { display: none; }
|
|
251
|
+
[${pt}][${Xo}="open"] .hcms-toggle__close { display: inline; }
|
|
252
|
+
[${pt}][${bc}] .hcms-toggle__main {
|
|
253
|
+
border-radius: 0;
|
|
254
|
+
padding-right: 12px;
|
|
255
|
+
}
|
|
256
|
+
[${pt}] .hcms-toggle__arrow {
|
|
257
|
+
gap: 0;
|
|
258
|
+
padding: 0 10px;
|
|
259
|
+
border-radius: 0;
|
|
260
|
+
border-left-width: 0;
|
|
261
|
+
}
|
|
262
|
+
[${pt}] .hcms-toggle__menu {
|
|
263
|
+
all: unset;
|
|
264
|
+
box-sizing: border-box;
|
|
265
|
+
min-width: 180px;
|
|
266
|
+
padding: 4px;
|
|
267
|
+
font-family: inherit;
|
|
268
|
+
font-size: 14px;
|
|
269
|
+
line-height: 1.5;
|
|
270
|
+
color: var(--hcms-toggle-color, currentColor);
|
|
271
|
+
background: ${ms};
|
|
272
|
+
border: 1px solid var(--mirk-input-border, #D8C8AF);
|
|
273
|
+
border-radius: var(--mirk-radius, 5px);
|
|
274
|
+
box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45);
|
|
275
|
+
}
|
|
276
|
+
[${pt}] .hcms-toggle__item {
|
|
277
|
+
all: unset;
|
|
278
|
+
box-sizing: border-box;
|
|
279
|
+
display: block;
|
|
280
|
+
width: 100%;
|
|
281
|
+
padding: 9px 10px;
|
|
282
|
+
border-radius: 0;
|
|
283
|
+
cursor: pointer;
|
|
284
|
+
}
|
|
285
|
+
[${pt}] .hcms-toggle__item::before {
|
|
286
|
+
content: "\u25CB";
|
|
287
|
+
margin-right: 8px;
|
|
288
|
+
opacity: .55;
|
|
289
|
+
}
|
|
290
|
+
[${pt}] .hcms-toggle__item[aria-checked="true"]::before {
|
|
291
|
+
content: "\u25CF";
|
|
292
|
+
opacity: 1;
|
|
293
|
+
}
|
|
294
|
+
[${pt}] .hcms-toggle__item:hover {
|
|
295
|
+
background: color-mix(in srgb, currentColor 12%, transparent);
|
|
296
|
+
}
|
|
297
|
+
[${pt}] .hcms-toggle__item:focus-visible {
|
|
298
|
+
outline: 2px solid currentColor;
|
|
299
|
+
outline-offset: -3px;
|
|
300
|
+
}
|
|
301
|
+
@media (pointer: coarse) {
|
|
302
|
+
[${pt}] .hcms-toggle__main,
|
|
303
|
+
[${pt}] .hcms-toggle__arrow { min-height: 44px; }
|
|
304
|
+
}
|
|
305
|
+
`;function Th({search:e="",cookie:t="",forced:n=null}={}){let r=typeof e=="string"?e:"",o=r.indexOf("?"),i=o===-1?r:r.slice(o+1),s=new URLSearchParams(i).get("editmode");return s?s==="true":n!=null?!!n:/(?:^|;\s*)isAdminOfCurrentResource=[^;]/.test(t)}var ds=new WeakMap;function yc(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 Eh(e){if(ds.has(e))return ds.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=yc(t,"rgb(1, 2, 3)");(!r||r.r!==1||r.g!==2||r.b!==3||r.a!==1)&&(t=null)}}catch{t=null}return ds.set(e,t),t}function _h(e,t){let n=String(e??"").trim();if(!n)return null;let r=Ch(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 i=Eh(t);return i?yc(i,n):null}function Ch(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],i=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(i)?1:i}}function dc({r:e,g:t,b:n}){let r=o=>{let i=o/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function hc(e,t){let n=dc(e),r=dc(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}var mc={r:10,g:10,b:10},pc={r:250,g:250,b:250};function gc(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 Oh(e){if(!e)return"light";let t=hc(gc(e,mc),mc),n=hc(gc(e,pc),pc);return t>n?"dark":"light"}function Zr(e,t){for(let[n,r]of Object.entries(t))e.style.setProperty(n,r,"important")}function hs(e){let t=e.ownerDocument&&e.ownerDocument.defaultView,n=e.querySelector(".hcms-toggle__main");if(!t||!n||typeof t.getComputedStyle!="function")return;let r=_h(t.getComputedStyle(n).color,e.ownerDocument);e.setAttribute("data-hcms-surface",Oh(r))}function Nh(e){hs(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?hs(e):l();r=n.requestAnimationFrame(()=>{if(r=0,!e.isConnected)return l();hs(e)})}};typeof n.requestAnimationFrame=="function"&&o(),t.readyState!=="complete"&&n.addEventListener("load",o,{once:!0});let i=typeof n.MutationObserver=="function"?new n.MutationObserver(o):null;i&&(i.observe(t.documentElement,{attributes:!0}),t.body&&i.observe(t.body,{attributes:!0}));let s=typeof n.matchMedia=="function"?n.matchMedia("(prefers-color-scheme: dark)"):null;s&&typeof s.addEventListener=="function"&&s.addEventListener("change",o);function l(){i&&i.disconnect(),s&&typeof s.removeEventListener=="function"&&s.removeEventListener("change",o)}}function Rh({open:e,close:t,isOpen:n,getTheme:r=()=>null,views:o=Jo},i=document){let s=i.querySelector(`[${pt}]`);if(s)return s;if(!i.querySelector(`[${uc}]`)){let V=i.createElement("style");V.setAttribute(uc,""),V.setAttribute("editor-ui",""),i.getElementById(cc)||(V.id=cc),V.setAttribute("no-save",""),V.setAttribute("snapshot-remove",""),V.setAttribute("save-ignore",""),V.textContent=Sh,i.head.insertBefore(V,i.head.firstChild)}let l=i.createElement("hypercms-toggle");l.className="hcms-shell pixel-quiet",i.getElementById(ac)||(l.id=ac),l.setAttribute(pt,""),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=i.defaultView,h=l.querySelector(".hcms-toggle__main"),d=Jo.filter(V=>o.includes(V)),b=d.length>1,f=b?Mh(i):null,u=b?Lh(i,d):null;b&&(l.setAttribute(bc,""),l.appendChild(f),l.appendChild(u)),Zr(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)"}),Zr(h,{background:ms}),f&&Zr(f,{background:ms}),u&&Zr(u,{position:"absolute",right:"0",bottom:"calc(100% + 8px)","z-index":"var(--hcms-toggle-z, 2147482900)",display:"none"});let m=()=>u?[...u.querySelectorAll('[role="menuitemradio"]')]:[];function p(V){if(!(!V||typeof V.focus!="function"))try{V.focus({preventScroll:!0})}catch{V.focus()}}function v(V){let xe=m();xe.length&&p(xe[(V+xe.length)%xe.length])}function A(){let V=fc(a);for(let xe of m())xe.setAttribute("aria-checked",String(xe.getAttribute("data-hcms-view")===V))}function M(V){l.contains(V.target)||B()}function L(V){u&&(u.hidden=!V,Zr(u,{display:V?"block":"none"}),f.setAttribute("aria-expanded",String(V)),V?(A(),i.addEventListener("pointerdown",M,!0)):i.removeEventListener("pointerdown",M,!0))}function H(V=0){L(!0),v(V)}function B({focusArrow:V=!1}={}){!u||u.hidden||(L(!1),V&&p(f))}function te(){let V=fc(a);return V&&d.includes(V)?V:null}async function re(V){await e({view:V}),vh(a,V)}async function K(){if(n()){t();return}let V=te();return V?e({view:V}):b?H():e(d[0]?{view:d[0]}:{})}async function W(V){try{await V()}catch(xe){console.warn("hypercms: toggle failed to open the CMS",xe)}}l.addEventListener("click",async V=>{f&&f.contains(V.target)||u&&u.contains(V.target)||await W(K)}),f&&(f.addEventListener("click",V=>{V.preventDefault(),u.hidden?H():B({focusArrow:!0})}),f.addEventListener("keydown",V=>{if(V.key==="ArrowUp"){V.preventDefault(),H(-1);return}(V.key==="ArrowDown"||V.key==="Enter"||V.key===" ")&&(V.preventDefault(),H(0))}),u.addEventListener("click",V=>{let xe=V.target.closest?.('[role="menuitemradio"]');xe&&(V.preventDefault(),B(),W(()=>re(xe.getAttribute("data-hcms-view"))))}),u.addEventListener("keydown",V=>{let xe=m(),We=xe.indexOf(i.activeElement);switch(V.key){case"ArrowDown":V.preventDefault(),v(We+1);break;case"ArrowUp":V.preventDefault(),v(We-1);break;case"Home":V.preventDefault(),v(0);break;case"End":V.preventDefault(),v(xe.length-1);break;case"Enter":case" ":if(V.preventDefault(),We===-1)break;B(),W(()=>re(xe[We].getAttribute("data-hcms-view")));break;case"Escape":V.preventDefault(),B({focusArrow:!0});break;case"Tab":B();break}}));let he=V=>{let xe=r();l.classList.toggle("light",xe==="light"),l.classList.toggle("dark",xe==="dark"),V?l.setAttribute(Xo,"open"):l.removeAttribute(Xo)};return he(n()),i.addEventListener("hcms:open",()=>he(!0)),i.addEventListener("hcms:close",()=>he(!1)),i.body.appendChild(l),Rn(i),Nh(l),l}function Mh(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 Lh(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=xh[r],n.appendChild(o)}return n}function xc(e){if(typeof window>"u"||typeof document>"u")return;let t=window.__hyperclayEditMode!=null?window.__hyperclayEditMode:null;if(!Th({search:window.location.search,cookie:document.cookie,forced:t}))return;let n=()=>{document.body&&e.hasRules(document)&&Rh(e)};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",n,{once:!0}):n()}function vc(e){if(va(e),typeof document<"u"){let t=document.getElementById("hcms-shell-styles");t?.tagName==="LINK"&&t.remove(),Rn(document)}}var gs={sidebar:Oa,inline:Ja};function Zo(e={}){let t=e.view||(He.isOpen?He.ctx.view.name:"sidebar"),n=gs[t];if(!n)throw new Error(`hypercms: unknown view "${t}" (expected ${Object.keys(gs).join(" or ")})`);let r=He.isOpen?{...He.opts,...e,view:t}:e,o=r.pageRoot||(typeof document<"u"?document.body:null);if(!o)throw new Error("hypercms: no pageRoot available");let i=o.ownerDocument||(typeof document<"u"?document:null);if(!i)throw new Error("hypercms: no document available");let s=null,l=null;if(He.isOpen){if(He.ctx.view.name===t)return;s=He.ctx.previouslyFocused,l=He.ctx.view.name,Yo(He.ctx,{restoreFocus:!1,updateUrl:!1,reason:"switch"})}Ua();let a=n({doc:i,pageRoot:o,opts:r}),h=oc({view:a,doc:i,pageRoot:o,opts:r,onCloseRequested:()=>bs(),onViewRequested:d=>Zo({view:d})});s&&(h.previouslyFocused=s);try{a.mount(h.initialData),ic(h),a.focusOnOpen(),He.isOpen=!0,He.ctx=h,He.opts=r,h.dispatch("hcms:open",{pageRoot:o,previous:l})}catch(d){throw Yo(h,{dispatch:!1,restoreFocus:!!s,updateUrl:!1}),d}}function bs(){He.isOpen&&Yo(He.ctx)}function wc(){He.isOpen&&He.ctx.view.refresh("api")}function Ih(){return He.isOpen}function jh(){return He.isOpen&&He.ctx?He.ctx.view.name:null}var Dh={getData(){return He.isOpen?Gt(He.ctx):null},setValue(e,t){if(!He.isOpen)throw new Error("hypercms: cms is not open");let n=He.ctx,r=yn(e),o=Fn(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 i=Io(n.formRoot,e);if(!i)throw new Error(`hypercms: no field element at path "${e}"`);jo(i,t,n.formRoot,e),tn(Gt(n),{path:e,structural:!1},n)},addItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");zr(e,He.ctx)},removeItem(e){if(!He.isOpen)throw new Error("hypercms: cms is not open");let t=He.ctx,n=yn(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=Fn(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 s=t.formRoot.querySelector(`[data-hcms-path="${Hh(e)}"]`);if(!s)throw new Error(`hypercms: no element at path "${e}"`);mr(s,t)},refresh:wc,_commit(){if(!He.isOpen)return;let e=He.ctx;return Do(e.formRoot),Hn("Update",()=>tn(Gt(e),{path:"",structural:!0},e))}},Ph=250,Fh=1e4;function qh(){typeof window>"u"||typeof document>"u"||lc(window.location?window.location.search:"")&&(He.isOpen||Bh(()=>{if(!He.isOpen)try{Zo()}catch(e){console.warn("hypercms: auto-open failed",e)}}))}function ps(){return!!document.body&&!!It("Mutation")}function Bh(e){if(ps()){queueMicrotask(e);return}let t=Date.now()+Fh,n=!1,r=null,o=null,i=()=>{n||(n=!0,r!==null&&clearInterval(r),o&&o())};function s(){if(He.isOpen){i();return}ps()&&(i(),e())}o=fr(document,ra,s),r=setInterval(()=>{if(He.isOpen){i();return}if(ps()){i(),e();return}Date.now()>=t&&(i(),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."))},Ph)}qh();xc({open:Zo,close:bs,isOpen:Ih,getTheme:()=>He.opts?.theme,views:Object.keys(gs),hasRules:e=>!!Vt.findRules(e,"cms")});var ks={open:Zo,close:bs,refresh:wc,api:Dh,get isOpen(){return He.isOpen},currentView:jh,path:ji,scaffold:Hr,morphForm:go};function Hh(e){return typeof CSS<"u"&&CSS.escape?CSS.escape(e):String(e).replace(/[^a-zA-Z0-9_\-.*]/g,t=>"\\"+t)}var Ac=`/* GENERATED by scripts/build-theme.js from mirk-interface/mirk.css \u2014 DO NOT EDIT.
|
|
193
306
|
Source of truth: mirk-interface/mirk.css + src/theme/pixel-quiet.overrides.css.
|
|
194
307
|
Regenerate with: npm run build:theme */
|
|
195
308
|
|
|
@@ -1203,7 +1316,7 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
|
|
|
1203
1316
|
/* =====================================================================
|
|
1204
1317
|
Pixel Quiet \u2014 hypercms theme overrides (hypercms-owned).
|
|
1205
1318
|
|
|
1206
|
-
Adapted from cms-sidebar/pixel-quiet/overrides.css. Two jobs:
|
|
1319
|
+
Adapted from ARCHIVE_PROJECTS/cms-sidebar/pixel-quiet/overrides.css. Two jobs:
|
|
1207
1320
|
1. Retune --mirk-* tokens, scoped to .hcms-shell.pixel-quiet (never :root).
|
|
1208
1321
|
2. Author the panel geometry + the functional chrome the static mockup
|
|
1209
1322
|
doesn't have (error banner, add/remove/move controls, the engine's
|
|
@@ -1314,13 +1427,13 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
|
|
|
1314
1427
|
position: fixed makes the shell a containing block so the absolute
|
|
1315
1428
|
minibar anchors to it; flex column so the body owns the scroll.
|
|
1316
1429
|
============================================================ */
|
|
1317
|
-
.hcms-shell.pixel-quiet {
|
|
1430
|
+
.hcms-shell.pixel-quiet.hcms-panel {
|
|
1318
1431
|
box-sizing: border-box;
|
|
1319
1432
|
position: fixed;
|
|
1320
1433
|
top: 0;
|
|
1321
1434
|
right: 0;
|
|
1322
1435
|
bottom: 0;
|
|
1323
|
-
width: 380px;
|
|
1436
|
+
width: var(--hcms-shell-width, 380px);
|
|
1324
1437
|
max-width: 100vw;
|
|
1325
1438
|
z-index: 2147483000;
|
|
1326
1439
|
display: flex;
|
|
@@ -1330,7 +1443,7 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
|
|
|
1330
1443
|
border-left: 1px solid var(--mirk-input-border);
|
|
1331
1444
|
box-shadow: -16px 0 48px -28px rgba(43, 36, 27, 0.45);
|
|
1332
1445
|
}
|
|
1333
|
-
.hcms-shell.pixel-quiet.dark {
|
|
1446
|
+
.hcms-shell.pixel-quiet.hcms-panel.dark {
|
|
1334
1447
|
box-shadow: -16px 0 48px -28px rgba(0, 0, 0, 0.6);
|
|
1335
1448
|
}
|
|
1336
1449
|
|
|
@@ -1342,13 +1455,20 @@ body.hcms-open.hcms-overlay #hcms-toggle { display: none; }
|
|
|
1342
1455
|
box-shadow: 16px 0 48px -28px rgba(43, 36, 27, 0.45);
|
|
1343
1456
|
}
|
|
1344
1457
|
|
|
1345
|
-
/* Push the page over so docked content is never hidden underneath
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1458
|
+
/* Push the page over so docked content is never hidden underneath, and publish
|
|
1459
|
+
the geometry the floating toggle has to compose with. --hcms-toggle-shift is
|
|
1460
|
+
the distance the toggle moves left, which is the shell width only while the
|
|
1461
|
+
shell is docked on the right; docked left, as an overlay, or full-viewport it
|
|
1462
|
+
is zero. */
|
|
1463
|
+
body.hcms-open { --hcms-shell-width: 380px; }
|
|
1464
|
+
body.hcms-open:not(.hcms-overlay) { padding-right: var(--hcms-shell-width); }
|
|
1465
|
+
body.hcms-open:not(.hcms-overlay):not(.hcms-side-left) { --hcms-toggle-shift: var(--hcms-shell-width); }
|
|
1466
|
+
body.hcms-open.hcms-side-left:not(.hcms-overlay) { padding-right: 0; padding-left: var(--hcms-shell-width); }
|
|
1467
|
+
body.hcms-open.hcms-overlay { overflow: hidden; --hcms-toggle-display: none; }
|
|
1349
1468
|
|
|
1350
1469
|
@media (max-width: 799px) {
|
|
1351
|
-
.hcms-
|
|
1470
|
+
body.hcms-open { --hcms-shell-width: 100vw; }
|
|
1471
|
+
body.hcms-open:not(.hcms-overlay):not(.hcms-side-left) { --hcms-toggle-shift: 0px; }
|
|
1352
1472
|
body.hcms-open:not(.hcms-overlay),
|
|
1353
1473
|
body.hcms-open.hcms-side-left:not(.hcms-overlay) { padding-right: 0; padding-left: 0; }
|
|
1354
1474
|
body.hcms-open { overflow: hidden; }
|
|
@@ -1725,6 +1845,7 @@ body.hcms-open.hcms-overlay { overflow: hidden; }
|
|
|
1725
1845
|
.hcms-shell-notice {
|
|
1726
1846
|
font-size: 12px;
|
|
1727
1847
|
line-height: 1.45;
|
|
1848
|
+
white-space: pre-line;
|
|
1728
1849
|
color: var(--mirk-mark-fg);
|
|
1729
1850
|
background: var(--mirk-bevel-bg);
|
|
1730
1851
|
border: 1px solid var(--mirk-input-border);
|
|
@@ -1791,4 +1912,290 @@ body.hcms-open.hcms-overlay { overflow: hidden; }
|
|
|
1791
1912
|
cursor: pointer;
|
|
1792
1913
|
}
|
|
1793
1914
|
.hcms-sr-only[hidden] { display: none; }
|
|
1794
|
-
|
|
1915
|
+
|
|
1916
|
+
/* ============================================================
|
|
1917
|
+
INLINE VIEW GEOMETRY \u2014 not a panel. A transparent full-viewport
|
|
1918
|
+
host whose children are the only interactive surfaces, so the page
|
|
1919
|
+
underneath stays fully usable while the editor is open.
|
|
1920
|
+
============================================================ */
|
|
1921
|
+
.hcms-shell.pixel-quiet.hcms-inline {
|
|
1922
|
+
position: fixed;
|
|
1923
|
+
inset: 0;
|
|
1924
|
+
z-index: 2147483000;
|
|
1925
|
+
/* The host must never intercept a click meant for the page. Each child
|
|
1926
|
+
re-enables pointer events for itself. */
|
|
1927
|
+
pointer-events: none;
|
|
1928
|
+
background: none;
|
|
1929
|
+
border: 0;
|
|
1930
|
+
box-shadow: none;
|
|
1931
|
+
color: var(--mirk-fg);
|
|
1932
|
+
}
|
|
1933
|
+
.hcms-inline > *,
|
|
1934
|
+
.hcms-inline-layer > * { pointer-events: auto; }
|
|
1935
|
+
.hcms-inline-layer { position: absolute; inset: 0; pointer-events: none; }
|
|
1936
|
+
|
|
1937
|
+
.hcms-inline-bar {
|
|
1938
|
+
position: absolute;
|
|
1939
|
+
left: 50%;
|
|
1940
|
+
bottom: 16px;
|
|
1941
|
+
transform: translateX(-50%);
|
|
1942
|
+
max-width: min(560px, calc(100vw - 32px));
|
|
1943
|
+
display: flex;
|
|
1944
|
+
flex-direction: column;
|
|
1945
|
+
gap: 6px;
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
.hcms-inline-notice,
|
|
1949
|
+
.hcms-inline-error {
|
|
1950
|
+
padding: 8px 12px;
|
|
1951
|
+
border-radius: 8px;
|
|
1952
|
+
font-size: 14px;
|
|
1953
|
+
line-height: 1.4;
|
|
1954
|
+
border: 1px solid var(--mirk-input-border);
|
|
1955
|
+
background: var(--mirk-bg);
|
|
1956
|
+
color: var(--mirk-fg);
|
|
1957
|
+
box-shadow: 0 12px 32px -20px rgba(43, 36, 27, 0.5);
|
|
1958
|
+
}
|
|
1959
|
+
.hcms-inline-notice { white-space: pre-line; }
|
|
1960
|
+
.hcms-inline-error { border-color: var(--mirk-destructive); color: var(--mirk-destructive); }
|
|
1961
|
+
.hcms-inline-notice[hidden],
|
|
1962
|
+
.hcms-inline-error[hidden] { display: none; }
|
|
1963
|
+
|
|
1964
|
+
.hcms-inline-pop {
|
|
1965
|
+
position: absolute;
|
|
1966
|
+
top: 0;
|
|
1967
|
+
left: 0;
|
|
1968
|
+
box-sizing: border-box;
|
|
1969
|
+
width: min(340px, calc(100vw - 24px));
|
|
1970
|
+
max-height: calc(100dvh - 24px);
|
|
1971
|
+
overflow: auto;
|
|
1972
|
+
padding: 16px;
|
|
1973
|
+
border-radius: 8px;
|
|
1974
|
+
border: 1px solid var(--mirk-input-border);
|
|
1975
|
+
background: var(--mirk-bg);
|
|
1976
|
+
color: var(--mirk-fg);
|
|
1977
|
+
box-shadow: 0 16px 40px -22px rgba(43, 36, 27, 0.55);
|
|
1978
|
+
/* Above the handles. They are positioned with z-index: 1 while the popover
|
|
1979
|
+
sat at auto, so a handle painted over the very field it had just opened
|
|
1980
|
+
and covered the text in it. The popover is what someone is using; a handle
|
|
1981
|
+
is only an offer to open one. */
|
|
1982
|
+
z-index: 2;
|
|
1983
|
+
}
|
|
1984
|
+
.hcms-inline-pop[hidden] { display: none; }
|
|
1985
|
+
.hcms-inline-pop-header {
|
|
1986
|
+
display: flex;
|
|
1987
|
+
align-items: center;
|
|
1988
|
+
justify-content: space-between;
|
|
1989
|
+
gap: 16px;
|
|
1990
|
+
margin-bottom: 16px;
|
|
1991
|
+
font-size: 14px;
|
|
1992
|
+
}
|
|
1993
|
+
.hcms-shell .hcms-inline-pop-close {
|
|
1994
|
+
display: inline-flex;
|
|
1995
|
+
align-items: center;
|
|
1996
|
+
justify-content: center;
|
|
1997
|
+
min-width: 36px;
|
|
1998
|
+
min-height: 36px;
|
|
1999
|
+
padding: 4px;
|
|
2000
|
+
}
|
|
2001
|
+
|
|
2002
|
+
.hcms-inline-item-controls {
|
|
2003
|
+
position: absolute;
|
|
2004
|
+
top: 0;
|
|
2005
|
+
left: 0;
|
|
2006
|
+
z-index: 1;
|
|
2007
|
+
will-change: transform;
|
|
2008
|
+
display: flex;
|
|
2009
|
+
align-items: center;
|
|
2010
|
+
gap: 2px;
|
|
2011
|
+
}
|
|
2012
|
+
.hcms-inline-item-controls[hidden],
|
|
2013
|
+
.hcms-inline-handle[hidden] { display: none; }
|
|
2014
|
+
.hcms-inline-item-controls.has-open-settings { z-index: 3; }
|
|
2015
|
+
.hcms-inline-settings { position: relative; display: flex; flex: none; }
|
|
2016
|
+
.hcms-inline-settings[hidden],
|
|
2017
|
+
.hcms-inline-settings-menu[hidden] { display: none; }
|
|
2018
|
+
.hcms-inline-settings-menu {
|
|
2019
|
+
position: absolute;
|
|
2020
|
+
top: calc(100% + 6px);
|
|
2021
|
+
right: 0;
|
|
2022
|
+
min-width: 120px;
|
|
2023
|
+
padding: 4px;
|
|
2024
|
+
border: 1px solid var(--mirk-input-border);
|
|
2025
|
+
border-radius: 5px;
|
|
2026
|
+
background: var(--mirk-bg);
|
|
2027
|
+
box-shadow: 0 8px 24px #0003;
|
|
2028
|
+
}
|
|
2029
|
+
.hcms-inline-settings-menu button {
|
|
2030
|
+
display: block;
|
|
2031
|
+
box-sizing: border-box;
|
|
2032
|
+
width: 100%;
|
|
2033
|
+
padding: 10px 12px;
|
|
2034
|
+
border: 0;
|
|
2035
|
+
background: transparent;
|
|
2036
|
+
color: var(--mirk-destructive);
|
|
2037
|
+
font: inherit;
|
|
2038
|
+
text-align: left;
|
|
2039
|
+
cursor: pointer;
|
|
2040
|
+
}
|
|
2041
|
+
.hcms-inline-settings-menu button:hover,
|
|
2042
|
+
.hcms-inline-settings-menu button:focus-visible {
|
|
2043
|
+
background: var(--mirk-bevel-bg);
|
|
2044
|
+
outline: 1px solid var(--mirk-focus-color);
|
|
2045
|
+
}
|
|
2046
|
+
|
|
2047
|
+
/* Buttons flow within the positioned item container. */
|
|
2048
|
+
.hcms-inline-row-controls {
|
|
2049
|
+
display: flex;
|
|
2050
|
+
gap: 2px;
|
|
2051
|
+
}
|
|
2052
|
+
.hcms-inline-row-controls[hidden] { display: none; }
|
|
2053
|
+
|
|
2054
|
+
.hcms-inline-list-add[hidden] { display: none; }
|
|
2055
|
+
|
|
2056
|
+
.hcms-shell.hcms-inline-ghost {
|
|
2057
|
+
box-sizing: border-box;
|
|
2058
|
+
position: relative;
|
|
2059
|
+
display: flex;
|
|
2060
|
+
align-items: center;
|
|
2061
|
+
justify-content: center;
|
|
2062
|
+
flex: none;
|
|
2063
|
+
max-width: 100%;
|
|
2064
|
+
min-width: 0;
|
|
2065
|
+
margin: 8px 0 0;
|
|
2066
|
+
padding: 0;
|
|
2067
|
+
border: 1px dashed color-mix(in srgb, currentColor 25%, transparent);
|
|
2068
|
+
border-radius: 3px;
|
|
2069
|
+
background: color-mix(in srgb, currentColor 3%, transparent);
|
|
2070
|
+
color: inherit;
|
|
2071
|
+
list-style: none;
|
|
2072
|
+
}
|
|
2073
|
+
.hcms-shell.hcms-inline-ghost[hidden] { display: none; }
|
|
2074
|
+
tr.hcms-shell.hcms-inline-ghost { display: table-row; }
|
|
2075
|
+
.hcms-inline-ghost-cell { padding: 0; text-align: center; vertical-align: middle; }
|
|
2076
|
+
|
|
2077
|
+
.hcms-shell .hcms-inline-handle,
|
|
2078
|
+
.hcms-shell .hcms-inline-list-button {
|
|
2079
|
+
display: inline-flex;
|
|
2080
|
+
align-items: center;
|
|
2081
|
+
justify-content: center;
|
|
2082
|
+
min-width: 36px;
|
|
2083
|
+
min-height: 36px;
|
|
2084
|
+
padding: 4px;
|
|
2085
|
+
line-height: 1;
|
|
2086
|
+
}
|
|
2087
|
+
.hcms-inline-handle .mirk-button__label,
|
|
2088
|
+
.hcms-inline-list-button .mirk-button__label {
|
|
2089
|
+
display: inline-flex;
|
|
2090
|
+
align-items: center;
|
|
2091
|
+
gap: 6px;
|
|
2092
|
+
line-height: 1;
|
|
2093
|
+
}
|
|
2094
|
+
.hcms-inline-icon { display: block; width: 24px; height: 24px; flex: none; }
|
|
2095
|
+
.hcms-inline-handle .hcms-inline-icon { width: 20.4px; height: 20.4px; transform: translateY(-1px); }
|
|
2096
|
+
.hcms-inline-list-add .hcms-inline-icon { width: 16.8px; height: 16.8px; }
|
|
2097
|
+
.hcms-shell .hcms-inline-list-add { padding-inline: 10px; }
|
|
2098
|
+
|
|
2099
|
+
.hcms-inline-list-button {
|
|
2100
|
+
flex: none;
|
|
2101
|
+
}
|
|
2102
|
+
.hcms-inline-list-button[hidden] { display: none; }
|
|
2103
|
+
.hcms-shell .hcms-inline-list-button:disabled {
|
|
2104
|
+
opacity: 1;
|
|
2105
|
+
color: #626B96;
|
|
2106
|
+
background: var(--mirk-bevel-bg);
|
|
2107
|
+
border-color: var(--mirk-bevel-tl) var(--mirk-bevel-br) var(--mirk-bevel-br) var(--mirk-bevel-tl);
|
|
2108
|
+
}
|
|
2109
|
+
.hcms-shell .hcms-inline-list-button:disabled .mirk-button__label { translate: none; }
|
|
2110
|
+
|
|
2111
|
+
/* A finger is not a mouse pointer: on touch the same three controls get the
|
|
2112
|
+
44px target the platform guidelines ask for. */
|
|
2113
|
+
@media (pointer: coarse) {
|
|
2114
|
+
.hcms-shell .hcms-inline-handle,
|
|
2115
|
+
.hcms-shell .hcms-inline-list-button {
|
|
2116
|
+
min-width: 44px;
|
|
2117
|
+
min-height: 44px;
|
|
2118
|
+
}
|
|
2119
|
+
}
|
|
2120
|
+
|
|
2121
|
+
.hcms-inline-toggle { align-self: center; }
|
|
2122
|
+
.hcms-inline-toggle[hidden] { display: none; }
|
|
2123
|
+
|
|
2124
|
+
/* Fields with no visible anchor can still be edited through the sidebar. */
|
|
2125
|
+
.hcms-inline-handoff {
|
|
2126
|
+
display: flex;
|
|
2127
|
+
align-items: center;
|
|
2128
|
+
gap: 10px;
|
|
2129
|
+
padding: 6px 6px 6px 12px;
|
|
2130
|
+
border-radius: 999px;
|
|
2131
|
+
font-size: 13px;
|
|
2132
|
+
border: 1px solid var(--mirk-input-border);
|
|
2133
|
+
background: var(--mirk-bg);
|
|
2134
|
+
color: var(--mirk-fg);
|
|
2135
|
+
align-self: center;
|
|
2136
|
+
}
|
|
2137
|
+
.hcms-inline-handoff[hidden] { display: none; }
|
|
2138
|
+
|
|
2139
|
+
/* Selected fields only. Scoped to the inline host: [data-hcms-shell] is on BOTH
|
|
2140
|
+
hosts, so an unscoped rule hides the sidebar's whole form too. */
|
|
2141
|
+
.hcms-inline .hcms-form [data-hcms-path] { display: none; }
|
|
2142
|
+
.hcms-inline .hcms-form [data-hcms-path].is-hcms-inline-onpath,
|
|
2143
|
+
.hcms-inline .hcms-form [data-hcms-path].is-hcms-inline-active { display: block; }
|
|
2144
|
+
|
|
2145
|
+
.hcms-inline .hcms-form .is-hcms-inline-onpath,
|
|
2146
|
+
.hcms-inline .hcms-form {
|
|
2147
|
+
margin: 0;
|
|
2148
|
+
padding: 0;
|
|
2149
|
+
border: 0;
|
|
2150
|
+
border-radius: 0;
|
|
2151
|
+
box-shadow: none;
|
|
2152
|
+
background: transparent;
|
|
2153
|
+
min-width: 0;
|
|
2154
|
+
min-height: 0;
|
|
2155
|
+
width: 100%;
|
|
2156
|
+
}
|
|
2157
|
+
.hcms-inline-pop .hcms-object-title,
|
|
2158
|
+
.hcms-inline-pop .hcms-array-header,
|
|
2159
|
+
.hcms-inline-pop .hcms-drag-handle,
|
|
2160
|
+
.hcms-inline-pop [data-hcms-action="add"],
|
|
2161
|
+
.hcms-inline-pop [data-hcms-action="remove"],
|
|
2162
|
+
.hcms-inline-pop [data-hcms-action="move-up"],
|
|
2163
|
+
.hcms-inline-pop [data-hcms-action="move-down"],
|
|
2164
|
+
.hcms-inline-pop .hcms-card-controls { display: none; }
|
|
2165
|
+
.hcms-inline .hcms-form .hcms-field.is-hcms-inline-active {
|
|
2166
|
+
display: flex;
|
|
2167
|
+
gap: 8px;
|
|
2168
|
+
padding: 0;
|
|
2169
|
+
margin: 0 0 16px;
|
|
2170
|
+
border: 0;
|
|
2171
|
+
min-width: min(260px, 100%);
|
|
2172
|
+
}
|
|
2173
|
+
.hcms-inline .hcms-form .hcms-field.is-hcms-inline-active:last-child { margin-bottom: 0; }
|
|
2174
|
+
.hcms-shell.pixel-quiet .hcms-inline-pop .mirk-input,
|
|
2175
|
+
.hcms-shell.pixel-quiet .hcms-inline-pop .mirk-textarea {
|
|
2176
|
+
box-sizing: border-box;
|
|
2177
|
+
width: 100%;
|
|
2178
|
+
min-width: min(260px, 100%);
|
|
2179
|
+
min-height: 42px;
|
|
2180
|
+
padding: 10px 12px;
|
|
2181
|
+
border: 1px solid var(--mirk-input-border);
|
|
2182
|
+
background: var(--mirk-input-bg);
|
|
2183
|
+
}
|
|
2184
|
+
.hcms-inline-pop .mirk-input:focus-visible,
|
|
2185
|
+
.hcms-inline-pop .mirk-textarea:focus-visible {
|
|
2186
|
+
outline: 2px solid var(--mirk-focus-color);
|
|
2187
|
+
outline-offset: 2px;
|
|
2188
|
+
}
|
|
2189
|
+
|
|
2190
|
+
.hcms-inline-highlight {
|
|
2191
|
+
position: absolute;
|
|
2192
|
+
top: 0;
|
|
2193
|
+
left: 0;
|
|
2194
|
+
pointer-events: none;
|
|
2195
|
+
border: 2px solid var(--mirk-focus-color);
|
|
2196
|
+
border-radius: 4px;
|
|
2197
|
+
box-sizing: border-box;
|
|
2198
|
+
will-change: transform;
|
|
2199
|
+
}
|
|
2200
|
+
.hcms-inline-highlight[hidden] { display: none; }
|
|
2201
|
+
`;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"),i=o.querySelector(".mirk-file__name");if(!i)return;let s=r.files[0],l=document.createElement("a");if(l.className="mirk-file__name",l.dataset.filled="",l.href=URL.createObjectURL(s),l.target="_blank",l.rel="noopener",l.textContent=s.name,i.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"),i=o.querySelector(".mirk-image__preview");if(!i)return;let s=o.querySelector(".mirk-image__placeholder"),l=new FileReader;l.onload=a=>{i.src=a.target.result,i.removeAttribute("hidden"),s&&s.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 i=r.closest(".mirk-file"),s=i?.querySelector(".mirk-file__input"),l=i?.querySelector(".mirk-file__name");if(s&&(s.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 i=o.closest(".mirk-image"),s=i?.querySelector(".mirk-image__input"),l=i?.querySelector(".mirk-image__preview");s&&(s.value=""),l&&(l.removeAttribute("src"),l.setAttribute("hidden","")),i?.querySelector(".mirk-image__thumb")?.setAttribute("hidden",""),i?.querySelector(".mirk-image__upload")?.removeAttribute("hidden")}});function t(n,r){let o=document.createElement("span");o.textContent=n;let i=document.createElement("input");i.type="hidden",i.name="tags[]",i.value=n;let s=document.createElement("button");s.type="button",s.className="mirk-tags__remove",s.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,i,s),l.append(a)}else l.append(o,i,s);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 i=r.value.trim();if(!i)return;n.preventDefault(),r.before(t(i,o.classList.contains("mirk-tags--round"))),r.value=""}else if(n.key==="Backspace"&&!r.value){let i=o.querySelectorAll(".mirk-tags__chip");i[i.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 i=r.closest(".mirk-chip__panel")?.classList.toggle("is-changes");r.textContent=i?"(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 i=o.cloneNode(!0);i.querySelectorAll("[data-copy-btn]").forEach(a=>a.remove());let l=o.getAttribute("data-copy")==="text"?i.textContent.replace(/^\s+|\s+$/g,""):i.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)})})})();vc(Ac);var zh=ks,Vh={cms:ks};return Rc(Wh);})();
|