@vindral/web-sdk 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.mjs CHANGED
@@ -1,17 +1,17 @@
1
- var mg = Object.defineProperty, wg = Object.defineProperties;
2
- var Sg = Object.getOwnPropertyDescriptors;
3
- var yt = Object.getOwnPropertySymbols;
4
- var Dg = Object.prototype.hasOwnProperty, fg = Object.prototype.propertyIsEnumerable;
5
- var Le = (i, A, e) => A in i ? mg(i, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[A] = e, r = (i, A) => {
1
+ var wg = Object.defineProperty, Sg = Object.defineProperties;
2
+ var Dg = Object.getOwnPropertyDescriptors;
3
+ var Rt = Object.getOwnPropertySymbols;
4
+ var fg = Object.prototype.hasOwnProperty, pg = Object.prototype.propertyIsEnumerable;
5
+ var ve = (i, A, e) => A in i ? wg(i, A, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[A] = e, r = (i, A) => {
6
6
  for (var e in A || (A = {}))
7
- Dg.call(A, e) && Le(i, e, A[e]);
8
- if (yt)
9
- for (var e of yt(A))
10
- fg.call(A, e) && Le(i, e, A[e]);
7
+ fg.call(A, e) && ve(i, e, A[e]);
8
+ if (Rt)
9
+ for (var e of Rt(A))
10
+ pg.call(A, e) && ve(i, e, A[e]);
11
11
  return i;
12
- }, b = (i, A) => wg(i, Sg(A));
13
- var t = (i, A, e) => (Le(i, typeof A != "symbol" ? A + "" : A, e), e);
14
- var u = (i, A, e) => new Promise((g, s) => {
12
+ }, b = (i, A) => Sg(i, Dg(A));
13
+ var t = (i, A, e) => (ve(i, typeof A != "symbol" ? A + "" : A, e), e);
14
+ var m = (i, A, e) => new Promise((g, s) => {
15
15
  var I = (o) => {
16
16
  try {
17
17
  n(e.next(o));
@@ -27,10 +27,10 @@ var u = (i, A, e) => new Promise((g, s) => {
27
27
  }, n = (o) => o.done ? g(o.value) : Promise.resolve(o.value).then(I, B);
28
28
  n((e = e.apply(i, A)).next());
29
29
  });
30
- const pg = (i) => i ? {
30
+ const Fg = (i) => i ? {
31
31
  Authorization: `Bearer ${i}`
32
32
  } : void 0;
33
- class Rt {
33
+ class Gt {
34
34
  constructor(A) {
35
35
  t(this, "maxSize", 0);
36
36
  t(this, "size", 0);
@@ -55,7 +55,7 @@ class Rt {
55
55
  return this._borrowedBuffers;
56
56
  }
57
57
  }
58
- class ji {
58
+ class _i {
59
59
  constructor(A, e = 0) {
60
60
  t(this, "buffer");
61
61
  t(this, "bytes");
@@ -88,7 +88,7 @@ class ji {
88
88
  this.buffer = A, this.bytes = new Uint8Array(this.buffer), this.bitOffset = e;
89
89
  }
90
90
  }
91
- class Fg {
91
+ class yg {
92
92
  constructor(A = 100, e = 100) {
93
93
  t(this, "resizeSteps");
94
94
  t(this, "internalBuffer");
@@ -194,7 +194,7 @@ const VA = (i) => i.reduce((A, e) => A + e, 0) / i.length, fA = (i) => ({
194
194
  average: i.length === 0 ? 0 : VA(i),
195
195
  max: i.length === 0 ? 0 : Math.max(...i),
196
196
  min: i.length === 0 ? 0 : Math.min(...i)
197
- }), yg = (i) => {
197
+ }), Rg = (i) => {
198
198
  let A = 0, e = 0, g = 0, s = 0, I = 0;
199
199
  for (let C = 0; C < i.length; C++) {
200
200
  const { x: a, y: Q } = i[C];
@@ -206,7 +206,7 @@ const VA = (i) => i.reduce((A, e) => A + e, 0) / i.length, fA = (i) => ({
206
206
  );
207
207
  return { slope: B, intercept: n, r2: o, predict: (C) => B * (i.length + C) + n };
208
208
  };
209
- class Rg {
209
+ class Gg {
210
210
  constructor(A = 10) {
211
211
  t(this, "rates");
212
212
  t(this, "_total", 0);
@@ -267,8 +267,8 @@ class z {
267
267
  s ? s.push(I) : this.listeners[A] = [I];
268
268
  }
269
269
  }
270
- const je = 1e3, _e = je * 1e3, Gt = _e * 1e3, ve = (i, A, e) => i % A === 0 ? i / A : (i / A).toFixed(e), Gg = (i, A = 1) => i >= Gt ? `${ve(i, Gt, A)} Gbit/s` : i >= _e ? `${ve(i, _e, A)} Mbit/s` : i >= je ? `${ve(i, je, A)} Kbit/s` : `${i} bit/s`, kg = ({ width: i, height: A }) => `${i}x${A}`, Ug = (i) => i % 1e3 === 0 ? `${i / 1e3} kHz` : i > 1e3 ? `${(i / 1e3).toFixed(1)} kHz` : `${i} Hz`, j = () => {
271
- }, kt = (i, A) => {
270
+ const _e = 1e3, $e = _e * 1e3, kt = $e * 1e3, Ne = (i, A, e) => i % A === 0 ? i / A : (i / A).toFixed(e), kg = (i, A = 1) => i >= kt ? `${Ne(i, kt, A)} Gbit/s` : i >= $e ? `${Ne(i, $e, A)} Mbit/s` : i >= _e ? `${Ne(i, _e, A)} Kbit/s` : `${i} bit/s`, Ug = ({ width: i, height: A }) => `${i}x${A}`, bg = (i) => i % 1e3 === 0 ? `${i / 1e3} kHz` : i > 1e3 ? `${(i / 1e3).toFixed(1)} kHz` : `${i} Hz`, j = () => {
271
+ }, Ut = (i, A) => {
272
272
  const e = r({}, i);
273
273
  return typeof e != "object" || A.forEach((g) => {
274
274
  delete e[g];
@@ -284,27 +284,27 @@ const je = 1e3, _e = je * 1e3, Gt = _e * 1e3, ve = (i, A, e) => i % A === 0 ? i
284
284
  }, SA = (i) => i.reduce((A, e) => {
285
285
  var g;
286
286
  return A + (((g = e.end) != null ? g : Date.now()) - e.start);
287
- }, 0), Ut = (i, A, e = Date.now()) => i.reduce((g, s) => {
287
+ }, 0), bt = (i, A, e = Date.now()) => i.reduce((g, s) => {
288
288
  var n;
289
289
  const I = Math.max(e - A, s.start), B = (n = s.end) != null ? n : e;
290
290
  return Math.max(0, B - I) + g;
291
- }, 0), bg = (i) => {
291
+ }, 0), Jg = (i) => {
292
292
  try {
293
293
  return JSON.parse(i);
294
294
  } catch (A) {
295
295
  return;
296
296
  }
297
- }, bt = () => {
297
+ }, Jt = () => {
298
298
  const i = [...Array(256).keys()].map((e) => e.toString(16).padStart(2, "0")), A = crypto.getRandomValues(new Uint8Array(16));
299
299
  return A[6] = A[6] & 15 | 64, A[8] = A[8] & 63 | 128, [...A.entries()].map(([e, g]) => [4, 6, 8, 10].includes(e) ? `-${i[g]}` : i[g]).join("");
300
- }, _i = (i) => u(void 0, null, function* () {
300
+ }, $i = (i) => m(void 0, null, function* () {
301
301
  return new Promise((A) => setTimeout(A, i));
302
- }), Jg = (e, ...g) => u(void 0, [e, ...g], function* (i, A = new Error("Timeout")) {
302
+ }), Lg = (e, ...g) => m(void 0, [e, ...g], function* (i, A = new Error("Timeout")) {
303
303
  return new Promise((s, I) => setTimeout(() => I(A), i));
304
- }), Lg = (i) => typeof i == "object" && i !== null && "message" in i;
305
- class vg extends Error {
304
+ }), vg = (i) => typeof i == "object" && i !== null && "message" in i;
305
+ class Ng extends Error {
306
306
  constructor({ status: e, url: g, body: s }) {
307
- const I = bg(s), B = Lg(I) ? I.message : `Url ${g.toString()}, Status code: ${e}, Body: ${s}`;
307
+ const I = Jg(s), B = vg(I) ? I.message : `Url ${g.toString()}, Status code: ${e}, Body: ${s}`;
308
308
  super(B);
309
309
  t(this, "status");
310
310
  t(this, "body");
@@ -312,28 +312,28 @@ class vg extends Error {
312
312
  this.status = e, this.body = s, this.url = g, Object.setPrototypeOf(this, new.target.prototype);
313
313
  }
314
314
  }
315
- const Ng = (i) => typeof i.status == "number", $i = (i, A) => u(void 0, null, function* () {
315
+ const Hg = (i) => typeof i.status == "number", Ag = (i, A) => m(void 0, null, function* () {
316
316
  const e = yield fetch(i.toString(), r({ mode: "cors" }, A));
317
317
  if (!e.ok)
318
- throw new vg({ status: e.status, url: i, body: yield e.text() });
318
+ throw new Ng({ status: e.status, url: i, body: yield e.text() });
319
319
  return e;
320
- }), Ne = (i, A) => u(void 0, null, function* () {
321
- return yield (yield $i(i, r({}, A))).json();
322
- }), Hg = (i, A) => u(void 0, null, function* () {
323
- return $i(i, r({ method: "POST" }, A));
324
- }), Jt = {
320
+ }), He = (i, A) => m(void 0, null, function* () {
321
+ return yield (yield Ag(i, r({}, A))).json();
322
+ }), Mg = (i, A) => m(void 0, null, function* () {
323
+ return Ag(i, r({ method: "POST" }, A));
324
+ }), Lt = {
325
325
  lbConnect: (i) => i.channelGroupId ? `connect/?channelId=${i.channelId}&channelGroupId=${i.channelGroupId}` : `connect/?channelId=${i.channelId}`,
326
326
  thumbnails: (i, A) => A ? i.channelGroupId ? `thumbnail/?channelGroupId=${i.channelGroupId}&auth.token=${A}&auth.type=jwt` : i.channelId ? `thumbnail/?channelId=${i.channelId}&auth.token=${A}&auth.type=jwt` : "thumbnail" : "thumbnail"
327
327
  };
328
- class Mg {
328
+ class Pg {
329
329
  constructor(A) {
330
330
  t(this, "baseUrl");
331
331
  t(this, "tokenFactory");
332
332
  this.baseUrl = new URL("/api/v2/", A.publicEndpoint).toString(), this.tokenFactory = A.tokenFactory;
333
333
  }
334
334
  connect(A) {
335
- return u(this, null, function* () {
336
- const { channelId: e, channelGroupId: g } = A, s = { channelId: e, channelGroupId: g }, I = new URL(Jt.lbConnect(A), this.baseUrl), B = this.getAuthToken(s), n = yield Ne(I, { headers: this.getHeaders(B) });
335
+ return m(this, null, function* () {
336
+ const { channelId: e, channelGroupId: g } = A, s = { channelId: e, channelGroupId: g }, I = new URL(Lt.lbConnect(A), this.baseUrl), B = this.getAuthToken(s), n = yield He(I, { headers: this.getHeaders(B) });
337
337
  return {
338
338
  channels: n.channels.map((C) => {
339
339
  const a = this.toChannel(C, s);
@@ -350,20 +350,20 @@ class Mg {
350
350
  });
351
351
  }
352
352
  getChannel(A) {
353
- return u(this, null, function* () {
354
- const e = { channelId: A }, g = new URL(`channel/${A}`, this.baseUrl), s = this.getAuthToken(e), I = yield Ne(g, { headers: this.getHeaders(s) });
353
+ return m(this, null, function* () {
354
+ const e = { channelId: A }, g = new URL(`channel/${A}`, this.baseUrl), s = this.getAuthToken(e), I = yield He(g, { headers: this.getHeaders(s) });
355
355
  return this.toChannel(I, e, s);
356
356
  });
357
357
  }
358
358
  getChannels(A) {
359
- return u(this, null, function* () {
360
- const e = { channelGroupId: A }, g = new URL(`channels/${A}`, this.baseUrl), s = this.getAuthToken(e), I = yield Ne(g, { headers: this.getHeaders(s) });
359
+ return m(this, null, function* () {
360
+ const e = { channelGroupId: A }, g = new URL(`channels/${A}`, this.baseUrl), s = this.getAuthToken(e), I = yield He(g, { headers: this.getHeaders(s) });
361
361
  return this.toChannels(I, e, s);
362
362
  });
363
363
  }
364
364
  getHeaders(A) {
365
365
  var g;
366
- return (g = pg(A)) != null ? g : {};
366
+ return (g = Fg(A)) != null ? g : {};
367
367
  }
368
368
  getAuthToken(A) {
369
369
  return this.tokenFactory ? this.tokenFactory(A) : void 0;
@@ -372,8 +372,8 @@ class Mg {
372
372
  return A.map((s) => this.toChannel(s, e, g));
373
373
  }
374
374
  toChannel(A, e, g) {
375
- const { baseUrl: s, sizes: I } = A.thumbnail, B = s || new URL(Jt.thumbnails(e, g), this.baseUrl), n = I.map((o) => new URL(
376
- `?channelId=${A.channelId}&width=${o.width}&height=${o.height}${Pg(
375
+ const { baseUrl: s, sizes: I } = A.thumbnail, B = s || new URL(Lt.thumbnails(e, g), this.baseUrl), n = I.map((o) => new URL(
376
+ `?channelId=${A.channelId}&width=${o.width}&height=${o.height}${qg(
377
377
  e,
378
378
  g
379
379
  )}`,
@@ -387,8 +387,8 @@ class Mg {
387
387
  };
388
388
  }
389
389
  }
390
- const Pg = (i, A) => A ? i.channelGroupId ? `&channelGroupId=${i.channelGroupId}&auth.token=${A}&auth.type=jwt` : `&auth.token=${A}&auth.type=jwt` : "";
391
- class qg extends z {
390
+ const qg = (i, A) => A ? i.channelGroupId ? `&channelGroupId=${i.channelGroupId}&auth.token=${A}&auth.type=jwt` : `&auth.token=${A}&auth.type=jwt` : "";
391
+ class Tg extends z {
392
392
  constructor(e) {
393
393
  super();
394
394
  t(this, "state", "not casting");
@@ -404,7 +404,7 @@ class qg extends z {
404
404
  var e;
405
405
  this.unloaded = !0, (e = this.getSession()) == null || e.removeMessageListener("urn:x-cast:com.vindral.castdata", this.onMessage);
406
406
  });
407
- t(this, "init", () => u(this, null, function* () {
407
+ t(this, "init", () => m(this, null, function* () {
408
408
  return new Promise((e, g) => {
409
409
  let s = !1;
410
410
  const I = setTimeout(() => {
@@ -427,7 +427,7 @@ class qg extends z {
427
427
  }, this.castLibrariesAdded() && window.cast ? window.__onGCastApiAvailable(!0) : this.verifyCastLibraries();
428
428
  });
429
429
  }));
430
- t(this, "start", () => u(this, null, function* () {
430
+ t(this, "start", () => m(this, null, function* () {
431
431
  var e;
432
432
  yield (e = this.getInstance()) == null ? void 0 : e.requestSession();
433
433
  }));
@@ -553,7 +553,7 @@ class qg extends z {
553
553
  }));
554
554
  }
555
555
  }
556
- const xA = (i) => "width" in i && typeof i.width == "number", vA = (i) => !xA(i), He = (i) => {
556
+ const xA = (i) => "width" in i && typeof i.width == "number", vA = (i) => !xA(i), Me = (i) => {
557
557
  switch (i.codec) {
558
558
  case "opus":
559
559
  return 'audio/mp4; codecs="opus"';
@@ -569,12 +569,12 @@ const xA = (i) => "width" in i && typeof i.width == "number", vA = (i) => !xA(i)
569
569
  }, IA = () => Number.MAX_SAFE_INTEGER, ue = () => ({
570
570
  width: Number.MAX_SAFE_INTEGER,
571
571
  height: Number.MAX_SAFE_INTEGER
572
- }), Lt = (i) => !(typeof i != "object" || i === null || !("type" in i));
573
- var pe = /* @__PURE__ */ ((i) => (i.TRACE = "trace", i.DEBUG = "debug", i.INFO = "info", i.WARN = "warn", i.ERROR = "error", i.CRITICAL = "critical", i))(pe || {});
574
- class it {
572
+ }), vt = (i) => !(typeof i != "object" || i === null || !("type" in i));
573
+ var Fe = /* @__PURE__ */ ((i) => (i.TRACE = "trace", i.DEBUG = "debug", i.INFO = "info", i.WARN = "warn", i.ERROR = "error", i.CRITICAL = "critical", i))(Fe || {});
574
+ class gt {
575
575
  constructor(A) {
576
576
  t(this, "options");
577
- t(this, "getLogger", (A) => new it(b(r({}, this.options), {
577
+ t(this, "getLogger", (A) => new gt(b(r({}, this.options), {
578
578
  parent: this,
579
579
  category: A
580
580
  })));
@@ -592,7 +592,7 @@ class it {
592
592
  this.options = A;
593
593
  }
594
594
  }
595
- const Tg = {
595
+ const Kg = {
596
596
  sizeBasedResolutionCapEnabled: !0,
597
597
  pictureInPictureEnabled: !0,
598
598
  abrEnabled: !0,
@@ -602,7 +602,7 @@ const Tg = {
602
602
  muted: !1,
603
603
  minBufferTime: 1500,
604
604
  maxBufferTime: 1500,
605
- logLevel: pe.CRITICAL,
605
+ logLevel: Fe.CRITICAL,
606
606
  maxSize: ue(),
607
607
  maxVideoBitRate: IA(),
608
608
  maxAudioBitRate: IA(),
@@ -621,8 +621,8 @@ const Tg = {
621
621
  height: 1280
622
622
  }
623
623
  }
624
- }, Kg = "connection_failed", Yg = "connection_failed_will_not_attempt_again", xg = "authentication_error", Wg = "authentication_expired", Vg = "channel_not_found", Zg = "no_incoming_data_error", Og = "connection_inactivity", Xg = "missing_init_segment", zg = "no_track_context", jg = "invalid_track_context_state", _g = "disconnected_by_edge", $g = "decoder_error", As = "audio_player_error", es = "media_source_error", ts = "webgl_context_lost_error";
625
- class F extends Error {
624
+ }, Yg = "connection_failed", xg = "connection_failed_will_not_attempt_again", Wg = "authentication_error", Vg = "authentication_expired", Zg = "channel_not_found", Og = "no_incoming_data_error", Xg = "connection_inactivity", zg = "missing_init_segment", jg = "no_track_context", _g = "invalid_track_context_state", $g = "disconnected_by_edge", As = "decoder_error", es = "audio_player_error", ts = "media_source_error", is = "webgl_context_lost_error", gs = "access_forbidden";
625
+ class p extends Error {
626
626
  constructor(e, g, s = {}) {
627
627
  super(e);
628
628
  t(this, "props");
@@ -649,50 +649,50 @@ class F extends Error {
649
649
  this.props = g, this.extra = s, Object.setPrototypeOf(this, new.target.prototype);
650
650
  }
651
651
  }
652
- const is = (i, A) => new F(
652
+ const ss = (i, A) => new p(
653
653
  "MediaElement Error",
654
654
  { isFatal: i, code: "media_element_error", source: A },
655
655
  { mediaErrorCode: A.code }
656
- ), Ag = (i, A) => new F("Decoder Error", { isFatal: i, code: $g, source: A, type: "internal" }), eg = (i, A) => new F("Audio Player Error", { isFatal: i, code: As, source: A, type: "internal" }), gs = (i, A) => new F(`No init segment for rendition id ${i} for channel ${A}`, {
656
+ ), eg = (i, A) => new p("Decoder Error", { isFatal: i, code: As, source: A, type: "internal" }), tg = (i, A) => new p("Audio Player Error", { isFatal: i, code: es, source: A, type: "internal" }), Is = (i, A) => new p(`No init segment for rendition id ${i} for channel ${A}`, {
657
657
  isFatal: !1,
658
- code: Xg,
658
+ code: zg,
659
659
  type: "internal"
660
- }), vt = (i, A, e, g) => new F(
660
+ }), Nt = (i, A, e, g) => new p(
661
661
  "MediaSource Error",
662
- { isFatal: i, code: es, source: A, type: "internal" },
662
+ { isFatal: i, code: ts, source: A, type: "internal" },
663
663
  { type: g, consecutiveErrorsCount: e }
664
- ), Me = (i, A) => new F(`No track context for ${i}${A ? `, rendition id ${A}` : ""}`, {
664
+ ), Pe = (i, A) => new p(`No track context for ${i}${A ? `, rendition id ${A}` : ""}`, {
665
665
  isFatal: !1,
666
- code: zg,
666
+ code: jg,
667
667
  type: "internal"
668
- }), ss = (i, A) => new F(
668
+ }), Bs = (i, A) => new p(
669
669
  `Track context is in an invalid state for ${i}${A ? `, rendition id ${A}` : ""}`,
670
670
  {
671
671
  isFatal: !1,
672
- code: jg,
672
+ code: _g,
673
673
  type: "internal"
674
674
  }
675
- ), Is = () => new F("Web Audio Context resume timeout", { isFatal: !1, code: "web_audio_context_resume_timeout" }), JA = (i) => new F("Disconnected From Edge Server", {
675
+ ), ns = () => new p("Web Audio Context resume timeout", { isFatal: !1, code: "web_audio_context_resume_timeout" }), JA = (i) => new p("Disconnected From Edge Server", {
676
676
  type: "external",
677
677
  source: i,
678
678
  isFatal: !1,
679
- code: _g
680
- }), me = (i) => new F("Authentication Failed", { isFatal: !0, code: xg, source: i }), Bs = (i) => new F("Authentication Expired", { isFatal: !0, code: Wg, source: i }), ns = (i, A) => new F("Connection closed due to inactivity", { isFatal: !1, code: Og, source: A, type: i }), tg = (i, A) => new F("Channel not found", { isFatal: !1, code: Vg, source: A, type: i }), os = (i) => new F("No Incoming Data", { isFatal: !1, code: Zg, source: i }), Cs = (i) => new F("Connection attempt failed", {
679
+ code: $g
680
+ }), me = (i) => new p("Authentication Failed", { isFatal: !0, code: Wg, source: i }), os = (i) => new p("Authentication Expired", { isFatal: !0, code: Vg, source: i }), Cs = (i, A) => new p("Connection closed due to inactivity", { isFatal: !1, code: Xg, source: A, type: i }), ig = (i, A) => new p("Channel not found", { isFatal: !1, code: Zg, source: A, type: i }), Qs = (i) => new p("No Incoming Data", { isFatal: !1, code: Og, source: i }), as = (i) => new p("Connection attempt failed", {
681
681
  isFatal: !1,
682
- code: Kg,
682
+ code: Yg,
683
683
  source: i
684
- }), Qs = () => new F("Connection failed - no more reconnect attempts", {
684
+ }), Es = () => new p("Connection failed - no more reconnect attempts", {
685
685
  isFatal: !0,
686
- code: Yg
687
- }), as = (i) => new F("WebGL Context Lost", { isFatal: !1, code: ts, source: i, type: "internal" }), Nt = (i, A) => i && typeof i == "object" && A in i, ig = (i) => !(typeof i != "object" || !Nt(i, "channelId") || typeof i.channelId != "string" || !Nt(i, "url") || typeof i.url != "string" || i.channelId.length === 0 || i.url.length === 0), Es = (i) => {
688
- if (!ig(i))
689
- throw new F("Invalid options", { isFatal: !0, code: "invalid_options" });
686
+ code: xg
687
+ }), rs = (i) => new p("WebGL Context Lost", { isFatal: !1, code: is, source: i, type: "internal" }), Ht = (i) => new p(i, { isFatal: !1, code: gs }), Mt = (i, A) => i && typeof i == "object" && A in i, gg = (i) => !(typeof i != "object" || !Mt(i, "channelId") || typeof i.channelId != "string" || !Mt(i, "url") || typeof i.url != "string" || i.channelId.length === 0 || i.url.length === 0), hs = (i) => {
688
+ if (!gg(i))
689
+ throw new p("Invalid options", { isFatal: !0, code: "invalid_options" });
690
690
  const A = r({}, i);
691
691
  return Object.keys(A).forEach((e) => {
692
692
  const g = A;
693
693
  typeof g[e] == "undefined" && delete g[e];
694
694
  }), A;
695
- }, rs = (i) => {
695
+ }, cs = (i) => {
696
696
  switch (i) {
697
697
  case "h264":
698
698
  case "av1":
@@ -704,28 +704,28 @@ const is = (i, A) => new F(
704
704
  default:
705
705
  throw new Error("Unknown codec");
706
706
  }
707
- }, hs = 7, cs = 8, ds = (i) => {
707
+ }, ds = 7, ls = 8, us = (i) => {
708
708
  const A = i.getUint32(0, !1), e = i.getUint8(0) << 16 | i.getUint16(1, !1);
709
709
  let g = 0;
710
710
  return e === 1 ? g += 3 : A === 1 && (g += 4), g;
711
- }, ls = (i) => ds(new DataView(i, 0)) !== 0, Ht = (i, A = 0) => {
711
+ }, ms = (i) => us(new DataView(i, 0)) !== 0, Pt = (i, A = 0) => {
712
712
  for (let e = A; e < i.byteLength - 4; e++) {
713
713
  const g = i.getUint32(e) === 1, s = (i.getUint8(e) << 16 | i.getUint16(e + 1)) === 1;
714
714
  if (g || s)
715
715
  return { position: e, nalPrefixSize: g ? 4 : 3 };
716
716
  }
717
- }, us = (i) => i & 31, ms = (i, A) => {
717
+ }, ws = (i) => i & 31, Ss = (i, A) => {
718
718
  const e = new DataView(i, 0);
719
- let g = Ht(e);
719
+ let g = Pt(e);
720
720
  for (; g; ) {
721
- const { position: s, nalPrefixSize: I } = g, B = Ht(e, s + 4), n = B ? B.position - s - I : void 0;
721
+ const { position: s, nalPrefixSize: I } = g, B = Pt(e, s + 4), n = B ? B.position - s - I : void 0;
722
722
  if (!A(new DataView(i, s + I, n), I))
723
723
  return;
724
724
  g = B;
725
725
  }
726
- }, gg = (i) => {
726
+ }, sg = (i) => {
727
727
  const A = [], e = [];
728
- if (!ls(i)) {
728
+ if (!ms(i)) {
729
729
  const g = new DataView(i, 0), s = g.getUint8(5) & 31;
730
730
  let I = 6;
731
731
  for (let n = 0; n < s; n++) {
@@ -743,21 +743,21 @@ const is = (i, A) => new F(
743
743
  pictureParameterSets: e
744
744
  };
745
745
  }
746
- return ms(i, (g) => {
746
+ return Ss(i, (g) => {
747
747
  const s = g.byteOffset + g.byteLength;
748
- switch (us(g.getUint8(0))) {
749
- case cs:
748
+ switch (ws(g.getUint8(0))) {
749
+ case ls:
750
750
  e.push(g.buffer.slice(g.byteOffset, s));
751
751
  break;
752
- case hs:
752
+ case ds:
753
753
  A.push(g.buffer.slice(g.byteOffset, s));
754
754
  break;
755
755
  }
756
756
  return !0;
757
757
  }), { sequenceParameterSets: A, pictureParameterSets: e };
758
- }, ws = (i) => {
759
- var m;
760
- const A = new DataView(i), e = A.getUint8(1), g = A.getUint8(2), s = A.getUint8(3), I = new ji(i, 4 * 8);
758
+ }, Ds = (i) => {
759
+ var l;
760
+ const A = new DataView(i), e = A.getUint8(1), g = A.getUint8(2), s = A.getUint8(3), I = new _i(i, 4 * 8);
761
761
  I.readUnsignedExpGolomb();
762
762
  let B = 1;
763
763
  switch (e) {
@@ -798,19 +798,19 @@ const is = (i, A) => new F(
798
798
  const D = B == 1 ? 1 : 0, q = 1 << (B == 1 || B == 2 ? 1 : 0), H = 2 - a << D, G = I.readUnsignedExpGolomb() * q, K = I.readUnsignedExpGolomb() * q, T = I.readUnsignedExpGolomb() * H, Y = I.readUnsignedExpGolomb() * H;
799
799
  Q -= G + K, h -= T + Y;
800
800
  }
801
- let l = {
801
+ let u = {
802
802
  numerator: 1,
803
803
  denumerator: 1
804
804
  };
805
- return I.readBit() && I.readBit() && (l = (m = Ss[I.readBits(8)]) != null ? m : { numerator: 0, denumerator: 0 }), {
805
+ return I.readBit() && I.readBit() && (u = (l = fs[I.readBits(8)]) != null ? l : { numerator: 0, denumerator: 0 }), {
806
806
  width: Q,
807
807
  height: h,
808
- pixelAspectRatio: l,
808
+ pixelAspectRatio: u,
809
809
  profileIdc: e,
810
810
  constraintFlags: g,
811
811
  levelIdc: s
812
812
  };
813
- }, Ss = [
813
+ }, fs = [
814
814
  { numerator: 0, denumerator: 0 },
815
815
  { numerator: 1, denumerator: 1 },
816
816
  { numerator: 12, denumerator: 11 },
@@ -868,40 +868,40 @@ const is = (i, A) => new F(
868
868
  tfdt: d("tfdt"),
869
869
  trun: d("trun"),
870
870
  mdat: d("mdat")
871
- }, Ds = 1e3, WA = d("iso6"), Mt = new Uint8Array([0, 0, 2, 0]), fs = [
871
+ }, ps = 1e3, WA = d("iso6"), qt = new Uint8Array([0, 0, 2, 0]), Fs = [
872
872
  WA,
873
873
  new Uint8Array([105, 115, 111, 109]),
874
874
  new Uint8Array([105, 115, 111, 50]),
875
875
  new Uint8Array([97, 118, 99, 49]),
876
876
  new Uint8Array([109, 112, 52, 49])
877
- ], ps = [
877
+ ], ys = [
878
878
  WA,
879
879
  new Uint8Array([105, 115, 111, 109]),
880
880
  new Uint8Array([105, 115, 111, 50]),
881
881
  new Uint8Array([97, 118, 48, 49]),
882
882
  new Uint8Array([109, 112, 52, 49])
883
- ], Fs = [
883
+ ], Rs = [
884
884
  WA,
885
885
  new Uint8Array([105, 115, 111, 109]),
886
886
  new Uint8Array([105, 115, 111, 50]),
887
887
  new Uint8Array([109, 112, 52, 49])
888
888
  ];
889
- class sg {
889
+ class Ig {
890
890
  constructor() {
891
- t(this, "writer", new Fg());
891
+ t(this, "writer", new yg());
892
892
  }
893
893
  }
894
894
  const J = (i, A, e) => {
895
895
  i.writer.writeUint32(e + 8), i.writer.writeBytes(A);
896
896
  }, P = (i, A, e, g, s) => {
897
897
  J(i, A, e + 4), i.writer.writeUint8(g), i.writer.writeUint24(s);
898
- }, Pe = (i, A) => {
898
+ }, qe = (i, A) => {
899
899
  J(
900
900
  i,
901
901
  y.ftyp,
902
- WA.byteLength + Mt.byteLength + A.reduce((e, g) => e + g.byteLength, 0)
903
- ), i.writer.writeBytes(WA), i.writer.writeBytes(Mt), A.forEach((e) => i.writer.writeBytes(e));
904
- }, ys = (i, A, e) => {
902
+ WA.byteLength + qt.byteLength + A.reduce((e, g) => e + g.byteLength, 0)
903
+ ), i.writer.writeBytes(WA), i.writer.writeBytes(qt), A.forEach((e) => i.writer.writeBytes(e));
904
+ }, Gs = (i, A, e) => {
905
905
  P(i, y.mvhd, 96, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(e), i.writer.writeUint32(A), i.writer.writeUint32(65536), i.writer.writeUint16(256), i.writer.writeBytes(new Uint8Array([
906
906
  0,
907
907
  0,
@@ -974,7 +974,7 @@ const J = (i, A, e) => {
974
974
  0,
975
975
  0
976
976
  ])), i.writer.writeUint32(2);
977
- }, Ig = (i) => "sequenceParameterSets" in i, $e = (i) => "sequenceHeader" in i, cA = (i) => i.type == "video", NA = (i) => i.type == "audio", Rs = (i, A, e) => {
977
+ }, Bg = (i) => "sequenceParameterSets" in i, At = (i) => "sequenceHeader" in i, cA = (i) => i.type == "video", NA = (i) => i.type == "audio", ks = (i, A, e) => {
978
978
  const g = i.writer.position();
979
979
  P(i, y.tkhd, 0, 0, 3), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(A.trackId), i.writer.writeUint32(0), i.writer.writeUint32(A.duration * e / A.timescale), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint16(0), i.writer.writeUint16(NA(A) ? 1 : 0), i.writer.writeUint16(NA(A) ? 256 : 0), i.writer.writeUint16(0), i.writer.writeBytes(new Uint8Array(
980
980
  [
@@ -1016,24 +1016,24 @@ const J = (i, A, e) => {
1016
1016
  0
1017
1017
  ]
1018
1018
  )), cA(A) ? (i.writer.writeUint32(A.width * 65536), i.writer.writeUint32(A.height * 65536)) : NA(A) && (i.writer.writeUint32(0), i.writer.writeUint32(0)), i.writer.writeUint32At(g, i.writer.position() - g);
1019
- }, Gs = (i, A) => {
1019
+ }, Us = (i, A) => {
1020
1020
  P(i, y.mdhd, 20, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(A.timescale), i.writer.writeUint32(A.duration);
1021
1021
  const e = A.lang || "und", g = (e.charCodeAt(0) & 31) << 10 | (e.charCodeAt(1) & 31) << 5 | e.charCodeAt(2) & 31;
1022
1022
  i.writer.writeUint16(g), i.writer.writeUint16(0);
1023
- }, ks = (i, A) => {
1023
+ }, bs = (i, A) => {
1024
1024
  const e = i.writer.position();
1025
1025
  P(i, y.hdlr, 0, 0, 0), i.writer.writeUint32(0), i.writer.writeBytes(d(cA(A) ? "vide" : "soun")), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeBytes(d(cA(A) ? "VideoHandler\0" : "SoundHandler\0")), i.writer.writeUint32At(e, i.writer.position() - e);
1026
- }, Us = (i) => {
1026
+ }, Js = (i) => {
1027
1027
  const A = i.writer.position();
1028
1028
  J(i, y.dinf, 0), P(i, y.dref, 16, 0, 0), i.writer.writeUint32(1), P(i, d("url "), 0, 0, 1), i.writer.writeUint32At(A, i.writer.position() - A);
1029
- }, bs = (i, A) => {
1029
+ }, Ls = (i, A) => {
1030
1030
  const e = i.writer.position();
1031
1031
  J(i, y.avcC, 0), i.writer.writeUint8(1), i.writer.writeUint8(A.sequenceParameterSets[0][1]), i.writer.writeUint8(A.sequenceParameterSets[0][2]), i.writer.writeUint8(A.sequenceParameterSets[0][3]), i.writer.writeUint8(255), i.writer.writeUint8(224 | A.sequenceParameterSets.length), A.sequenceParameterSets.forEach((g) => {
1032
1032
  i.writer.writeUint16(g.byteLength), i.writer.writeBytes(g);
1033
1033
  }), i.writer.writeUint8(A.pictureParameterSets.length), A.pictureParameterSets.forEach((g) => {
1034
1034
  i.writer.writeUint16(g.byteLength), i.writer.writeBytes(g);
1035
1035
  }), i.writer.writeUint32At(e, i.writer.position() - e);
1036
- }, Js = (i, A) => {
1036
+ }, vs = (i, A) => {
1037
1037
  var n, o;
1038
1038
  const e = i.writer.position();
1039
1039
  J(i, y.av1C, 0);
@@ -1041,20 +1041,20 @@ const J = (i, A, e) => {
1041
1041
  i.writer.writeUint8(129), i.writer.writeUint8(g << 5 | ((n = B == null ? void 0 : B.seqLevelIdx) != null ? n : 0)), i.writer.writeUint8(
1042
1042
  ((o = B == null ? void 0 : B.tier) != null ? o : 0 << 7) | (I.highBitDepth ? 1 : 0 << 6) | (I.bitDepth === 12 ? 1 : 0) << 5 | (I.monoChrome ? 1 : 0) << 4 | I.subsamplingX << 3 | I.subsamplingY << 2 | I.chromaSamplePosition & 65535
1043
1043
  ), i.writer.writeUint8(0), i.writer.writeBytes(A.sequenceHeader), i.writer.writeUint32At(e, i.writer.position() - e);
1044
- }, Ls = (i, A) => {
1045
- const e = i.writer.position(), g = $e(A) ? y.av01 : y.avc1;
1046
- J(i, g, 0), i.writer.writeUint32(0), i.writer.writeUint16(0), i.writer.writeUint16(1), i.writer.writeUint16(0), i.writer.writeUint16(0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint16(A.width), i.writer.writeUint16(A.height), i.writer.writeUint32(4718592), i.writer.writeUint32(4718592), i.writer.writeUint32(0), i.writer.writeUint16(1), i.writer.writeUint8(0), i.writer.writeBytes(new Uint8Array(31)), i.writer.writeUint16(24), i.writer.writeUint16(-1), Ig(A) ? bs(i, A) : $e(A) && (Js(i, A), A.parsedSequenceHeader.colorConfig && (J(i, d("colr"), 11), i.writer.writeBytes(y.nclx), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.colorPrimaries), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.transferCharacteristics), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.matrixCoefficients), i.writer.writeUint8(A.parsedSequenceHeader.colorConfig.colorRange ? 1 : 0 << 7))), A.pixelAspectRatio && (J(i, d("pasp"), 8), i.writer.writeUint32(A.pixelAspectRatio.numerator), i.writer.writeUint32(A.pixelAspectRatio.denumerator)), A.bitrate && (J(i, d("btrt"), 12), i.writer.writeUint32(0), i.writer.writeUint32(A.bitrate), i.writer.writeUint32(A.bitrate)), i.writer.writeUint32At(e, i.writer.position() - e);
1044
+ }, Ns = (i, A) => {
1045
+ const e = i.writer.position(), g = At(A) ? y.av01 : y.avc1;
1046
+ J(i, g, 0), i.writer.writeUint32(0), i.writer.writeUint16(0), i.writer.writeUint16(1), i.writer.writeUint16(0), i.writer.writeUint16(0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint16(A.width), i.writer.writeUint16(A.height), i.writer.writeUint32(4718592), i.writer.writeUint32(4718592), i.writer.writeUint32(0), i.writer.writeUint16(1), i.writer.writeUint8(0), i.writer.writeBytes(new Uint8Array(31)), i.writer.writeUint16(24), i.writer.writeUint16(-1), Bg(A) ? Ls(i, A) : At(A) && (vs(i, A), A.parsedSequenceHeader.colorConfig && (J(i, d("colr"), 11), i.writer.writeBytes(y.nclx), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.colorPrimaries), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.transferCharacteristics), i.writer.writeUint16(A.parsedSequenceHeader.colorConfig.matrixCoefficients), i.writer.writeUint8(A.parsedSequenceHeader.colorConfig.colorRange ? 1 : 0 << 7))), A.pixelAspectRatio && (J(i, d("pasp"), 8), i.writer.writeUint32(A.pixelAspectRatio.numerator), i.writer.writeUint32(A.pixelAspectRatio.denumerator)), A.bitrate && (J(i, d("btrt"), 12), i.writer.writeUint32(0), i.writer.writeUint32(A.bitrate), i.writer.writeUint32(A.bitrate)), i.writer.writeUint32At(e, i.writer.position() - e);
1047
1047
  }, jA = (i, A, e) => {
1048
1048
  let g = 3;
1049
1049
  for (i.writer.writeUint8(A); g > 0; g--)
1050
1050
  i.writer.writeUint8(e >> 7 * g | 128);
1051
1051
  i.writer.writeUint8(e & 127);
1052
- }, vs = (i, A) => {
1052
+ }, Hs = (i, A) => {
1053
1053
  const e = A.decoderConfig.byteLength > 0 ? A.decoderConfig.byteLength + 5 : 0, g = i.writer.position();
1054
1054
  P(i, y.esds, 0, 0, 0), jA(i, 3, 3 + 5 + 13 + e + 5 + 1), i.writer.writeUint16(A.trackId), i.writer.writeUint8(0), jA(i, 4, 13 + e);
1055
1055
  const s = A.codec === "mp3" && A.sampleRate > 24e3 ? 107 : 64;
1056
1056
  i.writer.writeUint8(s), i.writer.writeUint8(21), i.writer.writeUint24(0), i.writer.writeUint32(A.bitrate || 0), i.writer.writeUint32(A.bitrate || 0), A.decoderConfig.byteLength > 0 && (jA(i, 5, A.decoderConfig.byteLength), i.writer.writeBytes(A.decoderConfig)), jA(i, 6, 1), i.writer.writeUint8(2), i.writer.writeUint32At(g, i.writer.position() - g);
1057
- }, Ns = (i) => {
1057
+ }, Ms = (i) => {
1058
1058
  switch (i) {
1059
1059
  case "aac":
1060
1060
  case "mp3":
@@ -1062,93 +1062,93 @@ const J = (i, A, e) => {
1062
1062
  case "opus":
1063
1063
  return "Opus";
1064
1064
  }
1065
- }, Hs = (i, A) => {
1065
+ }, Ps = (i, A) => {
1066
1066
  const e = i.writer.position();
1067
1067
  J(i, d("dOps"), 0), i.writer.writeUint8(0);
1068
1068
  const g = A.decoderConfig, s = new DataView(g.buffer, g.byteOffset, g.byteLength);
1069
1069
  i.writer.writeUint8(s.getUint8(9)), i.writer.writeUint16(s.getUint16(10, !0)), i.writer.writeUint32(s.getUint32(12, !0)), i.writer.writeUint16(s.getUint16(16, !0)), i.writer.writeBytes(A.decoderConfig.slice(18)), i.writer.writeUint32At(e, i.writer.position() - e);
1070
- }, Ms = (i, A) => {
1070
+ }, qs = (i, A) => {
1071
1071
  const e = i.writer.position();
1072
- switch (J(i, d(Ns(A.codec)), 0), i.writer.writeUint32(0), i.writer.writeUint16(0), i.writer.writeUint16(1), i.writer.writeUint16(0), i.writer.writeUint16(0), i.writer.writeUint32(0), i.writer.writeUint16(A.channelCount), i.writer.writeUint16(16), i.writer.writeUint32(0), i.writer.writeUint16(A.sampleRate), i.writer.writeUint16(0), A.codec) {
1072
+ switch (J(i, d(Ms(A.codec)), 0), i.writer.writeUint32(0), i.writer.writeUint16(0), i.writer.writeUint16(1), i.writer.writeUint16(0), i.writer.writeUint16(0), i.writer.writeUint32(0), i.writer.writeUint16(A.channelCount), i.writer.writeUint16(16), i.writer.writeUint32(0), i.writer.writeUint16(A.sampleRate), i.writer.writeUint16(0), A.codec) {
1073
1073
  case "aac":
1074
1074
  case "mp3":
1075
- vs(i, A);
1075
+ Hs(i, A);
1076
1076
  break;
1077
1077
  case "opus":
1078
- Hs(i, A);
1078
+ Ps(i, A);
1079
1079
  break;
1080
1080
  }
1081
1081
  A.bitrate && (J(i, d("btrt"), 12), i.writer.writeUint32(0), i.writer.writeUint32(A.bitrate), i.writer.writeUint32(A.bitrate)), i.writer.writeUint32At(e, i.writer.position() - e);
1082
- }, Ps = (i, A) => {
1082
+ }, Ts = (i, A) => {
1083
1083
  const e = i.writer.position();
1084
1084
  J(i, y.stbl, 0);
1085
1085
  const g = i.writer.position();
1086
- P(i, y.stsd, 0, 0, 0), i.writer.writeUint32(1), cA(A) ? Ls(i, A) : NA(A) && Ms(i, A), i.writer.writeUint32At(g, i.writer.position() - g), P(i, d("stts"), 4, 0, 0), i.writer.writeUint32(0), P(i, d("stsc"), 4, 0, 0), i.writer.writeUint32(0), P(i, d("stsz"), 8, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32(0), P(i, d("stco"), 4, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32At(e, i.writer.position() - e);
1087
- }, qs = (i, A) => {
1086
+ P(i, y.stsd, 0, 0, 0), i.writer.writeUint32(1), cA(A) ? Ns(i, A) : NA(A) && qs(i, A), i.writer.writeUint32At(g, i.writer.position() - g), P(i, d("stts"), 4, 0, 0), i.writer.writeUint32(0), P(i, d("stsc"), 4, 0, 0), i.writer.writeUint32(0), P(i, d("stsz"), 8, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32(0), P(i, d("stco"), 4, 0, 0), i.writer.writeUint32(0), i.writer.writeUint32At(e, i.writer.position() - e);
1087
+ }, Ks = (i, A) => {
1088
1088
  const e = i.writer.position();
1089
- J(i, y.minf, 0), cA(A) ? (P(i, y.vmhd, 8, 0, 1), i.writer.writeUint32(0), i.writer.writeUint32(0)) : NA(A) && (P(i, y.smhd, 4, 0, 0), i.writer.writeUint16(0), i.writer.writeUint16(0)), Us(i), Ps(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1090
- }, Ts = (i, A) => {
1089
+ J(i, y.minf, 0), cA(A) ? (P(i, y.vmhd, 8, 0, 1), i.writer.writeUint32(0), i.writer.writeUint32(0)) : NA(A) && (P(i, y.smhd, 4, 0, 0), i.writer.writeUint16(0), i.writer.writeUint16(0)), Js(i), Ts(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1090
+ }, Ys = (i, A) => {
1091
1091
  const e = i.writer.position();
1092
- J(i, y.mdia, 0), Gs(i, A), ks(i, A), qs(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1093
- }, Ks = (i, A, e) => {
1092
+ J(i, y.mdia, 0), Us(i, A), bs(i, A), Ks(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1093
+ }, xs = (i, A, e) => {
1094
1094
  const g = i.writer.position();
1095
- J(i, y.trak, 0), Rs(i, A, e), Ts(i, A), i.writer.writeUint32At(g, i.writer.position() - g);
1096
- }, Ys = (i, A) => {
1095
+ J(i, y.trak, 0), ks(i, A, e), Ys(i, A), i.writer.writeUint32At(g, i.writer.position() - g);
1096
+ }, Ws = (i, A) => {
1097
1097
  P(i, y.trex, 20, 0, 0), i.writer.writeUint32(A.trackId), i.writer.writeUint32(1), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint32(0);
1098
- }, xs = (i, A) => {
1098
+ }, Vs = (i, A) => {
1099
1099
  const e = i.writer.position();
1100
- J(i, y.mvex, 0), A.forEach((g) => Ys(i, g)), i.writer.writeUint32At(e, i.writer.position() - e);
1101
- }, Ws = (i, A, e) => {
1100
+ J(i, y.mvex, 0), A.forEach((g) => Ws(i, g)), i.writer.writeUint32At(e, i.writer.position() - e);
1101
+ }, Zs = (i, A, e) => {
1102
1102
  const g = i.writer.position();
1103
1103
  J(i, d(A), 0), J(i, d("data"), 0), i.writer.writeUint32(1), i.writer.writeUint32(0), i.writer.writeBytes(d(e)), i.writer.writeUint32At(g, i.writer.position() - g), i.writer.writeUint32At(g + 8, i.writer.position() - g - 8);
1104
- }, Vs = (i, A) => {
1104
+ }, Os = (i, A) => {
1105
1105
  const e = i.writer.position();
1106
1106
  P(i, y.meta, 0, 0, 0);
1107
1107
  const g = i.writer.position();
1108
1108
  J(i, y.hdlr, 25), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeBytes(d("mdir")), i.writer.writeBytes(d("appl")), i.writer.writeUint32(0), i.writer.writeUint32(0), i.writer.writeUint8(0), i.writer.writeUint32At(g, i.writer.position() - g);
1109
1109
  const s = i.writer.position();
1110
- J(i, y.ilst, 0), A == null || A.forEach((I, B) => Ws(i, B, I)), i.writer.writeUint32At(s, i.writer.position() - s), i.writer.writeUint32At(e, i.writer.position() - e);
1111
- }, Zs = (i, A) => {
1110
+ J(i, y.ilst, 0), A == null || A.forEach((I, B) => Zs(i, B, I)), i.writer.writeUint32At(s, i.writer.position() - s), i.writer.writeUint32At(e, i.writer.position() - e);
1111
+ }, Xs = (i, A) => {
1112
1112
  const e = i.writer.position();
1113
- J(i, y.udta, 0), Vs(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1114
- }, Os = (i, A, e, g) => {
1113
+ J(i, y.udta, 0), Os(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1114
+ }, zs = (i, A, e, g) => {
1115
1115
  const s = i.writer.position();
1116
- J(i, y.moov, 0), ys(i, 0, e), A.forEach((I) => Ks(i, I, e)), xs(i, A), g && Zs(i, g), i.writer.writeUint32At(s, i.writer.position() - s);
1117
- }, Xs = (i, A) => {
1116
+ J(i, y.moov, 0), Gs(i, 0, e), A.forEach((I) => xs(i, I, e)), Vs(i, A), g && Xs(i, g), i.writer.writeUint32At(s, i.writer.position() - s);
1117
+ }, js = (i, A) => {
1118
1118
  const e = i.writer.position();
1119
1119
  P(i, y.tfhd, 16, 0, 56), i.writer.writeUint32(A.trackId), i.writer.writeUint32(A.defaultDuration || 0), i.writer.writeUint32(A.defaultSize || 0), i.writer.writeUint32(A.defaultFlags || 0), i.writer.writeUint32At(e, i.writer.position() - e);
1120
- }, zs = (i, A) => {
1120
+ }, _s = (i, A) => {
1121
1121
  const e = i.writer.position();
1122
1122
  P(i, y.tfdt, 8, 1, 0);
1123
1123
  const g = Math.floor(A.timestamp / 4294967296), s = (A.timestamp & 4294967295) >>> 0;
1124
1124
  i.writer.writeUint32(g), i.writer.writeUint32(s), i.writer.writeUint32At(e, i.writer.position() - e);
1125
- }, js = (i, A) => {
1126
- const e = A.samples.some((n) => !!n.compositionTimeOffset), g = Pt(A.samples[0]) !== A.defaultFlags;
1125
+ }, $s = (i, A) => {
1126
+ const e = A.samples.some((n) => !!n.compositionTimeOffset), g = Tt(A.samples[0]) !== A.defaultFlags;
1127
1127
  let s = 1;
1128
1128
  g && (s |= 4), e && (s |= 2048);
1129
1129
  const I = i.writer.position();
1130
1130
  P(i, y.trun, 16, 1, s), i.writer.writeUint32(A.samples.length);
1131
1131
  const B = i.writer.position();
1132
- i.writer.writeUint32(0), g && i.writer.writeUint32(Pt(A.samples[0])), e && A.samples.forEach((n) => i.writer.writeUint32(n.compositionTimeOffset || 0)), i.writer.writeUint32At(B, i.writer.position() + 8), i.writer.writeUint32At(I, i.writer.position() - I);
1133
- }, Pt = (i) => i.isSync ? 33554432 : 16842752, _s = (i, A) => {
1132
+ i.writer.writeUint32(0), g && i.writer.writeUint32(Tt(A.samples[0])), e && A.samples.forEach((n) => i.writer.writeUint32(n.compositionTimeOffset || 0)), i.writer.writeUint32At(B, i.writer.position() + 8), i.writer.writeUint32At(I, i.writer.position() - I);
1133
+ }, Tt = (i) => i.isSync ? 33554432 : 16842752, AI = (i, A) => {
1134
1134
  const e = i.writer.position();
1135
- J(i, y.traf, 0), Xs(i, A), zs(i, A), js(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1136
- }, $s = (i, A) => {
1135
+ J(i, y.traf, 0), js(i, A), _s(i, A), $s(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1136
+ }, eI = (i, A) => {
1137
1137
  P(i, y.mfhd, 4, 0, 0), i.writer.writeUint32(A);
1138
- }, AI = (i, A) => {
1138
+ }, tI = (i, A) => {
1139
1139
  const e = i.writer.position();
1140
- J(i, y.moof, 0), $s(i, A.sequenceNumber), _s(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1141
- }, eI = (i, A) => {
1140
+ J(i, y.moof, 0), eI(i, A.sequenceNumber), AI(i, A), i.writer.writeUint32At(e, i.writer.position() - e);
1141
+ }, iI = (i, A) => {
1142
1142
  J(i, y.mdat, A.samples[0].data.length), i.writer.writeBytes(A.samples[0].data);
1143
- }, Fe = (i, A) => {
1144
- const e = new sg(), g = i.filter((I) => cA(I) && Ig(I)).length > 0;
1145
- return i.filter((I) => cA(I) && $e(I)).length > 0 ? Pe(e, ps) : g ? Pe(e, fs) : Pe(e, Fs), Os(e, i, Ds, A), e.writer.buffer();
1146
- }, ye = (i) => {
1147
- const A = new sg();
1143
+ }, ye = (i, A) => {
1144
+ const e = new Ig(), g = i.filter((I) => cA(I) && Bg(I)).length > 0;
1145
+ return i.filter((I) => cA(I) && At(I)).length > 0 ? qe(e, ys) : g ? qe(e, Fs) : qe(e, Rs), zs(e, i, ps, A), e.writer.buffer();
1146
+ }, Re = (i) => {
1147
+ const A = new Ig();
1148
1148
  if (i.samples.length !== 1)
1149
1149
  throw new Error("Only one sample is supported");
1150
- return AI(A, i), eI(A, i), A.writer.buffer();
1151
- }, tI = ({ isSync: i, timestamp: A, data: e, duration: g }, s) => ye({
1150
+ return tI(A, i), iI(A, i), A.writer.buffer();
1151
+ }, gI = ({ isSync: i, timestamp: A, data: e, duration: g }, s) => Re({
1152
1152
  trackId: 1,
1153
1153
  timestamp: A,
1154
1154
  sequenceNumber: s,
@@ -1162,7 +1162,7 @@ const J = (i, A, e) => {
1162
1162
  duration: g
1163
1163
  }
1164
1164
  ]
1165
- }), iI = (i, A, e, g) => Fe([
1165
+ }), sI = (i, A, e, g) => ye([
1166
1166
  {
1167
1167
  type: "audio",
1168
1168
  codec: "aac",
@@ -1173,12 +1173,12 @@ const J = (i, A, e) => {
1173
1173
  duration: 0,
1174
1174
  trackId: 1
1175
1175
  }
1176
- ]), Bg = (i) => {
1177
- const { sequenceParameterSets: A, pictureParameterSets: e } = gg(i), g = A[0], s = e[0];
1176
+ ]), ng = (i) => {
1177
+ const { sequenceParameterSets: A, pictureParameterSets: e } = sg(i), g = A[0], s = e[0];
1178
1178
  if (!g || !s)
1179
1179
  throw new Error("No sps or pps provided");
1180
- return ws(g);
1181
- }, gI = ({ isSync: i, timestamp: A, data: e, duration: g, compositionTimeOffset: s }, I) => ye({
1180
+ return Ds(g);
1181
+ }, II = ({ isSync: i, timestamp: A, data: e, duration: g, compositionTimeOffset: s }, I) => Re({
1182
1182
  trackId: 1,
1183
1183
  timestamp: A,
1184
1184
  sequenceNumber: I,
@@ -1193,9 +1193,9 @@ const J = (i, A, e) => {
1193
1193
  compositionTimeOffset: s
1194
1194
  }
1195
1195
  ]
1196
- }), sI = (i, A) => {
1197
- const { sequenceParameterSets: e, pictureParameterSets: g } = gg(i), s = Bg(i);
1198
- return Fe([
1196
+ }), BI = (i, A) => {
1197
+ const { sequenceParameterSets: e, pictureParameterSets: g } = sg(i), s = ng(i);
1198
+ return ye([
1199
1199
  {
1200
1200
  type: "video",
1201
1201
  sequenceParameterSets: e.map((I) => new Uint8Array(I)),
@@ -1207,7 +1207,7 @@ const J = (i, A, e) => {
1207
1207
  trackId: 1
1208
1208
  }
1209
1209
  ]);
1210
- }, II = (i, A, e) => Fe([
1210
+ }, nI = (i, A, e) => ye([
1211
1211
  {
1212
1212
  type: "audio",
1213
1213
  trackId: 1,
@@ -1218,7 +1218,7 @@ const J = (i, A, e) => {
1218
1218
  duration: 0,
1219
1219
  sampleRate: 48e3
1220
1220
  }
1221
- ]), BI = ({ isSync: i, timestamp: A, data: e, duration: g }, s) => ye({
1221
+ ]), oI = ({ isSync: i, timestamp: A, data: e, duration: g }, s) => Re({
1222
1222
  trackId: 1,
1223
1223
  timestamp: A,
1224
1224
  sequenceNumber: s,
@@ -1232,8 +1232,8 @@ const J = (i, A, e) => {
1232
1232
  duration: g
1233
1233
  }
1234
1234
  ]
1235
- }), nI = () => (i) => ng(i.buffered.start(0), i.buffered.end(i.buffered.length - 1)), ng = (i, A) => (e) => e.remove(Math.max(0, i), Math.min(Number.POSITIVE_INFINITY, A)), oI = (i) => (A) => A.appendBuffer(i), CI = (i) => (A) => A.changeType(i), QI = (i) => (A) => i(A);
1236
- class aI {
1235
+ }), CI = () => (i) => og(i.buffered.start(0), i.buffered.end(i.buffered.length - 1)), og = (i, A) => (e) => e.remove(Math.max(0, i), Math.min(Number.POSITIVE_INFINITY, A)), QI = (i) => (A) => A.appendBuffer(i), aI = (i) => (A) => A.changeType(i), EI = (i) => (A) => i(A);
1236
+ class rI {
1237
1237
  constructor(A) {
1238
1238
  t(this, "commandQueue", []);
1239
1239
  t(this, "sourceBuffer");
@@ -1242,11 +1242,11 @@ class aI {
1242
1242
  this.sourceBuffer.updating || (A = this.commandQueue.shift()) == null || A.execute(this.sourceBuffer);
1243
1243
  });
1244
1244
  t(this, "appendBuffer", (A) => new Promise((e, g) => {
1245
- const s = new bA(oI(A), e, g);
1245
+ const s = new bA(QI(A), e, g);
1246
1246
  this.commandQueue.push(s), this.handleQueue();
1247
1247
  }));
1248
1248
  t(this, "execute", (A) => new Promise((e, g) => {
1249
- const s = new bA(QI(A), e, g);
1249
+ const s = new bA(EI(A), e, g);
1250
1250
  this.commandQueue.push(s), this.handleQueue();
1251
1251
  }));
1252
1252
  t(this, "buffered", () => this.sourceBuffer.buffered);
@@ -1254,21 +1254,21 @@ class aI {
1254
1254
  A.removeSourceBuffer(this.sourceBuffer);
1255
1255
  });
1256
1256
  t(this, "changeType", (A) => new Promise((e, g) => {
1257
- const s = new bA(CI(A), e, g);
1257
+ const s = new bA(aI(A), e, g);
1258
1258
  this.commandQueue.push(s), this.handleQueue();
1259
1259
  }));
1260
1260
  t(this, "removeBuffer", (A, e) => new Promise((g, s) => {
1261
- const I = new bA(ng(A, e), g, s);
1261
+ const I = new bA(og(A, e), g, s);
1262
1262
  this.commandQueue.push(I), this.handleQueue();
1263
1263
  }));
1264
1264
  t(this, "flush", () => new Promise((A, e) => {
1265
- const g = new bA(nI, A, e);
1265
+ const g = new bA(CI, A, e);
1266
1266
  this.commandQueue.push(g), this.handleQueue();
1267
1267
  }));
1268
1268
  this.sourceBuffer = A, this.sourceBuffer.addEventListener("updateend", this.handleQueue);
1269
1269
  }
1270
1270
  }
1271
- class og extends z {
1271
+ class Cg extends z {
1272
1272
  constructor() {
1273
1273
  super();
1274
1274
  t(this, "mediaSource", new MediaSource());
@@ -1278,7 +1278,7 @@ class og extends z {
1278
1278
  t(this, "createObjectURL", () => URL.createObjectURL(this.mediaSource));
1279
1279
  t(this, "addSourceBuffer", (e) => {
1280
1280
  const g = this.mediaSource.addSourceBuffer(e);
1281
- return new aI(g);
1281
+ return new rI(g);
1282
1282
  });
1283
1283
  t(this, "removeSourceBuffer", (e) => {
1284
1284
  e.removeFromMediaSource(this.mediaSource);
@@ -1304,11 +1304,11 @@ class og extends z {
1304
1304
  this.mediaSource.addEventListener("sourceopen", this.onSourceOpen), this.mediaSource.addEventListener("sourceclose", this.onSourceClosed), this.mediaSource.addEventListener("sourceended", this.onSourceEnded);
1305
1305
  }
1306
1306
  }
1307
- t(og, "isTypeSupported", (e) => MediaSource.isTypeSupported(e));
1308
- const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI = (i) => !!(i & 8), cI = (i) => !!(i & 16), dI = (i) => {
1309
- const A = new DataView(i, 0), e = A.getUint8(0), g = A.getUint16(1), s = A.getUint8(3), I = A.getUint8(4), B = lI(new Uint8Array(i), 5, 12), n = A.getUint32(13), o = cI(s) ? A.getUint16(17) : void 0, C = i.slice(g);
1307
+ t(Cg, "isTypeSupported", (e) => MediaSource.isTypeSupported(e));
1308
+ const we = (i) => !!(i & 1), hI = (i) => !!(i & 2), cI = (i) => !!(i & 4), dI = (i) => !!(i & 8), lI = (i) => !!(i & 16), uI = (i) => {
1309
+ const A = new DataView(i, 0), e = A.getUint8(0), g = A.getUint16(1), s = A.getUint8(3), I = A.getUint8(4), B = mI(new Uint8Array(i), 5, 12), n = A.getUint32(13), o = lI(s) ? A.getInt16(17) : void 0, C = i.slice(g);
1310
1310
  return { version: e, renditionId: I, flags: s, timestamp: B, timescale: n, payload: C, compositionTimeOffset: o };
1311
- }, lI = (i, A, e) => {
1311
+ }, mI = (i, A, e) => {
1312
1312
  let g = 0;
1313
1313
  for (let s = A; s <= e; s++)
1314
1314
  if (s === A) {
@@ -1317,10 +1317,10 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1317
1317
  } else
1318
1318
  g = g * 256 + i[s];
1319
1319
  return g;
1320
- }, Cg = (i) => {
1321
- const A = new ji(i);
1322
- return A.peekBit() === 1 && A.readBits(32), wI(A), GI(A);
1323
- }, uI = (i) => {
1320
+ }, Qg = (i) => {
1321
+ const A = new _i(i);
1322
+ return A.peekBit() === 1 && A.readBits(32), DI(A), UI(A);
1323
+ }, wI = (i) => {
1324
1324
  let A = 0;
1325
1325
  for (let e = 0; e < 8; e++) {
1326
1326
  const g = i.readBits(8);
@@ -1328,37 +1328,37 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1328
1328
  break;
1329
1329
  }
1330
1330
  return A;
1331
- }, mI = (i) => {
1331
+ }, SI = (i) => {
1332
1332
  let A = 0;
1333
1333
  for (; A < 100 && i.readBit() === 0; )
1334
1334
  A++;
1335
1335
  return A >= 32 ? (1 << 32) - 1 : i.readBits(A) + (1 << A) - 1;
1336
- }, wI = (i) => {
1336
+ }, DI = (i) => {
1337
1337
  const A = i.readBits(8);
1338
1338
  if ((A >> 7 & 1) !== 0)
1339
1339
  return;
1340
1340
  const g = A >> 3 & 15, s = A >> 2 & 1, I = A >> 1 & 1;
1341
- return s == 1 && i.readBits(8), I == 1 && uI(i), {
1341
+ return s == 1 && i.readBits(8), I == 1 && wI(i), {
1342
1342
  headerLength: 1 + s,
1343
1343
  type: g
1344
1344
  };
1345
- }, SI = (i) => {
1345
+ }, fI = (i) => {
1346
1346
  const A = i.readBits(32), e = i.readBits(32), g = i.readBit() !== 0;
1347
1347
  let s = 0;
1348
- return g && (s = mI(i) + 1), {
1348
+ return g && (s = SI(i) + 1), {
1349
1349
  timescale: e,
1350
1350
  equalPictureInterval: g,
1351
1351
  numUnitsInDisplayTick: A,
1352
1352
  numTicksPerPicture: s
1353
1353
  };
1354
- }, Tt = 2, qe = 2, DI = 1, fI = 2, pI = 2, FI = 13, yI = 0, RI = 2, Kt = 0, GI = (i) => {
1354
+ }, Kt = 2, Te = 2, pI = 1, FI = 2, yI = 2, RI = 13, GI = 0, kI = 2, Yt = 0, UI = (i) => {
1355
1355
  const A = i.readBits(3), g = i.readBit() !== 0, s = i.readBit() !== 0;
1356
1356
  let I, B = !1, n = !1, o = !1, C = 0, a = 0;
1357
1357
  const Q = [];
1358
1358
  if (s)
1359
1359
  i.readBits(5);
1360
1360
  else {
1361
- if (n = i.readBit() !== 0, n && (I = SI(i), B = i.readBit() !== 0, B))
1361
+ if (n = i.readBit() !== 0, n && (I = fI(i), B = i.readBit() !== 0, B))
1362
1362
  throw new Error("Not implemented");
1363
1363
  o = i.readBit() !== 0;
1364
1364
  const eA = i.readBits(5) + 1;
@@ -1370,12 +1370,12 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1370
1370
  o && i.readBit() !== 0 && i.readBits(4), Q.push({ tier: L, operatingPointIdc: f, seqLevelIdx: R });
1371
1371
  }
1372
1372
  }
1373
- const h = i.readBits(4) + 1, l = i.readBits(4) + 1, m = i.readBits(h) + 1, D = i.readBits(l) + 1;
1373
+ const h = i.readBits(4) + 1, u = i.readBits(4) + 1, l = i.readBits(h) + 1, D = i.readBits(u) + 1;
1374
1374
  let S = !1;
1375
1375
  s ? S = !1 : S = i.readBit() !== 0, S && (C = i.readBits(4) + 2, a = i.readBits(3) + 1);
1376
1376
  const q = i.readBit() !== 0, H = i.readBit() !== 0, G = i.readBit() !== 0;
1377
- let K = !1, T = !1, Y = !1, _ = !1, $ = !1, E = !1, w = !1, k = Tt, U = qe, v = 0;
1378
- s || (K = i.readBit() !== 0, T = i.readBit() !== 0, Y = i.readBit() !== 0, _ = i.readBit() !== 0, $ = i.readBit() !== 0, $ && (E = i.readBit() !== 0, w = i.readBit() !== 0), i.readBit() !== 0 ? k = Tt : k = i.readBit(), k > 0 ? i.readBit() > 0 ? U = qe : U = i.readBit() : U = qe, $ ? v = i.readBits(3) : v = 0);
1377
+ let K = !1, T = !1, Y = !1, _ = !1, $ = !1, E = !1, w = !1, k = Kt, U = Te, v = 0;
1378
+ s || (K = i.readBit() !== 0, T = i.readBit() !== 0, Y = i.readBit() !== 0, _ = i.readBit() !== 0, $ = i.readBit() !== 0, $ && (E = i.readBit() !== 0, w = i.readBit() !== 0), i.readBit() !== 0 ? k = Kt : k = i.readBit(), k > 0 ? i.readBit() > 0 ? U = Te : U = i.readBit() : U = Te, $ ? v = i.readBits(3) : v = 0);
1379
1379
  const N = i.readBit() !== 0, V = i.readBit() !== 0, lA = i.readBit() !== 0;
1380
1380
  return {
1381
1381
  seqProfile: A,
@@ -1392,8 +1392,8 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1392
1392
  initialDisplayDelayPresentFlag: o,
1393
1393
  operatingPoints: Q,
1394
1394
  frameWidthBits: h,
1395
- frameHeightBits: l,
1396
- maxFrameWidth: m,
1395
+ frameHeightBits: u,
1396
+ maxFrameWidth: l,
1397
1397
  maxFrameHeight: D,
1398
1398
  frameIdNumbersPresentFlag: S,
1399
1399
  deltaFrameIdLength: C,
@@ -1414,63 +1414,63 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1414
1414
  enableSuperres: N,
1415
1415
  enableCdef: V,
1416
1416
  enableRestoration: lA,
1417
- colorConfig: kI(i, A),
1417
+ colorConfig: bI(i, A),
1418
1418
  filmGrainParamsPresent: i.readBit() !== 0
1419
1419
  };
1420
- }, kI = (i, A) => {
1420
+ }, bI = (i, A) => {
1421
1421
  const e = i.readBit() !== 0;
1422
1422
  let g = 8, s = !1;
1423
1423
  A === 2 && e ? g = i.readBit() !== 0 ? 12 : 10 : A <= 2 && (g = e ? 10 : 8), A === 1 ? s = !1 : s = i.readBit() !== 0;
1424
1424
  const I = s ? 1 : 3, B = i.readBit() !== 0;
1425
- let n = fI, o = pI, C = RI, a = !1, Q = 0, h = 0, l = Kt, m = !1;
1426
- return B && (n = i.readBits(8), o = i.readBits(8), C = i.readBits(8)), s ? (a = i.readBit() !== 0, Q = 1, h = 1, l = Kt, m = !1, {
1425
+ let n = FI, o = yI, C = kI, a = !1, Q = 0, h = 0, u = Yt, l = !1;
1426
+ return B && (n = i.readBits(8), o = i.readBits(8), C = i.readBits(8)), s ? (a = i.readBit() !== 0, Q = 1, h = 1, u = Yt, l = !1, {
1427
1427
  highBitDepth: e,
1428
1428
  bitDepth: g,
1429
1429
  monoChrome: s,
1430
- chromaSamplePosition: l,
1430
+ chromaSamplePosition: u,
1431
1431
  colorPrimaries: n,
1432
1432
  colorRange: a,
1433
1433
  matrixCoefficients: C,
1434
1434
  numPlanes: I,
1435
- separateUvDeltaQ: m,
1435
+ separateUvDeltaQ: l,
1436
1436
  subsamplingX: Q,
1437
1437
  subsamplingY: h,
1438
1438
  transferCharacteristics: o
1439
- }) : n === DI && o == FI && C == yI ? (a = !0, Q = 0, h = 0, {
1439
+ }) : n === pI && o == RI && C == GI ? (a = !0, Q = 0, h = 0, {
1440
1440
  highBitDepth: e,
1441
1441
  bitDepth: g,
1442
1442
  monoChrome: s,
1443
- chromaSamplePosition: l,
1443
+ chromaSamplePosition: u,
1444
1444
  colorPrimaries: n,
1445
1445
  colorRange: a,
1446
1446
  matrixCoefficients: C,
1447
1447
  numPlanes: I,
1448
- separateUvDeltaQ: m,
1448
+ separateUvDeltaQ: l,
1449
1449
  subsamplingX: Q,
1450
1450
  subsamplingY: h,
1451
1451
  transferCharacteristics: o
1452
- }) : (a = i.readBit() !== 0, A === 0 ? (Q = 1, h = 1) : A === 1 ? (Q = 0, h = 0) : g === 12 ? (Q = i.readBit(), Q !== 0 ? h = i.readBit() : h = 0) : (Q = 1, h = 0), Q !== 0 && h !== 0 && (l = i.readBits(2)), m = i.readBit() !== 0, {
1452
+ }) : (a = i.readBit() !== 0, A === 0 ? (Q = 1, h = 1) : A === 1 ? (Q = 0, h = 0) : g === 12 ? (Q = i.readBit(), Q !== 0 ? h = i.readBit() : h = 0) : (Q = 1, h = 0), Q !== 0 && h !== 0 && (u = i.readBits(2)), l = i.readBit() !== 0, {
1453
1453
  highBitDepth: e,
1454
1454
  bitDepth: g,
1455
1455
  monoChrome: s,
1456
- chromaSamplePosition: l,
1456
+ chromaSamplePosition: u,
1457
1457
  colorPrimaries: n,
1458
1458
  colorRange: a,
1459
1459
  matrixCoefficients: C,
1460
1460
  numPlanes: I,
1461
- separateUvDeltaQ: m,
1461
+ separateUvDeltaQ: l,
1462
1462
  subsamplingX: Q,
1463
1463
  subsamplingY: h,
1464
1464
  transferCharacteristics: o
1465
1465
  });
1466
- }, UI = (i) => {
1467
- const A = Cg(i);
1466
+ }, JI = (i) => {
1467
+ const A = Qg(i);
1468
1468
  if (A)
1469
1469
  return {
1470
1470
  width: A.maxFrameWidth,
1471
1471
  height: A.maxFrameHeight
1472
1472
  };
1473
- }, bI = ({ isSync: i, timestamp: A, data: e, duration: g, compositionTimeOffset: s }, I) => ye({
1473
+ }, LI = ({ isSync: i, timestamp: A, data: e, duration: g, compositionTimeOffset: s }, I) => Re({
1474
1474
  trackId: 1,
1475
1475
  timestamp: A,
1476
1476
  sequenceNumber: I,
@@ -1485,11 +1485,11 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1485
1485
  compositionTimeOffset: s
1486
1486
  }
1487
1487
  ]
1488
- }), JI = (i, A) => {
1489
- const e = Cg(i);
1488
+ }), vI = (i, A) => {
1489
+ const e = Qg(i);
1490
1490
  if (!e)
1491
1491
  throw new Error("Failed to parse sequence header");
1492
- return Fe([
1492
+ return ye([
1493
1493
  {
1494
1494
  type: "video",
1495
1495
  parsedSequenceHeader: e,
@@ -1501,41 +1501,41 @@ const qt = (i) => !!(i & 1), EI = (i) => !!(i & 2), rI = (i) => !!(i & 4), hI =
1501
1501
  trackId: 1
1502
1502
  }
1503
1503
  ]);
1504
- }, LI = (i, A, e) => {
1504
+ }, NI = (i, A, e) => {
1505
1505
  switch (i) {
1506
1506
  case "h264":
1507
- return NI(A, e);
1507
+ return MI(A, e);
1508
1508
  case "av1":
1509
- return HI(A, e);
1509
+ return PI(A, e);
1510
1510
  case "opus":
1511
- return MI(A, e);
1511
+ return qI(A, e);
1512
1512
  case "aac":
1513
- return PI(A, e);
1513
+ return TI(A, e);
1514
1514
  default:
1515
1515
  throw new Error(`Failed to initialize ${i} segment`);
1516
1516
  }
1517
- }, vI = (i, A) => {
1517
+ }, HI = (i, A) => {
1518
1518
  switch (i) {
1519
1519
  case "h264":
1520
- return Bg(A);
1520
+ return ng(A);
1521
1521
  case "av1":
1522
- return UI(A);
1522
+ return JI(A);
1523
1523
  }
1524
- }, NI = (i, A) => sI(i, A), HI = (i, A) => JI(i, A), MI = (i, A) => II(new Uint8Array(i), 2, A), PI = (i, A) => iI(new Uint8Array(i), 2, A, A), qI = (i, A) => {
1524
+ }, MI = (i, A) => BI(i, A), PI = (i, A) => vI(i, A), qI = (i, A) => nI(new Uint8Array(i), 2, A), TI = (i, A) => sI(new Uint8Array(i), 2, A, A), KI = (i, A) => {
1525
1525
  switch (i.codec) {
1526
1526
  case "h264":
1527
- return gI(i, A);
1527
+ return II(i, A);
1528
1528
  case "opus":
1529
- return BI(i, A);
1529
+ return oI(i, A);
1530
1530
  case "aac":
1531
- return tI(i, A);
1531
+ return gI(i, A);
1532
1532
  case "av1":
1533
- return bI(i, A);
1533
+ return LI(i, A);
1534
1534
  default:
1535
1535
  throw new Error(`Unsupported codec ${i.codec}`);
1536
1536
  }
1537
- }, TI = "data:video/mp4;base64,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", _A = () => "wakeLock" in navigator && window.navigator.userAgent.indexOf("Samsung") === -1;
1538
- class KI {
1537
+ }, YI = "data:video/mp4;base64,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", _A = () => "wakeLock" in navigator && window.navigator.userAgent.indexOf("Samsung") === -1;
1538
+ class xI {
1539
1539
  constructor() {
1540
1540
  t(this, "enabled", !1);
1541
1541
  t(this, "wakeLockVideo");
@@ -1556,7 +1556,7 @@ class KI {
1556
1556
  if (!_A()) {
1557
1557
  if (!this.wakeLockVideo) {
1558
1558
  const e = document.createElement("video");
1559
- this.wakeLockVideo = e, this.wakeLockVideo.setAttribute("title", "Live Stream"), this.wakeLockVideo.setAttribute("playsinline", ""), this._addSourceToVideo(this.wakeLockVideo, "mp4", TI), Object.assign(this.wakeLockVideo.style, {
1559
+ this.wakeLockVideo = e, this.wakeLockVideo.setAttribute("title", "Live Stream"), this.wakeLockVideo.setAttribute("playsinline", ""), this._addSourceToVideo(this.wakeLockVideo, "mp4", YI), Object.assign(this.wakeLockVideo.style, {
1560
1560
  position: "absolute",
1561
1561
  left: "-100%",
1562
1562
  top: "-100%"
@@ -1570,7 +1570,7 @@ class KI {
1570
1570
  }
1571
1571
  }
1572
1572
  enable() {
1573
- return u(this, null, function* () {
1573
+ return m(this, null, function* () {
1574
1574
  var A, e;
1575
1575
  return _A() ? navigator.wakeLock.request("screen").then((g) => {
1576
1576
  this._wakeLock = g, this.enabled = !0, this._wakeLock.addEventListener("release", () => {
@@ -1590,23 +1590,13 @@ class KI {
1590
1590
  document.removeEventListener("visibilitychange", this.handleVisibilityChange), document.removeEventListener("fullscreenchange", this.handleVisibilityChange), this.disable();
1591
1591
  }
1592
1592
  }
1593
- const YI = (i) => {
1594
- let A = i;
1595
- return (g) => {
1596
- const s = A;
1597
- A = g;
1598
- const I = s.timestamp / s.timescale, B = g.timestamp / g.timescale;
1599
- return b(r({}, s), {
1600
- duration: Math.max(0, Math.round((B - I) * s.timescale))
1601
- });
1602
- };
1603
- }, xI = new RegExp(
1593
+ const WI = new RegExp(
1604
1594
  "(android|bbd+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/",
1605
1595
  "i"
1606
- ), O = navigator.userAgent.toLowerCase(), WI = xI.test(O), VI = () => {
1596
+ ), O = navigator.userAgent.toLowerCase(), VI = WI.test(O), ZI = () => {
1607
1597
  const i = document.createElement("video");
1608
1598
  return i.canPlayType("application/vnd.apple.mpegURL") !== "" || i.canPlayType("audio/mpegurl") !== "";
1609
- }, ZI = () => {
1599
+ }, OI = () => {
1610
1600
  try {
1611
1601
  if (typeof WebAssembly == "object" && typeof WebAssembly.instantiate == "function") {
1612
1602
  const i = new WebAssembly.Module(Uint8Array.of(0, 97, 115, 109, 1, 0, 0, 0));
@@ -1617,37 +1607,37 @@ const YI = (i) => {
1617
1607
  return !1;
1618
1608
  }
1619
1609
  return !1;
1620
- }, OI = () => O.indexOf("CrKey") !== -1, Qg = () => navigator.platform === "MacIntel" && navigator.maxTouchPoints === 0, Re = () => navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, XI = () => O.indexOf("iphone") >= 0 && O.indexOf("like iphone") < 0 || O.indexOf("ipad") >= 0 && O.indexOf("like ipad") < 0 || O.indexOf("ipod") >= 0 && O.indexOf("like ipod") < 0 || Re(), zI = () => Re() ? !1 : window.MediaSource.isTypeSupported('audio/mp4; codecs="opus"');
1621
- function jI() {
1610
+ }, XI = () => O.indexOf("CrKey") !== -1, ag = () => navigator.platform === "MacIntel" && navigator.maxTouchPoints === 0, Ge = () => navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1, zI = () => O.indexOf("iphone") >= 0 && O.indexOf("like iphone") < 0 || O.indexOf("ipad") >= 0 && O.indexOf("like ipad") < 0 || O.indexOf("ipod") >= 0 && O.indexOf("like ipod") < 0 || Ge(), jI = () => Ge() ? !1 : window.MediaSource.isTypeSupported('audio/mp4; codecs="opus"');
1611
+ function _I() {
1622
1612
  var i, A;
1623
1613
  if (/(iPhone|iPod|iPad)/i.test(O))
1624
1614
  return (A = (i = O == null ? void 0 : O.match(/OS [\d_]+/i)) == null ? void 0 : i[0]) == null ? void 0 : A.substring(3).split("_").map((e) => parseInt(e))[0];
1625
1615
  }
1626
- const ag = () => {
1616
+ const Eg = () => {
1627
1617
  var e;
1628
1618
  const i = !!window.MediaSource;
1629
1619
  let A = !1;
1630
- return i && (A = zI()), {
1631
- isMobile: WI,
1620
+ return i && (A = jI()), {
1621
+ isMobile: VI,
1632
1622
  supportsMp4Opus: A,
1633
1623
  supportsMediaSource: i,
1634
- supportsHls: VI(),
1635
- supportsWebAssembly: ZI(),
1624
+ supportsHls: ZI(),
1625
+ supportsWebAssembly: OI(),
1636
1626
  platform: {
1637
- iosVersion: (e = jI()) != null ? e : Number.MAX_SAFE_INTEGER,
1638
- isIpadOS: Re(),
1639
- isMacOS: Qg(),
1640
- isIOS: XI()
1627
+ iosVersion: (e = _I()) != null ? e : Number.MAX_SAFE_INTEGER,
1628
+ isIpadOS: Ge(),
1629
+ isMacOS: ag(),
1630
+ isIOS: zI()
1641
1631
  }
1642
1632
  };
1643
- }, _I = "__vindral_debug_name__", $I = (i) => {
1633
+ }, $I = "__vindral_debug_name__", AB = (i) => {
1644
1634
  var s;
1645
- const e = new URLSearchParams((s = window == null ? void 0 : window.location) == null ? void 0 : s.search).get(_I);
1635
+ const e = new URLSearchParams((s = window == null ? void 0 : window.location) == null ? void 0 : s.search).get($I);
1646
1636
  if (!e)
1647
1637
  return;
1648
1638
  const g = window;
1649
1639
  g[e] = i;
1650
- }, nt = class {
1640
+ }, ot = class {
1651
1641
  constructor() {
1652
1642
  t(this, "pendingTimeouts", /* @__PURE__ */ new Set());
1653
1643
  t(this, "pendingIntervals", /* @__PURE__ */ new Set());
@@ -1674,9 +1664,9 @@ const ag = () => {
1674
1664
  });
1675
1665
  }
1676
1666
  };
1677
- let x = nt;
1678
- t(x, "create", () => new nt());
1679
- class At extends z {
1667
+ let x = ot;
1668
+ t(x, "create", () => new ot());
1669
+ class et extends z {
1680
1670
  constructor({ type: e, autoplay: g, muted: s, logger: I, poster: B }) {
1681
1671
  super();
1682
1672
  t(this, "element");
@@ -1688,6 +1678,14 @@ class At extends z {
1688
1678
  t(this, "_userHasProvidedInput", !1);
1689
1679
  t(this, "_isPaused", !0);
1690
1680
  t(this, "isActivated", !1);
1681
+ t(this, "dummy");
1682
+ t(this, "_iosHackEnterPiPMode", () => {
1683
+ const e = this.element.parentElement, g = this.element.clientWidth / this.element.clientHeight;
1684
+ this.element.style.position = "fixed", this.element.style.opacity = "0", this.element.style.pointerEvents = "none", e && (this.dummy = document.createElement("video"), this.dummy.style.paddingBottom = "calc(100% / " + g + ")", this.dummy.style.width = "100%", this.dummy.style.height = "0px", e.appendChild(this.dummy));
1685
+ });
1686
+ t(this, "_iosHackExitPiPMode", () => {
1687
+ this.element.style.position = "relative", this.element.style.opacity = "1", this.element.style.pointerEvents = "auto", this.dummy && (this.dummy.remove(), this.dummy = void 0);
1688
+ });
1691
1689
  t(this, "attach", (e) => {
1692
1690
  this.element.remove(), e.appendChild(this.element);
1693
1691
  });
@@ -1713,10 +1711,10 @@ class At extends z {
1713
1711
  t(this, "pause", () => {
1714
1712
  this._isPaused = !1, this.element.pause();
1715
1713
  });
1716
- t(this, "play", () => u(this, null, function* () {
1714
+ t(this, "play", () => m(this, null, function* () {
1717
1715
  this.element.muted = this._userProvidedMuted, yield this._play();
1718
1716
  }));
1719
- t(this, "_play", () => u(this, null, function* () {
1717
+ t(this, "_play", () => m(this, null, function* () {
1720
1718
  try {
1721
1719
  yield this.element.play(), this._userHasProvidedInput = !this.muted || this._userProvidedMuted;
1722
1720
  } catch (e) {
@@ -1802,7 +1800,7 @@ class At extends z {
1802
1800
  return this._isPaused;
1803
1801
  }
1804
1802
  }
1805
- const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1803
+ const eB = 0.15, tB = 0.2, xt = 0.4, iB = 0.5, gB = 0.6, Ke = 15, sB = {
1806
1804
  cooldownTime: 3e3,
1807
1805
  maxBufferingEvents: {
1808
1806
  last10Seconds: 0
@@ -1817,7 +1815,7 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1817
1815
  ratio: 0.1
1818
1816
  },
1819
1817
  maxCooldownRatio: 2
1820
- }, Ke = (i) => (A) => A > i, ot = class {
1818
+ }, Ye = (i) => (A) => A > i, Ct = class {
1821
1819
  constructor(A, e, g, s) {
1822
1820
  t(this, "qualityOfServiceSource");
1823
1821
  t(this, "config");
@@ -1845,7 +1843,7 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1845
1843
  isAbrEnabled: this.isEnabled
1846
1844
  }));
1847
1845
  t(this, "isQoSOk", (A) => {
1848
- const e = this.qualityOfServiceSource.getLevelStats(A), { upgradesFromLevel: g, downgradesFromLevel: s } = e != null ? e : { upgradesFromLevel: [], downgradesFromLevel: [] }, I = Date.now() - this.config.maxDowngradeLookbackMs, B = s.filter(Ke(I)).length, n = g.filter(Ke(I)).length;
1846
+ const e = this.qualityOfServiceSource.getLevelStats(A), { upgradesFromLevel: g, downgradesFromLevel: s } = e != null ? e : { upgradesFromLevel: [], downgradesFromLevel: [] }, I = Date.now() - this.config.maxDowngradeLookbackMs, B = s.filter(Ye(I)).length, n = g.filter(Ye(I)).length;
1849
1847
  if (B - n > this.config.maxRecentDowngradesCount)
1850
1848
  return this.logger.debug("Recent downgrades count is over maximum", {
1851
1849
  downgrades: B - n,
@@ -1862,9 +1860,9 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1862
1860
  recentDowngrades: B,
1863
1861
  timeSpentPlayingInAtLeastLevelRatio: o
1864
1862
  }), !1;
1865
- const Q = Math.max(0, s.length - g.length - a), h = Date.now() - this.config.maxDowngradeLookbackMs * Q, l = s.filter(Ke(h)).length;
1866
- return l && Q > this.config.maxCooldownRatio ? (this.logger.debug("Too many downgrades compared to time spent playing", {
1867
- downgradesWithinCooldownTime: l,
1863
+ const Q = Math.max(0, s.length - g.length - a), h = Date.now() - this.config.maxDowngradeLookbackMs * Q, u = s.filter(Ye(h)).length;
1864
+ return u && Q > this.config.maxCooldownRatio ? (this.logger.debug("Too many downgrades compared to time spent playing", {
1865
+ downgradesWithinCooldownTime: u,
1868
1866
  cooldownRatio: Q
1869
1867
  }), !1) : !0;
1870
1868
  });
@@ -1874,8 +1872,8 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1874
1872
  const { bufferFullness: e, general: g } = this.qualityOfServiceSource.getMetrics(), s = this.qualityOfServiceSource.getBufferFullnessRegression();
1875
1873
  if (!s)
1876
1874
  return;
1877
- const I = 10 * 1e3, { slope: B } = s, n = s.predict(Te), o = B < 0, C = s.predict(Te) < Yt && s.slope < 0, a = s.predict(Te) > iB, Q = this.qualityOfServiceSource.timeSpentBufferingLast(30 * 1e3), h = this.qualityOfServiceSource.timeSpentActiveLast(30 * 1e3), l = Q / h;
1878
- if (e < 0.15 && l > 0.8) {
1875
+ const I = 10 * 1e3, { slope: B } = s, n = s.predict(Ke), o = B < 0, C = s.predict(Ke) < xt && s.slope < 0, a = s.predict(Ke) > gB, Q = this.qualityOfServiceSource.timeSpentBufferingLast(30 * 1e3), h = this.qualityOfServiceSource.timeSpentActiveLast(30 * 1e3), u = Q / h;
1876
+ if (e < 0.15 && u > 0.8) {
1879
1877
  this.adaptLevel("reconnect");
1880
1878
  return;
1881
1879
  }
@@ -1883,13 +1881,13 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1883
1881
  this.adaptLevel("downgrade");
1884
1882
  return;
1885
1883
  }
1886
- C || e < AB ? o && e < Yt && n < eB && this.adaptLevel(A.playbackState === "buffering" ? "double downgrade" : "downgrade") : e > tB && a && !this.tooMuchTimeBuffering(I) && !this.tooManyBufferingEvents(I) && this.adaptLevel("upgrade");
1884
+ C || e < eB ? o && e < xt && n < tB && this.adaptLevel(A.playbackState === "buffering" ? "double downgrade" : "downgrade") : e > iB && a && !this.tooMuchTimeBuffering(I) && !this.tooManyBufferingEvents(I) && this.adaptLevel("upgrade");
1887
1885
  });
1888
1886
  t(this, "onAdaptedLevel", () => {
1889
1887
  this.reset();
1890
1888
  });
1891
1889
  t(this, "adaptLevel", (A) => this.emitter.emit("adapt level", A));
1892
- this.qualityOfServiceSource = g, this.config = r(r({}, gB), s), this.emitter = A, this.logger = e;
1890
+ this.qualityOfServiceSource = g, this.config = r(r({}, sB), s), this.emitter = A, this.logger = e;
1893
1891
  }
1894
1892
  tooMuchTimeBuffering(A) {
1895
1893
  return this.qualityOfServiceSource.timeSpentBufferingLast(A) / this.qualityOfServiceSource.timeSpentActiveLast(A) > this.config.maxBufferingRatio.last10Seconds;
@@ -1898,9 +1896,9 @@ const AB = 0.15, eB = 0.2, Yt = 0.4, tB = 0.5, iB = 0.6, Te = 15, gB = {
1898
1896
  return this.qualityOfServiceSource.timeSpentBufferingLast(A) > this.config.maxBufferingEvents.last10Seconds;
1899
1897
  }
1900
1898
  };
1901
- let ie = ot;
1902
- t(ie, "create", (A, e, g, s = {}) => new ot(A, e, g, s));
1903
- const sB = {
1899
+ let ie = Ct;
1900
+ t(ie, "create", (A, e, g, s = {}) => new Ct(A, e, g, s));
1901
+ const IB = {
1904
1902
  minBufferTime: 1500,
1905
1903
  maxBufferTime: 1500,
1906
1904
  cooldownTime: 3e4,
@@ -1953,7 +1951,7 @@ const sB = {
1953
1951
  this.targetBufferTimeTarget.targetBufferTime + C
1954
1952
  ), this.bufferTimeAdjustmentCount++, this.reset());
1955
1953
  });
1956
- this.qualityOfServiceSource = g, this.targetBufferTimeTarget = s, this.config = r(r({}, sB), I), this.emitter = A, this.logger = e;
1954
+ this.qualityOfServiceSource = g, this.targetBufferTimeTarget = s, this.config = r(r({}, IB), I), this.emitter = A, this.logger = e;
1957
1955
  }
1958
1956
  updateConfig(A) {
1959
1957
  this.config = r(r({}, this.config), A);
@@ -1961,7 +1959,7 @@ const sB = {
1961
1959
  };
1962
1960
  let pA = TA;
1963
1961
  t(pA, "BUFFER_TIME_STEP_SIZE", 500), t(pA, "BUFFER_TIME_MAX_STEPS", 3), t(pA, "create", (A, e, g, s, I = {}) => new TA(A, e, g, s, I));
1964
- class IB extends z {
1962
+ class BB extends z {
1965
1963
  constructor(e, g) {
1966
1964
  super();
1967
1965
  t(this, "options");
@@ -2029,13 +2027,13 @@ class IB extends z {
2029
2027
  this.emit("error", me(JA()));
2030
2028
  break;
2031
2029
  case 4002:
2032
- this.emit("error", Bs(JA()));
2030
+ this.emit("error", os(JA()));
2033
2031
  break;
2034
2032
  case 4003:
2035
- this.emit("error", tg("internal", JA())), this.connect(!0);
2033
+ this.emit("error", ig("internal", JA())), this.connect(!0);
2036
2034
  break;
2037
2035
  case 4010:
2038
- this.emit("error", ns("internal", JA())), this.connect(!0);
2036
+ this.emit("error", Cs("internal", JA())), this.connect(!0);
2039
2037
  break;
2040
2038
  default:
2041
2039
  this.connect(!0);
@@ -2044,16 +2042,16 @@ class IB extends z {
2044
2042
  t(this, "onOpen", () => {
2045
2043
  this.logger.info("Opened", r({}, this.options)), this.readyState() === WebSocket.OPEN && (this._connectTime = Date.now() - this.connectStartTime, this.reconnectState.reconnectRetries = 0, this._isConnectInProgress = !1, this.emit("open", this));
2046
2044
  });
2047
- t(this, "connect", (e = !1) => u(this, null, function* () {
2045
+ t(this, "connect", (e = !1) => m(this, null, function* () {
2048
2046
  if (this.isConnectInProgress)
2049
2047
  return this.logger.info("Connect already in progress"), !1;
2050
2048
  if (this.isSuspended)
2051
2049
  return !1;
2052
2050
  if (this.readyState() !== WebSocket.CLOSED && this.close("new connection in progress"), this.shouldContinueConnecting = !0, this._isConnectInProgress = !0, e && this.options.reconnectDelay > 0) {
2053
- this.logger.info("Waiting for reconnect delay", r({}, this.options)), yield _i(this.options.reconnectDelay);
2051
+ this.logger.info("Waiting for reconnect delay", r({}, this.options)), yield $i(this.options.reconnectDelay);
2054
2052
  const g = yield this.options.reconnectHandler(this.reconnectState);
2055
2053
  if (this.reconnectState.reconnectRetries++, !g)
2056
- return this._isConnectInProgress = !1, this.emit("error", Qs()), !1;
2054
+ return this._isConnectInProgress = !1, this.emit("error", Es()), !1;
2057
2055
  }
2058
2056
  this._connectionAttemptCount++;
2059
2057
  try {
@@ -2069,7 +2067,7 @@ class IB extends z {
2069
2067
  }
2070
2068
  return !0;
2071
2069
  } catch (g) {
2072
- return this._isConnectInProgress = !1, g instanceof F && (this.logger.error("Failed to connect", g.toStringifiable()), g.isFatal()) ? !1 : this.shouldContinueConnecting ? (this.logger.info("Connection aborted", { error: g }), this.connect(!0)) : !1;
2070
+ return this._isConnectInProgress = !1, g instanceof p && (this.logger.error("Failed to connect", g.toStringifiable()), g.isFatal()) ? !1 : this.shouldContinueConnecting ? (this.logger.info("Connection aborted", { error: g }), this.connect(!0)) : !1;
2073
2071
  }
2074
2072
  }));
2075
2073
  this.options = e, this.logger = g;
@@ -2087,7 +2085,7 @@ class IB extends z {
2087
2085
  return this._connectTime;
2088
2086
  }
2089
2087
  }
2090
- const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2088
+ const nB = 65536 * 8, oB = 0.9, tt = (i) => nB * oB * 1e3 / i, RA = class {
2091
2089
  constructor(A, e, g) {
2092
2090
  t(this, "timers", x.create());
2093
2091
  t(this, "emitter");
@@ -2139,7 +2137,7 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2139
2137
  const A = fA(this.rtts.items());
2140
2138
  return {
2141
2139
  rtt: A,
2142
- estimatedBandwidth: et(A.average),
2140
+ estimatedBandwidth: tt(A.average),
2143
2141
  edgeUrl: (e = this.transport) == null ? void 0 : e.url(),
2144
2142
  connectCount: this.connectCount,
2145
2143
  connectionAttemptCount: (s = (g = this.transport) == null ? void 0 : g.connectionAttemptCount) != null ? s : 0
@@ -2155,7 +2153,7 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2155
2153
  if (this.contextSwitchesInProgress.has(A)) {
2156
2154
  if (!(e instanceof ArrayBuffer)) {
2157
2155
  const s = JSON.parse(e);
2158
- if (Lt(s) && s.type === "context switch complete") {
2156
+ if (vt(s) && s.type === "context switch complete") {
2159
2157
  this.logger.info("context switch completed", { socketId: A }), this.emitter.emit("context switch complete"), this.contextSwitchesCompleted.add(A);
2160
2158
  return;
2161
2159
  }
@@ -2170,7 +2168,7 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2170
2168
  this.emitter.emit("received data", e);
2171
2169
  else {
2172
2170
  const g = JSON.parse(e);
2173
- if (!Lt(g))
2171
+ if (!vt(g))
2174
2172
  return;
2175
2173
  switch (g.type) {
2176
2174
  case "pong":
@@ -2186,7 +2184,7 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2186
2184
  }
2187
2185
  });
2188
2186
  t(this, "connect", (A) => {
2189
- this.disconnect("user connected"), this.transport = new IB(
2187
+ this.disconnect("user connected"), this.transport = new BB(
2190
2188
  {
2191
2189
  reconnectDelay: 1e3,
2192
2190
  connectionsCount: A,
@@ -2242,7 +2240,7 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2242
2240
  return this.rtts.items().length > 0 ? VA(this.rtts.items()) : 0;
2243
2241
  }
2244
2242
  get estimatedBandwidth() {
2245
- return this.rtt > 0 ? et(this.rtt) : void 0;
2243
+ return this.rtt > 0 ? tt(this.rtt) : void 0;
2246
2244
  }
2247
2245
  get connectTime() {
2248
2246
  var A;
@@ -2257,18 +2255,18 @@ const BB = 65536 * 8, nB = 0.9, et = (i) => BB * nB * 1e3 / i, RA = class {
2257
2255
  };
2258
2256
  let CA = RA;
2259
2257
  t(CA, "PING_INTERVAL", 5e3), t(CA, "MAX_MISSED_PINGS", 4), t(CA, "TLS_ROUNDTRIPS", 3), t(CA, "create", (A, e, g) => new RA(A, e, g));
2260
- const Ye = () => ({
2258
+ const xe = () => ({
2261
2259
  video: b(r({}, ue()), {
2262
2260
  bitRate: IA()
2263
2261
  }),
2264
2262
  audio: {
2265
2263
  bitRate: IA()
2266
2264
  }
2267
- }), oB = () => ({
2265
+ }), CB = () => ({
2268
2266
  width: window.innerWidth,
2269
2267
  height: window.innerHeight,
2270
2268
  bitRate: IA()
2271
- }), we = class {
2269
+ }), Se = class {
2272
2270
  constructor(A, e, g, s) {
2273
2271
  t(this, "emitter");
2274
2272
  t(this, "timers", new x());
@@ -2288,14 +2286,14 @@ const Ye = () => ({
2288
2286
  window.ResizeObserver && (this.resizeObserver = new ResizeObserver(this.onResize), this.resizeObserver.observe(this.element)), this.evaluateConstraintCap();
2289
2287
  });
2290
2288
  t(this, "unsuspend", () => {
2291
- this.timers.setInterval(this.evaluateConstraintCap, we.CHECK_SIZE_INTERVAL), this.evaluateConstraintCap();
2289
+ this.timers.setInterval(this.evaluateConstraintCap, Se.CHECK_SIZE_INTERVAL), this.evaluateConstraintCap();
2292
2290
  });
2293
2291
  t(this, "suspend", () => {
2294
2292
  this.timers.unload();
2295
2293
  });
2296
2294
  t(this, "setUserSpecifiedCap", (A) => {
2297
2295
  var g;
2298
- const e = (g = this.getUserSpecifiedCap()) != null ? g : Ye();
2296
+ const e = (g = this.getUserSpecifiedCap()) != null ? g : xe();
2299
2297
  this.userSpecifiedCap = b(r({}, e), {
2300
2298
  video: r(r({}, e.video), A.video),
2301
2299
  audio: r(r({}, e.audio), A.audio)
@@ -2322,7 +2320,7 @@ const Ye = () => ({
2322
2320
  });
2323
2321
  t(this, "evaluateConstraintCap", () => {
2324
2322
  var B, n, o, C, a;
2325
- const A = this.sizeBasedResolutionCapEnabled ? b(r({}, Ye()), { video: oB() }) : Ye();
2323
+ const A = this.sizeBasedResolutionCapEnabled ? b(r({}, xe()), { video: CB() }) : xe();
2326
2324
  if (!this.resizeObserver) {
2327
2325
  const Q = this.element.getBoundingClientRect();
2328
2326
  this.elementSize = { width: Q.width, height: Q.height };
@@ -2333,8 +2331,8 @@ const Ye = () => ({
2333
2331
  }
2334
2332
  const g = this.renditionLevelSource.getRenditionLevels().find((Q) => {
2335
2333
  if (Q.video) {
2336
- const h = Q.video.width / Q.video.height, l = A.video.width / A.video.height;
2337
- return h > l ? Q.video.width > A.video.width : Q.video.height > A.video.height;
2334
+ const h = Q.video.width / Q.video.height, u = A.video.width / A.video.height;
2335
+ return h > u ? Q.video.width > A.video.width : Q.video.height > A.video.height;
2338
2336
  }
2339
2337
  });
2340
2338
  g && g.video && (A.video.width = g.video.width, A.video.height = g.video.height);
@@ -2358,9 +2356,9 @@ const Ye = () => ({
2358
2356
  this._sizeBasedResolutionCapEnabled = A, this.evaluateConstraintCap();
2359
2357
  }
2360
2358
  };
2361
- let LA = we;
2362
- t(LA, "CHECK_SIZE_INTERVAL", 1e3), t(LA, "create", (A, e, g, s) => new we(A, e, g, s));
2363
- const Se = class {
2359
+ let LA = Se;
2360
+ t(LA, "CHECK_SIZE_INTERVAL", 1e3), t(LA, "create", (A, e, g, s) => new Se(A, e, g, s));
2361
+ const De = class {
2364
2362
  constructor(A, e) {
2365
2363
  t(this, "decodedSamples", []);
2366
2364
  t(this, "codedSamples", []);
@@ -2424,8 +2422,8 @@ const Se = class {
2424
2422
  return this.errors.pop();
2425
2423
  }
2426
2424
  };
2427
- let ge = Se;
2428
- t(ge, "create", (A) => u(Se, null, function* () {
2425
+ let ge = De;
2426
+ t(ge, "create", (A) => m(De, null, function* () {
2429
2427
  const e = new Worker(URL.createObjectURL(new Blob(['var MA=Object.defineProperty,qA=Object.defineProperties;var YA=Object.getOwnPropertyDescriptors;var SA=Object.getOwnPropertySymbols;var KA=Object.prototype.hasOwnProperty,rA=Object.prototype.propertyIsEnumerable;var AA=(R,F,G)=>F in R?MA(R,F,{enumerable:!0,configurable:!0,writable:!0,value:G}):R[F]=G,IA=(R,F)=>{for(var G in F||(F={}))KA.call(F,G)&&AA(R,G,F[G]);if(SA)for(var G of SA(F))rA.call(F,G)&&AA(R,G,F[G]);return R},gA=(R,F)=>qA(R,YA(F));var o=(R,F,G)=>(AA(R,typeof F!="symbol"?F+"":F,G),G);var P=(R,F,G)=>new Promise((X,e)=>{var j=J=>{try{n(G.next(J))}catch(D){e(D)}},V=J=>{try{n(G.throw(J))}catch(D){e(D)}},n=J=>J.done?X(J.value):Promise.resolve(J.value).then(j,V);n((G=G.apply(R,F)).next())});(function(){"use strict";const G=B=>{const g=B.getUint32(0,!1),A=B.getUint8(0)<<16|B.getUint16(1,!1);let C=0;return A===1?C+=3:g===1&&(C+=4),C},X=B=>G(new DataView(B,0))!==0,e=(B,g=0)=>{for(let A=g;A<B.byteLength-4;A++){const C=B.getUint32(A)===1,E=(B.getUint8(A)<<16|B.getUint16(A+1))===1;if(C||E)return{position:A,nalPrefixSize:C?4:3}}},j=B=>B&31,V=(B,g)=>{const A=new DataView(B,0);let C=e(A);for(;C;){const{position:E,nalPrefixSize:i}=C,s=e(A,E+4),S=s?s.position-E-i:void 0;if(!g(new DataView(B,E+i,S),i))return;C=s}},n=(B,g)=>{const A=new DataView(B,0),C=4;let E=0;for(;E<B.byteLength;){const i=A.getUint32(E);if(!g(new DataView(B,E+C,i)))return;E+=i+C}},J=B=>{const g=[],A=[];if(!X(B)){const C=new DataView(B,0),E=C.getUint8(5)&31;let i=6;for(let S=0;S<E;S++){const N=C.getUint16(i);g.push(B.slice(i+2,i+2+N)),i+=N+2}const s=C.getUint8(i);i+=1;for(let S=0;S<s;S++){const N=C.getUint16(i);A.push(B.slice(i+2,i+2+N)),i+=N+2}return{sequenceParameterSets:g,pictureParameterSets:A}}return V(B,C=>{const E=C.byteOffset+C.byteLength;switch(j(C.getUint8(0))){case 8:A.push(C.buffer.slice(C.byteOffset,E));break;case 7:g.push(C.buffer.slice(C.byteOffset,E));break}return!0}),{sequenceParameterSets:g,pictureParameterSets:A}},D=B=>{const g=new ArrayBuffer(B.length),A=new Uint8Array(g);for(let C=0,E=B.length;C<E;C++)A[C]=B.charCodeAt(C);return new Uint8Array(g)};D("ftyp"),D("mvhd"),D("moov"),D("trak"),D("tkhd"),D("mdia"),D("mdhd"),D("hdlr"),D("minf"),D("vmhd"),D("smhd"),D("dinf"),D("dref"),D("stbl"),D("stsd"),D("avc1"),D("av01"),D("av1C"),D("avcC"),D("esds"),D("colr"),D("nclx"),D("mvex"),D("trex"),D("udta"),D("meta"),D("ilst"),D("moof"),D("mfhd"),D("traf"),D("tfhd"),D("tfdt"),D("trun"),D("mdat"),D("iso6");var hA=function(){var B=typeof document!="undefined"&&document.currentScript?document.currentScript.src:void 0;return function(g){g=g||{};var A;A||(A=typeof g!="undefined"?g:{});var C,E;A.ready=new Promise(function(I,Q){C=I,E=Q});var i={},s;for(s in A)A.hasOwnProperty(s)&&(i[s]=A[s]);var S="",N;S=self.location.href,B&&(S=B),S.indexOf("blob:")!==0?S=S.substr(0,S.lastIndexOf("/")+1):S="",N=function(I){try{var Q=new XMLHttpRequest;return Q.open("GET",I,!1),Q.responseType="arraybuffer",Q.send(null),new Uint8Array(Q.response)}catch(a){if(I=aA(I))return I;throw a}};var L=A.printErr||console.warn.bind(console);for(s in i)i.hasOwnProperty(s)&&(A[s]=i[s]);i=null;var q;A.wasmBinary&&(q=A.wasmBinary),A.noExitRuntime,typeof WebAssembly!="object"&&W("no native wasm support detected");var w,O=!1,p,Y,r,d,c,h,m;function QA(){var I=w.buffer;p=I,A.HEAP8=Y=new Int8Array(I),A.HEAP16=d=new Int16Array(I),A.HEAP32=c=new Int32Array(I),A.HEAPU8=r=new Uint8Array(I),A.HEAPU16=new Uint16Array(I),A.HEAPU32=new Uint32Array(I),A.HEAPF32=h=new Float32Array(I),A.HEAPF64=m=new Float64Array(I)}var z,CA=[],EA=[],iA=[];function LA(){var I=A.preRun.shift();CA.unshift(I)}var K=0,f=null;A.preloadedImages={},A.preloadedAudios={};function W(I){throw A.onAbort&&A.onAbort(I),L(I),O=!0,I=new WebAssembly.RuntimeError("abort("+I+"). Build with -s ASSERTIONS=1 for more info."),E(I),I}var T="data:application/octet-stream;base64,",M="data:application/octet-stream;base64,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agwNCyAEQRt2QeATagwMCyAEQRt2QYAUagwLCyAEQRp2QaAUagwKCyAEQRp2QeAUagwJCyAEQRp2QaAVagwICyAEQRp2QeAVagwHCyAEQRt2QaAWagwGCyAEQRx2QcAWagwFCyAEQRx2QdAWagwECyAEQR12QeAWagwDCyAEQR52QegWagwCCyAEQQBIBEBBASECDAQLQREhAiAKQQNGDQNBEiECIARB/////wNLDQNBIiECIApBAkYNA0EzQSMgBEGAgICAAkkbIQIMAwsgBEEXdkHAEmogBEEbdkGgEmogBEGAgICAAUkbCy0AACICDQEMBAtBAUERIARBf0obIQILIAJBBHYhByAGIAJBD3EiA2shAiAEIAN0IQQLIApBAWsiBQRAA0ACQCAHBEAgAkEKTQRAIABBICACaxALQX9GBEAMBwsgABAQIQRBICECCwJAAn8CQAJAAkACQAJAAkACQCAHQQFrDgYGAAECAwQFCyAEQR52Qe4WagwGCyAEQR52QfIWagwFCyAEQR12QfYWagwECyAEQR12Qf4WagwDCyAEQR12QYYXagwCCwJ/QfMAIARBGXZB8ABxayAEQYCAgIACTw0AGkH0ACAEQf////8ASw0AGkGFASAEQf///z9LDQAaQZYBIARB////H0sNABpBpwEgBEH///8PSw0AGkG4ASAEQf///wdLDQAaQckBIARB////A0sNABpB2gEgBEH///8BSw0AGkEAQesBIARBgICAAUkbCyIGQQR2IAdNDQIMCAsgBEEfdkHsFmoLLQAAIQYLIAZFBEAMBgsgCSAIQQJ0aiAGQQR2IgNBAWo2AgAgByADayEHIAIgBkEPcSIDayECIAQgA3QhBAwBCyAJIAhBAnRqQQE2AgBBACEHCyAIQQFqIgggBUcNAAsgASAHQQJ0aiAJQUBrIAVBAnRqKAIANgIAQQEgB3QhBiAFRQ0BIApBAmshAyAFQQFxBH8gASAJIANBAnQiBGooAgAgB2oiB0ECdGogCUFAayAEaigCADYCAEEBIAd0IAZyIQYgCkEDawUgAwshBCADRQ0BA0AgASAJIARBAnQiBWooAgAgB2oiA0ECdGogCUFAayAFaigCADYCACABIAkgBEEBayIFQQJ0IgxqKAIAIANqIgdBAnRqIAlBQGsgDGooAgA2AgBBASADdCAGckEBIAd0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FUUEQANAIAMgAiIALQAAOgAAIAMgAC0AAToAASADIAAtAAI6AAIgAyAALQADOgADIAMgAC0ABDoABCADIAAtAAU6AAUgAyAALQAGOgAGIAMgAC0ABzoAByADQQhqIQMgAEEIaiECIAdBCGsiBw0ACyAAQQdqIQALIAMgAC0AACAOEAQaIAEgCGohASAKQQFrIgoNAAsMAwsgC0EHcSEQIAQgBmogDWogBCAPIAQgD0obQX9zaiANQQAgDUEAShtrQQdJIREDQCALIQcgASEDIAkhACAQIgIEQANAIAMgAC0AADoAACAHQQFrIQcgA0EBaiEDIABBAWohACACQQFrIgINAAsLIBFFBEADQCADIAAtAAA6AAAgAyAALQABOgABIAMgAC0AAjoAAiADIAAtAAM6AAMgAyAALQAEOgAEIAMgAC0ABToABSADIAAtAAY6AAYgAyAALQAHOgAHIANBCGohAyAAQQhqIQAgB0EIayIHDQALCyABIAhqIQEgCkEBayIKDQALDAILIA4EQCALQQdxIRAgBCAGaiANaiAEIA8gBCAPShtBf3NqIA1BACANQQBKG2tBB0khEQNAIAEgCS0AACAMEAQiFSAMaiEDIAshByAJIQIgECIBBEADQCADIAIiAC0AADoAACAHQQFrIQcgA0EBaiEDIABBAWohAiABQQFrIgENAAsLIBFFBEADQCADIAIiAC0AADoAACADIAAtAAE6AAEgAyAALQACOgACIAMgAC0AAzoAAyADIAAtAAQ6AAQgAyAALQAFOgAFIAMgAC0ABjoABiADIAAtAAc6AAcgA0EIaiEDIABBCGohAiAHQQhrIgcNAAsgAEEHaiEACyADIAAtAAAgDhAEGiAIIBVqIQEgCkEBayIKDQALDAILIAtBB3EhECAEIAZqIA1qIAQgDyAEIA9KG0F/c2ogDUEAIA1BAEoba0EHSSERA0AgASAJLQAAIAwQBCIBIAxqIQMgCyEHIAkhACAQIgIEQANAIAMgAC0AADoAACAHQQFrIQcgA0EBaiEDIABBAWohACACQQFrIgINAAsLIBFFBEADQCADIAAtAAA6AAAgAyAALQABOgABIAMgAC0AAjoAAiADIAAtAAM6AAMgAyAALQAEOgAEIAMgAC0ABToABSADIAAtAAY6AAYgAyAALQAHOgAHIANBCGohAyAAQQhqIQAgB0EIayIHDQALCyABIAhqIQEgCkEBayIKDQALDAELIAEgCCAKbGohAQsgEkUNACALQQdxIRAgBCAGaiANaiAEIA8gBCAPShtBf3NqIA1BACANQQBKG2tBB0khEQNAIAEhAyAMBEAgASAJLQAAIAwQBCAMaiEDCwJAIAtFBEAgCSEADAELIAshByAJIQAgECICBEADQCADIAAtAAA6AAAgB0EBayEHIANBAWohAyAAQQFqIQAgAkEBayICDQALCyARDQADQCADIAAtAAA6AAAgAyAALQABOgABIAMgAC0AAjoAAiADIAAtAAM6AAMgAyAALQAEOgAEIAMgAC0ABToABSADIAAtAAY6AAYgAyAALQAHOgAHIANBCGohAyAAQQhqIQAgB0EIayIHDQALCyAOBEAgAyAAQQFrLQAAIA4QBBoLIAEgCGohASAEIAlqIQkgEkEBayISDQALCwJAIBZFDQAgCSAEayEJIBdFBEAgFCAFa0EDcSIDBEADQCATQQFrIRMgASAJIAsQCCAIaiEBIANBAWsiAw0ACwsgFCAFQX9zakEDSQ0BA0AgASAJIAsQCCAIaiAJIAsQCCAIaiAJIAsQCCAIaiAJIAsQCCAIaiEBIBNBBGsiEw0ACwwBCyALQQdxIQUgBCAGaiANaiAEIA8gBCAPShtBf3NqIA1BACANQQBKG2tBB0khBANAIAEhAyAMBEAgASAJLQAAIAwQBCAMaiEDCwJAIAtFBEAgCSEADAELIAshByAJIQAgBSICBEADQCADIAAtAAA6AAAgB0EBayEHIANBAWohAyAAQQFqIQAgAkEBayICDQALCyAEDQADQCADIAAtAAA6AAAgAyAALQABOgABIAMgAC0AAjoAAiADIAAtAAM6AAMgAyAALQAEOgAEIAMgAC0ABToABSADIAAtAAY6AAYgAyAALQAHOgAHIANBCGohAyAAQQhqIQAgB0EIayIHDQALCyAOBEAgAyAAQQFrLQAAIA4QBBoLIAEgCGohASATQQFrIhMNAAsLC+kCAQN/IAFBA3RB8DZqIgMoAgAhBSADLQAEIQMgAUEDdEGwNWoiAS0ABCEEAkAgASgCAEEERgRAIAIgBEEBdGouAQAhASAFQQRGBEAgASACIANBAXRqLgEAakEBakEBdQ8LAn8gACgCzAEiAgRAIAAoAgQgAigCBEYMAQtBAAtFDQEgASAAKALMASADQQF0ai4BHGpBAWpBAXUPCyAFQQRGBEAgAiADQQF0ai4BACEBAn8gACgCyAEiAgRAIAAoAgQgAigCBEYMAQtBAAtFDQEgASAAKALIASAEQQF0ai4BHGpBAWpBAXUPCwJ/IAAoAsgBIgEEQCAAKAIEIAEoAgRGDAELQQALIgIEfyAAKALIASAEQQF0ai4BHAVBAAshAQJ/IAAoAswBIgQEQCAAKAIEIAQoAgRGDAELQQALRQ0AIAAoAswBIANBAXRqLgEcIQAgAkUEQCAADwsgACABakEBakEBdSEBCyABC/IDAQN/IAEoAgAiA0H///8HRwRAIAEoAgQhBCAAIAIgAkEDcSACQRBJIgIbQQJ0IgVB8ClqKAIAQRBBCCACGyICbGogBUGwKWooAgBqIgAgAyAALQAAakGwLmotAAA6AAAgASgCCCEDIAAgBCAALQABakGwLmotAAA6AAEgASgCDCEEIAAgAyAALQACakGwLmotAAA6AAIgACAEIAAtAANqQbAuai0AADoAAyABKAIUIQMgACACaiIAIAEoAhAgAC0AAGpBsC5qLQAAOgAAIAEoAhghBCAAIAMgAC0AAWpBsC5qLQAAOgABIAEoAhwhAyAAIAQgAC0AAmpBsC5qLQAAOgACIAAgAyAALQADakGwLmotAAA6AAMgASgCJCEDIAAgAmoiACABKAIgIAAtAABqQbAuai0AADoAACABKAIoIQQgACADIAAtAAFqQbAuai0AADoAASABKAIsIQMgACAEIAAtAAJqQbAuai0AADoAAiAAIAMgAC0AA2pBsC5qLQAAOgADIAEoAjQhAyAAIAJqIgAgASgCMCAALQAAakGwLmotAAA6AAAgASgCOCECIAAgAyAALQABakGwLmotAAA6AAEgASgCPCEBIAAgAiAALQACakGwLmotAAA6AAIgACABIAAtAANqQbAuai0AADoAAwsL8CUBFH8gAyAFaiIbIAEuAQAiDkECdWohDSAEIAZqIhwgAS4BAiIKQQJ1aiELIAIoAghBBHQhAyACKAIEQQR0IQQgACAGQQR0aiAFaiEJAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAOQQNxQQR0IApBA3FBAnRyQdA7aigCAA4PAAECAwQFBgcICQoLDA0ODwsgAigCACAJIA0g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ADcDEAJ/AkAgAgRAIABBACAIa0HYAWxqKALEAQ0BC0EADAELIAYgCyAIQQR0ayIELQAFIAQtAARqIAQtAAZqIAQtAAdqIhggBC0AAyAELQACIAQtAAEgBC0AAGpqaiIXaiIFIAQtAA8gBC0ADiAELQANIAQtAAxqamoiGiAELQALIAQtAAogBC0ACSAELQAIampqIhlqIgRrIgc2AhQgBiAEIAVqIgo2AhBBASEbQQELIQUCQCANQQFrIAJGDQAgACAIQdgBbGooAsQBRQRADAELIAYgCyAIQQh0aiICLQAFIAItAARqIAItAAZqIAItAAdqIh4gAi0AAyACLQACIAItAAEgAi0AAGpqaiIfaiIEIAItAA8gAi0ADiACLQANIAItAAxqamoiICACLQALIAItAAogAi0ACSACLQAIampqIiFqIgJrIAdqIgc2AhQgBiACIARqIApqIgo2AhBBASEWIAVBAWohBQsCfwJAIANFDQAgAEEUaygCAEUNACAGIAtBAWsiAiAIQQZ0IhBqIgQgCEEEdCIJai0AACAELQAAaiAEIAhBBXQiDmotAABqIAQgCEEwbCIPai0AAGoiHCACIA9qLQAAIAIgDmotAAAgAiAJai0AACACLQAAampqIh1qIgwgBCAQaiICIBBqIgQgCWotAAAgBC0AAGogBCAOai0AAGogBCAPai0AAGoiECACIA9qLQAAIAIgDmotAAAgAiAJai0AACACLQAAampqIg5qIgJrIgQ2AiAgBiACIAxqIApqIgo2AhBBASEPIAVBAWohCUEBDAELQQAhBCAFIQlBAAshAgJAAkACQAJAAkAgAyAIQQFrRwRAIAAoApwDDQELQQAhDCAFDQEMAgsgBCALQRBqIgQgCEEGdCIRaiIAIAhBBHQiDGotAAAgAC0AAGogACAIQQV0IhJqLQAAaiAAIAhBMGwiE2otAABqIAQgE2otAAAgBCASai0AACAEIAxqLQAAIAstABBqampqIgsgACARaiIAIBFqIgQgDGotAAAgBC0AAGogBCASai0AAGogBCATai0AAGoiESAAIBNqLQAAIAAgEmotAAAgACAMai0AACAALQAAampqIgBqIgxraiEEIAsgDGogCmohCkEBIQwgAkEBaiECIAlBAWohCSAPRSAFQQBHckUEQCAcIB1qIA5qIBBqIAAgC2ogEWpr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IAhrQQJ0ampBEGpBBXVBsC5qLQAAIAAtABBqQQFqQQF2OgAQIAAgAiALai0AACAHIAQgEGoiBEEEdGogBSANaiIFayAEIAVrQQJ0ampBEGpBBXVBsC5qLQAAIAAtAABqQQFqQQF2OgAAIAJBAWohAiAAQQFqIQAgAUEBaiEBIANBAWsiAw0ACyAAIBFqIQAgASAPaiEBIAIgD2ohAiAKQQFrIgoNAAsLIBJBwANqJAALtQUBBH8gACgCFCEDIAAoAhAhBCAAKAIEIQUgACgCDCICIAEpAgA3AgAgAiABKQIINwIIIAIgBUEEdCIAaiICIAEpAhA3AgAgAiABKQIYNwIIIAAgAmoiAiABKQIgNwIAIAIgASkCKDcCCCAAIAJqIgIgASkCMDcCACACIAEpAjg3AgggACACaiICIAEpAkA3AgAgAiABKQJINwIIIAAgAmoiAiABKQJQNwIAIAIgASkCWDcCCCAAIAJqIgIgASkCYDcCACACIAEpAmg3AgggACACaiICIAEpAnA3AgAgAiABKQJ4NwIIIAAgAmoiAiABKQKAATcCACACIAEpAogBNwIIIAAgAmoiAiABKQKQATcCACACIAEpApgBNwIIIAAgAmoiAiABKQKgATcCACACIAEpAqgBNwIIIAAgAmoiAiABKQKwATcCACACIAEpArgBNwIIIAAgAmoiAiABKQLAATcCACACIAEpAsgBNwIIIAAgAmoiAiABKQLQATcCACACIAEpAtgBNwIIIAAgAmoiAiABKQLgATcCACACIAEpAugBNwIIIAAgAmoiACABKQLwATcCACAAIAEpAvgBNwIIIAQgASkCgAI3AgAgBCAFQQN0IgBqIgQgASkCiAI3AgAgACAEaiIEIAEpApACNwIAIAAgBGoiBCABKQKYAjcCACAAIARqIgQgASkCoAI3AgAgACAEaiIEIAEpAqgCNwIAIAAgBGoiBCABKQKwAjcCACAAIARqIAEpArgCNwIAIAMgASkCwAI3AgAgACADaiIDIAEpAsgCNwIAIAAgA2oiAyABKQLQAjcCACAAIANqIgMgASkC2AI3AgAgACADaiIDIAEpAuACNwIAIAAgA2oiAyABKQLoAjcCACAAIANqIgMgASkC8AI3AgAgACADaiABKQL4AjcCAAsDAAELqAwBCn8CQCABQQRPBEBBACADayIMQQF0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aiICIAYoAgA2AgAgAiAGKAIkNgIMIAIgBigCHDYCBCACIAYoAiA2AgggACAEQQFqNgIQIAZBADYCGCAGKAIUDQAgACABQQFrIgE2AiwLIAEgA0sNAAsMAQsgASgCACECIAAoAgwgACgCECIDQQR0aiIBIAU2AgwgASACNgIAIAEgBzYCCCABIAY2AgQgACADQQFqNgIQIAAoAhwhAwsgACgCACADQQFqECYLC14BAX8gAEHECWoiACgCFCIEIAAoAhBJBH8gACAEQQFqNgIUIAAoAgwgBEEEdGoFQQALIgBFBEBBAA8LIAEgACgCBDYCACACIAAoAgw2AgAgAyAAKAIINgIAIAAoAgALtAMBA38DQCAAIAJBAnRqIgEoAhQiAwRAIAMoAigQBSABKAIUQQA2AiggASgCFCgCVBAFIAEoAhRBADYCVCABKAIUEAUgAUEANgIUCyACQQFqIgJBIEcNAAtBACECA0AgACACQQJ0aiIBKAKUASIDBEAgAygCFBAFIAEoApQBQQA2AhQgASgClAEoAhgQBSABKAKUAUEANgIYIAEoApQBKAIcEAUgASgClAFBADYCHCABKAKUASgCLBAFIAEoApQBQQA2AiwgASgClAEQBSABQQA2ApQBCyACQQFqIgJBgAJHDQALIAAoArAaEAUgAEEANgKwGiAAKAK8CRAFIABBADYCvAkgACgClAkQBSAAQQA2ApQJIAAoArwaIgEEQCABEAUgAEEANgK8GgtBACEBQQAhAwJAIABBxAlqIgIoAgAiAEUNACACKAIcQX9GBEAgACEBDAELIAAhAQNAIAEgA0EobCIAaigCBBAFIAIoAgAiASAAakEANgIEIANBAWoiAyACKAIcQQFqSQ0ACwsgARAFIAJBADYCACACKAIEEAUgAkEANgIEIAIoAgwQBSACQQA2AgwL/tEDAkN/An4jAEGQAWsiGCQAIBhBADYCDAJAAkACQCAAKAKQGkUNACAAKAKUGiABRw0AIBggAEGsGmooAgA2AiAgGCAAQaQaaikCADcDGCAAKQKcGiFIIBhBADYCICAYQQA2AhggGCBINwMQIBggSD4CFCAEIAAoApgaNgIADAELQQYhIgJ/IAEhCAJAAkAgAkEESQ0AIAgtAAANACAILQABDQAgCC0AAiINQQFLDQBBAyEGIAhBA2ohBUECIQcCQANA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NgIEIAEgA0EIahACIgINACADKAIIQR9LBEBBASECDAELIAEgBUEMahACIgINAEEBIQIgBSgCDCIEQQxLDQAgA0EBIARBBGp0NgIMIAEgBUEMahACIgINACAFKAIMIgJBAksEQEEBIQIMAQsgAyACNgIQAkACQAJAIAIOAgABAgsgASAFQQxqEAIiAg0CIAUoAgwiAkEMSwRAQQEhAgwDCyADQQEgAkEEanQ2AhQMAQtBASECIAFBARADIgRBf0YNASADIARBAUY2AhggASADQRxqEAYiAg0BIAEgA0EgahAGIgINASABIANBJGoQAiICDQFBASECIAMoAiQiBEH/AUsNASAEBEAgAyAEQQJ0EAoiAjYCKCACRQRAQf//AyECDAMLIAEgAhAGIgINAkEBIQYDQCAGIAMoAiRPDQIgBkECdCECIAZBAWohBiABIAIgAygCKGoQBiICRQ0ACwwCCyADQQA2AigLIAEgA0EsahACIgINAEEBIQIgAygCLEEQSw0AIAFBARADIgRBf0YNACADIARBAUY2AjAgASAFQQxqEAIiAg0AIAMgBSgCDEEBajYCNCABIAVBDGoQAiICDQBBASECIAMgBSgCDEEBajYCOCABQQEQA0EBakECSQ0AIAFBARADQX9GDQAgAUEBEAMiBEF/Rg0AIAMgBEEBRiICNgI8AkAgAkUEQCADKAI4IQkgAygCNCEGDAELIAEgA0FAaxACIgINASABIANBxABqEAIiAg0BIAEgA0HIAGoQAiICDQEgASADQcwAahACIgINAUEBIQIgAygCQCADKAJEQX9zIAMoAjQiBkEDdGpKDQEgAygCSCADKAJMQX9zIAMoAjgiCUEDdGpKDQELIAYgCWwhAkH/////ByEGAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIEQQprDioAAQIDEBAQEBAQBAUGEBAQEBAQEAcICRAQEBAQEBAKCwwQEBAQEBAQDQ4QC0GApAkhBCACQeMASwwOC0GAjBUhBCACQYwDSwwNC0GA2DchBCACQYwDSwwMC0GA2DchBCACQYwDSwwLC0GA2DchBCACQYwDSwwKC0GAsO8AIQQgAkGYBksMCQtBgOy9ASEEIAJB1AxLDAgLQYDsvQEhBCACQdQMSwwHC0GA8KUDIQQgAkGQHEsMBgtBgIDg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OA0CIAEoAgAhEANAQQAhBEH/////ByEDQQAhAgNAIBAgAkEobGoiCigCGARAIAogBCAKKAIQIgogA0giDxshBCAKIAMgDxshAwsgAkEBaiICIAdNDQALAkAgBEUNACABKAIMIAEoAhAiA0EEdGoiAiAEKAIANgIAIAIgBCgCJDYCDCACIAQoAhw2AgQgAiAEKAIgNgIIIAEgA0EBajYCECAEQQA2AhggBCgCFA0AIAEgBkEBayIGNgIsCyAGIAdPDQALCyABKAIAIgMgB0EobGoiAiAFNgIMIAJCgICAgBA3AhAgAkEANgIYIAIgBTYCCCABIAlBAWo2AiggASAGQQFqNgIsIAMgB0EBahAmIAVBAWogASgCICIGcCIFIAhHDQALAkAgASgCECIJRQ0AIAEoAgAiBiABKAIcIgNBKGxqIgUoAgAhBCABKAIMIQdBACECA0AgBCAHIAJBBHRqKAIARwRAIAkgAkEBaiICRw0BDAILCyADRQ0AQQAhAgNAIAsgBiACQShsaiIJKAIARwRAIAMgAkEBaiICRw0BDAILCyAJIAQ2AgAgBSALNgIACyANDQQgASgCMCECDAILA0AMAAsACyANDQILIAIgCEYNACABIAggASgCICIBakEBayABcDYCMAtBAAwCCyABIAg2AjBBAAwBCyANCw0DCyAAQcQJaiIBIAEoAgAgASgCHEEobGoiATYCCCAAIAEoAgA2ArgKCyAAQdgKaiAdQdwHEAghFCAAQQE2AqQJIAAgGCkDiAE3AtAKIAAoApQJIQ0gAEGYC2ooAgAhA0EAIQlBACEQIAAoAhAiASgCNCIKIAEoAjgiBWwhBgJAIAAoAgwiASgCDCIHQQFGBEAgDUEAIAZBAnQQBBoMAQsCQAJAAkAgASgCECICQQNrQQJNBEAgASgCJCADbCIDIAYgAyAGSRshDyABKAIgIQMgAkF+cUEERw0BIAYgD2sgDyADGyEJCwJAAkACQAJAAkACQCACDgYBAgMABQQACyAGRQ0HIAZBA3EhECABKAIsIQJBACEBIAZBAWtBA08EQCAGQXxxIQQDQCANIAFBAnQiA2ogAiADaigCADYCACANIANBBHIiCWogAiAJaigCADYCACANIANBCHIiCWogAiAJaigCADYCACANIANBDHIiA2ogAiADaigCADYCACABQQRqIQEgBEEEayIEDQALCyAQRQ0HA0AgDSABQQJ0IgNqIAIgA2ooAgA2AgAgAUEBaiEBIBBBAWsiEA0ACwwHCyAHRQ0FIAEoAhQhA0EAIQkDQEEAIRAgBiAJTQ0HA0AgAyAQQQJ0aiIFKAIAIQQCQCAGIAlNDQAgBEUNAEEBIQEgCSECA0AgDSACQQJ0aiAQNgIAIAEgBSgCACIETw0BIAEgCWoiAiAGTw0BIAFBAWohAQwACwALIAcgEEEBaiIQS0EAIAYgBCAJaiIJSxsNAAsgBiAJSw0ACwwGCyAGRQ0FQQAhAQNAIA0gAUECdGogASAKbiICIAdsQQF2IAEgAiAKbGtqIAdwNgIAIAFBAWoiASAGRw0ACwwFCyABKAIcIQUgASgCGCEIAkAgBkUNACAHQQFrIQEgBkEHcSEQQQAhCSAGQQFrQQdPBEAgBkF4cSEEA0AgDSAJQQJ0IgJqIAE2AgAgDSACQQRyaiABNgIAIA0gAkEIcmogATYCACANIAJBDHJqIAE2AgAgDSACQRByaiABNgIAIA0gAkEUcmogATYCACANIAJBGHJqIAE2AgAgDSACQRxyaiABNgIAIAlBCGohCSAEQQhrIgQNAAsLIBBFDQADQCANIAlBAnRqIAE2AgAgCUEBaiEJIBBBAWsiEA0ACwsgB0ECayEBA0ACQCAIIAEiAkECdCIBaigCACIDIApuIgQgASAFaigCACIBIApuIglLDQAgAyAEIApsayIDIAEgCSAKbGsiBksNAANAIAQgCmwhByADIQEDQCANIAEgB2pBAnRqIAI2AgAgAUEBaiIBIAZNDQALIARBAWoiBCAJTQ0ACwsgAkEBayEBIAINAAsMBAsgCkUNAyAFRQ0DQQEgASgCICIHayEIIAVBfnEhBiAFQQFxIQtBACEDA0AgAyEBQQAhAiAGIQQgBUEBRwRAA0AgDSACIApsIBBqQQJ0aiAHIAggASAJSRs2AgAgDSACQQFyIApsIBBqQQJ0aiAHIAggAUEBaiAJSRs2AgAgAkECaiECIAFBAmohASAEQQJrIgQNAAsLIAsEQCANIAIgCmwgEGpBAnRqIAcgCCABIAlJGzYCAAsgAyAFaiEDIBBBAWoiECAKRw0ACwwDCyAGRQ0CQQEgASgCICICayEDIAZBA3EhBEEAIQEgBkEBa0EDTwRAIAZBfHEhBQNAIA0gAUECdGogAiADIAEgCUkbNgIAIA0gAUEBciIGQQJ0aiACIAMgBiAJSRs2AgAgDSABQQJyIgZBAnRqIAIgAyAGIAlJGzYCACANIAFBA3IiBkECdGogAiADIAYgCUkbNgIAIAFBBGohASAFQQRrIgUNAAsLIARFDQIDQCANIAFBAnRqIAIgAyABIAlJGzYCACABQQFqIQEgBEEBayIEDQALDAILAkAgBkUNACAGQQdxIQlBACECIAZBAWtBB08EQCAGQXhxIRADQCANIAJBAnQiAWpBATYCACANIAFBBHJqQQE2AgAgDSABQQhyakEBNgIAIA0gAUEMcmpBATYCACANIAFBEHJqQQE2AgAgDSABQRRyakEBNgIAIA0gAUEYcmpBATYCACANIAFBHHJqQQE2AgAgAkEIaiECIBBBCGsiEA0ACwsgCUUNAANAIA0gAkECdGpBATYCACACQQFqIQIgCUEBayIJDQALCyAPRQ0BIApBAWshDCAFQQFrIR1BASADQQF0IgFrIQQgAUEBayEGIANBAWshAiAFIANrQQF2IgghCyAKIANrQQF2IgchCSAIIQUgByEBQQAhEANAIA0gBSAKbCABakECdGoiESgCACIbQQFGBEAgEUEANgIACyAbQQFGIRECQAJAIAJBf0cNACABIAlHDQBBACECIAYhAyAJQQEgCUEBShtBAWsiASEJDAELAkAgAkEBRw0AIAEgB0cNAEEAIQIgBCEDIAdBAWoiASAMIAEgDEgbIgEhBwwBCwJAIANBf0cNACAFIAtHDQBBACEDIAQhAiALQQEgC0EBShtBAWsiBSELDAELAkAgA0EBRw0AIAUgCEcNAEEAIQMgBiECIAhBAWoiBSAdIAUgHUgbIgUhCAwBCyADIAVqIQUgASACaiEBCyAQIBFqIhAgD0kNAAsMAQsgBkUNAANADAALAAsLIABBxAlqIggQJEEPISICfyAAQeQKaigCACEFIABBhAtqKAIAIQlBACECIAgoAigiAwRAIAgoAgAhBANAIAQgAkEobGoiASgCFEEBa0EBTQRAIAEgBSABKAIMIgFJBH8gASAIKAIgawUgAQs2AggLIAJBAWoiAiADRw0ACwtBACAAQZwLaiINKAIARQ0AGkEAIQZBACANKAIEIgJBAksNABogBSEBA0ACQAJAAkACQAJAAkACQAJAIAIOAwABAwELIAEg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IAEgAmoiAS0AADoABCADIAEgAmoiAS0AADoABSADIAEgAmoiAS0AADoABiADIAEgAmoiAS0AADoAByADIAEgAmoiAS0AADoACCADIAEgAmoiAS0AADoACSADIAEgAmoiAS0AADoACiADIAEgAmoiAS0AADoACyADIAEgAmoiAS0AADoADCADIAEgAmoiAS0AADoADSADIAEgAmoiAS0AADoADiADIAEgAmotAAA6AA8gA0EQaiEDCyAdKAIAIAUgEGwiEEEIdGogDyAFQQN0IgFsQQN0aiALQQN0aiEKIAFB+P///wdxIQEgDkUEQCAIIAogAUF/c2oiAi0AADoAACAIIAogAWstAAA6AAEgCCACLQACOgACIAggAi0AAzoAAyAIIAItAAQ6AAQgCCACLQAFOgAFIAggAi0ABjoABiAIIAItAAc6AAcgCCACQQhqIgItAAA6AAggCCAQQQZ0IAJqIgJBCGstAAA6AAkgCCACQQdrLQAAOgAKIAggAkEGay0AADoACyAIIAJBBWstAAA6AAwgCCACQQRrLQAAOgANIAggAkEDay0AADoADiAIIAJBAmstAAA6AA8gCCACQQFrLQAAOgAQIAggAi0AADoAEQsgC0UNACADIApBAWsiAi0AADoAACADIAEgAmoiAi0AADoAASADIAEgAmoiAi0AADoAAiADIAEgAmoiAi0AADoAAyADIAEgAmoiAi0AADoABCADIAEgAmoiAi0AADoABSADIAEgAmoiAi0AADoABiADIAEgAmoiAi0AADoAByADIAEgAmogECAFa0EGdGoiAi0AADoACCADIAEgAmoiAi0AADoACSADIAEgAmoiAi0AADoACiADIAEgAmoiAi0AADoACyADIAEgAmoiAi0AADoADCADIAEgAmoiAi0AADoADSADIAEgAmoiAi0AADoADiADIAEgAmotAAA6AA8LAkACQEECIAYoAgAiAUEGRyABQQZJG0EBRgRAAn8gDCEDIA1ByAJqIQgCfyAGKALIASIBBEAgBigCBCABKAIERgwBC0EACyELAkAgE0UNACALRQ0AQQAgC0ECIAYoAsgBKAIAIgFBBkcgAUEGSRtBAkYbIQsLAn8gBigCzAEiAQRAIAYoAgQgASgCBEYMAQtBAAshBQJAIBNFDQAgBUUNAEEAIAVBAiAGKALMASgCACIBQQZHIAFBBkkbQQJGGyEFCwJ/IAYoAtQBIgEEQCAGKAIEIAEoAgRGDAELQQALIQICQCATRQ0AIAJFDQBBAiAGKALUASgCACIBQQZHIAFBBkkbQQJHIQILAkACQAJAAkACQAJAIAYoAgBBAWpBA3EOAwABAgMLQQEgBUUNBRpBASEHIAMhAQNAIAEgES0AIToAACABIBEtACI6AAEgASARLQAjOgACIAEgES0AJDoAAyABIBEtACU6AAQgASARLQAmOgAFIAEgES0AJzoABiABIBEtACg6AAcgASARLQApOgAIIAEgES0AKjoACSABIBEtACs6AAogASARLQAsOgALIAEgES0ALToADCABIBEtAC46AA0gASARLQAvOgAOIAEgES0AMDoADyAHQRBGDQQgAUEQaiEBIAdBAWohBwwACwALQQEgC0UNBBogAyEBA0AgASAHIBFqIgItAAA6AAAgASACLQAAOgABIAEgAi0AADoAAiABIAItAAA6AAMgASACLQAAOgAEIAEgAi0AADoABSABIAItAAA6AAYgASACLQAAOgAHIAEgAi0AADoACCABIAItAAA6AAkgASACLQAAOgAKIAEgAi0AADoACyABIAItAAA6AAwgASACLQAAOgANIAEgAi0AADoADiABIAItAAA6AA8gAUEQaiEBIAdBAWoiB0EQRw0ACwwCCyADAn8CQCALRQ0AIAVFDQAgES0ADyARLQAwIBEtAA4gES0ALyARLQANIBEtAC4gES0ADCARLQAtIBEtAAsgES0ALCARLQAKIBEtACsgES0ACSARLQAqIBEtAAggES0AKSARLQAHIBEtACggES0ABiARLQAnIBEtAAUgES0AJiARLQAEIBEtACUgES0AAyARLQAkIBEtAAIgES0AIyARLQABIBEtACIgES0AISARLQAAampqampqampqampqampqampqampqampqampqampqakEQakEFdgwBCyALBEAgES0ADyARLQAOIBEtAA0gES0ADCARLQALIBEtAAogES0ACSARLQAIIBEtAAcgES0ABiARLQAFIBEtAAQgES0AAyARLQACIBEtAAAgES0AAWpqampqampqampqampqakEIakEEdgwBC0GAASAFRQ0AGiARLQAwIBEtAC8gES0ALiARLQAtIBEtACwgES0AKyARLQAqIBEtACkgES0AKCAR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BS0AAyAFLQACIAUtAAAgBS0AAWpqakECakECdiIDCyEGIAIgA0H/AXFBgYKECGwiAzYAHCACIAZB/wFxQYGChAhsIgY2ABggAiADNgAUIAIgBjYAECACIAM2AAwgAiAGNgAIIAIgAzYABCACIAY2AAACQCAZBEAgBS0AByAFLQAGIAUtAAUgBS0ABGpqaiIKQQJqQQJ2IQMgEEUEQCADIQYMAgsgAyEGIActAAggBy0AByAHLQAGIAogBy0ABWpqampBBGpBA3YhAwwBCyAQRQRAQYABIQNBgAEhBgwBCyAHLQAIIActAAcgBy0ABSAHLQAGampqQQJqQQJ2IQMgBy0ABCAHLQADIActAAEgBy0AAmpqakECakECdiEGCyACIANB/wFxQYGChAhsIgM2ADwgAiAGQf8BcUGBgoQIbCIGNgA4IAIgAzYANCACIAY2ADAgAiADNgAsIAIgBjYAKCACIAM2ACQgAiAGNgAgDAQLIBkNAkEBDAULQQEgEEUNBBogAiAHLQABOgAAIAIgBy0AAToACCACIActAAE6ABAgAiAHLQABOgAYIAIgBy0AAToAICACIActAAE6ACggAiAHLQABOgAwIAIgBy0AAToAOCACIActAAI6AAEgAiAHLQACOgAJIAIgBy0AAjoAESACIActAAI6ABkgAiAHLQACOgAhIAIgBy0AAjoAKSACIActAAI6ADEgAiAHLQACOgA5IAIgBy0AAzoAAiACIActAAM6AAogAiAHLQADOgASIAIgBy0AAzoAGiACIActAAM6ACIgAiAHLQADOgAqIAIgBy0AAzoAMiACIActAAM6ADogAiAHLQAEOgADIAIgBy0ABDoACyACIActAAQ6ABMgAiAHLQAEOgAbIAIgBy0ABDoAIyACIActAAQ6ACsgAiAHLQAEOgAzIAIgBy0ABDoAOyACIActAAU6AAQgAiAHLQAFOgAMIAIgBy0ABToAFCACIActAAU6ABwgAiAHLQAFOgAkIAIgBy0ABToALCACIActAAU6ADQgAiAHLQAFOgA8IAIgBy0ABjoABSACIActAAY6AA0gAiAHLQAGOgAVIAIgBy0ABjoAHSACIActAAY6ACUgAiAHLQAGOgAtIAIgBy0ABjoANSACIActAAY6AD0gAiAHLQAHOgAGIAIgBy0ABzoADiACIActAAc6ABYgAiAH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IAMgDiARakGwLmotAAA6AAEgAigCHCERIAEtAAshDiADIBIgE2pBsC5qLQAAOgACIAMgDiARakGwLmotAAA6AAMgAigCJCERIAEtABEhDiADIAVqIgMgAigCICABLQAQakGwLmotAAA6AAAgAigCKCESIAEtABIhEyADIA4gEWpBsC5qLQAAOgABIAIoAiwhESABLQATIQ4gAyASIBNqQbAuai0AADoAAiADIA4gEWpBsC5qLQAAOgADIAIoAjQhESABLQAZIQ4gAyAFaiIDIAIoAjAgAS0AGGpBsC5qLQAAOgAAIAIoAjghEiABLQAaIRMgAyAOIBFqQbAuai0AADoAASACKAI8IQIgAS0AGyEBIAMgEiATakGwLmotAAA6AAIgAyABIAJqQbAuai0AADoAAwwBCyABKAIIIQIgAyABKAIANgIAIAMgB2oiAyACNgIAIAEoAhghAiADIAdqIgMgASgCEDYCACADIAdqIAI2AgALIAZBAWoiBkEYRw0ACwwBCyAdIAsQGAsgEEEgaiQAIAgiAw0BC0EAIQMLIAMLIgYNASAgKAK8CSApaigCxAEhAgJ/QQAhAwJAIBsoAgxBA3QgGygCEGsiAUUNAEEBIQMgAUEISw0AQQEgAUEBa3QgGxAQQSAgAWt2RwwBCyADCyAjKAIMckEARyEBAkACQCAUKAIEQQJrDgYAAQEBAQABCyAgIAQ2ArAJC0EBIQZBACABICAoApQJICAoApgJIAQQHSIEGw0BICIgAkEBRmohIiABDQALICBBrAlqKAIAICJqIgEgICgCmAlLDQAgICABNgKsCUEAIQYLICNBwANqJAAgBgsEQCAgKALYCiEAQQAhAyAgKAKoCSECAkAgIEGwCWooAgAiAUUNACAAIAFBAWsiAU8EQCABIQAMAQsgICgCvAkhBANAAkAgBCABQdgBbGooAgQgAkcNACADQQFqIgMgICgCECgCNCIJQQogCUEKSxtJDQAgASEADAILIAFBAWsiASAASw0ACwsDQAJAICAoArwJIABB2AFsaiIBKAIEIAJHDQAgASgCxAEiA0UNACABIANBAWs2AsQBICAoApQJICAoApgJIAAQHSIADQELC0ENISIMAgtBACEiQQAhAgJAAkACQAJAAkAgIEH8CmooAgAEQCAAKAKYCSIERQ0DIARBA3EhBiAAKAK8CSEDIARBAWtBA08NAUEAIQEMAgtBASEBIABBrAlqKAIAIAAoApgJRw0DDAQLIARBfHEhCUEAIQEDQCACIAMgAUHYAWxqKALEAUEAR2ogAyABQQFyQdgBbGooAsQBQQBHaiADIAFBAnJB2AFsaigCxAFBAEdqIAMgAUEDckHYAWxqKALEAUEAR2ohAiABQQRqIQEgCUEEayIJDQALCyAGRQ0AA0AgAiADIAFB2AFsaigCxAFBAEdqIQIgAUEBaiEBIAZBAWsiBg0ACwtBASEBIAIgBEYNAQtBACEBCyABRQ0BIABBATYCnAkLIAAoArwJIQVBACEmQQAhMCMAQbABayIIJAAgAEG4CmoiMiIlKAIIIgEEQCAlKAIEIihBBnQhPyAoQTBsIUAgKEEFdCEiIChBUGwhHiABIChsIgFBBnQhQSABQQh0IUJBACAoQQN0Ih1rIhFBAXQhG0EAIChBBHQiIGsiGUECdCFDIBlBAXQhJCAIQRhqIS4gCEEMciFEA0ACQCAFKAIIIgNBAUYNAAJ/AkACQAJAAkACQCAFKALIASIBRQRAQQEhAgwBC0EFIQIgA0ECRw0AQQVBASAFKAIEIg0gASgCBEYbIQIgBSgCzAEiBw0BDAQLIAUoAswBIgdFBEBBACEHDAMLIANBAkcNASAFKAIEIQ0LIA0gBygCBEcNAQsgAkECciECCyACQQJxRQ0AAkAgBSgCAEEFTQRAIAcoAgBBBkkNAQsgCEEENgJAIAhBBDYCSCAIQQQ2AjggCEEENgIwQQEhDUEAIRpBAAwCC0ECIQxBAiENAkAgBS8BHA0AIAcvATANAEEBIQ0gBSgCdCAHKAJ8Rw0AIAUuAYQBIAcuAawBayIDIANBH3UiA2ogA3NBA0sNACAFLgGGASAHLgGuAWsiAyADQR91IgNqIANzQQNLIQ0LIAggDTYCMAJAIAUvAR4NACAHLwEyDQBBASEMIAUoAnQgBygCfEcNACAFLgGIASAHLgGwAWsiAyADQR91IgNqIANzQQNLDQAgBS4BigEgBy4BsgFrIgMgA0EfdSIDaiADc0EDSyEMCyAIIAw2AjhBAiEPQQIhEAJAIAUvASQNACAHLwE4DQBBASEQIAUoAnggBygCgAFHDQAgBS4BlAEgBy4BvAFrIgMgA0EfdSIDaiADc0EDSw0AIAUuAZYBIAcuAb4BayIDIANBH3UiA2ogA3NBA0shEAsgCCAQNgJAAkAgBS8BJg0AIAcvAToNAEEBIQ8gBSgCeCAHKAKAAUcNACAFLgGYASAHLgHAAWsiAyADQR91IgNqIANzQQNLDQAgBS4BmgEgBy4BwgFrIgMgA0EfdSIDaiADc0EDSyEPCyAIIA82AkhBACEaIAwgDXIgEHIgD3IiA0EARyENIANFDAELQQAhDSAIQQA2AkAgCEEANgJIIAhBADYCOCAIQQA2AjBBASEaQQELIQMCQAJAAkAgAkEEcSIzBEACQCAFKAIAIgJBBU0EQCABKAIAQQZJDQELIAhBBDYCdCAIQQQ2ApQBIAhBBDYCVCAIQQQ2AjRBASENDAILQQIhD0ECIRACQCAFLwEcDQAgAS8BJg0AQQEhECAFKAJ0IAEoAnhHDQAgBS4BhAEgAS4BmAFrIgQgBEEfdSIEaiAEc0EDSw0AIAUuAYYBIAEuAZoBayIEIARBH3UiBGogBHNBA0shEAsgCCAQNgI0AkAgBS8BIA0AIAEvASoNAEEBIQ8gBSgCdCABKAJ4Rw0AIAUuAYwBIAEuAaABayIEIARBH3UiBGogBHNBA0sNACAFLgGOASABLgGiAWsiBCAEQR91IgRqIARzQQNLIQ8LIAggDzYCVEECIQpBAiEMAkAgBS8BLA0AIAEvATYNAEEBIQwgBSgCfCABKAKAAUcNACAFLgGkASABLgG4AWsiBCAEQR91IgRqIARzQQNLDQAgBS4BpgEgAS4BugFrIgQgBEEfdSIEaiAEc0EDSyEMCyAIIAw2AnQCQCAFLwEwDQAgAS8BOg0AQQEhCiAFKAJ8IAEoAoABRw0AIAUuAawBIAEuAcABayIEIARBH3UiBGogBHNBA0sNACAFLgGuASABLgHCAWsiASABQR91IgFqIAFzQQNLIQoLIAggCjYClAFBASENIANFDQIgDyAQciAMciAKckEARyENDAILIAhBADYCdCAIQQA2ApQBIAhBADYCVCAIQQA2AjQgBSgCACECCyACQQZJDQAgCEEDNgKgASAIQoOAgIAwNwKkASAIQQM2ApABIAhBAzYCcCAIQQM2AqwBIAhCg4CAgDA3A5gBIAhCg4CAgDA3A4gBIAhCg4CAgDA3A4ABIAhCg4CAgDA3A3ggCEKDgICAMDcDaCAIQoOAgIAwNwNgIAhCg4CAgDA3A1ggCEKDgICAMDcCTCAIQQM2AkQgCEEDNgI8DAELAkACfyACQQNNBEAgAkECdEGMNWooAgAMAQtBBAtBAUYEQCAIAn8CQCAFLwEgIgkNACAFLwEcDQBBAAwBC0ECCzYCUCAIAn8CQCAFLwEiIgENACAFLwEeDQBBAAwBC0ECCzYCWCAIAn8CQCAFLwEoIgINACAFLwEkDQBBAAwBC0ECCzYCYCAIAn8CQCAFLwEqIgYNACAFLwEmDQBBAAwBC0ECCzYCaCAIQQIgCUEAR0EBdCAFLwEsIgcbNgJwIAhBAiABQQBHQQF0IAUvAS4iAxs2AnggCEECIAJBAEdBAXQgBS8BNCIEGzYCgAEgCEECIAZBAEdBAXQgBS8BNiILGzYCiAEgCCAFLwEwIg4gB3JBAEdBAXQ2ApABIAggBS8BMiIQIANyQQBHQQF0NgKYASAIIAUvATgiDCAEckEAR0EBdDYCoAEgCCAFLwE6IhIgC3JBAEdBAXQ2AqgBQQIhD0ECIQogCCAFLwEeBH9BAgVBACEPIAUvARxBAEdBAXQLNgI8IAhBAiAPIAUvASQiChs2AkQgBS8BJiEPIAggDCASckEAR0EBdDYCrAEgCCAMIBByQQBHQQF0NgKkASAIIA4gEHJBAEdBAXQ2ApwBIAggBCALckEAR0EBdDYCjAEgCCADIARyQQBHQQF0NgKEASAIIAMgB3JBAEdBAXQ2AnwgCCACIAZyQQBHQQF0NgJsIAggASACckEAR0EBdDYCZCAIIAEgCXJBAEdBAXQ2AlwgCCAKIA9yQQBHQQF0NgJMIAgoAqwBIRYgCCgCpAEhDyAIKAKcASEVIAgoAowBISEgCCgChAEhCiAIKAJ8ISkgCCgCbCEXIAgoAmQhASAIKAJcIQYgCCgCTCEJIAgoAkQhAiAIKAI8IQ4gCCgCqAEhAyAIKAKgASEqIAgoApgBIRwgCCgCkAEhIyAIKAKIASELIAgoAoABIRMgCCgCeCESIAgoAnAhFCAIKAJoIQcgCCgCYCEEIAgoAlghECAIKAJQIQwMAQsgCAJ/AkAgCAJ/AkACQAJAAkACQCAFKAIAQQJrDgIAAQILIAgCfwJAIAUvASAiIQ0AIAUvARwNAEEADAELQQILIgw2AlAgCAJ/AkAgBS8BIiIKDQAgBS8BHg0AQQAMAQtBAgsiEDYCWCAIAn8CQCAFLwEoIgENACAFLwEkDQBBAAwBC0ECCyIENgJgIAgCfwJAIAUvASoiFw0AIAUvASYNAEEADAELQQILIgc2AmggCAJ/AkAgBS8BMCIrDQAgBS8BLA0AQQAMAQtBAgsiIzYCkAEgCAJ/AkAgBS8BMiIVDQAgBS8BLg0AQQAMAQtBAgsiHDYCmAEgCAJ/AkAgBS8BOCIPDQAgBS8BNA0AQQAMAQtBAgsiKjYCoAEgCAJ/AkAgBS8BOiIWDQAgBS8BNg0AQQAMAQtBAgsiAzYCqAFBAiESQQIhFAJAICEgBS8BLCIscg0AQQEhFCAFLgGkASAFLgGMAWsiAiACQR91IgJqIAJzQQNLDQAgBS4BpgEgBS4BjgFrIgIgAkEfdSICaiACc0EDSw0AIAUoAnwgBSgCdEchFAsgCCAUNgJwAkAgCiAFLwEuIilyDQBBASESIAUuAagBIAUuAZABayICIAJBH3UiAmogAnNBA0sNACAFLgGqASAFLgGSAWsiAiACQR91IgJqIAJzQQNLDQAgBSgCfCAFKAJ0RyESCyAIIBI2AnhBAiELQQIhEwJAIAEgBS8BNCIfcg0AQQEhEyAFLgG0ASAFLgGcAWsiAiACQR91IgJqIAJzQQNLDQAgBS4BtgEgBS4BngFrIgIgAkEfdSICaiACc0EDSw0AIAUoAoABIAUoAnhHIRMLIAggEzYCgAECQCAXIAUvATYiLXINAEEBIQsgBS4BuAEgBS4BoAFrIgIgAkEfdSICaiACc0EDSw0AIAUuAboBIAUuAaIBayICIAJBH3UiAmogAnNBA0sNACAFKAKAASAFKAJ4RyELCyAIIAs2AogBIAUvAR4NAiAFLwEcBEBBAiEOIAhBAjYCPCAFLwEkIgYNBkEAIQlBAAwHC0EAIQ4gCEEANgI8QQAhCUEAIAUvASQiBkUNBhoMBQsgCAJ/AkAgBS8BICICDQAgBS8BHA0AQQAMAQtBAgsiDDYCUCAIAn8CQCAFLwEiIgoNACAFLwEeDQBBAAwBC0ECCyIQNgJYIAgCfwJAIAUvASgiDw0AIAUvASQNAEEADAELQQILIgQ2AmAgCAJ/AkAgBS8BKiIGDQAgBS8BJg0AQQAMAQtBAgsiBzYCaCAIIAUvASwiASACckEAR0EBdCIUNgJwIAggBS8BLiIfIApyQQBHQQF0IhI2AnggCCAFLwE0IisgD3JBAEdBAXQiEzYCgAEgCCAFLwE2IhcgBnJBAEdBAXQiCzYCiAEgCEECIAFBAEdBAXQgBS8BMCIVGyIjNgKQASAIQQIgH0EAR0EBdCAFLwEyIiwbIhw2ApgBIAhBAiArQQBHQQF0IAUvATgiLRsiKjYCoAEgCEECIBdBAEdBAXQgBS8BOiIWGyIDNgKoASAIAn8CQCAFLwEeIi8NACAFLwEcDQBBAAwBC0ECCyIONgI8IAUvASYEQCAFLwEkIQkMAwsgBS8BJCIJDQJBACEnQQAMAwsgBS4BhgEhBiAFLgGOASEBQQIhECAIAn9BAiAFLwEgIjQgBS8BHCIOcg0AGkEBIAUuAYwBIAUuAYQBayICIAJBH3UiAmogAnNBA0sNABogASAGayICIAJBH3UiAmogAnNBA0sLIgw2AlAgBS4BigEhCSAFLgGSASEKAkAgBS8BIiIVIAUvAR4iNXINAEEBIRAgBS4BkAEgBS4BiAFrIgIgAkEfdSICaiACc0EDSw0AIAogCWsiAiACQR91IgJqIAJzQQNLIRALIAggEDYCWCAFLgGWASEXIAUuAZ4BIQ9BAiEHIAgCf0ECIAUvASgiKSAFLwEkIjZyDQAaQQEgBS4BnAEgBS4BlAFrIgIgAkEfdSICaiACc0EDSw0AGiAPIBdrIgIgAkEfdSICaiACc0EDSwsiBDYCYCAFLgGaASE3IAUuAaIBIR8CQCAFLwEqIjggBS8BJiJFcg0AQQEhByAFLgGgASAFLgGYAWsiAiACQR91IgJqIAJzQQNLDQAgHyA3ayICIAJBH3UiAmogAnNBA0shBwsgCCAHNgJoIAUuAaYBIStBAiESQQIhFAJAIDQgBS8BLCI5cg0AQQEhFCAFLgGkASAFLgGMAWsiAiACQR91IgJqIAJzQQNLDQAgKyABayICIAJBH3UiAmogAnNBA0sNACAFKAJ8IAUoAnRHIRQLIAggFDYCcCAFLgGqASEWAkAgFSAFLwEuIixyDQBBASESIAUuAagBIAUuAZABayICIAJBH3UiAmogAnNBA0sNACAWIAprIgIgAkEfdSICaiACc0EDSw0AIAUoAnwgBSgCdEchEgsgCCASNgJ4IAUuAbYBISFBAiELQQIhEwJAICkgBS8BNCItcg0AQQEhEyAFLgG0ASAFLgGcAWsiAiACQR91IgJqIAJzQQNLDQAgISAPayICIAJBH3UiAmogAnNBA0sNACAFKAKAASAFKAJ4RyETCyAIIBM2AoABIAUuAboBIScCQCA4IAUvATYiOnINAEEBIQsgBS4BuAEgBS4BoAFrIgIgAkEfdSICaiACc0EDSw0AICcgH2siAiACQR91IgJqIAJzQQNLDQAgBSgCgAEgBSgCeEchCwsgCCALNgKIASAFLgGuASE7QQIhHCAIAn9BAiA5IAUvATAiRnINABpBASAFLgGsASAFLgGkAWsiAiACQR91IgJqIAJzQQNLDQAaIDsgK2siAiACQR91IgJqIAJzQQNLCyIjNgKQASAFLgGyASEvAkAgLCAFLwEyIjxyDQBBASEcIAUuAbABIAUuAagBayICIAJBH3UiAmogAnNBA0sNACAvIBZrIgIgAkEfdSICaiACc0EDSyEcCyAIIBw2ApgBIAUuAb4BITFBAiEDIAgCf0ECIC0gBS8BOCI9cg0AGkEBIAUuAbwBIAUuAbQBayICIAJBH3UiAmogAnNBA0sNABogMSAhayICIAJBH3UiAmogAnNBA0sLIio2AqABIAUuAcIBIT4CQCA6IAUvAToiR3INAEEBIQMgBS4BwAEgBS4BuAFrIgIgAkEfdSICaiACc0EDSw0AID4gJ2siAiACQR91IgJqIAJzQQNLIQMLIAggAzYCqAFBAiECIAgCf0ECIA4gNXINABpBASAFLgGIASAFLgGEAWsiDiAOQR91Ig5qIA5zQQNLDQAaIAkgBmsiBiAGQR91IgZqIAZzQQNLCyIONgI8AkAgNSA2cg0AQQEhAiAFLgGUASAFLgGIAWsiBiAGQR91IgZqIAZzQQNLDQAgFyAJayIJIAlBH3UiCWogCXNBA0sNACAFKAJ4IAUoAnRHIQILIAggAjYCREECIQYgCAJ/QQIgNiBFcg0AGkEBIAUuAZgBIAUuAZQBayIJIAlBH3UiCWogCXNBA0sNABogNyAXayIJIAlBH3UiCWogCXNBA0sLIgk2AkwCQCAVIDRyDQBBASEGIAUuAZABIAUuAYwBayIXIBdBH3UiF2ogF3NBA0sNACAKIAFrIgEgAUEfdSIBaiABc0EDSyEGCyAIIAY2AlxBAiEXQQIhAQJAIBUgKXINAEEBIQEgBS4BnAEgBS4BkAFrIhUgFUEfdSIVaiAVc0EDSw0AIA8gCmsiCiAKQR91IgpqIApzQQNLDQAgBSgCeCAFKAJ0RyEBCyAIIAE2AmQCQCApIDhyDQBBASEXIAUuAaABIAUuAZwBayIKIApBH3UiCmogCnNBA0sNACAfIA9rIgogCkEfdSIKaiAKc0EDSyEXCyAIIBc2AmxBAiEKIAgCf0ECICwgOXINABpBASAFLgGoASAFLgGkAWsiDyAPQR91Ig9qIA9zQQNLDQAaIBYgK2siDyAPQR91Ig9qIA9zQQNLCyIpNgJ8AkAgLCAtcg0AQQEhCiAFLgG0ASAFLgGoAWsiDyAPQR91Ig9qIA9zQQNLDQAgISAWayIPIA9BH3UiD2ogD3NBA0sNACAFKAKAASAFKAJ8RyEKCyAIIAo2AoQBQQIhFSAIAn9BAiAtIDpyDQAaQQEgBS4BuAEgBS4BtAFrIg8gD0EfdSIPaiAPc0EDSw0AGiAnICFrIg8gD0EfdSIPaiAPc0EDSwsiITYCjAECQCA8IEZyDQBBASEVIAUuAbABIAUuAawBayIPIA9BH3UiD2ogD3NBA0sNACAvIDtrIg8gD0EfdSIPaiAPc0EDSyEVCyAIIBU2ApwBQQIhFkECIQ8CQCA8ID1yDQBBASEPIAUuAbwBIAUuAbABayIfIB9BH3UiH2ogH3NBA0sNACAxIC9rIh8gH0EfdSIfaiAfc0EDSw0AIAUoAoABIAUoAnxHIQ8LIAggDzYCpAECQCA9IEdyDQBBASEWIAUuAcABIAUuAbwBayIfIB9BH3UiH2ogH3NBA0sNACA+IDFrIhYgFkEfdSIWaiAWc0EDSyEWCyAIIBY2AqwBDAULQQIhDiAIQQI2AjwgBS8BJCEGDAILIAlB//8DcUEARyEnQQILIgk2AkwgCCAWIC1yQQBHQQF0IhY2AqwBIAggFSAsckEAR0EBdCIVNgKcASAIIBcgK3JBAEdBAXQiITYCjAEgCCABIB9yQQBHQQF0Iik2AnxBAiEBIAhBAiAPQQBHQQF0IAYbIhc2AmwgCEECIAJBAEdBAXQgChsiBjYCXEECIQICQCAnDQAgLw0AQQEhAiAFLgGUASAFLgGIAWsiJyAnQR91IidqICdzQQNLDQAgBS4BlgEgBS4BigFrIicgJ0EfdSInaiAnc0EDSw0AIAUoAnggBSgCdEchAgsgCCACNgJEAkAgCiAPcg0AQQEhASAFLgGcASAFLgGQAWsiCiAKQR91IgpqIApzQQNLDQAgBS4BngEgBS4BkgFrIgogCkEfdSIKaiAKc0EDSw0AIAUoAnggBSgCdEchAQsgCCABNgJkQQIhD0ECIQoCQCAfICtyDQBBASEKIAUuAbQBIAUuAagBayIfIB9BH3UiH2ogH3NBA0sNACAFLgG2ASAFLgGqAWsiHyAfQR91Ih9qIB9zQQNLDQAgBSgCgAEgBSgCfEchCgsgCCAKNgKEAQJAICwgLXINAEEBIQ8gBS4BvAEgBS4BsAFrIh8gH0EfdSIfaiAfc0EDSw0AIAUuAb4BIAUuAbIBayIfIB9BH3UiH2ogH3NBA0sNACAFKAKAASAFKAJ8RyEPCyAIIA82AqQBDAILIAYhCUECCyICNgJEIAUvASYhJyAIIA8gFnJBAEdBAXQiFjYCrAEgCCAPIBVyQQBHQQF0Ig82AqQBIAhBAiArQQBHQQF0IBUbIhU2ApwBIAhBAiAXQQBHQQF0IAEbIhc2AmwgCEECIAFBAEdBAXQgChsiATYCZCAIQQIgCkEAR0EBdCAhGyIGNgJcIAggHyAtckEAR0EBdCIhNgKMASAIIB8gKXJBAEdBAXQiCjYChAEgCCApICxyQQBHQQF0Iik2AnwgCCAnIAlB//8DcXJBAEdBAXQiCTYCTAsgDCANciAQciAEciAHciAUciASciATciALciAjciAcciAqciADciAOciACciAJciAGciABciAXciApciAKciAhciAVciAPciAWckUNAQsgBSgCDCECIAggBSgCECIDIAUoAhQiAWoiBEEzIARBM0gbIgRBACAEQQBKG0HQF2otAAAiBDYCICAIIAEgAmoiCUEzIAlBM0gbIglBACAJQQBKGyIGQZAXai0AACIJNgIcIAggBkEDbEGQGGoiBzYCGAJAIBoNACABIAUoAswBKAIUIgZHBEAgCCABIAZqQQFqQQF2IgYgA2oiDUEzIA1BM0gbIg1BACANQQBKG0HQF2otAAA2AgggCCACIAZqIgZBMyAGQTNIGyIGQQAgBkEAShsiBkGQF2otAAA2AgQgCCAGQQNsQZAYajYCAAwBCyAIIAQ2AgggCCAJNgIEIAggBzYCAAsgMwRAAkAgASAFKALIASgCFCIGRwRAIAggASAGakEBakEBdiIBIANqIgNBMyADQTNIGyIDQQAgA0EAShtB0BdqLQAANgIUIAggASACaiIBQTMgAUEzSBsiAUEAIAFBAEobIgFBkBdqLQAANgIQIAFBA2xBkBhqIQcMAQsgCCAENgIUIAggCTYCEAsgCCAHNgIMCyAlKAIAICggMGwiFkEIdGogJkEEdGohA0EAIQ5BAyECIAhBMGohCwNAIAsoAgQiAQRAIAMgASBEICAQFgsgCygCDCIBBEAgA0EEaiABIC4gIBAWCyALKAIUIgEEQCADQQhqIAEgLiAgEBYLIAsoAhwiAQRAIANBDGogASAuICAQFgsgAiEJAkACQAJAIAsoAgAiASALKAIIIgdHDQAgASALKAIQRw0AIAEgCygCGEcNACABRQ0CIAggDkEMbGoiAigCCCENIAIoAgQhDiABQQRJDQEgDkECdkECaiETQRAhByADIQIDQAJAIAIgGWoiBC0AACIGIAItAAAiCmsiASABQR91IgFqIAFzIgEgDk8NACACICRqIhQtAAAiECAGayIPIA9BH3UiD2ogD3MgDU8NACACICBqIhUtAAAiDyAKayIMIAxBH3UiDGogDHMgDU8NAAJAIAEgE0kEQCACICJqIhctAAAhDAJ/IA0gAiAeaiIBLQAAIhIgBmsiHCAcQR91IhxqIBxzSwRAQQMhIyAEIA8gBiAKaiAQaiIEQQF0aiASakEEakEDdjoAACAUIAQgEmpBAmpBAnY6AAAgBEEEaiASQQNsaiESIAIgQ2otAAAMAQtBAiEjIAYgD2pBAmohEiAEIQEgEAshBCABIBIgBEEBdGogI3Y6AAAgDCAKayIBIAFBH3UiAWogAXMgDU8NASACIBAgBiAPaiAKaiIBQQF0aiAMakEEakEDdjoAACAVIAEgDGpBAmpBAnY6AAAgFyABIAxBA2xqIAIgQGotAABBAXRqQQRqQQN2OgAADAILIAQgBiAPaiAQQQF0akECakECdjoAAAsgAiAKIBBqIA9BAXRqQQJqQQJ2OgAACyACQQFqIQIgB0EBayIHDQALDAILAn8gAQRAIAggDkEMbGoiEyEUQQQhDSABIBMoAgBqQQFrLQAAIgRBAWohBkEAIARrIQ8gAyECA0ACQCATKAIEIAIgGWoiFS0AACIKIAItAAAiEGsiASABQR91IgFqIAFzTQ0AIBQoAggiByACICRqIhctAAAiDCAKayIBIAFBH3UiAWogAXNNDQAgAiAgaiIcLQAAIhIgEGsiASABQR91IgFqIAFzIAdPDQAgBCEBIAcgAiAeai0AACIjIAprIiEgIUEfdSIhaiAhc0sEQCAXIAwgDyAEIAogEGpBAWpBAXYgDEEBdGsgI2pBAXUiASABIARKGyABIA9IG2o6AAAgFCgCCCEHIAYhAQsgFSAKAn8gByACICJqLQAAIhUgEGsiFyAXQR91IhdqIBdzSwRAIBwgEiAPIAQgCiAQakEBakEBdiASQQF0ayAVakEBdSIHIAQgB0gbIAcgD0gbajoAACABQQFqIQELQQAgAWsiFQsgASAMIBJrIBAgCmtBAnRqQQRqQQN1IgcgASAHSBsgByAVSBsiAWpBsC5qLQAAOgAAIAIgECABa0GwLmotAAA6AAALIAJBAWohAiANQQFrIg0NAAsgCygCCCEHCyAHCwRAQQQhDSADQQRqIQIgCCAOQQxsaiITIRQgByATKAIAakEBay0AACIEQQFqIQZBACAEayEPA0ACQCATKAIEIAIgGWoiFS0AACIKIAItAAAiEGsiASABQR91IgFqIAFzTQ0AIBQoAggiByACICRqIhctAAAiDCAKayIBIAFBH3UiAWogAXNNDQAgAiAgaiIcLQAAIhIgEGsiASABQR91IgFqIAFzIAdPDQAgBCEBIAcgAiAeai0AACIjIAprIiEgIUEfdSIhaiAhc0sEQCAXIAwgDyAEIAogEGpBAWpBAXYgDEEBdGsgI2pBAXUiASABIARKGyABIA9IG2o6AAAgFCgCCCEHIAYhAQsgFSAKAn8gByACICJqLQAAIhUgEGsiFyAXQR91IhdqIBdzSwRAIBwgEiAPIAQgCiAQakEBakEBdiASQQF0ayAVakEBdSIHIAQgB0gbIAcgD0gbajoAACABQQFqIQELQQAgAWsiFQsgASAMIBJrIBAgCmtBAnRqQQRqQQN1IgcgASAHSBsgByAVSBsiAWpBsC5qLQAAOgAAIAIgECABa0GwLmotAAA6AAALIAJBAWohAiANQQFrIg0NAAsLIAsoAhAiAQRAIANBCGohAiAIIA5BDGxqIhMhFEEEIQ0gASATKAIAakEBay0AACIEQQFqIQZBACAEayEPA0ACQCATKAIEIAIgGWoiFS0AACIKIAItAAAiEGsiASABQR91IgFqIAFzTQ0AIBQoAggiByACICRqIhctAAAiDCAKayIBIAFBH3UiAWogAXNNDQAgAiAgaiIcLQAAIhIgEGsiASABQR91IgFqIAFzIAdPDQAgBCEBIAcgAiAeai0AACIjIAprIiEgIUEfdSIhaiAhc0sEQCAXIAwgDyAEIAogEGpBAWpBAXYgDEEBdGsgI2pBAXUiASABIARKGyABIA9IG2o6AAAgFCgCCCEHIAYhAQsgFSAKAn8gByACICJqLQAAIhUgEGsiFyAXQR91IhdqIBdzSwRAIBwgEiAPIAQgCiAQakEBakEBdiASQQF0ayAVakEBdSIHIAQgB0gbIAcgD0gbajoAACABQQFqIQELQQAgAWsiFQsgASAMIBJrIBAgCmtBAnRqQQRqQQN1IgcgASAHSBsgByAVSBsiAWpBsC5qLQAAOgAAIAIgECABa0GwLmotAAA6AAALIAJBAWohAiANQQFrIg0NAAsLIAsoAhgiAUUNASADQQxqIQIgCCAOQQxsaiISIRNBBCENIAEgEigCAGpBAWstAAAiBEEBaiEGQQAgBGshDwNAAkAgEigCBCACIBlqIhQtAAAiCiACLQAAIhBrIgEgAUEfdSIBaiABc00NACATKAIIIgcgAiAkaiIVLQAAIgwgCmsiASABQR91IgFqIAFzTQ0AIAIgIGoiFy0AACIOIBBrIgEgAUEfdSIBaiABcyAHTw0AIAQhASAHIAIgHmotAAAiHCAKayIjICNBH3UiI2ogI3NLBEAgFSAMIA8gBCAKIBBqQQFqQQF2IAxBAXRrIBxqQQF1IgEgASAEShsgASAPSBtqOgAAIBMoAgghByAGIQELIBQgCgJ/IAcgAiAiai0AACIUIBBrIhUgFUEfdSIVaiAVc0sEQCAXIA4gDyAEIAogEGpBAWpBAXYgDkEBdGsgFGpBAXUiByAEIAdIGyAHIA9IG2o6AAAgAUEBaiEBC0EAIAFrIhQLIAEgDCAOayAQIAprQQJ0akEEakEDdSIHIAEgB0gbIAcgFEgbIgFqQbAuai0AADoAACACIBAgAWtBsC5qLQAAOgAACyACQQFqIQIgDUEBayINDQALDAELIAEgAigCAGpBAWstAAAiAUEBaiEGQQAgAWshD0EQIQcgAyECA0ACQCACIBlqIhMtAAAiCiACLQAAIhBrIgQgBEEfdSIEaiAEcyAOTw0AIAIgJGoiFC0AACIMIAprIgQgBEEfdSIEaiAEcyANTw0AIAIgIGoiFS0AACISIBBrIgQgBEEfdSIEaiAEcyANTw0AIAEhBCANIAIgHmotAAAiFyAKayIcIBxBH3UiHGogHHNLBEAgFCAMIA8gASAKIBBqQQFqQQF2IAxBAXRrIBdqQQF1IgQgASAESBsgBCAPSBtqOgAAIAYhBAsgEyAKAn8gDSACICJqLQAAIhMgEGsiFCAUQR91IhRqIBRzSwRAIBUgEiAPIAEgCiAQakEBakEBdiASQQF0ayATakEBdSITIAEgE0gbIA8gE0obajoAACAEQQFqIQQLQQAgBGsiEwsgBCAMIBJrIBAgCmtBAnRqQQRqQQN1IgwgBCAMSBsgDCATSBsiBGpBsC5qLQAAOgAAIAIgECAEa0GwLmotAAA6AAALIAJBAWohAiAHQQFrIgcNAAsLIAlBAWshAiALQSBqIQsgAyA/aiEDQQIhDiAJDQALIAUoAgwhASAIIAUoAhAiAyAFKAIUIgQgBSgCGCIJaiICQTMgAkEzSBsiAkEAIAJBAEobQQJ0QeA9aigCACICaiIGQTMgBkEzSBsiBkEAIAZBAEobQdAXai0AACIGNgIgIAggASACaiIHQTMgB0EzSBsiB0EAIAdBAEobIgdBkBdqLQAAIg02AhwgCCAHQQNsQZAYaiIHNgIYAkAgGg0AIAQgBSgCzAEoAhQiC0cEQCAIIAIgCSALaiILQTMgC0EzSBsiC0EAIAtBAEobQQJ0QeA9aigCAGpBAWpBAXYiCyADaiIKQTMgCkEzSBsiCkEAIApBAEobQdAXai0AADYCCCAIIAEgC2oiC0EzIAtBM0gbIgtBACALQQBKGyILQZAXai0AADYCBCAIIAtBA2xBkBhqNgIADAELIAggBjYCCCAIIA02AgQgCCAHNgIACyAzBEACQCAEIAUoAsgBKAIUIgtHBEAgCCADIAIgCSALaiIEQTMgBEEzSBsiBEEAIARBAEobQQJ0QeA9aigCAGpBAWpBAXYiAmoiA0EzIANBM0gbIgNBACADQQBKG0HQF2otAAA2AhQgCCABIAJqIgFBMyABQTNIGyIBQQAgAUEAShsiAUGQF2otAAA2AhAgAUEDbEGQGGohBwwBCyAIIAY2AhQgCCANNgIQCyAIIAc2AgwLICUoAgAgQmogFkEGdGogJkEDdGoiAiBBaiENQQEhD0EAIRAgCEEwaiEHA0ACQCAHKAIEIgNFDQACQCAIKAIQIAJBAWsiCy0AACIBIAItAAAiBGsiCSAJQR91IglqIAlzTQ0AIAgoAhQiCiACQQJrLQAAIgkgAWsiBiAGQR91IgZqIAZzTQ0AIAogAi0AASIGIARrIgwgDEEfdSIMaiAMc00NACADQQNNBEAgCyABIAMgCCgCDGpBAWstAAAiC0F/cyIKIAtBAWoiCyAEIAFrQQJ0IAZrIAlqQQRqQQN1IgkgCSALShsgCSAKSBsiCWpBsC5qLQAAOgAAIAIgBCAJa0GwLmotAAA6AAAMAQsgCyABIAZqIAlBAXRqQQJqQQJ2OgAAIAIgBCAGQQF0aiAJakECakECdjoAAAsCQCAIKAIQIAIgHWoiAUEBayIKLQAAIgQgAS0AACIJayIGIAZBH3UiBmogBnNNDQAgCCgCFCIMIAFBAmstAAAiBiAEayILIAtBH3UiC2ogC3NNDQAgDCABLQABIgsgCWsiDiAOQR91Ig5qIA5zTQ0AIANBA00EQCAKIAMgCCgCDGpBAWstAAAiA0F/cyIKIANBAWoiDCAJIARrQQJ0IAtrIAZqQQRqQQN1IgMgAyAMShsgAyAKSBsiAyAEakGwLmotAAA6AAAgASAJIANrQbAuai0AADoAAAwBCyAKIAQgC2ogBkEBdGpBAmpBAnY6AAAgASAJIAtBAXRqIAZqQQJqQQJ2OgAACyAHKAIEIQMCQCAIKAIQIA1BAWsiCy0AACIBIA0tAAAiBGsiCSAJQR91IglqIAlzTQ0AIAgoAhQiCiANQQJrLQAAIgkgAWsiBiAGQR91IgZqIAZzTQ0AIAogDS0AASIGIARrIgwgDEEfdSIMaiAMc00NACADQQNNBEAgCyABIAMgCCgCDGpBAWstAAAiC0F/cyIKIAtBAWoiCyAEIAFrQQJ0IAZrIAlqQQRqQQN1IgkgCSALShsgCSAKSBsiCWpBsC5qLQAAOgAAIA0gBCAJa0GwLmotAAA6AAAMAQsgCyABIAZqIAlBAXRqQQJqQQJ2OgAAIA0gBCAGQQF0aiAJakECakECdjoAAAsgCCgCECANIB1qIgFBAWsiCi0AACIEIAEtAAAiCWsiBiAGQR91IgZqIAZzTQ0AIAgoAhQiDCABQQJrLQAAIgYgBGsiCyALQR91IgtqIAtzTQ0AIAwgAS0AASILIAlrIg4gDkEfdSIOaiAOc00NACADQQNNBEAgCiADIAgoAgxqQQFrLQAAIgNBf3MiCiADQQFqIgwgCSAEa0ECdCALayAGakEEakEDdSIDIAMgDEobIAMgCkgbIgMgBGpBsC5qLQAAOgAAIAEgCSADa0GwLmotAAA6AAAMAQsgCiAEIAtqIAZBAXRqQQJqQQJ2OgAAIAEgCSALQQF0aiAGakECakECdjoAAAsCQCAHKAIkIgNFDQACQCAIKAIQIAIgIGoiAUEBayIKLQAAIgQgAS0AACIJayIGIAZBH3UiBmogBnNNDQAgCCgCFCIMIAFBAmstAAAiBiAEayILIAtBH3UiC2ogC3NNDQAgDCABLQABIgsgCWsiDiAOQR91Ig5qIA5zTQ0AIANBA00EQCAKIAQgAyAIKAIMakEBay0AACIKQX9zIgwgCkEBaiIKIAkgBGtBAnQgC2sgBmpBBGpBA3UiBiAGIApKGyAGIAxIGyIGakGwLmotAAA6AAAgASAJIAZrQbAuai0AADoAAAwBCyAKIAQgC2ogBkEBdGpBAmpBAnY6AAAgASAJIAtBAXRqIAZqQQJqQQJ2OgAACwJAIAgoAhAgASAdaiIBQQFrIgotAAAiBCABLQAAIglrIgYgBkEfdSIGaiAGc00NACAIKAIUIgwgAUECay0AACIGIARrIgsgC0EfdSILaiALc00NACAMIAEtAAEiCyAJayIOIA5BH3UiDmogDnNNDQAgA0EDTQRAIAogAyAIKAIMakEBay0AACIDQX9zIgogA0EBaiIMIAkgBGtBAnQgC2sgBmpBBGpBA3UiAyADIAxKGyADIApIGyIDIARqQbAuai0AADoAACABIAkgA2tBsC5qLQAAOgAADAELIAogBCALaiAGQQF0akECakECdjoAACABIAkgC0EBdGogBmpBAmpBAnY6AAALIAcoAiQhAwJAIAgoAhAgDSAgaiIBQQFrIgotAAAiBCABLQAAIglrIgYgBkEfdSIGaiAGc00NACAIKAIUIgwgAUECay0AACIGIARrIgsgC0EfdSILaiALc00NACAMIAEtAAEiCyAJayIOIA5BH3UiDmogDnNNDQAgA0EDTQRAIAogBCADIAgoAgxqQQFrLQAAIgpBf3MiDCAKQQFqIgogCSAEa0ECdCALayAGakEEakEDdSIGIAYgCkobIAYgDEgbIgZqQbAuai0AADoAACABIAkgBmtBsC5qLQAAOgAADAELIAogBCALaiAGQQF0akECakECdjoAACABIAkgC0EBdGogBmpBAmpBAnY6AAALIAgoAhAgASAdaiIBQQFrIgotAAAiBCABLQAAIglrIgYgBkEfdSIGaiAGc00NACAIKAIUIgwgAUECay0AACIGIARrIgsgC0EfdSILaiALc00NACAMIAEtAAEiCyAJayIOIA5BH3UiDmogDnNNDQAgA0EDTQRAIAogAyAIKAIMakEBay0AACIDQX9zIgogA0EBaiIMIAkgBGtBAnQgC2sgBmpBBGpBA3UiAyADIAxKGyADIApIGyIDIARqQbAuai0AADoAACABIAkgA2tBsC5qLQAAOgAADAELIAogBCALaiAGQQF0akECakECdjoAACABIAkgC0EBdGogBmpBAmpBAnY6AAALAkAgBygCFCIDRQ0AIAJBBGohCwJAIAgoAhwgAi0AAyIBIAItAAQiBGsiCSAJQR91IglqIAlzTQ0AIAgoAiAiCiACLQACIgkgAWsiBiAGQR91IgZqIAZzTQ0AIAogAi0ABSIGIARrIgwgDEEfdSIMaiAMc00NACADQQNNBEAgAiAEIAMgCCgCGGpBAWstAAAiCkF/cyIMIApBAWoiCiAEIAFrQQJ0IAZrIAlqQQRqQQN1IgQgBCAKShsgBCAMSBsiBGtBsC5qLQAAOgAEIAIgASAEakGwLmotAAA6AAMMAQsgAiABIAZqIAlBAXRqQQJqQQJ2OgADIAIgBCAGQQF0aiAJakECakECdjoABAsCQCAIKAIcIAsgHWoiAUEBayIKLQAAIgQgAS0AACIJayIGIAZBH3UiBmogBnNNDQAgCCgCICIMIAFBAmstAAAiBiAEayILIAtBH3UiC2ogC3NNDQAgDCABLQABIgsgCWsiDiAOQR91Ig5qIA5zTQ0AIANBA00EQCAKIAMgCCgCGGpBAWstAAAiA0F/cyIKIANBAWoiDCAJIARrQQJ0IAtrIAZqQQRqQQN1IgMgAyAMShsgAyAKSBsiAyAEakGwLmotAAA6AAAgASAJIANrQbAuai0AADoAAAwBCyAKIAQgC2ogBkEBdGpBAmpBAnY6AAAgASAJIAtBAXRqIAZqQQJqQQJ2OgAACyANQQRqIQsgBygCFCEDAkAgCCgCHCANLQADIgEgDS0ABCIEayIJIAlBH3UiCWogCXNNDQAgCCgCICIKIA0tAAIiCSABayIGIAZBH3UiBmogBnNNDQAgCiANLQAFIgYgBGsiDCAMQR91IgxqIAxzTQ0AIANBA00EQCANIAQgAyAIKAIYakEBay0AACIKQX9zIgwgCkEBaiIKIAQgAWtBAnQgBmsgCWpBBGpBA3UiBCAEIApKGyAEIAxIGyIEa0GwLmotAAA6AAQgDSABIARqQbAuai0AADoAAwwBCyANIAEgBmogCUEBdGpBAmpBAnY6AAMgDSAEIAZBAXRqIAlqQQJqQQJ2OgAECyAIKAIcIAsgHWoiAUEBayIKLQAAIgQgAS0AACIJayIGIAZBH3UiBmogBnNNDQAgCCgCICIMIAFBAmstAAAiBiAEayILIAtBH3UiC2ogC3NNDQAgDCABLQABIgsgCWsiDiAOQR91Ig5qIA5zTQ0AIANBA00EQCAKIAMgCCgCGGpBAWstAAAiA0F/cyIKIANBAWoiDCAJIARrQQJ0IAtrIAZqQQRqQQN1IgMgAyAMShsgAyAKSBsiAyAEakGwLmotAAA6AAAgASAJIANrQbAuai0AADoAAAwBCyAKIAQgC2ogBkEBdGpBAmpBAnY6AAAgASAJIAtBAXRqIAZqQQJqQQJ2OgAACwJAIAcoAjQiA0UNACACICBqIgFBBGohBAJAIAgoAhwgAS0AAyIJIAEtAAQiBmsiCyALQR91IgtqIAtzTQ0AIAgoAiAiDCAEQQJrLQAAIgsgCWsiCiAKQR91IgpqIApzTQ0AIAwgAS0ABSIKIAZrIg4gDkEfdSIOaiAOc00NACADQQNNBEAgASADIAgoAhhqQQFrLQAAIgFBf3MiDCABQQFqIg4gBiAJa0ECdCAKayALakEEakEDdSIBIAEgDkobIAEgDEgbIgEgCWpBsC5qLQAAOgADIAQgBiABa0GwLmotAAA6AAAMAQsgASAJIApqIAtBAXRqQQJqQQJ2OgADIAQgBiAKQQF0aiALakECakECdjoAAAsCQCAIKAIcIAQgHWoiAUEBayIKLQAAIgQgAS0AACIJayIGIAZBH3UiBmogBnNNDQAgCCgCICIMIAFBAmstAAAiBiAEayILIAtBH3UiC2ogC3NNDQAgDCABLQABIgsgCWsiDiAOQR91Ig5qIA5zTQ0AIANBA00EQCAKIAMgCCgCGGpBAWstAAAiA0F/cyIKIANBAWoiDCAJIARrQQJ0IAtrIAZqQQRqQQN1IgMgAyAMShsgAyAKSBsiAyAEakGwLmotAAA6AAAgASAJIANrQbAuai0AADoAAAwBCyAKIAQgC2ogBkEBdGpBAmpBAnY6AAAgASAJIAtBAXRqIAZqQQJqQQJ2OgAACyANICBqIgFBBGohAyAHKAI0IQQCQCAIKAIcIAEtAAMiCSABLQAEIgZrIgsgC0EfdSILaiALc00NACAIKAIgIgwgA0ECay0AACILIAlrIgogCkEfdSIKaiAKc00NACAMIAEtAAUiCiAGayIOIA5BH3UiDmogDnNNDQAgBEEDTQRAIAEgBCAIKAIYakEBay0AACIBQX9zIgwgAUEBaiIOIAYgCWtBAnQgCmsgC2pBBGpBA3UiASABIA5KGyABIAxIGyIBIAlqQbAuai0AADoAAyADIAYgAWtBsC5qLQAAOgAADAELIAEgCSAKaiALQQF0akECakECdjoAAyADIAYgCkEBdGogC2pBAmpBAnY6AAALIAgoAhwgAyAdaiIBQQFrIgotAAAiAyABLQAAIglrIgYgBkEfdSIGaiAGc00NACAIKAIgIgwgAUECay0AACIGIANrIgsgC0EfdSILaiALc00NACAMIAEtAAEiCyAJayIOIA5BH3UiDmogDnNNDQAgBEEDTQRAIAogAyAEIAgoAhhqQQFrLQAAIgRBf3MiCiAEQQFqIgwgCSADa0ECdCALayAGakEEakEDdSIEIAQgDEobIAQgCkgbIgRqQbAuai0AADoAACABIAkgBGtBsC5qLQAAOgAADAELIAogAyALaiAGQQF0akECakECdjoAACABIAkgC0EBdGogBmpBAmpBAnY6AAALAkACQCAHKAIAIgEgBygCCCIMRw0AIAEgBygCEEcNACABIAcoAhhHDQAgAUUNASACIAEgCCAQQQxsaiIBIB0QGiANIAcoAgAgASAdEBoMAQsgAQRAIAggEEEMbGoiAyEJIAEgAygCAGpBAWstAAAiBEF/cyEBIARBAWohBgJAIAMoAgQiBCACIBFqIgwtAAAiCyACLQAAIgprIg4gDkEfdSIOaiAOc00NACAJKAIIIg4gAiAbai0AACISIAtrIhMgE0EfdSITaiATc00NACAOIAIgHWotAAAiEyAKayIUIBRBH3UiFGogFHNNDQAgDCABIAYgCiALa0ECdCATayAS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AAEAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAABAAAAAQAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAABAAAADwAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAABAAAAAQAAAAEAAAABQAAAAQAAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAADAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAAEAAAACAAAAAQAAAAJAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAMAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAcAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAAQAAAAMAAAABAAAAA0AAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAA/wAAAAQAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADwAAAAIAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAMAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAD/AAAAAgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAACAAAA/wAAAAgAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAcAAAD/AAAAAgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAMAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAAAAAAABQAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAEAAAAKAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAsAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAABAAAAAQAAAAAAAAABwAAAP8AAAAAAAAA/wAAAAAAAAD/AEHUJwsVBwAAAAAAAAANAAAA/wAAAAAAAAD/AEH0JwsVBwAAAAQAAAACAAAA/wAAAAAAAAD/AEGUKAvZAQcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAADAAAAAgAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAMAAAACAAAAAwAQfgpCwUEAAAABABBiCoLJQQAAAAEAAAACAAAAAgAAAAMAAAADAAAAAgAAAAIAAAADAAAAAwAQbEuC8gGAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4CBgoOEhYaHiImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGx8jJysvMzc7P0NHS09TV1tfY2drb3N3e3+Dh4uPk5ebn6Onq6+zt7u/w8fLz9PX29/j5+vv8/f7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAQAAAAQAAAAFAAAAAgAAAAMAAAAGAAAABwAAAAgAAAAJAAAADAAAAA0AAAAKAAAACwAAAA4AAAAPAAAAAAAAAAEAAAABAEGENQshAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAQAAAAIAAAACAEG0NQsFBQAAAAQAQcQ1C8kGBwAAAAQAAAACAAAABAAAAAEAAAAEAAAABAAAAAQAAAADAAAABAAAAAYAAAAAAAAADQAAAAQAAAAIAAAAAAAAAA8AAAAEAAAACgAAAAQAAAAJAAAABAAAAAwAAAAEAAAACwAAAAQAAAAOAAAAAAAAABEAAAAEAAAAEAAAAAAAAAATAAAABAAAABIAAAAAAAAAFQAAAAQAAAAUAAAAAAAAABcAAAAEAAAAFgAAAAEAAAAKAAAAAQAAAAsAAAAEAAAAAAAAAAQAAAABAAAAAQAAAA4AAAABAAAADwAAAAQAAAAEAAAABAAAAAUAAAAEAAAAAgAAAAQAAAADAAAABAAAAAgAAAAEAAAACQAAAAQAAAAGAAAABAAAAAcAAAAEAAAADAAAAAQAAAANAAAAAQAAABIAAAABAAAAEwAAAAQAAAAQAAAABAAAABEAAAABAAAAFgAAAAEAAAAXAAAABAAAABQAAAAEAAAAFQAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAQAAABMAAAACAAAAEgAAAAQAAAARAAAA/wAAABAAAAABAAAAFwAAAAIAAAAWAAAABAAAABUAAAD/AAAAFAAAAAMAAAAPAAAAAQAAAAoAAAAAAAAABQAAAAQAAAAAAAAAAQAAAAsAAAABAAAADgAAAAQAAAABAAAABAAAAAQAAAAAAAAABwAAAAQAAAACAAAAAAAAAA0AAAAEAAAACAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAAQAAAAMAAAAAwAAABMAAAABAAAAEgAAAAAAAAARAAAABAAAABAAAAADAAAAFwAAAAEAAAAWAAAAAAAAABUAAAAEAAAAFAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwBBljwLLgEBAQEBAQICAgICAgMDAwMDAwQEBAQEBAUFBQUFBQYGBgYGBgcHBwcHBwgICAgAQdA8C0UKAAAADQAAABAAAAALAAAADgAAABIAAAANAAAAEAAAABQAAAAOAAAAEgAAABcAAAAQAAAAFAAAABkAAAASAAAAFwAAAB0AQaE9CzMBAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMEBQABAgMAQeQ9C8wCAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAABQAAAAVAAAAFgAAABcAAAAYAAAAGQAAABoAAAAbAAAAHAAAAB0AAAAdAAAAHgAAAB8AAAAgAAAAIAAAACEAAAAiAAAAIgAAACMAAAAjAAAAJAAAACQAAAAlAAAAJQAAACUAAAAmAAAAJgAAACYAAAAnAAAAJwAAACcAAAAnAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAvHw8AFxsdHgcLDQ4nKy0uEAMFCgwTFRocIyUqLAECBAgREhQYBgkWGSAhIiQoJikAEAECBAggAwUKDA8vBwsNDgYJHyMlKiwhIiQoJystLhESFBgTFRocFxsdHhYZJikAQbDAAAsDMCJQ";if(!M.startsWith(T)){var DA=M;M=A.locateFile?A.locateFile(DA,S):S+DA}function oA(){var I=M;try{if(I==M&&q)return new Uint8Array(q);var Q=aA(I);if(Q)return Q;if(N)return N(I);throw"both async and sync fetching of the wasm failed"}catch(a){W(a)}}function UA(){return q||typeof fetch!="function"?Promise.resolve().then(function(){return oA()}):fetch(M,{credentials:"same-origin"}).then(function(I){if(!I.ok)throw"failed to load wasm binary file at \'"+M+"\'";return I.arrayBuffer()}).catch(function(){return oA()})}var H,v;function _(I){for(;0<I.length;){var Q=I.shift();if(typeof Q=="function")Q(A);else{var a=Q.u;typeof a=="number"?Q.s===void 0?z.get(a)():z.get(a)(Q.s):a(Q.s===void 0?null:Q.s)}}}var kA=typeof atob=="function"?atob:function(I){var Q="",a=0;I=I.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(I.charAt(a++)),y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(I.charAt(a++)),k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(I.charAt(a++)),sA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(I.charAt(a++));t=t<<2|y>>4,y=(y&15)<<4|k>>2;var cA=(k&3)<<6|sA;Q+=String.fromCharCode(t),k!==64&&(Q+=String.fromCharCode(y)),sA!==64&&(Q+=String.fromCharCode(cA))}while(a<I.length);return Q};function aA(I){if(I.startsWith(T)){try{var Q=kA(I.slice(T.length)),a=new Uint8Array(Q.length);for(I=0;I<Q.length;++I)a[I]=Q.charCodeAt(I)}catch(t){throw Error("Converting base64 string to bytes failed.")}return a}}var JA={a:function(I,Q,a){r.copyWithin(I,Q,Q+a)},b:function(I){var Q=r.length;if(I>>>=0,2147483648<I)return!1;for(var a=1;4>=a;a*=2){var t=Q*(1+.2/a);t=Math.min(t,I+100663296),t=Math.max(I,t),0<t%65536&&(t+=65536-t%65536);A:{try{w.grow(Math.min(2147483648,t)-p.byteLength+65535>>>16),QA();var y=1;break A}catch(k){}y=void 0}if(y)return!0}return!1}};(function(){function I(y){A.asm=y.exports,w=A.asm.c,QA(),z=A.asm.r,EA.unshift(A.asm.d),K--,A.monitorRunDependencies&&A.monitorRunDependencies(K),K==0&&f&&(y=f,f=null,y())}function Q(y){I(y.instance)}function a(y){return UA().then(function(k){return WebAssembly.instantiate(k,t)}).then(y,function(k){L("failed to asynchronously prepare wasm: "+k),W(k)})}var t={a:JA};if(K++,A.monitorRunDependencies&&A.monitorRunDependencies(K),A.instantiateWasm)try{return A.instantiateWasm(t,I)}catch(y){return L("Module.instantiateWasm callback failed with error: "+y),!1}return function(){return q||typeof WebAssembly.instantiateStreaming!="function"||M.startsWith(T)||typeof fetch!="function"?a(Q):fetch(M,{credentials:"same-origin"}).then(function(y){return WebAssembly.instantiateStreaming(y,t).then(Q,function(k){return L("wasm streaming compile failed: "+k),L("falling back to ArrayBuffer instantiation"),a(Q)})})}().catch(E),{}})(),A.___wasm_call_ctors=function(){return(A.___wasm_call_ctors=A.asm.d).apply(null,arguments)},A._memcpy=function(){return(A._memcpy=A.asm.e).apply(null,arguments)},A._h264bsdInit=function(){return(A._h264bsdInit=A.asm.f).apply(null,arguments)},A._malloc=function(){return(A._malloc=A.asm.g).apply(null,arguments)},A._h264bsdDecode=function(){return(A._h264bsdDecode=A.asm.h).apply(null,arguments)},A._free=function(){return(A._free=A.asm.i).apply(null,arguments)},A._h264bsdShutdown=function(){return(A._h264bsdShutdown=A.asm.j).apply(null,arguments)},A._h264bsdNextOutputPicture=function(){return(A._h264bsdNextOutputPicture=A.asm.k).apply(null,arguments)},A._h264bsdNextOutputPictureRGBA=function(){return(A._h264bsdNextOutputPictureRGBA=A.asm.l).apply(null,arguments)},A._h264bsdPicWidth=function(){return(A._h264bsdPicWidth=A.asm.m).apply(null,arguments)},A._h264bsdPicHeight=function(){return(A._h264bsdPicHeight=A.asm.n).apply(null,arguments)},A._h264bsdCroppingParams=function(){return(A._h264bsdCroppingParams=A.asm.o).apply(null,arguments)},A._h264bsdAlloc=function(){return(A._h264bsdAlloc=A.asm.p).apply(null,arguments)},A._h264bsdFree=function(){return(A._h264bsdFree=A.asm.q).apply(null,arguments)},A.setValue=function(I,Q,a){switch(a=a||"i8",a.charAt(a.length-1)==="*"&&(a="i32"),a){case"i1":Y[I>>0]=Q;break;case"i8":Y[I>>0]=Q;break;case"i16":d[I>>1]=Q;break;case"i32":c[I>>2]=Q;break;case"i64":v=[Q>>>0,(H=Q,1<=+Math.abs(H)?0<H?(Math.min(+Math.floor(H/4294967296),4294967295)|0)>>>0:~~+Math.ceil((H-+(~~H>>>0))/4294967296)>>>0:0)],c[I>>2]=v[0],c[I+4>>2]=v[1];break;case"float":h[I>>2]=Q;break;case"double":m[I>>3]=Q;break;default:W("invalid type for setValue: "+a)}},A.getValue=function(I,Q){switch(Q=Q||"i8",Q.charAt(Q.length-1)==="*"&&(Q="i32"),Q){case"i1":return Y[I>>0];case"i8":return Y[I>>0];case"i16":return d[I>>1];case"i32":return c[I>>2];case"i64":return c[I>>2];case"float":return h[I>>2];case"double":return m[I>>3];default:W("invalid type for getValue: "+Q)}return null};var Z;f=function I(){Z||$(),Z||(f=I)};function $(){function I(){if(!Z&&(Z=!0,A.calledRun=!0,!O)){if(_(EA),C(A),A.onRuntimeInitialized&&A.onRuntimeInitialized(),A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;){var Q=A.postRun.shift();iA.unshift(Q)}_(iA)}}if(!(0<K)){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)LA();_(CA),0<K||(A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),I()},1)):I())}}if(A.run=$,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);0<A.preInit.length;)A.preInit.pop()();return $(),g.ready}}();const GA=B=>B>=3&&B<=15,NA=B=>{switch(B){case 5:return"Memory allocation error";case 4:return"Failed to activate param set";case 6:return"Byte stream error";case 7:return"NAL unit error";case 8:return"Access unit boundary check error";case 9:return"Pending activation error";case 10:return"Sequence parameter set error";case 11:return"Picture parameter set error";case 12:return"Slice header error";case 13:return"Slice data error";case 14:return"Gaps in frame num error";case 15:return"Reordering error";case 3:default:return"Decode error"}},b=class{constructor(g){o(this,"h264Module");o(this,"decoderInstancePointer",0);o(this,"inputBufferPointer",0);o(this,"inputBufferLength",1024*1024);o(this,"bytesRead",0);o(this,"isIdrPointer",0);o(this,"picIdPointer",0);o(this,"numErrMbs",0);o(this,"croppingPointers",{croppingFlag:0,leftOffset:0,width:0,topOffset:0,height:0});o(this,"parameters");o(this,"getParameters",()=>this.parameters);o(this,"unload",()=>{this.shutdownDecoder(),this.h264Module._free(this.inputBufferPointer),this.h264Module._free(this.bytesRead),this.h264Module._free(this.isIdrPointer),this.h264Module._free(this.picIdPointer),this.h264Module._free(this.numErrMbs),this.h264Module._free(this.croppingPointers.croppingFlag),this.h264Module._free(this.croppingPointers.leftOffset),this.h264Module._free(this.croppingPointers.width),this.h264Module._free(this.croppingPointers.topOffset),this.h264Module._free(this.croppingPointers.height),this.inputBufferPointer=0,this.bytesRead=0,this.isIdrPointer=0,this.picIdPointer=0,this.numErrMbs=0,this.decoderInstancePointer=0,this.croppingPointers={croppingFlag:0,leftOffset:0,width:0,topOffset:0,height:0}});o(this,"shutdownDecoder",()=>{this.decoderInstancePointer!=0&&(this.h264Module._h264bsdShutdown(this.decoderInstancePointer),this.h264Module._h264bsdFree(this.decoderInstancePointer)),this.parameters=void 0});o(this,"initDecoder",()=>{this.decoderInstancePointer=this.h264Module._h264bsdAlloc(),this.h264Module._h264bsdInit(this.decoderInstancePointer,0)});o(this,"decode",g=>{if(g.byteLength>this.inputBufferLength){const i=this.h264Module._malloc(g.byteLength);this.h264Module._free(this.inputBufferPointer),this.inputBufferPointer=i}this.h264Module.HEAPU8.set(g,this.inputBufferPointer);let A=g.byteLength,C=0,E=0;do E=this.h264Module._h264bsdDecode(this.decoderInstancePointer,this.inputBufferPointer+C,A,0,this.bytesRead),C=this.h264Module.getValue(this.bytesRead,"i32"),A-=C;while(A>0&&!GA(E));switch(E){case 0:case 1:case 2:{if(E===1)return this.receiveFrame();if(E===2)return this.receiveHeader()}break;case 1024:break;default:throw new Error(NA(E))}});o(this,"receiveFrame",()=>{const g=this.h264Module._h264bsdNextOutputPicture(this.decoderInstancePointer,this.picIdPointer,this.isIdrPointer,this.numErrMbs);if(!g)return;if(!this.parameters){const C=this.h264Module._h264bsdPicWidth(this.decoderInstancePointer)*16,E=this.h264Module._h264bsdPicHeight(this.decoderInstancePointer)*16;this.h264Module._h264bsdCroppingParams(this.decoderInstancePointer,this.croppingPointers.croppingFlag,this.croppingPointers.leftOffset,this.croppingPointers.width,this.croppingPointers.topOffset,this.croppingPointers.height);const i=this.h264Module.getValue(this.croppingPointers.croppingFlag,"i32"),s=this.h264Module.getValue(this.croppingPointers.leftOffset,"i32"),S=this.h264Module.getValue(this.croppingPointers.width,"i32"),N=this.h264Module.getValue(this.croppingPointers.topOffset,"i32"),L=this.h264Module.getValue(this.croppingPointers.height,"i32");this.parameters={width:C,height:E,cropping:i?{left:s,top:N,width:S,height:L}:void 0}}const A=this.parameters.width*this.parameters.height*3/2;return this.h264Module.HEAPU8.subarray(g,g+A)});o(this,"receiveHeader",()=>{});this.h264Module=g,this.initDecoder(),this.inputBufferPointer=this.h264Module._malloc(this.inputBufferLength),this.bytesRead=g._malloc(4),this.isIdrPointer=g._malloc(4),this.picIdPointer=g._malloc(4),this.numErrMbs=g._malloc(4),this.croppingPointers={croppingFlag:g._malloc(4),leftOffset:g._malloc(4),width:g._malloc(4),topOffset:g._malloc(4),height:g._malloc(4)}}};let l=b;o(l,"create",()=>P(b,null,function*(){return new b(yield hA())}));const FA="missing_init_segment";class yA extends Error{constructor(A,C,E={}){super(A);o(this,"props");o(this,"extra",{});o(this,"code",()=>this.props.code);o(this,"isFatal",()=>this.props.isFatal);o(this,"source",()=>this.props.source);o(this,"type",()=>{var A;return(A=this.props.type)!=null?A:"external"});o(this,"toStringifiable",()=>{var E;const A=this.source(),C=A instanceof Error?A.stack:this.stack;return gA(IA({},this.extra),{code:this.props.code,isFatal:this.props.isFatal,type:this.props.type,message:this.message,sourceMessage:(E=this.source())==null?void 0:E.message,stack:C})});this.props=C,this.extra=E,Object.setPrototypeOf(this,new.target.prototype)}}const tA=(B,g)=>new yA(`No init segment for rendition id ${B} for channel ${g}`,{isFatal:!1,code:FA,type:"internal"}),BA=B=>{const{pictureParameterSets:g,sequenceParameterSets:A}=J(B.data),C=[...A,...g],E=new Uint8Array(C.reduce((s,S)=>s+S.byteLength+4,0));let i=0;return C.forEach(s=>{E[0+i]=0,E[1+i]=0,E[2+i]=0,E[3+i]=1,E.set(new Uint8Array(s),i+4),i+=s.byteLength+4}),E},x=class{constructor(g){o(this,"decodedSamples",[]);o(this,"decoder");o(this,"initSegments",new Map);o(this,"previousSample");o(this,"isWaitingForSync",!0);o(this,"unload",()=>{this.decoder.unload()});o(this,"initSegment",g=>{this.initSegments.set(g.renditionId,g)});o(this,"enqueue",g=>{var S,N,L,q;const A=this.initSegments.get(g.renditionId);if(!A)throw tA(g.renditionId,g.channelId);const C=((S=this.previousSample)==null?void 0:S.width)!==g.width||((N=this.previousSample)==null?void 0:N.height)!==g.height,E=((L=this.previousSample)==null?void 0:L.channelId)!==g.channelId,i=((q=this.previousSample)==null?void 0:q.renditionId)!==g.renditionId;if(this.previousSample){if(E||i||C){this.decoder.shutdownDecoder(),this.decoder.initDecoder();const w=BA(A);this.decoder.decode(w),this.isWaitingForSync=!0}}else{const w=BA(A);this.decoder.decode(w),this.isWaitingForSync=!0}if(this.previousSample){const w=this.previousSample;g.timestamp/g.timescale>(w.timestamp+w.duration*2)/w.timescale&&(this.isWaitingForSync=!0)}if(this.previousSample=g,this.isWaitingForSync&&!g.isSync)return;this.isWaitingForSync=!1;const s=Date.now();n(g.data,w=>{var Y,r,d,c;const O=new Uint8Array(w.buffer,w.byteOffset,w.byteLength),p=this.decoder.decode(O);if(p){if(!g.buffer)throw new Error("Expected sample to contain buffer");const h=this.decoder.getParameters();if(new Uint8Array(g.buffer).set(p),h){const m=[new Uint8Array(g.buffer,0,h.width*h.height),new Uint8Array(g.buffer,h.width*h.height,h.width/2*h.height/2),new Uint8Array(g.buffer,h.width*h.height+h.width/2*h.height/2,h.width/2*h.height/2)];this.decodedSamples.push(gA(IA({},g),{buffer:g.buffer,type:"video",format:"yuv420",colorPrimaries:"bt709",width:(r=(Y=h.cropping)==null?void 0:Y.width)!=null?r:h.width,height:(c=(d=h.cropping)==null?void 0:d.height)!=null?c:h.height,codedWidth:h.width,codedHeight:h.height,data:m,statistics:{decodeTime:Date.now()-s,transportTimeFromWorker:0,transportTimeToWorker:0,samplesInBatch:1}}))}}return!0})});o(this,"take",()=>this.decodedSamples.shift());this.decoder=g}};let u=x;o(u,"create",()=>P(x,null,function*(){return new x(yield l.create())}));const U=self,wA=()=>P(this,null,function*(){try{U.decoder=yield u.create(),U.postMessage({type:"ready"})}catch(B){U.postMessage({type:"error",message:B instanceof Error?B.message:void 0})}}),RA=B=>{const g=B;g.data=null};wA(),U.addEventListener("message",B=>{var g,A,C;switch(B.data.type){case"decode samples":try{const E=Date.now()-B.data.timestamp,i=[];B.data.samples.map(N=>{var L;return(L=U.decoder)==null?void 0:L.enqueue(N)});let s;for(;s=(g=U.decoder)==null?void 0:g.take();)s.statistics&&(s.statistics.transportTimeToWorker=E,s.statistics.samplesInBatch=B.data.samples.length),i.push(s);const S=i.map(N=>N.buffer);B.data.samples.map(N=>RA(N)),U.postMessage({type:"decoded samples",samples:i,timestamp:Date.now(),samplesProcessedCount:B.data.samples.length},S)}catch(E){U.postMessage({type:"error",message:E instanceof Error?E.message:void 0})}break;case"unload":(A=U.decoder)==null||A.unload(),U.decoder=void 0;break;case"init segment":(C=U.decoder)==null||C.initSegment(B.data.initSegment);break}})})(); '],{type:'application/javascript'})));
2430
2428
  return yield new Promise((g, s) => {
2431
2429
  const I = (B) => {
@@ -2440,9 +2438,9 @@ t(ge, "create", (A) => u(Se, null, function* () {
2440
2438
  }
2441
2439
  };
2442
2440
  e.addEventListener("message", I);
2443
- }), new Se(e, A);
2441
+ }), new De(e, A);
2444
2442
  }));
2445
- var CB = function() {
2443
+ var QB = function() {
2446
2444
  var i = typeof document != "undefined" && document.currentScript ? document.currentScript.src : void 0;
2447
2445
  return function(A) {
2448
2446
  A = A || {};
@@ -2463,7 +2461,7 @@ var CB = function() {
2463
2461
  I = null;
2464
2462
  var a;
2465
2463
  e.wasmBinary && (a = e.wasmBinary), e.noExitRuntime, typeof WebAssembly != "object" && _("no native wasm support detected");
2466
- var Q, h = !1, l = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0, m, D, S, q = [], H = [], G = [];
2464
+ var Q, h = !1, u = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : void 0, l, D, S, q = [], H = [], G = [];
2467
2465
  function K() {
2468
2466
  var c = e.preRun.shift();
2469
2467
  q.unshift(c);
@@ -2497,9 +2495,9 @@ var CB = function() {
2497
2495
  }
2498
2496
  else
2499
2497
  L = void 0;
2500
- var p = L;
2501
- if (p)
2502
- return p;
2498
+ var F = L;
2499
+ if (F)
2500
+ return F;
2503
2501
  throw "both async and sync fetching of the wasm failed";
2504
2502
  } catch (M) {
2505
2503
  _(M);
@@ -2531,69 +2529,69 @@ var CB = function() {
2531
2529
  var f = "", R = 0;
2532
2530
  c = c.replace(/[^A-Za-z0-9\+\/=]/g, "");
2533
2531
  do {
2534
- var L = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), p = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), M = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), uA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++));
2535
- L = L << 2 | p >> 4, p = (p & 15) << 4 | M >> 2;
2532
+ var L = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), F = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), M = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++)), uA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(c.charAt(R++));
2533
+ L = L << 2 | F >> 4, F = (F & 15) << 4 | M >> 2;
2536
2534
  var zA = (M & 3) << 6 | uA;
2537
- f += String.fromCharCode(L), M !== 64 && (f += String.fromCharCode(p)), uA !== 64 && (f += String.fromCharCode(zA));
2535
+ f += String.fromCharCode(L), M !== 64 && (f += String.fromCharCode(F)), uA !== 64 && (f += String.fromCharCode(zA));
2538
2536
  } while (R < c.length);
2539
2537
  return f;
2540
2538
  }, lA = { d: function() {
2541
2539
  _();
2542
2540
  }, f: function(c, f, R) {
2543
- m.copyWithin(c, f, f + R);
2541
+ l.copyWithin(c, f, f + R);
2544
2542
  }, c: function() {
2545
2543
  return !1;
2546
2544
  }, e: function() {
2547
2545
  return 0;
2548
2546
  }, b: function() {
2549
2547
  }, a: function(c, f, R, L) {
2550
- for (var p = 0, M = 0; M < R; M++) {
2551
- for (var uA = D[f + 8 * M >> 2], zA = D[f + (8 * M + 4) >> 2], Ue = 0; Ue < zA; Ue++) {
2552
- var UA = m[uA + Ue], be = N[c];
2548
+ for (var F = 0, M = 0; M < R; M++) {
2549
+ for (var uA = D[f + 8 * M >> 2], zA = D[f + (8 * M + 4) >> 2], be = 0; be < zA; be++) {
2550
+ var UA = l[uA + be], Je = N[c];
2553
2551
  if (UA === 0 || UA === 10) {
2554
2552
  UA = c === 1 ? o : C;
2555
- for (var AA = be, tA = 0, BA = tA + NaN, mA = tA; AA[mA] && !(mA >= BA); )
2553
+ for (var AA = Je, tA = 0, BA = tA + NaN, mA = tA; AA[mA] && !(mA >= BA); )
2556
2554
  ++mA;
2557
- if (16 < mA - tA && AA.subarray && l)
2558
- AA = l.decode(AA.subarray(tA, mA));
2555
+ if (16 < mA - tA && AA.subarray && u)
2556
+ AA = u.decode(AA.subarray(tA, mA));
2559
2557
  else {
2560
2558
  for (BA = ""; tA < mA; ) {
2561
2559
  var Z = AA[tA++];
2562
2560
  if (Z & 128) {
2563
- var Je = AA[tA++] & 63;
2561
+ var Le = AA[tA++] & 63;
2564
2562
  if ((Z & 224) == 192)
2565
- BA += String.fromCharCode((Z & 31) << 6 | Je);
2563
+ BA += String.fromCharCode((Z & 31) << 6 | Le);
2566
2564
  else {
2567
- var Ft = AA[tA++] & 63;
2568
- Z = (Z & 240) == 224 ? (Z & 15) << 12 | Je << 6 | Ft : (Z & 7) << 18 | Je << 12 | Ft << 6 | AA[tA++] & 63, 65536 > Z ? BA += String.fromCharCode(Z) : (Z -= 65536, BA += String.fromCharCode(55296 | Z >> 10, 56320 | Z & 1023));
2565
+ var yt = AA[tA++] & 63;
2566
+ Z = (Z & 240) == 224 ? (Z & 15) << 12 | Le << 6 | yt : (Z & 7) << 18 | Le << 12 | yt << 6 | AA[tA++] & 63, 65536 > Z ? BA += String.fromCharCode(Z) : (Z -= 65536, BA += String.fromCharCode(55296 | Z >> 10, 56320 | Z & 1023));
2569
2567
  }
2570
2568
  } else
2571
2569
  BA += String.fromCharCode(Z);
2572
2570
  }
2573
2571
  AA = BA;
2574
2572
  }
2575
- UA(AA), be.length = 0;
2573
+ UA(AA), Je.length = 0;
2576
2574
  } else
2577
- be.push(UA);
2575
+ Je.push(UA);
2578
2576
  }
2579
- p += zA;
2577
+ F += zA;
2580
2578
  }
2581
- return D[L >> 2] = p, 0;
2579
+ return D[L >> 2] = F, 0;
2582
2580
  } };
2583
2581
  (function() {
2584
- function c(p) {
2585
- e.asm = p.exports, Q = e.asm.g, p = Q.buffer, e.HEAP8 = new Int8Array(p), e.HEAP16 = new Int16Array(p), e.HEAP32 = D = new Int32Array(p), e.HEAPU8 = m = new Uint8Array(p), e.HEAPU16 = new Uint16Array(p), e.HEAPU32 = new Uint32Array(p), e.HEAPF32 = new Float32Array(p), e.HEAPF64 = new Float64Array(p), S = e.asm.n, H.unshift(e.asm.h), T--, e.monitorRunDependencies && e.monitorRunDependencies(T), T == 0 && Y && (p = Y, Y = null, p());
2582
+ function c(F) {
2583
+ e.asm = F.exports, Q = e.asm.g, F = Q.buffer, e.HEAP8 = new Int8Array(F), e.HEAP16 = new Int16Array(F), e.HEAP32 = D = new Int32Array(F), e.HEAPU8 = l = new Uint8Array(F), e.HEAPU16 = new Uint16Array(F), e.HEAPU32 = new Uint32Array(F), e.HEAPF32 = new Float32Array(F), e.HEAPF64 = new Float64Array(F), S = e.asm.n, H.unshift(e.asm.h), T--, e.monitorRunDependencies && e.monitorRunDependencies(T), T == 0 && Y && (F = Y, Y = null, F());
2586
2584
  }
2587
- function f(p) {
2588
- c(p.instance);
2585
+ function f(F) {
2586
+ c(F.instance);
2589
2587
  }
2590
- function R(p) {
2588
+ function R(F) {
2591
2589
  return U().then(function(M) {
2592
2590
  return WebAssembly.instantiate(
2593
2591
  M,
2594
2592
  L
2595
2593
  );
2596
- }).then(p, function(M) {
2594
+ }).then(F, function(M) {
2597
2595
  C("failed to asynchronously prepare wasm: " + M), _(M);
2598
2596
  });
2599
2597
  }
@@ -2601,12 +2599,12 @@ var CB = function() {
2601
2599
  if (T++, e.monitorRunDependencies && e.monitorRunDependencies(T), e.instantiateWasm)
2602
2600
  try {
2603
2601
  return e.instantiateWasm(L, c);
2604
- } catch (p) {
2605
- return C("Module.instantiateWasm callback failed with error: " + p), !1;
2602
+ } catch (F) {
2603
+ return C("Module.instantiateWasm callback failed with error: " + F), !1;
2606
2604
  }
2607
2605
  return function() {
2608
- return a || typeof WebAssembly.instantiateStreaming != "function" || $(E) || typeof fetch != "function" ? R(f) : fetch(E, { credentials: "same-origin" }).then(function(p) {
2609
- return WebAssembly.instantiateStreaming(p, L).then(
2606
+ return a || typeof WebAssembly.instantiateStreaming != "function" || $(E) || typeof fetch != "function" ? R(f) : fetch(E, { credentials: "same-origin" }).then(function(F) {
2607
+ return WebAssembly.instantiateStreaming(F, L).then(
2610
2608
  f,
2611
2609
  function(M) {
2612
2610
  return C("wasm streaming compile failed: " + M), C("falling back to ArrayBuffer instantiation"), R(f);
@@ -2658,7 +2656,7 @@ var CB = function() {
2658
2656
  e.preInit.pop()();
2659
2657
  return eA(), A.ready;
2660
2658
  };
2661
- }(), Eg = /* @__PURE__ */ ((i) => (i[i.OK = 0] = "OK", i[i["Bad argument"] = -1] = "Bad argument", i[i["Buffer too small"] = -2] = "Buffer too small", i[i["Internal error"] = -3] = "Internal error", i[i["Invalid packet"] = -4] = "Invalid packet", i[i.Unimplemented = -5] = "Unimplemented", i[i["Invalid state"] = -6] = "Invalid state", i[i["Memory allocation fail"] = -7] = "Memory allocation fail", i))(Eg || {});
2659
+ }(), rg = /* @__PURE__ */ ((i) => (i[i.OK = 0] = "OK", i[i["Bad argument"] = -1] = "Bad argument", i[i["Buffer too small"] = -2] = "Buffer too small", i[i["Internal error"] = -3] = "Internal error", i[i["Invalid packet"] = -4] = "Invalid packet", i[i.Unimplemented = -5] = "Unimplemented", i[i["Invalid state"] = -6] = "Invalid state", i[i["Memory allocation fail"] = -7] = "Memory allocation fail", i))(rg || {});
2662
2660
  const gA = class {
2663
2661
  constructor(A, e, g) {
2664
2662
  t(this, "opusModule");
@@ -2684,7 +2682,7 @@ const gA = class {
2684
2682
  0
2685
2683
  );
2686
2684
  if (e < 0)
2687
- throw new Error(Eg[e]);
2685
+ throw new Error(rg[e]);
2688
2686
  return this.pcm.subarray(0, e * this.channels);
2689
2687
  });
2690
2688
  this.opusModule = A, this.channels = g, this.sampleRate = e, this.decoderInstance = this.opusModule._opus_decoder_create(e, g, 0), this.opusBufferPointer = this.opusModule._malloc(gA.MAX_OPUS_BUFFER), this.opus = this.opusModule.HEAPU8.subarray(
@@ -2699,10 +2697,10 @@ const gA = class {
2699
2697
  }
2700
2698
  };
2701
2699
  let FA = gA;
2702
- t(FA, "MAX_OPUS_BUFFER", 1e3 * 1e3), t(FA, "MAX_SAMPLES", 6 * 960), t(FA, "create", (A, e) => u(gA, null, function* () {
2703
- return new gA(yield CB(), A, e);
2700
+ t(FA, "MAX_OPUS_BUFFER", 1e3 * 1e3), t(FA, "MAX_SAMPLES", 6 * 960), t(FA, "create", (A, e) => m(gA, null, function* () {
2701
+ return new gA(yield QB(), A, e);
2704
2702
  }));
2705
- const De = class {
2703
+ const fe = class {
2706
2704
  constructor(A) {
2707
2705
  t(this, "decodedSamples", []);
2708
2706
  t(this, "decoder");
@@ -2725,7 +2723,7 @@ const De = class {
2725
2723
  }
2726
2724
  }));
2727
2725
  } catch (e) {
2728
- e instanceof Error && this.errors.push(Ag(!1, e));
2726
+ e instanceof Error && this.errors.push(eg(!1, e));
2729
2727
  }
2730
2728
  });
2731
2729
  t(this, "initSegment", j);
@@ -2736,9 +2734,9 @@ const De = class {
2736
2734
  return this.errors.pop();
2737
2735
  }
2738
2736
  };
2739
- let se = De;
2740
- t(se, "create", (A, e) => u(De, null, function* () {
2741
- return new De(yield FA.create(A, e));
2737
+ let se = fe;
2738
+ t(se, "create", (A, e) => m(fe, null, function* () {
2739
+ return new fe(yield FA.create(A, e));
2742
2740
  }));
2743
2741
  const rA = class {
2744
2742
  constructor(A, e, g, s) {
@@ -2783,7 +2781,7 @@ const rA = class {
2783
2781
  var g;
2784
2782
  const e = (g = this.trackContexts.get(A.type)) == null ? void 0 : g.decoderContext;
2785
2783
  if (!e)
2786
- throw new F("No known decoder context", {
2784
+ throw new p("No known decoder context", {
2787
2785
  code: "no_known_decoder_context",
2788
2786
  isFatal: !1
2789
2787
  });
@@ -2792,7 +2790,7 @@ const rA = class {
2792
2790
  t(this, "decode", (A) => {
2793
2791
  const e = this.trackContexts.get(A.type);
2794
2792
  if (!e)
2795
- throw new F("No known decoder context", {
2793
+ throw new p("No known decoder context", {
2796
2794
  code: "no_known_decoder_context",
2797
2795
  isFatal: !1
2798
2796
  });
@@ -2808,7 +2806,7 @@ const rA = class {
2808
2806
  var s, I;
2809
2807
  let g;
2810
2808
  for (; (g = (I = (s = e.decoderContext).error) == null ? void 0 : I.call(s)) !== void 0; )
2811
- this.emitter.emit("error", Ag(!1, g));
2809
+ this.emitter.emit("error", eg(!1, g));
2812
2810
  for (; (A = e.decoderContext.take()) !== void 0; ) {
2813
2811
  const { statistics: B } = A;
2814
2812
  B && (e.decodeTime.push(B.decodeTime), e.transportTime.push(
@@ -2845,7 +2843,7 @@ const rA = class {
2845
2843
  }
2846
2844
  };
2847
2845
  let QA = rA;
2848
- t(QA, "BUFFER_GAP_THRESHOLD", 5), t(QA, "DECODED_FRAMES_CHECK_INTERVAL", 100), t(QA, "DECODE_RATE_INTERVAL", 1e3), t(QA, "create", (A, e, g, s, I) => u(rA, null, function* () {
2846
+ t(QA, "BUFFER_GAP_THRESHOLD", 5), t(QA, "DECODED_FRAMES_CHECK_INTERVAL", 100), t(QA, "DECODE_RATE_INTERVAL", 1e3), t(QA, "create", (A, e, g, s, I) => m(rA, null, function* () {
2849
2847
  const B = /* @__PURE__ */ new Map();
2850
2848
  for (const n of g)
2851
2849
  switch (n.type) {
@@ -2870,7 +2868,7 @@ t(QA, "BUFFER_GAP_THRESHOLD", 5), t(QA, "DECODED_FRAMES_CHECK_INTERVAL", 100), t
2870
2868
  }
2871
2869
  return new rA(A, e, B, s);
2872
2870
  }));
2873
- const Ct = class {
2871
+ const Qt = class {
2874
2872
  constructor(A) {
2875
2873
  t(this, "emitter");
2876
2874
  t(this, "isVisibleCount", 0);
@@ -2920,14 +2918,14 @@ const Ct = class {
2920
2918
  return document.visibilityState === "visible";
2921
2919
  }
2922
2920
  };
2923
- let Ie = Ct;
2924
- t(Ie, "create", (A) => new Ct(A));
2925
- const QB = (i) => (A, e, g) => A.timestamp <= e || A.timestampAdded <= g - i, KA = class {
2921
+ let Ie = Qt;
2922
+ t(Ie, "create", (A) => new Qt(A));
2923
+ const aB = (i) => (A, e, g) => A.timestamp <= e || A.timestampAdded <= g - i, KA = class {
2926
2924
  constructor(A, e, g) {
2927
2925
  t(this, "logger");
2928
2926
  t(this, "emitter");
2929
2927
  t(this, "waitingEvents", []);
2930
- t(this, "isTriggered", QB(KA.EVENT_TIMEOUT));
2928
+ t(this, "isTriggered", aB(KA.EVENT_TIMEOUT));
2931
2929
  t(this, "timeSource");
2932
2930
  t(this, "timers", new x());
2933
2931
  t(this, "load", () => {
@@ -2990,7 +2988,7 @@ const hA = class {
2990
2988
  });
2991
2989
  t(this, "add", (A, e) => {
2992
2990
  let g = this.bytesReceived.get(A);
2993
- g || (g = new Rg(20), this.bytesReceived.set(A, g)), e > 0 && (this.lastBytesUpdated = Date.now(), this.timeoutInterval || (this.timeoutInterval = this.timers.setInterval(
2991
+ g || (g = new Gg(20), this.bytesReceived.set(A, g)), e > 0 && (this.lastBytesUpdated = Date.now(), this.timeoutInterval || (this.timeoutInterval = this.timers.setInterval(
2994
2992
  this.checkTimeout,
2995
2993
  hA.UPDATE_RECEIVED_BYTES_INTERVAL
2996
2994
  ))), g.add(e);
@@ -3009,7 +3007,7 @@ const hA = class {
3009
3007
  t(this, "checkTimeout", () => {
3010
3008
  const A = Date.now() - this.lastBytesUpdated;
3011
3009
  if (this.totalBytesReceived() === 0 && A > hA.NO_DATA_ERROR_TIMEOUT) {
3012
- this.emitter.emit("error", os()), this.emitter.emit("reconnect", "no incoming data"), this.clearTimeoutInterval();
3010
+ this.emitter.emit("error", Qs()), this.emitter.emit("reconnect", "no incoming data"), this.clearTimeoutInterval();
3013
3011
  return;
3014
3012
  }
3015
3013
  A > hA.NO_DATA_TIMEOUT && this.totalBytesReceived() > 0 && (this.emitter.emit("no data timeout", this.totalBytesReceived()), this.clearTimeoutInterval());
@@ -3022,10 +3020,10 @@ const hA = class {
3022
3020
  };
3023
3021
  let aA = hA;
3024
3022
  t(aA, "NO_DATA_ERROR_TIMEOUT", 20 * 1e3), t(aA, "NO_DATA_TIMEOUT", 5 * 1e3), t(aA, "UPDATE_RECEIVED_BYTES_INTERVAL", 1e3), t(aA, "create", (A) => new hA(A));
3025
- const aB = window.AudioContext || window.webkitAudioContext, Qt = class extends z {
3023
+ const EB = window.AudioContext || window.webkitAudioContext, at = class extends z {
3026
3024
  constructor() {
3027
3025
  super();
3028
- t(this, "context", new aB());
3026
+ t(this, "context", new EB());
3029
3027
  t(this, "timers", x.create());
3030
3028
  t(this, "previousCurrentTime", 0);
3031
3029
  t(this, "_isStuck", !1);
@@ -3036,17 +3034,17 @@ const aB = window.AudioContext || window.webkitAudioContext, Qt = class extends
3036
3034
  t(this, "createBufferSource", () => this.context.createBufferSource());
3037
3035
  t(this, "getMediaStreamDestination", () => (this.mediaStreamDestination || (this.mediaStreamDestination = this.context.createMediaStreamDestination()), this.mediaStreamDestination));
3038
3036
  t(this, "getDefaultDestination", () => this.context.destination);
3039
- t(this, "resume", () => u(this, null, function* () {
3040
- yield Promise.race([this.context.resume(), Jg(1e3, Is())]);
3037
+ t(this, "resume", () => m(this, null, function* () {
3038
+ yield Promise.race([this.context.resume(), Lg(1e3, ns())]);
3041
3039
  }));
3042
- t(this, "suspend", () => u(this, null, function* () {
3040
+ t(this, "suspend", () => m(this, null, function* () {
3043
3041
  var e;
3044
3042
  yield (e = this.context.suspend()) != null ? e : Promise.resolve();
3045
3043
  }));
3046
3044
  t(this, "onStateChange", () => this.emit("state", this.state));
3047
3045
  this.context.addEventListener("statechange", this.onStateChange), this.timers.setInterval(() => {
3048
3046
  this._isStuck = this.isRunning && this.context.currentTime === this.previousCurrentTime, this._isStuck && this.emit("stuck"), this.previousCurrentTime = this.context.currentTime;
3049
- }, Qt.CHECK_INTERVAL);
3047
+ }, at.CHECK_INTERVAL);
3050
3048
  }
3051
3049
  get isStuck() {
3052
3050
  return this._isStuck;
@@ -3064,9 +3062,9 @@ const aB = window.AudioContext || window.webkitAudioContext, Qt = class extends
3064
3062
  return this.context.state;
3065
3063
  }
3066
3064
  };
3067
- let Be = Qt;
3065
+ let Be = at;
3068
3066
  t(Be, "CHECK_INTERVAL", 1e3);
3069
- const at = class extends z {
3067
+ const Et = class extends z {
3070
3068
  constructor(e, g, { muted: s, reInitWhenStuck: I }) {
3071
3069
  super();
3072
3070
  t(this, "logger");
@@ -3089,7 +3087,7 @@ const at = class extends z {
3089
3087
  t(this, "reInitWhenStuck");
3090
3088
  t(this, "ignoreSuspendCalls", !1);
3091
3089
  t(this, "isActivated", !1);
3092
- t(this, "unload", () => u(this, null, function* () {
3090
+ t(this, "unload", () => m(this, null, function* () {
3093
3091
  var e, g;
3094
3092
  (e = this.gainNode) == null || e.disconnect(), yield (g = this.audio) == null ? void 0 : g.unload(), this.reset(), this.audio = void 0, this.gainNode = void 0;
3095
3093
  }));
@@ -3098,7 +3096,7 @@ const at = class extends z {
3098
3096
  });
3099
3097
  t(this, "unsuspend", () => {
3100
3098
  var e;
3101
- this.setGain(this._volume), this.ignoreSuspendCalls = !!this.audio, (e = this.audio) == null || e.suspend().then(() => u(this, null, function* () {
3099
+ this.setGain(this._volume), this.ignoreSuspendCalls = !!this.audio, (e = this.audio) == null || e.suspend().then(() => m(this, null, function* () {
3102
3100
  yield this.resume(), this.ignoreSuspendCalls = !1;
3103
3101
  })).catch(() => {
3104
3102
  this.ignoreSuspendCalls = !1, this.emit("state change", "suspended");
@@ -3106,7 +3104,7 @@ const at = class extends z {
3106
3104
  });
3107
3105
  t(this, "flush", () => {
3108
3106
  if (!this.audio || !this.gainNode)
3109
- throw new F("AudioContext must be initialized to flush", {
3107
+ throw new p("AudioContext must be initialized to flush", {
3110
3108
  isFatal: !1,
3111
3109
  code: "audiocontext_must_be_initialized"
3112
3110
  });
@@ -3148,7 +3146,7 @@ const at = class extends z {
3148
3146
  this.samples.set(e.data, this.index), this.index += e.data.length, this.channels = e.channels, this.sampleRate = e.sampleRate, this.samples.length <= this.index && (this.index = 0, this.flush());
3149
3147
  }
3150
3148
  });
3151
- t(this, "play", () => u(this, null, function* () {
3149
+ t(this, "play", () => m(this, null, function* () {
3152
3150
  this.audio = this.getAudioContext(), yield this.resume();
3153
3151
  }));
3154
3152
  t(this, "pause", () => {
@@ -3156,7 +3154,7 @@ const at = class extends z {
3156
3154
  t(this, "flushBuffer", () => {
3157
3155
  this.unplayedBufferSources.items().forEach(([e, g]) => g.stop()), this.index = 0;
3158
3156
  });
3159
- t(this, "resume", () => u(this, null, function* () {
3157
+ t(this, "resume", () => m(this, null, function* () {
3160
3158
  var e;
3161
3159
  if (!this._userProvidedMuted)
3162
3160
  try {
@@ -3223,9 +3221,9 @@ const at = class extends z {
3223
3221
  return (s = this.gainNode) == null || s.connect(g), g;
3224
3222
  }
3225
3223
  };
3226
- let HA = at;
3227
- t(HA, "create", (e, g, s) => new at(e, g, s));
3228
- const xt = `
3224
+ let HA = Et;
3225
+ t(HA, "create", (e, g, s) => new Et(e, g, s));
3226
+ const Wt = `
3229
3227
  precision mediump float;
3230
3228
  uniform sampler2D y_texture;
3231
3229
  uniform sampler2D u_texture;
@@ -3241,7 +3239,7 @@ void main() {
3241
3239
 
3242
3240
  gl_FragColor = vec4(y, u, v, 1) * conversion;
3243
3241
  }
3244
- `, Wt = `
3242
+ `, Vt = `
3245
3243
  attribute vec2 position;
3246
3244
  varying vec2 texture_coordinate;
3247
3245
  uniform mat4 model;
@@ -3250,10 +3248,10 @@ void main() {
3250
3248
  texture_coordinate = position;
3251
3249
  gl_Position = model * vec4(position, 0.0, 1.0);
3252
3250
  }
3253
- `, Vt = (i, A) => {
3251
+ `, Zt = (i, A) => {
3254
3252
  let e = i.getContext("webgl", A);
3255
3253
  if (e || (e = i.getContext("experimental-webgl", A)), !e)
3256
- throw new F("Failed to create webgl context", {
3254
+ throw new p("Failed to create webgl context", {
3257
3255
  isFatal: !0,
3258
3256
  code: "failed_to_create_web_gl_context"
3259
3257
  });
@@ -3261,10 +3259,10 @@ void main() {
3261
3259
  }, $A = (i, A, e) => {
3262
3260
  const g = i.createShader(A);
3263
3261
  if (!g)
3264
- throw new F("Failed to create shader", { isFatal: !0, code: "failed_to_create_shader" });
3262
+ throw new p("Failed to create shader", { isFatal: !0, code: "failed_to_create_shader" });
3265
3263
  if (i.shaderSource(g, e), i.compileShader(g), !i.getShaderParameter(g, i.COMPILE_STATUS)) {
3266
3264
  const s = i.getShaderInfoLog(g);
3267
- throw new F(`Failed to compile shader: ${s != null ? s : ""}`, {
3265
+ throw new p(`Failed to compile shader: ${s != null ? s : ""}`, {
3268
3266
  isFatal: !0,
3269
3267
  code: "failed_to_compile_shader"
3270
3268
  });
@@ -3273,79 +3271,87 @@ void main() {
3273
3271
  }, DA = (i) => {
3274
3272
  const A = i.createTexture();
3275
3273
  if (!A)
3276
- throw new F("Failed to create texture", {
3274
+ throw new p("Failed to create texture", {
3277
3275
  isFatal: !0,
3278
3276
  code: "failed_to_create_texture"
3279
3277
  });
3280
3278
  return i.bindTexture(i.TEXTURE_2D, A), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MAG_FILTER, i.NEAREST), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MIN_FILTER, i.NEAREST), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_S, i.CLAMP_TO_EDGE), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_T, i.CLAMP_TO_EDGE), A;
3281
- }, Zt = (i, A) => {
3279
+ }, Ot = (i, A) => {
3282
3280
  const e = i.createBuffer();
3283
3281
  if (!e)
3284
- throw new F("Failed to create buffer", {
3282
+ throw new p("Failed to create buffer", {
3285
3283
  isFatal: !0,
3286
3284
  code: "failed_to_create_buffer"
3287
3285
  });
3288
3286
  return i.bindBuffer(i.ARRAY_BUFFER, e), i.bufferData(i.ARRAY_BUFFER, A.buffer, i.STATIC_DRAW), e;
3289
- }, Ot = (i, A, e) => {
3287
+ }, Xt = (i, A, e) => {
3290
3288
  const g = i.createProgram();
3291
3289
  if (!g)
3292
- throw new F("Failed to create program", {
3290
+ throw new p("Failed to create program", {
3293
3291
  isFatal: !0,
3294
3292
  code: "failed_to_create_program"
3295
3293
  });
3296
3294
  if (i.attachShader(g, e), i.attachShader(g, A), i.linkProgram(g), !i.getProgramParameter(g, i.LINK_STATUS)) {
3297
3295
  const s = i.getShaderInfoLog(g);
3298
- throw new F(`Failed to link program: ${s != null ? s : ""}`, {
3296
+ throw new p(`Failed to link program: ${s != null ? s : ""}`, {
3299
3297
  isFatal: !0,
3300
3298
  code: "failed_to_link_program"
3301
3299
  });
3302
3300
  }
3303
3301
  return g;
3304
- }, Xt = {
3302
+ }, zt = {
3305
3303
  width: 256,
3306
3304
  codedWidth: 256,
3307
3305
  height: 144,
3308
3306
  codedHeight: 144
3309
- }, zt = {
3307
+ }, jt = {
3310
3308
  preserveDrawingBuffer: !1,
3311
3309
  alpha: !1,
3312
3310
  depth: !1,
3313
3311
  stencil: !1,
3314
3312
  antialias: !1,
3315
3313
  premultipliedAlpha: !1
3316
- }, fe = class extends z {
3314
+ }, pe = class extends z {
3317
3315
  constructor() {
3318
3316
  super();
3319
3317
  t(this, "canvas", document.createElement("canvas"));
3320
- t(this, "context", Vt(this.canvas, zt));
3321
- t(this, "pixelShader", $A(this.context, this.context.FRAGMENT_SHADER, xt));
3322
- t(this, "vertexShader", $A(this.context, this.context.VERTEX_SHADER, Wt));
3323
- t(this, "buffer", Zt(this.context, fe.SQUARE_VERTICES));
3324
- t(this, "program", Ot(this.context, this.vertexShader, this.pixelShader));
3318
+ t(this, "context", Zt(this.canvas, jt));
3319
+ t(this, "pixelShader", $A(this.context, this.context.FRAGMENT_SHADER, Wt));
3320
+ t(this, "vertexShader", $A(this.context, this.context.VERTEX_SHADER, Vt));
3321
+ t(this, "buffer", Ot(this.context, pe.SQUARE_VERTICES));
3322
+ t(this, "program", Xt(this.context, this.vertexShader, this.pixelShader));
3325
3323
  t(this, "textures", {
3326
3324
  y: DA(this.context),
3327
3325
  u: DA(this.context),
3328
3326
  v: DA(this.context)
3329
3327
  });
3330
- t(this, "size", Xt);
3328
+ t(this, "size", zt);
3331
3329
  t(this, "onContextLost", (e) => {
3332
3330
  const g = new Error(e instanceof WebGLContextEvent ? e.statusMessage : "webgl context lost");
3333
- this.emit("context lost", as(g)), e.preventDefault();
3331
+ this.emit("context lost", rs(g)), e.preventDefault();
3334
3332
  });
3335
3333
  t(this, "onContextRestored", () => {
3336
- this.emit("context restored"), this.context = Vt(this.canvas, zt), this.pixelShader = $A(this.context, this.context.FRAGMENT_SHADER, xt), this.vertexShader = $A(this.context, this.context.VERTEX_SHADER, Wt), this.buffer = Zt(this.context, fe.SQUARE_VERTICES), this.program = Ot(this.context, this.vertexShader, this.pixelShader), this.textures = {
3334
+ this.emit("context restored"), this.context = Zt(this.canvas, jt), this.pixelShader = $A(this.context, this.context.FRAGMENT_SHADER, Wt), this.vertexShader = $A(this.context, this.context.VERTEX_SHADER, Vt), this.buffer = Ot(this.context, pe.SQUARE_VERTICES), this.program = Xt(this.context, this.vertexShader, this.pixelShader), this.textures = {
3337
3335
  y: DA(this.context),
3338
3336
  u: DA(this.context),
3339
3337
  v: DA(this.context)
3340
3338
  }, this.load();
3341
3339
  });
3342
3340
  t(this, "load", () => {
3343
- this.context.useProgram(this.program), this.setupPositionVertexAttributes(), this.setSize(Xt), this.context.uniform1i(this.context.getUniformLocation(this.program, "y_texture"), 0), this.context.uniform1i(this.context.getUniformLocation(this.program, "u_texture"), 1), this.context.uniform1i(this.context.getUniformLocation(this.program, "v_texture"), 2), this.setConversionMatrix(this.rec709());
3341
+ this.context.useProgram(this.program), this.setupPositionVertexAttributes(), this.setSize(zt), this.context.uniform1i(this.context.getUniformLocation(this.program, "y_texture"), 0), this.context.uniform1i(this.context.getUniformLocation(this.program, "u_texture"), 1), this.context.uniform1i(this.context.getUniformLocation(this.program, "v_texture"), 2), this.setConversionMatrix(this.rec709());
3344
3342
  });
3345
3343
  t(this, "unload", () => {
3346
3344
  var g;
3347
3345
  this.setSize({ width: 1, height: 1, codedHeight: 1, codedWidth: 1 }), [this.textures.y, this.textures.u, this.textures.v].forEach((s) => this.context.deleteTexture(s)), this.context.deleteShader(this.pixelShader), this.context.deleteShader(this.vertexShader), this.context.deleteProgram(this.program), this.context.deleteBuffer(this.buffer), this.canvas.removeEventListener("webglcontextlost", this.onContextLost), this.canvas.removeEventListener("webglcontextrestored", this.onContextRestored), (g = this.context.getExtension("WEBGL_lose_context")) == null || g.loseContext();
3348
3346
  });
3347
+ t(this, "resetSize", () => {
3348
+ this.setSize({
3349
+ width: this.size.width / 2,
3350
+ height: this.size.height / 2,
3351
+ codedHeight: this.size.codedHeight / 2,
3352
+ codedWidth: this.size.codedWidth / 2
3353
+ });
3354
+ });
3349
3355
  t(this, "render", (e) => {
3350
3356
  this.setSize({
3351
3357
  width: e.width,
@@ -3430,9 +3436,9 @@ void main() {
3430
3436
  this.canvas.addEventListener("webglcontextlost", this.onContextLost), this.canvas.addEventListener("webglcontextrestored", this.onContextRestored, !1), this.canvas.style.width = "100%", this.canvas.style.position = "relative";
3431
3437
  }
3432
3438
  };
3433
- let ne = fe;
3439
+ let ne = pe;
3434
3440
  t(ne, "SQUARE_VERTICES", new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]));
3435
- const Et = class {
3441
+ const rt = class {
3436
3442
  constructor(A, e, g) {
3437
3443
  t(this, "oldTimestampLimit", 400);
3438
3444
  t(this, "pool");
@@ -3461,6 +3467,9 @@ const Et = class {
3461
3467
  contextLostCount: 0,
3462
3468
  contextRestoredCount: 0
3463
3469
  }));
3470
+ t(this, "resetSize", () => {
3471
+ this.videoRenderer.resetSize();
3472
+ });
3464
3473
  t(this, "onDecodedFrame", (A) => {
3465
3474
  if (A.type === "video")
3466
3475
  if (this.isFirstFrame)
@@ -3491,15 +3500,15 @@ const Et = class {
3491
3500
  this.logger = A, this.clockSource = e, this.pool = g;
3492
3501
  }
3493
3502
  };
3494
- let MA = Et;
3495
- t(MA, "create", (A, e, g) => new Et(A, e, g));
3503
+ let MA = rt;
3504
+ t(MA, "create", (A, e, g) => new rt(A, e, g));
3496
3505
  const nA = (i, A) => {
3497
3506
  let e;
3498
3507
  for (e = A; i > 1; i--)
3499
3508
  e += A;
3500
3509
  return e;
3501
3510
  };
3502
- class EB {
3511
+ class rB {
3503
3512
  constructor() {
3504
3513
  t(this, "audio");
3505
3514
  t(this, "unmute", () => this.audio.play().catch(j));
@@ -3512,14 +3521,14 @@ class EB {
3512
3521
  throw new Error("Failed to create audio tag");
3513
3522
  }
3514
3523
  }
3515
- const rt = class {
3524
+ const ht = class {
3516
3525
  constructor(A, e, g, s, I) {
3517
3526
  t(this, "logger");
3518
3527
  t(this, "emitter");
3519
3528
  t(this, "audioPlayer");
3520
3529
  t(this, "videoPlayer");
3521
3530
  t(this, "pool");
3522
- t(this, "unmuter", new EB());
3531
+ t(this, "unmuter", new rB());
3523
3532
  t(this, "_isPaused", !1);
3524
3533
  t(this, "isDisconnected", !1);
3525
3534
  t(this, "reset", () => {
@@ -3546,7 +3555,7 @@ const rt = class {
3546
3555
  try {
3547
3556
  this.audioPlayer.onDecodedFrame(A);
3548
3557
  } catch (e) {
3549
- e instanceof Error && this.emitter.emit("error", eg(!1, e));
3558
+ e instanceof Error && this.emitter.emit("error", tg(!1, e));
3550
3559
  }
3551
3560
  this.videoPlayer.onDecodedFrame(A);
3552
3561
  });
@@ -3597,7 +3606,7 @@ const rt = class {
3597
3606
  return this.audioPlayer.isSeeking;
3598
3607
  }
3599
3608
  play() {
3600
- return u(this, null, function* () {
3609
+ return m(this, null, function* () {
3601
3610
  try {
3602
3611
  yield this.activateAudioPlayer();
3603
3612
  } catch (A) {
@@ -3613,13 +3622,13 @@ const rt = class {
3613
3622
  this._isPaused = !0, this.audioPlayer.pause(), this.emitter.emit("media element state", "paused");
3614
3623
  }
3615
3624
  };
3616
- let oe = rt;
3617
- t(oe, "create", (A, e, g, s, I) => new rt(A, e, g, s, I));
3618
- const jt = Object.values(pe), _t = (i, A) => jt.indexOf(i) < jt.indexOf(A), ht = class {
3625
+ let oe = ht;
3626
+ t(oe, "create", (A, e, g, s, I) => new ht(A, e, g, s, I));
3627
+ const _t = Object.values(Fe), $t = (i, A) => _t.indexOf(i) < _t.indexOf(A), ct = class {
3619
3628
  constructor() {
3620
- t(this, "level", pe.DEBUG);
3629
+ t(this, "level", Fe.DEBUG);
3621
3630
  t(this, "categoryLevels", /* @__PURE__ */ new Map());
3622
- t(this, "getLogger", (A) => new it({
3631
+ t(this, "getLogger", (A) => new gt({
3623
3632
  category: A,
3624
3633
  onLog: this.onLog
3625
3634
  }));
@@ -3629,19 +3638,19 @@ const jt = Object.values(pe), _t = (i, A) => jt.indexOf(i) < jt.indexOf(A), ht =
3629
3638
  t(this, "unload", () => {
3630
3639
  });
3631
3640
  t(this, "onLog", (A, e, g, s) => {
3632
- if (_t(e, this.level))
3641
+ if ($t(e, this.level))
3633
3642
  return;
3634
3643
  const I = A.category(), B = this.categoryLevels.get(I);
3635
- if (B && _t(e, B))
3644
+ if (B && $t(e, B))
3636
3645
  return;
3637
3646
  const n = A.getFullCategory().reduceRight((C, a) => (C.length ? C + " > " : "") + a, ""), o = `[${new Date().toISOString()}][${e}][${n}] ${g}`;
3638
3647
  console.log(o, s);
3639
3648
  });
3640
3649
  }
3641
3650
  };
3642
- let Ce = ht;
3643
- t(Ce, "create", () => new ht());
3644
- const ct = class {
3651
+ let Ce = ct;
3652
+ t(Ce, "create", () => new ct());
3653
+ const dt = class {
3645
3654
  constructor(A, e, g, s, { muted: I, type: B, poster: n }) {
3646
3655
  t(this, "logger");
3647
3656
  t(this, "emitter");
@@ -3655,10 +3664,10 @@ const ct = class {
3655
3664
  t(this, "reset", () => {
3656
3665
  });
3657
3666
  t(this, "load", () => {
3658
- this.mediaElement.load(), this.emitter.on("decoded frame", this.onDecodedFrame), this.emitter.on("flush buffers", this.flushBuffers), this.videoPlayer.load();
3667
+ this.mediaElement.load(), this.emitter.on("decoded frame", this.onDecodedFrame), this.emitter.on("flush buffers", this.flushBuffers), this.emitter.on("ios-hack: reset size", this.resetCanvasSize), this.emitter.on("enter picture in picture", this.onEnterPictureInPicture), this.emitter.on("exit picture in picture", this.onExitPictureInPicture), this.videoPlayer.load();
3659
3668
  });
3660
3669
  t(this, "unload", () => {
3661
- this.emitter.off("decoded frame", this.onDecodedFrame), this.emitter.off("flush buffers", this.flushBuffers), this.mediaElement.unload(), this.audioPlayer.unload(), this.videoPlayer.unload();
3670
+ this.emitter.off("decoded frame", this.onDecodedFrame), this.emitter.off("flush buffers", this.flushBuffers), this.emitter.off("ios-hack: reset size", this.resetCanvasSize), this.emitter.off("enter picture in picture", this.onEnterPictureInPicture), this.emitter.off("exit picture in picture", this.onExitPictureInPicture), this.mediaElement.unload(), this.audioPlayer.unload(), this.videoPlayer.unload();
3662
3671
  });
3663
3672
  t(this, "suspend", () => {
3664
3673
  this.videoPlayer.suspend(), this.audioPlayer.suspend();
@@ -3672,11 +3681,20 @@ const ct = class {
3672
3681
  t(this, "flushBuffers", () => {
3673
3682
  this.audioPlayer.flushBuffer();
3674
3683
  });
3684
+ t(this, "resetCanvasSize", () => {
3685
+ this.videoPlayer.resetSize();
3686
+ });
3687
+ t(this, "onEnterPictureInPicture", () => {
3688
+ this.mediaElement._iosHackEnterPiPMode();
3689
+ });
3690
+ t(this, "onExitPictureInPicture", () => {
3691
+ this.mediaElement._iosHackExitPiPMode();
3692
+ });
3675
3693
  t(this, "onDecodedFrame", (A) => {
3676
3694
  try {
3677
3695
  this.audioPlayer.onDecodedFrame(A);
3678
3696
  } catch (e) {
3679
- e instanceof Error && this.emitter.emit("error", eg(!1, e));
3697
+ e instanceof Error && this.emitter.emit("error", tg(!1, e));
3680
3698
  }
3681
3699
  this.videoPlayer.onDecodedFrame(A);
3682
3700
  });
@@ -3691,7 +3709,7 @@ const ct = class {
3691
3709
  };
3692
3710
  dA(A, this.volumeState) || (this.volumeState = A, this.emitter.emit("volume state", this.volumeState));
3693
3711
  });
3694
- this.logger = e, this.emitter = A, this.pool = g, this._userProvidedMuted = I, this.mediaElement = new At({
3712
+ this.logger = e, this.emitter = A, this.pool = g, this._userProvidedMuted = I, this.mediaElement = new et({
3695
3713
  poster: n,
3696
3714
  type: B,
3697
3715
  muted: I,
@@ -3745,7 +3763,7 @@ const ct = class {
3745
3763
  return this.mediaElement.isSeeking;
3746
3764
  }
3747
3765
  play() {
3748
- return u(this, null, function* () {
3766
+ return m(this, null, function* () {
3749
3767
  const A = this._userProvidedMuted;
3750
3768
  return this.activateAudioPlayer().catch(() => {
3751
3769
  A || this.emitter.emit("needs user input", {
@@ -3759,9 +3777,9 @@ const ct = class {
3759
3777
  this.mediaElement.pause();
3760
3778
  }
3761
3779
  };
3762
- let Qe = ct;
3763
- t(Qe, "create", (A, e, g, s, I) => new ct(A, e, g, s, I));
3764
- class rg {
3780
+ let Qe = dt;
3781
+ t(Qe, "create", (A, e, g, s, I) => new dt(A, e, g, s, I));
3782
+ class hg {
3765
3783
  constructor() {
3766
3784
  t(this, "initSegments", /* @__PURE__ */ new Map());
3767
3785
  t(this, "set", (A, e, g) => {
@@ -3775,7 +3793,7 @@ class rg {
3775
3793
  });
3776
3794
  }
3777
3795
  }
3778
- function rB(i, { mediaSource: A, mimeType: e }) {
3796
+ function hB(i, { mediaSource: A, mimeType: e }) {
3779
3797
  return b(r({}, i), {
3780
3798
  state: "initialized",
3781
3799
  mimeType: e,
@@ -3784,13 +3802,13 @@ function rB(i, { mediaSource: A, mimeType: e }) {
3784
3802
  sequenceNumber: 0
3785
3803
  });
3786
3804
  }
3787
- function $t({
3805
+ function Ai({
3788
3806
  initSegments: i,
3789
3807
  pendingSamples: A
3790
3808
  }) {
3791
3809
  return {
3792
3810
  state: "uninitialized",
3793
- initSegments: i != null ? i : new rg(),
3811
+ initSegments: i != null ? i : new hg(),
3794
3812
  sequenceNumber: 0,
3795
3813
  isWorkingOnPendingSamples: !1,
3796
3814
  hasFirstSync: !!A,
@@ -3799,7 +3817,7 @@ function $t({
3799
3817
  successfulAppendCalls: 0
3800
3818
  };
3801
3819
  }
3802
- const dt = class {
3820
+ const lt = class {
3803
3821
  constructor(A, e, g) {
3804
3822
  t(this, "maxChunkSize", 20);
3805
3823
  t(this, "minConsecutiveErrorsBeforeEmit", 5);
@@ -3807,7 +3825,7 @@ const dt = class {
3807
3825
  t(this, "timers", x.create());
3808
3826
  t(this, "emitter");
3809
3827
  t(this, "mediaElement");
3810
- t(this, "mediaSource", new og());
3828
+ t(this, "mediaSource", new Cg());
3811
3829
  t(this, "trackContexts", /* @__PURE__ */ new Map());
3812
3830
  t(this, "autoRecoverFromMediaErrors", !0);
3813
3831
  t(this, "quotaErrorCount", 0);
@@ -3843,16 +3861,16 @@ const dt = class {
3843
3861
  });
3844
3862
  });
3845
3863
  });
3846
- t(this, "setTrackContexts", (...e) => u(this, [...e], function* (A = /* @__PURE__ */ new Map()) {
3864
+ t(this, "setTrackContexts", (...e) => m(this, [...e], function* (A = /* @__PURE__ */ new Map()) {
3847
3865
  this.logger.debug("setTrackContexts"), ["audio", "video"].forEach((s) => {
3848
3866
  var n, o, C, a;
3849
3867
  const I = (o = (n = A.get(s)) == null ? void 0 : n.pendingSamples) != null ? o : [], B = (C = A.get(s)) == null ? void 0 : C.initSegments;
3850
3868
  for (; I.length > 0 && !((a = I[0]) != null && a.isSync); )
3851
3869
  I.shift();
3852
- this.trackContexts.set(s, $t({ pendingSamples: I, initSegments: B }));
3870
+ this.trackContexts.set(s, Ai({ pendingSamples: I, initSegments: B }));
3853
3871
  });
3854
3872
  }));
3855
- t(this, "setSourceBuffers", (A) => u(this, null, function* () {
3873
+ t(this, "setSourceBuffers", (A) => m(this, null, function* () {
3856
3874
  if (this.mediaSource.isClosed()) {
3857
3875
  this.pendingTracksToAddSourceBuffers = A;
3858
3876
  return;
@@ -3871,9 +3889,9 @@ const dt = class {
3871
3889
  }
3872
3890
  for (const g of A) {
3873
3891
  let s = this.trackContexts.get(g.type);
3874
- s || (s = $t({ pendingSamples: [], initSegments: new rg() }), this.trackContexts.set(g.type, s)), s.state === "initialized" ? g.mimeType !== s.mimeType && (yield s.sourceBuffer.changeType(g.mimeType)) : this.trackContexts.set(
3892
+ s || (s = Ai({ pendingSamples: [], initSegments: new hg() }), this.trackContexts.set(g.type, s)), s.state === "initialized" ? g.mimeType !== s.mimeType && (yield s.sourceBuffer.changeType(g.mimeType)) : this.trackContexts.set(
3875
3893
  g.type,
3876
- rB(s, { mimeType: g.mimeType, mediaSource: this.mediaSource })
3894
+ hB(s, { mimeType: g.mimeType, mediaSource: this.mediaSource })
3877
3895
  );
3878
3896
  }
3879
3897
  }));
@@ -3899,11 +3917,11 @@ const dt = class {
3899
3917
  this.logger.debug("Added init segment", { channel: A.channelId, renditionId: A.renditionId });
3900
3918
  const e = this.trackContexts.get(A.type);
3901
3919
  if (!e)
3902
- throw Me(A.type, A.renditionId);
3903
- const g = LI(A.codec, A.data, A.timescale);
3920
+ throw Pe(A.type, A.renditionId);
3921
+ const g = NI(A.codec, A.data, A.timescale);
3904
3922
  g && e.initSegments.set(A.channelId, A.renditionId, g);
3905
3923
  });
3906
- t(this, "append", (A, e) => u(this, null, function* () {
3924
+ t(this, "append", (A, e) => m(this, null, function* () {
3907
3925
  var B;
3908
3926
  const g = A[0];
3909
3927
  if (!g)
@@ -3911,18 +3929,18 @@ const dt = class {
3911
3929
  const s = this.trackContexts.get(g.type), I = s == null ? void 0 : s.initSegments.get(g.channelId, g.renditionId);
3912
3930
  if (!this.mediaSource.isClosed()) {
3913
3931
  if (!I)
3914
- throw gs(g.renditionId, g.channelId);
3932
+ throw Is(g.renditionId, g.channelId);
3915
3933
  if (!s)
3916
- throw Me(g.type, g.renditionId);
3934
+ throw Pe(g.type, g.renditionId);
3917
3935
  if (s.state === "uninitialized")
3918
- throw ss(g.type, g.renditionId);
3936
+ throw Bs(g.type, g.renditionId);
3919
3937
  if (e) {
3920
3938
  const n = (g.timestamp + ((B = g.compositionTimeOffset) != null ? B : 0)) / g.timescale;
3921
3939
  yield s.sourceBuffer.removeBuffer(n, Number.POSITIVE_INFINITY), yield s.sourceBuffer.appendBuffer(I);
3922
3940
  }
3923
3941
  try {
3924
3942
  let n = s.sequenceNumber;
3925
- const o = hB(A.map((C) => qI(C, n++)));
3943
+ const o = cB(A.map((C) => KI(C, n++)));
3926
3944
  yield s.sourceBuffer.appendBuffer(o), s.sequenceNumber = n, s.consecutiveQuotaExceededErrorCount = 0, s.successfulAppendCalls++;
3927
3945
  } catch (n) {
3928
3946
  throw n instanceof DOMException && (n.code === DOMException.QUOTA_EXCEEDED_ERR ? (this.quotaErrorCount++, s.consecutiveQuotaExceededErrorCount++, this.logger.error("quota exceeded error", { error: n }), s.pendingSamples.unshift(...A)) : this.mediaElement.error && s.pendingSamples.unshift(...A)), n;
@@ -3934,22 +3952,22 @@ const dt = class {
3934
3952
  return;
3935
3953
  const e = this.trackContexts.get(A.type);
3936
3954
  if (!e)
3937
- throw Me(A.type, A.renditionId);
3955
+ throw Pe(A.type, A.renditionId);
3938
3956
  if (!(!e.hasFirstSync && !A.isSync)) {
3939
3957
  if (this.hasAddedInitialPosterFrame && A.isSync && A.type === "video") {
3940
3958
  this.hasAddedInitialPosterFrame = !1;
3941
3959
  const g = r({}, A);
3942
3960
  g.timestamp = 0, e.pendingSamples.push(g);
3943
3961
  }
3944
- e.hasFirstSync = !0, e.pendingSamples.push(A), e.state !== "uninitialized" && (e.isWorkingOnPendingSamples || cB(e, this.append, this.maxChunkSize).catch((g) => {
3962
+ e.hasFirstSync = !0, e.pendingSamples.push(A), e.state !== "uninitialized" && (e.isWorkingOnPendingSamples || dB(e, this.append, this.maxChunkSize).catch((g) => {
3945
3963
  if (e.isWorkingOnPendingSamples = !1, g instanceof Error) {
3946
3964
  if (this.logger.error("append failed", { message: g.message, name: g.name }), g instanceof DOMException && g.code === DOMException.QUOTA_EXCEEDED_ERR) {
3947
3965
  if (e.consecutiveQuotaExceededErrorCount >= this.minConsecutiveErrorsBeforeEmit) {
3948
- const s = vt(!1, g, e.consecutiveQuotaExceededErrorCount, A.type);
3966
+ const s = Nt(!1, g, e.consecutiveQuotaExceededErrorCount, A.type);
3949
3967
  this.emitter.emit("error", s);
3950
3968
  }
3951
3969
  } else {
3952
- const s = vt(!1, g, e.consecutiveQuotaExceededErrorCount, A.type);
3970
+ const s = Nt(!1, g, e.consecutiveQuotaExceededErrorCount, A.type);
3953
3971
  this.emitter.emit("error", s);
3954
3972
  }
3955
3973
  this.mediaElement.error && this.onSourceEnded();
@@ -3963,7 +3981,7 @@ const dt = class {
3963
3981
  t(this, "onSourceEnded", () => {
3964
3982
  const { error: A } = this.mediaElement;
3965
3983
  if (A) {
3966
- const e = /AUDIO_RENDERER/.test(A.message) || !this.autoRecoverFromMediaErrors, g = is(e, A);
3984
+ const e = /AUDIO_RENDERER/.test(A.message) || !this.autoRecoverFromMediaErrors, g = ss(e, A);
3967
3985
  if (this.logger.error("MediaElement error", { error: g }), this.emitter.emit("error", g), !g.isFatal()) {
3968
3986
  this.logger.info("Re-opening MediaSource"), this.emitter.emit("recovered from media error", { error: g, count: this.recoveredFromErrorCount }), this.recoveredFromErrorCount++;
3969
3987
  const s = !this.mediaElement.paused, I = [];
@@ -3977,40 +3995,40 @@ const dt = class {
3977
3995
  this.logger = A, this.mediaElement = g, this.emitter = e;
3978
3996
  }
3979
3997
  };
3980
- let ae = dt;
3998
+ let ae = lt;
3981
3999
  t(ae, "create", (A, e, g) => {
3982
- const s = new dt(A, e, g);
4000
+ const s = new lt(A, e, g);
3983
4001
  return s.setTrackContexts(), s.mediaSource.on("source ended", s.onSourceEnded), s.mediaSource.on("source open", s.onSourceOpen), g.src = s.mediaSource.createObjectURL(), s;
3984
4002
  });
3985
- const Ai = (i, A) => {
4003
+ const ei = (i, A) => {
3986
4004
  var B;
3987
4005
  const e = i.renditionId !== A.renditionId, g = i.channelId !== A.channelId, s = ((B = i.timestamp) != null ? B : 0) > A.timestamp;
3988
4006
  let I = !1;
3989
4007
  return i.type === "video" && A.type === "video" && (I = A.width !== i.width || A.height !== i.height), g || e || s || I;
3990
- }, hB = function(i) {
4008
+ }, cB = function(i) {
3991
4009
  const A = i.reduce((s, I) => s + I.byteLength, 0), e = new Uint8Array(A);
3992
4010
  let g = 0;
3993
4011
  return i.forEach((s) => {
3994
4012
  e.set(new Uint8Array(s), g), g += s.byteLength;
3995
4013
  }), e.buffer;
3996
- }, cB = (i, A, e) => u(void 0, null, function* () {
4014
+ }, dB = (i, A, e) => m(void 0, null, function* () {
3997
4015
  for (i.isWorkingOnPendingSamples = !0; i.pendingSamples.length > 0; ) {
3998
4016
  const g = [];
3999
4017
  let s = 0;
4000
4018
  for (let n = 0; n < i.pendingSamples.length; n++) {
4001
4019
  s = n;
4002
4020
  const o = i.pendingSamples[n], C = i.pendingSamples[n + 1];
4003
- if (o && (g.push(o), C && Ai(o, C)) || n === e - 1)
4021
+ if (o && (g.push(o), C && ei(o, C)) || n === e - 1)
4004
4022
  break;
4005
4023
  }
4006
4024
  const I = g[0];
4007
4025
  if (!I)
4008
4026
  break;
4009
- const B = i.previousSample ? Ai(i.previousSample, I) : !0;
4027
+ const B = i.previousSample ? ei(i.previousSample, I) : !0;
4010
4028
  yield A(g, B), i.pendingSamples = i.pendingSamples.slice(s + 1), i.previousSample = g[g.length - 1];
4011
4029
  }
4012
4030
  i.isWorkingOnPendingSamples = !1;
4013
- }), lt = class {
4031
+ }), ut = class {
4014
4032
  constructor(A, e) {
4015
4033
  t(this, "logger");
4016
4034
  t(this, "emitter");
@@ -4029,30 +4047,30 @@ const Ai = (i, A) => {
4029
4047
  t(this, "getPictureInPictureSize", () => this.pictureInPictureWindow);
4030
4048
  t(this, "isPictureInPictureActive", () => this.isWebkitPresentationModeActive() || this.isStandardPictureInPictureActive());
4031
4049
  t(this, "isPictureInPictureSupported", () => this.isWebkitPresentationModeSupported() || this.isStandardPictureInPictureSupported());
4032
- t(this, "requestPictureInPicture", () => this.isStandardPictureInPictureSupported() ? this.requestStandardPictureInPicture() : this.isWebkitPresentationModeSupported() ? this.requestWebkitPresentationMode("picture-in-picture") : Promise.reject(new Error("Picture in picture is not supported")));
4050
+ t(this, "requestPictureInPicture", () => (this.emitter.emit("ios-hack: reset size"), this.isStandardPictureInPictureSupported() ? this.requestStandardPictureInPicture() : this.isWebkitPresentationModeSupported() ? this.requestWebkitPresentationMode("picture-in-picture") : Promise.reject(new Error("Picture in picture is not supported"))));
4033
4051
  t(this, "exitPictureInPicture", () => this.isStandardPictureInPictureSupported() ? this.exitStandardPictureInPicture() : this.isWebkitPresentationModeSupported() ? this.requestWebkitPresentationMode("inline") : Promise.reject(new Error("Picture in picture is not supported")));
4034
4052
  t(this, "getStatistics", () => ({
4035
4053
  isPictureInPictureActive: this.isPictureInPictureActive()
4036
4054
  }));
4037
- t(this, "requestStandardPictureInPicture", () => u(this, null, function* () {
4055
+ t(this, "requestStandardPictureInPicture", () => m(this, null, function* () {
4038
4056
  return yield this.element.requestPictureInPicture();
4039
4057
  }));
4040
- t(this, "exitStandardPictureInPicture", () => u(this, null, function* () {
4058
+ t(this, "exitStandardPictureInPicture", () => m(this, null, function* () {
4041
4059
  return yield document.exitPictureInPicture();
4042
4060
  }));
4043
4061
  t(this, "isStandardPictureInPictureSupported", () => !!this.element && !!this.element.requestPictureInPicture && !!document.pictureInPictureEnabled);
4044
4062
  t(this, "isStandardPictureInPictureActive", () => !!this.element && !!document.pictureInPictureElement);
4045
4063
  t(this, "isWebkitPresentationModeActive", () => !!this.element && this.element.webkitPresentationMode === "picture-in-picture");
4046
- t(this, "requestWebkitPresentationMode", (A) => u(this, null, function* () {
4064
+ t(this, "requestWebkitPresentationMode", (A) => m(this, null, function* () {
4047
4065
  return this.element.webkitSetPresentationMode(A), Promise.resolve();
4048
4066
  }));
4049
4067
  t(this, "isWebkitPresentationModeSupported", () => !!this.element && !!this.element.webkitSetPresentationMode);
4050
4068
  this.emitter = A, this.logger = e, this.emitter.on("add picture in picture listener", this.onEnablePictureInPicture);
4051
4069
  }
4052
4070
  };
4053
- let Ee = lt;
4054
- t(Ee, "create", (A, e) => new lt(A, e));
4055
- const ut = class {
4071
+ let Ee = ut;
4072
+ t(Ee, "create", (A, e) => new ut(A, e));
4073
+ const mt = class {
4056
4074
  constructor(A, e, g, s) {
4057
4075
  t(this, "emitter");
4058
4076
  t(this, "logger");
@@ -4089,27 +4107,27 @@ const ut = class {
4089
4107
  this.emitter = A, this.logger = e, this.clockSource = g, this.targetBufferTime = s, this.emitter.on("buffer state", this.onBufferedStateChanged), this.emitter.on("needs user input", this.onNeedsUserInput);
4090
4108
  }
4091
4109
  };
4092
- let re = ut;
4093
- t(re, "create", (A, e, g, s) => new ut(A, e, g, s));
4094
- const tt = () => ({
4110
+ let re = mt;
4111
+ t(re, "create", (A, e, g, s) => new mt(A, e, g, s));
4112
+ const it = () => ({
4095
4113
  upgradesFromLevel: [],
4096
4114
  downgradesFromLevel: [],
4097
4115
  bufferingRanges: [],
4098
4116
  activeRanges: [],
4099
4117
  decodeRate: Number.MAX_SAFE_INTEGER
4100
- }), dB = () => ({
4118
+ }), lB = () => ({
4101
4119
  levels: {},
4102
4120
  levelDowngrades: [],
4103
4121
  levelUpgrades: [],
4104
4122
  bufferFullness: 0,
4105
- general: tt()
4106
- }), mt = class {
4123
+ general: it()
4124
+ }), wt = class {
4107
4125
  constructor(A, e) {
4108
4126
  t(this, "minBufferFullnessLengthForRegression", 6);
4109
4127
  t(this, "logger");
4110
4128
  t(this, "emitter");
4111
4129
  t(this, "timers", x.create());
4112
- t(this, "metrics", dB());
4130
+ t(this, "metrics", lB());
4113
4131
  t(this, "bufferFullness", new W(30));
4114
4132
  t(this, "bufferFullnessRegression");
4115
4133
  t(this, "currentLevel");
@@ -4172,15 +4190,15 @@ const tt = () => ({
4172
4190
  return A;
4173
4191
  });
4174
4192
  t(this, "bufferingEventsLast", (A) => this.metrics.general.bufferingRanges.filter((e) => e.start >= Date.now() - A).length);
4175
- t(this, "timeSpentBufferingLast", (A) => Ut(this.metrics.general.bufferingRanges, A));
4176
- t(this, "timeSpentActiveLast", (A) => Ut(this.metrics.general.activeRanges, A));
4193
+ t(this, "timeSpentBufferingLast", (A) => bt(this.metrics.general.bufferingRanges, A));
4194
+ t(this, "timeSpentActiveLast", (A) => bt(this.metrics.general.activeRanges, A));
4177
4195
  t(this, "timeSpentPlayingInAtLeastLevelRatio", (A) => {
4178
4196
  var o, C, a, Q;
4179
4197
  const e = this.timeSpentBuffering(), g = this.timeActive(), s = this.bufferingRatios(), I = this.activeRatios(), B = ((C = (o = A.video) == null ? void 0 : o.bitRate) != null ? C : 0) + ((Q = (a = A.audio) == null ? void 0 : a.bitRate) != null ? Q : 0), n = e / g;
4180
4198
  return Object.keys(this.metrics.levels).map((h) => parseInt(h, 10)).filter((h) => h >= B).reduce(
4181
- (h, l) => {
4182
- var m, D;
4183
- return ((m = I.get(l.toString())) != null ? m : 0) - ((D = s.get(l.toString())) != null ? D : 0) * n + h;
4199
+ (h, u) => {
4200
+ var l, D;
4201
+ return ((l = I.get(u.toString())) != null ? l : 0) - ((D = s.get(u.toString())) != null ? D : 0) * n + h;
4184
4202
  },
4185
4203
  0
4186
4204
  );
@@ -4194,18 +4212,18 @@ const tt = () => ({
4194
4212
  fatalQosCount: this.fatalQosCount
4195
4213
  }));
4196
4214
  t(this, "onRenditionLevelChanged", (A) => {
4197
- var I, B, n, o, C, a, Q, h, l, m, D, S, q, H;
4198
- const e = ((n = (B = (I = A.from) == null ? void 0 : I.video) == null ? void 0 : B.bitRate) != null ? n : 0) + ((a = (C = (o = A.from) == null ? void 0 : o.audio) == null ? void 0 : C.bitRate) != null ? a : 0), g = ((l = (h = (Q = A.to) == null ? void 0 : Q.video) == null ? void 0 : h.bitRate) != null ? l : 0) + ((S = (D = (m = A.to) == null ? void 0 : m.audio) == null ? void 0 : D.bitRate) != null ? S : 0);
4215
+ var I, B, n, o, C, a, Q, h, u, l, D, S, q, H;
4216
+ const e = ((n = (B = (I = A.from) == null ? void 0 : I.video) == null ? void 0 : B.bitRate) != null ? n : 0) + ((a = (C = (o = A.from) == null ? void 0 : o.audio) == null ? void 0 : C.bitRate) != null ? a : 0), g = ((u = (h = (Q = A.to) == null ? void 0 : Q.video) == null ? void 0 : h.bitRate) != null ? u : 0) + ((S = (D = (l = A.to) == null ? void 0 : l.audio) == null ? void 0 : D.bitRate) != null ? S : 0);
4199
4217
  this.logger.info("rendition level changed", { fromLevel: e, toLevel: g }), this.metrics.general.activeRanges.length === 0 && this.setActive(), A.from && A.to && (e < g ? this.metrics.general.upgradesFromLevel.push(Date.now()) : this.metrics.general.downgradesFromLevel.push(Date.now()));
4200
4218
  let s = !1;
4201
4219
  if (A.from) {
4202
- const G = (q = this.metrics.levels[e]) != null ? q : tt();
4220
+ const G = (q = this.metrics.levels[e]) != null ? q : it();
4203
4221
  e < g ? G.upgradesFromLevel.push(Date.now()) : G.downgradesFromLevel.push(Date.now()), oA(G.activeRanges);
4204
4222
  const K = G.bufferingRanges[G.bufferingRanges.length - 1];
4205
4223
  s = !!K && !K.end, oA(G.bufferingRanges), this.metrics.levels[e] = G;
4206
4224
  }
4207
4225
  if (A.to) {
4208
- const G = (H = this.metrics.levels[g]) != null ? H : tt();
4226
+ const G = (H = this.metrics.levels[g]) != null ? H : it();
4209
4227
  wA(G.activeRanges), s && wA(G.bufferingRanges), this.metrics.levels[g] = G, this.currentLevel = g;
4210
4228
  }
4211
4229
  });
@@ -4229,7 +4247,7 @@ const tt = () => ({
4229
4247
  const e = this.metrics.levels[(g = this.currentLevel) != null ? g : 0];
4230
4248
  e && (e.decodeRate = A);
4231
4249
  });
4232
- t(this, "calculateLinearRegression", () => yg(
4250
+ t(this, "calculateLinearRegression", () => Rg(
4233
4251
  this.bufferFullness.items().map((A, e) => ({
4234
4252
  x: e,
4235
4253
  y: A
@@ -4269,9 +4287,9 @@ const tt = () => ({
4269
4287
  wA(this.metrics.general.activeRanges);
4270
4288
  }
4271
4289
  };
4272
- let he = mt;
4273
- t(he, "create", (A, e) => new mt(A, e));
4274
- const wt = class {
4290
+ let he = wt;
4291
+ t(he, "create", (A, e) => new wt(A, e));
4292
+ const St = class {
4275
4293
  constructor(A, e) {
4276
4294
  t(this, "renditions", /* @__PURE__ */ new Map());
4277
4295
  t(this, "renditionLevels", []);
@@ -4354,9 +4372,9 @@ const wt = class {
4354
4372
  var a;
4355
4373
  const { video: e, audio: g, channelId: s } = A, I = (a = this.renditions.get(s)) != null ? a : [], B = I.filter(xA).filter((Q) => e && Q.codec === e.codec), n = I.filter(vA).filter((Q) => g && Q.codec === g.codec && Q.language === g.language), o = Math.max(B.length, n.length), C = [];
4356
4374
  for (let Q = 0; Q < o; Q++) {
4357
- const h = B[Math.min(B.length - 1, Q)], l = n[Math.min(n.length - 1, Q)];
4375
+ const h = B[Math.min(B.length - 1, Q)], u = n[Math.min(n.length - 1, Q)];
4358
4376
  C.push({
4359
- audio: l,
4377
+ audio: u,
4360
4378
  video: h
4361
4379
  });
4362
4380
  }
@@ -4366,9 +4384,9 @@ const wt = class {
4366
4384
  this.subscriptionSource = e, this.emitter = A, this.emitter.on("renditions", this.onRenditions), this.emitter.on("subscription changed", this.onSubscriptionChanged);
4367
4385
  }
4368
4386
  };
4369
- let ce = wt;
4370
- t(ce, "create", (A, e) => new wt(A, e));
4371
- const ei = (i) => JSON.parse(JSON.stringify(i)), St = class {
4387
+ let ce = St;
4388
+ t(ce, "create", (A, e) => new St(A, e));
4389
+ const ti = (i) => JSON.parse(JSON.stringify(i)), Dt = class {
4372
4390
  constructor(A, e, g) {
4373
4391
  t(this, "logger");
4374
4392
  t(this, "timers", new x());
@@ -4419,13 +4437,13 @@ const ei = (i) => JSON.parse(JSON.stringify(i)), St = class {
4419
4437
  });
4420
4438
  t(this, "isNewSubscription", () => {
4421
4439
  const A = ["burstMs", "meta", "initiator", "channelGroupId"];
4422
- return !dA(kt(this.currentSubscription, A), kt(this.targetSubscription, A));
4440
+ return !dA(Ut(this.currentSubscription, A), Ut(this.targetSubscription, A));
4423
4441
  });
4424
4442
  t(this, "onSubscriptionChanged", ({ to: A }) => {
4425
4443
  this.logger.debug("onSubscriptionChanged", { to: A }), this.currentSubscription = r({}, A), this._isSwitchingSubscription = this.isNewSubscription();
4426
4444
  });
4427
4445
  t(this, "scheduleSubscriptionChange", () => {
4428
- this.targetSubscription = ei(this.targetSubscription), this._isSwitchingSubscription = this.isNewSubscription();
4446
+ this.targetSubscription = ti(this.targetSubscription), this._isSwitchingSubscription = this.isNewSubscription();
4429
4447
  const A = this.currentSubscription.channelId !== this.targetSubscription.channelId;
4430
4448
  this._isSwitchingSubscription && (A && this.burstMs ? this.setBurst(this.burstMs) : this.setBurst(0), this.pendingSubscriptionTimeoutId && (this.timers.clearTimeout(this.pendingSubscriptionTimeoutId), this.pendingSubscriptionTimeoutId = void 0), this.pendingSubscriptionTimeoutId = this.timers.setTimeout(
4431
4449
  () => this.emitter.emit(
@@ -4438,12 +4456,12 @@ const ei = (i) => JSON.parse(JSON.stringify(i)), St = class {
4438
4456
  0
4439
4457
  ));
4440
4458
  });
4441
- this.logger = A, this.targetSubscription = e, this.currentSubscription = ei(e), this.emitter = g, this.emitter.on("subscription changed", this.onSubscriptionChanged);
4459
+ this.logger = A, this.targetSubscription = e, this.currentSubscription = ti(e), this.emitter = g, this.emitter.on("subscription changed", this.onSubscriptionChanged);
4442
4460
  }
4443
4461
  };
4444
- let de = St;
4445
- t(de, "create", (A, e, g) => new St(A, g, e));
4446
- const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii = (i) => (A) => A > i, Dt = class {
4462
+ let de = Dt;
4463
+ t(de, "create", (A, e, g) => new Dt(A, g, e));
4464
+ const uB = 5e3, mB = () => ag() || Ge() || XI(), ii = () => mB() ? 100 : 0, gi = (i) => (A) => A > i, ft = class {
4447
4465
  constructor(A, e, g, s, I) {
4448
4466
  t(this, "emitter");
4449
4467
  t(this, "logger");
@@ -4464,8 +4482,8 @@ const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii =
4464
4482
  maxBehind: 50,
4465
4483
  multiplier: 1,
4466
4484
  maxBehindAllowed: 600,
4467
- overshoot: ti(),
4468
- minOvershootAllowed: ti(),
4485
+ overshoot: ii(),
4486
+ minOvershootAllowed: ii(),
4469
4487
  maxOvershootAllowed: 500
4470
4488
  });
4471
4489
  t(this, "maxTimeSyncDifferenceTolerance", 150);
@@ -4538,7 +4556,7 @@ const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii =
4538
4556
  var g;
4539
4557
  if (!A.channelId)
4540
4558
  throw new Error("Sample must be assigned to a channel");
4541
- if (this.currentChannelId || (this.currentChannelId = A.channelId), this.timestampOffset || (this.timestampOffset = A.timestamp / A.timescale * 1e3 - lB), this.currentChannelId !== A.channelId) {
4559
+ if (this.currentChannelId || (this.currentChannelId = A.channelId), this.timestampOffset || (this.timestampOffset = A.timestamp / A.timescale * 1e3 - uB), this.currentChannelId !== A.channelId) {
4542
4560
  let s = Number.MAX_SAFE_INTEGER;
4543
4561
  console.assert(this.highestSeenTimestamps.size !== 0, "no known timestamps"), this.highestSeenTimestamps.forEach((B) => {
4544
4562
  s = Math.min(s, B);
@@ -4581,7 +4599,7 @@ const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii =
4581
4599
  }
4582
4600
  if (!this.timestampOffset)
4583
4601
  return;
4584
- const e = Date.now() - this.seekTimeoutTime * this.timeshiftSync.multiplier, g = this.timeShiftAdjustments.filter(ii(e)).length;
4602
+ const e = Date.now() - this.seekTimeoutTime * this.timeshiftSync.multiplier, g = this.timeShiftAdjustments.filter(gi(e)).length;
4585
4603
  if (g && this.timeshiftSync.multiplier > 2)
4586
4604
  return this.logger.debug("Too many diff timeShifts within sliding window", {
4587
4605
  timeShiftsCooldownMs: e,
@@ -4606,7 +4624,7 @@ const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii =
4606
4624
  const A = (B = this.drift) != null ? B : 0;
4607
4625
  if (A < 0 && -A < this.currentSyncMaxAhead() || A > 0 && A < this.currentSyncMaxBehind() || Math.abs(A) < 1 || !this.isSeekCooldownExpired())
4608
4626
  return;
4609
- const e = Date.now() - this.seekTimeoutTime * this.syncMaxBehindMultiplier, g = this.driftAdjustments.filter(ii(e)).length;
4627
+ const e = Date.now() - this.seekTimeoutTime * this.syncMaxBehindMultiplier, g = this.driftAdjustments.filter(gi(e)).length;
4610
4628
  if (g && this.syncMaxBehindMultiplier > 2)
4611
4629
  return this.logger.debug("Too many diff adjustments within sliding window", {
4612
4630
  adjustmentsCooldownMs: e,
@@ -4677,9 +4695,9 @@ const lB = 5e3, uB = () => Qg() || Re() || OI(), ti = () => uB() ? 100 : 0, ii =
4677
4695
  return this.serverCurrentTime - this.playbackSource.currentTime;
4678
4696
  }
4679
4697
  };
4680
- let le = Dt;
4681
- t(le, "create", (A, e, g, s, I) => new Dt(A, e, g, s, I));
4682
- const mB = {
4698
+ let le = ft;
4699
+ t(le, "create", (A, e, g, s, I) => new ft(A, e, g, s, I));
4700
+ const wB = {
4683
4701
  enabled: !0,
4684
4702
  interval: 3e4,
4685
4703
  includeErrors: !0,
@@ -4688,7 +4706,7 @@ const mB = {
4688
4706
  maxRetries: 10,
4689
4707
  maxErrorReports: 50,
4690
4708
  maxEvents: 50
4691
- }, xe = (i, A) => b(r({}, A), { type: i, timestamp: new Date().toISOString(), discriminator: "web" }), ft = class {
4709
+ }, We = (i, A) => b(r({}, A), { type: i, timestamp: new Date().toISOString(), discriminator: "web" }), pt = class {
4692
4710
  constructor(A, e, g, s) {
4693
4711
  t(this, "logger");
4694
4712
  t(this, "timers", new x());
@@ -4711,19 +4729,19 @@ const mB = {
4711
4729
  t(this, "addStats", ({ isFinal: A, initiator: e } = { isFinal: !1, initiator: "interval" }, g = {}) => {
4712
4730
  if (!this.options.includeStats)
4713
4731
  return;
4714
- const s = this.parentContext.getStatistics(), I = xe("stats", b(r(r({}, g), s), { isFinal: A, initiator: e, count: this.statsCount++ }));
4732
+ const s = this.parentContext.getStatistics(), I = We("stats", b(r(r({}, g), s), { isFinal: A, initiator: e, count: this.statsCount++ }));
4715
4733
  this.unsentLines.push(I);
4716
4734
  });
4717
4735
  t(this, "addEvent", (A) => {
4718
4736
  if (!this.options.includeEvents || this.eventCount > this.options.maxEvents)
4719
4737
  return;
4720
- const e = this.parentContext.getStatistics(), g = xe("event", r(r({}, e), A));
4738
+ const e = this.parentContext.getStatistics(), g = We("event", r(r({}, e), A));
4721
4739
  this.eventCount++, this.unsentLines.push(g);
4722
4740
  });
4723
4741
  t(this, "getStatistics", () => ({
4724
4742
  errorCount: this.errorCount
4725
4743
  }));
4726
- t(this, "send", (A) => u(this, null, function* () {
4744
+ t(this, "send", (A) => m(this, null, function* () {
4727
4745
  if (this.options.enabled && !(this.retries >= this.options.maxRetries) && !this.unsentLines.isEmpty()) {
4728
4746
  this.logger.debug("Sending telemetry", { lines: this.unsentLines.items() });
4729
4747
  try {
@@ -4741,7 +4759,7 @@ const mB = {
4741
4759
  type: "telemetry",
4742
4760
  body: e
4743
4761
  })
4744
- ) : yield Hg(new URL(this.options.url), { body: e, headers: { "Content-Type": "text/plain" } });
4762
+ ) : yield Mg(new URL(this.options.url), { body: e, headers: { "Content-Type": "text/plain" } });
4745
4763
  break;
4746
4764
  }
4747
4765
  this.retries = 0, this.unsentLines.clear();
@@ -4760,21 +4778,21 @@ const mB = {
4760
4778
  t(this, "onError", (A) => this.addError(A.error));
4761
4779
  t(this, "addError", (A) => {
4762
4780
  const { includeErrors: e, maxErrorReports: g } = this.options;
4763
- if (e && A instanceof F) {
4781
+ if (e && A instanceof p) {
4764
4782
  if (this.errorCount++, this.errorCount > g)
4765
4783
  return;
4766
4784
  const s = this.parentContext.getStatistics();
4767
4785
  this.unsentLines.push(
4768
- xe("error", r(r({}, s), A.toStringifiable()))
4786
+ We("error", r(r({}, s), A.toStringifiable()))
4769
4787
  );
4770
4788
  }
4771
4789
  });
4772
- this.logger = A, this.emitter = e, this.options = r(r({}, mB), g), this.parentContext = s;
4790
+ this.logger = A, this.emitter = e, this.options = r(r({}, wB), g), this.parentContext = s;
4773
4791
  }
4774
4792
  };
4775
- let PA = ft;
4776
- t(PA, "create", (A, e, g, s) => new ft(A, e, g, s));
4777
- const pt = class {
4793
+ let PA = pt;
4794
+ t(PA, "create", (A, e, g, s) => new pt(A, e, g, s));
4795
+ const Ft = class {
4778
4796
  constructor(A, e, g) {
4779
4797
  t(this, "logger");
4780
4798
  t(this, "element");
@@ -4789,13 +4807,13 @@ const pt = class {
4789
4807
  this.logger = A, this.element = e, this.documentState = g, this.timers.setInterval(this.unpause, 100);
4790
4808
  }
4791
4809
  };
4792
- let qA = pt;
4793
- t(qA, "create", (A, e, g) => new pt(A, e, g));
4794
- const wB = ["minBufferTime", "maxBufferTime", "burstEnabled"];
4795
- function SB(i) {
4796
- return wB.includes(i);
4810
+ let qA = Ft;
4811
+ t(qA, "create", (A, e, g) => new Ft(A, e, g));
4812
+ const SB = ["minBufferTime", "maxBufferTime", "burstEnabled"];
4813
+ function DB(i) {
4814
+ return SB.includes(i);
4797
4815
  }
4798
- class DB {
4816
+ class fB {
4799
4817
  constructor(A) {
4800
4818
  t(this, "options");
4801
4819
  t(this, "overrides", /* @__PURE__ */ new Map());
@@ -4812,7 +4830,7 @@ class DB {
4812
4830
  }
4813
4831
  get(A, e) {
4814
4832
  var g;
4815
- if (e && SB(A)) {
4833
+ if (e && DB(A)) {
4816
4834
  const s = (g = this.overrides.get(e)) == null ? void 0 : g[A];
4817
4835
  if (typeof s != "undefined")
4818
4836
  return s;
@@ -4824,15 +4842,26 @@ class DB {
4824
4842
  return (g = this.overrides.get(e)) == null ? void 0 : g[A];
4825
4843
  }
4826
4844
  }
4827
- const fB = (i, A) => {
4845
+ const pB = (i) => {
4846
+ let A = i, e = 0, g = 0;
4847
+ return (I) => {
4848
+ var l, D, S;
4849
+ const B = A;
4850
+ A = I, B.flags && we(B.flags) && (e = (l = B.compositionTimeOffset) != null ? l : 0), B.timestamp += e, B.compositionTimeOffset = ((D = B.compositionTimeOffset) != null ? D : 0) - e;
4851
+ const n = B.timestamp / B.timescale, C = I.flags && we(I.flags) ? (S = I.compositionTimeOffset) != null ? S : 0 : e, Q = (I.timestamp + C) / I.timescale, h = Math.max(0, Math.round((Q - n) * B.timescale));
4852
+ return h > 0 && (g = h), b(r({}, B), {
4853
+ duration: h > 0 ? h : g
4854
+ });
4855
+ };
4856
+ }, FB = (i, A) => {
4828
4857
  if (!i)
4829
4858
  return;
4830
4859
  const e = new URL("/subscribe", i);
4831
4860
  return e.searchParams.append("channelId", A.channelId), e.searchParams.append("sessionId", A.sessionId), e.searchParams.append("clientId", A.clientId), A.audio && A.audio.codec && (e.searchParams.append("audio.bitRate", Math.round(A.audio.bitRate).toString()), e.searchParams.append("audio.codec", A.audio.codec), A.audio.language && e.searchParams.append("audio.language", A.audio.language)), A.video && A.video.codec && (e.searchParams.append("video.width", A.video.width.toString()), e.searchParams.append("video.height", A.video.height.toString()), e.searchParams.append("video.bitRate", Math.round(A.video.bitRate).toString()), e.searchParams.append("video.codec", A.video.codec)), A.expectAdditionalConnection && e.searchParams.append("expectAdditionalConnection", A.expectAdditionalConnection.toString()), A.burstMs && e.searchParams.append("burstMs", A.burstMs.toString()), A.channelGroupId && e.searchParams.append("channelGroupId", A.channelGroupId), A.authToken && (e.searchParams.append("auth.token", A.authToken), e.searchParams.append("auth.type", "jwt")), e.toString();
4832
- }, pB = (i, A, e) => xA(A) ? r(b(r({}, i), {
4861
+ }, yB = (i, A, e) => xA(A) ? r(b(r({}, i), {
4833
4862
  type: "video",
4834
4863
  codec: A.codec,
4835
- isSync: qt(i.flags),
4864
+ isSync: we(i.flags),
4836
4865
  data: i.payload,
4837
4866
  duration: 0,
4838
4867
  width: A.width,
@@ -4843,10 +4872,10 @@ const fB = (i, A) => {
4843
4872
  sampleRate: A.sampleRate,
4844
4873
  codec: A.codec,
4845
4874
  language: A.language,
4846
- isSync: qt(i.flags),
4875
+ isSync: we(i.flags),
4847
4876
  data: i.payload,
4848
4877
  duration: 0
4849
- }), FB = () => {
4878
+ }), RB = () => {
4850
4879
  var g;
4851
4880
  const i = window.location.origin, e = !i || i == "null" ? "" : `${window.location.pathname}${window.location.search}`.substring(0, 1e3);
4852
4881
  return {
@@ -4855,7 +4884,7 @@ const fB = (i, A) => {
4855
4884
  locationPath: e,
4856
4885
  ancestorOrigins: ((g = window.location.ancestorOrigins) == null ? void 0 : g.length) > 0 ? Array.from(window.location.ancestorOrigins) : void 0
4857
4886
  };
4858
- }, yB = (i) => {
4887
+ }, GB = (i) => {
4859
4888
  if (typeof i != "object" || i === null)
4860
4889
  throw new Error("not an object");
4861
4890
  if (!("video" in i))
@@ -4869,7 +4898,7 @@ const fB = (i, A) => {
4869
4898
  constructor(e) {
4870
4899
  super();
4871
4900
  t(this, "pictureInPicture");
4872
- t(this, "browser", ag());
4901
+ t(this, "browser", Eg());
4873
4902
  t(this, "options");
4874
4903
  t(this, "element");
4875
4904
  t(this, "playbackSource");
@@ -4878,7 +4907,7 @@ const fB = (i, A) => {
4878
4907
  t(this, "modules");
4879
4908
  t(this, "clientIp");
4880
4909
  t(this, "sessionId");
4881
- t(this, "clientId", bt());
4910
+ t(this, "clientId", Jt());
4882
4911
  t(this, "_channels", []);
4883
4912
  t(this, "createdAt", Date.now());
4884
4913
  t(this, "hasCalledConnect", !1);
@@ -4887,8 +4916,8 @@ const fB = (i, A) => {
4887
4916
  t(this, "wakeLock");
4888
4917
  t(this, "cachedEdges", []);
4889
4918
  t(this, "shiftedEdges", []);
4890
- t(this, "pool", new Rt(sA.MAX_POOL_SIZE));
4891
- t(this, "durationSessions", /* @__PURE__ */ new Map());
4919
+ t(this, "pool", new Gt(sA.MAX_POOL_SIZE));
4920
+ t(this, "sampleProcessingSesssions", /* @__PURE__ */ new Map());
4892
4921
  t(this, "sizes", /* @__PURE__ */ new Map());
4893
4922
  t(this, "isSuspended", !0);
4894
4923
  t(this, "disconnectTimeout");
@@ -4919,7 +4948,7 @@ const fB = (i, A) => {
4919
4948
  var e, g;
4920
4949
  this.hasCalledConnect || (this.hasCalledConnect = !0, Object.values(this.modules).forEach((s) => {
4921
4950
  s && "load" in s && s.load();
4922
- }), this.unsuspend(), this.playbackSource instanceof At && ((g = (e = this.playbackSource).load) == null || g.call(e)), this.modules.connection.connect(this.options.get("media") === "audio+video" ? 2 : 1));
4951
+ }), this.unsuspend(), this.playbackSource instanceof et && ((g = (e = this.playbackSource).load) == null || g.call(e)), this.modules.connection.connect(this.options.get("media") === "audio+video" ? 2 : 1));
4923
4952
  });
4924
4953
  t(this, "getCastOptions", () => ({
4925
4954
  url: this.options.get("url"),
@@ -4934,43 +4963,45 @@ const fB = (i, A) => {
4934
4963
  edgeUrl: this.options.get("edgeUrl"),
4935
4964
  media: this.options.get("media")
4936
4965
  }));
4937
- t(this, "connectionInfo", () => u(this, null, function* () {
4966
+ t(this, "connectionInfo", () => m(this, null, function* () {
4938
4967
  try {
4939
4968
  return yield this.apiClient.connect(this.options.getOptions());
4940
4969
  } catch (e) {
4941
- if (Ng(e))
4970
+ if (Hg(e))
4942
4971
  switch (e.status) {
4943
4972
  case 401:
4944
4973
  throw this.emitter.emit("error", me(e)), me(e);
4974
+ case 403:
4975
+ throw this.emitter.emit("error", Ht(e.message)), Ht(e.message);
4945
4976
  }
4946
- throw this.emitter.emit("error", Cs(e instanceof Error ? e : void 0)), e;
4977
+ throw this.emitter.emit("error", as(e instanceof Error ? e : void 0)), e;
4947
4978
  }
4948
4979
  }));
4949
- t(this, "estimateRTT", () => u(this, null, function* () {
4980
+ t(this, "estimateRTT", () => m(this, null, function* () {
4950
4981
  const e = Date.now(), g = () => Date.now() - e;
4951
4982
  return Promise.race([
4952
- _i(sA.PING_TIMEOUT),
4983
+ $i(sA.PING_TIMEOUT),
4953
4984
  fetch(new URL("/api/v2/connect/ping", this.options.get("url")).toString(), {
4954
4985
  method: "HEAD"
4955
4986
  })
4956
4987
  ]).then(g, g);
4957
4988
  }));
4958
- t(this, "connectHandler", () => u(this, null, function* () {
4989
+ t(this, "connectHandler", () => m(this, null, function* () {
4959
4990
  var D;
4960
- this.sessionId = bt();
4961
- const e = this.modules.subscription.getTargetSubscription(), [g, s] = yield Promise.all([this.connectionInfo(), this.estimateRTT()]), I = s / 2, B = et(I), n = g.channels.find((S) => S.channelId === e.channelId);
4991
+ this.sessionId = Jt();
4992
+ const e = this.modules.subscription.getTargetSubscription(), [g, s] = yield Promise.all([this.connectionInfo(), this.estimateRTT()]), I = s / 2, B = tt(I), n = g.channels.find((S) => S.channelId === e.channelId);
4962
4993
  if (this.emitter.emit("connect info", g), this._channels = g.channels, g.channels.forEach((S) => {
4963
4994
  S.overrides && this.options.addOverrides(S.channelId, S.overrides), S.renditions = this.filterRenditions(S.renditions), this.modules.renditions.setRenditions(S.channelId, S.renditions);
4964
4995
  }), !n)
4965
- throw tg("external");
4996
+ throw ig("external");
4966
4997
  const o = this.options.getOverride("minBufferTime", this.channelId), C = this.options.getOverride("maxBufferTime", this.channelId);
4967
4998
  if ((o || C) && (this.modules.bufferTime.updateConfig({
4968
4999
  minBufferTime: o,
4969
5000
  maxBufferTime: C
4970
5001
  }), this.targetBufferTime = this.options.get("minBufferTime", this.channelId)), this.options.get("burstEnabled", this.channelId) && this.modules.subscription.enableBurst(this.targetBufferTime), this.emit("is live", n.isLive), !n.isLive)
4971
5002
  throw new Error("Waiting for channel to go live");
4972
- this.patchSubscription(n, B), yield this.initializeDecodingModule(), this.resetModules(), this.emit("rendition levels", this.modules.renditions.getRenditionLevels()), this.emit("channels", this.channels), this.emitLanguagesIfChanged(), this.durationSessions.clear(), this.cachedEdges = this.cachedEdges.length === 0 ? g.edges : this.cachedEdges;
4973
- const Q = (this.options.get("edgeUrl") ? [this.options.get("edgeUrl")] : [this.cachedEdges.shift()])[0], h = this.options.get("burstEnabled", this.channelId), l = fB(Q, {
5003
+ this.patchSubscription(n, B), yield this.initializeDecodingModule(), this.resetModules(), this.emit("rendition levels", this.modules.renditions.getRenditionLevels()), this.emit("channels", this.channels), this.emitLanguagesIfChanged(), this.sampleProcessingSesssions.clear(), this.cachedEdges = this.cachedEdges.length === 0 ? g.edges : this.cachedEdges;
5004
+ const Q = (this.options.get("edgeUrl") ? [this.options.get("edgeUrl")] : [this.cachedEdges.shift()])[0], h = this.options.get("burstEnabled", this.channelId), u = FB(Q, {
4974
5005
  video: this.targetSubscription.video,
4975
5006
  audio: this.targetSubscription.audio,
4976
5007
  burstMs: h ? this.targetBufferTime : void 0,
@@ -4981,10 +5012,10 @@ const fB = (i, A) => {
4981
5012
  expectAdditionalConnection: this.options.get("media") === "audio+video",
4982
5013
  authToken: this.options.get("authenticationToken")
4983
5014
  });
4984
- if (!l || !Q)
4985
- throw new F("Failed to resolve edge url", { isFatal: !0, code: "failed_to_resolve_edge_url" });
4986
- const m = this.shiftedEdges[this.shiftedEdges.length - 1];
4987
- return m && ((D = this.modules.telemetry) == null || D.addEvent({ code: "shifted_edge", edgeUrl: m })), this.shiftedEdges.push(Q), this.logger.debug("resolved edge url", { edgeUrl: l }), Promise.resolve(l);
5015
+ if (!u || !Q)
5016
+ throw new p("Failed to resolve edge url", { isFatal: !0, code: "failed_to_resolve_edge_url" });
5017
+ const l = this.shiftedEdges[this.shiftedEdges.length - 1];
5018
+ return l && ((D = this.modules.telemetry) == null || D.addEvent({ code: "shifted_edge", edgeUrl: l })), this.shiftedEdges.push(Q), this.logger.debug("resolved edge url", { edgeUrl: u }), Promise.resolve(u);
4988
5019
  }));
4989
5020
  t(this, "emitLanguagesIfChanged", () => {
4990
5021
  const e = this.modules.renditions.getLanguages(), g = this.latestEmittedLanguages;
@@ -5014,28 +5045,28 @@ const fB = (i, A) => {
5014
5045
  sA.INITIAL_MAX_BIT_RATE,
5015
5046
  g,
5016
5047
  this.targetSubscription.audio.bitRate
5017
- ), B = this.options.get("media") === "audio" ? [] : ["av1", "h264"], n = this.supportedAudioCodecs(), o = e.renditions.filter(vA), C = e.renditions.filter(xA), a = n.find((m) => o.find((D) => D.codec === m) !== void 0), Q = B.find((m) => C.find((D) => D.codec === m) !== void 0), h = o.map((m) => m.language);
5048
+ ), B = this.options.get("media") === "audio" ? [] : ["av1", "h264"], n = this.supportedAudioCodecs(), o = e.renditions.filter(vA), C = e.renditions.filter(xA), a = n.find((l) => o.find((D) => D.codec === l) !== void 0), Q = B.find((l) => C.find((D) => D.codec === l) !== void 0), h = o.map((l) => l.language);
5018
5049
  if (this.logger.debug("supported and selected codecs", { audioCodecs: n, videoCodecs: B, audioCodec: a, videoCodec: Q }), Q) {
5019
- const m = this.options.get("maxSize");
5050
+ const l = this.options.get("maxSize");
5020
5051
  this.modules.subscription.setVideoConstraint(r({
5021
5052
  codec: Q,
5022
5053
  bitRate: this.abrEnabled ? s : this.options.get("maxVideoBitRate")
5023
- }, m));
5054
+ }, l));
5024
5055
  }
5025
5056
  a && (this.modules.subscription.setAudioConstraint({
5026
5057
  codec: a,
5027
5058
  bitRate: this.abrEnabled ? I : this.options.get("maxAudioBitRate"),
5028
5059
  language: this.options.get("language")
5029
5060
  }), (!h.includes(this.options.get("language")) || this.language === void 0) && this.modules.subscription.setLanguage(h[0])), this.alignSizeAndBitRate(this.targetSubscription);
5030
- const l = this.modules.subscription.getTargetSubscription();
5061
+ const u = this.modules.subscription.getTargetSubscription();
5031
5062
  this.emitter.emit("subscription changed", {
5032
- to: l,
5063
+ to: u,
5033
5064
  from: this.modules.subscription.getCurrentSubscription()
5034
5065
  });
5035
5066
  });
5036
5067
  t(this, "isSupportedVideoCodecProfile", (e, g) => {
5037
5068
  if (this.willUseMediaSource())
5038
- return window.MediaSource ? window.MediaSource.isTypeSupported(He({ codec: e, codecString: g })) : !0;
5069
+ return window.MediaSource ? window.MediaSource.isTypeSupported(Me({ codec: e, codecString: g })) : !0;
5039
5070
  if (e === "h264") {
5040
5071
  const s = !!(g != null && g.startsWith("avc1.42")), I = !!(g != null && g.startsWith("avc1.66."));
5041
5072
  return s || I;
@@ -5048,19 +5079,19 @@ const fB = (i, A) => {
5048
5079
  const e = [];
5049
5080
  return (this.browser.supportsMp4Opus && this.options.get("mseOpusEnabled") || !this.willUseMediaSource()) && e.push("opus"), this.willUseMediaSource() && e.push("aac"), e;
5050
5081
  });
5051
- t(this, "initializeDecodingModule", () => u(this, null, function* () {
5082
+ t(this, "initializeDecodingModule", () => m(this, null, function* () {
5052
5083
  var s, I;
5053
5084
  const e = this.currentRenditionLevel, g = [];
5054
5085
  if (!e)
5055
- throw new F("No currentRenditionLevel", { code: "no_current_rendition_level", isFatal: !1 });
5086
+ throw new p("No currentRenditionLevel", { code: "no_current_rendition_level", isFatal: !1 });
5056
5087
  if (e != null && e.video && g.push({
5057
5088
  type: "video",
5058
- mimeType: He(e.video)
5089
+ mimeType: Me(e.video)
5059
5090
  }), e != null && e.audio && g.push({
5060
5091
  type: "audio",
5061
- mimeType: He(e.audio)
5092
+ mimeType: Me(e.audio)
5062
5093
  }), g.length === 0)
5063
- throw new F("Can't initialize decoding module without tracks", { code: "no_tracks", isFatal: !1 });
5094
+ throw new p("Can't initialize decoding module without tracks", { code: "no_tracks", isFatal: !1 });
5064
5095
  if (this.willUseMediaSource() && this.element instanceof HTMLMediaElement)
5065
5096
  this.emitter.emit("flush buffers"), yield (s = this.modules.mseModule) == null ? void 0 : s.setSourceBuffers(g);
5066
5097
  else {
@@ -5074,9 +5105,9 @@ const fB = (i, A) => {
5074
5105
  (I = this.modules.decoder) == null || I.unload(), this.modules.decoder = B, this.modules.decoder.load();
5075
5106
  }
5076
5107
  }));
5077
- t(this, "unload", () => u(this, null, function* () {
5108
+ t(this, "unload", () => m(this, null, function* () {
5078
5109
  var e, g, s;
5079
- this.logger.debug("Unloading modules..."), yield Promise.all(Object.values(this.modules).map((I) => I == null ? void 0 : I.unload())), (e = this.wakeLock) == null || e.unload(), this.pool = new Rt(sA.MAX_POOL_SIZE), (s = (g = this.playbackSource).unload) == null || s.call(g), this.element.remove(), this.emitter.reset(), this.reset(), this.logger.debug("Unloaded modules");
5110
+ this.logger.debug("Unloading modules..."), yield Promise.all(Object.values(this.modules).map((I) => I == null ? void 0 : I.unload())), (e = this.wakeLock) == null || e.unload(), this.pool = new Gt(sA.MAX_POOL_SIZE), (s = (g = this.playbackSource).unload) == null || s.call(g), this.element.remove(), this.emitter.reset(), this.reset(), this.logger.debug("Unloaded modules");
5080
5111
  }));
5081
5112
  t(this, "userInput", () => {
5082
5113
  this.play();
@@ -5084,7 +5115,7 @@ const fB = (i, A) => {
5084
5115
  t(this, "pause", () => {
5085
5116
  this.options.get("pauseSupportEnabled") && (this.playbackSource.pause(), this.hasCalledConnect && this.suspend());
5086
5117
  });
5087
- t(this, "play", () => u(this, null, function* () {
5118
+ t(this, "play", () => m(this, null, function* () {
5088
5119
  var e;
5089
5120
  this.hasCalledConnect ? this.unsuspend() : this._connect(), (e = this.wakeLock) == null || e.enable(), this.playbackState === "paused" && (this.resetModules(), this.emitter.emit("flush buffers"));
5090
5121
  try {
@@ -5099,13 +5130,13 @@ const fB = (i, A) => {
5099
5130
  t(this, "resetModules", () => {
5100
5131
  Object.values(this.modules).forEach((e) => {
5101
5132
  e && "reset" in e && e.reset();
5102
- }), this.durationSessions.clear(), this.playbackSource.currentTime = 0, this.playbackSource.isActivated = !1;
5133
+ }), this.sampleProcessingSesssions.clear(), this.playbackSource.currentTime = 0, this.playbackSource.isActivated = !1;
5103
5134
  });
5104
5135
  t(this, "getRuntimeInfo", () => {
5105
5136
  const e = this.modules.canvasModule ? this.options.get("iosMediaElementEnabled") : void 0;
5106
5137
  return r({
5107
5138
  uptime: Date.now() - this.createdAt,
5108
- version: "3.0.6",
5139
+ version: "3.0.7",
5109
5140
  clientId: this.clientId,
5110
5141
  sessionId: this.sessionId,
5111
5142
  channelId: this.channelId,
@@ -5114,7 +5145,7 @@ const fB = (i, A) => {
5114
5145
  url: this.options.get("url"),
5115
5146
  timeToFirstFrame: this.timeToFirstFrame(),
5116
5147
  iosMediaElementEnabled: e
5117
- }, FB());
5148
+ }, RB());
5118
5149
  });
5119
5150
  t(this, "onMediaElementState", (e) => {
5120
5151
  this.logger.info("media element state", { state: e }), this.options.get("pauseSupportEnabled") && (e === "paused" ? this.modules.documentState.isVisible && (this.suspend(), this.modules.connection.disconnect()) : this.unsuspend());
@@ -5139,7 +5170,7 @@ const fB = (i, A) => {
5139
5170
  return e - g;
5140
5171
  });
5141
5172
  t(this, "willUseMediaSource", () => this.browser.supportsMediaSource && this.options.get("mseEnabled"));
5142
- this.options = new DB(r(r({}, Tg), Es(e)));
5173
+ this.options = new fB(r(r({}, Kg), hs(e)));
5143
5174
  const g = ["localhost", "127.0.0.1"];
5144
5175
  e.telemetryEnabled === void 0 && g.includes(location.hostname) && this.options.set("telemetryEnabled", !1);
5145
5176
  const s = {
@@ -5159,7 +5190,7 @@ const fB = (i, A) => {
5159
5190
  this.emitter,
5160
5191
  this.logger.getLogger("PictureInPictureModule")
5161
5192
  ), n = x.create();
5162
- this.apiClient = new Mg({
5193
+ this.apiClient = new Pg({
5163
5194
  publicEndpoint: this.options.get("url").toString(),
5164
5195
  tokenFactory: () => this.options.get("authenticationToken")
5165
5196
  });
@@ -5178,17 +5209,17 @@ const fB = (i, A) => {
5178
5209
  this.logger.getLogger("PlaybackModule"),
5179
5210
  this,
5180
5211
  this.options.get("minBufferTime")
5181
- ), l = Ie.create(this.emitter), m = this.options.get("poster"), D = m === !0 ? this.getThumbnailUrl() : m || void 0;
5212
+ ), u = Ie.create(this.emitter), l = this.options.get("poster"), D = l === !0 ? this.getThumbnailUrl() : l || void 0;
5182
5213
  let S, q, H;
5183
5214
  if (this.willUseMediaSource()) {
5184
- const E = new At({
5215
+ const E = new et({
5185
5216
  type: this.options.get("media") == "audio" ? "audio" : "video",
5186
5217
  autoplay: !1,
5187
5218
  muted: this.options.get("muted") || this.options.get("media") === "video",
5188
5219
  logger: this.logger.getLogger("MediaElement"),
5189
5220
  poster: D
5190
5221
  });
5191
- E.on("buffer state", (w) => this.emitter.emit("buffer state", w)), E.on("needs user input", (w) => this.emitter.emit("needs user input", w)), E.on("volume state", (w) => this.emit("volume state", w)), E.on("media element state", (w) => this.onMediaElementState(w)), this.element = E.element, this.playbackSource = E, S = ae.create(this.logger.getLogger("MseModule"), this.emitter, this.element), this.options.get("pauseSupportEnabled") || (q = qA.create(this.logger.getLogger("UnpauseModule"), E, l)), this.options.get("pictureInPictureEnabled") && this.emitter.emit("add picture in picture listener", { element: E.element });
5222
+ E.on("buffer state", (w) => this.emitter.emit("buffer state", w)), E.on("needs user input", (w) => this.emitter.emit("needs user input", w)), E.on("volume state", (w) => this.emit("volume state", w)), E.on("media element state", (w) => this.onMediaElementState(w)), this.element = E.element, this.playbackSource = E, S = ae.create(this.logger.getLogger("MseModule"), this.emitter, this.element), this.options.get("pauseSupportEnabled") || (q = qA.create(this.logger.getLogger("UnpauseModule"), E, u)), this.options.get("pictureInPictureEnabled") && this.emitter.emit("add picture in picture listener", { element: E.element });
5192
5223
  } else if (this.browser.platform.iosVersion >= 15 && this.options.get("iosMediaElementEnabled")) {
5193
5224
  const E = Qe.create(
5194
5225
  this.emitter,
@@ -5201,7 +5232,7 @@ const fB = (i, A) => {
5201
5232
  poster: D
5202
5233
  }
5203
5234
  ), w = E.element();
5204
- this.element = w.element, this.playbackSource = E, H = E, this.options.get("pictureInPictureEnabled") && this.browser.platform.iosVersion > 15 && this.emitter.emit("add picture in picture listener", { element: this.element }), this.options.get("pauseSupportEnabled") || (q = qA.create(this.logger.getLogger("UnpauseModule"), w, l));
5235
+ this.element = w.element, this.playbackSource = E, H = E, this.options.get("pictureInPictureEnabled") && this.browser.platform.iosVersion > 15 && this.emitter.emit("add picture in picture listener", { element: this.element }), this.options.get("pauseSupportEnabled") || (q = qA.create(this.logger.getLogger("UnpauseModule"), w, u));
5205
5236
  } else {
5206
5237
  const E = oe.create(
5207
5238
  this.emitter,
@@ -5210,7 +5241,7 @@ const fB = (i, A) => {
5210
5241
  this,
5211
5242
  this.options.get("muted") || this.options.get("media") === "video"
5212
5243
  );
5213
- this.element = E.element(), this.playbackSource = E, H = E, this.options.get("iosWakeLockEnabled") && (this.wakeLock = new KI());
5244
+ this.element = E.element(), this.playbackSource = E, H = E, this.options.get("iosWakeLockEnabled") && (this.wakeLock = new xI());
5214
5245
  }
5215
5246
  this.emitter.on("channel reset", this.resetModules), this.emitter.on("no data timeout", this.resetModules), this.emitter.on("media element state", (E) => this.onMediaElementState(E)), this.emitter.on("volume state", (E) => this.emit("volume state", E)), this.options.get("pauseSupportEnabled") || this.emitter.on("exit picture in picture", () => n.setTimeout(() => void this.play(), 0)), this.emitter.on("constraint cap changed", (E) => {
5216
5247
  this.logger.info("new cap set", { cap: E }), this.alignSizeAndBitRate(this.targetSubscription);
@@ -5264,7 +5295,7 @@ const fB = (i, A) => {
5264
5295
  ),
5265
5296
  event: yA.create(this.emitter, this.logger.getLogger("EventModule"), G),
5266
5297
  sync: G,
5267
- documentState: l,
5298
+ documentState: u,
5268
5299
  connection: o,
5269
5300
  playback: h,
5270
5301
  pictureInPicture: B,
@@ -5325,7 +5356,7 @@ const fB = (i, A) => {
5325
5356
  switch (E) {
5326
5357
  case "upgrade":
5327
5358
  {
5328
- const R = Math.min(U + 1, v), L = w[R], p = (lA = this.modules.connection.estimatedBandwidth) != null ? lA : IA(), M = ((eA = (iA = L == null ? void 0 : L.audio) == null ? void 0 : iA.bitRate) != null ? eA : 0) + ((f = (c = L == null ? void 0 : L.video) == null ? void 0 : c.bitRate) != null ? f : 0), uA = p * 2 > M;
5359
+ const R = Math.min(U + 1, v), L = w[R], F = (lA = this.modules.connection.estimatedBandwidth) != null ? lA : IA(), M = ((eA = (iA = L == null ? void 0 : L.audio) == null ? void 0 : iA.bitRate) != null ? eA : 0) + ((f = (c = L == null ? void 0 : L.video) == null ? void 0 : c.bitRate) != null ? f : 0), uA = F * 2 > M;
5329
5360
  L && uA && this.modules.adaptivity.isQoSOk(L) && (N = R);
5330
5361
  }
5331
5362
  break;
@@ -5366,11 +5397,11 @@ const fB = (i, A) => {
5366
5397
  break;
5367
5398
  case "subscription changed":
5368
5399
  try {
5369
- yB(w.subscription);
5400
+ GB(w.subscription);
5370
5401
  } catch (U) {
5371
5402
  this.emitter.emit(
5372
5403
  "error",
5373
- new F("Subscription failed validation", {
5404
+ new p("Subscription failed validation", {
5374
5405
  source: U instanceof Error ? U : void 0,
5375
5406
  isFatal: !1,
5376
5407
  code: "subscription_failed_validation"
@@ -5387,7 +5418,7 @@ const fB = (i, A) => {
5387
5418
  break;
5388
5419
  }
5389
5420
  }), this.emitter.on("received data", (E) => {
5390
- const w = this.modules.subscription.getCurrentSubscription(), k = dI(E);
5421
+ const w = this.modules.subscription.getCurrentSubscription(), k = uI(E);
5391
5422
  if (!w) {
5392
5423
  this.logger.warn("Received unwanted message", r({}, k));
5393
5424
  return;
@@ -5398,8 +5429,8 @@ const fB = (i, A) => {
5398
5429
  _ && this.attach(_), this.logger.info("Created Vindral instance", { options: this.options });
5399
5430
  const $ = (E) => {
5400
5431
  const w = E.channelId, k = this.modules.renditions.getRendition(E.renditionId, w);
5401
- if (!rI(E.flags)) {
5402
- if (hI(E.flags)) {
5432
+ if (!cI(E.flags)) {
5433
+ if (dI(E.flags)) {
5403
5434
  const U = new TextDecoder();
5404
5435
  this.modules.event.addEvent({
5405
5436
  timestamp: E.timestamp / E.timescale * 1e3 - this.modules.sync.getTimeshiftOffset(),
@@ -5407,21 +5438,23 @@ const fB = (i, A) => {
5407
5438
  type: "metadata"
5408
5439
  });
5409
5440
  } else if (k != null && k.codec) {
5410
- const U = rs(k.codec);
5411
- if (this.modules.incomingData.add(U, E.payload.byteLength), EI(E.flags)) {
5441
+ const U = cs(k.codec);
5442
+ if (this.modules.incomingData.add(U, E.payload.byteLength), hI(E.flags)) {
5412
5443
  const v = b(r({
5413
5444
  type: U,
5414
5445
  data: E.payload,
5415
5446
  codec: k.codec
5416
5447
  }, E), {
5417
5448
  channelId: w
5418
- }), N = vI(v.codec, v.payload);
5449
+ }), N = HI(v.codec, v.payload);
5419
5450
  N && this.sizes.set(v.renditionId, N), this.emitter.emit("init segment", v), this.emit("initialized media");
5420
5451
  } else {
5421
- const v = pB(E, k, this.sizes.get(E.renditionId));
5422
- let N = this.durationSessions.get(U);
5452
+ const v = yB(E, k, this.sizes.get(E.renditionId));
5453
+ let N = this.sampleProcessingSesssions.get(U);
5423
5454
  if (!N)
5424
- N = YI(this.modules.sync.processSample(v)), this.durationSessions.set(U, N);
5455
+ N = pB(
5456
+ this.modules.sync.processSample(v)
5457
+ ), this.sampleProcessingSesssions.set(U, N);
5425
5458
  else {
5426
5459
  const V = N(this.modules.sync.processSample(v));
5427
5460
  this.modules.event.extractEvent(V, v), this.emitter.emit("coded sample", V);
@@ -5430,7 +5463,7 @@ const fB = (i, A) => {
5430
5463
  }
5431
5464
  }
5432
5465
  };
5433
- this.options.get("maxVideoBitRate") !== Number.MAX_SAFE_INTEGER && (this.maxVideoBitRate = this.options.get("maxVideoBitRate")), this.options.get("maxAudioBitRate") !== Number.MAX_SAFE_INTEGER && (this.maxAudioBitRate = this.options.get("maxAudioBitRate")), dA(this.options.get("maxSize"), ue()) || (this.maxSize = this.options.get("maxSize")), this.options.get("burstEnabled") && C.enableBurst(this.targetBufferTime), $I(this);
5466
+ this.options.get("maxVideoBitRate") !== Number.MAX_SAFE_INTEGER && (this.maxVideoBitRate = this.options.get("maxVideoBitRate")), this.options.get("maxAudioBitRate") !== Number.MAX_SAFE_INTEGER && (this.maxAudioBitRate = this.options.get("maxAudioBitRate")), dA(this.options.get("maxSize"), ue()) || (this.maxSize = this.options.get("maxSize")), this.options.get("burstEnabled") && C.enableBurst(this.targetBufferTime), AB(this);
5434
5467
  }
5435
5468
  set volume(e) {
5436
5469
  this.playbackSource.volume = e;
@@ -5630,14 +5663,14 @@ const fB = (i, A) => {
5630
5663
  };
5631
5664
  let EA = sA;
5632
5665
  t(EA, "MAX_POOL_SIZE", 10), t(EA, "INITIAL_MAX_BIT_RATE", 2.5 * 1e3 * 1e3), t(EA, "PING_TIMEOUT", 1e3), t(EA, "DISCONNECT_TIMEOUT", 15 * 1e3);
5633
- const RB = "_bar_16xpe_1", GB = "_hidden_16xpe_46", hg = {
5634
- bar: RB,
5635
- hidden: GB
5636
- }, kB = "_withThumbnails_suenn_19", ZA = {
5666
+ const kB = "_bar_16xpe_1", UB = "_hidden_16xpe_46", cg = {
5667
+ bar: kB,
5668
+ hidden: UB
5669
+ }, bB = "_withThumbnails_suenn_19", ZA = {
5637
5670
  "channel-selection-item": "_channel-selection-item_suenn_1",
5638
5671
  "channel-selection-item-selected": "_channel-selection-item-selected_suenn_8",
5639
5672
  "channel-selection-item-image": "_channel-selection-item-image_suenn_13",
5640
- withThumbnails: kB,
5673
+ withThumbnails: bB,
5641
5674
  "hide-on-small": "_hide-on-small_suenn_27"
5642
5675
  };
5643
5676
  class X {
@@ -5649,95 +5682,95 @@ class X {
5649
5682
  this.element = A;
5650
5683
  }
5651
5684
  }
5652
- const UB = {
5685
+ const JB = {
5653
5686
  "icon-button": "_icon-button_5fg7v_1"
5654
- }, bB = {
5687
+ }, LB = {
5655
5688
  viewBox: "-10 -10 44 44",
5656
5689
  content: `<g fill="none" stroke="white">
5657
5690
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z" clip-rule="evenodd" />
5658
5691
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2" />
5659
5692
  </g>`
5660
- }, JB = {
5693
+ }, vB = {
5661
5694
  viewBox: "-160 -160 832 832",
5662
5695
  content: '<path fill="white" d="M208,432H160a16,16,0,0,1-16-16V96a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16V416A16,16,0,0,1,208,432Z"/><path fill="white" d="M352,432H304a16,16,0,0,1-16-16V96a16,16,0,0,1,16-16h48a16,16,0,0,1,16,16V416A16,16,0,0,1,352,432Z"/>'
5663
- }, LB = {
5696
+ }, NB = {
5664
5697
  viewBox: "-6 -6 36 36",
5665
5698
  content: '<path d="M7 17.259V6.74104C7 5.96925 7.83721 5.48837 8.50387 5.87726L18.2596 11.5681C18.5904 11.761 18.5904 12.2389 18.2596 12.4319L8.50387 18.1227C7.83721 18.5116 7 18.0308 7 17.259Z" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>'
5666
- }, vB = {
5699
+ }, HB = {
5667
5700
  viewBox: "-10 -10 44 44",
5668
5701
  content: `<g fill="none" stroke="white">
5669
5702
  <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z" />
5670
5703
  </svg>`
5671
- }, NB = {
5704
+ }, MB = {
5672
5705
  viewBox: "-10 -10 44 44",
5673
5706
  content: `
5674
5707
  <path stroke="white" fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />`
5675
- }, HB = {
5708
+ }, PB = {
5676
5709
  viewBox: "-12 -12 38 38",
5677
5710
  content: `<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(-5.000000, -5.000000)">
5678
5711
  <path d="M6,14 C5.45,14 5,14.45 5,15 L5,18 C5,18.55 5.45,19 6,19 L9,19 C9.55,19 10,18.55 10,18 C10,17.45 9.55,17 9,17 L7,17 L7,15 C7,14.45 6.55,14 6,14 Z M6,10 C6.55,10 7,9.55 7,9 L7,7 L9,7 C9.55,7 10,6.55 10,6 C10,5.45 9.55,5 9,5 L6,5 C5.45,5 5,5.45 5,6 L5,9 C5,9.55 5.45,10 6,10 Z M17,17 L15,17 C14.45,17 14,17.45 14,18 C14,18.55 14.45,19 15,19 L18,19 C18.55,19 19,18.55 19,18 L19,15 C19,14.45 18.55,14 18,14 C17.45,14 17,14.45 17,15 L17,17 Z M14,6 C14,6.55 14.45,7 15,7 L17,7 L17,9 C17,9.55 17.45,10 18,10 C18.55,10 19,9.55 19,9 L19,6 C19,5.45 18.55,5 18,5 L15,5 C14.45,5 14,5.45 14,6 Z" fill="white"></path>
5679
5712
  </g>`
5680
- }, MB = {
5713
+ }, qB = {
5681
5714
  viewBox: "-12 -12 38 38",
5682
5715
  content: `<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" transform="translate(-5.000000, -5.000000)">
5683
5716
  <path d="M6,16 L8,16 L8,18 C8,18.55 8.45,19 9,19 C9.55,19 10,18.55 10,18 L10,15 C10,14.45 9.55,14 9,14 L6,14 C5.45,14 5,14.45 5,15 C5,15.55 5.45,16 6,16 Z M8,8 L6,8 C5.45,8 5,8.45 5,9 C5,9.55 5.45,10 6,10 L9,10 C9.55,10 10,9.55 10,9 L10,6 C10,5.45 9.55,5 9,5 C8.45,5 8,5.45 8,6 L8,8 Z M15,19 C15.55,19 16,18.55 16,18 L16,16 L18,16 C18.55,16 19,15.55 19,15 C19,14.45 18.55,14 18,14 L15,14 C14.45,14 14,14.45 14,15 L14,18 C14,18.55 14.45,19 15,19 Z M16,8 L16,6 C16,5.45 15.55,5 15,5 C14.45,5 14,5.45 14,6 L14,9 C14,9.55 14.45,10 15,10 L18,10 C18.55,10 19,9.55 19,9 C19,8.45 18.55,8 18,8 L16,8 Z" fill="white"></path>
5684
5717
  </g>`
5685
- }, PB = {
5718
+ }, TB = {
5686
5719
  viewBox: "-10 -10 44 44",
5687
5720
  content: '<path fill="white" d="M19 7h-8v6h8V7zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9-2-2-2zm0 16.01H3V4.98h18v14.03z"/>'
5688
- }, qB = {
5721
+ }, KB = {
5689
5722
  viewBox: "-10 -10 45 45",
5690
5723
  content: '<path fill="white" d="M20 8H4V6h16v2zm-2-6H6v2h12V2zm4 10v8c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2v-8c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2zm-6 4l-6-3.27v6.53L16 16z"/>'
5691
- }, TB = {
5724
+ }, YB = {
5692
5725
  viewBox: "-8 -8 40 40",
5693
5726
  content: '<path fill="white" d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-8 11H9.5v-2h-2v2H6V9h1.5v2.5h2V9H11v6zm7-1c0 .55-.45 1-1 1h-.75v1.5h-1.5V15H14c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v4zm-3.5-.5h2v-3h-2v3z"/>'
5694
- }, KB = {
5727
+ }, xB = {
5695
5728
  viewBox: "-8 -8 40 40",
5696
5729
  content: '<path fill="white" d="M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z"/>'
5697
- }, gi = {
5698
- enter: HB,
5699
- exit: MB,
5700
- pip: PB,
5701
- channels: qB,
5702
- languages: KB,
5703
- levels: TB,
5704
- oneToOne: NB,
5705
- mute: bB,
5706
- unmute: vB,
5707
- pause: JB,
5708
- play: LB
5730
+ }, si = {
5731
+ enter: PB,
5732
+ exit: qB,
5733
+ pip: TB,
5734
+ channels: KB,
5735
+ languages: xB,
5736
+ levels: YB,
5737
+ oneToOne: MB,
5738
+ mute: LB,
5739
+ unmute: HB,
5740
+ pause: vB,
5741
+ play: NB
5709
5742
  };
5710
- var oi;
5711
- const YB = (oi = UB["icon-button"]) != null ? oi : "";
5743
+ var Ci;
5744
+ const WB = (Ci = JB["icon-button"]) != null ? Ci : "";
5712
5745
  class GA extends X {
5713
5746
  constructor(e, g, s) {
5714
5747
  super(document.createElement("div"));
5715
5748
  t(this, "iconElement");
5716
5749
  t(this, "setIcon", (e) => {
5717
- this.iconElement.setAttribute("viewBox", gi[e].viewBox), this.iconElement.innerHTML = gi[e].content;
5750
+ this.iconElement.setAttribute("viewBox", si[e].viewBox), this.iconElement.innerHTML = si[e].content;
5718
5751
  });
5719
5752
  t(this, "isHidden", () => this.element.style.display === "none");
5720
5753
  t(this, "setHidden", (e) => e ? this.hide() : this.show());
5721
5754
  t(this, "show", () => void (this.element.style.display = "block"));
5722
5755
  t(this, "hide", () => void (this.element.style.display = "none"));
5723
- this.element.style.cursor = "pointer", this.element.setAttribute("role", "button"), this.element.setAttribute("aria-label", e), this.iconElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"), this.iconElement.setAttribute("width", "40px"), this.iconElement.setAttribute("height", "40px"), this.iconElement.setAttribute("class", YB), this.setIcon(g), this.element.addEventListener("click", s), this.element.appendChild(this.iconElement);
5756
+ this.element.style.cursor = "pointer", this.element.setAttribute("role", "button"), this.element.setAttribute("aria-label", e), this.iconElement = document.createElementNS("http://www.w3.org/2000/svg", "svg"), this.iconElement.setAttribute("width", "40px"), this.iconElement.setAttribute("height", "40px"), this.iconElement.setAttribute("class", WB), this.setIcon(g), this.element.addEventListener("click", s), this.element.appendChild(this.iconElement);
5724
5757
  }
5725
5758
  }
5726
- const xB = "_list_oecdq_1", WB = "_hidden_oecdq_19", Ge = {
5727
- list: xB,
5759
+ const VB = "_list_oecdq_1", ZB = "_hidden_oecdq_19", ke = {
5760
+ list: VB,
5728
5761
  "list-item": "_list-item_oecdq_11",
5729
5762
  "list-item-disabled": "_list-item-disabled_oecdq_15",
5730
- hidden: WB
5763
+ hidden: ZB
5731
5764
  };
5732
- var Ci;
5733
- const si = (Ci = Ge.hidden) != null ? Ci : "";
5734
5765
  var Qi;
5735
- const VB = (Qi = Ge.list) != null ? Qi : "";
5766
+ const Ii = (Qi = ke.hidden) != null ? Qi : "";
5736
5767
  var ai;
5737
- const ZB = (ai = Ge["list-item"]) != null ? ai : "";
5768
+ const OB = (ai = ke.list) != null ? ai : "";
5738
5769
  var Ei;
5739
- const OB = (Ei = Ge["list-item-disabled"]) != null ? Ei : "";
5740
- class XB extends X {
5770
+ const XB = (Ei = ke["list-item"]) != null ? Ei : "";
5771
+ var ri;
5772
+ const zB = (ri = ke["list-item-disabled"]) != null ? ri : "";
5773
+ class jB extends X {
5741
5774
  constructor({ items: e, onItemClick: g, classNames: s = [], maxHeight: I }) {
5742
5775
  super(document.createElement("div"));
5743
5776
  t(this, "onItemClick");
@@ -5747,26 +5780,26 @@ class XB extends X {
5747
5780
  (g = this.element.lastChild) == null || g.remove();
5748
5781
  e.forEach((s) => {
5749
5782
  const I = document.createElement("div");
5750
- s.disabled || I.addEventListener("click", () => this.onItemClick(s)), I.className = [ZB, s.disabled ? OB : ""].join(" "), I.appendChild(s.element()), this.element.appendChild(I);
5783
+ s.disabled || I.addEventListener("click", () => this.onItemClick(s)), I.className = [XB, s.disabled ? zB : ""].join(" "), I.appendChild(s.element()), this.element.appendChild(I);
5751
5784
  });
5752
5785
  });
5753
- t(this, "hide", () => this.element.classList.add(si));
5754
- t(this, "show", () => this.element.classList.remove(si));
5755
- this.element.className = [VB, ...s].join(" "), this.onItemClick = g, this.updateItems(e), I && (this.element.style.maxHeight = I);
5786
+ t(this, "hide", () => this.element.classList.add(Ii));
5787
+ t(this, "show", () => this.element.classList.remove(Ii));
5788
+ this.element.className = [OB, ...s].join(" "), this.onItemClick = g, this.updateItems(e), I && (this.element.style.maxHeight = I);
5756
5789
  }
5757
5790
  }
5758
- const zB = "_container_13xnz_1", jB = "_hidden_13xnz_6", _B = "_list_13xnz_10", gt = {
5759
- container: zB,
5760
- hidden: jB,
5761
- list: _B
5791
+ const _B = "_container_13xnz_1", $B = "_hidden_13xnz_6", An = "_list_13xnz_10", st = {
5792
+ container: _B,
5793
+ hidden: $B,
5794
+ list: An
5762
5795
  };
5763
- var ri;
5764
- const $B = (ri = gt.list) != null ? ri : "";
5765
5796
  var hi;
5766
- const Ae = (hi = gt.hidden) != null ? hi : "";
5797
+ const en = (hi = st.list) != null ? hi : "";
5767
5798
  var ci;
5768
- const An = (ci = gt.container) != null ? ci : "";
5769
- class st extends X {
5799
+ const Ae = (ci = st.hidden) != null ? ci : "";
5800
+ var di;
5801
+ const tn = (di = st.container) != null ? di : "";
5802
+ class It extends X {
5770
5803
  constructor({ label: e, items: g, onItemClick: s, iconButtonType: I, onToggle: B }) {
5771
5804
  super(document.createElement("div"));
5772
5805
  t(this, "iconButton");
@@ -5785,10 +5818,10 @@ class st extends X {
5785
5818
  this.toggleShowChannels(), this.onItemClick(e);
5786
5819
  });
5787
5820
  t(this, "showList", () => {
5788
- this.list = new XB({
5821
+ this.list = new jB({
5789
5822
  items: this.items,
5790
5823
  onItemClick: this.handleItemClick,
5791
- classNames: [$B],
5824
+ classNames: [en],
5792
5825
  maxHeight: this.maxHeight
5793
5826
  }), this.list.attach(this.element);
5794
5827
  });
@@ -5807,20 +5840,20 @@ class st extends X {
5807
5840
  t(this, "show", () => {
5808
5841
  Ae && this.element.classList.remove(Ae);
5809
5842
  });
5810
- this.element.className = An, this.onItemClick = s, this.onToggle = B, this.items = g, this.iconButton = new GA(e, I, this.onButtonClick), this.iconButton.attach(this.element);
5843
+ this.element.className = tn, this.onItemClick = s, this.onToggle = B, this.items = g, this.iconButton = new GA(e, I, this.onButtonClick), this.iconButton.attach(this.element);
5811
5844
  }
5812
5845
  }
5813
- var di;
5814
- const en = (di = ZA["hide-on-small"]) != null ? di : "";
5815
5846
  var li;
5816
- const tn = (li = ZA["channel-selection-item"]) != null ? li : "";
5847
+ const gn = (li = ZA["hide-on-small"]) != null ? li : "";
5817
5848
  var ui;
5818
- const gn = (ui = ZA["channel-selection-item-selected"]) != null ? ui : "";
5849
+ const sn = (ui = ZA["channel-selection-item"]) != null ? ui : "";
5819
5850
  var mi;
5820
- const sn = (mi = ZA["channel-selection-item-image"]) != null ? mi : "";
5851
+ const In = (mi = ZA["channel-selection-item-selected"]) != null ? mi : "";
5821
5852
  var wi;
5822
- const In = (wi = ZA.withThumbnails) != null ? wi : "";
5823
- class Bn extends st {
5853
+ const Bn = (wi = ZA["channel-selection-item-image"]) != null ? wi : "";
5854
+ var Si;
5855
+ const nn = (Si = ZA.withThumbnails) != null ? Si : "";
5856
+ class on extends It {
5824
5857
  constructor({ vindral: A, enabled: e, thumbnailsEnabled: g, thumbnailModule: s }) {
5825
5858
  const I = () => {
5826
5859
  const n = A.channels.map((o) => ({
@@ -5829,14 +5862,14 @@ class Bn extends st {
5829
5862
  element: () => {
5830
5863
  const C = document.createElement("div");
5831
5864
  if (C.className = [
5832
- tn,
5833
- o.channelId === A.channelId ? gn : ""
5865
+ sn,
5866
+ o.channelId === A.channelId ? In : ""
5834
5867
  ].join(" "), s && g) {
5835
- C.classList.add(In);
5868
+ C.classList.add(nn);
5836
5869
  const a = document.createElement("p");
5837
5870
  a.innerHTML = o.name, C.appendChild(a);
5838
5871
  const Q = s.getImageUrl(o), h = document.createElement("img");
5839
- Q && (h.className = sn, h.src = Q, C.style.backgroundImage = `url(${Q})`);
5872
+ Q && (h.className = Bn, h.src = Q, C.style.backgroundImage = `url(${Q})`);
5840
5873
  } else
5841
5874
  C.innerHTML = o.name;
5842
5875
  return C;
@@ -5846,18 +5879,18 @@ class Bn extends st {
5846
5879
  };
5847
5880
  A.on("channels", I);
5848
5881
  const B = (n) => A.channelId = n.channel.channelId;
5849
- super({ label: "Channel List", items: [], onItemClick: B, onToggle: j, iconButtonType: "channels" }), this.element.classList.add(en), this.hide();
5882
+ super({ label: "Channel List", items: [], onItemClick: B, onToggle: j, iconButtonType: "channels" }), this.element.classList.add(gn), this.hide();
5850
5883
  }
5851
5884
  }
5852
- const cg = {
5885
+ const dg = {
5853
5886
  "language-button-item": "_language-button-item_1dov5_1",
5854
5887
  "language-button-item-selected": "_language-button-item-selected_1dov5_6"
5855
5888
  };
5856
- var Si;
5857
- const nn = (Si = cg["language-button-item"]) != null ? Si : "";
5858
5889
  var Di;
5859
- const on = (Di = cg["language-button-item-selected"]) != null ? Di : "";
5860
- class Cn extends st {
5890
+ const Cn = (Di = dg["language-button-item"]) != null ? Di : "";
5891
+ var fi;
5892
+ const Qn = (fi = dg["language-button-item-selected"]) != null ? fi : "";
5893
+ class an extends It {
5861
5894
  constructor({ vindral: A }) {
5862
5895
  const e = () => {
5863
5896
  const s = A.languages.map((I) => ({
@@ -5866,8 +5899,8 @@ class Cn extends st {
5866
5899
  element: () => {
5867
5900
  const B = document.createElement("div");
5868
5901
  return B.className = [
5869
- nn,
5870
- I === A.language ? on : ""
5902
+ Cn,
5903
+ I === A.language ? Qn : ""
5871
5904
  ].join(" "), B.innerHTML = I, B;
5872
5905
  }
5873
5906
  }));
@@ -5878,7 +5911,7 @@ class Cn extends st {
5878
5911
  super({ label: "Language", items: [], onItemClick: g, onToggle: j, iconButtonType: "languages" }), this.hide();
5879
5912
  }
5880
5913
  }
5881
- class Qn extends X {
5914
+ class En extends X {
5882
5915
  constructor({ vindral: e }) {
5883
5916
  super(document.createElement("div"));
5884
5917
  t(this, "vindral");
@@ -5893,35 +5926,35 @@ class Qn extends X {
5893
5926
  this.element.style.cursor = "pointer", this.vindral = e, this.playButton = new GA("Play", this.playIcon(), this.onPlayClick), this.playButton.attach(this.element);
5894
5927
  }
5895
5928
  }
5896
- const an = "_item_5vhyo_1", En = "_title_5vhyo_10", OA = {
5897
- item: an,
5929
+ const rn = "_item_5vhyo_1", hn = "_title_5vhyo_10", OA = {
5930
+ item: rn,
5898
5931
  "item-selected": "_item-selected_5vhyo_6",
5899
- title: En,
5932
+ title: hn,
5900
5933
  "sub-title": "_sub-title_5vhyo_14",
5901
5934
  "hide-on-small": "_hide-on-small_5vhyo_21"
5902
5935
  };
5903
- var fi;
5904
- const rn = (fi = OA["hide-on-small"]) != null ? fi : "";
5905
5936
  var pi;
5906
- const hn = (pi = OA.item) != null ? pi : "";
5937
+ const cn = (pi = OA["hide-on-small"]) != null ? pi : "";
5907
5938
  var Fi;
5908
- const cn = (Fi = OA["item-selected"]) != null ? Fi : "";
5939
+ const dn = (Fi = OA.item) != null ? Fi : "";
5909
5940
  var yi;
5910
- const dn = (yi = OA.title) != null ? yi : "";
5941
+ const ln = (yi = OA["item-selected"]) != null ? yi : "";
5911
5942
  var Ri;
5912
- const ln = (Ri = OA["sub-title"]) != null ? Ri : "";
5913
- class un extends st {
5943
+ const un = (Ri = OA.title) != null ? Ri : "";
5944
+ var Gi;
5945
+ const mn = (Gi = OA["sub-title"]) != null ? Gi : "";
5946
+ class wn extends It {
5914
5947
  constructor({ vindral: A }) {
5915
5948
  const e = () => {
5916
5949
  const s = A.renditionLevels.map((I) => ({
5917
5950
  rendition: I,
5918
5951
  disabled: !1,
5919
5952
  element: () => {
5920
- var m, D, S;
5953
+ var l, D, S;
5921
5954
  const B = document.createElement("div");
5922
- B.className = [hn, I === A.currentRenditionLevel ? cn : ""].join(" ");
5923
- const n = document.createElement("span"), o = document.createElement("span"), { audio: C, video: a } = I, Q = a ? kg(a) : void 0, h = C ? Ug(C.sampleRate) : void 0, l = Gg(((m = a == null ? void 0 : a.bitRate) != null ? m : 0) + ((D = C == null ? void 0 : C.bitRate) != null ? D : 0));
5924
- return n.innerHTML = (S = Q != null ? Q : h) != null ? S : "", n.className = dn, o.innerHTML = l, o.className = ln, B.appendChild(n), B.appendChild(o), B;
5955
+ B.className = [dn, I === A.currentRenditionLevel ? ln : ""].join(" ");
5956
+ const n = document.createElement("span"), o = document.createElement("span"), { audio: C, video: a } = I, Q = a ? Ug(a) : void 0, h = C ? bg(C.sampleRate) : void 0, u = kg(((l = a == null ? void 0 : a.bitRate) != null ? l : 0) + ((D = C == null ? void 0 : C.bitRate) != null ? D : 0));
5957
+ return n.innerHTML = (S = Q != null ? Q : h) != null ? S : "", n.className = un, o.innerHTML = u, o.className = mn, B.appendChild(n), B.appendChild(o), B;
5925
5958
  }
5926
5959
  }));
5927
5960
  this.maxHeight = `calc(${Math.max(110, A.mediaElement.clientHeight)}px - 46px)`, this.updateItems(s);
@@ -5930,15 +5963,15 @@ class un extends st {
5930
5963
  const g = ({ rendition: s }) => {
5931
5964
  s.audio && (A.maxAudioBitRate = s.audio.bitRate), s.video && (A.maxVideoBitRate = s.video.bitRate, A.maxSize = s.video);
5932
5965
  };
5933
- super({ label: "Rendition Levels", items: [], onItemClick: g, onToggle: j, iconButtonType: "levels" }), this.element.classList.add(rn);
5966
+ super({ label: "Rendition Levels", items: [], onItemClick: g, onToggle: j, iconButtonType: "levels" }), this.element.classList.add(cn);
5934
5967
  }
5935
5968
  }
5936
- class mn extends X {
5969
+ class Sn extends X {
5937
5970
  constructor() {
5938
5971
  super(document.createElement("div")), this.element.style.flexGrow = "1";
5939
5972
  }
5940
5973
  }
5941
- class wn extends X {
5974
+ class Dn extends X {
5942
5975
  constructor({ vindral: e }) {
5943
5976
  super(document.createElement("div"));
5944
5977
  t(this, "vindral");
@@ -5953,11 +5986,11 @@ class wn extends X {
5953
5986
  this.element.style.cursor = "pointer", this.vindral = e, this.muteButton = new GA("Mute", this.muteIcon(), this.onMuteClick), this.muteButton.attach(this.element);
5954
5987
  }
5955
5988
  }
5956
- var Gi;
5957
- const ee = (Gi = hg.hidden) != null ? Gi : "";
5958
5989
  var ki;
5959
- const Sn = (ki = hg.bar) != null ? ki : "";
5960
- class Dn extends X {
5990
+ const ee = (ki = cg.hidden) != null ? ki : "";
5991
+ var Ui;
5992
+ const fn = (Ui = cg.bar) != null ? Ui : "";
5993
+ class pn extends X {
5961
5994
  constructor({
5962
5995
  vindral: e,
5963
5996
  onFullscreenClicked: g,
@@ -5970,8 +6003,8 @@ class Dn extends X {
5970
6003
  channelSelectionThumbnails: a,
5971
6004
  renditionLevelsEnabled: Q,
5972
6005
  languagesButtonEnabled: h,
5973
- oneToOneButtonEnabled: l,
5974
- thumbnailModule: m
6006
+ oneToOneButtonEnabled: u,
6007
+ thumbnailModule: l
5975
6008
  }) {
5976
6009
  super(document.createElement("div"));
5977
6010
  t(this, "items", []);
@@ -5999,74 +6032,94 @@ class Dn extends X {
5999
6032
  t(this, "onToggle", (e) => {
6000
6033
  this.listButtons().filter((g) => e !== g).forEach((g) => "hideList" in g && g.hideList());
6001
6034
  });
6002
- this.element.className = [Sn, ee].join(" ");
6003
- const D = new mn();
6035
+ this.element.className = [fn, ee].join(" ");
6036
+ const D = new Sn();
6004
6037
  this.oneToOneButton = new GA("One to One", "oneToOne", s), this.fullscreenButton = new GA("Fullscreen", "enter", g);
6005
- const S = new GA("Picture in Picture", "pip", I), q = new Bn({
6038
+ const S = new GA("Picture in Picture", "pip", I), q = new on({
6006
6039
  vindral: e,
6007
6040
  enabled: C,
6008
6041
  thumbnailsEnabled: a,
6009
- thumbnailModule: a ? m : void 0
6010
- }), H = new un({ vindral: e }), G = new Cn({ vindral: e });
6011
- this.volumeControls = new wn({ vindral: e }), this.playControls = new Qn({ vindral: e }), B && e.getOptions().pauseSupportEnabled && this.playControls.attach(this.element), e.getOptions().media !== "video" && this.volumeControls.attach(this.element), D.attach(this.element), G.attach(this.element), H.attach(this.element), q.attach(this.element), S.attach(this.element), this.oneToOneButton.attach(this.element), this.fullscreenButton.attach(this.element), this.items.push(
6042
+ thumbnailModule: a ? l : void 0
6043
+ }), H = new wn({ vindral: e }), G = new an({ vindral: e });
6044
+ this.volumeControls = new Dn({ vindral: e }), this.playControls = new En({ vindral: e }), B && e.getOptions().pauseSupportEnabled && this.playControls.attach(this.element), e.getOptions().media !== "video" && this.volumeControls.attach(this.element), D.attach(this.element), G.attach(this.element), H.attach(this.element), q.attach(this.element), S.attach(this.element), this.oneToOneButton.attach(this.element), this.fullscreenButton.attach(this.element), this.items.push(
6012
6045
  D,
6013
6046
  G,
6014
6047
  H,
6015
6048
  q,
6016
6049
  S,
6017
6050
  this.fullscreenButton
6018
- ), this.items.forEach((K) => "onToggle" in K && (K.onToggle = this.onToggle)), l || this.oneToOneButton.hide(), n || this.fullscreenButton.hide(), o || S.hide(), C || q.hide(), Q || H.hide(), h || G.hide(), navigator.maxTouchPoints < 1 && (this.element.addEventListener("mouseenter", () => this.isMouseInElement = !0), this.element.addEventListener("mouseleave", () => this.isMouseInElement = !1));
6051
+ ), this.items.forEach((K) => "onToggle" in K && (K.onToggle = this.onToggle)), u || this.oneToOneButton.hide(), n || this.fullscreenButton.hide(), o || S.hide(), C || q.hide(), Q || H.hide(), h || G.hide(), navigator.maxTouchPoints < 1 && (this.element.addEventListener("mouseenter", () => this.isMouseInElement = !0), this.element.addEventListener("mouseleave", () => this.isMouseInElement = !1));
6019
6052
  }
6020
6053
  }
6021
- const fn = "_buffering_1ccif_1", pn = "_hidden_1ccif_25", Fn = "_scaleout_1ccif_1", ke = {
6022
- buffering: fn,
6054
+ const Fn = "_buffering_1ccif_1", yn = "_hidden_1ccif_25", Rn = "_scaleout_1ccif_1", Ue = {
6055
+ buffering: Fn,
6023
6056
  "buffering-fullscreen": "_buffering-fullscreen_1ccif_16",
6024
- hidden: pn,
6057
+ hidden: yn,
6025
6058
  "buffering-indicator": "_buffering-indicator_1ccif_31",
6026
- scaleout: Fn
6059
+ scaleout: Rn
6027
6060
  };
6028
- var Ui;
6029
- const We = (Ui = ke.hidden) != null ? Ui : "";
6030
6061
  var bi;
6031
- const yn = (bi = ke.buffering) != null ? bi : "";
6062
+ const Ve = (bi = Ue.hidden) != null ? bi : "";
6032
6063
  var Ji;
6033
- const Ii = (Ji = ke["buffering-fullscreen"]) != null ? Ji : "";
6064
+ const Gn = (Ji = Ue.buffering) != null ? Ji : "";
6034
6065
  var Li;
6035
- const Rn = (Li = ke["buffering-indicator"]) != null ? Li : "";
6036
- class dg extends X {
6066
+ const Bi = (Li = Ue["buffering-fullscreen"]) != null ? Li : "";
6067
+ var vi;
6068
+ const kn = (vi = Ue["buffering-indicator"]) != null ? vi : "";
6069
+ class lg extends X {
6037
6070
  constructor() {
6038
6071
  super(document.createElement("div"));
6039
6072
  t(this, "indicator", document.createElement("div"));
6040
- t(this, "isHidden", () => this.element.classList.contains(We));
6073
+ t(this, "isHidden", () => this.element.classList.contains(Ve));
6041
6074
  t(this, "setHidden", (e) => e ? this.hide() : this.show());
6042
- t(this, "hide", () => this.element.classList.add(We));
6043
- t(this, "show", () => this.element.classList.remove(We));
6075
+ t(this, "hide", () => this.element.classList.add(Ve));
6076
+ t(this, "show", () => this.element.classList.remove(Ve));
6044
6077
  t(this, "fullscreen", (e) => {
6045
- e ? this.element.classList.add(Ii) : this.element.classList.remove(Ii);
6078
+ e ? this.element.classList.add(Bi) : this.element.classList.remove(Bi);
6046
6079
  });
6047
- this.element.className = yn, this.indicator.className = Rn, this.element.appendChild(this.indicator);
6080
+ this.element.className = Gn, this.indicator.className = kn, this.element.appendChild(this.indicator);
6048
6081
  }
6049
6082
  }
6050
- const Gn = "_button_137xm_21", kn = "_image_137xm_96", Un = "_overlay_137xm_116", bn = "_selected_137xm_134", Jn = "_hidden_137xm_139", Ln = "_disabled_137xm_143", XA = {
6051
- button: Gn,
6052
- "show-and-scaleup": "_show-and-scaleup_137xm_1",
6053
- image: kn,
6054
- overlay: Un,
6055
- selected: bn,
6056
- hidden: Jn,
6057
- disabled: Ln
6083
+ const Un = "_castoverlay_1n91l_1", bn = "_hidden_1n91l_20", ug = {
6084
+ castoverlay: Un,
6085
+ hidden: bn
6058
6086
  };
6059
- var vi;
6060
- const vn = (vi = XA.button) != null ? vi : "";
6061
6087
  var Ni;
6062
- const Ve = (Ni = XA.hidden) != null ? Ni : "";
6088
+ const Ze = (Ni = ug.hidden) != null ? Ni : "";
6063
6089
  var Hi;
6064
- const Nn = (Hi = XA.overlay) != null ? Hi : "";
6090
+ const Jn = (Hi = ug.castoverlay) != null ? Hi : "";
6091
+ class Ln extends X {
6092
+ constructor() {
6093
+ super(document.createElement("div"));
6094
+ t(this, "onClick");
6095
+ t(this, "setText", (e) => {
6096
+ this.element.innerText = e;
6097
+ });
6098
+ t(this, "hide", () => this.element.classList.add(Ze));
6099
+ t(this, "show", () => this.element.classList.remove(Ze));
6100
+ this.element.classList.add(Jn), this.element.classList.add(Ze), this.element.innerText = "device";
6101
+ }
6102
+ }
6103
+ const vn = "_button_137xm_21", Nn = "_image_137xm_96", Hn = "_overlay_137xm_116", Mn = "_selected_137xm_134", Pn = "_hidden_137xm_139", qn = "_disabled_137xm_143", XA = {
6104
+ button: vn,
6105
+ "show-and-scaleup": "_show-and-scaleup_137xm_1",
6106
+ image: Nn,
6107
+ overlay: Hn,
6108
+ selected: Mn,
6109
+ hidden: Pn,
6110
+ disabled: qn
6111
+ };
6065
6112
  var Mi;
6066
- const Bi = (Mi = XA.image) != null ? Mi : "";
6113
+ const Tn = (Mi = XA.button) != null ? Mi : "";
6067
6114
  var Pi;
6068
- const ni = (Pi = XA.selected) != null ? Pi : "";
6069
- class Hn extends X {
6115
+ const Oe = (Pi = XA.hidden) != null ? Pi : "";
6116
+ var qi;
6117
+ const Kn = (qi = XA.overlay) != null ? qi : "";
6118
+ var Ti;
6119
+ const ni = (Ti = XA.image) != null ? Ti : "";
6120
+ var Ki;
6121
+ const oi = (Ki = XA.selected) != null ? Ki : "";
6122
+ class Yn extends X {
6070
6123
  constructor({ title: e, onClick: g, imageUrl: s, selected: I }) {
6071
6124
  super(document.createElement("button"));
6072
6125
  t(this, "overlay");
@@ -6078,7 +6131,7 @@ class Hn extends X {
6078
6131
  g.style.backgroundImage = `url(${s})`, g.style.opacity = "1", e.style.opacity = "0";
6079
6132
  });
6080
6133
  t(this, "setSelected", (e) => {
6081
- e ? this.element.classList.add(ni) : this.element.classList.remove(ni);
6134
+ e ? this.element.classList.add(oi) : this.element.classList.remove(oi);
6082
6135
  });
6083
6136
  t(this, "setAnimationDelay", (e) => {
6084
6137
  this.element.style.animationDelay = e;
@@ -6086,13 +6139,13 @@ class Hn extends X {
6086
6139
  t(this, "hideLoading", () => {
6087
6140
  this.loadingOverlay.hide();
6088
6141
  });
6089
- t(this, "isHidden", () => this.element.classList.contains(Ve));
6142
+ t(this, "isHidden", () => this.element.classList.contains(Oe));
6090
6143
  t(this, "setHidden", (e) => e ? this.hide() : this.show());
6091
- t(this, "hide", () => this.element.classList.add(Ve));
6092
- t(this, "show", () => this.element.classList.remove(Ve));
6093
- this.element.className = vn, I && this.setSelected(I), this.element.onclick = () => {
6144
+ t(this, "hide", () => this.element.classList.add(Oe));
6145
+ t(this, "show", () => this.element.classList.remove(Oe));
6146
+ this.element.className = Tn, I && this.setSelected(I), this.element.onclick = () => {
6094
6147
  this.loadingOverlay.show(), g();
6095
- }, this.imageHolder1 = document.createElement("div"), this.imageHolder1.className = Bi, this.imageHolder1.style.animationFillMode = "forwards", this.imageHolder2 = document.createElement("div"), this.imageHolder2.className = Bi, this.imageHolder2.style.animationFillMode = "forwards", s && (this.imageHolder1.style.backgroundImage = `url(${s})`, this.isImageHolder1Active = !0), this.loadingOverlay = new dg(), this.loadingOverlay.attach(this.element), this.loadingOverlay.hide(), this.element.appendChild(this.imageHolder1), this.element.appendChild(this.imageHolder2), this.overlay = document.createElement("div"), this.overlay.className = Nn, this.element.appendChild(this.overlay);
6148
+ }, this.imageHolder1 = document.createElement("div"), this.imageHolder1.className = ni, this.imageHolder1.style.animationFillMode = "forwards", this.imageHolder2 = document.createElement("div"), this.imageHolder2.className = ni, this.imageHolder2.style.animationFillMode = "forwards", s && (this.imageHolder1.style.backgroundImage = `url(${s})`, this.isImageHolder1Active = !0), this.loadingOverlay = new lg(), this.loadingOverlay.attach(this.element), this.loadingOverlay.hide(), this.element.appendChild(this.imageHolder1), this.element.appendChild(this.imageHolder2), this.overlay = document.createElement("div"), this.overlay.className = Kn, this.element.appendChild(this.overlay);
6096
6149
  const B = document.createElement("span");
6097
6150
  B.innerHTML = e, this.element.appendChild(B), this.show();
6098
6151
  }
@@ -6106,17 +6159,17 @@ class Hn extends X {
6106
6159
  }
6107
6160
  }
6108
6161
  }
6109
- const Mn = "_container_btpgd_13", Pn = "_hidden_btpgd_37", qn = "_disabled_btpgd_41", lg = {
6162
+ const xn = "_container_btpgd_13", Wn = "_hidden_btpgd_37", Vn = "_disabled_btpgd_41", mg = {
6110
6163
  "channel-selection-overlay": "_channel-selection-overlay_btpgd_1",
6111
- container: Mn,
6112
- hidden: Pn,
6113
- disabled: qn
6164
+ container: xn,
6165
+ hidden: Wn,
6166
+ disabled: Vn
6114
6167
  };
6115
- var qi;
6116
- const Ze = (qi = lg.hidden) != null ? qi : "";
6117
- var Ti;
6118
- const Tn = (Ti = lg.container) != null ? Ti : "";
6119
- class Kn extends X {
6168
+ var Yi;
6169
+ const Xe = (Yi = mg.hidden) != null ? Yi : "";
6170
+ var xi;
6171
+ const Zn = (xi = mg.container) != null ? xi : "";
6172
+ class On extends X {
6120
6173
  constructor({ vindral: e, thumbnailModule: g }) {
6121
6174
  var s;
6122
6175
  super(document.createElement("div"));
@@ -6128,10 +6181,10 @@ class Kn extends X {
6128
6181
  g.setSelected(s.channelId === e.channelId);
6129
6182
  }), e.channelId !== this.vindral.channelId && (this.vindral.channelId = e.channelId);
6130
6183
  });
6131
- t(this, "isHidden", () => this.element.classList.contains(Ze));
6184
+ t(this, "isHidden", () => this.element.classList.contains(Xe));
6132
6185
  t(this, "setHidden", (e) => e ? this.hide() : this.show());
6133
- t(this, "hide", () => this.element.classList.add(Ze));
6134
- t(this, "show", () => this.element.classList.remove(Ze));
6186
+ t(this, "hide", () => this.element.classList.add(Xe));
6187
+ t(this, "show", () => this.element.classList.remove(Xe));
6135
6188
  this.thumbnailModule = g, this.list = /* @__PURE__ */ new Map(), this.vindral = e, this.vindral.on("context switch", (I) => {
6136
6189
  if (I === "completed") {
6137
6190
  this.list.forEach((n) => n.hideLoading());
@@ -6148,7 +6201,7 @@ class Kn extends X {
6148
6201
  var C;
6149
6202
  if (!B.isLive)
6150
6203
  return;
6151
- const o = new Hn({
6204
+ const o = new Yn({
6152
6205
  title: B.name,
6153
6206
  onClick: () => {
6154
6207
  this.setSelected(B);
@@ -6163,14 +6216,14 @@ class Kn extends X {
6163
6216
  var n;
6164
6217
  I.setImageUrl((n = this.thumbnailModule) == null ? void 0 : n.getImageUrl(B));
6165
6218
  });
6166
- }), this.element.className = Tn, this.show();
6219
+ }), this.element.className = Zn, this.show();
6167
6220
  }
6168
6221
  }
6169
- const Yn = "_fullscreen_1v9d8_1", xn = {
6170
- fullscreen: Yn
6222
+ const Xn = "_fullscreen_1v9d8_1", zn = {
6223
+ fullscreen: Xn
6171
6224
  };
6172
- var Ki;
6173
- const Oe = (Ki = xn.fullscreen) != null ? Ki : "", YA = class extends z {
6225
+ var Wi;
6226
+ const ze = (Wi = zn.fullscreen) != null ? Wi : "", YA = class extends z {
6174
6227
  constructor(e) {
6175
6228
  super();
6176
6229
  t(this, "container");
@@ -6180,14 +6233,14 @@ const Oe = (Ki = xn.fullscreen) != null ? Ki : "", YA = class extends z {
6180
6233
  t(this, "request", () => this.requestFn());
6181
6234
  t(this, "exit", () => this.exitFn());
6182
6235
  t(this, "onChange", () => this.emit("on fullscreen change", this.isFullscreen()));
6183
- t(this, "isFullscreen", () => !!(document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen || this.container.classList.contains(Oe)));
6236
+ t(this, "isFullscreen", () => !!(document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen || this.container.classList.contains(ze)));
6184
6237
  t(this, "isSupported", () => YA.isFullscreenApiSupported(this.container) || !this.isInIframe());
6185
6238
  t(this, "isInIframe", () => window.location !== window.parent.location);
6186
6239
  this.container = e, document.addEventListener("webkitfullscreenchange", this.onChange), document.addEventListener("mozfullscreenchange", this.onChange), document.addEventListener("fullscreenchange", this.onChange), this.container.addEventListener("webkitendfullscreen", this.onChange);
6187
6240
  }
6188
6241
  get requestFn() {
6189
6242
  return YA.isFullscreenApiSupported(this.container) ? (this.container.requestFullscreen || this.container.webkitRequestFullscreen || this.container.webkitEnterFullscreen || this.container.mozRequestFullScreen).bind(this.container) : () => new Promise((e) => {
6190
- this.container.classList.add(Oe), e();
6243
+ this.container.classList.add(ze), e();
6191
6244
  });
6192
6245
  }
6193
6246
  get exitFn() {
@@ -6196,28 +6249,28 @@ const Oe = (Ki = xn.fullscreen) != null ? Ki : "", YA = class extends z {
6196
6249
  return (e || g || s).bind(document);
6197
6250
  }
6198
6251
  return () => new Promise((e) => {
6199
- this.container.classList.remove(Oe), e();
6252
+ this.container.classList.remove(ze), e();
6200
6253
  });
6201
6254
  }
6202
6255
  };
6203
6256
  let kA = YA;
6204
6257
  t(kA, "isFullscreenApiSupported", (e) => (e.requestFullscreen || e.webkitRequestFullscreen || e.webkitEnterFullscreen || e.mozRequestFullScreen) !== void 0);
6205
- const Wn = "_player_1jt4y_1", It = {
6206
- player: Wn,
6258
+ const jn = "_player_1jt4y_1", Bt = {
6259
+ player: jn,
6207
6260
  "one-to-one": "_one-to-one_1jt4y_19",
6208
6261
  "audio-only": "_audio-only_1jt4y_28"
6209
- }, Vn = "_playoverlay_1niji_1", Zn = "_hidden_1niji_17", Bt = {
6210
- playoverlay: Vn,
6211
- hidden: Zn,
6262
+ }, _n = "_playoverlay_1niji_1", $n = "_hidden_1niji_17", nt = {
6263
+ playoverlay: _n,
6264
+ hidden: $n,
6212
6265
  "playoverlay-indicator": "_playoverlay-indicator_1niji_23"
6213
6266
  };
6214
- var Yi;
6215
- const te = (Yi = Bt.hidden) != null ? Yi : "";
6216
- var xi;
6217
- const On = (xi = Bt.playoverlay) != null ? xi : "";
6218
- var Wi;
6219
- const Xn = (Wi = Bt["playoverlay-indicator"]) != null ? Wi : "";
6220
- class zn extends X {
6267
+ var Vi;
6268
+ const te = (Vi = nt.hidden) != null ? Vi : "";
6269
+ var Zi;
6270
+ const Ao = (Zi = nt.playoverlay) != null ? Zi : "";
6271
+ var Oi;
6272
+ const eo = (Oi = nt["playoverlay-indicator"]) != null ? Oi : "";
6273
+ class to extends X {
6221
6274
  constructor() {
6222
6275
  super(document.createElement("div"));
6223
6276
  t(this, "onClick");
@@ -6226,32 +6279,12 @@ class zn extends X {
6226
6279
  t(this, "setHidden", (e) => e ? this.hide() : this.show());
6227
6280
  t(this, "hide", () => this.element.classList.add(te));
6228
6281
  t(this, "show", () => this.element.classList.remove(te));
6229
- this.element.classList.add(On), this.element.classList.add(te), this.indicator.className = Xn, this.element.appendChild(this.indicator), this.element.onclick = () => {
6282
+ this.element.classList.add(Ao), this.element.classList.add(te), this.indicator.className = eo, this.element.appendChild(this.indicator), this.element.onclick = () => {
6230
6283
  this.onClick && this.onClick();
6231
6284
  };
6232
6285
  }
6233
6286
  }
6234
- const jn = "_castoverlay_1n91l_1", _n = "_hidden_1n91l_20", ug = {
6235
- castoverlay: jn,
6236
- hidden: _n
6237
- };
6238
- var Vi;
6239
- const Xe = (Vi = ug.hidden) != null ? Vi : "";
6240
- var Zi;
6241
- const $n = (Zi = ug.castoverlay) != null ? Zi : "";
6242
- class Ao extends X {
6243
- constructor() {
6244
- super(document.createElement("div"));
6245
- t(this, "onClick");
6246
- t(this, "setText", (e) => {
6247
- this.element.innerText = e;
6248
- });
6249
- t(this, "hide", () => this.element.classList.add(Xe));
6250
- t(this, "show", () => this.element.classList.remove(Xe));
6251
- this.element.classList.add($n), this.element.classList.add(Xe), this.element.innerText = "device";
6252
- }
6253
- }
6254
- class eo extends z {
6287
+ class io extends z {
6255
6288
  constructor({ vindral: e, refreshEveryMs: g }) {
6256
6289
  super();
6257
6290
  t(this, "thumbnails", /* @__PURE__ */ new Map());
@@ -6276,11 +6309,11 @@ class eo extends z {
6276
6309
  return this.thumbnails.get(e.channelId);
6277
6310
  }
6278
6311
  refreshThumbnails() {
6279
- return u(this, null, function* () {
6312
+ return m(this, null, function* () {
6280
6313
  if (!this.isFetching) {
6281
6314
  this.isFetching = !0;
6282
6315
  try {
6283
- const e = this.channels.map((g) => u(this, null, function* () {
6316
+ const e = this.channels.map((g) => m(this, null, function* () {
6284
6317
  const s = g.thumbnailUrls.length < 2 ? 0 : Math.ceil(g.thumbnailUrls.length / 2), I = g.thumbnailUrls[s];
6285
6318
  if (I) {
6286
6319
  const B = yield fetch(I);
@@ -6299,12 +6332,12 @@ class eo extends z {
6299
6332
  });
6300
6333
  }
6301
6334
  }
6302
- var Oi;
6303
- const to = (Oi = It.player) != null ? Oi : "";
6304
6335
  var Xi;
6305
- const ze = (Xi = It["one-to-one"]) != null ? Xi : "";
6336
+ const go = (Xi = Bt.player) != null ? Xi : "";
6306
6337
  var zi;
6307
- const io = (zi = It["audio-only"]) != null ? zi : "", go = {
6338
+ const je = (zi = Bt["one-to-one"]) != null ? zi : "";
6339
+ var ji;
6340
+ const so = (ji = Bt["audio-only"]) != null ? ji : "", Io = {
6308
6341
  controlsEnabled: !0,
6309
6342
  castEnabled: !0,
6310
6343
  channelSelectionEnabled: !0,
@@ -6314,22 +6347,22 @@ const io = (zi = It["audio-only"]) != null ? zi : "", go = {
6314
6347
  iosWakeLockEnabled: !0,
6315
6348
  hideTimeout: 2e3,
6316
6349
  pauseButtonEnabled: !0
6317
- }, so = (i) => !ig(i);
6318
- class Bo {
6350
+ }, Bo = (i) => !gg(i);
6351
+ class oo {
6319
6352
  constructor(A, e) {
6320
6353
  t(this, "core");
6321
6354
  t(this, "castSender");
6322
6355
  t(this, "options");
6323
6356
  t(this, "state");
6324
6357
  t(this, "playerElement", document.createElement("div"));
6325
- t(this, "bufferingOverlay", new dg());
6326
- t(this, "playOverlay", new zn());
6327
- t(this, "castOverlay", new Ao());
6358
+ t(this, "bufferingOverlay", new lg());
6359
+ t(this, "playOverlay", new to());
6360
+ t(this, "castOverlay", new Ln());
6328
6361
  t(this, "channelSelectionList");
6329
6362
  t(this, "bar");
6330
6363
  t(this, "stateInterval");
6331
6364
  t(this, "thumbnailModule");
6332
- t(this, "browser", ag());
6365
+ t(this, "browser", Eg());
6333
6366
  t(this, "unload", () => {
6334
6367
  var A;
6335
6368
  this.stateInterval && window.clearInterval(this.stateInterval), this.core.unload(), this.playerElement.remove(), (A = this.thumbnailModule) == null || A.stop();
@@ -6337,7 +6370,7 @@ class Bo {
6337
6370
  t(this, "attach", (A) => {
6338
6371
  this.stateInterval && window.clearInterval(this.stateInterval), this.stateInterval = window.setInterval(this.checkState, 100), this.playerElement.remove(), A.appendChild(this.playerElement);
6339
6372
  });
6340
- t(this, "setupCastSender", () => u(this, null, function* () {
6373
+ t(this, "setupCastSender", () => m(this, null, function* () {
6341
6374
  if (this.options.castEnabled) {
6342
6375
  try {
6343
6376
  yield this.castSender.init();
@@ -6358,19 +6391,19 @@ class Bo {
6358
6391
  A.detail === 2 && (A.target instanceof HTMLVideoElement || A.target instanceof HTMLCanvasElement) && this.toggleFullscreen();
6359
6392
  });
6360
6393
  t(this, "togglePip", () => this.core.pictureInPicture.isActive() ? this.core.pictureInPicture.exit() : (this.triggerUserInput(), this.core.pictureInPicture.enter()));
6361
- t(this, "toggleFullscreen", () => u(this, null, function* () {
6362
- return this.state.fullscreen.isFullscreen() ? this.exitFullscreen() : (yield this.triggerUserInput(), this.enterFullscreen());
6394
+ t(this, "toggleFullscreen", () => m(this, null, function* () {
6395
+ return this.state.fullscreen.isFullscreen() ? this.exitFullscreen() : (yield this.triggerUserInput(), this.iosHackResetSize(), this.enterFullscreen());
6363
6396
  }));
6364
- t(this, "triggerUserInput", () => u(this, null, function* () {
6397
+ t(this, "triggerUserInput", () => m(this, null, function* () {
6365
6398
  if (this.browser.platform.isIOS) {
6366
6399
  const A = this.core.muted;
6367
6400
  this.core.muted = !A, this.core.muted = A;
6368
6401
  }
6369
6402
  }));
6370
6403
  t(this, "toggleOneToOne", () => {
6371
- this.playerElement.classList.contains(ze) ? this.playerElement.classList.remove(ze) : this.playerElement.classList.add(ze);
6404
+ this.playerElement.classList.contains(je) ? this.playerElement.classList.remove(je) : this.playerElement.classList.add(je);
6372
6405
  });
6373
- t(this, "enterFullscreen", () => u(this, null, function* () {
6406
+ t(this, "enterFullscreen", () => m(this, null, function* () {
6374
6407
  this.bar.fullscreenButton.setIcon("exit"), yield this.state.fullscreen.request(), this.lockOrientation();
6375
6408
  }));
6376
6409
  t(this, "exitFullscreen", () => (this.bar.fullscreenButton.setIcon("enter"), this.unlockOrientation(), this.state.fullscreen.exit()));
@@ -6393,23 +6426,23 @@ class Bo {
6393
6426
  return (e = (A = this.options.channelSelectionOptions) == null ? void 0 : A.barButton) != null && e.enabled && ((s = (g = this.options.channelSelectionOptions) == null ? void 0 : g.barButton) != null && s.thumbnails) ? !0 : !!((B = (I = this.options.channelSelectionOptions) == null ? void 0 : I.list) != null && B.enabled);
6394
6427
  });
6395
6428
  t(this, "bumpInteractTime", () => void (this.state.lastInteractionTime = Date.now()));
6396
- var o, C, a, Q, h, l;
6397
- const g = r(r({}, go), e);
6398
- this.options = g, this.playerElement.className = to, so(A) ? this.core = A : this.core = new EA(A);
6429
+ var o, C, a, Q, h, u;
6430
+ const g = r(r({}, Io), e);
6431
+ this.options = g, this.playerElement.className = go, Bo(A) ? this.core = A : this.core = new EA(A);
6399
6432
  const s = !kA.isFullscreenApiSupported(this.playerElement) && kA.isFullscreenApiSupported(this.core.mediaElement) ? this.core.mediaElement : this.playerElement;
6400
6433
  this.state = {
6401
6434
  isBuffering: !1,
6402
6435
  fullscreen: new kA(s),
6403
6436
  lastInteractionTime: 0
6404
- }, this.needsThumbnails() && (this.thumbnailModule = new eo({
6437
+ }, this.needsThumbnails() && (this.thumbnailModule = new io({
6405
6438
  vindral: this.core,
6406
6439
  refreshEveryMs: e == null ? void 0 : e.thumbnailUpdateInterval
6407
- }), this.thumbnailModule.start()), (C = (o = this.options.channelSelectionOptions) == null ? void 0 : o.list) != null && C.enabled && (this.channelSelectionList = new Kn({
6440
+ }), this.thumbnailModule.start()), (C = (o = this.options.channelSelectionOptions) == null ? void 0 : o.list) != null && C.enabled && (this.channelSelectionList = new On({
6408
6441
  vindral: this.core,
6409
6442
  thumbnailModule: this.thumbnailModule
6410
6443
  }));
6411
- const I = (e == null ? void 0 : e.channelSelectionEnabled) || ((Q = (a = e == null ? void 0 : e.channelSelectionOptions) == null ? void 0 : a.barButton) == null ? void 0 : Q.enabled), B = (l = (h = e == null ? void 0 : e.channelSelectionOptions) == null ? void 0 : h.barButton) == null ? void 0 : l.thumbnails;
6412
- this.bar = new Dn(b(r({
6444
+ const I = (e == null ? void 0 : e.channelSelectionEnabled) || ((Q = (a = e == null ? void 0 : e.channelSelectionOptions) == null ? void 0 : a.barButton) == null ? void 0 : Q.enabled), B = (u = (h = e == null ? void 0 : e.channelSelectionOptions) == null ? void 0 : h.barButton) == null ? void 0 : u.thumbnails;
6445
+ this.bar = new pn(b(r({
6413
6446
  vindral: this.core,
6414
6447
  thumbnailModule: this.thumbnailModule
6415
6448
  }, g), {
@@ -6421,22 +6454,22 @@ class Bo {
6421
6454
  onFullscreenClicked: () => this.toggleFullscreen(),
6422
6455
  onOneToOneClicked: () => this.toggleOneToOne(),
6423
6456
  onPipClicked: () => this.togglePip()
6424
- })), this.core.media === "audio" && (this.playerElement.classList.add(io), this.options.controlsEnabled && this.bar.show());
6457
+ })), this.core.media === "audio" && (this.playerElement.classList.add(so), this.options.controlsEnabled && this.bar.show());
6425
6458
  const n = this.core.getCastOptions();
6426
- this.castSender = new qg({
6459
+ this.castSender = new Tg({
6427
6460
  background: this.options.castBackground,
6428
6461
  receiverApplicationId: this.options.castReceiverApplicationId,
6429
6462
  options: n
6430
- }), this.setupCastSender(), this.core.on("needs user input", (m) => {
6431
- if (this.bar.updateState(), m.forVideo && this.core.media !== "audio" || !this.options.controlsEnabled) {
6463
+ }), this.setupCastSender(), this.core.on("needs user input", (l) => {
6464
+ if (this.bar.updateState(), l.forVideo && this.core.media !== "audio" || !this.options.controlsEnabled) {
6432
6465
  this.playOverlay.show();
6433
6466
  return;
6434
6467
  }
6435
- m.forAudio && this.options.controlsEnabled && (this.state.lastInteractionTime = 0, this.bar.show());
6468
+ l.forAudio && this.options.controlsEnabled && (this.state.lastInteractionTime = 0, this.bar.show());
6436
6469
  }), this.core.on("volume state", () => {
6437
6470
  this.bar.updateState();
6438
- }), this.core.on("playback state", (m) => {
6439
- switch (this.bar.updateState(), m) {
6471
+ }), this.core.on("playback state", (l) => {
6472
+ switch (this.bar.updateState(), l) {
6440
6473
  case "paused":
6441
6474
  this.bumpInteractTime(), this.bufferingOverlay.hide(), this.options.controlsEnabled && this.bar.show(), (this.core.media !== "audio" || !this.options.controlsEnabled) && this.playOverlay.show();
6442
6475
  break;
@@ -6452,24 +6485,27 @@ class Bo {
6452
6485
  }
6453
6486
  }), this.core.attach(this.playerElement), this.bufferingOverlay.attach(this.playerElement), this.playOverlay.attach(this.playerElement), this.castOverlay.attach(this.playerElement), this.channelSelectionList && this.channelSelectionList.attach(this.playerElement), this.bar.attach(this.playerElement), this.playerElement.addEventListener("click", this.onClick), this.playerElement.addEventListener("mousemove", this.onMouseMove), this.playOverlay.onClick = () => {
6454
6487
  this.core.userInput(), this.playOverlay.hide();
6455
- }, this.state.fullscreen.on("on fullscreen change", (m) => {
6456
- m ? this.bar.fullscreenButton.setIcon("exit") : this.bar.fullscreenButton.setIcon("enter");
6488
+ }, this.state.fullscreen.on("on fullscreen change", (l) => {
6489
+ l ? this.bar.fullscreenButton.setIcon("exit") : this.bar.fullscreenButton.setIcon("enter");
6457
6490
  }), this.bufferingOverlay.fullscreen(!0);
6458
6491
  }
6492
+ iosHackResetSize() {
6493
+ this.core.emitter.emit("ios-hack: reset size");
6494
+ }
6459
6495
  }
6460
6496
  export {
6461
- Wg as AUTHENTICATION_EXPIRED_CODE,
6462
- xg as AUTHENTICATION_FAILED_CODE,
6463
- Mg as ApiClient,
6464
- Vg as CHANNEL_NOT_FOUND_CODE,
6465
- Yg as CONNECTION_FAILED_AFTER_RETRIES_CODE,
6466
- Kg as CONNECTION_FAILED_CODE,
6467
- qg as CastSender,
6468
- _g as DISCONNECTED_BY_EDGE,
6469
- Og as INACTIVITY_CODE,
6470
- pe as Level,
6471
- Zg as NO_INCOMING_DATA,
6472
- Bo as Player,
6497
+ Vg as AUTHENTICATION_EXPIRED_CODE,
6498
+ Wg as AUTHENTICATION_FAILED_CODE,
6499
+ Pg as ApiClient,
6500
+ Zg as CHANNEL_NOT_FOUND_CODE,
6501
+ xg as CONNECTION_FAILED_AFTER_RETRIES_CODE,
6502
+ Yg as CONNECTION_FAILED_CODE,
6503
+ Tg as CastSender,
6504
+ $g as DISCONNECTED_BY_EDGE,
6505
+ Xg as INACTIVITY_CODE,
6506
+ Fe as Level,
6507
+ Og as NO_INCOMING_DATA,
6508
+ oo as Player,
6473
6509
  EA as Vindral,
6474
- F as VindralError
6510
+ p as VindralError
6475
6511
  };