hyperframes 0.6.27 → 0.6.28
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 +752 -372
- package/dist/hyperframe-runtime.js +1 -1
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +1 -1
- package/dist/studio/assets/index-EdfhuQ5T.js +362 -0
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
- package/dist/studio/assets/index-DYjmgXgg.js +0 -115
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.28" : "0.0.0-dev";
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
|
|
@@ -7414,7 +7414,7 @@ var RUNTIME_IIFE;
|
|
|
7414
7414
|
var init_runtime_inline = __esm({
|
|
7415
7415
|
"../core/src/generated/runtime-inline.ts"() {
|
|
7416
7416
|
"use strict";
|
|
7417
|
-
RUNTIME_IIFE = '"use strict";(()=>{var Ko=Object.create;var dn=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Qo=Object.getOwnPropertyNames;var Yo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Xo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var es=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Qo(e))!Zo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Jo(e,r))||i.enumerable});return t};var ts=(t,e,n)=>(n=t!=null?Ko(Yo(t)):{},es(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Xo(t,typeof e!="symbol"?e+"":e,n);var Ri=Z((tc,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=Z(()=>{});var It=Z((rc,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=x=>l(f(x)),i=x=>p(x),Di&&(o=x=>Di(x))}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,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,b=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(b,q),M=i(x.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(I)+`\n `+M+r("^")}let F=i(x.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(l)+`\n `+F+r("^")}return" "+i(x)+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=Z((oc,Ii)=>{"use strict";var Es=/(<)(\\/?style\\b)/gi,Fs=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(Es,"\\\\3c $2").replace(Fs,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ws(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"+ws(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=Z((sc,Oi)=>{"use strict";var Ns=Sn();function bn(t,e){new Ns(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Z((ac,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Z((lc,Pi)=>{"use strict";var Cs=It(),Ms=Sn(),Ts=ht(),{isClean:xt,my:ks}=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[ks]=!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 Cs(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 Ms().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=Ts){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=Z((uc,Wi)=>{"use strict";var _s=yt(),St=class extends _s{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Z((cc,Hi)=>{"use strict";var Rs=yt(),At=class extends Rs{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=Z((dc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),vs=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 vs{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=Z((fc,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=Z((mc,er)=>{"use strict";var Ds=We(),Zi,Xi,Je=class extends Ds{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=Z((pc,tr)=>{var Ls="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Bs=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Is=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ls[Math.random()*64|0];return e};tr.exports={nanoid:Is,customAlphabet:Bs}});var Ht=Z(()=>{});var qt=Z(()=>{});var Nn=Z(()=>{});var ir=Z(()=>{});var Mn=Z((Fc,sr)=>{"use strict";var{existsSync:Os,readFileSync:Ps}=ir(),{dirname:Cn,join:Ws}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Hs(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 Hs(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),Os(e)))return this.mapFile=e,Ps(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=Ws(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=Z((wc,dr)=>{"use strict";var{nanoid:qs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:Us,SourceMapGenerator:zs}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),js=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),Gs=!!(Us&&zs),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&&Gs){let i=new js(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 "+qs(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 x=this.fromOffset(a);n=x.line,i=x.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let x=this.fromOffset(u);s=x.line,o=x.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=Z((Nc,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=Z((Cc,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=Z((Mc,yr)=>{"use strict";var gr=We(),Vs=vn(),nt=class extends gr{get selectors(){return Vs.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=Z((Tc,Sr)=>{"use strict";var $s=Pt(),Ks=bt(),Js=Et(),Qs=wt(),Ys=Mn(),Zs=tt(),Xs=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__:Qs.prototype};o.map&&(o.map={...o.map,__proto__:Ys.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 Zs(i);if(i.type==="decl")return new Js(i);if(i.type==="rule")return new Xs(i);if(i.type==="comment")return new Ks(i);if(i.type==="atrule")return new $s(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Z((kc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),ea=wt(),ta=!!(Nr&&Gt),na=!!(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(),na&&ta&&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 ea(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=Z((_c,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ia=/.[\\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,x,F,E=i.length,b=0,q=[],I=[],M=-1;function X(){return b}function _(w){throw e.error("Unclosed "+w,b)}function N(){return I.length===0&&b>=E}function g(w){if(I.length)return I.pop();if(b>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(b),o){case 10:case 32:case 9:case 13:case 12:{a=b;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(b,a)],b=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,b];break}case 40:{if(F=q.length?q.pop()[1]:"",x=i.charCodeAt(b+1),F==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=b;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=b;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(b,a+1),b,a],b=a}else b<=M?l=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||ia.test(s)?(M=a===-1?E:a,l=["(","(",b]):(l=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=b+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{Vt.lastIndex=b+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,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(b,a+1),b,a],b=a;break}default:{o===47&&i.charCodeAt(b+1)===42?(a=i.indexOf("*/",b+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(b,a+1),b,a],b=a):($t.lastIndex=b+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(b,a+1),b,a],q.push(l),b=a);break}}return b++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Z((Rc,vr)=>{"use strict";var ra=Pt(),oa=bt(),sa=Et(),aa=tt(),_r=zt(),la=kr(),Rr={empty:!0,space:!0};function ua(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 aa,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 ra;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 oa;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=la(this.input)}decl(e,n){let i=new sa;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]||ua(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 x=l[f][0];if(p.trim().startsWith("!")&&x!=="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((x,F)=>x+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=Z((vc,Lr)=>{"use strict";var ca=We(),da=wt(),fa=Dr();function Kt(t,e){let n=new da(t,e),i=new fa(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ca.registerParse(Kt)});var In=Z((Dc,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=Z((Lc,Ir)=>{"use strict";var ma=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 ma(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=Z((Bc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Z((Oc,Ur)=>{"use strict";var pa=We(),ha=Wt(),xa=Ln(),ga=Jt(),Wr=Qt(),ya=tt(),Sa=ht(),{isClean:Le,my:ba}=Ot(),Ic=On(),Aa={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ea={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},Fa={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=Aa[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=ga;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[ba]&&pa.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(!Ea[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Fa[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=Sa;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 xa(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;ya.registerLazyResult(qe);ha.registerLazyResult(qe)});var jr=Z((Wc,zr)=>{"use strict";var wa=Ln(),Na=Jt(),Ca=Qt(),Ma=ht(),Pc=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=Na;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=Ma;this.result=new Ca(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 wa(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=Z((Hc,Gr)=>{"use strict";var Ta=Wt(),ka=Hn(),_a=jr(),Ra=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 _a(this,e,n):new ka(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;Ra.registerProcessor(Qe);Ta.registerProcessor(Qe)});var eo=Z((qc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),va=We(),Da=It(),Jr=Et(),Qr=Wt(),La=br(),Ba=wt(),Ia=Hn(),Oa=vn(),Pa=yt(),Wa=Jt(),qn=Vr(),Ha=Qt(),Yr=tt(),Zr=zt(),qa=ht(),Ua=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=qa;re.parse=Wa;re.fromJSON=La;re.list=Oa;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=Da;re.Declaration=Jr;re.Container=va;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=Ua;re.AtRule=$r;re.Result=Ha;re.Input=Ba;re.Rule=Zr;re.Root=Yr;re.Node=Pa;Ia.registerPostcss(re);Xr.exports=re;re.default=re});function v(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){v("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&&ns(o,s)}};return window.addEventListener("message",e),e}function ns(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var 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){v("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){v("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){v("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){v("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){v("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){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function 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){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(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){v("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){v("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){v("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){v("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){v("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){v("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,x=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(x)||x<=0)&&f!=null&&(x=Math.max(0,(f-a)/l));let F=Number.isFinite(x)&&x>0?u+x:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),b={el:s,start:u,mediaStart:a,duration:Number.isFinite(x)&&x>0?x:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(b),s.tagName==="VIDEO"&&r.push(b),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 is(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(_){v("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 x=f===void 0,F=!x&&Math.abs(p-f)>.5,E=l>3,b=l>.5&&(x||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!b&&!x&&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(b||M||X){try{i.currentTime=r}catch(_){v("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){v("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(is(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 rs=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),os=["[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){v("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(rs)||c(g))}function p(g){return!!g?.closest(os)}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 D=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return D;let J=P.querySelectorAll(`:scope > ${D}`);if(J.length===1)return D;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${D}:nth-of-type(${R+1})`;return D}function x(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,D)=>T.length>D?`${T.slice(0,D-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 D={},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(!D[le]&&(D[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 D=g.attributes[T];D.name.startsWith("data-")&&(w[D.name]=D.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:x(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 b(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=b(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)?b(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=b(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),D=C[T]??null;return D?(a(D),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:D}),_(),D):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=b(g,A,8);if(!C.length)return[];let T=[],D=Array.isArray(w)?w:[0];for(let P of D){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){v("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 ss(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){v("runtime.player.site2",s)}}}function as(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=ss(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?(as(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 ls="data-hf-authored-duration",us="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function cs(t){return $e(t.getAttribute("data-duration"))}function ds(t){return $e(t.getAttribute("data-end"))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){return $e(t.getAttribute(us))}function ps(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,x=cs(l)??(n?fs(l):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let F=ds(l)??(n?ms(l):null);if(F!=null){let E=c(l,0),b=F-E;Number.isFinite(b)&&b>0&&(f=b)}}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 b=Number(E.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){v("runtime.startResolver.site1",b)}}}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 x=l.parentElement?.closest("[data-composition-id]");return x?c(x,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 x=ps(l.getAttribute("data-start"));if(!x){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(x.kind==="absolute"){let I=Math.max(0,x.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(x.refId);if(!F)return i.set(l,p),p;let E=c(F,0),b=u(F);if(b==null||b<=0){let I=Math.max(0,E+x.offset);return i.set(l,I),I}let q=Math.max(0,E+b+x.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 hs="data-hf-authored-duration",xs="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(hs))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(xs))}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 gs(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 ys(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 Ss(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 bs(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 As(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=ys(t);if(s)return dt(s);let u=Ss(Ti(t));if(u)return dt(u);let a=bs(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,x=s(),F=x!=null?Math.max(0,x-Math.max(0,f)):null,E=r(p),b=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 b=="number"&&Number.isFinite(b)&&b>0?b: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,D=(C!=null?f+C:null)??(typeof x=="number"&&Number.isFinite(x)&&x>0?x:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:D==null||!Number.isFinite(D)?k:!Number.isFinite(H)||H>=D?0:Math.max(0,Math.min(k,D-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:As(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){v("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))}}gs(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 Y=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(Y*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=ts(eo(),1),to=ae.default,Uc=ae.default.stringify,zc=ae.default.fromJSON,jc=ae.default.plugin,Gc=ae.default.parse,Vc=ae.default.list,$c=ae.default.document,Kc=ae.default.comment,Jc=ae.default.atRule,Qc=ae.default.rule,Yc=ae.default.decl,Zc=ae.default.root,Xc=ae.default.CssSyntaxError,ed=ae.default.Declaration,td=ae.default.Container,nd=ae.default.Processor,id=ae.default.Document,rd=ae.default.Comment,od=ae.default.Warning,sd=ae.default.AtRule,ad=ae.default.Result,ld=ae.default.Input,ud=ae.default.Rule,cd=ae.default.Root,dd=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 za(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,za(e)])).filter(Boolean):[]}function ja(t){return!!t&&/[\\w-]/.test(t)}function Ga(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(!ja(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Va(t,e){let n=e?.trim();return n?Ga(t,n,`[${no}="${io(n)}"]`):t}function $a(t,e,n,i){let r=Va(t,i),o=Ka(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 Ka(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 Ja=new Set(["keyframes","-webkit-keyframes","font-face"]);function Qa(t){return t?.type==="atrule"}function Ya(t){let e=t.parent;for(;e;){if(Qa(e)&&Ja.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=>{Ya(u)||(u.selectors=u.selectors.map(a=>$a(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*\\]`),x=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 = ${x};\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=Za();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 Za(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Xa=8e3,el=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function tl(t,e){return`${t}__hf${e}`}var nl=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"),Xa)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var il=["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 rl(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of il)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 el.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function ol(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 sl(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 al(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function ll(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:al(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=sl(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=ll(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?tl(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(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:x,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"),x=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(rl(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...ol(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 x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let F=await nl(x);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"),b=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:b,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 ul(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function cl(){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 dl(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=cl();for(let i of e){let r=null;if(i.wordId&&(r=ul(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=dl(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 v("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,x=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let b=-f/c;l.start(x+b,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:x,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return v("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){v("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){v("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,h)=>{let S=h??`${d}:${JSON.stringify(m)}`;o.has(S)||(o.add(S),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},h=[],S=[],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:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,x=.05,F=100,E=240,b=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(h=>!h.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h),m&&d.style.setProperty("--comp-width",m),h&&d.style.setProperty("--comp-height",h)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of m){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),y=h.getAttribute("data-end");S!=null&&!h.hasAttribute(ho)&&h.setAttribute(ho,S),y!=null&&!h.hasAttribute(xo)&&h.setAttribute(xo,y),h.removeAttribute("data-duration"),h.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")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h);let S=Array.from(d.children);for(let y of S){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,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.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 h=m.getAttribute("data-composition-id");if(h&&m.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){C=!0;break}}}let T=!w&&!C,D=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 h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),S=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>S?Math.max(0,d.duration-S):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 h of d){let S=g(h,0);if(!Number.isFinite(S))continue;let y=J(h);y==null||y<=l||(m=Math.max(m,Math.max(0,S)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},h=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),S=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 $=h.resolveStartForElement(L,0),ne=h.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(S=Math.max(S,Math.max(0,$)+ne))}return S>l?S: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 h=D(d),S=Se(),y=le(),L=Math.max(S??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(h)?$=Math.max(h,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}),h=Se(),S=le(),y=Math.max(h??0,S??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 he of oe)ue.add(he.timeline,te(he.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let he=ue.timeline({paused:!0});if(Q)try{he.add(Q,0)}catch(se){v("runtime.init.site2",se)}let be=he;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){v("runtime.init.site3",se)}return he},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let he=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(he))return[];let be=[];for(let se of Q)if(!he.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){v("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 he of Q){let be=he.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=D(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(he){v("runtime.init.site5",he)}}};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+"\'])"))&&(Y=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=D(ye);if(!P(Q)&&me.length>0){let se=me.map($o=>$o.compositionId),Ce=$(me),ke=D(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=D(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=D(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),he=ue?parseFloat(ue):null,be=Math.max(P(he)?he:0,S??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){v("runtime.init.site6",ke)}let Ce=D(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:S,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:h,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(he=>he.compositionId),Q=$(me),ue=D(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,pe=()=>{if(!T)return!1;let d=t.capturedTimeline,m=D(d),h=P(m);if(d&&h&&Y)return!1;let S=W();if(!S.timeline)return!1;if(d&&d===S.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=S.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 S.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),!0};window.__hfForceTimelineRebind=()=>{Y=!1,pe()};let Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>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:h,declaredHeight:S,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=b(d.error??d.message).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.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=b(d.reason).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.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 h of d){let S=()=>{if(!(h instanceof Element))return;let y=h.tagName.toLowerCase(),L=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${te}:${y}:${L??"unknown"}`)};h.addEventListener("error",S),u(()=>{h.removeEventListener("error",S)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let h=Array.from(m).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&a("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(m).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let S=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(S,!1),y&&t.capturedTimeline.play()}catch(L){v("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:S,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){pe()&&(je(),ce(!0));return}if(z)return;let h=D(t.capturedTimeline),S=d.selectedDurationSeconds??D(d.timeline);P(S)&&(!P(h)||S>=h+x)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:S??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}}),h=t.mediaForceSyncNextTick;h&&(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:h,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]"));for(let y of S){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)),h=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,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 h=I(d.getAttribute("data-width")),S=I(d.getAttribute("data-height")),y=h?parseInt(h,10):0,L=S?parseInt(S,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}pe();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){v("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:m})}catch(S){v("runtime.init.site9",S)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:h})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:h})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,pe(),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 h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(y){v("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(h){v("runtime.init.site11",h)}},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 h=Math.max(0,d)/t.canonicalFps;de.seek(h),lt("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),y=Number.isFinite(S)?S:1;h.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.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()}),pe(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;pe()&&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,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(S){v(h,S)}},Go=d=>{let m=window.__timelines??{},h=M()?.getAttribute("data-composition-id")??null;for(let[S,y]of Object.entries(m)){if(!y||S===h)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=D(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")}},Vo=d=>{let m=window.__timelines??{};for(let h of Object.values(m))if(!(!h||h===d))try{h.play()}catch(S){v("runtime.init.activateSiblings",S)}},Ge=(d,m)=>{let h=t.capturedTimeline;if(h){m?.activateChildren&&Vo(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){v("runtime.init.transport.seek",S)}}else Go(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(y){v("runtime.init.transport.adapter",y)}},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 h=t.capturedTimeline;if(pe()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=j(t.capturedTimeline,0);S>0&&B.setDuration(S),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]"),h=!1;for(let S of m){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let y=Number.parseFloat(S.dataset.start??""),L=Number.parseFloat(S.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(B.attachAudioSource({el:S,compositionStart:y,mediaStart:$}),h=!0);break}}!h&&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 h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let y=Number.parseFloat(h.dataset.duration??""),L=Number.isFinite(y)&&y>0?S+y:1/0;if(d<S||d>=L)continue;let te=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+te;if($>=0)try{h.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 h=M(),S=Number(h?.getAttribute("data-duration")??0);S>0&&B.setDuration(S)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let h=xe.startGeneration(),S=document.querySelectorAll("audio[data-start]");for(let y of S){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,h,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 S=t.capturedTimeline;S&&S.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,{activateChildren:!0}),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:h=>{de[m]=h},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){v("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){v("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){v("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){v("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 fl(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 ml(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 x=fl(p);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=x;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,x=p!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=x;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=ml(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 pl=/[ \\t\\n\\r\\f]+/g,hl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function xl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function gl(t){if(!hl.test(t))return t;let e=t.replace(pl," ");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 yl(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,Sl;function bl(){return Qn===null&&(Qn=new Intl.Segmenter(Sl,{granularity:"word"})),Qn}var Al=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return Al.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 El(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var Fl=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function wl(t){return Re(t)}function Nl(t){let e=rn(t);return e!==null&&Fl.has(e)}function tn(t){return!El(t)&&!Nl(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"]),Cl=new Set([":",".","\\u060C","\\u061B"]),Ml=new Set(["\\u104F"]),Tl=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function kl(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 _l(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function Rl(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 vl(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 Dl(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&&Cl.has(e)}function Ll(t){let e=rn(t);return e!==null&&Ml.has(e)}function Bl(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(Tl.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Il(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 Ol=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Pl(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Wl(t,e,n,i){if(!Ol.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=Il(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 Hl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function ql(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Hl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Ul(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function zl(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"||!ql(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 jl(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]),!Ul(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 Gl=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)||Gl.has(e)))return!1;return!0}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];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 $l(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 Kl(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 Jl(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 Ql(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=vl(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=bl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],x=[],F=[],E=[],b=[];for(let N of i.segment(t))for(let g of Wl(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,x[R]=x[R]||T,F[R]=P,E[R]=J,b[R]=Fo(x[R],D)},A=g.kind==="text",w=Dl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),D=rn(g.text),P=on(g.text),J=Ll(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&_l(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&b[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"&&(kl(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,x[r]=T,F[r]=P,E[r]=J,b[r]=Fo(T,D),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]&&Rl(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]=Pl(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=Jl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Ql($l(Kl(Vl(jl(zl(X))))));for(let N=0;N<_.len-1;N++){let g=Bl(_.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 Yl(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 Zl(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],x=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(x==="text"){let b=wl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||b,c=q;continue}l(),o=[f],s=F,u=E,a=b,c=q;continue}l(),e.push(f),n.push(F),i.push(x),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=xl(n),o=r.mode==="pre-wrap"?yl(t):gl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Zl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Yl(s,r),...s}}var rt=null,Ro=new Map,ot=null,Xl=96,eu=/\\p{Emoji_Presentation}/u,tu=/[\\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 nu(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 iu(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 ru(t){return eu.test(t)||t.includes("\\uFE0F")}function Lo(t){return tu.test(t)}function ou(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 su(t){let e=0,n=Do();for(let i of n.segment(t))ru(i.segment)&&e++;return e}function au(t,e){return e.emojiCount===void 0&&(e.emojiCount=su(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-au(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>Xl){let l=[],p=null,f=0;for(let x of s){let F=Oe(x,n),E=ze(x,F,i);if(p===null)l.push(E);else{let b=p+x,q=Oe(b,n);l.push(ze(b,q,i)-f)}p=x,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=nu(t),r=iu(t),o=e?ou(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function lu(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 uu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function cu(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,x=0,F=0,E=0,b=-1,q=0;function I(){b=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,x=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,x=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 D=C;D<T.length;D++){let P=T[D];p?l+P>a?(M(),_(w,D,P)):(l+=P,F=w,E=D+1):_(w,D,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=lu(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&&(b=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(b>=0){if(F>b||F===b&&E>0){M();continue}M(b,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(b=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,x=e+f,F=0,E=0,b=!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,b=!1,w()}function T(V,j){b=!0,q=V,I=0,M=V+1,X=0,E=j}function D(V,j,W){b=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!b){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Y){if(!j)return;let pe=V==="tab"?0:r[W],Ne=V==="tab"?Y:o[W];_=W+1,N=E-Y+pe,g=E-Y+Ne,A=V}function R(V,j){let W=u[V];for(let Y=j;Y<W.length;Y++){let pe=W[Y];b?E+pe>x?(C(),D(V,Y,pe)):(E+=pe,M=V,X=Y+1):D(V,Y,pe)}b&&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:Y}=cu(j,E,e,f,a);return W===0?!1:(E=Y,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Y+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}b=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Y=s[W],pe=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Ne=Y==="tab"?uu(E,c):i[W];if(Y==="soft-hyphen"){b&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Y),W++;continue}if(!b){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Y,pe,W,Ne),W++;continue}if(E+Ne>x){let k=E+(Y==="tab"?0:r[W]),O=E+(Y==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=x){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(pe&&k<=x){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=x){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(Y,pe,W,Ne),W++}if(b){let Y=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Y)}}return F}var ni=null;function du(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function fu(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 mu(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,x){i=[p],r=f,o=x,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let x=on(p);p.length===1&&Ue.has(p)?s=s||x:s=x,u=!1}for(let p of du().segment(t)){let f=p.segment,x=Re(f);if(i.length===0){c(f,p.index,x);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&x&&s){l(f,x);continue}if(!o&&!x){l(f,x);continue}a(),c(f,p.index,x)}return a(),n}function pu(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 hu(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 fu(n);let l=[],p=[],f=[],x=[],F=t.chunks.length<=1,E=n?[]:null,b=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,D,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),x.push(T),E?.push(D),b.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let D=Oe(g,o),P=ze(g,D,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,D,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 D=Oe(A,o);if(C==="text"&&D.containsCJK){let P=mu(A,r),J=i==="keep-all"?pu(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 _=xu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function xu(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 gu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return hu(o,e,n,r)}function Ho(t,e,n){return gu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var yu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...yu,...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';
|
|
7417
|
+
RUNTIME_IIFE = '"use strict";(()=>{var Ko=Object.create;var dn=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var Qo=Object.getOwnPropertyNames;var Yo=Object.getPrototypeOf,Zo=Object.prototype.hasOwnProperty;var Xo=(t,e,n)=>e in t?dn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Z=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var es=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Qo(e))!Zo.call(t,r)&&r!==n&&dn(t,r,{get:()=>e[r],enumerable:!(i=Jo(e,r))||i.enumerable});return t};var ts=(t,e,n)=>(n=t!=null?Ko(Yo(t)):{},es(e||!t||!t.__esModule?dn(n,"default",{value:t,enumerable:!0}):n,t));var Ae=(t,e,n)=>Xo(t,typeof e!="symbol"?e+"":e,n);var Ri=Z((tc,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=Z(()=>{});var It=Z((rc,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=x=>l(f(x)),i=x=>p(x),Di&&(o=x=>Di(x))}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,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(l.length>160){let E=20,b=Math.max(0,this.column-E),q=Math.max(this.column+E,this.endColumn+E),I=l.slice(b,q),M=i(x.replace(/\\d/g," "))+l.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(I)+`\n `+M+r("^")}let F=i(x.replace(/\\d/g," "))+l.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(l)+`\n `+F+r("^")}return" "+i(x)+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=Z((oc,Ii)=>{"use strict";var Es=/(<)(\\/?style\\b)/gi,Fs=/(<)(!--)/g;function Pe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(Es,"\\\\3c $2").replace(Fs,"\\\\3c $2")}var Bi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ws(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"+ws(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=Z((sc,Oi)=>{"use strict";var Ns=Sn();function bn(t,e){new Ns(e).stringify(t)}Oi.exports=bn;bn.default=bn});var Ot=Z((ac,An)=>{"use strict";An.exports.isClean=Symbol("isClean");An.exports.my=Symbol("my")});var yt=Z((lc,Pi)=>{"use strict";var Cs=It(),Ms=Sn(),Ts=ht(),{isClean:xt,my:ks}=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[ks]=!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 Cs(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 Ms().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=Ts){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=Z((uc,Wi)=>{"use strict";var _s=yt(),St=class extends _s{constructor(e){super(e),this.type="comment"}};Wi.exports=St;St.default=St});var Et=Z((cc,Hi)=>{"use strict";var Rs=yt(),At=class extends Rs{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=Z((dc,Ji)=>{"use strict";var qi=bt(),Ui=Et(),vs=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 vs{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=Z((fc,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=Z((mc,er)=>{"use strict";var Ds=We(),Zi,Xi,Je=class extends Ds{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=Z((pc,tr)=>{var Ls="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Bs=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Is=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ls[Math.random()*64|0];return e};tr.exports={nanoid:Is,customAlphabet:Bs}});var Ht=Z(()=>{});var qt=Z(()=>{});var Nn=Z(()=>{});var ir=Z(()=>{});var Mn=Z((Fc,sr)=>{"use strict";var{existsSync:Os,readFileSync:Ps}=ir(),{dirname:Cn,join:Ws}=Ht(),{SourceMapConsumer:rr,SourceMapGenerator:or}=qt();function Hs(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 Hs(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),Os(e)))return this.mapFile=e,Ps(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=Ws(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=Z((wc,dr)=>{"use strict";var{nanoid:qs}=nr(),{isAbsolute:_n,resolve:Rn}=Ht(),{SourceMapConsumer:Us,SourceMapGenerator:zs}=qt(),{fileURLToPath:ar,pathToFileURL:Ut}=Nn(),lr=It(),js=Mn(),Tn=yn(),kn=Symbol("lineToIndexCache"),Gs=!!(Us&&zs),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&&Gs){let i=new js(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 "+qs(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 x=this.fromOffset(a);n=x.line,i=x.col}else n=p.line,i=p.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){u=f.offset;let x=this.fromOffset(u);s=x.line,o=x.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=Z((Nc,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=Z((Cc,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=Z((Mc,yr)=>{"use strict";var gr=We(),Vs=vn(),nt=class extends gr{get selectors(){return Vs.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=Z((Tc,Sr)=>{"use strict";var $s=Pt(),Ks=bt(),Js=Et(),Qs=wt(),Ys=Mn(),Zs=tt(),Xs=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__:Qs.prototype};o.map&&(o.map={...o.map,__proto__:Ys.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 Zs(i);if(i.type==="decl")return new Js(i);if(i.type==="rule")return new Xs(i);if(i.type==="comment")return new Ks(i);if(i.type==="atrule")return new $s(i);throw new Error("Unknown node type: "+t.type)}Sr.exports=Ct;Ct.default=Ct});var Ln=Z((kc,Cr)=>{"use strict";var{dirname:jt,relative:Er,resolve:Fr,sep:wr}=Ht(),{SourceMapConsumer:Nr,SourceMapGenerator:Gt}=qt(),{pathToFileURL:Ar}=Nn(),ea=wt(),ta=!!(Nr&&Gt),na=!!(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(),na&&ta&&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 ea(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=Z((_c,Tr)=>{"use strict";var Vt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,$t=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ia=/.[\\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,x,F,E=i.length,b=0,q=[],I=[],M=-1;function X(){return b}function _(w){throw e.error("Unclosed "+w,b)}function N(){return I.length===0&&b>=E}function g(w){if(I.length)return I.pop();if(b>=E)return;let C=w?w.ignoreUnclosed:!1;switch(o=i.charCodeAt(b),o){case 10:case 32:case 9:case 13:case 12:{a=b;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);l=["space",i.slice(b,a)],b=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,b];break}case 40:{if(F=q.length?q.pop()[1]:"",x=i.charCodeAt(b+1),F==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=b;do{if(p=!1,a=i.indexOf(")",a+1),a===-1)if(r||C){a=b;break}else _("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["brackets",i.slice(b,a+1),b,a],b=a}else b<=M?l=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||ia.test(s)?(M=a===-1?E:a,l=["(","(",b]):(l=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(p=!1,a=i.indexOf(c,a+1),a===-1)if(r||C){a=b+1;break}else _("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,p=!p}while(p);l=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{Vt.lastIndex=b+1,Vt.test(i),Vt.lastIndex===0?a=i.length-1:a=Vt.lastIndex-2,l=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,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(b,a+1),b,a],b=a;break}default:{o===47&&i.charCodeAt(b+1)===42?(a=i.indexOf("*/",b+2)+1,a===0&&(r||C?a=i.length:_("comment")),l=["comment",i.slice(b,a+1),b,a],b=a):($t.lastIndex=b+1,$t.test(i),$t.lastIndex===0?a=i.length-1:a=$t.lastIndex-2,l=["word",i.slice(b,a+1),b,a],q.push(l),b=a);break}}return b++,l}function A(w){I.push(w)}return{back:A,endOfFile:N,nextToken:g,position:X}}});var Dr=Z((Rc,vr)=>{"use strict";var ra=Pt(),oa=bt(),sa=Et(),aa=tt(),_r=zt(),la=kr(),Rr={empty:!0,space:!0};function ua(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 aa,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 ra;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 oa;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=la(this.input)}decl(e,n){let i=new sa;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]||ua(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 x=l[f][0];if(p.trim().startsWith("!")&&x!=="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((x,F)=>x+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=Z((vc,Lr)=>{"use strict";var ca=We(),da=wt(),fa=Dr();function Kt(t,e){let n=new da(t,e),i=new fa(n);try{i.parse()}catch(r){throw r}return i.root}Lr.exports=Kt;Kt.default=Kt;ca.registerParse(Kt)});var In=Z((Dc,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=Z((Lc,Ir)=>{"use strict";var ma=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 ma(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=Z((Bc,Pr)=>{"use strict";var Or={};Pr.exports=function(e){Or[e]||(Or[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Hn=Z((Oc,Ur)=>{"use strict";var pa=We(),ha=Wt(),xa=Ln(),ga=Jt(),Wr=Qt(),ya=tt(),Sa=ht(),{isClean:Le,my:ba}=Ot(),Ic=On(),Aa={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ea={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},Fa={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=Aa[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=ga;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[ba]&&pa.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(!Ea[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Fa[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=Sa;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 xa(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;ya.registerLazyResult(qe);ha.registerLazyResult(qe)});var jr=Z((Wc,zr)=>{"use strict";var wa=Ln(),Na=Jt(),Ca=Qt(),Ma=ht(),Pc=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=Na;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=Ma;this.result=new Ca(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 wa(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=Z((Hc,Gr)=>{"use strict";var Ta=Wt(),ka=Hn(),_a=jr(),Ra=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 _a(this,e,n):new ka(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Gr.exports=Qe;Qe.default=Qe;Ra.registerProcessor(Qe);Ta.registerProcessor(Qe)});var eo=Z((qc,Xr)=>{"use strict";var $r=Pt(),Kr=bt(),va=We(),Da=It(),Jr=Et(),Qr=Wt(),La=br(),Ba=wt(),Ia=Hn(),Oa=vn(),Pa=yt(),Wa=Jt(),qn=Vr(),Ha=Qt(),Yr=tt(),Zr=zt(),qa=ht(),Ua=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=qa;re.parse=Wa;re.fromJSON=La;re.list=Oa;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=Da;re.Declaration=Jr;re.Container=va;re.Processor=qn;re.Document=Qr;re.Comment=Kr;re.Warning=Ua;re.AtRule=$r;re.Result=Ha;re.Input=Ba;re.Rule=Zr;re.Root=Yr;re.Node=Pa;Ia.registerPostcss(re);Xr.exports=re;re.default=re});function v(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){v("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&&ns(o,s)}};return window.addEventListener("message",e),e}function ns(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var 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){v("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){v("runtime.adapters.css.site1",l)}try{c.pause()}catch(l){v("runtime.adapters.css.site2",l)}}},r=u=>{for(let a of u)try{a.play()}catch(c){v("runtime.adapters.css.site3",c)}},o=u=>{for(let a of u)try{a.pause()}catch(c){v("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){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function 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){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(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){v("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){v("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){v("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){v("runtime.adapters.waapi.site1",i)}try{n.pause()}catch(i){v("runtime.adapters.waapi.site2",i)}}},pause:()=>{if(document.getAnimations)for(let t of document.getAnimations())try{t.pause()}catch(e){v("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,x=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(x)||x<=0)&&f!=null&&(x=Math.max(0,(f-a)/l));let F=Number.isFinite(x)&&x>0?u+x:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),b={el:s,start:u,mediaStart:a,duration:Number.isFinite(x)&&x>0?x:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:l,loop:p,sourceDuration:f};i.push(b),s.tagName==="VIDEO"&&r.push(b),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 is(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(_){v("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 x=f===void 0,F=!x&&Math.abs(p-f)>.5,E=l>3,b=l>.5&&(x||F||E),q=i.tagName==="VIDEO"&&!i.paused,I=f!==void 0&&Math.abs(p-f)<.004,M=!1;if(!q&&!b&&!x&&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(b||M||X){try{i.currentTime=r}catch(_){v("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!pn.has(i)){pn.add(i),i.load();try{i.currentTime=r}catch(_){v("runtime.media.site3",_)}}Ye.delete(i)}t.playing&&i.paused&&!Ye.has(i)?(is(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 rs=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),os=["[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){v("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(rs)||c(g))}function p(g){return!!g?.closest(os)}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 D=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return D;let J=P.querySelectorAll(`:scope > ${D}`);if(J.length===1)return D;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${D}:nth-of-type(${R+1})`;return D}function x(g){let A=g.tagName.toLowerCase(),w=(g.textContent??"").trim().replace(/\\s+/g," "),C=(T,D)=>T.length>D?`${T.slice(0,D-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 D={},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(!D[le]&&(D[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 D=g.attributes[T];D.name.startsWith("data-")&&(w[D.name]=D.value)}return{id:g.id||null,tagName:g.tagName.toLowerCase(),selector:f(g),label:x(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 b(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=b(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)?b(g,A,w):[],pickAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let C=b(g,A,8);if(!C.length)return null;let T=Math.max(0,Math.min(C.length-1,Number(w??0))),D=C[T]??null;return D?(a(D),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:D}),_(),D):null},pickManyAtPoint:(g,A,w)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let C=b(g,A,8);if(!C.length)return[];let T=[],D=Array.isArray(w)?w:[0];for(let P of D){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){v("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 ss(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){v("runtime.player.site2",s)}}}function as(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=ss(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?(as(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 ls="data-hf-authored-duration",us="data-hf-authored-end";function $e(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function cs(t){return $e(t.getAttribute("data-duration"))}function ds(t){return $e(t.getAttribute("data-end"))}function fs(t){return $e(t.getAttribute(ls))}function ms(t){return $e(t.getAttribute(us))}function ps(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,x=cs(l)??(n?fs(l):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let F=ds(l)??(n?ms(l):null);if(F!=null){let E=c(l,0),b=F-E;Number.isFinite(b)&&b>0&&(f=b)}}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 b=Number(E.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){v("runtime.startResolver.site1",b)}}}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 x=l.parentElement?.closest("[data-composition-id]");return x?c(x,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 x=ps(l.getAttribute("data-start"));if(!x){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(x.kind==="absolute"){let I=Math.max(0,x.value),M=Math.max(0,a(l,p)+I);return i.set(l,M),M}let F=s(x.refId);if(!F)return i.set(l,p),p;let E=c(F,0),b=u(F);if(b==null||b<=0){let I=Math.max(0,E+x.offset);return i.set(l,I),I}let q=Math.max(0,E+b+x.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 hs="data-hf-authored-duration",xs="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(hs))}function Ci(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(xs))}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 gs(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 ys(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 Ss(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 bs(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 As(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=ys(t);if(s)return dt(s);let u=Ss(Ti(t));if(u)return dt(u);let a=bs(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,x=s(),F=x!=null?Math.max(0,x-Math.max(0,f)):null,E=r(p),b=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 b=="number"&&Number.isFinite(b)&&b>0?b: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,D=(C!=null?f+C:null)??(typeof x=="number"&&Number.isFinite(x)&&x>0?x:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:D==null||!Number.isFinite(D)?k:!Number.isFinite(H)||H>=D?0:Math.max(0,Math.min(k,D-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:As(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){v("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))}}gs(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 Y=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.ceil(Y*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=ts(eo(),1),to=ae.default,Uc=ae.default.stringify,zc=ae.default.fromJSON,jc=ae.default.plugin,Gc=ae.default.parse,Vc=ae.default.list,$c=ae.default.document,Kc=ae.default.comment,Jc=ae.default.atRule,Qc=ae.default.rule,Yc=ae.default.decl,Zc=ae.default.root,Xc=ae.default.CssSyntaxError,ed=ae.default.Declaration,td=ae.default.Container,nd=ae.default.Processor,id=ae.default.Document,rd=ae.default.Comment,od=ae.default.Warning,sd=ae.default.AtRule,ad=ae.default.Result,ld=ae.default.Input,ud=ae.default.Rule,cd=ae.default.Root,dd=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 za(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,za(e)])).filter(Boolean):[]}function ja(t){return!!t&&/[\\w-]/.test(t)}function Ga(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(!ja(p)){r+=n,u+=l.length;continue}}}r+=a}return r}function Va(t,e){let n=e?.trim();return n?Ga(t,n,`[${no}="${io(n)}"]`):t}function $a(t,e,n,i){let r=Va(t,i),o=Ka(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 Ka(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 Ja=new Set(["keyframes","-webkit-keyframes","font-face"]);function Qa(t){return t?.type==="atrule"}function Ya(t){let e=t.parent;for(;e;){if(Qa(e)&&Ja.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=>{Ya(u)||(u.selectors=u.selectors.map(a=>$a(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*\\]`),x=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 = ${x};\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=Za();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 Za(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Xa=8e3,el=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function tl(t,e){return`${t}__hf${e}`}var nl=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"),Xa)});function Gn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var il=["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 rl(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let i of il)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 el.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function ol(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 sl(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 al(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function ll(t){return t.hasAttribute("data-composition-src")?!0:lo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:al(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=sl(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Yt(r),u=ll(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?tl(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(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let u=Array.from(n.querySelectorAll("style"));for(let f of u){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=zn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);a.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&a.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),l=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=ao(F,t.compositionUrl);l.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&l.push({kind:"inline",content:E,type:x,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"),x=e.getAttribute("data-height"),F=t.parseDimensionPx(f),E=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),F&&t.host instanceof HTMLElement&&(t.host.style.width=F),E&&t.host instanceof HTMLElement&&(t.host.style.height=E),t.host.appendChild(rl(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...ol(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 x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=oo(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let F=await nl(x);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"),b=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:b,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 ul(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function cl(){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 dl(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=cl();for(let i of e){let r=null;if(i.wordId&&(r=ul(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=dl(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 v("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,x=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,f>=0)l.start(0,f+r);else{let b=-f/c;l.start(x+b,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:l,gainNode:p,compositionStart:i,mediaStart:r,scheduledAt:x,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return v("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){v("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){v("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,h)=>{let S=h??`${d}:${JSON.stringify(m)}`;o.has(S)||(o.add(S),Fe({source:"hf-preview",type:"diagnostic",code:d,details:m}))},c=d=>{let m={scale:1,focusX:960,focusY:540},h=[],S=[],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:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},l=1/60,p=.75,f=2,x=.05,F=100,E=240,b=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(h=>!h.parentElement?.closest("[data-composition-id]"))??m[0]??null},X=()=>{let d=M();if(!d)return;let m=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h),m&&d.style.setProperty("--comp-width",m),h&&d.style.setProperty("--comp-height",h)},_=()=>{let d=M(),m=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of m){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),y=h.getAttribute("data-end");S!=null&&!h.hasAttribute(ho)&&h.setAttribute(ho,S),y!=null&&!h.hasAttribute(xo)&&h.setAttribute(xo,y),h.removeAttribute("data-duration"),h.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")),h=I(d.getAttribute("data-height"));m&&(d.style.width=m),h&&(d.style.height=h);let S=Array.from(d.children);for(let y of S){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,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.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 h=m.getAttribute("data-composition-id");if(h&&m.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){C=!0;break}}}let T=!w&&!C,D=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 h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),S=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>S?Math.max(0,d.duration-S):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 h of d){let S=g(h,0);if(!Number.isFinite(S))continue;let y=J(h);y==null||y<=l||(m=Math.max(m,Math.max(0,S)+y))}return m>l?m:null},le=()=>{let d=M();if(!d)return null;let m=window.__timelines??{},h=Ke({timelineRegistry:m,includeAuthoredTimingAttrs:!0}),S=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 $=h.resolveStartForElement(L,0),ne=h.resolveDurationForElement(L);!Number.isFinite($)||ne==null||ne<=0||(S=Math.max(S,Math.max(0,$)+ne))}return S>l?S: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 h=D(d),S=Se(),y=le(),L=Math.max(S??0,y??0),te=Number.isFinite(m)&&m>l?m:0,$=0;P(h)?$=Math.max(h,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}),h=Se(),S=le(),y=Math.max(h??0,S??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 he of oe)ue.add(he.timeline,te(he.compositionId));return ue},ne=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let he=ue.timeline({paused:!0});if(Q)try{he.add(Q,0)}catch(se){v("runtime.init.site2",se)}let be=he;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){v("runtime.init.site3",se)}return he},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let he=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(he))return[];let be=[];for(let se of Q)if(!he.some(ke=>ke===se.timeline))try{let ke=te(se.compositionId);oe.add(se.timeline,ke),be.push(se.compositionId)}catch(ke){v("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 he of Q){let be=he.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=D(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(he){v("runtime.init.site5",he)}}};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+"\'])"))&&(Y=!0),oe.length>0)try{let se=ye.time();ye.seek(se,!1)}catch{}let Q=D(ye);if(!P(Q)&&me.length>0){let se=me.map($o=>$o.compositionId),Ce=$(me),ke=D(Ce);if(Ce&&P(ke))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:se,autoNestedChildren:oe}}};let un=ne(y??0,ye),cn=D(un);if(un&&P(cn))return{timeline:un,selectedTimelineIds:[fe],selectedDurationSeconds:cn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:cn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ne(y??0,ye),Ce=D(se);if(se&&P(Ce))return{timeline:se,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Ce,selectedTimelineIds:[fe]}}}}let ue=Be?.getAttribute("data-duration"),he=ue?parseFloat(ue):null,be=Math.max(P(he)?he:0,S??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){v("runtime.init.site6",ke)}let Ce=D(ye);if(P(Ce))return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Ce,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:fe,rootDurationSeconds:Q,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:S,newDur:Ce}}}}return{timeline:ye,selectedTimelineIds:[fe],selectedDurationSeconds:Q,mediaDurationFloorSeconds:h,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(he=>he.compositionId),Q=$(me),ue=D(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:fe,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:L,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,pe=()=>{if(!T)return!1;let d=t.capturedTimeline,m=D(d),h=P(m);if(d&&h&&Y)return!1;let S=W();if(!S.timeline)return!1;if(d&&d===S.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=S.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 S.diagnostics&&Fe({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Fe({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),!0};window.__hfForceTimelineRebind=()=>{Y=!1,pe()};let Ne=()=>{let d=M();if(!(d instanceof HTMLElement))return;let m=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),L=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>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:h,declaredHeight:S,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=b(d.error??d.message).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.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=b(d.reason).slice(0,E);if(!m)return;let h=q(m);Fe({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.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 h of d){let S=()=>{if(!(h instanceof Element))return;let y=h.tagName.toLowerCase(),L=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(te,{tagName:y,assetUrl:L,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${te}:${y}:${L??"unknown"}`)};h.addEventListener("error",S),u(()=>{h.removeEventListener("error",S)})}let m=document.fonts;m&&m.ready.then(()=>{if(t.tornDown)return;let h=Array.from(m).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&a("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(m).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},ie=(d,m)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let S=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(S,!1),y&&t.capturedTimeline.play()}catch(L){v("runtime.init.site7",L)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:m,previousTime:S,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){pe()&&(je(),ce(!0));return}if(z)return;let h=D(t.capturedTimeline),S=d.selectedDurationSeconds??D(d.timeline);P(S)&&(!P(h)||S>=h+x)&&ie(d,"manual")&&(z=!0,Fe({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:S??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}}),h=t.mediaForceSyncNextTick;h&&(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:h,onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Fe({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]"));for(let y of S){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)),h=Date.now();(d||m!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=m,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,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 h=I(d.getAttribute("data-width")),S=I(d.getAttribute("data-height")),y=h?parseInt(h,10):0,L=S?parseInt(S,10):0;y>0&&L>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:L})}pe();let m=ki({canonicalFps:t.canonicalFps,maxTimelineDurationSeconds:t.maxTimelineDurationSeconds});window.__clipManifest=m,Fe(m),H()},De=(d,m=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){v("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:m})}catch(S){v("runtime.init.site9",S)}}};if(T)Kn();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:m,details:h})=>{Fe({source:"hf-preview",type:"diagnostic",code:m,details:h})}};mo(d).then(()=>fo(d)).finally(()=>{T=!0,pe(),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 h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(y){v("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(h){v("runtime.init.site11",h)}},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 h=Math.max(0,d)/t.canonicalFps;de.seek(h),lt("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let m=d||t.mediaOutputMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=m)},onSetVolume:d=>{t.bridgeVolume=d,xe.setVolume(d);let m=document.querySelectorAll("video, audio");for(let h of m){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),y=Number.isFinite(S)?S:1;h.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let m=d||t.bridgeMuted;xe.setMuted(m);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.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()}),pe(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),T&&setTimeout(()=>{let d=t.capturedTimeline;pe()&&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,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(m,!1):d.seek(m,!1)}catch(S){v(h,S)}},Go=d=>{let m=window.__timelines??{},h=M()?.getAttribute("data-composition-id")??null;for(let[S,y]of Object.entries(m)){if(!y||S===h)continue;let L=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!L)continue;let te=g(L,0);if(!Number.isFinite(te))continue;let $=A(L,{includeAuthoredTimingAttrs:!0}),ne=D(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")}},Vo=d=>{let m=window.__timelines??{};for(let h of Object.values(m))if(!(!h||h===d))try{h.play()}catch(S){v("runtime.init.activateSiblings",S)}},Ge=(d,m)=>{let h=t.capturedTimeline;if(h){m?.activateChildren&&Vo(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){v("runtime.init.transport.seek",S)}}else Go(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(y){v("runtime.init.transport.adapter",y)}},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 h=t.capturedTimeline;if(pe()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=j(t.capturedTimeline,0);S>0&&B.setDuration(S),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]"),h=!1;for(let S of m){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let y=Number.parseFloat(S.dataset.start??""),L=Number.parseFloat(S.dataset.duration??""),te=Number.isFinite(L)&&L>0?y+L:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(B.attachAudioSource({el:S,compositionStart:y,mediaStart:$}),h=!0);break}}!h&&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 h of m){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let y=Number.parseFloat(h.dataset.duration??""),L=Number.isFinite(y)&&y>0?S+y:1/0;if(d<S||d>=L)continue;let te=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+te;if($>=0)try{h.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 h=M(),S=Number(h?.getAttribute("data-duration")??0);S>0&&B.setDuration(S)}if(d&&d.pause(),!!B.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,oi(B.now()),ii){let h=xe.startGeneration(),S=document.querySelectorAll("audio[data-start]");for(let y of S){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,h,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 S=t.capturedTimeline;S&&S.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,{activateChildren:!0}),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:h=>{de[m]=h},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){v("runtime.init.site12",m)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(m){v("runtime.init.site13",m)}for(let d of t.injectedCompStyles)try{d.remove()}catch(m){v("runtime.init.site14",m)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(m){v("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 fl(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 ml(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 x=fl(p);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let F=0;F<f;F++)n[c+F]=x;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,x=p!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=c;E<l;E++)n[E]=x;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=ml(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 pl=/[ \\t\\n\\r\\f]+/g,hl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function xl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function gl(t){if(!hl.test(t))return t;let e=t.replace(pl," ");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 yl(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,Sl;function bl(){return Qn===null&&(Qn=new Intl.Segmenter(Sl,{granularity:"word"})),Qn}var Al=/\\p{Script=Arabic}/u,en=/\\p{M}/u,Mo=/\\p{Nd}/u;function bo(t){return Al.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 El(t){let e=rn(t);return e!==null&&(nn.has(e)||Ue.has(e))}var Fl=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function wl(t){return Re(t)}function Nl(t){let e=rn(t);return e!==null&&Fl.has(e)}function tn(t){return!El(t)&&!Nl(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"]),Cl=new Set([":",".","\\u060C","\\u061B"]),Ml=new Set(["\\u104F"]),Tl=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function kl(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 _l(t){for(let e of t)if(!nn.has(e)&&!Ue.has(e))return!1;return t.length>0}function Rl(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 vl(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 Dl(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&&Cl.has(e)}function Ll(t){let e=rn(t);return e!==null&&Ml.has(e)}function Bl(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(Tl.has(i))return!0;if(!Ue.has(i))return!1;e=n}return!1}function Il(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 Ol=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function Pl(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function Wl(t,e,n,i){if(!Ol.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=Il(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 Hl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function ql(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Hl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Ul(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function zl(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"||!ql(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 jl(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]),!Ul(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 Gl=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)||Gl.has(e)))return!1;return!0}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];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 $l(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 Kl(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 Jl(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 Ql(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=vl(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=bl(),r=0,o=[],s=[],u=[],a=[],c=[],l=[],p=[],f=[],x=[],F=[],E=[],b=[];for(let N of i.segment(t))for(let g of Wl(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,x[R]=x[R]||T,F[R]=P,E[R]=J,b[R]=Fo(x[R],D)},A=g.kind==="text",w=Dl(g.text,g.isWordLike,g.kind),C=Re(g.text),T=bo(g.text),D=rn(g.text),P=on(g.text),J=Ll(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&C&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&_l(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&T&&b[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"&&(kl(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,x[r]=T,F[r]=P,E[r]=J,b[r]=Fo(T,D),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]&&Rl(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]=Pl(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=Jl({len:M,texts:o,isWordLike:u,kinds:a,starts:c}),_=Ql($l(Kl(Vl(jl(zl(X))))));for(let N=0;N<_.len-1;N++){let g=Bl(_.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 Yl(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 Zl(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],x=t.kinds[p],F=t.isWordLike[p],E=t.starts[p];if(x==="text"){let b=wl(f),q=tn(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||b,c=q;continue}l(),o=[f],s=F,u=E,a=b,c=q;continue}l(),e.push(f),n.push(F),i.push(x),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=xl(n),o=r.mode==="pre-wrap"?yl(t):gl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Zl(Co(o,e,r)):Co(o,e,r);return{normalized:o,chunks:Yl(s,r),...s}}var rt=null,Ro=new Map,ot=null,Xl=96,eu=/\\p{Emoji_Presentation}/u,tu=/[\\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 nu(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 iu(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 ru(t){return eu.test(t)||t.includes("\\uFE0F")}function Lo(t){return tu.test(t)}function ou(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 su(t){let e=0,n=Do();for(let i of n.segment(t))ru(i.segment)&&e++;return e}function au(t,e){return e.emojiCount===void 0&&(e.emojiCount=su(t)),e.emojiCount}function ze(t,e,n){return n===0?e.width:e.width-au(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>Xl){let l=[],p=null,f=0;for(let x of s){let F=Oe(x,n),E=ze(x,F,i);if(p===null)l.push(E);else{let b=p+x,q=Oe(b,n);l.push(ze(b,q,i)-f)}p=x,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=nu(t),r=iu(t),o=e?ou(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function lu(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 uu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function cu(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,x=0,F=0,E=0,b=-1,q=0;function I(){b=-1,q=0}function M(w=F,C=E,T=l){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:w,endGraphemeIndex:C,width:T}),l=0,p=!1,I()}function X(w,C){p=!0,f=w,x=0,F=w+1,E=0,l=C}function _(w,C,T){p=!0,f=w,x=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 D=C;D<T.length;D++){let P=T[D];p?l+P>a?(M(),_(w,D,P)):(l+=P,F=w,E=D+1):_(w,D,P)}p&&F===w&&E===T.length&&(F=w+1,E=0)}let A=0;for(;A<i.length&&!(!p&&(A=lu(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&&(b=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(b>=0){if(F>b||F===b&&E>0){M();continue}M(b,0,q);continue}if(w>e&&o[A]!==null){M(),g(A,0),A++;continue}M();continue}N(A,w),T&&(b=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,x=e+f,F=0,E=0,b=!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,b=!1,w()}function T(V,j){b=!0,q=V,I=0,M=V+1,X=0,E=j}function D(V,j,W){b=!0,q=V,I=j,M=V,X=j+1,E=W}function P(V,j){if(!b){T(V,j);return}E+=j,M=V+1,X=0}function J(V,j,W,Y){if(!j)return;let pe=V==="tab"?0:r[W],Ne=V==="tab"?Y:o[W];_=W+1,N=E-Y+pe,g=E-Y+Ne,A=V}function R(V,j){let W=u[V];for(let Y=j;Y<W.length;Y++){let pe=W[Y];b?E+pe>x?(C(),D(V,Y,pe)):(E+=pe,M=V,X=Y+1):D(V,Y,pe)}b&&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:Y}=cu(j,E,e,f,a);return W===0?!1:(E=Y,M=V,X=W,w(),W===j.length?(M=V+1,X=0,!0):(C(V,W,Y+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}b=!1,E=0,q=j.startSegmentIndex,I=0,M=j.startSegmentIndex,X=0,w();let W=j.startSegmentIndex;for(;W<j.endSegmentIndex;){let Y=s[W],pe=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Ne=Y==="tab"?uu(E,c):i[W];if(Y==="soft-hyphen"){b&&(M=W+1,X=0,_=W+1,N=E+a,g=E+a,A=Y),W++;continue}if(!b){Ne>e&&u[W]!==null?R(W,0):T(W,Ne),J(Y,pe,W,Ne),W++;continue}if(E+Ne>x){let k=E+(Y==="tab"?0:r[W]),O=E+(Y==="tab"?Ne:o[W]);if(A==="soft-hyphen"&&p.preferEarlySoftHyphenBreak&&N<=x){C(_,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(pe&&k<=x){P(W,Ne),C(W+1,0,O),W++;continue}if(_>=0&&N<=x){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(Y,pe,W,Ne),W++}if(b){let Y=_===j.consumedEndSegmentIndex?g:E;C(j.consumedEndSegmentIndex,0,Y)}}return F}var ni=null;function du(){return ni===null&&(ni=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ni}function fu(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 mu(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,x){i=[p],r=f,o=x,s=on(p),u=vt.has(p)}function l(p,f){i.push(p),o=o||f;let x=on(p);p.length===1&&Ue.has(p)?s=s||x:s=x,u=!1}for(let p of du().segment(t)){let f=p.segment,x=Re(f);if(i.length===0){c(f,p.index,x);continue}if(u||nn.has(f)||Ue.has(f)||e.carryCJKAfterClosingQuote&&x&&s){l(f,x);continue}if(!o&&!x){l(f,x);continue}a(),c(f,p.index,x)}return a(),n}function pu(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 hu(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 fu(n);let l=[],p=[],f=[],x=[],F=t.chunks.length<=1,E=n?[]:null,b=[],q=n?[]:null,I=Array.from({length:t.len});function M(g,A,w,C,T,D,P){T!=="text"&&T!=="space"&&T!=="zero-width-break"&&(F=!1),l.push(A),p.push(w),f.push(C),x.push(T),E?.push(D),b.push(P),q!==null&&q.push(g)}function X(g,A,w,C,T){let D=Oe(g,o),P=ze(g,D,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,D,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 D=Oe(A,o);if(C==="text"&&D.containsCJK){let P=mu(A,r),J=i==="keep-all"?pu(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 _=xu(t.chunks,I,l.length),N=E===null?null:So(t.normalized,E);return q!==null?{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_,segments:q}:{widths:l,lineEndFitAdvances:p,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:u,tabStopAdvance:c,chunks:_}}function xu(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 gu(t,e,n,i){let r=i?.wordBreak??"normal",o=_o(t,st(),i?.whiteSpace,r);return hu(o,e,n,r)}function Ho(t,e,n){return gu(t,e,!1,n)}function qo(t,e,n){let i=Oo(t,e);return{lineCount:i,height:i*n}}var yu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Uo(t,e){let n={...yu,...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';
|
|
7418
7418
|
}
|
|
7419
7419
|
});
|
|
7420
7420
|
|
|
@@ -11456,7 +11456,7 @@ import { get as httpsGet } from "https";
|
|
|
11456
11456
|
import { pipeline } from "stream/promises";
|
|
11457
11457
|
function downloadFile(url, dest) {
|
|
11458
11458
|
const tmp = `${dest}.tmp`;
|
|
11459
|
-
return new Promise((
|
|
11459
|
+
return new Promise((resolve46, reject) => {
|
|
11460
11460
|
const follow = (u) => {
|
|
11461
11461
|
httpsGet(u, (res) => {
|
|
11462
11462
|
if (res.statusCode === 301 || res.statusCode === 302) {
|
|
@@ -11473,7 +11473,7 @@ function downloadFile(url, dest) {
|
|
|
11473
11473
|
const file = createWriteStream(tmp);
|
|
11474
11474
|
pipeline(res, file).then(() => {
|
|
11475
11475
|
renameSync(tmp, dest);
|
|
11476
|
-
|
|
11476
|
+
resolve46();
|
|
11477
11477
|
}).catch((err) => {
|
|
11478
11478
|
try {
|
|
11479
11479
|
unlinkSync(tmp);
|
|
@@ -12194,7 +12194,7 @@ function hasNpx() {
|
|
|
12194
12194
|
}
|
|
12195
12195
|
}
|
|
12196
12196
|
function runSkillsAdd(repo) {
|
|
12197
|
-
return new Promise((
|
|
12197
|
+
return new Promise((resolve46, reject) => {
|
|
12198
12198
|
const child = spawn("npx", ["skills", "add", repo, "--all"], {
|
|
12199
12199
|
stdio: "inherit",
|
|
12200
12200
|
timeout: 12e4,
|
|
@@ -12208,7 +12208,7 @@ function runSkillsAdd(repo) {
|
|
|
12208
12208
|
env: { ...process.env, GIT_CLONE_PROTECTION_ACTIVE: "0" }
|
|
12209
12209
|
});
|
|
12210
12210
|
child.on("close", (code, signal) => {
|
|
12211
|
-
if (code === 0)
|
|
12211
|
+
if (code === 0) resolve46();
|
|
12212
12212
|
else if (signal === "SIGINT" || code === 130) process.exit(0);
|
|
12213
12213
|
else reject(new Error(`npx skills add exited with code ${code}`));
|
|
12214
12214
|
});
|
|
@@ -13123,7 +13123,7 @@ function computePeaks(floats, count) {
|
|
|
13123
13123
|
return peaks.map((p2) => p2 / maxPeak);
|
|
13124
13124
|
}
|
|
13125
13125
|
function decodeAudioPeaks(audioPath) {
|
|
13126
|
-
return new Promise((
|
|
13126
|
+
return new Promise((resolve46, reject) => {
|
|
13127
13127
|
const proc = spawn3(
|
|
13128
13128
|
"ffmpeg",
|
|
13129
13129
|
[
|
|
@@ -13156,7 +13156,7 @@ function decodeAudioPeaks(audioPath) {
|
|
|
13156
13156
|
return;
|
|
13157
13157
|
}
|
|
13158
13158
|
const ab = buf.buffer.slice(buf.byteOffset, buf.byteOffset + numSamples * 4);
|
|
13159
|
-
|
|
13159
|
+
resolve46(computePeaks(new Float32Array(ab), PEAK_COUNT));
|
|
13160
13160
|
});
|
|
13161
13161
|
proc.on("error", reject);
|
|
13162
13162
|
});
|
|
@@ -17096,8 +17096,8 @@ var init_custom_element_registry = __esm({
|
|
|
17096
17096
|
} : (element) => element.localName === localName;
|
|
17097
17097
|
registry.set(localName, { Class, check });
|
|
17098
17098
|
if (waiting.has(localName)) {
|
|
17099
|
-
for (const
|
|
17100
|
-
|
|
17099
|
+
for (const resolve46 of waiting.get(localName))
|
|
17100
|
+
resolve46(Class);
|
|
17101
17101
|
waiting.delete(localName);
|
|
17102
17102
|
}
|
|
17103
17103
|
ownerDocument.querySelectorAll(
|
|
@@ -17137,13 +17137,13 @@ var init_custom_element_registry = __esm({
|
|
|
17137
17137
|
*/
|
|
17138
17138
|
whenDefined(localName) {
|
|
17139
17139
|
const { registry, waiting } = this;
|
|
17140
|
-
return new Promise((
|
|
17140
|
+
return new Promise((resolve46) => {
|
|
17141
17141
|
if (registry.has(localName))
|
|
17142
|
-
|
|
17142
|
+
resolve46(registry.get(localName).Class);
|
|
17143
17143
|
else {
|
|
17144
17144
|
if (!waiting.has(localName))
|
|
17145
17145
|
waiting.set(localName, []);
|
|
17146
|
-
waiting.get(localName).push(
|
|
17146
|
+
waiting.get(localName).push(resolve46);
|
|
17147
17147
|
}
|
|
17148
17148
|
});
|
|
17149
17149
|
}
|
|
@@ -29452,10 +29452,10 @@ async function waitForCloseWithTimeout(promise) {
|
|
|
29452
29452
|
() => void 0,
|
|
29453
29453
|
() => void 0
|
|
29454
29454
|
),
|
|
29455
|
-
new Promise((
|
|
29455
|
+
new Promise((resolve46) => {
|
|
29456
29456
|
timer = setTimeout(() => {
|
|
29457
29457
|
timedOut = true;
|
|
29458
|
-
|
|
29458
|
+
resolve46();
|
|
29459
29459
|
}, CAPTURE_SESSION_CLOSE_TIMEOUT_MS);
|
|
29460
29460
|
})
|
|
29461
29461
|
]);
|
|
@@ -29553,7 +29553,7 @@ async function pollPageExpression(page, expression, timeoutMs, intervalMs = 100)
|
|
|
29553
29553
|
while (Date.now() < deadline) {
|
|
29554
29554
|
const ready = Boolean(await page.evaluate(expression));
|
|
29555
29555
|
if (ready) return true;
|
|
29556
|
-
await new Promise((
|
|
29556
|
+
await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
|
|
29557
29557
|
}
|
|
29558
29558
|
return Boolean(await page.evaluate(expression));
|
|
29559
29559
|
}
|
|
@@ -29612,7 +29612,7 @@ async function pollVideosReady(page, skipIds, timeoutMs, intervalMs = 100) {
|
|
|
29612
29612
|
const deadline = Date.now() + timeoutMs;
|
|
29613
29613
|
while (Date.now() < deadline) {
|
|
29614
29614
|
if (await check()) return true;
|
|
29615
|
-
await new Promise((
|
|
29615
|
+
await new Promise((resolve46) => setTimeout(resolve46, intervalMs));
|
|
29616
29616
|
}
|
|
29617
29617
|
return check();
|
|
29618
29618
|
}
|
|
@@ -29646,7 +29646,7 @@ async function waitForOptionalTailwindReady(page, timeoutMs) {
|
|
|
29646
29646
|
page.evaluate(
|
|
29647
29647
|
`Promise.resolve(window.__tailwindReady).then(() => true, () => false)`
|
|
29648
29648
|
),
|
|
29649
|
-
new Promise((
|
|
29649
|
+
new Promise((resolve46) => setTimeout(() => resolve46(false), timeoutMs))
|
|
29650
29650
|
]);
|
|
29651
29651
|
if (!ready) {
|
|
29652
29652
|
throw new Error(
|
|
@@ -30014,14 +30014,14 @@ var init_frameCapture = __esm({
|
|
|
30014
30014
|
BROWSER_CONSOLE_BUFFER_SIZE = 200;
|
|
30015
30015
|
CAPTURE_SESSION_CLOSE_TIMEOUT_MS = 5e3;
|
|
30016
30016
|
LOCKED_WARMUP_TICKS = 60;
|
|
30017
|
-
realSleep = (ms) => new Promise((
|
|
30017
|
+
realSleep = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
|
|
30018
30018
|
}
|
|
30019
30019
|
});
|
|
30020
30020
|
|
|
30021
30021
|
// ../engine/src/utils/gpuEncoder.ts
|
|
30022
30022
|
import { spawn as spawn4 } from "child_process";
|
|
30023
30023
|
async function detectGpuEncoder() {
|
|
30024
|
-
return new Promise((
|
|
30024
|
+
return new Promise((resolve46) => {
|
|
30025
30025
|
const ffmpeg = spawn4("ffmpeg", ["-encoders"], {
|
|
30026
30026
|
stdio: ["pipe", "pipe", "pipe"]
|
|
30027
30027
|
});
|
|
@@ -30030,13 +30030,13 @@ async function detectGpuEncoder() {
|
|
|
30030
30030
|
stdout2 += data.toString();
|
|
30031
30031
|
});
|
|
30032
30032
|
ffmpeg.on("close", () => {
|
|
30033
|
-
if (stdout2.includes("h264_nvenc"))
|
|
30034
|
-
else if (stdout2.includes("h264_videotoolbox"))
|
|
30035
|
-
else if (stdout2.includes("h264_vaapi"))
|
|
30036
|
-
else if (stdout2.includes("h264_qsv"))
|
|
30037
|
-
else
|
|
30033
|
+
if (stdout2.includes("h264_nvenc")) resolve46("nvenc");
|
|
30034
|
+
else if (stdout2.includes("h264_videotoolbox")) resolve46("videotoolbox");
|
|
30035
|
+
else if (stdout2.includes("h264_vaapi")) resolve46("vaapi");
|
|
30036
|
+
else if (stdout2.includes("h264_qsv")) resolve46("qsv");
|
|
30037
|
+
else resolve46(null);
|
|
30038
30038
|
});
|
|
30039
|
-
ffmpeg.on("error", () =>
|
|
30039
|
+
ffmpeg.on("error", () => resolve46(null));
|
|
30040
30040
|
});
|
|
30041
30041
|
}
|
|
30042
30042
|
async function getCachedGpuEncoder() {
|
|
@@ -30157,7 +30157,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30157
30157
|
const signal = opts?.signal;
|
|
30158
30158
|
const timeout = opts?.timeout ?? DEFAULT_TIMEOUT;
|
|
30159
30159
|
const onStderr = opts?.onStderr;
|
|
30160
|
-
return new Promise((
|
|
30160
|
+
return new Promise((resolve46) => {
|
|
30161
30161
|
const ffmpeg = spawn5("ffmpeg", args);
|
|
30162
30162
|
let stderr = "";
|
|
30163
30163
|
const onAbort = () => {
|
|
@@ -30183,7 +30183,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30183
30183
|
ffmpeg.on("close", (code) => {
|
|
30184
30184
|
clearTimeout(timer);
|
|
30185
30185
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30186
|
-
|
|
30186
|
+
resolve46({
|
|
30187
30187
|
success: !signal?.aborted && code === 0,
|
|
30188
30188
|
exitCode: code,
|
|
30189
30189
|
stderr,
|
|
@@ -30193,7 +30193,7 @@ async function runFfmpeg(args, opts) {
|
|
|
30193
30193
|
ffmpeg.on("error", (err) => {
|
|
30194
30194
|
clearTimeout(timer);
|
|
30195
30195
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30196
|
-
|
|
30196
|
+
resolve46({
|
|
30197
30197
|
success: false,
|
|
30198
30198
|
exitCode: null,
|
|
30199
30199
|
stderr: err.message,
|
|
@@ -30445,7 +30445,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30445
30445
|
const inputPath = join24(framesDir, framePattern);
|
|
30446
30446
|
const inputArgs = ["-framerate", fpsToFfmpegArg(options.fps), "-i", inputPath];
|
|
30447
30447
|
const args = buildEncoderArgs(options, inputArgs, outputPath, gpuEncoder);
|
|
30448
|
-
return new Promise((
|
|
30448
|
+
return new Promise((resolve46) => {
|
|
30449
30449
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30450
30450
|
let stderr = "";
|
|
30451
30451
|
const onAbort = () => {
|
|
@@ -30470,7 +30470,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30470
30470
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30471
30471
|
const durationMs = Date.now() - startTime;
|
|
30472
30472
|
if (signal?.aborted) {
|
|
30473
|
-
|
|
30473
|
+
resolve46({
|
|
30474
30474
|
success: false,
|
|
30475
30475
|
outputPath,
|
|
30476
30476
|
durationMs,
|
|
@@ -30481,7 +30481,7 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30481
30481
|
return;
|
|
30482
30482
|
}
|
|
30483
30483
|
if (code !== 0) {
|
|
30484
|
-
|
|
30484
|
+
resolve46({
|
|
30485
30485
|
success: false,
|
|
30486
30486
|
outputPath,
|
|
30487
30487
|
durationMs,
|
|
@@ -30492,12 +30492,12 @@ async function encodeFramesFromDir(framesDir, framePattern, outputPath, options,
|
|
|
30492
30492
|
return;
|
|
30493
30493
|
}
|
|
30494
30494
|
const fileSize = existsSync20(outputPath) ? statSync6(outputPath).size : 0;
|
|
30495
|
-
|
|
30495
|
+
resolve46({ success: true, outputPath, durationMs, framesEncoded: frameCount, fileSize });
|
|
30496
30496
|
});
|
|
30497
30497
|
ffmpeg.on("error", (err) => {
|
|
30498
30498
|
clearTimeout(timer);
|
|
30499
30499
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30500
|
-
|
|
30500
|
+
resolve46({
|
|
30501
30501
|
success: false,
|
|
30502
30502
|
outputPath,
|
|
30503
30503
|
durationMs: Date.now() - startTime,
|
|
@@ -30555,18 +30555,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30555
30555
|
let gpuEncoder = null;
|
|
30556
30556
|
if (options.useGpu) gpuEncoder = await getCachedGpuEncoder();
|
|
30557
30557
|
const args = buildEncoderArgs(options, inputArgs, chunkPath, gpuEncoder);
|
|
30558
|
-
const chunkResult = await new Promise((
|
|
30558
|
+
const chunkResult = await new Promise((resolve46) => {
|
|
30559
30559
|
const ffmpeg = spawn6("ffmpeg", args);
|
|
30560
30560
|
let stderr = "";
|
|
30561
30561
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30562
30562
|
stderr += d2.toString();
|
|
30563
30563
|
});
|
|
30564
30564
|
ffmpeg.on("close", (code) => {
|
|
30565
|
-
if (code === 0)
|
|
30566
|
-
else
|
|
30565
|
+
if (code === 0) resolve46({ success: true });
|
|
30566
|
+
else resolve46({ success: false, error: `Chunk ${i2} encode failed: ${stderr.slice(-400)}` });
|
|
30567
30567
|
});
|
|
30568
30568
|
ffmpeg.on("error", (err) => {
|
|
30569
|
-
|
|
30569
|
+
resolve46({ success: false, error: `Chunk ${i2} encode error: ${err.message}` });
|
|
30570
30570
|
});
|
|
30571
30571
|
});
|
|
30572
30572
|
if (!chunkResult.success) {
|
|
@@ -30596,18 +30596,18 @@ async function encodeFramesChunkedConcat(framesDir, framePattern, outputPath, op
|
|
|
30596
30596
|
"-y",
|
|
30597
30597
|
outputPath
|
|
30598
30598
|
];
|
|
30599
|
-
const concatResult = await new Promise((
|
|
30599
|
+
const concatResult = await new Promise((resolve46) => {
|
|
30600
30600
|
const ffmpeg = spawn6("ffmpeg", concatArgs);
|
|
30601
30601
|
let stderr = "";
|
|
30602
30602
|
ffmpeg.stderr.on("data", (d2) => {
|
|
30603
30603
|
stderr += d2.toString();
|
|
30604
30604
|
});
|
|
30605
30605
|
ffmpeg.on("close", (code) => {
|
|
30606
|
-
if (code === 0)
|
|
30607
|
-
else
|
|
30606
|
+
if (code === 0) resolve46({ success: true });
|
|
30607
|
+
else resolve46({ success: false, error: `Chunk concat failed: ${stderr.slice(-400)}` });
|
|
30608
30608
|
});
|
|
30609
30609
|
ffmpeg.on("error", (err) => {
|
|
30610
|
-
|
|
30610
|
+
resolve46({ success: false, error: `Chunk concat error: ${err.message}` });
|
|
30611
30611
|
});
|
|
30612
30612
|
});
|
|
30613
30613
|
if (!concatResult.success) {
|
|
@@ -30709,37 +30709,37 @@ import { dirname as dirname8 } from "path";
|
|
|
30709
30709
|
function createFrameReorderBuffer(startFrame, endFrame) {
|
|
30710
30710
|
let cursor = startFrame;
|
|
30711
30711
|
const pending = /* @__PURE__ */ new Map();
|
|
30712
|
-
const enqueueAt = (frame,
|
|
30712
|
+
const enqueueAt = (frame, resolve46) => {
|
|
30713
30713
|
const list = pending.get(frame);
|
|
30714
30714
|
if (list === void 0) {
|
|
30715
|
-
pending.set(frame, [
|
|
30715
|
+
pending.set(frame, [resolve46]);
|
|
30716
30716
|
} else {
|
|
30717
|
-
list.push(
|
|
30717
|
+
list.push(resolve46);
|
|
30718
30718
|
}
|
|
30719
30719
|
};
|
|
30720
30720
|
const flushAt = (frame) => {
|
|
30721
30721
|
const list = pending.get(frame);
|
|
30722
30722
|
if (list === void 0) return;
|
|
30723
30723
|
pending.delete(frame);
|
|
30724
|
-
for (const
|
|
30724
|
+
for (const resolve46 of list) resolve46();
|
|
30725
30725
|
};
|
|
30726
|
-
const waitForFrame = (frame) => new Promise((
|
|
30726
|
+
const waitForFrame = (frame) => new Promise((resolve46) => {
|
|
30727
30727
|
if (frame === cursor) {
|
|
30728
|
-
|
|
30728
|
+
resolve46();
|
|
30729
30729
|
return;
|
|
30730
30730
|
}
|
|
30731
|
-
enqueueAt(frame,
|
|
30731
|
+
enqueueAt(frame, resolve46);
|
|
30732
30732
|
});
|
|
30733
30733
|
const advanceTo = (frame) => {
|
|
30734
30734
|
cursor = frame;
|
|
30735
30735
|
flushAt(frame);
|
|
30736
30736
|
};
|
|
30737
|
-
const waitForAllDone = () => new Promise((
|
|
30737
|
+
const waitForAllDone = () => new Promise((resolve46) => {
|
|
30738
30738
|
if (cursor >= endFrame) {
|
|
30739
|
-
|
|
30739
|
+
resolve46();
|
|
30740
30740
|
return;
|
|
30741
30741
|
}
|
|
30742
|
-
enqueueAt(endFrame,
|
|
30742
|
+
enqueueAt(endFrame, resolve46);
|
|
30743
30743
|
});
|
|
30744
30744
|
return { waitForFrame, advanceTo, waitForAllDone };
|
|
30745
30745
|
}
|
|
@@ -30920,7 +30920,7 @@ async function spawnStreamingEncoder(outputPath, options, signal, config) {
|
|
|
30920
30920
|
let stderr = "";
|
|
30921
30921
|
let exitCode = null;
|
|
30922
30922
|
let exitPromiseResolve = null;
|
|
30923
|
-
const exitPromise = new Promise((
|
|
30923
|
+
const exitPromise = new Promise((resolve46) => exitPromiseResolve = resolve46);
|
|
30924
30924
|
ffmpeg.stderr?.on("data", (data) => {
|
|
30925
30925
|
stderr += data.toString();
|
|
30926
30926
|
});
|
|
@@ -30980,8 +30980,8 @@ Process error: ${err.message}`;
|
|
|
30980
30980
|
if (signal) signal.removeEventListener("abort", onAbort);
|
|
30981
30981
|
const stdin = ffmpeg.stdin;
|
|
30982
30982
|
if (stdin && !stdin.destroyed) {
|
|
30983
|
-
await new Promise((
|
|
30984
|
-
stdin.end(() =>
|
|
30983
|
+
await new Promise((resolve46) => {
|
|
30984
|
+
stdin.end(() => resolve46());
|
|
30985
30985
|
});
|
|
30986
30986
|
}
|
|
30987
30987
|
await exitPromise;
|
|
@@ -31025,7 +31025,7 @@ import { spawn as spawn8 } from "child_process";
|
|
|
31025
31025
|
import { readFileSync as readFileSync18 } from "fs";
|
|
31026
31026
|
import { extname as extname5 } from "path";
|
|
31027
31027
|
function runFfprobe(args) {
|
|
31028
|
-
return new Promise((
|
|
31028
|
+
return new Promise((resolve46, reject) => {
|
|
31029
31029
|
const proc = spawn8("ffprobe", args);
|
|
31030
31030
|
let stdout2 = "";
|
|
31031
31031
|
let stderr = "";
|
|
@@ -31039,7 +31039,7 @@ function runFfprobe(args) {
|
|
|
31039
31039
|
if (code !== 0) {
|
|
31040
31040
|
reject(new Error(`[FFmpeg] ffprobe exited with code ${code}: ${stderr}`));
|
|
31041
31041
|
} else {
|
|
31042
|
-
|
|
31042
|
+
resolve46(stdout2);
|
|
31043
31043
|
}
|
|
31044
31044
|
});
|
|
31045
31045
|
proc.on("error", (err) => {
|
|
@@ -32975,7 +32975,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
32975
32975
|
args.push("-q:v", format === "jpg" ? String(Math.ceil((100 - quality) / 3)) : "0");
|
|
32976
32976
|
if (format === "png") args.push("-compression_level", "6");
|
|
32977
32977
|
args.push("-y", outputPattern);
|
|
32978
|
-
return new Promise((
|
|
32978
|
+
return new Promise((resolve46, reject) => {
|
|
32979
32979
|
const ffmpeg = spawn9("ffmpeg", args);
|
|
32980
32980
|
let stderr = "";
|
|
32981
32981
|
const onAbort = () => {
|
|
@@ -33010,7 +33010,7 @@ async function extractVideoFramesRange(videoPath, videoId, startTime, duration,
|
|
|
33010
33010
|
files.forEach((file, index) => {
|
|
33011
33011
|
framePaths.set(index, join28(videoOutputDir, file));
|
|
33012
33012
|
});
|
|
33013
|
-
|
|
33013
|
+
resolve46({
|
|
33014
33014
|
videoId,
|
|
33015
33015
|
srcPath: videoPath,
|
|
33016
33016
|
outputDir: videoOutputDir,
|
|
@@ -34593,11 +34593,11 @@ function createFileServer(options) {
|
|
|
34593
34593
|
headers: { "Content-Type": contentType }
|
|
34594
34594
|
});
|
|
34595
34595
|
});
|
|
34596
|
-
return new Promise((
|
|
34596
|
+
return new Promise((resolve46) => {
|
|
34597
34597
|
const server = serve({ fetch: app.fetch, port }, (info) => {
|
|
34598
34598
|
const actualPort = info.port;
|
|
34599
34599
|
const url = `http://localhost:${actualPort}`;
|
|
34600
|
-
|
|
34600
|
+
resolve46({
|
|
34601
34601
|
url,
|
|
34602
34602
|
port: actualPort,
|
|
34603
34603
|
close: () => server.close()
|
|
@@ -36986,10 +36986,10 @@ function createFileServer2(options) {
|
|
|
36986
36986
|
headers: { "Content-Type": contentType }
|
|
36987
36987
|
});
|
|
36988
36988
|
});
|
|
36989
|
-
return new Promise((
|
|
36989
|
+
return new Promise((resolve46) => {
|
|
36990
36990
|
const connections = /* @__PURE__ */ new Set();
|
|
36991
36991
|
const server = serve2({ fetch: app.fetch, port }, (info) => {
|
|
36992
|
-
|
|
36992
|
+
resolve46({
|
|
36993
36993
|
url: `http://localhost:${info.port}`,
|
|
36994
36994
|
port: info.port,
|
|
36995
36995
|
addPreHeadScript: (script) => {
|
|
@@ -37290,11 +37290,11 @@ import {
|
|
|
37290
37290
|
isAbsolute as nodeIsAbsolute
|
|
37291
37291
|
} from "path";
|
|
37292
37292
|
function isPathInside2(childPath, parentPath, options = {}) {
|
|
37293
|
-
const
|
|
37293
|
+
const resolvePath4 = options.pathModule?.resolve ?? nodeResolve;
|
|
37294
37294
|
const relativePath = options.pathModule?.relative ?? nodeRelative;
|
|
37295
37295
|
const isPathAbsolute = options.pathModule?.isAbsolute ?? nodeIsAbsolute;
|
|
37296
|
-
const absChild =
|
|
37297
|
-
const absParent =
|
|
37296
|
+
const absChild = resolvePath4(childPath);
|
|
37297
|
+
const absParent = resolvePath4(parentPath);
|
|
37298
37298
|
if (absChild === absParent) return true;
|
|
37299
37299
|
const rel = relativePath(absParent, absChild);
|
|
37300
37300
|
return rel !== "" && !rel.startsWith("..") && !isPathAbsolute(rel);
|
|
@@ -40430,8 +40430,8 @@ async function createShaderTransitionWorkerPool(opts) {
|
|
|
40430
40430
|
if (terminated) {
|
|
40431
40431
|
throw new Error("shader-blend pool already terminated");
|
|
40432
40432
|
}
|
|
40433
|
-
return new Promise((
|
|
40434
|
-
const task = traceEnabled ? { req, resolve:
|
|
40433
|
+
return new Promise((resolve46, reject) => {
|
|
40434
|
+
const task = traceEnabled ? { req, resolve: resolve46, reject, enqueuedAtMs: Date.now(), traceId: ++nextTaskId } : { req, resolve: resolve46, reject };
|
|
40435
40435
|
const idle = slots.find((s2) => !s2.busy);
|
|
40436
40436
|
if (idle) {
|
|
40437
40437
|
queue.unshift(task);
|
|
@@ -42540,10 +42540,10 @@ var init_semaphore = __esm({
|
|
|
42540
42540
|
this.active++;
|
|
42541
42541
|
return () => this.release();
|
|
42542
42542
|
}
|
|
42543
|
-
return new Promise((
|
|
42543
|
+
return new Promise((resolve46) => {
|
|
42544
42544
|
this.queue.push(() => {
|
|
42545
42545
|
this.active++;
|
|
42546
|
-
|
|
42546
|
+
resolve46(() => this.release());
|
|
42547
42547
|
});
|
|
42548
42548
|
});
|
|
42549
42549
|
}
|
|
@@ -43548,7 +43548,8 @@ function buildLockedRenderConfig(input) {
|
|
|
43548
43548
|
pixelFormat,
|
|
43549
43549
|
chunkSize: input.effectiveChunkSize,
|
|
43550
43550
|
chunkCount: input.chunkCount,
|
|
43551
|
-
runtimeEnv: input.runtimeEnv
|
|
43551
|
+
runtimeEnv: input.runtimeEnv,
|
|
43552
|
+
variables: config.variables
|
|
43552
43553
|
};
|
|
43553
43554
|
}
|
|
43554
43555
|
function resolveEncoderTriple(config) {
|
|
@@ -44050,6 +44051,12 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
44050
44051
|
format: plan2.dimensions.format === "mp4" ? "jpeg" : "png",
|
|
44051
44052
|
quality: plan2.dimensions.format === "mp4" ? 80 : void 0,
|
|
44052
44053
|
deviceScaleFactor: encoder.deviceScaleFactor,
|
|
44054
|
+
// Re-inject the controller's snapshotted variables so the chunk's
|
|
44055
|
+
// first capture sees the same `window.__hfVariables` the in-process
|
|
44056
|
+
// renderer would have seen. Optional — compositions that don't
|
|
44057
|
+
// declare `data-composition-variables` leave this undefined and the
|
|
44058
|
+
// engine skips the `evaluateOnNewDocument` injection.
|
|
44059
|
+
variables: encoder.variables,
|
|
44053
44060
|
// lock the BeginFrame warmup loop to a fixed iteration count so
|
|
44054
44061
|
// `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
|
|
44055
44062
|
lockWarmupTicks: true
|
|
@@ -44377,7 +44384,7 @@ async function defaultRunFfmpeg(args) {
|
|
|
44377
44384
|
};
|
|
44378
44385
|
}
|
|
44379
44386
|
function runFfprobeJson(args) {
|
|
44380
|
-
return new Promise((
|
|
44387
|
+
return new Promise((resolve46, reject) => {
|
|
44381
44388
|
const proc = spawn10("ffprobe", args);
|
|
44382
44389
|
let stdout2 = "";
|
|
44383
44390
|
let stderr = "";
|
|
@@ -44400,7 +44407,7 @@ function runFfprobeJson(args) {
|
|
|
44400
44407
|
return;
|
|
44401
44408
|
}
|
|
44402
44409
|
try {
|
|
44403
|
-
|
|
44410
|
+
resolve46(JSON.parse(stdout2));
|
|
44404
44411
|
} catch (err) {
|
|
44405
44412
|
reject(new Error(`Failed to parse ffprobe output: ${err.message}`));
|
|
44406
44413
|
}
|
|
@@ -45162,8 +45169,8 @@ async function runDevMode(dir, options) {
|
|
|
45162
45169
|
}
|
|
45163
45170
|
});
|
|
45164
45171
|
}
|
|
45165
|
-
return new Promise((
|
|
45166
|
-
child.on("close", () =>
|
|
45172
|
+
return new Promise((resolve46) => {
|
|
45173
|
+
child.on("close", () => resolve46());
|
|
45167
45174
|
});
|
|
45168
45175
|
}
|
|
45169
45176
|
function hasLocalStudio(dir) {
|
|
@@ -45237,8 +45244,8 @@ async function runLocalStudioMode(dir, options) {
|
|
|
45237
45244
|
}
|
|
45238
45245
|
});
|
|
45239
45246
|
}
|
|
45240
|
-
return new Promise((
|
|
45241
|
-
child.on("close", () =>
|
|
45247
|
+
return new Promise((resolve46) => {
|
|
45248
|
+
child.on("close", () => resolve46());
|
|
45242
45249
|
});
|
|
45243
45250
|
}
|
|
45244
45251
|
async function runEmbeddedMode(dir, startPort, options) {
|
|
@@ -47323,6 +47330,149 @@ var init_publish = __esm({
|
|
|
47323
47330
|
}
|
|
47324
47331
|
});
|
|
47325
47332
|
|
|
47333
|
+
// src/utils/dom.ts
|
|
47334
|
+
function ensureDOMParser() {
|
|
47335
|
+
if (typeof globalThis.DOMParser === "undefined") {
|
|
47336
|
+
globalThis.DOMParser = DOMParser2;
|
|
47337
|
+
}
|
|
47338
|
+
}
|
|
47339
|
+
var init_dom = __esm({
|
|
47340
|
+
"src/utils/dom.ts"() {
|
|
47341
|
+
"use strict";
|
|
47342
|
+
init_esm10();
|
|
47343
|
+
}
|
|
47344
|
+
});
|
|
47345
|
+
|
|
47346
|
+
// src/utils/variables.ts
|
|
47347
|
+
import { readFileSync as readFileSync36 } from "fs";
|
|
47348
|
+
import { resolve as resolve32 } from "path";
|
|
47349
|
+
function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
|
|
47350
|
+
if (inline != null && filePath != null) {
|
|
47351
|
+
return { ok: false, error: { kind: "conflict" } };
|
|
47352
|
+
}
|
|
47353
|
+
let raw;
|
|
47354
|
+
let source;
|
|
47355
|
+
if (inline != null) {
|
|
47356
|
+
raw = inline;
|
|
47357
|
+
source = "inline";
|
|
47358
|
+
} else if (filePath != null) {
|
|
47359
|
+
try {
|
|
47360
|
+
raw = readFile(filePath);
|
|
47361
|
+
source = "file";
|
|
47362
|
+
} catch (error) {
|
|
47363
|
+
return {
|
|
47364
|
+
ok: false,
|
|
47365
|
+
error: {
|
|
47366
|
+
kind: "read-error",
|
|
47367
|
+
path: filePath,
|
|
47368
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
47369
|
+
}
|
|
47370
|
+
};
|
|
47371
|
+
}
|
|
47372
|
+
}
|
|
47373
|
+
if (raw == null) return { ok: true, value: void 0 };
|
|
47374
|
+
let parsed;
|
|
47375
|
+
try {
|
|
47376
|
+
parsed = JSON.parse(raw);
|
|
47377
|
+
} catch (error) {
|
|
47378
|
+
return {
|
|
47379
|
+
ok: false,
|
|
47380
|
+
error: {
|
|
47381
|
+
kind: "parse-error",
|
|
47382
|
+
source: source ?? "inline",
|
|
47383
|
+
cause: error instanceof Error ? error.message : String(error)
|
|
47384
|
+
}
|
|
47385
|
+
};
|
|
47386
|
+
}
|
|
47387
|
+
if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
47388
|
+
return { ok: false, error: { kind: "shape-error" } };
|
|
47389
|
+
}
|
|
47390
|
+
return { ok: true, value: parsed };
|
|
47391
|
+
}
|
|
47392
|
+
function variablesErrorMessage(error) {
|
|
47393
|
+
switch (error.kind) {
|
|
47394
|
+
case "conflict":
|
|
47395
|
+
return {
|
|
47396
|
+
title: "Conflicting variables flags",
|
|
47397
|
+
message: "Use either --variables or --variables-file, not both."
|
|
47398
|
+
};
|
|
47399
|
+
case "read-error":
|
|
47400
|
+
return {
|
|
47401
|
+
title: "Could not read --variables-file",
|
|
47402
|
+
message: `${error.path}: ${error.cause}`
|
|
47403
|
+
};
|
|
47404
|
+
case "parse-error":
|
|
47405
|
+
return {
|
|
47406
|
+
title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
|
|
47407
|
+
message: error.cause
|
|
47408
|
+
};
|
|
47409
|
+
case "shape-error":
|
|
47410
|
+
return {
|
|
47411
|
+
title: "Invalid variables payload",
|
|
47412
|
+
message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
|
|
47413
|
+
};
|
|
47414
|
+
}
|
|
47415
|
+
}
|
|
47416
|
+
function resolveVariablesArg(inline, filePath) {
|
|
47417
|
+
const result = parseVariablesArg(inline, filePath);
|
|
47418
|
+
if (!result.ok) {
|
|
47419
|
+
const { title, message } = variablesErrorMessage(result.error);
|
|
47420
|
+
errorBox(title, message);
|
|
47421
|
+
process.exit(1);
|
|
47422
|
+
}
|
|
47423
|
+
return result.value;
|
|
47424
|
+
}
|
|
47425
|
+
function validateVariablesAgainstProject(indexPath, values) {
|
|
47426
|
+
const schema = loadProjectVariableSchema(indexPath);
|
|
47427
|
+
return validateVariablesAgainstSchema(values, schema);
|
|
47428
|
+
}
|
|
47429
|
+
function loadProjectVariableSchema(indexPath) {
|
|
47430
|
+
let html;
|
|
47431
|
+
try {
|
|
47432
|
+
html = readFileSync36(indexPath, "utf8");
|
|
47433
|
+
} catch {
|
|
47434
|
+
return [];
|
|
47435
|
+
}
|
|
47436
|
+
ensureDOMParser();
|
|
47437
|
+
return extractCompositionMetadata(html).variables;
|
|
47438
|
+
}
|
|
47439
|
+
function validateVariablesAgainstSchema(values, schema) {
|
|
47440
|
+
if (schema.length === 0) return [];
|
|
47441
|
+
return validateVariables(values, schema);
|
|
47442
|
+
}
|
|
47443
|
+
function reportVariableIssues(issues, options) {
|
|
47444
|
+
if (issues.length === 0) return;
|
|
47445
|
+
const { strict, quiet } = options;
|
|
47446
|
+
if (!quiet) {
|
|
47447
|
+
console.log("");
|
|
47448
|
+
console.log(
|
|
47449
|
+
c2.warn(
|
|
47450
|
+
`Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
|
|
47451
|
+
)
|
|
47452
|
+
);
|
|
47453
|
+
for (const issue of issues) {
|
|
47454
|
+
console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
|
|
47455
|
+
}
|
|
47456
|
+
console.log("");
|
|
47457
|
+
}
|
|
47458
|
+
if (strict) {
|
|
47459
|
+
errorBox(
|
|
47460
|
+
"Variable validation failed",
|
|
47461
|
+
"Aborting render due to variable issues (--strict-variables mode)."
|
|
47462
|
+
);
|
|
47463
|
+
process.exit(1);
|
|
47464
|
+
}
|
|
47465
|
+
}
|
|
47466
|
+
var init_variables = __esm({
|
|
47467
|
+
"src/utils/variables.ts"() {
|
|
47468
|
+
"use strict";
|
|
47469
|
+
init_src();
|
|
47470
|
+
init_dom();
|
|
47471
|
+
init_colors();
|
|
47472
|
+
init_format();
|
|
47473
|
+
}
|
|
47474
|
+
});
|
|
47475
|
+
|
|
47326
47476
|
// src/utils/producer.ts
|
|
47327
47477
|
async function loadProducer() {
|
|
47328
47478
|
return await Promise.resolve().then(() => (init_src3(), src_exports3));
|
|
@@ -47401,19 +47551,6 @@ var init_dockerRunArgs = __esm({
|
|
|
47401
47551
|
}
|
|
47402
47552
|
});
|
|
47403
47553
|
|
|
47404
|
-
// src/utils/dom.ts
|
|
47405
|
-
function ensureDOMParser() {
|
|
47406
|
-
if (typeof globalThis.DOMParser === "undefined") {
|
|
47407
|
-
globalThis.DOMParser = DOMParser2;
|
|
47408
|
-
}
|
|
47409
|
-
}
|
|
47410
|
-
var init_dom = __esm({
|
|
47411
|
-
"src/utils/dom.ts"() {
|
|
47412
|
-
"use strict";
|
|
47413
|
-
init_esm10();
|
|
47414
|
-
}
|
|
47415
|
-
});
|
|
47416
|
-
|
|
47417
47554
|
// src/browser/ffmpeg.ts
|
|
47418
47555
|
var ffmpeg_exports = {};
|
|
47419
47556
|
__export(ffmpeg_exports, {
|
|
@@ -47456,15 +47593,12 @@ var render_exports = {};
|
|
|
47456
47593
|
__export(render_exports, {
|
|
47457
47594
|
default: () => render_default,
|
|
47458
47595
|
examples: () => examples7,
|
|
47459
|
-
parseVariablesArg: () => parseVariablesArg,
|
|
47460
47596
|
renderLocal: () => renderLocal,
|
|
47461
|
-
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
47462
|
-
resolveVariablesArg: () => resolveVariablesArg,
|
|
47463
|
-
validateVariablesAgainstProject: () => validateVariablesAgainstProject
|
|
47597
|
+
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
47464
47598
|
});
|
|
47465
|
-
import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as
|
|
47599
|
+
import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync37, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
|
|
47466
47600
|
import { cpus as cpus4, freemem as freemem3, tmpdir as tmpdir5 } from "os";
|
|
47467
|
-
import { resolve as
|
|
47601
|
+
import { resolve as resolve33, dirname as dirname22, join as join62, basename as basename11 } from "path";
|
|
47468
47602
|
import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
|
|
47469
47603
|
function formatFpsParseError(input, reason) {
|
|
47470
47604
|
switch (reason) {
|
|
@@ -47482,94 +47616,6 @@ function formatFpsParseError(input, reason) {
|
|
|
47482
47616
|
return `Got "${input}". Decimal frame rates are ambiguous \u2014 use the exact rational form instead (e.g. 30000/1001 for 29.97).`;
|
|
47483
47617
|
}
|
|
47484
47618
|
}
|
|
47485
|
-
function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync36(resolve32(p2), "utf8")) {
|
|
47486
|
-
if (inline != null && filePath != null) {
|
|
47487
|
-
return { ok: false, error: { kind: "conflict" } };
|
|
47488
|
-
}
|
|
47489
|
-
let raw;
|
|
47490
|
-
let source;
|
|
47491
|
-
if (inline != null) {
|
|
47492
|
-
raw = inline;
|
|
47493
|
-
source = "inline";
|
|
47494
|
-
} else if (filePath != null) {
|
|
47495
|
-
try {
|
|
47496
|
-
raw = readFile(filePath);
|
|
47497
|
-
source = "file";
|
|
47498
|
-
} catch (error) {
|
|
47499
|
-
return {
|
|
47500
|
-
ok: false,
|
|
47501
|
-
error: {
|
|
47502
|
-
kind: "read-error",
|
|
47503
|
-
path: filePath,
|
|
47504
|
-
cause: error instanceof Error ? error.message : String(error)
|
|
47505
|
-
}
|
|
47506
|
-
};
|
|
47507
|
-
}
|
|
47508
|
-
}
|
|
47509
|
-
if (raw == null) return { ok: true, value: void 0 };
|
|
47510
|
-
let parsed;
|
|
47511
|
-
try {
|
|
47512
|
-
parsed = JSON.parse(raw);
|
|
47513
|
-
} catch (error) {
|
|
47514
|
-
return {
|
|
47515
|
-
ok: false,
|
|
47516
|
-
error: {
|
|
47517
|
-
kind: "parse-error",
|
|
47518
|
-
source: source ?? "inline",
|
|
47519
|
-
cause: error instanceof Error ? error.message : String(error)
|
|
47520
|
-
}
|
|
47521
|
-
};
|
|
47522
|
-
}
|
|
47523
|
-
if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
47524
|
-
return { ok: false, error: { kind: "shape-error" } };
|
|
47525
|
-
}
|
|
47526
|
-
return { ok: true, value: parsed };
|
|
47527
|
-
}
|
|
47528
|
-
function variablesErrorMessage(error) {
|
|
47529
|
-
switch (error.kind) {
|
|
47530
|
-
case "conflict":
|
|
47531
|
-
return {
|
|
47532
|
-
title: "Conflicting variables flags",
|
|
47533
|
-
message: "Use either --variables or --variables-file, not both."
|
|
47534
|
-
};
|
|
47535
|
-
case "read-error":
|
|
47536
|
-
return {
|
|
47537
|
-
title: "Could not read --variables-file",
|
|
47538
|
-
message: `${error.path}: ${error.cause}`
|
|
47539
|
-
};
|
|
47540
|
-
case "parse-error":
|
|
47541
|
-
return {
|
|
47542
|
-
title: error.source === "file" ? "Invalid JSON in --variables-file" : "Invalid JSON in --variables",
|
|
47543
|
-
message: error.cause
|
|
47544
|
-
};
|
|
47545
|
-
case "shape-error":
|
|
47546
|
-
return {
|
|
47547
|
-
title: "Invalid variables payload",
|
|
47548
|
-
message: 'Variables must be a JSON object (e.g. {"title":"Hello"}).'
|
|
47549
|
-
};
|
|
47550
|
-
}
|
|
47551
|
-
}
|
|
47552
|
-
function resolveVariablesArg(inline, filePath) {
|
|
47553
|
-
const result = parseVariablesArg(inline, filePath);
|
|
47554
|
-
if (!result.ok) {
|
|
47555
|
-
const { title, message } = variablesErrorMessage(result.error);
|
|
47556
|
-
errorBox(title, message);
|
|
47557
|
-
process.exit(1);
|
|
47558
|
-
}
|
|
47559
|
-
return result.value;
|
|
47560
|
-
}
|
|
47561
|
-
function validateVariablesAgainstProject(indexPath, values) {
|
|
47562
|
-
let html;
|
|
47563
|
-
try {
|
|
47564
|
-
html = readFileSync36(indexPath, "utf8");
|
|
47565
|
-
} catch {
|
|
47566
|
-
return [];
|
|
47567
|
-
}
|
|
47568
|
-
ensureDOMParser();
|
|
47569
|
-
const meta = extractCompositionMetadata(html);
|
|
47570
|
-
if (meta.variables.length === 0) return [];
|
|
47571
|
-
return validateVariables(values, meta.variables);
|
|
47572
|
-
}
|
|
47573
47619
|
function resolveBrowserGpuForCli(useDocker, browserGpuArg, envMode = process.env.PRODUCER_BROWSER_GPU_MODE) {
|
|
47574
47620
|
if (useDocker) return "software";
|
|
47575
47621
|
if (browserGpuArg === true) return "hardware";
|
|
@@ -47581,8 +47627,8 @@ function dockerImageTag(version) {
|
|
|
47581
47627
|
return `${DOCKER_IMAGE_PREFIX}:${version}`;
|
|
47582
47628
|
}
|
|
47583
47629
|
function resolveDockerfilePath() {
|
|
47584
|
-
const builtPath =
|
|
47585
|
-
const devPath =
|
|
47630
|
+
const builtPath = resolve33(__dirname, "docker", "Dockerfile.render");
|
|
47631
|
+
const devPath = resolve33(__dirname, "..", "src", "docker", "Dockerfile.render");
|
|
47586
47632
|
for (const p2 of [builtPath, devPath]) {
|
|
47587
47633
|
try {
|
|
47588
47634
|
statSync20(p2);
|
|
@@ -47611,7 +47657,7 @@ function ensureDockerImage(version, quiet) {
|
|
|
47611
47657
|
const dockerfilePath = resolveDockerfilePath();
|
|
47612
47658
|
const tmpDir = join62(tmpdir5(), `hyperframes-docker-${Date.now()}`);
|
|
47613
47659
|
mkdirSync32(tmpDir, { recursive: true });
|
|
47614
|
-
writeFileSync26(join62(tmpDir, "Dockerfile"),
|
|
47660
|
+
writeFileSync26(join62(tmpDir, "Dockerfile"), readFileSync37(dockerfilePath));
|
|
47615
47661
|
try {
|
|
47616
47662
|
execFileSync6(
|
|
47617
47663
|
"docker",
|
|
@@ -47659,8 +47705,8 @@ async function renderDocker(projectDir, outputPath, options) {
|
|
|
47659
47705
|
const outputFilename = basename11(outputPath);
|
|
47660
47706
|
const dockerArgs = buildDockerRunArgs({
|
|
47661
47707
|
imageTag,
|
|
47662
|
-
projectDir:
|
|
47663
|
-
outputDir:
|
|
47708
|
+
projectDir: resolve33(projectDir),
|
|
47709
|
+
outputDir: resolve33(outputDir),
|
|
47664
47710
|
outputFilename,
|
|
47665
47711
|
options: {
|
|
47666
47712
|
fps: options.fps,
|
|
@@ -47844,6 +47890,7 @@ var init_render2 = __esm({
|
|
|
47844
47890
|
"src/commands/render.ts"() {
|
|
47845
47891
|
"use strict";
|
|
47846
47892
|
init_dist();
|
|
47893
|
+
init_variables();
|
|
47847
47894
|
init_project();
|
|
47848
47895
|
init_lintProject();
|
|
47849
47896
|
init_lintFormat();
|
|
@@ -47856,7 +47903,6 @@ var init_render2 = __esm({
|
|
|
47856
47903
|
init_version();
|
|
47857
47904
|
init_env();
|
|
47858
47905
|
init_dockerRunArgs();
|
|
47859
|
-
init_dom();
|
|
47860
47906
|
init_src();
|
|
47861
47907
|
examples7 = [
|
|
47862
47908
|
["Render to MP4", "hyperframes render --output output.mp4"],
|
|
@@ -48069,12 +48115,12 @@ var init_render2 = __esm({
|
|
|
48069
48115
|
}
|
|
48070
48116
|
process.env.PRODUCER_MAX_CONCURRENT_RENDERS = String(parsed);
|
|
48071
48117
|
}
|
|
48072
|
-
const rendersDir =
|
|
48118
|
+
const rendersDir = resolve33("renders");
|
|
48073
48119
|
const ext = FORMAT_EXT[format] ?? ".mp4";
|
|
48074
48120
|
const now = /* @__PURE__ */ new Date();
|
|
48075
48121
|
const datePart = now.toISOString().slice(0, 10);
|
|
48076
48122
|
const timePart = now.toTimeString().slice(0, 8).replace(/:/g, "-");
|
|
48077
|
-
const outputPath = args.output ?
|
|
48123
|
+
const outputPath = args.output ? resolve33(args.output) : join62(rendersDir, `${project.name}_${datePart}_${timePart}${ext}`);
|
|
48078
48124
|
mkdirSync32(dirname22(outputPath), { recursive: true });
|
|
48079
48125
|
const useDocker = args.docker ?? false;
|
|
48080
48126
|
const useGpu = args.gpu ?? false;
|
|
@@ -48115,8 +48161,8 @@ var init_render2 = __esm({
|
|
|
48115
48161
|
}
|
|
48116
48162
|
const entryFile = args.composition?.trim().replace(/^\.\//, "") || void 0;
|
|
48117
48163
|
if (entryFile) {
|
|
48118
|
-
const absProjectDir =
|
|
48119
|
-
const entryPath =
|
|
48164
|
+
const absProjectDir = resolve33(project.dir);
|
|
48165
|
+
const entryPath = resolve33(absProjectDir, entryFile);
|
|
48120
48166
|
if (!entryPath.startsWith(absProjectDir)) {
|
|
48121
48167
|
errorBox(
|
|
48122
48168
|
"Invalid composition path",
|
|
@@ -48225,27 +48271,7 @@ var init_render2 = __esm({
|
|
|
48225
48271
|
const strictVariables = args["strict-variables"] ?? false;
|
|
48226
48272
|
if (variables && Object.keys(variables).length > 0) {
|
|
48227
48273
|
const issues = validateVariablesAgainstProject(project.indexPath, variables);
|
|
48228
|
-
|
|
48229
|
-
if (!quiet) {
|
|
48230
|
-
console.log("");
|
|
48231
|
-
console.log(
|
|
48232
|
-
c2.warn(
|
|
48233
|
-
`Variable ${issues.length === 1 ? "issue" : "issues"} (${issues.length}) \u2014 values may not render as expected:`
|
|
48234
|
-
)
|
|
48235
|
-
);
|
|
48236
|
-
for (const issue of issues) {
|
|
48237
|
-
console.log(" " + c2.dim(formatVariableValidationIssue(issue)));
|
|
48238
|
-
}
|
|
48239
|
-
console.log("");
|
|
48240
|
-
}
|
|
48241
|
-
if (strictVariables) {
|
|
48242
|
-
console.log(
|
|
48243
|
-
c2.error(" Aborting render due to variable issues (--strict-variables mode).")
|
|
48244
|
-
);
|
|
48245
|
-
console.log("");
|
|
48246
|
-
process.exit(1);
|
|
48247
|
-
}
|
|
48248
|
-
}
|
|
48274
|
+
reportVariableIssues(issues, { strict: strictVariables, quiet });
|
|
48249
48275
|
}
|
|
48250
48276
|
if (useDocker) {
|
|
48251
48277
|
await renderDocker(project.dir, outputPath, {
|
|
@@ -48490,8 +48516,8 @@ var init_lint3 = __esm({
|
|
|
48490
48516
|
|
|
48491
48517
|
// src/utils/staticProjectServer.ts
|
|
48492
48518
|
import { createServer } from "http";
|
|
48493
|
-
import { existsSync as existsSync54, readFileSync as
|
|
48494
|
-
import { isAbsolute as isAbsolute8, relative as relative9, resolve as
|
|
48519
|
+
import { existsSync as existsSync54, readFileSync as readFileSync38 } from "fs";
|
|
48520
|
+
import { isAbsolute as isAbsolute8, relative as relative9, resolve as resolve34 } from "path";
|
|
48495
48521
|
async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
|
|
48496
48522
|
const server = createServer((req, res) => {
|
|
48497
48523
|
const url = req.url ?? "/";
|
|
@@ -48500,7 +48526,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
48500
48526
|
res.end(html);
|
|
48501
48527
|
return;
|
|
48502
48528
|
}
|
|
48503
|
-
const filePath =
|
|
48529
|
+
const filePath = resolve34(projectDir, decodeURIComponent(url).replace(/^\//, ""));
|
|
48504
48530
|
const rel = relative9(projectDir, filePath);
|
|
48505
48531
|
if (rel.startsWith("..") || isAbsolute8(rel)) {
|
|
48506
48532
|
res.writeHead(403);
|
|
@@ -48509,7 +48535,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
|
|
|
48509
48535
|
}
|
|
48510
48536
|
if (existsSync54(filePath)) {
|
|
48511
48537
|
res.writeHead(200, { "Content-Type": getMimeType(filePath) });
|
|
48512
|
-
res.end(
|
|
48538
|
+
res.end(readFileSync38(filePath));
|
|
48513
48539
|
return;
|
|
48514
48540
|
}
|
|
48515
48541
|
res.writeHead(404);
|
|
@@ -48685,7 +48711,7 @@ __export(layout_exports, {
|
|
|
48685
48711
|
default: () => layout_default,
|
|
48686
48712
|
examples: () => examples9
|
|
48687
48713
|
});
|
|
48688
|
-
import { existsSync as existsSync55, readFileSync as
|
|
48714
|
+
import { existsSync as existsSync55, readFileSync as readFileSync39 } from "fs";
|
|
48689
48715
|
import { dirname as dirname23, join as join63 } from "path";
|
|
48690
48716
|
import { fileURLToPath as fileURLToPath8 } from "url";
|
|
48691
48717
|
async function getCompositionDuration2(page) {
|
|
@@ -48738,7 +48764,7 @@ async function seekTo(page, time) {
|
|
|
48738
48764
|
if (!fonts?.ready) return Promise.resolve();
|
|
48739
48765
|
return Promise.race([
|
|
48740
48766
|
fonts.ready.then(() => void 0),
|
|
48741
|
-
new Promise((
|
|
48767
|
+
new Promise((resolve46) => setTimeout(resolve46, 500))
|
|
48742
48768
|
]);
|
|
48743
48769
|
}).catch(() => {
|
|
48744
48770
|
});
|
|
@@ -48798,7 +48824,7 @@ async function runLayoutAudit(projectDir, opts) {
|
|
|
48798
48824
|
if (!fonts?.ready) return Promise.resolve();
|
|
48799
48825
|
return Promise.race([
|
|
48800
48826
|
fonts.ready.then(() => void 0),
|
|
48801
|
-
new Promise((
|
|
48827
|
+
new Promise((resolve46) => setTimeout(resolve46, 750))
|
|
48802
48828
|
]);
|
|
48803
48829
|
}).catch(() => {
|
|
48804
48830
|
});
|
|
@@ -48836,7 +48862,7 @@ function loadLayoutAuditScript() {
|
|
|
48836
48862
|
join63(__dirname2, "commands", "layout-audit.browser.js")
|
|
48837
48863
|
];
|
|
48838
48864
|
for (const candidate of candidates) {
|
|
48839
|
-
if (existsSync55(candidate)) return
|
|
48865
|
+
if (existsSync55(candidate)) return readFileSync39(candidate, "utf-8");
|
|
48840
48866
|
}
|
|
48841
48867
|
throw new Error("Missing layout audit browser script");
|
|
48842
48868
|
}
|
|
@@ -49044,7 +49070,7 @@ __export(info_exports, {
|
|
|
49044
49070
|
default: () => info_default,
|
|
49045
49071
|
examples: () => examples11
|
|
49046
49072
|
});
|
|
49047
|
-
import { readFileSync as
|
|
49073
|
+
import { readFileSync as readFileSync40, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
|
|
49048
49074
|
import { join as join64 } from "path";
|
|
49049
49075
|
function totalSize(dir) {
|
|
49050
49076
|
let total = 0;
|
|
@@ -49081,7 +49107,7 @@ var init_info = __esm({
|
|
|
49081
49107
|
},
|
|
49082
49108
|
async run({ args }) {
|
|
49083
49109
|
const project = resolveProject(args.dir);
|
|
49084
|
-
const html =
|
|
49110
|
+
const html = readFileSync40(project.indexPath, "utf-8");
|
|
49085
49111
|
ensureDOMParser();
|
|
49086
49112
|
const parsed = parseHtml(html);
|
|
49087
49113
|
const tracks = new Set(parsed.elements.map((el) => el.zIndex));
|
|
@@ -49139,8 +49165,8 @@ __export(compositions_exports, {
|
|
|
49139
49165
|
examples: () => examples12,
|
|
49140
49166
|
parseSubComposition: () => parseSubComposition
|
|
49141
49167
|
});
|
|
49142
|
-
import { existsSync as existsSync56, readFileSync as
|
|
49143
|
-
import { resolve as
|
|
49168
|
+
import { existsSync as existsSync56, readFileSync as readFileSync41 } from "fs";
|
|
49169
|
+
import { resolve as resolve35, dirname as dirname24 } from "path";
|
|
49144
49170
|
function countRenderableDescendants(root) {
|
|
49145
49171
|
return Array.from(root.querySelectorAll("*")).filter(
|
|
49146
49172
|
(el) => !NON_RENDERED_TAGS.has(el.tagName.toLowerCase())
|
|
@@ -49172,9 +49198,9 @@ function parseCompositions(html, baseDir) {
|
|
|
49172
49198
|
const height = parseInt(div.getAttribute("data-height") ?? "1080", 10);
|
|
49173
49199
|
const compositionSrc = div.getAttribute("data-composition-src");
|
|
49174
49200
|
if (compositionSrc) {
|
|
49175
|
-
const subPath =
|
|
49201
|
+
const subPath = resolve35(baseDir, compositionSrc);
|
|
49176
49202
|
if (existsSync56(subPath)) {
|
|
49177
|
-
const subHtml =
|
|
49203
|
+
const subHtml = readFileSync41(subPath, "utf-8");
|
|
49178
49204
|
const subInfo = parseSubComposition(subHtml, id, width, height);
|
|
49179
49205
|
compositions.push({ ...subInfo, source: compositionSrc });
|
|
49180
49206
|
return;
|
|
@@ -49277,7 +49303,7 @@ var init_compositions = __esm({
|
|
|
49277
49303
|
},
|
|
49278
49304
|
async run({ args }) {
|
|
49279
49305
|
const project = resolveProject(args.dir);
|
|
49280
|
-
const html =
|
|
49306
|
+
const html = readFileSync41(project.indexPath, "utf-8");
|
|
49281
49307
|
ensureDOMParser();
|
|
49282
49308
|
const compositions = parseCompositions(html, dirname24(project.indexPath));
|
|
49283
49309
|
if (compositions.length === 0) {
|
|
@@ -49316,7 +49342,7 @@ __export(benchmark_exports, {
|
|
|
49316
49342
|
examples: () => examples13
|
|
49317
49343
|
});
|
|
49318
49344
|
import { existsSync as existsSync57, statSync as statSync22 } from "fs";
|
|
49319
|
-
import { resolve as
|
|
49345
|
+
import { resolve as resolve36, join as join65 } from "path";
|
|
49320
49346
|
var examples13, FPS_30, FPS_60, DEFAULT_CONFIGS, benchmark_default;
|
|
49321
49347
|
var init_benchmark = __esm({
|
|
49322
49348
|
"src/commands/benchmark.ts"() {
|
|
@@ -49361,7 +49387,7 @@ var init_benchmark = __esm({
|
|
|
49361
49387
|
process.exit(1);
|
|
49362
49388
|
}
|
|
49363
49389
|
const jsonOutput = args.json ?? false;
|
|
49364
|
-
const benchDir =
|
|
49390
|
+
const benchDir = resolve36("renders", ".benchmark");
|
|
49365
49391
|
let producer = null;
|
|
49366
49392
|
try {
|
|
49367
49393
|
producer = await loadProducer();
|
|
@@ -50116,12 +50142,12 @@ async function runPipeline(options, session, media, format, bgFormat) {
|
|
|
50116
50142
|
const drains = [];
|
|
50117
50143
|
if (!fgWroteFully) {
|
|
50118
50144
|
drains.push(
|
|
50119
|
-
new Promise((
|
|
50145
|
+
new Promise((resolve46) => fg.proc.stdin.once("drain", () => resolve46()))
|
|
50120
50146
|
);
|
|
50121
50147
|
}
|
|
50122
50148
|
if (!bgWroteFully && bg) {
|
|
50123
50149
|
drains.push(
|
|
50124
|
-
new Promise((
|
|
50150
|
+
new Promise((resolve46) => bg.proc.stdin.once("drain", () => resolve46()))
|
|
50125
50151
|
);
|
|
50126
50152
|
}
|
|
50127
50153
|
await Promise.all(drains);
|
|
@@ -50154,11 +50180,11 @@ ${decoder.getStderr().slice(-400)}`
|
|
|
50154
50180
|
return processed;
|
|
50155
50181
|
}
|
|
50156
50182
|
function waitForExit(proc, label2, getStderr) {
|
|
50157
|
-
return new Promise((
|
|
50183
|
+
return new Promise((resolve46, reject) => {
|
|
50158
50184
|
proc.on("error", reject);
|
|
50159
50185
|
proc.on("exit", (code, signal) => {
|
|
50160
50186
|
if (code === 0 && !signal) {
|
|
50161
|
-
|
|
50187
|
+
resolve46();
|
|
50162
50188
|
return;
|
|
50163
50189
|
}
|
|
50164
50190
|
const cause = signal ? `killed by ${signal}` : `exited with code ${code}`;
|
|
@@ -50192,7 +50218,7 @@ __export(remove_background_exports, {
|
|
|
50192
50218
|
default: () => remove_background_default,
|
|
50193
50219
|
examples: () => examples15
|
|
50194
50220
|
});
|
|
50195
|
-
import { resolve as
|
|
50221
|
+
import { resolve as resolve37 } from "path";
|
|
50196
50222
|
import { existsSync as existsSync59 } from "fs";
|
|
50197
50223
|
async function showInfo(json) {
|
|
50198
50224
|
const { selectProviders: selectProviders2, listAvailableProviders: listAvailableProviders2, DEFAULT_MODEL: DEFAULT_MODEL4, MODEL_MEMORY_MB: MODEL_MEMORY_MB2, modelPath: modelPath2 } = await Promise.resolve().then(() => (init_manager3(), manager_exports3));
|
|
@@ -50334,10 +50360,10 @@ var init_remove_background = __esm({
|
|
|
50334
50360
|
);
|
|
50335
50361
|
process.exit(1);
|
|
50336
50362
|
}
|
|
50337
|
-
const inputPath =
|
|
50338
|
-
const outputPath =
|
|
50363
|
+
const inputPath = resolve37(args.input);
|
|
50364
|
+
const outputPath = resolve37(args.output);
|
|
50339
50365
|
const backgroundOutputArg = args["background-output"];
|
|
50340
|
-
const backgroundOutputPath = backgroundOutputArg ?
|
|
50366
|
+
const backgroundOutputPath = backgroundOutputArg ? resolve37(backgroundOutputArg) : void 0;
|
|
50341
50367
|
const { render: render3 } = await Promise.resolve().then(() => (init_pipeline(), pipeline_exports));
|
|
50342
50368
|
const spin = args.json ? null : ft();
|
|
50343
50369
|
spin?.start("Preparing background-removal pipeline...");
|
|
@@ -50406,7 +50432,7 @@ __export(transcribe_exports2, {
|
|
|
50406
50432
|
examples: () => examples16
|
|
50407
50433
|
});
|
|
50408
50434
|
import { existsSync as existsSync60, writeFileSync as writeFileSync27 } from "fs";
|
|
50409
|
-
import { resolve as
|
|
50435
|
+
import { resolve as resolve38, join as join67, extname as extname11 } from "path";
|
|
50410
50436
|
async function importTranscript(inputPath, dir, json) {
|
|
50411
50437
|
const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
|
|
50412
50438
|
const { words, format } = loadTranscript2(inputPath);
|
|
@@ -50530,12 +50556,12 @@ var init_transcribe2 = __esm({
|
|
|
50530
50556
|
}
|
|
50531
50557
|
},
|
|
50532
50558
|
async run({ args }) {
|
|
50533
|
-
const inputPath =
|
|
50559
|
+
const inputPath = resolve38(args.input);
|
|
50534
50560
|
if (!existsSync60(inputPath)) {
|
|
50535
50561
|
console.error(c2.error(`File not found: ${args.input}`));
|
|
50536
50562
|
process.exit(1);
|
|
50537
50563
|
}
|
|
50538
|
-
const dir =
|
|
50564
|
+
const dir = resolve38(args.dir ?? ".");
|
|
50539
50565
|
const ext = extname11(inputPath).toLowerCase();
|
|
50540
50566
|
const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
|
|
50541
50567
|
if (isImport) {
|
|
@@ -50824,8 +50850,8 @@ __export(tts_exports, {
|
|
|
50824
50850
|
default: () => tts_default,
|
|
50825
50851
|
examples: () => examples17
|
|
50826
50852
|
});
|
|
50827
|
-
import { existsSync as existsSync63, readFileSync as
|
|
50828
|
-
import { resolve as
|
|
50853
|
+
import { existsSync as existsSync63, readFileSync as readFileSync42 } from "fs";
|
|
50854
|
+
import { resolve as resolve39, extname as extname12 } from "path";
|
|
50829
50855
|
function listVoices(json) {
|
|
50830
50856
|
const rows = BUNDLED_VOICES.map((v2) => ({ ...v2, defaultLang: inferLangFromVoiceId(v2.id) }));
|
|
50831
50857
|
if (json) {
|
|
@@ -50933,9 +50959,9 @@ var init_tts = __esm({
|
|
|
50933
50959
|
process.exit(1);
|
|
50934
50960
|
}
|
|
50935
50961
|
let text;
|
|
50936
|
-
const maybeFile =
|
|
50962
|
+
const maybeFile = resolve39(args.input);
|
|
50937
50963
|
if (existsSync63(maybeFile) && extname12(maybeFile).toLowerCase() === ".txt") {
|
|
50938
|
-
text =
|
|
50964
|
+
text = readFileSync42(maybeFile, "utf-8").trim();
|
|
50939
50965
|
if (!text) {
|
|
50940
50966
|
console.error(c2.error("File is empty."));
|
|
50941
50967
|
process.exit(1);
|
|
@@ -50947,7 +50973,7 @@ var init_tts = __esm({
|
|
|
50947
50973
|
console.error(c2.error("No text provided."));
|
|
50948
50974
|
process.exit(1);
|
|
50949
50975
|
}
|
|
50950
|
-
const output =
|
|
50976
|
+
const output = resolve39(args.output ?? "speech.wav");
|
|
50951
50977
|
const voice = args.voice ?? DEFAULT_VOICE;
|
|
50952
50978
|
const speed = args.speed ? parseFloat(args.speed) : 1;
|
|
50953
50979
|
if (isNaN(speed) || speed <= 0 || speed > 3) {
|
|
@@ -51027,14 +51053,14 @@ __export(docs_exports, {
|
|
|
51027
51053
|
default: () => docs_default,
|
|
51028
51054
|
examples: () => examples18
|
|
51029
51055
|
});
|
|
51030
|
-
import { readFileSync as
|
|
51031
|
-
import { resolve as
|
|
51056
|
+
import { readFileSync as readFileSync43, existsSync as existsSync64 } from "fs";
|
|
51057
|
+
import { resolve as resolve40, dirname as dirname26, join as join70 } from "path";
|
|
51032
51058
|
import { fileURLToPath as fileURLToPath9 } from "url";
|
|
51033
51059
|
function docsDir() {
|
|
51034
51060
|
const thisFile = fileURLToPath9(import.meta.url);
|
|
51035
51061
|
const dir = dirname26(thisFile);
|
|
51036
|
-
const devPath =
|
|
51037
|
-
const builtPath =
|
|
51062
|
+
const devPath = resolve40(dir, "..", "docs");
|
|
51063
|
+
const builtPath = resolve40(dir, "docs");
|
|
51038
51064
|
return existsSync64(devPath) ? devPath : builtPath;
|
|
51039
51065
|
}
|
|
51040
51066
|
function formatInlineCode(line) {
|
|
@@ -51137,7 +51163,7 @@ var init_docs = __esm({
|
|
|
51137
51163
|
console.error(c2.error(`Doc file not found: ${filePath}`));
|
|
51138
51164
|
process.exit(1);
|
|
51139
51165
|
}
|
|
51140
|
-
const content =
|
|
51166
|
+
const content = readFileSync43(filePath, "utf-8");
|
|
51141
51167
|
console.log();
|
|
51142
51168
|
renderMarkdown(content);
|
|
51143
51169
|
}
|
|
@@ -51628,7 +51654,7 @@ __export(validate_exports, {
|
|
|
51628
51654
|
default: () => validate_default,
|
|
51629
51655
|
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
|
|
51630
51656
|
});
|
|
51631
|
-
import { existsSync as existsSync65, readFileSync as
|
|
51657
|
+
import { existsSync as existsSync65, readFileSync as readFileSync44 } from "fs";
|
|
51632
51658
|
import { join as join71, dirname as dirname27 } from "path";
|
|
51633
51659
|
import { fileURLToPath as fileURLToPath10 } from "url";
|
|
51634
51660
|
function shouldIgnoreRequestFailure(url, errorText) {
|
|
@@ -51685,7 +51711,7 @@ function loadContrastAuditScript() {
|
|
|
51685
51711
|
join71(__dirname3, "commands", "contrast-audit.browser.js")
|
|
51686
51712
|
];
|
|
51687
51713
|
for (const candidate of candidates) {
|
|
51688
|
-
if (existsSync65(candidate)) return
|
|
51714
|
+
if (existsSync65(candidate)) return readFileSync44(candidate, "utf-8");
|
|
51689
51715
|
}
|
|
51690
51716
|
throw new Error("Missing contrast audit browser script");
|
|
51691
51717
|
}
|
|
@@ -51705,7 +51731,7 @@ async function validateInBrowser(projectDir, opts) {
|
|
|
51705
51731
|
const filePath = join71(projectDir, decodeURIComponent(url));
|
|
51706
51732
|
if (existsSync65(filePath)) {
|
|
51707
51733
|
res.writeHead(200, { "Content-Type": getMimeType2(filePath) });
|
|
51708
|
-
res.end(
|
|
51734
|
+
res.end(readFileSync44(filePath));
|
|
51709
51735
|
return;
|
|
51710
51736
|
}
|
|
51711
51737
|
res.writeHead(404);
|
|
@@ -51904,9 +51930,9 @@ __export(snapshot_exports, {
|
|
|
51904
51930
|
examples: () => examples22
|
|
51905
51931
|
});
|
|
51906
51932
|
import { spawn as spawn15 } from "child_process";
|
|
51907
|
-
import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as
|
|
51933
|
+
import { existsSync as existsSync66, mkdtempSync as mkdtempSync3, readFileSync as readFileSync45, mkdirSync as mkdirSync36, rmSync as rmSync15 } from "fs";
|
|
51908
51934
|
import { tmpdir as tmpdir6 } from "os";
|
|
51909
|
-
import { resolve as
|
|
51935
|
+
import { resolve as resolve41, join as join72, relative as relative10, isAbsolute as isAbsolute9 } from "path";
|
|
51910
51936
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
51911
51937
|
const tmp = mkdtempSync3(join72(tmpdir6(), "hf-snapshot-frame-"));
|
|
51912
51938
|
const outPath = join72(tmp, "frame.png");
|
|
@@ -51950,7 +51976,7 @@ async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDeco
|
|
|
51950
51976
|
}
|
|
51951
51977
|
);
|
|
51952
51978
|
if (result.code !== 0 || result.timedOut || !existsSync66(outPath)) return null;
|
|
51953
|
-
return
|
|
51979
|
+
return readFileSync45(outPath);
|
|
51954
51980
|
} finally {
|
|
51955
51981
|
try {
|
|
51956
51982
|
rmSync15(tmp, { recursive: true, force: true });
|
|
@@ -52090,7 +52116,7 @@ async function captureSnapshots(projectDir, opts) {
|
|
|
52090
52116
|
try {
|
|
52091
52117
|
const url = new URL(v2.src);
|
|
52092
52118
|
const decodedPath = decodeURIComponent(url.pathname).replace(/^\//, "");
|
|
52093
|
-
const candidate =
|
|
52119
|
+
const candidate = resolve41(projectDir, decodedPath);
|
|
52094
52120
|
const rel = relative10(projectDir, candidate);
|
|
52095
52121
|
if (!rel.startsWith("..") && !isAbsolute9(rel) && existsSync66(candidate)) {
|
|
52096
52122
|
filePath = candidate;
|
|
@@ -53161,7 +53187,7 @@ var init_animationCataloger = __esm({
|
|
|
53161
53187
|
});
|
|
53162
53188
|
|
|
53163
53189
|
// src/capture/mediaCapture.ts
|
|
53164
|
-
import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as
|
|
53190
|
+
import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync30, readdirSync as readdirSync26, readFileSync as readFileSync46, statSync as statSync23 } from "fs";
|
|
53165
53191
|
import { join as join74 } from "path";
|
|
53166
53192
|
async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
53167
53193
|
let savedCount = 0;
|
|
@@ -53228,7 +53254,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
53228
53254
|
for (const file of readdirSync26(lottieDir)) {
|
|
53229
53255
|
if (!file.endsWith(".json")) continue;
|
|
53230
53256
|
try {
|
|
53231
|
-
const raw = JSON.parse(
|
|
53257
|
+
const raw = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
|
|
53232
53258
|
const fr = raw.fr || 30;
|
|
53233
53259
|
const dur = ((raw.op || 0) - (raw.ip || 0)) / fr;
|
|
53234
53260
|
const previewName = file.replace(".json", "-preview.png");
|
|
@@ -53238,7 +53264,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
53238
53264
|
try {
|
|
53239
53265
|
previewPage = await chromeBrowser.newPage();
|
|
53240
53266
|
await previewPage.setViewport({ width: 400, height: 400 });
|
|
53241
|
-
const animData = JSON.parse(
|
|
53267
|
+
const animData = JSON.parse(readFileSync46(join74(lottieDir, file), "utf-8"));
|
|
53242
53268
|
const midFrame = Math.floor(((raw.op || 0) - (raw.ip || 0)) * 0.3);
|
|
53243
53269
|
await previewPage.setContent(
|
|
53244
53270
|
`<!DOCTYPE html>
|
|
@@ -53683,7 +53709,7 @@ var require_p_retry = __commonJS({
|
|
|
53683
53709
|
return error;
|
|
53684
53710
|
};
|
|
53685
53711
|
var isNetworkError = (errorMessage) => networkErrorMsgs.includes(errorMessage);
|
|
53686
|
-
var pRetry2 = (input, options) => new Promise((
|
|
53712
|
+
var pRetry2 = (input, options) => new Promise((resolve46, reject) => {
|
|
53687
53713
|
options = {
|
|
53688
53714
|
onFailedAttempt: () => {
|
|
53689
53715
|
},
|
|
@@ -53693,7 +53719,7 @@ var require_p_retry = __commonJS({
|
|
|
53693
53719
|
const operation = retry.operation(options);
|
|
53694
53720
|
operation.attempt(async (attemptNumber) => {
|
|
53695
53721
|
try {
|
|
53696
|
-
|
|
53722
|
+
resolve46(await input(attemptNumber));
|
|
53697
53723
|
} catch (error) {
|
|
53698
53724
|
if (!(error instanceof Error)) {
|
|
53699
53725
|
reject(new TypeError(`Non-error was thrown: "${error}". You should only throw errors.`));
|
|
@@ -54229,8 +54255,8 @@ var require_retry3 = __commonJS({
|
|
|
54229
54255
|
}
|
|
54230
54256
|
const delay = getNextRetryDelay(config);
|
|
54231
54257
|
err.config.retryConfig.currentRetryAttempt += 1;
|
|
54232
|
-
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((
|
|
54233
|
-
setTimeout(
|
|
54258
|
+
const backoff = config.retryBackoff ? config.retryBackoff(err, delay) : new Promise((resolve46) => {
|
|
54259
|
+
setTimeout(resolve46, delay);
|
|
54234
54260
|
});
|
|
54235
54261
|
if (config.onRetryAttempt) {
|
|
54236
54262
|
await config.onRetryAttempt(err);
|
|
@@ -55138,8 +55164,8 @@ var require_helpers = __commonJS({
|
|
|
55138
55164
|
function req(url, opts = {}) {
|
|
55139
55165
|
const href = typeof url === "string" ? url : url.href;
|
|
55140
55166
|
const req2 = (href.startsWith("https:") ? https2 : http4).request(url, opts);
|
|
55141
|
-
const promise = new Promise((
|
|
55142
|
-
req2.once("response",
|
|
55167
|
+
const promise = new Promise((resolve46, reject) => {
|
|
55168
|
+
req2.once("response", resolve46).once("error", reject).end();
|
|
55143
55169
|
});
|
|
55144
55170
|
req2.then = promise.then.bind(promise);
|
|
55145
55171
|
return req2;
|
|
@@ -55316,7 +55342,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55316
55342
|
var debug_1 = __importDefault(require_src2());
|
|
55317
55343
|
var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
|
|
55318
55344
|
function parseProxyResponse(socket) {
|
|
55319
|
-
return new Promise((
|
|
55345
|
+
return new Promise((resolve46, reject) => {
|
|
55320
55346
|
let buffersLength = 0;
|
|
55321
55347
|
const buffers = [];
|
|
55322
55348
|
function read() {
|
|
@@ -55382,7 +55408,7 @@ var require_parse_proxy_response = __commonJS({
|
|
|
55382
55408
|
}
|
|
55383
55409
|
debug("got proxy server response: %o %o", firstLine, headers);
|
|
55384
55410
|
cleanup();
|
|
55385
|
-
|
|
55411
|
+
resolve46({
|
|
55386
55412
|
connect: {
|
|
55387
55413
|
statusCode,
|
|
55388
55414
|
statusText,
|
|
@@ -55626,7 +55652,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55626
55652
|
return new originalPromise(executor);
|
|
55627
55653
|
}
|
|
55628
55654
|
function promiseResolvedWith(value) {
|
|
55629
|
-
return newPromise((
|
|
55655
|
+
return newPromise((resolve46) => resolve46(value));
|
|
55630
55656
|
}
|
|
55631
55657
|
function promiseRejectedWith(reason) {
|
|
55632
55658
|
return originalPromiseReject(reason);
|
|
@@ -55796,8 +55822,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55796
55822
|
return new TypeError("Cannot " + name + " a stream using a released reader");
|
|
55797
55823
|
}
|
|
55798
55824
|
function defaultReaderClosedPromiseInitialize(reader) {
|
|
55799
|
-
reader._closedPromise = newPromise((
|
|
55800
|
-
reader._closedPromise_resolve =
|
|
55825
|
+
reader._closedPromise = newPromise((resolve46, reject) => {
|
|
55826
|
+
reader._closedPromise_resolve = resolve46;
|
|
55801
55827
|
reader._closedPromise_reject = reject;
|
|
55802
55828
|
});
|
|
55803
55829
|
}
|
|
@@ -55971,8 +55997,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
55971
55997
|
}
|
|
55972
55998
|
let resolvePromise;
|
|
55973
55999
|
let rejectPromise;
|
|
55974
|
-
const promise = newPromise((
|
|
55975
|
-
resolvePromise =
|
|
56000
|
+
const promise = newPromise((resolve46, reject) => {
|
|
56001
|
+
resolvePromise = resolve46;
|
|
55976
56002
|
rejectPromise = reject;
|
|
55977
56003
|
});
|
|
55978
56004
|
const readRequest = {
|
|
@@ -56077,8 +56103,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
56077
56103
|
const reader = this._reader;
|
|
56078
56104
|
let resolvePromise;
|
|
56079
56105
|
let rejectPromise;
|
|
56080
|
-
const promise = newPromise((
|
|
56081
|
-
resolvePromise =
|
|
56106
|
+
const promise = newPromise((resolve46, reject) => {
|
|
56107
|
+
resolvePromise = resolve46;
|
|
56082
56108
|
rejectPromise = reject;
|
|
56083
56109
|
});
|
|
56084
56110
|
const readRequest = {
|
|
@@ -57097,8 +57123,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57097
57123
|
}
|
|
57098
57124
|
let resolvePromise;
|
|
57099
57125
|
let rejectPromise;
|
|
57100
|
-
const promise = newPromise((
|
|
57101
|
-
resolvePromise =
|
|
57126
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57127
|
+
resolvePromise = resolve46;
|
|
57102
57128
|
rejectPromise = reject;
|
|
57103
57129
|
});
|
|
57104
57130
|
const readIntoRequest = {
|
|
@@ -57410,10 +57436,10 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57410
57436
|
wasAlreadyErroring = true;
|
|
57411
57437
|
reason = void 0;
|
|
57412
57438
|
}
|
|
57413
|
-
const promise = newPromise((
|
|
57439
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57414
57440
|
stream._pendingAbortRequest = {
|
|
57415
57441
|
_promise: void 0,
|
|
57416
|
-
_resolve:
|
|
57442
|
+
_resolve: resolve46,
|
|
57417
57443
|
_reject: reject,
|
|
57418
57444
|
_reason: reason,
|
|
57419
57445
|
_wasAlreadyErroring: wasAlreadyErroring
|
|
@@ -57430,9 +57456,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57430
57456
|
if (state === "closed" || state === "errored") {
|
|
57431
57457
|
return promiseRejectedWith(new TypeError(`The stream (in ${state} state) is not in the writable state and cannot be closed`));
|
|
57432
57458
|
}
|
|
57433
|
-
const promise = newPromise((
|
|
57459
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57434
57460
|
const closeRequest = {
|
|
57435
|
-
_resolve:
|
|
57461
|
+
_resolve: resolve46,
|
|
57436
57462
|
_reject: reject
|
|
57437
57463
|
};
|
|
57438
57464
|
stream._closeRequest = closeRequest;
|
|
@@ -57445,9 +57471,9 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
57445
57471
|
return promise;
|
|
57446
57472
|
}
|
|
57447
57473
|
function WritableStreamAddWriteRequest(stream) {
|
|
57448
|
-
const promise = newPromise((
|
|
57474
|
+
const promise = newPromise((resolve46, reject) => {
|
|
57449
57475
|
const writeRequest = {
|
|
57450
|
-
_resolve:
|
|
57476
|
+
_resolve: resolve46,
|
|
57451
57477
|
_reject: reject
|
|
57452
57478
|
};
|
|
57453
57479
|
stream._writeRequests.push(writeRequest);
|
|
@@ -58063,8 +58089,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58063
58089
|
return new TypeError("Cannot " + name + " a stream using a released writer");
|
|
58064
58090
|
}
|
|
58065
58091
|
function defaultWriterClosedPromiseInitialize(writer) {
|
|
58066
|
-
writer._closedPromise = newPromise((
|
|
58067
|
-
writer._closedPromise_resolve =
|
|
58092
|
+
writer._closedPromise = newPromise((resolve46, reject) => {
|
|
58093
|
+
writer._closedPromise_resolve = resolve46;
|
|
58068
58094
|
writer._closedPromise_reject = reject;
|
|
58069
58095
|
writer._closedPromiseState = "pending";
|
|
58070
58096
|
});
|
|
@@ -58100,8 +58126,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58100
58126
|
writer._closedPromiseState = "resolved";
|
|
58101
58127
|
}
|
|
58102
58128
|
function defaultWriterReadyPromiseInitialize(writer) {
|
|
58103
|
-
writer._readyPromise = newPromise((
|
|
58104
|
-
writer._readyPromise_resolve =
|
|
58129
|
+
writer._readyPromise = newPromise((resolve46, reject) => {
|
|
58130
|
+
writer._readyPromise_resolve = resolve46;
|
|
58105
58131
|
writer._readyPromise_reject = reject;
|
|
58106
58132
|
});
|
|
58107
58133
|
writer._readyPromiseState = "pending";
|
|
@@ -58188,7 +58214,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58188
58214
|
source._disturbed = true;
|
|
58189
58215
|
let shuttingDown = false;
|
|
58190
58216
|
let currentWrite = promiseResolvedWith(void 0);
|
|
58191
|
-
return newPromise((
|
|
58217
|
+
return newPromise((resolve46, reject) => {
|
|
58192
58218
|
let abortAlgorithm;
|
|
58193
58219
|
if (signal !== void 0) {
|
|
58194
58220
|
abortAlgorithm = () => {
|
|
@@ -58333,7 +58359,7 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58333
58359
|
if (isError) {
|
|
58334
58360
|
reject(error);
|
|
58335
58361
|
} else {
|
|
58336
|
-
|
|
58362
|
+
resolve46(void 0);
|
|
58337
58363
|
}
|
|
58338
58364
|
return null;
|
|
58339
58365
|
}
|
|
@@ -58614,8 +58640,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58614
58640
|
let branch1;
|
|
58615
58641
|
let branch2;
|
|
58616
58642
|
let resolveCancelPromise;
|
|
58617
|
-
const cancelPromise = newPromise((
|
|
58618
|
-
resolveCancelPromise =
|
|
58643
|
+
const cancelPromise = newPromise((resolve46) => {
|
|
58644
|
+
resolveCancelPromise = resolve46;
|
|
58619
58645
|
});
|
|
58620
58646
|
function pullAlgorithm() {
|
|
58621
58647
|
if (reading) {
|
|
@@ -58706,8 +58732,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
58706
58732
|
let branch1;
|
|
58707
58733
|
let branch2;
|
|
58708
58734
|
let resolveCancelPromise;
|
|
58709
|
-
const cancelPromise = newPromise((
|
|
58710
|
-
resolveCancelPromise =
|
|
58735
|
+
const cancelPromise = newPromise((resolve46) => {
|
|
58736
|
+
resolveCancelPromise = resolve46;
|
|
58711
58737
|
});
|
|
58712
58738
|
function forwardReaderError(thisReader) {
|
|
58713
58739
|
uponRejection(thisReader._closedPromise, (r2) => {
|
|
@@ -59487,8 +59513,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59487
59513
|
const writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
|
|
59488
59514
|
const writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
|
|
59489
59515
|
let startPromise_resolve;
|
|
59490
|
-
const startPromise = newPromise((
|
|
59491
|
-
startPromise_resolve =
|
|
59516
|
+
const startPromise = newPromise((resolve46) => {
|
|
59517
|
+
startPromise_resolve = resolve46;
|
|
59492
59518
|
});
|
|
59493
59519
|
InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
|
|
59494
59520
|
SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
|
|
@@ -59581,8 +59607,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59581
59607
|
if (stream._backpressureChangePromise !== void 0) {
|
|
59582
59608
|
stream._backpressureChangePromise_resolve();
|
|
59583
59609
|
}
|
|
59584
|
-
stream._backpressureChangePromise = newPromise((
|
|
59585
|
-
stream._backpressureChangePromise_resolve =
|
|
59610
|
+
stream._backpressureChangePromise = newPromise((resolve46) => {
|
|
59611
|
+
stream._backpressureChangePromise_resolve = resolve46;
|
|
59586
59612
|
});
|
|
59587
59613
|
stream._backpressure = backpressure;
|
|
59588
59614
|
}
|
|
@@ -59750,8 +59776,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59750
59776
|
return controller._finishPromise;
|
|
59751
59777
|
}
|
|
59752
59778
|
const readable = stream._readable;
|
|
59753
|
-
controller._finishPromise = newPromise((
|
|
59754
|
-
controller._finishPromise_resolve =
|
|
59779
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59780
|
+
controller._finishPromise_resolve = resolve46;
|
|
59755
59781
|
controller._finishPromise_reject = reject;
|
|
59756
59782
|
});
|
|
59757
59783
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -59777,8 +59803,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59777
59803
|
return controller._finishPromise;
|
|
59778
59804
|
}
|
|
59779
59805
|
const readable = stream._readable;
|
|
59780
|
-
controller._finishPromise = newPromise((
|
|
59781
|
-
controller._finishPromise_resolve =
|
|
59806
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59807
|
+
controller._finishPromise_resolve = resolve46;
|
|
59782
59808
|
controller._finishPromise_reject = reject;
|
|
59783
59809
|
});
|
|
59784
59810
|
const flushPromise = controller._flushAlgorithm();
|
|
@@ -59808,8 +59834,8 @@ var require_ponyfill_es2018 = __commonJS({
|
|
|
59808
59834
|
return controller._finishPromise;
|
|
59809
59835
|
}
|
|
59810
59836
|
const writable = stream._writable;
|
|
59811
|
-
controller._finishPromise = newPromise((
|
|
59812
|
-
controller._finishPromise_resolve =
|
|
59837
|
+
controller._finishPromise = newPromise((resolve46, reject) => {
|
|
59838
|
+
controller._finishPromise_resolve = resolve46;
|
|
59813
59839
|
controller._finishPromise_reject = reject;
|
|
59814
59840
|
});
|
|
59815
59841
|
const cancelPromise = controller._cancelAlgorithm(reason);
|
|
@@ -61778,7 +61804,7 @@ import zlib from "zlib";
|
|
|
61778
61804
|
import Stream2, { PassThrough as PassThrough2, pipeline as pump } from "stream";
|
|
61779
61805
|
import { Buffer as Buffer3 } from "buffer";
|
|
61780
61806
|
async function fetch3(url, options_) {
|
|
61781
|
-
return new Promise((
|
|
61807
|
+
return new Promise((resolve46, reject) => {
|
|
61782
61808
|
const request = new Request2(url, options_);
|
|
61783
61809
|
const { parsedURL, options } = getNodeRequestOptions(request);
|
|
61784
61810
|
if (!supportedSchemas.has(parsedURL.protocol)) {
|
|
@@ -61787,7 +61813,7 @@ async function fetch3(url, options_) {
|
|
|
61787
61813
|
if (parsedURL.protocol === "data:") {
|
|
61788
61814
|
const data = dist_default3(request.url);
|
|
61789
61815
|
const response2 = new Response2(data, { headers: { "Content-Type": data.typeFull } });
|
|
61790
|
-
|
|
61816
|
+
resolve46(response2);
|
|
61791
61817
|
return;
|
|
61792
61818
|
}
|
|
61793
61819
|
const send = (parsedURL.protocol === "https:" ? https : http3).request;
|
|
@@ -61909,7 +61935,7 @@ async function fetch3(url, options_) {
|
|
|
61909
61935
|
if (responseReferrerPolicy) {
|
|
61910
61936
|
requestOptions.referrerPolicy = responseReferrerPolicy;
|
|
61911
61937
|
}
|
|
61912
|
-
|
|
61938
|
+
resolve46(fetch3(new Request2(locationURL, requestOptions)));
|
|
61913
61939
|
finalize();
|
|
61914
61940
|
return;
|
|
61915
61941
|
}
|
|
@@ -61942,7 +61968,7 @@ async function fetch3(url, options_) {
|
|
|
61942
61968
|
const codings = headers.get("Content-Encoding");
|
|
61943
61969
|
if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
|
|
61944
61970
|
response = new Response2(body, responseOptions);
|
|
61945
|
-
|
|
61971
|
+
resolve46(response);
|
|
61946
61972
|
return;
|
|
61947
61973
|
}
|
|
61948
61974
|
const zlibOptions = {
|
|
@@ -61956,7 +61982,7 @@ async function fetch3(url, options_) {
|
|
|
61956
61982
|
}
|
|
61957
61983
|
});
|
|
61958
61984
|
response = new Response2(body, responseOptions);
|
|
61959
|
-
|
|
61985
|
+
resolve46(response);
|
|
61960
61986
|
return;
|
|
61961
61987
|
}
|
|
61962
61988
|
if (codings === "deflate" || codings === "x-deflate") {
|
|
@@ -61980,12 +62006,12 @@ async function fetch3(url, options_) {
|
|
|
61980
62006
|
});
|
|
61981
62007
|
}
|
|
61982
62008
|
response = new Response2(body, responseOptions);
|
|
61983
|
-
|
|
62009
|
+
resolve46(response);
|
|
61984
62010
|
});
|
|
61985
62011
|
raw.once("end", () => {
|
|
61986
62012
|
if (!response) {
|
|
61987
62013
|
response = new Response2(body, responseOptions);
|
|
61988
|
-
|
|
62014
|
+
resolve46(response);
|
|
61989
62015
|
}
|
|
61990
62016
|
});
|
|
61991
62017
|
return;
|
|
@@ -61997,11 +62023,11 @@ async function fetch3(url, options_) {
|
|
|
61997
62023
|
}
|
|
61998
62024
|
});
|
|
61999
62025
|
response = new Response2(body, responseOptions);
|
|
62000
|
-
|
|
62026
|
+
resolve46(response);
|
|
62001
62027
|
return;
|
|
62002
62028
|
}
|
|
62003
62029
|
response = new Response2(body, responseOptions);
|
|
62004
|
-
|
|
62030
|
+
resolve46(response);
|
|
62005
62031
|
});
|
|
62006
62032
|
writeToStream(request_, request).catch(reject);
|
|
62007
62033
|
});
|
|
@@ -68083,7 +68109,7 @@ var require_jwtaccess = __commonJS({
|
|
|
68083
68109
|
}
|
|
68084
68110
|
}
|
|
68085
68111
|
fromStreamAsync(inputStream) {
|
|
68086
|
-
return new Promise((
|
|
68112
|
+
return new Promise((resolve46, reject) => {
|
|
68087
68113
|
if (!inputStream) {
|
|
68088
68114
|
reject(new Error("Must pass in a stream containing the service account auth settings."));
|
|
68089
68115
|
}
|
|
@@ -68092,7 +68118,7 @@ var require_jwtaccess = __commonJS({
|
|
|
68092
68118
|
try {
|
|
68093
68119
|
const data = JSON.parse(s2);
|
|
68094
68120
|
this.fromJSON(data);
|
|
68095
|
-
|
|
68121
|
+
resolve46();
|
|
68096
68122
|
} catch (err) {
|
|
68097
68123
|
reject(err);
|
|
68098
68124
|
}
|
|
@@ -68331,7 +68357,7 @@ var require_jwtclient = __commonJS({
|
|
|
68331
68357
|
}
|
|
68332
68358
|
}
|
|
68333
68359
|
fromStreamAsync(inputStream) {
|
|
68334
|
-
return new Promise((
|
|
68360
|
+
return new Promise((resolve46, reject) => {
|
|
68335
68361
|
if (!inputStream) {
|
|
68336
68362
|
throw new Error("Must pass in a stream containing the service account auth settings.");
|
|
68337
68363
|
}
|
|
@@ -68340,7 +68366,7 @@ var require_jwtclient = __commonJS({
|
|
|
68340
68366
|
try {
|
|
68341
68367
|
const data = JSON.parse(s2);
|
|
68342
68368
|
this.fromJSON(data);
|
|
68343
|
-
|
|
68369
|
+
resolve46();
|
|
68344
68370
|
} catch (e3) {
|
|
68345
68371
|
reject(e3);
|
|
68346
68372
|
}
|
|
@@ -68473,7 +68499,7 @@ var require_refreshclient = __commonJS({
|
|
|
68473
68499
|
}
|
|
68474
68500
|
}
|
|
68475
68501
|
async fromStreamAsync(inputStream) {
|
|
68476
|
-
return new Promise((
|
|
68502
|
+
return new Promise((resolve46, reject) => {
|
|
68477
68503
|
if (!inputStream) {
|
|
68478
68504
|
return reject(new Error("Must pass in a stream containing the user refresh token."));
|
|
68479
68505
|
}
|
|
@@ -68482,7 +68508,7 @@ var require_refreshclient = __commonJS({
|
|
|
68482
68508
|
try {
|
|
68483
68509
|
const data = JSON.parse(s2);
|
|
68484
68510
|
this.fromJSON(data);
|
|
68485
|
-
return
|
|
68511
|
+
return resolve46();
|
|
68486
68512
|
} catch (err) {
|
|
68487
68513
|
return reject(err);
|
|
68488
68514
|
}
|
|
@@ -70315,7 +70341,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70315
70341
|
* @return A promise that resolves with the executable response.
|
|
70316
70342
|
*/
|
|
70317
70343
|
retrieveResponseFromExecutable(envMap) {
|
|
70318
|
-
return new Promise((
|
|
70344
|
+
return new Promise((resolve46, reject) => {
|
|
70319
70345
|
const child = childProcess.spawn(this.commandComponents[0], this.commandComponents.slice(1), {
|
|
70320
70346
|
env: { ...process.env, ...Object.fromEntries(envMap) }
|
|
70321
70347
|
});
|
|
@@ -70337,7 +70363,7 @@ var require_pluggable_auth_handler = __commonJS({
|
|
|
70337
70363
|
try {
|
|
70338
70364
|
const responseJson = JSON.parse(output);
|
|
70339
70365
|
const response = new executable_response_1.ExecutableResponse(responseJson);
|
|
70340
|
-
return
|
|
70366
|
+
return resolve46(response);
|
|
70341
70367
|
} catch (error) {
|
|
70342
70368
|
if (error instanceof executable_response_1.ExecutableResponseError) {
|
|
70343
70369
|
return reject(error);
|
|
@@ -71240,7 +71266,7 @@ var require_googleauth = __commonJS({
|
|
|
71240
71266
|
}
|
|
71241
71267
|
}
|
|
71242
71268
|
fromStreamAsync(inputStream, options) {
|
|
71243
|
-
return new Promise((
|
|
71269
|
+
return new Promise((resolve46, reject) => {
|
|
71244
71270
|
if (!inputStream) {
|
|
71245
71271
|
throw new Error("Must pass in a stream containing the Google auth settings.");
|
|
71246
71272
|
}
|
|
@@ -71250,7 +71276,7 @@ var require_googleauth = __commonJS({
|
|
|
71250
71276
|
try {
|
|
71251
71277
|
const data = JSON.parse(chunks.join(""));
|
|
71252
71278
|
const r2 = this._cacheClientFromJSON(data, options);
|
|
71253
|
-
return
|
|
71279
|
+
return resolve46(r2);
|
|
71254
71280
|
} catch (err) {
|
|
71255
71281
|
if (!this.keyFilename)
|
|
71256
71282
|
throw err;
|
|
@@ -71260,7 +71286,7 @@ var require_googleauth = __commonJS({
|
|
|
71260
71286
|
});
|
|
71261
71287
|
this.cachedCredential = client;
|
|
71262
71288
|
this.setGapicJWTValues(client);
|
|
71263
|
-
return
|
|
71289
|
+
return resolve46(client);
|
|
71264
71290
|
}
|
|
71265
71291
|
} catch (err) {
|
|
71266
71292
|
return reject(err);
|
|
@@ -71296,17 +71322,17 @@ var require_googleauth = __commonJS({
|
|
|
71296
71322
|
* Run the Google Cloud SDK command that prints the default project ID
|
|
71297
71323
|
*/
|
|
71298
71324
|
async getDefaultServiceProjectId() {
|
|
71299
|
-
return new Promise((
|
|
71325
|
+
return new Promise((resolve46) => {
|
|
71300
71326
|
(0, child_process_1.exec)("gcloud config config-helper --format json", (err, stdout2) => {
|
|
71301
71327
|
if (!err && stdout2) {
|
|
71302
71328
|
try {
|
|
71303
71329
|
const projectId = JSON.parse(stdout2).configuration.properties.core.project;
|
|
71304
|
-
|
|
71330
|
+
resolve46(projectId);
|
|
71305
71331
|
return;
|
|
71306
71332
|
} catch (e3) {
|
|
71307
71333
|
}
|
|
71308
71334
|
}
|
|
71309
|
-
|
|
71335
|
+
resolve46(null);
|
|
71310
71336
|
});
|
|
71311
71337
|
});
|
|
71312
71338
|
}
|
|
@@ -79149,14 +79175,14 @@ function __asyncValues(o) {
|
|
|
79149
79175
|
}, i2);
|
|
79150
79176
|
function verb(n) {
|
|
79151
79177
|
i2[n] = o[n] && function(v2) {
|
|
79152
|
-
return new Promise(function(
|
|
79153
|
-
v2 = o[n](v2), settle(
|
|
79178
|
+
return new Promise(function(resolve46, reject) {
|
|
79179
|
+
v2 = o[n](v2), settle(resolve46, reject, v2.done, v2.value);
|
|
79154
79180
|
});
|
|
79155
79181
|
};
|
|
79156
79182
|
}
|
|
79157
|
-
function settle(
|
|
79183
|
+
function settle(resolve46, reject, d2, v2) {
|
|
79158
79184
|
Promise.resolve(v2).then(function(v3) {
|
|
79159
|
-
|
|
79185
|
+
resolve46({ value: v3, done: d2 });
|
|
79160
79186
|
}, reject);
|
|
79161
79187
|
}
|
|
79162
79188
|
}
|
|
@@ -89646,8 +89672,8 @@ var init_node4 = __esm({
|
|
|
89646
89672
|
const url = `${websocketBaseUrl}/ws/google.ai.generativelanguage.${apiVersion}.GenerativeService.BidiGenerateMusic?key=${apiKey}`;
|
|
89647
89673
|
let onopenResolve = () => {
|
|
89648
89674
|
};
|
|
89649
|
-
const onopenPromise = new Promise((
|
|
89650
|
-
onopenResolve =
|
|
89675
|
+
const onopenPromise = new Promise((resolve46) => {
|
|
89676
|
+
onopenResolve = resolve46;
|
|
89651
89677
|
});
|
|
89652
89678
|
const callbacks = params.callbacks;
|
|
89653
89679
|
const onopenAwaitedCallback = function() {
|
|
@@ -89853,8 +89879,8 @@ var init_node4 = __esm({
|
|
|
89853
89879
|
}
|
|
89854
89880
|
let onopenResolve = () => {
|
|
89855
89881
|
};
|
|
89856
|
-
const onopenPromise = new Promise((
|
|
89857
|
-
onopenResolve =
|
|
89882
|
+
const onopenPromise = new Promise((resolve46) => {
|
|
89883
|
+
onopenResolve = resolve46;
|
|
89858
89884
|
});
|
|
89859
89885
|
const callbacks = params.callbacks;
|
|
89860
89886
|
const onopenAwaitedCallback = function() {
|
|
@@ -92202,7 +92228,7 @@ var init_node4 = __esm({
|
|
|
92202
92228
|
return void 0;
|
|
92203
92229
|
}
|
|
92204
92230
|
};
|
|
92205
|
-
sleep$1 = (ms) => new Promise((
|
|
92231
|
+
sleep$1 = (ms) => new Promise((resolve46) => setTimeout(resolve46, ms));
|
|
92206
92232
|
FallbackEncoder = ({ headers, body }) => {
|
|
92207
92233
|
return {
|
|
92208
92234
|
bodyHeaders: {
|
|
@@ -92711,8 +92737,8 @@ ${underline2}`);
|
|
|
92711
92737
|
};
|
|
92712
92738
|
APIPromise = class _APIPromise extends Promise {
|
|
92713
92739
|
constructor(client, responsePromise, parseResponse = defaultParseResponse) {
|
|
92714
|
-
super((
|
|
92715
|
-
|
|
92740
|
+
super((resolve46) => {
|
|
92741
|
+
resolve46(null);
|
|
92716
92742
|
});
|
|
92717
92743
|
this.responsePromise = responsePromise;
|
|
92718
92744
|
this.parseResponse = parseResponse;
|
|
@@ -93927,7 +93953,7 @@ ${underline2}`);
|
|
|
93927
93953
|
});
|
|
93928
93954
|
|
|
93929
93955
|
// src/capture/contentExtractor.ts
|
|
93930
|
-
import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as
|
|
93956
|
+
import { readdirSync as readdirSync27, statSync as statSync25, readFileSync as readFileSync47 } from "fs";
|
|
93931
93957
|
import { join as join75 } from "path";
|
|
93932
93958
|
async function detectLibraries(page, capturedShaders) {
|
|
93933
93959
|
let detectedLibraries = [];
|
|
@@ -94060,7 +94086,7 @@ async function captionImagesWithGemini(outputDir, progress, warnings) {
|
|
|
94060
94086
|
const filePath = join75(outputDir, "assets", file);
|
|
94061
94087
|
const stat3 = statSync25(filePath);
|
|
94062
94088
|
if (stat3.size > 4e6) return { file, caption: "" };
|
|
94063
|
-
const buffer =
|
|
94089
|
+
const buffer = readFileSync47(filePath);
|
|
94064
94090
|
const base64 = buffer.toString("base64");
|
|
94065
94091
|
const ext = file.split(".").pop()?.toLowerCase() || "png";
|
|
94066
94092
|
const mimeType = ext === "jpg" ? "image/jpeg" : `image/${ext}`;
|
|
@@ -94246,15 +94272,15 @@ var init_agentPromptGenerator = __esm({
|
|
|
94246
94272
|
});
|
|
94247
94273
|
|
|
94248
94274
|
// src/capture/scaffolding.ts
|
|
94249
|
-
import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as
|
|
94250
|
-
import { join as join77, resolve as
|
|
94275
|
+
import { existsSync as existsSync67, writeFileSync as writeFileSync32, readFileSync as readFileSync48 } from "fs";
|
|
94276
|
+
import { join as join77, resolve as resolve42 } from "path";
|
|
94251
94277
|
function loadEnvFile(startDir) {
|
|
94252
94278
|
try {
|
|
94253
|
-
let dir =
|
|
94279
|
+
let dir = resolve42(startDir);
|
|
94254
94280
|
for (let i2 = 0; i2 < 5; i2++) {
|
|
94255
|
-
const envPath =
|
|
94281
|
+
const envPath = resolve42(dir, ".env");
|
|
94256
94282
|
try {
|
|
94257
|
-
const envContent =
|
|
94283
|
+
const envContent = readFileSync48(envPath, "utf-8");
|
|
94258
94284
|
for (const line of envContent.split("\n")) {
|
|
94259
94285
|
const trimmed = line.trim();
|
|
94260
94286
|
if (!trimmed || trimmed.startsWith("#")) continue;
|
|
@@ -94266,7 +94292,7 @@ function loadEnvFile(startDir) {
|
|
|
94266
94292
|
}
|
|
94267
94293
|
break;
|
|
94268
94294
|
} catch {
|
|
94269
|
-
dir =
|
|
94295
|
+
dir = resolve42(dir, "..");
|
|
94270
94296
|
}
|
|
94271
94297
|
}
|
|
94272
94298
|
} catch {
|
|
@@ -94995,7 +95021,7 @@ __export(capture_exports2, {
|
|
|
94995
95021
|
default: () => capture_default,
|
|
94996
95022
|
examples: () => examples23
|
|
94997
95023
|
});
|
|
94998
|
-
import { resolve as
|
|
95024
|
+
import { resolve as resolve43 } from "path";
|
|
94999
95025
|
var examples23, capture_default;
|
|
95000
95026
|
var init_capture2 = __esm({
|
|
95001
95027
|
"src/commands/capture.ts"() {
|
|
@@ -95054,7 +95080,7 @@ var init_capture2 = __esm({
|
|
|
95054
95080
|
const hostname = new URL(url).hostname.replace(/^www\./, "");
|
|
95055
95081
|
outputName = `captures/${hostname.replace(/\./g, "-")}`;
|
|
95056
95082
|
}
|
|
95057
|
-
const outputDir =
|
|
95083
|
+
const outputDir = resolve43(outputName);
|
|
95058
95084
|
const isJson = args.json;
|
|
95059
95085
|
if (!isJson) {
|
|
95060
95086
|
const { c: c3 } = await Promise.resolve().then(() => (init_colors(), colors_exports));
|
|
@@ -95179,7 +95205,7 @@ __export(state_exports, {
|
|
|
95179
95205
|
stateFilePath: () => stateFilePath,
|
|
95180
95206
|
writeStackOutputs: () => writeStackOutputs
|
|
95181
95207
|
});
|
|
95182
|
-
import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as
|
|
95208
|
+
import { existsSync as existsSync69, mkdirSync as mkdirSync41, readdirSync as readdirSync28, readFileSync as readFileSync49, rmSync as rmSync16, writeFileSync as writeFileSync35 } from "fs";
|
|
95183
95209
|
import { dirname as dirname28, join as join80 } from "path";
|
|
95184
95210
|
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
95185
95211
|
return join80(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
@@ -95194,7 +95220,7 @@ function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
|
95194
95220
|
const path2 = stateFilePath(stackName, cwd);
|
|
95195
95221
|
if (!existsSync69(path2)) return null;
|
|
95196
95222
|
try {
|
|
95197
|
-
return JSON.parse(
|
|
95223
|
+
return JSON.parse(readFileSync49(path2, "utf-8"));
|
|
95198
95224
|
} catch {
|
|
95199
95225
|
return null;
|
|
95200
95226
|
}
|
|
@@ -95353,16 +95379,16 @@ var init_sam = __esm({
|
|
|
95353
95379
|
|
|
95354
95380
|
// src/commands/lambda/repoRoot.ts
|
|
95355
95381
|
import { existsSync as existsSync71 } from "fs";
|
|
95356
|
-
import { dirname as dirname29, resolve as
|
|
95382
|
+
import { dirname as dirname29, resolve as resolve44 } from "path";
|
|
95357
95383
|
import { fileURLToPath as fileURLToPath11 } from "url";
|
|
95358
95384
|
function repoRoot() {
|
|
95359
95385
|
const override = process.env.HYPERFRAMES_REPO_ROOT;
|
|
95360
|
-
if (override && existsSync71(
|
|
95386
|
+
if (override && existsSync71(resolve44(override, "packages", "aws-lambda", "package.json"))) {
|
|
95361
95387
|
return override;
|
|
95362
95388
|
}
|
|
95363
95389
|
let dir = dirname29(fileURLToPath11(import.meta.url));
|
|
95364
95390
|
for (let depth = 0; depth < 12; depth++) {
|
|
95365
|
-
if (existsSync71(
|
|
95391
|
+
if (existsSync71(resolve44(dir, "packages", "aws-lambda", "package.json"))) {
|
|
95366
95392
|
return dir;
|
|
95367
95393
|
}
|
|
95368
95394
|
const parent = dirname29(dir);
|
|
@@ -95386,7 +95412,7 @@ __export(deploy_exports, {
|
|
|
95386
95412
|
});
|
|
95387
95413
|
import { spawnSync as spawnSync5 } from "child_process";
|
|
95388
95414
|
import { existsSync as existsSync72 } from "fs";
|
|
95389
|
-
import { join as join82, resolve as
|
|
95415
|
+
import { join as join82, resolve as resolve45 } from "path";
|
|
95390
95416
|
async function runDeploy(args = {}) {
|
|
95391
95417
|
const resolved = {
|
|
95392
95418
|
stackName: args.stackName ?? DEFAULT_STACK_NAME,
|
|
@@ -95440,7 +95466,7 @@ async function runDeploy(args = {}) {
|
|
|
95440
95466
|
console.log(` ${c2.dim("Bucket:")} ${outputs.bucketName}`);
|
|
95441
95467
|
console.log(` ${c2.dim("State machine:")} ${outputs.stateMachineArn}`);
|
|
95442
95468
|
console.log(` ${c2.dim("Function:")} ${outputs.functionName}`);
|
|
95443
|
-
console.log(` ${c2.dim("State file:")} ${
|
|
95469
|
+
console.log(` ${c2.dim("State file:")} ${resolve45(statePath)}`);
|
|
95444
95470
|
console.log();
|
|
95445
95471
|
console.log(c2.dim(`Render with: hyperframes lambda render <project-dir>`));
|
|
95446
95472
|
}
|
|
@@ -95520,13 +95546,28 @@ var render_exports2 = {};
|
|
|
95520
95546
|
__export(render_exports2, {
|
|
95521
95547
|
runRender: () => runRender
|
|
95522
95548
|
});
|
|
95523
|
-
import {
|
|
95549
|
+
import { existsSync as existsSync73 } from "fs";
|
|
95550
|
+
import { join as join83, resolve as resolvePath2 } from "path";
|
|
95524
95551
|
async function loadSDK2() {
|
|
95525
95552
|
return import("@hyperframes/aws-lambda/sdk");
|
|
95526
95553
|
}
|
|
95527
95554
|
async function runRender(args) {
|
|
95528
95555
|
const stack = requireStack(args.stackName);
|
|
95529
95556
|
const projectDir = resolvePath2(args.projectDir);
|
|
95557
|
+
const variables = resolveVariablesArg(args.variables, args.variablesFile);
|
|
95558
|
+
if (variables && Object.keys(variables).length > 0) {
|
|
95559
|
+
const indexPath = join83(projectDir, "index.html");
|
|
95560
|
+
if (existsSync73(indexPath)) {
|
|
95561
|
+
const issues = validateVariablesAgainstProject(indexPath, variables);
|
|
95562
|
+
reportVariableIssues(issues, { strict: args.strictVariables ?? false, quiet: args.json });
|
|
95563
|
+
} else if (args.strictVariables && !args.json) {
|
|
95564
|
+
console.warn(
|
|
95565
|
+
c2.warn(
|
|
95566
|
+
`--strict-variables: no ${indexPath} on disk \u2014 schema validation skipped. Variables flow through unchecked. To enable strict checking, run from a project dir that contains the composition.`
|
|
95567
|
+
)
|
|
95568
|
+
);
|
|
95569
|
+
}
|
|
95570
|
+
}
|
|
95530
95571
|
const config = {
|
|
95531
95572
|
fps: args.fps,
|
|
95532
95573
|
width: args.width,
|
|
@@ -95536,7 +95577,8 @@ async function runRender(args) {
|
|
|
95536
95577
|
quality: args.quality,
|
|
95537
95578
|
chunkSize: args.chunkSize,
|
|
95538
95579
|
maxParallelChunks: args.maxParallelChunks,
|
|
95539
|
-
runtimeCap: "lambda"
|
|
95580
|
+
runtimeCap: "lambda",
|
|
95581
|
+
variables
|
|
95540
95582
|
};
|
|
95541
95583
|
const siteHandle = args.siteId ? {
|
|
95542
95584
|
siteId: args.siteId,
|
|
@@ -95624,10 +95666,248 @@ var init_render3 = __esm({
|
|
|
95624
95666
|
"src/commands/lambda/render.ts"() {
|
|
95625
95667
|
"use strict";
|
|
95626
95668
|
init_colors();
|
|
95669
|
+
init_variables();
|
|
95627
95670
|
init_state();
|
|
95628
95671
|
}
|
|
95629
95672
|
});
|
|
95630
95673
|
|
|
95674
|
+
// src/commands/lambda/render-batch.ts
|
|
95675
|
+
var render_batch_exports = {};
|
|
95676
|
+
__export(render_batch_exports, {
|
|
95677
|
+
parseBatchFile: () => parseBatchFile,
|
|
95678
|
+
runRenderBatch: () => runRenderBatch,
|
|
95679
|
+
runWithConcurrencyLimit: () => runWithConcurrencyLimit
|
|
95680
|
+
});
|
|
95681
|
+
import { existsSync as existsSync74, readFileSync as readFileSync50 } from "fs";
|
|
95682
|
+
import { join as join84, resolve as resolvePath3 } from "path";
|
|
95683
|
+
async function loadSDK3() {
|
|
95684
|
+
return import("@hyperframes/aws-lambda/sdk");
|
|
95685
|
+
}
|
|
95686
|
+
async function runRenderBatch(args) {
|
|
95687
|
+
const projectDir = resolvePath3(args.projectDir);
|
|
95688
|
+
const stack = requireStack(args.stackName);
|
|
95689
|
+
const batchPath = resolvePath3(args.batch);
|
|
95690
|
+
if (!existsSync74(batchPath)) {
|
|
95691
|
+
errorBox("Batch file not found", `No such file: ${batchPath}`);
|
|
95692
|
+
process.exit(1);
|
|
95693
|
+
}
|
|
95694
|
+
const entries2 = parseBatchFile(batchPath);
|
|
95695
|
+
if (entries2.length === 0) {
|
|
95696
|
+
errorBox("Empty batch", `${batchPath} contains zero entries (every line was blank).`);
|
|
95697
|
+
process.exit(1);
|
|
95698
|
+
}
|
|
95699
|
+
const schema = loadProjectVariableSchema(join84(projectDir, "index.html"));
|
|
95700
|
+
const strict = args.strictVariables ?? false;
|
|
95701
|
+
let hadStrictIssue = false;
|
|
95702
|
+
for (const { entry, lineNumber } of entries2) {
|
|
95703
|
+
if (!entry.variables || Object.keys(entry.variables).length === 0) continue;
|
|
95704
|
+
const issues = validateVariablesAgainstSchema(entry.variables, schema);
|
|
95705
|
+
if (issues.length === 0) continue;
|
|
95706
|
+
if (!args.json) {
|
|
95707
|
+
console.log("");
|
|
95708
|
+
console.log(c2.dim(`Batch entry on line ${lineNumber}:`));
|
|
95709
|
+
}
|
|
95710
|
+
reportVariableIssues(issues, { strict: false, quiet: args.json });
|
|
95711
|
+
if (strict) hadStrictIssue = true;
|
|
95712
|
+
}
|
|
95713
|
+
if (hadStrictIssue) {
|
|
95714
|
+
errorBox(
|
|
95715
|
+
"Variable validation failed",
|
|
95716
|
+
"Aborting batch due to variable issues in one or more entries (--strict-variables mode)."
|
|
95717
|
+
);
|
|
95718
|
+
process.exit(1);
|
|
95719
|
+
}
|
|
95720
|
+
const config = {
|
|
95721
|
+
fps: args.fps,
|
|
95722
|
+
width: args.width,
|
|
95723
|
+
height: args.height,
|
|
95724
|
+
format: args.format,
|
|
95725
|
+
codec: args.codec,
|
|
95726
|
+
quality: args.quality,
|
|
95727
|
+
chunkSize: args.chunkSize,
|
|
95728
|
+
maxParallelChunks: args.maxParallelChunks,
|
|
95729
|
+
runtimeCap: "lambda"
|
|
95730
|
+
};
|
|
95731
|
+
let siteHandle;
|
|
95732
|
+
if (args.siteId) {
|
|
95733
|
+
siteHandle = makePlaceholderSiteHandle(args.siteId, stack.bucketName);
|
|
95734
|
+
} else if (args.dryRun) {
|
|
95735
|
+
siteHandle = makePlaceholderSiteHandle("dry-run-site", stack.bucketName);
|
|
95736
|
+
} else {
|
|
95737
|
+
const { deploySite } = await loadSDK3();
|
|
95738
|
+
siteHandle = await deploySite({
|
|
95739
|
+
projectDir,
|
|
95740
|
+
bucketName: stack.bucketName,
|
|
95741
|
+
region: stack.region
|
|
95742
|
+
});
|
|
95743
|
+
if (!args.json) {
|
|
95744
|
+
console.log(
|
|
95745
|
+
c2.success(
|
|
95746
|
+
siteHandle.uploaded ? `Site uploaded once for the batch: ${siteHandle.siteId}` : `Site already up to date (skipped upload): ${siteHandle.siteId}`
|
|
95747
|
+
)
|
|
95748
|
+
);
|
|
95749
|
+
console.log();
|
|
95750
|
+
}
|
|
95751
|
+
}
|
|
95752
|
+
const maxConcurrent = args.maxConcurrent ?? DEFAULT_MAX_CONCURRENT;
|
|
95753
|
+
const renderToLambda = args.dryRun ? void 0 : (await loadSDK3()).renderToLambda;
|
|
95754
|
+
const startEntry = async (item) => {
|
|
95755
|
+
const { entry, lineNumber } = item;
|
|
95756
|
+
if (args.dryRun) {
|
|
95757
|
+
return {
|
|
95758
|
+
inputLine: lineNumber,
|
|
95759
|
+
outputKey: entry.outputKey,
|
|
95760
|
+
executionArn: null,
|
|
95761
|
+
status: "would-invoke"
|
|
95762
|
+
};
|
|
95763
|
+
}
|
|
95764
|
+
if (!renderToLambda) {
|
|
95765
|
+
throw new Error("[render-batch] renderToLambda is undefined outside --dry-run");
|
|
95766
|
+
}
|
|
95767
|
+
try {
|
|
95768
|
+
const handle = await renderToLambda({
|
|
95769
|
+
siteHandle,
|
|
95770
|
+
bucketName: stack.bucketName,
|
|
95771
|
+
stateMachineArn: stack.stateMachineArn,
|
|
95772
|
+
region: stack.region,
|
|
95773
|
+
config: { ...config, variables: entry.variables },
|
|
95774
|
+
executionName: entry.executionName,
|
|
95775
|
+
outputKey: entry.outputKey
|
|
95776
|
+
});
|
|
95777
|
+
return {
|
|
95778
|
+
inputLine: lineNumber,
|
|
95779
|
+
outputKey: entry.outputKey,
|
|
95780
|
+
executionArn: handle.executionArn,
|
|
95781
|
+
status: "started"
|
|
95782
|
+
};
|
|
95783
|
+
} catch (err) {
|
|
95784
|
+
return {
|
|
95785
|
+
inputLine: lineNumber,
|
|
95786
|
+
outputKey: entry.outputKey,
|
|
95787
|
+
executionArn: null,
|
|
95788
|
+
status: "failed-to-start",
|
|
95789
|
+
error: err instanceof Error ? err.message : String(err)
|
|
95790
|
+
};
|
|
95791
|
+
}
|
|
95792
|
+
};
|
|
95793
|
+
const manifest = await runWithConcurrencyLimit(entries2, maxConcurrent, startEntry);
|
|
95794
|
+
if (args.json) {
|
|
95795
|
+
console.log(JSON.stringify(manifest, null, 2));
|
|
95796
|
+
return;
|
|
95797
|
+
}
|
|
95798
|
+
const started = manifest.filter((m2) => m2.status === "started").length;
|
|
95799
|
+
const failed = manifest.filter((m2) => m2.status === "failed-to-start").length;
|
|
95800
|
+
const wouldInvoke = manifest.filter((m2) => m2.status === "would-invoke").length;
|
|
95801
|
+
if (args.dryRun) {
|
|
95802
|
+
console.log(c2.success(`Dry-run complete: ${wouldInvoke} entries would invoke.`));
|
|
95803
|
+
} else {
|
|
95804
|
+
console.log(c2.success(`Batch dispatched: ${started} started, ${failed} failed-to-start.`));
|
|
95805
|
+
}
|
|
95806
|
+
console.log();
|
|
95807
|
+
for (const row of manifest) {
|
|
95808
|
+
const tag = row.status === "started" ? c2.success("\u2713") : row.status === "would-invoke" ? c2.dim("\xB7") : c2.error("\u2717");
|
|
95809
|
+
const detail = row.status === "failed-to-start" ? c2.error(row.error ?? "unknown error") : row.executionArn ?? c2.dim("(no execution)");
|
|
95810
|
+
console.log(` ${tag} line ${row.inputLine} ${c2.dim(row.outputKey)} ${detail}`);
|
|
95811
|
+
}
|
|
95812
|
+
if (failed > 0) process.exitCode = 1;
|
|
95813
|
+
}
|
|
95814
|
+
function makePlaceholderSiteHandle(siteId, bucketName) {
|
|
95815
|
+
return {
|
|
95816
|
+
siteId,
|
|
95817
|
+
bucketName,
|
|
95818
|
+
projectS3Uri: `s3://${bucketName}/sites/${siteId}/project.tar.gz`,
|
|
95819
|
+
bytes: 0,
|
|
95820
|
+
uploadedAt: "",
|
|
95821
|
+
uploaded: false
|
|
95822
|
+
};
|
|
95823
|
+
}
|
|
95824
|
+
function parseBatchFile(path2) {
|
|
95825
|
+
const raw = readFileSync50(path2, "utf8");
|
|
95826
|
+
const lines = raw.split(/\r?\n/);
|
|
95827
|
+
const out = [];
|
|
95828
|
+
for (let i2 = 0; i2 < lines.length; i2++) {
|
|
95829
|
+
const line = lines[i2].trim();
|
|
95830
|
+
if (line === "") continue;
|
|
95831
|
+
let parsed;
|
|
95832
|
+
try {
|
|
95833
|
+
parsed = JSON.parse(line);
|
|
95834
|
+
} catch (err) {
|
|
95835
|
+
errorBox(
|
|
95836
|
+
`Invalid JSON in batch file on line ${i2 + 1}`,
|
|
95837
|
+
err instanceof Error ? err.message : String(err)
|
|
95838
|
+
);
|
|
95839
|
+
process.exit(1);
|
|
95840
|
+
}
|
|
95841
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
95842
|
+
errorBox(
|
|
95843
|
+
`Invalid batch entry on line ${i2 + 1}`,
|
|
95844
|
+
'Each line must be a JSON object with at least { "outputKey": "..." }.'
|
|
95845
|
+
);
|
|
95846
|
+
process.exit(1);
|
|
95847
|
+
}
|
|
95848
|
+
const obj = parsed;
|
|
95849
|
+
const outputKey = obj.outputKey;
|
|
95850
|
+
if (typeof outputKey !== "string" || outputKey.length === 0) {
|
|
95851
|
+
errorBox(
|
|
95852
|
+
`Missing outputKey on line ${i2 + 1}`,
|
|
95853
|
+
'Each batch entry needs a non-empty "outputKey" string (e.g. "renders/alice.mp4").'
|
|
95854
|
+
);
|
|
95855
|
+
process.exit(1);
|
|
95856
|
+
}
|
|
95857
|
+
if (obj.variables !== void 0) {
|
|
95858
|
+
if (obj.variables === null || typeof obj.variables !== "object" || Array.isArray(obj.variables)) {
|
|
95859
|
+
errorBox(
|
|
95860
|
+
`Invalid variables on line ${i2 + 1}`,
|
|
95861
|
+
'"variables" must be a JSON object (or omitted).'
|
|
95862
|
+
);
|
|
95863
|
+
process.exit(1);
|
|
95864
|
+
}
|
|
95865
|
+
}
|
|
95866
|
+
if (obj.executionName !== void 0 && typeof obj.executionName !== "string") {
|
|
95867
|
+
errorBox(
|
|
95868
|
+
`Invalid executionName on line ${i2 + 1}`,
|
|
95869
|
+
'"executionName" must be a string (or omitted).'
|
|
95870
|
+
);
|
|
95871
|
+
process.exit(1);
|
|
95872
|
+
}
|
|
95873
|
+
out.push({
|
|
95874
|
+
entry: {
|
|
95875
|
+
outputKey,
|
|
95876
|
+
variables: obj.variables,
|
|
95877
|
+
executionName: obj.executionName
|
|
95878
|
+
},
|
|
95879
|
+
lineNumber: i2 + 1
|
|
95880
|
+
});
|
|
95881
|
+
}
|
|
95882
|
+
return out;
|
|
95883
|
+
}
|
|
95884
|
+
async function runWithConcurrencyLimit(inputs, limit, worker) {
|
|
95885
|
+
if (limit < 1) throw new Error(`runWithConcurrencyLimit: limit must be \u2265 1, got ${limit}`);
|
|
95886
|
+
const results = new Array(inputs.length);
|
|
95887
|
+
let cursor = 0;
|
|
95888
|
+
const workerCount = Math.min(limit, inputs.length);
|
|
95889
|
+
await Promise.all(
|
|
95890
|
+
Array.from({ length: workerCount }, async () => {
|
|
95891
|
+
while (cursor < inputs.length) {
|
|
95892
|
+
const idx = cursor++;
|
|
95893
|
+
results[idx] = await worker(inputs[idx], idx);
|
|
95894
|
+
}
|
|
95895
|
+
})
|
|
95896
|
+
);
|
|
95897
|
+
return results;
|
|
95898
|
+
}
|
|
95899
|
+
var DEFAULT_MAX_CONCURRENT;
|
|
95900
|
+
var init_render_batch = __esm({
|
|
95901
|
+
"src/commands/lambda/render-batch.ts"() {
|
|
95902
|
+
"use strict";
|
|
95903
|
+
init_colors();
|
|
95904
|
+
init_format();
|
|
95905
|
+
init_variables();
|
|
95906
|
+
init_state();
|
|
95907
|
+
DEFAULT_MAX_CONCURRENT = 50;
|
|
95908
|
+
}
|
|
95909
|
+
});
|
|
95910
|
+
|
|
95631
95911
|
// src/commands/lambda/progress.ts
|
|
95632
95912
|
var progress_exports = {};
|
|
95633
95913
|
__export(progress_exports, {
|
|
@@ -95735,7 +96015,7 @@ __export(policies_exports, {
|
|
|
95735
96015
|
runPolicies: () => runPolicies,
|
|
95736
96016
|
validatePolicy: () => validatePolicy
|
|
95737
96017
|
});
|
|
95738
|
-
import { readFileSync as
|
|
96018
|
+
import { readFileSync as readFileSync51 } from "fs";
|
|
95739
96019
|
function allRequiredActions() {
|
|
95740
96020
|
const set = /* @__PURE__ */ new Set();
|
|
95741
96021
|
for (const group of Object.values(REQUIRED_ACTIONS)) {
|
|
@@ -95841,7 +96121,7 @@ async function runPolicies(args) {
|
|
|
95841
96121
|
}
|
|
95842
96122
|
}
|
|
95843
96123
|
function validatePolicy(policyPath) {
|
|
95844
|
-
const raw =
|
|
96124
|
+
const raw = readFileSync51(policyPath, "utf-8");
|
|
95845
96125
|
const parsed = JSON.parse(raw);
|
|
95846
96126
|
const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
|
|
95847
96127
|
parsed.Statement
|
|
@@ -96045,6 +96325,18 @@ var init_lambda = __esm({
|
|
|
96045
96325
|
"Render and stream progress until done",
|
|
96046
96326
|
"hyperframes lambda render ./my-project --width 1920 --height 1080 --wait"
|
|
96047
96327
|
],
|
|
96328
|
+
[
|
|
96329
|
+
"Render with composition variables (personalised template)",
|
|
96330
|
+
`hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables '{"title":"Hello Alice","accent":"#ff0000"}'`
|
|
96331
|
+
],
|
|
96332
|
+
[
|
|
96333
|
+
"Render with variables from a JSON file",
|
|
96334
|
+
"hyperframes lambda render ./my-template --site-id abc1234deadbeef0 --width 1920 --height 1080 --variables-file ./alice.json"
|
|
96335
|
+
],
|
|
96336
|
+
[
|
|
96337
|
+
"Batch-render N personalised videos from a JSONL file (deploys the site once)",
|
|
96338
|
+
"hyperframes lambda render-batch ./my-template --batch ./users.jsonl --width 1920 --height 1080 --max-concurrent 10"
|
|
96339
|
+
],
|
|
96048
96340
|
["Check progress for a started render", "hyperframes lambda progress hf-render-abcd1234"],
|
|
96049
96341
|
[
|
|
96050
96342
|
"Pre-upload a project so multiple renders share the upload",
|
|
@@ -96066,6 +96358,7 @@ ${c2.bold("SUBCOMMANDS:")}
|
|
|
96066
96358
|
${c2.accent("deploy")} ${c2.dim("Provision the Lambda + Step Functions + S3 stack via SAM")}
|
|
96067
96359
|
${c2.accent("sites create")} ${c2.dim("Tar + upload a project to S3 (reusable across renders)")}
|
|
96068
96360
|
${c2.accent("render")} ${c2.dim("Start a distributed render (returns a renderId)")}
|
|
96361
|
+
${c2.accent("render-batch")} ${c2.dim("Fan out N personalised renders from a JSONL batch file")}
|
|
96069
96362
|
${c2.accent("progress")} ${c2.dim("Print progress + cost for an in-flight or finished render")}
|
|
96070
96363
|
${c2.accent("destroy")} ${c2.dim("Tear the stack down (S3 bucket is retained)")}
|
|
96071
96364
|
${c2.accent("policies")} ${c2.dim("Print or validate the IAM permissions the CLI needs")}
|
|
@@ -96130,6 +96423,36 @@ ${c2.bold("REQUIREMENTS:")}
|
|
|
96130
96423
|
type: "string",
|
|
96131
96424
|
description: "Final output S3 key (default: renders/<exec>/output.<ext>)"
|
|
96132
96425
|
},
|
|
96426
|
+
// Variables — mirrors the local `hyperframes render` UX. Inline JSON or
|
|
96427
|
+
// file path, plus --strict-variables for type-checked validation against
|
|
96428
|
+
// the composition's `data-composition-variables` declaration.
|
|
96429
|
+
variables: {
|
|
96430
|
+
type: "string",
|
|
96431
|
+
description: `JSON object of variable values for the composition. Example: --variables '{"title":"Hello"}'. Values flow into window.__hfVariables on the Lambda chunk workers.`
|
|
96432
|
+
},
|
|
96433
|
+
"variables-file": {
|
|
96434
|
+
type: "string",
|
|
96435
|
+
description: "Path to a JSON file with variable values (alternative to --variables). The file must contain a single JSON object."
|
|
96436
|
+
},
|
|
96437
|
+
"strict-variables": {
|
|
96438
|
+
type: "boolean",
|
|
96439
|
+
description: "Fail the render command if any --variables key is undeclared or has a wrong type vs the composition's data-composition-variables. Without this flag, mismatches are warnings.",
|
|
96440
|
+
default: false
|
|
96441
|
+
},
|
|
96442
|
+
// render-batch
|
|
96443
|
+
batch: {
|
|
96444
|
+
type: "string",
|
|
96445
|
+
description: 'Path to a JSONL batch file for `render-batch`. Each line: {"outputKey":"...","variables":{...}}'
|
|
96446
|
+
},
|
|
96447
|
+
"max-concurrent": {
|
|
96448
|
+
type: "string",
|
|
96449
|
+
description: "Max in-flight Step Functions executions for `render-batch` (default: 50). Distinct from --max-parallel-chunks (which caps chunks per render)."
|
|
96450
|
+
},
|
|
96451
|
+
"dry-run": {
|
|
96452
|
+
type: "boolean",
|
|
96453
|
+
description: "For `render-batch`: parse the batch file and print the manifest without invoking AWS. Every entry's status becomes `would-invoke`.",
|
|
96454
|
+
default: false
|
|
96455
|
+
},
|
|
96133
96456
|
wait: { type: "boolean", description: "Block until the render finishes" },
|
|
96134
96457
|
"wait-interval-ms": {
|
|
96135
96458
|
type: "string",
|
|
@@ -96151,7 +96474,14 @@ ${c2.bold("REQUIREMENTS:")}
|
|
|
96151
96474
|
if (profileFlag) process.env.AWS_PROFILE = profileFlag;
|
|
96152
96475
|
const regionFlag = args.region;
|
|
96153
96476
|
if (regionFlag) process.env.AWS_REGION = regionFlag;
|
|
96154
|
-
const verbsNeedingSDK = /* @__PURE__ */ new Set([
|
|
96477
|
+
const verbsNeedingSDK = /* @__PURE__ */ new Set([
|
|
96478
|
+
"deploy",
|
|
96479
|
+
"sites",
|
|
96480
|
+
"render",
|
|
96481
|
+
"render-batch",
|
|
96482
|
+
"progress",
|
|
96483
|
+
"destroy"
|
|
96484
|
+
]);
|
|
96155
96485
|
if (verbsNeedingSDK.has(subcommand)) {
|
|
96156
96486
|
try {
|
|
96157
96487
|
await import("@hyperframes/aws-lambda/sdk");
|
|
@@ -96240,12 +96570,62 @@ Or, for an opt-in dev setup:
|
|
|
96240
96570
|
maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
|
|
96241
96571
|
executionName: args["execution-name"],
|
|
96242
96572
|
outputKey: args["output-key"],
|
|
96573
|
+
variables: args.variables,
|
|
96574
|
+
variablesFile: args["variables-file"],
|
|
96575
|
+
strictVariables: Boolean(args["strict-variables"]),
|
|
96243
96576
|
json: Boolean(args.json),
|
|
96244
96577
|
wait: Boolean(args.wait),
|
|
96245
96578
|
waitIntervalMs: parsePositiveInt(args["wait-interval-ms"], "--wait-interval-ms") ?? 5e3
|
|
96246
96579
|
});
|
|
96247
96580
|
return;
|
|
96248
96581
|
}
|
|
96582
|
+
case "render-batch": {
|
|
96583
|
+
const projectDir = args.target;
|
|
96584
|
+
if (!projectDir) {
|
|
96585
|
+
console.error(
|
|
96586
|
+
"[lambda render-batch] usage: hyperframes lambda render-batch <projectDir> --batch <path.jsonl> --width <px> --height <px>"
|
|
96587
|
+
);
|
|
96588
|
+
process.exit(1);
|
|
96589
|
+
}
|
|
96590
|
+
const batch = args.batch;
|
|
96591
|
+
if (!batch) {
|
|
96592
|
+
console.error(
|
|
96593
|
+
"[lambda render-batch] --batch <path.jsonl> is required. Each line is a JSON object with at least { outputKey: '...' }."
|
|
96594
|
+
);
|
|
96595
|
+
process.exit(1);
|
|
96596
|
+
}
|
|
96597
|
+
const width = parsePositiveInt(args.width, "--width");
|
|
96598
|
+
const height = parsePositiveInt(args.height, "--height");
|
|
96599
|
+
if (width === void 0 || height === void 0) {
|
|
96600
|
+
console.error("[lambda render-batch] --width and --height are required.");
|
|
96601
|
+
process.exit(1);
|
|
96602
|
+
}
|
|
96603
|
+
const fpsRaw = parseIntFlag(args.fps) ?? 30;
|
|
96604
|
+
if (fpsRaw !== 24 && fpsRaw !== 30 && fpsRaw !== 60) {
|
|
96605
|
+
console.error(`[lambda render-batch] --fps must be 24, 30, or 60; got ${fpsRaw}.`);
|
|
96606
|
+
process.exit(1);
|
|
96607
|
+
}
|
|
96608
|
+
const { runRenderBatch: runRenderBatch2 } = await Promise.resolve().then(() => (init_render_batch(), render_batch_exports));
|
|
96609
|
+
await runRenderBatch2({
|
|
96610
|
+
projectDir,
|
|
96611
|
+
stackName,
|
|
96612
|
+
batch,
|
|
96613
|
+
siteId: args["site-id"],
|
|
96614
|
+
fps: fpsRaw,
|
|
96615
|
+
width,
|
|
96616
|
+
height,
|
|
96617
|
+
format: parseFormat(args.format),
|
|
96618
|
+
codec: parseCodec(args.codec),
|
|
96619
|
+
quality: parseQuality(args.quality),
|
|
96620
|
+
chunkSize: parsePositiveInt(args["chunk-size"], "--chunk-size"),
|
|
96621
|
+
maxParallelChunks: parsePositiveInt(args["max-parallel-chunks"], "--max-parallel-chunks"),
|
|
96622
|
+
maxConcurrent: parsePositiveInt(args["max-concurrent"], "--max-concurrent"),
|
|
96623
|
+
strictVariables: Boolean(args["strict-variables"]),
|
|
96624
|
+
dryRun: Boolean(args["dry-run"]),
|
|
96625
|
+
json: Boolean(args.json)
|
|
96626
|
+
});
|
|
96627
|
+
return;
|
|
96628
|
+
}
|
|
96249
96629
|
case "progress": {
|
|
96250
96630
|
const target = args.target;
|
|
96251
96631
|
if (!target) {
|
|
@@ -96436,7 +96816,7 @@ __export(autoUpdate_exports, {
|
|
|
96436
96816
|
import { spawn as spawn16 } from "child_process";
|
|
96437
96817
|
import { appendFileSync as appendFileSync2, mkdirSync as mkdirSync42, openSync as openSync2 } from "fs";
|
|
96438
96818
|
import { homedir as homedir12 } from "os";
|
|
96439
|
-
import { join as
|
|
96819
|
+
import { join as join85 } from "path";
|
|
96440
96820
|
import { compareVersions as compareVersions2 } from "compare-versions";
|
|
96441
96821
|
function isAutoInstallDisabled() {
|
|
96442
96822
|
if (isDevMode()) return true;
|
|
@@ -96459,7 +96839,7 @@ function log(line) {
|
|
|
96459
96839
|
}
|
|
96460
96840
|
function launchDetachedInstall(installCommand, version) {
|
|
96461
96841
|
mkdirSync42(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
96462
|
-
const configFile =
|
|
96842
|
+
const configFile = join85(CONFIG_DIR2, "config.json");
|
|
96463
96843
|
const nodeScript = `
|
|
96464
96844
|
const { exec } = require("node:child_process");
|
|
96465
96845
|
const { readFileSync, renameSync, writeFileSync } = require("node:fs");
|
|
@@ -96578,8 +96958,8 @@ var init_autoUpdate = __esm({
|
|
|
96578
96958
|
init_config();
|
|
96579
96959
|
init_env();
|
|
96580
96960
|
init_installerDetection();
|
|
96581
|
-
CONFIG_DIR2 =
|
|
96582
|
-
LOG_FILE =
|
|
96961
|
+
CONFIG_DIR2 = join85(homedir12(), ".hyperframes");
|
|
96962
|
+
LOG_FILE = join85(CONFIG_DIR2, "auto-update.log");
|
|
96583
96963
|
PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
96584
96964
|
}
|
|
96585
96965
|
});
|
|
@@ -96767,17 +97147,17 @@ var init_help = __esm({
|
|
|
96767
97147
|
// src/cli.ts
|
|
96768
97148
|
init_version();
|
|
96769
97149
|
init_dist();
|
|
96770
|
-
import { dirname as dirname30, join as
|
|
97150
|
+
import { dirname as dirname30, join as join86 } from "path";
|
|
96771
97151
|
import { fileURLToPath as fileURLToPath12 } from "url";
|
|
96772
|
-
import { existsSync as
|
|
97152
|
+
import { existsSync as existsSync75 } from "fs";
|
|
96773
97153
|
(() => {
|
|
96774
97154
|
const here = dirname30(fileURLToPath12(import.meta.url));
|
|
96775
|
-
const shader =
|
|
96776
|
-
const png =
|
|
96777
|
-
if (!process.env.HF_SHADER_WORKER_ENTRY &&
|
|
97155
|
+
const shader = join86(here, "shaderTransitionWorker.js");
|
|
97156
|
+
const png = join86(here, "pngDecodeBlitWorker.js");
|
|
97157
|
+
if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync75(shader)) {
|
|
96778
97158
|
process.env.HF_SHADER_WORKER_ENTRY = shader;
|
|
96779
97159
|
}
|
|
96780
|
-
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY &&
|
|
97160
|
+
if (!process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY && existsSync75(png)) {
|
|
96781
97161
|
process.env.HF_PNG_DECODE_BLIT_WORKER_ENTRY = png;
|
|
96782
97162
|
}
|
|
96783
97163
|
})();
|