hyperframes 0.7.99 → 0.7.101

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ var VERSION;
50
50
  var init_version = __esm({
51
51
  "src/version.ts"() {
52
52
  "use strict";
53
- VERSION = true ? "0.7.99" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.101" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -58575,7 +58575,7 @@ var RUNTIME_IIFE;
58575
58575
  var init_runtime_inline = __esm({
58576
58576
  "../core/dist/generated/runtime-inline.js"() {
58577
58577
  "use strict";
58578
- RUNTIME_IIFE = '"use strict";(()=>{var fd=Object.create;var Jr=Object.defineProperty;var md=Object.getOwnPropertyDescriptor;var pd=Object.getOwnPropertyNames;var hd=Object.getPrototypeOf,gd=Object.prototype.hasOwnProperty;var xd=(e,t,n)=>t in e?Jr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var bd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of pd(t))!gd.call(e,i)&&i!==n&&Jr(e,i,{get:()=>t[i],enumerable:!(r=md(t,i))||r.enumerable});return e};var yd=(e,t,n)=>(n=e!=null?fd(hd(e)):{},bd(t||!e||!e.__esModule?Jr(n,"default",{value:e,enumerable:!0}):n,e));var he=(e,t,n)=>xd(e,typeof t!="symbol"?t+"":t,n);var Ps=Z((qb,Bi)=>{var K=String,Is=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};Bi.exports=Is();Bi.exports.createColors=Is});var Ui=Z(()=>{});var ir=Z((Yb,Hs)=>{"use strict";var Os=Ps(),Gs=Ui(),dn=class e extends Error{constructor(t,n,r,i,o,a){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),a&&(this.plugin=a),typeof n<"u"&&typeof r<"u"&&(typeof n=="number"?(this.line=n,this.column=r):(this.line=n.line,this.column=n.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=Os.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Os.createColors(!0);i=x=>c(f(x)),r=x=>m(x),Gs&&(o=x=>Gs(x))}let a=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let E=20,S=Math.max(0,this.column-E),w=Math.max(this.column+E,this.endColumn+E),T=c.slice(S,w),k=r(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return i(">")+r(x)+o(T)+`\n `+k+i("^")}let y=r(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return i(">")+r(x)+o(c)+`\n `+y+i("^")}return" "+r(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Hs.exports=dn;dn.default=dn});var Wi=Z((Xb,Us)=>{"use strict";var pm=/(<)(\\/?style\\b)/gi,hm=/(<)(!--)/g;function ot(e){return typeof e!="string"||!e.includes("<")?e:e.replace(pm,"\\\\3c $2").replace(hm,"\\\\3c $2")}var Bs={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function gm(e){return e[0].toUpperCase()+e.slice(1)}var fn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(ot(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`\n`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(ot(n+r)+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(ot(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:ot(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(ot("/*"+n+t.text+r+"*/"),t)}decl(t,n){let r=t.raws,i=this.raw(t,"between","colon"),o=t.prop+i+this.rawValue(t,"value");t.important&&(o+=r.important||" !important"),n&&(o+=";"),this.builder(ot(o),t)}document(t){this.body(t)}raw(t,n,r){let i;if(r||(r=n),n&&(i=t.raws[n],typeof i<"u"))return i;let o=t.parent;if(r==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return Bs[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+gm(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=Bs[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let r;return t.walkComments(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeDecl"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeDecl(t,n){let r;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeRule"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeOpen(t){let n;return t.walk(r=>{if(r.type!=="decl"&&(n=r.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&typeof r.raws.before<"u")return n=r.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(r=>{if(typeof r.raws.between<"u")return n=r.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length===0&&(n=r.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof r.raws.before<"u"){let o=r.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:ot(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(ot(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};Us.exports=fn;fn.default=fn});var mn=Z((Jb,Ws)=>{"use strict";var xm=Wi();function Vi(e,t){new xm(t).stringify(e)}Ws.exports=Vi;Vi.default=Vi});var or=Z((Qb,zi)=>{"use strict";zi.exports.isClean=Symbol("isClean");zi.exports.my=Symbol("my")});var gn=Z((Zb,Vs)=>{"use strict";var bm=ir(),ym=Wi(),Sm=mn(),{isClean:pn,my:vm}=or();function $i(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>$i(a,n)):(o==="object"&&i!==null&&(i=$i(i)),n[r]=i)}return n}function Je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,r=1,i=0;for(let o=0;o<e.length;o++){if(r===t.line&&n===t.column){i=o;break}e[o]===`\n`?(n=1,r+=1):n+=1}return i}var hn=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[pn]=!1,this[vm]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=$i(this);for(let r in t)n[r]=t[r];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:r,start:i}=this.rangeBy(n);return this.source.input.error(t,{column:i.column,line:i.line},{column:r.column,line:r.line},n)}return new bm(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[pn]=!0}markDirty(){if(this[pn]){this[pn]=!1;let t=this;for(;t=t.parent;)t[pn]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(Je(r,this.source.start),Je(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=Je(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`\n`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,r={column:this.source.start.column,line:this.source.start.line,offset:Je(n,this.source.start)},i=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Je(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(Je(n,this.source.start),Je(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:Je(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:Je(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new ym().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Sm){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};Vs.exports=hn;hn.default=hn});var bn=Z((ey,zs)=>{"use strict";var Em=gn(),xn=class extends Em{constructor(t){super(t),this.type="comment"}};zs.exports=xn;xn.default=xn});var Sn=Z((ty,$s)=>{"use strict";var Cm=gn(),yn=class extends Cm{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};$s.exports=yn;yn.default=yn});var at=Z((ny,el)=>{"use strict";var qs=bn(),js=Sn(),_m=gn(),{isClean:Ks,my:Ys}=or(),qi,Xs,Js,ji;function Qs(e){return e.map(t=>(t.nodes&&(t.nodes=Qs(t.nodes)),delete t.source,t))}function Zs(e){if(e[Ks]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)Zs(t)}var Ue=class e extends _m{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=Qs(Xs(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new js(t)]}else if(t.selector||t.selectors)t=[new ji(t)];else if(t.name)t=[new qi(t)];else if(t.text)t=[new qs(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Ys]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Ks]&&Zs(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};Ue.registerParse=e=>{Xs=e};Ue.registerRule=e=>{ji=e};Ue.registerAtRule=e=>{qi=e};Ue.registerRoot=e=>{Js=e};el.exports=Ue;Ue.default=Ue;Ue.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,qi.prototype):e.type==="rule"?Object.setPrototypeOf(e,ji.prototype):e.type==="decl"?Object.setPrototypeOf(e,js.prototype):e.type==="comment"?Object.setPrototypeOf(e,qs.prototype):e.type==="root"&&Object.setPrototypeOf(e,Js.prototype),e[Ys]=!0,e.nodes&&e.nodes.forEach(t=>{Ue.rebuild(t)})}});var ar=Z((ry,nl)=>{"use strict";var tl=at(),Dt=class extends tl{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};nl.exports=Dt;Dt.default=Dt;tl.registerAtRule(Dt)});var sr=Z((iy,ol)=>{"use strict";var Am=at(),rl,il,xt=class extends Am{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new rl(new il,this,t).stringify()}};xt.registerLazyResult=e=>{rl=e};xt.registerProcessor=e=>{il=e};ol.exports=xt;xt.default=xt});var sl=Z((oy,al)=>{var wm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Tm=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Rm=(e=21)=>{let t="",n=e|0;for(;n--;)t+=wm[Math.random()*64|0];return t};al.exports={nanoid:Rm,customAlphabet:Tm}});var lr=Z(()=>{});var ur=Z(()=>{});var Ki=Z(()=>{});var ll=Z(()=>{});var Xi=Z((py,dl)=>{"use strict";var{existsSync:Fm,readFileSync:Lm}=ll(),{dirname:Yi,join:Nm}=lr(),{SourceMapConsumer:ul,SourceMapGenerator:cl}=ur();function km(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var vn=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Yi(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ul(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return km(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Yi(t),Fm(t)))return this.mapFile=t,Lm(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof ul)return cl.fromSourceMap(n).toString();if(n instanceof cl)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let r=this.annotation;t&&(r=Nm(Yi(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};dl.exports=vn;vn.default=vn});var En=Z((hy,gl)=>{"use strict";var{nanoid:Mm}=sl(),{isAbsolute:Zi,resolve:eo}=lr(),{SourceMapConsumer:Dm,SourceMapGenerator:Im}=ur(),{fileURLToPath:fl,pathToFileURL:cr}=Ki(),ml=ir(),Pm=Xi(),Ji=Ui(),Qi=Symbol("lineToIndexCache"),Om=!!(Dm&&Im),pl=!!(eo&&Zi);function hl(e){if(e[Qi])return e[Qi];let t=e.css.split(`\n`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[Qi]=n,n}var It=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!pl||/^\\w+:\\/\\//.test(n.from)||Zi(n.from)?this.file=n.from:this.file=eo(n.from)),pl&&Om){let r=new Pm(this.css,n);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+Mm(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let x=this.fromOffset(s);n=x.line,r=x.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);a=x.line,o=x.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let c=this.origin(n,r,a,o);return c?u=new ml(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,i.plugin):u=new ml(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(cr&&(u.input.url=cr(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return hl(this)[t-1]+n-1}fromOffset(t){let n=hl(this),r=n[n.length-1],i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,a;for(;i<o;)if(a=i+(o-i>>1),t<n[a])o=a-1;else if(t>=n[a+1])i=a+1;else{i=a;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:eo(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;Zi(a.source)?s=cr(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||cr(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(fl)u.file=fl(s);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(a.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};gl.exports=It;It.default=It;Ji&&Ji.registerInput&&Ji.registerInput(It)});var Pt=Z((gy,Sl)=>{"use strict";var xl=at(),bl,yl,st=class extends xl{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new bl(new yl,this,t).stringify()}};st.registerLazyResult=e=>{bl=e};st.registerProcessor=e=>{yl=e};Sl.exports=st;st.default=st;xl.registerRoot(st)});var to=Z((xy,vl)=>{"use strict";var Cn={comma(e){return Cn.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return Cn.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===s&&(l=!1):c===\'"\'||c==="\'"?(l=!0,s=c):c==="("?a+=1:c===")"?a>0&&(a-=1):a===0&&t.includes(c)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=c;return(n||i!=="")&&r.push(i.trim()),r}};vl.exports=Cn;Cn.default=Cn});var dr=Z((by,Cl)=>{"use strict";var El=at(),Gm=to(),Ot=class extends El{get selectors(){return Gm.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};Cl.exports=Ot;Ot.default=Ot;El.registerRule(Ot)});var Al=Z((yy,_l)=>{"use strict";var Hm=ar(),Bm=bn(),Um=Sn(),Wm=En(),Vm=Xi(),zm=Pt(),$m=dr();function _n(e,t){if(Array.isArray(e))return e.map(i=>_n(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:Wm.prototype};o.map&&(o.map={...o.map,__proto__:Vm.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>_n(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new zm(r);if(r.type==="decl")return new Um(r);if(r.type==="rule")return new $m(r);if(r.type==="comment")return new Bm(r);if(r.type==="atrule")return new Hm(r);throw new Error("Unknown node type: "+e.type)}_l.exports=_n;_n.default=_n});var ro=Z((Sy,Nl)=>{"use strict";var{dirname:fr,relative:Tl,resolve:Rl,sep:Fl}=lr(),{SourceMapConsumer:Ll,SourceMapGenerator:mr}=ur(),{pathToFileURL:wl}=Ki(),qm=En(),jm=!!(Ll&&mr),Km=!!(fr&&Rl&&Tl&&Fl),no=class{constructor(t,n,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||fr(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Ll(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),Km&&jm&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=mr.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new mr({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new mr({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\\n/g),a?(t+=a.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?fr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=fr(Rl(r,this.mapOpts.annotation)));let i=Tl(r,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new qm(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(wl){let r=wl(t).toString();return this.memoizedFileURLs.set(t,r),r}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Fl==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Nl.exports=no});var Dl=Z((vy,Ml)=>{"use strict";var pr=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,hr=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Ym=/.[\\r\\n"\'(/\\\\]/,kl=/[\\da-f]/i;Ml.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,x,y,E=r.length,S=0,w=[],T=[],k=-1;function D(){return S}function P(A){throw t.error("Unclosed "+A,S)}function _(){return T.length===0&&S>=E}function b(A){if(T.length)return T.pop();if(S>=E)return;let R=A?A.ignoreUnclosed:!1;switch(o=r.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{s=S;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(S,s)],S=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let N=String.fromCharCode(o);c=[N,N,S];break}case 40:{if(y=w.length?w.pop()[1]:"",x=r.charCodeAt(S+1),y==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){s=S;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||R){s=S;break}else P("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(S,s+1),S,s],S=s}else S<=k?c=["(","(",S]:(s=r.indexOf(")",S+1),a=r.slice(S,s+1),s===-1||Ym.test(a)?(k=s===-1?E:s,c=["(","(",S]):(c=["brackets",a,S,s],S=s));break}case 39:case 34:{u=o===39?"\'":\'"\',s=S;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||R){s=S+1;break}else P("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(S,s+1),S,s],S=s;break}case 64:{pr.lastIndex=S+1,pr.test(r),pr.lastIndex===0?s=r.length-1:s=pr.lastIndex-2,c=["at-word",r.slice(S,s+1),S,s],S=s;break}case 92:{for(s=S,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,kl.test(r.charAt(s)))){for(;kl.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(S,s+1),S,s],S=s;break}default:{o===47&&r.charCodeAt(S+1)===42?(s=r.indexOf("*/",S+2)+1,s===0&&(i||R?s=r.length:P("comment")),c=["comment",r.slice(S,s+1),S,s],S=s):(hr.lastIndex=S+1,hr.test(r),hr.lastIndex===0?s=r.length-1:s=hr.lastIndex-2,c=["word",r.slice(S,s+1),S,s],w.push(c),S=s);break}}return S++,c}function v(A){T.push(A)}return{back:v,endOfFile:_,nextToken:b,position:D}}});var Gl=Z((Ey,Ol)=>{"use strict";var Xm=ar(),Jm=bn(),Qm=Sn(),Zm=Pt(),Il=dr(),ep=Dl(),Pl={empty:!0,space:!0};function tp(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var io=class{constructor(t){this.input=t,this.root=new Zm,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new Xm;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new Jm;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=ep(this.input)}decl(t,n){let r=new Qm;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||tp(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Il;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Pl[m]&&!Pl[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((x,y)=>x+y[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Il;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ol.exports=io});var xr=Z((Cy,Hl)=>{"use strict";var np=at(),rp=En(),ip=Gl();function gr(e,t){let n=new rp(e,t),r=new ip(n);try{r.parse()}catch(i){throw i}return r.root}Hl.exports=gr;gr.default=gr;np.registerParse(gr)});var oo=Z((_y,Bl)=>{"use strict";var An=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Bl.exports=An;An.default=An});var br=Z((Ay,Ul)=>{"use strict";var op=oo(),wn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let r=new op(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};Ul.exports=wn;wn.default=wn});var ao=Z((wy,Vl)=>{"use strict";var Wl={};Vl.exports=function(t){Wl[t]||(Wl[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var uo=Z((Ry,jl)=>{"use strict";var ap=at(),sp=sr(),lp=ro(),up=xr(),zl=br(),cp=Pt(),dp=mn(),{isClean:Ke,my:fp}=or(),Ty=ao(),mp={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},pp={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},hp={Once:!0,postcssPlugin:!0,prepare:!0},Gt=0;function Tn(e){return typeof e=="object"&&typeof e.then=="function"}function ql(e){let t=!1,n=mp[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Gt,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Gt,n+"Exit"]:[n,n+"Exit"]}function $l(e){let t;return e.type==="document"?t=["Document",Gt,"DocumentExit"]:e.type==="root"?t=["Root",Gt,"RootExit"]:t=ql(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function so(e){return e[Ke]=!1,e.nodes&&e.nodes.forEach(t=>so(t)),e}var lo={},lt=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=so(n);else if(n instanceof e||n instanceof zl)i=so(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=up;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[fp]&&ap.rebuild(i)}this.result=new zl(t,i,r),this.helpers={...lo,postcss:lo,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!pp[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!hp[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],r=this.runOnRoot(n);if(Tn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];){t[Ke]=!0;let n=[$l(t)];for(;n.length>0;){let r=this.visitTick(n);if(Tn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(r=>t.Once(r,this.helpers));return Tn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=dp;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new lp(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(Tn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];)t[Ke]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Tn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ke]){l[Ke]=!0,t.push($l(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Gt){r.nodes&&r.nodes.length&&(r[Ke]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ke]=!0;let n=ql(t);for(let r of n)if(r===Gt)t.nodes&&t.each(i=>{i[Ke]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};lt.registerPostcss=e=>{lo=e};jl.exports=lt;lt.default=lt;cp.registerLazyResult(lt);sp.registerLazyResult(lt)});var Yl=Z((Ly,Kl)=>{"use strict";var gp=ro(),xp=xr(),bp=br(),yp=mn(),Fy=ao(),Rn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=xp;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=yp;this.result=new bp(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new gp(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Kl.exports=Rn;Rn.default=Rn});var Jl=Z((Ny,Xl)=>{"use strict";var Sp=sr(),vp=uo(),Ep=Yl(),Cp=Pt(),bt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Ep(this,t,n):new vp(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};Xl.exports=bt;bt.default=bt;Cp.registerProcessor(bt);Sp.registerProcessor(bt)});var ou=Z((ky,iu)=>{"use strict";var Ql=ar(),Zl=bn(),_p=at(),Ap=ir(),eu=Sn(),tu=sr(),wp=Al(),Tp=En(),Rp=uo(),Fp=to(),Lp=gn(),Np=xr(),co=Jl(),kp=br(),nu=Pt(),ru=dr(),Mp=mn(),Dp=oo();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new co(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new co().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return le([i(s)]).process(a,l)},i};le.stringify=Mp;le.parse=Np;le.fromJSON=wp;le.list=Fp;le.comment=e=>new Zl(e);le.atRule=e=>new Ql(e);le.decl=e=>new eu(e);le.rule=e=>new ru(e);le.root=e=>new nu(e);le.document=e=>new tu(e);le.CssSyntaxError=Ap;le.Declaration=eu;le.Container=_p;le.Processor=co;le.Document=tu;le.Comment=Zl;le.Warning=Dp;le.AtRule=Ql;le.Result=kp;le.Input=Tp;le.Rule=ru;le.Root=nu;le.Node=Lp;Rp.registerPostcss(le);iu.exports=le;le.default=le});function Wn(){return globalThis}function F(e,t){if(typeof window>"u")return;let n=Wn(),r=n.__hf?.onSwallowed;if(r)try{r({label:e,error:t})}catch(i){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}var Sd=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function vd(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let i=n%r;n=r,r=i}return n||1}function Ed(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=vd(r,n);return{numerator:r/i,denominator:n/i}}function Qr(e){if(typeof e!="object"||e===null)return null;let t=e;return!Number.isFinite(t.numerator)||!Number.isFinite(t.denominator)||(t.numerator??0)<=0||(t.denominator??0)<=0?null:Number(t.numerator)/Number(t.denominator)}function Vn(e){return{protocolVersion:1,capabilities:Sd,fps:Ed(e)}}function Cd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function la(e,t=30){if(typeof e!="object"||e===null)return{status:"legacy",fps:t};let n=e;if(n.protocolVersion===void 0)return{status:"legacy",fps:t};if(n.protocolVersion!==1)return{status:"unsupported",code:"unsupported_protocol_version",receivedVersion:n.protocolVersion};let r=Qr(n.fps);return r===null||!Cd(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var ua=30;function ca(e){ua=Number.isFinite(e)&&e>0?e:30}function xe(e){try{window.parent.postMessage({...e,...Vn(ua)},"*")}catch(t){F("bridge.postMessage",t)}}var _d={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Ad(e,t),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>Td(e)};function Ad(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Qr(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function wd(e){let t=la(e);return t.status!=="unsupported"?!1:(xe({source:"hf-preview",type:"diagnostic",code:`runtime.protocol.${t.code}`,details:{receivedVersion:typeof t.receivedVersion=="string"||typeof t.receivedVersion=="number"?t.receivedVersion:null}}),!0)}function Td(e){let t=e.selectors,n=e.duration||800;t&&Rd(t,n)}function da(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||wd(r))return;let i=r.action;if(typeof i!="string")return;let o=_d[i];o&&o(r,e)};return window.addEventListener("message",t),xe({source:"hf-preview",type:"ready"}),t}function Rd(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){F("bridge.flashElements.querySelector",r)}}var Zr=null;function fa(e){Zr=e}function Ne(e,t){if(Zr)try{Zr({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){F("runtime.analytics.site1",n)}}function Fd(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function At(e){return`--${Fd(e)}`}function ma(e){let t=new Map;for(let n of e){let r=At(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function pa(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let r of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(r);let t={};for(let r of e)Object.assign(t,Qt(r));let n=$n();return{...t,...n}}function Qt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let r={};for(let i of n){if(!i||typeof i!="object")continue;let o=i;typeof o.id!="string"||!("default"in o)||(r[o.id]=o.default)}return r}var ei="data-hf-css-vars";function zn(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ti(e,t){if(!zn(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=At(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(ei,n.join(" "))}function ha(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=At(i);((zn(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function ga(e){if(!zn(e))return;let t=e.getAttribute(ei);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ei)}}function xa(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=$n(),r=[];for(let i of t)r.push(...Ld(i,n,e.defaultView));for(let i of ma(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${At(i[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Ld(e,t,n){if(!zn(e))return[];let r=Qt(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=At(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return ti(e,i),Object.keys(r)}function ba(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function $n(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function ya(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){F("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){F("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){F("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){F("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){F("runtime.adapters.css.site4",m)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=r(c.el);for(let f of n(c.el)){let x=i(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),x=Math.max(0,c-f)*1e3,y=m.animations;if(y.length>0){o(y,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Sa(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function va(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){F("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){F("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){F("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){F("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Ca(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){F("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(ni(r))r.goToAndStop(t*1e3,!1);else if(ri(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){F("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(ni(t)||ri(t))&&t.pause()}catch(n){F("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=Nd(r)}catch(o){F("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function Ea(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Nd(e){return ni(e)?Ea(e.totalFrames,e.frameRate):ri(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Ea(e.totalFrames,e.frameRate):null}function ni(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ri(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var ii=-1,qn=new Set,wt,oi=0;function _a(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){F("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));qn.add(i),i.then(o=>{qn.delete(i)&&o.status==="rejected"&&wt===void 0&&(wt={reason:o.reason})})}function jn(e){e!==ii&&(ii=e,_a(e))}function Kn(e){ii=e,_a(e)}function Aa(){return oi>0}async function ai(){oi+=1;let e=wt;try{for(await Promise.resolve();qn.size>0;){let r=(await Promise.all([...qn])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=wt;if(e===void 0&&(e=t),wt===t&&(wt=void 0),e)throw e.reason}finally{oi-=1}}function wa(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,jn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function $e(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Ta(){return $e({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Ra(){return $e({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function Fa(){return $e({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function La(){return $e({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Na(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var kd=250;function ka(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(Aa()||(window.__hfTypegpuTime=e,Kn(e)))},kd))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,jn(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}function Ma(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Da(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=Ma(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Ia(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=Ma(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Pa(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=S=>{let w=Number(S.currentTime);return Number.isFinite(w)&&w>0?w:0},c=(S,w)=>w<=0?S:S>=w?Math.max(0,S-w):S,m=(S,w)=>{let T=l.get(S);if(T)return T;let k={compositionTimeMs:w,animationTimeMs:e?c(u(S),w):u(S)};return l.set(S,k),k},f=(S,w)=>{if(!a.has(S)){a.add(S);let T=()=>{a.delete(S)};try{S.addEventListener("finish",T,{once:!0}),S.addEventListener("cancel",T,{once:!0})}catch(k){F("runtime.adapters.waapi.site4",k)}}m(S,w)},x=(S,w)=>{for(let T of S)f(T,w)},y=()=>{if(n||typeof Element>"u")return;let S=Element.prototype;if(typeof S.animate!="function"||S.__hfOriginalAnimate)return;let w=S.animate;try{Object.defineProperty(S,"__hfOriginalAnimate",{value:w,configurable:!0});let T=function(...k){let D=w.apply(this,k);return f(D,t),D};S.animate=T,r=S,i=w,o=T,n=!0}catch{}},E=S=>{let w=null;try{w=S.effect?.getComputedTiming?.()??null}catch(D){F("runtime.adapters.waapi.site4",D)}if(!w)return{};let T=Number(w.endTime);return Number.isFinite(T)?{endSeconds:(l.get(S)?.compositionTimeMs??0)/1e3+T/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,y(),x(s(),t)},seek:S=>{let w=Math.max(0,(Number(S.time)||0)*1e3);t=w,(!e||a.size>0)&&x(s(),e?w:0);for(let T of a){let k=e?m(T,w):m(T,0),D=k.animationTimeMs+Math.max(0,w-k.compositionTimeMs);try{T.currentTime=D}catch(P){F("runtime.adapters.waapi.site1",P)}try{T.pause()}catch(P){F("runtime.adapters.waapi.site2",P)}}},pause:()=>{e||x(s(),t);for(let S of a)try{S.pause()}catch(w){F("runtime.adapters.waapi.site3",w)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(S){F("runtime.adapters.waapi.site5",S)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let S=0;for(let w of s()){let T=E(w);T.endSeconds!=null&&(S=Math.max(S,T.endSeconds))}return S>0?S:null}}}function Oa(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function Md(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function Yn(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Dd(e,t){let n=Yn(e.dataset.start)??0,r=Yn(e.dataset.end),i=Yn(e.dataset.duration),o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Yn(e.dataset.volume)??1,l=Math.max(0,Math.min(1,a));return{start:n,end:o,staticVolume:l}}function Id(e,t,n,r){let{start:i,end:o,staticVolume:a}=Dd(e,n);e.volume=a;let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=[],m;for(let x=s;x<=u+1e-6;x=Math.min(u,x+l)){t(x);let y=Number(e.volume);if(Number.isFinite(y)){let E=Math.max(0,Math.min(1,y)),S={time:Number(x.toFixed(6)),volume:Number(E.toFixed(6))};Md(c,m,S,x===u),m=S}if(x===u)break}return c.some(x=>Math.abs(x.volume-a)>1e-4)?c:null}function Ga(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Id(e,o,n,60);Number.isFinite(a)&&o(a),l&&r.set(e,l)}function Ha(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function qe(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Ha(n)}function Rt(e){let t=Number.parseFloat(e.getAttribute("data-playback-start")??e.getAttribute("data-media-start")??"");return Number.isFinite(t)&&t>=0?t:0}function Ba(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>0);return n.length>0?Math.min(...n):null}function Ua(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Number.parseFloat(a.dataset.playbackStart??a.dataset.mediaStart??"0")||0,u=qe(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-s)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,y=Number.parseFloat(a.dataset.volume??""),E={el:a,start:l,mediaStart:s,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(y)?y:null,playbackRate:u,loop:c,sourceDuration:m};r.push(E),a.tagName==="VIDEO"&&i.push(E),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var si=new WeakMap,en=new WeakMap,li=new WeakSet,Tt=new WeakSet;function Pd(e){if(Tt.has(e))return;Tt.add(e);let t=()=>Tt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Od=3;function Gd(e){return e.error!=null||e.networkState===Od}var ui=new WeakMap;function Zt(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function ci(e){si.delete(e),en.delete(e),li.delete(e),ui.delete(e)}function Wa(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let U=n.sourceDuration-n.mediaStart;U>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%U)}let u=Zt(e.userVolume??1),c=Zt(n.volume??1),m=ui.get(r),f=Zt(r.volume),x;n.volumeKeyframes&&n.volumeKeyframes.length>0?x=Zt(Oa(n.volumeKeyframes,i)):m===void 0||Math.abs(f-m)>1e-4?x=f:x=c;let y=Zt(x*u);r.volume=y,ui.set(r,y),e.onElementVolume?.(r,y),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(U){F("runtime.media.site1",U)}let E=.04,S=2,w=r.currentTime||0,T=Math.abs(w-i),k=i-w,D=si.get(r);si.set(r,k);let P=D===void 0,_=!P&&Math.abs(k-D)>.5,b=T>3,v=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(P||_||b),A=r.tagName==="VIDEO"&&!r.paused,R=D!==void 0&&Math.abs(k-D)<.004,N=!1;if(!A&&!v&&!P&&R&&T>E){let U=(en.get(r)??0)+1;en.set(r,U),U>=S&&(N=!0,en.set(r,0))}else T<=E&&en.set(r,0);let G=!A&&e.forceSync&&T>.02;if(v||N||G){if(!(r.tagName==="VIDEO"&&r.id&&!!document.getElementById(`__render_frame_${r.id}__`))){try{r.currentTime=i}catch(ne){F("runtime.media.site2",ne)}if(Math.abs(r.currentTime-i)>.5&&!li.has(r)){li.add(r),r.load();try{r.currentTime=i}catch(ne){F("runtime.media.site3",ne)}}}Tt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Tt.has(r)&&!Gd(r)?(Pd(r),r.play().catch(U=>{Tt.delete(r),(U&&typeof U=="object"&&"name"in U?String(U.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}ci(r),r.paused||r.pause()}}var Hd="hf-proxy",Va="runtime_media_proxy_fallback",za="runtime_media_proxy_unavailable",tn=new WeakSet,$a=new WeakSet;function Xn(e){return e.currentSrc||e.src}function di(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!e.id&&!!document.getElementById(`__render_frame_${e.id}__`)}function fi(e){let t=Xn(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function Bd(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function Ud(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function mi(e,t){return t[e]??Bd(e,t)??Ud(e,t)}function Wd(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(Hd,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Vd={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function gt(e,t,n){if($a.has(e))return;$a.add(e);let r=Vd[t];xe({source:"hf-preview",type:"diagnostic",code:za,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${za}: "${n}" (${t}): ${r}`)}function pi(e,t=null,n="reactive"){if(tn.has(e))return;let r=Xn(e),i;try{i=Wd(r,t)}catch(l){F("runtime.mediaProxy.swap",l),gt(e,"invalid_source_url",r);return}tn.add(e),ci(e),e.src=i,e.load();let o=t?.codecName??null;xe({source:"hf-preview",type:"diagnostic",code:Va,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${Va}: "${r}" uses a codec (${o??"unknown"}) this browser can\'t decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function qa(e){if(di(e)||!(e instanceof HTMLVideoElement)||tn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=fi(e);if(n===null)return;let r=mi(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||pi(e,r,"proactive")}function ja(e){if(di(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Xn(e);if(tn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=fi(e);if(r===null){gt(e,"cross_origin",t);return}let i=mi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}pi(e,i,"reactive")}function Ka(e){if(di(e)||!(e instanceof HTMLVideoElement))return;let t=Xn(e);if(tn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=fi(e);if(r===null){gt(e,"cross_origin",t);return}let i=mi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}pi(e,i,"tertiary")}var be=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);he(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},zd=[0,0,0],$d=[1,1,1],Jn=64;function qd(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===\'"\'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function nt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new be(`Invalid number "${e}"`,t);return n}function Ya(e,t,n){if(e.length!==3)throw new be(`${t} expects three numbers`,n);return[nt(e[0],n),nt(e[1],n),nt(e[2],n)]}function Xa(e,t,n){if(!e)throw new be(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new be(`${t} must be an integer greater than 1`,n);return r}function jd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new be("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Kd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function Yd(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Ja(e,t={}){let n=t.maxSize??Jn,r=null,i=zd,o=$d,a=null,l=null,s=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=qd(u[m]??"").trim();if(!x)continue;let y=x.split(/\\s+/),E=(y[0]??"").toUpperCase(),S=y.slice(1);if(E==="TITLE"){r=Kd(x);continue}if(E==="DOMAIN_MIN"){i=Ya(S,E,f);continue}if(E==="DOMAIN_MAX"){o=Ya(S,E,f);continue}if(E==="LUT_3D_INPUT_RANGE"){if(S.length!==2)throw new be(`${E} expects two numbers`,f);let w=nt(S[0],f),T=nt(S[1],f);if(T<=w)throw new be("LUT_3D_INPUT_RANGE max must exceed min",f);i=[w,w,w],o=[T,T,T];continue}if(E==="LUT_1D_SIZE"){a=Xa(S[0],E,f);continue}if(E==="LUT_3D_SIZE"){if(l=Xa(S[0],E,f),l>n)throw new be(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!Yd(E)){if(E.startsWith("LUT_"))throw new be(`Unsupported cube keyword ${E}`,f);continue}if(!l)throw a?new be("1D cube LUTs are not supported yet",f):new be("LUT data appears before LUT_3D_SIZE",f);if(y.length!==3)throw new be("LUT data rows must contain three numbers",f);s.push(nt(y[0],f),nt(y[1],f),nt(y[2],f))}if(a&&l)throw new be("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new be("1D cube LUTs are not supported yet"):new be("Missing LUT_3D_SIZE");jd(i,o);let c=l*l*l;if(s.length!==c*3)throw new be(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function Xd(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function nn(e){return Math.round(Xd(e)*255)}function hi(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=nn(e.data[s]??0),i[u+1]=nn(e.data[s+1]??0),i[u+2]=nn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Qa="rec709";var ce={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var Za=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],es=["shadows","midtones","highlights"],ts=["master","red","green","blue"],ns=["hueVsHue","hueVsSaturation","hueVsLuma"];var rs=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],is=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var jx=ce.unit,Kx=ce.signedUnit,Yx=ce.effects;var je=1024,rn=16;function os(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function ye(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function Jd(e){let t=[],n=[],r=ye(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=ye(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=os(ye(t,0),ye(t,1),i,ye(n,1)),o[o.length-1]=os(ye(t,t.length-1),ye(t,t.length-2),ye(n,n.length-1),ye(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=ye(n,a-1),s=ye(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=ye(t,a-1),c=ye(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function as(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function Qd(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function Zd(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ss(e,t,n,r,i){Qd(e,r,i);let o=Jd(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>ye(e,l+1)[0];)l+=1;let c=ye(e,l),m=ye(e,l+1),f=Zd(u,c,m,ye(o,l),ye(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Ft(e,t=je){if(as(e,t),e.length>rn)throw new RangeError(`A color curve supports at most ${rn} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return ss(e,t,n=>n/(t-1),0,1)}function xi(e,t,n,r=je){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>rn)throw new RangeError(`A hue curve supports at most ${rn} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return as(l,r),ss(l,r,s=>s/r*360,t,n)}var on="data-color-grading",an="data-hf-color-grading-source-hidden",er="data-hf-authored-opacity",fs="__hf_color_grading_",tf=Qa,Si={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},vi={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Ei={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var tr=Za,ms=es,ps=ts,hs=ns,_i=rs,Ai=is,ls={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},us={vignette:.18};function Se(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...Si,...n},details:{...vi,...r},effects:{...Ei,...i}}}var wi=[Se("neutral","Neutral"),Se("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Se("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Se("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Se("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Se("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Se("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Se("vintage-wash","Vintage Wash",ls,us),Se("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Se("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Se("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Se("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Se("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Se("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Se("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Se("home-movie-8mm","8mm Home Movie",ls,{...us,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Se("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Se("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],nf=new Map(wi.map(e=>[e.id,e])),rf=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,of={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},Lt={hue:0,amount:0,level:0},cs={amount:ce.unit,level:ce.signedUnit},rt=[[0,0],[1,1]],Nt=[],af={hueVsHue:ce.secondaryHueShift,hueVsSaturation:ce.signedUnit,hueVsLuma:ce.signedUnit},bi={center:0,range:180,softness:0},yi={min:0,max:1,softness:.05},sf={vignette:ce.unit,vignetteMidpoint:ce.unit,vignetteRoundness:ce.signedUnit,vignetteFeather:ce.unit,grain:ce.unit,grainSize:ce.unit,grainRoughness:ce.unit},Ci=ce.unit,lf=ce.effects,gs=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var uf=wi.filter(e=>gs.some(t=>e.effects[t]>1e-4)),rb=wi.filter(e=>!uf.includes(e)),ib={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},xs=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var cf=/^#[0-9a-f]{6}$/i;function df(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&cf.test(t))?null:e.map(t=>t.toLowerCase())}function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zn(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function bs(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function we(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Zn(n,t.min,t.max):0}function Ti(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function ff(e){let t=Ce(e)?e:{};return ms.reduce((n,r)=>{let i=Ce(t[r])?t[r]:{};return n[r]={hue:Ti(i.hue,Lt.hue),amount:we(i.amount??Lt.amount,cs.amount),level:we(i.level??Lt.level,cs.level)},n},{shadows:{...Lt},midtones:{...Lt},highlights:{...Lt}})}function mf(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[Zn(t,0,1),Zn(n,0,1)]:null}function ys(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function pf(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function hf(e){if(!Array.isArray(e)||e.length<2)return rt;let t=[];for(let n of e){let r=mf(n);if(!r)return rt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),ys(t)||(pf(t),t.length>16)?rt:t}function gf(e){let t=Ce(e)?e:{};return ps.reduce((n,r)=>(n[r]=hf(t[r]),n),{master:rt,red:rt,green:rt,blue:rt})}function xf(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[Ti(n),Zn(r,t.min,t.max)]:null}function bf(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Nt;let n=[];for(let r of e){let i=xf(r,t);if(!i)return Nt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),ys(n)?Nt:n}function yf(e){let t=Ce(e)?e:{};return hs.reduce((n,r)=>(n[r]=bf(t[r],af[r]),n),{hueVsHue:Nt,hueVsSaturation:Nt,hueVsLuma:Nt})}function ds(e){let t=Ce(e)?e:{},n=we(t.min??yi.min,Ci),r=we(t.max??yi.max,Ci);return{min:Math.min(n,r),max:Math.max(n,r),softness:we(t.softness??yi.softness,ce.secondarySoftRangeSoftness)}}function Sf(e){let t=Ce(e)?e:{},n=we(t.range??bi.range,ce.secondaryHueRange);return{center:Ti(t.center,bi.center),range:n,softness:we(t.softness??bi.softness,{min:ce.secondaryHueSoftness.min,max:ce.secondaryHueCombinedMax-n})}}function vf(e){return{hueShift:we(e.hueShift??0,ce.secondaryHueShift),saturation:we(e.saturation??0,ce.signedUnit),luma:we(e.luma??0,ce.signedUnit),temperature:we(e.temperature??0,ce.signedUnit),tint:we(e.tint??0,ce.signedUnit)}}function Ef(e){return!Ce(e)||!Ce(e.key)||!Ce(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Sf(e.key.hue),saturation:ds(e.key.saturation),luma:ds(e.key.luma)},correction:vf(e.correction)}}function Cf(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Ef(n);r&&t.push(r)}return t}function _f(e){if(e==null)return null;let t=String(e).trim();return t||null}function Af(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Ce(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:bs(e.intensity,1)}}function wf(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Ce(n)?n:null}catch{return null}return{preset:t}}return Ce(e)?e:null}function Tf(e,t){let n=e.trim().match(rf);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function Qn(e,t){if(typeof e=="string"){let r=Tf(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return Qn(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Qn(r,t));if(!Ce(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Qn(i,t);return n}function Rf(e){return e?nf.get(e)??null:null}function nr(e){let t=wf(e);if(!t||t.enabled===!1)return null;let n=_f(t.preset),r=Rf(n),i=r?.adjust??Si,o=r?.details??vi,a=r?.effects??Ei,l=Ce(t.adjust)?t.adjust:{},s=Ce(t.details)?t.details:{},u=Ce(t.effects)?t.effects:{},c=tr.reduce((x,y)=>(x[y]=we(l[y]??i[y],of[y]),x),{...Si}),m=_i.reduce((x,y)=>(x[y]=we(s[y]??o[y],sf[y]),x),{...vi}),f=Ai.reduce((x,y)=>(x[y]=we(u[y]??a[y],lf[y]??Ci),x),{...Ei});return{enabled:!0,preset:n,intensity:bs(t.intensity,r?.intensity??1),adjust:c,wheels:ff(t.wheels),curves:gf(t.curves),hueCurves:yf(t.hueCurves),secondaries:Cf(t.secondaries),details:m,effects:f,palette:df(t.palette),lut:Af(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():tf}}function Ss(e,t){return nr(Qn(e,t))}function Ff(e){return ms.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Ri(e){return ps.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Fi(e){return hs.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Li(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function vs(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||gs.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:tr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Ff(e.wheels):!1)||(e.curves?Ri(e.curves):!1)||(e.hueCurves?Fi(e.hueCurves):!1)||(e.secondaries?Li(e.secondaries):!1):!1}var Lf=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Nf=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Es(e){let t=!1,n=null,r=null,i=null,o=null;function a(b,v){try{window.dispatchEvent(new CustomEvent(b,{detail:v}))}catch(A){F("runtime.picker.site1",A)}}function l(b){i=b,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(b){o=b,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(b){let v=b.ownerDocument.defaultView;if(!v)return!1;let A=b;for(;A&&A!==document.body&&A!==document.documentElement;){let R=v.getComputedStyle(A);if(R.display==="none"||R.visibility==="hidden"||R.pointerEvents==="none")return!0;let N=Number.parseFloat(R.opacity);if(Number.isFinite(N)&&N<=.01&&!A.hasAttribute(an))return!0;A=A.parentElement}return!1}function c(b){if(!b||b===document.body||b===document.documentElement)return!1;let v=b.tagName.toLowerCase();return!(v==="script"||v==="style"||v==="link"||v==="meta"||b.classList.contains("__hf-pick-highlight")||b.closest(Lf)||u(b))}function m(b){return!!b?.closest(Nf)}function f(b){let v=b;if(v.id)return`#${CSS.escape(v.id)}`;let A=b.getAttribute("data-composition-id");if(A)return`[data-composition-id="${CSS.escape(A)}"]`;let R=b.getAttribute("data-composition-src");if(R)return`[data-composition-src="${CSS.escape(R)}"]`;let N=b.getAttribute("data-track-index");if(N)return`[data-track-index="${CSS.escape(N)}"]`;let G=b.tagName.toLowerCase(),U=b.parentElement;if(!U)return G;let ne=U.querySelectorAll(`:scope > ${G}`);if(ne.length===1)return G;for(let H=0;H<ne.length;H+=1)if(ne[H]===b)return`${G}:nth-of-type(${H+1})`;return G}function x(b){let v=b.tagName.toLowerCase(),A=(b.textContent??"").trim().replace(/\\s+/g," "),R=(N,G)=>N.length>G?`${N.slice(0,G-1)}\\u2026`:N;return v==="h1"||v==="h2"||v==="h3"?"Heading":v==="p"||v==="span"||v==="div"?A.length>0?R(A,56):"Text":v==="img"?"Image":v==="video"?"Video":v==="audio"?"Audio":v==="svg"?"Shape":b.getAttribute("data-composition-src")?"Composition":v==="section"?"Section":`${v.charAt(0).toUpperCase()}${v.slice(1)}`}function y(b,v,A){let R=typeof A=="number"&&A>0?A:8,N=[];if(document.elementsFromPoint)N=document.elementsFromPoint(b,v);else if(document.elementFromPoint){let ne=document.elementFromPoint(b,v);N=ne?[ne]:[]}if(m(N[0]??null))return[];let G={},U=[];for(let[ne,H]of N.entries()){if(!c(H))continue;let J=`${H.tagName}::${H.id||""}::${ne}`;if(!G[J]&&(G[J]=!0,U.push(H),U.length>=R))break}return U}function E(b){let v=b.getBoundingClientRect(),A={};for(let N of Array.from(b.attributes))N.name.startsWith("data-")&&(A[N.name]=N.value);return{id:b.id||null,tagName:b.tagName.toLowerCase(),selector:f(b),label:x(b),boundingBox:{x:v.left,y:v.top,width:v.width,height:v.height},textContent:b.textContent?b.textContent.trim().slice(0,200):null,src:b.getAttribute("src")||b.getAttribute("data-composition-src")||null,dataAttributes:A}}function S(b,v,A){return y(b,v,A).map(E)}function w(b){if(!t)return;let A=y(b.clientX,b.clientY,1)[0]??(b.target instanceof Element?b.target:null);if(!c(A)||n===A)return;n&&n.classList.remove("__hf-pick-highlight"),n=A,A.classList.add("__hf-pick-highlight");let R=E(A);l(R),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:R})}function T(b){if(!t)return;b.preventDefault(),b.stopPropagation(),b.stopImmediatePropagation();let v=S(b.clientX,b.clientY,8);v.length!==0&&(l(v[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:v,selectedIndex:0,point:{x:b.clientX,y:b.clientY}}))}function k(b){b.key==="Escape"&&(P(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function D(){t||(t=!0,r=document.createElement("style"),r.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",T,!0),document.addEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function P(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",T,!0),document.removeEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:D,disable:P,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(b,v,A)=>Number.isFinite(b)&&Number.isFinite(v)?S(b,v,A):[],pickAtPoint:(b,v,A)=>{if(!Number.isFinite(b)||!Number.isFinite(v))return null;let R=S(b,v,8);if(!R.length)return null;let N=Math.max(0,Math.min(R.length-1,Number(A??0))),G=R[N]??null;return G?(s(G),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),P(),G):null},pickManyAtPoint:(b,v,A)=>{if(!Number.isFinite(b)||!Number.isFinite(v))return[];let R=S(b,v,8);if(!R.length)return[];let N=[],G=Array.isArray(A)?A:[0];for(let U of G){let ne=Math.max(0,Math.min(R.length-1,Math.floor(Number(U)))),H=R[ne];if(!H)continue;N.some(_e=>_e.selector===H.selector&&_e.tagName===H.tagName)||N.push(H)}return N.length?(s(N[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:N}),P(),N):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:D,disablePickMode:P,installPickerApi:_}}var kf=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function kt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function Cs(e,t,n=kf){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function sn(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&F("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Be(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&F("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function ln(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){F("runtime.player.site1",i)}}}function _s(e,t,n,r){let i=kt(t,n),o=r?.suppressEvents===!0;return Be(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Mf(e,t,n,r,i){let o=[];ln(e,t,a=>{Be(a,"play"),o.push(a)});try{return _s(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){F("runtime.player.site2",l)}}}function Df(e,t){ln(e,t,n=>{Be(n,"play")})}function As(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??sn(n,"duration",0))||0);r>0&&Math.max(0,sn(n,"time",0))>=r&&(Be(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Be(n,"play"),ln(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Be(n,"pause"),ln(e.getTimelineRegistry?.(),n,i=>{Be(i,"pause")});let r=Math.max(0,sn(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Mf(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play"),ln(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Be(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(Df(e.getTimelineRegistry?.(),i),_s(i,n,o,r)):kt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>sn(e.getTimeline(),"time",0),getDuration:()=>sn(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function ws(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var If=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ki(e){return e.id||e.getAttribute("data-hf-id")||null}function Ni(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Pf(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Of(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=Ni(e.getAttribute("data-playback-start"))??Ni(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function Gf(e,t,n,r){let i=Ni(e.getAttribute("data-duration"));return i!=null&&i>0?i:Pf(e,t)??Of(e)??Math.max(0,n-r)}function Hf(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Ts(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||If.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Gf(l,n,r,s)<=0)continue;let u={id:ki(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return Hf(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var Mi="css:root",Rs=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],Bf=new Set([...Rs,"contain","isolation","mask-border","mix-blend-mode","opacity"]),Uf=new Set(["absolute","relative"]),Wf=new Set(["flex","inline-flex","grid","inline-grid"]),Vf=new Set(["layout","paint","strict","content"]),zf=new Set(["size","inline-size"]);function $f(e){return e.position==="fixed"||e.position==="sticky"}function qf(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(Uf.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&Wf.has(n)}function jf(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Rs.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function Kf(e){return e.getPropertyValue("contain").split(/\\s+/).some(n=>Vf.has(n))?!0:zf.has(e.getPropertyValue("container-type"))}function Yf(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>Bf.has(t))}function Xf(e,t){return $f(t)||qf(e,t)||jf(t)||Kf(t)?!0:Yf(t)}function Jf(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function rr(e){let t=e.ownerDocument.defaultView;if(!t)return Mi;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(Xf(n,t.getComputedStyle(n)))return Jf(n)}catch{return Mi}n=n.parentElement}return Mi}var Mt=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),xb=Object.freeze([Mt.start,Mt.duration,Mt.trackIndex]),bb=Object.freeze([Mt.derivedEnd]),yb=Object.freeze([Mt.derivedEnd,Mt.legacyTrack]);function ke(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Ls=/^[A-Za-z0-9_.:-]+$/;function Ns(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Fs(e,t){let n=t;for(;n>=0&&Ns(e,n);)n--;return n}function Qf(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function Zf(e){let t=e.length-1;if(!Ns(e,t))return null;let n=Fs(e,t);return e[n]==="."&&(n=Fs(e,n-1)),n+1}function em(e){let t=Zf(e);if(t==null)return null;let n=Qf(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Ls.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Di(e){let t=(e??"").trim();if(!t)return null;let n=ke(t);if(n!=null)return{kind:"absolute",value:n};if(Ls.test(t))return{kind:"reference",refId:t,offset:0};let r=em(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}var tm="data-hf-authored-duration",nm="data-hf-authored-end";function rm(e){return ke(e.getAttribute("data-duration"))}function im(e){return ke(e.getAttribute("data-end"))}function om(e){return ke(e.getAttribute(tm))}function am(e){return ke(e.getAttribute(nm))}function it(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let x=r.getElementById(f);return x||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let x=f.ownerDocument.defaultView?.HTMLMediaElement;return x?f instanceof x:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let x=o.get(f);if(x!==void 0)return x;let y=null,E=rm(f)??(n?om(f):null);if(E!=null&&E>0&&(y=E),y==null||y<=0){let S=im(f)??(n?am(f):null);if(S!=null){let w=m(f,0),T=S-w;Number.isFinite(T)&&T>0&&(y=T)}}if((y==null||y<=0)&&s(f)){let S=ke(f.getAttribute("data-playback-start"))??ke(f.getAttribute("data-media-start"))??0;Number.isFinite(f.duration)&&f.duration>S&&(y=(f.duration-S)/qe(f))}if(y==null||y<=0){let S=f.getAttribute("data-composition-id");if(S){let w=t[S]??null;if(w&&typeof w.duration=="function")try{let T=Number(w.duration());Number.isFinite(T)&&T>0&&(y=T)}catch(T){F("runtime.startResolver.site1",T)}}}return y!=null&&Number.isFinite(y)&&y>0?(o.set(f,y),y):(o.set(f,null),null)},c=(f,x)=>{if(f.hasAttribute("data-composition-id")){let E=f.parentElement?.closest("[data-composition-id]");return E?m(E,x):0}let y=f.closest("[data-composition-id]");return y?m(y,x):0},m=(f,x)=>{let y=i.get(f);if(y!==void 0)return y??x;if(a.has(f))return x;a.add(f);try{let E=Di(f.getAttribute("data-start"));if(!E){if(f.hasAttribute("data-composition-id")){let D=f.parentElement;if(D&&(D.hasAttribute("data-composition-src")||D.hasAttribute("data-composition-id")||D.hasAttribute("data-composition-file"))){let P=m(D,x);return i.set(f,P),P}}return i.set(f,x),x}if(E.kind==="absolute"){let D=Math.max(0,E.value),P=Math.max(0,c(f,x)+D);return i.set(f,P),P}let S=l(E.refId);if(!S)return i.set(f,x),x;let w=m(S,0),T=u(S);if(T==null||T<=0){let D=Math.max(0,w+E.offset);return i.set(f,D),D}let k=Math.max(0,w+T+E.offset);return i.set(f,k),k}finally{a.delete(f)}};return{resolveStartForElement:(f,x=0)=>m(f,Math.max(0,x)),resolveDurationForElement:f=>u(f)}}function Ii(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var lm="data-hf-authored-duration",um="data-hf-authored-end";function Te(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Pi(e){return Te(e.getAttribute("data-duration"))??Te(e.getAttribute(lm))}function ks(e){return Te(e.getAttribute("data-end"))??Te(e.getAttribute(um))}function Oi(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function Gi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function Hi(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function cn(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Ms(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return cn(t);let n=e.getAttribute("data-composition-src");if(n)return cn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?cn(r.getAttribute("src")):null}function cm(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function dm(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function fm(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function un(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function mm(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return un(i);let o=e.id;if(o)return un(o);let a=cm(e);if(a)return un(a);let l=dm(Ms(e));if(l)return un(l);let s=fm(e);return s||`${un(t)} ${n+1}`}function Ds(e){let n=window.__timelines??{},r=it({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=B=>{if(!B)return null;let M=n[B]??null;if(!M||typeof M.duration!="function")return null;try{let I=Number(M.duration());return Number.isFinite(I)&&I>0?I:null}catch{return null}},o=B=>{let M=Te(B.getAttribute("data-duration"));if(M!=null&&M>0)return M;let I=Te(B.getAttribute("data-playback-start"))??Te(B.getAttribute("data-media-start"))??0;return Number.isFinite(B.duration)&&B.duration>I?Math.max(0,(B.duration-I)/qe(B)):null},a=()=>{let B=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(B.length===0)return null;let M=0;for(let I of B){let ue=I.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(I,0):Math.max(0,Number(I.getAttribute("data-start")??0)||0);if(!Number.isFinite(ue))continue;let ae=o(I);ae==null||ae<=0||(M=Math.max(M,Math.max(0,ue)+ae))}return M>0?M:null},l=(B,M)=>{let I=[],ue=null,ae=null,$=null,q=B.parentElement;for(;q;){let j=q.getAttribute("data-composition-id");j&&(I.push(j),!$&&q!==M&&($=j),ue==null&&(ue=r.resolveStartForElement(q,0)),ae==null&&(ae=Te(q.getAttribute("data-duration"))??i(j)??null)),q=q.parentElement}return{parentCompositionId:$,compositionAncestors:I.reverse(),inheritedStart:ue,inheritedDuration:ae}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,y=i(c),E=Pi(s??document.body),S=Gi(...u.filter(B=>B!==s).map(B=>{let M=r.resolveStartForElement(B,0),I=r.resolveDurationForElement(B)??i(B.getAttribute("data-composition-id"))??null;return!Number.isFinite(M)||I==null||I<=0?null:Math.max(0,M)+I})),w=S!=null?Math.max(0,S-Math.max(0,m)):null,T=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,k=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,D=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,P=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=Gi(D,P),b=T!=null&&_!=null&&T>_+1,A=k??(b?_:Gi(T,D,P))??null,N=(A!=null?m+A:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(B,M)=>!Number.isFinite(M)||M<=0?0:N==null||!Number.isFinite(N)?M:!Number.isFinite(B)||B>=N?0:Math.max(0,Math.min(M,N-B)),U=[],ne=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),J=0;for(let[B,M]of H.entries()){if(M===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(M.tagName))continue;let I=l(M,s),ue=r.resolveStartForElement(M,I.inheritedStart??0),ae=M.getAttribute("data-composition-id"),$=Pi(M);if(($==null||$<=0)&&ae&&ae!==c&&($=i(ae)),($==null||$<=0)&&M instanceof HTMLMediaElement){let me=Te(M.getAttribute("data-playback-start"))??Te(M.getAttribute("data-media-start"))??0;Number.isFinite(M.duration)&&M.duration>0&&($=Math.max(0,M.duration-me))}if($==null||$<=0){let me=I.inheritedDuration;if(me!=null&&me>0){let Ie=(I.inheritedStart??0)+me;$=Math.max(0,Ie-ue)}}if($==null||$<=0||($=G(ue,$),$<=0))continue;let q=ue+$;J=Math.max(J,q);let j=M.tagName.toLowerCase(),Ve=ae&&ae!==c?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";U.push({id:ki(M)??ae??null,label:mm(M,Ve,U.length),start:ue,duration:$,track:Hi(M,B),zIndex:Oi(M),stackingContextId:rr(M),kind:Ve,tagName:j,compositionId:M.getAttribute("data-composition-id"),compositionAncestors:I.compositionAncestors,parentCompositionId:I.parentCompositionId,nodePath:null,compositionSrc:cn(M.getAttribute("data-composition-src")),playbackStart:Rt(M),playbackRate:qe(M),assetUrl:Ms(M),timelineRole:M.getAttribute("data-timeline-role"),timelineLabel:M.getAttribute("data-timeline-label"),timelineGroup:M.getAttribute("data-timeline-group"),timelinePriority:Te(M.getAttribute("data-timeline-priority"))})}let _e=new Set(U.map(B=>B.id)),z=s?.getAttribute("data-composition-id")??null,Y=z?n[z]??null:null;if(Y&&s){let B=Y;if(typeof B.getChildren=="function")try{let M=B.getChildren(!0,!0,!1)??[],I=new Map;for(let $ of s.children){let q=$;if(!q.id)continue;let j=q.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||I.set(q,{id:q.id,start:1/0,end:-1/0})}let ue=$=>{let q=$;for(;q;){if(I.has(q))return q;if(q===s)return null;q=q.parentElement}return null};for(let $ of M){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let q=$.startTime(),j=$.parent;for(;j&&j!==Y&&typeof j.startTime=="function";)q+=j.startTime(),j=j.parent;let Ve=q+$.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Ve)))for(let me of $.targets()){if(!(me instanceof Element))continue;let Ct=ue(me);if(!Ct)continue;let Ie=I.get(Ct);Ie&&(Ie.start=Math.min(Ie.start,q),Ie.end=Math.max(Ie.end,Ve))}}let ae=U.length>0?Math.max(...U.map($=>$.track))+1:0;for(let[$,q]of I){if(q.start===1/0||q.end===-1/0)continue;let j=$;if(_e.has(j.id))continue;let Ve=Math.max(0,q.end-q.start);if(Ve<=0)continue;let me=G(q.start,Ve);me<=0||(J=Math.max(J,q.start+me),U.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:q.start,duration:me,track:Hi(j,ae),zIndex:Oi(j),stackingContextId:rr(j),kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(j),playbackRate:qe(j),assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:Te(j.getAttribute("data-timeline-priority"))}),_e.add(j.id))}}catch(M){F("runtime.timeline.site1",M)}}if(s&&A!=null&&A>0){let B=U.length>0?Math.max(...U.map(M=>M.track))+1:0;for(let M of s.children){let I=M;if(!I.id||_e.has(I.id))continue;let ue=I.getAttribute("data-timeline-role");if(ue!=="overlay"&&ue!=="persistent-overlay")continue;let ae=I.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(I).display==="none")continue;let q=G(0,A);q<=0||(J=Math.max(J,q),U.push({id:I.id,label:I.getAttribute("data-timeline-label")??I.getAttribute("data-label")??I.getAttribute("aria-label")??I.id,start:0,duration:q,track:Hi(I,B),zIndex:Oi(I),stackingContextId:rr(I),kind:"element",tagName:ae,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(I),playbackRate:qe(I),assetUrl:null,timelineRole:ue,timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Te(I.getAttribute("data-timeline-priority"))}),_e.add(I.id))}}for(let B of u){if(B===s)continue;let M=B.getAttribute("data-composition-id");if(!M||!Ii(M))continue;let I=r.resolveStartForElement(B,0),ue=Pi(B);if((ue==null||ue<=0)&&ks(B)!=null){let j=ks(B);ue=Math.max(0,j-I)}let ae=i(M),$=ue&&ue>0?ue:ae;if($==null||$<=0)continue;let q=G(I,$);q<=0||ne.push({id:M,label:B.getAttribute("data-label")??M,start:I,duration:q,thumbnailUrl:cn(B.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,J||1,A??0),ee=b&&k==null,Ae=ee?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...Vn(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:ee?Number.POSITIVE_INFINITY:V,durationInFrames:Ae,clips:U,scenes:ne,compositionWidth:Te(s?.getAttribute("data-width"))??1920,compositionHeight:Te(s?.getAttribute("data-height"))??1080}}var de=yd(ou(),1),au=de.default,My=de.default.stringify,Dy=de.default.fromJSON,Iy=de.default.plugin,Py=de.default.parse,Oy=de.default.list,Gy=de.default.document,Hy=de.default.comment,By=de.default.atRule,Uy=de.default.rule,Wy=de.default.decl,Vy=de.default.root,zy=de.default.CssSyntaxError,$y=de.default.Declaration,qy=de.default.Container,jy=de.default.Processor,Ky=de.default.Document,Yy=de.default.Comment,Xy=de.default.Warning,Jy=de.default.AtRule,Qy=de.default.Result,Zy=de.default.Input,eS=de.default.Rule,tS=de.default.Root,nS=de.default.Node;var fo="data-hf-authored-id",su="data-hf-inner-root";function mo(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function po(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ip(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function uu(e){let t=e.trim();return t?Array.from(new Set([t,Ip(t)])).filter(Boolean):[]}function Pp(e){return!!e&&/[\\w-]/.test(e)}function Op(e,t,n){let r=uu(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\\\"&&(a=null);continue}if(s===\'"\'||s==="\'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!Pp(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function Gp(e,t){let n=t?.trim();return n?Op(e,n,`[${fo}="${po(n)}"]`):e}function lu(e){return`${e}:not(:has([${su}])), ${e} > [${su}]`}function Hp(e,t,n,r,i,o){let a=Gp(e,r),l=Bp(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?lu(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${mo(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?lu(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(i){let f=r?`[${fo}="${po(r)}"]`:null;if(f&&s.startsWith(f)){let x=s.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${s}${m}`}function Bp(e,t,n){let r=mo(n),i=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${r}"|\'${r}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Up=new Set(["keyframes","-webkit-keyframes","font-face"]);function Wp(e){return e?.type==="atrule"}function Vp(e){let t=e.parent;for(;t;){if(Wp(t)&&Up.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function zp(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function cu(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${po(o)}"]`,l=au.parse(e);return l.walkRules(s=>{Vp(s)||zp(s)||(s.selectors=s.selectors.map(u=>Hp(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function du(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=JSON.stringify(t),l=JSON.stringify(i),s=JSON.stringify(n),u=mo(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(r??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),y=JSON.stringify(uu(o?.trim()||""));return`(function(){\n var __hfCompId = ${a};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${s};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(fo)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${y};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.get(target, prop, target);\n }\n var authoredValue = Reflect.get(target, prop, target);\n return authoredValue === undefined\n ? Reflect.get(target, __hfTimelineCompId, target)\n : authoredValue;\n },\n set: function(target, prop, value, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.set(target, prop, value, target);\n }\n // The authored node remains in the compiled DOM when its local id\n // differs from the runtime mount id, so readiness legitimately sees\n // both compositions. Publish the same timeline under both identities\n // instead of replacing one with the other.\n var authoredSet = Reflect.set(target, __hfCompId, value, target);\n var runtimeSet = Reflect.set(target, __hfTimelineCompId, value, target);\n return authoredSet && runtimeSet;\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n // Common authoring boilerplate assigns the registry back to\n // itself (window.__timelines = window.__timelines || {}). The\n // getter above returns our proxy; do not replace the canonical\n // registry with that proxy or later wrappers will stack proxies.\n if (value === __hfTimelineRegistryProxy) return true;\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var $p=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function fu(e){let t=e.getAttribute("id")?.trim();for(let n of $p)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var qp=8e3,jp=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Kp=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Yp=["src","href"];function Xp(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function pu(e,t){if(!t)return e;let n=e.trim();if(Xp(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function hu(e,t){return!t||!e?e:e.replace(Kp,(n,r,i)=>{let o=pu(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function Jp(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of Yp){let i=n.getAttribute(r);if(i==null)continue;let o=pu(i,t);o!==i&&n.setAttribute(r,o)}}function Qp(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=hu(r,t);i!==r&&n.setAttribute("style",i)}}function Zp(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=hu(r,t);i!==r&&(n.textContent=i)}}function gu(e,t){if(t){Jp(e,t),Qp(e,t),Zp(e,t);for(let n of Array.from(e.querySelectorAll("template")))gu(n.content,t)}}function e0(e,t){return`${e}__hf${t}`}var t0=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),qp)});function go(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function n0(e){let t=document.importNode(e,!0);fu(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function mu(e,t){let n=e.trim();if(!n)return e;try{return jp.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function ho(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function yr(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function r0(e){let t=new Map;for(let n of e){let r=yr(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function xu(e){let t=yr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function i0(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function o0(e){return e.hasAttribute("data-composition-src")?!0:xu(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:i0(e):!1}function bo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:xu(t))}function bu(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(bo().map(n=>yr(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function yu(e,t=r0(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=yr(i),l=o0(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?e0(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function xo(e){let t=null;e.authoredCompositionId&&(t=Array.from(e.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x instanceof HTMLElement&&x.getAttribute("data-composition-id")===e.authoredCompositionId)??null);let n=t??e.sourceNode,r=t?.getAttribute("data-composition-id")?.trim()||e.authoredCompositionId||null,i=e.runtimeCompositionId||r||null,o=t?.getAttribute("id")?.trim()||null,a=i?`[data-composition-id="${CSS.escape(i)}"]`:void 0;if(e.headLinks)for(let f of e.headLinks){let x=(f.getAttribute("href")||"").trim();if(!x)continue;let y=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&ho(y,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(y)}"]`))continue;let E=f.cloneNode(!0);E.href=y,document.head.appendChild(E),e.injectedLinks.push(E)}let l=f=>{for(let x of f){let y=x.cloneNode(!0);y instanceof HTMLStyleElement&&(r&&(y.textContent=cu(y.textContent||"",r,a,o,{scopeRootSelectors:!0})),document.head.appendChild(y),e.injectedStyles.push(y))}};e.headStyles&&l(e.headStyles),l(Array.from(n.querySelectorAll("style")));let s=[];if(e.headScripts)for(let f of e.headScripts){let x=f.getAttribute("type")?.trim()??"",y=f.getAttribute("src")?.trim()??"";if(y){let E=mu(y,e.compositionUrl);if(e.compositionUrl&&ho(E,e.compositionUrl))continue;s.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&s.push({kind:"inline",content:E,type:x,scopeCompositionId:r})}}let u=Array.from(n.querySelectorAll("script")),c=[...s];for(let f of u){let x=f.getAttribute("type")?.trim()??"",y=f.getAttribute("src")?.trim()??"";if(y){let E=mu(y,e.compositionUrl);if(e.compositionUrl&&ho(E,e.compositionUrl)){f.parentNode?.removeChild(f);continue}c.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&c.push({kind:"inline",content:E,type:x,scopeCompositionId:r})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(t){let f=t.getAttribute("data-width"),x=t.getAttribute("data-height"),y=e.parseDimensionPx(f),E=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),y&&e.host instanceof HTMLElement&&(e.host.style.width=y),E&&e.host instanceof HTMLElement&&(e.host.style.height=E),t.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked",""),e.host.appendChild(n0(t))}else e.hasTemplate?e.host.appendChild(document.importNode(n,!0)):e.host.innerHTML=e.fallbackBodyInnerHtml;i&&a0(e,n,i);for(let f of c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=du(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",a,i||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let y=await t0(x);y.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:y.status,elapsedMs:y.elapsedMs}})}}}async function Su(e){let t=bo();if(bu(),t.length===0)return;let n=yu(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);go(i),await xo({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function vu(e){let t=bo();if(bu(),t.length===0)return;let n=yu(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}go(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await xo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),y=new DOMParser().parseFromString(f,"text/html");gu(y,u);let E=(l?y.querySelector(`template#${CSS.escape(l)}-template`):null)??y.querySelector("template"),S=E?E.content:y.body,w=E?void 0:Array.from(y.head.querySelectorAll("style")),T=E?void 0:Array.from(y.head.querySelectorAll("script")),k=Array.from(y.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await xo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:y.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,headStyles:w,headScripts:T,headLinks:k,declaredVariableDefaults:Qt(y.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),go(i)}}))}function a0(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?Qt(t):{}),...ba(e.host)};ga(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,ti(e.host,{...ha(e.host,i,window),...$n()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function s0(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function l0(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function u0(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function yo(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=l0();for(let r of t){let i=null;if(r.wordId&&(i=s0(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=s[0]?String(s[0].vars.color):"";for(let c of s)String(c.vars.color)===u?r.dimColor&&(c.vars.color=r.dimColor):r.activeColor&&(c.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=u0(i);e.set(l,o)}}}).catch(()=>{})}var vo="data-hf-edit-base-x",Eo="data-hf-edit-base-y",Ht="data-hf-edit-original-translate",Sr=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},c0=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},Eu=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,So=(e,t)=>Eu.test(e)&&Eu.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,d0=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=c0(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${So(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${So(r,t)} ${So(i,n)}${a}`},f0=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},m0=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},Co=new WeakMap;function p0(e,t){let n=Co.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Ne("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=Sr(e.getAttribute("data-x"))-Sr(e.getAttribute(vo)),i=Sr(e.getAttribute("data-y"))-Sr(e.getAttribute(Eo));e.hasAttribute(Ht)||e.setAttribute(Ht,m0(e)),n===void 0&&f0(e);let o=e.getAttribute(Ht)??"",a=d0(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),Co.set(e,e.style.getPropertyValue("translate"))}function vr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Ht}]:not([${vo}]):not([${Eo}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Ht)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Ht),Co.delete(u)}let a=e.querySelectorAll(`[${vo}], [${Eo}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(p0(u,t),l+=1)}return l}var Cu="__hfPositionEditsSeekReapplyWrapped",_u=new WeakSet,Au=new WeakMap,wu=new WeakMap;function Tu(e){let t=e,n=()=>{try{vr(t.document)}catch{}},r=m=>typeof m=="function"&&(_u.has(m)||!!m[Cu]),i=m=>{_u.add(m);try{Object.defineProperty(m,Cu,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...x){let y=m.apply(this,x);return n(),y};return i(f),f},a=(m,f)=>{let x=Au.get(m);if(x?.has(f))return!0;let y=Object.getOwnPropertyDescriptor(m,f);if(y?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let E=m[f],S=y?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:y?.enumerable??!0,get:()=>E,set:w=>{E=o(w),S?.call(m,w)}}),E=o(E),x??(x=new Set),x.add(f),Au.set(m,x),n(),!0},l=(m,f)=>{let x=wu.get(t),y=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(y?.configurable===!1){let w=t[m];return w?a(w,f):!1}let S=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:y?.enumerable??!0,get:()=>S,set:w=>{S=w,S&&a(S,f)}}),x??(x=new Set),x.add(m),wu.set(t,x)}let E=t[m];return E?a(E,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Er(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function Cr(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Ru=new Set(["img","video","audio","source"]);function h0(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function g0(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\\//i.test(t):!1:!1}function x0(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function b0(e){if(Cr(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function _o(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Er(e);return t.set(n,i),i}function y0(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function S0(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function v0(e,t){let n=new Set,r=S0(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=_o(i,t);for(let[a,l]of Object.entries(o)){let s=b0(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,x0(s))}}}function Ao(e){let t=new Map;v0(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Ru.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Ru).join("/")}.`);continue}let i=h0(_o(n,t)[r]);if(i!==null){if(!g0(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=_o(n,t)[r];Cr(i)&&y0(n,String(i))}}var Qe=new Map,E0="data-hf-color-grading-canvas",C0="__hf_color_grading_canvas__";function Hu(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(er)||r.setAttribute(er,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var _0=16,A0=4,Ut={enabled:!1,position:.5,softness:0,lineWidth:2},wo=["#000000","#ffffff"],w0=["#1a1a1a","#f5f5dc"],Dn=3,T0=Dn-1,R0=5,To=`${je}.0`,Fu=`${je-1}.0`,F0=`${Dn}.0`,L0=`${(T0+.5)/Dn}`;function _r(e){let t=e.getAttribute(on);return t==null?null:Ss(t,Er(e))}var N0=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),k0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Fu};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Fu});`,` float y = (row + 0.5) / ${F0};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${To}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${To}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${To}, ${L0}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 0.0, 1.0));"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),M0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","uniform float u_bloomPass;","uniform float u_threshold;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," if (u_bloomPass > 0.5) {"," float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));"," if (u_threshold >= 0.0 && luminance <= u_threshold) color.rgb = vec3(0.0);"," return vec4(color.rgb, 1.0);"," }"," color.rgb *= color.a;"," return color;","}","void main(){"," if (u_bloomPass > 0.5) {"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) * 0.5;"," vec4 bloom = readSource(v_uv) * 0.227027;"," bloom += readSource(v_uv + stepUv) * 0.1945946;"," bloom += readSource(v_uv - stepUv) * 0.1945946;"," bloom += readSource(v_uv + stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv - stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv + stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv - stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv + stepUv * 4.0) * 0.016216;"," bloom += readSource(v_uv - stepUv * 4.0) * 0.016216;"," gl_FragColor = bloom;"," return;"," }"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`),D0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform vec2 u_texel;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_blur;","uniform float u_kuwaharaRadius;","vec3 readPrepared(vec2 displayUv){"," vec2 uv = (displayUv - u_uvOffset) / u_uvScale;"," vec3 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," if (u_blurReady > 0.5 && u_blur > 0.0) {"," vec3 blurred = texture2D(u_blurSource, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," color = mix(color, blurred, clamp(u_blur, 0.0, 1.0));"," }"," return color;","}","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec3 sum = vec3(0.0);"," float sumSquares = 0.0;"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec3 color = readPrepared(v_uv + vec2(float(offset), 0.0) * u_texel);"," sum += color;"," sumSquares += dot(color, color) / 3.0;"," count += 1.0;"," }"," gl_FragColor = vec4(sum / count, sumSquares / count);","}"].join(`\n`),I0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_kuwaharaMoments;","uniform vec2 u_texel;","uniform float u_kuwaharaRadius;","uniform float u_kuwaharaSharpness;","uniform float u_kuwaharaSaturation;","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec2 origins[4];"," origins[0] = vec2(-radius, -radius);"," origins[1] = vec2(0.0, -radius);"," origins[2] = vec2(-radius, 0.0);"," origins[3] = vec2(0.0, 0.0);"," vec3 means[4];"," float variances[4];"," float minVariance = 1.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," vec4 moment = vec4(0.0);"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec2 sampleOffset = origins[quadrant] + vec2(0.0, float(offset));"," moment += texture2D(u_kuwaharaMoments, clamp(v_uv + sampleOffset * u_texel, vec2(0.0), vec2(1.0)));"," count += 1.0;"," }"," moment /= count;"," vec3 mean = moment.rgb;"," float meanSquare = moment.a * 3.0;"," float variance = max(meanSquare - dot(mean, mean), 0.0);"," means[quadrant] = mean;"," variances[quadrant] = variance;"," minVariance = min(minVariance, variance);"," }"," float exponent = 1.0 + clamp(u_kuwaharaSharpness, 0.0, 1.0) * 8.0;"," vec3 result = vec3(0.0);"," float totalWeight = 0.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," float weight = pow((minVariance + 0.0001) / (variances[quadrant] + 0.0001), exponent);"," result += means[quadrant] * weight;"," totalWeight += weight;"," }"," result /= max(totalWeight, 0.0001);"," float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));"," float saturation = clamp(u_kuwaharaSaturation, 0.0, 1.0) * 2.0;"," gl_FragColor = vec4(clamp(mix(vec3(luma), result, saturation), 0.0, 1.0), 1.0);","}"].join(`\n`);function St(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Lu(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Nu(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(F("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Fr(e,t=k0){let n=Nu(e,N0,e.VERTEX_SHADER),r=Nu(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(F("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function Ar(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,n,null),r):null}function P0(e,t){let n=Fr(e,M0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function O0(e,t){let n=Fr(e,D0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function G0(e,t){let n=Fr(e,I0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function Nn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=Ar(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function Tr(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function Ro(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function ku(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function ko(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Fr(t),r=Ar(t),i=Ar(t,t.NEAREST),o=Ar(t,t.NEAREST);if(!n||!r||!i||!o)return ku(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:Ro(t,n,tr),detailUniforms:Ro(t,n,_i),effectUniforms:Ro(t,n,Ai),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(ku(t,n,[r,i,o]),null)}function H0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function B0(e){if(!H0(e))return{...Ut};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Ut.position,0,1),softness:t(e.softness,Ut.softness,0,.25),lineWidth:t(e.lineWidth,Ut.lineWidth,0,12)}}function Bu(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function Lr(e){return e instanceof Error?e.message:"LUT failed to load"}function U0(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function Uu(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return U0(t)}function Mo(e){let t=Bu(e);if("error"in t)return{state:"error",message:t.error};let n=Qe.get(t.href);if(n)return n;let r=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Ja(o,{maxSize:Jn})),i={state:"pending",promise:r};for(;Qe.size>=_0;){let o=Qe.keys().next().value;if(!o)break;Qe.delete(o)}return Qe.set(t.href,i),r.then(o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"ready",lut:o})},o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"error",message:Lr(o)})}),i}function Mu(e,t,n){if(e.lut?.src===t)return e.lut;let r=hi(n),{gl:i,program:o}=e;try{return Wu(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=Lr(a),e.lutLoadingSrc=null,F("runtime.colorGrading.uploadLut",a),null}}async function W0(e){let t=Mo(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function Wu(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function V0(e,t,n){let r=hi(n),{gl:i,program:o}=e;return Wu(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Xe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Do(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Xe(e.gl,t.scratch),Xe(e.gl,t.blur),t.bloom&&Xe(e.gl,t.bloom),e.effectTargets=null)}function Io(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Xe(e.gl,t.moments),Xe(e.gl,t.output),e.kuwaharaTargets=null)}function wr(e,t=!1){Do(e),Io(e),z0(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function z0(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function $0(e){let t=ko(e.canvas);return t?(wr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function No(e){if(!e.sourceHidden)return;e.element.removeAttribute(an);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function q0(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=P0(t,e.program.quad),r=Nn(t),i=Nn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Xe(t,r),i&&Xe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function j0(e,t){return t.bloom||(t.bloom=Nn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Du(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function K0(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=O0(t,e.program.quad),o=G0(t,e.program.quad),a=Nn(t,n.HALF_FLOAT_OES,t.NEAREST),l=Nn(t);return!i||!o||!a||!l?(Y0(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function Y0(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Vu(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Tr(e,t,o,a),Tr(e,n,o,a),{width:o,height:a}}function Rr(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),kn(e,t)}function X0(e,t,n,r,i,o,a){let l=Vu(e,t.scratch,r,i/2,o/2),s=a/2;Rr(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),Rr(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function J0(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)Rr(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),Rr(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function kn(e,t){e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function Q0(e,t,n,r,i,o,a,l){Tr(e,t.moments,i.width,i.height),Tr(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),kn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),kn(e,u)}function Z0(e,t,n,r){if(n<=0)return!1;let i=Vu(e.gl,t.scratch,t.blur,r.width,r.height);return J0(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function eh(e,t,n,r,i,o){if(n<=0)return Du(e),null;o||Du(e);let a=o?j0(e,t):t.blur;return a?(X0(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function th(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&Do(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=q0(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=Z0(e,l,o,n),u=eh(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function nh(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&Io(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=K0(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(Q0(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function zu(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=th(e,t,n,o),l=nh(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function rh(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let r=Bu(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=Mo(t);return i.state==="ready"?Mu(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Mu(e,r.href,o),Me(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Lr(o),e.lutLoadingSrc=null,Me(e))})),null)}function Fn(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&St(n))return n;try{let r=document.querySelector(t);return r&&St(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&St(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&St(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),r=t[n]??null;return r&&St(r)?r:null}catch{return null}}function $u(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function qu(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function ju(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&qu(t)?t:null}function Iu(e){if(!(e instanceof HTMLVideoElement))return!1;let t=ju(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function ih(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function oh(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function Ku(e){if(e instanceof HTMLVideoElement){let t=ju(e);if(t)return t}return qu(e)?e:null}function Pu(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function ah(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Pu(o,"x"),l=Pu(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function Yu(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=ah(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function sh(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Ou(e,t){return Math.max(0,Math.round(e>0?e:t))}function lh(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&sh(e,i);let o=window.getComputedStyle(t);Cs(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Ou(n.offsetWidth,a.width),s=Ou(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Bt(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function vt(e,t,n,r){e.set(r,(t*je+n)*4)}function ut(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Fo(e,t,n){return e.length>=3?xi(e,t,n):new Float32Array(je)}function yt(e,t){return e[t]??0}function uh(e,t,n){let r=Ft(t.red),i=Ft(t.green),o=Ft(t.blue),a=Ft(t.master),l=Fo(n.hueVsHue,-180,180),s=Fo(n.hueVsSaturation,-1,1),u=Fo(n.hueVsLuma,-1,1);for(let c=0;c<je;c+=1)vt(e,0,c,[yt(r,c),yt(i,c),yt(o,c),yt(a,c)]),vt(e,1,c,[ut(yt(l,c),180),ut(yt(s,c),1),ut(yt(u,c),1),1])}function ch(e,t,n){let r=n*R0;vt(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),vt(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),vt(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),vt(e,2,r+3,[ut(t.correction.hueShift,180),ut(t.correction.saturation,1),ut(t.correction.luma,1),ut(t.correction.temperature,1)]),vt(e,2,r+4,[ut(t.correction.tint,1),.5,.5,1])}function dh(e,t,n){let r=new Float32Array(je*Dn*4);uh(r,e,t);let i=0;for(let o of n)o.enabled&&(ch(r,o,i),i+=1);return r}var Gu=new WeakMap;function fh(e,t,n){let r=Gu.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Gu.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function mh(e,t,n,r){let{curves:i,hueCurves:o}=n,a=fh(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(dh(i,o,r),nn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,je,Dn,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function Lo(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function Xu(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:x,secondaries:y}=n,E=Ri(f),S=Fi(x),w=Li(y)?y.reduce((D,P)=>D+Number(P.enabled),0):0;(E||S||w>0)&&mh(e,t,n,y),Lo(e,t.shadowWheel,n.wheels.shadows),Lo(e,t.midtoneWheel,n.wheels.midtones),Lo(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,E?1:0),e.uniform1f(t.hueCurvesEnabled,S?1:0),e.uniform1f(t.secondaryCount,w);for(let[D,P]of t.adjustUniforms)e.uniform1f(P,n.adjust[D]);for(let[D,P]of t.detailUniforms)e.uniform1f(P,n.details[D]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[D,P]of t.effectUniforms)e.uniform1f(P,n.effects[D]);let T=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?w0:wo),k=T[T.length-1]??wo[1];e.uniform1f(t.paletteSize,T.length),Bt(e,t.palette0,T[0]??wo[0]),Bt(e,t.palette1,T[1]??k),Bt(e,t.palette2,T[2]??k),Bt(e,t.palette3,T[3]??k),Bt(e,t.palette4,T[4]??k),Bt(e,t.palette5,T[5]??k),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function ph(e){if(!e.sourceHidden){let t=e.element.getAttribute(er);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(an,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ze(e){let t=xs.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var Ju=Ze("intensity"),Qu=Ze("lut.intensity"),Zu=Ze("adjust.exposure"),ec=Ze("effects.kuwahara"),tc=[["blur",Ze("effects.blur")],["bloom",Ze("effects.bloom")],["kuwahara",ec],["pixelate",Ze("effects.pixelate")],["ascii",Ze("effects.ascii")],["dither",Ze("effects.dither")]],nc=[Ju,Qu,Zu,...tc.map(([,e])=>e)];function Et(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Ln(e,t){return t!==null&&(vs(t)||nc.some(n=>Et(e,n)!==null))}function hh(e,t){let n=null;for(let[r,i]of tc){let o=Et(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function gh(e){let{element:t,grading:n}=e,r=Et(t,Ju),i=Et(t,Qu),o=Et(t,Zu),a=hh(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function rc(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function ic(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Me(e){if(e.destroyed||e.contextLost)return!1;let t=Ku(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=$u(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=ih(t);if(s&&oh(e,t),s||!a){let y=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=y.opacity||"1",e.sourceVisibleForCanvas=(s||l!=="hidden")&&y.visibility!=="hidden"}let u=lh(e,r);if(!u)return!1;let c=window.getComputedStyle(r),m=Yu(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let y=gh(e),E=rh(e);rc(f,x.texture,t);let S=Et(e.element,ec)!==null,w=zu(e,y,u,m,{preserveKuwahara:S});f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),ic(f,x,w);let T=window.__player?.getTime?.(),k=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(k*60);return Xu(f,x,y,E,w.blurReady,w.bloomReady,w.kuwaharaReady,e.compare,u,m,D,k),kn(f,x),ph(e),e.hasDrawn=!0,e.drawError=null,!0}catch(y){return e.drawError=y instanceof Error?y.message:"Shader draw failed",F("runtime.colorGrading.drawEntry",y),!1}}function xh(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function bh(){let e=document.createElement("canvas"),t=ko(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function yh(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Sh(e,t,n,r){let i=Ku(t);if(!i)return null;let o=$u(i);if(!o)return null;let a=xh(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=Yu(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return rc(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:yh(t,r),grainSeed:Uu(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function vh(e,t,n,r,i=!1){let o=Sh(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=nr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let x=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=V0(e,f.lut.src,await W0(f.lut.src))),x=e.lut),c.push({id:m.id,dataUrl:Eh(e,f,x,a,l,s,u)})}catch(y){c.push({id:m.id,dataUrl:null,error:Lr(y)})}}return{...a,images:c}}function Eh(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=zu(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),ic(s,u,c),n||(e.lut=null),Xu(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Ut,r,i,o,a),kn(s,u),l.toDataURL("image/png")}function Ye(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function Ch(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Mn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Mn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Mn(e)})}function _h(e){let t=()=>{Me(e)};if(Ye(e,e.element,"load",t),Ye(e,e.element,"loadedmetadata",t),Ye(e,e.element,"loadeddata",t),Ye(e,e.element,"seeked",t),Ye(e,e.element,"timeupdate",t),Ye(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ye(e,e.element,"play",()=>Mn(e)),Ye(e,e.element,"pause",t)),Ye(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",No(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!$0(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",No(e);return}e.drawError=null,Me(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Me(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Ah(e){if(e.destroyed)return null;e.destroyed=!0,Ch(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Do(e),Io(e),No(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function oc(e,t){return e.removeAttribute("style"),t.id?e.id=`${fs}${t.id}`:e.removeAttribute("id"),e.className=C0,e.setAttribute(E0,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function wh(e){return oc(document.createElement("canvas"),e)}function ac(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(_,b,v)=>{let A=e.get(_);if(A)return A.grading=b,A.source=v,Me(A),_ instanceof HTMLVideoElement&&!_.paused&&Mn(A),!0;let R=n.pop();if(R)oc(R.canvas,_);else{let G=wh(_),U=ko(G);if(!U)return G.remove(),!1;R={canvas:G,gl:U.gl,program:U.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let N={element:_,...R,grading:b,compare:{...Ut},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:v,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(_).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(_).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:Uu(_),destroyed:!1};return e.set(_,N),t.add(_),_h(N),Me(N),_ instanceof HTMLVideoElement&&!_.paused&&Mn(N),!0},s=(_,b)=>{if(a)return!1;let v=Fn(_);if(!v)return!1;let A=e.get(v);if(!A){let R=_r(v);if(!Ln(v,R)||!l(v,R,"attribute"))return!1;A=e.get(v)}return A?(A.compare=B0(b),Me(A),!0):!1},u=_=>{let b=e.get(_);if(!b)return;let v=Ah(b);v&&(b.contextLost||n.length>=A0?wr(v,!0):n.push(v)),e.delete(_),t.delete(_)},c=()=>{if(a)return 0;let _=new Set;document.querySelectorAll(`video[${on}], img[${on}]`).forEach(v=>{if(!St(v))return;_.add(v);let A=_r(v);Ln(v,A)&&(Lu(v)||Iu(v))?l(v,A,"attribute"):u(v)});for(let v of t){let A=e.get(v);A&&(!v.isConnected||A.source==="attribute"&&!_.has(v))&&u(v)}return t.size},m=()=>{if(a)return 0;let _=0;for(let b of t){let v=e.get(b);v&&Me(v)&&(_+=1)}return _},f=async()=>{let _=new Set;for(let b of t){let v=e.get(b)?.grading.lut;if(!v?.src.trim()||(v.intensity??1)<=0)continue;let A=Mo(v.src);A.state==="pending"&&_.add(A.promise)}return _.size>0&&await Promise.allSettled(_),m(),_.size},x=()=>{if(a)return 0;let _=0;for(let b of t){let v=e.get(b);!v||!nc.some(R=>Et(b,R)!==null)||b instanceof HTMLVideoElement&&!b.paused&&!b.ended||Me(v)&&(_+=1)}return _},y=(_,b)=>{if(a)return!1;let v=Fn(_);if(!v)return!1;let A=nr(b);return Ln(v,A)?l(v,A,"live"):(u(v),!0)},E=(_,b)=>{if(!St(_))return!1;let v=e.get(_);if(!v){if(!b)return!1;let A=_r(_);return Ln(_,A)&&l(_,A,"attribute")}return v.sourceVisibleForCanvas=b,!b&&v.source==="attribute"&&u(_),!0},S=_=>{let b=Fn(_);if(!b)return{state:"missing",message:"Media not found"};let v=e.get(b);if(v)return v.effectError?{state:"unavailable",message:v.effectError}:v.drawError?{state:"unavailable",message:v.drawError}:v.lutError?{state:"unavailable",message:`LUT error: ${v.lutError}`}:v.grading.lut&&v.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:v.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:v.lut?"Shader + LUT active":"Shader active"};let A=_r(b);return Ln(b,A)?!Lu(b)&&!Iu(b)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},w=async(_,b,v)=>{let A=async()=>{if(a||b.length===0)return null;let N=Fn(_);return!N||(i??(i=bh()),!i)?null:vh(i,N,b,v?.maxDimension,v?.useMediaTime)},R=o.then(A,A);return o=R.then(()=>{},()=>{}),R},T=_=>{let b=Fn(_);if(!(b instanceof HTMLVideoElement))return null;if(!b.paused)return()=>{};let v=b.currentTime,A=b.loop,R=b.muted;return b.loop=!0,b.muted=!0,(b.ended||Number.isFinite(b.duration)&&v>=b.duration)&&(b.currentTime=0),b.play().catch(()=>{}),()=>{b.pause(),b.loop=A,b.muted=R,b.currentTime=v}},k=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let _ of t)u(_);for(let _ of n)wr(_,!0);n.length=0,i&&(wr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[on]}));let D={refresh:c,redraw:m,redrawAnimated:x,waitForActiveLuts:f,setGrading:y,setCompare:s,setSourceVisibility:E,getStatus:S,renderPreviews:w,startPreviewPlayback:T,destroy:k},P=window;return P.__hf=P.__hf||{},P.__hf.colorGrading=D,c(),D}var Nr=class{constructor(t){he(this,"_baseTime",0);he(this,"_playStartMs",null);he(this,"_rate",1);he(this,"_duration",1/0);he(this,"_nowMs");he(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function sc(e){return!Number.isFinite(e)||e<=0?1:e}function Th(e,t){t||e.paused||!Wn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Rh(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,safeRate:o,clipDuration:a}=t,l=Number.isFinite(a)&&a>0,s=a*o;if(n>=0){let c=s-n;return l&&c<=0?!1:(l?e.start(0,n+r,c):e.start(0,n+r),!0)}let u=-n/o;return l?e.start(i+u,r,s):e.start(i+u,r),!0}var kr=class{constructor(){he(this,"_ctx",null);he(this,"_bufferCache",new Map);he(this,"_failedSrcs",new Set);he(this,"_activeSources",[]);he(this,"_masterGain",null);he(this,"_rateAnchorCtx",0);he(this,"_rateAnchorComp",0);he(this,"_rate",1);he(this,"_paused",!0);he(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return F("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return F("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),F("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,r,i,o,a,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=sc(s),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=a,m.connect(f),f.connect(this._masterGain);let x=o-r,y=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=y,this._rateAnchorComp=o,!Rh(m,{elapsed:x,mediaStart:i,scheduledAt:y,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let E=t.muted;t.muted=!0,Th(t,E);let S={el:t,sourceNode:m,gainNode:f,compositionStart:r,mediaStart:i,scheduledAt:y,priorMuted:E,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(S),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(S);w!==-1&&(this._activeSources.splice(w,1),t.muted=E,this._activeSources.length===0&&(this._paused=!0))}),S}catch(c){return F("webAudioTransport.schedule",c),null}}setRate(t){let n=sc(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let r of this._activeSources)try{r.sourceNode.playbackRate.value=n}catch(i){F("webAudioTransport.setRate",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let r=Math.max(0,Math.min(1,n));for(let i of this._activeSources)if(i.el===t)try{i.gainNode.gain.value=r}catch(o){F("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var lc="data-hf-studio-manual-edit-gesture";function uc(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Fh=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function cc(e){return Math.max(0,Math.min(1,e))}function dc(e){let t=Fh.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?cc(n):null}function fc(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=cc(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var Lh=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,Nh=Math.PI*2;function kh(e){let t=Lh.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function Mh(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(Nh*t*e)}function mc(e,t){let n=kh(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>Mh(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var Dh=24,pc=e=>e>=1?1:0,Ih=e=>e,Mr=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,Ph=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Mr}\\s*,\\s*${Mr}\\s+${Mr}\\s*,\\s*${Mr}\\s+1\\s*,\\s*1\\s*$`,"i");function hc(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function Oh(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<Dh;l+=1){let s=(o+a)/2;hc(s,t,r)<e?o=s:a=s}return hc((o+a)/2,n,i)}function Gh(e){let t=Ph.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>Oh(a,n,r,i,o)}function Hh(e,t){if(!e.startsWith("spring("))return null;let n=dc(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>fc(o,n);return t.set(n,i),i}function Bh(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=Gh(n);return i&&t.set(n,i),i}function gc(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?pc:mc(s,i)??Hh(s,r)??Bh(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(s.trim())&&Ne("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??Ih)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",pc);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Po="data-hf-authored-duration",Oo="data-hf-authored-end",xc=!1;function et(e){if(e){if(typeof e.pause!="function"){xc||(xc=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){F("runtime.timeline.pause",t)}}}function Uh(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function bc(){let e=ws();fa(xe),vr(document),Ao(document);let t=Uh();e.canonicalFps=t.fps??e.canonicalFps,ca(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,h,p)=>{s.has(d)||(s.add(d),Ne(h,p))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){F("runtime.init.site1",d)}let c=new Nr;e.transportClock=c;let m=new kr,f=!1;m.init().then(d=>{f=d});let x=()=>{let d=window.gsap,h=window;if(!(!d?.registerPlugin||h.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),h.__hfAutoNoopRegistered=!0}catch(p){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),F("runtime.autoMarker.install",p)}},y=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{gc(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(h){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),F("runtime.customEase.install",h)}};x(),y(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{xa(document)}catch(d){F("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let E=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let h=Array.from(document.querySelectorAll("[data-composition-id]"));return h.find(p=>!p.parentElement?.closest("[data-composition-id]"))??h[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,h=E()?.getAttribute("data-composition-id")??"root",p={};if(d.length===1)p[h]=d[0];else for(let g=0;g<d.length;g++)p[`tl-${g}`]=d[g];window.__timelines=p}let S=E();S&&!S.hasAttribute("data-start")&&S.setAttribute("data-start","0");let w=d=>{o.push(d)},T=(d,h,p)=>{let g=p??`${d}:${JSON.stringify(h)}`;a.has(g)||(a.add(g),xe({source:"hf-preview",type:"diagnostic",code:d,details:h}))},k=d=>{let h={scale:1,focusX:960,focusY:540},p=[],g=[],C={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>h,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>p,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>g,getRenderState:()=>({...C,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},D=1/60,P=.75,_=.05,b=100,v=240,A=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},R=d=>{let h=d.toLowerCase();return h.includes("cannot read properties of null")||h.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:h.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:h.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},N=d=>{if(d==null||d.trim()==="")return null;let h=Number.parseFloat(d);return!Number.isFinite(h)||h<=0?null:`${h}px`},G=()=>E(),U=()=>{let d=G();if(!d)return;let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p),h&&d.style.setProperty("--comp-width",h),p&&d.style.setProperty("--comp-height",p)},ne=()=>{let d=G(),h=Array.from(document.querySelectorAll("[data-composition-id]")).filter(p=>p.hasAttribute("data-duration")||p.hasAttribute("data-end"));for(let p of h){if(d&&p===d)continue;let g=p.getAttribute("data-duration"),C=p.getAttribute("data-end");g!=null&&!p.hasAttribute(Po)&&p.setAttribute(Po,g),C!=null&&!p.hasAttribute(Oo)&&p.setAttribute(Oo,C),p.removeAttribute("data-duration"),p.removeAttribute("data-end")}},H=()=>{let d=G();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p);let g=Array.from(d.children);for(let C of g){let L=C.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!C.hasAttribute("data-start")||C.hasAttribute("data-hf-autostamped"))continue;let O=(C.style.top==="0px"||C.style.top==="0")&&(C.style.left==="0px"||C.style.left==="0")&&C.style.width==="100%"&&C.style.height==="100%",X=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(C.style.transform);if(O&&X&&!C.hasAttribute("data-width")&&!C.hasAttribute("data-height")){let ve=C.style.top,Xt=C.style.left,Ee=C.style.width,Jt=C.style.height;C.style.top="",C.style.left="",C.style.width="",C.style.height="";let re=window.getComputedStyle(C);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(C.style.top=ve,C.style.left=Xt,C.style.width=Ee,C.style.height=Jt)}let W=window.getComputedStyle(C),se=W.position;if(se!=="absolute"&&se!=="fixed"&&(C.style.position="absolute"),!!C.style.top||!!C.style.bottom||W.top!=="auto"||W.bottom!=="auto"||(C.style.top="0"),!!C.style.left||!!C.style.right||W.left!=="auto"||W.right!=="auto"||(C.style.left="0"),L!=="audio"){let ve=N(C.getAttribute("data-width")),Xt=N(C.getAttribute("data-height")),Ee=W.width!=="0px"&&W.width!=="auto",Jt=W.height!=="0px"&&W.height!=="auto";ve?!C.style.width&&!Ee&&(C.style.width=ve):!C.style.width&&W.width==="0px"&&(C.style.width="100%"),Xt?!C.style.height&&!Jt&&(C.style.height=Xt):!C.style.height&&W.height==="0px"&&(C.style.height="100%")}}},J=(d,h=0,p)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,h),_e=(d,h)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),z=d=>{let h=d.closest("[data-composition-id]"),p=h?J(h,0):null,g=h?_e(h,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:h,inheritedStart:p,inheritedDuration:g}},Y=d=>{let h=z(d),p=h.inheritedStart??0,g=ke(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||g==null||p<=0)return J(d,p);let C=ke(d.getAttribute("data-duration")),L=h.inheritedDuration,O=L!=null&&L>0?p+L:null,X=C!=null&&C>0?g+C:g;return(O==null?g>=p:g<O&&(X>p||g===p))?g:p+g};window.__hfResolveMediaStartSeconds=Y,o.push(()=>{window.__hfResolveMediaStartSeconds===Y&&delete window.__hfResolveMediaStartSeconds});let V=(d,h)=>{let p=d.tagName.toLowerCase();if(p==="script"||p==="style"||p==="link"||p==="meta")return!1;let C=p==="video"||p==="audio"?Y(d):J(d,0),L=_e(d),O=d.getAttribute("data-composition-id");if(O){let W=(window.__timelines??{})[O],se=null;if(W&&typeof W.duration=="function"){let ie=Number(W.duration());Number.isFinite(ie)&&ie>0&&(se=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Po)||d.hasAttribute(Oo))&&(L==null||L<=0)&&se!=null&&(L=se)}let X=L!=null&&L>0?C+L:Number.POSITIVE_INFINITY;return h>=C&&(Number.isFinite(X)?h<X:!0)},ee=!!document.querySelector("[data-composition-src]"),Ae=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let h of d){let p=h.getAttribute("data-composition-id");if(p&&h.children.length===0&&document.querySelector(`template#${CSS.escape(p)}-template`)){Ae=!0;break}}}let B=!ee&&!Ae,M=d=>{if(!d||typeof d.duration!="function")return null;try{let h=Number(d.duration());return Number.isFinite(h)?Math.max(0,h):null}catch{return null}},I=d=>typeof d=="number"&&Number.isFinite(d)&&d>D,ue=d=>{let h=Number(d.getAttribute("data-duration"));if(Number.isFinite(h)&&h>0)return h;let p=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),g=Number.isFinite(p)?Math.max(0,p):0;return Number.isFinite(d.duration)&&d.duration>g?Math.max(0,d.duration-g):null},ae=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let h=0;for(let p of d){let g=Y(p);if(!Number.isFinite(g))continue;let C=ue(p);C==null||C<=D||(h=Math.max(h,Math.max(0,g)+C))}return h>D?h:null},$=()=>{let d=G();if(!d)return null;let h=window.__timelines??{},p=it({timelineRegistry:h,includeAuthoredTimingAttrs:!0}),g=0,C=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(C)&&C>0&&(g=C);let L=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let O of L){if(!(O instanceof Element)||O.parentElement?.closest("[data-composition-id]")!==d)continue;let W=p.resolveStartForElement(O,0),se=p.resolveDurationForElement(O);!Number.isFinite(W)||se==null||se<=0||(g=Math.max(g,Math.max(0,W)+se))}return g>D?g:null},q=()=>{let d=ae();return typeof d!="number"||!Number.isFinite(d)||d<=D?null:d},j=d=>I(d)?Math.max(D,d*P):D,Ve=()=>{let d=0;for(let h of e.deterministicAdapters){let p=h.getInferredDurationSeconds;if(typeof p!="function")continue;let g=null;try{g=p()}catch(C){F("runtime.init.adapterDuration",C)}typeof g=="number"&&Number.isFinite(g)&&g>0&&(d=Math.max(d,g))}return d>D?d:null},me=(d,h=0)=>{let p=M(d),g=q(),C=$(),L=Ve(),O=Math.max(g??0,C??0,L??0),X=Number.isFinite(h)&&h>D?h:0,W=0;return I(p)?W=Math.max(p,O,X):I(O)?W=Math.max(O,X):W=X,W>0?Math.max(0,W):0},Ct=()=>{let d=window.__timelines??{},h=re=>{let Q=Object.entries(d).filter(oe=>!!oe[1]&&typeof oe[1].play=="function"&&typeof oe[1].pause=="function");if(Q.length!==1)return{timeline:null};let fe=Q[0];if(!fe)return{timeline:null};let[pe,ge]=fe;return{timeline:ge,selectedTimelineIds:[pe],selectedDurationSeconds:M(ge),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},p=it({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),g=q(),C=$(),L=Math.max(g??0,C??0)||null,O=j(L),X=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?p.resolveStartForElement(Q,0):0},W=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let fe=Q.timeline({paused:!0});for(let pe of re)fe.add(pe.timeline,X(pe.compositionId));return fe},se=(re,Q)=>{if(!I(re))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(oe){F("runtime.init.site2",oe)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:re})}catch(oe){F("runtime.init.site3",oe)}return pe},Le=(re,Q)=>{let fe=re;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let oe of Q)if(!pe.some(He=>He===oe.timeline))try{let He=X(oe.compositionId);re.add(oe.timeline,He),ge.push(oe.compositionId)}catch(He){F("runtime.init.site4",He)}return ge}catch{return[]}},ie=G(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return h("root_missing_composition_id");let ve=d[te]??null,Ee=(()=>{if(!ie)return[];let re=new Set,Q=Array.from(ie.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of Q){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===te||re.has(ge))continue;re.add(ge);let oe=d[ge]??null;if(!oe||typeof oe.play!="function"||typeof oe.pause!="function")continue;let Re=M(oe);fe.push({compositionId:ge,timeline:oe,durationSeconds:Re??0})}return fe})(),Jt=re=>{for(let Q of re){let fe=Q.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){F("runtime.init.site5",pe)}}};if(Ee.length>0&&Jt(Ee),ve){let re=Ee.length>0?Le(ve,Ee):[];if((Ee.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+te+"\'])"))&&(Ie=!0),re.length>0)try{let oe=ve.time();ve.seek(oe,!1)}catch{}let Q=M(ve);if(!I(Q)&&Ee.length>0){let oe=Ee.map(dd=>dd.compositionId),Re=W(Ee),He=M(Re);if(Re&&I(He))return{timeline:Re,selectedTimelineIds:oe,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedTimelineIds:oe,autoNestedChildren:re}}};let Yr=se(L??0,ve),Xr=M(Yr);if(Yr&&I(Xr))return{timeline:Yr,selectedTimelineIds:[te],selectedDurationSeconds:Xr,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:Xr,selectedTimelineIds:[te],autoNestedChildren:re}}}}if(!I(Q)&&Ee.length===0){let oe=se(L??0,ve),Re=M(oe);if(oe&&I(Re))return{timeline:oe,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:C,selectedDurationSeconds:Re,selectedTimelineIds:[te]}}}}let fe=ie?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(I(pe)?pe:0,C??0);if(ge>0&&I(ge)&&I(Q)&&ge>=Q+.5){let oe=ve;if(typeof oe.to=="function")try{oe.to({},{duration:0},ge)}catch(He){F("runtime.init.site6",He)}let Re=M(ve);if(I(Re))return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:C,newDur:Re}}}}return{timeline:ve,selectedTimelineIds:[te],selectedDurationSeconds:Q,mediaDurationFloorSeconds:g,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(Ee.length>0){let re=Ee.map(pe=>pe.compositionId),Q=W(Ee),fe=M(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,selectedTimelineIds:re}}}}return h("root_composition_id_unmatched_in_registry")},Ie=!1,$c=d=>{let h=window.gsap,p=d;if(!(!p||typeof p.getChildren!="function"||!h||typeof h.parseEase!="function"))for(let g of p.getChildren(!0,!0,!0)){let C=g,L=C.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let O=C.vars?.keyframes,W=(O&&!Array.isArray(O)?O.ease:void 0)??C.vars?.ease??"none";try{let se=h.parseEase(W);typeof se=="function"&&(L._ease=se)}catch(se){Ne("keyframe_ease_repair_failed",{ease:typeof W=="string"?W:String(W)}),F("runtime.keyframeEase.repair",se)}}},$t=()=>{if(y(),!B)return!1;let d=e.capturedTimeline,h=M(d),p=I(h);if(d&&p&&Ie)return!1;let g=Ct();if(!g.timeline)return!1;if(d&&d===g.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=g.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),$c(e.capturedTimeline);let C=me(e.capturedTimeline,0);if(C<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),et(e.capturedTimeline)),C>0){try{c.setDuration(C)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let O=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(O,!1),et(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),vr(document)}if(g.diagnostics&&xe({source:"hf-preview",type:"diagnostic",code:g.diagnostics.code,details:g.diagnostics.details}),xe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:g.selectedTimelineIds??[],selectedDurationSeconds:g.selectedDurationSeconds??null,mediaDurationFloorSeconds:g.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=G(),O=C>0?C:0,X=String(O>0?O:1),W=new Set,se=new Set(document.querySelectorAll("[data-start]")),Le=ie=>{let te=ie.parentElement;for(;te&&te!==L;){if(se.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==L&&(te.hasAttribute("data-start")||Le(te)||W.has(te)||(W.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",X),te.setAttribute("data-hf-autostamped","1")))}catch{}if(L instanceof HTMLElement)for(let ie of L.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==L&&(ie.hasAttribute("data-start")||Le(ie)||W.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||(W.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",X),ie.setAttribute("data-hf-autostamped","1")))}for(let L of qt)On.delete(L),Xo(L);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,$t(),Vr(e.currentTime)};let qc=()=>{let d=G();if(!(d instanceof HTMLElement))return;let h=d.getBoundingClientRect(),p=Number(d.getAttribute("data-width")),g=Number(d.getAttribute("data-height")),C=window.getComputedStyle(d),L=Number.isFinite(p)&&p>0&&Number.isFinite(g)&&g>0,O=h.width<=0||h.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!O||T("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:p,declaredHeight:g,rectWidth:Math.round(h.width),rectHeight:Math.round(h.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:C.display,visibility:C.visibility,overflow:C.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},jc=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,qc()}))},Kc=()=>{r=d=>{let h=A(d.error??d.message).slice(0,v);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:p.code,details:{category:p.category,message:h,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let h=A(d.reason).slice(0,v);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:`${p.code}_unhandled_rejection`,details:{category:`${p.category}-unhandled-rejection`,message:h}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},Yc=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let p of d){let g=()=>{if(!(p instanceof Element))return;let C=p.tagName.toLowerCase(),L=p.getAttribute("src")??p.getAttribute("href")??p.getAttribute("poster")??null,O=C==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";T(O,{tagName:C,assetUrl:L,currentSrc:(p instanceof HTMLImageElement||p instanceof HTMLMediaElement)&&p.currentSrc||null,readyState:p instanceof HTMLMediaElement?p.readyState:null,networkState:p instanceof HTMLMediaElement?p.networkState:null},`${O}:${C}:${L??"unknown"}`)};p.addEventListener("error",g),w(()=>{p.removeEventListener("error",g)})}let h=document.fonts;h&&h.ready.then(()=>{if(e.tornDown)return;let p=Array.from(h).filter(g=>g.status==="error").map(g=>g.family).filter(g=>!!g).slice(0,10);p.length!==0&&T("runtime_font_load_issue",{failedFamilies:p,totalFaces:Array.from(h).length},`runtime-font-load-issue:${p.join("|")}`)}).catch(()=>{})},Xc=(d,h)=>{if(!d.timeline)return!1;let p=e.capturedTimeline;if(p&&p===d.timeline)return!1;let g=Math.max(0,e.currentTime||0),C=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{et(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(g,!1),C&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){F("runtime.init.site7",L)}return xe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:h,previousTime:g,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ft=null,qo=!1,jo=!1,qt=new Set,On=new WeakMap,Gn=()=>{e.tornDown||(ft!=null&&window.clearTimeout(ft),ft=window.setTimeout(()=>{if(e.tornDown||(ft=null,jo&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Ct();if(!d.timeline||!I(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){$t()&&(mt(),Fe(!0));return}if(qo)return;let p=M(e.capturedTimeline),g=d.selectedDurationSeconds??M(d.timeline);I(g)&&(!I(p)||g>=p+_)&&Xc(d,"manual")&&(qo=!0,xe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:p??null,selectedDurationSeconds:g??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),mt(),Fe(!0))},b))},Ko=d=>{d.currentTarget instanceof HTMLMediaElement&&ja(d.currentTarget)},Yo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ka(d.currentTarget)},Jc=()=>{for(let d of qt)d.removeEventListener("loadedmetadata",Gn),d.removeEventListener("durationchange",Gn),d.removeEventListener("loadedmetadata",Ko),d.removeEventListener("error",Yo);qt.clear()},Hr=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let h of d){if(qt.has(h))continue;qt.add(h);let p=Number.parseFloat(h.dataset.volume??"");Number.isFinite(p)&&(h.volume=Math.max(0,Math.min(1,p))),h.addEventListener("loadedmetadata",Gn),h.addEventListener("durationchange",Gn),h.addEventListener("loadedmetadata",Ko),h.addEventListener("error",Yo),qa(h),h.preload!=="auto"&&(h.preload="auto"),h.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&h.load(),Xo(h)}},Xo=d=>{On.has(d)||Ga(d,e.capturedTimeline,me(e.capturedTimeline,0),On,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Br=new WeakMap,Jo=d=>{let h=Br.get(d);if(h!==void 0)return h;let p=window.getComputedStyle(d).position,g=p==="static"||p==="relative"||p==="sticky";return Br.set(d,g),g},Ur=new WeakMap,Qc=d=>{let h=Ur.get(d);if(h!==void 0)return h;let p=d.querySelector("[data-start]")===null;return Ur.set(d,p),p},Zc=()=>{Br=new WeakMap,Ur=new WeakMap},Wr=new WeakMap,Hn=new WeakSet,Vr=(d,h=Array.from(document.querySelectorAll("[data-start]")))=>{let p=G();for(let g of h){if(!(g instanceof HTMLElement))continue;if(g.hasAttribute("data-hidden")){Hn.has(g)||(Wr.set(g,g.style.getPropertyValue("display")),Hn.add(g)),g.style.display="none",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,!1);continue}if(Hn.has(g)){let L=Wr.get(g);L?g.style.display=L:g.style.removeProperty("display"),Wr.delete(g),Hn.delete(g)}let C=V(g,d);if(C){let L=g.parentElement;for(;L&&L!==p;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!V(L,d)){C=!1;break}L=L.parentElement}}g.style.visibility=C?"visible":"hidden",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,C),C?Jo(g)&&g.style.removeProperty("display"):Jo(g)&&Qc(g)&&(g.style.display="none")}},Pe=()=>{let d=Ua({shouldIncludeElement:p=>p.hasAttribute("data-start")||!!z(p).compositionRoot,resolveStartSeconds:p=>Y(p),resolveDurationSeconds:p=>{let g=z(p),C=Y(p),L=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,O=g.inheritedStart!=null&&g.inheritedDuration!=null&&g.inheritedDuration>0?Math.max(0,g.inheritedStart+g.inheritedDuration-C):null,X=Number.isFinite(p.duration)&&p.duration>L?Math.max(0,p.duration-L):null,W=Number.parseFloat(p.dataset.duration??""),se=Number.isFinite(W)&&W>0?W:null;return Ba({isVideo:p.tagName==="VIDEO",sourceDuration:X,hostRemaining:O,explicitDuration:se})}});for(let p of d.mediaClips){let g=On.get(p.el);g&&(p.volumeKeyframes=g)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Wa({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&m.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(p,g)=>m.setElementVolume(p,g),isWebAudioOwned:p=>m.ownsElement(p),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,xe({source:"hf-preview",type:"media-autoplay-blocked"}))}}),Vr(e.currentTime)},Fe=d=>{let h=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),p=Date.now();(d||h!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||p-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=h,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=p,xe({source:"hf-preview",type:"state",frame:h,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},zr="",Qo=0,ed=()=>{let d="";for(let h of document.querySelectorAll("[data-start]"))d+=`${h.id}:${h.tagName}|`;return d},mt=()=>{ne(),U(),H();let d=G();if(d){let g=N(d.getAttribute("data-width")),C=N(d.getAttribute("data-height")),L=g?parseInt(g,10):0,O=C?parseInt(C,10):0;L>0&&O>0&&xe({source:"hf-preview",type:"stage-size",width:L,height:O})}$t();let h=Ds({canonicalFps:e.canonicalFps});window.__clipManifest=h;let p=ed();if(zr!==p&&Zc(),!window.__clipTree||zr!==p){let g=window;window.__clipTree=Ts({startResolver:it({timelineRegistry:g.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:g.__timelines??{},rootDuration:h.durationInFrames/e.canonicalFps}),zr=p}xe(h),jc()},$r=d=>Number.isFinite(d)&&d>0?d:0,td=d=>{let h=$r(Number(d));if(h<=0)return;let p=G(),g=$r(Number.parseFloat(p?.getAttribute("data-duration")??"")),C=Math.max(Qo,$r(c.getDuration()),g);h<=C||(Qo=h,p?.setAttribute("data-duration",String(h)),c.setDuration(h),mt(),Fe(!0))},Oe=(d,h=0)=>{for(let p of e.deterministicAdapters){try{d==="discover"&&p.discover(),d==="pause"&&p.pause(),d==="play"&&p.play&&p.play()}catch(g){F("runtime.init.site8",g)}if(d==="discover")try{p.seek({time:h,suppressEvents:!0})}catch(g){F("runtime.init.site9",g)}}},pt=()=>{window.__renderReady=!1},jt=null,Kt=!0,nd=()=>{let d=[];for(let h of e.deterministicAdapters){let p=h.getReadyPromise;if(typeof p=="function")try{let g=p();g&&d.push(g)}catch(g){F("runtime.init.adapterReady",g)}}return d},rd=()=>{let d=nd();if(d.length===0)return jt=null,Kt=!0,!0;let h=d[0];if(!h)return!0;let p=d.length===1?h:Promise.all(d);return p!==jt&&(jt=p,Kt=!1,Promise.resolve(p).then(()=>{jt===p&&(Kt=!0,pt())},g=>{jt===p&&(Kt=!0,F("runtime.init.adapterReady",g),pt())})),Kt};if(B)yo();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:N,onDiagnostic:({code:h,details:p})=>{xe({source:"hf-preview",type:"diagnostic",code:h,details:p})}};vu(d).then(()=>Su(d)).finally(()=>{B=!0,Hr(),Yc(),yo(),Ao(document),pt()})}let Bn=Es({postMessage:d=>xe(d)});Bn.installPickerApi(),Vr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=ac();n=ze,w(()=>{ze.destroy(),n=null});let qr=d=>{let h=Number(d);!Number.isFinite(h)||h<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,h)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let p=document.querySelectorAll("video, audio");for(let g of p)if(g instanceof HTMLMediaElement)try{g.playbackRate=e.playbackRate}catch(C){F("runtime.init.site10",C)}},Zo={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let h=me(d,0);if(h>0)c.setDuration(h),c.reachedEnd()&&(c.seek(0),e.currentTime=0,ht(0));else{let p=G(),g=Number(p?.getAttribute("data-duration")??0);g>0&&c.setDuration(g)}et(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,oa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&aa(),Oe("play"),Pe(),ze.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,oa(e.currentTime);let d=e.capturedTimeline;et(d),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},seek:(d,h)=>{let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let g=c.isPlaying();g&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let C=e.capturedTimeline;if(et(C),ht(e.currentTime),Oe("pause"),h?.keepPlaying&&g){Zo.play();return}Pe(),ze.redraw(),Fe(!0)},renderSeek:(d,h)=>{jo=!0;let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ht(e.currentTime,{activateChildren:!0,suppressEvents:h?.suppressEvents}),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{qr(d),c.setRate(e.playbackRate),sa()},getPlaybackRate:()=>e.playbackRate},ea=me(e.capturedTimeline,0);ea>0&&c.setDuration(ea);let Ge=As({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:qr,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,h)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==h&&(e.mediaForceSyncNextTick=!0),e.isPlaying=h,Pe()},onStatePost:Fe,onDeterministicSeek:(d,h)=>{for(let p of e.deterministicAdapters)if(!(p.name==="gsap"&&e.capturedTimeline))try{p.seek({time:Number(d)||0,suppressEvents:h?.suppressEvents})}catch(g){F("runtime.init.site11",g)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{ze.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>me(e.capturedTimeline,0),transport:Zo});window.__player=k(Ge),window.__playerReady=!0,Ne("composition_loaded",{duration:Ge.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Pa(),ya({resolveStartSeconds:d=>J(d,0)}),va(),Ca(),wa(),Ta(),Ra(),Fa(),La(),Na(),ka(),Sa({getTimeline:()=>e.capturedTimeline})],Da(),Ia(),window.__hfReseekGpu=d=>{let h=Math.max(0,Number(d)||0);window.__hfThreeTime=h,window.__hfTypegpuTime=h,Kn(h)},window.__hfWaitForSeekCompletion=ai,o.push(()=>{window.__hfWaitForSeekCompletion===ai&&delete window.__hfWaitForSeekCompletion}),Kc(),Hr(),Oe("discover");let id=()=>{let d=e.capturedTimeline,h=$t();e.capturedTimeline&&(h||e.capturedTimeline!==d||!Ge._timeline)&&(Ge._timeline=e.capturedTimeline);let p=me(e.capturedTimeline,0);if(p>0&&c.setDuration(p),Oe("discover",e.currentTime),!e.capturedTimeline){let g=window.__timelines??{},C=Object.keys(g).filter(L=>g[L]);if(C.length>0){let O=G()?.getAttribute("data-composition-id")??null;T("root_timeline_unbound_registry_present",{reason:O?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:O,registeredTimelineKeys:C},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(O?`Root data-composition-id is "${O}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${C.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${O??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,mt(),Fe(!0)},_t=null,od=()=>{if(_t)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),_t=null,pt()};_t=d,window.addEventListener("hf-timelines-built",d)};w(()=>{_t&&(window.removeEventListener("hf-timelines-built",_t),_t=null)}),pt=()=>{if(!B){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,od();return}if(Oe("discover",e.currentTime),!rd()){window.__renderReady=!1;return}id()},pt(),B&&setTimeout(()=>{pt()},0);let Un=0,jr=!1,ad=(d,h,p,g)=>{try{let C=g?.suppressEvents===!0;et(d),typeof d.totalTime=="function"?d.totalTime(h,C):d.seek(h,C)}catch(C){F(p,C)}},sd=(d,h)=>{let p=window.__timelines??{},g=G()?.getAttribute("data-composition-id")??null;for(let[C,L]of Object.entries(p)){if(!L||C===g)continue;let O=document.querySelector(`[data-composition-id="${CSS.escape(C)}"]`);if(!O)continue;let X=J(O,0);if(!Number.isFinite(X))continue;let W=M(L),se=Rt(O)+Math.max(0,d-X)*qe(O),Le=Math.max(0,W!=null&&W>0?Math.min(W,se):se);ad(L,Le,"runtime.init.transport.childTimeline",h)}},ta=d=>{let h=window.__timelines??{};for(let p of Object.values(h))if(!(!p||p===d))try{p.play()}catch(g){F("runtime.init.activateSiblings",g)}},na=d=>typeof d=="object"&&d!==null,Yt=new WeakMap,ld=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],ra=(d,h)=>{let p=d[h];if(typeof p!="function")return null;try{let g=Number(p.call(d));return Number.isFinite(g)?g:null}catch(g){return F("runtime.init.gsapCallbackDuration",g),null}},ud=d=>{let h=Yt.get(d);if(h!=null)return h;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let p;try{p=d.getChildren(!0,!0,!0)}catch(g){return F("runtime.init.gsapCallbackChildren",g),Yt.set(d,!1),!1}if(!Array.isArray(p))return Yt.set(d,!1),!1;for(let g of p){if(!na(g))continue;let C=g.vars;if(!na(C)||!ld.some(W=>typeof C[W]=="function"))continue;let X=ra(g,"totalDuration")??ra(g,"duration");if(X!=null&&X<=1e-6)return Yt.set(d,!0),!0}return Yt.set(d,!1),!1};function ht(d,h){let p=e.capturedTimeline,g=h?.suppressEvents===!0;if(p){h?.activateChildren&&ta(p);let C=p,L=d;if(typeof C.totalDuration=="function")try{let O=Number(C.totalDuration());Number.isFinite(O)&&O>0&&d>O&&(L=O)}catch(O){F("runtime.init.transport.clampDuration",O)}try{typeof p.totalTime=="function"?(p.totalTime(L,g),!g&&!ud(p)&&(p.totalTime(L+.001,!0),p.totalTime(L,!0))):p.seek(L,g)}catch(O){F("runtime.init.transport.seek",O)}}sd(d,h),p&&h?.activateChildren&&ta(p);for(let C of e.deterministicAdapters)if(!(C.name==="gsap"&&p))try{C.seek({time:d,suppressEvents:g})}catch(L){F("runtime.init.transport.adapter",L)}}let cd=()=>{try{return document.querySelector(`[${lc}]`)!=null}catch{return!1}},ia=()=>{if(!(e.tornDown||jr)){jr=!0;try{if(e.transportRafId=window.requestAnimationFrame(ia),Un+=1,uc({tick:Un,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let h=e.capturedTimeline;if($t()){e.capturedTimeline&&!Ge._timeline&&(Ge._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&et(e.capturedTimeline);let p=me(e.capturedTimeline,0);p>0&&c.setDuration(p),mt()}}if(Un%20===0&&mt(),Un%30===0&&Hr(),e.capturedTimeline){let h=me(e.capturedTimeline,0);h>0&&(!c.isPlaying()||h>=c.getDuration())&&c.setDuration(h)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let h=m.getTime();h>=0&&c.attachAudioSource({currentTimeSeconds:h})}else{let h=document.querySelectorAll("audio[data-start]"),p=!1;for(let g of h){if(!(g instanceof HTMLMediaElement)||!g.isConnected)continue;let C=Number.parseFloat(g.dataset.start??""),L=Number.parseFloat(g.dataset.duration??""),O=Number.isFinite(L)&&L>0?C+L:1/0,X=Number.parseFloat(g.dataset.playbackStart??g.dataset.mediaStart??"0")||0;if(Number.isFinite(C)&&e.currentTime>=C&&e.currentTime<O){g.paused?!g.error&&g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),p=!0):(c.attachAudioSource({el:g,compositionStart:C,mediaStart:X}),p=!0);break}}!p&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!cd())&&ht(d),c.isPlaying()&&ze.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{jr=!1}}},oa=d=>{let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let C=Number.parseFloat(p.dataset.duration??""),L=Number.isFinite(C)&&C>0?g+C:1/0;if(d<g||d>=L)continue;let O=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,X=d-g+O;if(X>=0)try{p.currentTime=X}catch{}}},aa=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),h=document.querySelectorAll("audio[data-start]");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let C=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,L=Number.parseFloat(p.dataset.volume??""),O=Number.isFinite(L)?L:1,X=Number.parseFloat(p.dataset.duration??""),W=Number.isFinite(X)&&X>0?X:Number.POSITIVE_INFINITY,se=p.closest("[data-composition-id]");if(se){let Le=J(se,0),ie=_e(se,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&(W=Math.min(W,Math.max(0,Le+ie-g)))}m.decodeAudioElement(p).then(Le=>{!Le||!c.isPlaying()||m.schedulePlayback(p,Le,g,C,c.now(),O*e.bridgeVolume,d,e.playbackRate,W)})}};function sa(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),aa())}if(e.capturedTimeline){let d=me(e.capturedTimeline,0);d>0&&c.setDuration(d),et(e.capturedTimeline)}Tu(window),e.transportRafId=window.requestAnimationFrame(ia),mt(),Fe(!0),e.controlBridgeHandler=da({onPlay:()=>{Ge.play(),Ne("composition_played",{time:Ge.getTime()})},onPause:()=>{Ge.pause(),Ne("composition_paused",{time:Ge.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let h of d)h instanceof HTMLMediaElement&&!h.paused&&h.pause()},onSeek:(d,h)=>{Ge.seek(d),Ne("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let h=d||e.mediaOutputMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement))continue;let g=parseFloat(p.dataset.volume??""),C=Number.isFinite(g)?g:1;p.volume=C*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let h=d||e.bridgeMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{qr(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),sa()},onSetRootDuration:td,onSetColorGrading:(d,h)=>{ze.setGrading(d,h)},onSetColorGradingCompare:(d,h)=>{ze.setCompare(d,h)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,ht(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>Bn.enablePickMode(),onDisablePickMode:()=>Bn.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Kr=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),ft!=null&&(window.clearTimeout(ft),ft=null),l!=null&&(window.cancelAnimationFrame(l),l=null),Jc(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),Bn.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(h){F("runtime.init.site12",h)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(h){F("runtime.init.site13",h)}for(let d of e.injectedCompStyles)try{d.remove()}catch(h){F("runtime.init.site14",h)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(h){F("runtime.init.site15",h)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(h){F("runtime.init.site16",h)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Kr&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Kr,e.beforeUnloadHandler=Kr,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var yc=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Go=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Wh(e){if(e<=255)return yc[e];let t=0,n=Go.length-1;for(;t<=n;){let r=t+n>>1,i=Go[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Vh(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let y=e.charCodeAt(u+1);y>=56320&&y<=57343&&(m=(c-55296<<10)+(y-56320)+65536,f=2)}let x=Wh(m);(x==="R"||x==="AL"||x==="AN")&&(r=!0);for(let y=0;y<f;y++)n[u+y]=x;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=u;E<c;E++)n[E]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function Sc(e,t){let n=Vh(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var zh=/[ \\t\\n\\r\\f]+/g,$h=/[\\t\\n\\r\\f]| {2,}|^ | $/;function qh(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function jh(e){if(!$h.test(e))return e;let t=e.replace(zh," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function Kh(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Ho=null,Yh;function Xh(){return Ho===null&&(Ho=new Intl.Segmenter(Yh,{granularity:"word"})),Ho}var Jh=/\\p{Script=Arabic}/u,Dr=/\\p{M}/u,Rc=/\\p{Nd}/u;function vc(e){return Jh.test(e)}function Ec(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function We(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){let i=(n-55296<<10)+(r-56320)+65536;if(Ec(i))return!0;t++;continue}}if(Ec(n))return!0}}return!1}function Qh(e){let t=Or(e);return t!==null&&(Pr.has(t)||ct.has(t))}var Zh=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function eg(e){return We(e)}function tg(e){let t=Or(e);return t!==null&&Zh.has(t)}function Ir(e){return!Qh(e)&&!tg(e)}var Pr=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),Pn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Uo=new Set(["\'","\\u2019"]),ct=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),ng=new Set([":",".","\\u060C","\\u061B"]),rg=new Set(["\\u104F"]),ig=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function og(e){if(Wo(e))return!0;let t=!1;for(let n of e){if(ct.has(n)){t=!0;continue}if(!(t&&Dr.test(n)))return!1}return t}function ag(e){for(let t of e)if(!Pr.has(t)&&!ct.has(t))return!1;return e.length>0}function sg(e){if(Wo(e))return!0;for(let t of e)if(!Pn.has(t)&&!Uo.has(t)&&!Dr.test(t))return!1;return e.length>0}function Wo(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Dr.test(n))){if(Pn.has(n)||ct.has(n)||Uo.has(n)){t=!0;continue}return!1}return t}function Fc(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let o=e.charCodeAt(i);return o>=55296&&o<=56319?i:n}function Or(e){if(e.length===0)return null;let t=Fc(e,e.length);return e.slice(t)}function lg(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Dr.test(r)){n--;continue}if(Pn.has(r)||Uo.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function ug(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Cc(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function _c(e,t){return e&&t!==null&&ng.has(t)}function cg(e){let t=Or(e);return t!==null&&rg.has(t)}function dg(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function Gr(e){let t=e.length;for(;t>0;){let n=Fc(e,t),r=e.slice(n,t);if(ig.has(r))return!0;if(!ct.has(r))return!1;t=n}return!1}function fg(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var mg=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function pg(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function hg(e,t,n,r){if(!mg.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=fg(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function Bo(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var gg=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function xg(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:gg.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function bg(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function yg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!xg(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Bo(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function Sg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!bg(a))continue;let l=o+1;if(l>=e.len||Bo(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Bo(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var vg=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Ac=/^[A-Za-z0-9_]+[,:;]*$/,wc=/[,:;]+$/;function Lc(e){for(let t of e)if(Rc.test(t))return!0;return!1}function In(e){if(e.length===0)return!1;for(let t of e)if(!(Rc.test(t)||vg.has(t)))return!1;return!0}function Eg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&In(a)&&Lc(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&In(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Cg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Ac.test(a)){let u=[a],c=wc.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Ac.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=wc.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function _g(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!Lc(c)||!In(c))&&(s=!1)}if(s){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Ag(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function wg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!We(t[o])||!We(t[o+1]))continue;let a=lg(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Tc(e,t,n){let r=Xh(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],x=[],y=[],E=[],S=[];for(let _ of r.segment(e))for(let b of hg(_.segment,_.isWordLike??!1,_.index,n)){let J=function(){c[H]!==null&&(a[H]=[Cc(o,c,m,H)],c[H]=null),a[H].push(b.text),l[H]=l[H]||b.isWordLike,f[H]=f[H]||R,x[H]=x[H]||N,y[H]=U,E[H]=ne,S[H]=_c(x[H],G)},v=b.kind==="text",A=ug(b.text,b.isWordLike,b.kind),R=We(b.text),N=vc(b.text),G=Or(b.text),U=Gr(b.text),ne=cg(b.text),H=i-1;t.carryCJKAfterClosingQuote&&v&&i>0&&s[H]==="text"&&R&&f[H]&&y[H]||v&&i>0&&s[H]==="text"&&ag(b.text)&&f[H]||v&&i>0&&s[H]==="text"&&E[H]?J():v&&i>0&&s[H]==="text"&&b.isWordLike&&N&&S[H]?(J(),l[H]=!0):A!==null&&i>0&&s[H]==="text"&&c[H]===A?m[H]=(m[H]??1)+1:v&&!b.isWordLike&&i>0&&s[H]==="text"&&(og(b.text)||b.text==="-"&&l[H])?J():(o[i]=b.text,a[i]=[b.text],l[i]=b.isWordLike,s[i]=b.kind,u[i]=b.start,c[i]=A,m[i]=A===null?0:1,f[i]=R,x[i]=N,y[i]=U,E[i]=ne,S[i]=_c(N,G),i++)}for(let _=0;_<i;_++){if(c[_]!==null){o[_]=Cc(o,c,m,_);continue}o[_]=De(a[_])}for(let _=1;_<i;_++)s[_]==="text"&&!l[_]&&Wo(o[_])&&s[_-1]==="text"&&(o[_-1]+=o[_],l[_-1]=l[_-1]||l[_],o[_]="");let w=Array.from({length:i},()=>null),T=-1;for(let _=i-1;_>=0;_--){let b=o[_];if(b.length!==0){if(s[_]==="text"&&!l[_]&&sg(b)&&T>=0&&s[T]==="text"){let v=w[T]??[];v.push(b),w[T]=v,u[T]=u[_],o[_]="";continue}T=_}}for(let _=0;_<i;_++){let b=w[_];b!=null&&(o[_]=pg(b,o[_]))}let k=0;for(let _=0;_<i;_++){let b=o[_];b.length!==0&&(k!==_&&(o[k]=b,l[k]=l[_],s[k]=s[_],u[k]=u[_]),k++)}o.length=k,l.length=k,s.length=k,u.length=k;let D=Ag({len:k,texts:o,isWordLike:l,kinds:s,starts:u}),P=wg(Cg(_g(Eg(Sg(yg(D))))));for(let _=0;_<P.len-1;_++){let b=dg(P.texts[_]);b!==null&&(P.kinds[_]!=="space"&&P.kinds[_]!=="preserved-space"||P.kinds[_+1]!=="text"||!vc(P.texts[_+1])||(P.texts[_]=b.space,P.isWordLike[_]=!1,P.kinds[_]=P.kinds[_]==="preserved-space"?"preserved-space":"space",P.texts[_+1]=b.marks+P.texts[_+1],P.starts[_+1]=P.starts[_]+b.space.length))}return P}function Tg(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Rg(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],y=e.isWordLike[m],E=e.starts[m];if(x==="text"){let S=eg(f),w=Ir(f);if(o!==null&&s&&u){o.push(f),a=a||y,s=s||S,u=w;continue}c(),o=[f],a=y,l=E,s=S,u=w;continue}c(),t.push(f),n.push(y),r.push(x),i.push(E)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Nc(e,t,n="normal",r="normal"){let i=qh(n),o=i.mode==="pre-wrap"?Kh(e):jh(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Rg(Tc(o,t,i)):Tc(o,t,i);return{normalized:o,chunks:Tg(a,i),...a}}var Wt=null,kc=new Map,Vt=null,Fg=96,Lg=/\\p{Emoji_Presentation}/u,Ng=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Vo=null,Mc=new Map;function zo(){if(Wt!==null)return Wt;if(typeof OffscreenCanvas<"u")return Wt=new OffscreenCanvas(1,1).getContext("2d"),Wt;if(typeof document<"u")return Wt=document.createElement("canvas").getContext("2d"),Wt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function kg(e){let t=kc.get(e);return t||(t=new Map,kc.set(e,t)),t}function tt(e,t){let n=t.get(e);return n===void 0&&(n={width:zo().measureText(e).width,containsCJK:We(e)},t.set(e,n)),n}function zt(){if(Vt!==null)return Vt;if(typeof navigator>"u")return Vt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},Vt;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return Vt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},Vt}function Mg(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function Dc(){return Vo===null&&(Vo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Vo}function Dg(e){return Lg.test(e)||e.includes("\\uFE0F")}function Ic(e){return Ng.test(e)}function Ig(e,t){let n=Mc.get(e);if(n!==void 0)return n;let r=zo();r.font=e;let i=r.measureText("\\u{1F600}").width;if(n=0,i>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return Mc.set(e,n),n}function Pg(e){let t=0,n=Dc();for(let r of n.segment(e))Dg(r.segment)&&t++;return t}function Og(e,t){return t.emojiCount===void 0&&(t.emojiCount=Pg(e)),t.emojiCount}function dt(e,t,n){return n===0?t.width:t.width-Og(e,t)*n}function Pc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Dc(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=tt(m,n);c.push(dt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>Fg){let c=[],m=null,f=0;for(let x of a){let y=tt(x,n),E=dt(x,y,r);if(m===null)c.push(E);else{let S=m+x,w=tt(S,n);c.push(dt(S,w,r)-f)}m=x,f=E}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=tt(s,n),f=dt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function Oc(e,t){let n=zo();n.font=e;let r=kg(e),i=Mg(e),o=t?Ig(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function Gg(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function Hg(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Bg(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function Gc(e,t){return e.simpleLineWalkFastPath?Hc(e,t):Bc(e,t)}function Hc(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=zt().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,x=0,y=0,E=0,S=-1,w=0;function T(){S=-1,w=0}function k(A=y,R=E,N=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:A,endGraphemeIndex:R,width:N}),c=0,m=!1,T()}function D(A,R){m=!0,f=A,x=0,y=A+1,E=0,c=R}function P(A,R,N){m=!0,f=A,x=R,y=A,E=R+1,c=N}function _(A,R){if(!m){D(A,R);return}c+=R,y=A+1,E=0}function b(A,R){let N=o[A];for(let G=R;G<N.length;G++){let U=N[G];m?c+U>s?(k(),P(A,G,U)):(c+=U,y=A,E=G+1):P(A,G,U)}m&&y===A&&E===N.length&&(y=A+1,E=0)}let v=0;for(;v<r.length&&!(!m&&(v=Gg(e,v),v>=r.length));){let A=r[v],R=i[v],N=R==="space"||R==="preserved-space"||R==="tab"||R==="zero-width-break"||R==="soft-hyphen";if(!m){A>t&&o[v]!==null?b(v,0):D(v,A),N&&(S=v+1,w=c-A),v++;continue}if(c+A>s){if(N){_(v,A),k(v+1,0,c-A),v++;continue}if(S>=0){if(y>S||y===S&&E>0){k();continue}k(S,0,w);continue}if(A>t&&o[v]!==null){k(),b(v,0),v++;continue}k();continue}_(v,A),N&&(S=v+1,w=c-A),v++}return m&&k(),u}function Bc(e,t,n){if(e.simpleLineWalkFastPath)return Hc(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=zt(),f=m.lineFitEpsilon,x=t+f,y=0,E=0,S=!1,w=0,T=0,k=0,D=0,P=-1,_=0,b=0,v=null;function A(){P=-1,_=0,b=0,v=null}function R(z=k,Y=D,V=E){y++,n?.({startSegmentIndex:w,startGraphemeIndex:T,endSegmentIndex:z,endGraphemeIndex:Y,width:V}),E=0,S=!1,A()}function N(z,Y){S=!0,w=z,T=0,k=z+1,D=0,E=Y}function G(z,Y,V){S=!0,w=z,T=Y,k=z,D=Y+1,E=V}function U(z,Y){if(!S){N(z,Y);return}E+=Y,k=z+1,D=0}function ne(z,Y,V,ee){if(!Y)return;let Ae=z==="tab"?0:i[V],B=z==="tab"?ee:o[V];P=V+1,_=E-ee+Ae,b=E-ee+B,v=z}function H(z,Y){let V=l[z];for(let ee=Y;ee<V.length;ee++){let Ae=V[ee];S?E+Ae>x?(R(),G(z,ee,Ae)):(E+=Ae,k=z,D=ee+1):G(z,ee,Ae)}S&&k===z&&D===V.length&&(k=z+1,D=0)}function J(z){if(v!=="soft-hyphen")return!1;let Y=l[z];if(Y==null)return!1;let{fitCount:V,fittedWidth:ee}=Bg(Y,E,t,f,s);return V===0?!1:(E=ee,k=z,D=V,A(),V===Y.length?(k=z+1,D=0,!0):(R(z,V,ee+s),H(z,V),!0))}function _e(z){y++,n?.({startSegmentIndex:z.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:z.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),A()}for(let z=0;z<c.length;z++){let Y=c[z];if(Y.startSegmentIndex===Y.endSegmentIndex){_e(Y);continue}S=!1,E=0,w=Y.startSegmentIndex,T=0,k=Y.startSegmentIndex,D=0,A();let V=Y.startSegmentIndex;for(;V<Y.endSegmentIndex;){let ee=a[V],Ae=ee==="space"||ee==="preserved-space"||ee==="tab"||ee==="zero-width-break"||ee==="soft-hyphen",B=ee==="tab"?Hg(E,u):r[V];if(ee==="soft-hyphen"){S&&(k=V+1,D=0,P=V+1,_=E+s,b=E+s,v=ee),V++;continue}if(!S){B>t&&l[V]!==null?H(V,0):N(V,B),ne(ee,Ae,V,B),V++;continue}if(E+B>x){let I=E+(ee==="tab"?0:i[V]),ue=E+(ee==="tab"?B:o[V]);if(v==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){R(P,0,b);continue}if(v==="soft-hyphen"&&J(V)){V++;continue}if(Ae&&I<=x){U(V,B),R(V+1,0,ue),V++;continue}if(P>=0&&_<=x){if(k>P||k===P&&D>0){R();continue}let ae=P;R(ae,0,b),V=ae;continue}if(B>t&&l[V]!==null){R(),H(V,0),V++;continue}R();continue}U(V,B),ne(ee,Ae,V,B),V++}if(S){let ee=P===Y.consumedEndSegmentIndex?b:E;R(Y.consumedEndSegmentIndex,0,ee)}}return y}var $o=null;function Ug(){return $o===null&&($o=new Intl.Segmenter(void 0,{granularity:"grapheme"})),$o}function Wg(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Vg(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,x){r=[m],i=f,o=x,a=Gr(m),l=Pn.has(m)}function c(m,f){r.push(m),o=o||f;let x=Gr(m);m.length===1&&ct.has(m)?a=a||x:a=x,l=!1}for(let m of Ug().segment(e)){let f=m.segment,x=We(f);if(r.length===0){u(f,m.index,x);continue}if(l||Pr.has(f)||ct.has(f)||t.carryCJKAfterClosingQuote&&x&&a){c(f,x);continue}if(!o&&!x){c(f,x);continue}s(),u(f,m.index,x)}return s(),n}function zg(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=We(e[0].text),o=Ir(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=We(s.text),c=Ir(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function $g(e,t,n,r){let i=zt(),{cache:o,emojiCorrection:a}=Oc(t,Ic(e.normalized)),l=dt("-",tt("-",o),a),u=dt(" ",tt(" ",o),a)*8;if(e.len===0)return Wg(n);let c=[],m=[],f=[],x=[],y=e.chunks.length<=1,E=n?[]:null,S=[],w=n?[]:null,T=Array.from({length:e.len});function k(b,v,A,R,N,G,U){N!=="text"&&N!=="space"&&N!=="zero-width-break"&&(y=!1),c.push(v),m.push(A),f.push(R),x.push(N),E?.push(G),S.push(U),w!==null&&w.push(b)}function D(b,v,A,R,N){let G=tt(b,o),U=dt(b,G,a),ne=v==="space"||v==="preserved-space"||v==="zero-width-break"?0:U,H=v==="space"||v==="zero-width-break"?0:U;if(N&&R&&b.length>1){let J="sum-graphemes";In(b)?J="pair-context":i.preferPrefixWidthsForBreakableRuns&&(J="segment-prefixes");let _e=Pc(b,G,o,a,J);k(b,U,ne,H,v,A,_e);return}k(b,U,ne,H,v,A,null)}for(let b=0;b<e.len;b++){T[b]=c.length;let v=e.texts[b],A=e.isWordLike[b],R=e.kinds[b],N=e.starts[b];if(R==="soft-hyphen"){k(v,0,l,l,R,N,null);continue}if(R==="hard-break"){k(v,0,0,0,R,N,null);continue}if(R==="tab"){k(v,0,0,0,R,N,null);continue}let G=tt(v,o);if(R==="text"&&G.containsCJK){let U=Vg(v,i),ne=r==="keep-all"?zg(U):U;for(let H=0;H<ne.length;H++){let J=ne[H];D(J.text,"text",N+J.start,A,r==="keep-all"||!We(J.text))}continue}D(v,R,N,A,!0)}let P=qg(e.chunks,T,c.length),_=E===null?null:Sc(e.normalized,E);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:y,segLevels:_,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:y,segLevels:_,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P}}function qg(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function jg(e,t,n,r){let i=r?.wordBreak??"normal",o=Nc(e,zt(),r?.whiteSpace,i);return $g(o,t,n,i)}function Uc(e,t,n){return jg(e,t,!1,n)}function Wc(e,t,n){let r=Gc(e,t);return{lineCount:r,height:r*n}}var Kg={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Vc(e,t){let n={...Kg,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=Uc(e,o),{lineCount:l}=Wc(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};Hu();window.__hyperframes={fitTextFontSize:Vc,getVariables:pa};function zc(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,bc())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zc,{once:!0}):zc();})();\n';
58578
+ RUNTIME_IIFE = '"use strict";(()=>{var xd=Object.create;var Qr=Object.defineProperty;var bd=Object.getOwnPropertyDescriptor;var yd=Object.getOwnPropertyNames;var Sd=Object.getPrototypeOf,Ed=Object.prototype.hasOwnProperty;var vd=(e,t,n)=>t in e?Qr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Cd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of yd(t))!Ed.call(e,i)&&i!==n&&Qr(e,i,{get:()=>t[i],enumerable:!(r=bd(t,i))||r.enumerable});return e};var _d=(e,t,n)=>(n=e!=null?xd(Sd(e)):{},Cd(t||!e||!e.__esModule?Qr(n,"default",{value:e,enumerable:!0}):n,e));var he=(e,t,n)=>vd(e,typeof t!="symbol"?t+"":t,n);var Bs=Z((ry,Wi)=>{var K=String,Hs=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};Wi.exports=Hs();Wi.exports.createColors=Hs});var Vi=Z(()=>{});var or=Z((ay,Vs)=>{"use strict";var Us=Bs(),Ws=Vi(),fn=class e extends Error{constructor(t,n,r,i,o,a){super(t),this.name="CssSyntaxError",this.reason=t,o&&(this.file=o),i&&(this.source=i),a&&(this.plugin=a),typeof n<"u"&&typeof r<"u"&&(typeof n=="number"?(this.line=n,this.column=r):(this.line=n.line,this.column=n.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(t){if(!this.source)return"";let n=this.source;t==null&&(t=Us.isColorSupported);let r=c=>c,i=c=>c,o=c=>c;if(t){let{bold:c,gray:m,red:f}=Us.createColors(!0);i=x=>c(f(x)),r=x=>m(x),Ws&&(o=x=>Ws(x))}let a=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),s=Math.min(this.line+2,a.length),u=String(s).length;return a.slice(l,s).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let C=20,y=Math.max(0,this.column-C),w=Math.max(this.column+C,this.endColumn+C),T=c.slice(y,w),k=r(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,C-1)).replace(/[^\\t]/g," ");return i(">")+r(x)+o(T)+`\n `+k+i("^")}let E=r(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return i(">")+r(x)+o(c)+`\n `+E+i("^")}return" "+r(x)+o(c)}).join(`\n`)}toString(){let t=this.showSourceCode();return t&&(t=`\n\n`+t+`\n`),this.name+": "+this.message+t}};Vs.exports=fn;fn.default=fn});var zi=Z((sy,$s)=>{"use strict";var vm=/(<)(\\/?style\\b)/gi,Cm=/(<)(!--)/g;function ot(e){return typeof e!="string"||!e.includes("<")?e:e.replace(vm,"\\\\3c $2").replace(Cm,"\\\\3c $2")}var zs={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function _m(e){return e[0].toUpperCase()+e.slice(1)}var mn=class{constructor(t){this.builder=t}atrule(t,n){let r=t.raws,i="@"+t.name,o=t.params?this.rawValue(t,"params"):"";if(typeof r.afterName<"u"?i+=r.afterName:o&&(i+=" "),t.nodes)this.block(t,i+o);else{let a=(r.between||"")+(n?";":"");this.builder(ot(i+o+a),t)}}beforeAfter(t,n){let r;t.type==="decl"?r=this.raw(t,null,"beforeDecl"):t.type==="comment"?r=this.raw(t,null,"beforeComment"):n==="before"?r=this.raw(t,null,"beforeRule"):r=this.raw(t,null,"beforeClose");let i=t.parent,o=0;for(;i&&i.type!=="root";)o+=1,i=i.parent;if(r.includes(`\n`)){let a=this.raw(t,null,"indent");if(a.length)for(let l=0;l<o;l++)r+=a}return r}block(t,n){let r=this.raw(t,"between","beforeOpen");this.builder(ot(n+r)+"{",t,"start");let i;t.nodes&&t.nodes.length?(this.body(t),i=this.raw(t,"after")):i=this.raw(t,"after","emptyBody"),i&&this.builder(ot(i)),this.builder("}",t,"end")}body(t){let n=t.nodes,r=n.length-1;for(;r>0&&n[r].type==="comment";)r-=1;let i=this.raw(t,"semicolon"),o=t.type==="document";for(let a=0;a<n.length;a++){let l=n[a],s=this.raw(l,"before");s&&this.builder(o?s:ot(s)),this.stringify(l,r!==a||i)}}comment(t){let n=this.raw(t,"left","commentLeft"),r=this.raw(t,"right","commentRight");this.builder(ot("/*"+n+t.text+r+"*/"),t)}decl(t,n){let r=t.raws,i=this.raw(t,"between","colon"),o=t.prop+i+this.rawValue(t,"value");t.important&&(o+=r.important||" !important"),n&&(o+=";"),this.builder(ot(o),t)}document(t){this.body(t)}raw(t,n,r){let i;if(r||(r=n),n&&(i=t.raws[n],typeof i<"u"))return i;let o=t.parent;if(r==="before"&&(!o||o.type==="root"&&o.first===t||o&&o.type==="document"))return"";if(!o)return zs[r];let a=t.root(),l=a.rawCache||(a.rawCache={});if(typeof l[r]<"u")return l[r];if(r==="before"||r==="after")return this.beforeAfter(t,r);{let s="raw"+_m(r);this[s]?i=this[s](a,t):a.walk(u=>{if(i=u.raws[n],typeof i<"u")return!1})}return typeof i>"u"&&(i=zs[r]),l[r]=i,i}rawBeforeClose(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after<"u")return n=r.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(t,n){let r;return t.walkComments(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeDecl"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeDecl(t,n){let r;return t.walkDecls(i=>{if(typeof i.raws.before<"u")return r=i.raws.before,r.includes(`\n`)&&(r=r.replace(/[^\\n]+$/,"")),!1}),typeof r>"u"?r=this.raw(n,null,"beforeRule"):r&&(r=r.replace(/\\S/g,"")),r}rawBeforeOpen(t){let n;return t.walk(r=>{if(r.type!=="decl"&&(n=r.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(t){let n;return t.walk(r=>{if(r.nodes&&(r.parent!==t||t.first!==r)&&typeof r.raws.before<"u")return n=r.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(t){let n;return t.walkDecls(r=>{if(typeof r.raws.between<"u")return n=r.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length===0&&(n=r.raws.after,typeof n<"u"))return!1}),n}rawIndent(t){if(t.raws.indent)return t.raws.indent;let n;return t.walk(r=>{let i=r.parent;if(i&&i!==t&&i.parent&&i.parent===t&&typeof r.raws.before<"u"){let o=r.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(t){let n;return t.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(n=r.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(t,n){let r=t[n],i=t.raws[n];return i&&i.value===r?i.raw:r}root(t){if(this.body(t),t.raws.after){let n=t.raws.after,r=t.parent&&t.parent.type==="document";this.builder(r?n:ot(n))}}rule(t){this.block(t,this.rawValue(t,"selector")),t.raws.ownSemicolon&&this.builder(ot(t.raws.ownSemicolon),t,"end")}stringify(t,n){if(!this[t.type])throw new Error("Unknown AST node type "+t.type+". Maybe you need to change PostCSS stringifier.");this[t.type](t,n)}};$s.exports=mn;mn.default=mn});var pn=Z((ly,qs)=>{"use strict";var Am=zi();function $i(e,t){new Am(t).stringify(e)}qs.exports=$i;$i.default=$i});var ar=Z((uy,qi)=>{"use strict";qi.exports.isClean=Symbol("isClean");qi.exports.my=Symbol("my")});var xn=Z((cy,js)=>{"use strict";var wm=or(),Tm=zi(),Rm=pn(),{isClean:hn,my:Fm}=ar();function ji(e,t){let n=new e.constructor;for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r)||r==="proxyCache")continue;let i=e[r],o=typeof i;r==="parent"&&o==="object"?t&&(n[r]=t):r==="source"?n[r]=i:Array.isArray(i)?n[r]=i.map(a=>ji(a,n)):(o==="object"&&i!==null&&(i=ji(i)),n[r]=i)}return n}function Je(e,t){if(t&&typeof t.offset<"u")return t.offset;let n=1,r=1,i=0;for(let o=0;o<e.length;o++){if(r===t.line&&n===t.column){i=o;break}e[o]===`\n`?(n=1,r+=1):n+=1}return i}var gn=class{get proxyOf(){return this}constructor(t={}){this.raws={},this[hn]=!1,this[Fm]=!0;for(let n in t)if(n==="nodes"){this.nodes=[];for(let r of t[n])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}else this[n]=t[n]}addToError(t){if(t.postcssNode=this,t.stack&&this.source&&/\\n\\s{4}at /.test(t.stack)){let n=this.source;t.stack=t.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return t}after(t){return this.parent.insertAfter(this,t),this}assign(t={}){for(let n in t)this[n]=t[n];return this}before(t){return this.parent.insertBefore(this,t),this}cleanRaws(t){delete this.raws.before,delete this.raws.after,t||delete this.raws.between}clone(t={}){let n=ji(this);for(let r in t)n[r]=t[r];return n}cloneAfter(t={}){let n=this.clone(t);return this.parent.insertAfter(this,n),n}cloneBefore(t={}){let n=this.clone(t);return this.parent.insertBefore(this,n),n}error(t,n={}){if(this.source){let{end:r,start:i}=this.rangeBy(n);return this.source.input.error(t,{column:i.column,line:i.line},{column:r.column,line:r.line},n)}return new wm(t)}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:n==="root"?()=>t.root().toProxy():t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&t.markDirty()),!0}}}markClean(){this[hn]=!0}markDirty(){if(this[hn]){this[hn]=!1;let t=this;for(;t=t.parent;)t[hn]=!1}}next(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t+1]}positionBy(t={}){let n=this.source.start;if(t.index)n=this.positionInside(t.index);else if(t.word){let r="document"in this.source.input?this.source.input.document:this.source.input.css,o=r.slice(Je(r,this.source.start),Je(r,this.source.end)).indexOf(t.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(t){let n=this.source.start.column,r=this.source.start.line,i="document"in this.source.input?this.source.input.document:this.source.input.css,o=Je(i,this.source.start),a=o+t;for(let l=o;l<a;l++)i[l]===`\n`?(n=1,r+=1):n+=1;return{column:n,line:r,offset:a}}prev(){if(!this.parent)return;let t=this.parent.index(this);return this.parent.nodes[t-1]}rangeBy(t={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,r={column:this.source.start.column,line:this.source.start.line,offset:Je(n,this.source.start)},i=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Je(n,this.source.end)+1}:{column:r.column+1,line:r.line,offset:r.offset+1};if(t.word){let a=n.slice(Je(n,this.source.start),Je(n,this.source.end)).indexOf(t.word);a!==-1&&(r=this.positionInside(a),i=this.positionInside(a+t.word.length))}else t.start?r={column:t.start.column,line:t.start.line,offset:Je(n,t.start)}:t.index&&(r=this.positionInside(t.index)),t.end?i={column:t.end.column,line:t.end.line,offset:Je(n,t.end)}:typeof t.endIndex=="number"?i=this.positionInside(t.endIndex):t.index&&(i=this.positionInside(t.index+1));return(i.line<r.line||i.line===r.line&&i.column<=r.column)&&(i={column:r.column+1,line:r.line,offset:r.offset+1}),{end:i,start:r}}raw(t,n){return new Tm().raw(this,t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...t){if(this.parent){let n=this,r=!1;for(let i of t)i===this?r=!0:r?(this.parent.insertAfter(n,i),n=i):this.parent.insertBefore(n,i);r||this.remove()}return this}root(){let t=this;for(;t.parent&&t.parent.type!=="document";)t=t.parent;return t}toJSON(t,n){let r={},i=n==null;n=n||new Map;let o=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let l=this[a];if(Array.isArray(l))r[a]=l.map(s=>typeof s=="object"&&s.toJSON?s.toJSON(null,n):s);else if(typeof l=="object"&&l.toJSON)r[a]=l.toJSON(null,n);else if(a==="source"){if(l==null)continue;let s=n.get(l.input);s==null&&(s=o,n.set(l.input,o),o++),r[a]={end:l.end,inputId:s,start:l.start}}else r[a]=l}return i&&(r.inputs=[...n.keys()].map(a=>a.toJSON())),r}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(t=Rm){t.stringify&&(t=t.stringify);let n="";return t(this,r=>{n+=r}),n}warn(t,n,r={}){let i={node:this};for(let o in r)i[o]=r[o];return t.warn(n,i)}};js.exports=gn;gn.default=gn});var yn=Z((dy,Ks)=>{"use strict";var Lm=xn(),bn=class extends Lm{constructor(t){super(t),this.type="comment"}};Ks.exports=bn;bn.default=bn});var En=Z((fy,Ys)=>{"use strict";var Nm=xn(),Sn=class extends Nm{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(t){t&&typeof t.value<"u"&&typeof t.value!="string"&&(t={...t,value:String(t.value)}),super(t),this.type="decl"}};Ys.exports=Sn;Sn.default=Sn});var at=Z((my,il)=>{"use strict";var Xs=yn(),Js=En(),km=xn(),{isClean:Qs,my:Zs}=ar(),Ki,el,tl,Yi;function nl(e){return e.map(t=>(t.nodes&&(t.nodes=nl(t.nodes)),delete t.source,t))}function rl(e){if(e[Qs]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)rl(t)}var Ue=class e extends km{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...t){for(let n of t){let r=this.normalize(n,this.last);for(let i of r)this.proxyOf.nodes.push(i)}return this.markDirty(),this}cleanRaws(t){if(super.cleanRaws(t),this.nodes)for(let n of this.nodes)n.cleanRaws(t)}each(t){if(!this.proxyOf.nodes)return;let n=this.getIterator(),r,i;for(;this.indexes[n]<this.proxyOf.nodes.length&&(r=this.indexes[n],i=t(this.proxyOf.nodes[r],r),i!==!1);)this.indexes[n]+=1;return delete this.indexes[n],i}every(t){return this.nodes.every(t)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t=this.lastEach;return this.indexes[t]=0,t}getProxyProcessor(){return{get(t,n){return n==="proxyOf"?t:t[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...r)=>t[n](...r.map(i=>typeof i=="function"?(o,a)=>i(o.toProxy(),a):i)):n==="every"||n==="some"?r=>t[n]((i,...o)=>r(i.toProxy(),...o)):n==="root"?()=>t.root().toProxy():n==="nodes"?t.nodes.map(r=>r.toProxy()):n==="first"||n==="last"?t[n].toProxy():t[n]:t[n]},set(t,n,r){return t[n]===r||(t[n]=r,(n==="name"||n==="params"||n==="selector")&&t.markDirty()),!0}}}index(t){return typeof t=="number"?t:(t.proxyOf&&(t=t.proxyOf),this.proxyOf.nodes.indexOf(t))}insertAfter(t,n){let r=this.index(t),i=this.normalize(n,this.proxyOf.nodes[r]).reverse();r=this.index(t);for(let a of i)this.proxyOf.nodes.splice(r+1,0,a);let o;for(let a in this.indexes)o=this.indexes[a],r<o&&(this.indexes[a]=o+i.length);return this.markDirty(),this}insertBefore(t,n){let r=this.index(t),i=r===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[r],i).reverse();r=this.index(t);for(let l of o)this.proxyOf.nodes.splice(r,0,l);let a;for(let l in this.indexes)a=this.indexes[l],r<=a&&(this.indexes[l]=a+o.length);return this.markDirty(),this}normalize(t,n){if(typeof t=="string")t=nl(el(t).nodes);else if(typeof t>"u")t=[];else if(Array.isArray(t)){t=t.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type==="root"&&this.type!=="document"){t=t.nodes.slice(0);for(let i of t)i.parent&&i.parent.removeChild(i,"ignore")}else if(t.type)t=[t];else if(t.prop){if(typeof t.value>"u")throw new Error("Value field is missed in node creation");typeof t.value!="string"&&(t.value=String(t.value)),t=[new Js(t)]}else if(t.selector||t.selectors)t=[new Yi(t)];else if(t.name)t=[new Ki(t)];else if(t.text)t=[new Xs(t)];else throw new Error("Unknown node type in node creation");return t.map(i=>(i[Zs]||e.rebuild(i),i=i.proxyOf,i.parent&&i.parent.removeChild(i),i[Qs]&&rl(i),i.raws||(i.raws={}),typeof i.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(i.raws.before=n.raws.before.replace(/\\S/g,"")),i.parent=this.proxyOf,i))}prepend(...t){t=t.reverse();for(let n of t){let r=this.normalize(n,this.first,"prepend").reverse();for(let i of r)this.proxyOf.nodes.unshift(i);for(let i in this.indexes)this.indexes[i]=this.indexes[i]+r.length}return this.markDirty(),this}push(t){return t.parent=this,this.proxyOf.nodes.push(t),this}removeAll(){for(let t of this.proxyOf.nodes)t.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(t){t=this.index(t),this.proxyOf.nodes[t].parent=void 0,this.proxyOf.nodes.splice(t,1);let n;for(let r in this.indexes)n=this.indexes[r],n>=t&&(this.indexes[r]=n-1);return this.markDirty(),this}replaceValues(t,n,r){return r||(r=n,n={}),this.walkDecls(i=>{n.props&&!n.props.includes(i.prop)||n.fast&&!i.value.includes(n.fast)||(i.value=i.value.replace(t,r))}),this.markDirty(),this}some(t){return this.nodes.some(t)}walk(t){return this.each((n,r)=>{let i;try{i=t(n,r)}catch(o){throw n.addToError(o)}return i!==!1&&n.walk&&(i=n.walk(t)),i})}walkAtRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="atrule"&&t.test(r.name))return n(r,i)}):this.walk((r,i)=>{if(r.type==="atrule"&&r.name===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="atrule")return n(r,i)}))}walkComments(t){return this.walk((n,r)=>{if(n.type==="comment")return t(n,r)})}walkDecls(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="decl"&&t.test(r.prop))return n(r,i)}):this.walk((r,i)=>{if(r.type==="decl"&&r.prop===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="decl")return n(r,i)}))}walkRules(t,n){return n?t instanceof RegExp?this.walk((r,i)=>{if(r.type==="rule"&&t.test(r.selector))return n(r,i)}):this.walk((r,i)=>{if(r.type==="rule"&&r.selector===t)return n(r,i)}):(n=t,this.walk((r,i)=>{if(r.type==="rule")return n(r,i)}))}};Ue.registerParse=e=>{el=e};Ue.registerRule=e=>{Yi=e};Ue.registerAtRule=e=>{Ki=e};Ue.registerRoot=e=>{tl=e};il.exports=Ue;Ue.default=Ue;Ue.rebuild=e=>{e.type==="atrule"?Object.setPrototypeOf(e,Ki.prototype):e.type==="rule"?Object.setPrototypeOf(e,Yi.prototype):e.type==="decl"?Object.setPrototypeOf(e,Js.prototype):e.type==="comment"?Object.setPrototypeOf(e,Xs.prototype):e.type==="root"&&Object.setPrototypeOf(e,tl.prototype),e[Zs]=!0,e.nodes&&e.nodes.forEach(t=>{Ue.rebuild(t)})}});var sr=Z((py,al)=>{"use strict";var ol=at(),It=class extends ol{constructor(t){super(t),this.type="atrule"}append(...t){return this.proxyOf.nodes||(this.nodes=[]),super.append(...t)}prepend(...t){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...t)}};al.exports=It;It.default=It;ol.registerAtRule(It)});var lr=Z((hy,ul)=>{"use strict";var Mm=at(),sl,ll,xt=class extends Mm{constructor(t){super({type:"document",...t}),this.nodes||(this.nodes=[])}toResult(t={}){return new sl(new ll,this,t).stringify()}};xt.registerLazyResult=e=>{sl=e};xt.registerProcessor=e=>{ll=e};ul.exports=xt;xt.default=xt});var dl=Z((gy,cl)=>{var Dm="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Im=(e,t=21)=>(n=t)=>{let r="",i=n|0;for(;i--;)r+=e[Math.random()*e.length|0];return r},Pm=(e=21)=>{let t="",n=e|0;for(;n--;)t+=Dm[Math.random()*64|0];return t};cl.exports={nanoid:Pm,customAlphabet:Im}});var ur=Z(()=>{});var cr=Z(()=>{});var Xi=Z(()=>{});var fl=Z(()=>{});var Qi=Z((Ay,hl)=>{"use strict";var{existsSync:Om,readFileSync:Gm}=fl(),{dirname:Ji,join:Hm}=ur(),{SourceMapConsumer:ml,SourceMapGenerator:pl}=cr();function Bm(e){return Buffer?Buffer.from(e,"base64").toString():window.atob(e)}var vn=class{constructor(t,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(t),this.inline=this.startWith(this.annotation,"data:");let r=n.map?n.map.prev:void 0,i=this.loadMap(n.from,r);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=Ji(this.mapFile)),i&&(this.text=i)}consumer(){return this.consumerCache||(this.consumerCache=new ml(this.json||this.text)),this.consumerCache}decodeInline(t){let n=/^data:application\\/json;charset=utf-?8;base64,/,r=/^data:application\\/json;base64,/,i=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,a=t.match(i)||t.match(o);if(a)return decodeURIComponent(t.substr(a[0].length));let l=t.match(n)||t.match(r);if(l)return Bm(t.substr(l[0].length));let s=t.slice(22);throw s=s.slice(0,s.indexOf(",")),new Error("Unsupported source map encoding "+s)}getAnnotationURL(t){return t.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(t){return typeof t!="object"?!1:typeof t.mappings=="string"||typeof t._mappings=="string"||Array.isArray(t.sections)}loadAnnotation(t){let n=t.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let r=t.lastIndexOf(n.pop()),i=t.indexOf("*/",r);r>-1&&i>-1&&(this.annotation=this.getAnnotationURL(t.substring(r,i)))}loadFile(t,n,r){if(!(!r&&!this.unsafeMap&&!/\\.map$/i.test(t))&&(this.root=Ji(t),Om(t)))return this.mapFile=t,Gm(t,"utf-8").toString().trim()}loadMap(t,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let r=n(t);if(r){let i=this.loadFile(r,t,!0);if(!i)throw new Error("Unable to load previous source map: "+r.toString());return i}}else{if(n instanceof ml)return pl.fromSourceMap(n).toString();if(n instanceof pl)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let r=this.annotation;t&&(r=Hm(Ji(t),r));let i=this.loadFile(r,t,!1);if(i)try{this.json=JSON.parse(i.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return i}}}startWith(t,n){return t?t.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};hl.exports=vn;vn.default=vn});var Cn=Z((wy,Sl)=>{"use strict";var{nanoid:Um}=dl(),{isAbsolute:to,resolve:no}=ur(),{SourceMapConsumer:Wm,SourceMapGenerator:Vm}=cr(),{fileURLToPath:gl,pathToFileURL:dr}=Xi(),xl=or(),zm=Qi(),Zi=Vi(),eo=Symbol("lineToIndexCache"),$m=!!(Wm&&Vm),bl=!!(no&&to);function yl(e){if(e[eo])return e[eo];let t=e.css.split(`\n`),n=new Array(t.length),r=0;for(let i=0,o=t.length;i<o;i++)n[i]=r,r+=t[i].length+1;return e[eo]=n,n}var Pt=class{get from(){return this.file||this.id}constructor(t,n={}){if(t===null||typeof t>"u"||typeof t=="object"&&!t.toString)throw new Error(`PostCSS received ${t} instead of CSS string`);if(this.css=t.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!bl||/^\\w+:\\/\\//.test(n.from)||to(n.from)?this.file=n.from:this.file=no(n.from)),bl&&$m){let r=new zm(this.css,n);if(r.text){this.map=r;let i=r.consumer().file;!this.file&&i&&(this.file=this.mapResolve(i))}}this.file||(this.id="<input css "+Um(6)+">"),this.map&&(this.map.file=this.from)}error(t,n,r,i={}){let o,a,l,s,u;if(n&&typeof n=="object"){let m=n,f=r;if(typeof m.offset=="number"){s=m.offset;let x=this.fromOffset(s);n=x.line,r=x.col}else n=m.line,r=m.column,s=this.fromLineAndColumn(n,r);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);a=x.line,o=x.col}else a=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(r)s=this.fromLineAndColumn(n,r);else{s=n;let m=this.fromOffset(s);n=m.line,r=m.col}let c=this.origin(n,r,a,o);return c?u=new xl(t,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,i.plugin):u=new xl(t,a===void 0?n:{column:r,line:n},a===void 0?r:{column:o,line:a},this.css,this.file,i.plugin),u.input={column:r,endColumn:o,endLine:a,endOffset:l,line:n,offset:s,source:this.css},this.file&&(dr&&(u.input.url=dr(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(t,n){return yl(this)[t-1]+n-1}fromOffset(t){let n=yl(this),r=n[n.length-1],i=0;if(t>=r)i=n.length-1;else{let o=n.length-2,a;for(;i<o;)if(a=i+(o-i>>1),t<n[a])o=a-1;else if(t>=n[a+1])i=a+1;else{i=a;break}}return{col:t-n[i]+1,line:i+1}}mapResolve(t){return/^\\w+:\\/\\//.test(t)?t:no(this.map.consumer().sourceRoot||this.map.root||".",t)}origin(t,n,r,i){if(!this.map)return!1;let o=this.map.consumer(),a=o.originalPositionFor({column:n,line:t});if(!a.source)return!1;let l;typeof r=="number"&&(l=o.originalPositionFor({column:i,line:r}));let s;to(a.source)?s=dr(a.source):s=new URL(a.source,this.map.consumer().sourceRoot||dr(this.map.mapFile));let u={column:a.column,endColumn:l&&l.column,endLine:l&&l.line,line:a.line,url:s.toString()};if(s.protocol==="file:")if(gl)u.file=gl(s);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(a.source);return c&&(u.source=c),u}toJSON(){let t={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(t[n]=this[n]);return this.map&&(t.map={...this.map},t.map.consumerCache&&(t.map.consumerCache=void 0)),t}};Sl.exports=Pt;Pt.default=Pt;Zi&&Zi.registerInput&&Zi.registerInput(Pt)});var Ot=Z((Ty,_l)=>{"use strict";var El=at(),vl,Cl,st=class extends El{constructor(t){super(t),this.type="root",this.nodes||(this.nodes=[])}normalize(t,n,r){let i=super.normalize(t);if(n){if(r==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of i)o.raws.before=n.raws.before}return i}removeChild(t,n){let r=this.index(t);return!n&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(t)}toResult(t={}){return new vl(new Cl,this,t).stringify()}};st.registerLazyResult=e=>{vl=e};st.registerProcessor=e=>{Cl=e};_l.exports=st;st.default=st;El.registerRoot(st)});var ro=Z((Ry,Al)=>{"use strict";var _n={comma(e){return _n.split(e,[","],!0)},space(e){let t=[" ",`\n`," "];return _n.split(e,t)},split(e,t,n){let r=[],i="",o=!1,a=0,l=!1,s="",u=!1;for(let c of e)u?u=!1:c==="\\\\"?u=!0:l?c===s&&(l=!1):c===\'"\'||c==="\'"?(l=!0,s=c):c==="("?a+=1:c===")"?a>0&&(a-=1):a===0&&t.includes(c)&&(o=!0),o?(i!==""&&r.push(i.trim()),i="",o=!1):i+=c;return(n||i!=="")&&r.push(i.trim()),r}};Al.exports=_n;_n.default=_n});var fr=Z((Fy,Tl)=>{"use strict";var wl=at(),qm=ro(),Gt=class extends wl{get selectors(){return qm.comma(this.selector)}set selectors(t){let n=this.selector?this.selector.match(/,\\s*/):null,r=n?n[0]:","+this.raw("between","beforeOpen");this.selector=t.join(r)}constructor(t){super(t),this.type="rule",this.nodes||(this.nodes=[])}};Tl.exports=Gt;Gt.default=Gt;wl.registerRule(Gt)});var Fl=Z((Ly,Rl)=>{"use strict";var jm=sr(),Km=yn(),Ym=En(),Xm=Cn(),Jm=Qi(),Qm=Ot(),Zm=fr();function An(e,t){if(Array.isArray(e))return e.map(i=>An(i));let{inputs:n,...r}=e;if(n){t=[];for(let i of n){let o={...i,__proto__:Xm.prototype};o.map&&(o.map={...o.map,__proto__:Jm.prototype}),t.push(o)}}if(r.nodes&&(r.nodes=e.nodes.map(i=>An(i,t))),r.source){let{inputId:i,...o}=r.source;r.source=o,i!=null&&(r.source.input=t[i])}if(r.type==="root")return new Qm(r);if(r.type==="decl")return new Ym(r);if(r.type==="rule")return new Zm(r);if(r.type==="comment")return new Km(r);if(r.type==="atrule")return new jm(r);throw new Error("Unknown node type: "+e.type)}Rl.exports=An;An.default=An});var oo=Z((Ny,Il)=>{"use strict";var{dirname:mr,relative:Nl,resolve:kl,sep:Ml}=ur(),{SourceMapConsumer:Dl,SourceMapGenerator:pr}=cr(),{pathToFileURL:Ll}=Xi(),ep=Cn(),tp=!!(Dl&&pr),np=!!(mr&&kl&&Nl&&Ml),io=class{constructor(t,n,r,i){this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r,this.css=i,this.originalCSS=i,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let t;this.isInline()?t="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?t=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?t=this.mapOpts.annotation(this.opts.to,this.root):t=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+t+" */"}applyPrevMaps(){for(let t of this.previous()){let n=this.toUrl(this.path(t.file)),r=t.root||mr(t.file),i;this.mapOpts.sourcesContent===!1?(i=new Dl(t.text),i.sourcesContent&&(i.sourcesContent=null)):i=t.consumer(),this.map.applySourceMap(i,n,this.toUrl(this.path(r)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let t;for(let n=this.root.nodes.length-1;n>=0;n--)t=this.root.nodes[n],t.type==="comment"&&t.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let t;for(;(t=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",t+3);if(n===-1)break;for(;t>0&&this.css[t-1]===`\n`;)t--;this.css=this.css.slice(0,t)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),np&&tp&&this.isMap())return this.generateMap();{let t="";return this.stringify(this.root,n=>{t+=n}),[t]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let t=this.previous()[0].consumer();t.file=this.outputFile(),this.map=pr.fromSourceMap(t,{ignoreInvalidMapping:!0})}else this.map=new pr({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new pr({file:this.outputFile(),ignoreInvalidMapping:!0});let t=1,n=1,r="<no source>",i={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,a;this.stringify(this.root,(l,s,u)=>{if(this.css+=l,s&&u!=="end"&&(i.generated.line=t,i.generated.column=n-1,s.source&&s.source.start?(i.source=this.sourcePath(s),i.original.line=s.source.start.line,i.original.column=s.source.start.column-1,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,this.map.addMapping(i))),a=l.match(/\\n/g),a?(t+=a.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,s&&u!=="start"){let c=s.parent||{raws:{}};(!(s.type==="decl"||s.type==="atrule"&&!s.nodes)||s!==c.last||c.raws.semicolon)&&(s.source&&s.source.end?(i.source=this.sourcePath(s),i.original.line=s.source.end.line,i.original.column=s.source.end.column-1,i.generated.line=t,i.generated.column=n-2,this.map.addMapping(i)):(i.source=r,i.original.line=1,i.original.column=0,i.generated.line=t,i.generated.column=n-1,this.map.addMapping(i)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(t=>t.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let t=this.mapOpts.annotation;return typeof t<"u"&&t!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(t=>t.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(t){if(this.mapOpts.absolute||t.charCodeAt(0)===60||/^\\w+:\\/\\//.test(t))return t;let n=this.memoizedPaths.get(t);if(n)return n;let r=this.opts.to?mr(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(r=mr(kl(r,this.mapOpts.annotation)));let i=Nl(r,t);return this.memoizedPaths.set(t,i),i}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(t=>{if(t.source&&t.source.input.map){let n=t.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let t=new ep(this.originalCSS,this.opts);t.map&&this.previousMaps.push(t.map)}return this.previousMaps}setSourcesContent(){let t={};if(this.root)this.root.walk(n=>{if(n.source){let r=n.source.input.from;if(r&&!t[r]){t[r]=!0;let i=this.usesFileUrls?this.toFileUrl(r):this.toUrl(this.path(r));this.map.setSourceContent(i,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(t){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(t.source.input.from):this.toUrl(this.path(t.source.input.from))}toBase64(t){return Buffer?Buffer.from(t).toString("base64"):window.btoa(unescape(encodeURIComponent(t)))}toFileUrl(t){let n=this.memoizedFileURLs.get(t);if(n)return n;if(Ll){let r=Ll(t).toString();return this.memoizedFileURLs.set(t,r),r}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(t){let n=this.memoizedURLs.get(t);if(n)return n;Ml==="\\\\"&&(t=t.replace(/\\\\/g,"/"));let r=encodeURI(t).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(t,r),r}};Il.exports=io});var Gl=Z((ky,Ol)=>{"use strict";var hr=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,gr=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,rp=/.[\\r\\n"\'(/\\\\]/,Pl=/[\\da-f]/i;Ol.exports=function(t,n={}){let r=t.css.valueOf(),i=n.ignoreErrors,o,a,l,s,u,c,m,f,x,E,C=r.length,y=0,w=[],T=[],k=-1;function D(){return y}function P(A){throw t.error("Unclosed "+A,y)}function _(){return T.length===0&&y>=C}function b(A){if(T.length)return T.pop();if(y>=C)return;let R=A?A.ignoreUnclosed:!1;switch(o=r.charCodeAt(y),o){case 10:case 32:case 9:case 13:case 12:{s=y;do s+=1,o=r.charCodeAt(s);while(o===32||o===10||o===9||o===13||o===12);c=["space",r.slice(y,s)],y=s-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let N=String.fromCharCode(o);c=[N,N,y];break}case 40:{if(E=w.length?w.pop()[1]:"",x=r.charCodeAt(y+1),E==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){s=y;do{if(m=!1,s=r.indexOf(")",s+1),s===-1)if(i||R){s=y;break}else P("bracket");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",r.slice(y,s+1),y,s],y=s}else y<=k?c=["(","(",y]:(s=r.indexOf(")",y+1),a=r.slice(y,s+1),s===-1||rp.test(a)?(k=s===-1?C:s,c=["(","(",y]):(c=["brackets",a,y,s],y=s));break}case 39:case 34:{u=o===39?"\'":\'"\',s=y;do{if(m=!1,s=r.indexOf(u,s+1),s===-1)if(i||R){s=y+1;break}else P("string");for(f=s;r.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",r.slice(y,s+1),y,s],y=s;break}case 64:{hr.lastIndex=y+1,hr.test(r),hr.lastIndex===0?s=r.length-1:s=hr.lastIndex-2,c=["at-word",r.slice(y,s+1),y,s],y=s;break}case 92:{for(s=y,l=!0;r.charCodeAt(s+1)===92;)s+=1,l=!l;if(o=r.charCodeAt(s+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(s+=1,Pl.test(r.charAt(s)))){for(;Pl.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===32&&(s+=1)}c=["word",r.slice(y,s+1),y,s],y=s;break}default:{o===47&&r.charCodeAt(y+1)===42?(s=r.indexOf("*/",y+2)+1,s===0&&(i||R?s=r.length:P("comment")),c=["comment",r.slice(y,s+1),y,s],y=s):(gr.lastIndex=y+1,gr.test(r),gr.lastIndex===0?s=r.length-1:s=gr.lastIndex-2,c=["word",r.slice(y,s+1),y,s],w.push(c),y=s);break}}return y++,c}function S(A){T.push(A)}return{back:S,endOfFile:_,nextToken:b,position:D}}});var Wl=Z((My,Ul)=>{"use strict";var ip=sr(),op=yn(),ap=En(),sp=Ot(),Hl=fr(),lp=Gl(),Bl={empty:!0,space:!0};function up(e){for(let t=e.length-1;t>=0;t--){let n=e[t],r=n[3]||n[2];if(r)return r}}var ao=class{constructor(t){this.input=t,this.root=new sp,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:t,start:{column:1,line:1,offset:0}}}atrule(t){let n=new ip;n.name=t[1].slice(1),n.name===""&&this.unnamedAtrule(n,t),this.init(n,t[2]);let r,i,o,a=!1,l=!1,s=[],u=[];for(;!this.tokenizer.endOfFile();){if(t=this.tokenizer.nextToken(),r=t[0],r==="("||r==="["?u.push(r==="("?")":"]"):r==="{"&&u.length>0?u.push("}"):r===u[u.length-1]&&u.pop(),u.length===0)if(r===";"){n.source.end=this.getPosition(t[2]),n.source.end.offset++,this.semicolon=!0;break}else if(r==="{"){l=!0;break}else if(r==="}"){if(s.length>0){for(o=s.length-1,i=s[o];i&&i[0]==="space";)i=s[--o];i&&(n.source.end=this.getPosition(i[3]||i[2]),n.source.end.offset++)}this.end(t);break}else s.push(t);else s.push(t);if(this.tokenizer.endOfFile()){a=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(s),s.length?(n.raws.afterName=this.spacesAndCommentsFromStart(s),this.raw(n,"params",s),a&&(t=s[s.length-1],n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),l&&(n.nodes=[],this.current=n)}checkMissedSemicolon(t){let n=this.colon(t);if(n===!1)return;let r=0,i;for(let o=n-1;o>=0&&(i=t[o],!(i[0]!=="space"&&(r+=1,r===2)));o--);throw this.input.error("Missed semicolon",i[0]==="word"?i[3]+1:i[2])}colon(t){let n=0,r,i,o;for(let[a,l]of t.entries()){if(i=l,o=i[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!r)this.doubleColon(i);else{if(r[0]==="word"&&r[1]==="progid")continue;return a}r=i}return!1}comment(t){let n=new op;this.init(n,t[2]),n.source.end=this.getPosition(t[3]||t[2]),n.source.end.offset++;let r=t[1].slice(2,-2);if(!r.trim())n.text="",n.raws.left=r,n.raws.right="";else{let i=r.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=i[2],n.raws.left=i[1],n.raws.right=i[3]}}createTokenizer(){this.tokenizer=lp(this.input)}decl(t,n){let r=new ap;this.init(r,t[0][2]);let i=t[t.length-1];for(i[0]===";"&&(this.semicolon=!0,t.pop()),r.source.end=this.getPosition(i[3]||i[2]||up(t)),r.source.end.offset++;t[0][0]!=="word";)t.length===1&&this.unknownWord(t),r.raws.before+=t.shift()[1];for(r.source.start=this.getPosition(t[0][2]),r.prop="";t.length;){let u=t[0][0];if(u===":"||u==="space"||u==="comment")break;r.prop+=t.shift()[1]}r.raws.between="";let o;for(;t.length;)if(o=t.shift(),o[0]===":"){r.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),r.raws.between+=o[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let a=[],l;for(;t.length&&(l=t[0][0],!(l!=="space"&&l!=="comment"));)a.push(t.shift());this.precheckMissedSemicolon(t);for(let u=t.length-1;u>=0;u--){if(o=t[u],o[1].toLowerCase()==="!important"){r.important=!0;let c=this.stringFrom(t,u);c=this.spacesFromEnd(t)+c,c!==" !important"&&(r.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=t.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(r.important=!0,r.raws.important=m,t=c)}if(o[0]!=="space"&&o[0]!=="comment")break}t.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(r.raws.between+=a.map(u=>u[1]).join(""),a=[]),this.raw(r,"value",a.concat(t),n),r.value.includes(":")&&!n&&this.checkMissedSemicolon(t)}doubleColon(t){throw this.input.error("Double colon",{offset:t[2]},{offset:t[2]+t[1].length})}emptyRule(t){let n=new Hl;this.init(n,t[2]),n.selector="",n.raws.between="",this.current=n}end(t){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(t[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(t)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(t){if(this.spaces+=t[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(t[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(t){let n=this.input.fromOffset(t);return{column:n.col,line:n.line,offset:t}}init(t,n){this.current.push(t),t.source={input:this.input,start:this.getPosition(n)},t.raws.before=this.spaces,this.spaces="",t.type!=="comment"&&(this.semicolon=!1)}other(t){let n=!1,r=null,i=!1,o=null,a=[],l=t[1].startsWith("--"),s=[],u=t;for(;u;){if(r=u[0],s.push(u),r==="("||r==="[")o||(o=u),a.push(r==="("?")":"]");else if(l&&i&&r==="{")o||(o=u),a.push("}");else if(a.length===0)if(r===";")if(i){this.decl(s,l);return}else break;else if(r==="{"){this.rule(s);return}else if(r==="}"){this.tokenizer.back(s.pop()),n=!0;break}else r===":"&&(i=!0);else r===a[a.length-1]&&(a.pop(),a.length===0&&(o=null));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),a.length>0&&this.unclosedBracket(o),n&&i){if(!l)for(;s.length&&(u=s[s.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(s.pop());this.decl(s,l)}else this.unknownWord(s)}parse(){let t;for(;!this.tokenizer.endOfFile();)switch(t=this.tokenizer.nextToken(),t[0]){case"space":this.spaces+=t[1];break;case";":this.freeSemicolon(t);break;case"}":this.end(t);break;case"comment":this.comment(t);break;case"at-word":this.atrule(t);break;case"{":this.emptyRule(t);break;default:this.other(t);break}this.endFile()}precheckMissedSemicolon(){}raw(t,n,r,i){let o,a,l=r.length,s="",u=!0,c,m;for(let f=0;f<l;f+=1)o=r[f],a=o[0],a==="space"&&f===l-1&&!i?u=!1:a==="comment"?(m=r[f-1]?r[f-1][0]:"empty",c=r[f+1]?r[f+1][0]:"empty",!Bl[m]&&!Bl[c]?s.slice(-1)===","?u=!1:s+=o[1]:u=!1):s+=o[1];if(!u){let f=r.reduce((x,E)=>x+E[1],"");t.raws[n]={raw:f,value:s}}t[n]=s}rule(t){t.pop();let n=new Hl;this.init(n,t[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(t),this.raw(n,"selector",t),this.current=n}spacesAndCommentsFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],!(n!=="space"&&n!=="comment"));)r=t.pop()[1]+r;return r}spacesAndCommentsFromStart(t){let n,r="";for(;t.length&&(n=t[0][0],!(n!=="space"&&n!=="comment"));)r+=t.shift()[1];return r}spacesFromEnd(t){let n,r="";for(;t.length&&(n=t[t.length-1][0],n==="space");)r=t.pop()[1]+r;return r}stringFrom(t,n){let r="";for(let i=n;i<t.length;i++)r+=t[i][1];return t.splice(n,t.length-n),r}unclosedBlock(){let t=this.current.source.start;throw this.input.error("Unclosed block",t.line,t.column)}unclosedBracket(t){throw this.input.error("Unclosed bracket",{offset:t[2]},{offset:t[2]+1})}unexpectedClose(t){throw this.input.error("Unexpected }",{offset:t[2]},{offset:t[2]+1})}unknownWord(t){throw this.input.error("Unknown word "+t[0][1],{offset:t[0][2]},{offset:t[0][2]+t[0][1].length})}unnamedAtrule(t,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};Ul.exports=ao});var br=Z((Dy,Vl)=>{"use strict";var cp=at(),dp=Cn(),fp=Wl();function xr(e,t){let n=new dp(e,t),r=new fp(n);try{r.parse()}catch(i){throw i}return r.root}Vl.exports=xr;xr.default=xr;cp.registerParse(xr)});var so=Z((Iy,zl)=>{"use strict";var wn=class{constructor(t,n={}){if(this.type="warning",this.text=t,n.node&&n.node.source){let r=n.node.rangeBy(n);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in n)this[r]=n[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};zl.exports=wn;wn.default=wn});var yr=Z((Py,$l)=>{"use strict";var mp=so(),Tn=class{get content(){return this.css}constructor(t,n,r){this.processor=t,this.messages=[],this.root=n,this.opts=r,this.css="",this.map=void 0}toString(){return this.css}warn(t,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let r=new mp(t,n);return this.messages.push(r),r}warnings(){return this.messages.filter(t=>t.type==="warning")}};$l.exports=Tn;Tn.default=Tn});var lo=Z((Oy,jl)=>{"use strict";var ql={};jl.exports=function(t){ql[t]||(ql[t]=!0,typeof console<"u"&&console.warn&&console.warn(t))}});var fo=Z((Hy,Jl)=>{"use strict";var pp=at(),hp=lr(),gp=oo(),xp=br(),Kl=yr(),bp=Ot(),yp=pn(),{isClean:Ke,my:Sp}=ar(),Gy=lo(),Ep={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},vp={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cp={Once:!0,postcssPlugin:!0,prepare:!0},Ht=0;function Rn(e){return typeof e=="object"&&typeof e.then=="function"}function Xl(e){let t=!1,n=Ep[e.type];return e.type==="decl"?t=e.prop.toLowerCase():e.type==="atrule"&&(t=e.name.toLowerCase()),t&&e.append?[n,n+"-"+t,Ht,n+"Exit",n+"Exit-"+t]:t?[n,n+"-"+t,n+"Exit",n+"Exit-"+t]:e.append?[n,Ht,n+"Exit"]:[n,n+"Exit"]}function Yl(e){let t;return e.type==="document"?t=["Document",Ht,"DocumentExit"]:e.type==="root"?t=["Root",Ht,"RootExit"]:t=Xl(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function uo(e){return e[Ke]=!1,e.nodes&&e.nodes.forEach(t=>uo(t)),e}var co={},lt=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){this.stringified=!1,this.processed=!1;let i;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))i=uo(n);else if(n instanceof e||n instanceof Kl)i=uo(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let o=xp;r.syntax&&(o=r.syntax.parse),r.parser&&(o=r.parser),o.parse&&(o=o.parse);try{i=o(n,r)}catch(a){this.processed=!0,this.error=a}i&&!i[Sp]&&pp.rebuild(i)}this.result=new Kl(t,i,r),this.helpers={...co,postcss:co,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(t,n){let r=this.result.lastPlugin;try{n&&n.addToError(t),this.error=t,t.name==="CssSyntaxError"&&!t.plugin?(t.plugin=r.postcssPlugin,t.setMessage()):r.postcssVersion}catch(i){console&&console.error&&console.error(i)}return t}prepareVisitors(){this.listeners={};let t=(n,r,i)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([n,i])};for(let n of this.plugins)if(typeof n=="object")for(let r in n){if(!vp[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cp[r])if(typeof n[r]=="object")for(let i in n[r])i==="*"?t(n,r,n[r][i]):t(n,r+"-"+i.toLowerCase(),n[r][i]);else typeof n[r]=="function"&&t(n,r,n[r])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t<this.plugins.length;t++){let n=this.plugins[t],r=this.runOnRoot(n);if(Rn(r))try{await r}catch(i){throw this.handleError(i)}}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];){t[Ke]=!0;let n=[Yl(t)];for(;n.length>0;){let r=this.visitTick(n);if(Rn(r))try{await r}catch(i){let o=n[n.length-1].node;throw this.handleError(i,o)}}}if(this.listeners.OnceExit)for(let[n,r]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(t.type==="document"){let i=t.nodes.map(o=>r(o,this.helpers));await Promise.all(i)}else await r(t,this.helpers)}catch(i){throw this.handleError(i)}}}return this.processed=!0,this.stringify()}runOnRoot(t){this.result.lastPlugin=t;try{if(typeof t=="object"&&t.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(r=>t.Once(r,this.helpers));return Rn(n[0])?Promise.all(n):n}return t.Once(this.result.root,this.helpers)}else if(typeof t=="function")return t(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let t=this.result.opts,n=yp;t.syntax&&(n=t.syntax.stringify),t.stringifier&&(n=t.stringifier),n.stringify&&(n=n.stringify);let r=this.result.root.source;if(t.map===void 0&&!(r&&r.input&&r.input.map)){let a="";return n(this.result.root,l=>{a+=l}),this.result.css=a,this.result}let o=new gp(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let t of this.plugins){let n=this.runOnRoot(t);if(Rn(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let t=this.result.root;for(;!t[Ke];)t[Ke]=!0,this.walkSync(t);if(this.listeners.OnceExit)if(t.type==="document")for(let n of t.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,t)}return this.result}then(t,n){return this.async().then(t,n)}toString(){return this.css}visitSync(t,n){for(let[r,i]of t){this.result.lastPlugin=r;let o;try{o=i(n,this.helpers)}catch(a){throw this.handleError(a,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Rn(o))throw this.getAsyncError()}}visitTick(t){let n=t[t.length-1],{node:r,visitors:i}=n;if(r.type!=="root"&&r.type!=="document"&&!r.parent){t.pop();return}if(i.length>0&&n.visitorIndex<i.length){let[a,l]=i[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===i.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=a;try{return l(r.toProxy(),this.helpers)}catch(s){throw this.handleError(s,r)}}if(n.iterator!==0){let a=n.iterator,l;for(;l=r.nodes[r.indexes[a]];)if(r.indexes[a]+=1,!l[Ke]){l[Ke]=!0,t.push(Yl(l));return}n.iterator=0,delete r.indexes[a]}let o=n.events;for(;n.eventIndex<o.length;){let a=o[n.eventIndex];if(n.eventIndex+=1,a===Ht){r.nodes&&r.nodes.length&&(r[Ke]=!0,n.iterator=r.getIterator());return}else if(this.listeners[a]){n.visitors=this.listeners[a];return}}t.pop()}walkSync(t){t[Ke]=!0;let n=Xl(t);for(let r of n)if(r===Ht)t.nodes&&t.each(i=>{i[Ke]||this.walkSync(i)});else{let i=this.listeners[r];if(i&&this.visitSync(i,t.toProxy()))return}}warnings(){return this.sync().warnings()}};lt.registerPostcss=e=>{co=e};Jl.exports=lt;lt.default=lt;bp.registerLazyResult(lt);hp.registerLazyResult(lt)});var Zl=Z((Uy,Ql)=>{"use strict";var _p=oo(),Ap=br(),wp=yr(),Tp=pn(),By=lo(),Fn=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let t,n=Ap;try{t=n(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=t,t}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(t,n,r){n=n.toString(),this.stringified=!1,this._processor=t,this._css=n,this._opts=r,this._map=void 0;let i=Tp;this.result=new wp(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let a=new _p(i,void 0,this._opts,n);if(a.isMap()){let[l,s]=a.generate();l&&(this.result.css=l),s&&(this.result.map=s)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(t){return this.async().catch(t)}finally(t){return this.async().then(t,t)}sync(){if(this.error)throw this.error;return this.result}then(t,n){return this.async().then(t,n)}toString(){return this._css}warnings(){return[]}};Ql.exports=Fn;Fn.default=Fn});var tu=Z((Wy,eu)=>{"use strict";var Rp=lr(),Fp=fo(),Lp=Zl(),Np=Ot(),bt=class{constructor(t=[]){this.version="8.5.14",this.plugins=this.normalize(t)}normalize(t){let n=[];for(let r of t)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))n=n.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)n.push(r);else if(typeof r=="function")n.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return n}process(t,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new Lp(this,t,n):new Fp(this,t,n)}use(t){return this.plugins=this.plugins.concat(this.normalize([t])),this}};eu.exports=bt;bt.default=bt;Np.registerProcessor(bt);Rp.registerProcessor(bt)});var uu=Z((Vy,lu)=>{"use strict";var nu=sr(),ru=yn(),kp=at(),Mp=or(),iu=En(),ou=lr(),Dp=Fl(),Ip=Cn(),Pp=fo(),Op=ro(),Gp=xn(),Hp=br(),mo=tu(),Bp=yr(),au=Ot(),su=fr(),Up=pn(),Wp=so();function le(...e){return e.length===1&&Array.isArray(e[0])&&(e=e[0]),new mo(e)}le.plugin=function(t,n){let r=!1;function i(...a){console&&console.warn&&!r&&(r=!0,console.warn(t+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(t+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...a);return l.postcssPlugin=t,l.postcssVersion=new mo().version,l}let o;return Object.defineProperty(i,"postcss",{get(){return o||(o=i()),o}}),i.process=function(a,l,s){return le([i(s)]).process(a,l)},i};le.stringify=Up;le.parse=Hp;le.fromJSON=Dp;le.list=Op;le.comment=e=>new ru(e);le.atRule=e=>new nu(e);le.decl=e=>new iu(e);le.rule=e=>new su(e);le.root=e=>new au(e);le.document=e=>new ou(e);le.CssSyntaxError=Mp;le.Declaration=iu;le.Container=kp;le.Processor=mo;le.Document=ou;le.Comment=ru;le.Warning=Wp;le.AtRule=nu;le.Result=Bp;le.Input=Ip;le.Rule=su;le.Root=au;le.Node=Gp;Pp.registerPostcss(le);lu.exports=le;le.default=le});function Vn(){return globalThis}function F(e,t){if(typeof window>"u")return;let n=Vn(),r=n.__hf?.onSwallowed;if(r)try{r({label:e,error:t})}catch(i){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${e} swallowed:`,t)}var Ad=["seconds-time","rational-fps","seek-keep-playing","composition-manifest-v1"];function wd(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let i=n%r;n=r,r=i}return n||1}function Td(e){let t=Number.isFinite(e)&&e>0?e:30,n=Number.isInteger(t)?1:1e6,r=Math.round(t*n),i=wd(r,n);return{numerator:r/i,denominator:n/i}}function Zr(e){if(typeof e!="object"||e===null)return null;let t=e;return!Number.isFinite(t.numerator)||!Number.isFinite(t.denominator)||(t.numerator??0)<=0||(t.denominator??0)<=0?null:Number(t.numerator)/Number(t.denominator)}function zn(e){return{protocolVersion:1,capabilities:Ad,fps:Td(e)}}function Rd(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ua(e,t=30){if(typeof e!="object"||e===null)return{status:"legacy",fps:t};let n=e;if(n.protocolVersion===void 0)return{status:"legacy",fps:t};if(n.protocolVersion!==1)return{status:"unsupported",code:"unsupported_protocol_version",receivedVersion:n.protocolVersion};let r=Zr(n.fps);return r===null||!Rd(n.capabilities)?{status:"unsupported",code:"invalid_protocol_metadata",receivedVersion:n.protocolVersion}:{status:"supported",fps:r,metadata:n}}var ca=30;function da(e){ca=Number.isFinite(e)&&e>0?e:30}function xe(e){try{window.parent.postMessage({...e,...zn(ca)},"*")}catch(t){F("bridge.postMessage",t)}}var Fd={play:(e,t)=>t.onPlay(),pause:(e,t)=>t.onPause(),"stop-media":(e,t)=>t.onStopMedia(),seek:(e,t)=>t.onSeek(Ld(e,t),e.seekMode??"commit"),tick:(e,t)=>t.onTick(),"set-muted":(e,t)=>t.onSetMuted(!!e.muted),"set-volume":(e,t)=>t.onSetVolume(Math.max(0,Math.min(1,Number(e.volume??1)))),"set-media-output-muted":(e,t)=>t.onSetMediaOutputMuted(!!e.muted),"set-native-media-sync-disabled":(e,t)=>t.onSetNativeMediaSyncDisabled(!!e.disabled),"set-web-audio-media-disabled":(e,t)=>t.onSetWebAudioMediaDisabled(!!e.disabled),"set-playback-rate":(e,t)=>t.onSetPlaybackRate(Number(e.playbackRate??1)),"set-root-duration":(e,t)=>t.onSetRootDuration(Number(e.durationSeconds??0)),"set-color-grading":(e,t)=>t.onSetColorGrading(e.target??null,e.grading??null),"set-color-grading-compare":(e,t)=>t.onSetColorGradingCompare(e.target??null,e.compare??null),"enable-pick-mode":(e,t)=>t.onEnablePickMode(),"disable-pick-mode":(e,t)=>t.onDisablePickMode(),"flash-elements":e=>kd(e)};function Ld(e,t){let n=Number(e.timeSeconds);if(Number.isFinite(n))return Math.max(0,n);let i=Zr(e.fps)??t.getCanonicalFps();return Math.max(0,Number(e.frame??0))/i}function Nd(e){let t=ua(e);return t.status!=="unsupported"?!1:(xe({source:"hf-preview",type:"diagnostic",code:`runtime.protocol.${t.code}`,details:{receivedVersion:typeof t.receivedVersion=="string"||typeof t.receivedVersion=="number"?t.receivedVersion:null}}),!0)}function kd(e){let t=e.selectors,n=e.duration||800;t&&Md(t,n)}function fa(e){let t=n=>{let r=n.data;if(!r||r.source!=="hf-parent"||r.type!=="control"||Nd(r))return;let i=r.action;if(typeof i!="string")return;let o=Fd[i];o&&o(r,e)};return window.addEventListener("message",t),xe({source:"hf-preview",type:"ready"}),t}function Md(e,t){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${t}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of e)try{document.querySelectorAll(n).forEach(i=>{i.classList.add("__hf-flash"),setTimeout(()=>i.classList.remove("__hf-flash"),t)})}catch(r){F("bridge.flashElements.querySelector",r)}}var ei=null;function ma(e){ei=e}function Ne(e,t){if(ei)try{ei({source:"hf-preview",type:"analytics",event:e,properties:t??{}})}catch(n){F("runtime.analytics.site1",n)}}function Dd(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-"),n=0,r=t.length;for(;n<r&&t[n]==="-";)n++;for(;r>n&&t[r-1]==="-";)r--;let i=t.slice(n,r);return i.length>0?i:"node"}function At(e){return`--${Dd(e)}`}function pa(e){let t=new Map;for(let n of e){let r=At(n),i=t.get(r);i?i.includes(n)||i.push(n):t.set(r,[n])}return[...t.values()].filter(n=>n.length>1)}function ha(){if(typeof document>"u")return{};let e=new Set;document.documentElement?.hasAttribute("data-composition-variables")&&e.add(document.documentElement);for(let r of Array.from(document.querySelectorAll("[data-composition-variables]")))e.add(r);let t={};for(let r of e)Object.assign(t,Zt(r));let n=qn();return{...t,...n}}function Zt(e){if(!e)return{};let t=e.getAttribute("data-composition-variables");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}if(!Array.isArray(n))return{};let r={};for(let i of n){if(!i||typeof i!="object")continue;let o=i;typeof o.id!="string"||!("default"in o)||(r[o.id]=o.default)}return r}var ti="data-hf-css-vars";function $n(e){return"style"in e&&typeof e.style?.setProperty=="function"}function ni(e,t){if(!$n(e))return;let n=[];for(let[r,i]of Object.entries(t))if(typeof i=="string"&&i!==""||typeof i=="number"){let o=At(r);e.style.setProperty(o,String(i)),n.push(o)}n.length>0&&e.setAttribute(ti,n.join(" "))}function ga(e,t,n){let r={};for(let[i,o]of Object.entries(t)){let a=At(i);(($n(e)?e.style.getPropertyValue(a):"")||(n?n.getComputedStyle(e).getPropertyValue(a):"")).trim()===""&&(r[i]=o)}return r}function xa(e){if(!$n(e))return;let t=e.getAttribute(ti);if(t){for(let n of t.split(" "))n.startsWith("--")&&e.style.removeProperty(n);e.removeAttribute(ti)}}function ba(e){let t=new Set;e.documentElement?.hasAttribute("data-composition-variables")&&t.add(e.documentElement);for(let i of Array.from(e.querySelectorAll("[data-composition-variables]")))t.add(i);let n=qn(),r=[];for(let i of t)r.push(...Id(i,n,e.defaultView));for(let i of pa(r))console.warn(`composition variables ${i.join(", ")} collapse to the same CSS property ${At(i[0]??"")} \\u2014 rename one to avoid cross-talk`)}function Id(e,t,n){if(!$n(e))return[];let r=Zt(e),i={};for(let[o,a]of Object.entries(r)){if(o in t)continue;let l=At(o);(e.style.getPropertyValue(l)||(n?n.getComputedStyle(e).getPropertyValue(l):"")).trim()===""&&(i[o]=a)}for(let[o,a]of Object.entries(t))o in r&&(i[o]=a);return ni(e,i),Object.keys(r)}function ya(e){let t=e.getAttribute("data-variable-values");if(!t)return{};let n;try{n=JSON.parse(t)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function qn(){if(typeof window>"u")return{};let e=window.__hfVariables;return!e||typeof e!="object"||Array.isArray(e)?{}:e}function Sa(e){let t=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},r=u=>e?.resolveStartSeconds?e.resolveStartSeconds(u):Number.parseFloat(u.getAttribute("data-start")??"0")||0,i=(u,c)=>{let m=null;try{m=u.effect?.getComputedTiming?.()??null}catch(x){F("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:c+f/1e3}:{unbounded:!0}},o=(u,c)=>{for(let m of u){try{m.currentTime=c}catch(f){F("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){F("runtime.adapters.css.site2",f)}}},a=u=>{for(let c of u)try{c.play()}catch(m){F("runtime.adapters.css.site3",m)}},l=u=>{for(let c of u)try{c.pause()}catch(m){F("runtime.adapters.css.site4",m)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{t=[];let u=document.querySelectorAll("*");for(let c of u){if(!(c instanceof HTMLElement))continue;let m=window.getComputedStyle(c);!m.animationName||m.animationName==="none"||t.push({el:c,baseDelay:c.style.animationDelay||"",basePlayState:c.style.animationPlayState||"",animations:n(c)})}},getInferredDurationSeconds:()=>{let u=0;for(let c of t){if(!c.el.isConnected)continue;let m=r(c.el);for(let f of n(c.el)){let x=i(f,m);x.endSeconds!=null&&(u=Math.max(u,x.endSeconds))}}return u>0?u:null},seek:u=>{let c=Number(u.time)||0;for(let m of t){if(!m.el.isConnected)continue;let f=r(m.el),x=Math.max(0,c-f)*1e3,E=m.animations;if(E.length>0){o(E,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let u of t){if(!u.el.isConnected)continue;let c=u.animations;c.length>0&&l(c),s(u)}},play:()=>{for(let u of t)u.el.isConnected&&(s(u),a(u.animations))},revert:()=>{t=[]}}}function Ea(e){return{name:"gsap",discover:()=>{},seek:t=>{let n=e.getTimeline();if(!n)return;n.pause();let r=Math.max(0,Number(t.time)||0),i=t.suppressEvents===!0;typeof n.totalTime=="function"?(n.totalTime(r+.001,!0),n.totalTime(r,i)):n.seek(r,i)},pause:()=>{let t=e.getTimeline();t&&t.pause()}}}function va(){return{name:"animejs",discover:()=>{try{let e=window.anime;if(!e||typeof e.running>"u")return;let t=e.running;if(!Array.isArray(t)||t.length===0)return;let n=window.__hfAnime??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfAnime=n}catch(e){F("runtime.adapters.animejs.site1",e)}},seek:e=>{let t=Math.max(0,(Number(e.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let r of n)try{typeof r.seek=="function"&&r.seek(t)}catch(i){F("runtime.adapters.animejs.site2",i)}},pause:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.pause=="function"&&t.pause()}catch(n){F("runtime.adapters.animejs.site3",n)}},play:()=>{let e=window.__hfAnime;if(!(!e||e.length===0))for(let t of e)try{typeof t.play=="function"&&t.play()}catch(n){F("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function _a(){return{name:"lottie",discover:()=>{try{let e=window.lottie;if(e&&typeof e.getRegisteredAnimations=="function"){let t=e.getRegisteredAnimations();if(Array.isArray(t)&&t.length>0){let n=window.__hfLottie??[],r=new Set(n);for(let i of t)r.has(i)||n.push(i);window.__hfLottie=n}}}catch(e){F("runtime.adapters.lottie.site1",e)}},seek:e=>{let t=Math.max(0,Number(e.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let r of n)try{if(ri(r))r.goToAndStop(t*1e3,!1);else if(ii(r)){if(typeof r.setCurrentRawFrameValue=="function"){let i=r.totalFrames??0,o=r.frameRate??30,a=t*o;i>0&&r.setCurrentRawFrameValue(Math.min(a,i-1))}else if(typeof r.seek=="function"){let i=r.duration??1,o=Math.min(100,t/i*100);r.seek(o)}}}catch(i){F("runtime.adapters.lottie.site2",i)}},pause:()=>{let e=window.__hfLottie;if(!(!e||e.length===0))for(let t of e)try{(ri(t)||ii(t))&&t.pause()}catch(n){F("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let e=window.__hfLottie;if(!e||e.length===0)return null;let t=0,n=!1;for(let r of e){let i=null;try{i=Pd(r)}catch(o){F("runtime.adapters.lottie.site4",o)}i!=null&&(n=!0,t=Math.max(t,i))}return n?t:null}}}function Ca(e,t){return!Number.isFinite(e)||!e||e<=0||!Number.isFinite(t)||!t||t<=0?null:e/t}function Pd(e){return ri(e)?Ca(e.totalFrames,e.frameRate):ii(e)?Number.isFinite(e.duration)&&(e.duration??0)>0?e.duration??null:Ca(e.totalFrames,e.frameRate):null}function ri(e){return typeof e=="object"&&e!==null&&typeof e.goToAndStop=="function"}function ii(e){return typeof e=="object"&&e!==null&&typeof e.pause=="function"&&("totalFrames"in e||"duration"in e)}var oi=-1,jn=new Set,wt,ai=0;function Aa(e){let t=[],n=!0,r={time:e,waitUntil:o=>{if(!n)throw new Error("hf-seek waitUntil() must be called synchronously from the event listener");t.push(o)}};try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:r}))}catch(o){F("runtime.adapters.seek-dispatch.site1",o)}finally{n=!1}if(t.length===0)return;let i=Promise.all(t).then(()=>({status:"fulfilled"})).catch(o=>({status:"rejected",reason:o}));jn.add(i),i.then(o=>{jn.delete(i)&&o.status==="rejected"&&wt===void 0&&(wt={reason:o.reason})})}function Kn(e){e!==oi&&(oi=e,Aa(e))}function Yn(e){oi=e,Aa(e)}function wa(){return ai>0}async function si(){ai+=1;let e=wt;try{for(await Promise.resolve();jn.size>0;){let r=(await Promise.all([...jn])).find(i=>i.status==="rejected");e===void 0&&r?.status==="rejected"&&(e={reason:r.reason})}let t=wt;if(e===void 0&&(e=t),wt===t&&(wt=void 0),e)throw e.reason}finally{ai-=1}}function Ta(){let e=null,t=0,n=null,r=null,i=null,o=null,a=()=>{if(typeof window>"u")return null;let c=window.THREE?.DefaultLoadingManager;return!c||typeof c!="object"||typeof c.itemsLoaded!="number"||typeof c.itemsTotal!="number"?null:c},l=u=>{o||u.itemsTotal<=u.itemsLoaded||(o=new Promise(c=>{u.onLoad=function(){try{i?.call(this)}finally{o=null,u.onLoad=i??null,c()}}}))},s=u=>{n!==u&&(n=u,r=u.onStart??null,i=u.onLoad??null,u.onStart=function(c,m,f){try{r?.call(this,c,m,f)}finally{l(u)}})};return{name:"three",discover:()=>{let u=a();u&&(s(u),l(u))},seek:u=>{e=Math.max(0,Number(u.time)||0),t=e,window.__hfThreeTime=e,Kn(e)},pause:()=>{e==null&&(e=Math.max(0,t))},play:()=>{e=null},revert:()=>{e=null,t=0},getReadyPromise:()=>{let u=a();return!u||u.itemsTotal<=u.itemsLoaded?null:(o||l(u),o)}}}function $e(e){let t=null,n=new WeakSet;return{name:e.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let r=e.getInstances();if(r.length===0)return null;let i=r.filter(o=>!n.has(o));return i.length===0?null:t||(t=Promise.allSettled(i.map(o=>e.waitFor(o).then(()=>{n.add(o)}))).then(()=>{t=null}),t)}}}function Ra(){return $e({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMapbox;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function Fa(){return $e({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfLeaflet;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>e.whenReady(t))})}function La(){return $e({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfGoogleMaps;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{let n=e.addListener("tilesloaded",()=>{n.remove(),t()})})})}function Na(){return $e({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfMaplibre;return Array.isArray(e)?e:[]},waitFor:e=>new Promise(t=>{if(e.loaded()){t();return}e.on("load",t)})})}function ka(){return $e({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let e=window.__hfD3;return Array.isArray(e)?e:[]},waitFor:e=>e.end()})}var Od=250;function Ma(){let e=null,t=0,n=null,r=()=>{n!==null&&(window.clearInterval(n),n=null)},i=()=>{n===null&&document.querySelector("[data-composition-id][data-requires-webgpu]")&&(n=window.setInterval(()=>{e!==null&&(wa()||(window.__hfTypegpuTime=e,Yn(e)))},Od))};return{name:"typegpu",discover:()=>{},seek:o=>{e=Math.max(0,Number(o.time)||0),t=e,window.__hfTypegpuTime=e,Kn(e)},pause:()=>{e==null&&(e=Math.max(0,t)),i()},play:()=>{r(),e=null},revert:()=>{r(),e=null,t=0}}}function Da(e){let t=e.nextElementSibling;if(t instanceof HTMLImageElement&&t.classList.contains("__render_frame__")&&t.complete&&t.naturalWidth>0)return t;if(e.id){let n=document.getElementById(`__render_frame_${e.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Ia(){let e=globalThis.GPUQueue;if(!e?.prototype?.copyExternalImageToTexture)return;let t=e.prototype.copyExternalImageToTexture;e.prototype.copyExternalImageToTexture=function(n,r,i){if(n?.source instanceof HTMLVideoElement){let o=Da(n.source);if(o)return t.call(this,{...n,source:o},r,i)}return t.call(this,n,r,i)}}function Pa(){let e=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],t=["texImage2D","texSubImage2D"];for(let n of e){let r=n?.prototype;if(r)for(let i of t){let o=r[i];if(typeof o!="function"||o.__hfVideoPatched)continue;let a=function(...l){let s=l.length-1,u=l[s];if(u instanceof HTMLVideoElement){let c=Da(u);c&&(l[s]=c)}return o.apply(this,l)};a.__hfVideoPatched=!0,r[i]=a}}}function Oa(){let e=!1,t=0,n=!1,r,i,o,a=new Set,l=new WeakMap,s=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},u=y=>{let w=Number(y.currentTime);return Number.isFinite(w)&&w>0?w:0},c=(y,w)=>w<=0?y:y>=w?Math.max(0,y-w):y,m=(y,w)=>{let T=l.get(y);if(T)return T;let k={compositionTimeMs:w,animationTimeMs:e?c(u(y),w):u(y)};return l.set(y,k),k},f=(y,w)=>{if(!a.has(y)){a.add(y);let T=()=>{a.delete(y)};try{y.addEventListener("finish",T,{once:!0}),y.addEventListener("cancel",T,{once:!0})}catch(k){F("runtime.adapters.waapi.site4",k)}}m(y,w)},x=(y,w)=>{for(let T of y)f(T,w)},E=()=>{if(n||typeof Element>"u")return;let y=Element.prototype;if(typeof y.animate!="function"||y.__hfOriginalAnimate)return;let w=y.animate;try{Object.defineProperty(y,"__hfOriginalAnimate",{value:w,configurable:!0});let T=function(...k){let D=w.apply(this,k);return f(D,t),D};y.animate=T,r=y,i=w,o=T,n=!0}catch{}},C=y=>{let w=null;try{w=y.effect?.getComputedTiming?.()??null}catch(D){F("runtime.adapters.waapi.site4",D)}if(!w)return{};let T=Number(w.endTime);return Number.isFinite(T)?{endSeconds:(l.get(y)?.compositionTimeMs??0)/1e3+T/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{e=!0,E(),x(s(),t)},seek:y=>{let w=Math.max(0,(Number(y.time)||0)*1e3);t=w,(!e||a.size>0)&&x(s(),e?w:0);for(let T of a){let k=e?m(T,w):m(T,0),D=k.animationTimeMs+Math.max(0,w-k.compositionTimeMs);try{T.currentTime=D}catch(P){F("runtime.adapters.waapi.site1",P)}try{T.pause()}catch(P){F("runtime.adapters.waapi.site2",P)}}},pause:()=>{e||x(s(),t);for(let y of a)try{y.pause()}catch(w){F("runtime.adapters.waapi.site3",w)}},revert:()=>{if(a.clear(),l=new WeakMap,e=!1,t=0,r&&i&&o&&r.animate===o)try{r.animate=i,r.__hfOriginalAnimate===i&&delete r.__hfOriginalAnimate}catch(y){F("runtime.adapters.waapi.site5",y)}r=void 0,i=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let y=0;for(let w of s()){let T=C(w);T.endSeconds!=null&&(y=Math.max(y,T.endSeconds))}return y>0?y:null}}}function Ga(e,t){if(e.length===0)return 1;let n=0;for(;n<e.length-2&&t>=e[n+1].time;)n+=1;let r=e[n],i=e[n+1]??r,o=i.time-r.time,a=o<=0?0:Math.min(1,Math.max(0,(t-r.time)/o));return r.volume+(i.volume-r.volume)*a}function Gd(e,t,n,r){let i=e.at(-1);!i||Math.abs(i.volume-n.volume)>1e-4?(i&&t&&t.time>i.time&&e.push(t),e.push(n)):r&&n.time>i.time&&e.push(n)}function Xn(e){let t=Number.parseFloat(e??"");return Number.isFinite(t)?t:void 0}function Hd(e,t){let n=Xn(e.dataset.start)??0,r=Xn(e.dataset.end),i=Xn(e.dataset.duration),o=t;i!==void 0&&i>0?o=n+i:r!==void 0&&r>n&&(o=r);let a=Xn(e.dataset.volume)??1,l=Math.max(0,Math.min(1,a));return{start:n,end:o,staticVolume:l}}function Bd(e,t,n,r){let{start:i,end:o,staticVolume:a}=Hd(e,n);e.volume=a;let l=1/Math.min(60,Math.max(1,r)),s=Math.max(0,i),u=Math.min(n,o),c=[],m;for(let x=s;x<=u+1e-6;x=Math.min(u,x+l)){t(x);let E=Number(e.volume);if(Number.isFinite(E)){let C=Math.max(0,Math.min(1,E)),y={time:Number(x.toFixed(6)),volume:Number(C.toFixed(6))};Gd(c,m,y,x===u),m=y}if(x===u)break}return c.some(x=>Math.abs(x.volume-a)>1e-4)?c:null}function Ha(e,t,n,r,i={}){if(i.allowLiveTimelineSeek===!1||!t||!(e instanceof HTMLAudioElement)&&!(e instanceof HTMLVideoElement)||n<=0)return;let o=s=>{try{typeof t.totalTime=="function"?t.totalTime(s,!0):typeof t.seek=="function"&&t.seek(s,!0)}catch{}},a=typeof t.totalTime=="function"?Number(t.totalTime()):typeof t.seek=="function"?Number(t.seek()):0,l=Bd(e,o,n,60);Number.isFinite(a)&&o(a),l&&r.set(e,l)}function Ba(e){return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function qe(e){let t=Number.parseFloat(e.getAttribute("data-playback-rate")??""),n=Number.isFinite(t)&&t>0?t:e instanceof HTMLMediaElement?e.defaultPlaybackRate:1;return Ba(n)}function Rt(e){let t=Number.parseFloat(e.getAttribute("data-playback-start")??e.getAttribute("data-media-start")??"");return Number.isFinite(t)&&t>=0?t:0}function Ua(e){let t=e.isVideo?e.explicitDuration??e.sourceDuration:e.sourceDuration,n=(e.isVideo?[t,e.hostRemaining]:[t,e.hostRemaining,e.explicitDuration]).filter(r=>r!=null&&Number.isFinite(r)&&r>0);return n.length>0?Math.min(...n):null}function Wa(e){let t=Array.from(document.querySelectorAll("video, audio")),n=e?.shouldIncludeElement?t.filter(a=>e.shouldIncludeElement?.(a)):t.filter(a=>a.hasAttribute("data-start")),r=[],i=[],o=0;for(let a of n){let l=e?.resolveStartSeconds?e.resolveStartSeconds(a):Number.parseFloat(a.dataset.start??"0");if(!Number.isFinite(l))continue;let s=Number.parseFloat(a.dataset.playbackStart??a.dataset.mediaStart??"0")||0,u=qe(a),c=a.loop,m=Number.isFinite(a.duration)&&a.duration>0?a.duration:null,f=e?.resolveDurationSeconds?.(a)??Number.parseFloat(a.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-s)/u));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,E=Number.parseFloat(a.dataset.volume??""),C={el:a,start:l,mediaStart:s,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(E)?E:null,playbackRate:u,loop:c,sourceDuration:m};r.push(C),a.tagName==="VIDEO"&&i.push(C),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:r,videoClips:i,maxMediaEnd:o}}var li=new WeakMap,tn=new WeakMap,ui=new WeakSet,Tt=new WeakSet;function Ud(e){if(Tt.has(e))return;Tt.add(e);let t=()=>Tt.delete(e);e.addEventListener("playing",t,{once:!0}),e.addEventListener("pause",t,{once:!0}),e.addEventListener("error",t,{once:!0})}var Wd=3;function Vd(e){return e.error!=null||e.networkState===Wd}var ci=new WeakMap;function en(e){return Number.isFinite(e)?Math.max(0,Math.min(1,e)):1}function di(e){li.delete(e),tn.delete(e),ui.delete(e),ci.delete(e)}function Va(e){let t=!!(e.outputMuted||e.userMuted);for(let n of e.clips){let{el:r}=n;if(!r.isConnected)continue;let i=(e.timeSeconds-n.start)*n.playbackRate+n.mediaStart,o=r.tagName==="VIDEO"&&!n.loop,a=o&&n.sourceDuration!=null&&i>=n.sourceDuration&&e.timeSeconds>=n.start&&e.timeSeconds<n.end;a&&n.sourceDuration!=null&&(i=n.sourceDuration);let l=o&&n.sourceDuration!=null&&i>=n.mediaStart&&i<n.sourceDuration;if(e.timeSeconds>=n.start&&e.timeSeconds<n.end&&i>=0&&(!r.ended||n.loop||a||l)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let U=n.sourceDuration-n.mediaStart;U>0&&i>=n.sourceDuration&&(i=n.mediaStart+(i-n.mediaStart)%U)}let u=en(e.userVolume??1),c=en(n.volume??1),m=ci.get(r),f=en(r.volume),x;n.volumeKeyframes&&n.volumeKeyframes.length>0?x=en(Ga(n.volumeKeyframes,i)):m===void 0||Math.abs(f-m)>1e-4?x=f:x=c;let E=en(x*u);r.volume=E,ci.set(r,E),e.onElementVolume?.(r,E),(t||e.isWebAudioOwned?.(r))&&(r.muted=!0),r.preload!=="auto"&&(r.preload="auto");try{r.playbackRate=n.playbackRate*e.playbackRate}catch(U){F("runtime.media.site1",U)}let C=.04,y=2,w=r.currentTime||0,T=Math.abs(w-i),k=i-w,D=li.get(r);li.set(r,k);let P=D===void 0,_=!P&&Math.abs(k-D)>.5,b=T>3,S=a&&T>.001||r.ended&&l&&T>.001||T>.5&&(P||_||b),A=r.tagName==="VIDEO"&&!r.paused,R=D!==void 0&&Math.abs(k-D)<.004,N=!1;if(!A&&!S&&!P&&R&&T>C){let U=(tn.get(r)??0)+1;tn.set(r,U),U>=y&&(N=!0,tn.set(r,0))}else T<=C&&tn.set(r,0);let G=!A&&e.forceSync&&T>.02;if(S||N||G){if(!(r.tagName==="VIDEO"&&r.id&&!!document.getElementById(`__render_frame_${r.id}__`))){try{r.currentTime=i}catch(ne){F("runtime.media.site2",ne)}if(Math.abs(r.currentTime-i)>.5&&!ui.has(r)){ui.add(r),r.load();try{r.currentTime=i}catch(ne){F("runtime.media.site3",ne)}}}Tt.delete(r)}a?r.paused||r.pause():e.playing&&r.paused&&!Tt.has(r)&&!Vd(r)?(Ud(r),r.play().catch(U=>{Tt.delete(r),(U&&typeof U=="object"&&"name"in U?String(U.name??""):"")==="NotAllowedError"&&e.onAutoplayBlocked?.()})):!e.playing&&!r.paused&&r.pause();continue}di(r),r.paused||r.pause()}}var zd="hf-proxy",za="runtime_media_proxy_fallback",$a="runtime_media_proxy_unavailable",nn=new WeakSet,qa=new WeakSet;function Jn(e){return e.currentSrc||e.src}function fi(e){return window.__HF_EXPORT_RENDER_SEEK_CONFIG?!0:e instanceof HTMLVideoElement&&!!e.id&&!!document.getElementById(`__render_frame_${e.id}__`)}function mi(e){let t=Jn(e);if(!t)return null;let n;try{n=new URL(t,document.baseURI)}catch{return null}if(n.origin!==window.location.origin)return null;try{return decodeURIComponent(n.pathname)}catch{return n.pathname}}function $d(e,t){let n=null;for(let r of Object.keys(t))e.endsWith(r)&&(n===null||r.length>n.length)&&(n=r);return n?t[n]??null:null}function qd(e,t){let n=e.normalize("NFC").toLowerCase(),r=-1,i=null,o=!1;for(let[a,l]of Object.entries(t)){let s=a.normalize("NFC").toLowerCase();n.endsWith(s)&&(s.length>r?(r=s.length,i=l,o=!1):s.length===r&&(o=!0))}return o?null:i}function pi(e,t){return t[e]??$d(e,t)??qd(e,t)}function jd(e,t){let n=new URL(e,document.baseURI);return n.searchParams.set(zd,t?t.hasAlpha?"vp8":"h264":"auto"),n.href}var Kd={cross_origin:"video reports zero decodable width but its source is cross-origin; no local proxy can be served for it",proxy_playback_failed:"the authoring proxy itself failed to decode; render output is unaffected",browser_safe_codec:"the file errored but its codec is browser-decodable; a proxy cannot help (the file itself is likely corrupt)",invalid_source_url:"the media source URL is malformed and cannot be proxied"};function gt(e,t,n){if(qa.has(e))return;qa.add(e);let r=Kd[t];xe({source:"hf-preview",type:"diagnostic",code:$a,details:{asset:n,codecName:null,reason:t,note:r}}),console.info(`[hyperframes] ${$a}: "${n}" (${t}): ${r}`)}function hi(e,t=null,n="reactive"){if(nn.has(e))return;let r=Jn(e),i;try{i=jd(r,t)}catch(l){F("runtime.mediaProxy.swap",l),gt(e,"invalid_source_url",r);return}nn.add(e),di(e),e.src=i,e.load();let o=t?.codecName??null;xe({source:"hf-preview",type:"diagnostic",code:za,details:{asset:r,codecName:o,trigger:n,note:"render output is unaffected; only this preview element was swapped to an authoring proxy"}}),console.info(`[hyperframes] ${za}: "${r}" uses a codec (${o??"unknown"}) this browser can\'t decode; auto-swapped to an authoring proxy for this preview only. Render output is unaffected.`)}function ja(e){if(fi(e)||!(e instanceof HTMLVideoElement)||nn.has(e))return;let t=window.__HF_MEDIA_CODEC_MAP__;if(!t)return;let n=mi(e);if(n===null)return;let r=pi(n,t);if(!r||!r.browserHostile)return;let i=r.representativeMime?e.canPlayType(r.representativeMime):"";i==="probably"||i==="maybe"||hi(e,r,"proactive")}function Ka(e){if(fi(e)||!(e instanceof HTMLVideoElement)||e.videoWidth!==0)return;let t=Jn(e);if(nn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=mi(e);if(r===null){gt(e,"cross_origin",t);return}let i=pi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}hi(e,i,"reactive")}function Ya(e){if(fi(e)||!(e instanceof HTMLVideoElement))return;let t=Jn(e);if(nn.has(e)){gt(e,"proxy_playback_failed",t);return}let n=window.__HF_MEDIA_CODEC_MAP__;if(!n)return;let r=mi(e);if(r===null){gt(e,"cross_origin",t);return}let i=pi(r,n);if(i&&!i.browserHostile){gt(e,"browser_safe_codec",t);return}hi(e,i,"tertiary")}var be=class extends Error{constructor(n,r=null){super(r==null?n:`${n} at line ${r}`);he(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=r}},Yd=[0,0,0],Xd=[1,1,1],Qn=64;function Jd(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===\'"\'&&(t=!t),r==="#"&&!t)return e.slice(0,n)}return e}function nt(e,t){let n=Number(e);if(!Number.isFinite(n))throw new be(`Invalid number "${e}"`,t);return n}function Xa(e,t,n){if(e.length!==3)throw new be(`${t} expects three numbers`,n);return[nt(e[0],n),nt(e[1],n),nt(e[2],n)]}function Ja(e,t,n){if(!e)throw new be(`${t} expects a size`,n);let r=Number(e);if(!Number.isInteger(r)||r<2)throw new be(`${t} must be an integer greater than 1`,n);return r}function Qd(e,t){if(t[0]<=e[0]||t[1]<=e[1]||t[2]<=e[2])throw new be("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Zd(e){let t=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(e);if(t)return t[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(e);return n&&(n[1]??"").trim()||null}function ef(e){return/^[+-]?(?:\\d|\\.\\d)/.test(e)}function Qa(e,t={}){let n=t.maxSize??Qn,r=null,i=Yd,o=Xd,a=null,l=null,s=[],u=e.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<u.length;m++){let f=m+1,x=Jd(u[m]??"").trim();if(!x)continue;let E=x.split(/\\s+/),C=(E[0]??"").toUpperCase(),y=E.slice(1);if(C==="TITLE"){r=Zd(x);continue}if(C==="DOMAIN_MIN"){i=Xa(y,C,f);continue}if(C==="DOMAIN_MAX"){o=Xa(y,C,f);continue}if(C==="LUT_3D_INPUT_RANGE"){if(y.length!==2)throw new be(`${C} expects two numbers`,f);let w=nt(y[0],f),T=nt(y[1],f);if(T<=w)throw new be("LUT_3D_INPUT_RANGE max must exceed min",f);i=[w,w,w],o=[T,T,T];continue}if(C==="LUT_1D_SIZE"){a=Ja(y[0],C,f);continue}if(C==="LUT_3D_SIZE"){if(l=Ja(y[0],C,f),l>n)throw new be(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!ef(C)){if(C.startsWith("LUT_"))throw new be(`Unsupported cube keyword ${C}`,f);continue}if(!l)throw a?new be("1D cube LUTs are not supported yet",f):new be("LUT data appears before LUT_3D_SIZE",f);if(E.length!==3)throw new be("LUT data rows must contain three numbers",f);s.push(nt(E[0],f),nt(E[1],f),nt(E[2],f))}if(a&&l)throw new be("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw a?new be("1D cube LUTs are not supported yet"):new be("Missing LUT_3D_SIZE");Qd(i,o);let c=l*l*l;if(s.length!==c*3)throw new be(`Expected ${c} LUT rows for size ${l}, found ${s.length/3}`);return{title:r,size:l,domainMin:i,domainMax:o,data:new Float32Array(s)}}function tf(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e)):0}function rn(e){return Math.round(tf(e)*255)}function gi(e){let t=e.size,n=t*t,r=t,i=new Uint8Array(n*r*4);for(let o=0;o<t;o++)for(let a=0;a<t;a++)for(let l=0;l<t;l++){let s=((o*t+a)*t+l)*3,u=(a*n+o*t+l)*4;i[u]=rn(e.data[s]??0),i[u+1]=rn(e.data[s+1]??0),i[u+2]=rn(e.data[s+2]??0),i[u+3]=255}return{width:n,height:r,data:i}}var Za="rec709";var ce={hueDegrees:{min:0,max:360,inclusiveMax:!1},unit:{min:0,max:1},signedUnit:{min:-1,max:1},secondaryHueRange:{min:0,max:180},secondaryHueSoftness:{min:0,max:180},secondaryHueCombinedMax:180,secondarySoftRangeSoftness:{min:0,max:.5},secondaryHueShift:{min:-180,max:180},effects:{asciiStyle:{min:0,max:7},bloom:{min:0,max:3},bloomRadius:{min:1,max:100},monoScreenShape:{min:0,max:4}}};var es=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","vibrance","saturation"],ts=["shadows","midtones","highlights"],ns=["master","red","green","blue"],rs=["hueVsHue","hueVsSaturation","hueVsLuma"];var is=["vignette","vignetteMidpoint","vignetteRoundness","vignetteFeather","grain","grainSize","grainRoughness"],os=["blur","pixelate","chromaBleed","tapeDamage","tapeTracking","tapeNoise","tapeSpeed","filmArtifacts","halftone","halftoneSize","twoInkPrint","twoInkPrintSize","ascii","asciiSize","asciiInvert","asciiStyle","asciiColor","asciiRotation","dither","ditherSize","bloom","bloomRadius","monoScreen","monoScreenSize","monoScreenAngle","monoScreenSpread","monoScreenShape","monoScreenInvert","scanlines","scanlineCount","scanlineSoftness","chromaticAberration","chromaticAngle","crtCurvature","digitalGlitch","digitalGlitchColorSplit","digitalGlitchLineTear","digitalGlitchPixelate","digitalGlitchBlockAmount","digitalGlitchBlockDisplacement","digitalGlitchBlockOpacity","digitalGlitchSpeed","engraving","engravingSpacing","engravingMinThickness","engravingMaxThickness","engravingAngle","engravingContrast","engravingSharpness","engravingWave","engravingWaveFrequency","crosshatch","crosshatchSpacing","crosshatchThickness","crosshatchAngle","crosshatchContrast","crosshatchEdges","crosshatchLineWeight","crosshatchWave","crosshatchWaveFrequency","kuwahara","kuwaharaRadius","kuwaharaSharpness","kuwaharaSaturation"];var nb=ce.unit,rb=ce.signedUnit,ib=ce.effects;var je=1024,on=16;function as(e,t,n,r){let i=((2*e+t)*n-e*r)/(e+t);return Math.sign(i)!==Math.sign(n)?0:Math.sign(n)!==Math.sign(r)&&Math.abs(i)>3*Math.abs(n)?3*n:i}function ye(e,t){let n=e[t];if(n===void 0)throw new RangeError("Color curve points must be contiguous");return n}function nf(e){let t=[],n=[],r=ye(e,0);for(let a of e.slice(1)){let l=a[0]-r[0];t.push(l),n.push((a[1]-r[1])/l),r=a}let i=ye(n,0);if(e.length===2)return[i,i];let o=new Array(e.length);o[0]=as(ye(t,0),ye(t,1),i,ye(n,1)),o[o.length-1]=as(ye(t,t.length-1),ye(t,t.length-2),ye(n,n.length-1),ye(n,n.length-2));for(let a=1;a<e.length-1;a+=1){let l=ye(n,a-1),s=ye(n,a);if(l===0||s===0||Math.sign(l)!==Math.sign(s)){o[a]=0;continue}let u=ye(t,a-1),c=ye(t,a),m=2*c+u,f=c+2*u;o[a]=(m+f)/(m/l+f/s)}return o}function ss(e,t){if(e.length<2)throw new RangeError("A color curve requires at least two points");if(!Number.isInteger(t)||t<2)throw new RangeError("Curve LUT size must be at least 2");let n=Number.NEGATIVE_INFINITY;for(let[r,i]of e){if(!Number.isFinite(r)||!Number.isFinite(i))throw new TypeError("Color curve points must be finite");if(r<=n)throw new RangeError("Color curve inputs must be strictly increasing");n=r}}function rf(e,t,n){if(!Number.isFinite(t)||!Number.isFinite(n)||t>=n)throw new RangeError("Curve output bounds must be finite and increasing");if(e.some(([,r])=>r<t||r>n))throw new RangeError(`Curve outputs must be between ${t} and ${n}`)}function of(e,t,n,r,i){let o=n[0]-t[0],a=Math.min(1,Math.max(0,(e-t[0])/o)),l=a*a,s=l*a;return(2*s-3*l+1)*t[1]+(s-2*l+a)*o*r+(-2*s+3*l)*n[1]+(s-l)*o*i}function ls(e,t,n,r,i){rf(e,r,i);let o=nf(e),a=new Float32Array(t),l=0;for(let s=0;s<t;s+=1){let u=n(s);for(;l<e.length-2&&u>ye(e,l+1)[0];)l+=1;let c=ye(e,l),m=ye(e,l+1),f=of(u,c,m,ye(o,l),ye(o,l+1));a[s]=Math.min(i,Math.max(r,f))}return a}function Ft(e,t=je){if(ss(e,t),e.length>on)throw new RangeError(`A color curve supports at most ${on} points`);if(e.some(([n])=>n<0||n>1))throw new RangeError("Color curve inputs must be between 0 and 1");if(e[0]?.[0]!==0||e[e.length-1]?.[0]!==1)throw new RangeError("Color curves must include input endpoints 0 and 1");return ls(e,t,n=>n/(t-1),0,1)}function bi(e,t,n,r=je){if(e.length<3)throw new RangeError("A hue curve requires at least three points");if(e.length>on)throw new RangeError(`A hue curve supports at most ${on} points`);let i=[...e].sort((s,u)=>s[0]-u[0]);for(let s=0;s<i.length;s+=1){let u=i[s];if(!u||u[0]<0||u[0]>=360)throw new RangeError("Hue curve inputs must be from 0 up to 360 degrees");if(s>0&&u[0]===i[s-1]?.[0])throw new RangeError("Hue curve inputs must be unique")}let o=i.slice(-2).map(([s,u])=>[s-360,u]),a=i.slice(0,2).map(([s,u])=>[s+360,u]),l=[...o,...i,...a];return ss(l,r),ls(l,r,s=>s/r*360,t,n)}var an="data-color-grading",sn="data-hf-color-grading-source-hidden",tr="data-hf-authored-opacity",ms="__hf_color_grading_",sf=Za,Ei={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,vibrance:0,saturation:0},vi={vignette:0,vignetteMidpoint:.5,vignetteRoundness:0,vignetteFeather:.65,grain:0,grainSize:.25,grainRoughness:.5},Ci={blur:0,pixelate:0,chromaBleed:0,tapeDamage:0,tapeTracking:0,tapeNoise:1,tapeSpeed:.5,filmArtifacts:0,halftone:0,halftoneSize:0,twoInkPrint:0,twoInkPrintSize:0,ascii:0,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0,dither:0,ditherSize:0,bloom:0,bloomRadius:8,monoScreen:0,monoScreenSize:0,monoScreenAngle:0,monoScreenSpread:0,monoScreenShape:0,monoScreenInvert:0,scanlines:0,scanlineCount:0,scanlineSoftness:0,chromaticAberration:0,chromaticAngle:0,crtCurvature:0,digitalGlitch:0,digitalGlitchColorSplit:0,digitalGlitchLineTear:0,digitalGlitchPixelate:0,digitalGlitchBlockAmount:0,digitalGlitchBlockDisplacement:0,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:0,engraving:0,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9,crosshatch:0,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9,kuwahara:0,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5};var nr=es,ps=ts,hs=ns,gs=rs,Ai=is,wi=os,us={exposure:.03,contrast:-.12,highlights:-.1,shadows:.16,whites:-.04,blacks:.08,temperature:.13,vibrance:-.08,saturation:-.08},cs={vignette:.18};function Se(e,t,n={},r={},i={},o=1){return{id:e,label:t,intensity:o,adjust:{...Ei,...n},details:{...vi,...r},effects:{...Ci,...i}}}var Ti=[Se("neutral","Neutral"),Se("warm-daylight","Warm Daylight",{exposure:.06,contrast:.07,highlights:-.06,shadows:.08,temperature:.18,saturation:.08}),Se("clean-studio","Clean Studio",{contrast:.08,highlights:-.08,shadows:.06,temperature:-.08,tint:.03,saturation:.04}),Se("skin-soft","Skin Soft",{exposure:.04,contrast:-.03,highlights:-.12,shadows:.12,temperature:.08,tint:.02,saturation:.04}),Se("food-pop","Food Pop",{exposure:.06,contrast:.1,shadows:.06,temperature:.14,vibrance:.1,saturation:.18}),Se("night-lift","Night Lift",{exposure:.08,contrast:.08,highlights:-.18,shadows:.2,blacks:-.08,saturation:.04},{vignette:.12}),Se("muted-editorial","Muted Editorial",{exposure:-.02,contrast:.08,highlights:-.08,shadows:.06,blacks:-.05,temperature:-.03,saturation:-.12},{vignette:.1}),Se("vintage-wash","Vintage Wash",us,cs),Se("mono-clean","Mono Clean",{contrast:.12,highlights:-.04,shadows:.04,blacks:-.08,saturation:-1}),Se("mono-fade","Mono Fade",{contrast:-.04,highlights:-.06,shadows:.1,blacks:.12,saturation:-1},{vignette:.08}),Se("soft-boost","Soft Boost",{exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,vibrance:.08,saturation:.1}),Se("bright-pop","Bright Pop",{exposure:.12,contrast:.12,whites:.08,blacks:-.04,vibrance:.08,saturation:.14}),Se("deep-contrast","Deep Contrast",{exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}),Se("creator-camcorder","Creator Camcorder",{contrast:.08,highlights:-.05,shadows:.02,whites:.03,blacks:-.04,temperature:-.03,tint:-.015,vibrance:-.03,saturation:-.06},{vignette:.06,grain:.08,grainSize:.18,grainRoughness:.58},{chromaBleed:.55},.72),Se("vhs-playback","VHS Playback",{contrast:-.04,saturation:-.08},{grain:.16,grainSize:.12,grainRoughness:.72},{tapeDamage:.82,tapeTracking:.85,tapeNoise:.3,tapeSpeed:.5,chromaBleed:.5,chromaticAberration:.18,scanlines:.35,scanlineCount:.17,scanlineSoftness:1,digitalGlitch:.32,digitalGlitchLineTear:.08,digitalGlitchSpeed:.5}),Se("home-movie-8mm","8mm Home Movie",us,{...cs,vignette:.28,vignetteMidpoint:.54,vignetteFeather:.72,grain:.34,grainSize:.18,grainRoughness:.72},{filmArtifacts:.62},.72),Se("editorial-halftone","Editorial Halftone",{contrast:.04,saturation:.04},{},{halftone:.94,halftoneSize:.36}),Se("two-ink-print","Two-Ink Print",{contrast:.08,highlights:-.06,shadows:.04},{},{twoInkPrint:1,twoInkPrintSize:.42})],lf=new Map(Ti.map(e=>[e.id,e])),uf=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,cf={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},vibrance:{min:-1,max:1},saturation:{min:-1,max:1}},Lt={hue:0,amount:0,level:0},ds={amount:ce.unit,level:ce.signedUnit},rt=[[0,0],[1,1]],Nt=[],df={hueVsHue:ce.secondaryHueShift,hueVsSaturation:ce.signedUnit,hueVsLuma:ce.signedUnit},yi={center:0,range:180,softness:0},Si={min:0,max:1,softness:.05},ff={vignette:ce.unit,vignetteMidpoint:ce.unit,vignetteRoundness:ce.signedUnit,vignetteFeather:ce.unit,grain:ce.unit,grainSize:ce.unit,grainRoughness:ce.unit},_i=ce.unit,mf=ce.effects,xs=["blur","pixelate","chromaBleed","tapeDamage","filmArtifacts","halftone","twoInkPrint","ascii","dither","bloom","monoScreen","scanlines","chromaticAberration","crtCurvature","digitalGlitch","engraving","crosshatch","kuwahara"];var pf=Ti.filter(e=>xs.some(t=>e.effects[t]>1e-4)),fb=Ti.filter(e=>!pf.includes(e)),mb={blur:{blur:.45},pixelate:{pixelate:.55},bloom:{bloom:.55,bloomRadius:8},chromaBleed:{chromaBleed:.55},tapeDamage:{tapeDamage:.65,tapeTracking:.55,tapeNoise:.25,tapeSpeed:.5},filmArtifacts:{filmArtifacts:.55},scanlines:{scanlines:.35,scanlineCount:.17,scanlineSoftness:1},chromaticAberration:{chromaticAberration:.15,chromaticAngle:0},crtCurvature:{crtCurvature:.2},digitalGlitch:{digitalGlitch:.55,digitalGlitchColorSplit:.25,digitalGlitchLineTear:.25,digitalGlitchPixelate:.15,digitalGlitchBlockAmount:.5,digitalGlitchBlockDisplacement:.25,digitalGlitchBlockOpacity:0,digitalGlitchSpeed:.5},halftone:{halftone:.94,halftoneSize:.36},twoInkPrint:{twoInkPrint:1,twoInkPrintSize:.42},ascii:{ascii:1,asciiSize:5/76,asciiInvert:0,asciiStyle:0,asciiColor:1,asciiRotation:0},dither:{dither:1,ditherSize:.5},monoScreen:{monoScreen:1,monoScreenSize:.35,monoScreenAngle:.25,monoScreenSpread:.3,monoScreenShape:0,monoScreenInvert:0},engraving:{engraving:1,engravingSpacing:7/17,engravingMinThickness:.2,engravingMaxThickness:3.2/7,engravingAngle:.25,engravingContrast:7/15,engravingSharpness:.59,engravingWave:.2,engravingWaveFrequency:2/9},crosshatch:{crosshatch:1,crosshatchSpacing:7/25,crosshatchThickness:.25,crosshatchAngle:.25,crosshatchContrast:1/3,crosshatchEdges:.5,crosshatchLineWeight:0,crosshatchWave:.33,crosshatchWaveFrequency:2/9},kuwahara:{kuwahara:1,kuwaharaRadius:1/7,kuwaharaSharpness:5/16,kuwaharaSaturation:.5}},bs=[{path:"intensity",name:"--hf-color-grading-intensity",min:0,max:1},{path:"lut.intensity",name:"--hf-color-grading-lut-intensity",min:0,max:1},{path:"adjust.exposure",name:"--hf-color-grading-exposure",min:-2,max:2},{path:"effects.blur",name:"--hf-color-grading-blur",min:0,max:1},{path:"effects.bloom",name:"--hf-color-grading-bloom",min:0,max:3},{path:"effects.kuwahara",name:"--hf-color-grading-kuwahara",min:0,max:1},{path:"effects.pixelate",name:"--hf-color-grading-pixelate",min:0,max:1},{path:"effects.ascii",name:"--hf-color-grading-ascii",min:0,max:1},{path:"effects.dither",name:"--hf-color-grading-dither",min:0,max:1}];var hf=/^#[0-9a-f]{6}$/i;function gf(e){return!Array.isArray(e)||e.length<2||e.length>6||!e.every(t=>typeof t=="string"&&hf.test(t))?null:e.map(t=>t.toLowerCase())}function Ce(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function er(e,t,n){return Number.isFinite(e)?Math.min(n,Math.max(t,e)):0}function ys(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):t}function we(e,t){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?er(n,t.min,t.max):0}function Ri(e,t=0){let n=typeof e=="number"?e:Number(e);return Number.isFinite(n)?(n%360+360)%360:t}function xf(e){let t=Ce(e)?e:{};return ps.reduce((n,r)=>{let i=Ce(t[r])?t[r]:{};return n[r]={hue:Ri(i.hue,Lt.hue),amount:we(i.amount??Lt.amount,ds.amount),level:we(i.level??Lt.level,ds.level)},n},{shadows:{...Lt},midtones:{...Lt},highlights:{...Lt}})}function bf(e){if(!Array.isArray(e)||e.length!==2)return null;let t=Number(e[0]),n=Number(e[1]);return Number.isFinite(t)&&Number.isFinite(n)?[er(t,0,1),er(n,0,1)]:null}function Ss(e){return e.some((t,n)=>n>0&&t[0]===e[n-1]?.[0])}function yf(e){(e[0]?.[0]??0)>0&&e.unshift([0,0]),(e.at(-1)?.[0]??1)<1&&e.push([1,1])}function Sf(e){if(!Array.isArray(e)||e.length<2)return rt;let t=[];for(let n of e){let r=bf(n);if(!r)return rt;t.push(r)}return t.sort((n,r)=>n[0]-r[0]),Ss(t)||(yf(t),t.length>16)?rt:t}function Ef(e){let t=Ce(e)?e:{};return hs.reduce((n,r)=>(n[r]=Sf(t[r]),n),{master:rt,red:rt,green:rt,blue:rt})}function vf(e,t){if(!Array.isArray(e)||e.length!==2)return null;let n=Number(e[0]),r=Number(e[1]);return Number.isFinite(n)&&Number.isFinite(r)?[Ri(n),er(r,t.min,t.max)]:null}function Cf(e,t){if(!Array.isArray(e)||e.length<3||e.length>16)return Nt;let n=[];for(let r of e){let i=vf(r,t);if(!i)return Nt;n.push(i)}return n.sort((r,i)=>r[0]-i[0]),Ss(n)?Nt:n}function _f(e){let t=Ce(e)?e:{};return gs.reduce((n,r)=>(n[r]=Cf(t[r],df[r]),n),{hueVsHue:Nt,hueVsSaturation:Nt,hueVsLuma:Nt})}function fs(e){let t=Ce(e)?e:{},n=we(t.min??Si.min,_i),r=we(t.max??Si.max,_i);return{min:Math.min(n,r),max:Math.max(n,r),softness:we(t.softness??Si.softness,ce.secondarySoftRangeSoftness)}}function Af(e){let t=Ce(e)?e:{},n=we(t.range??yi.range,ce.secondaryHueRange);return{center:Ri(t.center,yi.center),range:n,softness:we(t.softness??yi.softness,{min:ce.secondaryHueSoftness.min,max:ce.secondaryHueCombinedMax-n})}}function wf(e){return{hueShift:we(e.hueShift??0,ce.secondaryHueShift),saturation:we(e.saturation??0,ce.signedUnit),luma:we(e.luma??0,ce.signedUnit),temperature:we(e.temperature??0,ce.signedUnit),tint:we(e.tint??0,ce.signedUnit)}}function Tf(e){return!Ce(e)||!Ce(e.key)||!Ce(e.correction)?null:{enabled:e.enabled!==!1,key:{hue:Af(e.key.hue),saturation:fs(e.key.saturation),luma:fs(e.key.luma)},correction:wf(e.correction)}}function Rf(e){if(!Array.isArray(e))return[];let t=[];for(let n of e.slice(0,4)){let r=Tf(n);r&&t.push(r)}return t}function Ff(e){if(e==null)return null;let t=String(e).trim();return t||null}function Lf(e){if(e==null)return null;if(typeof e=="string"){let n=e.trim();return n?{src:n,intensity:1}:null}if(!Ce(e))return null;let t=e.src;return typeof t!="string"||t.trim()===""?null:{src:t.trim(),intensity:ys(e.intensity,1)}}function Nf(e){if(typeof e=="string"){let t=e.trim();if(!t)return null;if(t.startsWith("{"))try{let n=JSON.parse(t);return Ce(n)?n:null}catch{return null}return{preset:t}}return Ce(e)?e:null}function kf(e,t){let n=e.trim().match(uf);if(!n)return e;let r=n[1]??n[2]??"";return r&&Object.hasOwn(t,r)?t[r]:e}function Zn(e,t){if(typeof e=="string"){let r=kf(e,t);if(r!==e)return r;let i=e.trim();if(!i.startsWith("{"))return e;try{return Zn(JSON.parse(i),t)}catch{return e}}if(Array.isArray(e))return e.map(r=>Zn(r,t));if(!Ce(e))return e;let n={};for(let[r,i]of Object.entries(e))n[r]=Zn(i,t);return n}function Mf(e){return e?lf.get(e)??null:null}function rr(e){let t=Nf(e);if(!t||t.enabled===!1)return null;let n=Ff(t.preset),r=Mf(n),i=r?.adjust??Ei,o=r?.details??vi,a=r?.effects??Ci,l=Ce(t.adjust)?t.adjust:{},s=Ce(t.details)?t.details:{},u=Ce(t.effects)?t.effects:{},c=nr.reduce((x,E)=>(x[E]=we(l[E]??i[E],cf[E]),x),{...Ei}),m=Ai.reduce((x,E)=>(x[E]=we(s[E]??o[E],ff[E]),x),{...vi}),f=wi.reduce((x,E)=>(x[E]=we(u[E]??a[E],mf[E]??_i),x),{...Ci});return{enabled:!0,preset:n,intensity:ys(t.intensity,r?.intensity??1),adjust:c,wheels:xf(t.wheels),curves:Ef(t.curves),hueCurves:_f(t.hueCurves),secondaries:Rf(t.secondaries),details:m,effects:f,palette:gf(t.palette),lut:Lf(t.lut),colorSpace:typeof t.colorSpace=="string"&&t.colorSpace.trim()?t.colorSpace.trim():sf}}function Es(e,t){return rr(Zn(e,t))}function Df(e){return ps.some(t=>Math.abs(e[t].amount)>1e-4||Math.abs(e[t].level)>1e-4)}function Fi(e){return hs.some(t=>e[t].some(([n,r])=>Math.abs(n-r)>1e-4))}function Li(e){return gs.some(t=>e[t].some(([,n])=>Math.abs(n)>1e-4))}function Ni(e){return e.some(t=>t.enabled&&Object.values(t.correction).some(n=>Math.abs(n)>1e-4))}function vs(e){return e?.enabled?Math.abs(e.details.vignette)>1e-4||Math.abs(e.details.grain)>1e-4||xs.some(n=>Math.abs(e.effects[n])>1e-4)?!0:e.intensity===0?!1:e.lut&&e.lut.intensity!==0?!0:nr.some(n=>Math.abs(e.adjust[n])>1e-4)||(e.wheels?Df(e.wheels):!1)||(e.curves?Fi(e.curves):!1)||(e.hueCurves?Li(e.hueCurves):!1)||(e.secondaries?Ni(e.secondaries):!1):!1}var If=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Pf=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Cs(e){let t=!1,n=null,r=null,i=null,o=null;function a(b,S){try{window.dispatchEvent(new CustomEvent(b,{detail:S}))}catch(A){F("runtime.picker.site1",A)}}function l(b){i=b,a("hyperframe:picker:hovered",{elementInfo:i,isPickMode:t,timestamp:Date.now()})}function s(b){o=b,a("hyperframe:picker:selected",{elementInfo:o,isPickMode:t,timestamp:Date.now()})}function u(b){let S=b.ownerDocument.defaultView;if(!S)return!1;let A=b;for(;A&&A!==document.body&&A!==document.documentElement;){let R=S.getComputedStyle(A);if(R.display==="none"||R.visibility==="hidden"||R.pointerEvents==="none")return!0;let N=Number.parseFloat(R.opacity);if(Number.isFinite(N)&&N<=.01&&!A.hasAttribute(sn))return!0;A=A.parentElement}return!1}function c(b){if(!b||b===document.body||b===document.documentElement)return!1;let S=b.tagName.toLowerCase();return!(S==="script"||S==="style"||S==="link"||S==="meta"||b.classList.contains("__hf-pick-highlight")||b.closest(If)||u(b))}function m(b){return!!b?.closest(Pf)}function f(b){let S=b;if(S.id)return`#${CSS.escape(S.id)}`;let A=b.getAttribute("data-composition-id");if(A)return`[data-composition-id="${CSS.escape(A)}"]`;let R=b.getAttribute("data-composition-src");if(R)return`[data-composition-src="${CSS.escape(R)}"]`;let N=b.getAttribute("data-track-index");if(N)return`[data-track-index="${CSS.escape(N)}"]`;let G=b.tagName.toLowerCase(),U=b.parentElement;if(!U)return G;let ne=U.querySelectorAll(`:scope > ${G}`);if(ne.length===1)return G;for(let H=0;H<ne.length;H+=1)if(ne[H]===b)return`${G}:nth-of-type(${H+1})`;return G}function x(b){let S=b.tagName.toLowerCase(),A=(b.textContent??"").trim().replace(/\\s+/g," "),R=(N,G)=>N.length>G?`${N.slice(0,G-1)}\\u2026`:N;return S==="h1"||S==="h2"||S==="h3"?"Heading":S==="p"||S==="span"||S==="div"?A.length>0?R(A,56):"Text":S==="img"?"Image":S==="video"?"Video":S==="audio"?"Audio":S==="svg"?"Shape":b.getAttribute("data-composition-src")?"Composition":S==="section"?"Section":`${S.charAt(0).toUpperCase()}${S.slice(1)}`}function E(b,S,A){let R=typeof A=="number"&&A>0?A:8,N=[];if(document.elementsFromPoint)N=document.elementsFromPoint(b,S);else if(document.elementFromPoint){let ne=document.elementFromPoint(b,S);N=ne?[ne]:[]}if(m(N[0]??null))return[];let G={},U=[];for(let[ne,H]of N.entries()){if(!c(H))continue;let J=`${H.tagName}::${H.id||""}::${ne}`;if(!G[J]&&(G[J]=!0,U.push(H),U.length>=R))break}return U}function C(b){let S=b.getBoundingClientRect(),A={};for(let N of Array.from(b.attributes))N.name.startsWith("data-")&&(A[N.name]=N.value);return{id:b.id||null,tagName:b.tagName.toLowerCase(),selector:f(b),label:x(b),boundingBox:{x:S.left,y:S.top,width:S.width,height:S.height},textContent:b.textContent?b.textContent.trim().slice(0,200):null,src:b.getAttribute("src")||b.getAttribute("data-composition-src")||null,dataAttributes:A}}function y(b,S,A){return E(b,S,A).map(C)}function w(b){if(!t)return;let A=E(b.clientX,b.clientY,1)[0]??(b.target instanceof Element?b.target:null);if(!c(A)||n===A)return;n&&n.classList.remove("__hf-pick-highlight"),n=A,A.classList.add("__hf-pick-highlight");let R=C(A);l(R),e.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:R})}function T(b){if(!t)return;b.preventDefault(),b.stopPropagation(),b.stopImmediatePropagation();let S=y(b.clientX,b.clientY,8);S.length!==0&&(l(S[0]??null),e.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:S,selectedIndex:0,point:{x:b.clientX,y:b.clientY}}))}function k(b){b.key==="Escape"&&(P(),e.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function D(){t||(t=!0,r=document.createElement("style"),r.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(r),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",T,!0),document.addEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function P(){t&&(t=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),r&&(r.remove(),r=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",T,!0),document.removeEventListener("keydown",k,!0),a("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:D,disable:P,isActive:()=>t,getHovered:()=>i,getSelected:()=>o,getCandidatesAtPoint:(b,S,A)=>Number.isFinite(b)&&Number.isFinite(S)?y(b,S,A):[],pickAtPoint:(b,S,A)=>{if(!Number.isFinite(b)||!Number.isFinite(S))return null;let R=y(b,S,8);if(!R.length)return null;let N=Math.max(0,Math.min(R.length-1,Number(A??0))),G=R[N]??null;return G?(s(G),e.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),P(),G):null},pickManyAtPoint:(b,S,A)=>{if(!Number.isFinite(b)||!Number.isFinite(S))return[];let R=y(b,S,8);if(!R.length)return[];let N=[],G=Array.isArray(A)?A:[0];for(let U of G){let ne=Math.max(0,Math.min(R.length-1,Math.floor(Number(U)))),H=R[ne];if(!H)continue;N.some(_e=>_e.selector===H.selector&&_e.tagName===H.tagName)||N.push(H)}return N.length?(s(N[0]??null),e.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:N}),P(),N):[]}},a("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:D,disablePickMode:P,installPickerApi:_}}var Of=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function kt(e,t){let n=Number.isFinite(t)&&t>0?t:30,r=Number.isFinite(e)&&e>0?e:0;return Math.floor(r*n+1e-9)/n}function _s(e,t,n=Of){for(let r of n){let i=t.getPropertyValue(r);i&&e.setProperty(r,i)}}function ln(e,t,n){let r=e?.[t];return typeof r=="function"?Number(r.call(e))||n:typeof r=="number"&&Number.isFinite(r)?r:(r!=null&&F("runtime.player.nonConformantNum",{prop:t,actual:typeof r}),n)}function Be(e,t){let n=e?.[t];if(typeof n=="function"){n.call(e);return}n!==void 0&&F("runtime.player.nonConformantVoid",{method:t,actual:typeof n})}function un(e,t,n){if(e){for(let r of Object.values(e))if(!(!r||r===t))try{n(r)}catch(i){F("runtime.player.site1",i)}}}function As(e,t,n,r){let i=kt(t,n),o=r?.suppressEvents===!0;return Be(e,"pause"),typeof e.totalTime=="function"?e.totalTime(i,o):typeof e.seek=="function"&&e.seek(i,o),i}function Gf(e,t,n,r,i){let o=[];un(e,t,a=>{Be(a,"play"),o.push(a)});try{return As(t,n,r,i)}finally{for(let a of o)try{Be(a,"pause")}catch(l){F("runtime.player.site2",l)}}}function Hf(e,t){un(e,t,n=>{Be(n,"play")})}function ws(e){let t=e.transport;return t?{_timeline:null,play:()=>t.play(),pause:()=>t.pause(),seek:(n,r)=>t.seek(n,r),renderSeek:(n,r)=>t.renderSeek(n,r),getTime:()=>t.getTime(),getDuration:()=>t.getDuration(),isPlaying:()=>t.isPlaying(),setPlaybackRate:n=>t.setPlaybackRate(n),getPlaybackRate:()=>t.getPlaybackRate()}:{_timeline:null,play:()=>{let n=e.getTimeline();if(!n||e.getIsPlaying())return;let r=Math.max(0,Number(e.getSafeDuration?.()??ln(n,"duration",0))||0);r>0&&Math.max(0,ln(n,"time",0))>=r&&(Be(n,"pause"),typeof n.seek=="function"&&n.seek(0,!1),e.onDeterministicSeek(0),e.setIsPlaying(!1),e.onSyncMedia(0,!1),e.onRenderFrameSeek(0)),typeof n.timeScale=="function"&&n.timeScale(e.getPlaybackRate()),Be(n,"play"),un(e.getTimelineRegistry?.(),n,i=>{typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play")}),e.onDeterministicPlay(),e.setIsPlaying(!0),e.onShowNativeVideos(),e.onStatePost(!0)},pause:()=>{let n=e.getTimeline();if(!n)return;Be(n,"pause"),un(e.getTimelineRegistry?.(),n,i=>{Be(i,"pause")});let r=Math.max(0,ln(n,"time",0));e.onDeterministicSeek(r),e.onDeterministicPause(),e.setIsPlaying(!1),e.onSyncMedia(r,!1),e.onRenderFrameSeek(r),e.onStatePost(!0)},seek:(n,r)=>{let i=e.getTimeline();if(!i)return;let o=Math.max(0,Number(n)||0),a=e.getIsPlaying(),l=Gf(e.getTimelineRegistry?.(),i,o,e.getCanonicalFps());e.onDeterministicSeek(l),r?.keepPlaying&&a?(typeof i.timeScale=="function"&&i.timeScale(e.getPlaybackRate()),Be(i,"play"),un(e.getTimelineRegistry?.(),i,s=>{typeof s.timeScale=="function"&&s.timeScale(e.getPlaybackRate()),Be(s,"play")}),e.onDeterministicPlay(),e.onShowNativeVideos(),e.onSyncMedia(l,!0)):(e.setIsPlaying(!1),e.onSyncMedia(l,!1)),e.onRenderFrameSeek(l),e.onStatePost(!0)},renderSeek:(n,r)=>{let i=e.getTimeline(),o=e.getCanonicalFps(),a=i?(Hf(e.getTimelineRegistry?.(),i),As(i,n,o,r)):kt(Math.max(0,Number(n)||0),o);e.onDeterministicSeek(a,r),e.setIsPlaying(!1),e.onSyncMedia(a,!1),e.onRenderFrameSeek(a),e.onStatePost(!0)},getTime:()=>ln(e.getTimeline(),"time",0),getDuration:()=>ln(e.getTimeline(),"duration",0),isPlaying:()=>e.getIsPlaying(),setPlaybackRate:n=>e.setPlaybackRate(n),getPlaybackRate:()=>e.getPlaybackRate()}}function Ts(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],injectedCompLinks:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Bf=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Mi(e){return e.id||e.getAttribute("data-hf-id")||null}function ki(e){if(e==null)return null;let t=Number(e);return Number.isFinite(t)?t:null}function Uf(e,t){let n=e.getAttribute("data-composition-id");if(!n)return null;let r=Number(t[n]?.duration?.());return Number.isFinite(r)&&r>0?r:null}function Wf(e){if(!(e instanceof HTMLMediaElement)||!Number.isFinite(e.duration))return null;let t=ki(e.getAttribute("data-playback-start"))??ki(e.getAttribute("data-media-start"))??0;return e.duration>t?e.duration-t:null}function Vf(e,t,n,r){let i=ki(e.getAttribute("data-duration"));return i!=null&&i>0?i:Uf(e,t)??Wf(e)??Math.max(0,n-r)}function zf(e){for(let[t,n]of e){let r=t.parentElement;for(;r;){let i=e.get(r);if(i){n.parentId=i.id,i.children.push(n);break}r=r.parentElement}}}function Rs(e){let{startResolver:t,timelineRegistry:n,rootDuration:r}=e,i=new Map,o=document.querySelector("[data-composition-id]"),a=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Bf.has(l.tagName))continue;let s=t.resolveStartForElement(l,0);if(Vf(l,n,r,s)<=0)continue;let u={id:Mi(l)??`__clip-${a++}`,element:l,parentId:null,children:[]};i.set(l,u)}return zf(i),{roots:Array.from(i.values()).filter(l=>l.parentId===null)}}var Di="css:root",Fs=["backdrop-filter","clip-path","filter","mask","mask-border-source","mask-image","perspective","rotate","scale","transform","translate","-webkit-mask-image"],$f=new Set([...Fs,"contain","isolation","mask-border","mix-blend-mode","opacity"]),qf=new Set(["absolute","relative"]),jf=new Set(["flex","inline-flex","grid","inline-grid"]),Kf=new Set(["layout","paint","strict","content"]),Yf=new Set(["size","inline-size"]);function Xf(e){return e.position==="fixed"||e.position==="sticky"}function Jf(e,t){if(t.zIndex==="auto"||t.zIndex==="")return!1;if(qf.has(t.position))return!0;let n=e.parentElement?e.ownerDocument.defaultView?.getComputedStyle(e.parentElement).display:null;return n!=null&&jf.has(n)}function Qf(e){let t=Number.parseFloat(e.opacity);if(Number.isFinite(t)&&t<1||e.getPropertyValue("isolation")==="isolate")return!0;let n=e.getPropertyValue("mix-blend-mode");return n&&n!=="normal"?!0:Fs.some(r=>{let i=e.getPropertyValue(r);return i!==""&&i!=="none"})}function Zf(e){return e.getPropertyValue("contain").split(/\\s+/).some(n=>Kf.has(n))?!0:Yf.has(e.getPropertyValue("container-type"))}function em(e){return e.getPropertyValue("will-change").split(",").map(t=>t.trim()).some(t=>$f.has(t))}function tm(e,t){return Xf(t)||Jf(e,t)||Qf(t)||Zf(t)?!0:em(t)}function nm(e){let t=[],n=e;for(;n?.parentElement;)t.push(Array.prototype.indexOf.call(n.parentElement.children,n)),n=n.parentElement;return`css:${t.reverse().join(".")}`}function ir(e){let t=e.ownerDocument.defaultView;if(!t)return Di;let n=e.parentElement;for(;n&&n!==e.ownerDocument.documentElement;){try{if(tm(n,t.getComputedStyle(n)))return nm(n)}catch{return Di}n=n.parentElement}return Di}var Mt=Object.freeze({start:"data-start",duration:"data-duration",trackIndex:"data-track-index",derivedEnd:"data-end",legacyTrack:"data-layer"}),wb=Object.freeze([Mt.start,Mt.duration,Mt.trackIndex]),Tb=Object.freeze([Mt.derivedEnd]),Rb=Object.freeze([Mt.derivedEnd,Mt.legacyTrack]);function ke(e){if(e==null||e.trim()==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}var Ns=/^[A-Za-z0-9_.:-]+$/;function ks(e,t){let n=e.charCodeAt(t);return n>=48&&n<=57}function Ls(e,t){let n=t;for(;n>=0&&ks(e,n);)n--;return n}function rm(e,t){let n=t;for(;n>=0&&(e[n]??"").trim()==="";)n--;return n}function im(e){let t=e.length-1;if(!ks(e,t))return null;let n=Ls(e,t);return e[n]==="."&&(n=Ls(e,n-1)),n+1}function om(e){let t=im(e);if(t==null)return null;let n=rm(e,t-1),r=e[n];if(r!=="+"&&r!=="-")return null;let i=e.slice(0,n).trim();if(!Ns.test(i))return null;let o=Number(e.slice(t));return Number.isFinite(o)?{refId:i,operator:r,magnitude:o}:null}function Ii(e){let t=(e??"").trim();if(!t)return null;let n=ke(t);if(n!=null)return{kind:"absolute",value:n};if(Ns.test(t))return{kind:"reference",refId:t,offset:0};let r=om(t);return r?{kind:"reference",refId:r.refId,offset:r.operator==="-"?-r.magnitude:r.magnitude}:null}var am="data-hf-authored-duration",sm="data-hf-authored-end";function lm(e){return ke(e.getAttribute("data-duration"))}function um(e){return ke(e.getAttribute("data-end"))}function cm(e){return ke(e.getAttribute(am))}function dm(e){return ke(e.getAttribute(sm))}function it(e){let t=e.timelineRegistry??{},n=e.includeAuthoredTimingAttrs??!1,r=e.documentRef??document,i=new WeakMap,o=new WeakMap,a=new Set,l=f=>{let x=r.getElementById(f);return x||(r.querySelector(`[data-composition-id="${CSS.escape(f)}"]`)??null)},s=f=>{let x=f.ownerDocument.defaultView?.HTMLMediaElement;return x?f instanceof x:typeof HTMLMediaElement<"u"&&f instanceof HTMLMediaElement},u=f=>{let x=o.get(f);if(x!==void 0)return x;let E=null,C=lm(f)??(n?cm(f):null);if(C!=null&&C>0&&(E=C),E==null||E<=0){let y=um(f)??(n?dm(f):null);if(y!=null){let w=m(f,0),T=y-w;Number.isFinite(T)&&T>0&&(E=T)}}if((E==null||E<=0)&&s(f)){let y=ke(f.getAttribute("data-playback-start"))??ke(f.getAttribute("data-media-start"))??0;Number.isFinite(f.duration)&&f.duration>y&&(E=(f.duration-y)/qe(f))}if(E==null||E<=0){let y=f.getAttribute("data-composition-id");if(y){let w=t[y]??null;if(w&&typeof w.duration=="function")try{let T=Number(w.duration());Number.isFinite(T)&&T>0&&(E=T)}catch(T){F("runtime.startResolver.site1",T)}}}return E!=null&&Number.isFinite(E)&&E>0?(o.set(f,E),E):(o.set(f,null),null)},c=(f,x)=>{if(f.hasAttribute("data-composition-id")){let C=f.parentElement?.closest("[data-composition-id]");return C?m(C,x):0}let E=f.closest("[data-composition-id]");return E?m(E,x):0},m=(f,x)=>{let E=i.get(f);if(E!==void 0)return E??x;if(a.has(f))return x;a.add(f);try{let C=Ii(f.getAttribute("data-start"));if(!C){if(f.hasAttribute("data-composition-id")){let D=f.parentElement;if(D&&(D.hasAttribute("data-composition-src")||D.hasAttribute("data-composition-id")||D.hasAttribute("data-composition-file"))){let P=m(D,x);return i.set(f,P),P}}return i.set(f,x),x}if(C.kind==="absolute"){let D=Math.max(0,C.value),P=Math.max(0,c(f,x)+D);return i.set(f,P),P}let y=l(C.refId);if(!y)return i.set(f,x),x;let w=m(y,0),T=u(y);if(T==null||T<=0){let D=Math.max(0,w+C.offset);return i.set(f,D),D}let k=Math.max(0,w+T+C.offset);return i.set(f,k),k}finally{a.delete(f)}};return{resolveStartForElement:(f,x=0)=>m(f,Math.max(0,x)),resolveDurationForElement:f=>u(f)}}function Pi(e){let t=e.trim().toLowerCase();return!(!t||t==="main"||t.includes("caption")||t.includes("ambient"))}var mm="data-hf-authored-duration",pm="data-hf-authored-end";function Te(e){if(e==null||e==="")return null;let t=Number(e);return Number.isFinite(t)?t:null}function Oi(e){return Te(e.getAttribute("data-duration"))??Te(e.getAttribute(mm))}function Ms(e){return Te(e.getAttribute("data-end"))??Te(e.getAttribute(pm))}function Gi(e){try{let t=e.style?.zIndex;if(t&&t!=="auto"){let n=parseInt(t,10);if(Number.isFinite(n))return n}return 0}catch{return 0}}function Hi(...e){let t=e.filter(n=>Number.isFinite(n??null));return t.length===0?null:Math.max(...t)}function Bi(e,t){let n=e.getAttribute("data-track-index")??e.getAttribute("data-track");if(n==null)return t;let r=Number.parseInt(n,10);return Number.isFinite(r)?r:t}function dn(e){let t=String(e??"").trim();if(!t)return null;let n=t.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(t,document.baseURI).toString()}catch{return t}}function Ds(e){let t=e.getAttribute("src")??e.getAttribute("data-src");if(t)return dn(t);let n=e.getAttribute("data-composition-src");if(n)return dn(n);let r=e.querySelector("img[src], video[src], audio[src], source[src]");return r?dn(r.getAttribute("src")):null}function hm(e){let t=e.className;return typeof t!="string"?null:t.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function gm(e){if(!e)return null;try{return new URL(e,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return e.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function xm(e){let t=e.textContent?.replace(/\\s+/g," ").trim();return t?t.length>32?`${t.slice(0,31)}...`:t:null}function cn(e){let t=e.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return t?t.replace(/\\b\\w/g,n=>n.toUpperCase()):e}function bm(e,t,n){let r=e.getAttribute("data-timeline-label")??e.getAttribute("data-label")??e.getAttribute("aria-label")??null;if(r?.trim())return r.trim();let i=e.getAttribute("data-composition-id");if(i)return cn(i);let o=e.id;if(o)return cn(o);let a=hm(e);if(a)return cn(a);let l=gm(Ds(e));if(l)return cn(l);let s=xm(e);return s||`${cn(t)} ${n+1}`}function Is(e){let n=window.__timelines??{},r=it({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),i=B=>{if(!B)return null;let M=n[B]??null;if(!M||typeof M.duration!="function")return null;try{let I=Number(M.duration());return Number.isFinite(I)&&I>0?I:null}catch{return null}},o=B=>{let M=Te(B.getAttribute("data-duration"));if(M!=null&&M>0)return M;let I=Te(B.getAttribute("data-playback-start"))??Te(B.getAttribute("data-media-start"))??0;return Number.isFinite(B.duration)&&B.duration>I?Math.max(0,(B.duration-I)/qe(B)):null},a=()=>{let B=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(B.length===0)return null;let M=0;for(let I of B){let ue=I.hasAttribute("data-hf-auto-start")?r.resolveStartForElement(I,0):Math.max(0,Number(I.getAttribute("data-start")??0)||0);if(!Number.isFinite(ue))continue;let ae=o(I);ae==null||ae<=0||(M=Math.max(M,Math.max(0,ue)+ae))}return M>0?M:null},l=(B,M)=>{let I=[],ue=null,ae=null,$=null,q=B.parentElement;for(;q;){let j=q.getAttribute("data-composition-id");j&&(I.push(j),!$&&q!==M&&($=j),ue==null&&(ue=r.resolveStartForElement(q,0)),ae==null&&(ae=Te(q.getAttribute("data-duration"))??i(j)??null)),q=q.parentElement}return{parentCompositionId:$,compositionAncestors:I.reverse(),inheritedStart:ue,inheritedDuration:ae}},s=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),c=s?.getAttribute("data-composition-id")??null,m=s?r.resolveStartForElement(s,0):0,f=a(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,E=i(c),C=Oi(s??document.body),y=Hi(...u.filter(B=>B!==s).map(B=>{let M=r.resolveStartForElement(B,0),I=r.resolveDurationForElement(B)??i(B.getAttribute("data-composition-id"))??null;return!Number.isFinite(M)||I==null||I<=0?null:Math.max(0,M)+I})),w=y!=null?Math.max(0,y-Math.max(0,m)):null,T=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,k=typeof C=="number"&&Number.isFinite(C)&&C>0?C:null,D=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,P=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=Hi(D,P),b=T!=null&&_!=null&&T>_+1,A=k??(b?_:Hi(T,D,P))??null,N=(A!=null?m+A:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(B,M)=>!Number.isFinite(M)||M<=0?0:N==null||!Number.isFinite(N)?M:!Number.isFinite(B)||B>=N?0:Math.max(0,Math.min(M,N-B)),U=[],ne=[],H=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),J=0;for(let[B,M]of H.entries()){if(M===s||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(M.tagName))continue;let I=l(M,s),ue=r.resolveStartForElement(M,I.inheritedStart??0),ae=M.getAttribute("data-composition-id"),$=Oi(M);if(($==null||$<=0)&&ae&&ae!==c&&($=i(ae)),($==null||$<=0)&&M instanceof HTMLMediaElement){let me=Te(M.getAttribute("data-playback-start"))??Te(M.getAttribute("data-media-start"))??0;Number.isFinite(M.duration)&&M.duration>0&&($=Math.max(0,M.duration-me))}if($==null||$<=0){let me=I.inheritedDuration;if(me!=null&&me>0){let Ie=(I.inheritedStart??0)+me;$=Math.max(0,Ie-ue)}}if($==null||$<=0||($=G(ue,$),$<=0))continue;let q=ue+$;J=Math.max(J,q);let j=M.tagName.toLowerCase(),Ve=ae&&ae!==c?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";U.push({id:Mi(M)??ae??null,label:bm(M,Ve,U.length),start:ue,duration:$,track:Bi(M,B),zIndex:Gi(M),stackingContextId:ir(M),kind:Ve,tagName:j,compositionId:M.getAttribute("data-composition-id"),compositionAncestors:I.compositionAncestors,parentCompositionId:I.parentCompositionId,nodePath:null,compositionSrc:dn(M.getAttribute("data-composition-src")),playbackStart:Rt(M),playbackRate:qe(M),assetUrl:Ds(M),timelineRole:M.getAttribute("data-timeline-role"),timelineLabel:M.getAttribute("data-timeline-label"),timelineGroup:M.getAttribute("data-timeline-group"),timelinePriority:Te(M.getAttribute("data-timeline-priority"))})}let _e=new Set(U.map(B=>B.id)),z=s?.getAttribute("data-composition-id")??null,Y=z?n[z]??null:null;if(Y&&s){let B=Y;if(typeof B.getChildren=="function")try{let M=B.getChildren(!0,!0,!1)??[],I=new Map;for(let $ of s.children){let q=$;if(!q.id)continue;let j=q.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||I.set(q,{id:q.id,start:1/0,end:-1/0})}let ue=$=>{let q=$;for(;q;){if(I.has(q))return q;if(q===s)return null;q=q.parentElement}return null};for(let $ of M){if(typeof $.targets!="function"||typeof $.startTime!="function"||typeof $.duration!="function")continue;let q=$.startTime(),j=$.parent;for(;j&&j!==Y&&typeof j.startTime=="function";)q+=j.startTime(),j=j.parent;let Ve=q+$.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Ve)))for(let me of $.targets()){if(!(me instanceof Element))continue;let Ct=ue(me);if(!Ct)continue;let Ie=I.get(Ct);Ie&&(Ie.start=Math.min(Ie.start,q),Ie.end=Math.max(Ie.end,Ve))}}let ae=U.length>0?Math.max(...U.map($=>$.track))+1:0;for(let[$,q]of I){if(q.start===1/0||q.end===-1/0)continue;let j=$;if(_e.has(j.id))continue;let Ve=Math.max(0,q.end-q.start);if(Ve<=0)continue;let me=G(q.start,Ve);me<=0||(J=Math.max(J,q.start+me),U.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:q.start,duration:me,track:Bi(j,ae),zIndex:Gi(j),stackingContextId:ir(j),kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(j),playbackRate:qe(j),assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:Te(j.getAttribute("data-timeline-priority"))}),_e.add(j.id))}}catch(M){F("runtime.timeline.site1",M)}}if(s&&A!=null&&A>0){let B=U.length>0?Math.max(...U.map(M=>M.track))+1:0;for(let M of s.children){let I=M;if(!I.id||_e.has(I.id))continue;let ue=I.getAttribute("data-timeline-role");if(ue!=="overlay"&&ue!=="persistent-overlay")continue;let ae=I.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(I).display==="none")continue;let q=G(0,A);q<=0||(J=Math.max(J,q),U.push({id:I.id,label:I.getAttribute("data-timeline-label")??I.getAttribute("data-label")??I.getAttribute("aria-label")??I.id,start:0,duration:q,track:Bi(I,B),zIndex:Gi(I),stackingContextId:ir(I),kind:"element",tagName:ae,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:z?[z]:[],parentCompositionId:z,nodePath:null,compositionSrc:null,playbackStart:Rt(I),playbackRate:qe(I),assetUrl:null,timelineRole:ue,timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Te(I.getAttribute("data-timeline-priority"))}),_e.add(I.id))}}for(let B of u){if(B===s)continue;let M=B.getAttribute("data-composition-id");if(!M||!Pi(M))continue;let I=r.resolveStartForElement(B,0),ue=Oi(B);if((ue==null||ue<=0)&&Ms(B)!=null){let j=Ms(B);ue=Math.max(0,j-I)}let ae=i(M),$=ue&&ue>0?ue:ae;if($==null||$<=0)continue;let q=G(I,$);q<=0||ne.push({id:M,label:B.getAttribute("data-label")??M,start:I,duration:q,thumbnailUrl:dn(B.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,J||1,A??0),ee=b&&k==null,Ae=ee?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,e.canonicalFps)));return{...zn(e.canonicalFps),source:"hf-preview",type:"timeline",compositionContractVersion:1,durationSeconds:ee?Number.POSITIVE_INFINITY:V,durationInFrames:Ae,clips:U,scenes:ne,compositionWidth:Te(s?.getAttribute("data-width"))??1920,compositionHeight:Te(s?.getAttribute("data-height"))??1080}}var Ui="data-composition-id",ym="data-composition-src",Sm=`[${Ui}]`,ty=`[${ym}]`,Ps="style",Os="script",Em=\'link[rel="stylesheet"], link[rel="preconnect"]\';function Dt(e){return e?Array.from(e):[]}function Gs(e){let{contentNode:t,head:n,documentElement:r,hasTemplate:i,compositionId:o}=e,a=Dt(t.querySelectorAll(Sm)),l=o?a.find(c=>c.getAttribute(Ui)===o)??null:a[0]??null,s=(l??a[0])?.getAttribute(Ui)?.trim()||"",u=i?null:n??null;return{innerRoot:l,authoredCompositionId:o||s||null,scriptCompositionId:s||o||null,authoredRootId:l?.getAttribute("id")?.trim()||null,styleSources:[...Dt(u?.querySelectorAll(Ps)),...Dt(t.querySelectorAll(Ps))],scriptSources:[...Dt(u?.querySelectorAll(Os)),...Dt(t.querySelectorAll(Os))],linkSources:Dt(n?.querySelectorAll(Em)),variableDefaultCarriers:[r,l].filter(c=>c!=null)}}var de=_d(uu(),1),cu=de.default,zy=de.default.stringify,$y=de.default.fromJSON,qy=de.default.plugin,jy=de.default.parse,Ky=de.default.list,Yy=de.default.document,Xy=de.default.comment,Jy=de.default.atRule,Qy=de.default.rule,Zy=de.default.decl,eS=de.default.root,tS=de.default.CssSyntaxError,nS=de.default.Declaration,rS=de.default.Container,iS=de.default.Processor,oS=de.default.Document,aS=de.default.Comment,sS=de.default.Warning,lS=de.default.AtRule,uS=de.default.Result,cS=de.default.Input,dS=de.default.Rule,fS=de.default.Root,mS=de.default.Node;var po="data-hf-authored-id",du="data-hf-inner-root";function ho(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function go(e){return e.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Vp(e){return e&&e.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function mu(e){let t=e.trim();return t?Array.from(new Set([t,Vp(t)])).filter(Boolean):[]}function zp(e){return!!e&&/[\\w-]/.test(e)}function $p(e,t,n){let r=mu(t).sort((l,s)=>s.length-l.length);if(r.length===0)return e;let i="",o=0,a=null;for(let l=0;l<e.length;l+=1){let s=e[l],u=l>0?e[l-1]:"";if(a){i+=s,s===a&&u!=="\\\\"&&(a=null);continue}if(s===\'"\'||s==="\'"){a=s,i+=s;continue}if(s==="["){o+=1,i+=s;continue}if(s==="]"){o=Math.max(0,o-1),i+=s;continue}if(s==="#"&&o===0){let c=r.find(m=>e.startsWith(m,l+1));if(c){let m=e[l+1+c.length];if(!zp(m)){i+=n,l+=c.length;continue}}}i+=s}return i}function qp(e,t){let n=t?.trim();return n?$p(e,n,`[${po}="${go(n)}"]`):e}function fu(e){return`${e}:not(:has([${du}])), ${e} > [${du}]`}function jp(e,t,n,r,i,o){let a=qp(e,r),l=Kp(a,t,n),s=l.trim();if(!s||s==="*")return e;if(/^(html|body|:root)$/i.test(s))return o?fu(t):e;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${ho(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return s.replace(u,"").trim()===""?fu(t):l.replace(u,t);let c=l.match(/^\\s*/)?.[0]??"",m=l.match(/\\s*$/)?.[0]??"";if(i){let f=r?`[${po}="${go(r)}"]`:null;if(f&&s.startsWith(f)){let x=s.slice(f.length);return`${c}${t}${f}${x}${m}`}}return`${c}${t} ${s}${m}`}function Kp(e,t,n){let r=ho(n),i=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${r}"|\'${r}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return e.replace(new RegExp(`${i}(?:${o})+`,"g"),t).replace(new RegExp(`(?:${o})+${i}`,"g"),t)}var Yp=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xp(e){return e?.type==="atrule"}function Jp(e){let t=e.parent;for(;t;){if(Xp(t)&&Yp.has(t.name.toLowerCase()))return!0;t=t.parent}return!1}function Qp(e){let t=e.parent;for(;t;){if(t.type==="rule")return!0;t=t.parent}return!1}function pu(e,t,n,r,i){let o=t.trim();if(!e||!o)return e;let a=n||`[data-composition-id="${go(o)}"]`,l=cu.parse(e);return l.walkRules(s=>{Jp(s)||Qp(s)||(s.selectors=s.selectors.map(u=>jp(u,a,o,r,i?.compoundAuthoredRoot,i?.scopeRootSelectors)))}),l.toResult({map:!1}).css}function hu(e,t,n="[HyperFrames] composition script error:",r,i=t,o){let a=JSON.stringify(t),l=JSON.stringify(i),s=JSON.stringify(n),u=ho(t),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(r??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),E=JSON.stringify(mu(o?.trim()||""));return`(function(){\n var __hfCompId = ${a};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${s};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify(po)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${E};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.get(target, prop, target);\n }\n var authoredValue = Reflect.get(target, prop, target);\n return authoredValue === undefined\n ? Reflect.get(target, __hfTimelineCompId, target)\n : authoredValue;\n },\n set: function(target, prop, value, receiver) {\n if (prop !== __hfCompId) {\n return Reflect.set(target, prop, value, target);\n }\n // The authored node remains in the compiled DOM when its local id\n // differs from the runtime mount id, so readiness legitimately sees\n // both compositions. Publish the same timeline under both identities\n // instead of replacing one with the other.\n var authoredSet = Reflect.set(target, __hfCompId, value, target);\n var runtimeSet = Reflect.set(target, __hfTimelineCompId, value, target);\n return authoredSet && runtimeSet;\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n // Common authoring boilerplate assigns the registry back to\n // itself (window.__timelines = window.__timelines || {}). The\n // getter above returns our proxy; do not replace the canonical\n // registry with that proxy or later wrappers will stack proxies.\n if (value === __hfTimelineRegistryProxy) return true;\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${e.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}var Zp=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function gu(e){let t=e.getAttribute("id")?.trim();for(let n of Zp)e.removeAttribute(n);t&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",t)),e.setAttribute("data-hf-inner-root","true")}var e0=8e3,t0=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,n0=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,r0=["src","href"];function i0(e){return!e||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")||e.startsWith("data:")||e.startsWith("#")||e.startsWith("/")}function yu(e,t){if(!t)return e;let n=e.trim();if(i0(n)||!n.startsWith("../")&&n!=="..")return e;try{return new URL(n,t).href}catch{return e}}function Su(e,t){return!t||!e?e:e.replace(n0,(n,r,i)=>{let o=yu(i||"",t);return o===i?n:`url(${r||""}${o}${r||""})`})}function o0(e,t){for(let n of Array.from(e.querySelectorAll("[src], [href]")))for(let r of r0){let i=n.getAttribute(r);if(i==null)continue;let o=yu(i,t);o!==i&&n.setAttribute(r,o)}}function a0(e,t){for(let n of Array.from(e.querySelectorAll("[style]"))){let r=n.getAttribute("style");if(r==null)continue;let i=Su(r,t);i!==r&&n.setAttribute("style",i)}}function s0(e,t){for(let n of Array.from(e.querySelectorAll("style"))){let r=n.textContent||"",i=Su(r,t);i!==r&&(n.textContent=i)}}function Eu(e,t){if(t){o0(e,t),a0(e,t),s0(e,t);for(let n of Array.from(e.querySelectorAll("template")))Eu(n.content,t)}}function l0(e,t){return`${e}__hf${t}`}var u0=e=>new Promise(t=>{let n=!1,r=Date.now(),i=null,o=a=>{n||(n=!0,i!=null&&window.clearTimeout(i),t({status:a,elapsedMs:Math.max(0,Date.now()-r)}))};e.addEventListener("load",()=>o("load"),{once:!0}),e.addEventListener("error",()=>o("error"),{once:!0}),i=window.setTimeout(()=>o("timeout"),e0)});function xo(e){for(;e.firstChild;)e.removeChild(e.firstChild);e.textContent=""}function xu(e){for(let t of Array.from(e.querySelectorAll("style, script")))t.remove()}function c0(e){let t=document.importNode(e,!0);gu(t);let n=t.getAttribute("data-width"),r=t.getAttribute("data-height");return t.style.width=n?`${n}px`:"100%",t.style.height=r?`${r}px`:"100%",t}function d0(e,t){let n=e.trim();if(!n)return e;try{return t0.test(n)&&!n.startsWith("#")&&!n.startsWith("?")?new URL(n,document.baseURI).toString():t?new URL(n,t).toString():new URL(n,document.baseURI).toString()}catch{return e}}function bu(e,t){try{let n=new URL(e),r=new URL(t);return n.search="",n.hash="",r.search="",r.hash="",n.href===r.href}catch{return!1}}function Sr(e){let t=(e.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(e.getAttribute("data-hf-original-composition-id")||t||"").trim()||null,runtimeCompositionId:t}}function f0(e){let t=new Map;for(let n of e){let r=Sr(n).authoredCompositionId||"";r&&t.set(r,(t.get(r)||0)+1)}return t}function vu(e){let t=Sr(e).authoredCompositionId;return t?!!document.querySelector(`template#${CSS.escape(t)}-template`):!1}function m0(e){return!!e.querySelector(\'[data-hf-inner-root="true"]\')}function p0(e){return e.hasAttribute("data-composition-src")?!0:vu(e)?e.children.length===0||e.hasAttribute("data-hf-original-composition-id")?!0:m0(e):!1}function yo(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(t=>t.hasAttribute("data-composition-src")?!0:vu(t))}function Cu(){let e=window.__hfVariablesByComp;if(!e)return;let t=new Set(yo().map(n=>Sr(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(e))t.has(n)||delete e[n]}function _u(e,t=f0(e)){let n=new Map,r=new Map;for(let i of e){let{authoredCompositionId:o,runtimeCompositionId:a}=Sr(i),l=p0(i);if(!o){r.set(i,{authoredCompositionId:null,runtimeCompositionId:a});continue}let s=(t.get(o)||0)>1,u=a||o;if(l){let c=s?(n.get(o)||0)+1:0;s&&n.set(o,c),u=s?l0(o,c):o,s?i.setAttribute("data-hf-original-composition-id",o):i.removeAttribute("data-hf-original-composition-id"),i.setAttribute("data-composition-id",u),a&&a!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[a]}r.set(i,{authoredCompositionId:o,runtimeCompositionId:u})}return r}async function bo(e){let t=Gs({contentNode:e.sourceNode,head:e.head,hasTemplate:e.hasTemplate,compositionId:e.authoredCompositionId}),n=t.innerRoot instanceof HTMLElement?t.innerRoot:null,r=n??e.sourceNode,i=t.authoredCompositionId,o=t.scriptCompositionId,a=e.runtimeCompositionId||null,l=t.authoredRootId,s=a?`[data-composition-id="${CSS.escape(a)}"]`:void 0;for(let f of t.linkSources){let x=(f.getAttribute("href")||"").trim();if(!x)continue;let E=e.compositionUrl?new URL(x,e.compositionUrl).href:x;if(e.compositionUrl&&bu(E,e.compositionUrl)||document.head.querySelector(`link[href="${CSS.escape(E)}"]`))continue;let C=f.cloneNode(!0);C instanceof HTMLLinkElement&&(C.href=E,document.head.appendChild(C),e.injectedLinks.push(C))}(f=>{for(let x of f){let E=x.cloneNode(!0);E instanceof HTMLStyleElement&&(i&&(E.textContent=pu(E.textContent||"",i,s,l,{scopeRootSelectors:!0})),document.head.appendChild(E),e.injectedStyles.push(E))}})(t.styleSources);let c=f=>{let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let y=d0(E,e.compositionUrl);return e.compositionUrl&&bu(y,e.compositionUrl)?null:{kind:"external",src:y,type:x}}let C=f.textContent?.trim()??"";return C?{kind:"inline",content:C,type:x,scopeCompositionId:o}:null},m=t.scriptSources.map(c).filter(f=>f!==null);if(n){let f=n.getAttribute("data-width"),x=n.getAttribute("data-height"),E=e.parseDimensionPx(f),C=e.parseDimensionPx(x);f&&e.host.setAttribute("data-width",f),x&&e.host.setAttribute("data-height",x),E&&e.host instanceof HTMLElement&&(e.host.style.width=E),C&&e.host instanceof HTMLElement&&(e.host.style.height=C),n.hasAttribute("data-timeline-locked")&&e.host.setAttribute("data-timeline-locked","");let y=c0(n);!e.authoredCompositionId&&i&&y.setAttribute("data-composition-id",i),xu(y),e.host.appendChild(y)}else if(e.hasTemplate){let f=document.importNode(r,!0);xu(f),e.host.appendChild(f)}else e.host.innerHTML=e.fallbackBodyInnerHtml;a&&h0(e,r,a);for(let f of m){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=hu(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,a||f.scopeCompositionId,l):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),e.injectedScripts.push(x),f.kind==="external"){let E=await u0(x);E.status!=="load"&&e.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:e.authoredCompositionId,runtimeCompositionId:e.runtimeCompositionId,hostCompositionSrc:e.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:E.status,elapsedMs:E.elapsedMs}})}}}async function Au(e){let t=yo();if(Cu(),t.length===0)return;let n=_u(t),r=t.filter(i=>{if(i.hasAttribute("data-composition-src")||i.children.length>0)return!1;let o=n.get(i)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(r.length!==0)for(let i of r){let o=n.get(i),a=o?.authoredCompositionId;if(!a)continue;let l=document.querySelector(`template#${CSS.escape(a)}-template`);xo(i),await bo({host:i,authoredCompositionId:a,runtimeCompositionId:o?.runtimeCompositionId||a,hostCompositionSrc:`template#${a}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic})}}async function wu(e){let t=yo();if(Cu(),t.length===0)return;let n=_u(t),r=t.filter(i=>i.hasAttribute("data-composition-src"));r.length!==0&&await Promise.all(r.map(async i=>{let o=i.getAttribute("data-composition-src");if(!o)return;let a=n.get(i),l=a?.authoredCompositionId||null,s=a?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}xo(i);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await bo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,onDiagnostic:e.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),E=new DOMParser().parseFromString(f,"text/html");Eu(E,u);let C=(l?E.querySelector(`template#${CSS.escape(l)}-template`):null)??E.querySelector("template"),y=C?C.content:E.body;await bo({host:i,authoredCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,sourceNode:y,hasTemplate:!!C,fallbackBodyInnerHtml:E.body.innerHTML,compositionUrl:u,injectedStyles:e.injectedStyles,injectedScripts:e.injectedScripts,injectedLinks:e.injectedLinks,parseDimensionPx:e.parseDimensionPx,head:E.head,declaredVariableDefaults:Zt(E.documentElement),onDiagnostic:e.onDiagnostic})}catch(c){e.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:s,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),xo(i)}}))}function h0(e,t,n){let i={...e.declaredVariableDefaults??(t instanceof Element?Zt(t):{}),...ya(e.host)};xa(e.host),Object.keys(i).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[n]=i,ni(e.host,{...ga(e.host,i,window),...qn()})):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[n]}function g0(e){return e instanceof HTMLElement?e.dataset.captionWrapper!=="true"?e:e.querySelector(":scope > span")??null:null}function x0(){let e=[],t=document.querySelectorAll(".caption-group");for(let n of t)for(let r of n.children){if(!(r instanceof HTMLElement))continue;let i=r.dataset.captionWrapper==="true"?r.querySelector(":scope > span"):r.tagName==="SPAN"?r:null;i&&e.push(i)}return e}function b0(e){let t=e.parentElement;if(t?.dataset.captionWrapper==="true")return t;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",e.parentNode?.insertBefore(n,e),n.appendChild(e),n}function So(){let e=window.gsap;e&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(t=>t.ok?t.json():null).then(t=>{if(!t||!Array.isArray(t)||t.length===0)return;let n=x0();for(let r of t){let i=null;if(r.wordId&&(i=g0(document.getElementById(r.wordId))),!i&&r.wordIndex!==void 0&&(i=n[r.wordIndex]??null),!i)continue;let o={},a={};if(r.x!==void 0&&(o.x=r.x),r.y!==void 0&&(o.y=r.y),r.scale!==void 0&&(o.scale=r.scale),r.rotation!==void 0&&(o.rotation=r.rotation),r.opacity!==void 0&&(a.opacity=r.opacity),r.fontSize!==void 0&&(a.fontSize=`${r.fontSize}px`),r.fontWeight!==void 0&&(a.fontWeight=r.fontWeight),r.fontFamily!==void 0&&(a.fontFamily=r.fontFamily),r.activeColor||r.dimColor){let s=e.getTweensOf(i).filter(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=s[0]?String(s[0].vars.color):"";for(let c of s)String(c.vars.color)===u?r.dimColor&&(c.vars.color=r.dimColor):r.activeColor&&(c.vars.color=r.activeColor);r.dimColor&&e.set(i,{color:r.dimColor})}if(Object.keys(a).length>0&&e.set(i,a),Object.keys(o).length>0){let l=b0(i);e.set(l,o)}}}).catch(()=>{})}var vo="data-hf-edit-base-x",Co="data-hf-edit-base-y",Bt="data-hf-edit-original-translate",Er=e=>{let t=parseFloat(e??"");return Number.isFinite(t)?t:0},y0=e=>{let t=[],n=0,r="";for(let i of e.trim())i==="("&&(n+=1),i===")"&&(n=Math.max(0,n-1)),/\\s/.test(i)&&n===0?(r&&t.push(r),r=""):r+=i;return r&&t.push(r),t},Tu=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Eo=(e,t)=>Tu.test(e)&&Tu.test(t)?`${parseFloat(e)+parseFloat(t)}px`:`calc(${e} + ${t})`,S0=(e,t,n)=>{if(!e||e==="none")return`${t} ${n}`;let[r,i,o]=y0(e);if(r===void 0)return`${t} ${n}`;if(i===void 0)return`${Eo(r,t)} ${n}`;let a=o===void 0?"":` ${o}`;return`${Eo(r,t)} ${Eo(i,n)}${a}`},E0=e=>{try{e.ownerDocument.defaultView?.gsap?.getProperty?.(e,"x")}catch{}},v0=e=>{let t=e.style.getPropertyValue("translate").trim();if(t)return t==="none"?"":t;try{let n=e.ownerDocument.defaultView,r=n?n.getComputedStyle(e).getPropertyValue("translate").trim():"";return r==="none"?"":r}catch{return""}},_o=new WeakMap;function C0(e,t){let n=_o.get(e);if(!t?.force&&n!==void 0&&e.style.getPropertyValue("translate")!==n){Ne("position_edit_fold_skipped",{hfId:e.getAttribute("data-hf-id")});return}let r=Er(e.getAttribute("data-x"))-Er(e.getAttribute(vo)),i=Er(e.getAttribute("data-y"))-Er(e.getAttribute(Co));e.hasAttribute(Bt)||e.setAttribute(Bt,v0(e)),n===void 0&&E0(e);let o=e.getAttribute(Bt)??"",a=S0(o,`${r}px`,`${i}px`);e.style.setProperty("translate",a),_o.set(e,e.style.getPropertyValue("translate"))}function vr(e,t){let n=e.defaultView?.HTMLElement,r=e.defaultView?.SVGElement,i=s=>n||r?n!==void 0&&s instanceof n||r!==void 0&&s instanceof r:typeof s.style?.setProperty=="function",o=e.querySelectorAll(`[${Bt}]:not([${vo}]):not([${Co}])`);for(let s=0;s<o.length;s++){let u=o[s];if(u===void 0||!i(u))continue;let c=u.getAttribute(Bt)??"";c===""?u.style.removeProperty("translate"):u.style.setProperty("translate",c),u.removeAttribute(Bt),_o.delete(u)}let a=e.querySelectorAll(`[${vo}], [${Co}]`),l=0;for(let s=0;s<a.length;s++){let u=a[s];u===void 0||!i(u)||(C0(u,t),l+=1)}return l}var Ru="__hfPositionEditsSeekReapplyWrapped",Fu=new WeakSet,Lu=new WeakMap,Nu=new WeakMap;function ku(e){let t=e,n=()=>{try{vr(t.document)}catch{}},r=m=>typeof m=="function"&&(Fu.has(m)||!!m[Ru]),i=m=>{Fu.add(m);try{Object.defineProperty(m,Ru,{value:!0})}catch{}},o=m=>{if(typeof m!="function"||r(m))return m;let f=function(...x){let E=m.apply(this,x);return n(),E};return i(f),f},a=(m,f)=>{let x=Lu.get(m);if(x?.has(f))return!0;let E=Object.getOwnPropertyDescriptor(m,f);if(E?.configurable===!1){let w=m[f];return typeof w=="function"&&(m[f]=o(w),n()),!1}let C=m[f],y=E?.set;return Object.defineProperty(m,f,{configurable:!0,enumerable:E?.enumerable??!0,get:()=>C,set:w=>{C=o(w),y?.call(m,w)}}),C=o(C),x??(x=new Set),x.add(f),Lu.set(m,x),n(),!0},l=(m,f)=>{let x=Nu.get(t),E=Object.getOwnPropertyDescriptor(t,m);if(!x?.has(m)){if(E?.configurable===!1){let w=t[m];return w?a(w,f):!1}let y=t[m];Object.defineProperty(t,m,{configurable:!0,enumerable:E?.enumerable??!0,get:()=>y,set:w=>{y=w,y&&a(y,f)}}),x??(x=new Set),x.add(m),Nu.set(t,x)}let C=t[m];return C?a(C,f):!1},s=()=>{let m=l("__hf","seek"),f=l("__player","renderSeek");return m&&f};if(s())return;let u=120,c=t.setInterval(()=>{if(s()){t.clearInterval(c);return}u-=1,u<=0&&t.clearInterval(c)},50)}function Cr(e){let t=window,r=e.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",i=r?t.__hfVariablesByComp?.[r]:void 0;if(i)return i;let o=t.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:t.__hfVariables??{}}function _r(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Mu=new Set(["img","video","audio","source"]);function _0(e){if(typeof e=="string"&&e.length>0)return e;if(e!==null&&typeof e=="object"){let t=e.url;if(typeof t=="string"&&t.length>0)return t}return null}function A0(e){let t=e.replace(/[\\u0000-\\u0020]/g,""),n=/^([a-z][a-z0-9+.-]*):/i.exec(t);if(!n)return!0;let r=n[1]?.toLowerCase();return r?r==="https"||r==="http"||r==="blob"?!0:r==="data"?/^data:image\\//i.test(t):!1:!1}function w0(e){return e.replace(/[;{}<>\\r\\n]/g,"")}function T0(e){if(_r(e))return String(e);if(e!==null&&typeof e=="object"){let t=e.name;if(typeof t=="string"&&t.length>0)return t}return null}function Ao(e,t){let n=e.closest("[data-composition-id]"),r=t.get(n);if(r)return r;let i=Cr(e);return t.set(n,i),i}function R0(e,t){if(e.childElementCount===0){e.textContent=t;return}let n=!1;for(let r of Array.from(e.childNodes))r.nodeType===Node.TEXT_NODE&&(r.nodeValue=n?"":t,n=!0);n||e.insertBefore(e.ownerDocument.createTextNode(t),e.firstChild)}function F0(e){return e.querySelector("[data-hf-root]")??e.getElementById("stage")??e.body?.firstElementChild??e.body}function L0(e,t){let n=new Set,r=F0(e);r&&n.add(r);for(let i of Array.from(e.querySelectorAll("[data-composition-id]")))n.add(i);for(let i of n){let o=Ao(i,t);for(let[a,l]of Object.entries(o)){let s=T0(l);s!==null&&i instanceof HTMLElement&&i.style.setProperty(`--${a}`,w0(s))}}}function wo(e){let t=new Map;L0(e,t);for(let n of Array.from(e.querySelectorAll("[data-var-src]"))){let r=n.getAttribute("data-var-src")?.trim();if(!r)continue;if(!Mu.has(n.tagName.toLowerCase())){console.warn(`[hyperframes] Ignoring data-var-src on <${n.tagName.toLowerCase()}>: variable-bound src is only allowed on ${Array.from(Mu).join("/")}.`);continue}let i=_0(Ao(n,t)[r]);if(i!==null){if(!A0(i)){console.warn(`[hyperframes] Ignoring data-var-src="${r}": unsafe URL protocol.`);continue}n.setAttribute("src",i)}}for(let n of Array.from(e.querySelectorAll("[data-var-text]"))){let r=n.getAttribute("data-var-text")?.trim();if(!r)continue;let i=Ao(n,t)[r];_r(i)&&R0(n,String(i))}}var Qe=new Map,N0="data-hf-color-grading-canvas",k0="__hf_color_grading_canvas__";function zu(){if(typeof MutationObserver>"u"||typeof document>"u")return;let e=document.documentElement;if(!e)return;let t=r=>{r instanceof HTMLElement&&(r.hasAttribute(tr)||r.setAttribute(tr,r.style.opacity))},n=r=>{if(r instanceof Element){r.matches("video, img")&&t(r);for(let i of r.querySelectorAll("video, img"))t(i)}};n(e),new MutationObserver(r=>{for(let i of r)for(let o of i.addedNodes)n(o)}).observe(e,{childList:!0,subtree:!0})}var M0=16,D0=4,Wt={enabled:!1,position:.5,softness:0,lineWidth:2},To=["#000000","#ffffff"],I0=["#1a1a1a","#f5f5dc"],In=3,P0=In-1,O0=5,Ro=`${je}.0`,Du=`${je-1}.0`,G0=`${In}.0`,H0=`${(P0+.5)/In}`;function Ar(e){let t=e.getAttribute(an);return t==null?null:Es(t,Cr(e))}var B0=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),U0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform sampler2D u_bloomSource;","uniform sampler2D u_kuwaharaSource;","uniform sampler2D u_lut;","uniform sampler2D u_advanced;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_bloomReady;","uniform float u_kuwaharaReady;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform vec3 u_shadowWheel;","uniform vec3 u_midtoneWheel;","uniform vec3 u_highlightWheel;","uniform float u_rgbCurvesEnabled;","uniform float u_hueCurvesEnabled;","uniform float u_secondaryCount;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_vibrance;","uniform float u_saturation;","uniform float u_vignette;","uniform float u_vignetteMidpoint;","uniform float u_vignetteRoundness;","uniform float u_vignetteFeather;","uniform float u_grain;","uniform float u_grainSize;","uniform float u_grainRoughness;","uniform float u_grainSeed;","uniform float u_effectTime;","uniform float u_blur;","uniform float u_bloom;","uniform float u_kuwahara;","uniform float u_pixelate;","uniform float u_chromaBleed;","uniform float u_tapeDamage;","uniform float u_tapeTracking;","uniform float u_tapeNoise;","uniform float u_tapeSpeed;","uniform float u_filmArtifacts;","uniform float u_halftone;","uniform float u_halftoneSize;","uniform float u_twoInkPrint;","uniform float u_twoInkPrintSize;","uniform float u_ascii;","uniform float u_asciiSize;","uniform float u_asciiInvert;","uniform float u_asciiStyle;","uniform float u_asciiColor;","uniform float u_asciiRotation;","uniform float u_dither;","uniform float u_ditherSize;","uniform float u_monoScreen;","uniform float u_monoScreenSize;","uniform float u_monoScreenAngle;","uniform float u_monoScreenSpread;","uniform float u_monoScreenShape;","uniform float u_monoScreenInvert;","uniform float u_scanlines;","uniform float u_scanlineCount;","uniform float u_scanlineSoftness;","uniform float u_chromaticAberration;","uniform float u_chromaticAngle;","uniform float u_crtCurvature;","uniform float u_digitalGlitch;","uniform float u_digitalGlitchColorSplit;","uniform float u_digitalGlitchLineTear;","uniform float u_digitalGlitchPixelate;","uniform float u_digitalGlitchBlockAmount;","uniform float u_digitalGlitchBlockDisplacement;","uniform float u_digitalGlitchBlockOpacity;","uniform float u_digitalGlitchSpeed;","uniform float u_engraving;","uniform float u_engravingSpacing;","uniform float u_engravingMinThickness;","uniform float u_engravingMaxThickness;","uniform float u_engravingAngle;","uniform float u_engravingContrast;","uniform float u_engravingSharpness;","uniform float u_engravingWave;","uniform float u_engravingWaveFrequency;","uniform float u_crosshatch;","uniform float u_crosshatchSpacing;","uniform float u_crosshatchThickness;","uniform float u_crosshatchAngle;","uniform float u_crosshatchContrast;","uniform float u_crosshatchEdges;","uniform float u_crosshatchLineWeight;","uniform float u_crosshatchWave;","uniform float u_crosshatchWaveFrequency;","uniform float u_paletteSize;","uniform vec3 u_palette0;","uniform vec3 u_palette1;","uniform vec3 u_palette2;","uniform vec3 u_palette3;","uniform vec3 u_palette4;","uniform vec3 u_palette5;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","const float PI = 3.14159265359;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","float bt601Luma(vec3 c){ return dot(c, vec3(0.299, 0.587, 0.114)); }","float grainHash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }","float digitalHash(vec2 p){"," vec2 q = mod(floor(p), 251.0);"," float x = mod(q.x * q.x * 157.0 + q.x * 89.0, 251.0);"," float y = mod(q.y * q.y * 113.0 + q.y * 47.0, 251.0);"," float xy = mod(q.x * q.y * 71.0, 251.0);"," return mod(x + y + xy + 19.0, 251.0) / 251.0;","}","float colorSaturation(vec3 c){ return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b); }","vec2 clampUv(vec2 uv){ return clamp(uv, vec2(0.0), vec2(1.0)); }","vec2 applyCrtWarp(vec2 uv){"," vec2 centered = uv * 2.0 - 1.0;"," float curvature = clamp(u_crtCurvature, 0.0, 1.0) * 0.5;"," float dist = dot(centered, centered);"," centered *= 1.0 + curvature * dist;"," return centered * 0.5 + 0.5;","}","vec4 sampleSource(vec2 uv){ return texture2D(u_source, clampUv(uv)); }","vec4 sampleBlur(vec2 uv){ return texture2D(u_blurSource, clampUv(uv)); }","vec3 sampleBloom(vec2 uv){ return texture2D(u_bloomSource, clampUv(uv)).rgb; }","vec3 sampleKuwahara(vec2 uv){"," vec2 displayUv = uv * u_uvScale + u_uvOffset;"," return texture2D(u_kuwaharaSource, clampUv(displayUv)).rgb;","}","vec4 samplePrepared(vec2 uv){"," vec4 base = sampleSource(uv);"," float blur = clamp(u_blur, 0.0, 1.0);"," if (blur > 0.0 && u_blurReady > 0.5) base = mix(base, sampleBlur(uv), blur);"," float kuwahara = clamp(u_kuwahara, 0.0, 1.0);"," if (kuwahara > 0.0 && u_kuwaharaReady > 0.5) {"," base.rgb = mix(base.rgb, sampleKuwahara(uv), kuwahara);"," }"," return base;","}","float tapeTrackingBand(float y, float center, float width){"," float offset = fract(y - center + 0.5) - 0.5;"," float triangle = max(0.0, 1.0 - abs(offset) / max(width, 0.0001));"," return triangle * triangle * (3.0 - 2.0 * triangle);","}","vec4 sampleMedia(vec2 uv){"," float pixel = clamp(u_pixelate, 0.0, 1.0);"," vec2 sampleUv = uv;"," if (pixel > 0.0) {"," float blockSize = mix(1.0, 48.0, pixel);"," vec2 cells = max(u_resolution / blockSize, vec2(1.0));"," sampleUv = (floor(clamp(uv, vec2(0.0), vec2(0.999999)) * cells) + 0.5) / cells;"," }"," float tapeDamage = clamp(u_tapeDamage, 0.0, 1.0);"," float tapeTracking = clamp(u_tapeTracking, 0.0, 1.0);"," float tapeNoise = clamp(u_tapeNoise, 0.0, 1.0);"," float tapeTime = u_effectTime * mix(0.0, 2.0, clamp(u_tapeSpeed, 0.0, 1.0));"," float tapeFrame = floor(tapeTime * 60.0);"," float tapeLine = floor(sampleUv.y * u_resolution.y * 0.5);"," float lineJitter = (digitalHash(vec2(tapeLine, floor(tapeFrame * 0.5))) - 0.5) * 1.8 * tapeNoise;"," float slowWobble = sin(sampleUv.y * 32.0 + tapeTime * 2.6) * 0.55;"," float headSwitch = smoothstep(0.88, 1.0, sampleUv.y) * sin(sampleUv.y * 240.0 + tapeTime * 8.0) * 4.0;"," float trackingShift = tapeTrackingBand(sampleUv.y, fract(0.08 + tapeTime * 0.083), 0.035);"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.28 + tapeTime * 0.061), 0.03) * 0.8;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.5 + tapeTime * 0.047), 0.04) * 0.75;"," trackingShift -= tapeTrackingBand(sampleUv.y, fract(0.72 + tapeTime * 0.037), 0.028) * 0.65;"," trackingShift += tapeTrackingBand(sampleUv.y, fract(0.89 + tapeTime * 0.029), 0.032) * 0.55;"," trackingShift *= tapeTracking * 48.0;"," float tapeShift = (lineJitter + slowWobble + headSwitch + trackingShift) * tapeDamage;"," float texelX = 1.0 / max(u_resolution.x * max(u_uvScale.x, 0.00001), 1.0);"," vec2 tapeUv = sampleUv + vec2(tapeShift * texelX, 0.0);"," vec4 base = samplePrepared(tapeUv);"," if (tapeDamage > 0.0) {"," vec2 lumaStep = vec2(texelX * mix(1.0, 3.5, tapeDamage), 0.0);"," vec3 leftTape = samplePrepared(tapeUv - lumaStep).rgb;"," vec3 rightTape = samplePrepared(tapeUv + lumaStep).rgb;"," float tapeLuma = (bt601Luma(leftTape) + bt601Luma(base.rgb) * 2.0 + bt601Luma(rightTape)) * 0.25;"," vec3 centerChroma = base.rgb - vec3(bt601Luma(base.rgb));"," vec3 tapeColor = vec3(tapeLuma) + centerChroma;"," vec3 ghost = samplePrepared(tapeUv - vec2(texelX * 12.0, 0.0)).rgb;"," tapeColor = mix(tapeColor, ghost, 0.045 * tapeDamage);"," float fineNoise = digitalHash(floor(gl_FragCoord.xy) + vec2(tapeFrame * 17.0, tapeFrame * 3.0)) - 0.5;"," float band = digitalHash(vec2(floor(sampleUv.y * 92.0), floor(tapeFrame / 3.0)));"," float dropout = smoothstep(0.985, 1.0, band) * (digitalHash(vec2(floor(sampleUv.x * 18.0), tapeLine)) - 0.5);"," tapeColor += (fineNoise * 0.035 + dropout * 0.12) * tapeDamage * tapeNoise;"," base.rgb = mix(base.rgb, clamp(tapeColor, 0.0, 1.0), tapeDamage);"," }"," float chromaBleed = clamp(u_chromaBleed, 0.0, 1.0);"," if (chromaBleed > 0.0) {"," float radius = mix(1.0, 4.0, chromaBleed);"," vec2 stepUv = vec2(texelX * radius, 0.0);"," vec3 c0 = base.rgb;"," vec3 c1 = samplePrepared(tapeUv - stepUv).rgb;"," vec3 c2 = samplePrepared(tapeUv + stepUv).rgb;"," vec3 c3 = samplePrepared(tapeUv - stepUv * 2.0).rgb;"," vec3 c4 = samplePrepared(tapeUv + stepUv * 2.0).rgb;"," float centerLuma = lumaOf(base.rgb);"," vec3 blurredChroma = ((c0 - vec3(lumaOf(c0))) * 6.0 + (c1 - vec3(lumaOf(c1))) * 4.0 + (c2 - vec3(lumaOf(c2))) * 4.0 + (c3 - vec3(lumaOf(c3))) + (c4 - vec3(lumaOf(c4)))) / 16.0;"," base.rgb = mix(base.rgb, clamp(vec3(centerLuma) + blurredChroma, 0.0, 1.0), chromaBleed);"," }"," return base;","}","vec4 sampleChromaticMedia(vec2 uv, vec4 center){"," float amount = clamp(u_chromaticAberration, 0.0, 1.0);"," if (amount <= 0.0) return center;"," float angle = clamp(u_chromaticAngle, 0.0, 1.0) * PI * 2.0;"," vec2 offset = vec2(cos(angle), sin(angle)) * amount * 0.02;"," vec4 positive = sampleMedia(uv + offset);"," vec4 negative = sampleMedia(uv - offset);"," vec3 split = vec3(positive.r, center.g, negative.b);"," return vec4(split, center.a);","}","vec3 sampleDigitalSplit(vec2 uv, vec2 block, float time, float amount){"," float split = amount * 0.06;"," float direction = digitalHash(block * 0.4 + vec2(floor(time * 3.7), floor(time * 5.3)));"," vec2 axis = direction > 0.66 ? vec2(1.0, 0.0) : direction > 0.33 ? vec2(0.0, 1.0) : vec2(0.7071);"," vec4 center = sampleMedia(uv);"," return vec3(sampleMedia(uv + axis * split).r, center.g, sampleMedia(uv - axis * split).b);","}","vec3 applyDigitalGlitch(vec2 uv, vec3 source){"," float amount = clamp(u_digitalGlitch, 0.0, 1.0);"," if (amount <= 0.0) return source;"," float colorSplit = clamp(u_digitalGlitchColorSplit, 0.0, 1.0) * 2.0;"," float lineTear = clamp(u_digitalGlitchLineTear, 0.0, 1.0) * 2.0;"," float pixelate = clamp(u_digitalGlitchPixelate, 0.0, 1.0) * 2.0;"," float blockAmount = clamp(u_digitalGlitchBlockAmount, 0.0, 1.0);"," float blockDisplacement = clamp(u_digitalGlitchBlockDisplacement, 0.0, 1.0) * 2.0;"," float blockOpacity = clamp(u_digitalGlitchBlockOpacity, 0.0, 1.0);"," float speed = clamp(u_digitalGlitchSpeed, 0.0, 1.0) * 2.0;"," float time = u_effectTime * speed;"," float blockCount = 8.0 + blockAmount * 60.0;"," vec2 block = floor(uv * blockCount);"," float randomA = digitalHash(block + vec2(floor(time * 7.3), floor(time * 11.1)));"," float randomB = digitalHash(block * 0.7 + vec2(17.3 + floor(time * 6.6), 29.1));"," float randomC = digitalHash(block + vec2(floor(time * 5.7) * 13.0, 41.0));"," float randomD = digitalHash(block * 1.3 + vec2(7.0, floor(time * 3.2) * 7.0));"," vec2 displaced = uv;"," if (blockDisplacement > 0.0 && blockOpacity > 0.0) {"," float threshold = 1.0 - blockDisplacement * 0.4;"," if (randomA > threshold) {"," displaced += vec2((randomB - 0.5) * blockDisplacement * 0.5, (randomC - 0.5) * blockDisplacement * 0.3);"," }"," if (randomD > 0.92 && blockDisplacement > 0.5) {"," displaced.x += (digitalHash(vec2(block.y, floor(time * 8.0))) - 0.5) * blockDisplacement;"," }"," displaced = mix(uv, displaced, blockOpacity);"," }"," if (lineTear > 0.0) {"," float row = floor(uv.y * (50.0 + lineTear * 150.0));"," float tearA = digitalHash(vec2(row * 7.3 + floor(time * 12.0 + row * 0.1) * 3.7, 13.0));"," float tearB = digitalHash(vec2(row * 13.7 + floor(time * 8.3) * 5.1, 31.0));"," if (tearA > 1.0 - lineTear * 0.5) displaced.x += (tearB - 0.5) * lineTear * 0.4;"," if (tearB > 0.95 && lineTear > 0.3) displaced.x += (tearA - 0.5) * lineTear * 0.8;"," }"," if (pixelate > 0.0) {"," float pixelRandom = digitalHash(block * 0.5 + vec2(floor(time * 4.9), 53.0));"," if (pixelRandom > 1.0 - pixelate * 0.35) {"," float cells = 4.0 + (1.0 - pixelRandom) * pixelate * 40.0;"," displaced = (floor(clampUv(displaced) * cells) + 0.5) / cells;"," }"," }"," displaced = clampUv(displaced);"," vec3 glitch = sampleDigitalSplit(displaced, block, time, colorSplit);"," if (blockDisplacement > 0.2 && blockOpacity > 0.0) {"," float corruption = digitalHash(block * 1.1 + vec2(floor(time * 11.9), 67.0));"," vec3 changed = glitch;"," if (corruption > 0.9) changed = 1.0 - glitch;"," else if (corruption > 0.85) changed = corruption > 0.875 ? glitch.gbr : glitch.brg;"," else if (corruption > 0.8) {"," float channel = digitalHash(block + vec2(73.0));"," if (channel > 0.66) changed.r = min(changed.r * 2.0, 1.0);"," else if (channel > 0.33) changed.g = min(changed.g * 2.0, 1.0);"," else changed.b = min(changed.b * 2.0, 1.0);"," }"," glitch = mix(glitch, changed, blockOpacity);"," }"," if (blockOpacity > 0.0) {"," float flash = digitalHash(block * 0.8 + vec2(floor(time * 14.7), 83.0));"," vec3 flashed = flash > 0.97 ? min(glitch * 1.8, vec3(1.0)) : flash > 0.94 ? glitch * 0.3 : glitch;"," glitch = mix(glitch, flashed, blockOpacity * 0.6);"," }"," if (lineTear > 0.1) {"," float interference = pow(sin(uv.y * (300.0 + randomA * 200.0) + time * 30.0) * 0.5 + 0.5, 6.0);"," glitch -= interference * 0.08 * lineTear;"," }"," return mix(source, clamp(glitch, 0.0, 1.0), amount);","}","float dustMask(vec2 uv, float frameBucket){"," vec2 grid = vec2(128.0, 72.0);"," vec2 cell = floor(uv * grid);"," vec2 local = fract(uv * grid) - 0.5;"," float chance = grainHash(cell + frameBucket * 19.13);"," float radius = mix(0.05, 0.34, grainHash(cell + 7.1));"," return step(0.9975, chance) * (1.0 - smoothstep(radius, radius + 0.08, length(local)));","}","float screenDot(vec2 p, float ink, float angle, float sharpness){"," float c = cos(angle);"," float s = sin(angle);"," vec2 q = mat2(c, -s, s, c) * p;"," vec2 d = fract(q) - 0.5;"," float radius = sqrt(clamp(ink, 0.0, 1.0)) * 0.68;"," float edge = mix(0.16, 0.025, sharpness);"," return 1.0 - smoothstep(radius - edge, radius + edge, length(d));","}","vec3 paletteColor(float index);","float monoScreenMask(vec2 local, float radius, float shape, float softness){"," vec2 centered = local - 0.5;"," float distanceToInk = length(centered);"," if (shape > 0.5 && shape < 1.5) distanceToInk = max(abs(centered.x), abs(centered.y));"," if (shape > 1.5 && shape < 2.5) distanceToInk = abs(centered.x) + abs(centered.y);"," if (shape > 2.5 && shape < 3.5) distanceToInk = max(abs(centered.x) * 0.86 + centered.y * 0.5, -centered.y);"," if (shape > 3.5) distanceToInk = abs(centered.y);"," float shapeRadius = shape > 3.5 ? radius * 0.45 : radius;"," return 1.0 - smoothstep(shapeRadius, shapeRadius + softness, distanceToInk);","}","vec3 applyMonoScreen(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float invert = step(0.5, u_monoScreenInvert);"," float coverage = mix(1.0 - lumaOf(source), lumaOf(source), invert);"," coverage = pow(clamp(coverage, 0.0, 1.0), mix(1.7, 0.58, clamp(u_monoScreenSpread, 0.0, 1.0)));"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellPx = mix(4.0, 18.0, clamp(u_monoScreenSize, 0.0, 1.0)) * scale;"," float angle = clamp(u_monoScreenAngle, 0.0, 1.0) * PI * 0.5;"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 point = mat2(cosine, -sine, sine, cosine) * gl_FragCoord.xy / max(cellPx, 1.0);"," float radius = sqrt(coverage) * 0.68;"," float inkMask = monoScreenMask(fract(point), radius, floor(u_monoScreenShape + 0.5), 0.035);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","vec3 applyEngraving(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(3.0, 20.0, clamp(u_engravingSpacing, 0.0, 1.0));"," float minThickness = mix(0.0, 2.0, clamp(u_engravingMinThickness, 0.0, 1.0));"," float maxThickness = mix(1.0, 8.0, clamp(u_engravingMaxThickness, 0.0, 1.0));"," float angle = clamp(u_engravingAngle, 0.0, 1.0) * PI;"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(gl_FragCoord.xy, alongAxis);"," float across = dot(gl_FragCoord.xy, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_engravingWaveFrequency, 0.0, 1.0));"," float wave = sin(along * frequency * 0.01);"," across += wave * clamp(u_engravingWave, 0.0, 1.0) * 3.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float lineDistance = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float contrast = mix(0.5, 2.0, clamp(u_engravingContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," float variation = mix(0.88, 1.12, digitalHash(vec2(lineIndex, 73.0)));"," float thickness = mix(minThickness, maxThickness, darkness) * variation;"," float edge = mix(1.0, 0.3, clamp(u_engravingSharpness, 0.0, 1.0));"," float inkMask = 1.0 - smoothstep(max(thickness * 0.5 - edge, 0.0), thickness * 0.5 + edge, lineDistance);"," inkMask *= smoothstep(0.015, 0.12, darkness);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," return mix(source, mix(paper, ink, inkMask), amount);","}","float crosshatchLine(vec2 pixel, float angle, float spacing, float thickness, float seed){"," vec2 alongAxis = vec2(cos(angle), sin(angle));"," vec2 acrossAxis = vec2(-alongAxis.y, alongAxis.x);"," float along = dot(pixel, alongAxis);"," float across = dot(pixel, acrossAxis);"," float frequency = mix(1.0, 10.0, clamp(u_crosshatchWaveFrequency, 0.0, 1.0));"," across += sin(along * frequency * 0.02 + u_effectTime + seed) * clamp(u_crosshatchWave, 0.0, 1.0) * 5.0;"," float lineIndex = floor(across / max(spacing, 1.0));"," float distanceToLine = abs(fract(across / max(spacing, 1.0)) - 0.5) * spacing;"," float variation = mix(1.0, 0.5 + digitalHash(vec2(lineIndex, seed)), clamp(u_crosshatchLineWeight, 0.0, 1.0));"," float halfWidth = thickness * variation * 0.5;"," return 1.0 - smoothstep(max(halfWidth - 0.5, 0.0), halfWidth + 0.5, distanceToLine);","}","float crosshatchEdge(vec2 uv){"," vec2 texel = 1.0 / max(u_resolution * u_uvScale, vec2(1.0));"," float tl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, -1.0)).rgb);"," float tc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, -1.0)).rgb);"," float tr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, -1.0)).rgb);"," float ml = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 0.0)).rgb);"," float mr = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 0.0)).rgb);"," float bl = lumaOf(sampleMedia(uv + texel * vec2(-1.0, 1.0)).rgb);"," float bc = lumaOf(sampleMedia(uv + texel * vec2( 0.0, 1.0)).rgb);"," float br = lumaOf(sampleMedia(uv + texel * vec2( 1.0, 1.0)).rgb);"," float gx = -tl - 2.0 * ml - bl + tr + 2.0 * mr + br;"," float gy = -tl - 2.0 * tc - tr + bl + 2.0 * bc + br;"," return length(vec2(gx, gy));","}","vec3 applyCrosshatch(vec2 uv, vec3 source, float amount){"," if (amount <= 0.0) return source;"," float spacing = mix(5.0, 30.0, clamp(u_crosshatchSpacing, 0.0, 1.0));"," float thickness = mix(1.0, 5.0, clamp(u_crosshatchThickness, 0.0, 1.0));"," float baseAngle = -clamp(u_crosshatchAngle, 0.0, 1.0) * PI;"," float contrast = mix(0.5, 2.0, clamp(u_crosshatchContrast, 0.0, 1.0));"," float darkness = 1.0 - pow(clamp(lumaOf(source), 0.0, 1.0), contrast);"," vec3 ink = paletteColor(0.0);"," vec3 paper = paletteColor(max(u_paletteSize - 1.0, 1.0));"," vec3 result = paper;"," float layer = crosshatchLine(gl_FragCoord.xy, baseAngle, spacing, thickness, 1.0) * smoothstep(0.2, 0.4, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.5, spacing * 0.95, thickness * 0.9, 2.0) * smoothstep(0.4, 0.6, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle + PI * 0.25, spacing * 0.9, thickness * 0.8, 3.0) * smoothstep(0.6, 0.8, darkness);"," result = mix(result, ink, layer);"," layer = crosshatchLine(gl_FragCoord.xy, baseAngle - PI * 0.25, spacing * 0.85, thickness * 0.7, 4.0) * smoothstep(0.75, 0.9, darkness);"," result = mix(result, ink, layer);"," result = mix(result, ink, smoothstep(0.9, 1.0, darkness) * 0.8);"," float edgeStrength = mix(0.0, 2.0, clamp(u_crosshatchEdges, 0.0, 1.0));"," float edge = smoothstep(0.1, 0.3, crosshatchEdge(uv)) * edgeStrength;"," result = mix(result, ink, clamp(edge, 0.0, 1.0));"," return mix(source, result, amount);","}","vec3 applyHalftone(vec3 source, float amount){"," if (amount <= 0.0) return source;"," vec3 cmy = 1.0 - source;"," float k = min(cmy.r, min(cmy.g, cmy.b));"," vec3 inks = max(cmy - vec3(k * 0.72), 0.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(5.0, 14.0, clamp(u_halftoneSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float cyan = screenDot(p, inks.r, 0.261799, 0.78);"," float magenta = screenDot(p, inks.g, 1.308997, 0.78);"," float yellow = screenDot(p, inks.b, 0.0, 0.78);"," float blackInk = screenDot(p, k, 0.785398, 0.82);"," vec3 printColor = vec3(0.975, 0.962, 0.925);"," printColor *= mix(vec3(1.0), vec3(0.05, 0.79, 0.86), cyan);"," printColor *= mix(vec3(1.0), vec3(0.91, 0.08, 0.48), magenta);"," printColor *= mix(vec3(1.0), vec3(0.98, 0.83, 0.08), yellow);"," printColor *= mix(vec3(1.0), vec3(0.035), blackInk * 0.92);"," return mix(source, printColor, amount);","}","vec3 applyTwoInkPrint(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float sourceLuma = lumaOf(source);"," float darkness = 1.0 - sourceLuma;"," float warmBias = clamp(source.r - (source.g + source.b) * 0.5, -0.35, 0.35);"," float coolBias = clamp((source.g + source.b) * 0.5 - source.r, -0.35, 0.35);"," float redTone = smoothstep(0.08, 0.72, darkness) * (1.0 - 0.68 * smoothstep(0.66, 1.0, darkness));"," float tealTone = smoothstep(0.30, 0.92, darkness);"," float redCoverage = clamp(redTone + warmBias * 1.35 - coolBias * 0.35, 0.0, 1.0);"," float tealCoverage = clamp(tealTone + coolBias * 1.1 - warmBias * 0.45, 0.0, 1.0);"," float scale = min(u_resolution.x, u_resolution.y) / 540.0;"," float cellPx = mix(4.5, 12.0, clamp(u_twoInkPrintSize, 0.0, 1.0)) * max(scale, 0.25);"," vec2 p = gl_FragCoord.xy / max(cellPx, 1.0);"," float redDot = screenDot(p, redCoverage, 0.261799, 0.84);"," float tealDot = screenDot(p + vec2(0.12, -0.08), tealCoverage, 1.308997, 0.84);"," float paperNoise = grainHash(floor(gl_FragCoord.xy * 0.5)) - 0.5;"," vec3 paper = vec3(0.955, 0.910, 0.795) + paperNoise * 0.018;"," vec3 vermilion = vec3(0.88, 0.13, 0.075);"," vec3 teal = vec3(0.035, 0.285, 0.355);"," vec3 overprint = vec3(0.045, 0.055, 0.052);"," vec3 printColor = paper * (1.0 - redDot) * (1.0 - tealDot);"," printColor += vermilion * redDot * (1.0 - tealDot);"," printColor += teal * (1.0 - redDot) * tealDot;"," printColor += overprint * redDot * tealDot;"," return mix(source, clamp(printColor, 0.0, 1.0), amount);","}","vec3 paletteColor(float index){"," if (index < 0.5) return u_palette0;"," if (index < 1.5) return u_palette1;"," if (index < 2.5) return u_palette2;"," if (index < 3.5) return u_palette3;"," if (index < 4.5) return u_palette4;"," return u_palette5;","}","float bayer4(vec2 point){"," vec2 cell = mod(floor(point), 4.0);"," if (cell.y < 0.5) {"," if (cell.x < 0.5) return 0.5 / 16.0;"," if (cell.x < 1.5) return 8.5 / 16.0;"," if (cell.x < 2.5) return 2.5 / 16.0;"," return 10.5 / 16.0;"," }"," if (cell.y < 1.5) {"," if (cell.x < 0.5) return 12.5 / 16.0;"," if (cell.x < 1.5) return 4.5 / 16.0;"," if (cell.x < 2.5) return 14.5 / 16.0;"," return 6.5 / 16.0;"," }"," if (cell.y < 2.5) {"," if (cell.x < 0.5) return 3.5 / 16.0;"," if (cell.x < 1.5) return 11.5 / 16.0;"," if (cell.x < 2.5) return 1.5 / 16.0;"," return 9.5 / 16.0;"," }"," if (cell.x < 0.5) return 15.5 / 16.0;"," if (cell.x < 1.5) return 7.5 / 16.0;"," if (cell.x < 2.5) return 13.5 / 16.0;"," return 5.5 / 16.0;","}","float standardAsciiSample(float brightness, vec2 grid){"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.3) return grid.x == 2.0 && (grid.y == 2.0 || grid.y == 4.0) ? 1.0 : 0.0;"," if (brightness < 0.4) return (grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) {"," bool cross = (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0);"," bool diagonals = (grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0);"," return cross || diagonals ? 1.0 : 0.0;"," }"," if (brightness < 0.6) {"," bool ring = ((grid.y == 2.0 || grid.y == 4.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y == 3.0);"," return ring ? 1.0 : 0.0;"," }"," bool outline = ((grid.y == 1.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 0.0 || grid.x == 4.0) && grid.y >= 2.0 && grid.y <= 4.0) || ((grid.x == 1.0 || grid.x == 3.0) && grid.y >= 1.0 && grid.y <= 5.0);"," if (brightness < 0.7) return outline ? 1.0 : 0.0;"," if (brightness < 0.8) {"," bool slash = abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.x >= 1.0 && grid.x <= 3.0;"," return outline || slash ? 1.0 : 0.0;"," }"," if (brightness < 0.9) {"," bool loops = ((grid.y == 1.0 || grid.y == 3.0 || grid.y == 5.0) && grid.x >= 1.0 && grid.x <= 3.0) || ((grid.x == 1.0 || grid.x == 3.0) && (grid.y == 2.0 || grid.y == 4.0));"," return loops ? 1.0 : 0.0;"," }"," return 1.0;","}","float asciiStyleSample(float style, float brightness, vec2 uv){"," vec2 grid = floor(uv * vec2(5.0, 7.0));"," if (style < 0.5) return standardAsciiSample(brightness, grid);"," if (style < 1.5) {"," float checker = mod(grid.x + grid.y, 2.0);"," float ruled = mod(grid.x, 2.0) == 0.0 || mod(grid.y, 2.0) == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return checker == 0.0 ? 0.5 : 0.0;"," if (brightness < 0.375) return ruled * 0.6;"," if (brightness < 0.5) return checker == 0.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return ruled > 0.5 ? 1.0 : 0.3;"," if (brightness < 0.75) return checker == 0.0 ? 1.0 : 0.7;"," if (brightness < 0.875) return ruled > 0.5 ? 1.0 : 0.85;"," return 1.0;"," }"," if (style < 2.5) {"," if (brightness < 0.14) return 0.0;"," if (brightness < 0.28) return grid.x == 2.0 && grid.y == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.42) return grid.x == 2.0 && grid.y == 5.0 ? 1.0 : 0.0;"," if (brightness < 0.56) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.7) return (grid.x == 2.0 && grid.y >= 2.0 && grid.y <= 4.0) || (grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0) ? 1.0 : 0.0;"," if (brightness < 0.84) return abs(grid.x - 2.0) == abs(grid.y - 3.0) && grid.y >= 2.0 && grid.y <= 4.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 3.5) return grid.y >= 6.0 - brightness * 7.0 ? 1.0 : 0.0;"," if (style < 4.5) {"," vec2 dots = floor(uv * vec2(2.0, 4.0));"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return dots.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return dots.y >= 2.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return dots.y >= 1.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return dots.y >= 1.0 || dots.x == 1.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return 1.0;"," if (brightness < 0.875) return mod(grid.x + grid.y, 2.0) < 1.5 ? 1.0 : 0.7;"," return 1.0;"," }"," if (style < 5.5) {"," if (brightness < 0.125) return 0.0;"," if (brightness < 0.25) return grid.x == 2.0 && grid.y == 3.0 ? 1.0 : 0.0;"," if (brightness < 0.375) return grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.5) return grid.x + grid.y == 5.0 || grid.x + grid.y == 6.0 ? 1.0 : 0.0;"," if (brightness < 0.625) return grid.x == 2.0 ? 1.0 : 0.0;"," if (brightness < 0.75) return abs(grid.x - grid.y / 1.4) < 0.7 && grid.x >= 1.0 && grid.x <= 3.0 ? 1.0 : 0.0;"," if (brightness < 0.875) return grid.x == 2.0 || grid.y == 3.0 ? 1.0 : 0.0;"," return grid.x == 1.0 || grid.x == 3.0 || grid.y == 2.0 || grid.y == 4.0 ? 1.0 : 0.0;"," }"," if (style < 6.5) {"," bool top = grid.y == 0.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool topLeft = grid.x == 1.0 && grid.y <= 3.0;"," bool topRight = grid.x == 3.0 && grid.y <= 3.0;"," bool middle = grid.y == 3.0 && grid.x >= 1.0 && grid.x <= 3.0;"," bool bottomLeft = grid.x == 1.0 && grid.y >= 3.0;"," bool bottomRight = grid.x == 3.0 && grid.y >= 3.0;"," bool bottom = grid.y == 6.0 && grid.x >= 1.0 && grid.x <= 3.0;"," if (brightness < 0.1) return 0.0;"," if (brightness < 0.2) return topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.3) return top || topRight || middle || bottomLeft || bottom ? 1.0 : 0.0;"," if (brightness < 0.4) return top || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.5) return topLeft || middle || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.6) return top || topLeft || middle || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.7) return top || topLeft || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," if (brightness < 0.8) return top || topRight || bottomRight ? 1.0 : 0.0;"," if (brightness < 0.9) return top || topLeft || topRight || middle || bottomLeft || bottomRight || bottom ? 1.0 : 0.0;"," return top || topLeft || topRight || middle || bottomRight || bottom ? 1.0 : 0.0;"," }"," float slash = grid.x - grid.y;"," float backslash = grid.x + grid.y;"," if (brightness < 0.16) return 0.0;"," if (brightness < 0.33) return mod(slash, 3.0) < 0.5 ? 1.0 : 0.0;"," if (brightness < 0.5) return mod(slash, 2.0) < 0.5 ? 1.0 : 0.0;"," bool diagonalA = mod(slash, 2.0) < 0.5;"," bool diagonalB = mod(backslash, 2.0) < 0.5;"," if (brightness < 0.66) return diagonalA || diagonalB ? 1.0 : 0.0;"," if (brightness < 0.83) return mod(slash, 1.5) < 0.5 || mod(backslash, 1.5) < 0.5 ? 1.0 : 0.2;"," return mod(slash, 1.0) < 0.6 || mod(backslash, 1.0) < 0.6 ? 1.0 : 0.5;","}","vec3 rgbToHsv(vec3 color){"," float maximum = max(max(color.r, color.g), color.b);"," float minimum = min(min(color.r, color.g), color.b);"," float delta = maximum - minimum;"," float hue = 0.0;"," if (delta > 0.00001) {"," if (maximum == color.r) hue = mod((color.g - color.b) / delta, 6.0);"," else if (maximum == color.g) hue = (color.b - color.r) / delta + 2.0;"," else hue = (color.r - color.g) / delta + 4.0;"," hue = fract(hue / 6.0);"," }"," return vec3(hue, maximum > 0.00001 ? delta / maximum : 0.0, maximum);","}","vec3 hsvToRgb(vec3 color){"," vec3 bands = abs(fract(color.xxx + vec3(0.0, 0.6666667, 0.3333333)) * 6.0 - 3.0);"," return color.z * mix(vec3(1.0), clamp(bands - 1.0, 0.0, 1.0), color.y);","}","vec4 sampleAdvancedCurve(float coordinate, float row){",` float position = clamp(coordinate, 0.0, 1.0) * ${Du};`," float lower = floor(position);",` float upper = min(lower + 1.0, ${Du});`,` float y = (row + 0.5) / ${G0};`,` vec4 before = texture2D(u_advanced, vec2((lower + 0.5) / ${Ro}, y));`,` vec4 after = texture2D(u_advanced, vec2((upper + 0.5) / ${Ro}, y));`," return mix(before, after, position - lower);","}","vec4 advancedConfig(float index){",` return texture2D(u_advanced, vec2((index + 0.5) / ${Ro}, ${H0}));`,"}","vec3 wheelDirection(float hue){"," vec3 direction = hsvToRgb(vec3(fract(hue), 1.0, 1.0));"," direction -= vec3(lumaOf(direction));"," return direction / max(max(max(abs(direction.r), abs(direction.g)), abs(direction.b)), 0.0001);","}","vec3 applyTonalWheels(vec3 color){"," float luma = lumaOf(color);"," float shadows = 1.0 - smoothstep(0.0, 0.6, luma);"," float highlights = smoothstep(0.4, 1.0, luma);"," float midtones = max(0.0, 1.0 - shadows - highlights);"," float total = max(shadows + midtones + highlights, 0.0001);"," vec3 weights = vec3(shadows, midtones, highlights) / total;"," color += wheelDirection(u_shadowWheel.x) * u_shadowWheel.y * weights.x * 0.18;"," color += wheelDirection(u_midtoneWheel.x) * u_midtoneWheel.y * weights.y * 0.18;"," color += wheelDirection(u_highlightWheel.x) * u_highlightWheel.y * weights.z * 0.18;"," color += u_shadowWheel.z * weights.x * 0.25;"," color += u_midtoneWheel.z * weights.y * 0.25;"," color += u_highlightWheel.z * weights.z * 0.25;"," return color;","}","vec3 applyRgbCurves(vec3 color){"," if (u_rgbCurvesEnabled < 0.5) return color;"," vec3 master = vec3("," sampleAdvancedCurve(color.r, 0.0).a,"," sampleAdvancedCurve(color.g, 0.0).a,"," sampleAdvancedCurve(color.b, 0.0).a"," );"," return vec3("," sampleAdvancedCurve(master.r, 0.0).r,"," sampleAdvancedCurve(master.g, 0.0).g,"," sampleAdvancedCurve(master.b, 0.0).b"," );","}","float decodeSigned(float value){ return (value * 255.0 - 128.0) / 127.0; }","vec3 applyHueCurves(vec3 color){"," if (u_hueCurvesEnabled < 0.5) return color;"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," vec3 curves = sampleAdvancedCurve(hsv.x, 1.0).rgb;"," float originalLuma = lumaOf(color);"," hsv.x = fract(hsv.x + decodeSigned(curves.r) * 0.5);"," hsv.y = clamp(hsv.y * max(0.0, 1.0 + decodeSigned(curves.g)), 0.0, 1.0);"," vec3 shifted = hsvToRgb(hsv);"," shifted += vec3(originalLuma - lumaOf(shifted) + decodeSigned(curves.b));"," return shifted;","}","float softRangeMask(float value, float minimum, float maximum, float softness){"," if (value < minimum) {"," if (softness <= 0.0) return 0.0;"," return smoothstep(minimum - softness, minimum, value);"," }"," if (value > maximum) {"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(maximum, maximum + softness, value);"," }"," return 1.0;","}","float hueRangeMask(float hue, float saturation, vec3 key){"," float distance = abs(fract(hue - key.x + 0.5) - 0.5) * 360.0;"," float range = key.y * 180.0;"," float softness = key.z * 180.0;"," if (range < 179.999 && saturation < 0.001) return 0.0;"," if (distance <= range) return 1.0;"," if (softness <= 0.0) return 0.0;"," return 1.0 - smoothstep(range, range + softness, distance);","}","vec3 applySecondary(vec3 color, float index){"," float base = index * 5.0;"," vec4 hueKey = advancedConfig(base);"," vec4 saturationKey = advancedConfig(base + 1.0);"," vec4 lumaKey = advancedConfig(base + 2.0);"," vec4 correction = advancedConfig(base + 3.0);"," vec4 tintCorrection = advancedConfig(base + 4.0);"," vec3 hsv = rgbToHsv(clamp(color, 0.0, 1.0));"," float luma = lumaOf(color);"," float mask = hueRangeMask(hsv.x, hsv.y, hueKey.rgb);"," mask *= softRangeMask(hsv.y, saturationKey.x, saturationKey.y, saturationKey.z * 0.5);"," mask *= softRangeMask(luma, lumaKey.x, lumaKey.y, lumaKey.z * 0.5);"," if (mask <= 0.0) return color;"," hsv.x = fract(hsv.x + decodeSigned(correction.x) * 0.5);"," vec3 corrected = hsvToRgb(hsv);"," float correctedLuma = lumaOf(corrected);"," corrected = mix(vec3(correctedLuma), corrected, max(0.0, 1.0 + decodeSigned(correction.y)));"," corrected += vec3(decodeSigned(correction.z));"," float temperature = decodeSigned(correction.w);"," float tint = decodeSigned(tintCorrection.x);"," corrected.r += temperature * 0.08 + tint * 0.04;"," corrected.b -= temperature * 0.08 - tint * 0.04;"," corrected.g -= tint * 0.08;"," return mix(color, corrected, mask);","}","vec3 applyAdvancedGrade(vec3 color){"," color = applyTonalWheels(color);"," color = applyRgbCurves(color);"," color = applyHueCurves(color);"," if (u_secondaryCount > 0.5) color = applySecondary(color, 0.0);"," if (u_secondaryCount > 1.5) color = applySecondary(color, 1.0);"," if (u_secondaryCount > 2.5) color = applySecondary(color, 2.0);"," if (u_secondaryCount > 3.5) color = applySecondary(color, 3.0);"," return color;","}","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","vec3 applyPrimaryGrade(vec3 color){"," color *= pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," float blackPoint = clamp(u_blacks * 0.18, -0.18, 0.18);"," float whitePoint = clamp(1.0 - u_whites * 0.18, 0.82, 1.18);"," color = (color - blackPoint) / max(whitePoint - blackPoint, 0.2);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," float currentSat = clamp(colorSaturation(color), 0.0, 1.0);"," float skinLike = smoothstep(0.02, 0.18, color.r - color.g) * smoothstep(0.0, 0.16, color.g - color.b) * smoothstep(0.18, 0.82, satLuma);"," float vibranceWeight = (1.0 - currentSat * 0.72) * mix(1.0, 0.55, skinLike);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_vibrance * vibranceWeight));"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," return color;","}","vec3 applyColorGrade(vec3 color){"," color = applyPrimaryGrade(color);"," color = applyAdvancedGrade(color);"," return clamp(applyLut(clamp(color, 0.0, 1.0)), 0.0, 1.0);","}","vec3 applyDither(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float pixelSize = mix(1.0, 5.0, clamp(u_ditherSize, 0.0, 1.0)) * scale;"," vec2 block = floor(gl_FragCoord.xy / max(pixelSize, 1.0));"," float levels = clamp(u_paletteSize, 2.0, 6.0);"," float index = floor(clamp(lumaOf(source) * (levels - 1.0) + bayer4(block), 0.0, levels - 1.0));"," return mix(source, paletteColor(index), amount);","}","vec2 asciiEdgeDirection(vec2 uv, vec2 stepUv){"," float topLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, -stepUv.y)).rgb);"," float top = bt601Luma(sampleMedia(uv + vec2(0.0, -stepUv.y)).rgb);"," float topRight = bt601Luma(sampleMedia(uv + vec2(stepUv.x, -stepUv.y)).rgb);"," float left = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, 0.0)).rgb);"," float right = bt601Luma(sampleMedia(uv + vec2(stepUv.x, 0.0)).rgb);"," float bottomLeft = bt601Luma(sampleMedia(uv + vec2(-stepUv.x, stepUv.y)).rgb);"," float bottom = bt601Luma(sampleMedia(uv + vec2(0.0, stepUv.y)).rgb);"," float bottomRight = bt601Luma(sampleMedia(uv + stepUv).rgb);"," float x = -topLeft - 2.0 * left - bottomLeft + topRight + 2.0 * right + bottomRight;"," float y = -topLeft - 2.0 * top - topRight + bottomLeft + 2.0 * bottom + bottomRight;"," return vec2(x, y);","}","vec2 rotateAsciiUv(vec2 uv, float angle){"," float cosine = cos(angle);"," float sine = sin(angle);"," vec2 centered = uv - 0.5;"," return vec2(centered.x * cosine - centered.y * sine, centered.x * sine + centered.y * cosine) + 0.5;","}","vec3 applyAscii(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float scale = max(min(u_resolution.x, u_resolution.y) / 540.0, 0.25);"," float cellHeight = mix(4.0, 80.0, clamp(u_asciiSize, 0.0, 1.0)) * scale;"," vec2 cellSize = vec2(cellHeight);"," vec2 cell = floor(gl_FragCoord.xy / cellSize);"," vec2 cellVuv = (cell + 0.5) * cellSize / max(u_resolution, vec2(1.0));"," vec2 cellUv = (cellVuv - u_uvOffset) / u_uvScale;"," cellUv = applyCrtWarp(cellUv);"," vec3 cellColor = applyColorGrade(sampleMedia(cellUv).rgb);"," float brightness = bt601Luma(cellColor);"," float invert = step(0.5, u_asciiInvert);"," brightness = mix(brightness, 1.0 - brightness, invert);"," vec2 glyphUv = fract(gl_FragCoord.xy / cellSize);"," float rotation = clamp(u_asciiRotation, 0.0, 1.0);"," if (rotation > 0.0) {"," vec2 cellStepUv = cellSize / max(u_resolution * u_uvScale, vec2(1.0));"," vec2 edge = asciiEdgeDirection(cellUv, cellStepUv);"," if (length(edge) > 0.1) glyphUv = mix(glyphUv, rotateAsciiUv(glyphUv, atan(edge.y, edge.x)), rotation);"," }"," float ink = asciiStyleSample(floor(u_asciiStyle + 0.5), brightness, glyphUv);"," vec3 background = paletteColor(0.0);"," vec3 inkColor = mix(paletteColor(max(u_paletteSize - 1.0, 1.0)), cellColor, clamp(u_asciiColor, 0.0, 1.0));"," vec3 asciiColor = mix(background, inkColor, ink);"," return mix(source, asciiColor, amount);","}","vec3 applyScanlines(vec3 source, float amount){"," if (amount <= 0.0) return source;"," float count = mix(50.0, 500.0, clamp(u_scanlineCount, 0.0, 1.0));"," float softness = clamp(u_scanlineSoftness, 0.0, 1.0);"," float wave = 0.5 + 0.5 * sin(v_uv.y * count * PI);"," float line = mix(1.0 - wave, pow(1.0 - wave, 2.2), softness);"," return source * (1.0 - line * amount);","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 originalSample = sampleSource(uv);"," uv = applyCrtWarp(uv);"," vec2 displayEdge = smoothstep(vec2(0.0), vec2(0.006), uv) * (1.0 - smoothstep(vec2(0.994), vec2(1.0), uv));"," float displayMask = displayEdge.x * displayEdge.y;"," vec4 sampleColor = sampleMedia(uv);"," sampleColor = sampleChromaticMedia(uv, sampleColor);"," sampleColor.rgb = applyDigitalGlitch(uv, sampleColor.rgb);"," vec3 original = originalSample.rgb;"," vec3 color = mix(sampleColor.rgb, applyColorGrade(sampleColor.rgb), u_intensity);"," float grainAmount = clamp(u_grain, 0.0, 1.0);"," if (grainAmount > 0.0) {"," float grainPixelSize = mix(1.0, 6.0, clamp(u_grainSize, 0.0, 1.0));"," vec2 grainCoord = floor(gl_FragCoord.xy / grainPixelSize) + vec2(u_grainSeed, u_grainSeed * 1.37);"," float grainBase = grainHash(grainCoord) - grainHash(grainCoord + vec2(19.19, 73.31));"," float grainFine = grainHash(gl_FragCoord.xy + vec2(u_grainSeed * 2.11, u_grainSeed * 0.71)) - 0.5;"," float grain = mix(grainBase * 0.7, grainBase + grainFine * 0.35, clamp(u_grainRoughness, 0.0, 1.0));"," float grainLuma = lumaOf(color);"," float grainMask = smoothstep(0.02, 0.55, grainLuma) * (1.0 - smoothstep(0.88, 1.0, grainLuma));"," color += grain * grainAmount * mix(0.025, 0.08, grainMask);"," }"," float filmArtifacts = clamp(u_filmArtifacts, 0.0, 1.0);"," if (filmArtifacts > 0.0) {"," float filmFrame = floor(u_grainSeed);"," float dust = dustMask(v_uv, floor(filmFrame / 3.0));"," float dustTone = grainHash(vec2(floor(filmFrame / 3.0), 8.0));"," color = mix(color, vec3(dustTone > 0.5 ? 0.95 : 0.02), dust * 0.72 * filmArtifacts);"," float scratchBucket = floor(filmFrame / 12.0);"," float scratchX = grainHash(vec2(scratchBucket, 4.2));"," float scratchLife = step(0.78, grainHash(vec2(scratchBucket, 8.4)));"," float scratch = (1.0 - smoothstep(0.0, 1.4 / max(u_resolution.x, 1.0), abs(v_uv.x - scratchX))) * scratchLife;"," color = mix(color, vec3(0.94, 0.88, 0.76), scratch * 0.28 * filmArtifacts);"," }"," color = applyMonoScreen(clamp(color, 0.0, 1.0), clamp(u_monoScreen, 0.0, 1.0));"," color = applyEngraving(clamp(color, 0.0, 1.0), clamp(u_engraving, 0.0, 1.0));"," color = applyCrosshatch(uv, clamp(color, 0.0, 1.0), clamp(u_crosshatch, 0.0, 1.0));"," color = applyHalftone(clamp(color, 0.0, 1.0), clamp(u_halftone, 0.0, 1.0));"," color = applyTwoInkPrint(clamp(color, 0.0, 1.0), clamp(u_twoInkPrint, 0.0, 1.0));"," color = applyDither(clamp(color, 0.0, 1.0), clamp(u_dither, 0.0, 1.0));"," color = applyAscii(clamp(color, 0.0, 1.0), clamp(u_ascii, 0.0, 1.0));"," if (u_bloomReady > 0.5 && u_bloom > 0.0) color += sampleBloom(uv) * u_bloom;"," color = applyScanlines(clamp(color, 0.0, 1.0), clamp(u_scanlines, 0.0, 1.0));"," vec2 vignetteAspect = u_resolution.x > u_resolution.y"," ? vec2(u_resolution.x / max(u_resolution.y, 1.0), 1.0)"," : vec2(1.0, u_resolution.y / max(u_resolution.x, 1.0));"," vec2 vignetteUv = abs((v_uv - vec2(0.5)) * 2.0) * vignetteAspect;"," float vignettePower = mix(8.0, 1.8, clamp(u_vignetteRoundness * 0.5 + 0.5, 0.0, 1.0));"," float vignetteDistance = pow(pow(vignetteUv.x, vignettePower) + pow(vignetteUv.y, vignettePower), 1.0 / vignettePower);"," float vignetteMidpoint = mix(0.22, 1.08, clamp(u_vignetteMidpoint, 0.0, 1.0));"," float vignetteFeather = mix(0.08, 0.72, clamp(u_vignetteFeather, 0.0, 1.0));"," float vignetteMask = smoothstep(vignetteMidpoint, vignetteMidpoint + vignetteFeather, vignetteDistance);"," color *= 1.0 - vignetteMask * clamp(u_vignette, 0.0, 1.0) * 0.75;"," float warpActive = step(0.0001, u_crtCurvature);"," color *= mix(1.0, displayMask, warpActive);"," vec3 graded = clamp(color, 0.0, 1.0);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`),W0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform vec2 u_resolution;","uniform vec2 u_direction;","uniform float u_radius;","uniform float u_bloomPass;","uniform float u_threshold;","vec4 readSource(vec2 uv){"," vec4 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0)));"," if (u_bloomPass > 0.5) {"," float luminance = dot(color.rgb, vec3(0.299, 0.587, 0.114));"," if (u_threshold >= 0.0 && luminance <= u_threshold) color.rgb = vec3(0.0);"," return vec4(color.rgb, 1.0);"," }"," color.rgb *= color.a;"," return color;","}","void main(){"," if (u_bloomPass > 0.5) {"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) * 0.5;"," vec4 bloom = readSource(v_uv) * 0.227027;"," bloom += readSource(v_uv + stepUv) * 0.1945946;"," bloom += readSource(v_uv - stepUv) * 0.1945946;"," bloom += readSource(v_uv + stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv - stepUv * 2.0) * 0.1216216;"," bloom += readSource(v_uv + stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv - stepUv * 3.0) * 0.054054;"," bloom += readSource(v_uv + stepUv * 4.0) * 0.016216;"," bloom += readSource(v_uv - stepUv * 4.0) * 0.016216;"," gl_FragColor = bloom;"," return;"," }"," vec2 stepUv = u_direction * max(u_radius, 0.0) / max(u_resolution, vec2(1.0)) / 12.0;"," vec4 color = readSource(v_uv) * 0.08077993;"," color += readSource(v_uv + stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv - stepUv * 1.0) * 0.07918038;"," color += readSource(v_uv + stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv - stepUv * 2.0) * 0.07456928;"," color += readSource(v_uv + stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv - stepUv * 3.0) * 0.06747307;"," color += readSource(v_uv + stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv - stepUv * 4.0) * 0.05865827;"," color += readSource(v_uv + stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv - stepUv * 5.0) * 0.04899551;"," color += readSource(v_uv + stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv - stepUv * 6.0) * 0.03931982;"," color += readSource(v_uv + stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv - stepUv * 7.0) * 0.03031761;"," color += readSource(v_uv + stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv - stepUv * 8.0) * 0.02245983;"," color += readSource(v_uv + stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv - stepUv * 9.0) * 0.01598624;"," color += readSource(v_uv + stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv - stepUv * 10.0) * 0.01093238;"," color += readSource(v_uv + stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv - stepUv * 11.0) * 0.00718308;"," color += readSource(v_uv + stepUv * 12.0) * 0.00453456;"," color += readSource(v_uv - stepUv * 12.0) * 0.00453456;"," if (color.a > 0.0001) color.rgb /= color.a;"," gl_FragColor = color;","}"].join(`\n`),V0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_blurSource;","uniform vec2 u_texel;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_blurReady;","uniform float u_blur;","uniform float u_kuwaharaRadius;","vec3 readPrepared(vec2 displayUv){"," vec2 uv = (displayUv - u_uvOffset) / u_uvScale;"," vec3 color = texture2D(u_source, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," if (u_blurReady > 0.5 && u_blur > 0.0) {"," vec3 blurred = texture2D(u_blurSource, clamp(uv, vec2(0.0), vec2(1.0))).rgb;"," color = mix(color, blurred, clamp(u_blur, 0.0, 1.0));"," }"," return color;","}","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec3 sum = vec3(0.0);"," float sumSquares = 0.0;"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec3 color = readPrepared(v_uv + vec2(float(offset), 0.0) * u_texel);"," sum += color;"," sumSquares += dot(color, color) / 3.0;"," count += 1.0;"," }"," gl_FragColor = vec4(sum / count, sumSquares / count);","}"].join(`\n`),z0=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_kuwaharaMoments;","uniform vec2 u_texel;","uniform float u_kuwaharaRadius;","uniform float u_kuwaharaSharpness;","uniform float u_kuwaharaSaturation;","void main(){"," float radius = floor(mix(2.0, 16.0, clamp(u_kuwaharaRadius, 0.0, 1.0)) + 0.5);"," vec2 origins[4];"," origins[0] = vec2(-radius, -radius);"," origins[1] = vec2(0.0, -radius);"," origins[2] = vec2(-radius, 0.0);"," origins[3] = vec2(0.0, 0.0);"," vec3 means[4];"," float variances[4];"," float minVariance = 1.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," vec4 moment = vec4(0.0);"," float count = 0.0;"," for (int offset = 0; offset <= 16; offset++) {"," if (float(offset) > radius) continue;"," vec2 sampleOffset = origins[quadrant] + vec2(0.0, float(offset));"," moment += texture2D(u_kuwaharaMoments, clamp(v_uv + sampleOffset * u_texel, vec2(0.0), vec2(1.0)));"," count += 1.0;"," }"," moment /= count;"," vec3 mean = moment.rgb;"," float meanSquare = moment.a * 3.0;"," float variance = max(meanSquare - dot(mean, mean), 0.0);"," means[quadrant] = mean;"," variances[quadrant] = variance;"," minVariance = min(minVariance, variance);"," }"," float exponent = 1.0 + clamp(u_kuwaharaSharpness, 0.0, 1.0) * 8.0;"," vec3 result = vec3(0.0);"," float totalWeight = 0.0;"," for (int quadrant = 0; quadrant < 4; quadrant++) {"," float weight = pow((minVariance + 0.0001) / (variances[quadrant] + 0.0001), exponent);"," result += means[quadrant] * weight;"," totalWeight += weight;"," }"," result /= max(totalWeight, 0.0001);"," float luma = dot(result, vec3(0.2126, 0.7152, 0.0722));"," float saturation = clamp(u_kuwaharaSaturation, 0.0, 1.0) * 2.0;"," gl_FragColor = vec4(clamp(mix(vec3(luma), result, saturation), 0.0, 1.0), 1.0);","}"].join(`\n`);function St(e){return e instanceof HTMLVideoElement||e instanceof HTMLImageElement}function Iu(e){let t=window.getComputedStyle(e);return t.display!=="none"&&t.visibility!=="hidden"}function Pu(e,t,n){let r=e.createShader(n);return r?(e.shaderSource(r,t),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS)?r:(F("runtime.colorGrading.compileShader",e.getShaderInfoLog(r)),e.deleteShader(r),null)):null}function Lr(e,t=U0){let n=Pu(e,B0,e.VERTEX_SHADER),r=Pu(e,t,e.FRAGMENT_SHADER);if(!n||!r)return n&&e.deleteShader(n),r&&e.deleteShader(r),null;let i=e.createProgram();return i?(e.attachShader(i,n),e.attachShader(i,r),e.linkProgram(i),e.deleteShader(n),e.deleteShader(r),e.getProgramParameter(i,e.LINK_STATUS)?i:(F("runtime.colorGrading.linkProgram",e.getProgramInfoLog(i)),e.deleteProgram(i),null)):null}function wr(e,t=e.LINEAR,n=e.UNSIGNED_BYTE){let r=e.createTexture();return r?(e.bindTexture(e.TEXTURE_2D,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,1,1,0,e.RGBA,n,null),r):null}function $0(e,t){let n=Lr(e,W0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),resolution:e.getUniformLocation(n,"u_resolution"),direction:e.getUniformLocation(n,"u_direction"),radius:e.getUniformLocation(n,"u_radius"),bloomPass:e.getUniformLocation(n,"u_bloomPass"),threshold:e.getUniformLocation(n,"u_threshold")}:null}function q0(e,t){let n=Lr(e,V0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),blurSource:e.getUniformLocation(n,"u_blurSource"),texel:e.getUniformLocation(n,"u_texel"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),blurReady:e.getUniformLocation(n,"u_blurReady"),blur:e.getUniformLocation(n,"u_blur"),radius:e.getUniformLocation(n,"u_kuwaharaRadius")}:null}function j0(e,t){let n=Lr(e,z0);return n?{program:n,quad:t,position:e.getAttribLocation(n,"a_pos"),moments:e.getUniformLocation(n,"u_kuwaharaMoments"),texel:e.getUniformLocation(n,"u_texel"),radius:e.getUniformLocation(n,"u_kuwaharaRadius"),sharpness:e.getUniformLocation(n,"u_kuwaharaSharpness"),saturation:e.getUniformLocation(n,"u_kuwaharaSaturation")}:null}function kn(e,t=e.UNSIGNED_BYTE,n=e.LINEAR){let r=wr(e,n,t),i=e.createFramebuffer();if(!r||!i)return r&&e.deleteTexture(r),i&&e.deleteFramebuffer(i),null;e.bindFramebuffer(e.FRAMEBUFFER,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,0);let o=e.checkFramebufferStatus(e.FRAMEBUFFER);return e.bindFramebuffer(e.FRAMEBUFFER,null),o!==e.FRAMEBUFFER_COMPLETE?(e.deleteTexture(r),e.deleteFramebuffer(i),null):{texture:r,framebuffer:i,type:t,width:1,height:1}}function Rr(e,t,n,r){t.width===n&&t.height===r||(t.width=n,t.height=r,e.bindTexture(e.TEXTURE_2D,t.texture),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n,r,0,e.RGBA,t.type,null))}function Fo(e,t,n){let r=[];for(let i of n){let o=e.getUniformLocation(t,`u_${i}`);o!==null&&r.push([i,o])}return r}function Ou(e,t,n){t&&e.deleteProgram(t);for(let r of n)r&&e.deleteTexture(r)}function Mo(e){let t=e.getContext("webgl",{alpha:!0,premultipliedAlpha:!1});if(!t)return null;let n=Lr(t),r=wr(t),i=wr(t,t.NEAREST),o=wr(t,t.NEAREST);if(!n||!r||!i||!o)return Ou(t,n,[r,i,o]),null;let a=t.createBuffer();return a?(t.bindBuffer(t.ARRAY_BUFFER,a),t.bufferData(t.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),t.STATIC_DRAW),{gl:t,program:{program:n,texture:r,lutTexture:i,advancedTexture:o,advancedSignature:null,quad:a,position:t.getAttribLocation(n,"a_pos"),source:t.getUniformLocation(n,"u_source"),blurSource:t.getUniformLocation(n,"u_blurSource"),bloomSource:t.getUniformLocation(n,"u_bloomSource"),kuwaharaSource:t.getUniformLocation(n,"u_kuwaharaSource"),lut:t.getUniformLocation(n,"u_lut"),advanced:t.getUniformLocation(n,"u_advanced"),resolution:t.getUniformLocation(n,"u_resolution"),uvScale:t.getUniformLocation(n,"u_uvScale"),uvOffset:t.getUniformLocation(n,"u_uvOffset"),blurReady:t.getUniformLocation(n,"u_blurReady"),bloomReady:t.getUniformLocation(n,"u_bloomReady"),kuwaharaReady:t.getUniformLocation(n,"u_kuwaharaReady"),lutEnabled:t.getUniformLocation(n,"u_lutEnabled"),lutSize:t.getUniformLocation(n,"u_lutSize"),lutTextureSize:t.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:t.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:t.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:t.getUniformLocation(n,"u_lutIntensity"),shadowWheel:t.getUniformLocation(n,"u_shadowWheel"),midtoneWheel:t.getUniformLocation(n,"u_midtoneWheel"),highlightWheel:t.getUniformLocation(n,"u_highlightWheel"),rgbCurvesEnabled:t.getUniformLocation(n,"u_rgbCurvesEnabled"),hueCurvesEnabled:t.getUniformLocation(n,"u_hueCurvesEnabled"),secondaryCount:t.getUniformLocation(n,"u_secondaryCount"),adjustUniforms:Fo(t,n,nr),detailUniforms:Fo(t,n,Ai),effectUniforms:Fo(t,n,wi),grainSeed:t.getUniformLocation(n,"u_grainSeed"),effectTime:t.getUniformLocation(n,"u_effectTime"),paletteSize:t.getUniformLocation(n,"u_paletteSize"),palette0:t.getUniformLocation(n,"u_palette0"),palette1:t.getUniformLocation(n,"u_palette1"),palette2:t.getUniformLocation(n,"u_palette2"),palette3:t.getUniformLocation(n,"u_palette3"),palette4:t.getUniformLocation(n,"u_palette4"),palette5:t.getUniformLocation(n,"u_palette5"),intensity:t.getUniformLocation(n,"u_intensity"),compareEnabled:t.getUniformLocation(n,"u_compareEnabled"),comparePosition:t.getUniformLocation(n,"u_comparePosition"),compareSoftness:t.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:t.getUniformLocation(n,"u_compareLineWidth")}}):(Ou(t,n,[r,i,o]),null)}function K0(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Y0(e){if(!K0(e))return{...Wt};let t=(n,r,i,o)=>{let a=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(i,Number.isFinite(a)?a:r))};return{enabled:e.enabled===!0,position:t(e.position,Wt.position,0,1),softness:t(e.softness,Wt.softness,0,.25),lineWidth:t(e.lineWidth,Wt.lineWidth,0,12)}}function $u(e){try{let t=new URL(e,document.baseURI);return t.protocol==="data:"?{href:t.href}:t.protocol!=="http:"&&t.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:t.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:t.href}}catch{return{error:"Invalid LUT URL"}}}function Nr(e){return e instanceof Error?e.message:"LUT failed to load"}function X0(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0)%1e4}function qu(e){let t=e.id||e.currentSrc||e.getAttribute("src")||`${e.tagName}:${Array.prototype.indexOf.call(e.parentNode?.children??[],e)}`;return X0(t)}function Do(e){let t=$u(e);if("error"in t)return{state:"error",message:t.error};let n=Qe.get(t.href);if(n)return n;let r=fetch(t.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Qa(o,{maxSize:Qn})),i={state:"pending",promise:r};for(;Qe.size>=M0;){let o=Qe.keys().next().value;if(!o)break;Qe.delete(o)}return Qe.set(t.href,i),r.then(o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"ready",lut:o})},o=>{Qe.get(t.href)===i&&Qe.set(t.href,{state:"error",message:Nr(o)})}),i}function Gu(e,t,n){if(e.lut?.src===t)return e.lut;let r=gi(n),{gl:i,program:o}=e;try{return ju(i,o.lutTexture,r),e.lut={src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height},e.lutError=null,e.lutLoadingSrc=null,e.lut}catch(a){return e.lut=null,e.lutError=Nr(a),e.lutLoadingSrc=null,F("runtime.colorGrading.uploadLut",a),null}}async function J0(e){let t=Do(e);if(t.state==="ready")return t.lut;if(t.state==="pending")return t.promise;throw new Error(t.message)}function ju(e,t,n){e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,n.width,n.height,0,e.RGBA,e.UNSIGNED_BYTE,n.data)}function Q0(e,t,n){let r=gi(n),{gl:i,program:o}=e;return ju(i,o.lutTexture,r),{src:t,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:r.width,textureHeight:r.height}}function Xe(e,t){e.deleteTexture(t.texture),e.deleteFramebuffer(t.framebuffer)}function Io(e){let t=e.effectTargets;t&&(e.gl.deleteProgram(t.blurProgram.program),Xe(e.gl,t.scratch),Xe(e.gl,t.blur),t.bloom&&Xe(e.gl,t.bloom),e.effectTargets=null)}function Po(e){let t=e.kuwaharaTargets;t&&(e.gl.deleteProgram(t.horizontalProgram.program),e.gl.deleteProgram(t.resolveProgram.program),Xe(e.gl,t.moments),Xe(e.gl,t.output),e.kuwaharaTargets=null)}function Tr(e,t=!1){Io(e),Po(e),Z0(e.gl,e.program),t&&e.gl.getExtension("WEBGL_lose_context")?.loseContext()}function Z0(e,t){e.deleteTexture(t.texture),e.deleteTexture(t.lutTexture),e.deleteTexture(t.advancedTexture),e.deleteBuffer(t.quad),e.deleteProgram(t.program)}function eh(e){let t=Mo(e.canvas);return t?(Tr(e),e.gl=t.gl,e.program=t.program,e.lut=null,e.lutLoadingSrc=null,e.lutError=null,e.effectError=null,!0):!1}function ko(e){if(!e.sourceHidden)return;e.element.removeAttribute(sn);let t=e.element.style.getPropertyValue("opacity"),n=e.element.style.getPropertyPriority("opacity");t==="0"&&n==="important"&&(e.sourceInlineOpacity===null?e.element.style.removeProperty("opacity"):e.element.style.setProperty("opacity",e.sourceInlineOpacity,e.sourceInlineOpacityPriority)),e.sourceHidden=!1}function th(e){if(e.effectTargets)return e.effectTargets;let{gl:t}=e,n=$0(t,e.program.quad),r=kn(t),i=kn(t);return!n||!r||!i?(n&&t.deleteProgram(n.program),r&&Xe(t,r),i&&Xe(t,i),e.effectError="Framebuffer effects unavailable",null):(e.effectError=null,e.effectTargets={blurProgram:n,scratch:r,blur:i,bloom:null},e.effectTargets)}function nh(e,t){return t.bloom||(t.bloom=kn(e.gl),e.effectError=t.bloom?null:"Framebuffer effects unavailable"),t.bloom}function Hu(e){let t=e.effectTargets;t?.bloom&&(Xe(e.gl,t.bloom),t.bloom=null)}function rh(e){if(e.kuwaharaTargets)return e.kuwaharaTargets;let{gl:t}=e,n=t.getExtension("OES_texture_half_float"),r=t.getExtension("EXT_color_buffer_half_float");if(!n||!r)return e.effectError="Kuwahara requires half-float framebuffer support",null;let i=q0(t,e.program.quad),o=j0(t,e.program.quad),a=kn(t,n.HALF_FLOAT_OES,t.NEAREST),l=kn(t);return!i||!o||!a||!l?(ih(t,i,o,a,l),e.effectError="Kuwahara framebuffer effects unavailable",null):(e.kuwaharaTargets={horizontalProgram:i,resolveProgram:o,moments:a,output:l},e.kuwaharaTargets)}function ih(e,t,n,r,i){t&&e.deleteProgram(t.program),n&&e.deleteProgram(n.program),r&&Xe(e,r),i&&Xe(e,i)}function Ku(e,t,n,r,i){let o=Math.max(1,Math.ceil(r)),a=Math.max(1,Math.ceil(i));return Rr(e,t,o,a),Rr(e,n,o,a),{width:o,height:a}}function Fr(e,t,n,r,i,o,a,l=!1,s=-1){e.bindFramebuffer(e.FRAMEBUFFER,r.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(t.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.uniform1i(t.source,0),e.uniform2f(t.resolution,i.width,i.height),e.uniform2f(t.direction,o.x,o.y),e.uniform1f(t.radius,a),e.uniform1f(t.bloomPass,l?1:0),e.uniform1f(t.threshold,s),Mn(e,t)}function oh(e,t,n,r,i,o,a){let l=Ku(e,t.scratch,r,i/2,o/2),s=a/2;Fr(e,t.blurProgram,n,t.scratch,l,{x:1,y:0},s,!0,.5),Fr(e,t.blurProgram,t.scratch.texture,r,l,{x:0,y:1},s,!0)}function ah(e,t,n,r,i,o,a){let l=n;for(let s=0;s<Math.max(1,Math.floor(a));s++)Fr(e,t.blurProgram,l,t.scratch,i,{x:1,y:0},o),Fr(e,t.blurProgram,t.scratch.texture,r,i,{x:0,y:1},o),l=r.texture}function Mn(e,t){e.bindBuffer(e.ARRAY_BUFFER,t.quad),e.enableVertexAttribArray(t.position),e.vertexAttribPointer(t.position,2,e.FLOAT,!1,0,0),e.drawArrays(e.TRIANGLE_STRIP,0,4)}function sh(e,t,n,r,i,o,a,l){Rr(e,t.moments,i.width,i.height),Rr(e,t.output,i.width,i.height);let s=t.horizontalProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.moments.framebuffer),e.viewport(0,0,i.width,i.height),e.useProgram(s.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,r),e.uniform1i(s.source,0),e.uniform1i(s.blurSource,1),e.uniform2f(s.texel,1/i.width,1/i.height),e.uniform2f(s.uvScale,o.scaleX,o.scaleY),e.uniform2f(s.uvOffset,o.offsetX,o.offsetY),e.uniform1f(s.blurReady,a?1:0),e.uniform1f(s.blur,l.blur),e.uniform1f(s.radius,l.kuwaharaRadius),Mn(e,s);let u=t.resolveProgram;e.bindFramebuffer(e.FRAMEBUFFER,t.output.framebuffer),e.useProgram(u.program),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t.moments.texture),e.uniform1i(u.moments,0),e.uniform2f(u.texel,1/i.width,1/i.height),e.uniform1f(u.radius,l.kuwaharaRadius),e.uniform1f(u.sharpness,l.kuwaharaSharpness),e.uniform1f(u.saturation,l.kuwaharaSaturation),Mn(e,u)}function lh(e,t,n,r){if(n<=0)return!1;let i=Ku(e.gl,t.scratch,t.blur,r.width,r.height);return ah(e.gl,t,e.program.texture,t.blur,i,.75+Math.pow(n,1.35)*32,n>.55?3:2),!0}function uh(e,t,n,r,i,o){if(n<=0)return Hu(e),null;o||Hu(e);let a=o?nh(e,t):t.blur;return a?(oh(e.gl,t,e.program.texture,a,i.width,i.height,r),a.texture):null}function ch(e,t,n,r){let{program:i}=e,o=t.effects.blur,a=t.effects.bloom;if(o<=0&&a<=0)return e.effectTargets&&r&&Io(e),{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let l=th(e);if(!l)return{blurReady:!1,bloomReady:!1,blurTexture:i.texture,bloomTexture:i.texture};let s=lh(e,l,o,n),u=uh(e,l,a,t.effects.bloomRadius,n,s);return{blurReady:s,bloomReady:u!==null,blurTexture:l.blur.texture,bloomTexture:u??i.texture}}function dh(e,t,n,r,i,o,a){let l=t.effects.kuwahara;if(l<=0&&!o)return e.kuwaharaTargets&&a&&Po(e),{kuwaharaReady:!1,kuwaharaTexture:e.program.texture};let s=rh(e);return!s||l<=0?{kuwaharaReady:!1,kuwaharaTexture:s?.output.texture??e.program.texture}:(sh(e.gl,s,e.program.texture,e.effectTargets?.blur.texture??e.program.texture,n,r,i,t.effects),{kuwaharaReady:!0,kuwaharaTexture:s.output.texture})}function Yu(e,t,n,r,i={}){let o=i.releaseIdleTargets??!0;e.effectError=null;let a=ch(e,t,n,o),l=dh(e,t,n,r,a.blurReady,i.preserveKuwahara??!1,o);return{...a,...l}}function fh(e){let t=e.grading.lut?.src.trim()??"",n=e.grading.lut?.intensity??1;if(!t||n<=0)return e.lut=null,e.lutLoadingSrc=null,e.lutError=null,null;let r=$u(t);if("error"in r)return e.lut=null,e.lutLoadingSrc=null,e.lutError=r.error,null;if(e.lut?.src===r.href)return e.lut;e.lut=null;let i=Do(t);return i.state==="ready"?Gu(e,r.href,i.lut):i.state==="error"?(e.lutError=i.message,e.lutLoadingSrc=null,null):(e.lutLoadingSrc!==r.href&&(e.lutLoadingSrc=r.href,e.lutError=null,i.promise.then(o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(Gu(e,r.href,o),Me(e))},o=>{e.destroyed||e.grading.lut?.src.trim()!==t||(e.lut=null,e.lutError=Nr(o),e.lutLoadingSrc=null,Me(e))})),null)}function Ln(e){if(!e)return null;if(typeof e=="string"){let t=e.trim();if(!t)return null;let n=document.getElementById(t.replace(/^#/,""));if(n&&St(n))return n;try{let r=document.querySelector(t);return r&&St(r)?r:null}catch{return null}}if(e.hfId){let t=document.querySelector(`[data-hf-id="${CSS.escape(e.hfId)}"]`);if(t&&St(t))return t}if(e.id){let t=document.getElementById(e.id);if(t&&St(t))return t}if(!e.selector)return null;try{let t=Array.from(document.querySelectorAll(e.selector)),n=Math.max(0,Math.floor(Number(e.selectorIndex??0)||0)),r=t[n]??null;return r&&St(r)?r:null}catch{return null}}function Xu(e){return e instanceof HTMLVideoElement?e.videoWidth>0&&e.videoHeight>0?{width:e.videoWidth,height:e.videoHeight}:null:e instanceof HTMLImageElement&&e.naturalWidth>0&&e.naturalHeight>0?{width:e.naturalWidth,height:e.naturalHeight}:null}function Ju(e){return e instanceof HTMLVideoElement?e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&e.videoWidth>0&&e.videoHeight>0:e instanceof HTMLImageElement?e.complete&&e.naturalWidth>0&&e.naturalHeight>0:!1}function Qu(e){if(!e.id)return null;let t=document.getElementById(`__render_frame_${e.id}__`);return t instanceof HTMLImageElement&&Ju(t)?t:null}function Bu(e){if(!(e instanceof HTMLVideoElement))return!1;let t=Qu(e);if(!t)return!1;let n=window.getComputedStyle(t);return n.display!=="none"&&n.visibility!=="hidden"}function mh(e){return e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")}function ph(e,t){t.parentNode&&t.nextSibling!==e.canvas&&t.parentNode.insertBefore(e.canvas,t.nextSibling)}function Zu(e){if(e instanceof HTMLVideoElement){let t=Qu(e);if(t)return t}return Ju(e)?e:null}function Uu(e,t){let n=e.toLowerCase();if(n==="center")return .5;if(t==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let r=Number.parseFloat(n);return Number.isFinite(r)?r/100:null}return null}function hh(e){let t=e.trim().split(/\\s+/).filter(Boolean),n=.5,r=.5;for(let i=0;i<t.length;i++){let o=t[i]??"",a=Uu(o,"x"),l=Uu(o,"y");if(a!==null&&(o==="left"||o==="right"||o.endsWith("%")&&i===0)){n=a;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&i>0)){r=l;continue}}return{x:n,y:r}}function ec(e,t,n,r,i,o){if(e<=0||t<=0||n<=0||r<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let a=i||"fill",l=e,s=t;if(a==="contain"||a==="cover"||a==="scale-down"){let f=a==="cover"?Math.max(e/n,t/r):Math.min(e/n,t/r);l=n*f,s=r*f,a==="scale-down"&&l>n&&s>r&&(l=n,s=r)}else a==="none"&&(l=n,s=r);let u=hh(o||"center"),c=(e-l)*u.x/e,m=(t-s)*u.y/t;return{scaleX:l/e,scaleY:s/t,offsetX:c,offsetY:m}}function gh(e,t){window.getComputedStyle(t).position==="static"&&(e.touchedParent||(e.touchedParent=t,e.parentInlinePosition=t.style.position||null),t.style.position="relative")}function Wu(e,t){return Math.max(0,Math.round(e>0?e:t))}function xh(e,t){let{element:n,canvas:r}=e,i=n.parentElement;i&&gh(e,i);let o=window.getComputedStyle(t);_s(r.style,o),r.style.pointerEvents="none",r.style.position="absolute",r.style.inset="auto",r.style.left=`${n.offsetLeft}px`,r.style.top=`${n.offsetTop}px`,r.style.right="auto",r.style.bottom="auto",r.style.width=`${n.offsetWidth}px`,r.style.height=`${n.offsetHeight}px`,r.style.display="block",r.style.opacity=e.sourceOpacityForCanvas,r.style.visibility=e.sourceVisibleForCanvas?"visible":"hidden";let a=n.getBoundingClientRect(),l=Wu(n.offsetWidth,a.width),s=Wu(n.offsetHeight,a.height);if(l<=0||s<=0)return r.style.display="none",null;let u=Math.max(1,window.devicePixelRatio||1),c=Math.round(l*u),m=Math.round(s*u);return r.width!==c&&(r.width=c),r.height!==m&&(r.height=m),{width:c,height:m}}function Ut(e,t,n){e.uniform3f(t,Number.parseInt(n.slice(1,3),16)/255,Number.parseInt(n.slice(3,5),16)/255,Number.parseInt(n.slice(5,7),16)/255)}function Et(e,t,n,r){e.set(r,(t*je+n)*4)}function ut(e,t){return Math.min(1,Math.max(1/255,(e*(127/t)+128)/255))}function Lo(e,t,n){return e.length>=3?bi(e,t,n):new Float32Array(je)}function yt(e,t){return e[t]??0}function bh(e,t,n){let r=Ft(t.red),i=Ft(t.green),o=Ft(t.blue),a=Ft(t.master),l=Lo(n.hueVsHue,-180,180),s=Lo(n.hueVsSaturation,-1,1),u=Lo(n.hueVsLuma,-1,1);for(let c=0;c<je;c+=1)Et(e,0,c,[yt(r,c),yt(i,c),yt(o,c),yt(a,c)]),Et(e,1,c,[ut(yt(l,c),180),ut(yt(s,c),1),ut(yt(u,c),1),1])}function yh(e,t,n){let r=n*O0;Et(e,2,r,[t.key.hue.center/360,t.key.hue.range/180,t.key.hue.softness/180,1]),Et(e,2,r+1,[t.key.saturation.min,t.key.saturation.max,t.key.saturation.softness/.5,0]),Et(e,2,r+2,[t.key.luma.min,t.key.luma.max,t.key.luma.softness/.5,0]),Et(e,2,r+3,[ut(t.correction.hueShift,180),ut(t.correction.saturation,1),ut(t.correction.luma,1),ut(t.correction.temperature,1)]),Et(e,2,r+4,[ut(t.correction.tint,1),.5,.5,1])}function Sh(e,t,n){let r=new Float32Array(je*In*4);bh(r,e,t);let i=0;for(let o of n)o.enabled&&(yh(r,o,i),i+=1);return r}var Vu=new WeakMap;function Eh(e,t,n){let r=Vu.get(e);if(r?.hueCurves===t&&r.secondaries===n)return r.signature;let i=JSON.stringify([e,t,n]);return Vu.set(e,{hueCurves:t,secondaries:n,signature:i}),i}function vh(e,t,n,r){let{curves:i,hueCurves:o}=n,a=Eh(i,o,r);if(t.advancedSignature===a)return;let l=Uint8Array.from(Sh(i,o,r),rn);e.activeTexture(e.TEXTURE5),e.bindTexture(e.TEXTURE_2D,t.advancedTexture),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!1),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,je,In,0,e.RGBA,e.UNSIGNED_BYTE,l),t.advancedSignature=a}function No(e,t,n){e.uniform3f(t,n.hue/360,n.amount,n.level)}function tc(e,t,n,r,i,o,a,l,s,u,c,m){e.uniform1i(t.source,0),e.uniform1i(t.blurSource,1),e.uniform1i(t.lut,2),e.uniform1i(t.kuwaharaSource,3),e.uniform1i(t.bloomSource,4),e.uniform1i(t.advanced,5),e.uniform2f(t.resolution,s.width,s.height),e.uniform2f(t.uvScale,u.scaleX,u.scaleY),e.uniform2f(t.uvOffset,u.offsetX,u.offsetY),e.uniform1f(t.blurReady,i?1:0),e.uniform1f(t.bloomReady,o?1:0),e.uniform1f(t.kuwaharaReady,a?1:0),e.uniform1f(t.lutEnabled,r?1:0),e.uniform1f(t.lutSize,r?.size??2),e.uniform2f(t.lutTextureSize,r?.textureWidth??1,r?.textureHeight??1),e.uniform3f(t.lutDomainMin,r?.domainMin[0]??0,r?.domainMin[1]??0,r?.domainMin[2]??0),e.uniform3f(t.lutDomainMax,r?.domainMax[0]??1,r?.domainMax[1]??1,r?.domainMax[2]??1),e.uniform1f(t.lutIntensity,n.lut?.intensity??0);let{curves:f,hueCurves:x,secondaries:E}=n,C=Fi(f),y=Li(x),w=Ni(E)?E.reduce((D,P)=>D+Number(P.enabled),0):0;(C||y||w>0)&&vh(e,t,n,E),No(e,t.shadowWheel,n.wheels.shadows),No(e,t.midtoneWheel,n.wheels.midtones),No(e,t.highlightWheel,n.wheels.highlights),e.uniform1f(t.rgbCurvesEnabled,C?1:0),e.uniform1f(t.hueCurvesEnabled,y?1:0),e.uniform1f(t.secondaryCount,w);for(let[D,P]of t.adjustUniforms)e.uniform1f(P,n.adjust[D]);for(let[D,P]of t.detailUniforms)e.uniform1f(P,n.details[D]);e.uniform1f(t.grainSeed,c),e.uniform1f(t.effectTime,m);for(let[D,P]of t.effectUniforms)e.uniform1f(P,n.effects[D]);let T=n.palette??(n.effects.engraving>0||n.effects.crosshatch>0?I0:To),k=T[T.length-1]??To[1];e.uniform1f(t.paletteSize,T.length),Ut(e,t.palette0,T[0]??To[0]),Ut(e,t.palette1,T[1]??k),Ut(e,t.palette2,T[2]??k),Ut(e,t.palette3,T[3]??k),Ut(e,t.palette4,T[4]??k),Ut(e,t.palette5,T[5]??k),e.uniform1f(t.intensity,n.intensity),e.uniform1f(t.compareEnabled,l.enabled?1:0),e.uniform1f(t.comparePosition,l.position),e.uniform1f(t.compareSoftness,l.softness),e.uniform1f(t.compareLineWidth,l.lineWidth)}function Ch(e){if(!e.sourceHidden){let t=e.element.getAttribute(tr);t!==null?(e.sourceInlineOpacity=t===""?null:t,e.sourceInlineOpacityPriority=""):(e.sourceInlineOpacity=e.element.style.getPropertyValue("opacity")||null,e.sourceInlineOpacityPriority=e.element.style.getPropertyPriority("opacity"))}e.element.setAttribute(sn,"true"),e.element.style.setProperty("opacity","0","important"),e.sourceHidden=!0}function Ze(e){let t=bs.find(n=>n.path===e);if(!t)throw new Error(`Missing color-grading animation property: ${e}`);return t}var nc=Ze("intensity"),rc=Ze("lut.intensity"),ic=Ze("adjust.exposure"),oc=Ze("effects.kuwahara"),ac=[["blur",Ze("effects.blur")],["bloom",Ze("effects.bloom")],["kuwahara",oc],["pixelate",Ze("effects.pixelate")],["ascii",Ze("effects.ascii")],["dither",Ze("effects.dither")]],sc=[nc,rc,ic,...ac.map(([,e])=>e)];function vt(e,t){let n=e.style.getPropertyValue(t.name);if(!n)return null;let r=Number(n);return Number.isFinite(r)?Math.min(t.max,Math.max(t.min,r)):null}function Nn(e,t){return t!==null&&(vs(t)||sc.some(n=>vt(e,n)!==null))}function _h(e,t){let n=null;for(let[r,i]of ac){let o=vt(e,i);o!==null&&(n??(n={...t.effects}),n[r]=o)}return n}function Ah(e){let{element:t,grading:n}=e,r=vt(t,nc),i=vt(t,rc),o=vt(t,ic),a=_h(t,n);if(![r,i,o].some(u=>u!==null)&&a===null)return n;let s={...n,adjust:o===null?n.adjust:{...n.adjust,exposure:o},effects:a??n.effects};return r!==null&&(s.intensity=r),n.lut&&i!==null&&(s.lut={...n.lut,intensity:i}),s}function lc(e,t,n){e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,t),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!0),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}function uc(e,t,n){let r=[t.texture,n.blurTexture,t.lutTexture,n.kuwaharaTexture,n.bloomTexture,t.advancedTexture];for(let[i,o]of r.entries())e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,o)}function Me(e){if(e.destroyed||e.contextLost)return!1;let t=Zu(e.element);if(!t)return e.hasDrawn||(e.canvas.style.display="none"),!1;let n=Xu(t);if(!n)return!1;let r=t instanceof HTMLElement?t:e.element,i=e.element.style.getPropertyValue("opacity"),o=e.element.style.getPropertyPriority("opacity"),a=e.sourceHidden&&i==="0"&&o==="important",l=e.element.style.getPropertyValue("visibility"),s=mh(t);if(s&&ph(e,t),s||!a){let E=window.getComputedStyle(s?t:e.element);e.sourceOpacityForCanvas=E.opacity||"1",e.sourceVisibleForCanvas=(s||l!=="hidden")&&E.visibility!=="hidden"}let u=xh(e,r);if(!u)return!1;let c=window.getComputedStyle(r),m=ec(u.width,u.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:f,program:x}=e;try{let E=Ah(e),C=fh(e);lc(f,x.texture,t);let y=vt(e.element,oc)!==null,w=Yu(e,E,u,m,{preserveKuwahara:y});f.bindFramebuffer(f.FRAMEBUFFER,null),f.viewport(0,0,u.width,u.height),f.useProgram(x.program),uc(f,x,w);let T=window.__player?.getTime?.(),k=typeof T=="number"&&Number.isFinite(T)?Math.max(0,T):e.element instanceof HTMLVideoElement?Math.max(0,e.element.currentTime):0,D=e.grainSeed+Math.floor(k*60);return tc(f,x,E,C,w.blurReady,w.bloomReady,w.kuwaharaReady,e.compare,u,m,D,k),Mn(f,x),Ch(e),e.hasDrawn=!0,e.drawError=null,!0}catch(E){return e.drawError=E instanceof Error?E.message:"Shader draw failed",F("runtime.colorGrading.drawEntry",E),!1}}function wh(e,t,n){let r=e.getBoundingClientRect(),i=e.offsetWidth||r.width||t.width,o=e.offsetHeight||r.height||t.height,a=Math.min(320,Math.max(64,Math.round(n??160))),l=i>0&&o>0?i/o:t.width/t.height;return l>=1?{width:a,height:Math.max(1,Math.round(a/l))}:{width:Math.max(1,Math.round(a*l)),height:a}}function Th(){let e=document.createElement("canvas"),t=Mo(e);return t?{canvas:e,...t,lut:null,effectTargets:null,kuwaharaTargets:null,effectError:null}:null}function Rh(e,t){let n=t?void 0:window.__player?.getTime?.();return typeof n=="number"&&Number.isFinite(n)?Math.max(0,n):e instanceof HTMLVideoElement?Math.max(0,e.currentTime):0}function Fh(e,t,n,r){let i=Zu(t);if(!i)return null;let o=Xu(i);if(!o)return null;let a=wh(t,o,n);e.canvas.width=a.width,e.canvas.height=a.height;let l=i instanceof HTMLElement?i:t,s=window.getComputedStyle(l),u=ec(a.width,a.height,o.width,o.height,s.objectFit,s.objectPosition);return lc(e.gl,e.program.texture,i),{dimensions:a,uv:u,effectTime:Rh(t,r),grainSeed:qu(t)+(t instanceof HTMLVideoElement?Math.floor(t.currentTime*60):0)}}async function Lh(e,t,n,r,i=!1){let o=Fh(e,t,r,i);if(!o)return null;let{dimensions:a,uv:l,grainSeed:s,effectTime:u}=o,c=[];for(let m of n.slice(0,32)){let f=rr(m.grading);if(!f){c.push({id:m.id,dataUrl:null,error:"Invalid grading"});continue}let x=null;try{f.lut&&(e.lut?.src!==f.lut.src&&(e.lut=Q0(e,f.lut.src,await J0(f.lut.src))),x=e.lut),c.push({id:m.id,dataUrl:Nh(e,f,x,a,l,s,u)})}catch(E){c.push({id:m.id,dataUrl:null,error:Nr(E)})}}return{...a,images:c}}function Nh(e,t,n,r,i,o,a){let{canvas:l,gl:s,program:u}=e,c=Yu(e,t,r,i,{releaseIdleTargets:!1});return s.bindFramebuffer(s.FRAMEBUFFER,null),s.viewport(0,0,r.width,r.height),s.useProgram(u.program),uc(s,u,c),n||(e.lut=null),tc(s,u,t,n,c.blurReady,c.bloomReady,c.kuwaharaReady,Wt,r,i,o,a),Mn(s,u),l.toDataURL("image/png")}function Ye(e,t,n,r){t.addEventListener(n,r),e.cleanup.push(()=>t.removeEventListener(n,r))}function kh(e){e.animationFrame!==null&&(window.cancelAnimationFrame(e.animationFrame),e.animationFrame=null),e.videoFrameHandle!==null&&e.element instanceof HTMLVideoElement&&(e.element.cancelVideoFrameCallback?.(e.videoFrameHandle),e.videoFrameHandle=null)}function Dn(e){if(e.destroyed||!(e.element instanceof HTMLVideoElement)||e.videoFrameHandle!==null||e.animationFrame!==null)return;let t=e.element,n=t;if(typeof n.requestVideoFrameCallback=="function"){e.videoFrameHandle=n.requestVideoFrameCallback(()=>{e.videoFrameHandle=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Dn(e)});return}e.animationFrame=window.requestAnimationFrame(()=>{e.animationFrame=null,Me(e),!e.destroyed&&!t.paused&&!t.ended&&Dn(e)})}function Mh(e){let t=()=>{Me(e)};if(Ye(e,e.element,"load",t),Ye(e,e.element,"loadedmetadata",t),Ye(e,e.element,"loadeddata",t),Ye(e,e.element,"seeked",t),Ye(e,e.element,"timeupdate",t),Ye(e,window,"resize",t),e.element instanceof HTMLVideoElement&&(Ye(e,e.element,"play",()=>Dn(e)),Ye(e,e.element,"pause",t)),Ye(e,e.canvas,"webglcontextlost",n=>{n.preventDefault(),e.contextLost=!0,e.drawError="WebGL context lost",e.canvas.style.display="none",ko(e)}),Ye(e,e.canvas,"webglcontextrestored",()=>{if(e.contextLost=!1,!eh(e)){e.contextLost=!0,e.drawError="WebGL context restore failed",ko(e);return}e.drawError=null,Me(e)}),typeof ResizeObserver<"u"&&(e.resizeObserver=new ResizeObserver(t),e.resizeObserver.observe(e.element)),typeof MutationObserver<"u"){let n=()=>{let a=e.element.style;return`${a.transform}|${a.translate}|${a.rotate}|${a.scale}|${a.left}|${a.top}|${a.width}|${a.height}`},r=n(),i=!1,o=new MutationObserver(()=>{i||n()!==r&&(i=!0,requestAnimationFrame(()=>{i=!1,r=n(),Me(e)}))});o.observe(e.element,{attributes:!0,attributeFilter:["style"]}),e.cleanup.push(()=>o.disconnect())}}function Dh(e){if(e.destroyed)return null;e.destroyed=!0,kh(e),e.resizeObserver?.disconnect();for(let t of e.cleanup)t();return e.cleanup.length=0,e.canvas.remove(),Io(e),Po(e),ko(e),e.touchedParent&&(e.parentInlinePosition===null?e.touchedParent.style.removeProperty("position"):e.touchedParent.style.position=e.parentInlinePosition),{canvas:e.canvas,gl:e.gl,program:e.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}function cc(e,t){return e.removeAttribute("style"),t.id?e.id=`${ms}${t.id}`:e.removeAttribute("id"),e.className=k0,e.setAttribute(N0,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ih(e){return cc(document.createElement("canvas"),e)}function dc(){let e=new WeakMap,t=new Set,n=[],r=null,i=null,o=Promise.resolve(),a=!1,l=(_,b,S)=>{let A=e.get(_);if(A)return A.grading=b,A.source=S,Me(A),_ instanceof HTMLVideoElement&&!_.paused&&Dn(A),!0;let R=n.pop();if(R)cc(R.canvas,_);else{let G=Ih(_),U=Mo(G);if(!U)return G.remove(),!1;R={canvas:G,gl:U.gl,program:U.program,effectTargets:null,kuwaharaTargets:null,effectError:null}}let N={element:_,...R,grading:b,compare:{...Wt},lut:null,lutLoadingSrc:null,lutError:null,drawError:null,effectTargets:null,kuwaharaTargets:null,effectError:null,source:S,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(_).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(_).visibility!=="hidden",hasDrawn:!1,contextLost:!1,grainSeed:qu(_),destroyed:!1};return e.set(_,N),t.add(_),Mh(N),Me(N),_ instanceof HTMLVideoElement&&!_.paused&&Dn(N),!0},s=(_,b)=>{if(a)return!1;let S=Ln(_);if(!S)return!1;let A=e.get(S);if(!A){let R=Ar(S);if(!Nn(S,R)||!l(S,R,"attribute"))return!1;A=e.get(S)}return A?(A.compare=Y0(b),Me(A),!0):!1},u=_=>{let b=e.get(_);if(!b)return;let S=Dh(b);S&&(b.contextLost||n.length>=D0?Tr(S,!0):n.push(S)),e.delete(_),t.delete(_)},c=()=>{if(a)return 0;let _=new Set;document.querySelectorAll(`video[${an}], img[${an}]`).forEach(S=>{if(!St(S))return;_.add(S);let A=Ar(S);Nn(S,A)&&(Iu(S)||Bu(S))?l(S,A,"attribute"):u(S)});for(let S of t){let A=e.get(S);A&&(!S.isConnected||A.source==="attribute"&&!_.has(S))&&u(S)}return t.size},m=()=>{if(a)return 0;let _=0;for(let b of t){let S=e.get(b);S&&Me(S)&&(_+=1)}return _},f=async()=>{let _=new Set;for(let b of t){let S=e.get(b)?.grading.lut;if(!S?.src.trim()||(S.intensity??1)<=0)continue;let A=Do(S.src);A.state==="pending"&&_.add(A.promise)}return _.size>0&&await Promise.allSettled(_),m(),_.size},x=()=>{if(a)return 0;let _=0;for(let b of t){let S=e.get(b);!S||!sc.some(R=>vt(b,R)!==null)||b instanceof HTMLVideoElement&&!b.paused&&!b.ended||Me(S)&&(_+=1)}return _},E=(_,b)=>{if(a)return!1;let S=Ln(_);if(!S)return!1;let A=rr(b);return Nn(S,A)?l(S,A,"live"):(u(S),!0)},C=(_,b)=>{if(!St(_))return!1;let S=e.get(_);if(!S){if(!b)return!1;let A=Ar(_);return Nn(_,A)&&l(_,A,"attribute")}return S.sourceVisibleForCanvas=b,!b&&S.source==="attribute"&&u(_),!0},y=_=>{let b=Ln(_);if(!b)return{state:"missing",message:"Media not found"};let S=e.get(b);if(S)return S.effectError?{state:"unavailable",message:S.effectError}:S.drawError?{state:"unavailable",message:S.drawError}:S.lutError?{state:"unavailable",message:`LUT error: ${S.lutError}`}:S.grading.lut&&S.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:S.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:S.lut?"Shader + LUT active":"Shader active"};let A=Ar(b);return Nn(b,A)?!Iu(b)&&!Bu(b)?{state:"pending",message:"Waiting for visible media"}:{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},w=async(_,b,S)=>{let A=async()=>{if(a||b.length===0)return null;let N=Ln(_);return!N||(i??(i=Th()),!i)?null:Lh(i,N,b,S?.maxDimension,S?.useMediaTime)},R=o.then(A,A);return o=R.then(()=>{},()=>{}),R},T=_=>{let b=Ln(_);if(!(b instanceof HTMLVideoElement))return null;if(!b.paused)return()=>{};let S=b.currentTime,A=b.loop,R=b.muted;return b.loop=!0,b.muted=!0,(b.ended||Number.isFinite(b.duration)&&S>=b.duration)&&(b.currentTime=0),b.play().catch(()=>{}),()=>{b.pause(),b.loop=A,b.muted=R,b.currentTime=S}},k=()=>{if(!a){a=!0,r?.disconnect(),r=null;for(let _ of t)u(_);for(let _ of n)Tr(_,!0);n.length=0,i&&(Tr(i,!0),i=null)}};document.body&&(r=new MutationObserver(()=>c()),r.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[an]}));let D={refresh:c,redraw:m,redrawAnimated:x,waitForActiveLuts:f,setGrading:E,setCompare:s,setSourceVisibility:C,getStatus:y,renderPreviews:w,startPreviewPlayback:T,destroy:k},P=window;return P.__hf=P.__hf||{},P.__hf.colorGrading=D,c(),D}var kr=class{constructor(t){he(this,"_baseTime",0);he(this,"_playStartMs",null);he(this,"_rate",1);he(this,"_duration",1/0);he(this,"_nowMs");he(this,"_audioSource",null);this._baseTime=t?.initialTime??0,this._rate=t?.rate??1,this._duration=t?.duration??1/0,this._nowMs=t?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let r=null;if("currentTimeSeconds"in this._audioSource)r=this._audioSource.currentTimeSeconds;else{let{el:i,compositionStart:o,mediaStart:a}=this._audioSource;!i.paused&&Number.isFinite(i.currentTime)&&(r=(i.currentTime-a)/(i.playbackRate>0?i.playbackRate:1)*this._rate+o)}if(r!==null)return Number.isFinite(this._duration)&&r>=this._duration?this._duration:Math.max(0,r)}let t=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+t*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(t){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(t,this._duration)):Math.max(0,t);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(t){let n=Number.isFinite(t)&&t>0?Math.max(.1,Math.min(5,t)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(t){this._duration=Number.isFinite(t)&&t>0?t:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(t){this._audioSource=t}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:t}=this._audioSource;if(!t.paused&&Number.isFinite(t.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function fc(e){return!Number.isFinite(e)||e<=0?1:e}function Ph(e,t){t||e.paused||!Vn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",e.currentSrc||e.getAttribute("src")||"")}function Oh(e,t){let{elapsed:n,mediaStart:r,scheduledAt:i,safeRate:o,clipDuration:a}=t,l=Number.isFinite(a)&&a>0,s=a*o;if(n>=0){let c=s-n;return l&&c<=0?!1:(l?e.start(0,n+r,c):e.start(0,n+r),!0)}let u=-n/o;return l?e.start(i+u,r,s):e.start(i+u,r),!0}var Mr=class{constructor(){he(this,"_ctx",null);he(this,"_bufferCache",new Map);he(this,"_failedSrcs",new Set);he(this,"_activeSources",[]);he(this,"_masterGain",null);he(this,"_rateAnchorCtx",0);he(this,"_rateAnchorComp",0);he(this,"_rate",1);he(this,"_paused",!0);he(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(t){let n=t.currentSrc||t.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let r;try{let i=await fetch(n,{cache:"no-store"});if(!i.ok)return F("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;r=await i.arrayBuffer()}catch(i){return F("webAudioTransport.fetch",i),null}try{let i=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,i),i}catch(i){return this._failedSrcs.add(n),F("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(t,n,r,i,o,a,l,s=1,u=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=fc(s),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=c;let f=this._ctx.createGain();f.gain.value=a,m.connect(f),f.connect(this._masterGain);let x=o-r,E=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=E,this._rateAnchorComp=o,!Oh(m,{elapsed:x,mediaStart:i,scheduledAt:E,safeRate:c,clipDuration:u}))return m.disconnect(),f.disconnect(),null;let C=t.muted;t.muted=!0,Ph(t,C);let y={el:t,sourceNode:m,gainNode:f,compositionStart:r,mediaStart:i,scheduledAt:E,priorMuted:C,bounded:Number.isFinite(u)&&u>0};return this._activeSources.push(y),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(y);w!==-1&&(this._activeSources.splice(w,1),t.muted=C,this._activeSources.length===0&&(this._paused=!0))}),y}catch(c){return F("webAudioTransport.schedule",c),null}}setRate(t){let n=fc(t);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let r of this._activeSources)try{r.sourceNode.playbackRate.value=n}catch(i){F("webAudioTransport.setRate",i)}return!0}hasBoundedActiveSources(){return this._activeSources.some(t=>t.bounded)}stopAll(){for(let t of this._activeSources){try{t.sourceNode.stop(),t.sourceNode.disconnect(),t.gainNode.disconnect()}catch{}t.el.muted=t.priorMuted}this._activeSources=[],this._paused=!0}setVolume(t){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,t)))}setElementVolume(t,n){let r=Math.max(0,Math.min(1,n));for(let i of this._activeSources)if(i.el===t)try{i.gainNode.gain.value=r}catch(o){F("webAudioTransport.setElementVolume",o)}}setMuted(t){this._masterGain&&(this._masterGain.gain.value=t?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(t){return!this._paused&&this._activeSources.some(n=>n.el===t)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var mc="data-hf-studio-manual-edit-gesture";function pc(e){return!Number.isInteger(e.tick)||e.tick<=0||e.tick%60!==0?!1:!(e.isPlaying&&e.hasCapturedTimeline&&e.currentTimeSeconds<2)}var Gh=/^\\s*spring\\(\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))\\s*\\)\\s*$/;function hc(e){return Math.max(0,Math.min(1,e))}function gc(e){let t=Gh.exec(e);if(!t)return null;let n=Number(t[1]);return Number.isFinite(n)?hc(n):null}function xc(e,t){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let n=hc(t),r=12-n*6,i=Math.PI*2*(1+n*1.5),o=1-Math.exp(-r)*Math.cos(i);return(1-Math.exp(-r*e)*Math.cos(i*e))/o}var Hh=/^\\s*wiggle\\(\\s*(\\d+)\\s*,\\s*(easeOut|easeInOut|anticipate|uniform)\\s*(?:,\\s*([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?)\\s*)?\\)\\s*$/,Bh=Math.PI*2;function Uh(e){let t=Hh.exec(e);if(!t)return null;let n=Number(t[1]);if(!Number.isSafeInteger(n)||n<1)return null;let r=t[2];if(r!=="easeOut"&&r!=="easeInOut"&&r!=="anticipate"&&r!=="uniform")return null;if(t[3]===void 0)return{wiggles:n,type:r};let i=Number(t[3]);return!Number.isFinite(i)||i<0||i>1?null:{wiggles:n,type:r,amplitude:i}}function Wh(e,t,n,r){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let i=r??(n==="easeInOut"?.08:n==="uniform"?.14:n==="anticipate"?.12:.16),o=n==="easeInOut"?i*Math.sin(Math.PI*e):n==="uniform"?i:i*(1-e);return e+(n==="anticipate"?-1:1)*o*Math.sin(Bh*t*e)}function bc(e,t){let n=Uh(e);if(!n)return null;let r=`${n.wiggles}:${n.type}:${n.amplitude??"default"}`,i=t?.get(r);if(i)return i;let o=a=>Wh(a,n.wiggles,n.type,n.amplitude);return t?.set(r,o),o}var Vh=24,yc=e=>e>=1?1:0,zh=e=>e,Dr=String.raw`([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)`,$h=new RegExp(String.raw`^\\s*M\\s*0\\s*,\\s*0\\s+C\\s*${Dr}\\s*,\\s*${Dr}\\s+${Dr}\\s*,\\s*${Dr}\\s+1\\s*,\\s*1\\s*$`,"i");function Sc(e,t,n){let r=1-e;return 3*r*r*e*t+3*r*e*e*n+e*e*e}function qh(e,t,n,r,i){if(!Number.isFinite(e))return e;if(e<=0)return 0;if(e>=1)return 1;let o=0,a=1;for(let l=0;l<Vh;l+=1){let s=(o+a)/2;Sc(s,t,r)<e?o=s:a=s}return Sc((o+a)/2,n,i)}function jh(e){let t=$h.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=Number(t[4]);return Math.min(n,i)<0||Math.max(n,i)>1?null:a=>qh(a,n,r,i,o)}function Kh(e,t){if(!e.startsWith("spring("))return null;let n=gc(e);if(n===null)return null;let r=t.get(n);if(r)return r;let i=o=>xc(o,n);return t.set(n,i),i}function Yh(e,t){if(!e.startsWith("custom(")||!e.endsWith(")"))return null;let n=e.slice(7,-1),r=t.get(n);if(r)return r;let i=jh(n);return i&&t.set(n,i),i}function Ec(e){if(e.__hfCustomEaseInstalled)return!0;let t=e.parseEase;if(!t)return!1;let n=new Map,r=new Map,i=new Map,o=s=>typeof s!="string"?null:s==="hold"?yc:bc(s,i)??Kh(s,r)??Yh(s,n),a=(s,u,c=[])=>{let m=o(s);return m||(typeof s=="string"&&/^(?:hold|spring|wiggle|custom)(?:\\(|$)/.test(s.trim())&&Ne("custom_ease_parse_failed",{ease:s}),t.call(u,s,...c)??zh)};e.parseEase=function(u,...c){return a(u,this,c)};let l=e.registerEase;if(typeof l=="function"){l("hold",yc);let s=u=>{let c=m=>m;c.config=(...m)=>a(`${u}(${m.join(",")})`,e),l(u,c)};s("spring"),s("wiggle"),s("custom")}return e.__hfCustomEaseInstalled=!0,!0}var Oo="data-hf-authored-duration",Go="data-hf-authored-end",vc=!1;function et(e){if(e){if(typeof e.pause!="function"){vc||(vc=!0,Ne("timeline_missing_pause",{}));return}try{e.pause()}catch(t){F("runtime.timeline.pause",t)}}}function Xh(){let e=window.__HF_EXPORT_RENDER_SEEK_CONFIG,t=e?.fps,n=e?.fpsSource,r=Number(t);return!e||t==null?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"missing"}:!Number.isFinite(r)||r<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:t,fallbackReason:"invalid"}:{fps:r,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:t,fallbackReason:e.fpsFallbackReason}}function Cc(){let e=Ts();ma(xe),vr(document),wo(document);let t=Xh();e.canonicalFps=t.fps??e.canonicalFps,da(e.canonicalFps),window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:e.canonicalFps,source:t.source,rawFpsSource:t.rawFpsSource,rawFps:t.rawFps,fallbackReason:t.fallbackReason});let n=null,r=null,i=null,o=[],a=new Set,l=null,s=new Set,u=(d,h,p)=>{s.has(d)||(s.add(d),Ne(h,p))};if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){F("runtime.init.site1",d)}let c=new kr;e.transportClock=c;let m=new Mr,f=!1;m.init().then(d=>{f=d});let x=()=>{let d=window.gsap,h=window;if(!(!d?.registerPlugin||h.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),h.__hfAutoNoopRegistered=!0}catch(p){u("auto_marker_install_failed","auto_marker_install_failed",{reason:"threw"}),F("runtime.autoMarker.install",p)}},E=()=>{let d=window.gsap;if(!d){u("custom_ease_missing_gsap","custom_ease_install_failed",{reason:"missing_gsap"});return}try{Ec(d)||u("custom_ease_no_parse_ease","custom_ease_install_failed",{reason:"no_parseEase"})}catch(h){u("custom_ease_install_threw","custom_ease_install_failed",{reason:"threw"}),F("runtime.customEase.install",h)}};x(),E(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden");try{ba(document)}catch(d){F("runtime.init.cssVariables",d)}window.__timelines=window.__timelines||{};let C=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let h=Array.from(document.querySelectorAll("[data-composition-id]"));return h.find(p=>!p.parentElement?.closest("[data-composition-id]"))??h[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,h=C()?.getAttribute("data-composition-id")??"root",p={};if(d.length===1)p[h]=d[0];else for(let g=0;g<d.length;g++)p[`tl-${g}`]=d[g];window.__timelines=p}let y=C();y&&!y.hasAttribute("data-start")&&y.setAttribute("data-start","0");let w=d=>{o.push(d)},T=(d,h,p)=>{let g=p??`${d}:${JSON.stringify(h)}`;a.has(g)||(a.add(g),xe({source:"hf-preview",type:"diagnostic",code:d,details:h}))},k=d=>{let h={scale:1,focusX:960,focusY:540},p=[],g=[],v={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>h,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>p,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>g,getRenderState:()=>({...v,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},D=1/60,P=.75,_=.05,b=100,S=240,A=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},R=d=>{let h=d.toLowerCase();return h.includes("cannot read properties of null")||h.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:h.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:h.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},N=d=>{if(d==null||d.trim()==="")return null;let h=Number.parseFloat(d);return!Number.isFinite(h)||h<=0?null:`${h}px`},G=()=>C(),U=()=>{let d=G();if(!d)return;let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p),h&&d.style.setProperty("--comp-width",h),p&&d.style.setProperty("--comp-height",p)},ne=()=>{let d=G(),h=Array.from(document.querySelectorAll("[data-composition-id]")).filter(p=>p.hasAttribute("data-duration")||p.hasAttribute("data-end"));for(let p of h){if(d&&p===d)continue;let g=p.getAttribute("data-duration"),v=p.getAttribute("data-end");g!=null&&!p.hasAttribute(Oo)&&p.setAttribute(Oo,g),v!=null&&!p.hasAttribute(Go)&&p.setAttribute(Go,v),p.removeAttribute("data-duration"),p.removeAttribute("data-end")}},H=()=>{let d=G();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let h=N(d.getAttribute("data-width")),p=N(d.getAttribute("data-height"));h&&(d.style.width=h),p&&(d.style.height=p);let g=Array.from(d.children);for(let v of g){let L=v.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!v.hasAttribute("data-start")||v.hasAttribute("data-hf-autostamped"))continue;let O=(v.style.top==="0px"||v.style.top==="0")&&(v.style.left==="0px"||v.style.left==="0")&&v.style.width==="100%"&&v.style.height==="100%",X=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(v.style.transform);if(O&&X&&!v.hasAttribute("data-width")&&!v.hasAttribute("data-height")){let Ee=v.style.top,Jt=v.style.left,ve=v.style.width,Qt=v.style.height;v.style.top="",v.style.left="",v.style.width="",v.style.height="";let re=window.getComputedStyle(v);re.top!=="auto"||re.bottom!=="auto"||re.left!=="auto"||re.right!=="auto"||re.width!=="0px"||re.height!=="0px"||(v.style.top=Ee,v.style.left=Jt,v.style.width=ve,v.style.height=Qt)}let W=window.getComputedStyle(v),se=W.position;if(se!=="absolute"&&se!=="fixed"&&(v.style.position="absolute"),!!v.style.top||!!v.style.bottom||W.top!=="auto"||W.bottom!=="auto"||(v.style.top="0"),!!v.style.left||!!v.style.right||W.left!=="auto"||W.right!=="auto"||(v.style.left="0"),L!=="audio"){let Ee=N(v.getAttribute("data-width")),Jt=N(v.getAttribute("data-height")),ve=W.width!=="0px"&&W.width!=="auto",Qt=W.height!=="0px"&&W.height!=="auto";Ee?!v.style.width&&!ve&&(v.style.width=Ee):!v.style.width&&W.width==="0px"&&(v.style.width="100%"),Jt?!v.style.height&&!Qt&&(v.style.height=Jt):!v.style.height&&W.height==="0px"&&(v.style.height="100%")}}},J=(d,h=0,p)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,h),_e=(d,h)=>it({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),z=d=>{let h=d.closest("[data-composition-id]"),p=h?J(h,0):null,g=h?_e(h,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:h,inheritedStart:p,inheritedDuration:g}},Y=d=>{let h=z(d),p=h.inheritedStart??0,g=ke(d.getAttribute("data-start"));if(d.hasAttribute("data-hf-auto-start")||g==null||p<=0)return J(d,p);let v=ke(d.getAttribute("data-duration")),L=h.inheritedDuration,O=L!=null&&L>0?p+L:null,X=v!=null&&v>0?g+v:g;return(O==null?g>=p:g<O&&(X>p||g===p))?g:p+g};window.__hfResolveMediaStartSeconds=Y,o.push(()=>{window.__hfResolveMediaStartSeconds===Y&&delete window.__hfResolveMediaStartSeconds});let V=(d,h)=>{let p=d.tagName.toLowerCase();if(p==="script"||p==="style"||p==="link"||p==="meta")return!1;let v=p==="video"||p==="audio"?Y(d):J(d,0),L=_e(d),O=d.getAttribute("data-composition-id");if(O){let W=(window.__timelines??{})[O],se=null;if(W&&typeof W.duration=="function"){let ie=Number(W.duration());Number.isFinite(ie)&&ie>0&&(se=ie)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Oo)||d.hasAttribute(Go))&&(L==null||L<=0)&&se!=null&&(L=se)}let X=L!=null&&L>0?v+L:Number.POSITIVE_INFINITY;return h>=v&&(Number.isFinite(X)?h<X:!0)},ee=!!document.querySelector("[data-composition-src]"),Ae=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let h of d){let p=h.getAttribute("data-composition-id");if(p&&h.children.length===0&&document.querySelector(`template#${CSS.escape(p)}-template`)){Ae=!0;break}}}let B=!ee&&!Ae,M=d=>{if(!d||typeof d.duration!="function")return null;try{let h=Number(d.duration());return Number.isFinite(h)?Math.max(0,h):null}catch{return null}},I=d=>typeof d=="number"&&Number.isFinite(d)&&d>D,ue=d=>{let h=Number(d.getAttribute("data-duration"));if(Number.isFinite(h)&&h>0)return h;let p=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),g=Number.isFinite(p)?Math.max(0,p):0;return Number.isFinite(d.duration)&&d.duration>g?Math.max(0,d.duration-g):null},ae=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let h=0;for(let p of d){let g=Y(p);if(!Number.isFinite(g))continue;let v=ue(p);v==null||v<=D||(h=Math.max(h,Math.max(0,g)+v))}return h>D?h:null},$=()=>{let d=G();if(!d)return null;let h=window.__timelines??{},p=it({timelineRegistry:h,includeAuthoredTimingAttrs:!0}),g=0,v=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(v)&&v>0&&(g=v);let L=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let O of L){if(!(O instanceof Element)||O.parentElement?.closest("[data-composition-id]")!==d)continue;let W=p.resolveStartForElement(O,0),se=p.resolveDurationForElement(O);!Number.isFinite(W)||se==null||se<=0||(g=Math.max(g,Math.max(0,W)+se))}return g>D?g:null},q=()=>{let d=ae();return typeof d!="number"||!Number.isFinite(d)||d<=D?null:d},j=d=>I(d)?Math.max(D,d*P):D,Ve=()=>{let d=0;for(let h of e.deterministicAdapters){let p=h.getInferredDurationSeconds;if(typeof p!="function")continue;let g=null;try{g=p()}catch(v){F("runtime.init.adapterDuration",v)}typeof g=="number"&&Number.isFinite(g)&&g>0&&(d=Math.max(d,g))}return d>D?d:null},me=(d,h=0)=>{let p=M(d),g=q(),v=$(),L=Ve(),O=Math.max(g??0,v??0,L??0),X=Number.isFinite(h)&&h>D?h:0,W=0;return I(p)?W=Math.max(p,O,X):I(O)?W=Math.max(O,X):W=X,W>0?Math.max(0,W):0},Ct=()=>{let d=window.__timelines??{},h=re=>{let Q=Object.entries(d).filter(oe=>!!oe[1]&&typeof oe[1].play=="function"&&typeof oe[1].pause=="function");if(Q.length!==1)return{timeline:null};let fe=Q[0];if(!fe)return{timeline:null};let[pe,ge]=fe;return{timeline:ge,selectedTimelineIds:[pe],selectedDurationSeconds:M(ge),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:re,soleTimelineId:pe}}}},p=it({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),g=q(),v=$(),L=Math.max(g??0,v??0)||null,O=j(L),X=re=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(re)}"]`);return Q?p.resolveStartForElement(Q,0):0},W=re=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let fe=Q.timeline({paused:!0});for(let pe of re)fe.add(pe.timeline,X(pe.compositionId));return fe},se=(re,Q)=>{if(!I(re))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(oe){F("runtime.init.site2",oe)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:re})}catch(oe){F("runtime.init.site3",oe)}return pe},Le=(re,Q)=>{let fe=re;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let oe of Q)if(!pe.some(He=>He===oe.timeline))try{let He=X(oe.compositionId);re.add(oe.timeline,He),ge.push(oe.compositionId)}catch(He){F("runtime.init.site4",He)}return ge}catch{return[]}},ie=G(),te=ie?.getAttribute("data-composition-id")??null;if(!te)return h("root_missing_composition_id");let Ee=d[te]??null,ve=(()=>{if(!ie)return[];let re=new Set,Q=Array.from(ie.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of Q){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===te||re.has(ge))continue;re.add(ge);let oe=d[ge]??null;if(!oe||typeof oe.play!="function"||typeof oe.pause!="function")continue;let Re=M(oe);fe.push({compositionId:ge,timeline:oe,durationSeconds:Re??0})}return fe})(),Qt=re=>{for(let Q of re){let fe=Q.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){F("runtime.init.site5",pe)}}};if(ve.length>0&&Qt(ve),Ee){let re=ve.length>0?Le(Ee,ve):[];if((ve.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+te+"\'])"))&&(Ie=!0),re.length>0)try{let oe=Ee.time();Ee.seek(oe,!1)}catch{}let Q=M(Ee);if(!I(Q)&&ve.length>0){let oe=ve.map(gd=>gd.compositionId),Re=W(ve),He=M(Re);if(Re&&I(He))return{timeline:Re,selectedTimelineIds:oe,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:He,mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedTimelineIds:oe,autoNestedChildren:re}}};let Xr=se(L??0,Ee),Jr=M(Xr);if(Xr&&I(Jr))return{timeline:Xr,selectedTimelineIds:[te],selectedDurationSeconds:Jr,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedDurationSeconds:Jr,selectedTimelineIds:[te],autoNestedChildren:re}}}}if(!I(Q)&&ve.length===0){let oe=se(L??0,Ee),Re=M(oe);if(oe&&I(Re))return{timeline:oe,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:te,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:g,authoredCompositionDurationFloorSeconds:v,selectedDurationSeconds:Re,selectedTimelineIds:[te]}}}}let fe=ie?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(I(pe)?pe:0,v??0);if(ge>0&&I(ge)&&I(Q)&&ge>=Q+.5){let oe=Ee;if(typeof oe.to=="function")try{oe.to({},{duration:0},ge)}catch(He){F("runtime.init.site6",He)}let Re=M(Ee);if(I(Re))return{timeline:Ee,selectedTimelineIds:[te],selectedDurationSeconds:Re,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:te,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:v,newDur:Re}}}}return{timeline:Ee,selectedTimelineIds:[te],selectedDurationSeconds:Q,mediaDurationFloorSeconds:g,diagnostics:re.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:te,selectedDurationSeconds:Q,autoNestedChildren:re}}:void 0}}if(ve.length>0){let re=ve.map(pe=>pe.compositionId),Q=W(ve),fe=M(Q);if(Q)return{timeline:Q,selectedTimelineIds:re,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:te,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:O,selectedDurationSeconds:fe,mediaDurationFloorSeconds:g,selectedTimelineIds:re}}}}return h("root_composition_id_unmatched_in_registry")},Ie=!1,Xc=d=>{let h=window.gsap,p=d;if(!(!p||typeof p.getChildren!="function"||!h||typeof h.parseEase!="function"))for(let g of p.getChildren(!0,!0,!0)){let v=g,L=v.timeline;if(!L||!("_ease"in L)||typeof L._ease=="function")continue;let O=v.vars?.keyframes,W=(O&&!Array.isArray(O)?O.ease:void 0)??v.vars?.ease??"none";try{let se=h.parseEase(W);typeof se=="function"&&(L._ease=se)}catch(se){Ne("keyframe_ease_repair_failed",{ease:typeof W=="string"?W:String(W)}),F("runtime.keyframeEase.repair",se)}}},qt=()=>{if(E(),!B)return!1;let d=e.capturedTimeline,h=M(d),p=I(h);if(d&&p&&Ie)return!1;let g=Ct();if(!g.timeline)return!1;if(d&&d===g.timeline)return typeof d.timeScale=="function"&&d.timeScale(e.playbackRate),!1;e.capturedTimeline=g.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate),Xc(e.capturedTimeline);let v=me(e.capturedTimeline,0);if(v<=0&&typeof e.capturedTimeline.progress=="function"&&(e.capturedTimeline.progress(1,!0),e.capturedTimeline.progress(0,!1),et(e.capturedTimeline)),v>0){try{c.setDuration(v)}catch{}if(typeof e.capturedTimeline.totalTime=="function"){typeof e.capturedTimeline.progress=="function"&&e.capturedTimeline.progress(1e-4,!0);let O=Math.max(0,e.currentTime||0);e.capturedTimeline.totalTime(O,!1),et(e.capturedTimeline)}let L=window.__hfStudioManualEditsApply;typeof L=="function"&&L(),vr(document)}if(g.diagnostics&&xe({source:"hf-preview",type:"diagnostic",code:g.diagnostics.code,details:g.diagnostics.details}),xe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:g.selectedTimelineIds??[],selectedDurationSeconds:g.selectedDurationSeconds??null,mediaDurationFloorSeconds:g.mediaDurationFloorSeconds??null}}),window.parent!==window){let L=G(),O=v>0?v:0,X=String(O>0?O:1),W=new Set,se=new Set(document.querySelectorAll("[data-start]")),Le=ie=>{let te=ie.parentElement;for(;te&&te!==L;){if(se.has(te))return!0;te=te.parentElement}return!1};if(e.capturedTimeline.getChildren)try{for(let ie of e.capturedTimeline.getChildren(!0))if(typeof ie.targets=="function")for(let te of ie.targets())te instanceof HTMLElement&&te!==L&&(te.hasAttribute("data-start")||Le(te)||W.has(te)||(W.add(te),te.setAttribute("data-start","0"),te.setAttribute("data-duration",X),te.setAttribute("data-hf-autostamped","1")))}catch{}if(L instanceof HTMLElement)for(let ie of L.querySelectorAll("[id]"))ie instanceof HTMLElement&&ie!==L&&(ie.hasAttribute("data-start")||Le(ie)||W.has(ie)||ie.tagName==="SCRIPT"||ie.tagName==="STYLE"||ie.tagName==="LINK"||(W.add(ie),ie.setAttribute("data-start","0"),ie.setAttribute("data-duration",X),ie.setAttribute("data-hf-autostamped","1")))}for(let L of jt)Gn.delete(L),Jo(L);return!0};window.__hfForceTimelineRebind=()=>{Ie=!1,qt(),zr(e.currentTime)};let Jc=()=>{let d=G();if(!(d instanceof HTMLElement))return;let h=d.getBoundingClientRect(),p=Number(d.getAttribute("data-width")),g=Number(d.getAttribute("data-height")),v=window.getComputedStyle(d),L=Number.isFinite(p)&&p>0&&Number.isFinite(g)&&g>0,O=h.width<=0||h.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!O||T("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:p,declaredHeight:g,rectWidth:Math.round(h.width),rectHeight:Math.round(h.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:v.display,visibility:v.visibility,overflow:v.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Qc=()=>{e.tornDown||(l!=null&&window.cancelAnimationFrame(l),l=window.requestAnimationFrame(()=>{l=null,Jc()}))},Zc=()=>{r=d=>{let h=A(d.error??d.message).slice(0,S);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:p.code,details:{category:p.category,message:h,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let h=A(d.reason).slice(0,S);if(!h)return;let p=R(h);xe({source:"hf-preview",type:"diagnostic",code:`${p.code}_unhandled_rejection`,details:{category:`${p.category}-unhandled-rejection`,message:h}})},window.addEventListener("error",r),window.addEventListener("unhandledrejection",i)},ed=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let p of d){let g=()=>{if(!(p instanceof Element))return;let v=p.tagName.toLowerCase(),L=p.getAttribute("src")??p.getAttribute("href")??p.getAttribute("poster")??null,O=v==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";T(O,{tagName:v,assetUrl:L,currentSrc:(p instanceof HTMLImageElement||p instanceof HTMLMediaElement)&&p.currentSrc||null,readyState:p instanceof HTMLMediaElement?p.readyState:null,networkState:p instanceof HTMLMediaElement?p.networkState:null},`${O}:${v}:${L??"unknown"}`)};p.addEventListener("error",g),w(()=>{p.removeEventListener("error",g)})}let h=document.fonts;h&&h.ready.then(()=>{if(e.tornDown)return;let p=Array.from(h).filter(g=>g.status==="error").map(g=>g.family).filter(g=>!!g).slice(0,10);p.length!==0&&T("runtime_font_load_issue",{failedFamilies:p,totalFaces:Array.from(h).length},`runtime-font-load-issue:${p.join("|")}`)}).catch(()=>{})},td=(d,h)=>{if(!d.timeline)return!1;let p=e.capturedTimeline;if(p&&p===d.timeline)return!1;let g=Math.max(0,e.currentTime||0),v=e.isPlaying;e.capturedTimeline=d.timeline,typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);try{et(e.capturedTimeline),typeof e.capturedTimeline.seek=="function"&&e.capturedTimeline.seek(g,!1),v&&typeof e.capturedTimeline.play=="function"&&e.capturedTimeline.play()}catch(L){F("runtime.init.site7",L)}return xe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:h,previousTime:g,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ft=null,jo=!1,Ko=!1,jt=new Set,Gn=new WeakMap,Hn=()=>{e.tornDown||(ft!=null&&window.clearTimeout(ft),ft=window.setTimeout(()=>{if(e.tornDown||(ft=null,Ko&&window.__HF_EXPORT_RENDER_SEEK_CONFIG))return;let d=Ct();if(!d.timeline||!I(d.mediaDurationFloorSeconds??null))return;if(!e.capturedTimeline){qt()&&(mt(),Fe(!0));return}if(jo)return;let p=M(e.capturedTimeline),g=d.selectedDurationSeconds??M(d.timeline);I(g)&&(!I(p)||g>=p+_)&&td(d,"manual")&&(jo=!0,xe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:p??null,selectedDurationSeconds:g??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),mt(),Fe(!0))},b))},Yo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ka(d.currentTarget)},Xo=d=>{d.currentTarget instanceof HTMLMediaElement&&Ya(d.currentTarget)},nd=()=>{for(let d of jt)d.removeEventListener("loadedmetadata",Hn),d.removeEventListener("durationchange",Hn),d.removeEventListener("loadedmetadata",Yo),d.removeEventListener("error",Xo);jt.clear()},Br=()=>{if(e.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let h of d){if(jt.has(h))continue;jt.add(h);let p=Number.parseFloat(h.dataset.volume??"");Number.isFinite(p)&&(h.volume=Math.max(0,Math.min(1,p))),h.addEventListener("loadedmetadata",Hn),h.addEventListener("durationchange",Hn),h.addEventListener("loadedmetadata",Yo),h.addEventListener("error",Xo),ja(h),h.preload!=="auto"&&(h.preload="auto"),h.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&h.load(),Jo(h)}},Jo=d=>{Gn.has(d)||Ha(d,e.capturedTimeline,me(e.capturedTimeline,0),Gn,{allowLiveTimelineSeek:!window.__HF_RENDER_CAPTURE_MODE})},Ur=new WeakMap,Qo=d=>{let h=Ur.get(d);if(h!==void 0)return h;let p=window.getComputedStyle(d).position,g=p==="static"||p==="relative"||p==="sticky";return Ur.set(d,g),g},Wr=new WeakMap,rd=d=>{let h=Wr.get(d);if(h!==void 0)return h;let p=d.querySelector("[data-start]")===null;return Wr.set(d,p),p},id=()=>{Ur=new WeakMap,Wr=new WeakMap},Vr=new WeakMap,Bn=new WeakSet,zr=(d,h=Array.from(document.querySelectorAll("[data-start]")))=>{let p=G();for(let g of h){if(!(g instanceof HTMLElement))continue;if(g.hasAttribute("data-hidden")){Bn.has(g)||(Vr.set(g,g.style.getPropertyValue("display")),Bn.add(g)),g.style.display="none",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,!1);continue}if(Bn.has(g)){let L=Vr.get(g);L?g.style.display=L:g.style.removeProperty("display"),Vr.delete(g),Bn.delete(g)}let v=V(g,d);if(v){let L=g.parentElement;for(;L&&L!==p;){if(L instanceof HTMLElement&&L.hasAttribute("data-start")&&!V(L,d)){v=!1;break}L=L.parentElement}}g.style.visibility=v?"visible":"hidden",(g instanceof HTMLVideoElement||g instanceof HTMLImageElement)&&n?.setSourceVisibility(g,v),v?Qo(g)&&g.style.removeProperty("display"):Qo(g)&&rd(g)&&(g.style.display="none")}},Pe=()=>{let d=Wa({shouldIncludeElement:p=>p.hasAttribute("data-start")||!!z(p).compositionRoot,resolveStartSeconds:p=>Y(p),resolveDurationSeconds:p=>{let g=z(p),v=Y(p),L=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,O=g.inheritedStart!=null&&g.inheritedDuration!=null&&g.inheritedDuration>0?Math.max(0,g.inheritedStart+g.inheritedDuration-v):null,X=Number.isFinite(p.duration)&&p.duration>L?Math.max(0,p.duration-L):null,W=Number.parseFloat(p.dataset.duration??""),se=Number.isFinite(W)&&W>0?W:null;return Ua({isVideo:p.tagName==="VIDEO",sourceDuration:X,hostRemaining:O,explicitDuration:se})}});for(let p of d.mediaClips){let g=Gn.get(p.el);g&&(p.volumeKeyframes=g)}let h=e.mediaForceSyncNextTick;h&&(e.mediaForceSyncNextTick=!1),e.nativeMediaSyncDisabled||Va({clips:d.mediaClips,timeSeconds:e.currentTime,playing:e.isPlaying,playbackRate:e.playbackRate,outputMuted:e.mediaOutputMuted||!e.webAudioMediaDisabled&&!e.nativeMediaSyncDisabled&&m.isActive(),userMuted:e.bridgeMuted,userVolume:e.bridgeVolume,forceSync:h,onElementVolume:(p,g)=>m.setElementVolume(p,g),isWebAudioOwned:p=>m.ownsElement(p),onAutoplayBlocked:()=>{e.mediaAutoplayBlockedPosted||(e.mediaAutoplayBlockedPosted=!0,xe({source:"hf-preview",type:"media-autoplay-blocked"}))}}),zr(e.currentTime)},Fe=d=>{let h=Math.max(0,Math.round((e.currentTime||0)*e.canonicalFps)),p=Date.now();(d||h!==e.bridgeLastPostedFrame||e.isPlaying!==e.bridgeLastPostedPlaying||e.bridgeMuted!==e.bridgeLastPostedMuted||p-e.bridgeLastPostedAt>=e.bridgeMaxPostIntervalMs)&&(e.bridgeLastPostedFrame=h,e.bridgeLastPostedPlaying=e.isPlaying,e.bridgeLastPostedMuted=e.bridgeMuted,e.bridgeLastPostedAt=p,xe({source:"hf-preview",type:"state",frame:h,isPlaying:e.isPlaying,muted:e.bridgeMuted,playbackRate:e.playbackRate}))},$r="",Zo=0,od=()=>{let d="";for(let h of document.querySelectorAll("[data-start]"))d+=`${h.id}:${h.tagName}|`;return d},mt=()=>{ne(),U(),H();let d=G();if(d){let g=N(d.getAttribute("data-width")),v=N(d.getAttribute("data-height")),L=g?parseInt(g,10):0,O=v?parseInt(v,10):0;L>0&&O>0&&xe({source:"hf-preview",type:"stage-size",width:L,height:O})}qt();let h=Is({canonicalFps:e.canonicalFps});window.__clipManifest=h;let p=od();if($r!==p&&id(),!window.__clipTree||$r!==p){let g=window;window.__clipTree=Rs({startResolver:it({timelineRegistry:g.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:g.__timelines??{},rootDuration:h.durationInFrames/e.canonicalFps}),$r=p}xe(h),Qc()},qr=d=>Number.isFinite(d)&&d>0?d:0,ad=d=>{let h=qr(Number(d));if(h<=0)return;let p=G(),g=qr(Number.parseFloat(p?.getAttribute("data-duration")??"")),v=Math.max(Zo,qr(c.getDuration()),g);h<=v||(Zo=h,p?.setAttribute("data-duration",String(h)),c.setDuration(h),mt(),Fe(!0))},Oe=(d,h=0)=>{for(let p of e.deterministicAdapters){try{d==="discover"&&p.discover(),d==="pause"&&p.pause(),d==="play"&&p.play&&p.play()}catch(g){F("runtime.init.site8",g)}if(d==="discover")try{p.seek({time:h,suppressEvents:!0})}catch(g){F("runtime.init.site9",g)}}},pt=()=>{window.__renderReady=!1},Kt=null,Yt=!0,sd=()=>{let d=[];for(let h of e.deterministicAdapters){let p=h.getReadyPromise;if(typeof p=="function")try{let g=p();g&&d.push(g)}catch(g){F("runtime.init.adapterReady",g)}}return d},ld=()=>{let d=sd();if(d.length===0)return Kt=null,Yt=!0,!0;let h=d[0];if(!h)return!0;let p=d.length===1?h:Promise.all(d);return p!==Kt&&(Kt=p,Yt=!1,Promise.resolve(p).then(()=>{Kt===p&&(Yt=!0,pt())},g=>{Kt===p&&(Yt=!0,F("runtime.init.adapterReady",g),pt())})),Yt};if(B)So();else{let d={injectedStyles:e.injectedCompStyles,injectedScripts:e.injectedCompScripts,injectedLinks:e.injectedCompLinks,parseDimensionPx:N,onDiagnostic:({code:h,details:p})=>{xe({source:"hf-preview",type:"diagnostic",code:h,details:p})}};wu(d).then(()=>Au(d)).finally(()=>{B=!0,Br(),ed(),So(),wo(document),pt()})}let Un=Cs({postMessage:d=>xe(d)});Un.installPickerApi(),zr(e.currentTime,Array.from(document.querySelectorAll("video[data-start], img[data-start]")));let ze=dc();n=ze,w(()=>{ze.destroy(),n=null});let jr=d=>{let h=Number(d);!Number.isFinite(h)||h<=0?e.playbackRate=1:e.playbackRate=Math.max(.1,Math.min(5,h)),e.mediaForceSyncNextTick=!0,e.capturedTimeline&&typeof e.capturedTimeline.timeScale=="function"&&e.capturedTimeline.timeScale(e.playbackRate);let p=document.querySelectorAll("video, audio");for(let g of p)if(g instanceof HTMLMediaElement)try{g.playbackRate=e.playbackRate}catch(v){F("runtime.init.site10",v)}},ea={play:()=>{let d=e.capturedTimeline;if(c.isPlaying())return;let h=me(d,0);if(h>0)c.setDuration(h),c.reachedEnd()&&(c.seek(0),e.currentTime=0,ht(0));else{let p=G(),g=Number(p?.getAttribute("data-duration")??0);g>0&&c.setDuration(g)}et(d),c.play()&&(e.isPlaying=!0,e.mediaForceSyncNextTick=!0,aa(c.now()),f&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&sa(),Oe("play"),Pe(),ze.redraw(),Fe(!0))},pause:()=>{if(!c.isPlaying())return;m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1,e.currentTime=c.now(),e.mediaForceSyncNextTick=!0,aa(e.currentTime);let d=e.capturedTimeline;et(d),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},seek:(d,h)=>{let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource();let g=c.isPlaying();g&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0;let v=e.capturedTimeline;if(et(v),ht(e.currentTime),Oe("pause"),h?.keepPlaying&&g){ea.play();return}Pe(),ze.redraw(),Fe(!0)},renderSeek:(d,h)=>{Ko=!0;let p=kt(Math.max(0,Number(d)||0),e.canonicalFps);m.stopAll(),c.detachAudioSource(),c.isPlaying()&&c.pause(),c.seek(p),e.currentTime=c.now(),e.isPlaying=!1,e.mediaForceSyncNextTick=!0,ht(e.currentTime,{activateChildren:!0,suppressEvents:h?.suppressEvents}),Oe("pause"),Pe(),ze.redraw(),Fe(!0)},getTime:()=>c.now(),getDuration:()=>{let d=c.getDuration();return Number.isFinite(d)?d:0},isPlaying:()=>c.isPlaying(),setPlaybackRate:d=>{jr(d),c.setRate(e.playbackRate),la()},getPlaybackRate:()=>e.playbackRate},ta=me(e.capturedTimeline,0);ta>0&&c.setDuration(ta);let Ge=ws({getTimeline:()=>e.capturedTimeline,setTimeline:d=>{e.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>e.isPlaying,setIsPlaying:d=>{e.isPlaying!==d&&(e.mediaForceSyncNextTick=!0),e.isPlaying=d},getPlaybackRate:()=>e.playbackRate,setPlaybackRate:jr,getCanonicalFps:()=>e.canonicalFps,onSyncMedia:(d,h)=>{e.currentTime=Math.max(0,Number(d)||0),e.isPlaying!==h&&(e.mediaForceSyncNextTick=!0),e.isPlaying=h,Pe()},onStatePost:Fe,onDeterministicSeek:(d,h)=>{for(let p of e.deterministicAdapters)if(!(p.name==="gsap"&&e.capturedTimeline))try{p.seek({time:Number(d)||0,suppressEvents:h?.suppressEvents})}catch(g){F("runtime.init.site11",g)}},onDeterministicPause:()=>Oe("pause"),onDeterministicPlay:()=>Oe("play"),onRenderFrameSeek:()=>{ze.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>me(e.capturedTimeline,0),transport:ea});window.__player=k(Ge),window.__playerReady=!0,Ne("composition_loaded",{duration:Ge.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),e.deterministicAdapters=[Oa(),Sa({resolveStartSeconds:d=>J(d,0)}),va(),_a(),Ta(),Ra(),Fa(),La(),Na(),ka(),Ma(),Ea({getTimeline:()=>e.capturedTimeline})],Ia(),Pa(),window.__hfReseekGpu=d=>{let h=Math.max(0,Number(d)||0);window.__hfThreeTime=h,window.__hfTypegpuTime=h,Yn(h)},window.__hfWaitForSeekCompletion=si,o.push(()=>{window.__hfWaitForSeekCompletion===si&&delete window.__hfWaitForSeekCompletion}),Zc(),Br(),Oe("discover");let ud=()=>{let d=e.capturedTimeline,h=qt();e.capturedTimeline&&(h||e.capturedTimeline!==d||!Ge._timeline)&&(Ge._timeline=e.capturedTimeline);let p=me(e.capturedTimeline,0);if(p>0&&c.setDuration(p),Oe("discover",e.currentTime),!e.capturedTimeline){let g=window.__timelines??{},v=Object.keys(g).filter(L=>g[L]);if(v.length>0){let O=G()?.getAttribute("data-composition-id")??null;T("root_timeline_unbound_registry_present",{reason:O?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:O,registeredTimelineKeys:v},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(O?`Root data-composition-id is "${O}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${v.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${O??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,mt(),Fe(!0)},_t=null,cd=()=>{if(_t)return;let d=()=>{window.removeEventListener("hf-timelines-built",d),_t=null,pt()};_t=d,window.addEventListener("hf-timelines-built",d)};w(()=>{_t&&(window.removeEventListener("hf-timelines-built",_t),_t=null)}),pt=()=>{if(!B){window.__renderReady=!1;return}if(window.__hfTimelinesBuilding){window.__renderReady=!1,cd();return}if(Oe("discover",e.currentTime),!ld()){window.__renderReady=!1;return}ud()},pt(),B&&setTimeout(()=>{pt()},0);let Wn=0,Kr=!1,dd=(d,h,p,g)=>{try{let v=g?.suppressEvents===!0;et(d),typeof d.totalTime=="function"?d.totalTime(h,v):d.seek(h,v)}catch(v){F(p,v)}},fd=(d,h)=>{let p=window.__timelines??{},g=G()?.getAttribute("data-composition-id")??null;for(let[v,L]of Object.entries(p)){if(!L||v===g)continue;let O=document.querySelector(`[data-composition-id="${CSS.escape(v)}"]`);if(!O)continue;let X=J(O,0);if(!Number.isFinite(X))continue;let W=M(L),se=Rt(O)+Math.max(0,d-X)*qe(O),Le=Math.max(0,W!=null&&W>0?Math.min(W,se):se);dd(L,Le,"runtime.init.transport.childTimeline",h)}},na=d=>{let h=window.__timelines??{};for(let p of Object.values(h))if(!(!p||p===d))try{p.play()}catch(g){F("runtime.init.activateSiblings",g)}},ra=d=>typeof d=="object"&&d!==null,Xt=new WeakMap,md=["onStart","onUpdate","onComplete","onReverseComplete","onRepeat"],ia=(d,h)=>{let p=d[h];if(typeof p!="function")return null;try{let g=Number(p.call(d));return Number.isFinite(g)?g:null}catch(g){return F("runtime.init.gsapCallbackDuration",g),null}},pd=d=>{let h=Xt.get(d);if(h!=null)return h;if(!("getChildren"in d)||typeof d.getChildren!="function")return!1;let p;try{p=d.getChildren(!0,!0,!0)}catch(g){return F("runtime.init.gsapCallbackChildren",g),Xt.set(d,!1),!1}if(!Array.isArray(p))return Xt.set(d,!1),!1;for(let g of p){if(!ra(g))continue;let v=g.vars;if(!ra(v)||!md.some(W=>typeof v[W]=="function"))continue;let X=ia(g,"totalDuration")??ia(g,"duration");if(X!=null&&X<=1e-6)return Xt.set(d,!0),!0}return Xt.set(d,!1),!1};function ht(d,h){let p=e.capturedTimeline,g=h?.suppressEvents===!0;if(p){h?.activateChildren&&na(p);let v=p,L=d;if(typeof v.totalDuration=="function")try{let O=Number(v.totalDuration());Number.isFinite(O)&&O>0&&d>O&&(L=O)}catch(O){F("runtime.init.transport.clampDuration",O)}try{typeof p.totalTime=="function"?(p.totalTime(L,g),!g&&!pd(p)&&(p.totalTime(L+.001,!0),p.totalTime(L,!0))):p.seek(L,g)}catch(O){F("runtime.init.transport.seek",O)}}fd(d,h),p&&h?.activateChildren&&na(p);for(let v of e.deterministicAdapters)if(!(v.name==="gsap"&&p))try{v.seek({time:d,suppressEvents:g})}catch(L){F("runtime.init.transport.adapter",L)}}let hd=()=>{try{return document.querySelector(`[${mc}]`)!=null}catch{return!1}},oa=()=>{if(!(e.tornDown||Kr)){Kr=!0;try{if(e.transportRafId=window.requestAnimationFrame(oa),Wn+=1,pc({tick:Wn,isPlaying:c.isPlaying(),hasCapturedTimeline:e.capturedTimeline!=null,currentTimeSeconds:c.now()})){let h=e.capturedTimeline;if(qt()){e.capturedTimeline&&!Ge._timeline&&(Ge._timeline=e.capturedTimeline),e.capturedTimeline&&e.capturedTimeline!==h&&et(e.capturedTimeline);let p=me(e.capturedTimeline,0);p>0&&c.setDuration(p),mt()}}if(Wn%20===0&&mt(),Wn%30===0&&Br(),e.capturedTimeline){let h=me(e.capturedTimeline,0);h>0&&(!c.isPlaying()||h>=c.getDuration())&&c.setDuration(h)}if(c.isPlaying()&&!e.mediaOutputMuted)if(!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&m.isActive()&&m.context){let h=m.getTime();h>=0&&c.attachAudioSource({currentTimeSeconds:h})}else{let h=document.querySelectorAll("audio[data-start]"),p=!1;for(let g of h){if(!(g instanceof HTMLMediaElement)||!g.isConnected)continue;let v=Number.parseFloat(g.dataset.start??""),L=Number.parseFloat(g.dataset.duration??""),O=Number.isFinite(L)&&L>0?v+L:1/0,X=Number.parseFloat(g.dataset.playbackStart??g.dataset.mediaStart??"0")||0;if(Number.isFinite(v)&&e.currentTime>=v&&e.currentTime<O){g.paused?!g.error&&g.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(c.attachAudioSource({currentTimeSeconds:e.currentTime}),p=!0):(c.attachAudioSource({el:g,compositionStart:v,mediaStart:X}),p=!0);break}}!p&&c.hasAudioSource()&&c.detachAudioSource()}else c.hasAudioSource()&&c.detachAudioSource();let d=c.now();if(e.currentTime=d,(c.isPlaying()||!hd())&&ht(d),c.isPlaying()&&ze.redrawAnimated(),c.isPlaying()&&c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0);return}c.isPlaying()&&Pe(),Fe(!1)}finally{Kr=!1}}},aa=d=>{let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let v=Number.parseFloat(p.dataset.duration??""),L=Number.isFinite(v)&&v>0?g+v:1/0;if(d<g||d>=L)continue;let O=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,X=d-g+O;if(X>=0)try{p.currentTime=X}catch{}}},sa=()=>{if(e.nativeMediaSyncDisabled||e.webAudioMediaDisabled)return;let d=m.startGeneration(),h=document.querySelectorAll("audio[data-start]");for(let p of h){if(!(p instanceof HTMLMediaElement)||!p.isConnected)continue;let g=Number.parseFloat(p.dataset.start??"");if(!Number.isFinite(g))continue;let v=Number.parseFloat(p.dataset.playbackStart??p.dataset.mediaStart??"0")||0,L=Number.parseFloat(p.dataset.volume??""),O=Number.isFinite(L)?L:1,X=Number.parseFloat(p.dataset.duration??""),W=Number.isFinite(X)&&X>0?X:Number.POSITIVE_INFINITY,se=p.closest("[data-composition-id]");if(se){let Le=J(se,0),ie=_e(se,{includeAuthoredTimingAttrs:!0});ie!=null&&ie>0&&(W=Math.min(W,Math.max(0,Le+ie-g)))}m.decodeAudioElement(p).then(Le=>{!Le||!c.isPlaying()||m.schedulePlayback(p,Le,g,v,c.now(),O*e.bridgeVolume,d,e.playbackRate,W)})}};function la(){m.setRate(e.playbackRate)&&!e.nativeMediaSyncDisabled&&!e.webAudioMediaDisabled&&f&&c.isPlaying()&&m.hasBoundedActiveSources()&&(m.stopAll(),sa())}if(e.capturedTimeline){let d=me(e.capturedTimeline,0);d>0&&c.setDuration(d),et(e.capturedTimeline)}ku(window),e.transportRafId=window.requestAnimationFrame(oa),mt(),Fe(!0),e.controlBridgeHandler=fa({onPlay:()=>{Ge.play(),Ne("composition_played",{time:Ge.getTime()})},onPause:()=>{Ge.pause(),Ne("composition_paused",{time:Ge.getTime()})},onStopMedia:()=>{m.stopAll();let d=document.querySelectorAll("video, audio");for(let h of d)h instanceof HTMLMediaElement&&!h.paused&&h.pause()},onSeek:(d,h)=>{Ge.seek(d),Ne("composition_seeked",{time:d})},onSetMuted:d=>{e.bridgeMuted=d;let h=d||e.mediaOutputMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetVolume:d=>{e.bridgeVolume=d,m.setVolume(d);let h=document.querySelectorAll("video, audio");for(let p of h){if(!(p instanceof HTMLMediaElement))continue;let g=parseFloat(p.dataset.volume??""),v=Number.isFinite(g)?g:1;p.volume=v*d}},onSetMediaOutputMuted:d=>{e.mediaOutputMuted=d;let h=d||e.bridgeMuted;m.setMuted(h);let p=document.querySelectorAll("video, audio");for(let g of p)g instanceof HTMLMediaElement&&(g.muted=h||g.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{e.nativeMediaSyncDisabled!==d&&(e.nativeMediaSyncDisabled=d,e.mediaForceSyncNextTick=!0,d?(m.stopAll(),c.detachAudioSource()):Pe())},onSetWebAudioMediaDisabled:d=>{e.webAudioMediaDisabled!==d&&(e.webAudioMediaDisabled=d,e.mediaForceSyncNextTick=!0,d&&(m.stopAll(),c.detachAudioSource()),Pe())},onSetPlaybackRate:d=>{jr(d),e.transportClock&&e.transportClock.setRate(e.playbackRate),la()},onSetRootDuration:ad,onSetColorGrading:(d,h)=>{ze.setGrading(d,h)},onSetColorGradingCompare:(d,h)=>{ze.setCompare(d,h)},onTick:()=>{if(e.tornDown||!c.isPlaying())return;let d=c.now();if(e.currentTime=d,ht(d),c.reachedEnd()){m.stopAll(),c.detachAudioSource(),c.pause(),e.isPlaying=!1;let h=c.getDuration();Number.isFinite(h)&&(c.seek(h),e.currentTime=h,ht(h)),Oe("pause"),Pe(),Fe(!0)}},onEnablePickMode:()=>Un.enablePickMode(),onDisablePickMode:()=>Un.disablePickMode(),getCanonicalFps:()=>e.canonicalFps});let Yr=()=>{if(!e.tornDown){e.tornDown=!0,e.transportRafId!=null&&(window.cancelAnimationFrame(e.transportRafId),e.transportRafId=null),e.transportClock=null,m.destroy(),ft!=null&&(window.clearTimeout(ft),ft=null),l!=null&&(window.cancelAnimationFrame(l),l=null),nd(),e.controlBridgeHandler&&(window.removeEventListener("message",e.controlBridgeHandler),e.controlBridgeHandler=null),r&&(window.removeEventListener("error",r),r=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),e.beforeUnloadHandler&&(window.removeEventListener("beforeunload",e.beforeUnloadHandler),e.beforeUnloadHandler=null),Un.disablePickMode();for(let d of e.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(h){F("runtime.init.site12",h)}e.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(h){F("runtime.init.site13",h)}for(let d of e.injectedCompStyles)try{d.remove()}catch(h){F("runtime.init.site14",h)}e.injectedCompStyles=[];for(let d of e.injectedCompLinks)try{d.remove()}catch(h){F("runtime.init.site15",h)}e.injectedCompLinks=[];for(let d of e.injectedCompScripts)try{d.remove()}catch(h){F("runtime.init.site16",h)}e.injectedCompScripts=[],e.capturedTimeline=null,window.__hfRuntimeTeardown===Yr&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Yr,e.beforeUnloadHandler=Yr,window.addEventListener("beforeunload",e.beforeUnloadHandler)}var _c=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ho=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function Jh(e){if(e<=255)return _c[e];let t=0,n=Ho.length-1;for(;t<=n;){let r=t+n>>1,i=Ho[r];if(e<i[0]){n=r-1;continue}if(e>i[1]){t=r+1;continue}return i[2]}return"L"}function Qh(e){let t=e.length;if(t===0)return null;let n=new Array(t),r=!1;for(let u=0;u<t;){let c=e.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<t){let E=e.charCodeAt(u+1);E>=56320&&E<=57343&&(m=(c-55296<<10)+(E-56320)+65536,f=2)}let x=Jh(m);(x==="R"||x==="AL"||x==="AN")&&(r=!0);for(let E=0;E<f;E++)n[u+E]=x;u+=f}if(!r)return null;let i=0;for(let u=0;u<t;u++){let c=n[u];if(c==="L"){i=0;break}if(c==="R"||c==="AL"){i=1;break}}let o=new Int8Array(t);for(let u=0;u<t;u++)o[u]=i;let a=i&1?"R":"L",l=a,s=l;for(let u=0;u<t;u++)n[u]==="NSM"?n[u]=s:s=n[u];s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(s=c)}for(let u=0;u<t;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<t-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<t;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<t&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<t;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}s=l;for(let u=0;u<t;u++){let c=n[u];c==="EN"?n[u]=s==="L"?"L":"EN":(c==="R"||c==="L")&&(s=c)}for(let u=0;u<t;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<t&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<t?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let C=u;C<c;C++)n[C]=x;u=c-1}for(let u=0;u<t;u++)n[u]==="ON"&&(n[u]=a);for(let u=0;u<t;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function Ac(e,t){let n=Qh(e);if(n===null)return null;let r=new Int8Array(t.length);for(let i=0;i<t.length;i++)r[i]=n[t[i]];return r}var Zh=/[ \\t\\n\\r\\f]+/g,eg=/[\\t\\n\\r\\f]| {2,}|^ | $/;function tg(e){let t=e??"normal";return t==="pre-wrap"?{mode:t,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:t,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function ng(e){if(!eg.test(e))return e;let t=e.replace(Zh," ");return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function rg(e){return/[\\r\\f]/.test(e)?e.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):e.replace(/\\r\\n/g,`\n`)}var Bo=null,ig;function og(){return Bo===null&&(Bo=new Intl.Segmenter(ig,{granularity:"word"})),Bo}var ag=/\\p{Script=Arabic}/u,Ir=/\\p{M}/u,Mc=/\\p{Nd}/u;function wc(e){return ag.test(e)}function Tc(e){return e>=19968&&e<=40959||e>=13312&&e<=19903||e>=131072&&e<=173791||e>=173824&&e<=177983||e>=177984&&e<=178207||e>=178208&&e<=183983||e>=183984&&e<=191471||e>=191472&&e<=192093||e>=194560&&e<=195103||e>=196608&&e<=201551||e>=201552&&e<=205743||e>=205744&&e<=210041||e>=63744&&e<=64255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=44032&&e<=55215||e>=65280&&e<=65519}function We(e){for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n<12288)){if(n>=55296&&n<=56319&&t+1<e.length){let r=e.charCodeAt(t+1);if(r>=56320&&r<=57343){let i=(n-55296<<10)+(r-56320)+65536;if(Tc(i))return!0;t++;continue}}if(Tc(n))return!0}}return!1}function sg(e){let t=Gr(e);return t!==null&&(Or.has(t)||ct.has(t))}var lg=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function ug(e){return We(e)}function cg(e){let t=Gr(e);return t!==null&&lg.has(t)}function Pr(e){return!sg(e)&&!cg(e)}var Or=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),On=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Wo=new Set(["\'","\\u2019"]),ct=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),dg=new Set([":",".","\\u060C","\\u061B"]),fg=new Set(["\\u104F"]),mg=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function pg(e){if(Vo(e))return!0;let t=!1;for(let n of e){if(ct.has(n)){t=!0;continue}if(!(t&&Ir.test(n)))return!1}return t}function hg(e){for(let t of e)if(!Or.has(t)&&!ct.has(t))return!1;return e.length>0}function gg(e){if(Vo(e))return!0;for(let t of e)if(!On.has(t)&&!Wo.has(t)&&!Ir.test(t))return!1;return e.length>0}function Vo(e){let t=!1;for(let n of e)if(!(n==="\\\\"||Ir.test(n))){if(On.has(n)||ct.has(n)||Wo.has(n)){t=!0;continue}return!1}return t}function Dc(e,t){let n=t-1;if(n<=0)return Math.max(n,0);let r=e.charCodeAt(n);if(r<56320||r>57343)return n;let i=n-1;if(i<0)return n;let o=e.charCodeAt(i);return o>=55296&&o<=56319?i:n}function Gr(e){if(e.length===0)return null;let t=Dc(e,e.length);return e.slice(t)}function xg(e){let t=Array.from(e),n=t.length;for(;n>0;){let r=t[n-1];if(Ir.test(r)){n--;continue}if(On.has(r)||Wo.has(r)){n--;continue}break}return n<=0||n===t.length?null:{head:t.slice(0,n).join(""),tail:t.slice(n).join("")}}function bg(e,t,n){return n==="text"&&!t&&e.length===1&&e!=="-"&&e!=="\\u2014"?e:null}function Rc(e,t,n,r){let i=t[r],o=e[r];if(i==null)return o;let a=n[r];if(o.length===a)return o;let l=i.repeat(a);return e[r]=l,l}function Fc(e,t){return e&&t!==null&&dg.has(t)}function yg(e){let t=Gr(e);return t!==null&&fg.has(t)}function Sg(e){if(e.length<2||e[0]!==" ")return null;let t=e.slice(1);return/^\\p{M}+$/u.test(t)?{space:" ",marks:t}:null}function Hr(e){let t=e.length;for(;t>0;){let n=Dc(e,t),r=e.slice(n,t);if(mg.has(r))return!0;if(!ct.has(r))return!1;t=n}return!1}function Eg(e,t){if(t.preserveOrdinarySpaces||t.preserveHardBreaks){if(e===" ")return"preserved-space";if(e===" ")return"tab";if(t.preserveHardBreaks&&e===`\n`)return"hard-break"}return e===" "?"space":e==="\\xA0"||e==="\\u202F"||e==="\\u2060"||e==="\\uFEFF"?"glue":e==="\\u200B"?"zero-width-break":e==="\\xAD"?"soft-hyphen":"text"}var vg=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function De(e){return e.length===1?e[0]:e.join("")}function Cg(e,t){let n=[];for(let r=e.length-1;r>=0;r--)n.push(e[r]);return n.push(t),De(n)}function _g(e,t,n,r){if(!vg.test(e))return[{text:e,isWordLike:t,kind:"text",start:n}];let i=[],o=null,a=[],l=n,s=!1,u=0;for(let c of e){let m=Eg(c,r),f=m==="text"&&t;if(o!==null&&m===o&&f===s){a.push(c),u+=c.length;continue}o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),o=m,a=[c],l=n+u,s=f,u+=c.length}return o!==null&&i.push({text:De(a),isWordLike:s,kind:o,start:l}),i}function Uo(e){return e==="space"||e==="preserved-space"||e==="zero-width-break"||e==="hard-break"}var Ag=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function wg(e,t){let n=e.texts[t];return n.startsWith("www.")?!0:Ag.test(n)&&t+1<e.len&&e.kinds[t+1]==="text"&&e.texts[t+1]==="//"}function Tg(e){return e.includes("?")&&(e.includes("://")||e.startsWith("www."))}function Rg(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let a=0;a<e.len;a++){if(r[a]!=="text"||!wg(e,a))continue;let l=[t[a]],s=a+1;for(;s<e.len&&!Uo(r[s]);){l.push(t[s]),n[a]=!0;let u=t[s].includes("?");if(r[s]="text",t[s]="",s++,u)break}t[a]=De(l)}let o=0;for(let a=0;a<t.length;a++){let l=t[a];l.length!==0&&(o!==a&&(t[o]=l,n[o]=n[a],r[o]=r[a],i[o]=i[a]),o++)}return t.length=o,n.length=o,r.length=o,i.length=o,{len:o,texts:t,isWordLike:n,kinds:r,starts:i}}function Fg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o]),!Tg(a))continue;let l=o+1;if(l>=e.len||Uo(e.kinds[l]))continue;let s=[],u=e.starts[l],c=l;for(;c<e.len&&!Uo(e.kinds[c]);)s.push(e.texts[c]),c++;s.length>0&&(t.push(De(s)),n.push(!0),r.push("text"),i.push(u),o=c-1)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}var Lg=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Lc=/^[A-Za-z0-9_]+[,:;]*$/,Nc=/[,:;]+$/;function Ic(e){for(let t of e)if(Mc.test(t))return!0;return!1}function Pn(e){if(e.length===0)return!1;for(let t of e)if(!(Mc.test(t)||Lg.has(t)))return!1;return!0}function Ng(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o];if(l==="text"&&Pn(a)&&Ic(a)){let s=[a],u=o+1;for(;u<e.len&&e.kinds[u]==="text"&&Pn(e.texts[u]);)s.push(e.texts[u]),u++;t.push(De(s)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=u-1;continue}t.push(a),n.push(e.isWordLike[o]),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function kg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o],l=e.kinds[o],s=e.isWordLike[o];if(l==="text"&&s&&Lc.test(a)){let u=[a],c=Nc.test(a),m=o+1;for(;c&&m<e.len&&e.kinds[m]==="text"&&e.isWordLike[m]&&Lc.test(e.texts[m]);){let f=e.texts[m];u.push(f),c=Nc.test(f),m++}t.push(De(u)),n.push(!0),r.push("text"),i.push(e.starts[o]),o=m-1;continue}t.push(a),n.push(s),r.push(l),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Mg(e){let t=[],n=[],r=[],i=[];for(let o=0;o<e.len;o++){let a=e.texts[o];if(e.kinds[o]==="text"&&a.includes("-")){let l=a.split("-"),s=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!s)break;(c.length===0||!Ic(c)||!Pn(c))&&(s=!1)}if(s){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;t.push(f),n.push(!0),r.push("text"),i.push(e.starts[o]+u),u+=f.length}continue}}t.push(a),n.push(e.isWordLike[o]),r.push(e.kinds[o]),i.push(e.starts[o])}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Dg(e){let t=[],n=[],r=[],i=[],o=0;for(;o<e.len;){let a=[e.texts[o]],l=e.isWordLike[o],s=e.kinds[o],u=e.starts[o];if(s==="glue"){let c=[a[0]],m=u;for(o++;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let f=De(c);if(o<e.len&&e.kinds[o]==="text")a[0]=f,a.push(e.texts[o]),l=e.isWordLike[o],s="text",u=m,o++;else{t.push(f),n.push(!1),r.push("glue"),i.push(m);continue}}else o++;if(s==="text")for(;o<e.len&&e.kinds[o]==="glue";){let c=[];for(;o<e.len&&e.kinds[o]==="glue";)c.push(e.texts[o]),o++;let m=De(c);if(o<e.len&&e.kinds[o]==="text"){a.push(m,e.texts[o]),l=l||e.isWordLike[o],o++;continue}a.push(m)}t.push(De(a)),n.push(l),r.push(s),i.push(u)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Ig(e){let t=e.texts.slice(),n=e.isWordLike.slice(),r=e.kinds.slice(),i=e.starts.slice();for(let o=0;o<t.length-1;o++){if(r[o]!=="text"||r[o+1]!=="text"||!We(t[o])||!We(t[o+1]))continue;let a=xg(t[o]);a!==null&&(t[o]=a.head,t[o+1]=a.tail+t[o+1],i[o+1]=i[o]+a.head.length)}return{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function kc(e,t,n){let r=og(),i=0,o=[],a=[],l=[],s=[],u=[],c=[],m=[],f=[],x=[],E=[],C=[],y=[];for(let _ of r.segment(e))for(let b of _g(_.segment,_.isWordLike??!1,_.index,n)){let J=function(){c[H]!==null&&(a[H]=[Rc(o,c,m,H)],c[H]=null),a[H].push(b.text),l[H]=l[H]||b.isWordLike,f[H]=f[H]||R,x[H]=x[H]||N,E[H]=U,C[H]=ne,y[H]=Fc(x[H],G)},S=b.kind==="text",A=bg(b.text,b.isWordLike,b.kind),R=We(b.text),N=wc(b.text),G=Gr(b.text),U=Hr(b.text),ne=yg(b.text),H=i-1;t.carryCJKAfterClosingQuote&&S&&i>0&&s[H]==="text"&&R&&f[H]&&E[H]||S&&i>0&&s[H]==="text"&&hg(b.text)&&f[H]||S&&i>0&&s[H]==="text"&&C[H]?J():S&&i>0&&s[H]==="text"&&b.isWordLike&&N&&y[H]?(J(),l[H]=!0):A!==null&&i>0&&s[H]==="text"&&c[H]===A?m[H]=(m[H]??1)+1:S&&!b.isWordLike&&i>0&&s[H]==="text"&&(pg(b.text)||b.text==="-"&&l[H])?J():(o[i]=b.text,a[i]=[b.text],l[i]=b.isWordLike,s[i]=b.kind,u[i]=b.start,c[i]=A,m[i]=A===null?0:1,f[i]=R,x[i]=N,E[i]=U,C[i]=ne,y[i]=Fc(N,G),i++)}for(let _=0;_<i;_++){if(c[_]!==null){o[_]=Rc(o,c,m,_);continue}o[_]=De(a[_])}for(let _=1;_<i;_++)s[_]==="text"&&!l[_]&&Vo(o[_])&&s[_-1]==="text"&&(o[_-1]+=o[_],l[_-1]=l[_-1]||l[_],o[_]="");let w=Array.from({length:i},()=>null),T=-1;for(let _=i-1;_>=0;_--){let b=o[_];if(b.length!==0){if(s[_]==="text"&&!l[_]&&gg(b)&&T>=0&&s[T]==="text"){let S=w[T]??[];S.push(b),w[T]=S,u[T]=u[_],o[_]="";continue}T=_}}for(let _=0;_<i;_++){let b=w[_];b!=null&&(o[_]=Cg(b,o[_]))}let k=0;for(let _=0;_<i;_++){let b=o[_];b.length!==0&&(k!==_&&(o[k]=b,l[k]=l[_],s[k]=s[_],u[k]=u[_]),k++)}o.length=k,l.length=k,s.length=k,u.length=k;let D=Dg({len:k,texts:o,isWordLike:l,kinds:s,starts:u}),P=Ig(kg(Mg(Ng(Fg(Rg(D))))));for(let _=0;_<P.len-1;_++){let b=Sg(P.texts[_]);b!==null&&(P.kinds[_]!=="space"&&P.kinds[_]!=="preserved-space"||P.kinds[_+1]!=="text"||!wc(P.texts[_+1])||(P.texts[_]=b.space,P.isWordLike[_]=!1,P.kinds[_]=P.kinds[_]==="preserved-space"?"preserved-space":"space",P.texts[_+1]=b.marks+P.texts[_+1],P.starts[_+1]=P.starts[_]+b.space.length))}return P}function Pg(e,t){if(e.len===0)return[];if(!t.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}];let n=[],r=0;for(let i=0;i<e.len;i++)e.kinds[i]==="hard-break"&&(n.push({startSegmentIndex:r,endSegmentIndex:i,consumedEndSegmentIndex:i+1}),r=i+1);return r<e.len&&n.push({startSegmentIndex:r,endSegmentIndex:e.len,consumedEndSegmentIndex:e.len}),n}function Og(e){if(e.len<=1)return e;let t=[],n=[],r=[],i=[],o=null,a=!1,l=0,s=!1,u=!1;function c(){o!==null&&(t.push(De(o)),n.push(a),r.push("text"),i.push(l),o=null)}for(let m=0;m<e.len;m++){let f=e.texts[m],x=e.kinds[m],E=e.isWordLike[m],C=e.starts[m];if(x==="text"){let y=ug(f),w=Pr(f);if(o!==null&&s&&u){o.push(f),a=a||E,s=s||y,u=w;continue}c(),o=[f],a=E,l=C,s=y,u=w;continue}c(),t.push(f),n.push(E),r.push(x),i.push(C)}return c(),{len:t.length,texts:t,isWordLike:n,kinds:r,starts:i}}function Pc(e,t,n="normal",r="normal"){let i=tg(n),o=i.mode==="pre-wrap"?rg(e):ng(e);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let a=r==="keep-all"?Og(kc(o,t,i)):kc(o,t,i);return{normalized:o,chunks:Pg(a,i),...a}}var Vt=null,Oc=new Map,zt=null,Gg=96,Hg=/\\p{Emoji_Presentation}/u,Bg=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,zo=null,Gc=new Map;function $o(){if(Vt!==null)return Vt;if(typeof OffscreenCanvas<"u")return Vt=new OffscreenCanvas(1,1).getContext("2d"),Vt;if(typeof document<"u")return Vt=document.createElement("canvas").getContext("2d"),Vt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Ug(e){let t=Oc.get(e);return t||(t=new Map,Oc.set(e,t)),t}function tt(e,t){let n=t.get(e);return n===void 0&&(n={width:$o().measureText(e).width,containsCJK:We(e)},t.set(e,n)),n}function $t(){if(zt!==null)return zt;if(typeof navigator>"u")return zt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},zt;let e=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&e.includes("Safari/")&&!e.includes("Chrome/")&&!e.includes("Chromium/")&&!e.includes("CriOS/")&&!e.includes("FxiOS/")&&!e.includes("EdgiOS/"),r=e.includes("Chrome/")||e.includes("Chromium/")||e.includes("CriOS/")||e.includes("Edg/");return zt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:r,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},zt}function Wg(e){let t=e.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return t?parseFloat(t[1]):16}function Hc(){return zo===null&&(zo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zo}function Vg(e){return Hg.test(e)||e.includes("\\uFE0F")}function Bc(e){return Bg.test(e)}function zg(e,t){let n=Gc.get(e);if(n!==void 0)return n;let r=$o();r.font=e;let i=r.measureText("\\u{1F600}").width;if(n=0,i>t+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=e,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let a=o.getBoundingClientRect().width;document.body.removeChild(o),i-a>.5&&(n=i-a)}return Gc.set(e,n),n}function $g(e){let t=0,n=Hc();for(let r of n.segment(e))Vg(r.segment)&&t++;return t}function qg(e,t){return t.emojiCount===void 0&&(t.emojiCount=$g(e)),t.emojiCount}function dt(e,t,n){return n===0?t.width:t.width-qg(e,t)*n}function Uc(e,t,n,r,i){if(t.breakableFitAdvances!==void 0)return t.breakableFitAdvances;let o=Hc(),a=[];for(let c of o.segment(e))a.push(c.segment);if(a.length<=1)return t.breakableFitAdvances=null,t.breakableFitAdvances;if(i==="sum-graphemes"){let c=[];for(let m of a){let f=tt(m,n);c.push(dt(m,f,r))}return t.breakableFitAdvances=c,t.breakableFitAdvances}if(i==="pair-context"||a.length>Gg){let c=[],m=null,f=0;for(let x of a){let E=tt(x,n),C=dt(x,E,r);if(m===null)c.push(C);else{let y=m+x,w=tt(y,n);c.push(dt(y,w,r)-f)}m=x,f=C}return t.breakableFitAdvances=c,t.breakableFitAdvances}let l=[],s="",u=0;for(let c of a){s+=c;let m=tt(s,n),f=dt(s,m,r);l.push(f-u),u=f}return t.breakableFitAdvances=l,t.breakableFitAdvances}function Wc(e,t){let n=$o();n.font=e;let r=Ug(e),i=Wg(e),o=t?zg(e,i):0;return{cache:r,fontSize:i,emojiCorrection:o}}function jg(e,t){for(;t<e.widths.length;){let n=e.kinds[t];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;t++}return t}function Kg(e,t){if(t<=0)return 0;let n=e%t;return Math.abs(n)<=1e-6?t:t-n}function Yg(e,t,n,r,i){let o=0,a=t;for(;o<e.length;){let l=a+e[o];if((o+1<e.length?l+i:l)>n+r)break;a=l,o++}return{fitCount:o,fittedWidth:a}}function Vc(e,t){return e.simpleLineWalkFastPath?zc(e,t):$c(e,t)}function zc(e,t,n){let{widths:r,kinds:i,breakableFitAdvances:o}=e;if(r.length===0)return 0;let l=$t().lineFitEpsilon,s=t+l,u=0,c=0,m=!1,f=0,x=0,E=0,C=0,y=-1,w=0;function T(){y=-1,w=0}function k(A=E,R=C,N=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:A,endGraphemeIndex:R,width:N}),c=0,m=!1,T()}function D(A,R){m=!0,f=A,x=0,E=A+1,C=0,c=R}function P(A,R,N){m=!0,f=A,x=R,E=A,C=R+1,c=N}function _(A,R){if(!m){D(A,R);return}c+=R,E=A+1,C=0}function b(A,R){let N=o[A];for(let G=R;G<N.length;G++){let U=N[G];m?c+U>s?(k(),P(A,G,U)):(c+=U,E=A,C=G+1):P(A,G,U)}m&&E===A&&C===N.length&&(E=A+1,C=0)}let S=0;for(;S<r.length&&!(!m&&(S=jg(e,S),S>=r.length));){let A=r[S],R=i[S],N=R==="space"||R==="preserved-space"||R==="tab"||R==="zero-width-break"||R==="soft-hyphen";if(!m){A>t&&o[S]!==null?b(S,0):D(S,A),N&&(y=S+1,w=c-A),S++;continue}if(c+A>s){if(N){_(S,A),k(S+1,0,c-A),S++;continue}if(y>=0){if(E>y||E===y&&C>0){k();continue}k(y,0,w);continue}if(A>t&&o[S]!==null){k(),b(S,0),S++;continue}k();continue}_(S,A),N&&(y=S+1,w=c-A),S++}return m&&k(),u}function $c(e,t,n){if(e.simpleLineWalkFastPath)return zc(e,t,n);let{widths:r,lineEndFitAdvances:i,lineEndPaintAdvances:o,kinds:a,breakableFitAdvances:l,discretionaryHyphenWidth:s,tabStopAdvance:u,chunks:c}=e;if(r.length===0||c.length===0)return 0;let m=$t(),f=m.lineFitEpsilon,x=t+f,E=0,C=0,y=!1,w=0,T=0,k=0,D=0,P=-1,_=0,b=0,S=null;function A(){P=-1,_=0,b=0,S=null}function R(z=k,Y=D,V=C){E++,n?.({startSegmentIndex:w,startGraphemeIndex:T,endSegmentIndex:z,endGraphemeIndex:Y,width:V}),C=0,y=!1,A()}function N(z,Y){y=!0,w=z,T=0,k=z+1,D=0,C=Y}function G(z,Y,V){y=!0,w=z,T=Y,k=z,D=Y+1,C=V}function U(z,Y){if(!y){N(z,Y);return}C+=Y,k=z+1,D=0}function ne(z,Y,V,ee){if(!Y)return;let Ae=z==="tab"?0:i[V],B=z==="tab"?ee:o[V];P=V+1,_=C-ee+Ae,b=C-ee+B,S=z}function H(z,Y){let V=l[z];for(let ee=Y;ee<V.length;ee++){let Ae=V[ee];y?C+Ae>x?(R(),G(z,ee,Ae)):(C+=Ae,k=z,D=ee+1):G(z,ee,Ae)}y&&k===z&&D===V.length&&(k=z+1,D=0)}function J(z){if(S!=="soft-hyphen")return!1;let Y=l[z];if(Y==null)return!1;let{fitCount:V,fittedWidth:ee}=Yg(Y,C,t,f,s);return V===0?!1:(C=ee,k=z,D=V,A(),V===Y.length?(k=z+1,D=0,!0):(R(z,V,ee+s),H(z,V),!0))}function _e(z){E++,n?.({startSegmentIndex:z.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:z.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),A()}for(let z=0;z<c.length;z++){let Y=c[z];if(Y.startSegmentIndex===Y.endSegmentIndex){_e(Y);continue}y=!1,C=0,w=Y.startSegmentIndex,T=0,k=Y.startSegmentIndex,D=0,A();let V=Y.startSegmentIndex;for(;V<Y.endSegmentIndex;){let ee=a[V],Ae=ee==="space"||ee==="preserved-space"||ee==="tab"||ee==="zero-width-break"||ee==="soft-hyphen",B=ee==="tab"?Kg(C,u):r[V];if(ee==="soft-hyphen"){y&&(k=V+1,D=0,P=V+1,_=C+s,b=C+s,S=ee),V++;continue}if(!y){B>t&&l[V]!==null?H(V,0):N(V,B),ne(ee,Ae,V,B),V++;continue}if(C+B>x){let I=C+(ee==="tab"?0:i[V]),ue=C+(ee==="tab"?B:o[V]);if(S==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){R(P,0,b);continue}if(S==="soft-hyphen"&&J(V)){V++;continue}if(Ae&&I<=x){U(V,B),R(V+1,0,ue),V++;continue}if(P>=0&&_<=x){if(k>P||k===P&&D>0){R();continue}let ae=P;R(ae,0,b),V=ae;continue}if(B>t&&l[V]!==null){R(),H(V,0),V++;continue}R();continue}U(V,B),ne(ee,Ae,V,B),V++}if(y){let ee=P===Y.consumedEndSegmentIndex?b:C;R(Y.consumedEndSegmentIndex,0,ee)}}return E}var qo=null;function Xg(){return qo===null&&(qo=new Intl.Segmenter(void 0,{granularity:"grapheme"})),qo}function Jg(e){return e?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Qg(e,t){let n=[],r=[],i=0,o=!1,a=!1,l=!1;function s(){r.length!==0&&(n.push({text:r.length===1?r[0]:r.join(""),start:i}),r=[],o=!1,a=!1,l=!1)}function u(m,f,x){r=[m],i=f,o=x,a=Hr(m),l=On.has(m)}function c(m,f){r.push(m),o=o||f;let x=Hr(m);m.length===1&&ct.has(m)?a=a||x:a=x,l=!1}for(let m of Xg().segment(e)){let f=m.segment,x=We(f);if(r.length===0){u(f,m.index,x);continue}if(l||Or.has(f)||ct.has(f)||t.carryCJKAfterClosingQuote&&x&&a){c(f,x);continue}if(!o&&!x){c(f,x);continue}s(),u(f,m.index,x)}return s(),n}function Zg(e){if(e.length<=1)return e;let t=[],n=[e[0].text],r=e[0].start,i=We(e[0].text),o=Pr(e[0].text);function a(){t.push({text:n.length===1?n[0]:n.join(""),start:r})}for(let l=1;l<e.length;l++){let s=e[l],u=We(s.text),c=Pr(s.text);if(i&&o){n.push(s.text),i=i||u,o=c;continue}a(),n=[s.text],r=s.start,i=u,o=c}return a(),t}function ex(e,t,n,r){let i=$t(),{cache:o,emojiCorrection:a}=Wc(t,Bc(e.normalized)),l=dt("-",tt("-",o),a),u=dt(" ",tt(" ",o),a)*8;if(e.len===0)return Jg(n);let c=[],m=[],f=[],x=[],E=e.chunks.length<=1,C=n?[]:null,y=[],w=n?[]:null,T=Array.from({length:e.len});function k(b,S,A,R,N,G,U){N!=="text"&&N!=="space"&&N!=="zero-width-break"&&(E=!1),c.push(S),m.push(A),f.push(R),x.push(N),C?.push(G),y.push(U),w!==null&&w.push(b)}function D(b,S,A,R,N){let G=tt(b,o),U=dt(b,G,a),ne=S==="space"||S==="preserved-space"||S==="zero-width-break"?0:U,H=S==="space"||S==="zero-width-break"?0:U;if(N&&R&&b.length>1){let J="sum-graphemes";Pn(b)?J="pair-context":i.preferPrefixWidthsForBreakableRuns&&(J="segment-prefixes");let _e=Uc(b,G,o,a,J);k(b,U,ne,H,S,A,_e);return}k(b,U,ne,H,S,A,null)}for(let b=0;b<e.len;b++){T[b]=c.length;let S=e.texts[b],A=e.isWordLike[b],R=e.kinds[b],N=e.starts[b];if(R==="soft-hyphen"){k(S,0,l,l,R,N,null);continue}if(R==="hard-break"){k(S,0,0,0,R,N,null);continue}if(R==="tab"){k(S,0,0,0,R,N,null);continue}let G=tt(S,o);if(R==="text"&&G.containsCJK){let U=Qg(S,i),ne=r==="keep-all"?Zg(U):U;for(let H=0;H<ne.length;H++){let J=ne[H];D(J.text,"text",N+J.start,A,r==="keep-all"||!We(J.text))}continue}D(S,R,N,A,!0)}let P=tx(e.chunks,T,c.length),_=C===null?null:Ac(e.normalized,C);return w!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P,segments:w}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:_,breakableFitAdvances:y,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:P}}function tx(e,t,n){let r=[];for(let i=0;i<e.length;i++){let o=e[i],a=o.startSegmentIndex<t.length?t[o.startSegmentIndex]:n,l=o.endSegmentIndex<t.length?t[o.endSegmentIndex]:n,s=o.consumedEndSegmentIndex<t.length?t[o.consumedEndSegmentIndex]:n;r.push({startSegmentIndex:a,endSegmentIndex:l,consumedEndSegmentIndex:s})}return r}function nx(e,t,n,r){let i=r?.wordBreak??"normal",o=Pc(e,$t(),r?.whiteSpace,i);return ex(o,t,n,i)}function qc(e,t,n){return nx(e,t,!1,n)}function jc(e,t,n){let r=Vc(e,t);return{lineCount:r,height:r*n}}var rx={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Kc(e,t){let n={...rx,...t},r=1.2;for(let i=n.baseFontSize;i>=n.minFontSize;i-=n.step){let o=`${n.fontWeight} ${i}px ${n.fontFamily}`,a=qc(e,o),{lineCount:l}=jc(a,n.maxWidth,i*r);if(l<=1)return{fontSize:i,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};zu();window.__hyperframes={fitTextFontSize:Kc,getVariables:ha};function Yc(){let e=window;e.__hyperframeRuntimeBootstrapped||(e.__hyperframeRuntimeBootstrapped=!0,Cc())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yc,{once:!0}):Yc();})();\n';
58579
58579
  }
58580
58580
  });
58581
58581
 
@@ -62453,7 +62453,19 @@ var init_canaryRegistry = __esm({
62453
62453
  // ── Real rollouts ────────────────────────────────────────────────────────
62454
62454
  {
62455
62455
  name: "de-parallel-router",
62456
- percentage: 0,
62456
+ // Ramp 5 -> 25 -> 100. This gates the DEFAULT-ON behaviour (uncapped, no
62457
+ // telemetry precondition), not the old capped trial — so 0 means the
62458
+ // router is off for everyone and is a full revert without a release.
62459
+ //
62460
+ // Calibration validated the bucketer first: 9.62%/49.76% against 10%/50%
62461
+ // targets at n=13,547, overrides and CI both attributable, sustained
62462
+ // cohort flips at 0.10% — an order of magnitude under this feature's own
62463
+ // ~2.79% revert rate.
62464
+ //
62465
+ // At each step split revert rate by cpu_count and is_docker. Hold at 5
62466
+ // until PRINFRA-372 is resolved: `--workers auto` crashes every worker on
62467
+ // macOS arm64 while `--workers 1` is clean, and the router forces 3.
62468
+ percentage: 5,
62457
62469
  description: "Route auto multi-worker renders to verified parallel drawElement streaming (HF_DE_PARALLEL_ROUTER). Ramp only alongside the per-install circuit breaker.",
62458
62470
  owner: "vance",
62459
62471
  sunsetAfter: "2026-10-01"
@@ -62867,7 +62879,11 @@ function mintAndCacheConfig() {
62867
62879
  const config = mintConfig();
62868
62880
  const write = writeConfigWithResult(config);
62869
62881
  if (!write.ok) warnSeedBackfillFailed(write.error);
62870
- classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
62882
+ classifyIdentity(
62883
+ config.anonymousId,
62884
+ write.ok ? "unknown" : "process_only",
62885
+ writeOutcomeOf(write)
62886
+ );
62871
62887
  cachedConfig = { ...config };
62872
62888
  return { ...config };
62873
62889
  }
@@ -62896,22 +62912,21 @@ function recordRecentRender(id, ok) {
62896
62912
  config.recentRenders = ring.slice(-MAX_RECENT_RENDERS);
62897
62913
  writeConfig(config);
62898
62914
  }
62899
- function classifyIdentity(persistence, outcome) {
62900
- if (identityPersistence !== void 0) return;
62901
- identityPersistence = persistence;
62902
- identityWriteOutcome = outcome;
62915
+ function classifyIdentity(anonymousId, persistence, writeOutcome) {
62916
+ if (identityClassification?.anonymousId === anonymousId) return;
62917
+ identityClassification = { anonymousId, persistence, writeOutcome };
62903
62918
  }
62904
62919
  function writeOutcomeOf(write) {
62905
62920
  if (!write.ok) return "failed";
62906
62921
  return write.mirrored === false ? "ok_unmirrored" : "ok";
62907
62922
  }
62908
62923
  function getIdentityPersistence() {
62909
- readConfig();
62910
- return identityPersistence ?? "unknown";
62924
+ const config = readConfig();
62925
+ return identityClassification?.anonymousId === config.anonymousId ? identityClassification.persistence : "unknown";
62911
62926
  }
62912
62927
  function getIdentityWriteOutcome() {
62913
- readConfig();
62914
- return identityWriteOutcome;
62928
+ const config = readConfig();
62929
+ return identityClassification?.anonymousId === config.anonymousId ? identityClassification.writeOutcome : void 0;
62915
62930
  }
62916
62931
  function parseNonEmptyString(value) {
62917
62932
  return typeof value === "string" && value.length > 0 ? value : void 0;
@@ -62981,18 +62996,27 @@ function readConfig() {
62981
62996
  const idFromDisk = parseNonEmptyString(parsed.anonymousId) !== void 0;
62982
62997
  if (config.bucketSeed === void 0) {
62983
62998
  const write = backfillBucketSeed(config);
62984
- if (idFromDisk) classifyIdentity("durable");
62985
- else classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
62999
+ if (idFromDisk) classifyIdentity(config.anonymousId, "durable");
63000
+ else
63001
+ classifyIdentity(
63002
+ config.anonymousId,
63003
+ write.ok ? "unknown" : "process_only",
63004
+ writeOutcomeOf(write)
63005
+ );
62986
63006
  cachedConfig = config;
62987
63007
  return { ...config };
62988
63008
  }
62989
- classifyIdentity(idFromDisk ? "durable" : "process_only");
63009
+ classifyIdentity(config.anonymousId, idFromDisk ? "durable" : "process_only");
62990
63010
  cachedConfig = config;
62991
63011
  return { ...config };
62992
63012
  } catch {
62993
63013
  const config = { ...mintConfig(), telemetryEnabled: false };
62994
63014
  const write = writeConfigWithResult(config);
62995
- classifyIdentity(write.ok ? "unknown" : "process_only", writeOutcomeOf(write));
63015
+ classifyIdentity(
63016
+ config.anonymousId,
63017
+ write.ok ? "unknown" : "process_only",
63018
+ writeOutcomeOf(write)
63019
+ );
62996
63020
  return config;
62997
63021
  }
62998
63022
  }
@@ -63022,7 +63046,7 @@ function incrementCommandCount() {
63022
63046
  writeConfig(config);
63023
63047
  return config.commandCount;
63024
63048
  }
63025
- var CONFIG_DIR, CONFIG_FILE, STATE_FILE, LEGACY_STATE_FILE, seedBackfillWarned, latchedFiredSeen, stateMarkerSynced, stateFiredSynced, MAX_RECENT_RENDERS, DEFAULT_CONFIG, cachedConfig, identityPersistence, identityWriteOutcome, CONFIG_PATH, STATE_PATH;
63049
+ var CONFIG_DIR, CONFIG_FILE, STATE_FILE, LEGACY_STATE_FILE, seedBackfillWarned, latchedFiredSeen, stateMarkerSynced, stateFiredSynced, MAX_RECENT_RENDERS, DEFAULT_CONFIG, cachedConfig, identityClassification, CONFIG_PATH, STATE_PATH;
63026
63050
  var init_config = __esm({
63027
63051
  "src/telemetry/config.ts"() {
63028
63052
  "use strict";
@@ -64448,10 +64472,10 @@ function buildChromeArgs(options, config) {
64448
64472
  if (browserGpuMode !== "software") {
64449
64473
  chromeArgs.push(WEBGPU_FLAG);
64450
64474
  }
64475
+ if (browserGpuMode === "software") {
64476
+ chromeArgs.push("--disable-gpu-compositing");
64477
+ }
64451
64478
  if (options.captureMode !== "screenshot") {
64452
- if (browserGpuMode === "software") {
64453
- chromeArgs.push("--disable-gpu-compositing");
64454
- }
64455
64479
  chromeArgs.push(
64456
64480
  "--deterministic-mode",
64457
64481
  "--enable-begin-frame-control",
@@ -83579,6 +83603,67 @@ var init_staticGuard = __esm({
83579
83603
  }
83580
83604
  });
83581
83605
 
83606
+ // ../core/dist/compiler/compositionAssembly.js
83607
+ function toArray2(items) {
83608
+ return items ? Array.from(items) : [];
83609
+ }
83610
+ function planCompositionAssembly(input2) {
83611
+ const { contentNode, head, documentElement, hasTemplate, compositionId } = input2;
83612
+ const compositionRoots = toArray2(contentNode.querySelectorAll(COMPOSITION_ROOT_SELECTOR));
83613
+ const innerRoot = compositionId ? compositionRoots.find((root) => root.getAttribute(COMPOSITION_ID_ATTR) === compositionId) ?? null : compositionRoots[0] ?? null;
83614
+ const declaredCompositionId = (innerRoot ?? compositionRoots[0])?.getAttribute(COMPOSITION_ID_ATTR)?.trim() || "";
83615
+ const assetHead = hasTemplate ? null : head ?? null;
83616
+ return {
83617
+ innerRoot,
83618
+ authoredCompositionId: compositionId || declaredCompositionId || null,
83619
+ scriptCompositionId: declaredCompositionId || compositionId || null,
83620
+ authoredRootId: innerRoot?.getAttribute("id")?.trim() || null,
83621
+ styleSources: [
83622
+ ...toArray2(assetHead?.querySelectorAll(STYLE_SELECTOR)),
83623
+ ...toArray2(contentNode.querySelectorAll(STYLE_SELECTOR))
83624
+ ],
83625
+ scriptSources: [
83626
+ ...toArray2(assetHead?.querySelectorAll(SCRIPT_SELECTOR)),
83627
+ ...toArray2(contentNode.querySelectorAll(SCRIPT_SELECTOR))
83628
+ ],
83629
+ linkSources: toArray2(head?.querySelectorAll(HOISTED_LINK_SELECTOR)),
83630
+ variableDefaultCarriers: [documentElement, innerRoot].filter((carrier) => carrier != null)
83631
+ };
83632
+ }
83633
+ function enumerateNestedCompositionHosts(assembledHost, ancestry) {
83634
+ const hosts = [];
83635
+ const skipped = [];
83636
+ for (const nestedHost of assembledHost.querySelectorAll(COMPOSITION_HOST_SELECTOR)) {
83637
+ const src = nestedHost.getAttribute(COMPOSITION_SRC_ATTR);
83638
+ if (!src)
83639
+ continue;
83640
+ if (ancestry.includes(src)) {
83641
+ skipped.push({ src, reason: "circular composition reference" });
83642
+ continue;
83643
+ }
83644
+ if (ancestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
83645
+ skipped.push({ src, reason: "nesting depth exceeded" });
83646
+ continue;
83647
+ }
83648
+ hosts.push({ host: nestedHost, src });
83649
+ }
83650
+ return { hosts, skipped };
83651
+ }
83652
+ var COMPOSITION_ID_ATTR, COMPOSITION_SRC_ATTR, COMPOSITION_ROOT_SELECTOR, COMPOSITION_HOST_SELECTOR, STYLE_SELECTOR, SCRIPT_SELECTOR, HOISTED_LINK_SELECTOR, MAX_SUB_COMPOSITION_DEPTH;
83653
+ var init_compositionAssembly = __esm({
83654
+ "../core/dist/compiler/compositionAssembly.js"() {
83655
+ "use strict";
83656
+ COMPOSITION_ID_ATTR = "data-composition-id";
83657
+ COMPOSITION_SRC_ATTR = "data-composition-src";
83658
+ COMPOSITION_ROOT_SELECTOR = `[${COMPOSITION_ID_ATTR}]`;
83659
+ COMPOSITION_HOST_SELECTOR = `[${COMPOSITION_SRC_ATTR}]`;
83660
+ STYLE_SELECTOR = "style";
83661
+ SCRIPT_SELECTOR = "script";
83662
+ HOISTED_LINK_SELECTOR = 'link[rel="stylesheet"], link[rel="preconnect"]';
83663
+ MAX_SUB_COMPOSITION_DEPTH = 20;
83664
+ }
83665
+ });
83666
+
83582
83667
  // ../core/dist/compiler/inlineSubCompositions.js
83583
83668
  function defaultBuildScopeSelector(compId) {
83584
83669
  const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
@@ -83631,19 +83716,24 @@ function inlineSubCompositions(document2, hosts, options) {
83631
83716
  onMissingComposition?.(src);
83632
83717
  continue;
83633
83718
  }
83634
- const innerRoot = compId ? queryByAttr2(contentDoc, "data-composition-id", compId) : contentDoc.querySelector("[data-composition-id]");
83635
- const authoredCompositionRoot = innerRoot ?? contentDoc.querySelector("[data-composition-id]");
83636
- const inferredCompId = authoredCompositionRoot?.getAttribute("data-composition-id")?.trim() || "";
83637
- const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
83638
- const scopeCompId = compId || inferredCompId;
83639
- const scriptCompositionId = inferredCompId || scopeCompId;
83719
+ const plan2 = planCompositionAssembly({
83720
+ contentNode: contentDoc,
83721
+ head: compDoc.head,
83722
+ documentElement: compDoc.documentElement,
83723
+ hasTemplate: Boolean(contentRoot),
83724
+ compositionId: compId
83725
+ });
83726
+ const innerRoot = plan2.innerRoot;
83727
+ const authoredRootId = plan2.authoredRootId;
83728
+ const scopeCompId = plan2.authoredCompositionId || "";
83729
+ const scriptCompositionId = plan2.scriptCompositionId || "";
83640
83730
  const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
83641
83731
  if (readVariableDefaults && parseHostVariables && runtimeCompId) {
83642
- const mergedVariables = {
83643
- ...readVariableDefaults(compDoc.documentElement),
83644
- ...innerRoot ? readVariableDefaults(innerRoot) : {},
83645
- ...parseHostVariables(hostEl)
83646
- };
83732
+ const mergedVariables = {};
83733
+ for (const carrier of plan2.variableDefaultCarriers) {
83734
+ Object.assign(mergedVariables, readVariableDefaults(carrier));
83735
+ }
83736
+ Object.assign(mergedVariables, parseHostVariables(hostEl));
83647
83737
  if (Object.keys(mergedVariables).length > 0) {
83648
83738
  variablesByComp[runtimeCompId] = mergedVariables;
83649
83739
  }
@@ -83656,48 +83746,32 @@ function inlineSubCompositions(document2, hosts, options) {
83656
83746
  scopeRootSelectors: true
83657
83747
  }) : css;
83658
83748
  };
83659
- if (!contentRoot && compDoc.head) {
83660
- for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
83661
- styles.push(scopeSubStyle(s2.textContent || ""));
83662
- }
83663
- for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
83664
- const externalSrc = resolveSubAssetPath(s2.getAttribute("src"));
83665
- if (externalSrc) {
83666
- if (!externalScriptSrcs.includes(externalSrc)) {
83667
- externalScriptSrcs.push(externalSrc);
83668
- }
83669
- scriptItems.push({ kind: "external", src: externalSrc });
83670
- }
83671
- }
83672
- for (const link of [
83673
- ...compDoc.head.querySelectorAll('link[rel="stylesheet"], link[rel="preconnect"]')
83674
- ]) {
83675
- const href = resolveSubAssetPath(link.getAttribute("href"));
83676
- if (href && !seenLinkHrefs.has(href)) {
83677
- seenLinkHrefs.add(href);
83678
- const rel = (link.getAttribute("rel") || "").trim();
83679
- const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
83680
- externalLinks.push({ href, rel, crossorigin });
83681
- }
83749
+ for (const link of plan2.linkSources) {
83750
+ const href = resolveSubAssetPath(link.getAttribute("href"));
83751
+ if (href && !seenLinkHrefs.has(href)) {
83752
+ seenLinkHrefs.add(href);
83753
+ const rel = (link.getAttribute("rel") || "").trim();
83754
+ const crossorigin = link.hasAttribute("crossorigin") ? link.getAttribute("crossorigin") || "" : void 0;
83755
+ externalLinks.push({ href, rel, crossorigin });
83682
83756
  }
83683
83757
  }
83684
- for (const s2 of [...contentDoc.querySelectorAll("style")]) {
83685
- styles.push(scopeSubStyle(s2.textContent || ""));
83686
- s2.remove();
83758
+ for (const styleEl of plan2.styleSources) {
83759
+ styles.push(scopeSubStyle(styleEl.textContent || ""));
83760
+ styleEl.remove();
83687
83761
  }
83688
- for (const s2 of [...contentDoc.querySelectorAll("script")]) {
83689
- const externalSrc = resolveSubAssetPath(s2.getAttribute("src"));
83762
+ for (const scriptEl of plan2.scriptSources) {
83763
+ const externalSrc = resolveSubAssetPath(scriptEl.getAttribute("src"));
83690
83764
  if (externalSrc) {
83691
83765
  if (!externalScriptSrcs.includes(externalSrc)) {
83692
83766
  externalScriptSrcs.push(externalSrc);
83693
83767
  }
83694
83768
  scriptItems.push({ kind: "external", src: externalSrc });
83695
83769
  } else {
83696
- const wrappedScript = scriptCompositionId ? wrapScopedCompositionScript(s2.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || void 0, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId) : wrapInlineScriptWithErrorBoundary(s2.textContent || "", scriptErrorLabel);
83770
+ const wrappedScript = scriptCompositionId ? wrapScopedCompositionScript(scriptEl.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || void 0, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId) : wrapInlineScriptWithErrorBoundary(scriptEl.textContent || "", scriptErrorLabel);
83697
83771
  scripts.push(wrappedScript);
83698
83772
  scriptItems.push({ kind: "inline", content: wrappedScript });
83699
83773
  }
83700
- s2.remove();
83774
+ scriptEl.remove();
83701
83775
  }
83702
83776
  const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
83703
83777
  rewriteAssetPaths(assetEls, src, (el, attr2) => el.getAttribute(attr2), (el, attr2, val) => {
@@ -83727,8 +83801,8 @@ function inlineSubCompositions(document2, hosts, options) {
83727
83801
  child.remove();
83728
83802
  if (flattenInnerRoot) {
83729
83803
  const prepared = flattenInnerRoot(innerRoot);
83730
- if (!compId && inferredCompId) {
83731
- prepared.setAttribute("data-composition-id", inferredCompId);
83804
+ if (!compId && scopeCompId) {
83805
+ prepared.setAttribute("data-composition-id", scopeCompId);
83732
83806
  }
83733
83807
  hostEl.innerHTML = prepared.outerHTML || "";
83734
83808
  } else {
@@ -83746,32 +83820,23 @@ function inlineSubCompositions(document2, hosts, options) {
83746
83820
  hostEl.setAttribute("data-composition-file", src);
83747
83821
  hostEl.removeAttribute("data-composition-src");
83748
83822
  const nestedAncestry = [...ancestry, src];
83749
- for (const nestedHost of [...hostEl.querySelectorAll("[data-composition-src]")]) {
83750
- const nestedSrc = nestedHost.getAttribute("data-composition-src");
83751
- if (!nestedSrc)
83752
- continue;
83753
- if (nestedAncestry.includes(nestedSrc)) {
83754
- onMissingComposition?.(nestedSrc, "circular composition reference");
83755
- continue;
83756
- }
83757
- if (nestedAncestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
83758
- onMissingComposition?.(nestedSrc, "nesting depth exceeded");
83759
- continue;
83760
- }
83761
- queue.push({ element: nestedHost, ancestry: nestedAncestry });
83823
+ const nested = enumerateNestedCompositionHosts(hostEl, nestedAncestry);
83824
+ for (const skipped of nested.skipped) {
83825
+ onMissingComposition?.(skipped.src, skipped.reason);
83826
+ }
83827
+ for (const nestedHost of nested.hosts) {
83828
+ queue.push({ element: nestedHost.host, ancestry: nestedAncestry });
83762
83829
  }
83763
83830
  }
83764
83831
  return { styles, scripts, externalScriptSrcs, scriptItems, externalLinks, variablesByComp };
83765
83832
  }
83766
- var MAX_SUB_COMPOSITION_DEPTH;
83767
83833
  var init_inlineSubCompositions = __esm({
83768
83834
  "../core/dist/compiler/inlineSubCompositions.js"() {
83769
83835
  "use strict";
83770
83836
  init_rewriteSubCompPaths();
83771
- init_cssSelector();
83772
83837
  init_compositionScoping();
83773
83838
  init_subCompositionValidity();
83774
- MAX_SUB_COMPOSITION_DEPTH = 20;
83839
+ init_compositionAssembly();
83775
83840
  }
83776
83841
  });
83777
83842
 
@@ -87046,6 +87111,92 @@ var init_videoFrameInjector = __esm({
87046
87111
  }
87047
87112
  });
87048
87113
 
87114
+ // ../engine/src/utils/notMediaPayload.ts
87115
+ import { createHash as createHash3 } from "crypto";
87116
+ import { open as openFile } from "fs/promises";
87117
+ function fingerprintElementId(elementId) {
87118
+ return createHash3("sha256").update(elementId).digest("hex").slice(0, 16);
87119
+ }
87120
+ function byteOrderMarkLength(head) {
87121
+ for (const mark of BYTE_ORDER_MARKS) {
87122
+ if (head.length >= mark.length && head.subarray(0, mark.length).equals(mark)) {
87123
+ return mark.length;
87124
+ }
87125
+ }
87126
+ return 0;
87127
+ }
87128
+ async function readHead(filePath) {
87129
+ const fh = await openFile(filePath, "r");
87130
+ try {
87131
+ const buf = Buffer.alloc(SNIFF_BYTES);
87132
+ let filled = 0;
87133
+ while (filled < buf.length) {
87134
+ const { bytesRead } = await fh.read(buf, filled, buf.length - filled, filled);
87135
+ if (bytesRead === 0) break;
87136
+ filled += bytesRead;
87137
+ }
87138
+ return buf.subarray(0, filled);
87139
+ } finally {
87140
+ await fh.close().catch(() => {
87141
+ });
87142
+ }
87143
+ }
87144
+ function startsWithDocumentByte(head) {
87145
+ for (let index = byteOrderMarkLength(head); index < head.length; index++) {
87146
+ const byte = head[index];
87147
+ if (byte === void 0) break;
87148
+ if (SKIPPABLE_LEADING_BYTES.has(byte)) continue;
87149
+ return DOCUMENT_OPENING_BYTES.has(byte);
87150
+ }
87151
+ return false;
87152
+ }
87153
+ async function isNotMediaPayload(filePath) {
87154
+ try {
87155
+ return startsWithDocumentByte(await readHead(filePath));
87156
+ } catch {
87157
+ return false;
87158
+ }
87159
+ }
87160
+ async function assertMediaPayload(filePath, elementId) {
87161
+ if (await isNotMediaPayload(filePath)) {
87162
+ throw new NotMediaPayloadError([fingerprintElementId(elementId)]);
87163
+ }
87164
+ }
87165
+ var NOT_MEDIA_PAYLOAD, MAX_LISTED_FINGERPRINTS, NotMediaPayloadError, SNIFF_BYTES, DOCUMENT_OPENING_BYTES, SKIPPABLE_LEADING_BYTES, BYTE_ORDER_MARKS;
87166
+ var init_notMediaPayload = __esm({
87167
+ "../engine/src/utils/notMediaPayload.ts"() {
87168
+ "use strict";
87169
+ NOT_MEDIA_PAYLOAD = "NOT_MEDIA_PAYLOAD";
87170
+ MAX_LISTED_FINGERPRINTS = 8;
87171
+ NotMediaPayloadError = class extends Error {
87172
+ code = NOT_MEDIA_PAYLOAD;
87173
+ owner = "user";
87174
+ retryable = false;
87175
+ elementFingerprints;
87176
+ constructor(elementFingerprints) {
87177
+ const listed = elementFingerprints.slice(0, MAX_LISTED_FINGERPRINTS).join(",");
87178
+ const elided = elementFingerprints.length - MAX_LISTED_FINGERPRINTS;
87179
+ super(
87180
+ `${elementFingerprints.length} media source(s) are text documents (HTML/XML/JSON), not media containers [elements=${listed}${elided > 0 ? `,+${elided}` : ""}]. Either an unresolved nested-composition preview URL was authored as a media src, or the source answered with an error page or API error body carrying a success status.`
87181
+ );
87182
+ this.name = "NotMediaPayloadError";
87183
+ this.elementFingerprints = elementFingerprints;
87184
+ }
87185
+ };
87186
+ SNIFF_BYTES = 512;
87187
+ DOCUMENT_OPENING_BYTES = /* @__PURE__ */ new Set([60, 123, 91]);
87188
+ SKIPPABLE_LEADING_BYTES = /* @__PURE__ */ new Set([0, 9, 10, 11, 12, 13, 32]);
87189
+ BYTE_ORDER_MARKS = [
87190
+ Buffer.from([239, 187, 191]),
87191
+ // UTF-8
87192
+ Buffer.from([255, 254]),
87193
+ // UTF-16 LE
87194
+ Buffer.from([254, 255])
87195
+ // UTF-16 BE
87196
+ ];
87197
+ }
87198
+ });
87199
+
87049
87200
  // ../engine/src/services/audioVolumeEnvelope.ts
87050
87201
  import { readFileSync as readFileSync6, renameSync as renameSync3, writeFileSync as writeFileSync5 } from "fs";
87051
87202
  import { randomBytes } from "crypto";
@@ -87626,6 +87777,19 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
87626
87777
  });
87627
87778
  return;
87628
87779
  }
87780
+ if (await isNotMediaPayload(srcPath)) {
87781
+ failures.push({
87782
+ stage: "source",
87783
+ reason: "invalid_media",
87784
+ owner: "user",
87785
+ retryable: false,
87786
+ elementId: element.id,
87787
+ detail: boundedDetail(
87788
+ `Audio element ${element.id} source is a text document (HTML/XML/JSON), not media`
87789
+ )
87790
+ });
87791
+ return;
87792
+ }
87629
87793
  if (element.end - element.start <= 0) {
87630
87794
  let metadata;
87631
87795
  try {
@@ -87758,6 +87922,7 @@ var init_audioMixer = __esm({
87758
87922
  "use strict";
87759
87923
  init_esm10();
87760
87924
  init_ffprobe();
87925
+ init_notMediaPayload();
87761
87926
  init_urlDownloader();
87762
87927
  init_config2();
87763
87928
  init_runFfmpeg();
@@ -90066,6 +90231,8 @@ __export(src_exports, {
90066
90231
  MEDIA_VISUAL_STYLE_PROPERTIES: () => MEDIA_VISUAL_STYLE_PROPERTIES,
90067
90232
  MIN_VP9_CPU_USED: () => MIN_VP9_CPU_USED,
90068
90233
  ManagedChildProcess: () => ManagedChildProcess,
90234
+ NOT_MEDIA_PAYLOAD: () => NOT_MEDIA_PAYLOAD,
90235
+ NotMediaPayloadError: () => NotMediaPayloadError,
90069
90236
  SwiftShaderAssertionError: () => SwiftShaderAssertionError,
90070
90237
  TRANSITIONS: () => TRANSITIONS,
90071
90238
  VIDEO_FRAME_FORMATS: () => VIDEO_FRAME_FORMATS,
@@ -90078,6 +90245,7 @@ __export(src_exports, {
90078
90245
  applyDomLayerMask: () => applyDomLayerMask,
90079
90246
  applyFaststart: () => applyFaststart,
90080
90247
  assertConfiguredFfmpegBinariesExist: () => assertConfiguredFfmpegBinariesExist,
90248
+ assertMediaPayload: () => assertMediaPayload,
90081
90249
  assertPublicHttpsUrl: () => assertPublicHttpsUrl,
90082
90250
  assertSwiftShader: () => assertSwiftShader,
90083
90251
  augmentPageNavigationTimeoutError: () => augmentPageNavigationTimeoutError,
@@ -90135,6 +90303,7 @@ __export(src_exports, {
90135
90303
  extractVideoMetadata: () => extractVideoMetadata,
90136
90304
  extractionFrameCountForDuration: () => extractionFrameCountForDuration,
90137
90305
  fetchPublicHttpsText: () => fetchPublicHttpsText,
90306
+ fingerprintElementId: () => fingerprintElementId,
90138
90307
  float16ToPqRgb: () => float16ToPqRgb,
90139
90308
  formatFfmpegError: () => formatFfmpegError,
90140
90309
  getCapturePerfSummary: () => getCapturePerfSummary,
@@ -90162,6 +90331,7 @@ __export(src_exports, {
90162
90331
  isHttpUrl: () => isHttpUrl,
90163
90332
  isLowMemorySystem: () => isLowMemorySystem,
90164
90333
  isMemoryExhaustionError: () => isMemoryExhaustionError,
90334
+ isNotMediaPayload: () => isNotMediaPayload,
90165
90335
  isPageNavigationTimeoutError: () => isPageNavigationTimeoutError,
90166
90336
  isProtocolTimeoutError: () => isProtocolTimeoutError,
90167
90337
  isTransientBrowserError: () => isTransientBrowserError,
@@ -90248,6 +90418,7 @@ var init_src = __esm({
90248
90418
  init_assertSwiftShader();
90249
90419
  init_readWebGlVendorInfoFromCanvas();
90250
90420
  init_ffprobe();
90421
+ init_notMediaPayload();
90251
90422
  init_urlDownloader();
90252
90423
  init_runFfmpeg();
90253
90424
  init_managedChildProcess();
@@ -90744,6 +90915,9 @@ function resolveCanary(name) {
90744
90915
  decisions.set(name, decision);
90745
90916
  return decision;
90746
90917
  }
90918
+ function isCanaryEnabled(name) {
90919
+ return resolveCanary(name).enabled;
90920
+ }
90747
90921
  function canaryDecisionsForStudio() {
90748
90922
  const out = {};
90749
90923
  for (const canary of CANARIES) {
@@ -90907,12 +91081,12 @@ function trackEvent(event, properties = {}, distinctId) {
90907
91081
  // Whether this process's anonymousId can be trusted to survive to the
90908
91082
  // next run: `durable` (loaded from a preexisting config), `unknown`
90909
91083
  // (minted+persisted this run — an ephemeral HOME is indistinguishable
90910
- // from a genuine first run), `process_only` (persist failed). Install-
91084
+ // from a genuine first run), `process_only` (not persisted). Install-
90911
91085
  // grain metrics should count only durable identities; the identity-
90912
91086
  // churn workloads (fresh id per run) are never durable.
90913
91087
  identity_persistence: getIdentityPersistence(),
90914
- // Outcome of the identity-establishing config write; absent when the
90915
- // identity came from disk and nothing needed writing.
91088
+ // Outcome of the identity-establishing config write; absent when that
91089
+ // path did not write (including a durable id loaded from disk).
90916
91090
  config_write_outcome: getIdentityWriteOutcome(),
90917
91091
  // Groups one invocation's events even when the install identity is
90918
91092
  // untrustworthy. Always present, unlike the orchestrator-set run_id.
@@ -90980,6 +91154,7 @@ __export(events_exports, {
90980
91154
  trackCompareSheet: () => trackCompareSheet,
90981
91155
  trackFigmaImport: () => trackFigmaImport,
90982
91156
  trackInitTemplate: () => trackInitTemplate,
91157
+ trackRegistryItemAdded: () => trackRegistryItemAdded,
90983
91158
  trackRenderComplete: () => trackRenderComplete,
90984
91159
  trackRenderError: () => trackRenderError,
90985
91160
  trackRenderFeedback: () => trackRenderFeedback,
@@ -91225,6 +91400,13 @@ function trackRenderObservation(props) {
91225
91400
  function trackInitTemplate(templateId, props) {
91226
91401
  trackEvent("init_template", { template: templateId, tailwind: props?.tailwind });
91227
91402
  }
91403
+ function trackRegistryItemAdded(props) {
91404
+ trackEvent("registry_item_added", {
91405
+ item: props.item,
91406
+ item_type: props.itemType,
91407
+ requested: props.requested
91408
+ });
91409
+ }
91228
91410
  function trackBrowserInstall() {
91229
91411
  trackEvent("browser_install", {});
91230
91412
  }
@@ -95687,7 +95869,7 @@ var init_updateCheck = __esm({
95687
95869
 
95688
95870
  // src/utils/skillsManifest.ts
95689
95871
  import { execFile as execFile3 } from "child_process";
95690
- import { createHash as createHash3 } from "crypto";
95872
+ import { createHash as createHash4 } from "crypto";
95691
95873
  import {
95692
95874
  existsSync as existsSync27,
95693
95875
  readdirSync as readdirSync10,
@@ -95717,7 +95899,7 @@ function listFilesSorted(dir) {
95717
95899
  }
95718
95900
  function hashSkillBundle(skillDir) {
95719
95901
  const files = listFilesSorted(skillDir);
95720
- const h3 = createHash3("sha256");
95902
+ const h3 = createHash4("sha256");
95721
95903
  for (const f3 of files) {
95722
95904
  const rel = relative6(skillDir, f3).split(sep4).join("/");
95723
95905
  h3.update(rel);
@@ -97547,7 +97729,7 @@ var init_studioProxyEnv = __esm({
97547
97729
 
97548
97730
  // src/commands/previewLifecycle.ts
97549
97731
  import { spawn as nodeSpawn } from "child_process";
97550
- import { createHash as createHash4 } from "crypto";
97732
+ import { createHash as createHash5 } from "crypto";
97551
97733
  import {
97552
97734
  closeSync as closeSync3,
97553
97735
  existsSync as existsSync30,
@@ -97570,7 +97752,7 @@ function sessionDirectory(stateHome = defaultStateHome()) {
97570
97752
  return join28(stateHome, "hyperframes", "previews");
97571
97753
  }
97572
97754
  function previewSessionPath(projectDir, stateHome = defaultStateHome()) {
97573
- const key2 = createHash4("sha256").update(normalized(projectDir)).digest("hex").slice(0, 16);
97755
+ const key2 = createHash5("sha256").update(normalized(projectDir)).digest("hex").slice(0, 16);
97574
97756
  return join28(sessionDirectory(stateHome), `${key2}.json`);
97575
97757
  }
97576
97758
  function previewLogPath(projectDir, stateHome = defaultStateHome()) {
@@ -97967,7 +98149,7 @@ var init_fileWatcher = __esm({
97967
98149
  });
97968
98150
 
97969
98151
  // src/server/runtimeSource.ts
97970
- import { createHash as createHash5 } from "crypto";
98152
+ import { createHash as createHash6 } from "crypto";
97971
98153
  import { existsSync as existsSync32, readFileSync as readFileSync20 } from "fs";
97972
98154
  import { resolve as resolve18, dirname as dirname13 } from "path";
97973
98155
  async function loadRuntimeSource() {
@@ -97976,10 +98158,10 @@ async function loadRuntimeSource() {
97976
98158
  async function loadRuntimeSourceSignature() {
97977
98159
  const source = await loadRuntimeSource();
97978
98160
  if (!source) return null;
97979
- return createHash5("sha256").update(source).digest("hex");
98161
+ return createHash6("sha256").update(source).digest("hex");
97980
98162
  }
97981
98163
  function hashSignatureParts(parts) {
97982
- const hash2 = createHash5("sha256");
98164
+ const hash2 = createHash6("sha256");
97983
98165
  for (const part of parts) {
97984
98166
  hash2.update(part ?? "");
97985
98167
  hash2.update("\n--hf-signature-part--\n");
@@ -99297,7 +99479,7 @@ var init_chunk_6H3V3WGJ = __esm({
99297
99479
 
99298
99480
  // ../studio-server/dist/chunk-ZPI6QXJH.js
99299
99481
  import { spawn as spawn8 } from "child_process";
99300
- import { createHash as createHash6, randomUUID as randomUUID7 } from "crypto";
99482
+ import { createHash as createHash7, randomUUID as randomUUID7 } from "crypto";
99301
99483
  import {
99302
99484
  existsSync as existsSync210,
99303
99485
  mkdirSync as mkdirSync15,
@@ -99436,7 +99618,7 @@ function canonicalizeProxySource(projectDir, absoluteSourcePath) {
99436
99618
  }
99437
99619
  function buildProxyCacheKey(source, variant) {
99438
99620
  const stat3 = statSync22(source.sourcePath);
99439
- return createHash6("sha256").update(
99621
+ return createHash7("sha256").update(
99440
99622
  `${source.relativePath}\0${source.cacheIdentity}\0${stat3.mtimeMs}\0${stat3.size}\0${PROXY_PARAMS_VERSION}\0${variant}`
99441
99623
  ).digest("hex");
99442
99624
  }
@@ -106507,7 +106689,7 @@ import { readFile as readFile2 } from "fs/promises";
106507
106689
  import { join as join210 } from "path";
106508
106690
  import { join as join32 } from "path";
106509
106691
  import { readdirSync as readdirSync14 } from "fs";
106510
- import { createHash as createHash7 } from "crypto";
106692
+ import { createHash as createHash8 } from "crypto";
106511
106693
  import { lstatSync as lstatSync4, readFileSync as readFileSync21, readdirSync as readdirSync22 } from "fs";
106512
106694
  import { extname as extname9, isAbsolute as isAbsolute9, relative as relative10, resolve as resolve23 } from "path";
106513
106695
  import { existsSync as existsSync36, readFileSync as readFileSync22 } from "fs";
@@ -106663,7 +106845,7 @@ function collectProjectSignatureManifestFiles(projectDir, files) {
106663
106845
  }
106664
106846
  }
106665
106847
  function createProjectFingerprint(projectDir, files) {
106666
- const hash2 = createHash7("sha256");
106848
+ const hash2 = createHash8("sha256");
106667
106849
  for (const entry of files) {
106668
106850
  hash2.update(relative10(projectDir, entry.file));
106669
106851
  hash2.update("\0");
@@ -106693,7 +106875,7 @@ function createProjectSignature(projectDir) {
106693
106875
  const fingerprint = createProjectFingerprint(normalizedProjectDir, files);
106694
106876
  const cached2 = projectSignatureCache.get(normalizedProjectDir);
106695
106877
  if (cached2?.fingerprint === fingerprint) return cached2.signature;
106696
- const hash2 = createHash7("sha256");
106878
+ const hash2 = createHash8("sha256");
106697
106879
  for (const entry of files) {
106698
106880
  const relativePath = relative10(normalizedProjectDir, entry.file);
106699
106881
  hash2.update(relativePath);
@@ -112202,7 +112384,7 @@ var init_captureCompositionFrame = __esm({
112202
112384
  });
112203
112385
 
112204
112386
  // ../producer/src/services/hyperframeRuntimeLoader.ts
112205
- import { createHash as createHash8 } from "crypto";
112387
+ import { createHash as createHash9 } from "crypto";
112206
112388
  import { existsSync as existsSync39, readFileSync as readFileSync25 } from "fs";
112207
112389
  import { dirname as dirname16, resolve as resolve26 } from "path";
112208
112390
  import { fileURLToPath as fileURLToPath2 } from "url";
@@ -112245,7 +112427,7 @@ function resolveVerifiedHyperframeRuntime() {
112245
112427
  throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
112246
112428
  }
112247
112429
  const runtimeSource = readFileSync25(runtimePath, "utf8");
112248
- const runtimeSha = createHash8("sha256").update(runtimeSource, "utf8").digest("hex");
112430
+ const runtimeSha = createHash9("sha256").update(runtimeSource, "utf8").digest("hex");
112249
112431
  if (runtimeSha !== manifest.sha256) {
112250
112432
  throw new Error(
112251
112433
  `[HyperframeRuntimeLoader] Runtime checksum mismatch. expected=${manifest.sha256} actual=${runtimeSha}`
@@ -114273,12 +114455,12 @@ var init_captureCost = __esm({
114273
114455
  });
114274
114456
 
114275
114457
  // ../producer/src/services/render/observability.ts
114276
- import { createHash as createHash9 } from "crypto";
114458
+ import { createHash as createHash10 } from "crypto";
114277
114459
  function sanitizeObservationMessage(value) {
114278
114460
  return redactTelemetryString(value);
114279
114461
  }
114280
114462
  function computeCompositionObservabilityHash(compiledHtml) {
114281
- return createHash9("sha256").update(compiledHtml, "utf8").digest("hex").slice(0, 16);
114463
+ return createHash10("sha256").update(compiledHtml, "utf8").digest("hex").slice(0, 16);
114282
114464
  }
114283
114465
  function sanitizeObservationData(data2) {
114284
114466
  if (!data2) return void 0;
@@ -117880,7 +118062,7 @@ __export(fontCompression_exports, {
117880
118062
  compressToWoff2: () => compressToWoff2,
117881
118063
  fontToDataUri: () => fontToDataUri
117882
118064
  });
117883
- import { createHash as createHash10 } from "crypto";
118065
+ import { createHash as createHash11 } from "crypto";
117884
118066
  import { existsSync as existsSync44, mkdirSync as mkdirSync19, readFileSync as readFileSync26, renameSync as renameSync9, rmSync as rmSync13, writeFileSync as writeFileSync15 } from "fs";
117885
118067
  import { homedir as homedir12, tmpdir as tmpdir5 } from "os";
117886
118068
  import { dirname as dirname19, join as join41 } from "path";
@@ -117895,7 +118077,7 @@ function defaultCacheDir() {
117895
118077
  return join41(root, "local-compression-v1");
117896
118078
  }
117897
118079
  function cachedCompressionPath(input2, originalFormat, cacheDir) {
117898
- const digest = createHash10("sha256").update("hyperframes-local-font-compression-v1\0").update(originalFormat).update("\0").update(input2).digest("hex");
118080
+ const digest = createHash11("sha256").update("hyperframes-local-font-compression-v1\0").update(originalFormat).update("\0").update(input2).digest("hex");
117899
118081
  return join41(cacheDir, `${digest}.woff2`);
117900
118082
  }
117901
118083
  function readCachedCompression(path2) {
@@ -117977,13 +118159,44 @@ __export(deterministicFonts_exports, {
117977
118159
  parseFontFamilyValue: () => parseFontFamilyValue,
117978
118160
  resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
117979
118161
  });
117980
- import { createHash as createHash11 } from "crypto";
118162
+ import { createHash as createHash12 } from "crypto";
117981
118163
  import { existsSync as existsSync45, mkdirSync as mkdirSync20, mkdtempSync as mkdtempSync5, readFileSync as readFileSync27, writeFileSync as writeFileSync16 } from "fs";
117982
118164
  import { homedir as homedir13, tmpdir as tmpdir6 } from "os";
117983
118165
  import { join as join43 } from "path";
117984
118166
  import postcss4 from "postcss";
117985
118167
  function parseFontFamilyValue(value) {
117986
- return value.split(",").map((piece) => piece.trim().replace(/^['"]/, "").replace(/['"]$/, "").trim()).filter((piece) => piece.length > 0);
118168
+ const pieces = [];
118169
+ let start = 0;
118170
+ let depth = 0;
118171
+ let quote = null;
118172
+ for (let index = 0; index < value.length; index += 1) {
118173
+ const char = value[index];
118174
+ if (char === "\\") {
118175
+ index += 1;
118176
+ continue;
118177
+ }
118178
+ if (quote) {
118179
+ if (char === quote) quote = null;
118180
+ continue;
118181
+ }
118182
+ if (char === "'" || char === '"') {
118183
+ quote = char;
118184
+ continue;
118185
+ }
118186
+ if (char === "(") {
118187
+ depth += 1;
118188
+ continue;
118189
+ }
118190
+ if (char === ")") {
118191
+ depth = Math.max(0, depth - 1);
118192
+ continue;
118193
+ }
118194
+ if (char !== "," || depth !== 0) continue;
118195
+ pieces.push(value.slice(start, index));
118196
+ start = index + 1;
118197
+ }
118198
+ pieces.push(value.slice(start));
118199
+ return pieces.map((piece) => piece.trim().replace(/^['"]/, "").replace(/['"]$/, "").trim()).filter((piece) => piece.length > 0);
117987
118200
  }
117988
118201
  function systemPrimaryReplacement(value, deterministicPrimary) {
117989
118202
  const families = parseFontFamilyValue(value);
@@ -118320,7 +118533,7 @@ function fontCacheDir(slug) {
118320
118533
  return dir;
118321
118534
  }
118322
118535
  function subsetToken(woff2Url) {
118323
- return createHash11("sha1").update(woff2Url).digest("hex").slice(0, 12);
118536
+ return createHash12("sha1").update(woff2Url).digest("hex").slice(0, 12);
118324
118537
  }
118325
118538
  function cachedWoff2Path(slug, weight, style, subset) {
118326
118539
  return join43(fontCacheDir(slug), `${weight}-${style}-${subset}.woff2`);
@@ -118731,7 +118944,7 @@ __export(animatedGifPrep_exports, {
118731
118944
  buildAnimatedGifTranscodeArgs: () => buildAnimatedGifTranscodeArgs,
118732
118945
  prepareAnimatedGifInputs: () => prepareAnimatedGifInputs
118733
118946
  });
118734
- import { createHash as createHash12 } from "crypto";
118947
+ import { createHash as createHash13 } from "crypto";
118735
118948
  import {
118736
118949
  copyFileSync as copyFileSync4,
118737
118950
  existsSync as existsSync46,
@@ -118792,7 +119005,7 @@ function isUsableFile(path2) {
118792
119005
  }
118793
119006
  }
118794
119007
  function computePreparedGifHash(bytes, loopIterations, padSeconds) {
118795
- return createHash12("sha256").update(CACHE_SCHEMA).update("\0").update(String(loopIterations)).update("\0").update(String(padSeconds)).update("\0").update(bytes).digest("hex");
119008
+ return createHash13("sha256").update(CACHE_SCHEMA).update("\0").update(String(loopIterations)).update("\0").update(String(padSeconds)).update("\0").update(bytes).digest("hex");
118796
119009
  }
118797
119010
  function resolveLoop(metadata, override) {
118798
119011
  if (override != null) return override;
@@ -119121,11 +119334,7 @@ var init_mediaProbeConcurrency = __esm({
119121
119334
  });
119122
119335
 
119123
119336
  // ../producer/src/services/assetMediaType.ts
119124
- import { createHash as createHash13 } from "crypto";
119125
119337
  import { existsSync as existsSync47 } from "fs";
119126
- function fingerprintElementId(elementId) {
119127
- return createHash13("sha256").update(elementId).digest("hex").slice(0, 16);
119128
- }
119129
119338
  function detectedAssetMediaType(profile) {
119130
119339
  if (profile.visualKind === "moving") return "video";
119131
119340
  if (profile.visualKind === "still") return "image";
@@ -119180,10 +119389,18 @@ async function preflightCompositionAssetMediaTypes(input2) {
119180
119389
  byPath.set(resolvedPath, [...byPath.get(resolvedPath) ?? [], reference]);
119181
119390
  }
119182
119391
  const mismatches = [];
119392
+ const notMediaFingerprints = [];
119183
119393
  const entries2 = [...byPath];
119184
119394
  await Promise.all(
119185
119395
  entries2.map(
119186
119396
  ([resolvedPath, pathReferences]) => withMediaProbeSlot(async () => {
119397
+ const sniffableReferences = pathReferences.filter((ref2) => ref2.expected === "video");
119398
+ if (sniffableReferences.length > 0 && await isNotMediaPayload(resolvedPath)) {
119399
+ notMediaFingerprints.push(
119400
+ ...sniffableReferences.map((ref2) => fingerprintElementId(ref2.id))
119401
+ );
119402
+ return;
119403
+ }
119187
119404
  let profile;
119188
119405
  try {
119189
119406
  profile = await probeMediaProfile(resolvedPath, { signal: input2.signal });
@@ -119202,6 +119419,7 @@ async function preflightCompositionAssetMediaTypes(input2) {
119202
119419
  })
119203
119420
  )
119204
119421
  );
119422
+ if (notMediaFingerprints.length > 0) throw new NotMediaPayloadError(notMediaFingerprints);
119205
119423
  if (mismatches.length > 0) throw new AssetMediaTypeMismatchError(mismatches);
119206
119424
  }
119207
119425
  var ASSET_MEDIA_TYPE_MISMATCH, AssetMediaTypeMismatchError;
@@ -119388,7 +119606,7 @@ function detectShaderTransitionUsage(html) {
119388
119606
  }
119389
119607
  return false;
119390
119608
  }
119391
- async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagName19, elementIdentity) {
119609
+ async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagName19, elementIdentity, log2) {
119392
119610
  let filePath = src;
119393
119611
  if (isHttpUrl(src)) {
119394
119612
  if (!existsSync48(downloadDir)) mkdirSync23(downloadDir, { recursive: true });
@@ -119408,9 +119626,17 @@ async function resolveMediaDuration(src, mediaStart, baseDir, downloadDir, tagNa
119408
119626
  return withMediaProbeSlot(async () => {
119409
119627
  let profile;
119410
119628
  try {
119629
+ await assertMediaPayload(filePath, elementIdentity);
119411
119630
  profile = await probeMediaProfile(filePath);
119412
119631
  } catch (error) {
119413
- if (tagName19 !== "video") return { duration: 0, resolvedPath: filePath };
119632
+ if (tagName19 !== "video") {
119633
+ if (error instanceof NotMediaPayloadError) {
119634
+ log2?.warn(
119635
+ `[compile] Audio "${elementIdentity}" (${src}) is a text document, not a media file \u2014 the element is dropped from the render. Point it at a rendered media file.`
119636
+ );
119637
+ }
119638
+ return { duration: 0, resolvedPath: filePath };
119639
+ }
119414
119640
  throw error;
119415
119641
  }
119416
119642
  assertAssetMediaTypeProfile(tagName19 === "video" ? "video" : "audio", profile, elementIdentity);
@@ -119438,9 +119664,15 @@ async function compileHtmlFile(html, baseDir, downloadDir, log2) {
119438
119664
  const unresolvedCompositions = unresolved.filter((el) => el.tagName === "div");
119439
119665
  const resolvedResults = await Promise.all(
119440
119666
  mediaUnresolved.map(
119441
- (el) => resolveMediaDuration(el.src, el.mediaStart, baseDir, downloadDir, el.tagName, el.id).then(
119442
- ({ duration }) => ({ id: el.id, duration })
119443
- )
119667
+ (el) => resolveMediaDuration(
119668
+ el.src,
119669
+ el.mediaStart,
119670
+ baseDir,
119671
+ downloadDir,
119672
+ el.tagName,
119673
+ el.id,
119674
+ log2
119675
+ ).then(({ duration }) => ({ id: el.id, duration }))
119444
119676
  )
119445
119677
  );
119446
119678
  const resolutions = resolvedResults.filter((r2) => r2.duration > 0);
@@ -119454,7 +119686,8 @@ async function compileHtmlFile(html, baseDir, downloadDir, log2) {
119454
119686
  baseDir,
119455
119687
  downloadDir,
119456
119688
  el.tagName,
119457
- el.id
119689
+ el.id,
119690
+ log2
119458
119691
  );
119459
119692
  return { id: el.id, tagName: el.tagName, duration: el.duration, maxDuration, src: el.src };
119460
119693
  })
@@ -125601,6 +125834,11 @@ function resolveInversionRetryPlan(args) {
125601
125834
  deWorkerInversion: "reverted"
125602
125835
  };
125603
125836
  }
125837
+ function isDeParallelRouterEnabled(env) {
125838
+ const raw = env.HF_DE_PARALLEL_ROUTER?.trim().toLowerCase();
125839
+ if (raw === void 0 || raw === "") return true;
125840
+ return !(raw === "false" || raw === "0" || raw === "off" || raw === "no");
125841
+ }
125604
125842
  function shouldPreferParallelDrawElement(args) {
125605
125843
  return args.routerEnabled && args.parallelStreamingAvailable && args.workerCount > 1 && typeof args.requestedWorkers !== "number" && args.useDrawElement && !args.deCompileGate && !args.forceScreenshot && args.outputFormat === "mp4" && args.minFrames > 0 && args.totalFrames >= args.minFrames && !args.layeredOrEffectRoute && !args.supersampling && !args.probeDeGated && !args.experimentalParallelDeOptIn && // RAM floor: routed parallel DE runs 3 concurrent hardware-GPU Chrome
125606
125844
  // instances. On a 16 GB machine that produced vertical black slabs in the
@@ -126209,7 +126447,7 @@ async function executeRenderPipeline(input2) {
126209
126447
  });
126210
126448
  const deInversionEligible = deShortBandRoute && deShortBand === "applied" ? invertAtBandFloor : invertAtBaseFloor;
126211
126449
  const deInversionEffectiveMinFrames = deShortBandRoute && deShortBand === "applied" ? Math.min(deSingleMinFrames, deShortBandMinFrames) : deSingleMinFrames;
126212
- const deParallelRouterEnabled = process.env.HF_DE_PARALLEL_ROUTER === "true";
126450
+ const deParallelRouterEnabled = isDeParallelRouterEnabled(process.env);
126213
126451
  const deParallelMinFramesRaw = process.env.HF_DE_PARALLEL_MIN_FRAMES;
126214
126452
  const deParallelMinFramesNum = deParallelMinFramesRaw === void 0 || deParallelMinFramesRaw.trim() === "" ? 700 : Number(deParallelMinFramesRaw);
126215
126453
  const deParallelMinFrames = Number.isFinite(deParallelMinFramesNum) ? deParallelMinFramesNum : 700;
@@ -128516,6 +128754,7 @@ var init_server = __esm({
128516
128754
  DEFAULT_SERVER_FPS = { num: 30, den: 1 };
128517
128755
  SAFE_RENDER_ERROR_CODES = /* @__PURE__ */ new Set([
128518
128756
  "ASSET_MEDIA_TYPE_MISMATCH",
128757
+ "NOT_MEDIA_PAYLOAD",
128519
128758
  "INVALID_VIDEO_METADATA",
128520
128759
  "VIDEO_SOURCE_UNRENDERABLE",
128521
128760
  "VIDEO_EXTRACTION_FAILED"
@@ -134858,6 +135097,13 @@ async function runAdd(opts) {
134858
135097
  }))
134859
135098
  }));
134860
135099
  const written = await installAll(installPlan, projectDir, config.registry);
135100
+ for (const planItem of installPlan) {
135101
+ trackRegistryItemAdded({
135102
+ item: planItem.name,
135103
+ itemType: planItem.type,
135104
+ requested: planItem.name === item.name
135105
+ });
135106
+ }
134861
135107
  const itemForInstall = installPlan[installPlan.length - 1];
134862
135108
  const primaryFile = itemForInstall.files.find((f3) => f3.type === "hyperframes:snippet") ?? itemForInstall.files.find((f3) => f3.type === "hyperframes:composition") ?? itemForInstall.files[0];
134863
135109
  const snippetTargetRel = primaryFile?.target ?? "";
@@ -134888,6 +135134,7 @@ var init_add = __esm({
134888
135134
  init_compatibility();
134889
135135
  init_projectConfig();
134890
135136
  init_clipboard();
135137
+ init_events();
134891
135138
  examples4 = [
134892
135139
  ["Add a block to the current project", "hyperframes add claude-code-window"],
134893
135140
  ["Add a component effect", "hyperframes add shader-wipe"],
@@ -134934,6 +135181,11 @@ var init_add = __esm({
134934
135181
  description: "Print a machine-readable summary (written files + snippet) to stdout"
134935
135182
  }
134936
135183
  },
135184
+ // `run` is 28 cyclomatic and predates this change, which touches only
135185
+ // `runAdd`. Fallow scores it as new because the file changed. Splitting the
135186
+ // tag-fallback branch out would fix it honestly and is worth doing, but not
135187
+ // inside a telemetry change.
135188
+ // fallow-ignore-next-line complexity
134937
135189
  async run({ args }) {
134938
135190
  const projectDir = resolve41(args.dir ?? process.cwd());
134939
135191
  const json = args.json === true;
@@ -138947,7 +139199,7 @@ async function executeRenderPlan(plan2, dependencies) {
138947
139199
  protocolTimeout: plan2.protocolTimeout,
138948
139200
  playerReadyTimeout: plan2.playerReadyTimeout,
138949
139201
  exitAfterComplete: true,
138950
- enableDeParallelRouterTrial: true
139202
+ manageDeParallelRouterBreaker: true
138951
139203
  };
138952
139204
  if (plan2.useDocker) {
138953
139205
  options.pageSideCompositing = plan2.pageSideCompositing;
@@ -139065,7 +139317,7 @@ async function executeBatchRender(plan2, browserPath, batchModule, preparedBatch
139065
139317
  exitAfterComplete: false,
139066
139318
  throwOnError: true,
139067
139319
  skipFeedback: true,
139068
- enableDeParallelRouterTrial: plan2.batchConcurrency <= 1
139320
+ manageDeParallelRouterBreaker: plan2.batchConcurrency <= 1
139069
139321
  };
139070
139322
  const manifest = await batchModule.runBatchRender({
139071
139323
  prepared: preparedBatch,
@@ -139957,9 +140209,10 @@ async function renderLocal(projectDir, outputPath, options) {
139957
140209
  }
139958
140210
  }
139959
140211
  const producer = await loadProducer();
139960
- const deParallelRouterTrialArmed = maybeEnableDeParallelRouterTrial(
139961
- options.quiet,
139962
- options.enableDeParallelRouterTrial === true
140212
+ const deParallelRouterActive = options.manageDeParallelRouterBreaker === true ? applyDeParallelRouterCircuitBreaker(options.quiet) : (
140213
+ // Not managing the breaker: the router still runs (producer default),
140214
+ // we just don't enforce or record the per-install trip.
140215
+ false
139963
140216
  );
139964
140217
  const startTime = Date.now();
139965
140218
  const logger = createRenderTelemetryLogger(
@@ -140002,7 +140255,7 @@ async function renderLocal(projectDir, outputPath, options) {
140002
140255
  try {
140003
140256
  await producer.executeRenderJob(job, projectDir, outputPath, onProgress);
140004
140257
  } catch (error) {
140005
- maybeConsumeDeParallelRouterTrial(deParallelRouterTrialArmed, job, options.quiet);
140258
+ maybeConsumeDeParallelRouterTrial(deParallelRouterActive, job, options.quiet);
140006
140259
  handleRenderError(
140007
140260
  error,
140008
140261
  options,
@@ -140014,7 +140267,7 @@ async function renderLocal(projectDir, outputPath, options) {
140014
140267
  );
140015
140268
  }
140016
140269
  markRenderSucceeded();
140017
- maybeConsumeDeParallelRouterTrial(deParallelRouterTrialArmed, job, options.quiet);
140270
+ maybeConsumeDeParallelRouterTrial(deParallelRouterActive, job, options.quiet);
140018
140271
  const elapsed = Date.now() - startTime;
140019
140272
  if (job.outcome === "completed_with_warnings") {
140020
140273
  for (const warning of job.warnings) {
@@ -140157,46 +140410,49 @@ function createNoopProducerLogger() {
140157
140410
  };
140158
140411
  }
140159
140412
  function __resetDeParallelRouterTrialStateForTests() {
140160
- deParallelRouterTrialManagedByUs = false;
140161
- deParallelRouterTrialFiredThisProcess = false;
140162
- }
140163
- function isDeParallelRouterTrialBlocked(config) {
140164
- const overRenderCap = (config.deParallelRouterTrialRenderCount ?? 0) >= DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS;
140165
- return deParallelRouterTrialFiredThisProcess || Boolean(config.deParallelRouterTrialFired) || overRenderCap || !config.telemetryEnabled || !shouldTrack() || // cli.ts shows the first-run telemetry disclosure via a fire-and-forget,
140166
- // unawaited dynamic import — there's no guarantee it has printed before
140167
- // this render command reaches this point. Requiring telemetryNoticeShown
140168
- // means the trial simply never offers itself on a fresh install's very
140169
- // first invocation (before the disclosure is guaranteed to have run at
140170
- // least once), rather than racing an experimental opt-in message against
140171
- // the disclosure it depends on (review finding).
140172
- !config.telemetryNoticeShown;
140173
- }
140174
- function stopManagingDeParallelRouterTrial() {
140175
- if (!deParallelRouterTrialManagedByUs) return;
140176
- delete process.env.HF_DE_PARALLEL_ROUTER;
140177
- deParallelRouterTrialManagedByUs = false;
140178
- }
140179
- function maybeEnableDeParallelRouterTrial(quiet, enabled) {
140180
- if (!enabled) return false;
140181
- if (deParallelRouterTrialFiredThisProcess) {
140182
- stopManagingDeParallelRouterTrial();
140413
+ deParallelRouterBreakerTrippedThisProcess = false;
140414
+ deParallelRouterUserManaged = false;
140415
+ deParallelRouterUserManagedResolved = false;
140416
+ }
140417
+ function hasDeParallelRouterBreakerTripped(config) {
140418
+ return deParallelRouterBreakerTrippedThisProcess || Boolean(config.deParallelRouterTrialFired);
140419
+ }
140420
+ function userValueEnablesDeParallelRouter() {
140421
+ const raw = process.env.HF_DE_PARALLEL_ROUTER?.trim().toLowerCase();
140422
+ if (raw === void 0 || raw === "") return true;
140423
+ return !(raw === "false" || raw === "0" || raw === "off" || raw === "no");
140424
+ }
140425
+ function applyDeParallelRouterBreaker() {
140426
+ if (deParallelRouterUserManaged) return;
140427
+ process.env.HF_DE_PARALLEL_ROUTER = "false";
140428
+ }
140429
+ function applyDeParallelRouterCircuitBreaker(quiet) {
140430
+ if (!deParallelRouterUserManagedResolved) {
140431
+ deParallelRouterUserManaged = (process.env.HF_DE_PARALLEL_ROUTER ?? "").trim() !== "";
140432
+ deParallelRouterUserManagedResolved = true;
140433
+ }
140434
+ if (deParallelRouterUserManaged) {
140435
+ return userValueEnablesDeParallelRouter();
140436
+ }
140437
+ if (deParallelRouterBreakerTrippedThisProcess) {
140438
+ applyDeParallelRouterBreaker();
140183
140439
  return false;
140184
140440
  }
140185
- const userSetIt = process.env.HF_DE_PARALLEL_ROUTER !== void 0 && !deParallelRouterTrialManagedByUs;
140186
- if (userSetIt) return false;
140187
- if (isDeParallelRouterTrialBlocked(readConfigFresh())) {
140188
- stopManagingDeParallelRouterTrial();
140441
+ if (hasDeParallelRouterBreakerTripped(readConfigFresh())) {
140442
+ deParallelRouterBreakerTrippedThisProcess = true;
140443
+ applyDeParallelRouterBreaker();
140444
+ if (!quiet) {
140445
+ console.log(
140446
+ c.dim(
140447
+ " Parallel drawElement capture stays off for this install (a previous render had to fall back). Re-enable with HF_DE_PARALLEL_ROUTER=true."
140448
+ )
140449
+ );
140450
+ }
140189
140451
  return false;
140190
140452
  }
140191
- if (deParallelRouterTrialManagedByUs) return true;
140192
- deParallelRouterTrialManagedByUs = true;
140193
- process.env.HF_DE_PARALLEL_ROUTER = "true";
140194
- if (!quiet) {
140195
- console.log(
140196
- c.dim(
140197
- " Trying the experimental parallel drawElement capture path for this install (disabled automatically if it ever needs to fall back; opt out anytime: HF_DE_PARALLEL_ROUTER=false)"
140198
- )
140199
- );
140453
+ if (!isCanaryEnabled("de-parallel-router")) {
140454
+ applyDeParallelRouterBreaker();
140455
+ return false;
140200
140456
  }
140201
140457
  return true;
140202
140458
  }
@@ -140218,27 +140474,36 @@ function persistDeParallelRouterTrialFired() {
140218
140474
  }
140219
140475
  return false;
140220
140476
  }
140221
- function maybeConsumeDeParallelRouterTrial(trialArmed, job, quiet) {
140222
- if (!trialArmed) return;
140477
+ function maybeConsumeDeParallelRouterTrial(routerActive, job, quiet) {
140478
+ if (!routerActive) return;
140223
140479
  const outcome = resolveDeParallelRouterOutcome(job);
140224
140480
  if (outcome === void 0) return;
140225
140481
  const config = readConfigFresh();
140226
140482
  const renderCount = (config.deParallelRouterTrialRenderCount ?? 0) + 1;
140227
140483
  config.deParallelRouterTrialRenderCount = renderCount;
140228
- const fired = outcome === "reverted" || renderCount >= DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS;
140484
+ const fired = outcome === "reverted";
140229
140485
  if (fired) {
140230
140486
  config.deParallelRouterTrialFired = true;
140231
- deParallelRouterTrialFiredThisProcess = true;
140232
- stopManagingDeParallelRouterTrial();
140487
+ deParallelRouterBreakerTrippedThisProcess = true;
140488
+ applyDeParallelRouterBreaker();
140233
140489
  }
140234
140490
  writeConfig(config);
140235
- if (fired && !persistDeParallelRouterTrialFired() && !quiet) {
140236
- console.warn(
140237
- c.warn(
140238
- " Could not persist the parallel drawElement trial's off-switch to ~/.hyperframes/config.json (unwritable?). The experiment stays off for this process; future runs may retry it. Set HF_DE_PARALLEL_ROUTER=false to opt out."
140239
- )
140240
- );
140241
- }
140491
+ if (fired && !deParallelRouterUserManaged) reportDeParallelRouterBreakerTrip(quiet);
140492
+ }
140493
+ function reportDeParallelRouterBreakerTrip(quiet) {
140494
+ const persisted = persistDeParallelRouterTrialFired();
140495
+ if (quiet) return;
140496
+ console.log(
140497
+ c.dim(
140498
+ " A frame failed verification, so parallel drawElement capture fell back to the screenshot path and is now off for this install. Re-enable: HF_DE_PARALLEL_ROUTER=true"
140499
+ )
140500
+ );
140501
+ if (persisted) return;
140502
+ console.warn(
140503
+ c.warn(
140504
+ " Could not persist the parallel drawElement circuit breaker to ~/.hyperframes/config.json (unwritable?). It stays off for this process; future runs may retry it. Set HF_DE_PARALLEL_ROUTER=false to opt out for good."
140505
+ )
140506
+ );
140242
140507
  }
140243
140508
  function handleRenderError(error, options, startTime, docker, hint2, failedStage, job) {
140244
140509
  const message = normalizeErrorMessage(error);
@@ -140393,11 +140658,12 @@ function printRenderComplete(outputPath, elapsedMs, quiet, outputDurationSeconds
140393
140658
  console.log(c.success("\u25C7") + " " + c.accent(outputPath));
140394
140659
  console.log(" " + c.bold(fileSize) + c.dim(" \xB7 " + detail));
140395
140660
  }
140396
- var examples9, render_default, DOCKER_IMAGE_PREFIX, DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS, deParallelRouterTrialManagedByUs, deParallelRouterTrialFiredThisProcess;
140661
+ var examples9, render_default, DOCKER_IMAGE_PREFIX, deParallelRouterUserManaged, deParallelRouterUserManagedResolved, deParallelRouterBreakerTrippedThisProcess;
140397
140662
  var init_render = __esm({
140398
140663
  "src/commands/render.ts"() {
140399
140664
  "use strict";
140400
140665
  init_commandResult();
140666
+ init_canary2();
140401
140667
  init_dist();
140402
140668
  init_plan2();
140403
140669
  init_projectConfig();
@@ -140411,7 +140677,6 @@ var init_render = __esm({
140411
140677
  init_events();
140412
140678
  init_feedback();
140413
140679
  init_config();
140414
- init_client();
140415
140680
  init_renderObservability();
140416
140681
  init_system();
140417
140682
  init_version();
@@ -140666,9 +140931,9 @@ var init_render = __esm({
140666
140931
  }
140667
140932
  });
140668
140933
  DOCKER_IMAGE_PREFIX = "hyperframes-renderer";
140669
- DE_PARALLEL_ROUTER_TRIAL_MAX_RENDERS = 25;
140670
- deParallelRouterTrialManagedByUs = false;
140671
- deParallelRouterTrialFiredThisProcess = false;
140934
+ deParallelRouterUserManaged = false;
140935
+ deParallelRouterUserManagedResolved = false;
140936
+ deParallelRouterBreakerTrippedThisProcess = false;
140672
140937
  }
140673
140938
  });
140674
140939