@vouchfor/embeds 1.3.2 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/es/embeds.js +1138 -11
- package/dist/es/embeds.js.map +1 -1
- package/dist/es/src/components/DialogEmbed/DialogOverlay.d.ts +2 -1
- package/dist/es/src/components/DialogEmbed/DialogPortal.d.ts +2 -1
- package/dist/es/src/components/DialogEmbed/index.d.ts +3 -1
- package/dist/es/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +1 -1
- package/dist/es/src/components/PlayerEmbed/index.d.ts +3 -2
- package/dist/es/src/components/PlayerEmbed/tests/data.d.ts +1 -1
- package/dist/iife/dialog-embed/embed.iife.js +363 -334
- package/dist/iife/dialog-embed/embed.iife.js.map +1 -1
- package/dist/iife/embeds.iife.js +362 -333
- package/dist/iife/embeds.iife.js.map +1 -1
- package/dist/iife/player-embed/embed.iife.js +346 -317
- package/dist/iife/player-embed/embed.iife.js.map +1 -1
- package/package.json +34 -30
- package/src/components/PlayerEmbed/controllers/tracking/utils.ts +1 -1
- package/src/components/PlayerEmbed/tests/data.ts +1 -1
- package/dist/es/browser-1b4c09f1.js +0 -733
- package/dist/es/browser-1b4c09f1.js.map +0 -1
- package/dist/es/index-37e10211.js +0 -4599
- package/dist/es/index-37e10211.js.map +0 -1
- package/dist/iife/dialog-embed/browser-aef6773c.js +0 -433
- package/dist/iife/dialog-embed/browser-aef6773c.js.map +0 -1
- package/dist/iife/dialog-embed/embed.js +0 -5
- package/dist/iife/dialog-embed/embed.js.map +0 -1
- package/dist/iife/dialog-embed/index-98ee90b7.js +0 -27151
- package/dist/iife/dialog-embed/index-98ee90b7.js.map +0 -1
- package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogOverlay.d.ts +0 -19
- package/dist/iife/dialog-embed/src/components/DialogEmbed/DialogPortal.d.ts +0 -35
- package/dist/iife/dialog-embed/src/components/DialogEmbed/index.d.ts +0 -36
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +0 -15
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +0 -14
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +0 -36
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +0 -17
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/index.d.ts +0 -73
- package/dist/iife/dialog-embed/src/components/PlayerEmbed/tests/data.d.ts +0 -3
- package/dist/iife/dialog-embed/src/index.d.ts +0 -2
- package/dist/iife/dialog-embed/src/utils/env.d.ts +0 -12
- package/dist/iife/dialog-embed/src/utils/events.d.ts +0 -2
- package/dist/iife/player-embed/browser-3fc50faa.js +0 -433
- package/dist/iife/player-embed/browser-3fc50faa.js.map +0 -1
- package/dist/iife/player-embed/embed.js +0 -5
- package/dist/iife/player-embed/embed.js.map +0 -1
- package/dist/iife/player-embed/index-ec0750d4.js +0 -26706
- package/dist/iife/player-embed/index-ec0750d4.js.map +0 -1
- package/dist/iife/player-embed/src/components/DialogEmbed/DialogOverlay.d.ts +0 -19
- package/dist/iife/player-embed/src/components/DialogEmbed/DialogPortal.d.ts +0 -35
- package/dist/iife/player-embed/src/components/DialogEmbed/index.d.ts +0 -36
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/event-forwarder.d.ts +0 -15
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/fetcher.d.ts +0 -14
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/index.d.ts +0 -36
- package/dist/iife/player-embed/src/components/PlayerEmbed/controllers/tracking/utils.d.ts +0 -17
- package/dist/iife/player-embed/src/components/PlayerEmbed/index.d.ts +0 -73
- package/dist/iife/player-embed/src/components/PlayerEmbed/tests/data.d.ts +0 -3
- package/dist/iife/player-embed/src/index.d.ts +0 -2
- package/dist/iife/player-embed/src/utils/env.d.ts +0 -12
- package/dist/iife/player-embed/src/utils/events.d.ts +0 -2
@@ -1,4599 +0,0 @@
|
|
1
|
-
import { css, LitElement, html } from "lit";
|
2
|
-
import { property, state, customElement } from "lit/decorators.js";
|
3
|
-
import { ifDefined } from "lit/directives/if-defined.js";
|
4
|
-
import { createRef, ref } from "lit/directives/ref.js";
|
5
|
-
import { Task } from "@lit/task";
|
6
|
-
import { v4 } from "uuid";
|
7
|
-
import "@vouchfor/media-player";
|
8
|
-
import { styleMap } from "lit/directives/style-map.js";
|
9
|
-
import { classMap } from "lit/directives/class-map.js";
|
10
|
-
import "@a11y/focus-trap";
|
11
|
-
function forwardEvent(type2, fromElement, toElement) {
|
12
|
-
function forwarder(event) {
|
13
|
-
toElement.dispatchEvent(new CustomEvent(event.type, event));
|
14
|
-
}
|
15
|
-
fromElement.addEventListener(type2, forwarder);
|
16
|
-
return () => {
|
17
|
-
fromElement.removeEventListener(type2, forwarder);
|
18
|
-
};
|
19
|
-
}
|
20
|
-
class EventForwardController {
|
21
|
-
constructor(host, events) {
|
22
|
-
this._events = [];
|
23
|
-
this._cleanup = [];
|
24
|
-
this._forwardElementRef = createRef();
|
25
|
-
this.host = host;
|
26
|
-
this._events = events;
|
27
|
-
host.addController(this);
|
28
|
-
}
|
29
|
-
register() {
|
30
|
-
return ref(this._forwardElementRef);
|
31
|
-
}
|
32
|
-
hostConnected() {
|
33
|
-
requestAnimationFrame(() => {
|
34
|
-
this._events.forEach((event) => {
|
35
|
-
if (this._forwardElementRef.value) {
|
36
|
-
this._cleanup.push(forwardEvent(event, this._forwardElementRef.value, this.host));
|
37
|
-
}
|
38
|
-
});
|
39
|
-
});
|
40
|
-
}
|
41
|
-
hostDisconnected() {
|
42
|
-
this._cleanup.forEach((fn) => {
|
43
|
-
fn();
|
44
|
-
});
|
45
|
-
this._cleanup = [];
|
46
|
-
}
|
47
|
-
}
|
48
|
-
const devVideoUrl = "https://d2rxhdlm2q91uk.cloudfront.net";
|
49
|
-
const stagingVideoUrl = "https://d1ix11aj5kfygl.cloudfront.net";
|
50
|
-
const prodVideoUrl = "https://d157jlwnudd93d.cloudfront.net";
|
51
|
-
const devPublicApiUrl = "https://bshyfw4h5a.execute-api.ap-southeast-2.amazonaws.com/dev";
|
52
|
-
const stagingPublicApiUrl = "https://gyzw7rpbq3.execute-api.ap-southeast-2.amazonaws.com/staging";
|
53
|
-
const prodPublicApiUrl = "https://vfcjuim1l3.execute-api.ap-southeast-2.amazonaws.com/prod";
|
54
|
-
const localEmbedApiUrl = "http://localhost:6060/v2";
|
55
|
-
const devEmbedApiUrl = "https://embed-dev.vouchfor.com/v2";
|
56
|
-
const stagingEmbedApiUrl = "https://embed-staging.vouchfor.com/v2";
|
57
|
-
const prodEmbedApiUrl = "https://embed.vouchfor.com/v2";
|
58
|
-
function getEnvUrls(env) {
|
59
|
-
if (!["local", "dev", "staging", "prod"].includes(env)) {
|
60
|
-
throw new Error(`Unknown environment: ${env}`);
|
61
|
-
}
|
62
|
-
if (env === "local") {
|
63
|
-
return {
|
64
|
-
videoUrl: devVideoUrl,
|
65
|
-
publicApiUrl: devPublicApiUrl,
|
66
|
-
embedApiUrl: localEmbedApiUrl
|
67
|
-
};
|
68
|
-
}
|
69
|
-
if (env === "dev") {
|
70
|
-
return {
|
71
|
-
videoUrl: devVideoUrl,
|
72
|
-
publicApiUrl: devPublicApiUrl,
|
73
|
-
embedApiUrl: devEmbedApiUrl
|
74
|
-
};
|
75
|
-
}
|
76
|
-
if (env === "staging") {
|
77
|
-
return {
|
78
|
-
videoUrl: stagingVideoUrl,
|
79
|
-
publicApiUrl: stagingPublicApiUrl,
|
80
|
-
embedApiUrl: stagingEmbedApiUrl
|
81
|
-
};
|
82
|
-
}
|
83
|
-
if (env === "prod") {
|
84
|
-
return {
|
85
|
-
videoUrl: prodVideoUrl,
|
86
|
-
publicApiUrl: prodPublicApiUrl,
|
87
|
-
embedApiUrl: prodEmbedApiUrl
|
88
|
-
};
|
89
|
-
}
|
90
|
-
}
|
91
|
-
class FetcherController {
|
92
|
-
constructor(host) {
|
93
|
-
this._fetching = false;
|
94
|
-
this.getVouch = async (env, apiKey, vouchId) => {
|
95
|
-
var _a;
|
96
|
-
const { embedApiUrl } = getEnvUrls(env);
|
97
|
-
const cacheCheck = v4();
|
98
|
-
const res = await fetch(`${embedApiUrl}/vouches/${vouchId}`, {
|
99
|
-
method: "GET",
|
100
|
-
headers: [
|
101
|
-
["X-Api-Key", apiKey],
|
102
|
-
["X-Cache-Check", cacheCheck]
|
103
|
-
]
|
104
|
-
});
|
105
|
-
const vouch = await res.json();
|
106
|
-
this.host.dispatchEvent(new CustomEvent("vouch:loaded", { detail: vouch == null ? void 0 : vouch.id }));
|
107
|
-
const resCacheCheck = (_a = res == null ? void 0 : res.headers) == null ? void 0 : _a.get("X-Cache-Check");
|
108
|
-
if (resCacheCheck !== cacheCheck) {
|
109
|
-
fetch(`${embedApiUrl}/vouches/${vouchId}`, {
|
110
|
-
method: "GET",
|
111
|
-
headers: [
|
112
|
-
["X-Api-Key", apiKey],
|
113
|
-
["Cache-Control", "max-age=0"]
|
114
|
-
]
|
115
|
-
});
|
116
|
-
}
|
117
|
-
return vouch;
|
118
|
-
};
|
119
|
-
this.getTemplate = async (env, apiKey, templateId) => {
|
120
|
-
var _a;
|
121
|
-
const { embedApiUrl } = getEnvUrls(env);
|
122
|
-
const cacheCheck = v4();
|
123
|
-
const res = await fetch(`${embedApiUrl}/templates/${templateId}`, {
|
124
|
-
method: "GET",
|
125
|
-
headers: [
|
126
|
-
["X-Api-Key", apiKey],
|
127
|
-
["X-Cache-Check", cacheCheck]
|
128
|
-
]
|
129
|
-
});
|
130
|
-
const template2 = await res.json();
|
131
|
-
const resCacheCheck = (_a = res == null ? void 0 : res.headers) == null ? void 0 : _a.get("X-Cache-Check");
|
132
|
-
if (resCacheCheck !== cacheCheck) {
|
133
|
-
fetch(`${embedApiUrl}/templates/${templateId}`, {
|
134
|
-
method: "GET",
|
135
|
-
headers: [
|
136
|
-
["X-Api-Key", apiKey],
|
137
|
-
["Cache-Control", "max-age=0"]
|
138
|
-
]
|
139
|
-
});
|
140
|
-
}
|
141
|
-
return template2;
|
142
|
-
};
|
143
|
-
this.host = host;
|
144
|
-
new Task(
|
145
|
-
this.host,
|
146
|
-
async ([env, apiKey, data, vouchId, templateId]) => {
|
147
|
-
var _a, _b, _c, _d;
|
148
|
-
try {
|
149
|
-
host.vouch = void 0;
|
150
|
-
host.template = void 0;
|
151
|
-
if (data) {
|
152
|
-
let template2;
|
153
|
-
if (templateId) {
|
154
|
-
this.fetching = true;
|
155
|
-
template2 = await this.getTemplate(env, apiKey, templateId);
|
156
|
-
}
|
157
|
-
this._vouch = data;
|
158
|
-
host.template = template2 ?? ((_b = (_a = data == null ? void 0 : data.settings) == null ? void 0 : _a.template) == null ? void 0 : _b.instance);
|
159
|
-
} else if (vouchId) {
|
160
|
-
this.fetching = true;
|
161
|
-
const [vouch, template2] = await Promise.all([
|
162
|
-
this.getVouch(env, apiKey, vouchId),
|
163
|
-
templateId ? this.getTemplate(env, apiKey, templateId) : null
|
164
|
-
]);
|
165
|
-
this._vouch = vouch;
|
166
|
-
host.template = template2 ?? ((_d = (_c = vouch == null ? void 0 : vouch.settings) == null ? void 0 : _c.template) == null ? void 0 : _d.instance);
|
167
|
-
}
|
168
|
-
} finally {
|
169
|
-
this.fetching = false;
|
170
|
-
}
|
171
|
-
},
|
172
|
-
() => [host.env, host.apiKey, host.data, host.vouchId, host.templateId]
|
173
|
-
);
|
174
|
-
new Task(
|
175
|
-
this.host,
|
176
|
-
([vouch, questions]) => {
|
177
|
-
host.vouch = vouch ? {
|
178
|
-
...vouch,
|
179
|
-
questions: {
|
180
|
-
items: vouch == null ? void 0 : vouch.questions.items.filter((_, index) => !(questions == null ? void 0 : questions.length) || (questions == null ? void 0 : questions.includes(index + 1)))
|
181
|
-
}
|
182
|
-
} : void 0;
|
183
|
-
},
|
184
|
-
() => [this._vouch, host.questions]
|
185
|
-
);
|
186
|
-
}
|
187
|
-
set fetching(value) {
|
188
|
-
if (this._fetching !== value) {
|
189
|
-
this._fetching = value;
|
190
|
-
this.host.requestUpdate();
|
191
|
-
}
|
192
|
-
}
|
193
|
-
get fetching() {
|
194
|
-
return this._fetching;
|
195
|
-
}
|
196
|
-
}
|
197
|
-
const copyProperty$1 = (to, from, property2, ignoreNonConfigurable) => {
|
198
|
-
if (property2 === "length" || property2 === "prototype") {
|
199
|
-
return;
|
200
|
-
}
|
201
|
-
if (property2 === "arguments" || property2 === "caller") {
|
202
|
-
return;
|
203
|
-
}
|
204
|
-
const toDescriptor = Object.getOwnPropertyDescriptor(to, property2);
|
205
|
-
const fromDescriptor = Object.getOwnPropertyDescriptor(from, property2);
|
206
|
-
if (!canCopyProperty$1(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
|
207
|
-
return;
|
208
|
-
}
|
209
|
-
Object.defineProperty(to, property2, fromDescriptor);
|
210
|
-
};
|
211
|
-
const canCopyProperty$1 = function(toDescriptor, fromDescriptor) {
|
212
|
-
return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
|
213
|
-
};
|
214
|
-
const changePrototype$1 = (to, from) => {
|
215
|
-
const fromPrototype = Object.getPrototypeOf(from);
|
216
|
-
if (fromPrototype === Object.getPrototypeOf(to)) {
|
217
|
-
return;
|
218
|
-
}
|
219
|
-
Object.setPrototypeOf(to, fromPrototype);
|
220
|
-
};
|
221
|
-
const wrappedToString$1 = (withName, fromBody) => `/* Wrapped ${withName}*/
|
222
|
-
${fromBody}`;
|
223
|
-
const toStringDescriptor$1 = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
|
224
|
-
const toStringName$1 = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
|
225
|
-
const changeToString$1 = (to, from, name2) => {
|
226
|
-
const withName = name2 === "" ? "" : `with ${name2.trim()}() `;
|
227
|
-
const newToString = wrappedToString$1.bind(null, withName, from.toString());
|
228
|
-
Object.defineProperty(newToString, "name", toStringName$1);
|
229
|
-
Object.defineProperty(to, "toString", { ...toStringDescriptor$1, value: newToString });
|
230
|
-
};
|
231
|
-
function mimicFunction$1(to, from, { ignoreNonConfigurable = false } = {}) {
|
232
|
-
const { name: name2 } = to;
|
233
|
-
for (const property2 of Reflect.ownKeys(from)) {
|
234
|
-
copyProperty$1(to, from, property2, ignoreNonConfigurable);
|
235
|
-
}
|
236
|
-
changePrototype$1(to, from);
|
237
|
-
changeToString$1(to, from, name2);
|
238
|
-
return to;
|
239
|
-
}
|
240
|
-
const cacheStore$1 = /* @__PURE__ */ new WeakMap();
|
241
|
-
const cacheTimerStore = /* @__PURE__ */ new WeakMap();
|
242
|
-
function memoize(fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) {
|
243
|
-
if (maxAge === 0) {
|
244
|
-
return fn;
|
245
|
-
}
|
246
|
-
if (typeof maxAge === "number") {
|
247
|
-
const maxSetIntervalValue = 2147483647;
|
248
|
-
if (maxAge > maxSetIntervalValue) {
|
249
|
-
throw new TypeError(`The \`maxAge\` option cannot exceed ${maxSetIntervalValue}.`);
|
250
|
-
}
|
251
|
-
if (maxAge < 0) {
|
252
|
-
throw new TypeError("The `maxAge` option should not be a negative number.");
|
253
|
-
}
|
254
|
-
}
|
255
|
-
const memoized = function(...arguments_) {
|
256
|
-
var _a;
|
257
|
-
const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
|
258
|
-
const cacheItem = cache.get(key);
|
259
|
-
if (cacheItem) {
|
260
|
-
return cacheItem.data;
|
261
|
-
}
|
262
|
-
const result = fn.apply(this, arguments_);
|
263
|
-
cache.set(key, {
|
264
|
-
data: result,
|
265
|
-
maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY
|
266
|
-
});
|
267
|
-
if (typeof maxAge === "number" && maxAge !== Number.POSITIVE_INFINITY) {
|
268
|
-
const timer = setTimeout(() => {
|
269
|
-
cache.delete(key);
|
270
|
-
}, maxAge);
|
271
|
-
(_a = timer.unref) == null ? void 0 : _a.call(timer);
|
272
|
-
const timers = cacheTimerStore.get(fn) ?? /* @__PURE__ */ new Set();
|
273
|
-
timers.add(timer);
|
274
|
-
cacheTimerStore.set(fn, timers);
|
275
|
-
}
|
276
|
-
return result;
|
277
|
-
};
|
278
|
-
mimicFunction$1(memoized, fn, {
|
279
|
-
ignoreNonConfigurable: true
|
280
|
-
});
|
281
|
-
cacheStore$1.set(memoized, cache);
|
282
|
-
return memoized;
|
283
|
-
}
|
284
|
-
var invariant = function() {
|
285
|
-
};
|
286
|
-
const clamp$1 = (min, max, v) => Math.min(Math.max(v, min), max);
|
287
|
-
const progress = (from, to, value) => {
|
288
|
-
const toFromDifference = to - from;
|
289
|
-
return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
|
290
|
-
};
|
291
|
-
const mix = (from, to, progress2) => -progress2 * from + progress2 * to + from;
|
292
|
-
const clamp = (min, max) => (v) => Math.max(Math.min(v, max), min);
|
293
|
-
const sanitize = (v) => v % 1 ? Number(v.toFixed(5)) : v;
|
294
|
-
const floatRegex = /(-)?([\d]*\.?[\d])+/g;
|
295
|
-
const colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi;
|
296
|
-
const singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;
|
297
|
-
function isString(v) {
|
298
|
-
return typeof v === "string";
|
299
|
-
}
|
300
|
-
const number = {
|
301
|
-
test: (v) => typeof v === "number",
|
302
|
-
parse: parseFloat,
|
303
|
-
transform: (v) => v
|
304
|
-
};
|
305
|
-
const alpha = Object.assign(Object.assign({}, number), { transform: clamp(0, 1) });
|
306
|
-
Object.assign(Object.assign({}, number), { default: 1 });
|
307
|
-
const createUnitType = (unit) => ({
|
308
|
-
test: (v) => isString(v) && v.endsWith(unit) && v.split(" ").length === 1,
|
309
|
-
parse: parseFloat,
|
310
|
-
transform: (v) => `${v}${unit}`
|
311
|
-
});
|
312
|
-
const percent = createUnitType("%");
|
313
|
-
Object.assign(Object.assign({}, percent), { parse: (v) => percent.parse(v) / 100, transform: (v) => percent.transform(v * 100) });
|
314
|
-
const isColorString = (type2, testProp) => (v) => {
|
315
|
-
return Boolean(isString(v) && singleColorRegex.test(v) && v.startsWith(type2) || testProp && Object.prototype.hasOwnProperty.call(v, testProp));
|
316
|
-
};
|
317
|
-
const splitColor = (aName, bName, cName) => (v) => {
|
318
|
-
if (!isString(v))
|
319
|
-
return v;
|
320
|
-
const [a, b, c, alpha2] = v.match(floatRegex);
|
321
|
-
return {
|
322
|
-
[aName]: parseFloat(a),
|
323
|
-
[bName]: parseFloat(b),
|
324
|
-
[cName]: parseFloat(c),
|
325
|
-
alpha: alpha2 !== void 0 ? parseFloat(alpha2) : 1
|
326
|
-
};
|
327
|
-
};
|
328
|
-
const hsla = {
|
329
|
-
test: isColorString("hsl", "hue"),
|
330
|
-
parse: splitColor("hue", "saturation", "lightness"),
|
331
|
-
transform: ({ hue, saturation, lightness, alpha: alpha$1 = 1 }) => {
|
332
|
-
return "hsla(" + Math.round(hue) + ", " + percent.transform(sanitize(saturation)) + ", " + percent.transform(sanitize(lightness)) + ", " + sanitize(alpha.transform(alpha$1)) + ")";
|
333
|
-
}
|
334
|
-
};
|
335
|
-
const clampRgbUnit = clamp(0, 255);
|
336
|
-
const rgbUnit = Object.assign(Object.assign({}, number), { transform: (v) => Math.round(clampRgbUnit(v)) });
|
337
|
-
const rgba = {
|
338
|
-
test: isColorString("rgb", "red"),
|
339
|
-
parse: splitColor("red", "green", "blue"),
|
340
|
-
transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
|
341
|
-
};
|
342
|
-
function parseHex(v) {
|
343
|
-
let r = "";
|
344
|
-
let g = "";
|
345
|
-
let b = "";
|
346
|
-
let a = "";
|
347
|
-
if (v.length > 5) {
|
348
|
-
r = v.substr(1, 2);
|
349
|
-
g = v.substr(3, 2);
|
350
|
-
b = v.substr(5, 2);
|
351
|
-
a = v.substr(7, 2);
|
352
|
-
} else {
|
353
|
-
r = v.substr(1, 1);
|
354
|
-
g = v.substr(2, 1);
|
355
|
-
b = v.substr(3, 1);
|
356
|
-
a = v.substr(4, 1);
|
357
|
-
r += r;
|
358
|
-
g += g;
|
359
|
-
b += b;
|
360
|
-
a += a;
|
361
|
-
}
|
362
|
-
return {
|
363
|
-
red: parseInt(r, 16),
|
364
|
-
green: parseInt(g, 16),
|
365
|
-
blue: parseInt(b, 16),
|
366
|
-
alpha: a ? parseInt(a, 16) / 255 : 1
|
367
|
-
};
|
368
|
-
}
|
369
|
-
const hex = {
|
370
|
-
test: isColorString("#"),
|
371
|
-
parse: parseHex,
|
372
|
-
transform: rgba.transform
|
373
|
-
};
|
374
|
-
const color = {
|
375
|
-
test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
|
376
|
-
parse: (v) => {
|
377
|
-
if (rgba.test(v)) {
|
378
|
-
return rgba.parse(v);
|
379
|
-
} else if (hsla.test(v)) {
|
380
|
-
return hsla.parse(v);
|
381
|
-
} else {
|
382
|
-
return hex.parse(v);
|
383
|
-
}
|
384
|
-
},
|
385
|
-
transform: (v) => {
|
386
|
-
return isString(v) ? v : v.hasOwnProperty("red") ? rgba.transform(v) : hsla.transform(v);
|
387
|
-
}
|
388
|
-
};
|
389
|
-
const colorToken = "${c}";
|
390
|
-
const numberToken = "${n}";
|
391
|
-
function test(v) {
|
392
|
-
var _a, _b, _c, _d;
|
393
|
-
return isNaN(v) && isString(v) && ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0;
|
394
|
-
}
|
395
|
-
function analyse$1(v) {
|
396
|
-
if (typeof v === "number")
|
397
|
-
v = `${v}`;
|
398
|
-
const values = [];
|
399
|
-
let numColors = 0;
|
400
|
-
const colors = v.match(colorRegex);
|
401
|
-
if (colors) {
|
402
|
-
numColors = colors.length;
|
403
|
-
v = v.replace(colorRegex, colorToken);
|
404
|
-
values.push(...colors.map(color.parse));
|
405
|
-
}
|
406
|
-
const numbers = v.match(floatRegex);
|
407
|
-
if (numbers) {
|
408
|
-
v = v.replace(floatRegex, numberToken);
|
409
|
-
values.push(...numbers.map(number.parse));
|
410
|
-
}
|
411
|
-
return { values, numColors, tokenised: v };
|
412
|
-
}
|
413
|
-
function parse(v) {
|
414
|
-
return analyse$1(v).values;
|
415
|
-
}
|
416
|
-
function createTransformer(v) {
|
417
|
-
const { values, numColors, tokenised } = analyse$1(v);
|
418
|
-
const numValues = values.length;
|
419
|
-
return (v2) => {
|
420
|
-
let output = tokenised;
|
421
|
-
for (let i = 0; i < numValues; i++) {
|
422
|
-
output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v2[i]) : sanitize(v2[i]));
|
423
|
-
}
|
424
|
-
return output;
|
425
|
-
};
|
426
|
-
}
|
427
|
-
const convertNumbersToZero = (v) => typeof v === "number" ? 0 : v;
|
428
|
-
function getAnimatableNone(v) {
|
429
|
-
const parsed = parse(v);
|
430
|
-
const transformer = createTransformer(v);
|
431
|
-
return transformer(parsed.map(convertNumbersToZero));
|
432
|
-
}
|
433
|
-
const complex = { test, parse, createTransformer, getAnimatableNone };
|
434
|
-
function hueToRgb(p, q, t) {
|
435
|
-
if (t < 0)
|
436
|
-
t += 1;
|
437
|
-
if (t > 1)
|
438
|
-
t -= 1;
|
439
|
-
if (t < 1 / 6)
|
440
|
-
return p + (q - p) * 6 * t;
|
441
|
-
if (t < 1 / 2)
|
442
|
-
return q;
|
443
|
-
if (t < 2 / 3)
|
444
|
-
return p + (q - p) * (2 / 3 - t) * 6;
|
445
|
-
return p;
|
446
|
-
}
|
447
|
-
function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
|
448
|
-
hue /= 360;
|
449
|
-
saturation /= 100;
|
450
|
-
lightness /= 100;
|
451
|
-
let red = 0;
|
452
|
-
let green = 0;
|
453
|
-
let blue = 0;
|
454
|
-
if (!saturation) {
|
455
|
-
red = green = blue = lightness;
|
456
|
-
} else {
|
457
|
-
const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation;
|
458
|
-
const p = 2 * lightness - q;
|
459
|
-
red = hueToRgb(p, q, hue + 1 / 3);
|
460
|
-
green = hueToRgb(p, q, hue);
|
461
|
-
blue = hueToRgb(p, q, hue - 1 / 3);
|
462
|
-
}
|
463
|
-
return {
|
464
|
-
red: Math.round(red * 255),
|
465
|
-
green: Math.round(green * 255),
|
466
|
-
blue: Math.round(blue * 255),
|
467
|
-
alpha: alpha2
|
468
|
-
};
|
469
|
-
}
|
470
|
-
const mixLinearColor = (from, to, v) => {
|
471
|
-
const fromExpo = from * from;
|
472
|
-
const toExpo = to * to;
|
473
|
-
return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));
|
474
|
-
};
|
475
|
-
const colorTypes = [hex, rgba, hsla];
|
476
|
-
const getColorType = (v) => colorTypes.find((type2) => type2.test(v));
|
477
|
-
const mixColor = (from, to) => {
|
478
|
-
let fromColorType = getColorType(from);
|
479
|
-
let toColorType = getColorType(to);
|
480
|
-
let fromColor = fromColorType.parse(from);
|
481
|
-
let toColor = toColorType.parse(to);
|
482
|
-
if (fromColorType === hsla) {
|
483
|
-
fromColor = hslaToRgba(fromColor);
|
484
|
-
fromColorType = rgba;
|
485
|
-
}
|
486
|
-
if (toColorType === hsla) {
|
487
|
-
toColor = hslaToRgba(toColor);
|
488
|
-
toColorType = rgba;
|
489
|
-
}
|
490
|
-
const blended = Object.assign({}, fromColor);
|
491
|
-
return (v) => {
|
492
|
-
for (const key in blended) {
|
493
|
-
if (key !== "alpha") {
|
494
|
-
blended[key] = mixLinearColor(fromColor[key], toColor[key], v);
|
495
|
-
}
|
496
|
-
}
|
497
|
-
blended.alpha = mix(fromColor.alpha, toColor.alpha, v);
|
498
|
-
return fromColorType.transform(blended);
|
499
|
-
};
|
500
|
-
};
|
501
|
-
const isNum = (v) => typeof v === "number";
|
502
|
-
const combineFunctions = (a, b) => (v) => b(a(v));
|
503
|
-
const pipe = (...transformers) => transformers.reduce(combineFunctions);
|
504
|
-
function getMixer(origin, target) {
|
505
|
-
if (isNum(origin)) {
|
506
|
-
return (v) => mix(origin, target, v);
|
507
|
-
} else if (color.test(origin)) {
|
508
|
-
return mixColor(origin, target);
|
509
|
-
} else {
|
510
|
-
return mixComplex(origin, target);
|
511
|
-
}
|
512
|
-
}
|
513
|
-
const mixArray = (from, to) => {
|
514
|
-
const output = [...from];
|
515
|
-
const numValues = output.length;
|
516
|
-
const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i]));
|
517
|
-
return (v) => {
|
518
|
-
for (let i = 0; i < numValues; i++) {
|
519
|
-
output[i] = blendValue[i](v);
|
520
|
-
}
|
521
|
-
return output;
|
522
|
-
};
|
523
|
-
};
|
524
|
-
const mixObject = (origin, target) => {
|
525
|
-
const output = Object.assign(Object.assign({}, origin), target);
|
526
|
-
const blendValue = {};
|
527
|
-
for (const key in output) {
|
528
|
-
if (origin[key] !== void 0 && target[key] !== void 0) {
|
529
|
-
blendValue[key] = getMixer(origin[key], target[key]);
|
530
|
-
}
|
531
|
-
}
|
532
|
-
return (v) => {
|
533
|
-
for (const key in blendValue) {
|
534
|
-
output[key] = blendValue[key](v);
|
535
|
-
}
|
536
|
-
return output;
|
537
|
-
};
|
538
|
-
};
|
539
|
-
function analyse(value) {
|
540
|
-
const parsed = complex.parse(value);
|
541
|
-
const numValues = parsed.length;
|
542
|
-
let numNumbers = 0;
|
543
|
-
let numRGB = 0;
|
544
|
-
let numHSL = 0;
|
545
|
-
for (let i = 0; i < numValues; i++) {
|
546
|
-
if (numNumbers || typeof parsed[i] === "number") {
|
547
|
-
numNumbers++;
|
548
|
-
} else {
|
549
|
-
if (parsed[i].hue !== void 0) {
|
550
|
-
numHSL++;
|
551
|
-
} else {
|
552
|
-
numRGB++;
|
553
|
-
}
|
554
|
-
}
|
555
|
-
}
|
556
|
-
return { parsed, numNumbers, numRGB, numHSL };
|
557
|
-
}
|
558
|
-
const mixComplex = (origin, target) => {
|
559
|
-
const template2 = complex.createTransformer(target);
|
560
|
-
const originStats = analyse(origin);
|
561
|
-
const targetStats = analyse(target);
|
562
|
-
const canInterpolate = originStats.numHSL === targetStats.numHSL && originStats.numRGB === targetStats.numRGB && originStats.numNumbers >= targetStats.numNumbers;
|
563
|
-
if (canInterpolate) {
|
564
|
-
return pipe(mixArray(originStats.parsed, targetStats.parsed), template2);
|
565
|
-
} else {
|
566
|
-
return (p) => `${p > 0 ? target : origin}`;
|
567
|
-
}
|
568
|
-
};
|
569
|
-
const mixNumber = (from, to) => (p) => mix(from, to, p);
|
570
|
-
function detectMixerFactory(v) {
|
571
|
-
if (typeof v === "number") {
|
572
|
-
return mixNumber;
|
573
|
-
} else if (typeof v === "string") {
|
574
|
-
if (color.test(v)) {
|
575
|
-
return mixColor;
|
576
|
-
} else {
|
577
|
-
return mixComplex;
|
578
|
-
}
|
579
|
-
} else if (Array.isArray(v)) {
|
580
|
-
return mixArray;
|
581
|
-
} else if (typeof v === "object") {
|
582
|
-
return mixObject;
|
583
|
-
}
|
584
|
-
}
|
585
|
-
function createMixers(output, ease, customMixer) {
|
586
|
-
const mixers = [];
|
587
|
-
const mixerFactory = customMixer || detectMixerFactory(output[0]);
|
588
|
-
const numMixers = output.length - 1;
|
589
|
-
for (let i = 0; i < numMixers; i++) {
|
590
|
-
let mixer = mixerFactory(output[i], output[i + 1]);
|
591
|
-
if (ease) {
|
592
|
-
const easingFunction = Array.isArray(ease) ? ease[i] : ease;
|
593
|
-
mixer = pipe(easingFunction, mixer);
|
594
|
-
}
|
595
|
-
mixers.push(mixer);
|
596
|
-
}
|
597
|
-
return mixers;
|
598
|
-
}
|
599
|
-
function fastInterpolate([from, to], [mixer]) {
|
600
|
-
return (v) => mixer(progress(from, to, v));
|
601
|
-
}
|
602
|
-
function slowInterpolate(input, mixers) {
|
603
|
-
const inputLength = input.length;
|
604
|
-
const lastInputIndex = inputLength - 1;
|
605
|
-
return (v) => {
|
606
|
-
let mixerIndex = 0;
|
607
|
-
let foundMixerIndex = false;
|
608
|
-
if (v <= input[0]) {
|
609
|
-
foundMixerIndex = true;
|
610
|
-
} else if (v >= input[lastInputIndex]) {
|
611
|
-
mixerIndex = lastInputIndex - 1;
|
612
|
-
foundMixerIndex = true;
|
613
|
-
}
|
614
|
-
if (!foundMixerIndex) {
|
615
|
-
let i = 1;
|
616
|
-
for (; i < inputLength; i++) {
|
617
|
-
if (input[i] > v || i === lastInputIndex) {
|
618
|
-
break;
|
619
|
-
}
|
620
|
-
}
|
621
|
-
mixerIndex = i - 1;
|
622
|
-
}
|
623
|
-
const progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);
|
624
|
-
return mixers[mixerIndex](progressInRange);
|
625
|
-
};
|
626
|
-
}
|
627
|
-
function interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {
|
628
|
-
const inputLength = input.length;
|
629
|
-
invariant(inputLength === output.length);
|
630
|
-
invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1);
|
631
|
-
if (input[0] > input[inputLength - 1]) {
|
632
|
-
input = [].concat(input);
|
633
|
-
output = [].concat(output);
|
634
|
-
input.reverse();
|
635
|
-
output.reverse();
|
636
|
-
}
|
637
|
-
const mixers = createMixers(output, ease, mixer);
|
638
|
-
const interpolator = inputLength === 2 ? fastInterpolate(input, mixers) : slowInterpolate(input, mixers);
|
639
|
-
return isClamp ? (v) => interpolator(clamp$1(input[0], input[inputLength - 1], v)) : interpolator;
|
640
|
-
}
|
641
|
-
const reverseEasing = (easing) => (p) => 1 - easing(1 - p);
|
642
|
-
const mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
|
643
|
-
const createExpoIn = (power) => (p) => Math.pow(p, power);
|
644
|
-
const createBackIn = (power) => (p) => p * p * ((power + 1) * p - power);
|
645
|
-
const createAnticipate = (power) => {
|
646
|
-
const backEasing = createBackIn(power);
|
647
|
-
return (p) => (p *= 2) < 1 ? 0.5 * backEasing(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
|
648
|
-
};
|
649
|
-
const DEFAULT_OVERSHOOT_STRENGTH = 1.525;
|
650
|
-
const BOUNCE_FIRST_THRESHOLD = 4 / 11;
|
651
|
-
const BOUNCE_SECOND_THRESHOLD = 8 / 11;
|
652
|
-
const BOUNCE_THIRD_THRESHOLD = 9 / 10;
|
653
|
-
const linear = (p) => p;
|
654
|
-
const easeIn = createExpoIn(2);
|
655
|
-
const easeOut = reverseEasing(easeIn);
|
656
|
-
const easeInOut = mirrorEasing(easeIn);
|
657
|
-
const circIn = (p) => 1 - Math.sin(Math.acos(p));
|
658
|
-
const circOut = reverseEasing(circIn);
|
659
|
-
const circInOut = mirrorEasing(circOut);
|
660
|
-
const backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);
|
661
|
-
const backOut = reverseEasing(backIn);
|
662
|
-
const backInOut = mirrorEasing(backIn);
|
663
|
-
const anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);
|
664
|
-
const ca = 4356 / 361;
|
665
|
-
const cb = 35442 / 1805;
|
666
|
-
const cc = 16061 / 1805;
|
667
|
-
const bounceOut = (p) => {
|
668
|
-
if (p === 1 || p === 0)
|
669
|
-
return p;
|
670
|
-
const p2 = p * p;
|
671
|
-
return p < BOUNCE_FIRST_THRESHOLD ? 7.5625 * p2 : p < BOUNCE_SECOND_THRESHOLD ? 9.075 * p2 - 9.9 * p + 3.4 : p < BOUNCE_THIRD_THRESHOLD ? ca * p2 - cb * p + cc : 10.8 * p * p - 20.52 * p + 10.72;
|
672
|
-
};
|
673
|
-
const bounceIn = reverseEasing(bounceOut);
|
674
|
-
const bounceInOut = (p) => p < 0.5 ? 0.5 * (1 - bounceOut(1 - p * 2)) : 0.5 * bounceOut(p * 2 - 1) + 0.5;
|
675
|
-
const copyProperty = (to, from, property2, ignoreNonConfigurable) => {
|
676
|
-
if (property2 === "length" || property2 === "prototype") {
|
677
|
-
return;
|
678
|
-
}
|
679
|
-
if (property2 === "arguments" || property2 === "caller") {
|
680
|
-
return;
|
681
|
-
}
|
682
|
-
const toDescriptor = Object.getOwnPropertyDescriptor(to, property2);
|
683
|
-
const fromDescriptor = Object.getOwnPropertyDescriptor(from, property2);
|
684
|
-
if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
|
685
|
-
return;
|
686
|
-
}
|
687
|
-
Object.defineProperty(to, property2, fromDescriptor);
|
688
|
-
};
|
689
|
-
const canCopyProperty = function(toDescriptor, fromDescriptor) {
|
690
|
-
return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
|
691
|
-
};
|
692
|
-
const changePrototype = (to, from) => {
|
693
|
-
const fromPrototype = Object.getPrototypeOf(from);
|
694
|
-
if (fromPrototype === Object.getPrototypeOf(to)) {
|
695
|
-
return;
|
696
|
-
}
|
697
|
-
Object.setPrototypeOf(to, fromPrototype);
|
698
|
-
};
|
699
|
-
const wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
|
700
|
-
${fromBody}`;
|
701
|
-
const toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
|
702
|
-
const toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
|
703
|
-
const changeToString = (to, from, name2) => {
|
704
|
-
const withName = name2 === "" ? "" : `with ${name2.trim()}() `;
|
705
|
-
const newToString = wrappedToString.bind(null, withName, from.toString());
|
706
|
-
Object.defineProperty(newToString, "name", toStringName);
|
707
|
-
Object.defineProperty(to, "toString", { ...toStringDescriptor, value: newToString });
|
708
|
-
};
|
709
|
-
function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) {
|
710
|
-
const { name: name2 } = to;
|
711
|
-
for (const property2 of Reflect.ownKeys(from)) {
|
712
|
-
copyProperty(to, from, property2, ignoreNonConfigurable);
|
713
|
-
}
|
714
|
-
changePrototype(to, from);
|
715
|
-
changeToString(to, from, name2);
|
716
|
-
return to;
|
717
|
-
}
|
718
|
-
const cacheStore = /* @__PURE__ */ new WeakMap();
|
719
|
-
function pMemoize(fn, { cacheKey = ([firstArgument]) => firstArgument, cache = /* @__PURE__ */ new Map() } = {}) {
|
720
|
-
const promiseCache = /* @__PURE__ */ new Map();
|
721
|
-
const memoized = function(...arguments_) {
|
722
|
-
const key = cacheKey(arguments_);
|
723
|
-
if (promiseCache.has(key)) {
|
724
|
-
return promiseCache.get(key);
|
725
|
-
}
|
726
|
-
const promise = (async () => {
|
727
|
-
try {
|
728
|
-
if (cache && await cache.has(key)) {
|
729
|
-
return await cache.get(key);
|
730
|
-
}
|
731
|
-
const promise2 = fn.apply(this, arguments_);
|
732
|
-
const result = await promise2;
|
733
|
-
try {
|
734
|
-
return result;
|
735
|
-
} finally {
|
736
|
-
if (cache) {
|
737
|
-
await cache.set(key, result);
|
738
|
-
}
|
739
|
-
}
|
740
|
-
} finally {
|
741
|
-
promiseCache.delete(key);
|
742
|
-
}
|
743
|
-
})();
|
744
|
-
promiseCache.set(key, promise);
|
745
|
-
return promise;
|
746
|
-
};
|
747
|
-
mimicFunction(memoized, fn, {
|
748
|
-
ignoreNonConfigurable: true
|
749
|
-
});
|
750
|
-
cacheStore.set(memoized, cache);
|
751
|
-
return memoized;
|
752
|
-
}
|
753
|
-
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
754
|
-
function getDefaultExportFromCjs(x) {
|
755
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
756
|
-
}
|
757
|
-
var squirrelly_min = { exports: {} };
|
758
|
-
(function(module2, exports2) {
|
759
|
-
!function(e, t) {
|
760
|
-
t(exports2);
|
761
|
-
}(commonjsGlobal, function(e) {
|
762
|
-
function t(e2) {
|
763
|
-
var n2, r2, a2 = new Error(e2);
|
764
|
-
return n2 = a2, r2 = t.prototype, Object.setPrototypeOf ? Object.setPrototypeOf(n2, r2) : n2.__proto__ = r2, a2;
|
765
|
-
}
|
766
|
-
function n(e2, n2, r2) {
|
767
|
-
var a2 = n2.slice(0, r2).split(/\n/), i2 = a2.length, s2 = a2[i2 - 1].length + 1;
|
768
|
-
throw t(e2 += " at line " + i2 + " col " + s2 + ":\n\n " + n2.split(/\n/)[i2 - 1] + "\n " + Array(s2).join(" ") + "^");
|
769
|
-
}
|
770
|
-
t.prototype = Object.create(Error.prototype, { name: { value: "Squirrelly Error", enumerable: false } });
|
771
|
-
var r = new Function("return this")().Promise, a = false;
|
772
|
-
try {
|
773
|
-
a = new Function("return (async function(){}).constructor")();
|
774
|
-
} catch (e2) {
|
775
|
-
if (!(e2 instanceof SyntaxError))
|
776
|
-
throw e2;
|
777
|
-
}
|
778
|
-
function i(e2, t2) {
|
779
|
-
return Object.prototype.hasOwnProperty.call(e2, t2);
|
780
|
-
}
|
781
|
-
function s(e2, t2, n2) {
|
782
|
-
for (var r2 in t2)
|
783
|
-
i(t2, r2) && (null == t2[r2] || "object" != typeof t2[r2] || "storage" !== r2 && "prefixes" !== r2 || n2 ? e2[r2] = t2[r2] : e2[r2] = s({}, t2[r2]));
|
784
|
-
return e2;
|
785
|
-
}
|
786
|
-
var c = /^async +/, o = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g, l = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g, f = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g, u = /[.*+\-?^${}()|[\]\\]/g;
|
787
|
-
function p(e2) {
|
788
|
-
return u.test(e2) ? e2.replace(u, "\\$&") : e2;
|
789
|
-
}
|
790
|
-
function h(e2, r2) {
|
791
|
-
r2.rmWhitespace && (e2 = e2.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, "")), o.lastIndex = 0, l.lastIndex = 0, f.lastIndex = 0;
|
792
|
-
var a2 = r2.prefixes, i2 = [a2.h, a2.b, a2.i, a2.r, a2.c, a2.e].reduce(function(e3, t2) {
|
793
|
-
return e3 && t2 ? e3 + "|" + p(t2) : t2 ? p(t2) : e3;
|
794
|
-
}, ""), s2 = new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?" + p(r2.tags[1]) + ")", "g"), u2 = new RegExp("([^]*?)" + p(r2.tags[0]) + "(-|_)?\\s*(" + i2 + ")?\\s*", "g"), h2 = 0, d2 = false;
|
795
|
-
function g2(t2, a3) {
|
796
|
-
var i3, p2 = { f: [] }, g3 = 0, v3 = "c";
|
797
|
-
function m3(t3) {
|
798
|
-
var a4 = e2.slice(h2, t3), i4 = a4.trim();
|
799
|
-
if ("f" === v3)
|
800
|
-
"safe" === i4 ? p2.raw = true : r2.async && c.test(i4) ? (i4 = i4.replace(c, ""), p2.f.push([i4, "", true])) : p2.f.push([i4, ""]);
|
801
|
-
else if ("fp" === v3)
|
802
|
-
p2.f[p2.f.length - 1][1] += i4;
|
803
|
-
else if ("err" === v3) {
|
804
|
-
if (i4) {
|
805
|
-
var s3 = a4.search(/\S/);
|
806
|
-
n("invalid syntax", e2, h2 + s3);
|
807
|
-
}
|
808
|
-
} else
|
809
|
-
p2[v3] = i4;
|
810
|
-
h2 = t3 + 1;
|
811
|
-
}
|
812
|
-
for ("h" === a3 || "b" === a3 || "c" === a3 ? v3 = "n" : "r" === a3 && (p2.raw = true, a3 = "i"), s2.lastIndex = h2; null !== (i3 = s2.exec(e2)); ) {
|
813
|
-
var y3 = i3[1], x2 = i3[2], b2 = i3[3], w2 = i3[4], F2 = i3[5], S2 = i3.index;
|
814
|
-
if (y3)
|
815
|
-
"(" === y3 ? (0 === g3 && ("n" === v3 ? (m3(S2), v3 = "p") : "f" === v3 && (m3(S2), v3 = "fp")), g3++) : ")" === y3 ? 0 === --g3 && "c" !== v3 && (m3(S2), v3 = "err") : 0 === g3 && "|" === y3 ? (m3(S2), v3 = "f") : "=>" === y3 && (m3(S2), h2 += 1, v3 = "res");
|
816
|
-
else if (x2) {
|
817
|
-
if ("/*" === x2) {
|
818
|
-
var I2 = e2.indexOf("*/", s2.lastIndex);
|
819
|
-
-1 === I2 && n("unclosed comment", e2, i3.index), s2.lastIndex = I2 + 2;
|
820
|
-
} else if ("'" === x2) {
|
821
|
-
l.lastIndex = i3.index, l.exec(e2) ? s2.lastIndex = l.lastIndex : n("unclosed string", e2, i3.index);
|
822
|
-
} else if ('"' === x2) {
|
823
|
-
f.lastIndex = i3.index, f.exec(e2) ? s2.lastIndex = f.lastIndex : n("unclosed string", e2, i3.index);
|
824
|
-
} else if ("`" === x2) {
|
825
|
-
o.lastIndex = i3.index, o.exec(e2) ? s2.lastIndex = o.lastIndex : n("unclosed string", e2, i3.index);
|
826
|
-
}
|
827
|
-
} else if (b2)
|
828
|
-
return m3(S2), h2 = S2 + i3[0].length, u2.lastIndex = h2, d2 = F2, w2 && "h" === a3 && (a3 = "s"), p2.t = a3, p2;
|
829
|
-
}
|
830
|
-
return n("unclosed tag", e2, t2), p2;
|
831
|
-
}
|
832
|
-
var v2 = function i3(s3, o2) {
|
833
|
-
s3.b = [], s3.d = [];
|
834
|
-
var l2, f2 = false, p2 = [];
|
835
|
-
function v3(e3, t2) {
|
836
|
-
e3 && (e3 = function(e4, t3, n2, r3) {
|
837
|
-
var a3, i4;
|
838
|
-
return "string" == typeof t3.autoTrim ? a3 = i4 = t3.autoTrim : Array.isArray(t3.autoTrim) && (a3 = t3.autoTrim[1], i4 = t3.autoTrim[0]), (n2 || false === n2) && (a3 = n2), (r3 || false === r3) && (i4 = r3), "slurp" === a3 && "slurp" === i4 ? e4.trim() : ("_" === a3 || "slurp" === a3 ? e4 = String.prototype.trimLeft ? e4.trimLeft() : e4.replace(/^[\s\uFEFF\xA0]+/, "") : "-" !== a3 && "nl" !== a3 || (e4 = e4.replace(/^(?:\n|\r|\r\n)/, "")), "_" === i4 || "slurp" === i4 ? e4 = String.prototype.trimRight ? e4.trimRight() : e4.replace(/[\s\uFEFF\xA0]+$/, "") : "-" !== i4 && "nl" !== i4 || (e4 = e4.replace(/(?:\n|\r|\r\n)$/, "")), e4);
|
839
|
-
}(e3, r2, d2, t2)) && (e3 = e3.replace(/\\|'/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n"), p2.push(e3));
|
840
|
-
}
|
841
|
-
for (; null !== (l2 = u2.exec(e2)); ) {
|
842
|
-
var m3, y3 = l2[1], x2 = l2[2], b2 = l2[3] || "";
|
843
|
-
for (var w2 in a2)
|
844
|
-
if (a2[w2] === b2) {
|
845
|
-
m3 = w2;
|
846
|
-
break;
|
847
|
-
}
|
848
|
-
v3(y3, x2), h2 = l2.index + l2[0].length, m3 || n("unrecognized tag type: " + b2, e2, h2);
|
849
|
-
var F2 = g2(l2.index, m3), S2 = F2.t;
|
850
|
-
if ("h" === S2) {
|
851
|
-
var I2 = F2.n || "";
|
852
|
-
r2.async && c.test(I2) && (F2.a = true, F2.n = I2.replace(c, "")), F2 = i3(F2), p2.push(F2);
|
853
|
-
} else if ("c" === S2) {
|
854
|
-
if (s3.n === F2.n)
|
855
|
-
return f2 ? (f2.d = p2, s3.b.push(f2)) : s3.d = p2, s3;
|
856
|
-
n("Helper start and end don't match", e2, l2.index + l2[0].length);
|
857
|
-
} else if ("b" === S2) {
|
858
|
-
f2 ? (f2.d = p2, s3.b.push(f2)) : s3.d = p2;
|
859
|
-
var R2 = F2.n || "";
|
860
|
-
r2.async && c.test(R2) && (F2.a = true, F2.n = R2.replace(c, "")), f2 = F2, p2 = [];
|
861
|
-
} else if ("s" === S2) {
|
862
|
-
var T2 = F2.n || "";
|
863
|
-
r2.async && c.test(T2) && (F2.a = true, F2.n = T2.replace(c, "")), p2.push(F2);
|
864
|
-
} else
|
865
|
-
p2.push(F2);
|
866
|
-
}
|
867
|
-
if (!o2)
|
868
|
-
throw t('unclosed helper "' + s3.n + '"');
|
869
|
-
return v3(e2.slice(h2, e2.length), false), s3.d = p2, s3;
|
870
|
-
}({ f: [] }, true);
|
871
|
-
if (r2.plugins)
|
872
|
-
for (var m2 = 0; m2 < r2.plugins.length; m2++) {
|
873
|
-
var y2 = r2.plugins[m2];
|
874
|
-
y2.processAST && (v2.d = y2.processAST(v2.d, r2));
|
875
|
-
}
|
876
|
-
return v2.d;
|
877
|
-
}
|
878
|
-
function d(e2, t2) {
|
879
|
-
var n2 = h(e2, t2), r2 = "var tR='';" + (t2.useWith ? "with(" + t2.varName + "||{}){" : "") + x(n2, t2) + "if(cb){cb(null,tR)} return tR" + (t2.useWith ? "}" : "");
|
880
|
-
if (t2.plugins)
|
881
|
-
for (var a2 = 0; a2 < t2.plugins.length; a2++) {
|
882
|
-
var i2 = t2.plugins[a2];
|
883
|
-
i2.processFnString && (r2 = i2.processFnString(r2, t2));
|
884
|
-
}
|
885
|
-
return r2;
|
886
|
-
}
|
887
|
-
function g(e2, t2) {
|
888
|
-
for (var n2 = 0; n2 < t2.length; n2++) {
|
889
|
-
var r2 = t2[n2][0], a2 = t2[n2][1];
|
890
|
-
e2 = (t2[n2][2] ? "await " : "") + "c.l('F','" + r2 + "')(" + e2, a2 && (e2 += "," + a2), e2 += ")";
|
891
|
-
}
|
892
|
-
return e2;
|
893
|
-
}
|
894
|
-
function v(e2, t2, n2, r2, a2, i2) {
|
895
|
-
var s2 = "{exec:" + (a2 ? "async " : "") + y(n2, t2, e2) + ",params:[" + r2 + "]";
|
896
|
-
return i2 && (s2 += ",name:'" + i2 + "'"), a2 && (s2 += ",async:true"), s2 += "}";
|
897
|
-
}
|
898
|
-
function m(e2, t2) {
|
899
|
-
for (var n2 = "[", r2 = 0; r2 < e2.length; r2++) {
|
900
|
-
var a2 = e2[r2];
|
901
|
-
n2 += v(t2, a2.res || "", a2.d, a2.p || "", a2.a, a2.n), r2 < e2.length && (n2 += ",");
|
902
|
-
}
|
903
|
-
return n2 += "]";
|
904
|
-
}
|
905
|
-
function y(e2, t2, n2) {
|
906
|
-
return "function(" + t2 + "){var tR='';" + x(e2, n2) + "return tR}";
|
907
|
-
}
|
908
|
-
function x(e2, t2) {
|
909
|
-
for (var n2 = 0, r2 = e2.length, a2 = ""; n2 < r2; n2++) {
|
910
|
-
var i2 = e2[n2];
|
911
|
-
if ("string" == typeof i2) {
|
912
|
-
a2 += "tR+='" + i2 + "';";
|
913
|
-
} else {
|
914
|
-
var s2 = i2.t, c2 = i2.c || "", o2 = i2.f, l2 = i2.n || "", f2 = i2.p || "", u2 = i2.res || "", p2 = i2.b, h2 = !!i2.a;
|
915
|
-
if ("i" === s2) {
|
916
|
-
t2.defaultFilter && (c2 = "c.l('F','" + t2.defaultFilter + "')(" + c2 + ")");
|
917
|
-
var d2 = g(c2, o2);
|
918
|
-
!i2.raw && t2.autoEscape && (d2 = "c.l('F','e')(" + d2 + ")"), a2 += "tR+=" + d2 + ";";
|
919
|
-
} else if ("h" === s2)
|
920
|
-
if (t2.storage.nativeHelpers.get(l2))
|
921
|
-
a2 += t2.storage.nativeHelpers.get(l2)(i2, t2);
|
922
|
-
else {
|
923
|
-
var y2 = (h2 ? "await " : "") + "c.l('H','" + l2 + "')(" + v(t2, u2, i2.d, f2, h2);
|
924
|
-
y2 += p2 ? "," + m(p2, t2) : ",[]", a2 += "tR+=" + g(y2 += ",c)", o2) + ";";
|
925
|
-
}
|
926
|
-
else
|
927
|
-
"s" === s2 ? a2 += "tR+=" + g((h2 ? "await " : "") + "c.l('H','" + l2 + "')({params:[" + f2 + "]},[],c)", o2) + ";" : "e" === s2 && (a2 += c2 + "\n");
|
928
|
-
}
|
929
|
-
}
|
930
|
-
return a2;
|
931
|
-
}
|
932
|
-
var b = function() {
|
933
|
-
function e2(e3) {
|
934
|
-
this.cache = e3;
|
935
|
-
}
|
936
|
-
return e2.prototype.define = function(e3, t2) {
|
937
|
-
this.cache[e3] = t2;
|
938
|
-
}, e2.prototype.get = function(e3) {
|
939
|
-
return this.cache[e3];
|
940
|
-
}, e2.prototype.remove = function(e3) {
|
941
|
-
delete this.cache[e3];
|
942
|
-
}, e2.prototype.reset = function() {
|
943
|
-
this.cache = {};
|
944
|
-
}, e2.prototype.load = function(e3) {
|
945
|
-
s(this.cache, e3, true);
|
946
|
-
}, e2;
|
947
|
-
}();
|
948
|
-
function w(e2, n2, r2, a2) {
|
949
|
-
if (n2 && n2.length > 0)
|
950
|
-
throw t((a2 ? "Native" : "") + "Helper '" + e2 + "' doesn't accept blocks");
|
951
|
-
if (r2 && r2.length > 0)
|
952
|
-
throw t((a2 ? "Native" : "") + "Helper '" + e2 + "' doesn't accept filters");
|
953
|
-
}
|
954
|
-
var F = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" };
|
955
|
-
function S(e2) {
|
956
|
-
return F[e2];
|
957
|
-
}
|
958
|
-
var I = new b({}), R = new b({ each: function(e2, t2) {
|
959
|
-
var n2 = "", r2 = e2.params[0];
|
960
|
-
if (w("each", t2, false), e2.async)
|
961
|
-
return new Promise(function(t3) {
|
962
|
-
!function e3(t4, n3, r3, a3, i2) {
|
963
|
-
r3(t4[n3], n3).then(function(s2) {
|
964
|
-
a3 += s2, n3 === t4.length - 1 ? i2(a3) : e3(t4, n3 + 1, r3, a3, i2);
|
965
|
-
});
|
966
|
-
}(r2, 0, e2.exec, n2, t3);
|
967
|
-
});
|
968
|
-
for (var a2 = 0; a2 < r2.length; a2++)
|
969
|
-
n2 += e2.exec(r2[a2], a2);
|
970
|
-
return n2;
|
971
|
-
}, foreach: function(e2, t2) {
|
972
|
-
var n2 = e2.params[0];
|
973
|
-
if (w("foreach", t2, false), e2.async)
|
974
|
-
return new Promise(function(t3) {
|
975
|
-
!function e3(t4, n3, r3, a3, i2, s2) {
|
976
|
-
a3(n3[r3], t4[n3[r3]]).then(function(c2) {
|
977
|
-
i2 += c2, r3 === n3.length - 1 ? s2(i2) : e3(t4, n3, r3 + 1, a3, i2, s2);
|
978
|
-
});
|
979
|
-
}(n2, Object.keys(n2), 0, e2.exec, "", t3);
|
980
|
-
});
|
981
|
-
var r2 = "";
|
982
|
-
for (var a2 in n2)
|
983
|
-
i(n2, a2) && (r2 += e2.exec(a2, n2[a2]));
|
984
|
-
return r2;
|
985
|
-
}, include: function(e2, n2, r2) {
|
986
|
-
w("include", n2, false);
|
987
|
-
var a2 = r2.storage.templates.get(e2.params[0]);
|
988
|
-
if (!a2)
|
989
|
-
throw t('Could not fetch template "' + e2.params[0] + '"');
|
990
|
-
return a2(e2.params[1], r2);
|
991
|
-
}, extends: function(e2, n2, r2) {
|
992
|
-
var a2 = e2.params[1] || {};
|
993
|
-
a2.content = e2.exec();
|
994
|
-
for (var i2 = 0; i2 < n2.length; i2++) {
|
995
|
-
var s2 = n2[i2];
|
996
|
-
a2[s2.name] = s2.exec();
|
997
|
-
}
|
998
|
-
var c2 = r2.storage.templates.get(e2.params[0]);
|
999
|
-
if (!c2)
|
1000
|
-
throw t('Could not fetch template "' + e2.params[0] + '"');
|
1001
|
-
return c2(a2, r2);
|
1002
|
-
}, useScope: function(e2, t2) {
|
1003
|
-
return w("useScope", t2, false), e2.exec(e2.params[0]);
|
1004
|
-
} }), T = new b({ if: function(e2, t2) {
|
1005
|
-
w("if", false, e2.f, true);
|
1006
|
-
var n2 = "if(" + e2.p + "){" + x(e2.d, t2) + "}";
|
1007
|
-
if (e2.b)
|
1008
|
-
for (var r2 = 0; r2 < e2.b.length; r2++) {
|
1009
|
-
var a2 = e2.b[r2];
|
1010
|
-
"else" === a2.n ? n2 += "else{" + x(a2.d, t2) + "}" : "elif" === a2.n && (n2 += "else if(" + a2.p + "){" + x(a2.d, t2) + "}");
|
1011
|
-
}
|
1012
|
-
return n2;
|
1013
|
-
}, try: function(e2, n2) {
|
1014
|
-
if (w("try", false, e2.f, true), !e2.b || 1 !== e2.b.length || "catch" !== e2.b[0].n)
|
1015
|
-
throw t("native helper 'try' only accepts 1 block, 'catch'");
|
1016
|
-
var r2 = "try{" + x(e2.d, n2) + "}", a2 = e2.b[0];
|
1017
|
-
return r2 += "catch" + (a2.res ? "(" + a2.res + ")" : "") + "{" + x(a2.d, n2) + "}";
|
1018
|
-
}, block: function(e2, t2) {
|
1019
|
-
return w("block", e2.b, e2.f, true), "if(!" + t2.varName + "[" + e2.p + "]){tR+=(" + y(e2.d, "", t2) + ")()}else{tR+=" + t2.varName + "[" + e2.p + "]}";
|
1020
|
-
} }), E = new b({ e: function(e2) {
|
1021
|
-
var t2 = String(e2);
|
1022
|
-
return /[&<>"']/.test(t2) ? t2.replace(/[&<>"']/g, S) : t2;
|
1023
|
-
} }), j = { varName: "it", autoTrim: [false, "nl"], autoEscape: true, defaultFilter: false, tags: ["{{", "}}"], l: function(e2, n2) {
|
1024
|
-
if ("H" === e2) {
|
1025
|
-
var r2 = this.storage.helpers.get(n2);
|
1026
|
-
if (r2)
|
1027
|
-
return r2;
|
1028
|
-
throw t("Can't find helper '" + n2 + "'");
|
1029
|
-
}
|
1030
|
-
if ("F" === e2) {
|
1031
|
-
var a2 = this.storage.filters.get(n2);
|
1032
|
-
if (a2)
|
1033
|
-
return a2;
|
1034
|
-
throw t("Can't find filter '" + n2 + "'");
|
1035
|
-
}
|
1036
|
-
}, async: false, storage: { helpers: R, nativeHelpers: T, filters: E, templates: I }, prefixes: { h: "@", b: "#", i: "", r: "*", c: "/", e: "!" }, cache: false, plugins: [], useWith: false };
|
1037
|
-
function H(e2, t2) {
|
1038
|
-
var n2 = {};
|
1039
|
-
return s(n2, j), t2 && s(n2, t2), e2 && s(n2, e2), n2.l.bind(n2), n2;
|
1040
|
-
}
|
1041
|
-
function O(e2, n2) {
|
1042
|
-
var r2 = H(n2 || {}), i2 = Function;
|
1043
|
-
if (r2.async) {
|
1044
|
-
if (!a)
|
1045
|
-
throw t("This environment doesn't support async/await");
|
1046
|
-
i2 = a;
|
1047
|
-
}
|
1048
|
-
try {
|
1049
|
-
return new i2(r2.varName, "c", "cb", d(e2, r2));
|
1050
|
-
} catch (n3) {
|
1051
|
-
throw n3 instanceof SyntaxError ? t("Bad template syntax\n\n" + n3.message + "\n" + Array(n3.message.length + 1).join("=") + "\n" + d(e2, r2)) : n3;
|
1052
|
-
}
|
1053
|
-
}
|
1054
|
-
function _(e2, t2) {
|
1055
|
-
var n2;
|
1056
|
-
return t2.cache && t2.name && t2.storage.templates.get(t2.name) ? t2.storage.templates.get(t2.name) : (n2 = "function" == typeof e2 ? e2 : O(e2, t2), t2.cache && t2.name && t2.storage.templates.define(t2.name, n2), n2);
|
1057
|
-
}
|
1058
|
-
j.l.bind(j), e.compile = O, e.compileScope = x, e.compileScopeIntoFunction = y, e.compileToString = d, e.defaultConfig = j, e.filters = E, e.getConfig = H, e.helpers = R, e.nativeHelpers = T, e.parse = h, e.render = function(e2, n2, a2, i2) {
|
1059
|
-
var s2 = H(a2 || {});
|
1060
|
-
if (!s2.async)
|
1061
|
-
return _(e2, s2)(n2, s2);
|
1062
|
-
if (!i2) {
|
1063
|
-
if ("function" == typeof r)
|
1064
|
-
return new r(function(t2, r2) {
|
1065
|
-
try {
|
1066
|
-
t2(_(e2, s2)(n2, s2));
|
1067
|
-
} catch (e3) {
|
1068
|
-
r2(e3);
|
1069
|
-
}
|
1070
|
-
});
|
1071
|
-
throw t("Please provide a callback function, this env doesn't support Promises");
|
1072
|
-
}
|
1073
|
-
try {
|
1074
|
-
_(e2, s2)(n2, s2, i2);
|
1075
|
-
} catch (e3) {
|
1076
|
-
return i2(e3);
|
1077
|
-
}
|
1078
|
-
}, e.templates = I, Object.defineProperty(e, "__esModule", { value: true });
|
1079
|
-
});
|
1080
|
-
})(squirrelly_min, squirrelly_min.exports);
|
1081
|
-
var squirrelly_minExports = squirrelly_min.exports;
|
1082
|
-
var wasmAsyncWeb$1 = {};
|
1083
|
-
var wrapAssembly$1 = {};
|
1084
|
-
var YGEnums = {};
|
1085
|
-
Object.defineProperty(YGEnums, "__esModule", {
|
1086
|
-
value: true
|
1087
|
-
});
|
1088
|
-
YGEnums.default = YGEnums.Wrap = YGEnums.Unit = YGEnums.PrintOptions = YGEnums.PositionType = YGEnums.Overflow = YGEnums.NodeType = YGEnums.MeasureMode = YGEnums.LogLevel = YGEnums.Justify = YGEnums.Gutter = YGEnums.FlexDirection = YGEnums.ExperimentalFeature = YGEnums.Errata = YGEnums.Edge = YGEnums.Display = YGEnums.Direction = YGEnums.Dimension = YGEnums.Align = void 0;
|
1089
|
-
let Align = /* @__PURE__ */ function(Align2) {
|
1090
|
-
Align2[Align2["Auto"] = 0] = "Auto";
|
1091
|
-
Align2[Align2["FlexStart"] = 1] = "FlexStart";
|
1092
|
-
Align2[Align2["Center"] = 2] = "Center";
|
1093
|
-
Align2[Align2["FlexEnd"] = 3] = "FlexEnd";
|
1094
|
-
Align2[Align2["Stretch"] = 4] = "Stretch";
|
1095
|
-
Align2[Align2["Baseline"] = 5] = "Baseline";
|
1096
|
-
Align2[Align2["SpaceBetween"] = 6] = "SpaceBetween";
|
1097
|
-
Align2[Align2["SpaceAround"] = 7] = "SpaceAround";
|
1098
|
-
return Align2;
|
1099
|
-
}({});
|
1100
|
-
YGEnums.Align = Align;
|
1101
|
-
let Dimension = /* @__PURE__ */ function(Dimension2) {
|
1102
|
-
Dimension2[Dimension2["Width"] = 0] = "Width";
|
1103
|
-
Dimension2[Dimension2["Height"] = 1] = "Height";
|
1104
|
-
return Dimension2;
|
1105
|
-
}({});
|
1106
|
-
YGEnums.Dimension = Dimension;
|
1107
|
-
let Direction = /* @__PURE__ */ function(Direction2) {
|
1108
|
-
Direction2[Direction2["Inherit"] = 0] = "Inherit";
|
1109
|
-
Direction2[Direction2["LTR"] = 1] = "LTR";
|
1110
|
-
Direction2[Direction2["RTL"] = 2] = "RTL";
|
1111
|
-
return Direction2;
|
1112
|
-
}({});
|
1113
|
-
YGEnums.Direction = Direction;
|
1114
|
-
let Display = /* @__PURE__ */ function(Display2) {
|
1115
|
-
Display2[Display2["Flex"] = 0] = "Flex";
|
1116
|
-
Display2[Display2["None"] = 1] = "None";
|
1117
|
-
return Display2;
|
1118
|
-
}({});
|
1119
|
-
YGEnums.Display = Display;
|
1120
|
-
let Edge = /* @__PURE__ */ function(Edge2) {
|
1121
|
-
Edge2[Edge2["Left"] = 0] = "Left";
|
1122
|
-
Edge2[Edge2["Top"] = 1] = "Top";
|
1123
|
-
Edge2[Edge2["Right"] = 2] = "Right";
|
1124
|
-
Edge2[Edge2["Bottom"] = 3] = "Bottom";
|
1125
|
-
Edge2[Edge2["Start"] = 4] = "Start";
|
1126
|
-
Edge2[Edge2["End"] = 5] = "End";
|
1127
|
-
Edge2[Edge2["Horizontal"] = 6] = "Horizontal";
|
1128
|
-
Edge2[Edge2["Vertical"] = 7] = "Vertical";
|
1129
|
-
Edge2[Edge2["All"] = 8] = "All";
|
1130
|
-
return Edge2;
|
1131
|
-
}({});
|
1132
|
-
YGEnums.Edge = Edge;
|
1133
|
-
let Errata = /* @__PURE__ */ function(Errata2) {
|
1134
|
-
Errata2[Errata2["None"] = 0] = "None";
|
1135
|
-
Errata2[Errata2["StretchFlexBasis"] = 1] = "StretchFlexBasis";
|
1136
|
-
Errata2[Errata2["All"] = 2147483647] = "All";
|
1137
|
-
Errata2[Errata2["Classic"] = 2147483646] = "Classic";
|
1138
|
-
return Errata2;
|
1139
|
-
}({});
|
1140
|
-
YGEnums.Errata = Errata;
|
1141
|
-
let ExperimentalFeature = /* @__PURE__ */ function(ExperimentalFeature2) {
|
1142
|
-
ExperimentalFeature2[ExperimentalFeature2["WebFlexBasis"] = 0] = "WebFlexBasis";
|
1143
|
-
ExperimentalFeature2[ExperimentalFeature2["AbsolutePercentageAgainstPaddingEdge"] = 1] = "AbsolutePercentageAgainstPaddingEdge";
|
1144
|
-
ExperimentalFeature2[ExperimentalFeature2["FixJNILocalRefOverflows"] = 2] = "FixJNILocalRefOverflows";
|
1145
|
-
return ExperimentalFeature2;
|
1146
|
-
}({});
|
1147
|
-
YGEnums.ExperimentalFeature = ExperimentalFeature;
|
1148
|
-
let FlexDirection = /* @__PURE__ */ function(FlexDirection2) {
|
1149
|
-
FlexDirection2[FlexDirection2["Column"] = 0] = "Column";
|
1150
|
-
FlexDirection2[FlexDirection2["ColumnReverse"] = 1] = "ColumnReverse";
|
1151
|
-
FlexDirection2[FlexDirection2["Row"] = 2] = "Row";
|
1152
|
-
FlexDirection2[FlexDirection2["RowReverse"] = 3] = "RowReverse";
|
1153
|
-
return FlexDirection2;
|
1154
|
-
}({});
|
1155
|
-
YGEnums.FlexDirection = FlexDirection;
|
1156
|
-
let Gutter = /* @__PURE__ */ function(Gutter2) {
|
1157
|
-
Gutter2[Gutter2["Column"] = 0] = "Column";
|
1158
|
-
Gutter2[Gutter2["Row"] = 1] = "Row";
|
1159
|
-
Gutter2[Gutter2["All"] = 2] = "All";
|
1160
|
-
return Gutter2;
|
1161
|
-
}({});
|
1162
|
-
YGEnums.Gutter = Gutter;
|
1163
|
-
let Justify = /* @__PURE__ */ function(Justify2) {
|
1164
|
-
Justify2[Justify2["FlexStart"] = 0] = "FlexStart";
|
1165
|
-
Justify2[Justify2["Center"] = 1] = "Center";
|
1166
|
-
Justify2[Justify2["FlexEnd"] = 2] = "FlexEnd";
|
1167
|
-
Justify2[Justify2["SpaceBetween"] = 3] = "SpaceBetween";
|
1168
|
-
Justify2[Justify2["SpaceAround"] = 4] = "SpaceAround";
|
1169
|
-
Justify2[Justify2["SpaceEvenly"] = 5] = "SpaceEvenly";
|
1170
|
-
return Justify2;
|
1171
|
-
}({});
|
1172
|
-
YGEnums.Justify = Justify;
|
1173
|
-
let LogLevel = /* @__PURE__ */ function(LogLevel2) {
|
1174
|
-
LogLevel2[LogLevel2["Error"] = 0] = "Error";
|
1175
|
-
LogLevel2[LogLevel2["Warn"] = 1] = "Warn";
|
1176
|
-
LogLevel2[LogLevel2["Info"] = 2] = "Info";
|
1177
|
-
LogLevel2[LogLevel2["Debug"] = 3] = "Debug";
|
1178
|
-
LogLevel2[LogLevel2["Verbose"] = 4] = "Verbose";
|
1179
|
-
LogLevel2[LogLevel2["Fatal"] = 5] = "Fatal";
|
1180
|
-
return LogLevel2;
|
1181
|
-
}({});
|
1182
|
-
YGEnums.LogLevel = LogLevel;
|
1183
|
-
let MeasureMode = /* @__PURE__ */ function(MeasureMode2) {
|
1184
|
-
MeasureMode2[MeasureMode2["Undefined"] = 0] = "Undefined";
|
1185
|
-
MeasureMode2[MeasureMode2["Exactly"] = 1] = "Exactly";
|
1186
|
-
MeasureMode2[MeasureMode2["AtMost"] = 2] = "AtMost";
|
1187
|
-
return MeasureMode2;
|
1188
|
-
}({});
|
1189
|
-
YGEnums.MeasureMode = MeasureMode;
|
1190
|
-
let NodeType = /* @__PURE__ */ function(NodeType2) {
|
1191
|
-
NodeType2[NodeType2["Default"] = 0] = "Default";
|
1192
|
-
NodeType2[NodeType2["Text"] = 1] = "Text";
|
1193
|
-
return NodeType2;
|
1194
|
-
}({});
|
1195
|
-
YGEnums.NodeType = NodeType;
|
1196
|
-
let Overflow = /* @__PURE__ */ function(Overflow2) {
|
1197
|
-
Overflow2[Overflow2["Visible"] = 0] = "Visible";
|
1198
|
-
Overflow2[Overflow2["Hidden"] = 1] = "Hidden";
|
1199
|
-
Overflow2[Overflow2["Scroll"] = 2] = "Scroll";
|
1200
|
-
return Overflow2;
|
1201
|
-
}({});
|
1202
|
-
YGEnums.Overflow = Overflow;
|
1203
|
-
let PositionType = /* @__PURE__ */ function(PositionType2) {
|
1204
|
-
PositionType2[PositionType2["Static"] = 0] = "Static";
|
1205
|
-
PositionType2[PositionType2["Relative"] = 1] = "Relative";
|
1206
|
-
PositionType2[PositionType2["Absolute"] = 2] = "Absolute";
|
1207
|
-
return PositionType2;
|
1208
|
-
}({});
|
1209
|
-
YGEnums.PositionType = PositionType;
|
1210
|
-
let PrintOptions = /* @__PURE__ */ function(PrintOptions2) {
|
1211
|
-
PrintOptions2[PrintOptions2["Layout"] = 1] = "Layout";
|
1212
|
-
PrintOptions2[PrintOptions2["Style"] = 2] = "Style";
|
1213
|
-
PrintOptions2[PrintOptions2["Children"] = 4] = "Children";
|
1214
|
-
return PrintOptions2;
|
1215
|
-
}({});
|
1216
|
-
YGEnums.PrintOptions = PrintOptions;
|
1217
|
-
let Unit = /* @__PURE__ */ function(Unit2) {
|
1218
|
-
Unit2[Unit2["Undefined"] = 0] = "Undefined";
|
1219
|
-
Unit2[Unit2["Point"] = 1] = "Point";
|
1220
|
-
Unit2[Unit2["Percent"] = 2] = "Percent";
|
1221
|
-
Unit2[Unit2["Auto"] = 3] = "Auto";
|
1222
|
-
return Unit2;
|
1223
|
-
}({});
|
1224
|
-
YGEnums.Unit = Unit;
|
1225
|
-
let Wrap = /* @__PURE__ */ function(Wrap2) {
|
1226
|
-
Wrap2[Wrap2["NoWrap"] = 0] = "NoWrap";
|
1227
|
-
Wrap2[Wrap2["Wrap"] = 1] = "Wrap";
|
1228
|
-
Wrap2[Wrap2["WrapReverse"] = 2] = "WrapReverse";
|
1229
|
-
return Wrap2;
|
1230
|
-
}({});
|
1231
|
-
YGEnums.Wrap = Wrap;
|
1232
|
-
const constants = {
|
1233
|
-
ALIGN_AUTO: Align.Auto,
|
1234
|
-
ALIGN_FLEX_START: Align.FlexStart,
|
1235
|
-
ALIGN_CENTER: Align.Center,
|
1236
|
-
ALIGN_FLEX_END: Align.FlexEnd,
|
1237
|
-
ALIGN_STRETCH: Align.Stretch,
|
1238
|
-
ALIGN_BASELINE: Align.Baseline,
|
1239
|
-
ALIGN_SPACE_BETWEEN: Align.SpaceBetween,
|
1240
|
-
ALIGN_SPACE_AROUND: Align.SpaceAround,
|
1241
|
-
DIMENSION_WIDTH: Dimension.Width,
|
1242
|
-
DIMENSION_HEIGHT: Dimension.Height,
|
1243
|
-
DIRECTION_INHERIT: Direction.Inherit,
|
1244
|
-
DIRECTION_LTR: Direction.LTR,
|
1245
|
-
DIRECTION_RTL: Direction.RTL,
|
1246
|
-
DISPLAY_FLEX: Display.Flex,
|
1247
|
-
DISPLAY_NONE: Display.None,
|
1248
|
-
EDGE_LEFT: Edge.Left,
|
1249
|
-
EDGE_TOP: Edge.Top,
|
1250
|
-
EDGE_RIGHT: Edge.Right,
|
1251
|
-
EDGE_BOTTOM: Edge.Bottom,
|
1252
|
-
EDGE_START: Edge.Start,
|
1253
|
-
EDGE_END: Edge.End,
|
1254
|
-
EDGE_HORIZONTAL: Edge.Horizontal,
|
1255
|
-
EDGE_VERTICAL: Edge.Vertical,
|
1256
|
-
EDGE_ALL: Edge.All,
|
1257
|
-
ERRATA_NONE: Errata.None,
|
1258
|
-
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
1259
|
-
ERRATA_ALL: Errata.All,
|
1260
|
-
ERRATA_CLASSIC: Errata.Classic,
|
1261
|
-
EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: ExperimentalFeature.WebFlexBasis,
|
1262
|
-
EXPERIMENTAL_FEATURE_ABSOLUTE_PERCENTAGE_AGAINST_PADDING_EDGE: ExperimentalFeature.AbsolutePercentageAgainstPaddingEdge,
|
1263
|
-
EXPERIMENTAL_FEATURE_FIX_JNILOCAL_REF_OVERFLOWS: ExperimentalFeature.FixJNILocalRefOverflows,
|
1264
|
-
FLEX_DIRECTION_COLUMN: FlexDirection.Column,
|
1265
|
-
FLEX_DIRECTION_COLUMN_REVERSE: FlexDirection.ColumnReverse,
|
1266
|
-
FLEX_DIRECTION_ROW: FlexDirection.Row,
|
1267
|
-
FLEX_DIRECTION_ROW_REVERSE: FlexDirection.RowReverse,
|
1268
|
-
GUTTER_COLUMN: Gutter.Column,
|
1269
|
-
GUTTER_ROW: Gutter.Row,
|
1270
|
-
GUTTER_ALL: Gutter.All,
|
1271
|
-
JUSTIFY_FLEX_START: Justify.FlexStart,
|
1272
|
-
JUSTIFY_CENTER: Justify.Center,
|
1273
|
-
JUSTIFY_FLEX_END: Justify.FlexEnd,
|
1274
|
-
JUSTIFY_SPACE_BETWEEN: Justify.SpaceBetween,
|
1275
|
-
JUSTIFY_SPACE_AROUND: Justify.SpaceAround,
|
1276
|
-
JUSTIFY_SPACE_EVENLY: Justify.SpaceEvenly,
|
1277
|
-
LOG_LEVEL_ERROR: LogLevel.Error,
|
1278
|
-
LOG_LEVEL_WARN: LogLevel.Warn,
|
1279
|
-
LOG_LEVEL_INFO: LogLevel.Info,
|
1280
|
-
LOG_LEVEL_DEBUG: LogLevel.Debug,
|
1281
|
-
LOG_LEVEL_VERBOSE: LogLevel.Verbose,
|
1282
|
-
LOG_LEVEL_FATAL: LogLevel.Fatal,
|
1283
|
-
MEASURE_MODE_UNDEFINED: MeasureMode.Undefined,
|
1284
|
-
MEASURE_MODE_EXACTLY: MeasureMode.Exactly,
|
1285
|
-
MEASURE_MODE_AT_MOST: MeasureMode.AtMost,
|
1286
|
-
NODE_TYPE_DEFAULT: NodeType.Default,
|
1287
|
-
NODE_TYPE_TEXT: NodeType.Text,
|
1288
|
-
OVERFLOW_VISIBLE: Overflow.Visible,
|
1289
|
-
OVERFLOW_HIDDEN: Overflow.Hidden,
|
1290
|
-
OVERFLOW_SCROLL: Overflow.Scroll,
|
1291
|
-
POSITION_TYPE_STATIC: PositionType.Static,
|
1292
|
-
POSITION_TYPE_RELATIVE: PositionType.Relative,
|
1293
|
-
POSITION_TYPE_ABSOLUTE: PositionType.Absolute,
|
1294
|
-
PRINT_OPTIONS_LAYOUT: PrintOptions.Layout,
|
1295
|
-
PRINT_OPTIONS_STYLE: PrintOptions.Style,
|
1296
|
-
PRINT_OPTIONS_CHILDREN: PrintOptions.Children,
|
1297
|
-
UNIT_UNDEFINED: Unit.Undefined,
|
1298
|
-
UNIT_POINT: Unit.Point,
|
1299
|
-
UNIT_PERCENT: Unit.Percent,
|
1300
|
-
UNIT_AUTO: Unit.Auto,
|
1301
|
-
WRAP_NO_WRAP: Wrap.NoWrap,
|
1302
|
-
WRAP_WRAP: Wrap.Wrap,
|
1303
|
-
WRAP_WRAP_REVERSE: Wrap.WrapReverse
|
1304
|
-
};
|
1305
|
-
var _default = constants;
|
1306
|
-
YGEnums.default = _default;
|
1307
|
-
Object.defineProperty(wrapAssembly$1, "__esModule", {
|
1308
|
-
value: true
|
1309
|
-
});
|
1310
|
-
wrapAssembly$1.default = wrapAssembly;
|
1311
|
-
var _YGEnums = _interopRequireWildcard(YGEnums);
|
1312
|
-
function _getRequireWildcardCache(nodeInterop) {
|
1313
|
-
if (typeof WeakMap !== "function")
|
1314
|
-
return null;
|
1315
|
-
var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
|
1316
|
-
var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
|
1317
|
-
return (_getRequireWildcardCache = function(nodeInterop2) {
|
1318
|
-
return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
|
1319
|
-
})(nodeInterop);
|
1320
|
-
}
|
1321
|
-
function _interopRequireWildcard(obj, nodeInterop) {
|
1322
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
1323
|
-
return obj;
|
1324
|
-
}
|
1325
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
1326
|
-
return { default: obj };
|
1327
|
-
}
|
1328
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
1329
|
-
if (cache && cache.has(obj)) {
|
1330
|
-
return cache.get(obj);
|
1331
|
-
}
|
1332
|
-
var newObj = {};
|
1333
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
1334
|
-
for (var key in obj) {
|
1335
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
1336
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
1337
|
-
if (desc && (desc.get || desc.set)) {
|
1338
|
-
Object.defineProperty(newObj, key, desc);
|
1339
|
-
} else {
|
1340
|
-
newObj[key] = obj[key];
|
1341
|
-
}
|
1342
|
-
}
|
1343
|
-
}
|
1344
|
-
newObj.default = obj;
|
1345
|
-
if (cache) {
|
1346
|
-
cache.set(obj, newObj);
|
1347
|
-
}
|
1348
|
-
return newObj;
|
1349
|
-
}
|
1350
|
-
function wrapAssembly(lib) {
|
1351
|
-
function patch(prototype, name2, fn) {
|
1352
|
-
const original = prototype[name2];
|
1353
|
-
prototype[name2] = function() {
|
1354
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
1355
|
-
args[_key] = arguments[_key];
|
1356
|
-
}
|
1357
|
-
return fn.call(this, original, ...args);
|
1358
|
-
};
|
1359
|
-
}
|
1360
|
-
for (const fnName of ["setPosition", "setMargin", "setFlexBasis", "setWidth", "setHeight", "setMinWidth", "setMinHeight", "setMaxWidth", "setMaxHeight", "setPadding"]) {
|
1361
|
-
const methods = {
|
1362
|
-
[_YGEnums.Unit.Point]: lib.Node.prototype[fnName],
|
1363
|
-
[_YGEnums.Unit.Percent]: lib.Node.prototype[`${fnName}Percent`],
|
1364
|
-
[_YGEnums.Unit.Auto]: lib.Node.prototype[`${fnName}Auto`]
|
1365
|
-
};
|
1366
|
-
patch(lib.Node.prototype, fnName, function(original) {
|
1367
|
-
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
1368
|
-
args[_key2 - 1] = arguments[_key2];
|
1369
|
-
}
|
1370
|
-
const value = args.pop();
|
1371
|
-
let unit, asNumber;
|
1372
|
-
if (value === "auto") {
|
1373
|
-
unit = _YGEnums.Unit.Auto;
|
1374
|
-
asNumber = void 0;
|
1375
|
-
} else if (typeof value === "object") {
|
1376
|
-
unit = value.unit;
|
1377
|
-
asNumber = value.valueOf();
|
1378
|
-
} else {
|
1379
|
-
unit = typeof value === "string" && value.endsWith("%") ? _YGEnums.Unit.Percent : _YGEnums.Unit.Point;
|
1380
|
-
asNumber = parseFloat(value);
|
1381
|
-
if (!Number.isNaN(value) && Number.isNaN(asNumber)) {
|
1382
|
-
throw new Error(`Invalid value ${value} for ${fnName}`);
|
1383
|
-
}
|
1384
|
-
}
|
1385
|
-
if (!methods[unit])
|
1386
|
-
throw new Error(`Failed to execute "${fnName}": Unsupported unit '${value}'`);
|
1387
|
-
if (asNumber !== void 0) {
|
1388
|
-
return methods[unit].call(this, ...args, asNumber);
|
1389
|
-
} else {
|
1390
|
-
return methods[unit].call(this, ...args);
|
1391
|
-
}
|
1392
|
-
});
|
1393
|
-
}
|
1394
|
-
function wrapMeasureFunction(measureFunction) {
|
1395
|
-
return lib.MeasureCallback.implement({
|
1396
|
-
measure: function() {
|
1397
|
-
const {
|
1398
|
-
width,
|
1399
|
-
height
|
1400
|
-
} = measureFunction(...arguments);
|
1401
|
-
return {
|
1402
|
-
width: width ?? NaN,
|
1403
|
-
height: height ?? NaN
|
1404
|
-
};
|
1405
|
-
}
|
1406
|
-
});
|
1407
|
-
}
|
1408
|
-
patch(lib.Node.prototype, "setMeasureFunc", function(original, measureFunc) {
|
1409
|
-
if (measureFunc) {
|
1410
|
-
return original.call(this, wrapMeasureFunction(measureFunc));
|
1411
|
-
} else {
|
1412
|
-
return this.unsetMeasureFunc();
|
1413
|
-
}
|
1414
|
-
});
|
1415
|
-
function wrapDirtiedFunc(dirtiedFunction) {
|
1416
|
-
return lib.DirtiedCallback.implement({
|
1417
|
-
dirtied: dirtiedFunction
|
1418
|
-
});
|
1419
|
-
}
|
1420
|
-
patch(lib.Node.prototype, "setDirtiedFunc", function(original, dirtiedFunc) {
|
1421
|
-
original.call(this, wrapDirtiedFunc(dirtiedFunc));
|
1422
|
-
});
|
1423
|
-
patch(lib.Config.prototype, "free", function() {
|
1424
|
-
lib.Config.destroy(this);
|
1425
|
-
});
|
1426
|
-
patch(lib.Node, "create", (_, config) => {
|
1427
|
-
return config ? lib.Node.createWithConfig(config) : lib.Node.createDefault();
|
1428
|
-
});
|
1429
|
-
patch(lib.Node.prototype, "free", function() {
|
1430
|
-
lib.Node.destroy(this);
|
1431
|
-
});
|
1432
|
-
patch(lib.Node.prototype, "freeRecursive", function() {
|
1433
|
-
for (let t = 0, T = this.getChildCount(); t < T; ++t) {
|
1434
|
-
this.getChild(0).freeRecursive();
|
1435
|
-
}
|
1436
|
-
this.free();
|
1437
|
-
});
|
1438
|
-
patch(lib.Node.prototype, "calculateLayout", function(original) {
|
1439
|
-
let width = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : NaN;
|
1440
|
-
let height = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : NaN;
|
1441
|
-
let direction = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : _YGEnums.Direction.LTR;
|
1442
|
-
return original.call(this, width, height, direction);
|
1443
|
-
});
|
1444
|
-
return {
|
1445
|
-
Config: lib.Config,
|
1446
|
-
Node: lib.Node,
|
1447
|
-
..._YGEnums.default
|
1448
|
-
};
|
1449
|
-
}
|
1450
|
-
var wasmAsyncWeb = { exports: {} };
|
1451
|
-
(function(module2, exports2) {
|
1452
|
-
var loadYoga = (() => {
|
1453
|
-
var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
|
1454
|
-
return function(loadYoga2) {
|
1455
|
-
loadYoga2 = loadYoga2 || {};
|
1456
|
-
var h;
|
1457
|
-
h || (h = typeof loadYoga2 !== "undefined" ? loadYoga2 : {});
|
1458
|
-
var ba, ca2;
|
1459
|
-
h.ready = new Promise(function(a, b) {
|
1460
|
-
ba = a;
|
1461
|
-
ca2 = b;
|
1462
|
-
});
|
1463
|
-
var da = Object.assign({}, h), q = "";
|
1464
|
-
"undefined" != typeof document && document.currentScript && (q = document.currentScript.src);
|
1465
|
-
_scriptDir && (q = _scriptDir);
|
1466
|
-
0 !== q.indexOf("blob:") ? q = q.substr(0, q.replace(/[?#].*/, "").lastIndexOf("/") + 1) : q = "";
|
1467
|
-
var ea = h.print || console.log.bind(console), v = h.printErr || console.warn.bind(console);
|
1468
|
-
Object.assign(h, da);
|
1469
|
-
da = null;
|
1470
|
-
var w;
|
1471
|
-
h.wasmBinary && (w = h.wasmBinary);
|
1472
|
-
h.noExitRuntime || true;
|
1473
|
-
"object" != typeof WebAssembly && x("no native wasm support detected");
|
1474
|
-
var fa, ha = false;
|
1475
|
-
function ia(a, b, c) {
|
1476
|
-
c = b + c;
|
1477
|
-
for (var d = ""; !(b >= c); ) {
|
1478
|
-
var e = a[b++];
|
1479
|
-
if (!e)
|
1480
|
-
break;
|
1481
|
-
if (e & 128) {
|
1482
|
-
var f = a[b++] & 63;
|
1483
|
-
if (192 == (e & 224))
|
1484
|
-
d += String.fromCharCode((e & 31) << 6 | f);
|
1485
|
-
else {
|
1486
|
-
var g = a[b++] & 63;
|
1487
|
-
e = 224 == (e & 240) ? (e & 15) << 12 | f << 6 | g : (e & 7) << 18 | f << 12 | g << 6 | a[b++] & 63;
|
1488
|
-
65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023));
|
1489
|
-
}
|
1490
|
-
} else
|
1491
|
-
d += String.fromCharCode(e);
|
1492
|
-
}
|
1493
|
-
return d;
|
1494
|
-
}
|
1495
|
-
var ja, ka, z, A, la, C, D, ma, na;
|
1496
|
-
function oa() {
|
1497
|
-
var a = fa.buffer;
|
1498
|
-
ja = a;
|
1499
|
-
h.HEAP8 = ka = new Int8Array(a);
|
1500
|
-
h.HEAP16 = A = new Int16Array(a);
|
1501
|
-
h.HEAP32 = C = new Int32Array(a);
|
1502
|
-
h.HEAPU8 = z = new Uint8Array(a);
|
1503
|
-
h.HEAPU16 = la = new Uint16Array(a);
|
1504
|
-
h.HEAPU32 = D = new Uint32Array(a);
|
1505
|
-
h.HEAPF32 = ma = new Float32Array(a);
|
1506
|
-
h.HEAPF64 = na = new Float64Array(a);
|
1507
|
-
}
|
1508
|
-
var pa, qa = [], ra = [], sa = [];
|
1509
|
-
function ta() {
|
1510
|
-
var a = h.preRun.shift();
|
1511
|
-
qa.unshift(a);
|
1512
|
-
}
|
1513
|
-
var E = 0, F = null;
|
1514
|
-
function x(a) {
|
1515
|
-
if (h.onAbort)
|
1516
|
-
h.onAbort(a);
|
1517
|
-
a = "Aborted(" + a + ")";
|
1518
|
-
v(a);
|
1519
|
-
ha = true;
|
1520
|
-
a = new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info.");
|
1521
|
-
ca2(a);
|
1522
|
-
throw a;
|
1523
|
-
}
|
1524
|
-
function va(a) {
|
1525
|
-
return a.startsWith("data:application/octet-stream;base64,");
|
1526
|
-
}
|
1527
|
-
var G;
|
1528
|
-
G = "data:application/octet-stream;base64,AGFzbQEAAAABvgM4YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gAABgA39/fABgAX8BfGADf399AX1gBX9/f39/AX9gAn9/AXxgAAF/YAZ/f31/fX8AYAR/f39/AX9gAn9/AX1gBn9/f39/fwF/YAV/f39/fwBgBH9/f38AYAN/fn8BfmAHf39/f39/fwBgBn9/f39/fwBgAn19AX1gAX0Bf2ABfwF9YAZ/fH9/f38Bf2ACf30AYAR/fHx/AGAIf39/f39/f38AYA1/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgBX9/f39/AXxgBH9/fX0BfWAEfHx/fwF9YA5/fX1/f399fX9/f39/fwF/YAZ/f319f38AYAJ+fwF/YAR/fX1/AX1gA399fQF9YAF8AXxgBH98fHwAYAV/f319fQF9YA5/fX1/f399fX9/f39/fwBgB39/fX99f38AYA1/fX99f31/fX19fX1/AX9gBX9/fX19AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfWADf39/AXxgBH9/f3wAYAN/f30AYAZ/f31/fX8BfwKvAR0BYQFhAB0BYQFiAAMBYQFjABUBYQFkABIBYQFlAAcBYQFmAB4BYQFnAAABYQFoAB8BYQFpAAMBYQFqAAABYQFrABYBYQFsAAUBYQFtAAMBYQFuAAEBYQFvABYBYQFwAAYBYQFxAAABYQFyAAABYQFzACABYQF0ABMBYQF1AAsBYQF2ABUBYQF3AAIBYQF4AAMBYQF5AA8BYQF6AAIBYQFBAAEBYQFCABIBYQFDAAEDgwKBAgIXChAQCgoKIQIDEgAGBgcBBRgiGAYPCgMGIwMDBSQDGSUBDwoZAwMKAgUAAAIDAQMGAgcBCAwAFygHAAUAKQIBKistAwMGAgECAAEuCgUKLwcFEwIwCzECBwIAAgEGEwECAgEFAQAHAQURAQEBAQgIAQEAAg0CAgIFAQEBGwMNAQEBCwsGFAIBGhQGAgcCDgAAAAUyMzQMBQYINQUCAwUNDQ02AgMCAgIDBgICNwIMDAwBCQkJCQkJHAIAAAABAA4BBQICAQMCEAMMCQEBAQEBAQkJAQICAwICAgICAgMCCAEICAgEBAQEBAQEBAQABAQABAQEBAAEBAQBAQEICAEBBAcB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ABAAQQgQHSIAQQA2AgQgAEHxADYCAEGbN0GUC0EDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEHyADYCAEGbN0GdEUECQYAlQbgiQdMAIABBABAAQQgQHSIAQQA2AgQgAEHzADYCAEGbN0GxFEEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH0ADYCAEGbN0GUDEEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH1ADYCAEGbN0GHDUEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH2ADYCAEGbN0GlC0EDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH3ADYCAEGbN0GHFEEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH4ADYCAEGbN0HxC0EDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH5ADYCAEGbN0HZDEEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH6ADYCAEGbN0GAC0EDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH7ADYCAEGbN0GBEkEDQbglQe4kQecAIABBABAAQQgQHSIAQQA2AgQgAEH8ADYCAEGbN0GtEEEEQaAlQbAlQdkAIABBABAAQQgQHSIAQQA2AgQgAEH9ADYCAEGbN0GfFUEEQaAlQbAlQdkAIABBABAAQQgQHSIAQQA2AgQgAEH+ADYCAEGbN0GnDEEEQaAlQbAlQdkAIABBABAAQQgQHSIAQQA2AgQgAEH/ADYCAEGbN0GMEUEEQaAlQbAlQdkAIABBABAAQQgQHSIAQQA2AgQgAEGAATYCAEGbN0GCF0ECQcQlQcQiQYEBIABBABAAQQgQHSIAQQA2AgQgAEGCATYCAEGbN0GrEkEDQcwlQaAjQYMBIABBABAAQQgQHSIAQQA2AgQgAEGEATYCAEGbN0HcCkECQcQlQcQiQYEBIABBABAAQQgQHSIAQQA2AgQgAEGFATYCAEGbN0GoDkECQcQlQcQiQYEBIABBABAAQQgQHSIAQQA2AgQgAEGGATYCAEGbN0HFFkECQcQlQcQiQYEBIABBABAAQQgQHSIAQQA2AgQgAEGHATYCAEGbN0HcEkECQcQlQcQiQYEBIABBABAAQQgQHSIAQQA2AgQgAEGI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ADoAACAAIAAoAiwiATYCHCAAIAE2AhQgAgsEAEIACwQAQQALigUCBn4CfyABIAEoAgBBB2pBeHEiAUEQajYCACAAIQkgASkDACEDIAEpAwghBiMAQSBrIggkAAJAIAZC////////////AIMiBEKAgICAgIDAgDx9IARCgICAgICAwP/DAH1UBEAgBkIEhiADQjyIhCEEIANC//////////8PgyIDQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQIMAgsgBEKAgICAgICAgEB9IQIgA0KAgICAgICAgAhSDQEgAiAEQgGDfCECDAELIANQIARCgICAgICAwP//AFQgBEKAgICAgIDA//8AURtFBEAgBkIEhiADQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgBEL///////+//8MAVg0AQgAhAiAEQjCIpyIAQZH3AEkNACADIQIgBkL///////8/g0KAgICAgIDAAIQiBSEHAkAgAEGB9wBrIgFBwABxBEAgAiABQUBqrYYhB0IAIQIMAQsgAUUNACAHIAGtIgSGIAJBwAAgAWutiIQhByACIASGIQILIAggAjcDECAIIAc3AxgCQEGB+AAgAGsiAEHAAHEEQCAFIABBQGqtiCEDQgAhBQwBCyAARQ0AIAVBwAAgAGuthiADIACtIgKIhCEDIAUgAoghBQsgCCADNwMAIAggBTcDCCAIKQMIQgSGIAgpAwAiA0I8iIQhAiAIKQMQIAgpAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIAhBIGokACAJIAIgBkKAgICAgICAgIB/g4S/OQMAC5gYAxJ/AXwDfiMAQbAEayIMJAAgDEEANgIsAkAgAb0iGUIAUwRAQQEhEUGZCSETIAGaIgG9IRkMAQsgBEGAEHEEQEEBIRFBnAkhEwwBC0GfCUGaCSAEQQFxIhEbIRMgEUUhFQsCQCAZQoCAgICAgID4/wCDQoCAgICAgID4/wBRBEAgAEEgIAIgEUEDaiIDIARB//97cRAoIAAgEyARECcgAEGTE0GDGyAFQSBxIgUbQbQWQYcbIAUbIAEgAWIbQQMQJyAAQSAgAiADIARBgMAAcxAo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ABECAAsFAEGbNwsPACABIAAoAgBqIAI2AgALDQAgASAAKAIAaigCAAsYAQF/QRAQHSIAQgA3AwggAEEANgIAIAALGAEBf0EQEB0iAEIANwMAIABCADcDCCAACwwAQTAQHUEAQTAQKgs3AQF/IAEgACgCBCIDQQF1aiEBIAAoAgAhACABIAIgA0EBcQR/IAEoAgAgAGooAgAFIAALERsACwUAQZY3CyEAIAAgASgCACABIAEsAAtBAEgbQZM3IAIoAgAQDzYCAAsqAQF/QQwQHSIBQQA6AAQgASAAKAIANgIIIABBADYCACABQcgjNgIAIAELBQBBkzcLBQBBkDcLIQAgACABKAIAIAEgASwAC0EASBtB/DYgAigCABAPNgIAC9gBAQR/IwBBIGsiAyQAIAEoAgAiBEHw////B0kEQAJAAkAgBEELTwRAIARBD3JBAWoiBRAdIQYgAyAFQYCAgIB4cjYCECADIAY2AgggAyAENgIMIAQgBmohBQwBCyADIAQ6ABMgA0EIaiIGIARqIQUgBEUNAQsgBiABQQRqIAQQKxoLIAVBADoAACADIAI2AgAgA0EYaiADQQhqIAMgABEDACADKAIYEBAgAygCGCIAEAYgAygCABAGIAMsABNBAEgEQCADKAIIECkLIANBIGokACAADwsQBAALKgEBf0EMEB0iAUEAOgAEIAEgACgCADYCCCAAQQA2AgAgAUHQIjYCACABCwUAQfw2C2kBAn8jAEEQayIGJAAgASAAKAIEIgdBAXVqIQEgACgCACEAIAYgASACIAMgBCAFIAdBAXEEfyABKAIAIABqKAIABSAACxEOAEEQEB0iACAGKQMINwMIIAAgBikDADcDACAGQRBqJAAgAAsFAEH4NgubAQIBfwF9IwBBEGsiAiQAIAAoAgAhACABQQZIBEACfwJAAkACQCABQQRrDgIAAQILIABBpAJqIAAtAKwCQQNxQQJGDQIaIABBnAJqDAILIABBnAJqIAAtAKwCQQNxQQJGDQEaIABBpAJqDAELIAAgAUECdGpBnAJqCyoCACEDIAJBEGokACADuw8LIAJB0A42AgAgACACEC0QLAALmwECAX8BfSMAQRBrIgIkACAAKAIAIQAgAUEGSARAAn8CQAJAAkAgAUEEaw4CAAECCyAAQZQCaiAALQCsAkEDcUECRg0CGiAAQYwC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bXNlbHZlcyBhcyBkaXJ0eQBpc0RpcnR5AG1hcmtEaXJ0eQBkZXN0cm95AHNldERpc3BsYXkAZ2V0RGlzcGxheQBzZXRGbGV4AC0rICAgMFgweAAtMFgrMFggMFgtMHgrMHggMHgAc2V0RmxleEdyb3cAZ2V0RmxleEdyb3cAc2V0T3ZlcmZsb3cAZ2V0T3ZlcmZsb3cAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AHNldEFsaWduQ29udGVudABnZXRBbGlnbkNvbnRlbnQAZ2V0UGFyZW50AGltcGxlbWVudABzZXRNYXhIZWlnaHRQZXJjZW50AHNldEhlaWdodFBlcmNlbnQAc2V0TWluSGVpZ2h0UGVyY2VudABzZXRGbGV4QmFzaXNQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHVzZUxlZ2FjeVN0cmV0Y2hCZWhhdmlvdXIAc2V0VXNlTGVnYWN5U3RyZXRjaEJlaGF2aW91cgBzZXRQb2ludFNjYWxlRmFjdG9yAE1lYXN1cmVDYWxsYmFja1dyYXBwZXIARGlydGllZENhbGxiYWNrV3JhcHBlcgBDYW5ub3QgcmVzZXQgYSBub2RlIHN0aWxsIGF0dGFjaGVkIHRvIGEgb3duZXIAc2V0Qm9yZGVyAGdldEJvcmRlcgBnZXRDb21wdXRlZEJvcmRlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRNYXJnaW5BdXRvAHNldFdpZHRoQXV0bwBTY2FsZSBmYWN0b3Igc2hvdWxkIG5vdCBiZSBsZXNzIHRoYW4gemVybwBzZXRBc3BlY3RSYXRpbwBnZXRBc3BlY3RSYXRpbwBzZXRQb3NpdGlvbgBnZXRQb3NpdGlvbgBub3RpZnlPbkRlc3RydWN0aW9uAHNldEZsZXhEaXJlY3Rpb24AZ2V0RmxleERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAd2lkdGgAc2V0TWF4V2lkdGgAZ2V0TWF4V2lkdGgAc2V0V2lkdGgAZ2V0V2lkdGgAc2V0TWluV2lkdGgAZ2V0TWluV2lkdGgAZ2V0Q29tcHV0ZWRXaWR0aAB1bnNpZ25lZCBsb25nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAEF0dGVtcHRpbmcgdG8gY29uc3RydWN0IFlHTm9kZSB3aXRoIG51bGwgY29uZmlnAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBjcmVhdGVXaXRoQ29uZmlnAGluZgBzZXRBbGlnblNlbGYAZ2V0QWxpZ25TZWxmAFNpemUAdmFsdWUAVmFsdWUAY3JlYXRlAG1lYXN1cmUAc2V0UG9zaXRpb25UeXBlAGdldFBvc2l0aW9uVHlwZQBpc1JlZmVyZW5jZUJhc2VsaW5lAHNldElzUmVmZXJlbmNlQmFzZWxpbmUAY29weVN0eWxlAGRvdWJsZQBOb2RlAGV4dGVuZABpbnNlcnRDaGlsZABnZXRDaGlsZAByZW1vdmVDaGlsZAB2b2lkAGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodE1lYXN1cmVNb2RlIG11c3QgYmUgWUdNZWFzdXJlTW9kZVVuZGVmaW5lZABhdmFpbGFibGVXaWR0aCBpcyBpbmRlZmluaXRlIHNvIHdpZHRoTWVhc3VyZU1vZGUgbXVzdCBiZSBZR01lYXN1cmVNb2RlVW5kZWZpbmVkAHNldEV4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGlzRXhwZXJpbWVudGFsRmVhdHVyZUVuYWJsZWQAZGlydGllZABDYW5ub3QgcmVzZXQgYSBub2RlIHdoaWNoIHN0aWxsIGhhcyBjaGlsZHJlbiBhdHRhY2hlZAB1bnNldE1lYXN1cmVGdW5jAHVuc2V0RGlydGllZEZ1bmMAc2V0RXJyYXRhAGdldEVycmF0YQBFeHBlY3QgY3VzdG9tIGJhc2VsaW5lIGZ1bmN0aW9uIHRvIG5vdCByZXR1cm4gTmFOAE5BTgBJTkYAZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVp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";
|
1529
|
-
if (!va(G)) {
|
1530
|
-
var wa = G;
|
1531
|
-
G = h.locateFile ? h.locateFile(wa, q) : q + wa;
|
1532
|
-
}
|
1533
|
-
function xa() {
|
1534
|
-
var a = G;
|
1535
|
-
try {
|
1536
|
-
if (a == G && w)
|
1537
|
-
return new Uint8Array(w);
|
1538
|
-
if (va(a))
|
1539
|
-
try {
|
1540
|
-
var b = ya(a.slice(37)), c = new Uint8Array(b.length);
|
1541
|
-
for (a = 0; a < b.length; ++a)
|
1542
|
-
c[a] = b.charCodeAt(a);
|
1543
|
-
var d = c;
|
1544
|
-
} catch (f) {
|
1545
|
-
throw Error("Converting base64 string to bytes failed.");
|
1546
|
-
}
|
1547
|
-
else
|
1548
|
-
d = void 0;
|
1549
|
-
var e = d;
|
1550
|
-
if (e)
|
1551
|
-
return e;
|
1552
|
-
throw "both async and sync fetching of the wasm failed";
|
1553
|
-
} catch (f) {
|
1554
|
-
x(f);
|
1555
|
-
}
|
1556
|
-
}
|
1557
|
-
function za() {
|
1558
|
-
return w || "function" != typeof fetch ? Promise.resolve().then(function() {
|
1559
|
-
return xa();
|
1560
|
-
}) : fetch(G, { credentials: "same-origin" }).then(function(a) {
|
1561
|
-
if (!a.ok)
|
1562
|
-
throw "failed to load wasm binary file at '" + G + "'";
|
1563
|
-
return a.arrayBuffer();
|
1564
|
-
}).catch(function() {
|
1565
|
-
return xa();
|
1566
|
-
});
|
1567
|
-
}
|
1568
|
-
function Aa(a) {
|
1569
|
-
for (; 0 < a.length; )
|
1570
|
-
a.shift()(h);
|
1571
|
-
}
|
1572
|
-
function Ba(a) {
|
1573
|
-
if (void 0 === a)
|
1574
|
-
return "_unknown";
|
1575
|
-
a = a.replace(/[^a-zA-Z0-9_]/g, "$");
|
1576
|
-
var b = a.charCodeAt(0);
|
1577
|
-
return 48 <= b && 57 >= b ? "_" + a : a;
|
1578
|
-
}
|
1579
|
-
function Ca(a, b) {
|
1580
|
-
a = Ba(a);
|
1581
|
-
return function() {
|
1582
|
-
return b.apply(this, arguments);
|
1583
|
-
};
|
1584
|
-
}
|
1585
|
-
var H = [{}, { value: void 0 }, { value: null }, { value: true }, { value: false }], Da = [];
|
1586
|
-
function Ea(a) {
|
1587
|
-
var b = Error, c = Ca(a, function(d) {
|
1588
|
-
this.name = a;
|
1589
|
-
this.message = d;
|
1590
|
-
d = Error(d).stack;
|
1591
|
-
void 0 !== d && (this.stack = this.toString() + "\n" + d.replace(/^Error(:[^\n]*)?\n/, ""));
|
1592
|
-
});
|
1593
|
-
c.prototype = Object.create(b.prototype);
|
1594
|
-
c.prototype.constructor = c;
|
1595
|
-
c.prototype.toString = function() {
|
1596
|
-
return void 0 === this.message ? this.name : this.name + ": " + this.message;
|
1597
|
-
};
|
1598
|
-
return c;
|
1599
|
-
}
|
1600
|
-
var J = void 0;
|
1601
|
-
function K(a) {
|
1602
|
-
throw new J(a);
|
1603
|
-
}
|
1604
|
-
var L = (a) => {
|
1605
|
-
a || K("Cannot use deleted val. handle = " + a);
|
1606
|
-
return H[a].value;
|
1607
|
-
}, Fa = (a) => {
|
1608
|
-
switch (a) {
|
1609
|
-
case void 0:
|
1610
|
-
return 1;
|
1611
|
-
case null:
|
1612
|
-
return 2;
|
1613
|
-
case true:
|
1614
|
-
return 3;
|
1615
|
-
case false:
|
1616
|
-
return 4;
|
1617
|
-
default:
|
1618
|
-
var b = Da.length ? Da.pop() : H.length;
|
1619
|
-
H[b] = { fa: 1, value: a };
|
1620
|
-
return b;
|
1621
|
-
}
|
1622
|
-
}, Ga = void 0, Ha = void 0;
|
1623
|
-
function M(a) {
|
1624
|
-
for (var b = ""; z[a]; )
|
1625
|
-
b += Ha[z[a++]];
|
1626
|
-
return b;
|
1627
|
-
}
|
1628
|
-
var N = [];
|
1629
|
-
function Ia() {
|
1630
|
-
for (; N.length; ) {
|
1631
|
-
var a = N.pop();
|
1632
|
-
a.L.Z = false;
|
1633
|
-
a["delete"]();
|
1634
|
-
}
|
1635
|
-
}
|
1636
|
-
var O = void 0, P = {};
|
1637
|
-
function Ja(a, b) {
|
1638
|
-
for (void 0 === b && K("ptr should not be undefined"); a.P; )
|
1639
|
-
b = a.aa(b), a = a.P;
|
1640
|
-
return b;
|
1641
|
-
}
|
1642
|
-
var Q = {};
|
1643
|
-
function Ka(a) {
|
1644
|
-
a = La(a);
|
1645
|
-
var b = M(a);
|
1646
|
-
R(a);
|
1647
|
-
return b;
|
1648
|
-
}
|
1649
|
-
function Ma(a, b) {
|
1650
|
-
var c = Q[a];
|
1651
|
-
void 0 === c && K(b + " has unknown type " + Ka(a));
|
1652
|
-
return c;
|
1653
|
-
}
|
1654
|
-
function Na() {
|
1655
|
-
}
|
1656
|
-
var Oa = false;
|
1657
|
-
function Pa(a) {
|
1658
|
-
--a.count.value;
|
1659
|
-
0 === a.count.value && (a.S ? a.T.V(a.S) : a.O.M.V(a.N));
|
1660
|
-
}
|
1661
|
-
function Qa(a, b, c) {
|
1662
|
-
if (b === c)
|
1663
|
-
return a;
|
1664
|
-
if (void 0 === c.P)
|
1665
|
-
return null;
|
1666
|
-
a = Qa(a, b, c.P);
|
1667
|
-
return null === a ? null : c.ma(a);
|
1668
|
-
}
|
1669
|
-
var Ra = {};
|
1670
|
-
function Sa(a, b) {
|
1671
|
-
b = Ja(a, b);
|
1672
|
-
return P[b];
|
1673
|
-
}
|
1674
|
-
var Ta = void 0;
|
1675
|
-
function Ua(a) {
|
1676
|
-
throw new Ta(a);
|
1677
|
-
}
|
1678
|
-
function Va(a, b) {
|
1679
|
-
b.O && b.N || Ua("makeClassHandle requires ptr and ptrType");
|
1680
|
-
!!b.T !== !!b.S && Ua("Both smartPtrType and smartPtr must be specified");
|
1681
|
-
b.count = { value: 1 };
|
1682
|
-
return S(Object.create(a, { L: { value: b } }));
|
1683
|
-
}
|
1684
|
-
function S(a) {
|
1685
|
-
if ("undefined" === typeof FinalizationRegistry)
|
1686
|
-
return S = (b) => b, a;
|
1687
|
-
Oa = new FinalizationRegistry((b) => {
|
1688
|
-
Pa(b.L);
|
1689
|
-
});
|
1690
|
-
S = (b) => {
|
1691
|
-
var c = b.L;
|
1692
|
-
c.S && Oa.register(b, { L: c }, b);
|
1693
|
-
return b;
|
1694
|
-
};
|
1695
|
-
Na = (b) => {
|
1696
|
-
Oa.unregister(b);
|
1697
|
-
};
|
1698
|
-
return S(a);
|
1699
|
-
}
|
1700
|
-
var Wa = {};
|
1701
|
-
function Xa(a) {
|
1702
|
-
for (; a.length; ) {
|
1703
|
-
var b = a.pop();
|
1704
|
-
a.pop()(b);
|
1705
|
-
}
|
1706
|
-
}
|
1707
|
-
function T(a) {
|
1708
|
-
return this.fromWireType(C[a >> 2]);
|
1709
|
-
}
|
1710
|
-
var U = {}, Ya = {};
|
1711
|
-
function V(a, b, c) {
|
1712
|
-
function d(k) {
|
1713
|
-
k = c(k);
|
1714
|
-
k.length !== a.length && Ua("Mismatched type converter count");
|
1715
|
-
for (var m = 0; m < a.length; ++m)
|
1716
|
-
W(a[m], k[m]);
|
1717
|
-
}
|
1718
|
-
a.forEach(function(k) {
|
1719
|
-
Ya[k] = b;
|
1720
|
-
});
|
1721
|
-
var e = Array(b.length), f = [], g = 0;
|
1722
|
-
b.forEach((k, m) => {
|
1723
|
-
Q.hasOwnProperty(k) ? e[m] = Q[k] : (f.push(k), U.hasOwnProperty(k) || (U[k] = []), U[k].push(() => {
|
1724
|
-
e[m] = Q[k];
|
1725
|
-
++g;
|
1726
|
-
g === f.length && d(e);
|
1727
|
-
}));
|
1728
|
-
});
|
1729
|
-
0 === f.length && d(e);
|
1730
|
-
}
|
1731
|
-
function Za(a) {
|
1732
|
-
switch (a) {
|
1733
|
-
case 1:
|
1734
|
-
return 0;
|
1735
|
-
case 2:
|
1736
|
-
return 1;
|
1737
|
-
case 4:
|
1738
|
-
return 2;
|
1739
|
-
case 8:
|
1740
|
-
return 3;
|
1741
|
-
default:
|
1742
|
-
throw new TypeError("Unknown type size: " + a);
|
1743
|
-
}
|
1744
|
-
}
|
1745
|
-
function W(a, b, c = {}) {
|
1746
|
-
if (!("argPackAdvance" in b))
|
1747
|
-
throw new TypeError("registerType registeredInstance requires argPackAdvance");
|
1748
|
-
var d = b.name;
|
1749
|
-
a || K('type "' + d + '" must have a positive integer typeid pointer');
|
1750
|
-
if (Q.hasOwnProperty(a)) {
|
1751
|
-
if (c.ta)
|
1752
|
-
return;
|
1753
|
-
K("Cannot register type '" + d + "' twice");
|
1754
|
-
}
|
1755
|
-
Q[a] = b;
|
1756
|
-
delete Ya[a];
|
1757
|
-
U.hasOwnProperty(a) && (b = U[a], delete U[a], b.forEach((e) => e()));
|
1758
|
-
}
|
1759
|
-
function $a(a) {
|
1760
|
-
K(a.L.O.M.name + " instance already deleted");
|
1761
|
-
}
|
1762
|
-
function X() {
|
1763
|
-
}
|
1764
|
-
function ab(a, b, c) {
|
1765
|
-
if (void 0 === a[b].R) {
|
1766
|
-
var d = a[b];
|
1767
|
-
a[b] = function() {
|
1768
|
-
a[b].R.hasOwnProperty(arguments.length) || K("Function '" + c + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + a[b].R + ")!");
|
1769
|
-
return a[b].R[arguments.length].apply(this, arguments);
|
1770
|
-
};
|
1771
|
-
a[b].R = [];
|
1772
|
-
a[b].R[d.Y] = d;
|
1773
|
-
}
|
1774
|
-
}
|
1775
|
-
function bb(a, b) {
|
1776
|
-
h.hasOwnProperty(a) ? (K("Cannot register public name '" + a + "' twice"), ab(h, a, a), h.hasOwnProperty(void 0) && K("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"), h[a].R[void 0] = b) : h[a] = b;
|
1777
|
-
}
|
1778
|
-
function cb2(a, b, c, d, e, f, g, k) {
|
1779
|
-
this.name = a;
|
1780
|
-
this.constructor = b;
|
1781
|
-
this.W = c;
|
1782
|
-
this.V = d;
|
1783
|
-
this.P = e;
|
1784
|
-
this.oa = f;
|
1785
|
-
this.aa = g;
|
1786
|
-
this.ma = k;
|
1787
|
-
this.ia = [];
|
1788
|
-
}
|
1789
|
-
function db(a, b, c) {
|
1790
|
-
for (; b !== c; )
|
1791
|
-
b.aa || K("Expected null or instance of " + c.name + ", got an instance of " + b.name), a = b.aa(a), b = b.P;
|
1792
|
-
return a;
|
1793
|
-
}
|
1794
|
-
function eb(a, b) {
|
1795
|
-
if (null === b)
|
1796
|
-
return this.da && K("null is not a valid " + this.name), 0;
|
1797
|
-
b.L || K('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
1798
|
-
b.L.N || K("Cannot pass deleted object as a pointer of type " + this.name);
|
1799
|
-
return db(b.L.N, b.L.O.M, this.M);
|
1800
|
-
}
|
1801
|
-
function gb(a, b) {
|
1802
|
-
if (null === b) {
|
1803
|
-
this.da && K("null is not a valid " + this.name);
|
1804
|
-
if (this.ca) {
|
1805
|
-
var c = this.ea();
|
1806
|
-
null !== a && a.push(this.V, c);
|
1807
|
-
return c;
|
1808
|
-
}
|
1809
|
-
return 0;
|
1810
|
-
}
|
1811
|
-
b.L || K('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
1812
|
-
b.L.N || K("Cannot pass deleted object as a pointer of type " + this.name);
|
1813
|
-
!this.ba && b.L.O.ba && K("Cannot convert argument of type " + (b.L.T ? b.L.T.name : b.L.O.name) + " to parameter type " + this.name);
|
1814
|
-
c = db(b.L.N, b.L.O.M, this.M);
|
1815
|
-
if (this.ca)
|
1816
|
-
switch (void 0 === b.L.S && K("Passing raw pointer to smart pointer is illegal"), this.Aa) {
|
1817
|
-
case 0:
|
1818
|
-
b.L.T === this ? c = b.L.S : K("Cannot convert argument of type " + (b.L.T ? b.L.T.name : b.L.O.name) + " to parameter type " + this.name);
|
1819
|
-
break;
|
1820
|
-
case 1:
|
1821
|
-
c = b.L.S;
|
1822
|
-
break;
|
1823
|
-
case 2:
|
1824
|
-
if (b.L.T === this)
|
1825
|
-
c = b.L.S;
|
1826
|
-
else {
|
1827
|
-
var d = b.clone();
|
1828
|
-
c = this.wa(c, Fa(function() {
|
1829
|
-
d["delete"]();
|
1830
|
-
}));
|
1831
|
-
null !== a && a.push(this.V, c);
|
1832
|
-
}
|
1833
|
-
break;
|
1834
|
-
default:
|
1835
|
-
K("Unsupporting sharing policy");
|
1836
|
-
}
|
1837
|
-
return c;
|
1838
|
-
}
|
1839
|
-
function hb(a, b) {
|
1840
|
-
if (null === b)
|
1841
|
-
return this.da && K("null is not a valid " + this.name), 0;
|
1842
|
-
b.L || K('Cannot pass "' + fb(b) + '" as a ' + this.name);
|
1843
|
-
b.L.N || K("Cannot pass deleted object as a pointer of type " + this.name);
|
1844
|
-
b.L.O.ba && K("Cannot convert argument of type " + b.L.O.name + " to parameter type " + this.name);
|
1845
|
-
return db(b.L.N, b.L.O.M, this.M);
|
1846
|
-
}
|
1847
|
-
function Y(a, b, c, d) {
|
1848
|
-
this.name = a;
|
1849
|
-
this.M = b;
|
1850
|
-
this.da = c;
|
1851
|
-
this.ba = d;
|
1852
|
-
this.ca = false;
|
1853
|
-
this.V = this.wa = this.ea = this.ja = this.Aa = this.va = void 0;
|
1854
|
-
void 0 !== b.P ? this.toWireType = gb : (this.toWireType = d ? eb : hb, this.U = null);
|
1855
|
-
}
|
1856
|
-
function ib(a, b) {
|
1857
|
-
h.hasOwnProperty(a) || Ua("Replacing nonexistant public symbol");
|
1858
|
-
h[a] = b;
|
1859
|
-
h[a].Y = void 0;
|
1860
|
-
}
|
1861
|
-
function jb(a, b) {
|
1862
|
-
var c = [];
|
1863
|
-
return function() {
|
1864
|
-
c.length = 0;
|
1865
|
-
Object.assign(c, arguments);
|
1866
|
-
if (a.includes("j")) {
|
1867
|
-
var d = h["dynCall_" + a];
|
1868
|
-
d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);
|
1869
|
-
} else
|
1870
|
-
d = pa.get(b).apply(null, c);
|
1871
|
-
return d;
|
1872
|
-
};
|
1873
|
-
}
|
1874
|
-
function Z(a, b) {
|
1875
|
-
a = M(a);
|
1876
|
-
var c = a.includes("j") ? jb(a, b) : pa.get(b);
|
1877
|
-
"function" != typeof c && K("unknown function pointer with signature " + a + ": " + b);
|
1878
|
-
return c;
|
1879
|
-
}
|
1880
|
-
var mb = void 0;
|
1881
|
-
function nb(a, b) {
|
1882
|
-
function c(f) {
|
1883
|
-
e[f] || Q[f] || (Ya[f] ? Ya[f].forEach(c) : (d.push(f), e[f] = true));
|
1884
|
-
}
|
1885
|
-
var d = [], e = {};
|
1886
|
-
b.forEach(c);
|
1887
|
-
throw new mb(a + ": " + d.map(Ka).join([", "]));
|
1888
|
-
}
|
1889
|
-
function ob(a, b, c, d, e) {
|
1890
|
-
var f = b.length;
|
1891
|
-
2 > f && K("argTypes array size mismatch! Must at least get return value and 'this' types!");
|
1892
|
-
var g = null !== b[1] && null !== c, k = false;
|
1893
|
-
for (c = 1; c < b.length; ++c)
|
1894
|
-
if (null !== b[c] && void 0 === b[c].U) {
|
1895
|
-
k = true;
|
1896
|
-
break;
|
1897
|
-
}
|
1898
|
-
var m = "void" !== b[0].name, l = f - 2, n = Array(l), p = [], r = [];
|
1899
|
-
return function() {
|
1900
|
-
arguments.length !== l && K("function " + a + " called with " + arguments.length + " arguments, expected " + l + " args!");
|
1901
|
-
r.length = 0;
|
1902
|
-
p.length = g ? 2 : 1;
|
1903
|
-
p[0] = e;
|
1904
|
-
if (g) {
|
1905
|
-
var u = b[1].toWireType(r, this);
|
1906
|
-
p[1] = u;
|
1907
|
-
}
|
1908
|
-
for (var t = 0; t < l; ++t)
|
1909
|
-
n[t] = b[t + 2].toWireType(r, arguments[t]), p.push(n[t]);
|
1910
|
-
t = d.apply(null, p);
|
1911
|
-
if (k)
|
1912
|
-
Xa(r);
|
1913
|
-
else
|
1914
|
-
for (var y = g ? 1 : 2; y < b.length; y++) {
|
1915
|
-
var B = 1 === y ? u : n[y - 2];
|
1916
|
-
null !== b[y].U && b[y].U(B);
|
1917
|
-
}
|
1918
|
-
u = m ? b[0].fromWireType(t) : void 0;
|
1919
|
-
return u;
|
1920
|
-
};
|
1921
|
-
}
|
1922
|
-
function pb(a, b) {
|
1923
|
-
for (var c = [], d = 0; d < a; d++)
|
1924
|
-
c.push(D[b + 4 * d >> 2]);
|
1925
|
-
return c;
|
1926
|
-
}
|
1927
|
-
function qb(a) {
|
1928
|
-
4 < a && 0 === --H[a].fa && (H[a] = void 0, Da.push(a));
|
1929
|
-
}
|
1930
|
-
function fb(a) {
|
1931
|
-
if (null === a)
|
1932
|
-
return "null";
|
1933
|
-
var b = typeof a;
|
1934
|
-
return "object" === b || "array" === b || "function" === b ? a.toString() : "" + a;
|
1935
|
-
}
|
1936
|
-
function rb(a, b) {
|
1937
|
-
switch (b) {
|
1938
|
-
case 2:
|
1939
|
-
return function(c) {
|
1940
|
-
return this.fromWireType(ma[c >> 2]);
|
1941
|
-
};
|
1942
|
-
case 3:
|
1943
|
-
return function(c) {
|
1944
|
-
return this.fromWireType(na[c >> 3]);
|
1945
|
-
};
|
1946
|
-
default:
|
1947
|
-
throw new TypeError("Unknown float type: " + a);
|
1948
|
-
}
|
1949
|
-
}
|
1950
|
-
function sb(a, b, c) {
|
1951
|
-
switch (b) {
|
1952
|
-
case 0:
|
1953
|
-
return c ? function(d) {
|
1954
|
-
return ka[d];
|
1955
|
-
} : function(d) {
|
1956
|
-
return z[d];
|
1957
|
-
};
|
1958
|
-
case 1:
|
1959
|
-
return c ? function(d) {
|
1960
|
-
return A[d >> 1];
|
1961
|
-
} : function(d) {
|
1962
|
-
return la[d >> 1];
|
1963
|
-
};
|
1964
|
-
case 2:
|
1965
|
-
return c ? function(d) {
|
1966
|
-
return C[d >> 2];
|
1967
|
-
} : function(d) {
|
1968
|
-
return D[d >> 2];
|
1969
|
-
};
|
1970
|
-
default:
|
1971
|
-
throw new TypeError("Unknown integer type: " + a);
|
1972
|
-
}
|
1973
|
-
}
|
1974
|
-
function tb(a, b) {
|
1975
|
-
for (var c = "", d = 0; !(d >= b / 2); ++d) {
|
1976
|
-
var e = A[a + 2 * d >> 1];
|
1977
|
-
if (0 == e)
|
1978
|
-
break;
|
1979
|
-
c += String.fromCharCode(e);
|
1980
|
-
}
|
1981
|
-
return c;
|
1982
|
-
}
|
1983
|
-
function ub(a, b, c) {
|
1984
|
-
void 0 === c && (c = 2147483647);
|
1985
|
-
if (2 > c)
|
1986
|
-
return 0;
|
1987
|
-
c -= 2;
|
1988
|
-
var d = b;
|
1989
|
-
c = c < 2 * a.length ? c / 2 : a.length;
|
1990
|
-
for (var e = 0; e < c; ++e)
|
1991
|
-
A[b >> 1] = a.charCodeAt(e), b += 2;
|
1992
|
-
A[b >> 1] = 0;
|
1993
|
-
return b - d;
|
1994
|
-
}
|
1995
|
-
function vb(a) {
|
1996
|
-
return 2 * a.length;
|
1997
|
-
}
|
1998
|
-
function wb(a, b) {
|
1999
|
-
for (var c = 0, d = ""; !(c >= b / 4); ) {
|
2000
|
-
var e = C[a + 4 * c >> 2];
|
2001
|
-
if (0 == e)
|
2002
|
-
break;
|
2003
|
-
++c;
|
2004
|
-
65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e);
|
2005
|
-
}
|
2006
|
-
return d;
|
2007
|
-
}
|
2008
|
-
function xb(a, b, c) {
|
2009
|
-
void 0 === c && (c = 2147483647);
|
2010
|
-
if (4 > c)
|
2011
|
-
return 0;
|
2012
|
-
var d = b;
|
2013
|
-
c = d + c - 4;
|
2014
|
-
for (var e = 0; e < a.length; ++e) {
|
2015
|
-
var f = a.charCodeAt(e);
|
2016
|
-
if (55296 <= f && 57343 >= f) {
|
2017
|
-
var g = a.charCodeAt(++e);
|
2018
|
-
f = 65536 + ((f & 1023) << 10) | g & 1023;
|
2019
|
-
}
|
2020
|
-
C[b >> 2] = f;
|
2021
|
-
b += 4;
|
2022
|
-
if (b + 4 > c)
|
2023
|
-
break;
|
2024
|
-
}
|
2025
|
-
C[b >> 2] = 0;
|
2026
|
-
return b - d;
|
2027
|
-
}
|
2028
|
-
function yb(a) {
|
2029
|
-
for (var b = 0, c = 0; c < a.length; ++c) {
|
2030
|
-
var d = a.charCodeAt(c);
|
2031
|
-
55296 <= d && 57343 >= d && ++c;
|
2032
|
-
b += 4;
|
2033
|
-
}
|
2034
|
-
return b;
|
2035
|
-
}
|
2036
|
-
var zb = {};
|
2037
|
-
function Ab(a) {
|
2038
|
-
var b = zb[a];
|
2039
|
-
return void 0 === b ? M(a) : b;
|
2040
|
-
}
|
2041
|
-
var Bb = [];
|
2042
|
-
function Cb(a) {
|
2043
|
-
var b = Bb.length;
|
2044
|
-
Bb.push(a);
|
2045
|
-
return b;
|
2046
|
-
}
|
2047
|
-
function Db(a, b) {
|
2048
|
-
for (var c = Array(a), d = 0; d < a; ++d)
|
2049
|
-
c[d] = Ma(D[b + 4 * d >> 2], "parameter " + d);
|
2050
|
-
return c;
|
2051
|
-
}
|
2052
|
-
var Eb = [], Fb = [null, [], []];
|
2053
|
-
J = h.BindingError = Ea("BindingError");
|
2054
|
-
h.count_emval_handles = function() {
|
2055
|
-
for (var a = 0, b = 5; b < H.length; ++b)
|
2056
|
-
void 0 !== H[b] && ++a;
|
2057
|
-
return a;
|
2058
|
-
};
|
2059
|
-
h.get_first_emval = function() {
|
2060
|
-
for (var a = 5; a < H.length; ++a)
|
2061
|
-
if (void 0 !== H[a])
|
2062
|
-
return H[a];
|
2063
|
-
return null;
|
2064
|
-
};
|
2065
|
-
Ga = h.PureVirtualError = Ea("PureVirtualError");
|
2066
|
-
for (var Gb = Array(256), Hb = 0; 256 > Hb; ++Hb)
|
2067
|
-
Gb[Hb] = String.fromCharCode(Hb);
|
2068
|
-
Ha = Gb;
|
2069
|
-
h.getInheritedInstanceCount = function() {
|
2070
|
-
return Object.keys(P).length;
|
2071
|
-
};
|
2072
|
-
h.getLiveInheritedInstances = function() {
|
2073
|
-
var a = [], b;
|
2074
|
-
for (b in P)
|
2075
|
-
P.hasOwnProperty(b) && a.push(P[b]);
|
2076
|
-
return a;
|
2077
|
-
};
|
2078
|
-
h.flushPendingDeletes = Ia;
|
2079
|
-
h.setDelayFunction = function(a) {
|
2080
|
-
O = a;
|
2081
|
-
N.length && O && O(Ia);
|
2082
|
-
};
|
2083
|
-
Ta = h.InternalError = Ea("InternalError");
|
2084
|
-
X.prototype.isAliasOf = function(a) {
|
2085
|
-
if (!(this instanceof X && a instanceof X))
|
2086
|
-
return false;
|
2087
|
-
var b = this.L.O.M, c = this.L.N, d = a.L.O.M;
|
2088
|
-
for (a = a.L.N; b.P; )
|
2089
|
-
c = b.aa(c), b = b.P;
|
2090
|
-
for (; d.P; )
|
2091
|
-
a = d.aa(a), d = d.P;
|
2092
|
-
return b === d && c === a;
|
2093
|
-
};
|
2094
|
-
X.prototype.clone = function() {
|
2095
|
-
this.L.N || $a(this);
|
2096
|
-
if (this.L.$)
|
2097
|
-
return this.L.count.value += 1, this;
|
2098
|
-
var a = S, b = Object, c = b.create, d = Object.getPrototypeOf(this), e = this.L;
|
2099
|
-
a = a(c.call(b, d, { L: { value: { count: e.count, Z: e.Z, $: e.$, N: e.N, O: e.O, S: e.S, T: e.T } } }));
|
2100
|
-
a.L.count.value += 1;
|
2101
|
-
a.L.Z = false;
|
2102
|
-
return a;
|
2103
|
-
};
|
2104
|
-
X.prototype["delete"] = function() {
|
2105
|
-
this.L.N || $a(this);
|
2106
|
-
this.L.Z && !this.L.$ && K("Object already scheduled for deletion");
|
2107
|
-
Na(this);
|
2108
|
-
Pa(this.L);
|
2109
|
-
this.L.$ || (this.L.S = void 0, this.L.N = void 0);
|
2110
|
-
};
|
2111
|
-
X.prototype.isDeleted = function() {
|
2112
|
-
return !this.L.N;
|
2113
|
-
};
|
2114
|
-
X.prototype.deleteLater = function() {
|
2115
|
-
this.L.N || $a(this);
|
2116
|
-
this.L.Z && !this.L.$ && K("Object already scheduled for deletion");
|
2117
|
-
N.push(this);
|
2118
|
-
1 === N.length && O && O(Ia);
|
2119
|
-
this.L.Z = true;
|
2120
|
-
return this;
|
2121
|
-
};
|
2122
|
-
Y.prototype.pa = function(a) {
|
2123
|
-
this.ja && (a = this.ja(a));
|
2124
|
-
return a;
|
2125
|
-
};
|
2126
|
-
Y.prototype.ga = function(a) {
|
2127
|
-
this.V && this.V(a);
|
2128
|
-
};
|
2129
|
-
Y.prototype.argPackAdvance = 8;
|
2130
|
-
Y.prototype.readValueFromPointer = T;
|
2131
|
-
Y.prototype.deleteObject = function(a) {
|
2132
|
-
if (null !== a)
|
2133
|
-
a["delete"]();
|
2134
|
-
};
|
2135
|
-
Y.prototype.fromWireType = function(a) {
|
2136
|
-
function b() {
|
2137
|
-
return this.ca ? Va(this.M.W, { O: this.va, N: c, T: this, S: a }) : Va(this.M.W, { O: this, N: a });
|
2138
|
-
}
|
2139
|
-
var c = this.pa(a);
|
2140
|
-
if (!c)
|
2141
|
-
return this.ga(a), null;
|
2142
|
-
var d = Sa(this.M, c);
|
2143
|
-
if (void 0 !== d) {
|
2144
|
-
if (0 === d.L.count.value)
|
2145
|
-
return d.L.N = c, d.L.S = a, d.clone();
|
2146
|
-
d = d.clone();
|
2147
|
-
this.ga(a);
|
2148
|
-
return d;
|
2149
|
-
}
|
2150
|
-
d = this.M.oa(c);
|
2151
|
-
d = Ra[d];
|
2152
|
-
if (!d)
|
2153
|
-
return b.call(this);
|
2154
|
-
d = this.ba ? d.ka : d.pointerType;
|
2155
|
-
var e = Qa(c, this.M, d.M);
|
2156
|
-
return null === e ? b.call(this) : this.ca ? Va(d.M.W, { O: d, N: e, T: this, S: a }) : Va(d.M.W, { O: d, N: e });
|
2157
|
-
};
|
2158
|
-
mb = h.UnboundTypeError = Ea("UnboundTypeError");
|
2159
|
-
var ya = "function" == typeof atob ? atob : function(a) {
|
2160
|
-
var b = "", c = 0;
|
2161
|
-
a = a.replace(/[^A-Za-z0-9\+\/=]/g, "");
|
2162
|
-
do {
|
2163
|
-
var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
2164
|
-
var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
2165
|
-
var f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
2166
|
-
var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
|
2167
|
-
d = d << 2 | e >> 4;
|
2168
|
-
e = (e & 15) << 4 | f >> 2;
|
2169
|
-
var k = (f & 3) << 6 | g;
|
2170
|
-
b += String.fromCharCode(d);
|
2171
|
-
64 !== f && (b += String.fromCharCode(e));
|
2172
|
-
64 !== g && (b += String.fromCharCode(k));
|
2173
|
-
} while (c < a.length);
|
2174
|
-
return b;
|
2175
|
-
}, Jb = {
|
2176
|
-
p: function(a, b, c) {
|
2177
|
-
a = M(a);
|
2178
|
-
b = Ma(b, "wrapper");
|
2179
|
-
c = L(c);
|
2180
|
-
var d = [].slice, e = b.M, f = e.W, g = e.P.W, k = e.P.constructor;
|
2181
|
-
a = Ca(a, function() {
|
2182
|
-
e.P.ia.forEach((function(l) {
|
2183
|
-
if (this[l] === g[l])
|
2184
|
-
throw new Ga("Pure virtual function " + l + " must be implemented in JavaScript");
|
2185
|
-
}).bind(this));
|
2186
|
-
Object.defineProperty(this, "__parent", { value: f });
|
2187
|
-
this.__construct.apply(this, d.call(arguments));
|
2188
|
-
});
|
2189
|
-
f.__construct = function() {
|
2190
|
-
this === f && K("Pass correct 'this' to __construct");
|
2191
|
-
var l = k.implement.apply(void 0, [this].concat(d.call(arguments)));
|
2192
|
-
Na(l);
|
2193
|
-
var n = l.L;
|
2194
|
-
l.notifyOnDestruction();
|
2195
|
-
n.$ = true;
|
2196
|
-
Object.defineProperties(this, { L: { value: n } });
|
2197
|
-
S(this);
|
2198
|
-
l = n.N;
|
2199
|
-
l = Ja(e, l);
|
2200
|
-
P.hasOwnProperty(l) ? K("Tried to register registered instance: " + l) : P[l] = this;
|
2201
|
-
};
|
2202
|
-
f.__destruct = function() {
|
2203
|
-
this === f && K("Pass correct 'this' to __destruct");
|
2204
|
-
Na(this);
|
2205
|
-
var l = this.L.N;
|
2206
|
-
l = Ja(e, l);
|
2207
|
-
P.hasOwnProperty(l) ? delete P[l] : K("Tried to unregister unregistered instance: " + l);
|
2208
|
-
};
|
2209
|
-
a.prototype = Object.create(f);
|
2210
|
-
for (var m in c)
|
2211
|
-
a.prototype[m] = c[m];
|
2212
|
-
return Fa(a);
|
2213
|
-
},
|
2214
|
-
j: function(a) {
|
2215
|
-
var b = Wa[a];
|
2216
|
-
delete Wa[a];
|
2217
|
-
var c = b.ea, d = b.V, e = b.ha, f = e.map((g) => g.sa).concat(e.map((g) => g.ya));
|
2218
|
-
V([a], f, (g) => {
|
2219
|
-
var k = {};
|
2220
|
-
e.forEach((m, l) => {
|
2221
|
-
var n = g[l], p = m.qa, r = m.ra, u = g[l + e.length], t = m.xa, y = m.za;
|
2222
|
-
k[m.na] = { read: (B) => n.fromWireType(p(r, B)), write: (B, aa) => {
|
2223
|
-
var I = [];
|
2224
|
-
t(y, B, u.toWireType(I, aa));
|
2225
|
-
Xa(I);
|
2226
|
-
} };
|
2227
|
-
});
|
2228
|
-
return [{ name: b.name, fromWireType: function(m) {
|
2229
|
-
var l = {}, n;
|
2230
|
-
for (n in k)
|
2231
|
-
l[n] = k[n].read(m);
|
2232
|
-
d(m);
|
2233
|
-
return l;
|
2234
|
-
}, toWireType: function(m, l) {
|
2235
|
-
for (var n in k)
|
2236
|
-
if (!(n in l))
|
2237
|
-
throw new TypeError('Missing field: "' + n + '"');
|
2238
|
-
var p = c();
|
2239
|
-
for (n in k)
|
2240
|
-
k[n].write(p, l[n]);
|
2241
|
-
null !== m && m.push(d, p);
|
2242
|
-
return p;
|
2243
|
-
}, argPackAdvance: 8, readValueFromPointer: T, U: d }];
|
2244
|
-
});
|
2245
|
-
},
|
2246
|
-
v: function() {
|
2247
|
-
},
|
2248
|
-
B: function(a, b, c, d, e) {
|
2249
|
-
var f = Za(c);
|
2250
|
-
b = M(b);
|
2251
|
-
W(a, { name: b, fromWireType: function(g) {
|
2252
|
-
return !!g;
|
2253
|
-
}, toWireType: function(g, k) {
|
2254
|
-
return k ? d : e;
|
2255
|
-
}, argPackAdvance: 8, readValueFromPointer: function(g) {
|
2256
|
-
if (1 === c)
|
2257
|
-
var k = ka;
|
2258
|
-
else if (2 === c)
|
2259
|
-
k = A;
|
2260
|
-
else if (4 === c)
|
2261
|
-
k = C;
|
2262
|
-
else
|
2263
|
-
throw new TypeError("Unknown boolean type size: " + b);
|
2264
|
-
return this.fromWireType(k[g >> f]);
|
2265
|
-
}, U: null });
|
2266
|
-
},
|
2267
|
-
f: function(a, b, c, d, e, f, g, k, m, l, n, p, r) {
|
2268
|
-
n = M(n);
|
2269
|
-
f = Z(e, f);
|
2270
|
-
k && (k = Z(g, k));
|
2271
|
-
l && (l = Z(m, l));
|
2272
|
-
r = Z(p, r);
|
2273
|
-
var u = Ba(n);
|
2274
|
-
bb(u, function() {
|
2275
|
-
nb("Cannot construct " + n + " due to unbound types", [d]);
|
2276
|
-
});
|
2277
|
-
V([a, b, c], d ? [d] : [], function(t) {
|
2278
|
-
t = t[0];
|
2279
|
-
if (d) {
|
2280
|
-
var y = t.M;
|
2281
|
-
var B = y.W;
|
2282
|
-
} else
|
2283
|
-
B = X.prototype;
|
2284
|
-
t = Ca(u, function() {
|
2285
|
-
if (Object.getPrototypeOf(this) !== aa)
|
2286
|
-
throw new J("Use 'new' to construct " + n);
|
2287
|
-
if (void 0 === I.X)
|
2288
|
-
throw new J(n + " has no accessible constructor");
|
2289
|
-
var kb = I.X[arguments.length];
|
2290
|
-
if (void 0 === kb)
|
2291
|
-
throw new J("Tried to invoke ctor of " + n + " with invalid number of parameters (" + arguments.length + ") - expected (" + Object.keys(I.X).toString() + ") parameters instead!");
|
2292
|
-
return kb.apply(this, arguments);
|
2293
|
-
});
|
2294
|
-
var aa = Object.create(B, { constructor: { value: t } });
|
2295
|
-
t.prototype = aa;
|
2296
|
-
var I = new cb2(n, t, aa, r, y, f, k, l);
|
2297
|
-
y = new Y(n, I, true, false);
|
2298
|
-
B = new Y(n + "*", I, false, false);
|
2299
|
-
var lb = new Y(n + " const*", I, false, true);
|
2300
|
-
Ra[a] = { pointerType: B, ka: lb };
|
2301
|
-
ib(u, t);
|
2302
|
-
return [y, B, lb];
|
2303
|
-
});
|
2304
|
-
},
|
2305
|
-
c: function(a, b, c, d, e, f, g) {
|
2306
|
-
var k = pb(c, d);
|
2307
|
-
b = M(b);
|
2308
|
-
f = Z(e, f);
|
2309
|
-
V([], [a], function(m) {
|
2310
|
-
function l() {
|
2311
|
-
nb("Cannot call " + n + " due to unbound types", k);
|
2312
|
-
}
|
2313
|
-
m = m[0];
|
2314
|
-
var n = m.name + "." + b;
|
2315
|
-
b.startsWith("@@") && (b = Symbol[b.substring(2)]);
|
2316
|
-
var p = m.M.constructor;
|
2317
|
-
void 0 === p[b] ? (l.Y = c - 1, p[b] = l) : (ab(p, b, n), p[b].R[c - 1] = l);
|
2318
|
-
V([], k, function(r) {
|
2319
|
-
r = ob(n, [r[0], null].concat(r.slice(1)), null, f, g);
|
2320
|
-
void 0 === p[b].R ? (r.Y = c - 1, p[b] = r) : p[b].R[c - 1] = r;
|
2321
|
-
return [];
|
2322
|
-
});
|
2323
|
-
return [];
|
2324
|
-
});
|
2325
|
-
},
|
2326
|
-
o: function(a, b, c, d, e, f) {
|
2327
|
-
0 < b || x();
|
2328
|
-
var g = pb(b, c);
|
2329
|
-
e = Z(d, e);
|
2330
|
-
V([], [a], function(k) {
|
2331
|
-
k = k[0];
|
2332
|
-
var m = "constructor " + k.name;
|
2333
|
-
void 0 === k.M.X && (k.M.X = []);
|
2334
|
-
if (void 0 !== k.M.X[b - 1])
|
2335
|
-
throw new J("Cannot register multiple constructors with identical number of parameters (" + (b - 1) + ") for class '" + k.name + "'! Overload resolution is currently only performed using the parameter count, not actual type info!");
|
2336
|
-
k.M.X[b - 1] = () => {
|
2337
|
-
nb("Cannot construct " + k.name + " due to unbound types", g);
|
2338
|
-
};
|
2339
|
-
V([], g, function(l) {
|
2340
|
-
l.splice(1, 0, null);
|
2341
|
-
k.M.X[b - 1] = ob(m, l, null, e, f);
|
2342
|
-
return [];
|
2343
|
-
});
|
2344
|
-
return [];
|
2345
|
-
});
|
2346
|
-
},
|
2347
|
-
a: function(a, b, c, d, e, f, g, k) {
|
2348
|
-
var m = pb(c, d);
|
2349
|
-
b = M(b);
|
2350
|
-
f = Z(e, f);
|
2351
|
-
V([], [a], function(l) {
|
2352
|
-
function n() {
|
2353
|
-
nb("Cannot call " + p + " due to unbound types", m);
|
2354
|
-
}
|
2355
|
-
l = l[0];
|
2356
|
-
var p = l.name + "." + b;
|
2357
|
-
b.startsWith("@@") && (b = Symbol[b.substring(2)]);
|
2358
|
-
k && l.M.ia.push(b);
|
2359
|
-
var r = l.M.W, u = r[b];
|
2360
|
-
void 0 === u || void 0 === u.R && u.className !== l.name && u.Y === c - 2 ? (n.Y = c - 2, n.className = l.name, r[b] = n) : (ab(r, b, p), r[b].R[c - 2] = n);
|
2361
|
-
V([], m, function(t) {
|
2362
|
-
t = ob(p, t, l, f, g);
|
2363
|
-
void 0 === r[b].R ? (t.Y = c - 2, r[b] = t) : r[b].R[c - 2] = t;
|
2364
|
-
return [];
|
2365
|
-
});
|
2366
|
-
return [];
|
2367
|
-
});
|
2368
|
-
},
|
2369
|
-
A: function(a, b) {
|
2370
|
-
b = M(b);
|
2371
|
-
W(a, { name: b, fromWireType: function(c) {
|
2372
|
-
var d = L(c);
|
2373
|
-
qb(c);
|
2374
|
-
return d;
|
2375
|
-
}, toWireType: function(c, d) {
|
2376
|
-
return Fa(d);
|
2377
|
-
}, argPackAdvance: 8, readValueFromPointer: T, U: null });
|
2378
|
-
},
|
2379
|
-
m: function(a, b, c) {
|
2380
|
-
c = Za(c);
|
2381
|
-
b = M(b);
|
2382
|
-
W(a, {
|
2383
|
-
name: b,
|
2384
|
-
fromWireType: function(d) {
|
2385
|
-
return d;
|
2386
|
-
},
|
2387
|
-
toWireType: function(d, e) {
|
2388
|
-
return e;
|
2389
|
-
},
|
2390
|
-
argPackAdvance: 8,
|
2391
|
-
readValueFromPointer: rb(b, c),
|
2392
|
-
U: null
|
2393
|
-
});
|
2394
|
-
},
|
2395
|
-
d: function(a, b, c, d, e) {
|
2396
|
-
b = M(b);
|
2397
|
-
-1 === e && (e = 4294967295);
|
2398
|
-
e = Za(c);
|
2399
|
-
var f = (k) => k;
|
2400
|
-
if (0 === d) {
|
2401
|
-
var g = 32 - 8 * c;
|
2402
|
-
f = (k) => k << g >>> g;
|
2403
|
-
}
|
2404
|
-
c = b.includes("unsigned") ? function(k, m) {
|
2405
|
-
return m >>> 0;
|
2406
|
-
} : function(k, m) {
|
2407
|
-
return m;
|
2408
|
-
};
|
2409
|
-
W(a, { name: b, fromWireType: f, toWireType: c, argPackAdvance: 8, readValueFromPointer: sb(b, e, 0 !== d), U: null });
|
2410
|
-
},
|
2411
|
-
b: function(a, b, c) {
|
2412
|
-
function d(f) {
|
2413
|
-
f >>= 2;
|
2414
|
-
var g = D;
|
2415
|
-
return new e(ja, g[f + 1], g[f]);
|
2416
|
-
}
|
2417
|
-
var e = [
|
2418
|
-
Int8Array,
|
2419
|
-
Uint8Array,
|
2420
|
-
Int16Array,
|
2421
|
-
Uint16Array,
|
2422
|
-
Int32Array,
|
2423
|
-
Uint32Array,
|
2424
|
-
Float32Array,
|
2425
|
-
Float64Array
|
2426
|
-
][b];
|
2427
|
-
c = M(c);
|
2428
|
-
W(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { ta: true });
|
2429
|
-
},
|
2430
|
-
n: function(a, b) {
|
2431
|
-
b = M(b);
|
2432
|
-
var c = "std::string" === b;
|
2433
|
-
W(a, { name: b, fromWireType: function(d) {
|
2434
|
-
var e = D[d >> 2], f = d + 4;
|
2435
|
-
if (c)
|
2436
|
-
for (var g = f, k = 0; k <= e; ++k) {
|
2437
|
-
var m = f + k;
|
2438
|
-
if (k == e || 0 == z[m]) {
|
2439
|
-
g = g ? ia(z, g, m - g) : "";
|
2440
|
-
if (void 0 === l)
|
2441
|
-
var l = g;
|
2442
|
-
else
|
2443
|
-
l += String.fromCharCode(0), l += g;
|
2444
|
-
g = m + 1;
|
2445
|
-
}
|
2446
|
-
}
|
2447
|
-
else {
|
2448
|
-
l = Array(e);
|
2449
|
-
for (k = 0; k < e; ++k)
|
2450
|
-
l[k] = String.fromCharCode(z[f + k]);
|
2451
|
-
l = l.join("");
|
2452
|
-
}
|
2453
|
-
R(d);
|
2454
|
-
return l;
|
2455
|
-
}, toWireType: function(d, e) {
|
2456
|
-
e instanceof ArrayBuffer && (e = new Uint8Array(e));
|
2457
|
-
var f, g = "string" == typeof e;
|
2458
|
-
g || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array || K("Cannot pass non-string to std::string");
|
2459
|
-
if (c && g) {
|
2460
|
-
var k = 0;
|
2461
|
-
for (f = 0; f < e.length; ++f) {
|
2462
|
-
var m = e.charCodeAt(f);
|
2463
|
-
127 >= m ? k++ : 2047 >= m ? k += 2 : 55296 <= m && 57343 >= m ? (k += 4, ++f) : k += 3;
|
2464
|
-
}
|
2465
|
-
f = k;
|
2466
|
-
} else
|
2467
|
-
f = e.length;
|
2468
|
-
k = Ib(4 + f + 1);
|
2469
|
-
m = k + 4;
|
2470
|
-
D[k >> 2] = f;
|
2471
|
-
if (c && g) {
|
2472
|
-
if (g = m, m = f + 1, f = z, 0 < m) {
|
2473
|
-
m = g + m - 1;
|
2474
|
-
for (var l = 0; l < e.length; ++l) {
|
2475
|
-
var n = e.charCodeAt(l);
|
2476
|
-
if (55296 <= n && 57343 >= n) {
|
2477
|
-
var p = e.charCodeAt(++l);
|
2478
|
-
n = 65536 + ((n & 1023) << 10) | p & 1023;
|
2479
|
-
}
|
2480
|
-
if (127 >= n) {
|
2481
|
-
if (g >= m)
|
2482
|
-
break;
|
2483
|
-
f[g++] = n;
|
2484
|
-
} else {
|
2485
|
-
if (2047 >= n) {
|
2486
|
-
if (g + 1 >= m)
|
2487
|
-
break;
|
2488
|
-
f[g++] = 192 | n >> 6;
|
2489
|
-
} else {
|
2490
|
-
if (65535 >= n) {
|
2491
|
-
if (g + 2 >= m)
|
2492
|
-
break;
|
2493
|
-
f[g++] = 224 | n >> 12;
|
2494
|
-
} else {
|
2495
|
-
if (g + 3 >= m)
|
2496
|
-
break;
|
2497
|
-
f[g++] = 240 | n >> 18;
|
2498
|
-
f[g++] = 128 | n >> 12 & 63;
|
2499
|
-
}
|
2500
|
-
f[g++] = 128 | n >> 6 & 63;
|
2501
|
-
}
|
2502
|
-
f[g++] = 128 | n & 63;
|
2503
|
-
}
|
2504
|
-
}
|
2505
|
-
f[g] = 0;
|
2506
|
-
}
|
2507
|
-
} else if (g)
|
2508
|
-
for (g = 0; g < f; ++g)
|
2509
|
-
l = e.charCodeAt(g), 255 < l && (R(m), K("String has UTF-16 code units that do not fit in 8 bits")), z[m + g] = l;
|
2510
|
-
else
|
2511
|
-
for (g = 0; g < f; ++g)
|
2512
|
-
z[m + g] = e[g];
|
2513
|
-
null !== d && d.push(R, k);
|
2514
|
-
return k;
|
2515
|
-
}, argPackAdvance: 8, readValueFromPointer: T, U: function(d) {
|
2516
|
-
R(d);
|
2517
|
-
} });
|
2518
|
-
},
|
2519
|
-
i: function(a, b, c) {
|
2520
|
-
c = M(c);
|
2521
|
-
if (2 === b) {
|
2522
|
-
var d = tb;
|
2523
|
-
var e = ub;
|
2524
|
-
var f = vb;
|
2525
|
-
var g = () => la;
|
2526
|
-
var k = 1;
|
2527
|
-
} else
|
2528
|
-
4 === b && (d = wb, e = xb, f = yb, g = () => D, k = 2);
|
2529
|
-
W(a, {
|
2530
|
-
name: c,
|
2531
|
-
fromWireType: function(m) {
|
2532
|
-
for (var l = D[m >> 2], n = g(), p, r = m + 4, u = 0; u <= l; ++u) {
|
2533
|
-
var t = m + 4 + u * b;
|
2534
|
-
if (u == l || 0 == n[t >> k])
|
2535
|
-
r = d(r, t - r), void 0 === p ? p = r : (p += String.fromCharCode(0), p += r), r = t + b;
|
2536
|
-
}
|
2537
|
-
R(m);
|
2538
|
-
return p;
|
2539
|
-
},
|
2540
|
-
toWireType: function(m, l) {
|
2541
|
-
"string" != typeof l && K("Cannot pass non-string to C++ string type " + c);
|
2542
|
-
var n = f(l), p = Ib(4 + n + b);
|
2543
|
-
D[p >> 2] = n >> k;
|
2544
|
-
e(l, p + 4, n + b);
|
2545
|
-
null !== m && m.push(R, p);
|
2546
|
-
return p;
|
2547
|
-
},
|
2548
|
-
argPackAdvance: 8,
|
2549
|
-
readValueFromPointer: T,
|
2550
|
-
U: function(m) {
|
2551
|
-
R(m);
|
2552
|
-
}
|
2553
|
-
});
|
2554
|
-
},
|
2555
|
-
k: function(a, b, c, d, e, f) {
|
2556
|
-
Wa[a] = { name: M(b), ea: Z(c, d), V: Z(e, f), ha: [] };
|
2557
|
-
},
|
2558
|
-
h: function(a, b, c, d, e, f, g, k, m, l) {
|
2559
|
-
Wa[a].ha.push({ na: M(b), sa: c, qa: Z(d, e), ra: f, ya: g, xa: Z(k, m), za: l });
|
2560
|
-
},
|
2561
|
-
C: function(a, b) {
|
2562
|
-
b = M(b);
|
2563
|
-
W(a, { ua: true, name: b, argPackAdvance: 0, fromWireType: function() {
|
2564
|
-
}, toWireType: function() {
|
2565
|
-
} });
|
2566
|
-
},
|
2567
|
-
s: function(a, b, c, d, e) {
|
2568
|
-
a = Bb[a];
|
2569
|
-
b = L(b);
|
2570
|
-
c = Ab(c);
|
2571
|
-
var f = [];
|
2572
|
-
D[d >> 2] = Fa(f);
|
2573
|
-
return a(b, c, f, e);
|
2574
|
-
},
|
2575
|
-
t: function(a, b, c, d) {
|
2576
|
-
a = Bb[a];
|
2577
|
-
b = L(b);
|
2578
|
-
c = Ab(c);
|
2579
|
-
a(b, c, null, d);
|
2580
|
-
},
|
2581
|
-
g: qb,
|
2582
|
-
l: function(a, b) {
|
2583
|
-
var c = Db(a, b), d = c[0];
|
2584
|
-
b = d.name + "_$" + c.slice(1).map(function(g) {
|
2585
|
-
return g.name;
|
2586
|
-
}).join("_") + "$";
|
2587
|
-
var e = Eb[b];
|
2588
|
-
if (void 0 !== e)
|
2589
|
-
return e;
|
2590
|
-
var f = Array(a - 1);
|
2591
|
-
e = Cb((g, k, m, l) => {
|
2592
|
-
for (var n = 0, p = 0; p < a - 1; ++p)
|
2593
|
-
f[p] = c[p + 1].readValueFromPointer(l + n), n += c[p + 1].argPackAdvance;
|
2594
|
-
g = g[k].apply(g, f);
|
2595
|
-
for (p = 0; p < a - 1; ++p)
|
2596
|
-
c[p + 1].la && c[p + 1].la(f[p]);
|
2597
|
-
if (!d.ua)
|
2598
|
-
return d.toWireType(m, g);
|
2599
|
-
});
|
2600
|
-
return Eb[b] = e;
|
2601
|
-
},
|
2602
|
-
q: function(a) {
|
2603
|
-
4 < a && (H[a].fa += 1);
|
2604
|
-
},
|
2605
|
-
r: function(a) {
|
2606
|
-
var b = L(a);
|
2607
|
-
Xa(b);
|
2608
|
-
qb(a);
|
2609
|
-
},
|
2610
|
-
e: function() {
|
2611
|
-
x("");
|
2612
|
-
},
|
2613
|
-
x: function(a, b, c) {
|
2614
|
-
z.copyWithin(a, b, b + c);
|
2615
|
-
},
|
2616
|
-
w: function(a) {
|
2617
|
-
var b = z.length;
|
2618
|
-
a >>>= 0;
|
2619
|
-
if (2147483648 < a)
|
2620
|
-
return false;
|
2621
|
-
for (var c = 1; 4 >= c; c *= 2) {
|
2622
|
-
var d = b * (1 + 0.2 / c);
|
2623
|
-
d = Math.min(d, a + 100663296);
|
2624
|
-
var e = Math;
|
2625
|
-
d = Math.max(a, d);
|
2626
|
-
e = e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536);
|
2627
|
-
a: {
|
2628
|
-
try {
|
2629
|
-
fa.grow(e - ja.byteLength + 65535 >>> 16);
|
2630
|
-
oa();
|
2631
|
-
var f = 1;
|
2632
|
-
break a;
|
2633
|
-
} catch (g) {
|
2634
|
-
}
|
2635
|
-
f = void 0;
|
2636
|
-
}
|
2637
|
-
if (f)
|
2638
|
-
return true;
|
2639
|
-
}
|
2640
|
-
return false;
|
2641
|
-
},
|
2642
|
-
z: function() {
|
2643
|
-
return 52;
|
2644
|
-
},
|
2645
|
-
u: function() {
|
2646
|
-
return 70;
|
2647
|
-
},
|
2648
|
-
y: function(a, b, c, d) {
|
2649
|
-
for (var e = 0, f = 0; f < c; f++) {
|
2650
|
-
var g = D[b >> 2], k = D[b + 4 >> 2];
|
2651
|
-
b += 8;
|
2652
|
-
for (var m = 0; m < k; m++) {
|
2653
|
-
var l = z[g + m], n = Fb[a];
|
2654
|
-
0 === l || 10 === l ? ((1 === a ? ea : v)(ia(n, 0)), n.length = 0) : n.push(l);
|
2655
|
-
}
|
2656
|
-
e += k;
|
2657
|
-
}
|
2658
|
-
D[d >> 2] = e;
|
2659
|
-
return 0;
|
2660
|
-
}
|
2661
|
-
};
|
2662
|
-
(function() {
|
2663
|
-
function a(e) {
|
2664
|
-
h.asm = e.exports;
|
2665
|
-
fa = h.asm.D;
|
2666
|
-
oa();
|
2667
|
-
pa = h.asm.I;
|
2668
|
-
ra.unshift(h.asm.E);
|
2669
|
-
E--;
|
2670
|
-
h.monitorRunDependencies && h.monitorRunDependencies(E);
|
2671
|
-
0 == E && (F && (e = F, F = null, e()));
|
2672
|
-
}
|
2673
|
-
function b(e) {
|
2674
|
-
a(e.instance);
|
2675
|
-
}
|
2676
|
-
function c(e) {
|
2677
|
-
return za().then(function(f) {
|
2678
|
-
return WebAssembly.instantiate(f, d);
|
2679
|
-
}).then(function(f) {
|
2680
|
-
return f;
|
2681
|
-
}).then(e, function(f) {
|
2682
|
-
v("failed to asynchronously prepare wasm: " + f);
|
2683
|
-
x(f);
|
2684
|
-
});
|
2685
|
-
}
|
2686
|
-
var d = { a: Jb };
|
2687
|
-
E++;
|
2688
|
-
h.monitorRunDependencies && h.monitorRunDependencies(E);
|
2689
|
-
if (h.instantiateWasm)
|
2690
|
-
try {
|
2691
|
-
return h.instantiateWasm(
|
2692
|
-
d,
|
2693
|
-
a
|
2694
|
-
);
|
2695
|
-
} catch (e) {
|
2696
|
-
v("Module.instantiateWasm callback failed with error: " + e), ca2(e);
|
2697
|
-
}
|
2698
|
-
(function() {
|
2699
|
-
return w || "function" != typeof WebAssembly.instantiateStreaming || va(G) || "function" != typeof fetch ? c(b) : fetch(G, { credentials: "same-origin" }).then(function(e) {
|
2700
|
-
return WebAssembly.instantiateStreaming(e, d).then(b, function(f) {
|
2701
|
-
v("wasm streaming compile failed: " + f);
|
2702
|
-
v("falling back to ArrayBuffer instantiation");
|
2703
|
-
return c(b);
|
2704
|
-
});
|
2705
|
-
});
|
2706
|
-
})().catch(ca2);
|
2707
|
-
return {};
|
2708
|
-
})();
|
2709
|
-
h.___wasm_call_ctors = function() {
|
2710
|
-
return (h.___wasm_call_ctors = h.asm.E).apply(null, arguments);
|
2711
|
-
};
|
2712
|
-
var La = h.___getTypeName = function() {
|
2713
|
-
return (La = h.___getTypeName = h.asm.F).apply(null, arguments);
|
2714
|
-
};
|
2715
|
-
h.__embind_initialize_bindings = function() {
|
2716
|
-
return (h.__embind_initialize_bindings = h.asm.G).apply(null, arguments);
|
2717
|
-
};
|
2718
|
-
var Ib = h._malloc = function() {
|
2719
|
-
return (Ib = h._malloc = h.asm.H).apply(null, arguments);
|
2720
|
-
}, R = h._free = function() {
|
2721
|
-
return (R = h._free = h.asm.J).apply(null, arguments);
|
2722
|
-
};
|
2723
|
-
h.dynCall_jiji = function() {
|
2724
|
-
return (h.dynCall_jiji = h.asm.K).apply(null, arguments);
|
2725
|
-
};
|
2726
|
-
var Kb;
|
2727
|
-
F = function Lb() {
|
2728
|
-
Kb || Mb();
|
2729
|
-
Kb || (F = Lb);
|
2730
|
-
};
|
2731
|
-
function Mb() {
|
2732
|
-
function a() {
|
2733
|
-
if (!Kb && (Kb = true, h.calledRun = true, !ha)) {
|
2734
|
-
Aa(ra);
|
2735
|
-
ba(h);
|
2736
|
-
if (h.onRuntimeInitialized)
|
2737
|
-
h.onRuntimeInitialized();
|
2738
|
-
if (h.postRun)
|
2739
|
-
for ("function" == typeof h.postRun && (h.postRun = [h.postRun]); h.postRun.length; ) {
|
2740
|
-
var b = h.postRun.shift();
|
2741
|
-
sa.unshift(b);
|
2742
|
-
}
|
2743
|
-
Aa(sa);
|
2744
|
-
}
|
2745
|
-
}
|
2746
|
-
if (!(0 < E)) {
|
2747
|
-
if (h.preRun)
|
2748
|
-
for ("function" == typeof h.preRun && (h.preRun = [h.preRun]); h.preRun.length; )
|
2749
|
-
ta();
|
2750
|
-
Aa(qa);
|
2751
|
-
0 < E || (h.setStatus ? (h.setStatus("Running..."), setTimeout(function() {
|
2752
|
-
setTimeout(function() {
|
2753
|
-
h.setStatus("");
|
2754
|
-
}, 1);
|
2755
|
-
a();
|
2756
|
-
}, 1)) : a());
|
2757
|
-
}
|
2758
|
-
}
|
2759
|
-
if (h.preInit)
|
2760
|
-
for ("function" == typeof h.preInit && (h.preInit = [h.preInit]); 0 < h.preInit.length; )
|
2761
|
-
h.preInit.pop()();
|
2762
|
-
Mb();
|
2763
|
-
return loadYoga2.ready;
|
2764
|
-
};
|
2765
|
-
})();
|
2766
|
-
module2.exports = loadYoga;
|
2767
|
-
})(wasmAsyncWeb);
|
2768
|
-
var wasmAsyncWebExports = wasmAsyncWeb.exports;
|
2769
|
-
(function(exports2) {
|
2770
|
-
Object.defineProperty(exports2, "__esModule", {
|
2771
|
-
value: true
|
2772
|
-
});
|
2773
|
-
var _exportNames = {
|
2774
|
-
loadYoga: true
|
2775
|
-
};
|
2776
|
-
exports2.loadYoga = loadYoga;
|
2777
|
-
var _wrapAssembly = _interopRequireDefault(wrapAssembly$1);
|
2778
|
-
var _YGEnums2 = YGEnums;
|
2779
|
-
Object.keys(_YGEnums2).forEach(function(key) {
|
2780
|
-
if (key === "default" || key === "__esModule")
|
2781
|
-
return;
|
2782
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key))
|
2783
|
-
return;
|
2784
|
-
if (key in exports2 && exports2[key] === _YGEnums2[key])
|
2785
|
-
return;
|
2786
|
-
Object.defineProperty(exports2, key, {
|
2787
|
-
enumerable: true,
|
2788
|
-
get: function() {
|
2789
|
-
return _YGEnums2[key];
|
2790
|
-
}
|
2791
|
-
});
|
2792
|
-
});
|
2793
|
-
function _interopRequireDefault(obj) {
|
2794
|
-
return obj && obj.__esModule ? obj : { default: obj };
|
2795
|
-
}
|
2796
|
-
const loadAssembly = wasmAsyncWebExports;
|
2797
|
-
async function loadYoga() {
|
2798
|
-
return (0, _wrapAssembly.default)(await loadAssembly());
|
2799
|
-
}
|
2800
|
-
})(wasmAsyncWeb$1);
|
2801
|
-
var browserPonyfill = { exports: {} };
|
2802
|
-
(function(module2, exports2) {
|
2803
|
-
var __global__ = typeof globalThis !== "undefined" && globalThis || typeof self !== "undefined" && self || typeof commonjsGlobal !== "undefined" && commonjsGlobal;
|
2804
|
-
var __globalThis__ = function() {
|
2805
|
-
function F() {
|
2806
|
-
this.fetch = false;
|
2807
|
-
this.DOMException = __global__.DOMException;
|
2808
|
-
}
|
2809
|
-
F.prototype = __global__;
|
2810
|
-
return new F();
|
2811
|
-
}();
|
2812
|
-
(function(globalThis2) {
|
2813
|
-
(function(exports3) {
|
2814
|
-
var global2 = typeof globalThis2 !== "undefined" && globalThis2 || typeof self !== "undefined" && self || typeof global2 !== "undefined" && global2;
|
2815
|
-
var support = {
|
2816
|
-
searchParams: "URLSearchParams" in global2,
|
2817
|
-
iterable: "Symbol" in global2 && "iterator" in Symbol,
|
2818
|
-
blob: "FileReader" in global2 && "Blob" in global2 && function() {
|
2819
|
-
try {
|
2820
|
-
new Blob();
|
2821
|
-
return true;
|
2822
|
-
} catch (e) {
|
2823
|
-
return false;
|
2824
|
-
}
|
2825
|
-
}(),
|
2826
|
-
formData: "FormData" in global2,
|
2827
|
-
arrayBuffer: "ArrayBuffer" in global2
|
2828
|
-
};
|
2829
|
-
function isDataView(obj) {
|
2830
|
-
return obj && DataView.prototype.isPrototypeOf(obj);
|
2831
|
-
}
|
2832
|
-
if (support.arrayBuffer) {
|
2833
|
-
var viewClasses = [
|
2834
|
-
"[object Int8Array]",
|
2835
|
-
"[object Uint8Array]",
|
2836
|
-
"[object Uint8ClampedArray]",
|
2837
|
-
"[object Int16Array]",
|
2838
|
-
"[object Uint16Array]",
|
2839
|
-
"[object Int32Array]",
|
2840
|
-
"[object Uint32Array]",
|
2841
|
-
"[object Float32Array]",
|
2842
|
-
"[object Float64Array]"
|
2843
|
-
];
|
2844
|
-
var isArrayBufferView = ArrayBuffer.isView || function(obj) {
|
2845
|
-
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1;
|
2846
|
-
};
|
2847
|
-
}
|
2848
|
-
function normalizeName(name2) {
|
2849
|
-
if (typeof name2 !== "string") {
|
2850
|
-
name2 = String(name2);
|
2851
|
-
}
|
2852
|
-
if (/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(name2) || name2 === "") {
|
2853
|
-
throw new TypeError('Invalid character in header field name: "' + name2 + '"');
|
2854
|
-
}
|
2855
|
-
return name2.toLowerCase();
|
2856
|
-
}
|
2857
|
-
function normalizeValue(value) {
|
2858
|
-
if (typeof value !== "string") {
|
2859
|
-
value = String(value);
|
2860
|
-
}
|
2861
|
-
return value;
|
2862
|
-
}
|
2863
|
-
function iteratorFor(items) {
|
2864
|
-
var iterator = {
|
2865
|
-
next: function() {
|
2866
|
-
var value = items.shift();
|
2867
|
-
return { done: value === void 0, value };
|
2868
|
-
}
|
2869
|
-
};
|
2870
|
-
if (support.iterable) {
|
2871
|
-
iterator[Symbol.iterator] = function() {
|
2872
|
-
return iterator;
|
2873
|
-
};
|
2874
|
-
}
|
2875
|
-
return iterator;
|
2876
|
-
}
|
2877
|
-
function Headers(headers) {
|
2878
|
-
this.map = {};
|
2879
|
-
if (headers instanceof Headers) {
|
2880
|
-
headers.forEach(function(value, name2) {
|
2881
|
-
this.append(name2, value);
|
2882
|
-
}, this);
|
2883
|
-
} else if (Array.isArray(headers)) {
|
2884
|
-
headers.forEach(function(header) {
|
2885
|
-
this.append(header[0], header[1]);
|
2886
|
-
}, this);
|
2887
|
-
} else if (headers) {
|
2888
|
-
Object.getOwnPropertyNames(headers).forEach(function(name2) {
|
2889
|
-
this.append(name2, headers[name2]);
|
2890
|
-
}, this);
|
2891
|
-
}
|
2892
|
-
}
|
2893
|
-
Headers.prototype.append = function(name2, value) {
|
2894
|
-
name2 = normalizeName(name2);
|
2895
|
-
value = normalizeValue(value);
|
2896
|
-
var oldValue = this.map[name2];
|
2897
|
-
this.map[name2] = oldValue ? oldValue + ", " + value : value;
|
2898
|
-
};
|
2899
|
-
Headers.prototype["delete"] = function(name2) {
|
2900
|
-
delete this.map[normalizeName(name2)];
|
2901
|
-
};
|
2902
|
-
Headers.prototype.get = function(name2) {
|
2903
|
-
name2 = normalizeName(name2);
|
2904
|
-
return this.has(name2) ? this.map[name2] : null;
|
2905
|
-
};
|
2906
|
-
Headers.prototype.has = function(name2) {
|
2907
|
-
return this.map.hasOwnProperty(normalizeName(name2));
|
2908
|
-
};
|
2909
|
-
Headers.prototype.set = function(name2, value) {
|
2910
|
-
this.map[normalizeName(name2)] = normalizeValue(value);
|
2911
|
-
};
|
2912
|
-
Headers.prototype.forEach = function(callback, thisArg) {
|
2913
|
-
for (var name2 in this.map) {
|
2914
|
-
if (this.map.hasOwnProperty(name2)) {
|
2915
|
-
callback.call(thisArg, this.map[name2], name2, this);
|
2916
|
-
}
|
2917
|
-
}
|
2918
|
-
};
|
2919
|
-
Headers.prototype.keys = function() {
|
2920
|
-
var items = [];
|
2921
|
-
this.forEach(function(value, name2) {
|
2922
|
-
items.push(name2);
|
2923
|
-
});
|
2924
|
-
return iteratorFor(items);
|
2925
|
-
};
|
2926
|
-
Headers.prototype.values = function() {
|
2927
|
-
var items = [];
|
2928
|
-
this.forEach(function(value) {
|
2929
|
-
items.push(value);
|
2930
|
-
});
|
2931
|
-
return iteratorFor(items);
|
2932
|
-
};
|
2933
|
-
Headers.prototype.entries = function() {
|
2934
|
-
var items = [];
|
2935
|
-
this.forEach(function(value, name2) {
|
2936
|
-
items.push([name2, value]);
|
2937
|
-
});
|
2938
|
-
return iteratorFor(items);
|
2939
|
-
};
|
2940
|
-
if (support.iterable) {
|
2941
|
-
Headers.prototype[Symbol.iterator] = Headers.prototype.entries;
|
2942
|
-
}
|
2943
|
-
function consumed(body) {
|
2944
|
-
if (body.bodyUsed) {
|
2945
|
-
return Promise.reject(new TypeError("Already read"));
|
2946
|
-
}
|
2947
|
-
body.bodyUsed = true;
|
2948
|
-
}
|
2949
|
-
function fileReaderReady(reader) {
|
2950
|
-
return new Promise(function(resolve, reject) {
|
2951
|
-
reader.onload = function() {
|
2952
|
-
resolve(reader.result);
|
2953
|
-
};
|
2954
|
-
reader.onerror = function() {
|
2955
|
-
reject(reader.error);
|
2956
|
-
};
|
2957
|
-
});
|
2958
|
-
}
|
2959
|
-
function readBlobAsArrayBuffer(blob) {
|
2960
|
-
var reader = new FileReader();
|
2961
|
-
var promise = fileReaderReady(reader);
|
2962
|
-
reader.readAsArrayBuffer(blob);
|
2963
|
-
return promise;
|
2964
|
-
}
|
2965
|
-
function readBlobAsText(blob) {
|
2966
|
-
var reader = new FileReader();
|
2967
|
-
var promise = fileReaderReady(reader);
|
2968
|
-
reader.readAsText(blob);
|
2969
|
-
return promise;
|
2970
|
-
}
|
2971
|
-
function readArrayBufferAsText(buf) {
|
2972
|
-
var view = new Uint8Array(buf);
|
2973
|
-
var chars = new Array(view.length);
|
2974
|
-
for (var i = 0; i < view.length; i++) {
|
2975
|
-
chars[i] = String.fromCharCode(view[i]);
|
2976
|
-
}
|
2977
|
-
return chars.join("");
|
2978
|
-
}
|
2979
|
-
function bufferClone(buf) {
|
2980
|
-
if (buf.slice) {
|
2981
|
-
return buf.slice(0);
|
2982
|
-
} else {
|
2983
|
-
var view = new Uint8Array(buf.byteLength);
|
2984
|
-
view.set(new Uint8Array(buf));
|
2985
|
-
return view.buffer;
|
2986
|
-
}
|
2987
|
-
}
|
2988
|
-
function Body() {
|
2989
|
-
this.bodyUsed = false;
|
2990
|
-
this._initBody = function(body) {
|
2991
|
-
this.bodyUsed = this.bodyUsed;
|
2992
|
-
this._bodyInit = body;
|
2993
|
-
if (!body) {
|
2994
|
-
this._bodyText = "";
|
2995
|
-
} else if (typeof body === "string") {
|
2996
|
-
this._bodyText = body;
|
2997
|
-
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
|
2998
|
-
this._bodyBlob = body;
|
2999
|
-
} else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
|
3000
|
-
this._bodyFormData = body;
|
3001
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
3002
|
-
this._bodyText = body.toString();
|
3003
|
-
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
|
3004
|
-
this._bodyArrayBuffer = bufferClone(body.buffer);
|
3005
|
-
this._bodyInit = new Blob([this._bodyArrayBuffer]);
|
3006
|
-
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
|
3007
|
-
this._bodyArrayBuffer = bufferClone(body);
|
3008
|
-
} else {
|
3009
|
-
this._bodyText = body = Object.prototype.toString.call(body);
|
3010
|
-
}
|
3011
|
-
if (!this.headers.get("content-type")) {
|
3012
|
-
if (typeof body === "string") {
|
3013
|
-
this.headers.set("content-type", "text/plain;charset=UTF-8");
|
3014
|
-
} else if (this._bodyBlob && this._bodyBlob.type) {
|
3015
|
-
this.headers.set("content-type", this._bodyBlob.type);
|
3016
|
-
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
|
3017
|
-
this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8");
|
3018
|
-
}
|
3019
|
-
}
|
3020
|
-
};
|
3021
|
-
if (support.blob) {
|
3022
|
-
this.blob = function() {
|
3023
|
-
var rejected = consumed(this);
|
3024
|
-
if (rejected) {
|
3025
|
-
return rejected;
|
3026
|
-
}
|
3027
|
-
if (this._bodyBlob) {
|
3028
|
-
return Promise.resolve(this._bodyBlob);
|
3029
|
-
} else if (this._bodyArrayBuffer) {
|
3030
|
-
return Promise.resolve(new Blob([this._bodyArrayBuffer]));
|
3031
|
-
} else if (this._bodyFormData) {
|
3032
|
-
throw new Error("could not read FormData body as blob");
|
3033
|
-
} else {
|
3034
|
-
return Promise.resolve(new Blob([this._bodyText]));
|
3035
|
-
}
|
3036
|
-
};
|
3037
|
-
this.arrayBuffer = function() {
|
3038
|
-
if (this._bodyArrayBuffer) {
|
3039
|
-
var isConsumed = consumed(this);
|
3040
|
-
if (isConsumed) {
|
3041
|
-
return isConsumed;
|
3042
|
-
}
|
3043
|
-
if (ArrayBuffer.isView(this._bodyArrayBuffer)) {
|
3044
|
-
return Promise.resolve(
|
3045
|
-
this._bodyArrayBuffer.buffer.slice(
|
3046
|
-
this._bodyArrayBuffer.byteOffset,
|
3047
|
-
this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength
|
3048
|
-
)
|
3049
|
-
);
|
3050
|
-
} else {
|
3051
|
-
return Promise.resolve(this._bodyArrayBuffer);
|
3052
|
-
}
|
3053
|
-
} else {
|
3054
|
-
return this.blob().then(readBlobAsArrayBuffer);
|
3055
|
-
}
|
3056
|
-
};
|
3057
|
-
}
|
3058
|
-
this.text = function() {
|
3059
|
-
var rejected = consumed(this);
|
3060
|
-
if (rejected) {
|
3061
|
-
return rejected;
|
3062
|
-
}
|
3063
|
-
if (this._bodyBlob) {
|
3064
|
-
return readBlobAsText(this._bodyBlob);
|
3065
|
-
} else if (this._bodyArrayBuffer) {
|
3066
|
-
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer));
|
3067
|
-
} else if (this._bodyFormData) {
|
3068
|
-
throw new Error("could not read FormData body as text");
|
3069
|
-
} else {
|
3070
|
-
return Promise.resolve(this._bodyText);
|
3071
|
-
}
|
3072
|
-
};
|
3073
|
-
if (support.formData) {
|
3074
|
-
this.formData = function() {
|
3075
|
-
return this.text().then(decode);
|
3076
|
-
};
|
3077
|
-
}
|
3078
|
-
this.json = function() {
|
3079
|
-
return this.text().then(JSON.parse);
|
3080
|
-
};
|
3081
|
-
return this;
|
3082
|
-
}
|
3083
|
-
var methods = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
|
3084
|
-
function normalizeMethod(method) {
|
3085
|
-
var upcased = method.toUpperCase();
|
3086
|
-
return methods.indexOf(upcased) > -1 ? upcased : method;
|
3087
|
-
}
|
3088
|
-
function Request(input, options) {
|
3089
|
-
if (!(this instanceof Request)) {
|
3090
|
-
throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
|
3091
|
-
}
|
3092
|
-
options = options || {};
|
3093
|
-
var body = options.body;
|
3094
|
-
if (input instanceof Request) {
|
3095
|
-
if (input.bodyUsed) {
|
3096
|
-
throw new TypeError("Already read");
|
3097
|
-
}
|
3098
|
-
this.url = input.url;
|
3099
|
-
this.credentials = input.credentials;
|
3100
|
-
if (!options.headers) {
|
3101
|
-
this.headers = new Headers(input.headers);
|
3102
|
-
}
|
3103
|
-
this.method = input.method;
|
3104
|
-
this.mode = input.mode;
|
3105
|
-
this.signal = input.signal;
|
3106
|
-
if (!body && input._bodyInit != null) {
|
3107
|
-
body = input._bodyInit;
|
3108
|
-
input.bodyUsed = true;
|
3109
|
-
}
|
3110
|
-
} else {
|
3111
|
-
this.url = String(input);
|
3112
|
-
}
|
3113
|
-
this.credentials = options.credentials || this.credentials || "same-origin";
|
3114
|
-
if (options.headers || !this.headers) {
|
3115
|
-
this.headers = new Headers(options.headers);
|
3116
|
-
}
|
3117
|
-
this.method = normalizeMethod(options.method || this.method || "GET");
|
3118
|
-
this.mode = options.mode || this.mode || null;
|
3119
|
-
this.signal = options.signal || this.signal;
|
3120
|
-
this.referrer = null;
|
3121
|
-
if ((this.method === "GET" || this.method === "HEAD") && body) {
|
3122
|
-
throw new TypeError("Body not allowed for GET or HEAD requests");
|
3123
|
-
}
|
3124
|
-
this._initBody(body);
|
3125
|
-
if (this.method === "GET" || this.method === "HEAD") {
|
3126
|
-
if (options.cache === "no-store" || options.cache === "no-cache") {
|
3127
|
-
var reParamSearch = /([?&])_=[^&]*/;
|
3128
|
-
if (reParamSearch.test(this.url)) {
|
3129
|
-
this.url = this.url.replace(reParamSearch, "$1_=" + (/* @__PURE__ */ new Date()).getTime());
|
3130
|
-
} else {
|
3131
|
-
var reQueryString = /\?/;
|
3132
|
-
this.url += (reQueryString.test(this.url) ? "&" : "?") + "_=" + (/* @__PURE__ */ new Date()).getTime();
|
3133
|
-
}
|
3134
|
-
}
|
3135
|
-
}
|
3136
|
-
}
|
3137
|
-
Request.prototype.clone = function() {
|
3138
|
-
return new Request(this, { body: this._bodyInit });
|
3139
|
-
};
|
3140
|
-
function decode(body) {
|
3141
|
-
var form = new FormData();
|
3142
|
-
body.trim().split("&").forEach(function(bytes) {
|
3143
|
-
if (bytes) {
|
3144
|
-
var split = bytes.split("=");
|
3145
|
-
var name2 = split.shift().replace(/\+/g, " ");
|
3146
|
-
var value = split.join("=").replace(/\+/g, " ");
|
3147
|
-
form.append(decodeURIComponent(name2), decodeURIComponent(value));
|
3148
|
-
}
|
3149
|
-
});
|
3150
|
-
return form;
|
3151
|
-
}
|
3152
|
-
function parseHeaders(rawHeaders) {
|
3153
|
-
var headers = new Headers();
|
3154
|
-
var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, " ");
|
3155
|
-
preProcessedHeaders.split("\r").map(function(header) {
|
3156
|
-
return header.indexOf("\n") === 0 ? header.substr(1, header.length) : header;
|
3157
|
-
}).forEach(function(line) {
|
3158
|
-
var parts = line.split(":");
|
3159
|
-
var key = parts.shift().trim();
|
3160
|
-
if (key) {
|
3161
|
-
var value = parts.join(":").trim();
|
3162
|
-
headers.append(key, value);
|
3163
|
-
}
|
3164
|
-
});
|
3165
|
-
return headers;
|
3166
|
-
}
|
3167
|
-
Body.call(Request.prototype);
|
3168
|
-
function Response(bodyInit, options) {
|
3169
|
-
if (!(this instanceof Response)) {
|
3170
|
-
throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');
|
3171
|
-
}
|
3172
|
-
if (!options) {
|
3173
|
-
options = {};
|
3174
|
-
}
|
3175
|
-
this.type = "default";
|
3176
|
-
this.status = options.status === void 0 ? 200 : options.status;
|
3177
|
-
this.ok = this.status >= 200 && this.status < 300;
|
3178
|
-
this.statusText = options.statusText === void 0 ? "" : "" + options.statusText;
|
3179
|
-
this.headers = new Headers(options.headers);
|
3180
|
-
this.url = options.url || "";
|
3181
|
-
this._initBody(bodyInit);
|
3182
|
-
}
|
3183
|
-
Body.call(Response.prototype);
|
3184
|
-
Response.prototype.clone = function() {
|
3185
|
-
return new Response(this._bodyInit, {
|
3186
|
-
status: this.status,
|
3187
|
-
statusText: this.statusText,
|
3188
|
-
headers: new Headers(this.headers),
|
3189
|
-
url: this.url
|
3190
|
-
});
|
3191
|
-
};
|
3192
|
-
Response.error = function() {
|
3193
|
-
var response = new Response(null, { status: 0, statusText: "" });
|
3194
|
-
response.type = "error";
|
3195
|
-
return response;
|
3196
|
-
};
|
3197
|
-
var redirectStatuses = [301, 302, 303, 307, 308];
|
3198
|
-
Response.redirect = function(url, status) {
|
3199
|
-
if (redirectStatuses.indexOf(status) === -1) {
|
3200
|
-
throw new RangeError("Invalid status code");
|
3201
|
-
}
|
3202
|
-
return new Response(null, { status, headers: { location: url } });
|
3203
|
-
};
|
3204
|
-
exports3.DOMException = global2.DOMException;
|
3205
|
-
try {
|
3206
|
-
new exports3.DOMException();
|
3207
|
-
} catch (err) {
|
3208
|
-
exports3.DOMException = function(message, name2) {
|
3209
|
-
this.message = message;
|
3210
|
-
this.name = name2;
|
3211
|
-
var error = Error(message);
|
3212
|
-
this.stack = error.stack;
|
3213
|
-
};
|
3214
|
-
exports3.DOMException.prototype = Object.create(Error.prototype);
|
3215
|
-
exports3.DOMException.prototype.constructor = exports3.DOMException;
|
3216
|
-
}
|
3217
|
-
function fetch2(input, init) {
|
3218
|
-
return new Promise(function(resolve, reject) {
|
3219
|
-
var request = new Request(input, init);
|
3220
|
-
if (request.signal && request.signal.aborted) {
|
3221
|
-
return reject(new exports3.DOMException("Aborted", "AbortError"));
|
3222
|
-
}
|
3223
|
-
var xhr = new XMLHttpRequest();
|
3224
|
-
function abortXhr() {
|
3225
|
-
xhr.abort();
|
3226
|
-
}
|
3227
|
-
xhr.onload = function() {
|
3228
|
-
var options = {
|
3229
|
-
status: xhr.status,
|
3230
|
-
statusText: xhr.statusText,
|
3231
|
-
headers: parseHeaders(xhr.getAllResponseHeaders() || "")
|
3232
|
-
};
|
3233
|
-
options.url = "responseURL" in xhr ? xhr.responseURL : options.headers.get("X-Request-URL");
|
3234
|
-
var body = "response" in xhr ? xhr.response : xhr.responseText;
|
3235
|
-
setTimeout(function() {
|
3236
|
-
resolve(new Response(body, options));
|
3237
|
-
}, 0);
|
3238
|
-
};
|
3239
|
-
xhr.onerror = function() {
|
3240
|
-
setTimeout(function() {
|
3241
|
-
reject(new TypeError("Network request failed"));
|
3242
|
-
}, 0);
|
3243
|
-
};
|
3244
|
-
xhr.ontimeout = function() {
|
3245
|
-
setTimeout(function() {
|
3246
|
-
reject(new TypeError("Network request failed"));
|
3247
|
-
}, 0);
|
3248
|
-
};
|
3249
|
-
xhr.onabort = function() {
|
3250
|
-
setTimeout(function() {
|
3251
|
-
reject(new exports3.DOMException("Aborted", "AbortError"));
|
3252
|
-
}, 0);
|
3253
|
-
};
|
3254
|
-
function fixUrl(url) {
|
3255
|
-
try {
|
3256
|
-
return url === "" && global2.location.href ? global2.location.href : url;
|
3257
|
-
} catch (e) {
|
3258
|
-
return url;
|
3259
|
-
}
|
3260
|
-
}
|
3261
|
-
xhr.open(request.method, fixUrl(request.url), true);
|
3262
|
-
if (request.credentials === "include") {
|
3263
|
-
xhr.withCredentials = true;
|
3264
|
-
} else if (request.credentials === "omit") {
|
3265
|
-
xhr.withCredentials = false;
|
3266
|
-
}
|
3267
|
-
if ("responseType" in xhr) {
|
3268
|
-
if (support.blob) {
|
3269
|
-
xhr.responseType = "blob";
|
3270
|
-
} else if (support.arrayBuffer && request.headers.get("Content-Type") && request.headers.get("Content-Type").indexOf("application/octet-stream") !== -1) {
|
3271
|
-
xhr.responseType = "arraybuffer";
|
3272
|
-
}
|
3273
|
-
}
|
3274
|
-
if (init && typeof init.headers === "object" && !(init.headers instanceof Headers)) {
|
3275
|
-
Object.getOwnPropertyNames(init.headers).forEach(function(name2) {
|
3276
|
-
xhr.setRequestHeader(name2, normalizeValue(init.headers[name2]));
|
3277
|
-
});
|
3278
|
-
} else {
|
3279
|
-
request.headers.forEach(function(value, name2) {
|
3280
|
-
xhr.setRequestHeader(name2, value);
|
3281
|
-
});
|
3282
|
-
}
|
3283
|
-
if (request.signal) {
|
3284
|
-
request.signal.addEventListener("abort", abortXhr);
|
3285
|
-
xhr.onreadystatechange = function() {
|
3286
|
-
if (xhr.readyState === 4) {
|
3287
|
-
request.signal.removeEventListener("abort", abortXhr);
|
3288
|
-
}
|
3289
|
-
};
|
3290
|
-
}
|
3291
|
-
xhr.send(typeof request._bodyInit === "undefined" ? null : request._bodyInit);
|
3292
|
-
});
|
3293
|
-
}
|
3294
|
-
fetch2.polyfill = true;
|
3295
|
-
if (!global2.fetch) {
|
3296
|
-
global2.fetch = fetch2;
|
3297
|
-
global2.Headers = Headers;
|
3298
|
-
global2.Request = Request;
|
3299
|
-
global2.Response = Response;
|
3300
|
-
}
|
3301
|
-
exports3.Headers = Headers;
|
3302
|
-
exports3.Request = Request;
|
3303
|
-
exports3.Response = Response;
|
3304
|
-
exports3.fetch = fetch2;
|
3305
|
-
return exports3;
|
3306
|
-
})({});
|
3307
|
-
})(__globalThis__);
|
3308
|
-
__globalThis__.fetch.ponyfill = true;
|
3309
|
-
delete __globalThis__.fetch.polyfill;
|
3310
|
-
var ctx = __global__.fetch ? __global__ : __globalThis__;
|
3311
|
-
exports2 = ctx.fetch;
|
3312
|
-
exports2.default = ctx.fetch;
|
3313
|
-
exports2.fetch = ctx.fetch;
|
3314
|
-
exports2.Headers = ctx.Headers;
|
3315
|
-
exports2.Request = ctx.Request;
|
3316
|
-
exports2.Response = ctx.Response;
|
3317
|
-
module2.exports = exports2;
|
3318
|
-
})(browserPonyfill, browserPonyfill.exports);
|
3319
|
-
var browserPonyfillExports = browserPonyfill.exports;
|
3320
|
-
const fetch$1 = /* @__PURE__ */ getDefaultExportFromCjs(browserPonyfillExports);
|
3321
|
-
function breakWord({ context, word, maxW = Infinity }) {
|
3322
|
-
const lines = [];
|
3323
|
-
const fullWordMetrics = context.measureText(word);
|
3324
|
-
if (fullWordMetrics.width < maxW) {
|
3325
|
-
return [{ text: word, metrics: fullWordMetrics }];
|
3326
|
-
}
|
3327
|
-
for (let i = 0; i < word.length; i++) {
|
3328
|
-
const lastLine = lines[lines.length - 1];
|
3329
|
-
const newText = ((lastLine == null ? void 0 : lastLine.text) ?? "") + word[i];
|
3330
|
-
const newLineMetrics = context.measureText(newText);
|
3331
|
-
if (newLineMetrics.width < maxW) {
|
3332
|
-
lines[lastLine ? lines.length - 1 : 0] = {
|
3333
|
-
text: newText,
|
3334
|
-
metrics: newLineMetrics
|
3335
|
-
};
|
3336
|
-
} else {
|
3337
|
-
lines.push({ text: word[i], metrics: context.measureText(word[i]) });
|
3338
|
-
}
|
3339
|
-
}
|
3340
|
-
return lines;
|
3341
|
-
}
|
3342
|
-
memoize(
|
3343
|
-
({ font, scale, context, maxW, maxH, text, minSize, maxSize }) => {
|
3344
|
-
var _a, _b;
|
3345
|
-
let fontSize = 0;
|
3346
|
-
if (maxSize) {
|
3347
|
-
const multiplier = 1;
|
3348
|
-
fontSize = (minSize ?? 0) * scale;
|
3349
|
-
let widestLine = 0;
|
3350
|
-
while (maxSize * scale > fontSize + multiplier) {
|
3351
|
-
fontSize += multiplier;
|
3352
|
-
const lines = getLines({ context, font, fontSize, text, maxW });
|
3353
|
-
widestLine = lines.reduce((acc, line) => {
|
3354
|
-
if (line.metrics.width > acc) {
|
3355
|
-
acc = line.metrics.width;
|
3356
|
-
}
|
3357
|
-
return acc;
|
3358
|
-
}, 0);
|
3359
|
-
if (widestLine > maxW || lines.length * fontSize > maxH) {
|
3360
|
-
fontSize -= multiplier;
|
3361
|
-
break;
|
3362
|
-
}
|
3363
|
-
}
|
3364
|
-
} else {
|
3365
|
-
fontSize = parseFloat(((_b = (_a = font.match(fontSizeRegex)) == null ? void 0 : _a.groups) == null ? void 0 : _b.value) ?? "0") * scale;
|
3366
|
-
}
|
3367
|
-
return fontSize;
|
3368
|
-
},
|
3369
|
-
{
|
3370
|
-
cacheKey: ([{ font, text, minSize, maxSize, scale, maxW, maxH }]) => `${font}_${text}_${minSize}_${maxSize}_${scale}_${maxW}_${maxH}`
|
3371
|
-
}
|
3372
|
-
);
|
3373
|
-
const easingMap = {
|
3374
|
-
linear,
|
3375
|
-
easeIn,
|
3376
|
-
easeInOut,
|
3377
|
-
easeOut,
|
3378
|
-
circIn,
|
3379
|
-
circInOut,
|
3380
|
-
circOut,
|
3381
|
-
backIn,
|
3382
|
-
backInOut,
|
3383
|
-
backOut,
|
3384
|
-
anticipate,
|
3385
|
-
bounceIn,
|
3386
|
-
bounceInOut,
|
3387
|
-
bounceOut
|
3388
|
-
};
|
3389
|
-
memoize(
|
3390
|
-
(from, to, { clamp: clamp2 = true, ease = "easeIn", ...options } = {}) => {
|
3391
|
-
return interpolate(from, to, { ...options, clamp: clamp2, ease: easingMap[ease] });
|
3392
|
-
},
|
3393
|
-
{
|
3394
|
-
cacheKey: ([from, to, options]) => JSON.stringify({ from, to, options })
|
3395
|
-
}
|
3396
|
-
);
|
3397
|
-
const fontSizeRegex = /(?<value>\d+\.?\d*)(?=px)/;
|
3398
|
-
const getLines = memoize(
|
3399
|
-
({ context, font, fontSize, text, maxW = Infinity }) => {
|
3400
|
-
try {
|
3401
|
-
context.save();
|
3402
|
-
context.font = font.replace(fontSizeRegex, fontSize.toString());
|
3403
|
-
const newLines = text.split("\n");
|
3404
|
-
return newLines.flatMap((line) => {
|
3405
|
-
const words = line.split(" ").filter(Boolean);
|
3406
|
-
if (!words.length) {
|
3407
|
-
return { text: "", metrics: context.measureText("") };
|
3408
|
-
}
|
3409
|
-
return words.slice(1).reduce((acc, word) => {
|
3410
|
-
const prevLine = acc[acc.length - 1].text;
|
3411
|
-
const newLine = `${prevLine} ${word}`.trim();
|
3412
|
-
const newMetrics = context.measureText(newLine);
|
3413
|
-
if (newMetrics.width > maxW) {
|
3414
|
-
acc = [...acc, ...breakWord({ context, word, maxW })];
|
3415
|
-
} else {
|
3416
|
-
acc[acc.length - 1] = {
|
3417
|
-
text: newLine,
|
3418
|
-
metrics: newMetrics
|
3419
|
-
};
|
3420
|
-
}
|
3421
|
-
return acc;
|
3422
|
-
}, breakWord({ context, word: words[0], maxW }));
|
3423
|
-
});
|
3424
|
-
} finally {
|
3425
|
-
context.restore();
|
3426
|
-
}
|
3427
|
-
},
|
3428
|
-
{
|
3429
|
-
cacheKey: ([{ font, fontSize, text, maxW }]) => `${font}_${fontSize}_${text}_${maxW}`
|
3430
|
-
}
|
3431
|
-
);
|
3432
|
-
const template = {
|
3433
|
-
id: "046f363c-960a-449c-ae5e-984ac6ab58c2",
|
3434
|
-
version: "2",
|
3435
|
-
name: "None",
|
3436
|
-
entityId: "none",
|
3437
|
-
templateId: "a95e537e-fb4d-4d2f-9c72-86c0925c7176",
|
3438
|
-
layouts: [
|
3439
|
-
{
|
3440
|
-
name: "none",
|
3441
|
-
tree: `[
|
3442
|
-
{
|
3443
|
-
"width": "100%",
|
3444
|
-
"height": "100%",
|
3445
|
-
"node": {
|
3446
|
-
"type": "video",
|
3447
|
-
"format": {{ it.videoFormat }},
|
3448
|
-
"value": {
|
3449
|
-
"id": {{ it.id }},
|
3450
|
-
"key": {{ it.key }},
|
3451
|
-
"src": {{@async resolve-source({ sources: [it.mp4, it.input] }) /}},
|
3452
|
-
"playlist": {{@async resolve-source({ sources: [it.playlist] }) /}},
|
3453
|
-
"poster": {{ it.poster }},
|
3454
|
-
"captions": {{ it.captions }},
|
3455
|
-
"duration": {{ it.duration }},
|
3456
|
-
"startOffset": {{ it.startOffset }},
|
3457
|
-
"endOffset": {{ it.endOffset }},
|
3458
|
-
"crop": {
|
3459
|
-
"x": {{ it.crop?.x }},
|
3460
|
-
"y": {{ it.crop?.y }},
|
3461
|
-
"width": {{ it.crop?.width }},
|
3462
|
-
"height": {{ it.crop?.height }}
|
3463
|
-
}
|
3464
|
-
}
|
3465
|
-
}
|
3466
|
-
}
|
3467
|
-
]`
|
3468
|
-
}
|
3469
|
-
],
|
3470
|
-
content: [
|
3471
|
-
{
|
3472
|
-
scenes: [
|
3473
|
-
{
|
3474
|
-
layout: "none",
|
3475
|
-
data: `{
|
3476
|
-
"id": {{ it.root?.answer?.id }},
|
3477
|
-
"key": {{ it.root?.answer?.id + '-intro' }},
|
3478
|
-
"mp4": {{ it.root?.answer?.media?.video }},
|
3479
|
-
"input": {{ it.root?.answer?.media?.input }},
|
3480
|
-
"playlist": {{ it.root?.answer?.media?.playlist }},
|
3481
|
-
"poster": {{ it.root?.answer?.media?.thumbnail }},
|
3482
|
-
"captions": {{ it.root?.answer?.captions?.current }},
|
3483
|
-
"duration": {{ it.root?.answer?.metadata?.duration }},
|
3484
|
-
"startOffset": {{ it.root?.answer?.settings?.startOffset }},
|
3485
|
-
"endOffset": {{ it.root?.answer?.settings?.endOffset }},
|
3486
|
-
"crop": {
|
3487
|
-
"x": {{ it.root?.answer?.settings?.crop?.x }},
|
3488
|
-
"y": {{ it.root?.answer?.settings?.crop?.y }},
|
3489
|
-
"width": {{ it.root?.answer?.settings?.crop?.width }},
|
3490
|
-
"height": {{ it.root?.answer?.settings?.crop?.height }}
|
3491
|
-
}
|
3492
|
-
}`
|
3493
|
-
}
|
3494
|
-
],
|
3495
|
-
root: "{{ it.intro?.questions?.items }}"
|
3496
|
-
},
|
3497
|
-
{
|
3498
|
-
scenes: [
|
3499
|
-
{
|
3500
|
-
layout: "none",
|
3501
|
-
data: `{
|
3502
|
-
"id": {{ it.root?.answer?.id }},
|
3503
|
-
"key": {{ it.root?.answer?.id + '-' + it.index }},
|
3504
|
-
"mp4": {{ it.root?.answer?.media?.video }},
|
3505
|
-
"input": {{ it.root?.answer?.media?.input }},
|
3506
|
-
"playlist": {{ it.root?.answer?.media?.playlist }},
|
3507
|
-
"poster": {{ it.root?.answer?.media?.thumbnail }},
|
3508
|
-
"captions": {{ it.root?.answer?.captions?.current }},
|
3509
|
-
"duration": {{ it.root?.answer?.metadata?.duration }},
|
3510
|
-
"startOffset": {{ it.root?.answer?.settings?.startOffset }},
|
3511
|
-
"endOffset": {{ it.root?.answer?.settings?.endOffset }},
|
3512
|
-
"crop": {
|
3513
|
-
"x": {{ it.root?.answer?.settings?.crop?.x }},
|
3514
|
-
"y": {{ it.root?.answer?.settings?.crop?.y }},
|
3515
|
-
"width": {{ it.root?.answer?.settings?.crop?.width }},
|
3516
|
-
"height": {{ it.root?.answer?.settings?.crop?.height }}
|
3517
|
-
}
|
3518
|
-
}`
|
3519
|
-
}
|
3520
|
-
],
|
3521
|
-
root: "{{ it.questions?.items }}"
|
3522
|
-
},
|
3523
|
-
{
|
3524
|
-
scenes: [
|
3525
|
-
{
|
3526
|
-
layout: "none",
|
3527
|
-
data: `{
|
3528
|
-
"id": {{ it.root?.answer?.id }},
|
3529
|
-
"key": {{ it.root?.answer?.id + '-outro' }},
|
3530
|
-
"mp4": {{ it.root?.answer?.media?.video }},
|
3531
|
-
"input": {{ it.root?.answer?.media?.input }},
|
3532
|
-
"playlist": {{ it.root?.answer?.media?.playlist }},
|
3533
|
-
"poster": {{ it.root?.answer?.media?.thumbnail }},
|
3534
|
-
"captions": {{ it.root?.answer?.captions?.current }},
|
3535
|
-
"duration": {{ it.root?.answer?.metadata?.duration }},
|
3536
|
-
"startOffset": {{ it.root?.answer?.settings?.startOffset }},
|
3537
|
-
"endOffset": {{ it.root?.answer?.settings?.endOffset }},
|
3538
|
-
"crop": {
|
3539
|
-
"x": {{ it.root?.answer?.settings?.crop?.x }},
|
3540
|
-
"y": {{ it.root?.answer?.settings?.crop?.y }},
|
3541
|
-
"width": {{ it.root?.answer?.settings?.crop?.width }},
|
3542
|
-
"height": {{ it.root?.answer?.settings?.crop?.height }}
|
3543
|
-
}
|
3544
|
-
}`
|
3545
|
-
}
|
3546
|
-
],
|
3547
|
-
root: "{{ it.outro?.questions?.items }}"
|
3548
|
-
}
|
3549
|
-
],
|
3550
|
-
system: true,
|
3551
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
3552
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
3553
|
-
};
|
3554
|
-
({
|
3555
|
-
id: "073977ec-6384-4329-b7c5-8275fb513e74",
|
3556
|
-
name: "None",
|
3557
|
-
entityId: "none",
|
3558
|
-
templateId: "a95e537e-fb4d-4d2f-9c72-86c0925c7176",
|
3559
|
-
templates: [template],
|
3560
|
-
meta: {
|
3561
|
-
frameRate: 30,
|
3562
|
-
resolution: 720,
|
3563
|
-
transitionDuration: 1 / 3
|
3564
|
-
},
|
3565
|
-
system: true,
|
3566
|
-
default: 0,
|
3567
|
-
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
3568
|
-
updatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
3569
|
-
});
|
3570
|
-
async function imageFactory() {
|
3571
|
-
if (typeof window === "undefined") {
|
3572
|
-
const skiaCanvas = await import("./browser-1b4c09f1.js").then((n) => n.b);
|
3573
|
-
return new skiaCanvas.Image();
|
3574
|
-
}
|
3575
|
-
return new Image();
|
3576
|
-
}
|
3577
|
-
pMemoize(async function getImage2(src) {
|
3578
|
-
if (!src) {
|
3579
|
-
return null;
|
3580
|
-
}
|
3581
|
-
return new Promise((resolve, reject) => {
|
3582
|
-
imageFactory().then((image) => {
|
3583
|
-
image.onload = () => {
|
3584
|
-
resolve(image);
|
3585
|
-
};
|
3586
|
-
image.onerror = (e) => {
|
3587
|
-
reject(e);
|
3588
|
-
};
|
3589
|
-
image.src = src;
|
3590
|
-
});
|
3591
|
-
});
|
3592
|
-
});
|
3593
|
-
async function checkSource(src) {
|
3594
|
-
var _a;
|
3595
|
-
try {
|
3596
|
-
if ((_a = await fetch$1(src, { method: "HEAD" })) == null ? void 0 : _a.ok) {
|
3597
|
-
return src;
|
3598
|
-
}
|
3599
|
-
} catch {
|
3600
|
-
return void 0;
|
3601
|
-
}
|
3602
|
-
return void 0;
|
3603
|
-
}
|
3604
|
-
async function getSources({ sources }) {
|
3605
|
-
let src = null;
|
3606
|
-
if (sources) {
|
3607
|
-
const sPromises = sources.filter(Boolean).map((src2) => checkSource(src2));
|
3608
|
-
src = (await Promise.all(sPromises)).find(Boolean);
|
3609
|
-
}
|
3610
|
-
return src;
|
3611
|
-
}
|
3612
|
-
function isPlainObject(value) {
|
3613
|
-
if (value === null || typeof value !== "object") {
|
3614
|
-
return false;
|
3615
|
-
}
|
3616
|
-
if (Object.getPrototypeOf(value) === null) {
|
3617
|
-
return true;
|
3618
|
-
}
|
3619
|
-
let proto = value;
|
3620
|
-
while (Object.getPrototypeOf(proto) !== null) {
|
3621
|
-
proto = Object.getPrototypeOf(proto);
|
3622
|
-
}
|
3623
|
-
return Object.getPrototypeOf(value) === proto;
|
3624
|
-
}
|
3625
|
-
function sanitizeJSON(unsanitized) {
|
3626
|
-
return unsanitized.replace(/\\/g, "\\\\").replace(/\//g, "\\/").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\f/g, "\\f").replace(/"/g, '\\"');
|
3627
|
-
}
|
3628
|
-
squirrelly_minExports.filters.define("parse", (data) => {
|
3629
|
-
if (typeof data === "undefined") {
|
3630
|
-
return null;
|
3631
|
-
}
|
3632
|
-
if (typeof data === "string") {
|
3633
|
-
return `"${sanitizeJSON(data)}"`;
|
3634
|
-
}
|
3635
|
-
if (isPlainObject(data) || Array.isArray(data)) {
|
3636
|
-
return JSON.stringify(data);
|
3637
|
-
}
|
3638
|
-
return data;
|
3639
|
-
});
|
3640
|
-
squirrelly_minExports.helpers.define(
|
3641
|
-
"resolve-source",
|
3642
|
-
pMemoize(
|
3643
|
-
async (content) => {
|
3644
|
-
const { sources } = content.params[0] ?? {};
|
3645
|
-
const validSources = sources == null ? void 0 : sources.filter(Boolean);
|
3646
|
-
const blob = validSources == null ? void 0 : validSources.find((source2) => source2.includes("blob:"));
|
3647
|
-
const local = validSources == null ? void 0 : validSources.find((source2) => !source2.includes("http"));
|
3648
|
-
const source = blob ?? local ?? await getSources({ sources });
|
3649
|
-
return source ? `"${source}"` : "null";
|
3650
|
-
},
|
3651
|
-
{
|
3652
|
-
cacheKey: ([content]) => JSON.stringify(content.params[0] ?? {})
|
3653
|
-
}
|
3654
|
-
)
|
3655
|
-
);
|
3656
|
-
const TEMPLATE_VERSION = "2";
|
3657
|
-
const name = "@vouchfor/embeds";
|
3658
|
-
const version = "1.3.2";
|
3659
|
-
const license = "MIT";
|
3660
|
-
const author = "Aaron Williams";
|
3661
|
-
const main = "dist/es/embeds.js";
|
3662
|
-
const module = "dist/es/embeds.js";
|
3663
|
-
const type = "module";
|
3664
|
-
const types = "dist/es/src/index.d.ts";
|
3665
|
-
const exports = {
|
3666
|
-
".": "./dist/es/embeds.js"
|
3667
|
-
};
|
3668
|
-
const files = [
|
3669
|
-
"dist",
|
3670
|
-
"src"
|
3671
|
-
];
|
3672
|
-
const publishConfig = {
|
3673
|
-
tag: "latest",
|
3674
|
-
access: "public"
|
3675
|
-
};
|
3676
|
-
const scripts = {
|
3677
|
-
build: "rm -rf dist && tsc && yarn build:self",
|
3678
|
-
"build:deps": "yarn --cwd ../media-player build",
|
3679
|
-
"build:self": "vite build --mode iife && vite build --mode es && node scripts/build.cjs",
|
3680
|
-
"build:package": "yarn build",
|
3681
|
-
"build:storybook": "yarn prebuild && storybook build",
|
3682
|
-
"generate:manifest": "wca src --outFile custom-elements.json",
|
3683
|
-
lint: "eslint . --quiet",
|
3684
|
-
"lint:fix": "eslint . --fix",
|
3685
|
-
"lint:staged": "lint-staged",
|
3686
|
-
prepublishOnly: "yarn build",
|
3687
|
-
size: "size-limit",
|
3688
|
-
storybook: "yarn prebuild && storybook dev -p 6007",
|
3689
|
-
prebuild: "yarn build:deps && yarn generate:manifest",
|
3690
|
-
test: "rm -rf test/lib && yarn prebuild && vite build --mode test && web-test-runner",
|
3691
|
-
"test:ci": "yarn test --config web-test-runner.ci.config.js"
|
3692
|
-
};
|
3693
|
-
const dependencies = {
|
3694
|
-
"@a11y/focus-trap": "^1.0.5",
|
3695
|
-
"@lit/task": "^1.0.0",
|
3696
|
-
"@vouchfor/media-player": "^2.2.2",
|
3697
|
-
uuid: "^9.0.1"
|
3698
|
-
};
|
3699
|
-
const peerDependencies = {
|
3700
|
-
lit: "^3.1.0"
|
3701
|
-
};
|
3702
|
-
const devDependencies = {
|
3703
|
-
"@esm-bundle/chai": "^4.3.4-fix.0",
|
3704
|
-
"@open-wc/testing": "^3.2.0",
|
3705
|
-
"@storybook/addon-essentials": "^7.4.5",
|
3706
|
-
"@storybook/addon-links": "^7.4.5",
|
3707
|
-
"@storybook/blocks": "^7.4.5",
|
3708
|
-
"@storybook/web-components": "^7.4.5",
|
3709
|
-
"@storybook/web-components-vite": "^7.4.5",
|
3710
|
-
"@types/mocha": "^10.0.1",
|
3711
|
-
"@vouchfor/eslint-config": "^1.0.0",
|
3712
|
-
"@vouchfor/prettier-config": "^1.0.0",
|
3713
|
-
"@web/dev-server-esbuild": "^0.4.1",
|
3714
|
-
"@web/test-runner": "^0.17.1",
|
3715
|
-
"@web/test-runner-browserstack": "^0.6.1",
|
3716
|
-
"@web/test-runner-mocha": "^0.8.1",
|
3717
|
-
"@web/test-runner-playwright": "^0.10.1",
|
3718
|
-
dotenv: "^16.3.1",
|
3719
|
-
eslint: "^8.50.0",
|
3720
|
-
"eslint-plugin-import": "^2.28.1",
|
3721
|
-
glob: "^10.3.10",
|
3722
|
-
"lint-staged": "^14.0.1",
|
3723
|
-
lit: "^3.1.0",
|
3724
|
-
lodash: "^4.17.21",
|
3725
|
-
prettier: "^3.0.3",
|
3726
|
-
react: "^18.2.0",
|
3727
|
-
"react-dom": "^18.2.0",
|
3728
|
-
"rollup-plugin-internal": "^1.0.4",
|
3729
|
-
sinon: "^17.0.1",
|
3730
|
-
storybook: "^7.4.5",
|
3731
|
-
typescript: "^5.1.3",
|
3732
|
-
vite: "^4.4.9",
|
3733
|
-
"vite-plugin-commonjs": "^0.10.0",
|
3734
|
-
"vite-plugin-dts": "^3.6.0",
|
3735
|
-
"web-component-analyzer": "^1.1.7"
|
3736
|
-
};
|
3737
|
-
const packageJson = {
|
3738
|
-
name,
|
3739
|
-
version,
|
3740
|
-
license,
|
3741
|
-
author,
|
3742
|
-
main,
|
3743
|
-
module,
|
3744
|
-
type,
|
3745
|
-
types,
|
3746
|
-
exports,
|
3747
|
-
files,
|
3748
|
-
publishConfig,
|
3749
|
-
scripts,
|
3750
|
-
"lint-staged": {
|
3751
|
-
"**/*.{ts,tsx,js}": "eslint --fix --quiet",
|
3752
|
-
"**/*.{md,json,yml}": "prettier --write"
|
3753
|
-
},
|
3754
|
-
dependencies,
|
3755
|
-
peerDependencies,
|
3756
|
-
devDependencies
|
3757
|
-
};
|
3758
|
-
function createVisitor(env) {
|
3759
|
-
const { publicApiUrl } = getEnvUrls(env);
|
3760
|
-
const visitorId = v4();
|
3761
|
-
navigator.sendBeacon(`${publicApiUrl}/api/visitor`, JSON.stringify({ visitorId }));
|
3762
|
-
return visitorId;
|
3763
|
-
}
|
3764
|
-
function getUids(env) {
|
3765
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
|
3766
|
-
if (typeof window === "undefined") {
|
3767
|
-
return {
|
3768
|
-
client: null,
|
3769
|
-
tab: null,
|
3770
|
-
request: v4()
|
3771
|
-
};
|
3772
|
-
}
|
3773
|
-
let visitorId = (_b = (_a = window.localStorage) == null ? void 0 : _a.getItem) == null ? void 0 : _b.call(_a, "vouch-uid-visitor");
|
3774
|
-
let clientId = (_d = (_c = window.localStorage) == null ? void 0 : _c.getItem) == null ? void 0 : _d.call(_c, "vouch-uid-client");
|
3775
|
-
let tabId = (_f = (_e = window.sessionStorage) == null ? void 0 : _e.getItem) == null ? void 0 : _f.call(_e, "vouch-uid-tab");
|
3776
|
-
const requestId = v4();
|
3777
|
-
if (!visitorId) {
|
3778
|
-
visitorId = createVisitor(env);
|
3779
|
-
(_h = (_g = window.localStorage) == null ? void 0 : _g.setItem) == null ? void 0 : _h.call(_g, "vouch-uid-visitor", visitorId);
|
3780
|
-
}
|
3781
|
-
if (!clientId) {
|
3782
|
-
clientId = v4();
|
3783
|
-
(_j = (_i = window.localStorage) == null ? void 0 : _i.setItem) == null ? void 0 : _j.call(_i, "vouch-uid-client", clientId);
|
3784
|
-
}
|
3785
|
-
if (!tabId) {
|
3786
|
-
tabId = v4();
|
3787
|
-
(_l = (_k = window.sessionStorage) == null ? void 0 : _k.setItem) == null ? void 0 : _l.call(_k, "vouch-uid-tab", tabId);
|
3788
|
-
}
|
3789
|
-
return {
|
3790
|
-
client: clientId,
|
3791
|
-
tab: tabId,
|
3792
|
-
request: requestId,
|
3793
|
-
visitor: visitorId
|
3794
|
-
};
|
3795
|
-
}
|
3796
|
-
function findVouchId(payload, vouch) {
|
3797
|
-
if (payload && "vouchId" in payload) {
|
3798
|
-
return payload.vouchId;
|
3799
|
-
}
|
3800
|
-
return (vouch == null ? void 0 : vouch.id) ?? null;
|
3801
|
-
}
|
3802
|
-
function getReportingMetadata(source = "embedded_player") {
|
3803
|
-
var _a, _b;
|
3804
|
-
const [country, region] = ((_b = (_a = Intl.DateTimeFormat().resolvedOptions().timeZone) == null ? void 0 : _a.split) == null ? void 0 : _b.call(_a, "/")) ?? [];
|
3805
|
-
const utmParams = {};
|
3806
|
-
[...new URLSearchParams(location.search).entries()].forEach(([key, value]) => {
|
3807
|
-
if (/utm/.test(key)) {
|
3808
|
-
const param = key.toLowerCase().replace(/[-_][a-z0-9]/g, (group) => group.slice(-1).toUpperCase());
|
3809
|
-
utmParams[param] = value;
|
3810
|
-
}
|
3811
|
-
});
|
3812
|
-
return {
|
3813
|
-
source,
|
3814
|
-
time: /* @__PURE__ */ new Date(),
|
3815
|
-
region,
|
3816
|
-
country,
|
3817
|
-
screenHeight: window.screen.height,
|
3818
|
-
screenWidth: window.screen.width,
|
3819
|
-
referrer: document.referrer,
|
3820
|
-
currentUrl: location.href,
|
3821
|
-
embedType: "media-player-embed",
|
3822
|
-
embedVersion: packageJson.version,
|
3823
|
-
templateVersion: TEMPLATE_VERSION,
|
3824
|
-
...utmParams
|
3825
|
-
};
|
3826
|
-
}
|
3827
|
-
const MINIMUM_SEND_THRESHOLD = 1;
|
3828
|
-
class TrackingController {
|
3829
|
-
constructor(host) {
|
3830
|
-
this._batchedEvents = [];
|
3831
|
-
this._hasPlayed = false;
|
3832
|
-
this._hasLoaded = {};
|
3833
|
-
this._answersViewed = {};
|
3834
|
-
this._streamStartTime = {};
|
3835
|
-
this._streamLatestTime = {};
|
3836
|
-
this._currentlyPlayingVideo = null;
|
3837
|
-
this._createTrackingEvent = (event, payload) => {
|
3838
|
-
const vouchId = findVouchId(payload, this.host.vouch);
|
3839
|
-
if (!vouchId || this.host.disableTracking) {
|
3840
|
-
return;
|
3841
|
-
}
|
3842
|
-
this._batchedEvents.push({
|
3843
|
-
event,
|
3844
|
-
payload: {
|
3845
|
-
...payload,
|
3846
|
-
vouchId,
|
3847
|
-
time: (/* @__PURE__ */ new Date()).toISOString()
|
3848
|
-
}
|
3849
|
-
});
|
3850
|
-
};
|
3851
|
-
this._sendTrackingEvent = () => {
|
3852
|
-
if (this._batchedEvents.length <= 0) {
|
3853
|
-
return;
|
3854
|
-
}
|
3855
|
-
const { publicApiUrl } = getEnvUrls(this.host.env);
|
3856
|
-
const { client, tab, request, visitor } = getUids(this.host.env);
|
3857
|
-
navigator.sendBeacon(
|
3858
|
-
`${publicApiUrl}/api/batchevents`,
|
3859
|
-
JSON.stringify({
|
3860
|
-
payload: {
|
3861
|
-
events: this._batchedEvents
|
3862
|
-
},
|
3863
|
-
context: {
|
3864
|
-
"x-uid-client": client,
|
3865
|
-
"x-uid-tab": tab,
|
3866
|
-
"x-uid-request": request,
|
3867
|
-
"x-uid-visitor": visitor,
|
3868
|
-
"x-reporting-metadata": getReportingMetadata(this.host.trackingSource)
|
3869
|
-
}
|
3870
|
-
})
|
3871
|
-
);
|
3872
|
-
this._batchedEvents = [];
|
3873
|
-
};
|
3874
|
-
this._streamEnded = () => {
|
3875
|
-
if (this._currentlyPlayingVideo) {
|
3876
|
-
const { id, key } = this._currentlyPlayingVideo;
|
3877
|
-
if (this._streamLatestTime[key] > this._streamStartTime[key] + MINIMUM_SEND_THRESHOLD) {
|
3878
|
-
this._createTrackingEvent("VIDEO_STREAMED", {
|
3879
|
-
answerId: id,
|
3880
|
-
streamStart: this._streamStartTime[key],
|
3881
|
-
streamEnd: this._streamLatestTime[key]
|
3882
|
-
});
|
3883
|
-
}
|
3884
|
-
delete this._streamStartTime[key];
|
3885
|
-
delete this._streamLatestTime[key];
|
3886
|
-
}
|
3887
|
-
};
|
3888
|
-
this._handleVouchLoaded = ({ detail: vouchId }) => {
|
3889
|
-
if (!vouchId) {
|
3890
|
-
return;
|
3891
|
-
}
|
3892
|
-
if (!this._hasLoaded[vouchId]) {
|
3893
|
-
this._createTrackingEvent("VOUCH_LOADED", { vouchId });
|
3894
|
-
this._hasLoaded[vouchId] = true;
|
3895
|
-
}
|
3896
|
-
};
|
3897
|
-
this._handlePlay = () => {
|
3898
|
-
if (!this._hasPlayed) {
|
3899
|
-
this._createTrackingEvent("VIDEO_PLAYED", {
|
3900
|
-
streamStart: this.host.currentTime
|
3901
|
-
});
|
3902
|
-
this._hasPlayed = true;
|
3903
|
-
}
|
3904
|
-
};
|
3905
|
-
this._handleVideoPlay = ({ detail: { id, key } }) => {
|
3906
|
-
if (!this._answersViewed[key]) {
|
3907
|
-
this._createTrackingEvent("VOUCH_RESPONSE_VIEWED", {
|
3908
|
-
answerId: id
|
3909
|
-
});
|
3910
|
-
this._answersViewed[key] = true;
|
3911
|
-
}
|
3912
|
-
};
|
3913
|
-
this._handleVideoTimeUpdate = ({ detail: { id, key, node } }) => {
|
3914
|
-
var _a, _b;
|
3915
|
-
if (
|
3916
|
-
// We only want to count any time that the video is actually playing
|
3917
|
-
!this.host.paused && // Only update the latest time if this event fires for the currently active video
|
3918
|
-
id === ((_b = (_a = this.host.scene) == null ? void 0 : _a.video) == null ? void 0 : _b.id)
|
3919
|
-
) {
|
3920
|
-
this._currentlyPlayingVideo = { id, key, node };
|
3921
|
-
this._streamLatestTime[key] = node.currentTime;
|
3922
|
-
if (!this._streamStartTime[key]) {
|
3923
|
-
this._streamStartTime[key] = node.currentTime;
|
3924
|
-
this._streamLatestTime[key] = node.currentTime;
|
3925
|
-
}
|
3926
|
-
}
|
3927
|
-
};
|
3928
|
-
this._handleVideoPause = ({ detail: { id, key } }) => {
|
3929
|
-
if (this._streamLatestTime[key] > this._streamStartTime[key] + MINIMUM_SEND_THRESHOLD) {
|
3930
|
-
this._createTrackingEvent("VIDEO_STREAMED", {
|
3931
|
-
answerId: id,
|
3932
|
-
streamStart: this._streamStartTime[key],
|
3933
|
-
streamEnd: this._streamLatestTime[key]
|
3934
|
-
});
|
3935
|
-
}
|
3936
|
-
delete this._streamStartTime[key];
|
3937
|
-
delete this._streamLatestTime[key];
|
3938
|
-
};
|
3939
|
-
this._pageUnloading = () => {
|
3940
|
-
this._streamEnded();
|
3941
|
-
this._sendTrackingEvent();
|
3942
|
-
};
|
3943
|
-
this._handleVisibilityChange = () => {
|
3944
|
-
if (document.visibilityState === "hidden") {
|
3945
|
-
this._pageUnloading();
|
3946
|
-
}
|
3947
|
-
};
|
3948
|
-
this._handlePageHide = () => {
|
3949
|
-
this._pageUnloading();
|
3950
|
-
};
|
3951
|
-
this.host = host;
|
3952
|
-
host.addController(this);
|
3953
|
-
}
|
3954
|
-
hostConnected() {
|
3955
|
-
requestAnimationFrame(() => {
|
3956
|
-
var _a, _b, _c, _d;
|
3957
|
-
if ("onvisibilitychange" in document) {
|
3958
|
-
document.addEventListener("visibilitychange", this._handleVisibilityChange);
|
3959
|
-
} else {
|
3960
|
-
window.addEventListener("pagehide", this._handlePageHide);
|
3961
|
-
}
|
3962
|
-
this.host.addEventListener("vouch:loaded", this._handleVouchLoaded);
|
3963
|
-
(_a = this.host.mediaPlayer) == null ? void 0 : _a.addEventListener("play", this._handlePlay);
|
3964
|
-
(_b = this.host.mediaPlayer) == null ? void 0 : _b.addEventListener("video:play", this._handleVideoPlay);
|
3965
|
-
(_c = this.host.mediaPlayer) == null ? void 0 : _c.addEventListener("video:pause", this._handleVideoPause);
|
3966
|
-
(_d = this.host.mediaPlayer) == null ? void 0 : _d.addEventListener("video:timeupdate", this._handleVideoTimeUpdate);
|
3967
|
-
});
|
3968
|
-
}
|
3969
|
-
hostDisconnected() {
|
3970
|
-
var _a, _b, _c, _d;
|
3971
|
-
this._pageUnloading();
|
3972
|
-
if ("onvisibilitychange" in document) {
|
3973
|
-
document.removeEventListener("visibilitychange", this._handleVisibilityChange);
|
3974
|
-
} else {
|
3975
|
-
window.removeEventListener("pagehide", this._handlePageHide);
|
3976
|
-
}
|
3977
|
-
this.host.removeEventListener("vouch:loaded", this._handleVouchLoaded);
|
3978
|
-
(_a = this.host.mediaPlayer) == null ? void 0 : _a.removeEventListener("play", this._handlePlay);
|
3979
|
-
(_b = this.host.mediaPlayer) == null ? void 0 : _b.removeEventListener("video:play", this._handleVideoPlay);
|
3980
|
-
(_c = this.host.mediaPlayer) == null ? void 0 : _c.removeEventListener("video:pause", this._handleVideoPause);
|
3981
|
-
(_d = this.host.mediaPlayer) == null ? void 0 : _d.removeEventListener("video:timeupdate", this._handleVideoTimeUpdate);
|
3982
|
-
}
|
3983
|
-
}
|
3984
|
-
var __defProp$3 = Object.defineProperty;
|
3985
|
-
var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
|
3986
|
-
var __decorateClass$3 = (decorators, target, key, kind) => {
|
3987
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
|
3988
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
3989
|
-
if (decorator = decorators[i])
|
3990
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
3991
|
-
if (kind && result)
|
3992
|
-
__defProp$3(target, key, result);
|
3993
|
-
return result;
|
3994
|
-
};
|
3995
|
-
let PlayerEmbed = class extends LitElement {
|
3996
|
-
constructor() {
|
3997
|
-
super(...arguments);
|
3998
|
-
this.env = "prod";
|
3999
|
-
this.apiKey = "";
|
4000
|
-
this.disableTracking = false;
|
4001
|
-
this.trackingSource = "embedded_player";
|
4002
|
-
this.preload = "auto";
|
4003
|
-
this.autoplay = false;
|
4004
|
-
this.aspectRatio = 0;
|
4005
|
-
this.eventController = new EventForwardController(this, [
|
4006
|
-
"durationchange",
|
4007
|
-
"ended",
|
4008
|
-
"error",
|
4009
|
-
"loadeddata",
|
4010
|
-
"pause",
|
4011
|
-
"stalled",
|
4012
|
-
"play",
|
4013
|
-
"playing",
|
4014
|
-
"ratechange",
|
4015
|
-
"scenechange",
|
4016
|
-
"seeking",
|
4017
|
-
"seeked",
|
4018
|
-
"timeupdate",
|
4019
|
-
"volumechange",
|
4020
|
-
"waiting",
|
4021
|
-
"video:loadeddata",
|
4022
|
-
"video:seeking",
|
4023
|
-
"video:seeked",
|
4024
|
-
"video:play",
|
4025
|
-
"video:playing",
|
4026
|
-
"video:pause",
|
4027
|
-
"video:stalled",
|
4028
|
-
"video:timeupdate",
|
4029
|
-
"video:ended",
|
4030
|
-
"video:error"
|
4031
|
-
]);
|
4032
|
-
this._fetcherController = new FetcherController(this);
|
4033
|
-
this._trackingController = new TrackingController(this);
|
4034
|
-
this._mediaPlayerRef = createRef();
|
4035
|
-
}
|
4036
|
-
get fetching() {
|
4037
|
-
return this._fetcherController.fetching;
|
4038
|
-
}
|
4039
|
-
get waiting() {
|
4040
|
-
var _a;
|
4041
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.waiting;
|
4042
|
-
}
|
4043
|
-
get initialised() {
|
4044
|
-
var _a;
|
4045
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.initialised;
|
4046
|
-
}
|
4047
|
-
get seeking() {
|
4048
|
-
var _a;
|
4049
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.seeking;
|
4050
|
-
}
|
4051
|
-
get paused() {
|
4052
|
-
var _a;
|
4053
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.paused;
|
4054
|
-
}
|
4055
|
-
get captions() {
|
4056
|
-
var _a;
|
4057
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.captions;
|
4058
|
-
}
|
4059
|
-
get fullscreen() {
|
4060
|
-
var _a;
|
4061
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.fullscreen;
|
4062
|
-
}
|
4063
|
-
get duration() {
|
4064
|
-
var _a;
|
4065
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.duration;
|
4066
|
-
}
|
4067
|
-
set currentTime(value) {
|
4068
|
-
if (this._mediaPlayerRef.value) {
|
4069
|
-
this._mediaPlayerRef.value.currentTime = value;
|
4070
|
-
}
|
4071
|
-
}
|
4072
|
-
get currentTime() {
|
4073
|
-
var _a;
|
4074
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.currentTime) ?? 0;
|
4075
|
-
}
|
4076
|
-
set playbackRate(value) {
|
4077
|
-
if (this._mediaPlayerRef.value) {
|
4078
|
-
this._mediaPlayerRef.value.playbackRate = value;
|
4079
|
-
}
|
4080
|
-
}
|
4081
|
-
get playbackRate() {
|
4082
|
-
var _a;
|
4083
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.playbackRate) ?? 1;
|
4084
|
-
}
|
4085
|
-
set volume(value) {
|
4086
|
-
if (this._mediaPlayerRef.value) {
|
4087
|
-
this._mediaPlayerRef.value.volume = value;
|
4088
|
-
}
|
4089
|
-
}
|
4090
|
-
get volume() {
|
4091
|
-
var _a;
|
4092
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.volume) ?? 1;
|
4093
|
-
}
|
4094
|
-
set muted(value) {
|
4095
|
-
if (this._mediaPlayerRef.value) {
|
4096
|
-
this._mediaPlayerRef.value.muted = value;
|
4097
|
-
}
|
4098
|
-
}
|
4099
|
-
get muted() {
|
4100
|
-
var _a;
|
4101
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.muted) ?? false;
|
4102
|
-
}
|
4103
|
-
get scene() {
|
4104
|
-
var _a;
|
4105
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.scene) ?? null;
|
4106
|
-
}
|
4107
|
-
get scenes() {
|
4108
|
-
var _a;
|
4109
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.scenes) ?? [];
|
4110
|
-
}
|
4111
|
-
get sceneConfig() {
|
4112
|
-
var _a;
|
4113
|
-
return ((_a = this._mediaPlayerRef.value) == null ? void 0 : _a.sceneConfig) ?? null;
|
4114
|
-
}
|
4115
|
-
get videoState() {
|
4116
|
-
var _a;
|
4117
|
-
return (_a = this._mediaPlayerRef.value) == null ? void 0 : _a.videoState;
|
4118
|
-
}
|
4119
|
-
get mediaPlayer() {
|
4120
|
-
return this._mediaPlayerRef.value;
|
4121
|
-
}
|
4122
|
-
play() {
|
4123
|
-
var _a;
|
4124
|
-
(_a = this._mediaPlayerRef.value) == null ? void 0 : _a.play();
|
4125
|
-
}
|
4126
|
-
pause() {
|
4127
|
-
var _a;
|
4128
|
-
(_a = this._mediaPlayerRef.value) == null ? void 0 : _a.pause();
|
4129
|
-
}
|
4130
|
-
reset(time = 0, play = false) {
|
4131
|
-
var _a;
|
4132
|
-
(_a = this._mediaPlayerRef.value) == null ? void 0 : _a.reset(time, play);
|
4133
|
-
}
|
4134
|
-
setScene(index) {
|
4135
|
-
var _a;
|
4136
|
-
(_a = this._mediaPlayerRef.value) == null ? void 0 : _a.setScene(index);
|
4137
|
-
}
|
4138
|
-
_renderStyles() {
|
4139
|
-
if (!this.aspectRatio) {
|
4140
|
-
return html`
|
4141
|
-
<style>
|
4142
|
-
:host {
|
4143
|
-
width: 100%;
|
4144
|
-
height: 100%;
|
4145
|
-
}
|
4146
|
-
</style>
|
4147
|
-
`;
|
4148
|
-
}
|
4149
|
-
if (typeof this.aspectRatio === "number") {
|
4150
|
-
return html`
|
4151
|
-
<style>
|
4152
|
-
:host {
|
4153
|
-
aspect-ratio: ${this.aspectRatio};
|
4154
|
-
}
|
4155
|
-
</style>
|
4156
|
-
`;
|
4157
|
-
}
|
4158
|
-
return null;
|
4159
|
-
}
|
4160
|
-
render() {
|
4161
|
-
return html`
|
4162
|
-
${this._renderStyles()}
|
4163
|
-
<vmp-media-player
|
4164
|
-
${ref(this._mediaPlayerRef)}
|
4165
|
-
${this.eventController.register()}
|
4166
|
-
?autoplay=${this.autoplay}
|
4167
|
-
?loading=${this.fetching}
|
4168
|
-
.data=${this.vouch}
|
4169
|
-
.template=${this.template}
|
4170
|
-
aspectRatio=${ifDefined(this.aspectRatio)}
|
4171
|
-
preload=${ifDefined(this.preload)}
|
4172
|
-
.controls=${this.controls}
|
4173
|
-
></vmp-media-player>
|
4174
|
-
`;
|
4175
|
-
}
|
4176
|
-
};
|
4177
|
-
PlayerEmbed.styles = [
|
4178
|
-
css`
|
4179
|
-
:host {
|
4180
|
-
display: flex;
|
4181
|
-
}
|
4182
|
-
`
|
4183
|
-
];
|
4184
|
-
__decorateClass$3([
|
4185
|
-
property({ type: Object })
|
4186
|
-
], PlayerEmbed.prototype, "data", 2);
|
4187
|
-
__decorateClass$3([
|
4188
|
-
property({ type: String })
|
4189
|
-
], PlayerEmbed.prototype, "vouchId", 2);
|
4190
|
-
__decorateClass$3([
|
4191
|
-
property({ type: String })
|
4192
|
-
], PlayerEmbed.prototype, "templateId", 2);
|
4193
|
-
__decorateClass$3([
|
4194
|
-
property({ type: Array })
|
4195
|
-
], PlayerEmbed.prototype, "questions", 2);
|
4196
|
-
__decorateClass$3([
|
4197
|
-
property({ type: String })
|
4198
|
-
], PlayerEmbed.prototype, "env", 2);
|
4199
|
-
__decorateClass$3([
|
4200
|
-
property({ type: String })
|
4201
|
-
], PlayerEmbed.prototype, "apiKey", 2);
|
4202
|
-
__decorateClass$3([
|
4203
|
-
property({ type: Boolean })
|
4204
|
-
], PlayerEmbed.prototype, "disableTracking", 2);
|
4205
|
-
__decorateClass$3([
|
4206
|
-
property({ type: String })
|
4207
|
-
], PlayerEmbed.prototype, "trackingSource", 2);
|
4208
|
-
__decorateClass$3([
|
4209
|
-
property({ type: Array })
|
4210
|
-
], PlayerEmbed.prototype, "controls", 2);
|
4211
|
-
__decorateClass$3([
|
4212
|
-
property({ type: String })
|
4213
|
-
], PlayerEmbed.prototype, "preload", 2);
|
4214
|
-
__decorateClass$3([
|
4215
|
-
property({ type: Boolean })
|
4216
|
-
], PlayerEmbed.prototype, "autoplay", 2);
|
4217
|
-
__decorateClass$3([
|
4218
|
-
property({ type: Number })
|
4219
|
-
], PlayerEmbed.prototype, "aspectRatio", 2);
|
4220
|
-
__decorateClass$3([
|
4221
|
-
state()
|
4222
|
-
], PlayerEmbed.prototype, "vouch", 2);
|
4223
|
-
__decorateClass$3([
|
4224
|
-
state()
|
4225
|
-
], PlayerEmbed.prototype, "template", 2);
|
4226
|
-
PlayerEmbed = __decorateClass$3([
|
4227
|
-
customElement("vouch-embed-player")
|
4228
|
-
], PlayerEmbed);
|
4229
|
-
var __defProp$2 = Object.defineProperty;
|
4230
|
-
var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
|
4231
|
-
var __decorateClass$2 = (decorators, target, key, kind) => {
|
4232
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
|
4233
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
4234
|
-
if (decorator = decorators[i])
|
4235
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
4236
|
-
if (kind && result)
|
4237
|
-
__defProp$2(target, key, result);
|
4238
|
-
return result;
|
4239
|
-
};
|
4240
|
-
let DialogOverlay = class extends LitElement {
|
4241
|
-
constructor() {
|
4242
|
-
super(...arguments);
|
4243
|
-
this.open = false;
|
4244
|
-
this.aspectRatio = 0;
|
4245
|
-
}
|
4246
|
-
render() {
|
4247
|
-
return html`
|
4248
|
-
<div
|
4249
|
-
class=${classMap({
|
4250
|
-
container: true,
|
4251
|
-
hidden: !this.open
|
4252
|
-
})}
|
4253
|
-
>
|
4254
|
-
<div
|
4255
|
-
class="background"
|
4256
|
-
@click=${() => this.dispatchEvent(new CustomEvent("overlay:click", { bubbles: true, composed: true }))}
|
4257
|
-
></div>
|
4258
|
-
<focus-trap>
|
4259
|
-
<div
|
4260
|
-
class=${classMap({
|
4261
|
-
"video-frame": true,
|
4262
|
-
grow: this.aspectRatio === 0
|
4263
|
-
})}
|
4264
|
-
style=${styleMap({
|
4265
|
-
aspectRatio: this.aspectRatio
|
4266
|
-
})}
|
4267
|
-
>
|
4268
|
-
<slot></slot>
|
4269
|
-
<vmp-icon-button
|
4270
|
-
icon="close"
|
4271
|
-
rounded="full"
|
4272
|
-
weight="heavy"
|
4273
|
-
@click=${() => this.dispatchEvent(new CustomEvent("close:click", { bubbles: true, composed: true }))}
|
4274
|
-
></vmp-icon-button>
|
4275
|
-
</div>
|
4276
|
-
</focus-trap>
|
4277
|
-
</div>
|
4278
|
-
`;
|
4279
|
-
}
|
4280
|
-
};
|
4281
|
-
DialogOverlay.styles = [
|
4282
|
-
css`
|
4283
|
-
:host {
|
4284
|
-
--vouch-media-player-border-radius: var(--vu-media-player-border-radius, 12px);
|
4285
|
-
--overlay-background-color: var(--vu-overlay-background-color, black);
|
4286
|
-
--overlay-background-opacity: var(--vu-overlay-background-opacity, 0.4);
|
4287
|
-
|
4288
|
-
--dialog-width: var(--vu-dialog-width, 890px);
|
4289
|
-
--dialog-height: var(--vu-dialog-height, 500px);
|
4290
|
-
}
|
4291
|
-
|
4292
|
-
.container {
|
4293
|
-
position: fixed;
|
4294
|
-
display: flex;
|
4295
|
-
inset: 0;
|
4296
|
-
opacity: 1;
|
4297
|
-
z-index: 2147483647;
|
4298
|
-
align-items: center;
|
4299
|
-
justify-content: center;
|
4300
|
-
transition: opacity 100ms ease-in;
|
4301
|
-
}
|
4302
|
-
|
4303
|
-
.hidden {
|
4304
|
-
opacity: 0;
|
4305
|
-
pointer-events: none;
|
4306
|
-
}
|
4307
|
-
|
4308
|
-
.background {
|
4309
|
-
position: absolute;
|
4310
|
-
inset: 0;
|
4311
|
-
opacity: var(--overlay-background-opacity);
|
4312
|
-
background-color: var(--overlay-background-color);
|
4313
|
-
}
|
4314
|
-
|
4315
|
-
focus-trap {
|
4316
|
-
display: flex;
|
4317
|
-
align-items: center;
|
4318
|
-
justify-content: center;
|
4319
|
-
margin: 40px;
|
4320
|
-
width: var(--dialog-width);
|
4321
|
-
height: var(--dialog-height);
|
4322
|
-
max-width: calc(100% - 80px);
|
4323
|
-
max-height: calc(100% - 80px);
|
4324
|
-
}
|
4325
|
-
|
4326
|
-
.video-frame {
|
4327
|
-
position: relative;
|
4328
|
-
display: flex;
|
4329
|
-
align-items: center;
|
4330
|
-
justify-content: center;
|
4331
|
-
max-width: 100%;
|
4332
|
-
max-height: 100%;
|
4333
|
-
}
|
4334
|
-
|
4335
|
-
.video-frame.grow {
|
4336
|
-
width: 100%;
|
4337
|
-
height: 100%;
|
4338
|
-
}
|
4339
|
-
|
4340
|
-
vmp-icon-button {
|
4341
|
-
position: absolute;
|
4342
|
-
top: 0;
|
4343
|
-
right: 0;
|
4344
|
-
margin: 10px;
|
4345
|
-
}
|
4346
|
-
`
|
4347
|
-
];
|
4348
|
-
__decorateClass$2([
|
4349
|
-
property({ type: Boolean })
|
4350
|
-
], DialogOverlay.prototype, "open", 2);
|
4351
|
-
__decorateClass$2([
|
4352
|
-
property({ type: Number })
|
4353
|
-
], DialogOverlay.prototype, "aspectRatio", 2);
|
4354
|
-
DialogOverlay = __decorateClass$2([
|
4355
|
-
customElement("vouch-embed-dialog-overlay")
|
4356
|
-
], DialogOverlay);
|
4357
|
-
var __defProp$1 = Object.defineProperty;
|
4358
|
-
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
4359
|
-
var __decorateClass$1 = (decorators, target, key, kind) => {
|
4360
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
|
4361
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
4362
|
-
if (decorator = decorators[i])
|
4363
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
4364
|
-
if (kind && result)
|
4365
|
-
__defProp$1(target, key, result);
|
4366
|
-
return result;
|
4367
|
-
};
|
4368
|
-
let DialogPortal = class extends LitElement {
|
4369
|
-
constructor() {
|
4370
|
-
super(...arguments);
|
4371
|
-
this.env = "prod";
|
4372
|
-
this.apiKey = "";
|
4373
|
-
this.disableTracking = false;
|
4374
|
-
this.trackingSource = "embedded_player";
|
4375
|
-
this.preload = "none";
|
4376
|
-
this.disableAutoplay = false;
|
4377
|
-
this.aspectRatio = 0;
|
4378
|
-
this._mediaPlayerRef = createRef();
|
4379
|
-
this.open = false;
|
4380
|
-
this._handleToggle = ({ detail }) => {
|
4381
|
-
var _a, _b, _c;
|
4382
|
-
if (this.id === detail) {
|
4383
|
-
this.open = !this.open;
|
4384
|
-
if (this.open) {
|
4385
|
-
if (!this.disableAutoplay && ((_a = this._mediaPlayerRef) == null ? void 0 : _a.value)) {
|
4386
|
-
this._mediaPlayerRef.value.muted = false;
|
4387
|
-
this._mediaPlayerRef.value.play();
|
4388
|
-
}
|
4389
|
-
} else {
|
4390
|
-
(_c = (_b = this._mediaPlayerRef) == null ? void 0 : _b.value) == null ? void 0 : _c.pause();
|
4391
|
-
}
|
4392
|
-
}
|
4393
|
-
};
|
4394
|
-
this._handleClose = () => {
|
4395
|
-
var _a, _b;
|
4396
|
-
this.open = false;
|
4397
|
-
(_b = (_a = this._mediaPlayerRef) == null ? void 0 : _a.value) == null ? void 0 : _b.pause();
|
4398
|
-
};
|
4399
|
-
this._handleDocumentKeyUp = (e) => {
|
4400
|
-
if (e.key === "Escape") {
|
4401
|
-
this._handleClose();
|
4402
|
-
}
|
4403
|
-
};
|
4404
|
-
}
|
4405
|
-
connectedCallback() {
|
4406
|
-
super.connectedCallback();
|
4407
|
-
document.addEventListener("dialogembed:click", this._handleToggle);
|
4408
|
-
document.addEventListener("keyup", this._handleDocumentKeyUp);
|
4409
|
-
document.addEventListener("close:click", this._handleClose);
|
4410
|
-
document.addEventListener("overlay:click", this._handleClose);
|
4411
|
-
}
|
4412
|
-
disconnectedCallback() {
|
4413
|
-
super.disconnectedCallback();
|
4414
|
-
document.removeEventListener("dialogembed:click", this._handleToggle);
|
4415
|
-
document.removeEventListener("keyup", this._handleDocumentKeyUp);
|
4416
|
-
document.removeEventListener("close:click", this._handleClose);
|
4417
|
-
document.removeEventListener("overlay:click", this._handleClose);
|
4418
|
-
}
|
4419
|
-
createRenderRoot() {
|
4420
|
-
const newNode = document.createElement("div");
|
4421
|
-
document.body.appendChild(newNode);
|
4422
|
-
return newNode;
|
4423
|
-
}
|
4424
|
-
render() {
|
4425
|
-
return html`
|
4426
|
-
<vouch-embed-dialog-overlay ?open=${this.open} aspectRatio=${this.aspectRatio}>
|
4427
|
-
<vouch-embed-player
|
4428
|
-
${ref(this._mediaPlayerRef)}
|
4429
|
-
style=${styleMap({
|
4430
|
-
maxWidth: "100%",
|
4431
|
-
maxHeight: "100%"
|
4432
|
-
})}
|
4433
|
-
?autoplay=${false}
|
4434
|
-
vouchId=${ifDefined(this.vouchId)}
|
4435
|
-
templateId=${ifDefined(this.templateId)}
|
4436
|
-
.questions=${this.questions}
|
4437
|
-
.controls=${this.controls}
|
4438
|
-
env=${ifDefined(this.env)}
|
4439
|
-
apiKey=${ifDefined(this.apiKey)}
|
4440
|
-
?disableTracking=${this.disableTracking}
|
4441
|
-
trackingSource=${ifDefined(this.trackingSource)}
|
4442
|
-
preload=${ifDefined(this.preload)}
|
4443
|
-
aspectRatio=${this.aspectRatio}
|
4444
|
-
></vouch-embed-player>
|
4445
|
-
</vouch-embed-dialog-overlay>
|
4446
|
-
`;
|
4447
|
-
}
|
4448
|
-
};
|
4449
|
-
__decorateClass$1([
|
4450
|
-
property({ type: String })
|
4451
|
-
], DialogPortal.prototype, "vouchId", 2);
|
4452
|
-
__decorateClass$1([
|
4453
|
-
property({ type: String })
|
4454
|
-
], DialogPortal.prototype, "templateId", 2);
|
4455
|
-
__decorateClass$1([
|
4456
|
-
property({ type: Array })
|
4457
|
-
], DialogPortal.prototype, "questions", 2);
|
4458
|
-
__decorateClass$1([
|
4459
|
-
property({ type: String })
|
4460
|
-
], DialogPortal.prototype, "env", 2);
|
4461
|
-
__decorateClass$1([
|
4462
|
-
property({ type: String })
|
4463
|
-
], DialogPortal.prototype, "apiKey", 2);
|
4464
|
-
__decorateClass$1([
|
4465
|
-
property({ type: Boolean })
|
4466
|
-
], DialogPortal.prototype, "disableTracking", 2);
|
4467
|
-
__decorateClass$1([
|
4468
|
-
property({ type: String })
|
4469
|
-
], DialogPortal.prototype, "trackingSource", 2);
|
4470
|
-
__decorateClass$1([
|
4471
|
-
property({ type: Array })
|
4472
|
-
], DialogPortal.prototype, "controls", 2);
|
4473
|
-
__decorateClass$1([
|
4474
|
-
property({ type: String })
|
4475
|
-
], DialogPortal.prototype, "preload", 2);
|
4476
|
-
__decorateClass$1([
|
4477
|
-
property({ type: Boolean })
|
4478
|
-
], DialogPortal.prototype, "disableAutoplay", 2);
|
4479
|
-
__decorateClass$1([
|
4480
|
-
property({ type: Number })
|
4481
|
-
], DialogPortal.prototype, "aspectRatio", 2);
|
4482
|
-
__decorateClass$1([
|
4483
|
-
state()
|
4484
|
-
], DialogPortal.prototype, "open", 2);
|
4485
|
-
DialogPortal = __decorateClass$1([
|
4486
|
-
customElement("vouch-embed-dialog-portal")
|
4487
|
-
], DialogPortal);
|
4488
|
-
var __defProp = Object.defineProperty;
|
4489
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4490
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
4491
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
4492
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
4493
|
-
if (decorator = decorators[i])
|
4494
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
4495
|
-
if (kind && result)
|
4496
|
-
__defProp(target, key, result);
|
4497
|
-
return result;
|
4498
|
-
};
|
4499
|
-
let DialogEmbed = class extends LitElement {
|
4500
|
-
constructor() {
|
4501
|
-
super(...arguments);
|
4502
|
-
this.env = "prod";
|
4503
|
-
this.apiKey = "";
|
4504
|
-
this.disableTracking = false;
|
4505
|
-
this.trackingSource = "embedded_player";
|
4506
|
-
this.preload = "none";
|
4507
|
-
this.disableAutoplay = false;
|
4508
|
-
this.aspectRatio = 0;
|
4509
|
-
this._id = v4();
|
4510
|
-
this._handleRootClick = () => {
|
4511
|
-
this.dispatchEvent(new CustomEvent("dialogembed:click", { detail: this._id, bubbles: true, composed: true }));
|
4512
|
-
};
|
4513
|
-
}
|
4514
|
-
connectedCallback() {
|
4515
|
-
super.connectedCallback();
|
4516
|
-
this.addEventListener("click", this._handleRootClick);
|
4517
|
-
}
|
4518
|
-
disconnectedCallback() {
|
4519
|
-
super.disconnectedCallback();
|
4520
|
-
this.removeEventListener("click", this._handleRootClick);
|
4521
|
-
}
|
4522
|
-
render() {
|
4523
|
-
return html`
|
4524
|
-
<slot>
|
4525
|
-
<vmp-button size="large">Play</vmp-button>
|
4526
|
-
</slot>
|
4527
|
-
<vouch-embed-dialog-portal
|
4528
|
-
id=${this._id}
|
4529
|
-
?autoplay=${false}
|
4530
|
-
vouchId=${ifDefined(this.vouchId)}
|
4531
|
-
templateId=${ifDefined(this.templateId)}
|
4532
|
-
.questions=${this.questions}
|
4533
|
-
.controls=${this.controls}
|
4534
|
-
env=${ifDefined(this.env)}
|
4535
|
-
apiKey=${ifDefined(this.apiKey)}
|
4536
|
-
?disableTracking=${this.disableTracking}
|
4537
|
-
trackingSource=${ifDefined(this.trackingSource)}
|
4538
|
-
preload=${ifDefined(this.preload)}
|
4539
|
-
aspectRatio=${this.aspectRatio}
|
4540
|
-
></vouch-embed-dialog-portal>
|
4541
|
-
`;
|
4542
|
-
}
|
4543
|
-
};
|
4544
|
-
DialogEmbed.styles = [
|
4545
|
-
css`
|
4546
|
-
:host {
|
4547
|
-
--vu-button-padding: 10px 20px;
|
4548
|
-
--vu-button-background: #287179;
|
4549
|
-
--vu-button-background-hover: #4faab2;
|
4550
|
-
|
4551
|
-
display: flex;
|
4552
|
-
width: fit-content;
|
4553
|
-
height: fit-content;
|
4554
|
-
}
|
4555
|
-
`
|
4556
|
-
];
|
4557
|
-
__decorateClass([
|
4558
|
-
property({ type: String })
|
4559
|
-
], DialogEmbed.prototype, "vouchId", 2);
|
4560
|
-
__decorateClass([
|
4561
|
-
property({ type: String })
|
4562
|
-
], DialogEmbed.prototype, "templateId", 2);
|
4563
|
-
__decorateClass([
|
4564
|
-
property({ type: Array })
|
4565
|
-
], DialogEmbed.prototype, "questions", 2);
|
4566
|
-
__decorateClass([
|
4567
|
-
property({ type: String })
|
4568
|
-
], DialogEmbed.prototype, "env", 2);
|
4569
|
-
__decorateClass([
|
4570
|
-
property({ type: String })
|
4571
|
-
], DialogEmbed.prototype, "apiKey", 2);
|
4572
|
-
__decorateClass([
|
4573
|
-
property({ type: Boolean })
|
4574
|
-
], DialogEmbed.prototype, "disableTracking", 2);
|
4575
|
-
__decorateClass([
|
4576
|
-
property({ type: String })
|
4577
|
-
], DialogEmbed.prototype, "trackingSource", 2);
|
4578
|
-
__decorateClass([
|
4579
|
-
property({ type: Array })
|
4580
|
-
], DialogEmbed.prototype, "controls", 2);
|
4581
|
-
__decorateClass([
|
4582
|
-
property({ type: String })
|
4583
|
-
], DialogEmbed.prototype, "preload", 2);
|
4584
|
-
__decorateClass([
|
4585
|
-
property({ type: Boolean })
|
4586
|
-
], DialogEmbed.prototype, "disableAutoplay", 2);
|
4587
|
-
__decorateClass([
|
4588
|
-
property({ type: Number })
|
4589
|
-
], DialogEmbed.prototype, "aspectRatio", 2);
|
4590
|
-
DialogEmbed = __decorateClass([
|
4591
|
-
customElement("vouch-embed-dialog")
|
4592
|
-
], DialogEmbed);
|
4593
|
-
export {
|
4594
|
-
DialogEmbed as D,
|
4595
|
-
PlayerEmbed as P,
|
4596
|
-
commonjsGlobal as c,
|
4597
|
-
getDefaultExportFromCjs as g
|
4598
|
-
};
|
4599
|
-
//# sourceMappingURL=index-37e10211.js.map
|