hyperframes 0.6.17 → 0.6.19
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 +1666 -464
- package/dist/hyperframe-runtime.js +1 -1
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +1 -1
- package/package.json +2 -1
package/dist/cli.js
CHANGED
|
@@ -54,7 +54,7 @@ var VERSION;
|
|
|
54
54
|
var init_version = __esm({
|
|
55
55
|
"src/version.ts"() {
|
|
56
56
|
"use strict";
|
|
57
|
-
VERSION = true ? "0.6.
|
|
57
|
+
VERSION = true ? "0.6.19" : "0.0.0-dev";
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
|
|
@@ -7408,7 +7408,7 @@ var RUNTIME_IIFE;
|
|
|
7408
7408
|
var init_runtime_inline = __esm({
|
|
7409
7409
|
"../core/src/generated/runtime-inline.ts"() {
|
|
7410
7410
|
"use strict";
|
|
7411
|
-
RUNTIME_IIFE = '"use strict";(()=>{var $o=Object.create;var dn=Object.defineProperty;var Ko=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Xo=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Jo(e))!Yo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Ko(e,r))||i.enumerable});return t};var es=(t,e,n)=>(n=t!=null?$o(Qo(t)):{},Xo(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Zo(t,typeof e!="symbol"?e+"":e,n);var Ri=Y((ic,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Y(()=>{});var It=Y((sc,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=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=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=h=>l(f(h)),i=h=>p(h),Di&&(o=h=>Di(h))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,h=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,S=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(S,q),M=i(h.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(h)+o(I)+`\n `+M+r("^")}let F=i(h.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(h)+o(l)+`\n `+F+r("^")}return" "+i(h)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Y((ac,Ii)=>{"use strict";var As=/(<)(\\/?style\\b)/gi,Es=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(As,"\\\\3c $2").replace(Es,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fs(t){return t[0].toUpperCase()+t.slice(1)}var pt=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(Pe(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 u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(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(Pe(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 u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+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(Pe(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 Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fs(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[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:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(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)}};Ii.exports=pt;pt.default=pt});var ht=Y((lc,Oi)=>{"use strict";var ws=Sn();function bn(t,e){new ws(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Y((uc,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Y((cc,Pi)=>{"use strict";var Ns=It(),Cs=Sn(),Ms=ht(),{isClean:xt,my:Ts}=Ot();function En(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=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(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 gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[Ts]=!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=En(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 Ns(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[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!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(Ie(i,this.source.start),Ie(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=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\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:Ie(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:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(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:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(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 Cs().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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}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=Ms){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)}};Pi.exports=gt;gt.default=gt});var bt=Y((dc,Wi)=>{"use strict";var ks=yt(),St=class extends ks{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Y((fc,Hi)=>{"use strict";var _s=yt(),At=class extends _s{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"}};Hi.exports=At;At.default=At});var We=Y((mc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),Rs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends Rs{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 u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(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 Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(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)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Y((pc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{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)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Y((hc,er)=>{"use strict";var vs=We(),Zi,Xi,Je=class extends vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Y((xc,tr)=>{var Ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ls=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Bs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ds[Math.random()*64|0];return e};tr.exports={nanoid:Bs,customAlphabet:Ls}});var Ht=Y(()=>{});var qt=Y(()=>{});var Nn=Y(()=>{});var ir=Y(()=>{});var Mn=Y((Nc,sr)=>{"use strict";var{existsSync:Is,readFileSync:Os}=ir(),{dirname:Cn,join:Ps}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Ws(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=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=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(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 u=e.match(n)||e.match(i);if(u)return Ws(e.substr(u[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=Cn(e),Is(e)))return this.mapFile=e,Os(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 rr)return or.fromSourceMap(n).toString();if(n instanceof or)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=Ps(Cn(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)}};sr.exports=Ft;Ft.default=Ft});var wt=Y((Cc,dr)=>{"use strict";var{nanoid:Hs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:qs,SourceMapGenerator:Us}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),zs=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),js=!!(qs&&Us),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];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[kn]=n,n}var et=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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&js){let i=new zs(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 "+Hs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let h=this.fromOffset(a);n=h.line,i=h.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let h=this.fromOffset(u);s=h.line,o=h.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(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:Rn(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 u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}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}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Y((Mc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{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 mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Y((Tc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Y((kc,yr)=>{"use strict";var gr=We(),Gs=vn(),nt=class extends gr{get selectors(){return Gs.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=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Y((_c,Sr)=>{"use strict";var Vs=Pt(),$s=bt(),Ks=Et(),Js=wt(),Qs=Mn(),Ys=tt(),Zs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Js.prototype};o.map&&(o.map={...o.map,__proto__:Qs.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(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 Ys(i);if(i.type==="decl")return new Ks(i);if(i.type==="rule")return new Zs(i);if(i.type==="comment")return new $s(i);if(i.type==="atrule")return new Vs(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Y((Rc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),Xs=wt(),ea=!!(Nr&&Gt),ta=!!(jt&&Fr&&Er&&wr),Dn=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||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(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(),ta&&ea&&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=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({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,(u,a,c)=>{if(this.css+=u,a&&c!=="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=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.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?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(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 Xs(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(Ar){let i=Ar(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;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Y((vc,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,na=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,h,F,E=i.length,S=0,q=[],I=[],M=-1;function X(){return S}function _(w){throw e.error("Unclosed "+w,S)}function N(){return I.length===0&&S>=E}function g(w){if(I.length)return I.pop();if(S>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,S];break}case 40:{if(F=q.length?q.pop()[1]:"",h=i.charCodeAt(S+1),F==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){a=S;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=S;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(S,a+1),S,a],S=a}else S<=M?l=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||na.test(s)?(M=a===-1?E:a,l=["(","(",S]):(l=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=S+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Vt.lastIndex=S+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(S,a+1),S,a],S=a):($t.lastIndex=S+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(S,a+1),S,a],q.push(l),S=a);break}}return S++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Y((Dc,vr)=>{"use strict";var ia=Pt(),ra=bt(),oa=Et(),sa=tt(),_r=zt(),aa=kr(),Rr={empty:!0,space:!0};function la(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new sa,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 ia;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!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=""),u&&(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,u]of e.entries()){if(r=u,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 ra;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=aa(this.input)}decl(e,n){let i=new oa;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]||la(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 c=e[0][0];if(c===":"||c==="space"||c==="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=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let h=l[f][0];if(p.trim().startsWith("!")&&h!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[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 _r;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=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);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));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}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,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((h,F)=>h+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;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})}};vr.exports=Bn});var Jt=Y((Lc,Lr)=>{"use strict";var ua=We(),ca=wt(),da=Dr();function Kt(t,e){let n=new ca(t,e),i=new da(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ua.registerParse(Kt)});var In=Y((Bc,Br)=>{"use strict";var Mt=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}};Br.exports=Mt;Mt.default=Mt});var Qt=Y((Ic,Ir)=>{"use strict";var fa=In(),Tt=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 fa(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Y((Oc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Y((Wc,Ur)=>{"use strict";var ma=We(),pa=Wt(),ha=Ln(),xa=Jt(),Wr=Qt(),ga=tt(),ya=ht(),{isClean:Le,my:Sa}=Ot(),Pc=On(),ba={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Aa={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},Ea={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=ba[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=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=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(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=xa;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[Sa]&&ma.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(!Aa[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ea[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[Le];){e[Le]=!0;let n=[Hr(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=ya;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,u=>{s+=u}),this.result.css=s,this.result}let o=new ha(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[Le];)e[Le]=!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,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));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===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ga.registerLazyResult(qe);pa.registerLazyResult(qe)});var jr=Y((qc,zr)=>{"use strict";var Fa=Ln(),wa=Jt(),Na=Qt(),Ca=ht(),Hc=On(),_t=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=wa;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=Ca;this.result=new Na(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 Fa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),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[]}};zr.exports=_t;_t.default=_t});var Vr=Y((Uc,Gr)=>{"use strict";var Ma=Wt(),Ta=Hn(),ka=jr(),_a=tt(),Qe=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 ka(this,e,n):new Ta(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;_a.registerProcessor(Qe);Ma.registerProcessor(Qe)});var eo=Y((zc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),Ra=We(),va=It(),Jr=Et(),Qr=Wt(),Da=br(),La=wt(),Ba=Hn(),Ia=vn(),Oa=yt(),Pa=Jt(),qn=Vr(),Wa=Qt(),Yr=tt(),Zr=zt(),Ha=ht(),qa=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.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 u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=Ha;re.parse=Pa;re.fromJSON=Da;re.list=Ia;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=va;re.Declaration=Jr;re.Container=Ra;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=qa;re.AtRule=$r;re.Result=Wa;re.Input=La;re.Rule=Zr;re.Root=Yr;re.Node=Oa;Ba.registerPostcss(re);Xr.exports=re;re.default=re});function D(t,e){if(typeof window>"u")return;let n=window,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 Fe(t){try{window.parent.postMessage(t,"*")}catch(e){D("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ts(o,s)}};return window.addEventListener("message",e),e}function ts(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){D("bridge.flashElements.querySelector",i)}}var fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){D("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){D("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){D("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){D("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){D("runtime.adapters.css.site4",c)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(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,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){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){D("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){D("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){D("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){D("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function pi(){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){D("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(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(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){D("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(fi(e)||mi(e))&&e.pause()}catch(n){D("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){D("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){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=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){D("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){D("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){D("runtime.adapters.waapi.site3",e)}}}}function bi(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 u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,h=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(h)||h<=0)&&f!=null&&(h=Math.max(0,(f-a)/l));let F=Number.isFinite(h)&&h>0?u+h:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:u,mediaStart:a,duration:Number.isFinite(h)&&h>0?h:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function ns(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(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){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){D("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let h=f===void 0,F=!h&&Math.abs(p-f)>.5,E=l>3,S=l>.5&&(h||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!S&&!h&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(S||M||X){try{i.currentTime=r}catch(_){D("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){D("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(ns(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var is=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),rs=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){D("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(is)||c(g))}function p(g){return!!g?.closest(rs)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let v=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return v;let J=P.querySelectorAll(`:scope > ${v}`);if(J.length===1)return v;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${v}:nth-of-type(${R+1})`;return v}function h(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,v)=>T.length>v?`${T.slice(0,v-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let v={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!v[le]&&(v[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let v=g.attributes[T];v.name.startsWith("data-")&&(w[v.name]=v.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:h(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function S(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){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",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){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",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=S(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),v=C[T]??null;return v?(a(v),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:v}),_(),v):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=S(g,A,8);if(!C.length)return[];let T=[],v=Array.isArray(w)?w:[0];for(let P of v){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(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 ct(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){D("runtime.player.site1",r)}}}function Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function os(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){D("runtime.player.site2",s)}}}function ss(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),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()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(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=os(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.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?(ss(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var as="data-hf-authored-duration",ls="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function us(t){return $e(t.getAttribute("data-duration"))}function cs(t){return $e(t.getAttribute("data-end"))}function ds(t){return $e(t.getAttribute(as))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){let e=(t??"").trim();if(!e)return null;let n=$e(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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,h=us(l)??(n?ds(l):null);if(h!=null&&h>0&&(f=h),f==null||f<=0){let F=cs(l)??(n?fs(l):null);if(F!=null){let E=c(l,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){D("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let h=l.parentElement?.closest("[data-composition-id]");return h?c(h,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let h=ms(l.getAttribute("data-start"));if(!h){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(h.kind==="absolute"){let I=Math.max(0,h.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(h.refId);if(!F)return i.set(l,p),p;let E=c(F,0),S=u(F);if(S==null||S<=0){let I=Math.max(0,E+h.offset);return i.set(l,I),I}let q=Math.max(0,E+S+h.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var ps="data-hf-authored-duration",hs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(ps))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(hs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function xs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(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 Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function gs(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 ys(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 Ss(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function bs(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 dt(r);let o=t.id;if(o)return dt(o);let s=gs(t);if(s)return dt(s);let u=ys(Ti(t));if(u)return dt(u);let a=Ss(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,h=s(),F=h!=null?Math.max(0,h-Math.max(0,f)):null,E=r(p),S=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,v=(C!=null?f+C:null)??(typeof h=="number"&&Number.isFinite(h)&&h>0?h:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:v==null||!Number.isFinite(v)?k:!Number.isFinite(H)||H>=v?0:Math.max(0,Math.min(k,v-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:bs(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){D("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}xs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Z=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.round(Z*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=es(eo(),1),to=ae.default,jc=ae.default.stringify,Gc=ae.default.fromJSON,Vc=ae.default.plugin,$c=ae.default.parse,Kc=ae.default.list,Jc=ae.default.document,Qc=ae.default.comment,Yc=ae.default.atRule,Zc=ae.default.rule,Xc=ae.default.decl,ed=ae.default.root,td=ae.default.CssSyntaxError,nd=ae.default.Declaration,id=ae.default.Container,rd=ae.default.Processor,od=ae.default.Document,sd=ae.default.Comment,ad=ae.default.Warning,ld=ae.default.AtRule,ud=ae.default.Result,cd=ae.default.Input,dd=ae.default.Rule,fd=ae.default.Root,md=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ua(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,Ua(e)])).filter(Boolean):[]}function za(t){return!!t&&/[\\w-]/.test(t)}function ja(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(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 l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!za(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Ga(t,e){let n=e?.trim();return n?ja(t,n,`[${no}="${io(n)}"]`):t}function Va(t,e,n,i){let r=Ga(t,i),o=$a(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function $a(t,e,n){let i=Un(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 Ka=new Set(["keyframes","-webkit-keyframes","font-face"]);function Ja(t){return t?.type==="atrule"}function Qa(t){let e=t.parent;for(;e;){if(Ja(e)&&Ka.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Qa(u)||(u.selectors=u.selectors.map(a=>Va(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),h=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootIdForms = ${F};\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 var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\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}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Ya();return{...t,...e}}function jn(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 Ya(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Za=8e3,Xa=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function el(t,e){return`${t}__hf${e}`}var tl=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"),Za)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var nl=["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 il(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of nl)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return Xa.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function rl(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 Yt(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 ol(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function sl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function al(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:sl(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=ol(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=al(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?el(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(h=>h.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.headStyles)for(let f of t.headStyles){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let a=[];if(t.headScripts)for(let f of t.headScripts){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),h=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(h);f&&t.host.setAttribute("data-width",f),h&&t.host.setAttribute("data-height",h),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(il(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...rl(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 l){let h=document.createElement("script");if(f.type&&(h.type=f.type),h.async=!1,f.kind==="external"?h.src=f.src:f.type.toLowerCase()==="module"?h.textContent=f.content:f.scopeCompositionId?h.textContent=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),t.injectedScripts.push(h),f.kind==="external"){let F=await tl(h);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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 u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ll(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ul(){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 cl(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 Kn(){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=ul();for(let i of e){let r=null;if(i.wordId&&(r=ll(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(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.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 u=cl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(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 po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(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._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return D("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,h=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=h,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let S=-f/c;l.start(h+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:h,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return D("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){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){D("webAudioTransport.setRate",r)}}}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)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){D("runtime.init.site1",d)}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 u=d=>{r.push(d)},a=(d,m,x)=>{let b=x??`${d}:${JSON.stringify(m)}`;o.has(b)||(o.add(b),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},x=[],b=[],y={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:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>x,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:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,h=.05,F=100,E=240,S=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??"")}},q=d=>{let m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(x=>!x.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x),m&&d.style.setProperty("--comp-width",m),x&&d.style.setProperty("--comp-height",x)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(x=>x.hasAttribute("data-duration")||x.hasAttribute("data-end"));for(let x of m){if(d&&x===d)continue;let b=x.getAttribute("data-duration"),y=x.getAttribute("data-end");b!=null&&!x.hasAttribute(ho)&&x.setAttribute(ho,b),y!=null&&!x.hasAttribute(xo)&&x.setAttribute(xo,y),x.removeAttribute("data-duration"),x.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x);let b=Array.from(d.children);for(let y of b){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,x)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:x?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let x=m.getAttribute("data-composition-id");if(x&&m.children.length===0&&document.querySelector(`template#${CSS.escape(x)}-template`)){C=!0;break}}}let T=!w&&!C,v=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let x=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(x)?Math.max(0,x):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let x of d){let b=g(x,0);if(!Number.isFinite(b))continue;let y=J(x);y==null||y<=l||(m=Math.max(m,Math.max(0,b)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},x=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=x.resolveStartForElement(L,0),ne=x.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(b=Math.max(b,Math.max(0,$)+ne))}return b>l?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let x=v(d),b=Se(),y=le(),L=Math.max(b??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(x)?$=Math.max(x,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),x=Se(),b=le(),y=Math.max(x??0,b??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let pe of oe)ue.add(pe.timeline,te(pe.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let pe=ue.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){D("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){D("runtime.init.site3",se)}return pe},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let pe=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){D("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=v(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(pe){D("runtime.init.site5",pe)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Z=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=v(ye);if(!P(Q)&&me.length>0){let se=me.map(Vo=>Vo.compositionId),Ce=$(me),ke=v(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=v(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=v(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),pe=ue?parseFloat(ue):null,be=Math.max(P(pe)?pe:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){D("runtime.init.site6",ke)}let Ce=v(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:b,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:x,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(pe=>pe.compositionId),Q=$(me),ue=v(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,selectedTimelineIds:oe}}}}return{timeline:null}},Z=!1,he=()=>{if(!T)return!1;let d=t.capturedTimeline,m=v(d),x=P(m);if(d&&x&&Z)return!1;let b=W();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 y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return b.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),!0},Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),x=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(x)&&x>0&&Number.isFinite(b)&&b>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:x,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=S(d.error??d.message).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:x.code,details:{category:x.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=S(d.reason).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${x.code}_unhandled_rejection`,details:{category:`${x.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let x of d){let b=()=>{if(!(x instanceof Element))return;let y=x.tagName.toLowerCase(),L=x.getAttribute("src")??x.getAttribute("href")??x.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(x instanceof HTMLImageElement||x instanceof HTMLMediaElement)&&x.currentSrc||null,readyState:x instanceof HTMLMediaElement?x.readyState:null,networkState:x instanceof HTMLMediaElement?x.networkState:null},`${te}:${y}:${L??"unknown"}`)};x.addEventListener("error",b),u(()=>{x.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let x=Array.from(m).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);x.length!==0&&a("runtime_font_load_issue",{failedFamilies:x,totalFaces:Array.from(m).length},`runtime-font-load-issue:${x.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let x=t.capturedTimeline;if(x&&x===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=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),y&&t.capturedTimeline.play()}catch(L){D("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){he()&&(je(),ce(!0));return}if(z)return;let x=v(t.capturedTimeline),b=d.selectedDurationSeconds??v(d.timeline);P(b)&&(!P(x)||b>=x+h)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:x??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),x=t.mediaForceSyncNextTick;x&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:x,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),x=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||x-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=x,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let x=I(d.getAttribute("data-width")),b=I(d.getAttribute("data-height")),y=x?parseInt(x,10):0,L=b?parseInt(b,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}he();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let x of t.deterministicAdapters){try{d==="discover"&&x.discover(),d==="pause"&&x.pause(),d==="play"&&x.play&&x.play()}catch(b){D("runtime.init.site8",b)}if(d==="discover")try{x.seek({time:m})}catch(b){D("runtime.init.site9",b)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:x})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:x})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,he(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let x=document.querySelectorAll("video, audio");for(let b of x)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){D("runtime.init.site10",y)}},de=wi({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:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(x){D("runtime.init.site11",x)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let x=Math.max(0,d)/t.canonicalFps;de.seek(x),lt("composition_seeked",{time:x})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement))continue;let b=parseFloat(x.dataset.volume??""),y=Number.isFinite(b)?b:1;x.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),he(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;he()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,x)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(b){D(x,b)}},Go=d=>{let m=window.__timelines??{},x=M()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(m)){if(!y||b===x)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=v(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Ge=d=>{let m=t.capturedTimeline;if(m)try{typeof m.totalTime=="function"?m.totalTime(d,!1):m.seek(d,!1)}catch(x){D("runtime.init.transport.seek",x)}else Go(d);for(let x of t.deterministicAdapters)try{x.seek({time:d})}catch(b){D("runtime.init.transport.adapter",b)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let x=t.capturedTimeline;if(he()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==x&&t.capturedTimeline.pause();let b=j(t.capturedTimeline,0);b>0&&B.setDuration(b),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),x=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),L=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),x=!0):(B.attachAudioSource({el:b,compositionStart:y,mediaStart:$}),x=!0);break}}!x&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement)||!x.isConnected)continue;let b=Number.parseFloat(x.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(x.dataset.duration??""),L=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=L)continue;let te=Number.parseFloat(x.dataset.playbackStart??x.dataset.mediaStart??"0")||0,$=d-b+te;if($>=0)try{x.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let x=M(),b=Number(x?.getAttribute("data-duration")??0);b>0&&B.setDuration(b)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let x=xe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,x,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:x=>{de[m]=x},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){D("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){D("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){D("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){D("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 dl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function fl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let h=dl(p);(h==="R"||h==="AL"||h==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=h;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,h=p!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=h;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=fl(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 ml=/[ \\t\\n\\r\\f]+/g,pl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function hl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function xl(t){if(!pl.test(t))return t;let e=t.replace(ml," ");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 gl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,yl;function Sl(){return Qn===null&&(Qn=new Intl.Segmenter(yl,{granularity:"word"})),Qn}var bl=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return bl.test(t)}function Ao(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 Re(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(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function Al(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var El=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Fl(t){return Re(t)}function wl(t){let e=rn(t);return e!==null&&El.has(e)}function tn(t){return!Al(t)&&!wl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Nl=new Set([":",".","\\u060C","\\u061B"]),Cl=new Set(["\\u104F"]),Ml=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Tl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function kl(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function _l(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(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 rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function Rl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(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 u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Nl.has(e)}function Dl(t){let e=rn(t);return e!==null&&Cl.has(e)}function Ll(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 on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Ml.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Bl(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 Il=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Ol(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Pl(t,e,n,i){if(!Il.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Bl(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Wl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Hl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Wl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function ql(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Ul(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"||!Hl(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,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 zl(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]),!ql(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var jl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||jl.has(e)))return!1;return!0}function Gl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(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 u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=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 Kl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Jl(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"||!Re(e[o])||!Re(e[o+1]))continue;let s=Rl(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 Co(t,e,n){let i=Sl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],h=[],F=[],E=[],S=[];for(let N of i.segment(t))for(let g of Pl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,h[R]=h[R]||T,F[R]=P,E[R]=J,S[R]=Fo(h[R],v)},A=g.kind==="text",w=vl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),v=rn(g.text),P=on(g.text),J=Dl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&kl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&S[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Tl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,h[r]=T,F[r]=P,E[r]=J,S[r]=Fo(T,v),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&_l(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Ol(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Kl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Jl(Vl($l(Gl(zl(Ul(X))))));for(let N=0;N<_.len-1;N++){let g=Ll(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Ql(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 Yl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],h=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(h==="text"){let S=Fl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=q;continue}l(),o=[f],s=F,u=E,a=S,c=q;continue}l(),e.push(f),n.push(F),i.push(h),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=hl(n),o=r.mode==="pre-wrap"?gl(t):xl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Yl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Ql(s,r),...s}}var rt=null,Ro=new Map,ot=null,Zl=96,Xl=/\\p{Emoji_Presentation}/u,eu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function tu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;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 ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function nu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function iu(t){return Xl.test(t)||t.includes("\\uFE0F")}function Lo(t){return eu.test(t)}function ru(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();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 vo.set(t,n),n}function ou(t){let e=0,n=Do();for(let i of n.segment(t))iu(i.segment)&&e++;return e}function su(t,e){return e.emojiCount===void 0&&(e.emojiCount=ou(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-su(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Zl){let l=[],p=null,f=0;for(let h of s){let F=Oe(h,n),E=ze(h,F,i);if(p===null)l.push(E);else{let S=p+h,q=Oe(S,n);l.push(ze(S,q,i)-f)}p=h,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=tu(t),r=nu(t),o=e?ru(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function au(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 lu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function uu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,h=0,F=0,E=0,S=-1,q=0;function I(){S=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,h=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,h=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let v=C;v<T.length;v++){let P=T[v];p?l+P>a?(M(),_(w,v,P)):(l+=P,F=w,E=v+1):_(w,v,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=au(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(S=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(S>=0){if(F>S||F===S&&E>0){M();continue}M(S,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(S=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,h=e+f,F=0,E=0,S=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,S=!1,w()}function T(V,j){S=!0,q=V,I=0,M=V+1,X=0,E=j}function v(V,j,W){S=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!S){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Z){if(!j)return;let he=V==="tab"?0:r[W],Ne=V==="tab"?Z:o[W];_=W+1,N=E-Z+he,g=E-Z+Ne,A=V}function R(V,j){let W=u[V];for(let Z=j;Z<W.length;Z++){let he=W[Z];S?E+he>h?(C(),v(V,Z,he)):(E+=he,M=V,X=Z+1):v(V,Z,he)}S&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Z}=uu(j,E,e,f,a);return W===0?!1:(E=Z,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Z+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}S=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Z=s[W],he=Z==="space"||Z==="preserved-space"||Z==="tab"||Z==="zero-width-break"||Z==="soft-hyphen",Ne=Z==="tab"?lu(E,c):i[W];if(Z==="soft-hyphen"){S&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Z),W++;continue}if(!S){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Z,he,W,Ne),W++;continue}if(E+Ne>h){let k=E+(Z==="tab"?0:r[W]),O=E+(Z==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=h){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(he&&k<=h){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=h){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Z,he,W,Ne),W++}if(S){let Z=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Z)}}return F}var ni=null;function cu(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function du(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 fu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,h){i=[p],r=f,o=h,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let h=on(p);p.length===1&&Ue.has(p)?s=s||h:s=h,u=!1}for(let p of cu().segment(t)){let f=p.segment,h=Re(f);if(i.length===0){c(f,p.index,h);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&h&&s){l(f,h);continue}if(!o&&!h){l(f,h);continue}a(),c(f,p.index,h)}return a(),n}function mu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function pu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return du(n);let l=[],p=[],f=[],h=[],F=t.chunks.length<=1,E=n?[]:null,S=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,v,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),h.push(T),E?.push(v),S.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let v=Oe(g,o),P=ze(g,v,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,v,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let v=Oe(A,o);if(C==="text"&&v.containsCJK){let P=fu(A,r),J=i==="keep-all"?mu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=hu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function hu(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,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function xu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return pu(o,e,n,r)}function Ho(t,e,n){return xu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var gu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...gu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
|
|
7411
|
+
RUNTIME_IIFE = '"use strict";(()=>{var $o=Object.create;var dn=Object.defineProperty;var Ko=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var Qo=Object.getPrototypeOf,Yo=Object.prototype.hasOwnProperty;var Zo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Y=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Xo=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Jo(e))!Yo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Ko(e,r))||i.enumerable});return t};var es=(t,e,n)=>(n=t!=null?$o(Qo(t)):{},Xo(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Zo(t,typeof e!="symbol"?e+"":e,n);var Ri=Y((ic,gn)=>{var K=String,_i=function(){return{isColorSupported:!1,reset:K,bold:K,dim:K,italic:K,underline:K,inverse:K,hidden:K,strikethrough:K,black:K,red:K,green:K,yellow:K,blue:K,magenta:K,cyan:K,white:K,gray:K,bgBlack:K,bgRed:K,bgGreen:K,bgYellow:K,bgBlue:K,bgMagenta:K,bgCyan:K,bgWhite:K,blackBright:K,redBright:K,greenBright:K,yellowBright:K,blueBright:K,magentaBright:K,cyanBright:K,whiteBright:K,bgBlackBright:K,bgRedBright:K,bgGreenBright:K,bgYellowBright:K,bgBlueBright:K,bgMagentaBright:K,bgCyanBright:K,bgWhiteBright:K}};gn.exports=_i();gn.exports.createColors=_i});var yn=Y(()=>{});var It=Y((sc,Li)=>{"use strict";var vi=Ri(),Di=yn(),mt=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=vi.isColorSupported);let i=l=>l,r=l=>l,o=l=>l;if(e){let{bold:l,gray:p,red:f}=vi.createColors(!0);r=h=>l(f(h)),i=h=>p(h),Di&&(o=h=>Di(h))}let s=n.split(/\\r?\\n/),u=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(u,a).map((l,p)=>{let f=u+1+p,h=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,S=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(S,q),M=i(h.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(h)+o(I)+`\n `+M+r("^")}let F=i(h.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(h)+o(l)+`\n `+F+r("^")}return" "+i(h)+o(l)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Li.exports=mt;mt.default=mt});var Sn=Y((ac,Ii)=>{"use strict";var As=/(<)(\\/?style\\b)/gi,Es=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(As,"\\\\3c $2").replace(Es,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fs(t){return t[0].toUpperCase()+t.slice(1)}var pt=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(Pe(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 u=0;u<o;u++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(Pe(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(Pe(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 u=n[s],a=this.raw(u,"before");a&&this.builder(o?a:Pe(a)),this.stringify(u,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(Pe("/*"+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(Pe(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 Bi[i];let s=e.root(),u=s.rawCache||(s.rawCache={});if(typeof u[i]<"u")return u[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fs(i);this[a]?r=this[a](s,e):s.walk(c=>{if(r=c.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Bi[i]),u[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:Pe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(Pe(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)}};Ii.exports=pt;pt.default=pt});var ht=Y((lc,Oi)=>{"use strict";var ws=Sn();function bn(t,e){new ws(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Y((uc,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Y((cc,Pi)=>{"use strict";var Ns=It(),Cs=Sn(),Ms=ht(),{isClean:xt,my:Ts}=Ot();function En(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=>En(s,n)):(o==="object"&&r!==null&&(r=En(r)),n[i]=r)}return n}function Ie(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 gt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[xt]=!1,this[Ts]=!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=En(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 Ns(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[xt]=!0}markDirty(){if(this[xt]){this[xt]=!1;let e=this;for(;e=e.parent;)e[xt]=!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(Ie(i,this.source.start),Ie(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=Ie(r,this.source.start),s=o+e;for(let u=o;u<s;u++)r[u]===`\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:Ie(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:Ie(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ie(n,this.source.start),Ie(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:Ie(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ie(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 Cs().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 u=this[s];if(Array.isArray(u))i[s]=u.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof u=="object"&&u.toJSON)i[s]=u.toJSON(null,n);else if(s==="source"){if(u==null)continue;let a=n.get(u.input);a==null&&(a=o,n.set(u.input,o),o++),i[s]={end:u.end,inputId:a,start:u.start}}else i[s]=u}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=Ms){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)}};Pi.exports=gt;gt.default=gt});var bt=Y((dc,Wi)=>{"use strict";var ks=yt(),St=class extends ks{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Y((fc,Hi)=>{"use strict";var _s=yt(),At=class extends _s{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"}};Hi.exports=At;At.default=At});var We=Y((mc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),Rs=yt(),{isClean:zi,my:ji}=Ot(),Fn,Gi,Vi,wn;function $i(t){return t.map(e=>(e.nodes&&(e.nodes=$i(e.nodes)),delete e.source,e))}function Ki(t){if(t[zi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Ki(e)}var _e=class t extends Rs{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 u of o)this.proxyOf.nodes.splice(i,0,u);let s;for(let u in this.indexes)s=this.indexes[u],i<=s&&(this.indexes[u]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=$i(Gi(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 Ui(e)]}else if(e.selector||e.selectors)e=[new wn(e)];else if(e.name)e=[new Fn(e)];else if(e.text)e=[new qi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ji]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[zi]&&Ki(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)}))}};_e.registerParse=t=>{Gi=t};_e.registerRule=t=>{wn=t};_e.registerAtRule=t=>{Fn=t};_e.registerRoot=t=>{Vi=t};Ji.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Fn.prototype):t.type==="rule"?Object.setPrototypeOf(t,wn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ui.prototype):t.type==="comment"?Object.setPrototypeOf(t,qi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Vi.prototype),t[ji]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Pt=Y((pc,Yi)=>{"use strict";var Qi=We(),Xe=class extends Qi{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)}};Yi.exports=Xe;Xe.default=Xe;Qi.registerAtRule(Xe)});var Wt=Y((hc,er)=>{"use strict";var vs=We(),Zi,Xi,Je=class extends vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new Zi(new Xi,this,e).stringify()}};Je.registerLazyResult=t=>{Zi=t};Je.registerProcessor=t=>{Xi=t};er.exports=Je;Je.default=Je});var nr=Y((xc,tr)=>{var Ds="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ls=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Bs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ds[Math.random()*64|0];return e};tr.exports={nanoid:Bs,customAlphabet:Ls}});var Ht=Y(()=>{});var qt=Y(()=>{});var Nn=Y(()=>{});var ir=Y(()=>{});var Mn=Y((Nc,sr)=>{"use strict";var{existsSync:Is,readFileSync:Os}=ir(),{dirname:Cn,join:Ps}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Ws(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ft=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=Cn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new rr(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 u=e.match(n)||e.match(i);if(u)return Ws(e.substr(u[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=Cn(e),Is(e)))return this.mapFile=e,Os(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 rr)return or.fromSourceMap(n).toString();if(n instanceof or)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=Ps(Cn(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)}};sr.exports=Ft;Ft.default=Ft});var wt=Y((Cc,dr)=>{"use strict";var{nanoid:Hs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:qs,SourceMapGenerator:Us}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),zs=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),js=!!(qs&&Us),ur=!!(Rn&&_n);function cr(t){if(t[kn])return t[kn];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[kn]=n,n}var et=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&&(!ur||/^\\w+:\\/\\//.test(n.from)||_n(n.from)?this.file=n.from:this.file=Rn(n.from)),ur&&js){let i=new zs(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 "+Hs(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,u,a,c;if(n&&typeof n=="object"){let p=n,f=i;if(typeof p.offset=="number"){a=p.offset;let h=this.fromOffset(a);n=h.line,i=h.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let h=this.fromOffset(u);s=h.line,o=h.col}else s=f.line,o=f.column,u=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let p=this.fromOffset(a);n=p.line,i=p.col}let l=this.origin(n,i,s,o);return l?c=new lr(e,l.endLine===void 0?l.line:{column:l.column,line:l.line},l.endLine===void 0?l.column:{column:l.endColumn,line:l.endLine},l.source,l.file,r.plugin):c=new lr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),c.input={column:i,endColumn:o,endLine:s,endOffset:u,line:n,offset:a,source:this.css},this.file&&(Ut&&(c.input.url=Ut(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return cr(this)[e-1]+n-1}fromOffset(e){let n=cr(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:Rn(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 u;typeof i=="number"&&(u=o.originalPositionFor({column:r,line:i}));let a;_n(s.source)?a=Ut(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Ut(this.map.mapFile));let c={column:s.column,endColumn:u&&u.column,endLine:u&&u.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(ar)c.file=ar(a);else throw new Error("file: protocol is not available in this PostCSS build");let l=o.sourceContentFor(s.source);return l&&(c.source=l),c}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}};dr.exports=et;et.default=et;Tn&&Tn.registerInput&&Tn.registerInput(et)});var tt=Y((Mc,hr)=>{"use strict";var fr=We(),mr,pr,He=class extends fr{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 mr(new pr,this,e).stringify()}};He.registerLazyResult=t=>{mr=t};He.registerProcessor=t=>{pr=t};hr.exports=He;He.default=He;fr.registerRoot(He)});var vn=Y((Tc,xr)=>{"use strict";var Nt={comma(t){return Nt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Nt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,u=!1,a="",c=!1;for(let l of t)c?c=!1:l==="\\\\"?c=!0:u?l===a&&(u=!1):l===\'"\'||l==="\'"?(u=!0,a=l):l==="("?s+=1:l===")"?s>0&&(s-=1):s===0&&e.includes(l)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=l;return(n||r!=="")&&i.push(r.trim()),i}};xr.exports=Nt;Nt.default=Nt});var zt=Y((kc,yr)=>{"use strict";var gr=We(),Gs=vn(),nt=class extends gr{get selectors(){return Gs.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=[])}};yr.exports=nt;nt.default=nt;gr.registerRule(nt)});var br=Y((_c,Sr)=>{"use strict";var Vs=Pt(),$s=bt(),Ks=Et(),Js=wt(),Qs=Mn(),Ys=tt(),Zs=zt();function Ct(t,e){if(Array.isArray(t))return t.map(r=>Ct(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Js.prototype};o.map&&(o.map={...o.map,__proto__:Qs.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ct(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 Ys(i);if(i.type==="decl")return new Ks(i);if(i.type==="rule")return new Zs(i);if(i.type==="comment")return new $s(i);if(i.type==="atrule")return new Vs(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Y((Rc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),Xs=wt(),ea=!!(Nr&&Gt),ta=!!(jt&&Fr&&Er&&wr),Dn=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||jt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Nr(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(),ta&&ea&&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=Gt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Gt({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 Gt({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,(u,a,c)=>{if(this.css+=u,a&&c!=="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=u.match(/\\n/g),s?(e+=s.length,o=u.lastIndexOf(`\n`),n=u.length-o):n+=u.length,a&&c!=="start"){let l=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==l.last||l.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?jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=jt(Fr(i,this.mapOpts.annotation)));let r=Er(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 Xs(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(Ar){let i=Ar(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;wr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Cr.exports=Dn});var kr=Y((vc,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,na=/.[\\r\\n"\'(/\\\\]/,Mr=/[\\da-f]/i;Tr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,u,a,c,l,p,f,h,F,E=i.length,S=0,q=[],I=[],M=-1;function X(){return S}function _(w){throw e.error("Unclosed "+w,S)}function N(){return I.length===0&&S>=E}function g(w){if(I.length)return I.pop();if(S>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let T=String.fromCharCode(o);l=[T,T,S];break}case 40:{if(F=q.length?q.pop()[1]:"",h=i.charCodeAt(S+1),F==="url"&&h!==39&&h!==34&&h!==32&&h!==10&&h!==9&&h!==12&&h!==13){a=S;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=S;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(S,a+1),S,a],S=a}else S<=M?l=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||na.test(s)?(M=a===-1?E:a,l=["(","(",S]):(l=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=S+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Vt.lastIndex=S+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,u=!0;i.charCodeAt(a+1)===92;)a+=1,u=!u;if(o=i.charCodeAt(a+1),u&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Mr.test(i.charAt(a)))){for(;Mr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}l=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(S,a+1),S,a],S=a):($t.lastIndex=S+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(S,a+1),S,a],q.push(l),S=a);break}}return S++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Y((Dc,vr)=>{"use strict";var ia=Pt(),ra=bt(),oa=Et(),sa=tt(),_r=zt(),aa=kr(),Rr={empty:!0,space:!0};function la(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Bn=class{constructor(e){this.input=e,this.root=new sa,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 ia;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,u=!1,a=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?c.push(i==="("?")":"]"):i==="{"&&c.length>0?c.push("}"):i===c[c.length-1]&&c.pop(),c.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){u=!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=""),u&&(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,u]of e.entries()){if(r=u,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 ra;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=aa(this.input)}decl(e,n){let i=new oa;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]||la(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 c=e[0][0];if(c===":"||c==="space"||c==="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=[],u;for(;e.length&&(u=e[0][0],!(u!=="space"&&u!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(o=e[c],o[1].toLowerCase()==="!important"){i.important=!0;let l=this.stringFrom(e,c);l=this.spacesFromEnd(e)+l,l!==" !important"&&(i.raws.important=l);break}else if(o[1].toLowerCase()==="important"){let l=e.slice(0),p="";for(let f=c;f>0;f--){let h=l[f][0];if(p.trim().startsWith("!")&&h!=="space")break;p=l.pop()[1]+p}p.trim().startsWith("!")&&(i.important=!0,i.raws.important=p,e=l)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(i.raws.between+=s.map(c=>c[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 _r;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=[],u=e[1].startsWith("--"),a=[],c=e;for(;c;){if(i=c[0],a.push(c),i==="("||i==="[")o||(o=c),s.push(i==="("?")":"]");else if(u&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,u);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));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!u)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,u)}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,u=i.length,a="",c=!0,l,p;for(let f=0;f<u;f+=1)o=i[f],s=o[0],s==="space"&&f===u-1&&!r?c=!1:s==="comment"?(p=i[f-1]?i[f-1][0]:"empty",l=i[f+1]?i[f+1][0]:"empty",!Rr[p]&&!Rr[l]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((h,F)=>h+F[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new _r;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})}};vr.exports=Bn});var Jt=Y((Lc,Lr)=>{"use strict";var ua=We(),ca=wt(),da=Dr();function Kt(t,e){let n=new ca(t,e),i=new da(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ua.registerParse(Kt)});var In=Y((Bc,Br)=>{"use strict";var Mt=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}};Br.exports=Mt;Mt.default=Mt});var Qt=Y((Ic,Ir)=>{"use strict";var fa=In(),Tt=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 fa(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ir.exports=Tt;Tt.default=Tt});var On=Y((Oc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Y((Wc,Ur)=>{"use strict";var ma=We(),pa=Wt(),ha=Ln(),xa=Jt(),Wr=Qt(),ga=tt(),ya=ht(),{isClean:Le,my:Sa}=Ot(),Pc=On(),ba={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Aa={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},Ea={Once:!0,postcssPlugin:!0,prepare:!0},it=0;function kt(t){return typeof t=="object"&&typeof t.then=="function"}function qr(t){let e=!1,n=ba[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,it,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,it,n+"Exit"]:[n,n+"Exit"]}function Hr(t){let e;return t.type==="document"?e=["Document",it,"DocumentExit"]:t.type==="root"?e=["Root",it,"RootExit"]:e=qr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Pn(t){return t[Le]=!1,t.nodes&&t.nodes.forEach(e=>Pn(e)),t}var Wn={},qe=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=Pn(n);else if(n instanceof t||n instanceof Wr)r=Pn(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=xa;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[Sa]&&ma.rebuild(r)}this.result=new Wr(e,r,i),this.helpers={...Wn,postcss:Wn,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(!Aa[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ea[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[Le];){e[Le]=!0;let n=[Hr(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=ya;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,u=>{s+=u}),this.result.css=s,this.result}let o=new ha(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[Le];)e[Le]=!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,u]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return u(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,u;for(;u=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!u[Le]){u[Le]=!0,e.push(Hr(u));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===it){i.nodes&&i.nodes.length&&(i[Le]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Le]=!0;let n=qr(e);for(let i of n)if(i===it)e.nodes&&e.each(r=>{r[Le]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};qe.registerPostcss=t=>{Wn=t};Ur.exports=qe;qe.default=qe;ga.registerLazyResult(qe);pa.registerLazyResult(qe)});var jr=Y((qc,zr)=>{"use strict";var Fa=Ln(),wa=Jt(),Na=Qt(),Ca=ht(),Hc=On(),_t=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=wa;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=Ca;this.result=new Na(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 Fa(r,void 0,this._opts,n);if(s.isMap()){let[u,a]=s.generate();u&&(this.result.css=u),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[]}};zr.exports=_t;_t.default=_t});var Vr=Y((Uc,Gr)=>{"use strict";var Ma=Wt(),Ta=Hn(),ka=jr(),_a=tt(),Qe=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 ka(this,e,n):new Ta(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;_a.registerProcessor(Qe);Ma.registerProcessor(Qe)});var eo=Y((zc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),Ra=We(),va=It(),Jr=Et(),Qr=Wt(),Da=br(),La=wt(),Ba=Hn(),Ia=vn(),Oa=yt(),Pa=Jt(),qn=Vr(),Wa=Qt(),Yr=tt(),Zr=zt(),Ha=ht(),qa=In();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new qn(t)}re.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 u=n(...s);return u.postcssPlugin=e,u.postcssVersion=new qn().version,u}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,u,a){return re([r(a)]).process(s,u)},r};re.stringify=Ha;re.parse=Pa;re.fromJSON=Da;re.list=Ia;re.comment=t=>new Kr(t);re.atRule=t=>new $r(t);re.decl=t=>new Jr(t);re.rule=t=>new Zr(t);re.root=t=>new Yr(t);re.document=t=>new Qr(t);re.CssSyntaxError=va;re.Declaration=Jr;re.Container=Ra;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=qa;re.AtRule=$r;re.Result=Wa;re.Input=La;re.Rule=Zr;re.Root=Yr;re.Node=Oa;Ba.registerPostcss(re);Xr.exports=re;re.default=re});function D(t,e){if(typeof window>"u")return;let n=window,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 Fe(t){try{window.parent.postMessage(t,"*")}catch(e){D("bridge.postMessage",e)}}function ai(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(r==="play"){t.onPlay();return}if(r==="pause"){t.onPause();return}if(r==="seek"){t.onSeek(Number(i.frame??0),i.seekMode??"commit");return}if(r==="tick"){t.onTick();return}if(r==="set-muted"){t.onSetMuted(!!i.muted);return}if(r==="set-volume"){t.onSetVolume(Math.max(0,Math.min(1,Number(i.volume??1))));return}if(r==="set-media-output-muted"){t.onSetMediaOutputMuted(!!i.muted);return}if(r==="set-playback-rate"){t.onSetPlaybackRate(Number(i.playbackRate??1));return}if(r==="enable-pick-mode"){t.onEnablePickMode();return}if(r==="disable-pick-mode"){t.onDisablePickMode();return}if(r==="flash-elements"){let o=i.selectors,s=i.duration||800;o&&ts(o,s)}};return window.addEventListener("message",e),e}function ts(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){D("bridge.flashElements.querySelector",i)}}var fn=null;function li(t){fn=t}function lt(t,e){if(fn)try{fn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){D("runtime.analytics.site1",n)}}function ui(t){let e=[],n=u=>{if(typeof u.getAnimations!="function")return[];try{return u.getAnimations()}catch{return[]}},i=(u,a)=>{for(let c of u){try{c.currentTime=a}catch(l){D("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){D("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){D("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){D("runtime.adapters.css.site4",c)}},s=u=>{u.baseDelay?u.el.style.animationDelay=u.baseDelay:u.el.style.removeProperty("animation-delay"),u.basePlayState?u.el.style.animationPlayState=u.basePlayState:u.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let u=document.querySelectorAll("*");for(let a of u){if(!(a instanceof HTMLElement))continue;let c=window.getComputedStyle(a);!c.animationName||c.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:u=>{let a=Number(u.time)||0;for(let c of e){if(!c.el.isConnected)continue;let l=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,p=Math.max(0,a-l)*1e3,f=n(c.el);if(f.length>0){i(f,p);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(p/1e3).toFixed(3)}s`}},pause:()=>{for(let u of e){if(!u.el.isConnected)continue;let a=n(u.el);a.length>0&&o(a),s(u)}},play:()=>{for(let u of e)u.el.isConnected&&(s(u),r(n(u.el)))},revert:()=>{e=[]}}}function ci(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,!1):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function di(){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){D("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){D("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){D("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){D("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function pi(){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){D("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(fi(i))i.goToAndStop(e*1e3,!1);else if(mi(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){D("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(fi(e)||mi(e))&&e.pause()}catch(n){D("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function fi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function mi(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var hi=-1;function Bt(t){if(t!==hi){hi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){D("runtime.adapters.seek-dispatch.site1",e)}}}function xi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function gi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Bt(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function yi(){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=n.source.nextElementSibling;if(o instanceof HTMLImageElement&&o.classList.contains("__render_frame__")&&o.complete&&o.naturalWidth>0)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function Si(){return{name:"waapi",discover:()=>{},seek:t=>{if(!document.getAnimations)return;let e=Math.max(0,(Number(t.time)||0)*1e3);for(let n of document.getAnimations()){try{n.currentTime=e}catch(i){D("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){D("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){D("runtime.adapters.waapi.site3",e)}}}}function bi(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 u=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(u))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,l=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,p=s.loop,f=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,h=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(h)||h<=0)&&f!=null&&(h=Math.max(0,(f-a)/l));let F=Number.isFinite(h)&&h>0?u+h:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:u,mediaStart:a,duration:Number.isFinite(h)&&h>0?h:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var mn=new WeakMap,ut=new WeakMap,pn=new WeakSet,Ye=new WeakSet;function ns(t){if(Ye.has(t))return;Ye.add(t);let e=()=>Ye.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}function Ai(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){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let _=n.sourceDuration-n.mediaStart;_>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%_)}let s=t.userVolume??1;i.volume=(n.volume??1)*s,e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(_){D("runtime.media.site1",_)}let u=.04,a=2,c=i.currentTime||0,l=Math.abs(c-r),p=r-c,f=mn.get(i);mn.set(i,p);let h=f===void 0,F=!h&&Math.abs(p-f)>.5,E=l>3,S=l>.5&&(h||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!S&&!h&&I&&l>u){let _=(ut.get(i)??0)+1;ut.set(i,_),_>=a&&(M=!0,ut.set(i,0))}else l<=u&&ut.set(i,0);let X=!q&&t.forceSync&&l>.02;if(S||M||X){try{i.currentTime=r}catch(_){D("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){D("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(ns(i),i.play().catch(_=>{Ye.delete(i),(_&&typeof _=="object"&&"name"in _?String(_.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}mn.delete(i),ut.delete(i),pn.delete(i),i.paused||i.pause()}}var is=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),rs=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ei(t){let e=!1,n=null,i=null,r=null,o=null;function s(g,A){try{window.dispatchEvent(new CustomEvent(g,{detail:A}))}catch(w){D("runtime.picker.site1",w)}}function u(g){r=g,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(g){o=g,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let w=g;for(;w&&w!==document.body&&w!==document.documentElement;){let C=A.getComputedStyle(w);if(C.display==="none"||C.visibility==="hidden"||C.pointerEvents==="none")return!0;let T=Number.parseFloat(C.opacity);if(Number.isFinite(T)&&T<=.01)return!0;w=w.parentElement}return!1}function l(g){if(!g||g===document.body||g===document.documentElement)return!1;let A=g.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||g.classList.contains("__hf-pick-highlight")||g.closest(is)||c(g))}function p(g){return!!g?.closest(rs)}function f(g){let A=g;if(A.id)return`#${A.id}`;let w=g.getAttribute("data-composition-id");if(w)return`[data-composition-id="${w}"]`;let C=g.getAttribute("data-composition-src");if(C)return`[data-composition-src="${C}"]`;let T=g.getAttribute("data-track-index");if(T)return`[data-track-index="${T}"]`;let v=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return v;let J=P.querySelectorAll(`:scope > ${v}`);if(J.length===1)return v;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${v}:nth-of-type(${R+1})`;return v}function h(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,v)=>T.length>v?`${T.slice(0,v-1)}\\u2026`:T;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?w.length>0?C(w,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":g.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function F(g,A,w){let C=typeof w=="number"&&w>0?w:8,T=[];if(document.elementsFromPoint)T=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);T=J?[J]:[]}if(p(T[0]??null))return[];let v={},P=[];for(let J=0;J<T.length;J+=1){let R=T[J];if(!l(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!v[le]&&(v[le]=!0,P.push(R),P.length>=C))break}return P}function E(g){let A=g.getBoundingClientRect(),w={};for(let T=0;T<g.attributes.length;T+=1){let v=g.attributes[T];v.name.startsWith("data-")&&(w[v.name]=v.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:h(g),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:g.textContent?g.textContent.trim().slice(0,200):null,src:g.getAttribute("src")||g.getAttribute("data-composition-src")||null,dataAttributes:w}}function S(g,A,w){return F(g,A,w).map(E)}function q(g){if(!e)return;let w=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!l(w)||n===w)return;n&&n.classList.remove("__hf-pick-highlight"),n=w,w.classList.add("__hf-pick-highlight");let C=E(w);u(C),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:C})}function I(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(u(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function M(g){g.key==="Escape"&&(_(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function X(){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",q,!0),document.addEventListener("click",I,!0),document.addEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function _(){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",q,!0),document.removeEventListener("click",I,!0),document.removeEventListener("keydown",M,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:X,disable:_,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,w)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=S(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),v=C[T]??null;return v?(a(v),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:v}),_(),v):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=S(g,A,8);if(!C.length)return[];let T=[],v=Array.isArray(w)?w:[0];for(let P of v){let J=Math.max(0,Math.min(C.length-1,Math.floor(Number(P)))),R=C[J];if(!R)continue;T.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||T.push(R)}return T.length?(a(T[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:T}),_(),T):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:_,installPickerApi:N}}function Ze(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 ct(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){D("runtime.player.site1",r)}}}function Fi(t,e,n){let i=Ze(e,n);return t.pause(),typeof t.totalTime=="function"?t.totalTime(i,!1):t.seek(i,!1),i}function os(t,e,n,i){let r=[];ct(t,e,o=>{o.play(),r.push(o)});try{return Fi(e,n,i)}finally{for(let o of r)try{o.pause()}catch(s){D("runtime.player.site2",s)}}}function ss(t,e){ct(t,e,n=>{n.play()})}function wi(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??e.duration()??0)||0);n>0&&Math.max(0,Number(e.time())||0)>=n&&(e.pause(),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()),e.play(),ct(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play()}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;e.pause(),ct(t.getTimelineRegistry?.(),e,i=>{i.pause()});let n=Math.max(0,Number(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=os(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),i.play(),ct(t.getTimelineRegistry?.(),i,u=>{typeof u.timeScale=="function"&&u.timeScale(t.getPlaybackRate()),u.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?(ss(t.getTimelineRegistry?.(),n),Fi(n,e,i)):Ze(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Number(t.getTimeline()?.time()??0),getDuration:()=>Number(t.getTimeline()?.duration()??0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Ni(){return{capturedTimeline:null,isPlaying:!1,rafId:null,currentTime:0,deterministicAdapters:[],parityModeEnabled:!0,canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,clampDurationLoggedRaw:null,beforeUnloadHandler:null,domReadyHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,maxTimelineDurationSeconds:1800,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var as="data-hf-authored-duration",ls="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function us(t){return $e(t.getAttribute("data-duration"))}function cs(t){return $e(t.getAttribute("data-end"))}function ds(t){return $e(t.getAttribute(as))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){let e=(t??"").trim();if(!e)return null;let n=$e(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",u=Number.parseFloat(s),a=Number.isFinite(u)?Math.max(0,u):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=l=>{let p=document.getElementById(l);return p||(document.querySelector(`[data-composition-id="${CSS.escape(l)}"]`)??null)},u=l=>{let p=r.get(l);if(p!==void 0)return p;let f=null,h=us(l)??(n?ds(l):null);if(h!=null&&h>0&&(f=h),f==null||f<=0){let F=cs(l)??(n?fs(l):null);if(F!=null){let E=c(l,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&l instanceof HTMLMediaElement){let F=$e(l.getAttribute("data-playback-start"))??$e(l.getAttribute("data-media-start"))??0;Number.isFinite(l.duration)&&l.duration>F&&(f=l.duration-F)}if(f==null||f<=0){let F=l.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){D("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(l,f),f):(r.set(l,null),null)},a=(l,p)=>{if(l.hasAttribute("data-composition-id")){let h=l.parentElement?.closest("[data-composition-id]");return h?c(h,p):0}let f=l.closest("[data-composition-id]");return f?c(f,p):0},c=(l,p)=>{let f=i.get(l);if(f!==void 0)return f??p;if(o.has(l))return p;o.add(l);try{let h=ms(l.getAttribute("data-start"));if(!h){if(l.hasAttribute("data-composition-id")){let I=l.parentElement;if(I&&(I.hasAttribute("data-composition-src")||I.hasAttribute("data-composition-id"))){let M=c(I,p);return i.set(l,M),M}}return i.set(l,p),p}if(h.kind==="absolute"){let I=Math.max(0,h.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(h.refId);if(!F)return i.set(l,p),p;let E=c(F,0),S=u(F);if(S==null||S<=0){let I=Math.max(0,E+h.offset);return i.set(l,I),I}let q=Math.max(0,E+S+h.offset);return i.set(l,q),q}finally{o.delete(l)}};return{resolveStartForElement:(l,p=0)=>c(l,Math.max(0,p)),resolveDurationForElement:l=>u(l)}}var ps="data-hf-authored-duration",hs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function hn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(ps))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(hs))}function xn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Mi={composition:0,video:1,image:2,element:3,audio:4};function xs(t){if(t.length===0)return;let e=new Map;for(let s of t){let u=e.get(s.track)??new Set;u.add(s.kind),e.set(s.track,u)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,u)=>s-u);for(let s of o){let u=e.get(s);if(u.size===1)r.set(`${s}:${[...u][0]}`,i++);else{let a=[...u].sort((c,l)=>(Mi[c]??99)-(Mi[l]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let u=`${s.track}:${s.kind}`,a=r.get(u);a!=null&&(s.track=a)}}function ft(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 Ti(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return ft(e);let n=t.getAttribute("data-composition-src");if(n)return ft(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?ft(i.getAttribute("src")):null}function gs(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 ys(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 Ss(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function dt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function bs(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 dt(r);let o=t.id;if(o)return dt(o);let s=gs(t);if(s)return dt(s);let u=ys(Ti(t));if(u)return dt(u);let a=Ss(t);return a||`${dt(e)} ${n+1}`}function ki(t){let n=window.__timelines??{},i=Ke({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=H=>{if(!H)return null;let k=n[H]??null;if(!k||typeof k.duration!="function")return null;try{let O=Number(k.duration());return Number.isFinite(O)&&O>0?O:null}catch{return null}},o=H=>{let k=we(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=we(H.getAttribute("data-playback-start"))??we(H.getAttribute("data-media-start"))??0;return Number.isFinite(H.duration)&&H.duration>O?Math.max(0,H.duration-O):null},s=()=>{let H=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(H.length===0)return null;let k=0;for(let O of H){let ie=i.resolveStartForElement(O,0);if(!Number.isFinite(ie))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ie)+ee))}return k>0?k:null},u=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ie=null,ee=null,z=null,U=H.parentElement;for(;U;){let G=U.getAttribute("data-composition-id");G&&(O.push(G),!z&&U!==k&&(z=G),ie==null&&(ie=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(G)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ie,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),p=c?.getAttribute("data-composition-id")??null,f=c?i.resolveStartForElement(c,0):0,h=s(),F=h!=null?Math.max(0,h-Math.max(0,f)):null,E=r(p),S=hn(c??document.body),q=xn(...l.filter(H=>H!==c).map(H=>{let k=i.resolveStartForElement(H,0),O=i.resolveDurationForElement(H)??r(H.getAttribute("data-composition-id"))??null;return!Number.isFinite(k)||O==null||O<=0?null:Math.max(0,k)+O})),I=q!=null?Math.max(0,q-Math.max(0,f)):null,M=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,_=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=typeof I=="number"&&Number.isFinite(I)&&I>0?I:null,g=xn(_,N),A=M!=null&&g!=null&&M>g+1,w=X??(A?g:xn(M,_,N)),C=w!=null?Math.min(w,t.maxTimelineDurationSeconds):null,v=(C!=null?f+C:null)??(typeof h=="number"&&Number.isFinite(h)&&h>0?h:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:v==null||!Number.isFinite(v)?k:!Number.isFinite(H)||H>=v?0:Math.max(0,Math.min(k,v-H)),J=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Se=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===c||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,c),ie=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=hn(k);if((z==null||z<=0)&&ee&&ee!==p&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let Ee=we(k.getAttribute("data-playback-start"))??we(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-Ee))}if(z==null||z<=0){let Ee=O.inheritedDuration;if(Ee!=null&&Ee>0){let ce=(O.inheritedStart??0)+Ee;z=Math.max(0,ce-ie)}}if(z==null||z<=0||(z=P(ie,z),z<=0))continue;let U=ie+z;Se=Math.max(Se,U);let G=k.tagName.toLowerCase(),ve=ee&&ee!==p?"composition":G==="video"?"video":G==="audio"?"audio":G==="img"?"image":"element";J.push({id:k.id||ee||null,label:bs(k,ve,J.length),start:ie,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:ve,tagName:G,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:ft(k.getAttribute("data-composition-src")),assetUrl:Ti(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:we(k.getAttribute("data-timeline-priority"))})}let V=new Set(J.map(H=>H.id)),j=c?.getAttribute("data-composition-id")??null,W=j?n[j]??null:null;if(W&&c){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of c.children){let U=z;if(!U.id)continue;let G=U.tagName.toLowerCase();G==="script"||G==="style"||G==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ie=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===c)return null;U=U.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let U=z.startTime(),G=z.parent;for(;G&&G!==W&&typeof G.startTime=="function";)U+=G.startTime(),G=G.parent;let ve=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(ve)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ie(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,ve))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let G=z;if(V.has(G.id))continue;let ve=Math.max(0,U.end-U.start);if(ve<=0)continue;let Ee=P(U.start,ve);Ee<=0||(Se=Math.max(Se,U.start+Ee),J.push({id:G.id,label:G.getAttribute("data-timeline-label")??G.getAttribute("data-label")??G.getAttribute("aria-label")??G.id,start:U.start,duration:Ee,track:Number.parseInt(G.getAttribute("data-track-index")??G.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:G.tagName.toLowerCase(),compositionId:G.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:G.getAttribute("data-timeline-role"),timelineLabel:G.getAttribute("data-timeline-label"),timelineGroup:G.getAttribute("data-timeline-group"),timelinePriority:we(G.getAttribute("data-timeline-priority"))}),V.add(G.id))}}catch(k){D("runtime.timeline.site1",k)}}if(c&&C!=null&&C>0){let H=J.length>0?Math.max(...J.map(k=>k.track))+1:0;for(let k of c.children){let O=k;if(!O.id||V.has(O.id))continue;let ie=O.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let U=P(0,C);U<=0||(Se=Math.max(Se,U),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:U,track:Number.parseInt(O.getAttribute("data-track-index")??O.getAttribute("data-track")??"",10)||H,kind:"element",tagName:ee,compositionId:O.getAttribute("data-composition-id"),compositionAncestors:j?[j]:[],parentCompositionId:j,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),V.add(O.id))}}xs(J);for(let H of l){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!u(k))continue;let O=i.resolveStartForElement(H,0),ie=hn(H);if((ie==null||ie<=0)&&Ci(H)!=null){let G=Ci(H);ie=Math.max(0,G-O)}let ee=r(k),z=ie&&ie>0?ie:ee;if(z==null||z<=0)continue;let U=P(O,z);U<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:U,thumbnailUrl:ft(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Z=Math.max(1,Math.min(Math.max(Se||1,C??0),t.maxTimelineDurationSeconds));return{source:"hf-preview",type:"timeline",durationInFrames:A&&X==null?Number.POSITIVE_INFINITY:Math.max(1,Math.round(Z*Math.max(1,t.canonicalFps))),clips:J,scenes:R,compositionWidth:we(c?.getAttribute("data-width"))??1920,compositionHeight:we(c?.getAttribute("data-height"))??1080}}var ae=es(eo(),1),to=ae.default,jc=ae.default.stringify,Gc=ae.default.fromJSON,Vc=ae.default.plugin,$c=ae.default.parse,Kc=ae.default.list,Jc=ae.default.document,Qc=ae.default.comment,Yc=ae.default.atRule,Zc=ae.default.rule,Xc=ae.default.decl,ed=ae.default.root,td=ae.default.CssSyntaxError,nd=ae.default.Declaration,id=ae.default.Container,rd=ae.default.Processor,od=ae.default.Document,sd=ae.default.Comment,ad=ae.default.Warning,ld=ae.default.AtRule,ud=ae.default.Result,cd=ae.default.Input,dd=ae.default.Rule,fd=ae.default.Root,md=ae.default.Node;var no="data-hf-authored-id";function Un(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function io(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ua(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ro(t){let e=t.trim();return e?Array.from(new Set([e,Ua(e)])).filter(Boolean):[]}function za(t){return!!t&&/[\\w-]/.test(t)}function ja(t,e,n){let i=ro(e).sort((u,a)=>a.length-u.length);if(i.length===0)return t;let r="",o=0,s=null;for(let u=0;u<t.length;u+=1){let a=t[u],c=u>0?t[u-1]:"";if(s){r+=a,a===s&&c!=="\\\\"&&(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 l=i.find(p=>t.startsWith(p,u+1));if(l){let p=t[u+1+l.length];if(!za(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Ga(t,e){let n=e?.trim();return n?ja(t,n,`[${no}="${io(n)}"]`):t}function Va(t,e,n,i){let r=Ga(t,i),o=$a(r,e,n),s=o.trim();if(!s||/^(html|body|:root|\\*)$/i.test(s))return t;let u=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Un(n)}\\\\1\\\\s*\\\\]`,"g");if(u.test(s))return o.replace(u,e);let a=o.match(/^\\s*/)?.[0]??"",c=o.match(/\\s*$/)?.[0]??"";return`${a}${e} ${s}${c}`}function $a(t,e,n){let i=Un(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 Ka=new Set(["keyframes","-webkit-keyframes","font-face"]);function Ja(t){return t?.type==="atrule"}function Qa(t){let e=t.parent;for(;e;){if(Ja(e)&&Ka.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function zn(t,e,n,i){let r=e.trim();if(!t||!r)return t;let o=n||`[data-composition-id="${io(r)}"]`,s=to.parse(t);return s.walkRules(u=>{Qa(u)||(u.selectors=u.selectors.map(a=>Va(a,o,r,i)))}),s.toResult({map:!1}).css}function oo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),u=JSON.stringify(r),a=JSON.stringify(n),c=Un(e),l=JSON.stringify(o?.trim()||null),p=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${c}"|\'${c}\')\\s*\\]`),h=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(ro(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${u};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${l};\n var __hfAuthoredRootAttr = ${JSON.stringify(no)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${p} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${h};\n var __hfAuthoredRootIdForms = ${F};\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 var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\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}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function so(){if(typeof document>"u")return{};let t=jn(document.documentElement),e=Ya();return{...t,...e}}function jn(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 Ya(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Za=8e3,Xa=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function el(t,e){return`${t}__hf${e}`}var tl=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"),Za)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var nl=["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 il(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of nl)e.removeAttribute(i);return n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true"),e}function ao(t,e){let n=t.trim();if(!n)return t;try{return Xa.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function rl(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 Yt(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 ol(t){let e=new Map;for(let n of t){let i=Yt(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function lo(t){let e=Yt(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function sl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function al(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:sl(t):!1}function $n(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:lo(e))}function uo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set($n().map(n=>Yt(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function co(t,e=ol(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=al(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(u){let l=a?(n.get(o)||0)+1:0;a&&n.set(o,l),c=a?el(o,l):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",c),s&&s!==c&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:c})}return i}async function Vn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(h=>h.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.headStyles)for(let f of t.headStyles){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let h=f.cloneNode(!0);h instanceof HTMLStyleElement&&(i&&(h.textContent=zn(h.textContent||"",i,s,o)),document.head.appendChild(h),t.injectedStyles.push(h))}let a=[];if(t.headScripts)for(let f of t.headScripts){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let h=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:h})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:h,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let p=Array.from(n.querySelectorAll("style"));for(let f of p)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),h=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(h);f&&t.host.setAttribute("data-width",f),h&&t.host.setAttribute("data-height",h),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(il(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...rl(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 l){let h=document.createElement("script");if(f.type&&(h.type=f.type),h.async=!1,f.kind==="external"?h.src=f.src:f.type.toLowerCase()==="module"?h.textContent=f.content:f.scopeCompositionId?h.textContent=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):h.textContent=`(function(){${f.content}})();`,document.body.appendChild(h),t.injectedScripts.push(h),f.kind==="external"){let F=await tl(h);F.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:F.status,elapsedMs:F.elapsedMs}})}}}async function fo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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 u=document.querySelector(`template#${CSS.escape(s)}-template`);Gn(r),await Vn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function mo(t){let e=$n();if(uo(),e.length===0)return;let n=co(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),u=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||u||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Gn(r);try{let l=u!=null?document.querySelector(`template#${CSS.escape(u)}-template`):null;if(l){await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let p=await fetch(o);if(!p.ok)throw new Error(`HTTP ${p.status}`);let f=await p.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(u?F.querySelector(`template#${CSS.escape(u)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,q=E?void 0:Array.from(F.head.querySelectorAll("style")),I=E?void 0:Array.from(F.head.querySelectorAll("script"));await Vn({host:r,authoredCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:q,headScripts:I,declaredVariableDefaults:jn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(l){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:u,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:l instanceof Error?l.message:"unknown_error"}}),Gn(r)}}))}function ll(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ul(){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 cl(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 Kn(){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=ul();for(let i of e){let r=null;if(i.wordId&&(r=ll(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(l=>l.vars.color!==void 0).sort((l,p)=>l.startTime()-p.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let l of a)String(l.vars.color)===c?i.dimColor&&(l.vars.color=i.dimColor):i.activeColor&&(l.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 u=cl(r);t.set(u,o)}}}).catch(()=>{})}var Zt=class{constructor(e){Ae(this,"_baseTime",0);Ae(this,"_playStartMs",null);Ae(this,"_rate",1);Ae(this,"_duration",1/0);Ae(this,"_nowMs");Ae(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 po(t){return!Number.isFinite(t)||t<=0?1:t}var Xt=class{constructor(){Ae(this,"_ctx",null);Ae(this,"_bufferCache",new Map);Ae(this,"_activeSources",[]);Ae(this,"_masterGain",null);Ae(this,"_rateAnchorCtx",0);Ae(this,"_rateAnchorComp",0);Ae(this,"_rate",1);Ae(this,"_paused",!0);Ae(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._ctx)return null;try{let r=await(await fetch(n)).arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return D("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,u,a=1){if(!this._ctx||!this._masterGain||u!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),u!==this._playGeneration)return null;let c=po(a),l=this._ctx.createBufferSource();l.buffer=n,l.playbackRate.value=c;let p=this._ctx.createGain();p.gain.value=s,l.connect(p),p.connect(this._masterGain);let f=o-i,h=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=h,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let S=-f/c;l.start(h+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:h,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return D("webAudioTransport.schedule",c),null}}setRate(e){let n=po(e);if(n!==this._rate){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){D("webAudioTransport.setRate",r)}}}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)))}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var ho="data-hf-authored-duration",xo="data-hf-authored-end";function go(){let t=Ni(),e=window,n=null,i=null,r=[],o=new Set,s=null;if(typeof e.__hfRuntimeTeardown=="function")try{e.__hfRuntimeTeardown()}catch(d){D("runtime.init.site1",d)}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 u=d=>{r.push(d)},a=(d,m,x)=>{let b=x??`${d}:${JSON.stringify(m)}`;o.has(b)||(o.add(b),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},x=[],b=[],y={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:()=>m,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>x,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:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,h=.05,F=100,E=240,S=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??"")}},q=d=>{let m=d.toLowerCase();return m.includes("cannot read properties of null")||m.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:m.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:m.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let m=Number.parseFloat(d);return!Number.isFinite(m)||m<=0?null:`${m}px`},M=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let m=Array.from(document.querySelectorAll("[data-composition-id]"));return m.length===0?null:m.find(x=>!x.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x),m&&d.style.setProperty("--comp-width",m),x&&d.style.setProperty("--comp-height",x)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(x=>x.hasAttribute("data-duration")||x.hasAttribute("data-end"));for(let x of m){if(d&&x===d)continue;let b=x.getAttribute("data-duration"),y=x.getAttribute("data-end");b!=null&&!x.hasAttribute(ho)&&x.setAttribute(ho,b),y!=null&&!x.hasAttribute(xo)&&x.setAttribute(xo,y),x.removeAttribute("data-duration"),x.removeAttribute("data-end")}},N=()=>{let d=M();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let m=I(d.getAttribute("data-width")),x=I(d.getAttribute("data-height"));m&&(d.style.width=m),x&&(d.style.height=x);let b=Array.from(d.children);for(let y of b){let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta"||!y.hasAttribute("data-start"))continue;let te=(y.style.top==="0px"||y.style.top==="0")&&(y.style.left==="0px"||y.style.left==="0")&&y.style.width==="100%"&&y.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&$&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ve=y.style.top,me=y.style.left,at=y.style.width,oe=y.style.height;y.style.top="",y.style.left="",y.style.width="",y.style.height="";let Q=window.getComputedStyle(y);Q.top!=="auto"||Q.bottom!=="auto"||Q.left!=="auto"||Q.right!=="auto"||Q.width!=="0px"||Q.height!=="0px"||(y.style.top=Ve,y.style.left=me,y.style.width=at,y.style.height=oe)}let ne=window.getComputedStyle(y),ge=ne.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ne.top!=="auto"||ne.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ne.left!=="auto"||ne.right!=="auto"||(y.style.left="0"),L!=="audio"){let Ve=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),at=ne.width!=="0px"&&ne.width!=="auto",oe=ne.height!=="0px"&&ne.height!=="auto";Ve?!y.style.width&&!at&&(y.style.width=Ve):!y.style.width&&ne.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ne.height==="0px"&&(y.style.height="100%")}}},g=(d,m=0,x)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:x?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,m),A=(d,m)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:m?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),w=!!document.querySelector("[data-composition-src]"),C=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let m of d){let x=m.getAttribute("data-composition-id");if(x&&m.children.length===0&&document.querySelector(`template#${CSS.escape(x)}-template`)){C=!0;break}}}let T=!w&&!C,v=d=>{if(!d||typeof d.duration!="function")return null;try{let m=Number(d.duration());return Number.isFinite(m)?Math.max(0,m):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>l,J=d=>{let m=Number(d.getAttribute("data-duration"));if(Number.isFinite(m)&&m>0)return m;let x=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(x)?Math.max(0,x):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let m=0;for(let x of d){let b=g(x,0);if(!Number.isFinite(b))continue;let y=J(x);y==null||y<=l||(m=Math.max(m,Math.max(0,b)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},x=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let L of y){if(!(L instanceof Element)||L.parentElement?.closest("[data-composition-id]")!==d)continue;let $=x.resolveStartForElement(L,0),ne=x.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(b=Math.max(b,Math.max(0,$)+ne))}return b>l?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=l?null:d},V=d=>P(d)?Math.max(l,d*p):l,j=(d,m=0)=>{let x=v(d),b=Se(),y=le(),L=Math.max(b??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(x)?$=Math.max(x,L,te):P(L)?$=Math.max(L,te):$=te;let ne=Math.max(1,Number(t.maxTimelineDurationSeconds)||1800);return $>0?Math.max(0,Math.min($,ne)):0},W=()=>{let d=window.__timelines??{},m=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),x=Se(),b=le(),y=Math.max(x??0,b??0)||null,L=V(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?m.resolveStartForElement(Q,0):0},$=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let pe of oe)ue.add(pe.timeline,te(pe.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let pe=ue.timeline({paused:!0});if(Q)try{pe.add(Q,0)}catch(se){D("runtime.init.site2",se)}let be=pe;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){D("runtime.init.site3",se)}return pe},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let pe=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let be=[];for(let se of Q)if(!pe.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){D("runtime.init.site4",ke)}return be}catch{return[]}},Be=M(),fe=Be?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Be)return[];let oe=new Set,Q=Array.from(Be.querySelectorAll("[data-composition-id]")),ue=[];for(let pe of Q){let be=pe.getAttribute("data-composition-id");if(!be||be===fe||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=v(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ce??0})}return ue})(),at=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(pe){D("runtime.init.site5",pe)}}};if(me.length>0&&at(me),ye){let oe=me.length>0?ge(ye,me):[];if((me.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+fe+"\'])"))&&(Z=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=v(ye);if(!P(Q)&&me.length>0){let se=me.map(Vo=>Vo.compositionId),Ce=$(me),ke=v(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=v(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=v(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:x,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),pe=ue?parseFloat(ue):null,be=Math.max(P(pe)?pe:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(ke){D("runtime.init.site6",ke)}let Ce=v(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:b,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:x,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:fe,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(me.length>0){let oe=me.map(pe=>pe.compositionId),Q=$(me),ue=v(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:x,selectedTimelineIds:oe}}}}return{timeline:null}},Z=!1,he=()=>{if(!T)return!1;let d=t.capturedTimeline,m=v(d),x=P(m);if(d&&x&&Z)return!1;let b=W();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 y=j(t.capturedTimeline,0);if(y>0){try{B.setDuration(y)}catch{}t.capturedTimeline.pause()}return b.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),!0},Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),x=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(x)&&x>0&&Number.isFinite(b)&&b>0,te=m.width<=0||m.height<=0||d.clientWidth<=0||d.clientHeight<=0;!L||!te||a("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:x,declaredHeight:b,rectWidth:Math.round(m.width),rectHeight:Math.round(m.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,Ne()}))},k=()=>{n=d=>{let m=S(d.error??d.message).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:x.code,details:{category:x.category,message:m,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let m=S(d.reason).slice(0,E);if(!m)return;let x=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${x.code}_unhandled_rejection`,details:{category:`${x.category}-unhandled-rejection`,message:m}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let x of d){let b=()=>{if(!(x instanceof Element))return;let y=x.tagName.toLowerCase(),L=x.getAttribute("src")??x.getAttribute("href")??x.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(x instanceof HTMLImageElement||x instanceof HTMLMediaElement)&&x.currentSrc||null,readyState:x instanceof HTMLMediaElement?x.readyState:null,networkState:x instanceof HTMLMediaElement?x.networkState:null},`${te}:${y}:${L??"unknown"}`)};x.addEventListener("error",b),u(()=>{x.removeEventListener("error",b)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let x=Array.from(m).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);x.length!==0&&a("runtime_font_load_issue",{failedFamilies:x,totalFaces:Array.from(m).length},`runtime-font-load-issue:${x.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let x=t.capturedTimeline;if(x&&x===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=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),y&&t.capturedTimeline.play()}catch(L){D("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,G=()=>{t.tornDown||(ee!=null&&window.clearTimeout(ee),ee=window.setTimeout(()=>{if(t.tornDown)return;ee=null;let d=W();if(!d.timeline||!P(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){he()&&(je(),ce(!0));return}if(z)return;let x=v(t.capturedTimeline),b=d.selectedDurationSeconds??v(d.timeline);P(b)&&(!P(x)||b>=x+h)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:x??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),je(),ce(!0))},F))},ve=()=>{for(let d of U)d.removeEventListener("loadedmetadata",G),d.removeEventListener("durationchange",G);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let m of d)U.has(m)||(U.add(m),m.addEventListener("loadedmetadata",G),m.addEventListener("durationchange",G),m.preload!=="auto"&&(m.preload="auto"),m.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&m.load())},Me=()=>{let d=y=>{let L=y.closest("[data-composition-id]"),te=L?g(L,0):null,$=L?A(L,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:L,inheritedStart:te,inheritedDuration:$}},m=bi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let L=d(y);return g(y,L.inheritedStart??0)},resolveDurationSeconds:y=>{let L=d(y),te=g(y,L.inheritedStart??0),$=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ne=L.inheritedStart!=null&&L.inheritedDuration!=null&&L.inheritedDuration>0?Math.max(0,L.inheritedStart+L.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>$?Math.max(0,y.duration-$):null;return ge!=null&&ne!=null?Math.min(ge,ne):ge??ne}}),x=t.mediaForceSyncNextTick;x&&(t.mediaForceSyncNextTick=!1),Ai({clips:m.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||xe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:x,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let L=y.tagName.toLowerCase();if(L==="script"||L==="style"||L==="link"||L==="meta")continue;let te=g(y,0),$=A(y),ne=y.getAttribute("data-composition-id");if(ne){let fe=(window.__timelines??{})[ne],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ve=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");$!=null&&$>0&&ye!=null&&!Ve?$=Math.min($,ye):($==null||$<=0)&&ye!=null&&($=ye)}let ge=$!=null&&$>0?te+$:Number.POSITIVE_INFINITY,Be=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Be?"visible":"hidden"}},ce=d=>{let m=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),x=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||x-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=x,Fe({source:"hf-preview",type:"state",frame:m,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{_(),X(),N();let d=M();if(d){let x=I(d.getAttribute("data-width")),b=I(d.getAttribute("data-height")),y=x?parseInt(x,10):0,L=b?parseInt(b,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}he();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let x of t.deterministicAdapters){try{d==="discover"&&x.discover(),d==="pause"&&x.pause(),d==="play"&&x.play&&x.play()}catch(b){D("runtime.init.site8",b)}if(d==="discover")try{x.seek({time:m})}catch(b){D("runtime.init.site9",b)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:x})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:x})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,he(),De("discover",t.currentTime),Ee(),O(),Kn(),je(),ce(!0)})}let Dt=Ei({postMessage:d=>Fe(d)});Dt.installPickerApi();let sn=d=>{let m=Number(d);!Number.isFinite(m)||m<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,m)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let x=document.querySelectorAll("video, audio");for(let b of x)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){D("runtime.init.site10",y)}},de=wi({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:sn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,m)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==m&&(t.mediaForceSyncNextTick=!0),t.isPlaying=m,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let m of t.deterministicAdapters)try{m.seek({time:Number(d)||0})}catch(x){D("runtime.init.site11",x)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>j(t.capturedTimeline,0)});window.__player=c(de),window.__playerReady=!0,window.__renderReady=!0,li(Fe),lt("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=ai({onPlay:()=>{de.play(),lt("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),lt("composition_paused",{time:de.getTime()})},onSeek:(d,m)=>{let x=Math.max(0,d)/t.canonicalFps;de.seek(x),lt("composition_seeked",{time:x})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement))continue;let b=parseFloat(x.dataset.volume??""),y=Number.isFinite(b)?b:1;x.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let x=document.querySelectorAll("video, audio");for(let b of x)b instanceof HTMLMediaElement&&(b.muted=m)},onSetPlaybackRate:d=>{sn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),xe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,Ge(d),B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Dt.enablePickMode(),onDisablePickMode:()=>Dt.disablePickMode()}),he(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;he()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),De("discover",t.currentTime),je(),ce(!0)},0),t.deterministicAdapters=[Si(),ui({resolveStartSeconds:d=>g(d,0)}),di(),pi(),xi(),gi(),ci({getTimeline:()=>t.capturedTimeline})],yi(),k(),De("discover"),Ee();let B=new Zt;t.transportClock=B;let xe=new Xt,ii=!1;xe.init().then(d=>{ii=d});let Lt=0,an=!1,jo=(d,m,x)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(b){D(x,b)}},Go=d=>{let m=window.__timelines??{},x=M()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(m)){if(!y||b===x)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=v(y),ge=$!=null&&$>0?$:ne,Be=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);jo(y,Be,"runtime.init.transport.childTimeline")}},Ge=d=>{let m=t.capturedTimeline;if(m)try{typeof m.totalTime=="function"?m.totalTime(d,!1):m.seek(d,!1)}catch(x){D("runtime.init.transport.seek",x)}else Go(d);for(let x of t.deterministicAdapters)try{x.seek({time:d})}catch(b){D("runtime.init.transport.adapter",b)}},ri=()=>{if(!(t.tornDown||an)){an=!0;try{if(t.transportRafId=window.requestAnimationFrame(ri),Lt+=1,Lt%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<f)){let x=t.capturedTimeline;if(he()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==x&&t.capturedTimeline.pause();let b=j(t.capturedTimeline,0);b>0&&B.setDuration(b),je()}}if(Lt%20===0&&je(),Lt%30===0&&Ee(),t.capturedTimeline){let m=j(t.capturedTimeline,0);m>0&&B.setDuration(m)}if(B.isPlaying()&&!t.mediaOutputMuted)if(xe.isActive()&&xe.context){let m=xe.getTime();m>=0&&B.attachAudioSource({currentTimeSeconds:m})}else{let m=document.querySelectorAll("audio[data-start]"),x=!1;for(let b of m){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),L=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),x=!0):(B.attachAudioSource({el:b,compositionStart:y,mediaStart:$}),x=!0);break}}!x&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,Ge(d),B.isPlaying()&&B.reachedEnd()){xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let m=B.getDuration();Number.isFinite(m)&&(B.seek(m),t.currentTime=m,Ge(m)),De("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{an=!1}}},oi=d=>{let m=document.querySelectorAll("video, audio");for(let x of m){if(!(x instanceof HTMLMediaElement)||!x.isConnected)continue;let b=Number.parseFloat(x.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(x.dataset.duration??""),L=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=L)continue;let te=Number.parseFloat(x.dataset.playbackStart??x.dataset.mediaStart??"0")||0,$=d-b+te;if($>=0)try{x.currentTime=$}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let m=j(d,0);if(m>0)B.setDuration(m),B.reachedEnd()&&(B.seek(0),t.currentTime=0,Ge(0));else{let x=M(),b=Number(x?.getAttribute("data-duration")??0);b>0&&B.setDuration(b)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let x=xe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let L=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(L))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,$=Number.parseFloat(y.dataset.volume??""),ne=Number.isFinite($)?$:1;xe.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||xe.schedulePlayback(y,ge,L,te,B.now(),ne*t.bridgeVolume,x,t.playbackRate)})}}De("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;xe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,oi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),Me(),ce(!0)},de.seek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);xe.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ge(t.currentTime),De("pause"),Me(),ce(!0)},de.renderSeek=d=>{let m=Ze(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(m),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ge(t.currentTime),Me(),ce(!0)},de.getTime=()=>B.now(),de.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},de.isPlaying=()=>B.isPlaying(),de.setPlaybackRate=d=>{sn(d),B.setRate(t.playbackRate),xe.setRate(t.playbackRate)},t.capturedTimeline){let d=j(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let si=window.__player;if(si){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let m of d)Object.defineProperty(si,m,{get:()=>de[m],set:x=>{de[m]=x},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ri),je(),ce(!0);let ln=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,xe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ve(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Dt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(m){D("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){D("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){D("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){D("runtime.init.site15",m)}t.injectedCompScripts=[],t.capturedTimeline=null,e.__hfRuntimeTeardown===ln&&(e.__hfRuntimeTeardown=null)}};e.__hfRuntimeTeardown=ln,t.beforeUnloadHandler=ln,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var yo=["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"],Jn=[[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 dl(t){if(t<=255)return yo[t];let e=0,n=Jn.length-1;for(;e<=n;){let i=e+n>>1,r=Jn[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function fl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let l=t.charCodeAt(c),p=l,f=1;if(l>=55296&&l<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(p=(l-55296<<10)+(F-56320)+65536,f=2)}let h=dl(p);(h==="R"||h==="AL"||h==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=h;c+=f}if(!i)return null;let r=0;for(let c=0;c<e;c++){let l=n[c];if(l==="L"){r=0;break}if(l==="R"||l==="AL"){r=1;break}}let o=new Int8Array(e);for(let c=0;c<e;c++)o[c]=r;let s=r&1?"R":"L",u=s,a=u;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="AL"?"AN":"EN":(l==="R"||l==="L"||l==="AL")&&(a=l)}for(let c=0;c<e;c++)n[c]==="AL"&&(n[c]="R");for(let c=1;c<e-1;c++)n[c]==="ES"&&n[c-1]==="EN"&&n[c+1]==="EN"&&(n[c]="EN"),n[c]==="CS"&&(n[c-1]==="EN"||n[c-1]==="AN")&&n[c+1]===n[c-1]&&(n[c]=n[c-1]);for(let c=0;c<e;c++){if(n[c]!=="EN")continue;let l;for(l=c-1;l>=0&&n[l]==="ET";l--)n[l]="EN";for(l=c+1;l<e&&n[l]==="ET";l++)n[l]="EN"}for(let c=0;c<e;c++){let l=n[c];(l==="WS"||l==="ES"||l==="ET"||l==="CS")&&(n[c]="ON")}a=u;for(let c=0;c<e;c++){let l=n[c];l==="EN"?n[c]=a==="L"?"L":"EN":(l==="R"||l==="L")&&(a=l)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let l=c+1;for(;l<e&&n[l]==="ON";)l++;let p=c>0?n[c-1]:u,f=l<e?n[l]:u,h=p!=="L"?"R":"L";if(h===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=h;c=l-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let l=n[c];(o[c]&1)===0?l==="R"?o[c]++:(l==="AN"||l==="EN")&&(o[c]+=2):(l==="L"||l==="AN"||l==="EN")&&o[c]++}return o}function So(t,e){let n=fl(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 ml=/[ \\t\\n\\r\\f]+/g,pl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function hl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function xl(t){if(!pl.test(t))return t;let e=t.replace(ml," ");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 gl(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Qn=null,yl;function Sl(){return Qn===null&&(Qn=new Intl.Segmenter(yl,{granularity:"word"})),Qn}var bl=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return bl.test(t)}function Ao(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 Re(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(Ao(r))return!0;e++;continue}}if(Ao(n))return!0}}return!1}function Al(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var El=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Fl(t){return Re(t)}function wl(t){let e=rn(t);return e!==null&&El.has(e)}function tn(t){return!Al(t)&&!wl(t)}var nn=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"]),vt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Zn=new Set(["\'","\\u2019"]),Ue=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Nl=new Set([":",".","\\u060C","\\u061B"]),Cl=new Set(["\\u104F"]),Ml=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Tl(t){if(Xn(t))return!0;let e=!1;for(let n of t){if(Ue.has(n)){e=!0;continue}if(!(e&&en.test(n)))return!1}return e}function kl(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function _l(t){if(Xn(t))return!0;for(let e of t)if(!vt.has(e)&&!Zn.has(e)&&!en.test(e))return!1;return t.length>0}function Xn(t){let e=!1;for(let n of t)if(!(n==="\\\\"||en.test(n))){if(vt.has(n)||Ue.has(n)||Zn.has(n)){e=!0;continue}return!1}return e}function To(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 rn(t){if(t.length===0)return null;let e=To(t,t.length);return t.slice(e)}function Rl(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(en.test(i)){n--;continue}if(vt.has(i)||Zn.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Eo(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 u=r.repeat(s);return t[i]=u,u}function Fo(t,e){return t&&e!==null&&Nl.has(e)}function Dl(t){let e=rn(t);return e!==null&&Cl.has(e)}function Ll(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 on(t){let e=t.length;for(;e>0;){let n=To(t,e),i=t.slice(n,e);if(Ml.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Bl(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 Il=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Ol(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Pl(t,e,n,i){if(!Il.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],u=n,a=!1,c=0;for(let l of t){let p=Bl(l,i),f=p==="text"&&e;if(o!==null&&p===o&&f===a){s.push(l),c+=l.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),o=p,s=[l],u=n+c,a=f,c+=l.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:u}),r}function Yn(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Wl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Hl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Wl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function ql(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Ul(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"||!Hl(t,s))continue;let u=[e[s]],a=s+1;for(;a<t.len&&!Yn(i[a]);){u.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=Te(u)}let o=0;for(let s=0;s<e.length;s++){let u=e[s];u.length!==0&&(o!==s&&(e[o]=u,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 zl(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]),!ql(s))continue;let u=o+1;if(u>=t.len||Yn(t.kinds[u]))continue;let a=[],c=t.starts[u],l=u;for(;l<t.len&&!Yn(t.kinds[l]);)a.push(t.texts[l]),l++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(c),o=l-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var jl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),wo=/^[A-Za-z0-9_]+[,:;]*$/,No=/[,:;]+$/;function ko(t){for(let e of t)if(Mo.test(e))return!0;return!1}function Rt(t){if(t.length===0)return!1;for(let e of t)if(!(Mo.test(e)||jl.has(e)))return!1;return!0}function Gl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o];if(u==="text"&&Rt(s)&&ko(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Rt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=c-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Vl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],u=t.kinds[o],a=t.isWordLike[o];if(u==="text"&&a&&wo.test(s)){let c=[s],l=No.test(s),p=o+1;for(;l&&p<t.len&&t.kinds[p]==="text"&&t.isWordLike[p]&&wo.test(t.texts[p]);){let f=t.texts[p];c.push(f),l=No.test(f),p++}e.push(Te(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=p-1;continue}e.push(s),n.push(a),i.push(u),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function $l(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 u=s.split("-"),a=u.length>1;for(let c=0;c<u.length;c++){let l=u[c];if(!a)break;(l.length===0||!ko(l)||!Rt(l))&&(a=!1)}if(a){let c=0;for(let l=0;l<u.length;l++){let p=u[l],f=l<u.length-1?`${p}-`:p;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+c),c+=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 Kl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],u=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let l=[s[0]],p=c;for(o++;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let f=Te(l);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),u=t.isWordLike[o],a="text",c=p,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(p);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let l=[];for(;o<t.len&&t.kinds[o]==="glue";)l.push(t.texts[o]),o++;let p=Te(l);if(o<t.len&&t.kinds[o]==="text"){s.push(p,t.texts[o]),u=u||t.isWordLike[o],o++;continue}s.push(p)}e.push(Te(s)),n.push(u),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Jl(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"||!Re(e[o])||!Re(e[o+1]))continue;let s=Rl(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 Co(t,e,n){let i=Sl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],h=[],F=[],E=[],S=[];for(let N of i.segment(t))for(let g of Pl(N.segment,N.isWordLike??!1,N.index,n)){let le=function(){l[R]!==null&&(s[R]=[Eo(o,l,p,R)],l[R]=null),s[R].push(g.text),u[R]=u[R]||g.isWordLike,f[R]=f[R]||C,h[R]=h[R]||T,F[R]=P,E[R]=J,S[R]=Fo(h[R],v)},A=g.kind==="text",w=vl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),v=rn(g.text),P=on(g.text),J=Dl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&kl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&S[R]?(le(),u[R]=!0):w!==null&&r>0&&a[R]==="text"&&l[R]===w?p[R]=(p[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Tl(g.text)||g.text==="-"&&u[R])?le():(o[r]=g.text,s[r]=[g.text],u[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,l[r]=w,p[r]=w===null?0:1,f[r]=C,h[r]=T,F[r]=P,E[r]=J,S[r]=Fo(T,v),r++)}for(let N=0;N<r;N++){if(l[N]!==null){o[N]=Eo(o,l,p,N);continue}o[N]=Te(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!u[N]&&Xn(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],u[N-1]=u[N-1]||u[N],o[N]="");let q=Array.from({length:r},()=>null),I=-1;for(let N=r-1;N>=0;N--){let g=o[N];if(g.length!==0){if(a[N]==="text"&&!u[N]&&_l(g)&&I>=0&&a[I]==="text"){let A=q[I]??[];A.push(g),q[I]=A,c[I]=c[N],o[N]="";continue}I=N}}for(let N=0;N<r;N++){let g=q[N];g!=null&&(o[N]=Ol(g,o[N]))}let M=0;for(let N=0;N<r;N++){let g=o[N];g.length!==0&&(M!==N&&(o[M]=g,u[M]=u[N],a[M]=a[N],c[M]=c[N]),M++)}o.length=M,u.length=M,a.length=M,c.length=M;let X=Kl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Jl(Vl($l(Gl(zl(Ul(X))))));for(let N=0;N<_.len-1;N++){let g=Ll(_.texts[N]);g!==null&&(_.kinds[N]!=="space"&&_.kinds[N]!=="preserved-space"||_.kinds[N+1]!=="text"||!bo(_.texts[N+1])||(_.texts[N]=g.space,_.isWordLike[N]=!1,_.kinds[N]=_.kinds[N]==="preserved-space"?"preserved-space":"space",_.texts[N+1]=g.marks+_.texts[N+1],_.starts[N+1]=_.starts[N]+g.space.length))}return _}function Ql(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 Yl(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,u=0,a=!1,c=!1;function l(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(u),o=null)}for(let p=0;p<t.len;p++){let f=t.texts[p],h=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(h==="text"){let S=Fl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=q;continue}l(),o=[f],s=F,u=E,a=S,c=q;continue}l(),e.push(f),n.push(F),i.push(h),r.push(E)}return l(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function _o(t,e,n="normal",i="normal"){let r=hl(n),o=r.mode==="pre-wrap"?gl(t):xl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Yl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Ql(s,r),...s}}var rt=null,Ro=new Map,ot=null,Zl=96,Xl=/\\p{Emoji_Presentation}/u,eu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,ei=null,vo=new Map;function ti(){if(rt!==null)return rt;if(typeof OffscreenCanvas<"u")return rt=new OffscreenCanvas(1,1).getContext("2d"),rt;if(typeof document<"u")return rt=document.createElement("canvas").getContext("2d"),rt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function tu(t){let e=Ro.get(t);return e||(e=new Map,Ro.set(t,e)),e}function Oe(t,e){let n=e.get(t);return n===void 0&&(n={width:ti().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function st(){if(ot!==null)return ot;if(typeof navigator>"u")return ot={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},ot;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 ot={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},ot}function nu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Do(){return ei===null&&(ei=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ei}function iu(t){return Xl.test(t)||t.includes("\\uFE0F")}function Lo(t){return eu.test(t)}function ru(t,e){let n=vo.get(t);if(n!==void 0)return n;let i=ti();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 vo.set(t,n),n}function ou(t){let e=0,n=Do();for(let i of n.segment(t))iu(i.segment)&&e++;return e}function su(t,e){return e.emojiCount===void 0&&(e.emojiCount=ou(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-su(t,e)*n}function Bo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Do(),s=[];for(let l of o.segment(t))s.push(l.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let l=[];for(let p of s){let f=Oe(p,n);l.push(ze(p,f,i))}return e.breakableFitAdvances=l,e.breakableFitAdvances}if(r==="pair-context"||s.length>Zl){let l=[],p=null,f=0;for(let h of s){let F=Oe(h,n),E=ze(h,F,i);if(p===null)l.push(E);else{let S=p+h,q=Oe(S,n);l.push(ze(S,q,i)-f)}p=h,f=E}return e.breakableFitAdvances=l,e.breakableFitAdvances}let u=[],a="",c=0;for(let l of s){a+=l;let p=Oe(a,n),f=ze(a,p,i);u.push(f-c),c=f}return e.breakableFitAdvances=u,e.breakableFitAdvances}function Io(t,e){let n=ti();n.font=t;let i=tu(t),r=nu(t),o=e?ru(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function au(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 lu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function uu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let u=s+t[o];if((o+1<t.length?u+r:u)>n+i)break;s=u,o++}return{fitCount:o,fittedWidth:s}}function Oo(t,e){return t.simpleLineWalkFastPath?Po(t,e):Wo(t,e)}function Po(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let u=st().lineFitEpsilon,a=e+u,c=0,l=0,p=!1,f=0,h=0,F=0,E=0,S=-1,q=0;function I(){S=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:h,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,h=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,h=C,F=w,E=C+1,l=T}function N(w,C){if(!p){X(w,C);return}l+=C,F=w+1,E=0}function g(w,C){let T=o[w];for(let v=C;v<T.length;v++){let P=T[v];p?l+P>a?(M(),_(w,v,P)):(l+=P,F=w,E=v+1):_(w,v,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=au(t,A),A>=i.length));){let w=i[A],C=r[A],T=C==="space"||C==="preserved-space"||C==="tab"||C==="zero-width-break"||C==="soft-hyphen";if(!p){w>e&&o[A]!==null?g(A,0):X(A,w),T&&(S=A+1,q=l-w),A++;continue}if(l+w>a){if(T){N(A,w),M(A+1,0,l-w),A++;continue}if(S>=0){if(F>S||F===S&&E>0){M();continue}M(S,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(S=A+1,q=l-w),A++}return p&&M(),c}function Wo(t,e,n){if(t.simpleLineWalkFastPath)return Po(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:u,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:l}=t;if(i.length===0||l.length===0)return 0;let p=st(),f=p.lineFitEpsilon,h=e+f,F=0,E=0,S=!1,q=0,I=0,M=0,X=0,_=-1,N=0,g=0,A=null;function w(){_=-1,N=0,g=0,A=null}function C(V=M,j=X,W=E){F++,n?.({startSegmentIndex:q,startGraphemeIndex:I,endSegmentIndex:V,endGraphemeIndex:j,width:W}),E=0,S=!1,w()}function T(V,j){S=!0,q=V,I=0,M=V+1,X=0,E=j}function v(V,j,W){S=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!S){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Z){if(!j)return;let he=V==="tab"?0:r[W],Ne=V==="tab"?Z:o[W];_=W+1,N=E-Z+he,g=E-Z+Ne,A=V}function R(V,j){let W=u[V];for(let Z=j;Z<W.length;Z++){let he=W[Z];S?E+he>h?(C(),v(V,Z,he)):(E+=he,M=V,X=Z+1):v(V,Z,he)}S&&M===V&&X===W.length&&(M=V+1,X=0)}function le(V){if(A!=="soft-hyphen")return!1;let j=u[V];if(j==null)return!1;let{fitCount:W,fittedWidth:Z}=uu(j,E,e,f,a);return W===0?!1:(E=Z,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Z+a),R(V,W),!0))}function Se(V){F++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),w()}for(let V=0;V<l.length;V++){let j=l[V];if(j.startSegmentIndex===j.endSegmentIndex){Se(j);continue}S=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Z=s[W],he=Z==="space"||Z==="preserved-space"||Z==="tab"||Z==="zero-width-break"||Z==="soft-hyphen",Ne=Z==="tab"?lu(E,c):i[W];if(Z==="soft-hyphen"){S&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Z),W++;continue}if(!S){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Z,he,W,Ne),W++;continue}if(E+Ne>h){let k=E+(Z==="tab"?0:r[W]),O=E+(Z==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=h){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(he&&k<=h){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=h){if(M>_||M===_&&X>0){C();continue}let ie=_;C(ie,0,g),W=ie;continue}if(Ne>e&&u[W]!==null){C(),R(W,0),W++;continue}C();continue}P(W,Ne),J(Z,he,W,Ne),W++}if(S){let Z=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Z)}}return F}var ni=null;function cu(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function du(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 fu(t,e){let n=[],i=[],r=0,o=!1,s=!1,u=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,u=!1)}function c(p,f,h){i=[p],r=f,o=h,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let h=on(p);p.length===1&&Ue.has(p)?s=s||h:s=h,u=!1}for(let p of cu().segment(t)){let f=p.segment,h=Re(f);if(i.length===0){c(f,p.index,h);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&h&&s){l(f,h);continue}if(!o&&!h){l(f,h);continue}a(),c(f,p.index,h)}return a(),n}function mu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=tn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let u=1;u<t.length;u++){let a=t[u],c=Re(a.text),l=tn(a.text);if(r&&o){n.push(a.text),r=r||c,o=l;continue}s(),n=[a.text],i=a.start,r=c,o=l}return s(),e}function pu(t,e,n,i){let r=st(),{cache:o,emojiCorrection:s}=Io(e,Lo(t.normalized)),u=ze("-",Oe("-",o),s),c=ze(" ",Oe(" ",o),s)*8;if(t.len===0)return du(n);let l=[],p=[],f=[],h=[],F=t.chunks.length<=1,E=n?[]:null,S=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,v,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),h.push(T),E?.push(v),S.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let v=Oe(g,o),P=ze(g,v,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(T&&C&&g.length>1){let le="sum-graphemes";Rt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Bo(g,v,o,s,le);M(g,P,J,R,A,w,Se);return}M(g,P,J,R,A,w,null)}for(let g=0;g<t.len;g++){I[g]=l.length;let A=t.texts[g],w=t.isWordLike[g],C=t.kinds[g],T=t.starts[g];if(C==="soft-hyphen"){M(A,0,u,u,C,T,null);continue}if(C==="hard-break"){M(A,0,0,0,C,T,null);continue}if(C==="tab"){M(A,0,0,0,C,T,null);continue}let v=Oe(A,o);if(C==="text"&&v.containsCJK){let P=fu(A,r),J=i==="keep-all"?mu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",T+le.start,w,i==="keep-all"||!Re(le.text))}continue}X(A,C,T,w,!0)}let _=hu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:h,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:S,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function hu(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,u=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:u,consumedEndSegmentIndex:a})}return i}function xu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return pu(o,e,n,r)}function Ho(t,e,n){return xu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var gu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...gu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ho(t,o),{lineCount:u}=qo(s,n.maxWidth,r*i);if(u<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Uo,getVariables:so};function zo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,go())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",zo,{once:!0}):zo();})();\n';
|
|
7412
7412
|
}
|
|
7413
7413
|
});
|
|
7414
7414
|
|
|
@@ -11438,7 +11438,7 @@ import { get as httpsGet } from "https";
|
|
|
11438
11438
|
import { pipeline } from "stream/promises";
|
|
11439
11439
|
function downloadFile(url, dest) {
|
|
11440
11440
|
const tmp = `${dest}.tmp`;
|
|
11441
|
-
return new Promise((
|
|
11441
|
+
return new Promise((resolve45, reject) => {
|
|
11442
11442
|
const follow = (u) => {
|
|
11443
11443
|
httpsGet(u, (res) => {
|
|
11444
11444
|
if (res.statusCode === 301 || res.statusCode === 302) {
|
|
@@ -11455,7 +11455,7 @@ function downloadFile(url, dest) {
|
|
|
11455
11455
|
const file = createWriteStream(tmp);
|
|
11456
11456
|
pipeline(res, file).then(() => {
|
|
11457
11457
|
renameSync(tmp, dest);
|
|
11458
|
-
|
|
11458
|
+
resolve45();
|
|
11459
11459
|
}).catch((err) => {
|
|
11460
11460
|
try {
|
|
11461
11461
|
unlinkSync(tmp);
|
|
@@ -12180,7 +12180,7 @@ function hasNpx() {
|
|
|
12180
12180
|
}
|
|
12181
12181
|
}
|
|
12182
12182
|
function runSkillsAdd(repo) {
|
|
12183
|
-
return new Promise((
|
|
12183
|
+
return new Promise((resolve45, reject) => {
|
|
12184
12184
|
const child = spawn("npx", ["skills", "add", repo, "--all"], {
|
|
12185
12185
|
stdio: "inherit",
|
|
12186
12186
|
timeout: 12e4,
|
|
@@ -12194,7 +12194,7 @@ function runSkillsAdd(repo) {
|
|
|
12194
12194
|
env: { ...process.env, GIT_CLONE_PROTECTION_ACTIVE: "0" }
|
|
12195
12195
|
});
|
|
12196
12196
|
child.on("close", (code, signal) => {
|
|
12197
|
-
if (code === 0)
|
|
12197
|
+
if (code === 0) resolve45();
|
|
12198
12198
|
else if (signal === "SIGINT" || code === 130) process.exit(0);
|
|
12199
12199
|
else reject(new Error(`npx skills add exited with code ${code}`));
|
|
12200
12200
|
});
|
|
@@ -13109,7 +13109,7 @@ function computePeaks(floats, count) {
|
|
|
13109
13109
|
return peaks.map((p2) => p2 / maxPeak);
|
|
13110
13110
|
}
|
|
13111
13111
|
function decodeAudioPeaks(audioPath) {
|
|
13112
|
-
return new Promise((
|
|
13112
|
+
return new Promise((resolve45, reject) => {
|
|
13113
13113
|
const proc = spawn3(
|
|
13114
13114
|
"ffmpeg",
|
|
13115
13115
|
[
|
|
@@ -13142,7 +13142,7 @@ function decodeAudioPeaks(audioPath) {
|
|
|
13142
13142
|
return;
|
|
13143
13143
|
}
|
|
13144
13144
|
const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + numSamples * 4);
|
|
13145
|
-
|
|
13145
|
+
resolve45(computePeaks(new Float32Array(ab), PEAK_COUNT));
|
|
13146
13146
|
});
|
|
13147
13147
|
proc.on("error", reject);
|
|
13148
13148
|
});
|
|
@@ -16617,10 +16617,10 @@ function compareDocumentPosition(nodeA, nodeB) {
|
|
|
16617
16617
|
function uniqueSort(nodes) {
|
|
16618
16618
|
nodes = nodes.filter((node, i2, arr) => !arr.includes(node, i2 + 1));
|
|
16619
16619
|
nodes.sort((a, b2) => {
|
|
16620
|
-
const
|
|
16621
|
-
if (
|
|
16620
|
+
const relative11 = compareDocumentPosition(a, b2);
|
|
16621
|
+
if (relative11 & DocumentPosition.PRECEDING) {
|
|
16622
16622
|
return -1;
|
|
16623
|
-
} else if (
|
|
16623
|
+
} else if (relative11 & DocumentPosition.FOLLOWING) {
|
|
16624
16624
|
return 1;
|
|
16625
16625
|
}
|
|
16626
16626
|
return 0;
|
|
@@ -17082,8 +17082,8 @@ var init_custom_element_registry = __esm({
|
|
|
17082
17082
|
} : (element) => element.localName === localName;
|
|
17083
17083
|
registry.set(localName, { Class, check });
|
|
17084
17084
|
if (waiting.has(localName)) {
|
|
17085
|
-
for (const
|
|
17086
|
-
|
|
17085
|
+
for (const resolve45 of waiting.get(localName))
|
|
17086
|
+
resolve45(Class);
|
|
17087
17087
|
waiting.delete(localName);
|
|
17088
17088
|
}
|
|
17089
17089
|
ownerDocument.querySelectorAll(
|
|
@@ -17123,13 +17123,13 @@ var init_custom_element_registry = __esm({
|
|
|
17123
17123
|
*/
|
|
17124
17124
|
whenDefined(localName) {
|
|
17125
17125
|
const { registry, waiting } = this;
|
|
17126
|
-
return new Promise((
|
|
17126
|
+
return new Promise((resolve45) => {
|
|
17127
17127
|
if (registry.has(localName))
|
|
17128
|
-
|
|
17128
|
+
resolve45(registry.get(localName).Class);
|
|
17129
17129
|
else {
|
|
17130
17130
|
if (!waiting.has(localName))
|
|
17131
17131
|
waiting.set(localName, []);
|
|
17132
|
-
waiting.get(localName).push(
|
|
17132
|
+
waiting.get(localName).push(resolve45);
|
|
17133
17133
|
}
|
|
17134
17134
|
});
|
|
17135
17135
|
}
|
|
@@ -29355,7 +29355,7 @@ var init_screenshotService = __esm({
|
|
|
29355
29355
|
import { existsSync as existsSync19, mkdirSync as mkdirSync10, writeFileSync as writeFileSync11 } from "fs";
|
|
29356
29356
|
import { join as join23 } from "path";
|
|
29357
29357
|
async function driveWarmupTicks(options, state) {
|
|
29358
|
-
const
|
|
29358
|
+
const sleep3 = options.sleep ?? realSleep;
|
|
29359
29359
|
while (true) {
|
|
29360
29360
|
if (options.lockWarmupTicks) {
|
|
29361
29361
|
if (state.ticks >= LOCKED_WARMUP_TICKS) return;
|
|
@@ -29367,7 +29367,7 @@ async function driveWarmupTicks(options, state) {
|
|
|
29367
29367
|
state.ticks += 1;
|
|
29368
29368
|
} catch {
|
|
29369
29369
|
}
|
|
29370
|
-
await
|
|
29370
|
+
await sleep3(options.intervalMs);
|
|
29371
29371
|
}
|
|
29372
29372
|
}
|
|
29373
29373
|
async function waitForCloseWithTimeout(promise) {
|
|
@@ -29378,10 +29378,10 @@ async function waitForCloseWithTimeout(promise) {
|
|
|
29378
29378
|
() => void 0,
|
|
29379
29379
|
() => void 0
|
|
29380
29380
|
),
|
|
29381
|
-
new Promise((
|
|
29381
|
+
new Promise((resolve45) => {
|
|
29382
29382
|
timer = setTimeout(() => {
|
|
29383
29383
|
timedOut = true;
|
|
29384
|
-
|
|
29384
|
+
resolve45();
|
|
29385
29385
|
}, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
|
|
29386
29386
|
})
|
|
29387
29387
|
]);
|
|
@@ -29479,7 +29479,7 @@ async function pollPageExpression(page, expression, timeoutMs, intervalMs = 100)
|
|
|
29479
29479
|
while (Date.now() < deadline) {
|
|
29480
29480
|
const ready = Boolean(await page.evaluate(expression));
|
|
29481
29481
|
if (ready) return true;
|
|
29482
|
-
await new Promise((
|
|
29482
|
+
await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
|
|
29483
29483
|
}
|
|
29484
29484
|
return Boolean(await page.evaluate(expression));
|
|
29485
29485
|
}
|
|
@@ -29496,7 +29496,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
|
|
|
29496
29496
|
const deadline = Date.now() + timeoutMs;
|
|
29497
29497
|
while (Date.now() < deadline) {
|
|
29498
29498
|
if (await check()) return true;
|
|
29499
|
-
await new Promise((
|
|
29499
|
+
await new Promise((resolve45) => setTimeout(resolve45, intervalMs));
|
|
29500
29500
|
}
|
|
29501
29501
|
return check();
|
|
29502
29502
|
}
|
|
@@ -29530,7 +29530,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
|
|
|
29530
29530
|
page.evaluate(
|
|
29531
29531
|
`Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
|
|
29532
29532
|
),
|
|
29533
|
-
new Promise((
|
|
29533
|
+
new Promise((resolve45) => setTimeout(() => resolve45(false), timeoutMs))
|
|
29534
29534
|
]);
|
|
29535
29535
|
if (!ready) {
|
|
29536
29536
|
throw new Error(
|
|
@@ -29883,14 +29883,14 @@ var init_frameCapture = __esm({
|
|
|
29883
29883
|
BROWSER_CONSOLE_BUFFER_SIZE = 200;
|
|
29884
29884
|
CAPTURE_SESSION_CLOSE_TIMEOUT_MS = 5e3;
|
|
29885
29885
|
LOCKED_WARMUP_TICKS = 60;
|
|
29886
|
-
realSleep = (ms) => new Promise((
|
|
29886
|
+
realSleep = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
|
|
29887
29887
|
}
|
|
29888
29888
|
});
|
|
29889
29889
|
|
|
29890
29890
|
// ../engine/src/utils/gpuEncoder.ts
|
|
29891
29891
|
import { spawn as spawn4 } from "child_process";
|
|
29892
29892
|
async function detectGpuEncoder() {
|
|
29893
|
-
return new Promise((
|
|
29893
|
+
return new Promise((resolve45) => {
|
|
29894
29894
|
const ffmpeg = spawn4("ffmpeg", ["-encoders"], {
|
|
29895
29895
|
stdio: ["pipe", "pipe", "pipe"]
|
|
29896
29896
|
});
|
|
@@ -29899,13 +29899,13 @@ async function detectGpuEncoder() {
|
|
|
29899
29899
|
stdout2 += data.toString();
|
|
29900
29900
|
});
|
|
29901
29901
|
ffmpeg.on("close", () => {
|
|
29902
|
-
if (stdout2.includes("h264_nvenc"))
|
|
29903
|
-
else if (stdout2.includes("h264_videotoolbox"))
|
|
29904
|
-
else if (stdout2.includes("h264_vaapi"))
|
|
29905
|
-
else if (stdout2.includes("h264_qsv"))
|
|
29906
|
-
else
|
|
29902
|
+
if (stdout2.includes("h264_nvenc")) resolve45("nvenc");
|
|
29903
|
+
else if (stdout2.includes("h264_videotoolbox")) resolve45("videotoolbox");
|
|
29904
|
+
else if (stdout2.includes("h264_vaapi")) resolve45("vaapi");
|
|
29905
|
+
else if (stdout2.includes("h264_qsv")) resolve45("qsv");
|
|
29906
|
+
else resolve45(null);
|
|
29907
29907
|
});
|
|
29908
|
-
ffmpeg.on("error", () =>
|
|
29908
|
+
ffmpeg.on("error", () => resolve45(null));
|
|
29909
29909
|
});
|
|
29910
29910
|
}
|
|
29911
29911
|
async function getCachedGpuEncoder() {
|
|
@@ -30026,7 +30026,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30026
30026
|
const signal = opts?.signal;
|
|
30027
30027
|
const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
|
|
30028
30028
|
const onStderr = opts?.onStderr;
|
|
30029
|
-
return new Promise((
|
|
30029
|
+
return new Promise((resolve45) => {
|
|
30030
30030
|
const ffmpeg = spawn5("ffmpeg", args);
|
|
30031
30031
|
let stderr = "";
|
|
30032
30032
|
const onAbort = () => {
|
|
@@ -30052,7 +30052,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30052
30052
|
ffmpeg.on("close", (code) => {
|
|
30053
30053
|
clearTimeout(timer);
|
|
30054
30054
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30055
|
-
|
|
30055
|
+
resolve45({
|
|
30056
30056
|
success: !signal?.aborted && code === 0,
|
|
30057
30057
|
exitCode: code,
|
|
30058
30058
|
stderr,
|
|
@@ -30062,7 +30062,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30062
30062
|
ffmpeg.on("error", (err) => {
|
|
30063
30063
|
clearTimeout(timer);
|
|
30064
30064
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30065
|
-
|
|
30065
|
+
resolve45({
|
|
30066
30066
|
success: false,
|
|
30067
30067
|
exitCode: null,
|
|
30068
30068
|
stderr: err.message,
|
|
@@ -30293,7 +30293,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30293
30293
|
const inputPath = join24(framesDir, framePattern);
|
|
30294
30294
|
const inputArgs = ["-framerate", fpsToFfmpegArg(options.fps), "-i", inputPath];
|
|
30295
30295
|
const args = buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder);
|
|
30296
|
-
return new Promise((
|
|
30296
|
+
return new Promise((resolve45) => {
|
|
30297
30297
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30298
30298
|
let stderr = "";
|
|
30299
30299
|
const onAbort = () => {
|
|
@@ -30318,7 +30318,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30318
30318
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30319
30319
|
const durationMs = Date.now() - startTime;
|
|
30320
30320
|
if (signal?.aborted) {
|
|
30321
|
-
|
|
30321
|
+
resolve45({
|
|
30322
30322
|
success: false,
|
|
30323
30323
|
outputPath,
|
|
30324
30324
|
durationMs,
|
|
@@ -30329,7 +30329,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30329
30329
|
return;
|
|
30330
30330
|
}
|
|
30331
30331
|
if (code !== 0) {
|
|
30332
|
-
|
|
30332
|
+
resolve45({
|
|
30333
30333
|
success: false,
|
|
30334
30334
|
outputPath,
|
|
30335
30335
|
durationMs,
|
|
@@ -30340,12 +30340,12 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30340
30340
|
return;
|
|
30341
30341
|
}
|
|
30342
30342
|
const fileSize = existsSync20(outputPath) ? statSync6(outputPath).size : 0;
|
|
30343
|
-
|
|
30343
|
+
resolve45({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
|
|
30344
30344
|
});
|
|
30345
30345
|
ffmpeg.on("error", (err) => {
|
|
30346
30346
|
clearTimeout(timer);
|
|
30347
30347
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30348
|
-
|
|
30348
|
+
resolve45({
|
|
30349
30349
|
success: false,
|
|
30350
30350
|
outputPath,
|
|
30351
30351
|
durationMs: Date.now() - startTime,
|
|
@@ -30403,18 +30403,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30403
30403
|
let gpuEncoder = null;
|
|
30404
30404
|
if (options.useGpu) gpuEncoder = await getCachedGpuEncoder();
|
|
30405
30405
|
const args = buildEncoderArgs(options, inputArgs, chunkPath, gpuEncoder);
|
|
30406
|
-
const chunkResult = await new Promise((
|
|
30406
|
+
const chunkResult = await new Promise((resolve45) => {
|
|
30407
30407
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30408
30408
|
let stderr = "";
|
|
30409
30409
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30410
30410
|
stderr += d2.toString();
|
|
30411
30411
|
});
|
|
30412
30412
|
ffmpeg.on("close", (code) => {
|
|
30413
|
-
if (code === 0)
|
|
30414
|
-
else
|
|
30413
|
+
if (code === 0) resolve45({ success: true });
|
|
30414
|
+
else resolve45({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
|
|
30415
30415
|
});
|
|
30416
30416
|
ffmpeg.on("error", (err) => {
|
|
30417
|
-
|
|
30417
|
+
resolve45({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
|
|
30418
30418
|
});
|
|
30419
30419
|
});
|
|
30420
30420
|
if (!chunkResult.success) {
|
|
@@ -30444,18 +30444,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30444
30444
|
"-y",
|
|
30445
30445
|
outputPath
|
|
30446
30446
|
];
|
|
30447
|
-
const concatResult = await new Promise((
|
|
30447
|
+
const concatResult = await new Promise((resolve45) => {
|
|
30448
30448
|
const ffmpeg = spawn6("ffmpeg", concatArgs);
|
|
30449
30449
|
let stderr = "";
|
|
30450
30450
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30451
30451
|
stderr += d2.toString();
|
|
30452
30452
|
});
|
|
30453
30453
|
ffmpeg.on("close", (code) => {
|
|
30454
|
-
if (code === 0)
|
|
30455
|
-
else
|
|
30454
|
+
if (code === 0) resolve45({ success: true });
|
|
30455
|
+
else resolve45({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
|
|
30456
30456
|
});
|
|
30457
30457
|
ffmpeg.on("error", (err) => {
|
|
30458
|
-
|
|
30458
|
+
resolve45({ success: false, error: `Chunk concat error: ${err.message}` });
|
|
30459
30459
|
});
|
|
30460
30460
|
});
|
|
30461
30461
|
if (!concatResult.success) {
|
|
@@ -30557,37 +30557,37 @@ import { dirname as dirname8 } from "path";
|
|
|
30557
30557
|
function createFrameReorderBuffer(startFrame, endFrame) {
|
|
30558
30558
|
let cursor = startFrame;
|
|
30559
30559
|
const pending = /* @__PURE__ */ new Map();
|
|
30560
|
-
const enqueueAt = (frame,
|
|
30560
|
+
const enqueueAt = (frame, resolve45) => {
|
|
30561
30561
|
const list = pending.get(frame);
|
|
30562
30562
|
if (list === void 0) {
|
|
30563
|
-
pending.set(frame, [
|
|
30563
|
+
pending.set(frame, [resolve45]);
|
|
30564
30564
|
} else {
|
|
30565
|
-
list.push(
|
|
30565
|
+
list.push(resolve45);
|
|
30566
30566
|
}
|
|
30567
30567
|
};
|
|
30568
30568
|
const flushAt = (frame) => {
|
|
30569
30569
|
const list = pending.get(frame);
|
|
30570
30570
|
if (list === void 0) return;
|
|
30571
30571
|
pending.delete(frame);
|
|
30572
|
-
for (const
|
|
30572
|
+
for (const resolve45 of list) resolve45();
|
|
30573
30573
|
};
|
|
30574
|
-
const waitForFrame = (frame) => new Promise((
|
|
30574
|
+
const waitForFrame = (frame) => new Promise((resolve45) => {
|
|
30575
30575
|
if (frame === cursor) {
|
|
30576
|
-
|
|
30576
|
+
resolve45();
|
|
30577
30577
|
return;
|
|
30578
30578
|
}
|
|
30579
|
-
enqueueAt(frame,
|
|
30579
|
+
enqueueAt(frame, resolve45);
|
|
30580
30580
|
});
|
|
30581
30581
|
const advanceTo = (frame) => {
|
|
30582
30582
|
cursor = frame;
|
|
30583
30583
|
flushAt(frame);
|
|
30584
30584
|
};
|
|
30585
|
-
const waitForAllDone = () => new Promise((
|
|
30585
|
+
const waitForAllDone = () => new Promise((resolve45) => {
|
|
30586
30586
|
if (cursor >= endFrame) {
|
|
30587
|
-
|
|
30587
|
+
resolve45();
|
|
30588
30588
|
return;
|
|
30589
30589
|
}
|
|
30590
|
-
enqueueAt(endFrame,
|
|
30590
|
+
enqueueAt(endFrame, resolve45);
|
|
30591
30591
|
});
|
|
30592
30592
|
return { waitForFrame, advanceTo, waitForAllDone };
|
|
30593
30593
|
}
|
|
@@ -30768,7 +30768,7 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
|
|
|
30768
30768
|
let stderr = "";
|
|
30769
30769
|
let exitCode = null;
|
|
30770
30770
|
let exitPromiseResolve = null;
|
|
30771
|
-
const exitPromise = new Promise((
|
|
30771
|
+
const exitPromise = new Promise((resolve45) => exitPromiseResolve = resolve45);
|
|
30772
30772
|
ffmpeg.stderr?.on("data", (data) => {
|
|
30773
30773
|
stderr += data.toString();
|
|
30774
30774
|
});
|
|
@@ -30828,8 +30828,8 @@ Process error: ${err.message}`;
|
|
|
30828
30828
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30829
30829
|
const stdin = ffmpeg.stdin;
|
|
30830
30830
|
if (stdin && !stdin.destroyed) {
|
|
30831
|
-
await new Promise((
|
|
30832
|
-
stdin.end(() =>
|
|
30831
|
+
await new Promise((resolve45) => {
|
|
30832
|
+
stdin.end(() => resolve45());
|
|
30833
30833
|
});
|
|
30834
30834
|
}
|
|
30835
30835
|
await exitPromise;
|
|
@@ -30873,7 +30873,7 @@ import { spawn as spawn8 } from "child_process";
|
|
|
30873
30873
|
import { readFileSync as readFileSync18 } from "fs";
|
|
30874
30874
|
import { extname as extname5 } from "path";
|
|
30875
30875
|
function runFfprobe(args) {
|
|
30876
|
-
return new Promise((
|
|
30876
|
+
return new Promise((resolve45, reject) => {
|
|
30877
30877
|
const proc = spawn8("ffprobe", args);
|
|
30878
30878
|
let stdout2 = "";
|
|
30879
30879
|
let stderr = "";
|
|
@@ -30887,7 +30887,7 @@ function runFfprobe(args) {
|
|
|
30887
30887
|
if (code !== 0) {
|
|
30888
30888
|
reject(new Error(`[FFmpeg] ffprobe exited with code ${code}: ${stderr}`));
|
|
30889
30889
|
} else {
|
|
30890
|
-
|
|
30890
|
+
resolve45(stdout2);
|
|
30891
30891
|
}
|
|
30892
30892
|
});
|
|
30893
30893
|
proc.on("error", (err) => {
|
|
@@ -31738,9 +31738,165 @@ var init_staticGuard = __esm({
|
|
|
31738
31738
|
}
|
|
31739
31739
|
});
|
|
31740
31740
|
|
|
31741
|
+
// ../core/src/compiler/inlineSubCompositions.ts
|
|
31742
|
+
function defaultBuildScopeSelector(compId) {
|
|
31743
|
+
const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
31744
|
+
return `[data-composition-id="${escaped}"]`;
|
|
31745
|
+
}
|
|
31746
|
+
function inlineSubCompositions(document2, hosts, options) {
|
|
31747
|
+
const {
|
|
31748
|
+
resolveHtml,
|
|
31749
|
+
parseHtml: parseHtml2,
|
|
31750
|
+
hostIdentityMap,
|
|
31751
|
+
rewriteInlineStyles = false,
|
|
31752
|
+
flattenInnerRoot,
|
|
31753
|
+
readVariableDefaults,
|
|
31754
|
+
parseHostVariables,
|
|
31755
|
+
buildScopeSelector = defaultBuildScopeSelector,
|
|
31756
|
+
scriptErrorLabel = "[HyperFrames] composition script error:",
|
|
31757
|
+
onMissingComposition
|
|
31758
|
+
} = options;
|
|
31759
|
+
const styles = [];
|
|
31760
|
+
const scripts = [];
|
|
31761
|
+
const externalScriptSrcs = [];
|
|
31762
|
+
const variablesByComp = {};
|
|
31763
|
+
for (const hostEl of hosts) {
|
|
31764
|
+
const src = hostEl.getAttribute("data-composition-src");
|
|
31765
|
+
if (!src) continue;
|
|
31766
|
+
const compHtml = resolveHtml(src);
|
|
31767
|
+
if (compHtml == null) {
|
|
31768
|
+
if (onMissingComposition) {
|
|
31769
|
+
onMissingComposition(src);
|
|
31770
|
+
}
|
|
31771
|
+
continue;
|
|
31772
|
+
}
|
|
31773
|
+
const compDoc = parseHtml2(compHtml);
|
|
31774
|
+
let compId;
|
|
31775
|
+
let runtimeCompId;
|
|
31776
|
+
if (hostIdentityMap) {
|
|
31777
|
+
const identity = hostIdentityMap.get(hostEl);
|
|
31778
|
+
compId = identity?.authoredCompositionId || null;
|
|
31779
|
+
runtimeCompId = identity?.runtimeCompositionId || compId || "";
|
|
31780
|
+
} else {
|
|
31781
|
+
compId = hostEl.getAttribute("data-composition-id") || null;
|
|
31782
|
+
runtimeCompId = compId || "";
|
|
31783
|
+
}
|
|
31784
|
+
const contentRoot = compDoc.querySelector("template");
|
|
31785
|
+
const contentHtml = contentRoot ? contentRoot.innerHTML || "" : compDoc.body?.innerHTML || "";
|
|
31786
|
+
const contentDoc = parseHtml2(contentHtml);
|
|
31787
|
+
const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
|
|
31788
|
+
const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || "";
|
|
31789
|
+
const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
|
|
31790
|
+
const scopeCompId = compId || inferredCompId;
|
|
31791
|
+
const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
|
|
31792
|
+
if (readVariableDefaults && parseHostVariables && runtimeCompId) {
|
|
31793
|
+
const mergedVariables = {
|
|
31794
|
+
...readVariableDefaults(compDoc.documentElement),
|
|
31795
|
+
...parseHostVariables(hostEl)
|
|
31796
|
+
};
|
|
31797
|
+
if (Object.keys(mergedVariables).length > 0) {
|
|
31798
|
+
variablesByComp[runtimeCompId] = mergedVariables;
|
|
31799
|
+
}
|
|
31800
|
+
}
|
|
31801
|
+
if (!contentRoot && compDoc.head) {
|
|
31802
|
+
for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
|
|
31803
|
+
const css = rewriteCssAssetUrls(s2.textContent || "", src);
|
|
31804
|
+
styles.push(
|
|
31805
|
+
scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope || void 0, authoredRootId) : css
|
|
31806
|
+
);
|
|
31807
|
+
}
|
|
31808
|
+
for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
|
|
31809
|
+
const externalSrc = (s2.getAttribute("src") || "").trim();
|
|
31810
|
+
if (externalSrc && !externalScriptSrcs.includes(externalSrc)) {
|
|
31811
|
+
externalScriptSrcs.push(externalSrc);
|
|
31812
|
+
}
|
|
31813
|
+
}
|
|
31814
|
+
}
|
|
31815
|
+
for (const s2 of [...contentDoc.querySelectorAll("style")]) {
|
|
31816
|
+
const css = rewriteCssAssetUrls(s2.textContent || "", src);
|
|
31817
|
+
styles.push(
|
|
31818
|
+
scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope || void 0, authoredRootId) : css
|
|
31819
|
+
);
|
|
31820
|
+
s2.remove();
|
|
31821
|
+
}
|
|
31822
|
+
for (const s2 of [...contentDoc.querySelectorAll("script")]) {
|
|
31823
|
+
const externalSrc = (s2.getAttribute("src") || "").trim();
|
|
31824
|
+
if (externalSrc) {
|
|
31825
|
+
if (!externalScriptSrcs.includes(externalSrc)) {
|
|
31826
|
+
externalScriptSrcs.push(externalSrc);
|
|
31827
|
+
}
|
|
31828
|
+
} else {
|
|
31829
|
+
scripts.push(
|
|
31830
|
+
scopeCompId ? wrapScopedCompositionScript(
|
|
31831
|
+
s2.textContent || "",
|
|
31832
|
+
scopeCompId,
|
|
31833
|
+
scriptErrorLabel,
|
|
31834
|
+
runtimeScope || void 0,
|
|
31835
|
+
runtimeCompId || scopeCompId,
|
|
31836
|
+
authoredRootId
|
|
31837
|
+
) : `(function(){ try { ${s2.textContent || ""} } catch (_err) { console.error(${JSON.stringify(scriptErrorLabel)}, _err); } })();`
|
|
31838
|
+
);
|
|
31839
|
+
}
|
|
31840
|
+
s2.remove();
|
|
31841
|
+
}
|
|
31842
|
+
const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
|
|
31843
|
+
rewriteAssetPaths(
|
|
31844
|
+
assetEls,
|
|
31845
|
+
src,
|
|
31846
|
+
(el, attr) => el.getAttribute(attr),
|
|
31847
|
+
(el, attr, val) => {
|
|
31848
|
+
el.setAttribute(attr, val);
|
|
31849
|
+
}
|
|
31850
|
+
);
|
|
31851
|
+
if (rewriteInlineStyles) {
|
|
31852
|
+
const styledEls = innerRoot ? innerRoot.querySelectorAll("[style]") : contentDoc.querySelectorAll("[style]");
|
|
31853
|
+
rewriteInlineStyleAssetUrls(
|
|
31854
|
+
styledEls,
|
|
31855
|
+
src,
|
|
31856
|
+
(el) => el.getAttribute("style"),
|
|
31857
|
+
(el, val) => {
|
|
31858
|
+
el.setAttribute("style", val);
|
|
31859
|
+
}
|
|
31860
|
+
);
|
|
31861
|
+
}
|
|
31862
|
+
if (innerRoot) {
|
|
31863
|
+
const innerW = innerRoot.getAttribute("data-width");
|
|
31864
|
+
const innerH = innerRoot.getAttribute("data-height");
|
|
31865
|
+
if (innerW && !hostEl.getAttribute("data-width")) hostEl.setAttribute("data-width", innerW);
|
|
31866
|
+
if (innerH && !hostEl.getAttribute("data-height")) {
|
|
31867
|
+
hostEl.setAttribute("data-height", innerH);
|
|
31868
|
+
}
|
|
31869
|
+
}
|
|
31870
|
+
if (innerRoot) {
|
|
31871
|
+
innerRoot.setAttribute("data-composition-file", src);
|
|
31872
|
+
for (const child of [...innerRoot.querySelectorAll("style, script")]) child.remove();
|
|
31873
|
+
if (flattenInnerRoot) {
|
|
31874
|
+
const prepared = flattenInnerRoot(innerRoot);
|
|
31875
|
+
hostEl.innerHTML = prepared.outerHTML || "";
|
|
31876
|
+
} else {
|
|
31877
|
+
hostEl.innerHTML = compId ? innerRoot.innerHTML || "" : innerRoot.outerHTML || "";
|
|
31878
|
+
}
|
|
31879
|
+
} else {
|
|
31880
|
+
for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
|
|
31881
|
+
const bodyHtml = contentDoc.body?.innerHTML || "";
|
|
31882
|
+
hostEl.innerHTML = bodyHtml || contentDoc.documentElement?.outerHTML || "";
|
|
31883
|
+
}
|
|
31884
|
+
hostEl.setAttribute("data-composition-file", src);
|
|
31885
|
+
hostEl.removeAttribute("data-composition-src");
|
|
31886
|
+
}
|
|
31887
|
+
return { styles, scripts, externalScriptSrcs, variablesByComp };
|
|
31888
|
+
}
|
|
31889
|
+
var init_inlineSubCompositions = __esm({
|
|
31890
|
+
"../core/src/compiler/inlineSubCompositions.ts"() {
|
|
31891
|
+
"use strict";
|
|
31892
|
+
init_rewriteSubCompPaths();
|
|
31893
|
+
init_compositionScoping();
|
|
31894
|
+
}
|
|
31895
|
+
});
|
|
31896
|
+
|
|
31741
31897
|
// ../core/src/compiler/htmlBundler.ts
|
|
31742
31898
|
import { readFileSync as readFileSync19, existsSync as existsSync23 } from "fs";
|
|
31743
|
-
import { join as join26, resolve as resolve14, isAbsolute as isAbsolute3, sep as sep3 } from "path";
|
|
31899
|
+
import { join as join26, resolve as resolve14, relative as relative3, dirname as dirname9, isAbsolute as isAbsolute3, sep as sep3 } from "path";
|
|
31744
31900
|
import { transformSync } from "esbuild";
|
|
31745
31901
|
function safePath(projectDir, relativePath) {
|
|
31746
31902
|
const resolved = resolve14(projectDir, relativePath);
|
|
@@ -31794,6 +31950,70 @@ function safeReadFile(filePath) {
|
|
|
31794
31950
|
return null;
|
|
31795
31951
|
}
|
|
31796
31952
|
}
|
|
31953
|
+
function withCommentsStripped(css, fn) {
|
|
31954
|
+
const comments = [];
|
|
31955
|
+
const stripped = css.replace(CSS_COMMENT_RE, (m2) => {
|
|
31956
|
+
const idx = comments.length;
|
|
31957
|
+
comments.push(m2);
|
|
31958
|
+
return `/*__hf_c${idx}__*/`;
|
|
31959
|
+
});
|
|
31960
|
+
const result = fn(stripped);
|
|
31961
|
+
const restore = (s2) => {
|
|
31962
|
+
let out = s2;
|
|
31963
|
+
for (let i2 = 0; i2 < comments.length; i2++) {
|
|
31964
|
+
out = out.replace(`/*__hf_c${i2}__*/`, comments[i2]);
|
|
31965
|
+
}
|
|
31966
|
+
return out;
|
|
31967
|
+
};
|
|
31968
|
+
return { result, restore };
|
|
31969
|
+
}
|
|
31970
|
+
function rebaseCssUrls(css, cssFileDir, projectDir) {
|
|
31971
|
+
const resolvedRoot = resolve14(projectDir);
|
|
31972
|
+
const resolvedDir = resolve14(cssFileDir);
|
|
31973
|
+
if (resolvedDir === resolvedRoot) return css;
|
|
31974
|
+
return css.replace(REBASE_URL_RE, (full, quote, urlValue) => {
|
|
31975
|
+
if (!urlValue || !isRelativeUrl(urlValue)) return full;
|
|
31976
|
+
const { basePath, suffix } = splitUrlSuffix(urlValue.trim());
|
|
31977
|
+
if (!basePath) return full;
|
|
31978
|
+
const absolutePath = resolve14(resolvedDir, basePath);
|
|
31979
|
+
const rebased = relative3(resolvedRoot, absolutePath).split(sep3).join("/");
|
|
31980
|
+
if (rebased === basePath) return full;
|
|
31981
|
+
return `url(${quote || ""}${rebased}${suffix}${quote || ""})`;
|
|
31982
|
+
});
|
|
31983
|
+
}
|
|
31984
|
+
function inlineCssFile(css, cssFileDir, projectDir, visited = /* @__PURE__ */ new Set()) {
|
|
31985
|
+
const { result: strippedCss, restore: restoreComments } = withCommentsStripped(css, (s2) => s2);
|
|
31986
|
+
const importPlaceholders = [];
|
|
31987
|
+
const withPlaceholders = strippedCss.replace(
|
|
31988
|
+
CSS_IMPORT_RE,
|
|
31989
|
+
(full, _q1, urlPath, _q2, barePath, mediaQuery) => {
|
|
31990
|
+
const importPath = urlPath ?? barePath;
|
|
31991
|
+
if (!importPath || !isRelativeUrl(importPath)) return full;
|
|
31992
|
+
const resolved = resolve14(cssFileDir, importPath);
|
|
31993
|
+
const normalizedBase = resolve14(projectDir) + sep3;
|
|
31994
|
+
if (!resolved.startsWith(normalizedBase)) return full;
|
|
31995
|
+
if (visited.has(resolved)) return "";
|
|
31996
|
+
const content = safeReadFile(resolved);
|
|
31997
|
+
if (content == null) return full;
|
|
31998
|
+
visited.add(resolved);
|
|
31999
|
+
const inlined = inlineCssFile(content, dirname9(resolved), projectDir, visited);
|
|
32000
|
+
const trimmedMedia = (mediaQuery || "").trim();
|
|
32001
|
+
const block = trimmedMedia ? `@media ${trimmedMedia} {
|
|
32002
|
+
${inlined}
|
|
32003
|
+
}
|
|
32004
|
+
` : inlined + "\n";
|
|
32005
|
+
const idx = importPlaceholders.length;
|
|
32006
|
+
importPlaceholders.push(block);
|
|
32007
|
+
return `/*__hf_import_${idx}__*/`;
|
|
32008
|
+
}
|
|
32009
|
+
);
|
|
32010
|
+
let rebased = rebaseCssUrls(withPlaceholders, cssFileDir, projectDir);
|
|
32011
|
+
rebased = restoreComments(rebased);
|
|
32012
|
+
for (let i2 = 0; i2 < importPlaceholders.length; i2++) {
|
|
32013
|
+
rebased = rebased.replace(`/*__hf_import_${i2}__*/`, importPlaceholders[i2]);
|
|
32014
|
+
}
|
|
32015
|
+
return rebased;
|
|
32016
|
+
}
|
|
31797
32017
|
function safeReadFileBuffer(filePath) {
|
|
31798
32018
|
if (!existsSync23(filePath)) return null;
|
|
31799
32019
|
try {
|
|
@@ -32107,9 +32327,10 @@ async function bundleToSingleHtml(projectDir, options) {
|
|
|
32107
32327
|
const href = el.getAttribute("href");
|
|
32108
32328
|
if (!href || !isRelativeUrl(href)) continue;
|
|
32109
32329
|
const cssPath = safePath(projectDir, href);
|
|
32110
|
-
|
|
32330
|
+
if (!cssPath) continue;
|
|
32331
|
+
const css = safeReadFile(cssPath);
|
|
32111
32332
|
if (css == null) continue;
|
|
32112
|
-
localCssChunks.push(css);
|
|
32333
|
+
localCssChunks.push(inlineCssFile(css, dirname9(cssPath), projectDir));
|
|
32113
32334
|
if (!cssAnchorPlaced) {
|
|
32114
32335
|
const anchor = document2.createElement("style");
|
|
32115
32336
|
anchor.setAttribute("data-hf-bundled-local-css", "1");
|
|
@@ -32160,118 +32381,35 @@ async function bundleToSingleHtml(projectDir, options) {
|
|
|
32160
32381
|
document2.body.appendChild(script);
|
|
32161
32382
|
}
|
|
32162
32383
|
}
|
|
32163
|
-
const compStyleChunks = [];
|
|
32164
|
-
const compScriptChunks = [];
|
|
32165
|
-
const compExternalScriptSrcs = [];
|
|
32166
|
-
const compVariablesByComp = {};
|
|
32167
32384
|
const trackedCompositionHosts = getBundledTrackedCompositionHosts(document2);
|
|
32168
32385
|
const hostIdentityByElement = assignBundledRuntimeCompositionIds(trackedCompositionHosts);
|
|
32169
32386
|
const subCompositionHosts = trackedCompositionHosts.filter(
|
|
32170
32387
|
(host) => host.hasAttribute("data-composition-src")
|
|
32171
32388
|
);
|
|
32172
|
-
|
|
32173
|
-
|
|
32174
|
-
|
|
32175
|
-
|
|
32176
|
-
|
|
32177
|
-
|
|
32178
|
-
|
|
32179
|
-
|
|
32180
|
-
|
|
32181
|
-
|
|
32182
|
-
|
|
32183
|
-
|
|
32184
|
-
|
|
32185
|
-
|
|
32186
|
-
|
|
32187
|
-
|
|
32188
|
-
const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
|
|
32189
|
-
const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || "";
|
|
32190
|
-
const authoredRootId = innerRoot?.getAttribute("id")?.trim() || null;
|
|
32191
|
-
const scopeCompId = compId || inferredCompId;
|
|
32192
|
-
const runtimeScope = runtimeCompId ? cssAttributeSelector("data-composition-id", runtimeCompId) : "";
|
|
32193
|
-
const mergedVariables = runtimeCompId ? {
|
|
32194
|
-
...readDeclaredDefaults(compDoc.documentElement),
|
|
32195
|
-
...parseHostVariableValues(hostEl)
|
|
32196
|
-
} : {};
|
|
32197
|
-
if (runtimeCompId && Object.keys(mergedVariables).length > 0) {
|
|
32198
|
-
compVariablesByComp[runtimeCompId] = mergedVariables;
|
|
32199
|
-
}
|
|
32200
|
-
if (!contentRoot && compDoc.head) {
|
|
32201
|
-
for (const s2 of [...compDoc.head.querySelectorAll("style")]) {
|
|
32202
|
-
const css = rewriteCssAssetUrls(s2.textContent || "", src);
|
|
32203
|
-
compStyleChunks.push(
|
|
32204
|
-
scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope, authoredRootId) : css
|
|
32205
|
-
);
|
|
32206
|
-
}
|
|
32207
|
-
for (const s2 of [...compDoc.head.querySelectorAll("script")]) {
|
|
32208
|
-
const externalSrc = (s2.getAttribute("src") || "").trim();
|
|
32209
|
-
if (externalSrc && !compExternalScriptSrcs.includes(externalSrc)) {
|
|
32210
|
-
compExternalScriptSrcs.push(externalSrc);
|
|
32211
|
-
}
|
|
32212
|
-
}
|
|
32213
|
-
}
|
|
32214
|
-
for (const s2 of [...contentDoc.querySelectorAll("style")]) {
|
|
32215
|
-
const css = rewriteCssAssetUrls(s2.textContent || "", src);
|
|
32216
|
-
compStyleChunks.push(
|
|
32217
|
-
scopeCompId ? scopeCssToComposition(css, scopeCompId, runtimeScope, authoredRootId) : css
|
|
32218
|
-
);
|
|
32219
|
-
s2.remove();
|
|
32220
|
-
}
|
|
32221
|
-
for (const s2 of [...contentDoc.querySelectorAll("script")]) {
|
|
32222
|
-
const externalSrc = (s2.getAttribute("src") || "").trim();
|
|
32223
|
-
if (externalSrc) {
|
|
32224
|
-
if (!compExternalScriptSrcs.includes(externalSrc)) {
|
|
32225
|
-
compExternalScriptSrcs.push(externalSrc);
|
|
32226
|
-
}
|
|
32227
|
-
} else {
|
|
32228
|
-
compScriptChunks.push(
|
|
32229
|
-
scopeCompId ? wrapScopedCompositionScript(
|
|
32230
|
-
s2.textContent || "",
|
|
32231
|
-
scopeCompId,
|
|
32232
|
-
"[HyperFrames] composition script error:",
|
|
32233
|
-
runtimeScope,
|
|
32234
|
-
runtimeCompId || scopeCompId,
|
|
32235
|
-
authoredRootId
|
|
32236
|
-
) : `(function(){ try { ${s2.textContent || ""} } catch (_err) { console.error('[HyperFrames] composition script error:', _err); } })();`
|
|
32237
|
-
);
|
|
32238
|
-
}
|
|
32239
|
-
s2.remove();
|
|
32240
|
-
}
|
|
32241
|
-
const assetEls = innerRoot ? innerRoot.querySelectorAll("[src], [href]") : contentDoc.querySelectorAll("[src], [href]");
|
|
32242
|
-
rewriteAssetPaths(
|
|
32243
|
-
assetEls,
|
|
32244
|
-
src,
|
|
32245
|
-
(el, attr) => el.getAttribute(attr),
|
|
32246
|
-
(el, attr, val) => {
|
|
32247
|
-
el.setAttribute(attr, val);
|
|
32248
|
-
}
|
|
32249
|
-
);
|
|
32250
|
-
const styledEls = innerRoot ? innerRoot.querySelectorAll("[style]") : contentDoc.querySelectorAll("[style]");
|
|
32251
|
-
rewriteInlineStyleAssetUrls(
|
|
32252
|
-
styledEls,
|
|
32253
|
-
src,
|
|
32254
|
-
(el) => el.getAttribute("style"),
|
|
32255
|
-
(el, val) => {
|
|
32256
|
-
el.setAttribute("style", val);
|
|
32257
|
-
}
|
|
32258
|
-
);
|
|
32259
|
-
if (innerRoot) {
|
|
32260
|
-
const innerW = innerRoot.getAttribute("data-width");
|
|
32261
|
-
const innerH = innerRoot.getAttribute("data-height");
|
|
32262
|
-
if (innerW && !hostEl.getAttribute("data-width")) hostEl.setAttribute("data-width", innerW);
|
|
32263
|
-
if (innerH && !hostEl.getAttribute("data-height")) hostEl.setAttribute("data-height", innerH);
|
|
32264
|
-
innerRoot.setAttribute("data-composition-file", src);
|
|
32265
|
-
for (const child of [...innerRoot.querySelectorAll("style, script")]) child.remove();
|
|
32266
|
-
const preparedInnerRoot = prepareFlattenedInnerRoot(innerRoot);
|
|
32267
|
-
hostEl.innerHTML = preparedInnerRoot.outerHTML || "";
|
|
32268
|
-
} else {
|
|
32269
|
-
for (const child of [...contentDoc.querySelectorAll("style, script")]) child.remove();
|
|
32270
|
-
hostEl.innerHTML = contentDoc.body.innerHTML || "";
|
|
32389
|
+
const subCompResult = inlineSubCompositions(document2, subCompositionHosts, {
|
|
32390
|
+
resolveHtml: (srcPath) => {
|
|
32391
|
+
if (!isRelativeUrl(srcPath)) return null;
|
|
32392
|
+
const compPath = safePath(projectDir, srcPath);
|
|
32393
|
+
return compPath ? safeReadFile(compPath) : null;
|
|
32394
|
+
},
|
|
32395
|
+
parseHtml: parseHTMLContent,
|
|
32396
|
+
hostIdentityMap: hostIdentityByElement,
|
|
32397
|
+
rewriteInlineStyles: true,
|
|
32398
|
+
flattenInnerRoot: prepareFlattenedInnerRoot,
|
|
32399
|
+
readVariableDefaults: readDeclaredDefaults,
|
|
32400
|
+
parseHostVariables: parseHostVariableValues,
|
|
32401
|
+
buildScopeSelector: (compId) => cssAttributeSelector("data-composition-id", compId),
|
|
32402
|
+
scriptErrorLabel: "[HyperFrames] composition script error:",
|
|
32403
|
+
onMissingComposition: (srcPath) => {
|
|
32404
|
+
console.warn(`[Bundler] Composition file not found: ${srcPath}`);
|
|
32271
32405
|
}
|
|
32272
|
-
|
|
32273
|
-
|
|
32274
|
-
|
|
32406
|
+
});
|
|
32407
|
+
const compStyleChunks = [...subCompResult.styles];
|
|
32408
|
+
const compScriptChunks = [...subCompResult.scripts];
|
|
32409
|
+
const compExternalScriptSrcs = [...subCompResult.externalScriptSrcs];
|
|
32410
|
+
const compVariablesByComp = {
|
|
32411
|
+
...subCompResult.variablesByComp
|
|
32412
|
+
};
|
|
32275
32413
|
const candidateInlineHosts = trackedCompositionHosts.filter(
|
|
32276
32414
|
(host) => !host.hasAttribute("data-composition-src")
|
|
32277
32415
|
);
|
|
@@ -32409,18 +32547,21 @@ async function bundleToSingleHtml(projectDir, options) {
|
|
|
32409
32547
|
}
|
|
32410
32548
|
return document2.toString();
|
|
32411
32549
|
}
|
|
32412
|
-
var DEFAULT_RUNTIME_SCRIPT_URL, FLATTENED_INNER_ROOT_STRIP_ATTRS;
|
|
32550
|
+
var DEFAULT_RUNTIME_SCRIPT_URL, CSS_IMPORT_RE, REBASE_URL_RE, CSS_COMMENT_RE, FLATTENED_INNER_ROOT_STRIP_ATTRS;
|
|
32413
32551
|
var init_htmlBundler = __esm({
|
|
32414
32552
|
"../core/src/compiler/htmlBundler.ts"() {
|
|
32415
32553
|
"use strict";
|
|
32416
32554
|
init_htmlCompiler();
|
|
32417
32555
|
init_htmlDocument();
|
|
32418
|
-
init_rewriteSubCompPaths();
|
|
32419
32556
|
init_compositionScoping();
|
|
32420
32557
|
init_staticGuard();
|
|
32421
32558
|
init_runtime_inline();
|
|
32422
32559
|
init_getVariables();
|
|
32560
|
+
init_inlineSubCompositions();
|
|
32423
32561
|
DEFAULT_RUNTIME_SCRIPT_URL = "";
|
|
32562
|
+
CSS_IMPORT_RE = /@import\s+(?:url\(\s*(["']?)([^)"']+)\1\s*\)|(["'])([^"']+)\3)\s*([^;]*);\s*/g;
|
|
32563
|
+
REBASE_URL_RE = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
|
|
32564
|
+
CSS_COMMENT_RE = /\/\*[\s\S]*?\*\//g;
|
|
32424
32565
|
FLATTENED_INNER_ROOT_STRIP_ATTRS = [
|
|
32425
32566
|
"data-composition-id",
|
|
32426
32567
|
"data-composition-file",
|
|
@@ -32448,6 +32589,7 @@ __export(compiler_exports, {
|
|
|
32448
32589
|
injectDurations: () => injectDurations,
|
|
32449
32590
|
injectScriptsAtHeadStart: () => injectScriptsAtHeadStart,
|
|
32450
32591
|
injectScriptsIntoHtml: () => injectScriptsIntoHtml,
|
|
32592
|
+
inlineSubCompositions: () => inlineSubCompositions,
|
|
32451
32593
|
parseHTMLContent: () => parseHTMLContent,
|
|
32452
32594
|
scopeCssToComposition: () => scopeCssToComposition,
|
|
32453
32595
|
shouldClampMediaDuration: () => shouldClampMediaDuration,
|
|
@@ -32464,6 +32606,7 @@ var init_compiler = __esm({
|
|
|
32464
32606
|
init_htmlDocument();
|
|
32465
32607
|
init_staticGuard();
|
|
32466
32608
|
init_compositionScoping();
|
|
32609
|
+
init_inlineSubCompositions();
|
|
32467
32610
|
}
|
|
32468
32611
|
});
|
|
32469
32612
|
|
|
@@ -32675,7 +32818,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
32675
32818
|
args.push("-q:v", format === "jpg" ? String(Math.ceil((100 - quality) / 3)) : "0");
|
|
32676
32819
|
if (format === "png") args.push("-compression_level", "6");
|
|
32677
32820
|
args.push("-y", outputPattern);
|
|
32678
|
-
return new Promise((
|
|
32821
|
+
return new Promise((resolve45, reject) => {
|
|
32679
32822
|
const ffmpeg = spawn9("ffmpeg", args);
|
|
32680
32823
|
let stderr = "";
|
|
32681
32824
|
const onAbort = () => {
|
|
@@ -32710,7 +32853,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
32710
32853
|
files.forEach((file, index) => {
|
|
32711
32854
|
framePaths.set(index, join28(videoOutputDir, file));
|
|
32712
32855
|
});
|
|
32713
|
-
|
|
32856
|
+
resolve45({
|
|
32714
32857
|
videoId,
|
|
32715
32858
|
srcPath: videoPath,
|
|
32716
32859
|
outputDir: videoOutputDir,
|
|
@@ -33645,7 +33788,7 @@ var init_videoFrameInjector = __esm({
|
|
|
33645
33788
|
|
|
33646
33789
|
// ../engine/src/services/audioMixer.ts
|
|
33647
33790
|
import { existsSync as existsSync26, mkdirSync as mkdirSync16, rmSync as rmSync6 } from "fs";
|
|
33648
|
-
import { isAbsolute as isAbsolute5, join as join29, dirname as
|
|
33791
|
+
import { isAbsolute as isAbsolute5, join as join29, dirname as dirname10 } from "path";
|
|
33649
33792
|
function parseAudioElements(html) {
|
|
33650
33793
|
const elements = [];
|
|
33651
33794
|
const { document: document2 } = parseHTML(unwrapTemplate(html));
|
|
@@ -33695,7 +33838,7 @@ function parseAudioElements(html) {
|
|
|
33695
33838
|
}
|
|
33696
33839
|
async function extractAudioFromVideo(videoPath, outputPath, options, signal, config) {
|
|
33697
33840
|
const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
|
|
33698
|
-
const outputDir =
|
|
33841
|
+
const outputDir = dirname10(outputPath);
|
|
33699
33842
|
if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
|
|
33700
33843
|
const args = ["-i", videoPath];
|
|
33701
33844
|
if (options?.startTime !== void 0) args.push("-ss", String(options.startTime));
|
|
@@ -33722,7 +33865,7 @@ async function extractAudioFromVideo(videoPath, outputPath, options, signal, con
|
|
|
33722
33865
|
}
|
|
33723
33866
|
async function prepareAudioTrack(srcPath, outputPath, mediaStart, duration, signal, config) {
|
|
33724
33867
|
const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
|
|
33725
|
-
const outputDir =
|
|
33868
|
+
const outputDir = dirname10(outputPath);
|
|
33726
33869
|
if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
|
|
33727
33870
|
const args = [
|
|
33728
33871
|
"-ss",
|
|
@@ -33758,7 +33901,7 @@ async function prepareAudioTrack(srcPath, outputPath, mediaStart, duration, sign
|
|
|
33758
33901
|
}
|
|
33759
33902
|
async function generateSilence(outputPath, duration, signal, config) {
|
|
33760
33903
|
const ffmpegProcessTimeout = config?.ffmpegProcessTimeout ?? DEFAULT_CONFIG2.ffmpegProcessTimeout;
|
|
33761
|
-
const outputDir =
|
|
33904
|
+
const outputDir = dirname10(outputPath);
|
|
33762
33905
|
if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
|
|
33763
33906
|
const args = [
|
|
33764
33907
|
"-f",
|
|
@@ -33801,7 +33944,7 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
33801
33944
|
error: result2.error
|
|
33802
33945
|
};
|
|
33803
33946
|
}
|
|
33804
|
-
const outputDir =
|
|
33947
|
+
const outputDir = dirname10(outputPath);
|
|
33805
33948
|
if (!existsSync26(outputDir)) mkdirSync16(outputDir, { recursive: true });
|
|
33806
33949
|
const inputs = [];
|
|
33807
33950
|
const filterParts = [];
|
|
@@ -34288,11 +34431,11 @@ function createFileServer(options) {
|
|
|
34288
34431
|
headers: { "Content-Type": contentType }
|
|
34289
34432
|
});
|
|
34290
34433
|
});
|
|
34291
|
-
return new Promise((
|
|
34434
|
+
return new Promise((resolve45) => {
|
|
34292
34435
|
const server = serve({ fetch: app.fetch, port }, (info) => {
|
|
34293
34436
|
const actualPort = info.port;
|
|
34294
34437
|
const url = `http://localhost:${actualPort}`;
|
|
34295
|
-
|
|
34438
|
+
resolve45({
|
|
34296
34439
|
url,
|
|
34297
34440
|
port: actualPort,
|
|
34298
34441
|
close: () => server.close()
|
|
@@ -36378,7 +36521,7 @@ var init_deterministicFonts = __esm({
|
|
|
36378
36521
|
// ../producer/src/services/hyperframeRuntimeLoader.ts
|
|
36379
36522
|
import { createHash as createHash5 } from "crypto";
|
|
36380
36523
|
import { existsSync as existsSync31, readFileSync as readFileSync22 } from "fs";
|
|
36381
|
-
import { dirname as
|
|
36524
|
+
import { dirname as dirname11, resolve as resolve16 } from "path";
|
|
36382
36525
|
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
36383
36526
|
function resolveHyperframeManifestPath() {
|
|
36384
36527
|
if (process.env.PRODUCER_HYPERFRAME_MANIFEST_PATH) {
|
|
@@ -36414,7 +36557,7 @@ function resolveVerifiedHyperframeRuntime() {
|
|
|
36414
36557
|
`[HyperframeRuntimeLoader] Invalid manifest at ${manifestPath}; missing iife artifact or sha256.`
|
|
36415
36558
|
);
|
|
36416
36559
|
}
|
|
36417
|
-
const runtimePath = resolve16(
|
|
36560
|
+
const runtimePath = resolve16(dirname11(manifestPath), runtimeFileName);
|
|
36418
36561
|
if (!existsSync31(runtimePath)) {
|
|
36419
36562
|
throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
|
|
36420
36563
|
}
|
|
@@ -36437,7 +36580,7 @@ var PRODUCER_DIR, SIBLING_MANIFEST_PATH, MODULE_RELATIVE_MANIFEST_PATH, CWD_RELA
|
|
|
36437
36580
|
var init_hyperframeRuntimeLoader = __esm({
|
|
36438
36581
|
"../producer/src/services/hyperframeRuntimeLoader.ts"() {
|
|
36439
36582
|
"use strict";
|
|
36440
|
-
PRODUCER_DIR =
|
|
36583
|
+
PRODUCER_DIR = dirname11(fileURLToPath2(import.meta.url));
|
|
36441
36584
|
SIBLING_MANIFEST_PATH = resolve16(PRODUCER_DIR, "hyperframe.manifest.json");
|
|
36442
36585
|
MODULE_RELATIVE_MANIFEST_PATH = resolve16(
|
|
36443
36586
|
PRODUCER_DIR,
|
|
@@ -36667,10 +36810,10 @@ function createFileServer2(options) {
|
|
|
36667
36810
|
headers: { "Content-Type": contentType }
|
|
36668
36811
|
});
|
|
36669
36812
|
});
|
|
36670
|
-
return new Promise((
|
|
36813
|
+
return new Promise((resolve45) => {
|
|
36671
36814
|
const connections = /* @__PURE__ */ new Set();
|
|
36672
36815
|
const server = serve2({ fetch: app.fetch, port }, (info) => {
|
|
36673
|
-
|
|
36816
|
+
resolve45({
|
|
36674
36817
|
url: `http://localhost:${info.port}`,
|
|
36675
36818
|
port: info.port,
|
|
36676
36819
|
addPreHeadScript: (script) => {
|
|
@@ -36971,11 +37114,11 @@ import {
|
|
|
36971
37114
|
isAbsolute as nodeIsAbsolute
|
|
36972
37115
|
} from "path";
|
|
36973
37116
|
function isPathInside2(childPath, parentPath, options = {}) {
|
|
36974
|
-
const
|
|
37117
|
+
const resolvePath3 = options.pathModule?.resolve ?? nodeResolve;
|
|
36975
37118
|
const relativePath = options.pathModule?.relative ?? nodeRelative;
|
|
36976
37119
|
const isPathAbsolute = options.pathModule?.isAbsolute ?? nodeIsAbsolute;
|
|
36977
|
-
const absChild =
|
|
36978
|
-
const absParent =
|
|
37120
|
+
const absChild = resolvePath3(childPath);
|
|
37121
|
+
const absParent = resolvePath3(parentPath);
|
|
36979
37122
|
if (absChild === absParent) return true;
|
|
36980
37123
|
const rel = relativePath(absParent, absChild);
|
|
36981
37124
|
return rel !== "" && !rel.startsWith("..") && !isPathAbsolute(rel);
|
|
@@ -37007,7 +37150,7 @@ var init_paths = __esm({
|
|
|
37007
37150
|
|
|
37008
37151
|
// ../producer/src/services/render/shared.ts
|
|
37009
37152
|
import { copyFileSync as copyFileSync2, cpSync, existsSync as existsSync33, mkdirSync as mkdirSync19, symlinkSync, writeFileSync as writeFileSync15 } from "fs";
|
|
37010
|
-
import { basename as basename4, dirname as
|
|
37153
|
+
import { basename as basename4, dirname as dirname12, isAbsolute as isAbsolute6, join as join36, relative as relative4, resolve as resolve18 } from "path";
|
|
37011
37154
|
function projectBrowserEndToCompositionTimeline(existingStart, browserStart, browserEnd) {
|
|
37012
37155
|
return browserEnd + (existingStart - browserStart);
|
|
37013
37156
|
}
|
|
@@ -37048,7 +37191,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
|
37048
37191
|
writeFileSync15(join36(compileDir, "index.html"), compiled.html, "utf-8");
|
|
37049
37192
|
for (const [srcPath, html] of compiled.subCompositions) {
|
|
37050
37193
|
const outPath = join36(compileDir, srcPath);
|
|
37051
|
-
mkdirSync19(
|
|
37194
|
+
mkdirSync19(dirname12(outPath), { recursive: true });
|
|
37052
37195
|
writeFileSync15(outPath, html, "utf-8");
|
|
37053
37196
|
}
|
|
37054
37197
|
for (const [relativePath, absolutePath] of compiled.externalAssets) {
|
|
@@ -37057,7 +37200,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
|
37057
37200
|
console.warn(`[Render] Skipping external asset with unsafe path: ${relativePath}`);
|
|
37058
37201
|
continue;
|
|
37059
37202
|
}
|
|
37060
|
-
mkdirSync19(
|
|
37203
|
+
mkdirSync19(dirname12(outPath), { recursive: true });
|
|
37061
37204
|
copyFileSync2(absolutePath, outPath);
|
|
37062
37205
|
}
|
|
37063
37206
|
if (includeSummary) {
|
|
@@ -37108,7 +37251,7 @@ function createCompiledFrameSrcResolver(compiledDir) {
|
|
|
37108
37251
|
return (framePath) => {
|
|
37109
37252
|
const resolvedFramePath = resolve18(framePath);
|
|
37110
37253
|
if (!isPathInside2(resolvedFramePath, compiledRoot)) return null;
|
|
37111
|
-
const relativePath =
|
|
37254
|
+
const relativePath = relative4(compiledRoot, resolvedFramePath);
|
|
37112
37255
|
if (!relativePath || relativePath.startsWith("..") || isAbsolute6(relativePath)) {
|
|
37113
37256
|
return null;
|
|
37114
37257
|
}
|
|
@@ -37187,9 +37330,9 @@ var init_shared = __esm({
|
|
|
37187
37330
|
materializePathModule = {
|
|
37188
37331
|
resolve: resolve18,
|
|
37189
37332
|
join: join36,
|
|
37190
|
-
dirname:
|
|
37333
|
+
dirname: dirname12,
|
|
37191
37334
|
basename: basename4,
|
|
37192
|
-
relative:
|
|
37335
|
+
relative: relative4,
|
|
37193
37336
|
isAbsolute: isAbsolute6
|
|
37194
37337
|
};
|
|
37195
37338
|
materializeFileSystem = {
|
|
@@ -37730,7 +37873,7 @@ var init_urlDownloader2 = __esm({
|
|
|
37730
37873
|
|
|
37731
37874
|
// ../producer/src/services/htmlCompiler.ts
|
|
37732
37875
|
import { readFileSync as readFileSync24, existsSync as existsSync34, mkdirSync as mkdirSync20 } from "fs";
|
|
37733
|
-
import { join as join38, dirname as
|
|
37876
|
+
import { join as join38, dirname as dirname13, resolve as resolve19 } from "path";
|
|
37734
37877
|
function dedupeElementsById(elements) {
|
|
37735
37878
|
const deduped = /* @__PURE__ */ new Map();
|
|
37736
37879
|
for (const element of elements) {
|
|
@@ -37890,7 +38033,7 @@ async function parseSubCompositions(html, projectDir, downloadDir, parentOffset
|
|
|
37890
38033
|
workItems.map(async (item) => {
|
|
37891
38034
|
const { html: compiledSub } = await compileHtmlFile(
|
|
37892
38035
|
item.rawSubHtml,
|
|
37893
|
-
|
|
38036
|
+
dirname13(item.filePath),
|
|
37894
38037
|
downloadDir
|
|
37895
38038
|
);
|
|
37896
38039
|
const nested = await parseSubCompositions(
|
|
@@ -38052,107 +38195,31 @@ function coalesceHeadStylesAndBodyScripts2(html) {
|
|
|
38052
38195
|
}
|
|
38053
38196
|
return document2.toString();
|
|
38054
38197
|
}
|
|
38055
|
-
function
|
|
38198
|
+
function inlineSubCompositions2(html, subCompositions, projectDir) {
|
|
38056
38199
|
const { document: document2 } = parseHTML(html);
|
|
38057
38200
|
const head = document2.querySelector("head");
|
|
38058
38201
|
const body = document2.querySelector("body");
|
|
38059
|
-
const hosts = document2.querySelectorAll("[data-composition-src]");
|
|
38202
|
+
const hosts = Array.from(document2.querySelectorAll("[data-composition-src]"));
|
|
38060
38203
|
if (!hosts.length) return html;
|
|
38061
|
-
const
|
|
38062
|
-
|
|
38063
|
-
|
|
38064
|
-
|
|
38065
|
-
|
|
38066
|
-
|
|
38067
|
-
|
|
38068
|
-
|
|
38069
|
-
|
|
38070
|
-
|
|
38071
|
-
compHtml = readFileSync24(filePath, "utf-8");
|
|
38072
|
-
}
|
|
38073
|
-
}
|
|
38074
|
-
if (!compHtml) {
|
|
38075
|
-
continue;
|
|
38076
|
-
}
|
|
38077
|
-
const compDoc = parseHTML(compHtml).document;
|
|
38078
|
-
const compId = host.getAttribute("data-composition-id");
|
|
38079
|
-
const templateEl = compDoc.querySelector("template");
|
|
38080
|
-
const bodyEl = compDoc.querySelector("body");
|
|
38081
|
-
const contentHtml = templateEl ? templateEl.innerHTML || "" : bodyEl ? bodyEl.innerHTML || "" : compDoc.toString();
|
|
38082
|
-
const contentDoc = parseHTML(contentHtml).document;
|
|
38083
|
-
const innerRoot = compId ? contentDoc.querySelector(`[data-composition-id="${compId}"]`) : contentDoc.querySelector("[data-composition-id]");
|
|
38084
|
-
const inferredCompId = innerRoot?.getAttribute("data-composition-id")?.trim() || null;
|
|
38085
|
-
if (!templateEl) {
|
|
38086
|
-
const compHead = compDoc.querySelector("head");
|
|
38087
|
-
if (compHead) {
|
|
38088
|
-
for (const styleEl of compHead.querySelectorAll("style")) {
|
|
38089
|
-
const css = rewriteCssAssetUrls(styleEl.textContent || "", srcPath);
|
|
38090
|
-
const scopeId = compId || inferredCompId;
|
|
38091
|
-
if (scopeId && css.trim()) {
|
|
38092
|
-
collectedStyles.push(scopeCssToComposition(css, scopeId));
|
|
38093
|
-
} else {
|
|
38094
|
-
collectedStyles.push(css);
|
|
38095
|
-
}
|
|
38096
|
-
}
|
|
38097
|
-
for (const scriptEl of compHead.querySelectorAll("script")) {
|
|
38098
|
-
const src = (scriptEl.getAttribute("src") || "").trim();
|
|
38099
|
-
if (src && !collectedExternalScriptSrcs.includes(src)) {
|
|
38100
|
-
collectedExternalScriptSrcs.push(src);
|
|
38204
|
+
const result = inlineSubCompositions(
|
|
38205
|
+
document2,
|
|
38206
|
+
hosts,
|
|
38207
|
+
{
|
|
38208
|
+
resolveHtml: (srcPath) => {
|
|
38209
|
+
let compHtml = subCompositions.get(srcPath) || null;
|
|
38210
|
+
if (!compHtml) {
|
|
38211
|
+
const filePath = resolve19(projectDir, srcPath);
|
|
38212
|
+
if (existsSync34(filePath)) {
|
|
38213
|
+
compHtml = readFileSync24(filePath, "utf-8");
|
|
38101
38214
|
}
|
|
38102
38215
|
}
|
|
38103
|
-
|
|
38104
|
-
|
|
38105
|
-
|
|
38106
|
-
|
|
38107
|
-
const scopeId = compId || inferredCompId;
|
|
38108
|
-
if (scopeId && css.trim()) {
|
|
38109
|
-
collectedStyles.push(scopeCssToComposition(css, scopeId));
|
|
38110
|
-
} else {
|
|
38111
|
-
collectedStyles.push(css);
|
|
38112
|
-
}
|
|
38113
|
-
styleEl.remove();
|
|
38114
|
-
}
|
|
38115
|
-
for (const scriptEl of contentDoc.querySelectorAll("script")) {
|
|
38116
|
-
const src = (scriptEl.getAttribute("src") || "").trim();
|
|
38117
|
-
if (src) {
|
|
38118
|
-
if (!collectedExternalScriptSrcs.includes(src)) {
|
|
38119
|
-
collectedExternalScriptSrcs.push(src);
|
|
38120
|
-
}
|
|
38121
|
-
scriptEl.remove();
|
|
38122
|
-
continue;
|
|
38123
|
-
}
|
|
38124
|
-
const content = (scriptEl.textContent || "").trim();
|
|
38125
|
-
if (content) {
|
|
38126
|
-
const scriptMountCompId = compId || inferredCompId || "";
|
|
38127
|
-
collectedScripts.push(
|
|
38128
|
-
scriptMountCompId ? wrapScopedCompositionScript(
|
|
38129
|
-
content,
|
|
38130
|
-
scriptMountCompId,
|
|
38131
|
-
"[Compiler] Composition script failed"
|
|
38132
|
-
) : `(function(){ try { ${content} } catch (_err) { console.error("[Compiler] Composition script failed", _err); } })()`
|
|
38133
|
-
);
|
|
38134
|
-
}
|
|
38135
|
-
scriptEl.remove();
|
|
38136
|
-
}
|
|
38137
|
-
const rewriteTarget = innerRoot || contentDoc;
|
|
38138
|
-
rewriteAssetPaths(
|
|
38139
|
-
rewriteTarget.querySelectorAll("[src], [href]"),
|
|
38140
|
-
srcPath,
|
|
38141
|
-
(el, attr) => (el.getAttribute(attr) || "").trim(),
|
|
38142
|
-
(el, attr, val) => el.setAttribute(attr, val)
|
|
38143
|
-
);
|
|
38144
|
-
if (innerRoot) {
|
|
38145
|
-
const innerW = innerRoot.getAttribute("data-width");
|
|
38146
|
-
const innerH = innerRoot.getAttribute("data-height");
|
|
38147
|
-
if (innerW && !host.getAttribute("data-width")) host.setAttribute("data-width", innerW);
|
|
38148
|
-
if (innerH && !host.getAttribute("data-height")) host.setAttribute("data-height", innerH);
|
|
38149
|
-
innerRoot.querySelectorAll("style, script").forEach((el) => el.remove());
|
|
38150
|
-
host.innerHTML = compId ? innerRoot.innerHTML || "" : innerRoot.outerHTML || "";
|
|
38151
|
-
} else {
|
|
38152
|
-
contentDoc.querySelectorAll("style, script").forEach((el) => el.remove());
|
|
38153
|
-
host.innerHTML = contentDoc.toString();
|
|
38216
|
+
return compHtml;
|
|
38217
|
+
},
|
|
38218
|
+
parseHtml: (htmlStr) => parseHTML(htmlStr).document,
|
|
38219
|
+
scriptErrorLabel: "[Compiler] Composition script failed"
|
|
38154
38220
|
}
|
|
38155
|
-
|
|
38221
|
+
);
|
|
38222
|
+
for (const host of hosts) {
|
|
38156
38223
|
const hostW = host.getAttribute("data-width");
|
|
38157
38224
|
const hostH = host.getAttribute("data-height");
|
|
38158
38225
|
if (hostW && hostH) {
|
|
@@ -38168,18 +38235,18 @@ function inlineSubCompositions(html, subCompositions, projectDir) {
|
|
|
38168
38235
|
}
|
|
38169
38236
|
}
|
|
38170
38237
|
}
|
|
38171
|
-
if (
|
|
38238
|
+
if (result.styles.length && head) {
|
|
38172
38239
|
const styleEl = document2.createElement("style");
|
|
38173
|
-
styleEl.textContent =
|
|
38240
|
+
styleEl.textContent = result.styles.join("\n\n");
|
|
38174
38241
|
head.appendChild(styleEl);
|
|
38175
38242
|
}
|
|
38176
|
-
if (
|
|
38243
|
+
if (result.externalScriptSrcs.length && body) {
|
|
38177
38244
|
const existingScriptSrcs = new Set(
|
|
38178
38245
|
Array.from(document2.querySelectorAll("script[src]")).map(
|
|
38179
38246
|
(el) => (el.getAttribute("src") || "").trim()
|
|
38180
38247
|
)
|
|
38181
38248
|
);
|
|
38182
|
-
for (const src of
|
|
38249
|
+
for (const src of result.externalScriptSrcs) {
|
|
38183
38250
|
if (!existingScriptSrcs.has(src)) {
|
|
38184
38251
|
const scriptEl = document2.createElement("script");
|
|
38185
38252
|
scriptEl.setAttribute("src", src);
|
|
@@ -38188,9 +38255,9 @@ function inlineSubCompositions(html, subCompositions, projectDir) {
|
|
|
38188
38255
|
}
|
|
38189
38256
|
}
|
|
38190
38257
|
}
|
|
38191
|
-
if (
|
|
38258
|
+
if (result.scripts.length && body) {
|
|
38192
38259
|
const scriptEl = document2.createElement("script");
|
|
38193
|
-
scriptEl.textContent =
|
|
38260
|
+
scriptEl.textContent = result.scripts.join("\n;\n");
|
|
38194
38261
|
body.appendChild(scriptEl);
|
|
38195
38262
|
}
|
|
38196
38263
|
return document2.toString();
|
|
@@ -38327,7 +38394,7 @@ async function compileForRender(projectDir, htmlPath, downloadDir, options = {})
|
|
|
38327
38394
|
subCompositions
|
|
38328
38395
|
} = await parseSubCompositions(compiledHtml, projectDir, downloadDir);
|
|
38329
38396
|
const fullHtml = ensureFullDocument(compiledHtml);
|
|
38330
|
-
const inlinedHtml =
|
|
38397
|
+
const inlinedHtml = inlineSubCompositions2(fullHtml, subCompositions, projectDir);
|
|
38331
38398
|
const sanitizedHtml = inlinedHtml.replace(
|
|
38332
38399
|
/(<(?:video|audio)\b[^>]*?)\s+preload\s*=\s*["']none["']/gi,
|
|
38333
38400
|
"$1"
|
|
@@ -40032,7 +40099,7 @@ var init_captureHdrSequentialLoop = __esm({
|
|
|
40032
40099
|
// ../producer/src/services/shaderTransitionWorkerPool.ts
|
|
40033
40100
|
import { Worker } from "worker_threads";
|
|
40034
40101
|
import { fileURLToPath as fileURLToPath3, pathToFileURL } from "url";
|
|
40035
|
-
import { dirname as
|
|
40102
|
+
import { dirname as dirname14, join as join45 } from "path";
|
|
40036
40103
|
import { createRequire } from "module";
|
|
40037
40104
|
import { existsSync as existsSync36 } from "fs";
|
|
40038
40105
|
import { cpus as cpus3 } from "os";
|
|
@@ -40045,7 +40112,7 @@ function resolveWorkerEntry(explicit) {
|
|
|
40045
40112
|
const isTs = override.endsWith(".ts");
|
|
40046
40113
|
return { path: override, isTs };
|
|
40047
40114
|
}
|
|
40048
|
-
const moduleDir =
|
|
40115
|
+
const moduleDir = dirname14(fileURLToPath3(import.meta.url));
|
|
40049
40116
|
const jsPath = join45(moduleDir, "shaderTransitionWorker.js");
|
|
40050
40117
|
if (existsSync36(jsPath)) return { path: jsPath, isTs: false };
|
|
40051
40118
|
const tsPath = join45(moduleDir, "shaderTransitionWorker.ts");
|
|
@@ -40180,8 +40247,8 @@ async function createShaderTransitionWorkerPool(opts) {
|
|
|
40180
40247
|
if (terminated) {
|
|
40181
40248
|
throw new Error("shader-blend pool already terminated");
|
|
40182
40249
|
}
|
|
40183
|
-
return new Promise((
|
|
40184
|
-
const task = traceEnabled ? { req, resolve:
|
|
40250
|
+
return new Promise((resolve45, reject) => {
|
|
40251
|
+
const task = traceEnabled ? { req, resolve: resolve45, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve45, reject };
|
|
40185
40252
|
const idle = slots.find((s2) => !s2.busy);
|
|
40186
40253
|
if (idle) {
|
|
40187
40254
|
queue.unshift(task);
|
|
@@ -40914,7 +40981,7 @@ import {
|
|
|
40914
40981
|
copyFileSync as copyFileSync4,
|
|
40915
40982
|
appendFileSync
|
|
40916
40983
|
} from "fs";
|
|
40917
|
-
import { join as join49, dirname as
|
|
40984
|
+
import { join as join49, dirname as dirname15, resolve as resolve20 } from "path";
|
|
40918
40985
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
40919
40986
|
import { fileURLToPath as fileURLToPath4 } from "url";
|
|
40920
40987
|
function sampleDirectoryBytes(dir) {
|
|
@@ -41595,10 +41662,10 @@ function extractStandaloneEntryFromIndex(indexHtml, entryFile) {
|
|
|
41595
41662
|
return document2.toString();
|
|
41596
41663
|
}
|
|
41597
41664
|
async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSignal) {
|
|
41598
|
-
const moduleDir =
|
|
41665
|
+
const moduleDir = dirname15(fileURLToPath4(import.meta.url));
|
|
41599
41666
|
const producerRoot = process.env.PRODUCER_RENDERS_DIR ? resolve20(process.env.PRODUCER_RENDERS_DIR, "..") : resolve20(moduleDir, "../..");
|
|
41600
41667
|
const debugDir = join49(producerRoot, ".debug");
|
|
41601
|
-
const workDir = job.config.debug ? join49(debugDir, job.id) : join49(
|
|
41668
|
+
const workDir = job.config.debug ? join49(debugDir, job.id) : join49(dirname15(outputPath), `work-${job.id}`);
|
|
41602
41669
|
const pipelineStart = Date.now();
|
|
41603
41670
|
const log2 = job.config.logger ?? defaultLogger;
|
|
41604
41671
|
let fileServer = null;
|
|
@@ -42290,10 +42357,10 @@ var init_semaphore = __esm({
|
|
|
42290
42357
|
this.active++;
|
|
42291
42358
|
return () => this.release();
|
|
42292
42359
|
}
|
|
42293
|
-
return new Promise((
|
|
42360
|
+
return new Promise((resolve45) => {
|
|
42294
42361
|
this.queue.push(() => {
|
|
42295
42362
|
this.active++;
|
|
42296
|
-
|
|
42363
|
+
resolve45(() => this.release());
|
|
42297
42364
|
});
|
|
42298
42365
|
});
|
|
42299
42366
|
}
|
|
@@ -42324,7 +42391,7 @@ import {
|
|
|
42324
42391
|
rmSync as rmSync10,
|
|
42325
42392
|
createReadStream
|
|
42326
42393
|
} from "fs";
|
|
42327
|
-
import { resolve as resolve22, dirname as
|
|
42394
|
+
import { resolve as resolve22, dirname as dirname16, join as join51 } from "path";
|
|
42328
42395
|
import { tmpdir as tmpdir3 } from "os";
|
|
42329
42396
|
import { parseArgs as parseArgs2 } from "util";
|
|
42330
42397
|
import crypto2 from "crypto";
|
|
@@ -42501,7 +42568,7 @@ function createRenderHandlers(options = {}) {
|
|
|
42501
42568
|
rendersDir,
|
|
42502
42569
|
log2
|
|
42503
42570
|
);
|
|
42504
|
-
const outputDir =
|
|
42571
|
+
const outputDir = dirname16(absoluteOutputPath);
|
|
42505
42572
|
if (!existsSync41(outputDir)) mkdirSync25(outputDir, { recursive: true });
|
|
42506
42573
|
const release2 = await renderSemaphore.acquire();
|
|
42507
42574
|
log2.info("render started", {
|
|
@@ -42612,7 +42679,7 @@ function createRenderHandlers(options = {}) {
|
|
|
42612
42679
|
rendersDir,
|
|
42613
42680
|
log2
|
|
42614
42681
|
);
|
|
42615
|
-
const outputDir =
|
|
42682
|
+
const outputDir = dirname16(absoluteOutputPath);
|
|
42616
42683
|
if (!existsSync41(outputDir)) mkdirSync25(outputDir, { recursive: true });
|
|
42617
42684
|
log2.info("render-stream started", { requestId, projectDir: input.projectDir });
|
|
42618
42685
|
const job = createRenderJob({
|
|
@@ -42913,7 +42980,7 @@ var init_runtimeEnvSnapshot = __esm({
|
|
|
42913
42980
|
|
|
42914
42981
|
// ../producer/src/services/render/stages/freezePlan.ts
|
|
42915
42982
|
import { existsSync as existsSync42, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync17, writeFileSync as writeFileSync20 } from "fs";
|
|
42916
|
-
import { join as join52, relative as
|
|
42983
|
+
import { join as join52, relative as relative5, resolve as resolve23 } from "path";
|
|
42917
42984
|
function stripUndefined(value) {
|
|
42918
42985
|
if (Array.isArray(value)) return value.map(stripUndefined);
|
|
42919
42986
|
if (value !== null && typeof value === "object") {
|
|
@@ -42939,7 +43006,7 @@ function listPlanFiles(planDir) {
|
|
|
42939
43006
|
walk(full);
|
|
42940
43007
|
} else if (entry.isFile()) {
|
|
42941
43008
|
results.push({
|
|
42942
|
-
planRelativePath:
|
|
43009
|
+
planRelativePath: relative5(rootResolved, full).split(/[\\/]+/).join("/"),
|
|
42943
43010
|
absolutePath: full
|
|
42944
43011
|
});
|
|
42945
43012
|
}
|
|
@@ -43109,7 +43176,7 @@ var init_planValidation = __esm({
|
|
|
43109
43176
|
|
|
43110
43177
|
// ../producer/src/services/distributed/shared.ts
|
|
43111
43178
|
import { execFile as execFileCallback } from "child_process";
|
|
43112
|
-
import { dirname as
|
|
43179
|
+
import { dirname as dirname17, join as join53 } from "path";
|
|
43113
43180
|
import { existsSync as existsSync43, readFileSync as readFileSync29 } from "fs";
|
|
43114
43181
|
import { fileURLToPath as fileURLToPath5 } from "url";
|
|
43115
43182
|
import { promisify as promisify2 } from "util";
|
|
@@ -43144,7 +43211,7 @@ function buildSyntheticRenderJob(input) {
|
|
|
43144
43211
|
}
|
|
43145
43212
|
function readProducerVersion() {
|
|
43146
43213
|
if (cachedProducerVersion !== null) return cachedProducerVersion;
|
|
43147
|
-
const startDir =
|
|
43214
|
+
const startDir = dirname17(fileURLToPath5(import.meta.url));
|
|
43148
43215
|
let current = startDir;
|
|
43149
43216
|
for (let i2 = 0; i2 < 10; i2++) {
|
|
43150
43217
|
const candidate = join53(current, "package.json");
|
|
@@ -43158,7 +43225,7 @@ function readProducerVersion() {
|
|
|
43158
43225
|
} catch {
|
|
43159
43226
|
}
|
|
43160
43227
|
}
|
|
43161
|
-
const parent =
|
|
43228
|
+
const parent = dirname17(current);
|
|
43162
43229
|
if (parent === current) break;
|
|
43163
43230
|
current = parent;
|
|
43164
43231
|
}
|
|
@@ -43189,7 +43256,7 @@ import {
|
|
|
43189
43256
|
statSync as statSync15,
|
|
43190
43257
|
writeFileSync as writeFileSync21
|
|
43191
43258
|
} from "fs";
|
|
43192
|
-
import { join as join54, relative as
|
|
43259
|
+
import { join as join54, relative as relative6, sep as sep6 } from "path";
|
|
43193
43260
|
function formatBytes(bytes) {
|
|
43194
43261
|
if (bytes < 1024) return `${bytes} B`;
|
|
43195
43262
|
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KiB`;
|
|
@@ -43374,7 +43441,7 @@ async function plan(projectDir, config, planDir) {
|
|
|
43374
43441
|
recursive: true,
|
|
43375
43442
|
dereference: true,
|
|
43376
43443
|
filter: (src) => {
|
|
43377
|
-
const rel =
|
|
43444
|
+
const rel = relative6(projectDir, src);
|
|
43378
43445
|
if (rel === "" || rel.startsWith("..")) return true;
|
|
43379
43446
|
const firstSegment = rel.split(sep6, 1)[0];
|
|
43380
43447
|
return firstSegment === void 0 || !PLAN_PROJECT_DIR_SKIP_SEGMENTS.has(firstSegment);
|
|
@@ -44118,7 +44185,7 @@ async function defaultRunFfmpeg(args) {
|
|
|
44118
44185
|
};
|
|
44119
44186
|
}
|
|
44120
44187
|
function runFfprobeJson(args) {
|
|
44121
|
-
return new Promise((
|
|
44188
|
+
return new Promise((resolve45, reject) => {
|
|
44122
44189
|
const proc = spawn10("ffprobe", args);
|
|
44123
44190
|
let stdout2 = "";
|
|
44124
44191
|
let stderr = "";
|
|
@@ -44141,7 +44208,7 @@ function runFfprobeJson(args) {
|
|
|
44141
44208
|
return;
|
|
44142
44209
|
}
|
|
44143
44210
|
try {
|
|
44144
|
-
|
|
44211
|
+
resolve45(JSON.parse(stdout2));
|
|
44145
44212
|
} catch (err) {
|
|
44146
44213
|
reject(new Error(`Failed to parse ffprobe output: ${err.message}`));
|
|
44147
44214
|
}
|
|
@@ -44168,7 +44235,7 @@ import {
|
|
|
44168
44235
|
statSync as statSync16,
|
|
44169
44236
|
writeFileSync as writeFileSync23
|
|
44170
44237
|
} from "fs";
|
|
44171
|
-
import { dirname as
|
|
44238
|
+
import { dirname as dirname18, join as join56 } from "path";
|
|
44172
44239
|
async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
44173
44240
|
const start = Date.now();
|
|
44174
44241
|
const log2 = options?.logger ?? defaultLogger;
|
|
@@ -44196,8 +44263,8 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
44196
44263
|
if (plan2.dimensions.format === "png-sequence") {
|
|
44197
44264
|
return mergePngFrameDirs(chunkPaths, outputPath, plan2.totalFrames, audioPath, start);
|
|
44198
44265
|
}
|
|
44199
|
-
if (!existsSync46(
|
|
44200
|
-
mkdirSync29(
|
|
44266
|
+
if (!existsSync46(dirname18(outputPath))) {
|
|
44267
|
+
mkdirSync29(dirname18(outputPath), { recursive: true });
|
|
44201
44268
|
}
|
|
44202
44269
|
const workDir = `${outputPath}.assemble-work`;
|
|
44203
44270
|
if (existsSync46(workDir)) rmSync13(workDir, { recursive: true, force: true });
|
|
@@ -44809,13 +44876,13 @@ __export(preview_exports, {
|
|
|
44809
44876
|
});
|
|
44810
44877
|
import { spawn as spawn11 } from "child_process";
|
|
44811
44878
|
import { existsSync as existsSync48, lstatSync as lstatSync2, symlinkSync as symlinkSync2, unlinkSync as unlinkSync5, readlinkSync, mkdirSync as mkdirSync30 } from "fs";
|
|
44812
|
-
import { resolve as resolve25, dirname as
|
|
44879
|
+
import { resolve as resolve25, dirname as dirname19, basename as basename6, join as join58 } from "path";
|
|
44813
44880
|
import { fileURLToPath as fileURLToPath6 } from "url";
|
|
44814
44881
|
import { createRequire as createRequire2 } from "module";
|
|
44815
44882
|
async function runDevMode(dir, options) {
|
|
44816
44883
|
const thisFile = fileURLToPath6(import.meta.url);
|
|
44817
|
-
const
|
|
44818
|
-
const projectsDir = join58(
|
|
44884
|
+
const repoRoot2 = resolve25(dirname19(thisFile), "..", "..", "..", "..");
|
|
44885
|
+
const projectsDir = join58(repoRoot2, "packages", "studio", "data", "projects");
|
|
44819
44886
|
const pName = options?.projectName ?? basename6(dir);
|
|
44820
44887
|
const symlinkPath = join58(projectsDir, pName);
|
|
44821
44888
|
mkdirSync30(projectsDir, { recursive: true });
|
|
@@ -44841,7 +44908,7 @@ async function runDevMode(dir, options) {
|
|
|
44841
44908
|
ge(c2.bold("hyperframes preview"));
|
|
44842
44909
|
const s2 = ft();
|
|
44843
44910
|
s2.start("Starting studio...");
|
|
44844
|
-
const studioPkgDir = join58(
|
|
44911
|
+
const studioPkgDir = join58(repoRoot2, "packages", "studio");
|
|
44845
44912
|
const child = spawn11("bun", ["run", "dev"], {
|
|
44846
44913
|
cwd: studioPkgDir,
|
|
44847
44914
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -44884,8 +44951,8 @@ async function runDevMode(dir, options) {
|
|
|
44884
44951
|
}
|
|
44885
44952
|
});
|
|
44886
44953
|
}
|
|
44887
|
-
return new Promise((
|
|
44888
|
-
child.on("close", () =>
|
|
44954
|
+
return new Promise((resolve45) => {
|
|
44955
|
+
child.on("close", () => resolve45());
|
|
44889
44956
|
});
|
|
44890
44957
|
}
|
|
44891
44958
|
function hasLocalStudio(dir) {
|
|
@@ -44899,7 +44966,7 @@ function hasLocalStudio(dir) {
|
|
|
44899
44966
|
}
|
|
44900
44967
|
async function runLocalStudioMode(dir, options) {
|
|
44901
44968
|
const req = createRequire2(join58(dir, "package.json"));
|
|
44902
|
-
const studioPkgPath =
|
|
44969
|
+
const studioPkgPath = dirname19(req.resolve("@hyperframes/studio/package.json"));
|
|
44903
44970
|
const pName = options?.projectName ?? basename6(dir);
|
|
44904
44971
|
const projectsDir = join58(studioPkgPath, "data", "projects");
|
|
44905
44972
|
const symlinkPath = join58(projectsDir, pName);
|
|
@@ -44959,8 +45026,8 @@ async function runLocalStudioMode(dir, options) {
|
|
|
44959
45026
|
}
|
|
44960
45027
|
});
|
|
44961
45028
|
}
|
|
44962
|
-
return new Promise((
|
|
44963
|
-
child.on("close", () =>
|
|
45029
|
+
return new Promise((resolve45) => {
|
|
45030
|
+
child.on("close", () => resolve45());
|
|
44964
45031
|
});
|
|
44965
45032
|
}
|
|
44966
45033
|
async function runEmbeddedMode(dir, startPort, options) {
|
|
@@ -45208,7 +45275,7 @@ import {
|
|
|
45208
45275
|
readFileSync as readFileSync33,
|
|
45209
45276
|
readdirSync as readdirSync21
|
|
45210
45277
|
} from "fs";
|
|
45211
|
-
import { resolve as resolve26, basename as basename7, join as join59, dirname as
|
|
45278
|
+
import { resolve as resolve26, basename as basename7, join as join59, dirname as dirname20 } from "path";
|
|
45212
45279
|
import { fileURLToPath as fileURLToPath7 } from "url";
|
|
45213
45280
|
import { execFileSync as execFileSync5, spawn as spawn12 } from "child_process";
|
|
45214
45281
|
function probeVideo(filePath) {
|
|
@@ -45277,7 +45344,7 @@ function transcodeToMp4(inputPath, outputPath) {
|
|
|
45277
45344
|
});
|
|
45278
45345
|
}
|
|
45279
45346
|
function resolveAssetDir(devSegments, builtSegments) {
|
|
45280
|
-
const base =
|
|
45347
|
+
const base = dirname20(fileURLToPath7(import.meta.url));
|
|
45281
45348
|
const devPath = resolve26(base, ...devSegments);
|
|
45282
45349
|
const builtPath = resolve26(base, ...builtSegments);
|
|
45283
45350
|
return existsSync49(devPath) ? devPath : builtPath;
|
|
@@ -46063,7 +46130,7 @@ __export(add_exports, {
|
|
|
46063
46130
|
runAdd: () => runAdd
|
|
46064
46131
|
});
|
|
46065
46132
|
import { existsSync as existsSync50 } from "fs";
|
|
46066
|
-
import { resolve as resolve27, relative as
|
|
46133
|
+
import { resolve as resolve27, relative as relative7 } from "path";
|
|
46067
46134
|
function remapTarget(item, originalTarget, paths) {
|
|
46068
46135
|
if (item.type === "hyperframes:block") {
|
|
46069
46136
|
const blocksDir = paths.blocks.replace(/\/+$/, "");
|
|
@@ -46205,7 +46272,7 @@ var init_add = __esm({
|
|
|
46205
46272
|
console.log("");
|
|
46206
46273
|
console.log(`${c2.success("\u2713")} Added ${c2.accent(result.name)} (${result.type})`);
|
|
46207
46274
|
for (const file of result.written) {
|
|
46208
|
-
console.log(` ${c2.dim(
|
|
46275
|
+
console.log(` ${c2.dim(relative7(projectDir, file))}`);
|
|
46209
46276
|
}
|
|
46210
46277
|
if (result.snippet) {
|
|
46211
46278
|
console.log("");
|
|
@@ -46478,9 +46545,9 @@ __export(play_exports, {
|
|
|
46478
46545
|
examples: () => examples5
|
|
46479
46546
|
});
|
|
46480
46547
|
import { existsSync as existsSync52, readFileSync as readFileSync34 } from "fs";
|
|
46481
|
-
import { resolve as resolve30, dirname as
|
|
46548
|
+
import { resolve as resolve30, dirname as dirname21 } from "path";
|
|
46482
46549
|
function commandDir() {
|
|
46483
|
-
return
|
|
46550
|
+
return dirname21(new URL(import.meta.url).pathname);
|
|
46484
46551
|
}
|
|
46485
46552
|
function resolveRuntimePath2() {
|
|
46486
46553
|
const d2 = commandDir();
|
|
@@ -46711,7 +46778,7 @@ var init_play = __esm({
|
|
|
46711
46778
|
});
|
|
46712
46779
|
|
|
46713
46780
|
// src/utils/publishProject.ts
|
|
46714
|
-
import { basename as basename9, join as join60, relative as
|
|
46781
|
+
import { basename as basename9, join as join60, relative as relative8 } from "path";
|
|
46715
46782
|
import { readdirSync as readdirSync22, readFileSync as readFileSync35, statSync as statSync19 } from "fs";
|
|
46716
46783
|
import AdmZip from "adm-zip";
|
|
46717
46784
|
function isRecord2(value) {
|
|
@@ -46813,7 +46880,7 @@ function collectProjectFiles(rootDir, currentDir, paths) {
|
|
|
46813
46880
|
for (const entry of readdirSync22(currentDir, { withFileTypes: true })) {
|
|
46814
46881
|
if (shouldIgnoreSegment(entry.name)) continue;
|
|
46815
46882
|
const absolutePath = join60(currentDir, entry.name);
|
|
46816
|
-
const relativePath =
|
|
46883
|
+
const relativePath = relative8(rootDir, absolutePath).replaceAll("\\", "/");
|
|
46817
46884
|
if (!relativePath) continue;
|
|
46818
46885
|
if (entry.isDirectory()) {
|
|
46819
46886
|
collectProjectFiles(rootDir, absolutePath, paths);
|
|
@@ -47186,7 +47253,7 @@ __export(render_exports, {
|
|
|
47186
47253
|
});
|
|
47187
47254
|
import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync36, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
|
|
47188
47255
|
import { cpus as cpus4, freemem as freemem3, tmpdir as tmpdir4 } from "os";
|
|
47189
|
-
import { resolve as resolve32, dirname as
|
|
47256
|
+
import { resolve as resolve32, dirname as dirname22, join as join62, basename as basename11 } from "path";
|
|
47190
47257
|
import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
|
|
47191
47258
|
function formatFpsParseError(input, reason) {
|
|
47192
47259
|
switch (reason) {
|
|
@@ -47377,7 +47444,7 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
47377
47444
|
);
|
|
47378
47445
|
process.exit(1);
|
|
47379
47446
|
}
|
|
47380
|
-
const outputDir =
|
|
47447
|
+
const outputDir = dirname22(outputPath);
|
|
47381
47448
|
const outputFilename = basename11(outputPath);
|
|
47382
47449
|
const dockerArgs = buildDockerRunArgs({
|
|
47383
47450
|
imageTag,
|
|
@@ -47797,7 +47864,7 @@ var init_render2 = __esm({
|
|
|
47797
47864
|
const datePart = now.toISOString().slice(0, 10);
|
|
47798
47865
|
const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
|
|
47799
47866
|
const outputPath = args.output ? resolve32(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
|
|
47800
|
-
mkdirSync32(
|
|
47867
|
+
mkdirSync32(dirname22(outputPath), { recursive: true });
|
|
47801
47868
|
const useDocker = args.docker ?? false;
|
|
47802
47869
|
const useGpu = args.gpu ?? false;
|
|
47803
47870
|
const browserGpuArg = args["browser-gpu"];
|
|
@@ -48213,7 +48280,7 @@ var init_lint3 = __esm({
|
|
|
48213
48280
|
// src/utils/staticProjectServer.ts
|
|
48214
48281
|
import { createServer } from "http";
|
|
48215
48282
|
import { existsSync as existsSync54, readFileSync as readFileSync37 } from "fs";
|
|
48216
|
-
import { isAbsolute as isAbsolute8, relative as
|
|
48283
|
+
import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve33 } from "path";
|
|
48217
48284
|
async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
|
|
48218
48285
|
const server = createServer((req, res) => {
|
|
48219
48286
|
const url = req.url ?? "/";
|
|
@@ -48223,7 +48290,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
48223
48290
|
return;
|
|
48224
48291
|
}
|
|
48225
48292
|
const filePath = resolve33(projectDir, decodeURIComponent(url).replace(/^\//, ""));
|
|
48226
|
-
const rel =
|
|
48293
|
+
const rel = relative9(projectDir, filePath);
|
|
48227
48294
|
if (rel.startsWith("..") || isAbsolute8(rel)) {
|
|
48228
48295
|
res.writeHead(403);
|
|
48229
48296
|
res.end();
|
|
@@ -48408,7 +48475,7 @@ __export(layout_exports, {
|
|
|
48408
48475
|
examples: () => examples9
|
|
48409
48476
|
});
|
|
48410
48477
|
import { existsSync as existsSync55, readFileSync as readFileSync38 } from "fs";
|
|
48411
|
-
import { dirname as
|
|
48478
|
+
import { dirname as dirname23, join as join63 } from "path";
|
|
48412
48479
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
48413
48480
|
async function getCompositionDuration2(page) {
|
|
48414
48481
|
return page.evaluate(() => {
|
|
@@ -48460,7 +48527,7 @@ async function seekTo(page, time) {
|
|
|
48460
48527
|
if (!fonts?.ready) return Promise.resolve();
|
|
48461
48528
|
return Promise.race([
|
|
48462
48529
|
fonts.ready.then(() => void 0),
|
|
48463
|
-
new Promise((
|
|
48530
|
+
new Promise((resolve45) => setTimeout(resolve45, 500))
|
|
48464
48531
|
]);
|
|
48465
48532
|
}).catch(() => {
|
|
48466
48533
|
});
|
|
@@ -48520,7 +48587,7 @@ async function runLayoutAudit(projectDir, opts) {
|
|
|
48520
48587
|
if (!fonts?.ready) return Promise.resolve();
|
|
48521
48588
|
return Promise.race([
|
|
48522
48589
|
fonts.ready.then(() => void 0),
|
|
48523
|
-
new Promise((
|
|
48590
|
+
new Promise((resolve45) => setTimeout(resolve45, 750))
|
|
48524
48591
|
]);
|
|
48525
48592
|
}).catch(() => {
|
|
48526
48593
|
});
|
|
@@ -48725,7 +48792,7 @@ var init_layout2 = __esm({
|
|
|
48725
48792
|
init_updateCheck();
|
|
48726
48793
|
init_layoutAudit();
|
|
48727
48794
|
__filename = fileURLToPath8(import.meta.url);
|
|
48728
|
-
__dirname2 =
|
|
48795
|
+
__dirname2 = dirname23(__filename);
|
|
48729
48796
|
SEEK_SETTLE_MS = 120;
|
|
48730
48797
|
INSPECT_SCHEMA_VERSION = 1;
|
|
48731
48798
|
examples9 = [
|
|
@@ -48863,7 +48930,7 @@ __export(compositions_exports, {
|
|
|
48863
48930
|
parseSubComposition: () => parseSubComposition
|
|
48864
48931
|
});
|
|
48865
48932
|
import { existsSync as existsSync56, readFileSync as readFileSync40 } from "fs";
|
|
48866
|
-
import { resolve as resolve34, dirname as
|
|
48933
|
+
import { resolve as resolve34, dirname as dirname24 } from "path";
|
|
48867
48934
|
function countRenderableDescendants(root) {
|
|
48868
48935
|
return Array.from(root.querySelectorAll("*")).filter(
|
|
48869
48936
|
(el) => !NON_RENDERED_TAGS.has(el.tagName.toLowerCase())
|
|
@@ -49002,7 +49069,7 @@ var init_compositions = __esm({
|
|
|
49002
49069
|
const project = resolveProject(args.dir);
|
|
49003
49070
|
const html = readFileSync40(project.indexPath, "utf-8");
|
|
49004
49071
|
ensureDOMParser();
|
|
49005
|
-
const compositions = parseCompositions(html,
|
|
49072
|
+
const compositions = parseCompositions(html, dirname24(project.indexPath));
|
|
49006
49073
|
if (compositions.length === 0) {
|
|
49007
49074
|
console.log(`${c2.success("\u25C7")} ${c2.accent(project.name)} \u2014 no compositions found`);
|
|
49008
49075
|
return;
|
|
@@ -49840,12 +49907,12 @@ async function runPipeline(options, session, media, format, bgFormat) {
|
|
|
49840
49907
|
const drains = [];
|
|
49841
49908
|
if (!fgWroteFully) {
|
|
49842
49909
|
drains.push(
|
|
49843
|
-
new Promise((
|
|
49910
|
+
new Promise((resolve45) => fg.proc.stdin.once("drain", () => resolve45()))
|
|
49844
49911
|
);
|
|
49845
49912
|
}
|
|
49846
49913
|
if (!bgWroteFully && bg) {
|
|
49847
49914
|
drains.push(
|
|
49848
|
-
new Promise((
|
|
49915
|
+
new Promise((resolve45) => bg.proc.stdin.once("drain", () => resolve45()))
|
|
49849
49916
|
);
|
|
49850
49917
|
}
|
|
49851
49918
|
await Promise.all(drains);
|
|
@@ -49878,11 +49945,11 @@ ${decoder.getStderr().slice(-400)}`
|
|
|
49878
49945
|
return processed;
|
|
49879
49946
|
}
|
|
49880
49947
|
function waitForExit(proc, label2, getStderr) {
|
|
49881
|
-
return new Promise((
|
|
49948
|
+
return new Promise((resolve45, reject) => {
|
|
49882
49949
|
proc.on("error", reject);
|
|
49883
49950
|
proc.on("exit", (code, signal) => {
|
|
49884
49951
|
if (code === 0 && !signal) {
|
|
49885
|
-
|
|
49952
|
+
resolve45();
|
|
49886
49953
|
return;
|
|
49887
49954
|
}
|
|
49888
49955
|
const cause = signal ? `killed by ${signal}` : `exited with code ${code}`;
|
|
@@ -50383,7 +50450,7 @@ __export(synthesize_exports, {
|
|
|
50383
50450
|
});
|
|
50384
50451
|
import { execFileSync as execFileSync7 } from "child_process";
|
|
50385
50452
|
import { existsSync as existsSync62, writeFileSync as writeFileSync28, mkdirSync as mkdirSync35, readdirSync as readdirSync25, unlinkSync as unlinkSync6 } from "fs";
|
|
50386
|
-
import { join as join69, dirname as
|
|
50453
|
+
import { join as join69, dirname as dirname25, basename as basename12 } from "path";
|
|
50387
50454
|
import { homedir as homedir11 } from "os";
|
|
50388
50455
|
function findPython() {
|
|
50389
50456
|
for (const name of ["python3", "python"]) {
|
|
@@ -50461,7 +50528,7 @@ async function synthesize(text, outputPath, options) {
|
|
|
50461
50528
|
ensureVoices({ onProgress: options?.onProgress })
|
|
50462
50529
|
]);
|
|
50463
50530
|
const scriptPath = ensureSynthScript();
|
|
50464
|
-
mkdirSync35(
|
|
50531
|
+
mkdirSync35(dirname25(outputPath), { recursive: true });
|
|
50465
50532
|
options?.onProgress?.(`Generating speech with voice ${voice} (${lang})...`);
|
|
50466
50533
|
try {
|
|
50467
50534
|
const stdout2 = execFileSync7(
|
|
@@ -50752,11 +50819,11 @@ __export(docs_exports, {
|
|
|
50752
50819
|
examples: () => examples18
|
|
50753
50820
|
});
|
|
50754
50821
|
import { readFileSync as readFileSync42, existsSync as existsSync64 } from "fs";
|
|
50755
|
-
import { resolve as resolve39, dirname as
|
|
50822
|
+
import { resolve as resolve39, dirname as dirname26, join as join70 } from "path";
|
|
50756
50823
|
import { fileURLToPath as fileURLToPath9 } from "url";
|
|
50757
50824
|
function docsDir() {
|
|
50758
50825
|
const thisFile = fileURLToPath9(import.meta.url);
|
|
50759
|
-
const dir =
|
|
50826
|
+
const dir = dirname26(thisFile);
|
|
50760
50827
|
const devPath = resolve39(dir, "..", "docs");
|
|
50761
50828
|
const builtPath = resolve39(dir, "docs");
|
|
50762
50829
|
return existsSync64(devPath) ? devPath : builtPath;
|
|
@@ -51353,7 +51420,7 @@ __export(validate_exports, {
|
|
|
51353
51420
|
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
|
|
51354
51421
|
});
|
|
51355
51422
|
import { existsSync as existsSync65, readFileSync as readFileSync43 } from "fs";
|
|
51356
|
-
import { join as join71, dirname as
|
|
51423
|
+
import { join as join71, dirname as dirname27 } from "path";
|
|
51357
51424
|
import { fileURLToPath as fileURLToPath10 } from "url";
|
|
51358
51425
|
function shouldIgnoreRequestFailure(url, errorText) {
|
|
51359
51426
|
if (errorText !== "net::ERR_ABORTED") return false;
|
|
@@ -51524,7 +51591,7 @@ var init_validate = __esm({
|
|
|
51524
51591
|
init_colors();
|
|
51525
51592
|
init_updateCheck();
|
|
51526
51593
|
__filename2 = fileURLToPath10(import.meta.url);
|
|
51527
|
-
__dirname3 =
|
|
51594
|
+
__dirname3 = dirname27(__filename2);
|
|
51528
51595
|
CONTRAST_SAMPLES = 5;
|
|
51529
51596
|
SEEK_SETTLE_MS2 = 150;
|
|
51530
51597
|
MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
|
|
@@ -51630,7 +51697,7 @@ __export(snapshot_exports, {
|
|
|
51630
51697
|
import { spawn as spawn15 } from "child_process";
|
|
51631
51698
|
import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync44, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
|
|
51632
51699
|
import { tmpdir as tmpdir5 } from "os";
|
|
51633
|
-
import { resolve as resolve40, join as join72, relative as
|
|
51700
|
+
import { resolve as resolve40, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
|
|
51634
51701
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
51635
51702
|
const tmp = mkdtempSync3(join72(tmpdir5(), "hf-snapshot-frame-"));
|
|
51636
51703
|
const outPath = join72(tmp, "frame.png");
|
|
@@ -51815,7 +51882,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
51815
51882
|
const url = new URL(v2.src);
|
|
51816
51883
|
const decodedPath = decodeURIComponent(url.pathname).replace(/^\//, "");
|
|
51817
51884
|
const candidate = resolve40(projectDir, decodedPath);
|
|
51818
|
-
const rel =
|
|
51885
|
+
const rel = relative10(projectDir, candidate);
|
|
51819
51886
|
if (!rel.startsWith("..") && !isAbsolute9(rel) && existsSync66(candidate)) {
|
|
51820
51887
|
filePath = candidate;
|
|
51821
51888
|
}
|
|
@@ -53407,7 +53474,7 @@ var require_p_retry = __commonJS({
|
|
|
53407
53474
|
return error;
|
|
53408
53475
|
};
|
|
53409
53476
|
var isNetworkError = (errorMessage) => networkErrorMsgs.includes(errorMessage);
|
|
53410
|
-
var pRetry2 = (input, options) => new Promise((
|
|
53477
|
+
var pRetry2 = (input, options) => new Promise((resolve45, reject) => {
|
|
53411
53478
|
options = {
|
|
53412
53479
|
onFailedAttempt: () => {
|
|
53413
53480
|
},
|
|
@@ -53417,7 +53484,7 @@ var require_p_retry = __commonJS({
|
|
|
53417
53484
|
const operation = retry.operation(options);
|
|
53418
53485
|
operation.attempt(async (attemptNumber) => {
|
|
53419
53486
|
try {
|
|
53420
|
-
|
|
53487
|
+
resolve45(await input(attemptNumber));
|
|
53421
53488
|
} catch (error) {
|
|
53422
53489
|
if (!(error instanceof Error)) {
|
|
53423
53490
|
reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
|
|
@@ -53953,8 +54020,8 @@ var require_retry3 = __commonJS({
|
|
|
53953
54020
|
}
|
|
53954
54021
|
const delay = getNextRetryDelay(config);
|
|
53955
54022
|
err.config.retryConfig.currentRetryAttempt += 1;
|
|
53956
|
-
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((
|
|
53957
|
-
setTimeout(
|
|
54023
|
+
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve45) => {
|
|
54024
|
+
setTimeout(resolve45, delay);
|
|
53958
54025
|
});
|
|
53959
54026
|
if (config.onRetryAttempt) {
|
|
53960
54027
|
await config.onRetryAttempt(err);
|
|
@@ -54862,8 +54929,8 @@ var require_helpers = __commonJS({
|
|
|
54862
54929
|
function req(url, opts = {}) {
|
|
54863
54930
|
const href = typeof url === "string" ? url : url.href;
|
|
54864
54931
|
const req2 = (href.startsWith("https:") ? https2 : http4).request(url, opts);
|
|
54865
|
-
const promise = new Promise((
|
|
54866
|
-
req2.once("response",
|
|
54932
|
+
const promise = new Promise((resolve45, reject) => {
|
|
54933
|
+
req2.once("response", resolve45).once("error", reject).end();
|
|
54867
54934
|
});
|
|
54868
54935
|
req2.then = promise.then.bind(promise);
|
|
54869
54936
|
return req2;
|
|
@@ -55040,7 +55107,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55040
55107
|
var debug_1 = __importDefault(require_src2());
|
|
55041
55108
|
var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
|
|
55042
55109
|
function parseProxyResponse(socket) {
|
|
55043
|
-
return new Promise((
|
|
55110
|
+
return new Promise((resolve45, reject) => {
|
|
55044
55111
|
let buffersLength = 0;
|
|
55045
55112
|
const buffers = [];
|
|
55046
55113
|
function read() {
|
|
@@ -55106,7 +55173,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55106
55173
|
}
|
|
55107
55174
|
debug("got proxy server response: %o %o", firstLine, headers);
|
|
55108
55175
|
cleanup();
|
|
55109
|
-
|
|
55176
|
+
resolve45({
|
|
55110
55177
|
connect: {
|
|
55111
55178
|
statusCode,
|
|
55112
55179
|
statusText,
|
|
@@ -55350,7 +55417,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55350
55417
|
return new originalPromise(executor);
|
|
55351
55418
|
}
|
|
55352
55419
|
function promiseResolvedWith(value) {
|
|
55353
|
-
return newPromise((
|
|
55420
|
+
return newPromise((resolve45) => resolve45(value));
|
|
55354
55421
|
}
|
|
55355
55422
|
function promiseRejectedWith(reason) {
|
|
55356
55423
|
return originalPromiseReject(reason);
|
|
@@ -55520,8 +55587,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55520
55587
|
return new TypeError("Cannot " + name + " a stream using a released reader");
|
|
55521
55588
|
}
|
|
55522
55589
|
function defaultReaderClosedPromiseInitialize(reader) {
|
|
55523
|
-
reader._closedPromise = newPromise((
|
|
55524
|
-
reader._closedPromise_resolve =
|
|
55590
|
+
reader._closedPromise = newPromise((resolve45, reject) => {
|
|
55591
|
+
reader._closedPromise_resolve = resolve45;
|
|
55525
55592
|
reader._closedPromise_reject = reject;
|
|
55526
55593
|
});
|
|
55527
55594
|
}
|
|
@@ -55695,8 +55762,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55695
55762
|
}
|
|
55696
55763
|
let resolvePromise;
|
|
55697
55764
|
let rejectPromise;
|
|
55698
|
-
const promise = newPromise((
|
|
55699
|
-
resolvePromise =
|
|
55765
|
+
const promise = newPromise((resolve45, reject) => {
|
|
55766
|
+
resolvePromise = resolve45;
|
|
55700
55767
|
rejectPromise = reject;
|
|
55701
55768
|
});
|
|
55702
55769
|
const readRequest = {
|
|
@@ -55801,8 +55868,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55801
55868
|
const reader = this._reader;
|
|
55802
55869
|
let resolvePromise;
|
|
55803
55870
|
let rejectPromise;
|
|
55804
|
-
const promise = newPromise((
|
|
55805
|
-
resolvePromise =
|
|
55871
|
+
const promise = newPromise((resolve45, reject) => {
|
|
55872
|
+
resolvePromise = resolve45;
|
|
55806
55873
|
rejectPromise = reject;
|
|
55807
55874
|
});
|
|
55808
55875
|
const readRequest = {
|
|
@@ -56821,8 +56888,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
56821
56888
|
}
|
|
56822
56889
|
let resolvePromise;
|
|
56823
56890
|
let rejectPromise;
|
|
56824
|
-
const promise = newPromise((
|
|
56825
|
-
resolvePromise =
|
|
56891
|
+
const promise = newPromise((resolve45, reject) => {
|
|
56892
|
+
resolvePromise = resolve45;
|
|
56826
56893
|
rejectPromise = reject;
|
|
56827
56894
|
});
|
|
56828
56895
|
const readIntoRequest = {
|
|
@@ -57134,10 +57201,10 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57134
57201
|
wasAlreadyErroring = true;
|
|
57135
57202
|
reason = void 0;
|
|
57136
57203
|
}
|
|
57137
|
-
const promise = newPromise((
|
|
57204
|
+
const promise = newPromise((resolve45, reject) => {
|
|
57138
57205
|
stream._pendingAbortRequest = {
|
|
57139
57206
|
_promise: void 0,
|
|
57140
|
-
_resolve:
|
|
57207
|
+
_resolve: resolve45,
|
|
57141
57208
|
_reject: reject,
|
|
57142
57209
|
_reason: reason,
|
|
57143
57210
|
_wasAlreadyErroring: wasAlreadyErroring
|
|
@@ -57154,9 +57221,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57154
57221
|
if (state === "closed" || state === "errored") {
|
|
57155
57222
|
return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));
|
|
57156
57223
|
}
|
|
57157
|
-
const promise = newPromise((
|
|
57224
|
+
const promise = newPromise((resolve45, reject) => {
|
|
57158
57225
|
const closeRequest = {
|
|
57159
|
-
_resolve:
|
|
57226
|
+
_resolve: resolve45,
|
|
57160
57227
|
_reject: reject
|
|
57161
57228
|
};
|
|
57162
57229
|
stream._closeRequest = closeRequest;
|
|
@@ -57169,9 +57236,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57169
57236
|
return promise;
|
|
57170
57237
|
}
|
|
57171
57238
|
function WritableStreamAddWriteRequest(stream) {
|
|
57172
|
-
const promise = newPromise((
|
|
57239
|
+
const promise = newPromise((resolve45, reject) => {
|
|
57173
57240
|
const writeRequest = {
|
|
57174
|
-
_resolve:
|
|
57241
|
+
_resolve: resolve45,
|
|
57175
57242
|
_reject: reject
|
|
57176
57243
|
};
|
|
57177
57244
|
stream._writeRequests.push(writeRequest);
|
|
@@ -57787,8 +57854,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57787
57854
|
return new TypeError("Cannot " + name + " a stream using a released writer");
|
|
57788
57855
|
}
|
|
57789
57856
|
function defaultWriterClosedPromiseInitialize(writer) {
|
|
57790
|
-
writer._closedPromise = newPromise((
|
|
57791
|
-
writer._closedPromise_resolve =
|
|
57857
|
+
writer._closedPromise = newPromise((resolve45, reject) => {
|
|
57858
|
+
writer._closedPromise_resolve = resolve45;
|
|
57792
57859
|
writer._closedPromise_reject = reject;
|
|
57793
57860
|
writer._closedPromiseState = "pending";
|
|
57794
57861
|
});
|
|
@@ -57824,8 +57891,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57824
57891
|
writer._closedPromiseState = "resolved";
|
|
57825
57892
|
}
|
|
57826
57893
|
function defaultWriterReadyPromiseInitialize(writer) {
|
|
57827
|
-
writer._readyPromise = newPromise((
|
|
57828
|
-
writer._readyPromise_resolve =
|
|
57894
|
+
writer._readyPromise = newPromise((resolve45, reject) => {
|
|
57895
|
+
writer._readyPromise_resolve = resolve45;
|
|
57829
57896
|
writer._readyPromise_reject = reject;
|
|
57830
57897
|
});
|
|
57831
57898
|
writer._readyPromiseState = "pending";
|
|
@@ -57912,7 +57979,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57912
57979
|
source._disturbed = true;
|
|
57913
57980
|
let shuttingDown = false;
|
|
57914
57981
|
let currentWrite = promiseResolvedWith(void 0);
|
|
57915
|
-
return newPromise((
|
|
57982
|
+
return newPromise((resolve45, reject) => {
|
|
57916
57983
|
let abortAlgorithm;
|
|
57917
57984
|
if (signal !== void 0) {
|
|
57918
57985
|
abortAlgorithm = () => {
|
|
@@ -58057,7 +58124,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58057
58124
|
if (isError) {
|
|
58058
58125
|
reject(error);
|
|
58059
58126
|
} else {
|
|
58060
|
-
|
|
58127
|
+
resolve45(void 0);
|
|
58061
58128
|
}
|
|
58062
58129
|
return null;
|
|
58063
58130
|
}
|
|
@@ -58338,8 +58405,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58338
58405
|
let branch1;
|
|
58339
58406
|
let branch2;
|
|
58340
58407
|
let resolveCancelPromise;
|
|
58341
|
-
const cancelPromise = newPromise((
|
|
58342
|
-
resolveCancelPromise =
|
|
58408
|
+
const cancelPromise = newPromise((resolve45) => {
|
|
58409
|
+
resolveCancelPromise = resolve45;
|
|
58343
58410
|
});
|
|
58344
58411
|
function pullAlgorithm() {
|
|
58345
58412
|
if (reading) {
|
|
@@ -58430,8 +58497,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58430
58497
|
let branch1;
|
|
58431
58498
|
let branch2;
|
|
58432
58499
|
let resolveCancelPromise;
|
|
58433
|
-
const cancelPromise = newPromise((
|
|
58434
|
-
resolveCancelPromise =
|
|
58500
|
+
const cancelPromise = newPromise((resolve45) => {
|
|
58501
|
+
resolveCancelPromise = resolve45;
|
|
58435
58502
|
});
|
|
58436
58503
|
function forwardReaderError(thisReader) {
|
|
58437
58504
|
uponRejection(thisReader._closedPromise, (r2) => {
|
|
@@ -59211,8 +59278,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59211
59278
|
const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
|
|
59212
59279
|
const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
|
|
59213
59280
|
let startPromise_resolve;
|
|
59214
|
-
const startPromise = newPromise((
|
|
59215
|
-
startPromise_resolve =
|
|
59281
|
+
const startPromise = newPromise((resolve45) => {
|
|
59282
|
+
startPromise_resolve = resolve45;
|
|
59216
59283
|
});
|
|
59217
59284
|
InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
|
|
59218
59285
|
SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
|
|
@@ -59305,8 +59372,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59305
59372
|
if (stream._backpressureChangePromise !== void 0) {
|
|
59306
59373
|
stream._backpressureChangePromise_resolve();
|
|
59307
59374
|
}
|
|
59308
|
-
stream._backpressureChangePromise = newPromise((
|
|
59309
|
-
stream._backpressureChangePromise_resolve =
|
|
59375
|
+
stream._backpressureChangePromise = newPromise((resolve45) => {
|
|
59376
|
+
stream._backpressureChangePromise_resolve = resolve45;
|
|
59310
59377
|
});
|
|
59311
59378
|
stream._backpressure = backpressure;
|
|
59312
59379
|
}
|
|
@@ -59474,8 +59541,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59474
59541
|
return controller._finishPromise;
|
|
59475
59542
|
}
|
|
59476
59543
|
const readable = stream._readable;
|
|
59477
|
-
controller._finishPromise = newPromise((
|
|
59478
|
-
controller._finishPromise_resolve =
|
|
59544
|
+
controller._finishPromise = newPromise((resolve45, reject) => {
|
|
59545
|
+
controller._finishPromise_resolve = resolve45;
|
|
59479
59546
|
controller._finishPromise_reject = reject;
|
|
59480
59547
|
});
|
|
59481
59548
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -59501,8 +59568,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59501
59568
|
return controller._finishPromise;
|
|
59502
59569
|
}
|
|
59503
59570
|
const readable = stream._readable;
|
|
59504
|
-
controller._finishPromise = newPromise((
|
|
59505
|
-
controller._finishPromise_resolve =
|
|
59571
|
+
controller._finishPromise = newPromise((resolve45, reject) => {
|
|
59572
|
+
controller._finishPromise_resolve = resolve45;
|
|
59506
59573
|
controller._finishPromise_reject = reject;
|
|
59507
59574
|
});
|
|
59508
59575
|
const flushPromise = controller._flushAlgorithm();
|
|
@@ -59532,8 +59599,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59532
59599
|
return controller._finishPromise;
|
|
59533
59600
|
}
|
|
59534
59601
|
const writable = stream._writable;
|
|
59535
|
-
controller._finishPromise = newPromise((
|
|
59536
|
-
controller._finishPromise_resolve =
|
|
59602
|
+
controller._finishPromise = newPromise((resolve45, reject) => {
|
|
59603
|
+
controller._finishPromise_resolve = resolve45;
|
|
59537
59604
|
controller._finishPromise_reject = reject;
|
|
59538
59605
|
});
|
|
59539
59606
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -61502,7 +61569,7 @@ import zlib from "zlib";
|
|
|
61502
61569
|
import Stream2, { PassThrough as PassThrough2, pipeline as pump } from "stream";
|
|
61503
61570
|
import { Buffer as Buffer3 } from "buffer";
|
|
61504
61571
|
async function fetch3(url, options_) {
|
|
61505
|
-
return new Promise((
|
|
61572
|
+
return new Promise((resolve45, reject) => {
|
|
61506
61573
|
const request = new Request2(url, options_);
|
|
61507
61574
|
const { parsedURL, options } = getNodeRequestOptions(request);
|
|
61508
61575
|
if (!supportedSchemas.has(parsedURL.protocol)) {
|
|
@@ -61511,7 +61578,7 @@ async function fetch3(url, options_) {
|
|
|
61511
61578
|
if (parsedURL.protocol === "data:") {
|
|
61512
61579
|
const data = dist_default3(request.url);
|
|
61513
61580
|
const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
|
|
61514
|
-
|
|
61581
|
+
resolve45(response2);
|
|
61515
61582
|
return;
|
|
61516
61583
|
}
|
|
61517
61584
|
const send = (parsedURL.protocol === "https:" ? https : http3).request;
|
|
@@ -61633,7 +61700,7 @@ async function fetch3(url, options_) {
|
|
|
61633
61700
|
if (responseReferrerPolicy) {
|
|
61634
61701
|
requestOptions.referrerPolicy = responseReferrerPolicy;
|
|
61635
61702
|
}
|
|
61636
|
-
|
|
61703
|
+
resolve45(fetch3(new Request2(locationURL, requestOptions)));
|
|
61637
61704
|
finalize();
|
|
61638
61705
|
return;
|
|
61639
61706
|
}
|
|
@@ -61666,7 +61733,7 @@ async function fetch3(url, options_) {
|
|
|
61666
61733
|
const codings = headers.get("Content-Encoding");
|
|
61667
61734
|
if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
|
|
61668
61735
|
response = new Response2(body, responseOptions);
|
|
61669
|
-
|
|
61736
|
+
resolve45(response);
|
|
61670
61737
|
return;
|
|
61671
61738
|
}
|
|
61672
61739
|
const zlibOptions = {
|
|
@@ -61680,7 +61747,7 @@ async function fetch3(url, options_) {
|
|
|
61680
61747
|
}
|
|
61681
61748
|
});
|
|
61682
61749
|
response = new Response2(body, responseOptions);
|
|
61683
|
-
|
|
61750
|
+
resolve45(response);
|
|
61684
61751
|
return;
|
|
61685
61752
|
}
|
|
61686
61753
|
if (codings === "deflate" || codings === "x-deflate") {
|
|
@@ -61704,12 +61771,12 @@ async function fetch3(url, options_) {
|
|
|
61704
61771
|
});
|
|
61705
61772
|
}
|
|
61706
61773
|
response = new Response2(body, responseOptions);
|
|
61707
|
-
|
|
61774
|
+
resolve45(response);
|
|
61708
61775
|
});
|
|
61709
61776
|
raw.once("end", () => {
|
|
61710
61777
|
if (!response) {
|
|
61711
61778
|
response = new Response2(body, responseOptions);
|
|
61712
|
-
|
|
61779
|
+
resolve45(response);
|
|
61713
61780
|
}
|
|
61714
61781
|
});
|
|
61715
61782
|
return;
|
|
@@ -61721,11 +61788,11 @@ async function fetch3(url, options_) {
|
|
|
61721
61788
|
}
|
|
61722
61789
|
});
|
|
61723
61790
|
response = new Response2(body, responseOptions);
|
|
61724
|
-
|
|
61791
|
+
resolve45(response);
|
|
61725
61792
|
return;
|
|
61726
61793
|
}
|
|
61727
61794
|
response = new Response2(body, responseOptions);
|
|
61728
|
-
|
|
61795
|
+
resolve45(response);
|
|
61729
61796
|
});
|
|
61730
61797
|
writeToStream(request_, request).catch(reject);
|
|
61731
61798
|
});
|
|
@@ -67807,7 +67874,7 @@ var require_jwtaccess = __commonJS({
|
|
|
67807
67874
|
}
|
|
67808
67875
|
}
|
|
67809
67876
|
fromStreamAsync(inputStream) {
|
|
67810
|
-
return new Promise((
|
|
67877
|
+
return new Promise((resolve45, reject) => {
|
|
67811
67878
|
if (!inputStream) {
|
|
67812
67879
|
reject(new Error("Must pass in a stream containing the service account auth settings."));
|
|
67813
67880
|
}
|
|
@@ -67816,7 +67883,7 @@ var require_jwtaccess = __commonJS({
|
|
|
67816
67883
|
try {
|
|
67817
67884
|
const data = JSON.parse(s2);
|
|
67818
67885
|
this.fromJSON(data);
|
|
67819
|
-
|
|
67886
|
+
resolve45();
|
|
67820
67887
|
} catch (err) {
|
|
67821
67888
|
reject(err);
|
|
67822
67889
|
}
|
|
@@ -68055,7 +68122,7 @@ var require_jwtclient = __commonJS({
|
|
|
68055
68122
|
}
|
|
68056
68123
|
}
|
|
68057
68124
|
fromStreamAsync(inputStream) {
|
|
68058
|
-
return new Promise((
|
|
68125
|
+
return new Promise((resolve45, reject) => {
|
|
68059
68126
|
if (!inputStream) {
|
|
68060
68127
|
throw new Error("Must pass in a stream containing the service account auth settings.");
|
|
68061
68128
|
}
|
|
@@ -68064,7 +68131,7 @@ var require_jwtclient = __commonJS({
|
|
|
68064
68131
|
try {
|
|
68065
68132
|
const data = JSON.parse(s2);
|
|
68066
68133
|
this.fromJSON(data);
|
|
68067
|
-
|
|
68134
|
+
resolve45();
|
|
68068
68135
|
} catch (e3) {
|
|
68069
68136
|
reject(e3);
|
|
68070
68137
|
}
|
|
@@ -68197,7 +68264,7 @@ var require_refreshclient = __commonJS({
|
|
|
68197
68264
|
}
|
|
68198
68265
|
}
|
|
68199
68266
|
async fromStreamAsync(inputStream) {
|
|
68200
|
-
return new Promise((
|
|
68267
|
+
return new Promise((resolve45, reject) => {
|
|
68201
68268
|
if (!inputStream) {
|
|
68202
68269
|
return reject(new Error("Must pass in a stream containing the user refresh token."));
|
|
68203
68270
|
}
|
|
@@ -68206,7 +68273,7 @@ var require_refreshclient = __commonJS({
|
|
|
68206
68273
|
try {
|
|
68207
68274
|
const data = JSON.parse(s2);
|
|
68208
68275
|
this.fromJSON(data);
|
|
68209
|
-
return
|
|
68276
|
+
return resolve45();
|
|
68210
68277
|
} catch (err) {
|
|
68211
68278
|
return reject(err);
|
|
68212
68279
|
}
|
|
@@ -70039,7 +70106,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70039
70106
|
* @return A promise that resolves with the executable response.
|
|
70040
70107
|
*/
|
|
70041
70108
|
retrieveResponseFromExecutable(envMap) {
|
|
70042
|
-
return new Promise((
|
|
70109
|
+
return new Promise((resolve45, reject) => {
|
|
70043
70110
|
const child = childProcess.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
|
|
70044
70111
|
env: { ...process.env, ...Object.fromEntries(envMap) }
|
|
70045
70112
|
});
|
|
@@ -70061,7 +70128,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70061
70128
|
try {
|
|
70062
70129
|
const responseJson = JSON.parse(output);
|
|
70063
70130
|
const response = new executable_response_1.ExecutableResponse(responseJson);
|
|
70064
|
-
return
|
|
70131
|
+
return resolve45(response);
|
|
70065
70132
|
} catch (error) {
|
|
70066
70133
|
if (error instanceof executable_response_1.ExecutableResponseError) {
|
|
70067
70134
|
return reject(error);
|
|
@@ -70964,7 +71031,7 @@ var require_googleauth = __commonJS({
|
|
|
70964
71031
|
}
|
|
70965
71032
|
}
|
|
70966
71033
|
fromStreamAsync(inputStream, options) {
|
|
70967
|
-
return new Promise((
|
|
71034
|
+
return new Promise((resolve45, reject) => {
|
|
70968
71035
|
if (!inputStream) {
|
|
70969
71036
|
throw new Error("Must pass in a stream containing the Google auth settings.");
|
|
70970
71037
|
}
|
|
@@ -70974,7 +71041,7 @@ var require_googleauth = __commonJS({
|
|
|
70974
71041
|
try {
|
|
70975
71042
|
const data = JSON.parse(chunks.join(""));
|
|
70976
71043
|
const r2 = this._cacheClientFromJSON(data, options);
|
|
70977
|
-
return
|
|
71044
|
+
return resolve45(r2);
|
|
70978
71045
|
} catch (err) {
|
|
70979
71046
|
if (!this.keyFilename)
|
|
70980
71047
|
throw err;
|
|
@@ -70984,7 +71051,7 @@ var require_googleauth = __commonJS({
|
|
|
70984
71051
|
});
|
|
70985
71052
|
this.cachedCredential = client;
|
|
70986
71053
|
this.setGapicJWTValues(client);
|
|
70987
|
-
return
|
|
71054
|
+
return resolve45(client);
|
|
70988
71055
|
}
|
|
70989
71056
|
} catch (err) {
|
|
70990
71057
|
return reject(err);
|
|
@@ -71020,17 +71087,17 @@ var require_googleauth = __commonJS({
|
|
|
71020
71087
|
* Run the Google Cloud SDK command that prints the default project ID
|
|
71021
71088
|
*/
|
|
71022
71089
|
async getDefaultServiceProjectId() {
|
|
71023
|
-
return new Promise((
|
|
71090
|
+
return new Promise((resolve45) => {
|
|
71024
71091
|
(0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout2) => {
|
|
71025
71092
|
if (!err && stdout2) {
|
|
71026
71093
|
try {
|
|
71027
71094
|
const projectId = JSON.parse(stdout2).configuration.properties.core.project;
|
|
71028
|
-
|
|
71095
|
+
resolve45(projectId);
|
|
71029
71096
|
return;
|
|
71030
71097
|
} catch (e3) {
|
|
71031
71098
|
}
|
|
71032
71099
|
}
|
|
71033
|
-
|
|
71100
|
+
resolve45(null);
|
|
71034
71101
|
});
|
|
71035
71102
|
});
|
|
71036
71103
|
}
|
|
@@ -78873,14 +78940,14 @@ function __asyncValues(o) {
|
|
|
78873
78940
|
}, i2);
|
|
78874
78941
|
function verb(n) {
|
|
78875
78942
|
i2[n] = o[n] && function(v2) {
|
|
78876
|
-
return new Promise(function(
|
|
78877
|
-
v2 = o[n](v2), settle(
|
|
78943
|
+
return new Promise(function(resolve45, reject) {
|
|
78944
|
+
v2 = o[n](v2), settle(resolve45, reject, v2.done, v2.value);
|
|
78878
78945
|
});
|
|
78879
78946
|
};
|
|
78880
78947
|
}
|
|
78881
|
-
function settle(
|
|
78948
|
+
function settle(resolve45, reject, d2, v2) {
|
|
78882
78949
|
Promise.resolve(v2).then(function(v3) {
|
|
78883
|
-
|
|
78950
|
+
resolve45({ value: v3, done: d2 });
|
|
78884
78951
|
}, reject);
|
|
78885
78952
|
}
|
|
78886
78953
|
}
|
|
@@ -89370,8 +89437,8 @@ var init_node4 = __esm({
|
|
|
89370
89437
|
const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
|
|
89371
89438
|
let onopenResolve = () => {
|
|
89372
89439
|
};
|
|
89373
|
-
const onopenPromise = new Promise((
|
|
89374
|
-
onopenResolve =
|
|
89440
|
+
const onopenPromise = new Promise((resolve45) => {
|
|
89441
|
+
onopenResolve = resolve45;
|
|
89375
89442
|
});
|
|
89376
89443
|
const callbacks = params.callbacks;
|
|
89377
89444
|
const onopenAwaitedCallback = function() {
|
|
@@ -89577,8 +89644,8 @@ var init_node4 = __esm({
|
|
|
89577
89644
|
}
|
|
89578
89645
|
let onopenResolve = () => {
|
|
89579
89646
|
};
|
|
89580
|
-
const onopenPromise = new Promise((
|
|
89581
|
-
onopenResolve =
|
|
89647
|
+
const onopenPromise = new Promise((resolve45) => {
|
|
89648
|
+
onopenResolve = resolve45;
|
|
89582
89649
|
});
|
|
89583
89650
|
const callbacks = params.callbacks;
|
|
89584
89651
|
const onopenAwaitedCallback = function() {
|
|
@@ -91926,7 +91993,7 @@ var init_node4 = __esm({
|
|
|
91926
91993
|
return void 0;
|
|
91927
91994
|
}
|
|
91928
91995
|
};
|
|
91929
|
-
sleep$1 = (ms) => new Promise((
|
|
91996
|
+
sleep$1 = (ms) => new Promise((resolve45) => setTimeout(resolve45, ms));
|
|
91930
91997
|
FallbackEncoder = ({ headers, body }) => {
|
|
91931
91998
|
return {
|
|
91932
91999
|
bodyHeaders: {
|
|
@@ -92435,8 +92502,8 @@ ${underline2}`);
|
|
|
92435
92502
|
};
|
|
92436
92503
|
APIPromise = class _APIPromise extends Promise {
|
|
92437
92504
|
constructor(client, responsePromise, parseResponse = defaultParseResponse) {
|
|
92438
|
-
super((
|
|
92439
|
-
|
|
92505
|
+
super((resolve45) => {
|
|
92506
|
+
resolve45(null);
|
|
92440
92507
|
});
|
|
92441
92508
|
this.responsePromise = responsePromise;
|
|
92442
92509
|
this.parseResponse = parseResponse;
|
|
@@ -94894,11 +94961,11 @@ var init_capture2 = __esm({
|
|
|
94894
94961
|
} catch (err) {
|
|
94895
94962
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
94896
94963
|
try {
|
|
94897
|
-
const { mkdirSync:
|
|
94898
|
-
|
|
94964
|
+
const { mkdirSync: mkdirSync43, writeFileSync: writeFileSync36 } = await import("fs");
|
|
94965
|
+
mkdirSync43(outputDir, { recursive: true });
|
|
94899
94966
|
const isTimeout = /timeout|timed out/i.test(errMsg);
|
|
94900
94967
|
const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
|
|
94901
|
-
|
|
94968
|
+
writeFileSync36(
|
|
94902
94969
|
`${outputDir}/BLOCKED.md`,
|
|
94903
94970
|
`# Capture Failed
|
|
94904
94971
|
|
|
@@ -94930,6 +94997,1136 @@ URL: ${url}
|
|
|
94930
94997
|
}
|
|
94931
94998
|
});
|
|
94932
94999
|
|
|
95000
|
+
// src/commands/lambda/state.ts
|
|
95001
|
+
var state_exports = {};
|
|
95002
|
+
__export(state_exports, {
|
|
95003
|
+
DEFAULT_STACK_NAME: () => DEFAULT_STACK_NAME,
|
|
95004
|
+
deleteStackOutputs: () => deleteStackOutputs,
|
|
95005
|
+
listStackNames: () => listStackNames,
|
|
95006
|
+
readStackOutputs: () => readStackOutputs,
|
|
95007
|
+
requireStack: () => requireStack,
|
|
95008
|
+
stateFilePath: () => stateFilePath,
|
|
95009
|
+
writeStackOutputs: () => writeStackOutputs
|
|
95010
|
+
});
|
|
95011
|
+
import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync48, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
|
|
95012
|
+
import { dirname as dirname28, join as join80 } from "path";
|
|
95013
|
+
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
95014
|
+
return join80(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
95015
|
+
}
|
|
95016
|
+
function writeStackOutputs(outputs, cwd = process.cwd()) {
|
|
95017
|
+
const path2 = stateFilePath(outputs.stackName, cwd);
|
|
95018
|
+
mkdirSync41(dirname28(path2), { recursive: true });
|
|
95019
|
+
writeFileSync35(path2, JSON.stringify(outputs, null, 2) + "\n");
|
|
95020
|
+
return path2;
|
|
95021
|
+
}
|
|
95022
|
+
function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
95023
|
+
const path2 = stateFilePath(stackName, cwd);
|
|
95024
|
+
if (!existsSync69(path2)) return null;
|
|
95025
|
+
try {
|
|
95026
|
+
return JSON.parse(readFileSync48(path2, "utf-8"));
|
|
95027
|
+
} catch {
|
|
95028
|
+
return null;
|
|
95029
|
+
}
|
|
95030
|
+
}
|
|
95031
|
+
function deleteStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
95032
|
+
const path2 = stateFilePath(stackName, cwd);
|
|
95033
|
+
if (existsSync69(path2)) rmSync16(path2);
|
|
95034
|
+
}
|
|
95035
|
+
function listStackNames(cwd = process.cwd()) {
|
|
95036
|
+
const dir = join80(cwd, STATE_DIR_NAME);
|
|
95037
|
+
if (!existsSync69(dir)) return [];
|
|
95038
|
+
return readdirSync28(dir).filter((f3) => f3.startsWith(STATE_FILE_PREFIX) && f3.endsWith(".json")).map((f3) => f3.slice(STATE_FILE_PREFIX.length, -".json".length));
|
|
95039
|
+
}
|
|
95040
|
+
function requireStack(stackName, cwd = process.cwd()) {
|
|
95041
|
+
const stack = readStackOutputs(stackName, cwd);
|
|
95042
|
+
if (!stack) {
|
|
95043
|
+
const known = listStackNames(cwd);
|
|
95044
|
+
let hint = `Run \`hyperframes lambda deploy${stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${stackName}`}\` first.`;
|
|
95045
|
+
if (known.length) {
|
|
95046
|
+
hint += ` Known stacks here: ${known.join(", ")}.`;
|
|
95047
|
+
}
|
|
95048
|
+
console.error(
|
|
95049
|
+
`[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${hint}`
|
|
95050
|
+
);
|
|
95051
|
+
process.exit(1);
|
|
95052
|
+
}
|
|
95053
|
+
return stack;
|
|
95054
|
+
}
|
|
95055
|
+
var STATE_DIR_NAME, STATE_FILE_PREFIX, DEFAULT_STACK_NAME;
|
|
95056
|
+
var init_state = __esm({
|
|
95057
|
+
"src/commands/lambda/state.ts"() {
|
|
95058
|
+
"use strict";
|
|
95059
|
+
STATE_DIR_NAME = ".hyperframes";
|
|
95060
|
+
STATE_FILE_PREFIX = "lambda-stack-";
|
|
95061
|
+
DEFAULT_STACK_NAME = "hyperframes-default";
|
|
95062
|
+
}
|
|
95063
|
+
});
|
|
95064
|
+
|
|
95065
|
+
// src/commands/lambda/sam.ts
|
|
95066
|
+
import { execFileSync as execFileSync9, spawnSync as spawnSync4 } from "child_process";
|
|
95067
|
+
import { existsSync as existsSync70 } from "fs";
|
|
95068
|
+
import { join as join81 } from "path";
|
|
95069
|
+
function assertSamAvailable() {
|
|
95070
|
+
try {
|
|
95071
|
+
execFileSync9("sam", ["--version"], { stdio: "ignore" });
|
|
95072
|
+
} catch {
|
|
95073
|
+
throw new Error(
|
|
95074
|
+
"`sam` CLI not found on PATH. Install AWS SAM CLI from https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html and retry."
|
|
95075
|
+
);
|
|
95076
|
+
}
|
|
95077
|
+
}
|
|
95078
|
+
function assertAwsCliAvailable() {
|
|
95079
|
+
try {
|
|
95080
|
+
execFileSync9("aws", ["--version"], { stdio: "ignore" });
|
|
95081
|
+
} catch {
|
|
95082
|
+
throw new Error(
|
|
95083
|
+
"`aws` CLI not found on PATH. Install from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html and configure credentials before retrying."
|
|
95084
|
+
);
|
|
95085
|
+
}
|
|
95086
|
+
}
|
|
95087
|
+
function locateSamTemplate(repoRoot2) {
|
|
95088
|
+
const candidate = join81(repoRoot2, "examples", "aws-lambda", "template.yaml");
|
|
95089
|
+
if (!existsSync70(candidate)) {
|
|
95090
|
+
throw new Error(
|
|
95091
|
+
`[lambda] SAM template not found at ${candidate}. If you're running from an installed package, point --sam-template at your local copy of examples/aws-lambda/template.yaml.`
|
|
95092
|
+
);
|
|
95093
|
+
}
|
|
95094
|
+
return candidate;
|
|
95095
|
+
}
|
|
95096
|
+
function samDeploy(opts) {
|
|
95097
|
+
assertSamAvailable();
|
|
95098
|
+
const paramOverrides = [
|
|
95099
|
+
`ChromeSource=${opts.chromeSource ?? "sparticuz"}`,
|
|
95100
|
+
`ReservedConcurrency=${opts.reservedConcurrency ?? -1}`
|
|
95101
|
+
];
|
|
95102
|
+
if (opts.lambdaMemoryMb !== void 0) {
|
|
95103
|
+
paramOverrides.push(`LambdaMemoryMb=${opts.lambdaMemoryMb}`);
|
|
95104
|
+
}
|
|
95105
|
+
const args = [
|
|
95106
|
+
"deploy",
|
|
95107
|
+
"--stack-name",
|
|
95108
|
+
opts.stackName,
|
|
95109
|
+
"--region",
|
|
95110
|
+
opts.region,
|
|
95111
|
+
"--resolve-s3",
|
|
95112
|
+
"--capabilities",
|
|
95113
|
+
"CAPABILITY_IAM",
|
|
95114
|
+
"--no-confirm-changeset",
|
|
95115
|
+
"--no-fail-on-empty-changeset",
|
|
95116
|
+
"--parameter-overrides",
|
|
95117
|
+
...paramOverrides
|
|
95118
|
+
];
|
|
95119
|
+
if (opts.awsProfile) {
|
|
95120
|
+
args.push("--profile", opts.awsProfile);
|
|
95121
|
+
}
|
|
95122
|
+
const samDir = join81(opts.repoRoot, "examples", "aws-lambda");
|
|
95123
|
+
const result = spawnSync4("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
|
|
95124
|
+
if (result.status !== 0) {
|
|
95125
|
+
throw new Error(`[lambda] sam deploy exited with code ${result.status ?? "unknown"}`);
|
|
95126
|
+
}
|
|
95127
|
+
}
|
|
95128
|
+
function samDelete(opts) {
|
|
95129
|
+
assertSamAvailable();
|
|
95130
|
+
const args = ["delete", "--stack-name", opts.stackName, "--region", opts.region, "--no-prompts"];
|
|
95131
|
+
if (opts.awsProfile) {
|
|
95132
|
+
args.push("--profile", opts.awsProfile);
|
|
95133
|
+
}
|
|
95134
|
+
const samDir = join81(opts.repoRoot, "examples", "aws-lambda");
|
|
95135
|
+
const result = spawnSync4("sam", args, { cwd: samDir, stdio: opts.stdio ?? "inherit" });
|
|
95136
|
+
if (result.status !== 0) {
|
|
95137
|
+
throw new Error(`[lambda] sam delete exited with code ${result.status ?? "unknown"}`);
|
|
95138
|
+
}
|
|
95139
|
+
}
|
|
95140
|
+
function fetchStackOutputs(opts) {
|
|
95141
|
+
assertAwsCliAvailable();
|
|
95142
|
+
const args = [
|
|
95143
|
+
"cloudformation",
|
|
95144
|
+
"describe-stacks",
|
|
95145
|
+
"--stack-name",
|
|
95146
|
+
opts.stackName,
|
|
95147
|
+
"--region",
|
|
95148
|
+
opts.region,
|
|
95149
|
+
"--query",
|
|
95150
|
+
"Stacks[0].Outputs",
|
|
95151
|
+
"--output",
|
|
95152
|
+
"json"
|
|
95153
|
+
];
|
|
95154
|
+
if (opts.awsProfile) {
|
|
95155
|
+
args.unshift("--profile", opts.awsProfile);
|
|
95156
|
+
}
|
|
95157
|
+
const out = execFileSync9("aws", args, { encoding: "utf-8" });
|
|
95158
|
+
const parsed = JSON.parse(out);
|
|
95159
|
+
const byKey = new Map(parsed.map((o) => [o.OutputKey, o.OutputValue]));
|
|
95160
|
+
const bucketName = byKey.get("RenderBucketName");
|
|
95161
|
+
const functionName = byKey.get("RenderFunctionArn");
|
|
95162
|
+
const stateMachineArn = byKey.get("RenderStateMachineArn");
|
|
95163
|
+
if (!bucketName || !functionName || !stateMachineArn) {
|
|
95164
|
+
throw new Error(
|
|
95165
|
+
`[lambda] stack ${opts.stackName} is missing one of RenderBucketName/RenderFunctionArn/RenderStateMachineArn. Got keys: ${[...byKey.keys()].join(", ")}`
|
|
95166
|
+
);
|
|
95167
|
+
}
|
|
95168
|
+
return {
|
|
95169
|
+
bucketName,
|
|
95170
|
+
// RenderFunctionArn is the full ARN; the Lambda function name is the
|
|
95171
|
+
// last colon-segment, which downstream `getRenderProgress` calls use
|
|
95172
|
+
// for cost math + CloudWatch lookups.
|
|
95173
|
+
functionName: functionName.split(":").pop() ?? functionName,
|
|
95174
|
+
stateMachineArn
|
|
95175
|
+
};
|
|
95176
|
+
}
|
|
95177
|
+
var init_sam = __esm({
|
|
95178
|
+
"src/commands/lambda/sam.ts"() {
|
|
95179
|
+
"use strict";
|
|
95180
|
+
}
|
|
95181
|
+
});
|
|
95182
|
+
|
|
95183
|
+
// src/commands/lambda/repoRoot.ts
|
|
95184
|
+
import { existsSync as existsSync71 } from "fs";
|
|
95185
|
+
import { dirname as dirname29, resolve as resolve43 } from "path";
|
|
95186
|
+
import { fileURLToPath as fileURLToPath11 } from "url";
|
|
95187
|
+
function repoRoot() {
|
|
95188
|
+
const override = process.env.HYPERFRAMES_REPO_ROOT;
|
|
95189
|
+
if (override && existsSync71(resolve43(override, "packages", "aws-lambda", "package.json"))) {
|
|
95190
|
+
return override;
|
|
95191
|
+
}
|
|
95192
|
+
let dir = dirname29(fileURLToPath11(import.meta.url));
|
|
95193
|
+
for (let depth = 0; depth < 12; depth++) {
|
|
95194
|
+
if (existsSync71(resolve43(dir, "packages", "aws-lambda", "package.json"))) {
|
|
95195
|
+
return dir;
|
|
95196
|
+
}
|
|
95197
|
+
const parent = dirname29(dir);
|
|
95198
|
+
if (parent === dir) break;
|
|
95199
|
+
dir = parent;
|
|
95200
|
+
}
|
|
95201
|
+
throw new Error(
|
|
95202
|
+
"[hyperframes lambda] could not find the repo root (no packages/aws-lambda/ above this CLI's source). Run `hyperframes lambda` from within a hyperframes checkout, or set HYPERFRAMES_REPO_ROOT explicitly."
|
|
95203
|
+
);
|
|
95204
|
+
}
|
|
95205
|
+
var init_repoRoot = __esm({
|
|
95206
|
+
"src/commands/lambda/repoRoot.ts"() {
|
|
95207
|
+
"use strict";
|
|
95208
|
+
}
|
|
95209
|
+
});
|
|
95210
|
+
|
|
95211
|
+
// src/commands/lambda/deploy.ts
|
|
95212
|
+
var deploy_exports = {};
|
|
95213
|
+
__export(deploy_exports, {
|
|
95214
|
+
runDeploy: () => runDeploy
|
|
95215
|
+
});
|
|
95216
|
+
import { spawnSync as spawnSync5 } from "child_process";
|
|
95217
|
+
import { existsSync as existsSync72 } from "fs";
|
|
95218
|
+
import { join as join82, resolve as resolve44 } from "path";
|
|
95219
|
+
async function runDeploy(args = {}) {
|
|
95220
|
+
const resolved = {
|
|
95221
|
+
stackName: args.stackName ?? DEFAULT_STACK_NAME,
|
|
95222
|
+
region: args.region ?? process.env.AWS_REGION ?? DEFAULT_REGION,
|
|
95223
|
+
awsProfile: args.awsProfile ?? process.env.AWS_PROFILE,
|
|
95224
|
+
reservedConcurrency: args.reservedConcurrency ?? DEFAULT_CONCURRENCY,
|
|
95225
|
+
chromeSource: args.chromeSource ?? "sparticuz",
|
|
95226
|
+
lambdaMemoryMb: args.lambdaMemoryMb ?? DEFAULT_MEMORY_MB,
|
|
95227
|
+
skipBuild: args.skipBuild ?? false
|
|
95228
|
+
};
|
|
95229
|
+
const root = repoRoot();
|
|
95230
|
+
locateSamTemplate(root);
|
|
95231
|
+
if (!resolved.skipBuild) {
|
|
95232
|
+
console.log(c2.dim("\u2192 Building handler ZIP"));
|
|
95233
|
+
buildHandlerZip(root);
|
|
95234
|
+
} else {
|
|
95235
|
+
const zip = join82(root, "packages", "aws-lambda", "dist", "handler.zip");
|
|
95236
|
+
if (!existsSync72(zip)) {
|
|
95237
|
+
throw new Error(
|
|
95238
|
+
`--skip-build set but ${zip} does not exist. Run \`bun run --cwd packages/aws-lambda build:zip\` first or drop --skip-build.`
|
|
95239
|
+
);
|
|
95240
|
+
}
|
|
95241
|
+
}
|
|
95242
|
+
console.log(c2.dim(`\u2192 sam deploy (stack=${resolved.stackName} region=${resolved.region})`));
|
|
95243
|
+
samDeploy({
|
|
95244
|
+
repoRoot: root,
|
|
95245
|
+
stackName: resolved.stackName,
|
|
95246
|
+
region: resolved.region,
|
|
95247
|
+
awsProfile: resolved.awsProfile,
|
|
95248
|
+
reservedConcurrency: resolved.reservedConcurrency,
|
|
95249
|
+
lambdaMemoryMb: resolved.lambdaMemoryMb,
|
|
95250
|
+
chromeSource: resolved.chromeSource
|
|
95251
|
+
});
|
|
95252
|
+
console.log(c2.dim("\u2192 Reading stack outputs"));
|
|
95253
|
+
const outputs = fetchStackOutputs({
|
|
95254
|
+
stackName: resolved.stackName,
|
|
95255
|
+
region: resolved.region,
|
|
95256
|
+
awsProfile: resolved.awsProfile
|
|
95257
|
+
});
|
|
95258
|
+
const statePath = writeStackOutputs({
|
|
95259
|
+
stackName: resolved.stackName,
|
|
95260
|
+
region: resolved.region,
|
|
95261
|
+
bucketName: outputs.bucketName,
|
|
95262
|
+
stateMachineArn: outputs.stateMachineArn,
|
|
95263
|
+
functionName: outputs.functionName,
|
|
95264
|
+
lambdaMemoryMb: resolved.lambdaMemoryMb,
|
|
95265
|
+
deployedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
95266
|
+
});
|
|
95267
|
+
console.log();
|
|
95268
|
+
console.log(c2.success("Stack deployed."));
|
|
95269
|
+
console.log(` ${c2.dim("Bucket:")} ${outputs.bucketName}`);
|
|
95270
|
+
console.log(` ${c2.dim("State machine:")} ${outputs.stateMachineArn}`);
|
|
95271
|
+
console.log(` ${c2.dim("Function:")} ${outputs.functionName}`);
|
|
95272
|
+
console.log(` ${c2.dim("State file:")} ${resolve44(statePath)}`);
|
|
95273
|
+
console.log();
|
|
95274
|
+
console.log(c2.dim(`Render with: hyperframes lambda render <project-dir>`));
|
|
95275
|
+
}
|
|
95276
|
+
function buildHandlerZip(root) {
|
|
95277
|
+
const result = spawnSync5(
|
|
95278
|
+
"bun",
|
|
95279
|
+
["run", "--cwd", join82(root, "packages", "aws-lambda"), "build:zip"],
|
|
95280
|
+
{ stdio: "inherit" }
|
|
95281
|
+
);
|
|
95282
|
+
if (result.status !== 0) {
|
|
95283
|
+
throw new Error(
|
|
95284
|
+
`[lambda deploy] handler ZIP build exited with code ${result.status ?? "unknown"}`
|
|
95285
|
+
);
|
|
95286
|
+
}
|
|
95287
|
+
}
|
|
95288
|
+
var DEFAULT_REGION, DEFAULT_MEMORY_MB, DEFAULT_CONCURRENCY;
|
|
95289
|
+
var init_deploy = __esm({
|
|
95290
|
+
"src/commands/lambda/deploy.ts"() {
|
|
95291
|
+
"use strict";
|
|
95292
|
+
init_colors();
|
|
95293
|
+
init_sam();
|
|
95294
|
+
init_repoRoot();
|
|
95295
|
+
init_state();
|
|
95296
|
+
DEFAULT_REGION = "us-east-1";
|
|
95297
|
+
DEFAULT_MEMORY_MB = 10240;
|
|
95298
|
+
DEFAULT_CONCURRENCY = 8;
|
|
95299
|
+
}
|
|
95300
|
+
});
|
|
95301
|
+
|
|
95302
|
+
// src/commands/lambda/sites.ts
|
|
95303
|
+
var sites_exports = {};
|
|
95304
|
+
__export(sites_exports, {
|
|
95305
|
+
runSitesCreate: () => runSitesCreate
|
|
95306
|
+
});
|
|
95307
|
+
import { resolve as resolvePath } from "path";
|
|
95308
|
+
async function loadSDK() {
|
|
95309
|
+
return import("@hyperframes/aws-lambda/sdk");
|
|
95310
|
+
}
|
|
95311
|
+
async function runSitesCreate(args) {
|
|
95312
|
+
const stack = requireStack(args.stackName);
|
|
95313
|
+
const projectDir = resolvePath(args.projectDir);
|
|
95314
|
+
const { deploySite } = await loadSDK();
|
|
95315
|
+
const handle = await deploySite({
|
|
95316
|
+
projectDir,
|
|
95317
|
+
bucketName: stack.bucketName,
|
|
95318
|
+
region: stack.region,
|
|
95319
|
+
siteId: args.siteId
|
|
95320
|
+
});
|
|
95321
|
+
if (args.json) {
|
|
95322
|
+
console.log(JSON.stringify(handle, null, 2));
|
|
95323
|
+
return;
|
|
95324
|
+
}
|
|
95325
|
+
console.log(
|
|
95326
|
+
c2.success(handle.uploaded ? "Site uploaded." : "Site already up to date (skipped upload).")
|
|
95327
|
+
);
|
|
95328
|
+
console.log(` ${c2.dim("Site ID:")} ${handle.siteId}`);
|
|
95329
|
+
console.log(` ${c2.dim("S3 URI:")} ${handle.projectS3Uri}`);
|
|
95330
|
+
console.log(` ${c2.dim("Bytes:")} ${handle.bytes}`);
|
|
95331
|
+
console.log(` ${c2.dim("Uploaded at:")} ${handle.uploadedAt}`);
|
|
95332
|
+
console.log();
|
|
95333
|
+
console.log(
|
|
95334
|
+
c2.dim(
|
|
95335
|
+
`Render with: hyperframes lambda render ${args.projectDir} --site-id=${handle.siteId}` + (args.stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${args.stackName}`)
|
|
95336
|
+
)
|
|
95337
|
+
);
|
|
95338
|
+
}
|
|
95339
|
+
var init_sites = __esm({
|
|
95340
|
+
"src/commands/lambda/sites.ts"() {
|
|
95341
|
+
"use strict";
|
|
95342
|
+
init_colors();
|
|
95343
|
+
init_state();
|
|
95344
|
+
}
|
|
95345
|
+
});
|
|
95346
|
+
|
|
95347
|
+
// src/commands/lambda/render.ts
|
|
95348
|
+
var render_exports2 = {};
|
|
95349
|
+
__export(render_exports2, {
|
|
95350
|
+
runRender: () => runRender
|
|
95351
|
+
});
|
|
95352
|
+
import { resolve as resolvePath2 } from "path";
|
|
95353
|
+
async function loadSDK2() {
|
|
95354
|
+
return import("@hyperframes/aws-lambda/sdk");
|
|
95355
|
+
}
|
|
95356
|
+
async function runRender(args) {
|
|
95357
|
+
const stack = requireStack(args.stackName);
|
|
95358
|
+
const projectDir = resolvePath2(args.projectDir);
|
|
95359
|
+
const config = {
|
|
95360
|
+
fps: args.fps,
|
|
95361
|
+
width: args.width,
|
|
95362
|
+
height: args.height,
|
|
95363
|
+
format: args.format,
|
|
95364
|
+
codec: args.codec,
|
|
95365
|
+
quality: args.quality,
|
|
95366
|
+
chunkSize: args.chunkSize,
|
|
95367
|
+
maxParallelChunks: args.maxParallelChunks,
|
|
95368
|
+
runtimeCap: "lambda"
|
|
95369
|
+
};
|
|
95370
|
+
const siteHandle = args.siteId ? {
|
|
95371
|
+
siteId: args.siteId,
|
|
95372
|
+
bucketName: stack.bucketName,
|
|
95373
|
+
projectS3Uri: `s3://${stack.bucketName}/sites/${args.siteId}/project.tar.gz`,
|
|
95374
|
+
bytes: 0,
|
|
95375
|
+
uploadedAt: "",
|
|
95376
|
+
uploaded: false
|
|
95377
|
+
} : void 0;
|
|
95378
|
+
const { renderToLambda } = await loadSDK2();
|
|
95379
|
+
const handle = await renderToLambda({
|
|
95380
|
+
projectDir: siteHandle ? void 0 : projectDir,
|
|
95381
|
+
siteHandle,
|
|
95382
|
+
bucketName: stack.bucketName,
|
|
95383
|
+
stateMachineArn: stack.stateMachineArn,
|
|
95384
|
+
region: stack.region,
|
|
95385
|
+
config,
|
|
95386
|
+
executionName: args.executionName,
|
|
95387
|
+
outputKey: args.outputKey
|
|
95388
|
+
});
|
|
95389
|
+
if (args.json) {
|
|
95390
|
+
if (args.wait) {
|
|
95391
|
+
await waitForCompletion(handle.executionArn, stack, args.waitIntervalMs, args.json);
|
|
95392
|
+
} else {
|
|
95393
|
+
console.log(JSON.stringify(handle, null, 2));
|
|
95394
|
+
}
|
|
95395
|
+
return;
|
|
95396
|
+
}
|
|
95397
|
+
console.log(c2.success("Render started."));
|
|
95398
|
+
console.log(` ${c2.dim("Render ID:")} ${handle.renderId}`);
|
|
95399
|
+
console.log(` ${c2.dim("Execution ARN:")} ${handle.executionArn}`);
|
|
95400
|
+
console.log(` ${c2.dim("Output S3 URI:")} ${handle.outputS3Uri}`);
|
|
95401
|
+
console.log(` ${c2.dim("Project S3:")} ${handle.projectS3Uri}`);
|
|
95402
|
+
console.log(` ${c2.dim("Stack state:")} ${stateFilePath(args.stackName)}`);
|
|
95403
|
+
console.log();
|
|
95404
|
+
if (args.wait) {
|
|
95405
|
+
await waitForCompletion(handle.executionArn, stack, args.waitIntervalMs, args.json);
|
|
95406
|
+
return;
|
|
95407
|
+
}
|
|
95408
|
+
console.log(c2.dim(`Poll with: hyperframes lambda progress ${handle.renderId}`));
|
|
95409
|
+
}
|
|
95410
|
+
async function waitForCompletion(executionArn, stack, intervalMs, json) {
|
|
95411
|
+
const { getRenderProgress } = await loadSDK2();
|
|
95412
|
+
let lastRendered = -1;
|
|
95413
|
+
while (true) {
|
|
95414
|
+
const progress = await getRenderProgress({
|
|
95415
|
+
executionArn,
|
|
95416
|
+
region: stack.region,
|
|
95417
|
+
defaultMemorySizeMb: stack.lambdaMemoryMb
|
|
95418
|
+
});
|
|
95419
|
+
if (!json && progress.framesRendered !== lastRendered) {
|
|
95420
|
+
lastRendered = progress.framesRendered;
|
|
95421
|
+
const total = progress.totalFrames ?? "?";
|
|
95422
|
+
const pct = Math.round(progress.overallProgress * 100);
|
|
95423
|
+
console.log(
|
|
95424
|
+
` ${c2.dim(`[${progress.status}]`)} ${pct}% \u2022 ${progress.framesRendered}/${total} frames \u2022 ${progress.costs.displayCost}`
|
|
95425
|
+
);
|
|
95426
|
+
}
|
|
95427
|
+
if (progress.status !== "RUNNING") {
|
|
95428
|
+
if (json) {
|
|
95429
|
+
console.log(JSON.stringify(progress, null, 2));
|
|
95430
|
+
} else if (progress.status === "SUCCEEDED" && progress.outputFile) {
|
|
95431
|
+
console.log();
|
|
95432
|
+
console.log(c2.success("Render complete."));
|
|
95433
|
+
console.log(` ${c2.dim("Output:")} ${progress.outputFile.s3Uri}`);
|
|
95434
|
+
console.log(` ${c2.dim("Size:")} ${progress.outputFile.bytes ?? "?"} bytes`);
|
|
95435
|
+
console.log(` ${c2.dim("Total cost:")} ${progress.costs.displayCost}`);
|
|
95436
|
+
} else {
|
|
95437
|
+
console.log();
|
|
95438
|
+
console.log(c2.error(`Render ended with status ${progress.status}.`));
|
|
95439
|
+
for (const err of progress.errors) {
|
|
95440
|
+
console.log(` ${c2.dim(err.state)}: ${err.error} \u2014 ${err.cause}`);
|
|
95441
|
+
}
|
|
95442
|
+
process.exitCode = 1;
|
|
95443
|
+
}
|
|
95444
|
+
return;
|
|
95445
|
+
}
|
|
95446
|
+
await sleep2(intervalMs);
|
|
95447
|
+
}
|
|
95448
|
+
}
|
|
95449
|
+
function sleep2(ms) {
|
|
95450
|
+
return new Promise((res) => setTimeout(res, ms));
|
|
95451
|
+
}
|
|
95452
|
+
var init_render3 = __esm({
|
|
95453
|
+
"src/commands/lambda/render.ts"() {
|
|
95454
|
+
"use strict";
|
|
95455
|
+
init_colors();
|
|
95456
|
+
init_state();
|
|
95457
|
+
}
|
|
95458
|
+
});
|
|
95459
|
+
|
|
95460
|
+
// src/commands/lambda/progress.ts
|
|
95461
|
+
var progress_exports = {};
|
|
95462
|
+
__export(progress_exports, {
|
|
95463
|
+
runProgress: () => runProgress
|
|
95464
|
+
});
|
|
95465
|
+
async function runProgress(args) {
|
|
95466
|
+
const stack = requireStack(args.stackName);
|
|
95467
|
+
const executionArn = args.target.startsWith("arn:") ? args.target : executionArnFromName(stack.stateMachineArn, args.target);
|
|
95468
|
+
const { getRenderProgress } = await import("@hyperframes/aws-lambda/sdk");
|
|
95469
|
+
const progress = await getRenderProgress({
|
|
95470
|
+
executionArn,
|
|
95471
|
+
region: stack.region,
|
|
95472
|
+
defaultMemorySizeMb: stack.lambdaMemoryMb
|
|
95473
|
+
});
|
|
95474
|
+
if (args.json) {
|
|
95475
|
+
console.log(JSON.stringify(progress, null, 2));
|
|
95476
|
+
return;
|
|
95477
|
+
}
|
|
95478
|
+
const pct = Math.round(progress.overallProgress * 100);
|
|
95479
|
+
console.log(`${c2.dim("Status:")} ${statusColor(progress.status)}`);
|
|
95480
|
+
console.log(`${c2.dim("Progress:")} ${pct}%`);
|
|
95481
|
+
console.log(
|
|
95482
|
+
`${c2.dim("Frames:")} ${progress.framesRendered}${progress.totalFrames === null ? "" : ` / ${progress.totalFrames}`}`
|
|
95483
|
+
);
|
|
95484
|
+
console.log(`${c2.dim("Lambdas:")} ${progress.lambdasInvoked}`);
|
|
95485
|
+
console.log(
|
|
95486
|
+
`${c2.dim("Cost:")} ${progress.costs.displayCost} (Lambda $${progress.costs.breakdown.lambdaUsd.toFixed(4)} + SFN $${progress.costs.breakdown.stepFunctionsUsd.toFixed(4)})`
|
|
95487
|
+
);
|
|
95488
|
+
if (progress.outputFile) {
|
|
95489
|
+
console.log(`${c2.dim("Output:")} ${progress.outputFile.s3Uri}`);
|
|
95490
|
+
}
|
|
95491
|
+
if (progress.errors.length > 0) {
|
|
95492
|
+
console.log();
|
|
95493
|
+
console.log(c2.error("Errors:"));
|
|
95494
|
+
for (const err of progress.errors) {
|
|
95495
|
+
console.log(` ${c2.dim(err.state)}: ${err.error} \u2014 ${err.cause}`);
|
|
95496
|
+
}
|
|
95497
|
+
}
|
|
95498
|
+
if (progress.fatalErrorEncountered) {
|
|
95499
|
+
process.exitCode = 1;
|
|
95500
|
+
}
|
|
95501
|
+
}
|
|
95502
|
+
function executionArnFromName(stateMachineArn, name) {
|
|
95503
|
+
return stateMachineArn.replace(":stateMachine:", ":execution:") + `:${name}`;
|
|
95504
|
+
}
|
|
95505
|
+
function statusColor(status) {
|
|
95506
|
+
switch (status) {
|
|
95507
|
+
case "SUCCEEDED":
|
|
95508
|
+
return c2.success(status);
|
|
95509
|
+
case "FAILED":
|
|
95510
|
+
case "TIMED_OUT":
|
|
95511
|
+
case "ABORTED":
|
|
95512
|
+
return c2.error(status);
|
|
95513
|
+
default:
|
|
95514
|
+
return status;
|
|
95515
|
+
}
|
|
95516
|
+
}
|
|
95517
|
+
var init_progress2 = __esm({
|
|
95518
|
+
"src/commands/lambda/progress.ts"() {
|
|
95519
|
+
"use strict";
|
|
95520
|
+
init_colors();
|
|
95521
|
+
init_state();
|
|
95522
|
+
}
|
|
95523
|
+
});
|
|
95524
|
+
|
|
95525
|
+
// src/commands/lambda/destroy.ts
|
|
95526
|
+
var destroy_exports = {};
|
|
95527
|
+
__export(destroy_exports, {
|
|
95528
|
+
runDestroy: () => runDestroy
|
|
95529
|
+
});
|
|
95530
|
+
async function runDestroy(args) {
|
|
95531
|
+
const stack = requireStack(args.stackName);
|
|
95532
|
+
console.log(c2.dim(`\u2192 sam delete (stack=${stack.stackName} region=${stack.region})`));
|
|
95533
|
+
samDelete({
|
|
95534
|
+
repoRoot: repoRoot(),
|
|
95535
|
+
stackName: stack.stackName,
|
|
95536
|
+
region: stack.region,
|
|
95537
|
+
awsProfile: args.awsProfile ?? process.env.AWS_PROFILE
|
|
95538
|
+
});
|
|
95539
|
+
deleteStackOutputs(args.stackName);
|
|
95540
|
+
console.log();
|
|
95541
|
+
console.log(c2.success("Stack torn down."));
|
|
95542
|
+
console.log(
|
|
95543
|
+
c2.dim(
|
|
95544
|
+
`Note: the render bucket "${stack.bucketName}" was deployed with Retain \u2014 empty + delete it via the AWS console or CLI if you want to fully reclaim storage.`
|
|
95545
|
+
)
|
|
95546
|
+
);
|
|
95547
|
+
}
|
|
95548
|
+
var init_destroy = __esm({
|
|
95549
|
+
"src/commands/lambda/destroy.ts"() {
|
|
95550
|
+
"use strict";
|
|
95551
|
+
init_colors();
|
|
95552
|
+
init_state();
|
|
95553
|
+
init_sam();
|
|
95554
|
+
init_repoRoot();
|
|
95555
|
+
}
|
|
95556
|
+
});
|
|
95557
|
+
|
|
95558
|
+
// src/commands/lambda/policies.ts
|
|
95559
|
+
var policies_exports = {};
|
|
95560
|
+
__export(policies_exports, {
|
|
95561
|
+
REQUIRED_ACTIONS: () => REQUIRED_ACTIONS,
|
|
95562
|
+
allRequiredActions: () => allRequiredActions,
|
|
95563
|
+
buildPolicyDocument: () => buildPolicyDocument,
|
|
95564
|
+
buildRoleTrustPolicy: () => buildRoleTrustPolicy,
|
|
95565
|
+
runPolicies: () => runPolicies,
|
|
95566
|
+
validatePolicy: () => validatePolicy
|
|
95567
|
+
});
|
|
95568
|
+
import { readFileSync as readFileSync49 } from "fs";
|
|
95569
|
+
function allRequiredActions() {
|
|
95570
|
+
const set = /* @__PURE__ */ new Set();
|
|
95571
|
+
for (const group of Object.values(REQUIRED_ACTIONS)) {
|
|
95572
|
+
for (const action of group) set.add(action);
|
|
95573
|
+
}
|
|
95574
|
+
return [...set].sort();
|
|
95575
|
+
}
|
|
95576
|
+
function buildPolicyDocument() {
|
|
95577
|
+
return {
|
|
95578
|
+
Version: "2012-10-17",
|
|
95579
|
+
Statement: [
|
|
95580
|
+
{
|
|
95581
|
+
Effect: "Allow",
|
|
95582
|
+
Action: allRequiredActions(),
|
|
95583
|
+
Resource: "*"
|
|
95584
|
+
}
|
|
95585
|
+
]
|
|
95586
|
+
};
|
|
95587
|
+
}
|
|
95588
|
+
function buildRoleTrustPolicy() {
|
|
95589
|
+
return {
|
|
95590
|
+
Version: "2012-10-17",
|
|
95591
|
+
Statement: [
|
|
95592
|
+
{
|
|
95593
|
+
Effect: "Allow",
|
|
95594
|
+
Principal: { Service: "cloudformation.amazonaws.com" },
|
|
95595
|
+
Action: "sts:AssumeRole"
|
|
95596
|
+
}
|
|
95597
|
+
]
|
|
95598
|
+
};
|
|
95599
|
+
}
|
|
95600
|
+
async function runPolicies(args) {
|
|
95601
|
+
switch (args.verb) {
|
|
95602
|
+
case "user": {
|
|
95603
|
+
const doc = buildPolicyDocument();
|
|
95604
|
+
console.log(JSON.stringify(doc, null, 2));
|
|
95605
|
+
if (!args.json) {
|
|
95606
|
+
console.error(
|
|
95607
|
+
c2.dim(
|
|
95608
|
+
"\n# Attach the above as an inline policy to the IAM user/role that runs `hyperframes lambda *`.\n# Scope `Resource` to your stack's ARNs after the first successful deploy."
|
|
95609
|
+
)
|
|
95610
|
+
);
|
|
95611
|
+
}
|
|
95612
|
+
return;
|
|
95613
|
+
}
|
|
95614
|
+
case "role": {
|
|
95615
|
+
const trust = buildRoleTrustPolicy();
|
|
95616
|
+
const inline = buildPolicyDocument();
|
|
95617
|
+
const wrapped = {
|
|
95618
|
+
TrustRelationship: trust,
|
|
95619
|
+
InlinePolicy: inline
|
|
95620
|
+
};
|
|
95621
|
+
console.log(JSON.stringify(wrapped, null, 2));
|
|
95622
|
+
return;
|
|
95623
|
+
}
|
|
95624
|
+
case "validate": {
|
|
95625
|
+
if (!args.inputPath) {
|
|
95626
|
+
const msg = "[lambda policies validate] usage: hyperframes lambda policies validate <policy.json>";
|
|
95627
|
+
if (args.json) {
|
|
95628
|
+
console.log(JSON.stringify({ ok: false, error: msg }, null, 2));
|
|
95629
|
+
process.exitCode = 1;
|
|
95630
|
+
return;
|
|
95631
|
+
}
|
|
95632
|
+
throw new Error(msg);
|
|
95633
|
+
}
|
|
95634
|
+
let result;
|
|
95635
|
+
try {
|
|
95636
|
+
result = validatePolicy(args.inputPath);
|
|
95637
|
+
} catch (err) {
|
|
95638
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
95639
|
+
if (args.json) {
|
|
95640
|
+
console.log(JSON.stringify({ ok: false, error: msg }, null, 2));
|
|
95641
|
+
process.exitCode = 1;
|
|
95642
|
+
return;
|
|
95643
|
+
}
|
|
95644
|
+
console.error(c2.error(`Failed to validate ${args.inputPath}: ${msg}`));
|
|
95645
|
+
process.exitCode = 1;
|
|
95646
|
+
return;
|
|
95647
|
+
}
|
|
95648
|
+
if (args.json) {
|
|
95649
|
+
console.log(JSON.stringify({ ok: result.missing.length === 0, ...result }, null, 2));
|
|
95650
|
+
if (result.missing.length > 0) process.exitCode = 1;
|
|
95651
|
+
return;
|
|
95652
|
+
}
|
|
95653
|
+
for (const warning of result.warnings) {
|
|
95654
|
+
console.warn(c2.dim(`Warning: ${warning}`));
|
|
95655
|
+
}
|
|
95656
|
+
if (result.missing.length === 0) {
|
|
95657
|
+
console.log(c2.success(`Policy covers all ${result.required.length} required actions.`));
|
|
95658
|
+
return;
|
|
95659
|
+
}
|
|
95660
|
+
console.log(c2.error(`Policy is missing ${result.missing.length} required action(s):`));
|
|
95661
|
+
for (const action of result.missing) {
|
|
95662
|
+
console.log(` \u2022 ${action}`);
|
|
95663
|
+
}
|
|
95664
|
+
console.log();
|
|
95665
|
+
console.log(
|
|
95666
|
+
c2.dim("Run `hyperframes lambda policies user` to print the full required policy.")
|
|
95667
|
+
);
|
|
95668
|
+
process.exitCode = 1;
|
|
95669
|
+
return;
|
|
95670
|
+
}
|
|
95671
|
+
}
|
|
95672
|
+
}
|
|
95673
|
+
function validatePolicy(policyPath) {
|
|
95674
|
+
const raw = readFileSync49(policyPath, "utf-8");
|
|
95675
|
+
const parsed = JSON.parse(raw);
|
|
95676
|
+
const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
|
|
95677
|
+
parsed.Statement
|
|
95678
|
+
] : [];
|
|
95679
|
+
const grantedPatterns = [];
|
|
95680
|
+
const warnings = [];
|
|
95681
|
+
for (const stmt of statements) {
|
|
95682
|
+
if (stmt.Effect !== "Allow") continue;
|
|
95683
|
+
if (stmt.NotAction !== void 0) {
|
|
95684
|
+
warnings.push(
|
|
95685
|
+
"Allow statement uses NotAction; the validator only checks positive Action grants, so this statement is being ignored. Convert to an explicit Action list to validate it."
|
|
95686
|
+
);
|
|
95687
|
+
continue;
|
|
95688
|
+
}
|
|
95689
|
+
if (stmt.NotResource !== void 0) {
|
|
95690
|
+
warnings.push(
|
|
95691
|
+
"Allow statement uses NotResource; resource-scoping is not modelled by this validator. Treating the statement as fully granted on its Action set."
|
|
95692
|
+
);
|
|
95693
|
+
}
|
|
95694
|
+
const actions = stmt.Action;
|
|
95695
|
+
if (typeof actions === "string") {
|
|
95696
|
+
grantedPatterns.push(actions);
|
|
95697
|
+
} else if (Array.isArray(actions)) {
|
|
95698
|
+
for (const a of actions) if (typeof a === "string") grantedPatterns.push(a);
|
|
95699
|
+
}
|
|
95700
|
+
}
|
|
95701
|
+
for (const pattern of grantedPatterns) {
|
|
95702
|
+
if (hasMidStringWildcard(pattern)) {
|
|
95703
|
+
warnings.push(
|
|
95704
|
+
`Action pattern ${JSON.stringify(pattern)} contains a mid-string wildcard the validator can't expand; only end-anchored wildcards (\`*\`, \`service:*\`, \`prefix*\`) are honoured.`
|
|
95705
|
+
);
|
|
95706
|
+
}
|
|
95707
|
+
}
|
|
95708
|
+
const required = allRequiredActions();
|
|
95709
|
+
const granted = [];
|
|
95710
|
+
const missing = [];
|
|
95711
|
+
for (const action of required) {
|
|
95712
|
+
if (grantedPatterns.some((pattern) => actionMatches(pattern, action))) {
|
|
95713
|
+
granted.push(action);
|
|
95714
|
+
} else {
|
|
95715
|
+
missing.push(action);
|
|
95716
|
+
}
|
|
95717
|
+
}
|
|
95718
|
+
return { required, granted, missing, warnings };
|
|
95719
|
+
}
|
|
95720
|
+
function hasMidStringWildcard(pattern) {
|
|
95721
|
+
if (pattern === "*") return false;
|
|
95722
|
+
if (pattern.endsWith(":*")) return false;
|
|
95723
|
+
if (pattern.endsWith("*") && !pattern.slice(0, -1).includes("*")) return false;
|
|
95724
|
+
return pattern.includes("*") || pattern.includes("?");
|
|
95725
|
+
}
|
|
95726
|
+
function actionMatches(pattern, action) {
|
|
95727
|
+
if (pattern === "*") return true;
|
|
95728
|
+
if (pattern === action) return true;
|
|
95729
|
+
if (pattern.endsWith(":*")) {
|
|
95730
|
+
const service = pattern.slice(0, -2);
|
|
95731
|
+
return action.startsWith(`${service}:`);
|
|
95732
|
+
}
|
|
95733
|
+
if (pattern.endsWith("*")) {
|
|
95734
|
+
return action.startsWith(pattern.slice(0, -1));
|
|
95735
|
+
}
|
|
95736
|
+
return false;
|
|
95737
|
+
}
|
|
95738
|
+
var REQUIRED_ACTIONS;
|
|
95739
|
+
var init_policies = __esm({
|
|
95740
|
+
"src/commands/lambda/policies.ts"() {
|
|
95741
|
+
"use strict";
|
|
95742
|
+
init_colors();
|
|
95743
|
+
REQUIRED_ACTIONS = {
|
|
95744
|
+
cloudformation: [
|
|
95745
|
+
"cloudformation:CreateChangeSet",
|
|
95746
|
+
"cloudformation:CreateStack",
|
|
95747
|
+
"cloudformation:DeleteChangeSet",
|
|
95748
|
+
"cloudformation:DeleteStack",
|
|
95749
|
+
"cloudformation:DescribeChangeSet",
|
|
95750
|
+
"cloudformation:DescribeStackEvents",
|
|
95751
|
+
"cloudformation:DescribeStackResource",
|
|
95752
|
+
"cloudformation:DescribeStackResources",
|
|
95753
|
+
"cloudformation:DescribeStacks",
|
|
95754
|
+
"cloudformation:ExecuteChangeSet",
|
|
95755
|
+
"cloudformation:GetTemplate",
|
|
95756
|
+
"cloudformation:GetTemplateSummary",
|
|
95757
|
+
"cloudformation:ListStacks",
|
|
95758
|
+
"cloudformation:UpdateStack",
|
|
95759
|
+
"cloudformation:ValidateTemplate"
|
|
95760
|
+
],
|
|
95761
|
+
cloudwatchAlarms: [
|
|
95762
|
+
"cloudwatch:DeleteAlarms",
|
|
95763
|
+
"cloudwatch:DescribeAlarms",
|
|
95764
|
+
"cloudwatch:PutMetricAlarm"
|
|
95765
|
+
],
|
|
95766
|
+
iam: [
|
|
95767
|
+
"iam:AttachRolePolicy",
|
|
95768
|
+
"iam:CreateRole",
|
|
95769
|
+
"iam:DeleteRole",
|
|
95770
|
+
"iam:DeleteRolePolicy",
|
|
95771
|
+
"iam:DetachRolePolicy",
|
|
95772
|
+
"iam:GetRole",
|
|
95773
|
+
"iam:GetRolePolicy",
|
|
95774
|
+
"iam:PassRole",
|
|
95775
|
+
"iam:PutRolePolicy",
|
|
95776
|
+
"iam:TagRole",
|
|
95777
|
+
"iam:UntagRole"
|
|
95778
|
+
],
|
|
95779
|
+
lambda: [
|
|
95780
|
+
"lambda:AddPermission",
|
|
95781
|
+
"lambda:CreateFunction",
|
|
95782
|
+
"lambda:DeleteFunction",
|
|
95783
|
+
"lambda:GetFunction",
|
|
95784
|
+
"lambda:GetFunctionConfiguration",
|
|
95785
|
+
"lambda:InvokeFunction",
|
|
95786
|
+
"lambda:ListFunctions",
|
|
95787
|
+
"lambda:PutFunctionConcurrency",
|
|
95788
|
+
"lambda:RemovePermission",
|
|
95789
|
+
"lambda:TagResource",
|
|
95790
|
+
"lambda:UntagResource",
|
|
95791
|
+
"lambda:UpdateFunctionCode",
|
|
95792
|
+
"lambda:UpdateFunctionConfiguration"
|
|
95793
|
+
],
|
|
95794
|
+
logs: [
|
|
95795
|
+
"logs:CreateLogGroup",
|
|
95796
|
+
"logs:DeleteLogGroup",
|
|
95797
|
+
"logs:DescribeLogGroups",
|
|
95798
|
+
"logs:PutRetentionPolicy",
|
|
95799
|
+
"logs:TagResource"
|
|
95800
|
+
],
|
|
95801
|
+
s3Bucket: [
|
|
95802
|
+
"s3:CreateBucket",
|
|
95803
|
+
"s3:DeleteBucket",
|
|
95804
|
+
"s3:DeleteBucketPolicy",
|
|
95805
|
+
"s3:GetBucketLocation",
|
|
95806
|
+
"s3:GetBucketPolicy",
|
|
95807
|
+
"s3:GetBucketTagging",
|
|
95808
|
+
"s3:GetBucketVersioning",
|
|
95809
|
+
"s3:GetLifecycleConfiguration",
|
|
95810
|
+
"s3:ListAllMyBuckets",
|
|
95811
|
+
"s3:ListBucket",
|
|
95812
|
+
"s3:PutBucketPolicy",
|
|
95813
|
+
"s3:PutBucketTagging",
|
|
95814
|
+
"s3:PutBucketVersioning",
|
|
95815
|
+
"s3:PutLifecycleConfiguration",
|
|
95816
|
+
"s3:PutPublicAccessBlock"
|
|
95817
|
+
],
|
|
95818
|
+
s3Object: ["s3:DeleteObject", "s3:GetObject", "s3:PutObject"],
|
|
95819
|
+
states: [
|
|
95820
|
+
"states:CreateStateMachine",
|
|
95821
|
+
"states:DeleteStateMachine",
|
|
95822
|
+
"states:DescribeExecution",
|
|
95823
|
+
"states:DescribeStateMachine",
|
|
95824
|
+
"states:GetExecutionHistory",
|
|
95825
|
+
"states:ListExecutions",
|
|
95826
|
+
"states:ListStateMachines",
|
|
95827
|
+
"states:StartExecution",
|
|
95828
|
+
"states:StopExecution",
|
|
95829
|
+
"states:TagResource",
|
|
95830
|
+
"states:UntagResource",
|
|
95831
|
+
"states:UpdateStateMachine"
|
|
95832
|
+
]
|
|
95833
|
+
};
|
|
95834
|
+
}
|
|
95835
|
+
});
|
|
95836
|
+
|
|
95837
|
+
// src/commands/lambda.ts
|
|
95838
|
+
var lambda_exports = {};
|
|
95839
|
+
__export(lambda_exports, {
|
|
95840
|
+
default: () => lambda_default,
|
|
95841
|
+
examples: () => examples24
|
|
95842
|
+
});
|
|
95843
|
+
function parseIntFlag(raw) {
|
|
95844
|
+
if (raw === void 0 || raw === null || raw === "") return void 0;
|
|
95845
|
+
const n = Number.parseInt(String(raw), 10);
|
|
95846
|
+
return Number.isFinite(n) ? n : void 0;
|
|
95847
|
+
}
|
|
95848
|
+
function parsePositiveInt(raw, flagName) {
|
|
95849
|
+
const n = parseIntFlag(raw);
|
|
95850
|
+
if (n === void 0) return void 0;
|
|
95851
|
+
if (!Number.isInteger(n) || n < 1) {
|
|
95852
|
+
throw new Error(`[lambda] ${flagName} must be a positive integer; got ${n}`);
|
|
95853
|
+
}
|
|
95854
|
+
return n;
|
|
95855
|
+
}
|
|
95856
|
+
function parseEnum(raw, allowed, errorPrefix, defaultValue) {
|
|
95857
|
+
if (raw === void 0 || raw === null || raw === "") return defaultValue;
|
|
95858
|
+
const s2 = String(raw);
|
|
95859
|
+
if (allowed.includes(s2)) return s2;
|
|
95860
|
+
throw new Error(`${errorPrefix} must be ${allowed.join("|")}; got ${s2}`);
|
|
95861
|
+
}
|
|
95862
|
+
var examples24, HELP, lambda_default, FORMATS, CODECS, QUALITIES2, CHROME_SOURCES, parseFormat, parseCodec, parseQuality, parseChromeSource;
|
|
95863
|
+
var init_lambda = __esm({
|
|
95864
|
+
"src/commands/lambda.ts"() {
|
|
95865
|
+
"use strict";
|
|
95866
|
+
init_dist();
|
|
95867
|
+
init_colors();
|
|
95868
|
+
examples24 = [
|
|
95869
|
+
["Deploy the Lambda render stack to AWS", "hyperframes lambda deploy"],
|
|
95870
|
+
[
|
|
95871
|
+
"Render a composition on the deployed stack",
|
|
95872
|
+
"hyperframes lambda render ./my-project --width 1920 --height 1080"
|
|
95873
|
+
],
|
|
95874
|
+
[
|
|
95875
|
+
"Render and stream progress until done",
|
|
95876
|
+
"hyperframes lambda render ./my-project --width 1920 --height 1080 --wait"
|
|
95877
|
+
],
|
|
95878
|
+
["Check progress for a started render", "hyperframes lambda progress hf-render-abcd1234"],
|
|
95879
|
+
[
|
|
95880
|
+
"Pre-upload a project so multiple renders share the upload",
|
|
95881
|
+
"hyperframes lambda sites create ./my-project"
|
|
95882
|
+
],
|
|
95883
|
+
["Tear the stack down", "hyperframes lambda destroy"],
|
|
95884
|
+
["Print the IAM policy the CLI needs", "hyperframes lambda policies user"],
|
|
95885
|
+
[
|
|
95886
|
+
"Validate a checked-in IAM policy still covers the CLI",
|
|
95887
|
+
"hyperframes lambda policies validate ./infra/iam/hyperframes.json"
|
|
95888
|
+
]
|
|
95889
|
+
];
|
|
95890
|
+
HELP = `
|
|
95891
|
+
${c2.bold("hyperframes lambda")} ${c2.dim("<subcommand> [args]")}
|
|
95892
|
+
|
|
95893
|
+
Deploy + drive distributed video renders on AWS Lambda.
|
|
95894
|
+
|
|
95895
|
+
${c2.bold("SUBCOMMANDS:")}
|
|
95896
|
+
${c2.accent("deploy")} ${c2.dim("Provision the Lambda + Step Functions + S3 stack via SAM")}
|
|
95897
|
+
${c2.accent("sites create")} ${c2.dim("Tar + upload a project to S3 (reusable across renders)")}
|
|
95898
|
+
${c2.accent("render")} ${c2.dim("Start a distributed render (returns a renderId)")}
|
|
95899
|
+
${c2.accent("progress")} ${c2.dim("Print progress + cost for an in-flight or finished render")}
|
|
95900
|
+
${c2.accent("destroy")} ${c2.dim("Tear the stack down (S3 bucket is retained)")}
|
|
95901
|
+
${c2.accent("policies")} ${c2.dim("Print or validate the IAM permissions the CLI needs")}
|
|
95902
|
+
|
|
95903
|
+
${c2.bold("FIRST RUN:")}
|
|
95904
|
+
${c2.accent("hyperframes lambda deploy")}
|
|
95905
|
+
${c2.accent("hyperframes lambda render ./my-project --width 1920 --height 1080 --wait")}
|
|
95906
|
+
|
|
95907
|
+
${c2.bold("REQUIREMENTS:")}
|
|
95908
|
+
\u2022 AWS CLI configured (env vars, ~/.aws/credentials, or SSO)
|
|
95909
|
+
\u2022 AWS SAM CLI installed (https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html)
|
|
95910
|
+
\u2022 bun on PATH (used to build the handler ZIP)
|
|
95911
|
+
`;
|
|
95912
|
+
lambda_default = defineCommand({
|
|
95913
|
+
meta: { name: "lambda", description: "Deploy and drive renders on AWS Lambda" },
|
|
95914
|
+
args: {
|
|
95915
|
+
subcommand: {
|
|
95916
|
+
type: "positional",
|
|
95917
|
+
required: false,
|
|
95918
|
+
description: "deploy | sites | render | progress | destroy | policies"
|
|
95919
|
+
},
|
|
95920
|
+
target: {
|
|
95921
|
+
type: "positional",
|
|
95922
|
+
required: false,
|
|
95923
|
+
description: "Subcommand-specific positional (project dir, render id, policies verb, etc.)"
|
|
95924
|
+
},
|
|
95925
|
+
extra: {
|
|
95926
|
+
type: "positional",
|
|
95927
|
+
required: false,
|
|
95928
|
+
description: "Extra positional (e.g. `sites create <projectDir>` or `policies validate <policy.json>`)"
|
|
95929
|
+
},
|
|
95930
|
+
// Stack identity
|
|
95931
|
+
"stack-name": {
|
|
95932
|
+
type: "string",
|
|
95933
|
+
description: "CloudFormation stack name (default: hyperframes-default)"
|
|
95934
|
+
},
|
|
95935
|
+
region: { type: "string", description: "AWS region (default: AWS_REGION env or us-east-1)" },
|
|
95936
|
+
profile: { type: "string", description: "AWS profile name (default: AWS_PROFILE env)" },
|
|
95937
|
+
// deploy
|
|
95938
|
+
concurrency: { type: "string", description: "Lambda reserved concurrency (default: 8)" },
|
|
95939
|
+
"chrome-source": {
|
|
95940
|
+
type: "string",
|
|
95941
|
+
description: "sparticuz | chrome-headless-shell (default: sparticuz)"
|
|
95942
|
+
},
|
|
95943
|
+
memory: { type: "string", description: "Lambda memory MB (default: 10240)" },
|
|
95944
|
+
"skip-build": { type: "boolean", description: "Reuse existing handler.zip (deploy)" },
|
|
95945
|
+
// sites / render
|
|
95946
|
+
"site-id": { type: "string", description: "Explicit site id (overrides content hash)" },
|
|
95947
|
+
width: { type: "string", description: "Render width in pixels" },
|
|
95948
|
+
height: { type: "string", description: "Render height in pixels" },
|
|
95949
|
+
fps: { type: "string", description: "Render fps (24 | 30 | 60)" },
|
|
95950
|
+
format: { type: "string", description: "mp4 | mov | png-sequence (default: mp4)" },
|
|
95951
|
+
codec: { type: "string", description: "h264 | h265 (mp4 only)" },
|
|
95952
|
+
quality: { type: "string", description: "draft | standard | high" },
|
|
95953
|
+
"chunk-size": { type: "string", description: "Frames per chunk (default: 240)" },
|
|
95954
|
+
"max-parallel-chunks": { type: "string", description: "Max concurrent chunks (default: 16)" },
|
|
95955
|
+
"execution-name": {
|
|
95956
|
+
type: "string",
|
|
95957
|
+
description: "Step Functions execution name (default: hf-render-<uuid>)"
|
|
95958
|
+
},
|
|
95959
|
+
"output-key": {
|
|
95960
|
+
type: "string",
|
|
95961
|
+
description: "Final output S3 key (default: renders/<exec>/output.<ext>)"
|
|
95962
|
+
},
|
|
95963
|
+
wait: { type: "boolean", description: "Block until the render finishes" },
|
|
95964
|
+
"wait-interval-ms": {
|
|
95965
|
+
type: "string",
|
|
95966
|
+
description: "Poll cadence in ms when --wait is set (default: 5000)"
|
|
95967
|
+
},
|
|
95968
|
+
// shared
|
|
95969
|
+
json: { type: "boolean", description: "Emit machine-readable JSON" }
|
|
95970
|
+
},
|
|
95971
|
+
async run({ args }) {
|
|
95972
|
+
const subcommand = args.subcommand;
|
|
95973
|
+
if (!subcommand) {
|
|
95974
|
+
console.log(HELP);
|
|
95975
|
+
return;
|
|
95976
|
+
}
|
|
95977
|
+
const stackName = args["stack-name"] ?? // Lazy-imported so the dispatcher doesn't pull state.ts (and its
|
|
95978
|
+
// node:fs deps) on every CLI invocation — only on lambda runs.
|
|
95979
|
+
(await Promise.resolve().then(() => (init_state(), state_exports))).DEFAULT_STACK_NAME;
|
|
95980
|
+
const profileFlag = args.profile;
|
|
95981
|
+
if (profileFlag) process.env.AWS_PROFILE = profileFlag;
|
|
95982
|
+
const regionFlag = args.region;
|
|
95983
|
+
if (regionFlag) process.env.AWS_REGION = regionFlag;
|
|
95984
|
+
const verbsNeedingSDK = /* @__PURE__ */ new Set(["deploy", "sites", "render", "progress", "destroy"]);
|
|
95985
|
+
if (verbsNeedingSDK.has(subcommand)) {
|
|
95986
|
+
try {
|
|
95987
|
+
await import("@hyperframes/aws-lambda/sdk");
|
|
95988
|
+
} catch (err) {
|
|
95989
|
+
if (err.code === "ERR_MODULE_NOT_FOUND") {
|
|
95990
|
+
console.error(
|
|
95991
|
+
`${c2.error("@hyperframes/aws-lambda is not installed.")} The ${c2.accent(`hyperframes lambda ${subcommand}`)} command needs it at runtime.
|
|
95992
|
+
Install it alongside the CLI:
|
|
95993
|
+
${c2.accent("npm install -g @hyperframes/aws-lambda")}
|
|
95994
|
+
Or, for an opt-in dev setup:
|
|
95995
|
+
${c2.accent("npm install @hyperframes/aws-lambda")}`
|
|
95996
|
+
);
|
|
95997
|
+
process.exit(1);
|
|
95998
|
+
}
|
|
95999
|
+
throw err;
|
|
96000
|
+
}
|
|
96001
|
+
}
|
|
96002
|
+
switch (subcommand) {
|
|
96003
|
+
case "deploy": {
|
|
96004
|
+
const { runDeploy: runDeploy2 } = await Promise.resolve().then(() => (init_deploy(), deploy_exports));
|
|
96005
|
+
await runDeploy2({
|
|
96006
|
+
stackName,
|
|
96007
|
+
region: args.region,
|
|
96008
|
+
awsProfile: args.profile,
|
|
96009
|
+
reservedConcurrency: parsePositiveInt(args.concurrency, "--concurrency"),
|
|
96010
|
+
chromeSource: parseChromeSource(args["chrome-source"]),
|
|
96011
|
+
lambdaMemoryMb: parsePositiveInt(args.memory, "--memory"),
|
|
96012
|
+
skipBuild: Boolean(args["skip-build"])
|
|
96013
|
+
});
|
|
96014
|
+
return;
|
|
96015
|
+
}
|
|
96016
|
+
case "sites": {
|
|
96017
|
+
if (args.target !== "create") {
|
|
96018
|
+
console.error(
|
|
96019
|
+
`[lambda sites] unknown verb "${String(args.target)}". Only "create" is supported.`
|
|
96020
|
+
);
|
|
96021
|
+
process.exit(1);
|
|
96022
|
+
}
|
|
96023
|
+
const projectDir = args.extra;
|
|
96024
|
+
if (!projectDir) {
|
|
96025
|
+
console.error(
|
|
96026
|
+
"[lambda sites create] usage: hyperframes lambda sites create <projectDir>"
|
|
96027
|
+
);
|
|
96028
|
+
process.exit(1);
|
|
96029
|
+
}
|
|
96030
|
+
const { runSitesCreate: runSitesCreate2 } = await Promise.resolve().then(() => (init_sites(), sites_exports));
|
|
96031
|
+
await runSitesCreate2({
|
|
96032
|
+
projectDir,
|
|
96033
|
+
stackName,
|
|
96034
|
+
siteId: args["site-id"],
|
|
96035
|
+
json: Boolean(args.json)
|
|
96036
|
+
});
|
|
96037
|
+
return;
|
|
96038
|
+
}
|
|
96039
|
+
case "render": {
|
|
96040
|
+
const projectDir = args.target;
|
|
96041
|
+
if (!projectDir) {
|
|
96042
|
+
console.error(
|
|
96043
|
+
"[lambda render] usage: hyperframes lambda render <projectDir> --width <px> --height <px>"
|
|
96044
|
+
);
|
|
96045
|
+
process.exit(1);
|
|
96046
|
+
}
|
|
96047
|
+
const width = parsePositiveInt(args.width, "--width");
|
|
96048
|
+
const height = parsePositiveInt(args.height, "--height");
|
|
96049
|
+
if (width === void 0 || height === void 0) {
|
|
96050
|
+
console.error("[lambda render] --width and --height are required.");
|
|
96051
|
+
process.exit(1);
|
|
96052
|
+
}
|
|
96053
|
+
const fpsRaw = parseIntFlag(args.fps) ?? 30;
|
|
96054
|
+
if (fpsRaw !== 24 && fpsRaw !== 30 && fpsRaw !== 60) {
|
|
96055
|
+
console.error(`[lambda render] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
|
|
96056
|
+
process.exit(1);
|
|
96057
|
+
}
|
|
96058
|
+
const { runRender: runRender2 } = await Promise.resolve().then(() => (init_render3(), render_exports2));
|
|
96059
|
+
await runRender2({
|
|
96060
|
+
projectDir,
|
|
96061
|
+
stackName,
|
|
96062
|
+
siteId: args["site-id"],
|
|
96063
|
+
fps: fpsRaw,
|
|
96064
|
+
width,
|
|
96065
|
+
height,
|
|
96066
|
+
format: parseFormat(args.format),
|
|
96067
|
+
codec: parseCodec(args.codec),
|
|
96068
|
+
quality: parseQuality(args.quality),
|
|
96069
|
+
chunkSize: parsePositiveInt(args["chunk-size"], "--chunk-size"),
|
|
96070
|
+
maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
|
|
96071
|
+
executionName: args["execution-name"],
|
|
96072
|
+
outputKey: args["output-key"],
|
|
96073
|
+
json: Boolean(args.json),
|
|
96074
|
+
wait: Boolean(args.wait),
|
|
96075
|
+
waitIntervalMs: parsePositiveInt(args["wait-interval-ms"], "--wait-interval-ms") ?? 5e3
|
|
96076
|
+
});
|
|
96077
|
+
return;
|
|
96078
|
+
}
|
|
96079
|
+
case "progress": {
|
|
96080
|
+
const target = args.target;
|
|
96081
|
+
if (!target) {
|
|
96082
|
+
console.error(
|
|
96083
|
+
"[lambda progress] usage: hyperframes lambda progress <renderId | executionArn>"
|
|
96084
|
+
);
|
|
96085
|
+
process.exit(1);
|
|
96086
|
+
}
|
|
96087
|
+
const { runProgress: runProgress2 } = await Promise.resolve().then(() => (init_progress2(), progress_exports));
|
|
96088
|
+
await runProgress2({ target, stackName, json: Boolean(args.json) });
|
|
96089
|
+
return;
|
|
96090
|
+
}
|
|
96091
|
+
case "destroy": {
|
|
96092
|
+
const { runDestroy: runDestroy2 } = await Promise.resolve().then(() => (init_destroy(), destroy_exports));
|
|
96093
|
+
await runDestroy2({ stackName, awsProfile: args.profile });
|
|
96094
|
+
return;
|
|
96095
|
+
}
|
|
96096
|
+
case "policies": {
|
|
96097
|
+
const verb = args.target;
|
|
96098
|
+
if (verb !== "role" && verb !== "user" && verb !== "validate") {
|
|
96099
|
+
console.error(
|
|
96100
|
+
`[lambda policies] usage: hyperframes lambda policies <role|user|validate> [args]`
|
|
96101
|
+
);
|
|
96102
|
+
process.exit(1);
|
|
96103
|
+
}
|
|
96104
|
+
const { runPolicies: runPolicies2 } = await Promise.resolve().then(() => (init_policies(), policies_exports));
|
|
96105
|
+
await runPolicies2({
|
|
96106
|
+
verb,
|
|
96107
|
+
inputPath: args.extra,
|
|
96108
|
+
json: Boolean(args.json)
|
|
96109
|
+
});
|
|
96110
|
+
return;
|
|
96111
|
+
}
|
|
96112
|
+
default:
|
|
96113
|
+
console.error(`${c2.error("Unknown subcommand:")} ${subcommand}
|
|
96114
|
+
${HELP}`);
|
|
96115
|
+
process.exit(1);
|
|
96116
|
+
}
|
|
96117
|
+
}
|
|
96118
|
+
});
|
|
96119
|
+
FORMATS = ["mp4", "mov", "png-sequence"];
|
|
96120
|
+
CODECS = ["h264", "h265"];
|
|
96121
|
+
QUALITIES2 = ["draft", "standard", "high"];
|
|
96122
|
+
CHROME_SOURCES = ["sparticuz", "chrome-headless-shell"];
|
|
96123
|
+
parseFormat = (raw) => parseEnum(raw, FORMATS, "[lambda render] --format", "mp4");
|
|
96124
|
+
parseCodec = (raw) => parseEnum(raw, CODECS, "[lambda render] --codec", void 0);
|
|
96125
|
+
parseQuality = (raw) => parseEnum(raw, QUALITIES2, "[lambda render] --quality", void 0);
|
|
96126
|
+
parseChromeSource = (raw) => parseEnum(raw, CHROME_SOURCES, "[lambda deploy] --chrome-source", "sparticuz");
|
|
96127
|
+
}
|
|
96128
|
+
});
|
|
96129
|
+
|
|
94933
96130
|
// src/telemetry/index.ts
|
|
94934
96131
|
var telemetry_exports2 = {};
|
|
94935
96132
|
__export(telemetry_exports2, {
|
|
@@ -95062,9 +96259,9 @@ __export(autoUpdate_exports, {
|
|
|
95062
96259
|
scheduleBackgroundInstall: () => scheduleBackgroundInstall
|
|
95063
96260
|
});
|
|
95064
96261
|
import { spawn as spawn16 } from "child_process";
|
|
95065
|
-
import { appendFileSync as appendFileSync2, mkdirSync as
|
|
96262
|
+
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync42, openSync as openSync2 } from "fs";
|
|
95066
96263
|
import { homedir as homedir12 } from "os";
|
|
95067
|
-
import { join as
|
|
96264
|
+
import { join as join83 } from "path";
|
|
95068
96265
|
import { compareVersions as compareVersions2 } from "compare-versions";
|
|
95069
96266
|
function isAutoInstallDisabled() {
|
|
95070
96267
|
if (isDevMode()) return true;
|
|
@@ -95079,15 +96276,15 @@ function majorOf(version) {
|
|
|
95079
96276
|
}
|
|
95080
96277
|
function log(line) {
|
|
95081
96278
|
try {
|
|
95082
|
-
|
|
96279
|
+
mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
95083
96280
|
appendFileSync2(LOG_FILE, `${(/* @__PURE__ */ new Date()).toISOString()} ${line}
|
|
95084
96281
|
`, { mode: 384 });
|
|
95085
96282
|
} catch {
|
|
95086
96283
|
}
|
|
95087
96284
|
}
|
|
95088
96285
|
function launchDetachedInstall(installCommand, version) {
|
|
95089
|
-
|
|
95090
|
-
const configFile =
|
|
96286
|
+
mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
96287
|
+
const configFile = join83(CONFIG_DIR2, "config.json");
|
|
95091
96288
|
const nodeScript = `
|
|
95092
96289
|
const { exec } = require("node:child_process");
|
|
95093
96290
|
const { readFileSync, renameSync, writeFileSync } = require("node:fs");
|
|
@@ -95206,8 +96403,8 @@ var init_autoUpdate = __esm({
|
|
|
95206
96403
|
init_config();
|
|
95207
96404
|
init_env();
|
|
95208
96405
|
init_installerDetection();
|
|
95209
|
-
CONFIG_DIR2 =
|
|
95210
|
-
LOG_FILE =
|
|
96406
|
+
CONFIG_DIR2 = join83(homedir12(), ".hyperframes");
|
|
96407
|
+
LOG_FILE = join83(CONFIG_DIR2, "auto-update.log");
|
|
95211
96408
|
PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
95212
96409
|
}
|
|
95213
96410
|
});
|
|
@@ -95285,10 +96482,10 @@ function renderRootHelp() {
|
|
|
95285
96482
|
lines.push(`Run ${c2.cyan("hyperframes <command> --help")} for more information about a command.`);
|
|
95286
96483
|
return lines.join("\n");
|
|
95287
96484
|
}
|
|
95288
|
-
function formatExamples(
|
|
96485
|
+
function formatExamples(examples25) {
|
|
95289
96486
|
const lines = [];
|
|
95290
96487
|
lines.push(c2.bold("Examples:"));
|
|
95291
|
-
for (const [comment, command2] of
|
|
96488
|
+
for (const [comment, command2] of examples25) {
|
|
95292
96489
|
lines.push(` ${c2.gray(`# ${comment}`)}`);
|
|
95293
96490
|
lines.push(` ${command2}`);
|
|
95294
96491
|
lines.push("");
|
|
@@ -95305,9 +96502,9 @@ async function showUsage2(cmd, parent) {
|
|
|
95305
96502
|
console.log(usage + "\n");
|
|
95306
96503
|
const name = meta?.name;
|
|
95307
96504
|
if (name) {
|
|
95308
|
-
const
|
|
95309
|
-
if (
|
|
95310
|
-
console.log(formatExamples(
|
|
96505
|
+
const examples25 = STATIC_EXAMPLES[name] ?? await loadExamples(name);
|
|
96506
|
+
if (examples25) {
|
|
96507
|
+
console.log(formatExamples(examples25) + "\n");
|
|
95311
96508
|
}
|
|
95312
96509
|
}
|
|
95313
96510
|
}
|
|
@@ -95355,6 +96552,10 @@ var init_help = __esm({
|
|
|
95355
96552
|
["upgrade", "Check for updates and show upgrade instructions"]
|
|
95356
96553
|
]
|
|
95357
96554
|
},
|
|
96555
|
+
{
|
|
96556
|
+
title: "Deploy",
|
|
96557
|
+
commands: [["lambda", "Deploy and drive distributed renders on AWS Lambda"]]
|
|
96558
|
+
},
|
|
95358
96559
|
{
|
|
95359
96560
|
title: "AI & Integrations",
|
|
95360
96561
|
commands: [
|
|
@@ -95391,17 +96592,17 @@ var init_help = __esm({
|
|
|
95391
96592
|
// src/cli.ts
|
|
95392
96593
|
init_version();
|
|
95393
96594
|
init_dist();
|
|
95394
|
-
import { dirname as
|
|
95395
|
-
import { fileURLToPath as
|
|
95396
|
-
import { existsSync as
|
|
96595
|
+
import { dirname as dirname30, join as join84 } from "path";
|
|
96596
|
+
import { fileURLToPath as fileURLToPath12 } from "url";
|
|
96597
|
+
import { existsSync as existsSync73 } from "fs";
|
|
95397
96598
|
(() => {
|
|
95398
|
-
const here =
|
|
95399
|
-
const shader =
|
|
95400
|
-
const png =
|
|
95401
|
-
if (!process.env.HF_SHADER_WORKER_ENTRY &&
|
|
96599
|
+
const here = dirname30(fileURLToPath12(import.meta.url));
|
|
96600
|
+
const shader = join84(here, "shaderTransitionWorker.js");
|
|
96601
|
+
const png = join84(here, "pngDecodeBlitWorker.js");
|
|
96602
|
+
if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync73(shader)) {
|
|
95402
96603
|
process.env.HF_SHADER_WORKER_ENTRY = shader;
|
|
95403
96604
|
}
|
|
95404
|
-
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY &&
|
|
96605
|
+
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync73(png)) {
|
|
95405
96606
|
process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY = png;
|
|
95406
96607
|
}
|
|
95407
96608
|
})();
|
|
@@ -95438,7 +96639,8 @@ var subCommands = {
|
|
|
95438
96639
|
telemetry: () => Promise.resolve().then(() => (init_telemetry(), telemetry_exports)).then((m2) => m2.default),
|
|
95439
96640
|
validate: () => Promise.resolve().then(() => (init_validate(), validate_exports)).then((m2) => m2.default),
|
|
95440
96641
|
snapshot: () => Promise.resolve().then(() => (init_snapshot(), snapshot_exports)).then((m2) => m2.default),
|
|
95441
|
-
capture: () => Promise.resolve().then(() => (init_capture2(), capture_exports2)).then((m2) => m2.default)
|
|
96642
|
+
capture: () => Promise.resolve().then(() => (init_capture2(), capture_exports2)).then((m2) => m2.default),
|
|
96643
|
+
lambda: () => Promise.resolve().then(() => (init_lambda(), lambda_exports)).then((m2) => m2.default)
|
|
95442
96644
|
};
|
|
95443
96645
|
var main = defineCommand({
|
|
95444
96646
|
meta: {
|