hyperframes 0.6.55 → 0.6.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -50,7 +50,7 @@ var VERSION;
50
50
  var init_version = __esm({
51
51
  "src/version.ts"() {
52
52
  "use strict";
53
- VERSION = true ? "0.6.55" : "0.0.0-dev";
53
+ VERSION = true ? "0.6.57" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -39215,7 +39215,7 @@ var RUNTIME_IIFE;
39215
39215
  var init_runtime_inline = __esm({
39216
39216
  "../core/src/generated/runtime-inline.ts"() {
39217
39217
  "use strict";
39218
- RUNTIME_IIFE = '"use strict";(()=>{var Zo=Object.create;var pn=Object.defineProperty;var Xo=Object.getOwnPropertyDescriptor;var es=Object.getOwnPropertyNames;var ts=Object.getPrototypeOf,ns=Object.prototype.hasOwnProperty;var is=(t,e,n)=>e in t?pn(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 rs=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of es(e))!ns.call(t,r)&&r!==n&&pn(t,r,{get:()=>e[r],enumerable:!(i=Xo(e,r))||i.enumerable});return t};var os=(t,e,n)=>(n=t!=null?Zo(ts(t)):{},rs(e||!t||!t.__esModule?pn(n,"default",{value:t,enumerable:!0}):n,t));var Se=(t,e,n)=>is(t,typeof e!="symbol"?e+"":e,n);var Oi=Z((oc,An)=>{var J=String,Ii=function(){return{isColorSupported:!1,reset:J,bold:J,dim:J,italic:J,underline:J,inverse:J,hidden:J,strikethrough:J,black:J,red:J,green:J,yellow:J,blue:J,magenta:J,cyan:J,white:J,gray:J,bgBlack:J,bgRed:J,bgGreen:J,bgYellow:J,bgBlue:J,bgMagenta:J,bgCyan:J,bgWhite:J,blackBright:J,redBright:J,greenBright:J,yellowBright:J,blueBright:J,magentaBright:J,cyanBright:J,whiteBright:J,bgBlackBright:J,bgRedBright:J,bgGreenBright:J,bgYellowBright:J,bgBlueBright:J,bgMagentaBright:J,bgCyanBright:J,bgWhiteBright:J}};An.exports=Ii();An.exports.createColors=Ii});var En=Z(()=>{});var Wt=Z((lc,Hi)=>{"use strict";var Pi=Oi(),Wi=En(),ht=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=Pi.isColorSupported);let i=c=>c,r=c=>c,o=c=>c;if(e){let{bold:c,gray:m,red:f}=Pi.createColors(!0);r=x=>c(f(x)),i=x=>m(x),Wi&&(o=x=>Wi(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),u=String(a).length;return s.slice(l,a).map((c,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-u)+" | ";if(f===this.line){if(c.length>160){let E=20,b=Math.max(0,this.column-E),I=Math.max(this.column+E,this.endColumn+E),L=c.slice(b,I),v=i(x.replace(/\\d/g," "))+c.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(L)+`\n `+v+r("^")}let F=i(x.replace(/\\d/g," "))+c.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(c)+`\n `+F+r("^")}return" "+i(x)+o(c)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Hi.exports=ht;ht.default=ht});var Fn=Z((uc,Ui)=>{"use strict";var Cs=/(<)(\\/?style\\b)/gi,Ms=/(<)(!--)/g;function We(t){return typeof t!="string"||!t.includes("<")?t:t.replace(Cs,"\\\\3c $2").replace(Ms,"\\\\3c $2")}var qi={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ks(t){return t[0].toUpperCase()+t.slice(1)}var xt=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(We(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 l=0;l<o;l++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(We(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(We(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 l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:We(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(We("/*"+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(We(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 qi[i];let s=e.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+ks(i);this[a]?r=this[a](s,e):s.walk(u=>{if(r=u.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=qi[i]),l[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:We(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(We(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)}};Ui.exports=xt;xt.default=xt});var gt=Z((cc,zi)=>{"use strict";var Ts=Fn();function wn(t,e){new Ts(e).stringify(t)}zi.exports=wn;wn.default=wn});var Ht=Z((dc,Nn)=>{"use strict";Nn.exports.isClean=Symbol("isClean");Nn.exports.my=Symbol("my")});var bt=Z((fc,Vi)=>{"use strict";var _s=Wt(),vs=Fn(),Rs=gt(),{isClean:yt,my:Ds}=Ht();function Cn(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=>Cn(s,n)):(o==="object"&&r!==null&&(r=Cn(r)),n[i]=r)}return n}function Oe(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 St=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[yt]=!1,this[Ds]=!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=Cn(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 _s(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[yt]=!0}markDirty(){if(this[yt]){this[yt]=!1;let e=this;for(;e=e.parent;)e[yt]=!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(Oe(i,this.source.start),Oe(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=Oe(r,this.source.start),s=o+e;for(let l=o;l<s;l++)r[l]===`\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:Oe(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:Oe(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Oe(n,this.source.start),Oe(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:Oe(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Oe(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 vs().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 l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}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=Rs){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)}};Vi.exports=St;St.default=St});var Et=Z((mc,ji)=>{"use strict";var Ls=bt(),At=class extends Ls{constructor(e){super(e),this.type="comment"}};ji.exports=At;At.default=At});var wt=Z((pc,$i)=>{"use strict";var Bs=bt(),Ft=class extends Bs{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"}};$i.exports=Ft;Ft.default=Ft});var He=Z((hc,tr)=>{"use strict";var Gi=Et(),Ji=wt(),Is=bt(),{isClean:Ki,my:Qi}=Ht(),Mn,Yi,Zi,kn;function Xi(t){return t.map(e=>(e.nodes&&(e.nodes=Xi(e.nodes)),delete e.source,e))}function er(t){if(t[Ki]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)er(e)}var ve=class t extends Is{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 l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=Xi(Yi(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 Ji(e)]}else if(e.selector||e.selectors)e=[new kn(e)];else if(e.name)e=[new Mn(e)];else if(e.text)e=[new Gi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[Qi]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Ki]&&er(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)}))}};ve.registerParse=t=>{Yi=t};ve.registerRule=t=>{kn=t};ve.registerAtRule=t=>{Mn=t};ve.registerRoot=t=>{Zi=t};tr.exports=ve;ve.default=ve;ve.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Mn.prototype):t.type==="rule"?Object.setPrototypeOf(t,kn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Ji.prototype):t.type==="comment"?Object.setPrototypeOf(t,Gi.prototype):t.type==="root"&&Object.setPrototypeOf(t,Zi.prototype),t[Qi]=!0,t.nodes&&t.nodes.forEach(e=>{ve.rebuild(e)})}});var qt=Z((xc,ir)=>{"use strict";var nr=He(),et=class extends nr{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)}};ir.exports=et;et.default=et;nr.registerAtRule(et)});var Ut=Z((gc,sr)=>{"use strict";var Os=He(),rr,or,Qe=class extends Os{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new rr(new or,this,e).stringify()}};Qe.registerLazyResult=t=>{rr=t};Qe.registerProcessor=t=>{or=t};sr.exports=Qe;Qe.default=Qe});var lr=Z((yc,ar)=>{var Ps="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Ws=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Hs=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Ps[Math.random()*64|0];return e};ar.exports={nanoid:Hs,customAlphabet:Ws}});var zt=Z(()=>{});var Vt=Z(()=>{});var Tn=Z(()=>{});var ur=Z(()=>{});var vn=Z((Mc,fr)=>{"use strict";var{existsSync:qs,readFileSync:Us}=ur(),{dirname:_n,join:zs}=zt(),{SourceMapConsumer:cr,SourceMapGenerator:dr}=Vt();function Vs(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Nt=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=_n(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new cr(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 l=e.match(n)||e.match(i);if(l)return Vs(e.substr(l[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=_n(e),qs(e)))return this.mapFile=e,Us(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 cr)return dr.fromSourceMap(n).toString();if(n instanceof dr)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=zs(_n(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)}};fr.exports=Nt;Nt.default=Nt});var Ct=Z((kc,gr)=>{"use strict";var{nanoid:js}=lr(),{isAbsolute:Ln,resolve:Bn}=zt(),{SourceMapConsumer:$s,SourceMapGenerator:Gs}=Vt(),{fileURLToPath:mr,pathToFileURL:jt}=Tn(),pr=Wt(),Js=vn(),Rn=En(),Dn=Symbol("lineToIndexCache"),Ks=!!($s&&Gs),hr=!!(Bn&&Ln);function xr(t){if(t[Dn])return t[Dn];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[Dn]=n,n}var tt=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&&(!hr||/^\\w+:\\/\\//.test(n.from)||Ln(n.from)?this.file=n.from:this.file=Bn(n.from)),hr&&Ks){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 "+js(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,l,a,u;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let c=this.origin(n,i,s,o);return c?u=new pr(e,c.endLine===void 0?c.line:{column:c.column,line:c.line},c.endLine===void 0?c.column:{column:c.endColumn,line:c.endLine},c.source,c.file,r.plugin):u=new pr(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),u.input={column:i,endColumn:o,endLine:s,endOffset:l,line:n,offset:a,source:this.css},this.file&&(jt&&(u.input.url=jt(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(e,n){return xr(this)[e-1]+n-1}fromOffset(e){let n=xr(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:Bn(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 l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;Ln(s.source)?a=jt(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||jt(this.map.mapFile));let u={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(mr)u.file=mr(a);else throw new Error("file: protocol is not available in this PostCSS build");let c=o.sourceContentFor(s.source);return c&&(u.source=c),u}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}};gr.exports=tt;tt.default=tt;Rn&&Rn.registerInput&&Rn.registerInput(tt)});var nt=Z((Tc,Ar)=>{"use strict";var yr=He(),Sr,br,qe=class extends yr{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 Sr(new br,this,e).stringify()}};qe.registerLazyResult=t=>{Sr=t};qe.registerProcessor=t=>{br=t};Ar.exports=qe;qe.default=qe;yr.registerRoot(qe)});var In=Z((_c,Er)=>{"use strict";var Mt={comma(t){return Mt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Mt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,l=!1,a="",u=!1;for(let c of t)u?u=!1:c==="\\\\"?u=!0:l?c===a&&(l=!1):c===\'"\'||c==="\'"?(l=!0,a=c):c==="("?s+=1:c===")"?s>0&&(s-=1):s===0&&e.includes(c)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=c;return(n||r!=="")&&i.push(r.trim()),i}};Er.exports=Mt;Mt.default=Mt});var $t=Z((vc,wr)=>{"use strict";var Fr=He(),Qs=In(),it=class extends Fr{get selectors(){return Qs.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=[])}};wr.exports=it;it.default=it;Fr.registerRule(it)});var Cr=Z((Rc,Nr)=>{"use strict";var Ys=qt(),Zs=Et(),Xs=wt(),ea=Ct(),ta=vn(),na=nt(),ia=$t();function kt(t,e){if(Array.isArray(t))return t.map(r=>kt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:ea.prototype};o.map&&(o.map={...o.map,__proto__:ta.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>kt(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 na(i);if(i.type==="decl")return new Xs(i);if(i.type==="rule")return new ia(i);if(i.type==="comment")return new Zs(i);if(i.type==="atrule")return new Ys(i);throw new Error("Unknown node type: "+t.type)}Nr.exports=kt;kt.default=kt});var Pn=Z((Dc,Rr)=>{"use strict";var{dirname:Gt,relative:kr,resolve:Tr,sep:_r}=zt(),{SourceMapConsumer:vr,SourceMapGenerator:Jt}=Vt(),{pathToFileURL:Mr}=Tn(),ra=Ct(),oa=!!(vr&&Jt),sa=!!(Gt&&Tr&&kr&&_r),On=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||Gt(e.file),r;this.mapOpts.sourcesContent===!1?(r=new vr(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(),sa&&oa&&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=Jt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Jt({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 Jt({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,(l,a,u)=>{if(this.css+=l,a&&u!=="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=l.match(/\\n/g),s?(e+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&u!=="start"){let c=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==c.last||c.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?Gt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Gt(Tr(i,this.mapOpts.annotation)));let r=kr(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 ra(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(Mr){let i=Mr(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;_r==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Rr.exports=On});var Br=Z((Lc,Lr)=>{"use strict";var Kt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Qt=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,aa=/.[\\r\\n"\'(/\\\\]/,Dr=/[\\da-f]/i;Lr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,u,c,m,f,x,F,E=i.length,b=0,I=[],L=[],v=-1;function X(){return b}function q(N){throw e.error("Unclosed "+N,b)}function C(){return L.length===0&&b>=E}function g(N){if(L.length)return L.pop();if(b>=E)return;let w=N?N.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);c=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let M=String.fromCharCode(o);c=[M,M,b];break}case 40:{if(F=I.length?I.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(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||w){a=b;break}else q("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["brackets",i.slice(b,a+1),b,a],b=a}else b<=v?c=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||aa.test(s)?(v=a===-1?E:a,c=["(","(",b]):(c=["brackets",s,b,a],b=a));break}case 39:case 34:{u=o===39?"\'":\'"\',a=b;do{if(m=!1,a=i.indexOf(u,a+1),a===-1)if(r||w){a=b+1;break}else q("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);c=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{Kt.lastIndex=b+1,Kt.test(i),Kt.lastIndex===0?a=i.length-1:a=Kt.lastIndex-2,c=["at-word",i.slice(b,a+1),b,a],b=a;break}case 92:{for(a=b,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Dr.test(i.charAt(a)))){for(;Dr.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}c=["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||w?a=i.length:q("comment")),c=["comment",i.slice(b,a+1),b,a],b=a):(Qt.lastIndex=b+1,Qt.test(i),Qt.lastIndex===0?a=i.length-1:a=Qt.lastIndex-2,c=["word",i.slice(b,a+1),b,a],I.push(c),b=a);break}}return b++,c}function A(N){L.push(N)}return{back:A,endOfFile:C,nextToken:g,position:X}}});var Wr=Z((Bc,Pr)=>{"use strict";var la=qt(),ua=Et(),ca=wt(),da=nt(),Ir=$t(),fa=Br(),Or={empty:!0,space:!0};function ma(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Wn=class{constructor(e){this.input=e,this.root=new da,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 la;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,l=!1,a=[],u=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?u.push(i==="("?")":"]"):i==="{"&&u.length>0?u.push("}"):i===u[u.length-1]&&u.pop(),u.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){l=!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=""),l&&(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,l]of e.entries()){if(r=l,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 ua;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=fa(this.input)}decl(e,n){let i=new ca;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]||ma(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 u=e[0][0];if(u===":"||u==="space"||u==="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=[],l;for(;e.length&&(l=e[0][0],!(l!=="space"&&l!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let u=e.length-1;u>=0;u--){if(o=e[u],o[1].toLowerCase()==="!important"){i.important=!0;let c=this.stringFrom(e,u);c=this.spacesFromEnd(e)+c,c!==" !important"&&(i.raws.important=c);break}else if(o[1].toLowerCase()==="important"){let c=e.slice(0),m="";for(let f=u;f>0;f--){let x=c[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=c.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=c)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(u=>u[0]!=="space"&&u[0]!=="comment")&&(i.raws.between+=s.map(u=>u[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 Ir;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=[],l=e[1].startsWith("--"),a=[],u=e;for(;u;){if(i=u[0],a.push(u),i==="("||i==="[")o||(o=u),s.push(i==="("?")":"]");else if(l&&r&&i==="{")o||(o=u),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);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));u=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!l)for(;a.length&&(u=a[a.length-1][0],!(u!=="space"&&u!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}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,l=i.length,a="",u=!0,c,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?u=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",c=i[f+1]?i[f+1][0]:"empty",!Or[m]&&!Or[c]?a.slice(-1)===","?u=!1:a+=o[1]:u=!1):a+=o[1];if(!u){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 Ir;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})}};Pr.exports=Wn});var Zt=Z((Ic,Hr)=>{"use strict";var pa=He(),ha=Ct(),xa=Wr();function Yt(t,e){let n=new ha(t,e),i=new xa(n);try{i.parse()}catch(r){throw r}return i.root}Hr.exports=Yt;Yt.default=Yt;pa.registerParse(Yt)});var Hn=Z((Oc,qr)=>{"use strict";var Tt=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}};qr.exports=Tt;Tt.default=Tt});var Xt=Z((Pc,Ur)=>{"use strict";var ga=Hn(),_t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new ga(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Ur.exports=_t;_t.default=_t});var qn=Z((Wc,Vr)=>{"use strict";var zr={};Vr.exports=function(e){zr[e]||(zr[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Vn=Z((qc,Jr)=>{"use strict";var ya=He(),Sa=Ut(),ba=Pn(),Aa=Zt(),jr=Xt(),Ea=nt(),Fa=gt(),{isClean:Be,my:wa}=Ht(),Hc=qn(),Na={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},Ca={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},Ma={Once:!0,postcssPlugin:!0,prepare:!0},rt=0;function vt(t){return typeof t=="object"&&typeof t.then=="function"}function Gr(t){let e=!1,n=Na[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,rt,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,rt,n+"Exit"]:[n,n+"Exit"]}function $r(t){let e;return t.type==="document"?e=["Document",rt,"DocumentExit"]:t.type==="root"?e=["Root",rt,"RootExit"]:e=Gr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Un(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Un(e)),t}var zn={},Ue=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=Un(n);else if(n instanceof t||n instanceof jr)r=Un(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=Aa;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[wa]&&ya.rebuild(r)}this.result=new jr(e,r,i),this.helpers={...zn,postcss:zn,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(!Ca[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ma[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(vt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[$r(e)];for(;n.length>0;){let i=this.visitTick(n);if(vt(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 vt(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=Fa;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,l=>{s+=l}),this.result.css=s,this.result}let o=new ba(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(vt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(vt(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,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Be]){l[Be]=!0,e.push($r(l));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===rt){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=Gr(e);for(let i of n)if(i===rt)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ue.registerPostcss=t=>{zn=t};Jr.exports=Ue;Ue.default=Ue;Ea.registerLazyResult(Ue);Sa.registerLazyResult(Ue)});var Qr=Z((zc,Kr)=>{"use strict";var ka=Pn(),Ta=Zt(),_a=Xt(),va=gt(),Uc=qn(),Rt=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=Ta;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=va;this.result=new _a(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 ka(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),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[]}};Kr.exports=Rt;Rt.default=Rt});var Zr=Z((Vc,Yr)=>{"use strict";var Ra=Ut(),Da=Vn(),La=Qr(),Ba=nt(),Ye=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 La(this,e,n):new Da(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Yr.exports=Ye;Ye.default=Ye;Ba.registerProcessor(Ye);Ra.registerProcessor(Ye)});var so=Z((jc,oo)=>{"use strict";var Xr=qt(),eo=Et(),Ia=He(),Oa=Wt(),to=wt(),no=Ut(),Pa=Cr(),Wa=Ct(),Ha=Vn(),qa=In(),Ua=bt(),za=Zt(),jn=Zr(),Va=Xt(),io=nt(),ro=$t(),ja=gt(),$a=Hn();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new jn(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 l=n(...s);return l.postcssPlugin=e,l.postcssVersion=new jn().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return re([r(a)]).process(s,l)},r};re.stringify=ja;re.parse=za;re.fromJSON=Pa;re.list=qa;re.comment=t=>new eo(t);re.atRule=t=>new Xr(t);re.decl=t=>new to(t);re.rule=t=>new ro(t);re.root=t=>new io(t);re.document=t=>new no(t);re.CssSyntaxError=Oa;re.Declaration=to;re.Container=Ia;re.Processor=jn;re.Document=no;re.Comment=eo;re.Warning=$a;re.AtRule=Xr;re.Result=Va;re.Input=Wa;re.Rule=ro;re.Root=io;re.Node=Ua;Ha.registerPostcss(re);oo.exports=re;re.default=re});function T(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){T("bridge.postMessage",e)}}function mi(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&&ss(o,s)}};return window.addEventListener("message",e),e}function ss(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){T("bridge.flashElements.querySelector",i)}}var hn=null;function pi(t){hn=t}function ut(t,e){if(hn)try{hn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){T("runtime.analytics.site1",n)}}function hi(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=(l,a)=>{for(let u of l){try{u.currentTime=a}catch(c){T("runtime.adapters.css.site1",c)}try{u.pause()}catch(c){T("runtime.adapters.css.site2",c)}}},r=l=>{for(let a of l)try{a.play()}catch(u){T("runtime.adapters.css.site3",u)}},o=l=>{for(let a of l)try{a.pause()}catch(u){T("runtime.adapters.css.site4",u)}},s=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let a of l){if(!(a instanceof HTMLElement))continue;let u=window.getComputedStyle(a);!u.animationName||u.animationName==="none"||e.push({el:a,baseDelay:a.style.animationDelay||"",basePlayState:a.style.animationPlayState||""})}},seek:l=>{let a=Number(l.time)||0;for(let u of e){if(!u.el.isConnected)continue;let c=t?.resolveStartSeconds?t.resolveStartSeconds(u.el):Number.parseFloat(u.el.getAttribute("data-start")??"0")||0,m=Math.max(0,a-c)*1e3,f=n(u.el);if(f.length>0){i(f,m);continue}u.el.style.animationPlayState="paused",u.el.style.animationDelay=`-${(m/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let a=n(l.el);a.length>0&&o(a),s(l)}},play:()=>{for(let l of e)l.el.isConnected&&(s(l),r(n(l.el)))},revert:()=>{e=[]}}}function xi(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 gi(){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){T("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){T("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){T("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){T("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function bi(){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){T("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(yi(i))i.goToAndStop(e*1e3,!1);else if(Si(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){T("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(yi(e)||Si(e))&&e.pause()}catch(n){T("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function yi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Si(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Ai=-1;function Ot(t){if(t!==Ai){Ai=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){T("runtime.adapters.seek-dispatch.site1",e)}}}function Ei(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Ot(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Fi(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Ot(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function wi(){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 Ni(){let t=!1,e=0,n=new WeakMap,i=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},r=l=>{let a=Number(l.currentTime);return Number.isFinite(a)&&a>0?a:0},o=(l,a)=>a<=0?l:l>=a?Math.max(0,l-a):l,s=(l,a)=>{let u=n.get(l);if(u)return u;let c={compositionTimeMs:a,animationTimeMs:t?o(r(l),a):r(l)};return n.set(l,c),c};return{name:"waapi",discover:()=>{t=!0;for(let l of i())s(l,e)},seek:l=>{let a=Math.max(0,(Number(l.time)||0)*1e3);e=a;for(let u of i()){let c=t?s(u,a):s(u,0),m=c.animationTimeMs+Math.max(0,a-c.compositionTimeMs);try{u.currentTime=m}catch(f){T("runtime.adapters.waapi.site1",f)}try{u.pause()}catch(f){T("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){T("runtime.adapters.waapi.site3",a)}}}}function Ci(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 l=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,u=s.defaultPlaybackRate,c=Number.isFinite(u)&&u>0?Math.max(.1,Math.min(5,u)):1,m=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)/c));let F=Number.isFinite(x)&&x>0?l+x:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),b={el:s,start:l,mediaStart:a,duration:Number.isFinite(x)&&x>0?x:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:c,loop:m,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 xn=new WeakMap,ct=new WeakMap,gn=new WeakSet,Ze=new WeakSet;function as(t){if(Ze.has(t))return;Ze.add(t);let e=()=>Ze.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var yn=new WeakMap;function Pt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function Mi(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 w=n.sourceDuration-n.mediaStart;w>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%w)}let s=Pt(t.userVolume??1),l=Pt(n.volume??1),a=yn.get(i),u=Pt(i.volume),c=a!==void 0&&Math.abs(u-a)>1e-4?u:l,m=Pt(c*s);i.volume=m,yn.set(i,m),t.onElementVolume?.(i,m),e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(w){T("runtime.media.site1",w)}let f=.04,x=2,F=i.currentTime||0,E=Math.abs(F-r),b=r-F,I=xn.get(i);xn.set(i,b);let L=I===void 0,v=!L&&Math.abs(b-I)>.5,X=E>3,q=E>.5&&(L||v||X),C=i.tagName==="VIDEO"&&!i.paused,g=I!==void 0&&Math.abs(b-I)<.004,A=!1;if(!C&&!q&&!L&&g&&E>f){let w=(ct.get(i)??0)+1;ct.set(i,w),w>=x&&(A=!0,ct.set(i,0))}else E<=f&&ct.set(i,0);let N=!C&&t.forceSync&&E>.02;if(q||A||N){try{i.currentTime=r}catch(w){T("runtime.media.site2",w)}if(Math.abs(i.currentTime-r)>.5&&!gn.has(i)){gn.add(i),i.load();try{i.currentTime=r}catch(w){T("runtime.media.site3",w)}}Ze.delete(i)}t.playing&&i.paused&&!Ze.has(i)?(as(i),i.play().catch(w=>{Ze.delete(i),(w&&typeof w=="object"&&"name"in w?String(w.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}xn.delete(i),ct.delete(i),gn.delete(i),yn.delete(i),i.paused||i.pause()}}var ls=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),us=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function ki(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(N){T("runtime.picker.site1",N)}}function l(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 u(g){let A=g.ownerDocument.defaultView;if(!A)return!1;let N=g;for(;N&&N!==document.body&&N!==document.documentElement;){let w=A.getComputedStyle(N);if(w.display==="none"||w.visibility==="hidden"||w.pointerEvents==="none")return!0;let M=Number.parseFloat(w.opacity);if(Number.isFinite(M)&&M<=.01)return!0;N=N.parentElement}return!1}function c(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(ls)||u(g))}function m(g){return!!g?.closest(us)}function f(g){let A=g;if(A.id)return`#${A.id}`;let N=g.getAttribute("data-composition-id");if(N)return`[data-composition-id="${N}"]`;let w=g.getAttribute("data-composition-src");if(w)return`[data-composition-src="${w}"]`;let M=g.getAttribute("data-track-index");if(M)return`[data-track-index="${M}"]`;let D=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return D;let K=P.querySelectorAll(`:scope > ${D}`);if(K.length===1)return D;for(let R=0;R<K.length;R+=1)if(K[R]===g)return`${D}:nth-of-type(${R+1})`;return D}function x(g){let A=g.tagName.toLowerCase(),N=(g.textContent??"").trim().replace(/\\s+/g," "),w=(M,D)=>M.length>D?`${M.slice(0,D-1)}\\u2026`:M;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?N.length>0?w(N,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,N){let w=typeof N=="number"&&N>0?N:8,M=[];if(document.elementsFromPoint)M=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let K=document.elementFromPoint(g,A);M=K?[K]:[]}if(m(M[0]??null))return[];let D={},P=[];for(let K=0;K<M.length;K+=1){let R=M[K];if(!c(R))continue;let le=`${R.tagName}::${R.id||""}::${K}`;if(!D[le]&&(D[le]=!0,P.push(R),P.length>=w))break}return P}function E(g){let A=g.getBoundingClientRect(),N={};for(let M=0;M<g.attributes.length;M+=1){let D=g.attributes[M];D.name.startsWith("data-")&&(N[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:N}}function b(g,A,N){return F(g,A,N).map(E)}function I(g){if(!e)return;let N=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!c(N)||n===N)return;n&&n.classList.remove("__hf-pick-highlight"),n=N,N.classList.add("__hf-pick-highlight");let w=E(N);l(w),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:w})}function L(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=b(g.clientX,g.clientY,8);A.length!==0&&(l(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function v(g){g.key==="Escape"&&(q(),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",I,!0),document.addEventListener("click",L,!0),document.addEventListener("keydown",v,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function q(){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",I,!0),document.removeEventListener("click",L,!0),document.removeEventListener("keydown",v,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function C(){window.__HF_PICKER_API={enable:X,disable:q,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,N)=>Number.isFinite(g)&&Number.isFinite(A)?b(g,A,N):[],pickAtPoint:(g,A,N)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let w=b(g,A,8);if(!w.length)return null;let M=Math.max(0,Math.min(w.length-1,Number(N??0))),D=w[M]??null;return D?(a(D),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:D}),q(),D):null},pickManyAtPoint:(g,A,N)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let w=b(g,A,8);if(!w.length)return[];let M=[],D=Array.isArray(N)?N:[0];for(let P of D){let K=Math.max(0,Math.min(w.length-1,Math.floor(Number(P)))),R=w[K];if(!R)continue;M.some(be=>be.selector===R.selector&&be.tagName===R.tagName)||M.push(R)}return M.length?(a(M[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:M}),q(),M):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:q,installPickerApi:C}}function Xe(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 dt(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&T("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function _e(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&T("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function ft(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){T("runtime.player.site1",r)}}}function Ti(t,e,n){let i=Xe(e,n);return _e(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function cs(t,e,n,i){let r=[];ft(t,e,o=>{_e(o,"play"),r.push(o)});try{return Ti(e,n,i)}finally{for(let o of r)try{_e(o,"pause")}catch(s){T("runtime.player.site2",s)}}}function ds(t,e){ft(t,e,n=>{_e(n,"play")})}function _i(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??dt(e,"duration",0))||0);n>0&&Math.max(0,dt(e,"time",0))>=n&&(_e(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),_e(e,"play"),ft(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),_e(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;_e(e,"pause"),ft(t.getTimelineRegistry?.(),e,i=>{_e(i,"pause")});let n=Math.max(0,dt(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=cs(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),_e(i,"play"),ft(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),_e(l,"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?(ds(t.getTimelineRegistry?.(),n),Ti(n,e,i)):Xe(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>dt(t.getTimeline(),"time",0),getDuration:()=>dt(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function vi(){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,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var fs="data-hf-authored-duration",ms="data-hf-authored-end";function Je(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ps(t){return Je(t.getAttribute("data-duration"))}function hs(t){return Je(t.getAttribute("data-end"))}function xs(t){return Je(t.getAttribute(fs))}function gs(t){return Je(t.getAttribute(ms))}function ys(t){let e=(t??"").trim();if(!e)return null;let n=Je(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",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,u=o==="-"?-a:a;return{kind:"reference",refId:r,offset:u}}function Ke(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=c=>{let m=document.getElementById(c);return m||(document.querySelector(`[data-composition-id="${CSS.escape(c)}"]`)??null)},l=c=>{let m=r.get(c);if(m!==void 0)return m;let f=null,x=ps(c)??(n?xs(c):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let F=hs(c)??(n?gs(c):null);if(F!=null){let E=u(c,0),b=F-E;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&c instanceof HTMLMediaElement){let F=Je(c.getAttribute("data-playback-start"))??Je(c.getAttribute("data-media-start"))??0;Number.isFinite(c.duration)&&c.duration>F&&(f=c.duration-F)}if(f==null||f<=0){let F=c.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){T("runtime.startResolver.site1",b)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(c,f),f):(r.set(c,null),null)},a=(c,m)=>{if(c.hasAttribute("data-composition-id")){let x=c.parentElement?.closest("[data-composition-id]");return x?u(x,m):0}let f=c.closest("[data-composition-id]");return f?u(f,m):0},u=(c,m)=>{let f=i.get(c);if(f!==void 0)return f??m;if(o.has(c))return m;o.add(c);try{let x=ys(c.getAttribute("data-start"));if(!x){if(c.hasAttribute("data-composition-id")){let L=c.parentElement;if(L&&(L.hasAttribute("data-composition-src")||L.hasAttribute("data-composition-id"))){let v=u(L,m);return i.set(c,v),v}}return i.set(c,m),m}if(x.kind==="absolute"){let L=Math.max(0,x.value),v=Math.max(0,a(c,m)+L);return i.set(c,v),v}let F=s(x.refId);if(!F)return i.set(c,m),m;let E=u(F,0),b=l(F);if(b==null||b<=0){let L=Math.max(0,E+x.offset);return i.set(c,L),L}let I=Math.max(0,E+b+x.offset);return i.set(c,I),I}finally{o.delete(c)}};return{resolveStartForElement:(c,m=0)=>u(c,Math.max(0,m)),resolveDurationForElement:c=>l(c)}}var Ss="data-hf-authored-duration",bs="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Sn(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(Ss))}function Ri(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(bs))}function bn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Di={composition:0,video:1,image:2,element:3,audio:4};function As(t){if(t.length===0)return;let e=new Map;for(let s of t){let l=e.get(s.track)??new Set;l.add(s.kind),e.set(s.track,l)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,l)=>s-l);for(let s of o){let l=e.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((u,c)=>(Di[u]??99)-(Di[c]??99));for(let u of a)r.set(`${s}:${u}`,i++)}}for(let s of t){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function pt(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 Li(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return pt(e);let n=t.getAttribute("data-composition-src");if(n)return pt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?pt(i.getAttribute("src")):null}function Es(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 Fs(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 ws(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function mt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function Ns(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 mt(r);let o=t.id;if(o)return mt(o);let s=Es(t);if(s)return mt(s);let l=Fs(Li(t));if(l)return mt(l);let a=ws(t);return a||`${mt(e)} ${n+1}`}function Bi(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 ne=O.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ne))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ne)+ee))}return k>0?k:null},l=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ne=null,ee=null,z=null,U=H.parentElement;for(;U;){let j=U.getAttribute("data-composition-id");j&&(O.push(j),!z&&U!==k&&(z=j),ne==null&&(ne=i.resolveStartForElement(U,0)),ee==null&&(ee=we(U.getAttribute("data-duration"))??r(j)??null)),U=U.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ne,inheritedDuration:ee}},u=document.querySelector("[data-composition-id]"),c=Array.from(document.querySelectorAll("[data-composition-id]")),m=u?.getAttribute("data-composition-id")??null,f=u?i.resolveStartForElement(u,0):0,x=s(),F=x!=null?Math.max(0,x-Math.max(0,f)):null,E=r(m),b=Sn(u??document.body),I=bn(...c.filter(H=>H!==u).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})),L=I!=null?Math.max(0,I-Math.max(0,f)):null,v=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof b=="number"&&Number.isFinite(b)&&b>0?b:null,q=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,C=typeof L=="number"&&Number.isFinite(L)&&L>0?L:null,g=bn(q,C),A=v!=null&&g!=null&&v>g+1,w=X??(A?g:bn(v,q,C))??null,D=(w!=null?f+w: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)),K=[],R=[],le=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),be=0;for(let H=0;H<le.length;H+=1){let k=le[H];if(k===u||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(k.tagName))continue;let O=a(k,u),ne=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=Sn(k);if((z==null||z<=0)&&ee&&ee!==m&&(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-ne)}}if(z==null||z<=0||(z=P(ne,z),z<=0))continue;let U=ne+z;be=Math.max(be,U);let j=k.tagName.toLowerCase(),De=ee&&ee!==m?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";K.push({id:k.id||ee||null,label:Ns(k,De,K.length),start:ne,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:De,tagName:j,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:pt(k.getAttribute("data-composition-src")),assetUrl:Li(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 $=new Set(K.map(H=>H.id)),V=u?.getAttribute("data-composition-id")??null,W=V?n[V]??null:null;if(W&&u){let H=W;if(typeof H.getChildren=="function")try{let k=H.getChildren(!0,!0,!1)??[],O=new Map;for(let z of u.children){let U=z;if(!U.id)continue;let j=U.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||O.set(U,{id:U.id,start:1/0,end:-1/0})}let ne=z=>{let U=z;for(;U;){if(O.has(U))return U;if(U===u)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(),j=z.parent;for(;j&&j!==W&&typeof j.startTime=="function";)U+=j.startTime(),j=j.parent;let De=U+z.duration();if(!(!Number.isFinite(U)||!Number.isFinite(De)))for(let Ee of z.targets()){if(!(Ee instanceof Element))continue;let Me=ne(Ee);if(!Me)continue;let ce=O.get(Me);ce&&(ce.start=Math.min(ce.start,U),ce.end=Math.max(ce.end,De))}}let ee=K.length>0?Math.max(...K.map(z=>z.track))+1:0;for(let[z,U]of O){if(U.start===1/0||U.end===-1/0)continue;let j=z;if($.has(j.id))continue;let De=Math.max(0,U.end-U.start);if(De<=0)continue;let Ee=P(U.start,De);Ee<=0||(be=Math.max(be,U.start+Ee),K.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:U.start,duration:Ee,track:Number.parseInt(j.getAttribute("data-track-index")??j.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:we(j.getAttribute("data-timeline-priority"))}),$.add(j.id))}}catch(k){T("runtime.timeline.site1",k)}}if(u&&w!=null&&w>0){let H=K.length>0?Math.max(...K.map(k=>k.track))+1:0;for(let k of u.children){let O=k;if(!O.id||$.has(O.id))continue;let ne=O.getAttribute("data-timeline-role");if(ne!=="overlay"&&ne!=="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,w);U<=0||(be=Math.max(be,U),K.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:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ne,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:we(O.getAttribute("data-timeline-priority"))}),$.add(O.id))}}As(K);for(let H of c){if(H===u)continue;let k=H.getAttribute("data-composition-id");if(!k||!l(k))continue;let O=i.resolveStartForElement(H,0),ne=Sn(H);if((ne==null||ne<=0)&&Ri(H)!=null){let j=Ri(H);ne=Math.max(0,j-O)}let ee=r(k),z=ne&&ne>0?ne: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:pt(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Y=Math.max(1,be||1,w??0);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:K,scenes:R,compositionWidth:we(u?.getAttribute("data-width"))??1920,compositionHeight:we(u?.getAttribute("data-height"))??1080}}var ae=os(so(),1),ao=ae.default,$c=ae.default.stringify,Gc=ae.default.fromJSON,Jc=ae.default.plugin,Kc=ae.default.parse,Qc=ae.default.list,Yc=ae.default.document,Zc=ae.default.comment,Xc=ae.default.atRule,ed=ae.default.rule,td=ae.default.decl,nd=ae.default.root,id=ae.default.CssSyntaxError,rd=ae.default.Declaration,od=ae.default.Container,sd=ae.default.Processor,ad=ae.default.Document,ld=ae.default.Comment,ud=ae.default.Warning,cd=ae.default.AtRule,dd=ae.default.Result,fd=ae.default.Input,md=ae.default.Rule,pd=ae.default.Root,hd=ae.default.Node;var $n="data-hf-authored-id";function Gn(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Jn(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Ga(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function lo(t){let e=t.trim();return e?Array.from(new Set([e,Ga(e)])).filter(Boolean):[]}function Ja(t){return!!t&&/[\\w-]/.test(t)}function Ka(t,e,n){let i=lo(e).sort((l,a)=>a.length-l.length);if(i.length===0)return t;let r="",o=0,s=null;for(let l=0;l<t.length;l+=1){let a=t[l],u=l>0?t[l-1]:"";if(s){r+=a,a===s&&u!=="\\\\"&&(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 c=i.find(m=>t.startsWith(m,l+1));if(c){let m=t[l+1+c.length];if(!Ja(m)){r+=n,l+=c.length;continue}}}r+=a}return r}function Qa(t,e){let n=e?.trim();return n?Ka(t,n,`[${$n}="${Jn(n)}"]`):t}function Ya(t,e,n,i,r){let o=Qa(t,i),s=Za(o,e,n),l=s.trim();if(!l||/^(html|body|:root|\\*)$/i.test(l))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Gn(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(l))return s.replace(a,e);let u=s.match(/^\\s*/)?.[0]??"",c=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${$n}="${Jn(i)}"]`:null;if(m&&l.startsWith(m)){let f=l.slice(m.length);return`${u}${e}${m}${f}${c}`}}return`${u}${e} ${l}${c}`}function Za(t,e,n){let i=Gn(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 Xa=new Set(["keyframes","-webkit-keyframes","font-face"]);function el(t){return t?.type==="atrule"}function tl(t){let e=t.parent;for(;e;){if(el(e)&&Xa.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Kn(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Jn(o)}"]`,l=ao.parse(t);return l.walkRules(a=>{tl(a)||(a.selectors=a.selectors.map(u=>Ya(u,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function uo(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),l=JSON.stringify(r),a=JSON.stringify(n),u=Gn(e),c=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${u}"|\'${u}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),F=JSON.stringify(lo(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${c};\n var __hfAuthoredRootAttr = ${JSON.stringify($n)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${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 return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function co(){if(typeof document>"u")return{};let t=Qn(document.documentElement),e=nl();return{...t,...e}}function Qn(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 nl(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var il=8e3,rl=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function ol(t,e){return`${t}__hf${e}`}var sl=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"),il)});function Yn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var al=["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 ll(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of al)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function fo(t,e){let n=t.trim();if(!n)return t;try{return rl.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function ul(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 en(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 cl(t){let e=new Map;for(let n of t){let i=en(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function mo(t){let e=en(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function dl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function fl(t){return t.hasAttribute("data-composition-src")?!0:mo(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:dl(t):!1}function Xn(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:mo(e))}function po(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Xn().map(n=>en(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function ho(t,e=cl(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=en(r),l=fl(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,u=s||o;if(l){let c=a?(n.get(o)||0)+1:0;a&&n.set(o,c),u=a?ol(o,c):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",u),s&&s!==u&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:u})}return i}async function Zn(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Kn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let l=Array.from(n.querySelectorAll("style"));for(let f of l){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Kn(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=fo(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 u=Array.from(n.querySelectorAll("script")),c=[...a];for(let f of u){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=fo(F,t.compositionUrl);c.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&c.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),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),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(ll(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...ul(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 c){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=uo(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 sl(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 xo(t){let e=Xn();if(po(),e.length===0)return;let n=ho(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 l=document.querySelector(`template#${CSS.escape(s)}-template`);Yn(r),await Zn({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function go(t){let e=Xn();if(po(),e.length===0)return;let n=ho(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),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,u=null;try{u=new URL(o,document.baseURI)}catch{u=null}Yn(r);try{let c=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(c){await Zn({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:u,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(l?F.querySelector(`template#${CSS.escape(l)}-template`):null)??F.querySelector("template"),b=E?E.content:F.body,I=E?void 0:Array.from(F.head.querySelectorAll("style")),L=E?void 0:Array.from(F.head.querySelectorAll("script")),v=E?void 0:Array.from(F.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Zn({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:u,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:I,headScripts:L,headLinks:v,declaredVariableDefaults:Qn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(c){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:c instanceof Error?c.message:"unknown_error"}}),Yn(r)}}))}function ml(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function pl(){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 hl(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 ei(){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=pl();for(let i of e){let r=null;if(i.wordId&&(r=ml(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(c=>c.vars.color!==void 0).sort((c,m)=>c.startTime()-m.startTime()),u=a.length>0?String(a[0].vars.color):"";for(let c of a)String(c.vars.color)===u?i.dimColor&&(c.vars.color=i.dimColor):i.activeColor&&(c.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 l=hl(r);t.set(l,o)}}}).catch(()=>{})}var tn=class{constructor(e){Se(this,"_baseTime",0);Se(this,"_playStartMs",null);Se(this,"_rate",1);Se(this,"_duration",1/0);Se(this,"_nowMs");Se(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 yo(t){return!Number.isFinite(t)||t<=0?1:t}var nn=class{constructor(){Se(this,"_ctx",null);Se(this,"_bufferCache",new Map);Se(this,"_failedSrcs",new Set);Se(this,"_activeSources",[]);Se(this,"_masterGain",null);Se(this,"_rateAnchorCtx",0);Se(this,"_rateAnchorComp",0);Se(this,"_rate",1);Se(this,"_paused",!0);Se(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;try{let i=await fetch(n);if(!i.ok)return this._failedSrcs.add(n),T("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;let r=await i.arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return this._failedSrcs.add(n),T("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let u=yo(a),c=this._ctx.createBufferSource();c.buffer=n,c.playbackRate.value=u;let m=this._ctx.createGain();m.gain.value=s,c.connect(m),m.connect(this._masterGain);let f=o-i,x=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=x,this._rateAnchorComp=o,f>=0)c.start(0,f+r);else{let b=-f/u;c.start(x+b,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:c,gainNode:m,compositionStart:i,mediaStart:r,scheduledAt:x,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(u){return T("webAudioTransport.schedule",u),null}}setRate(e){let n=yo(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){T("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)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){T("webAudioTransport.setElementVolume",o)}}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 So="data-hf-authored-duration",bo="data-hf-authored-end";function Ao(){let t=vi(),e=null,n=null,i=[],r=new Set,o=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){T("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 s=d=>{i.push(d)},l=(d,p,h)=>{let S=h??`${d}:${JSON.stringify(p)}`;r.has(S)||(r.add(S),Fe({source:"hf-preview",type:"diagnostic",code:d,details:p}))},a=d=>{let p={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:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>S,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},u=1/60,c=.75,m=2,f=.05,x=100,F=240,E=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},b=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},I=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},L=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.length===0?null:p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null},v=()=>{let d=L();if(!d)return;let p=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},X=()=>{let d=L(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let S=h.getAttribute("data-duration"),y=h.getAttribute("data-end");S!=null&&!h.hasAttribute(So)&&h.setAttribute(So,S),y!=null&&!h.hasAttribute(bo)&&h.setAttribute(bo,y),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},q=()=>{let d=L();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=I(d.getAttribute("data-width")),h=I(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let S=Array.from(d.children);for(let y of S){let _=y.tagName.toLowerCase();if(_==="script"||_==="style"||_==="link"||_==="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%",G=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&G&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Ge=y.style.top,me=y.style.left,lt=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=Ge,y.style.left=me,y.style.width=lt,y.style.height=oe)}let ie=window.getComputedStyle(y),ge=ie.position;if(ge!=="absolute"&&ge!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ie.top!=="auto"||ie.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ie.left!=="auto"||ie.right!=="auto"||(y.style.left="0"),_!=="audio"){let Ge=I(y.getAttribute("data-width")),me=I(y.getAttribute("data-height")),lt=ie.width!=="0px"&&ie.width!=="auto",oe=ie.height!=="0px"&&ie.height!=="auto";Ge?!y.style.width&&!lt&&(y.style.width=Ge):!y.style.width&&ie.width==="0px"&&(y.style.width="100%"),me?!y.style.height&&!oe&&(y.style.height=me):!y.style.height&&ie.height==="0px"&&(y.style.height="100%")}}},C=(d,p=0,h)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),g=(d,p)=>Ke({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),A=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0):C(d,p),N=!!document.querySelector("[data-composition-src]"),w=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){w=!0;break}}}let M=!N&&!w,D=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>u,K=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),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 p=0;for(let h of d){let S=A(h,0);if(!Number.isFinite(S))continue;let y=K(h);y==null||y<=u||(p=Math.max(p,Math.max(0,S)+y))}return p>u?p:null},le=()=>{let d=L();if(!d)return null;let p=window.__timelines??{},h=Ke({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),S=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let _ of y){if(!(_ instanceof Element)||_.parentElement?.closest("[data-composition-id]")!==d)continue;let G=h.resolveStartForElement(_,0),ie=h.resolveDurationForElement(_);!Number.isFinite(G)||ie==null||ie<=0||(S=Math.max(S,Math.max(0,G)+ie))}return S>u?S:null},be=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=u?null:d},$=d=>P(d)?Math.max(u,d*c):u,V=(d,p=0)=>{let h=D(d),S=be(),y=le(),_=Math.max(S??0,y??0),te=Number.isFinite(p)&&p>u?p:0,G=0;return P(h)?G=Math.max(h,_,te):P(_)?G=Math.max(_,te):G=te,G>0?Math.max(0,G):0},W=()=>{let d=window.__timelines??{},p=Ke({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=be(),S=le(),y=Math.max(h??0,S??0)||null,_=$(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?p.resolveStartForElement(Q,0):0},G=oe=>{let Q=window.gsap;if(!Q||typeof Q.timeline!="function")return null;let ue=Q.timeline({paused:!0});for(let xe of oe)ue.add(xe.timeline,te(xe.compositionId));return ue},ie=(oe,Q)=>{if(!P(oe))return null;let ue=window.gsap;if(!ue||typeof ue.timeline!="function")return null;let xe=ue.timeline({paused:!0});if(Q)try{xe.add(Q,0)}catch(se){T("runtime.init.site2",se)}let Ae=xe;if(typeof Ae.to=="function")try{Ae.to({},{duration:oe})}catch(se){T("runtime.init.site3",se)}return xe},ge=(oe,Q)=>{let ue=oe;if(typeof ue.getChildren!="function")return[];try{let xe=ue.getChildren(!0,!0,!0)??[];if(!Array.isArray(xe))return[];let Ae=[];for(let se of Q)if(!xe.some(Te=>Te===se.timeline))try{let Te=te(se.compositionId);oe.add(se.timeline,Te),Ae.push(se.compositionId)}catch(Te){T("runtime.init.site4",Te)}return Ae}catch{return[]}},Ie=L(),fe=Ie?.getAttribute("data-composition-id")??null;if(!fe)return{timeline:null};let ye=d[fe]??null,me=(()=>{if(!Ie)return[];let oe=new Set,Q=Array.from(Ie.querySelectorAll("[data-composition-id]")),ue=[];for(let xe of Q){let Ae=xe.getAttribute("data-composition-id");if(!Ae||Ae===fe||oe.has(Ae))continue;oe.add(Ae);let se=d[Ae]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ce=D(se);ue.push({compositionId:Ae,timeline:se,durationSeconds:Ce??0})}return ue})(),lt=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(xe){T("runtime.init.site5",xe)}}};if(me.length>0&&lt(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(Yo=>Yo.compositionId),Ce=G(me),Te=D(Ce);if(Ce&&P(Te))return{timeline:Ce,selectedTimelineIds:se,selectedDurationSeconds:Te,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:_,selectedDurationSeconds:Te,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:se,autoNestedChildren:oe}}};let fn=ie(y??0,ye),mn=D(fn);if(fn&&P(mn))return{timeline:fn,selectedTimelineIds:[fe],selectedDurationSeconds:mn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:fe,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:mn,selectedTimelineIds:[fe],autoNestedChildren:oe}}}}if(!P(Q)&&me.length===0){let se=ie(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=Ie?.getAttribute("data-duration"),xe=ue?parseFloat(ue):null,Ae=Math.max(P(xe)?xe:0,S??0);if(Ae>0&&P(Ae)&&P(Q)&&Ae>=Q+.5){let se=ye;if(typeof se.to=="function")try{se.to({},{duration:0},Ae)}catch(Te){T("runtime.init.site6",Te)}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:xe,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(xe=>xe.compositionId),Q=G(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:_,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,pe=()=>{if(!M)return!1;let d=t.capturedTimeline,p=D(d),h=P(p);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=V(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=L();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),_=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,te=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!_||!te||l("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:S,rectWidth:Math.round(p.width),rectHeight:Math.round(p.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||(o!=null&&window.cancelAnimationFrame(o),o=window.requestAnimationFrame(()=>{o=null,Ne()}))},k=()=>{e=d=>{let p=E(d.error??d.message).slice(0,F);if(!p)return;let h=b(p);Fe({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},n=d=>{let p=E(d.reason).slice(0,F);if(!p)return;let h=b(p);Fe({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",e),window.addEventListener("unhandledrejection",n)},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(),_=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";l(te,{tagName:y,assetUrl:_,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}:${_??"unknown"}`)};h.addEventListener("error",S),s(()=>{h.removeEventListener("error",S)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(S=>S.status==="error").map(S=>S.family).filter(S=>!!S).slice(0,10);h.length!==0&&l("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},ne=(d,p)=>{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(_){T("runtime.init.site7",_)}return Fe({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:S,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,U=new Set,j=()=>{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+f)&&ne(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))},x))},De=()=>{for(let d of U)d.removeEventListener("loadedmetadata",j),d.removeEventListener("durationchange",j);U.clear()},Ee=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(U.has(p))continue;U.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",j),p.addEventListener("durationchange",j),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load()}},Me=()=>{let d=y=>{let _=y.closest("[data-composition-id]"),te=_?C(_,0):null,G=_?g(_,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:_,inheritedStart:te,inheritedDuration:G}},p=Ci({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let _=d(y);return A(y,_.inheritedStart??0)},resolveDurationSeconds:y=>{let _=d(y),te=A(y,_.inheritedStart??0),G=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ie=_.inheritedStart!=null&&_.inheritedDuration!=null&&_.inheritedDuration>0?Math.max(0,_.inheritedStart+_.inheritedDuration-te):null,ge=Number.isFinite(y.duration)&&y.duration>G?Math.max(0,y.duration-G):null;return ge!=null&&ie!=null?Math.min(ge,ie):ge??ie}}),h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),Mi({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||he.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(y,_)=>he.setElementVolume(y,_),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 _=y.tagName.toLowerCase();if(_==="script"||_==="style"||_==="link"||_==="meta")continue;let te=_==="video"||_==="audio"?A(y,0):C(y,0),G=g(y),ie=y.getAttribute("data-composition-id");if(ie){let fe=(window.__timelines??{})[ie],ye=null;if(fe&&typeof fe.duration=="function"){let me=Number(fe.duration());Number.isFinite(me)&&me>0&&(ye=me)}let Ge=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");G!=null&&G>0&&ye!=null&&!Ge?G=Math.min(G,ye):(G==null||G<=0)&&ye!=null&&(G=ye)}let ge=G!=null&&G>0?te+G:Number.POSITIVE_INFINITY,Ie=t.currentTime>=te&&(Number.isFinite(ge)?t.currentTime<ge:!0);y.style.visibility=Ie?"visible":"hidden"}},ce=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Fe({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},je=()=>{X(),v(),q();let d=L();if(d){let h=I(d.getAttribute("data-width")),S=I(d.getAttribute("data-height")),y=h?parseInt(h,10):0,_=S?parseInt(S,10):0;y>0&&_>0&&Fe({source:"hf-preview",type:"stage-size",width:y,height:_})}pe();let p=Bi({canonicalFps:t.canonicalFps});window.__clipManifest=p,Fe(p),H()},Le=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){T("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:p})}catch(S){T("runtime.init.site9",S)}}};if(M)ei();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:I,onDiagnostic:({code:p,details:h})=>{Fe({source:"hf-preview",type:"diagnostic",code:p,details:h})}};go(d).then(()=>xo(d)).finally(()=>{M=!0,pe(),window.__renderReady=!0,Ee(),Le("discover",t.currentTime),O(),ei(),je(),ce(!0)})}let Bt=ki({postMessage:d=>Fe(d)});Bt.installPickerApi();let un=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let S of h)if(S instanceof HTMLMediaElement)try{S.playbackRate=t.playbackRate}catch(y){T("runtime.init.site10",y)}},de=_i({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:un,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Me()},onStatePost:ce,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){T("runtime.init.site11",h)}},onDeterministicPause:()=>Le("pause"),onDeterministicPlay:()=>Le("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>V(t.capturedTimeline,0)});window.__player=a(de),window.__playerReady=!0,pi(Fe),ut("composition_loaded",{duration:de.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=mi({onPlay:()=>{de.play(),ut("composition_played",{time:de.getTime()})},onPause:()=>{de.pause(),ut("composition_paused",{time:de.getTime()})},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;de.seek(h),ut("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;he.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p)},onSetVolume:d=>{t.bridgeVolume=d,he.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){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 p=d||t.bridgeMuted;he.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p)},onSetPlaybackRate:d=>{un(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),he.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,$e(d),B.reachedEnd()){he.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,$e(p)),Le("pause"),Me(),ce(!0)}},onEnablePickMode:()=>Bt.enablePickMode(),onDisablePickMode:()=>Bt.disablePickMode()}),pe(),t.capturedTimeline&&(de._timeline=t.capturedTimeline),window.__renderReady=!0,M&&setTimeout(()=>{let d=t.capturedTimeline;pe()&&t.capturedTimeline!==d&&(de._timeline=t.capturedTimeline),Le("discover",t.currentTime),window.__renderReady=!0,je(),ce(!0)},0),t.deterministicAdapters=[Ni(),hi({resolveStartSeconds:d=>C(d,0)}),gi(),bi(),Ei(),Fi(),xi({getTimeline:()=>t.capturedTimeline})],wi(),k(),Ee(),Le("discover");let B=new tn;t.transportClock=B;let he=new nn,ui=!1;he.init().then(d=>{ui=d});let It=0,cn=!1,Jo=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(S){T(h,S)}},Ko=d=>{let p=window.__timelines??{},h=L()?.getAttribute("data-composition-id")??null;for(let[S,y]of Object.entries(p)){if(!y||S===h)continue;let _=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!_)continue;let te=C(_,0);if(!Number.isFinite(te))continue;let G=g(_,{includeAuthoredTimingAttrs:!0}),ie=D(y),ge=G!=null&&G>0?G:ie,Ie=Math.max(0,ge!=null&&ge>0?Math.min(ge,d-te):d-te);Jo(y,Ie,"runtime.init.transport.childTimeline")}},Qo=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(S){T("runtime.init.activateSiblings",S)}},$e=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&Qo(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){T("runtime.init.transport.seek",S)}}else Ko(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(y){T("runtime.init.transport.adapter",y)}},ci=()=>{if(!(t.tornDown||cn)){cn=!0;try{if(t.transportRafId=window.requestAnimationFrame(ci),It+=1,It%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<m)){let h=t.capturedTimeline;if(pe()){t.capturedTimeline&&!de._timeline&&(de._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=V(t.capturedTimeline,0);S>0&&B.setDuration(S),je()}}if(It%20===0&&je(),It%30===0&&Ee(),t.capturedTimeline){let p=V(t.capturedTimeline,0);p>0&&B.setDuration(p)}if(B.isPlaying()&&!t.mediaOutputMuted)if(he.isActive()&&he.context){let p=he.getTime();p>=0&&B.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let S of p){if(!(S instanceof HTMLMediaElement)||!S.isConnected)continue;let y=Number.parseFloat(S.dataset.start??""),_=Number.parseFloat(S.dataset.duration??""),te=Number.isFinite(_)&&_>0?y+_:1/0,G=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:G}),h=!0);break}}!h&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,$e(d),B.isPlaying()&&B.reachedEnd()){he.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,$e(p)),Le("pause"),Me(),ce(!0);return}B.isPlaying()&&Me(),ce(!1)}finally{cn=!1}}},di=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){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??""),_=Number.isFinite(y)&&y>0?S+y:1/0;if(d<S||d>=_)continue;let te=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,G=d-S+te;if(G>=0)try{h.currentTime=G}catch{}}};if(de.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let p=V(d,0);if(p>0)B.setDuration(p),B.reachedEnd()&&(B.seek(0),t.currentTime=0,$e(0));else{let h=L(),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,di(B.now()),ui){let h=he.startGeneration(),S=document.querySelectorAll("audio[data-start]");for(let y of S){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let _=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(_))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,G=Number.parseFloat(y.dataset.volume??""),ie=Number.isFinite(G)?G:1;he.decodeAudioElement(y).then(ge=>{!ge||!B.isPlaying()||he.schedulePlayback(y,ge,_,te,B.now(),ie*t.bridgeVolume,h,t.playbackRate)})}}Le("play"),Me(),ce(!0)}},de.pause=()=>{if(!B.isPlaying())return;he.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,di(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Le("pause"),Me(),ce(!0)},de.seek=d=>{let p=Xe(Math.max(0,Number(d)||0),t.canonicalFps);he.stopAll(),B.detachAudioSource(),B.isPlaying()&&B.pause(),B.seek(p),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let S=t.capturedTimeline;S&&S.pause(),$e(t.currentTime),Le("pause"),Me(),ce(!0)},de.renderSeek=d=>{let p=Xe(Math.max(0,Number(d)||0),t.canonicalFps);B.isPlaying()&&B.pause(),B.seek(p),t.currentTime=B.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,$e(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=>{un(d),B.setRate(t.playbackRate),he.setRate(t.playbackRate)},t.capturedTimeline){let d=V(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let fi=window.__player;if(fi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(fi,p,{get:()=>de[p],set:h=>{de[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(ci),je(),ce(!0);let dn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,he.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),o!=null&&(window.cancelAnimationFrame(o),o=null),De(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),e&&(window.removeEventListener("error",e),e=null),n&&(window.removeEventListener("unhandledrejection",n),n=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Bt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){T("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of i.splice(0))try{d()}catch(p){T("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){T("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){T("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===dn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=dn,t.beforeUnloadHandler=dn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Eo=["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"],ti=[[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 xl(t){if(t<=255)return Eo[t];let e=0,n=ti.length-1;for(;e<=n;){let i=e+n>>1,r=ti[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function gl(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let u=0;u<e;){let c=t.charCodeAt(u),m=c,f=1;if(c>=55296&&c<=56319&&u+1<e){let F=t.charCodeAt(u+1);F>=56320&&F<=57343&&(m=(c-55296<<10)+(F-56320)+65536,f=2)}let x=xl(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let F=0;F<f;F++)n[u+F]=x;u+=f}if(!i)return null;let r=0;for(let u=0;u<e;u++){let c=n[u];if(c==="L"){r=0;break}if(c==="R"||c==="AL"){r=1;break}}let o=new Int8Array(e);for(let u=0;u<e;u++)o[u]=r;let s=r&1?"R":"L",l=s,a=l;for(let u=0;u<e;u++)n[u]==="NSM"?n[u]=a:a=n[u];a=l;for(let u=0;u<e;u++){let c=n[u];c==="EN"?n[u]=a==="AL"?"AN":"EN":(c==="R"||c==="L"||c==="AL")&&(a=c)}for(let u=0;u<e;u++)n[u]==="AL"&&(n[u]="R");for(let u=1;u<e-1;u++)n[u]==="ES"&&n[u-1]==="EN"&&n[u+1]==="EN"&&(n[u]="EN"),n[u]==="CS"&&(n[u-1]==="EN"||n[u-1]==="AN")&&n[u+1]===n[u-1]&&(n[u]=n[u-1]);for(let u=0;u<e;u++){if(n[u]!=="EN")continue;let c;for(c=u-1;c>=0&&n[c]==="ET";c--)n[c]="EN";for(c=u+1;c<e&&n[c]==="ET";c++)n[c]="EN"}for(let u=0;u<e;u++){let c=n[u];(c==="WS"||c==="ES"||c==="ET"||c==="CS")&&(n[u]="ON")}a=l;for(let u=0;u<e;u++){let c=n[u];c==="EN"?n[u]=a==="L"?"L":"EN":(c==="R"||c==="L")&&(a=c)}for(let u=0;u<e;u++){if(n[u]!=="ON")continue;let c=u+1;for(;c<e&&n[c]==="ON";)c++;let m=u>0?n[u-1]:l,f=c<e?n[c]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=u;E<c;E++)n[E]=x;u=c-1}for(let u=0;u<e;u++)n[u]==="ON"&&(n[u]=s);for(let u=0;u<e;u++){let c=n[u];(o[u]&1)===0?c==="R"?o[u]++:(c==="AN"||c==="EN")&&(o[u]+=2):(c==="L"||c==="AN"||c==="EN")&&o[u]++}return o}function Fo(t,e){let n=gl(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 yl=/[ \\t\\n\\r\\f]+/g,Sl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function bl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Al(t){if(!Sl.test(t))return t;let e=t.replace(yl," ");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 El(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var ni=null,Fl;function wl(){return ni===null&&(ni=new Intl.Segmenter(Fl,{granularity:"word"})),ni}var Nl=/\\p{Script=Arabic}/u,rn=/\\p{M}/u,vo=/\\p{Nd}/u;function wo(t){return Nl.test(t)}function No(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(No(r))return!0;e++;continue}}if(No(n))return!0}}return!1}function Cl(t){let e=an(t);return e!==null&&(sn.has(e)||ze.has(e))}var Ml=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function kl(t){return Re(t)}function Tl(t){let e=an(t);return e!==null&&Ml.has(e)}function on(t){return!Cl(t)&&!Tl(t)}var sn=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"]),Lt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),ri=new Set(["\'","\\u2019"]),ze=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),_l=new Set([":",".","\\u060C","\\u061B"]),vl=new Set(["\\u104F"]),Rl=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Dl(t){if(oi(t))return!0;let e=!1;for(let n of t){if(ze.has(n)){e=!0;continue}if(!(e&&rn.test(n)))return!1}return e}function Ll(t){for(let e of t)if(!sn.has(e)&&!ze.has(e))return!1;return t.length>0}function Bl(t){if(oi(t))return!0;for(let e of t)if(!Lt.has(e)&&!ri.has(e)&&!rn.test(e))return!1;return t.length>0}function oi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||rn.test(n))){if(Lt.has(n)||ze.has(n)||ri.has(n)){e=!0;continue}return!1}return e}function Ro(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 an(t){if(t.length===0)return null;let e=Ro(t,t.length);return t.slice(e)}function Il(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(rn.test(i)){n--;continue}if(Lt.has(i)||ri.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Ol(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Co(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 l=r.repeat(s);return t[i]=l,l}function Mo(t,e){return t&&e!==null&&_l.has(e)}function Pl(t){let e=an(t);return e!==null&&vl.has(e)}function Wl(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 ln(t){let e=t.length;for(;e>0;){let n=Ro(t,e),i=t.slice(n,e);if(Rl.has(i))return!0;if(!ze.has(i))return!1;e=n}return!1}function Hl(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 ql=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function ke(t){return t.length===1?t[0]:t.join("")}function Ul(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),ke(n)}function zl(t,e,n,i){if(!ql.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,u=0;for(let c of t){let m=Hl(c,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(c),u+=c.length;continue}o!==null&&r.push({text:ke(s),isWordLike:a,kind:o,start:l}),o=m,s=[c],l=n+u,a=f,u+=c.length}return o!==null&&r.push({text:ke(s),isWordLike:a,kind:o,start:l}),r}function ii(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Vl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function jl(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Vl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function $l(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Gl(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"||!jl(t,s))continue;let l=[e[s]],a=s+1;for(;a<t.len&&!ii(i[a]);){l.push(e[a]),n[s]=!0;let u=e[a].includes("?");if(i[a]="text",e[a]="",a++,u)break}e[s]=ke(l)}let o=0;for(let s=0;s<e.length;s++){let l=e[s];l.length!==0&&(o!==s&&(e[o]=l,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]),!$l(s))continue;let l=o+1;if(l>=t.len||ii(t.kinds[l]))continue;let a=[],u=t.starts[l],c=l;for(;c<t.len&&!ii(t.kinds[c]);)a.push(t.texts[c]),c++;a.length>0&&(e.push(ke(a)),n.push(!0),i.push("text"),r.push(u),o=c-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Kl=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ko=/^[A-Za-z0-9_]+[,:;]*$/,To=/[,:;]+$/;function Do(t){for(let e of t)if(vo.test(e))return!0;return!1}function Dt(t){if(t.length===0)return!1;for(let e of t)if(!(vo.test(e)||Kl.has(e)))return!1;return!0}function Ql(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o];if(l==="text"&&Dt(s)&&Do(s)){let a=[s],u=o+1;for(;u<t.len&&t.kinds[u]==="text"&&Dt(t.texts[u]);)a.push(t.texts[u]),u++;e.push(ke(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=u-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Yl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o],a=t.isWordLike[o];if(l==="text"&&a&&ko.test(s)){let u=[s],c=To.test(s),m=o+1;for(;c&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ko.test(t.texts[m]);){let f=t.texts[m];u.push(f),c=To.test(f),m++}e.push(ke(u)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zl(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let l=s.split("-"),a=l.length>1;for(let u=0;u<l.length;u++){let c=l[u];if(!a)break;(c.length===0||!Do(c)||!Dt(c))&&(a=!1)}if(a){let u=0;for(let c=0;c<l.length;c++){let m=l[c],f=c<l.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+u),u+=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 Xl(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],l=t.isWordLike[o],a=t.kinds[o],u=t.starts[o];if(a==="glue"){let c=[s[0]],m=u;for(o++;o<t.len&&t.kinds[o]==="glue";)c.push(t.texts[o]),o++;let f=ke(c);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),l=t.isWordLike[o],a="text",u=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let c=[];for(;o<t.len&&t.kinds[o]==="glue";)c.push(t.texts[o]),o++;let m=ke(c);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),l=l||t.isWordLike[o],o++;continue}s.push(m)}e.push(ke(s)),n.push(l),i.push(a),r.push(u)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function eu(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=Il(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 _o(t,e,n){let i=wl(),r=0,o=[],s=[],l=[],a=[],u=[],c=[],m=[],f=[],x=[],F=[],E=[],b=[];for(let C of i.segment(t))for(let g of zl(C.segment,C.isWordLike??!1,C.index,n)){let le=function(){c[R]!==null&&(s[R]=[Co(o,c,m,R)],c[R]=null),s[R].push(g.text),l[R]=l[R]||g.isWordLike,f[R]=f[R]||w,x[R]=x[R]||M,F[R]=P,E[R]=K,b[R]=Mo(x[R],D)},A=g.kind==="text",N=Ol(g.text,g.isWordLike,g.kind),w=Re(g.text),M=wo(g.text),D=an(g.text),P=ln(g.text),K=Pl(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&w&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&Ll(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&M&&b[R]?(le(),l[R]=!0):N!==null&&r>0&&a[R]==="text"&&c[R]===N?m[R]=(m[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Dl(g.text)||g.text==="-"&&l[R])?le():(o[r]=g.text,s[r]=[g.text],l[r]=g.isWordLike,a[r]=g.kind,u[r]=g.start,c[r]=N,m[r]=N===null?0:1,f[r]=w,x[r]=M,F[r]=P,E[r]=K,b[r]=Mo(M,D),r++)}for(let C=0;C<r;C++){if(c[C]!==null){o[C]=Co(o,c,m,C);continue}o[C]=ke(s[C])}for(let C=1;C<r;C++)a[C]==="text"&&!l[C]&&oi(o[C])&&a[C-1]==="text"&&(o[C-1]+=o[C],l[C-1]=l[C-1]||l[C],o[C]="");let I=Array.from({length:r},()=>null),L=-1;for(let C=r-1;C>=0;C--){let g=o[C];if(g.length!==0){if(a[C]==="text"&&!l[C]&&Bl(g)&&L>=0&&a[L]==="text"){let A=I[L]??[];A.push(g),I[L]=A,u[L]=u[C],o[C]="";continue}L=C}}for(let C=0;C<r;C++){let g=I[C];g!=null&&(o[C]=Ul(g,o[C]))}let v=0;for(let C=0;C<r;C++){let g=o[C];g.length!==0&&(v!==C&&(o[v]=g,l[v]=l[C],a[v]=a[C],u[v]=u[C]),v++)}o.length=v,l.length=v,a.length=v,u.length=v;let X=Xl({len:v,texts:o,isWordLike:l,kinds:a,starts:u}),q=eu(Yl(Zl(Ql(Jl(Gl(X))))));for(let C=0;C<q.len-1;C++){let g=Wl(q.texts[C]);g!==null&&(q.kinds[C]!=="space"&&q.kinds[C]!=="preserved-space"||q.kinds[C+1]!=="text"||!wo(q.texts[C+1])||(q.texts[C]=g.space,q.isWordLike[C]=!1,q.kinds[C]=q.kinds[C]==="preserved-space"?"preserved-space":"space",q.texts[C+1]=g.marks+q.texts[C+1],q.starts[C+1]=q.starts[C]+g.space.length))}return q}function tu(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 nu(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,u=!1;function c(){o!==null&&(e.push(ke(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],F=t.isWordLike[m],E=t.starts[m];if(x==="text"){let b=kl(f),I=on(f);if(o!==null&&a&&u){o.push(f),s=s||F,a=a||b,u=I;continue}c(),o=[f],s=F,l=E,a=b,u=I;continue}c(),e.push(f),n.push(F),i.push(x),r.push(E)}return c(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Lo(t,e,n="normal",i="normal"){let r=bl(n),o=r.mode==="pre-wrap"?El(t):Al(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?nu(_o(o,e,r)):_o(o,e,r);return{normalized:o,chunks:tu(s,r),...s}}var ot=null,Bo=new Map,st=null,iu=96,ru=/\\p{Emoji_Presentation}/u,ou=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,si=null,Io=new Map;function ai(){if(ot!==null)return ot;if(typeof OffscreenCanvas<"u")return ot=new OffscreenCanvas(1,1).getContext("2d"),ot;if(typeof document<"u")return ot=document.createElement("canvas").getContext("2d"),ot;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function su(t){let e=Bo.get(t);return e||(e=new Map,Bo.set(t,e)),e}function Pe(t,e){let n=e.get(t);return n===void 0&&(n={width:ai().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function at(){if(st!==null)return st;if(typeof navigator>"u")return st={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},st;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 st={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},st}function au(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Oo(){return si===null&&(si=new Intl.Segmenter(void 0,{granularity:"grapheme"})),si}function lu(t){return ru.test(t)||t.includes("\\uFE0F")}function Po(t){return ou.test(t)}function uu(t,e){let n=Io.get(t);if(n!==void 0)return n;let i=ai();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 Io.set(t,n),n}function cu(t){let e=0,n=Oo();for(let i of n.segment(t))lu(i.segment)&&e++;return e}function du(t,e){return e.emojiCount===void 0&&(e.emojiCount=cu(t)),e.emojiCount}function Ve(t,e,n){return n===0?e.width:e.width-du(t,e)*n}function Wo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Oo(),s=[];for(let c of o.segment(t))s.push(c.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let c=[];for(let m of s){let f=Pe(m,n);c.push(Ve(m,f,i))}return e.breakableFitAdvances=c,e.breakableFitAdvances}if(r==="pair-context"||s.length>iu){let c=[],m=null,f=0;for(let x of s){let F=Pe(x,n),E=Ve(x,F,i);if(m===null)c.push(E);else{let b=m+x,I=Pe(b,n);c.push(Ve(b,I,i)-f)}m=x,f=E}return e.breakableFitAdvances=c,e.breakableFitAdvances}let l=[],a="",u=0;for(let c of s){a+=c;let m=Pe(a,n),f=Ve(a,m,i);l.push(f-u),u=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function Ho(t,e){let n=ai();n.font=t;let i=su(t),r=au(t),o=e?uu(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function fu(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 mu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function pu(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let l=s+t[o];if((o+1<t.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function qo(t,e){return t.simpleLineWalkFastPath?Uo(t,e):zo(t,e)}function Uo(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=at().lineFitEpsilon,a=e+l,u=0,c=0,m=!1,f=0,x=0,F=0,E=0,b=-1,I=0;function L(){b=-1,I=0}function v(N=F,w=E,M=c){u++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:N,endGraphemeIndex:w,width:M}),c=0,m=!1,L()}function X(N,w){m=!0,f=N,x=0,F=N+1,E=0,c=w}function q(N,w,M){m=!0,f=N,x=w,F=N,E=w+1,c=M}function C(N,w){if(!m){X(N,w);return}c+=w,F=N+1,E=0}function g(N,w){let M=o[N];for(let D=w;D<M.length;D++){let P=M[D];m?c+P>a?(v(),q(N,D,P)):(c+=P,F=N,E=D+1):q(N,D,P)}m&&F===N&&E===M.length&&(F=N+1,E=0)}let A=0;for(;A<i.length&&!(!m&&(A=fu(t,A),A>=i.length));){let N=i[A],w=r[A],M=w==="space"||w==="preserved-space"||w==="tab"||w==="zero-width-break"||w==="soft-hyphen";if(!m){N>e&&o[A]!==null?g(A,0):X(A,N),M&&(b=A+1,I=c-N),A++;continue}if(c+N>a){if(M){C(A,N),v(A+1,0,c-N),A++;continue}if(b>=0){if(F>b||F===b&&E>0){v();continue}v(b,0,I);continue}if(N>e&&o[A]!==null){v(),g(A,0),A++;continue}v();continue}C(A,N),M&&(b=A+1,I=c-N),A++}return m&&v(),u}function zo(t,e,n){if(t.simpleLineWalkFastPath)return Uo(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:u,chunks:c}=t;if(i.length===0||c.length===0)return 0;let m=at(),f=m.lineFitEpsilon,x=e+f,F=0,E=0,b=!1,I=0,L=0,v=0,X=0,q=-1,C=0,g=0,A=null;function N(){q=-1,C=0,g=0,A=null}function w($=v,V=X,W=E){F++,n?.({startSegmentIndex:I,startGraphemeIndex:L,endSegmentIndex:$,endGraphemeIndex:V,width:W}),E=0,b=!1,N()}function M($,V){b=!0,I=$,L=0,v=$+1,X=0,E=V}function D($,V,W){b=!0,I=$,L=V,v=$,X=V+1,E=W}function P($,V){if(!b){M($,V);return}E+=V,v=$+1,X=0}function K($,V,W,Y){if(!V)return;let pe=$==="tab"?0:r[W],Ne=$==="tab"?Y:o[W];q=W+1,C=E-Y+pe,g=E-Y+Ne,A=$}function R($,V){let W=l[$];for(let Y=V;Y<W.length;Y++){let pe=W[Y];b?E+pe>x?(w(),D($,Y,pe)):(E+=pe,v=$,X=Y+1):D($,Y,pe)}b&&v===$&&X===W.length&&(v=$+1,X=0)}function le($){if(A!=="soft-hyphen")return!1;let V=l[$];if(V==null)return!1;let{fitCount:W,fittedWidth:Y}=pu(V,E,e,f,a);return W===0?!1:(E=Y,v=$,X=W,N(),W===V.length?(v=$+1,X=0,!0):(w($,W,Y+a),R($,W),!0))}function be($){F++,n?.({startSegmentIndex:$.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:$.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),N()}for(let $=0;$<c.length;$++){let V=c[$];if(V.startSegmentIndex===V.endSegmentIndex){be(V);continue}b=!1,E=0,I=V.startSegmentIndex,L=0,v=V.startSegmentIndex,X=0,N();let W=V.startSegmentIndex;for(;W<V.endSegmentIndex;){let Y=s[W],pe=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Ne=Y==="tab"?mu(E,u):i[W];if(Y==="soft-hyphen"){b&&(v=W+1,X=0,q=W+1,C=E+a,g=E+a,A=Y),W++;continue}if(!b){Ne>e&&l[W]!==null?R(W,0):M(W,Ne),K(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"&&m.preferEarlySoftHyphenBreak&&C<=x){w(q,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(pe&&k<=x){P(W,Ne),w(W+1,0,O),W++;continue}if(q>=0&&C<=x){if(v>q||v===q&&X>0){w();continue}let ne=q;w(ne,0,g),W=ne;continue}if(Ne>e&&l[W]!==null){w(),R(W,0),W++;continue}w();continue}P(W,Ne),K(Y,pe,W,Ne),W++}if(b){let Y=q===V.consumedEndSegmentIndex?g:E;w(V.consumedEndSegmentIndex,0,Y)}}return F}var li=null;function hu(){return li===null&&(li=new Intl.Segmenter(void 0,{granularity:"grapheme"})),li}function xu(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 gu(t,e){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function u(m,f,x){i=[m],r=f,o=x,s=ln(m),l=Lt.has(m)}function c(m,f){i.push(m),o=o||f;let x=ln(m);m.length===1&&ze.has(m)?s=s||x:s=x,l=!1}for(let m of hu().segment(t)){let f=m.segment,x=Re(f);if(i.length===0){u(f,m.index,x);continue}if(l||sn.has(f)||ze.has(f)||e.carryCJKAfterClosingQuote&&x&&s){c(f,x);continue}if(!o&&!x){c(f,x);continue}a(),u(f,m.index,x)}return a(),n}function yu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=on(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<t.length;l++){let a=t[l],u=Re(a.text),c=on(a.text);if(r&&o){n.push(a.text),r=r||u,o=c;continue}s(),n=[a.text],i=a.start,r=u,o=c}return s(),e}function Su(t,e,n,i){let r=at(),{cache:o,emojiCorrection:s}=Ho(e,Po(t.normalized)),l=Ve("-",Pe("-",o),s),u=Ve(" ",Pe(" ",o),s)*8;if(t.len===0)return xu(n);let c=[],m=[],f=[],x=[],F=t.chunks.length<=1,E=n?[]:null,b=[],I=n?[]:null,L=Array.from({length:t.len});function v(g,A,N,w,M,D,P){M!=="text"&&M!=="space"&&M!=="zero-width-break"&&(F=!1),c.push(A),m.push(N),f.push(w),x.push(M),E?.push(D),b.push(P),I!==null&&I.push(g)}function X(g,A,N,w,M){let D=Pe(g,o),P=Ve(g,D,s),K=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(M&&w&&g.length>1){let le="sum-graphemes";Dt(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let be=Wo(g,D,o,s,le);v(g,P,K,R,A,N,be);return}v(g,P,K,R,A,N,null)}for(let g=0;g<t.len;g++){L[g]=c.length;let A=t.texts[g],N=t.isWordLike[g],w=t.kinds[g],M=t.starts[g];if(w==="soft-hyphen"){v(A,0,l,l,w,M,null);continue}if(w==="hard-break"){v(A,0,0,0,w,M,null);continue}if(w==="tab"){v(A,0,0,0,w,M,null);continue}let D=Pe(A,o);if(w==="text"&&D.containsCJK){let P=gu(A,r),K=i==="keep-all"?yu(P):P;for(let R=0;R<K.length;R++){let le=K[R];X(le.text,"text",M+le.start,N,i==="keep-all"||!Re(le.text))}continue}X(A,w,M,N,!0)}let q=bu(t.chunks,L,c.length),C=E===null?null:Fo(t.normalized,E);return I!==null?{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:C,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:q,segments:I}:{widths:c,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:C,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:u,chunks:q}}function bu(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,l=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Au(t,e,n,i){let r=i?.wordBreak??"normal",o=Lo(t,at(),i?.whiteSpace,r);return Su(o,e,n,r)}function Vo(t,e,n){return Au(t,e,!1,n)}function jo(t,e,n){let i=qo(t,e);return{lineCount:i,height:i*n}}var Eu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function $o(t,e){let n={...Eu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Vo(t,o),{lineCount:l}=jo(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:$o,getVariables:co};function Go(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Ao())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Go,{once:!0}):Go();})();\n';
39218
+ RUNTIME_IIFE = '"use strict";(()=>{var ns=Object.create;var xn=Object.defineProperty;var is=Object.getOwnPropertyDescriptor;var rs=Object.getOwnPropertyNames;var os=Object.getPrototypeOf,ss=Object.prototype.hasOwnProperty;var as=(t,e,n)=>e in t?xn(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 ls=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of rs(e))!ss.call(t,r)&&r!==n&&xn(t,r,{get:()=>e[r],enumerable:!(i=is(e,r))||i.enumerable});return t};var us=(t,e,n)=>(n=t!=null?ns(os(t)):{},ls(e||!t||!t.__esModule?xn(n,"default",{value:t,enumerable:!0}):n,t));var ye=(t,e,n)=>as(t,typeof e!="symbol"?e+"":e,n);var qi=Z((fc,Fn)=>{var K=String,Hi=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}};Fn.exports=Hi();Fn.exports.createColors=Hi});var wn=Z(()=>{});var qt=Z((hc,zi)=>{"use strict";var Vi=qi(),Ui=wn(),yt=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=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=Vi.createColors(!0);r=x=>u(f(x)),i=x=>m(x),Ui&&(o=x=>Ui(x))}let s=n.split(/\\r?\\n/),l=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),c=String(a).length;return s.slice(l,a).map((u,m)=>{let f=l+1+m,x=" "+(" "+f).slice(-c)+" | ";if(f===this.line){if(u.length>160){let E=20,S=Math.max(0,this.column-E),B=Math.max(this.column+E,this.endColumn+E),D=u.slice(S,B),v=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,E-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(D)+`\n `+v+r("^")}let F=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+F+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};zi.exports=yt;yt.default=yt});var Nn=Z((xc,$i)=>{"use strict";var _s=/(<)(\\/?style\\b)/gi,Rs=/(<)(!--)/g;function He(t){return typeof t!="string"||!t.includes("<")?t:t.replace(_s,"\\\\3c $2").replace(Rs,"\\\\3c $2")}var ji={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Ls(t){return t[0].toUpperCase()+t.slice(1)}var St=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(He(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 l=0;l<o;l++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(He(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(He(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 l=n[s],a=this.raw(l,"before");a&&this.builder(o?a:He(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(He("/*"+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(He(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 ji[i];let s=e.root(),l=s.rawCache||(s.rawCache={});if(typeof l[i]<"u")return l[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Ls(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=ji[i]),l[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:He(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(He(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)}};$i.exports=St;St.default=St});var bt=Z((gc,Gi)=>{"use strict";var Ds=Nn();function Cn(t,e){new Ds(e).stringify(t)}Gi.exports=Cn;Cn.default=Cn});var Vt=Z((yc,Mn)=>{"use strict";Mn.exports.isClean=Symbol("isClean");Mn.exports.my=Symbol("my")});var Ft=Z((Sc,Ki)=>{"use strict";var Bs=qt(),Is=Nn(),Os=bt(),{isClean:At,my:Ps}=Vt();function kn(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=>kn(s,n)):(o==="object"&&r!==null&&(r=kn(r)),n[i]=r)}return n}function Oe(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 Et=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[At]=!1,this[Ps]=!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=kn(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 Bs(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[At]=!0}markDirty(){if(this[At]){this[At]=!1;let e=this;for(;e=e.parent;)e[At]=!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(Oe(i,this.source.start),Oe(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=Oe(r,this.source.start),s=o+e;for(let l=o;l<s;l++)r[l]===`\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:Oe(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:Oe(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Oe(n,this.source.start),Oe(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:Oe(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Oe(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 Is().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 l=this[s];if(Array.isArray(l))i[s]=l.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof l=="object"&&l.toJSON)i[s]=l.toJSON(null,n);else if(s==="source"){if(l==null)continue;let a=n.get(l.input);a==null&&(a=o,n.set(l.input,o),o++),i[s]={end:l.end,inputId:a,start:l.start}}else i[s]=l}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=Os){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)}};Ki.exports=Et;Et.default=Et});var Nt=Z((bc,Ji)=>{"use strict";var Ws=Ft(),wt=class extends Ws{constructor(e){super(e),this.type="comment"}};Ji.exports=wt;wt.default=wt});var Mt=Z((Ac,Qi)=>{"use strict";var Hs=Ft(),Ct=class extends Hs{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"}};Qi.exports=Ct;Ct.default=Ct});var qe=Z((Ec,or)=>{"use strict";var Yi=Nt(),Zi=Mt(),qs=Ft(),{isClean:Xi,my:er}=Vt(),Tn,tr,nr,vn;function ir(t){return t.map(e=>(e.nodes&&(e.nodes=ir(e.nodes)),delete e.source,e))}function rr(t){if(t[Xi]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)rr(e)}var _e=class t extends qs{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 l of o)this.proxyOf.nodes.splice(i,0,l);let s;for(let l in this.indexes)s=this.indexes[l],i<=s&&(this.indexes[l]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ir(tr(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 Zi(e)]}else if(e.selector||e.selectors)e=[new vn(e)];else if(e.name)e=[new Tn(e)];else if(e.text)e=[new Yi(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[er]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Xi]&&rr(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=>{tr=t};_e.registerRule=t=>{vn=t};_e.registerAtRule=t=>{Tn=t};_e.registerRoot=t=>{nr=t};or.exports=_e;_e.default=_e;_e.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,Tn.prototype):t.type==="rule"?Object.setPrototypeOf(t,vn.prototype):t.type==="decl"?Object.setPrototypeOf(t,Zi.prototype):t.type==="comment"?Object.setPrototypeOf(t,Yi.prototype):t.type==="root"&&Object.setPrototypeOf(t,nr.prototype),t[er]=!0,t.nodes&&t.nodes.forEach(e=>{_e.rebuild(e)})}});var Ut=Z((Fc,ar)=>{"use strict";var sr=qe(),nt=class extends sr{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)}};ar.exports=nt;nt.default=nt;sr.registerAtRule(nt)});var zt=Z((wc,cr)=>{"use strict";var Vs=qe(),lr,ur,Ze=class extends Vs{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new lr(new ur,this,e).stringify()}};Ze.registerLazyResult=t=>{lr=t};Ze.registerProcessor=t=>{ur=t};cr.exports=Ze;Ze.default=Ze});var fr=Z((Nc,dr)=>{var Us="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",zs=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},js=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Us[Math.random()*64|0];return e};dr.exports={nanoid:js,customAlphabet:zs}});var jt=Z(()=>{});var $t=Z(()=>{});var _n=Z(()=>{});var mr=Z(()=>{});var Ln=Z((Dc,xr)=>{"use strict";var{existsSync:$s,readFileSync:Gs}=mr(),{dirname:Rn,join:Ks}=jt(),{SourceMapConsumer:pr,SourceMapGenerator:hr}=$t();function Js(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var kt=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=Rn(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new pr(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 l=e.match(n)||e.match(i);if(l)return Js(e.substr(l[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=Rn(e),$s(e)))return this.mapFile=e,Gs(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 pr)return hr.fromSourceMap(n).toString();if(n instanceof hr)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=Ks(Rn(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)}};xr.exports=kt;kt.default=kt});var Tt=Z((Bc,Ar)=>{"use strict";var{nanoid:Qs}=fr(),{isAbsolute:In,resolve:On}=jt(),{SourceMapConsumer:Ys,SourceMapGenerator:Zs}=$t(),{fileURLToPath:gr,pathToFileURL:Gt}=_n(),yr=qt(),Xs=Ln(),Dn=wn(),Bn=Symbol("lineToIndexCache"),ea=!!(Ys&&Zs),Sr=!!(On&&In);function br(t){if(t[Bn])return t[Bn];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[Bn]=n,n}var it=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&&(!Sr||/^\\w+:\\/\\//.test(n.from)||In(n.from)?this.file=n.from:this.file=On(n.from)),Sr&&ea){let i=new Xs(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,l,a,c;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){l=f.offset;let x=this.fromOffset(l);s=x.line,o=x.col}else s=f.line,o=f.column,l=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?c=new yr(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):c=new yr(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:l,line:n,offset:a,source:this.css},this.file&&(Gt&&(c.input.url=Gt(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return br(this)[e-1]+n-1}fromOffset(e){let n=br(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:On(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 l;typeof i=="number"&&(l=o.originalPositionFor({column:r,line:i}));let a;In(s.source)?a=Gt(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||Gt(this.map.mapFile));let c={column:s.column,endColumn:l&&l.column,endLine:l&&l.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(gr)c.file=gr(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(c.source=u),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}};Ar.exports=it;it.default=it;Dn&&Dn.registerInput&&Dn.registerInput(it)});var rt=Z((Ic,Nr)=>{"use strict";var Er=qe(),Fr,wr,Ve=class extends Er{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 Fr(new wr,this,e).stringify()}};Ve.registerLazyResult=t=>{Fr=t};Ve.registerProcessor=t=>{wr=t};Nr.exports=Ve;Ve.default=Ve;Er.registerRoot(Ve)});var Pn=Z((Oc,Cr)=>{"use strict";var vt={comma(t){return vt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return vt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,l=!1,a="",c=!1;for(let u of t)c?c=!1:u==="\\\\"?c=!0:l?u===a&&(l=!1):u===\'"\'||u==="\'"?(l=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};Cr.exports=vt;vt.default=vt});var Kt=Z((Pc,kr)=>{"use strict";var Mr=qe(),ta=Pn(),ot=class extends Mr{get selectors(){return ta.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=[])}};kr.exports=ot;ot.default=ot;Mr.registerRule(ot)});var vr=Z((Wc,Tr)=>{"use strict";var na=Ut(),ia=Nt(),ra=Mt(),oa=Tt(),sa=Ln(),aa=rt(),la=Kt();function _t(t,e){if(Array.isArray(t))return t.map(r=>_t(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:oa.prototype};o.map&&(o.map={...o.map,__proto__:sa.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>_t(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 aa(i);if(i.type==="decl")return new ra(i);if(i.type==="rule")return new la(i);if(i.type==="comment")return new ia(i);if(i.type==="atrule")return new na(i);throw new Error("Unknown node type: "+t.type)}Tr.exports=_t;_t.default=_t});var Hn=Z((Hc,Ir)=>{"use strict";var{dirname:Jt,relative:Rr,resolve:Lr,sep:Dr}=jt(),{SourceMapConsumer:Br,SourceMapGenerator:Qt}=$t(),{pathToFileURL:_r}=_n(),ua=Tt(),ca=!!(Br&&Qt),da=!!(Jt&&Lr&&Rr&&Dr),Wn=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 Br(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(),da&&ca&&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=Qt.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new Qt({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 Qt({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,(l,a,c)=>{if(this.css+=l,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=l.match(/\\n/g),s?(e+=s.length,o=l.lastIndexOf(`\n`),n=l.length-o):n+=l.length,a&&c!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?Jt(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=Jt(Lr(i,this.mapOpts.annotation)));let r=Rr(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 ua(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(_r){let i=_r(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;Dr==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Ir.exports=Wn});var Wr=Z((qc,Pr)=>{"use strict";var Yt=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,Zt=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,fa=/.[\\r\\n"\'(/\\\\]/,Or=/[\\da-f]/i;Pr.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,c,u,m,f,x,F,E=i.length,S=0,B=[],D=[],v=-1;function X(){return S}function q(N){throw e.error("Unclosed "+N,S)}function C(){return D.length===0&&S>=E}function g(N){if(D.length)return D.pop();if(S>=E)return;let w=N?N.ignoreUnclosed:!1;switch(o=i.charCodeAt(S),o){case 10:case 32:case 9:case 13:case 12:{a=S;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(S,a)],S=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let M=String.fromCharCode(o);u=[M,M,S];break}case 40:{if(F=B.length?B.pop()[1]:"",x=i.charCodeAt(S+1),F==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=S;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||w){a=S;break}else q("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(S,a+1),S,a],S=a}else S<=v?u=["(","(",S]:(a=i.indexOf(")",S+1),s=i.slice(S,a+1),a===-1||fa.test(s)?(v=a===-1?E:a,u=["(","(",S]):(u=["brackets",s,S,a],S=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=S;do{if(m=!1,a=i.indexOf(c,a+1),a===-1)if(r||w){a=S+1;break}else q("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(S,a+1),S,a],S=a;break}case 64:{Yt.lastIndex=S+1,Yt.test(i),Yt.lastIndex===0?a=i.length-1:a=Yt.lastIndex-2,u=["at-word",i.slice(S,a+1),S,a],S=a;break}case 92:{for(a=S,l=!0;i.charCodeAt(a+1)===92;)a+=1,l=!l;if(o=i.charCodeAt(a+1),l&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Or.test(i.charAt(a)))){for(;Or.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(S,a+1),S,a],S=a;break}default:{o===47&&i.charCodeAt(S+1)===42?(a=i.indexOf("*/",S+2)+1,a===0&&(r||w?a=i.length:q("comment")),u=["comment",i.slice(S,a+1),S,a],S=a):(Zt.lastIndex=S+1,Zt.test(i),Zt.lastIndex===0?a=i.length-1:a=Zt.lastIndex-2,u=["word",i.slice(S,a+1),S,a],B.push(u),S=a);break}}return S++,u}function A(N){D.push(N)}return{back:A,endOfFile:C,nextToken:g,position:X}}});var Ur=Z((Vc,Vr)=>{"use strict";var ma=Ut(),pa=Nt(),ha=Mt(),xa=rt(),Hr=Kt(),ga=Wr(),qr={empty:!0,space:!0};function ya(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var qn=class{constructor(e){this.input=e,this.root=new xa,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 ma;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,l=!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==="{"){l=!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=""),l&&(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,l]of e.entries()){if(r=l,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 pa;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=ga(this.input)}decl(e,n){let i=new ha;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]||ya(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=[],l;for(;e.length&&(l=e[0][0],!(l!=="space"&&l!=="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 u=this.stringFrom(e,c);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=c;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(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 Hr;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=[],l=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(l&&r&&i==="{")o||(o=c),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,l);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(!l)for(;a.length&&(c=a[a.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,l)}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,l=i.length,a="",c=!0,u,m;for(let f=0;f<l;f+=1)o=i[f],s=o[0],s==="space"&&f===l-1&&!r?c=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qr[m]&&!qr[u]?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 Hr;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=qn});var en=Z((Uc,zr)=>{"use strict";var Sa=qe(),ba=Tt(),Aa=Ur();function Xt(t,e){let n=new ba(t,e),i=new Aa(n);try{i.parse()}catch(r){throw r}return i.root}zr.exports=Xt;Xt.default=Xt;Sa.registerParse(Xt)});var Vn=Z((zc,jr)=>{"use strict";var Rt=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}};jr.exports=Rt;Rt.default=Rt});var tn=Z((jc,$r)=>{"use strict";var Ea=Vn(),Lt=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 Ea(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};$r.exports=Lt;Lt.default=Lt});var Un=Z(($c,Kr)=>{"use strict";var Gr={};Kr.exports=function(e){Gr[e]||(Gr[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var $n=Z((Kc,Zr)=>{"use strict";var Fa=qe(),wa=zt(),Na=Hn(),Ca=en(),Jr=tn(),Ma=rt(),ka=bt(),{isClean:Be,my:Ta}=Vt(),Gc=Un(),va={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},_a={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},Ra={Once:!0,postcssPlugin:!0,prepare:!0},st=0;function Dt(t){return typeof t=="object"&&typeof t.then=="function"}function Yr(t){let e=!1,n=va[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,st,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,st,n+"Exit"]:[n,n+"Exit"]}function Qr(t){let e;return t.type==="document"?e=["Document",st,"DocumentExit"]:t.type==="root"?e=["Root",st,"RootExit"]:e=Yr(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function zn(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>zn(e)),t}var jn={},Ue=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=zn(n);else if(n instanceof t||n instanceof Jr)r=zn(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=Ca;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[Ta]&&Fa.rebuild(r)}this.result=new Jr(e,r,i),this.helpers={...jn,postcss:jn,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(!_a[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Ra[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(Dt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[Qr(e)];for(;n.length>0;){let i=this.visitTick(n);if(Dt(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 Dt(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=ka;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,l=>{s+=l}),this.result.css=s,this.result}let o=new Na(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(Dt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Dt(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,l]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return l(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,l;for(;l=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!l[Be]){l[Be]=!0,e.push(Qr(l));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===st){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=Yr(e);for(let i of n)if(i===st)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ue.registerPostcss=t=>{jn=t};Zr.exports=Ue;Ue.default=Ue;Ma.registerLazyResult(Ue);wa.registerLazyResult(Ue)});var eo=Z((Qc,Xr)=>{"use strict";var La=Hn(),Da=en(),Ba=tn(),Ia=bt(),Jc=Un(),Bt=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=Da;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=Ia;this.result=new Ba(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 La(r,void 0,this._opts,n);if(s.isMap()){let[l,a]=s.generate();l&&(this.result.css=l),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[]}};Xr.exports=Bt;Bt.default=Bt});var no=Z((Yc,to)=>{"use strict";var Oa=zt(),Pa=$n(),Wa=eo(),Ha=rt(),Xe=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 Wa(this,e,n):new Pa(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};to.exports=Xe;Xe.default=Xe;Ha.registerProcessor(Xe);Oa.registerProcessor(Xe)});var co=Z((Zc,uo)=>{"use strict";var io=Ut(),ro=Nt(),qa=qe(),Va=qt(),oo=Mt(),so=zt(),Ua=vr(),za=Tt(),ja=$n(),$a=Pn(),Ga=Ft(),Ka=en(),Gn=no(),Ja=tn(),ao=rt(),lo=Kt(),Qa=bt(),Ya=Vn();function re(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new Gn(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 l=n(...s);return l.postcssPlugin=e,l.postcssVersion=new Gn().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return re([r(a)]).process(s,l)},r};re.stringify=Qa;re.parse=Ka;re.fromJSON=Ua;re.list=$a;re.comment=t=>new ro(t);re.atRule=t=>new io(t);re.decl=t=>new oo(t);re.rule=t=>new lo(t);re.root=t=>new ao(t);re.document=t=>new so(t);re.CssSyntaxError=Va;re.Declaration=oo;re.Container=qa;re.Processor=Gn;re.Document=so;re.Comment=ro;re.Warning=Ya;re.AtRule=io;re.Result=Ja;re.Input=za;re.Rule=lo;re.Root=ao;re.Node=Ga;ja.registerPostcss(re);uo.exports=re;re.default=re});function _(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 Ae(t){try{window.parent.postMessage(t,"*")}catch(e){_("bridge.postMessage",e)}}function hi(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&&cs(o,s)}};return window.addEventListener("message",e),e}function cs(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){_("bridge.flashElements.querySelector",i)}}var gn=null;function xi(t){gn=t}function dt(t,e){if(gn)try{gn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){_("runtime.analytics.site1",n)}}function gi(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=(l,a)=>{for(let c of l){try{c.currentTime=a}catch(u){_("runtime.adapters.css.site1",u)}try{c.pause()}catch(u){_("runtime.adapters.css.site2",u)}}},r=l=>{for(let a of l)try{a.play()}catch(c){_("runtime.adapters.css.site3",c)}},o=l=>{for(let a of l)try{a.pause()}catch(c){_("runtime.adapters.css.site4",c)}},s=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let a of l){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:l=>{let a=Number(l.time)||0;for(let c of e){if(!c.el.isConnected)continue;let u=t?.resolveStartSeconds?t.resolveStartSeconds(c.el):Number.parseFloat(c.el.getAttribute("data-start")??"0")||0,m=Math.max(0,a-u)*1e3,f=n(c.el);if(f.length>0){i(f,m);continue}c.el.style.animationPlayState="paused",c.el.style.animationDelay=`-${(m/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let a=n(l.el);a.length>0&&o(a),s(l)}},play:()=>{for(let l of e)l.el.isConnected&&(s(l),r(n(l.el)))},revert:()=>{e=[]}}}function yi(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 Si(){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){_("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){_("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){_("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){_("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function Ei(){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){_("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(bi(i))i.goToAndStop(e*1e3,!1);else if(Ai(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){_("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(bi(e)||Ai(e))&&e.pause()}catch(n){_("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function bi(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Ai(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Fi=-1;function Ht(t){if(t!==Fi){Fi=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){_("runtime.adapters.seek-dispatch.site1",e)}}}function wi(){let t=null,e=0;return{name:"three",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfThreeTime=t,Ht(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Ni(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,Ht(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Ci(){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 Mi(){let t=!1,e=0,n=new WeakMap,i=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},r=l=>{let a=Number(l.currentTime);return Number.isFinite(a)&&a>0?a:0},o=(l,a)=>a<=0?l:l>=a?Math.max(0,l-a):l,s=(l,a)=>{let c=n.get(l);if(c)return c;let u={compositionTimeMs:a,animationTimeMs:t?o(r(l),a):r(l)};return n.set(l,u),u};return{name:"waapi",discover:()=>{t=!0;for(let l of i())s(l,e)},seek:l=>{let a=Math.max(0,(Number(l.time)||0)*1e3);e=a;for(let c of i()){let u=t?s(c,a):s(c,0),m=u.animationTimeMs+Math.max(0,a-u.compositionTimeMs);try{c.currentTime=m}catch(f){_("runtime.adapters.waapi.site1",f)}try{c.pause()}catch(f){_("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){_("runtime.adapters.waapi.site3",a)}}}}function ki(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function ds(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),l=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),c=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=c;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,l),x=[];for(let E=m;E<=f+1e-6;E+=u){let S=Math.min(f,E);e(S);let B=Number(t.volume);if(!Number.isFinite(B))continue;let D=Math.max(0,Math.min(1,B)),v=x.at(-1);if((!v||Math.abs(v.volume-D)>1e-4||S===f)&&x.push({time:Number(S.toFixed(6)),volume:Number(D.toFixed(6))}),S===f)break}return x.some(E=>Math.abs(E.volume-c)>1e-4)?x:null}function Ti(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=ds(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function vi(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 l=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(l))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,c=s.defaultPlaybackRate,u=Number.isFinite(c)&&c>0?Math.max(.1,Math.min(5,c)):1,m=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)/u));let F=Number.isFinite(x)&&x>0?l+x:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),S={el:s,start:l,mediaStart:a,duration:Number.isFinite(x)&&x>0?x:Number.POSITIVE_INFINITY,end:F,volume:Number.isFinite(E)?E:null,playbackRate:u,loop:m,sourceDuration:f};i.push(S),s.tagName==="VIDEO"&&r.push(S),Number.isFinite(F)&&(o=Math.max(o,F))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var yn=new WeakMap,ft=new WeakMap,Sn=new WeakSet,et=new WeakSet;function fs(t){if(et.has(t))return;et.add(t);let e=()=>et.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var bn=new WeakMap;function mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function _i(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 w=n.sourceDuration-n.mediaStart;w>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%w)}let s=mt(t.userVolume??1),l=mt(n.volume??1),a=bn.get(i),c=mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=mt(ki(n.volumeKeyframes,r)):a===void 0||Math.abs(c-a)>1e-4?u=c:u=l;let m=mt(u*s);i.volume=m,bn.set(i,m),t.onElementVolume?.(i,m),e&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(w){_("runtime.media.site1",w)}let f=.04,x=2,F=i.currentTime||0,E=Math.abs(F-r),S=r-F,B=yn.get(i);yn.set(i,S);let D=B===void 0,v=!D&&Math.abs(S-B)>.5,X=E>3,q=E>.5&&(D||v||X),C=i.tagName==="VIDEO"&&!i.paused,g=B!==void 0&&Math.abs(S-B)<.004,A=!1;if(!C&&!q&&!D&&g&&E>f){let w=(ft.get(i)??0)+1;ft.set(i,w),w>=x&&(A=!0,ft.set(i,0))}else E<=f&&ft.set(i,0);let N=!C&&t.forceSync&&E>.02;if(q||A||N){try{i.currentTime=r}catch(w){_("runtime.media.site2",w)}if(Math.abs(i.currentTime-r)>.5&&!Sn.has(i)){Sn.add(i),i.load();try{i.currentTime=r}catch(w){_("runtime.media.site3",w)}}et.delete(i)}t.playing&&i.paused&&!et.has(i)?(fs(i),i.play().catch(w=>{et.delete(i),(w&&typeof w=="object"&&"name"in w?String(w.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}yn.delete(i),ft.delete(i),Sn.delete(i),bn.delete(i),i.paused||i.pause()}}var ms=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),ps=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(",");function Ri(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(N){_("runtime.picker.site1",N)}}function l(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 N=g;for(;N&&N!==document.body&&N!==document.documentElement;){let w=A.getComputedStyle(N);if(w.display==="none"||w.visibility==="hidden"||w.pointerEvents==="none")return!0;let M=Number.parseFloat(w.opacity);if(Number.isFinite(M)&&M<=.01)return!0;N=N.parentElement}return!1}function u(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(ms)||c(g))}function m(g){return!!g?.closest(ps)}function f(g){let A=g;if(A.id)return`#${A.id}`;let N=g.getAttribute("data-composition-id");if(N)return`[data-composition-id="${N}"]`;let w=g.getAttribute("data-composition-src");if(w)return`[data-composition-src="${w}"]`;let M=g.getAttribute("data-track-index");if(M)return`[data-track-index="${M}"]`;let L=g.tagName.toLowerCase(),P=g.parentElement;if(!P)return L;let J=P.querySelectorAll(`:scope > ${L}`);if(J.length===1)return L;for(let R=0;R<J.length;R+=1)if(J[R]===g)return`${L}:nth-of-type(${R+1})`;return L}function x(g){let A=g.tagName.toLowerCase(),N=(g.textContent??"").trim().replace(/\\s+/g," "),w=(M,L)=>M.length>L?`${M.slice(0,L-1)}\\u2026`:M;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?N.length>0?w(N,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,N){let w=typeof N=="number"&&N>0?N:8,M=[];if(document.elementsFromPoint)M=document.elementsFromPoint(g,A);else if(document.elementFromPoint){let J=document.elementFromPoint(g,A);M=J?[J]:[]}if(m(M[0]??null))return[];let L={},P=[];for(let J=0;J<M.length;J+=1){let R=M[J];if(!u(R))continue;let le=`${R.tagName}::${R.id||""}::${J}`;if(!L[le]&&(L[le]=!0,P.push(R),P.length>=w))break}return P}function E(g){let A=g.getBoundingClientRect(),N={};for(let M=0;M<g.attributes.length;M+=1){let L=g.attributes[M];L.name.startsWith("data-")&&(N[L.name]=L.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:N}}function S(g,A,N){return F(g,A,N).map(E)}function B(g){if(!e)return;let N=F(g.clientX,g.clientY,1)[0]??(g.target instanceof Element?g.target:null);if(!u(N)||n===N)return;n&&n.classList.remove("__hf-pick-highlight"),n=N,N.classList.add("__hf-pick-highlight");let w=E(N);l(w),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:w})}function D(g){if(!e)return;g.preventDefault(),g.stopPropagation(),g.stopImmediatePropagation();let A=S(g.clientX,g.clientY,8);A.length!==0&&(l(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:g.clientX,y:g.clientY}}))}function v(g){g.key==="Escape"&&(q(),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",B,!0),document.addEventListener("click",D,!0),document.addEventListener("keydown",v,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function q(){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",B,!0),document.removeEventListener("click",D,!0),document.removeEventListener("keydown",v,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function C(){window.__HF_PICKER_API={enable:X,disable:q,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(g,A,N)=>Number.isFinite(g)&&Number.isFinite(A)?S(g,A,N):[],pickAtPoint:(g,A,N)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return null;let w=S(g,A,8);if(!w.length)return null;let M=Math.max(0,Math.min(w.length-1,Number(N??0))),L=w[M]??null;return L?(a(L),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:L}),q(),L):null},pickManyAtPoint:(g,A,N)=>{if(!Number.isFinite(g)||!Number.isFinite(A))return[];let w=S(g,A,8);if(!w.length)return[];let M=[],L=Array.isArray(N)?N:[0];for(let P of L){let J=Math.max(0,Math.min(w.length-1,Math.floor(Number(P)))),R=w[J];if(!R)continue;M.some(Se=>Se.selector===R.selector&&Se.tagName===R.tagName)||M.push(R)}return M.length?(a(M[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:M}),q(),M):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:X,disablePickMode:q,installPickerApi:C}}function tt(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 pt(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&_("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function ve(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&_("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function ht(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){_("runtime.player.site1",r)}}}function Li(t,e,n){let i=tt(e,n);return ve(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function hs(t,e,n,i){let r=[];ht(t,e,o=>{ve(o,"play"),r.push(o)});try{return Li(e,n,i)}finally{for(let o of r)try{ve(o,"pause")}catch(s){_("runtime.player.site2",s)}}}function xs(t,e){ht(t,e,n=>{ve(n,"play")})}function Di(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??pt(e,"duration",0))||0);n>0&&Math.max(0,pt(e,"time",0))>=n&&(ve(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),ve(e,"play"),ht(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ve(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;ve(e,"pause"),ht(t.getTimelineRegistry?.(),e,i=>{ve(i,"pause")});let n=Math.max(0,pt(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=hs(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ve(i,"play"),ht(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),ve(l,"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?(xs(t.getTimelineRegistry?.(),n),Li(n,e,i)):tt(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>pt(t.getTimeline(),"time",0),getDuration:()=>pt(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Bi(){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,nativeVisualWatchdogTick:0,transportClock:null,transportRafId:null}}var gs="data-hf-authored-duration",ys="data-hf-authored-end";function Qe(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Ss(t){return Qe(t.getAttribute("data-duration"))}function bs(t){return Qe(t.getAttribute("data-end"))}function As(t){return Qe(t.getAttribute(gs))}function Es(t){return Qe(t.getAttribute(ys))}function Fs(t){let e=(t??"").trim();if(!e)return null;let n=Qe(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",l=Number.parseFloat(s),a=Number.isFinite(l)?Math.max(0,l):0,c=o==="-"?-a:a;return{kind:"reference",refId:r,offset:c}}function Ye(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},l=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=Ss(u)??(n?As(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let F=bs(u)??(n?Es(u):null);if(F!=null){let E=c(u,0),S=F-E;Number.isFinite(S)&&S>0&&(f=S)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let F=Qe(u.getAttribute("data-playback-start"))??Qe(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>F&&(f=u.duration-F)}if(f==null||f<=0){let F=u.getAttribute("data-composition-id");if(F){let E=e[F]??null;if(E&&typeof E.duration=="function")try{let S=Number(E.duration());Number.isFinite(S)&&S>0&&(f=S)}catch(S){_("runtime.startResolver.site1",S)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?c(x,m):0}let f=u.closest("[data-composition-id]");return f?c(f,m):0},c=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=Fs(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let D=u.parentElement;if(D&&(D.hasAttribute("data-composition-src")||D.hasAttribute("data-composition-id"))){let v=c(D,m);return i.set(u,v),v}}return i.set(u,m),m}if(x.kind==="absolute"){let D=Math.max(0,x.value),v=Math.max(0,a(u,m)+D);return i.set(u,v),v}let F=s(x.refId);if(!F)return i.set(u,m),m;let E=c(F,0),S=l(F);if(S==null||S<=0){let D=Math.max(0,E+x.offset);return i.set(u,D),D}let B=Math.max(0,E+S+x.offset);return i.set(u,B),B}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>c(u,Math.max(0,m)),resolveDurationForElement:u=>l(u)}}var ws="data-hf-authored-duration",Ns="data-hf-authored-end";function Ee(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function An(t){return Ee(t.getAttribute("data-duration"))??Ee(t.getAttribute(ws))}function Ii(t){return Ee(t.getAttribute("data-end"))??Ee(t.getAttribute(Ns))}function En(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Oi={composition:0,video:1,image:2,element:3,audio:4};function Cs(t){if(t.length===0)return;let e=new Map;for(let s of t){let l=e.get(s.track)??new Set;l.add(s.kind),e.set(s.track,l)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,l)=>s-l);for(let s of o){let l=e.get(s);if(l.size===1)r.set(`${s}:${[...l][0]}`,i++);else{let a=[...l].sort((c,u)=>(Oi[c]??99)-(Oi[u]??99));for(let c of a)r.set(`${s}:${c}`,i++)}}for(let s of t){let l=`${s.track}:${s.kind}`,a=r.get(l);a!=null&&(s.track=a)}}function gt(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 Pi(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return gt(e);let n=t.getAttribute("data-composition-src");if(n)return gt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?gt(i.getAttribute("src")):null}function Ms(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 ks(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 Ts(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function xt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function vs(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 xt(r);let o=t.id;if(o)return xt(o);let s=Ms(t);if(s)return xt(s);let l=ks(Pi(t));if(l)return xt(l);let a=Ts(t);return a||`${xt(e)} ${n+1}`}function Wi(t){let n=window.__timelines??{},i=Ye({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=Ee(H.getAttribute("data-duration"));if(k!=null&&k>0)return k;let O=Ee(H.getAttribute("data-playback-start"))??Ee(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 ne=O.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(O,0):Math.max(0,Number(O.getAttribute("data-start")??0)||0);if(!Number.isFinite(ne))continue;let ee=o(O);ee==null||ee<=0||(k=Math.max(k,Math.max(0,ne)+ee))}return k>0?k:null},l=H=>{let k=H.trim().toLowerCase();return!(!k||k==="main"||k.includes("caption")||k.includes("ambient"))},a=(H,k)=>{let O=[],ne=null,ee=null,z=null,V=H.parentElement;for(;V;){let j=V.getAttribute("data-composition-id");j&&(O.push(j),!z&&V!==k&&(z=j),ne==null&&(ne=i.resolveStartForElement(V,0)),ee==null&&(ee=Ee(V.getAttribute("data-duration"))??r(j)??null)),V=V.parentElement}return{parentCompositionId:z,compositionAncestors:O.reverse(),inheritedStart:ne,inheritedDuration:ee}},c=document.querySelector("[data-composition-id]"),u=Array.from(document.querySelectorAll("[data-composition-id]")),m=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(m),S=An(c??document.body),B=En(...u.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})),D=B!=null?Math.max(0,B-Math.max(0,f)):null,v=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,X=typeof S=="number"&&Number.isFinite(S)&&S>0?S:null,q=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,C=typeof D=="number"&&Number.isFinite(D)&&D>0?D:null,g=En(q,C),A=v!=null&&g!=null&&v>g+1,w=X??(A?g:En(v,q,C))??null,L=(w!=null?f+w:null)??(typeof x=="number"&&Number.isFinite(x)&&x>0?x:null),P=(H,k)=>!Number.isFinite(k)||k<=0?0:L==null||!Number.isFinite(L)?k:!Number.isFinite(H)||H>=L?0:Math.max(0,Math.min(k,L-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),ne=i.resolveStartForElement(k,O.inheritedStart??0),ee=k.getAttribute("data-composition-id"),z=An(k);if((z==null||z<=0)&&ee&&ee!==m&&(z=r(ee)),(z==null||z<=0)&&k instanceof HTMLMediaElement){let we=Ee(k.getAttribute("data-playback-start"))??Ee(k.getAttribute("data-media-start"))??0;Number.isFinite(k.duration)&&k.duration>0&&(z=Math.max(0,k.duration-we))}if(z==null||z<=0){let we=O.inheritedDuration;if(we!=null&&we>0){let Le=(O.inheritedStart??0)+we;z=Math.max(0,Le-ne)}}if(z==null||z<=0||(z=P(ne,z),z<=0))continue;let V=ne+z;Se=Math.max(Se,V);let j=k.tagName.toLowerCase(),Ce=ee&&ee!==m?"composition":j==="video"?"video":j==="audio"?"audio":j==="img"?"image":"element";J.push({id:k.id||ee||null,label:vs(k,Ce,J.length),start:ne,duration:z,track:Number.parseInt(k.getAttribute("data-track-index")??k.getAttribute("data-track")??String(H),10)||0,kind:Ce,tagName:j,compositionId:k.getAttribute("data-composition-id"),compositionAncestors:O.compositionAncestors,parentCompositionId:O.parentCompositionId,nodePath:null,compositionSrc:gt(k.getAttribute("data-composition-src")),assetUrl:Pi(k),timelineRole:k.getAttribute("data-timeline-role"),timelineLabel:k.getAttribute("data-timeline-label"),timelineGroup:k.getAttribute("data-timeline-group"),timelinePriority:Ee(k.getAttribute("data-timeline-priority"))})}let $=new Set(J.map(H=>H.id)),U=c?.getAttribute("data-composition-id")??null,W=U?n[U]??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 V=z;if(!V.id)continue;let j=V.tagName.toLowerCase();j==="script"||j==="style"||j==="link"||O.set(V,{id:V.id,start:1/0,end:-1/0})}let ne=z=>{let V=z;for(;V;){if(O.has(V))return V;if(V===c)return null;V=V.parentElement}return null};for(let z of k){if(typeof z.targets!="function"||typeof z.startTime!="function"||typeof z.duration!="function")continue;let V=z.startTime(),j=z.parent;for(;j&&j!==W&&typeof j.startTime=="function";)V+=j.startTime(),j=j.parent;let Ce=V+z.duration();if(!(!Number.isFinite(V)||!Number.isFinite(Ce)))for(let we of z.targets()){if(!(we instanceof Element))continue;let $e=ne(we);if(!$e)continue;let Le=O.get($e);Le&&(Le.start=Math.min(Le.start,V),Le.end=Math.max(Le.end,Ce))}}let ee=J.length>0?Math.max(...J.map(z=>z.track))+1:0;for(let[z,V]of O){if(V.start===1/0||V.end===-1/0)continue;let j=z;if($.has(j.id))continue;let Ce=Math.max(0,V.end-V.start);if(Ce<=0)continue;let we=P(V.start,Ce);we<=0||(Se=Math.max(Se,V.start+we),J.push({id:j.id,label:j.getAttribute("data-timeline-label")??j.getAttribute("data-label")??j.getAttribute("aria-label")??j.id,start:V.start,duration:we,track:Number.parseInt(j.getAttribute("data-track-index")??j.getAttribute("data-track")??"",10)||ee,kind:"element",tagName:j.tagName.toLowerCase(),compositionId:j.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:j.getAttribute("data-timeline-role"),timelineLabel:j.getAttribute("data-timeline-label"),timelineGroup:j.getAttribute("data-timeline-group"),timelinePriority:Ee(j.getAttribute("data-timeline-priority"))}),$.add(j.id))}}catch(k){_("runtime.timeline.site1",k)}}if(c&&w!=null&&w>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||$.has(O.id))continue;let ne=O.getAttribute("data-timeline-role");if(ne!=="overlay"&&ne!=="persistent-overlay")continue;let ee=O.tagName.toLowerCase();if(ee==="script"||ee==="style"||ee==="link"||ee==="meta"||window.getComputedStyle(O).display==="none")continue;let V=P(0,w);V<=0||(Se=Math.max(Se,V),J.push({id:O.id,label:O.getAttribute("data-timeline-label")??O.getAttribute("data-label")??O.getAttribute("aria-label")??O.id,start:0,duration:V,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:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ne,timelineLabel:O.getAttribute("data-timeline-label"),timelineGroup:O.getAttribute("data-timeline-group"),timelinePriority:Ee(O.getAttribute("data-timeline-priority"))}),$.add(O.id))}}Cs(J);for(let H of u){if(H===c)continue;let k=H.getAttribute("data-composition-id");if(!k||!l(k))continue;let O=i.resolveStartForElement(H,0),ne=An(H);if((ne==null||ne<=0)&&Ii(H)!=null){let j=Ii(H);ne=Math.max(0,j-O)}let ee=r(k),z=ne&&ne>0?ne:ee;if(z==null||z<=0)continue;let V=P(O,z);V<=0||R.push({id:k,label:H.getAttribute("data-label")??k,start:O,duration:V,thumbnailUrl:gt(H.getAttribute("data-thumbnail-url")),avatarName:null})}let Y=Math.max(1,Se||1,w??0);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:Ee(c?.getAttribute("data-width"))??1920,compositionHeight:Ee(c?.getAttribute("data-height"))??1080}}var ae=us(co(),1),fo=ae.default,Xc=ae.default.stringify,ed=ae.default.fromJSON,td=ae.default.plugin,nd=ae.default.parse,id=ae.default.list,rd=ae.default.document,od=ae.default.comment,sd=ae.default.atRule,ad=ae.default.rule,ld=ae.default.decl,ud=ae.default.root,cd=ae.default.CssSyntaxError,dd=ae.default.Declaration,fd=ae.default.Container,md=ae.default.Processor,pd=ae.default.Document,hd=ae.default.Comment,xd=ae.default.Warning,gd=ae.default.AtRule,yd=ae.default.Result,Sd=ae.default.Input,bd=ae.default.Rule,Ad=ae.default.Root,Ed=ae.default.Node;var Kn="data-hf-authored-id";function Jn(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Qn(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 mo(t){let e=t.trim();return e?Array.from(new Set([e,Za(e)])).filter(Boolean):[]}function Xa(t){return!!t&&/[\\w-]/.test(t)}function el(t,e,n){let i=mo(e).sort((l,a)=>a.length-l.length);if(i.length===0)return t;let r="",o=0,s=null;for(let l=0;l<t.length;l+=1){let a=t[l],c=l>0?t[l-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 u=i.find(m=>t.startsWith(m,l+1));if(u){let m=t[l+1+u.length];if(!Xa(m)){r+=n,l+=u.length;continue}}}r+=a}return r}function tl(t,e){let n=e?.trim();return n?el(t,n,`[${Kn}="${Qn(n)}"]`):t}function nl(t,e,n,i,r){let o=tl(t,i),s=il(o,e,n),l=s.trim();if(!l||/^(html|body|:root|\\*)$/i.test(l))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Jn(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(l))return s.replace(a,e);let c=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Kn}="${Qn(i)}"]`:null;if(m&&l.startsWith(m)){let f=l.slice(m.length);return`${c}${e}${m}${f}${u}`}}return`${c}${e} ${l}${u}`}function il(t,e,n){let i=Jn(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 rl=new Set(["keyframes","-webkit-keyframes","font-face"]);function ol(t){return t?.type==="atrule"}function sl(t){let e=t.parent;for(;e;){if(ol(e)&&rl.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Yn(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Qn(o)}"]`,l=fo.parse(t);return l.walkRules(a=>{sl(a)||(a.selectors=a.selectors.map(c=>nl(c,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function po(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),l=JSON.stringify(r),a=JSON.stringify(n),c=Jn(e),u=JSON.stringify(o?.trim()||null),m=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(mo(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${l};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Kn)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${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 return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function ho(){if(typeof document>"u")return{};let t=Zn(document.documentElement),e=al();return{...t,...e}}function Zn(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 al(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ll=8e3,ul=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function cl(t,e){return`${t}__hf${e}`}var dl=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"),ll)});function Xn(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var fl=["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 ml(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of fl)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function xo(t,e){let n=t.trim();if(!n)return t;try{return ul.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function pl(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 nn(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 hl(t){let e=new Map;for(let n of t){let i=nn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function go(t){let e=nn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function xl(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function gl(t){return t.hasAttribute("data-composition-src")?!0:go(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:xl(t):!1}function ti(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:go(e))}function yo(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(ti().map(n=>nn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function So(t,e=hl(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=nn(r),l=gl(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,c=s||o;if(l){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),c=a?cl(o,u):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 ei(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Yn(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let l=Array.from(n.querySelectorAll("style"));for(let f of l){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Yn(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=xo(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")),u=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",F=f.getAttribute("src")?.trim()??"";if(F){let E=xo(F,t.compositionUrl);u.push({kind:"external",src:E,type:x})}else{let E=f.textContent?.trim()??"";E&&u.push({kind:"inline",content:E,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),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),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(ml(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...pl(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=po(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 dl(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 bo(t){let e=ti();if(yo(),e.length===0)return;let n=So(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 l=document.querySelector(`template#${CSS.escape(s)}-template`);Xn(r),await ei({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:l.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ao(t){let e=ti();if(yo(),e.length===0)return;let n=So(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),l=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||l||null,c=null;try{c=new URL(o,document.baseURI)}catch{c=null}Xn(r);try{let u=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(u){await ei({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),F=new DOMParser().parseFromString(f,"text/html"),E=(l?F.querySelector(`template#${CSS.escape(l)}-template`):null)??F.querySelector("template"),S=E?E.content:F.body,B=E?void 0:Array.from(F.head.querySelectorAll("style")),D=E?void 0:Array.from(F.head.querySelectorAll("script")),v=E?void 0:Array.from(F.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await ei({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:S,hasTemplate:!!E,fallbackBodyInnerHtml:F.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:B,headScripts:D,headLinks:v,declaredVariableDefaults:Zn(F.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Xn(r)}}))}function yl(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function Sl(){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 bl(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 ni(){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=Sl();for(let i of e){let r=null;if(i.wordId&&(r=yl(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),c=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===c?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let l=bl(r);t.set(l,o)}}}).catch(()=>{})}var rn=class{constructor(e){ye(this,"_baseTime",0);ye(this,"_playStartMs",null);ye(this,"_rate",1);ye(this,"_duration",1/0);ye(this,"_nowMs");ye(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 Eo(t){return!Number.isFinite(t)||t<=0?1:t}var on=class{constructor(){ye(this,"_ctx",null);ye(this,"_bufferCache",new Map);ye(this,"_failedSrcs",new Set);ye(this,"_activeSources",[]);ye(this,"_masterGain",null);ye(this,"_rateAnchorCtx",0);ye(this,"_rateAnchorComp",0);ye(this,"_rate",1);ye(this,"_paused",!0);ye(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;try{let i=await fetch(n);if(!i.ok)return this._failedSrcs.add(n),_("webAudioTransport.fetch",new Error(`${i.status} ${n}`)),null;let r=await i.arrayBuffer(),o=await this._ctx.decodeAudioData(r);return this._bufferCache.set(n,o),o}catch(i){return this._failedSrcs.add(n),_("webAudioTransport.decode",i),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1){if(!this._ctx||!this._masterGain||l!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),l!==this._playGeneration)return null;let c=Eo(a),u=this._ctx.createBufferSource();u.buffer=n,u.playbackRate.value=c;let m=this._ctx.createGain();m.gain.value=s,u.connect(m),m.connect(this._masterGain);let f=o-i,x=this._ctx.currentTime;if(this._rate=c,this._rateAnchorCtx=x,this._rateAnchorComp=o,f>=0)u.start(0,f+r);else{let S=-f/c;u.start(x+S,r)}let F=e.muted;e.muted=!0;let E={el:e,sourceNode:u,gainNode:m,compositionStart:i,mediaStart:r,scheduledAt:x,priorMuted:F};return this._activeSources.push(E),this._paused=!1,E}catch(c){return _("webAudioTransport.schedule",c),null}}setRate(e){let n=Eo(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){_("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)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){_("webAudioTransport.setElementVolume",o)}}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 Fo="data-hf-authored-duration",wo="data-hf-authored-end";function No(){let t=Bi(),e=null,n=null,i=[],r=new Set,o=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){_("runtime.init.site1",d)}document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let s=d=>{i.push(d)},l=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;r.has(b)||(r.add(b),Ae({source:"hf-preview",type:"diagnostic",code:d,details:p}))},a=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],y={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...y,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},c=1/60,u=.75,m=2,f=.05,x=100,F=240,E=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??"")}},S=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},B=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},D=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.length===0?null:p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null},v=()=>{let d=D();if(!d)return;let p=B(d.getAttribute("data-width")),h=B(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},X=()=>{let d=D(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),y=h.getAttribute("data-end");b!=null&&!h.hasAttribute(Fo)&&h.setAttribute(Fo,b),y!=null&&!h.hasAttribute(wo)&&h.setAttribute(wo,y),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},q=()=>{let d=D();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=B(d.getAttribute("data-width")),h=B(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let y of b){let T=y.tagName.toLowerCase();if(T==="script"||T==="style"||T==="link"||T==="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%",G=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(y.style.transform);if(te&&G&&!y.hasAttribute("data-width")&&!y.hasAttribute("data-height")){let Je=y.style.top,fe=y.style.left,ct=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=Je,y.style.left=fe,y.style.width=ct,y.style.height=oe)}let ie=window.getComputedStyle(y),xe=ie.position;if(xe!=="absolute"&&xe!=="fixed"&&(y.style.position="absolute"),!!y.style.top||!!y.style.bottom||ie.top!=="auto"||ie.bottom!=="auto"||(y.style.top="0"),!!y.style.left||!!y.style.right||ie.left!=="auto"||ie.right!=="auto"||(y.style.left="0"),T!=="audio"){let Je=B(y.getAttribute("data-width")),fe=B(y.getAttribute("data-height")),ct=ie.width!=="0px"&&ie.width!=="auto",oe=ie.height!=="0px"&&ie.height!=="auto";Je?!y.style.width&&!ct&&(y.style.width=Je):!y.style.width&&ie.width==="0px"&&(y.style.width="100%"),fe?!y.style.height&&!oe&&(y.style.height=fe):!y.style.height&&ie.height==="0px"&&(y.style.height="100%")}}},C=(d,p=0,h)=>Ye({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),g=(d,p)=>Ye({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),A=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0):C(d,p),N=!!document.querySelector("[data-composition-src]"),w=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){w=!0;break}}}let M=!N&&!w,L=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},P=d=>typeof d=="number"&&Number.isFinite(d)&&d>c,J=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},R=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=A(h,0);if(!Number.isFinite(b))continue;let y=J(h);y==null||y<=c||(p=Math.max(p,Math.max(0,b)+y))}return p>c?p:null},le=()=>{let d=D();if(!d)return null;let p=window.__timelines??{},h=Ye({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,y=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let T of y){if(!(T instanceof Element)||T.parentElement?.closest("[data-composition-id]")!==d)continue;let G=h.resolveStartForElement(T,0),ie=h.resolveDurationForElement(T);!Number.isFinite(G)||ie==null||ie<=0||(b=Math.max(b,Math.max(0,G)+ie))}return b>c?b:null},Se=()=>{let d=R();return typeof d!="number"||!Number.isFinite(d)||d<=c?null:d},$=d=>P(d)?Math.max(c,d*u):c,U=(d,p=0)=>{let h=L(d),b=Se(),y=le(),T=Math.max(b??0,y??0),te=Number.isFinite(p)&&p>c?p:0,G=0;return P(h)?G=Math.max(h,T,te):P(T)?G=Math.max(T,te):G=te,G>0?Math.max(0,G):0},W=()=>{let d=window.__timelines??{},p=Ye({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=Se(),b=le(),y=Math.max(h??0,b??0)||null,T=$(y),te=oe=>{let Q=document.querySelector(`[data-composition-id="${CSS.escape(oe)}"]`);return Q?p.resolveStartForElement(Q,0):0},G=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},ie=(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){_("runtime.init.site2",se)}let be=he;if(typeof be.to=="function")try{be.to({},{duration:oe})}catch(se){_("runtime.init.site3",se)}return he},xe=(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(Te=>Te===se.timeline))try{let Te=te(se.compositionId);oe.add(se.timeline,Te),be.push(se.compositionId)}catch(Te){_("runtime.init.site4",Te)}return be}catch{return[]}},Ie=D(),de=Ie?.getAttribute("data-composition-id")??null;if(!de)return{timeline:null};let ge=d[de]??null,fe=(()=>{if(!Ie)return[];let oe=new Set,Q=Array.from(Ie.querySelectorAll("[data-composition-id]")),ue=[];for(let he of Q){let be=he.getAttribute("data-composition-id");if(!be||be===de||oe.has(be))continue;oe.add(be);let se=d[be]??null;if(!se||typeof se.play!="function"||typeof se.pause!="function")continue;let Ne=L(se);ue.push({compositionId:be,timeline:se,durationSeconds:Ne??0})}return ue})(),ct=oe=>{for(let Q of oe){let ue=Q.timeline;if(typeof ue.paused=="function")try{ue.paused(!1)}catch(he){_("runtime.init.site5",he)}}};if(fe.length>0&&ct(fe),ge){let oe=fe.length>0?xe(ge,fe):[];if((fe.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+de+"\'])"))&&(Y=!0),oe.length>0)try{let se=ge.time();ge.seek(se,!1)}catch{}let Q=L(ge);if(!P(Q)&&fe.length>0){let se=fe.map(ts=>ts.compositionId),Ne=G(fe),Te=L(Ne);if(Ne&&P(Te))return{timeline:Ne,selectedTimelineIds:se,selectedDurationSeconds:Te,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:de,rootDurationSeconds:Q,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:Te,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:b,selectedTimelineIds:se,autoNestedChildren:oe}}};let pn=ie(y??0,ge),hn=L(pn);if(pn&&P(hn))return{timeline:pn,selectedTimelineIds:[de],selectedDurationSeconds:hn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:de,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:hn,selectedTimelineIds:[de],autoNestedChildren:oe}}}}if(!P(Q)&&fe.length===0){let se=ie(y??0,ge),Ne=L(se);if(se&&P(Ne))return{timeline:se,selectedTimelineIds:[de],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:de,rootDurationSeconds:Q,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:b,selectedDurationSeconds:Ne,selectedTimelineIds:[de]}}}}let ue=Ie?.getAttribute("data-duration"),he=ue?parseFloat(ue):null,be=Math.max(P(he)?he:0,b??0);if(be>0&&P(be)&&P(Q)&&be>=Q+.5){let se=ge;if(typeof se.to=="function")try{se.to({},{duration:0},be)}catch(Te){_("runtime.init.site6",Te)}let Ne=L(ge);if(P(Ne))return{timeline:ge,selectedTimelineIds:[de],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:de,rootDurationSeconds:Q,rootDeclaredDur:he,authoredCompositionDurationFloorSeconds:b,newDur:Ne}}}}return{timeline:ge,selectedTimelineIds:[de],selectedDurationSeconds:Q,mediaDurationFloorSeconds:h,diagnostics:oe.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:de,selectedDurationSeconds:Q,autoNestedChildren:oe}}:void 0}}if(fe.length>0){let oe=fe.map(he=>he.compositionId),Q=G(fe),ue=L(Q);if(Q)return{timeline:Q,selectedTimelineIds:oe,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:de,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:ue,mediaDurationFloorSeconds:h,selectedTimelineIds:oe}}}}return{timeline:null}},Y=!1,me=()=>{if(!M)return!1;let d=t.capturedTimeline,p=L(d),h=P(p);if(d&&h&&Y)return!1;let b=W();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let y=U(t.capturedTimeline,0);if(y>0){try{I.setDuration(y)}catch{}t.capturedTimeline.pause()}b.diagnostics&&Ae({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ae({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}});for(let T of V)j.delete(T),Le(T);return!0};window.__hfForceTimelineRebind=()=>{Y=!1,me()};let Fe=()=>{let d=D();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),y=window.getComputedStyle(d),T=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,te=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!T||!te||l("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:y.display,visibility:y.visibility,overflow:y.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},H=()=>{t.tornDown||(o!=null&&window.cancelAnimationFrame(o),o=window.requestAnimationFrame(()=>{o=null,Fe()}))},k=()=>{e=d=>{let p=E(d.error??d.message).slice(0,F);if(!p)return;let h=S(p);Ae({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},n=d=>{let p=E(d.reason).slice(0,F);if(!p)return;let h=S(p);Ae({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",e),window.addEventListener("unhandledrejection",n)},O=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let y=h.tagName.toLowerCase(),T=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,te=y==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";l(te,{tagName:y,assetUrl:T,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}:${T??"unknown"}`)};h.addEventListener("error",b),s(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&l("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},ne=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),y=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),y&&t.capturedTimeline.play()}catch(T){_("runtime.init.site7",T)}return Ae({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},ee=null,z=!1,V=new Set,j=new WeakMap,Ce=()=>{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){me()&&(Ge(),Me(!0));return}if(z)return;let h=L(t.capturedTimeline),b=d.selectedDurationSeconds??L(d.timeline);P(b)&&(!P(h)||b>=h+f)&&ne(d,"manual")&&(z=!0,Ae({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),Ge(),Me(!0))},x))},we=()=>{for(let d of V)d.removeEventListener("loadedmetadata",Ce),d.removeEventListener("durationchange",Ce);V.clear()},$e=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(V.has(p))continue;V.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",Ce),p.addEventListener("durationchange",Ce),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),Le(p)}},Le=d=>{j.has(d)||Ti(d,t.capturedTimeline,U(t.capturedTimeline,0),j)},We=()=>{let d=y=>{let T=y.closest("[data-composition-id]"),te=T?C(T,0):null,G=T?g(T,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:T,inheritedStart:te,inheritedDuration:G}},p=vi({shouldIncludeElement:y=>y.hasAttribute("data-start")||!!d(y).compositionRoot,resolveStartSeconds:y=>{let T=d(y);return A(y,T.inheritedStart??0)},resolveDurationSeconds:y=>{let T=d(y),te=A(y,T.inheritedStart??0),G=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,ie=T.inheritedStart!=null&&T.inheritedDuration!=null&&T.inheritedDuration>0?Math.max(0,T.inheritedStart+T.inheritedDuration-te):null,xe=Number.isFinite(y.duration)&&y.duration>G?Math.max(0,y.duration-G):null;return xe!=null&&ie!=null?Math.min(xe,ie):xe??ie}});for(let y of p.mediaClips){let T=j.get(y.el);T&&(y.volumeKeyframes=T)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),_i({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||pe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(y,T)=>pe.setElementVolume(y,T),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ae({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]"));for(let y of b){if(!(y instanceof HTMLElement))continue;let T=y.tagName.toLowerCase();if(T==="script"||T==="style"||T==="link"||T==="meta")continue;let te=T==="video"||T==="audio"?A(y,0):C(y,0),G=g(y),ie=y.getAttribute("data-composition-id");if(ie){let de=(window.__timelines??{})[ie],ge=null;if(de&&typeof de.duration=="function"){let fe=Number(de.duration());Number.isFinite(fe)&&fe>0&&(ge=fe)}let Je=y.hasAttribute("data-composition-src")||y.hasAttribute("data-composition-file");G!=null&&G>0&&ge!=null&&!Je?G=Math.min(G,ge):(G==null||G<=0)&&ge!=null&&(G=ge)}let xe=G!=null&&G>0?te+G:Number.POSITIVE_INFINITY,Ie=t.currentTime>=te&&(Number.isFinite(xe)?t.currentTime<xe:!0);y.style.visibility=Ie?"visible":"hidden"}},Me=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ae({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Ge=()=>{X(),v(),q();let d=D();if(d){let h=B(d.getAttribute("data-width")),b=B(d.getAttribute("data-height")),y=h?parseInt(h,10):0,T=b?parseInt(b,10):0;y>0&&T>0&&Ae({source:"hf-preview",type:"stage-size",width:y,height:T})}me();let p=Wi({canonicalFps:t.canonicalFps});window.__clipManifest=p,Ae(p),H()},De=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){_("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){_("runtime.init.site9",b)}}};if(M)ni();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:B,onDiagnostic:({code:p,details:h})=>{Ae({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ao(d).then(()=>bo(d)).finally(()=>{M=!0,me(),window.__renderReady=!0,$e(),De("discover",t.currentTime),O(),ni(),Ge(),Me(!0)})}let Pt=Ri({postMessage:d=>Ae(d)});Pt.installPickerApi();let dn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(y){_("runtime.init.site10",y)}},ce=Di({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:dn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,We()},onStatePost:Me,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){_("runtime.init.site11",h)}},onDeterministicPause:()=>De("pause"),onDeterministicPlay:()=>De("play"),onRenderFrameSeek:()=>{},onShowNativeVideos:()=>{},getSafeDuration:()=>U(t.capturedTimeline,0)});window.__player=a(ce),window.__playerReady=!0,xi(Ae),dt("composition_loaded",{duration:ce.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=hi({onPlay:()=>{ce.play(),dt("composition_played",{time:ce.getTime()})},onPause:()=>{ce.pause(),dt("composition_paused",{time:ce.getTime()})},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;ce.seek(h),dt("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;pe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p)},onSetVolume:d=>{t.bridgeVolume=d,pe.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),y=Number.isFinite(b)?b:1;h.volume=y*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;pe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p)},onSetPlaybackRate:d=>{dn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),pe.setRate(t.playbackRate)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,Ke(d),I.reachedEnd()){pe.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,Ke(p)),De("pause"),We(),Me(!0)}},onEnablePickMode:()=>Pt.enablePickMode(),onDisablePickMode:()=>Pt.disablePickMode()}),me(),t.capturedTimeline&&(ce._timeline=t.capturedTimeline),window.__renderReady=!0,M&&setTimeout(()=>{let d=t.capturedTimeline;me()&&t.capturedTimeline!==d&&(ce._timeline=t.capturedTimeline),De("discover",t.currentTime),window.__renderReady=!0,Ge(),Me(!0)},0),t.deterministicAdapters=[Mi(),gi({resolveStartSeconds:d=>C(d,0)}),Si(),Ei(),wi(),Ni(),yi({getTimeline:()=>t.capturedTimeline})],Ci(),k(),$e(),De("discover");let I=new rn;t.transportClock=I;let pe=new on,di=!1;pe.init().then(d=>{di=d});let Wt=0,fn=!1,Zo=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){_(h,b)}},Xo=d=>{let p=window.__timelines??{},h=D()?.getAttribute("data-composition-id")??null;for(let[b,y]of Object.entries(p)){if(!y||b===h)continue;let T=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!T)continue;let te=C(T,0);if(!Number.isFinite(te))continue;let G=g(T,{includeAuthoredTimingAttrs:!0}),ie=L(y),xe=G!=null&&G>0?G:ie,Ie=Math.max(0,xe!=null&&xe>0?Math.min(xe,d-te):d-te);Zo(y,Ie,"runtime.init.transport.childTimeline")}},es=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){_("runtime.init.activateSiblings",b)}},Ke=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&es(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(b){_("runtime.init.transport.seek",b)}}else Xo(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(y){_("runtime.init.transport.adapter",y)}},fi=()=>{if(!(t.tornDown||fn)){fn=!0;try{if(t.transportRafId=window.requestAnimationFrame(fi),Wt+=1,Wt%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<m)){let h=t.capturedTimeline;if(me()){t.capturedTimeline&&!ce._timeline&&(ce._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=U(t.capturedTimeline,0);b>0&&I.setDuration(b),Ge()}}if(Wt%20===0&&Ge(),Wt%30===0&&$e(),t.capturedTimeline){let p=U(t.capturedTimeline,0);p>0&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(pe.isActive()&&pe.context){let p=pe.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let y=Number.parseFloat(b.dataset.start??""),T=Number.parseFloat(b.dataset.duration??""),te=Number.isFinite(T)&&T>0?y+T:1/0,G=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(y)&&t.currentTime>=y&&t.currentTime<te){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:y,mediaStart:G}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,Ke(d),I.isPlaying()&&I.reachedEnd()){pe.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,Ke(p)),De("pause"),We(),Me(!0);return}I.isPlaying()&&We(),Me(!1)}finally{fn=!1}}},mi=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let y=Number.parseFloat(h.dataset.duration??""),T=Number.isFinite(y)&&y>0?b+y:1/0;if(d<b||d>=T)continue;let te=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,G=d-b+te;if(G>=0)try{h.currentTime=G}catch{}}};if(ce.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=U(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,Ke(0));else{let h=D(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}if(d&&d.pause(),!!I.play()){if(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,mi(I.now()),di){let h=pe.startGeneration(),b=document.querySelectorAll("audio[data-start]");for(let y of b){if(!(y instanceof HTMLMediaElement)||!y.isConnected)continue;let T=Number.parseFloat(y.dataset.start??"");if(!Number.isFinite(T))continue;let te=Number.parseFloat(y.dataset.playbackStart??y.dataset.mediaStart??"0")||0,G=Number.parseFloat(y.dataset.volume??""),ie=Number.isFinite(G)?G:1;pe.decodeAudioElement(y).then(xe=>{!xe||!I.isPlaying()||pe.schedulePlayback(y,xe,T,te,I.now(),ie*t.bridgeVolume,h,t.playbackRate)})}}De("play"),We(),Me(!0)}},ce.pause=()=>{if(!I.isPlaying())return;pe.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,mi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),De("pause"),We(),Me(!0)},ce.seek=d=>{let p=tt(Math.max(0,Number(d)||0),t.canonicalFps);pe.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),Ke(t.currentTime),De("pause"),We(),Me(!0)},ce.renderSeek=d=>{let p=tt(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,Ke(t.currentTime,{activateChildren:!0}),We(),Me(!0)},ce.getTime=()=>I.now(),ce.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},ce.isPlaying=()=>I.isPlaying(),ce.setPlaybackRate=d=>{dn(d),I.setRate(t.playbackRate),pe.setRate(t.playbackRate)},t.capturedTimeline){let d=U(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let pi=window.__player;if(pi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(pi,p,{get:()=>ce[p],set:h=>{ce[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(fi),Ge(),Me(!0);let mn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,pe.destroy(),ee!=null&&(window.clearTimeout(ee),ee=null),o!=null&&(window.cancelAnimationFrame(o),o=null),we(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),e&&(window.removeEventListener("error",e),e=null),n&&(window.removeEventListener("unhandledrejection",n),n=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),Pt.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){_("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of i.splice(0))try{d()}catch(p){_("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){_("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){_("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===mn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=mn,t.beforeUnloadHandler=mn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Co=["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"],ii=[[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 Al(t){if(t<=255)return Co[t];let e=0,n=ii.length-1;for(;e<=n;){let i=e+n>>1,r=ii[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function El(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let c=0;c<e;){let u=t.charCodeAt(c),m=u,f=1;if(u>=55296&&u<=56319&&c+1<e){let F=t.charCodeAt(c+1);F>=56320&&F<=57343&&(m=(u-55296<<10)+(F-56320)+65536,f=2)}let x=Al(m);(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 u=n[c];if(u==="L"){r=0;break}if(u==="R"||u==="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",l=s,a=l;for(let c=0;c<e;c++)n[c]==="NSM"?n[c]=a:a=n[c];a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}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 u;for(u=c-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=c+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let c=0;c<e;c++){let u=n[c];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[c]="ON")}a=l;for(let c=0;c<e;c++){let u=n[c];u==="EN"?n[c]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let c=0;c<e;c++){if(n[c]!=="ON")continue;let u=c+1;for(;u<e&&n[u]==="ON";)u++;let m=c>0?n[c-1]:l,f=u<e?n[u]:l,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let E=c;E<u;E++)n[E]=x;c=u-1}for(let c=0;c<e;c++)n[c]==="ON"&&(n[c]=s);for(let c=0;c<e;c++){let u=n[c];(o[c]&1)===0?u==="R"?o[c]++:(u==="AN"||u==="EN")&&(o[c]+=2):(u==="L"||u==="AN"||u==="EN")&&o[c]++}return o}function Mo(t,e){let n=El(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 Fl=/[ \\t\\n\\r\\f]+/g,wl=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Nl(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function Cl(t){if(!wl.test(t))return t;let e=t.replace(Fl," ");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 Ml(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var ri=null,kl;function Tl(){return ri===null&&(ri=new Intl.Segmenter(kl,{granularity:"word"})),ri}var vl=/\\p{Script=Arabic}/u,sn=/\\p{M}/u,Bo=/\\p{Nd}/u;function ko(t){return vl.test(t)}function To(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(To(r))return!0;e++;continue}}if(To(n))return!0}}return!1}function _l(t){let e=un(t);return e!==null&&(ln.has(e)||ze.has(e))}var Rl=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ll(t){return Re(t)}function Dl(t){let e=un(t);return e!==null&&Rl.has(e)}function an(t){return!_l(t)&&!Dl(t)}var ln=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"]),Ot=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),si=new Set(["\'","\\u2019"]),ze=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Bl=new Set([":",".","\\u060C","\\u061B"]),Il=new Set(["\\u104F"]),Ol=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Pl(t){if(ai(t))return!0;let e=!1;for(let n of t){if(ze.has(n)){e=!0;continue}if(!(e&&sn.test(n)))return!1}return e}function Wl(t){for(let e of t)if(!ln.has(e)&&!ze.has(e))return!1;return t.length>0}function Hl(t){if(ai(t))return!0;for(let e of t)if(!Ot.has(e)&&!si.has(e)&&!sn.test(e))return!1;return t.length>0}function ai(t){let e=!1;for(let n of t)if(!(n==="\\\\"||sn.test(n))){if(Ot.has(n)||ze.has(n)||si.has(n)){e=!0;continue}return!1}return e}function Io(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 un(t){if(t.length===0)return null;let e=Io(t,t.length);return t.slice(e)}function ql(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(sn.test(i)){n--;continue}if(Ot.has(i)||si.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Vl(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function vo(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 l=r.repeat(s);return t[i]=l,l}function _o(t,e){return t&&e!==null&&Bl.has(e)}function Ul(t){let e=un(t);return e!==null&&Il.has(e)}function zl(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 cn(t){let e=t.length;for(;e>0;){let n=Io(t,e),i=t.slice(n,e);if(Ol.has(i))return!0;if(!ze.has(i))return!1;e=n}return!1}function jl(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 $l=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function ke(t){return t.length===1?t[0]:t.join("")}function Gl(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),ke(n)}function Kl(t,e,n,i){if(!$l.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],l=n,a=!1,c=0;for(let u of t){let m=jl(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),c+=u.length;continue}o!==null&&r.push({text:ke(s),isWordLike:a,kind:o,start:l}),o=m,s=[u],l=n+c,a=f,c+=u.length}return o!==null&&r.push({text:ke(s),isWordLike:a,kind:o,start:l}),r}function oi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Jl=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Ql(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Jl.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Yl(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 l=[e[s]],a=s+1;for(;a<t.len&&!oi(i[a]);){l.push(e[a]),n[s]=!0;let c=e[a].includes("?");if(i[a]="text",e[a]="",a++,c)break}e[s]=ke(l)}let o=0;for(let s=0;s<e.length;s++){let l=e[s];l.length!==0&&(o!==s&&(e[o]=l,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 Xl(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]),!Yl(s))continue;let l=o+1;if(l>=t.len||oi(t.kinds[l]))continue;let a=[],c=t.starts[l],u=l;for(;u<t.len&&!oi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(ke(a)),n.push(!0),i.push("text"),r.push(c),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var eu=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Ro=/^[A-Za-z0-9_]+[,:;]*$/,Lo=/[,:;]+$/;function Oo(t){for(let e of t)if(Bo.test(e))return!0;return!1}function It(t){if(t.length===0)return!1;for(let e of t)if(!(Bo.test(e)||eu.has(e)))return!1;return!0}function tu(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o];if(l==="text"&&It(s)&&Oo(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&It(t.texts[c]);)a.push(t.texts[c]),c++;e.push(ke(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(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nu(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],l=t.kinds[o],a=t.isWordLike[o];if(l==="text"&&a&&Ro.test(s)){let c=[s],u=Lo.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&Ro.test(t.texts[m]);){let f=t.texts[m];c.push(f),u=Lo.test(f),m++}e.push(ke(c)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(l),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function iu(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 l=s.split("-"),a=l.length>1;for(let c=0;c<l.length;c++){let u=l[c];if(!a)break;(u.length===0||!Oo(u)||!It(u))&&(a=!1)}if(a){let c=0;for(let u=0;u<l.length;u++){let m=l[u],f=u<l.length-1?`${m}-`:m;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 ru(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],l=t.isWordLike[o],a=t.kinds[o],c=t.starts[o];if(a==="glue"){let u=[s[0]],m=c;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=ke(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),l=t.isWordLike[o],a="text",c=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=ke(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),l=l||t.isWordLike[o],o++;continue}s.push(m)}e.push(ke(s)),n.push(l),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ou(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=ql(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 Do(t,e,n){let i=Tl(),r=0,o=[],s=[],l=[],a=[],c=[],u=[],m=[],f=[],x=[],F=[],E=[],S=[];for(let C of i.segment(t))for(let g of Kl(C.segment,C.isWordLike??!1,C.index,n)){let le=function(){u[R]!==null&&(s[R]=[vo(o,u,m,R)],u[R]=null),s[R].push(g.text),l[R]=l[R]||g.isWordLike,f[R]=f[R]||w,x[R]=x[R]||M,F[R]=P,E[R]=J,S[R]=_o(x[R],L)},A=g.kind==="text",N=Vl(g.text,g.isWordLike,g.kind),w=Re(g.text),M=ko(g.text),L=un(g.text),P=cn(g.text),J=Ul(g.text),R=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[R]==="text"&&w&&f[R]&&F[R]||A&&r>0&&a[R]==="text"&&Wl(g.text)&&f[R]||A&&r>0&&a[R]==="text"&&E[R]?le():A&&r>0&&a[R]==="text"&&g.isWordLike&&M&&S[R]?(le(),l[R]=!0):N!==null&&r>0&&a[R]==="text"&&u[R]===N?m[R]=(m[R]??1)+1:A&&!g.isWordLike&&r>0&&a[R]==="text"&&(Pl(g.text)||g.text==="-"&&l[R])?le():(o[r]=g.text,s[r]=[g.text],l[r]=g.isWordLike,a[r]=g.kind,c[r]=g.start,u[r]=N,m[r]=N===null?0:1,f[r]=w,x[r]=M,F[r]=P,E[r]=J,S[r]=_o(M,L),r++)}for(let C=0;C<r;C++){if(u[C]!==null){o[C]=vo(o,u,m,C);continue}o[C]=ke(s[C])}for(let C=1;C<r;C++)a[C]==="text"&&!l[C]&&ai(o[C])&&a[C-1]==="text"&&(o[C-1]+=o[C],l[C-1]=l[C-1]||l[C],o[C]="");let B=Array.from({length:r},()=>null),D=-1;for(let C=r-1;C>=0;C--){let g=o[C];if(g.length!==0){if(a[C]==="text"&&!l[C]&&Hl(g)&&D>=0&&a[D]==="text"){let A=B[D]??[];A.push(g),B[D]=A,c[D]=c[C],o[C]="";continue}D=C}}for(let C=0;C<r;C++){let g=B[C];g!=null&&(o[C]=Gl(g,o[C]))}let v=0;for(let C=0;C<r;C++){let g=o[C];g.length!==0&&(v!==C&&(o[v]=g,l[v]=l[C],a[v]=a[C],c[v]=c[C]),v++)}o.length=v,l.length=v,a.length=v,c.length=v;let X=ru({len:v,texts:o,isWordLike:l,kinds:a,starts:c}),q=ou(nu(iu(tu(Xl(Zl(X))))));for(let C=0;C<q.len-1;C++){let g=zl(q.texts[C]);g!==null&&(q.kinds[C]!=="space"&&q.kinds[C]!=="preserved-space"||q.kinds[C+1]!=="text"||!ko(q.texts[C+1])||(q.texts[C]=g.space,q.isWordLike[C]=!1,q.kinds[C]=q.kinds[C]==="preserved-space"?"preserved-space":"space",q.texts[C+1]=g.marks+q.texts[C+1],q.starts[C+1]=q.starts[C]+g.space.length))}return q}function su(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 au(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,l=0,a=!1,c=!1;function u(){o!==null&&(e.push(ke(o)),n.push(s),i.push("text"),r.push(l),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],F=t.isWordLike[m],E=t.starts[m];if(x==="text"){let S=Ll(f),B=an(f);if(o!==null&&a&&c){o.push(f),s=s||F,a=a||S,c=B;continue}u(),o=[f],s=F,l=E,a=S,c=B;continue}u(),e.push(f),n.push(F),i.push(x),r.push(E)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Po(t,e,n="normal",i="normal"){let r=Nl(n),o=r.mode==="pre-wrap"?Ml(t):Cl(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?au(Do(o,e,r)):Do(o,e,r);return{normalized:o,chunks:su(s,r),...s}}var at=null,Wo=new Map,lt=null,lu=96,uu=/\\p{Emoji_Presentation}/u,cu=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,li=null,Ho=new Map;function ui(){if(at!==null)return at;if(typeof OffscreenCanvas<"u")return at=new OffscreenCanvas(1,1).getContext("2d"),at;if(typeof document<"u")return at=document.createElement("canvas").getContext("2d"),at;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function du(t){let e=Wo.get(t);return e||(e=new Map,Wo.set(t,e)),e}function Pe(t,e){let n=e.get(t);return n===void 0&&(n={width:ui().measureText(t).width,containsCJK:Re(t)},e.set(t,n)),n}function ut(){if(lt!==null)return lt;if(typeof navigator>"u")return lt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},lt;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 lt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},lt}function fu(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function qo(){return li===null&&(li=new Intl.Segmenter(void 0,{granularity:"grapheme"})),li}function mu(t){return uu.test(t)||t.includes("\\uFE0F")}function Vo(t){return cu.test(t)}function pu(t,e){let n=Ho.get(t);if(n!==void 0)return n;let i=ui();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 Ho.set(t,n),n}function hu(t){let e=0,n=qo();for(let i of n.segment(t))mu(i.segment)&&e++;return e}function xu(t,e){return e.emojiCount===void 0&&(e.emojiCount=hu(t)),e.emojiCount}function je(t,e,n){return n===0?e.width:e.width-xu(t,e)*n}function Uo(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=qo(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Pe(m,n);u.push(je(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>lu){let u=[],m=null,f=0;for(let x of s){let F=Pe(x,n),E=je(x,F,i);if(m===null)u.push(E);else{let S=m+x,B=Pe(S,n);u.push(je(S,B,i)-f)}m=x,f=E}return e.breakableFitAdvances=u,e.breakableFitAdvances}let l=[],a="",c=0;for(let u of s){a+=u;let m=Pe(a,n),f=je(a,m,i);l.push(f-c),c=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function zo(t,e){let n=ui();n.font=t;let i=du(t),r=fu(t),o=e?pu(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function gu(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 yu(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function Su(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let l=s+t[o];if((o+1<t.length?l+r:l)>n+i)break;s=l,o++}return{fitCount:o,fittedWidth:s}}function jo(t,e){return t.simpleLineWalkFastPath?$o(t,e):Go(t,e)}function $o(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=ut().lineFitEpsilon,a=e+l,c=0,u=0,m=!1,f=0,x=0,F=0,E=0,S=-1,B=0;function D(){S=-1,B=0}function v(N=F,w=E,M=u){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:N,endGraphemeIndex:w,width:M}),u=0,m=!1,D()}function X(N,w){m=!0,f=N,x=0,F=N+1,E=0,u=w}function q(N,w,M){m=!0,f=N,x=w,F=N,E=w+1,u=M}function C(N,w){if(!m){X(N,w);return}u+=w,F=N+1,E=0}function g(N,w){let M=o[N];for(let L=w;L<M.length;L++){let P=M[L];m?u+P>a?(v(),q(N,L,P)):(u+=P,F=N,E=L+1):q(N,L,P)}m&&F===N&&E===M.length&&(F=N+1,E=0)}let A=0;for(;A<i.length&&!(!m&&(A=gu(t,A),A>=i.length));){let N=i[A],w=r[A],M=w==="space"||w==="preserved-space"||w==="tab"||w==="zero-width-break"||w==="soft-hyphen";if(!m){N>e&&o[A]!==null?g(A,0):X(A,N),M&&(S=A+1,B=u-N),A++;continue}if(u+N>a){if(M){C(A,N),v(A+1,0,u-N),A++;continue}if(S>=0){if(F>S||F===S&&E>0){v();continue}v(S,0,B);continue}if(N>e&&o[A]!==null){v(),g(A,0),A++;continue}v();continue}C(A,N),M&&(S=A+1,B=u-N),A++}return m&&v(),c}function Go(t,e,n){if(t.simpleLineWalkFastPath)return $o(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:l,discretionaryHyphenWidth:a,tabStopAdvance:c,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=ut(),f=m.lineFitEpsilon,x=e+f,F=0,E=0,S=!1,B=0,D=0,v=0,X=0,q=-1,C=0,g=0,A=null;function N(){q=-1,C=0,g=0,A=null}function w($=v,U=X,W=E){F++,n?.({startSegmentIndex:B,startGraphemeIndex:D,endSegmentIndex:$,endGraphemeIndex:U,width:W}),E=0,S=!1,N()}function M($,U){S=!0,B=$,D=0,v=$+1,X=0,E=U}function L($,U,W){S=!0,B=$,D=U,v=$,X=U+1,E=W}function P($,U){if(!S){M($,U);return}E+=U,v=$+1,X=0}function J($,U,W,Y){if(!U)return;let me=$==="tab"?0:r[W],Fe=$==="tab"?Y:o[W];q=W+1,C=E-Y+me,g=E-Y+Fe,A=$}function R($,U){let W=l[$];for(let Y=U;Y<W.length;Y++){let me=W[Y];S?E+me>x?(w(),L($,Y,me)):(E+=me,v=$,X=Y+1):L($,Y,me)}S&&v===$&&X===W.length&&(v=$+1,X=0)}function le($){if(A!=="soft-hyphen")return!1;let U=l[$];if(U==null)return!1;let{fitCount:W,fittedWidth:Y}=Su(U,E,e,f,a);return W===0?!1:(E=Y,v=$,X=W,N(),W===U.length?(v=$+1,X=0,!0):(w($,W,Y+a),R($,W),!0))}function Se($){F++,n?.({startSegmentIndex:$.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:$.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),N()}for(let $=0;$<u.length;$++){let U=u[$];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}S=!1,E=0,B=U.startSegmentIndex,D=0,v=U.startSegmentIndex,X=0,N();let W=U.startSegmentIndex;for(;W<U.endSegmentIndex;){let Y=s[W],me=Y==="space"||Y==="preserved-space"||Y==="tab"||Y==="zero-width-break"||Y==="soft-hyphen",Fe=Y==="tab"?yu(E,c):i[W];if(Y==="soft-hyphen"){S&&(v=W+1,X=0,q=W+1,C=E+a,g=E+a,A=Y),W++;continue}if(!S){Fe>e&&l[W]!==null?R(W,0):M(W,Fe),J(Y,me,W,Fe),W++;continue}if(E+Fe>x){let k=E+(Y==="tab"?0:r[W]),O=E+(Y==="tab"?Fe:o[W]);if(A==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&C<=x){w(q,0,g);continue}if(A==="soft-hyphen"&&le(W)){W++;continue}if(me&&k<=x){P(W,Fe),w(W+1,0,O),W++;continue}if(q>=0&&C<=x){if(v>q||v===q&&X>0){w();continue}let ne=q;w(ne,0,g),W=ne;continue}if(Fe>e&&l[W]!==null){w(),R(W,0),W++;continue}w();continue}P(W,Fe),J(Y,me,W,Fe),W++}if(S){let Y=q===U.consumedEndSegmentIndex?g:E;w(U.consumedEndSegmentIndex,0,Y)}}return F}var ci=null;function bu(){return ci===null&&(ci=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ci}function Au(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 Eu(t,e){let n=[],i=[],r=0,o=!1,s=!1,l=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,l=!1)}function c(m,f,x){i=[m],r=f,o=x,s=cn(m),l=Ot.has(m)}function u(m,f){i.push(m),o=o||f;let x=cn(m);m.length===1&&ze.has(m)?s=s||x:s=x,l=!1}for(let m of bu().segment(t)){let f=m.segment,x=Re(f);if(i.length===0){c(f,m.index,x);continue}if(l||ln.has(f)||ze.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),c(f,m.index,x)}return a(),n}function Fu(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Re(t[0].text),o=an(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let l=1;l<t.length;l++){let a=t[l],c=Re(a.text),u=an(a.text);if(r&&o){n.push(a.text),r=r||c,o=u;continue}s(),n=[a.text],i=a.start,r=c,o=u}return s(),e}function wu(t,e,n,i){let r=ut(),{cache:o,emojiCorrection:s}=zo(e,Vo(t.normalized)),l=je("-",Pe("-",o),s),c=je(" ",Pe(" ",o),s)*8;if(t.len===0)return Au(n);let u=[],m=[],f=[],x=[],F=t.chunks.length<=1,E=n?[]:null,S=[],B=n?[]:null,D=Array.from({length:t.len});function v(g,A,N,w,M,L,P){M!=="text"&&M!=="space"&&M!=="zero-width-break"&&(F=!1),u.push(A),m.push(N),f.push(w),x.push(M),E?.push(L),S.push(P),B!==null&&B.push(g)}function X(g,A,N,w,M){let L=Pe(g,o),P=je(g,L,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:P,R=A==="space"||A==="zero-width-break"?0:P;if(M&&w&&g.length>1){let le="sum-graphemes";It(g)?le="pair-context":r.preferPrefixWidthsForBreakableRuns&&(le="segment-prefixes");let Se=Uo(g,L,o,s,le);v(g,P,J,R,A,N,Se);return}v(g,P,J,R,A,N,null)}for(let g=0;g<t.len;g++){D[g]=u.length;let A=t.texts[g],N=t.isWordLike[g],w=t.kinds[g],M=t.starts[g];if(w==="soft-hyphen"){v(A,0,l,l,w,M,null);continue}if(w==="hard-break"){v(A,0,0,0,w,M,null);continue}if(w==="tab"){v(A,0,0,0,w,M,null);continue}let L=Pe(A,o);if(w==="text"&&L.containsCJK){let P=Eu(A,r),J=i==="keep-all"?Fu(P):P;for(let R=0;R<J.length;R++){let le=J[R];X(le.text,"text",M+le.start,N,i==="keep-all"||!Re(le.text))}continue}X(A,w,M,N,!0)}let q=Nu(t.chunks,D,u.length),C=E===null?null:Mo(t.normalized,E);return B!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:C,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:q,segments:B}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:F,segLevels:C,breakableFitAdvances:S,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:q}}function Nu(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,l=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:l,consumedEndSegmentIndex:a})}return i}function Cu(t,e,n,i){let r=i?.wordBreak??"normal",o=Po(t,ut(),i?.whiteSpace,r);return wu(o,e,n,r)}function Ko(t,e,n){return Cu(t,e,!1,n)}function Jo(t,e,n){let i=jo(t,e);return{lineCount:i,height:i*n}}var Mu={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Qo(t,e){let n={...Mu,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Ko(t,o),{lineCount:l}=Jo(s,n.maxWidth,r*i);if(l<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Qo,getVariables:ho};function Yo(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,No())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Yo,{once:!0}):Yo();})();\n';
39219
39219
  }
39220
39220
  });
39221
39221
 
@@ -66926,6 +66926,112 @@ var init_videoFrameInjector = __esm({
66926
66926
  }
66927
66927
  });
66928
66928
 
66929
+ // ../core/src/runtime/mediaVolumeEnvelope.ts
66930
+ function normaliseEnvelope(keyframes, trackStart, baseVolume) {
66931
+ const points = keyframes.filter((k2) => Number.isFinite(k2.time) && Number.isFinite(k2.volume)).map((k2) => ({
66932
+ time: Math.max(0, k2.time - trackStart),
66933
+ volume: Math.max(0, Math.min(1, k2.volume))
66934
+ })).sort((a, b2) => a.time - b2.time);
66935
+ const deduped = [];
66936
+ for (const point of points) {
66937
+ const previous = deduped.at(-1);
66938
+ if (previous && Math.abs(previous.time - point.time) < 1e-9) {
66939
+ previous.volume = point.volume;
66940
+ } else {
66941
+ deduped.push(point);
66942
+ }
66943
+ }
66944
+ if (deduped.length === 0) return deduped;
66945
+ if (deduped[0].time > 0) {
66946
+ deduped.unshift({ time: 0, volume: Math.max(0, Math.min(1, baseVolume)) });
66947
+ }
66948
+ return deduped;
66949
+ }
66950
+ var init_mediaVolumeEnvelope = __esm({
66951
+ "../core/src/runtime/mediaVolumeEnvelope.ts"() {
66952
+ "use strict";
66953
+ }
66954
+ });
66955
+
66956
+ // ../engine/src/services/audioVolumeEnvelope.ts
66957
+ import { readFileSync as readFileSync22, renameSync as renameSync3, writeFileSync as writeFileSync14 } from "fs";
66958
+ import { randomBytes } from "crypto";
66959
+ function parseWavLayout(buffer) {
66960
+ if (buffer.length < 12 || buffer.toString("ascii", 0, 4) !== "RIFF") return null;
66961
+ if (buffer.toString("ascii", 8, 12) !== "WAVE") return null;
66962
+ let offset = 12;
66963
+ let fmt = null;
66964
+ let data = null;
66965
+ while (offset + 8 <= buffer.length) {
66966
+ const chunkId = buffer.toString("ascii", offset, offset + 4);
66967
+ const chunkSize = buffer.readUInt32LE(offset + 4);
66968
+ const body = offset + 8;
66969
+ if (chunkId === "fmt " && body + 16 <= buffer.length) {
66970
+ if (buffer.readUInt16LE(body) !== PCM_FORMAT) return null;
66971
+ fmt = {
66972
+ numChannels: buffer.readUInt16LE(body + 2),
66973
+ sampleRate: buffer.readUInt32LE(body + 4),
66974
+ bitsPerSample: buffer.readUInt16LE(body + 14)
66975
+ };
66976
+ } else if (chunkId === "data") {
66977
+ data = { offset: body, size: Math.min(chunkSize, buffer.length - body) };
66978
+ }
66979
+ offset = body + chunkSize + chunkSize % 2;
66980
+ }
66981
+ if (!fmt || !data) return null;
66982
+ if (fmt.bitsPerSample !== SUPPORTED_BITS || fmt.numChannels < 1) return null;
66983
+ return {
66984
+ numChannels: fmt.numChannels,
66985
+ sampleRate: fmt.sampleRate,
66986
+ dataOffset: data.offset,
66987
+ dataSize: data.size
66988
+ };
66989
+ }
66990
+ function applyVolumeEnvelopeToWav(wavPath, keyframes, trackStart, baseVolume) {
66991
+ const envelope = normaliseEnvelope(keyframes, trackStart, baseVolume);
66992
+ if (envelope.length === 0) return false;
66993
+ try {
66994
+ const buffer = readFileSync22(wavPath);
66995
+ const layout2 = parseWavLayout(buffer);
66996
+ if (!layout2) return false;
66997
+ const { numChannels, sampleRate, dataOffset, dataSize } = layout2;
66998
+ const bytesPerSample = SUPPORTED_BITS / 8;
66999
+ const frameBytes = numChannels * bytesPerSample;
67000
+ const frameCount = Math.floor(dataSize / frameBytes);
67001
+ let segment = 0;
67002
+ for (let frame = 0; frame < frameCount; frame += 1) {
67003
+ const time = frame / sampleRate;
67004
+ while (segment < envelope.length - 2 && time >= envelope[segment + 1].time) segment += 1;
67005
+ const a = envelope[segment];
67006
+ const b2 = envelope[segment + 1] ?? a;
67007
+ const span = b2.time - a.time;
67008
+ const progress = span <= 0 ? 0 : Math.min(1, Math.max(0, (time - a.time) / span));
67009
+ const gain = a.volume + (b2.volume - a.volume) * progress;
67010
+ const base = dataOffset + frame * frameBytes;
67011
+ for (let channel = 0; channel < numChannels; channel += 1) {
67012
+ const at3 = base + channel * bytesPerSample;
67013
+ const scaled = Math.round(buffer.readInt16LE(at3) * gain);
67014
+ buffer.writeInt16LE(scaled < -32768 ? -32768 : scaled > 32767 ? 32767 : scaled, at3);
67015
+ }
67016
+ }
67017
+ const tempPath = `${wavPath}.${randomBytes(6).toString("hex")}.tmp`;
67018
+ writeFileSync14(tempPath, buffer);
67019
+ renameSync3(tempPath, wavPath);
67020
+ return true;
67021
+ } catch {
67022
+ return false;
67023
+ }
67024
+ }
67025
+ var PCM_FORMAT, SUPPORTED_BITS;
67026
+ var init_audioVolumeEnvelope = __esm({
67027
+ "../engine/src/services/audioVolumeEnvelope.ts"() {
67028
+ "use strict";
67029
+ init_mediaVolumeEnvelope();
67030
+ PCM_FORMAT = 1;
67031
+ SUPPORTED_BITS = 16;
67032
+ }
67033
+ });
67034
+
66929
67035
  // ../engine/src/services/audioMixer.ts
66930
67036
  import { existsSync as existsSync27, mkdirSync as mkdirSync16, rmSync as rmSync6 } from "fs";
66931
67037
  import { isAbsolute as isAbsolute6, join as join29, dirname as dirname10 } from "path";
@@ -66939,10 +67045,47 @@ function formatFilterNumber(value) {
66939
67045
  function escapeExpressionCommas(expression) {
66940
67046
  return expression.replace(/\\/g, "\\\\").replace(/,/g, "\\,");
66941
67047
  }
66942
- function buildVolumeExpression(track) {
67048
+ function simplifyVolumeKeyframes(keyframes) {
67049
+ if (keyframes.length < 3) return keyframes;
67050
+ const keep = new Array(keyframes.length).fill(false);
67051
+ keep[0] = true;
67052
+ keep[keyframes.length - 1] = true;
67053
+ const stack = [[0, keyframes.length - 1]];
67054
+ while (stack.length > 0) {
67055
+ const [startIndex, endIndex] = stack.pop();
67056
+ const start = keyframes[startIndex];
67057
+ const end = keyframes[endIndex];
67058
+ const span = end.time - start.time;
67059
+ let maxDistance = VOLUME_SIMPLIFY_EPSILON;
67060
+ let splitIndex = -1;
67061
+ for (let i2 = startIndex + 1; i2 < endIndex; i2 += 1) {
67062
+ const point = keyframes[i2];
67063
+ const interpolated = span === 0 ? start.volume : start.volume + (end.volume - start.volume) * (point.time - start.time) / span;
67064
+ const distance = Math.abs(point.volume - interpolated);
67065
+ if (distance > maxDistance) {
67066
+ maxDistance = distance;
67067
+ splitIndex = i2;
67068
+ }
67069
+ }
67070
+ if (splitIndex !== -1) {
67071
+ keep[splitIndex] = true;
67072
+ stack.push([startIndex, splitIndex], [splitIndex, endIndex]);
67073
+ }
67074
+ }
67075
+ const simplified = keyframes.filter((_, i2) => keep[i2]);
67076
+ if (simplified.length <= MAX_VOLUME_SEGMENTS) return simplified;
67077
+ const step = (simplified.length - 1) / (MAX_VOLUME_SEGMENTS - 1);
67078
+ const sampled = [];
67079
+ for (let i2 = 0; i2 < MAX_VOLUME_SEGMENTS; i2 += 1) {
67080
+ const point = simplified[Math.round(i2 * step)];
67081
+ if (sampled.length === 0 || point.time > sampled.at(-1).time) sampled.push(point);
67082
+ }
67083
+ return sampled;
67084
+ }
67085
+ function buildVolumeExpression(track, ignoreKeyframes = false) {
66943
67086
  const trimDuration = track.end - track.start;
66944
67087
  const staticVolume = clampVolume(track.volume);
66945
- const keyframes = (track.volumeKeyframes ?? []).filter((keyframe) => Number.isFinite(keyframe.time) && Number.isFinite(keyframe.volume)).map((keyframe) => ({
67088
+ const keyframes = (ignoreKeyframes ? [] : track.volumeKeyframes ?? []).filter((keyframe) => Number.isFinite(keyframe.time) && Number.isFinite(keyframe.volume)).map((keyframe) => ({
66946
67089
  time: Math.max(0, Math.min(trimDuration, keyframe.time - track.start)),
66947
67090
  volume: clampVolume(keyframe.volume)
66948
67091
  })).sort((a, b2) => a.time - b2.time);
@@ -66959,13 +67102,14 @@ function buildVolumeExpression(track) {
66959
67102
  deduped.push(keyframe);
66960
67103
  }
66961
67104
  }
66962
- if (deduped.length === 1) {
66963
- return `volume=${formatFilterNumber(deduped[0].volume)}`;
67105
+ const simplified = simplifyVolumeKeyframes(deduped);
67106
+ if (simplified.length === 1) {
67107
+ return `volume=${formatFilterNumber(simplified[0].volume)}`;
66964
67108
  }
66965
- let expression = formatFilterNumber(deduped.at(-1).volume);
66966
- for (let i2 = deduped.length - 2; i2 >= 0; i2 -= 1) {
66967
- const current = deduped[i2];
66968
- const next = deduped[i2 + 1];
67109
+ let expression = formatFilterNumber(simplified.at(-1).volume);
67110
+ for (let i2 = simplified.length - 2; i2 >= 0; i2 -= 1) {
67111
+ const current = simplified[i2];
67112
+ const next = simplified[i2 + 1];
66969
67113
  const currentTime = formatFilterNumber(current.time);
66970
67114
  const nextTime = formatFilterNumber(next.time);
66971
67115
  const currentVolume = formatFilterNumber(current.volume);
@@ -67133,38 +67277,49 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
67133
67277
  }
67134
67278
  const outputDir = dirname10(outputPath);
67135
67279
  if (!existsSync27(outputDir)) mkdirSync16(outputDir, { recursive: true });
67136
- const inputs = [];
67137
- const filterParts = [];
67138
- tracks.forEach((track, i2) => {
67139
- inputs.push("-i", track.srcPath);
67140
- const delayMs = Math.round(track.start * 1e3);
67141
- const trimDuration = track.end - track.start;
67142
- const volumeFilter = buildVolumeExpression(track);
67143
- filterParts.push(
67144
- `[${i2}:a]atrim=0:${trimDuration},${volumeFilter},adelay=${delayMs}|${delayMs},apad=whole_dur=${totalDuration}[a${i2}]`
67145
- );
67146
- });
67147
- const mixInputs = tracks.map((_, i2) => `[a${i2}]`).join("");
67148
- const weights = tracks.map(() => "1").join(" ");
67149
- const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0:normalize=0:weights='${weights}'[mixed]`;
67150
- const postMixGainFilter = `[mixed]volume=${masterOutputGain}[out]`;
67151
- const fullFilter = [...filterParts, mixFilter, postMixGainFilter].join(";");
67152
- const args = [
67153
- ...inputs,
67154
- "-filter_complex",
67155
- fullFilter,
67156
- "-map",
67157
- "[out]",
67158
- "-acodec",
67159
- "aac",
67160
- "-b:a",
67161
- "192k",
67162
- "-t",
67163
- String(totalDuration),
67164
- "-y",
67165
- outputPath
67166
- ];
67167
- const result = await runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout });
67280
+ const buildArgs = (ignoreAutomation) => {
67281
+ const inputs = [];
67282
+ const filterParts = [];
67283
+ tracks.forEach((track, i2) => {
67284
+ inputs.push("-i", track.srcPath);
67285
+ const delayMs = Math.round(track.start * 1e3);
67286
+ const trimDuration = track.end - track.start;
67287
+ const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
67288
+ filterParts.push(
67289
+ `[${i2}:a]atrim=0:${trimDuration},${volumeFilter},adelay=${delayMs}|${delayMs},apad=whole_dur=${totalDuration}[a${i2}]`
67290
+ );
67291
+ });
67292
+ const mixInputs = tracks.map((_, i2) => `[a${i2}]`).join("");
67293
+ const weights = tracks.map(() => "1").join(" ");
67294
+ const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0:normalize=0:weights='${weights}'[mixed]`;
67295
+ const postMixGainFilter = `[mixed]volume=${masterOutputGain}[out]`;
67296
+ const fullFilter = [...filterParts, mixFilter, postMixGainFilter].join(";");
67297
+ return [
67298
+ ...inputs,
67299
+ "-filter_complex",
67300
+ fullFilter,
67301
+ "-map",
67302
+ "[out]",
67303
+ "-acodec",
67304
+ "aac",
67305
+ "-b:a",
67306
+ "192k",
67307
+ "-t",
67308
+ String(totalDuration),
67309
+ "-y",
67310
+ outputPath
67311
+ ];
67312
+ };
67313
+ let result = await runFfmpeg(buildArgs(false), { signal, timeout: ffmpegProcessTimeout });
67314
+ let degradedAutomation = false;
67315
+ const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
67316
+ if (!result.success && !signal?.aborted && hasAutomation) {
67317
+ const retry = await runFfmpeg(buildArgs(true), { signal, timeout: ffmpegProcessTimeout });
67318
+ if (retry.success) {
67319
+ result = retry;
67320
+ degradedAutomation = true;
67321
+ }
67322
+ }
67168
67323
  if (signal?.aborted) {
67169
67324
  return {
67170
67325
  success: false,
@@ -67187,7 +67342,8 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
67187
67342
  success: true,
67188
67343
  outputPath,
67189
67344
  durationMs: result.durationMs,
67190
- tracksProcessed: tracks.length
67345
+ tracksProcessed: tracks.length,
67346
+ error: degradedAutomation ? "Volume automation exceeded this ffmpeg build's expression limits; rendered at base volume" : void 0
67191
67347
  };
67192
67348
  }
67193
67349
  async function processCompositionAudio(elements, baseDir, workDir, outputPath, totalDuration, signal, config, compiledDir) {
@@ -67259,6 +67415,15 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
67259
67415
  }
67260
67416
  audioSrcPath = trimmedPath;
67261
67417
  }
67418
+ let bakedEnvelope = false;
67419
+ if (element.volumeKeyframes && element.volumeKeyframes.length > 0) {
67420
+ bakedEnvelope = applyVolumeEnvelopeToWav(
67421
+ audioSrcPath,
67422
+ element.volumeKeyframes,
67423
+ element.start,
67424
+ element.volume ?? 1
67425
+ );
67426
+ }
67262
67427
  tracks.push({
67263
67428
  id: element.id,
67264
67429
  srcPath: audioSrcPath,
@@ -67266,8 +67431,9 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
67266
67431
  end: element.end,
67267
67432
  mediaStart: element.mediaStart,
67268
67433
  duration: element.end - element.start,
67269
- volume: element.volume ?? 1,
67270
- volumeKeyframes: element.volumeKeyframes
67434
+ // Gain is already in the samples when baked, so mix at unity.
67435
+ volume: bakedEnvelope ? 1 : element.volume ?? 1,
67436
+ volumeKeyframes: bakedEnvelope ? void 0 : element.volumeKeyframes
67271
67437
  });
67272
67438
  } catch (err) {
67273
67439
  errors.push(`Error: ${element.id} \u2014 ${err instanceof Error ? err.message : String(err)}`);
@@ -67285,6 +67451,7 @@ async function processCompositionAudio(elements, baseDir, workDir, outputPath, t
67285
67451
  error: errors.length > 0 ? `Warnings: ${errors.join(", ")}` : mixResult.error
67286
67452
  };
67287
67453
  }
67454
+ var MAX_VOLUME_SEGMENTS, VOLUME_SIMPLIFY_EPSILON;
67288
67455
  var init_audioMixer = __esm({
67289
67456
  "../engine/src/services/audioMixer.ts"() {
67290
67457
  "use strict";
@@ -67295,6 +67462,9 @@ var init_audioMixer = __esm({
67295
67462
  init_runFfmpeg();
67296
67463
  init_htmlTemplate();
67297
67464
  init_videoFrameExtractor();
67465
+ init_audioVolumeEnvelope();
67466
+ MAX_VOLUME_SEGMENTS = 32;
67467
+ VOLUME_SIMPLIFY_EPSILON = 5e-3;
67298
67468
  }
67299
67469
  });
67300
67470
 
@@ -67607,7 +67777,7 @@ var init_parallelCoordinator = __esm({
67607
67777
  // ../engine/src/services/fileServer.ts
67608
67778
  import { Hono as Hono2 } from "hono";
67609
67779
  import { serve } from "@hono/node-server";
67610
- import { readFileSync as readFileSync22, existsSync as existsSync29, statSync as statSync9 } from "fs";
67780
+ import { readFileSync as readFileSync23, existsSync as existsSync29, statSync as statSync9 } from "fs";
67611
67781
  import { join as join31, extname as extname7 } from "path";
67612
67782
  function createFileServer(options) {
67613
67783
  const { projectDir, compiledDir, port = 0, stripEmbeddedRuntime = true } = options;
@@ -67629,11 +67799,11 @@ function createFileServer(options) {
67629
67799
  const ext = extname7(filePath).toLowerCase();
67630
67800
  const contentType = MIME_TYPES2[ext] || "application/octet-stream";
67631
67801
  if (ext === ".html") {
67632
- const rawHtml = readFileSync22(filePath, "utf-8");
67802
+ const rawHtml = readFileSync23(filePath, "utf-8");
67633
67803
  const html = relativePath === "index.html" ? injectScriptsIntoHtml(rawHtml, headScripts, bodyScripts, stripEmbeddedRuntime) : rawHtml;
67634
67804
  return c3.text(html, 200, { "Content-Type": contentType });
67635
67805
  }
67636
- const content = readFileSync22(filePath);
67806
+ const content = readFileSync23(filePath);
67637
67807
  return new Response(content, {
67638
67808
  status: 200,
67639
67809
  headers: { "Content-Type": contentType }
@@ -69352,7 +69522,7 @@ __export(deterministicFonts_exports, {
69352
69522
  iterateFontFamilyDeclarations: () => iterateFontFamilyDeclarations,
69353
69523
  parseFontFamilyValue: () => parseFontFamilyValue
69354
69524
  });
69355
- import { existsSync as existsSync31, mkdirSync as mkdirSync18, readFileSync as readFileSync23, writeFileSync as writeFileSync14 } from "fs";
69525
+ import { existsSync as existsSync31, mkdirSync as mkdirSync18, readFileSync as readFileSync24, writeFileSync as writeFileSync15 } from "fs";
69356
69526
  import { homedir as homedir8, tmpdir as tmpdir3 } from "os";
69357
69527
  import { join as join33 } from "path";
69358
69528
  function parseFontFamilyValue(value) {
@@ -69536,7 +69706,7 @@ async function fetchGoogleFont(familyName, options) {
69536
69706
  continue;
69537
69707
  }
69538
69708
  const buffer = Buffer.from(await fontRes.arrayBuffer());
69539
- writeFileSync14(cachePath2, buffer);
69709
+ writeFileSync15(cachePath2, buffer);
69540
69710
  } catch (err) {
69541
69711
  if (err instanceof FontFetchError) throw err;
69542
69712
  if (options.failClosedFontFetch) {
@@ -69545,7 +69715,7 @@ async function fetchGoogleFont(familyName, options) {
69545
69715
  continue;
69546
69716
  }
69547
69717
  }
69548
- const fontBytes = readFileSync23(cachePath2);
69718
+ const fontBytes = readFileSync24(cachePath2);
69549
69719
  const dataUri = `data:font/woff2;base64,${fontBytes.toString("base64")}`;
69550
69720
  faces.push({ weight, style, dataUri });
69551
69721
  }
@@ -69745,7 +69915,7 @@ var init_deterministicFonts = __esm({
69745
69915
 
69746
69916
  // ../producer/src/services/hyperframeRuntimeLoader.ts
69747
69917
  import { createHash as createHash6 } from "crypto";
69748
- import { existsSync as existsSync32, readFileSync as readFileSync24 } from "fs";
69918
+ import { existsSync as existsSync32, readFileSync as readFileSync25 } from "fs";
69749
69919
  import { dirname as dirname11, resolve as resolve16 } from "path";
69750
69920
  import { fileURLToPath as fileURLToPath2 } from "url";
69751
69921
  function resolveHyperframeManifestPath() {
@@ -69774,7 +69944,7 @@ function resolveVerifiedHyperframeRuntime() {
69774
69944
  `[HyperframeRuntimeLoader] Missing manifest at ${manifestPath}. Build core runtime artifacts before rendering.`
69775
69945
  );
69776
69946
  }
69777
- const manifestRaw = readFileSync24(manifestPath, "utf8");
69947
+ const manifestRaw = readFileSync25(manifestPath, "utf8");
69778
69948
  const manifest = JSON.parse(manifestRaw);
69779
69949
  const runtimeFileName = manifest.artifacts?.iife;
69780
69950
  if (!runtimeFileName || !manifest.sha256) {
@@ -69786,7 +69956,7 @@ function resolveVerifiedHyperframeRuntime() {
69786
69956
  if (!existsSync32(runtimePath)) {
69787
69957
  throw new Error(`[HyperframeRuntimeLoader] Missing runtime artifact at ${runtimePath}.`);
69788
69958
  }
69789
- const runtimeSource = readFileSync24(runtimePath, "utf8");
69959
+ const runtimeSource = readFileSync25(runtimePath, "utf8");
69790
69960
  const runtimeSha = createHash6("sha256").update(runtimeSource, "utf8").digest("hex");
69791
69961
  if (runtimeSha !== manifest.sha256) {
69792
69962
  throw new Error(
@@ -69825,7 +69995,7 @@ var init_hyperframeRuntimeLoader = __esm({
69825
69995
  // ../producer/src/services/fileServer.ts
69826
69996
  import { Hono as Hono3 } from "hono";
69827
69997
  import { serve as serve2 } from "@hono/node-server";
69828
- import { readFileSync as readFileSync25, existsSync as existsSync33, realpathSync, statSync as statSync10 } from "fs";
69998
+ import { readFileSync as readFileSync26, existsSync as existsSync33, realpathSync, statSync as statSync10 } from "fs";
69829
69999
  import { join as join34, extname as extname8, resolve as resolve17, sep as sep5 } from "path";
69830
70000
  function isPathInside(child, parent, options = {}) {
69831
70001
  const { resolveSymlinks = false, pathModule } = options;
@@ -70020,7 +70190,7 @@ function createFileServer2(options) {
70020
70190
  const ext = extname8(filePath).toLowerCase();
70021
70191
  const contentType = MIME_TYPES3[ext] || "application/octet-stream";
70022
70192
  if (ext === ".html") {
70023
- const rawHtml = readFileSync25(filePath, "utf-8");
70193
+ const rawHtml = readFileSync26(filePath, "utf-8");
70024
70194
  const isIndex = relativePath === "index.html";
70025
70195
  let html = rawHtml;
70026
70196
  if (preHeadScripts.length > 0) {
@@ -70029,7 +70199,7 @@ function createFileServer2(options) {
70029
70199
  html = isIndex ? injectScriptsIntoHtml(html, headScripts, bodyScripts, stripEmbeddedRuntime) : html;
70030
70200
  return c3.text(html, 200, { "Content-Type": contentType });
70031
70201
  }
70032
- const content = readFileSync25(filePath);
70202
+ const content = readFileSync26(filePath);
70033
70203
  return new Response(content, {
70034
70204
  status: 200,
70035
70205
  headers: { "Content-Type": contentType }
@@ -70376,7 +70546,7 @@ var init_paths = __esm({
70376
70546
  });
70377
70547
 
70378
70548
  // ../producer/src/services/render/shared.ts
70379
- import { copyFileSync as copyFileSync2, cpSync, existsSync as existsSync34, mkdirSync as mkdirSync19, symlinkSync, writeFileSync as writeFileSync15 } from "fs";
70549
+ import { copyFileSync as copyFileSync2, cpSync, existsSync as existsSync34, mkdirSync as mkdirSync19, symlinkSync, writeFileSync as writeFileSync16 } from "fs";
70380
70550
  import { basename as basename4, dirname as dirname12, isAbsolute as isAbsolute7, join as join36, relative as relative5, resolve as resolve18 } from "path";
70381
70551
  function projectBrowserEndToCompositionTimeline(existingStart, browserStart, browserEnd) {
70382
70552
  return browserEnd + (existingStart - browserStart);
@@ -70415,11 +70585,11 @@ function resolveDeviceScaleFactor(input2) {
70415
70585
  function writeCompiledArtifacts(compiled, workDir, includeSummary) {
70416
70586
  const compileDir = join36(workDir, "compiled");
70417
70587
  mkdirSync19(compileDir, { recursive: true });
70418
- writeFileSync15(join36(compileDir, "index.html"), compiled.html, "utf-8");
70588
+ writeFileSync16(join36(compileDir, "index.html"), compiled.html, "utf-8");
70419
70589
  for (const [srcPath, html] of compiled.subCompositions) {
70420
70590
  const outPath = join36(compileDir, srcPath);
70421
70591
  mkdirSync19(dirname12(outPath), { recursive: true });
70422
- writeFileSync15(outPath, html, "utf-8");
70592
+ writeFileSync16(outPath, html, "utf-8");
70423
70593
  }
70424
70594
  for (const [relativePath, absolutePath] of compiled.externalAssets) {
70425
70595
  const outPath = resolve18(join36(compileDir, relativePath));
@@ -70453,7 +70623,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
70453
70623
  renderModeHints: compiled.renderModeHints,
70454
70624
  hasShaderTransitions: compiled.hasShaderTransitions
70455
70625
  };
70456
- writeFileSync15(join36(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
70626
+ writeFileSync16(join36(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
70457
70627
  }
70458
70628
  }
70459
70629
  function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
@@ -71133,7 +71303,7 @@ var init_urlDownloader2 = __esm({
71133
71303
  });
71134
71304
 
71135
71305
  // ../producer/src/services/htmlCompiler.ts
71136
- import { readFileSync as readFileSync26, existsSync as existsSync35, mkdirSync as mkdirSync20 } from "fs";
71306
+ import { readFileSync as readFileSync27, existsSync as existsSync35, mkdirSync as mkdirSync20 } from "fs";
71137
71307
  import { join as join38, dirname as dirname13, resolve as resolve19 } from "path";
71138
71308
  function dedupeElementsById(elements) {
71139
71309
  const deduped = /* @__PURE__ */ new Map();
@@ -71291,7 +71461,7 @@ async function parseSubCompositions(html, projectDir, downloadDir, parentOffset
71291
71461
  if (!existsSync35(filePath)) {
71292
71462
  continue;
71293
71463
  }
71294
- const rawSubHtml = readFileSync26(filePath, "utf-8");
71464
+ const rawSubHtml = readFileSync27(filePath, "utf-8");
71295
71465
  const nestedVisited = new Set(visited);
71296
71466
  nestedVisited.add(filePath);
71297
71467
  workItems.push({ srcPath, absoluteStart, absoluteEnd, filePath, rawSubHtml, nestedVisited });
@@ -71477,7 +71647,7 @@ function inlineSubCompositions2(html, subCompositions, projectDir) {
71477
71647
  if (!compHtml) {
71478
71648
  const filePath = resolve19(projectDir, srcPath);
71479
71649
  if (existsSync35(filePath)) {
71480
- compHtml = readFileSync26(filePath, "utf-8");
71650
+ compHtml = readFileSync27(filePath, "utf-8");
71481
71651
  }
71482
71652
  }
71483
71653
  return compHtml;
@@ -71693,7 +71863,7 @@ function rewriteUnresolvableGsapToCdn(html, projectDir) {
71693
71863
  );
71694
71864
  }
71695
71865
  async function compileForRender(projectDir, htmlPath, downloadDir, options = {}) {
71696
- const rawHtml = rewriteUnresolvableGsapToCdn(readFileSync26(htmlPath, "utf-8"), projectDir);
71866
+ const rawHtml = rewriteUnresolvableGsapToCdn(readFileSync27(htmlPath, "utf-8"), projectDir);
71697
71867
  const { html: compiledHtml, unresolvedCompositions } = await compileHtmlFile(
71698
71868
  rawHtml,
71699
71869
  projectDir,
@@ -72934,7 +73104,7 @@ var init_hdrImageTransferCache = __esm({
72934
73104
  });
72935
73105
 
72936
73106
  // ../producer/src/services/render/stages/captureHdrResources.ts
72937
- import { mkdirSync as mkdirSync21, openSync, readFileSync as readFileSync27, statSync as statSync11 } from "fs";
73107
+ import { mkdirSync as mkdirSync21, openSync, readFileSync as readFileSync28, statSync as statSync11 } from "fs";
72938
73108
  import { join as join43 } from "path";
72939
73109
  function planHdrResources(args) {
72940
73110
  const { composition, nativeHdrVideoIds, nativeHdrImageIds, projectDir, compiledDir } = args;
@@ -73079,7 +73249,7 @@ function decodeHdrImageBuffers(args) {
73079
73249
  const out = /* @__PURE__ */ new Map();
73080
73250
  for (const [imageId, srcPath] of hdrImageSrcPaths) {
73081
73251
  try {
73082
- const decoded = decodePngToRgb48le(readFileSync27(srcPath));
73252
+ const decoded = decodePngToRgb48le(readFileSync28(srcPath));
73083
73253
  const layout2 = prep.hdrExtractionDims.get(imageId);
73084
73254
  const fitInfo = prep.hdrImageFitInfo.get(imageId);
73085
73255
  if (layout2 && (layout2.width !== decoded.width || layout2.height !== decoded.height)) {
@@ -73350,7 +73520,7 @@ var init_captureHdrFrameShared = __esm({
73350
73520
  });
73351
73521
 
73352
73522
  // ../producer/src/services/render/stages/captureHdrSequentialLoop.ts
73353
- import { writeFileSync as writeFileSync16 } from "fs";
73523
+ import { writeFileSync as writeFileSync17 } from "fs";
73354
73524
  import { join as join44 } from "path";
73355
73525
  async function runSequentialLayeredFrameLoop(input2) {
73356
73526
  const {
@@ -73471,7 +73641,7 @@ async function runSequentialLayeredFrameLoop(input2) {
73471
73641
  await compositeHdrFrame(hdrCompositeCtx, normalCanvas, time, stackingInfo, void 0, i2);
73472
73642
  addHdrTiming(hdrPerf, "normalCompositeMs", timingStart);
73473
73643
  if (debugDumpEnabled && debugDumpDir && i2 % 30 === 0) {
73474
- writeFileSync16(
73644
+ writeFileSync17(
73475
73645
  join44(debugDumpDir, `frame_${String(i2).padStart(4, "0")}_final_rgb48le.bin`),
73476
73646
  normalCanvas
73477
73647
  );
@@ -73701,7 +73871,7 @@ var init_shaderTransitionWorkerPool = __esm({
73701
73871
  });
73702
73872
 
73703
73873
  // ../producer/src/services/render/stages/captureHdrHybridLoop.ts
73704
- import { writeFileSync as writeFileSync17 } from "fs";
73874
+ import { writeFileSync as writeFileSync18 } from "fs";
73705
73875
  import { join as join46 } from "path";
73706
73876
  async function runHybridLayeredFrameLoop(input2) {
73707
73877
  const {
@@ -73896,7 +74066,7 @@ async function runHybridLayeredFrameLoop(input2) {
73896
74066
  await compositeHdrFrame(wctx, canvas, time, stackingInfo, void 0, i2);
73897
74067
  addHdrTiming(hdrPerf, "normalCompositeMs", timingStart);
73898
74068
  if (debugDumpEnabled && debugDumpDir && i2 % 30 === 0) {
73899
- writeFileSync17(
74069
+ writeFileSync18(
73900
74070
  join46(debugDumpDir, `frame_${String(i2).padStart(4, "0")}_final_rgb48le.bin`),
73901
74071
  canvas
73902
74072
  );
@@ -74396,13 +74566,13 @@ var init_assembleStage = __esm({
74396
74566
  import {
74397
74567
  existsSync as existsSync40,
74398
74568
  mkdirSync as mkdirSync24,
74399
- readFileSync as readFileSync28,
74569
+ readFileSync as readFileSync29,
74400
74570
  readSync,
74401
74571
  closeSync,
74402
74572
  readdirSync as readdirSync16,
74403
74573
  rmSync as rmSync9,
74404
74574
  statSync as statSync12,
74405
- writeFileSync as writeFileSync18,
74575
+ writeFileSync as writeFileSync19,
74406
74576
  copyFileSync as copyFileSync4,
74407
74577
  appendFileSync
74408
74578
  } from "fs";
@@ -75003,7 +75173,7 @@ async function compositeHdrFrame(ctx, canvas, time, fullStacking, elementFilter,
75003
75173
  const after2 = countNonZeroRgb48(canvas);
75004
75174
  const dumpName = `frame_${String(debugFrameIndex).padStart(4, "0")}_layer_${String(layerIdx).padStart(2, "0")}_dom.png`;
75005
75175
  const dumpPath = join49(debugDumpDir, dumpName);
75006
- writeFileSync18(dumpPath, domPng);
75176
+ writeFileSync19(dumpPath, domPng);
75007
75177
  log2.info("[diag] dom layer blit", {
75008
75178
  frame: debugFrameIndex,
75009
75179
  layerIdx,
@@ -75133,7 +75303,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
75133
75303
  throw new Error(`Entry file not found: ${htmlPath}`);
75134
75304
  }
75135
75305
  assertNotAborted();
75136
- const rawEntry = readFileSync28(htmlPath, "utf-8");
75306
+ const rawEntry = readFileSync29(htmlPath, "utf-8");
75137
75307
  if (entryFile !== "index.html" && rawEntry.trimStart().startsWith("<template")) {
75138
75308
  const wrapperPath = join49(workDir, "standalone-entry.html");
75139
75309
  const projectIndexPath = join49(projectDir, "index.html");
@@ -75143,7 +75313,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
75143
75313
  );
75144
75314
  }
75145
75315
  const standaloneHtml = extractStandaloneEntryFromIndex(
75146
- readFileSync28(projectIndexPath, "utf-8"),
75316
+ readFileSync29(projectIndexPath, "utf-8"),
75147
75317
  entryFile
75148
75318
  );
75149
75319
  if (!standaloneHtml) {
@@ -75151,7 +75321,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
75151
75321
  `Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
75152
75322
  );
75153
75323
  }
75154
- writeFileSync18(wrapperPath, standaloneHtml, "utf-8");
75324
+ writeFileSync19(wrapperPath, standaloneHtml, "utf-8");
75155
75325
  htmlPath = wrapperPath;
75156
75326
  log2.info("Extracted standalone entry from index.html host context", {
75157
75327
  entryFile
@@ -75538,7 +75708,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
75538
75708
  job.perfSummary = perfSummary;
75539
75709
  if (job.config.debug) {
75540
75710
  try {
75541
- writeFileSync18(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
75711
+ writeFileSync19(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
75542
75712
  } catch (err) {
75543
75713
  log2.debug("Failed to write perf summary", {
75544
75714
  perfOutputPath,
@@ -75675,7 +75845,7 @@ var init_config3 = __esm({
75675
75845
  });
75676
75846
 
75677
75847
  // ../producer/src/services/hyperframeLint.ts
75678
- import { existsSync as existsSync41, readFileSync as readFileSync29, statSync as statSync13 } from "fs";
75848
+ import { existsSync as existsSync41, readFileSync as readFileSync30, statSync as statSync13 } from "fs";
75679
75849
  import { resolve as resolve21, join as join50 } from "path";
75680
75850
  function isStringRecord(value) {
75681
75851
  if (!value || typeof value !== "object" || Array.isArray(value)) {
@@ -75718,7 +75888,7 @@ function readProjectEntryFile(projectDir, preferredEntryFile) {
75718
75888
  if (existsSync41(absoluteEntryPath) && statSync13(absoluteEntryPath).isFile()) {
75719
75889
  return {
75720
75890
  entryFile,
75721
- html: readFileSync29(absoluteEntryPath, "utf-8"),
75891
+ html: readFileSync30(absoluteEntryPath, "utf-8"),
75722
75892
  source: "projectDir"
75723
75893
  };
75724
75894
  }
@@ -75817,7 +75987,7 @@ import {
75817
75987
  mkdirSync as mkdirSync25,
75818
75988
  statSync as statSync14,
75819
75989
  mkdtempSync as mkdtempSync2,
75820
- writeFileSync as writeFileSync19,
75990
+ writeFileSync as writeFileSync20,
75821
75991
  rmSync as rmSync10,
75822
75992
  createReadStream
75823
75993
  } from "fs";
@@ -75876,7 +76046,7 @@ async function prepareRenderBody(body) {
75876
76046
  }
75877
76047
  const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir4();
75878
76048
  const tempProjectDir = mkdtempSync2(join51(tempRoot, "producer-project-"));
75879
- writeFileSync19(join51(tempProjectDir, "index.html"), htmlContent, "utf-8");
76049
+ writeFileSync20(join51(tempProjectDir, "index.html"), htmlContent, "utf-8");
75880
76050
  return {
75881
76051
  prepared: {
75882
76052
  input: {
@@ -76368,7 +76538,7 @@ var init_planHash = __esm({
76368
76538
  });
76369
76539
 
76370
76540
  // ../producer/src/services/render/stages/freezePlan.ts
76371
- import { existsSync as existsSync43, mkdirSync as mkdirSync26, readFileSync as readFileSync30, readdirSync as readdirSync17, writeFileSync as writeFileSync20 } from "fs";
76541
+ import { existsSync as existsSync43, mkdirSync as mkdirSync26, readFileSync as readFileSync31, readdirSync as readdirSync17, writeFileSync as writeFileSync21 } from "fs";
76372
76542
  import { join as join52, relative as relative6, resolve as resolve23 } from "path";
76373
76543
  function stripUndefined(value) {
76374
76544
  if (Array.isArray(value)) return value.map(stripUndefined);
@@ -76411,11 +76581,11 @@ function collectPlanAssetShas(planDir) {
76411
76581
  const assets = [];
76412
76582
  for (const file of files) {
76413
76583
  if (file.planRelativePath === COMPILED_INDEX_RELATIVE_PATH) {
76414
- compositionHtml = readFileSync30(file.absolutePath);
76584
+ compositionHtml = readFileSync31(file.absolutePath);
76415
76585
  continue;
76416
76586
  }
76417
76587
  if (HASH_EXCLUDED_PLAN_FILES.has(file.planRelativePath)) continue;
76418
- const bytes = readFileSync30(file.absolutePath);
76588
+ const bytes = readFileSync31(file.absolutePath);
76419
76589
  assets.push({ path: file.planRelativePath, sha256: sha256Hex(bytes) });
76420
76590
  }
76421
76591
  if (compositionHtml === null) {
@@ -76434,8 +76604,8 @@ function recomputePlanHashFromPlanDir(planDir) {
76434
76604
  if (!existsSync43(encoderJsonPath)) {
76435
76605
  throw new Error(`[freezePlan] meta/encoder.json missing: ${encoderJsonPath}`);
76436
76606
  }
76437
- const planJson = JSON.parse(readFileSync30(planJsonPath, "utf-8"));
76438
- const encoderConfigCanonicalJson = readFileSync30(encoderJsonPath, "utf-8");
76607
+ const planJson = JSON.parse(readFileSync31(planJsonPath, "utf-8"));
76608
+ const encoderConfigCanonicalJson = readFileSync31(encoderJsonPath, "utf-8");
76439
76609
  const { compositionHtml, assets } = collectPlanAssetShas(planDir);
76440
76610
  return computePlanHash({
76441
76611
  compositionHtml,
@@ -76465,7 +76635,7 @@ async function freezePlan(input2) {
76465
76635
  }
76466
76636
  const metaDir = join52(planDir, "meta");
76467
76637
  if (!existsSync43(metaDir)) mkdirSync26(metaDir, { recursive: true });
76468
- writeFileSync20(
76638
+ writeFileSync21(
76469
76639
  join52(metaDir, "composition.json"),
76470
76640
  `${JSON.stringify(composition, null, 2)}
76471
76641
  `,
@@ -76473,8 +76643,8 @@ async function freezePlan(input2) {
76473
76643
  );
76474
76644
  const encoderForCanonical = stripUndefined(encoder);
76475
76645
  const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
76476
- writeFileSync20(join52(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
76477
- writeFileSync20(join52(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
76646
+ writeFileSync21(join52(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
76647
+ writeFileSync21(join52(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
76478
76648
  `, "utf-8");
76479
76649
  const { compositionHtml, assets } = collectPlanAssetShas(planDir);
76480
76650
  const planHash = computePlanHash({
@@ -76498,7 +76668,7 @@ async function freezePlan(input2) {
76498
76668
  hasAudio
76499
76669
  };
76500
76670
  const planJsonPath = join52(planDir, "plan.json");
76501
- writeFileSync20(planJsonPath, `${JSON.stringify(planJson, null, 2)}
76671
+ writeFileSync21(planJsonPath, `${JSON.stringify(planJson, null, 2)}
76502
76672
  `, "utf-8");
76503
76673
  return { planJsonPath, planHash };
76504
76674
  }
@@ -76606,7 +76776,7 @@ var init_runtimeEnvSnapshot = __esm({
76606
76776
  // ../producer/src/services/distributed/shared.ts
76607
76777
  import { execFile as execFileCallback } from "child_process";
76608
76778
  import { dirname as dirname17, join as join53 } from "path";
76609
- import { existsSync as existsSync44, readFileSync as readFileSync31 } from "fs";
76779
+ import { existsSync as existsSync44, readFileSync as readFileSync32 } from "fs";
76610
76780
  import { fileURLToPath as fileURLToPath5 } from "url";
76611
76781
  import { promisify as promisify2 } from "util";
76612
76782
  async function readFfmpegVersion() {
@@ -76646,7 +76816,7 @@ function readProducerVersion() {
76646
76816
  const candidate = join53(current, "package.json");
76647
76817
  if (existsSync44(candidate)) {
76648
76818
  try {
76649
- const pkg = JSON.parse(readFileSync31(candidate, "utf-8"));
76819
+ const pkg = JSON.parse(readFileSync32(candidate, "utf-8"));
76650
76820
  if (pkg.name === "@hyperframes/producer" && typeof pkg.version === "string") {
76651
76821
  cachedProducerVersion = pkg.version;
76652
76822
  return pkg.version;
@@ -76680,10 +76850,10 @@ import {
76680
76850
  existsSync as existsSync45,
76681
76851
  mkdirSync as mkdirSync27,
76682
76852
  readdirSync as readdirSync18,
76683
- renameSync as renameSync3,
76853
+ renameSync as renameSync4,
76684
76854
  rmSync as rmSync11,
76685
76855
  statSync as statSync15,
76686
- writeFileSync as writeFileSync21
76856
+ writeFileSync as writeFileSync22
76687
76857
  } from "fs";
76688
76858
  import { join as join54, relative as relative7, sep as sep6 } from "path";
76689
76859
  function formatBytes(bytes) {
@@ -76963,12 +77133,12 @@ async function plan(projectDir, config, planDir) {
76963
77133
  const videoFramesDst = join54(planDir, "video-frames");
76964
77134
  if (existsSync45(videoFramesDst)) rmSync11(videoFramesDst, { recursive: true, force: true });
76965
77135
  if (existsSync45(stagedVideoFrames)) {
76966
- renameSync3(stagedVideoFrames, videoFramesDst);
77136
+ renameSync4(stagedVideoFrames, videoFramesDst);
76967
77137
  } else {
76968
77138
  mkdirSync27(videoFramesDst, { recursive: true });
76969
77139
  }
76970
77140
  if (existsSync45(finalCompiledDir)) rmSync11(finalCompiledDir, { recursive: true, force: true });
76971
- renameSync3(compiledDir, finalCompiledDir);
77141
+ renameSync4(compiledDir, finalCompiledDir);
76972
77142
  const planVideosJson = {
76973
77143
  videos: composition.videos,
76974
77144
  extracted: (extractResult.extractionResult?.extracted ?? []).map((ext) => ({
@@ -76981,14 +77151,14 @@ async function plan(projectDir, config, planDir) {
76981
77151
  }))
76982
77152
  };
76983
77153
  mkdirSync27(join54(planDir, "meta"), { recursive: true });
76984
- writeFileSync21(
77154
+ writeFileSync22(
76985
77155
  join54(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
76986
77156
  JSON.stringify(planVideosJson, null, 2),
76987
77157
  "utf-8"
76988
77158
  );
76989
77159
  const planAudioPath = join54(planDir, "audio.aac");
76990
77160
  if (audioResult.hasAudio && existsSync45(audioResult.audioOutputPath)) {
76991
- renameSync3(audioResult.audioOutputPath, planAudioPath);
77161
+ renameSync4(audioResult.audioOutputPath, planAudioPath);
76992
77162
  }
76993
77163
  const maxParallel = config.maxParallelChunks ?? DEFAULT_MAX_PARALLEL_CHUNKS;
76994
77164
  const { chunkCount, effectiveChunkSize } = resolveChunkPlan(
@@ -77125,8 +77295,8 @@ var init_plan = __esm({
77125
77295
  });
77126
77296
 
77127
77297
  // ../producer/src/services/distributed/renderChunk.ts
77128
- import { randomBytes } from "crypto";
77129
- import { existsSync as existsSync46, mkdirSync as mkdirSync28, readFileSync as readFileSync32, readdirSync as readdirSync19, rmSync as rmSync12, writeFileSync as writeFileSync22 } from "fs";
77298
+ import { randomBytes as randomBytes2 } from "crypto";
77299
+ import { existsSync as existsSync46, mkdirSync as mkdirSync28, readFileSync as readFileSync33, readdirSync as readdirSync19, rmSync as rmSync12, writeFileSync as writeFileSync23 } from "fs";
77130
77300
  import { extname as extname9, join as join55 } from "path";
77131
77301
  function rebuildExtractedFramesFromPlanDir(planDir, videos) {
77132
77302
  const result = [];
@@ -77165,10 +77335,10 @@ function rebuildExtractedFramesFromPlanDir(planDir, videos) {
77165
77335
  return result;
77166
77336
  }
77167
77337
  function hashChunkOutput(outputPath, kind) {
77168
- if (kind === "file") return sha256Hex(readFileSync32(outputPath));
77338
+ if (kind === "file") return sha256Hex(readFileSync33(outputPath));
77169
77339
  const entries2 = readdirSync19(outputPath).filter((name) => /\.(png|jpg|jpeg)$/i.test(name)).sort();
77170
77340
  const lines = entries2.map(
77171
- (name) => `${name}\0${sha256Hex(readFileSync32(join55(outputPath, name)))}`
77341
+ (name) => `${name}\0${sha256Hex(readFileSync33(join55(outputPath, name)))}`
77172
77342
  );
77173
77343
  return sha256Hex(lines.join("\0"));
77174
77344
  }
@@ -77192,14 +77362,14 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
77192
77362
  );
77193
77363
  }
77194
77364
  }
77195
- const plan2 = JSON.parse(readFileSync32(planJsonPath, "utf-8"));
77196
- const encoder = JSON.parse(readFileSync32(encoderJsonPath, "utf-8"));
77197
- const chunks = JSON.parse(readFileSync32(chunksJsonPath, "utf-8"));
77365
+ const plan2 = JSON.parse(readFileSync33(planJsonPath, "utf-8"));
77366
+ const encoder = JSON.parse(readFileSync33(encoderJsonPath, "utf-8"));
77367
+ const chunks = JSON.parse(readFileSync33(chunksJsonPath, "utf-8"));
77198
77368
  const videosJsonPath = join55(planDir, PLAN_VIDEOS_META_RELATIVE_PATH);
77199
77369
  let planVideos = null;
77200
77370
  if (existsSync46(videosJsonPath)) {
77201
77371
  try {
77202
- planVideos = JSON.parse(readFileSync32(videosJsonPath, "utf-8"));
77372
+ planVideos = JSON.parse(readFileSync33(videosJsonPath, "utf-8"));
77203
77373
  } catch (err) {
77204
77374
  throw new RenderChunkValidationError(
77205
77375
  MISSING_PLAN_ARTIFACT,
@@ -77281,7 +77451,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
77281
77451
  rebuildExtractedFramesFromPlanDir(planDir, planVideos.extracted)
77282
77452
  )
77283
77453
  ) : null;
77284
- const workDir = `${outputChunkPath}.work.${process.pid}.${randomBytes(4).toString("hex")}`;
77454
+ const workDir = `${outputChunkPath}.work.${process.pid}.${randomBytes2(4).toString("hex")}`;
77285
77455
  mkdirSync28(workDir, { recursive: true });
77286
77456
  const framesDir = join55(workDir, "captured-frames");
77287
77457
  mkdirSync28(framesDir, { recursive: true });
@@ -77412,7 +77582,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
77412
77582
  producerVersion: plan2.producerVersion,
77413
77583
  ffmpegVersion
77414
77584
  };
77415
- writeFileSync22(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
77585
+ writeFileSync23(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
77416
77586
  `, "utf-8");
77417
77587
  try {
77418
77588
  rmSync12(workDir, { recursive: true, force: true });
@@ -77675,11 +77845,11 @@ import {
77675
77845
  cpSync as cpSync3,
77676
77846
  existsSync as existsSync47,
77677
77847
  mkdirSync as mkdirSync29,
77678
- readFileSync as readFileSync33,
77848
+ readFileSync as readFileSync34,
77679
77849
  readdirSync as readdirSync20,
77680
77850
  rmSync as rmSync13,
77681
77851
  statSync as statSync16,
77682
- writeFileSync as writeFileSync23
77852
+ writeFileSync as writeFileSync24
77683
77853
  } from "fs";
77684
77854
  import { dirname as dirname18, join as join56 } from "path";
77685
77855
  async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
@@ -77695,8 +77865,8 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
77695
77865
  if (!existsSync47(chunksJsonPath)) {
77696
77866
  throw new Error(`[assemble] planDir missing meta/chunks.json: ${chunksJsonPath}`);
77697
77867
  }
77698
- const plan2 = JSON.parse(readFileSync33(planJsonPath, "utf-8"));
77699
- const chunks = JSON.parse(readFileSync33(chunksJsonPath, "utf-8"));
77868
+ const plan2 = JSON.parse(readFileSync34(planJsonPath, "utf-8"));
77869
+ const chunks = JSON.parse(readFileSync34(chunksJsonPath, "utf-8"));
77700
77870
  if (chunkPaths.length !== chunks.length) {
77701
77871
  throw new Error(
77702
77872
  `[assemble] chunkPaths length (${chunkPaths.length}) does not match chunks.json length (${chunks.length}). Adapters must pass one path per chunk, ordered by index.`
@@ -77733,7 +77903,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
77733
77903
  } else {
77734
77904
  const concatListPath = join56(workDir, "concat-list.txt");
77735
77905
  const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
77736
- writeFileSync23(concatListPath, `${concatBody}
77906
+ writeFileSync24(concatListPath, `${concatBody}
77737
77907
  `, "utf-8");
77738
77908
  const concatArgs = [
77739
77909
  "-r",
@@ -77767,7 +77937,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
77767
77937
  if (!existsSync47(encoderJsonPath)) {
77768
77938
  throw new Error(`[assemble] planDir missing meta/encoder.json: ${encoderJsonPath}`);
77769
77939
  }
77770
- const encoderJson = JSON.parse(readFileSync33(encoderJsonPath, "utf-8"));
77940
+ const encoderJson = JSON.parse(readFileSync34(encoderJsonPath, "utf-8"));
77771
77941
  if (encoderJson.encoder === "libx265-software") {
77772
77942
  throw new Error(
77773
77943
  `[assemble] cfr=true is not yet supported with codec: "h265". The cfr re-encode pass uses libx264 and would silently transcode the h265 chunks. Either disable cfr or render with codec: "h264".`
@@ -78028,7 +78198,7 @@ __export(studioServer_exports, {
78028
78198
  });
78029
78199
  import { Hono as Hono5 } from "hono";
78030
78200
  import { streamSSE as streamSSE3 } from "hono/streaming";
78031
- import { existsSync as existsSync48, readFileSync as readFileSync34, writeFileSync as writeFileSync24, statSync as statSync17 } from "fs";
78201
+ import { existsSync as existsSync48, readFileSync as readFileSync35, writeFileSync as writeFileSync25, statSync as statSync17 } from "fs";
78032
78202
  import { resolve as resolve24, join as join57, basename as basename5 } from "path";
78033
78203
  function resolveDistDir() {
78034
78204
  return resolveStudioBundle().dir;
@@ -78077,7 +78247,7 @@ function readStudioManualEditManifestContent(projectDir) {
78077
78247
  const manifestPath = join57(projectDir, STUDIO_MANUAL_EDITS_PATH2);
78078
78248
  if (!existsSync48(manifestPath)) return "";
78079
78249
  try {
78080
- return readFileSync34(manifestPath, "utf-8");
78250
+ return readFileSync35(manifestPath, "utf-8");
78081
78251
  } catch {
78082
78252
  return "";
78083
78253
  }
@@ -78142,7 +78312,7 @@ async function closeThumbnailBrowser() {
78142
78312
  async function loadPreviewServerBuildSignature() {
78143
78313
  const runtimeSignature = await loadRuntimeSourceSignature();
78144
78314
  const studioBundle = resolveStudioBundle();
78145
- const studioIndex = studioBundle.available && existsSync48(studioBundle.indexPath) ? readFileSync34(studioBundle.indexPath, "utf-8") : "";
78315
+ const studioIndex = studioBundle.available && existsSync48(studioBundle.indexPath) ? readFileSync35(studioBundle.indexPath, "utf-8") : "";
78146
78316
  return hashSignatureParts([
78147
78317
  VERSION,
78148
78318
  runtimeSignature,
@@ -78236,7 +78406,7 @@ function createStudioServer(options) {
78236
78406
  state.status = "complete";
78237
78407
  state.progress = 100;
78238
78408
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
78239
- writeFileSync24(
78409
+ writeFileSync25(
78240
78410
  metaPath,
78241
78411
  JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
78242
78412
  );
@@ -78247,7 +78417,7 @@ function createStudioServer(options) {
78247
78417
  emitStudioRenderError(opts, Date.now() - startTime, state.stage, err);
78248
78418
  try {
78249
78419
  const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
78250
- writeFileSync24(metaPath, JSON.stringify({ status: "failed" }));
78420
+ writeFileSync25(metaPath, JSON.stringify({ status: "failed" }));
78251
78421
  } catch {
78252
78422
  }
78253
78423
  }
@@ -78332,19 +78502,19 @@ function createStudioServer(options) {
78332
78502
  async installRegistryBlock(opts) {
78333
78503
  const { resolveItem: resolveItem2 } = await Promise.resolve().then(() => (init_resolver(), resolver_exports));
78334
78504
  const { installItem: installItem2 } = await Promise.resolve().then(() => (init_installer(), installer_exports));
78335
- const { readFileSync: readFileSync57, writeFileSync: writeFileSync39, existsSync: existsSync81 } = await import("fs");
78505
+ const { readFileSync: readFileSync58, writeFileSync: writeFileSync40, existsSync: existsSync81 } = await import("fs");
78336
78506
  const { join: join91 } = await import("path");
78337
78507
  const item = await resolveItem2(opts.blockName);
78338
78508
  const { written } = await installItem2(item, { destDir: opts.project.dir });
78339
78509
  const indexPath = join91(opts.project.dir, "index.html");
78340
78510
  if (existsSync81(indexPath)) {
78341
- const indexHtml = readFileSync57(indexPath, "utf-8");
78511
+ const indexHtml = readFileSync58(indexPath, "utf-8");
78342
78512
  const hostW = indexHtml.match(/data-width="(\d+)"/)?.[1];
78343
78513
  const hostH = indexHtml.match(/data-height="(\d+)"/)?.[1];
78344
78514
  if (hostW && hostH) {
78345
78515
  for (const absPath of written) {
78346
78516
  if (!absPath.endsWith(".html")) continue;
78347
- let content = readFileSync57(absPath, "utf-8");
78517
+ let content = readFileSync58(absPath, "utf-8");
78348
78518
  content = content.replace(
78349
78519
  /(<meta\s+name="viewport"\s+content="width=)\d+(,\s*height=)\d+/i,
78350
78520
  `$1${hostW}$2${hostH}`
@@ -78358,7 +78528,7 @@ function createStudioServer(options) {
78358
78528
  return match;
78359
78529
  }
78360
78530
  );
78361
- writeFileSync39(absPath, content, "utf-8");
78531
+ writeFileSync40(absPath, content, "utf-8");
78362
78532
  }
78363
78533
  }
78364
78534
  }
@@ -78385,7 +78555,7 @@ function createStudioServer(options) {
78385
78555
  });
78386
78556
  app.get("/api/runtime.js", (c3) => {
78387
78557
  const serve4 = async () => {
78388
- const runtimeSource = await loadRuntimeSource() ?? (existsSync48(runtimePath) ? readFileSync34(runtimePath, "utf-8") : null);
78558
+ const runtimeSource = await loadRuntimeSource() ?? (existsSync48(runtimePath) ? readFileSync35(runtimePath, "utf-8") : null);
78389
78559
  if (!runtimeSource) return c3.text("runtime not available", 404);
78390
78560
  return c3.body(runtimeSource, 200, {
78391
78561
  "Content-Type": "text/javascript",
@@ -78433,7 +78603,7 @@ function createStudioServer(options) {
78433
78603
  const serveStudioStaticFile = (c3) => {
78434
78604
  const filePath = resolve24(studioDir, c3.req.path.slice(1));
78435
78605
  if (!existsSync48(filePath) || !statSync17(filePath).isFile()) return c3.text("not found", 404);
78436
- const content = readFileSync34(filePath);
78606
+ const content = readFileSync35(filePath);
78437
78607
  return new Response(content, {
78438
78608
  headers: { "Content-Type": getMimeType(filePath), "Cache-Control": "no-store" }
78439
78609
  });
@@ -78509,7 +78679,7 @@ function createStudioServer(options) {
78509
78679
  500
78510
78680
  );
78511
78681
  }
78512
- let html = readFileSync34(indexPath, "utf-8");
78682
+ let html = readFileSync35(indexPath, "utf-8");
78513
78683
  const envScript = buildRuntimeEnvScript();
78514
78684
  if (envScript) {
78515
78685
  html = html.replace("<head>", `<head>${envScript}`);
@@ -79024,8 +79194,8 @@ import {
79024
79194
  mkdirSync as mkdirSync31,
79025
79195
  copyFileSync as copyFileSync5,
79026
79196
  cpSync as cpSync4,
79027
- writeFileSync as writeFileSync25,
79028
- readFileSync as readFileSync35,
79197
+ writeFileSync as writeFileSync26,
79198
+ readFileSync as readFileSync36,
79029
79199
  readdirSync as readdirSync21
79030
79200
  } from "fs";
79031
79201
  import { resolve as resolve26, basename as basename7, join as join59, dirname as dirname20 } from "path";
@@ -79129,7 +79299,7 @@ function buildPackageScripts() {
79129
79299
  function writeDefaultPackageJson(destDir, projectName) {
79130
79300
  const packageJsonPath = resolve26(destDir, "package.json");
79131
79301
  if (existsSync50(packageJsonPath)) return;
79132
- writeFileSync25(
79302
+ writeFileSync26(
79133
79303
  packageJsonPath,
79134
79304
  `${JSON.stringify(
79135
79305
  {
@@ -79190,14 +79360,14 @@ ${html}`;
79190
79360
  }
79191
79361
  function writeTailwindSupport(destDir) {
79192
79362
  for (const file of listHtmlFiles(destDir)) {
79193
- const html = readFileSync35(file, "utf-8");
79194
- writeFileSync25(file, injectTailwindBrowserScript(html), "utf-8");
79363
+ const html = readFileSync36(file, "utf-8");
79364
+ writeFileSync26(file, injectTailwindBrowserScript(html), "utf-8");
79195
79365
  }
79196
79366
  }
79197
79367
  function patchVideoSrc(dir, videoFilename, durationSeconds) {
79198
79368
  const htmlFiles = readdirSync21(dir, { withFileTypes: true, recursive: true }).filter((e3) => e3.isFile() && e3.name.endsWith(".html")).map((e3) => join59(e3.parentPath, e3.name));
79199
79369
  for (const file of htmlFiles) {
79200
- let content = readFileSync35(file, "utf-8");
79370
+ let content = readFileSync36(file, "utf-8");
79201
79371
  if (videoFilename) {
79202
79372
  content = content.replaceAll("__VIDEO_SRC__", videoFilename);
79203
79373
  } else {
@@ -79208,7 +79378,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
79208
79378
  }
79209
79379
  const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
79210
79380
  content = content.replaceAll("__VIDEO_DURATION__", dur);
79211
- writeFileSync25(file, content, "utf-8");
79381
+ writeFileSync26(file, content, "utf-8");
79212
79382
  }
79213
79383
  }
79214
79384
  async function patchTranscript(dir, transcriptPath) {
@@ -79302,7 +79472,7 @@ async function handleVideoFile(videoPath, destDir, interactive) {
79302
79472
  function applyResolutionPreset(destDir, resolution) {
79303
79473
  const { width, height } = CANVAS_DIMENSIONS[resolution];
79304
79474
  for (const file of listHtmlFiles(destDir)) {
79305
- let html = readFileSync35(file, "utf-8");
79475
+ let html = readFileSync36(file, "utf-8");
79306
79476
  let changed = false;
79307
79477
  const dataWidthRe = /(data-width=)["'](\d+)["']/g;
79308
79478
  if (dataWidthRe.test(html)) {
@@ -79344,7 +79514,7 @@ function applyResolutionPreset(destDir, resolution) {
79344
79514
  html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
79345
79515
  changed = true;
79346
79516
  }
79347
- if (changed) writeFileSync25(file, html, "utf-8");
79517
+ if (changed) writeFileSync26(file, html, "utf-8");
79348
79518
  }
79349
79519
  }
79350
79520
  async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
@@ -79358,7 +79528,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
79358
79528
  patchVideoSrc(destDir, localVideoName, durationSeconds);
79359
79529
  if (tailwind) writeTailwindSupport(destDir);
79360
79530
  if (resolution) applyResolutionPreset(destDir, resolution);
79361
- writeFileSync25(
79531
+ writeFileSync26(
79362
79532
  resolve26(destDir, "meta.json"),
79363
79533
  JSON.stringify(
79364
79534
  {
@@ -80297,7 +80467,7 @@ __export(play_exports, {
80297
80467
  default: () => play_default,
80298
80468
  examples: () => examples5
80299
80469
  });
80300
- import { existsSync as existsSync53, readFileSync as readFileSync36 } from "fs";
80470
+ import { existsSync as existsSync53, readFileSync as readFileSync37 } from "fs";
80301
80471
  import { resolve as resolve30, dirname as dirname21 } from "path";
80302
80472
  function commandDir() {
80303
80473
  return dirname21(new URL(import.meta.url).pathname);
@@ -80464,13 +80634,13 @@ var init_play = __esm({
80464
80634
  const { createAdaptorServer } = await import("@hono/node-server");
80465
80635
  const app = new Hono6();
80466
80636
  app.get("/player.js", (ctx) => {
80467
- return ctx.body(readFileSync36(playerPath, "utf-8"), 200, {
80637
+ return ctx.body(readFileSync37(playerPath, "utf-8"), 200, {
80468
80638
  "Content-Type": "application/javascript",
80469
80639
  "Cache-Control": "no-cache"
80470
80640
  });
80471
80641
  });
80472
80642
  app.get("/runtime.js", (ctx) => {
80473
- return ctx.body(readFileSync36(runtimePath, "utf-8"), 200, {
80643
+ return ctx.body(readFileSync37(runtimePath, "utf-8"), 200, {
80474
80644
  "Content-Type": "application/javascript",
80475
80645
  "Cache-Control": "no-cache"
80476
80646
  });
@@ -80480,7 +80650,7 @@ var init_play = __esm({
80480
80650
  const filePath = resolve30(project.dir, reqPath);
80481
80651
  if (!filePath.startsWith(project.dir)) return ctx.text("Forbidden", 403);
80482
80652
  if (!existsSync53(filePath)) return ctx.text("Not found", 404);
80483
- const content = readFileSync36(filePath, "utf-8");
80653
+ const content = readFileSync37(filePath, "utf-8");
80484
80654
  if (filePath.endsWith(".html")) {
80485
80655
  const injected = injectRuntime(content);
80486
80656
  return ctx.html(injected);
@@ -80499,7 +80669,7 @@ var init_play = __esm({
80499
80669
  mp3: "audio/mpeg",
80500
80670
  wav: "audio/wav"
80501
80671
  };
80502
- return ctx.body(readFileSync36(filePath), 200, {
80672
+ return ctx.body(readFileSync37(filePath), 200, {
80503
80673
  "Content-Type": types4[ext] ?? "application/octet-stream"
80504
80674
  });
80505
80675
  });
@@ -80561,7 +80731,7 @@ var init_play = __esm({
80561
80731
 
80562
80732
  // src/utils/publishProject.ts
80563
80733
  import { basename as basename9, join as join60, relative as relative9 } from "path";
80564
- import { readdirSync as readdirSync22, readFileSync as readFileSync37, statSync as statSync19 } from "fs";
80734
+ import { readdirSync as readdirSync22, readFileSync as readFileSync38, statSync as statSync19 } from "fs";
80565
80735
  import AdmZip from "adm-zip";
80566
80736
  function isRecord2(value) {
80567
80737
  return typeof value === "object" && value !== null && !Array.isArray(value);
@@ -80680,7 +80850,7 @@ function createPublishArchive(projectDir) {
80680
80850
  }
80681
80851
  const archive = new AdmZip();
80682
80852
  for (const filePath of filePaths) {
80683
- archive.addFile(filePath, readFileSync37(join60(projectDir, filePath)));
80853
+ archive.addFile(filePath, readFileSync38(join60(projectDir, filePath)));
80684
80854
  }
80685
80855
  return {
80686
80856
  buffer: archive.toBuffer(),
@@ -80908,9 +81078,9 @@ var init_dom = __esm({
80908
81078
  });
80909
81079
 
80910
81080
  // src/utils/variables.ts
80911
- import { readFileSync as readFileSync38 } from "fs";
81081
+ import { readFileSync as readFileSync39 } from "fs";
80912
81082
  import { resolve as resolve32 } from "path";
80913
- function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync38(resolve32(p2), "utf8")) {
81083
+ function parseVariablesArg(inline, filePath, readFile = (p2) => readFileSync39(resolve32(p2), "utf8")) {
80914
81084
  if (inline != null && filePath != null) {
80915
81085
  return { ok: false, error: { kind: "conflict" } };
80916
81086
  }
@@ -80993,7 +81163,7 @@ function validateVariablesAgainstProject(indexPath, values) {
80993
81163
  function loadProjectVariableSchema(indexPath) {
80994
81164
  let html;
80995
81165
  try {
80996
- html = readFileSync38(indexPath, "utf8");
81166
+ html = readFileSync39(indexPath, "utf8");
80997
81167
  } catch {
80998
81168
  return [];
80999
81169
  }
@@ -81257,7 +81427,7 @@ __export(render_exports, {
81257
81427
  renderLocal: () => renderLocal,
81258
81428
  resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
81259
81429
  });
81260
- import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync39, statSync as statSync20, writeFileSync as writeFileSync26, rmSync as rmSync14 } from "fs";
81430
+ import { mkdirSync as mkdirSync32, readdirSync as readdirSync23, readFileSync as readFileSync40, statSync as statSync20, writeFileSync as writeFileSync27, rmSync as rmSync14 } from "fs";
81261
81431
  import { cpus as cpus4, freemem as freemem4, tmpdir as tmpdir5 } from "os";
81262
81432
  import { resolve as resolve33, dirname as dirname22, join as join62, basename as basename11 } from "path";
81263
81433
  import { execFileSync as execFileSync6, spawn as spawn13 } from "child_process";
@@ -81318,7 +81488,7 @@ function ensureDockerImage(version, quiet) {
81318
81488
  const dockerfilePath = resolveDockerfilePath();
81319
81489
  const tmpDir = join62(tmpdir5(), `hyperframes-docker-${Date.now()}`);
81320
81490
  mkdirSync32(tmpDir, { recursive: true });
81321
- writeFileSync26(join62(tmpDir, "Dockerfile"), readFileSync39(dockerfilePath));
81491
+ writeFileSync27(join62(tmpDir, "Dockerfile"), readFileSync40(dockerfilePath));
81322
81492
  try {
81323
81493
  execFileSync6(
81324
81494
  "docker",
@@ -82183,7 +82353,7 @@ var init_lint3 = __esm({
82183
82353
 
82184
82354
  // src/utils/staticProjectServer.ts
82185
82355
  import { createServer } from "http";
82186
- import { existsSync as existsSync55, readFileSync as readFileSync40 } from "fs";
82356
+ import { existsSync as existsSync55, readFileSync as readFileSync41 } from "fs";
82187
82357
  import { isAbsolute as isAbsolute9, relative as relative10, resolve as resolve34 } from "path";
82188
82358
  async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Failed to bind local HTTP server") {
82189
82359
  const server = createServer((req, res) => {
@@ -82202,7 +82372,7 @@ async function serveStaticProjectHtml(projectDir, html, bindErrorMessage = "Fail
82202
82372
  }
82203
82373
  if (existsSync55(filePath)) {
82204
82374
  res.writeHead(200, { "Content-Type": getMimeType(filePath) });
82205
- res.end(readFileSync40(filePath));
82375
+ res.end(readFileSync41(filePath));
82206
82376
  return;
82207
82377
  }
82208
82378
  res.writeHead(404);
@@ -82378,7 +82548,7 @@ __export(layout_exports, {
82378
82548
  default: () => layout_default,
82379
82549
  examples: () => examples9
82380
82550
  });
82381
- import { existsSync as existsSync56, readFileSync as readFileSync41 } from "fs";
82551
+ import { existsSync as existsSync56, readFileSync as readFileSync42 } from "fs";
82382
82552
  import { dirname as dirname23, join as join63 } from "path";
82383
82553
  import { fileURLToPath as fileURLToPath8 } from "url";
82384
82554
  async function getCompositionDuration2(page) {
@@ -82529,7 +82699,7 @@ function loadLayoutAuditScript() {
82529
82699
  join63(__dirname2, "commands", "layout-audit.browser.js")
82530
82700
  ];
82531
82701
  for (const candidate of candidates) {
82532
- if (existsSync56(candidate)) return readFileSync41(candidate, "utf-8");
82702
+ if (existsSync56(candidate)) return readFileSync42(candidate, "utf-8");
82533
82703
  }
82534
82704
  throw new Error("Missing layout audit browser script");
82535
82705
  }
@@ -82737,7 +82907,7 @@ __export(info_exports, {
82737
82907
  default: () => info_default,
82738
82908
  examples: () => examples11
82739
82909
  });
82740
- import { readFileSync as readFileSync42, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
82910
+ import { readFileSync as readFileSync43, readdirSync as readdirSync24, statSync as statSync21 } from "fs";
82741
82911
  import { join as join64 } from "path";
82742
82912
  function totalSize(dir) {
82743
82913
  let total = 0;
@@ -82774,7 +82944,7 @@ var init_info = __esm({
82774
82944
  },
82775
82945
  async run({ args }) {
82776
82946
  const project = resolveProject(args.dir);
82777
- const html = readFileSync42(project.indexPath, "utf-8");
82947
+ const html = readFileSync43(project.indexPath, "utf-8");
82778
82948
  ensureDOMParser();
82779
82949
  const parsed = parseHtml(html);
82780
82950
  const tracks = new Set(parsed.elements.map((el) => el.zIndex));
@@ -82832,7 +83002,7 @@ __export(compositions_exports, {
82832
83002
  examples: () => examples12,
82833
83003
  parseSubComposition: () => parseSubComposition
82834
83004
  });
82835
- import { existsSync as existsSync57, readFileSync as readFileSync43 } from "fs";
83005
+ import { existsSync as existsSync57, readFileSync as readFileSync44 } from "fs";
82836
83006
  import { resolve as resolve35, dirname as dirname24 } from "path";
82837
83007
  function countRenderableDescendants(root) {
82838
83008
  return Array.from(root.querySelectorAll("*")).filter(
@@ -82867,7 +83037,7 @@ function parseCompositions(html, baseDir) {
82867
83037
  if (compositionSrc) {
82868
83038
  const subPath = resolve35(baseDir, compositionSrc);
82869
83039
  if (existsSync57(subPath)) {
82870
- const subHtml = readFileSync43(subPath, "utf-8");
83040
+ const subHtml = readFileSync44(subPath, "utf-8");
82871
83041
  const subInfo = parseSubComposition(subHtml, id, width, height);
82872
83042
  compositions.push({ ...subInfo, source: compositionSrc });
82873
83043
  return;
@@ -82970,7 +83140,7 @@ var init_compositions = __esm({
82970
83140
  },
82971
83141
  async run({ args }) {
82972
83142
  const project = resolveProject(args.dir);
82973
- const html = readFileSync43(project.indexPath, "utf-8");
83143
+ const html = readFileSync44(project.indexPath, "utf-8");
82974
83144
  ensureDOMParser();
82975
83145
  const compositions = parseCompositions(html, dirname24(project.indexPath));
82976
83146
  if (compositions.length === 0) {
@@ -84098,7 +84268,7 @@ __export(transcribe_exports2, {
84098
84268
  default: () => transcribe_default,
84099
84269
  examples: () => examples16
84100
84270
  });
84101
- import { existsSync as existsSync61, writeFileSync as writeFileSync27 } from "fs";
84271
+ import { existsSync as existsSync61, writeFileSync as writeFileSync28 } from "fs";
84102
84272
  import { resolve as resolve38, join as join67, extname as extname11, dirname as dirname25 } from "path";
84103
84273
  async function importTranscript(inputPath, dir, json) {
84104
84274
  const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
@@ -84108,7 +84278,7 @@ async function importTranscript(inputPath, dir, json) {
84108
84278
  process.exit(1);
84109
84279
  }
84110
84280
  const outPath = join67(dir, "transcript.json");
84111
- writeFileSync27(outPath, JSON.stringify(words, null, 2));
84281
+ writeFileSync28(outPath, JSON.stringify(words, null, 2));
84112
84282
  patchCaptionHtml2(dir, words);
84113
84283
  if (json) {
84114
84284
  console.log(
@@ -84143,7 +84313,7 @@ async function transcribeAudio(inputPath, dir, opts) {
84143
84313
  );
84144
84314
  }
84145
84315
  }
84146
- writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
84316
+ writeFileSync28(result.transcriptPath, JSON.stringify(words, null, 2));
84147
84317
  patchCaptionHtml2(dir, words);
84148
84318
  if (opts.json) {
84149
84319
  console.log(
@@ -84351,7 +84521,7 @@ __export(synthesize_exports, {
84351
84521
  synthesize: () => synthesize
84352
84522
  });
84353
84523
  import { execFileSync as execFileSync7 } from "child_process";
84354
- import { existsSync as existsSync63, writeFileSync as writeFileSync28, mkdirSync as mkdirSync35, readdirSync as readdirSync25, unlinkSync as unlinkSync6 } from "fs";
84524
+ import { existsSync as existsSync63, writeFileSync as writeFileSync29, mkdirSync as mkdirSync35, readdirSync as readdirSync25, unlinkSync as unlinkSync6 } from "fs";
84355
84525
  import { join as join69, dirname as dirname26, basename as basename12 } from "path";
84356
84526
  import { homedir as homedir11 } from "os";
84357
84527
  function findPython() {
@@ -84390,7 +84560,7 @@ function hasPythonPackage(python, pkg) {
84390
84560
  function ensureSynthScript() {
84391
84561
  if (!existsSync63(SCRIPT_PATH)) {
84392
84562
  mkdirSync35(SCRIPT_DIR, { recursive: true });
84393
- writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
84563
+ writeFileSync29(SCRIPT_PATH, SYNTH_SCRIPT);
84394
84564
  const currentName = basename12(SCRIPT_PATH);
84395
84565
  try {
84396
84566
  for (const entry of readdirSync25(SCRIPT_DIR)) {
@@ -84517,7 +84687,7 @@ __export(tts_exports, {
84517
84687
  default: () => tts_default,
84518
84688
  examples: () => examples17
84519
84689
  });
84520
- import { existsSync as existsSync64, readFileSync as readFileSync44 } from "fs";
84690
+ import { existsSync as existsSync64, readFileSync as readFileSync45 } from "fs";
84521
84691
  import { resolve as resolve39, extname as extname12 } from "path";
84522
84692
  function listVoices(json) {
84523
84693
  const rows = BUNDLED_VOICES.map((v2) => ({ ...v2, defaultLang: inferLangFromVoiceId(v2.id) }));
@@ -84628,7 +84798,7 @@ var init_tts = __esm({
84628
84798
  let text;
84629
84799
  const maybeFile = resolve39(args.input);
84630
84800
  if (existsSync64(maybeFile) && extname12(maybeFile).toLowerCase() === ".txt") {
84631
- text = readFileSync44(maybeFile, "utf-8").trim();
84801
+ text = readFileSync45(maybeFile, "utf-8").trim();
84632
84802
  if (!text) {
84633
84803
  console.error(c2.error("File is empty."));
84634
84804
  process.exit(1);
@@ -84720,7 +84890,7 @@ __export(docs_exports, {
84720
84890
  default: () => docs_default,
84721
84891
  examples: () => examples18
84722
84892
  });
84723
- import { readFileSync as readFileSync45, existsSync as existsSync65 } from "fs";
84893
+ import { readFileSync as readFileSync46, existsSync as existsSync65 } from "fs";
84724
84894
  import { resolve as resolve40, dirname as dirname27, join as join70 } from "path";
84725
84895
  import { fileURLToPath as fileURLToPath9 } from "url";
84726
84896
  function docsDir() {
@@ -84830,7 +85000,7 @@ var init_docs = __esm({
84830
85000
  console.error(c2.error(`Doc file not found: ${filePath}`));
84831
85001
  process.exit(1);
84832
85002
  }
84833
- const content = readFileSync45(filePath, "utf-8");
85003
+ const content = readFileSync46(filePath, "utf-8");
84834
85004
  console.log();
84835
85005
  renderMarkdown(content);
84836
85006
  }
@@ -85383,7 +85553,7 @@ __export(validate_exports, {
85383
85553
  default: () => validate_default,
85384
85554
  shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure
85385
85555
  });
85386
- import { existsSync as existsSync66, readFileSync as readFileSync46 } from "fs";
85556
+ import { existsSync as existsSync66, readFileSync as readFileSync47 } from "fs";
85387
85557
  import { join as join71, dirname as dirname28 } from "path";
85388
85558
  import { fileURLToPath as fileURLToPath10 } from "url";
85389
85559
  function shouldIgnoreRequestFailure(url, errorText) {
@@ -85440,7 +85610,7 @@ function loadContrastAuditScript() {
85440
85610
  join71(__dirname3, "commands", "contrast-audit.browser.js")
85441
85611
  ];
85442
85612
  for (const candidate of candidates) {
85443
- if (existsSync66(candidate)) return readFileSync46(candidate, "utf-8");
85613
+ if (existsSync66(candidate)) return readFileSync47(candidate, "utf-8");
85444
85614
  }
85445
85615
  throw new Error("Missing contrast audit browser script");
85446
85616
  }
@@ -85460,7 +85630,7 @@ async function validateInBrowser(projectDir, opts) {
85460
85630
  const filePath = join71(projectDir, decodeURIComponent(url));
85461
85631
  if (existsSync66(filePath)) {
85462
85632
  res.writeHead(200, { "Content-Type": getMimeType2(filePath) });
85463
- res.end(readFileSync46(filePath));
85633
+ res.end(readFileSync47(filePath));
85464
85634
  return;
85465
85635
  }
85466
85636
  res.writeHead(404);
@@ -85662,7 +85832,7 @@ __export(contactSheet_exports, {
85662
85832
  createSvgContactSheet: () => createSvgContactSheet
85663
85833
  });
85664
85834
  import sharp from "sharp";
85665
- import { readdirSync as readdirSync26, readFileSync as readFileSync47, writeFileSync as writeFileSync29, unlinkSync as unlinkSync7, existsSync as existsSync67 } from "fs";
85835
+ import { readdirSync as readdirSync26, readFileSync as readFileSync48, writeFileSync as writeFileSync30, unlinkSync as unlinkSync7, existsSync as existsSync67 } from "fs";
85666
85836
  import { join as join72, extname as extname13, basename as basename13, dirname as dirname29 } from "path";
85667
85837
  async function createContactSheet(imagePaths, outputPath, opts = {}) {
85668
85838
  const {
@@ -85813,12 +85983,12 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
85813
85983
  const svgPath = svgPaths[i2];
85814
85984
  const tmpPath = join72(tmpDir, `.thumb-${i2}.png`);
85815
85985
  try {
85816
- const svgBuf = readFileSync47(svgPath);
85986
+ const svgBuf = readFileSync48(svgPath);
85817
85987
  const thumb = await sharp(svgBuf).resize(thumbSize, thumbSize, {
85818
85988
  fit: "contain",
85819
85989
  background: { r: 245, g: 245, b: 245, alpha: 1 }
85820
85990
  }).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
85821
- writeFileSync29(tmpPath, thumb);
85991
+ writeFileSync30(tmpPath, thumb);
85822
85992
  tmpPaths.push(tmpPath);
85823
85993
  labels.push(svgFileNames[i2].replace(".svg", ""));
85824
85994
  } catch {
@@ -106597,7 +106767,7 @@ var require_websocket = __commonJS({
106597
106767
  var http4 = __require("http");
106598
106768
  var net2 = __require("net");
106599
106769
  var tls = __require("tls");
106600
- var { randomBytes: randomBytes3, createHash: createHash9 } = __require("crypto");
106770
+ var { randomBytes: randomBytes4, createHash: createHash9 } = __require("crypto");
106601
106771
  var { Duplex, Readable: Readable3 } = __require("stream");
106602
106772
  var { URL: URL2 } = __require("url");
106603
106773
  var PerMessageDeflate2 = require_permessage_deflate();
@@ -107127,7 +107297,7 @@ var require_websocket = __commonJS({
107127
107297
  }
107128
107298
  }
107129
107299
  const defaultPort = isSecure ? 443 : 80;
107130
- const key2 = randomBytes3(16).toString("base64");
107300
+ const key2 = randomBytes4(16).toString("base64");
107131
107301
  const request = isSecure ? https2.request : http4.request;
107132
107302
  const protocolSet = /* @__PURE__ */ new Set();
107133
107303
  let perMessageDeflate;
@@ -126371,7 +126541,7 @@ __export(snapshot_exports, {
126371
126541
  examples: () => examples23
126372
126542
  });
126373
126543
  import { spawn as spawn15 } from "child_process";
126374
- import { existsSync as existsSync68, mkdtempSync as mkdtempSync3, readFileSync as readFileSync48, mkdirSync as mkdirSync36, rmSync as rmSync15, writeFileSync as writeFileSync30 } from "fs";
126544
+ import { existsSync as existsSync68, mkdtempSync as mkdtempSync3, readFileSync as readFileSync49, mkdirSync as mkdirSync36, rmSync as rmSync15, writeFileSync as writeFileSync31 } from "fs";
126375
126545
  import { tmpdir as tmpdir6 } from "os";
126376
126546
  import { resolve as resolve41, join as join73, relative as relative11, isAbsolute as isAbsolute10 } from "path";
126377
126547
  async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
@@ -126417,7 +126587,7 @@ async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDeco
126417
126587
  }
126418
126588
  );
126419
126589
  if (result.code !== 0 || result.timedOut || !existsSync68(outPath)) return null;
126420
- return readFileSync48(outPath);
126590
+ return readFileSync49(outPath);
126421
126591
  } finally {
126422
126592
  try {
126423
126593
  rmSync15(tmp, { recursive: true, force: true });
@@ -126754,7 +126924,7 @@ ${c2.success("\u25C7")} ${paths.length} snapshots saved to snapshots/`);
126754
126924
  const filename = p2.replace("snapshots/", "");
126755
126925
  const filePath = join73(snapshotDir, filename);
126756
126926
  if (!existsSync68(filePath)) return { filename, desc: "file not found" };
126757
- const raw = readFileSync48(filePath);
126927
+ const raw = readFileSync49(filePath);
126758
126928
  let imageData;
126759
126929
  let mimeType = "image/png";
126760
126930
  if (sharpFn) {
@@ -126791,7 +126961,7 @@ ${c2.success("\u25C7")} ${paths.length} snapshots saved to snapshots/`);
126791
126961
  }
126792
126962
  }
126793
126963
  const descPath = join73(snapshotDir, "descriptions.md");
126794
- writeFileSync30(descPath, descriptions.join("\n"));
126964
+ writeFileSync31(descPath, descriptions.join("\n"));
126795
126965
  console.log(` ${c2.dim("descriptions.md")} (Gemini frame analysis)`);
126796
126966
  }
126797
126967
  } catch (descErr) {
@@ -126811,7 +126981,7 @@ ${c2.error("\u2717")} Snapshot failed: ${msg}`);
126811
126981
  });
126812
126982
 
126813
126983
  // src/capture/assetDownloader.ts
126814
- import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync37 } from "fs";
126984
+ import { writeFileSync as writeFileSync32, mkdirSync as mkdirSync37 } from "fs";
126815
126985
  import { join as join74, extname as extname14 } from "path";
126816
126986
  async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks) {
126817
126987
  const assetsDir = join74(outputDir, "assets");
@@ -126835,7 +127005,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
126835
127005
  const name = `${finalSlug}.svg`;
126836
127006
  const localPath = `assets/svgs/${name}`;
126837
127007
  try {
126838
- writeFileSync31(join74(outputDir, localPath), svg.outerHTML, "utf-8");
127008
+ writeFileSync32(join74(outputDir, localPath), svg.outerHTML, "utf-8");
126839
127009
  assets.push({ url: "", localPath, type: "svg" });
126840
127010
  } catch {
126841
127011
  }
@@ -126848,7 +127018,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
126848
127018
  const localPath = `assets/${name}`;
126849
127019
  const buffer = await fetchBuffer(icon.href);
126850
127020
  if (buffer) {
126851
- writeFileSync31(join74(outputDir, localPath), buffer);
127021
+ writeFileSync32(join74(outputDir, localPath), buffer);
126852
127022
  assets.push({ url: icon.href, localPath, type: "favicon" });
126853
127023
  break;
126854
127024
  }
@@ -126905,7 +127075,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
126905
127075
  const name = `${slug}${ext}`;
126906
127076
  usedNames.add(slug);
126907
127077
  const localPath = `assets/${name}`;
126908
- writeFileSync31(join74(outputDir, localPath), buffer);
127078
+ writeFileSync32(join74(outputDir, localPath), buffer);
126909
127079
  assets.push({ url, localPath, type: "image" });
126910
127080
  imgIdx++;
126911
127081
  } catch {
@@ -126918,7 +127088,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
126918
127088
  const localPath = `assets/og-image${ext}`;
126919
127089
  const buffer = await fetchBuffer(tokens.ogImage);
126920
127090
  if (buffer && buffer.length > 5e3) {
126921
- writeFileSync31(join74(outputDir, localPath), buffer);
127091
+ writeFileSync32(join74(outputDir, localPath), buffer);
126922
127092
  assets.push({ url: tokens.ogImage, localPath, type: "image" });
126923
127093
  }
126924
127094
  } catch {
@@ -126981,7 +127151,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
126981
127151
  const relativePath = `assets/fonts/${filename}`;
126982
127152
  const buffer = await fetchBuffer(fontUrl);
126983
127153
  if (buffer) {
126984
- writeFileSync31(localPath, buffer);
127154
+ writeFileSync32(localPath, buffer);
126985
127155
  rewritten = rewritten.split(fontUrl).join(relativePath);
126986
127156
  familyCounts.set(family, familyCount + 1);
126987
127157
  count++;
@@ -127948,7 +128118,7 @@ var init_designStyleExtractor = __esm({
127948
128118
  });
127949
128119
 
127950
128120
  // src/capture/fontMetadataExtractor.ts
127951
- import { readdirSync as readdirSync27, readFileSync as readFileSync49, writeFileSync as writeFileSync32, existsSync as existsSync69 } from "fs";
128121
+ import { readdirSync as readdirSync27, readFileSync as readFileSync50, writeFileSync as writeFileSync33, existsSync as existsSync69 } from "fs";
127952
128122
  import { join as join75 } from "path";
127953
128123
  import * as fontkit from "fontkit";
127954
128124
  function isFontCollection(value) {
@@ -127982,7 +128152,7 @@ function extractFontMetadata(fontsDir, outputPath) {
127982
128152
  tool: "fontkit"
127983
128153
  }
127984
128154
  };
127985
- writeFileSync32(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
128155
+ writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
127986
128156
  return manifest;
127987
128157
  }
127988
128158
  function readSingleFont(fullPath, filename) {
@@ -127998,7 +128168,7 @@ function readSingleFont(fullPath, filename) {
127998
128168
  identified: false
127999
128169
  };
128000
128170
  try {
128001
- const buf = readFileSync49(fullPath);
128171
+ const buf = readFileSync50(fullPath);
128002
128172
  const created = fontkit.create(buf);
128003
128173
  const font = isFontCollection(created) ? created.fonts[0] : created;
128004
128174
  if (!font) return empty;
@@ -128254,7 +128424,7 @@ var init_animationCataloger = __esm({
128254
128424
  });
128255
128425
 
128256
128426
  // src/capture/mediaCapture.ts
128257
- import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync33, readdirSync as readdirSync28, readFileSync as readFileSync50, statSync as statSync24 } from "fs";
128427
+ import { mkdirSync as mkdirSync38, writeFileSync as writeFileSync34, readdirSync as readdirSync28, readFileSync as readFileSync51, statSync as statSync24 } from "fs";
128258
128428
  import { join as join76 } from "path";
128259
128429
  async function saveLottieAnimations(discoveredLotties, lottieDir) {
128260
128430
  let savedCount = 0;
@@ -128288,7 +128458,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
128288
128458
  const hash2 = buf.toString("base64").slice(0, 100);
128289
128459
  if (savedHashes.has(hash2)) continue;
128290
128460
  savedHashes.add(hash2);
128291
- writeFileSync33(join76(lottieDir, `animation-${savedCount}.lottie`), buf);
128461
+ writeFileSync34(join76(lottieDir, `animation-${savedCount}.lottie`), buf);
128292
128462
  savedCount++;
128293
128463
  continue;
128294
128464
  }
@@ -128306,7 +128476,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
128306
128476
  } catch {
128307
128477
  continue;
128308
128478
  }
128309
- writeFileSync33(join76(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
128479
+ writeFileSync34(join76(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
128310
128480
  savedCount++;
128311
128481
  }
128312
128482
  } catch {
@@ -128321,7 +128491,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
128321
128491
  for (const file of readdirSync28(lottieDir)) {
128322
128492
  if (!file.endsWith(".json")) continue;
128323
128493
  try {
128324
- const raw = JSON.parse(readFileSync50(join76(lottieDir, file), "utf-8"));
128494
+ const raw = JSON.parse(readFileSync51(join76(lottieDir, file), "utf-8"));
128325
128495
  const fr = raw.fr || 30;
128326
128496
  const dur = ((raw.op || 0) - (raw.ip || 0)) / fr;
128327
128497
  const previewName = file.replace(".json", "-preview.png");
@@ -128331,7 +128501,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
128331
128501
  try {
128332
128502
  previewPage = await chromeBrowser.newPage();
128333
128503
  await previewPage.setViewport({ width: 400, height: 400 });
128334
- const animData = JSON.parse(readFileSync50(join76(lottieDir, file), "utf-8"));
128504
+ const animData = JSON.parse(readFileSync51(join76(lottieDir, file), "utf-8"));
128335
128505
  const midFrame = Math.floor(((raw.op || 0) - (raw.ip || 0)) * 0.3);
128336
128506
  await previewPage.setContent(
128337
128507
  `<!DOCTYPE html>
@@ -128384,7 +128554,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
128384
128554
  }
128385
128555
  }
128386
128556
  if (manifest.length > 0) {
128387
- writeFileSync33(
128557
+ writeFileSync34(
128388
128558
  join76(outputDir, "extracted", "lottie-manifest.json"),
128389
128559
  JSON.stringify(manifest, null, 2),
128390
128560
  "utf-8"
@@ -128493,7 +128663,7 @@ async function captureVideoManifest(page, outputDir, progress) {
128493
128663
  });
128494
128664
  }
128495
128665
  if (videoManifest.length > 0) {
128496
- writeFileSync33(
128666
+ writeFileSync34(
128497
128667
  join76(outputDir, "extracted", "video-manifest.json"),
128498
128668
  JSON.stringify(videoManifest, null, 2),
128499
128669
  "utf-8"
@@ -128510,7 +128680,7 @@ var init_mediaCapture = __esm({
128510
128680
  });
128511
128681
 
128512
128682
  // src/capture/contentExtractor.ts
128513
- import { existsSync as existsSync70, readdirSync as readdirSync29, statSync as statSync25, readFileSync as readFileSync51 } from "fs";
128683
+ import { existsSync as existsSync70, readdirSync as readdirSync29, statSync as statSync25, readFileSync as readFileSync52 } from "fs";
128514
128684
  import { join as join77 } from "path";
128515
128685
  async function detectLibraries(page, capturedShaders) {
128516
128686
  let detectedLibraries = [];
@@ -128643,7 +128813,7 @@ async function captionImagesWithGemini(outputDir, progress, warnings) {
128643
128813
  const filePath = join77(outputDir, "assets", file);
128644
128814
  const stat3 = statSync25(filePath);
128645
128815
  if (stat3.size > 4e6) return { file, caption: "" };
128646
- const buffer = readFileSync51(filePath);
128816
+ const buffer = readFileSync52(filePath);
128647
128817
  const base64 = buffer.toString("base64");
128648
128818
  const ext = file.split(".").pop()?.toLowerCase() || "png";
128649
128819
  const mimeType = ext === "jpg" ? "image/jpeg" : `image/${ext}`;
@@ -128699,7 +128869,7 @@ async function captionImagesWithGemini(outputDir, progress, warnings) {
128699
128869
  const results = await Promise.allSettled(
128700
128870
  batch.map(async ({ relPath }) => {
128701
128871
  const filePath = join77(assetsDir, relPath);
128702
- let svgText = readFileSync51(filePath, "utf-8");
128872
+ let svgText = readFileSync52(filePath, "utf-8");
128703
128873
  if (svgText.length > MAX_SVG_CHARS) {
128704
128874
  svgText = svgText.slice(0, MAX_SVG_CHARS) + "\n<!-- truncated -->";
128705
128875
  }
@@ -128817,7 +128987,7 @@ var agentPromptGenerator_exports = {};
128817
128987
  __export(agentPromptGenerator_exports, {
128818
128988
  generateAgentPrompt: () => generateAgentPrompt
128819
128989
  });
128820
- import { writeFileSync as writeFileSync34, readdirSync as readdirSync30, existsSync as existsSync71 } from "fs";
128990
+ import { writeFileSync as writeFileSync35, readdirSync as readdirSync30, existsSync as existsSync71 } from "fs";
128821
128991
  import { join as join78 } from "path";
128822
128992
  function inferColorRole(hex) {
128823
128993
  const r2 = parseInt(hex.slice(1, 3), 16) / 255;
@@ -128837,9 +129007,9 @@ function inferColorRole(hex) {
128837
129007
  }
128838
129008
  function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
128839
129009
  const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
128840
- writeFileSync34(join78(outputDir, "AGENTS.md"), prompt, "utf-8");
128841
- writeFileSync34(join78(outputDir, "CLAUDE.md"), prompt, "utf-8");
128842
- writeFileSync34(join78(outputDir, ".cursorrules"), prompt, "utf-8");
129010
+ writeFileSync35(join78(outputDir, "AGENTS.md"), prompt, "utf-8");
129011
+ writeFileSync35(join78(outputDir, "CLAUDE.md"), prompt, "utf-8");
129012
+ writeFileSync35(join78(outputDir, ".cursorrules"), prompt, "utf-8");
128843
129013
  }
128844
129014
  function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
128845
129015
  const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
@@ -128952,7 +129122,7 @@ var init_agentPromptGenerator = __esm({
128952
129122
  });
128953
129123
 
128954
129124
  // src/capture/scaffolding.ts
128955
- import { existsSync as existsSync72, writeFileSync as writeFileSync35, readFileSync as readFileSync52 } from "fs";
129125
+ import { existsSync as existsSync72, writeFileSync as writeFileSync36, readFileSync as readFileSync53 } from "fs";
128956
129126
  import { join as join79, resolve as resolve42 } from "path";
128957
129127
  function loadEnvFile(startDir) {
128958
129128
  try {
@@ -128960,7 +129130,7 @@ function loadEnvFile(startDir) {
128960
129130
  for (let i2 = 0; i2 < 5; i2++) {
128961
129131
  const envPath = resolve42(dir, ".env");
128962
129132
  try {
128963
- const envContent = readFileSync52(envPath, "utf-8");
129133
+ const envContent = readFileSync53(envPath, "utf-8");
128964
129134
  for (const line of envContent.split("\n")) {
128965
129135
  const trimmed = line.trim();
128966
129136
  if (!trimmed || trimmed.startsWith("#")) continue;
@@ -128982,7 +129152,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
128982
129152
  const metaPath = join79(outputDir, "meta.json");
128983
129153
  if (!existsSync72(metaPath)) {
128984
129154
  const hostname = new URL(url).hostname.replace(/^www\./, "");
128985
- writeFileSync35(
129155
+ writeFileSync36(
128986
129156
  metaPath,
128987
129157
  JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
128988
129158
  "utf-8"
@@ -129017,7 +129187,7 @@ var screenshotCapture_exports = {};
129017
129187
  __export(screenshotCapture_exports, {
129018
129188
  captureScrollScreenshots: () => captureScrollScreenshots
129019
129189
  });
129020
- import { writeFileSync as writeFileSync36, mkdirSync as mkdirSync39 } from "fs";
129190
+ import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync39 } from "fs";
129021
129191
  import { join as join80 } from "path";
129022
129192
  async function captureScrollScreenshots(page, outputDir) {
129023
129193
  const screenshotsDir = join80(outputDir, "screenshots");
@@ -129114,7 +129284,7 @@ async function captureScrollScreenshots(page, outputDir) {
129114
129284
  const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
129115
129285
  const filePath = join80(screenshotsDir, filename);
129116
129286
  const buffer = await page.screenshot({ type: "png" });
129117
- writeFileSync36(filePath, buffer);
129287
+ writeFileSync37(filePath, buffer);
129118
129288
  filePaths.push(`screenshots/${filename}`);
129119
129289
  }
129120
129290
  await page.evaluate(`window.scrollTo(0, 0)`);
@@ -129387,7 +129557,7 @@ var capture_exports = {};
129387
129557
  __export(capture_exports, {
129388
129558
  captureWebsite: () => captureWebsite
129389
129559
  });
129390
- import { mkdirSync as mkdirSync40, writeFileSync as writeFileSync37, existsSync as existsSync73 } from "fs";
129560
+ import { mkdirSync as mkdirSync40, writeFileSync as writeFileSync38, existsSync as existsSync73 } from "fs";
129391
129561
  import { join as join81 } from "path";
129392
129562
  async function captureWebsite(opts, onProgress) {
129393
129563
  const {
@@ -129582,7 +129752,7 @@ async function captureWebsite(opts, onProgress) {
129582
129752
  return true;
129583
129753
  });
129584
129754
  capturedShaders = unique;
129585
- writeFileSync37(
129755
+ writeFileSync38(
129586
129756
  join81(outputDir, "extracted", "shaders.json"),
129587
129757
  JSON.stringify(unique, null, 2),
129588
129758
  "utf-8"
@@ -129597,7 +129767,7 @@ async function captureWebsite(opts, onProgress) {
129597
129767
  ...tokens,
129598
129768
  svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
129599
129769
  };
129600
- writeFileSync37(
129770
+ writeFileSync38(
129601
129771
  join81(outputDir, "extracted", "tokens.json"),
129602
129772
  JSON.stringify(tokensForDisk, null, 2),
129603
129773
  "utf-8"
@@ -129605,7 +129775,7 @@ async function captureWebsite(opts, onProgress) {
129605
129775
  progress("style", "Extracting design styles...");
129606
129776
  try {
129607
129777
  const designStyles = await extractDesignStyles(page1);
129608
- writeFileSync37(
129778
+ writeFileSync38(
129609
129779
  join81(outputDir, "extracted", "design-styles.json"),
129610
129780
  JSON.stringify(designStyles, null, 2),
129611
129781
  "utf-8"
@@ -129709,7 +129879,7 @@ ${err.stack}` : String(err);
129709
129879
  scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
129710
129880
  representativeAnimations: representativeAnims
129711
129881
  };
129712
- writeFileSync37(
129882
+ writeFileSync38(
129713
129883
  join81(outputDir, "extracted", "animations.json"),
129714
129884
  JSON.stringify(leanCatalog, null, 2),
129715
129885
  "utf-8"
@@ -129721,14 +129891,14 @@ ${err.stack}` : String(err);
129721
129891
  assets = await downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks);
129722
129892
  }
129723
129893
  if (visibleTextContent) {
129724
- writeFileSync37(join81(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
129894
+ writeFileSync38(join81(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
129725
129895
  }
129726
129896
  const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
129727
129897
  progress("design", "Generating asset descriptions...");
129728
129898
  try {
129729
129899
  const lines = generateAssetDescriptions(outputDir, tokens, catalogedAssets, geminiCaptions);
129730
129900
  if (lines.length > 0) {
129731
- writeFileSync37(
129901
+ writeFileSync38(
129732
129902
  join81(outputDir, "extracted", "asset-descriptions.md"),
129733
129903
  "# Asset Descriptions\n\nOne line per file. Read this instead of opening every image individually.\n\n" + lines.map((l) => "- " + l).join("\n") + "\n",
129734
129904
  "utf-8"
@@ -129960,11 +130130,11 @@ var init_capture2 = __esm({
129960
130130
  } catch (err) {
129961
130131
  const errMsg = err instanceof Error ? err.message : String(err);
129962
130132
  try {
129963
- const { mkdirSync: mkdirSync44, writeFileSync: writeFileSync39 } = await import("fs");
130133
+ const { mkdirSync: mkdirSync44, writeFileSync: writeFileSync40 } = await import("fs");
129964
130134
  mkdirSync44(outputDir, { recursive: true });
129965
130135
  const isTimeout = /timeout|timed out/i.test(errMsg);
129966
130136
  const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
129967
- writeFileSync39(
130137
+ writeFileSync40(
129968
130138
  `${outputDir}/BLOCKED.md`,
129969
130139
  `# Capture Failed
129970
130140
 
@@ -130007,7 +130177,7 @@ __export(state_exports, {
130007
130177
  stateFilePath: () => stateFilePath,
130008
130178
  writeStackOutputs: () => writeStackOutputs
130009
130179
  });
130010
- import { existsSync as existsSync74, mkdirSync as mkdirSync41, readdirSync as readdirSync31, readFileSync as readFileSync53, rmSync as rmSync16, writeFileSync as writeFileSync38 } from "fs";
130180
+ import { existsSync as existsSync74, mkdirSync as mkdirSync41, readdirSync as readdirSync31, readFileSync as readFileSync54, rmSync as rmSync16, writeFileSync as writeFileSync39 } from "fs";
130011
130181
  import { dirname as dirname30, join as join82 } from "path";
130012
130182
  function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
130013
130183
  return join82(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
@@ -130015,14 +130185,14 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
130015
130185
  function writeStackOutputs(outputs, cwd = process.cwd()) {
130016
130186
  const path2 = stateFilePath(outputs.stackName, cwd);
130017
130187
  mkdirSync41(dirname30(path2), { recursive: true });
130018
- writeFileSync38(path2, JSON.stringify(outputs, null, 2) + "\n");
130188
+ writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
130019
130189
  return path2;
130020
130190
  }
130021
130191
  function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
130022
130192
  const path2 = stateFilePath(stackName, cwd);
130023
130193
  if (!existsSync74(path2)) return null;
130024
130194
  try {
130025
- return JSON.parse(readFileSync53(path2, "utf-8"));
130195
+ return JSON.parse(readFileSync54(path2, "utf-8"));
130026
130196
  } catch {
130027
130197
  return null;
130028
130198
  }
@@ -130344,14 +130514,14 @@ var init_sites = __esm({
130344
130514
  });
130345
130515
 
130346
130516
  // src/commands/lambda/_dimensions.ts
130347
- import { readFileSync as readFileSync54 } from "fs";
130517
+ import { readFileSync as readFileSync55 } from "fs";
130348
130518
  import { join as join85 } from "path";
130349
130519
  function warnOnDimensionMismatch(args) {
130350
130520
  if (args.quiet) return;
130351
130521
  if (args.outputResolution) return;
130352
130522
  let html;
130353
130523
  try {
130354
- html = readFileSync54(join85(args.projectDir, "index.html"), "utf-8");
130524
+ html = readFileSync55(join85(args.projectDir, "index.html"), "utf-8");
130355
130525
  } catch {
130356
130526
  return;
130357
130527
  }
@@ -130520,7 +130690,7 @@ __export(render_batch_exports, {
130520
130690
  runRenderBatch: () => runRenderBatch,
130521
130691
  runWithConcurrencyLimit: () => runWithConcurrencyLimit
130522
130692
  });
130523
- import { existsSync as existsSync79, readFileSync as readFileSync55 } from "fs";
130693
+ import { existsSync as existsSync79, readFileSync as readFileSync56 } from "fs";
130524
130694
  import { join as join87, resolve as resolvePath3 } from "path";
130525
130695
  async function loadSDK3() {
130526
130696
  return import("@hyperframes/aws-lambda/sdk");
@@ -130672,7 +130842,7 @@ function makePlaceholderSiteHandle(siteId, bucketName) {
130672
130842
  };
130673
130843
  }
130674
130844
  function parseBatchFile(path2) {
130675
- const raw = readFileSync55(path2, "utf8");
130845
+ const raw = readFileSync56(path2, "utf8");
130676
130846
  const lines = raw.split(/\r?\n/);
130677
130847
  const out = [];
130678
130848
  for (let i2 = 0; i2 < lines.length; i2++) {
@@ -130866,7 +131036,7 @@ __export(policies_exports, {
130866
131036
  runPolicies: () => runPolicies,
130867
131037
  validatePolicy: () => validatePolicy
130868
131038
  });
130869
- import { readFileSync as readFileSync56 } from "fs";
131039
+ import { readFileSync as readFileSync57 } from "fs";
130870
131040
  function allRequiredActions() {
130871
131041
  const set = /* @__PURE__ */ new Set();
130872
131042
  for (const group of Object.values(REQUIRED_ACTIONS)) {
@@ -130972,7 +131142,7 @@ async function runPolicies(args) {
130972
131142
  }
130973
131143
  }
130974
131144
  function validatePolicy(policyPath) {
130975
- const raw = readFileSync56(policyPath, "utf-8");
131145
+ const raw = readFileSync57(policyPath, "utf-8");
130976
131146
  const parsed = JSON.parse(raw);
130977
131147
  const statements = Array.isArray(parsed.Statement) ? parsed.Statement : parsed.Statement ? [
130978
131148
  parsed.Statement
@@ -132082,14 +132252,14 @@ var init_client3 = __esm({
132082
132252
  });
132083
132253
 
132084
132254
  // src/auth/pkce.ts
132085
- import { createHash as createHash8, randomBytes as randomBytes2 } from "crypto";
132255
+ import { createHash as createHash8, randomBytes as randomBytes3 } from "crypto";
132086
132256
  function generatePkcePair() {
132087
- const verifier = base64UrlEncode(randomBytes2(VERIFIER_BYTES));
132257
+ const verifier = base64UrlEncode(randomBytes3(VERIFIER_BYTES));
132088
132258
  const challenge = base64UrlEncode(createHash8("sha256").update(verifier).digest());
132089
132259
  return { verifier, challenge, method: "S256" };
132090
132260
  }
132091
132261
  function generateState() {
132092
- return base64UrlEncode(randomBytes2(32));
132262
+ return base64UrlEncode(randomBytes3(32));
132093
132263
  }
132094
132264
  function base64UrlEncode(buf) {
132095
132265
  return buf.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
@@ -134778,10 +134948,10 @@ if (rootVersionRequested) {
134778
134948
  process.exit(0);
134779
134949
  }
134780
134950
  try {
134781
- const { readFileSync: readFileSync57 } = await import("fs");
134951
+ const { readFileSync: readFileSync58 } = await import("fs");
134782
134952
  const { resolve: resolve46 } = await import("path");
134783
134953
  const envPath = resolve46(process.cwd(), ".env");
134784
- const envContent = readFileSync57(envPath, "utf-8");
134954
+ const envContent = readFileSync58(envPath, "utf-8");
134785
134955
  for (const rawLine of envContent.split("\n")) {
134786
134956
  let line = rawLine.trim();
134787
134957
  if (!line || line.startsWith("#")) continue;