manim-web 0.30.0 → 0.32.0
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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/integrations/notebook.js +11 -11
- package/dist/integrations/react.js +17 -17
- package/dist/integrations/vue.js +16 -16
- package/dist/interaction/GamepadInput.d.ts +273 -0
- package/dist/interaction/GamepadInput.d.ts.map +1 -0
- package/dist/interaction/KeyboardInput.d.ts +210 -0
- package/dist/interaction/KeyboardInput.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +2 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/manim-web.browser.js +928 -572
- package/dist/{src-BGT84Qli.js → src-CaFgSOIB.js} +913 -557
- package/package.json +1 -1
|
@@ -40611,7 +40611,7 @@ var jg = class e {
|
|
|
40611
40611
|
if (this.isHeadless) throw Error("export() is not available in headless mode. Create a Scene with a container for rendering and exporting.");
|
|
40612
40612
|
let n = e.slice(e.lastIndexOf(".")).toLowerCase(), r;
|
|
40613
40613
|
if (n === ".gif") {
|
|
40614
|
-
let { GifExporter: n } = await Promise.resolve().then(() =>
|
|
40614
|
+
let { GifExporter: n } = await Promise.resolve().then(() => lF);
|
|
40615
40615
|
r = await new n(this, {
|
|
40616
40616
|
fps: t?.fps,
|
|
40617
40617
|
quality: t?.quality,
|
|
@@ -40623,7 +40623,7 @@ var jg = class e {
|
|
|
40623
40623
|
workers: t?.workers
|
|
40624
40624
|
}).exportTimeline(t?.duration), n.download(r, e);
|
|
40625
40625
|
} else if (n === ".webm" || n === ".mp4" || n === ".mov") {
|
|
40626
|
-
let { VideoExporter: i } = await Promise.resolve().then(() =>
|
|
40626
|
+
let { VideoExporter: i } = await Promise.resolve().then(() => pF), a = n === ".mp4" ? "mp4" : n === ".mov" ? "mov" : "webm";
|
|
40627
40627
|
r = await new i(this, {
|
|
40628
40628
|
fps: t?.fps,
|
|
40629
40629
|
quality: t?.quality,
|
|
@@ -74624,13 +74624,369 @@ var VP = class {
|
|
|
74624
74624
|
_resetTriggers() {
|
|
74625
74625
|
for (let e of this._inputs.values()) e.kind === "trigger" && (e.value = !1);
|
|
74626
74626
|
}
|
|
74627
|
+
}, HP = {
|
|
74628
|
+
" ": "space",
|
|
74629
|
+
spacebar: "space",
|
|
74630
|
+
esc: "escape",
|
|
74631
|
+
del: "delete",
|
|
74632
|
+
up: "arrowup",
|
|
74633
|
+
down: "arrowdown",
|
|
74634
|
+
left: "arrowleft",
|
|
74635
|
+
right: "arrowright"
|
|
74627
74636
|
};
|
|
74637
|
+
function UP(e) {
|
|
74638
|
+
let t = e.toLowerCase();
|
|
74639
|
+
return HP[t] ?? t;
|
|
74640
|
+
}
|
|
74641
|
+
var WP = {
|
|
74642
|
+
right: ["arrowright", "d"],
|
|
74643
|
+
left: ["arrowleft", "a"],
|
|
74644
|
+
up: ["arrowup", "w"],
|
|
74645
|
+
down: ["arrowdown", "s"]
|
|
74646
|
+
};
|
|
74647
|
+
function GP(e) {
|
|
74648
|
+
return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : typeof document < "u" && typeof document.addEventListener == "function" ? document : null);
|
|
74649
|
+
}
|
|
74650
|
+
var KP = class {
|
|
74651
|
+
_target;
|
|
74652
|
+
_preventDefault;
|
|
74653
|
+
_down = /* @__PURE__ */ new Set();
|
|
74654
|
+
_pressed = /* @__PURE__ */ new Set();
|
|
74655
|
+
_released = /* @__PURE__ */ new Set();
|
|
74656
|
+
_downCallbacks = /* @__PURE__ */ new Map();
|
|
74657
|
+
_upCallbacks = /* @__PURE__ */ new Map();
|
|
74658
|
+
_enabled = !1;
|
|
74659
|
+
_onKeyDown;
|
|
74660
|
+
_onKeyUp;
|
|
74661
|
+
constructor(e = {}, t) {
|
|
74662
|
+
this._target = GP(t), this._preventDefault = Array.isArray(e.preventDefault) ? new Set(e.preventDefault.map(UP)) : e.preventDefault ?? !1, this._onKeyDown = this._handleKeyDown.bind(this), this._onKeyUp = this._handleKeyUp.bind(this), (e.autoEnable ?? !0) && this.enable();
|
|
74663
|
+
}
|
|
74664
|
+
get isEnabled() {
|
|
74665
|
+
return this._enabled;
|
|
74666
|
+
}
|
|
74667
|
+
get hasTarget() {
|
|
74668
|
+
return this._target !== null;
|
|
74669
|
+
}
|
|
74670
|
+
enable() {
|
|
74671
|
+
this._enabled || !this._target || (this._target.addEventListener("keydown", this._onKeyDown), this._target.addEventListener("keyup", this._onKeyUp), this._enabled = !0);
|
|
74672
|
+
}
|
|
74673
|
+
disable() {
|
|
74674
|
+
this._target && (this._target.removeEventListener("keydown", this._onKeyDown), this._target.removeEventListener("keyup", this._onKeyUp)), this._enabled = !1, this.clear();
|
|
74675
|
+
}
|
|
74676
|
+
dispose() {
|
|
74677
|
+
this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
|
|
74678
|
+
}
|
|
74679
|
+
clear() {
|
|
74680
|
+
this._down.clear(), this._pressed.clear(), this._released.clear();
|
|
74681
|
+
}
|
|
74682
|
+
isKeyDown(e) {
|
|
74683
|
+
return this._down.has(UP(e));
|
|
74684
|
+
}
|
|
74685
|
+
anyKeyDown() {
|
|
74686
|
+
return this._down.size > 0;
|
|
74687
|
+
}
|
|
74688
|
+
wasPressed(e) {
|
|
74689
|
+
return this._pressed.has(UP(e));
|
|
74690
|
+
}
|
|
74691
|
+
wasReleased(e) {
|
|
74692
|
+
return this._released.has(UP(e));
|
|
74693
|
+
}
|
|
74694
|
+
getAxis() {
|
|
74695
|
+
return [!!this._anyDown(WP.right) - +!!this._anyDown(WP.left), !!this._anyDown(WP.up) - +!!this._anyDown(WP.down)];
|
|
74696
|
+
}
|
|
74697
|
+
getDirectionVector() {
|
|
74698
|
+
let [e, t] = this.getAxis(), n = Math.hypot(e, t);
|
|
74699
|
+
return n === 0 ? [0, 0] : [e / n, t / n];
|
|
74700
|
+
}
|
|
74701
|
+
onKeyDown(e, t) {
|
|
74702
|
+
return this._addCallback(this._downCallbacks, e, t);
|
|
74703
|
+
}
|
|
74704
|
+
onKeyUp(e, t) {
|
|
74705
|
+
return this._addCallback(this._upCallbacks, e, t);
|
|
74706
|
+
}
|
|
74707
|
+
bindBool(e, t, n) {
|
|
74708
|
+
let r = this.onKeyDown(n, () => e.setInput(t, !0)), i = this.onKeyUp(n, () => e.setInput(t, !1));
|
|
74709
|
+
return () => {
|
|
74710
|
+
r(), i();
|
|
74711
|
+
};
|
|
74712
|
+
}
|
|
74713
|
+
bindTrigger(e, t, n) {
|
|
74714
|
+
return this.onKeyDown(n, () => e.fire(t));
|
|
74715
|
+
}
|
|
74716
|
+
bindValue(e, t, n) {
|
|
74717
|
+
let r = n.releasedValue ?? 0, i = this.onKeyDown(t, () => e.setValue(n.heldValue)), a = this.onKeyUp(t, () => e.setValue(r));
|
|
74718
|
+
return () => {
|
|
74719
|
+
i(), a();
|
|
74720
|
+
};
|
|
74721
|
+
}
|
|
74722
|
+
update(e = 0) {
|
|
74723
|
+
this.endFrame();
|
|
74724
|
+
}
|
|
74725
|
+
endFrame() {
|
|
74726
|
+
this._pressed.clear(), this._released.clear();
|
|
74727
|
+
}
|
|
74728
|
+
_anyDown(e) {
|
|
74729
|
+
return e.some((e) => this._down.has(e));
|
|
74730
|
+
}
|
|
74731
|
+
_handleKeyDown(e) {
|
|
74732
|
+
let t = UP(e.key);
|
|
74733
|
+
this._maybePreventDefault(e, t), !(e.repeat || this._down.has(t)) && (this._down.add(t), this._pressed.add(t), this._emit(this._downCallbacks, t, e));
|
|
74734
|
+
}
|
|
74735
|
+
_handleKeyUp(e) {
|
|
74736
|
+
let t = UP(e.key);
|
|
74737
|
+
this._maybePreventDefault(e, t), this._down.delete(t), this._released.add(t), this._emit(this._upCallbacks, t, e);
|
|
74738
|
+
}
|
|
74739
|
+
_maybePreventDefault(e, t) {
|
|
74740
|
+
let n = this._preventDefault;
|
|
74741
|
+
(n === !0 || n instanceof Set && n.has(t)) && e.preventDefault();
|
|
74742
|
+
}
|
|
74743
|
+
_addCallback(e, t, n) {
|
|
74744
|
+
let r = t === "any" ? "any" : UP(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
|
|
74745
|
+
return i.add(n), e.set(r, i), () => {
|
|
74746
|
+
i.delete(n), i.size === 0 && e.delete(r);
|
|
74747
|
+
};
|
|
74748
|
+
}
|
|
74749
|
+
_emit(e, t, n) {
|
|
74750
|
+
e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
|
|
74751
|
+
}
|
|
74752
|
+
};
|
|
74753
|
+
function qP(e, t) {
|
|
74754
|
+
return new KP(e, t);
|
|
74755
|
+
}
|
|
74756
|
+
//#endregion
|
|
74757
|
+
//#region src/interaction/GamepadInput.ts
|
|
74758
|
+
var JP = {
|
|
74759
|
+
A: 0,
|
|
74760
|
+
B: 1,
|
|
74761
|
+
X: 2,
|
|
74762
|
+
Y: 3,
|
|
74763
|
+
LB: 4,
|
|
74764
|
+
RB: 5,
|
|
74765
|
+
LT: 6,
|
|
74766
|
+
RT: 7,
|
|
74767
|
+
select: 8,
|
|
74768
|
+
start: 9,
|
|
74769
|
+
L3: 10,
|
|
74770
|
+
R3: 11,
|
|
74771
|
+
dpadUp: 12,
|
|
74772
|
+
dpadDown: 13,
|
|
74773
|
+
dpadLeft: 14,
|
|
74774
|
+
dpadRight: 15,
|
|
74775
|
+
guide: 16
|
|
74776
|
+
}, YP = {
|
|
74777
|
+
leftX: 0,
|
|
74778
|
+
leftY: 1,
|
|
74779
|
+
rightX: 2,
|
|
74780
|
+
rightY: 3
|
|
74781
|
+
}, XP = {
|
|
74782
|
+
cross: "A",
|
|
74783
|
+
circle: "B",
|
|
74784
|
+
square: "X",
|
|
74785
|
+
triangle: "Y",
|
|
74786
|
+
l1: "LB",
|
|
74787
|
+
r1: "RB",
|
|
74788
|
+
l2: "LT",
|
|
74789
|
+
r2: "RT",
|
|
74790
|
+
back: "select",
|
|
74791
|
+
view: "select",
|
|
74792
|
+
menu: "start",
|
|
74793
|
+
home: "guide",
|
|
74794
|
+
up: "dpadUp",
|
|
74795
|
+
down: "dpadDown",
|
|
74796
|
+
left: "dpadLeft",
|
|
74797
|
+
right: "dpadRight"
|
|
74798
|
+
}, ZP = Object.fromEntries(Object.entries(JP).map(([e, t]) => [e.toLowerCase(), t]));
|
|
74799
|
+
function QP(e) {
|
|
74800
|
+
if (typeof e == "number") return e;
|
|
74801
|
+
let t = e.toLowerCase(), n = XP[t];
|
|
74802
|
+
return n ? JP[n] : ZP[t] ?? -1;
|
|
74803
|
+
}
|
|
74804
|
+
function $P(e) {
|
|
74805
|
+
return e || (typeof navigator < "u" && typeof navigator.getGamepads == "function" ? () => navigator.getGamepads() : null);
|
|
74806
|
+
}
|
|
74807
|
+
function eF(e) {
|
|
74808
|
+
return e || (typeof window < "u" && typeof window.addEventListener == "function" ? window : null);
|
|
74809
|
+
}
|
|
74810
|
+
function tF() {
|
|
74811
|
+
return $P() !== null;
|
|
74812
|
+
}
|
|
74813
|
+
var nF = class {
|
|
74814
|
+
_getGamepads;
|
|
74815
|
+
_eventTarget;
|
|
74816
|
+
_gamepadIndex;
|
|
74817
|
+
_deadzone;
|
|
74818
|
+
_down = /* @__PURE__ */ new Set();
|
|
74819
|
+
_pressed = /* @__PURE__ */ new Set();
|
|
74820
|
+
_released = /* @__PURE__ */ new Set();
|
|
74821
|
+
_axes = [];
|
|
74822
|
+
_buttonValues = [];
|
|
74823
|
+
_downCallbacks = /* @__PURE__ */ new Map();
|
|
74824
|
+
_upCallbacks = /* @__PURE__ */ new Map();
|
|
74825
|
+
_enabled = !1;
|
|
74826
|
+
_onConnect;
|
|
74827
|
+
_onDisconnect;
|
|
74828
|
+
constructor(e = {}, t, n) {
|
|
74829
|
+
this._getGamepads = $P(t), this._eventTarget = eF(n), this._gamepadIndex = e.gamepadIndex, this._deadzone = e.deadzone ?? .1, this._onConnect = this._handleConnect.bind(this), this._onDisconnect = this._handleDisconnect.bind(this), (e.autoEnable ?? !0) && this.enable();
|
|
74830
|
+
}
|
|
74831
|
+
get isEnabled() {
|
|
74832
|
+
return this._enabled;
|
|
74833
|
+
}
|
|
74834
|
+
get hasSource() {
|
|
74835
|
+
return this._getGamepads !== null;
|
|
74836
|
+
}
|
|
74837
|
+
get hasTarget() {
|
|
74838
|
+
return this._eventTarget !== null;
|
|
74839
|
+
}
|
|
74840
|
+
enable() {
|
|
74841
|
+
this._enabled ||= (this._eventTarget && (this._eventTarget.addEventListener("gamepadconnected", this._onConnect), this._eventTarget.addEventListener("gamepaddisconnected", this._onDisconnect)), !0);
|
|
74842
|
+
}
|
|
74843
|
+
disable() {
|
|
74844
|
+
this._eventTarget && (this._eventTarget.removeEventListener("gamepadconnected", this._onConnect), this._eventTarget.removeEventListener("gamepaddisconnected", this._onDisconnect)), this._enabled = !1, this.clear();
|
|
74845
|
+
}
|
|
74846
|
+
dispose() {
|
|
74847
|
+
this.disable(), this._downCallbacks.clear(), this._upCallbacks.clear();
|
|
74848
|
+
}
|
|
74849
|
+
clear() {
|
|
74850
|
+
this._down.clear(), this._pressed.clear(), this._released.clear(), this._axes = [], this._buttonValues = [];
|
|
74851
|
+
}
|
|
74852
|
+
poll() {
|
|
74853
|
+
this._pressed.clear(), this._released.clear();
|
|
74854
|
+
let e = this._readActivePad();
|
|
74855
|
+
if (!e) {
|
|
74856
|
+
this._releaseAll(), this._axes = [], this._buttonValues = [];
|
|
74857
|
+
return;
|
|
74858
|
+
}
|
|
74859
|
+
let t = e.buttons;
|
|
74860
|
+
for (let n = 0; n < t.length; n += 1) {
|
|
74861
|
+
let r = t[n]?.pressed ?? !1, i = this._down.has(n);
|
|
74862
|
+
r && !i ? (this._down.add(n), this._pressed.add(n), this._emit(this._downCallbacks, n, e)) : !r && i && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
|
|
74863
|
+
}
|
|
74864
|
+
for (let n of [...this._down]) n >= t.length && (this._down.delete(n), this._released.add(n), this._emit(this._upCallbacks, n, e));
|
|
74865
|
+
this._axes = [...e.axes], this._buttonValues = t.map((e) => e?.value ?? 0);
|
|
74866
|
+
}
|
|
74867
|
+
update(e = 0) {
|
|
74868
|
+
this.poll();
|
|
74869
|
+
}
|
|
74870
|
+
isButtonDown(e) {
|
|
74871
|
+
let t = QP(e);
|
|
74872
|
+
return t >= 0 && this._down.has(t);
|
|
74873
|
+
}
|
|
74874
|
+
anyButtonDown() {
|
|
74875
|
+
return this._down.size > 0;
|
|
74876
|
+
}
|
|
74877
|
+
wasButtonPressed(e) {
|
|
74878
|
+
let t = QP(e);
|
|
74879
|
+
return t >= 0 && this._pressed.has(t);
|
|
74880
|
+
}
|
|
74881
|
+
wasButtonReleased(e) {
|
|
74882
|
+
let t = QP(e);
|
|
74883
|
+
return t >= 0 && this._released.has(t);
|
|
74884
|
+
}
|
|
74885
|
+
getButtonValue(e) {
|
|
74886
|
+
let t = QP(e);
|
|
74887
|
+
return t < 0 ? 0 : this._buttonValues[t] ?? 0;
|
|
74888
|
+
}
|
|
74889
|
+
getAxis(e, t = this._deadzone) {
|
|
74890
|
+
return this._applyDeadzone(this._axes[e] ?? 0, t);
|
|
74891
|
+
}
|
|
74892
|
+
getLeftStick() {
|
|
74893
|
+
return [this.getAxis(YP.leftX), 0 - this.getAxis(YP.leftY)];
|
|
74894
|
+
}
|
|
74895
|
+
getRightStick() {
|
|
74896
|
+
return [this.getAxis(YP.rightX), 0 - this.getAxis(YP.rightY)];
|
|
74897
|
+
}
|
|
74898
|
+
getDirectionVector() {
|
|
74899
|
+
let e = !!this.isButtonDown("dpadRight") - +!!this.isButtonDown("dpadLeft"), t = !!this.isButtonDown("dpadUp") - +!!this.isButtonDown("dpadDown");
|
|
74900
|
+
if (e !== 0 || t !== 0) return rF(e, t);
|
|
74901
|
+
let [n, r] = this.getLeftStick();
|
|
74902
|
+
return rF(n, r);
|
|
74903
|
+
}
|
|
74904
|
+
getConnectedGamepads() {
|
|
74905
|
+
if (!this._getGamepads) return [];
|
|
74906
|
+
try {
|
|
74907
|
+
return [...this._getGamepads()].filter((e) => e != null && (e.connected ?? !0));
|
|
74908
|
+
} catch {
|
|
74909
|
+
return [];
|
|
74910
|
+
}
|
|
74911
|
+
}
|
|
74912
|
+
onButtonDown(e, t) {
|
|
74913
|
+
return this._addCallback(this._downCallbacks, e, t);
|
|
74914
|
+
}
|
|
74915
|
+
onButtonUp(e, t) {
|
|
74916
|
+
return this._addCallback(this._upCallbacks, e, t);
|
|
74917
|
+
}
|
|
74918
|
+
bindBool(e, t, n) {
|
|
74919
|
+
let r = this.onButtonDown(n, () => e.setInput(t, !0)), i = this.onButtonUp(n, () => e.setInput(t, !1));
|
|
74920
|
+
return () => {
|
|
74921
|
+
r(), i();
|
|
74922
|
+
};
|
|
74923
|
+
}
|
|
74924
|
+
bindTrigger(e, t, n) {
|
|
74925
|
+
return this.onButtonDown(n, () => e.fire(t));
|
|
74926
|
+
}
|
|
74927
|
+
bindValue(e, t, n) {
|
|
74928
|
+
let r = n.releasedValue ?? 0, i = this.onButtonDown(t, () => e.setValue(n.heldValue)), a = this.onButtonUp(t, () => e.setValue(r));
|
|
74929
|
+
return () => {
|
|
74930
|
+
i(), a();
|
|
74931
|
+
};
|
|
74932
|
+
}
|
|
74933
|
+
_readActivePad() {
|
|
74934
|
+
if (!this._getGamepads) return null;
|
|
74935
|
+
let e;
|
|
74936
|
+
try {
|
|
74937
|
+
e = this._getGamepads() ?? [];
|
|
74938
|
+
} catch {
|
|
74939
|
+
return null;
|
|
74940
|
+
}
|
|
74941
|
+
if (this._gamepadIndex != null) return e[this._gamepadIndex] ?? null;
|
|
74942
|
+
for (let t of e) if (t && (t.connected ?? !0)) return t;
|
|
74943
|
+
return null;
|
|
74944
|
+
}
|
|
74945
|
+
_releaseAll() {
|
|
74946
|
+
if (this._down.size !== 0) {
|
|
74947
|
+
for (let e of [...this._down]) this._released.add(e), this._emit(this._upCallbacks, e, null);
|
|
74948
|
+
this._down.clear();
|
|
74949
|
+
}
|
|
74950
|
+
}
|
|
74951
|
+
_applyDeadzone(e, t) {
|
|
74952
|
+
return Math.abs(e) < t ? 0 : e;
|
|
74953
|
+
}
|
|
74954
|
+
_addCallback(e, t, n) {
|
|
74955
|
+
let r = this._callbackKey(t), i = e.get(r) ?? /* @__PURE__ */ new Set();
|
|
74956
|
+
return i.add(n), e.set(r, i), () => {
|
|
74957
|
+
i.delete(n), i.size === 0 && e.delete(r);
|
|
74958
|
+
};
|
|
74959
|
+
}
|
|
74960
|
+
_callbackKey(e) {
|
|
74961
|
+
if (e === "any") return "any";
|
|
74962
|
+
let t = QP(e);
|
|
74963
|
+
return t < 0 && i.warn(`[manim-web] GamepadInput: unknown button "${String(e)}".`), t;
|
|
74964
|
+
}
|
|
74965
|
+
_emit(e, t, n) {
|
|
74966
|
+
e.get(t)?.forEach((e) => e(t, n)), e.get("any")?.forEach((e) => e(t, n));
|
|
74967
|
+
}
|
|
74968
|
+
_handleConnect(e) {
|
|
74969
|
+
let t = e.gamepad;
|
|
74970
|
+
i.info(`[manim-web] GamepadInput: gamepad connected (index ${t?.index ?? "?"}).`);
|
|
74971
|
+
}
|
|
74972
|
+
_handleDisconnect(e) {
|
|
74973
|
+
let t = e.gamepad;
|
|
74974
|
+
i.info(`[manim-web] GamepadInput: gamepad disconnected (index ${t?.index ?? "?"}).`);
|
|
74975
|
+
}
|
|
74976
|
+
};
|
|
74977
|
+
function rF(e, t) {
|
|
74978
|
+
let n = Math.hypot(e, t);
|
|
74979
|
+
return n === 0 ? [0, 0] : [e / n, t / n];
|
|
74980
|
+
}
|
|
74981
|
+
function iF(e, t, n) {
|
|
74982
|
+
return new nF(e, t, n);
|
|
74983
|
+
}
|
|
74628
74984
|
//#endregion
|
|
74629
74985
|
//#region src/interaction/PanZoomControls.ts
|
|
74630
|
-
function
|
|
74986
|
+
function aF(e, t, n) {
|
|
74631
74987
|
return Math.max(t, Math.min(n, e));
|
|
74632
74988
|
}
|
|
74633
|
-
var
|
|
74989
|
+
var oF = class {
|
|
74634
74990
|
_camera;
|
|
74635
74991
|
_domElement;
|
|
74636
74992
|
_options;
|
|
@@ -74682,7 +75038,7 @@ var UP = class {
|
|
|
74682
75038
|
if (!this._enabled || !this._options.enableZoom) return;
|
|
74683
75039
|
let t = this._eventToNdc(e.clientX, e.clientY);
|
|
74684
75040
|
if (!t) return;
|
|
74685
|
-
let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s =
|
|
75041
|
+
let n = this._worldAt(t.x, t.y), r = this._options.invertZoom ? -e.deltaY : e.deltaY, i = Math.exp(r * this._options.zoomSpeed), a = this._baseFrameWidth / this._options.maxZoom, o = this._baseFrameWidth / this._options.minZoom, s = aF(this._camera.frameWidth * i, a, o) / this._camera.frameWidth;
|
|
74686
75042
|
if (s === 1) return;
|
|
74687
75043
|
this._camera.frameWidth = this._camera.frameWidth * s, this._camera.frameHeight = this._camera.frameHeight * s;
|
|
74688
75044
|
let c = n.x - t.x * this._camera.frameWidth / 2, l = n.y - t.y * this._camera.frameHeight / 2;
|
|
@@ -74731,12 +75087,12 @@ var UP = class {
|
|
|
74731
75087
|
this._options.onChange?.();
|
|
74732
75088
|
}
|
|
74733
75089
|
};
|
|
74734
|
-
function
|
|
74735
|
-
return new
|
|
75090
|
+
function sF(e, t, n) {
|
|
75091
|
+
return new oF(e, t, n);
|
|
74736
75092
|
}
|
|
74737
75093
|
//#endregion
|
|
74738
75094
|
//#region node_modules/gif.js/dist/gif.js
|
|
74739
|
-
var
|
|
75095
|
+
var cF = /* @__PURE__ */ r(((e, t) => {
|
|
74740
75096
|
(function(n) {
|
|
74741
75097
|
if (typeof e == "object" && t !== void 0) t.exports = n();
|
|
74742
75098
|
else if (typeof define == "function" && define.amd) define([], n);
|
|
@@ -74990,10 +75346,10 @@ var GP = /* @__PURE__ */ r(((e, t) => {
|
|
|
74990
75346
|
}]
|
|
74991
75347
|
}, {}, [3])(3);
|
|
74992
75348
|
});
|
|
74993
|
-
})),
|
|
74994
|
-
GifExporter: () =>
|
|
74995
|
-
createGifExporter: () =>
|
|
74996
|
-
}),
|
|
75349
|
+
})), lF = /* @__PURE__ */ t({
|
|
75350
|
+
GifExporter: () => dF,
|
|
75351
|
+
createGifExporter: () => fF
|
|
75352
|
+
}), uF = /* @__PURE__ */ e(cF(), 1), dF = class e {
|
|
74997
75353
|
_scene;
|
|
74998
75354
|
_options;
|
|
74999
75355
|
constructor(e, t) {
|
|
@@ -75011,7 +75367,7 @@ var GP = /* @__PURE__ */ r(((e, t) => {
|
|
|
75011
75367
|
};
|
|
75012
75368
|
}
|
|
75013
75369
|
async exportTimeline(e) {
|
|
75014
|
-
let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new
|
|
75370
|
+
let t = (e || this._options.duration || this._getTimelineDuration()) ?? 5, n = Math.ceil(t * this._options.fps), r = Math.round(1e3 / this._options.fps), i = await this._createWorkerBlobUrl(), a = new uF.default({
|
|
75015
75371
|
workers: this._options.workers,
|
|
75016
75372
|
quality: this._options.quality,
|
|
75017
75373
|
width: this._options.width,
|
|
@@ -75070,15 +75426,15 @@ var GP = /* @__PURE__ */ r(((e, t) => {
|
|
|
75070
75426
|
e.download(r, t);
|
|
75071
75427
|
}
|
|
75072
75428
|
};
|
|
75073
|
-
function
|
|
75074
|
-
return new
|
|
75429
|
+
function fF(e, t) {
|
|
75430
|
+
return new dF(e, t);
|
|
75075
75431
|
}
|
|
75076
75432
|
//#endregion
|
|
75077
75433
|
//#region src/export/VideoExporter.ts
|
|
75078
|
-
var
|
|
75079
|
-
VideoExporter: () =>
|
|
75080
|
-
createVideoExporter: () =>
|
|
75081
|
-
}),
|
|
75434
|
+
var pF = /* @__PURE__ */ t({
|
|
75435
|
+
VideoExporter: () => mF,
|
|
75436
|
+
createVideoExporter: () => hF
|
|
75437
|
+
}), mF = class e {
|
|
75082
75438
|
_scene;
|
|
75083
75439
|
_options;
|
|
75084
75440
|
_mediaRecorder = null;
|
|
@@ -75170,26 +75526,26 @@ var XP = /* @__PURE__ */ t({
|
|
|
75170
75526
|
return { ...this._options };
|
|
75171
75527
|
}
|
|
75172
75528
|
};
|
|
75173
|
-
function
|
|
75174
|
-
return new
|
|
75529
|
+
function hF(e, t) {
|
|
75530
|
+
return new mF(e, t);
|
|
75175
75531
|
}
|
|
75176
75532
|
//#endregion
|
|
75177
75533
|
//#region src/export/alphaBackground.ts
|
|
75178
|
-
var
|
|
75179
|
-
function
|
|
75534
|
+
var gF = "Transparent export needs a WebGL context created with an alpha channel. Create the Scene with { alpha: true } (or backgroundOpacity < 1) so the canvas carries a real alpha channel to export.", _F = "Transparent export needs access to the WebGL renderer, but the scene did not expose one.";
|
|
75535
|
+
function vF(e) {
|
|
75180
75536
|
let t = e.renderer;
|
|
75181
75537
|
return !t || typeof t.getThreeRenderer != "function" ? null : t.getThreeRenderer() ?? null;
|
|
75182
75538
|
}
|
|
75183
|
-
function
|
|
75539
|
+
function yF(e) {
|
|
75184
75540
|
return e.getContext().getContextAttributes()?.alpha === !0;
|
|
75185
75541
|
}
|
|
75186
|
-
function
|
|
75187
|
-
let t =
|
|
75188
|
-
if (!t) throw Error(
|
|
75189
|
-
if (!
|
|
75542
|
+
function bF(e) {
|
|
75543
|
+
let t = vF(e);
|
|
75544
|
+
if (!t) throw Error(_F);
|
|
75545
|
+
if (!yF(t)) throw Error(gF);
|
|
75190
75546
|
return t;
|
|
75191
75547
|
}
|
|
75192
|
-
async function
|
|
75548
|
+
async function xF(e, t) {
|
|
75193
75549
|
let n = e.getClearAlpha();
|
|
75194
75550
|
e.setClearAlpha(0);
|
|
75195
75551
|
try {
|
|
@@ -75200,7 +75556,7 @@ async function iF(e, t) {
|
|
|
75200
75556
|
}
|
|
75201
75557
|
//#endregion
|
|
75202
75558
|
//#region src/export/FrameExporter.ts
|
|
75203
|
-
function
|
|
75559
|
+
function SF(e, t, n) {
|
|
75204
75560
|
return new Promise((r, i) => {
|
|
75205
75561
|
if (typeof e.toBlob == "function") {
|
|
75206
75562
|
e.toBlob((e) => {
|
|
@@ -75209,22 +75565,22 @@ function aF(e, t, n) {
|
|
|
75209
75565
|
return;
|
|
75210
75566
|
}
|
|
75211
75567
|
try {
|
|
75212
|
-
r(
|
|
75568
|
+
r(CF(e.toDataURL(t, n)));
|
|
75213
75569
|
} catch (e) {
|
|
75214
75570
|
i(e instanceof Error ? e : Error(String(e)));
|
|
75215
75571
|
}
|
|
75216
75572
|
});
|
|
75217
75573
|
}
|
|
75218
|
-
function
|
|
75574
|
+
function CF(e) {
|
|
75219
75575
|
let [t, n] = e.split(","), r = t.match(/data:([^;]+)/), i = r ? r[1] : "image/png", a = atob(n), o = new Uint8Array(a.length);
|
|
75220
75576
|
for (let e = 0; e < a.length; e++) o[e] = a.charCodeAt(e);
|
|
75221
75577
|
return new Blob([o], { type: i });
|
|
75222
75578
|
}
|
|
75223
|
-
async function
|
|
75579
|
+
async function wF(e, t) {
|
|
75224
75580
|
let n = t?.type ?? "image/png";
|
|
75225
|
-
return t?.transparent ?
|
|
75581
|
+
return t?.transparent ? xF(bF(e), () => (TF(e, t?.time), SF(e.getCanvas(), n, t?.quality))) : (t?.time !== void 0 && e.seek(t.time), SF(e.getCanvas(), n, t?.quality));
|
|
75226
75582
|
}
|
|
75227
|
-
function
|
|
75583
|
+
function TF(e, t) {
|
|
75228
75584
|
if (t !== void 0) {
|
|
75229
75585
|
e.seek(t);
|
|
75230
75586
|
return;
|
|
@@ -75235,29 +75591,29 @@ function cF(e, t) {
|
|
|
75235
75591
|
}
|
|
75236
75592
|
throw Error("Transparent single-frame export needs either a `time` to seek to, or a scene with a render() method, so the frame is re-rendered with a transparent background.");
|
|
75237
75593
|
}
|
|
75238
|
-
async function
|
|
75594
|
+
async function EF(e, t) {
|
|
75239
75595
|
let n = t.fps, r = t.from ?? 0, i = t.to ?? e.getTimelineDuration() ?? 5, a = t.type ?? "image/png", o = t.onProgress ?? (() => {}), s = Math.max(0, i - r), c = Math.ceil(s * n), l = 1 / n, u = async () => {
|
|
75240
75596
|
let n = [];
|
|
75241
75597
|
for (let i = 0; i < c; i++) {
|
|
75242
75598
|
let s = r + i * l;
|
|
75243
75599
|
e.seek(s);
|
|
75244
75600
|
let u = e.getCanvas();
|
|
75245
|
-
n.push(await
|
|
75601
|
+
n.push(await SF(u, a, t.quality)), o((i + 1) / c);
|
|
75246
75602
|
}
|
|
75247
75603
|
return n;
|
|
75248
75604
|
};
|
|
75249
|
-
return t.transparent ?
|
|
75605
|
+
return t.transparent ? xF(bF(e), u) : u();
|
|
75250
75606
|
}
|
|
75251
|
-
function
|
|
75607
|
+
function DF(e, t) {
|
|
75252
75608
|
let n = URL.createObjectURL(e), r = document.createElement("a");
|
|
75253
75609
|
r.href = n, r.download = t, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(n);
|
|
75254
75610
|
}
|
|
75255
|
-
async function
|
|
75256
|
-
|
|
75611
|
+
async function OF(e, t = "frame.png", n) {
|
|
75612
|
+
DF(await wF(e, n), t);
|
|
75257
75613
|
}
|
|
75258
75614
|
//#endregion
|
|
75259
75615
|
//#region src/export/WebCodecsExporter.ts
|
|
75260
|
-
var
|
|
75616
|
+
var kF = {
|
|
75261
75617
|
avc: {
|
|
75262
75618
|
encoderCodec: "avc1.42001f",
|
|
75263
75619
|
mp4Codec: "avc",
|
|
@@ -75278,7 +75634,7 @@ var fF = {
|
|
|
75278
75634
|
mp4Codec: "av1",
|
|
75279
75635
|
webmCodec: "V_AV1"
|
|
75280
75636
|
}
|
|
75281
|
-
},
|
|
75637
|
+
}, AF = class e {
|
|
75282
75638
|
_scene;
|
|
75283
75639
|
_options;
|
|
75284
75640
|
constructor(e, t) {
|
|
@@ -75302,8 +75658,8 @@ var fF = {
|
|
|
75302
75658
|
}
|
|
75303
75659
|
async export() {
|
|
75304
75660
|
if (!e.isSupported()) throw Error("WebCodecs VideoEncoder is not available in this environment. Use VideoExporter (MediaRecorder) instead to export video.");
|
|
75305
|
-
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a =
|
|
75306
|
-
t.alpha && (this._assertAlphaCodec(), o =
|
|
75661
|
+
let t = this._options, n = t.duration || this._scene.getTimelineDuration() || 5, r = Math.ceil(n * t.fps), a = kF[t.codec], o = null;
|
|
75662
|
+
t.alpha && (this._assertAlphaCodec(), o = bF(this._scene), await this._assertAlphaEncodeSupport(a));
|
|
75307
75663
|
let s = await this._createMuxer(a), c = new window.VideoEncoder({
|
|
75308
75664
|
output: (e, t) => s.addVideoChunk(e, t),
|
|
75309
75665
|
error: (e) => i.error("WebCodecs encoder error:", e)
|
|
@@ -75327,7 +75683,7 @@ var fF = {
|
|
|
75327
75683
|
c.encode(i, { keyFrame: e % t.keyFrameInterval === 0 }), i.close(), t.onProgress(r === 0 ? 1 : (e + 1) / r);
|
|
75328
75684
|
}
|
|
75329
75685
|
};
|
|
75330
|
-
return o ? await
|
|
75686
|
+
return o ? await xF(o, f) : f(), await c.flush(), c.close(), s.finalize();
|
|
75331
75687
|
}
|
|
75332
75688
|
_assertAlphaCodec() {
|
|
75333
75689
|
let e = this._options;
|
|
@@ -75383,30 +75739,30 @@ var fF = {
|
|
|
75383
75739
|
return { ...this._options };
|
|
75384
75740
|
}
|
|
75385
75741
|
};
|
|
75386
|
-
function
|
|
75387
|
-
return new
|
|
75742
|
+
function jF(e, t) {
|
|
75743
|
+
return new AF(e, t);
|
|
75388
75744
|
}
|
|
75389
75745
|
//#endregion
|
|
75390
75746
|
//#region src/export/chooseExporter.ts
|
|
75391
|
-
function
|
|
75747
|
+
function MF(e = AF.isSupported()) {
|
|
75392
75748
|
return e ? "webcodecs" : "mediarecorder";
|
|
75393
75749
|
}
|
|
75394
75750
|
//#endregion
|
|
75395
75751
|
//#region src/export/SvgExporter.ts
|
|
75396
|
-
var
|
|
75397
|
-
function
|
|
75752
|
+
var NF = 3;
|
|
75753
|
+
function PF(e, t) {
|
|
75398
75754
|
if (!Number.isFinite(e)) return "0";
|
|
75399
75755
|
let n = Number(e.toFixed(t));
|
|
75400
75756
|
return String(Object.is(n, -0) ? 0 : n);
|
|
75401
75757
|
}
|
|
75402
|
-
function
|
|
75758
|
+
function FF(e) {
|
|
75403
75759
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
75404
75760
|
}
|
|
75405
|
-
function
|
|
75761
|
+
function IF(e, t, n) {
|
|
75406
75762
|
let r = e.position.x, i = e.position.y, a = e.frameWidth || 1, o = e.frameHeight || 1;
|
|
75407
75763
|
return (e) => [(e[0] - r) / a * t + t / 2, n / 2 - (e[1] - i) / o * n];
|
|
75408
75764
|
}
|
|
75409
|
-
function
|
|
75765
|
+
function LF(e, t) {
|
|
75410
75766
|
if (!t || t.length <= 1) return [e];
|
|
75411
75767
|
let n = [], r = 0;
|
|
75412
75768
|
for (let i of t) {
|
|
@@ -75415,11 +75771,11 @@ function bF(e, t) {
|
|
|
75415
75771
|
}
|
|
75416
75772
|
return r === e.length ? n : [e];
|
|
75417
75773
|
}
|
|
75418
|
-
function
|
|
75774
|
+
function RF(e, t, n) {
|
|
75419
75775
|
if (e.length < 4) return null;
|
|
75420
75776
|
let r = (e) => {
|
|
75421
75777
|
let [r, i] = t(e);
|
|
75422
|
-
return `${
|
|
75778
|
+
return `${PF(r, n)} ${PF(i, n)}`;
|
|
75423
75779
|
}, i = [`M ${r(e[0])}`], a = Math.floor((e.length - 1) / 3);
|
|
75424
75780
|
for (let t = 0; t < a; t++) {
|
|
75425
75781
|
let n = e[3 * t + 1], a = e[3 * t + 2], o = e[3 * t + 3];
|
|
@@ -75427,65 +75783,65 @@ function xF(e, t, n) {
|
|
|
75427
75783
|
}
|
|
75428
75784
|
return Xi(e) && i.push("Z"), i.join(" ");
|
|
75429
75785
|
}
|
|
75430
|
-
function
|
|
75786
|
+
function zF(e) {
|
|
75431
75787
|
return e.style.fillColor ?? e.color;
|
|
75432
75788
|
}
|
|
75433
|
-
function
|
|
75789
|
+
function BF(e, t, n, r) {
|
|
75434
75790
|
let i = e.getPoints();
|
|
75435
75791
|
if (i.length < 4) return null;
|
|
75436
|
-
let a =
|
|
75792
|
+
let a = LF(i, e.getEffectiveSubpathLengths()), o = [];
|
|
75437
75793
|
for (let e of a) {
|
|
75438
|
-
let n =
|
|
75794
|
+
let n = RF(e, t, r);
|
|
75439
75795
|
n && o.push(n);
|
|
75440
75796
|
}
|
|
75441
75797
|
if (o.length === 0) return null;
|
|
75442
75798
|
let s = e.fillOpacity > 0, c = e.strokeWidth > 0;
|
|
75443
75799
|
if (!s && !c) return null;
|
|
75444
75800
|
let l = [`d="${o.join(" ")}"`];
|
|
75445
|
-
return s ? (l.push(`fill="${
|
|
75801
|
+
return s ? (l.push(`fill="${FF(zF(e))}"`), l.push("fill-rule=\"nonzero\""), e.fillOpacity < 1 && l.push(`fill-opacity="${PF(e.fillOpacity, r)}"`)) : l.push("fill=\"none\""), c && (l.push(`stroke="${FF(e.color)}"`), l.push(`stroke-width="${PF(e.strokeWidth * n, r)}"`), l.push("stroke-linejoin=\"round\""), l.push("stroke-linecap=\"round\""), e.opacity < 1 && l.push(`stroke-opacity="${PF(e.opacity, r)}"`)), `<path ${l.join(" ")} />`;
|
|
75446
75802
|
}
|
|
75447
|
-
function
|
|
75803
|
+
function VF(e) {
|
|
75448
75804
|
return e instanceof I && e.getPoints().length >= 4;
|
|
75449
75805
|
}
|
|
75450
|
-
function
|
|
75451
|
-
let n = t?.precision ??
|
|
75806
|
+
function HF(e, t) {
|
|
75807
|
+
let n = t?.precision ?? NF, r = e.getWidth(), i = e.getHeight(), a = e.camera, o = IF(a, r, i), s = .01 * r / (a.frameWidth || 1), c = [];
|
|
75452
75808
|
for (let t of e.mobjects) {
|
|
75453
75809
|
let e = [];
|
|
75454
75810
|
for (let r of t.getFamily()) {
|
|
75455
|
-
if (!
|
|
75456
|
-
let t =
|
|
75811
|
+
if (!VF(r)) continue;
|
|
75812
|
+
let t = BF(r, o, s, n);
|
|
75457
75813
|
t && e.push(t);
|
|
75458
75814
|
}
|
|
75459
75815
|
if (e.length === 0) continue;
|
|
75460
|
-
let r = t.userId ? ` data-mobject-id="${
|
|
75816
|
+
let r = t.userId ? ` data-mobject-id="${FF(t.userId)}"` : "";
|
|
75461
75817
|
c.push(` <g${r}>\n ${e.join("\n ")}\n </g>`);
|
|
75462
75818
|
}
|
|
75463
|
-
let l =
|
|
75464
|
-
return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${
|
|
75819
|
+
let l = PF(r, n), u = PF(i, n);
|
|
75820
|
+
return `${`<svg xmlns="http://www.w3.org/2000/svg" width="${l}" height="${u}" viewBox="0 0 ${l} ${u}">`}${t?.background ? `\n <rect x="0" y="0" width="${l}" height="${u}" fill="${FF(t.background)}" />` : ""}${c.length > 0 ? `\n${c.join("\n")}\n` : "\n"}</svg>`;
|
|
75465
75821
|
}
|
|
75466
|
-
function
|
|
75467
|
-
let n =
|
|
75822
|
+
function UF(e, t) {
|
|
75823
|
+
let n = HF(e, t);
|
|
75468
75824
|
return new Blob([n], { type: "image/svg+xml" });
|
|
75469
75825
|
}
|
|
75470
|
-
function
|
|
75826
|
+
function WF(e, t = "scene.svg", n) {
|
|
75471
75827
|
if (typeof document > "u") throw Error("exportAndDownloadSVG requires a DOM (document is undefined)");
|
|
75472
|
-
|
|
75828
|
+
DF(UF(e, n), t);
|
|
75473
75829
|
}
|
|
75474
75830
|
//#endregion
|
|
75475
75831
|
//#region src/export/SlideDeckExporter.ts
|
|
75476
|
-
var
|
|
75477
|
-
function
|
|
75832
|
+
var GF = "PNG";
|
|
75833
|
+
function KF(e, t) {
|
|
75478
75834
|
return e.seek(t), {
|
|
75479
75835
|
dataUrl: e.getCanvas().toDataURL("image/png"),
|
|
75480
75836
|
width: e.getWidth(),
|
|
75481
75837
|
height: e.getHeight()
|
|
75482
75838
|
};
|
|
75483
75839
|
}
|
|
75484
|
-
async function
|
|
75840
|
+
async function qF(e) {
|
|
75485
75841
|
let { jsPDF: t } = await import("./jspdf.es.min-CvMJL6nS.js");
|
|
75486
75842
|
return new t(e);
|
|
75487
75843
|
}
|
|
75488
|
-
function
|
|
75844
|
+
function JF(e, t, n, r) {
|
|
75489
75845
|
let i = e > 0 ? e : 1, a = t > 0 ? t : 1, o = Math.min(n / i, r / a), s = i * o, c = a * o;
|
|
75490
75846
|
return {
|
|
75491
75847
|
x: (n - s) / 2,
|
|
@@ -75494,33 +75850,33 @@ function jF(e, t, n, r) {
|
|
|
75494
75850
|
h: c
|
|
75495
75851
|
};
|
|
75496
75852
|
}
|
|
75497
|
-
function
|
|
75853
|
+
function YF(e, t) {
|
|
75498
75854
|
return t === "first" ? e.startTime : e.endTime;
|
|
75499
75855
|
}
|
|
75500
|
-
async function
|
|
75856
|
+
async function XF(e, t) {
|
|
75501
75857
|
let n = e.timeline.getSlides();
|
|
75502
75858
|
if (n.length === 0) return null;
|
|
75503
|
-
let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ??
|
|
75859
|
+
let r = t?.still ?? "last", i = t?.orientation ?? "landscape", a = t?.pageSize ?? "a4", o = t?.unit ?? "pt", s = t?.imageFormat ?? GF, c = t?.background, l = t?.captureSlide ?? KF, u = t?.pdfFactory ?? qF, d = t?.onProgress ?? (() => {}), f = await u({
|
|
75504
75860
|
orientation: i,
|
|
75505
75861
|
unit: o,
|
|
75506
75862
|
format: a
|
|
75507
75863
|
}), p = f.internal.pageSize.getWidth(), m = f.internal.pageSize.getHeight();
|
|
75508
75864
|
for (let t = 0; t < n.length; t++) {
|
|
75509
75865
|
t > 0 && f.addPage(a, i), c && (f.setFillColor(c[0], c[1], c[2]), f.rect(0, 0, p, m, "F"));
|
|
75510
|
-
let o = await l(e.scene,
|
|
75866
|
+
let o = await l(e.scene, YF(n[t], r)), u = JF(o.width, o.height, p, m);
|
|
75511
75867
|
f.addImage(o.dataUrl, s, u.x, u.y, u.w, u.h), d((t + 1) / n.length);
|
|
75512
75868
|
}
|
|
75513
75869
|
return f.output("blob");
|
|
75514
75870
|
}
|
|
75515
|
-
async function
|
|
75871
|
+
async function ZF(e, t = "slides.pdf", n) {
|
|
75516
75872
|
if (typeof document > "u") {
|
|
75517
75873
|
i.warn("exportAndDownloadSlidesToPDF: no DOM available, skipping download.");
|
|
75518
75874
|
return;
|
|
75519
75875
|
}
|
|
75520
|
-
let r = await
|
|
75521
|
-
r &&
|
|
75876
|
+
let r = await XF(e, n);
|
|
75877
|
+
r && DF(r, t);
|
|
75522
75878
|
}
|
|
75523
|
-
async function
|
|
75879
|
+
async function QF() {
|
|
75524
75880
|
let e;
|
|
75525
75881
|
try {
|
|
75526
75882
|
e = await import(
|
|
@@ -75532,14 +75888,14 @@ async function FF() {
|
|
|
75532
75888
|
}
|
|
75533
75889
|
return new (e.default ?? e)();
|
|
75534
75890
|
}
|
|
75535
|
-
async function
|
|
75891
|
+
async function $F(e, t) {
|
|
75536
75892
|
let n = e.timeline.getSlides();
|
|
75537
75893
|
if (n.length === 0) return null;
|
|
75538
|
-
let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ??
|
|
75894
|
+
let r = t?.still ?? "last", i = t?.slideWidth ?? 13.333, a = t?.slideHeight ?? 7.5, o = t?.background, s = t?.captureSlide ?? KF, c = t?.pptxFactory ?? QF, l = t?.onProgress ?? (() => {}), u = await c();
|
|
75539
75895
|
for (let t = 0; t < n.length; t++) {
|
|
75540
75896
|
let c = u.addSlide();
|
|
75541
75897
|
o && (c.background = { color: o });
|
|
75542
|
-
let d = await s(e.scene,
|
|
75898
|
+
let d = await s(e.scene, YF(n[t], r));
|
|
75543
75899
|
c.addImage({
|
|
75544
75900
|
data: d.dataUrl,
|
|
75545
75901
|
x: 0,
|
|
@@ -75557,7 +75913,7 @@ async function IF(e, t) {
|
|
|
75557
75913
|
}
|
|
75558
75914
|
//#endregion
|
|
75559
75915
|
//#region src/player/ExportSettingsUI.ts
|
|
75560
|
-
var
|
|
75916
|
+
var eI = [
|
|
75561
75917
|
{
|
|
75562
75918
|
id: "current",
|
|
75563
75919
|
label: "Current",
|
|
@@ -75594,11 +75950,11 @@ var LF = [
|
|
|
75594
75950
|
width: 3840,
|
|
75595
75951
|
height: 2160
|
|
75596
75952
|
}
|
|
75597
|
-
],
|
|
75953
|
+
], tI = [
|
|
75598
75954
|
24,
|
|
75599
75955
|
30,
|
|
75600
75956
|
60
|
|
75601
|
-
],
|
|
75957
|
+
], nI = [
|
|
75602
75958
|
{
|
|
75603
75959
|
id: "low",
|
|
75604
75960
|
label: "Low",
|
|
@@ -75614,12 +75970,12 @@ var LF = [
|
|
|
75614
75970
|
label: "High",
|
|
75615
75971
|
value: .9
|
|
75616
75972
|
}
|
|
75617
|
-
],
|
|
75618
|
-
function
|
|
75619
|
-
return Math.round(Math.max(0, Math.min(1, e)) *
|
|
75973
|
+
], rI = 1e7;
|
|
75974
|
+
function iI(e) {
|
|
75975
|
+
return Math.round(Math.max(0, Math.min(1, e)) * rI);
|
|
75620
75976
|
}
|
|
75621
|
-
function
|
|
75622
|
-
let r =
|
|
75977
|
+
function aI(e, t, n) {
|
|
75978
|
+
let r = eI.find((t) => t.id === e);
|
|
75623
75979
|
return !r || r.width === null || r.height === null ? {
|
|
75624
75980
|
width: t,
|
|
75625
75981
|
height: n
|
|
@@ -75628,7 +75984,7 @@ function HF(e, t, n) {
|
|
|
75628
75984
|
height: r.height
|
|
75629
75985
|
};
|
|
75630
75986
|
}
|
|
75631
|
-
var
|
|
75987
|
+
var oI = class {
|
|
75632
75988
|
_element;
|
|
75633
75989
|
_fpsSelect;
|
|
75634
75990
|
_resolutionSelect;
|
|
@@ -75641,22 +75997,22 @@ var UF = class {
|
|
|
75641
75997
|
display: "flex",
|
|
75642
75998
|
flexDirection: "column",
|
|
75643
75999
|
gap: "6px"
|
|
75644
|
-
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS",
|
|
76000
|
+
}), this._element.setAttribute("data-export-settings", ""), this._fpsSelect = this._buildSelect("FPS", tI.map((e) => ({
|
|
75645
76001
|
value: String(e),
|
|
75646
76002
|
label: `${e} fps`
|
|
75647
|
-
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution",
|
|
76003
|
+
})), String(this._nearestFps(e.fps))), this._resolutionSelect = this._buildSelect("Resolution", eI.map((e) => ({
|
|
75648
76004
|
value: e.id,
|
|
75649
76005
|
label: e.label
|
|
75650
|
-
})), "current"), this._qualitySelect = this._buildSelect("Quality",
|
|
76006
|
+
})), "current"), this._qualitySelect = this._buildSelect("Quality", nI.map((e) => ({
|
|
75651
76007
|
value: String(e.value),
|
|
75652
76008
|
label: e.label
|
|
75653
|
-
})), String(
|
|
76009
|
+
})), String(nI[nI.length - 1].value));
|
|
75654
76010
|
}
|
|
75655
76011
|
get element() {
|
|
75656
76012
|
return this._element;
|
|
75657
76013
|
}
|
|
75658
76014
|
getSettings() {
|
|
75659
|
-
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } =
|
|
76015
|
+
let e = parseInt(this._fpsSelect.value, 10), { width: t, height: n } = aI(this._resolutionSelect.value, this._defaults.width, this._defaults.height);
|
|
75660
76016
|
return {
|
|
75661
76017
|
fps: e,
|
|
75662
76018
|
width: t,
|
|
@@ -75665,7 +76021,7 @@ var UF = class {
|
|
|
75665
76021
|
};
|
|
75666
76022
|
}
|
|
75667
76023
|
_nearestFps(e) {
|
|
75668
|
-
return
|
|
76024
|
+
return tI.reduce((t, n) => Math.abs(n - e) < Math.abs(t - e) ? n : t);
|
|
75669
76025
|
}
|
|
75670
76026
|
_buildSelect(e, t, n) {
|
|
75671
76027
|
let r = document.createElement("label");
|
|
@@ -75696,7 +76052,7 @@ var UF = class {
|
|
|
75696
76052
|
}
|
|
75697
76053
|
return a.value = n, a.addEventListener("click", (e) => e.stopPropagation()), r.appendChild(i), r.appendChild(a), this._element.appendChild(r), a;
|
|
75698
76054
|
}
|
|
75699
|
-
},
|
|
76055
|
+
}, sI = class {
|
|
75700
76056
|
_container;
|
|
75701
76057
|
_bar;
|
|
75702
76058
|
_playBtn;
|
|
@@ -75732,19 +76088,19 @@ var UF = class {
|
|
|
75732
76088
|
this._container = e, this._callbacks = t, this._autoHideMs = n.autoHideMs ?? 2500, this._exportControls = n.exportControls ?? !1, getComputedStyle(e).position === "static" && (e.style.position = "relative"), e.style.overflow = "hidden", this._bar = this._createBar(), this._playBtn = this._createPlayBtn(), this._prevBtn = this._createNavBtn("prev"), this._nextBtn = this._createNavBtn("next");
|
|
75733
76089
|
let r = this._createProgressBar();
|
|
75734
76090
|
this._progressWrap = r.wrap, this._progressFill = r.fill, this._segmentMarkers = r.markers, this._timeDisplay = this._createTimeDisplay(), this._speedSelect = this._createSpeedSelect(), this._fullscreenBtn = this._createFullscreenBtn(), this._slidesBtn = this._createSlidesBtn(), this._exportBtn = this._createExportBtn();
|
|
75735
|
-
let i =
|
|
76091
|
+
let i = cI("div", {
|
|
75736
76092
|
display: "flex",
|
|
75737
76093
|
alignItems: "center",
|
|
75738
76094
|
gap: "4px"
|
|
75739
76095
|
});
|
|
75740
76096
|
i.appendChild(this._prevBtn), i.appendChild(this._playBtn), i.appendChild(this._nextBtn);
|
|
75741
|
-
let a =
|
|
76097
|
+
let a = cI("div", {
|
|
75742
76098
|
display: "flex",
|
|
75743
76099
|
alignItems: "center",
|
|
75744
76100
|
gap: "8px"
|
|
75745
76101
|
});
|
|
75746
76102
|
a.appendChild(this._timeDisplay), a.appendChild(this._speedSelect), a.appendChild(this._slidesBtn), a.appendChild(this._exportBtnWrapper), a.appendChild(this._fullscreenBtn), this._bar.appendChild(this._progressWrap);
|
|
75747
|
-
let o =
|
|
76103
|
+
let o = cI("div", {
|
|
75748
76104
|
display: "flex",
|
|
75749
76105
|
alignItems: "center",
|
|
75750
76106
|
justifyContent: "space-between",
|
|
@@ -75759,10 +76115,10 @@ var UF = class {
|
|
|
75759
76115
|
let n = e / t * 100;
|
|
75760
76116
|
this._progressFill.style.width = `${n}%`;
|
|
75761
76117
|
}
|
|
75762
|
-
this._timeDisplay.textContent = `${
|
|
76118
|
+
this._timeDisplay.textContent = `${uI(e)} / ${uI(t)}`;
|
|
75763
76119
|
}
|
|
75764
76120
|
setPlaying(e, t = !1) {
|
|
75765
|
-
this._isPlaying = e, t ? (this._playBtn.innerHTML =
|
|
76121
|
+
this._isPlaying = e, t ? (this._playBtn.innerHTML = pI, this._playBtn.title = "Replay (Space)") : (this._playBtn.innerHTML = e ? fI : dI, this._playBtn.title = e ? "Pause (Space)" : "Play (Space)"), e && this._scheduleHide();
|
|
75766
76122
|
}
|
|
75767
76123
|
setSlidesMode(e) {
|
|
75768
76124
|
this._slidesActive = e, this._slidesBtn.style.opacity = e ? "1" : "0.4", this._slidesBtn.style.background = e ? "rgba(74,158,255,0.25)" : "none", this._slidesBtn.title = `Slides mode ${e ? "on" : "off"} (S)`;
|
|
@@ -75772,7 +76128,7 @@ var UF = class {
|
|
|
75772
76128
|
let t = e.getSlides(), n = e.getDuration();
|
|
75773
76129
|
if (!(n <= 0)) for (let e of t) {
|
|
75774
76130
|
if (e.index === 0) continue;
|
|
75775
|
-
let t =
|
|
76131
|
+
let t = cI("div", {
|
|
75776
76132
|
position: "absolute",
|
|
75777
76133
|
left: `${e.startTime / n * 100}%`,
|
|
75778
76134
|
top: "50%",
|
|
@@ -75787,7 +76143,7 @@ var UF = class {
|
|
|
75787
76143
|
}
|
|
75788
76144
|
}
|
|
75789
76145
|
_createBar() {
|
|
75790
|
-
let e =
|
|
76146
|
+
let e = cI("div", {
|
|
75791
76147
|
position: "absolute",
|
|
75792
76148
|
bottom: "0",
|
|
75793
76149
|
left: "0",
|
|
@@ -75805,21 +76161,21 @@ var UF = class {
|
|
|
75805
76161
|
}
|
|
75806
76162
|
_createPlayBtn() {
|
|
75807
76163
|
let e = document.createElement("button");
|
|
75808
|
-
return e.innerHTML =
|
|
76164
|
+
return e.innerHTML = dI, e.title = "Play (Space)", lI(e, "36px", "36px"), e.addEventListener("click", () => this._callbacks.onPlayPause()), e;
|
|
75809
76165
|
}
|
|
75810
76166
|
_createNavBtn(e) {
|
|
75811
76167
|
let t = document.createElement("button");
|
|
75812
|
-
return t.innerHTML = e === "prev" ?
|
|
76168
|
+
return t.innerHTML = e === "prev" ? mI : hI, t.title = e === "prev" ? "Previous (Left arrow)" : "Next (Right arrow)", lI(t, "28px", "28px"), t.addEventListener("click", () => {
|
|
75813
76169
|
e === "prev" ? this._callbacks.onPrev() : this._callbacks.onNext();
|
|
75814
76170
|
}), t;
|
|
75815
76171
|
}
|
|
75816
76172
|
_createProgressBar() {
|
|
75817
|
-
let e =
|
|
76173
|
+
let e = cI("div", {
|
|
75818
76174
|
position: "relative",
|
|
75819
76175
|
height: "16px",
|
|
75820
76176
|
padding: "6px 12px",
|
|
75821
76177
|
cursor: "pointer"
|
|
75822
|
-
}), t =
|
|
76178
|
+
}), t = cI("div", {
|
|
75823
76179
|
position: "absolute",
|
|
75824
76180
|
left: "12px",
|
|
75825
76181
|
right: "12px",
|
|
@@ -75829,14 +76185,14 @@ var UF = class {
|
|
|
75829
76185
|
background: "rgba(255,255,255,0.2)",
|
|
75830
76186
|
borderRadius: "2px",
|
|
75831
76187
|
overflow: "visible"
|
|
75832
|
-
}), n =
|
|
76188
|
+
}), n = cI("div", {
|
|
75833
76189
|
width: "0%",
|
|
75834
76190
|
height: "100%",
|
|
75835
76191
|
background: "#4a9eff",
|
|
75836
76192
|
borderRadius: "2px",
|
|
75837
76193
|
transition: "none",
|
|
75838
76194
|
position: "relative"
|
|
75839
|
-
}), r =
|
|
76195
|
+
}), r = cI("div", {
|
|
75840
76196
|
position: "absolute",
|
|
75841
76197
|
right: "-5px",
|
|
75842
76198
|
top: "50%",
|
|
@@ -75849,7 +76205,7 @@ var UF = class {
|
|
|
75849
76205
|
transition: "transform 0.1s"
|
|
75850
76206
|
});
|
|
75851
76207
|
n.appendChild(r);
|
|
75852
|
-
let i =
|
|
76208
|
+
let i = cI("div", {
|
|
75853
76209
|
width: "0%",
|
|
75854
76210
|
height: "100%",
|
|
75855
76211
|
background: "rgba(255,255,255,0.1)",
|
|
@@ -75858,7 +76214,7 @@ var UF = class {
|
|
|
75858
76214
|
top: "0",
|
|
75859
76215
|
left: "0",
|
|
75860
76216
|
pointerEvents: "none"
|
|
75861
|
-
}), a =
|
|
76217
|
+
}), a = cI("div", {
|
|
75862
76218
|
position: "absolute",
|
|
75863
76219
|
top: "0",
|
|
75864
76220
|
left: "0",
|
|
@@ -75883,7 +76239,7 @@ var UF = class {
|
|
|
75883
76239
|
};
|
|
75884
76240
|
}
|
|
75885
76241
|
_createTimeDisplay() {
|
|
75886
|
-
let e =
|
|
76242
|
+
let e = cI("span", {
|
|
75887
76243
|
fontFamily: "\"SF Mono\", Monaco, Consolas, monospace",
|
|
75888
76244
|
fontSize: "12px",
|
|
75889
76245
|
opacity: "0.8",
|
|
@@ -75925,16 +76281,16 @@ var UF = class {
|
|
|
75925
76281
|
}), e;
|
|
75926
76282
|
}
|
|
75927
76283
|
_createExportBtn() {
|
|
75928
|
-
let e =
|
|
76284
|
+
let e = cI("div", {
|
|
75929
76285
|
position: "relative",
|
|
75930
76286
|
display: "inline-block"
|
|
75931
76287
|
}), t = document.createElement("button");
|
|
75932
|
-
return t.innerHTML =
|
|
76288
|
+
return t.innerHTML = gI, t.title = "Export animation", lI(t, "28px", "28px"), t.addEventListener("click", (e) => {
|
|
75933
76289
|
e.stopPropagation(), this._exportMenu ? this._closeExportMenu() : this._showExportMenu();
|
|
75934
76290
|
}), e.appendChild(t), this._exportBtnWrapper = e, t;
|
|
75935
76291
|
}
|
|
75936
76292
|
_showExportMenu() {
|
|
75937
|
-
let e = this._exportBtn.getBoundingClientRect(), t =
|
|
76293
|
+
let e = this._exportBtn.getBoundingClientRect(), t = cI("div", {
|
|
75938
76294
|
position: "fixed",
|
|
75939
76295
|
top: "0",
|
|
75940
76296
|
left: "0",
|
|
@@ -75945,7 +76301,7 @@ var UF = class {
|
|
|
75945
76301
|
t.setAttribute("data-player-bar", ""), t.addEventListener("mousedown", (e) => {
|
|
75946
76302
|
e.stopPropagation(), e.preventDefault(), this._closeExportMenu();
|
|
75947
76303
|
});
|
|
75948
|
-
let n =
|
|
76304
|
+
let n = cI("div", {
|
|
75949
76305
|
position: "fixed",
|
|
75950
76306
|
bottom: `${window.innerHeight - e.top + 6}px`,
|
|
75951
76307
|
left: `${e.left - 60}px`,
|
|
@@ -75966,7 +76322,7 @@ var UF = class {
|
|
|
75966
76322
|
height: 1080,
|
|
75967
76323
|
fps: 60
|
|
75968
76324
|
};
|
|
75969
|
-
this._exportPanel = new
|
|
76325
|
+
this._exportPanel = new oI(e), n.appendChild(this._exportPanel.element);
|
|
75970
76326
|
}
|
|
75971
76327
|
for (let e of [
|
|
75972
76328
|
{
|
|
@@ -75985,7 +76341,7 @@ var UF = class {
|
|
|
75985
76341
|
desc: "Video file"
|
|
75986
76342
|
}
|
|
75987
76343
|
]) {
|
|
75988
|
-
let t =
|
|
76344
|
+
let t = cI("div", {
|
|
75989
76345
|
padding: "8px 14px",
|
|
75990
76346
|
cursor: "pointer",
|
|
75991
76347
|
fontSize: "13px",
|
|
@@ -76010,7 +76366,7 @@ var UF = class {
|
|
|
76010
76366
|
this._exportMenu && (this._exportMenuBackdrop?.remove(), this._exportMenuBackdrop = null, this._exportMenu.remove(), this._exportMenu = null, this._exportPanel = null);
|
|
76011
76367
|
}
|
|
76012
76368
|
setExportProgress(e) {
|
|
76013
|
-
if (e === null) this._exportBtn.innerHTML =
|
|
76369
|
+
if (e === null) this._exportBtn.innerHTML = gI, this._exportBtn.disabled = !1, this._exportBtn.title = "Export animation";
|
|
76014
76370
|
else {
|
|
76015
76371
|
let t = Math.round(e * 100);
|
|
76016
76372
|
this._exportBtn.innerHTML = `<span style="font-size:10px;font-weight:600">${t}%</span>`, this._exportBtn.disabled = !0, this._exportBtn.title = `Exporting... ${t}%`;
|
|
@@ -76018,7 +76374,7 @@ var UF = class {
|
|
|
76018
76374
|
}
|
|
76019
76375
|
_createSlidesBtn() {
|
|
76020
76376
|
let e = document.createElement("button");
|
|
76021
|
-
return e.innerHTML =
|
|
76377
|
+
return e.innerHTML = _I, e.title = "Slides mode off (S)", lI(e, "28px", "28px"), e.style.opacity = "0.4", e.addEventListener("click", () => {
|
|
76022
76378
|
this._slidesActive = !this._slidesActive, this.setSlidesMode(this._slidesActive), this._callbacks.onSlidesToggle(this._slidesActive);
|
|
76023
76379
|
}), e.addEventListener("mouseenter", () => {
|
|
76024
76380
|
e.style.background = this._slidesActive ? "rgba(74,158,255,0.35)" : "rgba(255,255,255,0.15)";
|
|
@@ -76028,7 +76384,7 @@ var UF = class {
|
|
|
76028
76384
|
}
|
|
76029
76385
|
_createFullscreenBtn() {
|
|
76030
76386
|
let e = document.createElement("button");
|
|
76031
|
-
return e.innerHTML =
|
|
76387
|
+
return e.innerHTML = vI, e.title = "Fullscreen (F)", lI(e, "28px", "28px"), e.addEventListener("click", () => this._callbacks.onFullscreen()), e;
|
|
76032
76388
|
}
|
|
76033
76389
|
_showControls() {
|
|
76034
76390
|
this._isVisible ||= (this._bar.style.opacity = "1", this._bar.style.transform = "translateY(0)", !0), this._scheduleHide();
|
|
@@ -76083,11 +76439,11 @@ var UF = class {
|
|
|
76083
76439
|
this._hideTimeout && clearTimeout(this._hideTimeout), this._container.removeEventListener("mousemove", this._onMouseMove), this._container.removeEventListener("mouseleave", this._onMouseLeave), this._progressWrap.removeEventListener("mousedown", this._onProgressDown), document.removeEventListener("mousemove", this._onProgressMove), document.removeEventListener("mouseup", this._onProgressUp), this._bar.remove();
|
|
76084
76440
|
}
|
|
76085
76441
|
};
|
|
76086
|
-
function
|
|
76442
|
+
function cI(e, t) {
|
|
76087
76443
|
let n = document.createElement(e);
|
|
76088
76444
|
return Object.assign(n.style, t), n;
|
|
76089
76445
|
}
|
|
76090
|
-
function
|
|
76446
|
+
function lI(e, t, n) {
|
|
76091
76447
|
Object.assign(e.style, {
|
|
76092
76448
|
width: t,
|
|
76093
76449
|
height: n,
|
|
@@ -76108,11 +76464,11 @@ function KF(e, t, n) {
|
|
|
76108
76464
|
e.style.background = "none";
|
|
76109
76465
|
});
|
|
76110
76466
|
}
|
|
76111
|
-
function
|
|
76467
|
+
function uI(e) {
|
|
76112
76468
|
let t = Math.floor(e / 60), n = Math.floor(e % 60);
|
|
76113
76469
|
return `${t}:${String(n).padStart(2, "0")}`;
|
|
76114
76470
|
}
|
|
76115
|
-
var
|
|
76471
|
+
var dI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M5 3l10 6-10 6V3z\"/></svg>", fI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><rect x=\"4\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/><rect x=\"10.5\" y=\"3\" width=\"3.5\" height=\"12\" rx=\"0.5\"/></svg>", pI = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentColor\"><path d=\"M9 3a6 6 0 1 0 6 6h-2a4 4 0 1 1-4-4v3l4-3.5L9 1v2z\"/></svg>", mI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"2\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M14 3L6 8l8 5V3z\"/></svg>", hI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"12\" y=\"3\" width=\"2\" height=\"10\"/><path d=\"M2 3l8 5-8 5V3z\"/></svg>", gI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M8 1L8 10M8 10L5 7M8 10L11 7\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 12v1h10v-1\" stroke=\"currentColor\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\"/></svg>", _I = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><rect x=\"1\" y=\"2\" width=\"14\" height=\"10\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"/><path d=\"M5 14h6\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/><path d=\"M6 6l5 3-5 3V6z\"/></svg>", vI = "<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"currentColor\"><path d=\"M2 2h4v2H4v2H2V2zm8 0h4v4h-2V4h-2V2zM2 10h2v2h2v2H2v-4zm10 2h-2v2h4v-4h-2v2z\"/></svg>", yI = class {
|
|
76116
76472
|
_container;
|
|
76117
76473
|
_callbacks;
|
|
76118
76474
|
_onKeyDown;
|
|
@@ -76142,7 +76498,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76142
76498
|
dispose() {
|
|
76143
76499
|
this._container.removeEventListener("keydown", this._onKeyDown);
|
|
76144
76500
|
}
|
|
76145
|
-
},
|
|
76501
|
+
}, bI = class {
|
|
76146
76502
|
_realScene;
|
|
76147
76503
|
_masterTimeline;
|
|
76148
76504
|
constructor(e, t) {
|
|
@@ -76179,7 +76535,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76179
76535
|
for (let n of e) t.push(n), n instanceof og && t.push(...this._collectAll(n.animations));
|
|
76180
76536
|
return t;
|
|
76181
76537
|
}
|
|
76182
|
-
},
|
|
76538
|
+
}, xI = [
|
|
76183
76539
|
"mousedown",
|
|
76184
76540
|
"mousemove",
|
|
76185
76541
|
"mouseup",
|
|
@@ -76187,7 +76543,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76187
76543
|
"touchstart",
|
|
76188
76544
|
"touchmove",
|
|
76189
76545
|
"touchend"
|
|
76190
|
-
],
|
|
76546
|
+
], SI = class {
|
|
76191
76547
|
_target;
|
|
76192
76548
|
_scene;
|
|
76193
76549
|
_isIdle;
|
|
@@ -76206,13 +76562,13 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76206
76562
|
}
|
|
76207
76563
|
attach() {
|
|
76208
76564
|
if (!this._attached) {
|
|
76209
|
-
for (let e of
|
|
76565
|
+
for (let e of xI) this._target.addEventListener(e, this._onEvent);
|
|
76210
76566
|
this._attached = !0;
|
|
76211
76567
|
}
|
|
76212
76568
|
}
|
|
76213
76569
|
dispose() {
|
|
76214
76570
|
if (this._attached) {
|
|
76215
|
-
for (let e of
|
|
76571
|
+
for (let e of xI) this._target.removeEventListener(e, this._onEvent);
|
|
76216
76572
|
this._attached = !1, this._renderScheduled = !1;
|
|
76217
76573
|
}
|
|
76218
76574
|
}
|
|
@@ -76224,7 +76580,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76224
76580
|
this._renderScheduled = !1, !(!this._attached || !this._isIdle()) && (this._scene.render(), this._renderCount++);
|
|
76225
76581
|
}));
|
|
76226
76582
|
}
|
|
76227
|
-
},
|
|
76583
|
+
}, CI = class {
|
|
76228
76584
|
_scene;
|
|
76229
76585
|
_masterTimeline;
|
|
76230
76586
|
_ui;
|
|
@@ -76247,7 +76603,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76247
76603
|
_origHeight = 0;
|
|
76248
76604
|
_onFullscreenChange;
|
|
76249
76605
|
constructor(e, t = {}) {
|
|
76250
|
-
this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new
|
|
76606
|
+
this._container = e, this._loop = t.loop ?? !1, this._autoPlay = t.autoPlay ?? !1, this._slidesMode = t.slidesMode ?? !1, this._interactiveSlides = t.interactiveSlides ?? !1, this._exportControls = t.exportControls ?? !1, this._exportFps = t.targetFps ?? 60, this._scene = new jg(e, t), this._masterTimeline = new RA(), this._ui = new sI(e, {
|
|
76251
76607
|
onPlayPause: () => this.togglePlayPause(),
|
|
76252
76608
|
onSeek: (e) => this.seek(e),
|
|
76253
76609
|
onPrev: () => this.prevSegment(),
|
|
@@ -76264,7 +76620,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76264
76620
|
}, {
|
|
76265
76621
|
autoHideMs: t.autoHideMs,
|
|
76266
76622
|
exportControls: this._exportControls
|
|
76267
|
-
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new
|
|
76623
|
+
}), this._ui.setSlidesMode(this._slidesMode), this._ui.enableScrollScrub(() => this._masterTimeline.getCurrentTime()), this._controller = new yI(e, {
|
|
76268
76624
|
onPlayPause: () => this.togglePlayPause(),
|
|
76269
76625
|
onPrev: () => this.prevSegment(),
|
|
76270
76626
|
onNext: () => this.nextSegment(),
|
|
@@ -76278,10 +76634,10 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76278
76634
|
}, document.addEventListener("fullscreenchange", this._onFullscreenChange), this._interactiveSlides && this._enableSlideInteraction();
|
|
76279
76635
|
}
|
|
76280
76636
|
_enableSlideInteraction() {
|
|
76281
|
-
this._slideInteraction || (this._slideInteraction = new
|
|
76637
|
+
this._slideInteraction || (this._slideInteraction = new SI(this._container, this._scene, () => !this._isPlaying), this._slideInteraction.attach());
|
|
76282
76638
|
}
|
|
76283
76639
|
async sequence(e) {
|
|
76284
|
-
this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new
|
|
76640
|
+
this._masterTimeline = new RA(), this._activeLoopSlideIndex = null, this._slidesTargetSlideIndex = -1, await e(new bI(this._scene, this._masterTimeline)), this._masterTimeline.finalizeSlides(), this._scene.setTimeline(this._masterTimeline), this._masterTimeline.seek(0), this._scene.render(), this._ui.setSegments(this._masterTimeline), this._ui.updateTime(0, this._masterTimeline.getDuration()), this._autoPlay && this.play();
|
|
76285
76641
|
}
|
|
76286
76642
|
get scene() {
|
|
76287
76643
|
return this._scene;
|
|
@@ -76392,7 +76748,7 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76392
76748
|
let a = `animation.${e}`, o = this._masterTimeline.getDuration(), s = (e) => this._ui.setExportProgress(e);
|
|
76393
76749
|
this._ui.setExportProgress(0);
|
|
76394
76750
|
try {
|
|
76395
|
-
(e === "webm" || e === "mp4") &&
|
|
76751
|
+
(e === "webm" || e === "mp4") && MF() === "webcodecs" ? await this._exportWithWebCodecs(e === "mp4" ? "mp4" : "webm", t, o, s, a) : await this._scene.export(a, this._buildSceneExportOptions(e, t, o, s));
|
|
76396
76752
|
} catch (e) {
|
|
76397
76753
|
i.error("Export failed:", e), this._ui.showError(`Export failed: ${e instanceof Error ? e.message : "Unknown error"}`);
|
|
76398
76754
|
} finally {
|
|
@@ -76400,12 +76756,12 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76400
76756
|
}
|
|
76401
76757
|
}
|
|
76402
76758
|
async _exportWithWebCodecs(e, t, n, r, i) {
|
|
76403
|
-
|
|
76759
|
+
DF(await new AF(this._scene, {
|
|
76404
76760
|
format: e,
|
|
76405
76761
|
fps: t?.fps ?? this._exportFps,
|
|
76406
76762
|
width: t?.width ?? this._scene.getWidth(),
|
|
76407
76763
|
height: t?.height ?? this._scene.getHeight(),
|
|
76408
|
-
bitrate:
|
|
76764
|
+
bitrate: iI(t?.quality ?? .9),
|
|
76409
76765
|
duration: n,
|
|
76410
76766
|
onProgress: r
|
|
76411
76767
|
}).export(), i);
|
|
@@ -76466,36 +76822,36 @@ var JF = "<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"currentCo
|
|
|
76466
76822
|
_stopLoop() {
|
|
76467
76823
|
this._animFrameId !== null && (cancelAnimationFrame(this._animFrameId), this._animFrameId = null);
|
|
76468
76824
|
}
|
|
76469
|
-
},
|
|
76825
|
+
}, wI = {
|
|
76470
76826
|
EXPERIMENTAL_3D_LIGHTING: !1,
|
|
76471
76827
|
WEBGPU_RENDERER: !1,
|
|
76472
76828
|
ADVANCED_TEXT_LAYOUT: !1
|
|
76473
|
-
},
|
|
76474
|
-
function
|
|
76475
|
-
return
|
|
76829
|
+
}, TI = { ...wI };
|
|
76830
|
+
function EI(e) {
|
|
76831
|
+
return TI[e] ?? !1;
|
|
76476
76832
|
}
|
|
76477
|
-
function
|
|
76478
|
-
|
|
76479
|
-
...
|
|
76833
|
+
function DI(e) {
|
|
76834
|
+
TI = {
|
|
76835
|
+
...TI,
|
|
76480
76836
|
...e
|
|
76481
76837
|
};
|
|
76482
76838
|
}
|
|
76483
|
-
function
|
|
76484
|
-
|
|
76839
|
+
function OI() {
|
|
76840
|
+
TI = { ...wI };
|
|
76485
76841
|
}
|
|
76486
|
-
function
|
|
76487
|
-
return { ...
|
|
76842
|
+
function kI() {
|
|
76843
|
+
return { ...TI };
|
|
76488
76844
|
}
|
|
76489
76845
|
//#endregion
|
|
76490
76846
|
//#region src/utils/ManimColor.ts
|
|
76491
|
-
var
|
|
76492
|
-
function
|
|
76847
|
+
var AI = /(?:#|0[xX])([A-Fa-f0-9]{3,8})/;
|
|
76848
|
+
function jI(e) {
|
|
76493
76849
|
return Math.min(255, Math.max(0, Math.trunc(e * 255)));
|
|
76494
76850
|
}
|
|
76495
|
-
function
|
|
76496
|
-
return
|
|
76851
|
+
function MI(e) {
|
|
76852
|
+
return jI(e).toString(16).toUpperCase().padStart(2, "0");
|
|
76497
76853
|
}
|
|
76498
|
-
function
|
|
76854
|
+
function NI(e, t) {
|
|
76499
76855
|
let n = e;
|
|
76500
76856
|
(n.length === 3 || n.length === 4) && (n = n.split("").map((e) => e + e).join(""));
|
|
76501
76857
|
let r = t;
|
|
@@ -76508,14 +76864,14 @@ function gI(e, t) {
|
|
|
76508
76864
|
r
|
|
76509
76865
|
];
|
|
76510
76866
|
}
|
|
76511
|
-
function
|
|
76512
|
-
let n =
|
|
76513
|
-
if (n !== null) return
|
|
76867
|
+
function PI(e, t) {
|
|
76868
|
+
let n = AI.exec(e);
|
|
76869
|
+
if (n !== null) return NI(n[1], t);
|
|
76514
76870
|
let r = se[e.toUpperCase()];
|
|
76515
|
-
if (typeof r == "string") return
|
|
76871
|
+
if (typeof r == "string") return PI(r, t);
|
|
76516
76872
|
throw Error(`Failed to parse a color from "${e}"`);
|
|
76517
76873
|
}
|
|
76518
|
-
function
|
|
76874
|
+
function FI(e, t) {
|
|
76519
76875
|
return [
|
|
76520
76876
|
(e >> 16 & 255) / 255,
|
|
76521
76877
|
(e >> 8 & 255) / 255,
|
|
@@ -76523,7 +76879,7 @@ function vI(e, t) {
|
|
|
76523
76879
|
t
|
|
76524
76880
|
];
|
|
76525
76881
|
}
|
|
76526
|
-
var
|
|
76882
|
+
var II = class e {
|
|
76527
76883
|
value;
|
|
76528
76884
|
constructor(t, n = 1) {
|
|
76529
76885
|
if (t === null) this.value = [
|
|
@@ -76540,8 +76896,8 @@ var yI = class e {
|
|
|
76540
76896
|
e[2],
|
|
76541
76897
|
e[3]
|
|
76542
76898
|
];
|
|
76543
|
-
} else if (typeof t == "number") this.value =
|
|
76544
|
-
else if (typeof t == "string") this.value =
|
|
76899
|
+
} else if (typeof t == "number") this.value = FI(t, n);
|
|
76900
|
+
else if (typeof t == "string") this.value = PI(t, n);
|
|
76545
76901
|
else if (t.length === 3) this.value = [
|
|
76546
76902
|
t[0],
|
|
76547
76903
|
t[1],
|
|
@@ -76599,18 +76955,18 @@ var yI = class e {
|
|
|
76599
76955
|
toIntRgb() {
|
|
76600
76956
|
let e = this.internalRgba();
|
|
76601
76957
|
return [
|
|
76602
|
-
|
|
76603
|
-
|
|
76604
|
-
|
|
76958
|
+
jI(e[0]),
|
|
76959
|
+
jI(e[1]),
|
|
76960
|
+
jI(e[2])
|
|
76605
76961
|
];
|
|
76606
76962
|
}
|
|
76607
76963
|
toIntRgba() {
|
|
76608
76964
|
let e = this.internalRgba();
|
|
76609
76965
|
return [
|
|
76610
|
-
|
|
76611
|
-
|
|
76612
|
-
|
|
76613
|
-
|
|
76966
|
+
jI(e[0]),
|
|
76967
|
+
jI(e[1]),
|
|
76968
|
+
jI(e[2]),
|
|
76969
|
+
jI(e[3])
|
|
76614
76970
|
];
|
|
76615
76971
|
}
|
|
76616
76972
|
toHex(e = !1) {
|
|
@@ -76619,7 +76975,7 @@ var yI = class e {
|
|
|
76619
76975
|
t[1],
|
|
76620
76976
|
t[2]
|
|
76621
76977
|
]);
|
|
76622
|
-
return e ? n +
|
|
76978
|
+
return e ? n + MI(t[3]) : n;
|
|
76623
76979
|
}
|
|
76624
76980
|
toHsv() {
|
|
76625
76981
|
return Yb(this.toRgb());
|
|
@@ -76679,7 +77035,7 @@ var yI = class e {
|
|
|
76679
77035
|
static parse(t, n = 1) {
|
|
76680
77036
|
return Array.isArray(t) && t.some((e) => typeof e != "number") ? t.map((t) => new e(t, n)) : new e(t, n);
|
|
76681
77037
|
}
|
|
76682
|
-
},
|
|
77038
|
+
}, LI = II, RI = class e extends II {
|
|
76683
77039
|
hsva;
|
|
76684
77040
|
constructor(e, t = 1) {
|
|
76685
77041
|
if (super(null), e.length === 3) this.hsva = [
|
|
@@ -76748,7 +77104,7 @@ var yI = class e {
|
|
|
76748
77104
|
return this.hsva[2];
|
|
76749
77105
|
}
|
|
76750
77106
|
};
|
|
76751
|
-
function
|
|
77107
|
+
function zI(e) {
|
|
76752
77108
|
let t = e >>> 0;
|
|
76753
77109
|
return () => {
|
|
76754
77110
|
t = t + 1831565813 | 0;
|
|
@@ -76756,18 +77112,18 @@ function SI(e) {
|
|
|
76756
77112
|
return e = e + Math.imul(e ^ e >>> 7, 61 | e) ^ e, ((e ^ e >>> 14) >>> 0) / 4294967296;
|
|
76757
77113
|
};
|
|
76758
77114
|
}
|
|
76759
|
-
var
|
|
77115
|
+
var BI = Array.from(new Set(Object.values(se))).map((e) => new II(e)), VI = class {
|
|
76760
77116
|
rng;
|
|
76761
77117
|
colors;
|
|
76762
77118
|
constructor(e, t) {
|
|
76763
|
-
this.rng = e === void 0 ? Math.random :
|
|
77119
|
+
this.rng = e === void 0 ? Math.random : zI(e), this.colors = t === void 0 ? BI : t.map((e) => e instanceof II ? e : new II(e));
|
|
76764
77120
|
}
|
|
76765
77121
|
next() {
|
|
76766
77122
|
let e = Math.floor(this.rng() * this.colors.length);
|
|
76767
77123
|
return this.colors[e];
|
|
76768
77124
|
}
|
|
76769
77125
|
};
|
|
76770
|
-
function
|
|
77126
|
+
function HI(e, t, n, r) {
|
|
76771
77127
|
let i = .5 * Fn(n, Rn([
|
|
76772
77128
|
r[0] - t[0],
|
|
76773
77129
|
r[1] - t[1],
|
|
@@ -76781,7 +77137,7 @@ function TI(e, t, n, r) {
|
|
|
76781
77137
|
}
|
|
76782
77138
|
//#endregion
|
|
76783
77139
|
//#region src/utils/iterables.ts
|
|
76784
|
-
function
|
|
77140
|
+
function UI(e, t) {
|
|
76785
77141
|
let n = e.length;
|
|
76786
77142
|
if (n === 0) return [];
|
|
76787
77143
|
let r = [];
|
|
@@ -76792,10 +77148,10 @@ function EI(e, t) {
|
|
|
76792
77148
|
}
|
|
76793
77149
|
return r;
|
|
76794
77150
|
}
|
|
76795
|
-
function
|
|
76796
|
-
return
|
|
77151
|
+
function WI(e) {
|
|
77152
|
+
return UI(e, 2);
|
|
76797
77153
|
}
|
|
76798
|
-
function
|
|
77154
|
+
function GI(e) {
|
|
76799
77155
|
let t = [], n = /* @__PURE__ */ new Set();
|
|
76800
77156
|
for (let r = e.length - 1; r >= 0; r--) {
|
|
76801
77157
|
let i = e[r];
|
|
@@ -76803,7 +77159,7 @@ function OI(e) {
|
|
|
76803
77159
|
}
|
|
76804
77160
|
return t.reverse(), t;
|
|
76805
77161
|
}
|
|
76806
|
-
function
|
|
77162
|
+
function KI(e, t, n) {
|
|
76807
77163
|
if (n === void 0) {
|
|
76808
77164
|
let n = new Set(t);
|
|
76809
77165
|
return e.filter((e) => !n.has(e));
|
|
@@ -76811,29 +77167,29 @@ function kI(e, t, n) {
|
|
|
76811
77167
|
let r = new Set(t.map((e) => n(e)));
|
|
76812
77168
|
return e.filter((e) => !r.has(n(e)));
|
|
76813
77169
|
}
|
|
76814
|
-
function
|
|
76815
|
-
return
|
|
77170
|
+
function qI(e, t, n) {
|
|
77171
|
+
return KI(e, t, n).concat(t);
|
|
76816
77172
|
}
|
|
76817
|
-
function
|
|
77173
|
+
function JI(e) {
|
|
76818
77174
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
76819
77175
|
}
|
|
76820
|
-
function
|
|
77176
|
+
function YI(e, t) {
|
|
76821
77177
|
let n = e.length, r = t.length, i = Math.max(n, r), a = [], o = [];
|
|
76822
77178
|
for (let s = 0; s < i; s++) a.push(e[Math.floor(s * n / i)]), o.push(t[Math.floor(s * r / i)]);
|
|
76823
77179
|
return [a, o];
|
|
76824
77180
|
}
|
|
76825
|
-
function
|
|
77181
|
+
function XI(e, t) {
|
|
76826
77182
|
let n = e.length;
|
|
76827
77183
|
if (n > t) throw Error("Trying to stretch array to a length shorter than its own");
|
|
76828
77184
|
let r = [];
|
|
76829
77185
|
for (let i = 0; i < t; i++) r.push(e[Math.floor(i / t * n)]);
|
|
76830
77186
|
return r;
|
|
76831
77187
|
}
|
|
76832
|
-
function*
|
|
77188
|
+
function* ZI(...e) {
|
|
76833
77189
|
let t = /* @__PURE__ */ new Set();
|
|
76834
77190
|
for (let n of e) for (let e of n) t.has(e) || (t.add(e), yield e);
|
|
76835
77191
|
}
|
|
76836
|
-
function
|
|
77192
|
+
function QI(e) {
|
|
76837
77193
|
let t = [[]];
|
|
76838
77194
|
for (let n of e) {
|
|
76839
77195
|
let e = t.length;
|
|
@@ -76841,82 +77197,82 @@ function FI(e) {
|
|
|
76841
77197
|
}
|
|
76842
77198
|
return t;
|
|
76843
77199
|
}
|
|
76844
|
-
function
|
|
77200
|
+
function $I(e, t) {
|
|
76845
77201
|
for (let n of e) if (!(n instanceof t)) return !1;
|
|
76846
77202
|
return !0;
|
|
76847
77203
|
}
|
|
76848
|
-
function
|
|
77204
|
+
function eL(...e) {
|
|
76849
77205
|
let t = [];
|
|
76850
77206
|
for (let n of e) for (let e of n) t.push(e);
|
|
76851
77207
|
return t;
|
|
76852
77208
|
}
|
|
76853
|
-
function
|
|
77209
|
+
function tL(e) {
|
|
76854
77210
|
return typeof e == "string" ? [e] : typeof e == "object" && e && Symbol.iterator in e ? [...e] : [e];
|
|
76855
77211
|
}
|
|
76856
|
-
function
|
|
77212
|
+
function nL(e) {
|
|
76857
77213
|
let t = [];
|
|
76858
77214
|
for (let n of e) n && t.push(n);
|
|
76859
77215
|
return t;
|
|
76860
77216
|
}
|
|
76861
|
-
function
|
|
77217
|
+
function rL(e, t) {
|
|
76862
77218
|
let n = Math.max(e.length, t.length), r = [], i = [];
|
|
76863
77219
|
for (let a = 0; a < n; a++) r.push(e[a % e.length]), i.push(t[a % t.length]);
|
|
76864
77220
|
return [r, i];
|
|
76865
77221
|
}
|
|
76866
|
-
function
|
|
76867
|
-
return
|
|
77222
|
+
function iL(e) {
|
|
77223
|
+
return oL(aL(e));
|
|
76868
77224
|
}
|
|
76869
|
-
function
|
|
77225
|
+
function aL(e) {
|
|
76870
77226
|
if (e === null) return "null";
|
|
76871
77227
|
if (e === void 0) return "undefined";
|
|
76872
77228
|
let t = typeof e;
|
|
76873
77229
|
if (t === "string") return `s:${e}`;
|
|
76874
77230
|
if (t === "number" || t === "boolean" || t === "bigint") return `${t[0]}:${String(e)}`;
|
|
76875
|
-
if (e instanceof Set) return `set:[${[...e].map(
|
|
76876
|
-
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${
|
|
76877
|
-
if (Array.isArray(e)) return `arr:[${e.map(
|
|
77231
|
+
if (e instanceof Set) return `set:[${[...e].map(aL).sort().join(",")}]`;
|
|
77232
|
+
if (e instanceof Map) return `map:{${[...e.entries()].map(([e, t]) => `${aL(e)}=${aL(t)}`).sort().join(",")}}`;
|
|
77233
|
+
if (Array.isArray(e)) return `arr:[${e.map(aL).join(",")}]`;
|
|
76878
77234
|
if (t === "object") {
|
|
76879
77235
|
let t = e;
|
|
76880
|
-
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${
|
|
77236
|
+
return `obj:{${Object.keys(t).sort().map((e) => `${e}=${aL(t[e])}`).join(",")}}`;
|
|
76881
77237
|
}
|
|
76882
77238
|
return `${t}:${String(e)}`;
|
|
76883
77239
|
}
|
|
76884
|
-
function
|
|
77240
|
+
function oL(e) {
|
|
76885
77241
|
let t = 2166136261;
|
|
76886
77242
|
for (let n = 0; n < e.length; n++) t ^= e.charCodeAt(n), t = Math.imul(t, 16777619);
|
|
76887
77243
|
return t >>> 0;
|
|
76888
77244
|
}
|
|
76889
77245
|
//#endregion
|
|
76890
77246
|
//#region src/utils/unit.ts
|
|
76891
|
-
function
|
|
77247
|
+
function sL(e) {
|
|
76892
77248
|
return e * Zt / $t;
|
|
76893
77249
|
}
|
|
76894
|
-
function
|
|
77250
|
+
function cL(e) {
|
|
76895
77251
|
return e * Math.PI / 180;
|
|
76896
77252
|
}
|
|
76897
|
-
function
|
|
77253
|
+
function lL(e) {
|
|
76898
77254
|
return e;
|
|
76899
77255
|
}
|
|
76900
|
-
function
|
|
77256
|
+
function uL(e, t) {
|
|
76901
77257
|
return e[0] === t[0] && e[1] === t[1] && e[2] === t[2];
|
|
76902
77258
|
}
|
|
76903
|
-
function
|
|
77259
|
+
function dL(e, t) {
|
|
76904
77260
|
let n;
|
|
76905
|
-
if (
|
|
76906
|
-
else if (
|
|
76907
|
-
else if (
|
|
77261
|
+
if (uL(e, _n)) n = Zt;
|
|
77262
|
+
else if (uL(e, mn)) n = 8;
|
|
77263
|
+
else if (uL(e, vn)) throw Error("length of Z axis is undefined");
|
|
76908
77264
|
else throw Error("Percent axis must be the X axis (RIGHT) or Y axis (UP)");
|
|
76909
77265
|
return t / 100 * n;
|
|
76910
77266
|
}
|
|
76911
77267
|
//#endregion
|
|
76912
77268
|
//#region src/utils/debug.ts
|
|
76913
|
-
function
|
|
77269
|
+
function fL(e, t = !1) {
|
|
76914
77270
|
let n = [];
|
|
76915
77271
|
for (let t of e) n.push(...t.getFamily());
|
|
76916
77272
|
return t ? n.filter((e) => e instanceof I && e.hasOwnPoints()) : n;
|
|
76917
77273
|
}
|
|
76918
|
-
function
|
|
76919
|
-
let n = [], r = new Set(
|
|
77274
|
+
function pL(e, t) {
|
|
77275
|
+
let n = [], r = new Set(fL(t)), i = (e, t) => {
|
|
76920
77276
|
for (let r of e) {
|
|
76921
77277
|
if (t.has(r)) continue;
|
|
76922
77278
|
let e = new Set(r.getFamily().filter((e) => t.has(e)));
|
|
@@ -76925,14 +77281,14 @@ function XI(e, t) {
|
|
|
76925
77281
|
};
|
|
76926
77282
|
return i(e, r), n;
|
|
76927
77283
|
}
|
|
76928
|
-
function
|
|
77284
|
+
function mL(e, t = {}) {
|
|
76929
77285
|
let { labelHeight: n = .15 } = t, r = new L();
|
|
76930
77286
|
return e.children.forEach((e, t) => {
|
|
76931
77287
|
let i = new HS({ value: t });
|
|
76932
77288
|
i.setHeight(n), i.moveTo(e), r.add(i);
|
|
76933
77289
|
}), r;
|
|
76934
77290
|
}
|
|
76935
|
-
function
|
|
77291
|
+
function hL(e, t = 0) {
|
|
76936
77292
|
let n = [], r = (e, t) => {
|
|
76937
77293
|
n.push(" ".repeat(t) + `${e.constructor.name} ${e.id}`);
|
|
76938
77294
|
for (let n of e.children) r(n, t + 1);
|
|
@@ -76943,8 +77299,8 @@ function QI(e, t = 0) {
|
|
|
76943
77299
|
}
|
|
76944
77300
|
//#endregion
|
|
76945
77301
|
//#region src/utils/spaceOps.ts
|
|
76946
|
-
var
|
|
76947
|
-
function
|
|
77302
|
+
var gL = 2 * Math.PI;
|
|
77303
|
+
function _L(e) {
|
|
76948
77304
|
let t = e.length, n = e[0].length, r = [];
|
|
76949
77305
|
for (let i = 0; i < n; i++) {
|
|
76950
77306
|
let n = [];
|
|
@@ -76953,20 +77309,20 @@ function eL(e) {
|
|
|
76953
77309
|
}
|
|
76954
77310
|
return r;
|
|
76955
77311
|
}
|
|
76956
|
-
function
|
|
77312
|
+
function vL(e, t) {
|
|
76957
77313
|
return e.map((e) => e.reduce((e, n, r) => e + n * (t[r] ?? 0), 0));
|
|
76958
77314
|
}
|
|
76959
|
-
function
|
|
77315
|
+
function yL(e) {
|
|
76960
77316
|
return e.reduce((e, t) => e + t * t, 0);
|
|
76961
77317
|
}
|
|
76962
|
-
function
|
|
77318
|
+
function bL(e, t) {
|
|
76963
77319
|
return e[0] * t[1] - e[1] * t[0];
|
|
76964
77320
|
}
|
|
76965
|
-
function
|
|
76966
|
-
let n = Math.sqrt(
|
|
77321
|
+
function xL(e, t) {
|
|
77322
|
+
let n = Math.sqrt(yL(e));
|
|
76967
77323
|
return n > 0 ? e.map((e) => e / n) : t ?? e.map(() => 0);
|
|
76968
77324
|
}
|
|
76969
|
-
function
|
|
77325
|
+
function SL(...e) {
|
|
76970
77326
|
if (e.length === 0) return [
|
|
76971
77327
|
1,
|
|
76972
77328
|
0,
|
|
@@ -76985,8 +77341,8 @@ function aL(...e) {
|
|
|
76985
77341
|
}
|
|
76986
77342
|
return t;
|
|
76987
77343
|
}
|
|
76988
|
-
function
|
|
76989
|
-
let r = n ? t :
|
|
77344
|
+
function CL(e, t, n = !1) {
|
|
77345
|
+
let r = n ? t : xL(t), i = Math.sin(e / 2);
|
|
76990
77346
|
return [
|
|
76991
77347
|
Math.cos(e / 2),
|
|
76992
77348
|
i * (r[0] ?? 0),
|
|
@@ -76994,19 +77350,19 @@ function oL(e, t, n = !1) {
|
|
|
76994
77350
|
i * (r[2] ?? 0)
|
|
76995
77351
|
];
|
|
76996
77352
|
}
|
|
76997
|
-
function
|
|
76998
|
-
let t =
|
|
77353
|
+
function wL(e) {
|
|
77354
|
+
let t = xL(e.slice(1), [
|
|
76999
77355
|
1,
|
|
77000
77356
|
0,
|
|
77001
77357
|
0
|
|
77002
77358
|
]), n = 2 * Math.acos(e[0]);
|
|
77003
|
-
return n >
|
|
77359
|
+
return n > gL / 2 && (n = gL - n, t = [
|
|
77004
77360
|
-t[0],
|
|
77005
77361
|
-t[1],
|
|
77006
77362
|
-t[2]
|
|
77007
77363
|
]), [n, t];
|
|
77008
77364
|
}
|
|
77009
|
-
function
|
|
77365
|
+
function TL(e) {
|
|
77010
77366
|
return [
|
|
77011
77367
|
e[0],
|
|
77012
77368
|
-e[1],
|
|
@@ -77014,7 +77370,7 @@ function cL(e) {
|
|
|
77014
77370
|
-e[3]
|
|
77015
77371
|
];
|
|
77016
77372
|
}
|
|
77017
|
-
function
|
|
77373
|
+
function EL(e, t, n = !1) {
|
|
77018
77374
|
let [r, i, a] = Rn(t), o = Math.cos(e), s = Math.sin(e), c = 1 - o, l = [
|
|
77019
77375
|
[
|
|
77020
77376
|
o + r * r * c,
|
|
@@ -77044,7 +77400,7 @@ function lL(e, t, n = !1) {
|
|
|
77044
77400
|
]
|
|
77045
77401
|
] : l;
|
|
77046
77402
|
}
|
|
77047
|
-
function
|
|
77403
|
+
function DL(e) {
|
|
77048
77404
|
let t = Math.cos(e), n = Math.sin(e);
|
|
77049
77405
|
return [
|
|
77050
77406
|
[
|
|
@@ -77064,23 +77420,23 @@ function uL(e) {
|
|
|
77064
77420
|
]
|
|
77065
77421
|
];
|
|
77066
77422
|
}
|
|
77067
|
-
function
|
|
77068
|
-
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ?
|
|
77423
|
+
function OL(e, t) {
|
|
77424
|
+
return (t[0] ?? 0) === 0 && (t[1] ?? 0) === 0 ? _L(DL(e * Math.sign(t[2] ?? 0))) : _L(EL(e, t));
|
|
77069
77425
|
}
|
|
77070
|
-
function
|
|
77426
|
+
function kL(e, t, n = vn) {
|
|
77071
77427
|
if (e.length > 3) throw Error("Vector must have the correct dimensions.");
|
|
77072
77428
|
let r = e.length === 2 ? [
|
|
77073
77429
|
e[0],
|
|
77074
77430
|
e[1],
|
|
77075
77431
|
0
|
|
77076
|
-
] : e, i =
|
|
77432
|
+
] : e, i = vL(EL(t, n), r);
|
|
77077
77433
|
return [
|
|
77078
77434
|
i[0],
|
|
77079
77435
|
i[1],
|
|
77080
77436
|
i[2]
|
|
77081
77437
|
];
|
|
77082
77438
|
}
|
|
77083
|
-
function
|
|
77439
|
+
function AL(e) {
|
|
77084
77440
|
let t = Rn(e), n = Rn(In(t, _n)), r = In(n, t);
|
|
77085
77441
|
if (Ln(n) === 0) {
|
|
77086
77442
|
r = Rn(In(mn, t));
|
|
@@ -77091,27 +77447,27 @@ function pL(e) {
|
|
|
77091
77447
|
-e[2]
|
|
77092
77448
|
];
|
|
77093
77449
|
}
|
|
77094
|
-
return
|
|
77450
|
+
return _L([
|
|
77095
77451
|
r,
|
|
77096
77452
|
n,
|
|
77097
77453
|
t
|
|
77098
77454
|
]);
|
|
77099
77455
|
}
|
|
77100
|
-
function
|
|
77456
|
+
function jL(e) {
|
|
77101
77457
|
return Math.atan2(e[1] ?? 0, e[0] ?? 0);
|
|
77102
77458
|
}
|
|
77103
|
-
function
|
|
77104
|
-
let n =
|
|
77105
|
-
return 2 * Math.atan2(Math.sqrt(
|
|
77459
|
+
function ML(e, t) {
|
|
77460
|
+
let n = xL(e), r = xL(t), i = n.map((e, t) => e - r[t]), a = n.map((e, t) => e + r[t]);
|
|
77461
|
+
return 2 * Math.atan2(Math.sqrt(yL(i)), Math.sqrt(yL(a)));
|
|
77106
77462
|
}
|
|
77107
|
-
function
|
|
77463
|
+
function NL(e, t, n = 1e-6) {
|
|
77108
77464
|
let r = Math.max(...e.map(Math.abs)), i = Math.max(...t.map(Math.abs)), a;
|
|
77109
77465
|
if (r === 0) {
|
|
77110
77466
|
if (i === 0) return hn;
|
|
77111
77467
|
a = t.map((e) => e / i);
|
|
77112
77468
|
} else if (i === 0) a = e.map((e) => e / r);
|
|
77113
77469
|
else {
|
|
77114
|
-
let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(
|
|
77470
|
+
let o = e.map((e) => e / r), s = In(o, t.map((e) => e / i)), c = Math.sqrt(yL(s));
|
|
77115
77471
|
if (c > n) return [
|
|
77116
77472
|
s[0] / c,
|
|
77117
77473
|
s[1] / c,
|
|
@@ -77124,43 +77480,43 @@ function gL(e, t, n = 1e-6) {
|
|
|
77124
77480
|
-a[0] * a[2],
|
|
77125
77481
|
-a[1] * a[2],
|
|
77126
77482
|
a[0] * a[0] + a[1] * a[1]
|
|
77127
|
-
], s = Math.sqrt(
|
|
77483
|
+
], s = Math.sqrt(yL(o));
|
|
77128
77484
|
return [
|
|
77129
77485
|
o[0] / s,
|
|
77130
77486
|
o[1] / s,
|
|
77131
77487
|
o[2] / s
|
|
77132
77488
|
];
|
|
77133
77489
|
}
|
|
77134
|
-
function
|
|
77135
|
-
let n =
|
|
77136
|
-
for (let i = 0; i < e; i++) r.push(
|
|
77490
|
+
function PL(e = 4, t = _n) {
|
|
77491
|
+
let n = gL / e, r = [];
|
|
77492
|
+
for (let i = 0; i < e; i++) r.push(kL(t, i * n));
|
|
77137
77493
|
return r;
|
|
77138
77494
|
}
|
|
77139
|
-
function
|
|
77140
|
-
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 :
|
|
77141
|
-
return [
|
|
77495
|
+
function FL(e, t = {}) {
|
|
77496
|
+
let n = t.radius ?? 1, r = t.startAngle ?? (e % 2 == 0 ? 0 : gL / 4);
|
|
77497
|
+
return [PL(e, kL([
|
|
77142
77498
|
n,
|
|
77143
77499
|
0,
|
|
77144
77500
|
0
|
|
77145
77501
|
], r)), r];
|
|
77146
77502
|
}
|
|
77147
|
-
function
|
|
77503
|
+
function IL(e) {
|
|
77148
77504
|
return [
|
|
77149
77505
|
e.re,
|
|
77150
77506
|
e.im,
|
|
77151
77507
|
0
|
|
77152
77508
|
];
|
|
77153
77509
|
}
|
|
77154
|
-
function
|
|
77510
|
+
function LL(e) {
|
|
77155
77511
|
return {
|
|
77156
77512
|
re: e[0] ?? 0,
|
|
77157
77513
|
im: e[1] ?? 0
|
|
77158
77514
|
};
|
|
77159
77515
|
}
|
|
77160
|
-
function
|
|
77161
|
-
return (t) =>
|
|
77516
|
+
function RL(e) {
|
|
77517
|
+
return (t) => IL(e(LL(t)));
|
|
77162
77518
|
}
|
|
77163
|
-
function
|
|
77519
|
+
function zL(e) {
|
|
77164
77520
|
let t = [
|
|
77165
77521
|
0,
|
|
77166
77522
|
0,
|
|
@@ -77174,10 +77530,10 @@ function SL(e) {
|
|
|
77174
77530
|
t[2] / n
|
|
77175
77531
|
];
|
|
77176
77532
|
}
|
|
77177
|
-
function
|
|
77178
|
-
return
|
|
77533
|
+
function BL(e, t) {
|
|
77534
|
+
return zL([e, t]);
|
|
77179
77535
|
}
|
|
77180
|
-
function
|
|
77536
|
+
function VL(e, t) {
|
|
77181
77537
|
for (let n of [e, t]) for (let e of n) if ((e[2] ?? 0) !== 0) throw Error("Coords must be in the xy-plane.");
|
|
77182
77538
|
let n = (e) => In([
|
|
77183
77539
|
e[0][0],
|
|
@@ -77195,7 +77551,7 @@ function wL(e, t) {
|
|
|
77195
77551
|
0
|
|
77196
77552
|
];
|
|
77197
77553
|
}
|
|
77198
|
-
function
|
|
77554
|
+
function HL(e, t, n, r, i = 1e-5) {
|
|
77199
77555
|
let a = [];
|
|
77200
77556
|
for (let o = 0; o < e.length; o++) {
|
|
77201
77557
|
let s = e[o], c = t[o], l = n[o], u = r[o], d = In(u, In(c, u)), f = c[0] * d[0] + c[1] * d[1] + c[2] * d[2], p = Math.max(f, i), m = [
|
|
@@ -77211,15 +77567,15 @@ function TL(e, t, n, r, i = 1e-5) {
|
|
|
77211
77567
|
}
|
|
77212
77568
|
return a;
|
|
77213
77569
|
}
|
|
77214
|
-
function
|
|
77570
|
+
function UL(e) {
|
|
77215
77571
|
let t = 0;
|
|
77216
77572
|
for (let n = 0; n < e.length - 1; n++) t += (e[n + 1][0] - e[n][0]) * (e[n][1] + e[n + 1][1]) / 2;
|
|
77217
77573
|
return t;
|
|
77218
77574
|
}
|
|
77219
|
-
function
|
|
77220
|
-
return
|
|
77575
|
+
function WL(e) {
|
|
77576
|
+
return UL(e) > 0 ? "CW" : "CCW";
|
|
77221
77577
|
}
|
|
77222
|
-
function
|
|
77578
|
+
function GL(e) {
|
|
77223
77579
|
let t = Ln(e);
|
|
77224
77580
|
if (t === 0) return [
|
|
77225
77581
|
0,
|
|
@@ -77233,7 +77589,7 @@ function OL(e) {
|
|
|
77233
77589
|
n
|
|
77234
77590
|
];
|
|
77235
77591
|
}
|
|
77236
|
-
function
|
|
77592
|
+
function KL(e) {
|
|
77237
77593
|
let [t, n, r] = e;
|
|
77238
77594
|
return [
|
|
77239
77595
|
t * Math.cos(n) * Math.sin(r),
|
|
@@ -77241,12 +77597,12 @@ function kL(e) {
|
|
|
77241
77597
|
t * Math.cos(r)
|
|
77242
77598
|
];
|
|
77243
77599
|
}
|
|
77244
|
-
function
|
|
77600
|
+
function qL(e, t = vn) {
|
|
77245
77601
|
let n = e[0], r = e[1], i = In([
|
|
77246
77602
|
n[0] - r[0],
|
|
77247
77603
|
n[1] - r[1],
|
|
77248
77604
|
n[2] - r[2]
|
|
77249
|
-
], t), a =
|
|
77605
|
+
], t), a = BL(n, r);
|
|
77250
77606
|
return [[
|
|
77251
77607
|
a[0] + i[0],
|
|
77252
77608
|
a[1] + i[1],
|
|
@@ -77257,7 +77613,7 @@ function AL(e, t = vn) {
|
|
|
77257
77613
|
a[2] - i[2]
|
|
77258
77614
|
]];
|
|
77259
77615
|
}
|
|
77260
|
-
function
|
|
77616
|
+
function JL(e, t = 2) {
|
|
77261
77617
|
let n = [];
|
|
77262
77618
|
for (let r = 0; r < e; r++) {
|
|
77263
77619
|
let i = [];
|
|
@@ -77266,41 +77622,41 @@ function jL(e, t = 2) {
|
|
|
77266
77622
|
}
|
|
77267
77623
|
return n;
|
|
77268
77624
|
}
|
|
77269
|
-
function
|
|
77625
|
+
function YL(e) {
|
|
77270
77626
|
let t = 0;
|
|
77271
|
-
for (let [n, r] of
|
|
77272
|
-
let e = ((
|
|
77627
|
+
for (let [n, r] of WI(e)) {
|
|
77628
|
+
let e = ((jL(r) - jL(n) + Math.PI) % gL + gL) % gL - Math.PI;
|
|
77273
77629
|
t += e;
|
|
77274
77630
|
}
|
|
77275
|
-
return t /
|
|
77631
|
+
return t / gL;
|
|
77276
77632
|
}
|
|
77277
77633
|
//#endregion
|
|
77278
77634
|
//#region src/utils/paths.ts
|
|
77279
|
-
var
|
|
77280
|
-
function
|
|
77635
|
+
var XL = .01;
|
|
77636
|
+
function ZL(e, t, n) {
|
|
77281
77637
|
return e.map((e, r) => e.map((e, i) => e + n * (t[r][i] - e)));
|
|
77282
77638
|
}
|
|
77283
|
-
function
|
|
77639
|
+
function QL(e, t) {
|
|
77284
77640
|
return t.map((t) => t.reduce((t, n, r) => t + n * e[r], 0));
|
|
77285
77641
|
}
|
|
77286
|
-
function
|
|
77287
|
-
return
|
|
77642
|
+
function $L() {
|
|
77643
|
+
return ZL;
|
|
77288
77644
|
}
|
|
77289
|
-
function
|
|
77290
|
-
let r =
|
|
77645
|
+
function eR(e, t, n = vn) {
|
|
77646
|
+
let r = xL(n, vn), i = (e) => t[e] ?? t[0];
|
|
77291
77647
|
return (t, n, a) => {
|
|
77292
|
-
let o =
|
|
77648
|
+
let o = EL(-e, r), s = EL(a * e, r);
|
|
77293
77649
|
return t.map((e, t) => {
|
|
77294
|
-
let r = i(t), c =
|
|
77295
|
-
return
|
|
77650
|
+
let r = i(t), c = QL(n[t].map((e, t) => e - r[t]), o).map((e, t) => e + r[t]);
|
|
77651
|
+
return QL(e.map((e, t) => e + a * (c[t] - e)).map((e, t) => e - r[t]), s).map((e, t) => e + r[t]);
|
|
77296
77652
|
});
|
|
77297
77653
|
};
|
|
77298
77654
|
}
|
|
77299
|
-
function
|
|
77300
|
-
if (Math.abs(e) <
|
|
77301
|
-
let n =
|
|
77655
|
+
function tR(e, t = vn) {
|
|
77656
|
+
if (Math.abs(e) < XL) return $L();
|
|
77657
|
+
let n = xL(t, vn);
|
|
77302
77658
|
return (t, r, i) => {
|
|
77303
|
-
let a =
|
|
77659
|
+
let a = EL(i * e, n);
|
|
77304
77660
|
return t.map((t, i) => {
|
|
77305
77661
|
let o = r[i].map((e, n) => e - t[n]), s = t.map((e, t) => e + .5 * o[t]);
|
|
77306
77662
|
if (e !== Math.PI) {
|
|
@@ -77311,19 +77667,19 @@ function RL(e, t = vn) {
|
|
|
77311
77667
|
], i = 1 / Math.tan(e / 2);
|
|
77312
77668
|
for (let e = 0; e < s.length; e++) s[e] += r[e] * i;
|
|
77313
77669
|
}
|
|
77314
|
-
return
|
|
77670
|
+
return QL(t.map((e, t) => e - s[t]), a).map((e, t) => e + s[t]);
|
|
77315
77671
|
});
|
|
77316
77672
|
};
|
|
77317
77673
|
}
|
|
77318
|
-
function
|
|
77319
|
-
return
|
|
77674
|
+
function nR() {
|
|
77675
|
+
return tR(-Math.PI);
|
|
77320
77676
|
}
|
|
77321
|
-
function
|
|
77322
|
-
return
|
|
77677
|
+
function rR() {
|
|
77678
|
+
return tR(Math.PI);
|
|
77323
77679
|
}
|
|
77324
77680
|
//#endregion
|
|
77325
77681
|
//#region src/utils/simpleFunctions.ts
|
|
77326
|
-
function
|
|
77682
|
+
function iR(e, t, n, r, i = 1e-4) {
|
|
77327
77683
|
let a = n, o = r, s = (a + o) / 2;
|
|
77328
77684
|
for (; Math.abs(o - a) > i;) {
|
|
77329
77685
|
s = (a + o) / 2;
|
|
@@ -77336,7 +77692,7 @@ function VL(e, t, n, r, i = 1e-4) {
|
|
|
77336
77692
|
}
|
|
77337
77693
|
return s;
|
|
77338
77694
|
}
|
|
77339
|
-
function
|
|
77695
|
+
function aR(e, t) {
|
|
77340
77696
|
if (t < 0 || t > e) return 0;
|
|
77341
77697
|
let n = t;
|
|
77342
77698
|
n > e - n && (n = e - n);
|
|
@@ -77344,30 +77700,30 @@ function HL(e, t) {
|
|
|
77344
77700
|
for (let t = 0; t < n; t++) r = r * (e - t) / (t + 1);
|
|
77345
77701
|
return Math.round(r);
|
|
77346
77702
|
}
|
|
77347
|
-
function
|
|
77703
|
+
function oR(e, t, n) {
|
|
77348
77704
|
return e < t ? t : e > n ? n : e;
|
|
77349
77705
|
}
|
|
77350
|
-
function
|
|
77706
|
+
function sR(e) {
|
|
77351
77707
|
return 1 / (1 + Math.exp(-e));
|
|
77352
77708
|
}
|
|
77353
77709
|
//#endregion
|
|
77354
77710
|
//#region src/utils/bezier.ts
|
|
77355
|
-
function
|
|
77711
|
+
function cR(e, t, n) {
|
|
77356
77712
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, r) => (1 - n) * e + n * t[r]);
|
|
77357
77713
|
if (typeof e == "number" && typeof t == "number") return (1 - n) * e + n * t;
|
|
77358
77714
|
throw Error("interpolate: start and end must both be numbers or both be arrays");
|
|
77359
77715
|
}
|
|
77360
|
-
function
|
|
77716
|
+
function lR(e, t) {
|
|
77361
77717
|
if (Array.isArray(e) && Array.isArray(t)) return e.map((e, n) => (e + t[n]) / 2);
|
|
77362
77718
|
if (typeof e == "number" && typeof t == "number") return (e + t) / 2;
|
|
77363
77719
|
throw Error("mid: start and end must both be numbers or both be arrays");
|
|
77364
77720
|
}
|
|
77365
|
-
function
|
|
77721
|
+
function uR(e, t, n) {
|
|
77366
77722
|
if (Array.isArray(e) && Array.isArray(t) && Array.isArray(n)) return e.map((e, r) => (n[r] - e) / (t[r] - e));
|
|
77367
77723
|
if (typeof e == "number" && typeof t == "number" && typeof n == "number") return (n - e) / (t - e);
|
|
77368
77724
|
throw Error("inverse_interpolate: start, end and value must all be numbers or all be arrays");
|
|
77369
77725
|
}
|
|
77370
|
-
function
|
|
77726
|
+
function dR(e, t, n, r, i) {
|
|
77371
77727
|
let a = r - n;
|
|
77372
77728
|
if (Array.isArray(i)) return i.map((r) => {
|
|
77373
77729
|
let i = (r - n) / a;
|
|
@@ -77376,7 +77732,7 @@ function JL(e, t, n, r, i) {
|
|
|
77376
77732
|
let o = (i - n) / a;
|
|
77377
77733
|
return (1 - o) * e + o * t;
|
|
77378
77734
|
}
|
|
77379
|
-
function
|
|
77735
|
+
function fR(e, t) {
|
|
77380
77736
|
if (e.length === 0) return 0;
|
|
77381
77737
|
let n = e.slice();
|
|
77382
77738
|
for (; n.length > 1;) {
|
|
@@ -77386,7 +77742,7 @@ function YL(e, t) {
|
|
|
77386
77742
|
}
|
|
77387
77743
|
return n[0];
|
|
77388
77744
|
}
|
|
77389
|
-
function
|
|
77745
|
+
function pR(e, t) {
|
|
77390
77746
|
if (e.length === 0) return [];
|
|
77391
77747
|
let n = e.map((e) => e.slice());
|
|
77392
77748
|
for (; n.length > 1;) {
|
|
@@ -77396,15 +77752,15 @@ function XL(e, t) {
|
|
|
77396
77752
|
}
|
|
77397
77753
|
return n[0];
|
|
77398
77754
|
}
|
|
77399
|
-
function
|
|
77755
|
+
function mR(e) {
|
|
77400
77756
|
if (e.length > 0 && Array.isArray(e[0])) {
|
|
77401
77757
|
let t = e.filter((e) => Array.isArray(e));
|
|
77402
|
-
return (e) =>
|
|
77758
|
+
return (e) => pR(t, e);
|
|
77403
77759
|
}
|
|
77404
77760
|
let t = e.filter((e) => typeof e == "number");
|
|
77405
|
-
return (e) =>
|
|
77761
|
+
return (e) => fR(t, e);
|
|
77406
77762
|
}
|
|
77407
|
-
function
|
|
77763
|
+
function hR(e, t) {
|
|
77408
77764
|
let n = e.length, r = e.map((e) => e.slice()), i = Array(n);
|
|
77409
77765
|
i[0] = e[0].slice();
|
|
77410
77766
|
for (let e = 1; e < n; e++) {
|
|
@@ -77413,7 +77769,7 @@ function QL(e, t) {
|
|
|
77413
77769
|
}
|
|
77414
77770
|
return [...i, ...r];
|
|
77415
77771
|
}
|
|
77416
|
-
function
|
|
77772
|
+
function gR(e, t) {
|
|
77417
77773
|
if (t <= 1) return e.map((e) => e.slice());
|
|
77418
77774
|
let n = [];
|
|
77419
77775
|
for (let r = 0; r < t; r++) {
|
|
@@ -77422,7 +77778,7 @@ function $L(e, t) {
|
|
|
77422
77778
|
}
|
|
77423
77779
|
return n;
|
|
77424
77780
|
}
|
|
77425
|
-
function
|
|
77781
|
+
function _R(e, t) {
|
|
77426
77782
|
let n = e.length;
|
|
77427
77783
|
if (n === 0) return [];
|
|
77428
77784
|
let r = e[0].length, i = [];
|
|
@@ -77433,12 +77789,12 @@ function eR(e, t) {
|
|
|
77433
77789
|
for (let t = 0; t < n; t++) {
|
|
77434
77790
|
let n = a[t];
|
|
77435
77791
|
if (n <= 0) continue;
|
|
77436
|
-
let i =
|
|
77792
|
+
let i = gR(e[t], n);
|
|
77437
77793
|
for (let e = 0; e < n; e++) o.push(i.slice(e * r, e * r + r));
|
|
77438
77794
|
}
|
|
77439
77795
|
return o;
|
|
77440
77796
|
}
|
|
77441
|
-
function
|
|
77797
|
+
function vR(e) {
|
|
77442
77798
|
let t = e[0], n = e[e.length - 1];
|
|
77443
77799
|
for (let e = 0; e < 3; e++) {
|
|
77444
77800
|
let r = t[e] ?? 0, i = n[e] ?? 0, a = 1e-8 + 1e-5 * Math.abs(r);
|
|
@@ -77446,43 +77802,43 @@ function tR(e) {
|
|
|
77446
77802
|
}
|
|
77447
77803
|
return !0;
|
|
77448
77804
|
}
|
|
77449
|
-
function
|
|
77805
|
+
function yR(e, t) {
|
|
77450
77806
|
return {
|
|
77451
77807
|
re: e.re + t.re,
|
|
77452
77808
|
im: e.im + t.im
|
|
77453
77809
|
};
|
|
77454
77810
|
}
|
|
77455
|
-
function
|
|
77811
|
+
function bR(e, t) {
|
|
77456
77812
|
return {
|
|
77457
77813
|
re: e.re - t.re,
|
|
77458
77814
|
im: e.im - t.im
|
|
77459
77815
|
};
|
|
77460
77816
|
}
|
|
77461
|
-
function
|
|
77817
|
+
function xR(e, t) {
|
|
77462
77818
|
return {
|
|
77463
77819
|
re: e.re * t.re - e.im * t.im,
|
|
77464
77820
|
im: e.re * t.im + e.im * t.re
|
|
77465
77821
|
};
|
|
77466
77822
|
}
|
|
77467
|
-
function
|
|
77823
|
+
function SR(e, t) {
|
|
77468
77824
|
let n = t.re * t.re + t.im * t.im;
|
|
77469
77825
|
return {
|
|
77470
77826
|
re: (e.re * t.re + e.im * t.im) / n,
|
|
77471
77827
|
im: (e.im * t.re - e.re * t.im) / n
|
|
77472
77828
|
};
|
|
77473
77829
|
}
|
|
77474
|
-
function
|
|
77830
|
+
function CR(e, t) {
|
|
77475
77831
|
let n = {
|
|
77476
77832
|
re: e[e.length - 1],
|
|
77477
77833
|
im: 0
|
|
77478
77834
|
};
|
|
77479
|
-
for (let r = e.length - 2; r >= 0; r--) n =
|
|
77835
|
+
for (let r = e.length - 2; r >= 0; r--) n = yR(xR(n, t), {
|
|
77480
77836
|
re: e[r],
|
|
77481
77837
|
im: 0
|
|
77482
77838
|
});
|
|
77483
77839
|
return n;
|
|
77484
77840
|
}
|
|
77485
|
-
function
|
|
77841
|
+
function wR(e) {
|
|
77486
77842
|
let t = e.slice();
|
|
77487
77843
|
for (; t.length > 1 && Math.abs(t[t.length - 1]) < 1e-14;) t.pop();
|
|
77488
77844
|
let n = t.length - 1;
|
|
@@ -77497,17 +77853,17 @@ function sR(e) {
|
|
|
77497
77853
|
for (let e = 0; e < n; e++) a.push({
|
|
77498
77854
|
re: s.re,
|
|
77499
77855
|
im: s.im
|
|
77500
|
-
}), s =
|
|
77856
|
+
}), s = xR(s, o);
|
|
77501
77857
|
for (let e = 0; e < 200; e++) {
|
|
77502
77858
|
let e = 0;
|
|
77503
77859
|
for (let t = 0; t < n; t++) {
|
|
77504
|
-
let r =
|
|
77860
|
+
let r = CR(i, a[t]), o = {
|
|
77505
77861
|
re: 1,
|
|
77506
77862
|
im: 0
|
|
77507
77863
|
};
|
|
77508
|
-
for (let e = 0; e < n; e++) e !== t && (o =
|
|
77509
|
-
let s =
|
|
77510
|
-
a[t] =
|
|
77864
|
+
for (let e = 0; e < n; e++) e !== t && (o = xR(o, bR(a[t], a[e])));
|
|
77865
|
+
let s = SR(r, o);
|
|
77866
|
+
a[t] = bR(a[t], s);
|
|
77511
77867
|
let c = Math.hypot(s.re, s.im);
|
|
77512
77868
|
c > e && (e = c);
|
|
77513
77869
|
}
|
|
@@ -77515,98 +77871,98 @@ function sR(e) {
|
|
|
77515
77871
|
}
|
|
77516
77872
|
return a;
|
|
77517
77873
|
}
|
|
77518
|
-
function
|
|
77874
|
+
function TR(e, t) {
|
|
77519
77875
|
if (t < 0 || t > e) return 0;
|
|
77520
77876
|
let n = 1;
|
|
77521
77877
|
for (let r = 0; r < t; r++) n = n * (e - r) / (r + 1);
|
|
77522
77878
|
return Math.round(n);
|
|
77523
77879
|
}
|
|
77524
|
-
function
|
|
77880
|
+
function ER(e, t) {
|
|
77525
77881
|
let n = 10 ** t;
|
|
77526
77882
|
return Math.round(e * n) / n;
|
|
77527
77883
|
}
|
|
77528
|
-
function
|
|
77884
|
+
function DR(e, t, n) {
|
|
77529
77885
|
let r = .5 * 10 ** -n, i = [];
|
|
77530
77886
|
for (let n of e) t.some((e) => Math.abs(n - e) <= r) && !i.some((e) => Math.abs(n - e) <= r) && i.push(n);
|
|
77531
77887
|
return i;
|
|
77532
77888
|
}
|
|
77533
|
-
function
|
|
77889
|
+
function OR(e, t, n = 1e-6) {
|
|
77534
77890
|
for (let n of t) if (n.length !== e.length) throw Error("proportions_along_bezier_curve_for_point: point and control points have different shapes");
|
|
77535
77891
|
let r = t.length - 1, i = Math.round(Math.log10(1 / n)), a = [];
|
|
77536
77892
|
for (let n = 0; n < e.length; n++) {
|
|
77537
77893
|
let o = e[n], s = t.map((e) => e[n]), c = [];
|
|
77538
77894
|
for (let e = r; e >= 0; e--) {
|
|
77539
|
-
let t =
|
|
77895
|
+
let t = TR(r, e), n = 1, i = 0;
|
|
77540
77896
|
for (let t = e; t >= 0; t--) {
|
|
77541
|
-
let r =
|
|
77897
|
+
let r = TR(e, t) * n * s[t];
|
|
77542
77898
|
e === 0 && (r -= o), i += r, n *= -1;
|
|
77543
77899
|
}
|
|
77544
77900
|
c.push(t * i);
|
|
77545
77901
|
}
|
|
77546
77902
|
if (c.every((e) => e === 0)) continue;
|
|
77547
|
-
let l =
|
|
77903
|
+
let l = wR(c.slice().reverse()).filter((e) => Math.abs(e.im) < 1e-9).map((e) => ER(e.re, i));
|
|
77548
77904
|
a.push(l);
|
|
77549
77905
|
}
|
|
77550
77906
|
if (a.length === 0) return [];
|
|
77551
77907
|
let o = a[0];
|
|
77552
|
-
for (let e = 1; e < a.length; e++) o =
|
|
77908
|
+
for (let e = 1; e < a.length; e++) o = DR(o, a[e], i);
|
|
77553
77909
|
return o.filter((e) => e >= 0 && e <= 1);
|
|
77554
77910
|
}
|
|
77555
|
-
function
|
|
77556
|
-
return
|
|
77911
|
+
function kR(e, t, n = 1e-6) {
|
|
77912
|
+
return OR(e, t, n).length > 0;
|
|
77557
77913
|
}
|
|
77558
77914
|
//#endregion
|
|
77559
77915
|
//#region src/mobjects/three-d/threeDVmobUtils.ts
|
|
77560
|
-
function
|
|
77916
|
+
function AR(e) {
|
|
77561
77917
|
return [
|
|
77562
77918
|
e[0],
|
|
77563
77919
|
e[1],
|
|
77564
77920
|
e[2]
|
|
77565
77921
|
];
|
|
77566
77922
|
}
|
|
77567
|
-
function
|
|
77923
|
+
function jR(e) {
|
|
77568
77924
|
return e.filter((e, t) => t % 3 == 0);
|
|
77569
77925
|
}
|
|
77570
|
-
function
|
|
77571
|
-
return [
|
|
77926
|
+
function MR(e) {
|
|
77927
|
+
return [FR(e), IR(e)];
|
|
77572
77928
|
}
|
|
77573
|
-
function
|
|
77929
|
+
function NR(e) {
|
|
77574
77930
|
return 0;
|
|
77575
77931
|
}
|
|
77576
|
-
function
|
|
77932
|
+
function PR(e) {
|
|
77577
77933
|
return Math.floor((e.getPoints().length - 1) / 6) * 3;
|
|
77578
77934
|
}
|
|
77579
|
-
function
|
|
77935
|
+
function FR(e) {
|
|
77580
77936
|
let t = e.getPoints();
|
|
77581
|
-
return t.length === 0 ? [...bn] :
|
|
77937
|
+
return t.length === 0 ? [...bn] : AR(t[NR(e)]);
|
|
77582
77938
|
}
|
|
77583
|
-
function
|
|
77939
|
+
function IR(e) {
|
|
77584
77940
|
let t = e.getPoints();
|
|
77585
|
-
return t.length === 0 ? [...bn] :
|
|
77941
|
+
return t.length === 0 ? [...bn] : AR(t[PR(e)]);
|
|
77586
77942
|
}
|
|
77587
|
-
function
|
|
77943
|
+
function LR(e, t) {
|
|
77588
77944
|
let n = e.getPoints(), r = n.length;
|
|
77589
|
-
if (
|
|
77590
|
-
let i = t, a = i > 2 ? i - 3 : r - 4, o =
|
|
77945
|
+
if (jR(n).length <= 2) return [...mn];
|
|
77946
|
+
let i = t, a = i > 2 ? i - 3 : r - 4, o = NL(n[i < r - 3 ? i + 3 : 3].map((e, t) => e - n[i][t]), n[a].map((e, t) => e - n[i][t]));
|
|
77591
77947
|
return Math.hypot(...o) === 0 ? [...mn] : o;
|
|
77592
77948
|
}
|
|
77593
|
-
function
|
|
77594
|
-
return
|
|
77949
|
+
function RR(e) {
|
|
77950
|
+
return LR(e, NR(e));
|
|
77595
77951
|
}
|
|
77596
|
-
function
|
|
77597
|
-
return
|
|
77952
|
+
function zR(e) {
|
|
77953
|
+
return LR(e, PR(e));
|
|
77598
77954
|
}
|
|
77599
77955
|
//#endregion
|
|
77600
77956
|
//#region src/core/SpecialThreeDScene.ts
|
|
77601
|
-
var
|
|
77957
|
+
var BR = 70 * _t, VR = -110 * _t, HR = 2, UR = 48, WR = class extends c_ {
|
|
77602
77958
|
cutAxesAtRadius;
|
|
77603
77959
|
_threeDAxesConfig;
|
|
77604
77960
|
_sphereConfig;
|
|
77605
77961
|
_defaultAngledCameraPosition;
|
|
77606
77962
|
constructor(e, t = {}) {
|
|
77607
77963
|
let { cutAxesAtRadius: n = !0, threeDAxesConfig: r = {}, sphereConfig: i = {}, defaultAngledCameraPosition: a = {
|
|
77608
|
-
phi:
|
|
77609
|
-
theta:
|
|
77964
|
+
phi: BR,
|
|
77965
|
+
theta: VR
|
|
77610
77966
|
}, phi: o = a.phi, theta: s = a.theta, ...c } = t;
|
|
77611
77967
|
super(e, {
|
|
77612
77968
|
...c,
|
|
@@ -77636,8 +77992,8 @@ var CR = 70 * _t, wR = -110 * _t, TR = 2, ER = 48, DR = class extends c_ {
|
|
|
77636
77992
|
}
|
|
77637
77993
|
getDefaultSphereConfig() {
|
|
77638
77994
|
return {
|
|
77639
|
-
radius:
|
|
77640
|
-
resolution:
|
|
77995
|
+
radius: HR,
|
|
77996
|
+
resolution: UR
|
|
77641
77997
|
};
|
|
77642
77998
|
}
|
|
77643
77999
|
getAxes() {
|
|
@@ -77663,73 +78019,73 @@ var CR = 70 * _t, wR = -110 * _t, TR = 2, ER = 48, DR = class extends c_ {
|
|
|
77663
78019
|
};
|
|
77664
78020
|
//#endregion
|
|
77665
78021
|
//#region src/mobjects/text/registerFont.ts
|
|
77666
|
-
function
|
|
78022
|
+
function GR(e, t) {
|
|
77667
78023
|
if (typeof document > "u" || typeof FontFace > "u" || document.fonts === void 0) return !1;
|
|
77668
78024
|
let n = typeof t == "string" && !/^\s*(url|local)\s*\(/i.test(t) ? `url("${t}")` : t, r = new FontFace(e, n);
|
|
77669
78025
|
return document.fonts.add(r), !0;
|
|
77670
78026
|
}
|
|
77671
78027
|
//#endregion
|
|
77672
78028
|
//#region src/serialization/registry.ts
|
|
77673
|
-
var
|
|
77674
|
-
function
|
|
77675
|
-
|
|
78029
|
+
var KR = /* @__PURE__ */ new Map();
|
|
78030
|
+
function qR(e, t) {
|
|
78031
|
+
KR.set(e, t);
|
|
77676
78032
|
}
|
|
77677
|
-
function
|
|
77678
|
-
|
|
78033
|
+
function JR(e) {
|
|
78034
|
+
KR.delete(e);
|
|
77679
78035
|
}
|
|
77680
|
-
function
|
|
77681
|
-
return
|
|
78036
|
+
function YR(e) {
|
|
78037
|
+
return KR.get(e);
|
|
77682
78038
|
}
|
|
77683
|
-
function
|
|
77684
|
-
return [...
|
|
78039
|
+
function XR() {
|
|
78040
|
+
return [...KR.keys()].sort();
|
|
77685
78041
|
}
|
|
77686
78042
|
//#endregion
|
|
77687
78043
|
//#region src/serialization/props.ts
|
|
77688
|
-
function
|
|
78044
|
+
function ZR(e, t) {
|
|
77689
78045
|
return typeof e == "number" && Number.isFinite(e) ? e : t;
|
|
77690
78046
|
}
|
|
77691
|
-
function
|
|
78047
|
+
function QR(e, t) {
|
|
77692
78048
|
return typeof e == "string" ? e : t;
|
|
77693
78049
|
}
|
|
77694
|
-
function
|
|
78050
|
+
function $R(e, t) {
|
|
77695
78051
|
return typeof e == "boolean" ? e : t;
|
|
77696
78052
|
}
|
|
77697
|
-
function
|
|
78053
|
+
function ez(e) {
|
|
77698
78054
|
return typeof e == "string" ? e : void 0;
|
|
77699
78055
|
}
|
|
77700
|
-
function
|
|
78056
|
+
function tz(e) {
|
|
77701
78057
|
return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
|
|
77702
78058
|
}
|
|
77703
|
-
function
|
|
77704
|
-
return
|
|
78059
|
+
function nz(e, t) {
|
|
78060
|
+
return tz(e) ? [
|
|
77705
78061
|
e[0],
|
|
77706
78062
|
e[1],
|
|
77707
78063
|
e[2]
|
|
77708
78064
|
] : t;
|
|
77709
78065
|
}
|
|
77710
|
-
function
|
|
78066
|
+
function rz(e) {
|
|
77711
78067
|
if (!Array.isArray(e)) return [];
|
|
77712
78068
|
let t = [];
|
|
77713
|
-
for (let n of e)
|
|
78069
|
+
for (let n of e) tz(n) && t.push([
|
|
77714
78070
|
n[0],
|
|
77715
78071
|
n[1],
|
|
77716
78072
|
n[2]
|
|
77717
78073
|
]);
|
|
77718
78074
|
return t;
|
|
77719
78075
|
}
|
|
77720
|
-
function
|
|
78076
|
+
function iz(e) {
|
|
77721
78077
|
return typeof e == "object" && !!e && !Array.isArray(e);
|
|
77722
78078
|
}
|
|
77723
78079
|
//#endregion
|
|
77724
78080
|
//#region src/serialization/defaults.ts
|
|
77725
|
-
function
|
|
77726
|
-
return typeof e == "number" && Number.isFinite(e) ? e :
|
|
78081
|
+
function az(e) {
|
|
78082
|
+
return typeof e == "number" && Number.isFinite(e) ? e : QR(e, "normal");
|
|
77727
78083
|
}
|
|
77728
|
-
function
|
|
78084
|
+
function oz(e) {
|
|
77729
78085
|
return e === "left" || e === "right" ? e : "center";
|
|
77730
78086
|
}
|
|
77731
|
-
function
|
|
77732
|
-
|
|
78087
|
+
function sz() {
|
|
78088
|
+
qR("Circle", {
|
|
77733
78089
|
serialize: (e) => {
|
|
77734
78090
|
let t = e;
|
|
77735
78091
|
return {
|
|
@@ -77738,10 +78094,10 @@ function WR() {
|
|
|
77738
78094
|
};
|
|
77739
78095
|
},
|
|
77740
78096
|
deserialize: (e) => new Wv({
|
|
77741
|
-
radius:
|
|
77742
|
-
numPoints:
|
|
78097
|
+
radius: ZR(e.radius, 1),
|
|
78098
|
+
numPoints: ZR(e.numPoints, 64)
|
|
77743
78099
|
})
|
|
77744
|
-
}),
|
|
78100
|
+
}), qR("Rectangle", {
|
|
77745
78101
|
serialize: (e) => {
|
|
77746
78102
|
let t = e;
|
|
77747
78103
|
return {
|
|
@@ -77750,13 +78106,13 @@ function WR() {
|
|
|
77750
78106
|
};
|
|
77751
78107
|
},
|
|
77752
78108
|
deserialize: (e) => new l_({
|
|
77753
|
-
width:
|
|
77754
|
-
height:
|
|
78109
|
+
width: ZR(e.width, 2),
|
|
78110
|
+
height: ZR(e.height, 1)
|
|
77755
78111
|
})
|
|
77756
|
-
}),
|
|
78112
|
+
}), qR("Square", {
|
|
77757
78113
|
serialize: (e) => ({ sideLength: e._width }),
|
|
77758
|
-
deserialize: (e) => new u_({ sideLength:
|
|
77759
|
-
}),
|
|
78114
|
+
deserialize: (e) => new u_({ sideLength: ZR(e.sideLength, 2) })
|
|
78115
|
+
}), qR("Line", {
|
|
77760
78116
|
serialize: (e) => {
|
|
77761
78117
|
let t = e;
|
|
77762
78118
|
return {
|
|
@@ -77765,27 +78121,27 @@ function WR() {
|
|
|
77765
78121
|
};
|
|
77766
78122
|
},
|
|
77767
78123
|
deserialize: (e) => new x_({
|
|
77768
|
-
start:
|
|
78124
|
+
start: nz(e.start, [
|
|
77769
78125
|
0,
|
|
77770
78126
|
0,
|
|
77771
78127
|
0
|
|
77772
78128
|
]),
|
|
77773
|
-
end:
|
|
78129
|
+
end: nz(e.end, [
|
|
77774
78130
|
1,
|
|
77775
78131
|
0,
|
|
77776
78132
|
0
|
|
77777
78133
|
])
|
|
77778
78134
|
})
|
|
77779
|
-
}),
|
|
78135
|
+
}), qR("Dot", {
|
|
77780
78136
|
serialize: (e) => ({ radius: e._radius }),
|
|
77781
|
-
deserialize: (e) => new my({ radius:
|
|
77782
|
-
}),
|
|
78137
|
+
deserialize: (e) => new my({ radius: ZR(e.radius, .08) })
|
|
78138
|
+
}), qR("Polygon", {
|
|
77783
78139
|
serialize: (e) => ({
|
|
77784
78140
|
vertices: e.getVertices().map((e) => [...e]),
|
|
77785
78141
|
closed: e._closed
|
|
77786
78142
|
}),
|
|
77787
78143
|
deserialize: (e) => {
|
|
77788
|
-
let t =
|
|
78144
|
+
let t = rz(e.vertices);
|
|
77789
78145
|
return new Gv({
|
|
77790
78146
|
vertices: t.length >= 2 ? t : [[
|
|
77791
78147
|
0,
|
|
@@ -77796,16 +78152,16 @@ function WR() {
|
|
|
77796
78152
|
0,
|
|
77797
78153
|
0
|
|
77798
78154
|
]],
|
|
77799
|
-
closed:
|
|
78155
|
+
closed: $R(e.closed, !0)
|
|
77800
78156
|
});
|
|
77801
78157
|
}
|
|
77802
|
-
}),
|
|
78158
|
+
}), qR("Group", {
|
|
77803
78159
|
serialize: () => ({}),
|
|
77804
78160
|
deserialize: () => new Qh()
|
|
77805
|
-
}),
|
|
78161
|
+
}), qR("VGroup", {
|
|
77806
78162
|
serialize: () => ({}),
|
|
77807
78163
|
deserialize: () => new L()
|
|
77808
|
-
}),
|
|
78164
|
+
}), qR("Text", {
|
|
77809
78165
|
serialize: (e) => {
|
|
77810
78166
|
let t = e;
|
|
77811
78167
|
return {
|
|
@@ -77820,16 +78176,16 @@ function WR() {
|
|
|
77820
78176
|
};
|
|
77821
78177
|
},
|
|
77822
78178
|
deserialize: (e) => new sh({
|
|
77823
|
-
text:
|
|
77824
|
-
fontSize:
|
|
77825
|
-
fontFamily:
|
|
77826
|
-
fontWeight:
|
|
77827
|
-
fontStyle:
|
|
77828
|
-
lineHeight:
|
|
77829
|
-
letterSpacing:
|
|
77830
|
-
textAlign:
|
|
78179
|
+
text: QR(e.text, ""),
|
|
78180
|
+
fontSize: ZR(e.fontSize, 48),
|
|
78181
|
+
fontFamily: QR(e.fontFamily, "CMU Serif, Georgia, Times New Roman, serif"),
|
|
78182
|
+
fontWeight: az(e.fontWeight),
|
|
78183
|
+
fontStyle: QR(e.fontStyle, "normal"),
|
|
78184
|
+
lineHeight: ZR(e.lineHeight, 1.2),
|
|
78185
|
+
letterSpacing: ZR(e.letterSpacing, 0),
|
|
78186
|
+
textAlign: oz(e.textAlign)
|
|
77831
78187
|
})
|
|
77832
|
-
}),
|
|
78188
|
+
}), qR("MathTex", {
|
|
77833
78189
|
serialize: (e) => {
|
|
77834
78190
|
let t = e;
|
|
77835
78191
|
return {
|
|
@@ -77839,15 +78195,15 @@ function WR() {
|
|
|
77839
78195
|
};
|
|
77840
78196
|
},
|
|
77841
78197
|
deserialize: (e) => new wS({
|
|
77842
|
-
latex:
|
|
77843
|
-
fontSize:
|
|
77844
|
-
displayMode:
|
|
78198
|
+
latex: QR(e.latex, ""),
|
|
78199
|
+
fontSize: ZR(e.fontSize, 1),
|
|
78200
|
+
displayMode: $R(e.displayMode, !0)
|
|
77845
78201
|
})
|
|
77846
78202
|
});
|
|
77847
78203
|
}
|
|
77848
78204
|
//#endregion
|
|
77849
78205
|
//#region src/serialization/types.ts
|
|
77850
|
-
var
|
|
78206
|
+
var cz = "manim-web-scene", lz = {
|
|
77851
78207
|
position: [
|
|
77852
78208
|
0,
|
|
77853
78209
|
0,
|
|
@@ -77864,7 +78220,7 @@ var GR = "manim-web-scene", KR = {
|
|
|
77864
78220
|
1
|
|
77865
78221
|
]
|
|
77866
78222
|
};
|
|
77867
|
-
function
|
|
78223
|
+
function uz(e) {
|
|
77868
78224
|
return {
|
|
77869
78225
|
position: [
|
|
77870
78226
|
e.position.x,
|
|
@@ -77883,98 +78239,98 @@ function qR(e) {
|
|
|
77883
78239
|
]
|
|
77884
78240
|
};
|
|
77885
78241
|
}
|
|
77886
|
-
function
|
|
78242
|
+
function dz(e) {
|
|
77887
78243
|
let t = {};
|
|
77888
78244
|
return e.strokeColor !== void 0 && (t.strokeColor = e.strokeColor), e.fillColor !== void 0 && (t.fillColor = e.fillColor), typeof e.opacity == "number" && (t.strokeOpacity = e.opacity), typeof e.fillOpacity == "number" && (t.fillOpacity = e.fillOpacity), typeof e.strokeWidth == "number" && (t.strokeWidth = e.strokeWidth), t;
|
|
77889
78245
|
}
|
|
77890
|
-
function
|
|
77891
|
-
let n =
|
|
78246
|
+
function fz(e, t) {
|
|
78247
|
+
let n = iz(t) ? t : {}, r = nz(n.position, lz.position), i = nz(n.rotation, lz.rotation), a = nz(n.scale, lz.scale);
|
|
77892
78248
|
e.position.set(r[0], r[1], r[2]), e.rotation.set(i[0], i[1], i[2]), e.scaleVector.set(a[0], a[1], a[2]);
|
|
77893
78249
|
}
|
|
77894
|
-
function
|
|
77895
|
-
let n =
|
|
78250
|
+
function pz(e, t) {
|
|
78251
|
+
let n = iz(t) ? t : {};
|
|
77896
78252
|
typeof n.strokeWidth == "number" && e.setStrokeWidth(n.strokeWidth), typeof n.strokeOpacity == "number" && e.setStrokeOpacity(n.strokeOpacity), typeof n.fillOpacity == "number" && e.setFillOpacity(n.fillOpacity);
|
|
77897
|
-
let r =
|
|
78253
|
+
let r = ez(n.strokeColor), i = ez(n.fillColor);
|
|
77898
78254
|
r !== void 0 && (e.color = r), r !== void 0 && (e.strokeColor = r), i !== void 0 && (e.fillColor = i);
|
|
77899
78255
|
}
|
|
77900
|
-
function
|
|
77901
|
-
let t = e.constructor.name, n =
|
|
78256
|
+
function mz(e) {
|
|
78257
|
+
let t = e.constructor.name, n = YR(t), r = {
|
|
77902
78258
|
type: t,
|
|
77903
78259
|
props: n ? n.serialize(e) : {},
|
|
77904
|
-
transform:
|
|
77905
|
-
style:
|
|
77906
|
-
children: e.children.map(
|
|
78260
|
+
transform: uz(e),
|
|
78261
|
+
style: dz(e),
|
|
78262
|
+
children: e.children.map(mz)
|
|
77907
78263
|
};
|
|
77908
78264
|
return n || (r.unknown = !0), r;
|
|
77909
78265
|
}
|
|
77910
|
-
function
|
|
77911
|
-
if (!
|
|
77912
|
-
let t =
|
|
78266
|
+
function hz(e) {
|
|
78267
|
+
if (!iz(e) || e.unknown === !0) return null;
|
|
78268
|
+
let t = ez(e.type);
|
|
77913
78269
|
if (t === void 0) return null;
|
|
77914
|
-
let n =
|
|
78270
|
+
let n = YR(t);
|
|
77915
78271
|
if (!n) return null;
|
|
77916
|
-
let r =
|
|
77917
|
-
if (
|
|
77918
|
-
let e =
|
|
78272
|
+
let r = iz(e.props) ? e.props : {}, i = n.deserialize(r);
|
|
78273
|
+
if (fz(i, e.transform), pz(i, e.style), Array.isArray(e.children)) for (let t of e.children) {
|
|
78274
|
+
let e = hz(t);
|
|
77919
78275
|
e && i.add(e);
|
|
77920
78276
|
}
|
|
77921
78277
|
return i;
|
|
77922
78278
|
}
|
|
77923
|
-
function
|
|
78279
|
+
function gz(e) {
|
|
77924
78280
|
let t = [];
|
|
77925
|
-
for (let n of e.mobjects) t.push(
|
|
78281
|
+
for (let n of e.mobjects) t.push(mz(n));
|
|
77926
78282
|
return {
|
|
77927
|
-
format:
|
|
78283
|
+
format: cz,
|
|
77928
78284
|
version: 1,
|
|
77929
78285
|
mobjects: t
|
|
77930
78286
|
};
|
|
77931
78287
|
}
|
|
77932
|
-
function
|
|
77933
|
-
if (!
|
|
78288
|
+
function _z(e, t) {
|
|
78289
|
+
if (!iz(e) || !Array.isArray(e.mobjects)) return [];
|
|
77934
78290
|
let n = [];
|
|
77935
78291
|
for (let r of e.mobjects) {
|
|
77936
|
-
let e =
|
|
78292
|
+
let e = hz(r);
|
|
77937
78293
|
e && (t.add(e), n.push(e));
|
|
77938
78294
|
}
|
|
77939
78295
|
return n;
|
|
77940
78296
|
}
|
|
77941
78297
|
//#endregion
|
|
77942
78298
|
//#region src/serialization/urlState.ts
|
|
77943
|
-
var
|
|
78299
|
+
var vz = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", yz = (() => {
|
|
77944
78300
|
let e = /* @__PURE__ */ new Map();
|
|
77945
|
-
for (let t = 0; t < 64; t++) e.set(
|
|
78301
|
+
for (let t = 0; t < 64; t++) e.set(vz.charAt(t), t);
|
|
77946
78302
|
return e;
|
|
77947
78303
|
})();
|
|
77948
|
-
function
|
|
78304
|
+
function bz(e) {
|
|
77949
78305
|
let t = "";
|
|
77950
78306
|
for (let n = 0; n < e.length; n += 3) {
|
|
77951
78307
|
let r = e[n], i = n + 1 < e.length, a = n + 2 < e.length, o = i ? e[n + 1] : 0, s = a ? e[n + 2] : 0, c = r << 16 | o << 8 | s;
|
|
77952
|
-
t +=
|
|
78308
|
+
t += vz.charAt(c >> 18 & 63), t += vz.charAt(c >> 12 & 63), i && (t += vz.charAt(c >> 6 & 63)), a && (t += vz.charAt(c & 63));
|
|
77953
78309
|
}
|
|
77954
78310
|
return t;
|
|
77955
78311
|
}
|
|
77956
|
-
function
|
|
78312
|
+
function xz(e) {
|
|
77957
78313
|
let t = e.length;
|
|
77958
78314
|
if (t % 4 == 1) return null;
|
|
77959
78315
|
let n = [];
|
|
77960
78316
|
for (let r = 0; r < t; r += 4) {
|
|
77961
|
-
let i = Math.min(4, t - r), a =
|
|
78317
|
+
let i = Math.min(4, t - r), a = yz.get(e.charAt(r)), o = yz.get(e.charAt(r + 1));
|
|
77962
78318
|
if (a === void 0 || o === void 0) return null;
|
|
77963
|
-
let s = i > 2 ?
|
|
78319
|
+
let s = i > 2 ? yz.get(e.charAt(r + 2)) : 0, c = i > 3 ? yz.get(e.charAt(r + 3)) : 0;
|
|
77964
78320
|
if (s === void 0 || c === void 0) return null;
|
|
77965
78321
|
let l = a << 18 | o << 12 | s << 6 | c;
|
|
77966
78322
|
n.push(l >> 16 & 255), i > 2 && n.push(l >> 8 & 255), i > 3 && n.push(l & 255);
|
|
77967
78323
|
}
|
|
77968
78324
|
return Uint8Array.from(n);
|
|
77969
78325
|
}
|
|
77970
|
-
function
|
|
78326
|
+
function Sz(e) {
|
|
77971
78327
|
let t = JSON.stringify(e), n = typeof t == "string" ? t : "null";
|
|
77972
|
-
return
|
|
78328
|
+
return bz(new TextEncoder().encode(n));
|
|
77973
78329
|
}
|
|
77974
|
-
function
|
|
78330
|
+
function Cz(e) {
|
|
77975
78331
|
let t = e.startsWith("#") ? e.slice(1) : e;
|
|
77976
78332
|
if (t.length === 0) return null;
|
|
77977
|
-
let n =
|
|
78333
|
+
let n = xz(t);
|
|
77978
78334
|
if (n === null) return null;
|
|
77979
78335
|
try {
|
|
77980
78336
|
let e = new TextDecoder().decode(n);
|
|
@@ -77983,18 +78339,18 @@ function oz(e) {
|
|
|
77983
78339
|
return null;
|
|
77984
78340
|
}
|
|
77985
78341
|
}
|
|
77986
|
-
function
|
|
78342
|
+
function wz() {
|
|
77987
78343
|
return typeof window < "u" && window.location ? window.location : null;
|
|
77988
78344
|
}
|
|
77989
|
-
function
|
|
78345
|
+
function Tz() {
|
|
77990
78346
|
return typeof window < "u" && window.history ? window.history : null;
|
|
77991
78347
|
}
|
|
77992
|
-
function
|
|
77993
|
-
let n =
|
|
78348
|
+
function Ez(e, t = {}) {
|
|
78349
|
+
let n = wz();
|
|
77994
78350
|
if (!n) return;
|
|
77995
|
-
let r =
|
|
78351
|
+
let r = Sz(e), i = `#${r}`;
|
|
77996
78352
|
if (t.replace) {
|
|
77997
|
-
let e =
|
|
78353
|
+
let e = Tz();
|
|
77998
78354
|
if (e && typeof e.replaceState == "function") {
|
|
77999
78355
|
e.replaceState(e.state ?? null, "", i);
|
|
78000
78356
|
return;
|
|
@@ -78002,29 +78358,29 @@ function lz(e, t = {}) {
|
|
|
78002
78358
|
}
|
|
78003
78359
|
n.hash = r;
|
|
78004
78360
|
}
|
|
78005
|
-
function
|
|
78006
|
-
let e =
|
|
78007
|
-
return e ?
|
|
78361
|
+
function Dz() {
|
|
78362
|
+
let e = wz();
|
|
78363
|
+
return e ? Cz(e.hash) : null;
|
|
78008
78364
|
}
|
|
78009
|
-
function
|
|
78365
|
+
function Oz(e) {
|
|
78010
78366
|
if (typeof window > "u" || typeof window.addEventListener != "function") return () => void 0;
|
|
78011
|
-
let t = () => e(
|
|
78367
|
+
let t = () => e(Dz());
|
|
78012
78368
|
return window.addEventListener("hashchange", t), () => window.removeEventListener("hashchange", t);
|
|
78013
78369
|
}
|
|
78014
|
-
function
|
|
78370
|
+
function kz(e) {
|
|
78015
78371
|
let t = {};
|
|
78016
78372
|
for (let n of e) t[n.id] = n.get();
|
|
78017
78373
|
return t;
|
|
78018
78374
|
}
|
|
78019
|
-
function
|
|
78375
|
+
function Az(e, t) {
|
|
78020
78376
|
if (typeof t != "object" || !t || Array.isArray(t)) return !1;
|
|
78021
78377
|
let n = t, r = !1;
|
|
78022
78378
|
for (let t of e) Object.prototype.hasOwnProperty.call(n, t.id) && (t.set(n[t.id]), r = !0);
|
|
78023
78379
|
return r;
|
|
78024
78380
|
}
|
|
78025
|
-
function
|
|
78026
|
-
let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () =>
|
|
78027
|
-
return r && s(), i && (c =
|
|
78381
|
+
function jz(e, t = {}) {
|
|
78382
|
+
let { replace: n = !0, restoreOnBind: r = !0, listen: i = !0 } = t, a = () => kz(e), o = () => Ez(a(), { replace: n }), s = () => Az(e, Dz()), c = null;
|
|
78383
|
+
return r && s(), i && (c = Oz((t) => Az(e, t))), {
|
|
78028
78384
|
capture: a,
|
|
78029
78385
|
save: o,
|
|
78030
78386
|
restore: s,
|
|
@@ -78035,13 +78391,13 @@ function mz(e, t = {}) {
|
|
|
78035
78391
|
}
|
|
78036
78392
|
//#endregion
|
|
78037
78393
|
//#region src/serialization/parametrized.ts
|
|
78038
|
-
function
|
|
78394
|
+
function Mz(e) {
|
|
78039
78395
|
return Array.isArray(e) && e.length === 3 && e.every((e) => typeof e == "number" && Number.isFinite(e));
|
|
78040
78396
|
}
|
|
78041
|
-
function
|
|
78042
|
-
return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" :
|
|
78397
|
+
function Nz(e) {
|
|
78398
|
+
return typeof e == "number" ? "number" : typeof e == "string" ? "string" : typeof e == "boolean" ? "boolean" : Mz(e) ? "vec3" : Array.isArray(e) ? "array" : iz(e) ? "object" : null;
|
|
78043
78399
|
}
|
|
78044
|
-
function
|
|
78400
|
+
function Pz(e, t, n) {
|
|
78045
78401
|
switch (t) {
|
|
78046
78402
|
case "number":
|
|
78047
78403
|
if (typeof e == "number" && Number.isFinite(e)) return e;
|
|
@@ -78052,46 +78408,46 @@ function _z(e, t, n) {
|
|
|
78052
78408
|
return typeof e == "boolean" ? +!!e : n;
|
|
78053
78409
|
case "string": return typeof e == "string" ? e : typeof e == "number" && Number.isFinite(e) || typeof e == "boolean" ? String(e) : n;
|
|
78054
78410
|
case "boolean": return typeof e == "boolean" ? e : e === "true" ? !0 : e === "false" ? !1 : typeof e == "number" && Number.isFinite(e) ? e !== 0 : n;
|
|
78055
|
-
case "vec3": return
|
|
78411
|
+
case "vec3": return nz(e, Mz(n) ? n : [
|
|
78056
78412
|
0,
|
|
78057
78413
|
0,
|
|
78058
78414
|
0
|
|
78059
78415
|
]);
|
|
78060
78416
|
case "array": return Array.isArray(e) ? e : n;
|
|
78061
|
-
case "object": return
|
|
78417
|
+
case "object": return iz(e) ? e : n;
|
|
78062
78418
|
}
|
|
78063
78419
|
}
|
|
78064
|
-
function
|
|
78065
|
-
let r = e.defaultProps[t], i = e.schema?.[t] ??
|
|
78066
|
-
return i === null ? n === void 0 ? r : n :
|
|
78420
|
+
function Fz(e, t, n) {
|
|
78421
|
+
let r = e.defaultProps[t], i = e.schema?.[t] ?? Nz(r);
|
|
78422
|
+
return i === null ? n === void 0 ? r : n : Pz(n, i, r);
|
|
78067
78423
|
}
|
|
78068
|
-
function
|
|
78424
|
+
function Iz(e, t, n) {
|
|
78069
78425
|
let r = { ...t };
|
|
78070
|
-
if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] =
|
|
78426
|
+
if (n) for (let t of Object.keys(n)) Object.prototype.hasOwnProperty.call(e.defaultProps, t) && (r[t] = Fz(e, t, n[t]));
|
|
78071
78427
|
return r;
|
|
78072
78428
|
}
|
|
78073
|
-
function
|
|
78429
|
+
function Lz(e) {
|
|
78074
78430
|
return e;
|
|
78075
78431
|
}
|
|
78076
|
-
function
|
|
78077
|
-
return
|
|
78432
|
+
function Rz(e, t) {
|
|
78433
|
+
return Iz(e, { ...e.defaultProps }, t);
|
|
78078
78434
|
}
|
|
78079
|
-
function
|
|
78080
|
-
let t =
|
|
78081
|
-
return
|
|
78435
|
+
function zz(e) {
|
|
78436
|
+
let t = Dz();
|
|
78437
|
+
return Rz(e, iz(t) ? t : void 0);
|
|
78082
78438
|
}
|
|
78083
|
-
var
|
|
78439
|
+
var Bz = async (e, t) => {
|
|
78084
78440
|
if (typeof fetch != "function") throw Error("renderParametrized: no global fetch available. Pass options.fetch to inject one.");
|
|
78085
78441
|
let n = await fetch(e, t);
|
|
78086
78442
|
if (!n.ok) throw Error(`renderParametrized: fetch failed for ${e} (status ${n.status})`);
|
|
78087
78443
|
return n.json();
|
|
78088
78444
|
};
|
|
78089
|
-
function
|
|
78445
|
+
function Vz(e, t) {
|
|
78090
78446
|
let n = t.width ?? e.renderer.width, r = t.height ?? e.renderer.height;
|
|
78091
78447
|
(n !== e.renderer.width || r !== e.renderer.height) && e.resize(n, r), typeof t.fps == "number" && Number.isFinite(t.fps) && e.setTargetFps(t.fps);
|
|
78092
78448
|
}
|
|
78093
|
-
async function
|
|
78094
|
-
let r = n.fetch ??
|
|
78449
|
+
async function Hz(e, t, n = {}) {
|
|
78450
|
+
let r = n.fetch ?? Bz, i = Rz(e, t), a, o = {};
|
|
78095
78451
|
if (e.calculateMetadata) {
|
|
78096
78452
|
let t = await e.calculateMetadata({
|
|
78097
78453
|
props: i,
|
|
@@ -78102,7 +78458,7 @@ async function Tz(e, t, n = {}) {
|
|
|
78102
78458
|
width: t.width,
|
|
78103
78459
|
height: t.height,
|
|
78104
78460
|
fps: t.fps
|
|
78105
|
-
}, t.props && (i =
|
|
78461
|
+
}, t.props && (i = Iz(e, i, t.props));
|
|
78106
78462
|
}
|
|
78107
78463
|
let s = n.scene;
|
|
78108
78464
|
s ||= jg.createHeadless({
|
|
@@ -78110,9 +78466,9 @@ async function Tz(e, t, n = {}) {
|
|
|
78110
78466
|
...o.width === void 0 ? {} : { width: o.width },
|
|
78111
78467
|
...o.height === void 0 ? {} : { height: o.height },
|
|
78112
78468
|
...o.fps === void 0 ? {} : { targetFps: o.fps }
|
|
78113
|
-
}),
|
|
78114
|
-
let c =
|
|
78115
|
-
return n.writeUrl &&
|
|
78469
|
+
}), Vz(s, o);
|
|
78470
|
+
let c = Sz(i);
|
|
78471
|
+
return n.writeUrl && Ez(i, { replace: n.urlReplace ?? !0 }), await e.build(s, i, a), {
|
|
78116
78472
|
scene: s,
|
|
78117
78473
|
props: i,
|
|
78118
78474
|
data: a,
|
|
@@ -78127,10 +78483,10 @@ async function Tz(e, t, n = {}) {
|
|
|
78127
78483
|
}
|
|
78128
78484
|
//#endregion
|
|
78129
78485
|
//#region src/serialization/index.ts
|
|
78130
|
-
|
|
78486
|
+
sz();
|
|
78131
78487
|
//#endregion
|
|
78132
78488
|
//#region src/mobjects/geo/geojson.ts
|
|
78133
|
-
function
|
|
78489
|
+
function Uz(e) {
|
|
78134
78490
|
if (e.type === "Polygon") {
|
|
78135
78491
|
let t = e.coordinates[0];
|
|
78136
78492
|
return t ? [t] : [];
|
|
@@ -78144,26 +78500,26 @@ function Ez(e) {
|
|
|
78144
78500
|
}
|
|
78145
78501
|
//#endregion
|
|
78146
78502
|
//#region src/mobjects/geo/projections.ts
|
|
78147
|
-
var
|
|
78148
|
-
function
|
|
78149
|
-
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i *
|
|
78150
|
-
return ([e, i]) => [(e - n) *
|
|
78503
|
+
var Wz = Math.PI / 180;
|
|
78504
|
+
function Gz(e = {}) {
|
|
78505
|
+
let { radius: t = 1, centerLon: n = 0, centerLat: r = 0, standardParallel: i = 0 } = e, a = Math.cos(i * Wz);
|
|
78506
|
+
return ([e, i]) => [(e - n) * Wz * t * a, (i - r) * Wz * t];
|
|
78151
78507
|
}
|
|
78152
|
-
function
|
|
78508
|
+
function Kz(e = {}) {
|
|
78153
78509
|
let { radius: t = 1, centerLon: n = 0, maxLatitude: r = 85.05112878 } = e;
|
|
78154
78510
|
return ([e, i]) => {
|
|
78155
|
-
let a = Math.max(-r, Math.min(r, i)) *
|
|
78156
|
-
return [(e - n) *
|
|
78511
|
+
let a = Math.max(-r, Math.min(r, i)) * Wz;
|
|
78512
|
+
return [(e - n) * Wz * t, t * Math.log(Math.tan(Math.PI / 4 + a / 2))];
|
|
78157
78513
|
};
|
|
78158
78514
|
}
|
|
78159
78515
|
//#endregion
|
|
78160
78516
|
//#region src/mobjects/geo/colorScale.ts
|
|
78161
|
-
var
|
|
78517
|
+
var qz = ["#0d1b2a", "#4cc9f0"], Jz = class {
|
|
78162
78518
|
_palette;
|
|
78163
78519
|
_domain;
|
|
78164
78520
|
constructor(e = {}) {
|
|
78165
|
-
let { colors: t =
|
|
78166
|
-
this._palette = Ua(t.length > 0 ? t :
|
|
78521
|
+
let { colors: t = qz, domain: n = [0, 1], samples: r = 256 } = e, i = Math.max(2, Math.floor(r));
|
|
78522
|
+
this._palette = Ua(t.length > 0 ? t : qz, i), this._domain = [n[0], n[1]];
|
|
78167
78523
|
}
|
|
78168
78524
|
setDomainFromValues(e) {
|
|
78169
78525
|
let t = Infinity, n = -Infinity;
|
|
@@ -78179,7 +78535,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
|
|
|
78179
78535
|
let a = Math.round(i * (this._palette.length - 1));
|
|
78180
78536
|
return this._palette[a];
|
|
78181
78537
|
}
|
|
78182
|
-
},
|
|
78538
|
+
}, Yz = class extends Qh {
|
|
78183
78539
|
_projection;
|
|
78184
78540
|
_colorScale;
|
|
78185
78541
|
_regions = [];
|
|
@@ -78187,10 +78543,10 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
|
|
|
78187
78543
|
_regionPolygons = [];
|
|
78188
78544
|
constructor(e) {
|
|
78189
78545
|
super();
|
|
78190
|
-
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l =
|
|
78546
|
+
let { geojson: t, value: n, colorScale: r = ["#0d1b2a", "#4cc9f0"], domain: i, fillOpacity: a = 1, noDataColor: o = pe, borderColor: s = "#1b263b", borderWidth: c = 1, projection: l = Gz() } = e;
|
|
78191
78547
|
this._projection = l;
|
|
78192
78548
|
let u = t.features ?? [], d = u.map((e, t) => n(e, t));
|
|
78193
|
-
this._colorScale = new
|
|
78549
|
+
this._colorScale = new Jz({
|
|
78194
78550
|
colors: r,
|
|
78195
78551
|
domain: i
|
|
78196
78552
|
}), i || this._colorScale.setDomainFromValues(d.filter((e) => typeof e == "number" && Number.isFinite(e))), u.forEach((e, t) => {
|
|
@@ -78203,7 +78559,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
|
|
|
78203
78559
|
});
|
|
78204
78560
|
}
|
|
78205
78561
|
_buildRegion(e, t, n) {
|
|
78206
|
-
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i =
|
|
78562
|
+
let r = typeof t == "number" && Number.isFinite(t) ? this._colorScale.colorFor(t) : n.noDataColor, i = Uz(e.geometry), a = [];
|
|
78207
78563
|
for (let e of i) {
|
|
78208
78564
|
let t = this._buildPolygon(e, r, n);
|
|
78209
78565
|
t && a.push(t);
|
|
@@ -78212,7 +78568,7 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
|
|
|
78212
78568
|
this.add(o), this._regions.push(o), this._regionColors.push(r), this._regionPolygons.push(a);
|
|
78213
78569
|
}
|
|
78214
78570
|
_buildPolygon(e, t, n) {
|
|
78215
|
-
let r =
|
|
78571
|
+
let r = Zz(e);
|
|
78216
78572
|
if (r.length < 3) return null;
|
|
78217
78573
|
let i = new Gv({
|
|
78218
78574
|
vertices: r.map((e) => {
|
|
@@ -78248,15 +78604,15 @@ var Az = ["#0d1b2a", "#4cc9f0"], jz = class {
|
|
|
78248
78604
|
getColorScale() {
|
|
78249
78605
|
return this._colorScale;
|
|
78250
78606
|
}
|
|
78251
|
-
},
|
|
78252
|
-
function
|
|
78607
|
+
}, Xz = Yz;
|
|
78608
|
+
function Zz(e) {
|
|
78253
78609
|
if (e.length < 2) return e;
|
|
78254
78610
|
let t = e[0], n = e[e.length - 1];
|
|
78255
78611
|
return t[0] === n[0] && t[1] === n[1] ? e.slice(0, -1) : e;
|
|
78256
78612
|
}
|
|
78257
78613
|
//#endregion
|
|
78258
78614
|
//#region src/mobjects/geo/Globe.ts
|
|
78259
|
-
var
|
|
78615
|
+
var Qz = Math.PI / 180, $z = class extends Qh {
|
|
78260
78616
|
_radius;
|
|
78261
78617
|
_center;
|
|
78262
78618
|
_sphere;
|
|
@@ -78304,9 +78660,9 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
|
|
|
78304
78660
|
return [...this._plottedPoints];
|
|
78305
78661
|
}
|
|
78306
78662
|
arc(e, t, n = {}) {
|
|
78307
|
-
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c =
|
|
78663
|
+
let { segments: r = 64, color: i = "#ef476f", lineWidth: a = 2, altitude: o = 0 } = n, s = this._radius * (1 + o), c = eB(e[0], e[1]), l = eB(t[0], t[1]), u = rB(c[0] * l[0] + c[1] * l[1] + c[2] * l[2], -1, 1), d = Math.acos(u), f = Math.sin(d), p = [];
|
|
78308
78664
|
for (let e = 0; e <= r; e++) {
|
|
78309
|
-
let t =
|
|
78665
|
+
let t = tB(c, l, e / r, d, f);
|
|
78310
78666
|
p.push([
|
|
78311
78667
|
this._center[0] + s * t[0],
|
|
78312
78668
|
this._center[1] + s * t[1],
|
|
@@ -78323,8 +78679,8 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
|
|
|
78323
78679
|
}
|
|
78324
78680
|
graticule(e = {}) {
|
|
78325
78681
|
let { latStep: t = 30, lonStep: n = 30, segments: r = 48, color: i = "#8d99ae", lineWidth: a = 1 } = e, o = new Qh();
|
|
78326
|
-
for (let e = -180; e < 180; e += n) o.add(this._gridLine(
|
|
78327
|
-
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(
|
|
78682
|
+
for (let e = -180; e < 180; e += n) o.add(this._gridLine(iB(e, r), i, a));
|
|
78683
|
+
for (let e = -90 + t; e < 90; e += t) o.add(this._gridLine(aB(e, r), i, a));
|
|
78328
78684
|
return this.add(o), o;
|
|
78329
78685
|
}
|
|
78330
78686
|
_gridLine(e, t, n) {
|
|
@@ -78336,7 +78692,7 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
|
|
|
78336
78692
|
});
|
|
78337
78693
|
}
|
|
78338
78694
|
_surfacePoint(e, t, n) {
|
|
78339
|
-
let r =
|
|
78695
|
+
let r = eB(e, t);
|
|
78340
78696
|
return [
|
|
78341
78697
|
this._center[0] + n * r[0],
|
|
78342
78698
|
this._center[1] + n * r[1],
|
|
@@ -78344,16 +78700,16 @@ var Fz = Math.PI / 180, Iz = class extends Qh {
|
|
|
78344
78700
|
];
|
|
78345
78701
|
}
|
|
78346
78702
|
};
|
|
78347
|
-
function
|
|
78348
|
-
let n = e *
|
|
78703
|
+
function eB(e, t) {
|
|
78704
|
+
let n = e * Qz, r = t * Qz, i = Math.cos(n);
|
|
78349
78705
|
return [
|
|
78350
78706
|
i * Math.cos(r),
|
|
78351
78707
|
i * Math.sin(r),
|
|
78352
78708
|
Math.sin(n)
|
|
78353
78709
|
];
|
|
78354
78710
|
}
|
|
78355
|
-
function
|
|
78356
|
-
if (i < 1e-9) return
|
|
78711
|
+
function tB(e, t, n, r, i) {
|
|
78712
|
+
if (i < 1e-9) return nB([
|
|
78357
78713
|
e[0] + (t[0] - e[0]) * n,
|
|
78358
78714
|
e[1] + (t[1] - e[1]) * n,
|
|
78359
78715
|
e[2] + (t[2] - e[2]) * n
|
|
@@ -78365,7 +78721,7 @@ function Rz(e, t, n, r, i) {
|
|
|
78365
78721
|
e[2] * a + t[2] * o
|
|
78366
78722
|
];
|
|
78367
78723
|
}
|
|
78368
|
-
function
|
|
78724
|
+
function nB(e) {
|
|
78369
78725
|
let t = Math.sqrt(e[0] * e[0] + e[1] * e[1] + e[2] * e[2]) || 1;
|
|
78370
78726
|
return [
|
|
78371
78727
|
e[0] / t,
|
|
@@ -78373,44 +78729,44 @@ function zz(e) {
|
|
|
78373
78729
|
e[2] / t
|
|
78374
78730
|
];
|
|
78375
78731
|
}
|
|
78376
|
-
function
|
|
78732
|
+
function rB(e, t, n) {
|
|
78377
78733
|
return Math.max(t, Math.min(n, e));
|
|
78378
78734
|
}
|
|
78379
|
-
function
|
|
78735
|
+
function iB(e, t) {
|
|
78380
78736
|
let n = [];
|
|
78381
78737
|
for (let r = 0; r <= t; r++) n.push([-90 + 180 * r / t, e]);
|
|
78382
78738
|
return n;
|
|
78383
78739
|
}
|
|
78384
|
-
function
|
|
78740
|
+
function aB(e, t) {
|
|
78385
78741
|
let n = [];
|
|
78386
78742
|
for (let r = 0; r <= t; r++) n.push([e, -180 + 360 * r / t]);
|
|
78387
78743
|
return n;
|
|
78388
78744
|
}
|
|
78389
78745
|
//#endregion
|
|
78390
78746
|
//#region src/mobjects/ml/mlStyles.ts
|
|
78391
|
-
var
|
|
78747
|
+
var oB = {
|
|
78392
78748
|
color: be,
|
|
78393
78749
|
fillColor: be,
|
|
78394
78750
|
fillOpacity: .3,
|
|
78395
78751
|
strokeWidth: 2
|
|
78396
|
-
},
|
|
78752
|
+
}, sB = {
|
|
78397
78753
|
color: pe,
|
|
78398
78754
|
strokeWidth: 1.5,
|
|
78399
78755
|
opacity: .35
|
|
78400
|
-
},
|
|
78401
|
-
function
|
|
78756
|
+
}, cB = E;
|
|
78757
|
+
function lB(e, t) {
|
|
78402
78758
|
return {
|
|
78403
78759
|
...e,
|
|
78404
|
-
...
|
|
78760
|
+
...dB(t)
|
|
78405
78761
|
};
|
|
78406
78762
|
}
|
|
78407
|
-
function
|
|
78763
|
+
function uB(e, t) {
|
|
78408
78764
|
return {
|
|
78409
78765
|
...e,
|
|
78410
|
-
...
|
|
78766
|
+
...dB(t)
|
|
78411
78767
|
};
|
|
78412
78768
|
}
|
|
78413
|
-
function
|
|
78769
|
+
function dB(e) {
|
|
78414
78770
|
if (!e) return {};
|
|
78415
78771
|
let t = {};
|
|
78416
78772
|
for (let n of Object.keys(e)) e[n] !== void 0 && (t[n] = e[n]);
|
|
@@ -78418,7 +78774,7 @@ function Jz(e) {
|
|
|
78418
78774
|
}
|
|
78419
78775
|
//#endregion
|
|
78420
78776
|
//#region src/mobjects/ml/NeuralNetworkLayer.ts
|
|
78421
|
-
var
|
|
78777
|
+
var fB = class extends L {
|
|
78422
78778
|
_nodes = [];
|
|
78423
78779
|
normalizeTransform(e = this._ownMatrix()) {
|
|
78424
78780
|
return this._flattenAsContainer(e);
|
|
@@ -78432,14 +78788,14 @@ var Yz = class extends L {
|
|
|
78432
78788
|
nodeAnchors() {
|
|
78433
78789
|
return this._nodes.map((e) => e.getCenter());
|
|
78434
78790
|
}
|
|
78435
|
-
},
|
|
78791
|
+
}, pB = class extends fB {
|
|
78436
78792
|
_nodeRadius;
|
|
78437
78793
|
_nodeSpacing;
|
|
78438
78794
|
_nodeStyle;
|
|
78439
78795
|
constructor(e = {}) {
|
|
78440
78796
|
super();
|
|
78441
78797
|
let t = e.numNodes ?? 3, n = Math.max(0, Math.floor(t));
|
|
78442
|
-
this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle =
|
|
78798
|
+
this._nodeRadius = e.nodeRadius ?? .25, this._nodeSpacing = e.nodeSpacing ?? .7, this._nodeStyle = lB(oB, e.nodeStyle), this._buildNodes(n);
|
|
78443
78799
|
}
|
|
78444
78800
|
_buildNodes(e) {
|
|
78445
78801
|
if (e === 0) return;
|
|
@@ -78468,7 +78824,7 @@ var Yz = class extends L {
|
|
|
78468
78824
|
};
|
|
78469
78825
|
//#endregion
|
|
78470
78826
|
//#region src/mobjects/ml/featureMapStack.ts
|
|
78471
|
-
function
|
|
78827
|
+
function mB(e) {
|
|
78472
78828
|
let { numFeatureMaps: t, mapSize: n, offset: r, style: i } = e, a = Math.max(0, Math.floor(t)), o = a > 0 ? (a - 1) * r : 0, s = n + o, c = [];
|
|
78473
78829
|
for (let e = 0; e < a; e++) {
|
|
78474
78830
|
let t = -o / 2 + e * r, a = o / 2 - e * r, s = new l_({
|
|
@@ -78492,15 +78848,15 @@ function Zz(e) {
|
|
|
78492
78848
|
}
|
|
78493
78849
|
//#endregion
|
|
78494
78850
|
//#region src/mobjects/ml/ConvolutionalLayer.ts
|
|
78495
|
-
var
|
|
78851
|
+
var hB = class extends fB {
|
|
78496
78852
|
_width;
|
|
78497
78853
|
constructor(e = {}) {
|
|
78498
78854
|
super();
|
|
78499
|
-
let { nodes: t, width: n } =
|
|
78855
|
+
let { nodes: t, width: n } = mB({
|
|
78500
78856
|
numFeatureMaps: e.numFeatureMaps ?? 3,
|
|
78501
78857
|
mapSize: e.mapSize ?? .5,
|
|
78502
78858
|
offset: e.offset ?? .15,
|
|
78503
|
-
style:
|
|
78859
|
+
style: lB(oB, e.nodeStyle)
|
|
78504
78860
|
});
|
|
78505
78861
|
this._width = n;
|
|
78506
78862
|
for (let e of t) this._nodes.push(e), this.add(e);
|
|
@@ -78508,15 +78864,15 @@ var Qz = class extends Yz {
|
|
|
78508
78864
|
layerWidth() {
|
|
78509
78865
|
return this._width;
|
|
78510
78866
|
}
|
|
78511
|
-
},
|
|
78867
|
+
}, gB = class extends fB {
|
|
78512
78868
|
_width;
|
|
78513
78869
|
constructor(e = {}) {
|
|
78514
78870
|
super();
|
|
78515
|
-
let { nodes: t, width: n } =
|
|
78871
|
+
let { nodes: t, width: n } = mB({
|
|
78516
78872
|
numFeatureMaps: e.numFeatureMaps ?? 3,
|
|
78517
78873
|
mapSize: e.mapSize ?? .3,
|
|
78518
78874
|
offset: e.offset ?? .12,
|
|
78519
|
-
style:
|
|
78875
|
+
style: lB(oB, e.nodeStyle)
|
|
78520
78876
|
});
|
|
78521
78877
|
this._width = n;
|
|
78522
78878
|
for (let e of t) this._nodes.push(e), this.add(e);
|
|
@@ -78524,7 +78880,7 @@ var Qz = class extends Yz {
|
|
|
78524
78880
|
layerWidth() {
|
|
78525
78881
|
return this._width;
|
|
78526
78882
|
}
|
|
78527
|
-
},
|
|
78883
|
+
}, _B = class extends fB {
|
|
78528
78884
|
_cols;
|
|
78529
78885
|
_cellSize;
|
|
78530
78886
|
_grid;
|
|
@@ -78532,7 +78888,7 @@ var Qz = class extends Yz {
|
|
|
78532
78888
|
super();
|
|
78533
78889
|
let t = Math.max(0, Math.floor(e.rows ?? 3));
|
|
78534
78890
|
this._cols = Math.max(0, Math.floor(e.cols ?? 3)), this._cellSize = e.cellSize ?? .25;
|
|
78535
|
-
let n =
|
|
78891
|
+
let n = lB(oB, e.nodeStyle);
|
|
78536
78892
|
this._grid = this._buildGrid(t, this._cols, n), this.add(this._grid), t > 0 && this._cols > 0 && this._nodes.push(this._grid);
|
|
78537
78893
|
}
|
|
78538
78894
|
_buildGrid(e, t, n) {
|
|
@@ -78557,13 +78913,13 @@ var Qz = class extends Yz {
|
|
|
78557
78913
|
layerWidth() {
|
|
78558
78914
|
return Math.max(this._cols, 1) * this._cellSize;
|
|
78559
78915
|
}
|
|
78560
|
-
},
|
|
78916
|
+
}, vB = class extends L {
|
|
78561
78917
|
_layers;
|
|
78562
78918
|
_connections = [];
|
|
78563
78919
|
_stages = [];
|
|
78564
78920
|
_edgeStyle;
|
|
78565
78921
|
constructor(e = [], t = {}) {
|
|
78566
|
-
super(), this._layers = [...e], this._edgeStyle =
|
|
78922
|
+
super(), this._layers = [...e], this._edgeStyle = uB(sB, t.edgeStyle);
|
|
78567
78923
|
let n = t.layerSpacing ?? 1, r = t.connectAdjacent ?? !0;
|
|
78568
78924
|
this._placeLayers(n), r && this._buildConnections();
|
|
78569
78925
|
for (let e of this._connections) this.add(e);
|
|
@@ -78610,7 +78966,7 @@ var Qz = class extends Yz {
|
|
|
78610
78966
|
getConnectionStages() {
|
|
78611
78967
|
return this._stages.map((e) => [...e]);
|
|
78612
78968
|
}
|
|
78613
|
-
},
|
|
78969
|
+
}, yB = class extends z {
|
|
78614
78970
|
activation = 0;
|
|
78615
78971
|
_activationColor;
|
|
78616
78972
|
_peakOpacity;
|
|
@@ -78621,7 +78977,7 @@ var Qz = class extends Yz {
|
|
|
78621
78977
|
super(e, {
|
|
78622
78978
|
duration: t.duration ?? 1,
|
|
78623
78979
|
rateFunc: t.rateFunc ?? (t.restore ? Fo : void 0)
|
|
78624
|
-
}), this._activationColor = t.activationColor ??
|
|
78980
|
+
}), this._activationColor = t.activationColor ?? cB, this._peakOpacity = t.peakOpacity ?? 1, this._restore = t.restore ?? !1;
|
|
78625
78981
|
}
|
|
78626
78982
|
begin() {
|
|
78627
78983
|
super.begin(), this._baseOpacity = this.mobject.opacity, this._baseColor = this.mobject.color, this.activation = 0;
|
|
@@ -78637,12 +78993,12 @@ var Qz = class extends Yz {
|
|
|
78637
78993
|
this._restore ? (this.mobject.setStrokeOpacity(this._baseOpacity), this.mobject.setColor(this._baseColor), this.activation = 0) : this.activation = 1, this.mobject._markDirty(), super.finish();
|
|
78638
78994
|
}
|
|
78639
78995
|
};
|
|
78640
|
-
function
|
|
78641
|
-
return new
|
|
78996
|
+
function bB(e, t) {
|
|
78997
|
+
return new yB(e, t);
|
|
78642
78998
|
}
|
|
78643
78999
|
//#endregion
|
|
78644
79000
|
//#region src/mobjects/ml/forwardPass.ts
|
|
78645
|
-
function
|
|
79001
|
+
function xB(e, t, n) {
|
|
78646
79002
|
let r = e.getConnectionStages(), i = t ? [...r].reverse() : r, a = {
|
|
78647
79003
|
duration: n.gapDuration ?? 1,
|
|
78648
79004
|
activationColor: n.activationColor,
|
|
@@ -78650,13 +79006,13 @@ function iB(e, t, n) {
|
|
|
78650
79006
|
restore: n.restore,
|
|
78651
79007
|
rateFunc: n.rateFunc
|
|
78652
79008
|
};
|
|
78653
|
-
return i.map((e) => new og(e.map((e) => new
|
|
79009
|
+
return i.map((e) => new og(e.map((e) => new yB(e, a)), { lagRatio: 0 }));
|
|
78654
79010
|
}
|
|
78655
|
-
function
|
|
78656
|
-
return new jM(
|
|
79011
|
+
function SB(e, t = {}) {
|
|
79012
|
+
return new jM(xB(e, !1, t), { lagRatio: t.lagRatio ?? 1 });
|
|
78657
79013
|
}
|
|
78658
|
-
function
|
|
78659
|
-
return new jM(
|
|
79014
|
+
function CB(e, t = {}) {
|
|
79015
|
+
return new jM(xB(e, !0, t), { lagRatio: t.lagRatio ?? 1 });
|
|
78660
79016
|
}
|
|
78661
79017
|
//#endregion
|
|
78662
|
-
export { eR as $, ft as $_, ij as $a, iT as $c, Fy as $d, Ev as $f, St as $g, yr as $h, kM as $i, xC as $l, ss as $m, YP as $n, xk as $o, ng as $p, LN as $r, mD as $s, GI as $t, px as $u, az as A, me as A_, Ej as Aa, TE as Ac, _b as Ad, $v as Af, Xt as Ag, zo as Ah, ZM as Ai, aw as Al, Jp as Am, WF as An, dA as Ao, jg as Ap, tP as Ar, zD as As, wL as At, Zx as Au, Te as Av, AR as B, pe as B_, Tj as Ba, PT as Bc, Xy as Bd, Uv as Bf, on as Bg, co as Bh, qM as Bi, FC as Bl, Do as Bm, DF as Bn, Kk as Bo, hg as Bp, WN as Br, vD as Bs, fL as Bt, Rx as Bu, Ez as C, de as C_, Wj as Ca, EE as Cc, Vb as Cd, cy as Cf, _n as Cg, Io as Ch, rN as Ci, _w as Cl, Im as Cm, TI as Cn, AA as Co, l_ as Cp, lP as Cr, mO as Cs, _L as Ct, AS as Cu, Je as Cv, xz as D, _e as D_, Ij as Da, bE as Dc, Ob as Dd, ny as Df, dn as Dg, $o as Dh, eN as Di, uw as Dl, cm as Dm, uI as Dn, SA as Do, Pg as Dp, aP as Dr, sO as Ds, TL as Dt, vS as Du, Se as Dv, Tz as E, ge as E_, Nj as Ea, wE as Ec, Db as Ed, ry as Ef, Sn as Eg, es as Eh, nN as Ei, pw as El, um as Em, dI as En, wA as Eo, a_ as Ep, iP as Er, cO as Es, rL as Et, TS as Eu, De as Ev, ez as F, Be as F_, wj as Fa, XT as Fc, fb as Fd, Yv as Ff, sn as Fg, yo as Fh, zM as Fi, GC as Fl, Os as Fm, VF as Fn, tA as Fo, kg as Fp, ZN as Fr, wD as Fs, cL as Ft, Wx as Fu, Ie as Fv, _R as G, ue as G_, cj as Ga, mT as Gc, Qy as Gd, Bv as Gf, Ft as Gg, Na as Gh, AM as Gi, CC as Gl, jo as Gm, mF as Gn, Bk as Go, mg as Gp, BN as Gr, sD as Gs, DL as Gt, jx as Gu, OR as H, ce as H_, lj as Ha, OT as Hc, qy as Hd, zv as Hf, rn as Hg, I as Hh, PM as Hi, DC as Hl, Po as Hm, TF as Hn, Wk as Ho, _g as Hp, HN as Hr, _D as Hs, lL as Ht, Px as Hu, ZR as I, Ve as I_, Cj as Ia, GT as Ic, ub as Id, Gv as If, cn as Ig, bo as Ih, XM as Ii, UC as Il, Es as Im, HF as In, nA as Io, Dg as Ip, JN as Ir, ED as Is, oL as It, Ux as Iu, Le as Iv, vR as J, ke as J_, fj as Ja, uT as Jc, Ly as Jd, jv as Jf, Ct as Jg, kr as Jh, EM as Ji, NC as Jl, Ts as Jm, sF as Jn, Vk as Jo, dg as Jp, IN as Jr, pD as Js, pL as Jt, Cx as Ju, SR as K, Pe as K_, uj as Ka, dT as Kc, Zy as Kd, Lv as Kf, qt as Kg, La as Kh, SM as Ki, jC as Kl, Eo as Km, uF as Kn, zk as Ko, pg as Kp, PN as Kr, lD as Ks, kL as Kt, Tx as Ku, $R as L, He as L_, xj as La, qT as Lc, mb as Ld, qv as Lf, en as Lg, So as Lh, MM as Li, RC as Ll, z as Lm, PF as Ln, eA as Lo, wg as Lp, YN as Lr, DD as Ls, aL as Lt, Ix as Lu, Re as Lv, uz as M, pt as M_, bj as Ma, oE as Mc, gb as Md, Zv as Mf, tn as Mg, Ko as Mh, GM as Mi, tw as Ml, Kp as Mm, RF as Mn, lA as Mo, Eg as Mp, QN as Mr, FD as Ms, nL as Mt, Jx as Mu, E as Mv, lz as N, A as N_, gj as Na, eE as Nc, pb as Nd, Xv as Nf, Qt as Ng, Jo as Nh, UM as Ni, YC as Nl, Wp as Nm, zF as Nn, uA as No, Tg as Np, $N as Nr, TD as Ns, iL as Nt, qx as Nu, ze as Nv, mz as O, ve as O_, Pj as Oa, xE as Oc, Eb as Od, ty as Of, ln as Og, Qo as Oh, $M as Oi, sw as Ol, lm as Om, oI as On, yA as Oo, Ng as Op, eP as Or, lO as Os, gL as Ot, nS as Ou, Ce as Ov, QR as P, Ge as P_, vj as Pa, $T as Pc, db as Pd, Jv as Pf, Zt as Pg, vo as Ph, FM as Pi, qC as Pl, Hp as Pm, LF as Pn, iA as Po, Cg as Pp, XN as Pr, CD as Ps, AL as Pt, Xx as Pu, Fe as Pv, ZL as Q, k as Q_, nj as Qa, rT as Qc, Iy as Qd, Tv as Qf, Vt as Qg, br as Qh, DM as Qi, bC as Ql, is as Qm, JP as Qn, Ek as Qo, rg as Qp, zN as Qr, fD as Qs, XI as Qt, ux as Qu, NR as R, Ue as R_, _j as Ra, HT as Rc, Uy as Rd, Kv as Rf, $t as Rg, xo as Rh, BM as Ri, LC as Rl, Vo as Rm, NF as Rn, Xk as Ro, Og as Rp, KN as Rr, xD as Rs, bL as Rt, Bx as Ru, M as Rv, kz as S, bt as S_, Uj as Sa, DE as Sc, Yb as Sd, ly as Sf, vn as Sg, Lo as Sh, aN as Si, Tw as Sl, Rm as Sm, wI as Sn, jA as So, m_ as Sp, cP as Sr, uO as Ss, SL as St, FS as Su, qe as Sv, Sz as T, he as T_, Vj as Ta, SE as Tc, kb as Td, sy as Tf, mn as Tg, To as Th, tN as Ti, hw as Tl, sm as Tm, lI as Tn, DA as To, c_ as Tp, sP as Tr, hO as Ts, yL as Tt, wS as Tu, Xe as Tv, DR as U, le as U_, mj as Ua, pT as Uc, $y as Ud, Iv as Uf, nn as Ug, Ua as Uh, WM as Ui, EC as Ul, fs as Um, hF as Un, Uk as Uo, gg as Up, UN as Ur, hD as Us, dL as Ut, Nx as Uu, jR as V, D as V_, sj as Va, NT as Vc, Jy as Vd, Vv as Vf, an as Vg, L as Vh, KM as Vi, AC as Vl, vs as Vm, EF as Vn, Gk as Vo, ug as Vp, GN as Vr, yD as Vs, uL as Vt, Lx as Vu, yR as W, O as W_, dj as Wa, fT as Wc, eb as Wd, Rv as Wf, Et as Wg, Pa as Wh, jM as Wi, PC as Wl, Cs as Wm, pF as Wn, Lk as Wo, lg as Wp, MN as Wr, aD as Ws, EL as Wt, Mx as Wu, xR as X, je as X_, rj as Xa, cT as Xc, zy as Xd, Dv as Xf, Bt as Xg, Tr as Xh, CM as Xi, SC as Xl, R as Xm, ZP as Xn, Ik as Xo, og as Xp, VN as Xr, cD as Xs, ZI as Xt, fx as Xu, gR as Y, Ae as Y_, tj as Ya, sT as Yc, By as Yd, Mv as Yf, xt as Yg, Cr as Yh, OM as Yi, wC as Yl, ms as Ym, lF as Yn, Hk as Yo, cg as Yp, NN as Yr, oD as Ys, YI as Yt, Sx as Yu, bR as Z, Me as Z_, aj as Za, oT as Zc, Py as Zd, Ov as Zf, Ht as Zg, wr as Zh, TM as Zi, yC as Zl, ds as Zm, QP as Zn, Pk as Zo, sg as Zp, FN as Zr, uD as Zs, QI as Zt, dx as Zu, Iz as _, It as __, Qj as _a, UE as _c, Hb as _d, hy as _f, hn as _g, wo as _h, pN as _i, jw as _l, Lh as _m, jI as _n, FA as _o, E_ as _p, vP as _r, FO as _s, IL as _t, HS as _u, at as _v, tB as a, Kt as a_, vM as aa, IE as ac, nx as ad, Dy as af, In as ag, ts as ah, jN as ai, Qw as al, Zh as am, II as an, XA as ao, ev as ap, BP as ar, YO as as, fR as at, pC as au, P as av, jz as b, vt as b_, Kj as ba, ME as bc, Bb as bd, dy as bf, gn as bg, Bo as bh, sN as bi, ww as bl, sh as bm, yI as bn, kA as bo, h_ as bp, pP as br, fO as bs, mL as bt, MS as bu, N as bv, Qz as c, Rt as c_, sM as ca, BE as cc, ix as cd, Sy as cf, Hn as cg, No as ch, SN as ci, Jw as cl, Uh as cm, kI as cn, QA as co, V_ as cp, IP as cr, HO as cs, $L as ct, lC as cu, tt as cv, Yz as d, At as d_, tM as da, qE as dc, zb as dd, _y as df, Bn as dg, Mo as dh, hN as di, Gw as dl, Bh as dm, MI as dn, HA as do, M_ as dp, kP as dr, zO as ds, UL as dt, YS as du, ye as dv, zt as e_, hM as ea, eD as ec, mx as ed, Vy as ef, xr as eg, us as eh, EN as ei, nT as el, tg as em, KI as en, oj as eo, xv as ep, UP as er, yk as es, GL as et, vC as eu, fe as ev, Gz as f, Pt as f_, iM as fa, LE as fc, Ib as fd, by as ff, Mn as fg, Ao as fh, vN as fi, zw as fl, zh as fm, BI as fn, UA as fo, L_ as fp, xP as fr, UO as fs, WL as ft, KS as fu, Ne as fv, Kz as g, Dt as g_, eM as ga, GE as gc, Ub as gd, gy as gf, Cn as gg, Zo as gh, mN as gi, Pw as gl, Mh as gm, NI as gn, LA as go, T_ as gp, _P as gr, IO as gs, LL as gt, VS as gu, it as gv, qz as h, gt as h_, Zj as ha, VE as hc, Jb as hd, my as hf, a as hg, ns as hh, dN as hi, Fw as hl, Ph as hm, zI as hn, IA as ho, O_ as hp, bP as hr, LO as hs, RL as ht, qS as hu, rt as hv, rB as i, Ot as i_, yM as ia, KE as ic, lx as id, jy as if, Nn as ig, cs as ih, AN as ii, Zw as il, Xh as im, DI as in, ZA as io, dv as ip, zP as ir, XO as is, KL as it, mC as iu, Qe as iv, dz as j, xe as j_, Sj as ja, CE as jc, hb as jd, Qv as jf, Yt as jg, Fo as jh, YM as ji, iw as jl, Qp as jm, UF as jn, fA as jo, Ag as jp, rP as jr, BD as js, CL as jt, Yx as ju, Ee as jv, oz as k, j as k_, Lj as ka, yE as kc, Tb as kd, ey as kf, fn as kg, Go as kh, QM as ki, ow as kl, im as km, nI as kn, hA as ko, Mg as kp, nP as kr, qD as ks, ML as kt, $x as ku, we as kv, Zz as l, ht as l_, cM as la, WE as lc, Wb as ld, Cy as lf, Rn as lg, ps as lh, bN as li, qw as ll, Vh as lm, AI as ln, WA as lo, P_ as lp, PP as lr, WO as ls, VL as lt, eC as lu, dt as lv, Uz as m, Gt as m_, $j as ma, YE as mc, Fb as md, yy as mf, zn as mg, ls as mh, fN as mi, Rw as ml, Ih as mm, OI as mn, zA as mo, k_ as mp, yP as mr, VO as ms, BL as mt, JS as mu, ct as mv, aB as n, jt as n_, _M as na, tD as nc, ax as nd, Ay as nf, Sr as ng, ko as nh, kN as ni, eT as nl, $h as nm, WI as nn, qA as no, yv as np, LP as nr, dk as ns, tR as nt, gC as nu, mt as nv, eB as o, kt as o_, xM as oa, RE as oc, rx as od, Ey as of, Fn as og, Oo as oh, xN as oi, Xw as ol, Yh as om, LI as on, JA as oo, Q_ as op, RP as or, qO as os, dR as ot, dC as ou, $e as ov, Wz as p, Wt as p_, nM as pa, zE as pc, Lb as pd, vy as pf, Pn as pg, os as ph, _N as pi, Ww as pl, Wh as pm, FI as pn, RA as po, j_ as pp, wP as pr, BO as ps, zL as pt, WS as pu, Ze as pv, hR as q, Oe as q_, hj as qa, lT as qc, Ry as qd, Fv as qf, wt as qg, Bi as qh, wM as qi, TC as ql, bs as qm, dF as qn, Rk as qo, fg as qp, RN as qr, dD as qs, jL as qt, wx as qu, nB as r, Lt as r_, gM as ra, rD as rc, cx as rd, ky as rf, vr as rg, as as rh, ON as ri, $w as rl, Qh as rm, EI as rn, $A as ro, mv as rp, VP as rr, ek as rs, JL as rt, fC as ru, nt as rv, $z as s, Tt as s_, bM as sa, JE as sc, ox as sd, Ty as sf, Ln as sg, ys as sh, yN as si, Yw as sl, Gh as sm, VI as sn, ej as so, H_ as sp, NP as sr, GO as ss, QL as st, uC as su, et as sv, oB as t, _t as t_, mM as ta, nD as tc, tx as td, Oy as tf, _r as tg, rs as th, DN as ti, tT as tl, eg as tm, JI as tn, YA as to, gv as tp, WP as tr, vk as ts, qL as tt, hC as tu, ut as tv, Xz as u, Ut as u_, rM as ua, HE as uc, Rb as ud, xy as uf, Vn as ug, ws as uh, gN as ui, Kw as ul, Hh as um, RI as un, GA as uo, R_ as up, DP as ur, RO as us, HL as ut, tC as uu, lt as uv, Mz as v, Mt as v_, Jj as va, AE as vc, qb as vd, py as vf, wn as vg, Xo as vh, cN as vi, kw as vl, Fh as vm, PI as vn, PA as vo, D_ as vp, hP as vr, TO as vs, sL as vt, RS as vu, ot as vv, bz as w, be as w_, Bj as wa, kE as wc, Ab as wd, iy as wf, xn as wg, Wo as wh, iN as wi, yw as wl, hm as wm, fI as wn, EA as wo, u_ as wp, oP as wr, pO as ws, xL as wt, ES as wu, Ye as wv, Oz as x, yt as x_, qj as xa, OE as xc, Pb as xd, uy as xf, bn as xg, qo as xh, oN as xi, Ew as xl, Hm as xm, bI as xn, OA as xo, p_ as xp, mP as xr, dO as xs, OL as xt, NS as xu, Ke as xv, Nz as y, Nt as y_, Yj as ya, jE as yc, Kb as yd, fy as yf, yn as yg, Yo as yh, lN as yi, Dw as yl, Nh as ym, xI as yn, NA as yo, x_ as yp, gP as yr, EO as ys, hL as yt, LS as yu, st as yv, MR as z, We as z_, yj as za, BT as zc, Yy as zd, Wv as zf, Jt as zg, Co as zh, HM as zi, IC as zl, Ro as zm, IF as zn, qk as zo, vg as zp, qN as zr, bD as zs, vL as zt, zx as zu };
|
|
79018
|
+
export { _R as $, O as $_, dj as $a, fT as $c, eb as $d, Rv as $f, Et as $g, Pa as $h, jM as $i, PC as $l, Cs as $m, fF as $n, Lk as $o, lg as $p, MN as $r, aD as $s, cL as $t, Mx as $u, Sz as A, yt as A_, qj as Aa, OE as Ac, Pb as Ad, uy as Af, bn as Ag, qo as Ah, oN as Ai, Ew as Al, Hm as Am, sI as An, OA as Ao, p_ as Ap, mP as Ar, dO as As, VL as At, NS as Au, Ke as Av, qR as B, xe as B_, Sj as Ba, CE as Bc, hb as Bd, Qv as Bf, Yt as Bg, Fo as Bh, YM as Bi, iw as Bl, Qp as Bm, WF as Bn, fA as Bo, Ag as Bp, rP as Br, BD as Bs, kL as Bt, Yx as Bu, Ee as Bv, Uz as C, Gt as C_, $j as Ca, YE as Cc, Fb as Cd, yy as Cf, zn as Cg, ls as Ch, fN as Ci, Rw as Cl, Ih as Cm, HI as Cn, zA as Co, k_ as Cp, yP as Cr, VO as Cs, PL as Ct, JS as Cu, ct as Cv, Rz as D, Mt as D_, Jj as Da, AE as Dc, qb as Dd, py as Df, wn as Dg, Xo as Dh, cN as Di, kw as Dl, Fh as Dm, DI as Dn, PA as Do, D_ as Dp, hP as Dr, TO as Ds, HL as Dt, RS as Du, ot as Dv, Hz as E, It as E_, Qj as Ea, UE as Ec, Hb as Ed, hy as Ef, hn as Eg, wo as Eh, pN as Ei, jw as El, Lh as Em, OI as En, FA as Eo, E_ as Ep, vP as Er, FO as Es, bL as Et, HS as Eu, at as Ev, _z as F, ge as F_, Nj as Fa, wE as Fc, Db as Fd, ry as Ff, Sn as Fg, es as Fh, nN as Fi, pw as Fl, um as Fm, iI as Fn, wA as Fo, a_ as Fp, iP as Fr, cO as Fs, TL as Ft, TS as Fu, De as Fv, PR as G, Ve as G_, Cj as Ga, GT as Gc, ub as Gd, Gv as Gf, cn as Gg, bo as Gh, XM as Gi, UC as Gl, Es as Gm, jF as Gn, nA as Go, Dg as Gp, JN as Gr, ED as Gs, WL as Gt, Ux as Gu, Le as Gv, GR as H, A as H_, gj as Ha, eE as Hc, pb as Hd, Xv as Hf, Qt as Hg, Jo as Hh, UM as Hi, YC as Hl, Wp as Hm, HF as Hn, uA as Ho, Tg as Hp, $N as Hr, TD as Hs, EL as Ht, qx as Hu, ze as Hv, mz as I, _e as I_, Ij as Ia, bE as Ic, Ob as Id, ny as If, dn as Ig, $o as Ih, eN as Ii, uw as Il, cm as Im, aI as In, SA as Io, Pg as Ip, aP as Ir, sO as Is, CL as It, vS as Iu, Se as Iv, FR as J, We as J_, yj as Ja, BT as Jc, Yy as Jd, Wv as Jf, Jt as Jg, Co as Jh, HM as Ji, IC as Jl, Ro as Jm, wF as Jn, qk as Jo, vg as Jp, qN as Jr, bD as Js, AL as Jt, zx as Ju, zR as K, He as K_, xj as Ka, qT as Kc, mb as Kd, qv as Kf, en as Kg, So as Kh, MM as Ki, RC as Kl, z as Km, DF as Kn, eA as Ko, wg as Kp, YN as Kr, DD as Ks, KL as Kt, Ix as Ku, Re as Kv, gz as L, ve as L_, Pj as La, xE as Lc, Eb as Ld, ty as Lf, ln as Lg, Qo as Lh, $M as Li, sw as Ll, lm as Lm, ZF as Ln, yA as Lo, Ng as Lp, eP as Lr, lO as Ls, SL as Lt, nS as Lu, Ce as Lv, Dz as M, de as M_, Wj as Ma, EE as Mc, Vb as Md, cy as Mf, _n as Mg, Io as Mh, rN as Mi, _w as Ml, Im as Mm, tI as Mn, AA as Mo, l_ as Mp, lP as Mr, mO as Ms, yL as Mt, AS as Mu, Je as Mv, Ez as N, be as N_, Bj as Na, kE as Nc, Ab as Nd, iy as Nf, xn as Ng, Wo as Nh, iN as Ni, yw as Nl, hm as Nm, nI as Nn, EA as No, u_ as Np, oP as Nr, pO as Ns, xL as Nt, ES as Nu, Ye as Nv, jz as O, Nt as O_, Yj as Oa, jE as Oc, Kb as Od, fy as Of, yn as Og, Yo as Oh, lN as Oi, Dw as Ol, Nh as Om, CI as On, NA as Oo, x_ as Op, gP as Or, EO as Os, NL as Ot, LS as Ou, st as Ov, hz as P, he as P_, Vj as Pa, SE as Pc, kb as Pd, sy as Pf, mn as Pg, To as Ph, tN as Pi, hw as Pl, sm as Pm, eI as Pn, DA as Po, c_ as Pp, sP as Pr, hO as Ps, qL as Pt, wS as Pu, Xe as Pv, mR as Q, le as Q_, mj as Qa, pT as Qc, $y as Qd, Iv as Qf, nn as Qg, Ua as Qh, WM as Qi, EC as Ql, fs as Qm, dF as Qn, Uk as Qo, gg as Qp, UN as Qr, hD as Qs, pL as Qt, Nx as Qu, XR as R, j as R_, Lj as Ra, yE as Rc, Tb as Rd, ey as Rf, fn as Rg, Go as Rh, QM as Ri, ow as Rl, im as Rm, XF as Rn, hA as Ro, Mg as Rp, nP as Rr, qD as Rs, LL as Rt, $x as Ru, we as Rv, Kz as S, Wt as S_, nM as Sa, zE as Sc, Lb as Sd, vy as Sf, Pn as Sg, os as Sh, _N as Si, Ww as Sl, Wh as Sm, VI as Sn, RA as So, j_ as Sp, wP as Sr, BO as Ss, zL as St, WS as Su, Ze as Sv, zz as T, Dt as T_, eM as Ta, GE as Tc, Ub as Td, gy as Tf, Cn as Tg, Zo as Th, mN as Ti, Pw as Tl, Mh as Tm, EI as Tn, LA as To, T_ as Tp, _P as Tr, IO as Ts, IL as Tt, VS as Tu, it as Tv, WR as U, Ge as U_, vj as Ua, $T as Uc, db as Ud, Jv as Uf, Zt as Ug, vo as Uh, FM as Ui, qC as Ul, Hp as Um, MF as Un, iA as Uo, Cg as Up, XN as Ur, CD as Us, OL as Ut, Xx as Uu, Fe as Uv, JR as V, pt as V_, bj as Va, oE as Vc, gb as Vd, Zv as Vf, tn as Vg, Ko as Vh, GM as Vi, tw as Vl, Kp as Vm, UF as Vn, lA as Vo, Eg as Vp, QN as Vr, FD as Vs, DL as Vt, Jx as Vu, E as Vv, IR as W, Be as W_, wj as Wa, XT as Wc, fb as Wd, Yv as Wf, sn as Wg, yo as Wh, zM as Wi, GC as Wl, Os as Wm, AF as Wn, tA as Wo, kg as Wp, ZN as Wr, wD as Ws, UL as Wt, Wx as Wu, Ie as Wv, RR as X, D as X_, sj as Xa, NT as Xc, Jy as Xd, Vv as Xf, an as Xg, L as Xh, KM as Xi, AC as Xl, vs as Xm, mF as Xn, Gk as Xo, ug as Xp, GN as Xr, yD as Xs, mL as Xt, Lx as Xu, NR as Y, pe as Y_, Tj as Ya, PT as Yc, Xy as Yd, Uv as Yf, on as Yg, co as Yh, qM as Yi, FC as Yl, Do as Ym, EF as Yn, Kk as Yo, hg as Yp, WN as Yr, vD as Ys, fL as Yt, Rx as Yu, LR as Z, ce as Z_, lj as Za, OT as Zc, qy as Zd, zv as Zf, rn as Zg, I as Zh, PM as Zi, DC as Zl, Po as Zm, hF as Zn, Wk as Zo, _g as Zp, HN as Zr, _D as Zs, hL as Zt, Px as Zu, $z as _, Rt as __, sM as _a, BE as _c, ix as _d, Sy as _f, Hn as _g, No as _h, SN as _i, Jw as _l, Uh as _m, JI as _n, QA as _o, V_ as _p, IP as _r, HO as _s, $L as _t, lC as _u, tt as _v, vB as a, Bt as a_, CM as aa, cD as ac, fx as ad, zy as af, Tr as ag, R as ah, VN as ai, cT as al, og as am, $I as an, rj as ao, Dv as ap, tF as ar, Ik as as, kR as at, SC as au, je as av, Jz as b, At as b_, tM as ba, qE as bc, zb as bd, _y as bf, Bn as bg, Mo as bh, hN as bi, Gw as bl, Bh as bm, II as bn, HA as bo, M_ as bp, kP as br, zO as bs, jL as bt, YS as bu, ye as bv, hB as c, St as c_, kM as ca, mD as cc, px as cd, Fy as cf, yr as cg, ss as ch, LN as ci, iT as cl, ng as cm, KI as cn, ij as co, Ev as cp, KP as cr, xk as cs, gR as ct, xC as cu, ft as cv, fB as d, jt as d_, _M as da, tD as dc, ax as dd, Ay as df, Sr as dg, ko as dh, kN as di, eT as dl, $h as dm, YI as dn, qA as do, yv as dp, LP as dr, dk as ds, oR as dt, gC as du, mt as dv, Ft as e_, AM as ea, sD as ec, jx as ed, Qy as ef, Na as eg, jo as eh, BN as ei, mT as el, mg as em, lL as en, cj as eo, Bv as ep, oF as er, Bk as es, cR as et, CC as eu, ue as ev, cB as f, Lt as f_, gM as fa, rD as fc, cx as fd, ky as ff, vr as fg, as as fh, ON as fi, $w as fl, Qh as fm, rL as fn, $A as fo, mv as fp, VP as fr, ek as fs, sR as ft, fC as fu, nt as fv, lB as g, Tt as g_, bM as ga, JE as gc, ox as gd, Ty as gf, Ln as gg, ys as gh, yN as gi, Yw as gl, Gh as gm, XI as gn, ej as go, H_ as gp, NP as gr, GO as gs, eR as gt, uC as gu, et as gv, uB as h, kt as h_, xM as ha, RE as hc, rx as hd, Ey as hf, Fn as hg, Oo as hh, xN as hi, Xw as hl, Yh as hm, nL as hn, JA as ho, Q_ as hp, RP as hr, qO as hs, tR as ht, dC as hu, $e as hv, bB as i, xt as i_, OM as ia, oD as ic, Sx as id, By as if, Cr as ig, ms as ih, NN as ii, sT as il, cg as im, WI as in, tj as io, Mv as ip, JP as ir, Hk as is, lR as it, wC as iu, Ae as iv, Oz as j, bt as j_, Uj as ja, DE as jc, Yb as jd, ly as jf, vn as jg, Lo as jh, aN as ji, Tw as jl, Rm as jm, oI as jn, jA as jo, m_ as jp, cP as jr, uO as js, BL as jt, FS as ju, qe as jv, Cz as k, vt as k_, Kj as ka, ME as kc, Bb as kd, dy as kf, gn as kg, Bo as kh, sN as ki, ww as kl, sh as km, yI as kn, kA as ko, h_ as kp, pP as kr, fO as ks, YL as kt, MS as ku, N as kv, mB as l, zt as l_, hM as la, eD as lc, mx as ld, Vy as lf, xr as lg, us as lh, EN as li, nT as ll, tg as lm, qI as ln, oj as lo, xv as lp, qP as lr, yk as ls, iR as lt, vC as lu, fe as lv, oB as m, Kt as m_, vM as ma, IE as mc, nx as md, Dy as mf, In as mg, ts as mh, jN as mi, Qw as ml, Zh as mm, GI as mn, XA as mo, ev as mp, BP as mr, YO as ms, rR as mt, pC as mu, P as mv, SB as n, wt as n_, wM as na, dD as nc, wx as nd, Ry as nf, Bi as ng, bs as nh, RN as ni, lT as nl, fg as nm, sL as nn, hj as no, Fv as np, nF as nr, Rk as ns, vR as nt, TC as nu, Oe as nv, _B as o, Ht as o_, TM as oa, uD as oc, dx as od, Py as of, wr as og, ds as oh, FN as oi, oT as ol, sg as om, eL as on, aj as oo, Ov as op, iF as or, Pk as os, OR as ot, yC as ou, Me as ov, sB as p, Ot as p_, yM as pa, KE as pc, lx as pd, jy as pf, Nn as pg, cs as ph, AN as pi, Zw as pl, Xh as pm, QI as pn, ZA as po, dv as pp, zP as pr, XO as ps, nR as pt, mC as pu, Qe as pv, MR as q, Ue as q_, _j as qa, HT as qc, Uy as qd, Kv as qf, $t as qg, xo as qh, BM as qi, LC as ql, Vo as qm, OF as qn, Xk as qo, Og as qp, KN as qr, xD as qs, JL as qt, Bx as qu, M as qv, yB as r, Ct as r_, EM as ra, pD as rc, Cx as rd, Ly as rf, kr as rg, Ts as rh, IN as ri, uT as rl, dg as rm, UI as rn, fj as ro, jv as rp, YP as rr, Vk as rs, dR as rt, NC as ru, ke as rv, gB as s, Vt as s_, DM as sa, fD as sc, ux as sd, Iy as sf, br as sg, is as sh, zN as si, rT as sl, rg as sm, iL as sn, nj as so, Tv as sp, QP as sr, Ek as ss, hR as st, bC as su, k as sv, CB as t, qt as t_, SM as ta, lD as tc, Tx as td, Zy as tf, La as tg, Eo as th, PN as ti, dT as tl, pg as tm, dL as tn, uj as to, Lv as tp, sF as tr, zk as ts, uR as tt, jC as tu, Pe as tv, pB as u, _t as u_, mM as ua, nD as uc, tx as ud, Oy as uf, _r as ug, rs as uh, DN as ui, tT as ul, eg as um, tL as un, YA as uo, gv as up, UP as ur, vk as us, aR as ut, hC as uu, ut as uv, Yz as v, ht as v_, cM as va, WE as vc, Wb as vd, Cy as vf, Rn as vg, ps as vh, bN as vi, qw as vl, Vh as vm, ZI as vn, WA as vo, P_ as vp, PP as vr, WO as vs, wL as vt, eC as vu, dt as vv, Lz as w, gt as w_, Zj as wa, VE as wc, Jb as wd, my as wf, a as wg, ns as wh, dN as wi, Fw as wl, Ph as wm, kI as wn, IA as wo, O_ as wp, bP as wr, LO as ws, RL as wt, qS as wu, rt as wv, Gz as x, Pt as x_, iM as xa, LE as xc, Ib as xd, by as xf, Mn as xg, Ao as xh, vN as xi, zw as xl, zh as xm, LI as xn, UA as xo, L_ as xp, xP as xr, UO as xs, GL as xt, KS as xu, Ne as xv, Xz as y, Ut as y_, rM as ya, HE as yc, Rb as yd, xy as yf, Vn as yg, ws as yh, gN as yi, Kw as yl, Hh as ym, RI as yn, GA as yo, R_ as yp, DP as yr, RO as ys, ML as yt, tC as yu, lt as yv, YR as z, me as z_, Ej as za, TE as zc, _b as zd, $v as zf, Xt as zg, zo as zh, ZM as zi, aw as zl, Jp as zm, $F as zn, dA as zo, jg as zp, tP as zr, zD as zs, FL as zt, Zx as zu, Te as zv };
|