hyperframes 0.7.30 → 0.7.32
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 +657 -443
- package/dist/hyperframe-runtime.js +10 -0
- package/dist/hyperframe.manifest.json +1 -1
- package/dist/hyperframe.runtime.iife.js +10 -0
- package/dist/studio/assets/{index-D0yNztV_.js → index-BRQ9g6Oo.js} +1 -1
- package/dist/studio/assets/{index-kbACg3_I.js → index-DsT9OH2w.js} +3 -3
- package/dist/studio/assets/{index-BhSyGx7y.js → index-XQiceQhf.js} +1 -1
- package/dist/studio/index.html +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -50,7 +50,7 @@ var VERSION;
|
|
|
50
50
|
var init_version = __esm({
|
|
51
51
|
"src/version.ts"() {
|
|
52
52
|
"use strict";
|
|
53
|
-
VERSION = true ? "0.7.
|
|
53
|
+
VERSION = true ? "0.7.32" : "0.0.0-dev";
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
|
|
@@ -1870,15 +1870,15 @@ var require_types = __commonJS({
|
|
|
1870
1870
|
}
|
|
1871
1871
|
function getBuilderName(typeName) {
|
|
1872
1872
|
return typeName.replace(/^[A-Z]+/, function(upperCasePrefix) {
|
|
1873
|
-
var
|
|
1874
|
-
switch (
|
|
1873
|
+
var len2 = upperCasePrefix.length;
|
|
1874
|
+
switch (len2) {
|
|
1875
1875
|
case 0:
|
|
1876
1876
|
return "";
|
|
1877
1877
|
// If there's only one initial capital letter, just lower-case it.
|
|
1878
1878
|
case 1:
|
|
1879
1879
|
return upperCasePrefix.toLowerCase();
|
|
1880
1880
|
default:
|
|
1881
|
-
return upperCasePrefix.slice(0,
|
|
1881
|
+
return upperCasePrefix.slice(0, len2 - 1).toLowerCase() + upperCasePrefix.charAt(len2 - 1);
|
|
1882
1882
|
}
|
|
1883
1883
|
});
|
|
1884
1884
|
}
|
|
@@ -1956,7 +1956,7 @@ var require_types = __commonJS({
|
|
|
1956
1956
|
lastSeen[typeName] = pos;
|
|
1957
1957
|
list.push.apply(list, d2.baseNames);
|
|
1958
1958
|
}
|
|
1959
|
-
for (var to = 0, from = to,
|
|
1959
|
+
for (var to = 0, from = to, len2 = list.length; from < len2; ++from) {
|
|
1960
1960
|
if (hasOwn3.call(list, from)) {
|
|
1961
1961
|
list[to++] = list[from];
|
|
1962
1962
|
}
|
|
@@ -2060,15 +2060,15 @@ var require_path = __commonJS({
|
|
|
2060
2060
|
};
|
|
2061
2061
|
Pp.each = function each(callback, context) {
|
|
2062
2062
|
var childPaths = [];
|
|
2063
|
-
var
|
|
2063
|
+
var len2 = this.value.length;
|
|
2064
2064
|
var i2 = 0;
|
|
2065
|
-
for (var i2 = 0; i2 <
|
|
2065
|
+
for (var i2 = 0; i2 < len2; ++i2) {
|
|
2066
2066
|
if (hasOwn3.call(this.value, i2)) {
|
|
2067
2067
|
childPaths[i2] = this.get(i2);
|
|
2068
2068
|
}
|
|
2069
2069
|
}
|
|
2070
2070
|
context = context || this;
|
|
2071
|
-
for (i2 = 0; i2 <
|
|
2071
|
+
for (i2 = 0; i2 < len2; ++i2) {
|
|
2072
2072
|
if (hasOwn3.call(childPaths, i2)) {
|
|
2073
2073
|
callback.call(context, childPaths[i2]);
|
|
2074
2074
|
}
|
|
@@ -4891,7 +4891,7 @@ var require_util = __commonJS({
|
|
|
4891
4891
|
return path2;
|
|
4892
4892
|
}
|
|
4893
4893
|
exports.normalize = normalize;
|
|
4894
|
-
function
|
|
4894
|
+
function join113(aRoot, aPath) {
|
|
4895
4895
|
if (aRoot === "") {
|
|
4896
4896
|
aRoot = ".";
|
|
4897
4897
|
}
|
|
@@ -4923,7 +4923,7 @@ var require_util = __commonJS({
|
|
|
4923
4923
|
}
|
|
4924
4924
|
return joined;
|
|
4925
4925
|
}
|
|
4926
|
-
exports.join =
|
|
4926
|
+
exports.join = join113;
|
|
4927
4927
|
exports.isAbsolute = function(aPath) {
|
|
4928
4928
|
return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
|
|
4929
4929
|
};
|
|
@@ -5096,7 +5096,7 @@ var require_util = __commonJS({
|
|
|
5096
5096
|
parsed.path = parsed.path.substring(0, index + 1);
|
|
5097
5097
|
}
|
|
5098
5098
|
}
|
|
5099
|
-
sourceURL =
|
|
5099
|
+
sourceURL = join113(urlGenerate(parsed), sourceURL);
|
|
5100
5100
|
}
|
|
5101
5101
|
return normalize(sourceURL);
|
|
5102
5102
|
}
|
|
@@ -5117,7 +5117,7 @@ var require_array_set = __commonJS({
|
|
|
5117
5117
|
}
|
|
5118
5118
|
ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
|
|
5119
5119
|
var set = new ArraySet();
|
|
5120
|
-
for (var i2 = 0,
|
|
5120
|
+
for (var i2 = 0, len2 = aArray.length; i2 < len2; i2++) {
|
|
5121
5121
|
set.add(aArray[i2], aAllowDuplicates);
|
|
5122
5122
|
}
|
|
5123
5123
|
return set;
|
|
@@ -5418,7 +5418,7 @@ var require_source_map_generator = __commonJS({
|
|
|
5418
5418
|
var nameIdx;
|
|
5419
5419
|
var sourceIdx;
|
|
5420
5420
|
var mappings = this._mappings.toArray();
|
|
5421
|
-
for (var i2 = 0,
|
|
5421
|
+
for (var i2 = 0, len2 = mappings.length; i2 < len2; i2++) {
|
|
5422
5422
|
mapping = mappings[i2];
|
|
5423
5423
|
next = "";
|
|
5424
5424
|
if (mapping.generatedLine !== previousGeneratedLine) {
|
|
@@ -6311,7 +6311,7 @@ var require_source_node = __commonJS({
|
|
|
6311
6311
|
};
|
|
6312
6312
|
SourceNode.prototype.walk = function SourceNode_walk(aFn) {
|
|
6313
6313
|
var chunk;
|
|
6314
|
-
for (var i2 = 0,
|
|
6314
|
+
for (var i2 = 0, len2 = this.children.length; i2 < len2; i2++) {
|
|
6315
6315
|
chunk = this.children[i2];
|
|
6316
6316
|
if (chunk[isSourceNode]) {
|
|
6317
6317
|
chunk.walk(aFn);
|
|
@@ -6330,10 +6330,10 @@ var require_source_node = __commonJS({
|
|
|
6330
6330
|
SourceNode.prototype.join = function SourceNode_join(aSep) {
|
|
6331
6331
|
var newChildren;
|
|
6332
6332
|
var i2;
|
|
6333
|
-
var
|
|
6334
|
-
if (
|
|
6333
|
+
var len2 = this.children.length;
|
|
6334
|
+
if (len2 > 0) {
|
|
6335
6335
|
newChildren = [];
|
|
6336
|
-
for (i2 = 0; i2 <
|
|
6336
|
+
for (i2 = 0; i2 < len2 - 1; i2++) {
|
|
6337
6337
|
newChildren.push(this.children[i2]);
|
|
6338
6338
|
newChildren.push(aSep);
|
|
6339
6339
|
}
|
|
@@ -6357,13 +6357,13 @@ var require_source_node = __commonJS({
|
|
|
6357
6357
|
this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
|
|
6358
6358
|
};
|
|
6359
6359
|
SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
|
|
6360
|
-
for (var i2 = 0,
|
|
6360
|
+
for (var i2 = 0, len2 = this.children.length; i2 < len2; i2++) {
|
|
6361
6361
|
if (this.children[i2][isSourceNode]) {
|
|
6362
6362
|
this.children[i2].walkSourceContents(aFn);
|
|
6363
6363
|
}
|
|
6364
6364
|
}
|
|
6365
6365
|
var sources = Object.keys(this.sourceContents);
|
|
6366
|
-
for (var i2 = 0,
|
|
6366
|
+
for (var i2 = 0, len2 = sources.length; i2 < len2; i2++) {
|
|
6367
6367
|
aFn(util.fromSetString(sources[i2]), this.sourceContents[sources[i2]]);
|
|
6368
6368
|
}
|
|
6369
6369
|
};
|
|
@@ -11739,9 +11739,9 @@ var require_esprima2 = __commonJS({
|
|
|
11739
11739
|
return cp;
|
|
11740
11740
|
};
|
|
11741
11741
|
Scanner2.prototype.scanHexEscape = function(prefix) {
|
|
11742
|
-
var
|
|
11742
|
+
var len2 = prefix === "u" ? 4 : 2;
|
|
11743
11743
|
var code = 0;
|
|
11744
|
-
for (var i2 = 0; i2 <
|
|
11744
|
+
for (var i2 = 0; i2 < len2; ++i2) {
|
|
11745
11745
|
if (!this.eof() && character_1.Character.isHexDigit(this.source.charCodeAt(this.index))) {
|
|
11746
11746
|
code = code * 16 + hexValue(this.source[this.index++]);
|
|
11747
11747
|
} else {
|
|
@@ -13769,8 +13769,8 @@ var require_lines = __commonJS({
|
|
|
13769
13769
|
var maxCacheKeyLen = 10;
|
|
13770
13770
|
function countSpaces(spaces, tabWidth) {
|
|
13771
13771
|
var count = 0;
|
|
13772
|
-
var
|
|
13773
|
-
for (var i2 = 0; i2 <
|
|
13772
|
+
var len2 = spaces.length;
|
|
13773
|
+
for (var i2 = 0; i2 < len2; ++i2) {
|
|
13774
13774
|
switch (spaces.charCodeAt(i2)) {
|
|
13775
13775
|
case 9: {
|
|
13776
13776
|
(0, tiny_invariant_1.default)(typeof tabWidth === "number");
|
|
@@ -14380,9 +14380,9 @@ var require_fast_path = __commonJS({
|
|
|
14380
14380
|
};
|
|
14381
14381
|
FPp.getName = function getName4() {
|
|
14382
14382
|
var s2 = this.stack;
|
|
14383
|
-
var
|
|
14384
|
-
if (
|
|
14385
|
-
return s2[
|
|
14383
|
+
var len2 = s2.length;
|
|
14384
|
+
if (len2 > 1) {
|
|
14385
|
+
return s2[len2 - 2];
|
|
14386
14386
|
}
|
|
14387
14387
|
return null;
|
|
14388
14388
|
};
|
|
@@ -14968,10 +14968,10 @@ var require_patcher = __commonJS({
|
|
|
14968
14968
|
return true;
|
|
14969
14969
|
}
|
|
14970
14970
|
isArray4.assert(newNode);
|
|
14971
|
-
var
|
|
14972
|
-
if (!(isArray4.check(oldNode) && oldNode.length ===
|
|
14971
|
+
var len2 = newNode.length;
|
|
14972
|
+
if (!(isArray4.check(oldNode) && oldNode.length === len2))
|
|
14973
14973
|
return false;
|
|
14974
|
-
for (var i2 = 0; i2 <
|
|
14974
|
+
for (var i2 = 0; i2 < len2; ++i2) {
|
|
14975
14975
|
newPath.stack.push(i2, newNode[i2]);
|
|
14976
14976
|
oldPath.stack.push(i2, oldNode[i2]);
|
|
14977
14977
|
var canReprint = findAnyReprints(newPath, oldPath, reprints);
|
|
@@ -16974,14 +16974,14 @@ var require_printer = __commonJS({
|
|
|
16974
16974
|
(0, tiny_invariant_1.default)(sawStatement === false, "Comments may appear as statements in otherwise empty statement lists, but may not coexist with non-Comment nodes.");
|
|
16975
16975
|
}
|
|
16976
16976
|
var prevTrailingSpace = null;
|
|
16977
|
-
var
|
|
16977
|
+
var len2 = filtered.length;
|
|
16978
16978
|
var parts = [];
|
|
16979
16979
|
filtered.forEach(function(info, i2) {
|
|
16980
16980
|
var printed = info.printed;
|
|
16981
16981
|
var stmt = info.node;
|
|
16982
16982
|
var multiLine = printed.length > 1;
|
|
16983
16983
|
var notFirst = i2 > 0;
|
|
16984
|
-
var notLast = i2 <
|
|
16984
|
+
var notLast = i2 < len2 - 1;
|
|
16985
16985
|
var leadingSpace;
|
|
16986
16986
|
var trailingSpace;
|
|
16987
16987
|
var lines = stmt && stmt.loc && stmt.loc.lines;
|
|
@@ -22232,12 +22232,12 @@ var require_lib = __commonJS({
|
|
|
22232
22232
|
return flags;
|
|
22233
22233
|
}
|
|
22234
22234
|
hasImport(name, allowShadow) {
|
|
22235
|
-
const
|
|
22236
|
-
if (this.importsStack[
|
|
22235
|
+
const len2 = this.importsStack.length;
|
|
22236
|
+
if (this.importsStack[len2 - 1].has(name)) {
|
|
22237
22237
|
return true;
|
|
22238
22238
|
}
|
|
22239
|
-
if (!allowShadow &&
|
|
22240
|
-
for (let i2 = 0; i2 <
|
|
22239
|
+
if (!allowShadow && len2 > 1) {
|
|
22240
|
+
for (let i2 = 0; i2 < len2 - 1; i2++) {
|
|
22241
22241
|
if (this.importsStack[i2].has(name)) return true;
|
|
22242
22242
|
}
|
|
22243
22243
|
}
|
|
@@ -22306,8 +22306,8 @@ var require_lib = __commonJS({
|
|
|
22306
22306
|
name
|
|
22307
22307
|
} = id;
|
|
22308
22308
|
if (this.hasImport(name)) return;
|
|
22309
|
-
const
|
|
22310
|
-
for (let i2 =
|
|
22309
|
+
const len2 = this.scopeStack.length;
|
|
22310
|
+
for (let i2 = len2 - 1; i2 >= 0; i2--) {
|
|
22311
22311
|
const scope = this.scopeStack[i2];
|
|
22312
22312
|
const type = scope.tsNames.get(name);
|
|
22313
22313
|
if ((type & 1) > 0 || (type & 16) > 0) {
|
|
@@ -22904,13 +22904,13 @@ var require_lib = __commonJS({
|
|
|
22904
22904
|
return res(String.fromCharCode(ch));
|
|
22905
22905
|
}
|
|
22906
22906
|
}
|
|
22907
|
-
function readHexChar(input2, pos, lineStart, curLine,
|
|
22907
|
+
function readHexChar(input2, pos, lineStart, curLine, len2, forceLen, throwOnInvalid, errors) {
|
|
22908
22908
|
const initialPos = pos;
|
|
22909
22909
|
let n2;
|
|
22910
22910
|
({
|
|
22911
22911
|
n: n2,
|
|
22912
22912
|
pos
|
|
22913
|
-
} = readInt(input2, pos, lineStart, curLine, 16,
|
|
22913
|
+
} = readInt(input2, pos, lineStart, curLine, 16, len2, forceLen, false, errors, !throwOnInvalid));
|
|
22914
22914
|
if (n2 === null) {
|
|
22915
22915
|
if (throwOnInvalid) {
|
|
22916
22916
|
errors.invalidEscapeSequence(initialPos, lineStart, curLine);
|
|
@@ -22923,13 +22923,13 @@ var require_lib = __commonJS({
|
|
|
22923
22923
|
pos
|
|
22924
22924
|
};
|
|
22925
22925
|
}
|
|
22926
|
-
function readInt(input2, pos, lineStart, curLine, radix,
|
|
22926
|
+
function readInt(input2, pos, lineStart, curLine, radix, len2, forceLen, allowNumSeparator, errors, bailOnError) {
|
|
22927
22927
|
const start = pos;
|
|
22928
22928
|
const forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct;
|
|
22929
22929
|
const isAllowedSibling = radix === 16 ? isAllowedNumericSeparatorSibling.hex : radix === 10 ? isAllowedNumericSeparatorSibling.dec : radix === 8 ? isAllowedNumericSeparatorSibling.oct : isAllowedNumericSeparatorSibling.bin;
|
|
22930
22930
|
let invalid = false;
|
|
22931
22931
|
let total = 0;
|
|
22932
|
-
for (let i2 = 0, e3 =
|
|
22932
|
+
for (let i2 = 0, e3 = len2 == null ? Infinity : len2; i2 < e3; ++i2) {
|
|
22933
22933
|
const code2 = input2.charCodeAt(pos);
|
|
22934
22934
|
let val;
|
|
22935
22935
|
if (code2 === 95 && allowNumSeparator !== "bail") {
|
|
@@ -22978,7 +22978,7 @@ var require_lib = __commonJS({
|
|
|
22978
22978
|
++pos;
|
|
22979
22979
|
total = total * radix + val;
|
|
22980
22980
|
}
|
|
22981
|
-
if (pos === start ||
|
|
22981
|
+
if (pos === start || len2 != null && pos - start !== len2 || invalid) {
|
|
22982
22982
|
return {
|
|
22983
22983
|
n: null,
|
|
22984
22984
|
pos
|
|
@@ -23769,11 +23769,11 @@ var require_lib = __commonJS({
|
|
|
23769
23769
|
flags: mods
|
|
23770
23770
|
});
|
|
23771
23771
|
}
|
|
23772
|
-
readInt(radix,
|
|
23772
|
+
readInt(radix, len2, forceLen = false, allowNumSeparator = true) {
|
|
23773
23773
|
const {
|
|
23774
23774
|
n: n2,
|
|
23775
23775
|
pos
|
|
23776
|
-
} = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix,
|
|
23776
|
+
} = readInt(this.input, this.state.pos, this.state.lineStart, this.state.curLine, radix, len2, forceLen, allowNumSeparator, this.errorHandlers_readInt, false);
|
|
23777
23777
|
this.state.pos = pos;
|
|
23778
23778
|
return n2;
|
|
23779
23779
|
}
|
|
@@ -29488,7 +29488,7 @@ var require_lib = __commonJS({
|
|
|
29488
29488
|
return node.type === "Identifier";
|
|
29489
29489
|
}
|
|
29490
29490
|
isSimpleParamList(params) {
|
|
29491
|
-
for (let i2 = 0,
|
|
29491
|
+
for (let i2 = 0, len2 = params.length; i2 < len2; i2++) {
|
|
29492
29492
|
if (!this.isSimpleParameter(params[i2])) return false;
|
|
29493
29493
|
}
|
|
29494
29494
|
return true;
|
|
@@ -32647,8 +32647,8 @@ var init_acorn = __esm({
|
|
|
32647
32647
|
return (this.currentVarScope().flags & SCOPE_CLASS_STATIC_BLOCK) > 0;
|
|
32648
32648
|
};
|
|
32649
32649
|
Parser.extend = function extend() {
|
|
32650
|
-
var plugins = [],
|
|
32651
|
-
while (
|
|
32650
|
+
var plugins = [], len2 = arguments.length;
|
|
32651
|
+
while (len2--) plugins[len2] = arguments[len2];
|
|
32652
32652
|
var cls = this;
|
|
32653
32653
|
for (var i2 = 0; i2 < plugins.length; i2++) {
|
|
32654
32654
|
cls = plugins[i2](cls);
|
|
@@ -33639,8 +33639,8 @@ var init_acorn = __esm({
|
|
|
33639
33639
|
if (!this.options.checkPrivateFields) {
|
|
33640
33640
|
return;
|
|
33641
33641
|
}
|
|
33642
|
-
var
|
|
33643
|
-
var parent =
|
|
33642
|
+
var len2 = this.privateNameStack.length;
|
|
33643
|
+
var parent = len2 === 0 ? null : this.privateNameStack[len2 - 1];
|
|
33644
33644
|
for (var i2 = 0; i2 < used.length; ++i2) {
|
|
33645
33645
|
var id = used[i2];
|
|
33646
33646
|
if (!hasOwn(declared, id.name)) {
|
|
@@ -37243,11 +37243,11 @@ var init_acorn = __esm({
|
|
|
37243
37243
|
}
|
|
37244
37244
|
return this.finishToken(types$1.regexp, { pattern, flags, value });
|
|
37245
37245
|
};
|
|
37246
|
-
pp.readInt = function(radix,
|
|
37247
|
-
var allowSeparators = this.options.ecmaVersion >= 12 &&
|
|
37246
|
+
pp.readInt = function(radix, len2, maybeLegacyOctalNumericLiteral) {
|
|
37247
|
+
var allowSeparators = this.options.ecmaVersion >= 12 && len2 === void 0;
|
|
37248
37248
|
var isLegacyOctalNumericLiteral = maybeLegacyOctalNumericLiteral && this.input.charCodeAt(this.pos) === 48;
|
|
37249
37249
|
var start = this.pos, total = 0, lastCode = 0;
|
|
37250
|
-
for (var i2 = 0, e3 =
|
|
37250
|
+
for (var i2 = 0, e3 = len2 == null ? Infinity : len2; i2 < e3; ++i2, ++this.pos) {
|
|
37251
37251
|
var code = this.input.charCodeAt(this.pos), val = void 0;
|
|
37252
37252
|
if (allowSeparators && code === 95) {
|
|
37253
37253
|
if (isLegacyOctalNumericLiteral) {
|
|
@@ -37280,7 +37280,7 @@ var init_acorn = __esm({
|
|
|
37280
37280
|
if (allowSeparators && lastCode === 95) {
|
|
37281
37281
|
this.raiseRecoverable(this.pos - 1, "Numeric separator is not allowed at the last of digits");
|
|
37282
37282
|
}
|
|
37283
|
-
if (this.pos === start ||
|
|
37283
|
+
if (this.pos === start || len2 != null && this.pos - start !== len2) {
|
|
37284
37284
|
return null;
|
|
37285
37285
|
}
|
|
37286
37286
|
return total;
|
|
@@ -37571,9 +37571,9 @@ var init_acorn = __esm({
|
|
|
37571
37571
|
return String.fromCharCode(ch);
|
|
37572
37572
|
}
|
|
37573
37573
|
};
|
|
37574
|
-
pp.readHexChar = function(
|
|
37574
|
+
pp.readHexChar = function(len2) {
|
|
37575
37575
|
var codePos = this.pos;
|
|
37576
|
-
var n2 = this.readInt(16,
|
|
37576
|
+
var n2 = this.readInt(16, len2);
|
|
37577
37577
|
if (n2 === null) {
|
|
37578
37578
|
this.invalidStringToken(codePos, "Bad character escape sequence");
|
|
37579
37579
|
}
|
|
@@ -40262,17 +40262,17 @@ function getDecoder(decodeTree) {
|
|
|
40262
40262
|
while ((offset2 = str.indexOf("&", offset2)) >= 0) {
|
|
40263
40263
|
ret += str.slice(lastIndex, offset2);
|
|
40264
40264
|
decoder.startEntity(decodeMode);
|
|
40265
|
-
const
|
|
40265
|
+
const len2 = decoder.write(
|
|
40266
40266
|
str,
|
|
40267
40267
|
// Skip the "&"
|
|
40268
40268
|
offset2 + 1
|
|
40269
40269
|
);
|
|
40270
|
-
if (
|
|
40270
|
+
if (len2 < 0) {
|
|
40271
40271
|
lastIndex = offset2 + decoder.end();
|
|
40272
40272
|
break;
|
|
40273
40273
|
}
|
|
40274
|
-
lastIndex = offset2 +
|
|
40275
|
-
offset2 =
|
|
40274
|
+
lastIndex = offset2 + len2;
|
|
40275
|
+
offset2 = len2 === 0 ? lastIndex + 1 : lastIndex;
|
|
40276
40276
|
}
|
|
40277
40277
|
const result = ret + str.slice(lastIndex);
|
|
40278
40278
|
ret = "";
|
|
@@ -43612,17 +43612,17 @@ var init_attributes2 = __esm({
|
|
|
43612
43612
|
const { adapter: adapter2 } = options;
|
|
43613
43613
|
const { name } = data2;
|
|
43614
43614
|
let { value } = data2;
|
|
43615
|
-
const
|
|
43615
|
+
const len2 = value.length;
|
|
43616
43616
|
if (shouldIgnoreCase(data2, options)) {
|
|
43617
43617
|
value = value.toLowerCase();
|
|
43618
43618
|
return function hyphenIC(elem) {
|
|
43619
43619
|
const attr2 = adapter2.getAttributeValue(elem, name);
|
|
43620
|
-
return attr2 != null && (attr2.length ===
|
|
43620
|
+
return attr2 != null && (attr2.length === len2 || attr2.charAt(len2) === "-") && attr2.substr(0, len2).toLowerCase() === value && next(elem);
|
|
43621
43621
|
};
|
|
43622
43622
|
}
|
|
43623
43623
|
return function hyphen(elem) {
|
|
43624
43624
|
const attr2 = adapter2.getAttributeValue(elem, name);
|
|
43625
|
-
return attr2 != null && (attr2.length ===
|
|
43625
|
+
return attr2 != null && (attr2.length === len2 || attr2.charAt(len2) === "-") && attr2.substr(0, len2) === value && next(elem);
|
|
43626
43626
|
};
|
|
43627
43627
|
},
|
|
43628
43628
|
element(next, data2, options) {
|
|
@@ -43644,15 +43644,15 @@ var init_attributes2 = __esm({
|
|
|
43644
43644
|
const { adapter: adapter2 } = options;
|
|
43645
43645
|
const { name } = data2;
|
|
43646
43646
|
let { value } = data2;
|
|
43647
|
-
const
|
|
43648
|
-
if (
|
|
43647
|
+
const len2 = value.length;
|
|
43648
|
+
if (len2 === 0) {
|
|
43649
43649
|
return import_boolbase.default.falseFunc;
|
|
43650
43650
|
}
|
|
43651
43651
|
if (shouldIgnoreCase(data2, options)) {
|
|
43652
43652
|
value = value.toLowerCase();
|
|
43653
43653
|
return (elem) => {
|
|
43654
43654
|
const attr2 = adapter2.getAttributeValue(elem, name);
|
|
43655
|
-
return attr2 != null && attr2.length >=
|
|
43655
|
+
return attr2 != null && attr2.length >= len2 && attr2.substr(0, len2).toLowerCase() === value && next(elem);
|
|
43656
43656
|
};
|
|
43657
43657
|
}
|
|
43658
43658
|
return (elem) => {
|
|
@@ -43664,15 +43664,15 @@ var init_attributes2 = __esm({
|
|
|
43664
43664
|
const { adapter: adapter2 } = options;
|
|
43665
43665
|
const { name } = data2;
|
|
43666
43666
|
let { value } = data2;
|
|
43667
|
-
const
|
|
43668
|
-
if (
|
|
43667
|
+
const len2 = -value.length;
|
|
43668
|
+
if (len2 === 0) {
|
|
43669
43669
|
return import_boolbase.default.falseFunc;
|
|
43670
43670
|
}
|
|
43671
43671
|
if (shouldIgnoreCase(data2, options)) {
|
|
43672
43672
|
value = value.toLowerCase();
|
|
43673
43673
|
return (elem) => {
|
|
43674
43674
|
var _a4;
|
|
43675
|
-
return ((_a4 = adapter2.getAttributeValue(elem, name)) === null || _a4 === void 0 ? void 0 : _a4.substr(
|
|
43675
|
+
return ((_a4 = adapter2.getAttributeValue(elem, name)) === null || _a4 === void 0 ? void 0 : _a4.substr(len2).toLowerCase()) === value && next(elem);
|
|
43676
43676
|
};
|
|
43677
43677
|
}
|
|
43678
43678
|
return (elem) => {
|
|
@@ -55967,7 +55967,7 @@ var RUNTIME_IIFE;
|
|
|
55967
55967
|
var init_runtime_inline = __esm({
|
|
55968
55968
|
"../core/dist/generated/runtime-inline.js"() {
|
|
55969
55969
|
"use strict";
|
|
55970
|
-
RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&<(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
|
|
55970
|
+
RUNTIME_IIFE = '"use strict";(()=>{var Pa=Object.create;var jn=Object.defineProperty;var Oa=Object.getOwnPropertyDescriptor;var Ba=Object.getOwnPropertyNames;var Ha=Object.getPrototypeOf,Wa=Object.prototype.hasOwnProperty;var Ga=(t,e,n)=>e in t?jn(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var te=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ua=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ba(e))!Wa.call(t,r)&&r!==n&&jn(t,r,{get:()=>e[r],enumerable:!(i=Oa(e,r))||i.enumerable});return t};var Va=(t,e,n)=>(n=t!=null?Pa(Ha(t)):{},Ua(e||!t||!t.__esModule?jn(n,"default",{value:t,enumerable:!0}):n,t));var xe=(t,e,n)=>Ga(t,typeof e!="symbol"?e+"":e,n);var jr=te((Im,ri)=>{var Y=String,zr=function(){return{isColorSupported:!1,reset:Y,bold:Y,dim:Y,italic:Y,underline:Y,inverse:Y,hidden:Y,strikethrough:Y,black:Y,red:Y,green:Y,yellow:Y,blue:Y,magenta:Y,cyan:Y,white:Y,gray:Y,bgBlack:Y,bgRed:Y,bgGreen:Y,bgYellow:Y,bgBlue:Y,bgMagenta:Y,bgCyan:Y,bgWhite:Y,blackBright:Y,redBright:Y,greenBright:Y,yellowBright:Y,blueBright:Y,magentaBright:Y,cyanBright:Y,whiteBright:Y,bgBlackBright:Y,bgRedBright:Y,bgGreenBright:Y,bgYellowBright:Y,bgBlueBright:Y,bgMagentaBright:Y,bgCyanBright:Y,bgWhiteBright:Y}};ri.exports=zr();ri.exports.createColors=zr});var oi=te(()=>{});var cn=te((Bm,Kr)=>{"use strict";var qr=jr(),$r=oi(),Rt=class t extends Error{constructor(e,n,i,r,o,s){super(e),this.name="CssSyntaxError",this.reason=e,o&&(this.file=o),r&&(this.source=r),s&&(this.plugin=s),typeof n<"u"&&typeof i<"u"&&(typeof n=="number"?(this.line=n,this.column=i):(this.line=n.line,this.column=n.column,this.endLine=i.line,this.endColumn=i.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,t)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let n=this.source;e==null&&(e=qr.isColorSupported);let i=u=>u,r=u=>u,o=u=>u;if(e){let{bold:u,gray:m,red:f}=qr.createColors(!0);r=x=>u(f(x)),i=x=>m(x),$r&&(o=x=>$r(x))}let s=n.split(/\\r?\\n/),c=Math.max(this.line-3,0),a=Math.min(this.line+2,s.length),l=String(a).length;return s.slice(c,a).map((u,m)=>{let f=c+1+m,x=" "+(" "+f).slice(-l)+" | ";if(f===this.line){if(u.length>160){let y=20,g=Math.max(0,this.column-y),w=Math.max(this.column+y,this.endColumn+y),N=u.slice(g,w),L=i(x.replace(/\\d/g," "))+u.slice(0,Math.min(this.column-1,y-1)).replace(/[^\\t]/g," ");return r(">")+i(x)+o(N)+`\n `+L+r("^")}let A=i(x.replace(/\\d/g," "))+u.slice(0,this.column-1).replace(/[^\\t]/g," ");return r(">")+i(x)+o(u)+`\n `+A+r("^")}return" "+i(x)+o(u)}).join(`\n`)}toString(){let e=this.showSourceCode();return e&&(e=`\n\n`+e+`\n`),this.name+": "+this.message+e}};Kr.exports=Rt;Rt.default=Rt});var si=te((Hm,Yr)=>{"use strict";var wl=/(<)(\\/?style\\b)/gi,Cl=/(<)(!--)/g;function je(t){return typeof t!="string"||!t.includes("<")?t:t.replace(wl,"\\\\3c $2").replace(Cl,"\\\\3c $2")}var Jr={after:`\n`,beforeClose:`\n`,beforeComment:`\n`,beforeDecl:`\n`,beforeOpen:" ",beforeRule:`\n`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function Fl(t){return t[0].toUpperCase()+t.slice(1)}var kt=class{constructor(e){this.builder=e}atrule(e,n){let i=e.raws,r="@"+e.name,o=e.params?this.rawValue(e,"params"):"";if(typeof i.afterName<"u"?r+=i.afterName:o&&(r+=" "),e.nodes)this.block(e,r+o);else{let s=(i.between||"")+(n?";":"");this.builder(je(r+o+s),e)}}beforeAfter(e,n){let i;e.type==="decl"?i=this.raw(e,null,"beforeDecl"):e.type==="comment"?i=this.raw(e,null,"beforeComment"):n==="before"?i=this.raw(e,null,"beforeRule"):i=this.raw(e,null,"beforeClose");let r=e.parent,o=0;for(;r&&r.type!=="root";)o+=1,r=r.parent;if(i.includes(`\n`)){let s=this.raw(e,null,"indent");if(s.length)for(let c=0;c<o;c++)i+=s}return i}block(e,n){let i=this.raw(e,"between","beforeOpen");this.builder(je(n+i)+"{",e,"start");let r;e.nodes&&e.nodes.length?(this.body(e),r=this.raw(e,"after")):r=this.raw(e,"after","emptyBody"),r&&this.builder(je(r)),this.builder("}",e,"end")}body(e){let n=e.nodes,i=n.length-1;for(;i>0&&n[i].type==="comment";)i-=1;let r=this.raw(e,"semicolon"),o=e.type==="document";for(let s=0;s<n.length;s++){let c=n[s],a=this.raw(c,"before");a&&this.builder(o?a:je(a)),this.stringify(c,i!==s||r)}}comment(e){let n=this.raw(e,"left","commentLeft"),i=this.raw(e,"right","commentRight");this.builder(je("/*"+n+e.text+i+"*/"),e)}decl(e,n){let i=e.raws,r=this.raw(e,"between","colon"),o=e.prop+r+this.rawValue(e,"value");e.important&&(o+=i.important||" !important"),n&&(o+=";"),this.builder(je(o),e)}document(e){this.body(e)}raw(e,n,i){let r;if(i||(i=n),n&&(r=e.raws[n],typeof r<"u"))return r;let o=e.parent;if(i==="before"&&(!o||o.type==="root"&&o.first===e||o&&o.type==="document"))return"";if(!o)return Jr[i];let s=e.root(),c=s.rawCache||(s.rawCache={});if(typeof c[i]<"u")return c[i];if(i==="before"||i==="after")return this.beforeAfter(e,i);{let a="raw"+Fl(i);this[a]?r=this[a](s,e):s.walk(l=>{if(r=l.raws[n],typeof r<"u")return!1})}return typeof r>"u"&&(r=Jr[i]),c[i]=r,r}rawBeforeClose(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length>0&&typeof i.raws.after<"u")return n=i.raws.after,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawBeforeComment(e,n){let i;return e.walkComments(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeDecl"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeDecl(e,n){let i;return e.walkDecls(r=>{if(typeof r.raws.before<"u")return i=r.raws.before,i.includes(`\n`)&&(i=i.replace(/[^\\n]+$/,"")),!1}),typeof i>"u"?i=this.raw(n,null,"beforeRule"):i&&(i=i.replace(/\\S/g,"")),i}rawBeforeOpen(e){let n;return e.walk(i=>{if(i.type!=="decl"&&(n=i.raws.between,typeof n<"u"))return!1}),n}rawBeforeRule(e){let n;return e.walk(i=>{if(i.nodes&&(i.parent!==e||e.first!==i)&&typeof i.raws.before<"u")return n=i.raws.before,n.includes(`\n`)&&(n=n.replace(/[^\\n]+$/,"")),!1}),n&&(n=n.replace(/\\S/g,"")),n}rawColon(e){let n;return e.walkDecls(i=>{if(typeof i.raws.between<"u")return n=i.raws.between.replace(/[^\\s:]/g,""),!1}),n}rawEmptyBody(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length===0&&(n=i.raws.after,typeof n<"u"))return!1}),n}rawIndent(e){if(e.raws.indent)return e.raws.indent;let n;return e.walk(i=>{let r=i.parent;if(r&&r!==e&&r.parent&&r.parent===e&&typeof i.raws.before<"u"){let o=i.raws.before.split(`\n`);return n=o[o.length-1],n=n.replace(/\\S/g,""),!1}}),n}rawSemicolon(e){let n;return e.walk(i=>{if(i.nodes&&i.nodes.length&&i.last.type==="decl"&&(n=i.raws.semicolon,typeof n<"u"))return!1}),n}rawValue(e,n){let i=e[n],r=e.raws[n];return r&&r.value===i?r.raw:i}root(e){if(this.body(e),e.raws.after){let n=e.raws.after,i=e.parent&&e.parent.type==="document";this.builder(i?n:je(n))}}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(je(e.raws.ownSemicolon),e,"end")}stringify(e,n){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,n)}};Yr.exports=kt;kt.default=kt});var Dt=te((Wm,Xr)=>{"use strict";var Ml=si();function ai(t,e){new Ml(e).stringify(t)}Xr.exports=ai;ai.default=ai});var dn=te((Gm,li)=>{"use strict";li.exports.isClean=Symbol("isClean");li.exports.my=Symbol("my")});var Ot=te((Um,Qr)=>{"use strict";var Nl=cn(),_l=si(),Tl=Dt(),{isClean:It,my:Ll}=dn();function ui(t,e){let n=new t.constructor;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i)||i==="proxyCache")continue;let r=t[i],o=typeof r;i==="parent"&&o==="object"?e&&(n[i]=e):i==="source"?n[i]=r:Array.isArray(r)?n[i]=r.map(s=>ui(s,n)):(o==="object"&&r!==null&&(r=ui(r)),n[i]=r)}return n}function Ge(t,e){if(e&&typeof e.offset<"u")return e.offset;let n=1,i=1,r=0;for(let o=0;o<t.length;o++){if(i===e.line&&n===e.column){r=o;break}t[o]===`\n`?(n=1,i+=1):n+=1}return r}var Pt=class{get proxyOf(){return this}constructor(e={}){this.raws={},this[It]=!1,this[Ll]=!0;for(let n in e)if(n==="nodes"){this.nodes=[];for(let i of e[n])typeof i.clone=="function"?this.append(i.clone()):this.append(i)}else this[n]=e[n]}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\\n\\s{4}at /.test(e.stack)){let n=this.source;e.stack=e.stack.replace(/\\n\\s{4}at /,`$&${n.input.from}:${n.start.line}:${n.start.column}$&`)}return e}after(e){return this.parent.insertAfter(this,e),this}assign(e={}){for(let n in e)this[n]=e[n];return this}before(e){return this.parent.insertBefore(this,e),this}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}clone(e={}){let n=ui(this);for(let i in e)n[i]=e[i];return n}cloneAfter(e={}){let n=this.clone(e);return this.parent.insertAfter(this,n),n}cloneBefore(e={}){let n=this.clone(e);return this.parent.insertBefore(this,n),n}error(e,n={}){if(this.source){let{end:i,start:r}=this.rangeBy(n);return this.source.input.error(e,{column:r.column,line:r.line},{column:i.column,line:i.line},n)}return new Nl(e)}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:n==="root"?()=>e.root().toProxy():e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="prop"||n==="value"||n==="name"||n==="params"||n==="important"||n==="text")&&e.markDirty()),!0}}}markClean(){this[It]=!0}markDirty(){if(this[It]){this[It]=!1;let e=this;for(;e=e.parent;)e[It]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let n=this.source.start;if(e.index)n=this.positionInside(e.index);else if(e.word){let i="document"in this.source.input?this.source.input.document:this.source.input.css,o=i.slice(Ge(i,this.source.start),Ge(i,this.source.end)).indexOf(e.word);o!==-1&&(n=this.positionInside(o))}return n}positionInside(e){let n=this.source.start.column,i=this.source.start.line,r="document"in this.source.input?this.source.input.document:this.source.input.css,o=Ge(r,this.source.start),s=o+e;for(let c=o;c<s;c++)r[c]===`\n`?(n=1,i+=1):n+=1;return{column:n,line:i,offset:s}}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}rangeBy(e={}){let n="document"in this.source.input?this.source.input.document:this.source.input.css,i={column:this.source.start.column,line:this.source.start.line,offset:Ge(n,this.source.start)},r=this.source.end?{column:this.source.end.column+1,line:this.source.end.line,offset:typeof this.source.end.offset=="number"?this.source.end.offset:Ge(n,this.source.end)+1}:{column:i.column+1,line:i.line,offset:i.offset+1};if(e.word){let s=n.slice(Ge(n,this.source.start),Ge(n,this.source.end)).indexOf(e.word);s!==-1&&(i=this.positionInside(s),r=this.positionInside(s+e.word.length))}else e.start?i={column:e.start.column,line:e.start.line,offset:Ge(n,e.start)}:e.index&&(i=this.positionInside(e.index)),e.end?r={column:e.end.column,line:e.end.line,offset:Ge(n,e.end)}:typeof e.endIndex=="number"?r=this.positionInside(e.endIndex):e.index&&(r=this.positionInside(e.index+1));return(r.line<i.line||r.line===i.line&&r.column<=i.column)&&(r={column:i.column+1,line:i.line,offset:i.offset+1}),{end:r,start:i}}raw(e,n){return new _l().raw(this,e,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...e){if(this.parent){let n=this,i=!1;for(let r of e)r===this?i=!0:i?(this.parent.insertAfter(n,r),n=r):this.parent.insertBefore(n,r);i||this.remove()}return this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}toJSON(e,n){let i={},r=n==null;n=n||new Map;let o=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let c=this[s];if(Array.isArray(c))i[s]=c.map(a=>typeof a=="object"&&a.toJSON?a.toJSON(null,n):a);else if(typeof c=="object"&&c.toJSON)i[s]=c.toJSON(null,n);else if(s==="source"){if(c==null)continue;let a=n.get(c.input);a==null&&(a=o,n.set(c.input,o),o++),i[s]={end:c.end,inputId:a,start:c.start}}else i[s]=c}return r&&(i.inputs=[...n.keys()].map(s=>s.toJSON())),i}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=Tl){e.stringify&&(e=e.stringify);let n="";return e(this,i=>{n+=i}),n}warn(e,n,i={}){let r={node:this};for(let o in i)r[o]=i[o];return e.warn(n,r)}};Qr.exports=Pt;Pt.default=Pt});var Ht=te((Vm,Zr)=>{"use strict";var vl=Ot(),Bt=class extends vl{constructor(e){super(e),this.type="comment"}};Zr.exports=Bt;Bt.default=Bt});var Gt=te((zm,eo)=>{"use strict";var Rl=Ot(),Wt=class extends Rl{get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}constructor(e){e&&typeof e.value<"u"&&typeof e.value!="string"&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};eo.exports=Wt;Wt.default=Wt});var qe=te((jm,uo)=>{"use strict";var to=Ht(),no=Gt(),kl=Ot(),{isClean:io,my:ro}=dn(),ci,oo,so,di;function ao(t){return t.map(e=>(e.nodes&&(e.nodes=ao(e.nodes)),delete e.source,e))}function lo(t){if(t[io]=!1,t.proxyOf.nodes)for(let e of t.proxyOf.nodes)lo(e)}var ke=class t extends kl{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let n of e){let i=this.normalize(n,this.last);for(let r of i)this.proxyOf.nodes.push(r)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let n of this.nodes)n.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let n=this.getIterator(),i,r;for(;this.indexes[n]<this.proxyOf.nodes.length&&(i=this.indexes[n],r=e(this.proxyOf.nodes[i],i),r!==!1);)this.indexes[n]+=1;return delete this.indexes[n],r}every(e){return this.nodes.every(e)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}getProxyProcessor(){return{get(e,n){return n==="proxyOf"?e:e[n]?n==="each"||typeof n=="string"&&n.startsWith("walk")?(...i)=>e[n](...i.map(r=>typeof r=="function"?(o,s)=>r(o.toProxy(),s):r)):n==="every"||n==="some"?i=>e[n]((r,...o)=>i(r.toProxy(),...o)):n==="root"?()=>e.root().toProxy():n==="nodes"?e.nodes.map(i=>i.toProxy()):n==="first"||n==="last"?e[n].toProxy():e[n]:e[n]},set(e,n,i){return e[n]===i||(e[n]=i,(n==="name"||n==="params"||n==="selector")&&e.markDirty()),!0}}}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,n){let i=this.index(e),r=this.normalize(n,this.proxyOf.nodes[i]).reverse();i=this.index(e);for(let s of r)this.proxyOf.nodes.splice(i+1,0,s);let o;for(let s in this.indexes)o=this.indexes[s],i<o&&(this.indexes[s]=o+r.length);return this.markDirty(),this}insertBefore(e,n){let i=this.index(e),r=i===0?"prepend":!1,o=this.normalize(n,this.proxyOf.nodes[i],r).reverse();i=this.index(e);for(let c of o)this.proxyOf.nodes.splice(i,0,c);let s;for(let c in this.indexes)s=this.indexes[c],i<=s&&(this.indexes[c]=s+o.length);return this.markDirty(),this}normalize(e,n){if(typeof e=="string")e=ao(oo(e).nodes);else if(typeof e>"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let r of e)r.parent&&r.parent.removeChild(r,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new no(e)]}else if(e.selector||e.selectors)e=[new di(e)];else if(e.name)e=[new ci(e)];else if(e.text)e=[new to(e)];else throw new Error("Unknown node type in node creation");return e.map(r=>(r[ro]||t.rebuild(r),r=r.proxyOf,r.parent&&r.parent.removeChild(r),r[io]&&lo(r),r.raws||(r.raws={}),typeof r.raws.before>"u"&&n&&typeof n.raws.before<"u"&&(r.raws.before=n.raws.before.replace(/\\S/g,"")),r.parent=this.proxyOf,r))}prepend(...e){e=e.reverse();for(let n of e){let i=this.normalize(n,this.first,"prepend").reverse();for(let r of i)this.proxyOf.nodes.unshift(r);for(let r in this.indexes)this.indexes[r]=this.indexes[r]+i.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);let n;for(let i in this.indexes)n=this.indexes[i],n>=e&&(this.indexes[i]=n-1);return this.markDirty(),this}replaceValues(e,n,i){return i||(i=n,n={}),this.walkDecls(r=>{n.props&&!n.props.includes(r.prop)||n.fast&&!r.value.includes(n.fast)||(r.value=r.value.replace(e,i))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(e){return this.each((n,i)=>{let r;try{r=e(n,i)}catch(o){throw n.addToError(o)}return r!==!1&&n.walk&&(r=n.walk(e)),r})}walkAtRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="atrule"&&e.test(i.name))return n(i,r)}):this.walk((i,r)=>{if(i.type==="atrule"&&i.name===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="atrule")return n(i,r)}))}walkComments(e){return this.walk((n,i)=>{if(n.type==="comment")return e(n,i)})}walkDecls(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="decl"&&e.test(i.prop))return n(i,r)}):this.walk((i,r)=>{if(i.type==="decl"&&i.prop===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="decl")return n(i,r)}))}walkRules(e,n){return n?e instanceof RegExp?this.walk((i,r)=>{if(i.type==="rule"&&e.test(i.selector))return n(i,r)}):this.walk((i,r)=>{if(i.type==="rule"&&i.selector===e)return n(i,r)}):(n=e,this.walk((i,r)=>{if(i.type==="rule")return n(i,r)}))}};ke.registerParse=t=>{oo=t};ke.registerRule=t=>{di=t};ke.registerAtRule=t=>{ci=t};ke.registerRoot=t=>{so=t};uo.exports=ke;ke.default=ke;ke.rebuild=t=>{t.type==="atrule"?Object.setPrototypeOf(t,ci.prototype):t.type==="rule"?Object.setPrototypeOf(t,di.prototype):t.type==="decl"?Object.setPrototypeOf(t,no.prototype):t.type==="comment"?Object.setPrototypeOf(t,to.prototype):t.type==="root"&&Object.setPrototypeOf(t,so.prototype),t[ro]=!0,t.nodes&&t.nodes.forEach(e=>{ke.rebuild(e)})}});var fn=te((qm,fo)=>{"use strict";var co=qe(),dt=class extends co{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};fo.exports=dt;dt.default=dt;co.registerAtRule(dt)});var mn=te(($m,ho)=>{"use strict";var Dl=qe(),mo,po,ot=class extends Dl{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new mo(new po,this,e).stringify()}};ot.registerLazyResult=t=>{mo=t};ot.registerProcessor=t=>{po=t};ho.exports=ot;ot.default=ot});var xo=te((Km,go)=>{var Il="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pl=(t,e=21)=>(n=e)=>{let i="",r=n|0;for(;r--;)i+=t[Math.random()*t.length|0];return i},Ol=(t=21)=>{let e="",n=t|0;for(;n--;)e+=Il[Math.random()*64|0];return e};go.exports={nanoid:Ol,customAlphabet:Pl}});var pn=te(()=>{});var hn=te(()=>{});var fi=te(()=>{});var yo=te(()=>{});var pi=te((ip,Ao)=>{"use strict";var{existsSync:Bl,readFileSync:Hl}=yo(),{dirname:mi,join:Wl}=pn(),{SourceMapConsumer:bo,SourceMapGenerator:So}=hn();function Gl(t){return Buffer?Buffer.from(t,"base64").toString():window.atob(t)}var Ut=class{constructor(e,n){if(n.map===!1)return;n.unsafeMap&&(this.unsafeMap=!0),this.loadAnnotation(e),this.inline=this.startWith(this.annotation,"data:");let i=n.map?n.map.prev:void 0,r=this.loadMap(n.from,i);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=mi(this.mapFile)),r&&(this.text=r)}consumer(){return this.consumerCache||(this.consumerCache=new bo(this.json||this.text)),this.consumerCache}decodeInline(e){let n=/^data:application\\/json;charset=utf-?8;base64,/,i=/^data:application\\/json;base64,/,r=/^data:application\\/json;charset=utf-?8,/,o=/^data:application\\/json,/,s=e.match(r)||e.match(o);if(s)return decodeURIComponent(e.substr(s[0].length));let c=e.match(n)||e.match(i);if(c)return Gl(e.substr(c[0].length));let a=e.slice(22);throw a=a.slice(0,a.indexOf(",")),new Error("Unsupported source map encoding "+a)}getAnnotationURL(e){return e.replace(/^\\/\\*\\s*# sourceMappingURL=/,"").trim()}isMap(e){return typeof e!="object"?!1:typeof e.mappings=="string"||typeof e._mappings=="string"||Array.isArray(e.sections)}loadAnnotation(e){let n=e.match(/\\/\\*\\s*# sourceMappingURL=/g);if(!n)return;let i=e.lastIndexOf(n.pop()),r=e.indexOf("*/",i);i>-1&&r>-1&&(this.annotation=this.getAnnotationURL(e.substring(i,r)))}loadFile(e,n,i){if(!(!i&&!this.unsafeMap&&!/\\.map$/i.test(e))&&(this.root=mi(e),Bl(e)))return this.mapFile=e,Hl(e,"utf-8").toString().trim()}loadMap(e,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let i=n(e);if(i){let r=this.loadFile(i,e,!0);if(!r)throw new Error("Unable to load previous source map: "+i.toString());return r}}else{if(n instanceof bo)return So.fromSourceMap(n).toString();if(n instanceof So)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let i=this.annotation;e&&(i=Wl(mi(e),i));let r=this.loadFile(i,e,!1);if(r)try{this.json=JSON.parse(r.replace(/^\\)]}\'[^\\n]*\\n/,""))}catch{return}return r}}}startWith(e,n){return e?e.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}};Ao.exports=Ut;Ut.default=Ut});var Vt=te((rp,Mo)=>{"use strict";var{nanoid:Ul}=xo(),{isAbsolute:xi,resolve:yi}=pn(),{SourceMapConsumer:Vl,SourceMapGenerator:zl}=hn(),{fileURLToPath:Eo,pathToFileURL:gn}=fi(),wo=cn(),jl=pi(),hi=oi(),gi=Symbol("lineToIndexCache"),ql=!!(Vl&&zl),Co=!!(yi&&xi);function Fo(t){if(t[gi])return t[gi];let e=t.css.split(`\n`),n=new Array(e.length),i=0;for(let r=0,o=e.length;r<o;r++)n[r]=i,i+=e[r].length+1;return t[gi]=n,n}var ft=class{get from(){return this.file||this.id}constructor(e,n={}){if(e===null||typeof e>"u"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\\uFEFF"||this.css[0]==="\\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,n.document&&(this.document=n.document.toString()),n.from&&(!Co||/^\\w+:\\/\\//.test(n.from)||xi(n.from)?this.file=n.from:this.file=yi(n.from)),Co&&ql){let i=new jl(this.css,n);if(i.text){this.map=i;let r=i.consumer().file;!this.file&&r&&(this.file=this.mapResolve(r))}}this.file||(this.id="<input css "+Ul(6)+">"),this.map&&(this.map.file=this.from)}error(e,n,i,r={}){let o,s,c,a,l;if(n&&typeof n=="object"){let m=n,f=i;if(typeof m.offset=="number"){a=m.offset;let x=this.fromOffset(a);n=x.line,i=x.col}else n=m.line,i=m.column,a=this.fromLineAndColumn(n,i);if(typeof f.offset=="number"){c=f.offset;let x=this.fromOffset(c);s=x.line,o=x.col}else s=f.line,o=f.column,c=this.fromLineAndColumn(f.line,f.column)}else if(i)a=this.fromLineAndColumn(n,i);else{a=n;let m=this.fromOffset(a);n=m.line,i=m.col}let u=this.origin(n,i,s,o);return u?l=new wo(e,u.endLine===void 0?u.line:{column:u.column,line:u.line},u.endLine===void 0?u.column:{column:u.endColumn,line:u.endLine},u.source,u.file,r.plugin):l=new wo(e,s===void 0?n:{column:i,line:n},s===void 0?i:{column:o,line:s},this.css,this.file,r.plugin),l.input={column:i,endColumn:o,endLine:s,endOffset:c,line:n,offset:a,source:this.css},this.file&&(gn&&(l.input.url=gn(this.file).toString()),l.input.file=this.file),l}fromLineAndColumn(e,n){return Fo(this)[e-1]+n-1}fromOffset(e){let n=Fo(this),i=n[n.length-1],r=0;if(e>=i)r=n.length-1;else{let o=n.length-2,s;for(;r<o;)if(s=r+(o-r>>1),e<n[s])o=s-1;else if(e>=n[s+1])r=s+1;else{r=s;break}}return{col:e-n[r]+1,line:r+1}}mapResolve(e){return/^\\w+:\\/\\//.test(e)?e:yi(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,n,i,r){if(!this.map)return!1;let o=this.map.consumer(),s=o.originalPositionFor({column:n,line:e});if(!s.source)return!1;let c;typeof i=="number"&&(c=o.originalPositionFor({column:r,line:i}));let a;xi(s.source)?a=gn(s.source):a=new URL(s.source,this.map.consumer().sourceRoot||gn(this.map.mapFile));let l={column:s.column,endColumn:c&&c.column,endLine:c&&c.line,line:s.line,url:a.toString()};if(a.protocol==="file:")if(Eo)l.file=Eo(a);else throw new Error("file: protocol is not available in this PostCSS build");let u=o.sourceContentFor(s.source);return u&&(l.source=u),l}toJSON(){let e={};for(let n of["hasBOM","css","file","id"])this[n]!=null&&(e[n]=this[n]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};Mo.exports=ft;ft.default=ft;hi&&hi.registerInput&&hi.registerInput(ft)});var mt=te((op,Lo)=>{"use strict";var No=qe(),_o,To,$e=class extends No{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,n,i){let r=super.normalize(e);if(n){if(i==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let o of r)o.raws.before=n.raws.before}return r}removeChild(e,n){let i=this.index(e);return!n&&i===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[i].raws.before),super.removeChild(e)}toResult(e={}){return new _o(new To,this,e).stringify()}};$e.registerLazyResult=t=>{_o=t};$e.registerProcessor=t=>{To=t};Lo.exports=$e;$e.default=$e;No.registerRoot($e)});var bi=te((sp,vo)=>{"use strict";var zt={comma(t){return zt.split(t,[","],!0)},space(t){let e=[" ",`\n`," "];return zt.split(t,e)},split(t,e,n){let i=[],r="",o=!1,s=0,c=!1,a="",l=!1;for(let u of t)l?l=!1:u==="\\\\"?l=!0:c?u===a&&(c=!1):u===\'"\'||u==="\'"?(c=!0,a=u):u==="("?s+=1:u===")"?s>0&&(s-=1):s===0&&e.includes(u)&&(o=!0),o?(r!==""&&i.push(r.trim()),r="",o=!1):r+=u;return(n||r!=="")&&i.push(r.trim()),i}};vo.exports=zt;zt.default=zt});var xn=te((ap,ko)=>{"use strict";var Ro=qe(),$l=bi(),pt=class extends Ro{get selectors(){return $l.comma(this.selector)}set selectors(e){let n=this.selector?this.selector.match(/,\\s*/):null,i=n?n[0]:","+this.raw("between","beforeOpen");this.selector=e.join(i)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};ko.exports=pt;pt.default=pt;Ro.registerRule(pt)});var Io=te((lp,Do)=>{"use strict";var Kl=fn(),Jl=Ht(),Yl=Gt(),Xl=Vt(),Ql=pi(),Zl=mt(),eu=xn();function jt(t,e){if(Array.isArray(t))return t.map(r=>jt(r));let{inputs:n,...i}=t;if(n){e=[];for(let r of n){let o={...r,__proto__:Xl.prototype};o.map&&(o.map={...o.map,__proto__:Ql.prototype}),e.push(o)}}if(i.nodes&&(i.nodes=t.nodes.map(r=>jt(r,e))),i.source){let{inputId:r,...o}=i.source;i.source=o,r!=null&&(i.source.input=e[r])}if(i.type==="root")return new Zl(i);if(i.type==="decl")return new Yl(i);if(i.type==="rule")return new eu(i);if(i.type==="comment")return new Jl(i);if(i.type==="atrule")return new Kl(i);throw new Error("Unknown node type: "+t.type)}Do.exports=jt;jt.default=jt});var Ai=te((up,Go)=>{"use strict";var{dirname:yn,relative:Oo,resolve:Bo,sep:Ho}=pn(),{SourceMapConsumer:Wo,SourceMapGenerator:bn}=hn(),{pathToFileURL:Po}=fi(),tu=Vt(),nu=!!(Wo&&bn),iu=!!(yn&&Bo&&Oo&&Ho),Si=class{constructor(e,n,i,r){this.stringify=e,this.mapOpts=i.map||{},this.root=n,this.opts=i,this.css=r,this.originalCSS=r,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let e;this.isInline()?e="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?e=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?e=this.mapOpts.annotation(this.opts.to,this.root):e=this.outputFile()+".map";let n=`\n`;this.css.includes(`\\r\n`)&&(n=`\\r\n`),this.css+=n+"/*# sourceMappingURL="+e+" */"}applyPrevMaps(){for(let e of this.previous()){let n=this.toUrl(this.path(e.file)),i=e.root||yn(e.file),r;this.mapOpts.sourcesContent===!1?(r=new Wo(e.text),r.sourcesContent&&(r.sourcesContent=null)):r=e.consumer(),this.map.applySourceMap(r,n,this.toUrl(this.path(i)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1){if(this.root){let e;for(let n=this.root.nodes.length-1;n>=0;n--)e=this.root.nodes[n],e.type==="comment"&&e.text.startsWith("# sourceMappingURL=")&&this.root.removeChild(n)}else if(this.css){let e;for(;(e=this.css.lastIndexOf("/*#"))!==-1;){let n=this.css.indexOf("*/",e+3);if(n===-1)break;for(;e>0&&this.css[e-1]===`\n`;)e--;this.css=this.css.slice(0,e)+this.css.slice(n+2)}}}}generate(){if(this.clearAnnotation(),iu&&nu&&this.isMap())return this.generateMap();{let e="";return this.stringify(this.root,n=>{e+=n}),[e]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let e=this.previous()[0].consumer();e.file=this.outputFile(),this.map=bn.fromSourceMap(e,{ignoreInvalidMapping:!0})}else this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new bn({file:this.outputFile(),ignoreInvalidMapping:!0});let e=1,n=1,i="<no source>",r={generated:{column:0,line:0},original:{column:0,line:0},source:""},o,s;this.stringify(this.root,(c,a,l)=>{if(this.css+=c,a&&l!=="end"&&(r.generated.line=e,r.generated.column=n-1,a.source&&a.source.start?(r.source=this.sourcePath(a),r.original.line=a.source.start.line,r.original.column=a.source.start.column-1,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,this.map.addMapping(r))),s=c.match(/\\n/g),s?(e+=s.length,o=c.lastIndexOf(`\n`),n=c.length-o):n+=c.length,a&&l!=="start"){let u=a.parent||{raws:{}};(!(a.type==="decl"||a.type==="atrule"&&!a.nodes)||a!==u.last||u.raws.semicolon)&&(a.source&&a.source.end?(r.source=this.sourcePath(a),r.original.line=a.source.end.line,r.original.column=a.source.end.column-1,r.generated.line=e,r.generated.column=n-2,this.map.addMapping(r)):(r.source=i,r.original.line=1,r.original.column=0,r.generated.line=e,r.generated.column=n-1,this.map.addMapping(r)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(e=>e.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let e=this.mapOpts.annotation;return typeof e<"u"&&e!==!0?!1:this.previous().length?this.previous().some(n=>n.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(e=>e.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(e){if(this.mapOpts.absolute||e.charCodeAt(0)===60||/^\\w+:\\/\\//.test(e))return e;let n=this.memoizedPaths.get(e);if(n)return n;let i=this.opts.to?yn(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(i=yn(Bo(i,this.mapOpts.annotation)));let r=Oo(i,e);return this.memoizedPaths.set(e,r),r}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(e=>{if(e.source&&e.source.input.map){let n=e.source.input.map;this.previousMaps.includes(n)||this.previousMaps.push(n)}});else{let e=new tu(this.originalCSS,this.opts);e.map&&this.previousMaps.push(e.map)}return this.previousMaps}setSourcesContent(){let e={};if(this.root)this.root.walk(n=>{if(n.source){let i=n.source.input.from;if(i&&!e[i]){e[i]=!0;let r=this.usesFileUrls?this.toFileUrl(i):this.toUrl(this.path(i));this.map.setSourceContent(r,n.source.input.css)}}});else if(this.css){let n=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(n,this.css)}}sourcePath(e){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(e.source.input.from):this.toUrl(this.path(e.source.input.from))}toBase64(e){return Buffer?Buffer.from(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))}toFileUrl(e){let n=this.memoizedFileURLs.get(e);if(n)return n;if(Po){let i=Po(e).toString();return this.memoizedFileURLs.set(e,i),i}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(e){let n=this.memoizedURLs.get(e);if(n)return n;Ho==="\\\\"&&(e=e.replace(/\\\\/g,"/"));let i=encodeURI(e).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(e,i),i}};Go.exports=Si});var zo=te((cp,Vo)=>{"use strict";var Sn=/[\\t\\n\\f\\r "#\'()/;[\\\\\\]{}]/g,An=/[\\t\\n\\f\\r !"#\'():;@[\\\\\\]{}]|\\/(?=\\*)/g,ru=/.[\\r\\n"\'(/\\\\]/,Uo=/[\\da-f]/i;Vo.exports=function(e,n={}){let i=e.css.valueOf(),r=n.ignoreErrors,o,s,c,a,l,u,m,f,x,A,y=i.length,g=0,w=[],N=[],L=-1;function $(){return g}function B(F){throw e.error("Unclosed "+F,g)}function _(){return N.length===0&&g>=y}function S(F){if(N.length)return N.pop();if(g>=y)return;let T=F?F.ignoreUnclosed:!1;switch(o=i.charCodeAt(g),o){case 10:case 32:case 9:case 13:case 12:{a=g;do a+=1,o=i.charCodeAt(a);while(o===32||o===10||o===9||o===13||o===12);u=["space",i.slice(g,a)],g=a-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let R=String.fromCharCode(o);u=[R,R,g];break}case 40:{if(A=w.length?w.pop()[1]:"",x=i.charCodeAt(g+1),A==="url"&&x!==39&&x!==34&&x!==32&&x!==10&&x!==9&&x!==12&&x!==13){a=g;do{if(m=!1,a=i.indexOf(")",a+1),a===-1)if(r||T){a=g;break}else B("bracket");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["brackets",i.slice(g,a+1),g,a],g=a}else g<=L?u=["(","(",g]:(a=i.indexOf(")",g+1),s=i.slice(g,a+1),a===-1||ru.test(s)?(L=a===-1?y:a,u=["(","(",g]):(u=["brackets",s,g,a],g=a));break}case 39:case 34:{l=o===39?"\'":\'"\',a=g;do{if(m=!1,a=i.indexOf(l,a+1),a===-1)if(r||T){a=g+1;break}else B("string");for(f=a;i.charCodeAt(f-1)===92;)f-=1,m=!m}while(m);u=["string",i.slice(g,a+1),g,a],g=a;break}case 64:{Sn.lastIndex=g+1,Sn.test(i),Sn.lastIndex===0?a=i.length-1:a=Sn.lastIndex-2,u=["at-word",i.slice(g,a+1),g,a],g=a;break}case 92:{for(a=g,c=!0;i.charCodeAt(a+1)===92;)a+=1,c=!c;if(o=i.charCodeAt(a+1),c&&o!==47&&o!==32&&o!==10&&o!==9&&o!==13&&o!==12&&(a+=1,Uo.test(i.charAt(a)))){for(;Uo.test(i.charAt(a+1));)a+=1;i.charCodeAt(a+1)===32&&(a+=1)}u=["word",i.slice(g,a+1),g,a],g=a;break}default:{o===47&&i.charCodeAt(g+1)===42?(a=i.indexOf("*/",g+2)+1,a===0&&(r||T?a=i.length:B("comment")),u=["comment",i.slice(g,a+1),g,a],g=a):(An.lastIndex=g+1,An.test(i),An.lastIndex===0?a=i.length-1:a=An.lastIndex-2,u=["word",i.slice(g,a+1),g,a],w.push(u),g=a);break}}return g++,u}function C(F){N.push(F)}return{back:C,endOfFile:_,nextToken:S,position:$}}});var Ko=te((dp,$o)=>{"use strict";var ou=fn(),su=Ht(),au=Gt(),lu=mt(),jo=xn(),uu=zo(),qo={empty:!0,space:!0};function cu(t){for(let e=t.length-1;e>=0;e--){let n=t[e],i=n[3]||n[2];if(i)return i}}var Ei=class{constructor(e){this.input=e,this.root=new lu,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let n=new ou;n.name=e[1].slice(1),n.name===""&&this.unnamedAtrule(n,e),this.init(n,e[2]);let i,r,o,s=!1,c=!1,a=[],l=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),i=e[0],i==="("||i==="["?l.push(i==="("?")":"]"):i==="{"&&l.length>0?l.push("}"):i===l[l.length-1]&&l.pop(),l.length===0)if(i===";"){n.source.end=this.getPosition(e[2]),n.source.end.offset++,this.semicolon=!0;break}else if(i==="{"){c=!0;break}else if(i==="}"){if(a.length>0){for(o=a.length-1,r=a[o];r&&r[0]==="space";)r=a[--o];r&&(n.source.end=this.getPosition(r[3]||r[2]),n.source.end.offset++)}this.end(e);break}else a.push(e);else a.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}n.raws.between=this.spacesAndCommentsFromEnd(a),a.length?(n.raws.afterName=this.spacesAndCommentsFromStart(a),this.raw(n,"params",a),s&&(e=a[a.length-1],n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++,this.spaces=n.raws.between,n.raws.between="")):(n.raws.afterName="",n.params=""),c&&(n.nodes=[],this.current=n)}checkMissedSemicolon(e){let n=this.colon(e);if(n===!1)return;let i=0,r;for(let o=n-1;o>=0&&(r=e[o],!(r[0]!=="space"&&(i+=1,i===2)));o--);throw this.input.error("Missed semicolon",r[0]==="word"?r[3]+1:r[2])}colon(e){let n=0,i,r,o;for(let[s,c]of e.entries()){if(r=c,o=r[0],o==="("&&(n+=1),o===")"&&(n-=1),n===0&&o===":")if(!i)this.doubleColon(r);else{if(i[0]==="word"&&i[1]==="progid")continue;return s}i=r}return!1}comment(e){let n=new su;this.init(n,e[2]),n.source.end=this.getPosition(e[3]||e[2]),n.source.end.offset++;let i=e[1].slice(2,-2);if(!i.trim())n.text="",n.raws.left=i,n.raws.right="";else{let r=i.match(/^(\\s*)([^]*\\S)(\\s*)$/);n.text=r[2],n.raws.left=r[1],n.raws.right=r[3]}}createTokenizer(){this.tokenizer=uu(this.input)}decl(e,n){let i=new au;this.init(i,e[0][2]);let r=e[e.length-1];for(r[0]===";"&&(this.semicolon=!0,e.pop()),i.source.end=this.getPosition(r[3]||r[2]||cu(e)),i.source.end.offset++;e[0][0]!=="word";)e.length===1&&this.unknownWord(e),i.raws.before+=e.shift()[1];for(i.source.start=this.getPosition(e[0][2]),i.prop="";e.length;){let l=e[0][0];if(l===":"||l==="space"||l==="comment")break;i.prop+=e.shift()[1]}i.raws.between="";let o;for(;e.length;)if(o=e.shift(),o[0]===":"){i.raws.between+=o[1];break}else o[0]==="word"&&/\\w/.test(o[1])&&this.unknownWord([o]),i.raws.between+=o[1];(i.prop[0]==="_"||i.prop[0]==="*")&&(i.raws.before+=i.prop[0],i.prop=i.prop.slice(1));let s=[],c;for(;e.length&&(c=e[0][0],!(c!=="space"&&c!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let l=e.length-1;l>=0;l--){if(o=e[l],o[1].toLowerCase()==="!important"){i.important=!0;let u=this.stringFrom(e,l);u=this.spacesFromEnd(e)+u,u!==" !important"&&(i.raws.important=u);break}else if(o[1].toLowerCase()==="important"){let u=e.slice(0),m="";for(let f=l;f>0;f--){let x=u[f][0];if(m.trim().startsWith("!")&&x!=="space")break;m=u.pop()[1]+m}m.trim().startsWith("!")&&(i.important=!0,i.raws.important=m,e=u)}if(o[0]!=="space"&&o[0]!=="comment")break}e.some(l=>l[0]!=="space"&&l[0]!=="comment")&&(i.raws.between+=s.map(l=>l[1]).join(""),s=[]),this.raw(i,"value",s.concat(e),n),i.value.includes(":")&&!n&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let n=new jo;this.init(n,e[2]),n.selector="",n.raws.between="",this.current=n}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let n=this.current.nodes[this.current.nodes.length-1];n&&n.type==="rule"&&!n.raws.ownSemicolon&&(n.raws.ownSemicolon=this.spaces,this.spaces="",n.source.end=this.getPosition(e[2]),n.source.end.offset+=n.raws.ownSemicolon.length)}}getPosition(e){let n=this.input.fromOffset(e);return{column:n.col,line:n.line,offset:e}}init(e,n){this.current.push(e),e.source={input:this.input,start:this.getPosition(n)},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}other(e){let n=!1,i=null,r=!1,o=null,s=[],c=e[1].startsWith("--"),a=[],l=e;for(;l;){if(i=l[0],a.push(l),i==="("||i==="[")o||(o=l),s.push(i==="("?")":"]");else if(c&&r&&i==="{")o||(o=l),s.push("}");else if(s.length===0)if(i===";")if(r){this.decl(a,c);return}else break;else if(i==="{"){this.rule(a);return}else if(i==="}"){this.tokenizer.back(a.pop()),n=!0;break}else i===":"&&(r=!0);else i===s[s.length-1]&&(s.pop(),s.length===0&&(o=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(n=!0),s.length>0&&this.unclosedBracket(o),n&&r){if(!c)for(;a.length&&(l=a[a.length-1][0],!(l!=="space"&&l!=="comment"));)this.tokenizer.back(a.pop());this.decl(a,c)}else this.unknownWord(a)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}precheckMissedSemicolon(){}raw(e,n,i,r){let o,s,c=i.length,a="",l=!0,u,m;for(let f=0;f<c;f+=1)o=i[f],s=o[0],s==="space"&&f===c-1&&!r?l=!1:s==="comment"?(m=i[f-1]?i[f-1][0]:"empty",u=i[f+1]?i[f+1][0]:"empty",!qo[m]&&!qo[u]?a.slice(-1)===","?l=!1:a+=o[1]:l=!1):a+=o[1];if(!l){let f=i.reduce((x,A)=>x+A[1],"");e.raws[n]={raw:f,value:a}}e[n]=a}rule(e){e.pop();let n=new jo;this.init(n,e[0][2]),n.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(n,"selector",e),this.current=n}spacesAndCommentsFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],!(n!=="space"&&n!=="comment"));)i=e.pop()[1]+i;return i}spacesAndCommentsFromStart(e){let n,i="";for(;e.length&&(n=e[0][0],!(n!=="space"&&n!=="comment"));)i+=e.shift()[1];return i}spacesFromEnd(e){let n,i="";for(;e.length&&(n=e[e.length-1][0],n==="space");)i=e.pop()[1]+i;return i}stringFrom(e,n){let i="";for(let r=n;r<e.length;r++)i+=e[r][1];return e.splice(n,e.length-n),i}unclosedBlock(){let e=this.current.source.start;throw this.input.error("Unclosed block",e.line,e.column)}unclosedBracket(e){throw this.input.error("Unclosed bracket",{offset:e[2]},{offset:e[2]+1})}unexpectedClose(e){throw this.input.error("Unexpected }",{offset:e[2]},{offset:e[2]+1})}unknownWord(e){throw this.input.error("Unknown word "+e[0][1],{offset:e[0][2]},{offset:e[0][2]+e[0][1].length})}unnamedAtrule(e,n){throw this.input.error("At-rule without name",{offset:n[2]},{offset:n[2]+n[1].length})}};$o.exports=Ei});var wn=te((fp,Jo)=>{"use strict";var du=qe(),fu=Vt(),mu=Ko();function En(t,e){let n=new fu(t,e),i=new mu(n);try{i.parse()}catch(r){throw r}return i.root}Jo.exports=En;En.default=En;du.registerParse(En)});var wi=te((mp,Yo)=>{"use strict";var qt=class{constructor(e,n={}){if(this.type="warning",this.text=e,n.node&&n.node.source){let i=n.node.rangeBy(n);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in n)this[i]=n[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};Yo.exports=qt;qt.default=qt});var Cn=te((pp,Xo)=>{"use strict";var pu=wi(),$t=class{get content(){return this.css}constructor(e,n,i){this.processor=e,this.messages=[],this.root=n,this.opts=i,this.css="",this.map=void 0}toString(){return this.css}warn(e,n={}){n.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(n.plugin=this.lastPlugin.postcssPlugin);let i=new pu(e,n);return this.messages.push(i),i}warnings(){return this.messages.filter(e=>e.type==="warning")}};Xo.exports=$t;$t.default=$t});var Ci=te((hp,Zo)=>{"use strict";var Qo={};Zo.exports=function(e){Qo[e]||(Qo[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}});var Ni=te((xp,is)=>{"use strict";var hu=qe(),gu=mn(),xu=Ai(),yu=wn(),es=Cn(),bu=mt(),Su=Dt(),{isClean:Be,my:Au}=dn(),gp=Ci(),Eu={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},wu={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},Cu={Once:!0,postcssPlugin:!0,prepare:!0},ht=0;function Kt(t){return typeof t=="object"&&typeof t.then=="function"}function ns(t){let e=!1,n=Eu[t.type];return t.type==="decl"?e=t.prop.toLowerCase():t.type==="atrule"&&(e=t.name.toLowerCase()),e&&t.append?[n,n+"-"+e,ht,n+"Exit",n+"Exit-"+e]:e?[n,n+"-"+e,n+"Exit",n+"Exit-"+e]:t.append?[n,ht,n+"Exit"]:[n,n+"Exit"]}function ts(t){let e;return t.type==="document"?e=["Document",ht,"DocumentExit"]:t.type==="root"?e=["Root",ht,"RootExit"]:e=ns(t),{eventIndex:0,events:e,iterator:0,node:t,visitorIndex:0,visitors:[]}}function Fi(t){return t[Be]=!1,t.nodes&&t.nodes.forEach(e=>Fi(e)),t}var Mi={},Ke=class t{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(e,n,i){this.stringified=!1,this.processed=!1;let r;if(typeof n=="object"&&n!==null&&(n.type==="root"||n.type==="document"))r=Fi(n);else if(n instanceof t||n instanceof es)r=Fi(n.root),n.map&&(typeof i.map>"u"&&(i.map={}),i.map.inline||(i.map.inline=!1),i.map.prev=n.map);else{let o=yu;i.syntax&&(o=i.syntax.parse),i.parser&&(o=i.parser),o.parse&&(o=o.parse);try{r=o(n,i)}catch(s){this.processed=!0,this.error=s}r&&!r[Au]&&hu.rebuild(r)}this.result=new es(e,r,i),this.helpers={...Mi,postcss:Mi,result:this.result},this.plugins=this.processor.plugins.map(o=>typeof o=="object"&&o.prepare?{...o,...o.prepare(this.result)}:o)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,n){let i=this.result.lastPlugin;try{n&&n.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=i.postcssPlugin,e.setMessage()):i.postcssVersion}catch(r){console&&console.error&&console.error(r)}return e}prepareVisitors(){this.listeners={};let e=(n,i,r)=>{this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push([n,r])};for(let n of this.plugins)if(typeof n=="object")for(let i in n){if(!wu[i]&&/^[A-Z]/.test(i))throw new Error(`Unknown event ${i} in ${n.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!Cu[i])if(typeof n[i]=="object")for(let r in n[i])r==="*"?e(n,i,n[i][r]):e(n,i+"-"+r.toLowerCase(),n[i][r]);else typeof n[i]=="function"&&e(n,i,n[i])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let e=0;e<this.plugins.length;e++){let n=this.plugins[e],i=this.runOnRoot(n);if(Kt(i))try{await i}catch(r){throw this.handleError(r)}}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];){e[Be]=!0;let n=[ts(e)];for(;n.length>0;){let i=this.visitTick(n);if(Kt(i))try{await i}catch(r){let o=n[n.length-1].node;throw this.handleError(r,o)}}}if(this.listeners.OnceExit)for(let[n,i]of this.listeners.OnceExit){this.result.lastPlugin=n;try{if(e.type==="document"){let r=e.nodes.map(o=>i(o,this.helpers));await Promise.all(r)}else await i(e,this.helpers)}catch(r){throw this.handleError(r)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let n=this.result.root.nodes.map(i=>e.Once(i,this.helpers));return Kt(n[0])?Promise.all(n):n}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(n){throw this.handleError(n)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,n=Su;e.syntax&&(n=e.syntax.stringify),e.stringifier&&(n=e.stringifier),n.stringify&&(n=n.stringify);let i=this.result.root.source;if(e.map===void 0&&!(i&&i.input&&i.input.map)){let s="";return n(this.result.root,c=>{s+=c}),this.result.css=s,this.result}let o=new xu(n,this.result.root,this.result.opts).generate();return this.result.css=o[0],this.result.map=o[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let n=this.runOnRoot(e);if(Kt(n))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[Be];)e[Be]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let n of e.nodes)this.visitSync(this.listeners.OnceExit,n);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,n){return this.async().then(e,n)}toString(){return this.css}visitSync(e,n){for(let[i,r]of e){this.result.lastPlugin=i;let o;try{o=r(n,this.helpers)}catch(s){throw this.handleError(s,n.proxyOf)}if(n.type!=="root"&&n.type!=="document"&&!n.parent)return!0;if(Kt(o))throw this.getAsyncError()}}visitTick(e){let n=e[e.length-1],{node:i,visitors:r}=n;if(i.type!=="root"&&i.type!=="document"&&!i.parent){e.pop();return}if(r.length>0&&n.visitorIndex<r.length){let[s,c]=r[n.visitorIndex];n.visitorIndex+=1,n.visitorIndex===r.length&&(n.visitors=[],n.visitorIndex=0),this.result.lastPlugin=s;try{return c(i.toProxy(),this.helpers)}catch(a){throw this.handleError(a,i)}}if(n.iterator!==0){let s=n.iterator,c;for(;c=i.nodes[i.indexes[s]];)if(i.indexes[s]+=1,!c[Be]){c[Be]=!0,e.push(ts(c));return}n.iterator=0,delete i.indexes[s]}let o=n.events;for(;n.eventIndex<o.length;){let s=o[n.eventIndex];if(n.eventIndex+=1,s===ht){i.nodes&&i.nodes.length&&(i[Be]=!0,n.iterator=i.getIterator());return}else if(this.listeners[s]){n.visitors=this.listeners[s];return}}e.pop()}walkSync(e){e[Be]=!0;let n=ns(e);for(let i of n)if(i===ht)e.nodes&&e.each(r=>{r[Be]||this.walkSync(r)});else{let r=this.listeners[i];if(r&&this.visitSync(r,e.toProxy()))return}}warnings(){return this.sync().warnings()}};Ke.registerPostcss=t=>{Mi=t};is.exports=Ke;Ke.default=Ke;bu.registerLazyResult(Ke);gu.registerLazyResult(Ke)});var os=te((bp,rs)=>{"use strict";var Fu=Ai(),Mu=wn(),Nu=Cn(),_u=Dt(),yp=Ci(),Jt=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,n=Mu;try{e=n(this._css,this._opts)}catch(i){this.error=i}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,n,i){n=n.toString(),this.stringified=!1,this._processor=e,this._css=n,this._opts=i,this._map=void 0;let r=_u;this.result=new Nu(this._processor,void 0,this._opts),this.result.css=n;let o=this;Object.defineProperty(this.result,"root",{get(){return o.root}});let s=new Fu(r,void 0,this._opts,n);if(s.isMap()){let[c,a]=s.generate();c&&(this.result.css=c),a&&(this.result.map=a)}else s.clearAnnotation(),this.result.css=s.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,n){return this.async().then(e,n)}toString(){return this._css}warnings(){return[]}};rs.exports=Jt;Jt.default=Jt});var as=te((Sp,ss)=>{"use strict";var Tu=mn(),Lu=Ni(),vu=os(),Ru=mt(),st=class{constructor(e=[]){this.version="8.5.14",this.plugins=this.normalize(e)}normalize(e){let n=[];for(let i of e)if(i.postcss===!0?i=i():i.postcss&&(i=i.postcss),typeof i=="object"&&Array.isArray(i.plugins))n=n.concat(i.plugins);else if(typeof i=="object"&&i.postcssPlugin)n.push(i);else if(typeof i=="function")n.push(i);else if(!(typeof i=="object"&&(i.parse||i.stringify)))throw new Error(i+" is not a PostCSS plugin");return n}process(e,n={}){return!this.plugins.length&&!n.parser&&!n.stringifier&&!n.syntax?new vu(this,e,n):new Lu(this,e,n)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};ss.exports=st;st.default=st;Ru.registerProcessor(st);Tu.registerProcessor(st)});var hs=te((Ap,ps)=>{"use strict";var ls=fn(),us=Ht(),ku=qe(),Du=cn(),cs=Gt(),ds=mn(),Iu=Io(),Pu=Vt(),Ou=Ni(),Bu=bi(),Hu=Ot(),Wu=wn(),_i=as(),Gu=Cn(),fs=mt(),ms=xn(),Uu=Dt(),Vu=wi();function le(...t){return t.length===1&&Array.isArray(t[0])&&(t=t[0]),new _i(t)}le.plugin=function(e,n){let i=!1;function r(...s){console&&console.warn&&!i&&(i=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(e+`: \\u91CC\\u9762 postcss.plugin \\u88AB\\u5F03\\u7528. \\u8FC1\\u79FB\\u6307\\u5357:\nhttps://www.w3ctech.com/topic/2226`));let c=n(...s);return c.postcssPlugin=e,c.postcssVersion=new _i().version,c}let o;return Object.defineProperty(r,"postcss",{get(){return o||(o=r()),o}}),r.process=function(s,c,a){return le([r(a)]).process(s,c)},r};le.stringify=Uu;le.parse=Wu;le.fromJSON=Iu;le.list=Bu;le.comment=t=>new us(t);le.atRule=t=>new ls(t);le.decl=t=>new cs(t);le.rule=t=>new ms(t);le.root=t=>new fs(t);le.document=t=>new ds(t);le.CssSyntaxError=Du;le.Declaration=cs;le.Container=ku;le.Processor=_i;le.Document=ds;le.Comment=us;le.Warning=Vu;le.AtRule=ls;le.Result=Gu;le.Input=Pu;le.Rule=ms;le.Root=fs;le.Node=Hu;Ou.registerPostcss(le);ps.exports=le;le.default=le});function ln(){return globalThis}function v(t,e){if(typeof window>"u")return;let n=ln(),i=n.__hf?.onSwallowed;if(i)try{i({label:t,error:e})}catch(r){}(n.__hfDebug||n.__HYPERFRAMES_DEBUG)&&console.debug(`[hyperframes] ${t} swallowed:`,e)}function Ee(t){try{window.parent.postMessage(t,"*")}catch(e){v("bridge.postMessage",e)}}var za={play:(t,e)=>e.onPlay(),pause:(t,e)=>e.onPause(),"stop-media":(t,e)=>e.onStopMedia(),seek:(t,e)=>e.onSeek(Number(t.frame??0),t.seekMode??"commit"),tick:(t,e)=>e.onTick(),"set-muted":(t,e)=>e.onSetMuted(!!t.muted),"set-volume":(t,e)=>e.onSetVolume(Math.max(0,Math.min(1,Number(t.volume??1)))),"set-media-output-muted":(t,e)=>e.onSetMediaOutputMuted(!!t.muted),"set-native-media-sync-disabled":(t,e)=>e.onSetNativeMediaSyncDisabled(!!t.disabled),"set-web-audio-media-disabled":(t,e)=>e.onSetWebAudioMediaDisabled(!!t.disabled),"set-playback-rate":(t,e)=>e.onSetPlaybackRate(Number(t.playbackRate??1)),"set-color-grading":(t,e)=>e.onSetColorGrading(t.target??null,t.grading??null),"set-color-grading-compare":(t,e)=>e.onSetColorGradingCompare(t.target??null,t.compare??null),"enable-pick-mode":(t,e)=>e.onEnablePickMode(),"disable-pick-mode":(t,e)=>e.onDisablePickMode(),"flash-elements":t=>ja(t)};function ja(t){let e=t.selectors,n=t.duration||800;e&&qa(e,n)}function dr(t){let e=n=>{let i=n.data;if(!i||i.source!=="hf-parent"||i.type!=="control")return;let r=i.action;if(typeof r!="string")return;let o=za[r];o&&o(i,t)};return window.addEventListener("message",e),Ee({source:"hf-preview",type:"ready"}),e}function qa(t,e){if(!document.getElementById("__hf-flash-styles")){let n=document.createElement("style");n.id="__hf-flash-styles",n.textContent=`\n .__hf-flash {\n outline: 2px solid rgba(59, 130, 246, 0.6) !important;\n outline-offset: 2px !important;\n animation: __hf-flash-pulse ${e}ms ease-out forwards !important;\n }\n @keyframes __hf-flash-pulse {\n 0% { outline-color: rgba(59, 130, 246, 0.8); }\n 100% { outline-color: transparent; }\n }\n `,document.head.appendChild(n)}for(let n of t)try{document.querySelectorAll(n).forEach(r=>{r.classList.add("__hf-flash"),setTimeout(()=>r.classList.remove("__hf-flash"),e)})}catch(i){v("bridge.flashElements.querySelector",i)}}var qn=null;function fr(t){qn=t}function it(t,e){if(qn)try{qn({source:"hf-preview",type:"analytics",event:t,properties:e??{}})}catch(n){v("runtime.analytics.site1",n)}}function mr(t){let e=[],n=l=>{if(typeof l.getAnimations!="function")return[];try{return l.getAnimations()}catch{return[]}},i=l=>t?.resolveStartSeconds?t.resolveStartSeconds(l):Number.parseFloat(l.getAttribute("data-start")??"0")||0,r=(l,u)=>{let m=null;try{m=l.effect?.getComputedTiming?.()??null}catch(x){v("runtime.adapters.css.site5",x)}if(!m)return{};let f=Number(m.endTime);return Number.isFinite(f)?{endSeconds:u+f/1e3}:{unbounded:!0}},o=(l,u)=>{for(let m of l){try{m.currentTime=u}catch(f){v("runtime.adapters.css.site1",f)}try{m.pause()}catch(f){v("runtime.adapters.css.site2",f)}}},s=l=>{for(let u of l)try{u.play()}catch(m){v("runtime.adapters.css.site3",m)}},c=l=>{for(let u of l)try{u.pause()}catch(m){v("runtime.adapters.css.site4",m)}},a=l=>{l.baseDelay?l.el.style.animationDelay=l.baseDelay:l.el.style.removeProperty("animation-delay"),l.basePlayState?l.el.style.animationPlayState=l.basePlayState:l.el.style.removeProperty("animation-play-state")};return{name:"css",discover:()=>{e=[];let l=document.querySelectorAll("*");for(let u of l){if(!(u instanceof HTMLElement))continue;let m=window.getComputedStyle(u);!m.animationName||m.animationName==="none"||e.push({el:u,baseDelay:u.style.animationDelay||"",basePlayState:u.style.animationPlayState||"",animations:n(u)})}},getInferredDurationSeconds:()=>{let l=0;for(let u of e){if(!u.el.isConnected)continue;let m=i(u.el);for(let f of n(u.el)){let x=r(f,m);x.endSeconds!=null&&(l=Math.max(l,x.endSeconds))}}return l>0?l:null},seek:l=>{let u=Number(l.time)||0;for(let m of e){if(!m.el.isConnected)continue;let f=i(m.el),x=Math.max(0,u-f)*1e3,A=m.animations;if(A.length>0){o(A,x);continue}m.el.style.animationPlayState="paused",m.el.style.animationDelay=`-${(x/1e3).toFixed(3)}s`}},pause:()=>{for(let l of e){if(!l.el.isConnected)continue;let u=l.animations;u.length>0&&c(u),a(l)}},play:()=>{for(let l of e)l.el.isConnected&&(a(l),s(l.animations))},revert:()=>{e=[]}}}function pr(t){return{name:"gsap",discover:()=>{},seek:e=>{let n=t.getTimeline();if(!n)return;n.pause();let i=Math.max(0,Number(e.time)||0);typeof n.totalTime=="function"?(n.totalTime(i+.001,!0),n.totalTime(i,!1)):n.seek(i,!1)},pause:()=>{let e=t.getTimeline();e&&e.pause()}}}function hr(){return{name:"animejs",discover:()=>{try{let t=window.anime;if(!t||typeof t.running>"u")return;let e=t.running;if(!Array.isArray(e)||e.length===0)return;let n=window.__hfAnime??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfAnime=n}catch(t){v("runtime.adapters.animejs.site1",t)}},seek:t=>{let e=Math.max(0,(Number(t.time)||0)*1e3),n=window.__hfAnime;if(!(!n||n.length===0))for(let i of n)try{typeof i.seek=="function"&&i.seek(e)}catch(r){v("runtime.adapters.animejs.site2",r)}},pause:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.pause=="function"&&e.pause()}catch(n){v("runtime.adapters.animejs.site3",n)}},play:()=>{let t=window.__hfAnime;if(!(!t||t.length===0))for(let e of t)try{typeof e.play=="function"&&e.play()}catch(n){v("runtime.adapters.animejs.site4",n)}},revert:()=>{}}}function xr(){return{name:"lottie",discover:()=>{try{let t=window.lottie;if(t&&typeof t.getRegisteredAnimations=="function"){let e=t.getRegisteredAnimations();if(Array.isArray(e)&&e.length>0){let n=window.__hfLottie??[],i=new Set(n);for(let r of e)i.has(r)||n.push(r);window.__hfLottie=n}}}catch(t){v("runtime.adapters.lottie.site1",t)}},seek:t=>{let e=Math.max(0,Number(t.time)||0),n=window.__hfLottie;if(!(!n||n.length===0))for(let i of n)try{if($n(i))i.goToAndStop(e*1e3,!1);else if(Kn(i)){if(typeof i.setCurrentRawFrameValue=="function"){let r=i.totalFrames??0,o=i.frameRate??30,s=e*o;r>0&&i.setCurrentRawFrameValue(Math.min(s,r-1))}else if(typeof i.seek=="function"){let r=i.duration??1,o=Math.min(100,e/r*100);i.seek(o)}}}catch(r){v("runtime.adapters.lottie.site2",r)}},pause:()=>{let t=window.__hfLottie;if(!(!t||t.length===0))for(let e of t)try{($n(e)||Kn(e))&&e.pause()}catch(n){v("runtime.adapters.lottie.site3",n)}},revert:()=>{},getInferredDurationSeconds:()=>{let t=window.__hfLottie;if(!t||t.length===0)return null;let e=0,n=!1;for(let i of t){let r=null;try{r=$a(i)}catch(o){v("runtime.adapters.lottie.site4",o)}r!=null&&(n=!0,e=Math.max(e,r))}return n?e:null}}}function gr(t,e){return!Number.isFinite(t)||!t||t<=0||!Number.isFinite(e)||!e||e<=0?null:t/e}function $a(t){return $n(t)?gr(t.totalFrames,t.frameRate):Kn(t)?Number.isFinite(t.duration)&&(t.duration??0)>0?t.duration??null:gr(t.totalFrames,t.frameRate):null}function $n(t){return typeof t=="object"&&t!==null&&typeof t.goToAndStop=="function"}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.pause=="function"&&("totalFrames"in t||"duration"in t)}var Jn=-1;function un(t){if(t!==Jn){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.site1",e)}}}function yr(t){Jn=t;try{window.dispatchEvent(new CustomEvent("hf-seek",{detail:{time:t}}))}catch(e){v("runtime.adapters.seek-dispatch.force",e)}}function br(){let t=null,e=0,n=null,i=null,r=null,o=null,s=()=>{if(typeof window>"u")return null;let u=window.THREE?.DefaultLoadingManager;return!u||typeof u!="object"||typeof u.itemsLoaded!="number"||typeof u.itemsTotal!="number"?null:u},c=l=>{o||l.itemsTotal<=l.itemsLoaded||(o=new Promise(u=>{l.onLoad=function(){try{r?.call(this)}finally{o=null,l.onLoad=r??null,u()}}}))},a=l=>{n!==l&&(n=l,i=l.onStart??null,r=l.onLoad??null,l.onStart=function(u,m,f){try{i?.call(this,u,m,f)}finally{c(l)}})};return{name:"three",discover:()=>{let l=s();l&&(a(l),c(l))},seek:l=>{t=Math.max(0,Number(l.time)||0),e=t,window.__hfThreeTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0},getReadyPromise:()=>{let l=s();return!l||l.itemsTotal<=l.itemsLoaded?null:(o||c(l),o)}}}function Oe(t){let e=null,n=new WeakSet;return{name:t.name,discover:()=>{},seek:()=>{},pause:()=>{},play:()=>{},revert:()=>{},getReadyPromise:()=>{let i=t.getInstances();if(i.length===0)return null;let r=i.filter(o=>!n.has(o));return r.length===0?null:e||(e=Promise.allSettled(r.map(o=>t.waitFor(o).then(()=>{n.add(o)}))).then(()=>{e=null}),e)}}}function Sr(){return Oe({name:"mapbox",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMapbox;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Ar(){return Oe({name:"leaflet",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfLeaflet;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>t.whenReady(e))})}function Er(){return Oe({name:"google-maps",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfGoogleMaps;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{let n=t.addListener("tilesloaded",()=>{n.remove(),e()})})})}function wr(){return Oe({name:"maplibre",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfMaplibre;return Array.isArray(t)?t:[]},waitFor:t=>new Promise(e=>{if(t.loaded()){e();return}t.on("load",e)})})}function Cr(){return Oe({name:"d3",getInstances:()=>{if(typeof window>"u")return[];let t=window.__hfD3;return Array.isArray(t)?t:[]},waitFor:t=>t.end()})}function Fr(){let t=null,e=0;return{name:"typegpu",discover:()=>{},seek:n=>{t=Math.max(0,Number(n.time)||0),e=t,window.__hfTypegpuTime=t,un(t)},pause:()=>{t==null&&(t=Math.max(0,e))},play:()=>{t=null},revert:()=>{t=null,e=0}}}function Mr(t){let e=t.nextElementSibling;if(e instanceof HTMLImageElement&&e.classList.contains("__render_frame__")&&e.complete&&e.naturalWidth>0)return e;if(t.id){let n=document.getElementById(`__render_frame_${t.id}__`);if(n instanceof HTMLImageElement&&n.complete&&n.naturalWidth>0)return n}return null}function Nr(){let t=globalThis.GPUQueue;if(!t?.prototype?.copyExternalImageToTexture)return;let e=t.prototype.copyExternalImageToTexture;t.prototype.copyExternalImageToTexture=function(n,i,r){if(n?.source instanceof HTMLVideoElement){let o=Mr(n.source);if(o)return e.call(this,{...n,source:o},i,r)}return e.call(this,n,i,r)}}function _r(){let t=[globalThis.WebGL2RenderingContext,globalThis.WebGLRenderingContext],e=["texImage2D","texSubImage2D"];for(let n of t){let i=n?.prototype;if(i)for(let r of e){let o=i[r];if(typeof o!="function"||o.__hfVideoPatched)continue;let s=function(...c){let a=c.length-1,l=c[a];if(l instanceof HTMLVideoElement){let u=Mr(l);u&&(c[a]=u)}return o.apply(this,c)};s.__hfVideoPatched=!0,i[r]=s}}}function Tr(){let t=!1,e=0,n=!1,i,r,o,s=new Set,c=new WeakMap,a=()=>{if(!document.getAnimations)return[];try{return document.getAnimations()}catch{return[]}},l=g=>{let w=Number(g.currentTime);return Number.isFinite(w)&&w>0?w:0},u=(g,w)=>w<=0?g:g>=w?Math.max(0,g-w):g,m=(g,w)=>{let N=c.get(g);if(N)return N;let L={compositionTimeMs:w,animationTimeMs:t?u(l(g),w):l(g)};return c.set(g,L),L},f=(g,w)=>{if(!s.has(g)){s.add(g);let N=()=>{s.delete(g)};try{g.addEventListener("finish",N,{once:!0}),g.addEventListener("cancel",N,{once:!0})}catch(L){v("runtime.adapters.waapi.site4",L)}}m(g,w)},x=(g,w)=>{for(let N of g)f(N,w)},A=()=>{if(n||typeof Element>"u")return;let g=Element.prototype;if(typeof g.animate!="function"||g.__hfOriginalAnimate)return;let w=g.animate;try{Object.defineProperty(g,"__hfOriginalAnimate",{value:w,configurable:!0});let N=function(...L){let $=w.apply(this,L);return f($,e),$};g.animate=N,i=g,r=w,o=N,n=!0}catch{}},y=g=>{let w=null;try{w=g.effect?.getComputedTiming?.()??null}catch($){v("runtime.adapters.waapi.site4",$)}if(!w)return{};let N=Number(w.endTime);return Number.isFinite(N)?{endSeconds:(c.get(g)?.compositionTimeMs??0)/1e3+N/1e3}:{unbounded:!0}};return{name:"waapi",discover:()=>{t=!0,A(),x(a(),e)},seek:g=>{let w=Math.max(0,(Number(g.time)||0)*1e3);e=w,(!t||s.size>0)&&x(a(),t?w:0);for(let N of s){let L=t?m(N,w):m(N,0),$=L.animationTimeMs+Math.max(0,w-L.compositionTimeMs);try{N.currentTime=$}catch(B){v("runtime.adapters.waapi.site1",B)}try{N.pause()}catch(B){v("runtime.adapters.waapi.site2",B)}}},pause:()=>{t||x(a(),e);for(let g of s)try{g.pause()}catch(w){v("runtime.adapters.waapi.site3",w)}},revert:()=>{if(s.clear(),c=new WeakMap,t=!1,e=0,i&&r&&o&&i.animate===o)try{i.animate=r,i.__hfOriginalAnimate===r&&delete i.__hfOriginalAnimate}catch(g){v("runtime.adapters.waapi.site5",g)}i=void 0,r=void 0,o=void 0,n=!1},getInferredDurationSeconds:()=>{let g=0;for(let w of a()){let N=y(w);N.endSeconds!=null&&(g=Math.max(g,N.endSeconds))}return g>0?g:null}}}function Lr(t,e){if(t.length===0)return 1;let n=0;for(;n<t.length-2&&e>=t[n+1].time;)n+=1;let i=t[n],r=t[n+1]??i,o=r.time-i.time,s=o<=0?0:Math.min(1,Math.max(0,(e-i.time)/o));return i.volume+(r.volume-i.volume)*s}function Ka(t,e,n,i){let r=Number.parseFloat(t.dataset.start??"0")||0,o=Number.parseFloat(t.dataset.end??""),s=Number.parseFloat(t.dataset.duration??""),c=Number.isFinite(o)&&o>r?o:Number.isFinite(s)&&s>0?r+s:n,a=Number.parseFloat(t.dataset.volume??""),l=Number.isFinite(a)?Math.max(0,Math.min(1,a)):1;t.volume=l;let u=1/Math.min(60,Math.max(1,i)),m=Math.max(0,r),f=Math.min(n,c),x=[];for(let y=m;y<=f+1e-6;y+=u){let g=Math.min(f,y);e(g);let w=Number(t.volume);if(!Number.isFinite(w))continue;let N=Math.max(0,Math.min(1,w)),L=x.at(-1);if((!L||Math.abs(L.volume-N)>1e-4||g===f)&&x.push({time:Number(g.toFixed(6)),volume:Number(N.toFixed(6))}),g===f)break}return x.some(y=>Math.abs(y.volume-l)>1e-4)?x:null}function vr(t,e,n,i){if(!e||!(t instanceof HTMLAudioElement)&&!(t instanceof HTMLVideoElement)||n<=0)return;let o=Ka(t,s=>{try{typeof e.totalTime=="function"?e.totalTime(s,!0):typeof e.seek=="function"&&e.seek(s,!0)}catch{}},n,60);o&&i.set(t,o)}function Nt(t){let e=t.defaultPlaybackRate;return Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1}function Rr(t){let e=Array.from(document.querySelectorAll("video, audio")),n=t?.shouldIncludeElement?e.filter(s=>t.shouldIncludeElement?.(s)):e.filter(s=>s.hasAttribute("data-start")),i=[],r=[],o=0;for(let s of n){let c=t?.resolveStartSeconds?t.resolveStartSeconds(s):Number.parseFloat(s.dataset.start??"0");if(!Number.isFinite(c))continue;let a=Number.parseFloat(s.dataset.playbackStart??s.dataset.mediaStart??"0")||0,l=Nt(s),u=s.loop,m=Number.isFinite(s.duration)&&s.duration>0?s.duration:null,f=t?.resolveDurationSeconds?.(s)??Number.parseFloat(s.dataset.duration??"");(!Number.isFinite(f)||f<=0)&&m!=null&&(f=Math.max(0,(m-a)/l));let x=Number.isFinite(f)&&f>0?c+f:Number.POSITIVE_INFINITY,A=Number.parseFloat(s.dataset.volume??""),y={el:s,start:c,mediaStart:a,duration:Number.isFinite(f)&&f>0?f:Number.POSITIVE_INFINITY,end:x,volume:Number.isFinite(A)?A:null,playbackRate:l,loop:u,sourceDuration:m};i.push(y),s.tagName==="VIDEO"&&r.push(y),Number.isFinite(x)&&(o=Math.max(o,x))}return{timedMediaEls:n,mediaClips:i,videoClips:r,maxMediaEnd:o}}var Yn=new WeakMap,Ft=new WeakMap,Xn=new WeakSet,ut=new WeakSet;function Ja(t){if(ut.has(t))return;ut.add(t);let e=()=>ut.delete(t);t.addEventListener("playing",e,{once:!0}),t.addEventListener("pause",e,{once:!0}),t.addEventListener("error",e,{once:!0})}var Ya=3;function Xa(t){return t.error!=null||t.networkState===Ya}var Qn=new WeakMap;function Mt(t){return Number.isFinite(t)?Math.max(0,Math.min(1,t)):1}function kr(t){let e=!!(t.outputMuted||t.userMuted);for(let n of t.clips){let{el:i}=n;if(!i.isConnected)continue;let r=(t.timeSeconds-n.start)*n.playbackRate+n.mediaStart;if(t.timeSeconds>=n.start&&t.timeSeconds<=n.end&&r>=0&&(!i.ended||n.loop)){if(n.loop&&n.sourceDuration!=null&&n.sourceDuration>0){let T=n.sourceDuration-n.mediaStart;T>0&&r>=n.sourceDuration&&(r=n.mediaStart+(r-n.mediaStart)%T)}let s=Mt(t.userVolume??1),c=Mt(n.volume??1),a=Qn.get(i),l=Mt(i.volume),u;n.volumeKeyframes&&n.volumeKeyframes.length>0?u=Mt(Lr(n.volumeKeyframes,r)):a===void 0||Math.abs(l-a)>1e-4?u=l:u=c;let m=Mt(u*s);i.volume=m,Qn.set(i,m),t.onElementVolume?.(i,m),(e||t.isWebAudioOwned?.(i))&&(i.muted=!0),i.preload!=="auto"&&(i.preload="auto");try{i.playbackRate=n.playbackRate*t.playbackRate}catch(T){v("runtime.media.site1",T)}let f=.04,x=2,A=i.currentTime||0,y=Math.abs(A-r),g=r-A,w=Yn.get(i);Yn.set(i,g);let N=w===void 0,L=!N&&Math.abs(g-w)>.5,$=y>3,B=y>.5&&(N||L||$),_=i.tagName==="VIDEO"&&!i.paused,S=w!==void 0&&Math.abs(g-w)<.004,C=!1;if(!_&&!B&&!N&&S&&y>f){let T=(Ft.get(i)??0)+1;Ft.set(i,T),T>=x&&(C=!0,Ft.set(i,0))}else y<=f&&Ft.set(i,0);let F=!_&&t.forceSync&&y>.02;if(B||C||F){if(!(i.tagName==="VIDEO"&&i.id&&!!document.getElementById(`__render_frame_${i.id}__`))){try{i.currentTime=r}catch(R){v("runtime.media.site2",R)}if(Math.abs(i.currentTime-r)>.5&&!Xn.has(i)){Xn.add(i),i.load();try{i.currentTime=r}catch(R){v("runtime.media.site3",R)}}}ut.delete(i)}t.playing&&i.paused&&!ut.has(i)&&!Xa(i)?(Ja(i),i.play().catch(T=>{ut.delete(i),(T&&typeof T=="object"&&"name"in T?String(T.name??""):"")==="NotAllowedError"&&t.onAutoplayBlocked?.()})):!t.playing&&!i.paused&&i.pause();continue}Yn.delete(i),Ft.delete(i),Xn.delete(i),Qn.delete(i),i.paused||i.pause()}}var Qa=["[data-hyperframes-ignore]","[data-hyperframes-picker-ignore]","[data-hf-ignore]","[data-no-inspect]","[data-no-pick]","[data-hyper-shader-loading]"].join(","),Za=["[data-hyperframes-picker-block]","[data-hyper-shader-loading]"].join(","),el="data-hf-color-grading-source-hidden";function Dr(t){let e=!1,n=null,i=null,r=null,o=null;function s(S,C){try{window.dispatchEvent(new CustomEvent(S,{detail:C}))}catch(F){v("runtime.picker.site1",F)}}function c(S){r=S,s("hyperframe:picker:hovered",{elementInfo:r,isPickMode:e,timestamp:Date.now()})}function a(S){o=S,s("hyperframe:picker:selected",{elementInfo:o,isPickMode:e,timestamp:Date.now()})}function l(S){let C=S.ownerDocument.defaultView;if(!C)return!1;let F=S;for(;F&&F!==document.body&&F!==document.documentElement;){let T=C.getComputedStyle(F);if(T.display==="none"||T.visibility==="hidden"||T.pointerEvents==="none")return!0;let R=Number.parseFloat(T.opacity);if(Number.isFinite(R)&&R<=.01&&!F.hasAttribute(el))return!0;F=F.parentElement}return!1}function u(S){if(!S||S===document.body||S===document.documentElement)return!1;let C=S.tagName.toLowerCase();return!(C==="script"||C==="style"||C==="link"||C==="meta"||S.classList.contains("__hf-pick-highlight")||S.closest(Qa)||l(S))}function m(S){return!!S?.closest(Za)}function f(S){let C=S;if(C.id)return`#${C.id}`;let F=S.getAttribute("data-composition-id");if(F)return`[data-composition-id="${CSS.escape(F)}"]`;let T=S.getAttribute("data-composition-src");if(T)return`[data-composition-src="${CSS.escape(T)}"]`;let R=S.getAttribute("data-track-index");if(R)return`[data-track-index="${CSS.escape(R)}"]`;let G=S.tagName.toLowerCase(),j=S.parentElement;if(!j)return G;let ie=j.querySelectorAll(`:scope > ${G}`);if(ie.length===1)return G;for(let P=0;P<ie.length;P+=1)if(ie[P]===S)return`${G}:nth-of-type(${P+1})`;return G}function x(S){let C=S.tagName.toLowerCase(),F=(S.textContent??"").trim().replace(/\\s+/g," "),T=(R,G)=>R.length>G?`${R.slice(0,G-1)}\\u2026`:R;return C==="h1"||C==="h2"||C==="h3"?"Heading":C==="p"||C==="span"||C==="div"?F.length>0?T(F,56):"Text":C==="img"?"Image":C==="video"?"Video":C==="audio"?"Audio":C==="svg"?"Shape":S.getAttribute("data-composition-src")?"Composition":C==="section"?"Section":`${C.charAt(0).toUpperCase()}${C.slice(1)}`}function A(S,C,F){let T=typeof F=="number"&&F>0?F:8,R=[];if(document.elementsFromPoint)R=document.elementsFromPoint(S,C);else if(document.elementFromPoint){let ie=document.elementFromPoint(S,C);R=ie?[ie]:[]}if(m(R[0]??null))return[];let G={},j=[];for(let ie=0;ie<R.length;ie+=1){let P=R[ie];if(!u(P))continue;let se=`${P.tagName}::${P.id||""}::${ie}`;if(!G[se]&&(G[se]=!0,j.push(P),j.length>=T))break}return j}function y(S){let C=S.getBoundingClientRect(),F={};for(let R=0;R<S.attributes.length;R+=1){let G=S.attributes[R];G.name.startsWith("data-")&&(F[G.name]=G.value)}return{id:S.id||null,tagName:S.tagName.toLowerCase(),selector:f(S),label:x(S),boundingBox:{x:C.left,y:C.top,width:C.width,height:C.height},textContent:S.textContent?S.textContent.trim().slice(0,200):null,src:S.getAttribute("src")||S.getAttribute("data-composition-src")||null,dataAttributes:F}}function g(S,C,F){return A(S,C,F).map(y)}function w(S){if(!e)return;let F=A(S.clientX,S.clientY,1)[0]??(S.target instanceof Element?S.target:null);if(!u(F)||n===F)return;n&&n.classList.remove("__hf-pick-highlight"),n=F,F.classList.add("__hf-pick-highlight");let T=y(F);c(T),t.postMessage({source:"hf-preview",type:"element-hovered",elementInfo:T})}function N(S){if(!e)return;S.preventDefault(),S.stopPropagation(),S.stopImmediatePropagation();let C=g(S.clientX,S.clientY,8);C.length!==0&&(c(C[0]??null),t.postMessage({source:"hf-preview",type:"element-pick-candidates",candidates:C,selectedIndex:0,point:{x:S.clientX,y:S.clientY}}))}function L(S){S.key==="Escape"&&(B(),t.postMessage({source:"hf-preview",type:"pick-mode-cancelled"}))}function $(){e||(e=!0,i=document.createElement("style"),i.textContent=[".__hf-pick-highlight { outline: 2px solid #4f8cf7 !important; outline-offset: 2px; cursor: crosshair !important; }",".__hf-pick-active * { cursor: crosshair !important; }"].join(`\n`),document.head.appendChild(i),document.body.classList.add("__hf-pick-active"),document.addEventListener("mousemove",w,!0),document.addEventListener("click",N,!0),document.addEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!0,timestamp:Date.now()}))}function B(){e&&(e=!1,n&&(n.classList.remove("__hf-pick-highlight"),n=null),i&&(i.remove(),i=null),document.body.classList.remove("__hf-pick-active"),document.removeEventListener("mousemove",w,!0),document.removeEventListener("click",N,!0),document.removeEventListener("keydown",L,!0),s("hyperframe:picker:mode",{isPickMode:!1,timestamp:Date.now()}))}function _(){window.__HF_PICKER_API={enable:$,disable:B,isActive:()=>e,getHovered:()=>r,getSelected:()=>o,getCandidatesAtPoint:(S,C,F)=>Number.isFinite(S)&&Number.isFinite(C)?g(S,C,F):[],pickAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return null;let T=g(S,C,8);if(!T.length)return null;let R=Math.max(0,Math.min(T.length-1,Number(F??0))),G=T[R]??null;return G?(a(G),t.postMessage({source:"hf-preview",type:"element-picked",elementInfo:G}),B(),G):null},pickManyAtPoint:(S,C,F)=>{if(!Number.isFinite(S)||!Number.isFinite(C))return[];let T=g(S,C,8);if(!T.length)return[];let R=[],G=Array.isArray(F)?F:[0];for(let j of G){let ie=Math.max(0,Math.min(T.length-1,Math.floor(Number(j)))),P=T[ie];if(!P)continue;R.some(Se=>Se.selector===P.selector&&Se.tagName===P.tagName)||R.push(P)}return R.length?(a(R[0]??null),t.postMessage({source:"hf-preview",type:"element-picked-many",elementInfos:R}),B(),R):[]}},s("hyperframe:picker:api-ready",{hasApi:!0,timestamp:Date.now()})}return{enablePickMode:$,disablePickMode:B,installPickerApi:_}}var tl=["width","height","top","left","right","bottom","inset","object-fit","object-position","z-index","opacity","visibility","filter","mix-blend-mode","backdrop-filter","border-radius","overflow","clip-path","mask","mask-image","mask-size","mask-position","mask-repeat","transform","transform-origin","translate","rotate","scale","box-sizing"];function ct(t,e){let n=Number.isFinite(e)&&e>0?e:30,i=Number.isFinite(t)&&t>0?t:0;return Math.floor(i*n+1e-9)/n}function Ir(t,e,n=tl){for(let i of n){let r=e.getPropertyValue(i);r&&t.setProperty(i,r)}}function _t(t,e,n){let i=t?.[e];return typeof i=="function"?Number(i.call(t))||n:typeof i=="number"&&Number.isFinite(i)?i:(i!=null&&v("runtime.player.nonConformantNum",{prop:e,actual:typeof i}),n)}function Re(t,e){let n=t?.[e];if(typeof n=="function"){n.call(t);return}n!==void 0&&v("runtime.player.nonConformantVoid",{method:e,actual:typeof n})}function Tt(t,e,n){if(t){for(let i of Object.values(t))if(!(!i||i===e))try{n(i)}catch(r){v("runtime.player.site1",r)}}}function Pr(t,e,n){let i=ct(e,n);return Re(t,"pause"),typeof t.totalTime=="function"?t.totalTime(i,!1):typeof t.seek=="function"&&t.seek(i,!1),i}function nl(t,e,n,i){let r=[];Tt(t,e,o=>{Re(o,"play"),r.push(o)});try{return Pr(e,n,i)}finally{for(let o of r)try{Re(o,"pause")}catch(s){v("runtime.player.site2",s)}}}function il(t,e){Tt(t,e,n=>{Re(n,"play")})}function Or(t){return{_timeline:null,play:()=>{let e=t.getTimeline();if(!e||t.getIsPlaying())return;let n=Math.max(0,Number(t.getSafeDuration?.()??_t(e,"duration",0))||0);n>0&&Math.max(0,_t(e,"time",0))>=n&&(Re(e,"pause"),typeof e.seek=="function"&&e.seek(0,!1),t.onDeterministicSeek(0),t.setIsPlaying(!1),t.onSyncMedia(0,!1),t.onRenderFrameSeek(0)),typeof e.timeScale=="function"&&e.timeScale(t.getPlaybackRate()),Re(e,"play"),Tt(t.getTimelineRegistry?.(),e,i=>{typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play")}),t.onDeterministicPlay(),t.setIsPlaying(!0),t.onShowNativeVideos(),t.onStatePost(!0)},pause:()=>{let e=t.getTimeline();if(!e)return;Re(e,"pause"),Tt(t.getTimelineRegistry?.(),e,i=>{Re(i,"pause")});let n=Math.max(0,_t(e,"time",0));t.onDeterministicSeek(n),t.onDeterministicPause(),t.setIsPlaying(!1),t.onSyncMedia(n,!1),t.onRenderFrameSeek(n),t.onStatePost(!0)},seek:(e,n)=>{let i=t.getTimeline();if(!i)return;let r=Math.max(0,Number(e)||0),o=t.getIsPlaying(),s=nl(t.getTimelineRegistry?.(),i,r,t.getCanonicalFps());t.onDeterministicSeek(s),n?.keepPlaying&&o?(typeof i.timeScale=="function"&&i.timeScale(t.getPlaybackRate()),Re(i,"play"),Tt(t.getTimelineRegistry?.(),i,c=>{typeof c.timeScale=="function"&&c.timeScale(t.getPlaybackRate()),Re(c,"play")}),t.onDeterministicPlay(),t.onShowNativeVideos(),t.onSyncMedia(s,!0)):(t.setIsPlaying(!1),t.onSyncMedia(s,!1)),t.onRenderFrameSeek(s),t.onStatePost(!0)},renderSeek:e=>{let n=t.getTimeline(),i=t.getCanonicalFps(),r=n?(il(t.getTimelineRegistry?.(),n),Pr(n,e,i)):ct(Math.max(0,Number(e)||0),i);t.onDeterministicSeek(r),t.setIsPlaying(!1),t.onSyncMedia(r,!1),t.onRenderFrameSeek(r),t.onStatePost(!0)},getTime:()=>_t(t.getTimeline(),"time",0),getDuration:()=>_t(t.getTimeline(),"duration",0),isPlaying:()=>t.getIsPlaying(),setPlaybackRate:e=>t.setPlaybackRate(e),getPlaybackRate:()=>t.getPlaybackRate()}}function Br(){return{capturedTimeline:null,isPlaying:!1,currentTime:0,deterministicAdapters:[],canonicalFps:30,bridgeMuted:!1,bridgeVolume:1,mediaOutputMuted:!1,nativeMediaSyncDisabled:!1,webAudioMediaDisabled:!1,mediaAutoplayBlockedPosted:!1,mediaForceSyncNextTick:!1,playbackRate:1,bridgeLastPostedFrame:-1,bridgeLastPostedAt:0,bridgeLastPostedPlaying:!1,bridgeLastPostedMuted:!1,bridgeMaxPostIntervalMs:80,controlBridgeHandler:null,beforeUnloadHandler:null,injectedCompStyles:[],injectedCompScripts:[],cachedTimedMediaEls:[],cachedMediaClips:[],cachedVideoClips:[],cachedMediaTimelineDurationSeconds:0,tornDown:!1,transportClock:null,transportRafId:null}}var rl=new Set(["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"]);function ei(t){return t.id||t.getAttribute("data-hf-id")||null}function Zn(t){if(t==null)return null;let e=Number(t);return Number.isFinite(e)?e:null}function ol(t,e){let n=t.getAttribute("data-composition-id");if(!n)return null;let i=Number(e[n]?.duration?.());return Number.isFinite(i)&&i>0?i:null}function sl(t){if(!(t instanceof HTMLMediaElement)||!Number.isFinite(t.duration))return null;let e=Zn(t.getAttribute("data-playback-start"))??Zn(t.getAttribute("data-media-start"))??0;return t.duration>e?t.duration-e:null}function al(t,e,n,i){let r=Zn(t.getAttribute("data-duration"));return r!=null&&r>0?r:ol(t,e)??sl(t)??Math.max(0,n-i)}function ll(t){for(let[e,n]of t){let i=e.parentElement;for(;i;){let r=t.get(i);if(r){n.parentId=r.id,r.children.push(n);break}i=i.parentElement}}}function Hr(t){let{startResolver:e,timelineRegistry:n,rootDuration:i}=t,r=new Map,o=document.querySelector("[data-composition-id]"),s=0;for(let c of document.querySelectorAll("[data-start]")){if(c===o||rl.has(c.tagName))continue;let a=e.resolveStartForElement(c,0);if(al(c,n,i,a)<=0)continue;let l={id:ei(c)??`__clip-${s++}`,element:c,parentId:null,children:[]};r.set(c,l)}return ll(r),{roots:Array.from(r.values()).filter(c=>c.parentId===null)}}var ul="data-hf-authored-duration",cl="data-hf-authored-end";function rt(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function dl(t){return rt(t.getAttribute("data-duration"))}function fl(t){return rt(t.getAttribute("data-end"))}function ml(t){return rt(t.getAttribute(ul))}function pl(t){return rt(t.getAttribute(cl))}function hl(t){let e=(t??"").trim();if(!e)return null;let n=rt(e);if(n!=null)return{kind:"absolute",value:n};let i=e.match(/^([A-Za-z0-9_.:-]+)(?:\\s*([+-])\\s*([0-9]*\\.?[0-9]+))?$/);if(!i)return null;let r=(i[1]??"").trim();if(!r)return null;let o=i[2]??"+",s=i[3]??"0",c=Number.parseFloat(s),a=Number.isFinite(c)?Math.max(0,c):0,l=o==="-"?-a:a;return{kind:"reference",refId:r,offset:l}}function ze(t){let e=t.timelineRegistry??{},n=t.includeAuthoredTimingAttrs??!1,i=new WeakMap,r=new WeakMap,o=new Set,s=u=>{let m=document.getElementById(u);return m||(document.querySelector(`[data-composition-id="${CSS.escape(u)}"]`)??null)},c=u=>{let m=r.get(u);if(m!==void 0)return m;let f=null,x=dl(u)??(n?ml(u):null);if(x!=null&&x>0&&(f=x),f==null||f<=0){let A=fl(u)??(n?pl(u):null);if(A!=null){let y=l(u,0),g=A-y;Number.isFinite(g)&&g>0&&(f=g)}}if((f==null||f<=0)&&u instanceof HTMLMediaElement){let A=rt(u.getAttribute("data-playback-start"))??rt(u.getAttribute("data-media-start"))??0;Number.isFinite(u.duration)&&u.duration>A&&(f=(u.duration-A)/Nt(u))}if(f==null||f<=0){let A=u.getAttribute("data-composition-id");if(A){let y=e[A]??null;if(y&&typeof y.duration=="function")try{let g=Number(y.duration());Number.isFinite(g)&&g>0&&(f=g)}catch(g){v("runtime.startResolver.site1",g)}}}return f!=null&&Number.isFinite(f)&&f>0?(r.set(u,f),f):(r.set(u,null),null)},a=(u,m)=>{if(u.hasAttribute("data-composition-id")){let x=u.parentElement?.closest("[data-composition-id]");return x?l(x,m):0}let f=u.closest("[data-composition-id]");return f?l(f,m):0},l=(u,m)=>{let f=i.get(u);if(f!==void 0)return f??m;if(o.has(u))return m;o.add(u);try{let x=hl(u.getAttribute("data-start"));if(!x){if(u.hasAttribute("data-composition-id")){let N=u.parentElement;if(N&&(N.hasAttribute("data-composition-src")||N.hasAttribute("data-composition-id")||N.hasAttribute("data-composition-file"))){let L=l(N,m);return i.set(u,L),L}}return i.set(u,m),m}if(x.kind==="absolute"){let N=Math.max(0,x.value),L=Math.max(0,a(u,m)+N);return i.set(u,L),L}let A=s(x.refId);if(!A)return i.set(u,m),m;let y=l(A,0),g=c(A);if(g==null||g<=0){let N=Math.max(0,y+x.offset);return i.set(u,N),N}let w=Math.max(0,y+g+x.offset);return i.set(u,w),w}finally{o.delete(u)}};return{resolveStartForElement:(u,m=0)=>l(u,Math.max(0,m)),resolveDurationForElement:u=>c(u)}}function ti(t){let e=t.trim().toLowerCase();return!(!e||e==="main"||e.includes("caption")||e.includes("ambient"))}var gl="data-hf-authored-duration",xl="data-hf-authored-end";function Ce(t){if(t==null||t==="")return null;let e=Number(t);return Number.isFinite(e)?e:null}function ni(t){return Ce(t.getAttribute("data-duration"))??Ce(t.getAttribute(gl))}function Wr(t){return Ce(t.getAttribute("data-end"))??Ce(t.getAttribute(xl))}function ii(...t){let e=t.filter(n=>Number.isFinite(n??null));return e.length===0?null:Math.max(...e)}var Gr={composition:0,video:1,image:2,element:3,audio:4};function yl(t){if(t.length===0)return;let e=new Map;for(let s of t){let c=e.get(s.track)??new Set;c.add(s.kind),e.set(s.track,c)}if(!Array.from(e.values()).some(s=>s.size>1))return;let i=0,r=new Map,o=[...e.keys()].sort((s,c)=>s-c);for(let s of o){let c=e.get(s);if(c.size===1)r.set(`${s}:${[...c][0]}`,i++);else{let a=[...c].sort((l,u)=>(Gr[l]??99)-(Gr[u]??99));for(let l of a)r.set(`${s}:${l}`,i++)}}for(let s of t){let c=`${s.track}:${s.kind}`,a=r.get(c);a!=null&&(s.track=a)}}function vt(t){let e=String(t??"").trim();if(!e)return null;let n=e.toLowerCase();if(n.startsWith("data:")||n.startsWith("javascript:"))return null;try{return new URL(e,document.baseURI).toString()}catch{return e}}function Ur(t){let e=t.getAttribute("src")??t.getAttribute("data-src");if(e)return vt(e);let n=t.getAttribute("data-composition-src");if(n)return vt(n);let i=t.querySelector("img[src], video[src], audio[src], source[src]");return i?vt(i.getAttribute("src")):null}function bl(t){let e=t.className;return typeof e!="string"?null:e.split(/\\s+/).map(n=>n.trim()).find(n=>n&&n!=="clip"&&!n.startsWith("__hf-"))??null}function Sl(t){if(!t)return null;try{return new URL(t,document.baseURI).pathname.split("/").filter(Boolean).at(-1)??null}catch{return t.split(/[\\\\/]/).filter(Boolean).at(-1)??null}}function Al(t){let e=t.textContent?.replace(/\\s+/g," ").trim();return e?e.length>32?`${e.slice(0,31)}...`:e:null}function Lt(t){let e=t.replace(/\\.[^.]+$/i,"").replace(/[-_]+/g," ").replace(/\\s+/g," ").trim();return e?e.replace(/\\b\\w/g,n=>n.toUpperCase()):t}function El(t,e,n){let i=t.getAttribute("data-timeline-label")??t.getAttribute("data-label")??t.getAttribute("aria-label")??null;if(i?.trim())return i.trim();let r=t.getAttribute("data-composition-id");if(r)return Lt(r);let o=t.id;if(o)return Lt(o);let s=bl(t);if(s)return Lt(s);let c=Sl(Ur(t));if(c)return Lt(c);let a=Al(t);return a||`${Lt(e)} ${n+1}`}function Vr(t){let n=window.__timelines??{},i=ze({timelineRegistry:n,includeAuthoredTimingAttrs:!0}),r=O=>{if(!O)return null;let D=n[O]??null;if(!D||typeof D.duration!="function")return null;try{let W=Number(D.duration());return Number.isFinite(W)&&W>0?W:null}catch{return null}},o=O=>{let D=Ce(O.getAttribute("data-duration"));if(D!=null&&D>0)return D;let W=Ce(O.getAttribute("data-playback-start"))??Ce(O.getAttribute("data-media-start"))??0;return Number.isFinite(O.duration)&&O.duration>W?Math.max(0,(O.duration-W)/Nt(O)):null},s=()=>{let O=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(O.length===0)return null;let D=0;for(let W of O){let Q=W.hasAttribute("data-hf-auto-start")?i.resolveStartForElement(W,0):Math.max(0,Number(W.getAttribute("data-start")??0)||0);if(!Number.isFinite(Q))continue;let ae=o(W);ae==null||ae<=0||(D=Math.max(D,Math.max(0,Q)+ae))}return D>0?D:null},c=(O,D)=>{let W=[],Q=null,ae=null,q=null,z=O.parentElement;for(;z;){let X=z.getAttribute("data-composition-id");X&&(W.push(X),!q&&z!==D&&(q=X),Q==null&&(Q=i.resolveStartForElement(z,0)),ae==null&&(ae=Ce(z.getAttribute("data-duration"))??r(X)??null)),z=z.parentElement}return{parentCompositionId:q,compositionAncestors:W.reverse(),inheritedStart:Q,inheritedDuration:ae}},a=document.querySelector("[data-composition-id]"),l=Array.from(document.querySelectorAll("[data-composition-id]")),u=a?.getAttribute("data-composition-id")??null,m=a?i.resolveStartForElement(a,0):0,f=s(),x=f!=null?Math.max(0,f-Math.max(0,m)):null,A=r(u),y=ni(a??document.body),g=ii(...l.filter(O=>O!==a).map(O=>{let D=i.resolveStartForElement(O,0),W=i.resolveDurationForElement(O)??r(O.getAttribute("data-composition-id"))??null;return!Number.isFinite(D)||W==null||W<=0?null:Math.max(0,D)+W})),w=g!=null?Math.max(0,g-Math.max(0,m)):null,N=typeof A=="number"&&Number.isFinite(A)&&A>0?A:null,L=typeof y=="number"&&Number.isFinite(y)&&y>0?y:null,$=typeof x=="number"&&Number.isFinite(x)&&x>0?x:null,B=typeof w=="number"&&Number.isFinite(w)&&w>0?w:null,_=ii($,B),S=N!=null&&_!=null&&N>_+1,F=L??(S?_:ii(N,$,B))??null,R=(F!=null?m+F:null)??(typeof f=="number"&&Number.isFinite(f)&&f>0?f:null),G=(O,D)=>!Number.isFinite(D)||D<=0?0:R==null||!Number.isFinite(R)?D:!Number.isFinite(O)||O>=R?0:Math.max(0,Math.min(D,R-O)),j=[],ie=[],P=Array.from(document.querySelectorAll("[data-start], [data-track-index], [data-composition-id], video, audio, img")),se=0;for(let O=0;O<P.length;O+=1){let D=P[O];if(D===a||["SCRIPT","STYLE","LINK","META","TEMPLATE","NOSCRIPT"].includes(D.tagName))continue;let W=c(D,a),Q=i.resolveStartForElement(D,W.inheritedStart??0),ae=D.getAttribute("data-composition-id"),q=ni(D);if((q==null||q<=0)&&ae&&ae!==u&&(q=r(ae)),(q==null||q<=0)&&D instanceof HTMLMediaElement){let Me=Ce(D.getAttribute("data-playback-start"))??Ce(D.getAttribute("data-media-start"))??0;Number.isFinite(D.duration)&&D.duration>0&&(q=Math.max(0,D.duration-Me))}if(q==null||q<=0){let Me=W.inheritedDuration;if(Me!=null&&Me>0){let He=(W.inheritedStart??0)+Me;q=Math.max(0,He-Q)}}if(q==null||q<=0||(q=G(Q,q),q<=0))continue;let z=Q+q;se=Math.max(se,z);let X=D.tagName.toLowerCase(),Ie=ae&&ae!==u?"composition":X==="video"?"video":X==="audio"?"audio":X==="img"?"image":"element";j.push({id:ei(D)??ae??null,label:El(D,Ie,j.length),start:Q,duration:q,track:Number.parseInt(D.getAttribute("data-track-index")??D.getAttribute("data-track")??String(O),10)||0,kind:Ie,tagName:X,compositionId:D.getAttribute("data-composition-id"),compositionAncestors:W.compositionAncestors,parentCompositionId:W.parentCompositionId,nodePath:null,compositionSrc:vt(D.getAttribute("data-composition-src")),assetUrl:Ur(D),timelineRole:D.getAttribute("data-timeline-role"),timelineLabel:D.getAttribute("data-timeline-label"),timelineGroup:D.getAttribute("data-timeline-group"),timelinePriority:Ce(D.getAttribute("data-timeline-priority"))})}let Se=new Set(j.map(O=>O.id)),H=a?.getAttribute("data-composition-id")??null,U=H?n[H]??null:null;if(U&&a){let O=U;if(typeof O.getChildren=="function")try{let D=O.getChildren(!0,!0,!1)??[],W=new Map;for(let q of a.children){let z=q;if(!z.id)continue;let X=z.tagName.toLowerCase();X==="script"||X==="style"||X==="link"||W.set(z,{id:z.id,start:1/0,end:-1/0})}let Q=q=>{let z=q;for(;z;){if(W.has(z))return z;if(z===a)return null;z=z.parentElement}return null};for(let q of D){if(typeof q.targets!="function"||typeof q.startTime!="function"||typeof q.duration!="function")continue;let z=q.startTime(),X=q.parent;for(;X&&X!==U&&typeof X.startTime=="function";)z+=X.startTime(),X=X.parent;let Ie=z+q.duration();if(!(!Number.isFinite(z)||!Number.isFinite(Ie)))for(let Me of q.targets()){if(!(Me instanceof Element))continue;let St=Q(Me);if(!St)continue;let He=W.get(St);He&&(He.start=Math.min(He.start,z),He.end=Math.max(He.end,Ie))}}let ae=j.length>0?Math.max(...j.map(q=>q.track))+1:0;for(let[q,z]of W){if(z.start===1/0||z.end===-1/0)continue;let X=q;if(Se.has(X.id))continue;let Ie=Math.max(0,z.end-z.start);if(Ie<=0)continue;let Me=G(z.start,Ie);Me<=0||(se=Math.max(se,z.start+Me),j.push({id:X.id,label:X.getAttribute("data-timeline-label")??X.getAttribute("data-label")??X.getAttribute("aria-label")??X.id,start:z.start,duration:Me,track:Number.parseInt(X.getAttribute("data-track-index")??X.getAttribute("data-track")??"",10)||ae,kind:"element",tagName:X.tagName.toLowerCase(),compositionId:X.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:X.getAttribute("data-timeline-role"),timelineLabel:X.getAttribute("data-timeline-label"),timelineGroup:X.getAttribute("data-timeline-group"),timelinePriority:Ce(X.getAttribute("data-timeline-priority"))}),Se.add(X.id))}}catch(D){v("runtime.timeline.site1",D)}}if(a&&F!=null&&F>0){let O=j.length>0?Math.max(...j.map(D=>D.track))+1:0;for(let D of a.children){let W=D;if(!W.id||Se.has(W.id))continue;let Q=W.getAttribute("data-timeline-role");if(Q!=="overlay"&&Q!=="persistent-overlay")continue;let ae=W.tagName.toLowerCase();if(ae==="script"||ae==="style"||ae==="link"||ae==="meta"||window.getComputedStyle(W).display==="none")continue;let z=G(0,F);z<=0||(se=Math.max(se,z),j.push({id:W.id,label:W.getAttribute("data-timeline-label")??W.getAttribute("data-label")??W.getAttribute("aria-label")??W.id,start:0,duration:z,track:Number.parseInt(W.getAttribute("data-track-index")??W.getAttribute("data-track")??"",10)||O,kind:"element",tagName:ae,compositionId:W.getAttribute("data-composition-id"),compositionAncestors:H?[H]:[],parentCompositionId:H,nodePath:null,compositionSrc:null,assetUrl:null,timelineRole:Q,timelineLabel:W.getAttribute("data-timeline-label"),timelineGroup:W.getAttribute("data-timeline-group"),timelinePriority:Ce(W.getAttribute("data-timeline-priority"))}),Se.add(W.id))}}yl(j);for(let O of l){if(O===a)continue;let D=O.getAttribute("data-composition-id");if(!D||!ti(D))continue;let W=i.resolveStartForElement(O,0),Q=ni(O);if((Q==null||Q<=0)&&Wr(O)!=null){let X=Wr(O);Q=Math.max(0,X-W)}let ae=r(D),q=Q&&Q>0?Q:ae;if(q==null||q<=0)continue;let z=G(W,q);z<=0||ie.push({id:D,label:O.getAttribute("data-label")??D,start:W,duration:z,thumbnailUrl:vt(O.getAttribute("data-thumbnail-url")),avatarName:null})}let V=Math.max(1,se||1,F??0);return{source:"hf-preview",type:"timeline",durationInFrames:S&&L==null?Number.POSITIVE_INFINITY:Math.max(1,Math.ceil(V*Math.max(1,t.canonicalFps))),clips:j,scenes:ie,compositionWidth:Ce(a?.getAttribute("data-width"))??1920,compositionHeight:Ce(a?.getAttribute("data-height"))??1080}}var ce=Va(hs(),1),gs=ce.default,Ep=ce.default.stringify,wp=ce.default.fromJSON,Cp=ce.default.plugin,Fp=ce.default.parse,Mp=ce.default.list,Np=ce.default.document,_p=ce.default.comment,Tp=ce.default.atRule,Lp=ce.default.rule,vp=ce.default.decl,Rp=ce.default.root,kp=ce.default.CssSyntaxError,Dp=ce.default.Declaration,Ip=ce.default.Container,Pp=ce.default.Processor,Op=ce.default.Document,Bp=ce.default.Comment,Hp=ce.default.Warning,Wp=ce.default.AtRule,Gp=ce.default.Result,Up=ce.default.Input,Vp=ce.default.Rule,zp=ce.default.Root,jp=ce.default.Node;var Ti="data-hf-authored-id",xs="data-hf-inner-root";function Li(t){return t.replace(/[.*+?^${}()|[\\]\\\\]/g,"\\\\$&")}function vi(t){return t.replace(/\\\\/g,"\\\\\\\\").replace(/"/g,\'\\\\"\')}function zu(t){return t&&t.replace(/[^a-zA-Z0-9_-]/g,n=>`\\\\${n}`).replace(/^-?\\d/,n=>`\\\\${n}`)}function ys(t){let e=t.trim();return e?Array.from(new Set([e,zu(e)])).filter(Boolean):[]}function ju(t){return!!t&&/[\\w-]/.test(t)}function qu(t,e,n){let i=ys(e).sort((c,a)=>a.length-c.length);if(i.length===0)return t;let r="",o=0,s=null;for(let c=0;c<t.length;c+=1){let a=t[c],l=c>0?t[c-1]:"";if(s){r+=a,a===s&&l!=="\\\\"&&(s=null);continue}if(a===\'"\'||a==="\'"){s=a,r+=a;continue}if(a==="["){o+=1,r+=a;continue}if(a==="]"){o=Math.max(0,o-1),r+=a;continue}if(a==="#"&&o===0){let u=i.find(m=>t.startsWith(m,c+1));if(u){let m=t[c+1+u.length];if(!ju(m)){r+=n,c+=u.length;continue}}}r+=a}return r}function $u(t,e){let n=e?.trim();return n?qu(t,n,`[${Ti}="${vi(n)}"]`):t}function Ku(t,e,n,i,r){let o=$u(t,i),s=Ju(o,e,n),c=s.trim();if(!c||/^(html|body|:root|\\*)$/i.test(c))return t;let a=new RegExp(`\\\\[\\\\s*data-composition-id\\\\s*=\\\\s*(["\'])${Li(n)}\\\\1\\\\s*\\\\]`,"g");if(a.test(c))return c.replace(a,"").trim()===""?`${e}:not(:has([${xs}])), ${e} > [${xs}]`:s.replace(a,e);let l=s.match(/^\\s*/)?.[0]??"",u=s.match(/\\s*$/)?.[0]??"";if(r){let m=i?`[${Ti}="${vi(i)}"]`:null;if(m&&c.startsWith(m)){let f=c.slice(m.length);return`${l}${e}${m}${f}${u}`}}return`${l}${e} ${c}${u}`}function Ju(t,e,n){let i=Li(n),r=String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${i}"|\'${i}\')\\s*\\]`,o=String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`;return t.replace(new RegExp(`${r}(?:${o})+`,"g"),e).replace(new RegExp(`(?:${o})+${r}`,"g"),e)}var Yu=new Set(["keyframes","-webkit-keyframes","font-face"]);function Xu(t){return t?.type==="atrule"}function Qu(t){let e=t.parent;for(;e;){if(Xu(e)&&Yu.has(e.name.toLowerCase()))return!0;e=e.parent}return!1}function Ri(t,e,n,i,r){let o=e.trim();if(!t||!o)return t;let s=n||`[data-composition-id="${vi(o)}"]`,c=gs.parse(t);return c.walkRules(a=>{Qu(a)||(a.selectors=a.selectors.map(l=>Ku(l,s,o,i,r?.compoundAuthoredRoot)))}),c.toResult({map:!1}).css}function bs(t,e,n="[HyperFrames] composition script error:",i,r=e,o){let s=JSON.stringify(e),c=JSON.stringify(r),a=JSON.stringify(n),l=Li(e),u=JSON.stringify(o?.trim()||null),m=JSON.stringify(i??null),f=JSON.stringify(String.raw`\\[\\s*data-composition-id\\s*=\\s*(?:"${l}"|\'${l}\')\\s*\\]`),x=JSON.stringify(String.raw`\\s*\\[\\s*data-(?:start|duration)\\s*=\\s*(?:"[^"]*"|\'[^\']*\')\\s*\\]`),A=JSON.stringify(ys(o?.trim()||""));return`(function(){\n var __hfCompId = ${s};\n var __hfTimelineCompId = ${c};\n var __hfErrorLabel = ${a};\n var __hfAuthoredRootId = ${u};\n var __hfAuthoredRootAttr = ${JSON.stringify(Ti)};\n var __hfEscapeAttr = function(value) {\n return (value + "").replace(/\\\\\\\\/g, "\\\\\\\\\\\\\\\\").replace(/"/g, "\\\\\\\\\\\\"");\n };\n var __hfRootSelector = ${m} || (__hfCompId\n ? \'[data-composition-id="\' + __hfEscapeAttr(__hfCompId) + \'"]\'\n : "");\n var __hfRoot = null;\n var __hfRootSelectorPattern = ${f};\n var __hfTimingSelectorPattern = ${x};\n var __hfAuthoredRootIdForms = ${A};\n var __hfAuthoredRootSelector = __hfAuthoredRootId\n ? "[" + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(__hfAuthoredRootId) + \'"]\'\n : "";\n var __hfIsSelectorNameChar = function(char) {\n return !!char && /[\\\\w-]/.test(char);\n };\n var __hfReplaceAuthoredRootIdSelectors = function(selector) {\n if (!__hfAuthoredRootSelector || !__hfAuthoredRootIdForms.length || typeof selector !== "string") {\n return selector;\n }\n var result = "";\n var bracketDepth = 0;\n var quote = null;\n for (var index = 0; index < selector.length; index += 1) {\n var char = selector[index];\n var previousChar = index > 0 ? selector[index - 1] : "";\n if (quote) {\n result += char;\n if (char === quote && previousChar !== "\\\\\\\\") {\n quote = null;\n }\n continue;\n }\n if (char === \'"\' || char === "\'") {\n quote = char;\n result += char;\n continue;\n }\n if (char === "[") {\n bracketDepth += 1;\n result += char;\n continue;\n }\n if (char === "]") {\n bracketDepth = Math.max(0, bracketDepth - 1);\n result += char;\n continue;\n }\n if (char === "#" && bracketDepth === 0) {\n var matchedForm = null;\n for (var formIndex = 0; formIndex < __hfAuthoredRootIdForms.length; formIndex += 1) {\n var form = __hfAuthoredRootIdForms[formIndex];\n if (selector.slice(index + 1, index + 1 + form.length) === form) {\n matchedForm = form;\n break;\n }\n }\n if (matchedForm) {\n var nextChar = selector[index + 1 + matchedForm.length];\n if (!__hfIsSelectorNameChar(nextChar)) {\n result += __hfAuthoredRootSelector;\n index += matchedForm.length;\n continue;\n }\n }\n }\n result += char;\n }\n return result;\n };\n var __hfNormalizeSelector = function(selector) {\n if (!__hfCompId || typeof selector !== "string") return selector;\n var normalized = selector\n .replace(new RegExp(__hfRootSelectorPattern + \'(?:\' + __hfTimingSelectorPattern + \')+\', \'g\'), __hfRootSelector)\n .replace(new RegExp(\'(?:\' + __hfTimingSelectorPattern + \')+\' + __hfRootSelectorPattern, \'g\'), __hfRootSelector);\n if (__hfAuthoredRootSelector) {\n normalized = __hfReplaceAuthoredRootIdSelectors(normalized);\n }\n return normalized;\n };\n var __hfFindRoot = function() {\n if (!__hfRoot && __hfRootSelector) {\n __hfRoot = window.document.querySelector(__hfRootSelector);\n }\n return __hfRoot;\n };\n var __hfContains = function(node) {\n var root = __hfFindRoot();\n return !root || node === root || root.contains(node);\n };\n var __hfQueryAll = function(selector) {\n var root = __hfFindRoot();\n if (!root || typeof selector !== "string") {\n return window.document.querySelectorAll(selector);\n }\n return Array.prototype.filter.call(window.document.querySelectorAll(__hfNormalizeSelector(selector)), function(node) {\n return __hfContains(node);\n });\n };\n var __hfQueryOne = function(selector) {\n var matches = __hfQueryAll(selector);\n return matches[0] || null;\n };\n var __hfGetElementById = function(id) {\n var found = window.document.getElementById(id);\n if (found && __hfContains(found)) return found;\n var root = __hfFindRoot();\n if (!root) return found || null;\n var idValue = id + "";\n if (__hfAuthoredRootId && __hfAuthoredRootId === idValue && root.getAttribute && root.getAttribute(__hfAuthoredRootAttr) === idValue) {\n return root;\n }\n if (root.id === idValue) return root;\n if (typeof root.querySelector !== "function") return null;\n try {\n var authoredRootMatch = root.querySelector(\'[\' + __hfAuthoredRootAttr + \'="\' + __hfEscapeAttr(idValue) + \'"]\');\n if (authoredRootMatch) return authoredRootMatch;\n } catch {}\n if (typeof CSS !== "undefined" && CSS && typeof CSS.escape === "function") {\n try {\n return root.querySelector("#" + CSS.escape(idValue)) || null;\n } catch {}\n }\n try {\n return root.querySelector(\'[id="\' + __hfEscapeAttr(idValue) + \'"]\') || null;\n } catch {}\n return null;\n };\n var __hfScopedDocument = typeof Proxy === "function"\n ? new Proxy(window.document, {\n get: function(target, prop, receiver) {\n if (prop === "querySelector") return __hfQueryOne;\n if (prop === "querySelectorAll") return __hfQueryAll;\n if (prop === "getElementById") return __hfGetElementById;\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n })\n : window.document;\n var __hfTimelineRegistryProxy = null;\n var __hfGetTimelineRegistry = function() {\n window.__timelines = window.__timelines || {};\n if (!__hfCompId || __hfCompId === __hfTimelineCompId || typeof Proxy !== "function") {\n return window.__timelines;\n }\n if (!__hfTimelineRegistryProxy) {\n __hfTimelineRegistryProxy = new Proxy(window.__timelines, {\n get: function(target, prop, receiver) {\n return Reflect.get(target, prop === __hfCompId ? __hfTimelineCompId : prop, target);\n },\n set: function(target, prop, value, receiver) {\n return Reflect.set(target, prop === __hfCompId ? __hfTimelineCompId : prop, value, target);\n },\n });\n }\n return __hfTimelineRegistryProxy;\n };\n var __hfScopedWindow = typeof Proxy === "function"\n ? new Proxy(window, {\n get: function(target, prop, receiver) {\n if (prop === "__timelines") return __hfGetTimelineRegistry();\n // Inside a sub-composition, __hyperframes is passed as a bare script\n // param bound to the SCOPED variant (per-comp getVariables). But\n // authors routinely write the documented window.__hyperframes.\n // getVariables() form, which would otherwise fall through to the host\n // page\'s base __hyperframes and return the WRONG (or empty) variables\n // for this instance. Route it to the scoped variant too so both\n // spellings resolve to this composition\'s own variables.\n // (__hfScopedHyperframes is a hoisted var assigned below, before any\n // sub-comp script -- the only code that reads this -- runs.)\n if (prop === "__hyperframes") return __hfScopedHyperframes;\n return Reflect.get(target, prop, target);\n },\n set: function(target, prop, value, receiver) {\n if (prop === "__timelines") {\n target.__timelines = value || {};\n __hfTimelineRegistryProxy = null;\n return true;\n }\n return Reflect.set(target, prop, value, target);\n },\n })\n : window;\n var __hfResolveGsapTarget = function(target) {\n if (typeof target !== "string") return target;\n return __hfQueryAll(target);\n };\n var __hfScopeTimeline = function(timeline) {\n if (!timeline || timeline.__hfScopedCompositionRoot === __hfFindRoot()) return timeline;\n ["to", "from", "fromTo", "set"].forEach(function(method) {\n var original = timeline[method];\n if (typeof original !== "function") return;\n timeline[method] = function(target) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(target);\n return original.apply(timeline, args);\n };\n });\n try {\n Object.defineProperty(timeline, "__hfScopedCompositionRoot", {\n value: __hfFindRoot(),\n configurable: true,\n });\n } catch {\n // Best-effort: timelines coming from user code may have a frozen target\n // or a non-extensible defineProperty path. Swallow \\u2014 the scoped root\n // is an enrichment, not a correctness invariant for playback.\n }\n return timeline;\n };\n var __hfBaseGsap = typeof gsap === "undefined" ? window.gsap : gsap;\n var __hfScopedGsap = !__hfBaseGsap || typeof Proxy !== "function"\n ? __hfBaseGsap\n : new Proxy(__hfBaseGsap, {\n get: function(target, prop, receiver) {\n if (prop === "timeline") {\n return function() {\n return __hfScopeTimeline(target.timeline.apply(target, arguments));\n };\n }\n if (prop === "to" || prop === "from" || prop === "fromTo" || prop === "set") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return target[prop].apply(target, args);\n };\n }\n if (prop === "utils" && target.utils && typeof Proxy === "function") {\n return new Proxy(target.utils, {\n get: function(utilsTarget, utilsProp, utilsReceiver) {\n if (utilsProp === "toArray") {\n return function(firstArg) {\n var args = Array.prototype.slice.call(arguments);\n args[0] = __hfResolveGsapTarget(firstArg);\n return utilsTarget.toArray.apply(utilsTarget, args);\n };\n }\n if (utilsProp === "selector") {\n return function(base) {\n var baseEl = typeof base === "string" ? __hfQueryOne(base) : base;\n var root = baseEl || __hfFindRoot();\n return function(selector) {\n if (!root || typeof selector !== "string") return [];\n return Array.prototype.filter.call(\n window.document.querySelectorAll(__hfNormalizeSelector(selector)),\n function(node) {\n return node === root || (typeof root.contains === "function" && root.contains(node));\n },\n );\n };\n };\n }\n var value = Reflect.get(utilsTarget, utilsProp, utilsTarget);\n return typeof value === "function" ? value.bind(utilsTarget) : value;\n },\n });\n }\n var value = Reflect.get(target, prop, target);\n return typeof value === "function" ? value.bind(target) : value;\n },\n });\n var __hfBaseHyperframes = window.__hyperframes;\n var __hfScopedHyperframes = !__hfBaseHyperframes\n ? __hfBaseHyperframes\n : Object.assign({}, __hfBaseHyperframes, {\n getVariables: function() {\n var byComp = window.__hfVariablesByComp;\n var scoped = byComp && __hfTimelineCompId ? byComp[__hfTimelineCompId] : null;\n return scoped ? Object.assign({}, scoped) : {};\n },\n });\n var __hfRun = function() {\n try {\n (function(document, gsap, window, __hyperframes) {\n${t.replace(/<\\/(script)/gi,"<\\\\/$1")}\n }).call(window, __hfScopedDocument, __hfScopedGsap, __hfScopedWindow, __hfScopedHyperframes);\n } catch (_err) {\n console.error(__hfErrorLabel, __hfCompId, _err);\n }\n };\n __hfFindRoot();\n __hfRun();\n})();`}function Ss(){if(typeof document>"u")return{};let t=ki(document.documentElement),e=Zu();return{...t,...e}}function ki(t){if(!t)return{};let e=t.getAttribute("data-composition-variables");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}if(!Array.isArray(n))return{};let i={};for(let r of n){if(!r||typeof r!="object")continue;let o=r;typeof o.id!="string"||!("default"in o)||(i[o.id]=o.default)}return i}function Zu(){if(typeof window>"u")return{};let t=window.__hfVariables;return!t||typeof t!="object"||Array.isArray(t)?{}:t}var ec=8e3,tc=/^(?![a-zA-Z][a-zA-Z\\d+\\-.]*:)(?!\\/\\/)(?!\\/)(?!\\.\\.?\\/).+/,nc=/\\burl\\(\\s*(["\']?)([^)"\']+)\\1\\s*\\)/g,ic=["src","href"];function rc(t){return!t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//")||t.startsWith("data:")||t.startsWith("#")||t.startsWith("/")}function Es(t,e){if(!e)return t;let n=t.trim();if(rc(n)||!n.startsWith("../")&&n!=="..")return t;try{return new URL(n,e).href}catch{return t}}function ws(t,e){return!e||!t?t:t.replace(nc,(n,i,r)=>{let o=Es(r||"",e);return o===r?n:`url(${i||""}${o}${i||""})`})}function oc(t,e){for(let n of Array.from(t.querySelectorAll("[src], [href]")))for(let i of ic){let r=n.getAttribute(i);if(r==null)continue;let o=Es(r,e);o!==r&&n.setAttribute(i,o)}}function sc(t,e){for(let n of Array.from(t.querySelectorAll("[style]"))){let i=n.getAttribute("style");if(i==null)continue;let r=ws(i,e);r!==i&&n.setAttribute("style",r)}}function ac(t,e){for(let n of Array.from(t.querySelectorAll("style"))){let i=n.textContent||"",r=ws(i,e);r!==i&&(n.textContent=r)}}function Cs(t,e){if(e){oc(t,e),sc(t,e),ac(t,e);for(let n of Array.from(t.querySelectorAll("template")))Cs(n.content,e)}}function lc(t,e){return`${t}__hf${e}`}var uc=t=>new Promise(e=>{let n=!1,i=Date.now(),r=null,o=s=>{n||(n=!0,r!=null&&window.clearTimeout(r),e({status:s,elapsedMs:Math.max(0,Date.now()-i)}))};t.addEventListener("load",()=>o("load"),{once:!0}),t.addEventListener("error",()=>o("error"),{once:!0}),r=window.setTimeout(()=>o("timeout"),ec)});function Di(t){for(;t.firstChild;)t.removeChild(t.firstChild);t.textContent=""}var cc=["data-composition-id","data-composition-file","data-start","data-duration","data-end","data-track-index","data-track","data-composition-src","data-hf-authored-duration","data-hf-authored-end"];function dc(t){let e=document.importNode(t,!0),n=e.getAttribute("id")?.trim();for(let o of cc)e.removeAttribute(o);n&&(e.removeAttribute("id"),e.setAttribute("data-hf-authored-id",n)),e.setAttribute("data-hf-inner-root","true");let i=e.getAttribute("data-width"),r=e.getAttribute("data-height");return e.style.width=i?`${i}px`:"100%",e.style.height=r?`${r}px`:"100%",e}function As(t,e){let n=t.trim();if(!n)return t;try{return tc.test(n)?new URL(n,document.baseURI).toString():e?new URL(n,e).toString():new URL(n,document.baseURI).toString()}catch{return t}}function fc(t){let e=t.getAttribute("data-variable-values");if(!e)return{};let n;try{n=JSON.parse(e)}catch{return{}}return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Fn(t){let e=(t.getAttribute("data-composition-id")||"").trim()||null;return{authoredCompositionId:(t.getAttribute("data-hf-original-composition-id")||e||"").trim()||null,runtimeCompositionId:e}}function mc(t){let e=new Map;for(let n of t){let i=Fn(n).authoredCompositionId||"";i&&e.set(i,(e.get(i)||0)+1)}return e}function Fs(t){let e=Fn(t).authoredCompositionId;return e?!!document.querySelector(`template#${CSS.escape(e)}-template`):!1}function pc(t){return!!t.querySelector(\'[data-hf-inner-root="true"]\')}function hc(t){return t.hasAttribute("data-composition-src")?!0:Fs(t)?t.children.length===0||t.hasAttribute("data-hf-original-composition-id")?!0:pc(t):!1}function Pi(){return Array.from(document.querySelectorAll("[data-composition-src], [data-composition-id]")).filter(e=>e.hasAttribute("data-composition-src")?!0:Fs(e))}function Ms(){let t=window.__hfVariablesByComp;if(!t)return;let e=new Set(Pi().map(n=>Fn(n).runtimeCompositionId).filter(n=>!!n));for(let n of Object.keys(t))e.has(n)||delete t[n]}function Ns(t,e=mc(t)){let n=new Map,i=new Map;for(let r of t){let{authoredCompositionId:o,runtimeCompositionId:s}=Fn(r),c=hc(r);if(!o){i.set(r,{authoredCompositionId:null,runtimeCompositionId:s});continue}let a=(e.get(o)||0)>1,l=s||o;if(c){let u=a?(n.get(o)||0)+1:0;a&&n.set(o,u),l=a?lc(o,u):o,a?r.setAttribute("data-hf-original-composition-id",o):r.removeAttribute("data-hf-original-composition-id"),r.setAttribute("data-composition-id",l),s&&s!==l&&window.__hfVariablesByComp&&delete window.__hfVariablesByComp[s]}i.set(r,{authoredCompositionId:o,runtimeCompositionId:l})}return i}async function Ii(t){let e=null;t.authoredCompositionId&&(e=Array.from(t.sourceNode.querySelectorAll("[data-composition-id]")).find(x=>x.getAttribute("data-composition-id")===t.authoredCompositionId)??null);let n=e??t.sourceNode,i=e?.getAttribute("data-composition-id")?.trim()||t.authoredCompositionId||null,r=t.runtimeCompositionId||i||null,o=e?.getAttribute("id")?.trim()||null,s=r?`[data-composition-id="${CSS.escape(r)}"]`:void 0;if(t.headLinks)for(let f of t.headLinks){let x=f.getAttribute("href")||"";x&&(document.head.querySelector(`link[href="${CSS.escape(x)}"]`)||document.head.appendChild(f.cloneNode(!0)))}if(t.headStyles)for(let f of t.headStyles){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let c=Array.from(n.querySelectorAll("style"));for(let f of c){let x=f.cloneNode(!0);x instanceof HTMLStyleElement&&(i&&(x.textContent=Ri(x.textContent||"",i,s,o)),document.head.appendChild(x),t.injectedStyles.push(x))}let a=[];if(t.headScripts)for(let f of t.headScripts){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);a.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&a.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}}let l=Array.from(n.querySelectorAll("script")),u=[...a];for(let f of l){let x=f.getAttribute("type")?.trim()??"",A=f.getAttribute("src")?.trim()??"";if(A){let y=As(A,t.compositionUrl);u.push({kind:"external",src:y,type:x})}else{let y=f.textContent?.trim()??"";y&&u.push({kind:"inline",content:y,type:x,scopeCompositionId:i})}f.parentNode?.removeChild(f)}let m=Array.from(n.querySelectorAll("style"));for(let f of m)f.parentNode?.removeChild(f);if(e){let f=e.getAttribute("data-width"),x=e.getAttribute("data-height"),A=t.parseDimensionPx(f),y=t.parseDimensionPx(x);f&&t.host.setAttribute("data-width",f),x&&t.host.setAttribute("data-height",x),A&&t.host instanceof HTMLElement&&(t.host.style.width=A),y&&t.host instanceof HTMLElement&&(t.host.style.height=y),e.hasAttribute("data-timeline-locked")&&t.host.setAttribute("data-timeline-locked",""),t.host.appendChild(dc(e))}else t.hasTemplate?t.host.appendChild(document.importNode(n,!0)):t.host.innerHTML=t.fallbackBodyInnerHtml;if(r){let f={...t.declaredVariableDefaults??{},...fc(t.host)};Object.keys(f).length>0?(window.__hfVariablesByComp||(window.__hfVariablesByComp={}),window.__hfVariablesByComp[r]=f):window.__hfVariablesByComp&&delete window.__hfVariablesByComp[r]}for(let f of u){let x=document.createElement("script");if(f.type&&(x.type=f.type),x.async=!1,f.kind==="external"?x.src=f.src:f.type.toLowerCase()==="module"?x.textContent=f.content:f.scopeCompositionId?x.textContent=bs(f.content,f.scopeCompositionId,"[HyperFrames] composition script error:",s,r||f.scopeCompositionId,o):x.textContent=`(function(){${f.content}})();`,document.body.appendChild(x),t.injectedScripts.push(x),f.kind==="external"){let A=await uc(x);A.status!=="load"&&t.onDiagnostic?.({code:"external_composition_script_load_issue",details:{hostCompositionId:t.authoredCompositionId,runtimeCompositionId:t.runtimeCompositionId,hostCompositionSrc:t.hostCompositionSrc,resolvedScriptSrc:f.src,loadStatus:A.status,elapsedMs:A.elapsedMs}})}}}async function _s(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>{if(r.hasAttribute("data-composition-src")||r.children.length>0)return!1;let o=n.get(r)?.authoredCompositionId;return o?!!document.querySelector(`template#${CSS.escape(o)}-template`):!1});if(i.length!==0)for(let r of i){let o=n.get(r),s=o?.authoredCompositionId;if(!s)continue;let c=document.querySelector(`template#${CSS.escape(s)}-template`);Di(r),await Ii({host:r,authoredCompositionId:s,runtimeCompositionId:o?.runtimeCompositionId||s,hostCompositionSrc:`template#${s}-template`,sourceNode:c.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:null,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic})}}async function Ts(t){let e=Pi();if(Ms(),e.length===0)return;let n=Ns(e),i=e.filter(r=>r.hasAttribute("data-composition-src"));i.length!==0&&await Promise.all(i.map(async r=>{let o=r.getAttribute("data-composition-src");if(!o)return;let s=n.get(r),c=s?.authoredCompositionId||null,a=s?.runtimeCompositionId||c||null,l=null;try{l=new URL(o,document.baseURI)}catch{l=null}Di(r);try{let u=c!=null?document.querySelector(`template#${CSS.escape(c)}-template`):null;if(u){await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:u.content,hasTemplate:!0,fallbackBodyInnerHtml:"",compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,onDiagnostic:t.onDiagnostic});return}let m=await fetch(o);if(!m.ok)throw new Error(`HTTP ${m.status}`);let f=await m.text(),A=new DOMParser().parseFromString(f,"text/html");Cs(A,l);let y=(c?A.querySelector(`template#${CSS.escape(c)}-template`):null)??A.querySelector("template"),g=y?y.content:A.body,w=y?void 0:Array.from(A.head.querySelectorAll("style")),N=y?void 0:Array.from(A.head.querySelectorAll("script")),L=y?void 0:Array.from(A.head.querySelectorAll(\'link[rel="stylesheet"], link[rel="preconnect"]\'));await Ii({host:r,authoredCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,sourceNode:g,hasTemplate:!!y,fallbackBodyInnerHtml:A.body.innerHTML,compositionUrl:l,injectedStyles:t.injectedStyles,injectedScripts:t.injectedScripts,parseDimensionPx:t.parseDimensionPx,headStyles:w,headScripts:N,headLinks:L,declaredVariableDefaults:ki(A.documentElement),onDiagnostic:t.onDiagnostic})}catch(u){t.onDiagnostic?.({code:"external_composition_load_failed",details:{hostCompositionId:c,runtimeCompositionId:a,hostCompositionSrc:o,errorMessage:u instanceof Error?u.message:"unknown_error"}}),Di(r)}}))}function gc(t){return t instanceof HTMLElement?t.dataset.captionWrapper!=="true"?t:t.querySelector(":scope > span")??null:null}function xc(){let t=[],e=document.querySelectorAll(".caption-group");for(let n of e)for(let i of n.children){if(!(i instanceof HTMLElement))continue;let r=i.dataset.captionWrapper==="true"?i.querySelector(":scope > span"):i.tagName==="SPAN"?i:null;r&&t.push(r)}return t}function yc(t){let e=t.parentElement;if(e?.dataset.captionWrapper==="true")return e;let n=document.createElement("span");return n.style.display="inline-block",n.dataset.captionWrapper="true",t.parentNode?.insertBefore(n,t),n.appendChild(t),n}function Oi(){let t=window.gsap;t&&document.querySelectorAll(".caption-group").length!==0&&fetch("caption-overrides.json").then(e=>e.ok?e.json():null).then(e=>{if(!e||!Array.isArray(e)||e.length===0)return;let n=xc();for(let i of e){let r=null;if(i.wordId&&(r=gc(document.getElementById(i.wordId))),!r&&i.wordIndex!==void 0&&(r=n[i.wordIndex]??null),!r)continue;let o={},s={};if(i.x!==void 0&&(o.x=i.x),i.y!==void 0&&(o.y=i.y),i.scale!==void 0&&(o.scale=i.scale),i.rotation!==void 0&&(o.rotation=i.rotation),i.opacity!==void 0&&(s.opacity=i.opacity),i.fontSize!==void 0&&(s.fontSize=`${i.fontSize}px`),i.fontWeight!==void 0&&(s.fontWeight=i.fontWeight),i.fontFamily!==void 0&&(s.fontFamily=i.fontFamily),i.activeColor||i.dimColor){let a=t.getTweensOf(r).filter(u=>u.vars.color!==void 0).sort((u,m)=>u.startTime()-m.startTime()),l=a.length>0?String(a[0].vars.color):"";for(let u of a)String(u.vars.color)===l?i.dimColor&&(u.vars.color=i.dimColor):i.activeColor&&(u.vars.color=i.activeColor);i.dimColor&&t.set(r,{color:i.dimColor})}if(Object.keys(s).length>0&&t.set(r,s),Object.keys(o).length>0){let c=yc(r);t.set(c,o)}}}).catch(()=>{})}var Rs="data-hf-edit-base-x",ks="data-hf-edit-base-y",Bi="data-hf-edit-original-translate",Mn=t=>{let e=parseFloat(t??"");return Number.isFinite(e)?e:0},bc=t=>{let e=[],n=0,i="";for(let r of t.trim())r==="("&&(n+=1),r===")"&&(n=Math.max(0,n-1)),/\\s/.test(r)&&n===0?(i&&e.push(i),i=""):i+=r;return i&&e.push(i),e},Ls=/^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)px$/,Hi=(t,e)=>Ls.test(t)&&Ls.test(e)?`${parseFloat(t)+parseFloat(e)}px`:`calc(${t} + ${e})`,Sc=(t,e,n)=>{if(!t||t==="none")return`${e} ${n}`;let[i,r,o]=bc(t);if(i===void 0)return`${e} ${n}`;if(r===void 0)return`${Hi(i,e)} ${n}`;let s=o===void 0?"":` ${o}`;return`${Hi(i,e)} ${Hi(r,n)}${s}`},Ac=t=>{try{t.ownerDocument.defaultView?.gsap?.getProperty?.(t,"x")}catch{}},Ec=t=>{let e=t.style.getPropertyValue("translate").trim();if(e)return e==="none"?"":e;try{let n=t.ownerDocument.defaultView,i=n?n.getComputedStyle(t).getPropertyValue("translate").trim():"";return i==="none"?"":i}catch{return""}},vs=new WeakMap;function wc(t,e){let n=vs.get(t);if(!e?.force&&n!==void 0&&t.style.getPropertyValue("translate")!==n){it("position_edit_fold_skipped",{hfId:t.getAttribute("data-hf-id")});return}let i=Mn(t.getAttribute("data-x"))-Mn(t.getAttribute(Rs)),r=Mn(t.getAttribute("data-y"))-Mn(t.getAttribute(ks));t.hasAttribute(Bi)||t.setAttribute(Bi,Ec(t)),n===void 0&&Ac(t);let o=t.getAttribute(Bi)??"",s=Sc(o,`${i}px`,`${r}px`);t.style.setProperty("translate",s),vs.set(t,t.style.getPropertyValue("translate"))}function Wi(t){let e=t.querySelectorAll(`[${Rs}], [${ks}]`),n=0;for(let i=0;i<e.length;i++){let r=e[i];r instanceof HTMLElement&&(wc(r),n+=1)}return n}var Xt="data-color-grading",Cc="rec709",Je={exposure:0,contrast:0,highlights:0,shadows:0,whites:0,blacks:0,temperature:0,tint:0,saturation:0},Ds=["exposure","contrast","highlights","shadows","whites","blacks","temperature","tint","saturation"],Fc=[{id:"neutral",label:"Neutral",adjust:{...Je}},{id:"warm-clean",label:"Warm Clean",adjust:{...Je,exposure:.05,contrast:.08,highlights:-.08,shadows:.08,temperature:.16,saturation:.06}},{id:"cool-clean",label:"Cool Clean",adjust:{...Je,contrast:.06,highlights:-.06,shadows:.06,temperature:-.12,tint:.04,saturation:.04}},{id:"soft-boost",label:"Soft Boost",adjust:{...Je,exposure:.06,contrast:-.04,highlights:-.14,shadows:.16,saturation:.1}},{id:"bright-pop",label:"Bright Pop",adjust:{...Je,exposure:.12,contrast:.12,whites:.08,blacks:-.04,saturation:.14}},{id:"deep-contrast",label:"Deep Contrast",adjust:{...Je,exposure:-.03,contrast:.2,highlights:-.08,shadows:-.08,blacks:-.12,saturation:.06}}],Mc=new Map(Fc.map(t=>[t.id,t])),Nc=/^\\$(?:\\{([A-Za-z0-9_.:-]+)\\}|([A-Za-z0-9_.:-]+))$/,_c={exposure:{min:-2,max:2},contrast:{min:-1,max:1},highlights:{min:-1,max:1},shadows:{min:-1,max:1},whites:{min:-1,max:1},blacks:{min:-1,max:1},temperature:{min:-1,max:1},tint:{min:-1,max:1},saturation:{min:-1,max:1}};function Yt(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Tc(t,e,n){return Number.isFinite(t)?Math.min(n,Math.max(e,t)):0}function Is(t,e){let n=typeof t=="number"?t:Number(t);return Number.isFinite(n)?Math.min(1,Math.max(0,n)):e}function Lc(t,e){let n=typeof t=="number"?t:Number(t);if(!Number.isFinite(n))return 0;let i=_c[e];return Tc(n,i.min,i.max)}function vc(t){if(t==null)return null;let e=String(t).trim();return e||null}function Rc(t){if(t==null)return null;if(typeof t=="string"){let n=t.trim();return n?{src:n,intensity:1}:null}if(!Yt(t))return null;let e=t.src;return typeof e!="string"||e.trim()===""?null:{src:e.trim(),intensity:Is(t.intensity,1)}}function kc(t){if(typeof t=="string"){let e=t.trim();if(!e)return null;if(e.startsWith("{"))try{let n=JSON.parse(e);return Yt(n)?n:null}catch{return null}return{preset:e,intensity:1}}return Yt(t)?t:null}function Dc(t,e){let n=t.trim().match(Nc);if(!n)return t;let i=n[1]??n[2]??"";return i&&Object.hasOwn(e,i)?e[i]:t}function Gi(t,e){if(typeof t=="string"){let i=Dc(t,e);if(i!==t)return i;let r=t.trim();if(!r.startsWith("{"))return t;try{return Gi(JSON.parse(r),e)}catch{return t}}if(!Yt(t))return t;let n={};for(let[i,r]of Object.entries(t))n[i]=Gi(r,e);return n}function Ic(t){return t?Mc.get(t)??null:null}function Ui(t){let e=kc(t);if(!e||e.enabled===!1)return null;let n=vc(e.preset),r=Ic(n)?.adjust??Je,o=Yt(e.adjust)?e.adjust:{},s=Ds.reduce((c,a)=>(c[a]=Lc(o[a]??r[a],a),c),{...Je});return{enabled:!0,preset:n,intensity:Is(e.intensity,1),adjust:s,lut:Rc(e.lut),colorSpace:typeof e.colorSpace=="string"&&e.colorSpace.trim()?e.colorSpace.trim():Cc}}function Ps(t,e){return Ui(Gi(t,e))}function Qt(t){return!t?.enabled||t.intensity===0?!1:t.lut&&t.lut.intensity!==0?!0:Ds.some(e=>Math.abs(t.adjust[e])>1e-4)}var we=class extends Error{constructor(n,i=null){super(i==null?n:`${n} at line ${i}`);xe(this,"lineNumber");this.name="CubeLutParseError",this.lineNumber=i}},Pc=[0,0,0],Oc=[1,1,1],Bc=64;function Hc(t){let e=!1;for(let n=0;n<t.length;n++){let i=t[n];if(i===\'"\'&&(e=!e),i==="#"&&!e)return t.slice(0,n)}return t}function gt(t,e){let n=Number(t);if(!Number.isFinite(n))throw new we(`Invalid number "${t}"`,e);return n}function Os(t,e,n){if(t.length!==3)throw new we(`${e} expects three numbers`,n);return[gt(t[0],n),gt(t[1],n),gt(t[2],n)]}function Bs(t,e,n){if(!t)throw new we(`${e} expects a size`,n);let i=Number(t);if(!Number.isInteger(i)||i<2)throw new we(`${e} must be an integer greater than 1`,n);return i}function Wc(t,e){if(e[0]<=t[0]||e[1]<=t[1]||e[2]<=t[2])throw new we("DOMAIN_MAX values must be greater than DOMAIN_MIN values")}function Gc(t){let e=/^TITLE\\s+"([^"]*)"\\s*$/i.exec(t);if(e)return e[1]??null;let n=/^TITLE\\s+(.+)\\s*$/i.exec(t);return n&&(n[1]??"").trim()||null}function Uc(t){return/^[+-]?(?:\\d|\\.\\d)/.test(t)}function Hs(t,e={}){let n=e.maxSize??Bc,i=null,r=Pc,o=Oc,s=null,c=null,a=[],l=t.replace(/^\\uFEFF/,"").split(/\\r?\\n/);for(let m=0;m<l.length;m++){let f=m+1,x=Hc(l[m]??"").trim();if(!x)continue;let A=x.split(/\\s+/),y=(A[0]??"").toUpperCase(),g=A.slice(1);if(y==="TITLE"){i=Gc(x);continue}if(y==="DOMAIN_MIN"){r=Os(g,y,f);continue}if(y==="DOMAIN_MAX"){o=Os(g,y,f);continue}if(y==="LUT_1D_SIZE"){s=Bs(g[0],y,f);continue}if(y==="LUT_3D_SIZE"){if(c=Bs(g[0],y,f),c>n)throw new we(`LUT_3D_SIZE ${c} exceeds max ${n}`,f);continue}if(!Uc(y)){if(y.startsWith("LUT_"))throw new we(`Unsupported cube keyword ${y}`,f);continue}if(!c)throw s?new we("1D cube LUTs are not supported yet",f):new we("LUT data appears before LUT_3D_SIZE",f);if(A.length!==3)throw new we("LUT data rows must contain three numbers",f);a.push(gt(A[0],f),gt(A[1],f),gt(A[2],f))}if(s&&c)throw new we("Mixed 1D and 3D cube LUTs are not supported yet");if(!c)throw s?new we("1D cube LUTs are not supported yet"):new we("Missing LUT_3D_SIZE");Wc(r,o);let u=c*c*c;if(a.length!==u*3)throw new we(`Expected ${u} LUT rows for size ${c}, found ${a.length/3}`);return{title:i,size:c,domainMin:r,domainMax:o,data:new Float32Array(a)}}function Vc(t){return Number.isFinite(t)?Math.min(1,Math.max(0,t)):0}function Vi(t){return Math.round(Vc(t)*255)}function Ws(t){let e=t.size,n=e*e,i=e,r=new Uint8Array(n*i*4);for(let o=0;o<e;o++)for(let s=0;s<e;s++)for(let c=0;c<e;c++){let a=((o*e+s)*e+c)*3,l=(s*n+o*e+c)*4;r[l]=Vi(t.data[a]??0),r[l+1]=Vi(t.data[a+1]??0),r[l+2]=Vi(t.data[a+2]??0),r[l+3]=255}return{width:n,height:i,data:r}}var Nn=new Map,zc="data-hf-color-grading-canvas",js="data-hf-color-grading-source-hidden",jc="__hf_color_grading_canvas__",qc=64,Zt={enabled:!1,position:.5,softness:0,lineWidth:2};function $c(t){let e=window,i=t.closest("[data-composition-id]")?.getAttribute("data-composition-id")?.trim()??"",r=i?e.__hfVariablesByComp?.[i]:void 0;if(r)return r;let o=e.__hyperframes?.getVariables?.();return o&&typeof o=="object"?o:e.__hfVariables??{}}function zi(t){let e=t.getAttribute(Xt);return e==null?null:Ps(e,$c(t))}var Kc=["attribute vec2 a_pos;","varying vec2 v_uv;","void main(){"," v_uv = a_pos * 0.5 + 0.5;"," gl_Position = vec4(a_pos, 0.0, 1.0);","}"].join(`\n`),Jc=["#ifdef GL_FRAGMENT_PRECISION_HIGH","precision highp float;","#else","precision mediump float;","#endif","varying vec2 v_uv;","uniform sampler2D u_source;","uniform sampler2D u_lut;","uniform vec2 u_resolution;","uniform vec2 u_uvScale;","uniform vec2 u_uvOffset;","uniform float u_lutEnabled;","uniform float u_lutSize;","uniform vec2 u_lutTextureSize;","uniform vec3 u_lutDomainMin;","uniform vec3 u_lutDomainMax;","uniform float u_lutIntensity;","uniform float u_exposure;","uniform float u_contrast;","uniform float u_highlights;","uniform float u_shadows;","uniform float u_whites;","uniform float u_blacks;","uniform float u_temperature;","uniform float u_tint;","uniform float u_saturation;","uniform float u_intensity;","uniform float u_compareEnabled;","uniform float u_comparePosition;","uniform float u_compareSoftness;","uniform float u_compareLineWidth;","float lumaOf(vec3 c){ return dot(c, vec3(0.2126, 0.7152, 0.0722)); }","vec3 sampleLut(float r, float g, float b){"," float size = max(u_lutSize, 2.0);"," float x = (r + b * size + 0.5) / max(u_lutTextureSize.x, 1.0);"," float y = (g + 0.5) / max(u_lutTextureSize.y, 1.0);"," return texture2D(u_lut, vec2(x, y)).rgb;","}","vec3 applyLut(vec3 color){"," if (u_lutEnabled < 0.5) return color;"," float size = max(u_lutSize, 2.0);"," vec3 span = max(u_lutDomainMax - u_lutDomainMin, vec3(0.00001));"," vec3 scaled = clamp((color - u_lutDomainMin) / span, 0.0, 1.0) * (size - 1.0);"," vec3 lo = floor(scaled);"," vec3 hi = min(lo + 1.0, vec3(size - 1.0));"," vec3 f = scaled - lo;"," vec3 c000 = sampleLut(lo.r, lo.g, lo.b);"," vec3 c100 = sampleLut(hi.r, lo.g, lo.b);"," vec3 c010 = sampleLut(lo.r, hi.g, lo.b);"," vec3 c110 = sampleLut(hi.r, hi.g, lo.b);"," vec3 c001 = sampleLut(lo.r, lo.g, hi.b);"," vec3 c101 = sampleLut(hi.r, lo.g, hi.b);"," vec3 c011 = sampleLut(lo.r, hi.g, hi.b);"," vec3 c111 = sampleLut(hi.r, hi.g, hi.b);"," vec3 c00 = mix(c000, c100, f.r);"," vec3 c10 = mix(c010, c110, f.r);"," vec3 c01 = mix(c001, c101, f.r);"," vec3 c11 = mix(c011, c111, f.r);"," vec3 c0 = mix(c00, c10, f.g);"," vec3 c1 = mix(c01, c11, f.g);"," vec3 lutColor = mix(c0, c1, f.b);"," return mix(color, lutColor, clamp(u_lutIntensity, 0.0, 1.0));","}","void main(){"," vec2 uv = (v_uv - u_uvOffset) / u_uvScale;"," if (uv.x < 0.0 || uv.y < 0.0 || uv.x > 1.0 || uv.y > 1.0) {"," gl_FragColor = vec4(0.0);"," return;"," }"," vec4 sampleColor = texture2D(u_source, uv);"," vec3 original = sampleColor.rgb;"," vec3 color = original * pow(2.0, u_exposure);"," float y = lumaOf(color);"," float shadowMask = 1.0 - smoothstep(0.0, 0.65, y);"," float highlightMask = smoothstep(0.35, 1.0, y);"," color += u_shadows * 0.35 * shadowMask;"," color += u_highlights * 0.35 * highlightMask;"," color += u_blacks * 0.25 * (1.0 - smoothstep(0.0, 0.35, y));"," color += u_whites * 0.25 * smoothstep(0.65, 1.0, y);"," color.r += u_temperature * 0.08 + u_tint * 0.04;"," color.b -= u_temperature * 0.08 - u_tint * 0.04;"," color.g -= u_tint * 0.08;"," color = (color - 0.5) * max(0.0, 1.0 + u_contrast) + 0.5;"," float satLuma = lumaOf(color);"," color = mix(vec3(satLuma), color, max(0.0, 1.0 + u_saturation));"," color = clamp(color, 0.0, 1.0);"," color = clamp(applyLut(color), 0.0, 1.0);"," vec3 graded = mix(original, color, u_intensity);"," if (u_compareEnabled > 0.5) {"," float pos = clamp(u_comparePosition, 0.0, 1.0);"," float softness = max(u_compareSoftness, 0.00001);"," float afterMask = smoothstep(pos - softness, pos + softness, v_uv.x);"," vec3 splitColor = mix(original, graded, afterMask);"," float lineMask = 0.0;"," if (u_compareLineWidth > 0.0) {"," float lineWidth = max(u_compareLineWidth / max(u_resolution.x, 1.0), 0.00001);"," lineMask = 1.0 - smoothstep(lineWidth, lineWidth * 1.8, abs(v_uv.x - pos));"," }"," gl_FragColor = vec4(mix(splitColor, vec3(1.0), lineMask * 0.82), sampleColor.a);"," return;"," }"," gl_FragColor = vec4(graded, sampleColor.a);","}"].join(`\n`);function at(t){return t instanceof HTMLVideoElement||t instanceof HTMLImageElement}function Gs(t,e,n){let i=t.createShader(n);return i?(t.shaderSource(i,e),t.compileShader(i),t.getShaderParameter(i,t.COMPILE_STATUS)?i:(v("runtime.colorGrading.compileShader",t.getShaderInfoLog(i)),t.deleteShader(i),null)):null}function Yc(t){let e=Gs(t,Kc,t.VERTEX_SHADER),n=Gs(t,Jc,t.FRAGMENT_SHADER);if(!e||!n)return e&&t.deleteShader(e),n&&t.deleteShader(n),null;let i=t.createProgram();return i?(t.attachShader(i,e),t.attachShader(i,n),t.linkProgram(i),t.deleteShader(e),t.deleteShader(n),t.getProgramParameter(i,t.LINK_STATUS)?i:(v("runtime.colorGrading.linkProgram",t.getProgramInfoLog(i)),t.deleteProgram(i),null)):null}function Us(t,e=t.LINEAR){let n=t.createTexture();return n?(t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,e),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null),n):null}function Xc(t){let e=t.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,preserveDrawingBuffer:!0});if(!e)return null;let n=Yc(e),i=Us(e),r=Us(e,e.NEAREST);if(!n||!i||!r)return n&&e.deleteProgram(n),i&&e.deleteTexture(i),r&&e.deleteTexture(r),null;let o=e.createBuffer();return o?(e.bindBuffer(e.ARRAY_BUFFER,o),e.bufferData(e.ARRAY_BUFFER,new Float32Array([-1,-1,1,-1,-1,1,1,1]),e.STATIC_DRAW),{gl:e,program:{program:n,texture:i,lutTexture:r,position:e.getAttribLocation(n,"a_pos"),source:e.getUniformLocation(n,"u_source"),lut:e.getUniformLocation(n,"u_lut"),resolution:e.getUniformLocation(n,"u_resolution"),uvScale:e.getUniformLocation(n,"u_uvScale"),uvOffset:e.getUniformLocation(n,"u_uvOffset"),lutEnabled:e.getUniformLocation(n,"u_lutEnabled"),lutSize:e.getUniformLocation(n,"u_lutSize"),lutTextureSize:e.getUniformLocation(n,"u_lutTextureSize"),lutDomainMin:e.getUniformLocation(n,"u_lutDomainMin"),lutDomainMax:e.getUniformLocation(n,"u_lutDomainMax"),lutIntensity:e.getUniformLocation(n,"u_lutIntensity"),exposure:e.getUniformLocation(n,"u_exposure"),contrast:e.getUniformLocation(n,"u_contrast"),highlights:e.getUniformLocation(n,"u_highlights"),shadows:e.getUniformLocation(n,"u_shadows"),whites:e.getUniformLocation(n,"u_whites"),blacks:e.getUniformLocation(n,"u_blacks"),temperature:e.getUniformLocation(n,"u_temperature"),tint:e.getUniformLocation(n,"u_tint"),saturation:e.getUniformLocation(n,"u_saturation"),intensity:e.getUniformLocation(n,"u_intensity"),compareEnabled:e.getUniformLocation(n,"u_compareEnabled"),comparePosition:e.getUniformLocation(n,"u_comparePosition"),compareSoftness:e.getUniformLocation(n,"u_compareSoftness"),compareLineWidth:e.getUniformLocation(n,"u_compareLineWidth")}}):(e.deleteProgram(n),e.deleteTexture(i),e.deleteTexture(r),null)}function Qc(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Zc(t){if(!Qc(t))return{...Zt};let e=(n,i,r,o)=>{let s=typeof n=="number"?n:Number(n);return Math.min(o,Math.max(r,Number.isFinite(s)?s:i))};return{enabled:t.enabled===!0,position:e(t.position,Zt.position,0,1),softness:e(t.softness,Zt.softness,0,.25),lineWidth:e(t.lineWidth,Zt.lineWidth,0,12)}}function qs(t){try{let e=new URL(t,document.baseURI);return e.protocol==="data:"?{href:e.href}:e.protocol!=="http:"&&e.protocol!=="https:"?{error:"LUT must be project-local or a data URL"}:e.origin!==window.location.origin?{error:"Remote LUT URLs are not supported"}:{href:e.href}}catch{return{error:"Invalid LUT URL"}}}function qi(t){return t instanceof Error?t.message:"LUT failed to load"}function ed(t){let e=qs(t);if("error"in e)return{state:"error",message:e.error};let n=Nn.get(e.href);if(n)return n;let i=fetch(e.href,{credentials:"same-origin"}).then(o=>{if(!o.ok)throw new Error(`Failed to load LUT (${o.status})`);return o.text()}).then(o=>Hs(o,{maxSize:qc})),r={state:"pending",promise:i};return Nn.set(e.href,r),i.then(o=>Nn.set(e.href,{state:"ready",lut:o}),o=>Nn.set(e.href,{state:"error",message:qi(o)})),r}function Vs(t,e,n){if(t.lut?.src===e)return t.lut;let i=Ws(n),{gl:r,program:o}=t;try{return r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,o.lutTexture),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,i.width,i.height,0,r.RGBA,r.UNSIGNED_BYTE,i.data),t.lut={src:e,title:n.title,size:n.size,domainMin:n.domainMin,domainMax:n.domainMax,textureWidth:i.width,textureHeight:i.height},t.lutError=null,t.lutLoadingSrc=null,t.lut}catch(s){return t.lut=null,t.lutError=qi(s),t.lutLoadingSrc=null,v("runtime.colorGrading.uploadLut",s),null}}function td(t){let e=t.grading.lut?.src.trim()??"",n=t.grading.lut?.intensity??1;if(!e||n<=0)return t.lut=null,t.lutLoadingSrc=null,t.lutError=null,null;let i=qs(e);if("error"in i)return t.lut=null,t.lutLoadingSrc=null,t.lutError=i.error,null;if(t.lut?.src===i.href)return t.lut;t.lut=null;let r=ed(e);return r.state==="ready"?Vs(t,i.href,r.lut):r.state==="error"?(t.lutError=r.message,t.lutLoadingSrc=null,null):(t.lutLoadingSrc!==i.href&&(t.lutLoadingSrc=i.href,t.lutError=null,r.promise.then(o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(Vs(t,i.href,o),Ue(t))},o=>{t.destroyed||t.grading.lut?.src.trim()!==e||(t.lut=null,t.lutError=qi(o),t.lutLoadingSrc=null,Ue(t))})),null)}function ji(t){if(!t)return null;if(typeof t=="string"){let e=t.trim();if(!e)return null;let n=document.getElementById(e.replace(/^#/,""));if(n&&at(n))return n;try{let i=document.querySelector(e);return i&&at(i)?i:null}catch{return null}}if(t.hfId){let e=document.querySelector(`[data-hf-id="${CSS.escape(t.hfId)}"]`);if(e&&at(e))return e}if(t.id){let e=document.getElementById(t.id);if(e&&at(e))return e}if(!t.selector)return null;try{let e=Array.from(document.querySelectorAll(t.selector)),n=Math.max(0,Math.floor(Number(t.selectorIndex??0)||0)),i=e[n]??null;return i&&at(i)?i:null}catch{return null}}function nd(t){return t instanceof HTMLVideoElement?t.videoWidth>0&&t.videoHeight>0?{width:t.videoWidth,height:t.videoHeight}:null:t instanceof HTMLImageElement&&t.naturalWidth>0&&t.naturalHeight>0?{width:t.naturalWidth,height:t.naturalHeight}:null}function $s(t){return t instanceof HTMLVideoElement?t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&t.videoWidth>0&&t.videoHeight>0:t instanceof HTMLImageElement?t.complete&&t.naturalWidth>0&&t.naturalHeight>0:!1}function id(t){if(!t.id)return null;let e=document.getElementById(`__render_frame_${t.id}__`);return e instanceof HTMLImageElement&&$s(e)?e:null}function rd(t){if(t instanceof HTMLVideoElement){let e=id(t);if(e)return e}return $s(t)?t:null}function zs(t,e){let n=t.toLowerCase();if(n==="center")return .5;if(e==="x"){if(n==="left")return 0;if(n==="right")return 1}else{if(n==="top")return 0;if(n==="bottom")return 1}if(n.endsWith("%")){let i=Number.parseFloat(n);return Number.isFinite(i)?i/100:null}return null}function od(t){let e=t.trim().split(/\\s+/).filter(Boolean),n=.5,i=.5;for(let r=0;r<e.length;r++){let o=e[r]??"",s=zs(o,"x"),c=zs(o,"y");if(s!==null&&(o==="left"||o==="right"||o.endsWith("%")&&r===0)){n=s;continue}if(c!==null&&(o==="top"||o==="bottom"||o.endsWith("%")&&r>0)){i=c;continue}}return{x:n,y:i}}function sd(t,e,n,i,r,o){if(t<=0||e<=0||n<=0||i<=0)return{scaleX:1,scaleY:1,offsetX:0,offsetY:0};let s=r||"fill",c=t,a=e;if(s==="contain"||s==="cover"||s==="scale-down"){let f=s==="cover"?Math.max(t/n,e/i):Math.min(t/n,e/i);c=n*f,a=i*f,s==="scale-down"&&c>n&&a>i&&(c=n,a=i)}else s==="none"&&(c=n,a=i);let l=od(o||"center"),u=(t-c)*l.x/t,m=(e-a)*l.y/e;return{scaleX:c/t,scaleY:a/e,offsetX:u,offsetY:m}}function ad(t,e){window.getComputedStyle(e).position==="static"&&(t.touchedParent||(t.touchedParent=e,t.parentInlinePosition=e.style.position||null),e.style.position="relative")}function ld(t,e){let{element:n,canvas:i}=t,r=n.parentElement;r&&ad(t,r);let o=window.getComputedStyle(e);Ir(i.style,o),i.style.pointerEvents="none",i.style.position="absolute",i.style.inset="auto",i.style.left=`${n.offsetLeft}px`,i.style.top=`${n.offsetTop}px`,i.style.right="auto",i.style.bottom="auto",i.style.width=`${n.offsetWidth}px`,i.style.height=`${n.offsetHeight}px`,i.style.display="block",i.style.opacity=t.sourceOpacityForCanvas,i.style.visibility=t.sourceVisibleForCanvas?"visible":"hidden";let s=n.getBoundingClientRect(),c=Math.max(0,Math.round(n.offsetWidth||s.width)),a=Math.max(0,Math.round(n.offsetHeight||s.height));return c<=0||a<=0?(i.style.display="none",null):(i.width!==c&&(i.width=c),i.height!==a&&(i.height=a),{width:c,height:a})}function ud(t,e,n,i,r,o,s){t.uniform1i(e.source,0),t.uniform1i(e.lut,1),t.uniform2f(e.resolution,o.width,o.height),t.uniform2f(e.uvScale,s.scaleX,s.scaleY),t.uniform2f(e.uvOffset,s.offsetX,s.offsetY),t.uniform1f(e.lutEnabled,i?1:0),t.uniform1f(e.lutSize,i?.size??2),t.uniform2f(e.lutTextureSize,i?.textureWidth??1,i?.textureHeight??1),t.uniform3f(e.lutDomainMin,i?.domainMin[0]??0,i?.domainMin[1]??0,i?.domainMin[2]??0),t.uniform3f(e.lutDomainMax,i?.domainMax[0]??1,i?.domainMax[1]??1,i?.domainMax[2]??1),t.uniform1f(e.lutIntensity,n.lut?.intensity??0),t.uniform1f(e.exposure,n.adjust.exposure),t.uniform1f(e.contrast,n.adjust.contrast),t.uniform1f(e.highlights,n.adjust.highlights),t.uniform1f(e.shadows,n.adjust.shadows),t.uniform1f(e.whites,n.adjust.whites),t.uniform1f(e.blacks,n.adjust.blacks),t.uniform1f(e.temperature,n.adjust.temperature),t.uniform1f(e.tint,n.adjust.tint),t.uniform1f(e.saturation,n.adjust.saturation),t.uniform1f(e.intensity,n.intensity),t.uniform1f(e.compareEnabled,r.enabled?1:0),t.uniform1f(e.comparePosition,r.position),t.uniform1f(e.compareSoftness,r.softness),t.uniform1f(e.compareLineWidth,r.lineWidth)}function cd(t){t.sourceHidden||(t.sourceInlineOpacity=t.element.style.getPropertyValue("opacity")||null,t.sourceInlineOpacityPriority=t.element.style.getPropertyPriority("opacity")),t.element.setAttribute(js,"true"),t.element.style.setProperty("opacity","0","important"),t.sourceHidden=!0}function Ue(t){if(t.destroyed)return!1;let e=rd(t.element);if(!e)return t.hasDrawn||(t.canvas.style.display="none"),!1;let n=nd(e);if(!n)return!1;let i=e instanceof HTMLElement?e:t.element,r=t.element.style.getPropertyValue("opacity"),o=t.element.style.getPropertyPriority("opacity"),s=t.sourceHidden&&r==="0"&&o==="important",c=t.element.style.getPropertyValue("visibility");if(!s){let x=window.getComputedStyle(t.element);t.sourceOpacityForCanvas=x.opacity||"1",t.sourceVisibleForCanvas=c!=="hidden"&&x.visibility!=="hidden"}let a=ld(t,i);if(!a)return!1;let l=window.getComputedStyle(i),u=sd(a.width,a.height,n.width,n.height,l.objectFit,l.objectPosition),{gl:m,program:f}=t;try{let x=td(t);return m.viewport(0,0,a.width,a.height),m.useProgram(f.program),m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,f.texture),m.pixelStorei(m.UNPACK_FLIP_Y_WEBGL,!0),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,e),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,f.lutTexture),ud(m,f,t.grading,x,t.compare,a,u),m.enableVertexAttribArray(f.position),m.vertexAttribPointer(f.position,2,m.FLOAT,!1,0,0),m.drawArrays(m.TRIANGLE_STRIP,0,4),cd(t),t.hasDrawn=!0,!0}catch(x){return v("runtime.colorGrading.drawEntry",x),!1}}function Ye(t,e,n,i){e.addEventListener(n,i),t.cleanup.push(()=>e.removeEventListener(n,i))}function dd(t){t.animationFrame!==null&&(window.cancelAnimationFrame(t.animationFrame),t.animationFrame=null),t.videoFrameHandle!==null&&t.element instanceof HTMLVideoElement&&(t.element.cancelVideoFrameCallback?.(t.videoFrameHandle),t.videoFrameHandle=null)}function en(t){if(t.destroyed||!(t.element instanceof HTMLVideoElement)||t.videoFrameHandle!==null||t.animationFrame!==null)return;let e=t.element,n=e;if(typeof n.requestVideoFrameCallback=="function"){t.videoFrameHandle=n.requestVideoFrameCallback(()=>{t.videoFrameHandle=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)});return}t.animationFrame=window.requestAnimationFrame(()=>{t.animationFrame=null,Ue(t),!t.destroyed&&!e.paused&&!e.ended&&en(t)})}function fd(t){let e=()=>{Ue(t)};Ye(t,t.element,"load",e),Ye(t,t.element,"loadedmetadata",e),Ye(t,t.element,"loadeddata",e),Ye(t,t.element,"seeked",e),Ye(t,t.element,"timeupdate",e),Ye(t,window,"resize",e),t.element instanceof HTMLVideoElement&&(Ye(t,t.element,"play",()=>en(t)),Ye(t,t.element,"pause",e)),typeof ResizeObserver<"u"&&(t.resizeObserver=new ResizeObserver(e),t.resizeObserver.observe(t.element))}function md(t){if(!t.destroyed){t.destroyed=!0,dd(t),t.resizeObserver?.disconnect();for(let e of t.cleanup)e();if(t.cleanup.length=0,t.canvas.remove(),t.gl.deleteTexture(t.program.texture),t.gl.deleteTexture(t.program.lutTexture),t.gl.deleteProgram(t.program.program),t.sourceHidden){t.element.removeAttribute(js);let e=t.element.style.getPropertyValue("opacity"),n=t.element.style.getPropertyPriority("opacity");e==="0"&&n==="important"&&(t.sourceInlineOpacity===null?t.element.style.removeProperty("opacity"):t.element.style.setProperty("opacity",t.sourceInlineOpacity,t.sourceInlineOpacityPriority))}t.touchedParent&&(t.parentInlinePosition===null?t.touchedParent.style.removeProperty("position"):t.touchedParent.style.position=t.parentInlinePosition)}}function pd(t){let e=document.createElement("canvas");return e.className=jc,e.setAttribute(zc,"true"),e.setAttribute("data-hyperframes-ignore",""),e.setAttribute("data-hyperframes-picker-ignore",""),e.setAttribute("data-hf-ignore",""),e.setAttribute("aria-hidden","true"),e.style.pointerEvents="none",e.style.display="none",t.parentNode?.insertBefore(e,t.nextSibling),e}function Ks(){let t=new WeakMap,e=new Set,n=null,i=!1,r=(y,g,w)=>{let N=t.get(y);if(N)return N.grading=g,N.source=w,Ue(N),y instanceof HTMLVideoElement&&!y.paused&&en(N),!0;let L=pd(y),$=Xc(L);if(!$)return L.remove(),!1;let B={element:y,canvas:L,gl:$.gl,program:$.program,grading:g,compare:{...Zt},lut:null,lutLoadingSrc:null,lutError:null,source:w,animationFrame:null,videoFrameHandle:null,resizeObserver:null,cleanup:[],touchedParent:null,parentInlinePosition:null,sourceHidden:!1,sourceInlineOpacity:null,sourceInlineOpacityPriority:"",sourceOpacityForCanvas:window.getComputedStyle(y).opacity||"1",sourceVisibleForCanvas:window.getComputedStyle(y).visibility!=="hidden",hasDrawn:!1,destroyed:!1};return t.set(y,B),e.add(y),fd(B),Ue(B),y instanceof HTMLVideoElement&&!y.paused&&en(B),!0},o=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=t.get(w);if(!N){let L=zi(w);if(!Qt(L)||!r(w,L,"attribute"))return!1;N=t.get(w)}return N?(N.compare=Zc(g),Ue(N),!0):!1},s=y=>{let g=t.get(y);g&&(md(g),t.delete(y),e.delete(y))},c=()=>{if(i)return 0;let y=new Set;document.querySelectorAll(`video[${Xt}], img[${Xt}]`).forEach(w=>{if(!at(w))return;y.add(w);let N=zi(w);Qt(N)?r(w,N,"attribute"):s(w)});for(let w of Array.from(e)){let N=t.get(w);N&&(!w.isConnected||N.source==="attribute"&&!y.has(w))&&s(w)}return e.size},a=()=>{if(i)return 0;let y=0;for(let g of Array.from(e,w=>t.get(w)))g&&Ue(g)&&(y+=1);return y},l=(y,g)=>{if(i)return!1;let w=ji(y);if(!w)return!1;let N=Ui(g);return Qt(N)?r(w,N,"live"):(s(w),!0)},u=(y,g)=>{if(!at(y))return!1;let w=t.get(y);return w?(w.sourceVisibleForCanvas=g,!0):!1},m=y=>{let g=ji(y);if(!g)return{state:"missing",message:"Media not found"};let w=t.get(g);if(w)return w.lutError?{state:"unavailable",message:w.lutError}:w.grading.lut&&w.lutLoadingSrc?{state:"pending",message:"Loading LUT"}:w.canvas.style.display==="none"?{state:"pending",message:"Waiting for media frame"}:{state:"active",message:w.lut?"Shader + LUT active":"Shader active"};let N=zi(g);return Qt(N)?{state:"unavailable",message:"WebGL unavailable"}:{state:"inactive",message:"No grading applied"}},f=()=>{if(!i){i=!0,n?.disconnect(),n=null;for(let y of Array.from(e))s(y)}};document.body&&(n=new MutationObserver(()=>c()),n.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[Xt]}));let x={refresh:c,redraw:a,setGrading:l,setCompare:o,setSourceVisibility:u,getStatus:m,destroy:f},A=window;return A.__hf=A.__hf||{},A.__hf.colorGrading=x,c(),x}var _n=class{constructor(e){xe(this,"_baseTime",0);xe(this,"_playStartMs",null);xe(this,"_rate",1);xe(this,"_duration",1/0);xe(this,"_nowMs");xe(this,"_audioSource",null);this._baseTime=e?.initialTime??0,this._rate=e?.rate??1,this._duration=e?.duration??1/0,this._nowMs=e?.nowMs??(()=>performance.now())}now(){if(this._playStartMs===null)return this._baseTime;if(this._audioSource){let i=null;if("currentTimeSeconds"in this._audioSource)i=this._audioSource.currentTimeSeconds;else{let{el:r,compositionStart:o,mediaStart:s}=this._audioSource;!r.paused&&Number.isFinite(r.currentTime)&&(i=(r.currentTime-s)/(r.playbackRate>0?r.playbackRate:1)*this._rate+o)}if(i!==null)return Number.isFinite(this._duration)&&i>=this._duration?this._duration:Math.max(0,i)}let e=(this._nowMs()-this._playStartMs)/1e3,n=this._baseTime+e*this._rate;return Number.isFinite(this._duration)&&n>=this._duration?this._duration:Math.max(0,n)}play(){return this._playStartMs!==null||Number.isFinite(this._duration)&&this._baseTime>=this._duration?!1:(this._playStartMs=this._nowMs(),!0)}pause(){return this._playStartMs===null?!1:(this._baseTime=this.now(),this._playStartMs=null,!0)}seek(e){let n=Number.isFinite(this._duration)?Math.max(0,Math.min(e,this._duration)):Math.max(0,e);this._baseTime=n,this._playStartMs!==null&&(this._playStartMs=this._nowMs())}isPlaying(){return this._playStartMs!==null}setRate(e){let n=Number.isFinite(e)&&e>0?Math.max(.1,Math.min(5,e)):1;this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._rate=n}getRate(){return this._rate}setDuration(e){this._duration=Number.isFinite(e)&&e>0?e:1/0,this._baseTime>this._duration&&(this._baseTime=this._duration)}getDuration(){return this._duration}attachAudioSource(e){this._audioSource=e}detachAudioSource(){this._audioSource&&this._playStartMs!==null&&(this._baseTime=this.now(),this._playStartMs=this._nowMs()),this._audioSource=null}hasAudioSource(){return this._audioSource!==null}getSource(){if(this._audioSource&&this._playStartMs!==null){if("currentTimeSeconds"in this._audioSource)return"audio";let{el:e}=this._audioSource;if(!e.paused&&Number.isFinite(e.currentTime))return"audio"}return"monotonic"}snapshot(){return{time:this.now(),playing:this.isPlaying(),rate:this._rate,duration:this._duration,source:this.getSource()}}reachedEnd(){return Number.isFinite(this._duration)&&this.now()>=this._duration}};function Js(t){return!Number.isFinite(t)||t<=0?1:t}function hd(t,e){e||t.paused||!ln().__hfDebug||console.debug("[hyperframes] webAudioTransport claimed fallback-playing element:",t.currentSrc||t.getAttribute("src")||"")}function gd(t,e){let{elapsed:n,mediaStart:i,scheduledAt:r,safeRate:o,clipDuration:s}=e,c=Number.isFinite(s)&&s>0,a=s*o;if(n>=0){let u=a-n;return c&&u<=0?!1:(c?t.start(0,n+i,u):t.start(0,n+i),!0)}let l=-n/o;return c?t.start(r+l,i,a):t.start(r+l,i),!0}var Tn=class{constructor(){xe(this,"_ctx",null);xe(this,"_bufferCache",new Map);xe(this,"_failedSrcs",new Set);xe(this,"_activeSources",[]);xe(this,"_masterGain",null);xe(this,"_rateAnchorCtx",0);xe(this,"_rateAnchorComp",0);xe(this,"_rate",1);xe(this,"_paused",!0);xe(this,"_playGeneration",0)}async init(){try{return this._ctx=new AudioContext,this._masterGain=this._ctx.createGain(),this._masterGain.connect(this._ctx.destination),!0}catch{return!1}}get context(){return this._ctx}getTime(){return!this._ctx||this._paused?-1:this._rateAnchorComp+(this._ctx.currentTime-this._rateAnchorCtx)*this._rate}async decodeAudioElement(e){let n=e.currentSrc||e.getAttribute("src");if(!n)return null;if(this._bufferCache.has(n))return this._bufferCache.get(n);if(this._failedSrcs.has(n)||!this._ctx)return null;let i;try{let r=await fetch(n,{cache:"no-store"});if(!r.ok)return v("webAudioTransport.fetch",new Error(`${r.status} ${n}`)),null;i=await r.arrayBuffer()}catch(r){return v("webAudioTransport.fetch",r),null}try{let r=await this._ctx.decodeAudioData(i);return this._bufferCache.set(n,r),r}catch(r){return this._failedSrcs.add(n),v("webAudioTransport.decode",r),null}}startGeneration(){return this._playGeneration+=1,this._playGeneration}currentGeneration(){return this._playGeneration}async schedulePlayback(e,n,i,r,o,s,c,a=1,l=Number.POSITIVE_INFINITY){if(!this._ctx||!this._masterGain||c!==this._playGeneration)return null;try{if(this._ctx.state==="suspended"&&await this._ctx.resume(),c!==this._playGeneration)return null;let u=Js(a),m=this._ctx.createBufferSource();m.buffer=n,m.playbackRate.value=u;let f=this._ctx.createGain();f.gain.value=s,m.connect(f),f.connect(this._masterGain);let x=o-i,A=this._ctx.currentTime;if(this._rate=u,this._rateAnchorCtx=A,this._rateAnchorComp=o,!gd(m,{elapsed:x,mediaStart:r,scheduledAt:A,safeRate:u,clipDuration:l}))return m.disconnect(),f.disconnect(),null;let y=e.muted;e.muted=!0,hd(e,y);let g={el:e,sourceNode:m,gainNode:f,compositionStart:i,mediaStart:r,scheduledAt:A,priorMuted:y,bounded:Number.isFinite(l)&&l>0};return this._activeSources.push(g),this._paused=!1,m.addEventListener("ended",()=>{let w=this._activeSources.indexOf(g);w!==-1&&(this._activeSources.splice(w,1),e.muted=y,this._activeSources.length===0&&(this._paused=!0))}),g}catch(u){return v("webAudioTransport.schedule",u),null}}setRate(e){let n=Js(e);if(n===this._rate)return!1;this._ctx&&!this._paused&&(this._rateAnchorComp=this.getTime(),this._rateAnchorCtx=this._ctx.currentTime),this._rate=n;for(let i of this._activeSources)try{i.sourceNode.playbackRate.value=n}catch(r){v("webAudioTransport.setRate",r)}return!0}hasBoundedActiveSources(){return this._activeSources.some(e=>e.bounded)}stopAll(){for(let e of this._activeSources){try{e.sourceNode.stop(),e.sourceNode.disconnect(),e.gainNode.disconnect()}catch{}e.el.muted=e.priorMuted}this._activeSources=[],this._paused=!0}setVolume(e){this._masterGain&&(this._masterGain.gain.value=Math.max(0,Math.min(1,e)))}setElementVolume(e,n){let i=Math.max(0,Math.min(1,n));for(let r of this._activeSources)if(r.el===e)try{r.gainNode.gain.value=i}catch(o){v("webAudioTransport.setElementVolume",o)}}setMuted(e){this._masterGain&&(this._masterGain.gain.value=e?0:1)}isActive(){return this._activeSources.length>0&&!this._paused}ownsElement(e){return!this._paused&&this._activeSources.some(n=>n.el===e)}destroy(){if(this.stopAll(),this._bufferCache.clear(),this._failedSrcs.clear(),this._ctx)try{this._ctx.close()}catch{}this._ctx=null,this._masterGain=null}};var Ys="data-hf-studio-manual-edit-gesture";var $i="data-hf-authored-duration",Ki="data-hf-authored-end";function xd(){let t=window.__HF_EXPORT_RENDER_SEEK_CONFIG,e=t?.fps,n=t?.fpsSource,i=Number(e);return!t||e==null?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"missing"}:!Number.isFinite(i)||i<=0?{fps:null,source:"default",rawFpsSource:n,rawFps:e,fallbackReason:"invalid"}:{fps:i,source:n==="render-options"||n==="default"?n:"unknown",rawFpsSource:n,rawFps:e,fallbackReason:t.fpsFallbackReason}}function Xs(){let t=Br();Wi(document);let e=xd();t.canonicalFps=e.fps??t.canonicalFps,window.__HF_EXPORT_RENDER_SEEK_CONFIG&&console.info("[hyperframes] render runtime fps",{canonicalFps:t.canonicalFps,source:e.source,rawFpsSource:e.rawFpsSource,rawFps:e.rawFps,fallbackReason:e.fallbackReason});let n=null,i=null,r=null,o=[],s=new Set,c=null;if(typeof window.__hfRuntimeTeardown=="function")try{window.__hfRuntimeTeardown()}catch(d){v("runtime.init.site1",d)}(()=>{let d=window.gsap,p=window;if(!(!d?.registerPlugin||p.__hfAutoNoopRegistered))try{d.registerPlugin({name:"_auto",init:()=>!1}),p.__hfAutoNoopRegistered=!0}catch{}})(),document.documentElement&&(document.documentElement.style.margin="0",document.documentElement.style.padding="0",document.documentElement.style.overflow="hidden"),document.body&&(document.body.style.margin="0",document.body.style.padding="0",document.body.style.overflow="hidden"),window.__timelines=window.__timelines||{};let l=()=>{let d=document.querySelector(\'[data-composition-id][data-root="true"]\');if(d instanceof HTMLElement)return d;let p=Array.from(document.querySelectorAll("[data-composition-id]"));return p.find(h=>!h.parentElement?.closest("[data-composition-id]"))??p[0]??null};if(Array.isArray(window.__timelines)){let d=window.__timelines,p=l()?.getAttribute("data-composition-id")??"root",h={};if(d.length===1)h[p]=d[0];else for(let b=0;b<d.length;b++)h[`tl-${b}`]=d[b];window.__timelines=h}let u=l();u&&!u.hasAttribute("data-start")&&u.setAttribute("data-start","0");let m=d=>{o.push(d)},f=(d,p,h)=>{let b=h??`${d}:${JSON.stringify(p)}`;s.has(b)||(s.add(b),Ee({source:"hf-preview",type:"diagnostic",code:d,details:p}))},x=d=>{let p={scale:1,focusX:960,focusY:540},h=[],b=[],E={time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying(),renderMode:!1,timelineDirty:!1};return{play:d.play,pause:d.pause,seek:d.seek,getTime:d.getTime,getDuration:d.getDuration,isPlaying:d.isPlaying,getMainTimeline:()=>null,getElementBounds:()=>{},getElementsAtPoint:()=>{},setElementPosition:()=>{},previewElementPosition:()=>{},setElementKeyframes:()=>{},setElementScale:()=>{},setElementFontSize:()=>{},setElementTextContent:()=>{},setElementTextColor:()=>{},setElementTextShadow:()=>{},setElementTextFontWeight:()=>{},setElementTextFontFamily:()=>{},setElementTextOutline:()=>{},setElementTextHighlight:()=>{},setElementVolume:()=>{},setStageZoom:()=>{},getStageZoom:()=>p,setStageZoomKeyframes:()=>{},getStageZoomKeyframes:()=>h,addElement:()=>!1,removeElement:()=>!1,updateElementTiming:()=>!1,setElementTiming:()=>{},updateElementSrc:()=>!1,updateElementLayer:()=>!1,updateElementBasePosition:()=>!1,markTimelineDirty:()=>{},isTimelineDirty:()=>!1,rebuildTimeline:()=>{},ensureTimeline:()=>{},enableRenderMode:()=>{},disableRenderMode:()=>{},renderSeek:d.renderSeek,getElementVisibility:()=>({visible:!1}),getVisibleElements:()=>b,getRenderState:()=>({...E,time:d.getTime(),duration:d.getDuration(),isPlaying:d.isPlaying()})}},A=1/60,y=.75,g=2,w=.05,N=100,L=240,$=d=>{if(d instanceof Error)return d.message||String(d);if(typeof d=="string")return d;try{return JSON.stringify(d)}catch{return String(d??"")}},B=d=>{let p=d.toLowerCase();return p.includes("cannot read properties of null")||p.includes("cannot set properties of null")?{code:"runtime_null_dom_access",category:"dom-null-access"}:p.includes("failed to execute \'queryselector\'")?{code:"runtime_invalid_selector",category:"selector-invalid"}:p.includes("is not defined")?{code:"runtime_reference_missing",category:"reference-missing"}:{code:"runtime_script_error",category:"script-error"}},_=d=>{if(d==null||d.trim()==="")return null;let p=Number.parseFloat(d);return!Number.isFinite(p)||p<=0?null:`${p}px`},S=()=>l(),C=()=>{let d=S();if(!d)return;let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h),p&&d.style.setProperty("--comp-width",p),h&&d.style.setProperty("--comp-height",h)},F=()=>{let d=S(),p=Array.from(document.querySelectorAll("[data-composition-id]")).filter(h=>h.hasAttribute("data-duration")||h.hasAttribute("data-end"));for(let h of p){if(d&&h===d)continue;let b=h.getAttribute("data-duration"),E=h.getAttribute("data-end");b!=null&&!h.hasAttribute($i)&&h.setAttribute($i,b),E!=null&&!h.hasAttribute(Ki)&&h.setAttribute(Ki,E),h.removeAttribute("data-duration"),h.removeAttribute("data-end")}},T=()=>{let d=S();if(!d)return;d.style.position||(d.style.position="relative"),d.style.overflow="hidden";let p=_(d.getAttribute("data-width")),h=_(d.getAttribute("data-height"));p&&(d.style.width=p),h&&(d.style.height=h);let b=Array.from(d.children);for(let E of b){let M=E.tagName.toLowerCase();if(M==="script"||M==="style"||M==="link"||M==="meta"||!E.hasAttribute("data-start")||E.hasAttribute("data-hf-autostamped"))continue;let k=(E.style.top==="0px"||E.style.top==="0")&&(E.style.left==="0px"||E.style.left==="0")&&E.style.width==="100%"&&E.style.height==="100%",J=/translate\\(\\s*-50%\\s*,\\s*-50%\\s*\\)/.test(E.style.transform);if(k&&J&&!E.hasAttribute("data-width")&&!E.hasAttribute("data-height")){let ye=E.style.top,nt=E.style.left,Ae=E.style.width,Ct=E.style.height;E.style.top="",E.style.left="",E.style.width="",E.style.height="";let ne=window.getComputedStyle(E);ne.top!=="auto"||ne.bottom!=="auto"||ne.left!=="auto"||ne.right!=="auto"||ne.width!=="0px"||ne.height!=="0px"||(E.style.top=ye,E.style.left=nt,E.style.width=Ae,E.style.height=Ct)}let K=window.getComputedStyle(E),me=K.position;if(me!=="absolute"&&me!=="fixed"&&(E.style.position="absolute"),!!E.style.top||!!E.style.bottom||K.top!=="auto"||K.bottom!=="auto"||(E.style.top="0"),!!E.style.left||!!E.style.right||K.left!=="auto"||K.right!=="auto"||(E.style.left="0"),M!=="audio"){let ye=_(E.getAttribute("data-width")),nt=_(E.getAttribute("data-height")),Ae=K.width!=="0px"&&K.width!=="auto",Ct=K.height!=="0px"&&K.height!=="auto";ye?!E.style.width&&!Ae&&(E.style.width=ye):!E.style.width&&K.width==="0px"&&(E.style.width="100%"),nt?!E.style.height&&!Ct&&(E.style.height=nt):!E.style.height&&K.height==="0px"&&(E.style.height="100%")}}},R=(d,p=0,h)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:h?.includeAuthoredTimingAttrs??!0}).resolveStartForElement(d,p),G=(d,p)=>ze({timelineRegistry:window.__timelines??{},includeAuthoredTimingAttrs:p?.includeAuthoredTimingAttrs??!0}).resolveDurationForElement(d),j=(d,p=0)=>!d.hasAttribute("data-hf-auto-start")&&d.hasAttribute("data-start")?Math.max(0,Number(d.getAttribute("data-start")??0)||0)+p:R(d,p),ie=(d,p)=>{let h=d.tagName.toLowerCase();if(h==="script"||h==="style"||h==="link"||h==="meta")return!1;let b=h==="video"||h==="audio"?j(d,0):R(d,0),E=G(d),M=d.getAttribute("data-composition-id");if(M){let J=(window.__timelines??{})[M],K=null;if(J&&typeof J.duration=="function"){let be=Number(J.duration());Number.isFinite(be)&&be>0&&(K=be)}!(d.hasAttribute("data-duration")||d.hasAttribute("data-end")||d.hasAttribute($i)||d.hasAttribute(Ki))&&(E==null||E<=0)&&K!=null&&(E=K)}let k=E!=null&&E>0?b+E:Number.POSITIVE_INFINITY;return p>=b&&(Number.isFinite(k)?p<=k:!0)},P=!!document.querySelector("[data-composition-src]"),se=!1;{let d=document.querySelectorAll("[data-composition-id]:not([data-composition-src])");for(let p of d){let h=p.getAttribute("data-composition-id");if(h&&p.children.length===0&&document.querySelector(`template#${CSS.escape(h)}-template`)){se=!0;break}}}let Se=!P&&!se,H=d=>{if(!d||typeof d.duration!="function")return null;try{let p=Number(d.duration());return Number.isFinite(p)?Math.max(0,p):null}catch{return null}},U=d=>typeof d=="number"&&Number.isFinite(d)&&d>A,V=d=>{let p=Number(d.getAttribute("data-duration"));if(Number.isFinite(p)&&p>0)return p;let h=Number(d.getAttribute("data-playback-start")??d.getAttribute("data-media-start")??"0"),b=Number.isFinite(h)?Math.max(0,h):0;return Number.isFinite(d.duration)&&d.duration>b?Math.max(0,d.duration-b):null},re=()=>{let d=Array.from(document.querySelectorAll("video[data-start], audio[data-start]"));if(d.length===0)return null;let p=0;for(let h of d){let b=j(h,0);if(!Number.isFinite(b))continue;let E=V(h);E==null||E<=A||(p=Math.max(p,Math.max(0,b)+E))}return p>A?p:null},Fe=()=>{let d=S();if(!d)return null;let p=window.__timelines??{},h=ze({timelineRegistry:p,includeAuthoredTimingAttrs:!0}),b=0,E=Number.parseFloat(d.getAttribute("data-duration")??"");Number.isFinite(E)&&E>0&&(b=E);let M=Array.from(d.querySelectorAll("[data-composition-id][data-start]"));for(let k of M){if(!(k instanceof Element)||k.parentElement?.closest("[data-composition-id]")!==d)continue;let K=h.resolveStartForElement(k,0),me=h.resolveDurationForElement(k);!Number.isFinite(K)||me==null||me<=0||(b=Math.max(b,Math.max(0,K)+me))}return b>A?b:null},O=()=>{let d=re();return typeof d!="number"||!Number.isFinite(d)||d<=A?null:d},D=d=>U(d)?Math.max(A,d*y):A,W=()=>{let d=0;for(let p of t.deterministicAdapters){let h=p.getInferredDurationSeconds;if(typeof h!="function")continue;let b=null;try{b=h()}catch(E){v("runtime.init.adapterDuration",E)}typeof b=="number"&&Number.isFinite(b)&&b>0&&(d=Math.max(d,b))}return d>A?d:null},Q=(d,p=0)=>{let h=H(d),b=O(),E=Fe(),M=W(),k=Math.max(b??0,E??0,M??0),J=Number.isFinite(p)&&p>A?p:0,K=0;return U(h)?K=Math.max(h,k,J):U(k)?K=Math.max(k,J):K=J,K>0?Math.max(0,K):0},ae=()=>{let d=window.__timelines??{},p=ne=>{let ee=Object.entries(d).filter(ge=>!!ge[1]&&typeof ge[1].play=="function"&&typeof ge[1].pause=="function");if(ee.length!==1)return{timeline:null};let[fe,pe]=ee[0];return{timeline:pe,selectedTimelineIds:[fe],selectedDurationSeconds:H(pe),diagnostics:{code:"root_timeline_sole_registered_fallback",details:{reason:ne,soleTimelineId:fe}}}},h=ze({timelineRegistry:d,includeAuthoredTimingAttrs:!0}),b=O(),E=Fe(),M=Math.max(b??0,E??0)||null,k=D(M),J=ne=>{let ee=document.querySelector(`[data-composition-id="${CSS.escape(ne)}"]`);return ee?h.resolveStartForElement(ee,0):0},K=ne=>{let ee=window.gsap;if(!ee||typeof ee.timeline!="function")return null;let fe=ee.timeline({paused:!0});for(let pe of ne)fe.add(pe.timeline,J(pe.compositionId));return fe},me=(ne,ee)=>{if(!U(ne))return null;let fe=window.gsap;if(!fe||typeof fe.timeline!="function")return null;let pe=fe.timeline({paused:!0});if(ee)try{pe.add(ee,0)}catch(ue){v("runtime.init.site2",ue)}let ge=pe;if(typeof ge.to=="function")try{ge.to({},{duration:ne})}catch(ue){v("runtime.init.site3",ue)}return pe},be=(ne,ee)=>{let fe=ne;if(typeof fe.getChildren!="function")return[];try{let pe=fe.getChildren(!0,!0,!0)??[];if(!Array.isArray(pe))return[];let ge=[];for(let ue of ee)if(!pe.some(ve=>ve===ue.timeline))try{let ve=J(ue.compositionId);ne.add(ue.timeline,ve),ge.push(ue.compositionId)}catch(ve){v("runtime.init.site4",ve)}return ge}catch{return[]}},oe=S(),Z=oe?.getAttribute("data-composition-id")??null;if(!Z)return p("root_missing_composition_id");let ye=d[Z]??null,Ae=(()=>{if(!oe)return[];let ne=new Set,ee=Array.from(oe.querySelectorAll("[data-composition-id]")),fe=[];for(let pe of ee){let ge=pe.getAttribute("data-composition-id");if(!ge||ge===Z||ne.has(ge))continue;ne.add(ge);let ue=d[ge]??null;if(!ue||typeof ue.play!="function"||typeof ue.pause!="function")continue;let Ne=H(ue);fe.push({compositionId:ge,timeline:ue,durationSeconds:Ne??0})}return fe})(),Ct=ne=>{for(let ee of ne){let fe=ee.timeline;if(typeof fe.paused=="function")try{fe.paused(!1)}catch(pe){v("runtime.init.site5",pe)}}};if(Ae.length>0&&Ct(Ae),ye){let ne=Ae.length>0?be(ye,Ae):[];if((Ae.length>0||!document.querySelector("[data-composition-id]:not([data-composition-id=\'"+Z+"\'])"))&&(q=!0),ne.length>0)try{let ue=ye.time();ye.seek(ue,!1)}catch{}let ee=H(ye);if(!U(ee)&&Ae.length>0){let ue=Ae.map(Ia=>Ia.compositionId),Ne=K(Ae),ve=H(Ne);if(Ne&&U(ve))return{timeline:Ne,selectedTimelineIds:ue,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:ve,mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedTimelineIds:ue,autoNestedChildren:ne}}};let Vn=me(M??0,ye),zn=H(Vn);if(Vn&&U(zn))return{timeline:Vn,selectedTimelineIds:[Z],selectedDurationSeconds:zn,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:zn,selectedTimelineIds:[Z],autoNestedChildren:ne}}}}if(!U(ee)&&Ae.length===0){let ue=me(M??0,ye),Ne=H(ue);if(ue&&U(Ne))return{timeline:ue,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_unusable_media_floor_fallback",details:{rootCompositionId:Z,rootDurationSeconds:ee,fallbackKind:"media_duration_floor",mediaDurationFloorSeconds:b,authoredCompositionDurationFloorSeconds:E,selectedDurationSeconds:Ne,selectedTimelineIds:[Z]}}}}let fe=oe?.getAttribute("data-duration"),pe=fe?parseFloat(fe):null,ge=Math.max(U(pe)?pe:0,E??0);if(ge>0&&U(ge)&&U(ee)&&ge>=ee+.5){let ue=ye;if(typeof ue.to=="function")try{ue.to({},{duration:0},ge)}catch(ve){v("runtime.init.site6",ve)}let Ne=H(ye);if(U(Ne))return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:Ne,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_padded_to_declared_duration",details:{rootCompositionId:Z,rootDurationSeconds:ee,rootDeclaredDur:pe,authoredCompositionDurationFloorSeconds:E,newDur:Ne}}}}return{timeline:ye,selectedTimelineIds:[Z],selectedDurationSeconds:ee,mediaDurationFloorSeconds:b,diagnostics:ne.length>0?{code:"root_timeline_auto_nested_children",details:{rootCompositionId:Z,selectedDurationSeconds:ee,autoNestedChildren:ne}}:void 0}}if(Ae.length>0){let ne=Ae.map(pe=>pe.compositionId),ee=K(Ae),fe=H(ee);if(ee)return{timeline:ee,selectedTimelineIds:ne,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,diagnostics:{code:"root_timeline_missing_fallback",details:{rootCompositionId:Z,fallbackKind:"composite_by_root_children",minCandidateDurationSeconds:k,selectedDurationSeconds:fe,mediaDurationFloorSeconds:b,selectedTimelineIds:ne}}}}return p("root_composition_id_unmatched_in_registry")},q=!1,z=()=>{if(!Se)return!1;let d=t.capturedTimeline,p=H(d),h=U(p);if(d&&h&&q)return!1;let b=ae();if(!b.timeline)return!1;if(d&&d===b.timeline)return typeof d.timeScale=="function"&&d.timeScale(t.playbackRate),!1;t.capturedTimeline=b.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let E=Q(t.capturedTimeline,0);if(E<=0&&typeof t.capturedTimeline.progress=="function"&&(t.capturedTimeline.progress(1,!0),t.capturedTimeline.progress(0,!1),t.capturedTimeline.pause()),E>0){try{I.setDuration(E)}catch{}if(typeof t.capturedTimeline.totalTime=="function"){typeof t.capturedTimeline.progress=="function"&&t.capturedTimeline.progress(1e-4,!0);let k=Math.max(0,t.currentTime||0);t.capturedTimeline.totalTime(k,!1),t.capturedTimeline.pause()}let M=window.__hfStudioManualEditsApply;typeof M=="function"&&M(),Wi(document)}if(b.diagnostics&&Ee({source:"hf-preview",type:"diagnostic",code:b.diagnostics.code,details:b.diagnostics.details}),Ee({source:"hf-preview",type:"diagnostic",code:"timeline_bound",details:{selectedTimelineIds:b.selectedTimelineIds??[],selectedDurationSeconds:b.selectedDurationSeconds??null,mediaDurationFloorSeconds:b.mediaDurationFloorSeconds??null}}),window.parent!==window){let M=S(),k=E>0?E:0,J=String(k>0?k:1),K=new Set,me=new Set(document.querySelectorAll("[data-start]")),be=oe=>{let Z=oe.parentElement;for(;Z&&Z!==M;){if(me.has(Z))return!0;Z=Z.parentElement}return!1};if(t.capturedTimeline.getChildren)try{for(let oe of t.capturedTimeline.getChildren(!0))if(typeof oe.targets=="function")for(let Z of oe.targets())Z instanceof HTMLElement&&Z!==M&&(Z.hasAttribute("data-start")||be(Z)||K.has(Z)||(K.add(Z),Z.setAttribute("data-start","0"),Z.setAttribute("data-duration",J),Z.setAttribute("data-hf-autostamped","1")))}catch{}if(M instanceof HTMLElement)for(let oe of M.querySelectorAll("[id]"))oe instanceof HTMLElement&&oe!==M&&(oe.hasAttribute("data-start")||be(oe)||K.has(oe)||oe.tagName==="SCRIPT"||oe.tagName==="STYLE"||oe.tagName==="LINK"||(K.add(oe),oe.setAttribute("data-start","0"),oe.setAttribute("data-duration",J),oe.setAttribute("data-hf-autostamped","1")))}for(let M of At)rn.delete(M),rr(M);return!0};window.__hfForceTimelineRebind=()=>{q=!1,z()};let X=()=>{let d=S();if(!(d instanceof HTMLElement))return;let p=d.getBoundingClientRect(),h=Number(d.getAttribute("data-width")),b=Number(d.getAttribute("data-height")),E=window.getComputedStyle(d),M=Number.isFinite(h)&&h>0&&Number.isFinite(b)&&b>0,k=p.width<=0||p.height<=0||d.clientWidth<=0||d.clientHeight<=0;!M||!k||f("root_stage_layout_zero",{compositionId:d.getAttribute("data-composition-id")??null,declaredWidth:h,declaredHeight:b,rectWidth:Math.round(p.width),rectHeight:Math.round(p.height),clientWidth:d.clientWidth,clientHeight:d.clientHeight,display:E.display,visibility:E.visibility,overflow:E.overflow},`root-stage-layout-zero:${d.getAttribute("data-composition-id")??"unknown"}`)},Ie=()=>{t.tornDown||(c!=null&&window.cancelAnimationFrame(c),c=window.requestAnimationFrame(()=>{c=null,X()}))},Me=()=>{i=d=>{let p=$(d.error??d.message).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:h.code,details:{category:h.category,message:p,filename:d.filename||null,line:Number.isFinite(d.lineno)?d.lineno:null,column:Number.isFinite(d.colno)?d.colno:null}})},r=d=>{let p=$(d.reason).slice(0,L);if(!p)return;let h=B(p);Ee({source:"hf-preview",type:"diagnostic",code:`${h.code}_unhandled_rejection`,details:{category:`${h.category}-unhandled-rejection`,message:p}})},window.addEventListener("error",i),window.addEventListener("unhandledrejection",r)},St=()=>{let d=Array.from(document.querySelectorAll("img, video, audio, source, link[rel=\'stylesheet\']"));for(let h of d){let b=()=>{if(!(h instanceof Element))return;let E=h.tagName.toLowerCase(),M=h.getAttribute("src")??h.getAttribute("href")??h.getAttribute("poster")??null,k=E==="link"?"runtime_stylesheet_load_failed":"runtime_asset_load_failed";f(k,{tagName:E,assetUrl:M,currentSrc:(h instanceof HTMLImageElement||h instanceof HTMLMediaElement)&&h.currentSrc||null,readyState:h instanceof HTMLMediaElement?h.readyState:null,networkState:h instanceof HTMLMediaElement?h.networkState:null},`${k}:${E}:${M??"unknown"}`)};h.addEventListener("error",b),m(()=>{h.removeEventListener("error",b)})}let p=document.fonts;p&&p.ready.then(()=>{if(t.tornDown)return;let h=Array.from(p).filter(b=>b.status==="error").map(b=>b.family).filter(b=>!!b).slice(0,10);h.length!==0&&f("runtime_font_load_issue",{failedFamilies:h,totalFaces:Array.from(p).length},`runtime-font-load-issue:${h.join("|")}`)}).catch(()=>{})},He=(d,p)=>{if(!d.timeline)return!1;let h=t.capturedTimeline;if(h&&h===d.timeline)return!1;let b=Math.max(0,t.currentTime||0),E=t.isPlaying;t.capturedTimeline=d.timeline,typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);try{t.capturedTimeline.pause(),t.capturedTimeline.seek(b,!1),E&&t.capturedTimeline.play()}catch(M){v("runtime.init.site7",M)}return Ee({source:"hf-preview",type:"diagnostic",code:"timeline_loop_guard_rebind",details:{reason:p,previousTime:b,selectedTimelineIds:d.selectedTimelineIds??[],selectedDurationSeconds:d.selectedDurationSeconds??null,mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),!0},Ze=null,ir=!1,At=new Set,rn=new WeakMap,on=()=>{t.tornDown||(Ze!=null&&window.clearTimeout(Ze),Ze=window.setTimeout(()=>{if(t.tornDown)return;Ze=null;let d=ae();if(!d.timeline||!U(d.mediaDurationFloorSeconds??null))return;if(!t.capturedTimeline){z()&&(lt(),_e(!0));return}if(ir)return;let h=H(t.capturedTimeline),b=d.selectedDurationSeconds??H(d.timeline);U(b)&&(!U(h)||b>=h+w)&&He(d,"manual")&&(ir=!0,Ee({source:"hf-preview",type:"diagnostic",code:"timeline_rebind_after_media_metadata",details:{previousDurationSeconds:h??null,selectedDurationSeconds:b??null,selectedTimelineIds:d.selectedTimelineIds??[],mediaDurationFloorSeconds:d.mediaDurationFloorSeconds??null}}),lt(),_e(!0))},N))},Ca=()=>{for(let d of At)d.removeEventListener("loadedmetadata",on),d.removeEventListener("durationchange",on);At.clear()},In=()=>{if(t.tornDown)return;let d=Array.from(document.querySelectorAll("video, audio"));for(let p of d){if(At.has(p))continue;At.add(p);let h=Number.parseFloat(p.dataset.volume??"");Number.isFinite(h)&&(p.volume=Math.max(0,Math.min(1,h))),p.addEventListener("loadedmetadata",on),p.addEventListener("durationchange",on),p.preload!=="auto"&&(p.preload="auto"),p.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&p.load(),rr(p)}},rr=d=>{rn.has(d)||vr(d,t.capturedTimeline,Q(t.capturedTimeline,0),rn)},Pn=new WeakMap,or=d=>{let p=Pn.get(d);if(p!==void 0)return p;let h=window.getComputedStyle(d).position,b=h==="static"||h==="relative"||h==="sticky";return Pn.set(d,b),b},On=new WeakMap,Fa=d=>{let p=On.get(d);if(p!==void 0)return p;let h=d.querySelector("[data-start]")===null;return On.set(d,h),h},Ma=()=>{Pn=new WeakMap,On=new WeakMap},Le=()=>{let d=M=>{let k=M.closest("[data-composition-id]"),J=k?R(k,0):null,K=k?G(k,{includeAuthoredTimingAttrs:!0}):null;return{compositionRoot:k,inheritedStart:J,inheritedDuration:K}},p=Rr({shouldIncludeElement:M=>M.hasAttribute("data-start")||!!d(M).compositionRoot,resolveStartSeconds:M=>{let k=d(M);return j(M,k.inheritedStart??0)},resolveDurationSeconds:M=>{let k=d(M),J=j(M,k.inheritedStart??0),K=Number.parseFloat(M.dataset.playbackStart??M.dataset.mediaStart??"0")||0,me=k.inheritedStart!=null&&k.inheritedDuration!=null&&k.inheritedDuration>0?Math.max(0,k.inheritedStart+k.inheritedDuration-J):null,be=Number.isFinite(M.duration)&&M.duration>K?Math.max(0,M.duration-K):null,oe=Number.parseFloat(M.dataset.duration??""),Z=Number.isFinite(oe)&&oe>0?oe:null,ye=[be,me,Z].filter(nt=>nt!=null);return ye.length>0?Math.min(...ye):null}});for(let M of p.mediaClips){let k=rn.get(M.el);k&&(M.volumeKeyframes=k)}let h=t.mediaForceSyncNextTick;h&&(t.mediaForceSyncNextTick=!1),t.nativeMediaSyncDisabled||kr({clips:p.mediaClips,timeSeconds:t.currentTime,playing:t.isPlaying,playbackRate:t.playbackRate,outputMuted:t.mediaOutputMuted||!t.webAudioMediaDisabled&&!t.nativeMediaSyncDisabled&&de.isActive(),userMuted:t.bridgeMuted,userVolume:t.bridgeVolume,forceSync:h,onElementVolume:(M,k)=>de.setElementVolume(M,k),isWebAudioOwned:M=>de.ownsElement(M),onAutoplayBlocked:()=>{t.mediaAutoplayBlockedPosted||(t.mediaAutoplayBlockedPosted=!0,Ee({source:"hf-preview",type:"media-autoplay-blocked"}))}});let b=Array.from(document.querySelectorAll("[data-start]")),E=S();for(let M of b){if(!(M instanceof HTMLElement))continue;let k=ie(M,t.currentTime);if(k){let J=M.parentElement;for(;J&&J!==E;){if(J instanceof HTMLElement&&J.hasAttribute("data-start")&&!ie(J,t.currentTime)){k=!1;break}J=J.parentElement}}M.style.visibility=k?"visible":"hidden",(M instanceof HTMLVideoElement||M instanceof HTMLImageElement)&&n?.setSourceVisibility(M,k),k?or(M)&&M.style.removeProperty("display"):or(M)&&Fa(M)&&(M.style.display="none")}},_e=d=>{let p=Math.max(0,Math.round((t.currentTime||0)*t.canonicalFps)),h=Date.now();(d||p!==t.bridgeLastPostedFrame||t.isPlaying!==t.bridgeLastPostedPlaying||t.bridgeMuted!==t.bridgeLastPostedMuted||h-t.bridgeLastPostedAt>=t.bridgeMaxPostIntervalMs)&&(t.bridgeLastPostedFrame=p,t.bridgeLastPostedPlaying=t.isPlaying,t.bridgeLastPostedMuted=t.bridgeMuted,t.bridgeLastPostedAt=h,Ee({source:"hf-preview",type:"state",frame:p,isPlaying:t.isPlaying,muted:t.bridgeMuted,playbackRate:t.playbackRate}))},Bn="",Na=()=>{let d="";for(let p of document.querySelectorAll("[data-start]"))d+=`${p.id}:${p.tagName}|`;return d},lt=()=>{F(),C(),T();let d=S();if(d){let b=_(d.getAttribute("data-width")),E=_(d.getAttribute("data-height")),M=b?parseInt(b,10):0,k=E?parseInt(E,10):0;M>0&&k>0&&Ee({source:"hf-preview",type:"stage-size",width:M,height:k})}z();let p=Vr({canonicalFps:t.canonicalFps});window.__clipManifest=p;let h=Na();if(Bn!==h&&Ma(),!window.__clipTree||Bn!==h){let b=window;window.__clipTree=Hr({startResolver:ze({timelineRegistry:b.__timelines??{},includeAuthoredTimingAttrs:!0}),timelineRegistry:b.__timelines??{},rootDuration:p.durationInFrames/t.canonicalFps}),Bn=h}Ee(p),Ie()},Pe=(d,p=0)=>{for(let h of t.deterministicAdapters){try{d==="discover"&&h.discover(),d==="pause"&&h.pause(),d==="play"&&h.play&&h.play()}catch(b){v("runtime.init.site8",b)}if(d==="discover")try{h.seek({time:p})}catch(b){v("runtime.init.site9",b)}}},et=()=>{window.__renderReady=!1},Et=null,wt=!0,_a=()=>{let d=[];for(let p of t.deterministicAdapters){let h=p.getReadyPromise;if(typeof h=="function")try{let b=h();b&&d.push(b)}catch(b){v("runtime.init.adapterReady",b)}}return d},Ta=()=>{let d=_a();if(d.length===0)return Et=null,wt=!0,!0;let p=d.length===1?d[0]:Promise.all(d);return p!==Et&&(Et=p,wt=!1,Promise.resolve(p).then(()=>{Et===p&&(wt=!0,et())},h=>{Et===p&&(wt=!0,v("runtime.init.adapterReady",h),et())})),wt};if(Se)Oi();else{let d={injectedStyles:t.injectedCompStyles,injectedScripts:t.injectedCompScripts,parseDimensionPx:_,onDiagnostic:({code:p,details:h})=>{Ee({source:"hf-preview",type:"diagnostic",code:p,details:h})}};Ts(d).then(()=>_s(d)).finally(()=>{Se=!0,In(),St(),Oi(),et()})}let sn=Dr({postMessage:d=>Ee(d)});sn.installPickerApi();let We=Ks();n=We,m(()=>{We.destroy(),n=null});let Hn=d=>{let p=Number(d);!Number.isFinite(p)||p<=0?t.playbackRate=1:t.playbackRate=Math.max(.1,Math.min(5,p)),t.mediaForceSyncNextTick=!0,t.capturedTimeline&&typeof t.capturedTimeline.timeScale=="function"&&t.capturedTimeline.timeScale(t.playbackRate);let h=document.querySelectorAll("video, audio");for(let b of h)if(b instanceof HTMLMediaElement)try{b.playbackRate=t.playbackRate}catch(E){v("runtime.init.site10",E)}},he=Or({getTimeline:()=>t.capturedTimeline,setTimeline:d=>{t.capturedTimeline=d},getTimelineRegistry:()=>window.__timelines??{},getIsPlaying:()=>t.isPlaying,setIsPlaying:d=>{t.isPlaying!==d&&(t.mediaForceSyncNextTick=!0),t.isPlaying=d},getPlaybackRate:()=>t.playbackRate,setPlaybackRate:Hn,getCanonicalFps:()=>t.canonicalFps,onSyncMedia:(d,p)=>{t.currentTime=Math.max(0,Number(d)||0),t.isPlaying!==p&&(t.mediaForceSyncNextTick=!0),t.isPlaying=p,Le()},onStatePost:_e,onDeterministicSeek:d=>{for(let p of t.deterministicAdapters)try{p.seek({time:Number(d)||0})}catch(h){v("runtime.init.site11",h)}},onDeterministicPause:()=>Pe("pause"),onDeterministicPlay:()=>Pe("play"),onRenderFrameSeek:()=>{We.redraw()},onShowNativeVideos:()=>{},getSafeDuration:()=>Q(t.capturedTimeline,0)});window.__player=x(he),window.__playerReady=!0,fr(Ee),it("composition_loaded",{duration:he.getDuration(),compositionId:document.querySelector("[data-composition-id]")?.getAttribute("data-composition-id")??null}),t.controlBridgeHandler=dr({onPlay:()=>{he.play(),it("composition_played",{time:he.getTime()})},onPause:()=>{he.pause(),it("composition_paused",{time:he.getTime()})},onStopMedia:()=>{de.stopAll();let d=document.querySelectorAll("video, audio");for(let p of d)p instanceof HTMLMediaElement&&!p.paused&&p.pause()},onSeek:(d,p)=>{let h=Math.max(0,d)/t.canonicalFps;he.seek(h),it("composition_seeked",{time:h})},onSetMuted:d=>{t.bridgeMuted=d;let p=d||t.mediaOutputMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetVolume:d=>{t.bridgeVolume=d,de.setVolume(d);let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement))continue;let b=parseFloat(h.dataset.volume??""),E=Number.isFinite(b)?b:1;h.volume=E*d}},onSetMediaOutputMuted:d=>{t.mediaOutputMuted=d;let p=d||t.bridgeMuted;de.setMuted(p);let h=document.querySelectorAll("video, audio");for(let b of h)b instanceof HTMLMediaElement&&(b.muted=p||b.defaultMuted)},onSetNativeMediaSyncDisabled:d=>{t.nativeMediaSyncDisabled!==d&&(t.nativeMediaSyncDisabled=d,t.mediaForceSyncNextTick=!0,d?(de.stopAll(),I.detachAudioSource()):Le())},onSetWebAudioMediaDisabled:d=>{t.webAudioMediaDisabled!==d&&(t.webAudioMediaDisabled=d,t.mediaForceSyncNextTick=!0,d&&(de.stopAll(),I.detachAudioSource()),Le())},onSetPlaybackRate:d=>{Hn(d),t.transportClock&&t.transportClock.setRate(t.playbackRate),ur()},onSetColorGrading:(d,p)=>{We.setGrading(d,p)},onSetColorGradingCompare:(d,p)=>{We.setCompare(d,p)},onTick:()=>{if(t.tornDown||!I.isPlaying())return;let d=I.now();if(t.currentTime=d,tt(d),I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0)}},onEnablePickMode:()=>sn.enablePickMode(),onDisablePickMode:()=>sn.disablePickMode()}),t.deterministicAdapters=[Tr(),mr({resolveStartSeconds:d=>R(d,0)}),hr(),xr(),br(),Sr(),Ar(),Er(),wr(),Cr(),Fr(),pr({getTimeline:()=>t.capturedTimeline})],Nr(),_r(),window.__hfReseekGpu=d=>{let p=Math.max(0,Number(d)||0);window.__hfThreeTime=p,window.__hfTypegpuTime=p,yr(p)},Me(),In(),Pe("discover");let I=new _n;t.transportClock=I;let de=new Tn,Wn=!1;de.init().then(d=>{Wn=d});let La=()=>{let d=t.capturedTimeline,p=z();t.capturedTimeline&&(p||t.capturedTimeline!==d||!he._timeline)&&(he._timeline=t.capturedTimeline);let h=Q(t.capturedTimeline,0);if(h>0&&I.setDuration(h),Pe("discover",t.currentTime),!t.capturedTimeline){let b=window.__timelines??{},E=Object.keys(b).filter(M=>b[M]);if(E.length>0){let k=S()?.getAttribute("data-composition-id")??null;f("root_timeline_unbound_registry_present",{reason:k?"root data-composition-id has no matching key in window.__timelines":"root composition element has no data-composition-id attribute",rootCompositionId:k,registeredTimelineKeys:E},"root_timeline_unbound_registry_present"),console.warn("[hyperframes] Root timeline not bound \\u2014 render will freeze at t=0. "+(k?`Root data-composition-id is "${k}" but window.__timelines has no such key. `:"Root composition element has no data-composition-id. ")+`Registered timeline keys: [${E.join(", ")}]. Register the root timeline under its data-composition-id (window.__timelines["${k??"<root-id>"}"] = tl).`)}}window.__renderReady=!0,lt(),_e(!0)};if(et=()=>{if(!Se||window.__hfTimelinesBuilding){window.__renderReady=!1;return}if(Pe("discover",t.currentTime),!Ta()){window.__renderReady=!1;return}La()},window.__hfTimelinesBuilding){window.__renderReady=!1;let d=()=>{window.removeEventListener("hf-timelines-built",d),et()};window.addEventListener("hf-timelines-built",d)}et(),Se&&setTimeout(()=>{et()},0);let an=0,Gn=!1,va=(d,p,h)=>{try{d.pause(),typeof d.totalTime=="function"?d.totalTime(p,!1):d.seek(p,!1)}catch(b){v(h,b)}},Ra=d=>{let p=window.__timelines??{},h=S()?.getAttribute("data-composition-id")??null;for(let[b,E]of Object.entries(p)){if(!E||b===h)continue;let M=document.querySelector(`[data-composition-id="${CSS.escape(b)}"]`);if(!M)continue;let k=R(M,0);if(!Number.isFinite(k))continue;let J=G(M,{includeAuthoredTimingAttrs:!0}),K=H(E),me=J!=null&&J>0?J:K,be=Math.max(0,me!=null&&me>0?Math.min(me,d-k):d-k);va(E,be,"runtime.init.transport.childTimeline")}},ka=d=>{let p=window.__timelines??{};for(let h of Object.values(p))if(!(!h||h===d))try{h.play()}catch(b){v("runtime.init.activateSiblings",b)}},tt=(d,p)=>{let h=t.capturedTimeline;if(h){p?.activateChildren&&ka(h);let b=h,E=d;if(typeof b.totalDuration=="function")try{let M=Number(b.totalDuration());Number.isFinite(M)&&M>0&&d>M&&(E=M)}catch(M){v("runtime.init.transport.clampDuration",M)}try{typeof h.totalTime=="function"?h.totalTime(E,!1):h.seek(E,!1)}catch(M){v("runtime.init.transport.seek",M)}}else Ra(d);for(let b of t.deterministicAdapters)try{b.seek({time:d})}catch(E){v("runtime.init.transport.adapter",E)}},Da=()=>{try{return document.querySelector(`[${Ys}]`)!=null}catch{return!1}},sr=()=>{if(!(t.tornDown||Gn)){Gn=!0;try{if(t.transportRafId=window.requestAnimationFrame(sr),an+=1,an%60===0&&!(I.isPlaying()&&t.capturedTimeline!=null&&I.now()<g)){let h=t.capturedTimeline;if(z()){t.capturedTimeline&&!he._timeline&&(he._timeline=t.capturedTimeline),t.capturedTimeline&&t.capturedTimeline!==h&&t.capturedTimeline.pause();let b=Q(t.capturedTimeline,0);b>0&&I.setDuration(b),lt()}}if(an%20===0&<(),an%30===0&&In(),t.capturedTimeline){let p=Q(t.capturedTimeline,0);p>0&&(!I.isPlaying()||p>=I.getDuration())&&I.setDuration(p)}if(I.isPlaying()&&!t.mediaOutputMuted)if(!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&de.isActive()&&de.context){let p=de.getTime();p>=0&&I.attachAudioSource({currentTimeSeconds:p})}else{let p=document.querySelectorAll("audio[data-start]"),h=!1;for(let b of p){if(!(b instanceof HTMLMediaElement)||!b.isConnected)continue;let E=Number.parseFloat(b.dataset.start??""),M=Number.parseFloat(b.dataset.duration??""),k=Number.isFinite(M)&&M>0?E+M:1/0,J=Number.parseFloat(b.dataset.playbackStart??b.dataset.mediaStart??"0")||0;if(Number.isFinite(E)&&t.currentTime>=E&&t.currentTime<=k){b.paused?!b.error&&b.readyState<HTMLMediaElement.HAVE_FUTURE_DATA&&(I.attachAudioSource({currentTimeSeconds:t.currentTime}),h=!0):(I.attachAudioSource({el:b,compositionStart:E,mediaStart:J}),h=!0);break}}!h&&I.hasAudioSource()&&I.detachAudioSource()}else I.hasAudioSource()&&I.detachAudioSource();let d=I.now();if(t.currentTime=d,(I.isPlaying()||!Da())&&tt(d),I.isPlaying()&&I.reachedEnd()){de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1;let p=I.getDuration();Number.isFinite(p)&&(I.seek(p),t.currentTime=p,tt(p)),Pe("pause"),Le(),_e(!0);return}I.isPlaying()&&Le(),_e(!1)}finally{Gn=!1}}},ar=d=>{let p=document.querySelectorAll("video, audio");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.duration??""),M=Number.isFinite(E)&&E>0?b+E:1/0;if(d<b||d>=M)continue;let k=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,J=d-b+k;if(J>=0)try{h.currentTime=J}catch{}}},lr=()=>{if(t.nativeMediaSyncDisabled||t.webAudioMediaDisabled)return;let d=de.startGeneration(),p=document.querySelectorAll("audio[data-start]");for(let h of p){if(!(h instanceof HTMLMediaElement)||!h.isConnected)continue;let b=Number.parseFloat(h.dataset.start??"");if(!Number.isFinite(b))continue;let E=Number.parseFloat(h.dataset.playbackStart??h.dataset.mediaStart??"0")||0,M=Number.parseFloat(h.dataset.volume??""),k=Number.isFinite(M)?M:1,J=Number.parseFloat(h.dataset.duration??""),K=Number.isFinite(J)&&J>0?J:Number.POSITIVE_INFINITY,me=h.closest("[data-composition-id]");if(me){let be=R(me,0),oe=G(me,{includeAuthoredTimingAttrs:!0});oe!=null&&oe>0&&(K=Math.min(K,Math.max(0,be+oe-b)))}de.decodeAudioElement(h).then(be=>{!be||!I.isPlaying()||de.schedulePlayback(h,be,b,E,I.now(),k*t.bridgeVolume,d,t.playbackRate,K)})}},ur=()=>{de.setRate(t.playbackRate)&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&Wn&&I.isPlaying()&&de.hasBoundedActiveSources()&&(de.stopAll(),lr())};if(he.play=()=>{let d=t.capturedTimeline;if(I.isPlaying())return;let p=Q(d,0);if(p>0)I.setDuration(p),I.reachedEnd()&&(I.seek(0),t.currentTime=0,tt(0));else{let h=S(),b=Number(h?.getAttribute("data-duration")??0);b>0&&I.setDuration(b)}d&&d.pause(),I.play()&&(t.isPlaying=!0,t.mediaForceSyncNextTick=!0,ar(I.now()),Wn&&!t.nativeMediaSyncDisabled&&!t.webAudioMediaDisabled&&lr(),Pe("play"),Le(),We.redraw(),_e(!0))},he.pause=()=>{if(!I.isPlaying())return;de.stopAll(),I.detachAudioSource(),I.pause(),t.isPlaying=!1,t.currentTime=I.now(),t.mediaForceSyncNextTick=!0,ar(t.currentTime);let d=t.capturedTimeline;d&&d.pause(),Pe("pause"),Le(),We.redraw(),_e(!0)},he.seek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);de.stopAll(),I.detachAudioSource(),I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0;let b=t.capturedTimeline;b&&b.pause(),tt(t.currentTime),Pe("pause"),Le(),We.redraw(),_e(!0)},he.renderSeek=d=>{let p=ct(Math.max(0,Number(d)||0),t.canonicalFps);I.isPlaying()&&I.pause(),I.seek(p),t.currentTime=I.now(),t.isPlaying=!1,t.mediaForceSyncNextTick=!0,tt(t.currentTime,{activateChildren:!0}),Le(),We.redraw(),_e(!0)},he.getTime=()=>I.now(),he.getDuration=()=>{let d=I.getDuration();return Number.isFinite(d)?d:0},he.isPlaying=()=>I.isPlaying(),he.setPlaybackRate=d=>{Hn(d),I.setRate(t.playbackRate),ur()},t.capturedTimeline){let d=Q(t.capturedTimeline,0);d>0&&I.setDuration(d),t.capturedTimeline.pause()}let cr=window.__player;if(cr){let d=["play","pause","seek","renderSeek","getTime","getDuration","isPlaying"];for(let p of d)Object.defineProperty(cr,p,{get:()=>he[p],set:h=>{he[p]=h},configurable:!0})}t.transportRafId=window.requestAnimationFrame(sr),lt(),_e(!0);let Un=()=>{if(!t.tornDown){t.tornDown=!0,t.transportRafId!=null&&(window.cancelAnimationFrame(t.transportRafId),t.transportRafId=null),t.transportClock=null,de.destroy(),Ze!=null&&(window.clearTimeout(Ze),Ze=null),c!=null&&(window.cancelAnimationFrame(c),c=null),Ca(),t.controlBridgeHandler&&(window.removeEventListener("message",t.controlBridgeHandler),t.controlBridgeHandler=null),i&&(window.removeEventListener("error",i),i=null),r&&(window.removeEventListener("unhandledrejection",r),r=null),t.beforeUnloadHandler&&(window.removeEventListener("beforeunload",t.beforeUnloadHandler),t.beforeUnloadHandler=null),sn.disablePickMode();for(let d of t.deterministicAdapters)if(!(!d||typeof d.revert!="function"))try{d.revert()}catch(p){v("runtime.init.site12",p)}t.deterministicAdapters=[];for(let d of o.splice(0))try{d()}catch(p){v("runtime.init.site13",p)}for(let d of t.injectedCompStyles)try{d.remove()}catch(p){v("runtime.init.site14",p)}t.injectedCompStyles=[];for(let d of t.injectedCompScripts)try{d.remove()}catch(p){v("runtime.init.site15",p)}t.injectedCompScripts=[],t.capturedTimeline=null,window.__hfRuntimeTeardown===Un&&(window.__hfRuntimeTeardown=null)}};window.__hfRuntimeTeardown=Un,t.beforeUnloadHandler=Un,window.addEventListener("beforeunload",t.beforeUnloadHandler)}var Qs=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],Ji=[[697,698,"ON"],[706,719,"ON"],[722,735,"ON"],[741,749,"ON"],[751,767,"ON"],[768,879,"NSM"],[884,885,"ON"],[894,894,"ON"],[900,901,"ON"],[903,903,"ON"],[1014,1014,"ON"],[1155,1161,"NSM"],[1418,1418,"ON"],[1421,1422,"ON"],[1423,1423,"ET"],[1424,1424,"R"],[1425,1469,"NSM"],[1470,1470,"R"],[1471,1471,"NSM"],[1472,1472,"R"],[1473,1474,"NSM"],[1475,1475,"R"],[1476,1477,"NSM"],[1478,1478,"R"],[1479,1479,"NSM"],[1480,1535,"R"],[1536,1541,"AN"],[1542,1543,"ON"],[1544,1544,"AL"],[1545,1546,"ET"],[1547,1547,"AL"],[1548,1548,"CS"],[1549,1549,"AL"],[1550,1551,"ON"],[1552,1562,"NSM"],[1563,1610,"AL"],[1611,1631,"NSM"],[1632,1641,"AN"],[1642,1642,"ET"],[1643,1644,"AN"],[1645,1647,"AL"],[1648,1648,"NSM"],[1649,1749,"AL"],[1750,1756,"NSM"],[1757,1757,"AN"],[1758,1758,"ON"],[1759,1764,"NSM"],[1765,1766,"AL"],[1767,1768,"NSM"],[1769,1769,"ON"],[1770,1773,"NSM"],[1774,1775,"AL"],[1776,1785,"EN"],[1786,1808,"AL"],[1809,1809,"NSM"],[1810,1839,"AL"],[1840,1866,"NSM"],[1867,1957,"AL"],[1958,1968,"NSM"],[1969,1983,"AL"],[1984,2026,"R"],[2027,2035,"NSM"],[2036,2037,"R"],[2038,2041,"ON"],[2042,2044,"R"],[2045,2045,"NSM"],[2046,2069,"R"],[2070,2073,"NSM"],[2074,2074,"R"],[2075,2083,"NSM"],[2084,2084,"R"],[2085,2087,"NSM"],[2088,2088,"R"],[2089,2093,"NSM"],[2094,2136,"R"],[2137,2139,"NSM"],[2140,2143,"R"],[2144,2191,"AL"],[2192,2193,"AN"],[2194,2198,"AL"],[2199,2207,"NSM"],[2208,2249,"AL"],[2250,2273,"NSM"],[2274,2274,"AN"],[2275,2306,"NSM"],[2362,2362,"NSM"],[2364,2364,"NSM"],[2369,2376,"NSM"],[2381,2381,"NSM"],[2385,2391,"NSM"],[2402,2403,"NSM"],[2433,2433,"NSM"],[2492,2492,"NSM"],[2497,2500,"NSM"],[2509,2509,"NSM"],[2530,2531,"NSM"],[2546,2547,"ET"],[2555,2555,"ET"],[2558,2558,"NSM"],[2561,2562,"NSM"],[2620,2620,"NSM"],[2625,2626,"NSM"],[2631,2632,"NSM"],[2635,2637,"NSM"],[2641,2641,"NSM"],[2672,2673,"NSM"],[2677,2677,"NSM"],[2689,2690,"NSM"],[2748,2748,"NSM"],[2753,2757,"NSM"],[2759,2760,"NSM"],[2765,2765,"NSM"],[2786,2787,"NSM"],[2801,2801,"ET"],[2810,2815,"NSM"],[2817,2817,"NSM"],[2876,2876,"NSM"],[2879,2879,"NSM"],[2881,2884,"NSM"],[2893,2893,"NSM"],[2901,2902,"NSM"],[2914,2915,"NSM"],[2946,2946,"NSM"],[3008,3008,"NSM"],[3021,3021,"NSM"],[3059,3064,"ON"],[3065,3065,"ET"],[3066,3066,"ON"],[3072,3072,"NSM"],[3076,3076,"NSM"],[3132,3132,"NSM"],[3134,3136,"NSM"],[3142,3144,"NSM"],[3146,3149,"NSM"],[3157,3158,"NSM"],[3170,3171,"NSM"],[3192,3198,"ON"],[3201,3201,"NSM"],[3260,3260,"NSM"],[3276,3277,"NSM"],[3298,3299,"NSM"],[3328,3329,"NSM"],[3387,3388,"NSM"],[3393,3396,"NSM"],[3405,3405,"NSM"],[3426,3427,"NSM"],[3457,3457,"NSM"],[3530,3530,"NSM"],[3538,3540,"NSM"],[3542,3542,"NSM"],[3633,3633,"NSM"],[3636,3642,"NSM"],[3647,3647,"ET"],[3655,3662,"NSM"],[3761,3761,"NSM"],[3764,3772,"NSM"],[3784,3790,"NSM"],[3864,3865,"NSM"],[3893,3893,"NSM"],[3895,3895,"NSM"],[3897,3897,"NSM"],[3898,3901,"ON"],[3953,3966,"NSM"],[3968,3972,"NSM"],[3974,3975,"NSM"],[3981,3991,"NSM"],[3993,4028,"NSM"],[4038,4038,"NSM"],[4141,4144,"NSM"],[4146,4151,"NSM"],[4153,4154,"NSM"],[4157,4158,"NSM"],[4184,4185,"NSM"],[4190,4192,"NSM"],[4209,4212,"NSM"],[4226,4226,"NSM"],[4229,4230,"NSM"],[4237,4237,"NSM"],[4253,4253,"NSM"],[4957,4959,"NSM"],[5008,5017,"ON"],[5120,5120,"ON"],[5760,5760,"WS"],[5787,5788,"ON"],[5906,5908,"NSM"],[5938,5939,"NSM"],[5970,5971,"NSM"],[6002,6003,"NSM"],[6068,6069,"NSM"],[6071,6077,"NSM"],[6086,6086,"NSM"],[6089,6099,"NSM"],[6107,6107,"ET"],[6109,6109,"NSM"],[6128,6137,"ON"],[6144,6154,"ON"],[6155,6157,"NSM"],[6158,6158,"BN"],[6159,6159,"NSM"],[6277,6278,"NSM"],[6313,6313,"NSM"],[6432,6434,"NSM"],[6439,6440,"NSM"],[6450,6450,"NSM"],[6457,6459,"NSM"],[6464,6464,"ON"],[6468,6469,"ON"],[6622,6655,"ON"],[6679,6680,"NSM"],[6683,6683,"NSM"],[6742,6742,"NSM"],[6744,6750,"NSM"],[6752,6752,"NSM"],[6754,6754,"NSM"],[6757,6764,"NSM"],[6771,6780,"NSM"],[6783,6783,"NSM"],[6832,6877,"NSM"],[6880,6891,"NSM"],[6912,6915,"NSM"],[6964,6964,"NSM"],[6966,6970,"NSM"],[6972,6972,"NSM"],[6978,6978,"NSM"],[7019,7027,"NSM"],[7040,7041,"NSM"],[7074,7077,"NSM"],[7080,7081,"NSM"],[7083,7085,"NSM"],[7142,7142,"NSM"],[7144,7145,"NSM"],[7149,7149,"NSM"],[7151,7153,"NSM"],[7212,7219,"NSM"],[7222,7223,"NSM"],[7376,7378,"NSM"],[7380,7392,"NSM"],[7394,7400,"NSM"],[7405,7405,"NSM"],[7412,7412,"NSM"],[7416,7417,"NSM"],[7616,7679,"NSM"],[8125,8125,"ON"],[8127,8129,"ON"],[8141,8143,"ON"],[8157,8159,"ON"],[8173,8175,"ON"],[8189,8190,"ON"],[8192,8202,"WS"],[8203,8205,"BN"],[8207,8207,"R"],[8208,8231,"ON"],[8232,8232,"WS"],[8233,8233,"B"],[8234,8238,"BN"],[8239,8239,"CS"],[8240,8244,"ET"],[8245,8259,"ON"],[8260,8260,"CS"],[8261,8286,"ON"],[8287,8287,"WS"],[8288,8303,"BN"],[8304,8304,"EN"],[8308,8313,"EN"],[8314,8315,"ES"],[8316,8318,"ON"],[8320,8329,"EN"],[8330,8331,"ES"],[8332,8334,"ON"],[8352,8399,"ET"],[8400,8432,"NSM"],[8448,8449,"ON"],[8451,8454,"ON"],[8456,8457,"ON"],[8468,8468,"ON"],[8470,8472,"ON"],[8478,8483,"ON"],[8485,8485,"ON"],[8487,8487,"ON"],[8489,8489,"ON"],[8494,8494,"ET"],[8506,8507,"ON"],[8512,8516,"ON"],[8522,8525,"ON"],[8528,8543,"ON"],[8585,8587,"ON"],[8592,8721,"ON"],[8722,8722,"ES"],[8723,8723,"ET"],[8724,9013,"ON"],[9083,9108,"ON"],[9110,9257,"ON"],[9280,9290,"ON"],[9312,9351,"ON"],[9352,9371,"EN"],[9450,9899,"ON"],[9901,10239,"ON"],[10496,11123,"ON"],[11126,11263,"ON"],[11493,11498,"ON"],[11503,11505,"NSM"],[11513,11519,"ON"],[11647,11647,"NSM"],[11744,11775,"NSM"],[11776,11869,"ON"],[11904,11929,"ON"],[11931,12019,"ON"],[12032,12245,"ON"],[12272,12287,"ON"],[12288,12288,"WS"],[12289,12292,"ON"],[12296,12320,"ON"],[12330,12333,"NSM"],[12336,12336,"ON"],[12342,12343,"ON"],[12349,12351,"ON"],[12441,12442,"NSM"],[12443,12444,"ON"],[12448,12448,"ON"],[12539,12539,"ON"],[12736,12773,"ON"],[12783,12783,"ON"],[12829,12830,"ON"],[12880,12895,"ON"],[12924,12926,"ON"],[12977,12991,"ON"],[13004,13007,"ON"],[13175,13178,"ON"],[13278,13279,"ON"],[13311,13311,"ON"],[19904,19967,"ON"],[42128,42182,"ON"],[42509,42511,"ON"],[42607,42610,"NSM"],[42611,42611,"ON"],[42612,42621,"NSM"],[42622,42623,"ON"],[42654,42655,"NSM"],[42736,42737,"NSM"],[42752,42785,"ON"],[42888,42888,"ON"],[43010,43010,"NSM"],[43014,43014,"NSM"],[43019,43019,"NSM"],[43045,43046,"NSM"],[43048,43051,"ON"],[43052,43052,"NSM"],[43064,43065,"ET"],[43124,43127,"ON"],[43204,43205,"NSM"],[43232,43249,"NSM"],[43263,43263,"NSM"],[43302,43309,"NSM"],[43335,43345,"NSM"],[43392,43394,"NSM"],[43443,43443,"NSM"],[43446,43449,"NSM"],[43452,43453,"NSM"],[43493,43493,"NSM"],[43561,43566,"NSM"],[43569,43570,"NSM"],[43573,43574,"NSM"],[43587,43587,"NSM"],[43596,43596,"NSM"],[43644,43644,"NSM"],[43696,43696,"NSM"],[43698,43700,"NSM"],[43703,43704,"NSM"],[43710,43711,"NSM"],[43713,43713,"NSM"],[43756,43757,"NSM"],[43766,43766,"NSM"],[43882,43883,"ON"],[44005,44005,"NSM"],[44008,44008,"NSM"],[44013,44013,"NSM"],[64285,64285,"R"],[64286,64286,"NSM"],[64287,64296,"R"],[64297,64297,"ES"],[64298,64335,"R"],[64336,64450,"AL"],[64451,64466,"ON"],[64467,64829,"AL"],[64830,64847,"ON"],[64848,64911,"AL"],[64912,64913,"ON"],[64914,64967,"AL"],[64968,64975,"ON"],[64976,65007,"BN"],[65008,65020,"AL"],[65021,65023,"ON"],[65024,65039,"NSM"],[65040,65049,"ON"],[65056,65071,"NSM"],[65072,65103,"ON"],[65104,65104,"CS"],[65105,65105,"ON"],[65106,65106,"CS"],[65108,65108,"ON"],[65109,65109,"CS"],[65110,65118,"ON"],[65119,65119,"ET"],[65120,65121,"ON"],[65122,65123,"ES"],[65124,65126,"ON"],[65128,65128,"ON"],[65129,65130,"ET"],[65131,65131,"ON"],[65136,65278,"AL"],[65279,65279,"BN"],[65281,65282,"ON"],[65283,65285,"ET"],[65286,65290,"ON"],[65291,65291,"ES"],[65292,65292,"CS"],[65293,65293,"ES"],[65294,65295,"CS"],[65296,65305,"EN"],[65306,65306,"CS"],[65307,65312,"ON"],[65339,65344,"ON"],[65371,65381,"ON"],[65504,65505,"ET"],[65506,65508,"ON"],[65509,65510,"ET"],[65512,65518,"ON"],[65520,65528,"BN"],[65529,65533,"ON"],[65534,65535,"BN"],[65793,65793,"ON"],[65856,65932,"ON"],[65936,65948,"ON"],[65952,65952,"ON"],[66045,66045,"NSM"],[66272,66272,"NSM"],[66273,66299,"EN"],[66422,66426,"NSM"],[67584,67870,"R"],[67871,67871,"ON"],[67872,68096,"R"],[68097,68099,"NSM"],[68100,68100,"R"],[68101,68102,"NSM"],[68103,68107,"R"],[68108,68111,"NSM"],[68112,68151,"R"],[68152,68154,"NSM"],[68155,68158,"R"],[68159,68159,"NSM"],[68160,68324,"R"],[68325,68326,"NSM"],[68327,68408,"R"],[68409,68415,"ON"],[68416,68863,"R"],[68864,68899,"AL"],[68900,68903,"NSM"],[68904,68911,"AL"],[68912,68921,"AN"],[68922,68927,"AL"],[68928,68937,"AN"],[68938,68968,"R"],[68969,68973,"NSM"],[68974,68974,"ON"],[68975,69215,"R"],[69216,69246,"AN"],[69247,69290,"R"],[69291,69292,"NSM"],[69293,69311,"R"],[69312,69327,"AL"],[69328,69336,"ON"],[69337,69369,"AL"],[69370,69375,"NSM"],[69376,69423,"R"],[69424,69445,"AL"],[69446,69456,"NSM"],[69457,69487,"AL"],[69488,69505,"R"],[69506,69509,"NSM"],[69510,69631,"R"],[69633,69633,"NSM"],[69688,69702,"NSM"],[69714,69733,"ON"],[69744,69744,"NSM"],[69747,69748,"NSM"],[69759,69761,"NSM"],[69811,69814,"NSM"],[69817,69818,"NSM"],[69826,69826,"NSM"],[69888,69890,"NSM"],[69927,69931,"NSM"],[69933,69940,"NSM"],[70003,70003,"NSM"],[70016,70017,"NSM"],[70070,70078,"NSM"],[70089,70092,"NSM"],[70095,70095,"NSM"],[70191,70193,"NSM"],[70196,70196,"NSM"],[70198,70199,"NSM"],[70206,70206,"NSM"],[70209,70209,"NSM"],[70367,70367,"NSM"],[70371,70378,"NSM"],[70400,70401,"NSM"],[70459,70460,"NSM"],[70464,70464,"NSM"],[70502,70508,"NSM"],[70512,70516,"NSM"],[70587,70592,"NSM"],[70606,70606,"NSM"],[70608,70608,"NSM"],[70610,70610,"NSM"],[70625,70626,"NSM"],[70712,70719,"NSM"],[70722,70724,"NSM"],[70726,70726,"NSM"],[70750,70750,"NSM"],[70835,70840,"NSM"],[70842,70842,"NSM"],[70847,70848,"NSM"],[70850,70851,"NSM"],[71090,71093,"NSM"],[71100,71101,"NSM"],[71103,71104,"NSM"],[71132,71133,"NSM"],[71219,71226,"NSM"],[71229,71229,"NSM"],[71231,71232,"NSM"],[71264,71276,"ON"],[71339,71339,"NSM"],[71341,71341,"NSM"],[71344,71349,"NSM"],[71351,71351,"NSM"],[71453,71453,"NSM"],[71455,71455,"NSM"],[71458,71461,"NSM"],[71463,71467,"NSM"],[71727,71735,"NSM"],[71737,71738,"NSM"],[71995,71996,"NSM"],[71998,71998,"NSM"],[72003,72003,"NSM"],[72148,72151,"NSM"],[72154,72155,"NSM"],[72160,72160,"NSM"],[72193,72198,"NSM"],[72201,72202,"NSM"],[72243,72248,"NSM"],[72251,72254,"NSM"],[72263,72263,"NSM"],[72273,72278,"NSM"],[72281,72283,"NSM"],[72330,72342,"NSM"],[72344,72345,"NSM"],[72544,72544,"NSM"],[72546,72548,"NSM"],[72550,72550,"NSM"],[72752,72758,"NSM"],[72760,72765,"NSM"],[72850,72871,"NSM"],[72874,72880,"NSM"],[72882,72883,"NSM"],[72885,72886,"NSM"],[73009,73014,"NSM"],[73018,73018,"NSM"],[73020,73021,"NSM"],[73023,73029,"NSM"],[73031,73031,"NSM"],[73104,73105,"NSM"],[73109,73109,"NSM"],[73111,73111,"NSM"],[73459,73460,"NSM"],[73472,73473,"NSM"],[73526,73530,"NSM"],[73536,73536,"NSM"],[73538,73538,"NSM"],[73562,73562,"NSM"],[73685,73692,"ON"],[73693,73696,"ET"],[73697,73713,"ON"],[78912,78912,"NSM"],[78919,78933,"NSM"],[90398,90409,"NSM"],[90413,90415,"NSM"],[92912,92916,"NSM"],[92976,92982,"NSM"],[94031,94031,"NSM"],[94095,94098,"NSM"],[94178,94178,"ON"],[94180,94180,"NSM"],[113821,113822,"NSM"],[113824,113827,"BN"],[117760,117973,"ON"],[118e3,118009,"EN"],[118010,118012,"ON"],[118016,118451,"ON"],[118458,118480,"ON"],[118496,118512,"ON"],[118528,118573,"NSM"],[118576,118598,"NSM"],[119143,119145,"NSM"],[119155,119162,"BN"],[119163,119170,"NSM"],[119173,119179,"NSM"],[119210,119213,"NSM"],[119273,119274,"ON"],[119296,119361,"ON"],[119362,119364,"NSM"],[119365,119365,"ON"],[119552,119638,"ON"],[120513,120513,"ON"],[120539,120539,"ON"],[120571,120571,"ON"],[120597,120597,"ON"],[120629,120629,"ON"],[120655,120655,"ON"],[120687,120687,"ON"],[120713,120713,"ON"],[120745,120745,"ON"],[120771,120771,"ON"],[120782,120831,"EN"],[121344,121398,"NSM"],[121403,121452,"NSM"],[121461,121461,"NSM"],[121476,121476,"NSM"],[121499,121503,"NSM"],[121505,121519,"NSM"],[122880,122886,"NSM"],[122888,122904,"NSM"],[122907,122913,"NSM"],[122915,122916,"NSM"],[122918,122922,"NSM"],[123023,123023,"NSM"],[123184,123190,"NSM"],[123566,123566,"NSM"],[123628,123631,"NSM"],[123647,123647,"ET"],[124140,124143,"NSM"],[124398,124399,"NSM"],[124643,124643,"NSM"],[124646,124646,"NSM"],[124654,124655,"NSM"],[124661,124661,"NSM"],[124928,125135,"R"],[125136,125142,"NSM"],[125143,125251,"R"],[125252,125258,"NSM"],[125259,126063,"R"],[126064,126143,"AL"],[126144,126207,"R"],[126208,126287,"AL"],[126288,126463,"R"],[126464,126703,"AL"],[126704,126705,"ON"],[126706,126719,"AL"],[126720,126975,"R"],[126976,127019,"ON"],[127024,127123,"ON"],[127136,127150,"ON"],[127153,127167,"ON"],[127169,127183,"ON"],[127185,127221,"ON"],[127232,127242,"EN"],[127243,127247,"ON"],[127279,127279,"ON"],[127338,127343,"ON"],[127405,127405,"ON"],[127584,127589,"ON"],[127744,128728,"ON"],[128732,128748,"ON"],[128752,128764,"ON"],[128768,128985,"ON"],[128992,129003,"ON"],[129008,129008,"ON"],[129024,129035,"ON"],[129040,129095,"ON"],[129104,129113,"ON"],[129120,129159,"ON"],[129168,129197,"ON"],[129200,129211,"ON"],[129216,129217,"ON"],[129232,129240,"ON"],[129280,129623,"ON"],[129632,129645,"ON"],[129648,129660,"ON"],[129664,129674,"ON"],[129678,129734,"ON"],[129736,129736,"ON"],[129741,129756,"ON"],[129759,129770,"ON"],[129775,129784,"ON"],[129792,129938,"ON"],[129940,130031,"ON"],[130032,130041,"EN"],[130042,130042,"ON"],[131070,131071,"BN"],[196606,196607,"BN"],[262142,262143,"BN"],[327678,327679,"BN"],[393214,393215,"BN"],[458750,458751,"BN"],[524286,524287,"BN"],[589822,589823,"BN"],[655358,655359,"BN"],[720894,720895,"BN"],[786430,786431,"BN"],[851966,851967,"BN"],[917502,917759,"BN"],[917760,917999,"NSM"],[918e3,921599,"BN"],[983038,983039,"BN"],[1048574,1048575,"BN"],[1114110,1114111,"BN"]];function yd(t){if(t<=255)return Qs[t];let e=0,n=Ji.length-1;for(;e<=n;){let i=e+n>>1,r=Ji[i];if(t<r[0]){n=i-1;continue}if(t>r[1]){e=i+1;continue}return r[2]}return"L"}function bd(t){let e=t.length;if(e===0)return null;let n=new Array(e),i=!1;for(let l=0;l<e;){let u=t.charCodeAt(l),m=u,f=1;if(u>=55296&&u<=56319&&l+1<e){let A=t.charCodeAt(l+1);A>=56320&&A<=57343&&(m=(u-55296<<10)+(A-56320)+65536,f=2)}let x=yd(m);(x==="R"||x==="AL"||x==="AN")&&(i=!0);for(let A=0;A<f;A++)n[l+A]=x;l+=f}if(!i)return null;let r=0;for(let l=0;l<e;l++){let u=n[l];if(u==="L"){r=0;break}if(u==="R"||u==="AL"){r=1;break}}let o=new Int8Array(e);for(let l=0;l<e;l++)o[l]=r;let s=r&1?"R":"L",c=s,a=c;for(let l=0;l<e;l++)n[l]==="NSM"?n[l]=a:a=n[l];a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="AL"?"AN":"EN":(u==="R"||u==="L"||u==="AL")&&(a=u)}for(let l=0;l<e;l++)n[l]==="AL"&&(n[l]="R");for(let l=1;l<e-1;l++)n[l]==="ES"&&n[l-1]==="EN"&&n[l+1]==="EN"&&(n[l]="EN"),n[l]==="CS"&&(n[l-1]==="EN"||n[l-1]==="AN")&&n[l+1]===n[l-1]&&(n[l]=n[l-1]);for(let l=0;l<e;l++){if(n[l]!=="EN")continue;let u;for(u=l-1;u>=0&&n[u]==="ET";u--)n[u]="EN";for(u=l+1;u<e&&n[u]==="ET";u++)n[u]="EN"}for(let l=0;l<e;l++){let u=n[l];(u==="WS"||u==="ES"||u==="ET"||u==="CS")&&(n[l]="ON")}a=c;for(let l=0;l<e;l++){let u=n[l];u==="EN"?n[l]=a==="L"?"L":"EN":(u==="R"||u==="L")&&(a=u)}for(let l=0;l<e;l++){if(n[l]!=="ON")continue;let u=l+1;for(;u<e&&n[u]==="ON";)u++;let m=l>0?n[l-1]:c,f=u<e?n[u]:c,x=m!=="L"?"R":"L";if(x===(f!=="L"?"R":"L"))for(let y=l;y<u;y++)n[y]=x;l=u-1}for(let l=0;l<e;l++)n[l]==="ON"&&(n[l]=s);for(let l=0;l<e;l++){let u=n[l];(o[l]&1)===0?u==="R"?o[l]++:(u==="AN"||u==="EN")&&(o[l]+=2):(u==="L"||u==="AN"||u==="EN")&&o[l]++}return o}function Zs(t,e){let n=bd(t);if(n===null)return null;let i=new Int8Array(e.length);for(let r=0;r<e.length;r++)i[r]=n[e[r]];return i}var Sd=/[ \\t\\n\\r\\f]+/g,Ad=/[\\t\\n\\r\\f]| {2,}|^ | $/;function Ed(t){let e=t??"normal";return e==="pre-wrap"?{mode:e,preserveOrdinarySpaces:!0,preserveHardBreaks:!0}:{mode:e,preserveOrdinarySpaces:!1,preserveHardBreaks:!1}}function wd(t){if(!Ad.test(t))return t;let e=t.replace(Sd," ");return e.charCodeAt(0)===32&&(e=e.slice(1)),e.length>0&&e.charCodeAt(e.length-1)===32&&(e=e.slice(0,-1)),e}function Cd(t){return/[\\r\\f]/.test(t)?t.replace(/\\r\\n/g,`\n`).replace(/[\\r\\f]/g,`\n`):t.replace(/\\r\\n/g,`\n`)}var Yi=null,Fd;function Md(){return Yi===null&&(Yi=new Intl.Segmenter(Fd,{granularity:"word"})),Yi}var Nd=/\\p{Script=Arabic}/u,Ln=/\\p{M}/u,aa=/\\p{Nd}/u;function ea(t){return Nd.test(t)}function ta(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=191472&&t<=192093||t>=194560&&t<=195103||t>=196608&&t<=201551||t>=201552&&t<=205743||t>=205744&&t<=210041||t>=63744&&t<=64255||t>=12288&&t<=12351||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=44032&&t<=55215||t>=65280&&t<=65519}function De(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(!(n<12288)){if(n>=55296&&n<=56319&&e+1<t.length){let i=t.charCodeAt(e+1);if(i>=56320&&i<=57343){let r=(n-55296<<10)+(i-56320)+65536;if(ta(r))return!0;e++;continue}}if(ta(n))return!0}}return!1}function _d(t){let e=kn(t);return e!==null&&(Rn.has(e)||Xe.has(e))}var Td=new Set(["\\xA0","\\u202F","\\u2060","\\uFEFF"]);function Ld(t){return De(t)}function vd(t){let e=kn(t);return e!==null&&Td.has(e)}function vn(t){return!_d(t)&&!vd(t)}var Rn=new Set(["\\uFF0C","\\uFF0E","\\uFF01","\\uFF1A","\\uFF1B","\\uFF1F","\\u3001","\\u3002","\\u30FB","\\uFF09","\\u3015","\\u3009","\\u300B","\\u300D","\\u300F","\\u3011","\\u3017","\\u3019","\\u301B","\\u30FC","\\u3005","\\u303B","\\u309D","\\u309E","\\u30FD","\\u30FE"]),nn=new Set([\'"\',"(","[","{","\\u201C","\\u2018","\\xAB","\\u2039","\\uFF08","\\u3014","\\u3008","\\u300A","\\u300C","\\u300E","\\u3010","\\u3016","\\u3018","\\u301A"]),Qi=new Set(["\'","\\u2019"]),Xe=new Set([".",",","!","?",":",";","\\u060C","\\u061B","\\u061F","\\u0964","\\u0965","\\u104A","\\u104B","\\u104C","\\u104D","\\u104F",")","]","}","%",\'"\',"\\u201D","\\u2019","\\xBB","\\u203A","\\u2026"]),Rd=new Set([":",".","\\u060C","\\u061B"]),kd=new Set(["\\u104F"]),Dd=new Set(["\\u201D","\\u2019","\\xBB","\\u203A","\\u300D","\\u300F","\\u3011","\\u300B","\\u3009","\\u3015","\\uFF09"]);function Id(t){if(Zi(t))return!0;let e=!1;for(let n of t){if(Xe.has(n)){e=!0;continue}if(!(e&&Ln.test(n)))return!1}return e}function Pd(t){for(let e of t)if(!Rn.has(e)&&!Xe.has(e))return!1;return t.length>0}function Od(t){if(Zi(t))return!0;for(let e of t)if(!nn.has(e)&&!Qi.has(e)&&!Ln.test(e))return!1;return t.length>0}function Zi(t){let e=!1;for(let n of t)if(!(n==="\\\\"||Ln.test(n))){if(nn.has(n)||Xe.has(n)||Qi.has(n)){e=!0;continue}return!1}return e}function la(t,e){let n=e-1;if(n<=0)return Math.max(n,0);let i=t.charCodeAt(n);if(i<56320||i>57343)return n;let r=n-1;if(r<0)return n;let o=t.charCodeAt(r);return o>=55296&&o<=56319?r:n}function kn(t){if(t.length===0)return null;let e=la(t,t.length);return t.slice(e)}function Bd(t){let e=Array.from(t),n=e.length;for(;n>0;){let i=e[n-1];if(Ln.test(i)){n--;continue}if(nn.has(i)||Qi.has(i)){n--;continue}break}return n<=0||n===e.length?null:{head:e.slice(0,n).join(""),tail:e.slice(n).join("")}}function Hd(t,e,n){return n==="text"&&!e&&t.length===1&&t!=="-"&&t!=="\\u2014"?t:null}function na(t,e,n,i){let r=e[i],o=t[i];if(r==null)return o;let s=n[i];if(o.length===s)return o;let c=r.repeat(s);return t[i]=c,c}function ia(t,e){return t&&e!==null&&Rd.has(e)}function Wd(t){let e=kn(t);return e!==null&&kd.has(e)}function Gd(t){if(t.length<2||t[0]!==" ")return null;let e=t.slice(1);return/^\\p{M}+$/u.test(e)?{space:" ",marks:e}:null}function Dn(t){let e=t.length;for(;e>0;){let n=la(t,e),i=t.slice(n,e);if(Dd.has(i))return!0;if(!Xe.has(i))return!1;e=n}return!1}function Ud(t,e){if(e.preserveOrdinarySpaces||e.preserveHardBreaks){if(t===" ")return"preserved-space";if(t===" ")return"tab";if(e.preserveHardBreaks&&t===`\n`)return"hard-break"}return t===" "?"space":t==="\\xA0"||t==="\\u202F"||t==="\\u2060"||t==="\\uFEFF"?"glue":t==="\\u200B"?"zero-width-break":t==="\\xAD"?"soft-hyphen":"text"}var Vd=/[\\x20\\t\\n\\xA0\\xAD\\u200B\\u202F\\u2060\\uFEFF]/;function Te(t){return t.length===1?t[0]:t.join("")}function zd(t,e){let n=[];for(let i=t.length-1;i>=0;i--)n.push(t[i]);return n.push(e),Te(n)}function jd(t,e,n,i){if(!Vd.test(t))return[{text:t,isWordLike:e,kind:"text",start:n}];let r=[],o=null,s=[],c=n,a=!1,l=0;for(let u of t){let m=Ud(u,i),f=m==="text"&&e;if(o!==null&&m===o&&f===a){s.push(u),l+=u.length;continue}o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),o=m,s=[u],c=n+l,a=f,l+=u.length}return o!==null&&r.push({text:Te(s),isWordLike:a,kind:o,start:c}),r}function Xi(t){return t==="space"||t==="preserved-space"||t==="zero-width-break"||t==="hard-break"}var qd=/^[A-Za-z][A-Za-z0-9+.-]*:$/;function $d(t,e){let n=t.texts[e];return n.startsWith("www.")?!0:qd.test(n)&&e+1<t.len&&t.kinds[e+1]==="text"&&t.texts[e+1]==="//"}function Kd(t){return t.includes("?")&&(t.includes("://")||t.startsWith("www."))}function Jd(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let s=0;s<t.len;s++){if(i[s]!=="text"||!$d(t,s))continue;let c=[e[s]],a=s+1;for(;a<t.len&&!Xi(i[a]);){c.push(e[a]),n[s]=!0;let l=e[a].includes("?");if(i[a]="text",e[a]="",a++,l)break}e[s]=Te(c)}let o=0;for(let s=0;s<e.length;s++){let c=e[s];c.length!==0&&(o!==s&&(e[o]=c,n[o]=n[s],i[o]=i[s],r[o]=r[s]),o++)}return e.length=o,n.length=o,i.length=o,r.length=o,{len:o,texts:e,isWordLike:n,kinds:i,starts:r}}function Yd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o]),!Kd(s))continue;let c=o+1;if(c>=t.len||Xi(t.kinds[c]))continue;let a=[],l=t.starts[c],u=c;for(;u<t.len&&!Xi(t.kinds[u]);)a.push(t.texts[u]),u++;a.length>0&&(e.push(Te(a)),n.push(!0),i.push("text"),r.push(l),o=u-1)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}var Xd=new Set([":","-","/","\\xD7",",",".","+","\\u2013","\\u2014"]),ra=/^[A-Za-z0-9_]+[,:;]*$/,oa=/[,:;]+$/;function ua(t){for(let e of t)if(aa.test(e))return!0;return!1}function tn(t){if(t.length===0)return!1;for(let e of t)if(!(aa.test(e)||Xd.has(e)))return!1;return!0}function Qd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o];if(c==="text"&&tn(s)&&ua(s)){let a=[s],l=o+1;for(;l<t.len&&t.kinds[l]==="text"&&tn(t.texts[l]);)a.push(t.texts[l]),l++;e.push(Te(a)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=l-1;continue}e.push(s),n.push(t.isWordLike[o]),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function Zd(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o],c=t.kinds[o],a=t.isWordLike[o];if(c==="text"&&a&&ra.test(s)){let l=[s],u=oa.test(s),m=o+1;for(;u&&m<t.len&&t.kinds[m]==="text"&&t.isWordLike[m]&&ra.test(t.texts[m]);){let f=t.texts[m];l.push(f),u=oa.test(f),m++}e.push(Te(l)),n.push(!0),i.push("text"),r.push(t.starts[o]),o=m-1;continue}e.push(s),n.push(a),i.push(c),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ef(t){let e=[],n=[],i=[],r=[];for(let o=0;o<t.len;o++){let s=t.texts[o];if(t.kinds[o]==="text"&&s.includes("-")){let c=s.split("-"),a=c.length>1;for(let l=0;l<c.length;l++){let u=c[l];if(!a)break;(u.length===0||!ua(u)||!tn(u))&&(a=!1)}if(a){let l=0;for(let u=0;u<c.length;u++){let m=c[u],f=u<c.length-1?`${m}-`:m;e.push(f),n.push(!0),i.push("text"),r.push(t.starts[o]+l),l+=f.length}continue}}e.push(s),n.push(t.isWordLike[o]),i.push(t.kinds[o]),r.push(t.starts[o])}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function tf(t){let e=[],n=[],i=[],r=[],o=0;for(;o<t.len;){let s=[t.texts[o]],c=t.isWordLike[o],a=t.kinds[o],l=t.starts[o];if(a==="glue"){let u=[s[0]],m=l;for(o++;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let f=Te(u);if(o<t.len&&t.kinds[o]==="text")s[0]=f,s.push(t.texts[o]),c=t.isWordLike[o],a="text",l=m,o++;else{e.push(f),n.push(!1),i.push("glue"),r.push(m);continue}}else o++;if(a==="text")for(;o<t.len&&t.kinds[o]==="glue";){let u=[];for(;o<t.len&&t.kinds[o]==="glue";)u.push(t.texts[o]),o++;let m=Te(u);if(o<t.len&&t.kinds[o]==="text"){s.push(m,t.texts[o]),c=c||t.isWordLike[o],o++;continue}s.push(m)}e.push(Te(s)),n.push(c),i.push(a),r.push(l)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function nf(t){let e=t.texts.slice(),n=t.isWordLike.slice(),i=t.kinds.slice(),r=t.starts.slice();for(let o=0;o<e.length-1;o++){if(i[o]!=="text"||i[o+1]!=="text"||!De(e[o])||!De(e[o+1]))continue;let s=Bd(e[o]);s!==null&&(e[o]=s.head,e[o+1]=s.tail+e[o+1],r[o+1]=r[o]+s.head.length)}return{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function sa(t,e,n){let i=Md(),r=0,o=[],s=[],c=[],a=[],l=[],u=[],m=[],f=[],x=[],A=[],y=[],g=[];for(let _ of i.segment(t))for(let S of jd(_.segment,_.isWordLike??!1,_.index,n)){let se=function(){u[P]!==null&&(s[P]=[na(o,u,m,P)],u[P]=null),s[P].push(S.text),c[P]=c[P]||S.isWordLike,f[P]=f[P]||T,x[P]=x[P]||R,A[P]=j,y[P]=ie,g[P]=ia(x[P],G)},C=S.kind==="text",F=Hd(S.text,S.isWordLike,S.kind),T=De(S.text),R=ea(S.text),G=kn(S.text),j=Dn(S.text),ie=Wd(S.text),P=r-1;e.carryCJKAfterClosingQuote&&C&&r>0&&a[P]==="text"&&T&&f[P]&&A[P]||C&&r>0&&a[P]==="text"&&Pd(S.text)&&f[P]||C&&r>0&&a[P]==="text"&&y[P]?se():C&&r>0&&a[P]==="text"&&S.isWordLike&&R&&g[P]?(se(),c[P]=!0):F!==null&&r>0&&a[P]==="text"&&u[P]===F?m[P]=(m[P]??1)+1:C&&!S.isWordLike&&r>0&&a[P]==="text"&&(Id(S.text)||S.text==="-"&&c[P])?se():(o[r]=S.text,s[r]=[S.text],c[r]=S.isWordLike,a[r]=S.kind,l[r]=S.start,u[r]=F,m[r]=F===null?0:1,f[r]=T,x[r]=R,A[r]=j,y[r]=ie,g[r]=ia(R,G),r++)}for(let _=0;_<r;_++){if(u[_]!==null){o[_]=na(o,u,m,_);continue}o[_]=Te(s[_])}for(let _=1;_<r;_++)a[_]==="text"&&!c[_]&&Zi(o[_])&&a[_-1]==="text"&&(o[_-1]+=o[_],c[_-1]=c[_-1]||c[_],o[_]="");let w=Array.from({length:r},()=>null),N=-1;for(let _=r-1;_>=0;_--){let S=o[_];if(S.length!==0){if(a[_]==="text"&&!c[_]&&Od(S)&&N>=0&&a[N]==="text"){let C=w[N]??[];C.push(S),w[N]=C,l[N]=l[_],o[_]="";continue}N=_}}for(let _=0;_<r;_++){let S=w[_];S!=null&&(o[_]=zd(S,o[_]))}let L=0;for(let _=0;_<r;_++){let S=o[_];S.length!==0&&(L!==_&&(o[L]=S,c[L]=c[_],a[L]=a[_],l[L]=l[_]),L++)}o.length=L,c.length=L,a.length=L,l.length=L;let $=tf({len:L,texts:o,isWordLike:c,kinds:a,starts:l}),B=nf(Zd(ef(Qd(Yd(Jd($))))));for(let _=0;_<B.len-1;_++){let S=Gd(B.texts[_]);S!==null&&(B.kinds[_]!=="space"&&B.kinds[_]!=="preserved-space"||B.kinds[_+1]!=="text"||!ea(B.texts[_+1])||(B.texts[_]=S.space,B.isWordLike[_]=!1,B.kinds[_]=B.kinds[_]==="preserved-space"?"preserved-space":"space",B.texts[_+1]=S.marks+B.texts[_+1],B.starts[_+1]=B.starts[_]+S.space.length))}return B}function rf(t,e){if(t.len===0)return[];if(!e.preserveHardBreaks)return[{startSegmentIndex:0,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}];let n=[],i=0;for(let r=0;r<t.len;r++)t.kinds[r]==="hard-break"&&(n.push({startSegmentIndex:i,endSegmentIndex:r,consumedEndSegmentIndex:r+1}),i=r+1);return i<t.len&&n.push({startSegmentIndex:i,endSegmentIndex:t.len,consumedEndSegmentIndex:t.len}),n}function of(t){if(t.len<=1)return t;let e=[],n=[],i=[],r=[],o=null,s=!1,c=0,a=!1,l=!1;function u(){o!==null&&(e.push(Te(o)),n.push(s),i.push("text"),r.push(c),o=null)}for(let m=0;m<t.len;m++){let f=t.texts[m],x=t.kinds[m],A=t.isWordLike[m],y=t.starts[m];if(x==="text"){let g=Ld(f),w=vn(f);if(o!==null&&a&&l){o.push(f),s=s||A,a=a||g,l=w;continue}u(),o=[f],s=A,c=y,a=g,l=w;continue}u(),e.push(f),n.push(A),i.push(x),r.push(y)}return u(),{len:e.length,texts:e,isWordLike:n,kinds:i,starts:r}}function ca(t,e,n="normal",i="normal"){let r=Ed(n),o=r.mode==="pre-wrap"?Cd(t):wd(t);if(o.length===0)return{normalized:o,chunks:[],len:0,texts:[],isWordLike:[],kinds:[],starts:[]};let s=i==="keep-all"?of(sa(o,e,r)):sa(o,e,r);return{normalized:o,chunks:rf(s,r),...s}}var xt=null,da=new Map,yt=null,sf=96,af=/\\p{Emoji_Presentation}/u,lf=/[\\p{Emoji_Presentation}\\p{Extended_Pictographic}\\p{Regional_Indicator}\\uFE0F\\u20E3]/u,er=null,fa=new Map;function tr(){if(xt!==null)return xt;if(typeof OffscreenCanvas<"u")return xt=new OffscreenCanvas(1,1).getContext("2d"),xt;if(typeof document<"u")return xt=document.createElement("canvas").getContext("2d"),xt;throw new Error("Text measurement requires OffscreenCanvas or a DOM canvas context.")}function uf(t){let e=da.get(t);return e||(e=new Map,da.set(t,e)),e}function Ve(t,e){let n=e.get(t);return n===void 0&&(n={width:tr().measureText(t).width,containsCJK:De(t)},e.set(t,n)),n}function bt(){if(yt!==null)return yt;if(typeof navigator>"u")return yt={lineFitEpsilon:.005,carryCJKAfterClosingQuote:!1,preferPrefixWidthsForBreakableRuns:!1,preferEarlySoftHyphenBreak:!1},yt;let t=navigator.userAgent,n=navigator.vendor==="Apple Computer, Inc."&&t.includes("Safari/")&&!t.includes("Chrome/")&&!t.includes("Chromium/")&&!t.includes("CriOS/")&&!t.includes("FxiOS/")&&!t.includes("EdgiOS/"),i=t.includes("Chrome/")||t.includes("Chromium/")||t.includes("CriOS/")||t.includes("Edg/");return yt={lineFitEpsilon:n?1/64:.005,carryCJKAfterClosingQuote:i,preferPrefixWidthsForBreakableRuns:n,preferEarlySoftHyphenBreak:n},yt}function cf(t){let e=t.match(/(\\d+(?:\\.\\d+)?)\\s*px/);return e?parseFloat(e[1]):16}function ma(){return er===null&&(er=new Intl.Segmenter(void 0,{granularity:"grapheme"})),er}function df(t){return af.test(t)||t.includes("\\uFE0F")}function pa(t){return lf.test(t)}function ff(t,e){let n=fa.get(t);if(n!==void 0)return n;let i=tr();i.font=t;let r=i.measureText("\\u{1F600}").width;if(n=0,r>e+.5&&typeof document<"u"&&document.body!==null){let o=document.createElement("span");o.style.font=t,o.style.display="inline-block",o.style.visibility="hidden",o.style.position="absolute",o.textContent="\\u{1F600}",document.body.appendChild(o);let s=o.getBoundingClientRect().width;document.body.removeChild(o),r-s>.5&&(n=r-s)}return fa.set(t,n),n}function mf(t){let e=0,n=ma();for(let i of n.segment(t))df(i.segment)&&e++;return e}function pf(t,e){return e.emojiCount===void 0&&(e.emojiCount=mf(t)),e.emojiCount}function Qe(t,e,n){return n===0?e.width:e.width-pf(t,e)*n}function ha(t,e,n,i,r){if(e.breakableFitAdvances!==void 0)return e.breakableFitAdvances;let o=ma(),s=[];for(let u of o.segment(t))s.push(u.segment);if(s.length<=1)return e.breakableFitAdvances=null,e.breakableFitAdvances;if(r==="sum-graphemes"){let u=[];for(let m of s){let f=Ve(m,n);u.push(Qe(m,f,i))}return e.breakableFitAdvances=u,e.breakableFitAdvances}if(r==="pair-context"||s.length>sf){let u=[],m=null,f=0;for(let x of s){let A=Ve(x,n),y=Qe(x,A,i);if(m===null)u.push(y);else{let g=m+x,w=Ve(g,n);u.push(Qe(g,w,i)-f)}m=x,f=y}return e.breakableFitAdvances=u,e.breakableFitAdvances}let c=[],a="",l=0;for(let u of s){a+=u;let m=Ve(a,n),f=Qe(a,m,i);c.push(f-l),l=f}return e.breakableFitAdvances=c,e.breakableFitAdvances}function ga(t,e){let n=tr();n.font=t;let i=uf(t),r=cf(t),o=e?ff(t,r):0;return{cache:i,fontSize:r,emojiCorrection:o}}function hf(t,e){for(;e<t.widths.length;){let n=t.kinds[e];if(n!=="space"&&n!=="zero-width-break"&&n!=="soft-hyphen")break;e++}return e}function gf(t,e){if(e<=0)return 0;let n=t%e;return Math.abs(n)<=1e-6?e:e-n}function xf(t,e,n,i,r){let o=0,s=e;for(;o<t.length;){let c=s+t[o];if((o+1<t.length?c+r:c)>n+i)break;s=c,o++}return{fitCount:o,fittedWidth:s}}function xa(t,e){return t.simpleLineWalkFastPath?ya(t,e):ba(t,e)}function ya(t,e,n){let{widths:i,kinds:r,breakableFitAdvances:o}=t;if(i.length===0)return 0;let c=bt().lineFitEpsilon,a=e+c,l=0,u=0,m=!1,f=0,x=0,A=0,y=0,g=-1,w=0;function N(){g=-1,w=0}function L(F=A,T=y,R=u){l++,n?.({startSegmentIndex:f,startGraphemeIndex:x,endSegmentIndex:F,endGraphemeIndex:T,width:R}),u=0,m=!1,N()}function $(F,T){m=!0,f=F,x=0,A=F+1,y=0,u=T}function B(F,T,R){m=!0,f=F,x=T,A=F,y=T+1,u=R}function _(F,T){if(!m){$(F,T);return}u+=T,A=F+1,y=0}function S(F,T){let R=o[F];for(let G=T;G<R.length;G++){let j=R[G];m?u+j>a?(L(),B(F,G,j)):(u+=j,A=F,y=G+1):B(F,G,j)}m&&A===F&&y===R.length&&(A=F+1,y=0)}let C=0;for(;C<i.length&&!(!m&&(C=hf(t,C),C>=i.length));){let F=i[C],T=r[C],R=T==="space"||T==="preserved-space"||T==="tab"||T==="zero-width-break"||T==="soft-hyphen";if(!m){F>e&&o[C]!==null?S(C,0):$(C,F),R&&(g=C+1,w=u-F),C++;continue}if(u+F>a){if(R){_(C,F),L(C+1,0,u-F),C++;continue}if(g>=0){if(A>g||A===g&&y>0){L();continue}L(g,0,w);continue}if(F>e&&o[C]!==null){L(),S(C,0),C++;continue}L();continue}_(C,F),R&&(g=C+1,w=u-F),C++}return m&&L(),l}function ba(t,e,n){if(t.simpleLineWalkFastPath)return ya(t,e,n);let{widths:i,lineEndFitAdvances:r,lineEndPaintAdvances:o,kinds:s,breakableFitAdvances:c,discretionaryHyphenWidth:a,tabStopAdvance:l,chunks:u}=t;if(i.length===0||u.length===0)return 0;let m=bt(),f=m.lineFitEpsilon,x=e+f,A=0,y=0,g=!1,w=0,N=0,L=0,$=0,B=-1,_=0,S=0,C=null;function F(){B=-1,_=0,S=0,C=null}function T(H=L,U=$,V=y){A++,n?.({startSegmentIndex:w,startGraphemeIndex:N,endSegmentIndex:H,endGraphemeIndex:U,width:V}),y=0,g=!1,F()}function R(H,U){g=!0,w=H,N=0,L=H+1,$=0,y=U}function G(H,U,V){g=!0,w=H,N=U,L=H,$=U+1,y=V}function j(H,U){if(!g){R(H,U);return}y+=U,L=H+1,$=0}function ie(H,U,V,re){if(!U)return;let Fe=H==="tab"?0:r[V],O=H==="tab"?re:o[V];B=V+1,_=y-re+Fe,S=y-re+O,C=H}function P(H,U){let V=c[H];for(let re=U;re<V.length;re++){let Fe=V[re];g?y+Fe>x?(T(),G(H,re,Fe)):(y+=Fe,L=H,$=re+1):G(H,re,Fe)}g&&L===H&&$===V.length&&(L=H+1,$=0)}function se(H){if(C!=="soft-hyphen")return!1;let U=c[H];if(U==null)return!1;let{fitCount:V,fittedWidth:re}=xf(U,y,e,f,a);return V===0?!1:(y=re,L=H,$=V,F(),V===U.length?(L=H+1,$=0,!0):(T(H,V,re+a),P(H,V),!0))}function Se(H){A++,n?.({startSegmentIndex:H.startSegmentIndex,startGraphemeIndex:0,endSegmentIndex:H.consumedEndSegmentIndex,endGraphemeIndex:0,width:0}),F()}for(let H=0;H<u.length;H++){let U=u[H];if(U.startSegmentIndex===U.endSegmentIndex){Se(U);continue}g=!1,y=0,w=U.startSegmentIndex,N=0,L=U.startSegmentIndex,$=0,F();let V=U.startSegmentIndex;for(;V<U.endSegmentIndex;){let re=s[V],Fe=re==="space"||re==="preserved-space"||re==="tab"||re==="zero-width-break"||re==="soft-hyphen",O=re==="tab"?gf(y,l):i[V];if(re==="soft-hyphen"){g&&(L=V+1,$=0,B=V+1,_=y+a,S=y+a,C=re),V++;continue}if(!g){O>e&&c[V]!==null?P(V,0):R(V,O),ie(re,Fe,V,O),V++;continue}if(y+O>x){let W=y+(re==="tab"?0:r[V]),Q=y+(re==="tab"?O:o[V]);if(C==="soft-hyphen"&&m.preferEarlySoftHyphenBreak&&_<=x){T(B,0,S);continue}if(C==="soft-hyphen"&&se(V)){V++;continue}if(Fe&&W<=x){j(V,O),T(V+1,0,Q),V++;continue}if(B>=0&&_<=x){if(L>B||L===B&&$>0){T();continue}let ae=B;T(ae,0,S),V=ae;continue}if(O>e&&c[V]!==null){T(),P(V,0),V++;continue}T();continue}j(V,O),ie(re,Fe,V,O),V++}if(g){let re=B===U.consumedEndSegmentIndex?S:y;T(U.consumedEndSegmentIndex,0,re)}}return A}var nr=null;function yf(){return nr===null&&(nr=new Intl.Segmenter(void 0,{granularity:"grapheme"})),nr}function bf(t){return t?{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[],segments:[]}:{widths:[],lineEndFitAdvances:[],lineEndPaintAdvances:[],kinds:[],simpleLineWalkFastPath:!0,segLevels:null,breakableFitAdvances:[],discretionaryHyphenWidth:0,tabStopAdvance:0,chunks:[]}}function Sf(t,e){let n=[],i=[],r=0,o=!1,s=!1,c=!1;function a(){i.length!==0&&(n.push({text:i.length===1?i[0]:i.join(""),start:r}),i=[],o=!1,s=!1,c=!1)}function l(m,f,x){i=[m],r=f,o=x,s=Dn(m),c=nn.has(m)}function u(m,f){i.push(m),o=o||f;let x=Dn(m);m.length===1&&Xe.has(m)?s=s||x:s=x,c=!1}for(let m of yf().segment(t)){let f=m.segment,x=De(f);if(i.length===0){l(f,m.index,x);continue}if(c||Rn.has(f)||Xe.has(f)||e.carryCJKAfterClosingQuote&&x&&s){u(f,x);continue}if(!o&&!x){u(f,x);continue}a(),l(f,m.index,x)}return a(),n}function Af(t){if(t.length<=1)return t;let e=[],n=[t[0].text],i=t[0].start,r=De(t[0].text),o=vn(t[0].text);function s(){e.push({text:n.length===1?n[0]:n.join(""),start:i})}for(let c=1;c<t.length;c++){let a=t[c],l=De(a.text),u=vn(a.text);if(r&&o){n.push(a.text),r=r||l,o=u;continue}s(),n=[a.text],i=a.start,r=l,o=u}return s(),e}function Ef(t,e,n,i){let r=bt(),{cache:o,emojiCorrection:s}=ga(e,pa(t.normalized)),c=Qe("-",Ve("-",o),s),l=Qe(" ",Ve(" ",o),s)*8;if(t.len===0)return bf(n);let u=[],m=[],f=[],x=[],A=t.chunks.length<=1,y=n?[]:null,g=[],w=n?[]:null,N=Array.from({length:t.len});function L(S,C,F,T,R,G,j){R!=="text"&&R!=="space"&&R!=="zero-width-break"&&(A=!1),u.push(C),m.push(F),f.push(T),x.push(R),y?.push(G),g.push(j),w!==null&&w.push(S)}function $(S,C,F,T,R){let G=Ve(S,o),j=Qe(S,G,s),ie=C==="space"||C==="preserved-space"||C==="zero-width-break"?0:j,P=C==="space"||C==="zero-width-break"?0:j;if(R&&T&&S.length>1){let se="sum-graphemes";tn(S)?se="pair-context":r.preferPrefixWidthsForBreakableRuns&&(se="segment-prefixes");let Se=ha(S,G,o,s,se);L(S,j,ie,P,C,F,Se);return}L(S,j,ie,P,C,F,null)}for(let S=0;S<t.len;S++){N[S]=u.length;let C=t.texts[S],F=t.isWordLike[S],T=t.kinds[S],R=t.starts[S];if(T==="soft-hyphen"){L(C,0,c,c,T,R,null);continue}if(T==="hard-break"){L(C,0,0,0,T,R,null);continue}if(T==="tab"){L(C,0,0,0,T,R,null);continue}let G=Ve(C,o);if(T==="text"&&G.containsCJK){let j=Sf(C,r),ie=i==="keep-all"?Af(j):j;for(let P=0;P<ie.length;P++){let se=ie[P];$(se.text,"text",R+se.start,F,i==="keep-all"||!De(se.text))}continue}$(C,T,R,F,!0)}let B=wf(t.chunks,N,u.length),_=y===null?null:Zs(t.normalized,y);return w!==null?{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B,segments:w}:{widths:u,lineEndFitAdvances:m,lineEndPaintAdvances:f,kinds:x,simpleLineWalkFastPath:A,segLevels:_,breakableFitAdvances:g,discretionaryHyphenWidth:c,tabStopAdvance:l,chunks:B}}function wf(t,e,n){let i=[];for(let r=0;r<t.length;r++){let o=t[r],s=o.startSegmentIndex<e.length?e[o.startSegmentIndex]:n,c=o.endSegmentIndex<e.length?e[o.endSegmentIndex]:n,a=o.consumedEndSegmentIndex<e.length?e[o.consumedEndSegmentIndex]:n;i.push({startSegmentIndex:s,endSegmentIndex:c,consumedEndSegmentIndex:a})}return i}function Cf(t,e,n,i){let r=i?.wordBreak??"normal",o=ca(t,bt(),i?.whiteSpace,r);return Ef(o,e,n,r)}function Sa(t,e,n){return Cf(t,e,!1,n)}function Aa(t,e,n){let i=xa(t,e);return{lineCount:i,height:i*n}}var Ff={maxWidth:1600,baseFontSize:78,minFontSize:42,fontWeight:900,fontFamily:"Outfit",step:2};function Ea(t,e){let n={...Ff,...e},i=1.2;for(let r=n.baseFontSize;r>=n.minFontSize;r-=n.step){let o=`${n.fontWeight} ${r}px ${n.fontFamily}`,s=Sa(t,o),{lineCount:c}=Aa(s,n.maxWidth,r*i);if(c<=1)return{fontSize:r,fits:!0}}return{fontSize:n.minFontSize,fits:!1}}window.__timelines=window.__timelines||{};window.__hyperframes={fitTextFontSize:Ea,getVariables:Ss};function wa(){let t=window;t.__hyperframeRuntimeBootstrapped||(t.__hyperframeRuntimeBootstrapped=!0,Xs())}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",wa,{once:!0}):wa();})();\n';
|
|
55971
55971
|
}
|
|
55972
55972
|
});
|
|
55973
55973
|
|
|
@@ -57121,16 +57121,16 @@ function classifyCodePoint(codePoint) {
|
|
|
57121
57121
|
return "L";
|
|
57122
57122
|
}
|
|
57123
57123
|
function computeBidiLevels(str) {
|
|
57124
|
-
const
|
|
57125
|
-
if (
|
|
57124
|
+
const len2 = str.length;
|
|
57125
|
+
if (len2 === 0)
|
|
57126
57126
|
return null;
|
|
57127
|
-
const types5 = new Array(
|
|
57127
|
+
const types5 = new Array(len2);
|
|
57128
57128
|
let sawBidi = false;
|
|
57129
|
-
for (let i2 = 0; i2 <
|
|
57129
|
+
for (let i2 = 0; i2 < len2; ) {
|
|
57130
57130
|
const first = str.charCodeAt(i2);
|
|
57131
57131
|
let codePoint = first;
|
|
57132
57132
|
let codeUnitLength = 1;
|
|
57133
|
-
if (first >= 55296 && first <= 56319 && i2 + 1 <
|
|
57133
|
+
if (first >= 55296 && first <= 56319 && i2 + 1 < len2) {
|
|
57134
57134
|
const second = str.charCodeAt(i2 + 1);
|
|
57135
57135
|
if (second >= 56320 && second <= 57343) {
|
|
57136
57136
|
codePoint = (first - 55296 << 10) + (second - 56320) + 65536;
|
|
@@ -57148,7 +57148,7 @@ function computeBidiLevels(str) {
|
|
|
57148
57148
|
if (!sawBidi)
|
|
57149
57149
|
return null;
|
|
57150
57150
|
let startLevel = 0;
|
|
57151
|
-
for (let i2 = 0; i2 <
|
|
57151
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57152
57152
|
const t2 = types5[i2];
|
|
57153
57153
|
if (t2 === "L") {
|
|
57154
57154
|
startLevel = 0;
|
|
@@ -57159,31 +57159,31 @@ function computeBidiLevels(str) {
|
|
|
57159
57159
|
break;
|
|
57160
57160
|
}
|
|
57161
57161
|
}
|
|
57162
|
-
const levels = new Int8Array(
|
|
57163
|
-
for (let i2 = 0; i2 <
|
|
57162
|
+
const levels = new Int8Array(len2);
|
|
57163
|
+
for (let i2 = 0; i2 < len2; i2++)
|
|
57164
57164
|
levels[i2] = startLevel;
|
|
57165
57165
|
const e3 = startLevel & 1 ? "R" : "L";
|
|
57166
57166
|
const sor = e3;
|
|
57167
57167
|
let lastType = sor;
|
|
57168
|
-
for (let i2 = 0; i2 <
|
|
57168
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57169
57169
|
if (types5[i2] === "NSM")
|
|
57170
57170
|
types5[i2] = lastType;
|
|
57171
57171
|
else
|
|
57172
57172
|
lastType = types5[i2];
|
|
57173
57173
|
}
|
|
57174
57174
|
lastType = sor;
|
|
57175
|
-
for (let i2 = 0; i2 <
|
|
57175
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57176
57176
|
const t2 = types5[i2];
|
|
57177
57177
|
if (t2 === "EN")
|
|
57178
57178
|
types5[i2] = lastType === "AL" ? "AN" : "EN";
|
|
57179
57179
|
else if (t2 === "R" || t2 === "L" || t2 === "AL")
|
|
57180
57180
|
lastType = t2;
|
|
57181
57181
|
}
|
|
57182
|
-
for (let i2 = 0; i2 <
|
|
57182
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57183
57183
|
if (types5[i2] === "AL")
|
|
57184
57184
|
types5[i2] = "R";
|
|
57185
57185
|
}
|
|
57186
|
-
for (let i2 = 1; i2 <
|
|
57186
|
+
for (let i2 = 1; i2 < len2 - 1; i2++) {
|
|
57187
57187
|
if (types5[i2] === "ES" && types5[i2 - 1] === "EN" && types5[i2 + 1] === "EN") {
|
|
57188
57188
|
types5[i2] = "EN";
|
|
57189
57189
|
}
|
|
@@ -57191,36 +57191,36 @@ function computeBidiLevels(str) {
|
|
|
57191
57191
|
types5[i2] = types5[i2 - 1];
|
|
57192
57192
|
}
|
|
57193
57193
|
}
|
|
57194
|
-
for (let i2 = 0; i2 <
|
|
57194
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57195
57195
|
if (types5[i2] !== "EN")
|
|
57196
57196
|
continue;
|
|
57197
57197
|
let j3;
|
|
57198
57198
|
for (j3 = i2 - 1; j3 >= 0 && types5[j3] === "ET"; j3--)
|
|
57199
57199
|
types5[j3] = "EN";
|
|
57200
|
-
for (j3 = i2 + 1; j3 <
|
|
57200
|
+
for (j3 = i2 + 1; j3 < len2 && types5[j3] === "ET"; j3++)
|
|
57201
57201
|
types5[j3] = "EN";
|
|
57202
57202
|
}
|
|
57203
|
-
for (let i2 = 0; i2 <
|
|
57203
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57204
57204
|
const t2 = types5[i2];
|
|
57205
57205
|
if (t2 === "WS" || t2 === "ES" || t2 === "ET" || t2 === "CS")
|
|
57206
57206
|
types5[i2] = "ON";
|
|
57207
57207
|
}
|
|
57208
57208
|
lastType = sor;
|
|
57209
|
-
for (let i2 = 0; i2 <
|
|
57209
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57210
57210
|
const t2 = types5[i2];
|
|
57211
57211
|
if (t2 === "EN")
|
|
57212
57212
|
types5[i2] = lastType === "L" ? "L" : "EN";
|
|
57213
57213
|
else if (t2 === "R" || t2 === "L")
|
|
57214
57214
|
lastType = t2;
|
|
57215
57215
|
}
|
|
57216
|
-
for (let i2 = 0; i2 <
|
|
57216
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57217
57217
|
if (types5[i2] !== "ON")
|
|
57218
57218
|
continue;
|
|
57219
57219
|
let end = i2 + 1;
|
|
57220
|
-
while (end <
|
|
57220
|
+
while (end < len2 && types5[end] === "ON")
|
|
57221
57221
|
end++;
|
|
57222
57222
|
const before3 = i2 > 0 ? types5[i2 - 1] : sor;
|
|
57223
|
-
const after2 = end <
|
|
57223
|
+
const after2 = end < len2 ? types5[end] : sor;
|
|
57224
57224
|
const bDir = before3 !== "L" ? "R" : "L";
|
|
57225
57225
|
const aDir = after2 !== "L" ? "R" : "L";
|
|
57226
57226
|
if (bDir === aDir) {
|
|
@@ -57229,11 +57229,11 @@ function computeBidiLevels(str) {
|
|
|
57229
57229
|
}
|
|
57230
57230
|
i2 = end - 1;
|
|
57231
57231
|
}
|
|
57232
|
-
for (let i2 = 0; i2 <
|
|
57232
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57233
57233
|
if (types5[i2] === "ON")
|
|
57234
57234
|
types5[i2] = e3;
|
|
57235
57235
|
}
|
|
57236
|
-
for (let i2 = 0; i2 <
|
|
57236
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
57237
57237
|
const t2 = types5[i2];
|
|
57238
57238
|
if ((levels[i2] & 1) === 0) {
|
|
57239
57239
|
if (t2 === "R")
|
|
@@ -64409,6 +64409,16 @@ function wrapScopedCompositionScript(source, compositionId, errorLabel = "[Hyper
|
|
|
64409
64409
|
? new Proxy(window, {
|
|
64410
64410
|
get: function(target, prop, receiver) {
|
|
64411
64411
|
if (prop === "__timelines") return __hfGetTimelineRegistry();
|
|
64412
|
+
// Inside a sub-composition, __hyperframes is passed as a bare script
|
|
64413
|
+
// param bound to the SCOPED variant (per-comp getVariables). But
|
|
64414
|
+
// authors routinely write the documented window.__hyperframes.
|
|
64415
|
+
// getVariables() form, which would otherwise fall through to the host
|
|
64416
|
+
// page's base __hyperframes and return the WRONG (or empty) variables
|
|
64417
|
+
// for this instance. Route it to the scoped variant too so both
|
|
64418
|
+
// spellings resolve to this composition's own variables.
|
|
64419
|
+
// (__hfScopedHyperframes is a hoisted var assigned below, before any
|
|
64420
|
+
// sub-comp script -- the only code that reads this -- runs.)
|
|
64421
|
+
if (prop === "__hyperframes") return __hfScopedHyperframes;
|
|
64412
64422
|
return Reflect.get(target, prop, target);
|
|
64413
64423
|
},
|
|
64414
64424
|
set: function(target, prop, value, receiver) {
|
|
@@ -67679,14 +67689,14 @@ function resolveCssAssetCandidates(projectDir, url, htmlCompSrcPath, cssRootRela
|
|
|
67679
67689
|
return resolveLocalAssetCandidates(projectDir, url);
|
|
67680
67690
|
}
|
|
67681
67691
|
async function lintProject(projectDir) {
|
|
67682
|
-
const
|
|
67692
|
+
const indexPath2 = resolve7(projectDir, "index.html");
|
|
67683
67693
|
const results = [];
|
|
67684
67694
|
let totalErrors = 0;
|
|
67685
67695
|
let totalWarnings = 0;
|
|
67686
67696
|
let totalInfos = 0;
|
|
67687
|
-
const rootHtml = readFileSync4(
|
|
67697
|
+
const rootHtml = readFileSync4(indexPath2, "utf-8");
|
|
67688
67698
|
const rootResult = await lintHyperframeHtml(rootHtml, {
|
|
67689
|
-
filePath:
|
|
67699
|
+
filePath: indexPath2,
|
|
67690
67700
|
externalStyles: collectExternalStyles(projectDir, rootHtml)
|
|
67691
67701
|
});
|
|
67692
67702
|
results.push({ file: "index.html", result: rootResult });
|
|
@@ -70898,10 +70908,10 @@ function hoistCompositionScripts(container, opts) {
|
|
|
70898
70908
|
}
|
|
70899
70909
|
}
|
|
70900
70910
|
async function bundleToSingleHtml(projectDir, options) {
|
|
70901
|
-
const
|
|
70902
|
-
if (!existsSync10(
|
|
70911
|
+
const indexPath2 = join10(projectDir, "index.html");
|
|
70912
|
+
if (!existsSync10(indexPath2))
|
|
70903
70913
|
throw new Error("index.html not found in project directory");
|
|
70904
|
-
const rawHtml = readFileSync5(
|
|
70914
|
+
const rawHtml = readFileSync5(indexPath2, "utf-8");
|
|
70905
70915
|
const compiled = await compileHtml(rawHtml, projectDir, options?.probeMediaDuration);
|
|
70906
70916
|
const staticGuard = await validateHyperframeHtmlContract(compiled);
|
|
70907
70917
|
if (!staticGuard.isValid) {
|
|
@@ -72908,7 +72918,7 @@ var init_audioVolumeEnvelope = __esm({
|
|
|
72908
72918
|
});
|
|
72909
72919
|
|
|
72910
72920
|
// ../engine/src/services/audioMixer.ts
|
|
72911
|
-
import { existsSync as existsSync13, mkdirSync as mkdirSync8, rmSync as rmSync3 } from "fs";
|
|
72921
|
+
import { closeSync, existsSync as existsSync13, mkdirSync as mkdirSync8, mkdtempSync, openSync, rmSync as rmSync3, writeFileSync as writeFileSync6 } from "fs";
|
|
72912
72922
|
import { isAbsolute as isAbsolute5, join as join13, dirname as dirname8 } from "path";
|
|
72913
72923
|
function clampVolume(volume) {
|
|
72914
72924
|
if (!Number.isFinite(volume)) return 1;
|
|
@@ -73152,11 +73162,9 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73152
73162
|
}
|
|
73153
73163
|
const outputDir = dirname8(outputPath);
|
|
73154
73164
|
if (!existsSync13(outputDir)) mkdirSync8(outputDir, { recursive: true });
|
|
73155
|
-
const
|
|
73156
|
-
const inputs = [];
|
|
73165
|
+
const buildFilterComplex = (ignoreAutomation) => {
|
|
73157
73166
|
const filterParts = [];
|
|
73158
73167
|
tracks.forEach((track, i2) => {
|
|
73159
|
-
inputs.push("-i", track.srcPath);
|
|
73160
73168
|
const delayMs = Math.round(track.start * 1e3);
|
|
73161
73169
|
const trimDuration = track.end - track.start;
|
|
73162
73170
|
const volumeFilter = buildVolumeExpression(track, ignoreAutomation);
|
|
@@ -73168,11 +73176,23 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73168
73176
|
const mixFilter = `${mixInputs}amix=inputs=${tracks.length}:duration=longest:dropout_transition=0[mixed]`;
|
|
73169
73177
|
const compensatedGain = masterOutputGain * tracks.length;
|
|
73170
73178
|
const postMixGainFilter = `[mixed]volume=${formatFilterNumber(compensatedGain)}[out]`;
|
|
73171
|
-
|
|
73172
|
-
|
|
73179
|
+
return [...filterParts, mixFilter, postMixGainFilter].join(";");
|
|
73180
|
+
};
|
|
73181
|
+
const runMix = (ignoreAutomation) => {
|
|
73182
|
+
const inputs = [];
|
|
73183
|
+
tracks.forEach((track) => inputs.push("-i", track.srcPath));
|
|
73184
|
+
const scriptDir = mkdtempSync(join13(outputDir, ".filter-complex-"));
|
|
73185
|
+
const scriptPath = join13(scriptDir, "graph.txt");
|
|
73186
|
+
const fd = openSync(scriptPath, "wx", 384);
|
|
73187
|
+
try {
|
|
73188
|
+
writeFileSync6(fd, buildFilterComplex(ignoreAutomation));
|
|
73189
|
+
} finally {
|
|
73190
|
+
closeSync(fd);
|
|
73191
|
+
}
|
|
73192
|
+
const args = [
|
|
73173
73193
|
...inputs,
|
|
73174
|
-
"-
|
|
73175
|
-
|
|
73194
|
+
"-filter_complex_script",
|
|
73195
|
+
scriptPath,
|
|
73176
73196
|
"-map",
|
|
73177
73197
|
"[out]",
|
|
73178
73198
|
"-acodec",
|
|
@@ -73184,12 +73204,15 @@ async function mixAudioTracks(tracks, outputPath, totalDuration, signal, config)
|
|
|
73184
73204
|
"-y",
|
|
73185
73205
|
outputPath
|
|
73186
73206
|
];
|
|
73207
|
+
return runFfmpeg(args, { signal, timeout: ffmpegProcessTimeout }).finally(
|
|
73208
|
+
() => rmSync3(scriptDir, { recursive: true, force: true })
|
|
73209
|
+
);
|
|
73187
73210
|
};
|
|
73188
|
-
let result = await
|
|
73211
|
+
let result = await runMix(false);
|
|
73189
73212
|
let degradedAutomation = false;
|
|
73190
73213
|
const hasAutomation = tracks.some((track) => (track.volumeKeyframes?.length ?? 0) > 0);
|
|
73191
73214
|
if (!result.success && !signal?.aborted && hasAutomation) {
|
|
73192
|
-
const retry = await
|
|
73215
|
+
const retry = await runMix(true);
|
|
73193
73216
|
if (retry.success) {
|
|
73194
73217
|
result = retry;
|
|
73195
73218
|
degradedAutomation = true;
|
|
@@ -74396,16 +74419,16 @@ function getLinearToHlgLut() {
|
|
|
74396
74419
|
}
|
|
74397
74420
|
function hdrToLinear(buf, transfer) {
|
|
74398
74421
|
const lut = transfer === "pq" ? getPqToLinearLut() : getHlgToLinearLut();
|
|
74399
|
-
const
|
|
74400
|
-
for (let i2 = 0; i2 <
|
|
74422
|
+
const len2 = buf.length / 2;
|
|
74423
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
74401
74424
|
const off = i2 * 2;
|
|
74402
74425
|
buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
|
|
74403
74426
|
}
|
|
74404
74427
|
}
|
|
74405
74428
|
function linearToHdr(buf, transfer) {
|
|
74406
74429
|
const lut = transfer === "pq" ? getLinearToPqLut() : getLinearToHlgLut();
|
|
74407
|
-
const
|
|
74408
|
-
for (let i2 = 0; i2 <
|
|
74430
|
+
const len2 = buf.length / 2;
|
|
74431
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
74409
74432
|
const off = i2 * 2;
|
|
74410
74433
|
buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
|
|
74411
74434
|
}
|
|
@@ -74429,8 +74452,8 @@ function getPqToHlgLut() {
|
|
|
74429
74452
|
function convertTransfer(buf, from, to) {
|
|
74430
74453
|
if (from === to) return;
|
|
74431
74454
|
const lut = from === "hlg" ? getHlgToPqLut() : getPqToHlgLut();
|
|
74432
|
-
const
|
|
74433
|
-
for (let i2 = 0; i2 <
|
|
74455
|
+
const len2 = buf.length / 2;
|
|
74456
|
+
for (let i2 = 0; i2 < len2; i2++) {
|
|
74434
74457
|
const off = i2 * 2;
|
|
74435
74458
|
buf.writeUInt16LE(lut[buf.readUInt16LE(off)] ?? 0, off);
|
|
74436
74459
|
}
|
|
@@ -78242,7 +78265,7 @@ var init_banner = __esm({
|
|
|
78242
78265
|
});
|
|
78243
78266
|
|
|
78244
78267
|
// src/registry/remote.ts
|
|
78245
|
-
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as
|
|
78268
|
+
import { mkdirSync as mkdirSync10, readFileSync as readFileSync11, writeFileSync as writeFileSync7 } from "fs";
|
|
78246
78269
|
import { join as join17, dirname as dirname9 } from "path";
|
|
78247
78270
|
import { homedir as homedir4 } from "os";
|
|
78248
78271
|
function cachePath(baseUrl, key2) {
|
|
@@ -78263,7 +78286,7 @@ function writeCache(path2, data2) {
|
|
|
78263
78286
|
try {
|
|
78264
78287
|
mkdirSync10(dirname9(path2), { recursive: true });
|
|
78265
78288
|
const entry = { fetchedAt: Date.now(), data: data2 };
|
|
78266
|
-
|
|
78289
|
+
writeFileSync7(path2, JSON.stringify(entry), "utf-8");
|
|
78267
78290
|
} catch {
|
|
78268
78291
|
}
|
|
78269
78292
|
}
|
|
@@ -78309,7 +78332,7 @@ async function fetchItemFile(item, file, destPath, baseUrl = DEFAULT_REGISTRY_UR
|
|
|
78309
78332
|
}
|
|
78310
78333
|
const buf = new Uint8Array(await res.arrayBuffer());
|
|
78311
78334
|
mkdirSync10(dirname9(destPath), { recursive: true });
|
|
78312
|
-
|
|
78335
|
+
writeFileSync7(destPath, buf);
|
|
78313
78336
|
}
|
|
78314
78337
|
var DEFAULT_REGISTRY_URL, FETCH_TIMEOUT_MS, CACHE_DIR, CACHE_TTL_MS;
|
|
78315
78338
|
var init_remote = __esm({
|
|
@@ -78442,7 +78465,7 @@ __export(installer_exports, {
|
|
|
78442
78465
|
assertSafeTarget: () => assertSafeTarget,
|
|
78443
78466
|
installItem: () => installItem
|
|
78444
78467
|
});
|
|
78445
|
-
import { readFileSync as readFileSync12, writeFileSync as
|
|
78468
|
+
import { readFileSync as readFileSync12, writeFileSync as writeFileSync8 } from "fs";
|
|
78446
78469
|
import { resolve as resolve10, relative as relative4, isAbsolute as isAbsolute6 } from "path";
|
|
78447
78470
|
function assertSafeTarget(destDir, target) {
|
|
78448
78471
|
if (isAbsolute6(target)) {
|
|
@@ -78482,7 +78505,7 @@ async function installItem(item, options) {
|
|
|
78482
78505
|
await fetchItemFile(item, file, destPath, baseUrl);
|
|
78483
78506
|
if (isInstalledRegistryBlockComposition(item, file)) {
|
|
78484
78507
|
const source = readFileSync12(destPath, "utf-8");
|
|
78485
|
-
|
|
78508
|
+
writeFileSync8(destPath, addRegistryItemMarker(source, item), "utf-8");
|
|
78486
78509
|
}
|
|
78487
78510
|
return destPath;
|
|
78488
78511
|
})
|
|
@@ -79151,7 +79174,7 @@ __export(normalize_exports, {
|
|
|
79151
79174
|
stripBeforeOnset: () => stripBeforeOnset,
|
|
79152
79175
|
wordsToCues: () => wordsToCues
|
|
79153
79176
|
});
|
|
79154
|
-
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as
|
|
79177
|
+
import { readFileSync as readFileSync14, readdirSync as readdirSync8, writeFileSync as writeFileSync9 } from "fs";
|
|
79155
79178
|
import { extname as extname6, join as join20 } from "path";
|
|
79156
79179
|
function detectFormat(filePath) {
|
|
79157
79180
|
const ext = extname6(filePath).toLowerCase();
|
|
@@ -79446,7 +79469,7 @@ function patchCaptionHtml(dir, words) {
|
|
|
79446
79469
|
if (match) {
|
|
79447
79470
|
const varName = scriptMatch ? "script" : "TRANSCRIPT";
|
|
79448
79471
|
content = content.replace(match[0], `const ${varName} = ${wordsJson};`);
|
|
79449
|
-
|
|
79472
|
+
writeFileSync9(file, content, "utf-8");
|
|
79450
79473
|
}
|
|
79451
79474
|
}
|
|
79452
79475
|
}
|
|
@@ -79469,7 +79492,7 @@ __export(projectConfig_exports, {
|
|
|
79469
79492
|
readProjectConfig: () => readProjectConfig,
|
|
79470
79493
|
writeProjectConfig: () => writeProjectConfig
|
|
79471
79494
|
});
|
|
79472
|
-
import { readFileSync as readFileSync15, writeFileSync as
|
|
79495
|
+
import { readFileSync as readFileSync15, writeFileSync as writeFileSync10 } from "fs";
|
|
79473
79496
|
import { join as join21, resolve as resolve12 } from "path";
|
|
79474
79497
|
function projectConfigPath(projectDir) {
|
|
79475
79498
|
return join21(resolve12(projectDir), PROJECT_CONFIG_FILENAME);
|
|
@@ -79496,7 +79519,7 @@ function normalizeConfig(partial) {
|
|
|
79496
79519
|
}
|
|
79497
79520
|
function writeProjectConfig(projectDir, config = DEFAULT_PROJECT_CONFIG) {
|
|
79498
79521
|
const path2 = projectConfigPath(projectDir);
|
|
79499
|
-
|
|
79522
|
+
writeFileSync10(path2, JSON.stringify(config, null, 2) + "\n", "utf-8");
|
|
79500
79523
|
}
|
|
79501
79524
|
function loadProjectConfig(projectDir) {
|
|
79502
79525
|
return readProjectConfig(projectDir) ?? DEFAULT_PROJECT_CONFIG;
|
|
@@ -81103,8 +81126,8 @@ function formatRenderSummaryDetail(input2) {
|
|
|
81103
81126
|
return [middle, renderTime].filter(Boolean).join(" \xB7 ");
|
|
81104
81127
|
}
|
|
81105
81128
|
function label(name, value) {
|
|
81106
|
-
const
|
|
81107
|
-
return ` ${c.dim(name)}${" ".repeat(Math.max(1,
|
|
81129
|
+
const pad4 = 14 - name.length;
|
|
81130
|
+
return ` ${c.dim(name)}${" ".repeat(Math.max(1, pad4))}${c.bold(value)}`;
|
|
81108
81131
|
}
|
|
81109
81132
|
function errorBox(title, hint2, suggestion) {
|
|
81110
81133
|
console.error(`
|
|
@@ -81135,18 +81158,18 @@ function resolveProjectOrThrow(dirArg) {
|
|
|
81135
81158
|
}
|
|
81136
81159
|
const dir = resolve15(dirArg ?? ".");
|
|
81137
81160
|
const name = basename2(dir);
|
|
81138
|
-
const
|
|
81161
|
+
const indexPath2 = resolve15(dir, "index.html");
|
|
81139
81162
|
if (!existsSync26(dir) || !statSync7(dir).isDirectory()) {
|
|
81140
81163
|
throw new InvalidProjectError("Not a directory: " + dir);
|
|
81141
81164
|
}
|
|
81142
|
-
if (!existsSync26(
|
|
81165
|
+
if (!existsSync26(indexPath2)) {
|
|
81143
81166
|
throw new InvalidProjectError(
|
|
81144
81167
|
"No composition found in " + dir,
|
|
81145
81168
|
"No index.html file found.",
|
|
81146
81169
|
"Run npx hyperframes init to create a new composition."
|
|
81147
81170
|
);
|
|
81148
81171
|
}
|
|
81149
|
-
return { dir, name, indexPath };
|
|
81172
|
+
return { dir, name, indexPath: indexPath2 };
|
|
81150
81173
|
}
|
|
81151
81174
|
function resolveProject(dirArg) {
|
|
81152
81175
|
try {
|
|
@@ -86917,12 +86940,12 @@ var require_parser2 = __commonJS({
|
|
|
86917
86940
|
if (this.currToken[tokenize_1.FIELDS.TYPE] !== tokens.closeSquare) {
|
|
86918
86941
|
return this.expected("closing square bracket", this.currToken[tokenize_1.FIELDS.START_POS]);
|
|
86919
86942
|
}
|
|
86920
|
-
var
|
|
86943
|
+
var len2 = attr2.length;
|
|
86921
86944
|
var node = {
|
|
86922
86945
|
source: getSource(startingToken[1], startingToken[2], this.currToken[3], this.currToken[4]),
|
|
86923
86946
|
sourceIndex: startingToken[tokenize_1.FIELDS.START_POS]
|
|
86924
86947
|
};
|
|
86925
|
-
if (
|
|
86948
|
+
if (len2 === 1 && !~[tokens.word].indexOf(attr2[0][tokenize_1.FIELDS.TYPE])) {
|
|
86926
86949
|
return this.expected("attribute", attr2[0][tokenize_1.FIELDS.START_POS]);
|
|
86927
86950
|
}
|
|
86928
86951
|
var pos = 0;
|
|
@@ -86930,7 +86953,7 @@ var require_parser2 = __commonJS({
|
|
|
86930
86953
|
var commentBefore = "";
|
|
86931
86954
|
var lastAdded = null;
|
|
86932
86955
|
var spaceAfterMeaningfulToken = false;
|
|
86933
|
-
while (pos <
|
|
86956
|
+
while (pos < len2) {
|
|
86934
86957
|
var token = attr2[pos];
|
|
86935
86958
|
var content = this.content(token);
|
|
86936
86959
|
var next = attr2[pos + 1];
|
|
@@ -91168,10 +91191,10 @@ import {
|
|
|
91168
91191
|
} from "fs";
|
|
91169
91192
|
import { resolve as resolve22, dirname as dirname12, join as join62 } from "path";
|
|
91170
91193
|
import { spawn as spawn9 } from "child_process";
|
|
91171
|
-
import { existsSync as existsSync210, writeFileSync as
|
|
91194
|
+
import { existsSync as existsSync210, writeFileSync as writeFileSync11, mkdirSync as mkdirSync14 } from "fs";
|
|
91172
91195
|
import { join as join32, resolve as resolve19 } from "path";
|
|
91173
91196
|
import { spawnSync } from "child_process";
|
|
91174
|
-
import { mkdtempSync, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91197
|
+
import { mkdtempSync as mkdtempSync2, rmSync as rmSync6, writeFileSync as writeFileSync22 } from "fs";
|
|
91175
91198
|
import { tmpdir as tmpdir3 } from "os";
|
|
91176
91199
|
import { basename as basename3, join as join42 } from "path";
|
|
91177
91200
|
import { mkdirSync as mkdirSync22, readdirSync as readdirSync22, readFileSync as readFileSync22, unlinkSync as unlinkSync3, writeFileSync as writeFileSync32 } from "fs";
|
|
@@ -91196,7 +91219,7 @@ import { join as join112 } from "path";
|
|
|
91196
91219
|
import { createHash as createHash22 } from "crypto";
|
|
91197
91220
|
import { existsSync as existsSync82, readFileSync as readFileSync112, writeFileSync as writeFileSync72, mkdirSync as mkdirSync62 } from "fs";
|
|
91198
91221
|
import { join as join122 } from "path";
|
|
91199
|
-
import { closeSync, constants, fstatSync, openSync, readSync } from "fs";
|
|
91222
|
+
import { closeSync as closeSync2, constants, fstatSync, openSync as openSync2, readSync } from "fs";
|
|
91200
91223
|
function shouldIgnoreDir(rel) {
|
|
91201
91224
|
return rel === ".hyperframes/backup";
|
|
91202
91225
|
}
|
|
@@ -91383,7 +91406,7 @@ async function generateWaveformCache(projectDir, assetPath) {
|
|
|
91383
91406
|
if (existsSync210(cachePath2)) return;
|
|
91384
91407
|
const peaks = await decodeAudioPeaks(audioPath);
|
|
91385
91408
|
mkdirSync14(cacheDir, { recursive: true });
|
|
91386
|
-
|
|
91409
|
+
writeFileSync11(cachePath2, JSON.stringify(peaks));
|
|
91387
91410
|
}
|
|
91388
91411
|
function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
91389
91412
|
const isVideo2 = VIDEO_EXT.test(filePath);
|
|
@@ -91423,7 +91446,7 @@ function validateUploadedMedia(filePath, runner = spawnSync) {
|
|
|
91423
91446
|
}
|
|
91424
91447
|
}
|
|
91425
91448
|
function validateUploadedMediaBuffer(fileName, buffer, runner = spawnSync) {
|
|
91426
|
-
const tempDir =
|
|
91449
|
+
const tempDir = mkdtempSync2(join42(tmpdir3(), "hyperframes-upload-"));
|
|
91427
91450
|
const tempPath = join42(tempDir, basename3(fileName));
|
|
91428
91451
|
try {
|
|
91429
91452
|
writeFileSync22(tempPath, buffer);
|
|
@@ -93393,10 +93416,10 @@ function buildSubCompositionHtml(projectDir, compPath, runtimeUrl, baseHref) {
|
|
|
93393
93416
|
}
|
|
93394
93417
|
rewrittenContent = stripEmbeddedRuntimeScripts(rewrittenContent);
|
|
93395
93418
|
rewrittenContent = tagRootCompositionFile(rewrittenContent, compPath);
|
|
93396
|
-
const
|
|
93419
|
+
const indexPath2 = join72(projectDir, "index.html");
|
|
93397
93420
|
let headContent = "";
|
|
93398
|
-
if (existsSync42(
|
|
93399
|
-
const indexHtml = readFileSync42(
|
|
93421
|
+
if (existsSync42(indexPath2)) {
|
|
93422
|
+
const indexHtml = readFileSync42(indexPath2, "utf-8");
|
|
93400
93423
|
const headMatch = indexHtml.match(/<head[^>]*>([\s\S]*?)<\/head>/i);
|
|
93401
93424
|
headContent = headMatch?.[1] ?? "";
|
|
93402
93425
|
}
|
|
@@ -93852,9 +93875,9 @@ async function transformPreviewHtml(html, adapter2, project, activeCompositionPa
|
|
|
93852
93875
|
}
|
|
93853
93876
|
}
|
|
93854
93877
|
function resolveProjectMainHtml(projectDir, projectId) {
|
|
93855
|
-
const
|
|
93856
|
-
if (existsSync52(
|
|
93857
|
-
return { html: readFileSync72(
|
|
93878
|
+
const indexPath2 = join82(projectDir, "index.html");
|
|
93879
|
+
if (existsSync52(indexPath2)) {
|
|
93880
|
+
return { html: readFileSync72(indexPath2, "utf-8"), compositionPath: "index.html" };
|
|
93858
93881
|
}
|
|
93859
93882
|
const blockHtmlPath = join82(projectDir, `${projectId}.html`);
|
|
93860
93883
|
if (existsSync52(blockHtmlPath)) {
|
|
@@ -95015,7 +95038,7 @@ function registerFontRoutes(api) {
|
|
|
95015
95038
|
if (!located) return c3.json({ error: "font not found" }, 404);
|
|
95016
95039
|
let fd;
|
|
95017
95040
|
try {
|
|
95018
|
-
fd =
|
|
95041
|
+
fd = openSync2(located.path, constants.O_RDONLY | constants.O_NOFOLLOW);
|
|
95019
95042
|
} catch {
|
|
95020
95043
|
return c3.json({ error: "font file not accessible" }, 404);
|
|
95021
95044
|
}
|
|
@@ -95037,7 +95060,7 @@ function registerFontRoutes(api) {
|
|
|
95037
95060
|
} catch {
|
|
95038
95061
|
return c3.json({ error: "failed to read font file" }, 500);
|
|
95039
95062
|
} finally {
|
|
95040
|
-
|
|
95063
|
+
closeSync2(fd);
|
|
95041
95064
|
}
|
|
95042
95065
|
});
|
|
95043
95066
|
}
|
|
@@ -95188,16 +95211,16 @@ function getElementScreenshotClip(selector, selectorIndex) {
|
|
|
95188
95211
|
if (!(el instanceof HTMLElement)) return void 0;
|
|
95189
95212
|
const rect = el.getBoundingClientRect();
|
|
95190
95213
|
if (rect.width < 4 || rect.height < 4) return void 0;
|
|
95191
|
-
const
|
|
95192
|
-
const x3 = Math.max(0, rect.left -
|
|
95193
|
-
const y = Math.max(0, rect.top -
|
|
95214
|
+
const pad4 = 8;
|
|
95215
|
+
const x3 = Math.max(0, rect.left - pad4);
|
|
95216
|
+
const y = Math.max(0, rect.top - pad4);
|
|
95194
95217
|
const maxWidth = window.innerWidth - x3;
|
|
95195
95218
|
const maxHeight = window.innerHeight - y;
|
|
95196
95219
|
return {
|
|
95197
95220
|
x: x3,
|
|
95198
95221
|
y,
|
|
95199
|
-
width: Math.max(1, Math.min(rect.width +
|
|
95200
|
-
height: Math.max(1, Math.min(rect.height +
|
|
95222
|
+
width: Math.max(1, Math.min(rect.width + pad4 * 2, maxWidth)),
|
|
95223
|
+
height: Math.max(1, Math.min(rect.height + pad4 * 2, maxHeight))
|
|
95201
95224
|
};
|
|
95202
95225
|
}
|
|
95203
95226
|
var import_postcss_selector_parser, IGNORE_DIRS, COMPOSITION_ID_RE, MIME_TYPES2, SAMPLE_RATE, PEAK_COUNT, WAVEFORM_CACHE_VERSION, VIDEO_EXT, AUDIO_EXT, DEFAULT_KEEP_PER_FILE, DOM_PATCH_NULL_VALUE_PATH, HOLD_SYNC_MUTATION_TYPES, REGEXP_SPECIALS, NON_RENDERED_TAGS, SIGNATURE_TEXT_EXTENSIONS, SIGNATURE_EXCLUDED_DIRS, MAX_SIGNATURE_TEXT_BYTES, STUDIO_SIGNATURE_MANIFEST_PATHS, projectSignatureCache, STUDIO_MOTION_PATH, PROJECT_SIGNATURE_META, GSAP_CDN_VERSION, GSAP_CDN_SCRIPT, GSAP_CUSTOM_EASE_CDN_SCRIPT, GSAP_MOTION_PATH_CDN_SCRIPT, GSAP_CDN_FALLBACK_SCRIPT, VALID_RESOLUTIONS, STUDIO_MANUAL_EDITS_PATH, THUMBNAIL_CACHE_VERSION, MAX_FONT_RESULTS, GOOGLE_FONTS_METADATA_URL, GOOGLE_FONTS_FETCH_TIMEOUT_MS, cachedFonts, cachedGoogleFonts, GOOGLE_FONT_FALLBACKS;
|
|
@@ -95395,16 +95418,16 @@ function getElementScreenshotClip2(selector, selectorIndex) {
|
|
|
95395
95418
|
if (!(el instanceof HTMLElement)) return void 0;
|
|
95396
95419
|
const rect = el.getBoundingClientRect();
|
|
95397
95420
|
if (rect.width < 4 || rect.height < 4) return void 0;
|
|
95398
|
-
const
|
|
95399
|
-
const x3 = Math.max(0, rect.left -
|
|
95400
|
-
const y = Math.max(0, rect.top -
|
|
95421
|
+
const pad4 = 8;
|
|
95422
|
+
const x3 = Math.max(0, rect.left - pad4);
|
|
95423
|
+
const y = Math.max(0, rect.top - pad4);
|
|
95401
95424
|
const maxWidth = window.innerWidth - x3;
|
|
95402
95425
|
const maxHeight = window.innerHeight - y;
|
|
95403
95426
|
return {
|
|
95404
95427
|
x: x3,
|
|
95405
95428
|
y,
|
|
95406
|
-
width: Math.max(1, Math.min(rect.width +
|
|
95407
|
-
height: Math.max(1, Math.min(rect.height +
|
|
95429
|
+
width: Math.max(1, Math.min(rect.width + pad4 * 2, maxWidth)),
|
|
95430
|
+
height: Math.max(1, Math.min(rect.height + pad4 * 2, maxHeight))
|
|
95408
95431
|
};
|
|
95409
95432
|
}
|
|
95410
95433
|
var init_screenshotClip = __esm({
|
|
@@ -95470,7 +95493,7 @@ function reclaimStaleInstallLock(timeoutMs) {
|
|
|
95470
95493
|
}
|
|
95471
95494
|
}
|
|
95472
95495
|
async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs = INSTALL_LOCK_POLL_MS) {
|
|
95473
|
-
if (!existsSync31(
|
|
95496
|
+
if (!existsSync31(CACHE_ROOT_DIR)) mkdirSync15(CACHE_ROOT_DIR, { recursive: true });
|
|
95474
95497
|
let deadline = Date.now() + timeoutMs;
|
|
95475
95498
|
for (; ; ) {
|
|
95476
95499
|
if (existsSync31(INSTALL_RECLAIM_LOCK_DIR)) {
|
|
@@ -95494,6 +95517,9 @@ async function withInstallLock(fn, timeoutMs = INSTALL_LOCK_TIMEOUT_MS, pollMs =
|
|
|
95494
95517
|
rmSync7(INSTALL_LOCK_DIR, { recursive: true, force: true });
|
|
95495
95518
|
}
|
|
95496
95519
|
}
|
|
95520
|
+
function purgeStaleInstall(installPath) {
|
|
95521
|
+
rmSync7(installPath, { recursive: true, force: true });
|
|
95522
|
+
}
|
|
95497
95523
|
function whichBinary2(name) {
|
|
95498
95524
|
try {
|
|
95499
95525
|
const cmd = process.platform === "win32" ? `where ${name}` : `which ${name}`;
|
|
@@ -95538,7 +95564,7 @@ async function findFromCache() {
|
|
|
95538
95564
|
return { result: { executablePath: match.executablePath, source: "cache" } };
|
|
95539
95565
|
}
|
|
95540
95566
|
if (match) {
|
|
95541
|
-
return { staleHyperframesCachePath: match.executablePath };
|
|
95567
|
+
return { staleHyperframesCachePath: match.executablePath, staleInstallPath: match.path };
|
|
95542
95568
|
}
|
|
95543
95569
|
}
|
|
95544
95570
|
return {};
|
|
@@ -95563,8 +95589,8 @@ function compareVersionDirsDescending(a, b2) {
|
|
|
95563
95589
|
if (!pa && !pb) return 0;
|
|
95564
95590
|
if (!pa) return 1;
|
|
95565
95591
|
if (!pb) return -1;
|
|
95566
|
-
const
|
|
95567
|
-
for (let i2 = 0; i2 <
|
|
95592
|
+
const len2 = Math.max(pa.length, pb.length);
|
|
95593
|
+
for (let i2 = 0; i2 < len2; i2 += 1) {
|
|
95568
95594
|
const av = pa[i2] ?? 0;
|
|
95569
95595
|
const bv = pb[i2] ?? 0;
|
|
95570
95596
|
if (av !== bv) return bv - av;
|
|
@@ -95644,7 +95670,10 @@ async function findBrowser() {
|
|
|
95644
95670
|
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95645
95671
|
);
|
|
95646
95672
|
try {
|
|
95647
|
-
return await withInstallLock(() =>
|
|
95673
|
+
return await withInstallLock(async () => {
|
|
95674
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95675
|
+
return downloadBrowser();
|
|
95676
|
+
});
|
|
95648
95677
|
} catch (err) {
|
|
95649
95678
|
const cause = normalizeErrorMessage(err);
|
|
95650
95679
|
throw new Error(
|
|
@@ -95701,22 +95730,33 @@ Then re-run your command. The HYPERFRAMES_BROWSER_PATH env var persists for the
|
|
|
95701
95730
|
async function ensureBrowser(options) {
|
|
95702
95731
|
const fromEnv = findFromEnv2();
|
|
95703
95732
|
if (fromEnv) return fromEnv;
|
|
95704
|
-
|
|
95705
|
-
|
|
95706
|
-
|
|
95707
|
-
|
|
95708
|
-
|
|
95709
|
-
|
|
95710
|
-
|
|
95711
|
-
|
|
95712
|
-
|
|
95713
|
-
|
|
95714
|
-
|
|
95715
|
-
|
|
95733
|
+
if (!options?.force) {
|
|
95734
|
+
const fromCache = await findFromCache();
|
|
95735
|
+
if (fromCache.result) return fromCache.result;
|
|
95736
|
+
if (fromCache.staleHyperframesCachePath) {
|
|
95737
|
+
console.warn(
|
|
95738
|
+
`[browser] Cached binary missing at ${fromCache.staleHyperframesCachePath} \u2014 re-downloading...`
|
|
95739
|
+
);
|
|
95740
|
+
return withInstallLock(async () => {
|
|
95741
|
+
if (fromCache.staleInstallPath) purgeStaleInstall(fromCache.staleInstallPath);
|
|
95742
|
+
return downloadBrowser(options);
|
|
95743
|
+
});
|
|
95744
|
+
}
|
|
95745
|
+
const fromSystem = findFromSystem2();
|
|
95746
|
+
if (fromSystem) {
|
|
95747
|
+
warnSystemFallbackOnce(fromSystem.executablePath);
|
|
95748
|
+
return fromSystem;
|
|
95749
|
+
}
|
|
95716
95750
|
}
|
|
95717
95751
|
return withInstallLock(async () => {
|
|
95718
|
-
|
|
95719
|
-
|
|
95752
|
+
if (options?.force) {
|
|
95753
|
+
clearBrowser();
|
|
95754
|
+
}
|
|
95755
|
+
if (!options?.force) {
|
|
95756
|
+
const afterLock = await findFromCache();
|
|
95757
|
+
if (afterLock.result) return afterLock.result;
|
|
95758
|
+
if (afterLock.staleInstallPath) purgeStaleInstall(afterLock.staleInstallPath);
|
|
95759
|
+
}
|
|
95720
95760
|
return downloadBrowser(options);
|
|
95721
95761
|
});
|
|
95722
95762
|
}
|
|
@@ -95748,16 +95788,17 @@ function clearBrowser() {
|
|
|
95748
95788
|
function isLinuxArm() {
|
|
95749
95789
|
return process.platform === "linux" && process.arch === "arm64";
|
|
95750
95790
|
}
|
|
95751
|
-
var CHROME_VERSION, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
|
|
95791
|
+
var CHROME_VERSION, CACHE_ROOT_DIR, CACHE_DIR2, PUPPETEER_CACHE_DIR, INSTALL_LOCK_DIR, INSTALL_RECLAIM_LOCK_DIR, INSTALL_LOCK_TIMEOUT_MS, INSTALL_LOCK_POLL_MS, SYSTEM_CHROME_PATHS, _warnedSystemFallback;
|
|
95752
95792
|
var init_manager2 = __esm({
|
|
95753
95793
|
"src/browser/manager.ts"() {
|
|
95754
95794
|
"use strict";
|
|
95755
95795
|
init_errorMessage();
|
|
95756
95796
|
CHROME_VERSION = "131.0.6778.85";
|
|
95797
|
+
CACHE_ROOT_DIR = join28(homedir9(), ".cache", "hyperframes");
|
|
95757
95798
|
CACHE_DIR2 = join28(homedir9(), ".cache", "hyperframes", "chrome");
|
|
95758
95799
|
PUPPETEER_CACHE_DIR = join28(homedir9(), ".cache", "puppeteer", "chrome-headless-shell");
|
|
95759
|
-
INSTALL_LOCK_DIR = join28(
|
|
95760
|
-
INSTALL_RECLAIM_LOCK_DIR = join28(
|
|
95800
|
+
INSTALL_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.lock");
|
|
95801
|
+
INSTALL_RECLAIM_LOCK_DIR = join28(CACHE_ROOT_DIR, ".chrome.install.reclaim.lock");
|
|
95761
95802
|
INSTALL_LOCK_TIMEOUT_MS = 12e4;
|
|
95762
95803
|
INSTALL_LOCK_POLL_MS = 200;
|
|
95763
95804
|
SYSTEM_CHROME_PATHS = process.platform === "darwin" ? ["/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"] : [
|
|
@@ -96141,16 +96182,16 @@ var require_compress_binding = __commonJS({
|
|
|
96141
96182
|
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
96142
96183
|
}
|
|
96143
96184
|
function lengthBytesUTF8(str) {
|
|
96144
|
-
var
|
|
96185
|
+
var len2 = 0;
|
|
96145
96186
|
for (var i2 = 0; i2 < str.length; ++i2) {
|
|
96146
96187
|
var u = str.charCodeAt(i2);
|
|
96147
96188
|
if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i2) & 1023;
|
|
96148
|
-
if (u <= 127) ++
|
|
96149
|
-
else if (u <= 2047)
|
|
96150
|
-
else if (u <= 65535)
|
|
96151
|
-
else
|
|
96189
|
+
if (u <= 127) ++len2;
|
|
96190
|
+
else if (u <= 2047) len2 += 2;
|
|
96191
|
+
else if (u <= 65535) len2 += 3;
|
|
96192
|
+
else len2 += 4;
|
|
96152
96193
|
}
|
|
96153
|
-
return
|
|
96194
|
+
return len2;
|
|
96154
96195
|
}
|
|
96155
96196
|
var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
|
|
96156
96197
|
function UTF16ToString(ptr, maxBytesToRead) {
|
|
@@ -96227,13 +96268,13 @@ var require_compress_binding = __commonJS({
|
|
|
96227
96268
|
return outPtr - startPtr;
|
|
96228
96269
|
}
|
|
96229
96270
|
function lengthBytesUTF32(str) {
|
|
96230
|
-
var
|
|
96271
|
+
var len2 = 0;
|
|
96231
96272
|
for (var i2 = 0; i2 < str.length; ++i2) {
|
|
96232
96273
|
var codeUnit = str.charCodeAt(i2);
|
|
96233
96274
|
if (codeUnit >= 55296 && codeUnit <= 57343) ++i2;
|
|
96234
|
-
|
|
96275
|
+
len2 += 4;
|
|
96235
96276
|
}
|
|
96236
|
-
return
|
|
96277
|
+
return len2;
|
|
96237
96278
|
}
|
|
96238
96279
|
function alignUp(x3, multiple) {
|
|
96239
96280
|
if (x3 % multiple > 0) {
|
|
@@ -97701,16 +97742,16 @@ var require_decompress_binding = __commonJS({
|
|
|
97701
97742
|
return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
97702
97743
|
}
|
|
97703
97744
|
function lengthBytesUTF8(str) {
|
|
97704
|
-
var
|
|
97745
|
+
var len2 = 0;
|
|
97705
97746
|
for (var i2 = 0; i2 < str.length; ++i2) {
|
|
97706
97747
|
var u = str.charCodeAt(i2);
|
|
97707
97748
|
if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i2) & 1023;
|
|
97708
|
-
if (u <= 127) ++
|
|
97709
|
-
else if (u <= 2047)
|
|
97710
|
-
else if (u <= 65535)
|
|
97711
|
-
else
|
|
97749
|
+
if (u <= 127) ++len2;
|
|
97750
|
+
else if (u <= 2047) len2 += 2;
|
|
97751
|
+
else if (u <= 65535) len2 += 3;
|
|
97752
|
+
else len2 += 4;
|
|
97712
97753
|
}
|
|
97713
|
-
return
|
|
97754
|
+
return len2;
|
|
97714
97755
|
}
|
|
97715
97756
|
var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : void 0;
|
|
97716
97757
|
function UTF16ToString(ptr, maxBytesToRead) {
|
|
@@ -97787,13 +97828,13 @@ var require_decompress_binding = __commonJS({
|
|
|
97787
97828
|
return outPtr - startPtr;
|
|
97788
97829
|
}
|
|
97789
97830
|
function lengthBytesUTF32(str) {
|
|
97790
|
-
var
|
|
97831
|
+
var len2 = 0;
|
|
97791
97832
|
for (var i2 = 0; i2 < str.length; ++i2) {
|
|
97792
97833
|
var codeUnit = str.charCodeAt(i2);
|
|
97793
97834
|
if (codeUnit >= 55296 && codeUnit <= 57343) ++i2;
|
|
97794
|
-
|
|
97835
|
+
len2 += 4;
|
|
97795
97836
|
}
|
|
97796
|
-
return
|
|
97837
|
+
return len2;
|
|
97797
97838
|
}
|
|
97798
97839
|
function alignUp(x3, multiple) {
|
|
97799
97840
|
if (x3 % multiple > 0) {
|
|
@@ -99040,7 +99081,7 @@ __export(deterministicFonts_exports, {
|
|
|
99040
99081
|
resolveFontFamilyDeclarationFamilies: () => resolveFontFamilyDeclarationFamilies
|
|
99041
99082
|
});
|
|
99042
99083
|
import { createHash as createHash6 } from "crypto";
|
|
99043
|
-
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as
|
|
99084
|
+
import { existsSync as existsSync33, mkdirSync as mkdirSync16, readFileSync as readFileSync20, writeFileSync as writeFileSync12 } from "fs";
|
|
99044
99085
|
import { homedir as homedir10, tmpdir as tmpdir4 } from "os";
|
|
99045
99086
|
import { join as join29 } from "path";
|
|
99046
99087
|
import postcss4 from "postcss";
|
|
@@ -99396,7 +99437,7 @@ async function ensureWoff2DataUri(cachePath2, woff2Url, familyName, weight, styl
|
|
|
99396
99437
|
}
|
|
99397
99438
|
return null;
|
|
99398
99439
|
}
|
|
99399
|
-
|
|
99440
|
+
writeFileSync12(cachePath2, Buffer.from(await fontRes.arrayBuffer()), { flag: "wx", mode: 420 });
|
|
99400
99441
|
} catch (err) {
|
|
99401
99442
|
if (err instanceof FontFetchError) throw err;
|
|
99402
99443
|
if (err.code === "EEXIST") {
|
|
@@ -100698,11 +100739,11 @@ var init_paths = __esm({
|
|
|
100698
100739
|
});
|
|
100699
100740
|
|
|
100700
100741
|
// ../producer/src/services/render/shared.ts
|
|
100701
|
-
import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as
|
|
100742
|
+
import { copyFileSync as copyFileSync4, cpSync as cpSync2, existsSync as existsSync37, mkdirSync as mkdirSync18, symlinkSync as symlinkSync2, writeFileSync as writeFileSync13 } from "fs";
|
|
100702
100743
|
import { basename as basename6, dirname as dirname15, isAbsolute as isAbsolute11, join as join34, relative as relative8, resolve as resolve24 } from "path";
|
|
100703
100744
|
function writeFileExclusiveSync(path2, data2) {
|
|
100704
100745
|
try {
|
|
100705
|
-
|
|
100746
|
+
writeFileSync13(path2, data2, { flag: "wx", mode: 384 });
|
|
100706
100747
|
} catch (error) {
|
|
100707
100748
|
if (error && typeof error === "object" && "code" in error && error.code === "EEXIST") {
|
|
100708
100749
|
return;
|
|
@@ -100729,11 +100770,11 @@ function resolveDeviceScaleFactor(input2) {
|
|
|
100729
100770
|
function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
100730
100771
|
const compileDir = join34(workDir, "compiled");
|
|
100731
100772
|
mkdirSync18(compileDir, { recursive: true });
|
|
100732
|
-
|
|
100773
|
+
writeFileSync13(join34(compileDir, "index.html"), compiled.html, "utf-8");
|
|
100733
100774
|
for (const [srcPath, html] of compiled.subCompositions) {
|
|
100734
100775
|
const outPath = join34(compileDir, srcPath);
|
|
100735
100776
|
mkdirSync18(dirname15(outPath), { recursive: true });
|
|
100736
|
-
|
|
100777
|
+
writeFileSync13(outPath, html, "utf-8");
|
|
100737
100778
|
}
|
|
100738
100779
|
for (const [relativePath, absolutePath] of compiled.externalAssets) {
|
|
100739
100780
|
const outPath = resolve24(join34(compileDir, relativePath));
|
|
@@ -100767,7 +100808,7 @@ function writeCompiledArtifacts(compiled, workDir, includeSummary) {
|
|
|
100767
100808
|
renderModeHints: compiled.renderModeHints,
|
|
100768
100809
|
hasShaderTransitions: compiled.hasShaderTransitions
|
|
100769
100810
|
};
|
|
100770
|
-
|
|
100811
|
+
writeFileSync13(join34(compileDir, "summary.json"), JSON.stringify(summary, null, 2), "utf-8");
|
|
100771
100812
|
}
|
|
100772
100813
|
}
|
|
100773
100814
|
function applyRenderModeHints(alreadyForced, compiled, log2 = defaultLogger) {
|
|
@@ -104086,7 +104127,7 @@ var init_captureStage = __esm({
|
|
|
104086
104127
|
});
|
|
104087
104128
|
|
|
104088
104129
|
// ../producer/src/services/hdrCompositor.ts
|
|
104089
|
-
import { readSync as readSync2, closeSync as
|
|
104130
|
+
import { readSync as readSync2, closeSync as closeSync3 } from "fs";
|
|
104090
104131
|
import { join as join41 } from "path";
|
|
104091
104132
|
function countNonZeroAlpha(rgba) {
|
|
104092
104133
|
let n2 = 0;
|
|
@@ -104123,7 +104164,7 @@ function cropRgb48le(src, srcW, srcH, cropX, cropY, cropW, cropH) {
|
|
|
104123
104164
|
}
|
|
104124
104165
|
function closeHdrVideoFrameSource(source, log2) {
|
|
104125
104166
|
try {
|
|
104126
|
-
|
|
104167
|
+
closeSync3(source.fd);
|
|
104127
104168
|
} catch (err) {
|
|
104128
104169
|
log2?.warn("Failed to close HDR raw frame file", {
|
|
104129
104170
|
rawPath: source.rawPath,
|
|
@@ -105004,12 +105045,12 @@ var init_hdrImageTransferCache = __esm({
|
|
|
105004
105045
|
|
|
105005
105046
|
// ../producer/src/services/render/stages/captureHdrResources.ts
|
|
105006
105047
|
import {
|
|
105007
|
-
closeSync as
|
|
105048
|
+
closeSync as closeSync4,
|
|
105008
105049
|
constants as constants2,
|
|
105009
105050
|
fstatSync as fstatSync2,
|
|
105010
105051
|
mkdirSync as mkdirSync20,
|
|
105011
|
-
mkdtempSync as
|
|
105012
|
-
openSync as
|
|
105052
|
+
mkdtempSync as mkdtempSync3,
|
|
105053
|
+
openSync as openSync3,
|
|
105013
105054
|
readFileSync as readFileSync25
|
|
105014
105055
|
} from "fs";
|
|
105015
105056
|
import { join as join43 } from "path";
|
|
@@ -105100,7 +105141,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105100
105141
|
const video = composition.videos.find((v2) => v2.id === videoId);
|
|
105101
105142
|
if (!video) continue;
|
|
105102
105143
|
mkdirSync20(framesDir, { recursive: true });
|
|
105103
|
-
const frameDir =
|
|
105144
|
+
const frameDir = mkdtempSync3(join43(framesDir, `hdr_${tempDirSafePrefix(videoId)}-`));
|
|
105104
105145
|
const duration = video.end - video.start;
|
|
105105
105146
|
const dims = prep.hdrExtractionDims.get(videoId) ?? { width, height };
|
|
105106
105147
|
const rawPath = join43(frameDir, "frames.rgb48le");
|
|
@@ -105135,7 +105176,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105135
105176
|
);
|
|
105136
105177
|
}
|
|
105137
105178
|
const frameSize = dims.width * dims.height * 6;
|
|
105138
|
-
const fd =
|
|
105179
|
+
const fd = openSync3(rawPath, constants2.O_RDONLY | NO_FOLLOW_FLAG);
|
|
105139
105180
|
let handedOff = false;
|
|
105140
105181
|
try {
|
|
105141
105182
|
const frameCount = Math.floor(fstatSync2(fd).size / frameSize);
|
|
@@ -105157,7 +105198,7 @@ async function extractHdrVideoFrames(args) {
|
|
|
105157
105198
|
});
|
|
105158
105199
|
handedOff = true;
|
|
105159
105200
|
} finally {
|
|
105160
|
-
if (!handedOff)
|
|
105201
|
+
if (!handedOff) closeSync4(fd);
|
|
105161
105202
|
}
|
|
105162
105203
|
}
|
|
105163
105204
|
return out;
|
|
@@ -106424,12 +106465,12 @@ var init_assembleStage = __esm({
|
|
|
106424
106465
|
import {
|
|
106425
106466
|
existsSync as existsSync44,
|
|
106426
106467
|
mkdirSync as mkdirSync24,
|
|
106427
|
-
mkdtempSync as
|
|
106468
|
+
mkdtempSync as mkdtempSync4,
|
|
106428
106469
|
readFileSync as readFileSync26,
|
|
106429
106470
|
readdirSync as readdirSync15,
|
|
106430
106471
|
rmSync as rmSync12,
|
|
106431
106472
|
statSync as statSync13,
|
|
106432
|
-
writeFileSync as
|
|
106473
|
+
writeFileSync as writeFileSync14,
|
|
106433
106474
|
copyFileSync as copyFileSync6,
|
|
106434
106475
|
appendFileSync
|
|
106435
106476
|
} from "fs";
|
|
@@ -106807,7 +106848,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106807
106848
|
const debugDir = join50(producerRoot, ".debug");
|
|
106808
106849
|
const outputDir = dirname19(outputPath);
|
|
106809
106850
|
if (!existsSync44(outputDir)) mkdirSync24(outputDir, { recursive: true });
|
|
106810
|
-
const workDir = job.config.debug ? join50(debugDir, job.id) :
|
|
106851
|
+
const workDir = job.config.debug ? join50(debugDir, job.id) : mkdtempSync4(join50(outputDir, `work-${job.id}-`));
|
|
106811
106852
|
const pipelineStart = Date.now();
|
|
106812
106853
|
const log2 = job.config.logger ?? defaultLogger;
|
|
106813
106854
|
let fileServer = null;
|
|
@@ -106922,7 +106963,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
106922
106963
|
`Entry file "${entryFile}" is not mounted from index.html via data-composition-src, so it cannot be rendered independently.`
|
|
106923
106964
|
);
|
|
106924
106965
|
}
|
|
106925
|
-
|
|
106966
|
+
writeFileSync14(wrapperPath, standaloneHtml, "utf-8");
|
|
106926
106967
|
htmlPath = wrapperPath;
|
|
106927
106968
|
log2.info("Extracted standalone entry from index.html host context", {
|
|
106928
106969
|
entryFile
|
|
@@ -107552,7 +107593,7 @@ async function executeRenderJob(job, projectDir, outputPath, onProgress, abortSi
|
|
|
107552
107593
|
job.perfSummary = perfSummary;
|
|
107553
107594
|
if (job.config.debug) {
|
|
107554
107595
|
try {
|
|
107555
|
-
|
|
107596
|
+
writeFileSync14(perfOutputPath, JSON.stringify(perfSummary, null, 2), "utf-8");
|
|
107556
107597
|
} catch (err) {
|
|
107557
107598
|
log2.debug("Failed to write perf summary", {
|
|
107558
107599
|
perfOutputPath,
|
|
@@ -107956,8 +107997,8 @@ import {
|
|
|
107956
107997
|
existsSync as existsSync47,
|
|
107957
107998
|
mkdirSync as mkdirSync25,
|
|
107958
107999
|
statSync as statSync15,
|
|
107959
|
-
mkdtempSync as
|
|
107960
|
-
writeFileSync as
|
|
108000
|
+
mkdtempSync as mkdtempSync5,
|
|
108001
|
+
writeFileSync as writeFileSync15,
|
|
107961
108002
|
rmSync as rmSync13,
|
|
107962
108003
|
createReadStream as createReadStream2
|
|
107963
108004
|
} from "fs";
|
|
@@ -108081,8 +108122,8 @@ async function prepareRenderBody(body) {
|
|
|
108081
108122
|
}
|
|
108082
108123
|
}
|
|
108083
108124
|
const tempRoot = process.env.PRODUCER_TMP_PROJECT_DIR || tmpdir5();
|
|
108084
|
-
const tempProjectDir =
|
|
108085
|
-
|
|
108125
|
+
const tempProjectDir = mkdtempSync5(join54(tempRoot, "producer-project-"));
|
|
108126
|
+
writeFileSync15(join54(tempProjectDir, "index.html"), htmlContent, "utf-8");
|
|
108086
108127
|
return {
|
|
108087
108128
|
prepared: {
|
|
108088
108129
|
input: {
|
|
@@ -108562,7 +108603,7 @@ var init_planHash = __esm({
|
|
|
108562
108603
|
});
|
|
108563
108604
|
|
|
108564
108605
|
// ../producer/src/services/render/stages/freezePlan.ts
|
|
108565
|
-
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as
|
|
108606
|
+
import { existsSync as existsSync48, mkdirSync as mkdirSync26, readFileSync as readFileSync28, readdirSync as readdirSync16, writeFileSync as writeFileSync16 } from "fs";
|
|
108566
108607
|
import { join as join55, relative as relative9, resolve as resolve29 } from "path";
|
|
108567
108608
|
function stripUndefined(value) {
|
|
108568
108609
|
if (Array.isArray(value)) return value.map(stripUndefined);
|
|
@@ -108659,7 +108700,7 @@ async function freezePlan(input2) {
|
|
|
108659
108700
|
}
|
|
108660
108701
|
const metaDir = join55(planDir, "meta");
|
|
108661
108702
|
if (!existsSync48(metaDir)) mkdirSync26(metaDir, { recursive: true });
|
|
108662
|
-
|
|
108703
|
+
writeFileSync16(
|
|
108663
108704
|
join55(metaDir, "composition.json"),
|
|
108664
108705
|
`${JSON.stringify(composition, null, 2)}
|
|
108665
108706
|
`,
|
|
@@ -108667,8 +108708,8 @@ async function freezePlan(input2) {
|
|
|
108667
108708
|
);
|
|
108668
108709
|
const encoderForCanonical = stripUndefined(encoder);
|
|
108669
108710
|
const encoderConfigCanonicalJson = canonicalJsonStringify(encoderForCanonical);
|
|
108670
|
-
|
|
108671
|
-
|
|
108711
|
+
writeFileSync16(join55(metaDir, "encoder.json"), encoderConfigCanonicalJson, "utf-8");
|
|
108712
|
+
writeFileSync16(join55(metaDir, "chunks.json"), `${JSON.stringify(chunks, null, 2)}
|
|
108672
108713
|
`, "utf-8");
|
|
108673
108714
|
const { compositionHtml, assets } = collectPlanAssetShas(planDir);
|
|
108674
108715
|
const planHash = computePlanHash({
|
|
@@ -108692,7 +108733,7 @@ async function freezePlan(input2) {
|
|
|
108692
108733
|
hasAudio
|
|
108693
108734
|
};
|
|
108694
108735
|
const planJsonPath = join55(planDir, "plan.json");
|
|
108695
|
-
|
|
108736
|
+
writeFileSync16(planJsonPath, `${JSON.stringify(planJson, null, 2)}
|
|
108696
108737
|
`, "utf-8");
|
|
108697
108738
|
return { planJsonPath, planHash };
|
|
108698
108739
|
}
|
|
@@ -108893,7 +108934,7 @@ import {
|
|
|
108893
108934
|
renameSync as renameSync6,
|
|
108894
108935
|
rmSync as rmSync14,
|
|
108895
108936
|
statSync as statSync16,
|
|
108896
|
-
writeFileSync as
|
|
108937
|
+
writeFileSync as writeFileSync17
|
|
108897
108938
|
} from "fs";
|
|
108898
108939
|
import { join as join57, relative as relative10, sep as sep6 } from "path";
|
|
108899
108940
|
function formatBytes2(bytes) {
|
|
@@ -109213,7 +109254,7 @@ async function plan(projectDir, config, planDir) {
|
|
|
109213
109254
|
}))
|
|
109214
109255
|
};
|
|
109215
109256
|
mkdirSync27(join57(planDir, "meta"), { recursive: true });
|
|
109216
|
-
|
|
109257
|
+
writeFileSync17(
|
|
109217
109258
|
join57(planDir, PLAN_VIDEOS_META_RELATIVE_PATH),
|
|
109218
109259
|
JSON.stringify(planVideosJson, null, 2),
|
|
109219
109260
|
"utf-8"
|
|
@@ -109362,7 +109403,7 @@ var init_plan = __esm({
|
|
|
109362
109403
|
|
|
109363
109404
|
// ../producer/src/services/distributed/renderChunk.ts
|
|
109364
109405
|
import { randomBytes as randomBytes2 } from "crypto";
|
|
109365
|
-
import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as
|
|
109406
|
+
import { existsSync as existsSync51, mkdirSync as mkdirSync28, readFileSync as readFileSync30, readdirSync as readdirSync18, rmSync as rmSync15, writeFileSync as writeFileSync18 } from "fs";
|
|
109366
109407
|
import { extname as extname10, join as join58 } from "path";
|
|
109367
109408
|
function rebuildExtractedFramesFromPlanDir(planDir, videos) {
|
|
109368
109409
|
const result = [];
|
|
@@ -109686,7 +109727,7 @@ async function renderChunk(planDir, chunkIndex, outputChunkPath) {
|
|
|
109686
109727
|
producerVersion: plan2.producerVersion,
|
|
109687
109728
|
ffmpegVersion
|
|
109688
109729
|
};
|
|
109689
|
-
|
|
109730
|
+
writeFileSync18(perfPath, `${JSON.stringify(perfPayload2, null, 2)}
|
|
109690
109731
|
`, "utf-8");
|
|
109691
109732
|
try {
|
|
109692
109733
|
rmSync15(workDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
|
|
@@ -110056,7 +110097,7 @@ import {
|
|
|
110056
110097
|
readdirSync as readdirSync19,
|
|
110057
110098
|
rmSync as rmSync17,
|
|
110058
110099
|
statSync as statSync17,
|
|
110059
|
-
writeFileSync as
|
|
110100
|
+
writeFileSync as writeFileSync19
|
|
110060
110101
|
} from "fs";
|
|
110061
110102
|
import { dirname as dirname23, join as join59 } from "path";
|
|
110062
110103
|
async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
@@ -110110,7 +110151,7 @@ async function assemble(planDir, chunkPaths, audioPath, outputPath, options) {
|
|
|
110110
110151
|
} else {
|
|
110111
110152
|
const concatListPath = join59(workDir, "concat-list.txt");
|
|
110112
110153
|
const concatBody = chunkPaths.map((path2) => `file '${path2.replace(/'/g, "'\\''")}'`).join("\n");
|
|
110113
|
-
|
|
110154
|
+
writeFileSync19(concatListPath, `${concatBody}
|
|
110114
110155
|
`, "utf-8");
|
|
110115
110156
|
const concatArgs = [
|
|
110116
110157
|
"-r",
|
|
@@ -110391,7 +110432,7 @@ __export(studioServer_exports, {
|
|
|
110391
110432
|
});
|
|
110392
110433
|
import { Hono as Hono5 } from "hono";
|
|
110393
110434
|
import { streamSSE as streamSSE3 } from "hono/streaming";
|
|
110394
|
-
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as
|
|
110435
|
+
import { existsSync as existsSync54, readFileSync as readFileSync34, writeFileSync as writeFileSync20, statSync as statSync18 } from "fs";
|
|
110395
110436
|
import { resolve as resolve30, join as join61, basename as basename8 } from "path";
|
|
110396
110437
|
function resolveDistDir() {
|
|
110397
110438
|
return resolveStudioBundle().dir;
|
|
@@ -110543,9 +110584,9 @@ async function loadPreviewServerBuildSignature() {
|
|
|
110543
110584
|
]);
|
|
110544
110585
|
}
|
|
110545
110586
|
function rewriteWrittenToHostViewport(projectDir, written) {
|
|
110546
|
-
const
|
|
110547
|
-
if (!existsSync54(
|
|
110548
|
-
const indexHtml = readFileSync34(
|
|
110587
|
+
const indexPath2 = join61(projectDir, "index.html");
|
|
110588
|
+
if (!existsSync54(indexPath2)) return;
|
|
110589
|
+
const indexHtml = readFileSync34(indexPath2, "utf-8");
|
|
110549
110590
|
const hostW = indexHtml.match(/data-width="(\d+)"/)?.[1];
|
|
110550
110591
|
const hostH = indexHtml.match(/data-height="(\d+)"/)?.[1];
|
|
110551
110592
|
if (!hostW || !hostH) return;
|
|
@@ -110565,7 +110606,7 @@ function rewriteWrittenToHostViewport(projectDir, written) {
|
|
|
110565
110606
|
return match;
|
|
110566
110607
|
}
|
|
110567
110608
|
);
|
|
110568
|
-
|
|
110609
|
+
writeFileSync20(absPath, content, "utf-8");
|
|
110569
110610
|
}
|
|
110570
110611
|
}
|
|
110571
110612
|
function createStudioServer(options) {
|
|
@@ -110664,7 +110705,7 @@ function createStudioServer(options) {
|
|
|
110664
110705
|
state.status = "complete";
|
|
110665
110706
|
state.progress = 100;
|
|
110666
110707
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110667
|
-
|
|
110708
|
+
writeFileSync20(
|
|
110668
110709
|
metaPath,
|
|
110669
110710
|
JSON.stringify({ status: "complete", durationMs: Date.now() - startTime })
|
|
110670
110711
|
);
|
|
@@ -110675,7 +110716,7 @@ function createStudioServer(options) {
|
|
|
110675
110716
|
emitStudioRenderError(opts, Date.now() - startTime, state.stage, err, renderJob);
|
|
110676
110717
|
try {
|
|
110677
110718
|
const metaPath = opts.outputPath.replace(/\.(mp4|webm|mov)$/, ".meta.json");
|
|
110678
|
-
|
|
110719
|
+
writeFileSync20(metaPath, JSON.stringify({ status: "failed" }));
|
|
110679
110720
|
} catch {
|
|
110680
110721
|
}
|
|
110681
110722
|
}
|
|
@@ -110867,8 +110908,8 @@ function createStudioServer(options) {
|
|
|
110867
110908
|
return `<script>window.__HF_STUDIO_ENV__=${JSON.stringify(overrides)};</script>`;
|
|
110868
110909
|
}
|
|
110869
110910
|
app.get("*", (c3) => {
|
|
110870
|
-
const
|
|
110871
|
-
if (!existsSync54(
|
|
110911
|
+
const indexPath2 = resolve30(studioDir, "index.html");
|
|
110912
|
+
if (!existsSync54(indexPath2)) {
|
|
110872
110913
|
return c3.html(
|
|
110873
110914
|
`<!doctype html>
|
|
110874
110915
|
<html>
|
|
@@ -110924,7 +110965,7 @@ function createStudioServer(options) {
|
|
|
110924
110965
|
500
|
|
110925
110966
|
);
|
|
110926
110967
|
}
|
|
110927
|
-
let html = readFileSync34(
|
|
110968
|
+
let html = readFileSync34(indexPath2, "utf-8");
|
|
110928
110969
|
const headScript = buildStudioHeadScripts(buildRuntimeEnvScript());
|
|
110929
110970
|
if (headScript) {
|
|
110930
110971
|
html = html.replace("<head>", `<head>${headScript}`);
|
|
@@ -111716,7 +111757,7 @@ import {
|
|
|
111716
111757
|
mkdirSync as mkdirSync31,
|
|
111717
111758
|
copyFileSync as copyFileSync7,
|
|
111718
111759
|
cpSync as cpSync5,
|
|
111719
|
-
writeFileSync as
|
|
111760
|
+
writeFileSync as writeFileSync21,
|
|
111720
111761
|
readFileSync as readFileSync35,
|
|
111721
111762
|
readdirSync as readdirSync21
|
|
111722
111763
|
} from "fs";
|
|
@@ -111833,7 +111874,7 @@ function buildPackageScripts() {
|
|
|
111833
111874
|
function writeDefaultPackageJson(destDir, projectName) {
|
|
111834
111875
|
const packageJsonPath = resolve33(destDir, "package.json");
|
|
111835
111876
|
if (existsSync56(packageJsonPath)) return;
|
|
111836
|
-
|
|
111877
|
+
writeFileSync21(
|
|
111837
111878
|
packageJsonPath,
|
|
111838
111879
|
`${JSON.stringify(
|
|
111839
111880
|
{
|
|
@@ -111895,7 +111936,7 @@ ${html}`;
|
|
|
111895
111936
|
function writeTailwindSupport(destDir) {
|
|
111896
111937
|
for (const file of listHtmlFiles(destDir)) {
|
|
111897
111938
|
const html = readFileSync35(file, "utf-8");
|
|
111898
|
-
|
|
111939
|
+
writeFileSync21(file, injectTailwindBrowserScript(html), "utf-8");
|
|
111899
111940
|
}
|
|
111900
111941
|
}
|
|
111901
111942
|
function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
@@ -111912,7 +111953,7 @@ function patchVideoSrc(dir, videoFilename, durationSeconds) {
|
|
|
111912
111953
|
}
|
|
111913
111954
|
const dur = durationSeconds ? String(Math.round(durationSeconds * 100) / 100) : "10";
|
|
111914
111955
|
content = content.replaceAll("__VIDEO_DURATION__", dur);
|
|
111915
|
-
|
|
111956
|
+
writeFileSync21(file, content, "utf-8");
|
|
111916
111957
|
}
|
|
111917
111958
|
}
|
|
111918
111959
|
async function patchTranscript(dir, transcriptPath) {
|
|
@@ -112048,7 +112089,7 @@ function applyResolutionPreset(destDir, resolution) {
|
|
|
112048
112089
|
html = html.replace(viewportRe, `$1width=${width}, height=${height}`);
|
|
112049
112090
|
changed = true;
|
|
112050
112091
|
}
|
|
112051
|
-
if (changed)
|
|
112092
|
+
if (changed) writeFileSync21(file, html, "utf-8");
|
|
112052
112093
|
}
|
|
112053
112094
|
}
|
|
112054
112095
|
async function scaffoldProject(destDir, name, templateId, localVideoName, durationSeconds, tailwind = false, resolution) {
|
|
@@ -112062,7 +112103,7 @@ async function scaffoldProject(destDir, name, templateId, localVideoName, durati
|
|
|
112062
112103
|
patchVideoSrc(destDir, localVideoName, durationSeconds);
|
|
112063
112104
|
if (tailwind) writeTailwindSupport(destDir);
|
|
112064
112105
|
if (resolution) applyResolutionPreset(destDir, resolution);
|
|
112065
|
-
|
|
112106
|
+
writeFileSync21(
|
|
112066
112107
|
resolve33(destDir, "meta.json"),
|
|
112067
112108
|
JSON.stringify(
|
|
112068
112109
|
{
|
|
@@ -113990,8 +114031,8 @@ var init_publish = __esm({
|
|
|
113990
114031
|
async run({ args }) {
|
|
113991
114032
|
const rawArg = args.dir;
|
|
113992
114033
|
const dir = resolve40(rawArg ?? ".");
|
|
113993
|
-
const
|
|
113994
|
-
if (existsSync63(
|
|
114034
|
+
const indexPath2 = join66(dir, "index.html");
|
|
114035
|
+
if (existsSync63(indexPath2)) {
|
|
113995
114036
|
const lintResult = await lintProject(dir);
|
|
113996
114037
|
if (lintResult.totalErrors > 0 || lintResult.totalWarnings > 0) {
|
|
113997
114038
|
console.log();
|
|
@@ -114143,14 +114184,14 @@ function resolveVariablesArg(inline, filePath) {
|
|
|
114143
114184
|
}
|
|
114144
114185
|
return result.value;
|
|
114145
114186
|
}
|
|
114146
|
-
function validateVariablesAgainstProject(
|
|
114147
|
-
const schema = loadProjectVariableSchema(
|
|
114187
|
+
function validateVariablesAgainstProject(indexPath2, values) {
|
|
114188
|
+
const schema = loadProjectVariableSchema(indexPath2);
|
|
114148
114189
|
return validateVariablesAgainstSchema(values, schema);
|
|
114149
114190
|
}
|
|
114150
|
-
function loadProjectVariableSchema(
|
|
114191
|
+
function loadProjectVariableSchema(indexPath2) {
|
|
114151
114192
|
let html;
|
|
114152
114193
|
try {
|
|
114153
|
-
html = readFileSync39(
|
|
114194
|
+
html = readFileSync39(indexPath2, "utf8");
|
|
114154
114195
|
} catch {
|
|
114155
114196
|
return [];
|
|
114156
114197
|
}
|
|
@@ -114751,7 +114792,7 @@ __export(batchRender_exports, {
|
|
|
114751
114792
|
resolveOutputTemplate: () => resolveOutputTemplate,
|
|
114752
114793
|
runBatchRender: () => runBatchRender
|
|
114753
114794
|
});
|
|
114754
|
-
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as
|
|
114795
|
+
import { mkdirSync as mkdirSync33, readFileSync as readFileSync40, writeFileSync as writeFileSync23 } from "fs";
|
|
114755
114796
|
import { dirname as dirname28, join as join67, resolve as resolve43, sep as sep8 } from "path";
|
|
114756
114797
|
function isRecord4(value) {
|
|
114757
114798
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -114845,8 +114886,8 @@ function checkOutputCollisions(rows, manifestPath2) {
|
|
|
114845
114886
|
seen.set(row.outputPath, row.index);
|
|
114846
114887
|
}
|
|
114847
114888
|
}
|
|
114848
|
-
function validateBatchVariables(rows,
|
|
114849
|
-
const schema = loadProjectVariableSchema(
|
|
114889
|
+
function validateBatchVariables(rows, indexPath2, strictVariables, quiet, json) {
|
|
114890
|
+
const schema = loadProjectVariableSchema(indexPath2);
|
|
114850
114891
|
let issueCount = 0;
|
|
114851
114892
|
const strictRows = [];
|
|
114852
114893
|
for (let index = 0; index < rows.length; index++) {
|
|
@@ -114937,7 +114978,7 @@ function summarizeManifest(manifest) {
|
|
|
114937
114978
|
function writeManifest(manifest) {
|
|
114938
114979
|
summarizeManifest(manifest);
|
|
114939
114980
|
mkdirSync33(dirname28(manifest.manifestPath), { recursive: true });
|
|
114940
|
-
|
|
114981
|
+
writeFileSync23(manifest.manifestPath, JSON.stringify(manifest, null, 2) + "\n", "utf8");
|
|
114941
114982
|
}
|
|
114942
114983
|
function emitJsonEvent(event, json) {
|
|
114943
114984
|
if (json) console.log(JSON.stringify(event));
|
|
@@ -115099,7 +115140,7 @@ __export(render_exports, {
|
|
|
115099
115140
|
renderLocal: () => renderLocal,
|
|
115100
115141
|
resolveBrowserGpuForCli: () => resolveBrowserGpuForCli
|
|
115101
115142
|
});
|
|
115102
|
-
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as
|
|
115143
|
+
import { mkdirSync as mkdirSync34, readdirSync as readdirSync24, readFileSync as readFileSync41, statSync as statSync20, writeFileSync as writeFileSync24, rmSync as rmSync18 } from "fs";
|
|
115103
115144
|
import { cpus as cpus4, freemem as freemem5, tmpdir as tmpdir6 } from "os";
|
|
115104
115145
|
import { resolve as resolve44, dirname as dirname29, join as join68, basename as basename12 } from "path";
|
|
115105
115146
|
import { execFileSync as execFileSync9, spawn as spawn14 } from "child_process";
|
|
@@ -115195,7 +115236,7 @@ function ensureDockerImage(version2, platform10, quiet) {
|
|
|
115195
115236
|
const dockerfilePath = resolveDockerfilePath();
|
|
115196
115237
|
const tmpDir = join68(tmpdir6(), `hyperframes-docker-${Date.now()}`);
|
|
115197
115238
|
mkdirSync34(tmpDir, { recursive: true });
|
|
115198
|
-
|
|
115239
|
+
writeFileSync24(join68(tmpDir, "Dockerfile"), readFileSync41(dockerfilePath));
|
|
115199
115240
|
const targetArch = platform10 === "linux/arm64" ? "arm64" : "amd64";
|
|
115200
115241
|
try {
|
|
115201
115242
|
execFileSync9(
|
|
@@ -116630,7 +116671,7 @@ __export(beats_exports, {
|
|
|
116630
116671
|
default: () => beats_default,
|
|
116631
116672
|
examples: () => examples11
|
|
116632
116673
|
});
|
|
116633
|
-
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as
|
|
116674
|
+
import { existsSync as existsSync66, readFileSync as readFileSync44, mkdirSync as mkdirSync35, writeFileSync as writeFileSync25 } from "fs";
|
|
116634
116675
|
import { resolve as resolve45, join as join70, dirname as dirname31 } from "path";
|
|
116635
116676
|
function fail(message) {
|
|
116636
116677
|
console.error(c.error(message));
|
|
@@ -116703,7 +116744,7 @@ var init_beats2 = __esm({
|
|
|
116703
116744
|
}
|
|
116704
116745
|
const outPath = join70(project.dir, "beats", `${rel}.json`);
|
|
116705
116746
|
mkdirSync35(dirname31(outPath), { recursive: true });
|
|
116706
|
-
|
|
116747
|
+
writeFileSync25(outPath, serializeBeats(result.beatTimes, result.beatStrengths, rel));
|
|
116707
116748
|
report(`beats/${rel}.json`, result, Boolean(args.json));
|
|
116708
116749
|
}
|
|
116709
116750
|
});
|
|
@@ -119476,7 +119517,7 @@ var motionShot_exports = {};
|
|
|
119476
119517
|
__export(motionShot_exports, {
|
|
119477
119518
|
captureMotionPathShot: () => captureMotionPathShot
|
|
119478
119519
|
});
|
|
119479
|
-
import { writeFileSync as
|
|
119520
|
+
import { writeFileSync as writeFileSync26 } from "fs";
|
|
119480
119521
|
function applyOrbitCamera(selectors, cam) {
|
|
119481
119522
|
const first = document.querySelector(selectors[0] ?? "");
|
|
119482
119523
|
const root = first?.closest("[data-composition-id]") ?? document.querySelector("#stage") ?? document.body.firstElementChild ?? document.body;
|
|
@@ -119781,7 +119822,7 @@ async function captureGhostOnionSkin(page, requests, times, size, camera, outPat
|
|
|
119781
119822
|
);
|
|
119782
119823
|
const b64 = String(dataUrl).replace(/^data:image\/png;base64,/, "");
|
|
119783
119824
|
if (!b64) throw new Error("ghost composite returned no data");
|
|
119784
|
-
|
|
119825
|
+
writeFileSync26(outPath, Buffer.from(b64, "base64"));
|
|
119785
119826
|
return outPath;
|
|
119786
119827
|
}
|
|
119787
119828
|
async function captureMarkerOnionSkin(page, requests, times, size, camera, frame, outPath) {
|
|
@@ -119851,7 +119892,7 @@ async function captureMarkerOnionSkin(page, requests, times, size, camera, frame
|
|
|
119851
119892
|
await new Promise((r2) => setTimeout(r2, 60));
|
|
119852
119893
|
const buf = await page.screenshot({ type: "png" });
|
|
119853
119894
|
if (!buf) throw new Error("screenshot returned no data");
|
|
119854
|
-
|
|
119895
|
+
writeFileSync26(outPath, buf);
|
|
119855
119896
|
return outPath;
|
|
119856
119897
|
}
|
|
119857
119898
|
async function captureMotionPathShot(projectDir, requestsIn, outPath, opts = {}) {
|
|
@@ -120269,11 +120310,11 @@ function groupTraces(tweens) {
|
|
|
120269
120310
|
}
|
|
120270
120311
|
return traces;
|
|
120271
120312
|
}
|
|
120272
|
-
function collectCompositions(
|
|
120273
|
-
const html = readFileSync47(
|
|
120274
|
-
const baseDir = dirname33(
|
|
120313
|
+
function collectCompositions(indexPath2) {
|
|
120314
|
+
const html = readFileSync47(indexPath2, "utf-8");
|
|
120315
|
+
const baseDir = dirname33(indexPath2);
|
|
120275
120316
|
const out = [
|
|
120276
|
-
surfaceComposition(html, basename14(
|
|
120317
|
+
surfaceComposition(html, basename14(indexPath2), basename14(indexPath2))
|
|
120277
120318
|
];
|
|
120278
120319
|
const doc = new DOMParser().parseFromString(html, "text/html");
|
|
120279
120320
|
for (const div of Array.from(doc.querySelectorAll("[data-composition-src]"))) {
|
|
@@ -121073,17 +121114,17 @@ __export(browser_exports, {
|
|
|
121073
121114
|
default: () => browser_default,
|
|
121074
121115
|
examples: () => examples18
|
|
121075
121116
|
});
|
|
121076
|
-
async function runEnsure() {
|
|
121117
|
+
async function runEnsure(options) {
|
|
121077
121118
|
ge(c.bold("hyperframes browser ensure"));
|
|
121078
121119
|
if (isLinuxArm()) {
|
|
121079
121120
|
const s3 = ft();
|
|
121080
121121
|
s3.start("Linux ARM64 detected \u2014 looking for system Chromium...");
|
|
121081
|
-
const
|
|
121082
|
-
if (
|
|
121122
|
+
const existing = await findBrowser();
|
|
121123
|
+
if (existing) {
|
|
121083
121124
|
s3.stop(c.success("System Chromium found"));
|
|
121084
121125
|
console.log();
|
|
121085
|
-
console.log(` ${c.dim("Source:")} ${c.bold(
|
|
121086
|
-
console.log(` ${c.dim("Path:")} ${c.bold(
|
|
121126
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121127
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121087
121128
|
console.log();
|
|
121088
121129
|
ye(c.success("Ready to render."));
|
|
121089
121130
|
return;
|
|
@@ -121106,22 +121147,27 @@ async function runEnsure() {
|
|
|
121106
121147
|
return;
|
|
121107
121148
|
}
|
|
121108
121149
|
const s2 = ft();
|
|
121109
|
-
|
|
121110
|
-
|
|
121111
|
-
|
|
121112
|
-
|
|
121113
|
-
|
|
121114
|
-
|
|
121115
|
-
|
|
121116
|
-
|
|
121117
|
-
|
|
121118
|
-
|
|
121150
|
+
if (!options?.force) {
|
|
121151
|
+
s2.start("Looking for an existing browser...");
|
|
121152
|
+
const existing = await findBrowser();
|
|
121153
|
+
if (existing) {
|
|
121154
|
+
s2.stop(c.success("Browser found"));
|
|
121155
|
+
console.log();
|
|
121156
|
+
console.log(` ${c.dim("Source:")} ${c.bold(existing.source)}`);
|
|
121157
|
+
console.log(` ${c.dim("Path:")} ${c.bold(existing.executablePath)}`);
|
|
121158
|
+
console.log();
|
|
121159
|
+
ye(c.success("Ready to render."));
|
|
121160
|
+
return;
|
|
121161
|
+
}
|
|
121162
|
+
s2.stop("No browser found \u2014 downloading");
|
|
121163
|
+
} else {
|
|
121164
|
+
s2.start("Purging cached download and re-downloading...");
|
|
121119
121165
|
}
|
|
121120
|
-
s2.stop("No browser found \u2014 downloading");
|
|
121121
121166
|
const downloadSpinner = ft();
|
|
121122
121167
|
downloadSpinner.start(`Downloading Chrome Headless Shell ${c.dim("v" + CHROME_VERSION)}...`);
|
|
121123
121168
|
let lastPct = -1;
|
|
121124
121169
|
const result = await ensureBrowser({
|
|
121170
|
+
force: options?.force,
|
|
121125
121171
|
onProgress: (downloaded, total) => {
|
|
121126
121172
|
if (total <= 0) return;
|
|
121127
121173
|
const pct = Math.floor(downloaded / total * 100);
|
|
@@ -121177,6 +121223,7 @@ var init_browser = __esm({
|
|
|
121177
121223
|
init_events();
|
|
121178
121224
|
examples18 = [
|
|
121179
121225
|
["Find or download Chrome for rendering", "hyperframes browser ensure"],
|
|
121226
|
+
["Purge a stale/partial download and re-download", "hyperframes browser ensure --force"],
|
|
121180
121227
|
["Print the Chrome executable path", "hyperframes browser path"],
|
|
121181
121228
|
["Remove cached Chrome download", "hyperframes browser clear"]
|
|
121182
121229
|
];
|
|
@@ -121187,6 +121234,11 @@ var init_browser = __esm({
|
|
|
121187
121234
|
type: "positional",
|
|
121188
121235
|
description: "ensure = find or download Chrome, path = print executable path, clear = remove cached download",
|
|
121189
121236
|
required: false
|
|
121237
|
+
},
|
|
121238
|
+
force: {
|
|
121239
|
+
type: "boolean",
|
|
121240
|
+
description: "ensure only: purge any cached download (including a stale/partial one) and re-download from scratch",
|
|
121241
|
+
default: false
|
|
121190
121242
|
}
|
|
121191
121243
|
},
|
|
121192
121244
|
async run({ args }) {
|
|
@@ -121203,15 +121255,16 @@ ${c.bold("SUBCOMMANDS:")}
|
|
|
121203
121255
|
${c.accent("clear")} ${c.dim("Remove cached Chrome download")}
|
|
121204
121256
|
|
|
121205
121257
|
${c.bold("EXAMPLES:")}
|
|
121206
|
-
${c.accent("npx hyperframes browser ensure")}
|
|
121207
|
-
${c.accent("npx hyperframes browser
|
|
121208
|
-
${c.accent("npx hyperframes browser
|
|
121258
|
+
${c.accent("npx hyperframes browser ensure")} ${c.dim("Download Chrome if needed")}
|
|
121259
|
+
${c.accent("npx hyperframes browser ensure --force")} ${c.dim("Purge a stale/partial download and re-download")}
|
|
121260
|
+
${c.accent("npx hyperframes browser path")} ${c.dim("Print path for scripts")}
|
|
121261
|
+
${c.accent("npx hyperframes browser clear")} ${c.dim("Remove cached browser")}
|
|
121209
121262
|
`);
|
|
121210
121263
|
return;
|
|
121211
121264
|
}
|
|
121212
121265
|
switch (subcommand) {
|
|
121213
121266
|
case "ensure":
|
|
121214
|
-
return runEnsure();
|
|
121267
|
+
return runEnsure({ force: args.force });
|
|
121215
121268
|
case "path":
|
|
121216
121269
|
return runPath();
|
|
121217
121270
|
case "clear":
|
|
@@ -122013,7 +122066,7 @@ __export(transcribe_exports2, {
|
|
|
122013
122066
|
default: () => transcribe_default,
|
|
122014
122067
|
examples: () => examples20
|
|
122015
122068
|
});
|
|
122016
|
-
import { existsSync as existsSync76, writeFileSync as
|
|
122069
|
+
import { existsSync as existsSync76, writeFileSync as writeFileSync27 } from "fs";
|
|
122017
122070
|
import { resolve as resolve51, join as join77, extname as extname12, dirname as dirname35 } from "path";
|
|
122018
122071
|
function failWith(message, json) {
|
|
122019
122072
|
trackCommandFailure("transcribe", message);
|
|
@@ -122038,7 +122091,7 @@ async function importTranscript(inputPath, dir, json) {
|
|
|
122038
122091
|
const { words, format } = loadTranscript2(inputPath);
|
|
122039
122092
|
if (words.length === 0) exitNoWords(json);
|
|
122040
122093
|
const outPath = join77(dir, "transcript.json");
|
|
122041
|
-
|
|
122094
|
+
writeFileSync27(outPath, JSON.stringify(words, null, 2));
|
|
122042
122095
|
patchCaptionHtml2(dir, words);
|
|
122043
122096
|
if (json) {
|
|
122044
122097
|
console.log(
|
|
@@ -122057,7 +122110,7 @@ async function exportTranscript(inputPath, dir, to, output, json, preserveCues)
|
|
|
122057
122110
|
const preGrouped = preserveCues || format === "srt" || format === "vtt" || void 0;
|
|
122058
122111
|
const outPath = resolve51(output ?? join77(dir, `transcript.${to}`));
|
|
122059
122112
|
const content = to === "srt" ? formatSrt2(words, { preGrouped }) : formatVtt2(words, { preGrouped });
|
|
122060
|
-
|
|
122113
|
+
writeFileSync27(outPath, content);
|
|
122061
122114
|
if (json) {
|
|
122062
122115
|
console.log(
|
|
122063
122116
|
JSON.stringify({ ok: true, format: to, wordCount: words.length, outputPath: outPath })
|
|
@@ -122091,7 +122144,7 @@ async function transcribeAudio(inputPath, dir, opts) {
|
|
|
122091
122144
|
);
|
|
122092
122145
|
}
|
|
122093
122146
|
}
|
|
122094
|
-
|
|
122147
|
+
writeFileSync27(result.transcriptPath, JSON.stringify(words, null, 2));
|
|
122095
122148
|
patchCaptionHtml2(dir, words);
|
|
122096
122149
|
if (opts.json) {
|
|
122097
122150
|
console.log(
|
|
@@ -122404,13 +122457,13 @@ __export(synthesize_exports, {
|
|
|
122404
122457
|
synthesize: () => synthesize
|
|
122405
122458
|
});
|
|
122406
122459
|
import { execFileSync as execFileSync11 } from "child_process";
|
|
122407
|
-
import { existsSync as existsSync78, writeFileSync as
|
|
122460
|
+
import { existsSync as existsSync78, writeFileSync as writeFileSync28, mkdirSync as mkdirSync38, readdirSync as readdirSync27, unlinkSync as unlinkSync5 } from "fs";
|
|
122408
122461
|
import { join as join79, dirname as dirname36, basename as basename15 } from "path";
|
|
122409
122462
|
import { homedir as homedir13 } from "os";
|
|
122410
122463
|
function ensureSynthScript() {
|
|
122411
122464
|
if (!existsSync78(SCRIPT_PATH)) {
|
|
122412
122465
|
mkdirSync38(SCRIPT_DIR, { recursive: true });
|
|
122413
|
-
|
|
122466
|
+
writeFileSync28(SCRIPT_PATH, SYNTH_SCRIPT);
|
|
122414
122467
|
const currentName = basename15(SCRIPT_PATH);
|
|
122415
122468
|
try {
|
|
122416
122469
|
for (const entry of readdirSync27(SCRIPT_DIR)) {
|
|
@@ -123670,12 +123723,25 @@ var validate_exports = {};
|
|
|
123670
123723
|
__export(validate_exports, {
|
|
123671
123724
|
default: () => validate_default,
|
|
123672
123725
|
extractCompositionErrorsFromLint: () => extractCompositionErrorsFromLint,
|
|
123726
|
+
navigationTimeoutHint: () => navigationTimeoutHint,
|
|
123673
123727
|
raceMediaReady: () => raceMediaReady,
|
|
123674
|
-
|
|
123728
|
+
resolveNavigationTimeoutMs: () => resolveNavigationTimeoutMs,
|
|
123729
|
+
shouldIgnoreRequestFailure: () => shouldIgnoreRequestFailure,
|
|
123730
|
+
waitForPreferredSeekTarget: () => waitForPreferredSeekTarget
|
|
123675
123731
|
});
|
|
123676
123732
|
import { existsSync as existsSync81, readFileSync as readFileSync53 } from "fs";
|
|
123677
123733
|
import { join as join81, dirname as dirname38 } from "path";
|
|
123678
123734
|
import { fileURLToPath as fileURLToPath14 } from "url";
|
|
123735
|
+
function resolveNavigationTimeoutMs(optTimeout) {
|
|
123736
|
+
return Math.max(NAV_TIMEOUT_FLOOR_MS, optTimeout ?? 0);
|
|
123737
|
+
}
|
|
123738
|
+
function navigationTimeoutHint(err, navTimeoutMs) {
|
|
123739
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
123740
|
+
if (!/navigation timeout/i.test(msg)) return null;
|
|
123741
|
+
return new Error(
|
|
123742
|
+
`Page navigation timed out after ${navTimeoutMs}ms. A blocking external <script> (e.g. GSAP loaded from a CDN) can delay page load past this budget even when the full render succeeds. Vendor the script locally (recommended for deterministic renders), or re-run with a longer --timeout.`
|
|
123743
|
+
);
|
|
123744
|
+
}
|
|
123679
123745
|
function shouldIgnoreRequestFailure(url, errorText, resourceType) {
|
|
123680
123746
|
if (errorText !== "net::ERR_ABORTED") return false;
|
|
123681
123747
|
if (resourceType === "media") return true;
|
|
@@ -123693,7 +123759,13 @@ async function getCompositionDuration3(page) {
|
|
|
123693
123759
|
});
|
|
123694
123760
|
}
|
|
123695
123761
|
async function seekTo2(page, time) {
|
|
123762
|
+
await waitForPreferredSeekTarget(page);
|
|
123696
123763
|
await page.evaluate((t2) => {
|
|
123764
|
+
const player = window.__player;
|
|
123765
|
+
if (player && typeof player.renderSeek === "function") {
|
|
123766
|
+
player.renderSeek(t2);
|
|
123767
|
+
return;
|
|
123768
|
+
}
|
|
123697
123769
|
if (window.__hf && typeof window.__hf.seek === "function") {
|
|
123698
123770
|
window.__hf.seek(t2);
|
|
123699
123771
|
return;
|
|
@@ -123707,6 +123779,18 @@ async function seekTo2(page, time) {
|
|
|
123707
123779
|
}, time);
|
|
123708
123780
|
await new Promise((r2) => setTimeout(r2, SEEK_SETTLE_MS2));
|
|
123709
123781
|
}
|
|
123782
|
+
async function waitForPreferredSeekTarget(page, timeoutMs = PREFERRED_SEEK_TARGET_WAIT_MS) {
|
|
123783
|
+
try {
|
|
123784
|
+
await page.waitForFunction(
|
|
123785
|
+
() => {
|
|
123786
|
+
const w3 = window;
|
|
123787
|
+
return typeof w3.__player?.renderSeek === "function" || typeof w3.__hf?.seek === "function";
|
|
123788
|
+
},
|
|
123789
|
+
{ timeout: timeoutMs }
|
|
123790
|
+
);
|
|
123791
|
+
} catch {
|
|
123792
|
+
}
|
|
123793
|
+
}
|
|
123710
123794
|
function raceMediaReady(el, deadlineMs) {
|
|
123711
123795
|
if (Number.isFinite(el.duration) && el.duration > 0) return Promise.resolve();
|
|
123712
123796
|
return new Promise((resolve62) => {
|
|
@@ -123877,7 +123961,14 @@ async function validateInBrowser(project, opts) {
|
|
|
123877
123961
|
errors.push({ level: "error", text: `${res.status()} loading ${path2}`, url });
|
|
123878
123962
|
}
|
|
123879
123963
|
});
|
|
123880
|
-
|
|
123964
|
+
const navTimeoutMs = resolveNavigationTimeoutMs(opts.timeout);
|
|
123965
|
+
try {
|
|
123966
|
+
await page.goto(server.url, { waitUntil: "domcontentloaded", timeout: navTimeoutMs });
|
|
123967
|
+
} catch (err) {
|
|
123968
|
+
const hinted = navigationTimeoutHint(err, navTimeoutMs);
|
|
123969
|
+
if (hinted) throw hinted;
|
|
123970
|
+
throw err;
|
|
123971
|
+
}
|
|
123881
123972
|
await new Promise((r2) => setTimeout(r2, opts.timeout ?? 3e3));
|
|
123882
123973
|
for (const w3 of await auditClipDurations(page, analyzeClipMediaFit2, opts.timeout ?? 3e3)) {
|
|
123883
123974
|
warnings.push(w3);
|
|
@@ -123958,7 +124049,7 @@ function printValidationResult(result, asJson) {
|
|
|
123958
124049
|
}
|
|
123959
124050
|
return errors.length > 0 ? 1 : 0;
|
|
123960
124051
|
}
|
|
123961
|
-
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, MEDIA_EXTENSIONS, validate_default;
|
|
124052
|
+
var __filename2, __dirname3, CONTRAST_SAMPLES, SEEK_SETTLE_MS2, PREFERRED_SEEK_TARGET_WAIT_MS, MEDIA_EXTENSIONS, NAV_TIMEOUT_FLOOR_MS, validate_default;
|
|
123962
124053
|
var init_validate = __esm({
|
|
123963
124054
|
"src/commands/validate.ts"() {
|
|
123964
124055
|
"use strict";
|
|
@@ -123972,7 +124063,9 @@ var init_validate = __esm({
|
|
|
123972
124063
|
__dirname3 = dirname38(__filename2);
|
|
123973
124064
|
CONTRAST_SAMPLES = 5;
|
|
123974
124065
|
SEEK_SETTLE_MS2 = 150;
|
|
124066
|
+
PREFERRED_SEEK_TARGET_WAIT_MS = 500;
|
|
123975
124067
|
MEDIA_EXTENSIONS = /\.(aac|flac|m4a|mov|mp3|mp4|oga|ogg|wav|webm)$/i;
|
|
124068
|
+
NAV_TIMEOUT_FLOOR_MS = 1e4;
|
|
123976
124069
|
validate_default = defineCommand({
|
|
123977
124070
|
meta: {
|
|
123978
124071
|
name: "validate",
|
|
@@ -123994,7 +124087,7 @@ Examples:
|
|
|
123994
124087
|
},
|
|
123995
124088
|
timeout: {
|
|
123996
124089
|
type: "string",
|
|
123997
|
-
description: "Ms to wait for scripts to settle (default: 3000)",
|
|
124090
|
+
description: "Ms to wait for scripts to settle and media to load (default: 3000). Also raises the page-navigation budget above its 10s floor when a slow external <script> needs longer.",
|
|
123998
124091
|
default: "3000"
|
|
123999
124092
|
}
|
|
124000
124093
|
},
|
|
@@ -124030,7 +124123,7 @@ __export(contactSheet_exports, {
|
|
|
124030
124123
|
createSvgContactSheet: () => createSvgContactSheet
|
|
124031
124124
|
});
|
|
124032
124125
|
import sharp from "sharp";
|
|
124033
|
-
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as
|
|
124126
|
+
import { readdirSync as readdirSync28, readFileSync as readFileSync54, writeFileSync as writeFileSync29, unlinkSync as unlinkSync6, existsSync as existsSync83 } from "fs";
|
|
124034
124127
|
import { join as join83, extname as extname14, basename as basename16, dirname as dirname39 } from "path";
|
|
124035
124128
|
async function createContactSheet(imagePaths, outputPath, opts = {}) {
|
|
124036
124129
|
const {
|
|
@@ -124186,7 +124279,7 @@ async function createSvgContactSheet(svgsDir, outputPath, assetsRootDir) {
|
|
|
124186
124279
|
fit: "contain",
|
|
124187
124280
|
background: { r: 245, g: 245, b: 245, alpha: 1 }
|
|
124188
124281
|
}).flatten({ background: { r: 245, g: 245, b: 245 } }).png().toBuffer();
|
|
124189
|
-
|
|
124282
|
+
writeFileSync29(tmpPath, thumb);
|
|
124190
124283
|
tmpPaths.push(tmpPath);
|
|
124191
124284
|
labels.push(svgFileNames[i2].replace(".svg", ""));
|
|
124192
124285
|
} catch {
|
|
@@ -132617,7 +132710,7 @@ var require_bignumber = __commonJS({
|
|
|
132617
132710
|
suffix: ""
|
|
132618
132711
|
}, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
|
|
132619
132712
|
function BigNumber2(v2, b2) {
|
|
132620
|
-
var alphabet, c3, caseChanged, e3, i2, isNum,
|
|
132713
|
+
var alphabet, c3, caseChanged, e3, i2, isNum, len2, str, x3 = this;
|
|
132621
132714
|
if (!(x3 instanceof BigNumber2)) return new BigNumber2(v2, b2);
|
|
132622
132715
|
if (b2 == null) {
|
|
132623
132716
|
if (v2 && v2._isBigNumber === true) {
|
|
@@ -132675,11 +132768,11 @@ var require_bignumber = __commonJS({
|
|
|
132675
132768
|
}
|
|
132676
132769
|
alphabet = ALPHABET.slice(0, b2);
|
|
132677
132770
|
e3 = i2 = 0;
|
|
132678
|
-
for (
|
|
132771
|
+
for (len2 = str.length; i2 < len2; i2++) {
|
|
132679
132772
|
if (alphabet.indexOf(c3 = str.charAt(i2)) < 0) {
|
|
132680
132773
|
if (c3 == ".") {
|
|
132681
132774
|
if (i2 > e3) {
|
|
132682
|
-
e3 =
|
|
132775
|
+
e3 = len2;
|
|
132683
132776
|
continue;
|
|
132684
132777
|
}
|
|
132685
132778
|
} else if (!caseChanged) {
|
|
@@ -132699,10 +132792,10 @@ var require_bignumber = __commonJS({
|
|
|
132699
132792
|
else e3 = str.length;
|
|
132700
132793
|
}
|
|
132701
132794
|
for (i2 = 0; str.charCodeAt(i2) === 48; i2++) ;
|
|
132702
|
-
for (
|
|
132703
|
-
if (str = str.slice(i2, ++
|
|
132704
|
-
|
|
132705
|
-
if (isNum && BigNumber2.DEBUG &&
|
|
132795
|
+
for (len2 = str.length; str.charCodeAt(--len2) === 48; ) ;
|
|
132796
|
+
if (str = str.slice(i2, ++len2)) {
|
|
132797
|
+
len2 -= i2;
|
|
132798
|
+
if (isNum && BigNumber2.DEBUG && len2 > 15 && (v2 > MAX_SAFE_INTEGER || v2 !== mathfloor(v2))) {
|
|
132706
132799
|
throw Error(tooManyDigits + x3.s * v2);
|
|
132707
132800
|
}
|
|
132708
132801
|
if ((e3 = e3 - i2 - 1) > MAX_EXP) {
|
|
@@ -132714,14 +132807,14 @@ var require_bignumber = __commonJS({
|
|
|
132714
132807
|
x3.c = [];
|
|
132715
132808
|
i2 = (e3 + 1) % LOG_BASE;
|
|
132716
132809
|
if (e3 < 0) i2 += LOG_BASE;
|
|
132717
|
-
if (i2 <
|
|
132810
|
+
if (i2 < len2) {
|
|
132718
132811
|
if (i2) x3.c.push(+str.slice(0, i2));
|
|
132719
|
-
for (
|
|
132812
|
+
for (len2 -= LOG_BASE; i2 < len2; ) {
|
|
132720
132813
|
x3.c.push(+str.slice(i2, i2 += LOG_BASE));
|
|
132721
132814
|
}
|
|
132722
132815
|
i2 = LOG_BASE - (str = str.slice(i2)).length;
|
|
132723
132816
|
} else {
|
|
132724
|
-
i2 -=
|
|
132817
|
+
i2 -= len2;
|
|
132725
132818
|
}
|
|
132726
132819
|
for (; i2--; str += "0") ;
|
|
132727
132820
|
x3.c.push(+str);
|
|
@@ -132948,8 +133041,8 @@ var require_bignumber = __commonJS({
|
|
|
132948
133041
|
convertBase = /* @__PURE__ */ (function() {
|
|
132949
133042
|
var decimal = "0123456789";
|
|
132950
133043
|
function toBaseOut(str, baseIn, baseOut, alphabet) {
|
|
132951
|
-
var j3, arr = [0], arrL, i2 = 0,
|
|
132952
|
-
for (; i2 <
|
|
133044
|
+
var j3, arr = [0], arrL, i2 = 0, len2 = str.length;
|
|
133045
|
+
for (; i2 < len2; ) {
|
|
132953
133046
|
for (arrL = arr.length; arrL--; arr[arrL] *= baseIn) ;
|
|
132954
133047
|
arr[0] += alphabet.indexOf(str.charAt(i2++));
|
|
132955
133048
|
for (j3 = 0; j3 < arr.length; j3++) {
|
|
@@ -133162,7 +133255,7 @@ var require_bignumber = __commonJS({
|
|
|
133162
133255
|
};
|
|
133163
133256
|
})();
|
|
133164
133257
|
function format(n2, i2, rm, id) {
|
|
133165
|
-
var c0, e3, ne2,
|
|
133258
|
+
var c0, e3, ne2, len2, str;
|
|
133166
133259
|
if (rm == null) rm = ROUNDING_MODE;
|
|
133167
133260
|
else intCheck(rm, 0, 8);
|
|
133168
133261
|
if (!n2.c) return n2.toString();
|
|
@@ -133175,19 +133268,19 @@ var require_bignumber = __commonJS({
|
|
|
133175
133268
|
n2 = round5(new BigNumber2(n2), i2, rm);
|
|
133176
133269
|
e3 = n2.e;
|
|
133177
133270
|
str = coeffToString(n2.c);
|
|
133178
|
-
|
|
133271
|
+
len2 = str.length;
|
|
133179
133272
|
if (id == 1 || id == 2 && (i2 <= e3 || e3 <= TO_EXP_NEG)) {
|
|
133180
|
-
for (;
|
|
133273
|
+
for (; len2 < i2; str += "0", len2++) ;
|
|
133181
133274
|
str = toExponential(str, e3);
|
|
133182
133275
|
} else {
|
|
133183
133276
|
i2 -= ne2 + (id === 2 && e3 > ne2);
|
|
133184
133277
|
str = toFixedPoint(str, e3, "0");
|
|
133185
|
-
if (e3 + 1 >
|
|
133278
|
+
if (e3 + 1 > len2) {
|
|
133186
133279
|
if (--i2 > 0) for (str += "."; i2--; str += "0") ;
|
|
133187
133280
|
} else {
|
|
133188
|
-
i2 += e3 -
|
|
133281
|
+
i2 += e3 - len2;
|
|
133189
133282
|
if (i2 > 0) {
|
|
133190
|
-
if (e3 + 1 ==
|
|
133283
|
+
if (e3 + 1 == len2) str += ".";
|
|
133191
133284
|
for (; i2--; str += "0") ;
|
|
133192
133285
|
}
|
|
133193
133286
|
}
|
|
@@ -133773,17 +133866,17 @@ var require_bignumber = __commonJS({
|
|
|
133773
133866
|
}
|
|
133774
133867
|
str = x3.toFixed(dp, rm);
|
|
133775
133868
|
if (x3.c) {
|
|
133776
|
-
var i2, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x3.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart,
|
|
133869
|
+
var i2, arr = str.split("."), g1 = +format2.groupSize, g2 = +format2.secondaryGroupSize, groupSeparator = format2.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x3.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len2 = intDigits.length;
|
|
133777
133870
|
if (g2) {
|
|
133778
133871
|
i2 = g1;
|
|
133779
133872
|
g1 = g2;
|
|
133780
133873
|
g2 = i2;
|
|
133781
|
-
|
|
133874
|
+
len2 -= i2;
|
|
133782
133875
|
}
|
|
133783
|
-
if (g1 > 0 &&
|
|
133784
|
-
i2 =
|
|
133876
|
+
if (g1 > 0 && len2 > 0) {
|
|
133877
|
+
i2 = len2 % g1 || g1;
|
|
133785
133878
|
intPart = intDigits.substr(0, i2);
|
|
133786
|
-
for (; i2 <
|
|
133879
|
+
for (; i2 < len2; i2 += g1) intPart += groupSeparator + intDigits.substr(i2, g1);
|
|
133787
133880
|
if (g2 > 0) intPart += groupSeparator + intDigits.slice(i2);
|
|
133788
133881
|
if (isNeg) intPart = "-" + intPart;
|
|
133789
133882
|
}
|
|
@@ -133916,16 +134009,16 @@ var require_bignumber = __commonJS({
|
|
|
133916
134009
|
return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e3 < 0 ? "e" : "e+") + e3;
|
|
133917
134010
|
}
|
|
133918
134011
|
function toFixedPoint(str, e3, z3) {
|
|
133919
|
-
var
|
|
134012
|
+
var len2, zs;
|
|
133920
134013
|
if (e3 < 0) {
|
|
133921
134014
|
for (zs = z3 + "."; ++e3; zs += z3) ;
|
|
133922
134015
|
str = zs + str;
|
|
133923
134016
|
} else {
|
|
133924
|
-
|
|
133925
|
-
if (++e3 >
|
|
133926
|
-
for (zs = z3, e3 -=
|
|
134017
|
+
len2 = str.length;
|
|
134018
|
+
if (++e3 > len2) {
|
|
134019
|
+
for (zs = z3, e3 -= len2; --e3; zs += z3) ;
|
|
133927
134020
|
str += zs;
|
|
133928
|
-
} else if (e3 <
|
|
134021
|
+
} else if (e3 < len2) {
|
|
133929
134022
|
str = str.slice(0, e3) + "." + str.slice(e3);
|
|
133930
134023
|
}
|
|
133931
134024
|
}
|
|
@@ -135058,22 +135151,22 @@ var require_base64_js = __commonJS({
|
|
|
135058
135151
|
var revLookup = [];
|
|
135059
135152
|
var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
|
|
135060
135153
|
var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
135061
|
-
for (i2 = 0,
|
|
135154
|
+
for (i2 = 0, len2 = code.length; i2 < len2; ++i2) {
|
|
135062
135155
|
lookup[i2] = code[i2];
|
|
135063
135156
|
revLookup[code.charCodeAt(i2)] = i2;
|
|
135064
135157
|
}
|
|
135065
135158
|
var i2;
|
|
135066
|
-
var
|
|
135159
|
+
var len2;
|
|
135067
135160
|
revLookup["-".charCodeAt(0)] = 62;
|
|
135068
135161
|
revLookup["_".charCodeAt(0)] = 63;
|
|
135069
135162
|
function getLens(b64) {
|
|
135070
|
-
var
|
|
135071
|
-
if (
|
|
135163
|
+
var len3 = b64.length;
|
|
135164
|
+
if (len3 % 4 > 0) {
|
|
135072
135165
|
throw new Error("Invalid string. Length must be a multiple of 4");
|
|
135073
135166
|
}
|
|
135074
135167
|
var validLen = b64.indexOf("=");
|
|
135075
|
-
if (validLen === -1) validLen =
|
|
135076
|
-
var placeHoldersLen = validLen ===
|
|
135168
|
+
if (validLen === -1) validLen = len3;
|
|
135169
|
+
var placeHoldersLen = validLen === len3 ? 0 : 4 - validLen % 4;
|
|
135077
135170
|
return [validLen, placeHoldersLen];
|
|
135078
135171
|
}
|
|
135079
135172
|
function byteLength(b64) {
|
|
@@ -135092,9 +135185,9 @@ var require_base64_js = __commonJS({
|
|
|
135092
135185
|
var placeHoldersLen = lens[1];
|
|
135093
135186
|
var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
|
|
135094
135187
|
var curByte = 0;
|
|
135095
|
-
var
|
|
135188
|
+
var len3 = placeHoldersLen > 0 ? validLen - 4 : validLen;
|
|
135096
135189
|
var i3;
|
|
135097
|
-
for (i3 = 0; i3 <
|
|
135190
|
+
for (i3 = 0; i3 < len3; i3 += 4) {
|
|
135098
135191
|
tmp = revLookup[b64.charCodeAt(i3)] << 18 | revLookup[b64.charCodeAt(i3 + 1)] << 12 | revLookup[b64.charCodeAt(i3 + 2)] << 6 | revLookup[b64.charCodeAt(i3 + 3)];
|
|
135099
135192
|
arr[curByte++] = tmp >> 16 & 255;
|
|
135100
135193
|
arr[curByte++] = tmp >> 8 & 255;
|
|
@@ -135125,20 +135218,20 @@ var require_base64_js = __commonJS({
|
|
|
135125
135218
|
}
|
|
135126
135219
|
function fromByteArray(uint8) {
|
|
135127
135220
|
var tmp;
|
|
135128
|
-
var
|
|
135129
|
-
var extraBytes =
|
|
135221
|
+
var len3 = uint8.length;
|
|
135222
|
+
var extraBytes = len3 % 3;
|
|
135130
135223
|
var parts = [];
|
|
135131
135224
|
var maxChunkLength = 16383;
|
|
135132
|
-
for (var i3 = 0, len22 =
|
|
135225
|
+
for (var i3 = 0, len22 = len3 - extraBytes; i3 < len22; i3 += maxChunkLength) {
|
|
135133
135226
|
parts.push(encodeChunk(uint8, i3, i3 + maxChunkLength > len22 ? len22 : i3 + maxChunkLength));
|
|
135134
135227
|
}
|
|
135135
135228
|
if (extraBytes === 1) {
|
|
135136
|
-
tmp = uint8[
|
|
135229
|
+
tmp = uint8[len3 - 1];
|
|
135137
135230
|
parts.push(
|
|
135138
135231
|
lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
|
|
135139
135232
|
);
|
|
135140
135233
|
} else if (extraBytes === 2) {
|
|
135141
|
-
tmp = (uint8[
|
|
135234
|
+
tmp = (uint8[len3 - 2] << 8) + uint8[len3 - 1];
|
|
135142
135235
|
parts.push(
|
|
135143
135236
|
lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
|
|
135144
135237
|
);
|
|
@@ -142661,24 +142754,24 @@ var require_validation = __commonJS({
|
|
|
142661
142754
|
return code >= 1e3 && code <= 1014 && code !== 1004 && code !== 1005 && code !== 1006 || code >= 3e3 && code <= 4999;
|
|
142662
142755
|
}
|
|
142663
142756
|
function _isValidUTF8(buf) {
|
|
142664
|
-
const
|
|
142757
|
+
const len2 = buf.length;
|
|
142665
142758
|
let i2 = 0;
|
|
142666
|
-
while (i2 <
|
|
142759
|
+
while (i2 < len2) {
|
|
142667
142760
|
if ((buf[i2] & 128) === 0) {
|
|
142668
142761
|
i2++;
|
|
142669
142762
|
} else if ((buf[i2] & 224) === 192) {
|
|
142670
|
-
if (i2 + 1 ===
|
|
142763
|
+
if (i2 + 1 === len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2] & 254) === 192) {
|
|
142671
142764
|
return false;
|
|
142672
142765
|
}
|
|
142673
142766
|
i2 += 2;
|
|
142674
142767
|
} else if ((buf[i2] & 240) === 224) {
|
|
142675
|
-
if (i2 + 2 >=
|
|
142768
|
+
if (i2 + 2 >= len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || buf[i2] === 224 && (buf[i2 + 1] & 224) === 128 || // Overlong
|
|
142676
142769
|
buf[i2] === 237 && (buf[i2 + 1] & 224) === 160) {
|
|
142677
142770
|
return false;
|
|
142678
142771
|
}
|
|
142679
142772
|
i2 += 3;
|
|
142680
142773
|
} else if ((buf[i2] & 248) === 240) {
|
|
142681
|
-
if (i2 + 3 >=
|
|
142774
|
+
if (i2 + 3 >= len2 || (buf[i2 + 1] & 192) !== 128 || (buf[i2 + 2] & 192) !== 128 || (buf[i2 + 3] & 192) !== 128 || buf[i2] === 240 && (buf[i2 + 1] & 240) === 128 || // Overlong
|
|
142682
142775
|
buf[i2] === 244 && buf[i2 + 1] > 143 || buf[i2] > 244) {
|
|
142683
142776
|
return false;
|
|
142684
142777
|
}
|
|
@@ -163961,7 +164054,7 @@ __export(snapshot_exports, {
|
|
|
163961
164054
|
tailFrameTime: () => tailFrameTime
|
|
163962
164055
|
});
|
|
163963
164056
|
import { spawn as spawn16 } from "child_process";
|
|
163964
|
-
import { existsSync as existsSync84, mkdtempSync as
|
|
164057
|
+
import { existsSync as existsSync84, mkdtempSync as mkdtempSync6, readFileSync as readFileSync55, mkdirSync as mkdirSync39, rmSync as rmSync19, writeFileSync as writeFileSync30 } from "fs";
|
|
163965
164058
|
import { tmpdir as tmpdir7 } from "os";
|
|
163966
164059
|
import { resolve as resolve55, join as join84, relative as relative15, isAbsolute as isAbsolute14, basename as basename19 } from "path";
|
|
163967
164060
|
function orbitStageSource() {
|
|
@@ -163986,7 +164079,7 @@ function orbitStageSource() {
|
|
|
163986
164079
|
}`;
|
|
163987
164080
|
}
|
|
163988
164081
|
async function extractVideoFrameToBuffer(videoPath, timeSeconds, useVp9AlphaDecoder = false) {
|
|
163989
|
-
const tmp =
|
|
164082
|
+
const tmp = mkdtempSync6(join84(tmpdir7(), "hf-snapshot-frame-"));
|
|
163990
164083
|
const outPath = join84(tmp, "frame.png");
|
|
163991
164084
|
try {
|
|
163992
164085
|
const ffmpegPath = findFFmpeg();
|
|
@@ -164473,7 +164566,7 @@ ${c.success("\u25C7")} ${paths.length} snapshots saved to ${args.output ? snaps
|
|
|
164473
164566
|
}
|
|
164474
164567
|
}
|
|
164475
164568
|
const descPath = join84(snapshotDir, "descriptions.md");
|
|
164476
|
-
|
|
164569
|
+
writeFileSync30(descPath, descriptions.join("\n"));
|
|
164477
164570
|
console.log(` ${c.dim("descriptions.md")} (Gemini frame analysis)`);
|
|
164478
164571
|
}
|
|
164479
164572
|
} catch (descErr) {
|
|
@@ -164493,7 +164586,7 @@ ${c.error("\u2717")} Snapshot failed: ${msg}`);
|
|
|
164493
164586
|
});
|
|
164494
164587
|
|
|
164495
164588
|
// src/capture/assetDownloader.ts
|
|
164496
|
-
import { writeFileSync as
|
|
164589
|
+
import { writeFileSync as writeFileSync31, mkdirSync as mkdirSync40 } from "fs";
|
|
164497
164590
|
import { join as join85, extname as extname15 } from "path";
|
|
164498
164591
|
import { createHash as createHash12 } from "crypto";
|
|
164499
164592
|
function svgContentHashSlug(svgSource, isLogo) {
|
|
@@ -164521,7 +164614,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164521
164614
|
const name = `${finalSlug}.svg`;
|
|
164522
164615
|
const localPath = `assets/svgs/${name}`;
|
|
164523
164616
|
try {
|
|
164524
|
-
|
|
164617
|
+
writeFileSync31(join85(outputDir, localPath), svg.outerHTML, "utf-8");
|
|
164525
164618
|
assets.push({ url: "", localPath, type: "svg" });
|
|
164526
164619
|
} catch {
|
|
164527
164620
|
}
|
|
@@ -164534,7 +164627,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164534
164627
|
const localPath = `assets/${name}`;
|
|
164535
164628
|
const buffer = await fetchBuffer(icon.href);
|
|
164536
164629
|
if (buffer) {
|
|
164537
|
-
|
|
164630
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164538
164631
|
assets.push({ url: icon.href, localPath, type: "favicon" });
|
|
164539
164632
|
break;
|
|
164540
164633
|
}
|
|
@@ -164599,7 +164692,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164599
164692
|
const name = `${slug}${ext}`;
|
|
164600
164693
|
usedNames.add(slug);
|
|
164601
164694
|
const localPath = `assets/${name}`;
|
|
164602
|
-
|
|
164695
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164603
164696
|
assets.push({ url, localPath, type: "image" });
|
|
164604
164697
|
imgIdx++;
|
|
164605
164698
|
} catch {
|
|
@@ -164612,7 +164705,7 @@ async function downloadAssets(tokens, outputDir, catalogedAssets, faviconLinks)
|
|
|
164612
164705
|
const localPath = `assets/og-image${ext}`;
|
|
164613
164706
|
const buffer = await fetchBuffer(tokens.ogImage);
|
|
164614
164707
|
if (buffer && buffer.length > 5e3) {
|
|
164615
|
-
|
|
164708
|
+
writeFileSync31(join85(outputDir, localPath), buffer);
|
|
164616
164709
|
assets.push({ url: tokens.ogImage, localPath, type: "image" });
|
|
164617
164710
|
}
|
|
164618
164711
|
} catch {
|
|
@@ -164675,7 +164768,7 @@ async function downloadAndRewriteFonts(css, outputDir) {
|
|
|
164675
164768
|
const relativePath = `assets/fonts/${filename}`;
|
|
164676
164769
|
const buffer = await fetchBuffer(fontUrl);
|
|
164677
164770
|
if (buffer) {
|
|
164678
|
-
|
|
164771
|
+
writeFileSync31(localPath, buffer);
|
|
164679
164772
|
rewritten = rewritten.split(fontUrl).join(relativePath);
|
|
164680
164773
|
familyCounts.set(family, familyCount + 1);
|
|
164681
164774
|
count++;
|
|
@@ -166250,7 +166343,7 @@ var init_designStyleExtractor = __esm({
|
|
|
166250
166343
|
});
|
|
166251
166344
|
|
|
166252
166345
|
// src/capture/fontMetadataExtractor.ts
|
|
166253
|
-
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as
|
|
166346
|
+
import { readdirSync as readdirSync29, readFileSync as readFileSync57, writeFileSync as writeFileSync33, existsSync as existsSync86 } from "fs";
|
|
166254
166347
|
import { join as join87 } from "path";
|
|
166255
166348
|
import * as fontkit from "fontkit";
|
|
166256
166349
|
function isFontCollection(value) {
|
|
@@ -166284,7 +166377,7 @@ function extractFontMetadata(fontsDir, outputPath) {
|
|
|
166284
166377
|
tool: "fontkit"
|
|
166285
166378
|
}
|
|
166286
166379
|
};
|
|
166287
|
-
|
|
166380
|
+
writeFileSync33(outputPath, JSON.stringify(manifest, null, 2), "utf-8");
|
|
166288
166381
|
return manifest;
|
|
166289
166382
|
}
|
|
166290
166383
|
function readSingleFont(fullPath, filename) {
|
|
@@ -166573,7 +166666,7 @@ var init_animationCataloger = __esm({
|
|
|
166573
166666
|
});
|
|
166574
166667
|
|
|
166575
166668
|
// src/capture/mediaCapture.ts
|
|
166576
|
-
import { mkdirSync as mkdirSync43, writeFileSync as
|
|
166669
|
+
import { mkdirSync as mkdirSync43, writeFileSync as writeFileSync34, readdirSync as readdirSync30, readFileSync as readFileSync58, statSync as statSync27 } from "fs";
|
|
166577
166670
|
import { join as join88, extname as extname16 } from "path";
|
|
166578
166671
|
async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
166579
166672
|
let savedCount = 0;
|
|
@@ -166606,7 +166699,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166606
166699
|
const hash2 = buf.toString("base64").slice(0, 100);
|
|
166607
166700
|
if (savedHashes.has(hash2)) continue;
|
|
166608
166701
|
savedHashes.add(hash2);
|
|
166609
|
-
|
|
166702
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.lottie`), buf);
|
|
166610
166703
|
savedCount++;
|
|
166611
166704
|
continue;
|
|
166612
166705
|
}
|
|
@@ -166624,7 +166717,7 @@ async function saveLottieAnimations(discoveredLotties, lottieDir) {
|
|
|
166624
166717
|
} catch {
|
|
166625
166718
|
continue;
|
|
166626
166719
|
}
|
|
166627
|
-
|
|
166720
|
+
writeFileSync34(join88(lottieDir, `animation-${savedCount}.json`), jsonData, "utf-8");
|
|
166628
166721
|
savedCount++;
|
|
166629
166722
|
}
|
|
166630
166723
|
} catch {
|
|
@@ -166702,7 +166795,7 @@ async function renderLottiePreviews(chromeBrowser, lottieDir, outputDir) {
|
|
|
166702
166795
|
}
|
|
166703
166796
|
}
|
|
166704
166797
|
if (manifest.length > 0) {
|
|
166705
|
-
|
|
166798
|
+
writeFileSync34(
|
|
166706
166799
|
join88(outputDir, "extracted", "lottie-manifest.json"),
|
|
166707
166800
|
JSON.stringify(manifest, null, 2),
|
|
166708
166801
|
"utf-8"
|
|
@@ -166738,7 +166831,7 @@ async function downloadVideoBody(srcUrl, filename, videosDir) {
|
|
|
166738
166831
|
}
|
|
166739
166832
|
if (total < 1024) return null;
|
|
166740
166833
|
const safe = /\.[a-z0-9]+$/i.test(filename) ? filename.replace(/[^\w.-]/g, "_") : `video${ext}`;
|
|
166741
|
-
|
|
166834
|
+
writeFileSync34(join88(videosDir, safe), Buffer.concat(chunks));
|
|
166742
166835
|
return `assets/videos/${safe}`;
|
|
166743
166836
|
} catch {
|
|
166744
166837
|
return null;
|
|
@@ -166856,7 +166949,7 @@ async function captureVideoManifest(page, outputDir, progress, opts) {
|
|
|
166856
166949
|
});
|
|
166857
166950
|
}
|
|
166858
166951
|
if (videoManifest.length > 0) {
|
|
166859
|
-
|
|
166952
|
+
writeFileSync34(
|
|
166860
166953
|
join88(outputDir, "extracted", "video-manifest.json"),
|
|
166861
166954
|
JSON.stringify(videoManifest, null, 2),
|
|
166862
166955
|
"utf-8"
|
|
@@ -167309,7 +167402,7 @@ var agentPromptGenerator_exports = {};
|
|
|
167309
167402
|
__export(agentPromptGenerator_exports, {
|
|
167310
167403
|
generateAgentPrompt: () => generateAgentPrompt
|
|
167311
167404
|
});
|
|
167312
|
-
import { writeFileSync as
|
|
167405
|
+
import { writeFileSync as writeFileSync35, readdirSync as readdirSync33, existsSync as existsSync88 } from "fs";
|
|
167313
167406
|
import { join as join90 } from "path";
|
|
167314
167407
|
function inferColorRole(hex) {
|
|
167315
167408
|
const r2 = parseInt(hex.slice(1, 3), 16) / 255;
|
|
@@ -167329,9 +167422,9 @@ function inferColorRole(hex) {
|
|
|
167329
167422
|
}
|
|
167330
167423
|
function generateAgentPrompt(outputDir, url, tokens, _animations, hasScreenshot, hasLottie, hasShaders, _catalogedAssets, _detectedLibraries) {
|
|
167331
167424
|
const prompt = buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders);
|
|
167332
|
-
|
|
167333
|
-
|
|
167334
|
-
|
|
167425
|
+
writeFileSync35(join90(outputDir, "AGENTS.md"), prompt, "utf-8");
|
|
167426
|
+
writeFileSync35(join90(outputDir, "CLAUDE.md"), prompt, "utf-8");
|
|
167427
|
+
writeFileSync35(join90(outputDir, ".cursorrules"), prompt, "utf-8");
|
|
167335
167428
|
}
|
|
167336
167429
|
function buildPrompt(outputDir, url, tokens, hasScreenshot, hasLottie, hasShaders) {
|
|
167337
167430
|
const title = tokens.title || new URL(url).hostname.replace(/^www\./, "");
|
|
@@ -167444,7 +167537,7 @@ var init_agentPromptGenerator = __esm({
|
|
|
167444
167537
|
});
|
|
167445
167538
|
|
|
167446
167539
|
// src/capture/scaffolding.ts
|
|
167447
|
-
import { existsSync as existsSync89, writeFileSync as
|
|
167540
|
+
import { existsSync as existsSync89, writeFileSync as writeFileSync36, readFileSync as readFileSync60 } from "fs";
|
|
167448
167541
|
import { join as join91, resolve as resolve57 } from "path";
|
|
167449
167542
|
function loadEnvFile(startDir) {
|
|
167450
167543
|
try {
|
|
@@ -167474,7 +167567,7 @@ async function generateProjectScaffold(outputDir, url, tokens, animationCatalog,
|
|
|
167474
167567
|
const metaPath = join91(outputDir, "meta.json");
|
|
167475
167568
|
if (!existsSync89(metaPath)) {
|
|
167476
167569
|
const hostname = new URL(url).hostname.replace(/^www\./, "");
|
|
167477
|
-
|
|
167570
|
+
writeFileSync36(
|
|
167478
167571
|
metaPath,
|
|
167479
167572
|
JSON.stringify({ id: hostname + "-video", name: tokens.title || hostname }, null, 2),
|
|
167480
167573
|
"utf-8"
|
|
@@ -167509,7 +167602,7 @@ var screenshotCapture_exports = {};
|
|
|
167509
167602
|
__export(screenshotCapture_exports, {
|
|
167510
167603
|
captureScrollScreenshots: () => captureScrollScreenshots
|
|
167511
167604
|
});
|
|
167512
|
-
import { writeFileSync as
|
|
167605
|
+
import { writeFileSync as writeFileSync37, mkdirSync as mkdirSync44 } from "fs";
|
|
167513
167606
|
import { join as join93 } from "path";
|
|
167514
167607
|
async function captureScrollScreenshots(page, outputDir) {
|
|
167515
167608
|
const screenshotsDir = join93(outputDir, "screenshots");
|
|
@@ -167606,7 +167699,7 @@ async function captureScrollScreenshots(page, outputDir) {
|
|
|
167606
167699
|
const filename = `scroll-${String(Math.min(pct, 100)).padStart(3, "0")}.png`;
|
|
167607
167700
|
const filePath = join93(screenshotsDir, filename);
|
|
167608
167701
|
const buffer = await page.screenshot({ type: "png" });
|
|
167609
|
-
|
|
167702
|
+
writeFileSync37(filePath, buffer);
|
|
167610
167703
|
filePaths.push(`screenshots/${filename}`);
|
|
167611
167704
|
}
|
|
167612
167705
|
await page.evaluate(`window.scrollTo(0, 0)`);
|
|
@@ -167953,7 +168046,7 @@ var capture_exports = {};
|
|
|
167953
168046
|
__export(capture_exports, {
|
|
167954
168047
|
captureWebsite: () => captureWebsite
|
|
167955
168048
|
});
|
|
167956
|
-
import { mkdirSync as mkdirSync45, writeFileSync as
|
|
168049
|
+
import { mkdirSync as mkdirSync45, writeFileSync as writeFileSync38, existsSync as existsSync90 } from "fs";
|
|
167957
168050
|
import { join as join94 } from "path";
|
|
167958
168051
|
async function captureWebsite(opts, onProgress) {
|
|
167959
168052
|
const {
|
|
@@ -168152,7 +168245,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168152
168245
|
return true;
|
|
168153
168246
|
});
|
|
168154
168247
|
capturedShaders = unique;
|
|
168155
|
-
|
|
168248
|
+
writeFileSync38(
|
|
168156
168249
|
join94(outputDir, "extracted", "shaders.json"),
|
|
168157
168250
|
JSON.stringify(unique, null, 2),
|
|
168158
168251
|
"utf-8"
|
|
@@ -168167,7 +168260,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168167
168260
|
...tokens,
|
|
168168
168261
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168169
168262
|
};
|
|
168170
|
-
|
|
168263
|
+
writeFileSync38(
|
|
168171
168264
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168172
168265
|
JSON.stringify(tokensForDisk, null, 2),
|
|
168173
168266
|
"utf-8"
|
|
@@ -168175,7 +168268,7 @@ async function captureWebsite(opts, onProgress) {
|
|
|
168175
168268
|
progress("style", "Extracting design styles...");
|
|
168176
168269
|
try {
|
|
168177
168270
|
const designStyles = await extractDesignStyles(page1);
|
|
168178
|
-
|
|
168271
|
+
writeFileSync38(
|
|
168179
168272
|
join94(outputDir, "extracted", "design-styles.json"),
|
|
168180
168273
|
JSON.stringify(designStyles, null, 2),
|
|
168181
168274
|
"utf-8"
|
|
@@ -168282,7 +168375,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168282
168375
|
scrollTriggeredElements: (animationCatalog.scrollTargets || []).length,
|
|
168283
168376
|
representativeAnimations: representativeAnims
|
|
168284
168377
|
};
|
|
168285
|
-
|
|
168378
|
+
writeFileSync38(
|
|
168286
168379
|
join94(outputDir, "extracted", "animations.json"),
|
|
168287
168380
|
JSON.stringify(leanCatalog, null, 2),
|
|
168288
168381
|
"utf-8"
|
|
@@ -168313,7 +168406,7 @@ ${err.stack}` : normalizeErrorMessage(err);
|
|
|
168313
168406
|
...tokens,
|
|
168314
168407
|
svgs: tokens.svgs.map(({ outerHTML: _, ...rest }) => rest)
|
|
168315
168408
|
};
|
|
168316
|
-
|
|
168409
|
+
writeFileSync38(
|
|
168317
168410
|
join94(outputDir, "extracted", "tokens.json"),
|
|
168318
168411
|
JSON.stringify(tokensForDisk2, null, 2),
|
|
168319
168412
|
"utf-8"
|
|
@@ -168330,12 +168423,12 @@ ${extracted.bodyHtml}
|
|
|
168330
168423
|
</body>
|
|
168331
168424
|
</html>
|
|
168332
168425
|
`;
|
|
168333
|
-
|
|
168426
|
+
writeFileSync38(join94(outputDir, "extracted", "page.html"), pageHtml, "utf-8");
|
|
168334
168427
|
} catch (err) {
|
|
168335
168428
|
warnings.push(`page.html write failed: ${err}`);
|
|
168336
168429
|
}
|
|
168337
168430
|
if (visibleTextContent) {
|
|
168338
|
-
|
|
168431
|
+
writeFileSync38(join94(outputDir, "extracted", "visible-text.txt"), visibleTextContent, "utf-8");
|
|
168339
168432
|
}
|
|
168340
168433
|
const geminiCaptions = await captionImagesWithGemini(outputDir, progress, warnings);
|
|
168341
168434
|
progress("design", "Generating asset descriptions...");
|
|
@@ -168344,7 +168437,7 @@ ${extracted.bodyHtml}
|
|
|
168344
168437
|
if (lines.length > 0) {
|
|
168345
168438
|
const hasGeminiKey = !!(process.env.GEMINI_API_KEY || process.env.GOOGLE_API_KEY);
|
|
168346
168439
|
const header = hasGeminiKey ? "# Asset Descriptions\n\nOne line per file. Read this instead of opening every image individually.\n\nTo find a specific brand or icon, **grep this file for the brand name in the description text** (e.g. `grep -i 'autodesk' asset-descriptions.md`). The Gemini Vision captions identify what's actually in each file \u2014 that's the agent's selector.\n\nThe `logo-<hash>.svg` filename prefix is a cheap structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). It is NOT a content claim \u2014 many `logo-*` files are nav icons or decorative shapes. Trust the captions, not the filename prefix.\n\n" : "# Asset Descriptions\n\n\u26A0\uFE0F GEMINI_API_KEY not set \u2014 descriptions below are catalog-derived (alt text, headings, section context, filename) instead of Vision-generated. To get richer Vision descriptions on the next capture, set GEMINI_API_KEY (or GOOGLE_API_KEY) and re-run.\n\nThe `logo-<hash>.svg` filename prefix is a structural hint (DOM said this SVG was inside a `<header>`, home-link `<a>`, or had an aria-label matching the page brand). To pick the actual brand logo without Vision, open the `logo-*` candidates in a previewer or rasterize them with `sharp` before referencing \u2014 composing a fake logo ships off-brand in the final video.\n\n";
|
|
168347
|
-
|
|
168440
|
+
writeFileSync38(
|
|
168348
168441
|
join94(outputDir, "extracted", "asset-descriptions.md"),
|
|
168349
168442
|
header + lines.map((l) => "- " + l).join("\n") + "\n",
|
|
168350
168443
|
"utf-8"
|
|
@@ -168636,11 +168729,11 @@ var init_capture2 = __esm({
|
|
|
168636
168729
|
} catch (err) {
|
|
168637
168730
|
const errMsg = normalizeErrorMessage(err);
|
|
168638
168731
|
try {
|
|
168639
|
-
const { mkdirSync:
|
|
168640
|
-
|
|
168732
|
+
const { mkdirSync: mkdirSync56, writeFileSync: writeFileSync48 } = await import("fs");
|
|
168733
|
+
mkdirSync56(outputDir, { recursive: true });
|
|
168641
168734
|
const isTimeout = /timeout|timed out/i.test(errMsg);
|
|
168642
168735
|
const reason = isTimeout ? "Page navigation timed out \u2014 the site may be blocking headless browsers or requires authentication." : `Capture failed: ${errMsg}`;
|
|
168643
|
-
|
|
168736
|
+
writeFileSync48(
|
|
168644
168737
|
`${outputDir}/BLOCKED.md`,
|
|
168645
168738
|
`# Capture Failed
|
|
168646
168739
|
|
|
@@ -168683,7 +168776,7 @@ __export(state_exports, {
|
|
|
168683
168776
|
stateFilePath: () => stateFilePath,
|
|
168684
168777
|
writeStackOutputs: () => writeStackOutputs
|
|
168685
168778
|
});
|
|
168686
|
-
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as
|
|
168779
|
+
import { existsSync as existsSync91, mkdirSync as mkdirSync46, readdirSync as readdirSync34, readFileSync as readFileSync61, rmSync as rmSync20, writeFileSync as writeFileSync39 } from "fs";
|
|
168687
168780
|
import { dirname as dirname40, join as join95 } from "path";
|
|
168688
168781
|
function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
168689
168782
|
return join95(cwd, STATE_DIR_NAME, `${STATE_FILE_PREFIX}${stackName}.json`);
|
|
@@ -168691,7 +168784,7 @@ function stateFilePath(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
|
168691
168784
|
function writeStackOutputs(outputs, cwd = process.cwd()) {
|
|
168692
168785
|
const path2 = stateFilePath(outputs.stackName, cwd);
|
|
168693
168786
|
mkdirSync46(dirname40(path2), { recursive: true });
|
|
168694
|
-
|
|
168787
|
+
writeFileSync39(path2, JSON.stringify(outputs, null, 2) + "\n");
|
|
168695
168788
|
return path2;
|
|
168696
168789
|
}
|
|
168697
168790
|
function readStackOutputs(stackName = DEFAULT_STACK_NAME, cwd = process.cwd()) {
|
|
@@ -169072,14 +169165,14 @@ async function runRender(args) {
|
|
|
169072
169165
|
});
|
|
169073
169166
|
const variables = resolveVariablesArg(args.variables, args.variablesFile);
|
|
169074
169167
|
if (variables && Object.keys(variables).length > 0) {
|
|
169075
|
-
const
|
|
169076
|
-
if (existsSync95(
|
|
169077
|
-
const issues = validateVariablesAgainstProject(
|
|
169168
|
+
const indexPath2 = join99(projectDir, "index.html");
|
|
169169
|
+
if (existsSync95(indexPath2)) {
|
|
169170
|
+
const issues = validateVariablesAgainstProject(indexPath2, variables);
|
|
169078
169171
|
reportVariableIssues(issues, { strict: args.strictVariables ?? false, quiet: args.json });
|
|
169079
169172
|
} else if (args.strictVariables && !args.json) {
|
|
169080
169173
|
console.warn(
|
|
169081
169174
|
c.warn(
|
|
169082
|
-
`--strict-variables: no ${
|
|
169175
|
+
`--strict-variables: no ${indexPath2} on disk \u2014 schema validation skipped. Variables flow through unchecked. To enable strict checking, run from a project dir that contains the composition.`
|
|
169083
169176
|
)
|
|
169084
169177
|
);
|
|
169085
169178
|
}
|
|
@@ -170243,7 +170336,7 @@ __export(cloudrun_exports, {
|
|
|
170243
170336
|
});
|
|
170244
170337
|
import { spawnSync as spawnSync6 } from "child_process";
|
|
170245
170338
|
import { createRequire as createRequire4 } from "module";
|
|
170246
|
-
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as
|
|
170339
|
+
import { existsSync as existsSync97, mkdirSync as mkdirSync47, readFileSync as readFileSync66, writeFileSync as writeFileSync40 } from "fs";
|
|
170247
170340
|
import { homedir as homedir14 } from "os";
|
|
170248
170341
|
import { dirname as dirname42, join as join101, resolve as resolve61 } from "path";
|
|
170249
170342
|
function stateDir() {
|
|
@@ -170254,7 +170347,7 @@ function statePath() {
|
|
|
170254
170347
|
}
|
|
170255
170348
|
function writeState(state) {
|
|
170256
170349
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170257
|
-
|
|
170350
|
+
writeFileSync40(statePath(), JSON.stringify(state, null, 2));
|
|
170258
170351
|
}
|
|
170259
170352
|
function readState(args) {
|
|
170260
170353
|
const overrides = {
|
|
@@ -170417,7 +170510,7 @@ function findRepoRoot(tfDir) {
|
|
|
170417
170510
|
function writeCloudBuildConfig(image) {
|
|
170418
170511
|
const cfgPath = join101(stateDir(), "cloudrun-cloudbuild.yaml");
|
|
170419
170512
|
mkdirSync47(stateDir(), { recursive: true });
|
|
170420
|
-
|
|
170513
|
+
writeFileSync40(
|
|
170421
170514
|
cfgPath,
|
|
170422
170515
|
[
|
|
170423
170516
|
"steps:",
|
|
@@ -170701,9 +170794,9 @@ function resolveAndValidateVariables(args, projectDir) {
|
|
|
170701
170794
|
args["variables-file"]
|
|
170702
170795
|
);
|
|
170703
170796
|
if (variables && Object.keys(variables).length > 0) {
|
|
170704
|
-
const
|
|
170705
|
-
if (existsSync97(
|
|
170706
|
-
const issues = validateVariablesAgainstProject(
|
|
170797
|
+
const indexPath2 = join101(projectDir, "index.html");
|
|
170798
|
+
if (existsSync97(indexPath2)) {
|
|
170799
|
+
const issues = validateVariablesAgainstProject(indexPath2, variables);
|
|
170707
170800
|
reportVariableIssues(issues, {
|
|
170708
170801
|
strict: Boolean(args["strict-variables"]),
|
|
170709
170802
|
quiet: Boolean(args.json)
|
|
@@ -172701,8 +172794,8 @@ function resolveVariablesAndValidateIfLocal(inline, filePath, strict, source) {
|
|
|
172701
172794
|
const variables = resolveVariablesArg(inline, filePath);
|
|
172702
172795
|
if (!variables || Object.keys(variables).length === 0) return variables;
|
|
172703
172796
|
if (source.kind !== "dir") return variables;
|
|
172704
|
-
const { indexPath } = resolveProject(source.dir);
|
|
172705
|
-
const issues = validateVariablesAgainstProject(
|
|
172797
|
+
const { indexPath: indexPath2 } = resolveProject(source.dir);
|
|
172798
|
+
const issues = validateVariablesAgainstProject(indexPath2, variables);
|
|
172706
172799
|
reportVariableIssues(issues, { strict, quiet: false });
|
|
172707
172800
|
return variables;
|
|
172708
172801
|
}
|
|
@@ -174367,7 +174460,7 @@ var init_parseFigmaRef = __esm({
|
|
|
174367
174460
|
});
|
|
174368
174461
|
|
|
174369
174462
|
// ../core/dist/figma/freeze.js
|
|
174370
|
-
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as
|
|
174463
|
+
import { copyFileSync as copyFileSync8, mkdirSync as mkdirSync49, rmSync as rmSync21, statSync as statSync29, writeFileSync as writeFileSync41 } from "fs";
|
|
174371
174464
|
import { dirname as dirname45 } from "path";
|
|
174372
174465
|
function exceedsFreezeCap(byteLength) {
|
|
174373
174466
|
return byteLength > MAX_FREEZE_BYTES;
|
|
@@ -174379,12 +174472,12 @@ function freezeBytes(bytes, destPath) {
|
|
|
174379
174472
|
throw new Error(`freeze failed: ${bytes.length} bytes exceeds ${MAX_FREEZE_BYTES} cap`);
|
|
174380
174473
|
mkdirSync49(dirname45(destPath), { recursive: true });
|
|
174381
174474
|
try {
|
|
174382
|
-
|
|
174475
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174383
174476
|
} catch (err) {
|
|
174384
174477
|
if (err.code !== "EEXIST")
|
|
174385
174478
|
throw err;
|
|
174386
174479
|
rmSync21(destPath);
|
|
174387
|
-
|
|
174480
|
+
writeFileSync41(destPath, bytes, { flag: "wx" });
|
|
174388
174481
|
}
|
|
174389
174482
|
return bytes.length;
|
|
174390
174483
|
}
|
|
@@ -174421,7 +174514,7 @@ var init_jsonl = __esm({
|
|
|
174421
174514
|
});
|
|
174422
174515
|
|
|
174423
174516
|
// ../core/dist/figma/manifest.js
|
|
174424
|
-
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69 } from "fs";
|
|
174517
|
+
import { appendFileSync as appendFileSync2, existsSync as existsSync100, mkdirSync as mkdirSync50, readFileSync as readFileSync69, writeFileSync as writeFileSync43 } from "fs";
|
|
174425
174518
|
import { join as join104 } from "path";
|
|
174426
174519
|
function mediaDir(projectDir) {
|
|
174427
174520
|
return join104(projectDir, ".media");
|
|
@@ -174457,12 +174550,25 @@ function appendRecord(projectDir, record) {
|
|
|
174457
174550
|
mkdirSync50(typeDirPath(projectDir, record.type), { recursive: true });
|
|
174458
174551
|
appendFileSync2(manifestPath(projectDir), JSON.stringify(record) + "\n");
|
|
174459
174552
|
}
|
|
174460
|
-
function
|
|
174461
|
-
|
|
174462
|
-
|
|
174463
|
-
|
|
174464
|
-
|
|
174465
|
-
|
|
174553
|
+
function findAllByFigmaNode(projectDir, fileKey, nodeId) {
|
|
174554
|
+
return readManifest(projectDir).filter((r2) => r2.provenance.source === "figma" && r2.provenance.fileKey === fileKey && r2.provenance.nodeId === nodeId);
|
|
174555
|
+
}
|
|
174556
|
+
function updateRecord(projectDir, record) {
|
|
174557
|
+
const p2 = manifestPath(projectDir);
|
|
174558
|
+
const lines = readFileSync69(p2, "utf8").split(/\r?\n/);
|
|
174559
|
+
const out = lines.map((line2) => {
|
|
174560
|
+
const trimmed = line2.trim();
|
|
174561
|
+
if (trimmed.length === 0)
|
|
174562
|
+
return line2;
|
|
174563
|
+
try {
|
|
174564
|
+
const parsed = JSON.parse(trimmed);
|
|
174565
|
+
if (isFigmaManifestRecord(parsed) && parsed.id === record.id)
|
|
174566
|
+
return JSON.stringify(record);
|
|
174567
|
+
} catch {
|
|
174568
|
+
}
|
|
174569
|
+
return line2;
|
|
174570
|
+
});
|
|
174571
|
+
writeFileSync43(p2, out.join("\n"));
|
|
174466
174572
|
}
|
|
174467
174573
|
function nextId(projectDir, type) {
|
|
174468
174574
|
const re2 = new RegExp(`^${type}_(\\d+)$`);
|
|
@@ -174502,6 +174608,70 @@ var init_manifest = __esm({
|
|
|
174502
174608
|
}
|
|
174503
174609
|
});
|
|
174504
174610
|
|
|
174611
|
+
// ../core/dist/figma/mediaIndex.js
|
|
174612
|
+
import { mkdirSync as mkdirSync51, writeFileSync as writeFileSync44 } from "fs";
|
|
174613
|
+
import { dirname as dirname46, join as join105 } from "path";
|
|
174614
|
+
function isRow(value) {
|
|
174615
|
+
return typeof value === "object" && value !== null;
|
|
174616
|
+
}
|
|
174617
|
+
function indexPath(projectDir) {
|
|
174618
|
+
return join105(mediaDir(projectDir), "index.md");
|
|
174619
|
+
}
|
|
174620
|
+
function pad(str, len2) {
|
|
174621
|
+
return String(str ?? "").padEnd(len2);
|
|
174622
|
+
}
|
|
174623
|
+
function formatDur(r2) {
|
|
174624
|
+
if (r2.duration == null)
|
|
174625
|
+
return "\u2014";
|
|
174626
|
+
return `${String(r2.duration)}s`;
|
|
174627
|
+
}
|
|
174628
|
+
function formatDims(r2) {
|
|
174629
|
+
if (r2.width && r2.height)
|
|
174630
|
+
return `${String(r2.width)}\xD7${String(r2.height)}`;
|
|
174631
|
+
if (r2.type === "icon" && r2.transparent)
|
|
174632
|
+
return "svg";
|
|
174633
|
+
return "\u2014";
|
|
174634
|
+
}
|
|
174635
|
+
function len(value) {
|
|
174636
|
+
return String(value ?? "").length;
|
|
174637
|
+
}
|
|
174638
|
+
function generateIndexContent(records) {
|
|
174639
|
+
const count = records.length;
|
|
174640
|
+
const header = `# .media \xB7 ${count} asset${count === 1 ? "" : "s"}
|
|
174641
|
+
`;
|
|
174642
|
+
if (count === 0)
|
|
174643
|
+
return header;
|
|
174644
|
+
const cols = { id: 4, type: 5, dur: 4, dims: 5, path: 5 };
|
|
174645
|
+
for (const r2 of records) {
|
|
174646
|
+
cols.id = Math.max(cols.id, len(r2.id));
|
|
174647
|
+
cols.type = Math.max(cols.type, len(r2.type));
|
|
174648
|
+
cols.dur = Math.max(cols.dur, formatDur(r2).length);
|
|
174649
|
+
cols.dims = Math.max(cols.dims, formatDims(r2).length);
|
|
174650
|
+
cols.path = Math.max(cols.path, len(r2.path));
|
|
174651
|
+
}
|
|
174652
|
+
const heading = pad("id", cols.id + 2) + pad("type", cols.type + 2) + pad("dur", cols.dur + 2) + pad("dims", cols.dims + 2) + pad("path", cols.path + 2) + "description";
|
|
174653
|
+
const lines = [header, heading];
|
|
174654
|
+
for (const r2 of records) {
|
|
174655
|
+
lines.push(pad(r2.id, cols.id + 2) + pad(r2.type, cols.type + 2) + pad(formatDur(r2), cols.dur + 2) + pad(formatDims(r2), cols.dims + 2) + pad(r2.path, cols.path + 2) + String(r2.description ?? ""));
|
|
174656
|
+
}
|
|
174657
|
+
return lines.join("\n") + "\n";
|
|
174658
|
+
}
|
|
174659
|
+
function regenerateIndex(projectDir) {
|
|
174660
|
+
const records = readJsonlValues(manifestPath(projectDir)).filter(isRow);
|
|
174661
|
+
const content = generateIndexContent(records);
|
|
174662
|
+
const p2 = indexPath(projectDir);
|
|
174663
|
+
mkdirSync51(dirname46(p2), { recursive: true });
|
|
174664
|
+
writeFileSync44(p2, content);
|
|
174665
|
+
return content;
|
|
174666
|
+
}
|
|
174667
|
+
var init_mediaIndex = __esm({
|
|
174668
|
+
"../core/dist/figma/mediaIndex.js"() {
|
|
174669
|
+
"use strict";
|
|
174670
|
+
init_jsonl();
|
|
174671
|
+
init_manifest();
|
|
174672
|
+
}
|
|
174673
|
+
});
|
|
174674
|
+
|
|
174505
174675
|
// ../core/dist/figma/assetSnippet.js
|
|
174506
174676
|
function escapeAttr(value) {
|
|
174507
174677
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
@@ -174556,10 +174726,10 @@ var init_sanitizeSvg = __esm({
|
|
|
174556
174726
|
});
|
|
174557
174727
|
|
|
174558
174728
|
// ../core/dist/figma/bindings.js
|
|
174559
|
-
import { appendFileSync as appendFileSync3, mkdirSync as
|
|
174560
|
-
import { join as
|
|
174729
|
+
import { appendFileSync as appendFileSync3, mkdirSync as mkdirSync53, writeFileSync as writeFileSync45 } from "fs";
|
|
174730
|
+
import { join as join106 } from "path";
|
|
174561
174731
|
function bindingsPath(projectDir) {
|
|
174562
|
-
return
|
|
174732
|
+
return join106(mediaDir(projectDir), BINDINGS_FILE);
|
|
174563
174733
|
}
|
|
174564
174734
|
function isRecord6(value) {
|
|
174565
174735
|
return typeof value === "object" && value !== null;
|
|
@@ -174576,9 +174746,9 @@ function readBindings(projectDir) {
|
|
|
174576
174746
|
function upsertBindings(projectDir, records) {
|
|
174577
174747
|
const incoming = new Set(records.map((r2) => r2.figmaId));
|
|
174578
174748
|
const survivors = readLines(projectDir).filter((line2) => !(isBindingRecord(line2) && incoming.has(line2.figmaId)));
|
|
174579
|
-
|
|
174749
|
+
mkdirSync53(mediaDir(projectDir), { recursive: true });
|
|
174580
174750
|
const lines = [...survivors, ...records].map((r2) => JSON.stringify(r2)).join("\n");
|
|
174581
|
-
|
|
174751
|
+
writeFileSync45(bindingsPath(projectDir), lines.length > 0 ? lines + "\n" : "");
|
|
174582
174752
|
}
|
|
174583
174753
|
var BINDINGS_FILE;
|
|
174584
174754
|
var init_bindings = __esm({
|
|
@@ -175055,6 +175225,7 @@ var init_figma = __esm({
|
|
|
175055
175225
|
init_parseFigmaRef();
|
|
175056
175226
|
init_freeze();
|
|
175057
175227
|
init_manifest();
|
|
175228
|
+
init_mediaIndex();
|
|
175058
175229
|
init_assetSnippet();
|
|
175059
175230
|
init_sanitizeSvg();
|
|
175060
175231
|
init_bindings();
|
|
@@ -175113,7 +175284,7 @@ __export(asset_exports, {
|
|
|
175113
175284
|
runAssetImport: () => runAssetImport
|
|
175114
175285
|
});
|
|
175115
175286
|
import { existsSync as existsSync101 } from "fs";
|
|
175116
|
-
import { join as
|
|
175287
|
+
import { join as join107, relative as relative16 } from "path";
|
|
175117
175288
|
async function runAssetImport(refInput, opts, deps) {
|
|
175118
175289
|
const ref2 = parseFigmaRef(refInput);
|
|
175119
175290
|
if (!ref2.nodeId)
|
|
@@ -175121,9 +175292,23 @@ async function runAssetImport(refInput, opts, deps) {
|
|
|
175121
175292
|
`ref "${refInput}" has no node id \u2014 share a link with ?node-id=\u2026 or use fileKey:nodeId`
|
|
175122
175293
|
);
|
|
175123
175294
|
const { version: version2 } = await deps.client.fileVersion(ref2.fileKey);
|
|
175124
|
-
const
|
|
175125
|
-
|
|
175126
|
-
|
|
175295
|
+
const description = normalizeMeta(opts.description);
|
|
175296
|
+
const entity = normalizeMeta(opts.entity);
|
|
175297
|
+
const existing = findAllByFigmaNode(deps.projectDir, ref2.fileKey, ref2.nodeId).find(
|
|
175298
|
+
(r2) => r2.provenance.format === opts.format && (r2.provenance.scale ?? 1) === (opts.scale ?? 1) && r2.provenance.version === version2 && existsSync101(join107(deps.projectDir, r2.path))
|
|
175299
|
+
);
|
|
175300
|
+
if (existing) {
|
|
175301
|
+
let record2 = existing;
|
|
175302
|
+
if (description !== void 0 && description !== existing.description || entity !== void 0 && entity !== existing.entity) {
|
|
175303
|
+
record2 = {
|
|
175304
|
+
...existing,
|
|
175305
|
+
...description !== void 0 && { description },
|
|
175306
|
+
...entity !== void 0 && { entity }
|
|
175307
|
+
};
|
|
175308
|
+
updateRecord(deps.projectDir, record2);
|
|
175309
|
+
}
|
|
175310
|
+
safeRegenerateIndex(deps.projectDir);
|
|
175311
|
+
return { record: record2, snippet: buildAssetSnippet(record2), reused: true };
|
|
175127
175312
|
}
|
|
175128
175313
|
const rendered = await deps.client.renderNode(ref2, opts);
|
|
175129
175314
|
let bytes = await deps.download(rendered.url);
|
|
@@ -175134,13 +175319,15 @@ async function runAssetImport(refInput, opts, deps) {
|
|
|
175134
175319
|
bytes = new TextEncoder().encode(sanitizeSvg(new TextDecoder().decode(bytes)));
|
|
175135
175320
|
}
|
|
175136
175321
|
const id = nextId(deps.projectDir, "image");
|
|
175137
|
-
const destAbs =
|
|
175322
|
+
const destAbs = join107(typeDirPath(deps.projectDir, "image"), `${id}.${rendered.ext}`);
|
|
175138
175323
|
freezeBytes(bytes, destAbs);
|
|
175139
175324
|
const record = {
|
|
175140
175325
|
id,
|
|
175141
175326
|
type: "image",
|
|
175142
175327
|
path: relative16(deps.projectDir, destAbs),
|
|
175143
175328
|
source: `figma:${ref2.fileKey}/${ref2.nodeId}`,
|
|
175329
|
+
...description !== void 0 && { description },
|
|
175330
|
+
...entity !== void 0 && { entity },
|
|
175144
175331
|
provenance: {
|
|
175145
175332
|
source: "figma",
|
|
175146
175333
|
fileKey: ref2.fileKey,
|
|
@@ -175151,8 +175338,21 @@ async function runAssetImport(refInput, opts, deps) {
|
|
|
175151
175338
|
}
|
|
175152
175339
|
};
|
|
175153
175340
|
appendRecord(deps.projectDir, record);
|
|
175341
|
+
safeRegenerateIndex(deps.projectDir);
|
|
175154
175342
|
return { record, snippet: buildAssetSnippet(record), reused: false };
|
|
175155
175343
|
}
|
|
175344
|
+
function normalizeMeta(value) {
|
|
175345
|
+
if (value === void 0) return void 0;
|
|
175346
|
+
const cleaned = value.replace(/\s+/g, " ").trim();
|
|
175347
|
+
return cleaned.length > 0 ? cleaned : void 0;
|
|
175348
|
+
}
|
|
175349
|
+
function safeRegenerateIndex(projectDir) {
|
|
175350
|
+
try {
|
|
175351
|
+
regenerateIndex(projectDir);
|
|
175352
|
+
} catch (err) {
|
|
175353
|
+
console.warn(`index.md regeneration failed: ${err instanceof Error ? err.message : err}`);
|
|
175354
|
+
}
|
|
175355
|
+
}
|
|
175156
175356
|
function parseFormat3(raw) {
|
|
175157
175357
|
for (const f3 of FORMATS3) if (f3 === raw) return f3;
|
|
175158
175358
|
throw new Error(`unsupported format "${raw}" \u2014 use one of ${FORMATS3.join(", ")}`);
|
|
@@ -175176,6 +175376,14 @@ var init_asset = __esm({
|
|
|
175176
175376
|
},
|
|
175177
175377
|
format: { type: "string", description: "png | svg | jpg | pdf", default: "svg" },
|
|
175178
175378
|
scale: { type: "string", description: "export scale (e.g. 2)" },
|
|
175379
|
+
description: {
|
|
175380
|
+
type: "string",
|
|
175381
|
+
description: "what this asset is (index.md + <img alt>); e.g. the layer's purpose"
|
|
175382
|
+
},
|
|
175383
|
+
entity: {
|
|
175384
|
+
type: "string",
|
|
175385
|
+
description: 'entity name for media-use cache lookups (e.g. "Acme logo")'
|
|
175386
|
+
},
|
|
175179
175387
|
dir: { type: "string", description: "project directory", default: "." }
|
|
175180
175388
|
},
|
|
175181
175389
|
async run({ args }) {
|
|
@@ -175186,7 +175394,9 @@ var init_asset = __esm({
|
|
|
175186
175394
|
args.ref,
|
|
175187
175395
|
{
|
|
175188
175396
|
format: parseFormat3(args.format),
|
|
175189
|
-
scale: args.scale !== void 0 ? Number(args.scale) : void 0
|
|
175397
|
+
scale: args.scale !== void 0 ? Number(args.scale) : void 0,
|
|
175398
|
+
description: args.description,
|
|
175399
|
+
entity: args.entity
|
|
175190
175400
|
},
|
|
175191
175401
|
{ projectDir: args.dir, client, download: downloadRender }
|
|
175192
175402
|
);
|
|
@@ -175205,12 +175415,12 @@ __export(tokens_exports, {
|
|
|
175205
175415
|
default: () => tokens_default,
|
|
175206
175416
|
runTokensImport: () => runTokensImport
|
|
175207
175417
|
});
|
|
175208
|
-
import { writeFileSync as
|
|
175209
|
-
import { join as
|
|
175418
|
+
import { writeFileSync as writeFileSync46 } from "fs";
|
|
175419
|
+
import { join as join108 } from "path";
|
|
175210
175420
|
async function runTokensImport(refInput, deps) {
|
|
175211
175421
|
const { fileKey } = parseFigmaRef(refInput);
|
|
175212
175422
|
const { version: version2 } = await deps.client.fileVersion(fileKey);
|
|
175213
|
-
const sidecarPath =
|
|
175423
|
+
const sidecarPath = join108(deps.projectDir, "figma-tokens.json");
|
|
175214
175424
|
let vars = null;
|
|
175215
175425
|
try {
|
|
175216
175426
|
vars = await deps.client.variables(fileKey);
|
|
@@ -175220,7 +175430,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175220
175430
|
if (vars !== null) {
|
|
175221
175431
|
const out = tokensToVariables(vars, { fileKey, version: version2 });
|
|
175222
175432
|
upsertBindings(deps.projectDir, out.bindings);
|
|
175223
|
-
|
|
175433
|
+
writeFileSync46(sidecarPath, JSON.stringify(out.sidecar, null, 2) + "\n");
|
|
175224
175434
|
return { mode: "variables", entries: out.entries, sidecarPath };
|
|
175225
175435
|
}
|
|
175226
175436
|
const styles = await deps.client.styles(fileKey);
|
|
@@ -175234,7 +175444,7 @@ async function runTokensImport(refInput, deps) {
|
|
|
175234
175444
|
value: null
|
|
175235
175445
|
}))
|
|
175236
175446
|
};
|
|
175237
|
-
|
|
175447
|
+
writeFileSync46(sidecarPath, JSON.stringify(sidecar, null, 2) + "\n");
|
|
175238
175448
|
return { mode: "styles", entries: [], sidecarPath };
|
|
175239
175449
|
}
|
|
175240
175450
|
var tokens_default;
|
|
@@ -175276,8 +175486,8 @@ __export(component_exports, {
|
|
|
175276
175486
|
default: () => component_default,
|
|
175277
175487
|
runComponentImport: () => runComponentImport
|
|
175278
175488
|
});
|
|
175279
|
-
import { existsSync as existsSync102, mkdirSync as
|
|
175280
|
-
import { join as
|
|
175489
|
+
import { existsSync as existsSync102, mkdirSync as mkdirSync54, writeFileSync as writeFileSync47 } from "fs";
|
|
175490
|
+
import { join as join109, relative as relative17 } from "path";
|
|
175281
175491
|
function escapeAttr2(value) {
|
|
175282
175492
|
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
175283
175493
|
}
|
|
@@ -175288,20 +175498,22 @@ async function runComponentImport(refInput, deps) {
|
|
|
175288
175498
|
const bindings = resolveBindings(tree, readBindings(deps.projectDir));
|
|
175289
175499
|
const mapped = nodeToHtml(tree, bindings);
|
|
175290
175500
|
const name = slugify2(tree.name);
|
|
175291
|
-
const componentDir =
|
|
175501
|
+
const componentDir = join109(deps.projectDir, "compositions", "components", name);
|
|
175292
175502
|
if (existsSync102(componentDir))
|
|
175293
175503
|
console.warn(
|
|
175294
175504
|
`component dir compositions/components/${name} already exists \u2014 overwriting (rename the figma frame for a separate import)`
|
|
175295
175505
|
);
|
|
175296
|
-
|
|
175506
|
+
mkdirSync54(componentDir, { recursive: true });
|
|
175297
175507
|
let html = mapped.html;
|
|
175508
|
+
const frozenAssets = [];
|
|
175298
175509
|
for (const req of mapped.rasterize) {
|
|
175299
175510
|
const asset = await runAssetImport(
|
|
175300
175511
|
`${ref2.fileKey}:${req.nodeId}`,
|
|
175301
|
-
{ format: "svg" },
|
|
175512
|
+
{ format: "svg", description: req.name },
|
|
175302
175513
|
{ projectDir: deps.projectDir, client: deps.client, download: deps.download }
|
|
175303
175514
|
);
|
|
175304
|
-
|
|
175515
|
+
frozenAssets.push(asset.record.path);
|
|
175516
|
+
const srcRel = relative17(componentDir, join109(deps.projectDir, asset.record.path)).replaceAll(
|
|
175305
175517
|
"\\",
|
|
175306
175518
|
"/"
|
|
175307
175519
|
);
|
|
@@ -175311,8 +175523,8 @@ async function runComponentImport(refInput, deps) {
|
|
|
175311
175523
|
`data-figma-rasterize="${emittedId}" src="${escapeAttr2(srcRel)}" `
|
|
175312
175524
|
);
|
|
175313
175525
|
}
|
|
175314
|
-
const htmlFile =
|
|
175315
|
-
|
|
175526
|
+
const htmlFile = join109(componentDir, `${name}.html`);
|
|
175527
|
+
writeFileSync47(htmlFile, html + "\n");
|
|
175316
175528
|
const registryItem = {
|
|
175317
175529
|
name,
|
|
175318
175530
|
type: "hyperframes:component",
|
|
@@ -175323,15 +175535,17 @@ async function runComponentImport(refInput, deps) {
|
|
|
175323
175535
|
target: `compositions/components/${name}/${name}.html`,
|
|
175324
175536
|
type: "hyperframes:snippet"
|
|
175325
175537
|
},
|
|
175326
|
-
|
|
175327
|
-
|
|
175328
|
-
|
|
175538
|
+
// The paths the frozen files ACTUALLY landed at (image_NNN.svg), which
|
|
175539
|
+
// is also what the emitted HTML references — not the slug names.
|
|
175540
|
+
...frozenAssets.map((p2) => ({
|
|
175541
|
+
path: p2.split("/").pop() ?? p2,
|
|
175542
|
+
target: p2.replaceAll("\\", "/"),
|
|
175329
175543
|
type: "hyperframes:asset"
|
|
175330
175544
|
}))
|
|
175331
175545
|
]
|
|
175332
175546
|
};
|
|
175333
|
-
|
|
175334
|
-
|
|
175547
|
+
writeFileSync47(
|
|
175548
|
+
join109(componentDir, "registry-item.json"),
|
|
175335
175549
|
JSON.stringify(registryItem, null, 2) + "\n"
|
|
175336
175550
|
);
|
|
175337
175551
|
return {
|
|
@@ -175571,9 +175785,9 @@ __export(autoUpdate_exports, {
|
|
|
175571
175785
|
scheduleBackgroundInstall: () => scheduleBackgroundInstall
|
|
175572
175786
|
});
|
|
175573
175787
|
import { spawn as spawn17 } from "child_process";
|
|
175574
|
-
import { appendFileSync as appendFileSync4, mkdirSync as
|
|
175788
|
+
import { appendFileSync as appendFileSync4, mkdirSync as mkdirSync55, openSync as openSync4 } from "fs";
|
|
175575
175789
|
import { homedir as homedir16 } from "os";
|
|
175576
|
-
import { join as
|
|
175790
|
+
import { join as join110 } from "path";
|
|
175577
175791
|
import { compareVersions as compareVersions3 } from "compare-versions";
|
|
175578
175792
|
function isAutoInstallDisabled() {
|
|
175579
175793
|
if (isDevMode()) return true;
|
|
@@ -175588,15 +175802,15 @@ function majorOf(version2) {
|
|
|
175588
175802
|
}
|
|
175589
175803
|
function log(line2) {
|
|
175590
175804
|
try {
|
|
175591
|
-
|
|
175805
|
+
mkdirSync55(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
175592
175806
|
appendFileSync4(LOG_FILE, `${(/* @__PURE__ */ new Date()).toISOString()} ${line2}
|
|
175593
175807
|
`, { mode: 384 });
|
|
175594
175808
|
} catch {
|
|
175595
175809
|
}
|
|
175596
175810
|
}
|
|
175597
175811
|
function launchDetachedInstall(installCommand, version2) {
|
|
175598
|
-
|
|
175599
|
-
const configFile =
|
|
175812
|
+
mkdirSync55(CONFIG_DIR2, { recursive: true, mode: 448 });
|
|
175813
|
+
const configFile = join110(CONFIG_DIR2, "config.json");
|
|
175600
175814
|
const nodeScript = `
|
|
175601
175815
|
const { exec } = require("node:child_process");
|
|
175602
175816
|
const { readFileSync, renameSync, writeFileSync } = require("node:fs");
|
|
@@ -175620,7 +175834,7 @@ function launchDetachedInstall(installCommand, version2) {
|
|
|
175620
175834
|
} catch (e) {}
|
|
175621
175835
|
});
|
|
175622
175836
|
`;
|
|
175623
|
-
const out =
|
|
175837
|
+
const out = openSync4(LOG_FILE, "a", 384);
|
|
175624
175838
|
const child = spawn17(process.execPath, ["-e", nodeScript], {
|
|
175625
175839
|
detached: true,
|
|
175626
175840
|
stdio: ["ignore", out, out],
|
|
@@ -175715,8 +175929,8 @@ var init_autoUpdate = __esm({
|
|
|
175715
175929
|
init_config();
|
|
175716
175930
|
init_env();
|
|
175717
175931
|
init_installerDetection();
|
|
175718
|
-
CONFIG_DIR2 =
|
|
175719
|
-
LOG_FILE =
|
|
175932
|
+
CONFIG_DIR2 = join110(homedir16(), ".hyperframes");
|
|
175933
|
+
LOG_FILE = join110(CONFIG_DIR2, "auto-update.log");
|
|
175720
175934
|
PENDING_TIMEOUT_MS = 10 * 60 * 1e3;
|
|
175721
175935
|
}
|
|
175722
175936
|
});
|
|
@@ -175964,7 +176178,7 @@ var init_help = __esm({
|
|
|
175964
176178
|
// src/cli.ts
|
|
175965
176179
|
init_version();
|
|
175966
176180
|
init_dist();
|
|
175967
|
-
import { dirname as
|
|
176181
|
+
import { dirname as dirname47, join as join111 } from "path";
|
|
175968
176182
|
import { fileURLToPath as fileURLToPath16 } from "url";
|
|
175969
176183
|
import { existsSync as existsSync103 } from "fs";
|
|
175970
176184
|
|
|
@@ -176008,8 +176222,8 @@ for (const stream of [process.stdout, process.stderr]) {
|
|
|
176008
176222
|
});
|
|
176009
176223
|
}
|
|
176010
176224
|
(() => {
|
|
176011
|
-
const here =
|
|
176012
|
-
const shader =
|
|
176225
|
+
const here = dirname47(fileURLToPath16(import.meta.url));
|
|
176226
|
+
const shader = join111(here, "shaderTransitionWorker.js");
|
|
176013
176227
|
if (!process.env.HF_SHADER_WORKER_ENTRY && existsSync103(shader)) {
|
|
176014
176228
|
process.env.HF_SHADER_WORKER_ENTRY = shader;
|
|
176015
176229
|
}
|