hyperframes 0.7.31 → 0.7.32
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 +285 -192
- package/dist/hyperframe-runtime.js +10 -0
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +10 -0
- package/dist/studio/assets/{index-ClVRei_K.js → index-BRQ9g6Oo.js} +1 -1
- package/dist/studio/assets/{index-DeqMZHQ4.js → index-DsT9OH2w.js} +3 -3
- package/dist/studio/assets/{index-DM6n1UAe.js → index-XQiceQhf.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
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.
|
|
53
|
+
VERSION = true ? "0.7.32" : "0.0.0-dev";
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -55967,7 +55967,7 @@ var RUNTIME_IIFE;
|
|
|
55967
55967
|
var init_runtime_inline = __esm({
|
|
55968
55968
|
"../core/dist/generated/runtime-inline.js"() {
|
|
55969
55969
|
"use strict";
|
|
55970
|
-
RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}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(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=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:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{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(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)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 i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.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&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="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 r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({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 bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!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(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,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(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){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(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}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(e){if(this.spaces+=e[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(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}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}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={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},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{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(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,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(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(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 e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(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 e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=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 e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){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 ${e}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 t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.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(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["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 ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){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:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\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 = ${A};\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 return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\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 return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\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${t.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})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["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 dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){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=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={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},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["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`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","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 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_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","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));","}","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 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * 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;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," 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);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," 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`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="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 i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"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 Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*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(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}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:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.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 Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(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(e){let n=e.currentSrc||e.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 i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),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"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={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:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,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:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=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??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&<(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["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"],Ji=[[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 yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=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"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{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 Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
|
|
55970
|
+
RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}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(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=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:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{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(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)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 i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.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&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="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 r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({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 bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!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(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,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(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){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(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}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(e){if(this.spaces+=e[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(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}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}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={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},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{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(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,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(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(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 e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(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 e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=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 e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){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 ${e}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 t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.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(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["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 ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){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:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\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 = ${A};\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 return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\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 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${t.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})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["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 dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){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=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={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},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["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`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","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 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_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","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));","}","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 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * 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;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," 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);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," 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`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="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 i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"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 Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*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(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}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:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.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 Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(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(e){let n=e.currentSrc||e.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 i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),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"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={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:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,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:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=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??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&<(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["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"],Ji=[[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 yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=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"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{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 Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
|
|
55971
55971
|
}
|
|
55972
55972
|
});
|
|
55973
55973
|
|
|
@@ -64409,6 +64409,16 @@ function wrapScopedCompositionScript(source, compositionId, errorLabel = "[Hyper
|
|
|
64409
64409
|
? new Proxy(window, {
|
|
64410
64410
|
get: function(target, prop, receiver) {
|
|
64411
64411
|
if (prop === "__timelines") return __hfGetTimelineRegistry();
|
|
64412
|
+
// Inside a sub-composition, __hyperframes is passed as a bare script
|
|
64413
|
+
// param bound to the SCOPED variant (per-comp getVariables). But
|
|
64414
|
+
// authors routinely write the documented window.__hyperframes.
|
|
64415
|
+
// getVariables() form, which would otherwise fall through to the host
|
|
64416
|
+
// page's base __hyperframes and return the WRONG (or empty) variables
|
|
64417
|
+
// for this instance. Route it to the scoped variant too so both
|
|
64418
|
+
// spellings resolve to this composition's own variables.
|
|
64419
|
+
// (__hfScopedHyperframes is a hoisted var assigned below, before any
|
|
64420
|
+
// sub-comp script -- the only code that reads this -- runs.)
|
|
64421
|
+
if (prop === "__hyperframes") return __hfScopedHyperframes;
|
|
64412
64422
|
return Reflect.get(target, prop, target);
|
|
64413
64423
|
},
|
|
64414
64424
|
set: function(target, prop, value, receiver) {
|
|
@@ -72908,7 +72918,7 @@ var init_audioVolumeEnvelope = __esm({
|
|
|
72908
72918
|
});
|
|
72909
72919
|
|
|
72910
72920
|
// ../engine/src/services/audioMixer.ts
|
|
72911
|
-
import { existsSync as existsSync13, mkdirSync as mkdirSync8, rmSync as rmSync3 } from "fs";
|
|
72921
|
+
import { closeSync, existsSync as existsSync13, mkdirSync as mkdirSync8, mkdtempSync, openSync, rmSync as rmSync3, writeFileSync as writeFileSync6 } from "fs";
|
|
72912
72922
|
import { isAbsolute as isAbsolute5, join as join13, dirname as dirname8 } from "path";
|
|
72913
72923
|
function clampVolume(volume) {
|
|
72914
72924
|
if (!Number.isFinite(volume)) return 1;
|
|
@@ -73152,11 +73162,9 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73152
73162
|
}
|
|
73153
73163
|
const outputDir = dirname8(outputPath);
|
|
73154
73164
|
if (!existsSync13(outputDir)) mkdirSync8(outputDir, { recursive: true });
|
|
73155
|
-
const
|
|
73156
|
-
const inputs = [];
|
|
73165
|
+
const buildFilterComplex = (ignoreAutomation) => {
|
|
73157
73166
|
const filterParts = [];
|
|
73158
73167
|
tracks.forEach((track, i2) => {
|
|
73159
|
-
inputs.push("-i", track.srcPath);
|
|
73160
73168
|
const delayMs = Math.round(track.start * 1e3);
|
|
73161
73169
|
const trimDuration = track.end - track.start;
|
|
73162
73170
|
const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
|
|
@@ -73168,11 +73176,23 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73168
73176
|
const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0[mixed]`;
|
|
73169
73177
|
const compensatedGain = masterOutputGain * tracks.length;
|
|
73170
73178
|
const postMixGainFilter = `[mixed]volume=${formatFilterNumber(compensatedGain)}[out]`;
|
|
73171
|
-
|
|
73172
|
-
|
|
73179
|
+
return [...filterParts, mixFilter, postMixGainFilter].join(";");
|
|
73180
|
+
};
|
|
73181
|
+
const runMix = (ignoreAutomation) => {
|
|
73182
|
+
const inputs = [];
|
|
73183
|
+
tracks.forEach((track) => inputs.push("-i", track.srcPath));
|
|
73184
|
+
const scriptDir = mkdtempSync(join13(outputDir, ".filter-complex-"));
|
|
73185
|
+
const scriptPath = join13(scriptDir, "graph.txt");
|
|
73186
|
+
const fd = openSync(scriptPath, "wx", 384);
|
|
73187
|
+
try {
|
|
73188
|
+
writeFileSync6(fd, buildFilterComplex(ignoreAutomation));
|
|
73189
|
+
} finally {
|
|
73190
|
+
closeSync(fd);
|
|
73191
|
+
}
|
|
73192
|
+
const args = [
|
|
73173
73193
|
...inputs,
|
|
73174
|
-
"-
|
|
73175
|
-
|
|
73194
|
+
"-filter_complex_script",
|
|
73195
|
+
scriptPath,
|
|
73176
73196
|
"-map",
|
|
73177
73197
|
"[out]",
|
|
73178
73198
|
"-acodec",
|
|
@@ -73184,12 +73204,15 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73184
73204
|
"-y",
|
|
73185
73205
|
outputPath
|
|
73186
73206
|
];
|
|
73207
|
+
return runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout }).finally(
|
|
73208
|
+
() => rmSync3(scriptDir, { recursive: true, force: true })
|
|
73209
|
+
);
|
|
73187
73210
|
};
|
|
73188
|
-
let result = await
|
|
73211
|
+
let result = await runMix(false);
|
|
73189
73212
|
let degradedAutomation = false;
|
|
73190
73213
|
const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
|
|
73191
73214
|
if (!result.success && !signal?.aborted && hasAutomation) {
|
|
73192
|
-
const retry = await
|
|
73215
|
+
const retry = await runMix(true);
|
|
73193
73216
|
if (retry.success) {
|
|
73194
73217
|
result = retry;
|
|
73195
73218
|
degradedAutomation = true;
|
|
@@ -78242,7 +78265,7 @@ var init_banner = __esm({
|
|
|
78242
78265
|
});
|
|
78243
78266
|
|
|
78244
78267
|
// src/registry/remote.ts
|
|
78245
|
-
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as
|
|
78268
|
+
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync7 } from "fs";
|
|
78246
78269
|
import { join as join17, dirname as dirname9 } from "path";
|
|
78247
78270
|
import { homedir as homedir4 } from "os";
|
|
78248
78271
|
function cachePath(baseUrl, key2) {
|
|
@@ -78263,7 +78286,7 @@ function writeCache(path2, data2) {
|
|
|
78263
78286
|
try {
|
|
78264
78287
|
mkdirSync10(dirname9(path2), { recursive: true });
|
|
78265
78288
|
const entry = { fetchedAt: Date.now(), data: data2 };
|
|
78266
|
-
|
|
78289
|
+
writeFileSync7(path2, JSON.stringify(entry), "utf-8");
|
|
78267
78290
|
} catch {
|
|
78268
78291
|
}
|
|
78269
78292
|
}
|
|
@@ -78309,7 +78332,7 @@ async function fetchItemFile(item, file, destPath, baseUrl = DEFAULT_REGISTRY_UR
|
|
|
78309
78332
|
}
|
|
78310
78333
|
const buf = new Uint8Array(await res.arrayBuffer());
|
|
78311
78334
|
mkdirSync10(dirname9(destPath), { recursive: true });
|
|
78312
|
-
|
|
78335
|
+
writeFileSync7(destPath, buf);
|
|
78313
78336
|
}
|
|
78314
78337
|
var DEFAULT_REGISTRY_URL, FETCH_TIMEOUT_MS, CACHE_DIR, CACHE_TTL_MS;
|
|
78315
78338
|
var init_remote = __esm({
|
|
@@ -78442,7 +78465,7 @@ __export(installer_exports, {
|
|
|
78442
78465
|
assertSafeTarget: () => assertSafeTarget,
|
|
78443
78466
|
installItem: () => installItem
|
|
78444
78467
|
});
|
|
78445
|
-
import { readFileSync as readFileSync12, writeFileSync as
|
|
78468
|
+
import { readFileSync as readFileSync12, writeFileSync as writeFileSync8 } from "fs";
|
|
78446
78469
|
import { resolve as resolve10, relative as relative4, isAbsolute as isAbsolute6 } from "path";
|
|
78447
78470
|
function assertSafeTarget(destDir, target) {
|
|
78448
78471
|
if (isAbsolute6(target)) {
|
|
@@ -78482,7 +78505,7 @@ async function installItem(item, options) {
|
|
|
78482
78505
|
await fetchItemFile(item, file, destPath, baseUrl);
|
|
78483
78506
|
if (isInstalledRegistryBlockComposition(item, file)) {
|
|
78484
78507
|
const source = readFileSync12(destPath, "utf-8");
|
|
78485
|
-
|
|
78508
|
+
writeFileSync8(destPath, addRegistryItemMarker(source, item), "utf-8");
|
|
78486
78509
|
}
|
|
78487
78510
|
return destPath;
|
|
78488
78511
|
})
|
|
@@ -79151,7 +79174,7 @@ __export(normalize_exports, {
|
|
|
79151
79174
|
stripBeforeOnset: () => stripBeforeOnset,
|
|
79152
79175
|
wordsToCues: () => wordsToCues
|
|
79153
79176
|
});
|
|
79154
|
-
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as
|
|
79177
|
+
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync9 } from "fs";
|
|
79155
79178
|
import { extname as extname6, join as join20 } from "path";
|
|
79156
79179
|
function detectFormat(filePath) {
|
|
79157
79180
|
const ext = extname6(filePath).toLowerCase();
|
|
@@ -79446,7 +79469,7 @@ function patchCaptionHtml(dir, words) {
|
|
|
79446
79469
|
if (match) {
|
|
79447
79470
|
const varName = scriptMatch ? "script" : "TRANSCRIPT";
|
|
79448
79471
|
content = content.replace(match[0], `const ${varName} = ${wordsJson};`);
|
|
79449
|
-
|
|
79472
|
+
writeFileSync9(file, content, "utf-8");
|
|
79450
79473
|
}
|
|
79451
79474
|
}
|
|
79452
79475
|
}
|
|
@@ -79469,7 +79492,7 @@ __export(projectConfig_exports, {
|
|
|
79469
79492
|
readProjectConfig: () => readProjectConfig,
|
|
79470
79493
|
writeProjectConfig: () => writeProjectConfig
|
|
79471
79494
|
});
|
|
79472
|
-
import { readFileSync as readFileSync15, writeFileSync as
|
|
79495
|
+
import { readFileSync as readFileSync15, writeFileSync as writeFileSync10 } from "fs";
|
|
79473
79496
|
import { join as join21, resolve as resolve12 } from "path";
|
|
79474
79497
|
function projectConfigPath(projectDir) {
|
|
79475
79498
|
return join21(resolve12(projectDir), PROJECT_CONFIG_FILENAME);
|
|
@@ -79496,7 +79519,7 @@ function normalizeConfig(partial) {
|
|
|
79496
79519
|
}
|
|
79497
79520
|
function writeProjectConfig(projectDir, config = DEFAULT_PROJECT_CONFIG) {
|
|
79498
79521
|
const path2 = projectConfigPath(projectDir);
|
|
79499
|
-
|
|
79522
|
+
writeFileSync10(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
79500
79523
|
}
|
|
79501
79524
|
function loadProjectConfig(projectDir) {
|
|
79502
79525
|
return readProjectConfig(projectDir) ?? DEFAULT_PROJECT_CONFIG;
|
|
@@ -91168,10 +91191,10 @@ import {
|
|
|
91168
91191
|
} from "fs";
|
|
91169
91192
|
import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
|
|
91170
91193
|
import { spawn as spawn9 } from "child_process";
|
|
91171
|
-
import { existsSync as existsSync210, writeFileSync as
|
|
91194
|
+
import { existsSync as existsSync210, writeFileSync as writeFileSync11, mkdirSync as mkdirSync14 } from "fs";
|
|
91172
91195
|
import { join as join32, resolve as resolve19 } from "path";
|
|
91173
91196
|
import { spawnSync } from "child_process";
|
|
91174
|
-
import { mkdtempSync, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91197
|
+
import { mkdtempSync as mkdtempSync2, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91175
91198
|
import { tmpdir as tmpdir3 } from "os";
|
|
91176
91199
|
import { basename as basename3, join as join42 } from "path";
|
|
91177
91200
|
import { mkdirSync as mkdirSync22, readdirSync as readdirSync22, readFileSync as readFileSync22, unlinkSync as unlinkSync3, writeFileSync as writeFileSync32 } from "fs";
|
|
@@ -91196,7 +91219,7 @@ import { join as join112 } from "path";
|
|
|
91196
91219
|
import { createHash as createHash22 } from "crypto";
|
|
91197
91220
|
import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
|
|
91198
91221
|
import { join as join122 } from "path";
|
|
91199
|
-
import { closeSync, constants, fstatSync, openSync, readSync } from "fs";
|
|
91222
|
+
import { closeSync as closeSync2, constants, fstatSync, openSync as openSync2, readSync } from "fs";
|
|
91200
91223
|
function shouldIgnoreDir(rel) {
|
|
91201
91224
|
return rel === ".hyperframes/backup";
|
|
91202
91225
|
}
|
|
@@ -91383,7 +91406,7 @@ async function generateWaveformCache(projectDir, assetPath) {
|
|
|
91383
91406
|
if (existsSync210(cachePath2)) return;
|
|
91384
91407
|
const peaks = await decodeAudioPeaks(audioPath);
|
|
91385
91408
|
mkdirSync14(cacheDir, { recursive: true });
|
|
91386
|
-
|
|
91409
|
+
writeFileSync11(cachePath2, JSON.stringify(peaks));
|
|
91387
91410
|
}
|
|
91388
91411
|
function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
91389
91412
|
const isVideo2 = VIDEO_EXT.test(filePath);
|
|
@@ -91423,7 +91446,7 @@ function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
|
91423
91446
|
}
|
|
91424
91447
|
}
|
|
91425
91448
|
function validateUploadedMediaBuffer(fileName, buffer, runner = spawnSync) {
|
|
91426
|
-
const tempDir =
|
|
91449
|
+
const tempDir = mkdtempSync2(join42(tmpdir3(), "hyperframes-upload-"));
|
|
91427
91450
|
const tempPath = join42(tempDir, basename3(fileName));
|
|
91428
91451
|
try {
|
|
91429
91452
|
writeFileSync22(tempPath, buffer);
|
|
@@ -95015,7 +95038,7 @@ function registerFontRoutes(api) {
|
|
|
95015
95038
|
if (!located) return c3.json({ error: "font not found" }, 404);
|
|
95016
95039
|
let fd;
|
|
95017
95040
|
try {
|
|
95018
|
-
fd =
|
|
95041
|
+
fd = openSync2(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
95019
95042
|
} catch {
|
|
95020
95043
|
return c3.json({ error: "font file not accessible" }, 404);
|
|
95021
95044
|
}
|
|
@@ -95037,7 +95060,7 @@ function registerFontRoutes(api) {
|
|
|
95037
95060
|
} catch {
|
|
95038
95061
|
return c3.json({ error: "failed to read font file" }, 500);
|
|
95039
95062
|
} finally {
|
|
95040
|
-
|
|
95063
|
+
closeSync2(fd);
|
|
95041
95064
|
}
|
|
95042
95065
|
});
|
|
95043
95066
|
}
|
|
@@ -95470,7 +95493,7 @@ function reclaimStaleInstallLock(timeoutMs) {
|
|
|
95470
95493
|
}
|
|
95471
95494
|
}
|
|
95472
95495
|
async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs = INSTALL_LOCK_POLL_MS) {
|
|
95473
|
-
if (!existsSync31(
|
|
95496
|
+
if (!existsSync31(CACHE_ROOT_DIR)) mkdirSync15(CACHE_ROOT_DIR, { recursive: true });
|
|
95474
95497
|
let deadline = Date.now() + timeoutMs;
|
|
95475
95498
|
for (; ; ) {
|
|
95476
95499
|
if (existsSync31(INSTALL_RECLAIM_LOCK_DIR)) {
|
|
@@ -95494,6 +95517,9 @@ async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs =
|
|
|
95494
95517
|
rmSync7(INSTALL_LOCK_DIR, { recursive: true, force: true });
|
|
95495
95518
|
}
|
|
95496
95519
|
}
|
|
95520
|
+
function purgeStaleInstall(installPath) {
|
|
95521
|
+
rmSync7(installPath, { recursive: true, force: true });
|
|
95522
|
+
}
|
|
95497
95523
|
function whichBinary2(name) {
|
|
95498
95524
|
try {
|
|
95499
95525
|
const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
|
|
@@ -95538,7 +95564,7 @@ async function findFromCache() {
|
|
|
95538
95564
|
return { result: { executablePath: match.executablePath, source: "cache" } };
|
|
95539
95565
|
}
|
|
95540
95566
|
if (match) {
|
|
95541
|
-
return { staleHyperframesCachePath: match.executablePath };
|
|
95567
|
+
return { staleHyperframesCachePath: match.executablePath, staleInstallPath: match.path };
|
|
95542
95568
|
}
|
|
95543
95569
|
}
|
|
95544
95570
|
return {};
|
|
@@ -95644,7 +95670,10 @@ async function findBrowser() {
|
|
|
95644
95670
|
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95645
95671
|
);
|
|
95646
95672
|
try {
|
|
95647
|
-
return await withInstallLock(() =>
|
|
95673
|
+
return await withInstallLock(async () => {
|
|
95674
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95675
|
+
return downloadBrowser();
|
|
95676
|
+
});
|
|
95648
95677
|
} catch (err) {
|
|
95649
95678
|
const cause = normalizeErrorMessage(err);
|
|
95650
95679
|
throw new Error(
|
|
@@ -95701,22 +95730,33 @@ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the
|
|
|
95701
95730
|
async function ensureBrowser(options) {
|
|
95702
95731
|
const fromEnv = findFromEnv2();
|
|
95703
95732
|
if (fromEnv) return fromEnv;
|
|
95704
|
-
|
|
95705
|
-
|
|
95706
|
-
|
|
95707
|
-
|
|
95708
|
-
|
|
95709
|
-
|
|
95710
|
-
|
|
95711
|
-
|
|
95712
|
-
|
|
95713
|
-
|
|
95714
|
-
|
|
95715
|
-
|
|
95733
|
+
if (!options?.force) {
|
|
95734
|
+
const fromCache = await findFromCache();
|
|
95735
|
+
if (fromCache.result) return fromCache.result;
|
|
95736
|
+
if (fromCache.staleHyperframesCachePath) {
|
|
95737
|
+
console.warn(
|
|
95738
|
+
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95739
|
+
);
|
|
95740
|
+
return withInstallLock(async () => {
|
|
95741
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95742
|
+
return downloadBrowser(options);
|
|
95743
|
+
});
|
|
95744
|
+
}
|
|
95745
|
+
const fromSystem = findFromSystem2();
|
|
95746
|
+
if (fromSystem) {
|
|
95747
|
+
warnSystemFallbackOnce(fromSystem.executablePath);
|
|
95748
|
+
return fromSystem;
|
|
95749
|
+
}
|
|
95716
95750
|
}
|
|
95717
95751
|
return withInstallLock(async () => {
|
|
95718
|
-
|
|
95719
|
-
|
|
95752
|
+
if (options?.force) {
|
|
95753
|
+
clearBrowser();
|
|
95754
|
+
}
|
|
95755
|
+
if (!options?.force) {
|
|
95756
|
+
const afterLock = await findFromCache();
|
|
95757
|
+
if (afterLock.result) return afterLock.result;
|
|
95758
|
+
if (afterLock.staleInstallPath) purgeStaleInstall(afterLock.staleInstallPath);
|
|
95759
|
+
}
|
|
95720
95760
|
return downloadBrowser(options);
|
|
95721
95761
|
});
|
|
95722
95762
|
}
|
|
@@ -95748,16 +95788,17 @@ function clearBrowser() {
|
|
|
95748
95788
|
function isLinuxArm() {
|
|
95749
95789
|
return process.platform === "linux" && process.arch === "arm64";
|
|
95750
95790
|
}
|
|
95751
|
-
var CHROME_VERSION, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
|
|
95791
|
+
var CHROME_VERSION, CACHE_ROOT_DIR, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
|
|
95752
95792
|
var init_manager2 = __esm({
|
|
95753
95793
|
"src/browser/manager.ts"() {
|
|
95754
95794
|
"use strict";
|
|
95755
95795
|
init_errorMessage();
|
|
95756
95796
|
CHROME_VERSION = "131.0.6778.85";
|
|
95797
|
+
CACHE_ROOT_DIR = join28(homedir9(), ".cache", "hyperframes");
|
|
95757
95798
|
CACHE_DIR2 = join28(homedir9(), ".cache", "hyperframes", "chrome");
|
|
95758
95799
|
PUPPETEER_CACHE_DIR = join28(homedir9(), ".cache", "puppeteer", "chrome-headless-shell");
|
|
95759
|
-
INSTALL_LOCK_DIR = join28(
|
|
95760
|
-
INSTALL_RECLAIM_LOCK_DIR = join28(
|
|
95800
|
+
INSTALL_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.lock");
|
|
95801
|
+
INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
|
|
95761
95802
|
INSTALL_LOCK_TIMEOUT_MS = 12e4;
|
|
95762
95803
|
INSTALL_LOCK_POLL_MS = 200;
|
|
95763
95804
|
SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : [
|
|
@@ -99040,7 +99081,7 @@ __export(deterministicFonts_exports, {
|
|
|
99040
99081
|
resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
|
|
99041
99082
|
});
|
|
99042
99083
|
import { createHash as createHash6 } from "crypto";
|
|
99043
|
-
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as
|
|
99084
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
|
|
99044
99085
|
import { homedir as homedir10, tmpdir as tmpdir4 } from "os";
|
|
99045
99086
|
import { join as join29 } from "path";
|
|
99046
99087
|
import postcss4 from "postcss";
|
|
@@ -99396,7 +99437,7 @@ async function ensureWoff2DataUri(cachePath2, woff2Url, familyName, weight, styl
|
|
|
99396
99437
|
}
|
|
99397
99438
|
return null;
|
|
99398
99439
|
}
|
|
99399
|
-
|
|
99440
|
+
writeFileSync12(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
|
|
99400
99441
|
} catch (err) {
|
|
99401
99442
|
if (err instanceof FontFetchError) throw err;
|
|
99402
99443
|
if (err.code === "EEXIST") {
|
|
@@ -100698,11 +100739,11 @@ var init_paths = __esm({
|
|
|
100698
100739
|
});
|
|
100699
100740
|
|
|
100700
100741
|
// ../producer/src/services/render/shared.ts
|
|
100701
|
-
import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as
|
|
100742
|
+
import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync13 } from "fs";
|
|
100702
100743
|
import { basename as basename6, dirname as dirname15, isAbsolute as isAbsolute11, join as join34, relative as relative8, resolve as resolve24 } from "path";
|
|
100703
100744
|
function writeFileExclusiveSync(path2, data2) {
|
|
100704
100745
|
try {
|
|
100705
|
-
|
|
100746
|
+
writeFileSync13(path2, data2, { flag: "wx", mode: 384 });
|
|
100706
100747
|
} catch (error) {
|
|
100707
100748
|
if (error && typeof error === "object" && "code" in error && error.code === "EEXIST") {
|
|
100708
100749
|
return;
|
|
@@ -100729,11 +100770,11 @@ function resolveDeviceScaleFactor(input2) {
|
|
|
100729
100770
|
function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
100730
100771
|
const compileDir = join34(workDir, "compiled");
|
|
100731
100772
|
mkdirSync18(compileDir, { recursive: true });
|
|
100732
|
-
|
|
100773
|
+
writeFileSync13(join34(compileDir, "index.html"), compiled.html, "utf-8");
|
|
100733
100774
|
for (const [srcPath, html] of compiled.subCompositions) {
|
|
100734
100775
|
const outPath = join34(compileDir, srcPath);
|
|
100735
100776
|
mkdirSync18(dirname15(outPath), { recursive: true });
|
|
100736
|
-
|
|
100777
|
+
writeFileSync13(outPath, html, "utf-8");
|
|
100737
100778
|
}
|
|
100738
100779
|
for (const [relativePath, absolutePath] of compiled.externalAssets) {
|
|
100739
100780
|
const outPath = resolve24(join34(compileDir, relativePath));
|
|
@@ -100767,7 +100808,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
|
100767
100808
|
renderModeHints: compiled.renderModeHints,
|
|
100768
100809
|
hasShaderTransitions: compiled.hasShaderTransitions
|
|
100769
100810
|
};
|
|
100770
|
-
|
|
100811
|
+
writeFileSync13(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
|
|
100771
100812
|
}
|
|
100772
100813
|
}
|
|
100773
100814
|
function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
|
|
@@ -104086,7 +104127,7 @@ var init_captureStage = __esm({
|
|
|
104086
104127
|
});
|
|
104087
104128
|
|
|
104088
104129
|
// ../producer/src/services/hdrCompositor.ts
|
|
104089
|
-
import { readSync as readSync2, closeSync as
|
|
104130
|
+
import { readSync as readSync2, closeSync as closeSync3 } from "fs";
|
|
104090
104131
|
import { join as join41 } from "path";
|
|
104091
104132
|
function countNonZeroAlpha(rgba) {
|
|
104092
104133
|
let n2 = 0;
|
|
@@ -104123,7 +104164,7 @@ function cropRgb48le(src, srcW, srcH, cropX, cropY, cropW, cropH) {
|
|
|
104123
104164
|
}
|
|
104124
104165
|
function closeHdrVideoFrameSource(source, log2) {
|
|
104125
104166
|
try {
|
|
104126
|
-
|
|
104167
|
+
closeSync3(source.fd);
|
|
104127
104168
|
} catch (err) {
|
|
104128
104169
|
log2?.warn("Failed to close HDR raw frame file", {
|
|
104129
104170
|
rawPath: source.rawPath,
|
|
@@ -105004,12 +105045,12 @@ var init_hdrImageTransferCache = __esm({
|
|
|
105004
105045
|
|
|
105005
105046
|
// ../producer/src/services/render/stages/captureHdrResources.ts
|
|
105006
105047
|
import {
|
|
105007
|
-
closeSync as
|
|
105048
|
+
closeSync as closeSync4,
|
|
105008
105049
|
constants as constants2,
|
|
105009
105050
|
fstatSync as fstatSync2,
|
|
105010
105051
|
mkdirSync as mkdirSync20,
|
|
105011
|
-
mkdtempSync as
|
|
105012
|
-
openSync as
|
|
105052
|
+
mkdtempSync as mkdtempSync3,
|
|
105053
|
+
openSync as openSync3,
|
|
105013
105054
|
readFileSync as readFileSync25
|
|
105014
105055
|
} from "fs";
|
|
105015
105056
|
import { join as join43 } from "path";
|
|
@@ -105100,7 +105141,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105100
105141
|
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
105101
105142
|
if (!video) continue;
|
|
105102
105143
|
mkdirSync20(framesDir, { recursive: true });
|
|
105103
|
-
const frameDir =
|
|
105144
|
+
const frameDir = mkdtempSync3(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
|
|
105104
105145
|
const duration = video.end - video.start;
|
|
105105
105146
|
const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
|
|
105106
105147
|
const rawPath = join43(frameDir, "frames.rgb48le");
|
|
@@ -105135,7 +105176,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105135
105176
|
);
|
|
105136
105177
|
}
|
|
105137
105178
|
const frameSize = dims.width * dims.height * 6;
|
|
105138
|
-
const fd =
|
|
105179
|
+
const fd = openSync3(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
|
|
105139
105180
|
let handedOff = false;
|
|
105140
105181
|
try {
|
|
105141
105182
|
const frameCount = Math.floor(fstatSync2(fd).size / frameSize);
|
|
@@ -105157,7 +105198,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105157
105198
|
});
|
|
105158
105199
|
handedOff = true;
|
|
105159
105200
|
} finally {
|
|
105160
|
-
if (!handedOff)
|
|
105201
|
+
if (!handedOff) closeSync4(fd);
|
|
105161
105202
|
}
|
|
105162
105203
|
}
|
|
105163
105204
|
return out;
|
|
@@ -106424,12 +106465,12 @@ var init_assembleStage = __esm({
|
|
|
106424
106465
|
import {
|
|
106425
106466
|
existsSync as existsSync44,
|
|
106426
106467
|
mkdirSync as mkdirSync24,
|
|
106427
|
-
mkdtempSync as
|
|
106468
|
+
mkdtempSync as mkdtempSync4,
|
|
106428
106469
|
readFileSync as readFileSync26,
|
|
106429
106470
|
readdirSync as readdirSync15,
|
|
106430
106471
|
rmSync as rmSync12,
|
|
106431
106472
|
statSync as statSync13,
|
|
106432
|
-
writeFileSync as
|
|
106473
|
+
writeFileSync as writeFileSync14,
|
|
106433
106474
|
copyFileSync as copyFileSync6,
|
|
106434
106475
|
appendFileSync
|
|
106435
106476
|
} from "fs";
|
|
@@ -106807,7 +106848,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106807
106848
|
const debugDir = join50(producerRoot, ".debug");
|
|
106808
106849
|
const outputDir = dirname19(outputPath);
|
|
106809
106850
|
if (!existsSync44(outputDir)) mkdirSync24(outputDir, { recursive: true });
|
|
106810
|
-
const workDir = job.config.debug ? join50(debugDir, job.id) :
|
|
106851
|
+
const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync4(join50(outputDir, `work-${job.id}-`));
|
|
106811
106852
|
const pipelineStart = Date.now();
|
|
106812
106853
|
const log2 = job.config.logger ?? defaultLogger;
|
|
106813
106854
|
let fileServer = null;
|
|
@@ -106922,7 +106963,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106922
106963
|
`Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
|
|
106923
106964
|
);
|
|
106924
106965
|
}
|
|
106925
|
-
|
|
106966
|
+
writeFileSync14(wrapperPath, standaloneHtml, "utf-8");
|
|
106926
106967
|
htmlPath = wrapperPath;
|
|
106927
106968
|
log2.info("Extracted standalone entry from index.html host context", {
|
|
106928
106969
|
entryFile
|
|
@@ -107552,7 +107593,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
107552
107593
|
job.perfSummary = perfSummary;
|
|
107553
107594
|
if (job.config.debug) {
|
|
107554
107595
|
try {
|
|
107555
|
-
|
|
107596
|
+
writeFileSync14(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
|
|
107556
107597
|
} catch (err) {
|
|
107557
107598
|
log2.debug("Failed to write perf summary", {
|
|
107558
107599
|
perfOutputPath,
|
|
@@ -107956,8 +107997,8 @@ import {
|
|
|
107956
107997
|
existsSync as existsSync47,
|
|
107957
107998
|
mkdirSync as mkdirSync25,
|
|
107958
107999
|
statSync as statSync15,
|
|
107959
|
-
mkdtempSync as
|
|
107960
|
-
writeFileSync as
|
|
108000
|
+
mkdtempSync as mkdtempSync5,
|
|
108001
|
+
writeFileSync as writeFileSync15,
|
|
107961
108002
|
rmSync as rmSync13,
|
|
107962
108003
|
createReadStream as createReadStream2
|
|
107963
108004
|
} from "fs";
|
|
@@ -108081,8 +108122,8 @@ async function prepareRenderBody(body) {
|
|
|
108081
108122
|
}
|
|
108082
108123
|
}
|
|
108083
108124
|
const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir5();
|
|
108084
|
-
const tempProjectDir =
|
|
108085
|
-
|
|
108125
|
+
const tempProjectDir = mkdtempSync5(join54(tempRoot, "producer-project-"));
|
|
108126
|
+
writeFileSync15(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
|
|
108086
108127
|
return {
|
|
108087
108128
|
prepared: {
|
|
108088
108129
|
input: {
|
|
@@ -108562,7 +108603,7 @@ var init_planHash = __esm({
|
|
|
108562
108603
|
});
|
|
108563
108604
|
|
|
108564
108605
|
// ../producer/src/services/render/stages/freezePlan.ts
|
|
108565
|
-
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as
|
|
108606
|
+
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync16 } from "fs";
|
|
108566
108607
|
import { join as join55, relative as relative9, resolve as resolve29 } from "path";
|
|
108567
108608
|
function stripUndefined(value) {
|
|
108568
108609
|
if (Array.isArray(value)) return value.map(stripUndefined);
|
|
@@ -108659,7 +108700,7 @@ async function freezePlan(input2) {
|
|
|
108659
108700
|
}
|
|
108660
108701
|
const metaDir = join55(planDir, "meta");
|
|
108661
108702
|
if (!existsSync48(metaDir)) mkdirSync26(metaDir, { recursive: true });
|
|
108662
|
-
|
|
108703
|
+
writeFileSync16(
|
|
108663
108704
|
join55(metaDir, "composition.json"),
|
|
108664
108705
|
`${JSON.stringify(composition, null, 2)}
|
|
108665
108706
|
`,
|
|
@@ -108667,8 +108708,8 @@ async function freezePlan(input2) {
|
|
|
108667
108708
|
);
|
|
108668
108709
|
const encoderForCanonical = stripUndefined(encoder);
|
|
108669
108710
|
const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
|
|
108670
|
-
|
|
108671
|
-
|
|
108711
|
+
writeFileSync16(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
|
|
108712
|
+
writeFileSync16(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
|
|
108672
108713
|
`, "utf-8");
|
|
108673
108714
|
const { compositionHtml, assets } = collectPlanAssetShas(planDir);
|
|
108674
108715
|
const planHash = computePlanHash({
|
|
@@ -108692,7 +108733,7 @@ async function freezePlan(input2) {
|
|
|
108692
108733
|
hasAudio
|
|
108693
108734
|
};
|
|
108694
108735
|
const planJsonPath = join55(planDir, "plan.json");
|
|
108695
|
-
|
|
108736
|
+
writeFileSync16(planJsonPath, `${JSON.stringify(planJson, null, 2)}
|
|
108696
108737
|
`, "utf-8");
|
|
108697
108738
|
return { planJsonPath, planHash };
|
|
108698
108739
|
}
|
|
@@ -108893,7 +108934,7 @@ import {
|
|
|
108893
108934
|
renameSync as renameSync6,
|
|
108894
108935
|
rmSync as rmSync14,
|
|
108895
108936
|
statSync as statSync16,
|
|
108896
|
-
writeFileSync as
|
|
108937
|
+
writeFileSync as writeFileSync17
|
|
108897
108938
|
} from "fs";
|
|
108898
108939
|
import { join as join57, relative as relative10, sep as sep6 } from "path";
|
|
108899
108940
|
function formatBytes2(bytes) {
|
|
@@ -109213,7 +109254,7 @@ async function plan(projectDir, config, planDir) {
|
|
|
109213
109254
|
}))
|
|
109214
109255
|
};
|
|
109215
109256
|
mkdirSync27(join57(planDir, "meta"), { recursive: true });
|
|
109216
|
-
|
|
109257
|
+
writeFileSync17(
|
|
109217
109258
|
join57(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
|
|
109218
109259
|
JSON.stringify(planVideosJson, null, 2),
|
|
109219
109260
|
"utf-8"
|
|
@@ -109362,7 +109403,7 @@ var init_plan = __esm({
|
|
|
109362
109403
|
|
|
109363
109404
|
// ../producer/src/services/distributed/renderChunk.ts
|
|
109364
109405
|
import { randomBytes as randomBytes2 } from "crypto";
|
|
109365
|
-
import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as
|
|
109406
|
+
import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync18 } from "fs";
|
|
109366
109407
|
import { extname as extname10, join as join58 } from "path";
|
|
109367
109408
|
function rebuildExtractedFramesFromPlanDir(planDir, videos) {
|
|
109368
109409
|
const result = [];
|
|
@@ -109686,7 +109727,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
109686
109727
|
producerVersion: plan2.producerVersion,
|
|
109687
109728
|
ffmpegVersion
|
|
109688
109729
|
};
|
|
109689
|
-
|
|
109730
|
+
writeFileSync18(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
|
|
109690
109731
|
`, "utf-8");
|
|
109691
109732
|
try {
|
|
109692
109733
|
rmSync15(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
|
|
@@ -110056,7 +110097,7 @@ import {
|
|
|
110056
110097
|
readdirSync as readdirSync19,
|
|
110057
110098
|
rmSync as rmSync17,
|
|
110058
110099
|
statSync as statSync17,
|
|
110059
|
-
writeFileSync as
|
|
110100
|
+
writeFileSync as writeFileSync19
|
|
110060
110101
|
} from "fs";
|
|
110061
110102
|
import { dirname as dirname23, join as join59 } from "path";
|
|
110062
110103
|
async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
@@ -110110,7 +110151,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
110110
110151
|
} else {
|
|
110111
110152
|
const concatListPath = join59(workDir, "concat-list.txt");
|
|
110112
110153
|
const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
|
|
110113
|
-
|
|
110154
|
+
writeFileSync19(concatListPath, `${concatBody}
|
|
110114
110155
|
`, "utf-8");
|
|
110115
110156
|
const concatArgs = [
|
|
110116
110157
|
"-r",
|
|
@@ -110391,7 +110432,7 @@ __export(studioServer_exports, {
|
|
|
110391
110432
|
});
|
|
110392
110433
|
import { Hono as Hono5 } from "hono";
|
|
110393
110434
|
import { streamSSE as streamSSE3 } from "hono/streaming";
|
|
110394
|
-
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as
|
|
110435
|
+
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync20, statSync as statSync18 } from "fs";
|
|
110395
110436
|
import { resolve as resolve30, join as join61, basename as basename8 } from "path";
|
|
110396
110437
|
function resolveDistDir() {
|
|
110397
110438
|
return resolveStudioBundle().dir;
|
|
@@ -110565,7 +110606,7 @@ function rewriteWrittenToHostViewport(projectDir, written) {
|
|
|
110565
110606
|
return match;
|
|
110566
110607
|
}
|
|
110567
110608
|
);
|
|
110568
|
-
|
|
110609
|
+
writeFileSync20(absPath, content, "utf-8");
|
|
110569
110610
|
}
|
|
110570
110611
|
}
|
|
110571
110612
|
function createStudioServer(options) {
|
|
@@ -110664,7 +110705,7 @@ function createStudioServer(options) {
|
|
|
110664
110705
|
state.status = "complete";
|
|
110665
110706
|
state.progress = 100;
|
|
110666
110707
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110667
|
-
|
|
110708
|
+
writeFileSync20(
|
|
110668
110709
|
metaPath,
|
|
110669
110710
|
JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
|
|
110670
110711
|
);
|
|
@@ -110675,7 +110716,7 @@ function createStudioServer(options) {
|
|
|
110675
110716
|
emitStudioRenderError(opts, Date.now() - startTime, state.stage, err, renderJob);
|
|
110676
110717
|
try {
|
|
110677
110718
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110678
|
-
|
|
110719
|
+
writeFileSync20(metaPath, JSON.stringify({ status: "failed" }));
|
|
110679
110720
|
} catch {
|
|
110680
110721
|
}
|
|
110681
110722
|
}
|
|
@@ -111716,7 +111757,7 @@ import {
|
|
|
111716
111757
|
mkdirSync as mkdirSync31,
|
|
111717
111758
|
copyFileSync as copyFileSync7,
|
|
111718
111759
|
cpSync as cpSync5,
|
|
111719
|
-
writeFileSync as
|
|
111760
|
+
writeFileSync as writeFileSync21,
|
|
111720
111761
|
readFileSync as readFileSync35,
|
|
111721
111762
|
readdirSync as readdirSync21
|
|
111722
111763
|
} from "fs";
|
|
@@ -111833,7 +111874,7 @@ function buildPackageScripts() {
|
|
|
111833
111874
|
function writeDefaultPackageJson(destDir, projectName) {
|
|
111834
111875
|
const packageJsonPath = resolve33(destDir, "package.json");
|
|
111835
111876
|
if (existsSync56(packageJsonPath)) return;
|
|
111836
|
-
|
|
111877
|
+
writeFileSync21(
|
|
111837
111878
|
packageJsonPath,
|
|
111838
111879
|
`${JSON.stringify(
|
|
111839
111880
|
{
|
|
@@ -111895,7 +111936,7 @@ ${html}`;
|
|
|
111895
111936
|
function writeTailwindSupport(destDir) {
|
|
111896
111937
|
for (const file of listHtmlFiles(destDir)) {
|
|
111897
111938
|
const html = readFileSync35(file, "utf-8");
|
|
111898
|
-
|
|
111939
|
+
writeFileSync21(file, injectTailwindBrowserScript(html), "utf-8");
|
|
111899
111940
|
}
|
|
111900
111941
|
}
|
|
111901
111942
|
function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
@@ -111912,7 +111953,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
|
111912
111953
|
}
|
|
111913
111954
|
const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
|
|
111914
111955
|
content = content.replaceAll("__VIDEO_DURATION__", dur);
|
|
111915
|
-
|
|
111956
|
+
writeFileSync21(file, content, "utf-8");
|
|
111916
111957
|
}
|
|
111917
111958
|
}
|
|
111918
111959
|
async function patchTranscript(dir, transcriptPath) {
|
|
@@ -112048,7 +112089,7 @@ function applyResolutionPreset(destDir, resolution) {
|
|
|
112048
112089
|
html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
|
|
112049
112090
|
changed = true;
|
|
112050
112091
|
}
|
|
112051
|
-
if (changed)
|
|
112092
|
+
if (changed) writeFileSync21(file, html, "utf-8");
|
|
112052
112093
|
}
|
|
112053
112094
|
}
|
|
112054
112095
|
async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
|
|
@@ -112062,7 +112103,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
|
|
|
112062
112103
|
patchVideoSrc(destDir, localVideoName, durationSeconds);
|
|
112063
112104
|
if (tailwind) writeTailwindSupport(destDir);
|
|
112064
112105
|
if (resolution) applyResolutionPreset(destDir, resolution);
|
|
112065
|
-
|
|
112106
|
+
writeFileSync21(
|
|
112066
112107
|
resolve33(destDir, "meta.json"),
|
|
112067
112108
|
JSON.stringify(
|
|
112068
112109
|
{
|
|
@@ -114751,7 +114792,7 @@ __export(batchRender_exports, {
|
|
|
114751
114792
|
resolveOutputTemplate: () => resolveOutputTemplate,
|
|
114752
114793
|
runBatchRender: () => runBatchRender
|
|
114753
114794
|
});
|
|
114754
|
-
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as
|
|
114795
|
+
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync23 } from "fs";
|
|
114755
114796
|
import { dirname as dirname28, join as join67, resolve as resolve43, sep as sep8 } from "path";
|
|
114756
114797
|
function isRecord4(value) {
|
|
114757
114798
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -114937,7 +114978,7 @@ function summarizeManifest(manifest) {
|
|
|
114937
114978
|
function writeManifest(manifest) {
|
|
114938
114979
|
summarizeManifest(manifest);
|
|
114939
114980
|
mkdirSync33(dirname28(manifest.manifestPath), { recursive: true });
|
|
114940
|
-
|
|
114981
|
+
writeFileSync23(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
|
|
114941
114982
|
}
|
|
114942
114983
|
function emitJsonEvent(event, json) {
|
|
114943
114984
|
if (json) console.log(JSON.stringify(event));
|
|
@@ -115099,7 +115140,7 @@ __export(render_exports, {
|
|
|
115099
115140
|
renderLocal: () => renderLocal,
|
|
115100
115141
|
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
115101
115142
|
});
|
|
115102
|
-
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as
|
|
115143
|
+
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync24, rmSync as rmSync18 } from "fs";
|
|
115103
115144
|
import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir6 } from "os";
|
|
115104
115145
|
import { resolve as resolve44, dirname as dirname29, join as join68, basename as basename12 } from "path";
|
|
115105
115146
|
import { execFileSync as execFileSync9, spawn as spawn14 } from "child_process";
|
|
@@ -115195,7 +115236,7 @@ function ensureDockerImage(version2, platform10, quiet) {
|
|
|
115195
115236
|
const dockerfilePath = resolveDockerfilePath();
|
|
115196
115237
|
const tmpDir = join68(tmpdir6(), `hyperframes-docker-${Date.now()}`);
|
|
115197
115238
|
mkdirSync34(tmpDir, { recursive: true });
|
|
115198
|
-
|
|
115239
|
+
writeFileSync24(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
|
|
115199
115240
|
const targetArch = platform10 === "linux/arm64" ? "arm64" : "amd64";
|
|
115200
115241
|
try {
|
|
115201
115242
|
execFileSync9(
|
|
@@ -116630,7 +116671,7 @@ __export(beats_exports, {
|
|
|
116630
116671
|
default: () => beats_default,
|
|
116631
116672
|
examples: () => examples11
|
|
116632
116673
|
});
|
|
116633
|
-
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as
|
|
116674
|
+
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync25 } from "fs";
|
|
116634
116675
|
import { resolve as resolve45, join as join70, dirname as dirname31 } from "path";
|
|
116635
116676
|
function fail(message) {
|
|
116636
116677
|
console.error(c.error(message));
|
|
@@ -116703,7 +116744,7 @@ var init_beats2 = __esm({
|
|
|
116703
116744
|
}
|
|
116704
116745
|
const outPath = join70(project.dir, "beats", `${rel}.json`);
|
|
116705
116746
|
mkdirSync35(dirname31(outPath), { recursive: true });
|
|
116706
|
-
|
|
116747
|
+
writeFileSync25(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
|
|
116707
116748
|
report(`beats/${rel}.json`, result, Boolean(args.json));
|
|
116708
116749
|
}
|
|
116709
116750
|
});
|
|
@@ -119476,7 +119517,7 @@ var motionShot_exports = {};
|
|
|
119476
119517
|
__export(motionShot_exports, {
|
|
119477
119518
|
captureMotionPathShot: () => captureMotionPathShot
|
|
119478
119519
|
});
|
|
119479
|
-
import { writeFileSync as
|
|
119520
|
+
import { writeFileSync as writeFileSync26 } from "fs";
|
|
119480
119521
|
function applyOrbitCamera(selectors, cam) {
|
|
119481
119522
|
const first = document.querySelector(selectors[0] ?? "");
|
|
119482
119523
|
const root = first?.closest("[data-composition-id]") ?? document.querySelector("#stage") ?? document.body.firstElementChild ?? document.body;
|
|
@@ -119781,7 +119822,7 @@ async function captureGhostOnionSkin(page, requests, times, size, camera, outPat
|
|
|
119781
119822
|
);
|
|
119782
119823
|
const b64 = String(dataUrl).replace(/^data:image\/png;base64,/, "");
|
|
119783
119824
|
if (!b64) throw new Error("ghost composite returned no data");
|
|
119784
|
-
|
|
119825
|
+
writeFileSync26(outPath, Buffer.from(b64, "base64"));
|
|
119785
119826
|
return outPath;
|
|
119786
119827
|
}
|
|
119787
119828
|
async function captureMarkerOnionSkin(page, requests, times, size, camera, frame, outPath) {
|
|
@@ -119851,7 +119892,7 @@ async function captureMarkerOnionSkin(page, requests, times, size, camera, frame
|
|
|
119851
119892
|
await new Promise((r2) => setTimeout(r2, 60));
|
|
119852
119893
|
const buf = await page.screenshot({ type: "png" });
|
|
119853
119894
|
if (!buf) throw new Error("screenshot returned no data");
|
|
119854
|
-
|
|
119895
|
+
writeFileSync26(outPath, buf);
|
|
119855
119896
|
return outPath;
|
|
119856
119897
|
}
|
|
119857
119898
|
async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {}) {
|
|
@@ -121073,17 +121114,17 @@ __export(browser_exports, {
|
|
|
121073
121114
|
default: () => browser_default,
|
|
121074
121115
|
examples: () => examples18
|
|
121075
121116
|
});
|
|
121076
|
-
async function runEnsure() {
|
|
121117
|
+
async function runEnsure(options) {
|
|
121077
121118
|
ge(c.bold("hyperframes browser ensure"));
|
|
121078
121119
|
if (isLinuxArm()) {
|
|
121079
121120
|
const s3 = ft();
|
|
121080
121121
|
s3.start("Linux ARM64 detected \u2014 looking for system Chromium...");
|
|
121081
|
-
const
|
|
121082
|
-
if (
|
|
121122
|
+
const existing = await findBrowser();
|
|
121123
|
+
if (existing) {
|
|
121083
121124
|
s3.stop(c.success("System Chromium found"));
|
|
121084
121125
|
console.log();
|
|
121085
|
-
console.log(` ${c.dim("Source:")} ${c.bold(
|
|
121086
|
-
console.log(` ${c.dim("Path:")} ${c.bold(
|
|
121126
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121127
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121087
121128
|
console.log();
|
|
121088
121129
|
ye(c.success("Ready to render."));
|
|
121089
121130
|
return;
|
|
@@ -121106,22 +121147,27 @@ async function runEnsure() {
|
|
|
121106
121147
|
return;
|
|
121107
121148
|
}
|
|
121108
121149
|
const s2 = ft();
|
|
121109
|
-
|
|
121110
|
-
|
|
121111
|
-
|
|
121112
|
-
|
|
121113
|
-
|
|
121114
|
-
|
|
121115
|
-
|
|
121116
|
-
|
|
121117
|
-
|
|
121118
|
-
|
|
121150
|
+
if (!options?.force) {
|
|
121151
|
+
s2.start("Looking for an existing browser...");
|
|
121152
|
+
const existing = await findBrowser();
|
|
121153
|
+
if (existing) {
|
|
121154
|
+
s2.stop(c.success("Browser found"));
|
|
121155
|
+
console.log();
|
|
121156
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121157
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121158
|
+
console.log();
|
|
121159
|
+
ye(c.success("Ready to render."));
|
|
121160
|
+
return;
|
|
121161
|
+
}
|
|
121162
|
+
s2.stop("No browser found \u2014 downloading");
|
|
121163
|
+
} else {
|
|
121164
|
+
s2.start("Purging cached download and re-downloading...");
|
|
121119
121165
|
}
|
|
121120
|
-
s2.stop("No browser found \u2014 downloading");
|
|
121121
121166
|
const downloadSpinner = ft();
|
|
121122
121167
|
downloadSpinner.start(`Downloading Chrome Headless Shell ${c.dim("v" + CHROME_VERSION)}...`);
|
|
121123
121168
|
let lastPct = -1;
|
|
121124
121169
|
const result = await ensureBrowser({
|
|
121170
|
+
force: options?.force,
|
|
121125
121171
|
onProgress: (downloaded, total) => {
|
|
121126
121172
|
if (total <= 0) return;
|
|
121127
121173
|
const pct = Math.floor(downloaded / total * 100);
|
|
@@ -121177,6 +121223,7 @@ var init_browser = __esm({
|
|
|
121177
121223
|
init_events();
|
|
121178
121224
|
examples18 = [
|
|
121179
121225
|
["Find or download Chrome for rendering", "hyperframes browser ensure"],
|
|
121226
|
+
["Purge a stale/partial download and re-download", "hyperframes browser ensure --force"],
|
|
121180
121227
|
["Print the Chrome executable path", "hyperframes browser path"],
|
|
121181
121228
|
["Remove cached Chrome download", "hyperframes browser clear"]
|
|
121182
121229
|
];
|
|
@@ -121187,6 +121234,11 @@ var init_browser = __esm({
|
|
|
121187
121234
|
type: "positional",
|
|
121188
121235
|
description: "ensure = find or download Chrome, path = print executable path, clear = remove cached download",
|
|
121189
121236
|
required: false
|
|
121237
|
+
},
|
|
121238
|
+
force: {
|
|
121239
|
+
type: "boolean",
|
|
121240
|
+
description: "ensure only: purge any cached download (including a stale/partial one) and re-download from scratch",
|
|
121241
|
+
default: false
|
|
121190
121242
|
}
|
|
121191
121243
|
},
|
|
121192
121244
|
async run({ args }) {
|
|
@@ -121203,15 +121255,16 @@ ${c.bold("SUBCOMMANDS:")}
|
|
|
121203
121255
|
${c.accent("clear")} ${c.dim("Remove cached Chrome download")}
|
|
121204
121256
|
|
|
121205
121257
|
${c.bold("EXAMPLES:")}
|
|
121206
|
-
${c.accent("npx hyperframes browser ensure")}
|
|
121207
|
-
${c.accent("npx hyperframes browser
|
|
121208
|
-
${c.accent("npx hyperframes browser
|
|
121258
|
+
${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
|
|
121259
|
+
${c.accent("npx hyperframes browser ensure --force")} ${c.dim("Purge a stale/partial download and re-download")}
|
|
121260
|
+
${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
|
|
121261
|
+
${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
|
|
121209
121262
|
`);
|
|
121210
121263
|
return;
|
|
121211
121264
|
}
|
|
121212
121265
|
switch (subcommand) {
|
|
121213
121266
|
case "ensure":
|
|
121214
|
-
return runEnsure();
|
|
121267
|
+
return runEnsure({ force: args.force });
|
|
121215
121268
|
case "path":
|
|
121216
121269
|
return runPath();
|
|
121217
121270
|
case "clear":
|
|
@@ -122013,7 +122066,7 @@ __export(transcribe_exports2, {
|
|
|
122013
122066
|
default: () => transcribe_default,
|
|
122014
122067
|
examples: () => examples20
|
|
122015
122068
|
});
|
|
122016
|
-
import { existsSync as existsSync76, writeFileSync as
|
|
122069
|
+
import { existsSync as existsSync76, writeFileSync as writeFileSync27 } from "fs";
|
|
122017
122070
|
import { resolve as resolve51, join as join77, extname as extname12, dirname as dirname35 } from "path";
|
|
122018
122071
|
function failWith(message, json) {
|
|
122019
122072
|
trackCommandFailure("transcribe", message);
|
|
@@ -122038,7 +122091,7 @@ async function importTranscript(inputPath, dir, json) {
|
|
|
122038
122091
|
const { words, format } = loadTranscript2(inputPath);
|
|
122039
122092
|
if (words.length === 0) exitNoWords(json);
|
|
122040
122093
|
const outPath = join77(dir, "transcript.json");
|
|
122041
|
-
|
|
122094
|
+
writeFileSync27(outPath, JSON.stringify(words, null, 2));
|
|
122042
122095
|
patchCaptionHtml2(dir, words);
|
|
122043
122096
|
if (json) {
|
|
122044
122097
|
console.log(
|
|
@@ -122057,7 +122110,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
|
|
|
122057
122110
|
const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
|
|
122058
122111
|
const outPath = resolve51(output ?? join77(dir, `transcript.${to}`));
|
|
122059
122112
|
const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
|
|
122060
|
-
|
|
122113
|
+
writeFileSync27(outPath, content);
|
|
122061
122114
|
if (json) {
|
|
122062
122115
|
console.log(
|
|
122063
122116
|
JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
|
|
@@ -122091,7 +122144,7 @@ async function transcribeAudio(inputPath, dir, opts) {
|
|
|
122091
122144
|
);
|
|
122092
122145
|
}
|
|
122093
122146
|
}
|
|
122094
|
-
|
|
122147
|
+
writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
|
|
122095
122148
|
patchCaptionHtml2(dir, words);
|
|
122096
122149
|
if (opts.json) {
|
|
122097
122150
|
console.log(
|
|
@@ -122404,13 +122457,13 @@ __export(synthesize_exports, {
|
|
|
122404
122457
|
synthesize: () => synthesize
|
|
122405
122458
|
});
|
|
122406
122459
|
import { execFileSync as execFileSync11 } from "child_process";
|
|
122407
|
-
import { existsSync as existsSync78, writeFileSync as
|
|
122460
|
+
import { existsSync as existsSync78, writeFileSync as writeFileSync28, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
|
|
122408
122461
|
import { join as join79, dirname as dirname36, basename as basename15 } from "path";
|
|
122409
122462
|
import { homedir as homedir13 } from "os";
|
|
122410
122463
|
function ensureSynthScript() {
|
|
122411
122464
|
if (!existsSync78(SCRIPT_PATH)) {
|
|
122412
122465
|
mkdirSync38(SCRIPT_DIR, { recursive: true });
|
|
122413
|
-
|
|
122466
|
+
writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
|
|
122414
122467
|
const currentName = basename15(SCRIPT_PATH);
|
|
122415
122468
|
try {
|
|
122416
122469
|
for (const entry of readdirSync27(SCRIPT_DIR)) {
|
|
@@ -123670,12 +123723,25 @@ var validate_exports = {};
|
|
|
123670
123723
|
__export(validate_exports, {
|
|
123671
123724
|
default: () => validate_default,
|
|
123672
123725
|
extractCompositionErrorsFromLint: () => extractCompositionErrorsFromLint,
|
|
123726
|
+
navigationTimeoutHint: () => navigationTimeoutHint,
|
|
123673
123727
|
raceMediaReady: () => raceMediaReady,
|
|
123674
|
-
|
|
123728
|
+
resolveNavigationTimeoutMs: () => resolveNavigationTimeoutMs,
|
|
123729
|
+
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure,
|
|
123730
|
+
waitForPreferredSeekTarget: () => waitForPreferredSeekTarget
|
|
123675
123731
|
});
|
|
123676
123732
|
import { existsSync as existsSync81, readFileSync as readFileSync53 } from "fs";
|
|
123677
123733
|
import { join as join81, dirname as dirname38 } from "path";
|
|
123678
123734
|
import { fileURLToPath as fileURLToPath14 } from "url";
|
|
123735
|
+
function resolveNavigationTimeoutMs(optTimeout) {
|
|
123736
|
+
return Math.max(NAV_TIMEOUT_FLOOR_MS, optTimeout ?? 0);
|
|
123737
|
+
}
|
|
123738
|
+
function navigationTimeoutHint(err, navTimeoutMs) {
|
|
123739
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
123740
|
+
if (!/navigation timeout/i.test(msg)) return null;
|
|
123741
|
+
return new Error(
|
|
123742
|
+
`Page navigation timed out after ${navTimeoutMs}ms. A blocking external <script> (e.g. GSAP loaded from a CDN) can delay page load past this budget even when the full render succeeds. Vendor the script locally (recommended for deterministic renders), or re-run with a longer --timeout.`
|
|
123743
|
+
);
|
|
123744
|
+
}
|
|
123679
123745
|
function shouldIgnoreRequestFailure(url, errorText, resourceType) {
|
|
123680
123746
|
if (errorText !== "net::ERR_ABORTED") return false;
|
|
123681
123747
|
if (resourceType === "media") return true;
|
|
@@ -123693,7 +123759,13 @@ async function getCompositionDuration3(page) {
|
|
|
123693
123759
|
});
|
|
123694
123760
|
}
|
|
123695
123761
|
async function seekTo2(page, time) {
|
|
123762
|
+
await waitForPreferredSeekTarget(page);
|
|
123696
123763
|
await page.evaluate((t2) => {
|
|
123764
|
+
const player = window.__player;
|
|
123765
|
+
if (player && typeof player.renderSeek === "function") {
|
|
123766
|
+
player.renderSeek(t2);
|
|
123767
|
+
return;
|
|
123768
|
+
}
|
|
123697
123769
|
if (window.__hf && typeof window.__hf.seek === "function") {
|
|
123698
123770
|
window.__hf.seek(t2);
|
|
123699
123771
|
return;
|
|
@@ -123707,6 +123779,18 @@ async function seekTo2(page, time) {
|
|
|
123707
123779
|
}, time);
|
|
123708
123780
|
await new Promise((r2) => setTimeout(r2, SEEK_SETTLE_MS2));
|
|
123709
123781
|
}
|
|
123782
|
+
async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
|
|
123783
|
+
try {
|
|
123784
|
+
await page.waitForFunction(
|
|
123785
|
+
() => {
|
|
123786
|
+
const w3 = window;
|
|
123787
|
+
return typeof w3.__player?.renderSeek === "function" || typeof w3.__hf?.seek === "function";
|
|
123788
|
+
},
|
|
123789
|
+
{ timeout: timeoutMs }
|
|
123790
|
+
);
|
|
123791
|
+
} catch {
|
|
123792
|
+
}
|
|
123793
|
+
}
|
|
123710
123794
|
function raceMediaReady(el, deadlineMs) {
|
|
123711
123795
|
if (Number.isFinite(el.duration) && el.duration > 0) return Promise.resolve();
|
|
123712
123796
|
return new Promise((resolve62) => {
|
|
@@ -123877,7 +123961,14 @@ async function validateInBrowser(project, opts) {
|
|
|
123877
123961
|
errors.push({ level: "error", text: `${res.status()} loading ${path2}`, url });
|
|
123878
123962
|
}
|
|
123879
123963
|
});
|
|
123880
|
-
|
|
123964
|
+
const navTimeoutMs = resolveNavigationTimeoutMs(opts.timeout);
|
|
123965
|
+
try {
|
|
123966
|
+
await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: navTimeoutMs });
|
|
123967
|
+
} catch (err) {
|
|
123968
|
+
const hinted = navigationTimeoutHint(err, navTimeoutMs);
|
|
123969
|
+
if (hinted) throw hinted;
|
|
123970
|
+
throw err;
|
|
123971
|
+
}
|
|
123881
123972
|
await new Promise((r2) => setTimeout(r2, opts.timeout ?? 3e3));
|
|
123882
123973
|
for (const w3 of await auditClipDurations(page, analyzeClipMediaFit2, opts.timeout ?? 3e3)) {
|
|
123883
123974
|
warnings.push(w3);
|
|
@@ -123958,7 +124049,7 @@ function printValidationResult(result, asJson) {
|
|
|
123958
124049
|
}
|
|
123959
124050
|
return errors.length > 0 ? 1 : 0;
|
|
123960
124051
|
}
|
|
123961
|
-
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, MEDIA_EXTENSIONS, validate_default;
|
|
124052
|
+
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, PREFERRED_SEEK_TARGET_WAIT_MS, MEDIA_EXTENSIONS, NAV_TIMEOUT_FLOOR_MS, validate_default;
|
|
123962
124053
|
var init_validate = __esm({
|
|
123963
124054
|
"src/commands/validate.ts"() {
|
|
123964
124055
|
"use strict";
|
|
@@ -123972,7 +124063,9 @@ var init_validate = __esm({
|
|
|
123972
124063
|
__dirname3 = dirname38(__filename2);
|
|
123973
124064
|
CONTRAST_SAMPLES = 5;
|
|
123974
124065
|
SEEK_SETTLE_MS2 = 150;
|
|
124066
|
+
PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
123975
124067
|
MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
|
|
124068
|
+
NAV_TIMEOUT_FLOOR_MS = 1e4;
|
|
123976
124069
|
validate_default = defineCommand({
|
|
123977
124070
|
meta: {
|
|
123978
124071
|
name: "validate",
|
|
@@ -123994,7 +124087,7 @@ Examples:
|
|
|
123994
124087
|
},
|
|
123995
124088
|
timeout: {
|
|
123996
124089
|
type: "string",
|
|
123997
|
-
description: "Ms to wait for scripts to settle (default: 3000)",
|
|
124090
|
+
description: "Ms to wait for scripts to settle and media to load (default: 3000). Also raises the page-navigation budget above its 10s floor when a slow external <script> needs longer.",
|
|
123998
124091
|
default: "3000"
|
|
123999
124092
|
}
|
|
124000
124093
|
},
|
|
@@ -124030,7 +124123,7 @@ __export(contactSheet_exports, {
|
|
|
124030
124123
|
createSvgContactSheet: () => createSvgContactSheet
|
|
124031
124124
|
});
|
|
124032
124125
|
import sharp from "sharp";
|
|
124033
|
-
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as
|
|
124126
|
+
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync29, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
|
|
124034
124127
|
import { join as join83, extname as extname14, basename as basename16, dirname as dirname39 } from "path";
|
|
124035
124128
|
async function createContactSheet(imagePaths, outputPath, opts = {}) {
|
|
124036
124129
|
const {
|
|
@@ -124186,7 +124279,7 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
|
|
|
124186
124279
|
fit: "contain",
|
|
124187
124280
|
background: { r: 245, g: 245, b: 245, alpha: 1 }
|
|
124188
124281
|
}).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
|
|
124189
|
-
|
|
124282
|
+
writeFileSync29(tmpPath, thumb);
|
|
124190
124283
|
tmpPaths.push(tmpPath);
|
|
124191
124284
|
labels.push(svgFileNames[i2].replace(".svg", ""));
|
|
124192
124285
|
} catch {
|
|
@@ -163961,7 +164054,7 @@ __export(snapshot_exports, {
|
|
|
163961
164054
|
tailFrameTime: () => tailFrameTime
|
|
163962
164055
|
});
|
|
163963
164056
|
import { spawn as spawn16 } from "child_process";
|
|
163964
|
-
import { existsSync as existsSync84, mkdtempSync as
|
|
164057
|
+
import { existsSync as existsSync84, mkdtempSync as mkdtempSync6, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync30 } from "fs";
|
|
163965
164058
|
import { tmpdir as tmpdir7 } from "os";
|
|
163966
164059
|
import { resolve as resolve55, join as join84, relative as relative15, isAbsolute as isAbsolute14, basename as basename19 } from "path";
|
|
163967
164060
|
function orbitStageSource() {
|
|
@@ -163986,7 +164079,7 @@ function orbitStageSource() {
|
|
|
163986
164079
|
}`;
|
|
163987
164080
|
}
|
|
163988
164081
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
163989
|
-
const tmp =
|
|
164082
|
+
const tmp = mkdtempSync6(join84(tmpdir7(), "hf-snapshot-frame-"));
|
|
163990
164083
|
const outPath = join84(tmp, "frame.png");
|
|
163991
164084
|
try {
|
|
163992
164085
|
const ffmpegPath = findFFmpeg();
|
|
@@ -164473,7 +164566,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${args.output ? snaps
|
|
|
164473
164566
|
}
|
|
164474
164567
|
}
|
|
164475
164568
|
const descPath = join84(snapshotDir, "descriptions.md");
|
|
164476
|
-
|
|
164569
|
+
writeFileSync30(descPath, descriptions.join("\n"));
|
|
164477
164570
|
console.log(` ${c.dim("descriptions.md")} (Gemini frame analysis)`);
|
|
164478
164571
|
}
|
|
164479
164572
|
} catch (descErr) {
|
|
@@ -164493,7 +164586,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
|
|
|
164493
164586
|
});
|
|
164494
164587
|
|
|
164495
164588
|
// src/capture/assetDownloader.ts
|
|
164496
|
-
import { writeFileSync as
|
|
164589
|
+
import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync40 } from "fs";
|
|
164497
164590
|
import { join as join85, extname as extname15 } from "path";
|
|
164498
164591
|
import { createHash as createHash12 } from "crypto";
|
|
164499
164592
|
function svgContentHashSlug(svgSource, isLogo) {
|
|
@@ -164521,7 +164614,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164521
164614
|
const name = `${finalSlug}.svg`;
|
|
164522
164615
|
const localPath = `assets/svgs/${name}`;
|
|
164523
164616
|
try {
|
|
164524
|
-
|
|
164617
|
+
writeFileSync31(join85(outputDir, localPath), svg.outerHTML, "utf-8");
|
|
164525
164618
|
assets.push({ url: "", localPath, type: "svg" });
|
|
164526
164619
|
} catch {
|
|
164527
164620
|
}
|
|
@@ -164534,7 +164627,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164534
164627
|
const localPath = `assets/${name}`;
|
|
164535
164628
|
const buffer = await fetchBuffer(icon.href);
|
|
164536
164629
|
if (buffer) {
|
|
164537
|
-
|
|
164630
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164538
164631
|
assets.push({ url: icon.href, localPath, type: "favicon" });
|
|
164539
164632
|
break;
|
|
164540
164633
|
}
|
|
@@ -164599,7 +164692,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164599
164692
|
const name = `${slug}${ext}`;
|
|
164600
164693
|
usedNames.add(slug);
|
|
164601
164694
|
const localPath = `assets/${name}`;
|
|
164602
|
-
|
|
164695
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164603
164696
|
assets.push({ url, localPath, type: "image" });
|
|
164604
164697
|
imgIdx++;
|
|
164605
164698
|
} catch {
|
|
@@ -164612,7 +164705,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164612
164705
|
const localPath = `assets/og-image${ext}`;
|
|
164613
164706
|
const buffer = await fetchBuffer(tokens.ogImage);
|
|
164614
164707
|
if (buffer && buffer.length > 5e3) {
|
|
164615
|
-
|
|
164708
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164616
164709
|
assets.push({ url: tokens.ogImage, localPath, type: "image" });
|
|
164617
164710
|
}
|
|
164618
164711
|
} catch {
|
|
@@ -164675,7 +164768,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
|
|
|
164675
164768
|
const relativePath = `assets/fonts/${filename}`;
|
|
164676
164769
|
const buffer = await fetchBuffer(fontUrl);
|
|
164677
164770
|
if (buffer) {
|
|
164678
|
-
|
|
164771
|
+
writeFileSync31(localPath, buffer);
|
|
164679
164772
|
rewritten = rewritten.split(fontUrl).join(relativePath);
|
|
164680
164773
|
familyCounts.set(family, familyCount + 1);
|
|
164681
164774
|
count++;
|
|
@@ -166250,7 +166343,7 @@ var init_designStyleExtractor = __esm({
|
|
|
166250
166343
|
});
|
|
166251
166344
|
|
|
166252
166345
|
// src/capture/fontMetadataExtractor.ts
|
|
166253
|
-
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as
|
|
166346
|
+
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync33, existsSync as existsSync86 } from "fs";
|
|
166254
166347
|
import { join as join87 } from "path";
|
|
166255
166348
|
import * as fontkit from "fontkit";
|
|
166256
166349
|
function isFontCollection(value) {
|
|
@@ -166284,7 +166377,7 @@ function extractFontMetadata(fontsDir, outputPath) {
|
|
|
166284
166377
|
tool: "fontkit"
|
|
166285
166378
|
}
|
|
166286
166379
|
};
|
|
166287
|
-
|
|
166380
|
+
writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
|
|
166288
166381
|
return manifest;
|
|
166289
166382
|
}
|
|
166290
166383
|
function readSingleFont(fullPath, filename) {
|
|
@@ -166573,7 +166666,7 @@ var init_animationCataloger = __esm({
|
|
|
166573
166666
|
});
|
|
166574
166667
|
|
|
166575
166668
|
// src/capture/mediaCapture.ts
|
|
166576
|
-
import { mkdirSync as mkdirSync43, writeFileSync as
|
|
166669
|
+
import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync34, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
|
|
166577
166670
|
import { join as join88, extname as extname16 } from "path";
|
|
166578
166671
|
async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
166579
166672
|
let savedCount = 0;
|
|
@@ -166606,7 +166699,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166606
166699
|
const hash2 = buf.toString("base64").slice(0, 100);
|
|
166607
166700
|
if (savedHashes.has(hash2)) continue;
|
|
166608
166701
|
savedHashes.add(hash2);
|
|
166609
|
-
|
|
166702
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
|
|
166610
166703
|
savedCount++;
|
|
166611
166704
|
continue;
|
|
166612
166705
|
}
|
|
@@ -166624,7 +166717,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166624
166717
|
} catch {
|
|
166625
166718
|
continue;
|
|
166626
166719
|
}
|
|
166627
|
-
|
|
166720
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
|
|
166628
166721
|
savedCount++;
|
|
166629
166722
|
}
|
|
166630
166723
|
} catch {
|
|
@@ -166702,7 +166795,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
166702
166795
|
}
|
|
166703
166796
|
}
|
|
166704
166797
|
if (manifest.length > 0) {
|
|
166705
|
-
|
|
166798
|
+
writeFileSync34(
|
|
166706
166799
|
join88(outputDir, "extracted", "lottie-manifest.json"),
|
|
166707
166800
|
JSON.stringify(manifest, null, 2),
|
|
166708
166801
|
"utf-8"
|
|
@@ -166738,7 +166831,7 @@ async function downloadVideoBody(srcUrl, filename, videosDir) {
|
|
|
166738
166831
|
}
|
|
166739
166832
|
if (total < 1024) return null;
|
|
166740
166833
|
const safe = /\.[a-z0-9]+$/i.test(filename) ? filename.replace(/[^\w.-]/g, "_") : `video${ext}`;
|
|
166741
|
-
|
|
166834
|
+
writeFileSync34(join88(videosDir, safe), Buffer.concat(chunks));
|
|
166742
166835
|
return `assets/videos/${safe}`;
|
|
166743
166836
|
} catch {
|
|
166744
166837
|
return null;
|
|
@@ -166856,7 +166949,7 @@ async function captureVideoManifest(page, outputDir, progress, opts) {
|
|
|
166856
166949
|
});
|
|
166857
166950
|
}
|
|
166858
166951
|
if (videoManifest.length > 0) {
|
|
166859
|
-
|
|
166952
|
+
writeFileSync34(
|
|
166860
166953
|
join88(outputDir, "extracted", "video-manifest.json"),
|
|
166861
166954
|
JSON.stringify(videoManifest, null, 2),
|
|
166862
166955
|
"utf-8"
|
|
@@ -167309,7 +167402,7 @@ var agentPromptGenerator_exports = {};
|
|
|
167309
167402
|
__export(agentPromptGenerator_exports, {
|
|
167310
167403
|
generateAgentPrompt: () => generateAgentPrompt
|
|
167311
167404
|
});
|
|
167312
|
-
import { writeFileSync as
|
|
167405
|
+
import { writeFileSync as writeFileSync35, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
|
|
167313
167406
|
import { join as join90 } from "path";
|
|
167314
167407
|
function inferColorRole(hex) {
|
|
167315
167408
|
const r2 = parseInt(hex.slice(1, 3), 16) / 255;
|
|
@@ -167329,9 +167422,9 @@ function inferColorRole(hex) {
|
|
|
167329
167422
|
}
|
|
167330
167423
|
function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
|
|
167331
167424
|
const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
|
|
167332
|
-
|
|
167333
|
-
|
|
167334
|
-
|
|
167425
|
+
writeFileSync35(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
|
|
167426
|
+
writeFileSync35(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
|
|
167427
|
+
writeFileSync35(join90(outputDir, ".cursorrules"), prompt, "utf-8");
|
|
167335
167428
|
}
|
|
167336
167429
|
function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
|
|
167337
167430
|
const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
|
|
@@ -167444,7 +167537,7 @@ var init_agentPromptGenerator = __esm({
|
|
|
167444
167537
|
});
|
|
167445
167538
|
|
|
167446
167539
|
// src/capture/scaffolding.ts
|
|
167447
|
-
import { existsSync as existsSync89, writeFileSync as
|
|
167540
|
+
import { existsSync as existsSync89, writeFileSync as writeFileSync36, readFileSync as readFileSync60 } from "fs";
|
|
167448
167541
|
import { join as join91, resolve as resolve57 } from "path";
|
|
167449
167542
|
function loadEnvFile(startDir) {
|
|
167450
167543
|
try {
|
|
@@ -167474,7 +167567,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
|
|
|
167474
167567
|
const metaPath = join91(outputDir, "meta.json");
|
|
167475
167568
|
if (!existsSync89(metaPath)) {
|
|
167476
167569
|
const hostname = new URL(url).hostname.replace(/^www\./, "");
|
|
167477
|
-
|
|
167570
|
+
writeFileSync36(
|
|
167478
167571
|
metaPath,
|
|
167479
167572
|
JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
|
|
167480
167573
|
"utf-8"
|
|
@@ -167509,7 +167602,7 @@ var screenshotCapture_exports = {};
|
|
|
167509
167602
|
__export(screenshotCapture_exports, {
|
|
167510
167603
|
captureScrollScreenshots: () => captureScrollScreenshots
|
|
167511
167604
|
});
|
|
167512
|
-
import { writeFileSync as
|
|
167605
|
+
import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync44 } from "fs";
|
|
167513
167606
|
import { join as join93 } from "path";
|
|
167514
167607
|
async function captureScrollScreenshots(page, outputDir) {
|
|
167515
167608
|
const screenshotsDir = join93(outputDir, "screenshots");
|
|
@@ -167606,7 +167699,7 @@ async function captureScrollScreenshots(page, outputDir) {
|
|
|
167606
167699
|
const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
|
|
167607
167700
|
const filePath = join93(screenshotsDir, filename);
|
|
167608
167701
|
const buffer = await page.screenshot({ type: "png" });
|
|
167609
|
-
|
|
167702
|
+
writeFileSync37(filePath, buffer);
|
|
167610
167703
|
filePaths.push(`screenshots/${filename}`);
|
|
167611
167704
|
}
|
|
167612
167705
|
await page.evaluate(`window.scrollTo(0, 0)`);
|
|
@@ -167953,7 +168046,7 @@ var capture_exports = {};
|
|
|
167953
168046
|
__export(capture_exports, {
|
|
167954
168047
|
captureWebsite: () => captureWebsite
|
|
167955
168048
|
});
|
|
167956
|
-
import { mkdirSync as mkdirSync45, writeFileSync as
|
|
168049
|
+
import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync38, existsSync as existsSync90 } from "fs";
|
|
167957
168050
|
import { join as join94 } from "path";
|
|
167958
168051
|
async function captureWebsite(opts, onProgress) {
|
|
167959
168052
|
const {
|
|
@@ -168152,7 +168245,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168152
168245
|
return true;
|
|
168153
168246
|
});
|
|
168154
168247
|
capturedShaders = unique;
|
|
168155
|
-
|
|
168248
|
+
writeFileSync38(
|
|
168156
168249
|
join94(outputDir, "extracted", "shaders.json"),
|
|
168157
168250
|
JSON.stringify(unique, null, 2),
|
|
168158
168251
|
"utf-8"
|
|
@@ -168167,7 +168260,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168167
168260
|
...tokens,
|
|
168168
168261
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168169
168262
|
};
|
|
168170
|
-
|
|
168263
|
+
writeFileSync38(
|
|
168171
168264
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168172
168265
|
JSON.stringify(tokensForDisk, null, 2),
|
|
168173
168266
|
"utf-8"
|
|
@@ -168175,7 +168268,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168175
168268
|
progress("style", "Extracting design styles...");
|
|
168176
168269
|
try {
|
|
168177
168270
|
const designStyles = await extractDesignStyles(page1);
|
|
168178
|
-
|
|
168271
|
+
writeFileSync38(
|
|
168179
168272
|
join94(outputDir, "extracted", "design-styles.json"),
|
|
168180
168273
|
JSON.stringify(designStyles, null, 2),
|
|
168181
168274
|
"utf-8"
|
|
@@ -168282,7 +168375,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168282
168375
|
scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
|
|
168283
168376
|
representativeAnimations: representativeAnims
|
|
168284
168377
|
};
|
|
168285
|
-
|
|
168378
|
+
writeFileSync38(
|
|
168286
168379
|
join94(outputDir, "extracted", "animations.json"),
|
|
168287
168380
|
JSON.stringify(leanCatalog, null, 2),
|
|
168288
168381
|
"utf-8"
|
|
@@ -168313,7 +168406,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168313
168406
|
...tokens,
|
|
168314
168407
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168315
168408
|
};
|
|
168316
|
-
|
|
168409
|
+
writeFileSync38(
|
|
168317
168410
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168318
168411
|
JSON.stringify(tokensForDisk2, null, 2),
|
|
168319
168412
|
"utf-8"
|
|
@@ -168330,12 +168423,12 @@ ${extracted.bodyHtml}
|
|
|
168330
168423
|
</body>
|
|
168331
168424
|
</html>
|
|
168332
168425
|
`;
|
|
168333
|
-
|
|
168426
|
+
writeFileSync38(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
|
|
168334
168427
|
} catch (err) {
|
|
168335
168428
|
warnings.push(`page.html write failed: ${err}`);
|
|
168336
168429
|
}
|
|
168337
168430
|
if (visibleTextContent) {
|
|
168338
|
-
|
|
168431
|
+
writeFileSync38(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
|
|
168339
168432
|
}
|
|
168340
168433
|
const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
|
|
168341
168434
|
progress("design", "Generating asset descriptions...");
|
|
@@ -168344,7 +168437,7 @@ ${extracted.bodyHtml}
|
|
|
168344
168437
|
if (lines.length > 0) {
|
|
168345
168438
|
const hasGeminiKey = !!(process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY);
|
|
168346
168439
|
const header = hasGeminiKey ? "# Asset Descriptions\n\nOne line per file. Read this instead of opening every image individually.\n\nTo find a specific brand or icon, **grep this file for the brand name in the description text** (e.g. `grep -i 'autodesk' asset-descriptions.md`). The Gemini Vision captions identify what's actually in each file \u2014 that's the agent's selector.\n\nThe `logo-<hash>.svg` filename prefix is a cheap structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). It is NOT a content claim \u2014 many `logo-*` files are nav icons or decorative shapes. Trust the captions, not the filename prefix.\n\n" : "# Asset Descriptions\n\n\u26A0\uFE0F GEMINI_API_KEY not set \u2014 descriptions below are catalog-derived (alt text, headings, section context, filename) instead of Vision-generated. To get richer Vision descriptions on the next capture, set GEMINI_API_KEY (or GOOGLE_API_KEY) and re-run.\n\nThe `logo-<hash>.svg` filename prefix is a structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). To pick the actual brand logo without Vision, open the `logo-*` candidates in a previewer or rasterize them with `sharp` before referencing \u2014 composing a fake logo ships off-brand in the final video.\n\n";
|
|
168347
|
-
|
|
168440
|
+
writeFileSync38(
|
|
168348
168441
|
join94(outputDir, "extracted", "asset-descriptions.md"),
|
|
168349
168442
|
header + lines.map((l) => "- " + l).join("\n") + "\n",
|
|
168350
168443
|
"utf-8"
|
|
@@ -168636,11 +168729,11 @@ var init_capture2 = __esm({
|
|
|
168636
168729
|
} catch (err) {
|
|
168637
168730
|
const errMsg = normalizeErrorMessage(err);
|
|
168638
168731
|
try {
|
|
168639
|
-
const { mkdirSync: mkdirSync56, writeFileSync:
|
|
168732
|
+
const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync48 } = await import("fs");
|
|
168640
168733
|
mkdirSync56(outputDir, { recursive: true });
|
|
168641
168734
|
const isTimeout = /timeout|timed out/i.test(errMsg);
|
|
168642
168735
|
const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
|
|
168643
|
-
|
|
168736
|
+
writeFileSync48(
|
|
168644
168737
|
`${outputDir}/BLOCKED.md`,
|
|
168645
168738
|
`# Capture Failed
|
|
168646
168739
|
|
|
@@ -168683,7 +168776,7 @@ __export(state_exports, {
|
|
|
168683
168776
|
stateFilePath: () => stateFilePath,
|
|
168684
168777
|
writeStackOutputs: () => writeStackOutputs
|
|
168685
168778
|
});
|
|
168686
|
-
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as
|
|
168779
|
+
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync39 } from "fs";
|
|
168687
168780
|
import { dirname as dirname40, join as join95 } from "path";
|
|
168688
168781
|
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
168689
168782
|
return join95(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
@@ -168691,7 +168784,7 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
|
168691
168784
|
function writeStackOutputs(outputs, cwd = process.cwd()) {
|
|
168692
168785
|
const path2 = stateFilePath(outputs.stackName, cwd);
|
|
168693
168786
|
mkdirSync46(dirname40(path2), { recursive: true });
|
|
168694
|
-
|
|
168787
|
+
writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
|
|
168695
168788
|
return path2;
|
|
168696
168789
|
}
|
|
168697
168790
|
function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
@@ -170243,7 +170336,7 @@ __export(cloudrun_exports, {
|
|
|
170243
170336
|
});
|
|
170244
170337
|
import { spawnSync as spawnSync6 } from "child_process";
|
|
170245
170338
|
import { createRequire as createRequire4 } from "module";
|
|
170246
|
-
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as
|
|
170339
|
+
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync40 } from "fs";
|
|
170247
170340
|
import { homedir as homedir14 } from "os";
|
|
170248
170341
|
import { dirname as dirname42, join as join101, resolve as resolve61 } from "path";
|
|
170249
170342
|
function stateDir() {
|
|
@@ -170254,7 +170347,7 @@ function statePath() {
|
|
|
170254
170347
|
}
|
|
170255
170348
|
function writeState(state) {
|
|
170256
170349
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170257
|
-
|
|
170350
|
+
writeFileSync40(statePath(), JSON.stringify(state, null, 2));
|
|
170258
170351
|
}
|
|
170259
170352
|
function readState(args) {
|
|
170260
170353
|
const overrides = {
|
|
@@ -170417,7 +170510,7 @@ function findRepoRoot(tfDir) {
|
|
|
170417
170510
|
function writeCloudBuildConfig(image) {
|
|
170418
170511
|
const cfgPath = join101(stateDir(), "cloudrun-cloudbuild.yaml");
|
|
170419
170512
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170420
|
-
|
|
170513
|
+
writeFileSync40(
|
|
170421
170514
|
cfgPath,
|
|
170422
170515
|
[
|
|
170423
170516
|
"steps:",
|
|
@@ -174367,7 +174460,7 @@ var init_parseFigmaRef = __esm({
|
|
|
174367
174460
|
});
|
|
174368
174461
|
|
|
174369
174462
|
// ../core/dist/figma/freeze.js
|
|
174370
|
-
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as
|
|
174463
|
+
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync41 } from "fs";
|
|
174371
174464
|
import { dirname as dirname45 } from "path";
|
|
174372
174465
|
function exceedsFreezeCap(byteLength) {
|
|
174373
174466
|
return byteLength > MAX_FREEZE_BYTES;
|
|
@@ -174379,12 +174472,12 @@ function freezeBytes(bytes, destPath) {
|
|
|
174379
174472
|
throw new Error(`freeze failed: ${bytes.length} bytes exceeds ${MAX_FREEZE_BYTES} cap`);
|
|
174380
174473
|
mkdirSync49(dirname45(destPath), { recursive: true });
|
|
174381
174474
|
try {
|
|
174382
|
-
|
|
174475
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174383
174476
|
} catch (err) {
|
|
174384
174477
|
if (err.code !== "EEXIST")
|
|
174385
174478
|
throw err;
|
|
174386
174479
|
rmSync21(destPath);
|
|
174387
|
-
|
|
174480
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174388
174481
|
}
|
|
174389
174482
|
return bytes.length;
|
|
174390
174483
|
}
|
|
@@ -174421,7 +174514,7 @@ var init_jsonl = __esm({
|
|
|
174421
174514
|
});
|
|
174422
174515
|
|
|
174423
174516
|
// ../core/dist/figma/manifest.js
|
|
174424
|
-
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as
|
|
174517
|
+
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync43 } from "fs";
|
|
174425
174518
|
import { join as join104 } from "path";
|
|
174426
174519
|
function mediaDir(projectDir) {
|
|
174427
174520
|
return join104(projectDir, ".media");
|
|
@@ -174475,7 +174568,7 @@ function updateRecord(projectDir, record) {
|
|
|
174475
174568
|
}
|
|
174476
174569
|
return line2;
|
|
174477
174570
|
});
|
|
174478
|
-
|
|
174571
|
+
writeFileSync43(p2, out.join("\n"));
|
|
174479
174572
|
}
|
|
174480
174573
|
function nextId(projectDir, type) {
|
|
174481
174574
|
const re2 = new RegExp(`^${type}_(\\d+)$`);
|
|
@@ -174516,7 +174609,7 @@ var init_manifest = __esm({
|
|
|
174516
174609
|
});
|
|
174517
174610
|
|
|
174518
174611
|
// ../core/dist/figma/mediaIndex.js
|
|
174519
|
-
import { mkdirSync as mkdirSync51, writeFileSync as
|
|
174612
|
+
import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync44 } from "fs";
|
|
174520
174613
|
import { dirname as dirname46, join as join105 } from "path";
|
|
174521
174614
|
function isRow(value) {
|
|
174522
174615
|
return typeof value === "object" && value !== null;
|
|
@@ -174568,7 +174661,7 @@ function regenerateIndex(projectDir) {
|
|
|
174568
174661
|
const content = generateIndexContent(records);
|
|
174569
174662
|
const p2 = indexPath(projectDir);
|
|
174570
174663
|
mkdirSync51(dirname46(p2), { recursive: true });
|
|
174571
|
-
|
|
174664
|
+
writeFileSync44(p2, content);
|
|
174572
174665
|
return content;
|
|
174573
174666
|
}
|
|
174574
174667
|
var init_mediaIndex = __esm({
|
|
@@ -174633,7 +174726,7 @@ var init_sanitizeSvg = __esm({
|
|
|
174633
174726
|
});
|
|
174634
174727
|
|
|
174635
174728
|
// ../core/dist/figma/bindings.js
|
|
174636
|
-
import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as
|
|
174729
|
+
import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync45 } from "fs";
|
|
174637
174730
|
import { join as join106 } from "path";
|
|
174638
174731
|
function bindingsPath(projectDir) {
|
|
174639
174732
|
return join106(mediaDir(projectDir), BINDINGS_FILE);
|
|
@@ -174655,7 +174748,7 @@ function upsertBindings(projectDir, records) {
|
|
|
174655
174748
|
const survivors = readLines(projectDir).filter((line2) => !(isBindingRecord(line2) && incoming.has(line2.figmaId)));
|
|
174656
174749
|
mkdirSync53(mediaDir(projectDir), { recursive: true });
|
|
174657
174750
|
const lines = [...survivors, ...records].map((r2) => JSON.stringify(r2)).join("\n");
|
|
174658
|
-
|
|
174751
|
+
writeFileSync45(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
|
|
174659
174752
|
}
|
|
174660
174753
|
var BINDINGS_FILE;
|
|
174661
174754
|
var init_bindings = __esm({
|
|
@@ -175322,7 +175415,7 @@ __export(tokens_exports, {
|
|
|
175322
175415
|
default: () => tokens_default,
|
|
175323
175416
|
runTokensImport: () => runTokensImport
|
|
175324
175417
|
});
|
|
175325
|
-
import { writeFileSync as
|
|
175418
|
+
import { writeFileSync as writeFileSync46 } from "fs";
|
|
175326
175419
|
import { join as join108 } from "path";
|
|
175327
175420
|
async function runTokensImport(refInput, deps) {
|
|
175328
175421
|
const { fileKey } = parseFigmaRef(refInput);
|
|
@@ -175337,7 +175430,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175337
175430
|
if (vars !== null) {
|
|
175338
175431
|
const out = tokensToVariables(vars, { fileKey, version: version2 });
|
|
175339
175432
|
upsertBindings(deps.projectDir, out.bindings);
|
|
175340
|
-
|
|
175433
|
+
writeFileSync46(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
|
|
175341
175434
|
return { mode: "variables", entries: out.entries, sidecarPath };
|
|
175342
175435
|
}
|
|
175343
175436
|
const styles = await deps.client.styles(fileKey);
|
|
@@ -175351,7 +175444,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175351
175444
|
value: null
|
|
175352
175445
|
}))
|
|
175353
175446
|
};
|
|
175354
|
-
|
|
175447
|
+
writeFileSync46(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
|
|
175355
175448
|
return { mode: "styles", entries: [], sidecarPath };
|
|
175356
175449
|
}
|
|
175357
175450
|
var tokens_default;
|
|
@@ -175393,7 +175486,7 @@ __export(component_exports, {
|
|
|
175393
175486
|
default: () => component_default,
|
|
175394
175487
|
runComponentImport: () => runComponentImport
|
|
175395
175488
|
});
|
|
175396
|
-
import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as
|
|
175489
|
+
import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync47 } from "fs";
|
|
175397
175490
|
import { join as join109, relative as relative17 } from "path";
|
|
175398
175491
|
function escapeAttr2(value) {
|
|
175399
175492
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
@@ -175431,7 +175524,7 @@ async function runComponentImport(refInput, deps) {
|
|
|
175431
175524
|
);
|
|
175432
175525
|
}
|
|
175433
175526
|
const htmlFile = join109(componentDir, `${name}.html`);
|
|
175434
|
-
|
|
175527
|
+
writeFileSync47(htmlFile, html + "\n");
|
|
175435
175528
|
const registryItem = {
|
|
175436
175529
|
name,
|
|
175437
175530
|
type: "hyperframes:component",
|
|
@@ -175451,7 +175544,7 @@ async function runComponentImport(refInput, deps) {
|
|
|
175451
175544
|
}))
|
|
175452
175545
|
]
|
|
175453
175546
|
};
|
|
175454
|
-
|
|
175547
|
+
writeFileSync47(
|
|
175455
175548
|
join109(componentDir, "registry-item.json"),
|
|
175456
175549
|
JSON.stringify(registryItem, null, 2) + "\n"
|
|
175457
175550
|
);
|
|
@@ -175692,7 +175785,7 @@ __export(autoUpdate_exports, {
|
|
|
175692
175785
|
scheduleBackgroundInstall: () => scheduleBackgroundInstall
|
|
175693
175786
|
});
|
|
175694
175787
|
import { spawn as spawn17 } from "child_process";
|
|
175695
|
-
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as
|
|
175788
|
+
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync4 } from "fs";
|
|
175696
175789
|
import { homedir as homedir16 } from "os";
|
|
175697
175790
|
import { join as join110 } from "path";
|
|
175698
175791
|
import { compareVersions as compareVersions3 } from "compare-versions";
|
|
@@ -175741,7 +175834,7 @@ function launchDetachedInstall(installCommand, version2) {
|
|
|
175741
175834
|
} catch (e) {}
|
|
175742
175835
|
});
|
|
175743
175836
|
`;
|
|
175744
|
-
const out =
|
|
175837
|
+
const out = openSync4(LOG_FILE, "a", 384);
|
|
175745
175838
|
const child = spawn17(process.execPath, ["-e", nodeScript], {
|
|
175746
175839
|
detached: true,
|
|
175747
175840
|
stdio: ["ignore", out, out],
|