@shotstack/shotstack-studio 2.0.0-beta.30 → 2.0.0-beta.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/index.d.ts +18 -0
- package/dist/internal.es.js +397 -380
- package/dist/internal.umd.js +10 -10
- package/dist/schema/index.d.ts +18 -0
- package/dist/shotstack-studio.es.js +6276 -5546
- package/dist/shotstack-studio.umd.js +291 -92
- package/package.json +1 -1
package/dist/internal.es.js
CHANGED
|
@@ -128,8 +128,8 @@ class su {
|
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
130
|
getValue(e, s, a, i) {
|
|
131
|
-
const r = this.curves[i ?? ""] ?? this.curves.ease, [[n, o], [l, c]] = r, f = a + (3 * n - 3 * l + 1) * a * (1 - a), h = e, d = e + (s - e) * o, m = e + (s - e) * c, b = s,
|
|
132
|
-
return M ** 3 * h + 3 * M ** 2 *
|
|
131
|
+
const r = this.curves[i ?? ""] ?? this.curves.ease, [[n, o], [l, c]] = r, f = a + (3 * n - 3 * l + 1) * a * (1 - a), h = e, d = e + (s - e) * o, m = e + (s - e) * c, b = s, I = f, M = 1 - I;
|
|
132
|
+
return M ** 3 * h + 3 * M ** 2 * I * d + 3 * M * I ** 2 * m + I ** 3 * b;
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
class ei {
|
|
@@ -318,14 +318,14 @@ class au {
|
|
|
318
318
|
case "slideRight":
|
|
319
319
|
case "slideUp":
|
|
320
320
|
case "slideDown": {
|
|
321
|
-
const d = h === "slideLeft" || h === "slideRight", m = h === "slideLeft" || h === "slideUp", b = this.getFittedSize(e, s),
|
|
321
|
+
const d = h === "slideLeft" || h === "slideRight", m = h === "slideLeft" || h === "slideUp", b = this.getFittedSize(e, s), I = d ? e.width : e.height, M = d ? b.width : b.height;
|
|
322
322
|
let E = this.getSlideStart();
|
|
323
|
-
const
|
|
324
|
-
if (M <
|
|
325
|
-
const U =
|
|
323
|
+
const V = I + I * E * 2;
|
|
324
|
+
if (M < V) {
|
|
325
|
+
const U = V / M;
|
|
326
326
|
n.push({ from: U, to: U, start: f, length: c, interpolation: "linear" });
|
|
327
327
|
} else
|
|
328
|
-
E = (M -
|
|
328
|
+
E = (M - I) / 2 / I;
|
|
329
329
|
const [w, F] = m ? [E, -E] : [-E, E];
|
|
330
330
|
(d ? a : i).push({ from: w, to: F, start: f, length: c });
|
|
331
331
|
break;
|
|
@@ -425,10 +425,10 @@ class iu {
|
|
|
425
425
|
case "slideRight":
|
|
426
426
|
case "slideUp":
|
|
427
427
|
case "slideDown": {
|
|
428
|
-
const l = n === "slideLeft" || n === "slideRight", c = n === "slideLeft" || n === "slideUp", f = 0.025, [h, d] = o ? [c ? f : -f, 0] : [0, c ? -f : f], m = o ? "linear" : "bezier", [b,
|
|
428
|
+
const l = n === "slideLeft" || n === "slideRight", c = n === "slideLeft" || n === "slideUp", f = 0.025, [h, d] = o ? [c ? f : -f, 0] : [0, c ? -f : f], m = o ? "linear" : "bezier", [b, I] = o ? [0, 1] : [1, 0];
|
|
429
429
|
(l ? s.offsetXKeyframes : s.offsetYKeyframes).push(
|
|
430
430
|
o ? { from: h, to: d, start: r, length: i, interpolation: m } : { from: h, to: d, start: r, length: i, interpolation: m, easing: "ease" }
|
|
431
|
-
), s.opacityKeyframes.push({ from: b, to:
|
|
431
|
+
), s.opacityKeyframes.push({ from: b, to: I, start: r, length: i, interpolation: "bezier", easing: "ease" });
|
|
432
432
|
break;
|
|
433
433
|
}
|
|
434
434
|
case "carouselLeft":
|
|
@@ -938,8 +938,8 @@ class Nt extends uu {
|
|
|
938
938
|
const i = a.texture.width, r = a.texture.height, n = this.clipConfiguration.fit || "crop", o = this.contentContainer.mask;
|
|
939
939
|
let l = null;
|
|
940
940
|
if (o instanceof q.Graphics ? l = o : o || (l = new q.Graphics(), this.contentContainer.addChild(l), this.contentContainer.mask = l), l) {
|
|
941
|
-
const { asset: m } = this.clipConfiguration, b = m && "border" in m && m.border && typeof m.border == "object" ? m.border.width ?? 0 : 0,
|
|
942
|
-
l.clear(), l.rect(-
|
|
941
|
+
const { asset: m } = this.clipConfiguration, b = m && "border" in m && m.border && typeof m.border == "object" ? m.border.width ?? 0 : 0, I = b / 2;
|
|
942
|
+
l.clear(), l.rect(-I, -I, e + b, s + b), l.fill(16777215);
|
|
943
943
|
}
|
|
944
944
|
const c = this.scaleKeyframeBuilder?.getValue(this.getPlaybackTime()) ?? 1;
|
|
945
945
|
a.anchor.set(0.5, 0.5);
|
|
@@ -17313,7 +17313,7 @@ class Ru extends Nt {
|
|
|
17313
17313
|
}
|
|
17314
17314
|
}
|
|
17315
17315
|
const zu = /* @__PURE__ */ new Set(["text-to-image", "image-to-video", "text-to-speech"]);
|
|
17316
|
-
function
|
|
17316
|
+
function Ys(t) {
|
|
17317
17317
|
return typeof t == "object" && t !== null && "type" in t && typeof t.type == "string" && zu.has(t.type);
|
|
17318
17318
|
}
|
|
17319
17319
|
function Qr(t) {
|
|
@@ -17326,12 +17326,12 @@ function Lu(t) {
|
|
|
17326
17326
|
}
|
|
17327
17327
|
function Tc(t, e) {
|
|
17328
17328
|
const s = t.find((n) => Qr(n) && n.id === e);
|
|
17329
|
-
if (!s || !Qr(s) || !s.asset || !
|
|
17329
|
+
if (!s || !Qr(s) || !s.asset || !Ys(s.asset)) return null;
|
|
17330
17330
|
const a = s.asset.type, i = Lu(t);
|
|
17331
17331
|
let r = 0;
|
|
17332
17332
|
for (const n of i) {
|
|
17333
17333
|
if (Qr(n) && n.id === e) break;
|
|
17334
|
-
n.asset &&
|
|
17334
|
+
n.asset && Ys(n.asset) && n.asset.type === a && (r += 1);
|
|
17335
17335
|
}
|
|
17336
17336
|
return r + 1;
|
|
17337
17337
|
}
|
|
@@ -17343,9 +17343,9 @@ function Ma(t, e, s) {
|
|
|
17343
17343
|
const a = t / 360, i = e / 100, r = s / 100;
|
|
17344
17344
|
let n, o, l;
|
|
17345
17345
|
{
|
|
17346
|
-
const d = (
|
|
17347
|
-
let
|
|
17348
|
-
return
|
|
17346
|
+
const d = (I, M, E) => {
|
|
17347
|
+
let V = E;
|
|
17348
|
+
return V < 0 && (V += 1), V > 1 && (V -= 1), V < 0.16666666666666666 ? I + (M - I) * 6 * V : V < 0.5 ? M : V < 0.6666666666666666 ? I + (M - I) * (0.6666666666666666 - V) * 6 : I;
|
|
17349
17349
|
}, m = r + i - r * i, b = 2 * r - m;
|
|
17350
17350
|
n = d(b, m, a + 1 / 3), o = d(b, m, a), l = d(b, m, a - 1 / 3);
|
|
17351
17351
|
}
|
|
@@ -17530,6 +17530,9 @@ class _n {
|
|
|
17530
17530
|
resize(e, s) {
|
|
17531
17531
|
e === this.options.width && s === this.options.height || (this.options.width = e, this.options.height = s, this.rebuild());
|
|
17532
17532
|
}
|
|
17533
|
+
updatePrompt(e) {
|
|
17534
|
+
e !== this.options.prompt && (this.options.prompt = e, this.rebuild());
|
|
17535
|
+
}
|
|
17533
17536
|
dispose() {
|
|
17534
17537
|
this.stopAnimation(), this.container.destroy({ children: !0 });
|
|
17535
17538
|
}
|
|
@@ -17577,8 +17580,8 @@ class _n {
|
|
|
17577
17580
|
r.graphics.clear();
|
|
17578
17581
|
const n = Math.sin(a * 0.3 + r.phase * 1.7) * 0.5 + 0.5, o = r.baseAlpha * (0.7 + 0.3 * n), l = a * r.scrollSpeed;
|
|
17579
17582
|
for (let c = 0; c < $r; c += 1) {
|
|
17580
|
-
const h = c / $r * Math.PI * 2 + l, d = Gu(h, a, r.phase, r.waves), m = (r.baseY + d) * s, b = 0.6 + 0.4 * Math.sin(h * 3.7 + a * 0.2 + r.phase * 2.3),
|
|
17581
|
-
r.graphics.rect(
|
|
17583
|
+
const h = c / $r * Math.PI * 2 + l, d = Gu(h, a, r.phase, r.waves), m = (r.baseY + d) * s, b = 0.6 + 0.4 * Math.sin(h * 3.7 + a * 0.2 + r.phase * 2.3), I = r.rayHeight * s * b, M = 0.4 + 0.6 * (Math.sin(h * 5 + a * 0.15 + r.phase * 3.1) * 0.5 + 0.5) ** 0.7, E = o * M, V = c * i;
|
|
17584
|
+
r.graphics.rect(V, m, i + 1, I), r.graphics.fill({ color: r.color, alpha: E });
|
|
17582
17585
|
}
|
|
17583
17586
|
}
|
|
17584
17587
|
}
|
|
@@ -17635,7 +17638,7 @@ class Yu extends Nt {
|
|
|
17635
17638
|
}
|
|
17636
17639
|
async load() {
|
|
17637
17640
|
await super.load();
|
|
17638
|
-
const e = this.getDisplaySize(), s = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((o) => o.clips) ?? [], a = Tc(s, this.clipId ?? ""), { asset: i } = this.clipConfiguration, r =
|
|
17641
|
+
const e = this.getDisplaySize(), s = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((o) => o.clips) ?? [], a = Tc(s, this.clipId ?? ""), { asset: i } = this.clipConfiguration, r = Ys(i) && i.prompt || "", n = Ys(i) ? i.type : "image-to-video";
|
|
17639
17642
|
try {
|
|
17640
17643
|
await this.loadTexture(), this.aiOverlay = new _n({
|
|
17641
17644
|
mode: "badge",
|
|
@@ -17773,7 +17776,7 @@ function L(t, e, s) {
|
|
|
17773
17776
|
value: (o) => s?.Parent && o instanceof s.Parent ? !0 : o?._zod?.traits?.has(t)
|
|
17774
17777
|
}), Object.defineProperty(n, "name", { value: t }), n;
|
|
17775
17778
|
}
|
|
17776
|
-
class
|
|
17779
|
+
class ga extends Error {
|
|
17777
17780
|
constructor() {
|
|
17778
17781
|
super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");
|
|
17779
17782
|
}
|
|
@@ -17838,7 +17841,7 @@ function De(t, e, s) {
|
|
|
17838
17841
|
configurable: !0
|
|
17839
17842
|
});
|
|
17840
17843
|
}
|
|
17841
|
-
function
|
|
17844
|
+
function Xs(t, e, s) {
|
|
17842
17845
|
Object.defineProperty(t, e, {
|
|
17843
17846
|
value: s,
|
|
17844
17847
|
writable: !0,
|
|
@@ -17930,7 +17933,7 @@ function $u(t, e) {
|
|
|
17930
17933
|
throw new Error(`Unrecognized key: "${o}"`);
|
|
17931
17934
|
e[o] && (n[o] = s.shape[o]);
|
|
17932
17935
|
}
|
|
17933
|
-
return
|
|
17936
|
+
return Xs(this, "shape", n), n;
|
|
17934
17937
|
},
|
|
17935
17938
|
checks: []
|
|
17936
17939
|
});
|
|
@@ -17948,7 +17951,7 @@ function eh(t, e) {
|
|
|
17948
17951
|
throw new Error(`Unrecognized key: "${o}"`);
|
|
17949
17952
|
e[o] && delete n[o];
|
|
17950
17953
|
}
|
|
17951
|
-
return
|
|
17954
|
+
return Xs(this, "shape", n), n;
|
|
17952
17955
|
},
|
|
17953
17956
|
checks: []
|
|
17954
17957
|
});
|
|
@@ -17967,7 +17970,7 @@ function th(t, e) {
|
|
|
17967
17970
|
const i = Fs(t._zod.def, {
|
|
17968
17971
|
get shape() {
|
|
17969
17972
|
const r = { ...t._zod.def.shape, ...e };
|
|
17970
|
-
return
|
|
17973
|
+
return Xs(this, "shape", r), r;
|
|
17971
17974
|
}
|
|
17972
17975
|
});
|
|
17973
17976
|
return Ts(t, i);
|
|
@@ -17978,7 +17981,7 @@ function sh(t, e) {
|
|
|
17978
17981
|
const s = Fs(t._zod.def, {
|
|
17979
17982
|
get shape() {
|
|
17980
17983
|
const a = { ...t._zod.def.shape, ...e };
|
|
17981
|
-
return
|
|
17984
|
+
return Xs(this, "shape", a), a;
|
|
17982
17985
|
}
|
|
17983
17986
|
});
|
|
17984
17987
|
return Ts(t, s);
|
|
@@ -17987,7 +17990,7 @@ function ah(t, e) {
|
|
|
17987
17990
|
const s = Fs(t._zod.def, {
|
|
17988
17991
|
get shape() {
|
|
17989
17992
|
const a = { ...t._zod.def.shape, ...e._zod.def.shape };
|
|
17990
|
-
return
|
|
17993
|
+
return Xs(this, "shape", a), a;
|
|
17991
17994
|
},
|
|
17992
17995
|
get catchall() {
|
|
17993
17996
|
return e._zod.def.catchall;
|
|
@@ -18019,7 +18022,7 @@ function ih(t, e, s) {
|
|
|
18019
18022
|
type: "optional",
|
|
18020
18023
|
innerType: o[c]
|
|
18021
18024
|
}) : o[c];
|
|
18022
|
-
return
|
|
18025
|
+
return Xs(this, "shape", l), l;
|
|
18023
18026
|
},
|
|
18024
18027
|
checks: []
|
|
18025
18028
|
});
|
|
@@ -18044,12 +18047,12 @@ function rh(t, e, s) {
|
|
|
18044
18047
|
type: "nonoptional",
|
|
18045
18048
|
innerType: i[n]
|
|
18046
18049
|
});
|
|
18047
|
-
return
|
|
18050
|
+
return Xs(this, "shape", r), r;
|
|
18048
18051
|
}
|
|
18049
18052
|
});
|
|
18050
18053
|
return Ts(e, a);
|
|
18051
18054
|
}
|
|
18052
|
-
function
|
|
18055
|
+
function ca(t, e = 0) {
|
|
18053
18056
|
if (t.aborted === !0)
|
|
18054
18057
|
return !0;
|
|
18055
18058
|
for (let s = e; s < t.issues.length; s++)
|
|
@@ -18057,7 +18060,7 @@ function la(t, e = 0) {
|
|
|
18057
18060
|
return !0;
|
|
18058
18061
|
return !1;
|
|
18059
18062
|
}
|
|
18060
|
-
function
|
|
18063
|
+
function fa(t, e) {
|
|
18061
18064
|
return e.map((s) => {
|
|
18062
18065
|
var a;
|
|
18063
18066
|
return (a = s).path ?? (a.path = []), s.path.unshift(t), s;
|
|
@@ -18128,7 +18131,7 @@ function oh(t, e = (s) => s.message) {
|
|
|
18128
18131
|
const ro = (t) => (e, s, a, i) => {
|
|
18129
18132
|
const r = a ? Object.assign(a, { async: !1 }) : { async: !1 }, n = e._zod.run({ value: s, issues: [] }, r);
|
|
18130
18133
|
if (n instanceof Promise)
|
|
18131
|
-
throw new
|
|
18134
|
+
throw new ga();
|
|
18132
18135
|
if (n.issues.length) {
|
|
18133
18136
|
const o = new (i?.Err ?? t)(n.issues.map((l) => As(l, r, Ns())));
|
|
18134
18137
|
throw Rc(o, i?.callee), o;
|
|
@@ -18145,7 +18148,7 @@ const ro = (t) => (e, s, a, i) => {
|
|
|
18145
18148
|
}, Sr = (t) => (e, s, a) => {
|
|
18146
18149
|
const i = a ? { ...a, async: !1 } : { async: !1 }, r = e._zod.run({ value: s, issues: [] }, i);
|
|
18147
18150
|
if (r instanceof Promise)
|
|
18148
|
-
throw new
|
|
18151
|
+
throw new ga();
|
|
18149
18152
|
return r.issues.length ? {
|
|
18150
18153
|
success: !1,
|
|
18151
18154
|
error: new (t ?? Dc)(r.issues.map((n) => As(n, i, Ns())))
|
|
@@ -18507,7 +18510,7 @@ const ad = {
|
|
|
18507
18510
|
});
|
|
18508
18511
|
else {
|
|
18509
18512
|
const i = (n, o, l) => {
|
|
18510
|
-
let c =
|
|
18513
|
+
let c = ca(n), f;
|
|
18511
18514
|
for (const h of o) {
|
|
18512
18515
|
if (h._zod.def.when) {
|
|
18513
18516
|
if (!h._zod.def.when(n))
|
|
@@ -18516,25 +18519,25 @@ const ad = {
|
|
|
18516
18519
|
continue;
|
|
18517
18520
|
const d = n.issues.length, m = h._zod.check(n);
|
|
18518
18521
|
if (m instanceof Promise && l?.async === !1)
|
|
18519
|
-
throw new
|
|
18522
|
+
throw new ga();
|
|
18520
18523
|
if (f || m instanceof Promise)
|
|
18521
18524
|
f = (f ?? Promise.resolve()).then(async () => {
|
|
18522
|
-
await m, n.issues.length !== d && (c || (c =
|
|
18525
|
+
await m, n.issues.length !== d && (c || (c = ca(n, d)));
|
|
18523
18526
|
});
|
|
18524
18527
|
else {
|
|
18525
18528
|
if (n.issues.length === d)
|
|
18526
18529
|
continue;
|
|
18527
|
-
c || (c =
|
|
18530
|
+
c || (c = ca(n, d));
|
|
18528
18531
|
}
|
|
18529
18532
|
}
|
|
18530
18533
|
return f ? f.then(() => n) : n;
|
|
18531
18534
|
}, r = (n, o, l) => {
|
|
18532
|
-
if (
|
|
18535
|
+
if (ca(n))
|
|
18533
18536
|
return n.aborted = !0, n;
|
|
18534
18537
|
const c = i(o, a, l);
|
|
18535
18538
|
if (c instanceof Promise) {
|
|
18536
18539
|
if (l.async === !1)
|
|
18537
|
-
throw new
|
|
18540
|
+
throw new ga();
|
|
18538
18541
|
return c.then((f) => t._zod.parse(f, l));
|
|
18539
18542
|
}
|
|
18540
18543
|
return t._zod.parse(c, l);
|
|
@@ -18549,7 +18552,7 @@ const ad = {
|
|
|
18549
18552
|
const l = t._zod.parse(n, o);
|
|
18550
18553
|
if (l instanceof Promise) {
|
|
18551
18554
|
if (o.async === !1)
|
|
18552
|
-
throw new
|
|
18555
|
+
throw new ga();
|
|
18553
18556
|
return l.then((c) => i(c, a, o));
|
|
18554
18557
|
}
|
|
18555
18558
|
return i(l, a, o);
|
|
@@ -18825,7 +18828,7 @@ const Id = /* @__PURE__ */ L("$ZodJWT", (t, e) => {
|
|
|
18825
18828
|
}), s);
|
|
18826
18829
|
});
|
|
18827
18830
|
function Do(t, e, s) {
|
|
18828
|
-
t.issues.length && e.issues.push(...
|
|
18831
|
+
t.issues.length && e.issues.push(...fa(s, t.issues)), e.value[s] = t.value;
|
|
18829
18832
|
}
|
|
18830
18833
|
const Od = /* @__PURE__ */ L("$ZodArray", (t, e) => {
|
|
18831
18834
|
Xe.init(t, e), t._zod.parse = (s, a) => {
|
|
@@ -18853,7 +18856,7 @@ function Qi(t, e, s, a, i) {
|
|
|
18853
18856
|
if (t.issues.length) {
|
|
18854
18857
|
if (i && !(s in a))
|
|
18855
18858
|
return;
|
|
18856
|
-
e.issues.push(...
|
|
18859
|
+
e.issues.push(...fa(s, t.issues));
|
|
18857
18860
|
}
|
|
18858
18861
|
t.value === void 0 ? s in a && (e.value[s] = void 0) : e.value[s] = t.value;
|
|
18859
18862
|
}
|
|
@@ -18930,15 +18933,15 @@ const Md = /* @__PURE__ */ L("$ZodObject", (t, e) => {
|
|
|
18930
18933
|
o.value = {};
|
|
18931
18934
|
const f = [], h = n.shape;
|
|
18932
18935
|
for (const d of n.keys) {
|
|
18933
|
-
const m = h[d], b = m._zod.optout === "optional",
|
|
18934
|
-
|
|
18936
|
+
const m = h[d], b = m._zod.optout === "optional", I = m._zod.run({ value: c[d], issues: [] }, l);
|
|
18937
|
+
I instanceof Promise ? f.push(I.then((M) => Qi(M, o, d, c, b))) : Qi(I, o, d, c, b);
|
|
18935
18938
|
}
|
|
18936
18939
|
return r ? Jc(f, c, o, l, a.value, t) : f.length ? Promise.all(f).then(() => o) : o;
|
|
18937
18940
|
};
|
|
18938
18941
|
}), Rd = /* @__PURE__ */ L("$ZodObjectJIT", (t, e) => {
|
|
18939
18942
|
Md.init(t, e);
|
|
18940
18943
|
const s = t._zod.parse, a = Ar(() => qc(e)), i = (d) => {
|
|
18941
|
-
const m = new sd(["shape", "payload", "ctx"]), b = a.value,
|
|
18944
|
+
const m = new sd(["shape", "payload", "ctx"]), b = a.value, I = (w) => {
|
|
18942
18945
|
const F = zo(w);
|
|
18943
18946
|
return `shape[${F}]._zod.run({ value: input[${F}], issues: [] }, ctx)`;
|
|
18944
18947
|
};
|
|
@@ -18950,7 +18953,7 @@ const Md = /* @__PURE__ */ L("$ZodObject", (t, e) => {
|
|
|
18950
18953
|
m.write("const newResult = {};");
|
|
18951
18954
|
for (const w of b.keys) {
|
|
18952
18955
|
const F = M[w], y = zo(w), P = d[w]?._zod?.optout === "optional";
|
|
18953
|
-
m.write(`const ${F} = ${
|
|
18956
|
+
m.write(`const ${F} = ${I(w)};`), P ? m.write(`
|
|
18954
18957
|
if (${F}.issues.length) {
|
|
18955
18958
|
if (${y} in input) {
|
|
18956
18959
|
payload.issues = payload.issues.concat(${F}.issues.map(iss => ({
|
|
@@ -18987,8 +18990,8 @@ const Md = /* @__PURE__ */ L("$ZodObject", (t, e) => {
|
|
|
18987
18990
|
`);
|
|
18988
18991
|
}
|
|
18989
18992
|
m.write("payload.value = newResult;"), m.write("return payload;");
|
|
18990
|
-
const
|
|
18991
|
-
return (w, F) =>
|
|
18993
|
+
const V = m.compile();
|
|
18994
|
+
return (w, F) => V(d, w, F);
|
|
18992
18995
|
};
|
|
18993
18996
|
let r;
|
|
18994
18997
|
const n = ai, o = !Oc.jitless, c = o && Xu.value, f = e.catchall;
|
|
@@ -19008,7 +19011,7 @@ function Bo(t, e, s, a) {
|
|
|
19008
19011
|
for (const r of t)
|
|
19009
19012
|
if (r.issues.length === 0)
|
|
19010
19013
|
return e.value = r.value, e;
|
|
19011
|
-
const i = t.filter((r) => !
|
|
19014
|
+
const i = t.filter((r) => !ca(r));
|
|
19012
19015
|
return i.length === 1 ? (e.value = i[0].value, i[0]) : (e.issues.push({
|
|
19013
19016
|
code: "invalid_union",
|
|
19014
19017
|
input: e.value,
|
|
@@ -19156,7 +19159,7 @@ function Uo(t, e, s) {
|
|
|
19156
19159
|
else
|
|
19157
19160
|
t.issues.push(o);
|
|
19158
19161
|
const r = [...a].filter(([, o]) => o.l && o.r).map(([o]) => o);
|
|
19159
|
-
if (r.length && i && t.issues.push({ ...i, keys: r }),
|
|
19162
|
+
if (r.length && i && t.issues.push({ ...i, keys: r }), ca(t))
|
|
19160
19163
|
return t;
|
|
19161
19164
|
const n = Tn(e.value, s.value);
|
|
19162
19165
|
if (!n.valid)
|
|
@@ -19182,8 +19185,8 @@ const Dd = /* @__PURE__ */ L("$ZodRecord", (t, e) => {
|
|
|
19182
19185
|
o.add(typeof c == "number" ? c.toString() : c);
|
|
19183
19186
|
const f = e.valueType._zod.run({ value: i[c], issues: [] }, a);
|
|
19184
19187
|
f instanceof Promise ? r.push(f.then((h) => {
|
|
19185
|
-
h.issues.length && s.issues.push(...
|
|
19186
|
-
})) : (f.issues.length && s.issues.push(...
|
|
19188
|
+
h.issues.length && s.issues.push(...fa(c, h.issues)), s.value[c] = h.value;
|
|
19189
|
+
})) : (f.issues.length && s.issues.push(...fa(c, f.issues)), s.value[c] = f.value);
|
|
19187
19190
|
}
|
|
19188
19191
|
let l;
|
|
19189
19192
|
for (const c in i)
|
|
@@ -19221,8 +19224,8 @@ const Dd = /* @__PURE__ */ L("$ZodRecord", (t, e) => {
|
|
|
19221
19224
|
}
|
|
19222
19225
|
const f = e.valueType._zod.run({ value: i[o], issues: [] }, a);
|
|
19223
19226
|
f instanceof Promise ? r.push(f.then((h) => {
|
|
19224
|
-
h.issues.length && s.issues.push(...
|
|
19225
|
-
})) : (f.issues.length && s.issues.push(...
|
|
19227
|
+
h.issues.length && s.issues.push(...fa(o, h.issues)), s.value[l.value] = h.value;
|
|
19228
|
+
})) : (f.issues.length && s.issues.push(...fa(o, f.issues)), s.value[l.value] = f.value);
|
|
19226
19229
|
}
|
|
19227
19230
|
}
|
|
19228
19231
|
return r.length ? Promise.all(r).then(() => s) : s;
|
|
@@ -19260,7 +19263,7 @@ const Dd = /* @__PURE__ */ L("$ZodRecord", (t, e) => {
|
|
|
19260
19263
|
if (a.async)
|
|
19261
19264
|
return (i instanceof Promise ? i : Promise.resolve(i)).then((n) => (s.value = n, s));
|
|
19262
19265
|
if (i instanceof Promise)
|
|
19263
|
-
throw new
|
|
19266
|
+
throw new ga();
|
|
19264
19267
|
return s.value = i, s;
|
|
19265
19268
|
};
|
|
19266
19269
|
});
|
|
@@ -20052,11 +20055,11 @@ function rf(t, e) {
|
|
|
20052
20055
|
a(f);
|
|
20053
20056
|
const d = t.seen.get(f), m = d.schema;
|
|
20054
20057
|
if (m.$ref && (t.target === "draft-07" || t.target === "draft-04" || t.target === "openapi-3.0") ? (l.allOf = l.allOf ?? [], l.allOf.push(m)) : Object.assign(l, m), Object.assign(l, c), n._zod.parent === f)
|
|
20055
|
-
for (const
|
|
20056
|
-
|
|
20058
|
+
for (const I in l)
|
|
20059
|
+
I === "$ref" || I === "allOf" || I in c || delete l[I];
|
|
20057
20060
|
if (m.$ref && d.def)
|
|
20058
|
-
for (const
|
|
20059
|
-
|
|
20061
|
+
for (const I in l)
|
|
20062
|
+
I === "$ref" || I === "allOf" || I in d.def && JSON.stringify(l[I]) === JSON.stringify(d.def[I]) && delete l[I];
|
|
20060
20063
|
}
|
|
20061
20064
|
const h = n._zod.parent;
|
|
20062
20065
|
if (h && h !== f) {
|
|
@@ -20724,7 +20727,7 @@ function Fm(t) {
|
|
|
20724
20727
|
function _(t, e) {
|
|
20725
20728
|
return On(uf(t), e);
|
|
20726
20729
|
}
|
|
20727
|
-
const
|
|
20730
|
+
const pa = {
|
|
20728
20731
|
custom: "custom"
|
|
20729
20732
|
}, Tm = v({
|
|
20730
20733
|
color: g(p()),
|
|
@@ -22059,18 +22062,18 @@ const fb = v({
|
|
|
22059
22062
|
}).superRefine((t, e) => {
|
|
22060
22063
|
const s = t.shape !== void 0, a = t.src !== void 0 && t.src.trim() !== "";
|
|
22061
22064
|
if (!s && !a && e.addIssue({
|
|
22062
|
-
code:
|
|
22065
|
+
code: pa.custom,
|
|
22063
22066
|
message: "Either 'src' or 'shape' must be provided",
|
|
22064
22067
|
path: []
|
|
22065
22068
|
}), s && a && e.addIssue({
|
|
22066
|
-
code:
|
|
22069
|
+
code: pa.custom,
|
|
22067
22070
|
message: "Provide either 'src' or 'shape', not both",
|
|
22068
22071
|
path: ["src"]
|
|
22069
22072
|
}), a) {
|
|
22070
22073
|
const i = ["shape", "fill", "stroke", "shadow", "transform", "width", "height"];
|
|
22071
22074
|
for (const r of i)
|
|
22072
22075
|
t[r] !== void 0 && e.addIssue({
|
|
22073
|
-
code:
|
|
22076
|
+
code: pa.custom,
|
|
22074
22077
|
message: `'${r}' is not allowed when using 'src'. Only 'type' and 'src' are allowed in import mode`,
|
|
22075
22078
|
path: [r]
|
|
22076
22079
|
});
|
|
@@ -22953,7 +22956,7 @@ new Oe("Float", "BE");
|
|
|
22953
22956
|
new Oe("Float", "LE");
|
|
22954
22957
|
new Oe("Double", "BE");
|
|
22955
22958
|
new Oe("Double", "LE");
|
|
22956
|
-
class
|
|
22959
|
+
class qs extends Oe {
|
|
22957
22960
|
constructor(e, s, a = e >> 1) {
|
|
22958
22961
|
super(`Int${e}`, s), this._point = 1 << a;
|
|
22959
22962
|
}
|
|
@@ -22964,10 +22967,10 @@ class Xs extends Oe {
|
|
|
22964
22967
|
return super.encode(e, s * this._point | 0);
|
|
22965
22968
|
}
|
|
22966
22969
|
}
|
|
22967
|
-
const xw = new
|
|
22968
|
-
new
|
|
22969
|
-
const kw = new
|
|
22970
|
-
new
|
|
22970
|
+
const xw = new qs(16, "BE"), Cw = xw;
|
|
22971
|
+
new qs(16, "LE");
|
|
22972
|
+
const kw = new qs(32, "BE"), st = kw;
|
|
22973
|
+
new qs(32, "LE");
|
|
22971
22974
|
function is(t, e, s) {
|
|
22972
22975
|
let a;
|
|
22973
22976
|
if (typeof t == "number" ? a = t : typeof t == "function" ? a = t.call(s, s) : s && typeof t == "string" ? a = s[t] : e && t instanceof Oe && (a = t.decode(e)), isNaN(a))
|
|
@@ -23490,8 +23493,8 @@ di.byteLength = Iw;
|
|
|
23490
23493
|
di.toByteArray = Fw;
|
|
23491
23494
|
di.fromByteArray = Ew;
|
|
23492
23495
|
var Qt = [], zt = [], Sw = typeof Uint8Array < "u" ? Uint8Array : Array, rn = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
23493
|
-
for (var
|
|
23494
|
-
Qt[
|
|
23496
|
+
for (var ra = 0, Vw = rn.length; ra < Vw; ++ra)
|
|
23497
|
+
Qt[ra] = rn[ra], zt[rn.charCodeAt(ra)] = ra;
|
|
23495
23498
|
zt[45] = 62;
|
|
23496
23499
|
zt[95] = 63;
|
|
23497
23500
|
function Pf(t) {
|
|
@@ -23703,7 +23706,7 @@ const Uw = /* @__PURE__ */ Na(Df), Zw = new Uint8Array(new Uint32Array([30541989
|
|
|
23703
23706
|
var Yw = {
|
|
23704
23707
|
swap32LE: Ww
|
|
23705
23708
|
};
|
|
23706
|
-
const fl = Df, { swap32LE: Hw } = Yw, po = 11,
|
|
23709
|
+
const fl = Df, { swap32LE: Hw } = Yw, po = 11, Hs = 5, jw = po - Hs, Kw = 65536 >> po, Xw = 1 << jw, qw = Xw - 1, Ui = 2, Jw = 1 << Hs, on = Jw - 1, Bf = 65536 >> Hs, Qw = 1024 >> Hs, $w = Bf + Qw, e1 = $w, t1 = 32, s1 = e1 + t1, a1 = 1 << Ui;
|
|
23707
23710
|
class i1 {
|
|
23708
23711
|
constructor(e) {
|
|
23709
23712
|
const s = typeof e.readUInt32BE == "function" && typeof e.slice == "function";
|
|
@@ -23721,28 +23724,28 @@ class i1 {
|
|
|
23721
23724
|
}
|
|
23722
23725
|
get(e) {
|
|
23723
23726
|
let s;
|
|
23724
|
-
return e < 0 || e > 1114111 ? this.errorValue : e < 55296 || e > 56319 && e <= 65535 ? (s = (this.data[e >>
|
|
23727
|
+
return e < 0 || e > 1114111 ? this.errorValue : e < 55296 || e > 56319 && e <= 65535 ? (s = (this.data[e >> Hs] << Ui) + (e & on), this.data[s]) : e <= 65535 ? (s = (this.data[Bf + (e - 55296 >> Hs)] << Ui) + (e & on), this.data[s]) : e < this.highStart ? (s = this.data[s1 - Kw + (e >> po)], s = this.data[s + (e >> Hs & qw)], s = (s << Ui) + (e & on), this.data[s]) : this.data[this.data.length - a1];
|
|
23725
23728
|
}
|
|
23726
23729
|
}
|
|
23727
23730
|
var r1 = i1;
|
|
23728
23731
|
const Er = /* @__PURE__ */ Na(r1);
|
|
23729
|
-
function
|
|
23732
|
+
function Js(t) {
|
|
23730
23733
|
return t && t.__esModule ? t.default : t;
|
|
23731
23734
|
}
|
|
23732
23735
|
var Ps = {};
|
|
23733
23736
|
Ps = JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');
|
|
23734
|
-
const mo = new Er(di.toByteArray("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")), n1 = Math.log2 || ((t) => Math.log(t) / Math.LN2), Or = (t) => n1(t) + 1 | 0, o1 = Or((/* @__PURE__ */ qs(Ps)).categories.length - 1), Uf = Or((/* @__PURE__ */ qs(Ps)).combiningClasses.length - 1), yo = Or((/* @__PURE__ */ qs(Ps)).scripts.length - 1), bo = Or((/* @__PURE__ */ qs(Ps)).eaw.length - 1), wo = 10, l1 = Uf + yo + bo + wo, c1 = yo + bo + wo, f1 = bo + wo, u1 = (1 << o1) - 1, h1 = (1 << Uf) - 1, d1 = (1 << yo) - 1;
|
|
23737
|
+
const mo = new Er(di.toByteArray("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")), n1 = Math.log2 || ((t) => Math.log(t) / Math.LN2), Or = (t) => n1(t) + 1 | 0, o1 = Or((/* @__PURE__ */ Js(Ps)).categories.length - 1), Uf = Or((/* @__PURE__ */ Js(Ps)).combiningClasses.length - 1), yo = Or((/* @__PURE__ */ Js(Ps)).scripts.length - 1), bo = Or((/* @__PURE__ */ Js(Ps)).eaw.length - 1), wo = 10, l1 = Uf + yo + bo + wo, c1 = yo + bo + wo, f1 = bo + wo, u1 = (1 << o1) - 1, h1 = (1 << Uf) - 1, d1 = (1 << yo) - 1;
|
|
23735
23738
|
function Mr(t) {
|
|
23736
23739
|
const e = mo.get(t);
|
|
23737
|
-
return (/* @__PURE__ */
|
|
23740
|
+
return (/* @__PURE__ */ Js(Ps)).categories[e >> l1 & u1];
|
|
23738
23741
|
}
|
|
23739
23742
|
function g1(t) {
|
|
23740
23743
|
const e = mo.get(t);
|
|
23741
|
-
return (/* @__PURE__ */
|
|
23744
|
+
return (/* @__PURE__ */ Js(Ps)).combiningClasses[e >> c1 & h1];
|
|
23742
23745
|
}
|
|
23743
23746
|
function Zf(t) {
|
|
23744
23747
|
const e = mo.get(t);
|
|
23745
|
-
return (/* @__PURE__ */
|
|
23748
|
+
return (/* @__PURE__ */ Js(Ps)).scripts[e >> f1 & d1];
|
|
23746
23749
|
}
|
|
23747
23750
|
function ul(t) {
|
|
23748
23751
|
return Mr(t) === "Nd";
|
|
@@ -23812,9 +23815,9 @@ var Yf = { exports: {} };
|
|
|
23812
23815
|
r = function() {
|
|
23813
23816
|
};
|
|
23814
23817
|
}
|
|
23815
|
-
function n(d, m, b,
|
|
23816
|
-
typeof m == "object" && (b = m.depth,
|
|
23817
|
-
var E = [],
|
|
23818
|
+
function n(d, m, b, I, M) {
|
|
23819
|
+
typeof m == "object" && (b = m.depth, I = m.prototype, M = m.includeNonEnumerable, m = m.circular);
|
|
23820
|
+
var E = [], V = [], w = typeof Buffer < "u";
|
|
23818
23821
|
typeof m > "u" && (m = !0), typeof b > "u" && (b = 1 / 0);
|
|
23819
23822
|
function F(y, U) {
|
|
23820
23823
|
if (y === null)
|
|
@@ -23845,13 +23848,13 @@ var Yf = { exports: {} };
|
|
|
23845
23848
|
else {
|
|
23846
23849
|
if (w && Buffer.isBuffer(y))
|
|
23847
23850
|
return Buffer.allocUnsafe ? P = Buffer.allocUnsafe(y.length) : P = new Buffer(y.length), y.copy(P), P;
|
|
23848
|
-
s(y, Error) ? P = Object.create(y) : typeof
|
|
23851
|
+
s(y, Error) ? P = Object.create(y) : typeof I > "u" ? (B = Object.getPrototypeOf(y), P = Object.create(B)) : (P = Object.create(I), B = I);
|
|
23849
23852
|
}
|
|
23850
23853
|
if (m) {
|
|
23851
23854
|
var J = E.indexOf(y);
|
|
23852
23855
|
if (J != -1)
|
|
23853
|
-
return
|
|
23854
|
-
E.push(y),
|
|
23856
|
+
return V[J];
|
|
23857
|
+
E.push(y), V.push(P);
|
|
23855
23858
|
}
|
|
23856
23859
|
s(y, a) && y.forEach(function(ye, G) {
|
|
23857
23860
|
var Y = F(G, U - 1), W = F(ye, U - 1);
|
|
@@ -23962,18 +23965,18 @@ var Us = 4096, b1 = 2 * Us + 32, Kf = 2 * Us - 1, w1 = new Uint32Array([
|
|
|
23962
23965
|
8388607,
|
|
23963
23966
|
16777215
|
|
23964
23967
|
]);
|
|
23965
|
-
function
|
|
23968
|
+
function Qs(t) {
|
|
23966
23969
|
this.buf_ = new Uint8Array(b1), this.input_ = t, this.reset();
|
|
23967
23970
|
}
|
|
23968
|
-
|
|
23969
|
-
|
|
23970
|
-
|
|
23971
|
+
Qs.READ_SIZE = Us;
|
|
23972
|
+
Qs.IBUF_MASK = Kf;
|
|
23973
|
+
Qs.prototype.reset = function() {
|
|
23971
23974
|
this.buf_ptr_ = 0, this.val_ = 0, this.pos_ = 0, this.bit_pos_ = 0, this.bit_end_pos_ = 0, this.eos_ = 0, this.readMoreInput();
|
|
23972
23975
|
for (var t = 0; t < 4; t++)
|
|
23973
23976
|
this.val_ |= this.buf_[this.pos_] << 8 * t, ++this.pos_;
|
|
23974
23977
|
return this.bit_end_pos_ > 0;
|
|
23975
23978
|
};
|
|
23976
|
-
|
|
23979
|
+
Qs.prototype.readMoreInput = function() {
|
|
23977
23980
|
if (!(this.bit_end_pos_ > 256))
|
|
23978
23981
|
if (this.eos_) {
|
|
23979
23982
|
if (this.bit_pos_ > this.bit_end_pos_)
|
|
@@ -23996,16 +23999,16 @@ Js.prototype.readMoreInput = function() {
|
|
|
23996
23999
|
this.bit_end_pos_ += e << 3;
|
|
23997
24000
|
}
|
|
23998
24001
|
};
|
|
23999
|
-
|
|
24002
|
+
Qs.prototype.fillBitWindow = function() {
|
|
24000
24003
|
for (; this.bit_pos_ >= 8; )
|
|
24001
24004
|
this.val_ >>>= 8, this.val_ |= this.buf_[this.pos_ & Kf] << 24, ++this.pos_, this.bit_pos_ = this.bit_pos_ - 8 >>> 0, this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
|
|
24002
24005
|
};
|
|
24003
|
-
|
|
24006
|
+
Qs.prototype.readBits = function(t) {
|
|
24004
24007
|
32 - this.bit_pos_ < t && this.fillBitWindow();
|
|
24005
24008
|
var e = this.val_ >>> this.bit_pos_ & w1[t];
|
|
24006
24009
|
return this.bit_pos_ += t, e;
|
|
24007
24010
|
};
|
|
24008
|
-
var v1 =
|
|
24011
|
+
var v1 = Qs, ys = {}, un = {}, hn, hl;
|
|
24009
24012
|
function x1() {
|
|
24010
24013
|
return hl || (hl = 1, hn = "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"), hn;
|
|
24011
24014
|
}
|
|
@@ -24081,11 +24084,11 @@ function Xf() {
|
|
|
24081
24084
|
]), ys.minDictionaryWordLength = 4, ys.maxDictionaryWordLength = 24, ys;
|
|
24082
24085
|
}
|
|
24083
24086
|
var ir = {};
|
|
24084
|
-
function
|
|
24087
|
+
function ua(t, e) {
|
|
24085
24088
|
this.bits = t, this.value = e;
|
|
24086
24089
|
}
|
|
24087
|
-
ir.HuffmanCode =
|
|
24088
|
-
var
|
|
24090
|
+
ir.HuffmanCode = ua;
|
|
24091
|
+
var oa = 15;
|
|
24089
24092
|
function pl(t, e) {
|
|
24090
24093
|
for (var s = 1 << e - 1; t & s; )
|
|
24091
24094
|
s >>= 1;
|
|
@@ -24093,34 +24096,34 @@ function pl(t, e) {
|
|
|
24093
24096
|
}
|
|
24094
24097
|
function ml(t, e, s, a, i) {
|
|
24095
24098
|
do
|
|
24096
|
-
a -= s, t[e + a] = new
|
|
24099
|
+
a -= s, t[e + a] = new ua(i.bits, i.value);
|
|
24097
24100
|
while (a > 0);
|
|
24098
24101
|
}
|
|
24099
24102
|
function k1(t, e, s) {
|
|
24100
|
-
for (var a = 1 << e - s; e <
|
|
24103
|
+
for (var a = 1 << e - s; e < oa && (a -= t[e], !(a <= 0)); )
|
|
24101
24104
|
++e, a <<= 1;
|
|
24102
24105
|
return e - s;
|
|
24103
24106
|
}
|
|
24104
24107
|
ir.BrotliBuildHuffmanTable = function(t, e, s, a, i) {
|
|
24105
|
-
var r = e, n, o, l, c, f, h, d, m, b,
|
|
24108
|
+
var r = e, n, o, l, c, f, h, d, m, b, I, M, E = new Int32Array(oa + 1), V = new Int32Array(oa + 1);
|
|
24106
24109
|
for (M = new Int32Array(i), l = 0; l < i; l++)
|
|
24107
24110
|
E[a[l]]++;
|
|
24108
|
-
for (
|
|
24109
|
-
|
|
24111
|
+
for (V[1] = 0, o = 1; o < oa; o++)
|
|
24112
|
+
V[o + 1] = V[o] + E[o];
|
|
24110
24113
|
for (l = 0; l < i; l++)
|
|
24111
|
-
a[l] !== 0 && (M[
|
|
24112
|
-
if (m = s, b = 1 << m,
|
|
24113
|
-
for (c = 0; c <
|
|
24114
|
-
t[e + c] = new
|
|
24115
|
-
return
|
|
24114
|
+
a[l] !== 0 && (M[V[a[l]]++] = l);
|
|
24115
|
+
if (m = s, b = 1 << m, I = b, V[oa] === 1) {
|
|
24116
|
+
for (c = 0; c < I; ++c)
|
|
24117
|
+
t[e + c] = new ua(0, M[0] & 65535);
|
|
24118
|
+
return I;
|
|
24116
24119
|
}
|
|
24117
24120
|
for (c = 0, l = 0, o = 1, f = 2; o <= s; ++o, f <<= 1)
|
|
24118
24121
|
for (; E[o] > 0; --E[o])
|
|
24119
|
-
n = new
|
|
24120
|
-
for (d =
|
|
24122
|
+
n = new ua(o & 255, M[l++] & 65535), ml(t, e + c, f, b, n), c = pl(c, o);
|
|
24123
|
+
for (d = I - 1, h = -1, o = s + 1, f = 2; o <= oa; ++o, f <<= 1)
|
|
24121
24124
|
for (; E[o] > 0; --E[o])
|
|
24122
|
-
(c & d) !== h && (e += b, m = k1(E, o, s), b = 1 << m,
|
|
24123
|
-
return
|
|
24125
|
+
(c & d) !== h && (e += b, m = k1(E, o, s), b = 1 << m, I += b, h = c & d, t[r + h] = new ua(m + s & 255, e - r - h & 65535)), n = new ua(o - s & 255, M[l++] & 65535), ml(t, e + (c >> s), f, b, n), c = pl(c, o);
|
|
24126
|
+
return I;
|
|
24124
24127
|
};
|
|
24125
24128
|
var vo = {};
|
|
24126
24129
|
vo.lookup = new Uint8Array([
|
|
@@ -26054,7 +26057,7 @@ var za = {}, yl;
|
|
|
26054
26057
|
function N1() {
|
|
26055
26058
|
if (yl) return za;
|
|
26056
26059
|
yl = 1;
|
|
26057
|
-
var t = Xf(), e = 0, s = 1, a = 2, i = 3, r = 4, n = 5, o = 6, l = 7, c = 8, f = 9, h = 10, d = 11, m = 12, b = 13,
|
|
26060
|
+
var t = Xf(), e = 0, s = 1, a = 2, i = 3, r = 4, n = 5, o = 6, l = 7, c = 8, f = 9, h = 10, d = 11, m = 12, b = 13, I = 14, M = 15, E = 16, V = 17, w = 18, F = 20;
|
|
26058
26061
|
function y(B, J, $) {
|
|
26059
26062
|
this.prefix = new Uint8Array(B.length), this.transform = J, this.suffix = new Uint8Array($.length);
|
|
26060
26063
|
for (var se = 0; se < B.length; se++)
|
|
@@ -26090,7 +26093,7 @@ function N1() {
|
|
|
26090
26093
|
new y("", i, ""),
|
|
26091
26094
|
new y("", e, "]"),
|
|
26092
26095
|
new y("", e, " for "),
|
|
26093
|
-
new y("",
|
|
26096
|
+
new y("", I, ""),
|
|
26094
26097
|
new y("", a, ""),
|
|
26095
26098
|
new y("", e, " a "),
|
|
26096
26099
|
new y("", e, " that "),
|
|
@@ -26104,7 +26107,7 @@ function N1() {
|
|
|
26104
26107
|
new y("", e, " from "),
|
|
26105
26108
|
new y("", e, " by "),
|
|
26106
26109
|
new y("", E, ""),
|
|
26107
|
-
new y("",
|
|
26110
|
+
new y("", V, ""),
|
|
26108
26111
|
new y(" the ", e, ""),
|
|
26109
26112
|
new y("", r, ""),
|
|
26110
26113
|
new y("", e, ". The "),
|
|
@@ -26214,7 +26217,7 @@ var bl;
|
|
|
26214
26217
|
function qf() {
|
|
26215
26218
|
if (bl) return Ra;
|
|
26216
26219
|
bl = 1;
|
|
26217
|
-
var t = ar.BrotliInput, e = ar.BrotliOutput, s = v1, a = Xf(), i = ir.HuffmanCode, r = ir.BrotliBuildHuffmanTable, n = vo, o = Aa, l = N1(), c = 8, f = 16, h = 256, d = 704, m = 26, b = 6,
|
|
26220
|
+
var t = ar.BrotliInput, e = ar.BrotliOutput, s = v1, a = Xf(), i = ir.HuffmanCode, r = ir.BrotliBuildHuffmanTable, n = vo, o = Aa, l = N1(), c = 8, f = 16, h = 256, d = 704, m = 26, b = 6, I = 2, M = 8, E = 255, V = 1080, w = 18, F = new Uint8Array([
|
|
26218
26221
|
1,
|
|
26219
26222
|
2,
|
|
26220
26223
|
3,
|
|
@@ -26446,7 +26449,7 @@ function qf() {
|
|
|
26446
26449
|
var re = R.num_htrees = $(z) + 1, me = R.context_map = new Uint8Array(H);
|
|
26447
26450
|
if (re <= 1)
|
|
26448
26451
|
return R;
|
|
26449
|
-
for (O = z.readBits(1), O && (ee = z.readBits(4) + 1), ne = [], ae = 0; ae <
|
|
26452
|
+
for (O = z.readBits(1), O && (ee = z.readBits(4) + 1), ne = [], ae = 0; ae < V; ae++)
|
|
26450
26453
|
ne[ae] = new i(0, 0);
|
|
26451
26454
|
for (Ae(re + ee, ne, 0, z), ae = 0; ae < H; ) {
|
|
26452
26455
|
var ie;
|
|
@@ -26464,7 +26467,7 @@ function qf() {
|
|
|
26464
26467
|
return z.readBits(1) && Y(me, H), R;
|
|
26465
26468
|
}
|
|
26466
26469
|
function he(H, z, R, O, ee, ne, ae) {
|
|
26467
|
-
var re = R * 2, me = R, ie = ve(z, R *
|
|
26470
|
+
var re = R * 2, me = R, ie = ve(z, R * V, ae), X;
|
|
26468
26471
|
ie === 0 ? X = ee[re + (ne[me] & 1)] : ie === 1 ? X = ee[re + (ne[me] - 1 & 1)] + 1 : X = ie - 2, X >= H && (X -= H), O[R] = X, ee[re + (ne[me] & 1)] = X, ++ne[me];
|
|
26469
26472
|
}
|
|
26470
26473
|
function Te(H, z, R, O, ee, ne) {
|
|
@@ -26520,17 +26523,17 @@ function qf() {
|
|
|
26520
26523
|
function ot(H, z) {
|
|
26521
26524
|
var R, O = 0, ee = 0, ne = 0, ae, re = 0, me, ie, X, we, Ke = [16, 15, 11, 4], dt = 0, Ge = 0, at = 0, it = [new W(0, 0), new W(0, 0), new W(0, 0)], bt, At, xe, Yr = 128 + s.READ_SIZE;
|
|
26522
26525
|
xe = new s(H), ne = J(xe), ae = (1 << ne) - 16, me = 1 << ne, ie = me - 1, X = new Uint8Array(me + Yr + a.maxDictionaryWordLength), we = me, bt = [], At = [];
|
|
26523
|
-
for (var
|
|
26524
|
-
bt[
|
|
26526
|
+
for (var $s = 0; $s < 3 * V; $s++)
|
|
26527
|
+
bt[$s] = new i(0, 0), At[$s] = new i(0, 0);
|
|
26525
26528
|
for (; !ee; ) {
|
|
26526
|
-
var lt = 0, Ia, Rt = [1 << 28, 1 << 28, 1 << 28], Dt = [0], Tt = [1, 1, 1], ns = [0, 1, 0, 1, 0, 1], Es = [0], ps, Pt, wi,
|
|
26529
|
+
var lt = 0, Ia, Rt = [1 << 28, 1 << 28, 1 << 28], Dt = [0], Tt = [1, 1, 1], ns = [0, 1, 0, 1, 0, 1], Es = [0], ps, Pt, wi, ea, vi = null, ms = null, xi, Ci = null, _a, ki = 0, ta = null, Bt = 0, sa = 0, Fa = null, k = 0, te = 0, Ve = 0, Re, Ue;
|
|
26527
26530
|
for (R = 0; R < 3; ++R)
|
|
26528
26531
|
it[R].codes = null, it[R].htrees = null;
|
|
26529
26532
|
xe.readMoreInput();
|
|
26530
26533
|
var ct = ue(xe);
|
|
26531
26534
|
if (lt = ct.meta_block_length, O + lt > z.buffer.length) {
|
|
26532
|
-
var
|
|
26533
|
-
|
|
26535
|
+
var aa = new Uint8Array(O + lt);
|
|
26536
|
+
aa.set(z.buffer), z.buffer = aa;
|
|
26534
26537
|
}
|
|
26535
26538
|
if (ee = ct.input_end, Ia = ct.is_uncompressed, ct.is_metadata) {
|
|
26536
26539
|
for (Be(xe); lt > 0; --lt)
|
|
@@ -26550,16 +26553,16 @@ function qf() {
|
|
|
26550
26553
|
continue;
|
|
26551
26554
|
}
|
|
26552
26555
|
for (R = 0; R < 3; ++R)
|
|
26553
|
-
Tt[R] = $(xe) + 1, Tt[R] >= 2 && (Ae(Tt[R] + 2, bt, R *
|
|
26554
|
-
for (xe.readMoreInput(), ps = xe.readBits(2), Pt = y + (xe.readBits(4) << ps), wi = (1 << ps) - 1,
|
|
26556
|
+
Tt[R] = $(xe) + 1, Tt[R] >= 2 && (Ae(Tt[R] + 2, bt, R * V, xe), Ae(m, At, R * V, xe), Rt[R] = Me(At, R * V, xe), Es[R] = 1);
|
|
26557
|
+
for (xe.readMoreInput(), ps = xe.readBits(2), Pt = y + (xe.readBits(4) << ps), wi = (1 << ps) - 1, ea = Pt + (48 << ps), ms = new Uint8Array(Tt[0]), R = 0; R < Tt[0]; ++R)
|
|
26555
26558
|
xe.readMoreInput(), ms[R] = xe.readBits(2) << 1;
|
|
26556
26559
|
var Ni = pe(Tt[0] << b, xe);
|
|
26557
26560
|
xi = Ni.num_htrees, vi = Ni.context_map;
|
|
26558
|
-
var Hr = pe(Tt[2] <<
|
|
26559
|
-
for (_a = Hr.num_htrees, Ci = Hr.context_map, it[0] = new W(h, xi), it[1] = new W(d, Tt[1]), it[2] = new W(
|
|
26561
|
+
var Hr = pe(Tt[2] << I, xe);
|
|
26562
|
+
for (_a = Hr.num_htrees, Ci = Hr.context_map, it[0] = new W(h, xi), it[1] = new W(d, Tt[1]), it[2] = new W(ea, _a), R = 0; R < 3; ++R)
|
|
26560
26563
|
it[R].decode(xe);
|
|
26561
|
-
for (
|
|
26562
|
-
var Ai, Ta, jr, Kr, Xr, St, Et, os, Pa,
|
|
26564
|
+
for (ta = 0, Fa = 0, Re = ms[Dt[0]], te = n.lookupOffsets[Re], Ve = n.lookupOffsets[Re + 1], Ue = it[1].htrees[0]; lt > 0; ) {
|
|
26565
|
+
var Ai, Ta, jr, Kr, Xr, St, Et, os, Pa, ia, Ea;
|
|
26563
26566
|
for (xe.readMoreInput(), Rt[1] === 0 && (he(
|
|
26564
26567
|
Tt[1],
|
|
26565
26568
|
bt,
|
|
@@ -26568,7 +26571,7 @@ function qf() {
|
|
|
26568
26571
|
ns,
|
|
26569
26572
|
Es,
|
|
26570
26573
|
xe
|
|
26571
|
-
), Rt[1] = Me(At,
|
|
26574
|
+
), Rt[1] = Me(At, V, xe), Ue = it[1].htrees[Dt[1]]), --Rt[1], Ai = ve(it[1].codes, Ue, xe), Ta = Ai >> 6, Ta >= 2 ? (Ta -= 2, Et = -1) : Et = 0, jr = o.kInsertRangeLut[Ta] + (Ai >> 3 & 7), Kr = o.kCopyRangeLut[Ta] + (Ai & 7), Xr = o.kInsertLengthPrefixCode[jr].offset + xe.readBits(o.kInsertLengthPrefixCode[jr].nbits), St = o.kCopyLengthPrefixCode[Kr].offset + xe.readBits(o.kCopyLengthPrefixCode[Kr].nbits), Ge = X[O - 1 & ie], at = X[O - 2 & ie], ia = 0; ia < Xr; ++ia)
|
|
26572
26575
|
xe.readMoreInput(), Rt[0] === 0 && (he(
|
|
26573
26576
|
Tt[0],
|
|
26574
26577
|
bt,
|
|
@@ -26577,7 +26580,7 @@ function qf() {
|
|
|
26577
26580
|
ns,
|
|
26578
26581
|
Es,
|
|
26579
26582
|
xe
|
|
26580
|
-
), Rt[0] = Me(At, 0, xe), ki = Dt[0] << b,
|
|
26583
|
+
), Rt[0] = Me(At, 0, xe), ki = Dt[0] << b, ta = ki, Re = ms[Dt[0]], te = n.lookupOffsets[Re], Ve = n.lookupOffsets[Re + 1]), Pa = n.lookup[te + Ge] | n.lookup[Ve + at], Bt = vi[ta + Pa], --Rt[0], at = Ge, Ge = ve(it[0].codes, it[0].htrees[Bt], xe), X[O & ie] = Ge, (O & ie) === ie && z.write(X, me), ++O;
|
|
26581
26584
|
if (lt -= Xr, lt <= 0) break;
|
|
26582
26585
|
if (Et < 0) {
|
|
26583
26586
|
var Pa;
|
|
@@ -26589,7 +26592,7 @@ function qf() {
|
|
|
26589
26592
|
ns,
|
|
26590
26593
|
Es,
|
|
26591
26594
|
xe
|
|
26592
|
-
), Rt[2] = Me(At, 2 *
|
|
26595
|
+
), Rt[2] = Me(At, 2 * V, xe), sa = Dt[2] << I, Fa = sa), --Rt[2], Pa = (St > 4 ? 3 : St - 2) & 255, k = Ci[Fa + Pa], Et = ve(it[2].codes, it[2].htrees[k], xe), Et >= Pt) {
|
|
26593
26596
|
var qr, Fo, Oa;
|
|
26594
26597
|
Et -= Pt, Fo = Et & wi, Et >>= ps, qr = (Et >> 1) + 1, Oa = (2 + (Et & 1) << qr) - 4, Et = Pt + (Oa + xe.readBits(qr) << ps) + Fo;
|
|
26595
26598
|
}
|
|
@@ -26613,7 +26616,7 @@ function qf() {
|
|
|
26613
26616
|
else {
|
|
26614
26617
|
if (Et > 0 && (Ke[dt & 3] = os, ++dt), St > lt)
|
|
26615
26618
|
throw new Error("Invalid backward reference. pos: " + O + " distance: " + os + " len: " + St + " bytes left: " + lt);
|
|
26616
|
-
for (
|
|
26619
|
+
for (ia = 0; ia < St; ++ia)
|
|
26617
26620
|
X[O & ie] = X[O - os & ie], (O & ie) === ie && z.write(X, me), ++O, --lt;
|
|
26618
26621
|
}
|
|
26619
26622
|
Ge = X[O - 1 & ie], at = X[O - 2 & ie];
|
|
@@ -29526,7 +29529,7 @@ let d4 = new T({
|
|
|
29526
29529
|
lookupCount: u,
|
|
29527
29530
|
lookupRecords: new N(mi, "lookupCount")
|
|
29528
29531
|
}
|
|
29529
|
-
}), ja = new
|
|
29532
|
+
}), ja = new qs(16, "BE", 14), v4 = new T({
|
|
29530
29533
|
startCoord: ja,
|
|
29531
29534
|
peakCoord: ja,
|
|
29532
29535
|
endCoord: ja
|
|
@@ -30186,7 +30189,7 @@ var Z4 = new T({
|
|
|
30186
30189
|
numVertOriginYMetrics: u,
|
|
30187
30190
|
metrics: new N(U4, "numVertOriginYMetrics")
|
|
30188
30191
|
});
|
|
30189
|
-
let
|
|
30192
|
+
let ha = new T({
|
|
30190
30193
|
height: K,
|
|
30191
30194
|
width: K,
|
|
30192
30195
|
horiBearingX: ut,
|
|
@@ -30225,11 +30228,11 @@ new ke("version", {
|
|
|
30225
30228
|
data: bn
|
|
30226
30229
|
},
|
|
30227
30230
|
6: {
|
|
30228
|
-
metrics:
|
|
30231
|
+
metrics: ha,
|
|
30229
30232
|
data: Vl
|
|
30230
30233
|
},
|
|
30231
30234
|
7: {
|
|
30232
|
-
metrics:
|
|
30235
|
+
metrics: ha,
|
|
30233
30236
|
data: bn
|
|
30234
30237
|
},
|
|
30235
30238
|
8: {
|
|
@@ -30239,7 +30242,7 @@ new ke("version", {
|
|
|
30239
30242
|
components: new N(Sl, "numComponents")
|
|
30240
30243
|
},
|
|
30241
30244
|
9: {
|
|
30242
|
-
metrics:
|
|
30245
|
+
metrics: ha,
|
|
30243
30246
|
pad: new je(K),
|
|
30244
30247
|
numComponents: u,
|
|
30245
30248
|
components: new N(Sl, "numComponents")
|
|
@@ -30250,7 +30253,7 @@ new ke("version", {
|
|
|
30250
30253
|
data: new ts("dataLen")
|
|
30251
30254
|
},
|
|
30252
30255
|
18: {
|
|
30253
|
-
metrics:
|
|
30256
|
+
metrics: ha,
|
|
30254
30257
|
dataLen: S,
|
|
30255
30258
|
data: new ts("dataLen")
|
|
30256
30259
|
},
|
|
@@ -30284,7 +30287,7 @@ let Il = new T({
|
|
|
30284
30287
|
},
|
|
30285
30288
|
2: {
|
|
30286
30289
|
imageSize: S,
|
|
30287
|
-
bigMetrics:
|
|
30290
|
+
bigMetrics: ha
|
|
30288
30291
|
},
|
|
30289
30292
|
3: {
|
|
30290
30293
|
offsetArray: new N(u, (t) => t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1)
|
|
@@ -30295,7 +30298,7 @@ let Il = new T({
|
|
|
30295
30298
|
},
|
|
30296
30299
|
5: {
|
|
30297
30300
|
imageSize: S,
|
|
30298
|
-
bigMetrics:
|
|
30301
|
+
bigMetrics: ha,
|
|
30299
30302
|
numGlyphs: S,
|
|
30300
30303
|
glyphCodeArray: new N(u, "numGlyphs")
|
|
30301
30304
|
}
|
|
@@ -30487,7 +30490,7 @@ var g2 = new ke(S, {
|
|
|
30487
30490
|
itemVariationStore: new A(S, Lr)
|
|
30488
30491
|
}
|
|
30489
30492
|
});
|
|
30490
|
-
let
|
|
30493
|
+
let na = new Wt(u, [
|
|
30491
30494
|
"xPlacement",
|
|
30492
30495
|
"yPlacement",
|
|
30493
30496
|
"xAdvance",
|
|
@@ -30579,12 +30582,12 @@ let m2 = new T({
|
|
|
30579
30582
|
1: new ke(u, {
|
|
30580
30583
|
1: {
|
|
30581
30584
|
coverage: new A(u, ze),
|
|
30582
|
-
valueFormat:
|
|
30585
|
+
valueFormat: na,
|
|
30583
30586
|
value: new va()
|
|
30584
30587
|
},
|
|
30585
30588
|
2: {
|
|
30586
30589
|
coverage: new A(u, ze),
|
|
30587
|
-
valueFormat:
|
|
30590
|
+
valueFormat: na,
|
|
30588
30591
|
valueCount: u,
|
|
30589
30592
|
values: new Ze(new va(), "valueCount")
|
|
30590
30593
|
}
|
|
@@ -30592,15 +30595,15 @@ let m2 = new T({
|
|
|
30592
30595
|
2: new ke(u, {
|
|
30593
30596
|
1: {
|
|
30594
30597
|
coverage: new A(u, ze),
|
|
30595
|
-
valueFormat1:
|
|
30596
|
-
valueFormat2:
|
|
30598
|
+
valueFormat1: na,
|
|
30599
|
+
valueFormat2: na,
|
|
30597
30600
|
pairSetCount: u,
|
|
30598
30601
|
pairSets: new Ze(new A(u, y2), "pairSetCount")
|
|
30599
30602
|
},
|
|
30600
30603
|
2: {
|
|
30601
30604
|
coverage: new A(u, ze),
|
|
30602
|
-
valueFormat1:
|
|
30603
|
-
valueFormat2:
|
|
30605
|
+
valueFormat1: na,
|
|
30606
|
+
valueFormat2: na,
|
|
30604
30607
|
classDef1: new A(u, ks),
|
|
30605
30608
|
classDef2: new A(u, ks),
|
|
30606
30609
|
class1Count: u,
|
|
@@ -30992,7 +30995,7 @@ var sv = new T({
|
|
|
30992
30995
|
metrics: new Ze(tv, (t) => t.parent.vhea.numberOfMetrics),
|
|
30993
30996
|
bearings: new Ze(Z, (t) => t.parent.maxp.numGlyphs - t.parent.vhea.numberOfMetrics)
|
|
30994
30997
|
});
|
|
30995
|
-
let Ml = new
|
|
30998
|
+
let Ml = new qs(16, "BE", 14), av = new T({
|
|
30996
30999
|
fromCoord: Ml,
|
|
30997
31000
|
toCoord: Ml
|
|
30998
31001
|
}), iv = new T({
|
|
@@ -31200,7 +31203,7 @@ var pv = new T({
|
|
|
31200
31203
|
axis: new N(dv, "axisCount"),
|
|
31201
31204
|
instance: new N(gv, "instanceCount")
|
|
31202
31205
|
});
|
|
31203
|
-
let mv = new
|
|
31206
|
+
let mv = new qs(16, "BE", 14);
|
|
31204
31207
|
class yv {
|
|
31205
31208
|
static decode(e, s) {
|
|
31206
31209
|
return s.flags ? e.readUInt32BE() : e.readUInt16BE() * 2;
|
|
@@ -31450,7 +31453,7 @@ function Gi(t, e) {
|
|
|
31450
31453
|
}
|
|
31451
31454
|
return -1;
|
|
31452
31455
|
}
|
|
31453
|
-
function
|
|
31456
|
+
function la(t, e) {
|
|
31454
31457
|
let s = [];
|
|
31455
31458
|
for (; t < e; ) s.push(t++);
|
|
31456
31459
|
return s;
|
|
@@ -31533,12 +31536,12 @@ class Ao {
|
|
|
31533
31536
|
let e = this.cmap;
|
|
31534
31537
|
switch (e.version) {
|
|
31535
31538
|
case 0:
|
|
31536
|
-
return
|
|
31539
|
+
return la(0, e.codeMap.length);
|
|
31537
31540
|
case 4: {
|
|
31538
31541
|
let s = [], a = e.endCode.toArray();
|
|
31539
31542
|
for (let i = 0; i < a.length; i++) {
|
|
31540
31543
|
let r = a[i] + 1, n = e.startCode.get(i);
|
|
31541
|
-
s.push(...
|
|
31544
|
+
s.push(...la(n, r));
|
|
31542
31545
|
}
|
|
31543
31546
|
return s;
|
|
31544
31547
|
}
|
|
@@ -31546,11 +31549,11 @@ class Ao {
|
|
|
31546
31549
|
throw new Error("TODO: cmap format 8");
|
|
31547
31550
|
case 6:
|
|
31548
31551
|
case 10:
|
|
31549
|
-
return
|
|
31552
|
+
return la(e.firstCode, e.firstCode + e.glyphIndices.length);
|
|
31550
31553
|
case 12:
|
|
31551
31554
|
case 13: {
|
|
31552
31555
|
let s = [];
|
|
31553
|
-
for (let a of e.groups.toArray()) s.push(...
|
|
31556
|
+
for (let a of e.groups.toArray()) s.push(...la(a.startCharCode, a.endCharCode + 1));
|
|
31554
31557
|
return s;
|
|
31555
31558
|
}
|
|
31556
31559
|
case 14:
|
|
@@ -31590,7 +31593,7 @@ class Ao {
|
|
|
31590
31593
|
}
|
|
31591
31594
|
case 13: {
|
|
31592
31595
|
let i = [];
|
|
31593
|
-
for (let r of s.groups.toArray()) e === r.glyphID && i.push(...
|
|
31596
|
+
for (let r of s.groups.toArray()) e === r.glyphID && i.push(...la(r.startCharCode, r.endCharCode + 1));
|
|
31594
31597
|
return i;
|
|
31595
31598
|
}
|
|
31596
31599
|
default:
|
|
@@ -32656,7 +32659,7 @@ class Ka {
|
|
|
32656
32659
|
switch (this.table.version) {
|
|
32657
32660
|
case 2:
|
|
32658
32661
|
case 4:
|
|
32659
|
-
for (let a of this.table.segments) if (this.table.version === 2 && a.value === e) s.push(...
|
|
32662
|
+
for (let a of this.table.segments) if (this.table.version === 2 && a.value === e) s.push(...la(a.firstGlyph, a.lastGlyph + 1));
|
|
32660
32663
|
else
|
|
32661
32664
|
for (let i = 0; i < a.values.length; i++) a.values[i] === e && s.push(a.firstGlyph + i);
|
|
32662
32665
|
break;
|
|
@@ -32781,9 +32784,9 @@ class x0 {
|
|
|
32781
32784
|
f.unshift(...this.glyphs[d].codePoints);
|
|
32782
32785
|
let m = i.getItem(o++);
|
|
32783
32786
|
l = !!(m & i3);
|
|
32784
|
-
let b = !!(m & r3),
|
|
32785
|
-
|
|
32786
|
-
let M = r.getItem(
|
|
32787
|
+
let b = !!(m & r3), I = (m & n3) << 2 >> 2;
|
|
32788
|
+
I += this.glyphs[d].id;
|
|
32789
|
+
let M = r.getItem(I);
|
|
32787
32790
|
if (c += M, l || b) {
|
|
32788
32791
|
let E = n.getItem(c);
|
|
32789
32792
|
this.glyphs[d] = this.font.getGlyph(E, f), h.push(d), c = 0, f = [];
|
|
@@ -32855,7 +32858,7 @@ class x0 {
|
|
|
32855
32858
|
let h = 0, d = 0;
|
|
32856
32859
|
for (let m = 0; m < c.length && h <= 1; m++) c[m].id !== 65535 && (h++, d = c[m].id);
|
|
32857
32860
|
if (h === 1) {
|
|
32858
|
-
let m = r.map((
|
|
32861
|
+
let m = r.map((I) => I.id), b = this.inputCache[d];
|
|
32859
32862
|
b ? b.push(m) : this.inputCache[d] = [
|
|
32860
32863
|
m
|
|
32861
32864
|
];
|
|
@@ -33721,7 +33724,7 @@ class C0 extends _s {
|
|
|
33721
33724
|
}
|
|
33722
33725
|
}
|
|
33723
33726
|
Ft(C0, "zeroMarkWidths", "NONE");
|
|
33724
|
-
const Ca = 44032, k0 = 55204, A3 = k0 - Ca + 1, Br = 4352, Ur = 4449,
|
|
33727
|
+
const Ca = 44032, k0 = 55204, A3 = k0 - Ca + 1, Br = 4352, Ur = 4449, js = 4519, S3 = 19, ur = 21, ci = 28, V3 = Br + S3 - 1, I3 = Ur + ur - 1, _3 = js + ci - 1, Yl = 9676, F3 = (t) => 4352 <= t && t <= 4447 || 43360 <= t && t <= 43388, T3 = (t) => 4448 <= t && t <= 4519 || 55216 <= t && t <= 55238, P3 = (t) => 4520 <= t && t <= 4607 || 55243 <= t && t <= 55291, E3 = (t) => 12334 <= t && t <= 12335, O3 = (t) => Ca <= t && t <= k0, M3 = (t) => t - Ca < A3 && (t - Ca) % ci === 0, R3 = (t) => Br <= t && t <= V3, z3 = (t) => Ur <= t && t <= I3, L3 = (t) => 1 <= t && t <= _3, D3 = 0, B3 = 1, hr = 2, So = 3, dr = 4, N0 = 5, U3 = 6;
|
|
33725
33728
|
function gr(t) {
|
|
33726
33729
|
return F3(t) ? B3 : T3(t) ? hr : P3(t) ? So : M3(t) ? dr : O3(t) ? N0 : E3(t) ? U3 : D3;
|
|
33727
33730
|
}
|
|
@@ -33858,10 +33861,10 @@ function Xa(t, e, s) {
|
|
|
33858
33861
|
], s);
|
|
33859
33862
|
}
|
|
33860
33863
|
function A0(t, e, s) {
|
|
33861
|
-
let a = t[e], r = a.codePoints[0] - Ca, n =
|
|
33864
|
+
let a = t[e], r = a.codePoints[0] - Ca, n = js + r % ci;
|
|
33862
33865
|
r = r / ci | 0;
|
|
33863
33866
|
let o = Br + r / ur | 0, l = Ur + r % ur;
|
|
33864
|
-
if (!s.hasGlyphForCodePoint(o) || !s.hasGlyphForCodePoint(l) || n !==
|
|
33867
|
+
if (!s.hasGlyphForCodePoint(o) || !s.hasGlyphForCodePoint(l) || n !== js && !s.hasGlyphForCodePoint(n)) return e;
|
|
33865
33868
|
let c = Xa(s, o, a.features);
|
|
33866
33869
|
c.features.ljmo = !0;
|
|
33867
33870
|
let f = Xa(s, l, a.features);
|
|
@@ -33870,7 +33873,7 @@ function A0(t, e, s) {
|
|
|
33870
33873
|
c,
|
|
33871
33874
|
f
|
|
33872
33875
|
];
|
|
33873
|
-
if (n >
|
|
33876
|
+
if (n > js) {
|
|
33874
33877
|
let d = Xa(s, n, a.features);
|
|
33875
33878
|
d.features.tjmo = !0, h.push(d);
|
|
33876
33879
|
}
|
|
@@ -33885,9 +33888,9 @@ function G3(t, e, s) {
|
|
|
33885
33888
|
let m = c.codePoints[0], b = f.codePoints[0];
|
|
33886
33889
|
R3(m) && z3(b) && (l = Ca + ((m - Br) * ur + (b - Ur)) * ci);
|
|
33887
33890
|
}
|
|
33888
|
-
let d = h && h.codePoints[0] ||
|
|
33889
|
-
if (l != null && (d ===
|
|
33890
|
-
let m = l + (d -
|
|
33891
|
+
let d = h && h.codePoints[0] || js;
|
|
33892
|
+
if (l != null && (d === js || L3(d))) {
|
|
33893
|
+
let m = l + (d - js);
|
|
33891
33894
|
if (s.hasGlyphForCodePoint(m)) {
|
|
33892
33895
|
let b = o === hr ? 3 : 2;
|
|
33893
33896
|
return t.splice(e - b + 1, b, Xa(s, m, a.features)), e - b + 1;
|
|
@@ -34260,12 +34263,12 @@ function $3(t, e, s) {
|
|
|
34260
34263
|
}
|
|
34261
34264
|
} else F.position !== fe.SMVD && (b = F.position);
|
|
34262
34265
|
}
|
|
34263
|
-
let
|
|
34266
|
+
let I = h;
|
|
34264
34267
|
for (let w = h + 1; w < l; w++)
|
|
34265
34268
|
if (zs(e[w])) {
|
|
34266
|
-
for (let F =
|
|
34267
|
-
|
|
34268
|
-
} else e[w].shaperInfo.category === Ne.M && (
|
|
34269
|
+
for (let F = I + 1; F < w; F++) e[F].shaperInfo.position < fe.SMVD && (e[F].shaperInfo.position = e[w].shaperInfo.position);
|
|
34270
|
+
I = w;
|
|
34271
|
+
} else e[w].shaperInfo.category === Ne.M && (I = w);
|
|
34269
34272
|
let M = e.slice(o, l);
|
|
34270
34273
|
M.sort((w, F) => w.shaperInfo.position - F.shaperInfo.position), e.splice(o, M.length, ...M);
|
|
34271
34274
|
for (let w = o; w < l; w++) if (e[w].shaperInfo.position === fe.Base_C) {
|
|
@@ -34280,15 +34283,15 @@ function $3(t, e, s) {
|
|
|
34280
34283
|
e[w].features.abvf = !0, e[w].features.pstf = !0, e[w].features.blwf = !0;
|
|
34281
34284
|
if (s.isOldSpec && s.unicodeScript === "Devanagari")
|
|
34282
34285
|
for (let w = o; w + 1 < h; w++) e[w].shaperInfo.category === Ne.Ra && e[w + 1].shaperInfo.category === Ne.H && (w + 1 === h || e[w + 2].shaperInfo.category === Ne.ZWJ) && (e[w].features.blwf = !0, e[w + 1].features.blwf = !0);
|
|
34283
|
-
let
|
|
34284
|
-
if (i.pref && h +
|
|
34285
|
-
for (let w = h + 1; w +
|
|
34286
|
+
let V = 2;
|
|
34287
|
+
if (i.pref && h + V < l)
|
|
34288
|
+
for (let w = h + 1; w + V - 1 < l; w++) {
|
|
34286
34289
|
let F = [
|
|
34287
34290
|
e[w].copy(),
|
|
34288
34291
|
e[w + 1].copy()
|
|
34289
34292
|
];
|
|
34290
34293
|
if (us(F, "pref")) {
|
|
34291
|
-
for (let y = 0; y <
|
|
34294
|
+
for (let y = 0; y < V; y++) e[w++].features.pref = !0;
|
|
34292
34295
|
if (i.cfar) for (; w < l; w++) e[w].features.cfar = !0;
|
|
34293
34296
|
break;
|
|
34294
34297
|
}
|
|
@@ -34637,26 +34640,26 @@ class ux extends fr {
|
|
|
34637
34640
|
let n = this.sequenceMatchIndices(1, r.components);
|
|
34638
34641
|
if (!n) continue;
|
|
34639
34642
|
let o = this.glyphIterator.cur, l = o.codePoints.slice();
|
|
34640
|
-
for (let
|
|
34643
|
+
for (let I of n) l.push(...this.glyphs[I].codePoints);
|
|
34641
34644
|
let c = new Yt(this.font, r.glyph, l, o.features);
|
|
34642
34645
|
c.shaperInfo = o.shaperInfo, c.isLigated = !0, c.substituted = !0;
|
|
34643
34646
|
let f = o.isMark;
|
|
34644
|
-
for (let
|
|
34647
|
+
for (let I = 0; I < n.length && f; I++) f = this.glyphs[n[I]].isMark;
|
|
34645
34648
|
c.ligatureID = f ? null : this.ligatureID++;
|
|
34646
34649
|
let h = o.ligatureID, d = o.codePoints.length, m = d, b = this.glyphIterator.index + 1;
|
|
34647
|
-
for (let
|
|
34648
|
-
if (f) b =
|
|
34649
|
-
else for (; b <
|
|
34650
|
+
for (let I of n) {
|
|
34651
|
+
if (f) b = I;
|
|
34652
|
+
else for (; b < I; ) {
|
|
34650
34653
|
var a = m - d + Math.min(this.glyphs[b].ligatureComponent || 1, d);
|
|
34651
34654
|
this.glyphs[b].ligatureID = c.ligatureID, this.glyphs[b].ligatureComponent = a, b++;
|
|
34652
34655
|
}
|
|
34653
34656
|
h = this.glyphs[b].ligatureID, d = this.glyphs[b].codePoints.length, m += d, b++;
|
|
34654
34657
|
}
|
|
34655
|
-
if (h && !f) for (let
|
|
34656
|
-
var a = m - d + Math.min(this.glyphs[
|
|
34657
|
-
this.glyphs[
|
|
34658
|
+
if (h && !f) for (let I = b; I < this.glyphs.length && this.glyphs[I].ligatureID === h; I++) {
|
|
34659
|
+
var a = m - d + Math.min(this.glyphs[I].ligatureComponent || 1, d);
|
|
34660
|
+
this.glyphs[I].ligatureComponent = a;
|
|
34658
34661
|
}
|
|
34659
|
-
for (let
|
|
34662
|
+
for (let I = n.length - 1; I >= 0; I--) this.glyphs.splice(n[I], 1);
|
|
34660
34663
|
return this.glyphs[this.glyphIterator.index] = c, !0;
|
|
34661
34664
|
}
|
|
34662
34665
|
return !1;
|
|
@@ -34966,18 +34969,18 @@ class Va {
|
|
|
34966
34969
|
*/
|
|
34967
34970
|
get bbox() {
|
|
34968
34971
|
if (this._bbox) return this._bbox;
|
|
34969
|
-
let e = new Is(), s = 0, a = 0, i = (
|
|
34970
|
-
for (let
|
|
34972
|
+
let e = new Is(), s = 0, a = 0, i = (V) => Math.pow(1 - V, 3) * m[E] + 3 * Math.pow(1 - V, 2) * V * b[E] + 3 * (1 - V) * Math.pow(V, 2) * I[E] + Math.pow(V, 3) * M[E];
|
|
34973
|
+
for (let V of this.commands) switch (V.command) {
|
|
34971
34974
|
case "moveTo":
|
|
34972
34975
|
case "lineTo":
|
|
34973
|
-
let [w, F] =
|
|
34976
|
+
let [w, F] = V.args;
|
|
34974
34977
|
e.addPoint(w, F), s = w, a = F;
|
|
34975
34978
|
break;
|
|
34976
34979
|
case "quadraticCurveTo":
|
|
34977
34980
|
case "bezierCurveTo":
|
|
34978
|
-
if (
|
|
34979
|
-
var [r, n, h, d] =
|
|
34980
|
-
else var [o, l, c, f, h, d] =
|
|
34981
|
+
if (V.command === "quadraticCurveTo")
|
|
34982
|
+
var [r, n, h, d] = V.args, o = s + 2 / 3 * (r - s), l = a + 2 / 3 * (n - a), c = h + 2 / 3 * (r - h), f = d + 2 / 3 * (n - d);
|
|
34983
|
+
else var [o, l, c, f, h, d] = V.args;
|
|
34981
34984
|
e.addPoint(h, d);
|
|
34982
34985
|
for (var m = [
|
|
34983
34986
|
s,
|
|
@@ -34985,21 +34988,21 @@ class Va {
|
|
|
34985
34988
|
], b = [
|
|
34986
34989
|
o,
|
|
34987
34990
|
l
|
|
34988
|
-
],
|
|
34991
|
+
], I = [
|
|
34989
34992
|
c,
|
|
34990
34993
|
f
|
|
34991
34994
|
], M = [
|
|
34992
34995
|
h,
|
|
34993
34996
|
d
|
|
34994
34997
|
], E = 0; E <= 1; E++) {
|
|
34995
|
-
let y = 6 * m[E] - 12 * b[E] + 6 *
|
|
34996
|
-
if (
|
|
34998
|
+
let y = 6 * m[E] - 12 * b[E] + 6 * I[E], U = -3 * m[E] + 9 * b[E] - 9 * I[E] + 3 * M[E];
|
|
34999
|
+
if (V = 3 * b[E] - 3 * m[E], U === 0) {
|
|
34997
35000
|
if (y === 0) continue;
|
|
34998
|
-
let $ = -
|
|
35001
|
+
let $ = -V / y;
|
|
34999
35002
|
0 < $ && $ < 1 && (E === 0 ? e.addPoint(i($), e.maxY) : E === 1 && e.addPoint(e.maxX, i($)));
|
|
35000
35003
|
continue;
|
|
35001
35004
|
}
|
|
35002
|
-
let P = Math.pow(y, 2) - 4 *
|
|
35005
|
+
let P = Math.pow(y, 2) - 4 * V * U;
|
|
35003
35006
|
if (P < 0) continue;
|
|
35004
35007
|
let B = (-y + Math.sqrt(P)) / (2 * U);
|
|
35005
35008
|
0 < B && B < 1 && (E === 0 ? e.addPoint(i(B), e.maxY) : E === 1 && e.addPoint(e.maxX, i(B)));
|
|
@@ -35676,7 +35679,7 @@ class Ix extends rs {
|
|
|
35676
35679
|
s.pos = a.offset;
|
|
35677
35680
|
let r = new Va(), n = [], o = [], l = null, c = 0, f = 0, h = 0, d, m, b = !1;
|
|
35678
35681
|
this._usedGsubrs = d = {}, this._usedSubrs = m = {};
|
|
35679
|
-
let
|
|
35682
|
+
let I = e.globalSubrIndex || [], M = this.bias(I), E = e.privateDictForGlyph(this.id) || {}, V = E.Subrs || [], w = this.bias(V), F = e.topDict.vstore && e.topDict.vstore.itemVariationStore, y = E.vsindex, U = this._font._variationProcessor;
|
|
35680
35683
|
function P() {
|
|
35681
35684
|
l == null && (l = n.shift() + E.nominalWidthX);
|
|
35682
35685
|
}
|
|
@@ -35715,7 +35718,7 @@ class Ix extends rs {
|
|
|
35715
35718
|
ye = f + n.shift(), G = h + n.shift(), Y = ye + n.shift(), W = G + n.shift(), f = Y + n.shift(), h = W + n.shift(), r.bezierCurveTo(ye, G, Y, W, f, h);
|
|
35716
35719
|
break;
|
|
35717
35720
|
case 10:
|
|
35718
|
-
if (Fe = n.pop() + w, Ae =
|
|
35721
|
+
if (Fe = n.pop() + w, Ae = V[Fe], Ae) {
|
|
35719
35722
|
m[Fe] = !0;
|
|
35720
35723
|
let R = s.pos, O = i;
|
|
35721
35724
|
s.pos = Ae.offset, i = Ae.offset + Ae.length, $(), s.pos = R, i = O;
|
|
@@ -35776,7 +35779,7 @@ class Ix extends rs {
|
|
|
35776
35779
|
n.push(s.readInt16BE());
|
|
35777
35780
|
break;
|
|
35778
35781
|
case 29:
|
|
35779
|
-
if (Fe = n.pop() + M, Ae =
|
|
35782
|
+
if (Fe = n.pop() + M, Ae = I[Fe], Ae) {
|
|
35780
35783
|
d[Fe] = !0;
|
|
35781
35784
|
let R = s.pos, O = i;
|
|
35782
35785
|
s.pos = Ae.offset, i = Ae.offset + Ae.length, $(), s.pos = R, i = O;
|
|
@@ -36045,32 +36048,32 @@ class Dx {
|
|
|
36045
36048
|
let f = s.map((M) => M.copy());
|
|
36046
36049
|
n &= Ex;
|
|
36047
36050
|
for (let M = 0; M < n; M++) {
|
|
36048
|
-
let E = r.readUInt16BE(),
|
|
36049
|
-
if (
|
|
36051
|
+
let E = r.readUInt16BE(), V = r.readUInt16BE();
|
|
36052
|
+
if (V & Ox) {
|
|
36050
36053
|
var h = [];
|
|
36051
36054
|
for (let B = 0; B < a.axisCount; B++) h.push(r.readInt16BE() / 16384);
|
|
36052
36055
|
} else {
|
|
36053
|
-
if ((
|
|
36054
|
-
var h = a.globalCoords[
|
|
36056
|
+
if ((V & sc) >= a.globalCoordCount) throw new Error("Invalid gvar table");
|
|
36057
|
+
var h = a.globalCoords[V & sc];
|
|
36055
36058
|
}
|
|
36056
|
-
if (
|
|
36059
|
+
if (V & tc) {
|
|
36057
36060
|
var d = [];
|
|
36058
36061
|
for (let B = 0; B < a.axisCount; B++) d.push(r.readInt16BE() / 16384);
|
|
36059
36062
|
var m = [];
|
|
36060
36063
|
for (let B = 0; B < a.axisCount; B++) m.push(r.readInt16BE() / 16384);
|
|
36061
36064
|
}
|
|
36062
|
-
let w = this.tupleFactor(
|
|
36065
|
+
let w = this.tupleFactor(V, h, d, m);
|
|
36063
36066
|
if (w === 0) {
|
|
36064
36067
|
o += E;
|
|
36065
36068
|
continue;
|
|
36066
36069
|
}
|
|
36067
36070
|
var l = r.pos;
|
|
36068
|
-
if (r.pos = o,
|
|
36071
|
+
if (r.pos = o, V & Mx) var b = this.decodePoints();
|
|
36069
36072
|
else var b = c;
|
|
36070
36073
|
let y = b.length === 0 ? s.length : b.length, U = this.decodeDeltas(y), P = this.decodeDeltas(y);
|
|
36071
36074
|
if (b.length === 0) for (let B = 0; B < s.length; B++) {
|
|
36072
|
-
var
|
|
36073
|
-
|
|
36075
|
+
var I = s[B];
|
|
36076
|
+
I.x += Math.round(U[B] * w), I.y += Math.round(P[B] * w);
|
|
36074
36077
|
}
|
|
36075
36078
|
else {
|
|
36076
36079
|
let B = f.map(($) => $.copy()), J = s.map(() => !1);
|
|
@@ -36159,10 +36162,10 @@ class Dx {
|
|
|
36159
36162
|
}
|
|
36160
36163
|
let h = r[a][f], d = r[i][f], m = n[a][f], b = n[i][f];
|
|
36161
36164
|
if (h !== d || m === b) {
|
|
36162
|
-
let
|
|
36165
|
+
let I = h === d ? 0 : (b - m) / (d - h);
|
|
36163
36166
|
for (let M = e; M <= s; M++) {
|
|
36164
36167
|
let E = r[M][f];
|
|
36165
|
-
E <= h ? E += m - h : E >= d ? E += b - d : E = m + (E - h) *
|
|
36168
|
+
E <= h ? E += m - h : E >= d ? E += b - d : E = m + (E - h) * I, n[M][f] = E;
|
|
36166
36169
|
}
|
|
36167
36170
|
}
|
|
36168
36171
|
}
|
|
@@ -36243,19 +36246,19 @@ class Hx {
|
|
|
36243
36246
|
encodeSimple(e, s = []) {
|
|
36244
36247
|
let a = [], i = [], r = [], n = [], o = 0, l = 0, c = 0, f = 0, h = 0;
|
|
36245
36248
|
for (let E = 0; E < e.commands.length; E++) {
|
|
36246
|
-
let
|
|
36247
|
-
for (let w = 0; w <
|
|
36248
|
-
let F =
|
|
36249
|
-
if (
|
|
36249
|
+
let V = e.commands[E];
|
|
36250
|
+
for (let w = 0; w < V.args.length; w += 2) {
|
|
36251
|
+
let F = V.args[w], y = V.args[w + 1], U = 0;
|
|
36252
|
+
if (V.command === "quadraticCurveTo" && w === 2) {
|
|
36250
36253
|
let P = e.commands[E + 1];
|
|
36251
36254
|
if (P && P.command === "quadraticCurveTo") {
|
|
36252
36255
|
let B = (l + P.args[0]) / 2, J = (c + P.args[1]) / 2;
|
|
36253
36256
|
if (F === B && y === J) continue;
|
|
36254
36257
|
}
|
|
36255
36258
|
}
|
|
36256
|
-
|
|
36259
|
+
V.command === "quadraticCurveTo" && w === 0 || (U |= Bx), U = this._encodePoint(F, l, i, U, Ux, Wx), U = this._encodePoint(y, c, r, U, Zx, Yx), U === f && o < 255 ? (n[n.length - 1] |= Gx, o++) : (o > 0 && (n.push(o), o = 0), n.push(U), f = U), l = F, c = y, h++;
|
|
36257
36260
|
}
|
|
36258
|
-
|
|
36261
|
+
V.command === "closePath" && a.push(h - 1);
|
|
36259
36262
|
}
|
|
36260
36263
|
e.commands.length > 1 && e.commands[e.commands.length - 1].command !== "closePath" && a.push(h - 1);
|
|
36261
36264
|
let d = e.bbox, m = {
|
|
@@ -36269,8 +36272,8 @@ class Hx {
|
|
|
36269
36272
|
flags: n,
|
|
36270
36273
|
xPoints: i,
|
|
36271
36274
|
yPoints: r
|
|
36272
|
-
}, b = nc.size(m),
|
|
36273
|
-
return nc.encode(M, m),
|
|
36275
|
+
}, b = nc.size(m), I = 4 - b % 4, M = new tr(b + I);
|
|
36276
|
+
return nc.encode(M, m), I !== 0 && M.fill(0, I), M.buffer;
|
|
36274
36277
|
}
|
|
36275
36278
|
_encodePoint(e, s, a, i, r, n) {
|
|
36276
36279
|
let o = e - s;
|
|
@@ -37248,7 +37251,7 @@ var ht = {
|
|
|
37248
37251
|
"ascend",
|
|
37249
37252
|
"movingLetters"
|
|
37250
37253
|
]
|
|
37251
|
-
},
|
|
37254
|
+
}, Ks = /^#[A-Fa-f0-9]{6}$/, mC = v({
|
|
37252
37255
|
src: p().url(),
|
|
37253
37256
|
family: p(),
|
|
37254
37257
|
weight: x([p(), C()]).optional(),
|
|
@@ -37256,7 +37259,7 @@ var ht = {
|
|
|
37256
37259
|
originalFamily: p().optional()
|
|
37257
37260
|
}), yC = v({
|
|
37258
37261
|
width: C().min(0).default(0),
|
|
37259
|
-
color: p().regex(
|
|
37262
|
+
color: p().regex(Ks).default("#000000"),
|
|
37260
37263
|
opacity: C().min(0).max(1).default(1),
|
|
37261
37264
|
radius: C().min(0).default(0)
|
|
37262
37265
|
}), bC = x([
|
|
@@ -37271,15 +37274,15 @@ var ht = {
|
|
|
37271
37274
|
family: p().default(ht.DEFAULTS.fontFamily),
|
|
37272
37275
|
size: C().int().min(ht.LIMITS.minFontSize).max(ht.LIMITS.maxFontSize).default(ht.DEFAULTS.fontSize),
|
|
37273
37276
|
weight: x([p(), C()]).default("400"),
|
|
37274
|
-
color: p().regex(
|
|
37277
|
+
color: p().regex(Ks).default(ht.DEFAULTS.color),
|
|
37275
37278
|
opacity: C().min(0).max(1).default(1),
|
|
37276
|
-
background: p().regex(
|
|
37279
|
+
background: p().regex(Ks).optional()
|
|
37277
37280
|
}), vC = v({
|
|
37278
37281
|
type: D(["linear", "radial"]).default("linear"),
|
|
37279
37282
|
angle: C().min(0).max(360).default(0),
|
|
37280
37283
|
stops: _e(v({
|
|
37281
37284
|
offset: C().min(0).max(1),
|
|
37282
|
-
color: p().regex(
|
|
37285
|
+
color: p().regex(Ks)
|
|
37283
37286
|
})).min(2)
|
|
37284
37287
|
}), xC = eb.extend({
|
|
37285
37288
|
letterSpacing: C().default(0),
|
|
@@ -37289,16 +37292,16 @@ var ht = {
|
|
|
37289
37292
|
gradient: vC.optional()
|
|
37290
37293
|
}), CC = Qy.extend({
|
|
37291
37294
|
width: C().min(0).default(0),
|
|
37292
|
-
color: p().regex(
|
|
37295
|
+
color: p().regex(Ks).default("#000000"),
|
|
37293
37296
|
opacity: C().min(0).max(1).default(1)
|
|
37294
37297
|
}), kC = Jy.extend({
|
|
37295
37298
|
offsetX: C().default(0),
|
|
37296
37299
|
offsetY: C().default(0),
|
|
37297
37300
|
blur: C().min(0).default(0),
|
|
37298
|
-
color: p().regex(
|
|
37301
|
+
color: p().regex(Ks).default("#000000"),
|
|
37299
37302
|
opacity: C().min(0).max(1).default(0.5)
|
|
37300
37303
|
}), NC = jy.extend({
|
|
37301
|
-
color: p().regex(
|
|
37304
|
+
color: p().regex(Ks).optional(),
|
|
37302
37305
|
opacity: C().min(0).max(1).default(1)
|
|
37303
37306
|
}), AC = Yy.extend({
|
|
37304
37307
|
horizontal: D(["left", "center", "right"]).default(ht.DEFAULTS.textAlign),
|
|
@@ -37312,7 +37315,7 @@ var ht = {
|
|
|
37312
37315
|
}).superRefine((t, e) => {
|
|
37313
37316
|
const s = ["typewriter", "shift", "fadeIn", "slideIn"];
|
|
37314
37317
|
t.style && !s.includes(t.preset) && e.addIssue({
|
|
37315
|
-
code:
|
|
37318
|
+
code: pa.custom,
|
|
37316
37319
|
message: `style is not allowed for preset "${t.preset}"`,
|
|
37317
37320
|
path: ["style"]
|
|
37318
37321
|
});
|
|
@@ -37325,11 +37328,11 @@ var ht = {
|
|
|
37325
37328
|
if (t.direction) {
|
|
37326
37329
|
const i = a[t.preset];
|
|
37327
37330
|
i ? i.includes(t.direction) || e.addIssue({
|
|
37328
|
-
code:
|
|
37331
|
+
code: pa.custom,
|
|
37329
37332
|
message: `direction "${t.direction}" is not valid for preset "${t.preset}"`,
|
|
37330
37333
|
path: ["direction"]
|
|
37331
37334
|
}) : e.addIssue({
|
|
37332
|
-
code:
|
|
37335
|
+
code: pa.custom,
|
|
37333
37336
|
message: `direction is not allowed for preset "${t.preset}"`,
|
|
37334
37337
|
path: ["direction"]
|
|
37335
37338
|
});
|
|
@@ -37858,10 +37861,10 @@ var OC = class {
|
|
|
37858
37861
|
if (!n)
|
|
37859
37862
|
l = await this.shapeFull(o, s);
|
|
37860
37863
|
else {
|
|
37861
|
-
const
|
|
37864
|
+
const V = Array.from(o), w = [];
|
|
37862
37865
|
let F = { text: "", startIndex: 0, isEmoji: !1 };
|
|
37863
|
-
for (let y = 0; y <
|
|
37864
|
-
const U =
|
|
37866
|
+
for (let y = 0; y < V.length; y++) {
|
|
37867
|
+
const U = V[y], P = EC(U);
|
|
37865
37868
|
y === 0 ? F = { text: U, startIndex: 0, isEmoji: P } : F.isEmoji === P ? F.text += U : (w.push(F), F = { text: U, startIndex: F.startIndex + F.text.length, isEmoji: P });
|
|
37866
37869
|
}
|
|
37867
37870
|
F.text && w.push(F), l = [];
|
|
@@ -37872,54 +37875,54 @@ var OC = class {
|
|
|
37872
37875
|
l.push(...P);
|
|
37873
37876
|
}
|
|
37874
37877
|
}
|
|
37875
|
-
} catch (
|
|
37876
|
-
throw new Error(`Text shaping failed: ${
|
|
37878
|
+
} catch (V) {
|
|
37879
|
+
throw new Error(`Text shaping failed: ${V instanceof Error ? V.message : String(V)}`);
|
|
37877
37880
|
}
|
|
37878
37881
|
let c;
|
|
37879
37882
|
try {
|
|
37880
37883
|
c = (await this.fonts.getFace(s))?.upem || 1e3;
|
|
37881
|
-
} catch (
|
|
37884
|
+
} catch (V) {
|
|
37882
37885
|
throw new Error(
|
|
37883
|
-
`Failed to get font metrics: ${
|
|
37886
|
+
`Failed to get font metrics: ${V instanceof Error ? V.message : String(V)}`
|
|
37884
37887
|
);
|
|
37885
37888
|
}
|
|
37886
|
-
const f = a / c, h = l.map((
|
|
37887
|
-
const w =
|
|
37889
|
+
const f = a / c, h = l.map((V) => {
|
|
37890
|
+
const w = V.cl;
|
|
37888
37891
|
let F;
|
|
37889
37892
|
if (w >= 0 && w < o.length) {
|
|
37890
37893
|
const y = o.codePointAt(w);
|
|
37891
37894
|
y !== void 0 && (F = String.fromCodePoint(y));
|
|
37892
37895
|
}
|
|
37893
37896
|
return {
|
|
37894
|
-
id:
|
|
37895
|
-
xAdvance:
|
|
37896
|
-
xOffset:
|
|
37897
|
-
yOffset: -
|
|
37898
|
-
cluster:
|
|
37897
|
+
id: V.g,
|
|
37898
|
+
xAdvance: V.ax * f + i,
|
|
37899
|
+
xOffset: V.dx * f,
|
|
37900
|
+
yOffset: -V.dy * f,
|
|
37901
|
+
cluster: V.cl,
|
|
37899
37902
|
char: F,
|
|
37900
|
-
fontDesc:
|
|
37903
|
+
fontDesc: V.fontDesc
|
|
37901
37904
|
// Preserve font descriptor
|
|
37902
37905
|
};
|
|
37903
37906
|
}), d = [];
|
|
37904
37907
|
let m = [], b = 0;
|
|
37905
|
-
const
|
|
37906
|
-
for (let
|
|
37907
|
-
o[
|
|
37908
|
+
const I = /* @__PURE__ */ new Set();
|
|
37909
|
+
for (let V = 0; V < o.length; V++)
|
|
37910
|
+
o[V] === " " && I.add(V);
|
|
37908
37911
|
let M = -1;
|
|
37909
|
-
for (let
|
|
37910
|
-
const w = h[
|
|
37912
|
+
for (let V = 0; V < h.length; V++) {
|
|
37913
|
+
const w = h[V], F = w.xAdvance;
|
|
37911
37914
|
if (w.char === `
|
|
37912
37915
|
`) {
|
|
37913
37916
|
d.push({
|
|
37914
37917
|
glyphs: m,
|
|
37915
37918
|
width: b,
|
|
37916
37919
|
y: 0
|
|
37917
|
-
}), m = [], b = 0, M =
|
|
37920
|
+
}), m = [], b = 0, M = V;
|
|
37918
37921
|
continue;
|
|
37919
37922
|
}
|
|
37920
37923
|
if (b + F > r && m.length > 0) {
|
|
37921
37924
|
if (M > -1) {
|
|
37922
|
-
const y = M - (
|
|
37925
|
+
const y = M - (V - m.length) + 1, U = m.splice(y), P = m.reduce((B, J) => B + J.xAdvance, 0);
|
|
37923
37926
|
d.push({
|
|
37924
37927
|
glyphs: m,
|
|
37925
37928
|
width: P,
|
|
@@ -37933,7 +37936,7 @@ var OC = class {
|
|
|
37933
37936
|
}), m = [], b = 0;
|
|
37934
37937
|
M = -1;
|
|
37935
37938
|
}
|
|
37936
|
-
m.push(w), b += F,
|
|
37939
|
+
m.push(w), b += F, I.has(w.cluster) && (M = V);
|
|
37937
37940
|
}
|
|
37938
37941
|
m.length > 0 && d.push({
|
|
37939
37942
|
glyphs: m,
|
|
@@ -37941,8 +37944,8 @@ var OC = class {
|
|
|
37941
37944
|
y: 0
|
|
37942
37945
|
});
|
|
37943
37946
|
const E = t.lineHeight * a;
|
|
37944
|
-
for (let
|
|
37945
|
-
d[
|
|
37947
|
+
for (let V = 0; V < d.length; V++)
|
|
37948
|
+
d[V].y = (V + 1) * E;
|
|
37946
37949
|
return d;
|
|
37947
37950
|
} catch (e) {
|
|
37948
37951
|
throw e instanceof Error ? e : new Error(`Layout failed: ${String(e)}`);
|
|
@@ -37981,35 +37984,35 @@ async function LC(t) {
|
|
|
37981
37984
|
break;
|
|
37982
37985
|
case "middle":
|
|
37983
37986
|
default:
|
|
37984
|
-
const
|
|
37985
|
-
l = (t.textRect.height - (n - 1) * o) / 2 +
|
|
37987
|
+
const V = t.font.size * 0.35;
|
|
37988
|
+
l = (t.textRect.height - (n - 1) * o) / 2 + V;
|
|
37986
37989
|
break;
|
|
37987
37990
|
}
|
|
37988
37991
|
l += a + s.top;
|
|
37989
37992
|
const c = t.style.gradient ? MC(t.style.gradient, 1) : { kind: "solid", color: t.font.color, opacity: t.font.opacity }, f = t.style.gradient ? t.style.gradient.stops[t.style.gradient.stops.length - 1]?.color ?? t.font.color : t.font.color, h = [], d = [];
|
|
37990
|
-
let m = 1 / 0, b = 1 / 0,
|
|
37993
|
+
let m = 1 / 0, b = 1 / 0, I = -1 / 0, M = -1 / 0;
|
|
37991
37994
|
for (const E of t.lines) {
|
|
37992
|
-
let
|
|
37995
|
+
let V;
|
|
37993
37996
|
switch (t.align.horizontal) {
|
|
37994
37997
|
case "left":
|
|
37995
|
-
|
|
37998
|
+
V = 0;
|
|
37996
37999
|
break;
|
|
37997
38000
|
case "right":
|
|
37998
|
-
|
|
38001
|
+
V = t.textRect.width - E.width;
|
|
37999
38002
|
break;
|
|
38000
38003
|
case "center":
|
|
38001
38004
|
default:
|
|
38002
|
-
|
|
38005
|
+
V = (t.textRect.width - E.width) / 2;
|
|
38003
38006
|
break;
|
|
38004
38007
|
}
|
|
38005
|
-
|
|
38006
|
-
let w =
|
|
38008
|
+
V += a + s.left;
|
|
38009
|
+
let w = V;
|
|
38007
38010
|
const F = t.lines.indexOf(E), y = l + F * o;
|
|
38008
38011
|
if (t.font.background) {
|
|
38009
38012
|
const U = t.font.size * 0.15, P = t.font.size * 0.12, B = t.font.size * 0.92 + P * 2, J = y - t.font.size * 0.78 - P;
|
|
38010
38013
|
d.push({
|
|
38011
38014
|
op: "Rectangle",
|
|
38012
|
-
x:
|
|
38015
|
+
x: V - U,
|
|
38013
38016
|
y: J,
|
|
38014
38017
|
width: E.width + U * 2,
|
|
38015
38018
|
height: B,
|
|
@@ -38035,7 +38038,7 @@ async function LC(t) {
|
|
|
38035
38038
|
continue;
|
|
38036
38039
|
}
|
|
38037
38040
|
const ue = BC(se), ve = P + r * ue.x, Fe = P + r * (ue.x + ue.w), Ae = B - r * (ue.y + ue.h), Me = B - r * ue.y;
|
|
38038
|
-
ve < m && (m = ve), Ae < b && (b = Ae), Fe >
|
|
38041
|
+
ve < m && (m = ve), Ae < b && (b = Ae), Fe > I && (I = Fe), Me > M && (M = Me), t.shadow && t.shadow.blur > 0 && h.push({
|
|
38039
38042
|
isShadow: !0,
|
|
38040
38043
|
op: "FillPath",
|
|
38041
38044
|
path: se,
|
|
@@ -38066,7 +38069,7 @@ async function LC(t) {
|
|
|
38066
38069
|
baselineY: y,
|
|
38067
38070
|
fontSize: t.font.size,
|
|
38068
38071
|
lineWidth: E.width,
|
|
38069
|
-
xStart:
|
|
38072
|
+
xStart: V
|
|
38070
38073
|
});
|
|
38071
38074
|
h.push({
|
|
38072
38075
|
op: "DecorationLine",
|
|
@@ -38082,20 +38085,20 @@ async function LC(t) {
|
|
|
38082
38085
|
const E = {
|
|
38083
38086
|
x: m,
|
|
38084
38087
|
y: b,
|
|
38085
|
-
w: Math.max(1,
|
|
38088
|
+
w: Math.max(1, I - m),
|
|
38086
38089
|
h: Math.max(1, M - b)
|
|
38087
38090
|
};
|
|
38088
|
-
for (const
|
|
38089
|
-
|
|
38091
|
+
for (const V of h)
|
|
38092
|
+
V.op === "FillPath" && !V.isShadow && (V.gradientBBox = E);
|
|
38090
38093
|
}
|
|
38091
38094
|
if (t.background || t.border) {
|
|
38092
|
-
const E = t.contentRect?.width ?? t.canvas.width,
|
|
38095
|
+
const E = t.contentRect?.width ?? t.canvas.width, V = t.contentRect?.height ?? t.canvas.height, w = t.border?.width ?? 0, F = t.border?.radius ?? 0, y = w / 2, U = t.canvas.width / 2, P = t.canvas.height / 2, B = U - E / 2, J = P - V / 2, $ = Math.min(E - w, V - w) / 2, se = Math.min(F, $), ue = Math.max(0, se - y);
|
|
38093
38096
|
t.background?.color && e.push({
|
|
38094
38097
|
op: "Rectangle",
|
|
38095
38098
|
x: B + w,
|
|
38096
38099
|
y: J + w,
|
|
38097
38100
|
width: E - w * 2,
|
|
38098
|
-
height:
|
|
38101
|
+
height: V - w * 2,
|
|
38099
38102
|
fill: { kind: "solid", color: t.background.color, opacity: t.background.opacity },
|
|
38100
38103
|
borderRadius: ue
|
|
38101
38104
|
}), t.border && t.border.width > 0 && e.push({
|
|
@@ -38103,7 +38106,7 @@ async function LC(t) {
|
|
|
38103
38106
|
x: B + y,
|
|
38104
38107
|
y: J + y,
|
|
38105
38108
|
width: E - w,
|
|
38106
|
-
height:
|
|
38109
|
+
height: V - w,
|
|
38107
38110
|
stroke: {
|
|
38108
38111
|
width: t.border.width,
|
|
38109
38112
|
color: t.border.color,
|
|
@@ -38243,8 +38246,8 @@ function WC(t, e, s, a, i, r) {
|
|
|
38243
38246
|
if (s >= b)
|
|
38244
38247
|
l.push(f);
|
|
38245
38248
|
else if (s > m) {
|
|
38246
|
-
const
|
|
38247
|
-
f.op === "FillPath" ?
|
|
38249
|
+
const I = (s - m) / Math.max(1e-6, b - m), M = yr(Math.min(1, I)), E = a === "up" ? i * 0.4 : -i * 0.4, V = { ...f, y: f.y + E * (1 - M) };
|
|
38250
|
+
f.op === "FillPath" ? V.fill.kind === "solid" ? V.fill = { ...V.fill, opacity: V.fill.opacity * M } : V.fill = { ...V.fill, opacity: (V.fill.opacity ?? 1) * M } : V.opacity = V.opacity * M, l.push(V);
|
|
38248
38251
|
}
|
|
38249
38252
|
}
|
|
38250
38253
|
Wr(f) && c++;
|
|
@@ -38267,7 +38270,7 @@ function YC(t, e, s, a, i, r, n) {
|
|
|
38267
38270
|
const F = w * M, y = F / n, U = Math.min(1, (F + b) / n);
|
|
38268
38271
|
return { startF: y, endF: U };
|
|
38269
38272
|
};
|
|
38270
|
-
let
|
|
38273
|
+
let V = 0;
|
|
38271
38274
|
for (const w of t) {
|
|
38272
38275
|
if (w.op !== "FillPath" && w.op !== "StrokePath") {
|
|
38273
38276
|
w.op === "DecorationLine" && s > 0.8 && m.push(w);
|
|
@@ -38275,12 +38278,12 @@ function YC(t, e, s, a, i, r, n) {
|
|
|
38275
38278
|
}
|
|
38276
38279
|
let F;
|
|
38277
38280
|
if (!o)
|
|
38278
|
-
F =
|
|
38281
|
+
F = V;
|
|
38279
38282
|
else {
|
|
38280
38283
|
let P = -1, B = 0;
|
|
38281
38284
|
for (let J = 0; J < f.length; J++) {
|
|
38282
38285
|
const $ = f[J].glyphCount;
|
|
38283
|
-
if (
|
|
38286
|
+
if (V >= B && V < B + $) {
|
|
38284
38287
|
P = J;
|
|
38285
38288
|
break;
|
|
38286
38289
|
}
|
|
@@ -38303,17 +38306,17 @@ function YC(t, e, s, a, i, r, n) {
|
|
|
38303
38306
|
se.opacity = se.opacity * B;
|
|
38304
38307
|
m.push(se);
|
|
38305
38308
|
}
|
|
38306
|
-
Wr(w) &&
|
|
38309
|
+
Wr(w) && V++;
|
|
38307
38310
|
}
|
|
38308
38311
|
return m;
|
|
38309
38312
|
}
|
|
38310
38313
|
function HC(t, e, s, a, i, r) {
|
|
38311
38314
|
const n = a === "word";
|
|
38312
38315
|
if (!n && !(a === "character")) {
|
|
38313
|
-
const E = Kn(s),
|
|
38314
|
-
return qC(t, E,
|
|
38316
|
+
const E = Kn(s), V = 0.95 + 0.05 * E;
|
|
38317
|
+
return qC(t, E, V);
|
|
38315
38318
|
}
|
|
38316
|
-
const l = n ? bi(e) : [], c = e.reduce((E,
|
|
38319
|
+
const l = n ? bi(e) : [], c = e.reduce((E, V) => E + V.glyphs.length, 0), f = n ? l.length : c;
|
|
38317
38320
|
if (f === 0) return t;
|
|
38318
38321
|
const h = [];
|
|
38319
38322
|
for (const E of t)
|
|
@@ -38321,8 +38324,8 @@ function HC(t, e, s, a, i, r) {
|
|
|
38321
38324
|
h.push(E);
|
|
38322
38325
|
break;
|
|
38323
38326
|
}
|
|
38324
|
-
const d = 0.3, b = r * 0.7 / Math.max(1, f - 1),
|
|
38325
|
-
const
|
|
38327
|
+
const d = 0.3, b = r * 0.7 / Math.max(1, f - 1), I = (E) => {
|
|
38328
|
+
const V = E * b, w = V / r, F = Math.min(1, (V + d) / r);
|
|
38326
38329
|
return { startF: w, endF: F };
|
|
38327
38330
|
};
|
|
38328
38331
|
let M = 0;
|
|
@@ -38331,9 +38334,9 @@ function HC(t, e, s, a, i, r) {
|
|
|
38331
38334
|
E.op === "DecorationLine" && s > 0.8 && h.push(E);
|
|
38332
38335
|
continue;
|
|
38333
38336
|
}
|
|
38334
|
-
let
|
|
38337
|
+
let V;
|
|
38335
38338
|
if (!n)
|
|
38336
|
-
|
|
38339
|
+
V = M;
|
|
38337
38340
|
else {
|
|
38338
38341
|
let y = -1, U = 0;
|
|
38339
38342
|
for (let P = 0; P < l.length; P++) {
|
|
@@ -38344,9 +38347,9 @@ function HC(t, e, s, a, i, r) {
|
|
|
38344
38347
|
}
|
|
38345
38348
|
U += B;
|
|
38346
38349
|
}
|
|
38347
|
-
|
|
38350
|
+
V = Math.max(0, y);
|
|
38348
38351
|
}
|
|
38349
|
-
const { startF: w, endF: F } = V
|
|
38352
|
+
const { startF: w, endF: F } = I(V);
|
|
38350
38353
|
if (s <= w) {
|
|
38351
38354
|
const y = { ...E };
|
|
38352
38355
|
E.op === "FillPath" ? y.fill.kind === "solid" ? y.fill = { ...y.fill, opacity: 0 } : y.fill = { ...y.fill, opacity: 0 } : y.opacity = 0, h.push(y);
|
|
@@ -38384,8 +38387,8 @@ function jC(t, e, s, a, i, r, n) {
|
|
|
38384
38387
|
b.push(F);
|
|
38385
38388
|
break;
|
|
38386
38389
|
}
|
|
38387
|
-
const
|
|
38388
|
-
const y = F * E, U = y / n, P = Math.min(1, (y +
|
|
38390
|
+
const I = 0.3, E = n * 0.7 / Math.max(1, m - 1), V = (F) => {
|
|
38391
|
+
const y = F * E, U = y / n, P = Math.min(1, (y + I) / n);
|
|
38389
38392
|
return { startF: U, endF: P };
|
|
38390
38393
|
};
|
|
38391
38394
|
let w = 0;
|
|
@@ -38409,7 +38412,7 @@ function jC(t, e, s, a, i, r, n) {
|
|
|
38409
38412
|
}
|
|
38410
38413
|
y = Math.max(0, B);
|
|
38411
38414
|
}
|
|
38412
|
-
const { startF: U, endF: P } =
|
|
38415
|
+
const { startF: U, endF: P } = V(y);
|
|
38413
38416
|
if (s <= U) {
|
|
38414
38417
|
const B = { ...F, x: F.x + f.x, y: F.y + f.y };
|
|
38415
38418
|
F.op === "FillPath" ? B.fill.kind === "solid" ? B.fill = { ...B.fill, opacity: 0 } : B.fill = { ...B.fill, opacity: 0 } : B.opacity = 0, b.push(B);
|
|
@@ -38899,14 +38902,14 @@ function ok(t, e, s) {
|
|
|
38899
38902
|
t.transform && (h += Ot(t.transform.x, 0), d += Ot(t.transform.y, 0));
|
|
38900
38903
|
const m = [];
|
|
38901
38904
|
if (t.shadow) {
|
|
38902
|
-
const
|
|
38905
|
+
const I = Ot(t.shadow.offsetX, 4), M = Ot(t.shadow.offsetY, 4), E = t.shadow.color ?? "#000000", V = Ot(t.shadow.opacity, 0.5);
|
|
38903
38906
|
m.push(
|
|
38904
|
-
`<path d="${r}" transform="translate(${h +
|
|
38907
|
+
`<path d="${r}" transform="translate(${h + I}, ${d + M})" fill="${E}" fill-opacity="${V}"/>`
|
|
38905
38908
|
);
|
|
38906
38909
|
}
|
|
38907
38910
|
const b = [`d="${r}"`, `transform="translate(${h}, ${d})"`];
|
|
38908
38911
|
if (t.fill) {
|
|
38909
|
-
const
|
|
38912
|
+
const I = `fill-${Date.now()}`, M = lk(t.fill, I);
|
|
38910
38913
|
M.defs && m.unshift(M.defs), b.push(`fill="${M.fill}"`), t.fill.opacity !== void 0 && t.fill.opacity !== 1 && b.push(`fill-opacity="${t.fill.opacity}"`);
|
|
38911
38914
|
} else
|
|
38912
38915
|
b.push('fill="none"');
|
|
@@ -39126,31 +39129,31 @@ function vk(t) {
|
|
|
39126
39129
|
case "C":
|
|
39127
39130
|
if (d + 5 < s.length)
|
|
39128
39131
|
for (let b = 0; b < 3; b++) {
|
|
39129
|
-
const
|
|
39130
|
-
i = Math.min(i,
|
|
39132
|
+
const I = s[d++], M = s[d++];
|
|
39133
|
+
i = Math.min(i, I), n = Math.max(n, I), r = Math.min(r, M), o = Math.max(o, M), b === 2 && (l = I, c = M);
|
|
39131
39134
|
}
|
|
39132
39135
|
break;
|
|
39133
39136
|
case "c":
|
|
39134
39137
|
if (d + 5 < s.length)
|
|
39135
39138
|
for (let b = 0; b < 3; b++) {
|
|
39136
|
-
const
|
|
39137
|
-
i = Math.min(i,
|
|
39139
|
+
const I = l + s[d++], M = c + s[d++];
|
|
39140
|
+
i = Math.min(i, I), n = Math.max(n, I), r = Math.min(r, M), o = Math.max(o, M), b === 2 && (l = I, c = M);
|
|
39138
39141
|
}
|
|
39139
39142
|
break;
|
|
39140
39143
|
case "S":
|
|
39141
39144
|
case "Q":
|
|
39142
39145
|
if (d + 3 < s.length)
|
|
39143
39146
|
for (let b = 0; b < 2; b++) {
|
|
39144
|
-
const
|
|
39145
|
-
i = Math.min(i,
|
|
39147
|
+
const I = s[d++], M = s[d++];
|
|
39148
|
+
i = Math.min(i, I), n = Math.max(n, I), r = Math.min(r, M), o = Math.max(o, M), b === 1 && (l = I, c = M);
|
|
39146
39149
|
}
|
|
39147
39150
|
break;
|
|
39148
39151
|
case "s":
|
|
39149
39152
|
case "q":
|
|
39150
39153
|
if (d + 3 < s.length)
|
|
39151
39154
|
for (let b = 0; b < 2; b++) {
|
|
39152
|
-
const
|
|
39153
|
-
i = Math.min(i,
|
|
39155
|
+
const I = l + s[d++], M = c + s[d++];
|
|
39156
|
+
i = Math.min(i, I), n = Math.max(n, I), r = Math.min(r, M), o = Math.max(o, M), b === 1 && (l = I, c = M);
|
|
39154
39157
|
}
|
|
39155
39158
|
break;
|
|
39156
39159
|
case "A":
|
|
@@ -39342,7 +39345,7 @@ async function kk(t = {}) {
|
|
|
39342
39345
|
right: l.padding,
|
|
39343
39346
|
bottom: l.padding,
|
|
39344
39347
|
left: l.padding
|
|
39345
|
-
} : l.padding : { top: 0, right: 0, bottom: 0, left: 0 },
|
|
39348
|
+
} : l.padding : { top: 0, right: 0, bottom: 0, left: 0 }, I = l.border?.width ?? 0, M = (l.width ?? e) + I * 2, E = (l.height ?? s) + I * 2, V = a, w = {
|
|
39346
39349
|
x: 0,
|
|
39347
39350
|
y: 0,
|
|
39348
39351
|
width: (l.width ?? e) - b.left - b.right,
|
|
@@ -39351,7 +39354,7 @@ async function kk(t = {}) {
|
|
|
39351
39354
|
let U;
|
|
39352
39355
|
try {
|
|
39353
39356
|
U = await LC({
|
|
39354
|
-
canvas: { width: M, height: E, pixelRatio:
|
|
39357
|
+
canvas: { width: M, height: E, pixelRatio: V },
|
|
39355
39358
|
textRect: w,
|
|
39356
39359
|
lines: m,
|
|
39357
39360
|
contentRect: { width: F, height: y },
|
|
@@ -39433,7 +39436,7 @@ const wc = (t) => {
|
|
|
39433
39436
|
base: a
|
|
39434
39437
|
};
|
|
39435
39438
|
}, Nk = (t) => t.includes("fonts.gstatic.com");
|
|
39436
|
-
class
|
|
39439
|
+
class da extends Nt {
|
|
39437
39440
|
static PREVIEW_FPS = 60;
|
|
39438
39441
|
textEngine = null;
|
|
39439
39442
|
renderer = null;
|
|
@@ -39457,8 +39460,8 @@ class ha extends Nt {
|
|
|
39457
39460
|
let c = o;
|
|
39458
39461
|
typeof l == "string" ? c = parseInt(l, 10) || o : typeof l == "number" && (c = l);
|
|
39459
39462
|
const f = this.edit.getTimelineFonts(), h = r ? f.find((m) => {
|
|
39460
|
-
const { full: b, base:
|
|
39461
|
-
return b.toLowerCase() === M ||
|
|
39463
|
+
const { full: b, base: I } = wc(m.src), M = r.toLowerCase();
|
|
39464
|
+
return b.toLowerCase() === M || I.toLowerCase() === M;
|
|
39462
39465
|
}) : void 0;
|
|
39463
39466
|
let d;
|
|
39464
39467
|
if (h && r)
|
|
@@ -39553,7 +39556,7 @@ class ha extends Nt {
|
|
|
39553
39556
|
this.textEngine = await kk({
|
|
39554
39557
|
width: r.width,
|
|
39555
39558
|
height: r.height,
|
|
39556
|
-
fps:
|
|
39559
|
+
fps: da.PREVIEW_FPS
|
|
39557
39560
|
});
|
|
39558
39561
|
const { value: n } = this.textEngine.validate(r);
|
|
39559
39562
|
if (this.validatedAsset = n, this.canvas = document.createElement("canvas"), this.canvas.width = r.width, this.canvas.height = r.height, this.renderer = this.textEngine.createRenderer(this.canvas), a) {
|
|
@@ -39582,7 +39585,7 @@ class ha extends Nt {
|
|
|
39582
39585
|
}
|
|
39583
39586
|
async renderFrame(e) {
|
|
39584
39587
|
if (!this.textEngine || !this.renderer || !this.canvas || !this.validatedAsset) return;
|
|
39585
|
-
const s = Math.floor(e *
|
|
39588
|
+
const s = Math.floor(e * da.PREVIEW_FPS);
|
|
39586
39589
|
if (this.cachedFrames.has(s)) {
|
|
39587
39590
|
const a = this.cachedFrames.get(s);
|
|
39588
39591
|
this.sprite && this.sprite.texture !== a && (this.sprite.texture = a), this.lastRenderedTime = e;
|
|
@@ -39631,7 +39634,7 @@ class ha extends Nt {
|
|
|
39631
39634
|
renderFrameSafe(e) {
|
|
39632
39635
|
if (this.isRendering) {
|
|
39633
39636
|
this.pendingRenderTime = e;
|
|
39634
|
-
const s = Math.floor(e *
|
|
39637
|
+
const s = Math.floor(e * da.PREVIEW_FPS), a = this.cachedFrames.get(s);
|
|
39635
39638
|
a && this.sprite && this.sprite.texture !== a && (this.sprite.texture = a);
|
|
39636
39639
|
return;
|
|
39637
39640
|
}
|
|
@@ -39652,7 +39655,7 @@ class ha extends Nt {
|
|
|
39652
39655
|
super.dispose(), this.loadComplete = !1;
|
|
39653
39656
|
for (const e of this.cachedFrames.values())
|
|
39654
39657
|
e.destroy();
|
|
39655
|
-
this.cachedFrames.clear(), this.texture && !this.cachedFrames.has(Math.floor(this.lastRenderedTime *
|
|
39658
|
+
this.cachedFrames.clear(), this.texture && !this.cachedFrames.has(Math.floor(this.lastRenderedTime * da.PREVIEW_FPS)) && this.texture.destroy(), this.texture = null, this.sprite && (this.sprite.destroy(), this.sprite = null), this.canvas && (this.canvas = null), this.textEngine && (this.textEngine.destroy(), this.textEngine = null), this.renderer = null, this.validatedAsset = null;
|
|
39656
39659
|
}
|
|
39657
39660
|
getSize() {
|
|
39658
39661
|
const e = this.edit.getEdit();
|
|
@@ -39954,9 +39957,9 @@ class Qa {
|
|
|
39954
39957
|
const m = this.clipConfig.asset.alignment?.horizontal ?? "center";
|
|
39955
39958
|
let b = f;
|
|
39956
39959
|
if (m !== "left") {
|
|
39957
|
-
const
|
|
39960
|
+
const I = this.measureText(n, s), M = this.textElement.width;
|
|
39958
39961
|
let E = 0;
|
|
39959
|
-
m === "center" ? E = (M -
|
|
39962
|
+
m === "center" ? E = (M - I) / 2 : m === "right" && (E = M - I), b = E + f;
|
|
39960
39963
|
}
|
|
39961
39964
|
this.pixelX = b;
|
|
39962
39965
|
}
|
|
@@ -40267,7 +40270,7 @@ class Xt {
|
|
|
40267
40270
|
};
|
|
40268
40271
|
}
|
|
40269
40272
|
}
|
|
40270
|
-
class
|
|
40273
|
+
class ma extends Nt {
|
|
40271
40274
|
static loadedFonts = /* @__PURE__ */ new Set();
|
|
40272
40275
|
background = null;
|
|
40273
40276
|
text = null;
|
|
@@ -40368,28 +40371,29 @@ class pa extends Nt {
|
|
|
40368
40371
|
}
|
|
40369
40372
|
async loadFont(e) {
|
|
40370
40373
|
const { baseFontFamily: s, fontWeight: a } = Gt(e), i = `${s}-${a}`;
|
|
40371
|
-
if (
|
|
40374
|
+
if (ma.loadedFonts.has(i))
|
|
40372
40375
|
return;
|
|
40373
40376
|
const r = to(e);
|
|
40374
40377
|
if (r) {
|
|
40375
40378
|
const n = new FontFace(s, `url(${r})`, {
|
|
40376
40379
|
weight: a.toString()
|
|
40377
40380
|
});
|
|
40378
|
-
await n.load(), document.fonts.add(n),
|
|
40381
|
+
await n.load(), document.fonts.add(n), ma.loadedFonts.add(i);
|
|
40379
40382
|
}
|
|
40380
40383
|
}
|
|
40381
40384
|
static resetFontCache() {
|
|
40382
|
-
|
|
40385
|
+
ma.loadedFonts.clear();
|
|
40383
40386
|
}
|
|
40384
40387
|
}
|
|
40385
40388
|
class Vk extends Nt {
|
|
40386
40389
|
aiOverlay = null;
|
|
40390
|
+
lastPrompt = "";
|
|
40387
40391
|
constructor(e, s) {
|
|
40388
40392
|
super(e, s, Qe.TextToImage);
|
|
40389
40393
|
}
|
|
40390
40394
|
async load() {
|
|
40391
40395
|
await super.load();
|
|
40392
|
-
const { width: e, height: s } = this.getSize(), a = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((l) => l.clips) ?? [], i = Tc(a, this.clipId ?? ""), { asset: r } = this.clipConfiguration, n =
|
|
40396
|
+
const { width: e, height: s } = this.getSize(), a = this.edit.getResolvedEdit()?.timeline.tracks.flatMap((l) => l.clips) ?? [], i = Tc(a, this.clipId ?? ""), { asset: r } = this.clipConfiguration, n = Ys(r) && r.prompt || "", o = Ys(r) ? r.type : "text-to-image";
|
|
40393
40397
|
this.aiOverlay = new _n({
|
|
40394
40398
|
mode: "panel",
|
|
40395
40399
|
icon: "image",
|
|
@@ -40404,6 +40408,8 @@ class Vk extends Nt {
|
|
|
40404
40408
|
super.update(e, s);
|
|
40405
40409
|
const { width: a, height: i } = this.getSize();
|
|
40406
40410
|
this.aiOverlay?.resize(a, i);
|
|
40411
|
+
const { asset: r } = this.clipConfiguration, n = Ys(r) && r.prompt || "";
|
|
40412
|
+
n !== this.lastPrompt && (this.aiOverlay?.updatePrompt(n), this.lastPrompt = n);
|
|
40407
40413
|
}
|
|
40408
40414
|
getSize() {
|
|
40409
40415
|
const e = this.clipConfiguration.asset;
|
|
@@ -40517,9 +40523,9 @@ class vc {
|
|
|
40517
40523
|
throw new Error("Invalid clip configuration: missing asset type");
|
|
40518
40524
|
switch (s.asset.type) {
|
|
40519
40525
|
case "text":
|
|
40520
|
-
return new
|
|
40526
|
+
return new ma(e, s);
|
|
40521
40527
|
case "rich-text":
|
|
40522
|
-
return new
|
|
40528
|
+
return new da(e, s);
|
|
40523
40529
|
case "shape":
|
|
40524
40530
|
return new Ak(e, s);
|
|
40525
40531
|
case "html":
|
|
@@ -40550,7 +40556,7 @@ class vc {
|
|
|
40550
40556
|
* Reset static caches used by players.
|
|
40551
40557
|
*/
|
|
40552
40558
|
static cleanup() {
|
|
40553
|
-
|
|
40559
|
+
ma.resetFontCache();
|
|
40554
40560
|
}
|
|
40555
40561
|
}
|
|
40556
40562
|
function Io(t, e, s, a) {
|
|
@@ -40944,18 +40950,14 @@ class An {
|
|
|
40944
40950
|
const r = this.clipId ? e.getClipBindings(this.clipId) : void 0;
|
|
40945
40951
|
this.storedInitialBindings = r ? new Map(r) : /* @__PURE__ */ new Map();
|
|
40946
40952
|
const n = this.trackIndex >= 0 ? this.trackIndex : a.layer - 1, o = this.clipIndex >= 0 ? this.clipIndex : e.getTracks()[n]?.indexOf(a) ?? -1, l = this.storedFinalConfig ?? this.finalClipConfig;
|
|
40947
|
-
|
|
40948
|
-
const { id: V, ...M } = l;
|
|
40949
|
-
s.updateClip(n, o, M);
|
|
40950
|
-
}
|
|
40951
|
-
e.resolve();
|
|
40953
|
+
l && s.replaceClipProperties(n, o, l), e.resolve();
|
|
40952
40954
|
const c = e.getClipAt(n, o);
|
|
40953
|
-
for (const [
|
|
40954
|
-
(c ? Wa(c.clipConfiguration,
|
|
40955
|
+
for (const [I, { resolvedValue: M }] of this.storedInitialBindings)
|
|
40956
|
+
(c ? Wa(c.clipConfiguration, I) : void 0) !== M && this.clipId && e.removeClipBinding(this.clipId, I);
|
|
40955
40957
|
const f = this.storedInitialConfig ?? this.initialClipConfig, h = this.storedFinalConfig ?? this.finalClipConfig, d = f?.asset, m = h?.asset;
|
|
40956
40958
|
if (d?.src !== m?.src) {
|
|
40957
|
-
const
|
|
40958
|
-
|
|
40959
|
+
const I = e.getClipAt(n, o);
|
|
40960
|
+
I && I.getTimingIntent().length === "auto" && await e.resolveClipAutoLength(I);
|
|
40959
40961
|
}
|
|
40960
40962
|
const b = e.getDocumentClip(n, o);
|
|
40961
40963
|
if (!this.previousDocClip || !b)
|
|
@@ -40973,22 +40975,22 @@ class An {
|
|
|
40973
40975
|
if (!a) throw new Error("SetUpdatedClipCommand.undo: document is required");
|
|
40974
40976
|
const i = this.clipId ? e.getPlayerByClipId(this.clipId) : e.getClipAt(this.trackIndex, this.clipIndex);
|
|
40975
40977
|
if (!i) return $e("Clip not found for undo");
|
|
40976
|
-
const r = this.trackIndex >= 0 ? this.trackIndex : i.layer - 1, n = this.clipIndex >= 0 ? this.clipIndex : e.getTracks()[r]?.indexOf(i) ?? -1, o = structuredClone(e.getDocumentClip(r, n))
|
|
40977
|
-
if (a.
|
|
40978
|
-
const
|
|
40979
|
-
|
|
40980
|
-
}
|
|
40981
|
-
const
|
|
40982
|
-
if (
|
|
40983
|
-
const
|
|
40984
|
-
|
|
40985
|
-
}
|
|
40986
|
-
const
|
|
40987
|
-
if (!o || !
|
|
40978
|
+
const r = this.trackIndex >= 0 ? this.trackIndex : i.layer - 1, n = this.clipIndex >= 0 ? this.clipIndex : e.getTracks()[r]?.indexOf(i) ?? -1, o = structuredClone(e.getDocumentClip(r, n));
|
|
40979
|
+
if (a.replaceClipProperties(r, n, s), e.resolve(), this.clipId) {
|
|
40980
|
+
const d = new Map(this.storedInitialBindings);
|
|
40981
|
+
d.size > 0 ? e.getDocument()?.setClipBindingsForClip(this.clipId, d) : e.getDocument()?.clearClipBindings(this.clipId);
|
|
40982
|
+
}
|
|
40983
|
+
const c = (this.storedFinalConfig ?? this.finalClipConfig)?.asset, f = s?.asset;
|
|
40984
|
+
if (c?.src !== f?.src) {
|
|
40985
|
+
const d = e.getClipAt(r, n);
|
|
40986
|
+
d && d.getTimingIntent().length === "auto" && await e.resolveClipAutoLength(d);
|
|
40987
|
+
}
|
|
40988
|
+
const h = e.getDocumentClip(r, n);
|
|
40989
|
+
if (!o || !h)
|
|
40988
40990
|
throw new Error(`SetUpdatedClipCommand: document clip not found after undo at ${r}/${n}`);
|
|
40989
40991
|
return e.emitEvent(ce.ClipUpdated, {
|
|
40990
40992
|
previous: { clip: Mt(o), trackIndex: r, clipIndex: n },
|
|
40991
|
-
current: { clip: Mt(
|
|
40993
|
+
current: { clip: Mt(h), trackIndex: r, clipIndex: n }
|
|
40992
40994
|
}), Pe();
|
|
40993
40995
|
}
|
|
40994
40996
|
dispose() {
|
|
@@ -41803,8 +41805,8 @@ class tN {
|
|
|
41803
41805
|
for (let n = 0; n < i.length; n += 1) {
|
|
41804
41806
|
const o = i[n], l = r?.clips[n], c = o.getTimingIntent(), f = ss(c.start), h = ss(c.length);
|
|
41805
41807
|
if ((f || h) && l) {
|
|
41806
|
-
const d = o.getStart(), m = o.getLength(), b = Math.abs(l.start - d) > 1e-3,
|
|
41807
|
-
(b ||
|
|
41808
|
+
const d = o.getStart(), m = o.getLength(), b = Math.abs(l.start - d) > 1e-3, I = Math.abs(l.length - m) > 1e-3;
|
|
41809
|
+
(b || I) && (o.setResolvedTiming({
|
|
41808
41810
|
start: l.start,
|
|
41809
41811
|
length: l.length
|
|
41810
41812
|
}), o.reconfigureAfterRestore());
|
|
@@ -42049,7 +42051,7 @@ class iN {
|
|
|
42049
42051
|
}
|
|
42050
42052
|
}
|
|
42051
42053
|
}
|
|
42052
|
-
class
|
|
42054
|
+
class ya {
|
|
42053
42055
|
data;
|
|
42054
42056
|
/**
|
|
42055
42057
|
* Merge field bindings
|
|
@@ -42273,6 +42275,21 @@ class ma {
|
|
|
42273
42275
|
throw new Error(`Clip at track ${e}, index ${s} does not exist`);
|
|
42274
42276
|
Object.assign(i, a);
|
|
42275
42277
|
}
|
|
42278
|
+
/**
|
|
42279
|
+
* Replace all properties on a clip while preserving its internal ID.
|
|
42280
|
+
* Unlike updateClip (which merges via Object.assign), this deletes properties
|
|
42281
|
+
* that exist on the current clip but not in the new state — ensuring undo
|
|
42282
|
+
* correctly removes properties that were added during a drag.
|
|
42283
|
+
*/
|
|
42284
|
+
replaceClipProperties(e, s, a) {
|
|
42285
|
+
const i = this.getClip(e, s);
|
|
42286
|
+
if (!i)
|
|
42287
|
+
throw new Error(`Clip at track ${e}, index ${s} does not exist`);
|
|
42288
|
+
const { id: r } = i;
|
|
42289
|
+
for (const n of Object.keys(i))
|
|
42290
|
+
n !== "id" && delete i[n];
|
|
42291
|
+
Object.assign(i, a), r && (i.id = r);
|
|
42292
|
+
}
|
|
42276
42293
|
/**
|
|
42277
42294
|
* Replace a clip entirely
|
|
42278
42295
|
*/
|
|
@@ -42483,13 +42500,13 @@ class ma {
|
|
|
42483
42500
|
* Create an EditDocument from raw Edit JSON
|
|
42484
42501
|
*/
|
|
42485
42502
|
static fromJSON(e) {
|
|
42486
|
-
return new
|
|
42503
|
+
return new ya(e);
|
|
42487
42504
|
}
|
|
42488
42505
|
/**
|
|
42489
42506
|
* Create a deep clone of this document
|
|
42490
42507
|
*/
|
|
42491
42508
|
clone() {
|
|
42492
|
-
return new
|
|
42509
|
+
return new ya(this.data);
|
|
42493
42510
|
}
|
|
42494
42511
|
}
|
|
42495
42512
|
const kc = /* @__PURE__ */ new Set(["asset", "start", "length", "id"]), rN = /* @__PURE__ */ new Set(["text-to-image", "image-to-video", "text-to-speech"]);
|
|
@@ -42884,10 +42901,10 @@ function Nc(t, e) {
|
|
|
42884
42901
|
for (const m of r) {
|
|
42885
42902
|
const b = n.get(m);
|
|
42886
42903
|
if (b) {
|
|
42887
|
-
const { clip:
|
|
42904
|
+
const { clip: I, trackIndex: M, clipIndex: E } = b, V = U0(I, e.mergeFields), w = c.get(M) ?? 0, F = Z0(V, w, l);
|
|
42888
42905
|
o.set(`${M}-${E}`, F);
|
|
42889
42906
|
const y = F.start + F.length, U = c.get(M) ?? 0;
|
|
42890
|
-
y > U && c.set(M, y),
|
|
42907
|
+
y > U && c.set(M, y), I.alias && l.set(I.alias, {
|
|
42891
42908
|
start: F.start,
|
|
42892
42909
|
length: F.length
|
|
42893
42910
|
});
|
|
@@ -42895,20 +42912,20 @@ function Nc(t, e) {
|
|
|
42895
42912
|
}
|
|
42896
42913
|
const f = [];
|
|
42897
42914
|
for (let m = 0; m < t.getTrackCount(); m += 1) {
|
|
42898
|
-
const b = t.getClipsInTrack(m).length,
|
|
42915
|
+
const b = t.getClipsInTrack(m).length, I = [];
|
|
42899
42916
|
for (let M = 0; M < b; M += 1) {
|
|
42900
42917
|
const E = o.get(`${m}-${M}`);
|
|
42901
42918
|
if (!E)
|
|
42902
42919
|
throw new Error(`Internal error: Clip at track ${m}, index ${M} was not resolved.`);
|
|
42903
|
-
|
|
42920
|
+
I.push(E);
|
|
42904
42921
|
}
|
|
42905
|
-
f.push({ clips:
|
|
42922
|
+
f.push({ clips: I });
|
|
42906
42923
|
}
|
|
42907
42924
|
const h = fN(f), d = f.map((m) => ({
|
|
42908
42925
|
clips: m.clips.map((b) => {
|
|
42909
42926
|
if (b.pendingEndLength) {
|
|
42910
|
-
const
|
|
42911
|
-
return Jn({ ...b, length:
|
|
42927
|
+
const I = Math.max(h - b.start, 0.1);
|
|
42928
|
+
return Jn({ ...b, length: I });
|
|
42912
42929
|
}
|
|
42913
42930
|
return Jn(b);
|
|
42914
42931
|
})
|
|
@@ -42973,7 +42990,7 @@ class fi {
|
|
|
42973
42990
|
* Create an Edit instance from a template configuration.
|
|
42974
42991
|
*/
|
|
42975
42992
|
constructor(e) {
|
|
42976
|
-
this.tracks = [], this.playbackTime = 0, this.totalDuration = 0, this.isPlaying = !1, this.document = new
|
|
42993
|
+
this.tracks = [], this.playbackTime = 0, this.totalDuration = 0, this.isPlaying = !1, this.document = new ya(e);
|
|
42977
42994
|
const s = this.document.getResolution(), a = this.document.getAspectRatio();
|
|
42978
42995
|
this.backgroundColor = this.document.getBackground() ?? "#000000", this.size = s ? Xn(s, a) : this.document.getSize(), this.assetLoader = new Cr(), this.events = new L0(), this.lumaMaskController = new Yk(
|
|
42979
42996
|
() => this.canvas,
|
|
@@ -43049,10 +43066,10 @@ class fi {
|
|
|
43049
43066
|
if (this.lastResolved = null, this.tracks.length > 0 && !this.hasStructuralChanges(e)) {
|
|
43050
43067
|
this.preserveClipIdsForGranularUpdate(e);
|
|
43051
43068
|
const a = this.document.getTracks(), i = this.document.getOutput();
|
|
43052
|
-
this.document = new
|
|
43069
|
+
this.document = new ya(e), this.isBatchingEvents = !0, await this.applyGranularChanges(e, a, i), this.isBatchingEvents = !1, this.emitEditChanged("loadEdit:granular");
|
|
43053
43070
|
return;
|
|
43054
43071
|
}
|
|
43055
|
-
this.document = new
|
|
43072
|
+
this.document = new ya(e);
|
|
43056
43073
|
const s = this.document.getSize();
|
|
43057
43074
|
this.size = s, this.backgroundColor = this.document.getBackground() ?? "#000000", this.events.emit(ft.ViewportSizeChanged, {
|
|
43058
43075
|
width: this.size.width,
|
|
@@ -44544,14 +44561,14 @@ var mN = Tf({
|
|
|
44544
44561
|
}
|
|
44545
44562
|
var m, b;
|
|
44546
44563
|
if (c) {
|
|
44547
|
-
var
|
|
44564
|
+
var I = hw("fs");
|
|
44548
44565
|
h = __dirname + "/", b = (k) => {
|
|
44549
44566
|
k = F(k) ? new URL(k) : k;
|
|
44550
|
-
var te =
|
|
44567
|
+
var te = I.readFileSync(k);
|
|
44551
44568
|
return te;
|
|
44552
44569
|
}, m = async (k, te = !0) => {
|
|
44553
44570
|
k = F(k) ? new URL(k) : k;
|
|
44554
|
-
var Ve =
|
|
44571
|
+
var Ve = I.readFileSync(k, te ? void 0 : "utf8");
|
|
44555
44572
|
return Ve;
|
|
44556
44573
|
}, process.argv.length > 1 && process.argv[1].replace(/\\/g, "/"), process.argv.slice(2), f = (k, te) => {
|
|
44557
44574
|
throw process.exitCode = k, te;
|
|
@@ -44583,7 +44600,7 @@ var mN = Tf({
|
|
|
44583
44600
|
};
|
|
44584
44601
|
}
|
|
44585
44602
|
console.log.bind(console);
|
|
44586
|
-
var M = console.error.bind(console), E,
|
|
44603
|
+
var M = console.error.bind(console), E, V = !1, w, F = (k) => k.startsWith("file://"), y, U, P, B, J = !1;
|
|
44587
44604
|
function $() {
|
|
44588
44605
|
var k = P.buffer;
|
|
44589
44606
|
n.HEAP8 = new Int8Array(k), n.HEAPU8 = B = new Uint8Array(k), n.HEAP32 = new Int32Array(k), n.HEAPU32 = new Uint32Array(k), n.HEAPF32 = new Float32Array(k), new BigInt64Array(k), new BigUint64Array(k);
|
|
@@ -44614,7 +44631,7 @@ var mN = Tf({
|
|
|
44614
44631
|
}
|
|
44615
44632
|
}
|
|
44616
44633
|
function G(k) {
|
|
44617
|
-
n.onAbort?.(k), k = "Aborted(" + k + ")", M(k),
|
|
44634
|
+
n.onAbort?.(k), k = "Aborted(" + k + ")", M(k), V = !0, k += ". Build with -sASSERTIONS for more info.";
|
|
44618
44635
|
var te = new WebAssembly.RuntimeError(k);
|
|
44619
44636
|
throw U?.(te), te;
|
|
44620
44637
|
}
|
|
@@ -44657,10 +44674,10 @@ var mN = Tf({
|
|
|
44657
44674
|
return Te(te, Ve);
|
|
44658
44675
|
}
|
|
44659
44676
|
function Ee() {
|
|
44660
|
-
return { env:
|
|
44677
|
+
return { env: ta, wasi_snapshot_preview1: ta };
|
|
44661
44678
|
}
|
|
44662
44679
|
async function Ie() {
|
|
44663
|
-
function k(ct,
|
|
44680
|
+
function k(ct, aa) {
|
|
44664
44681
|
return Bt = ct.exports, n.wasmExports = Bt, P = Bt.memory, n.wasmMemory = P, $(), ns = Bt.__indirect_function_table, ki(Bt), ye(), Bt;
|
|
44665
44682
|
}
|
|
44666
44683
|
Me();
|
|
@@ -44669,7 +44686,7 @@ var mN = Tf({
|
|
|
44669
44686
|
}
|
|
44670
44687
|
var Ve = Ee();
|
|
44671
44688
|
if (n.instantiateWasm)
|
|
44672
|
-
return new Promise((ct,
|
|
44689
|
+
return new Promise((ct, aa) => {
|
|
44673
44690
|
n.instantiateWasm(Ve, (Ni, Hr) => {
|
|
44674
44691
|
ct(k(Ni));
|
|
44675
44692
|
});
|
|
@@ -44693,7 +44710,7 @@ var mN = Tf({
|
|
|
44693
44710
|
return w;
|
|
44694
44711
|
f(1, k);
|
|
44695
44712
|
}, we = () => ne || re > 0, Ke = (k) => {
|
|
44696
|
-
w = k, we() || (n.onExit?.(k),
|
|
44713
|
+
w = k, we() || (n.onExit?.(k), V = !0), f(k, new ot(k));
|
|
44697
44714
|
}, dt = (k, te) => {
|
|
44698
44715
|
w = k, Ke(k);
|
|
44699
44716
|
}, Ge = dt, at = () => {
|
|
@@ -44704,7 +44721,7 @@ var mN = Tf({
|
|
|
44704
44721
|
X(k);
|
|
44705
44722
|
}
|
|
44706
44723
|
}, it = (k) => {
|
|
44707
|
-
if (!
|
|
44724
|
+
if (!V)
|
|
44708
44725
|
try {
|
|
44709
44726
|
k(), at();
|
|
44710
44727
|
} catch (te) {
|
|
@@ -44716,7 +44733,7 @@ var mN = Tf({
|
|
|
44716
44733
|
delete ie[k], it(() => _a(k, bt()));
|
|
44717
44734
|
}, te);
|
|
44718
44735
|
return ie[k] = { id: Ve, timeout_ms: te }, 0;
|
|
44719
|
-
}, xe = () => 2147483648, Yr = (k, te) => Math.ceil(k / te) * te,
|
|
44736
|
+
}, xe = () => 2147483648, Yr = (k, te) => Math.ceil(k / te) * te, $s = (k) => {
|
|
44720
44737
|
var te = P.buffer.byteLength, Ve = (k - te + 65535) / 65536 | 0;
|
|
44721
44738
|
try {
|
|
44722
44739
|
return P.grow(Ve), $(), 1;
|
|
@@ -44731,8 +44748,8 @@ var mN = Tf({
|
|
|
44731
44748
|
for (var Re = 1; Re <= 4; Re *= 2) {
|
|
44732
44749
|
var Ue = te * (1 + 0.2 / Re);
|
|
44733
44750
|
Ue = Math.min(Ue, k + 100663296);
|
|
44734
|
-
var ct = Math.min(Ve, Yr(Math.max(k, Ue), 65536)),
|
|
44735
|
-
if (
|
|
44751
|
+
var ct = Math.min(Ve, Yr(Math.max(k, Ue), 65536)), aa = $s(ct);
|
|
44752
|
+
if (aa)
|
|
44736
44753
|
return !0;
|
|
44737
44754
|
}
|
|
44738
44755
|
return !1;
|
|
@@ -44751,7 +44768,7 @@ var mN = Tf({
|
|
|
44751
44768
|
var Re = Es(Ve);
|
|
44752
44769
|
Re && Pt.set(Re, Ve);
|
|
44753
44770
|
}
|
|
44754
|
-
}, Pt, wi = (k) => (Pt || (Pt = /* @__PURE__ */ new WeakMap(), ps(0, ns.length)), Pt.get(k) || 0),
|
|
44771
|
+
}, Pt, wi = (k) => (Pt || (Pt = /* @__PURE__ */ new WeakMap(), ps(0, ns.length)), Pt.get(k) || 0), ea = [], vi = () => ea.length ? ea.pop() : ns.grow(1), ms = (k, te) => ns.set(k, te), xi = (k, te) => {
|
|
44755
44772
|
var Ve = wi(k);
|
|
44756
44773
|
if (Ve)
|
|
44757
44774
|
return Ve;
|
|
@@ -44766,25 +44783,25 @@ var mN = Tf({
|
|
|
44766
44783
|
}
|
|
44767
44784
|
return Pt.set(k, Re), Re;
|
|
44768
44785
|
}, Ci = (k) => {
|
|
44769
|
-
Pt.delete(Es(k)), ms(k, null),
|
|
44786
|
+
Pt.delete(Es(k)), ms(k, null), ea.push(k);
|
|
44770
44787
|
};
|
|
44771
44788
|
n.noExitRuntime && (ne = n.noExitRuntime), n.print && n.print, n.printErr && (M = n.printErr), n.wasmBinary && (E = n.wasmBinary), n.arguments && n.arguments, n.thisProgram && n.thisProgram, n.wasmMemory = P, n.wasmExports = Bt, n.addFunction = xi, n.removeFunction = Ci;
|
|
44772
44789
|
var _a;
|
|
44773
44790
|
function ki(k) {
|
|
44774
44791
|
n._hb_blob_create = k.hb_blob_create, n._hb_blob_destroy = k.hb_blob_destroy, n._hb_blob_get_length = k.hb_blob_get_length, n._hb_blob_get_data = k.hb_blob_get_data, n._hb_buffer_serialize_glyphs = k.hb_buffer_serialize_glyphs, n._hb_buffer_create = k.hb_buffer_create, n._hb_buffer_destroy = k.hb_buffer_destroy, n._hb_buffer_get_content_type = k.hb_buffer_get_content_type, n._hb_buffer_set_direction = k.hb_buffer_set_direction, n._hb_buffer_set_script = k.hb_buffer_set_script, n._hb_buffer_set_language = k.hb_buffer_set_language, n._hb_buffer_set_flags = k.hb_buffer_set_flags, n._hb_buffer_set_cluster_level = k.hb_buffer_set_cluster_level, n._hb_buffer_get_length = k.hb_buffer_get_length, n._hb_buffer_get_glyph_infos = k.hb_buffer_get_glyph_infos, n._hb_buffer_get_glyph_positions = k.hb_buffer_get_glyph_positions, n._hb_glyph_info_get_glyph_flags = k.hb_glyph_info_get_glyph_flags, n._hb_buffer_guess_segment_properties = k.hb_buffer_guess_segment_properties, n._hb_buffer_add_utf8 = k.hb_buffer_add_utf8, n._hb_buffer_add_utf16 = k.hb_buffer_add_utf16, n._hb_buffer_set_message_func = k.hb_buffer_set_message_func, n._hb_language_from_string = k.hb_language_from_string, n._hb_script_from_string = k.hb_script_from_string, n._hb_version = k.hb_version, n._hb_version_string = k.hb_version_string, n._hb_feature_from_string = k.hb_feature_from_string, n._malloc = k.malloc, n._free = k.free, n._hb_draw_funcs_set_move_to_func = k.hb_draw_funcs_set_move_to_func, n._hb_draw_funcs_set_line_to_func = k.hb_draw_funcs_set_line_to_func, n._hb_draw_funcs_set_quadratic_to_func = k.hb_draw_funcs_set_quadratic_to_func, n._hb_draw_funcs_set_cubic_to_func = k.hb_draw_funcs_set_cubic_to_func, n._hb_draw_funcs_set_close_path_func = k.hb_draw_funcs_set_close_path_func, n._hb_draw_funcs_create = k.hb_draw_funcs_create, n._hb_draw_funcs_destroy = k.hb_draw_funcs_destroy, n._hb_face_create = k.hb_face_create, n._hb_face_destroy = k.hb_face_destroy, n._hb_face_reference_table = k.hb_face_reference_table, n._hb_face_get_upem = k.hb_face_get_upem, n._hb_face_collect_unicodes = k.hb_face_collect_unicodes, n._hb_font_draw_glyph = k.hb_font_draw_glyph, n._hb_font_glyph_to_string = k.hb_font_glyph_to_string, n._hb_font_create = k.hb_font_create, n._hb_font_set_variations = k.hb_font_set_variations, n._hb_font_destroy = k.hb_font_destroy, n._hb_font_set_scale = k.hb_font_set_scale, n._hb_set_create = k.hb_set_create, n._hb_set_destroy = k.hb_set_destroy, n._hb_ot_var_get_axis_infos = k.hb_ot_var_get_axis_infos, n._hb_set_get_population = k.hb_set_get_population, n._hb_set_next_many = k.hb_set_next_many, n._hb_shape = k.hb_shape, _a = k._emscripten_timeout;
|
|
44775
44792
|
}
|
|
44776
|
-
var
|
|
44777
|
-
function
|
|
44793
|
+
var ta = { _abort_js: ae, _emscripten_runtime_keepalive_clear: me, _setitimer_js: At, emscripten_resize_heap: lt, proc_exit: Ke }, Bt = await Ie();
|
|
44794
|
+
function sa() {
|
|
44778
44795
|
if (Fe > 0) {
|
|
44779
|
-
Ae =
|
|
44796
|
+
Ae = sa;
|
|
44780
44797
|
return;
|
|
44781
44798
|
}
|
|
44782
44799
|
if (se(), Fe > 0) {
|
|
44783
|
-
Ae =
|
|
44800
|
+
Ae = sa;
|
|
44784
44801
|
return;
|
|
44785
44802
|
}
|
|
44786
44803
|
function k() {
|
|
44787
|
-
n.calledRun = !0, !
|
|
44804
|
+
n.calledRun = !0, !V && (ue(), y?.(n), n.onRuntimeInitialized?.(), ve());
|
|
44788
44805
|
}
|
|
44789
44806
|
n.setStatus ? (n.setStatus("Running..."), setTimeout(() => {
|
|
44790
44807
|
setTimeout(() => n.setStatus(""), 1), k();
|
|
@@ -44795,7 +44812,7 @@ var mN = Tf({
|
|
|
44795
44812
|
for (typeof n.preInit == "function" && (n.preInit = [n.preInit]); n.preInit.length > 0; )
|
|
44796
44813
|
n.preInit.shift()();
|
|
44797
44814
|
}
|
|
44798
|
-
return Fa(),
|
|
44815
|
+
return Fa(), sa(), J ? r = n : r = new Promise((k, te) => {
|
|
44799
44816
|
y = k, U = te;
|
|
44800
44817
|
}), r;
|
|
44801
44818
|
};
|
|
@@ -44815,11 +44832,11 @@ var wN = Tf({
|
|
|
44815
44832
|
var l = n(function(G) {
|
|
44816
44833
|
i.free(G);
|
|
44817
44834
|
}, "vi"), c = 2, f = -1, h = 2, d = 0, m = 1, b = 2;
|
|
44818
|
-
function
|
|
44835
|
+
function I(G) {
|
|
44819
44836
|
return (G.charCodeAt(0) & 255) << 24 | (G.charCodeAt(1) & 255) << 16 | (G.charCodeAt(2) & 255) << 8 | (G.charCodeAt(3) & 255) << 0;
|
|
44820
44837
|
}
|
|
44821
|
-
var M =
|
|
44822
|
-
function
|
|
44838
|
+
var M = I("JSON"), E = 4;
|
|
44839
|
+
function V(G) {
|
|
44823
44840
|
return [
|
|
44824
44841
|
String.fromCharCode(G >> 24 & 255),
|
|
44825
44842
|
String.fromCharCode(G >> 16 & 255),
|
|
@@ -44859,7 +44876,7 @@ var wN = Tf({
|
|
|
44859
44876
|
* @param {string} table Table name
|
|
44860
44877
|
*/
|
|
44861
44878
|
reference_table: function(he) {
|
|
44862
|
-
var Te = i.hb_face_reference_table(W,
|
|
44879
|
+
var Te = i.hb_face_reference_table(W, I(he)), Be = i.hb_blob_get_length(Te);
|
|
44863
44880
|
if (Be) {
|
|
44864
44881
|
var Ee = i.hb_blob_get_data(Te, null), Ie = a.HEAPU8.subarray(Ee, Ee + Be);
|
|
44865
44882
|
return Ie;
|
|
@@ -44873,7 +44890,7 @@ var wN = Tf({
|
|
|
44873
44890
|
a.HEAPU32[Te / 4] = 64, i.hb_ot_var_get_axis_infos(W, 0, Te, he);
|
|
44874
44891
|
var Be = {};
|
|
44875
44892
|
return Array.from({ length: a.HEAPU32[Te / 4] }).forEach(function(Ee, Ie) {
|
|
44876
|
-
Be[
|
|
44893
|
+
Be[V(a.HEAPU32[he / 4 + Ie * 8 + 1])] = {
|
|
44877
44894
|
min: a.HEAPF32[he / 4 + Ie * 8 + 4],
|
|
44878
44895
|
default: a.HEAPF32[he / 4 + Ie * 8 + 5],
|
|
44879
44896
|
max: a.HEAPF32[he / 4 + Ie * 8 + 6]
|
|
@@ -44965,7 +44982,7 @@ var wN = Tf({
|
|
|
44965
44982
|
setVariations: function(H) {
|
|
44966
44983
|
var z = Object.entries(H), R = i.malloc(8 * z.length);
|
|
44967
44984
|
z.forEach(function(O, ee) {
|
|
44968
|
-
a.HEAPU32[R / 4 + ee * 2 + 0] =
|
|
44985
|
+
a.HEAPU32[R / 4 + ee * 2 + 0] = I(O[0]), a.HEAPF32[R / 4 + ee * 2 + 1] = O[1];
|
|
44969
44986
|
}), i.hb_font_set_variations(Y, R, z.length), i.free(R);
|
|
44970
44987
|
},
|
|
44971
44988
|
/**
|