hyperframes 0.7.31 → 0.7.33
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 +394 -198
- 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-DeqMZHQ4.js → index-BZBjzYc8.js} +3 -3
- package/dist/studio/assets/{index-ClVRei_K.js → index-CFm5HEIz.js} +1 -1
- package/dist/studio/assets/{index-DM6n1UAe.js → index-z7MmyGzS.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.33" : "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
|
|
|
@@ -60667,8 +60667,36 @@ async function applyDomLayerMask(page, showIds, extraHideIds) {
|
|
|
60667
60667
|
(args) => {
|
|
60668
60668
|
const existing = document.getElementById(args.styleId);
|
|
60669
60669
|
if (existing) existing.remove();
|
|
60670
|
+
const restoreMaskedTimedDescendants = () => {
|
|
60671
|
+
const masked = document.querySelectorAll(`[${args.hiddenAttr}="1"]`);
|
|
60672
|
+
for (const node of masked) {
|
|
60673
|
+
if (!(node instanceof HTMLElement)) continue;
|
|
60674
|
+
const prevVisibility = node.getAttribute(args.prevVisibilityAttr);
|
|
60675
|
+
const prevPriority = node.getAttribute(args.prevPriorityAttr);
|
|
60676
|
+
if (prevVisibility === null) {
|
|
60677
|
+
node.style.removeProperty("visibility");
|
|
60678
|
+
} else {
|
|
60679
|
+
node.style.setProperty("visibility", prevVisibility, prevPriority ?? "");
|
|
60680
|
+
}
|
|
60681
|
+
node.removeAttribute(args.hiddenAttr);
|
|
60682
|
+
node.removeAttribute(args.prevVisibilityAttr);
|
|
60683
|
+
node.removeAttribute(args.prevPriorityAttr);
|
|
60684
|
+
}
|
|
60685
|
+
};
|
|
60686
|
+
restoreMaskedTimedDescendants();
|
|
60687
|
+
const hiddenTimedDescendants = [];
|
|
60688
|
+
const rememberHiddenTimedDescendants = (root) => {
|
|
60689
|
+
for (const node of root.querySelectorAll("[data-start]")) {
|
|
60690
|
+
if (!(node instanceof HTMLElement)) continue;
|
|
60691
|
+
const computed = window.getComputedStyle(node);
|
|
60692
|
+
if (computed.visibility !== "hidden" && computed.display !== "none") continue;
|
|
60693
|
+
hiddenTimedDescendants.push(node);
|
|
60694
|
+
}
|
|
60695
|
+
};
|
|
60670
60696
|
const showSelectors = [];
|
|
60671
60697
|
for (const id of args.show) {
|
|
60698
|
+
const el = document.getElementById(id);
|
|
60699
|
+
if (el) rememberHiddenTimedDescendants(el);
|
|
60672
60700
|
const escaped = CSS.escape(id);
|
|
60673
60701
|
showSelectors.push(`#${escaped}`, `#${escaped} *`);
|
|
60674
60702
|
const renderEscaped = CSS.escape(`__render_frame_${id}__`);
|
|
@@ -60681,6 +60709,23 @@ async function applyDomLayerMask(page, showIds, extraHideIds) {
|
|
|
60681
60709
|
style.textContent = `${massHideRule}
|
|
60682
60710
|
${showRule}`;
|
|
60683
60711
|
document.head.appendChild(style);
|
|
60712
|
+
for (const el of hiddenTimedDescendants) {
|
|
60713
|
+
if (el.getAttribute(args.hiddenAttr) === "1") continue;
|
|
60714
|
+
const prevVisibility = el.style.getPropertyValue("visibility");
|
|
60715
|
+
const prevPriority = typeof el.style.getPropertyPriority === "function" ? el.style.getPropertyPriority("visibility") : "";
|
|
60716
|
+
if (prevVisibility) {
|
|
60717
|
+
el.setAttribute(args.prevVisibilityAttr, prevVisibility);
|
|
60718
|
+
} else {
|
|
60719
|
+
el.removeAttribute(args.prevVisibilityAttr);
|
|
60720
|
+
}
|
|
60721
|
+
if (prevPriority) {
|
|
60722
|
+
el.setAttribute(args.prevPriorityAttr, prevPriority);
|
|
60723
|
+
} else {
|
|
60724
|
+
el.removeAttribute(args.prevPriorityAttr);
|
|
60725
|
+
}
|
|
60726
|
+
el.setAttribute(args.hiddenAttr, "1");
|
|
60727
|
+
el.style.setProperty("visibility", "hidden", "important");
|
|
60728
|
+
}
|
|
60684
60729
|
for (const id of args.hide) {
|
|
60685
60730
|
const el = document.getElementById(id);
|
|
60686
60731
|
if (el) {
|
|
@@ -60692,7 +60737,14 @@ ${showRule}`;
|
|
|
60692
60737
|
}
|
|
60693
60738
|
}
|
|
60694
60739
|
},
|
|
60695
|
-
{
|
|
60740
|
+
{
|
|
60741
|
+
show: showIds,
|
|
60742
|
+
hide: extraHideIds,
|
|
60743
|
+
styleId: DOM_LAYER_MASK_STYLE_ID,
|
|
60744
|
+
hiddenAttr: DOM_LAYER_MASK_HIDDEN_ATTR,
|
|
60745
|
+
prevVisibilityAttr: DOM_LAYER_MASK_PREV_VISIBILITY_ATTR,
|
|
60746
|
+
prevPriorityAttr: DOM_LAYER_MASK_PREV_PRIORITY_ATTR
|
|
60747
|
+
}
|
|
60696
60748
|
);
|
|
60697
60749
|
}
|
|
60698
60750
|
async function removeDomLayerMask(page, extraHideIds) {
|
|
@@ -60700,6 +60752,20 @@ async function removeDomLayerMask(page, extraHideIds) {
|
|
|
60700
60752
|
(args) => {
|
|
60701
60753
|
const style = document.getElementById(args.styleId);
|
|
60702
60754
|
if (style) style.remove();
|
|
60755
|
+
const masked = document.querySelectorAll(`[${args.hiddenAttr}="1"]`);
|
|
60756
|
+
for (const node of masked) {
|
|
60757
|
+
if (!(node instanceof HTMLElement)) continue;
|
|
60758
|
+
const prevVisibility = node.getAttribute(args.prevVisibilityAttr);
|
|
60759
|
+
const prevPriority = node.getAttribute(args.prevPriorityAttr);
|
|
60760
|
+
if (prevVisibility === null) {
|
|
60761
|
+
node.style.removeProperty("visibility");
|
|
60762
|
+
} else {
|
|
60763
|
+
node.style.setProperty("visibility", prevVisibility, prevPriority ?? "");
|
|
60764
|
+
}
|
|
60765
|
+
node.removeAttribute(args.hiddenAttr);
|
|
60766
|
+
node.removeAttribute(args.prevVisibilityAttr);
|
|
60767
|
+
node.removeAttribute(args.prevPriorityAttr);
|
|
60768
|
+
}
|
|
60703
60769
|
for (const id of args.hide) {
|
|
60704
60770
|
const el = document.getElementById(id);
|
|
60705
60771
|
if (el) {
|
|
@@ -60709,7 +60775,13 @@ async function removeDomLayerMask(page, extraHideIds) {
|
|
|
60709
60775
|
if (img) img.style.removeProperty("visibility");
|
|
60710
60776
|
}
|
|
60711
60777
|
},
|
|
60712
|
-
{
|
|
60778
|
+
{
|
|
60779
|
+
hide: extraHideIds,
|
|
60780
|
+
styleId: DOM_LAYER_MASK_STYLE_ID,
|
|
60781
|
+
hiddenAttr: DOM_LAYER_MASK_HIDDEN_ATTR,
|
|
60782
|
+
prevVisibilityAttr: DOM_LAYER_MASK_PREV_VISIBILITY_ATTR,
|
|
60783
|
+
prevPriorityAttr: DOM_LAYER_MASK_PREV_PRIORITY_ATTR
|
|
60784
|
+
}
|
|
60713
60785
|
);
|
|
60714
60786
|
}
|
|
60715
60787
|
async function injectVideoFramesBatch(page, updates) {
|
|
@@ -60847,7 +60919,7 @@ async function syncVideoFrameVisibility(page, activeVideoIds) {
|
|
|
60847
60919
|
}
|
|
60848
60920
|
}, activeVideoIds);
|
|
60849
60921
|
}
|
|
60850
|
-
var cdpSessionCache, lastFrameCache, PENDING_FRAME_RETRIES, TRANSPARENT_BG_STYLE_ID, DOM_LAYER_MASK_STYLE_ID;
|
|
60922
|
+
var cdpSessionCache, lastFrameCache, PENDING_FRAME_RETRIES, TRANSPARENT_BG_STYLE_ID, DOM_LAYER_MASK_STYLE_ID, DOM_LAYER_MASK_HIDDEN_ATTR, DOM_LAYER_MASK_PREV_VISIBILITY_ATTR, DOM_LAYER_MASK_PREV_PRIORITY_ATTR;
|
|
60851
60923
|
var init_screenshotService = __esm({
|
|
60852
60924
|
"../engine/src/services/screenshotService.ts"() {
|
|
60853
60925
|
"use strict";
|
|
@@ -60857,6 +60929,9 @@ var init_screenshotService = __esm({
|
|
|
60857
60929
|
PENDING_FRAME_RETRIES = 5;
|
|
60858
60930
|
TRANSPARENT_BG_STYLE_ID = "__hf_transparent_bg__";
|
|
60859
60931
|
DOM_LAYER_MASK_STYLE_ID = "__hf_dom_layer_mask__";
|
|
60932
|
+
DOM_LAYER_MASK_HIDDEN_ATTR = "data-hf-dom-layer-mask-hidden";
|
|
60933
|
+
DOM_LAYER_MASK_PREV_VISIBILITY_ATTR = "data-hf-dom-layer-mask-prev-visibility";
|
|
60934
|
+
DOM_LAYER_MASK_PREV_PRIORITY_ATTR = "data-hf-dom-layer-mask-prev-priority";
|
|
60860
60935
|
}
|
|
60861
60936
|
});
|
|
60862
60937
|
|
|
@@ -64409,6 +64484,16 @@ function wrapScopedCompositionScript(source, compositionId, errorLabel = "[Hyper
|
|
|
64409
64484
|
? new Proxy(window, {
|
|
64410
64485
|
get: function(target, prop, receiver) {
|
|
64411
64486
|
if (prop === "__timelines") return __hfGetTimelineRegistry();
|
|
64487
|
+
// Inside a sub-composition, __hyperframes is passed as a bare script
|
|
64488
|
+
// param bound to the SCOPED variant (per-comp getVariables). But
|
|
64489
|
+
// authors routinely write the documented window.__hyperframes.
|
|
64490
|
+
// getVariables() form, which would otherwise fall through to the host
|
|
64491
|
+
// page's base __hyperframes and return the WRONG (or empty) variables
|
|
64492
|
+
// for this instance. Route it to the scoped variant too so both
|
|
64493
|
+
// spellings resolve to this composition's own variables.
|
|
64494
|
+
// (__hfScopedHyperframes is a hoisted var assigned below, before any
|
|
64495
|
+
// sub-comp script -- the only code that reads this -- runs.)
|
|
64496
|
+
if (prop === "__hyperframes") return __hfScopedHyperframes;
|
|
64412
64497
|
return Reflect.get(target, prop, target);
|
|
64413
64498
|
},
|
|
64414
64499
|
set: function(target, prop, value, receiver) {
|
|
@@ -72754,6 +72839,11 @@ async function queryElementStacking(page, nativeHdrIds) {
|
|
|
72754
72839
|
const n2 = parseFloat(value);
|
|
72755
72840
|
return Number.isFinite(n2) ? n2 : 0;
|
|
72756
72841
|
}
|
|
72842
|
+
function isElementPaintable(node) {
|
|
72843
|
+
const rect = node.getBoundingClientRect();
|
|
72844
|
+
const style = window.getComputedStyle(node);
|
|
72845
|
+
return style.visibility !== "hidden" && style.display !== "none" && rect.width > 0 && rect.height > 0;
|
|
72846
|
+
}
|
|
72757
72847
|
for (const el of elements) {
|
|
72758
72848
|
const id = el.id;
|
|
72759
72849
|
if (!id) continue;
|
|
@@ -72762,7 +72852,9 @@ async function queryElementStacking(page, nativeHdrIds) {
|
|
|
72762
72852
|
const zIndex = getEffectiveZIndex(el);
|
|
72763
72853
|
const isHdrEl = hdrSet.has(id);
|
|
72764
72854
|
const opacity = getEffectiveOpacity(el);
|
|
72765
|
-
const visible =
|
|
72855
|
+
const visible = isElementPaintable(el);
|
|
72856
|
+
const renderFrame = document.getElementById(`__render_frame_${id}__`);
|
|
72857
|
+
const renderFrameVisible = renderFrame ? isElementPaintable(renderFrame) : false;
|
|
72766
72858
|
const htmlEl = el instanceof HTMLElement ? el : null;
|
|
72767
72859
|
results.push({
|
|
72768
72860
|
id,
|
|
@@ -72775,6 +72867,7 @@ async function queryElementStacking(page, nativeHdrIds) {
|
|
|
72775
72867
|
layoutHeight: htmlEl?.offsetHeight || Math.round(rect.height),
|
|
72776
72868
|
opacity,
|
|
72777
72869
|
visible,
|
|
72870
|
+
renderFrameVisible,
|
|
72778
72871
|
isHdr: hdrSet.has(id),
|
|
72779
72872
|
// For HDR elements, use the full accumulated viewport matrix so the
|
|
72780
72873
|
// affine blit can apply rotation/scale/translate properly. For DOM
|
|
@@ -72908,7 +73001,7 @@ var init_audioVolumeEnvelope = __esm({
|
|
|
72908
73001
|
});
|
|
72909
73002
|
|
|
72910
73003
|
// ../engine/src/services/audioMixer.ts
|
|
72911
|
-
import { existsSync as existsSync13, mkdirSync as mkdirSync8, rmSync as rmSync3 } from "fs";
|
|
73004
|
+
import { closeSync, existsSync as existsSync13, mkdirSync as mkdirSync8, mkdtempSync, openSync, rmSync as rmSync3, writeFileSync as writeFileSync6 } from "fs";
|
|
72912
73005
|
import { isAbsolute as isAbsolute5, join as join13, dirname as dirname8 } from "path";
|
|
72913
73006
|
function clampVolume(volume) {
|
|
72914
73007
|
if (!Number.isFinite(volume)) return 1;
|
|
@@ -73152,11 +73245,9 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73152
73245
|
}
|
|
73153
73246
|
const outputDir = dirname8(outputPath);
|
|
73154
73247
|
if (!existsSync13(outputDir)) mkdirSync8(outputDir, { recursive: true });
|
|
73155
|
-
const
|
|
73156
|
-
const inputs = [];
|
|
73248
|
+
const buildFilterComplex = (ignoreAutomation) => {
|
|
73157
73249
|
const filterParts = [];
|
|
73158
73250
|
tracks.forEach((track, i2) => {
|
|
73159
|
-
inputs.push("-i", track.srcPath);
|
|
73160
73251
|
const delayMs = Math.round(track.start * 1e3);
|
|
73161
73252
|
const trimDuration = track.end - track.start;
|
|
73162
73253
|
const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
|
|
@@ -73168,11 +73259,23 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73168
73259
|
const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0[mixed]`;
|
|
73169
73260
|
const compensatedGain = masterOutputGain * tracks.length;
|
|
73170
73261
|
const postMixGainFilter = `[mixed]volume=${formatFilterNumber(compensatedGain)}[out]`;
|
|
73171
|
-
|
|
73172
|
-
|
|
73262
|
+
return [...filterParts, mixFilter, postMixGainFilter].join(";");
|
|
73263
|
+
};
|
|
73264
|
+
const runMix = (ignoreAutomation) => {
|
|
73265
|
+
const inputs = [];
|
|
73266
|
+
tracks.forEach((track) => inputs.push("-i", track.srcPath));
|
|
73267
|
+
const scriptDir = mkdtempSync(join13(outputDir, ".filter-complex-"));
|
|
73268
|
+
const scriptPath = join13(scriptDir, "graph.txt");
|
|
73269
|
+
const fd = openSync(scriptPath, "wx", 384);
|
|
73270
|
+
try {
|
|
73271
|
+
writeFileSync6(fd, buildFilterComplex(ignoreAutomation));
|
|
73272
|
+
} finally {
|
|
73273
|
+
closeSync(fd);
|
|
73274
|
+
}
|
|
73275
|
+
const args = [
|
|
73173
73276
|
...inputs,
|
|
73174
|
-
"-
|
|
73175
|
-
|
|
73277
|
+
"-filter_complex_script",
|
|
73278
|
+
scriptPath,
|
|
73176
73279
|
"-map",
|
|
73177
73280
|
"[out]",
|
|
73178
73281
|
"-acodec",
|
|
@@ -73184,12 +73287,15 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73184
73287
|
"-y",
|
|
73185
73288
|
outputPath
|
|
73186
73289
|
];
|
|
73290
|
+
return runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout }).finally(
|
|
73291
|
+
() => rmSync3(scriptDir, { recursive: true, force: true })
|
|
73292
|
+
);
|
|
73187
73293
|
};
|
|
73188
|
-
let result = await
|
|
73294
|
+
let result = await runMix(false);
|
|
73189
73295
|
let degradedAutomation = false;
|
|
73190
73296
|
const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
|
|
73191
73297
|
if (!result.success && !signal?.aborted && hasAutomation) {
|
|
73192
|
-
const retry = await
|
|
73298
|
+
const retry = await runMix(true);
|
|
73193
73299
|
if (retry.success) {
|
|
73194
73300
|
result = retry;
|
|
73195
73301
|
degradedAutomation = true;
|
|
@@ -78242,7 +78348,7 @@ var init_banner = __esm({
|
|
|
78242
78348
|
});
|
|
78243
78349
|
|
|
78244
78350
|
// src/registry/remote.ts
|
|
78245
|
-
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as
|
|
78351
|
+
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync7 } from "fs";
|
|
78246
78352
|
import { join as join17, dirname as dirname9 } from "path";
|
|
78247
78353
|
import { homedir as homedir4 } from "os";
|
|
78248
78354
|
function cachePath(baseUrl, key2) {
|
|
@@ -78263,7 +78369,7 @@ function writeCache(path2, data2) {
|
|
|
78263
78369
|
try {
|
|
78264
78370
|
mkdirSync10(dirname9(path2), { recursive: true });
|
|
78265
78371
|
const entry = { fetchedAt: Date.now(), data: data2 };
|
|
78266
|
-
|
|
78372
|
+
writeFileSync7(path2, JSON.stringify(entry), "utf-8");
|
|
78267
78373
|
} catch {
|
|
78268
78374
|
}
|
|
78269
78375
|
}
|
|
@@ -78309,7 +78415,7 @@ async function fetchItemFile(item, file, destPath, baseUrl = DEFAULT_REGISTRY_UR
|
|
|
78309
78415
|
}
|
|
78310
78416
|
const buf = new Uint8Array(await res.arrayBuffer());
|
|
78311
78417
|
mkdirSync10(dirname9(destPath), { recursive: true });
|
|
78312
|
-
|
|
78418
|
+
writeFileSync7(destPath, buf);
|
|
78313
78419
|
}
|
|
78314
78420
|
var DEFAULT_REGISTRY_URL, FETCH_TIMEOUT_MS, CACHE_DIR, CACHE_TTL_MS;
|
|
78315
78421
|
var init_remote = __esm({
|
|
@@ -78442,7 +78548,7 @@ __export(installer_exports, {
|
|
|
78442
78548
|
assertSafeTarget: () => assertSafeTarget,
|
|
78443
78549
|
installItem: () => installItem
|
|
78444
78550
|
});
|
|
78445
|
-
import { readFileSync as readFileSync12, writeFileSync as
|
|
78551
|
+
import { readFileSync as readFileSync12, writeFileSync as writeFileSync8 } from "fs";
|
|
78446
78552
|
import { resolve as resolve10, relative as relative4, isAbsolute as isAbsolute6 } from "path";
|
|
78447
78553
|
function assertSafeTarget(destDir, target) {
|
|
78448
78554
|
if (isAbsolute6(target)) {
|
|
@@ -78482,7 +78588,7 @@ async function installItem(item, options) {
|
|
|
78482
78588
|
await fetchItemFile(item, file, destPath, baseUrl);
|
|
78483
78589
|
if (isInstalledRegistryBlockComposition(item, file)) {
|
|
78484
78590
|
const source = readFileSync12(destPath, "utf-8");
|
|
78485
|
-
|
|
78591
|
+
writeFileSync8(destPath, addRegistryItemMarker(source, item), "utf-8");
|
|
78486
78592
|
}
|
|
78487
78593
|
return destPath;
|
|
78488
78594
|
})
|
|
@@ -79151,7 +79257,7 @@ __export(normalize_exports, {
|
|
|
79151
79257
|
stripBeforeOnset: () => stripBeforeOnset,
|
|
79152
79258
|
wordsToCues: () => wordsToCues
|
|
79153
79259
|
});
|
|
79154
|
-
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as
|
|
79260
|
+
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync9 } from "fs";
|
|
79155
79261
|
import { extname as extname6, join as join20 } from "path";
|
|
79156
79262
|
function detectFormat(filePath) {
|
|
79157
79263
|
const ext = extname6(filePath).toLowerCase();
|
|
@@ -79446,7 +79552,7 @@ function patchCaptionHtml(dir, words) {
|
|
|
79446
79552
|
if (match) {
|
|
79447
79553
|
const varName = scriptMatch ? "script" : "TRANSCRIPT";
|
|
79448
79554
|
content = content.replace(match[0], `const ${varName} = ${wordsJson};`);
|
|
79449
|
-
|
|
79555
|
+
writeFileSync9(file, content, "utf-8");
|
|
79450
79556
|
}
|
|
79451
79557
|
}
|
|
79452
79558
|
}
|
|
@@ -79469,7 +79575,7 @@ __export(projectConfig_exports, {
|
|
|
79469
79575
|
readProjectConfig: () => readProjectConfig,
|
|
79470
79576
|
writeProjectConfig: () => writeProjectConfig
|
|
79471
79577
|
});
|
|
79472
|
-
import { readFileSync as readFileSync15, writeFileSync as
|
|
79578
|
+
import { readFileSync as readFileSync15, writeFileSync as writeFileSync10 } from "fs";
|
|
79473
79579
|
import { join as join21, resolve as resolve12 } from "path";
|
|
79474
79580
|
function projectConfigPath(projectDir) {
|
|
79475
79581
|
return join21(resolve12(projectDir), PROJECT_CONFIG_FILENAME);
|
|
@@ -79496,7 +79602,7 @@ function normalizeConfig(partial) {
|
|
|
79496
79602
|
}
|
|
79497
79603
|
function writeProjectConfig(projectDir, config = DEFAULT_PROJECT_CONFIG) {
|
|
79498
79604
|
const path2 = projectConfigPath(projectDir);
|
|
79499
|
-
|
|
79605
|
+
writeFileSync10(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
79500
79606
|
}
|
|
79501
79607
|
function loadProjectConfig(projectDir) {
|
|
79502
79608
|
return readProjectConfig(projectDir) ?? DEFAULT_PROJECT_CONFIG;
|
|
@@ -91168,10 +91274,10 @@ import {
|
|
|
91168
91274
|
} from "fs";
|
|
91169
91275
|
import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
|
|
91170
91276
|
import { spawn as spawn9 } from "child_process";
|
|
91171
|
-
import { existsSync as existsSync210, writeFileSync as
|
|
91277
|
+
import { existsSync as existsSync210, writeFileSync as writeFileSync11, mkdirSync as mkdirSync14 } from "fs";
|
|
91172
91278
|
import { join as join32, resolve as resolve19 } from "path";
|
|
91173
91279
|
import { spawnSync } from "child_process";
|
|
91174
|
-
import { mkdtempSync, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91280
|
+
import { mkdtempSync as mkdtempSync2, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91175
91281
|
import { tmpdir as tmpdir3 } from "os";
|
|
91176
91282
|
import { basename as basename3, join as join42 } from "path";
|
|
91177
91283
|
import { mkdirSync as mkdirSync22, readdirSync as readdirSync22, readFileSync as readFileSync22, unlinkSync as unlinkSync3, writeFileSync as writeFileSync32 } from "fs";
|
|
@@ -91196,7 +91302,7 @@ import { join as join112 } from "path";
|
|
|
91196
91302
|
import { createHash as createHash22 } from "crypto";
|
|
91197
91303
|
import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
|
|
91198
91304
|
import { join as join122 } from "path";
|
|
91199
|
-
import { closeSync, constants, fstatSync, openSync, readSync } from "fs";
|
|
91305
|
+
import { closeSync as closeSync2, constants, fstatSync, openSync as openSync2, readSync } from "fs";
|
|
91200
91306
|
function shouldIgnoreDir(rel) {
|
|
91201
91307
|
return rel === ".hyperframes/backup";
|
|
91202
91308
|
}
|
|
@@ -91383,7 +91489,7 @@ async function generateWaveformCache(projectDir, assetPath) {
|
|
|
91383
91489
|
if (existsSync210(cachePath2)) return;
|
|
91384
91490
|
const peaks = await decodeAudioPeaks(audioPath);
|
|
91385
91491
|
mkdirSync14(cacheDir, { recursive: true });
|
|
91386
|
-
|
|
91492
|
+
writeFileSync11(cachePath2, JSON.stringify(peaks));
|
|
91387
91493
|
}
|
|
91388
91494
|
function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
91389
91495
|
const isVideo2 = VIDEO_EXT.test(filePath);
|
|
@@ -91423,7 +91529,7 @@ function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
|
91423
91529
|
}
|
|
91424
91530
|
}
|
|
91425
91531
|
function validateUploadedMediaBuffer(fileName, buffer, runner = spawnSync) {
|
|
91426
|
-
const tempDir =
|
|
91532
|
+
const tempDir = mkdtempSync2(join42(tmpdir3(), "hyperframes-upload-"));
|
|
91427
91533
|
const tempPath = join42(tempDir, basename3(fileName));
|
|
91428
91534
|
try {
|
|
91429
91535
|
writeFileSync22(tempPath, buffer);
|
|
@@ -95015,7 +95121,7 @@ function registerFontRoutes(api) {
|
|
|
95015
95121
|
if (!located) return c3.json({ error: "font not found" }, 404);
|
|
95016
95122
|
let fd;
|
|
95017
95123
|
try {
|
|
95018
|
-
fd =
|
|
95124
|
+
fd = openSync2(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
95019
95125
|
} catch {
|
|
95020
95126
|
return c3.json({ error: "font file not accessible" }, 404);
|
|
95021
95127
|
}
|
|
@@ -95037,7 +95143,7 @@ function registerFontRoutes(api) {
|
|
|
95037
95143
|
} catch {
|
|
95038
95144
|
return c3.json({ error: "failed to read font file" }, 500);
|
|
95039
95145
|
} finally {
|
|
95040
|
-
|
|
95146
|
+
closeSync2(fd);
|
|
95041
95147
|
}
|
|
95042
95148
|
});
|
|
95043
95149
|
}
|
|
@@ -95470,7 +95576,7 @@ function reclaimStaleInstallLock(timeoutMs) {
|
|
|
95470
95576
|
}
|
|
95471
95577
|
}
|
|
95472
95578
|
async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs = INSTALL_LOCK_POLL_MS) {
|
|
95473
|
-
if (!existsSync31(
|
|
95579
|
+
if (!existsSync31(CACHE_ROOT_DIR)) mkdirSync15(CACHE_ROOT_DIR, { recursive: true });
|
|
95474
95580
|
let deadline = Date.now() + timeoutMs;
|
|
95475
95581
|
for (; ; ) {
|
|
95476
95582
|
if (existsSync31(INSTALL_RECLAIM_LOCK_DIR)) {
|
|
@@ -95494,6 +95600,9 @@ async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs =
|
|
|
95494
95600
|
rmSync7(INSTALL_LOCK_DIR, { recursive: true, force: true });
|
|
95495
95601
|
}
|
|
95496
95602
|
}
|
|
95603
|
+
function purgeStaleInstall(installPath) {
|
|
95604
|
+
rmSync7(installPath, { recursive: true, force: true });
|
|
95605
|
+
}
|
|
95497
95606
|
function whichBinary2(name) {
|
|
95498
95607
|
try {
|
|
95499
95608
|
const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
|
|
@@ -95538,7 +95647,7 @@ async function findFromCache() {
|
|
|
95538
95647
|
return { result: { executablePath: match.executablePath, source: "cache" } };
|
|
95539
95648
|
}
|
|
95540
95649
|
if (match) {
|
|
95541
|
-
return { staleHyperframesCachePath: match.executablePath };
|
|
95650
|
+
return { staleHyperframesCachePath: match.executablePath, staleInstallPath: match.path };
|
|
95542
95651
|
}
|
|
95543
95652
|
}
|
|
95544
95653
|
return {};
|
|
@@ -95644,7 +95753,10 @@ async function findBrowser() {
|
|
|
95644
95753
|
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95645
95754
|
);
|
|
95646
95755
|
try {
|
|
95647
|
-
return await withInstallLock(() =>
|
|
95756
|
+
return await withInstallLock(async () => {
|
|
95757
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95758
|
+
return downloadBrowser();
|
|
95759
|
+
});
|
|
95648
95760
|
} catch (err) {
|
|
95649
95761
|
const cause = normalizeErrorMessage(err);
|
|
95650
95762
|
throw new Error(
|
|
@@ -95701,22 +95813,33 @@ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the
|
|
|
95701
95813
|
async function ensureBrowser(options) {
|
|
95702
95814
|
const fromEnv = findFromEnv2();
|
|
95703
95815
|
if (fromEnv) return fromEnv;
|
|
95704
|
-
|
|
95705
|
-
|
|
95706
|
-
|
|
95707
|
-
|
|
95708
|
-
|
|
95709
|
-
|
|
95710
|
-
|
|
95711
|
-
|
|
95712
|
-
|
|
95713
|
-
|
|
95714
|
-
|
|
95715
|
-
|
|
95816
|
+
if (!options?.force) {
|
|
95817
|
+
const fromCache = await findFromCache();
|
|
95818
|
+
if (fromCache.result) return fromCache.result;
|
|
95819
|
+
if (fromCache.staleHyperframesCachePath) {
|
|
95820
|
+
console.warn(
|
|
95821
|
+
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95822
|
+
);
|
|
95823
|
+
return withInstallLock(async () => {
|
|
95824
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95825
|
+
return downloadBrowser(options);
|
|
95826
|
+
});
|
|
95827
|
+
}
|
|
95828
|
+
const fromSystem = findFromSystem2();
|
|
95829
|
+
if (fromSystem) {
|
|
95830
|
+
warnSystemFallbackOnce(fromSystem.executablePath);
|
|
95831
|
+
return fromSystem;
|
|
95832
|
+
}
|
|
95716
95833
|
}
|
|
95717
95834
|
return withInstallLock(async () => {
|
|
95718
|
-
|
|
95719
|
-
|
|
95835
|
+
if (options?.force) {
|
|
95836
|
+
clearBrowser();
|
|
95837
|
+
}
|
|
95838
|
+
if (!options?.force) {
|
|
95839
|
+
const afterLock = await findFromCache();
|
|
95840
|
+
if (afterLock.result) return afterLock.result;
|
|
95841
|
+
if (afterLock.staleInstallPath) purgeStaleInstall(afterLock.staleInstallPath);
|
|
95842
|
+
}
|
|
95720
95843
|
return downloadBrowser(options);
|
|
95721
95844
|
});
|
|
95722
95845
|
}
|
|
@@ -95748,16 +95871,17 @@ function clearBrowser() {
|
|
|
95748
95871
|
function isLinuxArm() {
|
|
95749
95872
|
return process.platform === "linux" && process.arch === "arm64";
|
|
95750
95873
|
}
|
|
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;
|
|
95874
|
+
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
95875
|
var init_manager2 = __esm({
|
|
95753
95876
|
"src/browser/manager.ts"() {
|
|
95754
95877
|
"use strict";
|
|
95755
95878
|
init_errorMessage();
|
|
95756
95879
|
CHROME_VERSION = "131.0.6778.85";
|
|
95880
|
+
CACHE_ROOT_DIR = join28(homedir9(), ".cache", "hyperframes");
|
|
95757
95881
|
CACHE_DIR2 = join28(homedir9(), ".cache", "hyperframes", "chrome");
|
|
95758
95882
|
PUPPETEER_CACHE_DIR = join28(homedir9(), ".cache", "puppeteer", "chrome-headless-shell");
|
|
95759
|
-
INSTALL_LOCK_DIR = join28(
|
|
95760
|
-
INSTALL_RECLAIM_LOCK_DIR = join28(
|
|
95883
|
+
INSTALL_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.lock");
|
|
95884
|
+
INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
|
|
95761
95885
|
INSTALL_LOCK_TIMEOUT_MS = 12e4;
|
|
95762
95886
|
INSTALL_LOCK_POLL_MS = 200;
|
|
95763
95887
|
SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : [
|
|
@@ -99040,7 +99164,7 @@ __export(deterministicFonts_exports, {
|
|
|
99040
99164
|
resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
|
|
99041
99165
|
});
|
|
99042
99166
|
import { createHash as createHash6 } from "crypto";
|
|
99043
|
-
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as
|
|
99167
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
|
|
99044
99168
|
import { homedir as homedir10, tmpdir as tmpdir4 } from "os";
|
|
99045
99169
|
import { join as join29 } from "path";
|
|
99046
99170
|
import postcss4 from "postcss";
|
|
@@ -99396,7 +99520,7 @@ async function ensureWoff2DataUri(cachePath2, woff2Url, familyName, weight, styl
|
|
|
99396
99520
|
}
|
|
99397
99521
|
return null;
|
|
99398
99522
|
}
|
|
99399
|
-
|
|
99523
|
+
writeFileSync12(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
|
|
99400
99524
|
} catch (err) {
|
|
99401
99525
|
if (err instanceof FontFetchError) throw err;
|
|
99402
99526
|
if (err.code === "EEXIST") {
|
|
@@ -100698,11 +100822,11 @@ var init_paths = __esm({
|
|
|
100698
100822
|
});
|
|
100699
100823
|
|
|
100700
100824
|
// ../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
|
|
100825
|
+
import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync13 } from "fs";
|
|
100702
100826
|
import { basename as basename6, dirname as dirname15, isAbsolute as isAbsolute11, join as join34, relative as relative8, resolve as resolve24 } from "path";
|
|
100703
100827
|
function writeFileExclusiveSync(path2, data2) {
|
|
100704
100828
|
try {
|
|
100705
|
-
|
|
100829
|
+
writeFileSync13(path2, data2, { flag: "wx", mode: 384 });
|
|
100706
100830
|
} catch (error) {
|
|
100707
100831
|
if (error && typeof error === "object" && "code" in error && error.code === "EEXIST") {
|
|
100708
100832
|
return;
|
|
@@ -100729,11 +100853,11 @@ function resolveDeviceScaleFactor(input2) {
|
|
|
100729
100853
|
function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
100730
100854
|
const compileDir = join34(workDir, "compiled");
|
|
100731
100855
|
mkdirSync18(compileDir, { recursive: true });
|
|
100732
|
-
|
|
100856
|
+
writeFileSync13(join34(compileDir, "index.html"), compiled.html, "utf-8");
|
|
100733
100857
|
for (const [srcPath, html] of compiled.subCompositions) {
|
|
100734
100858
|
const outPath = join34(compileDir, srcPath);
|
|
100735
100859
|
mkdirSync18(dirname15(outPath), { recursive: true });
|
|
100736
|
-
|
|
100860
|
+
writeFileSync13(outPath, html, "utf-8");
|
|
100737
100861
|
}
|
|
100738
100862
|
for (const [relativePath, absolutePath] of compiled.externalAssets) {
|
|
100739
100863
|
const outPath = resolve24(join34(compileDir, relativePath));
|
|
@@ -100767,7 +100891,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
|
100767
100891
|
renderModeHints: compiled.renderModeHints,
|
|
100768
100892
|
hasShaderTransitions: compiled.hasShaderTransitions
|
|
100769
100893
|
};
|
|
100770
|
-
|
|
100894
|
+
writeFileSync13(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
|
|
100771
100895
|
}
|
|
100772
100896
|
}
|
|
100773
100897
|
function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
|
|
@@ -104086,7 +104210,7 @@ var init_captureStage = __esm({
|
|
|
104086
104210
|
});
|
|
104087
104211
|
|
|
104088
104212
|
// ../producer/src/services/hdrCompositor.ts
|
|
104089
|
-
import { readSync as readSync2, closeSync as
|
|
104213
|
+
import { readSync as readSync2, closeSync as closeSync3 } from "fs";
|
|
104090
104214
|
import { join as join41 } from "path";
|
|
104091
104215
|
function countNonZeroAlpha(rgba) {
|
|
104092
104216
|
let n2 = 0;
|
|
@@ -104123,7 +104247,7 @@ function cropRgb48le(src, srcW, srcH, cropX, cropY, cropW, cropH) {
|
|
|
104123
104247
|
}
|
|
104124
104248
|
function closeHdrVideoFrameSource(source, log2) {
|
|
104125
104249
|
try {
|
|
104126
|
-
|
|
104250
|
+
closeSync3(source.fd);
|
|
104127
104251
|
} catch (err) {
|
|
104128
104252
|
log2?.warn("Failed to close HDR raw frame file", {
|
|
104129
104253
|
rawPath: source.rawPath,
|
|
@@ -104305,6 +104429,13 @@ function shouldUseLayeredComposite(options) {
|
|
|
104305
104429
|
function resolveCompositeTransfer(hasHdrContent, effectiveHdr) {
|
|
104306
104430
|
return hasHdrContent && effectiveHdr ? effectiveHdr.transfer : "srgb";
|
|
104307
104431
|
}
|
|
104432
|
+
function selectDomLayerShowIds(layerElementIds, fullStacking) {
|
|
104433
|
+
const byId = new Map(fullStacking.map((el) => [el.id, el]));
|
|
104434
|
+
return layerElementIds.filter((id) => {
|
|
104435
|
+
const el = byId.get(id);
|
|
104436
|
+
return !!el && el.opacity > 0 && (el.visible || el.renderFrameVisible === true);
|
|
104437
|
+
});
|
|
104438
|
+
}
|
|
104308
104439
|
async function compositeHdrFrame(ctx, canvas, time, fullStacking, elementFilter, debugFrameIndex = -1) {
|
|
104309
104440
|
const {
|
|
104310
104441
|
log: log2,
|
|
@@ -104420,6 +104551,17 @@ async function compositeHdrFrame(ctx, canvas, time, fullStacking, elementFilter,
|
|
|
104420
104551
|
}
|
|
104421
104552
|
} else {
|
|
104422
104553
|
const layerIds = new Set(layer.elementIds);
|
|
104554
|
+
const showIds = selectDomLayerShowIds(layer.elementIds, fullStacking);
|
|
104555
|
+
if (showIds.length === 0) {
|
|
104556
|
+
if (shouldLog) {
|
|
104557
|
+
log2.info("[diag] dom layer skipped, all elements not paintable", {
|
|
104558
|
+
frame: debugFrameIndex,
|
|
104559
|
+
layerIdx,
|
|
104560
|
+
layerIds: layer.elementIds
|
|
104561
|
+
});
|
|
104562
|
+
}
|
|
104563
|
+
continue;
|
|
104564
|
+
}
|
|
104423
104565
|
const hideIds = allElementIds.filter((id) => !layerIds.has(id));
|
|
104424
104566
|
if (hdrPerf) hdrPerf.domLayerCaptures += 1;
|
|
104425
104567
|
await timeHdrPhaseAsync(
|
|
@@ -104439,7 +104581,7 @@ async function compositeHdrFrame(ctx, canvas, time, fullStacking, elementFilter,
|
|
|
104439
104581
|
await timeHdrPhaseAsync(
|
|
104440
104582
|
hdrPerf,
|
|
104441
104583
|
"domMaskApplyMs",
|
|
104442
|
-
() => applyDomLayerMask(domSession.page,
|
|
104584
|
+
() => applyDomLayerMask(domSession.page, showIds, hideIds)
|
|
104443
104585
|
);
|
|
104444
104586
|
const domPng = await timeHdrPhaseAsync(
|
|
104445
104587
|
hdrPerf,
|
|
@@ -104469,6 +104611,7 @@ async function compositeHdrFrame(ctx, canvas, time, fullStacking, elementFilter,
|
|
|
104469
104611
|
frame: debugFrameIndex,
|
|
104470
104612
|
layerIdx,
|
|
104471
104613
|
layerIds: layer.elementIds,
|
|
104614
|
+
showIds,
|
|
104472
104615
|
hideCount: hideIds.length,
|
|
104473
104616
|
pngBytes: domPng.length,
|
|
104474
104617
|
alphaPixels,
|
|
@@ -104614,8 +104757,9 @@ async function captureSceneIntoBuffer(a) {
|
|
|
104614
104757
|
);
|
|
104615
104758
|
}
|
|
104616
104759
|
}
|
|
104617
|
-
const showIds = Array.from(sceneIds);
|
|
104760
|
+
const showIds = selectDomLayerShowIds(Array.from(sceneIds), stackingInfo);
|
|
104618
104761
|
const hideIds = stackingInfo.map((e3) => e3.id).filter((id) => !sceneIds.has(id) || nativeHdrIds.has(id));
|
|
104762
|
+
if (showIds.length === 0) return;
|
|
104619
104763
|
if (hdrPerf) hdrPerf.domLayerCaptures += 1;
|
|
104620
104764
|
await timeHdrPhaseAsync(
|
|
104621
104765
|
hdrPerf,
|
|
@@ -105004,12 +105148,12 @@ var init_hdrImageTransferCache = __esm({
|
|
|
105004
105148
|
|
|
105005
105149
|
// ../producer/src/services/render/stages/captureHdrResources.ts
|
|
105006
105150
|
import {
|
|
105007
|
-
closeSync as
|
|
105151
|
+
closeSync as closeSync4,
|
|
105008
105152
|
constants as constants2,
|
|
105009
105153
|
fstatSync as fstatSync2,
|
|
105010
105154
|
mkdirSync as mkdirSync20,
|
|
105011
|
-
mkdtempSync as
|
|
105012
|
-
openSync as
|
|
105155
|
+
mkdtempSync as mkdtempSync3,
|
|
105156
|
+
openSync as openSync3,
|
|
105013
105157
|
readFileSync as readFileSync25
|
|
105014
105158
|
} from "fs";
|
|
105015
105159
|
import { join as join43 } from "path";
|
|
@@ -105100,7 +105244,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105100
105244
|
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
105101
105245
|
if (!video) continue;
|
|
105102
105246
|
mkdirSync20(framesDir, { recursive: true });
|
|
105103
|
-
const frameDir =
|
|
105247
|
+
const frameDir = mkdtempSync3(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
|
|
105104
105248
|
const duration = video.end - video.start;
|
|
105105
105249
|
const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
|
|
105106
105250
|
const rawPath = join43(frameDir, "frames.rgb48le");
|
|
@@ -105135,7 +105279,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105135
105279
|
);
|
|
105136
105280
|
}
|
|
105137
105281
|
const frameSize = dims.width * dims.height * 6;
|
|
105138
|
-
const fd =
|
|
105282
|
+
const fd = openSync3(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
|
|
105139
105283
|
let handedOff = false;
|
|
105140
105284
|
try {
|
|
105141
105285
|
const frameCount = Math.floor(fstatSync2(fd).size / frameSize);
|
|
@@ -105157,7 +105301,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105157
105301
|
});
|
|
105158
105302
|
handedOff = true;
|
|
105159
105303
|
} finally {
|
|
105160
|
-
if (!handedOff)
|
|
105304
|
+
if (!handedOff) closeSync4(fd);
|
|
105161
105305
|
}
|
|
105162
105306
|
}
|
|
105163
105307
|
return out;
|
|
@@ -106424,12 +106568,12 @@ var init_assembleStage = __esm({
|
|
|
106424
106568
|
import {
|
|
106425
106569
|
existsSync as existsSync44,
|
|
106426
106570
|
mkdirSync as mkdirSync24,
|
|
106427
|
-
mkdtempSync as
|
|
106571
|
+
mkdtempSync as mkdtempSync4,
|
|
106428
106572
|
readFileSync as readFileSync26,
|
|
106429
106573
|
readdirSync as readdirSync15,
|
|
106430
106574
|
rmSync as rmSync12,
|
|
106431
106575
|
statSync as statSync13,
|
|
106432
|
-
writeFileSync as
|
|
106576
|
+
writeFileSync as writeFileSync14,
|
|
106433
106577
|
copyFileSync as copyFileSync6,
|
|
106434
106578
|
appendFileSync
|
|
106435
106579
|
} from "fs";
|
|
@@ -106807,7 +106951,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106807
106951
|
const debugDir = join50(producerRoot, ".debug");
|
|
106808
106952
|
const outputDir = dirname19(outputPath);
|
|
106809
106953
|
if (!existsSync44(outputDir)) mkdirSync24(outputDir, { recursive: true });
|
|
106810
|
-
const workDir = job.config.debug ? join50(debugDir, job.id) :
|
|
106954
|
+
const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync4(join50(outputDir, `work-${job.id}-`));
|
|
106811
106955
|
const pipelineStart = Date.now();
|
|
106812
106956
|
const log2 = job.config.logger ?? defaultLogger;
|
|
106813
106957
|
let fileServer = null;
|
|
@@ -106922,7 +107066,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106922
107066
|
`Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
|
|
106923
107067
|
);
|
|
106924
107068
|
}
|
|
106925
|
-
|
|
107069
|
+
writeFileSync14(wrapperPath, standaloneHtml, "utf-8");
|
|
106926
107070
|
htmlPath = wrapperPath;
|
|
106927
107071
|
log2.info("Extracted standalone entry from index.html host context", {
|
|
106928
107072
|
entryFile
|
|
@@ -107552,7 +107696,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
107552
107696
|
job.perfSummary = perfSummary;
|
|
107553
107697
|
if (job.config.debug) {
|
|
107554
107698
|
try {
|
|
107555
|
-
|
|
107699
|
+
writeFileSync14(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
|
|
107556
107700
|
} catch (err) {
|
|
107557
107701
|
log2.debug("Failed to write perf summary", {
|
|
107558
107702
|
perfOutputPath,
|
|
@@ -107956,8 +108100,8 @@ import {
|
|
|
107956
108100
|
existsSync as existsSync47,
|
|
107957
108101
|
mkdirSync as mkdirSync25,
|
|
107958
108102
|
statSync as statSync15,
|
|
107959
|
-
mkdtempSync as
|
|
107960
|
-
writeFileSync as
|
|
108103
|
+
mkdtempSync as mkdtempSync5,
|
|
108104
|
+
writeFileSync as writeFileSync15,
|
|
107961
108105
|
rmSync as rmSync13,
|
|
107962
108106
|
createReadStream as createReadStream2
|
|
107963
108107
|
} from "fs";
|
|
@@ -108081,8 +108225,8 @@ async function prepareRenderBody(body) {
|
|
|
108081
108225
|
}
|
|
108082
108226
|
}
|
|
108083
108227
|
const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir5();
|
|
108084
|
-
const tempProjectDir =
|
|
108085
|
-
|
|
108228
|
+
const tempProjectDir = mkdtempSync5(join54(tempRoot, "producer-project-"));
|
|
108229
|
+
writeFileSync15(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
|
|
108086
108230
|
return {
|
|
108087
108231
|
prepared: {
|
|
108088
108232
|
input: {
|
|
@@ -108562,7 +108706,7 @@ var init_planHash = __esm({
|
|
|
108562
108706
|
});
|
|
108563
108707
|
|
|
108564
108708
|
// ../producer/src/services/render/stages/freezePlan.ts
|
|
108565
|
-
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as
|
|
108709
|
+
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync16 } from "fs";
|
|
108566
108710
|
import { join as join55, relative as relative9, resolve as resolve29 } from "path";
|
|
108567
108711
|
function stripUndefined(value) {
|
|
108568
108712
|
if (Array.isArray(value)) return value.map(stripUndefined);
|
|
@@ -108659,7 +108803,7 @@ async function freezePlan(input2) {
|
|
|
108659
108803
|
}
|
|
108660
108804
|
const metaDir = join55(planDir, "meta");
|
|
108661
108805
|
if (!existsSync48(metaDir)) mkdirSync26(metaDir, { recursive: true });
|
|
108662
|
-
|
|
108806
|
+
writeFileSync16(
|
|
108663
108807
|
join55(metaDir, "composition.json"),
|
|
108664
108808
|
`${JSON.stringify(composition, null, 2)}
|
|
108665
108809
|
`,
|
|
@@ -108667,8 +108811,8 @@ async function freezePlan(input2) {
|
|
|
108667
108811
|
);
|
|
108668
108812
|
const encoderForCanonical = stripUndefined(encoder);
|
|
108669
108813
|
const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
|
|
108670
|
-
|
|
108671
|
-
|
|
108814
|
+
writeFileSync16(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
|
|
108815
|
+
writeFileSync16(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
|
|
108672
108816
|
`, "utf-8");
|
|
108673
108817
|
const { compositionHtml, assets } = collectPlanAssetShas(planDir);
|
|
108674
108818
|
const planHash = computePlanHash({
|
|
@@ -108692,7 +108836,7 @@ async function freezePlan(input2) {
|
|
|
108692
108836
|
hasAudio
|
|
108693
108837
|
};
|
|
108694
108838
|
const planJsonPath = join55(planDir, "plan.json");
|
|
108695
|
-
|
|
108839
|
+
writeFileSync16(planJsonPath, `${JSON.stringify(planJson, null, 2)}
|
|
108696
108840
|
`, "utf-8");
|
|
108697
108841
|
return { planJsonPath, planHash };
|
|
108698
108842
|
}
|
|
@@ -108893,7 +109037,7 @@ import {
|
|
|
108893
109037
|
renameSync as renameSync6,
|
|
108894
109038
|
rmSync as rmSync14,
|
|
108895
109039
|
statSync as statSync16,
|
|
108896
|
-
writeFileSync as
|
|
109040
|
+
writeFileSync as writeFileSync17
|
|
108897
109041
|
} from "fs";
|
|
108898
109042
|
import { join as join57, relative as relative10, sep as sep6 } from "path";
|
|
108899
109043
|
function formatBytes2(bytes) {
|
|
@@ -109213,7 +109357,7 @@ async function plan(projectDir, config, planDir) {
|
|
|
109213
109357
|
}))
|
|
109214
109358
|
};
|
|
109215
109359
|
mkdirSync27(join57(planDir, "meta"), { recursive: true });
|
|
109216
|
-
|
|
109360
|
+
writeFileSync17(
|
|
109217
109361
|
join57(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
|
|
109218
109362
|
JSON.stringify(planVideosJson, null, 2),
|
|
109219
109363
|
"utf-8"
|
|
@@ -109362,7 +109506,7 @@ var init_plan = __esm({
|
|
|
109362
109506
|
|
|
109363
109507
|
// ../producer/src/services/distributed/renderChunk.ts
|
|
109364
109508
|
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
|
|
109509
|
+
import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync18 } from "fs";
|
|
109366
109510
|
import { extname as extname10, join as join58 } from "path";
|
|
109367
109511
|
function rebuildExtractedFramesFromPlanDir(planDir, videos) {
|
|
109368
109512
|
const result = [];
|
|
@@ -109686,7 +109830,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
109686
109830
|
producerVersion: plan2.producerVersion,
|
|
109687
109831
|
ffmpegVersion
|
|
109688
109832
|
};
|
|
109689
|
-
|
|
109833
|
+
writeFileSync18(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
|
|
109690
109834
|
`, "utf-8");
|
|
109691
109835
|
try {
|
|
109692
109836
|
rmSync15(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
|
|
@@ -110056,7 +110200,7 @@ import {
|
|
|
110056
110200
|
readdirSync as readdirSync19,
|
|
110057
110201
|
rmSync as rmSync17,
|
|
110058
110202
|
statSync as statSync17,
|
|
110059
|
-
writeFileSync as
|
|
110203
|
+
writeFileSync as writeFileSync19
|
|
110060
110204
|
} from "fs";
|
|
110061
110205
|
import { dirname as dirname23, join as join59 } from "path";
|
|
110062
110206
|
async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
@@ -110110,7 +110254,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
110110
110254
|
} else {
|
|
110111
110255
|
const concatListPath = join59(workDir, "concat-list.txt");
|
|
110112
110256
|
const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
|
|
110113
|
-
|
|
110257
|
+
writeFileSync19(concatListPath, `${concatBody}
|
|
110114
110258
|
`, "utf-8");
|
|
110115
110259
|
const concatArgs = [
|
|
110116
110260
|
"-r",
|
|
@@ -110391,7 +110535,7 @@ __export(studioServer_exports, {
|
|
|
110391
110535
|
});
|
|
110392
110536
|
import { Hono as Hono5 } from "hono";
|
|
110393
110537
|
import { streamSSE as streamSSE3 } from "hono/streaming";
|
|
110394
|
-
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as
|
|
110538
|
+
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync20, statSync as statSync18 } from "fs";
|
|
110395
110539
|
import { resolve as resolve30, join as join61, basename as basename8 } from "path";
|
|
110396
110540
|
function resolveDistDir() {
|
|
110397
110541
|
return resolveStudioBundle().dir;
|
|
@@ -110565,7 +110709,7 @@ function rewriteWrittenToHostViewport(projectDir, written) {
|
|
|
110565
110709
|
return match;
|
|
110566
110710
|
}
|
|
110567
110711
|
);
|
|
110568
|
-
|
|
110712
|
+
writeFileSync20(absPath, content, "utf-8");
|
|
110569
110713
|
}
|
|
110570
110714
|
}
|
|
110571
110715
|
function createStudioServer(options) {
|
|
@@ -110664,7 +110808,7 @@ function createStudioServer(options) {
|
|
|
110664
110808
|
state.status = "complete";
|
|
110665
110809
|
state.progress = 100;
|
|
110666
110810
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110667
|
-
|
|
110811
|
+
writeFileSync20(
|
|
110668
110812
|
metaPath,
|
|
110669
110813
|
JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
|
|
110670
110814
|
);
|
|
@@ -110675,7 +110819,7 @@ function createStudioServer(options) {
|
|
|
110675
110819
|
emitStudioRenderError(opts, Date.now() - startTime, state.stage, err, renderJob);
|
|
110676
110820
|
try {
|
|
110677
110821
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110678
|
-
|
|
110822
|
+
writeFileSync20(metaPath, JSON.stringify({ status: "failed" }));
|
|
110679
110823
|
} catch {
|
|
110680
110824
|
}
|
|
110681
110825
|
}
|
|
@@ -111716,7 +111860,7 @@ import {
|
|
|
111716
111860
|
mkdirSync as mkdirSync31,
|
|
111717
111861
|
copyFileSync as copyFileSync7,
|
|
111718
111862
|
cpSync as cpSync5,
|
|
111719
|
-
writeFileSync as
|
|
111863
|
+
writeFileSync as writeFileSync21,
|
|
111720
111864
|
readFileSync as readFileSync35,
|
|
111721
111865
|
readdirSync as readdirSync21
|
|
111722
111866
|
} from "fs";
|
|
@@ -111833,7 +111977,7 @@ function buildPackageScripts() {
|
|
|
111833
111977
|
function writeDefaultPackageJson(destDir, projectName) {
|
|
111834
111978
|
const packageJsonPath = resolve33(destDir, "package.json");
|
|
111835
111979
|
if (existsSync56(packageJsonPath)) return;
|
|
111836
|
-
|
|
111980
|
+
writeFileSync21(
|
|
111837
111981
|
packageJsonPath,
|
|
111838
111982
|
`${JSON.stringify(
|
|
111839
111983
|
{
|
|
@@ -111895,7 +112039,7 @@ ${html}`;
|
|
|
111895
112039
|
function writeTailwindSupport(destDir) {
|
|
111896
112040
|
for (const file of listHtmlFiles(destDir)) {
|
|
111897
112041
|
const html = readFileSync35(file, "utf-8");
|
|
111898
|
-
|
|
112042
|
+
writeFileSync21(file, injectTailwindBrowserScript(html), "utf-8");
|
|
111899
112043
|
}
|
|
111900
112044
|
}
|
|
111901
112045
|
function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
@@ -111912,7 +112056,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
|
111912
112056
|
}
|
|
111913
112057
|
const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
|
|
111914
112058
|
content = content.replaceAll("__VIDEO_DURATION__", dur);
|
|
111915
|
-
|
|
112059
|
+
writeFileSync21(file, content, "utf-8");
|
|
111916
112060
|
}
|
|
111917
112061
|
}
|
|
111918
112062
|
async function patchTranscript(dir, transcriptPath) {
|
|
@@ -112048,7 +112192,7 @@ function applyResolutionPreset(destDir, resolution) {
|
|
|
112048
112192
|
html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
|
|
112049
112193
|
changed = true;
|
|
112050
112194
|
}
|
|
112051
|
-
if (changed)
|
|
112195
|
+
if (changed) writeFileSync21(file, html, "utf-8");
|
|
112052
112196
|
}
|
|
112053
112197
|
}
|
|
112054
112198
|
async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
|
|
@@ -112062,7 +112206,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
|
|
|
112062
112206
|
patchVideoSrc(destDir, localVideoName, durationSeconds);
|
|
112063
112207
|
if (tailwind) writeTailwindSupport(destDir);
|
|
112064
112208
|
if (resolution) applyResolutionPreset(destDir, resolution);
|
|
112065
|
-
|
|
112209
|
+
writeFileSync21(
|
|
112066
112210
|
resolve33(destDir, "meta.json"),
|
|
112067
112211
|
JSON.stringify(
|
|
112068
112212
|
{
|
|
@@ -114751,7 +114895,7 @@ __export(batchRender_exports, {
|
|
|
114751
114895
|
resolveOutputTemplate: () => resolveOutputTemplate,
|
|
114752
114896
|
runBatchRender: () => runBatchRender
|
|
114753
114897
|
});
|
|
114754
|
-
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as
|
|
114898
|
+
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync23 } from "fs";
|
|
114755
114899
|
import { dirname as dirname28, join as join67, resolve as resolve43, sep as sep8 } from "path";
|
|
114756
114900
|
function isRecord4(value) {
|
|
114757
114901
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -114937,7 +115081,7 @@ function summarizeManifest(manifest) {
|
|
|
114937
115081
|
function writeManifest(manifest) {
|
|
114938
115082
|
summarizeManifest(manifest);
|
|
114939
115083
|
mkdirSync33(dirname28(manifest.manifestPath), { recursive: true });
|
|
114940
|
-
|
|
115084
|
+
writeFileSync23(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
|
|
114941
115085
|
}
|
|
114942
115086
|
function emitJsonEvent(event, json) {
|
|
114943
115087
|
if (json) console.log(JSON.stringify(event));
|
|
@@ -115099,7 +115243,7 @@ __export(render_exports, {
|
|
|
115099
115243
|
renderLocal: () => renderLocal,
|
|
115100
115244
|
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
115101
115245
|
});
|
|
115102
|
-
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as
|
|
115246
|
+
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync24, rmSync as rmSync18 } from "fs";
|
|
115103
115247
|
import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir6 } from "os";
|
|
115104
115248
|
import { resolve as resolve44, dirname as dirname29, join as join68, basename as basename12 } from "path";
|
|
115105
115249
|
import { execFileSync as execFileSync9, spawn as spawn14 } from "child_process";
|
|
@@ -115195,7 +115339,7 @@ function ensureDockerImage(version2, platform10, quiet) {
|
|
|
115195
115339
|
const dockerfilePath = resolveDockerfilePath();
|
|
115196
115340
|
const tmpDir = join68(tmpdir6(), `hyperframes-docker-${Date.now()}`);
|
|
115197
115341
|
mkdirSync34(tmpDir, { recursive: true });
|
|
115198
|
-
|
|
115342
|
+
writeFileSync24(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
|
|
115199
115343
|
const targetArch = platform10 === "linux/arm64" ? "arm64" : "amd64";
|
|
115200
115344
|
try {
|
|
115201
115345
|
execFileSync9(
|
|
@@ -116630,7 +116774,7 @@ __export(beats_exports, {
|
|
|
116630
116774
|
default: () => beats_default,
|
|
116631
116775
|
examples: () => examples11
|
|
116632
116776
|
});
|
|
116633
|
-
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as
|
|
116777
|
+
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync25 } from "fs";
|
|
116634
116778
|
import { resolve as resolve45, join as join70, dirname as dirname31 } from "path";
|
|
116635
116779
|
function fail(message) {
|
|
116636
116780
|
console.error(c.error(message));
|
|
@@ -116703,7 +116847,7 @@ var init_beats2 = __esm({
|
|
|
116703
116847
|
}
|
|
116704
116848
|
const outPath = join70(project.dir, "beats", `${rel}.json`);
|
|
116705
116849
|
mkdirSync35(dirname31(outPath), { recursive: true });
|
|
116706
|
-
|
|
116850
|
+
writeFileSync25(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
|
|
116707
116851
|
report(`beats/${rel}.json`, result, Boolean(args.json));
|
|
116708
116852
|
}
|
|
116709
116853
|
});
|
|
@@ -119476,7 +119620,7 @@ var motionShot_exports = {};
|
|
|
119476
119620
|
__export(motionShot_exports, {
|
|
119477
119621
|
captureMotionPathShot: () => captureMotionPathShot
|
|
119478
119622
|
});
|
|
119479
|
-
import { writeFileSync as
|
|
119623
|
+
import { writeFileSync as writeFileSync26 } from "fs";
|
|
119480
119624
|
function applyOrbitCamera(selectors, cam) {
|
|
119481
119625
|
const first = document.querySelector(selectors[0] ?? "");
|
|
119482
119626
|
const root = first?.closest("[data-composition-id]") ?? document.querySelector("#stage") ?? document.body.firstElementChild ?? document.body;
|
|
@@ -119781,7 +119925,7 @@ async function captureGhostOnionSkin(page, requests, times, size, camera, outPat
|
|
|
119781
119925
|
);
|
|
119782
119926
|
const b64 = String(dataUrl).replace(/^data:image\/png;base64,/, "");
|
|
119783
119927
|
if (!b64) throw new Error("ghost composite returned no data");
|
|
119784
|
-
|
|
119928
|
+
writeFileSync26(outPath, Buffer.from(b64, "base64"));
|
|
119785
119929
|
return outPath;
|
|
119786
119930
|
}
|
|
119787
119931
|
async function captureMarkerOnionSkin(page, requests, times, size, camera, frame, outPath) {
|
|
@@ -119851,7 +119995,7 @@ async function captureMarkerOnionSkin(page, requests, times, size, camera, frame
|
|
|
119851
119995
|
await new Promise((r2) => setTimeout(r2, 60));
|
|
119852
119996
|
const buf = await page.screenshot({ type: "png" });
|
|
119853
119997
|
if (!buf) throw new Error("screenshot returned no data");
|
|
119854
|
-
|
|
119998
|
+
writeFileSync26(outPath, buf);
|
|
119855
119999
|
return outPath;
|
|
119856
120000
|
}
|
|
119857
120001
|
async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {}) {
|
|
@@ -121073,17 +121217,17 @@ __export(browser_exports, {
|
|
|
121073
121217
|
default: () => browser_default,
|
|
121074
121218
|
examples: () => examples18
|
|
121075
121219
|
});
|
|
121076
|
-
async function runEnsure() {
|
|
121220
|
+
async function runEnsure(options) {
|
|
121077
121221
|
ge(c.bold("hyperframes browser ensure"));
|
|
121078
121222
|
if (isLinuxArm()) {
|
|
121079
121223
|
const s3 = ft();
|
|
121080
121224
|
s3.start("Linux ARM64 detected \u2014 looking for system Chromium...");
|
|
121081
|
-
const
|
|
121082
|
-
if (
|
|
121225
|
+
const existing = await findBrowser();
|
|
121226
|
+
if (existing) {
|
|
121083
121227
|
s3.stop(c.success("System Chromium found"));
|
|
121084
121228
|
console.log();
|
|
121085
|
-
console.log(` ${c.dim("Source:")} ${c.bold(
|
|
121086
|
-
console.log(` ${c.dim("Path:")} ${c.bold(
|
|
121229
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121230
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121087
121231
|
console.log();
|
|
121088
121232
|
ye(c.success("Ready to render."));
|
|
121089
121233
|
return;
|
|
@@ -121106,22 +121250,27 @@ async function runEnsure() {
|
|
|
121106
121250
|
return;
|
|
121107
121251
|
}
|
|
121108
121252
|
const s2 = ft();
|
|
121109
|
-
|
|
121110
|
-
|
|
121111
|
-
|
|
121112
|
-
|
|
121113
|
-
|
|
121114
|
-
|
|
121115
|
-
|
|
121116
|
-
|
|
121117
|
-
|
|
121118
|
-
|
|
121253
|
+
if (!options?.force) {
|
|
121254
|
+
s2.start("Looking for an existing browser...");
|
|
121255
|
+
const existing = await findBrowser();
|
|
121256
|
+
if (existing) {
|
|
121257
|
+
s2.stop(c.success("Browser found"));
|
|
121258
|
+
console.log();
|
|
121259
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121260
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121261
|
+
console.log();
|
|
121262
|
+
ye(c.success("Ready to render."));
|
|
121263
|
+
return;
|
|
121264
|
+
}
|
|
121265
|
+
s2.stop("No browser found \u2014 downloading");
|
|
121266
|
+
} else {
|
|
121267
|
+
s2.start("Purging cached download and re-downloading...");
|
|
121119
121268
|
}
|
|
121120
|
-
s2.stop("No browser found \u2014 downloading");
|
|
121121
121269
|
const downloadSpinner = ft();
|
|
121122
121270
|
downloadSpinner.start(`Downloading Chrome Headless Shell ${c.dim("v" + CHROME_VERSION)}...`);
|
|
121123
121271
|
let lastPct = -1;
|
|
121124
121272
|
const result = await ensureBrowser({
|
|
121273
|
+
force: options?.force,
|
|
121125
121274
|
onProgress: (downloaded, total) => {
|
|
121126
121275
|
if (total <= 0) return;
|
|
121127
121276
|
const pct = Math.floor(downloaded / total * 100);
|
|
@@ -121177,6 +121326,7 @@ var init_browser = __esm({
|
|
|
121177
121326
|
init_events();
|
|
121178
121327
|
examples18 = [
|
|
121179
121328
|
["Find or download Chrome for rendering", "hyperframes browser ensure"],
|
|
121329
|
+
["Purge a stale/partial download and re-download", "hyperframes browser ensure --force"],
|
|
121180
121330
|
["Print the Chrome executable path", "hyperframes browser path"],
|
|
121181
121331
|
["Remove cached Chrome download", "hyperframes browser clear"]
|
|
121182
121332
|
];
|
|
@@ -121187,6 +121337,11 @@ var init_browser = __esm({
|
|
|
121187
121337
|
type: "positional",
|
|
121188
121338
|
description: "ensure = find or download Chrome, path = print executable path, clear = remove cached download",
|
|
121189
121339
|
required: false
|
|
121340
|
+
},
|
|
121341
|
+
force: {
|
|
121342
|
+
type: "boolean",
|
|
121343
|
+
description: "ensure only: purge any cached download (including a stale/partial one) and re-download from scratch",
|
|
121344
|
+
default: false
|
|
121190
121345
|
}
|
|
121191
121346
|
},
|
|
121192
121347
|
async run({ args }) {
|
|
@@ -121203,15 +121358,16 @@ ${c.bold("SUBCOMMANDS:")}
|
|
|
121203
121358
|
${c.accent("clear")} ${c.dim("Remove cached Chrome download")}
|
|
121204
121359
|
|
|
121205
121360
|
${c.bold("EXAMPLES:")}
|
|
121206
|
-
${c.accent("npx hyperframes browser ensure")}
|
|
121207
|
-
${c.accent("npx hyperframes browser
|
|
121208
|
-
${c.accent("npx hyperframes browser
|
|
121361
|
+
${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
|
|
121362
|
+
${c.accent("npx hyperframes browser ensure --force")} ${c.dim("Purge a stale/partial download and re-download")}
|
|
121363
|
+
${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
|
|
121364
|
+
${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
|
|
121209
121365
|
`);
|
|
121210
121366
|
return;
|
|
121211
121367
|
}
|
|
121212
121368
|
switch (subcommand) {
|
|
121213
121369
|
case "ensure":
|
|
121214
|
-
return runEnsure();
|
|
121370
|
+
return runEnsure({ force: args.force });
|
|
121215
121371
|
case "path":
|
|
121216
121372
|
return runPath();
|
|
121217
121373
|
case "clear":
|
|
@@ -122013,7 +122169,7 @@ __export(transcribe_exports2, {
|
|
|
122013
122169
|
default: () => transcribe_default,
|
|
122014
122170
|
examples: () => examples20
|
|
122015
122171
|
});
|
|
122016
|
-
import { existsSync as existsSync76, writeFileSync as
|
|
122172
|
+
import { existsSync as existsSync76, writeFileSync as writeFileSync27 } from "fs";
|
|
122017
122173
|
import { resolve as resolve51, join as join77, extname as extname12, dirname as dirname35 } from "path";
|
|
122018
122174
|
function failWith(message, json) {
|
|
122019
122175
|
trackCommandFailure("transcribe", message);
|
|
@@ -122038,7 +122194,7 @@ async function importTranscript(inputPath, dir, json) {
|
|
|
122038
122194
|
const { words, format } = loadTranscript2(inputPath);
|
|
122039
122195
|
if (words.length === 0) exitNoWords(json);
|
|
122040
122196
|
const outPath = join77(dir, "transcript.json");
|
|
122041
|
-
|
|
122197
|
+
writeFileSync27(outPath, JSON.stringify(words, null, 2));
|
|
122042
122198
|
patchCaptionHtml2(dir, words);
|
|
122043
122199
|
if (json) {
|
|
122044
122200
|
console.log(
|
|
@@ -122057,7 +122213,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
|
|
|
122057
122213
|
const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
|
|
122058
122214
|
const outPath = resolve51(output ?? join77(dir, `transcript.${to}`));
|
|
122059
122215
|
const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
|
|
122060
|
-
|
|
122216
|
+
writeFileSync27(outPath, content);
|
|
122061
122217
|
if (json) {
|
|
122062
122218
|
console.log(
|
|
122063
122219
|
JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
|
|
@@ -122091,7 +122247,7 @@ async function transcribeAudio(inputPath, dir, opts) {
|
|
|
122091
122247
|
);
|
|
122092
122248
|
}
|
|
122093
122249
|
}
|
|
122094
|
-
|
|
122250
|
+
writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
|
|
122095
122251
|
patchCaptionHtml2(dir, words);
|
|
122096
122252
|
if (opts.json) {
|
|
122097
122253
|
console.log(
|
|
@@ -122404,13 +122560,13 @@ __export(synthesize_exports, {
|
|
|
122404
122560
|
synthesize: () => synthesize
|
|
122405
122561
|
});
|
|
122406
122562
|
import { execFileSync as execFileSync11 } from "child_process";
|
|
122407
|
-
import { existsSync as existsSync78, writeFileSync as
|
|
122563
|
+
import { existsSync as existsSync78, writeFileSync as writeFileSync28, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
|
|
122408
122564
|
import { join as join79, dirname as dirname36, basename as basename15 } from "path";
|
|
122409
122565
|
import { homedir as homedir13 } from "os";
|
|
122410
122566
|
function ensureSynthScript() {
|
|
122411
122567
|
if (!existsSync78(SCRIPT_PATH)) {
|
|
122412
122568
|
mkdirSync38(SCRIPT_DIR, { recursive: true });
|
|
122413
|
-
|
|
122569
|
+
writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
|
|
122414
122570
|
const currentName = basename15(SCRIPT_PATH);
|
|
122415
122571
|
try {
|
|
122416
122572
|
for (const entry of readdirSync27(SCRIPT_DIR)) {
|
|
@@ -123670,12 +123826,25 @@ var validate_exports = {};
|
|
|
123670
123826
|
__export(validate_exports, {
|
|
123671
123827
|
default: () => validate_default,
|
|
123672
123828
|
extractCompositionErrorsFromLint: () => extractCompositionErrorsFromLint,
|
|
123829
|
+
navigationTimeoutHint: () => navigationTimeoutHint,
|
|
123673
123830
|
raceMediaReady: () => raceMediaReady,
|
|
123674
|
-
|
|
123831
|
+
resolveNavigationTimeoutMs: () => resolveNavigationTimeoutMs,
|
|
123832
|
+
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure,
|
|
123833
|
+
waitForPreferredSeekTarget: () => waitForPreferredSeekTarget
|
|
123675
123834
|
});
|
|
123676
123835
|
import { existsSync as existsSync81, readFileSync as readFileSync53 } from "fs";
|
|
123677
123836
|
import { join as join81, dirname as dirname38 } from "path";
|
|
123678
123837
|
import { fileURLToPath as fileURLToPath14 } from "url";
|
|
123838
|
+
function resolveNavigationTimeoutMs(optTimeout) {
|
|
123839
|
+
return Math.max(NAV_TIMEOUT_FLOOR_MS, optTimeout ?? 0);
|
|
123840
|
+
}
|
|
123841
|
+
function navigationTimeoutHint(err, navTimeoutMs) {
|
|
123842
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
123843
|
+
if (!/navigation timeout/i.test(msg)) return null;
|
|
123844
|
+
return new Error(
|
|
123845
|
+
`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.`
|
|
123846
|
+
);
|
|
123847
|
+
}
|
|
123679
123848
|
function shouldIgnoreRequestFailure(url, errorText, resourceType) {
|
|
123680
123849
|
if (errorText !== "net::ERR_ABORTED") return false;
|
|
123681
123850
|
if (resourceType === "media") return true;
|
|
@@ -123693,7 +123862,13 @@ async function getCompositionDuration3(page) {
|
|
|
123693
123862
|
});
|
|
123694
123863
|
}
|
|
123695
123864
|
async function seekTo2(page, time) {
|
|
123865
|
+
await waitForPreferredSeekTarget(page);
|
|
123696
123866
|
await page.evaluate((t2) => {
|
|
123867
|
+
const player = window.__player;
|
|
123868
|
+
if (player && typeof player.renderSeek === "function") {
|
|
123869
|
+
player.renderSeek(t2);
|
|
123870
|
+
return;
|
|
123871
|
+
}
|
|
123697
123872
|
if (window.__hf && typeof window.__hf.seek === "function") {
|
|
123698
123873
|
window.__hf.seek(t2);
|
|
123699
123874
|
return;
|
|
@@ -123707,6 +123882,18 @@ async function seekTo2(page, time) {
|
|
|
123707
123882
|
}, time);
|
|
123708
123883
|
await new Promise((r2) => setTimeout(r2, SEEK_SETTLE_MS2));
|
|
123709
123884
|
}
|
|
123885
|
+
async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
|
|
123886
|
+
try {
|
|
123887
|
+
await page.waitForFunction(
|
|
123888
|
+
() => {
|
|
123889
|
+
const w3 = window;
|
|
123890
|
+
return typeof w3.__player?.renderSeek === "function" || typeof w3.__hf?.seek === "function";
|
|
123891
|
+
},
|
|
123892
|
+
{ timeout: timeoutMs }
|
|
123893
|
+
);
|
|
123894
|
+
} catch {
|
|
123895
|
+
}
|
|
123896
|
+
}
|
|
123710
123897
|
function raceMediaReady(el, deadlineMs) {
|
|
123711
123898
|
if (Number.isFinite(el.duration) && el.duration > 0) return Promise.resolve();
|
|
123712
123899
|
return new Promise((resolve62) => {
|
|
@@ -123877,7 +124064,14 @@ async function validateInBrowser(project, opts) {
|
|
|
123877
124064
|
errors.push({ level: "error", text: `${res.status()} loading ${path2}`, url });
|
|
123878
124065
|
}
|
|
123879
124066
|
});
|
|
123880
|
-
|
|
124067
|
+
const navTimeoutMs = resolveNavigationTimeoutMs(opts.timeout);
|
|
124068
|
+
try {
|
|
124069
|
+
await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: navTimeoutMs });
|
|
124070
|
+
} catch (err) {
|
|
124071
|
+
const hinted = navigationTimeoutHint(err, navTimeoutMs);
|
|
124072
|
+
if (hinted) throw hinted;
|
|
124073
|
+
throw err;
|
|
124074
|
+
}
|
|
123881
124075
|
await new Promise((r2) => setTimeout(r2, opts.timeout ?? 3e3));
|
|
123882
124076
|
for (const w3 of await auditClipDurations(page, analyzeClipMediaFit2, opts.timeout ?? 3e3)) {
|
|
123883
124077
|
warnings.push(w3);
|
|
@@ -123958,7 +124152,7 @@ function printValidationResult(result, asJson) {
|
|
|
123958
124152
|
}
|
|
123959
124153
|
return errors.length > 0 ? 1 : 0;
|
|
123960
124154
|
}
|
|
123961
|
-
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, MEDIA_EXTENSIONS, validate_default;
|
|
124155
|
+
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, PREFERRED_SEEK_TARGET_WAIT_MS, MEDIA_EXTENSIONS, NAV_TIMEOUT_FLOOR_MS, validate_default;
|
|
123962
124156
|
var init_validate = __esm({
|
|
123963
124157
|
"src/commands/validate.ts"() {
|
|
123964
124158
|
"use strict";
|
|
@@ -123972,7 +124166,9 @@ var init_validate = __esm({
|
|
|
123972
124166
|
__dirname3 = dirname38(__filename2);
|
|
123973
124167
|
CONTRAST_SAMPLES = 5;
|
|
123974
124168
|
SEEK_SETTLE_MS2 = 150;
|
|
124169
|
+
PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
123975
124170
|
MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
|
|
124171
|
+
NAV_TIMEOUT_FLOOR_MS = 1e4;
|
|
123976
124172
|
validate_default = defineCommand({
|
|
123977
124173
|
meta: {
|
|
123978
124174
|
name: "validate",
|
|
@@ -123994,7 +124190,7 @@ Examples:
|
|
|
123994
124190
|
},
|
|
123995
124191
|
timeout: {
|
|
123996
124192
|
type: "string",
|
|
123997
|
-
description: "Ms to wait for scripts to settle (default: 3000)",
|
|
124193
|
+
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
124194
|
default: "3000"
|
|
123999
124195
|
}
|
|
124000
124196
|
},
|
|
@@ -124030,7 +124226,7 @@ __export(contactSheet_exports, {
|
|
|
124030
124226
|
createSvgContactSheet: () => createSvgContactSheet
|
|
124031
124227
|
});
|
|
124032
124228
|
import sharp from "sharp";
|
|
124033
|
-
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as
|
|
124229
|
+
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync29, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
|
|
124034
124230
|
import { join as join83, extname as extname14, basename as basename16, dirname as dirname39 } from "path";
|
|
124035
124231
|
async function createContactSheet(imagePaths, outputPath, opts = {}) {
|
|
124036
124232
|
const {
|
|
@@ -124186,7 +124382,7 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
|
|
|
124186
124382
|
fit: "contain",
|
|
124187
124383
|
background: { r: 245, g: 245, b: 245, alpha: 1 }
|
|
124188
124384
|
}).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
|
|
124189
|
-
|
|
124385
|
+
writeFileSync29(tmpPath, thumb);
|
|
124190
124386
|
tmpPaths.push(tmpPath);
|
|
124191
124387
|
labels.push(svgFileNames[i2].replace(".svg", ""));
|
|
124192
124388
|
} catch {
|
|
@@ -163961,7 +164157,7 @@ __export(snapshot_exports, {
|
|
|
163961
164157
|
tailFrameTime: () => tailFrameTime
|
|
163962
164158
|
});
|
|
163963
164159
|
import { spawn as spawn16 } from "child_process";
|
|
163964
|
-
import { existsSync as existsSync84, mkdtempSync as
|
|
164160
|
+
import { existsSync as existsSync84, mkdtempSync as mkdtempSync6, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync30 } from "fs";
|
|
163965
164161
|
import { tmpdir as tmpdir7 } from "os";
|
|
163966
164162
|
import { resolve as resolve55, join as join84, relative as relative15, isAbsolute as isAbsolute14, basename as basename19 } from "path";
|
|
163967
164163
|
function orbitStageSource() {
|
|
@@ -163986,7 +164182,7 @@ function orbitStageSource() {
|
|
|
163986
164182
|
}`;
|
|
163987
164183
|
}
|
|
163988
164184
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
163989
|
-
const tmp =
|
|
164185
|
+
const tmp = mkdtempSync6(join84(tmpdir7(), "hf-snapshot-frame-"));
|
|
163990
164186
|
const outPath = join84(tmp, "frame.png");
|
|
163991
164187
|
try {
|
|
163992
164188
|
const ffmpegPath = findFFmpeg();
|
|
@@ -164473,7 +164669,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${args.output ? snaps
|
|
|
164473
164669
|
}
|
|
164474
164670
|
}
|
|
164475
164671
|
const descPath = join84(snapshotDir, "descriptions.md");
|
|
164476
|
-
|
|
164672
|
+
writeFileSync30(descPath, descriptions.join("\n"));
|
|
164477
164673
|
console.log(` ${c.dim("descriptions.md")} (Gemini frame analysis)`);
|
|
164478
164674
|
}
|
|
164479
164675
|
} catch (descErr) {
|
|
@@ -164493,7 +164689,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
|
|
|
164493
164689
|
});
|
|
164494
164690
|
|
|
164495
164691
|
// src/capture/assetDownloader.ts
|
|
164496
|
-
import { writeFileSync as
|
|
164692
|
+
import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync40 } from "fs";
|
|
164497
164693
|
import { join as join85, extname as extname15 } from "path";
|
|
164498
164694
|
import { createHash as createHash12 } from "crypto";
|
|
164499
164695
|
function svgContentHashSlug(svgSource, isLogo) {
|
|
@@ -164521,7 +164717,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164521
164717
|
const name = `${finalSlug}.svg`;
|
|
164522
164718
|
const localPath = `assets/svgs/${name}`;
|
|
164523
164719
|
try {
|
|
164524
|
-
|
|
164720
|
+
writeFileSync31(join85(outputDir, localPath), svg.outerHTML, "utf-8");
|
|
164525
164721
|
assets.push({ url: "", localPath, type: "svg" });
|
|
164526
164722
|
} catch {
|
|
164527
164723
|
}
|
|
@@ -164534,7 +164730,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164534
164730
|
const localPath = `assets/${name}`;
|
|
164535
164731
|
const buffer = await fetchBuffer(icon.href);
|
|
164536
164732
|
if (buffer) {
|
|
164537
|
-
|
|
164733
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164538
164734
|
assets.push({ url: icon.href, localPath, type: "favicon" });
|
|
164539
164735
|
break;
|
|
164540
164736
|
}
|
|
@@ -164599,7 +164795,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164599
164795
|
const name = `${slug}${ext}`;
|
|
164600
164796
|
usedNames.add(slug);
|
|
164601
164797
|
const localPath = `assets/${name}`;
|
|
164602
|
-
|
|
164798
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164603
164799
|
assets.push({ url, localPath, type: "image" });
|
|
164604
164800
|
imgIdx++;
|
|
164605
164801
|
} catch {
|
|
@@ -164612,7 +164808,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164612
164808
|
const localPath = `assets/og-image${ext}`;
|
|
164613
164809
|
const buffer = await fetchBuffer(tokens.ogImage);
|
|
164614
164810
|
if (buffer && buffer.length > 5e3) {
|
|
164615
|
-
|
|
164811
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164616
164812
|
assets.push({ url: tokens.ogImage, localPath, type: "image" });
|
|
164617
164813
|
}
|
|
164618
164814
|
} catch {
|
|
@@ -164675,7 +164871,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
|
|
|
164675
164871
|
const relativePath = `assets/fonts/${filename}`;
|
|
164676
164872
|
const buffer = await fetchBuffer(fontUrl);
|
|
164677
164873
|
if (buffer) {
|
|
164678
|
-
|
|
164874
|
+
writeFileSync31(localPath, buffer);
|
|
164679
164875
|
rewritten = rewritten.split(fontUrl).join(relativePath);
|
|
164680
164876
|
familyCounts.set(family, familyCount + 1);
|
|
164681
164877
|
count++;
|
|
@@ -166250,7 +166446,7 @@ var init_designStyleExtractor = __esm({
|
|
|
166250
166446
|
});
|
|
166251
166447
|
|
|
166252
166448
|
// src/capture/fontMetadataExtractor.ts
|
|
166253
|
-
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as
|
|
166449
|
+
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync33, existsSync as existsSync86 } from "fs";
|
|
166254
166450
|
import { join as join87 } from "path";
|
|
166255
166451
|
import * as fontkit from "fontkit";
|
|
166256
166452
|
function isFontCollection(value) {
|
|
@@ -166284,7 +166480,7 @@ function extractFontMetadata(fontsDir, outputPath) {
|
|
|
166284
166480
|
tool: "fontkit"
|
|
166285
166481
|
}
|
|
166286
166482
|
};
|
|
166287
|
-
|
|
166483
|
+
writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
|
|
166288
166484
|
return manifest;
|
|
166289
166485
|
}
|
|
166290
166486
|
function readSingleFont(fullPath, filename) {
|
|
@@ -166573,7 +166769,7 @@ var init_animationCataloger = __esm({
|
|
|
166573
166769
|
});
|
|
166574
166770
|
|
|
166575
166771
|
// src/capture/mediaCapture.ts
|
|
166576
|
-
import { mkdirSync as mkdirSync43, writeFileSync as
|
|
166772
|
+
import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync34, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
|
|
166577
166773
|
import { join as join88, extname as extname16 } from "path";
|
|
166578
166774
|
async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
166579
166775
|
let savedCount = 0;
|
|
@@ -166606,7 +166802,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166606
166802
|
const hash2 = buf.toString("base64").slice(0, 100);
|
|
166607
166803
|
if (savedHashes.has(hash2)) continue;
|
|
166608
166804
|
savedHashes.add(hash2);
|
|
166609
|
-
|
|
166805
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
|
|
166610
166806
|
savedCount++;
|
|
166611
166807
|
continue;
|
|
166612
166808
|
}
|
|
@@ -166624,7 +166820,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166624
166820
|
} catch {
|
|
166625
166821
|
continue;
|
|
166626
166822
|
}
|
|
166627
|
-
|
|
166823
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
|
|
166628
166824
|
savedCount++;
|
|
166629
166825
|
}
|
|
166630
166826
|
} catch {
|
|
@@ -166702,7 +166898,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
166702
166898
|
}
|
|
166703
166899
|
}
|
|
166704
166900
|
if (manifest.length > 0) {
|
|
166705
|
-
|
|
166901
|
+
writeFileSync34(
|
|
166706
166902
|
join88(outputDir, "extracted", "lottie-manifest.json"),
|
|
166707
166903
|
JSON.stringify(manifest, null, 2),
|
|
166708
166904
|
"utf-8"
|
|
@@ -166738,7 +166934,7 @@ async function downloadVideoBody(srcUrl, filename, videosDir) {
|
|
|
166738
166934
|
}
|
|
166739
166935
|
if (total < 1024) return null;
|
|
166740
166936
|
const safe = /\.[a-z0-9]+$/i.test(filename) ? filename.replace(/[^\w.-]/g, "_") : `video${ext}`;
|
|
166741
|
-
|
|
166937
|
+
writeFileSync34(join88(videosDir, safe), Buffer.concat(chunks));
|
|
166742
166938
|
return `assets/videos/${safe}`;
|
|
166743
166939
|
} catch {
|
|
166744
166940
|
return null;
|
|
@@ -166856,7 +167052,7 @@ async function captureVideoManifest(page, outputDir, progress, opts) {
|
|
|
166856
167052
|
});
|
|
166857
167053
|
}
|
|
166858
167054
|
if (videoManifest.length > 0) {
|
|
166859
|
-
|
|
167055
|
+
writeFileSync34(
|
|
166860
167056
|
join88(outputDir, "extracted", "video-manifest.json"),
|
|
166861
167057
|
JSON.stringify(videoManifest, null, 2),
|
|
166862
167058
|
"utf-8"
|
|
@@ -167309,7 +167505,7 @@ var agentPromptGenerator_exports = {};
|
|
|
167309
167505
|
__export(agentPromptGenerator_exports, {
|
|
167310
167506
|
generateAgentPrompt: () => generateAgentPrompt
|
|
167311
167507
|
});
|
|
167312
|
-
import { writeFileSync as
|
|
167508
|
+
import { writeFileSync as writeFileSync35, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
|
|
167313
167509
|
import { join as join90 } from "path";
|
|
167314
167510
|
function inferColorRole(hex) {
|
|
167315
167511
|
const r2 = parseInt(hex.slice(1, 3), 16) / 255;
|
|
@@ -167329,9 +167525,9 @@ function inferColorRole(hex) {
|
|
|
167329
167525
|
}
|
|
167330
167526
|
function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
|
|
167331
167527
|
const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
|
|
167332
|
-
|
|
167333
|
-
|
|
167334
|
-
|
|
167528
|
+
writeFileSync35(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
|
|
167529
|
+
writeFileSync35(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
|
|
167530
|
+
writeFileSync35(join90(outputDir, ".cursorrules"), prompt, "utf-8");
|
|
167335
167531
|
}
|
|
167336
167532
|
function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
|
|
167337
167533
|
const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
|
|
@@ -167444,7 +167640,7 @@ var init_agentPromptGenerator = __esm({
|
|
|
167444
167640
|
});
|
|
167445
167641
|
|
|
167446
167642
|
// src/capture/scaffolding.ts
|
|
167447
|
-
import { existsSync as existsSync89, writeFileSync as
|
|
167643
|
+
import { existsSync as existsSync89, writeFileSync as writeFileSync36, readFileSync as readFileSync60 } from "fs";
|
|
167448
167644
|
import { join as join91, resolve as resolve57 } from "path";
|
|
167449
167645
|
function loadEnvFile(startDir) {
|
|
167450
167646
|
try {
|
|
@@ -167474,7 +167670,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
|
|
|
167474
167670
|
const metaPath = join91(outputDir, "meta.json");
|
|
167475
167671
|
if (!existsSync89(metaPath)) {
|
|
167476
167672
|
const hostname = new URL(url).hostname.replace(/^www\./, "");
|
|
167477
|
-
|
|
167673
|
+
writeFileSync36(
|
|
167478
167674
|
metaPath,
|
|
167479
167675
|
JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
|
|
167480
167676
|
"utf-8"
|
|
@@ -167509,7 +167705,7 @@ var screenshotCapture_exports = {};
|
|
|
167509
167705
|
__export(screenshotCapture_exports, {
|
|
167510
167706
|
captureScrollScreenshots: () => captureScrollScreenshots
|
|
167511
167707
|
});
|
|
167512
|
-
import { writeFileSync as
|
|
167708
|
+
import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync44 } from "fs";
|
|
167513
167709
|
import { join as join93 } from "path";
|
|
167514
167710
|
async function captureScrollScreenshots(page, outputDir) {
|
|
167515
167711
|
const screenshotsDir = join93(outputDir, "screenshots");
|
|
@@ -167606,7 +167802,7 @@ async function captureScrollScreenshots(page, outputDir) {
|
|
|
167606
167802
|
const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
|
|
167607
167803
|
const filePath = join93(screenshotsDir, filename);
|
|
167608
167804
|
const buffer = await page.screenshot({ type: "png" });
|
|
167609
|
-
|
|
167805
|
+
writeFileSync37(filePath, buffer);
|
|
167610
167806
|
filePaths.push(`screenshots/${filename}`);
|
|
167611
167807
|
}
|
|
167612
167808
|
await page.evaluate(`window.scrollTo(0, 0)`);
|
|
@@ -167953,7 +168149,7 @@ var capture_exports = {};
|
|
|
167953
168149
|
__export(capture_exports, {
|
|
167954
168150
|
captureWebsite: () => captureWebsite
|
|
167955
168151
|
});
|
|
167956
|
-
import { mkdirSync as mkdirSync45, writeFileSync as
|
|
168152
|
+
import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync38, existsSync as existsSync90 } from "fs";
|
|
167957
168153
|
import { join as join94 } from "path";
|
|
167958
168154
|
async function captureWebsite(opts, onProgress) {
|
|
167959
168155
|
const {
|
|
@@ -168152,7 +168348,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168152
168348
|
return true;
|
|
168153
168349
|
});
|
|
168154
168350
|
capturedShaders = unique;
|
|
168155
|
-
|
|
168351
|
+
writeFileSync38(
|
|
168156
168352
|
join94(outputDir, "extracted", "shaders.json"),
|
|
168157
168353
|
JSON.stringify(unique, null, 2),
|
|
168158
168354
|
"utf-8"
|
|
@@ -168167,7 +168363,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168167
168363
|
...tokens,
|
|
168168
168364
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168169
168365
|
};
|
|
168170
|
-
|
|
168366
|
+
writeFileSync38(
|
|
168171
168367
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168172
168368
|
JSON.stringify(tokensForDisk, null, 2),
|
|
168173
168369
|
"utf-8"
|
|
@@ -168175,7 +168371,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168175
168371
|
progress("style", "Extracting design styles...");
|
|
168176
168372
|
try {
|
|
168177
168373
|
const designStyles = await extractDesignStyles(page1);
|
|
168178
|
-
|
|
168374
|
+
writeFileSync38(
|
|
168179
168375
|
join94(outputDir, "extracted", "design-styles.json"),
|
|
168180
168376
|
JSON.stringify(designStyles, null, 2),
|
|
168181
168377
|
"utf-8"
|
|
@@ -168282,7 +168478,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168282
168478
|
scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
|
|
168283
168479
|
representativeAnimations: representativeAnims
|
|
168284
168480
|
};
|
|
168285
|
-
|
|
168481
|
+
writeFileSync38(
|
|
168286
168482
|
join94(outputDir, "extracted", "animations.json"),
|
|
168287
168483
|
JSON.stringify(leanCatalog, null, 2),
|
|
168288
168484
|
"utf-8"
|
|
@@ -168313,7 +168509,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168313
168509
|
...tokens,
|
|
168314
168510
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168315
168511
|
};
|
|
168316
|
-
|
|
168512
|
+
writeFileSync38(
|
|
168317
168513
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168318
168514
|
JSON.stringify(tokensForDisk2, null, 2),
|
|
168319
168515
|
"utf-8"
|
|
@@ -168330,12 +168526,12 @@ ${extracted.bodyHtml}
|
|
|
168330
168526
|
</body>
|
|
168331
168527
|
</html>
|
|
168332
168528
|
`;
|
|
168333
|
-
|
|
168529
|
+
writeFileSync38(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
|
|
168334
168530
|
} catch (err) {
|
|
168335
168531
|
warnings.push(`page.html write failed: ${err}`);
|
|
168336
168532
|
}
|
|
168337
168533
|
if (visibleTextContent) {
|
|
168338
|
-
|
|
168534
|
+
writeFileSync38(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
|
|
168339
168535
|
}
|
|
168340
168536
|
const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
|
|
168341
168537
|
progress("design", "Generating asset descriptions...");
|
|
@@ -168344,7 +168540,7 @@ ${extracted.bodyHtml}
|
|
|
168344
168540
|
if (lines.length > 0) {
|
|
168345
168541
|
const hasGeminiKey = !!(process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY);
|
|
168346
168542
|
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
|
-
|
|
168543
|
+
writeFileSync38(
|
|
168348
168544
|
join94(outputDir, "extracted", "asset-descriptions.md"),
|
|
168349
168545
|
header + lines.map((l) => "- " + l).join("\n") + "\n",
|
|
168350
168546
|
"utf-8"
|
|
@@ -168636,11 +168832,11 @@ var init_capture2 = __esm({
|
|
|
168636
168832
|
} catch (err) {
|
|
168637
168833
|
const errMsg = normalizeErrorMessage(err);
|
|
168638
168834
|
try {
|
|
168639
|
-
const { mkdirSync: mkdirSync56, writeFileSync:
|
|
168835
|
+
const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync48 } = await import("fs");
|
|
168640
168836
|
mkdirSync56(outputDir, { recursive: true });
|
|
168641
168837
|
const isTimeout = /timeout|timed out/i.test(errMsg);
|
|
168642
168838
|
const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
|
|
168643
|
-
|
|
168839
|
+
writeFileSync48(
|
|
168644
168840
|
`${outputDir}/BLOCKED.md`,
|
|
168645
168841
|
`# Capture Failed
|
|
168646
168842
|
|
|
@@ -168683,7 +168879,7 @@ __export(state_exports, {
|
|
|
168683
168879
|
stateFilePath: () => stateFilePath,
|
|
168684
168880
|
writeStackOutputs: () => writeStackOutputs
|
|
168685
168881
|
});
|
|
168686
|
-
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as
|
|
168882
|
+
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync39 } from "fs";
|
|
168687
168883
|
import { dirname as dirname40, join as join95 } from "path";
|
|
168688
168884
|
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
168689
168885
|
return join95(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
@@ -168691,7 +168887,7 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
|
168691
168887
|
function writeStackOutputs(outputs, cwd = process.cwd()) {
|
|
168692
168888
|
const path2 = stateFilePath(outputs.stackName, cwd);
|
|
168693
168889
|
mkdirSync46(dirname40(path2), { recursive: true });
|
|
168694
|
-
|
|
168890
|
+
writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
|
|
168695
168891
|
return path2;
|
|
168696
168892
|
}
|
|
168697
168893
|
function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
@@ -170243,7 +170439,7 @@ __export(cloudrun_exports, {
|
|
|
170243
170439
|
});
|
|
170244
170440
|
import { spawnSync as spawnSync6 } from "child_process";
|
|
170245
170441
|
import { createRequire as createRequire4 } from "module";
|
|
170246
|
-
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as
|
|
170442
|
+
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync40 } from "fs";
|
|
170247
170443
|
import { homedir as homedir14 } from "os";
|
|
170248
170444
|
import { dirname as dirname42, join as join101, resolve as resolve61 } from "path";
|
|
170249
170445
|
function stateDir() {
|
|
@@ -170254,7 +170450,7 @@ function statePath() {
|
|
|
170254
170450
|
}
|
|
170255
170451
|
function writeState(state) {
|
|
170256
170452
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170257
|
-
|
|
170453
|
+
writeFileSync40(statePath(), JSON.stringify(state, null, 2));
|
|
170258
170454
|
}
|
|
170259
170455
|
function readState(args) {
|
|
170260
170456
|
const overrides = {
|
|
@@ -170417,7 +170613,7 @@ function findRepoRoot(tfDir) {
|
|
|
170417
170613
|
function writeCloudBuildConfig(image) {
|
|
170418
170614
|
const cfgPath = join101(stateDir(), "cloudrun-cloudbuild.yaml");
|
|
170419
170615
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170420
|
-
|
|
170616
|
+
writeFileSync40(
|
|
170421
170617
|
cfgPath,
|
|
170422
170618
|
[
|
|
170423
170619
|
"steps:",
|
|
@@ -174367,7 +174563,7 @@ var init_parseFigmaRef = __esm({
|
|
|
174367
174563
|
});
|
|
174368
174564
|
|
|
174369
174565
|
// ../core/dist/figma/freeze.js
|
|
174370
|
-
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as
|
|
174566
|
+
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync41 } from "fs";
|
|
174371
174567
|
import { dirname as dirname45 } from "path";
|
|
174372
174568
|
function exceedsFreezeCap(byteLength) {
|
|
174373
174569
|
return byteLength > MAX_FREEZE_BYTES;
|
|
@@ -174379,12 +174575,12 @@ function freezeBytes(bytes, destPath) {
|
|
|
174379
174575
|
throw new Error(`freeze failed: ${bytes.length} bytes exceeds ${MAX_FREEZE_BYTES} cap`);
|
|
174380
174576
|
mkdirSync49(dirname45(destPath), { recursive: true });
|
|
174381
174577
|
try {
|
|
174382
|
-
|
|
174578
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174383
174579
|
} catch (err) {
|
|
174384
174580
|
if (err.code !== "EEXIST")
|
|
174385
174581
|
throw err;
|
|
174386
174582
|
rmSync21(destPath);
|
|
174387
|
-
|
|
174583
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174388
174584
|
}
|
|
174389
174585
|
return bytes.length;
|
|
174390
174586
|
}
|
|
@@ -174421,7 +174617,7 @@ var init_jsonl = __esm({
|
|
|
174421
174617
|
});
|
|
174422
174618
|
|
|
174423
174619
|
// ../core/dist/figma/manifest.js
|
|
174424
|
-
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as
|
|
174620
|
+
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync43 } from "fs";
|
|
174425
174621
|
import { join as join104 } from "path";
|
|
174426
174622
|
function mediaDir(projectDir) {
|
|
174427
174623
|
return join104(projectDir, ".media");
|
|
@@ -174475,7 +174671,7 @@ function updateRecord(projectDir, record) {
|
|
|
174475
174671
|
}
|
|
174476
174672
|
return line2;
|
|
174477
174673
|
});
|
|
174478
|
-
|
|
174674
|
+
writeFileSync43(p2, out.join("\n"));
|
|
174479
174675
|
}
|
|
174480
174676
|
function nextId(projectDir, type) {
|
|
174481
174677
|
const re2 = new RegExp(`^${type}_(\\d+)$`);
|
|
@@ -174516,7 +174712,7 @@ var init_manifest = __esm({
|
|
|
174516
174712
|
});
|
|
174517
174713
|
|
|
174518
174714
|
// ../core/dist/figma/mediaIndex.js
|
|
174519
|
-
import { mkdirSync as mkdirSync51, writeFileSync as
|
|
174715
|
+
import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync44 } from "fs";
|
|
174520
174716
|
import { dirname as dirname46, join as join105 } from "path";
|
|
174521
174717
|
function isRow(value) {
|
|
174522
174718
|
return typeof value === "object" && value !== null;
|
|
@@ -174568,7 +174764,7 @@ function regenerateIndex(projectDir) {
|
|
|
174568
174764
|
const content = generateIndexContent(records);
|
|
174569
174765
|
const p2 = indexPath(projectDir);
|
|
174570
174766
|
mkdirSync51(dirname46(p2), { recursive: true });
|
|
174571
|
-
|
|
174767
|
+
writeFileSync44(p2, content);
|
|
174572
174768
|
return content;
|
|
174573
174769
|
}
|
|
174574
174770
|
var init_mediaIndex = __esm({
|
|
@@ -174633,7 +174829,7 @@ var init_sanitizeSvg = __esm({
|
|
|
174633
174829
|
});
|
|
174634
174830
|
|
|
174635
174831
|
// ../core/dist/figma/bindings.js
|
|
174636
|
-
import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as
|
|
174832
|
+
import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync45 } from "fs";
|
|
174637
174833
|
import { join as join106 } from "path";
|
|
174638
174834
|
function bindingsPath(projectDir) {
|
|
174639
174835
|
return join106(mediaDir(projectDir), BINDINGS_FILE);
|
|
@@ -174655,7 +174851,7 @@ function upsertBindings(projectDir, records) {
|
|
|
174655
174851
|
const survivors = readLines(projectDir).filter((line2) => !(isBindingRecord(line2) && incoming.has(line2.figmaId)));
|
|
174656
174852
|
mkdirSync53(mediaDir(projectDir), { recursive: true });
|
|
174657
174853
|
const lines = [...survivors, ...records].map((r2) => JSON.stringify(r2)).join("\n");
|
|
174658
|
-
|
|
174854
|
+
writeFileSync45(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
|
|
174659
174855
|
}
|
|
174660
174856
|
var BINDINGS_FILE;
|
|
174661
174857
|
var init_bindings = __esm({
|
|
@@ -175322,7 +175518,7 @@ __export(tokens_exports, {
|
|
|
175322
175518
|
default: () => tokens_default,
|
|
175323
175519
|
runTokensImport: () => runTokensImport
|
|
175324
175520
|
});
|
|
175325
|
-
import { writeFileSync as
|
|
175521
|
+
import { writeFileSync as writeFileSync46 } from "fs";
|
|
175326
175522
|
import { join as join108 } from "path";
|
|
175327
175523
|
async function runTokensImport(refInput, deps) {
|
|
175328
175524
|
const { fileKey } = parseFigmaRef(refInput);
|
|
@@ -175337,7 +175533,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175337
175533
|
if (vars !== null) {
|
|
175338
175534
|
const out = tokensToVariables(vars, { fileKey, version: version2 });
|
|
175339
175535
|
upsertBindings(deps.projectDir, out.bindings);
|
|
175340
|
-
|
|
175536
|
+
writeFileSync46(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
|
|
175341
175537
|
return { mode: "variables", entries: out.entries, sidecarPath };
|
|
175342
175538
|
}
|
|
175343
175539
|
const styles = await deps.client.styles(fileKey);
|
|
@@ -175351,7 +175547,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175351
175547
|
value: null
|
|
175352
175548
|
}))
|
|
175353
175549
|
};
|
|
175354
|
-
|
|
175550
|
+
writeFileSync46(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
|
|
175355
175551
|
return { mode: "styles", entries: [], sidecarPath };
|
|
175356
175552
|
}
|
|
175357
175553
|
var tokens_default;
|
|
@@ -175393,7 +175589,7 @@ __export(component_exports, {
|
|
|
175393
175589
|
default: () => component_default,
|
|
175394
175590
|
runComponentImport: () => runComponentImport
|
|
175395
175591
|
});
|
|
175396
|
-
import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as
|
|
175592
|
+
import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync47 } from "fs";
|
|
175397
175593
|
import { join as join109, relative as relative17 } from "path";
|
|
175398
175594
|
function escapeAttr2(value) {
|
|
175399
175595
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
@@ -175431,7 +175627,7 @@ async function runComponentImport(refInput, deps) {
|
|
|
175431
175627
|
);
|
|
175432
175628
|
}
|
|
175433
175629
|
const htmlFile = join109(componentDir, `${name}.html`);
|
|
175434
|
-
|
|
175630
|
+
writeFileSync47(htmlFile, html + "\n");
|
|
175435
175631
|
const registryItem = {
|
|
175436
175632
|
name,
|
|
175437
175633
|
type: "hyperframes:component",
|
|
@@ -175451,7 +175647,7 @@ async function runComponentImport(refInput, deps) {
|
|
|
175451
175647
|
}))
|
|
175452
175648
|
]
|
|
175453
175649
|
};
|
|
175454
|
-
|
|
175650
|
+
writeFileSync47(
|
|
175455
175651
|
join109(componentDir, "registry-item.json"),
|
|
175456
175652
|
JSON.stringify(registryItem, null, 2) + "\n"
|
|
175457
175653
|
);
|
|
@@ -175692,7 +175888,7 @@ __export(autoUpdate_exports, {
|
|
|
175692
175888
|
scheduleBackgroundInstall: () => scheduleBackgroundInstall
|
|
175693
175889
|
});
|
|
175694
175890
|
import { spawn as spawn17 } from "child_process";
|
|
175695
|
-
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as
|
|
175891
|
+
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync4 } from "fs";
|
|
175696
175892
|
import { homedir as homedir16 } from "os";
|
|
175697
175893
|
import { join as join110 } from "path";
|
|
175698
175894
|
import { compareVersions as compareVersions3 } from "compare-versions";
|
|
@@ -175741,7 +175937,7 @@ function launchDetachedInstall(installCommand, version2) {
|
|
|
175741
175937
|
} catch (e) {}
|
|
175742
175938
|
});
|
|
175743
175939
|
`;
|
|
175744
|
-
const out =
|
|
175940
|
+
const out = openSync4(LOG_FILE, "a", 384);
|
|
175745
175941
|
const child = spawn17(process.execPath, ["-e", nodeScript], {
|
|
175746
175942
|
detached: true,
|
|
175747
175943
|
stdio: ["ignore", out, out],
|