hyperframes 0.7.4 → 0.7.6

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.7.4" : "0.0.0-dev";
53
+ VERSION = true ? "0.7.6" : "0.0.0-dev";
54
54
  }
55
55
  });
56
56
 
@@ -22507,10 +22507,11 @@ function updateAnimationInScript(script, animationId, updates) {
22507
22507
  if (updates.duration !== void 0) {
22508
22508
  upsertProp(ms, call.varsArg, "duration", updates.duration);
22509
22509
  }
22510
- if (updates.ease !== void 0) {
22510
+ const easeValue = updates.easeEach ?? updates.ease;
22511
+ if (easeValue !== void 0) {
22511
22512
  const kfNode = keyframesObjectNode(call.varsArg);
22512
- if (kfNode) upsertProp(ms, kfNode, "easeEach", updates.ease);
22513
- else upsertProp(ms, call.varsArg, "ease", updates.ease);
22513
+ if (kfNode) upsertProp(ms, kfNode, "easeEach", easeValue);
22514
+ else upsertProp(ms, call.varsArg, "ease", easeValue);
22514
22515
  }
22515
22516
  if (updates.extras) {
22516
22517
  for (const [key2, value] of Object.entries(updates.extras)) {
@@ -23063,13 +23064,13 @@ function materializeKeyframesFromScript(script, animationId, keyframes, easeEach
23063
23064
  }
23064
23065
  return ms.toString();
23065
23066
  }
23066
- function addAnimationWithKeyframesToScript(script, targetSelector, position, duration, keyframes, ease) {
23067
+ function addAnimationWithKeyframesToScript(script, targetSelector, position, duration, keyframes, ease, easeEach) {
23067
23068
  const parsed = parseGsapScriptAcornForWrite(script);
23068
23069
  if (!parsed) return { script, id: "" };
23069
23070
  const insertionPoint = findInsertionPoint(parsed);
23070
23071
  if (insertionPoint === null) return { script, id: "" };
23071
23072
  const sorted = [...keyframes].sort((a, b2) => a.percentage - b2.percentage);
23072
- const kfObjCode = buildKeyframeObjectCode(sorted);
23073
+ const kfObjCode = buildKeyframeObjectCode(sorted, easeEach);
23073
23074
  const varParts = [`keyframes: ${kfObjCode}`, `duration: ${valueToCode(duration)}`];
23074
23075
  if (ease) varParts.push(`ease: ${JSON.stringify(ease)}`);
23075
23076
  const stmtCode = `${parsed.timelineVar}.to(${JSON.stringify(targetSelector)}, { ${varParts.join(", ")} }, ${valueToCode(position)});`;
@@ -25071,8 +25072,16 @@ function findHtmlTag(source) {
25071
25072
  };
25072
25073
  }
25073
25074
  function findRootTag(source) {
25074
- const bodyOpenMatch = /<body\b[^>]*>/i.exec(source);
25075
+ const bodyOpenMatch = /<body\b([^>]*)>/i.exec(source);
25075
25076
  const bodyCloseMatch = /<\/body>/i.exec(source);
25077
+ if (bodyOpenMatch && (readAttr(bodyOpenMatch[0], "data-composition-id") || readAttr(bodyOpenMatch[0], "data-width") || readAttr(bodyOpenMatch[0], "data-height"))) {
25078
+ return {
25079
+ raw: bodyOpenMatch[0],
25080
+ name: "body",
25081
+ attrs: bodyOpenMatch[1] ?? "",
25082
+ index: bodyOpenMatch.index
25083
+ };
25084
+ }
25076
25085
  const bodyStart = bodyOpenMatch ? bodyOpenMatch.index + bodyOpenMatch[0].length : 0;
25077
25086
  const bodyEnd = bodyOpenMatch && bodyCloseMatch && bodyCloseMatch.index > bodyStart ? bodyCloseMatch.index : source.length;
25078
25087
  const bodyContent = bodyOpenMatch ? source.slice(bodyStart, bodyEnd) : source;
@@ -25195,6 +25204,26 @@ function stripJsComments(source) {
25195
25204
  }
25196
25205
  return out;
25197
25206
  }
25207
+ function stripHtmlCommentsOnce(source) {
25208
+ let out = "";
25209
+ let i2 = 0;
25210
+ for (; ; ) {
25211
+ const start = source.indexOf("<!--", i2);
25212
+ if (start < 0) return out + source.slice(i2);
25213
+ const end = source.indexOf("-->", start + 4);
25214
+ if (end < 0) return out + source.slice(i2);
25215
+ out += source.slice(i2, start);
25216
+ i2 = end + 3;
25217
+ }
25218
+ }
25219
+ function stripHtmlComments(source) {
25220
+ let out = source;
25221
+ for (let prev = ""; prev !== out; ) {
25222
+ prev = out;
25223
+ out = stripHtmlCommentsOnce(out);
25224
+ }
25225
+ return out;
25226
+ }
25198
25227
  function extractScriptTextsAndSrcs(scripts) {
25199
25228
  const texts = scripts.filter((s2) => !/\bsrc\s*=/.test(s2.attrs)).map((s2) => s2.content);
25200
25229
  const srcs = scripts.map((s2) => readAttr(`<script ${s2.attrs}>`, "src") || "").filter(Boolean);
@@ -25228,7 +25257,7 @@ var init_utils2 = __esm({
25228
25257
  // ../core/src/lint/context.ts
25229
25258
  function buildLintContext(html, options = {}) {
25230
25259
  const rawSource = html || "";
25231
- let source = rawSource;
25260
+ let source = stripHtmlComments(rawSource);
25232
25261
  const templateMatch = source.match(/<template[^>]*>([\s\S]*)<\/template>/i);
25233
25262
  if (templateMatch?.[1]) source = templateMatch[1];
25234
25263
  const tags = extractOpenTags(source);
@@ -25532,13 +25561,13 @@ var init_core = __esm({
25532
25561
  ];
25533
25562
  for (const script of scripts) {
25534
25563
  const stripped = stripJsComments(script.content);
25535
- for (const { pattern, label: label2, hint } of patterns) {
25564
+ for (const { pattern, label: label2, hint: hint2 } of patterns) {
25536
25565
  if (pattern.test(stripped)) {
25537
25566
  findings.push({
25538
25567
  code: "non_deterministic_code",
25539
25568
  severity: "error",
25540
25569
  message: `Script contains \`${label2}\` which produces non-deterministic output. Renders may differ between frames or runs.`,
25541
- fixHint: hint,
25570
+ fixHint: hint2,
25542
25571
  snippet: truncateSnippet(script.content)
25543
25572
  });
25544
25573
  }
@@ -26137,6 +26166,30 @@ function isHiddenGsapState(values) {
26137
26166
  const display = stringValue(values.display)?.toLowerCase();
26138
26167
  return zeroValue(values.opacity) || zeroValue(values.autoAlpha) || visibility === "hidden" || display === "none";
26139
26168
  }
26169
+ function oneValue(values, keys2) {
26170
+ for (const key2 of keys2) {
26171
+ const value = values[key2];
26172
+ if (value !== void 0) return value;
26173
+ }
26174
+ return void 0;
26175
+ }
26176
+ function isVisibleGsapState(values) {
26177
+ const opacity = oneValue(values, ["opacity", "autoAlpha"]);
26178
+ if (typeof opacity === "number") return opacity > 0;
26179
+ if (typeof opacity === "string" && opacity.trim()) {
26180
+ const numeric = Number(opacity);
26181
+ if (Number.isFinite(numeric)) return numeric > 0;
26182
+ }
26183
+ const visibility = stringValue(values.visibility)?.toLowerCase();
26184
+ if (visibility === "visible" || visibility === "inherit") return true;
26185
+ const display = stringValue(values.display)?.toLowerCase();
26186
+ if (display && display !== "none") return true;
26187
+ return false;
26188
+ }
26189
+ function makesOverlayVisible(win) {
26190
+ if (win.method === "from" && isHiddenGsapState(win.propertyValues)) return true;
26191
+ return isVisibleGsapState(win.propertyValues);
26192
+ }
26140
26193
  function isSceneBoundaryExit(win) {
26141
26194
  if (win.end <= win.position) return false;
26142
26195
  if (win.method !== "to" && win.method !== "fromTo") return false;
@@ -26225,6 +26278,67 @@ function getSingleClassSelector(selector) {
26225
26278
  const match = selector.trim().match(/^\.(?<name>[A-Za-z0-9_-]+)$/);
26226
26279
  return match?.groups?.name || null;
26227
26280
  }
26281
+ function readStyleProperty(style, property) {
26282
+ const escapedProperty = property.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
26283
+ const match = style.match(new RegExp(`(?:^|;)\\s*${escapedProperty}\\s*:\\s*([^;]+)`, "i"));
26284
+ return match?.[1]?.trim() || null;
26285
+ }
26286
+ function cssZero(value) {
26287
+ if (!value) return false;
26288
+ return /^0(?:\.0+)?(?:px|%|vw|vh|rem|em)?$/i.test(value.trim());
26289
+ }
26290
+ function styleHasHiddenInitialState(style) {
26291
+ const opacity = readStyleProperty(style, "opacity");
26292
+ if (opacity && Number(opacity) === 0) return true;
26293
+ if (readStyleProperty(style, "visibility")?.toLowerCase() === "hidden") return true;
26294
+ if (readStyleProperty(style, "display")?.toLowerCase() === "none") return true;
26295
+ return false;
26296
+ }
26297
+ function styleHasOpaqueBackground(style) {
26298
+ const background = readStyleProperty(style, "background") || readStyleProperty(style, "background-color");
26299
+ if (!background) return false;
26300
+ const normalized = background.toLowerCase().replace(/\s+/g, "");
26301
+ if (normalized === "transparent" || normalized === "none") return false;
26302
+ if (/rgba?\([^)]*,0(?:\.0+)?\)$/.test(normalized)) return false;
26303
+ if (/hsla?\([^)]*,0(?:\.0+)?\)$/.test(normalized)) return false;
26304
+ return true;
26305
+ }
26306
+ function styleLooksFullFrameOverlay(style) {
26307
+ const position = readStyleProperty(style, "position")?.toLowerCase();
26308
+ if (position !== "fixed" && position !== "absolute") return false;
26309
+ const coversFrame = cssZero(readStyleProperty(style, "inset")) || cssZero(readStyleProperty(style, "top")) && cssZero(readStyleProperty(style, "right")) && cssZero(readStyleProperty(style, "bottom")) && cssZero(readStyleProperty(style, "left"));
26310
+ return coversFrame && styleHasOpaqueBackground(style);
26311
+ }
26312
+ function collectSimpleStyleRules(styles) {
26313
+ const rules = /* @__PURE__ */ new Map();
26314
+ for (const style of styles) {
26315
+ for (const [, selectorList, body] of style.content.matchAll(/([^{}]+)\{([^}]+)\}/g)) {
26316
+ if (!selectorList || !body) continue;
26317
+ for (const selector of selectorList.split(",")) {
26318
+ const token = selector.trim();
26319
+ if (!/^[#.][A-Za-z0-9_-]+$/.test(token)) continue;
26320
+ rules.set(token, `${rules.get(token) || ""};${body}`);
26321
+ }
26322
+ }
26323
+ }
26324
+ return rules;
26325
+ }
26326
+ function tagSimpleSelectors(tag) {
26327
+ const selectors = [];
26328
+ const id = readAttr(tag.raw, "id");
26329
+ if (id) selectors.push(`#${id}`);
26330
+ const classes = readAttr(tag.raw, "class")?.split(/\s+/).filter(Boolean) ?? [];
26331
+ for (const className of classes) selectors.push(`.${className}`);
26332
+ return selectors;
26333
+ }
26334
+ function combinedTagStyle(tag, styleRules) {
26335
+ const styles = [readAttr(tag.raw, "style") || ""];
26336
+ for (const selector of tagSimpleSelectors(tag)) {
26337
+ const ruleStyle = styleRules.get(selector);
26338
+ if (ruleStyle) styles.push(ruleStyle);
26339
+ }
26340
+ return styles.filter(Boolean).join(";");
26341
+ }
26228
26342
  function cssTransformToGsapProps(cssTransform) {
26229
26343
  const parts = [];
26230
26344
  const translateMatch = cssTransform.match(
@@ -26299,7 +26413,7 @@ var init_gsap = __esm({
26299
26413
  gsapRules = [
26300
26414
  // overlapping_gsap_tweens + gsap_animates_clip_element + unscoped_gsap_selector
26301
26415
  // fallow-ignore-next-line complexity
26302
- async ({ source, tags, scripts, rootCompositionId }) => {
26416
+ async ({ source, tags, scripts, styles, rootCompositionId }) => {
26303
26417
  const findings = [];
26304
26418
  const clipIds = /* @__PURE__ */ new Map();
26305
26419
  const clipClasses = /* @__PURE__ */ new Map();
@@ -26320,6 +26434,8 @@ var init_gsap = __esm({
26320
26434
  }
26321
26435
  const classUsage = countClassUsage(tags);
26322
26436
  const clipStartBoundariesByComposition = collectClipStartBoundariesByComposition(source, tags);
26437
+ const styleRules = collectSimpleStyleRules(styles);
26438
+ const reportedVisibleOverlayKeys = /* @__PURE__ */ new Set();
26323
26439
  for (const script of scripts) {
26324
26440
  const localTimelineCompId = readRegisteredTimelineCompositionId(script.content);
26325
26441
  const gsapWindows = await cachedExtractGsapWindows(script.content);
@@ -26371,6 +26487,45 @@ ${right.raw}`)
26371
26487
  });
26372
26488
  }
26373
26489
  }
26490
+ for (const tag of tags) {
26491
+ const selectors = tagSimpleSelectors(tag);
26492
+ if (selectors.length === 0) continue;
26493
+ const overlayKey = readAttr(tag.raw, "id") || String(tag.index);
26494
+ if (reportedVisibleOverlayKeys.has(overlayKey)) continue;
26495
+ const authoredStyle = combinedTagStyle(tag, styleRules);
26496
+ if (!authoredStyle || !styleLooksFullFrameOverlay(authoredStyle)) continue;
26497
+ if (styleHasHiddenInitialState(authoredStyle)) continue;
26498
+ const visibilityWindows = gsapWindows.filter((win) => {
26499
+ const tokens = targetedSelectorTokens(win.targetSelector);
26500
+ if (!selectors.some((selector2) => tokens.has(selector2))) return false;
26501
+ return win.properties.some(
26502
+ (prop2) => ["opacity", "autoAlpha", "visibility", "display"].includes(prop2)
26503
+ );
26504
+ }).sort((a, b2) => a.position - b2.position);
26505
+ const startsHiddenAtZero = visibilityWindows.some(
26506
+ (win) => win.position <= SCENE_BOUNDARY_EPSILON_SECONDS && isHiddenGsapState(win.propertyValues)
26507
+ );
26508
+ if (startsHiddenAtZero) continue;
26509
+ const firstVisible = visibilityWindows.find((win) => makesOverlayVisible(win));
26510
+ if (!firstVisible) continue;
26511
+ const selector = selectors.find(
26512
+ (candidate) => targetedSelectorTokens(firstVisible.targetSelector).has(candidate)
26513
+ ) || selectors[0] || tag.name;
26514
+ const laterHidden = visibilityWindows.some(
26515
+ (win) => win.position >= firstVisible.position && isHiddenGsapState(win.propertyValues)
26516
+ );
26517
+ if (firstVisible.method !== "from" && !laterHidden) continue;
26518
+ reportedVisibleOverlayKeys.add(overlayKey);
26519
+ findings.push({
26520
+ code: "gsap_fullscreen_overlay_starts_visible",
26521
+ severity: "error",
26522
+ message: `Full-frame overlay "${selector}" starts visible before its first GSAP opacity tween at ${firstVisible.position.toFixed(2)}s. It will cover earlier render frames, often as a blank/white video.`,
26523
+ selector,
26524
+ elementId: readAttr(tag.raw, "id") || void 0,
26525
+ fixHint: `Add \`opacity: 0\` to "${selector}" in CSS/inline styles, or add \`tl.set("${selector}", { opacity: 0 }, 0)\` before the reveal tween.`,
26526
+ snippet: truncateSnippet(firstVisible.raw)
26527
+ });
26528
+ }
26374
26529
  for (const win of gsapWindows) {
26375
26530
  const sel = win.targetSelector;
26376
26531
  const clipInfo = clipIds.get(sel) || clipClasses.get(sel);
@@ -26969,6 +27124,17 @@ function isCompositionRootOrMount(rawTag) {
26969
27124
  readAttr(rawTag, "data-composition-id") || readAttr(rawTag, "data-composition-src")
26970
27125
  );
26971
27126
  }
27127
+ function extractCssUrlReferences(css) {
27128
+ const out = [];
27129
+ const noComments = css.replace(/\/\*[\s\S]*?\*\//g, "");
27130
+ const urlPattern = /\burl\(\s*(["']?)([^)"']+)\1\s*\)/g;
27131
+ let m2;
27132
+ while ((m2 = urlPattern.exec(noComments)) !== null) {
27133
+ const raw = (m2[2] ?? "").trim();
27134
+ if (raw) out.push(raw);
27135
+ }
27136
+ return out;
27137
+ }
26972
27138
  function extractCssSelectors(css) {
26973
27139
  const out = [];
26974
27140
  const noComments = css.replace(/\/\*[\s\S]*?\*\//g, "");
@@ -27008,20 +27174,56 @@ var init_composition = __esm({
27008
27174
  MAX_TIMED_ELEMENTS_PER_TRACK = 3;
27009
27175
  TRACK_DENSITY_EXEMPT_TAGS = /* @__PURE__ */ new Set(["audio", "script", "style", "video"]);
27010
27176
  compositionRules = [
27011
- // invalid_capture_path — catches ../capture/ in src/href attributes and scripts.
27012
- // Sub-compositions live in compositions/ but are served relative to the project
27013
- // root, so all asset paths must be root-relative ("capture/...").
27014
- // Using "../capture/..." works on disk but breaks in Studio and renders.
27015
- ({ rawSource, options }) => {
27177
+ // invalid_parent_traversal_in_asset_path — catches `../` traversal in src,
27178
+ // href, inline-style url(), and <style> url() asset references on
27179
+ // compositions. Sub-compositions live under compositions/ but are served
27180
+ // with the project root as their base URL, so any `../`-traversing path
27181
+ // climbs above the project root and 404s in Studio preview. Renders
27182
+ // tolerate it because the server-side bundler rewrites `../foo` against
27183
+ // each sub-composition's source path; the runtime now mirrors that fallback
27184
+ // (see rewriteSubCompositionAssetPaths in runtime/compositionLoader.ts), but
27185
+ // the authoring-time signal is still wrong — flag it at lint time so the
27186
+ // baked path is plain root-relative and matches what the bundler emits.
27187
+ //
27188
+ // Mirrors the runtime fallback's surface: `[src]` / `[href]` attribute
27189
+ // values, `[style]` inline url(), and `<style>` block url() references.
27190
+ // Skips absolute URLs (http(s)://, //, data:, /-prefixed root-relative),
27191
+ // hash anchors, and plain relative paths (`assets/x.mp4`) — only `../`
27192
+ // traversal is flagged. Subsumes the older `../capture/`-specific rule.
27193
+ // fallow-ignore-next-line complexity
27194
+ ({ tags, styles, rawSource, options }) => {
27016
27195
  if (isRegistrySourceFile(options.filePath) || isRegistryInstalledFile(rawSource)) return [];
27017
- const matches2 = rawSource.match(/\.\.\/capture\//g);
27018
- if (!matches2 || matches2.length === 0) return [];
27196
+ const offenders = [];
27197
+ const collect = (value) => {
27198
+ if (!value) return;
27199
+ const trimmed = value.trim();
27200
+ if (!trimmed.startsWith("../") && trimmed !== "..") return;
27201
+ offenders.push(trimmed);
27202
+ };
27203
+ for (const tag of tags) {
27204
+ collect(readAttr(tag.raw, "src"));
27205
+ collect(readAttr(tag.raw, "href"));
27206
+ const styleAttr = readJsonAttr(tag.raw, "style");
27207
+ if (styleAttr) {
27208
+ for (const url of extractCssUrlReferences(styleAttr)) collect(url);
27209
+ }
27210
+ }
27211
+ for (const style of styles) {
27212
+ for (const url of extractCssUrlReferences(style.content)) collect(url);
27213
+ }
27214
+ if (offenders.length === 0) return [];
27215
+ const prefixCounts = /* @__PURE__ */ new Map();
27216
+ for (const path2 of offenders) {
27217
+ const prefix = path2.match(/^(?:\.\.\/)+[^/]+\//)?.[0] ?? path2;
27218
+ prefixCounts.set(prefix, (prefixCounts.get(prefix) ?? 0) + 1);
27219
+ }
27220
+ const prefixSummary = Array.from(prefixCounts.entries()).sort(([, a], [, b2]) => b2 - a).map(([prefix, count]) => count > 1 ? `${prefix} (${count})` : prefix).join(", ");
27019
27221
  return [
27020
27222
  {
27021
- code: "invalid_capture_path",
27223
+ code: "invalid_parent_traversal_in_asset_path",
27022
27224
  severity: "error",
27023
- message: `Found ${matches2.length} asset path(s) using ../capture/ \u2014 will 404 in Studio and renders.`,
27024
- fixHint: 'Replace all "../capture/" with "capture/" throughout this file. Compositions are served with the project root as their base URL, so paths must be root-relative, not relative to the compositions/ directory.'
27225
+ message: `Found ${offenders.length} asset path(s) traversing above the project root with "../" (${prefixSummary}). Renders rewrite this against each sub-composition's source path, but Studio preview and other live consumers resolve against the project root and 404.`,
27226
+ fixHint: 'Use plain root-relative paths (e.g. "assets/...", "capture/...", "fonts/...") \u2014 compositions are served with the project root as their base URL, so paths must be root-relative, not relative to the compositions/ directory.'
27025
27227
  }
27026
27228
  ];
27027
27229
  },
@@ -28743,7 +28945,7 @@ var RUNTIME_IIFE;
28743
28945
  var init_runtime_inline = __esm({
28744
28946
  "../core/src/generated/runtime-inline.ts"() {
28745
28947
  "use strict";
28746
- RUNTIME_IIFE = '"use strict";(()=>{var ga=Object.create;var Hn=Object.defineProperty;var ya=Object.getOwnPropertyDescriptor;var ba=Object.getOwnPropertyNames;var Sa=Object.getPrototypeOf,Aa=Object.prototype.hasOwnProperty;var Ea=(t,e,n)=>e in t?Hn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ne=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var wa=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ba(e))!Aa.call(t,r)&&r!==n&&Hn(t,r,{get:()=>e[r],enumerable:!(i=ya(e,r))||i.enumerable});return t};var Ca=(t,e,n)=>(n=t!=null?ga(Sa(t)):{},wa(e||!t||!t.__esModule?Hn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ea(t,typeof e!="symbol"?e+"":e,n);var Dr=ne((Xf,Jn)=>{var Y=String,Rr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};Jn.exports=Rr();Jn.exports.createColors=Rr});var Yn=ne(()=>{});var on=ne((em,Or)=>{"use strict";var Ir=Dr(),Pr=Yn(),_t=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=Ir.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=Ir.createColors(!0);r=x=>u(f(x)),i=x=>m(x),Pr&&(o=x=>Pr(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 g=20,b=Math.max(0,this.column-g),F=Math.max(this.column+g,this.endColumn+g),_=u.slice(b,F),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,g-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(_)+`\n `+L+r("^")}let E=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+E+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}};Or.exports=_t;_t.default=_t});var Xn=ne((tm,Hr)=>{"use strict";var il=/(<)(\\/?style\\b)/gi,rl=/(<)(!--)/g;function qe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(il,"\\\\3c $2").replace(rl,"\\\\3c $2")}var Br={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function ol(t){return t[0].toUpperCase()+t.slice(1)}var Lt=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(qe(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(qe(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(qe(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:qe(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(qe("/*"+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(qe(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 Br[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"+ol(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=Br[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:qe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(qe(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)}};Hr.exports=Lt;Lt.default=Lt});var vt=ne((nm,Wr)=>{"use strict";var sl=Xn();function Qn(t,e){new sl(e).stringify(t)}Wr.exports=Qn;Qn.default=Qn});var sn=ne((im,Zn)=>{"use strict";Zn.exports.isClean=Symbol("isClean");Zn.exports.my=Symbol("my")});var Dt=ne((rm,Gr)=>{"use strict";var al=on(),ll=Xn(),ul=vt(),{isClean:kt,my:cl}=sn();function ei(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=>ei(s,n)):(o==="object"&&r!==null&&(r=ei(r)),n[i]=r)}return n}function We(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 Rt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[kt]=!1,this[cl]=!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=ei(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 al(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[kt]=!0}markDirty(){if(this[kt]){this[kt]=!1;let e=this;for(;e=e.parent;)e[kt]=!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(We(i,this.source.start),We(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=We(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:We(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:We(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(We(n,this.source.start),We(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:We(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:We(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 ll().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=ul){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)}};Gr.exports=Rt;Rt.default=Rt});var Pt=ne((om,Ur)=>{"use strict";var dl=Dt(),It=class extends dl{constructor(e){super(e),this.type="comment"}};Ur.exports=It;It.default=It});var Bt=ne((sm,Vr)=>{"use strict";var fl=Dt(),Ot=class extends fl{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"}};Vr.exports=Ot;Ot.default=Ot});var $e=ne((am,Qr)=>{"use strict";var zr=Pt(),jr=Bt(),ml=Dt(),{isClean:qr,my:$r}=sn(),ti,Kr,Jr,ni;function Yr(t){return t.map(e=>(e.nodes&&(e.nodes=Yr(e.nodes)),delete e.source,e))}function Xr(t){if(t[qr]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Xr(e)}var De=class t extends ml{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=Yr(Kr(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 jr(e)]}else if(e.selector||e.selectors)e=[new ni(e)];else if(e.name)e=[new ti(e)];else if(e.text)e=[new zr(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[$r]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[qr]&&Xr(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)}))}};De.registerParse=t=>{Kr=t};De.registerRule=t=>{ni=t};De.registerAtRule=t=>{ti=t};De.registerRoot=t=>{Jr=t};Qr.exports=De;De.default=De;De.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ti.prototype):t.type==="rule"?Object.setPrototypeOf(t,ni.prototype):t.type==="decl"?Object.setPrototypeOf(t,jr.prototype):t.type==="comment"?Object.setPrototypeOf(t,zr.prototype):t.type==="root"&&Object.setPrototypeOf(t,Jr.prototype),t[$r]=!0,t.nodes&&t.nodes.forEach(e=>{De.rebuild(e)})}});var an=ne((lm,eo)=>{"use strict";var Zr=$e(),ut=class extends Zr{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)}};eo.exports=ut;ut.default=ut;Zr.registerAtRule(ut)});var ln=ne((um,io)=>{"use strict";var pl=$e(),to,no,it=class extends pl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new to(new no,this,e).stringify()}};it.registerLazyResult=t=>{to=t};it.registerProcessor=t=>{no=t};io.exports=it;it.default=it});var oo=ne((cm,ro)=>{var hl="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",xl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},gl=(t=21)=>{let e="",n=t|0;for(;n--;)e+=hl[Math.random()*64|0];return e};ro.exports={nanoid:gl,customAlphabet:xl}});var un=ne(()=>{});var cn=ne(()=>{});var ii=ne(()=>{});var so=ne(()=>{});var oi=ne((bm,uo)=>{"use strict";var{existsSync:yl,readFileSync:bl}=so(),{dirname:ri,join:Sl}=un(),{SourceMapConsumer:ao,SourceMapGenerator:lo}=cn();function Al(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ht=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=ri(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new ao(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 Al(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=ri(e),yl(e)))return this.mapFile=e,bl(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 ao)return lo.fromSourceMap(n).toString();if(n instanceof lo)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=Sl(ri(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)}};uo.exports=Ht;Ht.default=Ht});var Wt=ne((Sm,ho)=>{"use strict";var{nanoid:El}=oo(),{isAbsolute:li,resolve:ui}=un(),{SourceMapConsumer:wl,SourceMapGenerator:Cl}=cn(),{fileURLToPath:co,pathToFileURL:dn}=ii(),fo=on(),Fl=oi(),si=Yn(),ai=Symbol("lineToIndexCache"),Ml=!!(wl&&Cl),mo=!!(ui&&li);function po(t){if(t[ai])return t[ai];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[ai]=n,n}var ct=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&&(!mo||/^\\w+:\\/\\//.test(n.from)||li(n.from)?this.file=n.from:this.file=ui(n.from)),mo&&Ml){let i=new Fl(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 "+El(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 fo(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 fo(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&&(dn&&(c.input.url=dn(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return po(this)[e-1]+n-1}fromOffset(e){let n=po(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:ui(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;li(s.source)?a=dn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||dn(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(co)c.file=co(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}};ho.exports=ct;ct.default=ct;si&&si.registerInput&&si.registerInput(ct)});var dt=ne((Am,bo)=>{"use strict";var xo=$e(),go,yo,Ke=class extends xo{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 go(new yo,this,e).stringify()}};Ke.registerLazyResult=t=>{go=t};Ke.registerProcessor=t=>{yo=t};bo.exports=Ke;Ke.default=Ke;xo.registerRoot(Ke)});var ci=ne((Em,So)=>{"use strict";var Gt={comma(t){return Gt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Gt.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}};So.exports=Gt;Gt.default=Gt});var fn=ne((wm,Eo)=>{"use strict";var Ao=$e(),Nl=ci(),ft=class extends Ao{get selectors(){return Nl.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=[])}};Eo.exports=ft;ft.default=ft;Ao.registerRule(ft)});var Co=ne((Cm,wo)=>{"use strict";var Tl=an(),_l=Pt(),Ll=Bt(),vl=Wt(),kl=oi(),Rl=dt(),Dl=fn();function Ut(t,e){if(Array.isArray(t))return t.map(r=>Ut(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:vl.prototype};o.map&&(o.map={...o.map,__proto__:kl.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ut(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 Rl(i);if(i.type==="decl")return new Ll(i);if(i.type==="rule")return new Dl(i);if(i.type==="comment")return new _l(i);if(i.type==="atrule")return new Tl(i);throw new Error("Unknown node type: "+t.type)}wo.exports=Ut;Ut.default=Ut});var fi=ne((Fm,Lo)=>{"use strict";var{dirname:mn,relative:Mo,resolve:No,sep:To}=un(),{SourceMapConsumer:_o,SourceMapGenerator:pn}=cn(),{pathToFileURL:Fo}=ii(),Il=Wt(),Pl=!!(_o&&pn),Ol=!!(mn&&No&&Mo&&To),di=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||mn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new _o(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(),Ol&&Pl&&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=pn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new pn({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 pn({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?mn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=mn(No(i,this.mapOpts.annotation)));let r=Mo(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 Il(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(Fo){let i=Fo(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;To==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Lo.exports=di});var Ro=ne((Mm,ko)=>{"use strict";var hn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,xn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Bl=/.[\\r\\n"\'(/\\\\]/,vo=/[\\da-f]/i;ko.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,c,u,m,f,x,E,g=i.length,b=0,F=[],_=[],L=-1;function ee(){return b}function H(C){throw e.error("Unclosed "+C,b)}function N(){return _.length===0&&b>=g}function y(C){if(_.length)return _.pop();if(b>=g)return;let M=C?C.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);u=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let k=String.fromCharCode(o);u=[k,k,b];break}case 40:{if(E=F.length?F.pop()[1]:"",x=i.charCodeAt(b+1),E==="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||M){a=b;break}else H("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(b,a+1),b,a],b=a}else b<=L?u=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||Bl.test(s)?(L=a===-1?g:a,u=["(","(",b]):(u=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(m=!1,a=i.indexOf(c,a+1),a===-1)if(r||M){a=b+1;break}else H("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{hn.lastIndex=b+1,hn.test(i),hn.lastIndex===0?a=i.length-1:a=hn.lastIndex-2,u=["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,vo.test(i.charAt(a)))){for(;vo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["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||M?a=i.length:H("comment")),u=["comment",i.slice(b,a+1),b,a],b=a):(xn.lastIndex=b+1,xn.test(i),xn.lastIndex===0?a=i.length-1:a=xn.lastIndex-2,u=["word",i.slice(b,a+1),b,a],F.push(u),b=a);break}}return b++,u}function A(C){_.push(C)}return{back:A,endOfFile:N,nextToken:y,position:ee}}});var Oo=ne((Nm,Po)=>{"use strict";var Hl=an(),Wl=Pt(),Gl=Bt(),Ul=dt(),Do=fn(),Vl=Ro(),Io={empty:!0,space:!0};function zl(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var mi=class{constructor(e){this.input=e,this.root=new Ul,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 Hl;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 Wl;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=Vl(this.input)}decl(e,n){let i=new Gl;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]||zl(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 Do;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",!Io[m]&&!Io[u]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((x,E)=>x+E[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new Do;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})}};Po.exports=mi});var yn=ne((Tm,Bo)=>{"use strict";var jl=$e(),ql=Wt(),$l=Oo();function gn(t,e){let n=new ql(t,e),i=new $l(n);try{i.parse()}catch(r){throw r}return i.root}Bo.exports=gn;gn.default=gn;jl.registerParse(gn)});var pi=ne((_m,Ho)=>{"use strict";var Vt=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}};Ho.exports=Vt;Vt.default=Vt});var bn=ne((Lm,Wo)=>{"use strict";var Kl=pi(),zt=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 Kl(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Wo.exports=zt;zt.default=zt});var hi=ne((vm,Uo)=>{"use strict";var Go={};Uo.exports=function(e){Go[e]||(Go[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var yi=ne((Rm,qo)=>{"use strict";var Jl=$e(),Yl=ln(),Xl=fi(),Ql=yn(),Vo=bn(),Zl=dt(),eu=vt(),{isClean:Be,my:tu}=sn(),km=hi(),nu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},iu={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},ru={Once:!0,postcssPlugin:!0,prepare:!0},mt=0;function jt(t){return typeof t=="object"&&typeof t.then=="function"}function jo(t){let e=!1,n=nu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,mt,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,mt,n+"Exit"]:[n,n+"Exit"]}function zo(t){let e;return t.type==="document"?e=["Document",mt,"DocumentExit"]:t.type==="root"?e=["Root",mt,"RootExit"]:e=jo(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function xi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>xi(e)),t}var gi={},Je=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=xi(n);else if(n instanceof t||n instanceof Vo)r=xi(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=Ql;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[tu]&&Jl.rebuild(r)}this.result=new Vo(e,r,i),this.helpers={...gi,postcss:gi,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(!iu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!ru[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(jt(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=[zo(e)];for(;n.length>0;){let i=this.visitTick(n);if(jt(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 jt(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=eu;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 Xl(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(jt(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(jt(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(zo(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===mt){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=jo(e);for(let i of n)if(i===mt)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()}};Je.registerPostcss=t=>{gi=t};qo.exports=Je;Je.default=Je;Zl.registerLazyResult(Je);Yl.registerLazyResult(Je)});var Ko=ne((Im,$o)=>{"use strict";var ou=fi(),su=yn(),au=bn(),lu=vt(),Dm=hi(),qt=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=su;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=lu;this.result=new au(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 ou(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[]}};$o.exports=qt;qt.default=qt});var Yo=ne((Pm,Jo)=>{"use strict";var uu=ln(),cu=yi(),du=Ko(),fu=dt(),rt=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 du(this,e,n):new cu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Jo.exports=rt;rt.default=rt;fu.registerProcessor(rt);uu.registerProcessor(rt)});var rs=ne((Om,is)=>{"use strict";var Xo=an(),Qo=Pt(),mu=$e(),pu=on(),Zo=Bt(),es=ln(),hu=Co(),xu=Wt(),gu=yi(),yu=ci(),bu=Dt(),Su=yn(),bi=Yo(),Au=bn(),ts=dt(),ns=fn(),Eu=vt(),wu=pi();function se(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new bi(t)}se.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 bi().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return se([r(a)]).process(s,l)},r};se.stringify=Eu;se.parse=Su;se.fromJSON=hu;se.list=yu;se.comment=t=>new Qo(t);se.atRule=t=>new Xo(t);se.decl=t=>new Zo(t);se.rule=t=>new ns(t);se.root=t=>new ts(t);se.document=t=>new es(t);se.CssSyntaxError=pu;se.Declaration=Zo;se.Container=mu;se.Processor=bi;se.Document=es;se.Comment=Qo;se.Warning=wu;se.AtRule=Xo;se.Result=Au;se.Input=xu;se.Rule=ns;se.Root=ts;se.Node=bu;gu.registerPostcss(se);is.exports=se;se.default=se});function nn(){return globalThis}function R(t,e){if(typeof window>"u")return;let n=nn(),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){R("bridge.postMessage",e)}}var Fa={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>Ma(t)};function Ma(t){let e=t.selectors,n=t.duration||800;e&&Na(e,n)}function Qi(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=Fa[r];o&&o(i,t)};return window.addEventListener("message",e),Ae({source:"hf-preview",type:"ready"}),e}function Na(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){R("bridge.flashElements.querySelector",i)}}var Wn=null;function Zi(t){Wn=t}function At(t,e){if(Wn)try{Wn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){R("runtime.analytics.site1",n)}}function er(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){R("runtime.adapters.css.site1",u)}try{c.pause()}catch(u){R("runtime.adapters.css.site2",u)}}},r=l=>{for(let a of l)try{a.play()}catch(c){R("runtime.adapters.css.site3",c)}},o=l=>{for(let a of l)try{a.pause()}catch(c){R("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 tr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function nr(){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){R("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){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){R("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){R("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function or(){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){R("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(ir(i))i.goToAndStop(e*1e3,!1);else if(rr(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){R("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(ir(e)||rr(e))&&e.pause()}catch(n){R("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function ir(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function rr(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Gn=-1;function rn(t){if(t!==Gn){Gn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){R("runtime.adapters.seek-dispatch.site1",e)}}}function sr(t){Gn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){R("runtime.adapters.seek-dispatch.force",e)}}function ar(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},l=c=>{o||c.itemsTotal<=c.itemsLoaded||(o=new Promise(u=>{c.onLoad=function(){try{r?.call(this)}finally{o=null,c.onLoad=r??null,u()}}}))},a=c=>{n!==c&&(n=c,i=c.onStart??null,r=c.onLoad??null,c.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{l(c)}})};return{name:"three",discover:()=>{let c=s();c&&(a(c),l(c))},seek:c=>{t=Math.max(0,Number(c.time)||0),e=t,window.__hfThreeTime=t,rn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let c=s();return!c||c.itemsTotal<=c.itemsLoaded?null:(o||l(c),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function lr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function ur(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function cr(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function dr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function fr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function mr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,rn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function pr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function hr(){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=pr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function xr(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,c=l[a];if(c instanceof HTMLVideoElement){let u=pr(c);u&&(l[a]=u)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function gr(){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){R("runtime.adapters.waapi.site1",f)}try{c.pause()}catch(f){R("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){R("runtime.adapters.waapi.site3",a)}}}}function yr(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 Ta(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 g=m;g<=f+1e-6;g+=u){let b=Math.min(f,g);e(b);let F=Number(t.volume);if(!Number.isFinite(F))continue;let _=Math.max(0,Math.min(1,F)),L=x.at(-1);if((!L||Math.abs(L.volume-_)>1e-4||b===f)&&x.push({time:Number(b.toFixed(6)),volume:Number(_.toFixed(6))}),b===f)break}return x.some(g=>Math.abs(g.volume-c)>1e-4)?x:null}function br(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ta(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 Ct(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Sr(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=Ct(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/c));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,E=Number.parseFloat(s.dataset.volume??""),g={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(E)?E:null,playbackRate:c,loop:u,sourceDuration:m};i.push(g),s.tagName==="VIDEO"&&r.push(g),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Un=new WeakMap,Et=new WeakMap,Vn=new WeakSet,at=new WeakSet;function _a(t){if(at.has(t))return;at.add(t);let e=()=>at.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var La=3;function va(t){return t.error!=null||t.networkState===La}var zn=new WeakMap;function wt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function Ar(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let M=n.sourceDuration-n.mediaStart;M>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%M)}let s=wt(t.userVolume??1),l=wt(n.volume??1),a=zn.get(i),c=wt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=wt(yr(n.volumeKeyframes,r)):a===void 0||Math.abs(c-a)>1e-4?u=c:u=l;let m=wt(u*s);i.volume=m,zn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(M){R("runtime.media.site1",M)}let f=.04,x=2,E=i.currentTime||0,g=Math.abs(E-r),b=r-E,F=Un.get(i);Un.set(i,b);let _=F===void 0,L=!_&&Math.abs(b-F)>.5,ee=g>3,H=g>.5&&(_||L||ee),N=i.tagName==="VIDEO"&&!i.paused,y=F!==void 0&&Math.abs(b-F)<.004,A=!1;if(!N&&!H&&!_&&y&&g>f){let M=(Et.get(i)??0)+1;Et.set(i,M),M>=x&&(A=!0,Et.set(i,0))}else g<=f&&Et.set(i,0);let C=!N&&t.forceSync&&g>.02;if(H||A||C){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(k){R("runtime.media.site2",k)}if(Math.abs(i.currentTime-r)>.5&&!Vn.has(i)){Vn.add(i),i.load();try{i.currentTime=r}catch(k){R("runtime.media.site3",k)}}}at.delete(i)}t.playing&&i.paused&&!at.has(i)&&!va(i)?(_a(i),i.play().catch(M=>{at.delete(i),(M&&typeof M=="object"&&"name"in M?String(M.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Un.delete(i),Et.delete(i),Vn.delete(i),zn.delete(i),i.paused||i.pause()}}var ka=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Ra=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Da="data-hf-color-grading-source-hidden";function Er(t){let e=!1,n=null,i=null,r=null,o=null;function s(y,A){try{window.dispatchEvent(new CustomEvent(y,{detail:A}))}catch(C){R("runtime.picker.site1",C)}}function l(y){r=y,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(y){o=y,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(y){let A=y.ownerDocument.defaultView;if(!A)return!1;let C=y;for(;C&&C!==document.body&&C!==document.documentElement;){let M=A.getComputedStyle(C);if(M.display==="none"||M.visibility==="hidden"||M.pointerEvents==="none")return!0;let k=Number.parseFloat(M.opacity);if(Number.isFinite(k)&&k<=.01&&!C.hasAttribute(Da))return!0;C=C.parentElement}return!1}function u(y){if(!y||y===document.body||y===document.documentElement)return!1;let A=y.tagName.toLowerCase();return!(A==="script"||A==="style"||A==="link"||A==="meta"||y.classList.contains("__hf-pick-highlight")||y.closest(ka)||c(y))}function m(y){return!!y?.closest(Ra)}function f(y){let A=y;if(A.id)return`#${A.id}`;let C=y.getAttribute("data-composition-id");if(C)return`[data-composition-id="${CSS.escape(C)}"]`;let M=y.getAttribute("data-composition-src");if(M)return`[data-composition-src="${CSS.escape(M)}"]`;let k=y.getAttribute("data-track-index");if(k)return`[data-track-index="${CSS.escape(k)}"]`;let W=y.tagName.toLowerCase(),G=y.parentElement;if(!G)return W;let J=G.querySelectorAll(`:scope > ${W}`);if(J.length===1)return W;for(let v=0;v<J.length;v+=1)if(J[v]===y)return`${W}:nth-of-type(${v+1})`;return W}function x(y){let A=y.tagName.toLowerCase(),C=(y.textContent??"").trim().replace(/\\s+/g," "),M=(k,W)=>k.length>W?`${k.slice(0,W-1)}\\u2026`:k;return A==="h1"||A==="h2"||A==="h3"?"Heading":A==="p"||A==="span"||A==="div"?C.length>0?M(C,56):"Text":A==="img"?"Image":A==="video"?"Video":A==="audio"?"Audio":A==="svg"?"Shape":y.getAttribute("data-composition-src")?"Composition":A==="section"?"Section":`${A.charAt(0).toUpperCase()}${A.slice(1)}`}function E(y,A,C){let M=typeof C=="number"&&C>0?C:8,k=[];if(document.elementsFromPoint)k=document.elementsFromPoint(y,A);else if(document.elementFromPoint){let J=document.elementFromPoint(y,A);k=J?[J]:[]}if(m(k[0]??null))return[];let W={},G=[];for(let J=0;J<k.length;J+=1){let v=k[J];if(!u(v))continue;let ie=`${v.tagName}::${v.id||""}::${J}`;if(!W[ie]&&(W[ie]=!0,G.push(v),G.length>=M))break}return G}function g(y){let A=y.getBoundingClientRect(),C={};for(let k=0;k<y.attributes.length;k+=1){let W=y.attributes[k];W.name.startsWith("data-")&&(C[W.name]=W.value)}return{id:y.id||null,tagName:y.tagName.toLowerCase(),selector:f(y),label:x(y),boundingBox:{x:A.left,y:A.top,width:A.width,height:A.height},textContent:y.textContent?y.textContent.trim().slice(0,200):null,src:y.getAttribute("src")||y.getAttribute("data-composition-src")||null,dataAttributes:C}}function b(y,A,C){return E(y,A,C).map(g)}function F(y){if(!e)return;let C=E(y.clientX,y.clientY,1)[0]??(y.target instanceof Element?y.target:null);if(!u(C)||n===C)return;n&&n.classList.remove("__hf-pick-highlight"),n=C,C.classList.add("__hf-pick-highlight");let M=g(C);l(M),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:M})}function _(y){if(!e)return;y.preventDefault(),y.stopPropagation(),y.stopImmediatePropagation();let A=b(y.clientX,y.clientY,8);A.length!==0&&(l(A[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:A,selectedIndex:0,point:{x:y.clientX,y:y.clientY}}))}function L(y){y.key==="Escape"&&(H(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function ee(){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",F,!0),document.addEventListener("click",_,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function H(){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",F,!0),document.removeEventListener("click",_,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function N(){window.__HF_PICKER_API={enable:ee,disable:H,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(y,A,C)=>Number.isFinite(y)&&Number.isFinite(A)?b(y,A,C):[],pickAtPoint:(y,A,C)=>{if(!Number.isFinite(y)||!Number.isFinite(A))return null;let M=b(y,A,8);if(!M.length)return null;let k=Math.max(0,Math.min(M.length-1,Number(C??0))),W=M[k]??null;return W?(a(W),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),H(),W):null},pickManyAtPoint:(y,A,C)=>{if(!Number.isFinite(y)||!Number.isFinite(A))return[];let M=b(y,A,8);if(!M.length)return[];let k=[],W=Array.isArray(C)?C:[0];for(let G of W){let J=Math.max(0,Math.min(M.length-1,Math.floor(Number(G)))),v=M[J];if(!v)continue;k.some(Me=>Me.selector===v.selector&&Me.tagName===v.tagName)||k.push(v)}return k.length?(a(k[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:k}),H(),k):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:ee,disablePickMode:H,installPickerApi:N}}var Ia=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function lt(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 wr(t,e,n=Ia){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function Ft(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&&R("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&R("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Mt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){R("runtime.player.site1",r)}}}function Cr(t,e,n){let i=lt(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function Pa(t,e,n,i){let r=[];Mt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Cr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){R("runtime.player.site2",s)}}}function Oa(t,e){Mt(t,e,n=>{Re(n,"play")})}function Fr(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??Ft(e,"duration",0))||0);n>0&&Math.max(0,Ft(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Mt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Mt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,Ft(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=Pa(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Mt(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),Re(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?(Oa(t.getTimelineRegistry?.(),n),Cr(n,e,i)):lt(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Ft(t.getTimeline(),"time",0),getDuration:()=>Ft(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Mr(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Ba=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function qn(t){return t.id||t.getAttribute("data-hf-id")||null}function jn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function Ha(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function Wa(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=jn(t.getAttribute("data-playback-start"))??jn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function Ga(t,e,n,i){let r=jn(t.getAttribute("data-duration"));return r!=null&&r>0?r:Ha(t,e)??Wa(t)??Math.max(0,n-i)}function Ua(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Nr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Ba.has(l.tagName))continue;let a=e.resolveStartForElement(l,0);if(Ga(l,n,i,a)<=0)continue;let c={id:qn(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,c)}return Ua(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}var Va="data-hf-authored-duration",za="data-hf-authored-end";function nt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ja(t){return nt(t.getAttribute("data-duration"))}function qa(t){return nt(t.getAttribute("data-end"))}function $a(t){return nt(t.getAttribute(Va))}function Ka(t){return nt(t.getAttribute(za))}function Ja(t){let e=(t??"").trim();if(!e)return null;let n=nt(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 je(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=ja(u)??(n?$a(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let E=qa(u)??(n?Ka(u):null);if(E!=null){let g=c(u,0),b=E-g;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let E=nt(u.getAttribute("data-playback-start"))??nt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>E&&(f=(u.duration-E)/Ct(u))}if(f==null||f<=0){let E=u.getAttribute("data-composition-id");if(E){let g=e[E]??null;if(g&&typeof g.duration=="function")try{let b=Number(g.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){R("runtime.startResolver.site1",b)}}}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=Ja(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let _=u.parentElement;if(_&&(_.hasAttribute("data-composition-src")||_.hasAttribute("data-composition-id"))){let L=c(_,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let _=Math.max(0,x.value),L=Math.max(0,a(u,m)+_);return i.set(u,L),L}let E=s(x.refId);if(!E)return i.set(u,m),m;let g=c(E,0),b=l(E);if(b==null||b<=0){let _=Math.max(0,g+x.offset);return i.set(u,_),_}let F=Math.max(0,g+b+x.offset);return i.set(u,F),F}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>c(u,Math.max(0,m)),resolveDurationForElement:u=>l(u)}}function Tr(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var Ya="data-hf-authored-duration",Xa="data-hf-authored-end";function we(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function $n(t){return we(t.getAttribute("data-duration"))??we(t.getAttribute(Ya))}function _r(t){return we(t.getAttribute("data-end"))??we(t.getAttribute(Xa))}function Kn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Lr={composition:0,video:1,image:2,element:3,audio:4};function Qa(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)=>(Lr[c]??99)-(Lr[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 Tt(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 vr(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return Tt(e);let n=t.getAttribute("data-composition-src");if(n)return Tt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?Tt(i.getAttribute("src")):null}function Za(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 el(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 tl(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Nt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function nl(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 Nt(r);let o=t.id;if(o)return Nt(o);let s=Za(t);if(s)return Nt(s);let l=el(vr(t));if(l)return Nt(l);let a=tl(t);return a||`${Nt(e)} ${n+1}`}function kr(t){let n=window.__timelines??{},i=je({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let B=Number(D.duration());return Number.isFinite(B)&&B>0?B:null}catch{return null}},o=O=>{let D=we(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let B=we(O.getAttribute("data-playback-start"))??we(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>B?Math.max(0,(O.duration-B)/Ct(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let B of O){let ae=B.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(B,0):Math.max(0,Number(B.getAttribute("data-start")??0)||0);if(!Number.isFinite(ae))continue;let re=o(B);re==null||re<=0||(D=Math.max(D,Math.max(0,ae)+re))}return D>0?D:null},l=(O,D)=>{let B=[],ae=null,re=null,j=null,q=O.parentElement;for(;q;){let z=q.getAttribute("data-composition-id");z&&(B.push(z),!j&&q!==D&&(j=z),ae==null&&(ae=i.resolveStartForElement(q,0)),re==null&&(re=we(q.getAttribute("data-duration"))??r(z)??null)),q=q.parentElement}return{parentCompositionId:j,compositionAncestors:B.reverse(),inheritedStart:ae,inheritedDuration:re}},a=document.querySelector("[data-composition-id]"),c=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,E=r(u),g=$n(a??document.body),b=Kn(...c.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),B=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||B==null||B<=0?null:Math.max(0,D)+B})),F=b!=null?Math.max(0,b-Math.max(0,m)):null,_=typeof E=="number"&&Number.isFinite(E)&&E>0?E:null,L=typeof g=="number"&&Number.isFinite(g)&&g>0?g:null,ee=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,H=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,N=Kn(ee,H),y=_!=null&&N!=null&&_>N+1,C=L??(y?N:Kn(_,ee,H))??null,k=(C!=null?m+C:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(O,D)=>!Number.isFinite(D)||D<=0?0:k==null||!Number.isFinite(k)?D:!Number.isFinite(O)||O>=k?0:Math.max(0,Math.min(D,k-O)),G=[],J=[],v=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),ie=0;for(let O=0;O<v.length;O+=1){let D=v[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let B=l(D,a),ae=i.resolveStartForElement(D,B.inheritedStart??0),re=D.getAttribute("data-composition-id"),j=$n(D);if((j==null||j<=0)&&re&&re!==u&&(j=r(re)),(j==null||j<=0)&&D instanceof HTMLMediaElement){let be=we(D.getAttribute("data-playback-start"))??we(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(j=Math.max(0,D.duration-be))}if(j==null||j<=0){let be=B.inheritedDuration;if(be!=null&&be>0){let Ne=(B.inheritedStart??0)+be;j=Math.max(0,Ne-ae)}}if(j==null||j<=0||(j=W(ae,j),j<=0))continue;let q=ae+j;ie=Math.max(ie,q);let z=D.tagName.toLowerCase(),Le=re&&re!==u?"composition":z==="video"?"video":z==="audio"?"audio":z==="img"?"image":"element";G.push({id:qn(D)??re??null,label:nl(D,Le,G.length),start:ae,duration:j,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Le,tagName:z,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:B.compositionAncestors,parentCompositionId:B.parentCompositionId,nodePath:null,compositionSrc:Tt(D.getAttribute("data-composition-src")),assetUrl:vr(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:we(D.getAttribute("data-timeline-priority"))})}let Me=new Set(G.map(O=>O.id)),V=a?.getAttribute("data-composition-id")??null,te=V?n[V]??null:null;if(te&&a){let O=te;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],B=new Map;for(let j of a.children){let q=j;if(!q.id)continue;let z=q.tagName.toLowerCase();z==="script"||z==="style"||z==="link"||B.set(q,{id:q.id,start:1/0,end:-1/0})}let ae=j=>{let q=j;for(;q;){if(B.has(q))return q;if(q===a)return null;q=q.parentElement}return null};for(let j of D){if(typeof j.targets!="function"||typeof j.startTime!="function"||typeof j.duration!="function")continue;let q=j.startTime(),z=j.parent;for(;z&&z!==te&&typeof z.startTime=="function";)q+=z.startTime(),z=z.parent;let Le=q+j.duration();if(!(!Number.isFinite(q)||!Number.isFinite(Le)))for(let be of j.targets()){if(!(be instanceof Element))continue;let Ve=ae(be);if(!Ve)continue;let Ne=B.get(Ve);Ne&&(Ne.start=Math.min(Ne.start,q),Ne.end=Math.max(Ne.end,Le))}}let re=G.length>0?Math.max(...G.map(j=>j.track))+1:0;for(let[j,q]of B){if(q.start===1/0||q.end===-1/0)continue;let z=j;if(Me.has(z.id))continue;let Le=Math.max(0,q.end-q.start);if(Le<=0)continue;let be=W(q.start,Le);be<=0||(ie=Math.max(ie,q.start+be),G.push({id:z.id,label:z.getAttribute("data-timeline-label")??z.getAttribute("data-label")??z.getAttribute("aria-label")??z.id,start:q.start,duration:be,track:Number.parseInt(z.getAttribute("data-track-index")??z.getAttribute("data-track")??"",10)||re,kind:"element",tagName:z.tagName.toLowerCase(),compositionId:z.getAttribute("data-composition-id"),compositionAncestors:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:z.getAttribute("data-timeline-role"),timelineLabel:z.getAttribute("data-timeline-label"),timelineGroup:z.getAttribute("data-timeline-group"),timelinePriority:we(z.getAttribute("data-timeline-priority"))}),Me.add(z.id))}}catch(D){R("runtime.timeline.site1",D)}}if(a&&C!=null&&C>0){let O=G.length>0?Math.max(...G.map(D=>D.track))+1:0;for(let D of a.children){let B=D;if(!B.id||Me.has(B.id))continue;let ae=B.getAttribute("data-timeline-role");if(ae!=="overlay"&&ae!=="persistent-overlay")continue;let re=B.tagName.toLowerCase();if(re==="script"||re==="style"||re==="link"||re==="meta"||window.getComputedStyle(B).display==="none")continue;let q=W(0,C);q<=0||(ie=Math.max(ie,q),G.push({id:B.id,label:B.getAttribute("data-timeline-label")??B.getAttribute("data-label")??B.getAttribute("aria-label")??B.id,start:0,duration:q,track:Number.parseInt(B.getAttribute("data-track-index")??B.getAttribute("data-track")??"",10)||O,kind:"element",tagName:re,compositionId:B.getAttribute("data-composition-id"),compositionAncestors:V?[V]:[],parentCompositionId:V,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ae,timelineLabel:B.getAttribute("data-timeline-label"),timelineGroup:B.getAttribute("data-timeline-group"),timelinePriority:we(B.getAttribute("data-timeline-priority"))}),Me.add(B.id))}}Qa(G);for(let O of c){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!Tr(D))continue;let B=i.resolveStartForElement(O,0),ae=$n(O);if((ae==null||ae<=0)&&_r(O)!=null){let z=_r(O);ae=Math.max(0,z-B)}let re=r(D),j=ae&&ae>0?ae:re;if(j==null||j<=0)continue;let q=W(B,j);q<=0||J.push({id:D,label:O.getAttribute("data-label")??D,start:B,duration:q,thumbnailUrl:Tt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let U=Math.max(1,ie||1,C??0);return{source:"hf-preview",type:"timeline",durationInFrames:y&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(U*Math.max(1,t.canonicalFps))),clips:G,scenes:J,compositionWidth:we(a?.getAttribute("data-width"))??1920,compositionHeight:we(a?.getAttribute("data-height"))??1080}}var ce=Ca(rs(),1),os=ce.default,Bm=ce.default.stringify,Hm=ce.default.fromJSON,Wm=ce.default.plugin,Gm=ce.default.parse,Um=ce.default.list,Vm=ce.default.document,zm=ce.default.comment,jm=ce.default.atRule,qm=ce.default.rule,$m=ce.default.decl,Km=ce.default.root,Jm=ce.default.CssSyntaxError,Ym=ce.default.Declaration,Xm=ce.default.Container,Qm=ce.default.Processor,Zm=ce.default.Document,ep=ce.default.Comment,tp=ce.default.Warning,np=ce.default.AtRule,ip=ce.default.Result,rp=ce.default.Input,op=ce.default.Rule,sp=ce.default.Root,ap=ce.default.Node;var Si="data-hf-authored-id";function Ai(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ei(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function Cu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ss(t){let e=t.trim();return e?Array.from(new Set([e,Cu(e)])).filter(Boolean):[]}function Fu(t){return!!t&&/[\\w-]/.test(t)}function Mu(t,e,n){let i=ss(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(!Fu(m)){r+=n,l+=u.length;continue}}}r+=a}return r}function Nu(t,e){let n=e?.trim();return n?Mu(t,n,`[${Si}="${Ei(n)}"]`):t}function Tu(t,e,n,i,r){let o=Nu(t,i),s=_u(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*(["\'])${Ai(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?`[${Si}="${Ei(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 _u(t,e,n){let i=Ai(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 Lu=new Set(["keyframes","-webkit-keyframes","font-face"]);function vu(t){return t?.type==="atrule"}function ku(t){let e=t.parent;for(;e;){if(vu(e)&&Lu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function wi(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Ei(o)}"]`,l=os.parse(t);return l.walkRules(a=>{ku(a)||(a.selectors=a.selectors.map(c=>Tu(c,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function as(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=Ai(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*\\]`),E=JSON.stringify(ss(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(Si)};\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 = ${E};\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 ls(){if(typeof document>"u")return{};let t=Ci(document.documentElement),e=Ru();return{...t,...e}}function Ci(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 Ru(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Du=8e3,Iu=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/;function Pu(t,e){return`${t}__hf${e}`}var Ou=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"),Du)});function Fi(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var Bu=["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 Hu(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of Bu)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 us(t,e){let n=t.trim();if(!n)return t;try{return Iu.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function Wu(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 Sn(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 Gu(t){let e=new Map;for(let n of t){let i=Sn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function cs(t){let e=Sn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function Uu(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function Vu(t){return t.hasAttribute("data-composition-src")?!0:cs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:Uu(t):!1}function Ni(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:cs(e))}function ds(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Ni().map(n=>Sn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function fs(t,e=Gu(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Sn(r),l=Vu(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?Pu(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 Mi(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=wi(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=wi(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()??"",E=f.getAttribute("src")?.trim()??"";if(E){let g=us(E,t.compositionUrl);a.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&a.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",E=f.getAttribute("src")?.trim()??"";if(E){let g=us(E,t.compositionUrl);u.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&u.push({kind:"inline",content:g,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"),E=t.parseDimensionPx(f),g=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),E&&t.host instanceof HTMLElement&&(t.host.style.width=E),g&&t.host instanceof HTMLElement&&(t.host.style.height=g),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(Hu(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...Wu(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=as(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 E=await Ou(x);E.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:E.status,elapsedMs:E.elapsedMs}})}}}async function ms(t){let e=Ni();if(ds(),e.length===0)return;let n=fs(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`);Fi(r),await Mi({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 ps(t){let e=Ni();if(ds(),e.length===0)return;let n=fs(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}Fi(r);try{let u=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(u){await Mi({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(),E=new DOMParser().parseFromString(f,"text/html"),g=(l?E.querySelector(`template#${CSS.escape(l)}-template`):null)??E.querySelector("template"),b=g?g.content:E.body,F=g?void 0:Array.from(E.head.querySelectorAll("style")),_=g?void 0:Array.from(E.head.querySelectorAll("script")),L=g?void 0:Array.from(E.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Mi({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!g,fallbackBodyInnerHtml:E.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:F,headScripts:_,headLinks:L,declaredVariableDefaults:Ci(E.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"}}),Fi(r)}}))}function zu(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function ju(){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 qu(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 Ti(){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=ju();for(let i of e){let r=null;if(i.wordId&&(r=zu(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=qu(r);t.set(l,o)}}}).catch(()=>{})}var Kt="data-color-grading",$u="rec709",Ye={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},hs=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Ku=[{id:"neutral",label:"Neutral",adjust:{...Ye}},{id:"warm-clean",label:"Warm Clean",adjust:{...Ye,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Ye,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Ye,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Ye,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Ye,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Ju=new Map(Ku.map(t=>[t.id,t])),Yu=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,Xu={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function $t(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qu(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function xs(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Zu(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=Xu[e];return Qu(n,i.min,i.max)}function ec(t){if(t==null)return null;let e=String(t).trim();return e||null}function tc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!$t(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:xs(t.intensity,1)}}function nc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return $t(n)?n:null}catch{return null}return{preset:e,intensity:1}}return $t(t)?t:null}function ic(t,e){let n=t.trim().match(Yu);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function _i(t,e){if(typeof t=="string"){let i=ic(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return _i(JSON.parse(r),e)}catch{return t}}if(!$t(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=_i(r,e);return n}function rc(t){return t?Ju.get(t)??null:null}function Li(t){let e=nc(t);if(!e||e.enabled===!1)return null;let n=ec(e.preset),r=rc(n)?.adjust??Ye,o=$t(e.adjust)?e.adjust:{},s=hs.reduce((l,a)=>(l[a]=Zu(o[a]??r[a],a),l),{...Ye});return{enabled:!0,preset:n,intensity:xs(e.intensity,1),adjust:s,lut:tc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():$u}}function gs(t,e){return Li(_i(t,e))}function Jt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:hs.some(e=>Math.abs(t.adjust[e])>1e-4)}var Ee=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},oc=[0,0,0],sc=[1,1,1],ac=64;function lc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function pt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new Ee(`Invalid number "${t}"`,e);return n}function ys(t,e,n){if(t.length!==3)throw new Ee(`${e} expects three numbers`,n);return[pt(t[0],n),pt(t[1],n),pt(t[2],n)]}function bs(t,e,n){if(!t)throw new Ee(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new Ee(`${e} must be an integer greater than 1`,n);return i}function uc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new Ee("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function cc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function dc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Ss(t,e={}){let n=e.maxSize??ac,i=null,r=oc,o=sc,s=null,l=null,a=[],c=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<c.length;m++){let f=m+1,x=lc(c[m]??"").trim();if(!x)continue;let E=x.split(/\\s+/),g=(E[0]??"").toUpperCase(),b=E.slice(1);if(g==="TITLE"){i=cc(x);continue}if(g==="DOMAIN_MIN"){r=ys(b,g,f);continue}if(g==="DOMAIN_MAX"){o=ys(b,g,f);continue}if(g==="LUT_1D_SIZE"){s=bs(b[0],g,f);continue}if(g==="LUT_3D_SIZE"){if(l=bs(b[0],g,f),l>n)throw new Ee(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!dc(g)){if(g.startsWith("LUT_"))throw new Ee(`Unsupported cube keyword ${g}`,f);continue}if(!l)throw s?new Ee("1D cube LUTs are not supported yet",f):new Ee("LUT data appears before LUT_3D_SIZE",f);if(E.length!==3)throw new Ee("LUT data rows must contain three numbers",f);a.push(pt(E[0],f),pt(E[1],f),pt(E[2],f))}if(s&&l)throw new Ee("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new Ee("1D cube LUTs are not supported yet"):new Ee("Missing LUT_3D_SIZE");uc(r,o);let u=l*l*l;if(a.length!==u*3)throw new Ee(`Expected ${u} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function fc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function vi(t){return Math.round(fc(t)*255)}function As(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let l=0;l<e;l++){let a=((o*e+s)*e+l)*3,c=(s*n+o*e+l)*4;r[c]=vi(t.data[a]??0),r[c+1]=vi(t.data[a+1]??0),r[c+2]=vi(t.data[a+2]??0),r[c+3]=255}return{width:n,height:i,data:r}}var An=new Map,mc="data-hf-color-grading-canvas",Ms="data-hf-color-grading-source-hidden",pc="__hf_color_grading_canvas__",hc=64,Yt={enabled:!1,position:.5,softness:0,lineWidth:2};function xc(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function ki(t){let e=t.getAttribute(Kt);return e==null?null:gs(e,xc(t))}var gc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),yc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function ot(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Es(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(R("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function bc(t){let e=Es(t,gc,t.VERTEX_SHADER),n=Es(t,yc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(R("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function ws(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Sc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=bc(e),i=ws(e),r=ws(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Ac(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ec(t){if(!Ac(t))return{...Yt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Yt.position,0,1),softness:e(t.softness,Yt.softness,0,.25),lineWidth:e(t.lineWidth,Yt.lineWidth,0,12)}}function Ns(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function Di(t){return t instanceof Error?t.message:"LUT failed to load"}function wc(t){let e=Ns(t);if("error"in e)return{state:"error",message:e.error};let n=An.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Ss(o,{maxSize:hc})),r={state:"pending",promise:i};return An.set(e.href,r),i.then(o=>An.set(e.href,{state:"ready",lut:o}),o=>An.set(e.href,{state:"error",message:Di(o)})),r}function Cs(t,e,n){if(t.lut?.src===e)return t.lut;let i=As(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=Di(s),t.lutLoadingSrc=null,R("runtime.colorGrading.uploadLut",s),null}}function Cc(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=Ns(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=wc(e);return r.state==="ready"?Cs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Cs(t,i.href,o),Ge(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=Di(o),t.lutLoadingSrc=null,Ge(t))})),null)}function Ri(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&ot(n))return n;try{let i=document.querySelector(e);return i&&ot(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&ot(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&ot(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&ot(i)?i:null}catch{return null}}function Fc(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function Ts(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function Mc(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&Ts(e)?e:null}function Nc(t){if(t instanceof HTMLVideoElement){let e=Mc(t);if(e)return e}return Ts(t)?t:null}function Fs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function Tc(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=Fs(o,"x"),l=Fs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function _c(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let c=Tc(o||"center"),u=(t-l)*c.x/t,m=(e-a)*c.y/e;return{scaleX:l/t,scaleY:a/e,offsetX:u,offsetY:m}}function Lc(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function vc(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&Lc(t,r);let o=window.getComputedStyle(e);wr(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function kc(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function Rc(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(Ms,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ge(t){if(t.destroyed)return!1;let e=Nc(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=Fc(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",l=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=l!=="hidden"&&x.visibility!=="hidden"}let a=vc(t,i);if(!a)return!1;let c=window.getComputedStyle(i),u=_c(a.width,a.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:m,program:f}=t;try{let x=Cc(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),kc(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),Rc(t),t.hasDrawn=!0,!0}catch(x){return R("runtime.colorGrading.drawEntry",x),!1}}function Xe(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function Dc(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function Xt(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)})}function Ic(t){let e=()=>{Ge(t)};Xe(t,t.element,"load",e),Xe(t,t.element,"loadedmetadata",e),Xe(t,t.element,"loadeddata",e),Xe(t,t.element,"seeked",e),Xe(t,t.element,"timeupdate",e),Xe(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Xe(t,t.element,"play",()=>Xt(t)),Xe(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function Pc(t){if(!t.destroyed){t.destroyed=!0,Dc(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(Ms);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function Oc(t){let e=document.createElement("canvas");return e.className=pc,e.setAttribute(mc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function _s(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(g,b,F)=>{let _=t.get(g);if(_)return _.grading=b,_.source=F,Ge(_),g instanceof HTMLVideoElement&&!g.paused&&Xt(_),!0;let L=Oc(g),ee=Sc(L);if(!ee)return L.remove(),!1;let H={element:g,canvas:L,gl:ee.gl,program:ee.program,grading:b,compare:{...Yt},lut:null,lutLoadingSrc:null,lutError:null,source:F,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(g).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(g).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(g,H),e.add(g),Ic(H),Ge(H),g instanceof HTMLVideoElement&&!g.paused&&Xt(H),!0},o=(g,b)=>{if(i)return!1;let F=Ri(g);if(!F)return!1;let _=t.get(F);if(!_){let L=ki(F);if(!Jt(L)||!r(F,L,"attribute"))return!1;_=t.get(F)}return _?(_.compare=Ec(b),Ge(_),!0):!1},s=g=>{let b=t.get(g);b&&(Pc(b),t.delete(g),e.delete(g))},l=()=>{if(i)return 0;let g=new Set;document.querySelectorAll(`video[${Kt}], img[${Kt}]`).forEach(F=>{if(!ot(F))return;g.add(F);let _=ki(F);Jt(_)?r(F,_,"attribute"):s(F)});for(let F of Array.from(e)){let _=t.get(F);_&&(!F.isConnected||_.source==="attribute"&&!g.has(F))&&s(F)}return e.size},a=()=>{if(i)return 0;let g=0;for(let b of Array.from(e,F=>t.get(F)))b&&Ge(b)&&(g+=1);return g},c=(g,b)=>{if(i)return!1;let F=Ri(g);if(!F)return!1;let _=Li(b);return Jt(_)?r(F,_,"live"):(s(F),!0)},u=(g,b)=>{if(!ot(g))return!1;let F=t.get(g);return F?(F.sourceVisibleForCanvas=b,!0):!1},m=g=>{let b=Ri(g);if(!b)return{state:"missing",message:"Media not found"};let F=t.get(b);if(F)return F.lutError?{state:"unavailable",message:F.lutError}:F.grading.lut&&F.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:F.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:F.lut?"Shader + LUT active":"Shader active"};let _=ki(b);return Jt(_)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let g of Array.from(e))s(g)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Kt]}));let x={refresh:l,redraw:a,setGrading:c,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},E=window;return E.__hf=E.__hf||{},E.__hf.colorGrading=x,l(),x}var En=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Ls(t){return!Number.isFinite(t)||t<=0?1:t}function Bc(t,e){e||t.paused||!nn().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function Hc(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return l&&u<=0?!1:(l?t.start(0,n+i,u):t.start(0,n+i),!0)}let c=-n/o;return l?t.start(r+c,i,a):t.start(r+c,i),!0}var wn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return R("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return R("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),R("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1,c=Number.POSITIVE_INFINITY){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=Ls(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,E=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=E,this._rateAnchorComp=o,!Hc(m,{elapsed:x,mediaStart:r,scheduledAt:E,safeRate:u,clipDuration:c}))return m.disconnect(),f.disconnect(),null;let g=e.muted;e.muted=!0,Bc(e,g);let b={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:E,priorMuted:g,bounded:Number.isFinite(c)&&c>0};return this._activeSources.push(b),this._paused=!1,m.addEventListener("ended",()=>{let F=this._activeSources.indexOf(b);F!==-1&&(this._activeSources.splice(F,1),e.muted=g,this._activeSources.length===0&&(this._paused=!0))}),b}catch(u){return R("webAudioTransport.schedule",u),null}}setRate(e){let n=Ls(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){R("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){R("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var vs="data-hf-studio-manual-edit-gesture";var Ii="data-hf-authored-duration",Pi="data-hf-authored-end";function ks(){let t=Mr(),e=null,n=null,i=null,r=[],o=new Set,s=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){R("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 l=d=>{r.push(d)},a=(d,p,h)=>{let S=h??`${d}:${JSON.stringify(p)}`;o.has(S)||(o.add(S),Ae({source:"hf-preview",type:"diagnostic",code:d,details:p}))},c=d=>{let p={scale:1,focusX:960,focusY:540},h=[],S=[],w={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:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},u=1/60,m=.75,f=2,x=.05,E=100,g=240,b=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},F=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},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},ee=()=>{let d=L();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},H=()=>{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"),w=h.getAttribute("data-end");S!=null&&!h.hasAttribute(Ii)&&h.setAttribute(Ii,S),w!=null&&!h.hasAttribute(Pi)&&h.setAttribute(Pi,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},N=()=>{let d=L();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let S=Array.from(d.children);for(let w of S){let T=w.tagName.toLowerCase();if(T==="script"||T==="style"||T==="link"||T==="meta"||!w.hasAttribute("data-start"))continue;let I=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(I&&$&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let ze=w.style.top,ge=w.style.left,St=w.style.width,le=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let Z=window.getComputedStyle(w);Z.top!=="auto"||Z.bottom!=="auto"||Z.left!=="auto"||Z.right!=="auto"||Z.width!=="0px"||Z.height!=="0px"||(w.style.top=ze,w.style.left=ge,w.style.width=St,w.style.height=le)}let Q=window.getComputedStyle(w),pe=Q.position;if(pe!=="absolute"&&pe!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||Q.top!=="auto"||Q.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||Q.left!=="auto"||Q.right!=="auto"||(w.style.left="0"),T!=="audio"){let ze=_(w.getAttribute("data-width")),ge=_(w.getAttribute("data-height")),St=Q.width!=="0px"&&Q.width!=="auto",le=Q.height!=="0px"&&Q.height!=="auto";ze?!w.style.width&&!St&&(w.style.width=ze):!w.style.width&&Q.width==="0px"&&(w.style.width="100%"),ge?!w.style.height&&!le&&(w.style.height=ge):!w.style.height&&Q.height==="0px"&&(w.style.height="100%")}}},y=(d,p=0,h)=>je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),A=(d,p)=>je({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),C=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0):y(d,p),M=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let S=h==="video"||h==="audio"?C(d,0):y(d,0),w=A(d),T=d.getAttribute("data-composition-id");if(T){let $=(window.__timelines??{})[T],Q=null;if($&&typeof $.duration=="function"){let he=Number($.duration());Number.isFinite(he)&&he>0&&(Q=he)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Ii)||d.hasAttribute(Pi))&&(w==null||w<=0)&&Q!=null&&(w=Q)}let I=w!=null&&w>0?S+w:Number.POSITIVE_INFINITY;return p>=S&&(Number.isFinite(I)?p<=I:!0)},k=!!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 G=!k&&!W,J=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}},v=d=>typeof d=="number"&&Number.isFinite(d)&&d>u,ie=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},Me=()=>{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=C(h,0);if(!Number.isFinite(S))continue;let w=ie(h);w==null||w<=u||(p=Math.max(p,Math.max(0,S)+w))}return p>u?p:null},V=()=>{let d=L();if(!d)return null;let p=window.__timelines??{},h=je({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),S=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(S=w);let T=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let I of T){if(!(I instanceof Element)||I.parentElement?.closest("[data-composition-id]")!==d)continue;let Q=h.resolveStartForElement(I,0),pe=h.resolveDurationForElement(I);!Number.isFinite(Q)||pe==null||pe<=0||(S=Math.max(S,Math.max(0,Q)+pe))}return S>u?S:null},te=()=>{let d=Me();return typeof d!="number"||!Number.isFinite(d)||d<=u?null:d},U=d=>v(d)?Math.max(u,d*m):u,X=(d,p=0)=>{let h=J(d),S=te(),w=V(),T=Math.max(S??0,w??0),I=Number.isFinite(p)&&p>u?p:0,$=0;return v(h)?$=Math.max(h,T,I):v(T)?$=Math.max(T,I):$=I,$>0?Math.max(0,$):0},Ce=()=>{let d=window.__timelines??{},p=je({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=te(),S=V(),w=Math.max(h??0,S??0)||null,T=U(w),I=le=>{let Z=document.querySelector(`[data-composition-id="${CSS.escape(le)}"]`);return Z?p.resolveStartForElement(Z,0):0},$=le=>{let Z=window.gsap;if(!Z||typeof Z.timeline!="function")return null;let fe=Z.timeline({paused:!0});for(let ye of le)fe.add(ye.timeline,I(ye.compositionId));return fe},Q=(le,Z)=>{if(!v(le))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let ye=fe.timeline({paused:!0});if(Z)try{ye.add(Z,0)}catch(ue){R("runtime.init.site2",ue)}let Se=ye;if(typeof Se.to=="function")try{Se.to({},{duration:le})}catch(ue){R("runtime.init.site3",ue)}return ye},pe=(le,Z)=>{let fe=le;if(typeof fe.getChildren!="function")return[];try{let ye=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(ye))return[];let Se=[];for(let ue of Z)if(!ye.some(ke=>ke===ue.timeline))try{let ke=I(ue.compositionId);le.add(ue.timeline,ke),Se.push(ue.compositionId)}catch(ke){R("runtime.init.site4",ke)}return Se}catch{return[]}},he=L(),K=he?.getAttribute("data-composition-id")??null;if(!K)return{timeline:null};let oe=d[K]??null,ge=(()=>{if(!he)return[];let le=new Set,Z=Array.from(he.querySelectorAll("[data-composition-id]")),fe=[];for(let ye of Z){let Se=ye.getAttribute("data-composition-id");if(!Se||Se===K||le.has(Se))continue;le.add(Se);let ue=d[Se]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Fe=J(ue);fe.push({compositionId:Se,timeline:ue,durationSeconds:Fe??0})}return fe})(),St=le=>{for(let Z of le){let fe=Z.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(ye){R("runtime.init.site5",ye)}}};if(ge.length>0&&St(ge),oe){let le=ge.length>0?pe(oe,ge):[];if((ge.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+K+"\'])"))&&(O=!0),le.length>0)try{let ue=oe.time();oe.seek(ue,!1)}catch{}let Z=J(oe);if(!v(Z)&&ge.length>0){let ue=ge.map(xa=>xa.compositionId),Fe=$(ge),ke=J(Fe);if(Fe&&v(ke))return{timeline:Fe,selectedTimelineIds:ue,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:ke,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:ue,autoNestedChildren:le}}};let On=Q(w??0,oe),Bn=J(On);if(On&&v(Bn))return{timeline:On,selectedTimelineIds:[K],selectedDurationSeconds:Bn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Bn,selectedTimelineIds:[K],autoNestedChildren:le}}}}if(!v(Z)&&ge.length===0){let ue=Q(w??0,oe),Fe=J(ue);if(ue&&v(Fe))return{timeline:ue,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Fe,selectedTimelineIds:[K]}}}}let fe=he?.getAttribute("data-duration"),ye=fe?parseFloat(fe):null,Se=Math.max(v(ye)?ye:0,S??0);if(Se>0&&v(Se)&&v(Z)&&Se>=Z+.5){let ue=oe;if(typeof ue.to=="function")try{ue.to({},{duration:0},Se)}catch(ke){R("runtime.init.site6",ke)}let Fe=J(oe);if(v(Fe))return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:K,rootDurationSeconds:Z,rootDeclaredDur:ye,authoredCompositionDurationFloorSeconds:S,newDur:Fe}}}}return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Z,mediaDurationFloorSeconds:h,diagnostics:le.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:K,selectedDurationSeconds:Z,autoNestedChildren:le}}:void 0}}if(ge.length>0){let le=ge.map(ye=>ye.compositionId),Z=$(ge),fe=J(Z);if(Z)return{timeline:Z,selectedTimelineIds:le,selectedDurationSeconds:fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:K,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:T,selectedDurationSeconds:fe,mediaDurationFloorSeconds:h,selectedTimelineIds:le}}}}return{timeline:null}},O=!1,D=()=>{if(!G)return!1;let d=t.capturedTimeline,p=J(d),h=v(p);if(d&&h&&O)return!1;let S=Ce();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 w=X(t.capturedTimeline,0);if(w>0){try{P.setDuration(w)}catch{}t.capturedTimeline.pause();let T=Math.max(0,t.currentTime||0);typeof t.capturedTimeline.totalTime=="function"&&t.capturedTimeline.totalTime(T,!1);let I=window.__hfStudioManualEditsApply;typeof I=="function"&&I()}if(S.diagnostics&&Ae({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Ae({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let T=L(),I=w>0?w:0,$=String(I>0?I:1),Q=new Set,pe=new Set(document.querySelectorAll("[data-start]")),he=K=>{let oe=K.parentElement;for(;oe&&oe!==T;){if(pe.has(oe))return!0;oe=oe.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let K of t.capturedTimeline.getChildren(!0))if(typeof K.targets=="function")for(let oe of K.targets())oe instanceof HTMLElement&&oe!==T&&(oe.hasAttribute("data-start")||he(oe)||Q.has(oe)||(Q.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",$)))}catch{}if(T instanceof HTMLElement)for(let K of T.querySelectorAll("[id]"))K instanceof HTMLElement&&K!==T&&(K.hasAttribute("data-start")||he(K)||Q.has(K)||K.tagName==="SCRIPT"||K.tagName==="STYLE"||K.tagName==="LINK"||(Q.add(K),K.setAttribute("data-start","0"),K.setAttribute("data-duration",$)))}for(let T of be)Ve.delete(T),ji(T);return!0};window.__hfForceTimelineRebind=()=>{O=!1,D()};let B=()=>{let d=L();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),T=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,I=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!T||!I||a("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:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},ae=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,B()}))},re=()=>{n=d=>{let p=b(d.error??d.message).slice(0,g);if(!p)return;let h=F(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}})},i=d=>{let p=b(d.reason).slice(0,g);if(!p)return;let h=F(p);Ae({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},j=()=>{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 w=h.tagName.toLowerCase(),T=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,I=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";a(I,{tagName:w,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},`${I}:${w}:${T??"unknown"}`)};h.addEventListener("error",S),l(()=>{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&&a("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},q=(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),w=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),w&&t.capturedTimeline.play()}catch(T){R("runtime.init.site7",T)}return Ae({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},z=null,Le=!1,be=new Set,Ve=new WeakMap,Ne=()=>{t.tornDown||(z!=null&&window.clearTimeout(z),z=window.setTimeout(()=>{if(t.tornDown)return;z=null;let d=Ce();if(!d.timeline||!v(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){D()&&(st(),Te(!0));return}if(Le)return;let h=J(t.capturedTimeline),S=d.selectedDurationSeconds??J(d.timeline);v(S)&&(!v(h)||S>=h+x)&&q(d,"manual")&&(Le=!0,Ae({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}}),st(),Te(!0))},E))},oa=()=>{for(let d of be)d.removeEventListener("loadedmetadata",Ne),d.removeEventListener("durationchange",Ne);be.clear()},_n=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(be.has(p))continue;be.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",Ne),p.addEventListener("durationchange",Ne),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),ji(p)}},ji=d=>{Ve.has(d)||br(d,t.capturedTimeline,X(t.capturedTimeline,0),Ve)},Ln=new WeakMap,qi=d=>{let p=Ln.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,S=h==="static"||h==="relative"||h==="sticky";return Ln.set(d,S),S},vn=new WeakMap,sa=d=>{let p=vn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return vn.set(d,h),h},aa=()=>{Ln=new WeakMap,vn=new WeakMap},ve=()=>{let d=T=>{let I=T.closest("[data-composition-id]"),$=I?y(I,0):null,Q=I?A(I,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:I,inheritedStart:$,inheritedDuration:Q}},p=Sr({shouldIncludeElement:T=>T.hasAttribute("data-start")||!!d(T).compositionRoot,resolveStartSeconds:T=>{let I=d(T);return C(T,I.inheritedStart??0)},resolveDurationSeconds:T=>{let I=d(T),$=C(T,I.inheritedStart??0),Q=Number.parseFloat(T.dataset.playbackStart??T.dataset.mediaStart??"0")||0,pe=I.inheritedStart!=null&&I.inheritedDuration!=null&&I.inheritedDuration>0?Math.max(0,I.inheritedStart+I.inheritedDuration-$):null,he=Number.isFinite(T.duration)&&T.duration>Q?Math.max(0,T.duration-Q):null,K=Number.parseFloat(T.dataset.duration??""),oe=Number.isFinite(K)&&K>0?K:null,ze=[he,pe,oe].filter(ge=>ge!=null);return ze.length>0?Math.min(...ze):null}});for(let T of p.mediaClips){let I=Ve.get(T.el);I&&(T.volumeKeyframes=I)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||Ar({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(T,I)=>de.setElementVolume(T,I),isWebAudioOwned:T=>de.ownsElement(T),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ae({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]")),w=L();for(let T of S){if(!(T instanceof HTMLElement))continue;let I=M(T,t.currentTime);if(I){let $=T.parentElement;for(;$&&$!==w;){if($ instanceof HTMLElement&&$.hasAttribute("data-start")&&!M($,t.currentTime)){I=!1;break}$=$.parentElement}}T.style.visibility=I?"visible":"hidden",(T instanceof HTMLVideoElement||T instanceof HTMLImageElement)&&e?.setSourceVisibility(T,I),I?qi(T)&&T.style.removeProperty("display"):qi(T)&&sa(T)&&(T.style.display="none")}},Te=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}))},kn="",la=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},st=()=>{H(),ee(),N();let d=L();if(d){let S=_(d.getAttribute("data-width")),w=_(d.getAttribute("data-height")),T=S?parseInt(S,10):0,I=w?parseInt(w,10):0;T>0&&I>0&&Ae({source:"hf-preview",type:"stage-size",width:T,height:I})}D();let p=kr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=la();if(kn!==h&&aa(),!window.__clipTree||kn!==h){let S=window;window.__clipTree=Nr({startResolver:je({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),kn=h}Ae(p),ae()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){R("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:p})}catch(S){R("runtime.init.site9",S)}}},et=()=>{window.__renderReady=!1},yt=null,bt=!0,ua=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let S=h();S&&d.push(S)}catch(S){R("runtime.init.adapterReady",S)}}return d},ca=()=>{let d=ua();if(d.length===0)return yt=null,bt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==yt&&(yt=p,bt=!1,Promise.resolve(p).then(()=>{yt===p&&(bt=!0,et())},h=>{yt===p&&(bt=!0,R("runtime.init.adapterReady",h),et())})),bt};if(G)Ti();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ae({source:"hf-preview",type:"diagnostic",code:p,details:h})}};ps(d).then(()=>ms(d)).finally(()=>{G=!0,_n(),j(),Ti(),et()})}let en=Er({postMessage:d=>Ae(d)});en.installPickerApi();let He=_s();e=He,l(()=>{He.destroy(),e=null});let Rn=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(w){R("runtime.init.site10",w)}},me=Fr({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:Rn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,ve()},onStatePost:Te,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){R("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{He.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>X(t.capturedTimeline,0)});window.__player=c(me),window.__playerReady=!0,Zi(Ae),At("composition_loaded",{duration:me.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=Qi({onPlay:()=>{me.play(),At("composition_played",{time:me.getTime()})},onPause:()=>{me.pause(),At("composition_paused",{time:me.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;me.seek(h),At("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),w=Number.isFinite(S)?S:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),P.detachAudioSource()):ve())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),P.detachAudioSource()),ve())},onSetPlaybackRate:d=>{Rn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),Yi()},onSetColorGrading:(d,p)=>{He.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{He.setCompare(d,p)},onTick:()=>{if(t.tornDown||!P.isPlaying())return;let d=P.now();if(t.currentTime=d,tt(d),P.reachedEnd()){de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),t.currentTime=p,tt(p)),Pe("pause"),ve(),Te(!0)}},onEnablePickMode:()=>en.enablePickMode(),onDisablePickMode:()=>en.disablePickMode()}),t.deterministicAdapters=[gr(),er({resolveStartSeconds:d=>y(d,0)}),nr(),or(),ar(),lr(),ur(),cr(),dr(),fr(),mr(),tr({getTimeline:()=>t.capturedTimeline})],hr(),xr(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,sr(p)},re(),_n(),Pe("discover");let P=new En;t.transportClock=P;let de=new wn,Dn=!1;de.init().then(d=>{Dn=d});let da=()=>{let d=t.capturedTimeline,p=D();t.capturedTimeline&&(p||t.capturedTimeline!==d||!me._timeline)&&(me._timeline=t.capturedTimeline);let h=X(t.capturedTimeline,0);h>0&&P.setDuration(h),Pe("discover",t.currentTime),window.__renderReady=!0,st(),Te(!0)};if(et=()=>{if(!G||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!ca()){window.__renderReady=!1;return}da()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),G&&setTimeout(()=>{et()},0);let tn=0,In=!1,fa=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(S){R(h,S)}},ma=d=>{let p=window.__timelines??{},h=L()?.getAttribute("data-composition-id")??null;for(let[S,w]of Object.entries(p)){if(!w||S===h)continue;let T=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!T)continue;let I=y(T,0);if(!Number.isFinite(I))continue;let $=A(T,{includeAuthoredTimingAttrs:!0}),Q=J(w),pe=$!=null&&$>0?$:Q,he=Math.max(0,pe!=null&&pe>0?Math.min(pe,d-I):d-I);fa(w,he,"runtime.init.transport.childTimeline")}},pa=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(S){R("runtime.init.activateSiblings",S)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&pa(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){R("runtime.init.transport.seek",S)}}else ma(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(w){R("runtime.init.transport.adapter",w)}},ha=()=>{try{return document.querySelector(`[${vs}]`)!=null}catch{return!1}},$i=()=>{if(!(t.tornDown||In)){In=!0;try{if(t.transportRafId=window.requestAnimationFrame($i),tn+=1,tn%60===0&&!(P.isPlaying()&&t.capturedTimeline!=null&&P.now()<f)){let h=t.capturedTimeline;if(D()){t.capturedTimeline&&!me._timeline&&(me._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=X(t.capturedTimeline,0);S>0&&P.setDuration(S),st()}}if(tn%20===0&&st(),tn%30===0&&_n(),t.capturedTimeline){let p=X(t.capturedTimeline,0);p>0&&(!P.isPlaying()||p>=P.getDuration())&&P.setDuration(p)}if(P.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&P.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 w=Number.parseFloat(S.dataset.start??""),T=Number.parseFloat(S.dataset.duration??""),I=Number.isFinite(T)&&T>0?w+T:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&t.currentTime>=w&&t.currentTime<=I){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(P.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(P.attachAudioSource({el:S,compositionStart:w,mediaStart:$}),h=!0);break}}!h&&P.hasAudioSource()&&P.detachAudioSource()}else P.hasAudioSource()&&P.detachAudioSource();let d=P.now();if(t.currentTime=d,(P.isPlaying()||!ha())&&tt(d),P.isPlaying()&&P.reachedEnd()){de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1;let p=P.getDuration();Number.isFinite(p)&&(P.seek(p),t.currentTime=p,tt(p)),Pe("pause"),ve(),Te(!0);return}P.isPlaying()&&ve(),Te(!1)}finally{In=!1}}},Ki=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 w=Number.parseFloat(h.dataset.duration??""),T=Number.isFinite(w)&&w>0?S+w:1/0;if(d<S||d>=T)continue;let I=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+I;if($>=0)try{h.currentTime=$}catch{}}},Ji=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let S=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(S))continue;let w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,T=Number.parseFloat(h.dataset.volume??""),I=Number.isFinite(T)?T:1,$=Number.parseFloat(h.dataset.duration??""),Q=Number.isFinite($)&&$>0?$:Number.POSITIVE_INFINITY,pe=h.closest("[data-composition-id]");if(pe){let he=y(pe,0),K=A(pe,{includeAuthoredTimingAttrs:!0});K!=null&&K>0&&(Q=Math.min(Q,Math.max(0,he+K-S)))}de.decodeAudioElement(h).then(he=>{!he||!P.isPlaying()||de.schedulePlayback(h,he,S,w,P.now(),I*t.bridgeVolume,d,t.playbackRate,Q)})}},Yi=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Dn&&P.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),Ji())};if(me.play=()=>{let d=t.capturedTimeline;if(P.isPlaying())return;let p=X(d,0);if(p>0)P.setDuration(p),P.reachedEnd()&&(P.seek(0),t.currentTime=0,tt(0));else{let h=L(),S=Number(h?.getAttribute("data-duration")??0);S>0&&P.setDuration(S)}d&&d.pause(),P.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,Ki(P.now()),Dn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Ji(),Pe("play"),ve(),He.redraw(),Te(!0))},me.pause=()=>{if(!P.isPlaying())return;de.stopAll(),P.detachAudioSource(),P.pause(),t.isPlaying=!1,t.currentTime=P.now(),t.mediaForceSyncNextTick=!0,Ki(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),ve(),He.redraw(),Te(!0)},me.seek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),P.detachAudioSource(),P.isPlaying()&&P.pause(),P.seek(p),t.currentTime=P.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let S=t.capturedTimeline;S&&S.pause(),tt(t.currentTime),Pe("pause"),ve(),He.redraw(),Te(!0)},me.renderSeek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);P.isPlaying()&&P.pause(),P.seek(p),t.currentTime=P.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),ve(),He.redraw(),Te(!0)},me.getTime=()=>P.now(),me.getDuration=()=>{let d=P.getDuration();return Number.isFinite(d)?d:0},me.isPlaying=()=>P.isPlaying(),me.setPlaybackRate=d=>{Rn(d),P.setRate(t.playbackRate),Yi()},t.capturedTimeline){let d=X(t.capturedTimeline,0);d>0&&P.setDuration(d),t.capturedTimeline.pause()}let Xi=window.__player;if(Xi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Xi,p,{get:()=>me[p],set:h=>{me[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame($i),st(),Te(!0);let Pn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),z!=null&&(window.clearTimeout(z),z=null),s!=null&&(window.cancelAnimationFrame(s),s=null),oa(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),en.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){R("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(p){R("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){R("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){R("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Pn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Pn,t.beforeUnloadHandler=Pn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Rs=["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"],Oi=[[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 Wc(t){if(t<=255)return Rs[t];let e=0,n=Oi.length-1;for(;e<=n;){let i=e+n>>1,r=Oi[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function Gc(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 E=t.charCodeAt(c+1);E>=56320&&E<=57343&&(m=(u-55296<<10)+(E-56320)+65536,f=2)}let x=Wc(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let E=0;E<f;E++)n[c+E]=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 g=c;g<u;g++)n[g]=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 Ds(t,e){let n=Gc(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 Uc=/[ \\t\\n\\r\\f]+/g,Vc=/[\\t\\n\\r\\f]| {2,}|^ | $/;function zc(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function jc(t){if(!Vc.test(t))return t;let e=t.replace(Uc," ");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 qc(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Bi=null,$c;function Kc(){return Bi===null&&(Bi=new Intl.Segmenter($c,{granularity:"word"})),Bi}var Jc=/\\p{Script=Arabic}/u,Cn=/\\p{M}/u,Us=/\\p{Nd}/u;function Is(t){return Jc.test(t)}function Ps(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 Ie(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(Ps(r))return!0;e++;continue}}if(Ps(n))return!0}}return!1}function Yc(t){let e=Nn(t);return e!==null&&(Mn.has(e)||Qe.has(e))}var Xc=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Qc(t){return Ie(t)}function Zc(t){let e=Nn(t);return e!==null&&Xc.has(e)}function Fn(t){return!Yc(t)&&!Zc(t)}var Mn=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"]),Zt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Wi=new Set(["\'","\\u2019"]),Qe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),ed=new Set([":",".","\\u060C","\\u061B"]),td=new Set(["\\u104F"]),nd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function id(t){if(Gi(t))return!0;let e=!1;for(let n of t){if(Qe.has(n)){e=!0;continue}if(!(e&&Cn.test(n)))return!1}return e}function rd(t){for(let e of t)if(!Mn.has(e)&&!Qe.has(e))return!1;return t.length>0}function od(t){if(Gi(t))return!0;for(let e of t)if(!Zt.has(e)&&!Wi.has(e)&&!Cn.test(e))return!1;return t.length>0}function Gi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Cn.test(n))){if(Zt.has(n)||Qe.has(n)||Wi.has(n)){e=!0;continue}return!1}return e}function Vs(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 Nn(t){if(t.length===0)return null;let e=Vs(t,t.length);return t.slice(e)}function sd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Cn.test(i)){n--;continue}if(Zt.has(i)||Wi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function ad(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Os(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 Bs(t,e){return t&&e!==null&&ed.has(e)}function ld(t){let e=Nn(t);return e!==null&&td.has(e)}function ud(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 Tn(t){let e=t.length;for(;e>0;){let n=Vs(t,e),i=t.slice(n,e);if(nd.has(i))return!0;if(!Qe.has(i))return!1;e=n}return!1}function cd(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 dd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function _e(t){return t.length===1?t[0]:t.join("")}function fd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),_e(n)}function md(t,e,n,i){if(!dd.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=cd(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:_e(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:_e(s),isWordLike:a,kind:o,start:l}),r}function Hi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var pd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function hd(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:pd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function xd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function gd(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"||!hd(t,s))continue;let l=[e[s]],a=s+1;for(;a<t.len&&!Hi(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]=_e(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 yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!xd(s))continue;let l=o+1;if(l>=t.len||Hi(t.kinds[l]))continue;let a=[],c=t.starts[l],u=l;for(;u<t.len&&!Hi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(_e(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 bd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),Hs=/^[A-Za-z0-9_]+[,:;]*$/,Ws=/[,:;]+$/;function zs(t){for(let e of t)if(Us.test(e))return!0;return!1}function Qt(t){if(t.length===0)return!1;for(let e of t)if(!(Us.test(e)||bd.has(e)))return!1;return!0}function Sd(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"&&Qt(s)&&zs(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Qt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(_e(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 Ad(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&&Hs.test(s)){let c=[s],u=Ws.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&Hs.test(t.texts[m]);){let f=t.texts[m];c.push(f),u=Ws.test(f),m++}e.push(_e(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 Ed(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||!zs(u)||!Qt(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 wd(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=_e(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=_e(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(_e(s)),n.push(l),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Cd(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"||!Ie(e[o])||!Ie(e[o+1]))continue;let s=sd(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 Gs(t,e,n){let i=Kc(),r=0,o=[],s=[],l=[],a=[],c=[],u=[],m=[],f=[],x=[],E=[],g=[],b=[];for(let N of i.segment(t))for(let y of md(N.segment,N.isWordLike??!1,N.index,n)){let ie=function(){u[v]!==null&&(s[v]=[Os(o,u,m,v)],u[v]=null),s[v].push(y.text),l[v]=l[v]||y.isWordLike,f[v]=f[v]||M,x[v]=x[v]||k,E[v]=G,g[v]=J,b[v]=Bs(x[v],W)},A=y.kind==="text",C=ad(y.text,y.isWordLike,y.kind),M=Ie(y.text),k=Is(y.text),W=Nn(y.text),G=Tn(y.text),J=ld(y.text),v=r-1;e.carryCJKAfterClosingQuote&&A&&r>0&&a[v]==="text"&&M&&f[v]&&E[v]||A&&r>0&&a[v]==="text"&&rd(y.text)&&f[v]||A&&r>0&&a[v]==="text"&&g[v]?ie():A&&r>0&&a[v]==="text"&&y.isWordLike&&k&&b[v]?(ie(),l[v]=!0):C!==null&&r>0&&a[v]==="text"&&u[v]===C?m[v]=(m[v]??1)+1:A&&!y.isWordLike&&r>0&&a[v]==="text"&&(id(y.text)||y.text==="-"&&l[v])?ie():(o[r]=y.text,s[r]=[y.text],l[r]=y.isWordLike,a[r]=y.kind,c[r]=y.start,u[r]=C,m[r]=C===null?0:1,f[r]=M,x[r]=k,E[r]=G,g[r]=J,b[r]=Bs(k,W),r++)}for(let N=0;N<r;N++){if(u[N]!==null){o[N]=Os(o,u,m,N);continue}o[N]=_e(s[N])}for(let N=1;N<r;N++)a[N]==="text"&&!l[N]&&Gi(o[N])&&a[N-1]==="text"&&(o[N-1]+=o[N],l[N-1]=l[N-1]||l[N],o[N]="");let F=Array.from({length:r},()=>null),_=-1;for(let N=r-1;N>=0;N--){let y=o[N];if(y.length!==0){if(a[N]==="text"&&!l[N]&&od(y)&&_>=0&&a[_]==="text"){let A=F[_]??[];A.push(y),F[_]=A,c[_]=c[N],o[N]="";continue}_=N}}for(let N=0;N<r;N++){let y=F[N];y!=null&&(o[N]=fd(y,o[N]))}let L=0;for(let N=0;N<r;N++){let y=o[N];y.length!==0&&(L!==N&&(o[L]=y,l[L]=l[N],a[L]=a[N],c[L]=c[N]),L++)}o.length=L,l.length=L,a.length=L,c.length=L;let ee=wd({len:L,texts:o,isWordLike:l,kinds:a,starts:c}),H=Cd(Ad(Ed(Sd(yd(gd(ee))))));for(let N=0;N<H.len-1;N++){let y=ud(H.texts[N]);y!==null&&(H.kinds[N]!=="space"&&H.kinds[N]!=="preserved-space"||H.kinds[N+1]!=="text"||!Is(H.texts[N+1])||(H.texts[N]=y.space,H.isWordLike[N]=!1,H.kinds[N]=H.kinds[N]==="preserved-space"?"preserved-space":"space",H.texts[N+1]=y.marks+H.texts[N+1],H.starts[N+1]=H.starts[N]+y.space.length))}return H}function Fd(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 Md(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(_e(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],E=t.isWordLike[m],g=t.starts[m];if(x==="text"){let b=Qc(f),F=Fn(f);if(o!==null&&a&&c){o.push(f),s=s||E,a=a||b,c=F;continue}u(),o=[f],s=E,l=g,a=b,c=F;continue}u(),e.push(f),n.push(E),i.push(x),r.push(g)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function js(t,e,n="normal",i="normal"){let r=zc(n),o=r.mode==="pre-wrap"?qc(t):jc(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Md(Gs(o,e,r)):Gs(o,e,r);return{normalized:o,chunks:Fd(s,r),...s}}var ht=null,qs=new Map,xt=null,Nd=96,Td=/\\p{Emoji_Presentation}/u,_d=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,Ui=null,$s=new Map;function Vi(){if(ht!==null)return ht;if(typeof OffscreenCanvas<"u")return ht=new OffscreenCanvas(1,1).getContext("2d"),ht;if(typeof document<"u")return ht=document.createElement("canvas").getContext("2d"),ht;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Ld(t){let e=qs.get(t);return e||(e=new Map,qs.set(t,e)),e}function Ue(t,e){let n=e.get(t);return n===void 0&&(n={width:Vi().measureText(t).width,containsCJK:Ie(t)},e.set(t,n)),n}function gt(){if(xt!==null)return xt;if(typeof navigator>"u")return xt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},xt;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 xt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},xt}function vd(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Ks(){return Ui===null&&(Ui=new Intl.Segmenter(void 0,{granularity:"grapheme"})),Ui}function kd(t){return Td.test(t)||t.includes("\\uFE0F")}function Js(t){return _d.test(t)}function Rd(t,e){let n=$s.get(t);if(n!==void 0)return n;let i=Vi();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 $s.set(t,n),n}function Dd(t){let e=0,n=Ks();for(let i of n.segment(t))kd(i.segment)&&e++;return e}function Id(t,e){return e.emojiCount===void 0&&(e.emojiCount=Dd(t)),e.emojiCount}function Ze(t,e,n){return n===0?e.width:e.width-Id(t,e)*n}function Ys(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Ks(),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=Ue(m,n);u.push(Ze(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>Nd){let u=[],m=null,f=0;for(let x of s){let E=Ue(x,n),g=Ze(x,E,i);if(m===null)u.push(g);else{let b=m+x,F=Ue(b,n);u.push(Ze(b,F,i)-f)}m=x,f=g}return e.breakableFitAdvances=u,e.breakableFitAdvances}let l=[],a="",c=0;for(let u of s){a+=u;let m=Ue(a,n),f=Ze(a,m,i);l.push(f-c),c=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function Xs(t,e){let n=Vi();n.font=t;let i=Ld(t),r=vd(t),o=e?Rd(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function Pd(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 Od(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function Bd(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 Qs(t,e){return t.simpleLineWalkFastPath?Zs(t,e):ea(t,e)}function Zs(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=gt().lineFitEpsilon,a=e+l,c=0,u=0,m=!1,f=0,x=0,E=0,g=0,b=-1,F=0;function _(){b=-1,F=0}function L(C=E,M=g,k=u){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:C,endGraphemeIndex:M,width:k}),u=0,m=!1,_()}function ee(C,M){m=!0,f=C,x=0,E=C+1,g=0,u=M}function H(C,M,k){m=!0,f=C,x=M,E=C,g=M+1,u=k}function N(C,M){if(!m){ee(C,M);return}u+=M,E=C+1,g=0}function y(C,M){let k=o[C];for(let W=M;W<k.length;W++){let G=k[W];m?u+G>a?(L(),H(C,W,G)):(u+=G,E=C,g=W+1):H(C,W,G)}m&&E===C&&g===k.length&&(E=C+1,g=0)}let A=0;for(;A<i.length&&!(!m&&(A=Pd(t,A),A>=i.length));){let C=i[A],M=r[A],k=M==="space"||M==="preserved-space"||M==="tab"||M==="zero-width-break"||M==="soft-hyphen";if(!m){C>e&&o[A]!==null?y(A,0):ee(A,C),k&&(b=A+1,F=u-C),A++;continue}if(u+C>a){if(k){N(A,C),L(A+1,0,u-C),A++;continue}if(b>=0){if(E>b||E===b&&g>0){L();continue}L(b,0,F);continue}if(C>e&&o[A]!==null){L(),y(A,0),A++;continue}L();continue}N(A,C),k&&(b=A+1,F=u-C),A++}return m&&L(),c}function ea(t,e,n){if(t.simpleLineWalkFastPath)return Zs(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=gt(),f=m.lineFitEpsilon,x=e+f,E=0,g=0,b=!1,F=0,_=0,L=0,ee=0,H=-1,N=0,y=0,A=null;function C(){H=-1,N=0,y=0,A=null}function M(V=L,te=ee,U=g){E++,n?.({startSegmentIndex:F,startGraphemeIndex:_,endSegmentIndex:V,endGraphemeIndex:te,width:U}),g=0,b=!1,C()}function k(V,te){b=!0,F=V,_=0,L=V+1,ee=0,g=te}function W(V,te,U){b=!0,F=V,_=te,L=V,ee=te+1,g=U}function G(V,te){if(!b){k(V,te);return}g+=te,L=V+1,ee=0}function J(V,te,U,X){if(!te)return;let Ce=V==="tab"?0:r[U],O=V==="tab"?X:o[U];H=U+1,N=g-X+Ce,y=g-X+O,A=V}function v(V,te){let U=l[V];for(let X=te;X<U.length;X++){let Ce=U[X];b?g+Ce>x?(M(),W(V,X,Ce)):(g+=Ce,L=V,ee=X+1):W(V,X,Ce)}b&&L===V&&ee===U.length&&(L=V+1,ee=0)}function ie(V){if(A!=="soft-hyphen")return!1;let te=l[V];if(te==null)return!1;let{fitCount:U,fittedWidth:X}=Bd(te,g,e,f,a);return U===0?!1:(g=X,L=V,ee=U,C(),U===te.length?(L=V+1,ee=0,!0):(M(V,U,X+a),v(V,U),!0))}function Me(V){E++,n?.({startSegmentIndex:V.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:V.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),C()}for(let V=0;V<u.length;V++){let te=u[V];if(te.startSegmentIndex===te.endSegmentIndex){Me(te);continue}b=!1,g=0,F=te.startSegmentIndex,_=0,L=te.startSegmentIndex,ee=0,C();let U=te.startSegmentIndex;for(;U<te.endSegmentIndex;){let X=s[U],Ce=X==="space"||X==="preserved-space"||X==="tab"||X==="zero-width-break"||X==="soft-hyphen",O=X==="tab"?Od(g,c):i[U];if(X==="soft-hyphen"){b&&(L=U+1,ee=0,H=U+1,N=g+a,y=g+a,A=X),U++;continue}if(!b){O>e&&l[U]!==null?v(U,0):k(U,O),J(X,Ce,U,O),U++;continue}if(g+O>x){let B=g+(X==="tab"?0:r[U]),ae=g+(X==="tab"?O:o[U]);if(A==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&N<=x){M(H,0,y);continue}if(A==="soft-hyphen"&&ie(U)){U++;continue}if(Ce&&B<=x){G(U,O),M(U+1,0,ae),U++;continue}if(H>=0&&N<=x){if(L>H||L===H&&ee>0){M();continue}let re=H;M(re,0,y),U=re;continue}if(O>e&&l[U]!==null){M(),v(U,0),U++;continue}M();continue}G(U,O),J(X,Ce,U,O),U++}if(b){let X=H===te.consumedEndSegmentIndex?y:g;M(te.consumedEndSegmentIndex,0,X)}}return E}var zi=null;function Hd(){return zi===null&&(zi=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zi}function Wd(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 Gd(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=Tn(m),l=Zt.has(m)}function u(m,f){i.push(m),o=o||f;let x=Tn(m);m.length===1&&Qe.has(m)?s=s||x:s=x,l=!1}for(let m of Hd().segment(t)){let f=m.segment,x=Ie(f);if(i.length===0){c(f,m.index,x);continue}if(l||Mn.has(f)||Qe.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 Ud(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=Ie(t[0].text),o=Fn(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=Ie(a.text),u=Fn(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 Vd(t,e,n,i){let r=gt(),{cache:o,emojiCorrection:s}=Xs(e,Js(t.normalized)),l=Ze("-",Ue("-",o),s),c=Ze(" ",Ue(" ",o),s)*8;if(t.len===0)return Wd(n);let u=[],m=[],f=[],x=[],E=t.chunks.length<=1,g=n?[]:null,b=[],F=n?[]:null,_=Array.from({length:t.len});function L(y,A,C,M,k,W,G){k!=="text"&&k!=="space"&&k!=="zero-width-break"&&(E=!1),u.push(A),m.push(C),f.push(M),x.push(k),g?.push(W),b.push(G),F!==null&&F.push(y)}function ee(y,A,C,M,k){let W=Ue(y,o),G=Ze(y,W,s),J=A==="space"||A==="preserved-space"||A==="zero-width-break"?0:G,v=A==="space"||A==="zero-width-break"?0:G;if(k&&M&&y.length>1){let ie="sum-graphemes";Qt(y)?ie="pair-context":r.preferPrefixWidthsForBreakableRuns&&(ie="segment-prefixes");let Me=Ys(y,W,o,s,ie);L(y,G,J,v,A,C,Me);return}L(y,G,J,v,A,C,null)}for(let y=0;y<t.len;y++){_[y]=u.length;let A=t.texts[y],C=t.isWordLike[y],M=t.kinds[y],k=t.starts[y];if(M==="soft-hyphen"){L(A,0,l,l,M,k,null);continue}if(M==="hard-break"){L(A,0,0,0,M,k,null);continue}if(M==="tab"){L(A,0,0,0,M,k,null);continue}let W=Ue(A,o);if(M==="text"&&W.containsCJK){let G=Gd(A,r),J=i==="keep-all"?Ud(G):G;for(let v=0;v<J.length;v++){let ie=J[v];ee(ie.text,"text",k+ie.start,C,i==="keep-all"||!Ie(ie.text))}continue}ee(A,M,k,C,!0)}let H=zd(t.chunks,_,u.length),N=g===null?null:Ds(t.normalized,g);return F!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:H,segments:F}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:E,segLevels:N,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:H}}function zd(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 jd(t,e,n,i){let r=i?.wordBreak??"normal",o=js(t,gt(),i?.whiteSpace,r);return Vd(o,e,n,r)}function ta(t,e,n){return jd(t,e,!1,n)}function na(t,e,n){let i=Qs(t,e);return{lineCount:i,height:i*n}}var qd={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function ia(t,e){let n={...qd,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=ta(t,o),{lineCount:l}=na(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:ia,getVariables:ls};function ra(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,ks())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ra,{once:!0}):ra();})();\n';
28948
+ RUNTIME_IIFE = '"use strict";(()=>{var Ea=Object.create;var Gn=Object.defineProperty;var wa=Object.getOwnPropertyDescriptor;var Ca=Object.getOwnPropertyNames;var Fa=Object.getPrototypeOf,Ma=Object.prototype.hasOwnProperty;var Na=(t,e,n)=>e in t?Gn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ee=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ta=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ca(e))!Ma.call(t,r)&&r!==n&&Gn(t,r,{get:()=>e[r],enumerable:!(i=wa(e,r))||i.enumerable});return t};var _a=(t,e,n)=>(n=t!=null?Ea(Fa(t)):{},Ta(e||!t||!t.__esModule?Gn(n,"default",{value:t,enumerable:!0}):n,t));var ye=(t,e,n)=>Na(t,typeof e!="symbol"?e+"":e,n);var Pr=ee((lm,Xn)=>{var J=String,Ir=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}};Xn.exports=Ir();Xn.exports.createColors=Ir});var Qn=ee(()=>{});var an=ee((dm,Hr)=>{"use strict";var Or=Pr(),Br=Qn(),_t=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=Or.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=Or.createColors(!0);r=x=>u(f(x)),i=x=>m(x),Br&&(o=x=>Br(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 g=20,b=Math.max(0,this.column-g),F=Math.max(this.column+g,this.endColumn+g),L=u.slice(b,F),k=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,g-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(L)+`\n `+k+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Hr.exports=_t;_t.default=_t});var Zn=ee((fm,Gr)=>{"use strict";var ll=/(<)(\\/?style\\b)/gi,ul=/(<)(!--)/g;function qe(t){return typeof t!="string"||!t.includes("<")?t:t.replace(ll,"\\\\3c $2").replace(ul,"\\\\3c $2")}var Wr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function cl(t){return t[0].toUpperCase()+t.slice(1)}var Lt=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(qe(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(qe(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(qe(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:qe(a)),this.stringify(l,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(qe("/*"+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(qe(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 Wr[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"+cl(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=Wr[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:qe(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(qe(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)}};Gr.exports=Lt;Lt.default=Lt});var vt=ee((mm,Ur)=>{"use strict";var dl=Zn();function ei(t,e){new dl(e).stringify(t)}Ur.exports=ei;ei.default=ei});var ln=ee((pm,ti)=>{"use strict";ti.exports.isClean=Symbol("isClean");ti.exports.my=Symbol("my")});var Dt=ee((hm,Vr)=>{"use strict";var fl=an(),ml=Zn(),pl=vt(),{isClean:kt,my:hl}=ln();function ni(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=>ni(s,n)):(o==="object"&&r!==null&&(r=ni(r)),n[i]=r)}return n}function We(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 Rt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[kt]=!1,this[hl]=!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=ni(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 fl(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[kt]=!0}markDirty(){if(this[kt]){this[kt]=!1;let e=this;for(;e=e.parent;)e[kt]=!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(We(i,this.source.start),We(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=We(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:We(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:We(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(We(n,this.source.start),We(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:We(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:We(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 ml().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=pl){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)}};Vr.exports=Rt;Rt.default=Rt});var Pt=ee((xm,zr)=>{"use strict";var xl=Dt(),It=class extends xl{constructor(e){super(e),this.type="comment"}};zr.exports=It;It.default=It});var Bt=ee((gm,qr)=>{"use strict";var gl=Dt(),Ot=class extends gl{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"}};qr.exports=Ot;Ot.default=Ot});var je=ee((ym,eo)=>{"use strict";var jr=Pt(),$r=Bt(),yl=Dt(),{isClean:Kr,my:Jr}=ln(),ii,Yr,Xr,ri;function Qr(t){return t.map(e=>(e.nodes&&(e.nodes=Qr(e.nodes)),delete e.source,e))}function Zr(t){if(t[Kr]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)Zr(e)}var Re=class t extends yl{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=Qr(Yr(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 $r(e)]}else if(e.selector||e.selectors)e=[new ri(e)];else if(e.name)e=[new ii(e)];else if(e.text)e=[new jr(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[Jr]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[Kr]&&Zr(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)}))}};Re.registerParse=t=>{Yr=t};Re.registerRule=t=>{ri=t};Re.registerAtRule=t=>{ii=t};Re.registerRoot=t=>{Xr=t};eo.exports=Re;Re.default=Re;Re.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ii.prototype):t.type==="rule"?Object.setPrototypeOf(t,ri.prototype):t.type==="decl"?Object.setPrototypeOf(t,$r.prototype):t.type==="comment"?Object.setPrototypeOf(t,jr.prototype):t.type==="root"&&Object.setPrototypeOf(t,Xr.prototype),t[Jr]=!0,t.nodes&&t.nodes.forEach(e=>{Re.rebuild(e)})}});var un=ee((bm,no)=>{"use strict";var to=je(),ut=class extends to{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)}};no.exports=ut;ut.default=ut;to.registerAtRule(ut)});var cn=ee((Sm,oo)=>{"use strict";var bl=je(),io,ro,nt=class extends bl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new io(new ro,this,e).stringify()}};nt.registerLazyResult=t=>{io=t};nt.registerProcessor=t=>{ro=t};oo.exports=nt;nt.default=nt});var ao=ee((Am,so)=>{var Sl="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Al=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},El=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Sl[Math.random()*64|0];return e};so.exports={nanoid:El,customAlphabet:Al}});var dn=ee(()=>{});var fn=ee(()=>{});var oi=ee(()=>{});var lo=ee(()=>{});var ai=ee((Lm,fo)=>{"use strict";var{existsSync:wl,readFileSync:Cl}=lo(),{dirname:si,join:Fl}=dn(),{SourceMapConsumer:uo,SourceMapGenerator:co}=fn();function Ml(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ht=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=si(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new uo(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 Ml(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=si(e),wl(e)))return this.mapFile=e,Cl(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 uo)return co.fromSourceMap(n).toString();if(n instanceof co)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=Fl(si(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)}};fo.exports=Ht;Ht.default=Ht});var Wt=ee((vm,go)=>{"use strict";var{nanoid:Nl}=ao(),{isAbsolute:ci,resolve:di}=dn(),{SourceMapConsumer:Tl,SourceMapGenerator:_l}=fn(),{fileURLToPath:mo,pathToFileURL:mn}=oi(),po=an(),Ll=ai(),li=Qn(),ui=Symbol("lineToIndexCache"),vl=!!(Tl&&_l),ho=!!(di&&ci);function xo(t){if(t[ui])return t[ui];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[ui]=n,n}var ct=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&&(!ho||/^\\w+:\\/\\//.test(n.from)||ci(n.from)?this.file=n.from:this.file=di(n.from)),ho&&vl){let i=new Ll(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 "+Nl(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 po(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 po(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&&(mn&&(c.input.url=mn(this.file).toString()),c.input.file=this.file),c}fromLineAndColumn(e,n){return xo(this)[e-1]+n-1}fromOffset(e){let n=xo(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:di(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;ci(s.source)?a=mn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||mn(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(mo)c.file=mo(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}};go.exports=ct;ct.default=ct;li&&li.registerInput&&li.registerInput(ct)});var dt=ee((km,Ao)=>{"use strict";var yo=je(),bo,So,$e=class extends yo{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 bo(new So,this,e).stringify()}};$e.registerLazyResult=t=>{bo=t};$e.registerProcessor=t=>{So=t};Ao.exports=$e;$e.default=$e;yo.registerRoot($e)});var fi=ee((Rm,Eo)=>{"use strict";var Gt={comma(t){return Gt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return Gt.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}};Eo.exports=Gt;Gt.default=Gt});var pn=ee((Dm,Co)=>{"use strict";var wo=je(),kl=fi(),ft=class extends wo{get selectors(){return kl.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=[])}};Co.exports=ft;ft.default=ft;wo.registerRule(ft)});var Mo=ee((Im,Fo)=>{"use strict";var Rl=un(),Dl=Pt(),Il=Bt(),Pl=Wt(),Ol=ai(),Bl=dt(),Hl=pn();function Ut(t,e){if(Array.isArray(t))return t.map(r=>Ut(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Pl.prototype};o.map&&(o.map={...o.map,__proto__:Ol.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>Ut(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 Bl(i);if(i.type==="decl")return new Il(i);if(i.type==="rule")return new Hl(i);if(i.type==="comment")return new Dl(i);if(i.type==="atrule")return new Rl(i);throw new Error("Unknown node type: "+t.type)}Fo.exports=Ut;Ut.default=Ut});var pi=ee((Pm,ko)=>{"use strict";var{dirname:hn,relative:To,resolve:_o,sep:Lo}=dn(),{SourceMapConsumer:vo,SourceMapGenerator:xn}=fn(),{pathToFileURL:No}=oi(),Wl=Wt(),Gl=!!(vo&&xn),Ul=!!(hn&&_o&&To&&Lo),mi=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||hn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new vo(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(),Ul&&Gl&&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=xn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new xn({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 xn({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?hn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=hn(_o(i,this.mapOpts.annotation)));let r=To(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 Wl(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(No){let i=No(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;Lo==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};ko.exports=mi});var Io=ee((Om,Do)=>{"use strict";var gn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,yn=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,Vl=/.[\\r\\n"\'(/\\\\]/,Ro=/[\\da-f]/i;Do.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,l,a,c,u,m,f,x,A,g=i.length,b=0,F=[],L=[],k=-1;function V(){return b}function O(C){throw e.error("Unclosed "+C,b)}function T(){return L.length===0&&b>=g}function y(C){if(L.length)return L.pop();if(b>=g)return;let M=C?C.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);u=["space",i.slice(b,a)],b=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let _=String.fromCharCode(o);u=[_,_,b];break}case 40:{if(A=F.length?F.pop()[1]:"",x=i.charCodeAt(b+1),A==="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||M){a=b;break}else O("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(b,a+1),b,a],b=a}else b<=k?u=["(","(",b]:(a=i.indexOf(")",b+1),s=i.slice(b,a+1),a===-1||Vl.test(s)?(k=a===-1?g:a,u=["(","(",b]):(u=["brackets",s,b,a],b=a));break}case 39:case 34:{c=o===39?"\'":\'"\',a=b;do{if(m=!1,a=i.indexOf(c,a+1),a===-1)if(r||M){a=b+1;break}else O("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(b,a+1),b,a],b=a;break}case 64:{gn.lastIndex=b+1,gn.test(i),gn.lastIndex===0?a=i.length-1:a=gn.lastIndex-2,u=["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,Ro.test(i.charAt(a)))){for(;Ro.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["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||M?a=i.length:O("comment")),u=["comment",i.slice(b,a+1),b,a],b=a):(yn.lastIndex=b+1,yn.test(i),yn.lastIndex===0?a=i.length-1:a=yn.lastIndex-2,u=["word",i.slice(b,a+1),b,a],F.push(u),b=a);break}}return b++,u}function E(C){L.push(C)}return{back:E,endOfFile:T,nextToken:y,position:V}}});var Ho=ee((Bm,Bo)=>{"use strict";var zl=un(),ql=Pt(),jl=Bt(),$l=dt(),Po=pn(),Kl=Io(),Oo={empty:!0,space:!0};function Jl(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var hi=class{constructor(e){this.input=e,this.root=new $l,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 zl;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 ql;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=Kl(this.input)}decl(e,n){let i=new jl;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]||Jl(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 Po;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",!Oo[m]&&!Oo[u]?a.slice(-1)===","?c=!1:a+=o[1]:c=!1):a+=o[1];if(!c){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new Po;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})}};Bo.exports=hi});var Sn=ee((Hm,Wo)=>{"use strict";var Yl=je(),Xl=Wt(),Ql=Ho();function bn(t,e){let n=new Xl(t,e),i=new Ql(n);try{i.parse()}catch(r){throw r}return i.root}Wo.exports=bn;bn.default=bn;Yl.registerParse(bn)});var xi=ee((Wm,Go)=>{"use strict";var Vt=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}};Go.exports=Vt;Vt.default=Vt});var An=ee((Gm,Uo)=>{"use strict";var Zl=xi(),zt=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 Zl(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Uo.exports=zt;zt.default=zt});var gi=ee((Um,zo)=>{"use strict";var Vo={};zo.exports=function(e){Vo[e]||(Vo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Si=ee((zm,Ko)=>{"use strict";var eu=je(),tu=cn(),nu=pi(),iu=Sn(),qo=An(),ru=dt(),ou=vt(),{isClean:Be,my:su}=ln(),Vm=gi(),au={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},lu={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},uu={Once:!0,postcssPlugin:!0,prepare:!0},mt=0;function qt(t){return typeof t=="object"&&typeof t.then=="function"}function $o(t){let e=!1,n=au[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,mt,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,mt,n+"Exit"]:[n,n+"Exit"]}function jo(t){let e;return t.type==="document"?e=["Document",mt,"DocumentExit"]:t.type==="root"?e=["Root",mt,"RootExit"]:e=$o(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function yi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>yi(e)),t}var bi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=yi(n);else if(n instanceof t||n instanceof qo)r=yi(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=iu;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[su]&&eu.rebuild(r)}this.result=new qo(e,r,i),this.helpers={...bi,postcss:bi,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(!lu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!uu[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(qt(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=[jo(e)];for(;n.length>0;){let i=this.visitTick(n);if(qt(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 qt(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=ou;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 nu(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(qt(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(qt(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(jo(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===mt){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=$o(e);for(let i of n)if(i===mt)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{bi=t};Ko.exports=Ke;Ke.default=Ke;ru.registerLazyResult(Ke);tu.registerLazyResult(Ke)});var Yo=ee((jm,Jo)=>{"use strict";var cu=pi(),du=Sn(),fu=An(),mu=vt(),qm=gi(),jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=du;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=mu;this.result=new fu(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 cu(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[]}};Jo.exports=jt;jt.default=jt});var Qo=ee(($m,Xo)=>{"use strict";var pu=cn(),hu=Si(),xu=Yo(),gu=dt(),it=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 xu(this,e,n):new hu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};Xo.exports=it;it.default=it;gu.registerProcessor(it);pu.registerProcessor(it)});var ss=ee((Km,os)=>{"use strict";var Zo=un(),es=Pt(),yu=je(),bu=an(),ts=Bt(),ns=cn(),Su=Mo(),Au=Wt(),Eu=Si(),wu=fi(),Cu=Dt(),Fu=Sn(),Ai=Qo(),Mu=An(),is=dt(),rs=pn(),Nu=vt(),Tu=xi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new Ai(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let l=n(...s);return l.postcssPlugin=e,l.postcssVersion=new Ai().version,l}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,l,a){return le([r(a)]).process(s,l)},r};le.stringify=Nu;le.parse=Fu;le.fromJSON=Su;le.list=wu;le.comment=t=>new es(t);le.atRule=t=>new Zo(t);le.decl=t=>new ts(t);le.rule=t=>new rs(t);le.root=t=>new is(t);le.document=t=>new ns(t);le.CssSyntaxError=bu;le.Declaration=ts;le.Container=yu;le.Processor=Ai;le.Document=ns;le.Comment=es;le.Warning=Tu;le.AtRule=Zo;le.Result=Mu;le.Input=Au;le.Rule=rs;le.Root=is;le.Node=Cu;Eu.registerPostcss(le);os.exports=le;le.default=le});function on(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=on(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var La={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>va(t)};function va(t){let e=t.selectors,n=t.duration||800;e&&ka(e,n)}function er(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=La[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function ka(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var Un=null;function tr(t){Un=t}function At(t,e){if(Un)try{Un({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function nr(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){v("runtime.adapters.css.site1",u)}try{c.pause()}catch(u){v("runtime.adapters.css.site2",u)}}},r=l=>{for(let a of l)try{a.play()}catch(c){v("runtime.adapters.css.site3",c)}},o=l=>{for(let a of l)try{a.pause()}catch(c){v("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 ir(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function rr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function ar(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if(or(i))i.goToAndStop(e*1e3,!1);else if(sr(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{(or(e)||sr(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{}}}function or(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function sr(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Vn=-1;function sn(t){if(t!==Vn){Vn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function lr(t){Vn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function ur(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},l=c=>{o||c.itemsTotal<=c.itemsLoaded||(o=new Promise(u=>{c.onLoad=function(){try{r?.call(this)}finally{o=null,c.onLoad=r??null,u()}}}))},a=c=>{n!==c&&(n=c,i=c.onStart??null,r=c.onLoad??null,c.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{l(c)}})};return{name:"three",discover:()=>{let c=s();c&&(a(c),l(c))},seek:c=>{t=Math.max(0,Number(c.time)||0),e=t,window.__hfThreeTime=t,sn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let c=s();return!c||c.itemsTotal<=c.itemsLoaded?null:(o||l(c),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function cr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function dr(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function fr(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function mr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function pr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function hr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,sn(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function xr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function gr(){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=xr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function yr(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...l){let a=l.length-1,c=l[a];if(c instanceof HTMLVideoElement){let u=xr(c);u&&(l[a]=u)}return o.apply(this,l)};s.__hfVideoPatched=!0,i[r]=s}}}function br(){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){v("runtime.adapters.waapi.site1",f)}try{c.pause()}catch(f){v("runtime.adapters.waapi.site2",f)}}},pause:()=>{if(document.getAnimations)for(let l of document.getAnimations())try{l.pause()}catch(a){v("runtime.adapters.waapi.site3",a)}}}}function Sr(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 Ra(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 g=m;g<=f+1e-6;g+=u){let b=Math.min(f,g);e(b);let F=Number(t.volume);if(!Number.isFinite(F))continue;let L=Math.max(0,Math.min(1,F)),k=x.at(-1);if((!k||Math.abs(k.volume-L)>1e-4||b===f)&&x.push({time:Number(b.toFixed(6)),volume:Number(L.toFixed(6))}),b===f)break}return x.some(g=>Math.abs(g.volume-c)>1e-4)?x:null}function Ar(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ra(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 Ct(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Er(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=Ct(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/c));let x=Number.isFinite(f)&&f>0?l+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),g={el:s,start:l,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:c,loop:u,sourceDuration:m};i.push(g),s.tagName==="VIDEO"&&r.push(g),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var zn=new WeakMap,Et=new WeakMap,qn=new WeakSet,at=new WeakSet;function Da(t){if(at.has(t))return;at.add(t);let e=()=>at.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ia=3;function Pa(t){return t.error!=null||t.networkState===Ia}var jn=new WeakMap;function wt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function wr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let M=n.sourceDuration-n.mediaStart;M>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%M)}let s=wt(t.userVolume??1),l=wt(n.volume??1),a=jn.get(i),c=wt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=wt(Sr(n.volumeKeyframes,r)):a===void 0||Math.abs(c-a)>1e-4?u=c:u=l;let m=wt(u*s);i.volume=m,jn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(M){v("runtime.media.site1",M)}let f=.04,x=2,A=i.currentTime||0,g=Math.abs(A-r),b=r-A,F=zn.get(i);zn.set(i,b);let L=F===void 0,k=!L&&Math.abs(b-F)>.5,V=g>3,O=g>.5&&(L||k||V),T=i.tagName==="VIDEO"&&!i.paused,y=F!==void 0&&Math.abs(b-F)<.004,E=!1;if(!T&&!O&&!L&&y&&g>f){let M=(Et.get(i)??0)+1;Et.set(i,M),M>=x&&(E=!0,Et.set(i,0))}else g<=f&&Et.set(i,0);let C=!T&&t.forceSync&&g>.02;if(O||E||C){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(_){v("runtime.media.site2",_)}if(Math.abs(i.currentTime-r)>.5&&!qn.has(i)){qn.add(i),i.load();try{i.currentTime=r}catch(_){v("runtime.media.site3",_)}}}at.delete(i)}t.playing&&i.paused&&!at.has(i)&&!Pa(i)?(Da(i),i.play().catch(M=>{at.delete(i),(M&&typeof M=="object"&&"name"in M?String(M.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}zn.delete(i),Et.delete(i),qn.delete(i),jn.delete(i),i.paused||i.pause()}}var Oa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Ba=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),Ha="data-hf-color-grading-source-hidden";function Cr(t){let e=!1,n=null,i=null,r=null,o=null;function s(y,E){try{window.dispatchEvent(new CustomEvent(y,{detail:E}))}catch(C){v("runtime.picker.site1",C)}}function l(y){r=y,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(y){o=y,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function c(y){let E=y.ownerDocument.defaultView;if(!E)return!1;let C=y;for(;C&&C!==document.body&&C!==document.documentElement;){let M=E.getComputedStyle(C);if(M.display==="none"||M.visibility==="hidden"||M.pointerEvents==="none")return!0;let _=Number.parseFloat(M.opacity);if(Number.isFinite(_)&&_<=.01&&!C.hasAttribute(Ha))return!0;C=C.parentElement}return!1}function u(y){if(!y||y===document.body||y===document.documentElement)return!1;let E=y.tagName.toLowerCase();return!(E==="script"||E==="style"||E==="link"||E==="meta"||y.classList.contains("__hf-pick-highlight")||y.closest(Oa)||c(y))}function m(y){return!!y?.closest(Ba)}function f(y){let E=y;if(E.id)return`#${E.id}`;let C=y.getAttribute("data-composition-id");if(C)return`[data-composition-id="${CSS.escape(C)}"]`;let M=y.getAttribute("data-composition-src");if(M)return`[data-composition-src="${CSS.escape(M)}"]`;let _=y.getAttribute("data-track-index");if(_)return`[data-track-index="${CSS.escape(_)}"]`;let W=y.tagName.toLowerCase(),z=y.parentElement;if(!z)return W;let re=z.querySelectorAll(`:scope > ${W}`);if(re.length===1)return W;for(let D=0;D<re.length;D+=1)if(re[D]===y)return`${W}:nth-of-type(${D+1})`;return W}function x(y){let E=y.tagName.toLowerCase(),C=(y.textContent??"").trim().replace(/\\s+/g," "),M=(_,W)=>_.length>W?`${_.slice(0,W-1)}\\u2026`:_;return E==="h1"||E==="h2"||E==="h3"?"Heading":E==="p"||E==="span"||E==="div"?C.length>0?M(C,56):"Text":E==="img"?"Image":E==="video"?"Video":E==="audio"?"Audio":E==="svg"?"Shape":y.getAttribute("data-composition-src")?"Composition":E==="section"?"Section":`${E.charAt(0).toUpperCase()}${E.slice(1)}`}function A(y,E,C){let M=typeof C=="number"&&C>0?C:8,_=[];if(document.elementsFromPoint)_=document.elementsFromPoint(y,E);else if(document.elementFromPoint){let re=document.elementFromPoint(y,E);_=re?[re]:[]}if(m(_[0]??null))return[];let W={},z=[];for(let re=0;re<_.length;re+=1){let D=_[re];if(!u(D))continue;let Y=`${D.tagName}::${D.id||""}::${re}`;if(!W[Y]&&(W[Y]=!0,z.push(D),z.length>=M))break}return z}function g(y){let E=y.getBoundingClientRect(),C={};for(let _=0;_<y.attributes.length;_+=1){let W=y.attributes[_];W.name.startsWith("data-")&&(C[W.name]=W.value)}return{id:y.id||null,tagName:y.tagName.toLowerCase(),selector:f(y),label:x(y),boundingBox:{x:E.left,y:E.top,width:E.width,height:E.height},textContent:y.textContent?y.textContent.trim().slice(0,200):null,src:y.getAttribute("src")||y.getAttribute("data-composition-src")||null,dataAttributes:C}}function b(y,E,C){return A(y,E,C).map(g)}function F(y){if(!e)return;let C=A(y.clientX,y.clientY,1)[0]??(y.target instanceof Element?y.target:null);if(!u(C)||n===C)return;n&&n.classList.remove("__hf-pick-highlight"),n=C,C.classList.add("__hf-pick-highlight");let M=g(C);l(M),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:M})}function L(y){if(!e)return;y.preventDefault(),y.stopPropagation(),y.stopImmediatePropagation();let E=b(y.clientX,y.clientY,8);E.length!==0&&(l(E[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:E,selectedIndex:0,point:{x:y.clientX,y:y.clientY}}))}function k(y){y.key==="Escape"&&(O(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function V(){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",F,!0),document.addEventListener("click",L,!0),document.addEventListener("keydown",k,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function O(){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",F,!0),document.removeEventListener("click",L,!0),document.removeEventListener("keydown",k,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function T(){window.__HF_PICKER_API={enable:V,disable:O,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(y,E,C)=>Number.isFinite(y)&&Number.isFinite(E)?b(y,E,C):[],pickAtPoint:(y,E,C)=>{if(!Number.isFinite(y)||!Number.isFinite(E))return null;let M=b(y,E,8);if(!M.length)return null;let _=Math.max(0,Math.min(M.length-1,Number(C??0))),W=M[_]??null;return W?(a(W),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:W}),O(),W):null},pickManyAtPoint:(y,E,C)=>{if(!Number.isFinite(y)||!Number.isFinite(E))return[];let M=b(y,E,8);if(!M.length)return[];let _=[],W=Array.isArray(C)?C:[0];for(let z of W){let re=Math.max(0,Math.min(M.length-1,Math.floor(Number(z)))),D=M[re];if(!D)continue;_.some(se=>se.selector===D.selector&&se.tagName===D.tagName)||_.push(D)}return _.length?(a(_[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:_}),O(),_):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:V,disablePickMode:O,installPickerApi:T}}var Wa=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function lt(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 Fr(t,e,n=Wa){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function Ft(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function ke(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Mt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Mr(t,e,n){let i=lt(e,n);return ke(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function Ga(t,e,n,i){let r=[];Mt(t,e,o=>{ke(o,"play"),r.push(o)});try{return Mr(e,n,i)}finally{for(let o of r)try{ke(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function Ua(t,e){Mt(t,e,n=>{ke(n,"play")})}function Nr(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??Ft(e,"duration",0))||0);n>0&&Math.max(0,Ft(e,"time",0))>=n&&(ke(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()),ke(e,"play"),Mt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ke(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;ke(e,"pause"),Mt(t.getTimelineRegistry?.(),e,i=>{ke(i,"pause")});let n=Math.max(0,Ft(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=Ga(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),ke(i,"play"),Mt(t.getTimelineRegistry?.(),i,l=>{typeof l.timeScale=="function"&&l.timeScale(t.getPlaybackRate()),ke(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?(Ua(t.getTimelineRegistry?.(),n),Mr(n,e,i)):lt(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>Ft(t.getTimeline(),"time",0),getDuration:()=>Ft(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Tr(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var Va=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function Kn(t){return t.id||t.getAttribute("data-hf-id")||null}function $n(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function za(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function qa(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=$n(t.getAttribute("data-playback-start"))??$n(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function ja(t,e,n,i){let r=$n(t.getAttribute("data-duration"));return r!=null&&r>0?r:za(t,e)??qa(t)??Math.max(0,n-i)}function $a(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function _r(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let l of document.querySelectorAll("[data-start]")){if(l===o||Va.has(l.tagName))continue;let a=e.resolveStartForElement(l,0);if(ja(l,n,i,a)<=0)continue;let c={id:Kn(l)??`__clip-${s++}`,element:l,parentId:null,children:[]};r.set(l,c)}return $a(r),{roots:Array.from(r.values()).filter(l=>l.parentId===null)}}var Ka="data-hf-authored-duration",Ja="data-hf-authored-end";function tt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Ya(t){return tt(t.getAttribute("data-duration"))}function Xa(t){return tt(t.getAttribute("data-end"))}function Qa(t){return tt(t.getAttribute(Ka))}function Za(t){return tt(t.getAttribute(Ja))}function el(t){let e=(t??"").trim();if(!e)return null;let n=tt(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 ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},l=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=Ya(u)??(n?Qa(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=Xa(u)??(n?Za(u):null);if(A!=null){let g=c(u,0),b=A-g;Number.isFinite(b)&&b>0&&(f=b)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=tt(u.getAttribute("data-playback-start"))??tt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Ct(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let g=e[A]??null;if(g&&typeof g.duration=="function")try{let b=Number(g.duration());Number.isFinite(b)&&b>0&&(f=b)}catch(b){v("runtime.startResolver.site1",b)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(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=el(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let L=u.parentElement;if(L&&(L.hasAttribute("data-composition-src")||L.hasAttribute("data-composition-id"))){let k=c(L,m);return i.set(u,k),k}}return i.set(u,m),m}if(x.kind==="absolute"){let L=Math.max(0,x.value),k=Math.max(0,a(u,m)+L);return i.set(u,k),k}let A=s(x.refId);if(!A)return i.set(u,m),m;let g=c(A,0),b=l(A);if(b==null||b<=0){let L=Math.max(0,g+x.offset);return i.set(u,L),L}let F=Math.max(0,g+b+x.offset);return i.set(u,F),F}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>c(u,Math.max(0,m)),resolveDurationForElement:u=>l(u)}}function Lr(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var tl="data-hf-authored-duration",nl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function Jn(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(tl))}function vr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(nl))}function Yn(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var kr={composition:0,video:1,image:2,element:3,audio:4};function il(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)=>(kr[c]??99)-(kr[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 Tt(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 Rr(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return Tt(e);let n=t.getAttribute("data-composition-src");if(n)return Tt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?Tt(i.getAttribute("src")):null}function rl(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 ol(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 sl(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Nt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function al(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 Nt(r);let o=t.id;if(o)return Nt(o);let s=rl(t);if(s)return Nt(s);let l=ol(Rr(t));if(l)return Nt(l);let a=sl(t);return a||`${Nt(e)} ${n+1}`}function Dr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=R=>{if(!R)return null;let I=n[R]??null;if(!I||typeof I.duration!="function")return null;try{let H=Number(I.duration());return Number.isFinite(H)&&H>0?H:null}catch{return null}},o=R=>{let I=Ce(R.getAttribute("data-duration"));if(I!=null&&I>0)return I;let H=Ce(R.getAttribute("data-playback-start"))??Ce(R.getAttribute("data-media-start"))??0;return Number.isFinite(R.duration)&&R.duration>H?Math.max(0,(R.duration-H)/Ct(R)):null},s=()=>{let R=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(R.length===0)return null;let I=0;for(let H of R){let ie=H.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(H,0):Math.max(0,Number(H.getAttribute("data-start")??0)||0);if(!Number.isFinite(ie))continue;let ae=o(H);ae==null||ae<=0||(I=Math.max(I,Math.max(0,ie)+ae))}return I>0?I:null},l=(R,I)=>{let H=[],ie=null,ae=null,q=null,j=R.parentElement;for(;j;){let X=j.getAttribute("data-composition-id");X&&(H.push(X),!q&&j!==I&&(q=X),ie==null&&(ie=i.resolveStartForElement(j,0)),ae==null&&(ae=Ce(j.getAttribute("data-duration"))??r(X)??null)),j=j.parentElement}return{parentCompositionId:q,compositionAncestors:H.reverse(),inheritedStart:ie,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),c=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),g=Jn(a??document.body),b=Yn(...c.filter(R=>R!==a).map(R=>{let I=i.resolveStartForElement(R,0),H=i.resolveDurationForElement(R)??r(R.getAttribute("data-composition-id"))??null;return!Number.isFinite(I)||H==null||H<=0?null:Math.max(0,I)+H})),F=b!=null?Math.max(0,b-Math.max(0,m)):null,L=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,k=typeof g=="number"&&Number.isFinite(g)&&g>0?g:null,V=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,O=typeof F=="number"&&Number.isFinite(F)&&F>0?F:null,T=Yn(V,O),y=L!=null&&T!=null&&L>T+1,C=k??(y?T:Yn(L,V,O))??null,_=(C!=null?m+C:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),W=(R,I)=>!Number.isFinite(I)||I<=0?0:_==null||!Number.isFinite(_)?I:!Number.isFinite(R)||R>=_?0:Math.max(0,Math.min(I,_-R)),z=[],re=[],D=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),Y=0;for(let R=0;R<D.length;R+=1){let I=D[R];if(I===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(I.tagName))continue;let H=l(I,a),ie=i.resolveStartForElement(I,H.inheritedStart??0),ae=I.getAttribute("data-composition-id"),q=Jn(I);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&I instanceof HTMLMediaElement){let ge=Ce(I.getAttribute("data-playback-start"))??Ce(I.getAttribute("data-media-start"))??0;Number.isFinite(I.duration)&&I.duration>0&&(q=Math.max(0,I.duration-ge))}if(q==null||q<=0){let ge=H.inheritedDuration;if(ge!=null&&ge>0){let Ne=(H.inheritedStart??0)+ge;q=Math.max(0,Ne-ie)}}if(q==null||q<=0||(q=W(ie,q),q<=0))continue;let j=ie+q;Y=Math.max(Y,j);let X=I.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";z.push({id:Kn(I)??ae??null,label:al(I,Ie,z.length),start:ie,duration:q,track:Number.parseInt(I.getAttribute("data-track-index")??I.getAttribute("data-track")??String(R),10)||0,kind:Ie,tagName:X,compositionId:I.getAttribute("data-composition-id"),compositionAncestors:H.compositionAncestors,parentCompositionId:H.parentCompositionId,nodePath:null,compositionSrc:Tt(I.getAttribute("data-composition-src")),assetUrl:Rr(I),timelineRole:I.getAttribute("data-timeline-role"),timelineLabel:I.getAttribute("data-timeline-label"),timelineGroup:I.getAttribute("data-timeline-group"),timelinePriority:Ce(I.getAttribute("data-timeline-priority"))})}let se=new Set(z.map(R=>R.id)),U=a?.getAttribute("data-composition-id")??null,te=U?n[U]??null:null;if(te&&a){let R=te;if(typeof R.getChildren=="function")try{let I=R.getChildren(!0,!0,!1)??[],H=new Map;for(let q of a.children){let j=q;if(!j.id)continue;let X=j.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||H.set(j,{id:j.id,start:1/0,end:-1/0})}let ie=q=>{let j=q;for(;j;){if(H.has(j))return j;if(j===a)return null;j=j.parentElement}return null};for(let q of I){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let j=q.startTime(),X=q.parent;for(;X&&X!==te&&typeof X.startTime=="function";)j+=X.startTime(),X=X.parent;let Ie=j+q.duration();if(!(!Number.isFinite(j)||!Number.isFinite(Ie)))for(let ge of q.targets()){if(!(ge instanceof Element))continue;let ot=ie(ge);if(!ot)continue;let Ne=H.get(ot);Ne&&(Ne.start=Math.min(Ne.start,j),Ne.end=Math.max(Ne.end,Ie))}}let ae=z.length>0?Math.max(...z.map(q=>q.track))+1:0;for(let[q,j]of H){if(j.start===1/0||j.end===-1/0)continue;let X=q;if(se.has(X.id))continue;let Ie=Math.max(0,j.end-j.start);if(Ie<=0)continue;let ge=W(j.start,Ie);ge<=0||(Y=Math.max(Y,j.start+ge),z.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:j.start,duration:ge,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),se.add(X.id))}}catch(I){v("runtime.timeline.site1",I)}}if(a&&C!=null&&C>0){let R=z.length>0?Math.max(...z.map(I=>I.track))+1:0;for(let I of a.children){let H=I;if(!H.id||se.has(H.id))continue;let ie=H.getAttribute("data-timeline-role");if(ie!=="overlay"&&ie!=="persistent-overlay")continue;let ae=H.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(H).display==="none")continue;let j=W(0,C);j<=0||(Y=Math.max(Y,j),z.push({id:H.id,label:H.getAttribute("data-timeline-label")??H.getAttribute("data-label")??H.getAttribute("aria-label")??H.id,start:0,duration:j,track:Number.parseInt(H.getAttribute("data-track-index")??H.getAttribute("data-track")??"",10)||R,kind:"element",tagName:ae,compositionId:H.getAttribute("data-composition-id"),compositionAncestors:U?[U]:[],parentCompositionId:U,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:ie,timelineLabel:H.getAttribute("data-timeline-label"),timelineGroup:H.getAttribute("data-timeline-group"),timelinePriority:Ce(H.getAttribute("data-timeline-priority"))}),se.add(H.id))}}il(z);for(let R of c){if(R===a)continue;let I=R.getAttribute("data-composition-id");if(!I||!Lr(I))continue;let H=i.resolveStartForElement(R,0),ie=Jn(R);if((ie==null||ie<=0)&&vr(R)!=null){let X=vr(R);ie=Math.max(0,X-H)}let ae=r(I),q=ie&&ie>0?ie:ae;if(q==null||q<=0)continue;let j=W(H,q);j<=0||re.push({id:I,label:R.getAttribute("data-label")??I,start:H,duration:j,thumbnailUrl:Tt(R.getAttribute("data-thumbnail-url")),avatarName:null})}let G=Math.max(1,Y||1,C??0);return{source:"hf-preview",type:"timeline",durationInFrames:y&&k==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(G*Math.max(1,t.canonicalFps))),clips:z,scenes:re,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var de=_a(ss(),1),as=de.default,Jm=de.default.stringify,Ym=de.default.fromJSON,Xm=de.default.plugin,Qm=de.default.parse,Zm=de.default.list,ep=de.default.document,tp=de.default.comment,np=de.default.atRule,ip=de.default.rule,rp=de.default.decl,op=de.default.root,sp=de.default.CssSyntaxError,ap=de.default.Declaration,lp=de.default.Container,up=de.default.Processor,cp=de.default.Document,dp=de.default.Comment,fp=de.default.Warning,mp=de.default.AtRule,pp=de.default.Result,hp=de.default.Input,xp=de.default.Rule,gp=de.default.Root,yp=de.default.Node;var Ei="data-hf-authored-id";function wi(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function Ci(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function _u(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ls(t){let e=t.trim();return e?Array.from(new Set([e,_u(e)])).filter(Boolean):[]}function Lu(t){return!!t&&/[\\w-]/.test(t)}function vu(t,e,n){let i=ls(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(!Lu(m)){r+=n,l+=u.length;continue}}}r+=a}return r}function ku(t,e){let n=e?.trim();return n?vu(t,n,`[${Ei}="${Ci(n)}"]`):t}function Ru(t,e,n,i,r){let o=ku(t,i),s=Du(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*(["\'])${wi(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?`[${Ei}="${Ci(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 Du(t,e,n){let i=wi(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 Iu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Pu(t){return t?.type==="atrule"}function Ou(t){let e=t.parent;for(;e;){if(Pu(e)&&Iu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Fi(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${Ci(o)}"]`,l=as.parse(t);return l.walkRules(a=>{Ou(a)||(a.selectors=a.selectors.map(c=>Ru(c,s,o,i,r?.compoundAuthoredRoot)))}),l.toResult({map:!1}).css}function us(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=wi(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*\\]`),A=JSON.stringify(ls(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(Ei)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function cs(){if(typeof document>"u")return{};let t=Mi(document.documentElement),e=Bu();return{...t,...e}}function Mi(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 Bu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var Hu=8e3,Wu=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,Gu=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,Uu=["src","href"];function Vu(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function fs(t,e){if(!e)return t;let n=t.trim();if(Vu(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ms(t,e){return!e||!t?t:t.replace(Gu,(n,i,r)=>{let o=fs(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function zu(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of Uu){let r=n.getAttribute(i);if(r==null)continue;let o=fs(r,e);o!==r&&n.setAttribute(i,o)}}function qu(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ms(i,e);r!==i&&n.setAttribute("style",r)}}function ju(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ms(i,e);r!==i&&(n.textContent=r)}}function ps(t,e){if(e){zu(t,e),qu(t,e),ju(t,e);for(let n of Array.from(t.querySelectorAll("template")))ps(n.content,e)}}function $u(t,e){return`${t}__hf${e}`}var Ku=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"),Hu)});function Ni(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var Ju=["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 Yu(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of Ju)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 ds(t,e){let n=t.trim();if(!n)return t;try{return Wu.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function Xu(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 Qu(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 hs(t){let e=En(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function Zu(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function ec(t){return t.hasAttribute("data-composition-src")?!0:hs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:Zu(t):!1}function _i(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:hs(e))}function xs(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(_i().map(n=>En(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function gs(t,e=Qu(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=En(r),l=ec(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?$u(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 Ti(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=Fi(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=Fi(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let g=ds(A,t.compositionUrl);a.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&a.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}}let c=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of c){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let g=ds(A,t.compositionUrl);u.push({kind:"external",src:g,type:x})}else{let g=f.textContent?.trim()??"";g&&u.push({kind:"inline",content:g,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),g=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),g&&t.host instanceof HTMLElement&&(t.host.style.height=g),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(Yu(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...Xu(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=us(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await Ku(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function ys(t){let e=_i();if(xs(),e.length===0)return;let n=gs(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`);Ni(r),await Ti({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 bs(t){let e=_i();if(xs(),e.length===0)return;let n=gs(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}Ni(r);try{let u=l!=null?document.querySelector(`template#${CSS.escape(l)}-template`):null;if(u){await Ti({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(),A=new DOMParser().parseFromString(f,"text/html");ps(A,c);let g=(l?A.querySelector(`template#${CSS.escape(l)}-template`):null)??A.querySelector("template"),b=g?g.content:A.body,F=g?void 0:Array.from(A.head.querySelectorAll("style")),L=g?void 0:Array.from(A.head.querySelectorAll("script")),k=g?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ti({host:r,authoredCompositionId:l,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:b,hasTemplate:!!g,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:c,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:F,headScripts:L,headLinks:k,declaredVariableDefaults:Mi(A.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"}}),Ni(r)}}))}function tc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function nc(){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 ic(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 Li(){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=nc();for(let i of e){let r=null;if(i.wordId&&(r=tc(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=ic(r);t.set(l,o)}}}).catch(()=>{})}var Kt="data-color-grading",rc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ss=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],oc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],sc=new Map(oc.map(t=>[t.id,t])),ac=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,lc={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function $t(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function uc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function As(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function cc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=lc[e];return uc(n,i.min,i.max)}function dc(t){if(t==null)return null;let e=String(t).trim();return e||null}function fc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!$t(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:As(t.intensity,1)}}function mc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return $t(n)?n:null}catch{return null}return{preset:e,intensity:1}}return $t(t)?t:null}function pc(t,e){let n=t.trim().match(ac);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function vi(t,e){if(typeof t=="string"){let i=pc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return vi(JSON.parse(r),e)}catch{return t}}if(!$t(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=vi(r,e);return n}function hc(t){return t?sc.get(t)??null:null}function ki(t){let e=mc(t);if(!e||e.enabled===!1)return null;let n=dc(e.preset),r=hc(n)?.adjust??Je,o=$t(e.adjust)?e.adjust:{},s=Ss.reduce((l,a)=>(l[a]=cc(o[a]??r[a],a),l),{...Je});return{enabled:!0,preset:n,intensity:As(e.intensity,1),adjust:s,lut:fc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():rc}}function Es(t,e){return ki(vi(t,e))}function Jt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ss.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);ye(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},xc=[0,0,0],gc=[1,1,1],yc=64;function bc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function pt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function ws(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[pt(t[0],n),pt(t[1],n),pt(t[2],n)]}function Cs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Sc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Ac(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Ec(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Fs(t,e={}){let n=e.maxSize??yc,i=null,r=xc,o=gc,s=null,l=null,a=[],c=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<c.length;m++){let f=m+1,x=bc(c[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),g=(A[0]??"").toUpperCase(),b=A.slice(1);if(g==="TITLE"){i=Ac(x);continue}if(g==="DOMAIN_MIN"){r=ws(b,g,f);continue}if(g==="DOMAIN_MAX"){o=ws(b,g,f);continue}if(g==="LUT_1D_SIZE"){s=Cs(b[0],g,f);continue}if(g==="LUT_3D_SIZE"){if(l=Cs(b[0],g,f),l>n)throw new we(`LUT_3D_SIZE ${l} exceeds max ${n}`,f);continue}if(!Ec(g)){if(g.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${g}`,f);continue}if(!l)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(pt(A[0],f),pt(A[1],f),pt(A[2],f))}if(s&&l)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!l)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Sc(r,o);let u=l*l*l;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${l}, found ${a.length/3}`);return{title:i,size:l,domainMin:r,domainMax:o,data:new Float32Array(a)}}function wc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Ri(t){return Math.round(wc(t)*255)}function Ms(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let l=0;l<e;l++){let a=((o*e+s)*e+l)*3,c=(s*n+o*e+l)*4;r[c]=Ri(t.data[a]??0),r[c+1]=Ri(t.data[a+1]??0),r[c+2]=Ri(t.data[a+2]??0),r[c+3]=255}return{width:n,height:i,data:r}}var wn=new Map,Cc="data-hf-color-grading-canvas",vs="data-hf-color-grading-source-hidden",Fc="__hf_color_grading_canvas__",Mc=64,Yt={enabled:!1,position:.5,softness:0,lineWidth:2};function Nc(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function Di(t){let e=t.getAttribute(Kt);return e==null?null:Es(e,Nc(t))}var Tc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),_c=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function rt(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Ns(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Lc(t){let e=Ns(t,Tc,t.VERTEX_SHADER),n=Ns(t,_c,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Ts(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function vc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Lc(e),i=Ts(e),r=Ts(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function kc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Rc(t){if(!kc(t))return{...Yt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Yt.position,0,1),softness:e(t.softness,Yt.softness,0,.25),lineWidth:e(t.lineWidth,Yt.lineWidth,0,12)}}function ks(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function Pi(t){return t instanceof Error?t.message:"LUT failed to load"}function Dc(t){let e=ks(t);if("error"in e)return{state:"error",message:e.error};let n=wn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Fs(o,{maxSize:Mc})),r={state:"pending",promise:i};return wn.set(e.href,r),i.then(o=>wn.set(e.href,{state:"ready",lut:o}),o=>wn.set(e.href,{state:"error",message:Pi(o)})),r}function _s(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ms(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=Pi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function Ic(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=ks(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=Dc(e);return r.state==="ready"?_s(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(_s(t,i.href,o),Ge(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=Pi(o),t.lutLoadingSrc=null,Ge(t))})),null)}function Ii(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&rt(n))return n;try{let i=document.querySelector(e);return i&&rt(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&rt(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&rt(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&rt(i)?i:null}catch{return null}}function Pc(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function Rs(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function Oc(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&Rs(e)?e:null}function Bc(t){if(t instanceof HTMLVideoElement){let e=Oc(t);if(e)return e}return Rs(t)?t:null}function Ls(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function Hc(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=Ls(o,"x"),l=Ls(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(l!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=l;continue}}return{x:n,y:i}}function Wc(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",l=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);l=n*f,a=i*f,s==="scale-down"&&l>n&&a>i&&(l=n,a=i)}else s==="none"&&(l=n,a=i);let c=Hc(o||"center"),u=(t-l)*c.x/t,m=(e-a)*c.y/e;return{scaleX:l/t,scaleY:a/e,offsetX:u,offsetY:m}}function Gc(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function Uc(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&Gc(t,r);let o=window.getComputedStyle(e);Fr(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),l=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return l<=0||a<=0?(i.style.display="none",null):(i.width!==l&&(i.width=l),i.height!==a&&(i.height=a),{width:l,height:a})}function Vc(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function zc(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(vs,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ge(t){if(t.destroyed)return!1;let e=Bc(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=Pc(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",l=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=l!=="hidden"&&x.visibility!=="hidden"}let a=Uc(t,i);if(!a)return!1;let c=window.getComputedStyle(i),u=Wc(a.width,a.height,n.width,n.height,c.objectFit,c.objectPosition),{gl:m,program:f}=t;try{let x=Ic(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),Vc(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),zc(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function qc(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function Xt(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ge(t),!t.destroyed&&!e.paused&&!e.ended&&Xt(t)})}function jc(t){let e=()=>{Ge(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>Xt(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function $c(t){if(!t.destroyed){t.destroyed=!0,qc(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(vs);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function Kc(t){let e=document.createElement("canvas");return e.className=Fc,e.setAttribute(Cc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ds(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(g,b,F)=>{let L=t.get(g);if(L)return L.grading=b,L.source=F,Ge(L),g instanceof HTMLVideoElement&&!g.paused&&Xt(L),!0;let k=Kc(g),V=vc(k);if(!V)return k.remove(),!1;let O={element:g,canvas:k,gl:V.gl,program:V.program,grading:b,compare:{...Yt},lut:null,lutLoadingSrc:null,lutError:null,source:F,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(g).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(g).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(g,O),e.add(g),jc(O),Ge(O),g instanceof HTMLVideoElement&&!g.paused&&Xt(O),!0},o=(g,b)=>{if(i)return!1;let F=Ii(g);if(!F)return!1;let L=t.get(F);if(!L){let k=Di(F);if(!Jt(k)||!r(F,k,"attribute"))return!1;L=t.get(F)}return L?(L.compare=Rc(b),Ge(L),!0):!1},s=g=>{let b=t.get(g);b&&($c(b),t.delete(g),e.delete(g))},l=()=>{if(i)return 0;let g=new Set;document.querySelectorAll(`video[${Kt}], img[${Kt}]`).forEach(F=>{if(!rt(F))return;g.add(F);let L=Di(F);Jt(L)?r(F,L,"attribute"):s(F)});for(let F of Array.from(e)){let L=t.get(F);L&&(!F.isConnected||L.source==="attribute"&&!g.has(F))&&s(F)}return e.size},a=()=>{if(i)return 0;let g=0;for(let b of Array.from(e,F=>t.get(F)))b&&Ge(b)&&(g+=1);return g},c=(g,b)=>{if(i)return!1;let F=Ii(g);if(!F)return!1;let L=ki(b);return Jt(L)?r(F,L,"live"):(s(F),!0)},u=(g,b)=>{if(!rt(g))return!1;let F=t.get(g);return F?(F.sourceVisibleForCanvas=b,!0):!1},m=g=>{let b=Ii(g);if(!b)return{state:"missing",message:"Media not found"};let F=t.get(b);if(F)return F.lutError?{state:"unavailable",message:F.lutError}:F.grading.lut&&F.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:F.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:F.lut?"Shader + LUT active":"Shader active"};let L=Di(b);return Jt(L)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let g of Array.from(e))s(g)}};document.body&&(n=new MutationObserver(()=>l()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Kt]}));let x={refresh:l,redraw:a,setGrading:c,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,l(),x}var Cn=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 Is(t){return!Number.isFinite(t)||t<=0?1:t}function Jc(t,e){e||t.paused||!on().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function Yc(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,l=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return l&&u<=0?!1:(l?t.start(0,n+i,u):t.start(0,n+i),!0)}let c=-n/o;return l?t.start(r+c,i,a):t.start(r+c,i),!0}var Fn=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;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,l,a=1,c=Number.POSITIVE_INFINITY){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=Is(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!Yc(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:c}))return m.disconnect(),f.disconnect(),null;let g=e.muted;e.muted=!0,Jc(e,g);let b={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:g,bounded:Number.isFinite(c)&&c>0};return this._activeSources.push(b),this._paused=!1,m.addEventListener("ended",()=>{let F=this._activeSources.indexOf(b);F!==-1&&(this._activeSources.splice(F,1),e.muted=g,this._activeSources.length===0&&(this._paused=!0))}),b}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Is(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ps="data-hf-studio-manual-edit-gesture";var Oi="data-hf-authored-duration",Bi="data-hf-authored-end";function Os(){let t=Tr(),e=null,n=null,i=null,r=[],o=new Set,s=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let S=0;S<d.length;S++)h[`tl-${S}`]=d[S];window.__timelines=h}let a=l();a&&!a.hasAttribute("data-start")&&a.setAttribute("data-start","0");let c=d=>{r.push(d)},u=(d,p,h)=>{let S=h??`${d}:${JSON.stringify(p)}`;o.has(S)||(o.add(S),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},m=d=>{let p={scale:1,focusX:960,focusY:540},h=[],S=[],w={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:()=>({...w,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},f=1/60,x=.75,A=2,g=.05,b=100,F=240,L=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??"")}},k=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"}},V=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},O=()=>l(),T=()=>{let d=O();if(!d)return;let p=V(d.getAttribute("data-width")),h=V(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)},y=()=>{let d=O(),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"),w=h.getAttribute("data-end");S!=null&&!h.hasAttribute(Oi)&&h.setAttribute(Oi,S),w!=null&&!h.hasAttribute(Bi)&&h.setAttribute(Bi,w),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},E=()=>{let d=O();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=V(d.getAttribute("data-width")),h=V(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let S=Array.from(d.children);for(let w of S){let N=w.tagName.toLowerCase();if(N==="script"||N==="style"||N==="link"||N==="meta"||!w.hasAttribute("data-start")||w.hasAttribute("data-hf-autostamped"))continue;let P=(w.style.top==="0px"||w.style.top==="0")&&(w.style.left==="0px"||w.style.left==="0")&&w.style.width==="100%"&&w.style.height==="100%",$=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(w.style.transform);if(P&&$&&!w.hasAttribute("data-width")&&!w.hasAttribute("data-height")){let Ve=w.style.top,be=w.style.left,St=w.style.width,ue=w.style.height;w.style.top="",w.style.left="",w.style.width="",w.style.height="";let Z=window.getComputedStyle(w);Z.top!=="auto"||Z.bottom!=="auto"||Z.left!=="auto"||Z.right!=="auto"||Z.width!=="0px"||Z.height!=="0px"||(w.style.top=Ve,w.style.left=be,w.style.width=St,w.style.height=ue)}let Q=window.getComputedStyle(w),he=Q.position;if(he!=="absolute"&&he!=="fixed"&&(w.style.position="absolute"),!!w.style.top||!!w.style.bottom||Q.top!=="auto"||Q.bottom!=="auto"||(w.style.top="0"),!!w.style.left||!!w.style.right||Q.left!=="auto"||Q.right!=="auto"||(w.style.left="0"),N!=="audio"){let Ve=V(w.getAttribute("data-width")),be=V(w.getAttribute("data-height")),St=Q.width!=="0px"&&Q.width!=="auto",ue=Q.height!=="0px"&&Q.height!=="auto";Ve?!w.style.width&&!St&&(w.style.width=Ve):!w.style.width&&Q.width==="0px"&&(w.style.width="100%"),be?!w.style.height&&!ue&&(w.style.height=be):!w.style.height&&Q.height==="0px"&&(w.style.height="100%")}}},C=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),M=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),_=(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),W=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let S=h==="video"||h==="audio"?_(d,0):C(d,0),w=M(d),N=d.getAttribute("data-composition-id");if(N){let $=(window.__timelines??{})[N],Q=null;if($&&typeof $.duration=="function"){let xe=Number($.duration());Number.isFinite(xe)&&xe>0&&(Q=xe)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute(Oi)||d.hasAttribute(Bi))&&(w==null||w<=0)&&Q!=null&&(w=Q)}let P=w!=null&&w>0?S+w:Number.POSITIVE_INFINITY;return p>=S&&(Number.isFinite(P)?p<=P:!0)},z=!!document.querySelector("[data-composition-src]"),re=!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`)){re=!0;break}}}let D=!z&&!re,Y=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}},se=d=>typeof d=="number"&&Number.isFinite(d)&&d>f,U=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},te=()=>{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=_(h,0);if(!Number.isFinite(S))continue;let w=U(h);w==null||w<=f||(p=Math.max(p,Math.max(0,S)+w))}return p>f?p:null},G=()=>{let d=O();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),S=0,w=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(w)&&w>0&&(S=w);let N=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let P of N){if(!(P instanceof Element)||P.parentElement?.closest("[data-composition-id]")!==d)continue;let Q=h.resolveStartForElement(P,0),he=h.resolveDurationForElement(P);!Number.isFinite(Q)||he==null||he<=0||(S=Math.max(S,Math.max(0,Q)+he))}return S>f?S:null},ne=()=>{let d=te();return typeof d!="number"||!Number.isFinite(d)||d<=f?null:d},Me=d=>se(d)?Math.max(f,d*x):f,R=(d,p=0)=>{let h=Y(d),S=ne(),w=G(),N=Math.max(S??0,w??0),P=Number.isFinite(p)&&p>f?p:0,$=0;return se(h)?$=Math.max(h,N,P):se(N)?$=Math.max(N,P):$=P,$>0?Math.max(0,$):0},I=()=>{let d=window.__timelines??{},p=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),h=ne(),S=G(),w=Math.max(h??0,S??0)||null,N=Me(w),P=ue=>{let Z=document.querySelector(`[data-composition-id="${CSS.escape(ue)}"]`);return Z?p.resolveStartForElement(Z,0):0},$=ue=>{let Z=window.gsap;if(!Z||typeof Z.timeline!="function")return null;let me=Z.timeline({paused:!0});for(let Se of ue)me.add(Se.timeline,P(Se.compositionId));return me},Q=(ue,Z)=>{if(!se(ue))return null;let me=window.gsap;if(!me||typeof me.timeline!="function")return null;let Se=me.timeline({paused:!0});if(Z)try{Se.add(Z,0)}catch(ce){v("runtime.init.site2",ce)}let Ae=Se;if(typeof Ae.to=="function")try{Ae.to({},{duration:ue})}catch(ce){v("runtime.init.site3",ce)}return Se},he=(ue,Z)=>{let me=ue;if(typeof me.getChildren!="function")return[];try{let Se=me.getChildren(!0,!0,!0)??[];if(!Array.isArray(Se))return[];let Ae=[];for(let ce of Z)if(!Se.some(ve=>ve===ce.timeline))try{let ve=P(ce.compositionId);ue.add(ce.timeline,ve),Ae.push(ce.compositionId)}catch(ve){v("runtime.init.site4",ve)}return Ae}catch{return[]}},xe=O(),K=xe?.getAttribute("data-composition-id")??null;if(!K)return{timeline:null};let oe=d[K]??null,be=(()=>{if(!xe)return[];let ue=new Set,Z=Array.from(xe.querySelectorAll("[data-composition-id]")),me=[];for(let Se of Z){let Ae=Se.getAttribute("data-composition-id");if(!Ae||Ae===K||ue.has(Ae))continue;ue.add(Ae);let ce=d[Ae]??null;if(!ce||typeof ce.play!="function"||typeof ce.pause!="function")continue;let Fe=Y(ce);me.push({compositionId:Ae,timeline:ce,durationSeconds:Fe??0})}return me})(),St=ue=>{for(let Z of ue){let me=Z.timeline;if(typeof me.paused=="function")try{me.paused(!1)}catch(Se){v("runtime.init.site5",Se)}}};if(be.length>0&&St(be),oe){let ue=be.length>0?he(oe,be):[];if((be.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+K+"\'])"))&&(H=!0),ue.length>0)try{let ce=oe.time();oe.seek(ce,!1)}catch{}let Z=Y(oe);if(!se(Z)&&be.length>0){let ce=be.map(Aa=>Aa.compositionId),Fe=$(be),ve=Y(Fe);if(Fe&&se(ve))return{timeline:Fe,selectedTimelineIds:ce,selectedDurationSeconds:ve,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:N,selectedDurationSeconds:ve,mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedTimelineIds:ce,autoNestedChildren:ue}}};let Hn=Q(w??0,oe),Wn=Y(Hn);if(Hn&&se(Wn))return{timeline:Hn,selectedTimelineIds:[K],selectedDurationSeconds:Wn,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Wn,selectedTimelineIds:[K],autoNestedChildren:ue}}}}if(!se(Z)&&be.length===0){let ce=Q(w??0,oe),Fe=Y(ce);if(ce&&se(Fe))return{timeline:ce,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:K,rootDurationSeconds:Z,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:h,authoredCompositionDurationFloorSeconds:S,selectedDurationSeconds:Fe,selectedTimelineIds:[K]}}}}let me=xe?.getAttribute("data-duration"),Se=me?parseFloat(me):null,Ae=Math.max(se(Se)?Se:0,S??0);if(Ae>0&&se(Ae)&&se(Z)&&Ae>=Z+.5){let ce=oe;if(typeof ce.to=="function")try{ce.to({},{duration:0},Ae)}catch(ve){v("runtime.init.site6",ve)}let Fe=Y(oe);if(se(Fe))return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Fe,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:K,rootDurationSeconds:Z,rootDeclaredDur:Se,authoredCompositionDurationFloorSeconds:S,newDur:Fe}}}}return{timeline:oe,selectedTimelineIds:[K],selectedDurationSeconds:Z,mediaDurationFloorSeconds:h,diagnostics:ue.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:K,selectedDurationSeconds:Z,autoNestedChildren:ue}}:void 0}}if(be.length>0){let ue=be.map(Se=>Se.compositionId),Z=$(be),me=Y(Z);if(Z)return{timeline:Z,selectedTimelineIds:ue,selectedDurationSeconds:me,mediaDurationFloorSeconds:h,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:K,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:N,selectedDurationSeconds:me,mediaDurationFloorSeconds:h,selectedTimelineIds:ue}}}}return{timeline:null}},H=!1,ie=()=>{if(!D)return!1;let d=t.capturedTimeline,p=Y(d),h=se(p);if(d&&h&&H)return!1;let S=I();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 w=R(t.capturedTimeline,0);if(w<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),w>0){try{B.setDuration(w)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let P=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(P,!1),t.capturedTimeline.pause()}let N=window.__hfStudioManualEditsApply;typeof N=="function"&&N()}if(S.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:S.diagnostics.code,details:S.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:S.selectedTimelineIds??[],selectedDurationSeconds:S.selectedDurationSeconds??null,mediaDurationFloorSeconds:S.mediaDurationFloorSeconds??null}}),window.parent!==window){let N=O(),P=w>0?w:0,$=String(P>0?P:1),Q=new Set,he=new Set(document.querySelectorAll("[data-start]")),xe=K=>{let oe=K.parentElement;for(;oe&&oe!==N;){if(he.has(oe))return!0;oe=oe.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let K of t.capturedTimeline.getChildren(!0))if(typeof K.targets=="function")for(let oe of K.targets())oe instanceof HTMLElement&&oe!==N&&(oe.hasAttribute("data-start")||xe(oe)||Q.has(oe)||(Q.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",$),oe.setAttribute("data-hf-autostamped","1")))}catch{}if(N instanceof HTMLElement)for(let K of N.querySelectorAll("[id]"))K instanceof HTMLElement&&K!==N&&(K.hasAttribute("data-start")||xe(K)||Q.has(K)||K.tagName==="SCRIPT"||K.tagName==="STYLE"||K.tagName==="LINK"||(Q.add(K),K.setAttribute("data-start","0"),K.setAttribute("data-duration",$),K.setAttribute("data-hf-autostamped","1")))}for(let N of Ne)en.delete(N),$i(N);return!0};window.__hfForceTimelineRebind=()=>{H=!1,ie()};let ae=()=>{let d=O();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),S=Number(d.getAttribute("data-height")),w=window.getComputedStyle(d),N=Number.isFinite(h)&&h>0&&Number.isFinite(S)&&S>0,P=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!N||!P||u("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:w.display,visibility:w.visibility,overflow:w.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},q=()=>{t.tornDown||(s!=null&&window.cancelAnimationFrame(s),s=window.requestAnimationFrame(()=>{s=null,ae()}))},j=()=>{n=d=>{let p=L(d.error??d.message).slice(0,F);if(!p)return;let h=k(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},i=d=>{let p=L(d.reason).slice(0,F);if(!p)return;let h=k(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",n),window.addEventListener("unhandledrejection",i)},X=()=>{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 w=h.tagName.toLowerCase(),N=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,P=w==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";u(P,{tagName:w,assetUrl:N,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${P}:${w}:${N??"unknown"}`)};h.addEventListener("error",S),c(()=>{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&&u("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},Ie=(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),w=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),w&&t.capturedTimeline.play()}catch(N){v("runtime.init.site7",N)}return Ee({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},ge=null,ot=!1,Ne=new Set,en=new WeakMap,tn=()=>{t.tornDown||(ge!=null&&window.clearTimeout(ge),ge=window.setTimeout(()=>{if(t.tornDown)return;ge=null;let d=I();if(!d.timeline||!se(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){ie()&&(st(),Te(!0));return}if(ot)return;let h=Y(t.capturedTimeline),S=d.selectedDurationSeconds??Y(d.timeline);se(S)&&(!se(h)||S>=h+g)&&Ie(d,"manual")&&(ot=!0,Ee({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}}),st(),Te(!0))},b))},ca=()=>{for(let d of Ne)d.removeEventListener("loadedmetadata",tn),d.removeEventListener("durationchange",tn);Ne.clear()},vn=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(Ne.has(p))continue;Ne.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",tn),p.addEventListener("durationchange",tn),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),$i(p)}},$i=d=>{en.has(d)||Ar(d,t.capturedTimeline,R(t.capturedTimeline,0),en)},kn=new WeakMap,Ki=d=>{let p=kn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,S=h==="static"||h==="relative"||h==="sticky";return kn.set(d,S),S},Rn=new WeakMap,da=d=>{let p=Rn.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return Rn.set(d,h),h},fa=()=>{kn=new WeakMap,Rn=new WeakMap},Le=()=>{let d=N=>{let P=N.closest("[data-composition-id]"),$=P?C(P,0):null,Q=P?M(P,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:P,inheritedStart:$,inheritedDuration:Q}},p=Er({shouldIncludeElement:N=>N.hasAttribute("data-start")||!!d(N).compositionRoot,resolveStartSeconds:N=>{let P=d(N);return _(N,P.inheritedStart??0)},resolveDurationSeconds:N=>{let P=d(N),$=_(N,P.inheritedStart??0),Q=Number.parseFloat(N.dataset.playbackStart??N.dataset.mediaStart??"0")||0,he=P.inheritedStart!=null&&P.inheritedDuration!=null&&P.inheritedDuration>0?Math.max(0,P.inheritedStart+P.inheritedDuration-$):null,xe=Number.isFinite(N.duration)&&N.duration>Q?Math.max(0,N.duration-Q):null,K=Number.parseFloat(N.dataset.duration??""),oe=Number.isFinite(K)&&K>0?K:null,Ve=[xe,he,oe].filter(be=>be!=null);return Ve.length>0?Math.min(...Ve):null}});for(let N of p.mediaClips){let P=en.get(N.el);P&&(N.volumeKeyframes=P)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||wr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&fe.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(N,P)=>fe.setElementVolume(N,P),isWebAudioOwned:N=>fe.ownsElement(N),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let S=Array.from(document.querySelectorAll("[data-start]")),w=O();for(let N of S){if(!(N instanceof HTMLElement))continue;let P=W(N,t.currentTime);if(P){let $=N.parentElement;for(;$&&$!==w;){if($ instanceof HTMLElement&&$.hasAttribute("data-start")&&!W($,t.currentTime)){P=!1;break}$=$.parentElement}}N.style.visibility=P?"visible":"hidden",(N instanceof HTMLVideoElement||N instanceof HTMLImageElement)&&e?.setSourceVisibility(N,P),P?Ki(N)&&N.style.removeProperty("display"):Ki(N)&&da(N)&&(N.style.display="none")}},Te=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Dn="",ma=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},st=()=>{y(),T(),E();let d=O();if(d){let S=V(d.getAttribute("data-width")),w=V(d.getAttribute("data-height")),N=S?parseInt(S,10):0,P=w?parseInt(w,10):0;N>0&&P>0&&Ee({source:"hf-preview",type:"stage-size",width:N,height:P})}ie();let p=Dr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=ma();if(Dn!==h&&fa(),!window.__clipTree||Dn!==h){let S=window;window.__clipTree=_r({startResolver:ze({timelineRegistry:S.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:S.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Dn=h}Ee(p),q()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(S){v("runtime.init.site8",S)}if(d==="discover")try{h.seek({time:p})}catch(S){v("runtime.init.site9",S)}}},Ze=()=>{window.__renderReady=!1},yt=null,bt=!0,pa=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let S=h();S&&d.push(S)}catch(S){v("runtime.init.adapterReady",S)}}return d},ha=()=>{let d=pa();if(d.length===0)return yt=null,bt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==yt&&(yt=p,bt=!1,Promise.resolve(p).then(()=>{yt===p&&(bt=!0,Ze())},h=>{yt===p&&(bt=!0,v("runtime.init.adapterReady",h),Ze())})),bt};if(D)Li();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:V,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};bs(d).then(()=>ys(d)).finally(()=>{D=!0,vn(),X(),Li(),Ze()})}let nn=Cr({postMessage:d=>Ee(d)});nn.installPickerApi();let He=Ds();e=He,c(()=>{He.destroy(),e=null});let In=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(w){v("runtime.init.site10",w)}},pe=Nr({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:In,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:Te,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{He.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>R(t.capturedTimeline,0)});window.__player=m(pe),window.__playerReady=!0,tr(Ee),At("composition_loaded",{duration:pe.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=er({onPlay:()=>{pe.play(),At("composition_played",{time:pe.getTime()})},onPause:()=>{pe.pause(),At("composition_paused",{time:pe.getTime()})},onStopMedia:()=>{fe.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;pe.seek(h),At("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,fe.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let S=parseFloat(h.dataset.volume??""),w=Number.isFinite(S)?S:1;h.volume=w*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;fe.setMuted(p);let h=document.querySelectorAll("video, audio");for(let S of h)S instanceof HTMLMediaElement&&(S.muted=p||S.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(fe.stopAll(),B.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(fe.stopAll(),B.detachAudioSource()),Le())},onSetPlaybackRate:d=>{In(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),Qi()},onSetColorGrading:(d,p)=>{He.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{He.setCompare(d,p)},onTick:()=>{if(t.tornDown||!B.isPlaying())return;let d=B.now();if(t.currentTime=d,et(d),B.reachedEnd()){fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,et(p)),Pe("pause"),Le(),Te(!0)}},onEnablePickMode:()=>nn.enablePickMode(),onDisablePickMode:()=>nn.disablePickMode()}),t.deterministicAdapters=[br(),nr({resolveStartSeconds:d=>C(d,0)}),rr(),ar(),ur(),cr(),dr(),fr(),mr(),pr(),hr(),ir({getTimeline:()=>t.capturedTimeline})],gr(),yr(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,lr(p)},j(),vn(),Pe("discover");let B=new Cn;t.transportClock=B;let fe=new Fn,Pn=!1;fe.init().then(d=>{Pn=d});let xa=()=>{let d=t.capturedTimeline,p=ie();t.capturedTimeline&&(p||t.capturedTimeline!==d||!pe._timeline)&&(pe._timeline=t.capturedTimeline);let h=R(t.capturedTimeline,0);h>0&&B.setDuration(h),Pe("discover",t.currentTime),window.__renderReady=!0,st(),Te(!0)};if(Ze=()=>{if(!D||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!ha()){window.__renderReady=!1;return}xa()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),Ze()};window.addEventListener("hf-timelines-built",d)}Ze(),D&&setTimeout(()=>{Ze()},0);let rn=0,On=!1,ga=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(S){v(h,S)}},ya=d=>{let p=window.__timelines??{},h=O()?.getAttribute("data-composition-id")??null;for(let[S,w]of Object.entries(p)){if(!w||S===h)continue;let N=document.querySelector(`[data-composition-id="${CSS.escape(S)}"]`);if(!N)continue;let P=C(N,0);if(!Number.isFinite(P))continue;let $=M(N,{includeAuthoredTimingAttrs:!0}),Q=Y(w),he=$!=null&&$>0?$:Q,xe=Math.max(0,he!=null&&he>0?Math.min(he,d-P):d-P);ga(w,xe,"runtime.init.transport.childTimeline")}},ba=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(S){v("runtime.init.activateSiblings",S)}},et=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ba(h);try{typeof h.totalTime=="function"?h.totalTime(d,!1):h.seek(d,!1)}catch(S){v("runtime.init.transport.seek",S)}}else ya(d);for(let S of t.deterministicAdapters)try{S.seek({time:d})}catch(w){v("runtime.init.transport.adapter",w)}},Sa=()=>{try{return document.querySelector(`[${Ps}]`)!=null}catch{return!1}},Ji=()=>{if(!(t.tornDown||On)){On=!0;try{if(t.transportRafId=window.requestAnimationFrame(Ji),rn+=1,rn%60===0&&!(B.isPlaying()&&t.capturedTimeline!=null&&B.now()<A)){let h=t.capturedTimeline;if(ie()){t.capturedTimeline&&!pe._timeline&&(pe._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let S=R(t.capturedTimeline,0);S>0&&B.setDuration(S),st()}}if(rn%20===0&&st(),rn%30===0&&vn(),t.capturedTimeline){let p=R(t.capturedTimeline,0);p>0&&(!B.isPlaying()||p>=B.getDuration())&&B.setDuration(p)}if(B.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&fe.isActive()&&fe.context){let p=fe.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 w=Number.parseFloat(S.dataset.start??""),N=Number.parseFloat(S.dataset.duration??""),P=Number.isFinite(N)&&N>0?w+N:1/0,$=Number.parseFloat(S.dataset.playbackStart??S.dataset.mediaStart??"0")||0;if(Number.isFinite(w)&&t.currentTime>=w&&t.currentTime<=P){S.paused?!S.error&&S.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(B.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(B.attachAudioSource({el:S,compositionStart:w,mediaStart:$}),h=!0);break}}!h&&B.hasAudioSource()&&B.detachAudioSource()}else B.hasAudioSource()&&B.detachAudioSource();let d=B.now();if(t.currentTime=d,(B.isPlaying()||!Sa())&&et(d),B.isPlaying()&&B.reachedEnd()){fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1;let p=B.getDuration();Number.isFinite(p)&&(B.seek(p),t.currentTime=p,et(p)),Pe("pause"),Le(),Te(!0);return}B.isPlaying()&&Le(),Te(!1)}finally{On=!1}}},Yi=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 w=Number.parseFloat(h.dataset.duration??""),N=Number.isFinite(w)&&w>0?S+w:1/0;if(d<S||d>=N)continue;let P=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,$=d-S+P;if($>=0)try{h.currentTime=$}catch{}}},Xi=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=fe.startGeneration(),p=document.querySelectorAll("audio[data-start]");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 w=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,N=Number.parseFloat(h.dataset.volume??""),P=Number.isFinite(N)?N:1,$=Number.parseFloat(h.dataset.duration??""),Q=Number.isFinite($)&&$>0?$:Number.POSITIVE_INFINITY,he=h.closest("[data-composition-id]");if(he){let xe=C(he,0),K=M(he,{includeAuthoredTimingAttrs:!0});K!=null&&K>0&&(Q=Math.min(Q,Math.max(0,xe+K-S)))}fe.decodeAudioElement(h).then(xe=>{!xe||!B.isPlaying()||fe.schedulePlayback(h,xe,S,w,B.now(),P*t.bridgeVolume,d,t.playbackRate,Q)})}},Qi=()=>{fe.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Pn&&B.isPlaying()&&fe.hasBoundedActiveSources()&&(fe.stopAll(),Xi())};if(pe.play=()=>{let d=t.capturedTimeline;if(B.isPlaying())return;let p=R(d,0);if(p>0)B.setDuration(p),B.reachedEnd()&&(B.seek(0),t.currentTime=0,et(0));else{let h=O(),S=Number(h?.getAttribute("data-duration")??0);S>0&&B.setDuration(S)}d&&d.pause(),B.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,Yi(B.now()),Pn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Xi(),Pe("play"),Le(),He.redraw(),Te(!0))},pe.pause=()=>{if(!B.isPlaying())return;fe.stopAll(),B.detachAudioSource(),B.pause(),t.isPlaying=!1,t.currentTime=B.now(),t.mediaForceSyncNextTick=!0,Yi(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),He.redraw(),Te(!0)},pe.seek=d=>{let p=lt(Math.max(0,Number(d)||0),t.canonicalFps);fe.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(),et(t.currentTime),Pe("pause"),Le(),He.redraw(),Te(!0)},pe.renderSeek=d=>{let p=lt(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,et(t.currentTime,{activateChildren:!0}),Le(),He.redraw(),Te(!0)},pe.getTime=()=>B.now(),pe.getDuration=()=>{let d=B.getDuration();return Number.isFinite(d)?d:0},pe.isPlaying=()=>B.isPlaying(),pe.setPlaybackRate=d=>{In(d),B.setRate(t.playbackRate),Qi()},t.capturedTimeline){let d=R(t.capturedTimeline,0);d>0&&B.setDuration(d),t.capturedTimeline.pause()}let Zi=window.__player;if(Zi){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(Zi,p,{get:()=>pe[p],set:h=>{pe[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(Ji),st(),Te(!0);let Bn=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,fe.destroy(),ge!=null&&(window.clearTimeout(ge),ge=null),s!=null&&(window.cancelAnimationFrame(s),s=null),ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),n&&(window.removeEventListener("error",n),n=null),i&&(window.removeEventListener("unhandledrejection",i),i=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),nn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of r.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Bn&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Bn,t.beforeUnloadHandler=Bn,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Bs=["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"],Hi=[[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 Xc(t){if(t<=255)return Bs[t];let e=0,n=Hi.length-1;for(;e<=n;){let i=e+n>>1,r=Hi[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function Qc(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 A=t.charCodeAt(c+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=Xc(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[c+A]=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 g=c;g<u;g++)n[g]=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 Hs(t,e){let n=Qc(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 Zc=/[ \\t\\n\\r\\f]+/g,ed=/[\\t\\n\\r\\f]| {2,}|^ | $/;function td(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function nd(t){if(!ed.test(t))return t;let e=t.replace(Zc," ");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 id(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Wi=null,rd;function od(){return Wi===null&&(Wi=new Intl.Segmenter(rd,{granularity:"word"})),Wi}var sd=/\\p{Script=Arabic}/u,Mn=/\\p{M}/u,$s=/\\p{Nd}/u;function Ws(t){return sd.test(t)}function Gs(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(Gs(r))return!0;e++;continue}}if(Gs(n))return!0}}return!1}function ad(t){let e=_n(t);return e!==null&&(Tn.has(e)||Xe.has(e))}var ld=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function ud(t){return De(t)}function cd(t){let e=_n(t);return e!==null&&ld.has(e)}function Nn(t){return!ad(t)&&!cd(t)}var Tn=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"]),Zt=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Ui=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),dd=new Set([":",".","\\u060C","\\u061B"]),fd=new Set(["\\u104F"]),md=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function pd(t){if(Vi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Mn.test(n)))return!1}return e}function hd(t){for(let e of t)if(!Tn.has(e)&&!Xe.has(e))return!1;return t.length>0}function xd(t){if(Vi(t))return!0;for(let e of t)if(!Zt.has(e)&&!Ui.has(e)&&!Mn.test(e))return!1;return t.length>0}function Vi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Mn.test(n))){if(Zt.has(n)||Xe.has(n)||Ui.has(n)){e=!0;continue}return!1}return e}function Ks(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 _n(t){if(t.length===0)return null;let e=Ks(t,t.length);return t.slice(e)}function gd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Mn.test(i)){n--;continue}if(Zt.has(i)||Ui.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function yd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function Us(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 Vs(t,e){return t&&e!==null&&dd.has(e)}function bd(t){let e=_n(t);return e!==null&&fd.has(e)}function Sd(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=Ks(t,e),i=t.slice(n,e);if(md.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ad(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 Ed=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function _e(t){return t.length===1?t[0]:t.join("")}function wd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),_e(n)}function Cd(t,e,n,i){if(!Ed.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=Ad(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:_e(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:_e(s),isWordLike:a,kind:o,start:l}),r}function Gi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var Fd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function Md(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:Fd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Nd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Td(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"||!Md(t,s))continue;let l=[e[s]],a=s+1;for(;a<t.len&&!Gi(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]=_e(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 _d(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]),!Nd(s))continue;let l=o+1;if(l>=t.len||Gi(t.kinds[l]))continue;let a=[],c=t.starts[l],u=l;for(;u<t.len&&!Gi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(_e(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 Ld=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),zs=/^[A-Za-z0-9_]+[,:;]*$/,qs=/[,:;]+$/;function Js(t){for(let e of t)if($s.test(e))return!0;return!1}function Qt(t){if(t.length===0)return!1;for(let e of t)if(!($s.test(e)||Ld.has(e)))return!1;return!0}function vd(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"&&Qt(s)&&Js(s)){let a=[s],c=o+1;for(;c<t.len&&t.kinds[c]==="text"&&Qt(t.texts[c]);)a.push(t.texts[c]),c++;e.push(_e(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 kd(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&&zs.test(s)){let c=[s],u=qs.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&zs.test(t.texts[m]);){let f=t.texts[m];c.push(f),u=qs.test(f),m++}e.push(_e(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 Rd(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||!Js(u)||!Qt(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 Dd(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=_e(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=_e(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(_e(s)),n.push(l),i.push(a),r.push(c)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Id(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=gd(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 js(t,e,n){let i=od(),r=0,o=[],s=[],l=[],a=[],c=[],u=[],m=[],f=[],x=[],A=[],g=[],b=[];for(let T of i.segment(t))for(let y of Cd(T.segment,T.isWordLike??!1,T.index,n)){let Y=function(){u[D]!==null&&(s[D]=[Us(o,u,m,D)],u[D]=null),s[D].push(y.text),l[D]=l[D]||y.isWordLike,f[D]=f[D]||M,x[D]=x[D]||_,A[D]=z,g[D]=re,b[D]=Vs(x[D],W)},E=y.kind==="text",C=yd(y.text,y.isWordLike,y.kind),M=De(y.text),_=Ws(y.text),W=_n(y.text),z=Ln(y.text),re=bd(y.text),D=r-1;e.carryCJKAfterClosingQuote&&E&&r>0&&a[D]==="text"&&M&&f[D]&&A[D]||E&&r>0&&a[D]==="text"&&hd(y.text)&&f[D]||E&&r>0&&a[D]==="text"&&g[D]?Y():E&&r>0&&a[D]==="text"&&y.isWordLike&&_&&b[D]?(Y(),l[D]=!0):C!==null&&r>0&&a[D]==="text"&&u[D]===C?m[D]=(m[D]??1)+1:E&&!y.isWordLike&&r>0&&a[D]==="text"&&(pd(y.text)||y.text==="-"&&l[D])?Y():(o[r]=y.text,s[r]=[y.text],l[r]=y.isWordLike,a[r]=y.kind,c[r]=y.start,u[r]=C,m[r]=C===null?0:1,f[r]=M,x[r]=_,A[r]=z,g[r]=re,b[r]=Vs(_,W),r++)}for(let T=0;T<r;T++){if(u[T]!==null){o[T]=Us(o,u,m,T);continue}o[T]=_e(s[T])}for(let T=1;T<r;T++)a[T]==="text"&&!l[T]&&Vi(o[T])&&a[T-1]==="text"&&(o[T-1]+=o[T],l[T-1]=l[T-1]||l[T],o[T]="");let F=Array.from({length:r},()=>null),L=-1;for(let T=r-1;T>=0;T--){let y=o[T];if(y.length!==0){if(a[T]==="text"&&!l[T]&&xd(y)&&L>=0&&a[L]==="text"){let E=F[L]??[];E.push(y),F[L]=E,c[L]=c[T],o[T]="";continue}L=T}}for(let T=0;T<r;T++){let y=F[T];y!=null&&(o[T]=wd(y,o[T]))}let k=0;for(let T=0;T<r;T++){let y=o[T];y.length!==0&&(k!==T&&(o[k]=y,l[k]=l[T],a[k]=a[T],c[k]=c[T]),k++)}o.length=k,l.length=k,a.length=k,c.length=k;let V=Dd({len:k,texts:o,isWordLike:l,kinds:a,starts:c}),O=Id(kd(Rd(vd(_d(Td(V))))));for(let T=0;T<O.len-1;T++){let y=Sd(O.texts[T]);y!==null&&(O.kinds[T]!=="space"&&O.kinds[T]!=="preserved-space"||O.kinds[T+1]!=="text"||!Ws(O.texts[T+1])||(O.texts[T]=y.space,O.isWordLike[T]=!1,O.kinds[T]=O.kinds[T]==="preserved-space"?"preserved-space":"space",O.texts[T+1]=y.marks+O.texts[T+1],O.starts[T+1]=O.starts[T]+y.space.length))}return O}function Pd(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 Od(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(_e(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],A=t.isWordLike[m],g=t.starts[m];if(x==="text"){let b=ud(f),F=Nn(f);if(o!==null&&a&&c){o.push(f),s=s||A,a=a||b,c=F;continue}u(),o=[f],s=A,l=g,a=b,c=F;continue}u(),e.push(f),n.push(A),i.push(x),r.push(g)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Ys(t,e,n="normal",i="normal"){let r=td(n),o=r.mode==="pre-wrap"?id(t):nd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?Od(js(o,e,r)):js(o,e,r);return{normalized:o,chunks:Pd(s,r),...s}}var ht=null,Xs=new Map,xt=null,Bd=96,Hd=/\\p{Emoji_Presentation}/u,Wd=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,zi=null,Qs=new Map;function qi(){if(ht!==null)return ht;if(typeof OffscreenCanvas<"u")return ht=new OffscreenCanvas(1,1).getContext("2d"),ht;if(typeof document<"u")return ht=document.createElement("canvas").getContext("2d"),ht;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function Gd(t){let e=Xs.get(t);return e||(e=new Map,Xs.set(t,e)),e}function Ue(t,e){let n=e.get(t);return n===void 0&&(n={width:qi().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function gt(){if(xt!==null)return xt;if(typeof navigator>"u")return xt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},xt;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 xt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},xt}function Ud(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function Zs(){return zi===null&&(zi=new Intl.Segmenter(void 0,{granularity:"grapheme"})),zi}function Vd(t){return Hd.test(t)||t.includes("\\uFE0F")}function ea(t){return Wd.test(t)}function zd(t,e){let n=Qs.get(t);if(n!==void 0)return n;let i=qi();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 Qs.set(t,n),n}function qd(t){let e=0,n=Zs();for(let i of n.segment(t))Vd(i.segment)&&e++;return e}function jd(t,e){return e.emojiCount===void 0&&(e.emojiCount=qd(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-jd(t,e)*n}function ta(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=Zs(),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=Ue(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>Bd){let u=[],m=null,f=0;for(let x of s){let A=Ue(x,n),g=Qe(x,A,i);if(m===null)u.push(g);else{let b=m+x,F=Ue(b,n);u.push(Qe(b,F,i)-f)}m=x,f=g}return e.breakableFitAdvances=u,e.breakableFitAdvances}let l=[],a="",c=0;for(let u of s){a+=u;let m=Ue(a,n),f=Qe(a,m,i);l.push(f-c),c=f}return e.breakableFitAdvances=l,e.breakableFitAdvances}function na(t,e){let n=qi();n.font=t;let i=Gd(t),r=Ud(t),o=e?zd(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function $d(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 Kd(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function Jd(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 ia(t,e){return t.simpleLineWalkFastPath?ra(t,e):oa(t,e)}function ra(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let l=gt().lineFitEpsilon,a=e+l,c=0,u=0,m=!1,f=0,x=0,A=0,g=0,b=-1,F=0;function L(){b=-1,F=0}function k(C=A,M=g,_=u){c++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:C,endGraphemeIndex:M,width:_}),u=0,m=!1,L()}function V(C,M){m=!0,f=C,x=0,A=C+1,g=0,u=M}function O(C,M,_){m=!0,f=C,x=M,A=C,g=M+1,u=_}function T(C,M){if(!m){V(C,M);return}u+=M,A=C+1,g=0}function y(C,M){let _=o[C];for(let W=M;W<_.length;W++){let z=_[W];m?u+z>a?(k(),O(C,W,z)):(u+=z,A=C,g=W+1):O(C,W,z)}m&&A===C&&g===_.length&&(A=C+1,g=0)}let E=0;for(;E<i.length&&!(!m&&(E=$d(t,E),E>=i.length));){let C=i[E],M=r[E],_=M==="space"||M==="preserved-space"||M==="tab"||M==="zero-width-break"||M==="soft-hyphen";if(!m){C>e&&o[E]!==null?y(E,0):V(E,C),_&&(b=E+1,F=u-C),E++;continue}if(u+C>a){if(_){T(E,C),k(E+1,0,u-C),E++;continue}if(b>=0){if(A>b||A===b&&g>0){k();continue}k(b,0,F);continue}if(C>e&&o[E]!==null){k(),y(E,0),E++;continue}k();continue}T(E,C),_&&(b=E+1,F=u-C),E++}return m&&k(),c}function oa(t,e,n){if(t.simpleLineWalkFastPath)return ra(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=gt(),f=m.lineFitEpsilon,x=e+f,A=0,g=0,b=!1,F=0,L=0,k=0,V=0,O=-1,T=0,y=0,E=null;function C(){O=-1,T=0,y=0,E=null}function M(U=k,te=V,G=g){A++,n?.({startSegmentIndex:F,startGraphemeIndex:L,endSegmentIndex:U,endGraphemeIndex:te,width:G}),g=0,b=!1,C()}function _(U,te){b=!0,F=U,L=0,k=U+1,V=0,g=te}function W(U,te,G){b=!0,F=U,L=te,k=U,V=te+1,g=G}function z(U,te){if(!b){_(U,te);return}g+=te,k=U+1,V=0}function re(U,te,G,ne){if(!te)return;let Me=U==="tab"?0:r[G],R=U==="tab"?ne:o[G];O=G+1,T=g-ne+Me,y=g-ne+R,E=U}function D(U,te){let G=l[U];for(let ne=te;ne<G.length;ne++){let Me=G[ne];b?g+Me>x?(M(),W(U,ne,Me)):(g+=Me,k=U,V=ne+1):W(U,ne,Me)}b&&k===U&&V===G.length&&(k=U+1,V=0)}function Y(U){if(E!=="soft-hyphen")return!1;let te=l[U];if(te==null)return!1;let{fitCount:G,fittedWidth:ne}=Jd(te,g,e,f,a);return G===0?!1:(g=ne,k=U,V=G,C(),G===te.length?(k=U+1,V=0,!0):(M(U,G,ne+a),D(U,G),!0))}function se(U){A++,n?.({startSegmentIndex:U.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:U.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),C()}for(let U=0;U<u.length;U++){let te=u[U];if(te.startSegmentIndex===te.endSegmentIndex){se(te);continue}b=!1,g=0,F=te.startSegmentIndex,L=0,k=te.startSegmentIndex,V=0,C();let G=te.startSegmentIndex;for(;G<te.endSegmentIndex;){let ne=s[G],Me=ne==="space"||ne==="preserved-space"||ne==="tab"||ne==="zero-width-break"||ne==="soft-hyphen",R=ne==="tab"?Kd(g,c):i[G];if(ne==="soft-hyphen"){b&&(k=G+1,V=0,O=G+1,T=g+a,y=g+a,E=ne),G++;continue}if(!b){R>e&&l[G]!==null?D(G,0):_(G,R),re(ne,Me,G,R),G++;continue}if(g+R>x){let H=g+(ne==="tab"?0:r[G]),ie=g+(ne==="tab"?R:o[G]);if(E==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&T<=x){M(O,0,y);continue}if(E==="soft-hyphen"&&Y(G)){G++;continue}if(Me&&H<=x){z(G,R),M(G+1,0,ie),G++;continue}if(O>=0&&T<=x){if(k>O||k===O&&V>0){M();continue}let ae=O;M(ae,0,y),G=ae;continue}if(R>e&&l[G]!==null){M(),D(G,0),G++;continue}M();continue}z(G,R),re(ne,Me,G,R),G++}if(b){let ne=O===te.consumedEndSegmentIndex?y:g;M(te.consumedEndSegmentIndex,0,ne)}}return A}var ji=null;function Yd(){return ji===null&&(ji=new Intl.Segmenter(void 0,{granularity:"grapheme"})),ji}function Xd(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 Qd(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=Ln(m),l=Zt.has(m)}function u(m,f){i.push(m),o=o||f;let x=Ln(m);m.length===1&&Xe.has(m)?s=s||x:s=x,l=!1}for(let m of Yd().segment(t)){let f=m.segment,x=De(f);if(i.length===0){c(f,m.index,x);continue}if(l||Tn.has(f)||Xe.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 Zd(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=Nn(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=De(a.text),u=Nn(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 ef(t,e,n,i){let r=gt(),{cache:o,emojiCorrection:s}=na(e,ea(t.normalized)),l=Qe("-",Ue("-",o),s),c=Qe(" ",Ue(" ",o),s)*8;if(t.len===0)return Xd(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,g=n?[]:null,b=[],F=n?[]:null,L=Array.from({length:t.len});function k(y,E,C,M,_,W,z){_!=="text"&&_!=="space"&&_!=="zero-width-break"&&(A=!1),u.push(E),m.push(C),f.push(M),x.push(_),g?.push(W),b.push(z),F!==null&&F.push(y)}function V(y,E,C,M,_){let W=Ue(y,o),z=Qe(y,W,s),re=E==="space"||E==="preserved-space"||E==="zero-width-break"?0:z,D=E==="space"||E==="zero-width-break"?0:z;if(_&&M&&y.length>1){let Y="sum-graphemes";Qt(y)?Y="pair-context":r.preferPrefixWidthsForBreakableRuns&&(Y="segment-prefixes");let se=ta(y,W,o,s,Y);k(y,z,re,D,E,C,se);return}k(y,z,re,D,E,C,null)}for(let y=0;y<t.len;y++){L[y]=u.length;let E=t.texts[y],C=t.isWordLike[y],M=t.kinds[y],_=t.starts[y];if(M==="soft-hyphen"){k(E,0,l,l,M,_,null);continue}if(M==="hard-break"){k(E,0,0,0,M,_,null);continue}if(M==="tab"){k(E,0,0,0,M,_,null);continue}let W=Ue(E,o);if(M==="text"&&W.containsCJK){let z=Qd(E,r),re=i==="keep-all"?Zd(z):z;for(let D=0;D<re.length;D++){let Y=re[D];V(Y.text,"text",_+Y.start,C,i==="keep-all"||!De(Y.text))}continue}V(E,M,_,C,!0)}let O=tf(t.chunks,L,u.length),T=g===null?null:Hs(t.normalized,g);return F!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:T,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:O,segments:F}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:T,breakableFitAdvances:b,discretionaryHyphenWidth:l,tabStopAdvance:c,chunks:O}}function tf(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 nf(t,e,n,i){let r=i?.wordBreak??"normal",o=Ys(t,gt(),i?.whiteSpace,r);return ef(o,e,n,r)}function sa(t,e,n){return nf(t,e,!1,n)}function aa(t,e,n){let i=ia(t,e);return{lineCount:i,height:i*n}}var rf={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function la(t,e){let n={...rf,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=sa(t,o),{lineCount:l}=aa(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:la,getVariables:cs};function ua(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Os())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ua,{once:!0}):ua();})();\n';
28747
28949
  }
28748
28950
  });
28749
28951
 
@@ -33220,6 +33422,9 @@ async function getCdpSession(page) {
33220
33422
  }
33221
33423
  return client;
33222
33424
  }
33425
+ function shouldDefaultCaptureBeyondViewport(browserVersion, platform10 = process.platform) {
33426
+ return platform10 === "darwin" && browserVersion.startsWith("Chrome/");
33427
+ }
33223
33428
  async function sendBeginFrame(client, params) {
33224
33429
  for (let attempt = 0; ; attempt++) {
33225
33430
  try {
@@ -33631,6 +33836,12 @@ async function driveWarmupTicks(options, state) {
33631
33836
  await sleep3(options.intervalMs);
33632
33837
  }
33633
33838
  }
33839
+ function resolveCaptureSessionOptions(options, browserVersion, platform10 = process.platform) {
33840
+ return {
33841
+ ...options,
33842
+ captureBeyondViewport: options.captureBeyondViewport ?? shouldDefaultCaptureBeyondViewport(browserVersion, platform10)
33843
+ };
33844
+ }
33634
33845
  async function waitForCloseWithTimeout(promise) {
33635
33846
  let timedOut = false;
33636
33847
  let timer;
@@ -33683,6 +33894,7 @@ async function createCaptureSession(serverUrl, outputDir, options, onBeforeCaptu
33683
33894
  }, variablesJson);
33684
33895
  }
33685
33896
  const browserVersion = await browser.version();
33897
+ const sessionOptions = resolveCaptureSessionOptions(options, browserVersion);
33686
33898
  const expectedMajor = config?.expectedChromiumMajor;
33687
33899
  if (Number.isFinite(expectedMajor)) {
33688
33900
  const actualChromiumMajor = Number.parseInt(
@@ -33696,15 +33908,15 @@ async function createCaptureSession(serverUrl, outputDir, options, onBeforeCaptu
33696
33908
  }
33697
33909
  }
33698
33910
  const viewport = {
33699
- width: options.width,
33700
- height: options.height,
33701
- deviceScaleFactor: options.deviceScaleFactor || 1
33911
+ width: sessionOptions.width,
33912
+ height: sessionOptions.height,
33913
+ deviceScaleFactor: sessionOptions.deviceScaleFactor || 1
33702
33914
  };
33703
33915
  await page.setViewport(viewport);
33704
33916
  return {
33705
33917
  browser,
33706
33918
  page,
33707
- options,
33919
+ options: sessionOptions,
33708
33920
  serverUrl,
33709
33921
  outputDir,
33710
33922
  onBeforeCapture,
@@ -33899,17 +34111,17 @@ async function applyVideoMetadataHints(page, hints) {
33899
34111
  if (!hints || hints.length === 0) return;
33900
34112
  await page.evaluate(
33901
34113
  (metadataHints) => {
33902
- for (const hint of metadataHints) {
33903
- if (!hint.id || !Number.isFinite(hint.width) || !Number.isFinite(hint.height) || hint.width <= 0 || hint.height <= 0) {
34114
+ for (const hint2 of metadataHints) {
34115
+ if (!hint2.id || !Number.isFinite(hint2.width) || !Number.isFinite(hint2.height) || hint2.width <= 0 || hint2.height <= 0) {
33904
34116
  continue;
33905
34117
  }
33906
- const video = document.getElementById(hint.id);
34118
+ const video = document.getElementById(hint2.id);
33907
34119
  if (!video) continue;
33908
- if (!video.hasAttribute("width")) video.setAttribute("width", String(hint.width));
33909
- if (!video.hasAttribute("height")) video.setAttribute("height", String(hint.height));
34120
+ if (!video.hasAttribute("width")) video.setAttribute("width", String(hint2.width));
34121
+ if (!video.hasAttribute("height")) video.setAttribute("height", String(hint2.height));
33910
34122
  const computed = window.getComputedStyle(video);
33911
34123
  if (!video.style.aspectRatio && (!computed.aspectRatio || computed.aspectRatio === "auto")) {
33912
- video.style.aspectRatio = `${hint.width} / ${hint.height}`;
34124
+ video.style.aspectRatio = `${hint2.width} / ${hint2.height}`;
33913
34125
  }
33914
34126
  }
33915
34127
  },
@@ -34596,7 +34808,11 @@ function getCapturePerfSummary(session) {
34596
34808
  staticDedupSkipReason: session.staticDedupSkipReason
34597
34809
  };
34598
34810
  }
34599
- var BROWSER_CONSOLE_BUFFER_SIZE, CAPTURE_SESSION_CLOSE_TIMEOUT_MS, LOCKED_WARMUP_TICKS, realSleep, HF_READY_DIAGNOSTIC_EXPR;
34811
+ function isTransientBrowserError(error) {
34812
+ const message = error instanceof Error ? error.message : String(error);
34813
+ return TRANSIENT_BROWSER_ERROR_PATTERNS.some((pattern) => pattern.test(message));
34814
+ }
34815
+ var BROWSER_CONSOLE_BUFFER_SIZE, CAPTURE_SESSION_CLOSE_TIMEOUT_MS, LOCKED_WARMUP_TICKS, realSleep, HF_READY_DIAGNOSTIC_EXPR, TRANSIENT_BROWSER_ERROR_PATTERNS;
34600
34816
  var init_frameCapture = __esm({
34601
34817
  "../engine/src/services/frameCapture.ts"() {
34602
34818
  "use strict";
@@ -34627,6 +34843,17 @@ var init_frameCapture = __esm({
34627
34843
  declaredDuration: declaredDuration,
34628
34844
  };
34629
34845
  })()`;
34846
+ TRANSIENT_BROWSER_ERROR_PATTERNS = [
34847
+ /Navigating frame was detached/i,
34848
+ /Target closed/i,
34849
+ /Session closed/i,
34850
+ /browser has disconnected/i,
34851
+ /Page crashed/i,
34852
+ /Execution context was destroyed/i,
34853
+ /Cannot find context with specified id/i,
34854
+ /Failed to launch the browser process/i,
34855
+ /ECONNREFUSED/i
34856
+ ];
34630
34857
  }
34631
34858
  });
34632
34859
 
@@ -41885,6 +42112,7 @@ __export(src_exports2, {
41885
42112
  isHdrColorSpace: () => isHdrColorSpace,
41886
42113
  isHttpUrl: () => isHttpUrl,
41887
42114
  isLowMemorySystem: () => isLowMemorySystem,
42115
+ isTransientBrowserError: () => isTransientBrowserError,
41888
42116
  isVideoFrameFormat: () => isVideoFrameFormat,
41889
42117
  killTrackedProcesses: () => killTrackedProcesses,
41890
42118
  launchHdrBrowser: () => launchHdrBrowser,
@@ -42500,6 +42728,7 @@ function trackRenderComplete(props) {
42500
42728
  duration_ms: props.durationMs,
42501
42729
  fps: props.fps,
42502
42730
  quality: props.quality,
42731
+ authoring_skill: props.authoringSkill,
42503
42732
  workers: props.workers,
42504
42733
  docker: props.docker,
42505
42734
  gpu: props.gpu,
@@ -42548,6 +42777,7 @@ function trackRenderError(props) {
42548
42777
  {
42549
42778
  fps: props.fps,
42550
42779
  quality: props.quality,
42780
+ authoring_skill: props.authoringSkill,
42551
42781
  docker: props.docker,
42552
42782
  workers: props.workers,
42553
42783
  gpu: props.gpu,
@@ -45484,9 +45714,12 @@ var init_manager = __esm({
45484
45714
  var normalize_exports = {};
45485
45715
  __export(normalize_exports, {
45486
45716
  detectFormat: () => detectFormat,
45717
+ formatSrt: () => formatSrt,
45718
+ formatVtt: () => formatVtt,
45487
45719
  loadTranscript: () => loadTranscript,
45488
45720
  patchCaptionHtml: () => patchCaptionHtml,
45489
- stripBeforeOnset: () => stripBeforeOnset
45721
+ stripBeforeOnset: () => stripBeforeOnset,
45722
+ wordsToCues: () => wordsToCues
45490
45723
  });
45491
45724
  import { readFileSync as readFileSync12, readdirSync as readdirSync7, writeFileSync as writeFileSync8 } from "fs";
45492
45725
  import { extname as extname5, join as join18 } from "path";
@@ -45639,9 +45872,104 @@ function parseVttTimestamp(ts) {
45639
45872
  }
45640
45873
  return 0;
45641
45874
  }
45875
+ function formatSrtTimestamp(seconds) {
45876
+ const { hours, minutes, wholeSeconds, milliseconds } = timestampParts(seconds);
45877
+ return `${pad2(hours)}:${pad2(minutes)}:${pad2(wholeSeconds)},${pad3(milliseconds)}`;
45878
+ }
45879
+ function formatVttTimestamp(seconds) {
45880
+ const { hours, minutes, wholeSeconds, milliseconds } = timestampParts(seconds);
45881
+ return `${pad2(hours)}:${pad2(minutes)}:${pad2(wholeSeconds)}.${pad3(milliseconds)}`;
45882
+ }
45642
45883
  function round3(n2) {
45643
45884
  return Math.round(n2 * 1e3) / 1e3;
45644
45885
  }
45886
+ function timestampParts(seconds) {
45887
+ const safeSeconds = Number.isFinite(seconds) ? seconds : 0;
45888
+ const totalMs = Math.max(0, Math.round(safeSeconds * 1e3));
45889
+ const milliseconds = totalMs % 1e3;
45890
+ const totalSeconds = (totalMs - milliseconds) / 1e3;
45891
+ const wholeSeconds = totalSeconds % 60;
45892
+ const totalMinutes = (totalSeconds - wholeSeconds) / 60;
45893
+ const minutes = totalMinutes % 60;
45894
+ const hours = (totalMinutes - minutes) / 60;
45895
+ return { hours, minutes, wholeSeconds, milliseconds };
45896
+ }
45897
+ function pad2(n2) {
45898
+ return n2.toString().padStart(2, "0");
45899
+ }
45900
+ function pad3(n2) {
45901
+ return n2.toString().padStart(3, "0");
45902
+ }
45903
+ function endsSentence(text) {
45904
+ return /[.!?][)"'\]}]*$/.test(text);
45905
+ }
45906
+ function pushCue(cues, cue) {
45907
+ if (!cue) return;
45908
+ const text = cue.text.trim();
45909
+ if (!text) return;
45910
+ cues.push({ text, start: round3(cue.start), end: round3(cue.end) });
45911
+ }
45912
+ function breaksCue(current2, word, text, maxChars, maxGap) {
45913
+ const nextLength = current2.text.length + 1 + text.length;
45914
+ const gap = word.start - current2.end;
45915
+ return nextLength > maxChars || gap > maxGap;
45916
+ }
45917
+ function entriesToCues(words) {
45918
+ const cues = [];
45919
+ for (const word of words) {
45920
+ pushCue(cues, { text: word.text, start: word.start, end: word.end });
45921
+ }
45922
+ return cues;
45923
+ }
45924
+ function joinTokens(left, right) {
45925
+ const a = left.at(-1) ?? "";
45926
+ const b2 = right[0] ?? "";
45927
+ const sep8 = CJK_CHAR.test(a) || CJK_CHAR.test(b2) ? "" : " ";
45928
+ return `${left}${sep8}${right}`;
45929
+ }
45930
+ function wordsToCues(words, opts = {}) {
45931
+ const preGrouped = opts.preGrouped ?? words.some((w3) => /\s/.test(w3.text.trim()));
45932
+ if (preGrouped) return entriesToCues(words);
45933
+ const maxChars = opts.maxChars ?? 42;
45934
+ const maxGap = opts.maxGap ?? 0.8;
45935
+ const cues = [];
45936
+ let current2;
45937
+ const flush2 = () => {
45938
+ pushCue(cues, current2);
45939
+ current2 = void 0;
45940
+ };
45941
+ for (const word of words) {
45942
+ const text = word.text.trim();
45943
+ if (!text) continue;
45944
+ if (current2 && !breaksCue(current2, word, text, maxChars, maxGap)) {
45945
+ current2.text = joinTokens(current2.text, text);
45946
+ current2.end = word.end;
45947
+ } else {
45948
+ flush2();
45949
+ current2 = { text, start: word.start, end: word.end };
45950
+ }
45951
+ if (endsSentence(text)) flush2();
45952
+ }
45953
+ flush2();
45954
+ return cues;
45955
+ }
45956
+ function formatSrt(words, opts) {
45957
+ const cues = wordsToCues(words, opts);
45958
+ if (cues.length === 0) return "";
45959
+ return cues.map(
45960
+ (cue, i2) => `${i2 + 1}
45961
+ ${formatSrtTimestamp(cue.start)} --> ${formatSrtTimestamp(cue.end)}
45962
+ ${cue.text}`
45963
+ ).join("\n\n") + "\n";
45964
+ }
45965
+ function formatVtt(words, opts) {
45966
+ const cues = wordsToCues(words, opts);
45967
+ if (cues.length === 0) return "WEBVTT\n\n";
45968
+ return "WEBVTT\n\n" + cues.map(
45969
+ (cue) => `${formatVttTimestamp(cue.start)} --> ${formatVttTimestamp(cue.end)}
45970
+ ${cue.text}`
45971
+ ).join("\n\n") + "\n";
45972
+ }
45645
45973
  function loadTranscript(filePath) {
45646
45974
  const ext = extname5(filePath).toLowerCase();
45647
45975
  const content = readFileSync12(filePath, "utf-8");
@@ -45692,9 +46020,11 @@ function patchCaptionHtml(dir, words) {
45692
46020
  }
45693
46021
  }
45694
46022
  }
46023
+ var CJK_CHAR;
45695
46024
  var init_normalize = __esm({
45696
46025
  "src/whisper/normalize.ts"() {
45697
46026
  "use strict";
46027
+ CJK_CHAR = /[ -〿぀-ヿ㐀-䶿一-鿿豈-﫿＀-￯]/;
45698
46028
  }
45699
46029
  });
45700
46030
 
@@ -46466,6 +46796,7 @@ function lintMultipleRootCompositions(projectDir) {
46466
46796
  const rootHtmlFiles = readdirSync8(projectDir).filter((f3) => f3.endsWith(".html"));
46467
46797
  const rootCompositions = [];
46468
46798
  for (const file of rootHtmlFiles) {
46799
+ if (file === "caption-skin.html") continue;
46469
46800
  const content = readFileSync15(join21(projectDir, file), "utf-8");
46470
46801
  if (/data-composition-id/i.test(content)) {
46471
46802
  rootCompositions.push(file);
@@ -46950,11 +47281,11 @@ function label(name, value) {
46950
47281
  const pad = 14 - name.length;
46951
47282
  return ` ${c.dim(name)}${" ".repeat(Math.max(1, pad))}${c.bold(value)}`;
46952
47283
  }
46953
- function errorBox(title, hint, suggestion) {
47284
+ function errorBox(title, hint2, suggestion) {
46954
47285
  console.error(`
46955
47286
  ${c.error("\u2717")} ${c.bold(title)}`);
46956
- if (hint) console.error(`
46957
- ${c.dim(hint)}`);
47287
+ if (hint2) console.error(`
47288
+ ${c.dim(hint2)}`);
46958
47289
  if (suggestion) console.error(` ${c.accent(suggestion)}`);
46959
47290
  console.error();
46960
47291
  }
@@ -47014,11 +47345,11 @@ var init_project = __esm({
47014
47345
  title;
47015
47346
  hint;
47016
47347
  suggestion;
47017
- constructor(title, hint, suggestion) {
47348
+ constructor(title, hint2, suggestion) {
47018
47349
  super(title);
47019
47350
  this.name = "InvalidProjectError";
47020
47351
  this.title = title;
47021
- this.hint = hint;
47352
+ this.hint = hint2;
47022
47353
  this.suggestion = suggestion;
47023
47354
  }
47024
47355
  };
@@ -84258,7 +84589,8 @@ function applyUpdatesToCall(call, updates) {
84258
84589
  reconcileEditableProperties(call.fromArg, updates.fromProperties);
84259
84590
  }
84260
84591
  if (updates.duration !== void 0) setVarsKey(call.varsArg, "duration", updates.duration);
84261
- if (updates.ease !== void 0) applyEaseUpdate(call.varsArg, updates.ease);
84592
+ if (updates.easeEach !== void 0) applyEaseUpdate(call.varsArg, updates.easeEach);
84593
+ else if (updates.ease !== void 0) applyEaseUpdate(call.varsArg, updates.ease);
84262
84594
  if (updates.position !== void 0) {
84263
84595
  const posIdx = call.method === "fromTo" ? 3 : 2;
84264
84596
  call.node.arguments[posIdx] = parseExpr(serializeValue(updates.position));
@@ -84287,6 +84619,7 @@ function buildTweenStatementCode2(timelineVar, anim) {
84287
84619
  if (anim.method !== "set" && anim.duration !== void 0) props.duration = anim.duration;
84288
84620
  if (anim.ease) props.ease = anim.ease;
84289
84621
  const entries2 = Object.entries(props).map(([k2, v2]) => `${safeJsKey(k2)}: ${serializeValue(v2)}`);
84622
+ if (anim.method === "set") entries2.push("immediateRender: true");
84290
84623
  if (anim.extras) {
84291
84624
  for (const [k2, v2] of Object.entries(anim.extras)) {
84292
84625
  entries2.push(`${safeJsKey(k2)}: ${serializeValue(v2)}`);
@@ -84400,7 +84733,7 @@ function addAnimationToScript2(script, animation) {
84400
84733
  insertAfterAnchor(parsed, newStatement);
84401
84734
  return { script: recast.print(parsed.ast).code, id };
84402
84735
  }
84403
- function addAnimationWithKeyframesToScript2(script, targetSelector, position, duration, keyframes, ease) {
84736
+ function addAnimationWithKeyframesToScript2(script, targetSelector, position, duration, keyframes, ease, easeEach) {
84404
84737
  let parsed;
84405
84738
  try {
84406
84739
  parsed = parseGsapAst(script);
@@ -84412,7 +84745,7 @@ function addAnimationWithKeyframesToScript2(script, targetSelector, position, du
84412
84745
  return { script, id: "" };
84413
84746
  }
84414
84747
  const selector = JSON.stringify(targetSelector);
84415
- const kfCode = buildKeyframeObjectCode2(keyframes);
84748
+ const kfCode = buildKeyframeObjectCode2(keyframes, easeEach ? { easeEach } : void 0);
84416
84749
  const varEntries = [`keyframes: ${kfCode}`, `duration: ${serializeValue(duration)}`];
84417
84750
  if (ease) varEntries.push(`ease: ${JSON.stringify(ease)}`);
84418
84751
  const posCode = serializeValue(position);
@@ -84921,6 +85254,23 @@ function updateKeyframeInScript2(script, animationId, percentage, properties, ea
84921
85254
  const { loc, kfNode } = ctx;
84922
85255
  const match = findKeyframePropByPct(kfNode, percentage);
84923
85256
  if (!match) return script;
85257
+ if (Object.keys(properties).length === 0 && ease) {
85258
+ const existing = match.prop.value;
85259
+ if (existing?.type === "ObjectExpression") {
85260
+ const props = existing.properties ?? [];
85261
+ const easeIdx = props.findIndex(
85262
+ (p2) => isObjectProperty3(p2) && propKeyName3(p2) === "ease"
85263
+ );
85264
+ const easeNode = parseExpr(`({ ease: ${JSON.stringify(ease)} })`).properties[0];
85265
+ if (easeIdx >= 0) {
85266
+ props[easeIdx] = easeNode;
85267
+ } else {
85268
+ props.push(easeNode);
85269
+ }
85270
+ return recast.print(loc.parsed.ast).code;
85271
+ }
85272
+ return script;
85273
+ }
84924
85274
  match.prop.value = buildKeyframeValueNode(properties, ease);
84925
85275
  return recast.print(loc.parsed.ast).code;
84926
85276
  }
@@ -85831,7 +86181,8 @@ function executeGsapMutationAcorn(body, block, respond2) {
85831
86181
  body.position,
85832
86182
  body.duration,
85833
86183
  body.keyframes,
85834
- body.ease
86184
+ body.ease,
86185
+ body.easeEach
85835
86186
  );
85836
86187
  return result.script;
85837
86188
  }
@@ -96387,33 +96738,71 @@ async function runProbeStage(input2) {
96387
96738
  quality: needsAlpha ? void 0 : 80,
96388
96739
  deviceScaleFactor
96389
96740
  };
96390
- log2.info("Browser launched, creating capture session...");
96391
- probeSession = await createCaptureSession(
96392
- fileServer.url,
96393
- join44(workDir, "probe"),
96394
- captureOpts,
96395
- null,
96396
- probeCfg
96397
- );
96398
- log2.info("Waiting for composition to initialize...");
96399
- const initStart = Date.now();
96400
- const heartbeat = setInterval(() => {
96401
- const elapsed = ((Date.now() - initStart) / 1e3).toFixed(1);
96402
- log2.info(`Still waiting for browser initialization... (${elapsed}s elapsed)`);
96403
- }, 3e4);
96404
- try {
96405
- await initializeSession(probeSession);
96406
- } finally {
96407
- clearInterval(heartbeat);
96741
+ const PROBE_MAX_ATTEMPTS = 2;
96742
+ for (let attempt = 1; attempt <= PROBE_MAX_ATTEMPTS; attempt++) {
96743
+ const attemptStart = Date.now();
96744
+ try {
96745
+ log2.info("Creating capture session...", { attempt, maxAttempts: PROBE_MAX_ATTEMPTS });
96746
+ probeSession = await createCaptureSession(
96747
+ fileServer.url,
96748
+ join44(workDir, "probe"),
96749
+ captureOpts,
96750
+ null,
96751
+ probeCfg
96752
+ );
96753
+ log2.info("Waiting for composition to initialize...", { attempt });
96754
+ const heartbeat = setInterval(() => {
96755
+ const elapsed = ((Date.now() - attemptStart) / 1e3).toFixed(1);
96756
+ log2.info(`Still waiting for browser initialization... (${elapsed}s elapsed)`);
96757
+ }, 3e4);
96758
+ try {
96759
+ await initializeSession(probeSession);
96760
+ } finally {
96761
+ clearInterval(heartbeat);
96762
+ }
96763
+ } catch (err) {
96764
+ const isTransient = isTransientBrowserError(err);
96765
+ const errMsg = err instanceof Error ? err.message : String(err);
96766
+ log2.warn("Browser probe attempt failed", {
96767
+ attempt,
96768
+ maxAttempts: PROBE_MAX_ATTEMPTS,
96769
+ isTransient,
96770
+ error: errMsg,
96771
+ elapsedMs: Date.now() - attemptStart
96772
+ });
96773
+ if (probeSession) {
96774
+ try {
96775
+ await closeCaptureSession(probeSession);
96776
+ } catch (closeErr) {
96777
+ log2.warn("Failed to close crashed probe session", {
96778
+ error: closeErr instanceof Error ? closeErr.message : String(closeErr)
96779
+ });
96780
+ }
96781
+ probeSession = null;
96782
+ }
96783
+ if (isTransient && attempt < PROBE_MAX_ATTEMPTS) {
96784
+ log2.info("Retrying with a fresh browser session...", {
96785
+ attempt: attempt + 1,
96786
+ maxAttempts: PROBE_MAX_ATTEMPTS
96787
+ });
96788
+ assertNotAborted();
96789
+ continue;
96790
+ }
96791
+ throw err;
96792
+ }
96793
+ log2.info("Composition ready", {
96794
+ attempt,
96795
+ initMs: Date.now() - attemptStart
96796
+ });
96797
+ break;
96408
96798
  }
96409
- log2.info("Composition ready", {
96410
- initMs: Date.now() - initStart
96411
- });
96412
96799
  assertNotAborted();
96413
- lastBrowserConsole = probeSession.browserConsoleBuffer;
96800
+ const session = probeSession;
96801
+ probeSession = session;
96802
+ lastBrowserConsole = session.browserConsoleBuffer;
96414
96803
  if (composition.duration <= 0) {
96415
96804
  log2.info("Discovering composition duration...");
96416
- const discoveredDuration = await getCompositionDuration(probeSession);
96805
+ const discoveredDuration = await getCompositionDuration(session);
96417
96806
  assertNotAborted();
96418
96807
  log2.info("Probed composition duration from browser", {
96419
96808
  discoveredDuration,
@@ -96427,7 +96816,7 @@ async function runProbeStage(input2) {
96427
96816
  }
96428
96817
  if (compiled.unresolvedCompositions.length > 0) {
96429
96818
  const resolutions = await resolveCompositionDurations(
96430
- probeSession.page,
96819
+ session.page,
96431
96820
  compiled.unresolvedCompositions
96432
96821
  );
96433
96822
  assertNotAborted();
@@ -96446,7 +96835,7 @@ async function runProbeStage(input2) {
96446
96835
  }
96447
96836
  }
96448
96837
  log2.info("Discovering media assets from browser DOM...");
96449
- const browserMedia = await discoverMediaFromBrowser(probeSession.page);
96838
+ const browserMedia = await discoverMediaFromBrowser(session.page);
96450
96839
  assertNotAborted();
96451
96840
  if (browserMedia.length > 0) {
96452
96841
  const existingVideoIds = new Set(composition.videos.map((v2) => v2.id));
@@ -96537,7 +96926,7 @@ async function runProbeStage(input2) {
96537
96926
  audioCount: composition.audios.length
96538
96927
  });
96539
96928
  const automation = await discoverAudioVolumeAutomationFromTimeline(
96540
- probeSession.page,
96929
+ session.page,
96541
96930
  composition.audios.map((audio) => audio.id),
96542
96931
  composition.duration,
96543
96932
  fpsToNumber(job.config.fps)
@@ -96560,7 +96949,7 @@ async function runProbeStage(input2) {
96560
96949
  videoCount: composition.videos.length
96561
96950
  });
96562
96951
  const visibilityWindows = await discoverVideoVisibilityFromTimeline(
96563
- probeSession.page,
96952
+ session.page,
96564
96953
  composition.duration
96565
96954
  );
96566
96955
  assertNotAborted();
@@ -96614,8 +97003,8 @@ async function runProbeStage(input2) {
96614
97003
  });
96615
97004
  diagnostics.push("(Could not gather browser diagnostics \u2014 page may have crashed)");
96616
97005
  }
96617
- const hint = diagnostics.length > 0 ? "\n\nDiagnostics:\n - " + diagnostics.join("\n - ") : "\n\nCheck that GSAP timelines are registered on window.__timelines.";
96618
- throw new Error("Composition duration is 0 \u2014 this would produce a black video." + hint);
97006
+ const hint2 = diagnostics.length > 0 ? "\n\nDiagnostics:\n - " + diagnostics.join("\n - ") : "\n\nCheck that GSAP timelines are registered on window.__timelines.";
97007
+ throw new Error("Composition duration is 0 \u2014 this would produce a black video." + hint2);
96619
97008
  }
96620
97009
  if (probeSession) {
96621
97010
  const failedRequests = probeSession.browserConsoleBuffer.filter(
@@ -96846,6 +97235,7 @@ async function runCaptureStage(input2) {
96846
97235
  } = input2;
96847
97236
  let { workerCount, probeSession } = input2;
96848
97237
  let lastBrowserConsole = [];
97238
+ let captureBeyondViewport = probeSession?.options.captureBeyondViewport;
96849
97239
  const captureCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
96850
97240
  if (frameRange !== void 0) {
96851
97241
  if (!Number.isFinite(frameRange.startFrame) || !Number.isFinite(frameRange.endFrame) || frameRange.startFrame < 0 || frameRange.endFrame <= frameRange.startFrame) {
@@ -96897,6 +97287,7 @@ async function runCaptureStage(input2) {
96897
97287
  workerCount = lastAttempt.workers;
96898
97288
  }
96899
97289
  if (probeSession) {
97290
+ captureBeyondViewport = probeSession.options.captureBeyondViewport;
96900
97291
  lastBrowserConsole = probeSession.browserConsoleBuffer;
96901
97292
  await closeCaptureSession(probeSession);
96902
97293
  probeSession = null;
@@ -96910,6 +97301,7 @@ async function runCaptureStage(input2) {
96910
97301
  videoInjector,
96911
97302
  captureCfg
96912
97303
  );
97304
+ captureBeyondViewport = session.options.captureBeyondViewport;
96913
97305
  if (probeSession) {
96914
97306
  prepareCaptureSessionForReuse(session, framesDir, videoInjector);
96915
97307
  probeSession = null;
@@ -96948,7 +97340,7 @@ async function runCaptureStage(input2) {
96948
97340
  await closeCaptureSession(session);
96949
97341
  }
96950
97342
  }
96951
- return { workerCount, probeSession, lastBrowserConsole };
97343
+ return { workerCount, probeSession, lastBrowserConsole, captureBeyondViewport };
96952
97344
  }
96953
97345
  var init_captureStage = __esm({
96954
97346
  "../producer/src/services/render/stages/captureStage.ts"() {
@@ -97656,6 +98048,7 @@ async function runCaptureStreamingStage(input2) {
97656
98048
  } = input2;
97657
98049
  let { workerCount, probeSession } = input2;
97658
98050
  let lastBrowserConsole = [];
98051
+ let captureBeyondViewport = probeSession?.options.captureBeyondViewport;
97659
98052
  const captureCfg = cfg.forceScreenshot === forceScreenshot ? cfg : { ...cfg, forceScreenshot };
97660
98053
  let streamingEncoder = null;
97661
98054
  let streamingEncoderClosed = false;
@@ -97720,6 +98113,7 @@ async function runCaptureStreamingStage(input2) {
97720
98113
  );
97721
98114
  pushWorkerDedupPerfs(workerResults, dedupPerfs);
97722
98115
  if (probeSession) {
98116
+ captureBeyondViewport = probeSession.options.captureBeyondViewport;
97723
98117
  lastBrowserConsole = probeSession.browserConsoleBuffer;
97724
98118
  await closeCaptureSession(probeSession);
97725
98119
  probeSession = null;
@@ -97733,6 +98127,7 @@ async function runCaptureStreamingStage(input2) {
97733
98127
  videoInjector,
97734
98128
  captureCfg
97735
98129
  );
98130
+ captureBeyondViewport = session.options.captureBeyondViewport;
97736
98131
  if (probeSession) {
97737
98132
  prepareCaptureSessionForReuse(session, framesDir, videoInjector);
97738
98133
  probeSession = null;
@@ -97781,7 +98176,8 @@ async function runCaptureStreamingStage(input2) {
97781
98176
  encodeMs: encodeResult.durationMs,
97782
98177
  probeSession,
97783
98178
  lastBrowserConsole,
97784
- workerCount
98179
+ workerCount,
98180
+ captureBeyondViewport
97785
98181
  };
97786
98182
  } finally {
97787
98183
  if (streamingEncoder && !streamingEncoderClosed) {
@@ -99808,6 +100204,10 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
99808
100204
  fileServer = probeResult.fileServer;
99809
100205
  probeSession = probeResult.probeSession;
99810
100206
  lastBrowserConsole = probeResult.lastBrowserConsole;
100207
+ let resolvedCaptureBeyondViewport = probeSession?.options.captureBeyondViewport;
100208
+ if (resolvedCaptureBeyondViewport !== void 0) {
100209
+ updateCaptureObservability({ captureBeyondViewport: resolvedCaptureBeyondViewport });
100210
+ }
99811
100211
  job.duration = probeResult.duration;
99812
100212
  job.totalFrames = probeResult.totalFrames;
99813
100213
  const totalFrames = probeResult.totalFrames;
@@ -99927,11 +100327,12 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
99927
100327
  quality: needsAlpha ? void 0 : job.config.quality === "draft" ? 80 : 95,
99928
100328
  variables: job.config.variables,
99929
100329
  deviceScaleFactor,
99930
- captureBeyondViewport: composition.videos.length > 0
100330
+ ...composition.videos.length > 0 ? { captureBeyondViewport: true } : {}
99931
100331
  };
99932
- updateCaptureObservability({
99933
- captureBeyondViewport: captureOptions.captureBeyondViewport ?? false
99934
- });
100332
+ resolvedCaptureBeyondViewport = captureOptions.captureBeyondViewport ?? resolvedCaptureBeyondViewport;
100333
+ if (resolvedCaptureBeyondViewport !== void 0) {
100334
+ updateCaptureObservability({ captureBeyondViewport: resolvedCaptureBeyondViewport });
100335
+ }
99935
100336
  const buildCaptureOptions = () => ({
99936
100337
  ...captureOptions,
99937
100338
  videoMetadataHints,
@@ -100060,7 +100461,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
100060
100461
  observability.checkpoint("capture_strategy", "resolved", {
100061
100462
  workerCount,
100062
100463
  forceScreenshot: captureForceScreenshot,
100063
- captureBeyondViewport: captureOptions.captureBeyondViewport ?? false,
100464
+ captureBeyondViewport: resolvedCaptureBeyondViewport ?? null,
100064
100465
  useStreamingEncode,
100065
100466
  useLayeredComposite,
100066
100467
  usePageSideCompositing: usePageSideCompositingForTransitions,
@@ -100172,6 +100573,11 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
100172
100573
  streamingHandled = true;
100173
100574
  workerCount = streamingRes.workerCount;
100174
100575
  updateCaptureObservability({ workerCount });
100576
+ if (streamingRes.captureBeyondViewport !== void 0) {
100577
+ updateCaptureObservability({
100578
+ captureBeyondViewport: streamingRes.captureBeyondViewport
100579
+ });
100580
+ }
100175
100581
  probeSession = streamingRes.probeSession;
100176
100582
  lastBrowserConsole = streamingRes.lastBrowserConsole;
100177
100583
  perfStages.captureMs = Date.now() - stage4Start;
@@ -100214,6 +100620,11 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
100214
100620
  const captureFrameMs = Date.now() - captureFrameStart;
100215
100621
  workerCount = captureRes.workerCount;
100216
100622
  updateCaptureObservability({ workerCount });
100623
+ if (captureRes.captureBeyondViewport !== void 0) {
100624
+ updateCaptureObservability({
100625
+ captureBeyondViewport: captureRes.captureBeyondViewport
100626
+ });
100627
+ }
100217
100628
  probeSession = captureRes.probeSession;
100218
100629
  lastBrowserConsole = captureRes.lastBrowserConsole;
100219
100630
  perfStages.captureMs = Date.now() - stage4Start;
@@ -102171,7 +102582,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
102171
102582
  // declare `data-composition-variables` leave this undefined and the
102172
102583
  // engine skips the `evaluateOnNewDocument` injection.
102173
102584
  variables: encoder.variables,
102174
- captureBeyondViewport: (planVideos?.videos.length ?? 0) > 0,
102585
+ ...(planVideos?.videos.length ?? 0) > 0 ? { captureBeyondViewport: true } : {},
102175
102586
  // lock the BeginFrame warmup loop to a fixed iteration count so
102176
102587
  // `beginFrameTimeTicks` is host-independent. Only chunks ever set this.
102177
102588
  lockWarmupTicks: true
@@ -106553,8 +106964,8 @@ function browserTimeoutErrorMessage(error) {
106553
106964
  function resolveBrowserTimeoutMsArg(raw) {
106554
106965
  const result = parseBrowserTimeoutMsArg(raw);
106555
106966
  if (!result.ok) {
106556
- const { title, message, hint } = browserTimeoutErrorMessage(result.error);
106557
- errorBox(title, message, hint);
106967
+ const { title, message, hint: hint2 } = browserTimeoutErrorMessage(result.error);
106968
+ errorBox(title, message, hint2);
106558
106969
  process.exit(1);
106559
106970
  }
106560
106971
  return result.value;
@@ -106602,8 +107013,8 @@ function compositionEntryErrorMessage(error) {
106602
107013
  function resolveCompositionEntryArg(raw, projectDir, stat3) {
106603
107014
  const result = parseCompositionEntryArg(raw, projectDir, stat3);
106604
107015
  if (!result.ok) {
106605
- const { title, message, hint } = compositionEntryErrorMessage(result.error);
106606
- errorBox(title, message, hint);
107016
+ const { title, message, hint: hint2 } = compositionEntryErrorMessage(result.error);
107017
+ errorBox(title, message, hint2);
106607
107018
  process.exit(1);
106608
107019
  }
106609
107020
  return result.value;
@@ -106775,6 +107186,20 @@ var init_feedback = __esm({
106775
107186
  }
106776
107187
  });
106777
107188
 
107189
+ // src/telemetry/skill.ts
107190
+ function normalizeSkillSlug(raw) {
107191
+ if (typeof raw !== "string") return void 0;
107192
+ const slug = raw.trim();
107193
+ return SKILL_SLUG.test(slug) ? slug : void 0;
107194
+ }
107195
+ var SKILL_SLUG;
107196
+ var init_skill = __esm({
107197
+ "src/telemetry/skill.ts"() {
107198
+ "use strict";
107199
+ SKILL_SLUG = /^[a-z0-9][a-z0-9-]{0,63}$/;
107200
+ }
107201
+ });
107202
+
106778
107203
  // src/utils/dockerRunArgs.ts
106779
107204
  function resolveDockerPlatform(arch2 = process.arch, env = process.env) {
106780
107205
  const override = env.HYPERFRAMES_DOCKER_PLATFORM;
@@ -107384,11 +107809,11 @@ var init_batchRender = __esm({
107384
107809
  BatchRenderInputError = class extends Error {
107385
107810
  title;
107386
107811
  hint;
107387
- constructor(title, message, hint) {
107812
+ constructor(title, message, hint2) {
107388
107813
  super(message);
107389
107814
  this.name = "BatchRenderInputError";
107390
107815
  this.title = title;
107391
- this.hint = hint;
107816
+ this.hint = hint2;
107392
107817
  }
107393
107818
  };
107394
107819
  PLACEHOLDER_RE = /\{([A-Za-z0-9_.-]+)\}/g;
@@ -107596,6 +108021,7 @@ async function renderDocker(projectDir, outputPath, options) {
107596
108021
  workers: options.workers,
107597
108022
  docker: true,
107598
108023
  gpu: options.gpu,
108024
+ authoringSkill: options.authoringSkill,
107599
108025
  ...getMemorySnapshot()
107600
108026
  });
107601
108027
  printRenderComplete(outputPath, elapsed, options.quiet);
@@ -107782,7 +108208,7 @@ function createNoopProducerLogger() {
107782
108208
  }
107783
108209
  };
107784
108210
  }
107785
- function handleRenderError(error, options, startTime, docker, hint, failedStage, job) {
108211
+ function handleRenderError(error, options, startTime, docker, hint2, failedStage, job) {
107786
108212
  const message = normalizeErrorMessage2(error);
107787
108213
  trackRenderError({
107788
108214
  fps: fpsToNumber(options.fps),
@@ -107790,6 +108216,7 @@ function handleRenderError(error, options, startTime, docker, hint, failedStage,
107790
108216
  docker,
107791
108217
  workers: options.workers,
107792
108218
  gpu: options.gpu,
108219
+ authoringSkill: options.authoringSkill,
107793
108220
  elapsedMs: Date.now() - startTime,
107794
108221
  errorMessage: message,
107795
108222
  failedStage,
@@ -107799,7 +108226,7 @@ function handleRenderError(error, options, startTime, docker, hint, failedStage,
107799
108226
  if (options.throwOnError) {
107800
108227
  throw new Error(message);
107801
108228
  }
107802
- errorBox("Render failed", message, hint);
108229
+ errorBox("Render failed", message, hint2);
107803
108230
  process.exit(1);
107804
108231
  }
107805
108232
  function trackRenderMetrics(job, elapsedMs, options, docker) {
@@ -107815,6 +108242,7 @@ function trackRenderMetrics(job, elapsedMs, options, docker) {
107815
108242
  workers: options.workers ?? perf?.workers,
107816
108243
  docker,
107817
108244
  gpu: options.gpu,
108245
+ authoringSkill: options.authoringSkill,
107818
108246
  staticDedupEnabled: perf?.staticDedup?.enabled,
107819
108247
  staticDedupArmed: perf?.staticDedup?.armed,
107820
108248
  staticDedupSkipReason: perf?.staticDedup?.skipReason,
@@ -107892,6 +108320,7 @@ var init_render2 = __esm({
107892
108320
  init_events();
107893
108321
  init_feedback();
107894
108322
  init_renderObservability();
108323
+ init_skill();
107895
108324
  init_system();
107896
108325
  init_version();
107897
108326
  init_env();
@@ -107980,6 +108409,10 @@ var init_render2 = __esm({
107980
108409
  description: "Quality: draft, standard, high",
107981
108410
  default: "standard"
107982
108411
  },
108412
+ skill: {
108413
+ type: "string",
108414
+ description: "Authoring workflow skill that initiated this render (e.g. product-launch-video). Recorded on anonymous render telemetry for per-skill usage breakdowns; ignored unless it is a slug."
108415
+ },
107983
108416
  format: {
107984
108417
  type: "string",
107985
108418
  description: "Output format: mp4, webm, mov, gif, png-sequence (MOV/WebM render with transparency; png-sequence writes RGBA frames to a directory for AE/Nuke/Fusion ingest; gif is best at 15fps for PRs/docs)",
@@ -108132,6 +108565,13 @@ var init_render2 = __esm({
108132
108565
  process.exit(1);
108133
108566
  }
108134
108567
  const quality = qualityRaw;
108568
+ const authoringSkill = normalizeSkillSlug(args.skill);
108569
+ if (typeof args.skill === "string" && args.skill.trim() !== "" && !authoringSkill) {
108570
+ process.stderr.write(
108571
+ `hyperframes: ignoring --skill="${args.skill}" \u2014 not a valid slug (lowercase letters/digits/hyphens, max 64); this render will be unattributed.
108572
+ `
108573
+ );
108574
+ }
108135
108575
  const formatRaw = args.format ?? "mp4";
108136
108576
  const format = parseRenderFormat(formatRaw);
108137
108577
  if (!format) {
@@ -108425,6 +108865,7 @@ var init_render2 = __esm({
108425
108865
  const renderOptionsBase = {
108426
108866
  fps,
108427
108867
  quality,
108868
+ authoringSkill,
108428
108869
  format,
108429
108870
  workers,
108430
108871
  gpu: useGpu,
@@ -108473,6 +108914,7 @@ var init_render2 = __esm({
108473
108914
  await renderDocker(project.dir, outputPath, {
108474
108915
  fps,
108475
108916
  quality,
108917
+ authoringSkill,
108476
108918
  format,
108477
108919
  gifLoop,
108478
108920
  workers,
@@ -108498,6 +108940,7 @@ var init_render2 = __esm({
108498
108940
  await renderLocal(project.dir, outputPath, {
108499
108941
  fps,
108500
108942
  quality,
108943
+ authoringSkill,
108501
108944
  format,
108502
108945
  gifLoop,
108503
108946
  workers,
@@ -108947,8 +109390,8 @@ async function detect(audioPath) {
108947
109390
  return await analyzeBeatsHeadless(readFileSync50(audioPath));
108948
109391
  } catch (err) {
108949
109392
  const msg = err instanceof Error ? err.message : String(err);
108950
- const hint = /chrome|executable|browser|ENOENT/i.test(msg) ? "\nRun: npx hyperframes browser ensure" : "";
108951
- fail(`Beat detection failed: ${msg}${hint}`);
109393
+ const hint2 = /chrome|executable|browser|ENOENT/i.test(msg) ? "\nRun: npx hyperframes browser ensure" : "";
109394
+ fail(`Beat detection failed: ${msg}${hint2}`);
108952
109395
  }
108953
109396
  }
108954
109397
  function report(file, result, json) {
@@ -111460,15 +111903,28 @@ __export(transcribe_exports2, {
111460
111903
  });
111461
111904
  import { existsSync as existsSync72, writeFileSync as writeFileSync30 } from "fs";
111462
111905
  import { resolve as resolve48, join as join78, extname as extname12, dirname as dirname32 } from "path";
111906
+ function failWith(message, json) {
111907
+ trackCommandFailure("transcribe", message);
111908
+ if (json) {
111909
+ console.log(JSON.stringify({ ok: false, error: message }));
111910
+ } else {
111911
+ console.error(c.error(message));
111912
+ }
111913
+ process.exit(1);
111914
+ }
111915
+ function parseExportFormat(value, json) {
111916
+ if (!value) return void 0;
111917
+ const normalized = value.toLowerCase();
111918
+ if (normalized === "srt" || normalized === "vtt") return normalized;
111919
+ failWith(`Unsupported caption export format: ${value}. Use srt or vtt.`, json);
111920
+ }
111921
+ function exitNoWords(json) {
111922
+ failWith("No words found in transcript.", json);
111923
+ }
111463
111924
  async function importTranscript(inputPath, dir, json) {
111464
111925
  const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
111465
111926
  const { words, format } = loadTranscript2(inputPath);
111466
- if (words.length === 0) {
111467
- const message = "No words found in transcript.";
111468
- trackCommandFailure("transcribe", message);
111469
- console.error(c.error(message));
111470
- process.exit(1);
111471
- }
111927
+ if (words.length === 0) exitNoWords(json);
111472
111928
  const outPath = join78(dir, "transcript.json");
111473
111929
  writeFileSync30(outPath, JSON.stringify(words, null, 2));
111474
111930
  patchCaptionHtml2(dir, words);
@@ -111482,6 +111938,24 @@ async function importTranscript(inputPath, dir, json) {
111482
111938
  );
111483
111939
  }
111484
111940
  }
111941
+ async function exportTranscript(inputPath, dir, to, output, json, preserveCues) {
111942
+ const { loadTranscript: loadTranscript2, formatSrt: formatSrt2, formatVtt: formatVtt2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
111943
+ const { words, format } = loadTranscript2(inputPath);
111944
+ if (words.length === 0) exitNoWords(json);
111945
+ const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
111946
+ const outPath = resolve48(output ?? join78(dir, `transcript.${to}`));
111947
+ const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
111948
+ writeFileSync30(outPath, content);
111949
+ if (json) {
111950
+ console.log(
111951
+ JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
111952
+ );
111953
+ } else {
111954
+ console.log(
111955
+ `${c.success("\u25C7")} Exported ${c.accent(String(words.length))} words to ${c.accent(to.toUpperCase())} \u2192 ${c.accent(outPath)}`
111956
+ );
111957
+ }
111958
+ }
111485
111959
  async function transcribeAudio(inputPath, dir, opts) {
111486
111960
  const { transcribe: transcribe2 } = await Promise.resolve().then(() => (init_transcribe(), transcribe_exports));
111487
111961
  const { loadTranscript: loadTranscript2, patchCaptionHtml: patchCaptionHtml2, stripBeforeOnset: stripBeforeOnset2 } = await Promise.resolve().then(() => (init_normalize(), normalize_exports));
@@ -111562,7 +112036,12 @@ var init_transcribe2 = __esm({
111562
112036
  ["Use a larger model for better accuracy", "hyperframes transcribe audio.mp3 --model medium.en"],
111563
112037
  ["Set language to filter non-target speech", "hyperframes transcribe audio.mp3 --language en"],
111564
112038
  ["Import an existing SRT file", "hyperframes transcribe subtitles.srt"],
111565
- ["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"]
112039
+ ["Import an OpenAI Whisper JSON response", "hyperframes transcribe response.json"],
112040
+ ["Export captions to SRT", "hyperframes transcribe transcript.json --to srt"],
112041
+ [
112042
+ "Export single-word/CJK captions without re-grouping",
112043
+ "hyperframes transcribe transcript.json --to vtt --preserve-cues"
112044
+ ]
111566
112045
  ];
111567
112046
  transcribe_default = defineCommand({
111568
112047
  meta: {
@@ -111595,6 +112074,20 @@ var init_transcribe2 = __esm({
111595
112074
  description: "Output result as JSON",
111596
112075
  default: false
111597
112076
  },
112077
+ to: {
112078
+ type: "string",
112079
+ description: "Export transcript sidecar format: srt or vtt"
112080
+ },
112081
+ output: {
112082
+ type: "string",
112083
+ alias: "o",
112084
+ description: "Output path for exported SRT/VTT sidecar"
112085
+ },
112086
+ "preserve-cues": {
112087
+ type: "boolean",
112088
+ description: "Keep each transcript entry as its own caption cue (skip word-level grouping). Use when exporting an already-cued transcript whose entries have no internal spaces, e.g. single-word or CJK captions.",
112089
+ default: false
112090
+ },
111598
112091
  optional: {
111599
112092
  type: "boolean",
111600
112093
  description: "Treat captions as optional: if whisper-cpp is unavailable, skip and exit 0 instead of failing. For pipelines that continue without captions.",
@@ -111612,6 +112105,16 @@ var init_transcribe2 = __esm({
111612
112105
  const dir = resolve48(args.dir ?? dirname32(inputPath));
111613
112106
  const ext = extname12(inputPath).toLowerCase();
111614
112107
  const isImport = ext === ".json" || ext === ".srt" || ext === ".vtt";
112108
+ const to = parseExportFormat(args.to, args.json);
112109
+ if (to) {
112110
+ if (!isImport) {
112111
+ failWith(
112112
+ "--to can only export from transcript files (.json, .srt, .vtt). Run transcribe first.",
112113
+ args.json
112114
+ );
112115
+ }
112116
+ return exportTranscript(inputPath, dir, to, args.output, args.json, args["preserve-cues"]);
112117
+ }
111615
112118
  if (isImport) {
111616
112119
  return importTranscript(inputPath, dir, args.json);
111617
112120
  }
@@ -111727,15 +112230,8 @@ var init_manager4 = __esm({
111727
112230
  }
111728
112231
  });
111729
112232
 
111730
- // src/tts/synthesize.ts
111731
- var synthesize_exports = {};
111732
- __export(synthesize_exports, {
111733
- synthesize: () => synthesize
111734
- });
112233
+ // src/tts/python.ts
111735
112234
  import { execFileSync as execFileSync9 } from "child_process";
111736
- import { existsSync as existsSync74, writeFileSync as writeFileSync31, mkdirSync as mkdirSync39, readdirSync as readdirSync28, unlinkSync as unlinkSync7 } from "fs";
111737
- import { join as join80, dirname as dirname33, basename as basename15 } from "path";
111738
- import { homedir as homedir11 } from "os";
111739
112235
  function findPython() {
111740
112236
  for (const name of ["python3", "python"]) {
111741
112237
  try {
@@ -111769,6 +112265,36 @@ function hasPythonPackage(python, pkg) {
111769
112265
  return false;
111770
112266
  }
111771
112267
  }
112268
+ function hasPythonModules(modules) {
112269
+ const python = findPython();
112270
+ if (!python) return false;
112271
+ const list = JSON.stringify(modules);
112272
+ const probe = `import importlib.util,sys; sys.exit(0 if all(importlib.util.find_spec(m) for m in ${list}) else 1)`;
112273
+ try {
112274
+ execFileSync9(python, ["-c", probe], {
112275
+ stdio: ["pipe", "pipe", "pipe"],
112276
+ timeout: 1e4
112277
+ });
112278
+ return true;
112279
+ } catch {
112280
+ return false;
112281
+ }
112282
+ }
112283
+ var init_python = __esm({
112284
+ "src/tts/python.ts"() {
112285
+ "use strict";
112286
+ }
112287
+ });
112288
+
112289
+ // src/tts/synthesize.ts
112290
+ var synthesize_exports = {};
112291
+ __export(synthesize_exports, {
112292
+ synthesize: () => synthesize
112293
+ });
112294
+ import { execFileSync as execFileSync10 } from "child_process";
112295
+ import { existsSync as existsSync74, writeFileSync as writeFileSync31, mkdirSync as mkdirSync39, readdirSync as readdirSync28, unlinkSync as unlinkSync7 } from "fs";
112296
+ import { join as join80, dirname as dirname33, basename as basename15 } from "path";
112297
+ import { homedir as homedir11 } from "os";
111772
112298
  function ensureSynthScript() {
111773
112299
  if (!existsSync74(SCRIPT_PATH)) {
111774
112300
  mkdirSync39(SCRIPT_DIR, { recursive: true });
@@ -111815,7 +112341,7 @@ async function synthesize(text, outputPath, options) {
111815
112341
  mkdirSync39(dirname33(outputPath), { recursive: true });
111816
112342
  options?.onProgress?.(`Generating speech with voice ${voice} (${lang})...`);
111817
112343
  try {
111818
- const stdout2 = execFileSync9(
112344
+ const stdout2 = execFileSync10(
111819
112345
  python,
111820
112346
  [scriptPath, modelPath2, voicesPath, text, voice, String(speed), outputPath, lang],
111821
112347
  {
@@ -111856,6 +112382,7 @@ var init_synthesize = __esm({
111856
112382
  "src/tts/synthesize.ts"() {
111857
112383
  "use strict";
111858
112384
  init_manager4();
112385
+ init_python();
111859
112386
  SYNTH_SCRIPT = `
111860
112387
  import sys, json, inspect
111861
112388
 
@@ -112220,6 +112747,60 @@ var init_docs = __esm({
112220
112747
  }
112221
112748
  });
112222
112749
 
112750
+ // src/audio/providers.ts
112751
+ function decideVoice(f3) {
112752
+ if (f3.hasHeygen) return { engine: "heygen", label: "HeyGen Starfish", local: false, ready: true };
112753
+ if (f3.elevenlabs) return { engine: "elevenlabs", label: "ElevenLabs", local: false, ready: true };
112754
+ return {
112755
+ engine: "kokoro",
112756
+ label: "Kokoro",
112757
+ local: true,
112758
+ ready: f3.kokoro,
112759
+ ...f3.kokoro ? {} : { setupHint: KOKORO_PIP }
112760
+ };
112761
+ }
112762
+ function decideMusic(f3) {
112763
+ if (f3.hasHeygen) return { engine: "heygen", label: "HeyGen library", local: false, ready: true };
112764
+ if (f3.lyria) return { engine: "lyria", label: "Lyria (Gemini)", local: false, ready: true };
112765
+ return {
112766
+ engine: "musicgen",
112767
+ label: "MusicGen",
112768
+ local: true,
112769
+ ready: f3.musicgen,
112770
+ ...f3.musicgen ? {} : { setupHint: MUSICGEN_PIP }
112771
+ };
112772
+ }
112773
+ function gatherVoiceFacts(hasHeygen) {
112774
+ if (hasHeygen) return { hasHeygen, elevenlabs: false, kokoro: false };
112775
+ const elevenlabs = Boolean(process.env["ELEVENLABS_API_KEY"]) && hasPythonModules(["elevenlabs"]);
112776
+ const kokoro = hasPythonModules(KOKORO_MODULES);
112777
+ return { hasHeygen, elevenlabs, kokoro };
112778
+ }
112779
+ function gatherMusicFacts(hasHeygen) {
112780
+ if (hasHeygen) return { hasHeygen, lyria: false, musicgen: false };
112781
+ const hasLyriaKey = Boolean(process.env["GEMINI_API_KEY"] || process.env["GOOGLE_API_KEY"]);
112782
+ const lyria = hasLyriaKey && hasPythonModules(["google.genai"]);
112783
+ const musicgen = hasPythonModules(MUSICGEN_MODULES);
112784
+ return { hasHeygen, lyria, musicgen };
112785
+ }
112786
+ function resolveVoice(hasHeygen) {
112787
+ return decideVoice(gatherVoiceFacts(hasHeygen));
112788
+ }
112789
+ function resolveMusic(hasHeygen) {
112790
+ return decideMusic(gatherMusicFacts(hasHeygen));
112791
+ }
112792
+ var KOKORO_MODULES, MUSICGEN_MODULES, KOKORO_PIP, MUSICGEN_PIP;
112793
+ var init_providers = __esm({
112794
+ "src/audio/providers.ts"() {
112795
+ "use strict";
112796
+ init_python();
112797
+ KOKORO_MODULES = ["kokoro_onnx", "soundfile"];
112798
+ MUSICGEN_MODULES = ["transformers", "torch", "soundfile", "numpy"];
112799
+ KOKORO_PIP = "pip install kokoro-onnx soundfile";
112800
+ MUSICGEN_PIP = "pip install transformers torch soundfile numpy";
112801
+ }
112802
+ });
112803
+
112223
112804
  // src/commands/doctor.ts
112224
112805
  var doctor_exports = {};
112225
112806
  __export(doctor_exports, {
@@ -112342,6 +112923,22 @@ async function checkWhisper() {
112342
112923
  hint: getInstallInstructions2()
112343
112924
  };
112344
112925
  }
112926
+ function checkLocalVoice() {
112927
+ if (hasPythonModules(KOKORO_MODULES)) return { ok: true, detail: "Kokoro deps installed" };
112928
+ return {
112929
+ ok: false,
112930
+ detail: "Not installed (optional \u2014 local voice fallback)",
112931
+ hint: KOKORO_PIP
112932
+ };
112933
+ }
112934
+ function checkLocalMusic() {
112935
+ if (hasPythonModules(MUSICGEN_MODULES)) return { ok: true, detail: "MusicGen deps installed" };
112936
+ return {
112937
+ ok: false,
112938
+ detail: "Not installed (optional \u2014 local music fallback)",
112939
+ hint: MUSICGEN_PIP
112940
+ };
112941
+ }
112345
112942
  function redactHome(s2) {
112346
112943
  const home = process.env["HOME"] || process.env["USERPROFILE"];
112347
112944
  if (!home) return s2;
@@ -112371,6 +112968,8 @@ var init_doctor = __esm({
112371
112968
  init_dist();
112372
112969
  init_colors();
112373
112970
  init_preflight();
112971
+ init_providers();
112972
+ init_python();
112374
112973
  init_version();
112375
112974
  init_updateCheck();
112376
112975
  init_system();
@@ -112397,6 +112996,8 @@ var init_doctor = __esm({
112397
112996
  }
112398
112997
  checks.push({ name: "Environment", run: checkEnvironment });
112399
112998
  checks.push({ name: "whisper-cpp", run: checkWhisper });
112999
+ checks.push({ name: "TTS (Kokoro)", run: checkLocalVoice });
113000
+ checks.push({ name: "BGM (MusicGen)", run: checkLocalMusic });
112400
113001
  const outcomes = [];
112401
113002
  for (const check of checks) {
112402
113003
  const result = await check.run();
@@ -112463,7 +113064,7 @@ __export(upgrade_exports, {
112463
113064
  default: () => upgrade_default,
112464
113065
  examples: () => examples22
112465
113066
  });
112466
- import { execFileSync as execFileSync10 } from "child_process";
113067
+ import { execFileSync as execFileSync11 } from "child_process";
112467
113068
  var examples22, upgrade_default;
112468
113069
  var init_upgrade = __esm({
112469
113070
  "src/commands/upgrade.ts"() {
@@ -112534,7 +113135,7 @@ var init_upgrade = __esm({
112534
113135
  console.log(` ${c.dim("Running:")} ${c.accent(installCmd)}`);
112535
113136
  console.log();
112536
113137
  try {
112537
- execFileSync10("npm", installArgs, { stdio: "inherit", shell: false });
113138
+ execFileSync11("npm", installArgs, { stdio: "inherit", shell: false });
112538
113139
  ye(c.success(`Upgraded to v${result.latest}`));
112539
113140
  } catch {
112540
113141
  ye(c.dim("Install failed. Try running manually:"));
@@ -112722,15 +113323,15 @@ var events_exports2 = {};
112722
113323
  __export(events_exports2, {
112723
113324
  default: () => events_default
112724
113325
  });
112725
- var ALLOWED_EVENTS, ALLOWED_OUTCOMES, SKILL_SLUG, events_default;
113326
+ var ALLOWED_EVENTS, ALLOWED_OUTCOMES, events_default;
112726
113327
  var init_events2 = __esm({
112727
113328
  "src/commands/events.ts"() {
112728
113329
  "use strict";
112729
113330
  init_dist();
112730
113331
  init_client();
113332
+ init_skill();
112731
113333
  ALLOWED_EVENTS = ["skill_invoked", "skill_completed"];
112732
113334
  ALLOWED_OUTCOMES = ["success", "error", "abort"];
112733
- SKILL_SLUG = /^[a-z0-9][a-z0-9-]{0,63}$/;
112734
113335
  events_default = defineCommand({
112735
113336
  meta: {
112736
113337
  name: "events",
@@ -115283,9 +115884,9 @@ var require_ponyfill_es2018 = __commonJS({
115283
115884
  return { iterator: asyncIterator, nextMethod, done: false };
115284
115885
  }
115285
115886
  const SymbolAsyncIterator = (_c2 = (_a4 = Symbol.asyncIterator) !== null && _a4 !== void 0 ? _a4 : (_b = Symbol.for) === null || _b === void 0 ? void 0 : _b.call(Symbol, "Symbol.asyncIterator")) !== null && _c2 !== void 0 ? _c2 : "@@asyncIterator";
115286
- function GetIterator(obj, hint = "sync", method) {
115887
+ function GetIterator(obj, hint2 = "sync", method) {
115287
115888
  if (method === void 0) {
115288
- if (hint === "async") {
115889
+ if (hint2 === "async") {
115289
115890
  method = GetMethod(obj, SymbolAsyncIterator);
115290
115891
  if (method === void 0) {
115291
115892
  const syncMethod = GetMethod(obj, Symbol.iterator);
@@ -157426,12 +158027,12 @@ function requireStack(stackName, cwd = process.cwd()) {
157426
158027
  const stack = readStackOutputs(stackName, cwd);
157427
158028
  if (!stack) {
157428
158029
  const known = listStackNames(cwd);
157429
- let hint = `Run \`hyperframes lambda deploy${stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${stackName}`}\` first.`;
158030
+ let hint2 = `Run \`hyperframes lambda deploy${stackName === DEFAULT_STACK_NAME ? "" : ` --stack-name=${stackName}`}\` first.`;
157430
158031
  if (known.length) {
157431
- hint += ` Known stacks here: ${known.join(", ")}.`;
158032
+ hint2 += ` Known stacks here: ${known.join(", ")}.`;
157432
158033
  }
157433
158034
  console.error(
157434
- `[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${hint}`
158035
+ `[hyperframes lambda] no stack state for "${stackName}" at ${stateFilePath(stackName, cwd)}. ${hint2}`
157435
158036
  );
157436
158037
  process.exit(1);
157437
158038
  }
@@ -157448,12 +158049,12 @@ var init_state = __esm({
157448
158049
  });
157449
158050
 
157450
158051
  // src/commands/lambda/sam.ts
157451
- import { execFileSync as execFileSync11, spawnSync as spawnSync4 } from "child_process";
158052
+ import { execFileSync as execFileSync12, spawnSync as spawnSync4 } from "child_process";
157452
158053
  import { existsSync as existsSync87 } from "fs";
157453
158054
  import { join as join95 } from "path";
157454
158055
  function assertSamAvailable() {
157455
158056
  try {
157456
- execFileSync11("sam", ["--version"], { stdio: "ignore" });
158057
+ execFileSync12("sam", ["--version"], { stdio: "ignore" });
157457
158058
  } catch {
157458
158059
  throw new Error(
157459
158060
  "`sam` CLI not found on PATH. Install AWS SAM CLI from https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html and retry."
@@ -157462,7 +158063,7 @@ function assertSamAvailable() {
157462
158063
  }
157463
158064
  function assertAwsCliAvailable() {
157464
158065
  try {
157465
- execFileSync11("aws", ["--version"], { stdio: "ignore" });
158066
+ execFileSync12("aws", ["--version"], { stdio: "ignore" });
157466
158067
  } catch {
157467
158068
  throw new Error(
157468
158069
  "`aws` CLI not found on PATH. Install from https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html and configure credentials before retrying."
@@ -157539,7 +158140,7 @@ function fetchStackOutputs(opts) {
157539
158140
  if (opts.awsProfile) {
157540
158141
  args.unshift("--profile", opts.awsProfile);
157541
158142
  }
157542
- const out = execFileSync11("aws", args, { encoding: "utf-8" });
158143
+ const out = execFileSync12("aws", args, { encoding: "utf-8" });
157543
158144
  const parsed = JSON.parse(out);
157544
158145
  const byKey = new Map(parsed.map((o) => [o.OutputKey, o.OutputValue]));
157545
158146
  const bucketName = byKey.get("RenderBucketName");
@@ -160044,11 +160645,11 @@ var init_errors = __esm({
160044
160645
  AuthError = class extends Error {
160045
160646
  code;
160046
160647
  hint;
160047
- constructor(code, message, hint) {
160648
+ constructor(code, message, hint2) {
160048
160649
  super(message);
160049
160650
  this.name = "AuthError";
160050
160651
  this.code = code;
160051
- this.hint = hint;
160652
+ this.hint = hint2;
160052
160653
  }
160053
160654
  };
160054
160655
  ErrNotConfigured = () => new AuthError(
@@ -160997,10 +161598,10 @@ function reportApiError(stage, err, options = {}) {
160997
161598
  errorBox("Not found", options.notFound);
160998
161599
  process.exit(1);
160999
161600
  }
161000
- const hint = err.code ? hints[err.code] : void 0;
161601
+ const hint2 = err.code ? hints[err.code] : void 0;
161001
161602
  const title = `${stage} (HTTP ${err.status})`;
161002
- if (hint) {
161003
- errorBox(title, err.message, hint);
161603
+ if (hint2) {
161604
+ errorBox(title, err.message, hint2);
161004
161605
  } else if (options.suggestion) {
161005
161606
  errorBox(title, err.message, options.suggestion);
161006
161607
  } else if (err.code) {
@@ -162179,18 +162780,92 @@ var init_login = __esm({
162179
162780
  }
162180
162781
  });
162181
162782
 
162783
+ // src/commands/auth/status-guidance.ts
162784
+ function offlineEngineLines(engines) {
162785
+ if (!engines || engines.length === 0) {
162786
+ return [
162787
+ c.dim("Prefer offline? Just continue \u2014 local engines (Kokoro \xB7 MusicGen) need no account.")
162788
+ ];
162789
+ }
162790
+ const lines = ["Prefer offline? Workflows will use these local engines:"];
162791
+ for (const e3 of engines) {
162792
+ const cap = e3.capability.padEnd(5);
162793
+ if (e3.ready) {
162794
+ lines.push(` ${cap} \u2192 ${e3.label} ${c.success("\u2713 ready")}`);
162795
+ } else {
162796
+ lines.push(` ${cap} \u2192 ${e3.label} ${c.warn("\u26A0 deps missing")}`);
162797
+ if (e3.setupHint) lines.push(` ${c.dim(e3.setupHint)}`);
162798
+ }
162799
+ }
162800
+ if (engines.some((e3) => !e3.ready)) {
162801
+ lines.push(c.dim(" (or run `hyperframes doctor` to check the local toolchain)"));
162802
+ }
162803
+ return lines;
162804
+ }
162805
+ function buildUnconfiguredLines(ctx, engines) {
162806
+ if (!ctx.interactive) {
162807
+ return [
162808
+ c.warn("Not signed in to HeyGen (non-interactive)."),
162809
+ c.dim(
162810
+ "Set HEYGEN_API_KEY to use HeyGen, or workflows fall back to local engines (Kokoro voice \xB7 MusicGen music)."
162811
+ )
162812
+ ];
162813
+ }
162814
+ return [
162815
+ c.warn("Not signed in to HeyGen \u2014 voice & music will use local engines (free, offline)."),
162816
+ "",
162817
+ "Sign in or sign up (browser OAuth, writes ~/.heygen \u2014 no per-repo .env):",
162818
+ ` ${c.accent("npx hyperframes auth login")} ${c.dim("# browser sign-in / sign-up")}`,
162819
+ "",
162820
+ "Or paste an existing HeyGen API key (get one at app.heygen.com/settings/api):",
162821
+ ` ${c.accent("npx hyperframes auth login --api-key")} ${c.dim("# paste at the prompt")}`,
162822
+ "",
162823
+ ...offlineEngineLines(engines)
162824
+ ];
162825
+ }
162826
+ function buildUnconfiguredJson(ctx, engines) {
162827
+ return {
162828
+ configured: false,
162829
+ interactive: ctx.interactive,
162830
+ recommended_action: RECOMMENDED_ACTION,
162831
+ fallback: "local",
162832
+ ...engines ? { offline_engines: engines } : {}
162833
+ };
162834
+ }
162835
+ var RECOMMENDED_ACTION;
162836
+ var init_status_guidance = __esm({
162837
+ "src/commands/auth/status-guidance.ts"() {
162838
+ "use strict";
162839
+ init_colors();
162840
+ RECOMMENDED_ACTION = "npx hyperframes auth login";
162841
+ }
162842
+ });
162843
+
162182
162844
  // src/commands/auth/status.ts
162183
162845
  var status_exports = {};
162184
162846
  __export(status_exports, {
162185
162847
  default: () => status_default
162186
162848
  });
162849
+ function detectUnconfiguredContext() {
162850
+ const sys = getSystemMeta();
162851
+ return { interactive: !sys.is_ci && (sys.is_tty || sys.agent_runtime !== null) };
162852
+ }
162853
+ function collectOfflineEngines() {
162854
+ const voice = resolveVoice(false);
162855
+ const music = resolveMusic(false);
162856
+ return [
162857
+ { capability: "voice", label: voice.label, ready: voice.ready, ...hint(voice.setupHint) },
162858
+ { capability: "music", label: music.label, ready: music.ready, ...hint(music.setupHint) }
162859
+ ];
162860
+ }
162861
+ function hint(setupHint) {
162862
+ return setupHint ? { setupHint } : {};
162863
+ }
162187
162864
  function handleUnconfigured(asJson) {
162188
- if (asJson) {
162189
- console.log(JSON.stringify({ configured: false }));
162190
- } else {
162191
- console.log(c.warn("Not signed in to HeyGen."));
162192
- console.log(`Run ${c.accent("hyperframes auth login --api-key")} to sign in.`);
162193
- }
162865
+ const ctx = detectUnconfiguredContext();
162866
+ const engines = asJson || ctx.interactive ? collectOfflineEngines() : void 0;
162867
+ const output = asJson ? JSON.stringify(buildUnconfiguredJson(ctx, engines)) : buildUnconfiguredLines(ctx, engines).join("\n");
162868
+ console.log(output);
162194
162869
  process.exit(1);
162195
162870
  }
162196
162871
  function handleResolveError(err, asJson) {
@@ -162309,7 +162984,10 @@ var init_status = __esm({
162309
162984
  "use strict";
162310
162985
  init_dist();
162311
162986
  init_auth2();
162987
+ init_system();
162312
162988
  init_colors();
162989
+ init_providers();
162990
+ init_status_guidance();
162313
162991
  status_default = defineCommand({
162314
162992
  meta: { name: "status", description: "Show the active HeyGen credential" },
162315
162993
  args: {