1(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[314],{98272:function(__unused_webpack_module,exports,__webpack_require__){eval('__webpack_require__(30562);\n__webpack_require__(42669);\n/*\n @license\n Shaka Player\n Copyright 2016 Google LLC\n SPDX-License-Identifier: Apache-2.0\n*/\n(function () {\n var innerGlobal = typeof window != "undefined" ? window : __webpack_require__.g;\n var exportTo = {};\n (function (window, global, module) {\n /*\n Copyright The Closure Library Authors.\n SPDX-License-Identifier: Apache-2.0\n */\n var r;\n function aa(a) {\n var b = 0;\n return function () {\n return b < a.length ? {\n done: !1,\n value: a[b++]\n } : {\n done: !0\n };\n };\n }\n var ca = "function" == typeof Object.defineProperties ? Object.defineProperty : function (a, b, c) {\n if (a == Array.prototype || a == Object.prototype) return a;\n a[b] = c.value;\n return a;\n };\n function da(a) {\n a = ["object" == typeof globalThis && globalThis, a, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof global && global];\n for (var b = 0; b < a.length; ++b) {\n var c = a[b];\n if (c && c.Math == Math) return c;\n }\n throw Error("Cannot find global object");\n }\n var ea = da(this);\n function fa(a, b) {\n if (b) a: {\n var c = ea;\n a = a.split(".");\n for (var d = 0; d < a.length - 1; d++) {\n var e = a[d];\n if (!(e in c)) break a;\n c = c[e];\n }\n a = a[a.length - 1];\n d = c[a];\n b = b(d);\n b != d && null != b && ca(c, a, {\n configurable: !0,\n writable: !0,\n value: b\n });\n }\n }\n fa("Symbol", function (a) {\n function b(f) {\n if (this instanceof b) throw new TypeError("Symbol is not a constructor");\n return new c(d + (f || "") + "_" + e++, f);\n }\n function c(f, g) {\n this.g = f;\n ca(this, "description", {\n configurable: !0,\n writable: !0,\n value: g\n });\n }\n if (a) return a;\n c.prototype.toString = function () {\n return this.g;\n };\n var d = "jscomp_symbol_" + (1E9 * Math.random() >>> 0) + "_",\n e = 0;\n return b;\n });\n fa("Symbol.iterator", function (a) {\n if (a) return a;\n a = Symbol("Symbol.iterator");\n for (var b = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "), c = 0; c < b.length; c++) {\n var d = ea[b[c]];\n "function" === typeof d && "function" != typeof d.prototype[a] && ca(d.prototype, a, {\n configurable: !0,\n writable: !0,\n value: function value() {\n return ha(aa(this));\n }\n });\n }\n return a;\n });\n function ha(a) {\n a = {\n next: a\n };\n a[Symbol.iterator] = function () {\n return this;\n };\n return a;\n }\n function t(a) {\n var b = "undefined" != typeof Symbol && Symbol.iterator && a[Symbol.iterator];\n return b ? b.call(a) : {\n next: aa(a)\n };\n }\n function w(a) {\n if (!(a instanceof Array)) {\n a = t(a);\n for (var b, c = []; !(b = a.next()).done;) c.push(b.value);\n a = c;\n }\n return a;\n }\n var ia = "function" == typeof Object.create ? Object.create : function (a) {\n function b() {}\n b.prototype = a;\n return new b();\n },\n ja;\n if ("function" == typeof Object.setPrototypeOf) ja = Object.setPrototypeOf;else {\n var ka;\n a: {\n var la = {\n a: !0\n },\n ma = {};\n try {\n ma.__proto__ = la;\n ka = ma.a;\n break a;\n } catch (a) {}\n ka = !1;\n }\n ja = ka ? function (a, b) {\n a.__proto__ = b;\n if (a.__proto__ !== b) throw new TypeError(a + " is not extensible");\n return a;\n } : null;\n }\n var na = ja;\n function oa(a, b) {\n a.prototype = ia(b.prototype);\n a.prototype.constructor = a;\n if (na) na(a, b);else for (var c in b) if ("prototype" != c) if (Object.defineProperties) {\n var d = Object.getOwnPropertyDescriptor(b, c);\n d && Object.defineProperty(a, c, d);\n } else a[c] = b[c];\n a.ej = b.prototype;\n }\n function pa() {\n this.o = !1;\n this.l = null;\n this.h = void 0;\n this.g = 1;\n this.j = this.m = 0;\n this.u = this.i = null;\n }\n function qa(a) {\n if (a.o) throw new TypeError("Generator is already running");\n a.o = !0;\n }\n pa.prototype.s = function (a) {\n this.h = a;\n };\n function ra(a, b) {\n a.i = {\n Mf: b,\n Xf: !0\n };\n a.g = a.m || a.j;\n }\n pa.prototype["return"] = function (a) {\n this.i = {\n "return": a\n };\n this.g = this.j;\n };\n function C(a, b, c) {\n a.g = c;\n return {\n value: b\n };\n }\n pa.prototype.B = function (a) {\n this.g = a;\n };\n function E(a) {\n a.g = 0;\n }\n function sa(a, b, c) {\n a.m = b;\n void 0 != c && (a.j = c);\n }\n function ta(a, b) {\n a.m = 0;\n a.j = b || 0;\n }\n function ua(a, b, c) {\n a.g = b;\n a.m = c || 0;\n }\n function va(a, b) {\n a.m = b || 0;\n b = a.i.Mf;\n a.i = null;\n return b;\n }\n function wa(a) {\n a.u = [a.i];\n a.m = 0;\n a.j = 0;\n }\n function ya(a, b) {\n var c = a.u.splice(0)[0];\n (c = a.i = a.i || c) ? c.Xf ? a.g = a.m || a.j : void 0 != c.B && a.j < c.B ? (a.g = c.B, a.i = null) : a.g = a.j : a.g = b;\n }\n function za(a) {\n this.g = new pa();\n this.h = a;\n }\n function Aa(a, b) {\n qa(a.g);\n var c = a.g.l;
1\n if (c) return Ba(a, "return" in c ? c["return"] : function (d) {\n return {\n value: d,\n done: !0\n };\n }, b, a.g["return"]);\n a.g["return"](b);\n return Ca(a);\n }\n function Ba(a, b, c, d) {\n try {\n var e = b.call(a.g.l, c);\n if (!(e instanceof Object)) throw new TypeError("Iterator result " + e + " is not an object");\n if (!e.done) return a.g.o = !1, e;\n var f = e.value;\n } catch (g) {\n return a.g.l = null, ra(a.g, g), Ca(a);\n }\n a.g.l = null;\n d.call(a.g, f);\n return Ca(a);\n }\n function Ca(a) {\n for (; a.g.g;) try {\n var b = a.h(a.g);\n if (b) return a.g.o = !1, {\n value: b.value,\n done: !1\n };\n } catch (c) {\n a.g.h = void 0, ra(a.g, c);\n }\n a.g.o = !1;\n if (a.g.i) {\n b = a.g.i;\n a.g.i = null;\n if (b.Xf) throw b.Mf;\n return {\n value: b["return"],\n done: !0\n };\n }\n return {\n value: void 0,\n done: !0\n };\n }\n function Da(a) {\n this.next = function (b) {\n qa(a.g);\n a.g.l ? b = Ba(a, a.g.l.next, b, a.g.s) : (a.g.s(b), b = Ca(a));\n return b;\n };\n this["throw"] = function (b) {\n qa(a.g);\n a.g.l ? b = Ba(a, a.g.l["throw"], b, a.g.s) : (ra(a.g, b), b = Ca(a));\n return b;\n };\n this["return"] = function (b) {\n return Aa(a, b);\n };\n this[Symbol.iterator] = function () {\n return this;\n };\n }\n function Ea(a) {\n function b(d) {\n return a.next(d);\n }\n function c(d) {\n return a["throw"](d);\n }\n return new Promise(function (d, e) {\n function f(g) {\n g.done ? d(g.value) : Promise.resolve(g.value).then(b, c).then(f, e);\n }\n f(a.next());\n });\n }\n function K(a) {\n return Ea(new Da(new za(a)));\n }\n function Fa() {\n for (var a = Number(this), b = [], c = a; c < arguments.length; c++) b[c - a] = arguments[c];\n return b;\n }\n fa("Promise", function (a) {\n function b(g) {\n this.h = 0;\n this.i = void 0;\n this.g = [];\n this.o = !1;\n var h = this.j();\n try {\n g(h.resolve, h.reject);\n } catch (k) {\n h.reject(k);\n }\n }\n function c() {\n this.g = null;\n }\n function d(g) {\n return g instanceof b ? g : new b(function (h) {\n h(g);\n });\n }\n if (a) return a;\n c.prototype.h = function (g) {\n if (null == this.g) {\n this.g = [];\n var h = this;\n this.i(function () {\n h.l();\n });\n }\n this.g.push(g);\n };\n var e = ea.setTimeout;\n c.prototype.i = function (g) {\n e(g, 0);\n };\n c.prototype.l = function () {\n for (; this.g && this.g.length;) {\n var g = this.g;\n this.g = [];\n for (var h = 0; h < g.length; ++h) {\n var k = g[h];\n g[h] = null;\n try {\n k();\n } catch (l) {\n this.j(l);\n }\n }\n }\n this.g = null;\n };\n c.prototype.j = function (g) {\n this.i(function () {\n throw g;\n });\n };\n b.prototype.j = function () {\n function g(l) {\n return function (m) {\n k || (k = !0, l.call(h, m));\n };\n }\n var h = this,\n k = !1;\n return {\n resolve: g(this.F),\n reject: g(this.l)\n };\n };\n b.prototype.F = function (g) {\n if (g === this) this.l(new TypeError("A Promise cannot resolve to itself"));else if (g instanceof b) this.H(g);else {\n a: switch (typeof g) {\n case "object":\n var h = null != g;\n break a;\n case "function":\n h = !0;\n break a;\n default:\n h = !1;\n }\n h ? this.C(g) : this.m(g);\n }\n };\n b.prototype.C = function (g) {\n var h = void 0;\n try {\n h = g.then;\n } catch (k) {\n this.l(k);\n return;\n }\n "function" == typeof h ? this.I(h, g) : this.m(g);\n };\n b.prototype.l = function (g) {\n this.s(2, g);\n };\n b.prototype.m = function (g) {\n this.s(1, g);\n };\n b.prototype.s = function (g, h) {\n if (0 != this.h) throw Error("Cannot settle(" + g + ", " + h + "): Promise already settled in state" + this.h);\n this.h = g;\n this.i = h;\n 2 === this.h && this.G();\n this.u();\n };\n b.prototype.G = function () {\n var g = this;\n e(function () {\n if (g.A()) {\n var h = ea.console;\n "undefined" !== typeof h && h.error(g.i);\n }\n }, 1);\n };\n b.prototype.A = function () {\n if (this.o) return !1;\n var g = ea.CustomEvent,\n h = ea.Event,\n k = ea.dispatchEvent;\n if ("undefined" === typeof k) return !0;\n "function" === typeof g ? g = new g("unhandledrejection", {\n cancelable: !0\n }) : "function" === typeof h ? g = new h("unhandledrejection", {\n cancelable: !0\n }) : (g = ea.document.createEvent("CustomEvent"), g.initCustomEvent("unhandledrejection", !1, !0, g));\n g.promise = this;\n g.reason = this.i;\n return k(g);\n };\n b.prototype.u = function () {\n if (null != this.g) {\n for (var g = 0; g < this.g.length; ++g) f.h(this.g[g]);\n this.g = null;\n }\n };\n var f = new c();\n b.prototype.H = function (g) {\n var h = this.j();\n g.rd(h.resolve, h.reject);\n };\n b.prototype.I = function (g, h) {\n var k = this.j();\n try {\n g.call(h, k.resolve, k.reject);\n } catch (l) {\n k.reject(l);\n }\n };\n b.prototype.then = function (g, h) {\n function k(q, p) {\n return "function" == typeof q ? function (u) {\n try {\n l(q(u));\n } catch (v) {\n m(v);\n }\n } : p;\n }\n var l,\n m,\n n = new b(function (q, p) {\n l = q;\n m = p;\n });\n this.rd(k(g, l), k(h, m));\n return n;\n };\n b.prototype["catch"] = function (g) {\n return this.then(void 0, g);\n };\n b.prototype.rd = function (g, h) {\n function k() {\n switch (l.h) {\n case 1:\n g(l.i);\n break;\n case 2:\n h(l.i);\n break;\n default:\n throw Error("Unexpected state: " + l.h);\n }\n }\n var l = this;\n null == this.g ? f.h(k) : this.g.push(k);\n this.o = !0;\n };\n b.resolve = d;\n b.reject = function (g) {\n return new b(function (h, k) {\n k(g);\n });\n };\n b.race = function (g) {\n return new b(function (h, k) {\n for (var l = t(g), m = l.next(); !m.done; m = l.next()) d(m.value).rd(h, k);\n });\n };\n b.all = function (g) {\n var h = t(g),\n k = h.next();\n return k.done ? d([]) : new b(function (l, m) {\n function n(u) {\n return function (v) {\n q[u] = v;\n p--;\n 0 == p && l(q);\n };\n }\n var q = [],\n p = 0;\n do q.push(void 0), p++, d(k.value).rd(n(q.length - 1), m), k = h.next(); while (!k.done);\n });\n };\n return b;\n });\n function Ga(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n fa("WeakMap", function (a) {\n function b(k) {\n this.g = (h += Math.random() + 1).toString();\n if (k) {\n k = t(k);\n for (var l; !(l = k.next()).done;) l = l.value, this.set(l[0], l[1]);\n }\n }\n function c() {}\n function d(k) {\n var l = typeof k;\n return "object" === l && null !== k || "function" === l;\n }\n function e(k) {\n if (!Ga(k, g)) {\n var l = new c();\n ca(k, g, {\n value: l\n });\n }\n }\n function f(k) {\n var l = Object[k];\n l && (Object[k] = function (m) {\n if (m instanceof c) return m;\n Object.isExtensible(m) && e(m);\n return l(m);\n });\n }\n if (function () {\n if (!a || !Object.seal) return !1;\n try {\n var k = Object.seal({}),\n l = Object.seal({}),\n m = new a([[k, 2], [l, 3]]);\n if (2 != m.get(k) || 3 != m.get(l)) return !1;\n m["delete"](k);\n m.set(l, 4);\n return !m.has(k) && 4 == m.get(l);\n } catch (n) {\n return !1;\n }\n }()) return a;\n var g = "$jscomp_hidden_" + Math.random();\n f("freeze");\n f("preventExtensions");\n f("seal");\n var h = 0;\n b.prototype.set = function (k, l) {\n if (!d(k)) throw Error("Invalid WeakMap key");\n e(k);\n if (!Ga(k, g)) throw Error("WeakMap key fail: " + k);\n k[g][this.g] = l;
1\n return this;\n };\n b.prototype.get = function (k) {\n return d(k) && Ga(k, g) ? k[g][this.g] : void 0;\n };\n b.prototype.has = function (k) {\n return d(k) && Ga(k, g) && Ga(k[g], this.g);\n };\n b.prototype["delete"] = function (k) {\n return d(k) && Ga(k, g) && Ga(k[g], this.g) ? delete k[g][this.g] : !1;\n };\n return b;\n });\n fa("Map", function (a) {\n function b() {\n var h = {};\n return h.sb = h.next = h.head = h;\n }\n function c(h, k) {\n var l = h.g;\n return ha(function () {\n if (l) {\n for (; l.head != h.g;) l = l.sb;\n for (; l.next != l.head;) return l = l.next, {\n done: !1,\n value: k(l)\n };\n l = null;\n }\n return {\n done: !0,\n value: void 0\n };\n });\n }\n function d(h, k) {\n var l = k && typeof k;\n "object" == l || "function" == l ? f.has(k) ? l = f.get(k) : (l = "" + ++g, f.set(k, l)) : l = "p_" + k;\n var m = h.h[l];\n if (m && Ga(h.h, l)) for (h = 0; h < m.length; h++) {\n var n = m[h];\n if (k !== k && n.key !== n.key || k === n.key) return {\n id: l,\n list: m,\n index: h,\n entry: n\n };\n }\n return {\n id: l,\n list: m,\n index: -1,\n entry: void 0\n };\n }\n function e(h) {\n this.h = {};\n this.g = b();\n this.size = 0;\n if (h) {\n h = t(h);\n for (var k; !(k = h.next()).done;) k = k.value, this.set(k[0], k[1]);\n }\n }\n if (function () {\n if (!a || "function" != typeof a || !a.prototype.entries || "function" != typeof Object.seal) return !1;\n try {\n var h = Object.seal({\n x: 4\n }),\n k = new a(t([[h, "s"]]));\n if ("s" != k.get(h) || 1 != k.size || k.get({\n x: 4\n }) || k.set({\n x: 4\n }, "t") != k || 2 != k.size) return !1;\n var l = k.entries(),\n m = l.next();\n if (m.done || m.value[0] != h || "s" != m.value[1]) return !1;\n m = l.next();\n return m.done || 4 != m.value[0].x || "t" != m.value[1] || !l.next().done ? !1 : !0;\n } catch (n) {\n return !1;\n }\n }()) return a;\n var f = new WeakMap();\n e.prototype.set = function (h, k) {\n h = 0 === h ? 0 : h;\n var l = d(this, h);\n l.list || (l.list = this.h[l.id] = []);\n l.entry ? l.entry.value = k : (l.entry = {\n next: this.g,\n sb: this.g.sb,\n head: this.g,\n key: h,\n value: k\n }, l.list.push(l.entry), this.g.sb.next = l.entry, this.g.sb = l.entry, this.size++);\n return this;\n };\n e.prototype["delete"] = function (h) {\n h = d(this, h);\n return h.entry && h.list ? (h.list.splice(h.index, 1), h.list.length || delete this.h[h.id], h.entry.sb.next = h.entry.next, h.entry.next.sb = h.entry.sb, h.entry.head = null, this.size--, !0) : !1;\n };\n e.prototype.clear = function () {\n this.h = {};\n this.g = this.g.sb = b();\n this.size = 0;\n };\n e.prototype.has = function (h) {\n return !!d(this, h).entry;\n };\n e.prototype.get = function (h) {\n return (h = d(this, h).entry) && h.value;\n };\n e.prototype.entries = function () {\n return c(this, function (h) {\n return [h.key, h.value];\n });\n };\n e.prototype.keys = function () {\n return c(this, function (h) {\n return h.key;\n });\n };\n e.prototype.values = function () {\n return c(this, function (h) {\n return h.value;\n });\n };\n e.prototype.forEach = function (h, k) {\n for (var l = this.entries(), m; !(m = l.next()).done;
1) m = m.value, h.call(k, m[1], m[0], this);\n };\n e.prototype[Symbol.iterator] = e.prototype.entries;\n var g = 0;\n return e;\n });\n fa("Set", function (a) {\n function b(c) {\n this.g = new Map();\n if (c) {\n c = t(c);\n for (var d; !(d = c.next()).done;) this.add(d.value);\n }\n this.size = this.g.size;\n }\n if (function () {\n if (!a || "function" != typeof a || !a.prototype.entries || "function" != typeof Object.seal) return !1;\n try {\n var c = Object.seal({\n x: 4\n }),\n d = new a(t([c]));\n if (!d.has(c) || 1 != d.size || d.add(c) != d || 1 != d.size || d.add({\n x: 4\n }) != d || 2 != d.size) return !1;\n var e = d.entries(),\n f = e.next();\n if (f.done || f.value[0] != c || f.value[1] != c) return !1;\n f = e.next();\n return f.done || f.value[0] == c || 4 != f.value[0].x || f.value[1] != f.value[0] ? !1 : e.next().done;\n } catch (g) {\n return !1;\n }\n }()) return a;\n b.prototype.add = function (c) {\n c = 0 === c ? 0 : c;\n this.g.set(c, c);\n this.size = this.g.size;\n return this;\n };\n b.prototype["delete"] = function (c) {\n c = this.g["delete"](c);\n this.size = this.g.size;\n return c;\n };\n b.prototype.clear = function () {\n this.g.clear();\n this.size = 0;\n };\n b.prototype.has = function (c) {\n return this.g.has(c);\n };\n b.prototype.entries = function () {\n return this.g.entries();\n };\n b.prototype.values = function () {\n return this.g.values();\n };\n b.prototype.keys = b.prototype.values;\n b.prototype[Symbol.iterator] = b.prototype.values;\n b.prototype.forEach = function (c, d) {\n var e = this;\n this.g.forEach(function (f) {\n return c.call(d, f, f, e);\n });\n };\n return b;\n });\n function Ha(a, b, c) {\n a instanceof String && (a = String(a));\n for (var d = a.length, e = 0; e < d; e++) {\n var f = a[e];\n if (b.call(c, f, e, a)) return {\n Uf: e,\n v: f\n };\n }\n return {\n Uf: -1,\n v: void 0\n };\n }\n fa("Array.prototype.findIndex", function (a) {\n return a ? a : function (b, c) {\n return Ha(this, b, c).Uf;\n };\n });\n fa("Object.is", function (a) {\n return a ? a : function (b, c) {\n return b === c ? 0 !== b || 1 / b === 1 / c : b !== b && c !== c;\n };\n });\n fa("Array.prototype.includes", function (a) {\n return a ? a : function (b, c) {\n var d = this;\n d instanceof String && (d = String(d));\n var e = d.length;\n c = c || 0;\n for (0 > c && (c = Math.max(c + e, 0)); c < e; c++) {\n var f = d[c];\n if (f === b || Object.is(f, b)) return !0;\n }\n return !1;\n };\n });\n function Ia(a, b, c) {\n if (null == a) throw new TypeError("The \'this\' value for String.prototype." + c + " must not be null or undefined");\n if (b instanceof RegExp) throw new TypeError("First argument to String.prototype." + c + " must not be a regular expression");\n return a + "";\n }\n fa("String.prototype.includes", function (a) {\n return a ? a : function (b, c) {\n return -1 !== Ia(this, b, "includes").indexOf(b, c || 0);\n };\n });\n fa("Array.prototype.find", function (a) {\n return a ? a : function (b, c) {\n return Ha(this, b, c).v;\n };\n });\n fa("String.prototype.startsWith", function (a) {\n return a ? a : function (b, c) {\n var d = Ia(this, b, "startsWith"),\n e = d.length,\n f = b.length;\n c = Math.max(0, Math.min(c | 0, d.length));\n for (var g = 0; g < f && c < e;) if (d[c++] != b[g++]) return !1;\n return g >= f;\n };\n });\n function Ja(a, b) {\n a instanceof String && (a += "");\n var c = 0,\n d = !1,\n e = {\n next: function next() {\n if (!d && c < a.length) {\n var f = c++;\n return {\n value: b(f, a[f]),\n done: !1\n };\n }\n d = !0;\n return {\n done: !0,\n value: void 0\n };\n }\n };\n e[Symbol.iterator] = function () {\n return e;\n };\n return e;\n }\n fa("Array.prototype.keys", function (a) {\n return a ? a : function () {\n return Ja(this, function (b) {\n return b;\n });\n };\n });\n fa("WeakSet", function (a) {\n function b(c) {\n this.g = new WeakMap();\n if (c) {\n c = t(c);\n for (var d; !(d = c.next()).done;) this.add(d.value);\n }\n }\n if (function () {\n if (!a || !Object.seal) return !1;\n try {\n var c = Object.seal({}),\n d = Object.seal({}),\n e = new a([c]);\n if (!e.has(c) || e.has(d)) return !1;\n e["delete"](c);\n e.add(d);\n return !e.has(c) && e.has(d);\n } catch (f) {\n return !1;\n }\n }()) return a;\n b.prototype.add = function (c) {\n this.g.set(c, !0);\n return this;\n };\n b.prototype.has = function (c) {\n return this.g.has(c);\n };\n b.prototype["delete"] = function (c) {\n return this.g["delete"](c);\n };\n return b;\n });\n fa("Array.from", function (a) {\n return a ? a : function (b, c, d) {\n c = null != c ? c : function (h) {\n return h;\n };\n var e = [],\n f = "undefined" != typeof Symbol && Symbol.iterator && b[Symbol.iterator];\n if ("function" == typeof f) {\n b = f.call(b);\n for (var g = 0; !(f = b.next()).done;
1) e.push(c.call(d, f.value, g++));\n } else for (f = b.length, g = 0; g < f; g++) e.push(c.call(d, b[g], g));\n return e;\n };\n });\n var Ka = "function" == typeof Object.assign ? Object.assign : function (a, b) {\n for (var c = 1; c < arguments.length; c++) {\n var d = arguments[c];\n if (d) for (var e in d) Ga(d, e) && (a[e] = d[e]);\n }\n return a;\n };\n fa("Object.assign", function (a) {\n return a || Ka;\n });\n fa("Array.prototype.values", function (a) {\n return a ? a : function () {\n return Ja(this, function (b, c) {\n return c;\n });\n };\n });\n fa("Promise.prototype.finally", function (a) {\n return a ? a : function (b) {\n return this.then(function (c) {\n return Promise.resolve(b()).then(function () {\n return c;\n });\n }, function (c) {\n return Promise.resolve(b()).then(function () {\n throw c;\n });\n });\n };\n });\n fa("Array.prototype.entries", function (a) {\n return a ? a : function () {\n return Ja(this, function (b, c) {\n return [b, c];\n });\n };\n });\n fa("String.prototype.repeat", function (a) {\n return a ? a : function (b) {\n var c = Ia(this, null, "repeat");\n if (0 > b || 1342177279 < b) throw new RangeError("Invalid count value");\n b |= 0;\n for (var d = ""; b;) if (b & 1 && (d += c), b >>>= 1) c += c;\n return d;\n };\n });\n fa("Number.isNaN", function (a) {\n return a ? a : function (b) {\n return "number" === typeof b && isNaN(b);\n };\n });\n fa("Number.isFinite", function (a) {\n return a ? a : function (b) {\n return "number" !== typeof b ? !1 : !isNaN(b) && Infinity !== b && -Infinity !== b;\n };\n });\n fa("Object.values", function (a) {\n return a ? a : function (b) {\n var c = [],\n d;\n for (d in b) Ga(b, d) && c.push(b[d]);\n return c;\n };\n });\n fa("Math.log2", function (a) {\n return a ? a : function (b) {\n return Math.log(b) / Math.LN2;\n };\n });\n fa("Number.MAX_SAFE_INTEGER", function () {\n return 9007199254740991;\n });\n fa("Math.trunc", function (a) {\n return a ? a : function (b) {\n b = Number(b);\n if (isNaN(b) || Infinity === b || -Infinity === b || 0 === b) return b;\n var c = Math.floor(Math.abs(b));\n return 0 > b ? -c : c;\n };\n });\n fa("Object.entries", function (a) {\n return a ? a : function (b) {\n var c = [],\n d;\n for (d in b) Ga(b, d) && c.push([d, b[d]]);\n return c;\n };\n });\n var La = this || self;\n function N(a, b) {\n a = a.split(".");\n var c = La;\n a[0] in c || "undefined" == typeof c.execScript || c.execScript("var " + a[0]);\n for (var d; a.length && (d = a.shift());) a.length || void 0 === b ? c[d] && c[d] !== Object.prototype[d] ? c = c[d] : c = c[d] = {} : c[d] = b;\n }\n ; /*\n @license\n Shaka Player\n Copyright 2016 Google LLC\n SPDX-License-Identifier: Apache-2.0\n */\n function Ma(a) {\n this.g = Math.exp(Math.log(.5) / a);\n this.i = this.h = 0;\n }\n Ma.prototype.sample = function (a, b) {\n var c = Math.pow(this.g, a);\n b = b * (1 - c) + c * this.h;\n isNaN(b) || (this.h = b, this.i += a);\n };\n function Na(a) {\n return a.h / (1 - Math.pow(a.g, a.i));\n }\n ;\n function Pa() {\n this.h = new Ma(2);\n this.j = new Ma(5);\n this.g = 0;\n this.i = 128E3;\n this.l = 16E3;\n }\n Pa.prototype.configure = function (a) {\n this.i = a.minTotalBytes;\n this.l = a.minBytes;\n this.h.g = Math.exp(Math.log(.5) / a.fastHalfLife);\n this.j.g = Math.exp(Math.log(.5) / a.slowHalfLife);\n };\n Pa.prototype.sample = function (a, b) {\n if (!(b < this.l)) {\n var c = 8E3 * b / a;\n a /= 1E3;\n this.g += b;\n this.h.sample(a, c);\n this.j.sample(a, c);\n }\n };\n Pa.prototype.getBandwidthEstimate = function (a) {\n return this.g < this.i ? a : Math.min(Na(this.h), Na(this.j));\n };\n function Qa() {}\n function Ra() {}\n function Sa() {}\n function Ta(a) {\n var b = Fa.apply(1, arguments);\n Ua.has(a) || (Ua.add(a), Sa.apply(Qa, w(b)));\n }\n function Va() {}\n function Wa() {}\n function Xa() {}\n function Ya() {}\n var Ua = new Set();\n window.console && (Sa = function Sa() {\n return console.warn.apply(console, w(Fa.apply(0, arguments)));\n }, Ra = function Ra() {\n console.error.apply(console, w(Fa.apply(0, arguments)));\n });\n function Za(a) {\n if ($a.has(a)) return $a.get(a);\n if (window.ManagedMediaSource) {\n var b = ManagedMediaSource.isTypeSupp
1orted(a);\n $a.set(a, b);\n return b;\n }\n return window.MediaSource ? (b = MediaSource.isTypeSupported(a), $a.set(a, b), b) : !1;\n }\n function bb() {\n return !!window.SourceBuffer && !!SourceBuffer.prototype && !!SourceBuffer.prototype.changeType;\n }\n var $a = new Map();\n function cb() {}\n cb.prototype.extract = function () {};\n cb.prototype.decode = function () {\n return [];\n };\n cb.prototype.clear = function () {};\n cb.prototype.getStreams = function () {\n return [];\n };\n function db() {}\n db.prototype.init = function () {};\n db.prototype.parse = function () {\n return [];\n };\n function eb() {}\n function fb(a, b) {\n if (!a && !b) return !0;\n if (!a || !b || a.byteLength != b.byteLength) return !1;\n if (gb(a) == gb(b) && (a.byteOffset || 0) == (b.byteOffset || 0)) return !0;\n var c = hb(a);\n b = hb(b);\n for (var d = 0; d < a.byteLength; d++) if (c[d] != b[d]) return !1;\n return !0;\n }\n function gb(a) {\n return a instanceof ArrayBuffer ? a : a.buffer;\n }\n function kb(a) {\n return a instanceof ArrayBuffer ? a : 0 == a.byteOffset && a.byteLength == a.buffer.byteLength ? a.buffer : new Uint8Array(a).buffer;\n }\n function hb(a, b, c) {\n c = void 0 === c ? Infinity : c;\n return lb(a, void 0 === b ? 0 : b, c, Uint8Array);\n }\n function mb(a, b, c) {\n c = void 0 === c ? Infinity : c;\n return lb(a, void 0 === b ? 0 : b, c, Uint16Array);\n }\n function nb(a, b, c) {\n c = void 0 === c ? Infinity : c;\n return lb(a, void 0 === b ? 0 : b, c, DataView);\n }\n function lb(a, b, c, d) {\n var e = gb(a),\n f = 1;\n "BYTES_PER_ELEMENT" in d && (f = d.BYTES_PER_ELEMENT);\n var g = ((a.byteOffset || 0) + a.byteLength) / f;\n a = Math.floor(Math.max(0, Math.min(((a.byteOffset || 0) + b) / f, g)));\n return new d(e, a, Math.floor(Math.min(a + Math.max(c, 0), g)) - a);\n }\n N("shaka.util.BufferUtils", eb);\n eb.toDataView = nb;\n eb.toUint16 = mb;\n eb.toUint8 = hb;\n eb.toArrayBuffer = kb;\n eb.equal = fb;\n function ob() {}\n ob.prototype.init = function () {};\n ob.prototype.i = function () {};\n ob.prototype.h = function () {};\n ob.prototype.j = function () {};\n N("shaka.media.IClosedCaptionParser", ob);\n function pb(a) {\n this.l = new db();\n if (a = qb[a.toLowerCase()]) this.l = a();\n this.g = new cb();\n if (a = rb) this.g = a();\n }\n pb.prototype.init = function (a) {\n this.l.init(a);\n };\n pb.prototype.i = function (a) {\n a = this.l.parse(a);\n a = t(a);\n for (var b = a.next(); !b.done; b = a.next()) {\n b = b.value;\n var c = hb(b.packet);\n 0 < c.length && this.g.extract(c, b.pts);\n }\n return this.g.decode();\n };\n pb.prototype.h = function () {\n this.g.clear();\n };\n pb.prototype.j = function () {\n return this.g.getStreams();\n };\n N("shaka.media.ClosedCaptionParser", pb);\n pb.findDecoder = function () {\n return rb;\n };\n pb.unregisterDecoder = function () {\n rb = null;\n };\n pb.registerDecoder = function (a) {\n rb = a;\n };\n pb.findParser = function (a) {\n return qb[a];\n };\n pb.unregisterParser = function (a) {\n delete qb[a];\n };\n pb.registerParser = function (a, b) {\n qb[a] = b;\n };\n var qb = {},\n rb = null;\n function sb(a, b) {\n return "number" === typeof a && "number" === typeof b && isNaN(a) && isNaN(b) ? !0 : a === b;\n }\n function tb(a, b) {\n b = a.indexOf(b);\n -1 < b && a.splice(b, 1);\n }\n function ub(a, b, c) {\n c || (c = sb);\n if (a.length != b.length) return !1;\n b = b.slice();\n var d = {};\n a = t(a);\n for (var e = a.next(); !e.done; d = {\n ae: d.ae\n }, e = a.next()) {\n d.ae = e.value;\n e = b.findIndex(function (f) {\n return function (g) {\n return c(f.ae, g);\n };\n }(d));\n if (-1 == e) return !1;\n b[e] = b[b.length - 1];\n b.pop();\n }\n return 0 == b.length;\n }\n function xb(a, b, c) {\n c || (c = sb);\n if (a.length != b.length) return !1;\n for (var d = 0; d < a.length; d++) if (!c(a[d], b[d])) return !1;\n return !0;\n }\n ;\n function yb(a, b, c) {\n this.startTime = a;\n this.endTime = b;\n this.payload = c;\n this.region = new zb();\n this.position = null;\n this.positionAlign = Ab;\n this.size = 0;\n this.textAlign = Bb;\n this.direction = Db;\n this.writingMode = Eb;\n this.lineInterpretation = Fb;\n this.line = null;\n this.lineHeight = "";\n this.lineAlign = Gb;\n this.displayAlign = Hb;\n this.fontSize = this.border = this.backgroundImage = this.backgroundColor = this.color = "";\n this.fontWeight = Ib;\n this.fontStyle = Jb;\n this.linePadding = this.letterSpacing = this.fontFamily = "";\n this.opacity = 1;\n this.textCombineUpright = "";\n this.textDecoration = [];\n this.textStrokeWidth = this.textStrokeColor = this.textShadow = "";\n this.wrapLine = !0;\n this.id = "";\n this.nestedCues = [];\n this.lineBreak = this.isContainer = !1;\n this.rubyTag = null;\n this.cellResolution = {\n Kb: 32,\n rows: 15\n };\n }\n function Kb(a, b) {\n a = new yb(a, b, "");\n a.lineBreak = !0;\n return a;\n }\n yb.prototype.clone = function () {\n var a = new yb(0, 0, ""),\n b;\n for (b in this) a[b] = this[b], a[b] && a[b].constructor == Array && (a[b] = a[b].slice());\n return a;\n };
1\n function Lb(a, b) {\n if (a.startTime != b.startTime || a.endTime != b.endTime || a.payload != b.payload) return !1;\n for (var c in a) if ("startTime" != c && "endTime" != c && "payload" != c) if ("nestedCues" == c) {\n if (!xb(a.nestedCues, b.nestedCues, Lb)) return !1;\n } else if ("region" == c || "cellResolution" == c) for (var d in a[c]) {\n if (a[c][d] != b[c][d]) return !1;\n } else if (Array.isArray(a[c])) {\n if (!xb(a[c], b[c])) return !1;\n } else if (a[c] != b[c]) return !1;\n return !0;\n }\n N("shaka.text.Cue", yb);\n yb.equal = Lb;\n yb.prototype.clone = yb.prototype.clone;\n var Ab = "auto";\n yb.positionAlign = {\n LEFT: "line-left",\n RIGHT: "line-right",\n CENTER: "center",\n AUTO: Ab\n };\n var Bb = "center",\n Mb = {\n LEFT: "left",\n RIGHT: "right",\n CENTER: Bb,\n START: "start",\n END: "end"\n };\n yb.textAlign = Mb;\n var Hb = "after",\
1n Nb = {\n BEFORE: "before",\n CENTER: "center",\n AFTER: Hb\n };\n yb.displayAlign = Nb;\n var Db = "ltr";\n yb.direction = {\n HORIZONTAL_LEFT_TO_RIGHT: Db,\n HORIZONTAL_RIGHT_TO_LEFT: "rtl"\n };\n var Eb = "horizontal-tb";\n yb.writingMode = {\n HORIZONTAL_TOP_TO_BOTTOM: Eb,\n VERTICAL_LEFT_TO_RIGHT: "vertical-lr",\n VERTICAL_RIGHT_TO_LEFT: "vertical-rl"\n };\n var Fb = 0;\n yb.lineInterpretation = {\n LINE_NUMBER: Fb,\n PERCENTAGE: 1\n };\n var Gb = "start",\n Ob = {\n CENTER: "center",\n START: Gb,\n END: "end"\n };\n yb.lineAlign = Ob;\n var Pb = {\n white: "white",\n lime: "lime",\n cyan: "cyan",\n red: "red",\n yellow: "yellow",\n magenta: "magenta",\n blue: "blue",\n black: "black"\n };\n yb.defaultTextColor = Pb;\n var Qb = {\n bg_white: "white",\n bg_lime: "lime",\n bg_cyan: "cyan",\n bg_red: "red",\n bg_yellow: "yellow",\n bg_magenta: "magenta",\n bg_blue: "blue",\n bg_black: "black"\n };\n yb.defaultTextBackgroundColor = Qb;\n var Ib = 400;\n yb.fontWeight = {\n NORMAL: Ib,\n BOLD: 700\n };\n var Jb = "normal",\n Rb = {\n NORMAL: Jb,\n ITALIC: "italic",\n OBLIQUE: "oblique"\n };\n yb.fontStyle = Rb;\n yb.textDecoration = {\n UNDERLINE: "underline",\n LINE_THROUGH: "lineThrough",\n OVERLINE: "overline"\n };\n function zb() {\n this.id = "";\n this.regionAnchorY = this.regionAnchorX = this.viewportAnchorY = this.viewportAnchorX = 0;\n this.height = this.width = 100;\n this.viewportAnchorUnits = this.widthUnits = this.heightUnits = Sb;\n this.scroll = Wb;\n }\n N("shaka.text.CueRegion", zb);\n var Sb = 1;\n zb.units = {\n PX: 0,\n PERCENTAGE: Sb,\n LINES: 2\n };\n var Wb = "";\n zb.scrollMode = {\n NONE: Wb,\n UP: "up"\n };\n function Xb() {}\n Xb.prototype.destroy = function () {};\n function Yb(a, b, c) {\n Zb[a.toLowerCase().split(";")[0] + "-" + c] = {\n priority: c,\n Vd: b\n };\n }\n function $b(a, b) {\n for (var c = a.toLowerCase().split(";")[0], d = t([ac, bc, cc, dc]), e = d.next(); !e.done; e = d.next()) if (e = Zb[c + "-" + e.value]) {\n var f = e.Vd(),\n g = f.isSupported(a, b);\n f.destroy();\n if (g) return e.Vd;\n }\n return null;\n }\n N("shaka.transmuxer.TransmuxerEngine", Xb);\n Xb.findTransmuxer = $b;\n Xb.unregisterTransmuxer = function (a, b) {\n delete Zb[a.toLowerCase().split(";")[0] + "-" + b];\n };\n Xb.registerTransmuxer = Yb;\n Xb.prototype.destroy = Xb.prototype.destroy;\n var Zb = {},\n dc = 1,\n cc = 2,\n bc = 3,\n ac = 4;\n Xb.PluginPriority = {\n FALLBACK: dc,\n PREFERRED_SECONDARY: cc,\n PREFERRED: bc,\n APPLICATION: ac\n }; /*\n @license\n Copyright 2008 The Closure Library Authors\n SPDX-License-Identifier: Apache-2.0\n */\n var ec = RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\\\?([^#]*))?(?:#(.*))?$"); /*\n @license\n Copyright 2006 The Closure Library Authors\n SPDX-License-Identifier: Apache-2.0\n */\n function fc(a) {\n var b;\n a instanceof fc ? (gc(this, a.ab), this.Wb = a.Wb, hc(this, a.ob), ic(this, a.nc), this.Ga = a.Ga, jc(this, a.g.clone()), this.Lb = a.Lb) : a && (b = String(a).match(ec)) ? (gc(this, b[1] || "", !0), this.Wb = kc(b[2] || ""), hc(this, b[3] || "", !0), ic(this, b[4]), this.Ga = kc(b[5] || "", !0), jc(this, b[6] || "", !0), this.Lb = kc(b[7] || "")) : this.g = new lc(null);\n }\n r = fc.prototype;\n r.ab = "";\n r.Wb = "";\n r.ob = "";\n r.nc = null;\n r.Ga = "";\n r.Lb = "";\n r.toString = function () {\n var a = [],\n b = this.ab;\n b && a.push(mc(b, nc, !0), ":");\n if (b = this.ob) {\n a.push("//");\n var c = this.Wb;\n c && a.push(mc(c, nc, !0), "@");\n a.push(encodeURIComponent(b).replace(/%25([0-9a-fA-F]{2})/g, "%$1"));\n b = this.nc;\n null != b && a.push(":", String(b));\n }\n if (b = this.Ga) this.ob && "/" != b.charAt(0) && a.push("/"), a.push(mc(b, "/" == b.charAt(0) ? oc : pc, !0));\n (b = this.g.toString()) && a.push("?", b);\n (b = this.Lb) && a.push("#", mc(b, qc));\n return a.join("");\n };\n r.resolve = function (a) {\n var b = this.clone();\n "data" === b.ab && (b = new fc());\n var c = !!a.ab;\n c ? gc(b, a.ab) : c = !!a.Wb;\n c ? b.Wb = a.Wb : c = !!a.ob;\n c ? hc(b, a.ob) : c = null != a.nc;\n var d = a.Ga;\n if (c) ic(b, a.nc);else if (c = !!a.Ga) {\n if ("/" != d.charAt(0)) if (this.ob && !this.Ga) d = "/" + d;else {\n var e = b.Ga.lastIndexOf("/");\n -1 != e && (d = b.Ga.substr(0, e + 1) + d);\n }\n if (".." == d || "." == d) d = "";else if (-1 != d.indexOf("./") || -1 != d.indexOf("/.")) {\n e = 0 == d.lastIndexOf("/", 0);\n d = d.split("/");\n for (var f = [], g = 0; g < d.length;) {\n var h = d[g++];\n "." == h ? e && g == d.length && f.push("") : ".." == h ? ((1 < f.length || 1 == f.length && "" != f[0]) && f.pop(), e && g == d.length && f.push("")) : (f.push(h), e = !0);\n }\n d = f.join("/");\n }\n }\n c ? b.Ga = d : c = "" !== a.g.toString();\n c ? jc(b, a.g.clone()) : c = !!a.Lb;\n c && (b.Lb = a.Lb);\n return b;\n };\n r.clone = function () {\n return new fc(this);\n };\n function gc(a, b, c) {\n a.ab = c ? kc(b, !0) : b;\n a.ab && (a.ab = a.ab.replace(/:$/, ""));\n }\n function hc(a, b, c) {\n a.ob = c ? kc(b, !0) : b;\n }\n function ic(a, b) {\n if (b) {\n b = Number(b);\n if (isNaN(b) || 0 > b) throw Error("Bad port number " + b);\n a.nc = b;\n } else a.nc = null;\n }\n function jc(a, b, c) {\n b instanceof lc ? a.g = b : (c || (b = mc(b, rc)), a.g = new lc(b));\n }\n function kc(a, b) {\n return a ? b ? decodeURI(a) : decodeURIComponent(a) : "";\n }\n function mc(a, b, c) {\n return null != a ? (a = encodeURI(a).replace(b, sc), c && (a = a.replace(/%25([0-9a-fA-F]{2})/g, "%$1")), a) : null;\n }\n function sc(a) {\n a = a.charCodeAt(0);\n return "%" + (a >> 4 & 15).toString(16) + (a & 15).toString(16);\n }\n var nc = /[#\\/\\?@]/g,\n pc = /[#\\?:]/g,\n oc = /[#\\?]/g,\n rc = /[#\\?@]/g,\n qc = /#/g;\n function lc(a) {\n this.g = a || null;\n }\n function uc(a) {\n if (!a.xa && (a.xa = {}, a.Nc = 0, a.g)) for (var b = a.g.split("&"), c = 0; c < b.length; c++) {\n var d = b[c].indexOf("="),\n e = null;\n if (0 <= d) {\n var f = b[c].substring(0, d);\n e = b[c].substring(d + 1);\n } else f = b[c];\n f = decodeURIComponent(f.replace(/\\+/g, " "));\n e = e || "";\n a.add(f, decodeURIComponent(e.replace(/\\+/g, " ")));\n }\n }\n r = lc.prototype;\n r.xa = null;\n r.Nc = null;\n function vc(a) {\n uc(a);\n return a.Nc;\n }\n r.add = function (a, b) {\n uc(this);\n this.g = null;\n var c = this.xa.hasOwnProperty(a) ? this.xa[a] : null;\n c || (this.xa[a] = c = []);\n c.push(b);\n this.Nc++;\n return this;\n };\n r.set = function (a, b) {\n uc(this);\n this.g = null;\n this.xa.hasOwnProperty(a) ? this.xa[a] = [b] : this.add(a, b);\n return this;\n };\n r.get = function (a) {\n uc(this);\n return this.xa[a] || [];\n };\n r.toString = function () {\n if (this.g) return this.g;\n if (!this.xa) return "";\n var a = [],\n b;\n for (b in this.xa) for (var c = encodeURIComponent(b), d = this.xa[b], e = 0; e < d.length; e++) {\n var f = c;\n "" !== d[e] && (f += "=" + encodeURIComponent(d[e]));\n a.push(f);\n }\n return this.g = a.join("&");\n };\n r.clone = function () {\n var a = new lc();\n a.g = this.g;\n if (this.xa) {\n var b = {},\n c;\n for (c in this.xa) b[c] = this.xa[c].concat();\n a.xa = b;\n a.Nc = this.Nc;\n }\n return a;\n };\n function O(a, b, c) {\n var d = Fa.apply(3, arguments);\n this.severity = a;\n this.category = b;\n this.code = c;\n this.data = d;\n this.handled = !1;
1\n this.message = "Shaka Error " + this.code;\n if (wc) try {\n throw Error(this.message || "Shaka Error");\n } catch (e) {\n this.stack = e.stack;\n }\n }\n O.prototype.toString = function () {\n return "shaka.util.Error " + JSON.stringify(this, null, " ");\n };\n N("shaka.util.Error", O);\n var wc = !0;\n O.Severity = {\n RECOVERABLE: 1,\n CRITICAL: 2\n };\n O.Category = {\n NETWORK: 1,\n TEXT: 2,\n MEDIA: 3,\n MANIFEST: 4,\n STREAMING: 5,\n DRM: 6,\n PLAYER: 7,\n CAST: 8,\n STORAGE: 9,\n ADS: 10\n };\n O.Code = {\n UNSUPPORTED_SCHEME: 1E3,\n BAD_HTTP_STATUS: 1001,\n HTTP_ERROR: 1002,\n TIMEOUT: 1003,\n MALFORMED_DATA_URI: 1004,\n REQUEST_FILTER_ERROR: 1006,\n RESPONSE_FILTER_ERROR: 1007,\n MALFORMED_TEST_URI: 1008,\n UNEXPECTED_TEST_REQUEST: 1009,\n ATTEMPTS_EXHAUSTED: 1010,\n SEGMENT_MISSING: 1011,\n INVALID_TEXT_HEADER: 2E3,\n INVALID_TEXT_CUE: 2001,\n UNABLE_TO_DETECT_ENCODING: 2003,\n BAD_ENCODING: 2004,\n INVALID_XML: 2005,\n INVALID_MP4_TTML: 2007,\n INVALID_MP4_VTT: 2008,\n UNABLE_TO_EXTRACT_CUE_START_TIME: 2009,\n INVALID_MP4_CEA: 2010,\n TEXT_COULD_NOT_GUESS_MIME_TYPE: 2011,\n CANNOT_ADD_EXTERNAL_TEXT_TO_SRC_EQUALS: 2012,\n TEXT_ONLY_WEBVTT_SRC_EQUALS: 2013,\n MISSING_TEXT_PLUGIN: 2014,\n CHAPTERS_TRACK_FAILED: 2015,\n UNSUPPORTED_EXTERNAL_THUMBNAILS_URI: 2017,\n BUFFER_READ_OUT_OF_BOUNDS: 3E3,\n JS_INTEGER_OVERFLOW: 3001,\n EBML_OVERFLOW: 3002,\n EBML_BAD_FLOATING_POINT_SIZE: 3003,\n MP4_SIDX_WRONG_BOX_TYPE: 3004,\n MP4_SIDX_INVALID_TIMESCALE: 3005,\n MP4_SIDX_TYPE_NOT_SUPPORTED: 3006,\n WEBM_CUES_ELEMENT_MISSING: 3007,\n WEBM_EBML_HEADER_ELEMENT_MISSING: 3008,\n WEBM_SEGMENT_ELEMENT_MISSING: 3009,\n WEBM_INFO_ELEMENT_MISSING: 3010,\n WEBM_DURATION_ELEMENT_MISSING: 3011,\n WEBM_CUE_TRACK_POSITIONS_ELEMENT_MISSING: 3012,\n WEBM_CUE_TIME_ELEMENT_MISSING: 3013,\n MEDIA_SOURCE_OPERATION_FAILED: 3014,\n MEDIA_SOURCE_OPERATION_THREW: 3015,\n VIDEO_ERROR: 3016,\n QUOTA_EXCEEDED_ERROR: 3017,\n TRANSMUXING_FAILED: 3018,\n CONTENT_TRANSFORMATION_FAILED: 3019,\n MSS_MISSING_DATA_FOR_TRANSMUXING: 3020,\n MSS_TRANSMUXING_CODEC_UNKNOWN: 3021,\n MSS_TRANSMUXING_FAILED: 3022,\n TRANSMUXING_NO_VIDEO_DATA: 3023,\n UNABLE_TO_GUESS_MANIFEST_TYPE: 4E3,\n DASH_INVALID_XML: 4001,\n DASH_NO_SEGMENT_INFO: 4002,\n DASH_EMPTY_ADAPTATION_SET: 4003,\n DASH_EMPTY_PERIOD: 4004,\n DASH_WEBM_MISSING_INIT: 4005,\n DASH_UNSUPPORTED_CONTAINER: 4006,\n DASH_PSSH_BAD_ENCODING: 4007,\n DASH_NO_COMMON_KEY_SYSTEM: 4008,\n DASH_MULTIPLE_KEY_IDS_NOT_SUPPORTED: 4009,\n DASH_CONFLICTING_KEY_IDS: 4010,\n RESTRICTIONS_CANNOT_BE_MET: 4012,\n HLS_PLAYLIST_HEADER_MISSING: 4015,\n INVALID_HLS_TAG: 4016,\n HLS_INVALID_PLAYLIST_HIERARCHY: 4017,\n DASH_DUPLICATE_REPRESENTATION_ID: 4018,\n HLS_MULTIPLE_MEDIA_INIT_SECTIONS_FOUND: 4020,\n HLS_REQUIRED_ATTRIBUTE_MISSING: 4023,\n HLS_REQUIRED_TAG_MISSING: 4024,\n HLS_COULD_NOT_GUESS_CODECS: 4025,\n HLS_KEYFORMATS_NOT_SUPPORTED: 4026,\n DASH_UNSUPPORTED_XLINK_ACTUATE: 4027,\n DASH_XLINK_DEPTH_LIMIT: 4028,\n CONTENT_UNSUPPORTED_BY_BROWSER: 4032,\n CANNOT_ADD_EXTERNAL_TEXT_TO_LIVE_STREAM: 4033,\n NO_VARIANTS: 4036,\n PERIOD_FLATTENING_FAILED: 4037,\n INCONSISTENT_DRM_ACROSS_PERIODS: 4038,\n HLS_VARIABLE_NOT_FOUND: 4039,\n HLS_MSE_ENCRYPTED_MP2T_NOT_SUPPORTED: 4040,\n HLS_MSE_ENCRYPTED_LEGACY_APPLE_MEDIA_KEYS_NOT_SUPPORTED: 4041,\n NO_WEB_CRYPTO_API: 4042,\n CANNOT_ADD_EXTERNAL_THUMBNAILS_TO_LIVE_STREAM: 4045,\n MSS_INVALID_XML: 4046,\n MSS_LIVE_CONTENT_NOT_SUPPORTED: 4047,\n AES_128_INVALID_IV_LENGTH: 4048,\n AES_128_INVALID_KEY_LENGTH: 4049,\n DASH_CONFLICTING_AES_128: 4050,\n DASH_UNSUPPORTED_AES_128: 4051,\n STREAMING_ENGINE_STARTUP_INVALID_STATE: 5006,\n NO_RECOGNIZED_KEY_SYSTEMS: 6E3,\n REQUESTED_
1KEY_SYSTEM_CONFIG_UNAVAILABLE: 6001,\n FAILED_TO_CREATE_CDM: 6002,\n FAILED_TO_ATTACH_TO_VIDEO: 6003,\n INVALID_SERVER_CERTIFICATE: 6004,\n FAILED_TO_CREATE_SESSION: 6005,\n FAILED_TO_GENERATE_LICENSE_REQUEST: 6006,\n LICENSE_REQUEST_FAILED: 6007,\n LICENSE_RESPONSE_REJECTED: 6008,\n ENCRYPTED_CONTENT_WITHOUT_DRM_INFO: 6010,\n NO_LICENSE_SERVER_GIVEN: 6012,\n OFFLINE_SESSION_REMOVED: 6013,\n EXPIRED: 6014,\n SERVER_CERTIFICATE_REQUIRED: 6015,\n INIT_DATA_TRANSFORM_ERROR: 6016,\n SERVER_CERTIFICATE_REQUEST_FAILED: 6017,\n MIN_HDCP_VERSION_NOT_MATCH: 6018,\n ERROR_CHECKING_HDCP_VERSION: 6019,\n LOAD_INTERRUPTED: 7E3,\n OPERATION_ABORTED: 7001,\n NO_VIDEO_ELEMENT: 7002,\n OBJECT_DESTROYED: 7003,\n CONTENT_NOT_LOADED: 7004,\n CAST_API_UNAVAILABLE: 8E3,\n NO_CAST_RECEIVERS: 8001,\n ALREADY_CASTING: 8002,\n UNEXPECTED_CAST_ERROR: 8003,\n CAST_CANCELED_BY_USER: 8004,\n CAST_CONNECTION_TIMED_OUT: 8005,\n CAST_RECEIVER_APP_UNAVAILABLE: 8006,\n STORAGE_NOT_SUPPORTED: 9E3,\n INDEXED_DB_ERROR: 9001,\n DEPRECATED_OPERATION_ABORTED: 9002,\n REQUESTED_ITEM_NOT_FOUND: 9003,\n MALFORMED_OFFLINE_URI: 9004,\n CANNOT_STORE_LIVE_OFFLINE: 9005,\n NO_INIT_DATA_FOR_OFFLINE: 9007,\n LOCAL_PLAYER_INSTANCE_REQUIRED: 9008,\n NEW_KEY_OPERATION_NOT_SUPPORTED: 9011,\n KEY_NOT_FOUND: 9012,\n MISSING_STORAGE_CELL: 9013,\n STORAGE_LIMIT_REACHED: 9014,\n DOWNLOAD_SIZE_CALLBACK_ERROR: 9015,\n MODIFY_OPERATION_NOT_SUPPORTED: 9016,\n INDEXED_DB_INIT_TIMED_OUT: 9017,\n CS_IMA_SDK_MISSING: 1E4,\n CS_AD_MANAGER_NOT_INITIALIZED: 10001,\n SS_IMA_SDK_MISSING: 10002,\n SS_AD_MANAGER_NOT_INITIALIZED: 10003,\n CURRENT_DAI_REQUEST_NOT_FINISHED: 10004,\n MT_AD_MANAGER_NOT_INITIALIZED: 10005\n };\n function xc(a, b) {\n if (0 == b.length) return a;\n if (1 == a.length && 1 == b.length) {\n var c = new fc(a[0]);\n b = new fc(b[0]);\n return [c.resolve(b).toString()];\n }\n b = b.map(function (g) {\n return new fc(g);\n });\n c = [];\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) {\n d = new fc(d.value);\n for (var e = t(b), f = e.next(); !f.done; f = e.next()) c.push(d.resolve(f.value).toString());\n }\n return c;\n }\n function yc(a, b) {\n return {\n keySystem: a,\n licenseServerUri: "",\n distinctiveIdentifierRequired: !1,\n persistentStateRequired: !1,\n audioRobustness: "",\n videoRobustness: "",\n serverCertificate: null,\n serverCertificateUri: "",\n sessionType: "",\n initData: b || [],\n keyIds: new Set()\n };\n }\n function zc(a, b) {\n if (1 == b.length) return b[0];\n a = Bc(a, b);\n if (null != a) return a;\n throw new O(2, 4, 4025, b);\n }\n function Bc(a, b) {\n for (var c = t(Cc[a]), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n for (var e = t(b), f = e.next(); !f.done; f = e.next()) if (f = f.value, d.test(f.trim())) return f.trim();\n }\n return a == Dc ? "" : null;\n }\n var Dc = "text",\n Ec = {\n $: "video",\n P: "audio",\n na: Dc,\n he: "image",\n fi: "application"\n },\n Cc = {\n audio: [/^vorbis$/, /^Opus$/, /^opus$/, /^fLaC$/, /^flac$/, /^mp4a/, /^[ae]c-3$/, /^ac-4$/, /^dts[cex]$/],\n video: [/^avc/, /^hev/, /^hvc/, /^vvc/, /^vvi/, /^vp0?[89]/, /^av01/, /^dvh/],\n text: [/^vtt$/, /^wvtt/, /^stpp/]\n };\n function Fc() {}\n function Gc(a, b) {\n var c = a;\n b && !Hc.includes(a) && (c += \'; codecs="\' + b + \'"\');\n return c;\n }\n function Ic(a, b) {\n b && (a += \'; codecs="\' + b + \'"\');\n return a;\n }\n function Jc(a, b, c) {\n var d = Gc(a, b);\n b = Ic(a, b);\n $b(b) ? (a = $b(b)) ? (a = a(), c = a.convertCodecs(c, b), a.destroy()) : c = b : c = "video/mp2t" != a && "audio" == c ? d.replace("video", "audio") : d;\n return c;\n }\n function Kc(a) {\n var b = Lc(a);\n a = b[0];\n b = b[1].toLowerCase();\n switch (!0) {\n case "mp4a" === a && "69" === b:\n case "mp4a" === a && "6b" === b:\n case "mp4a" === a && "40.34" === b:\n return "mp3";\n case "mp4a" === a && "66" === b:\n case "mp4a" === a && "67" === b
1:\n case "mp4a" === a && "68" === b:\n case "mp4a" === a && "40.2" === b:\n case "mp4a" === a && "40.02" === b:\n case "mp4a" === a && "40.5" === b:\n case "mp4a" === a && "40.05" === b:\n case "mp4a" === a && "40.29" === b:\n case "mp4a" === a && "40.42" === b:\n return "aac";\n case "mp4a" === a && "a5" === b:\n return "ac-3";\n case "mp4a" === a && "a6" === b:\n return "ec-3";\n case "mp4a" === a && "b2" === b:\n return "dtsx";\n case "mp4a" === a && "a9" === b:\n return "dtsc";\n case "avc1" === a:\n case "avc3" === a:\n return "avc";\n case "hvc1" === a:\n case "hev1" === a:\n return "hevc";\n case "dvh1" === a:\n case "dvhe" === a:\n return "dovi";\n }\n return a;\n }\n function Mc(a) {\n var b = [];\n a = t(a.split(","));\n for (var c = a.next(); !c.done; c = a.next()) c = Lc(c.value), b.push(c[0]);\n return b.sort().join(",");\n }\n function Nc(a) {\n return a.split(";")[0];\n }\n function Oc(a) {\n a = a.split(/ *; */);\n a.shift();\n return (a = a.find(function (b) {\n return b.startsWith("codecs=");\n })) ? a.split("=")[1].replace(/^"|"$/g, "") : "";\n }\n function Lc(a) {\n a = a.split(".");\n var b = a[0];\n a.shift();\n return [b, a.join(".")];\n }\n N("shaka.util.MimeUtils", Fc);\n Fc.getFullTypeWithAllCodecs = Ic;\n Fc.getFullType = Gc;\n new Map().set("codecs", "codecs").set("frameRate", "framerate").set("bandwidth", "bitrate").set("width", "width").set("height", "height").set("channelsCount", "channels");\n var Hc = ["audio/aac", "audio/ac3", "audio/ec3", "audio/mpeg"];\n function Pc(a) {\n this.i = null;\n this.j = a;\n this.u = !1;\n this.l = this.s = 0;\n this.m = Infinity;\n this.h = this.g = null;\n this.A = "";\n this.o = new Map();\n }\n function Qc(a) {\n return Rc[a] ? !0 : "application/cea-608" == a || "application/cea-708" == a ? !!rb : !1;\n }\n Pc.prototype.destroy = function () {\n this.j = this.i = null;\n this.o.clear();\n return Promise.resolve();\n };\n function Sc(a, b, c, d, e) {\n var f, g, h, k;\n return K(function (l) {\n if (1 == l.g) return C(l, Promise.resolve(), 2);\n if (!a.i || !a.j) return l["return"]();\n if (null == c || null == d) return a.i.parseInit(hb(b)), l["return"]();\n f = a.u ? c : a.s;\n g = {\n periodStart: a.s,\n segmentStart: c,\n segmentEnd: d,\n vttOffset: f\n };\n h = a.i.parseMedia(hb(b), g, e);\n k = h.filter(function (m) {\n return m.startTime >= a.l && m.startTime < a.m;\n });\n a.j.append(k);\n null == a.g && (a.g = Math.max(c, a.l));\n a.h = Math.min(d, a.m);\n E(l);\n });\n }\n Pc.prototype.remove = function (a, b) {\n var c = this;\n return K(function (d) {\n if (1 == d.g) return C(d, Promise.resolve(), 2);\n !c.j || !c.j.remove(a, b) || null == c.g || b <= c.g || a >= c.h || (a <= c.g && b >= c.h ? c.g = c.h = null : a <= c.g && b < c.h ? c.g = b : a > c.g && b >= c.h && (c.h = a));\n E(d);\n });\n };\n function Tc(a, b, c) {\n a.l = b;\n a.m = c;\n }\n function Uc(a, b, c) {\n a.A = b;\n if (b = a.o.get(b)) for (var d = t(b.keys()), e = d.next(); !e.done; e = d.next()) (e = b.get(e.value).filter(function (f) {\n return f.endTime <= c;\n })) && a.j.append(e);\n }\n function Vc(a, b, c) {\n b.startTime += c;\n b.endTime += c;\n b = t(b.nestedCues);\n for (var d = b.next(); !d.done; d = b.next()) Vc(a, d.value, c);\n }\n function Yc(a, b, c, d, e) {\n var f = c + " " + d,\n g = new Map();\n b = t(b);\n for (var h = b.next(); !h.done; h = b.next()) {\n var k = h.value;\n h = k.stream;\n k = k.cue;\n g.has(h) || g.set(h, new Map());\n g.get(h).has(f) || g.get(h).set(f, []);\n Vc(a, k, e);\n k.startTime >= a.l && k.startTime < a.m && (g.get(h).get(f).push(k), h == a.A && a.j.append([k]));\n }\n e = t(g.keys());\n for (f = e.next(); !f.done; f = e.next()) for (f = f.value, a.o.has(f) || a.o.set(f, new Map()), b = t(g.get(f).keys()), h = b.next(); !h.done; h = b.next()) h = h.value, k = g.get(f).get(h), a.o.get(f).set(h, k);\n a.g = null == a.g ? Math.max(c, a.l) : Math.min(a.g, Math.max(c, a.l));\n a.h = Math.max(a.h, Math.min(d, a.m));\n }\n N("shaka.text.TextEngine", Pc);\n Pc.prototype.destroy = Pc.prototype.destroy;\n Pc.findParser = function (a) {\n return Rc[a];\n };\n Pc.unregisterParser = function (a) {\n delete Rc[a];\n };\n Pc.registerParser = function (a, b) {\n Rc[a] = b;\n };\n var Rc = {};\n function Zc(a, b) {\n return a.concat(b);\n }\n function $c() {}\n function ad(a) {\n return null != a;\n }\n ;\n function bd() {}\n function cd(a, b) {\n a = dd(a);\n b = dd(b);\n return a.split("-")[0] == b.split("-")[0];\n }\n function ed(a, b) {\n a = dd(a);\n b = dd(b);\n a = a.split("-");\n b = b.split("-");\n return a[0] == b[0] && 1 == a.length && 2 == b.length;\n }\n function fd(a, b) {\n a = dd(a);\n b = dd(b);\n a = a.split("-");\n b = b.split("-");\n return 2 == a.length && 2 == b.length && a[0] == b[0];\n }\n function dd(a) {\n a = t(a.split("-x-"));\n var b = a.next().value;\n b = void 0 === b ? "" : b;\n a = a.next().value;\n a = void 0 === a ? "" : a;\n var c = t(b.split("-"));\n b = c.next().value;\n b = void 0 === b ? "" : b;\n c = c.next().value;\n c = void 0 === c ? "" : c;\n a = a ? "x-" + a : "";\n b = b.toLowerCase();\n b = gd.get(b) || b;\n c = c.toUpperCase();\n return (c ? b + "-" + c : b) + (a ? "-" + a : "");\n }\n function id(a, b) {\n a = dd(a);\n b = dd(b);\n return b == a ? 4 : ed(b, a) ? 3 : fd(b, a) ? 2 : ed(a, b) ? 1 : 0;\n }
1\n function jd(a) {\n var b = a.indexOf("-");\n a = 0 <= b ? a.substring(0, b) : a;\n a = a.toLowerCase();\n return a = gd.get(a) || a;\n }\n function kd(a) {\n return a.language ? dd(a.language) : a.audio && a.audio.language ? dd(a.audio.language) : a.video && a.video.language ? dd(a.video.language) : "und";\n }\n function ld(a, b) {\n a = dd(a);\n var c = new Set(),\n d = t(b);\n for (b = d.next(); !b.done; b = d.next()) c.add(dd(b.value));\n d = t(c);\n for (b = d.next(); !b.done; b = d.next()) if (b = b.value, b == a) return b;\n d = t(c);\n for (b = d.next(); !b.done; b = d.next()) if (b = b.value, ed(b, a)) return b;\n d = t(c);\n for (b = d.next(); !b.done; b = d.next()) if (b = b.value, fd(b, a)) return b;\n c = t(c);\n for (b = c.next(); !b.done; b = c.next()) if (b = b.value, ed(a, b)) return b;\n return null;\n }\n N("shaka.util.LanguageUtils", bd);\n bd.findClosestLocale = ld;\n bd.getLocaleForVariant = kd;\n bd.getLocaleForText = function (a) {\n return dd(a.language || "und");\n };\n bd.getBase = jd;\n bd.relatedness = id;\n bd.areSiblings = function (a, b) {\n var c = jd(a),\n d = jd(b);\n return a != c && b != d && c == d;\n };\n bd.normalize = dd;\n bd.isSiblingOf = fd;\n bd.isParentOf = ed;\n bd.areLanguageCompatible = cd;\n bd.areLocaleCompatible = function (a, b) {\n a = dd(a);\n b = dd(b);\n return a == b;\n };\n var gd = new Map([["aar", "aa"], ["abk", "ab"], ["afr", "af"], ["aka", "ak"], ["alb", "sq"], ["amh", "am"], ["ara", "ar"], ["arg", "an"], ["arm", "hy"], ["asm", "as"], ["ava", "av"], ["ave", "ae"], ["aym", "ay"], ["aze", "az"], ["bak", "ba"], ["bam", "bm"], ["baq", "eu"], ["bel", "be"], ["ben", "bn"], ["bih", "bh"], ["bis", "bi"], ["bod", "bo"], ["bos", "bs"], ["bre", "br"], ["bul", "bg"], ["bur", "my"], ["cat", "ca"], ["ces", "cs"], ["cha", "ch"], ["che", "ce"], ["chi", "zh"], ["chu", "cu"], ["chv", "cv"], ["cor", "kw"], ["cos", "co"], ["cre", "cr"], ["cym", "cy"], ["cze", "cs"], ["dan", "da"], ["deu", "de"], ["div", "dv"], ["dut", "nl"], ["dzo", "dz"], ["ell", "el"], ["eng", "en"], ["epo", "eo"], ["est", "et"], ["eus", "eu"], ["ewe", "ee"], ["fao", "fo"], ["fas", "fa"], ["fij", "fj"], ["fin", "fi"], ["fra", "fr"], ["fre", "fr"], ["fry", "fy"], ["ful", "ff"], ["geo", "ka"], ["ger", "de"], ["gla", "gd"], ["gle", "ga"], ["glg", "gl"], ["glv", "gv"], ["gre", "el"], ["grn", "gn"], ["guj", "gu"], ["hat", "ht"], ["hau", "ha"], ["heb", "he"], ["her", "hz"], ["hin", "hi"], ["hmo", "ho"], ["hrv", "hr"], ["hun", "hu"], ["hye", "hy"], ["ibo", "ig"], ["ice", "is"], ["ido", "io"], ["iii", "ii"], ["iku", "iu"], ["ile", "ie"], ["ina", "ia"], ["ind", "id"], ["ipk", "ik"], ["isl", "is"], ["ita", "it"], ["jav", "jv"], ["jpn", "ja"], ["kal", "kl"], ["kan", "kn"], ["kas", "ks"], ["kat", "ka"], ["kau", "kr"], ["kaz", "kk"], ["khm", "km"], ["kik", "ki"], ["kin", "rw"], ["kir", "ky"], ["kom", "kv"], ["kon", "kg"], ["kor", "ko"], ["kua", "kj"], ["kur", "ku"], ["lao", "lo"], ["lat", "la"], ["lav", "lv"], ["lim", "li"], ["lin", "ln"], ["lit", "lt"], ["ltz", "lb"], ["lub", "lu"], ["lug", "lg"], ["mac", "mk"], ["mah", "mh"], ["mal", "ml"], ["mao", "mi"], ["mar", "mr"], ["may", "ms"], ["mkd", "mk"], ["mlg", "mg"], ["mlt", "mt"], ["mon", "mn"], ["mri", "mi"], ["msa", "ms"], ["mya", "my"], ["nau", "na"], ["nav", "nv"], ["nbl", "nr"], ["nde", "nd"], ["ndo", "ng"], ["nep", "ne"], ["nld", "nl"], ["nno", "nn"], ["nob", "nb"], ["nor", "no"], ["nya", "ny"], ["oci", "oc"], ["oji", "oj"], ["ori", "or"], ["orm", "om"], ["oss", "os"], ["pan", "pa"], ["per", "fa"], ["pli", "pi"], ["pol", "pl"], ["por", "pt"], ["pus", "ps"], ["que", "qu"], ["roh", "rm"], ["ron", "ro"], ["rum", "ro"], ["run", "rn"], ["rus", "ru"], ["sag", "sg"], ["san", "sa"], ["sin", "si"], ["slk", "sk"], ["slo", "sk"], ["slv", "sl"], ["sme", "se"], ["smo", "sm"], ["sna", "sn"], ["snd", "sd"], ["som", "so"], ["sot", "st"], ["spa", "es"], ["sqi", "sq"], ["srd", "sc"], ["srp", "sr"], ["ssw", "ss"], ["sun", "su"], ["swa", "sw"], ["swe", "sv"], ["tah", "ty"], ["tam", "ta"], ["tat", "tt"], ["tel", "te"], ["tgk", "tg"], ["tgl", "tl"], ["tha", "th"], ["tib", "bo"], ["tir", "ti"], ["ton", "to"], ["tsn", "tn"], ["tso", "ts"], ["tuk", "tk"], ["tur", "tr"], ["twi", "tw"], ["uig", "ug"], ["ukr", "uk"], ["urd", "ur"], ["uzb", "uz"], ["ven", "ve"], ["vie", "vi"], ["vol", "vo"], ["wel", "cy"], ["wln", "wa"], ["wol", "wo"], ["xho", "xh"], ["yid", "yi"], ["yor", "yo"], ["zha", "za"], ["zho", "zh"], ["zul", "zu"]]);
1\n function md() {\n this.g = {};\n }\n r = md.prototype;\n r.push = function (a, b) {\n this.g.hasOwnProperty(a) ? this.g[a].push(b) : this.g[a] = [b];\n };\n r.get = function (a) {\n return (a = this.g[a]) ? a.slice() : null;\n };\n r.remove = function (a, b) {\n a in this.g && (this.g[a] = this.g[a].filter(function (c) {\n return c != b;\n }), 0 == this.g[a].length && delete this.g[a]);\n };\n r.forEach = function (a) {\n for (var b in this.g) a(b, this.g[b]);\n };\n r.size = function () {\n return Object.keys(this.g).length;\n };\n r.keys = function () {\n return Object.keys(this.g);\n };\n function nd(a) {\n function b(d) {\n switch (typeof d) {\n case "undefined":\n case "boolean":\n case "number":\n case "string":\n case "symbol":\n case "function":\n return d;\n default:\n if (!d || d.buffer && d.buffer.constructor == ArrayBuffer) return d;\n if (c.has(d)) return null;\n var e = d.constructor == Array;\n if (d.constructor != Object && !e) return null;\n c.add(d);\n var f = e ? [] : {},\n g;\n for (g in d) f[g] = b(d[g]);\n e && (f.length = d.length);\n return f;\n }\n }\n var c = new WeakSet();\n return b(a);\n }\n function od(a) {\n var b = {},\n c;\n for (c in a) b[c] = a[c];\n return b;\n }\n ;\n function pd(a) {\n this.h = a;\n this.g = null;\n }\n pd.prototype.U = function (a) {\n var b = this;\n this.stop();\n var c = !0,\n d = null;\n this.g = function () {\n window.clearTimeout(d);\n c = !1;\n };\n d = window.setTimeout(function () {\n c && b.h();\n }, 1E3 * a);\n return this;\n };\n pd.prototype.stop = function () {\n this.g && (this.g(), this.g = null);\n };\n function qd(a) {\n this.h = a;\n this.g = null;\n }\n qd.prototype.qc = function () {\n this.stop();\n this.h();\n return this;\n };\n qd.prototype.U = function (a) {\n var b = this;\n this.stop();\n this.g = new pd(function () {\n b.h();\n }).U(a);\n return this;\n };\n qd.prototype.$a = function (a) {\n var b = this;\n this.stop();\n this.g = new pd(function () {\n b.g.U(a);\n b.h();\n }).U(a);\n return this;\n };\n qd.prototype.stop = function () {\n this.g && (this.g.stop(), this.g = null);\n };\n N("shaka.util.Timer", qd);\n qd.prototype.stop = qd.prototype.stop;\n qd.prototype.tickEvery = qd.prototype.$a;\n qd.prototype.tickAfter = qd.prototype.U;\n qd.prototype.tickNow = qd.prototype.qc;\n function rd() {\n var a = window.ManagedMediaSource || window.MediaSource;\n return a && a.isTypeSupported ? !0 : !1;\n }\n function sd(a) {\n return "" != td().canPlayType(a);\n }\n function ud() {\n return navigator.userAgent.match(/Edge?\\//) ? !0 : !1;\n }\n function vd() {\n return wd("Xbox One");\n }\n function xd() {\n return wd("Tizen");\n }\n function yd() {\n return wd("Tizen 3");\n }\n function zd() {\n return wd("Tizen 2");\n }\n function Ad() {\n return wd("Web0S") && wd("Chrome/38.0.2125.122 Safari/537.36");\n }\n function Bd() {\n return wd("CrKey");\n }\n function Cd() {\n return !!navigator.vendor && navigator.vendor.includes("Apple") && !xd() && !wd("PC=EOS") && !wd("PC=APL") && !wd("VirginMedia") && !wd("SOPOpenBrowser") && !Dd() && !wd("AFT") && !wd("WPE");\n }\n function Dd() {\n return wd("PlayStation 4");\n }\n function Id() {\n if (!Cd()) return null;\n var a = navigator.userAgent.match(/Version\\/(\\d+)/);\n return a ? parseInt(a[1], 10) : (a = navigator.userAgent.match(/OS (\\d+)(?:_\\d+)?/)) ? parseInt(a[1], 10) : null;\n }\n function wd(a) {\n return (navigator.userAgent || "").includes(a);\n }\n function td() {\n if (Jd) return Jd;\n Kd || (Kd = new qd(function () {\n Jd = null;\n }));\n (Jd = document.getElementsByTagName("video")[0] || document.getElementsByTagName("audio")[0]) || (Jd = document.createElement("video"));\n Kd.U(1);\n return Jd;\n }\n var Kd = null,\n Jd = null;\n function Ld() {}\n function Md(a, b, c, d) {\n var e = a.variants;\n if (b.length || c.length) e = Nd(e, b, c);\n if (d.length) {\n b = new md();\n c = t(e);\n for (e = c.next(); !e.done; e = c.next()) e = e.value, b.push(String(e.video.width || 0), e);\n var f = [];\n b.forEach(function (u, v) {\n u = 0;\n var x = [],\n z = {};\n v = t(v);\n for (var y = v.next(); !y.done;
1 z = {\n Gc: z.Gc\n }, y = v.next()) z.Gc = y.value, y = d.filter(function (B) {\n return function (A) {\n return B.Gc.decodingInfos[0][A];\n };\n }(z)).length, y > u ? (u = y, x = [z.Gc]) : y == u && x.push(z.Gc);\n f.push.apply(f, w(x));\n });\n e = f;\n }\n c = new Set();\n b = new Set();\n var g = t(e);\n for (e = g.next(); !e.done; e = g.next()) e = e.value, e.audio && c.add(e.audio), e.video && b.add(e.video);\n c = Array.from(c).sort(function (u, v) {\n return u.bandwidth - v.bandwidth;\n });\n var h = [];\n e = new Map();\n c = t(c);\n for (g = c.next(); !g.done; g = c.next()) {\n g = g.value;\n var k = g.language + (g.channelsCount || 0) + (g.audioSamplingRate || 0) + g.roles.join(",") + g.label + g.groupId + g.fastSwitching,\n l = e.get(k) || [];\n if (l.length) {\n var m = l[l.length - 1],\n n = Kc(m.codecs),\n q = Kc(g.codecs);\n n == q && g.bandwidth > m.bandwidth && (l.push(g), h.push(g.id));\n } else l.push(g), h.push(g.id);\n e.set(k, l);\n }\n c = Array.from(b).sort(function (u, v) {\n return u.bandwidth && v.bandwidth ? u.bandwidth - v.bandwidth : u.width - v.width;\n });\n b = bb();\n var p = [];\n e = new Map();\n c = t(c);\n for (g = c.next(); !g.done; g = c.next()) {\n g = g.value;\n k = Math.round(g.frameRate || 0) + (g.hdr || "") + g.fastSwitching;\n l = e.get(k) || [];\n if (l.length) {\n m = l[l.length - 1];\n if (!b && (n = Kc(m.codecs), q = Kc(g.codecs), n !== q)) continue;\n g.width > m.width || g.height > m.height ? (l.push(g), p.push(g.id)) : g.width == m.width && g.height == m.height && (n = Kc(m.codecs), q = Kc(g.codecs), n == q && g.bandwidth > m.bandwidth && (l.push(g), p.push(g.id)));\n } else l.push(g), p.push(g.id);\n e.set(k, l);\n }\n a.variants = a.variants.filter(function (u) {\n var v = u.audio;\n u = u.video;\n return v && !h.includes(v.id) || u && !p.includes(u.id) ? !1 : !0;\n });\n }\n function Nd(a, b, c) {\n var d = {};\n b = t(b);\n for (var e = b.next(); !e.done; d = {\n ge: d.ge\n }, e = b.next()) if (d.ge = e.value, e = a.filter(function (f) {\n return function (g) {\n return g.video && g.video.codecs.startsWith(f.ge);\n };\n }(d)), e.length) {\n a = e;\n break;\n }\n d = {};\n c = t(c);\n for (b = c.next(); !b.done; d = {\n $d: d.$d\n }, b = c.next()) if (d.$d = b.value, b = a.filter(function (f) {\n return function (g) {\n return g.audio && g.audio.codecs.startsWith(f.$d);\n };\n }(d)), b.length) {\n a = b;\n break;\n }\n return a;\n }\n function Od(a, b, c) {\n a.variants = a.variants.filter(function (d) {\n return Pd(d, b, c);\n });\n }\n function Pd(a, b, c) {\n function d(f, g, h) {\n return f >= g && f <= h;\n }\n var e = a.video;\n return e && e.width && e.height && (!d(e.width, b.minWidth, Math.min(b.maxWidth, c.width)) || !d(e.height, b.minHeight, Math.min(b.maxHeight, c.height)) || !d(e.width * e.height, b.minPixels, b.maxPixels)) || a && a.video && a.video.frameRate && !d(a.video.frameRate, b.minFrameRate, b.maxFrameRate) || !d(a.bandwidth, b.minBandwidth, b.max
1Bandwidth) ? !1 : !0;\n }\n function Qd(a, b, c) {\n var d = !1;\n a = t(a);\n for (var e = a.next(); !e.done; e = a.next()) {\n e = e.value;\n var f = e.allowedByApplication;\n e.allowedByApplication = Pd(e, b, c);\n f != e.allowedByApplication && (d = !0);\n }\n return d;\n }\n function Rd(a, b) {\n return K(function (c) {\n if (1 == c.g) return C(c, Sd(a, b, 0 < b.offlineSessionIds.length), 2);\n Td(b);\n return C(c, Ud(b), 0);\n });\n }\n function Sd(a, b, c) {\n var d, e, f, g, h;\n return K(function (k) {\n if (1 == k.g) return C(k, Vd(b.variants, c, !1, []), 2);\n d = null;\n a && (e = a.g) && (d = e.keySystem);\n f = Ec;\n g = vd();\n h = wd("Firefox") && wd("Android");\n b.variants = b.variants.filter(function (l) {\n var m = l.video,\n n = m && m.width || 0,\n q = m && m.height || 0;\n if (g && m && (1920 < n || 1080 < q) && (m.codecs.includes("avc1.") || m.codecs.includes("avc3."))) return Wa(Wd(l)), !1;\n if (m) {\n n = Xd(m.codecs);\n if (m.codecs.includes(",")) {\n q = m.codecs.split(",");\n n = zc(f.$, q);\n n = Xd(n);\n q = zc(f.P, q);\n q = Yd(q);\n var p = Jc(m.mimeType, q, f.P);\n if (!Za(p)) return !1;\n n = [n, q].join();\n }\n q = Jc(m.mimeType, n, f.$);\n if (!Za(q)) return !1;\n m.codecs = n;\n }\n m = l.audio;\n if (h && m && m.encrypted && m.codecs.toLowerCase().includes("opus")) return Wa(Wd(l)), !1;\n if (m) {\n n = Yd(m.codecs);\n q = Jc(m.mimeType, n, f.P);\n if (!Za(q)) return !1;\n m.codecs = n;\n }\n (m = l.decodingInfos.some(function (u) {\n return !u.supported || d && (u = u.keySystemAccess) && u.keySystem != d ? !1 : !0;\n })) || Wa(Wd(l));\n return m;\n });\n E(k);\n });\n }\n function Zd(a) {\n var b = [];\n for (c in a) b.push(c);\n b.sort();\n var c = [];\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) {\n var e = d.value;\n d = JSON.stringify(e);\n e = a[e];\n e instanceof Object ? (e = Zd(e), c.push(d + ":" + e)) : (e = JSON.stringify(e), c.push(d + ":" + e));\n }\n return "{" + c.join(",") + "}";\n }\n function $d(a, b) {\n var c, d, e, f, g, h, k;\n return K(function (l) {\n if (1 == l.g) return c = Zd(b), d = ae, d[c] ? (a.decodingInfos.push(d[c]), l.B(0)) : C(l, be(b), 3);\n if ((e = l.h) && e.length) {\n f = null;\n g = t(e);\n for (h = g.next(); !h.done; h = g.next()) k = h.value, f ? (f.supported = f.supported && k.supported, f.powerEfficient = f.powerEfficient && k.powerEfficient, f.smooth = f.smooth && k.smooth, k.keySystemAccess || (f.keySystemAccess = null)) : f = k;\n f && (d[c] = f, a.decodingInfos.push(f));\n }\n E(l);\n });\n }\n function be(a) {\n var b = [""];\n a.video && (b = Oc(a.video.contentType).split(","));\n var c = [""];\n a.audio && (c = Oc(a.audio.contentType).split(","));\n var d = [];\n b = t(b);\n for (var e = b.next(); !e.done; e = b.next()) {\n e = e.value;\n for (var f = {}, g = t(c), h = g.next(); !h.done; f = {\n Gb: f.Gb\n }, h = g.next()) h = h.value, f.Gb = nd(a), a.video && (f.Gb.video.contentType = Gc(Nc(f.Gb.video.contentType), e)), a.audio && (f.Gb.audio.contentType = Gc(Nc(f.Gb.audio.contentType), h)), d.push(new Promise(function (k) {\n return function (l, m) {\n navigator.mediaCapabilities.decodingInfo(k.Gb).then(function (n) {\n l(n);\n })["catch"](m);\n };\n }(f)));\n }\n return Promise.all(d)["catch"](function () {\n JSON.stringify(a);\n return null;\n });\n }\n function Vd(a, b, c, d) {\n var e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A;\n return K(function (D) {\n switch (D.g) {\n case 1:\n if (e = a.some(function (F) {\n return F.decodingInfos.length;\n })) return D["return"]();\n f = {};\n g = t(d);\n h = g.next();\n case 2:\n if (h.done) {\n D.B(4);\n break;\n }\n f.be = h.value;\n k = !1;\n l = t(a);\n m = l.next();\n case 5:\n if (m.done) {\n D.B(7);\n break;\n }\n n = m.value;\n q = ce(n, b, c).filter(function (F) {\n return function (J) {\n return (J.keySystemConfiguration && J.keySystemConfiguration.keySystem) === F.be;\n };\n }(f));\n p = t(q);\n u = p.next();\n case 8:\n if (u.done) {\n D.B(10);\n break;\n }\n v = u.value;\n return C(D, $d(n, v), 9);\n case 9:\n u = p.next();\n D.B(8);\n break;\n case 10:\n n.decodingInfos.length && (k = !0);\n m = l.next();\n D.B(5);\n break;\n case 7:\n if (k) return D["return"]();
1\n f = {\n be: f.be\n };\n h = g.next();\n D.B(2);\n break;\n case 4:\n x = t(a), m = x.next();\n case 12:\n if (m.done) {\n D.B(0);\n break;\n }\n z = m.value;\n y = ce(z, b, c).filter(function (F) {\n F = F.keySystemConfiguration && F.keySystemConfiguration.keySystem;\n return !F || !d.includes(F);\n });\n B = t(y);\n u = B.next();\n case 15:\n if (u.done) {\n m = x.next();\n D.B(12);\n break;\n }\n A = u.value;\n return C(D, $d(z, A), 16);\n case 16:\n u = B.next(), D.B(15);\n }\n });\n }\n function ce(a, b, c) {\n var d = a.audio,\n e = a.video;\n c = {\n type: c ? "file" : "media-source"\n };\n if (e) {\n var f = e.codecs;\n if (e.codecs.includes(",")) {\n var g = e.codecs.split(",");\n f = zc("video", g);\n f = Xd(f);\n g = zc("audio", g);\n g = Yd(g);\n g = Jc(e.mimeType, g, "audio");\n c.audio = {\n contentType: g,\n channels: 2,\n bitrate: a.bandwidth || 1,\n samplerate: 1,\n spatialRendering: !1\n };\n }\n f = Xd(f);\n f = Jc(e.mimeType, f, "video");\n c.video = {\n contentType: f,\n width: e.width || 64,\n height: e.height || 64,\n bitrate: e.bandwidth || a.bandwidth || 1,\n framerate: e.frameRate || 1\n };\n if (e.hdr) switch (e.hdr) {\n case "SDR":\n c.video.transferFunction = "srgb";\n break;\n case "PQ":\n c.video.transferFunction = "pq";\n break;\n case "HLG":\n c.video.transferFunction = "hlg";\n }\n }\n d && (f = Yd(d.codecs), f = Jc(d.mimeType, f, "audio"), c.audio = {\n contentType: f,\n channels: d.channelsCount || 2,\n bitrate: d.bandwidth || a.bandwidth || 1,\n samplerate: d.audioSamplingRate || 1,\n spatialRendering: d.spatialAudio\n });
1\n g = (a.video ? a.video.drmInfos : []).concat(a.audio ? a.audio.drmInfos : []);\n if (!g.length) return [c];\n a = [];\n f = new Map();\n g = t(g);\n for (var h = g.next(); !h.done; h = g.next()) {\n var k = h.value;\n f.get(k.keySystem) || f.set(k.keySystem, []);\n f.get(k.keySystem).push(k);\n }\n g = b ? "required" : "optional";\n b = b ? ["persistent-license"] : ["temporary"];\n k = t(f.keys());\n for (var l = k.next(); !l.done; l = k.next()) {\n var m = l.value;\n l = Object.assign({}, c);\n var n = f.get(m);\n m = {\n keySystem: m,\n initDataType: "cenc",\n persistentState: g,\n distinctiveIdentifier: "optional",\n sessionTypes: b\n };\n n = t(n);\n for (h = n.next(); !h.done; h = n.next()) {\n h = h.value;\n if (h.initData && h.initData.length) {\n for (var q = new Set(), p = t(h.initData), u = p.next(); !u.done; u = p.next()) q.add(u.value.initDataType);\n m.initDataType = h.initData[0].initDataType;\n }\n h.distinctiveIdentifierRequired && (m.distinctiveIdentifier = "required");\n h.persistentStateRequired && (m.persistentState = "required");\n h.sessionType && (m.sessionTypes = [h.sessionType]);\n d && ("" != h.audioRobustness ? m.audio ? m.audio.robustness = m.audio.robustness || h.audioRobustness : m.audio = {\n robustness: h.audioRobustness\n } : m.audio || (m.audio = {}));\n e && ("" != h.videoRobustness ? m.video ? m.video.robustness = m.video.robustness || h.videoRobustness : m.video = {\n robustness: h.videoRobustness\n } : m.video || (m.video = {}));\n }\n l.keySystemConfiguration = m;\n a.push(l);\n }\n return a;\n }\n function Yd(a) {\n return "fLaC" !== a || Id() ? "Opus" === a ? "opus" : a : "flac";\n }\n function Xd(a) {\n if (a.includes("avc1")) {\n var b = a.split(".");\n if (3 == b.length) return a = b.shift() + ".", a += parseInt(b.shift(), 10).toString(16), a += ("000" + parseInt(b.shift(), 10).toString(16)).slice(-4);\n } else if ("vp9" == a) return "vp09.00.41.08";\n return a;\n }\n function Td(a) {\n a.textStreams = a.textStreams.filter(function (b) {\n b = Gc(b.mimeType, b.codecs);\n return Qc(b);\n });\n }\n function Ud(a) {\n var b, c, d, e, f, g, h, k;\n return K(function (l) {\n switch (l.g) {\n case 1:\n b = [], c = t(a.imageStreams), d = c.next();\n case 2:\n if (d.done) {\n l.B(4);\n break;\n }\n e = d.value;\n f = e.mimeType;\n "application/mp4" == f && "mjpg" == e.codecs && (f = "image/jpg");\n if (de.has(f)) {\n l.B(5);\n break;\n }\n g = ee.get(f);\n if (!g) {\n de.set(f, !1);\n l.B(5);\n break;\n }\n return C(l, fe(g), 7);\n case 7:\n h = l.h, de.set(f, h);\n case 5:\n (k = de.get(f)) && b.push(e);\n d = c.next();\n l.B(2);\n break;\n case 4:\n a.imageStreams = b, E(l);\n }\n });\n }\n function fe(a) {\n return new Promise(function (b) {\n var c = new Image();\n c.src = a;\n "decode" in c ? c.decode().then(function () {\n b(!0);\n })["catch"](function () {\n b(!1);\n }) : c.onload = c.onerror = function () {\n b(2 === c.height);\n };\n });\n }\n function ge(a) {\n var b = a.audio,\n c = a.video,\n d = b ? b.mimeType : null,\n e = c ? c.mimeType : null,\n f = b ? b.codecs : null,\n g = c ? c.codecs : null,\n h = [];\n g && h.push(g);\n f && h.push(f);\n var k = [];\n c && k.push(c.mimeType);\n b && k.push(b.mimeType);\n k = k[0] || null;\n var l = [];\n b && l.push(b.kind);\n c && l.push(c.kind);\n l = l[0] || null;\n var m = new Set();\n if (b) for (var n = t(b.roles), q = n.next(); !q.done; q = n.next()) m.add(q.value);\n if (c) for (n = t(c.roles), q = n.next(); !q.done; q = n.next()) m.add(q.value);\n a = {\n id: a.id,\n active: !1,\n type: "variant",\n bandwidth: a.bandwidth,\n language: a.language,\n label: null,\n kind: l,\n width: null,\n height: null,\n frameRate: null,\n pixelAspectRatio: null,\n hdr: null,\n videoLayout: null,\n mimeType: k,\n audioMimeType: d,\n videoMimeType: e,\n codecs: h.join(", "),\n audioCodec: f,\n videoCodec: g,\n primary: a.primary,\n roles: Array.from(m),\n audioRoles: null,\n forced: !1,\n videoId: null,\n audioId: null,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n tilesLayout: null,\n audioBandwidth: null,\n videoBandwidth: null,\n originalVideoId: null,\n originalAudioId: null,\n originalTextId: null,\n originalImageId: null,\n accessibilityPurpose: null,\n originalLanguage: null\n };\n c && (a.videoId = c.id, a.originalVideoId = c.originalId, a.width = c.width || null, a.height = c.height || null, a.frameRate = c.frameRate || null, a.pixelAspectRatio = c.pixelAspectRatio || null, a.videoBandwidth = c.bandwidth || null, a.hdr = c.hdr || null, a.videoLayout = c.videoLayout || null);\n b && (a.audioId = b.id, a.originalAudioId = b.originalId, a.channelsCount = b.channelsCount, a.audioSamplingRate = b.audioSamplingRate, a.audioBandwidth = b.bandwidth || null, a.spatialAudio = b.spatialAudio, a.label = b.label, a.audioR
1oles = b.roles, a.accessibilityPurpose = b.accessibilityPurpose, a.originalLanguage = b.originalLanguage);\n return a;\n }\n function he(a) {\n return {\n id: a.id,\n active: !1,\n type: Dc,\n bandwidth: 0,\n language: a.language,\n label: a.label,\n kind: a.kind || null,\n width: null,\n height: null,\n frameRate: null,\n pixelAspectRatio: null,\n hdr: null,\n videoLayout: null,\n mimeType: a.mimeType,\n audioMimeType: null,\n videoMimeType: null,\n codecs: a.codecs || null,\n audioCodec: null,\n videoCodec: null,\n primary: a.primary,\n roles: a.roles,\n audioRoles: null,\n forced: a.forced,\n videoId: null,\n audioId: null,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n tilesLayout: null,\n audioBandwidth: null,\n videoBandwidth: null,\n originalVideoId: null,\n originalAudioId: null,\n originalTextId: a.originalId,\n originalImageId: null,\n accessibilityPurpose: a.accessibilityPurpose,\n originalLanguage: a.originalLanguage\n };\n }\n function ie(a) {\n var b = a.width || null,\n c = a.height || null,\n d = null;\n a.segmentIndex && (d = a.segmentIndex.get(0));\n var e = a.tilesLayout;\n d && (e = d.tilesLayout || e);\n e && null != b && (b /= Number(e.split("x")[0]));\n e && null != c && (c /= Number(e.split("x")[1]));\n return {\n id: a.id,\n active: !1,\n type: "image",\n bandwidth: a.bandwidth || 0,\n language: "",\n label: null,\n kind: null,\n width: b,\n height: c,\n frameRate: null,\n pixelAspectRatio: null,\n hdr: null,\n videoLayout: null,\n mimeType: a.mimeType,\n audioMimeType: null,\n videoMimeType: null,\n codecs: a.codecs || null,\n audioCodec: null,\n videoCodec: null,\n primary: !1,\n roles: [],\n audioRoles: null,\n forced: !1,\n videoId: null,\n audioId: null,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n tilesLayout: e || null,\n audioBandwidth: null,\n videoBandwidth: null,\n originalVideoId: null,\n originalAudioId: null,\n originalTextId: null,\n originalImageId: a.originalId,\n accessibilityPurpose: null,\n originalLanguage: null\n };\n }\n function je(a) {\n a.__shaka_id || (a.__shaka_id = ke++);\n return a.__shaka_id;\n }\n function le(a) {\n var b = me(a);\n b.active = "disabled" != a.mode;\n b.type = "text";\n b.originalTextId = a.id;\n "captions" == a.kind && (b.mimeType = "application/cea-608");\n "subtitles" == a.kind && (b.mimeType = "text/vtt");\n a.kind && (b.roles = [a.kind]);\n "forced" == a.kind && (b.forced = !0);\n return b;\n }\n function ne(a) {\n var b = me(a);\n b.active = a.enabled;\n b.type = "variant";\n b.originalAudioId = a.id;\n "main" == a.kind && (b.primary = !0);\n a.kind && (b.roles = [a.kind], b.audioRoles = [a.kind], b.label = a.label);\n return b;\n }\n function me(a) {\n var b = a.language;\n return {\n id: je(a),\n active: !1,\n type: "",\n bandwidth: 0,\n language: dd(b || "und"),\n label: a.label,\n kind: a.kind,\n width: null,\n height: null,\n frameRate: null,\n pixelAspectRatio: null,\n hdr: null,\n videoLayout: null,\n mimeType: null,\n audioMimeType: null,\n videoMimeType: null,\n codecs: null,\n audioCodec: null,\n videoCodec: null,\n primary: !1,\n roles: [],\n forced: !1,\n audioRoles: null,\n videoId: null,\n audioId: null,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n tilesLayout: null,\n audioBandwidth: null,\n videoBandwidth: null,\n originalVideoId: null,\n originalAudioId: null,\n originalTextId: null,\n originalImageId: null,\n accessibilityPurpose: null,\n originalLanguage: b\n };\n }\n function oe(a) {\n return a.allowedByApplication && a.allowedByKeySystem && 0 == a.disabledUntilTime;\n }\n function pe(a) {\n return a.filter(function (b) {\n return oe(b);\n });\n }\n function qe(a, b, c, d) {\n var e = a,\n f = a.filter(function (k) {\n return k.primary;\n });\n f.length && (e = f);\n var g = e.length ? e[0].language : "";\n e = e.filter(function (k) {\n return k.language == g;\n });\n if (b) {\n var h = ld(dd(b), a.map(function (k) {\n return k.language;\n }));\n h && (e = a.filter(function (k) {\n return dd(k.language) == h;\n }));\n }\n e = e.filter(function (k) {\n return k.forced == d;\n });\n if (c) {\n if (a = re(e, c), a.length) return a;\n } else if (a = e.filter(function (k) {\n return 0 == k.roles.length;\n }), a.length) return a;\n a = e.map(function (k) {\n return k.roles;\n }).reduce(Zc, []);\n return a.length ? re(e, a[0]) : e;\n }\n function re(a, b) {\n return a.filter(function (c) {\n return c.roles.includes(b);\n });\n }\n function Wd(a) {\n var b = [];\n a.audio && b.push(se(a.audio));\n a.video && b.push(se(a.video));\n return b.join(", ");\n }\n function se(a) {\n return "audio" == a.type ? "type=audio codecs=" + a.codecs + " bandwidth=" + a.bandwidth + " channelsCount=" + a.channelsCount + " audioSamplingRate=" + a.audioSamplingRate : "video" == a.type ? "type=video codecs=" + a.codecs + " bandwidth=" + a.bandwidth + " frameRate=" + a.frameRate + " width="
1+ a.width + " height=" + a.height : "unexpected stream type";\n }\n N("shaka.util.StreamUtils", Ld);\n Ld.meetsRestrictions = Pd;\n var ae = {},\n ke = 0,\n de = new Map().set("image/svg+xml", !0).set("image/png", !0).set("image/jpeg", !0).set("image/jpg", !0),\n ee = new Map().set("image/webp", "data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA").set("image/avif", "data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A=");\n function te() {\n var a = this;\n this.s = null;\n this.o = !1;\n this.i = new Pa();\n this.A = null;\n navigator.connection && navigator.connection.addEventListener && (this.A = function () {\n if (a.o && a.g.useNetworkInformation) {\n a.i = new Pa();\n a.g && a.i.configure(a.g.advanced);\n var b = a.chooseVariant();\n b && navigator.onLine && a.s(b, a.g.clearBufferSwitch, a.g.safeMarginSwitch);\n }\n }, navigator.connection.addEventListener("change", this.A));\n this.m = [];\n this.C = 1;\n this.G = !1;\n this.h = this.l = this.g = this.u = null;\n this.F = new qd(function () {\n if (a.g.restrictToElementSize) {\n var b = a.chooseVariant();\n b && a.s(b, a.g.clearBufferSwitch, a.g.safeMarginSwitch);\n }\n });\n this.j = null;\n }\n r = te.prototype;\n r.stop = function () {\n this.s = null;\n this.o = !1;\n this.m = [];\n this.C = 1;\n this.l = this.u = null;\n this.h && (this.h.disconnect(), this.h = null);\n this.F.stop();\n this.j = null;\n };\n r.release = function () {\n navigator.connection && navigator.connection.removeEventListener && (navigator.connection.removeEventListener("change", this.A), this.A = null);\n this.F = null;\n };\n r.init = function (a) {\n this.s = a;\n };\n r.chooseVariant = function (a) {\n a = void 0 === a ? !1 : a;\n var b = Infinity,\n c = Infinity;\n this.g.restrictToScreenSize && (c = this.g.ignoreDevicePixelRatio ? 1 : window.devicePixelRatio, b = window.screen.height * c, c *= window.screen.width);\n if (this.h && this.g.restrictToElementSize) {\n var d = this.g.ignoreDevicePixelRatio ? 1 : window.devicePixelRatio;\n b = Math.min(b, this.l.clientHeight * d);\n c = Math.min(c, this.l.clientWidth * d);\n }\n var e = this.m.filter(function (l) {\n return !(l.audio && l.audio.fastSwitching || l.video && l.video.fastSwitching);\n });\n e.length || (e = this.m);\n d = e;\n a && e.length != this.m.length && (d = this.m.filter(function (l) {\n return l.audio && l.audio.fastSwitching || l.video && l.video.fastSwitching ? !0 : !1;\n }));\n a = ue(this, this.g.restrictions, d, Infinity, Infinity);\n if (Infinity != b || Infinity != c) {\n a = ve(a);\n a = t(a);\n for (e = a.next(); !e.done; e = a.next()) if (e = e.value, e.height >= b && e.width >= c) {\n b = e.height;\n c = e.width;\n break;\n }\n a = ue(this, this.g.restrictions, d, b, c);\n }\n b = this.getBandwidthEstimate();\n d.length && !a.length && (a = ue(this, null, d, Infinity, Infinity), a = [a[0]]);\n c = a[0] || null;\n for (d = 0; d < a.length; d++) {\n e = a[d];\n for (var f = isNaN(this.C) ? 1 : Math.abs(this.C), g = f * e.bandwidth / this.g.bandwidthDowngradeTarget, h = {\n bandwidth: Infinity\n }, k = d + 1; k < a.length; k++) if (e.bandwidth != a[k].bandwidth) {\n h = a[k];\n break;\n }\n f = f * h.bandwidth / this.g.bandwidthUpgradeTarget;\n b >= g && b <= f && c.bandwidth != e.bandwidth && (c = e);\n }\n this.u = Date.now();\n return c;\n };\n r.enable = function () {\n this.o = !0;\n };\n r.disable = function () {\n this.o = !1;\n };\n r.segmentDownloaded = function (a, b, c) {\n this.i.sample(a, b);\n c && null != this.u && this.o && we(this);\n };\n r.trySuggestStreams = function () {\n null != this.u && this.o && we(this);\n };\n r.getBandwidthEstimate = function () {\n var a = this.g.defaultBandwidthEstimate;\n navigator.connection && navigator.connection.downlink && this.g.useNetworkInformation && (a = 1E6 * navigator.connection.downlink);\n a = this.i.getBandwidthEstimate(a);\n return this.j ? this.j.getBandwidthEstimate(a) : a;\n };\n r.setVariants = function (a) {\n this.m = a;\n };\n r.playbackRateChanged = function (a) {\n this.C = a;\n };\n r.setMediaElement = function (a) {\n var b = this;\n this.l = a;\n this.h && (this.h.disconnect(), this.h = null);\n this.l && "ResizeObserver" in window && (this.h = new ResizeObserver(function () {\n b.F.U(xe);\n }), this.h.observe(this.l));\n };\n r.setCmsdManager = function (a) {\n this.j = a;\n };\n r.configure = function (a) {\n this.g = a;\n this.i && this.g && this.i.configure(this.g.advanced);\n };\n function we(a) {\n if (!a.G) {\n var b = a.i;\n if (!(b.g >= b.i)) return;\n a.G = !0;\n } else if (Date.now() - a.u < 1E3 * a.g.switchInterval) return;\n b = a.chooseVariant();\n a.getBandwidthEstimate();\n b && a.s(b, a.g.clearBufferSwitch, a.g.safeMarginSwitch);\n }\n function ue(a, b, c, d, e) {\n if (a.j) {\n var f = a.j.Rf();\n f && (c = c.filter(function (g) {\n return g.bandwidth && f ? g.bandwidth <= f : !0;\n }));\n }\n b && (c = c.filter(function (g) {\n return Pd(g, b, {\n width: e,\n height: d\n });\n }));\n return c.sort(function (g, h) {\n return g.bandwidth - h.bandwidth;\n });\n }\n function ve(a) {\n var b = [];\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) (c = c.value.video) && c.height && c.width && b.push({\n height: c.height,\n width: c.width\n });\n return b.sort(function (d, e) {\n return d.width - e.width;\n });\n }\n N("shaka.abr.SimpleAbrManager", te);\n te.prototype.configure = te.prototype.configure;\n te.prototype.setCmsdManager = te.prototype.setCmsdManager;\n te.prototype.setMediaElement = te.prototype.setMediaElement;\n te.prototype.playbackRateChanged = te.prototype.playbackRateChanged;\n te.prototype.setVariants = te.prototype.setVariants;\n te.prototype.getBandwidthEstimate = te.prototype.getBandwidthEstimate;\n te.prototype.trySuggestStreams = te.prototype.trySuggestStreams;\n te.prototype.segmentDownloaded = te.prototype.segmentDownloaded;\n te.prototype.disable = te.prototype.disable;\n te.prototype.enable = te.prototype.enable;\n te.prototype.chooseVariant = te.prototype.chooseVariant;\n te.prototype.init = te.prototype.init;\n te.prototype.release = te.prototype.release;\n te.prototype.stop = te.prototype.stop;\n var xe = 1;\n function ye(a, b) {\n this.g = a;\n this.h = b;\n }\n ye.prototype.toString = function () {\n return "v" + this.g + "." + this.h;\n };\n function ze(a, b) {\n var c = new ye(5, 0),\n d = Ae,\n e = d.g,\n f = c.h - e.h;\n (0 < (c.g - e.g || f) ? d.i : d.h)(d.g, c, a, b);\n }\n function Be(a, b, c, d) {\n Sa([c, "has been deprecated and will be removed in", b, ". We are currently at version", a, ". Additional information:", d].join(" "));\n }\n function Ce(a, b, c, d) {\n Ra([c, "has been deprecated and has been removed in", b, ". We are now at version", a, ". Additional information:", d].join(" "));\n }\n var Ae = null;\n N("shaka.config.AutoShowText", {\n NEVER: 0,\n ALWAYS: 1,\n IF_PREFERRED_TEXT_LANGUAGE: 2,\n IF_SUBTITLES_MAY_BE_NEEDED: 3\n });\n N("shaka.config.CodecSwitchingStrategy", {\n Hi: "reload",\n yg: "smooth"\n });\n function De(a, b, c, d) {\n c = void 0 === c ? !0 : c;\n d = void 0 === d ? !1 : d;\n this.h = a;\n this.g = new Set([a]);\n b = b || [];\n a = t(b);\n for (b = a.next(); !b.done; b = a.next()) this.add(b.value, c, d);\n }\n De.prototype.add = function (a, b, c) {\n return Ee(this.h, a, void 0 === b ? !0 : b, void 0 === c ? !1 : c) ? (this.g.add(a), !0) : !1;\n };\n function Ee(a, b, c, d) {\n var e;\n if (!(e = !!a.audio != !!b.audio || !!a.video != !!b.video || a.language != b.language) && (e = a.audio && b.audio)) {\n e = a.audio;\n var f = b.audio;\n e = !!((!e.channelsCount || !f.channelsCount || 2 < e.channelsCount || 2 < f.channelsCount) && e.channelsCount != f.channelsCount || c && !Ge(e, f) || !He(e.roles, f.roles) || d && e.groupId !== f.groupId);\n }\n !(d = e) && (d = a.video && b.video) && (a = a.video, b = b.video, d = !((!c || Ge(a, b)) && He(a.roles, b.roles)));\n return d ? !1 : !0;\n }\n De.prototype.values = function () {\n return this.g.values();\n };\n function Ge(a, b) {\n if (a.mimeType != b.mimeType) return !1;\n a = a.codecs.split(",").map(function (d) {\n return Mc(d);\n });\n b = b.codecs.split(",").map(function (d) {\n return Mc(d);\n });\n if (a.length != b.length) return !1;\n a.sort();\n b.sort();\n for (var c = 0; c < a.length; c++) if (a[c] != b[c]) return !1;\n return !0;\n }
1\n function He(a, b) {\n a = new Set(a);\n b = new Set(b);\n a["delete"]("main");\n b["delete"]("main");\n if (a.size != b.size) return !1;\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) if (!b.has(c.value)) return !1;\n return !0;\n }\n ;\n function Ie(a, b, c) {\n b = void 0 === b ? "reload" : b;\n c = void 0 === c ? !1 : c;\n this.i = a;\n this.h = b;\n this.g = c;\n this.j = new Je(a.language, "", a.audio && a.audio.channelsCount ? a.audio.channelsCount : 0, "", !1, "", "", "", b, c);\n }\n Ie.prototype.create = function (a) {\n var b = this,\n c = "smooth" == this.h && bb(),\n d = a.filter(function (e) {\n return Ee(b.i, e, !c, b.g);\n });\n return d.length ? new De(d[0], d, !c, this.g) : this.j.create(a);\n };\n function Je(a, b, c, d, e, f, g, h, k, l) {\n this.s = a;\n this.u = b;\n this.h = c;\n this.i = d;\n this.A = e;\n this.l = f;\n this.g = void 0 === g ? "" : g;\n this.j = void 0 === h ? "" : h;\n this.m = void 0 === k ? "reload" : k;\n this.o = void 0 === l ? !1 : l;\n }\n Je.prototype.create = function (a) {\n var b = [];\n b = Ke(a, this.s);\n var c = a.filter(function (d) {\n return d.primary;\n });\n b = b.length ? b : c.length ? c : a;\n a = Le(b, this.u);\n a.length && (b = a);\n this.l && (a = Me(b, this.l), a.length && (b = a));\n this.i && (a = Ne(b, this.i), a.length && (b = a));\n this.h && (a = Oe(b, this.h), a.length && (b = a));\n this.g && (a = Pe(b, this.g), a.length && (b = a));\n this.j && (a = Qe(b, this.j), a.length && (b = a));\n a = Re(b, this.A);\n a.length && (b = a);\n return new De(b[0], b, !("smooth" == this.m && bb()), this.o);\n };\n function Ke(a, b) {\n b = dd(b);\n var c = ld(b, a.map(function (d) {\n return kd(d);\n }));\n return c ? a.filter(function (d) {\n return c == kd(d);\n }) : [];\n }\n function Le(a, b) {\n return a.filter(function (c) {\n return c.audio ? b ? c.audio.roles.includes(b) : 0 == c.audio.roles.length : !1;\n });\n }\n function Pe(a, b) {\n return a.filter(function (c) {\n return c.audio && c.audio.label ? c.audio.label.toLowerCase() == b.toLowerCase() : !1;\n });\n }\n function Qe(a, b) {\n return a.filter(function (c) {\n return c.video && c.video.label ? c.video.label.toLowerCase() == b.toLowerCase() : !1;\n });\n }\n function Oe(a, b) {\n return a.filter(function (c) {\n return c.audio && c.audio.channelsCount && c.audio.channelsCount != b ? !1 : !0;\n });\n }\n function Ne(a, b) {\n "AUTO" == b && (b = window.matchMedia("(color-gamut: p3)").matches ? "PQ" : "SDR");\n return a.filter(function (c) {\n return c.video && c.video.hdr && c.video.hdr != b ? !1 : !0;\n });\n }\n function Me(a, b) {\n return a.filter(function (c) {\n return c.video && c.video.videoLayout && c.video.videoLayout != b ? !1 : !0;\n });\n }\n function Re(a, b) {\n return a.filter(function (c) {\n return c.audio && c.audio.spatialAudio != b ? !1 : !0;\n });\n }\n ;\n function Se() {\n this.g = Te;\n this.h = new Map().set(Te, 2).set(Ue, 1);\n }\n function Ve(a, b, c) {\n a.h.set(Te, c).set(Ue, b);\n }\n var Ue = 0,\n Te = 1;\n function We(a, b) {\n var c = Xe();\n this.l = null == a.maxAttempts ? c.maxAttempts : a.maxAttempts;\n this.j = null == a.baseDelay ? c.baseDelay : a.baseDelay;\n this.o = null == a.fuzzFactor ? c.fuzzFactor : a.fuzzFactor;\n this.m = null == a.backoffFactor ? c.backoffFactor : a.backoffFactor;\n this.g = 0;\n this.h = this.j;\n if (this.i = void 0 === b ? !1 : b) this.g = 1;\n }\n function Ye(a) {\n var b, c;\n return K(function (d) {\n if (1 == d.g) {\n if (a.g >= a.l) if (a.i) a.g = 1, a.h = a.j;else throw new O(2, 7, 1010);\n b = a.g;\n a.g++;\n if (0 == b) return d["return"]();\n c = a.h * (1 + (2 * Math.random() - 1) * a.o);\n return C(d, new Promise(function (e) {\n new qd(e).U(c / 1E3);\n }), 2);\n }\n a.h *= a.m;\n E(d);\n });\n }\n function Xe() {\n return {\n maxAttempts: 2,\n baseDelay: 1E3,\n backoffFactor: 2,\n fuzzFactor: .5,\n timeout: 3E4,\n stallTimeout: 5E3,\n connectionTimeout: 1E4\n };\n }\n ;\n function Ze() {\n var a,\n b,\n c = new Promise(function (d, e) {\n a = d;\n b = e;\n });\n c.resolve = a;\n c.reject = b;\n return c;\n }\n Ze.prototype.resolve = function () {};\n Ze.prototype.reject = function () {};\n function $e(a, b) {\n this.promise = a;\n this.i = b;\n this.g = !1;\n }\n function af(a) {\n return new $e(Promise.reject(a), function () {\n return Promise.resolve();\n });\n }\n function bf() {\n var a = Promise.reject(new O(2, 7, 7001));\n a["catch"](function () {});\n return new $e(a, function () {\n return Promise.resolve();\n });\n }\n function cf(a) {\n return new $e(Promise.resolve(a), function () {\n return Promise.resolve();\n });\n }\n function df(a) {\n return new $e(a, function () {\n return a["catch"](function () {});\n });\n }\n $e.prototype.abort = function () {\n this.g = !0;\n return this.i();\n };\n function ef(a) {\n return new $e(Promise.all(a.map(function (b) {\n return b.promise;\n })), function () {\n return Promise.all(a.map(function (b) {\n return b.abort();\n }));\n });\n }\n $e.prototype["finally"] = function (a) {\n this.promise.then(function () {\n return a(!0);\n }, function () {\n return a(!1);\n });\n return this;\n };\n $e.prototype.pa = function (a, b) {\n function c(h) {\n return function (k) {\n if (e.g && h) f.reject(g);else {\n var l = h ? a : b;\n l ? d = ff(l, k, f) : (h ? f.resolve : f.reject)(k);\n }\n };\n }\n function d() {\n f.reject(g);\n return e.abort();\n }\n var e = this,\n f = new Ze(),\n g = new O(2, 7, 7001);\n this.promise.then(c(!0), c(!1));\n return new $e(f, function () {\n return d();\n });\n };
1\n function ff(a, b, c) {\n try {\n var d = a(b);\n if (d && d.promise && d.abort) return c.resolve(d.promise), function () {\n return d.abort();\n };\n c.resolve(d);\n return function () {\n return Promise.resolve(d).then(function () {}, function () {});\n };\n } catch (e) {\n return c.reject(e), function () {\n return Promise.resolve();\n };\n }\n }\n N("shaka.util.AbortableOperation", $e);\n $e.prototype.chain = $e.prototype.pa;\n $e.prototype["finally"] = $e.prototype["finally"];\n $e.all = ef;\n $e.prototype.abort = $e.prototype.abort;\n $e.notAbortable = df;\n $e.completed = cf;\n $e.aborted = bf;\n $e.failed = af;\n function Q(a, b) {\n if (b) if (b instanceof Map) for (var c = t(b.keys()), d = c.next(); !d.done; d = c.next()) d = d.value, Object.defineProperty(this, d, {\n value: b.get(d),\n writable: !0,\n enumerable: !0\n });else for (c in b) Object.defineProperty(this, c, {\n value: b[c],\n writable: !0,\n enumerable: !0\n });\n this.defaultPrevented = this.cancelable = this.bubbles = !1;\n this.timeStamp = window.performance && window.performance.now ? window.performance.now() : Date.now();\n this.type = a;\n this.isTrusted = !1;\n this.target = this.currentTarget = null;\n this.g = !1;\n }\n function gf(a) {\n var b = new Q(a.type),\n c;\n for (c in a) Object.defineProperty(b, c, {\n value: a[c],\n writable: !0,\n enumerable: !0\n });\n return b;\n }\n Q.prototype.preventDefault = function () {\n this.cancelable && (this.defaultPrevented = !0);\n };\n Q.prototype.stopImmediatePropagation = function () {\n this.g = !0;\n };\n Q.prototype.stopPropagation = function () {};\n N("shaka.util.FakeEvent", Q);\n var hf = {\n hi: "abrstatuschanged",\n ii: "adaptation",\n ji: "buffering",\n ki: "complete",\n li: "downloadfailed",\n mi: "downloadheadersreceived",\n ni: "drmsessionupdate",\n pi: "emsg",\n Gi: "prft",\n Error: "error",\n ri: "expirationupdated",\n si: "firstquartile",\n ti: "gapjumped",\n wi: "keystatuschanged",\n yi: "loaded",\n zi: "loading",\n Bi: "manifestparsed",\n Ci: "manifestupdated",\n Di: "mediaqualitychanged",\n Metadata: "metadata",\n Ei: "midpoint",\n Fi: "onstatechange",\n Ii: "ratechange",\n Ji: "segmentappended",\n Ki: "sessiondata",\n Li: "stalldetected",\n Mi: "started",\n Ni: "statechanged",\n Oi: "streaming",\n Pi: "textchanged",\n Qi: "texttrackvisibility",\n Ri: "thirdquartile",\n Si: "timelineregionadded",\n Ti: "timelineregionenter",\n Ui: "timelineregionexit",\n Vi: "trackschanged",\n Xi: "unloading",\n Zi: "variantchanged"\n };\n function jf() {\n this.ka = new md();\n this.zd = this;\n }\n jf.prototype.addEventListener = function (a, b) {\n this.ka && this.ka.push(a, b);\n };\n jf.prototype.removeEventListener = function (a, b) {\n this.ka && this.ka.remove(a, b);\n };\n jf.prototype.dispatchEvent = function (a) {\n if (!this.ka) return !0;\n var b = this.ka.get(a.type) || [],\n c = this.ka.get("All");\n c && (b = b.concat(c));\n b = t(b);\n for (c = b.next(); !c.done; c = b.next()) {\n c = c.value;\n a.target = this.zd;\n a.currentTarget = this.zd;\n try {\n c.handleEvent ? c.handleEvent(a) : c.call(this, a);\n } catch (d) {}\n if (a.g) break;\n }\n return a.defaultPrevented;\n };\n jf.prototype.release = function () {\n this.ka = null;\n };\n function kf() {\n this.g = [];\n }\n function lf(a, b) {\n a.g.push(b["finally"](function () {\n tb(a.g, b);\n }));\n }\n kf.prototype.destroy = function () {\n for (var a = [], b = t(this.g), c = b.next(); !c.done; c = b.next()) c = c.value, c.promise["catch"](function () {}), a.push(c.abort());\n this.g = [];\n return Promise.all(a);\n };\n function mf(a, b, c, d, e) {\n jf.call(this);\n this.i = !1;\n this.m = new kf();\n this.g = new Set();\n this.h = new Set();\n this.l = a || null;\n this.j = b || null;\n this.s = c || null;\n this.u = d || null;\n this.A = e || null;\n this.o = !1;\n }\n oa(mf, jf);\n r = mf.prototype;\n r.nf = function (a) {\n this.o = a;\n };\n function nf(a, b, c, d) {\n c = c || of;\n var e = pf[a];\n if (!e || c >= e.priority) pf[a] = {\n priority: c,\n Vd: b,\n Ih: void 0 === d ? !1 : d\n };\n }\n r.Jh = function (a) {\n this.g.add(a);\n };\n r.bi = function (a) {\n this.g["delete"](a);\n };\n r.Hg = function () {\n this.g.clear();\n };\n r.Kh = function (a) {\n this.h.add(a);\n };\n r.ci = function (a) {\n this.h["delete"](a);\n };\n r.Ig = function () {\n this.h.clear();\n };\n function qf(a, b, c) {\n return {\n uris: a,\n method: "GET",\n body: null,\n headers: {},\n allowCrossSiteCredentials: !1,\n retryParameters: b,\n licenseRequestType: null,\n sessionId: null,\n drmInfo: null,\n initData: null,\n initDataType: null,\n streamDataCallback: void 0 === c ? null : c\n };\n }\n r.destroy = function () {\n this.i = !0;\n this.g.clear();\n this.h.clear();\n jf.prototype.release.call(this);\n return this.m.destroy();\n };\n r.request = function (a, b, c) {\n var d = this,\n e = new rf();\n if (this.i) {\n var f = Promise.reject(new O(2, 7, 7001));\n f["catch"](function () {});\n return new sf(f, function () {\n return Promise.resolve();\n }, e);\n }\n b.method = b.method || "GET";\n b.headers = b.headers || {};\n b.retryParameters = b.retryParameters ? nd(b.retryParameters) : Xe();\n b.uris = nd(b.uris);\n f = tf(this, a, b, c);\n var g = f.pa(function () {\n return uf(d, a, b, c, new We(b.retryParameters, !1), 0, null, e);\n }),\n h = g.pa(function (q) {\n return vf(d, a, q, c);\n }),\n k = Date.now(),\n l = 0;\n f.promise.then(function () {\n l = Date.now() - k;\n }, function () {});\n var m = 0;\n g.promise.then(function () {\n m = Date.now();\n }, function () {});\n var n = h.pa(function (q) {\n var p = Date.now() - m,\n u = q.response;\n u.timeMs += l;\n u.timeMs += p;\n q.qh || !d.l || u.fromCache || "HEAD" == b.method || a != wf || d.l(u.timeMs, u.data.byteLength, xf(c));\n return u;\n }, function (q) {\n q && (q.severity = 2);\n throw q;\n });\n f = new sf(n.promise, function () {\n return n.abort();\n }, e);\n lf(this.m, f);\n return f;\n };\n function tf(a, b, c, d) {\n function e(h) {\n f = f.pa(function () {\n c.body && (c.body = kb(c.body));\n return h(b, c, d);\n });\n }\n var f = cf(void 0);\n a.u && e(a.u);\n a = t(a.g);\n for (var g = a.next(); !g.done; g = a.next()) e(g.value);\n return f.pa(void 0, function (h) {\n if (h instanceof O && 7001 == h.code) throw h;\n throw new O(2, 1, 1006, h);\n });\n }\n function uf(a, b, c, d, e, f, g, h) {\n a.o && (c.uris[f] = c.uris[f].replace("http://", "https://"));\n 0 < f && a.A && a.A(b, d, c.uris[f], c.uris[f - 1]);\n var k = new fc(c.uris[f]),\n l = k.ab,\n m = !1;\n l || (l = location.protocol, l = l.slice(0, -1), gc(k, l), c.uris[f] = k.toString());\n l = l.toLowerCase();\n var n = (l = pf[l]) ? l.Vd : null;\n if (!n) return af(new O(2, 1, 1E3, k));\n var q = l.Ih,\n p = null,\n u = null,\n v = !1,\n x = !1,\n z;\n return df(Ye(e)).pa(function () {\n if (a.i) return bf();\n z = Date.now();\n var y = n(c.uris[f], c, b, function (D, F, J) {\n p && p.stop();\n u && u.U(A / 1E3);\n a.l && b == wf && (a.l(D, F, xf(d)), m = !0, h.g = J);\n }, function (D) {\n a.j && a.j(D, c, b);\n x = !0;\n });\n if (!q) return y;\n var B = c.retryParameters.connectionTimeout;\n B && (p = new qd(function () {\n v = !0;\n y.abort();\n }), p.U(B / 1E3));\n var A = c.retryParameters.stallTimeout;\n A && (u = new qd(function () {\n v = !0;\n y.abort();\n }));\n return y;\n }
1).pa(function (y) {\n p && p.stop();\n u && u.stop();\n void 0 == y.timeMs && (y.timeMs = Date.now() - z);\n var B = {\n response: y,\n qh: m\n };\n !x && a.j && a.j(y.headers, c, b);\n return B;\n }, function (y) {\n p && p.stop();\n u && u.stop();\n if (a.s) {\n var B = null,\n A = 0;\n y instanceof O && (B = y, 1001 == y.code && (A = y.data[1]));\n a.s(c, B, A, v);\n }\n if (a.i) return bf();\n v && (y = new O(1, 1, 1003, c.uris[f], b));\n if (y instanceof O) {\n if (7001 == y.code) throw y;\n if (1010 == y.code) throw g;\n if (1 == y.severity) return B = new Map().set("error", y), B = new Q("retry", B), a.dispatchEvent(B), f = (f + 1) % c.uris.length, uf(a, b, c, d, e, f, y, h);\n }\n throw y;\n });\n }\n function vf(a, b, c, d) {\n var e = cf(void 0),\n f = {};\n a = t(a.h);\n for (var g = a.next(); !g.done; f = {\n de: f.de\n }, g = a.next()) f.de = g.value, e = e.pa(function (h) {\n return function () {\n var k = c.response;\n k.data && (k.data = kb(k.data));\n return h.de(b, k, d);\n };\n }(f));\n return e.pa(function () {\n return c;\n }, function (h) {\n var k = 2;\n if (h instanceof O) {\n if (7001 == h.code) throw h;\n k = h.severity;\n }\n throw new O(k, 1, 1007, h);\n });\n }\n function xf(a) {\n if (a) {\n var b = a.segment;\n a = a.stream;\n if (b && a && a.fastSwitching && b.Zc) return !1;\n }\n return !0;\n }\n N("shaka.net.NetworkingEngine", mf);\n mf.prototype.request = mf.prototype.request;\n mf.prototype.destroy = mf.prototype.destroy;\n mf.makeRequest = qf;\n mf.defaultRetryParameters = function () {\n return Xe();\n };\n mf.prototype.clearAllResponseFilters = mf.prototype.Ig;\n mf.prototype.unregisterResponseFilter = mf.prototype.ci;\n mf.prototype.registerResponseFilter = mf.prototype.Kh;\n mf.prototype.clearAllRequestFilters = mf.prototype.Hg;\n mf.prototype.unregisterRequestFilter = mf.prototype.bi;\n mf.prototype.registerRequestFilter = mf.prototype.Jh;\n mf.unregisterScheme = function (a) {\n delete pf[a];\n };\n mf.registerScheme = nf;\n mf.prototype.setForceHTTPS = mf.prototype.nf;\n function rf() {\n this.g = 0;\n }\n mf.NumBytesRemainingClass = rf;\n function sf(a, b, c) {\n $e.call(this, a, b);\n this.h = c;\n }\n oa(sf, $e);\n mf.PendingRequest = sf;\n var wf = 1;\n mf.RequestType = {\n MANIFEST: 0,\n SEGMENT: wf,\n LICENSE: 2,\n APP: 3,\n TIMING: 4,\n SERVER_CERTIFICATE: 5,\n KEY: 6,\n ADS: 7,\n CONTENT_STEERING: 8\n };\n mf.AdvancedRequestType = {\n INIT_SEGMENT: 0,\n MEDIA_SEGMENT: 1,\n MEDIA_PLAYLIST: 2,\n MASTER_PLAYLIST: 3,\n MPD: 4,\n MSS: 5\n };\n var of = 3;\n mf.PluginPriority = {\n FALLBACK: 1,\n PREFERRED: 2,\n APPLICATION: of\n };\n var pf = {};\n function yf(a) {\n this.g = !1;\n this.h = new Ze();\n this.i = a;\n }\n yf.prototype.destroy = function () {\n var a = this;\n if (this.g) return this.h;\n this.g = !0;\n return this.i().then(function () {\n a.h.resolve();\n }, function () {\n a.h.resolve();\n });\n };\n function zf(a, b) {\n if (a.g) {\n if (b instanceof O && 7003 == b.code) throw b;\n throw new O(2, 7, 7003, b);\n }\n }\n ;\n function Af() {\n this.g = new md();\n }\n r = Af.prototype;\n r.release = function () {\n this.Za();\n this.g = null;\n };\n r.D = function (a, b, c, d) {\n this.g && (a = new Bf(a, b, c, d), this.g.push(b, a));\n };\n r.ja = function (a, b, c, d) {\n function e(g) {\n f.Vb(a, b, e);\n c(g);\n }\n var f = this;\n this.D(a, b, e, d);\n };\n r.Vb = function (a, b, c) {\n if (this.g) {\n var d = this.g.get(b) || [];\n d = t(d);\n for (var e = d.next(); !e.done; e = d.next()) e = e.value, e.target != a || c != e.listener && c || (e.Vb(), this.g.remove(b, e));\n }\n };\n r.Za = function () {\n if (this.g) {\n var a = this.g,\n b = [],\n c;\n for (c in a.g) b.push.apply(b, w(a.g[c]));\n a = t(b);\n for (b = a.next(); !b.done; b = a.next()) b.value.Vb();\n this.g.g = {};\n }\n };\n N("shaka.util.EventManager", Af);\n Af.prototype.removeAll = Af.prototype.Za;\n Af.prototype.unlisten = Af.prototype.Vb;\n Af.prototype.listenOnce = Af.prototype.ja;\n Af.prototype.listen = Af.prototype.D;\n Af.prototype.release = Af.prototype.release;\n function Bf(a, b, c, d) {\n this.target = a;\n this.type = b;\n this.listener = c;\n this.g = Cf(a, d);\n this.target.addEventListener(b, c, this.g);\n }\n Bf.prototype.Vb = function () {\n this.target.removeEventListener(this.type, this.listener, this.g);\n this.listener = this.target = null;\n this.g = !1;\n };\n function Cf(a, b) {\n if (void 0 == b) return !1;\n if ("boolean" == typeof b) return b;\n var c = new Set(["passive", "capture"]);\n Object.keys(b).filter(function (d) {\n return !c.has(d);\n });\n return Df(a) ? b : b.capture || !1;\n }\n function Df(a) {\n var b = Ef;\n if (void 0 == b) {\n b = !1;\n try {\n var c = {},\n d = {\n get: function get() {\n b = !0;\n return !1;\n }\n };\n Object.defineProperty(c, "passive", d);\n Object.defineProperty(c, "capture", d);\n d = function d() {};\n a.addEventListener("test", d, c);\n a.removeEventListener("test", d, c);\n } catch (e) {\n b = !1;\n }\n Ef = b;\n }\n return b || !1;\n }\n var Ef = void 0;\n function Ff(a, b) {\n var c = [];\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) c.push(b(d.value));\n return c;\n }\n function Gf(a, b) {\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) if (!b(c.value)) return !1;\n return !0;\n }\n ;\n function Hf(a) {\n this.h = a;\n this.g = void 0;\n }\n Hf.prototype.value = function () {\n void 0 == this.g && (this.g = this.h());\n return this.g;\n };\n function If(a) {\n for (var b = new Map(), c = t(Object.keys(a)), d = c.next(); !d.done; d = c.next()) d = d.value, b.set(d, a[d]);\n return b;\n }\n function Jf(a) {\n var b = {};\n a.forEach(function (c, d) {\n b[d] = c;\n });\n return b;\n }\n ;\n function Kf() {}\n function Nf(a) {\n if (!a) return "";\n a = hb(a);\n 239 == a[0] && 187 == a[1] && 191 == a[2] && (a = a.subarray(3));\n if (window.TextDecoder && !Dd()) return a = new TextDecoder().decode(a), a.includes("\\uFFFD") && Ra(\'Decoded string contains an "unknown character" codepoint. That probably means the UTF8 encoding was incorrect!\'), a;\n for (var b = "", c = 0; c < a.length; ++c) {\n var d = 65533;\n 0 == (a[c] & 128) ? d = a[c] : a.length >= c + 2 && 192 == (a[c] & 224) && 128 == (a[c + 1] & 192) ? (d = (a[
1c] & 31) << 6 | a[c + 1] & 63, c += 1) : a.length >= c + 3 && 224 == (a[c] & 240) && 128 == (a[c + 1] & 192) && 128 == (a[c + 2] & 192) ? (d = (a[c] & 15) << 12 | (a[c + 1] & 63) << 6 | a[c + 2] & 63, c += 2) : a.length >= c + 4 && 240 == (a[c] & 241) && 128 == (a[c + 1] & 192) && 128 == (a[c + 2] & 192) && 128 == (a[c + 3] & 192) && (d = (a[c] & 7) << 18 | (a[c + 1] & 63) << 12 | (a[c + 2] & 63) << 6 | a[c + 3] & 63, c += 3);\n if (65535 >= d) b += String.fromCharCode(d);else {\n d -= 65536;\n var e = d & 1023;\n b += String.fromCharCode(55296 + (d >> 10));\n b += String.fromCharCode(56320 + e);\n }\n }\n return b;\n }\n function Of(a, b, c) {\n if (!a) return "";\n if (!c && 0 != a.byteLength % 2) throw new O(2, 2, 2004);\n c = Math.floor(a.byteLength / 2);\n var d = new Uint16Array(c);\n a = nb(a);\n for (var e = 0; e < c; e++) d[e] = a.getUint16(2 * e, b);\n return Pf.value()(d);\n }\n function Qf(a) {\n function b(d) {\n return c.byteLength <= d || 32 <= c[d] && 126 >= c[d];\n }\n if (!a) return "";\n var c = hb(a);\n if (239 == c[0] && 187 == c[1] && 191 == c[2]) return Nf(c);\n if (254 == c[0] && 255 == c[1]) return Of(c.subarray(2), !1);\n if (255 == c[0] && 254 == c[1]) return Of(c.subarray(2), !0);\n if (0 == c[0] && 0 == c[2]) return Of(a, !1);\n if (0 == c[1] && 0 == c[3]) return Of(a, !0);\n if (b(0) && b(1) && b(2) && b(3)) return Nf(a);\n throw new O(2, 2, 2003);\n }\n function Rf(a) {\n if (window.TextEncoder && !Dd()) {\n var b = new TextEncoder();\n return kb(b.encode(a));\n }\n a = encodeURIComponent(a);\n a = unescape(a);\n b = new Uint8Array(a.length);\n for (var c = 0; c < a.length; c++) b[c] = a[c].charCodeAt(0);\n return kb(b);\n }\n function Sf(a, b) {\n for (var c = new ArrayBuffer(2 * a.length), d = new DataView(c), e = 0; e < a.length; ++e) d.setUint16(2 * e, a.charCodeAt(e), b);\n return c;\n }\n N("shaka.util.StringUtils", Kf);\n Kf.resetFromCharCode = function () {\n Pf.g = void 0;\n };\n Kf.toUTF16 = Sf;\n Kf.toUTF8 = Rf;\n Kf.fromBytesAutoDetect = Qf;\n Kf.fromUTF16 = Of;\n Kf.fromUTF8 = Nf;\n var Pf = new Hf(function () {\n function a(c) {\n try {\n var d = new Uint8Array(c);\n return 0 < String.fromCharCode.apply(null, d).length;\n } catch (e) {\n return !1;\n }\n }\n for (var b = {\n yb: 65536\n }; 0 < b.yb; b = {\n yb: b.yb\n }, b.yb /= 2) if (a(b.yb)) return function (c) {\n return function (d) {\n for (var e = "", f = 0; f < d.length; f += c.yb) e += String.fromCharCode.apply(null, d.subarray(f, f + c.yb));\n return e;\n };\n }(b);\n return null;\n });\n function Tf(a, b) {\n this.h = nb(a);\n this.i = b == Uf;\n this.g = 0;\n }\n r = Tf.prototype;\n r.ia = function () {\n return this.g < this.h.byteLength;\n };\n r.qa = function () {\n return this.g;\n };\n r.getLength = function () {\n return this.h.byteLength;\n };\n r.ga = function () {\n try {\n var a = this.h.getUint8(this.g);\n this.g += 1;\n return a;\n } catch (b) {\n throw Vf();\n }\n };\n r.Ea = function () {\n try {\n var a = this.h.getUint16(this.g, this.i);\n this.g += 2;\n return a;\n } catch (b) {\n throw Vf();\n }\n };\n r.L = function () {\n try {\n var a = this.h.getUint32(this.g, this.i);\n this.g += 4;\n return a;\n } catch (b) {\n throw Vf();\n }\n };\n r.fg = function () {\n try {\n var a = this.h.getInt32(this.g, this.i);\n this.g += 4;\n return a;\n } catch (b) {\n throw Vf();\n }\n };\n r.oc = function () {\n try {\n if (this.i) {\n var a = this.h.getUint32(this.g, !0);\n var b = this.h.getUint32(this.g + 4, !0);\n } else b = this.h.getUint32(this.g, !1), a = this.h.getUint32(this.g + 4, !1);\n } catch (c) {\n throw Vf();\n }\n if (2097151 < b) throw new O(2, 3, 3001);\n this.g += 8;\n return b * Math.pow(2, 32) + a;\n };\n r.ub = function (a) {\n if (this.g + a > this.h.byteLength) throw Vf();\n var b = hb(this.h, this.g, a);\n this.g += a;\n return b;\n };\n r.skip = function (a) {\n if (this.g + a > this.h.byteLength) throw Vf();\n this.g += a;\n };\n r.Rh = function (a) {\n if (this.g < a) throw Vf();\n this.g -= a;\n };\n r.seek = function (a) {\n if (0 > a || a > this.h.byteLength) throw Vf();\n this.g = a;\n };\n r.ad = function () {\n for (var a = this.g; this.ia() && 0 != this.h.getUint8(this.g);) this.g += 1;\n a = hb(this.h, a, this.g - a);\n this.g += 1;\n return Nf(a);\n };\n function Vf() {\n return new O(2, 3, 3E3);\n }\n N("shaka.util.DataViewReader", Tf);\n Tf.prototype.readTerminatedString = Tf.prototype.ad;\n Tf.prototype.seek = Tf.prototype.seek;\n Tf.prototype.rewind = Tf.prototype.Rh;\n Tf.prototype.skip = Tf.prototype.skip;\n Tf.prototype.readBytes = Tf.prototype.ub;\n Tf.prototype.readUint64 = Tf.prototype.oc;\n Tf.prototype.readInt32 = Tf.prototype.fg;\n Tf.prototype.readUint32 = Tf.prototype.L;\n Tf.prototype.readUint16 = Tf.prototype.Ea;\n Tf.prototype.readUint8 = Tf.prototype.ga;\n Tf.prototype.getLength = Tf.prototype.getLength;\n Tf.prototype.getPosition = Tf.prototype.qa;\n Tf.prototype.hasMoreData = Tf.prototype.ia;\n var Uf = 1;\n Tf.Endianness = {\n BIG_ENDIAN: 0,\n LITTLE_ENDIAN: Uf\n };\n function Wf() {\n this.i = [];\n this.h = [];\n this.g = !1;\n }\n r = Wf.prototype;\n r.box = function (a, b) {\n a = Xf(a);\n this.i[a] = Yf;\n this.h[a] = b;\n return this;\n };\n r.O = function (a, b) {\n a = Xf(a);\n this.i[a] = Zf;\n this.h[a] = b;\n return this;\n };\n r.stop = function () {\n this.g = !0;\n };\n r.parse = function (a, b, c) {\n a = new Tf(a, 0);\n for (this.g = !1; a.ia() && !this.g;) this.Yc(0, a, b, c);\n };\n r.Yc = function (a, b, c, d) {\n var e = b.qa();\n if (d && e + 8 > b.getLength()) this.g = !0;else {\n var f = b.L(),\n g = b.L(),\n h = $f(g),\n k = !1;\n switch (f) {\n case 0:\n f = b.getLength() - e;\n break;\n case 1:\n if (d && b.qa() + 8 > b.getLength()) {\n this.g = !0;\n return;\n }\n f = b.oc();\n k = !0;\n }\n var l = this.h[g];\n if (l) {\n var m = null,\n n = null;\n if (this.i[g] == Zf) {\n if (d && b.qa() + 4 > b.getLength()) {\n this.g = !0;\n return;\n }\n n = b.L();\n m = n >>> 24;\n n &= 16777215;\n }\n g = e + f;\n c && g > b.getLength() && (g = b.getLength());\n d && g > b.getLength() ? this.g = !0 : (d = g - b.qa(), b = 0 < d ? b.ub(d) : new Uint8Array(0), b = new Tf(b, 0), l({\n name: h,\n parser: this,\n partialOkay: c || !1,\n version: m,\n flags: n,\n reader: b,\n size: f,\n start: e + a,\n has64BitSize: k\n }));\n } else b.skip(Math.min(e + f - b.qa(), b.getLength() - b.qa()));\n }\n };\n function ag(a) {\n for (var b = bg(a); a.reader.ia() && !a.parser.g;) a.parser.Yc(a.start + b, a.reader, a.partialOkay);\n }\n function cg(a) {\n for (var b = bg(a), c = a.reader.L(), d = 0; d < c && (a.parser.Yc(a.start + b, a.reader, a.partialOkay), !a.parser.g); d++);\n }\n function dg(a) {\n var b = bg(a);\n for (a.reader.skip(78); a.reader.ia() && !a.parser.g;) a.parser.Yc(a.start + b, a.reader, a.partialOkay);\n }\n function eg(a) {\n return function (b) {\n a(b.reader.ub(b.reader.getLength() - b.reader.qa()));\n };\n }\n function Xf(a) {\n var b = 0;\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) b = b << 8 | c.value.charCodeAt(0);\n return b;\n }\n function $f(a) {\n return String.fromCharCode(a >> 24 & 255, a >> 16 & 255, a >> 8 & 255, a & 255);\n }\n function bg(a) {\n return 8 + (a.has64BitSize ? 8 : 0) + (null != a.flags ? 4 : 0);\n }\n N("shaka.util.Mp4Parser", Wf);\n Wf.headerSize = bg;\n Wf.typeToString = $f;\n Wf.allData = eg;\n Wf.visualSampleEntry = dg;\n Wf.sampleDescription = cg;
1\n Wf.children = ag;\n Wf.prototype.parseNext = Wf.prototype.Yc;\n Wf.prototype.parse = Wf.prototype.parse;\n Wf.prototype.stop = Wf.prototype.stop;\n Wf.prototype.fullBox = Wf.prototype.O;\n Wf.prototype.box = Wf.prototype.box;\n var Yf = 0,\n Zf = 1;\n function fg() {}\n function gg(a) {\n a = hb(a);\n a = Pf.value()(a);\n return btoa(a);\n }\n function hg(a, b) {\n b = void 0 == b ? !0 : b;\n a = gg(a).replace(/\\+/g, "-").replace(/\\//g, "_");\n return b ? a : a.replace(/[=]*$/, "");\n }\n function ig(a) {\n a = window.atob(a.replace(/-/g, "+").replace(/_/g, "/"));\n for (var b = new Uint8Array(a.length), c = 0; c < a.length; ++c) b[c] = a.charCodeAt(c);\n return b;\n }\n function jg(a) {\n for (var b = a.length / 2, c = new Uint8Array(b), d = 0; d < b; d++) c[d] = window.parseInt(a.substr(2 * d, 2), 16);\n return c;\n }\n function kg(a) {\n var b = hb(a);\n a = "";\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value, c = c.toString(16), 1 == c.length && (c = "0" + c), a += c;\n return a;\n }\n function lg() {\n for (var a = Fa.apply(0, arguments), b = 0, c = 0; c < a.length; ++c) b += a[c].byteLength;\n b = new Uint8Array(b);\n for (var d = c = 0; d < a.length; ++d) {\n var e = a[d];\n e instanceof Uint8Array ? b.set(e, c) : b.set(hb(e), c);\n c += e.byteLength;\n }\n return b;\n }\n N("shaka.util.Uint8ArrayUtils", fg);\n fg.concat = lg;\n fg.toHex = kg;\n fg.fromHex = jg;\n fg.fromBase64 = ig;\n fg.toBase64 = hg;\n fg.toStandardBase64 = gg;\n function mg(a) {\n var b = this;\n this.g = [];\n this.h = [];\n this.data = [];\n new Wf().box("moov", ag).box("moof", ag).O("pssh", function (c) {\n if (!(1 < c.version)) {\n var d = hb(c.reader.h, -12, c.size);\n b.data.push(d);\n b.g.push(kg(c.reader.ub(16)));\n if (0 < c.version) {\n d = c.reader.L();\n for (var e = 0; e < d; e++) {\n var f = kg(c.reader.ub(16));\n b.h.push(f);\n }\n }\n }\n }).parse(a);\n }\n function ng(a, b, c, d) {\n var e = a.length,\n f = b.length + 16 + e;\n 0 < d && (f += 4 + 16 * c.size);\n var g = new Uint8Array(f),\n h = nb(g),\n k = 0;\n h.setUint32(k, f);\n k += 4;\n h.setUint32(k, 1886614376);\n k += 4;\n 1 > d ? h.setUint32(k, 0) : h.setUint32(k, 16777216);\n k += 4;\n g.set(b, k);\n k += b.length;\n if (0 < d) for (h.setUint32(k, c.size), k += 4, b = t(c), c = b.next(); !c.done; c = b.next()) c = jg(c.value), g.set(c, k), k += c.length;\n h.setUint32(k, e);\n g.set(a, k + 4);\n return g;\n }\n ;\n function og(a, b) {\n a = pg(a, b);\n return 1 != a.length ? null : a[0];\n }\n function qg(a, b, c) {\n a = rg(a, b, c);\n return 1 != a.length ? null : a[0];\n }\n function pg(a, b) {\n var c = [];\n a = t(a.childNodes);\n for (var d = a.next(); !d.done; d = a.next()) d = d.value, d instanceof Element && d.tagName == b && c.push(d);\n return c;\n }\n function sg(a) {\n return Array.from(a.childNodes).filter(function (b) {\n return b instanceof Element;\n });\n }\n function rg(a, b, c) {\n var d = [];\n a = t(a.childNodes);\n for (var e = a.next(); !e.done; e = a.next()) e = e.value, e instanceof Element && e.localName == c && e.namespaceURI == b && d.push(e);\n return d;\n }\n function tg(a, b, c) {\n return a.hasAttributeNS(b, c) ? a.getAttributeNS(b, c) : null;\n }\n function ug(a, b, c) {\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) if (d = d.value, a.hasAttributeNS(d, c)) return a.getAttributeNS(d, c);\n return null;\n }\n function vg(a) {\n return Array.from(a.childNodes).every(wg) ? a.textContent.trim() : null;\n }\n function wg(a) {\n return a.nodeType == Node.TEXT_NODE || a.nodeType == Node.CDATA_SECTION_NODE;\n }\n function xg(a, b, c, d) {\n d = void 0 === d ? null : d;\n var e = null;\n a = a.getAttribute(b);\n null != a && (e = c(a));\n return null == e ? d : e;\n }\n function yg(a) {\n if (!a) return null;\n /^\\d+-\\d+-\\d+T\\d+:\\d+:\\d+(\\.\\d+)?$/.test(a) && (a += "Z");\n a = Date.parse(a);\n return isNaN(a) ? null : a / 1E3;\n }\n function zg(a) {\n if (!a) return null;\n a = RegExp("^P(?:([0-9]*)Y)?(?:([0-9]*)M)?(?:([0-9]*)D)?(?:T(?:([0-9]*)H)?(?:([0-9]*)M)?(?:([0-9.]*)S)?)?$").exec(a);\n if (!a) return null;\n a = 31536E3 * Number(a[1] || null) + 2592E3 * Number(a[2] || null) + 86400 * Number(a[3] || null) + 3600 * Number(a[4] || null) + 60 * Number(a[5] || null) + Number(a[6] || null);\n return isFinite(a) ? a : null;\n }\n function Ag(a) {\n var b = /([0-9]+)-([0-9]+)/.exec(a);\n if (!b) return null;\n a = Number(b[1]);\n if (!isFinite(a)) return null;\n b = Number(b[2]);\n return isFinite(b) ? {\n start: a,\n end: b\n } : null;\n }\n function Bg(a) {\n a = Number(a);\n return 0 === a % 1 ? a : null;\n }\n function Cg(a) {\n a = Number(a);\n return 0 === a % 1 && 0 < a ? a : null;\n }\n function Dg(a) {\n a = Number(a);\n return 0 === a % 1 && 0 <= a ? a : null;\n }\n function Eg(a) {\n a = Number(a);\n return isNaN(a) ? null : a;\n }
1\n function Fg(a) {\n return a ? "true" === a.toLowerCase() : !1;\n }\n function Gg(a) {\n var b;\n var c = (b = a.match(/^(\\d+)\\/(\\d+)$/)) ? Number(b[1]) / Number(b[2]) : Number(a);\n return isNaN(c) ? null : c;\n }\n function Hg(a, b) {\n var c = new DOMParser(),\n d = Ig.value()(a);\n a = null;\n try {\n a = c.parseFromString(d, "text/xml");\n } catch (e) {\n return null;\n }\n c = a.documentElement;\n if (!c || c.getElementsByTagName("parsererror").length || c.tagName != b) return null;\n if (!("createNodeIterator" in document)) return c;\n for (b = document.createNodeIterator(a, NodeFilter.SHOW_ALL); a = b.nextNode();) if (a instanceof HTMLElement || a instanceof SVGElement) return null;\n return c;\n }\n function Jg(a, b) {\n try {\n var c = Qf(a);\n return Hg(c, b);\n } catch (d) {\n return null;\n }\n }\n var Ig = new Hf(function () {\n if ("undefined" !== typeof trustedTypes) {\n var a = trustedTypes.createPolicy("shaka-player#xml", {\n createHTML: function createHTML(b) {\n return b;\n }\n });\n return function (b) {\n return a.createHTML(b);\n };\n }\n return function (b) {\n return b;\n };\n });\n function Kg(a, b) {\n var c = this;\n b = void 0 === b ? 1 : b;\n this.C = a;\n this.H = new Set();\n this.m = this.s = null;\n this.ma = this.da = !1;\n this.I = 0;\n this.g = null;\n this.A = new Af();\n this.i = new Map();\n this.u = new Map();\n this.l = new Ze();\n this.h = null;\n this.o = function (d) {\n 2 == d.severity && c.l.reject(d);\n a.onError(d);\n };\n this.V = new Map();\n this.ea = new Map();\n this.W = new qd(function () {\n return Lg(c);\n });\n this.K = !1;\n this.J = [];\n this.N = !1;\n this.ka = new qd(function () {\n Mg(c);\n }).$a(b);\n this.l["catch"](function () {});\n this.j = new yf(function () {\n return Ng(c);\n });\n this.Y = !1;\n this.F = this.G = null;\n }\n r = Kg.prototype;\n r.destroy = function () {\n return this.j.destroy();\n };\n function Ng(a) {\n return K(function (b) {\n switch (b.g) {\n case 1:\n return a.A.release(), a.A = null, a.l.reject(), a.ka.stop(), a.ka = null, a.W.stop(), a.W = null, C(b, Og(a), 2);\n case 2:\n if (!a.m) {\n b.B(3);\n break;\n }\n sa(b, 4);\n return C(b, a.m.setMediaKeys(null), 6);\n case 6:\n ua(b, 5);\n break;\n case 4:\n va(b);\n case 5:\n a.m = null;\n case 3:\n a.g = null, a.H.clear(), a.s = null, a.u = new Map(), a.h = null, a.o = function () {}, a.C = null, a.Y = !1, a.G = null, E(b);\n }\n });\n }\n r.configure = function (a) {\n this.h = a;\n };\n function Pg(a, b, c) {\n a.ma = !0;\n a.u = new Map();\n a.K = c;\n return Qg(a, b);\n }\n function Rg(a, b, c) {\n a.u = new Map();\n c = t(c);\n for (var d = c.next(); !d.done; d = c.next()) a.u.set(d.value, {\n initData: null,\n initDataType: null\n });\n c = t(a.h.persistentSessionsMetadata);\n for (d = c.next(); !d.done; d = c.next()) d = d.value, a.u.set(d.sessionId, {\n initData: d.initData,\n initDataType: d.initDataType\n });\n a.K = 0 < a.u.size;\n return Qg(a, b);\n }\n function Sg(a, b, c, d, e, f) {\n var g = new Map();\n e = {\n audioCapabilities: e,\n videoCapabilities: f,\n distinctiveIdentifier: "optional",\n persistentState: "required",\n sessionTypes: ["persistent-license"],\n label: b\n };\n e.drmInfos = [{\n keySystem: b,\n licenseServerUri: c,\n distinctiveIdentifierRequired: !1,\n persistentStateRequired: !0,\n audioRobustness: "",\n videoRobustness: "",\n serverCertificate: d,\n serverCertificateUri: "",\n initData: null,\n keyIds: null\n }];\n g.set(b, e);\n return Tg(a, g, []);\n }\n function Qg(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y;\n return K(function (B) {\n if (1 == B.g) {\n if (c = Ug(a)) for (d = t(b), e = d.next(); !e.done; e = d.next()) f = e.value, f.video && (f.video.drmInfos = [c]), f.audio && (f.audio.drmInfos = [c]);\n g = b.some(function (A) {\n return A.video && A.video.drmInfos.length || A.audio && A.audio.drmInfos.length ? !0 : !1;\n });\n g || (h = If(a.h.servers), Vg(b, h));\n k = new Set();\n l = t(b);\n for (e = l.next(); !e.done; e = l.next()) for (m = e.value, n = Wg(m), q = t(n), p = q.next(); !p.done; p = q.next()) u = p.value, k.add(u);\n v = t(k);\n for (p = v.next(); !p.done; p = v.next()) x = p.value, Xg(x, If(a.h.servers), If(a.h.advanced || {}), a.h.keySystemsMapping);\n return C(B, Vd(b, a.K, a.Y, a.h.preferredKeySystems), 2);\n }\n z = g || Object.keys(a.h.servers).length;\n if (!z) return a.da = !0, B["return"](Promise.resolve());\n y = Tg(a, void 0, b);\n return B["return"](g ? y : y["catch"](function () {}));\n });\n }\n function Yg(a) {\n var b;\n return K(function (c) {\n switch (c.g) {\n case 1:\n if (a.m.mediaKeys) return c["return"]();\n if (!a.G) {\n c.B(2);\n break;\n }\n return C(c, a.G, 3);\n case 3:\n return zf(a.j), c["return"]();\n case 2:\n return sa(c, 4), a.G = a.m.setMediaKeys(a.s), C(c, a.G, 6);\n case 6:\n ua(c, 5);\n break;\n case 4:\n b = va(c), a.o(new O(2, 6, 6003, b.message));\n case 5:\n zf(a.j), E(c);\n }\n });\n }\n function Zg(a, b) {\n return K(function (c) {\n if (1 == c.g) return C(c, Yg(a), 2);\n $g(a, b.initDataType, hb(b.initData));\n E(c);\n });\n }\n r.Ic = function (a) {\n var b = this;\n return K(function (c) {\n if (1 == c.g) {\n if (!b.s) return b.A.ja(a, "encrypted", function () {\n b.o(new O(2, 6, 6010));\n }), c["return"]();\n b.m = a;\n b.A.ja(b.m, "play", function () {\n for (var d = t(b.J), e = d.next(); !e.done; e = d.next()) ah(b, e.value);\n b.N = !0;\n b.J = [];\n });\n "webkitCurrentPlaybackTargetIsWireless" in b.m && b.A.D(b.m, "webkitcurrentplaybacktargetiswirelesschanged", function () {\n return Og(b);\n });\n b.F = b.g ? b.g.initData.find(function (d) {\n return 0 < d.initData.length;\n }) || null : null;\n return b.F || "com.apple.fps" !== b.g.keySystem || b.u.size ? C(c, Yg(b), 2) : c.B(2);\n }\n bh(b)["catch"](function () {});\n b.F || b.u.size || b.h.parseInbandPsshEnabled || b.A.D(b.m, "encrypted", function (d) {\n return Zg(b, d);\n });\n E(c);\n });\n };\n function ch(a) {\n var b, c, d, e, f;\n return K(function (g) {\n switch (g.g) {\n case 1:\n if (!a.s || !a.g) return g["return"]();\n if (!a.g.serverCertificateUri || a.g.serverCertificate && a.g.serverCertificate.length) {\n g.B(2);\n break;\n }\n b = qf([a.g.serverCertificateUri], a.h.retryParameters);\n sa(g, 3);\n c = a.C.Tb.request(5, b);\n return C(g, c.promise, 5);\n case 5:\n d = g.h;\n a.g.serverCertificate = hb(d.data);\n ua(g, 4);\n break;\n case 3:\n throw e = va(g), new O(2, 6, 6017, e);\n case 4:\n if (a.j.g) return g["return"]();\n case 2:\n if (!a.g.serverCertificate || !a.g.serverCertificate.length) return g["return"]();\n sa(g, 6);\n return C(g, a.s.setServerCertificate(a.g.serverCertificate), 8);\n case 8:\n ua(g, 0);\n break;\n case 6:\n throw f = va(g), new O(2, 6, 6004, f.message);\n }\n });\n }\n function dh(a, b) {\n var c, d, e;\n return K(function (f) {\n if (1 == f.g) return C(f, eh(a, b, {\n initData: null,\n initDataType: null\n }), 2);\n if (3 != f.g) {\n c = f.h;\n if (!c) return f["return"]();\n d = [];\n if (e = a.i.get(c)) e.hb = new Ze(), d.push(e.hb);\n d.push(c.remove());\n return C(f, Promise.all(d), 3);\n }\n a.i["delete"](c);\n E(f);\n });\n }\n function bh(a) {\n var b, c, d, e, f;\n return K(function (g) {\n if (1 == g.g) {\n if (!a.u.size) return g.B(2);\n a.u.forEach(function (h, k) {\n eh(a, k, h);\n });\n return C(g, a.l, 3);\n }\n if (2 != g.g) {\n b = a.g && a.g.keyIds || new Set([]);\n if (0 < b.size && fh(a)) return g["return"](a.l);\n a.l = new Ze();\n a.l["catch"](function () {});\n }\n c = (a.g ? a.g.initData : []) || [];\n d = t(c);\n for (e = d.next(); !e.done; e = d.next()) f = e.value, $g(a, f.initDataType, f.initData);\n c.length || a.l.resolve();\n return g["return"](a.l);\n });\n }\n function $g(a, b, c) {\n if (c.length) {\n var d = a.i.values();\n d = t(d);\n for (var e = d.next(); !e.done; e = d.next()) if (fb(c, e.value.initData) && a.h.ignoreDuplicateInitData) return;\n 0 < a.i.size && gh(a) && (a.l.resolve(), a.l = new Ze(), a.l["catch"](function () {}));\n hh(a, b, c, a.g.sessionType);\n }\n }\n function ih(a) {\n return a ? !!a.match(/^com\\.(microsoft|chromecast)\\.playready/) : !1;\n }\n function jh(a) {\n a = a.i.keys();\n a = Ff(a, function (b) {\n return b.sessionId;\n });\n return Array.from(a);\n }\n r.Fe = function () {\n var a = this,\n b = this.i.keys();\n b = Ff(b, function (c) {\n var d = a.i.get(c);\n return {\n sessionId: c.sessionId,\n sessionType: d.type,\n initData: d.initData,\n initDataType: d.initDataType\n };\n });\n return Array.from(b);\n };\n r.Qc = function () {\n var a = Infinity,\n b = this.i.keys();\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value, isNaN(c.expiration) || (a = Math.min(a, c.expiration));\n return a;\n };\n r.Bd = function () {\n return Jf(this.ea);\n };\n function Tg(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z;
1\n return K(function (y) {\n switch (y.g) {\n case 1:\n d = new Map();\n if (c.length) {\n e = kh(a, c, d);\n y.B(2);\n break;\n }\n return C(y, lh(a, b), 3);\n case 3:\n e = y.h;\n case 2:\n f = e;\n if (!f) throw new O(2, 6, 6001);\n zf(a.j);\n sa(y, 4);\n a.H.clear();\n g = f.getConfiguration();\n h = g.audioCapabilities || [];\n k = g.videoCapabilities || [];\n l = t(h);\n for (m = l.next(); !m.done; m = l.next()) n = m.value, a.H.add(n.contentType.toLowerCase());\n q = t(k);\n for (m = q.next(); !m.done; m = q.next()) p = m.value, a.H.add(p.contentType.toLowerCase());\n if (c.length) {\n var B = f.keySystem;\n var A = d.get(f.keySystem);\n var D = [],\n F = [],\n J = [],\n G = [],\n H = new Set();\n mh(A, D, J, F, G, H);\n var I = a.K ? "persistent-license" : "temporary";\n B = {\n keySystem: B,\n licenseServerUri: D[0],\n distinctiveIdentifierRequired: A[0].distinctiveIdentifierRequired,\n persistentStateRequired: A[0].persistentStateRequired,\n sessionType: A[0].sessionType || I,\n audioRobustness: A[0].audioRobustness || "",\n videoRobustness: A[0].videoRobustness || "",\n serverCertificate: J[0],\n serverCertificateUri: F[0],\n initData: G,\n keyIds: H\n };\n A = t(A);\n for (D = A.next(); !D.done; D = A.next()) D = D.value, D.distinctiveIdentifierRequired && (B.distinctiveIdentifierRequired = D.distinctiveIdentifierRequired), D.persistentStateRequired && (B.persistentStateRequired = D.persistentStateRequired);\n A = B;\n } else A = f.keySystem, B = b.get(f.keySystem), D = [], F = [], J = [], G = [], H = new Set(), mh(B.drmInfos, D, J, F, G, H), A = {\n keySystem: A,\n licenseServerUri: D[0],\n distinctiveIdentifierRequired: "required" == B.distinctiveIdentifier,\n persistentStateRequired: "required" == B.persistentState,\n sessionType: B.sessionTypes[0] || "temporary",\n audioRobustness: (B.audioCapabilities ? B.audioCapabilities[0].robustness : "") || "",\n videoRobustness: (B.videoCapabilities ? B.videoCapabilities[0].robustness : "") || "",\n serverCertificate: J[0],\n serverCertificateUri: F[0],\n initData: G,\n keyIds: H\n };\n a.g = A;\n if (!a.g.licenseServerUri) throw new O(2, 6, 6012, a.g.keySystem);\n return C(y, f.createMediaKeys(), 6);\n case 6:\n u = y.h;\n zf(a.j);\n a.s = u;\n if (!("" != a.h.minHdcpVersion && "getStatusForPolicy" in a.s)) {\n y.B(7);\n break;\n }\n sa(y, 8);\n return C(y, a.s.getStatusForPolicy({\n minHdcpVersion: a.h.minHdcpVersion\n }), 10);\n case 10:\n v = y.h;\n if ("usable" != v) throw new O(2, 6, 6018);\n zf(a.j);\n ua(y, 7, 4);\n break;\n case 8:\n x = va(y, 4);\n if (x instanceof O) throw x;\n throw new O(2, 6, 6019, x.message);\n case 7:\n return a.da = !0, C(y, ch(a), 11);\n case 11:\n zf(a.j);\n ua(y, 0);\n break;\n case 4:\n z = va(y);\n zf(a.j, z);\n a.g = null;\n a.H.clear();\n if (z instanceof O) throw z;\n throw new O(2, 6, 6002, z.message);\n }\n });\n }\n function kh(a, b, c) {\n for (var d = t(b), e = d.next(); !e.done; e = d.next()) {\n var f = t(Wg(e.value));\n for (e = f.next(); !e.done; e = f.next()) e = e.value, c.has(e.keySystem) || c.set(e.keySystem, []), c.get(e.keySystem).push(e);\n }\n if (1 == c.size && c.has("")) throw new O(2, 6, 6E3);\n d = {};\n a = t(a.h.preferredKeySystems);\n for (e = a.next(); !e.done; d = {\n ce: d.ce\n }, e = a.next()) for (d.ce = e.value, f = t(b), e = f.next(); !e.done; e = f.next()) if (e = e.value.decodingInfos.find(function (l) {\n return function (m) {\n return m.supported && null != m.keySystemAccess && m.keySystemAccess.keySystem == l.ce;\n };\n }(d))) return e.keySystemAccess;\n a = t([!0, !1]);\n for (e = a.next(); !e.done; e = a.next()) for (d = e.value, f = t(b), e = f.next(); !e.done; e = f.next()) {\n var g = t(e.value.decodingInfos);\n for (e = g.next(); !e.done; e = g.next()) {\n var h = e.value;
1\n if (h.supported && h.keySystemAccess) {\n e = c.get(h.keySystemAccess.keySystem);\n var k = t(e);\n for (e = k.next(); !e.done; e = k.next()) if (!!e.value.licenseServerUri == d) return h.keySystemAccess;\n }\n }\n }\n return null;\n }\n function lh(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u, v, x;\n return K(function (z) {\n switch (z.g) {\n case 1:\n if (1 == b.size && b.has("")) throw new O(2, 6, 6E3);\n d = t(b.values());\n for (e = d.next(); !e.done; e = d.next()) f = e.value, 0 == f.audioCapabilities.length && delete f.audioCapabilities, 0 == f.videoCapabilities.length && delete f.videoCapabilities;\n g = t(a.h.preferredKeySystems);\n h = g.next();\n case 2:\n if (h.done) {\n z.B(4);\n break;\n }\n k = h.value;\n if (!b.has(k)) {\n z.B(3);\n break;\n }\n l = b.get(k);\n sa(z, 6);\n return C(z, navigator.requestMediaKeySystemAccess(k, [l]), 8);\n case 8:\n return c = z.h, z["return"](c);\n case 6:\n va(z);\n case 7:\n zf(a.j);\n case 3:\n h = g.next();\n z.B(2);\n break;\n case 4:\n m = t([!0, !1]), n = m.next();\n case 9:\n if (n.done) {\n z.B(11);\n break;\n }\n q = n.value;\n p = t(b.keys());\n h = p.next();\n case 12:\n if (h.done) {\n n = m.next();\n z.B(9);\n break;\n }\n u = h.value;\n v = b.get(u);\n x = v.drmInfos.some(function (y) {\n return !!y.licenseServerUri;\n });\n if (x != q) {\n z.B(13);\n break;\n }\n sa(z, 15);\n return C(z, navigator.requestMediaKeySystemAccess(u, [v]), 17);\n case 17:\n return c = z.h, z["return"](c);\n case 15:\n va(z);\n case 16:\n zf(a.j);\n case 13:\n h = p.next();\n z.B(12);\n break;\n case 11:\n return z["return"](c);\n }\n });\n }\n function Ug(a) {\n a = If(a.h.clearKeys);\n if (0 == a.size) return null;\n var b = [],\n c = [];\n a.forEach(function (e, f) {\n var g = f;\n 22 != g.length && (g = hg(jg(f), !1));\n f = e;\n 22 != f.length && (f = hg(jg(e), !1));\n e = {\n kty: "oct",\n kid: g,\n k: f\n };\n b.push(e);\n c.push(e.kid);\n });\n a = JSON.stringify({\n keys: b\n });\n var d = JSON.stringify({\n kids: c\n });\n d = [{\n initData: hb(Rf(d)),\n initDataType: "keyids"\n }];\n return {\n keySystem: "org.w3.clearkey",\n licenseServerUri: "data:application/json;base64," + window.btoa(a),\n distinctiveIdentifierRequired: !1,\n persistentStateRequired: !1,\n audioRobustness: "",\n videoRobustness: "",\n serverCertificate: null,\n serverCertificateUri: "",\n sessionType: "",\n initData: d,\n keyIds: new Set(c)\n };\n }\n function nh(a) {\n gh(a) && a.l.resolve();\n }\n function oh(a, b) {\n new qd(function () {\n b.loaded = !0;\n nh(a);\n }).U(ph);\n }\n function eh(a, b, c) {\n var d, e, f, g, h, k, l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n try {\n d = a.s.createSession("persistent-license");\n } catch (n) {\n return e = new O(2, 6, 6005, n.message), a.o(e), m["return"](Promise.reject(e));\n }\n a.A.D(d, "message", function (n) {\n a.m && a.h.delayLicenseRequestUntilPlayed && a.m.paused && !a.N ? a.J.push(n) : ah(a, n);\n });\n a.A.D(d, "keystatuseschange", function (n) {\n return qh(a, n);\n });
1\n f = {\n initData: c.initData,\n initDataType: c.initDataType,\n loaded: !1,\n $e: Infinity,\n hb: null,\n type: "persistent-license"\n };\n a.i.set(d, f);\n sa(m, 2);\n return C(m, d.load(b), 4);\n case 4:\n return g = m.h, zf(a.j), g || (a.i["delete"](d), h = a.h.persistentSessionOnlinePlayback ? 1 : 2, a.o(new O(h, 6, 6013)), f.loaded = !0), oh(a, f), nh(a), m["return"](d);\n case 2:\n k = va(m), zf(a.j, k), a.i["delete"](d), l = a.h.persistentSessionOnlinePlayback ? 1 : 2, a.o(new O(l, 6, 6005, k.message)), f.loaded = !0, nh(a);\n case 3:\n return m["return"](Promise.resolve());\n }\n });\n }\n function hh(a, b, c, d) {\n try {\n var e = a.s.createSession(d);\n } catch (f) {\n a.o(new O(2, 6, 6005, f.message));\n return;\n }\n a.A.D(e, "message", function (f) {\n a.m && a.h.delayLicenseRequestUntilPlayed && a.m.paused && !a.N ? a.J.push(f) : ah(a, f);\n });\n a.A.D(e, "keystatuseschange", function (f) {\n return qh(a, f);\n });\n a.i.set(e, {\n initData: c,\n initDataType: b,\n loaded: !1,\n $e: Infinity,\n hb: null,\n type: d\n });\n try {\n c = a.h.initDataTransform(c, b, a.g);\n } catch (f) {\n b = f;\n f instanceof O || (b = new O(2, 6, 6016, f));\n a.o(b);\n return;\n }\n a.h.logLicenseExchange && hg(c);\n e.generateRequest(b, c)["catch"](function (f) {\n if (!a.j.g) {\n a.i["delete"](e);\n var g = f.errorCode;\n if (g && g.systemCode) {\n var h = g.systemCode;\n 0 > h && (h += Math.pow(2, 32));\n h = "0x" + h.toString(16);\n }\n a.o(new O(2, 6, 6006, f.message, f, h));\n }\n });\n }\n function ah(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u;\n K(function (v) {\n switch (v.g) {\n case 1:\n c = b.target;\n a.h.logLicenseExchange && hg(b.message);\n d = a.i.get(c);\n e = a.g.licenseServerUri;\n f = a.h.advanced[a.g.keySystem];\n "individualization-request" == b.messageType && f && f.individualizationServer && (e = f.individualizationServer);\n g = qf([e], a.h.retryParameters);\n g.body = b.message;\n g.method = "POST";\n g.licenseRequestType = b.messageType;\n g.sessionId = c.sessionId;\n g.drmInfo = a.g;\n d && (g.initData = d.initData, g.initDataType = d.initDataType);\n if (ih(a.g.keySystem)) {\n var x = Of(g.body, !0, !0);\n if (x.includes("PlayReadyKeyMessage")) {\n x = Hg(x, "PlayReadyKeyMessage");\n for (var z = t(x.getElementsByTagName("HttpHeader")), y = z.next(); !y.done; y = z.next()) y = y.value, g.headers[y.getElementsByTagName("name")[0].textContent] = y.getElementsByTagName("value")[0].textContent;\n g.body = ig(x.getElementsByTagName("Challenge")[0].textContent);\n } else g.headers["Content-Type"] = "text/xml; charset=utf-8";\n }\n h = Date.now();\n sa(v, 2);\n l = a.C.Tb.request(2, g);\n return C(v, l.promise, 4);\n case 4:\n k = v.h;\n ua(v, 3);\n break;\n case 2:\n return m = va(v), n = new O(2, 6, 6007, m), a.o(n), d && d.hb && d.hb.reject(n), v["return"]();\n case 3:\n if (a.j.g) return v["return"]();\n a.I += (Date.now() - h) / 1E3;\n a.h.logLicenseExchange && hg(k.data);\n sa(v, 5);\n return C(v, c.update(k.data), 7);\n case 7:\n ua(v, 6);\n break;\n case 5:\n return q = va(v), p = new O(2, 6, 6008, q.message), a.o(p), d && d.hb && d.hb.reject(p), v["return"]();\n case 6:\n if (a.j.g) return v["return"]();\n u = new Q("drmsessionupdate");\n a.C.onEvent(u);\n d && (d.hb && d.hb.resolve(), oh(a, d));\n E(v);\n }\n });\n }\n function qh(a, b) {\n b = b.target;\n var c = a.i.get(b),\n d = !1;
1\n b.keyStatuses.forEach(function (f, g) {\n if ("string" == typeof g) {\n var h = g;\n g = f;\n f = h;\n }\n if (ih(a.g.keySystem) && 16 == g.byteLength && (ud() || Dd())) {\n h = nb(g);\n var k = h.getUint32(0, !0),\n l = h.getUint16(4, !0),\n m = h.getUint16(6, !0);\n h.setUint32(0, k, !1);\n h.setUint16(4, l, !1);\n h.setUint16(6, m, !1);\n }\n "status-pending" != f && (c.loaded = !0);\n "expired" == f && (d = !0);\n g = kg(g).slice(0, 32);\n a.V.set(g, f);\n });\n var e = b.expiration - Date.now();\n (0 > e || d && 1E3 > e) && c && !c.hb && (a.i["delete"](b), b.close()["catch"](function () {}));\n gh(a) && (a.l.resolve(), a.W.U(rh));\n }\n function Lg(a) {\n var b = a.V,\n c = a.ea;\n c.clear();\n b.forEach(function (d, e) {\n return c.set(e, d);\n });\n b = Array.from(c.values());\n b.length && b.every(function (d) {\n return "expired" == d;\n }) && a.o(new O(2, 6, 6014));\n a.C.Ud(Jf(c));\n }\n function sh() {\n var a, b, c, d, e, f, g, h;\n return K(function (k) {\n return 1 == k.g ? (a = "org.w3.clearkey com.widevine.alpha com.microsoft.playready com.microsoft.playready.recommendation com.apple.fps.1_0 com.apple.fps com.adobe.primetime".split(" "), b = [{\n contentType: \'video/mp4; codecs="avc1.42E01E"\'\n }, {\n contentType: \'video/webm; codecs="vp8"\'\n }], c = {\n initDataTypes: ["cenc"],\n videoCapabilities: b\n }, d = {\n videoCapabilities: b,\n persistentState: "required",\n sessionTypes: ["persistent-license"]\n }, e = [d, c], f = new Map(), g = function g(l) {\n var m, n, q;\n return K(function (p) {\n switch (p.g) {\n case 1:\n sa(p, 2);\n if ("org.w3.clearkey" === l && Id()) throw Error("Unsupported keySystem");\n return C(p, navigator.requestMediaKeySystemAccess(l, e), 4);\n case 4:\n return m = p.h, q = (n = m.getConfiguration().sessionTypes) ? n.includes("persistent-license") : !1, yd() && (q = !1), f.set(l, {\n persistentState: q\n }), C(p, m.createMediaKeys(), 5);\n case 5:\n ua(p, 0);\n break;\n case 2:\n va(p), f.set(l, null), E(p);\n }\n });\n }, h = a.map(function (l) {\n return g(l);\n }), C(k, Promise.all(h), 2)) : k["return"](Jf(f));\n });\n }\n function th(a) {\n var b;\n return K(function (c) {\n if (1 == c.g) return b = new Promise(function (d, e) {\n new qd(e).U(uh);\n }), sa(c, 2), C(c, Promise.race([Promise.all([a.close(), a.closed]), b]), 4);\n if (2 != c.g) return ua(c, 0);\n va(c);\n E(c);\n });\n }\n function Og(a) {\n var b;\n return K(function (c) {\n b = Array.from(a.i.entries());\n a.i.clear();\n return C(c, Promise.all(b.map(function (d) {\n d = t(d);\n var e = d.next().value,\n f = d.next().value;\n return K(function (g) {\n if (1 == g.g) return sa(g, 2), a.ma || a.u.has(e.sessionId) || "persistent-license" !== f.type || a.h.persistentSessionOnlinePlayback ? C(g, th(e), 5) : C(g, e.remove(), 5);\n if (2 != g.g) return ua(g, 0);\n va(g);\n E(g);\n });\n })), 0);\n });\n }\n function vh(a, b) {\n return a.length && b.length && a !== b ? 0 < wh(a, b).length : !0;\n }\n function wh(a, b) {\n if (!a.length) return b;\n if (!b.length) return a;\n var c = [];\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) {\n d = d.value;\n for (var e = t(b), f = e.next(); !f.done; f = e.next()) if (f = f.value, d.keySystem == f.keySystem) {\n e = new Map();\n for (var g = t((d.initData || []).concat(f.initData || [])), h = g.next(); !h.done; h = g.next()) h = h.value, e.set(h.keyId, h);\n e = Array.from(e.values());\n g = d.keyIds && f.keyIds ? new Set([].concat(w(d.keyIds), w(f.keyIds))) : d.keyIds || f.keyIds;\n c.push({\n keySystem: d.keySystem,\n licenseServerUri: d.licenseServerUri || f.licenseServerUri,\n distinctiveIdentifierRequired: d.distinctiveIdentifierRequired || f.distinctiveIdentifierRequired,\n persistentStateRequired: d.persistentStateRequired || f.persistentStateRequired,\n videoRobustness: d.videoRobustness || f.videoRobustness,\n audioRobustness: d.audioR
1obustness || f.audioRobustness,\n serverCertificate: d.serverCertificate || f.serverCertificate,\n serverCertificateUri: d.serverCertificateUri || f.serverCertificateUri,\n initData: e,\n keyIds: g\n });\n break;\n }\n }\n return c;\n }\n function Wg(a) {\n return (a.video ? a.video.drmInfos : []).concat(a.audio ? a.audio.drmInfos : []);\n }\n function Mg(a) {\n a.i.forEach(function (b, c) {\n var d = b.$e,\n e = c.expiration;\n isNaN(e) && (e = Infinity);\n e != d && (a.C.onExpirationUpdated(c.sessionId, e), b.$e = e);\n });\n }\n function gh(a) {\n a = a.i.values();\n return Gf(a, function (b) {\n return b.loaded;\n });\n }\n function fh(a) {\n for (var b = t(a.g && a.g.keyIds || new Set([])), c = b.next(); !c.done; c = b.next()) if ("usable" !== a.V.get(c.value)) return !1;\n return !0;\n }\n function Vg(a, b) {\n var c = [];\n b.forEach(function (d, e) {\n c.push({\n keySystem: e,\n licenseServerUri: d,\n distinctiveIdentifierRequired: !1,\n persistentStateRequired: !1,\n audioRobustness: "",\n videoRobustness: "",\n serverCertificate: null,\n serverCertificateUri: "",\n initData: [],\n keyIds: new Set()\n });\n });\n a = t(a);\n for (b = a.next(); !b.done; b = a.next()) b = b.value, b.video && (b.video.drmInfos = c), b.audio && (b.audio.drmInfos = c);\n }\n function mh(a, b, c, d, e, f) {\n var g = {};\n a = t(a);\n for (var h = a.next(); !h.done; g = {\n Fa: g.Fa\n }, h = a.next()) {\n g.Fa = h.value;\n b.includes(g.Fa.licenseServerUri) || b.push(g.Fa.licenseServerUri);\n d.includes(g.Fa.serverCertificateUri) || d.push(g.Fa.serverCertificateUri);\n g.Fa.serverCertificate && (c.some(function (m) {\n return function (n) {\n return fb(n, m.Fa.serverCertificate);\n };\n }(g)) || c.push(g.Fa.serverCertificate));\n if (g.Fa.initData) {\n h = {};\n for (var k = t(g.Fa.initData), l = k.next(); !l.done; h = {\n kd: h.kd\n }, l = k.next()) h.kd = l.value, e.some(function (m) {\n return function (n) {\n var q = m.kd;\n return n.keyId && n.keyId == q.keyId ? !0 : n.initDataType == q.initDataType && fb(n.initData, q.initData);\n };\n }(h)) || e.push(h.kd);\n }\n if (g.Fa.keyIds) for (h = t(g.Fa.keyIds), k = h.next(); !k.done; k = h.next()) f.add(k.value);\n }\n }\n function Xg(a, b, c, d) {\n var e = a.keySystem;\n if (e && ("org.w3.clearkey" != e || !a.licenseServerUri)) {\n b.size && (b = b.get(e) || "", a.licenseServerUri = b);\n a.keyIds || (a.keyIds = new Set());\n if (c = c.get(e)) a.distinctiveIdentifierRequired || (a.distinctiveIdentifierRequired = c.distinctiveIdentifierRequired), a.persistentStateRequired || (a.persistentStateRequired = c.persistentStateRequired), a.videoRobustness || (a.videoRobustness = c.videoRobustness), a.audioRobustness || (a.audioRobustness = c.audioRobustness), a.serverCertificate || (a.serverCertificate = c.serverCertificate), c.sessionType && (a.sessionType = c.sessionType), a.serverCertificateUri || (a.serverCertificateUri = c.serverCertificateUri);\n d[e] && (a.keySystem = d[e]);\n window.cast && window.cast.__platform__ && "com.microsoft.playready" == e && (a.keySystem = "com.chromecast.playready");\n }\n }\n var uh = 1,\n ph = 5,\n rh = .5,\n xh = new Hf(function () {\n return kb(new Uint8Array([0]));\n });\n function yh() {}\n function zh(a, b) {\n if (b) {\n var c = Ah[b.toLowerCase()];\n if (c) return c;\n }\n throw new O(2, 4, 4E3, a, b);\n }\n N("shaka.media.ManifestParser", yh);\n yh.unregisterParserByMime = function (a) {\n delete Ah[a];\n };\n yh.registerParserByMime = function (a, b) {\n Ah[a] = b;\n };\n yh.registerParserByExtension = function () {\n ze("ManifestParser.registerParserByExtension", "Please use an ManifestParser with registerParserByMime function.");\n };\n yh.AccessibilityPurpose = {\n Yi: "visually impaired",\n ui: "hard of hearing"\n };\n var Ah = {};\n function Ch(a) {\n function b() {\n d = !0;\n }\n function c(l) {\n f.push(l);\n ag(l);\n }\n a = hb(a);\n var d = !1,\n e,\n f = [],\n g = [];\n new Wf().box("moov", c).box("trak", c).box("mdia", c).box("minf", c).box("stbl", c).O("stsd", function (l) {\n e = l;\n f.push(l);\n cg(l);\n }).O("encv", b).O("enca", b).O("dvav", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("dva1", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("dvh1", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("dvhe", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("hev1", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("hvc1", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("avc1", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("avc3", function (l) {\n g.push({\n box: l,\n Ma: 1701733238\n });\n }).O("ac-3", function (l) {\n g.push({\n box: l,\n Ma: 1701733217\n });\n }).O("ec-3", function (l) {\n g.push({\n box: l,\n Ma: 1701733217\n });\n }).O("ac-4", function (l) {\n g.push({\n box: l,\n Ma: 1701733217\n });\n }).O("mp4a", function (l) {\n g.push({\n box: l,\n Ma: 1701733217\n });\n }).parse(a);\n if (d) return a;
1\n if (0 == g.length || !e) throw Ya(kg(a)), new O(2, 3, 3019);\n g.reverse();\n for (var h = t(g), k = h.next(); !k.done; k = h.next()) k = k.value, a = Dh(a, e, k.box, f, k.Ma);\n return a;\n }\n function Dh(a, b, c, d, e) {\n var f = Eh.value(),\n g = a.subarray(c.start, c.start + c.size),\n h = nb(g),\n k = new Uint8Array(c.size + f.byteLength);\n k.set(g, 0);\n g = nb(k);\n g.setUint32(4, e);\n k.set(f, c.size);\n e = h.getUint32(4);\n g.setUint32(c.size + 16, e);\n Fh(k, 0, k.byteLength);\n e = new Uint8Array(a.byteLength + k.byteLength);\n c = vd() ? c.start : c.start + c.size;\n f = a.subarray(c);\n e.set(a.subarray(0, c));\n e.set(k, c);\n e.set(f, c + k.byteLength);\n a = t(d);\n for (d = a.next(); !d.done; d = a.next()) d = d.value, Fh(e, d.start, d.size + k.byteLength);\n k = nb(e, b.start);\n b = bg(b);\n a = k.getUint32(b);\n k.setUint32(b, a + 1);\n return e;\n }\n function Fh(a, b, c) {\n a = nb(a, b);\n b = a.getUint32(0);\n 0 != b && (1 == b ? (a.setUint32(8, c >> 32), a.setUint32(12, c & 4294967295)) : a.setUint32(0, c));\n }\n var Eh = new Hf(function () {\n return new Uint8Array([0, 0, 0, 80, 115, 105, 110, 102, 0, 0, 0, 12, 102, 114, 109, 97, 0, 0, 0, 0, 0, 0, 0, 20, 115, 99, 104, 109, 0, 0, 0, 0, 99, 101, 110, 99, 0, 1, 0, 0, 0, 0, 0, 40, 115, 99, 104, 105, 0, 0, 0, 32, 116, 101, 110, 99, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n });\n function Gh(a, b, c, d, e, f, g) {\n this.Z = a;\n this.Qa = b;\n this.wa = c;\n this.Ve = void 0 === d ? null : d;\n this.timescale = void 0 === e ? null : e;\n this.g = void 0 === f ? null : f;\n this.aes128Key = void 0 === g ? null : g;\n this.mimeType = this.codecs = null;\n }\n Gh.prototype.ic = function () {\n return this.Qa;\n };\n Gh.prototype.fc = function () {\n return this.wa;\n };\n function Hh(a, b) {\n return a === b ? !0 : a && b ? a.ic() == b.ic() && a.fc() == b.fc() && xb(a.Z().sort(), b.Z().sort()) && fb(a.g, b.g) : a == b;\n }\n N("shaka.media.InitSegmentReference", Gh);\n Gh.prototype.getEndByte = Gh.prototype.fc;\n Gh.prototype.getStartByte = Gh.prototype.ic;\n function S(a, b, c, d, e, f, g, h, k, l, m, n, q, p, u, v) {\n l = void 0 === l ? [] : l;\n p = void 0 === p ? Ih : p;\n this.startTime = a;\n this.h = this.endTime = b;\n this.A = c;\n this.Qa = d;\n this.wa = e;\n this.aa = f;\n this.timestampOffset = g;\n this.appendWindowStart = h;\n this.appendWindowEnd = k;\n this.g = l;\n this.tilesLayout = void 0 === m ? "" : m;\n this.u = void 0 === n ? null : n;\n this.ca = void 0 === q ? null : q;\n this.status = p;\n this.l = !1;\n this.j = !0;\n this.m = !1;\n this.aes128Key = void 0 === u ? null : u;\n this.s = null;\n this.i = 0;\n this.o = void 0 === v ? !1 : v;\n this.Md = this.Zc = !1;\n a = t(this.g);\n for (b = a.next(); !b.done; b = a.next()) b.value.ag();\n this.o && this.g.length && this.g[this.g.length - 1].$f();\n this.mimeType = this.codecs = null;\n }\n r = S.prototype;\n r.Z = function () {\n return this.A();\n };\n r.getStartTime = function () {\n return this.startTime;\n };\n r.Ug = function () {\n return this.endTime;\n };\n r.ic = function () {\n return this.Qa;\n };\n r.fc = function () {\n return this.wa;\n };\n r.lh = function () {\n return this.tilesLayout;\n };\n r.kh = function () {\n return this.u;\n };\n r.Pb = function () {\n return this.status;\n };\n r.Bh = function () {\n this.status = Jh;\n };\n r.Ue = function () {\n this.l = !0;\n };\n r.xh = function () {\n return this.l;\n };\n r.Od = function () {\n this.j = !1;\n };\n r.uh = function () {\n return this.j;\n };\n r.ag = function () {\n this.Zc = !0;\n };\n r.wh = function () {\n return this.Zc;\n };\n r.$f = function () {\n this.Md = !0;\n };\n r.vh = function () {\n return this.Md;\n };\n r.Zf = function () {\n this.m = !0;\n };\n r.rh = function () {\n return this.m;\n };\n r.pg = function (a) {\n this.s = a;\n };\n r.jh = function () {\n return this.s;\n };\n r.offset = function (a) {\n this.startTime += a;\n this.endTime += a;\n this.h += a;\n for (var b = t(this.g), c = b.next(); !c.done; c = b.next()) c = c.value, c.startTime += a, c.endTime += a, c.h += a;\n };\n r.tf = function (a) {\n null == this.ca ? Ra("Sync attempted without sync time!") : (a = this.ca - a - this.startTime, .001 <= Math.abs(a) && this.offset(a));\n };\n N("shaka.media.SegmentReference", S);\n S.prototype.syncAgainst = S.prototype.tf;\n S.prototype.offset = S.prototype.offset;\n S.prototype.getThumbnailSprite = S.prototype.jh;\n S.prototype.setThumbnailSprite = S.prototype.pg;\n S.prototype.hasByterangeOptimization = S.prototype.rh;\n S.prototype.markAsByterangeOptimization = S.prototype.Zf;
1\n S.prototype.isLastPartial = S.prototype.vh;\n S.prototype.markAsLastPartial = S.prototype.$f;\n S.prototype.isPartial = S.prototype.wh;\n S.prototype.markAsPartial = S.prototype.ag;\n S.prototype.isIndependent = S.prototype.uh;\n S.prototype.markAsNonIndependent = S.prototype.Od;\n S.prototype.isPreload = S.prototype.xh;\n S.prototype.markAsPreload = S.prototype.Ue;\n S.prototype.markAsUnavailable = S.prototype.Bh;\n S.prototype.getStatus = S.prototype.Pb;\n S.prototype.getTileDuration = S.prototype.kh;\n S.prototype.getTilesLayout = S.prototype.lh;\n S.prototype.getEndByte = S.prototype.fc;\n S.prototype.getStartByte = S.prototype.ic;\n S.prototype.getEndTime = S.prototype.Ug;\n S.prototype.getStartTime = S.prototype.getStartTime;\n S.prototype.getUris = S.prototype.Z;\n var Ih = 0,\n Jh = 1;\n S.Status = {\n gi: Ih,\n Wi: Jh,\n Ai: 2\n };\n function Kh(a) {\n return !a || 1 == a.length && 1E-6 > a.end(0) - a.start(0) ? null : a.length ? a.end(a.length - 1) : null;\n }\n function Lh(a, b) {\n return !a || !a.length || 1 == a.length && 1E-6 > a.end(0) - a.start(0) || b > a.end(a.length - 1) ? !1 : b >= a.start(0);\n }\n function Mh(a, b) {\n if (!a || !a.length || 1 == a.length && 1E-6 > a.end(0) - a.start(0)) return 0;\n var c = 0;\n a = t(Nh(a));\n for (var d = a.next(); !d.done; d = a.next()) {\n var e = d.value;\n d = e.start;\n e = e.end;\n e > b && (c += e - Math.max(d, b));\n }\n return c;\n }\n function Oh(a, b, c) {\n if (!a || !a.length || 1 == a.length && 1E-6 > a.end(0) - a.start(0)) return null;\n a = Nh(a).findIndex(function (d, e, f) {\n return d.start > b && (0 == e || f[e - 1].end - b <= c);\n });\n return 0 <= a ? a : null;\n }\n function Nh(a) {\n if (!a) return [];\n for (var b = [], c = 0; c < a.length; c++) b.push({\n start: a.start(c),\n end: a.end(c)\n });\n return b;\n }\n ; /*\n @license\n Shaka Player\n Copyright 2022 Google LLC\n SPDX-License-Identifier: Apache-2.0\n */\n function Ph() {}\n function Qh(a, b) {\n return b + 10 <= a.length && 73 === a[b] && 68 === a[b + 1] && 51 === a[b + 2] && 255 > a[b + 3] && 255 > a[b + 4] && 128 > a[b + 6] && 128 > a[b + 7] && 128 > a[b + 8] && 128 > a[b + 9] ? !0 : !1;\n }\n function Rh(a, b) {\n return b + 10 <= a.length && 51 === a[b] && 68 === a[b + 1] && 73 === a[b + 2] && 255 > a[b + 3] && 255 > a[b + 4] && 128 > a[b + 6] && 128 > a[b + 7] && 128 > a[b + 8] && 128 > a[b + 9] ? !0 : !1;\n }\n function Sh(a, b) {\n var c = (a[b] & 127) << 21;\n c |= (a[b + 1] & 127) << 14;\n c |= (a[b + 2] & 127) << 7;\n return c |= a[b + 3] & 127;\n }\n function Th(a) {\n var b = {\n key: a.type,\n description: "",\n data: "",\n mimeType: null,\n pictureType: null\n };\n if ("APIC" === a.type) {\n if (2 > a.size || 3 !== a.data[0]) return null;\n var c = a.data.subarray(1).indexOf(0);\n if (-1 === c) return null;\n var d = Nf(hb(a.data, 1, c)),\n e = a.data[2 + c],\n f = a.data.subarray(3 + c).indexOf(0);\n if (-1 === f) return null;\n var g = Nf(hb(a.data, 3 + c, f)),\n h;\n "--\\x3e" === d ? h = Nf(hb(a.data, 4 + c + f)) : h = kb(a.data.subarray(4 + c + f));\n b.mimeType = d;\n b.pictureType = e;\n b.description = g;\n b.data = h;\n return b;\n }\n if ("TXXX" === a.type) {\n if (2 > a.size || 3 !== a.data[0]) return null;\n d = a.data.subarray(1).indexOf(0);\n if (-1 === d) return null;\n c = Nf(hb(a.data, 1, d));\n a = Nf(hb(a.data, 2 + d)).replace(/\\0*$/, "");\n b.description = c;\n b.data = a;\n return b;\n }\n if ("WXXX" === a.type) {\n if (2 > a.size || 3 !== a.data[0]) return null;\n d = a.data.subarray(1).indexOf(0);\n if (-1 === d) return null;\n c = Nf(hb(a.data, 1, d));\n a = Nf(hb(a.data, 2 + d)).replace(/\\0*$/, "");\n b.description = c;\n b.data = a;\n return b;\n }\n if ("PRIV" === a.type) {\n if (2 > a.size) return null;\n c = a.data.indexOf(0);\n if (-1 === c) return null;\n c = Nf(hb(a.data, 0, c));\n b.description = c;\n "com.apple.streaming.transportStreamTimestamp" == c ? (c = a.data.subarray(c.length + 1), a = c[3] & 1, c = (c[4] << 23) + (c[5] << 15) + (c[6] << 7) + c[7], c /= 45, a && (c += 4.772185884E7), b.data = c) : (a = kb(a.data.subarray(c.length + 1)), b.data = a);\n return b;\n }\n if ("T" === a.type[0]) {\n if (2 > a.size || 3 !== a.data[0]) return null;\n a = Nf(a.data.subarray(1)).replace(/\\0*$/, "");\n b.data = a;\n return b;\n }\n return "W" === a.type[0] ? (a = Nf(a.data).replace(/\\0*$/, ""), b.data = a, b) : a.data ? (b.data = kb(a.data), b) : null;\n }\n function Uh(a) {\n for (var b = 0, c = []; Qh(a, b);) {\n var d = Sh(a, b + 6);\n a[b + 5] >> 6 & 1 && (b += 10);\n b += 10;\n for (d = b + d; b + 10 < d;) {\n var e = a.subarray(b),\n f = Sh(e, 4);\n e = {\n type: String.fromCharCode(e[0], e[1], e[2], e[3]),\n size: f,\n data: e.subarray(10, 10 + f)\n };\n (f = Th(e)) && c.push(f);\n b += e.size + 10;\n }\n Rh(a, b) && (b += 10);\n }\n return c;\n }\n function Vh(a, b) {\n for (var c = b = void 0 === b ? 0 : b, d = 0; Qh(a, b);) a[b + 5] >> 6 & 1 && (d += 10), d += 10, d += Sh(a, b + 6), Rh(a, b + 10) && (d += 10), b += d;\n return 0 < d ? a.subarray(c, c + d) : new Uint8Array([]);\n }\n N("shaka.util.Id3Utils", Ph);\n Ph.getID3Data = Vh;\n Ph.getID3Frames = Uh;\n function Wh(a, b) {\n var c = null,\n d = null,\n e = null,\n f = a.L();\n b & 1 && (e = a.oc());\n b & 2 && a.skip(4);\n b & 8 && (c = a.L());\n b & 16 && (d = a.L());\n return {\n trackId: f,\n Kf: c,\n Mg: d,\n $i: e\n };\n }\n function Xh(a, b) {\n return 1 == b ? (b = a.L(), a = a.L(), {\n baseMediaDecodeTime: b * Math.pow(2, 32) + a\n }) : {\n baseMediaDecodeTime: a.L()\n };\n }\n function Yh(a, b) {\n 1 == b ? (a.skip(8), a.skip(8)) : (a.skip(4), a.skip(4));\n b = a.L();\n a.skip(4);\n a = a.Ea();\n return {\n timescale: b,\n language: String.fromCharCode((a >> 10) + 96) + String.fromCharCode(((a & 960) >> 5) + 96) + String.fromCharCode((a & 31) + 96)\n };\n }\n function Zh(a, b, c) {\n var d = a.L(),\n e = [],\n f = null;\n c & 1 && (f = a.L());\n c & 4 && a.skip(4);\n for (var g = 0; g < d; g++) {\n var h = {\n hf: null,\n sampleSize: null,\n Wd: null\n };\n c & 256 && (h.hf = a.L());\n c & 512 && (h.sampleSize = a.L());\n c & 1024 && a.skip(4);\n c & 2048 && (h.Wd = 0 == b ? a.L() : a.fg());\n e.push(h);\n }\n return {\n dj: d,\n ig: e,\n Lg: f\n };\n }\n function $h(a, b) {\n 1 == b ? (a.skip(8), a.skip(8)) : (a.skip(4), a.skip(4));\n var c = a.L();\n 1 == b ? a.skip(8) : a.skip(4);\n a.skip(4);\n a.skip(8);\n a.skip(2);\n a.skip(2);\n a.skip(2);\n a.skip(2);\n a.skip(36);\n b = a.Ea() + a.Ea() / 16;\n a = a.Ea() + a.Ea() / 16;\n return {\n trackId: c,\n width: b,\n height: a\n };\n }\n function ai(a) {\n for (var b = "mp4a", c, d; a.ia();) {\n c = a.ga();\n for (var e = a.ga(); e & 128;) e = a.ga();\n if (3 == c) a.Ea(), e = a.ga(), e & 128 && a.Ea(), e & 64 && a.skip(a.ga()), e & 32 && a.Ea();else if (4 == c) d = a.ga(), a.skip(12);else if (5 == c) break;\n }\n d && (b += "." + this.g(d), 5 == c && a.ia() && (c = a.ga(), d = (c & 248) >> 3, 31 === d && a.ia() && (d = 32 + ((c & 7) << 3) + ((a.ga() & 224) >> 5)), b += "." + d));\n return {\n ha: b\n };\n }\n function bi(a, b) {\n a.skip(87);\n return {\n ha: b + "." + this.g(a.ga()) + this.g(a.ga()) + this.g(a.ga())\n };\n }\n function ci(a) {\n a = a.L();
1\n return {\n ha: $f(a)\n };\n }\n ; /*\n Copyright Brightcove, Inc.\n Licensed under the Apache License, Version 2.0 (the "License");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n http://www.apache.org/licenses/LICENSE-2.0\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an "AS IS" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n */\n function di(a, b) {\n this.j = a;\n if (void 0 === b ? 0 : b) {\n b = new Uint8Array(a.byteLength);\n for (var c = 0, d = 0; d < a.byteLength; d++) 2 <= d && 3 == a[d] && 0 == a[d - 1] && 0 == a[d - 2] || (b[c] = a[d], c++);\n this.j = hb(b, 0, c);\n }\n this.i = this.j.byteLength;\n this.g = this.h = 0;\n }\n function ei(a) {\n var b = a.j.byteLength - a.i,\n c = new Uint8Array(4),\n d = Math.min(4, a.i);\n 0 !== d && (c.set(a.j.subarray(b, b + d)), a.h = new Tf(c, 0).L(), a.g = 8 * d, a.i -= d);\n }\n function fi(a, b) {\n if (a.g <= b) {\n b -= a.g;\n var c = Math.floor(b / 8);\n b -= 8 * c;\n a.g -= c;\n ei(a);\n }\n a.h <<= b;\n a.g -= b;\n }\n function gi(a, b) {\n var c = Math.min(a.g, b),\n d = a.h >>> 32 - c;\n a.g -= c;\n 0 < a.g ? a.h <<= c : 0 < a.i && ei(a);\n c = b - c;\n return 0 < c ? d << c | gi(a, c) : d;\n }\n function hi(a) {\n var b;\n for (b = 0; b < a.g; ++b) if (0 !== (a.h & 2147483648 >>> b)) return a.h <<= b, a.g -= b, b;\n ei(a);\n return b + hi(a);\n }\n function ii(a) {\n fi(a, 1 + hi(a));\n }\n function T(a) {\n var b = hi(a);\n return gi(a, b + 1) - 1;\n }\n function ji(a) {\n a = T(a);\n return 1 & a ? 1 + a >>> 1 : -1 * (a >>> 1);\n }\n function U(a) {\n return 1 === gi(a, 1);\n }\n function ki(a) {\n return gi(a, 8);\n }\n function li(a, b) {\n for (var c = 8, d = 8, e = 0; e < b; e++) 0 !== d && (d = ji(a), d = (c + d + 256) % 256), c = 0 === d ? c : d;\n }\n function mi(a) {\n ki(a);\n T(a);\n return T(a);\n }\n N("shaka.util.ExpGolomb", di);\n function ni() {\n this.A = null;\n this.C = !1;\n this.m = this.F = null;\n this.j = [];\n this.g = [];\n this.o = this.s = null;\n this.i = [];\n this.h = [];\n this.u = null;\n this.l = [];\n }\n r = ni.prototype;\n r.clearData = function () {\n this.j = [];\n this.g = [];\n this.i = [];\n this.h = [];\n this.l = [];\n };\n r.parse = function (a) {\n if (564 > a.length) return this;\n for (var b = Math.max(0, oi(a)), c = a.length - (a.length + b) % 188, d = !1, e = b; e < c; e += 188) if (71 == a[e]) {\n var f = !!(a[e + 1] & 64),\n g = ((a[e + 1] & 31) << 8) + a[e + 2];\n if (1 < (a[e + 3] & 48) >> 4) {\n var h = e + 5 + a[e + 4];\n if (h == e + 188) continue;\n } else h = e + 4;\n switch (g) {\n case 0:\n f && (h += a[h] + 1);\n this.A = (a[h + 10] & 31) << 8 | a[h + 11];\n break;\n case 17:\n case 8191:\n break;\n case this.A:\n f && (h += a[h] + 1);\n f = a;\n g = {\n audio: -1,\n video: -1,\n Jd: -1,\n audioCodec: "",\n videoCodec: ""\n };\n var k = h + 3 + ((f[h + 1] & 15) << 8 | f[h + 2]) - 4;\n for (h += 12 + ((f[h + 10] & 15) << 8 | f[h + 11]); h < k;) {\n var l = (f[h + 1] & 31) << 8 | f[h + 2],\n m = (f[h + 3] & 15) << 8 | f[h + 4];\n switch (f[h]) {\n case 6:\n if (-1 == g.audio && 0 < m) for (var n = h + 5, q = m; 2 < q;) {\n switch (f[n]) {\n case 106:\n g.audio = l;\n g.audioCodec = "ac3";\n break;\n case 122:\n g.audio = l, g.audioCodec = "ec3";\n }\n var p = f[n + 1] + 2;\n n += p;\n q -= p;\n }\n break;\n case 15:\n -1 == g.audio && (g.audio = l, g.audioCodec = "aac");\n break;\n case 21:\n -1 == g.Jd && (g.Jd = l);\n break;\n case 27:\n -1 == g.video && (g.video = l, g.videoCodec = "avc");\n break;\n case 3:\n case 4:\n -1 == g.audio && (g.audio = l, g.audioCodec = "mp3");\n break;\n case 36:\n -1 == g.video && (g.video = l, g.videoCodec = "hvc");\n break;\n case 129:\n -1 == g.audio && (g.audio = l, g.audioCodec = "ac3");\n break;\n case 132:\n case 135:\n -1 == g.audio && (g.audio = l, g.audioCodec = "ec3");\n }\n h += m + 5;\n }\n f = g;\n -1 != f.video && (this.F = f.video, this.m = f.videoCodec);\n -1 != f.audio && (this.s = f.audio, this.o = f.audioCodec);\n -1 != f.Jd && (this.u = f.Jd);\n d && !this.C && (d = !1, e = b - 188);\n this.C = !0;\n break;\n case this.F:\n h = a.subarray(h, e + 188);\n f ? this.j.push([h]) : this.j.length && this.j[this.j.length - 1] && this.j[this.j.length - 1].push(h);\n break;\n case this.s:\n h = a.subarray(h, e + 188);\n f ? this.i.push([h]) : this.i.length && this.i[this.i.length - 1] && this.i[this.i.length - 1].push(h);\n break;\n case this.u:\n h = a.subarray(h, e + 188);\n f ? this.l.push([h]) : this.l.length && this.l[this.l.length - 1] && this.l[this.l.length - 1].push(h);\n break;\n default:\n d = !0;\n }\n }\n return this;\n };\n function pi(a) {\n if (1 !== (a[0] << 16 | a[1] << 8 | a[2])) return null;
1\n var b = {\n data: new Uint8Array(0),\n packetLength: a[4] << 8 | a[5],\n pts: null,\n dts: null,\n nalus: []\n };\n if (b.packetLength && b.packetLength > a.byteLength - 6) return null;\n var c = a[7];\n c & 192 && (b.pts = 536870912 * (a[9] & 14) + 4194304 * (a[10] & 255) + 16384 * (a[11] & 254) + 128 * (a[12] & 255) + (a[13] & 254) / 2, b.dts = b.pts, c & 64 && (b.dts = 536870912 * (a[14] & 14) + 4194304 * (a[15] & 255) + 16384 * (a[16] & 254) + 128 * (a[17] & 255) + (a[18] & 254) / 2));\n c = a[8] + 9;\n if (a.byteLength <= c) return null;\n b.data = a.subarray(c);\n return b;\n }\n r.Hh = function (a) {\n ze("TsParser.parseAvcNalus", "Please use parseNalus function instead.");\n return this.cf(a);\n };\n r.cf = function (a, b, c) {\n var d = a.pts ? a.pts / 9E4 : null;\n a = a.data;\n var e = a.byteLength,\n f = 1;\n "hvc" == this.m && (f = 2);\n for (var g = c || 0, h = [], k = -1, l = 0, m, n = 0; n < e; ++n) {\n var q = a[n];\n if (q) {\n if (2 <= g && 1 == q) {\n b && !h.length && -1 == k && (q = n - (3 < g ? 3 : g), c && 0 != q && (q = a.subarray(0, q), b.data = lg(b.data, q), b.fullData = lg(b.fullData, q)));\n 0 <= k ? (g = n - ((3 < g ? 3 : g) + 1), h.push({\n data: a.subarray(k + f, g + 1),\n fullData: a.subarray(k, g + 1),\n type: l,\n time: d\n })) : b && !h.length && (k = n - g, 0 < k && (k = a.subarray(0, k), b.data = lg(b.data, k), b.fullData = lg(b.fullData, k)));\n if (n >= e - f) return h;\n n++;\n k = n;\n l = "hvc" == this.m ? a[n] >> 1 & 63 : a[n] & 31;\n }\n g = 0;\n } else g++;\n n >= e - 1 && 0 <= k && 0 <= g && (m = {\n data: a.subarray(k + f, e),\n fullData: a.subarray(k, e),\n type: l,\n time: d\n });\n }\n m && h.push(m);\n !h.length && b && (b.data = lg(b.data, a), b.fullData = lg(b.fullData, a));\n return h;\n };\n r.getMetadata = function () {\n for (var a = [], b = t(this.l), c = b.next(); !c.done; c = b.next()) c = lg.apply(fg, w(c.value)), (c = pi(c)) && a.push({\n cueTime: c.pts ? c.pts / 9E4 : null,\n data: c.data,\n frames: Uh(c.data),\n dts: c.dts,\n pts: c.pts\n });\n return a;\n };\n r.Mb = function () {\n if (this.i.length && !this.h.length) {\n for (var a = !1, b = t(this.i), c = b.next(); !c.done; c = b.next()) {\n var d = lg.apply(fg, w(c.value)),\n e = pi(d);\n c = this.h.length ? this.h[this.h.length - 1] : null;\n e && null != e.pts && null != e.dts && (!c || c.pts != e.pts && c.dts != e.dts) ? (this.h.length && e.dts < (c.dts || 0) && (a = !0), this.h.push(e)) : this.h.length && (d = e ? e.data : d) && (c = this.h.pop(), c.data = lg(c.data, d), this.h.push(c));\n }\n a && (this.h = this.h.sort(function (f, g) {\n var h = (f.pts || 0) - (g.pts || 0);\n return (f.dts || 0) - (g.dts || 0) || h;\n }));\n }\n return this.h;\n };\n r.kc = function (a) {\n a = void 0 === a ? !0 : a;\n if (this.j.length && !this.g.length) {\n for (var b = !1, c = t(this.j), d = c.next(); !d.done; d = c.next()) {\n var e = lg.apply(fg, w(d.value)),\n f = pi(e);\n d = this.g.length ? this.g[this.g.length - 1] : null;\n f && null != f.pts && null != f.dts && (!d || d.pts != f.pts && d.dts != f.dts) ? (this.g.length && f.dts < (d.dts || 0) && (b = !0), this.g.push(f)) : this.g.length && (e = f ? f.data : e) && (d = this.g.pop(), d.data = lg(d.data, e), this.g.push(d));\n }\n if (a) {\n var g;\n c = t(this.g);\n for (d = c.next(); !d.done; d = c.next()) d = d.value, d.nalus = this.cf(d, g, void 0), d.nalus.length && (g = d.nalus[d.nalus.length - 1]);\n this.g = this.g.filter(function (h) {\n return h.nalus.length;\n });\n }\n b && (this.g = this.g.sort(function (h, k) {\n var l = (h.pts || 0) - (k.pts || 0);\n return (h.dts || 0) - (k.dts || 0) || l;\n }));\n }\n return a ? this.g : (a = this.g, this.g = [], a);\n };\n r.getStartTime = function (a) {\n if ("audio" == a) {\n a = null;\n var b = this.Mb();\n b.length && (a = b[0], a = Math.min(a.dts, a.pts) / 9E4);\n return a;\n }\n return "video" == a ? (a = null, b = this.kc(!1), b.length && (a = b[0], a = Math.min(a.dts, a.pts) / 9E4), a) : null;\n };\n r.Pc = function () {\n return {\n audio: this.o,\n video: this.m\n };\n };\n r.Fd = function () {\n for (var a = [], b = t(this.kc()), c = b.next(); !c.done; c = b.next()) a.push.apply(a, w(c.value.nalus));\n return a;\n };\n r.oh = function () {\n ze("TsParser.getVideoResolution", "Please use getVideoInfo function instead.");\n var a = this.Je();\n return {\n height: a.height,\n width: a.width\n };\n };\n r.Je = function () {\n return "hvc" == this.m ? qi(this) : ri(this);\n };
1\n function ri(a) {\n var b = {\n height: null,\n width: null,\n ha: null\n };\n a = a.Fd();\n if (!a.length) return b;\n a = a.find(function (q) {\n return 7 == q.type;\n });\n if (!a) return b;\n a = new di(a.data);\n var c = ki(a),\n d = ki(a),\n e = ki(a);\n ii(a);\n if (si.includes(c)) {\n var f = T(a);\n 3 === f && fi(a, 1);\n ii(a);\n ii(a);\n fi(a, 1);\n if (U(a)) {\n f = 3 !== f ? 8 : 12;\n for (var g = 0; g < f; g++) U(a) && (6 > g ? li(a, 16) : li(a, 64));\n }\n }\n ii(a);\n f = T(a);\n if (0 === f) T(a);else if (1 === f) for (fi(a, 1), ii(a), ii(a), f = T(a), g = 0; g < f; g++) ii(a);\n ii(a);\n fi(a, 1);\n f = T(a);\n g = T(a);\n var h = gi(a, 1);\n 0 === h && fi(a, 1);\n fi(a, 1);\n var k = 0,\n l = 0,\n m = 0,\n n = 0;\n U(a) && (k = T(a), l = T(a), m = T(a), n = T(a));\n b.height = String((2 - h) * (g + 1) * 16 - 2 * m - 2 * n);\n b.width = String(16 * (f + 1) - 2 * k - 2 * l);\n b.ha = "avc1." + ("0" + c.toString(16).toUpperCase()).slice(-2) + ("0" + d.toString(16).toUpperCase()).slice(-2) + ("0" + e.toString(16).toUpperCase()).slice(-2);\n return b;\n }\n function qi(a) {\n var b = {\n height: null,\n width: null,\n ha: null\n };\n a = a.Fd();\n if (!a.length) return b;\n a = a.find(function (A) {\n return 33 == A.type;\n });\n if (!a) return b;\n var c = new di(a.fullData, !0);\n ki(c);\n ki(c);\n gi(c, 4);\n var d = gi(c, 3);\n U(c);\n var e = gi(c, 2),\n f = gi(c, 1),\n g = gi(c, 5),\n h = gi(c, 32);\n a = ki(c);\n for (var k = ki(c), l = ki(c), m = ki(c), n = ki(c), q = ki(c), p = ki(c), u = [], v = [], x = 0; x < d; x++) u.push(U(c)), v.push(U(c));\n if (0 < d) for (x = d; 8 > x; x++) gi(c, 2);\n for (x = 0; x < d; x++) u[x] && gi(c, 88), v[x] && ki(c);\n T(c);\n d = T(c);\n 3 == d && gi(c, 1);\n u = T(c);\n v = T(c);\n var z = x = 0,\n y = 0,\n B = 0;\n U(c) && (x += T(c), z += T(c), y += T(c), B += T(c));\n b.width = String(u - (x + z) * (1 === d || 2 === d ? 2 : 1));\n b.height = String(v - (y + B) * (1 === d ? 2 : 1));\n c = function (A) {\n for (var D = 0, F = 0; 32 > F; F++) D |= (A >> F & 1) << 31 - F;\n return D >>> 0;\n }(h);\n f = 1 == f ? "H" : "L";\n e = "hvc1" + ("." + ["", "A", "B", "C"][e] + g);\n e += "." + c.toString(16).toUpperCase();\n e += "." + f + p;\n q && (e += "." + q.toString(16).toUpperCase());\n n && (e += "." + n.toString(16).toUpperCase());\n m && (e += "." + m.toString(16).toUpperCase());\n l && (e += "." + l.toString(16).toUpperCase());\n k && (e += "." + k.toString(16).toUpperCase());\n a && (e += "." + a.toString(16).toUpperCase());\n b.ha = e;\n return b;\n }\n function ti(a) {\n return 0 > oi(a) ? !1 : !0;\n }\n function oi(a) {\n for (var b = Math.min(1E3, a.length - 564), c = 0; c < b;) {\n if (71 == a[c] && 71 == a[c + 188] && 71 == a[c + 376]) return c;\n c++;\n }\n return -1;\n }\n N("shaka.util.TsParser", ni);\n ni.syncOffset = oi;\n ni.probe = ti;\n ni.prototype.getVideoInfo = ni.prototype.Je;\n ni.prototype.getVideoResolution = ni.prototype.oh;\n ni.prototype.getVideoNalus = ni.prototype.Fd;\n ni.prototype.getCodecs = ni.prototype.Pc;\n ni.prototype.getStartTime = ni.prototype.getStartTime;\n ni.prototype.getVideoData = ni.prototype.kc;\n ni.prototype.getAudioData = ni.prototype.Mb;\n ni.prototype.getMetadata = ni.prototype.getMetadata;\n ni.prototype.parseNalus = ni.prototype.cf;\n ni.prototype.parseAvcNalus = ni.prototype.Hh;\n ni.prototype.parse = ni.prototype.parse;\n ni.prototype.clearData = ni.prototype.clearData;\n ni.Timescale = 9E4;\n var si = [100, 110, 122, 244, 44, 83, 86, 118, 128, 138, 139, 134];\n function ui(a, b, c) {\n this.g = null;\n this.o = -1;\n this.l = a;\n this.i = b;\n this.m = c;\n this.j = !1;\n a: {\n "undefined" === typeof libDPIModule && Sa("Could not find LCEVC Library dependencies on this page");\n if ("undefined" !== typeof LCEVCdec) this.h = LCEVCdec;else if ("undefined" !== typeof LcevcDil) this.h = LcevcDil, this.j = !0, ze("LcevcDil", "lcevc_dil.js is deprecated, please use lcevc_dec.js instead");else {\n Sa("Could not find LCEVC Library on this page");\n a = !1;\n break a;\n }\n "undefined" === typeof this.h.SupportObject ? (Sa("Could not find LCEVC Library on this page"), a = !1) : (this.h.SupportObject.SupportStatus || Sa(this.h.SupportObject.SupportError), a = "undefined" !== typeof this.h && "undefined" !== typeof libDPIModule && this.i instanceof HTMLCanvasElement && this.h.SupportObject.SupportStatus);\n }\n a && !this.g && this.h.SupportObject.webGLSupport(this.i) && (this.i.classList.remove("shaka-hidden"), this.g = this.j ? new this.h.LcevcDil(this.l, this.i, this.m) : new this.h.LCEVCdec(this.l, this.i, this.m));\n }\n function vi(a) {\n a.g && a.i.classList.add("shaka-hidden");\n }\n ui.prototype.release = function () {\n this.g && (this.g.close(), this.g = null);\n };\n function wi(a, b, c) {\n var d = xi,\n e = yi;\n switch (b.mimeType) {\n case "video/webm":\n d = zi;\n break;\n case "video/mp4":\n d = Ai;\n }\n switch (c) {\n case "DASH":\n e = Bi;\n break;\n case "HLS":\n e = Ci;\n }\n a.g && (a.o = b.id, a.g.setLevelSwitching(b.id, !0), a.g.setContainerFormat(d), a.j || a.g.setStreamingFormat(e));\n }\n N("shaka.lcevc.Dec", ui);\n ui.prototype.release = ui.prototype.release;\n var xi = 0,\n zi = 1,\n Ai = 2,\n Ci = 0,\n Bi = 1,\n yi = -1;\n function Di(a, b, c, d) {\n var e = this;\n this.i = a;\n this.C = null;
1\n this.F = b;\n this.g = {};\n this.G = {};\n this.ma = {};\n this.h = null;\n this.Y = !1;\n this.Aa = c || function () {};\n this.N = d || null;\n this.j = {};\n this.s = new Af();\n this.m = {};\n this.H = null;\n this.J = new Ze();\n this.K = "";\n this.da = !1;\n this.l = Ei(this, this.J);\n this.A = !1;\n this.I = new yf(function () {\n return Fi(e);\n });\n this.u = !1;\n this.W = "UNKNOWN";\n this.ka = this.za = !1;\n this.Ba = new Ze();\n this.o = !1;\n this.ea = !0;\n this.V = null;\n }\n function Ei(a, b) {\n if (window.ManagedMediaSource) {\n a.i.disableRemotePlayback = !0;\n var c = new ManagedMediaSource();\n a.s.D(c, "startstreaming", function () {\n a.ea = !0;\n });\n a.s.D(c, "endstreaming", function () {\n a.ea = !1;\n });\n a.s.ja(c, "sourceopen", function () {\n URL.revokeObjectURL(a.K);\n b.resolve();\n });\n a.s.ja(a.i, "playing", function () {\n a.da = !0;\n });\n a.K = Gi(c);\n a.i.src = a.K;\n return c;\n }\n c = new MediaSource();\n a.s.ja(c, "sourceopen", function () {\n URL.revokeObjectURL(a.K);\n b.resolve();\n });\n a.s.ja(a.i, "playing", function () {\n a.da = !0;\n });\n a.K = Gi(c);\n a.i.src = a.K;\n return c;\n }\n r = Di.prototype;\n r.destroy = function () {\n return this.I.destroy();\n };\n function Fi(a) {\n var b, c, d, e, f, g, h, k;\n return K(function (l) {\n if (1 == l.g) {\n b = [];\n for (c in a.j) for (d = a.j[c], e = d[0], a.j[c] = d.slice(0, 1), e && b.push(e.p["catch"]($c)), f = t(d.slice(1)), g = f.next(); !g.done; g = f.next()) h = g.value, h.p.reject(new O(2, 7, 7003, void 0));\n a.h && b.push(a.h.destroy());\n a.F && b.push(a.F.destroy());\n for (k in a.m) b.push(a.m[k].destroy());\n return C(l, Promise.all(b), 2);\n }\n a.s && (a.s.release(), a.s = null);\n a.i && (a.i.removeAttribute("src"), a.i.load(), a.i = null);\n a.C = null;\n a.l = null;\n a.h = null;\n a.F = null;\n a.g = {};\n a.m = {};\n a.H = null;\n a.j = {};\n a.N = null;\n E(l);\n });\n }\n r.init = function (a, b, c, d) {\n b = void 0 === b ? !1 : b;\n c = void 0 === c ? "UNKNOWN" : c;\n d = void 0 === d ? !1 : d;\n var e = this,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n if (1 == m.g) return f = Ec, C(m, e.J, 2);\n e.u = b;\n e.W = c;\n e.za = d;\n e.ka = !e.u && "HLS" == e.W && !e.za;\n g = t(a.keys());\n for (h = g.next(); !h.done; h = g.next()) k = h.value, l = a.get(k), Hi(e, k, l, l.codecs), e.o ? (e.j[f.P] = [], e.j[f.$] = []) : e.j[k] = [];\n E(m);\n });\n };\n function Hi(a, b, c, d, e) {\n e = void 0 === e ? !1 : e;\n var f = Gc(c.mimeType, d);\n if (b == Dc) Ii(a, f, a.u, c.external);else {\n var g = a.C.forceTransmux || e;\n if (!Za(f) || !a.u && Hc.includes(f)) g = !0;\n e = Ic(c.mimeType, d);\n if (g) {\n g = Bc("audio", (d || "").split(","));\n d = Bc("video", (d || "").split(","));\n if (g && d) {\n a.o = !0;\n Hi(a, "audio", c, g, !0);\n Hi(a, "video", c, d, !0);\n return;\n }\n if (d = $b(e)) f = d(), a.m[b] = f, f = f.convertCodecs(b, e);\n }\n e = f + a.C.sourceBufferExtraFeatures;\n zf(a.I);\n try {\n var h = a.l.addSourceBuffer(e);\n } catch (k) {\n throw new O(2, 3, 3015, k, "The mediaSource_ status was " + a.l.readyState + " expected \'open\'");\n }\n a.u && (h.mode = Ji);\n a.s.D(h, "error", function () {\n a.j[b][0].p.reject(new O(2, 3, 3014, a.i.error ? a.i.error.code : 0));\n });\n a.s.D(h, "updateend", function () {\n return Ki(a, b);\n });\n a.g[b] = h;\n a.G[b] = f;\n a.ma[b] = !!c.drmInfos.length;\n }\n }\n r.configure = function (a) {\n this.C = a;\n };\n function Ii(a, b, c, d) {\n a.h || (a.h = new Pc(a.F));\n var e = a.h;\n d = d || a.Y;\n a = a.W;\n "application/cea-608" == b || "application/cea-708" == b ? e.i = null : (e.i = (0, Rc[b])(), e.i.setSequenceMode ? e.i.setSequenceMode(c) : Sa(\'Text parsers should have a "setSequenceMode" method!\'), e.i.setManifestType ? e.i.setManifestType(a) : Sa(\'Text parsers should have a "setManifestType" method!\'), e.u = d);\n }\n function Li(a) {\n return a.A ? !1 : a.l ? "ended" == a.l.readyState : !0;\n }\n function Mi(a, b) {\n a.A || !Object.keys(a.g).length ? a = null : b == Dc ? a = a.h.g : (a = Ni(a, b), a = !a || 1 == a.length && 1E-6 > a.end(0) - a.start(0) ? null : 1 == a.length && 0 > a.start(0) ? 0 : a.length ? a.start(0) : null);\n return a;\n }\n function Oi(a, b) {\n return a.A ? null : b == Dc ? a.h.h : Kh(Ni(a, b));\n }\n function Pi(a, b, c) {\n if (a.A) return 0;\n if (b == Dc) return a = a.h, null == a.h || a.h < c ? 0 : a.h - Math.max(c, a.g);\n a = Ni(a, b);\n return Mh(a, c);\n }\n r.pb = function () {\n var a = {\n total: this.A ? [] : Nh(this.i.buffered),\n audio: this.A ? [] : Nh(Ni(this, "audio")),\n video: this.A ? [] : Nh(Ni(this, "video")),\n text: []\n };\n if (this.h) {\n var b = this.h.g,\n c = this.h.h;\n null != b && null != c && a.text.push({\n start: b,\n end: c\n });\n }\n return a;\n };
1\n function Ni(a, b) {\n try {\n return a.g[b].buffered;\n } catch (c) {\n return null;\n }\n }\n function Qi(a, b, c, d, e, f) {\n var g = null,\n h = hb(c);\n if (Hc.includes(e)) f = Uh(h), f.length && d && ((b = f.find(function (n) {\n return "com.apple.streaming.transportStreamTimestamp" === n.description;\n })) && b.data && (g = Math.round(b.data) / 1E3), a.Aa([{\n cueTime: d.startTime,\n data: h,\n frames: f,\n dts: d.startTime,\n pts: d.startTime\n }], 0, d.endTime));else if (e.includes("/mp4") && d && 0 == d.timestampOffset && d.aa && d.aa.timescale) {\n var k = d.aa.timescale;\n if (!isNaN(k)) {\n var l = 0,\n m = !1;\n new Wf().box("moof", ag).box("traf", ag).O("tfdt", function (n) {\n l = Xh(n.reader, n.version).baseMediaDecodeTime / k;\n m = !0;\n n.parser.stop();\n }).parse(c, !0);\n m && (g = l);\n }\n } else e.includes("/mp4") || e.includes("/webm") || !ti(h) || (h = new ni().parse(h), b = h.getStartTime(b), null != b && (g = b), h = h.getMetadata(), h.length && a.Aa(h, f, d ? d.endTime : null));\n return g;\n }\n function Ri(a, b, c, d, e, f, g, h, k, l) {\n g = void 0 === g ? !1 : g;\n h = void 0 === h ? !1 : h;\n k = void 0 === k ? !1 : k;\n l = void 0 === l ? !1 : l;\n var m, n, q, p, u, v, x, z, y, B, A;\n return K(function (D) {\n switch (D.g) {\n case 1:\n m = Ec;\n if (b != m.na) {\n D.B(2);\n break;\n }\n if (!a.u) {\n D.B(3);\n break;\n }\n return C(D, a.Ba, 4);\n case 4:\n n = D.h, a.h.s = n;\n case 3:\n return C(D, Sc(a.h, c, d ? d.startTime : null, d ? d.endTime : null, d ? d.Z()[0] : null), 5);\n case 5:\n return D["return"]();\n case 2:\n if (l || !a.o) {\n D.B(6);\n break;\n }\n return C(D, Ri(a, m.P, c, d, e, f, g, h, k, !0), 7);\n case 7:\n return C(D, Ri(a, m.$, c, d, e, f, g, h, k, !0), 8);\n case 8:\n return D["return"]();\n case 6:\n if (!a.g[b]) return D["return"]();\n q = a.g[b].timestampOffset;\n p = a.G[b];\n a.m[b] && (p = a.m[b].getOriginalMimeType());\n d && (u = Qi(a, b, c, d, p, q), null != u && (v = d.startTime - u, x = Math.abs(q - v), (.001 <= x || g || h) && (!k || 0 < v || !q) && (q = v, a.ka && (Si(a, b, function () {\n return Ti(a, b);\n }), Si(a, b, function () {\n return Ui(a, b, q);\n }))), z = b == m.$ || !(m.$ in a.g), a.u && z && a.Ba.resolve(q)));\n f && b == m.$ && (a.h || Ii(a, "application/cea-608", a.u, !1), a.H || (y = p.split(";", 1)[0], a.H = new pb(y)), d ? (B = a.H.i(c), B.length && Yc(a.h, B, d.startTime, d.endTime, q)) : a.H.init(c));\n if (!a.m[b]) {\n D.B(9);\n break;\n }\n return C(D, a.m[b].transmux(c, e, d, a.l.duration, b), 10);\n case 10:\n c = D.h;\n case 9:\n return c = Vi(a, c, d ? d.startTime : null, b), d && a.u && b != m.na && (g || h) && (A = d.startTime, Si(a, b, function () {\n return Ti(a, b);\n }), Si(a, b, function () {\n return Ui(a, b, A);\n })), C(D, Si(a, b, function () {\n var F = c;\n if ("video" == b && a.N) {\n var J = a.N;\n J.g && J.g.appendBuffer(F, "video", J.o, -q);\n }\n a.g[b].appendBuffer(F);\n }), 11);\n case 11:\n E(D);\n }\n });\n }\n function Wi(a, b) {\n var c = Oi(a, "video") || 0;\n Uc(a.h, b, c);\n }\n function Xi(a) {\n a.h && Uc(a.h, "", 0);\n }\n r.remove = function (a, b, c) {\n var d = this,\n e;\n return K(function (f) {\n return 1 == f.g ? (e = Ec, a == e.na ? C(f, d.h.remove(b, c), 0
1) : C(f, Si(d, a, function () {\n return Yi(d, a, b, c);\n }), 4)) : d.o ? C(f, Si(d, e.P, function () {\n return Yi(d, e.P, b, c);\n }), 0) : f.B(0);\n });\n };\n function Zi(a, b) {\n var c;\n return K(function (d) {\n return 1 == d.g ? (c = Ec, b == c.na ? a.h ? C(d, a.h.remove(0, Infinity), 0) : d["return"]() : C(d, Si(a, b, function () {\n return Yi(a, b, 0, a.l.duration);\n }), 4)) : a.o ? C(d, Si(a, c.P, function () {\n return Yi(a, c.P, 0, a.l.duration);\n }), 0) : d.B(0);\n });\n }\n r.flush = function (a) {\n var b = this,\n c;\n return K(function (d) {\n return 1 == d.g ? (c = Ec, a == c.na ? d["return"]() : C(d, Si(b, a, function () {\n b.i.currentTime -= .001;\n Ki(b, a);\n }), 2)) : b.o ? C(d, Si(b, c.P, function () {\n var e = c.P;\n b.i.currentTime -= .001;\n Ki(b, e);\n }), 0) : d.B(0);\n });\n };\n function $i(a, b, c, d, e, f, g, h, k) {\n var l, m, n;\n return K(function (q) {\n if (1 == q.g) {\n l = Ec;\n if (b == l.na) return f || (a.h.s = c), Tc(a.h, d, e), q["return"]();\n m = [];\n return C(q, aj(a, b, g, h, k), 2);\n }\n n = q.h;\n n || (m.push(Si(a, b, function () {\n return Ti(a, b);\n })), a.o && m.push(Si(a, l.P, function () {\n return Ti(a, l.P);\n })));\n f || (m.push(Si(a, b, function () {\n return Ui(a, b, c);\n })), a.o && m.push(Si(a, l.P, function () {\n return Ui(a, l.P, c);\n })));\n m.push(Si(a, b, function () {\n a.g[b].appendWindowStart = 0;\n a.g[b].appendWindowEnd = e;\n a.g[b].appendWindowStart = d;\n Ki(a, b);\n }));\n a.o && m.push(Si(a, l.P, function () {\n var p = l.P;\n a.g[p].appendWindowStart = 0;\n a.g[p].appendWindowEnd = e;\n a.g[p].appendWindowStart = d;\n Ki(a, p);\n }));\n return C(q, Promise.all(m), 0);\n });\n }\n function bj(a, b, c) {\n var d;\n return K(function (e) {\n if (1 == e.g) {\n d = Ec;\n if (b == d.na) return e["return"]();\n Si(a, b, function () {\n return Ti(a, b);\n });\n a.o && Si(a, d.P, function () {\n return Ti(a, d.P);\n });\n return C(e, Si(a, b, function () {\n return Ui(a, b, c);\n }), 2);\n }\n return a.o ? C(e, Si(a, d.P, function () {\n return Ui(a, d.P, c);\n }), 0) : e.B(0);\n });\n }\n r.endOfStream = function (a) {\n var b = this;\n return K(function (c) {\n return C(c, cj(b, function () {\n Li(b) || "closed" === b.l.readyState || (a ? b.l.endOfStream(a) : b.l.endOfStream());\n }), 0);\n });\n };\n r.Pa = function (a) {\n var b = this;\n return K(function (c) {\n return C(c, cj(b, function () {\n if (a < b.l.duration) for (var d in b.g) {\n var e = {\n start: function start() {},\n p: new Ze()\n };\n b.j[d].unshift(e);\n }\n b.l.duration = a;\n b.V = a;\n }), 0);\n });\n };\n r.getDuration = function () {\n return this.l.duration;\n };\n function Yi(a, b, c, d) {\n d <= c ? Ki(a, b) : a.g[b].remove(c, d);\n }\n function Ti(a, b) {\n var c = a.g[b].appendWindowStart,\n d = a.g[b].appendWindowEnd;\n a.g[b].abort();\n a.g[b].appendWindowStart = c;\n a.g[b].appendWindowEnd = d;\n Ki(a, b);\n }\n function Ui(a, b, c) {\n 0 > c && (c += .001);\n a.g[b].timestampOffset = c;\n Ki(a, b);\n }\n function Ki(a, b) {\n if (!a.A) {\n var c = a.j[b][0];\n c && (c.p.resolve(), dj(a, b));\n }\n }\n function Si(a, b, c) {\n zf(a.I);\n c = {\n start: c,\n p: new Ze()\n };\n a.j[b].push(c);\n 1 == a.j[b].length && ej(a, b);\n return c.p;\n }\n function cj(a, b) {\n var c, d, e, f, g, h, k;\n return K(function (l) {\n switch (l.g) {\n case 1:\n zf(a.I);\n c = [];\n d = {};
1\n for (e in a.g) d.yc = new Ze(), f = {\n start: function (m) {\n return function () {\n return m.yc.resolve();\n };\n }(d),\n p: d.yc\n }, a.j[e].push(f), c.push(d.yc), 1 == a.j[e].length && f.start(), d = {\n yc: d.yc\n };\n sa(l, 2);\n return C(l, Promise.all(c), 4);\n case 4:\n ua(l, 3);\n break;\n case 2:\n throw g = va(l), g;\n case 3:\n return sa(l, 5, 6), C(l, b(), 6);\n case 6:\n wa(l);\n for (h in a.g) dj(a, h);\n ya(l, 0);\n break;\n case 5:\n throw k = va(l), new O(2, 3, 3015, k, a.i.error || "No error in the media element");\n }\n });\n }\n function dj(a, b) {\n a.j[b].shift();\n ej(a, b);\n }\n function ej(a, b) {\n var c = a.j[b][0];\n if (c) try {\n c.start();\n } catch (d) {\n "QuotaExceededError" == d.name ? c.p.reject(new O(2, 3, 3017, b)) : c.p.reject(new O(2, 3, 3015, d, a.i.error || "No error in the media element")), dj(a, b);\n }\n }\n function Vi(a, b, c, d) {\n var e = a.ma[d];\n a.C.insertFakeEncryptionInInit && null == c && e && (xd() || vd() || wd("SOPOpenBrowser")) && "mp4" == a.G[d].split(";")[0].split("/")[1] && (b = Ch(b));\n return b;\n }\n function fj(a, b, c, d) {\n return Si(a, b, function () {\n b !== Dc && (bb() && (a.m[b] && (a.m[b].destroy(), delete a.m[b]), d && (a.m[b] = d), a.g[b].changeType(c + a.C.sourceBufferExtraFeatures), a.G[b] = c), Ki(a, b));\n });\n }\n function gj(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G;\n return K(function (H) {\n switch (H.g) {\n case 1:\n c = Ec;\n a.A = !0;\n a.o = !1;\n d = a.i.currentTime;\n e = a.i.autoplay;\n f = a.i.paused;\n a.da && (a.i.autoplay = !1);\n ta(H, 2);\n a.s.Za();\n g = [];\n for (h in a.m) g.push(a.m[h].destroy());\n for (k in a.j) for (l = a.j[k], m = l[0], a.j[k] = l.slice(0, 1), m && g.push(m.p["catch"]($c)), n = t(l.slice(1)), q = n.next(); !q.done; q = n.next()) p = q.value, p.p.reject(new O(2, 7, 7003, void 0));\n for (u in a.g) {\n v = a.g[u];\n try {\n a.l.removeSourceBuffer(v);\n } catch (I) {}\n }\n return C(H, Promise.all(g), 4);\n case 4:\n return a.m = {}, a.g = {}, x = a.l.duration, a.J = new Ze(), a.l = Ei(a, a.J), C(H, a.J, 5);\n case 5:\n !isNaN(x) && x ? a.l.duration = x : !isNaN(a.V) && a.V && (a.l.duration = a.V);\n z = new Ze();\n y = a.l.sourceBuffers;\n B = b.size;\n A = 0;\n a.s.D(y, "addsourcebuffer", function () {\n A++;\n A === B && z.resolve();\n });\n D = t(b.keys());\n for (F = D.next(); !F.done; F = D.next()) J = F.value, G = b.get(J), Hi(a, J, G, G.codecs), a.o ? (a.j[c.P] = [], a.j[c.$] = []) : a.j[J] = [];\n a.i.currentTime = d;\n return C(H, z, 2);\n case 2:\n wa(H), a.A = !1, zf(a.I), a.s.ja(a.i, "canplaythrough", function () {\n zf(a.I);\n a.i.autoplay = e;\n f || a.i.play();\n }), ya(H, 0);\n }\n });\n }\n function hj(a, b) {\n return cj(a, function () {\n return gj(a, b);\n });\n }\n function aj(a, b, c, d, e) {\n var f, g, h, k, l, m, n, q, p, u, v, x, z, y, B;\n return K(function (A) {\n if (1 == A.g) {\n f = Ec;\n if (b == f.na) return A["return"](!1);\n g = Mc(Oc(a.G[b]));\n h = Nc(a.G[b]);\n l = !1;\n m = Gc(c, d);\n n = a.C.forceTransmux;\n if (!Za(m) || !a.u && Hc.includes(m) || d.includes(",")) n = !0;\n n && (q = Ic(c, d), p = $b(q)) && (k = p(), u = Bc(f.P, (d || "").split(",")), v = Bc(f.$, (d || "").split(",")), u && v ? (l = !0, x = v, b == f.P && (x = u), m = k.convertCodecs(b, Ic(c, x))) : m = k.convertCodecs(b, q));\n z = Mc(Oc(m));\n y = Nc(m);\n if (g === z && h === y) return A["return"](!1);\n B = !0;\n if (a.o || l && k && !a.m[b]) B = !1;\n if (B && "smooth" === a.C.codecSwitchingStrategy && bb()) return C(A, fj(a, b, m, k
1), 3);\n k && k.destroy();\n return C(A, hj(a, e), 3);\n }\n return A["return"](!0);\n });\n }\n function ij(a, b, c) {\n if (b == Dc) var d = !1;else {\n d = Mc(Oc(a.G[b]));\n var e = Nc(a.G[b]),\n f = Gc(c.mimeType, c.codecs),\n g = a.C.forceTransmux;\n if (!Za(f) || !a.u && Hc.includes(f) || c.codecs.includes(",")) g = !0;\n c = Ic(c.mimeType, c.codecs);\n g && (g = $b(c)) && (g = g(), f = g.convertCodecs(b, c), g.destroy());\n b = Mc(Oc(f));\n f = Nc(f);\n d = d !== b || e !== f;\n }\n return d ? "smooth" !== a.C.codecSwitchingStrategy || !bb() || a.o : !1;\n }\n var Gi = window.URL.createObjectURL,\n Ji = "sequence";\n function jj(a, b, c) {\n this.i = a;\n this.o = b;\n this.u = this.j = Infinity;\n this.g = 1;\n this.h = this.l = null;\n this.s = 0;\n this.C = !0;\n this.F = 0;\n this.A = void 0 === c ? !0 : c;\n this.G = 0;\n this.m = !1;\n }\n r = jj.prototype;\n r.getDuration = function () {\n return this.j;\n };\n r.$g = function () {\n return this.g;\n };\n r.qf = function (a) {\n this.i = a;\n };\n r.Pa = function (a) {\n this.j = a;\n };\n r.eh = function () {\n return this.i;\n };\n r.mg = function (a) {\n this.s = a;\n };\n r.pc = function (a) {\n this.C = a;\n };\n r.Xd = function (a) {\n this.u = a;\n };\n r.ng = function (a) {\n this.o = a;\n };\n r.Tg = function () {\n return this.o;\n };\n r.dg = function (a, b) {\n if (0 != a.length) {\n var c = a[a.length - 1].end + b;\n this.Sd(a[0].start + b);\n this.g = a.reduce(function (d, e) {\n return Math.max(d, e.end - e.start);\n }, this.g);\n this.h = Math.max(this.h, c);\n null != this.i && this.A && !this.m && (this.i = (Date.now() + this.s) / 1E3 - this.h - this.g);\n }\n };\n r.Xc = function (a) {\n if (0 != a.length) {\n var b = a[0].startTime,\n c = a[0].endTime,\n d = (Date.now() + this.s) / 1E3;\n a = t(a);\n for (var e = a.next(); !e.done; e = a.next()) e = e.value, d < e.startTime || (b = Math.min(b, e.startTime), c = Math.max(c, e.endTime), this.g = Math.max(this.g, e.endTime - e.startTime));\n this.Sd(b);\n this.h = Math.max(this.h, c);\n null != this.i && this.A && !this.m && (this.i = d - this.h - this.g);\n }\n };\n r.Nd = function () {\n this.m = !0;\n };\n r.yh = function () {\n return this.m;\n };\n r.Sd = function (a) {\n this.l = null == this.l ? a : Math.min(this.l, a);\n };\n r.Ye = function (a) {\n this.g = Math.max(this.g, a);\n };\n r.offset = function (a) {\n null != this.l && (this.l += a);\n null != this.h && (this.h += a);\n };\n r.R = function () {\n return Infinity == this.j && !this.C;\n };\n r.Rb = function () {\n return Infinity != this.j && !this.C;\n };\n r.eb = function () {\n return Math.max(this.F, this.Bb() - this.u);\n };\n r.qg = function (a) {\n this.F = a;\n };\n r.Bb = function () {\n return this.R() || this.Rb() ? Math.min(Math.max(0, (Date.now() + this.s) / 1E3 - this.g - this.i) + this.G, this.j) : this.h ? Math.min(this.h, this.j) : this.j;\n };\n r.Rc = function (a) {\n var b = Math.max(this.l, this.F);\n return Infinity == this.u ? Math.ceil(1E3 * b) / 1E3 : Math.max(b, Math.min(this.Bb() - this.u + a, this.qb()));\n };\n r.hc = function () {\n return this.Rc(0);\n };\n r.qb = function () {\n return Math.max(0, this.Bb() - (this.R() || this.Rb() ? this.o : 0));\n };\n r.ug = function () {\n return null == this.i || null != this.h && this.A ? !1 : !0;\n };\n r.lg = function (a) {\n this.G = a;\n };\n N("shaka.media.PresentationTimeline", jj);\n jj.prototype.setAvailabilityTimeOffset = jj.prototype.lg;\n jj.prototype.usingPresentationStartTime = jj.prototype.ug;\n jj.prototype.getSeekRangeEnd = jj.prototype.qb;\n jj.prototype.getSeekRangeStart = jj.prototype.hc;\n jj.prototype.getSafeSeekRangeStart = jj.prototype.Rc;\n jj.prototype.getSegmentAvailabilityEnd = jj.prototype.Bb;\n jj.prototype.setUserSeekStart = jj.prototype.qg;\n jj.prototype.getSegmentAvailabilityStart = jj.prototype.eb;\n jj.prototype.isInProgress = jj.prototype.Rb;\n jj.prototype.isLive = jj.prototype.R;\n jj.prototype.offset = jj.prototype.offset;\n jj.prototype.notifyMaxSegmentDuration = jj.prototype.Ye;\n jj.prototype.notifyMinSegmentStartTime = jj.prototype.Sd;\n jj.prototype.isStartTimeLocked = jj.prototype.yh;\n jj.prototype.lockStartTime = jj.prototype.Nd;\n jj.prototype.notifySegments = jj.prototype.Xc;\n jj.prototype.notifyTimeRange = jj.prototype.dg;\n jj.prototype.getDelay = jj.prototype.Tg;\n jj.prototype.setDelay = jj.prototype.ng;\n jj.prototype.setSegmentAvailabilityDuration = jj.prototype.Xd;\n jj.prototype.setStatic = jj.prototype.pc;\n jj.prototype.setClockOffset = jj.prototype.mg;\n jj.prototype.getPresentationStartTime = jj.prototype.eh;\n jj.prototype.setDuration = jj.prototype.Pa;\n jj.prototype.setPresentationStartTime = jj.prototype.qf;\n jj.prototype.getMaxSegmentDuration = jj.prototype.$g;\n jj.prototype.getDuration = jj.prototype.getDuration;\n function kj(a, b, c) {\n this.j = c;\n this.l = a;\n this.s = lj(a);\n this.g = a.g.currentTime;\n this.m = Date.now() / 1E3;\n this.h = !1;\n this.o = 0;\n this.u = b;\n this.i = function () {};\n }\n kj.prototype.release = function () {\n this.j = this.l = null;\n this.i = function () {};\n };\n function mj(a, b) {\n a.i = b;\n }\n function nj(a) {\n this.g = a;\n }\n function lj(a) {\n if (a.g.paused || 0 == a.g.buffered.length) var b = !1;else a: {\n b = a.g.currentTime;\n a = t(Nh(a.g.buffered));\n for (var c = a.next(); !c.done; c = a.next()) if (c = c.value, !(b < c.start - .1 || b > c.end - .5)) {\n b = !0;\n break a;\n }\n b = !1;\n }\n return b;\n }\n ;\n function oj(a, b, c, d, e) {\n var f = this;\n this.u = e;\n this.g = a;\n this.A = b;\n this.s = c;\n this.l = new Af();\n this.j = !1;
1\n this.F = a.readyState;\n this.C = this.i = 0;\n this.h = d;\n this.o = !1;\n this.l.D(a, "waiting", function () {\n return pj(f);\n });\n this.m = new qd(function () {\n pj(f);\n }).$a(this.s.gapJumpTimerTime);\n }\n oj.prototype.release = function () {\n this.l && (this.l.release(), this.l = null);\n null != this.m && (this.m.stop(), this.m = null);\n this.h && (this.h.release(), this.h = null);\n this.g = this.A = this.u = null;\n };\n oj.prototype.af = function () {\n this.o = !0;\n pj(this);\n };\n function pj(a) {\n if (0 != a.g.readyState) {\n if (a.g.seeking) {\n if (!a.j) return;\n } else a.j = !1;\n if (!a.g.paused || a.g.currentTime == a.i && (a.g.autoplay || a.g.currentTime != a.i)) {\n a.g.readyState != a.F && (a.F = a.g.readyState);\n var b;\n if (!(b = !a.h)) {\n b = a.h;\n var c = b.l,\n d = lj(c),\n e = c.g.currentTime,\n f = Date.now() / 1E3;\n if (b.g != e || b.s != d) b.m = f, b.g = e, b.s = d, b.h = !1;\n e = f - b.m;\n if (d = e >= b.u && d && !b.h) b.i(b.g, e), b.h = !0, b.g = c.g.currentTime, b.o++, b.j(new Q("stalldetected"));\n b = !d;\n }\n b && (b = a.g.currentTime, c = a.g.buffered, d = Oh(c, b, a.s.gapDetectionThreshold), null == d || 0 == d && !a.o || (e = c.start(d), e >= a.A.qb() || .001 > e - b || (0 != d && c.end(d - 1), a.g.currentTime = e, b == a.i && (a.i = e), a.C++, a.u(new Q("gapjumped")))));\n }\n }\n }\n ;\n function qj(a, b, c, d) {\n b == HTMLMediaElement.HAVE_NOTHING || a.readyState >
1= b ? d() : (b = rj.value().get(b), c.ja(a, b, d));\n }\n var rj = new Hf(function () {\n return new Map([[HTMLMediaElement.HAVE_METADATA, "loadedmetadata"], [HTMLMediaElement.HAVE_CURRENT_DATA, "loadeddata"], [HTMLMediaElement.HAVE_FUTURE_DATA, "canplay"], [HTMLMediaElement.HAVE_ENOUGH_DATA, "canplaythrough"]]);\n });\n function sj(a, b, c, d) {\n var e = this;\n this.g = a;\n this.m = b;\n this.s = c;\n this.l = null;\n this.j = function () {\n null == e.l && (e.l = d());\n return e.l;\n };\n this.o = !1;\n this.h = new Af();\n this.i = new tj(a);\n qj(this.g, HTMLMediaElement.HAVE_METADATA, this.h, function () {\n uj(e, e.j());\n });\n }\n sj.prototype.release = function () {\n this.h && (this.h.release(), this.h = null);\n null != this.i && (this.i.release(), this.i = null);\n this.m = function () {};\n this.g = null;\n };\n function vj(a) {\n return a.o ? a.g.currentTime : a.j();\n }\n function wj(a, b) {\n 0 < a.g.readyState ? xj(a.i, b) : qj(a.g, HTMLMediaElement.HAVE_METADATA, a.h, function () {\n uj(a, a.j());\n });\n }\n function uj(a, b) {\n .001 > Math.abs(a.g.currentTime - b) ? yj(a) : (a.h.ja(a.g, "seeking", function () {\n yj(a);\n }), xj(a.i, a.g.currentTime && 0 != a.g.currentTime ? a.g.currentTime : b));\n }\n function yj(a) {\n a.o = !0;\n a.h.D(a.g, "seeking", function () {\n return a.m();\n });\n a.s(a.g.currentTime);\n }\n function tj(a) {\n var b = this;\n this.h = a;\n this.m = 10;\n this.l = this.j = this.i = 0;\n this.g = new qd(function () {\n 0 >= b.i ? b.g.stop() : b.h.currentTime != b.j ? b.g.stop() : (b.h.currentTime = b.l, b.i--);\n });\n }\n tj.prototype.release = function () {\n this.g && (this.g.stop(), this.g = null);\n this.h = null;\n };\n function xj(a, b) {\n a.j = a.h.currentTime;\n a.l = b;\n a.i = a.m;\n a.h.currentTime = b;\n a.g.$a(.1);\n }\n ;\n function zj(a) {\n this.g = a;\n this.j = !1;\n this.h = null;\n this.i = new Af();\n }\n r = zj.prototype;\n r.ie = function () {\n function a() {\n null == b.h || 0 == b.h ? b.j = !0 : (b.i.ja(b.g, "seeking", function () {\n b.j = !0;\n }), b.g.currentTime = Math.max(0, b.g.currentTime + b.h));\n }\n var b = this;\n qj(this.g, HTMLMediaElement.HAVE_CURRENT_DATA, this.i, function () {\n a();\n });\n };\n r.release = function () {\n this.i && (this.i.release(), this.i = null);\n this.g = null;\n };\n r.je = function (a) {\n this.h = this.j ? this.h : a;\n };\n r.qd = function () {\n return (this.j ? this.g.currentTime : this.h) || 0;\n };\n r.Bf = function () {\n return 0;\n };\n r.Af = function () {\n return 0;\n };\n r.cg = function () {};\n function Aj(a, b, c, d, e, f) {\n var g = this;\n this.i = a;\n this.g = b.presentationTimeline;\n this.A = b.minBufferTime || 0;\n this.l = c;\n this.u = e;\n this.s = null;\n this.o = Bj(a, c, f);\n this.j = new oj(a, b.presentationTimeline, c, this.o, f);\n this.h = new sj(a, function () {\n a: {\n var h = g.j;\n h.j = !0;\n h.o = !1;\n var k = vj(g.h);\n h = Cj(g, k);\n if (.001 < Math.abs(h - k) && (k = Date.now() / 1E3, !g.s || g.s < k - 1)) {\n g.s = k;\n wj(g.h, h);\n h = void 0;\n break a;\n }\n g.u();\n h = void 0;\n }\n return h;\n }, function (h) {\n var k = g.j;\n k.g.seeking && !k.j && (k.j = !0, k.i = h);\n }, function () {\n var h = d;\n null == h ? h = Infinity > g.g.getDuration() ? g.g.hc() : g.g.qb() : 0 > h && (h = g.g.qb() + h);\n return Dj(g, Ej(g, h));\n });\n this.m = new qd(function () {\n if (0 != g.i.readyState && !g.i.paused) {\n var h = vj(g.h),\n k = g.g.hc(),\n l = g.g.qb();\n 3 > l - k && (k = l - 3);\n h < k && (h = Cj(g, h), g.i.currentTime = h);\n }\n });\n }\n r = Aj.prototype;\n r.ie = function () {\n this.m.$a(.25);\n };\n r.release = function () {\n this.h && (this.h.release(), this.h = null);\n this.j && (this.j.release(), this.j = null);\n this.m && (this.m.stop(), this.m = null);\n this.i = this.h = this.g = this.l = null;\n this.u = function () {};\n };\n r.je = function (a) {\n wj(this.h, a);\n };\n r.qd = function () {\n var a = vj(this.h);\n return 0 < this.i.readyState && !this.i.paused ? Ej(this, a) : a;\n };\n r.Bf = function () {\n return this.o ? this.o.o : 0;\n };\n r.Af = function () {\n return this.j.C;\n };\n r.cg = function () {\n this.j.af();\n };\n function Dj(a, b) {\n var c = a.g.getDuration();\n return b >= c ? c - a.l.durationBackoff : b;\n }\n function Cj(a, b) {\n var c = Math.max(a.A, a.l.rebufferingGoal),\n d = a.l.safeSeekOffset,\n e = a.g.hc(),\n f = a.g.qb(),\n g = a.g.getDuration();\n 3 > f - e && (e = f - 3);\n var h = a.g.Rc(c),\n k = a.g.Rc(d);\n c = a.g.Rc(c + d);\n return b >= g ? Dj(a, b) : b > f ? f : b < e ? Lh(a.i.buffered, k) ? k : c : b >= h || Lh(a.i.buffered, b) ? b : c;\n }\n function Ej(a, b) {\n var c = a.g.hc();\n if (b < c) return c;\n a = a.g.qb();\n return b > a ? a : b;\n }\n function Bj(a, b, c) {\n if (!b.stallEnabled) return null;\n var d = b.stallSkip;\n b = new kj(new nj(a), b.stallThreshold, c);\n mj(b, function () {\n d ? a.currentTime += d : (a.pause(), a.play());\n });\n return b;\n }\n ;\n function Fj(a) {\n this.g = a;\n this.m = null;\n this.j = 0;\n this.o = !1;\n }\n r = Fj.prototype;\n r.Ab = function () {\n return this.g.length;\n };\n r.release = function () {\n this.o || (this.g = [], this.m && this.m.stop(), this.m = null);\n };\n r.Ch = function () {\n this.o = !0;\n };\n function Gj(a, b) {\n a = t(a.g);\n for (var c = a.next(); !c.done; c = a.next()) b(c.value);\n }\n r.find = function (a) {\n for (var b = this.g.length - 1, c = b; 0 <= c; --c) {\n var d = this.g[c],\n e = c < b ? this.g[c + 1].startTime : d.endTime;\n if (a >= d.startTime && a < e) return c + this.j;\n }\n return this.g.length && a < this.g[0].startTime ? this.j : null;\n };\n r.get = function (a) {\n if (0 == this.g.length) return null;\n a -= this.j;\n return 0 > a || a >= this.g.length ? null : this.g[a];\n };\n r.offset = function (a) {\n if (!this.o) for (var b = t(this.g), c = b.next(); !c.done; c = b.next()) c.value.offset(a);\n };\n r.Qd = function (a) {\n if (!this.o && a.length) {\n var b = Math.round(1E3 * a[0].startTime) / 1E3;\n this.g = this.g.filter(function (c) {\n return Math.round(1E3 * c.startTime) / 1E3 < b;\n });\n this.g.push.apply(this.g, w(a));\n }\n };\n r.Wc = function (a, b) {\n var c = this;\n a = a.filter(function (d) {\n return d.endTime > b && (0 == c.g.length || d.endTime > c.g[0].startTime);\n });\n this.Qd(a);\n this.bb(b);\n };
1\n r.bb = function (a) {\n if (!this.o) {\n var b = this.g.length;\n this.g = this.g.filter(function (c) {\n return c.endTime > a;\n });\n this.j += b - this.g.length;\n }\n };\n r.bc = function (a, b, c) {\n c = void 0 === c ? !1 : c;\n if (!this.o) {\n for (; this.g.length;) if (this.g[this.g.length - 1].startTime >= b) this.g.pop();else break;\n for (; this.g.length;) if (this.g[0].endTime <= a) this.g.shift(), c || this.j++;else break;\n 0 != this.g.length && (a = this.g[this.g.length - 1], this.g[this.g.length - 1] = new S(a.startTime, b, a.A, a.Qa, a.wa, a.aa, a.timestampOffset, a.appendWindowStart, a.appendWindowEnd, a.g, a.tilesLayout, a.u, a.ca, a.status, a.aes128Key), this.g[this.g.length - 1].i = a.i);\n }\n };\n r.Yd = function (a, b) {\n var c = this;\n this.o || (this.m && this.m.stop(), this.m = new qd(function () {\n var d = b();\n d ? c.g.push.apply(c.g, w(d)) : (c.m.stop(), c.m = null);\n }), this.m.$a(a));\n };\n Fj.prototype[Symbol.iterator] = function () {\n return this.Nb(0);\n };\n Fj.prototype.Nb = function (a) {\n var b = this.find(a);\n if (null == b) return null;\n b--;\n var c = this.get(b + 1),\n d = -1;\n if (c && 0 < c.g.length) for (var e = c.g.length - 1; 0 <= e; --e) {\n var f = c.g[e];\n if (a >= f.startTime && a < f.endTime) {\n for (; e && !f.j;) e--, f = c.g[e];\n if (!f.j) return Ra("No independent partial segment found!"), null;\n b++;\n d = e - 1;\n break;\n }\n }\n return new Hj(this, b, d);\n };\n function Ij(a, b, c) {\n a = new S(a, a + b, function () {\n return c;\n }, 0, null, null, a, a, a + b);\n return new Fj([a]);\n }\n N("shaka.media.SegmentIndex", Fj);\n Fj.forSingleSegment = Ij;\n Fj.prototype.getIteratorForTime = Fj.prototype.Nb;\n Fj.prototype.updateEvery = Fj.prototype.Yd;\n Fj.prototype.fit = Fj.prototype.bc;\n Fj.prototype.evict = Fj.prototype.bb;\n Fj.prototype.mergeAndEvict = Fj.prototype.Wc;\n Fj.prototype.offset = Fj.prototype.offset;\n Fj.prototype.get = Fj.prototype.get;\n Fj.prototype.find = Fj.prototype.find;\n Fj.prototype.markImmutable = Fj.prototype.Ch;\n Fj.prototype.release = Fj.prototype.release;\n function Hj(a, b, c) {\n this.i = a;\n this.g = b;\n this.h = c;\n }\n Hj.prototype.Kg = function () {\n return this.g;\n };\n Hj.prototype.current = function () {\n var a = this.i.get(this.g);\n a && 0 < a.g.length && a.o && this.h >= a.g.length && (this.g++, this.h = 0, a = this.i.get(this.g));\n return a && 0 < a.g.length ? a.g[this.h] : a;\n };\n Hj.prototype.next = function () {\n var a = this.i.get(this.g);\n a && 0 < a.g.length ? (this.h++, a.o && this.h == a.g.length && (this.g++, this.h = 0)) : (this.g++, this.h = 0);\n a = this.current();\n return {\n value: a,\n done: !a\n };\n };\n N("shaka.media.SegmentIterator", Hj);\n Hj.prototype.next = Hj.prototype.next;\n Hj.prototype.current = Hj.prototype.current;\n Hj.prototype.currentPosition = Hj.prototype.Kg;\n function Jj() {\n Fj.call(this, []);\n this.h = [];\n }\n oa(Jj, Fj);\n r = Jj.prototype;\n r.clone = function () {\n var a = new Jj();\n a.h = this.h.slice();\n return a;\n };\n r.release = function () {\n for (var a = t(this.h), b = a.next(); !b.done; b = a.next()) b.value.release();\n this.h = [];\n };\n r.find = function (a) {\n for (var b = 0, c = t(this.h), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = d.find(a);\n if (null != e) return e + b;\n b += d.j + d.Ab();\n }\n return null;\n };\n r.get = function (a) {\n for (var b = 0, c = t(this.h), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = d.get(a - b);\n if (e) return e;\n b += d.j + d.Ab();\n }\n return null;\n };\n r.offset = function () {};\n r.Qd = function () {};\n r.bb = function () {};\n r.Wc = function () {};\n r.bc = function () {};\n r.Yd = function () {};\n N("shaka.media.MetaSegmentIndex", Jj);\n Jj.prototype.updateEvery = Jj.prototype.Yd;\n Jj.prototype.fit = Jj.prototype.bc;\n Jj.prototype.mergeAndEvict = Jj.prototype.Wc;\n Jj.prototype.evict = Jj.prototype.bb;\n Jj.prototype.merge = Jj.prototype.Qd;\n Jj.prototype.offset = Jj.prototype.offset;\n Jj.prototype.get = Jj.prototype.get;\n Jj.prototype.find = Jj.prototype.find;\n Jj.prototype.release = Jj.prototype.release;\n function Kj(a) {\n var b = this;\n this.g = a;\n this.h = this.g.Ed();\n this.i = new qd(function () {\n b.g.bg(.25 * b.h);\n });\n }\n Kj.prototype.release = function () {\n this.set(this.ec());\n this.i && (this.i.stop(), this.i = null);\n this.g = null;\n };\n Kj.prototype.set = function (a) {\n if (this.h != a) a: {\n this.h = a, this.i.stop();\n if (0 <= this.h) try {\n var b = this.h;\n this.g.Ed() != b && this.g.rf(b);\n break a;\n } catch (c) {}\n this.i.$a(.25);\n 0 != this.g.Ed() && this.g.rf(0);\n }\n };\n Kj.prototype.ec = function () {\n return this.g.ec();\n };\n function Lj(a) {\n var b = this;\n this.h = a;\n this.g = new Set();\n this.i = new qd(function () {\n Mj(b, !1);\n }).$a(.25);\n }\n Lj.prototype.release = function () {\n this.i.stop();\n for (var a = t(this.g), b = a.next(); !b.done; b = a.next()) b.value.release();\n this.g.clear();\n };\n function Mj(a, b) {\n for (var c = t(a.g), d = c.next(); !d.done; d = c.next()) d.value.j(a.h.currentTime, b);\n }\n ;\n function Nj(a) {\n jf.call(this);\n this.g = new Map();\n this.h = a;\n }\n oa(Nj, jf);\n Nj.prototype.release = function () {\n this.g.clear();\n jf.prototype.release.call(this);\n };\n function Oj(a, b) {\n var c = a.g.get(b);\n c || (c = {\n $c: [],\n If: null,\n contentType: b\n }, a.g.set(b, c));\n return c;\n }\n function Pj(a, b, c) {\n var d = Oj(a, b.contentType);\n Qj(a, d);\n a = {\n Ve: b,\n position: c\n };\n d = d.$c;\n b = d.findIndex(function (e) {\n return e.position >= c;\n });\n 0 <= b ? d.splice(b, d[b].position == c ? 1 : 0, a) : d.push(a);\n }\n Nj.prototype.j = function (a) {\n for (var b = t(this.g.values()), c = b.next(); !c.done; c = b.next()) {\n c = c.value;\n a: {\n var d = c.$c;\n for (var e = d.length - 1; 0 <= e;
1 e--) {\n var f = d[e];\n if (f.position <= a) {\n d = f.Ve;\n break a;\n }\n }\n d = null;\n }\n if (e = d) e = c.If, e = !(e === d || e && d && e.bandwidth == d.bandwidth && e.audioSamplingRate == d.audioSamplingRate && e.codecs == d.codecs && e.contentType == d.contentType && e.frameRate == d.frameRate && e.height == d.height && e.mimeType == d.mimeType && e.channelsCount == d.channelsCount && e.pixelAspectRatio == d.pixelAspectRatio && e.width == d.width);\n if (e) a: {\n e = a;\n f = d.contentType;\n if ((f = this.h()[f]) && 0 < f.length) {\n var g = f[f.length - 1].end;\n if (e >= f[0].start && e < g) {\n e = !0;\n break a;\n }\n }\n e = !1;\n }\n e && (c.If = d, JSON.stringify(d), c = new Q("qualitychange", new Map([["quality", d], ["position", a]])), this.dispatchEvent(c));\n }\n };\n function Qj(a, b) {\n if ((a = a.h()[b.contentType]) && 0 < a.length) {\n var c = a[0].start,\n d = a[a.length - 1].end,\n e = b.$c;\n b.$c = e.filter(function (f, g) {\n return f.position <= c && g + 1 < e.length && e[g + 1].position <= c || f.position >= d ? !1 : !0;\n });\n } else b.$c = [];\n }\n ;\n function Rj(a) {\n jf.call(this);\n var b = this;\n this.g = new Set();\n this.i = a;\n this.h = new qd(function () {\n for (var c = b.i(), d = t(b.g), e = d.next(); !e.done; e = d.next()) e = e.value, e.endTime < c.start && (b.g["delete"](e), e = new Q("regionremove", new Map([["region", e]])), b.dispatchEvent(e));\n }).$a(2);\n }\n oa(Rj, jf);\n Rj.prototype.release = function () {\n this.g.clear();\n this.h.stop();\n jf.prototype.release.call(this);\n };\n function Sj(a, b) {\n jf.call(this);\n var c = this;\n this.i = a;\n this.l = b;\n this.g = new Map();\n this.m = [{\n Yb: null,\n Xb: Tj,\n Qb: function Qb(d, e) {\n return Uj(c, "enter", d, e);\n }\n }, {\n Yb: Vj,\n Xb: Tj,\n Qb: function Qb(d, e) {\n return Uj(c, "enter", d, e);\n }\n }, {\n Yb: Wj,\n Xb: Tj,\n Qb: function Qb(d, e) {\n return Uj(c, "enter", d, e);\n }\n }, {\n Yb: Tj,\n Xb: Vj,\n Qb: function Qb(d, e) {\n return Uj(c, "exit", d, e);\n }\n }, {\n Yb: Tj,\n Xb: Wj,\n Qb: function Qb(d, e) {\n return Uj(c, "exit", d, e);\n }\n }, {\n Yb: Vj,\n Xb: Wj,\n Qb: function Qb(d, e) {\n return Uj(c, "skip", d, e);\n }\n }, {\n Yb: Wj,\n Xb: Vj,\n Qb: function Qb(d, e) {\n return Uj(c, "skip", d, e);\n }\n }];\n this.h = new Af();\n this.h.D(this.i, "regionremove", function (d) {\n c.g["delete"](d.region);\n });\n }\n oa(Sj, jf);\n Sj.prototype.release = function () {\n this.i = null;\n this.g.clear();\n this.h.release();\n this.h = null;\n jf.prototype.release.call(this);\n };\n Sj.prototype.j = function (a, b) {\n if (!this.l || 0 != a) {\n this.l = !1;\n for (var c = t(this.i.g), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = this.g.get(d),\n f = a < d.startTime ? Vj : a > d.endTime ? Wj : Tj;\n this.g.set(d, f);\n for (var g = t(this.m), h = g.next(); !h.done; h = g.next()) h = h.value, h.Yb == e && h.Xb == f && h.Qb(d, b);\n }\n }\n };\n function Uj(a, b, c, d) {\n b = new Q(b, new Map([["region", c], ["seeking", d]]));\n a.dispatchEvent(b);\n }\n var Vj = 1,\n Tj = 2,\n Wj = 3;\n function Xj(a, b, c) {\n this.i = a;\n this.h = b;\n this.j = 0;\n this.l = c;\n this.g = new Map();\n }\n function Yj(a, b, c) {\n c = void 0 === c ? !1 : c;\n if (a.h.segmentIndex) {\n var d = a.h.segmentIndex.Nb(Math.max(b.startTime, a.j));\n if (d) {\n var e = b;\n c && (e = d.next().value) && e.startTime == b.startTime && e.endTime == b.endTime && (e = null);\n for (; a.g.size < a.i && null != e;) {\n b = !0;\n e.l && null != e.wa && (b = !1);\n 2 == e.Pb() && (b = !1);\n b && !a.g.has(e) && (b = new Zj(a.l), ak(b, e, a.h), a.g.set(e, b));\n a.j = e.startTime;\n if (a.h.fastSwitching && e.Zc && e.Md) break;\n e = d.next().value;\n }\n }\n }\n }\n function bk(a, b) {\n if (a.h.segmentIndex && a.g.size < a.i && !a.g.has(b)) {\n var c = new Zj(a.l);\n ak(c, b, a.h);\n a.g.set(b, c);\n }\n }\n function ck(a) {\n if (0 !== a.g.size) {\n for (var b = t(a.g.keys()), c = b.next(); !c.done; c = b.next()) (c = c.value) && dk(a, c);\n a.j = 0;\n }\n }\n function ek(a, b) {\n b && b !== a.h && (ck(a), a.h = b);\n }\n function dk(a, b) {\n var c = a.g.get(b);\n a.g["delete"](b);\n c && c.abort();\n }\n function Zj(a) {\n this.i = a;\n this.g = this.h = null;\n }\n function ak(a, b, c) {\n var d = new Uint8Array(0);\n a.g = a.i(b, c, function (e) {\n return K(function (f) {\n if (1 == f.g) return 0 < d.byteLength ? d = lg(d, e) : d = e, a.h ? C(f, a.h(d), 3) : f.B(0);\n d = new Uint8Array(0);\n E(f);\n });\n });\n }\n Zj.prototype.abort = function () {\n this.g && this.g.abort();\n };\n function fk(a, b, c, d, e) {\n a = qf(a, d, e);\n if (0 != b || null != c) a.headers.Range = c ? "bytes=" + b + "-" + c : "bytes=" + b + "-";\n return a;\n }\n ;\n function gk(a, b) {\n var c = this;\n this.g = b;\n this.m = a;\n this.h = null;\n this.u = 1;\n this.o = this.j = null;
1\n this.F = 0;\n this.C = !1;\n this.i = new Map();\n this.A = !1;\n this.G = null;\n this.s = !1;\n this.l = new yf(function () {\n return hk(c);\n });\n this.H = Date.now() / 1E3;\n }\n r = gk.prototype;\n r.destroy = function () {\n return this.l.destroy();\n };\n function hk(a) {\n var b, c, d, e;\n return K(function (f) {\n if (1 == f.g) {\n b = [];\n c = t(a.i.values());\n for (d = c.next(); !d.done; d = c.next()) e = d.value, ik(e), b.push(jk(e));\n return C(f, Promise.all(b), 2);\n }\n a.i.clear();\n a.g = null;\n a.m = null;\n a.h = null;\n E(f);\n });\n }\n r.configure = function (a) {\n this.h = a;\n this.G = new We({\n maxAttempts: Math.max(a.retryParameters.maxAttempts, 2),\n baseDelay: a.retryParameters.baseDelay,\n backoffFactor: a.retryParameters.backoffFactor,\n fuzzFactor: a.retryParameters.fuzzFactor,\n timeout: 0,\n stallTimeout: 0,\n connectionTimeout: 0\n }, !0);\n for (var b = t(this.i.keys()), c = b.next(); !c.done; c = b.next()) if (c = this.i.get(c.value), c.ra) {\n var d = c.ra,\n e = a.segmentPrefetchLimit;\n d.i = e;\n for (var f = Array.from(d.g.keys()); f.length > e;) {\n var g = f.pop();\n g && dk(d, g);\n }\n 0 < a.segmentPrefetchLimit || (c.ra = null);\n } else 0 < a.segmentPrefetchLimit && (c.ra = kk(this, c.stream));\n };\n r.start = function () {\n var a = this;\n return K(function (b) {\n if (1 == b.g) return C(b, lk(a), 2);\n zf(a.l);\n a.A = !0;\n E(b);\n });\n };\n function mk(a, b) {\n var c, d, e, f, g, h, k;\n K(function (l) {\n switch (l.g) {\n case 1:\n return c = Ec, a.F++, d = a.F, sa(l, 2), C(l, Zi(a.g.T, c.na), 4);\n case 4:\n ua(l, 3);\n break;\n case 2:\n if (e = va(l), a.g) a.g.onError(e);\n case 3:\n f = Gc(b.mimeType, b.codecs), Ii(a.g.T, f, a.m.sequenceMode, b.external), g = a.g.T.F, (h = g.isTextVisible() || a.h.alwaysStreamText) && a.F == d && (k = nk(a, b), a.i.set(c.na, k), ok(a, k, 0)), E(l);\n }\n });\n }\n function pk(a) {\n var b = a.i.get(Dc);\n b && (ik(b), jk(b)["catch"](function () {}), a.i["delete"](Dc));\n a.o = null;\n }\n function qk(a, b) {\n var c = a.i.get("video");\n if (c) {\n var d = c.stream;\n if (d) if (b) (b = d.trickModeVideo) && !c.Ub && (rk(a, b, !1, 0, !1), c.Ub = d);else if (d = c.Ub) c.Ub = null, rk(a, d, !0, 0, !1);\n }\n }\n function sk(a, b, c, d, e, f) {\n c = void 0 === c ? !1 : c;\n d = void 0 === d ? 0 : d;\n e = void 0 === e ? !1 : e;\n f = void 0 === f ? !1 : f;\n a.j = b;\n a.A && (b.video && rk(a, b.video, c, d, e, f), b.audio && rk(a, b.audio, c, d, e, f));\n }\n function tk(a, b) {\n K(function (c) {\n if (1 == c.g) return a.o = b, a.A ? b.segmentIndex ? c.B(2) : C(c, b.createSegmentIndex(), 2) : c["return"]();\n rk(a, b, !0, 0, !1);\n E(c);\n });\n }\n function rk(a, b, c, d, e, f) {\n var g = a.i.get(b.type);\n g || b.type != Dc ? g && (g.Ub && (b.trickModeVideo ? (g.Ub = b, b = b.trickModeVideo) : g.Ub = null), g.stream != b || e) && (g.ra && ek(g.ra, b), b.type == Dc && (e = Gc(b.mimeType, b.codecs), Ii(a.g.T, e, a.m.sequenceMode, b.external)), g.stream.closeSegmentIndex && g.stream.closeSegmentIndex(), g.stream = b, g.X = null, g.Cf = !!f, c && (g.Lc ? g.Zd = !0 : g.Da ? (g.wb = !0, g.vd = d, g.Zd = !0) : (ik(g), uk(a, g, !0, d)["catch"](function (h) {\n if (a.g) a.g.onError(h);\n }))), vk(a, g)["catch"](function (h) {\n if (a.g) a.g.onError(h);\n })) : mk(a, b);\n }\n function vk(a, b) {\n var c, d;\n return K(function (e) {\n if (1 == e.g) {\n if (!b.Na) return e["return"]();\n c = b.stream;\n d = b.Na;\n return c.segmentIndex ? e.B(2) : C(e, c.createSegmentIndex(), 2);\n }\n if (b.Na != d || b.stream != c) return e["return"]();\n var f = a.g.Dd();\n var g = Oi(a.g.T, b.type),\n h = b.stream.segmentIndex.find(b.Ca ? b.Ca.endTime : f),\n k = null == h ? null : b.stream.segmentIndex.get(h);\n h = k ? k.wa ? k.wa - k.Qa : null : null;\n k && !h && (h = (k.endTime - k.getStartTime()) * (b.stream.bandwidth || 0) / 8);\n h ? ((k = k.aa) && (h += (k.wa ? k.wa - k.Qa : null) || 0), k = a.g.getBandwidthEstimate(), f = 8 * h / k < (g || 0) - f - Math.max(a.m.minBufferTime || 0, a.h.rebufferingGoal) || b.Na.h.g > h ? !0 : !1) : f = !1;\n f && b.Na.abort();\n E(e);\n });\n }\n r.dd = function () {\n if (this.g) for (var a = this.g.Dd(), b = t(this.i.keys()), c = b.next(); !c.done; c = b.next()) {\n var d = c.value;\n c = this.i.get(d);\n var e = null;\n c.X && (e = c.X.current());\n if (!e || e.startTime > a || e.endTime < a) c.X = null;\n e = this.g.T;\n e.A ? e = !1 : d == Dc ? (e = e.h, e = null == e.g || null == e.h ? !1 : a >= e.g && a < e.h) : (e = Ni(e, d), e = Lh(e, a));\n e || ((null != Oi(this.g.T, d) || c.Da) && wk(this, c), c.Na && (c.Na.abort(), c.Na = null), d === Dc && (d = this.g.T, d.H && d.H.h()), c.dd = !0);\n }\n };\n function wk(a, b) {\n b.Lc || b.wb || (b.Da ? (b.wb = !0, b.vd = 0) : null == Mi(a.g.T, b.type) ? null == b.ib && ok(a, b, 0) : (ik(b), uk(a, b, !1, 0)["catch"](function (c) {\n if (a.g) a.g.onError(c);\n })));\n }\n function lk(a) {\n var b, c, d, e, f, g, h, k, l;\n return K(function (m) {\n if (1 == m.g) {\n b = Ec;\n if (!a.j) throw new O(2, 5, 5006);\n c = new Map();\n d = new Set();\n a.j.audio && (c.set(b.P, a.j.audio), d.add(a.j.audio));\n a.j.video && (c.set(b.$, a.j.video), d.add(a.j.video));\n a.o && (c.set(b.na, a.o), d.add(a.o));\n e = a.g.T;\n return C(m, e.init(c, a.m.sequenceMode, a.m.type, a.m.ignoreManifestTimestampsInSegmentsMode), 2);\n }\n zf(a.l);\n a.updateDuration();\n f = t(c.keys());\n for (g = f.next(); !g.done; g = f.next()) h = g.value, k = c.get(h), a.i.has(h) || (l = nk(a, k), a.i.set(h, l), ok(a, l, 0));\n E(m);\n });\n }\n function nk(a, b) {\n return {\n stream: b,\n type: b.type,\n X: null,\n ra: kk(a, b),\n Ca: null,\n Db: null,\n Re: null,\n Pe: null,\n Oe: null,\n Ub: null,\n endOfStream
1: !1,\n Da: !1,\n ib: null,\n wb: !1,\n vd: 0,\n Zd: !1,\n Lc: !1,\n dd: !0,\n Xe: !1,\n ff: !1,\n Tc: !1,\n Na: null\n };\n }\n function kk(a, b) {\n return "video" !== b.type && "audio" !== b.type ? null : 0 < a.h.segmentPrefetchLimit ? new Xj(a.h.segmentPrefetchLimit, b, function (c, d, e) {\n return xk(a, c, d, e);\n }) : null;\n }\n r.updateDuration = function () {\n var a = this.m.presentationTimeline.getDuration();\n Infinity > a ? this.g.T.Pa(a) : this.g.T.Pa(Math.pow(2, 32));\n };\n function yk(a, b) {\n var c, d, e, f, g;\n return K(function (h) {\n switch (h.g) {\n case 1:\n zf(a.l);\n if (b.Da || null == b.ib || b.Lc) return h["return"]();\n b.ib = null;\n if (!b.wb) {\n h.B(2);\n break;\n }\n return C(h, uk(a, b, b.Zd, b.vd), 3);\n case 3:\n return h["return"]();\n case 2:\n if (b.stream.segmentIndex) {\n h.B(4);\n break;\n }\n c = b.stream;\n return C(h, b.stream.createSegmentIndex(), 5);\n case 5:\n if (c != b.stream) return c.closeSegmentIndex && c.closeSegmentIndex(), b.Da || b.ib || ok(a, b, 0), h["return"]();\n case 4:\n sa(h, 6);\n d = zk(a, b);\n null != d && (ok(a, b, d), b.Tc = !1);\n ua(h, 7);\n break;\n case 6:\n return e = va(h), C(h, Ak(a, b, e), 8);\n case 8:\n return h["return"]();\n case 7:\n f = Array.from(a.i.values());\n if (!a.A || !f.every(function (k) {\n return k.endOfStream;\n })) {\n h.B(0);\n break;\n }\n return C(h, a.g.T.endOfStream(), 10);\n case 10:\n zf(a.l), g = a.g.T.getDuration(), 0 != g && g < a.m.presentationTimeline.getDuration() && a.m.presentationTimeline.Pa(g), E(h);\n }\n });\n }\n function zk(a, b) {\n if (Bk(b)) return Wi(a.g.T, b.stream.originalId || ""), null;\n b.type == Dc && Xi(a.g.T);\n if (!a.g.T.ea && b.type != Dc) return a.h.updateIntervalSeconds / 2;\n var c = a.g.Dd(),\n d = b.Ca ? b.Ca.endTime : c,\n e = Pi(a.g.T, b.type, c),\n f = Math.max(1, Math.max(a.m.minBufferTime || 0, a.h.rebufferingGoal, a.h.bufferingGoal) * a.u),\n g = a.m.presentationTimeline.getDuration() - d,\n h = Oi(a.g.T, b.type);\n if (1E-6 > g && h) return b.endOfStream = !0, "video" == b.type && (a = a.i.get(Dc)) && Bk(a) && (a.endOfStream = !0), null;\n b.endOfStream = !1;\n if (e >= f) return a.h.updateIntervalSeconds / 2;\n e = Dk(a, b, c, h);\n if (!e) return a.h.updateIntervalSeconds;\n f = Infinity;\n g = Array.from(a.i.values());\n g = t(g);\n for (h = g.next(); !h.done; h = g.next()) h = h.value, Bk(h) || h.X && !h.X.current() || (f = Math.min(f, h.Ca ? h.Ca.endTime : c));\n if (d >= f + a.m.presentationTimeline.g) return a.h.updateIntervalSeconds;\n b.ra && b.X && (d = e.aa, !d || b.Ca && Hh(d, b.Db) || bk(b.ra, d), Yj(b.ra, e));\n Ek(a, b, c, e)["catch"](function () {});\n return null;\n }\n function Dk(a, b, c, d) {\n if (b.X) return b.X.current();\n if (b.Ca || d) return c = b.Ca ? b.Ca.endTime : d, b.Xe = !0, b.X = b.stream.segmentIndex.Nb(c), b.X && b.X.next().value;\n a = a.h.inaccurateManifestTolerance;\n d = Math.max(c - a, 0);\n var e = null;\n a && (b.X = b.stream.segmentIndex.Nb(d), e = b.X && b.X.next().value);\n e || (b.X = b.stream.segmentIndex.Nb(c), e = b.X && b.X.next().value);\n return e;\n }\n function Ek(a, b, c, d) {\n var e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B;\n return K(function (A) {\n switch (A.g) {\n case 1:\n e = Ec;\n f = b.stream;\n g = b.X;\n b.Da = !0;\n sa(A, 2);\n if (2 == d.Pb()) throw new O(1, 1, 1011);\n return C(A, Fk(a, b, d), 4);\n case 4:\n zf(a.l);\n if (a.s) return A["return"]();\n h = "video/mp4" == f.mimeType || "audio/mp4" == f.mimeType;\n k = window.ReadableStream;\n if (a.h.lowLatencyMode && k && h && ("HLS" != a.m.type || d.m)) return n = new Uint8Array(0), p = q = !1, v = function v(D) {\n var F, J, G, H;\n return K(function (I) {\n switch (I.g) {\n case 1:\n if (q) return I["return"]();\n p = !0;\n zf(a.l);\n if (a.s) return I["return"]();\n sa(I, 2);\n n = Gk(n, D);\n F = !1;\n J = 0;\n new Wf().box("mdat", function (L) {\n J = L.size + L.start;\n F = !0;\n }).parse(n, !1, !0);\n if (!F) {\n I.B(4);\n break;\n }\n G = n.subarray(0, J);\n n = n.subarray(J);\n return C(I, Hk(a, b, c, f, d, G, !0), 5);\n case 5:\n b.ra && b.X && Yj(b.ra, d, !0);\n case 4:\n ua(I, 0);\n break;\n case 2:\n u = H = va(I), E(I);\n }\n });\n }, C(A, Ik(a, b, d, v), 9);\n l = Ik(a, b, d);\n return C(A, l, 7);\n case 7:\n m = A.h;\n zf(a.l);\n if (a.s) return A["return"]();\n zf(a.l);\n return b.wb ? (b.Da = !1, ok(a, b, 0), A["return"]()) : C(A, Hk(a, b, c, f, d, m), 6);\n case 9:\n x = A.h;\n if (u) throw u;\n if (p) {\n A.B(10);\n break;\n }\n q = !0;\n zf(a.l);\n return a.s ? A["return"]() : b.wb ? (b.Da = !1, ok(a, b, 0), A["return"]()) : C(A, Hk(a, b, c, f, d, x), 10);\n case 10:\n b.ra && b.X && Yj(b.ra, d, !0);\n case 6:\n zf(a.l);\n if (a.s) return A["return"]();\n b.Ca = d;\n g.next();\n b.Da = !1;\n b.ff = !1;\n z = a.g.T.pb();\n y = z[b.type];\n Xa(JSON.stringify(y));\n b.wb || a.g.af(d, b.stream);\n ok(a, b, 0);\n ua(A, 0);\n break;\n case 2:\n B = va(A);\n zf(a.l, B);\n if (a.s) return A["return"]();\n b.Da = !1;\n if (7001 == B.code) b.Da = !1, ik(b), ok(a, b, 0), A.B(0);else if (b.type == e.na && a.h.ignoreTextStreamFailures) a.i["delete"](e.na), A.B(0);else if (3017 == B.code) Jk(a, b, B), A.B(0);else return b.Tc = !0, B.severity = 2, C(A, Ak(a, b, B), 0);\n }\n });\n }\n function Kk(a, b, c) {\n var d, e, f, g;\n return K(function (h) {\n if (1 == h.g) return d = b, d.cryptoKey ? h.B(2) : C(h, d.fetchKey(), 3);\n e = d.iv;\n if (!e) for (e = hb(new ArrayBuffer(16)), f = d.firstMediaSequenceNumber + c, g = e.byteLength - 1; 0 <= g; g--) e[g] = f & 255, f >>= 8;\n return h["return"](window.crypto.subtle.decrypt({\n name: "AES-CBC",\n iv: e\n }, d.cryptoKey, a));\n });\n }\n function Gk(a, b) {\n var c = new Uint8Array(a.length + b.length);\n c.set(a);\n c.set(b, a.length);\n return c;\n }\n function Jk(a, b, c) {\n if (!Array.from(a.i.values()).some(function (e) {\n return e != b && e.ff;\n })) {\n if (0 < a.h.maxDisabledTime && a.g.wd(b.stream, a.h.maxDisabledTime)) return;\n var d = Math.round(100 * a.u);\n if (20 < d) a.u -= .2;else if (4 < d) a.u -= .04;else {\n b.Tc = !0;\n a.s = !0;\n a.g.onError(c);\n return;\n }\n b.ff = !0;\n }\n ok(a, b, 4);\n }\n function Fk(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v;\n return K(function (x) {\n if (1 == x.g) {\n d = Ec;\n e = [];\n f = Math.max(0, c.appendWindowStart - .1);\n g = c.appendWindowEnd + .01;\n h = Mc(b.stream.codecs);\n k = Nc(b.stream.mimeType);\n l = c.timestampOffset;\n if (l == b.Re && f == b.Pe && g == b.Oe && h == b.Qe && k == b.Yf) return x.B(2);\n if (m = b.Qe && b.Yf && ij(a.g.T, b.type, b.stream)) n = null, b.type === d.$ ? n = a.i.get(d.P) : b.type === d.P && (n = a.i.get(d.$)), n && (n.Db = null, wk(a, n), jk(n)["catch"](function () {}));\n q = function q() {\n var z, y, B, A;\n return K(function (D) {\n if (1 == D.g) return z = new Map(), a.j.audio && z.set(d.P, a.j.audio), a.j.video && z.set(d.$, a.j.video), sa(D, 2), b.Pe = f, b.Oe = g, b.Qe = h, b.Yf = k, b.Re = l, y = a.m.sequenceMode || "HLS" == a.m.type, C(D, $i(a.g.T, b.type, l, f, g, y, c.mimeType || b.stream.mimeType, c.codecs || b.stream.codecs, z), 4);\n if (2 != D.g) return m && (B = null, b.type === d.$ ? B = a.i.get(d.P) : b.type === d.P && (B = a.i.get(d.$)), B && (B.wb = !1, B.Da = !1, wk(a, B))), ua(D, 0);\n A = va(D);\n b.Pe = null;\n b.Oe = null;\n b.Qe = null;\n b.Re = null;\n throw A;\n });\n };\n return C(x, q(), 2);\n }\n Hh(c.aa, b.Db) || (b.Db = c.aa, c.j && c.aa && (p = Ik(a, b, c.aa), u = function u() {\n var z, y, B, A, D, F;\n return K(function (J) {\n switch (J.g) {\n case 1:\n return sa(J, 2), C(J, p, 4);\n case 4:\n return z = J.h, zf(a.l), y = null, B = new Map(), A = new Wf(), A.box("moov", ag).box("trak", ag).box("mdia", ag).O("mdhd", function (G) {\n y = Yh(G.reader, G.version).timescale;\n }).box("hdlr", function (G) {\n G = G.reader;\n G.skip(8);\n G = G.ub(4);\n var H = String.fromCharCode(G[0]);\n H += String.fromCharCode(G[1]);\n H += String.fromCharCode(G[2]);\n H += String.fromCharCode(G[3]);\n switch (H) {\n case "soun":\n B.set(d.P, y);\n break;\n case "vide":\n B.set(d.$, y);\n }\n y = null;\n }).parse(z), B.has(b.type) ? c.aa.timescale = B.get(b.type) : null != y && (c.aa.timescale = y), D = b.stream.closedCaptions && 0 < b.stream.closedCaptions.size, C(J, a.g.Ef(b.type, z), 5);\n case 5:\n return C(J, Ri(a.g.T, b.type, z, null, b.stream, D), 6);\n case 6:\n ua(J, 0);\n break;\n case 2:\n throw F = va(J), b.Db = null, F;\n }\n });\n }, a.g.Eh(c.startTime, c.aa), e.push(u())));\n a.m.sequenceMode && (v = b.Ca ? b.Ca.i : null, c.i != v || b.Xe) && (b.Xe = !1, e.push(bj(a.g.T, b.type, c.startTime)));\n return C(x, Promise.all(e), 0);\n });\n }\n function Hk(a, b, c, d, e, f, g) {\n g = void 0 === g ? !1 : g;\n var h, k, l, m, n, q;\n return K(function (p) {\n switch (p.g) {\n case 1:\n h = d.closedCaptions && 0 < d.closedCaptions.size;\n l = null != d.emsgSchemeIdUris && 0 < d.emsgSchemeIdUris.length || a.h.dispatchAllEmsgBoxes;\n m = a.h.parsePrftBox && !a.C;\n if (l || m) k = new Wf();\n l && k.O("emsg", function (u) {\n var v = d.emsgSchemeIdUris;\n if (0 === u.version) {\n var x = u.reader.ad();\n var z = u.reader.ad();\n var y = u.reader.L();\n var B = u.reader.L();\n var A = u.reader.L();\n var D = u.reader.L();\n var F = e.startTime + B / y;\n } else y = u.reader.L(), F = u.reader.oc() / y + e.timestampOffset, B = F - e.startTime, A = u.reader.L(), D = u.reader.L(), x = u.reader.ad(), z = u.reader.ad();\n u = u.reader.ub(u.reader.getLength() - u.reader.qa());\n if (v && v.includes(x) || a.h.dispatchAllEmsgBoxes) "urn:mpeg:dash:event:2012" == x ? a.g.Fh() : (v = new Map().set("detail", {\n startTime: F,\n endTime: F + A / y,\n schemeIdUri: x,\n value: z,\n timescale: y,\n presentationTimeDelta: B,\n eventDuration: A,\n id: D,\n messageData: u\n }), v = new Q("emsg", v), v.cancelable = !0, a.g.onEvent(v), v.defaultPrevented || "https://aomedia.org/emsg/ID3" != x && "https://developer.apple.com/streaming/emsg-id3"
1!= x || (x = Uh(u), x.length && e && a.g.Gh([{\n cueTime: e.startTime,\n data: u,\n frames: x,\n dts: e.startTime,\n pts: e.startTime\n }], 0, e.endTime)));\n });\n m && k.O("prft", function (u) {\n if (!a.C && e.aa.timescale) {\n var v = u.reader,\n x = u.version;\n v.L();\n u = v.L();\n var z = v.L();\n u = 1E3 * u + z / Math.pow(2, 32) * 1E3;\n 0 === x ? v = v.L() : (x = v.L(), v = v.L(), v = x * Math.pow(2, 32) + v);\n u = new Date(new Date(Date.UTC(1900, 0, 1, 0, 0, 0)).getTime() + u).getTime();\n v = new Map().set("detail", {\n wallClockTime: u,\n programStartDate: new Date(u - v / e.aa.timescale * 1E3)\n });\n v = new Q("prft", v);\n a.g.onEvent(v);\n a.C = !0;\n }\n });\n (l || m) && k.parse(f);\n return C(p, Lk(a, b, c), 2);\n case 2:\n return zf(a.l), n = b.dd, b.dd = !1, q = b.Cf, b.Cf = !1, C(p, a.g.Ef(b.type, f), 3);\n case 3:\n return C(p, Ri(a.g.T, b.type, f, e, d, h, n, q, g), 4);\n case 4:\n zf(a.l), E(p);\n }\n });\n }\n function Lk(a, b, c) {\n var d, e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n d = Math.max(a.h.bufferBehind, a.m.presentationTimeline.g);\n e = Mi(a.g.T, b.type);\n if (null == e) return h["return"]();\n f = c - e;\n g = f - d;\n return 1 >= g ? h["return"]() : C(h, a.g.T.remove(b.type, e, e + g), 2);\n }\n zf(a.l);\n E(h);\n });\n }\n function Bk(a) {\n return a && a.type == Dc && ("application/cea-608" == a.stream.mimeType || "application/cea-708" == a.stream.mimeType);\n }\n function Ik(a, b, c, d) {\n var e, f, g, h, k;\n return K(function (l) {\n switch (l.g) {\n case 1:\n if (c instanceof Gh && (e = c.g)) return l["return"](e);\n f = null;\n if (b.ra) {\n var m = b.ra;\n if (m.g.has(c)) {\n var n = m.g.get(c);\n d && (n.h = d);\n m.g["delete"](c);\n f = n.g;\n } else f = null;\n }\n f || (f = xk(a, c, b.stream, d));\n g = 0;\n b.X && (g = b.X.g);\n b.Na = f;\n return C(l, f.promise, 2);\n case 2:\n h = l.h;\n b.Na = null;\n k = h.data;\n if (!c.aes128Key) {\n l.B(3);\n break;\n }\n return C(l, Kk(k, c.aes128Key, g), 4);\n case 4:\n k = l.h;\n case 3:\n return l["return"](k);\n }\n });\n }\n function xk(a, b, c, d) {\n var e = b instanceof S ? b : void 0,\n f = e ? 1 : 0;\n b = fk(b.Z(), b.Qa, b.wa, a.h.retryParameters, d);\n return a.g.Tb.request(wf, b, {\n type: f,\n stream: c,\n segment: e\n });\n }\n function uk(a, b, c, d) {\n var e, f;\n return K(function (g) {\n if (1 == g.g) return b.wb = !1, b.Zd = !1, b.vd = 0, b.Lc = !0, b.Ca = null, b.Db = null, b.X = null, b.ra && ck(b.ra), d ? (e = a.g.Dd(), f = a.g.T.getDuration(), C(g, a.g.T.remove(b.type, e + d, f), 3)) : C(g, Zi(a.g.T, b.type), 4);\n if (3 != g.g) return zf(a.l), c ? C(g, a.g.T.flush(b.type), 3) : g.B(3);\n zf(a.l);\n b.Lc = !1;\n b.endOfStream = !1;\n b.Da || b.ib || ok(a, b, 0);\n E(g);\n });\n }\n function ok(a, b, c) {\n var d = b.type;\n if (d != Dc || a.i.has(d)) b.ib = new pd(function () {\n var e;\n return K(function (f) {\n if (1 == f.g) return sa(f, 2), C(f, yk(a, b), 4);\n if (2 != f.g) return ua(f, 0);\n e = va(f);\n if (a.g) a.g.onError(e);\n E(f);\n });\n }).U(c);\n }\n function ik(a) {\n null != a.ib && (a.ib.stop(), a.ib = null);\n }\n function jk(a) {\n return K(function (b) {\n return a.Na ? C(b, a.Na.abort(), 0) : b.B(0);\n });\n }\n function Ak(a, b, c) {\n var d;\n return K(function (e) {\n if (1 == e.g) return C(e, Ye(a.G), 2);\n zf(a.l);\n d = 0 === a.h.maxDisabledTime && 1011 == c.code ? 1 : a.h.maxDisabledTime;\n 1 === c.category && 0 < d && (c.handled = a.g.wd(b.stream, d), c.handled && (c.severity = 1));\n a.g.onError(c);\n c.handled || a.h.failureCallback(c);\n E(e);\n });\n }\n function Mk(a) {\n var b, c, d, e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n b = Date.now() / 1E3;\n c = a.h.minTimeBetweenRecoveries;\n if (!a.h.allowMediaSourceRecoveries || b - a.H < c) return h["return"](!1);\n a.H = b;\n d = Ec;\n if (e = a.i.get(d.P)) e.Db = null, wk(a, e), jk(e)["catch"](function () {});\n if (f = a.i.get(d.$)) f.Db = null, wk(a, f), jk(f)["catch"](function () {});\n g = new Map();\n a.j.audio && g.set(d.P, a.j.audio);\n a.j.video && g.set(d.$, a.j.video);\n return C(h, hj(a.g.T, g), 2);\n }\n return h["return"](!0);\n });\n }\n ;\n function Nk(a, b, c) {\n var d, e, f, g, h, k, l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n var n = new fc(a).Ga.split("/").pop().split(".");\n d = 1 == n.length ? "" : n.pop().toLowerCase();\n if (e = Ok[d]) return m["return"](e);\n f = 0;\n g = qf([a], c);\n sa(m, 2);\n g.method = "HEAD";\n return C(m, b.request(f, g).promise, 4);\n case 4:\n h = m.h;\n e = h.headers["content-type"];\n ua(m, 3);\n break;\n case 2:\n k = va(m);\n if (!k || 1002 != k.code && 1001 != k.code) {\n m.B(3);\n break;\n }\n g.method = "GET";\n return C(m, b.request(f, g).promise, 6);\n case 6:\n l = m.h, e = l.headers["content-type"];\n case 3:\n return m["return"](e ? e.toLowerCase().split(";").shift() : "");\n }\n });\n }\n var Ok = {\n mp4: "video/mp4",\n m4v: "video/mp4",\n m4a: "audio/mp4",\n webm: "video/webm",\n weba: "audio/webm",\n mkv: "video/webm",\n ts: "video/mp2t",\n ogv: "video/ogg",\n ogg: "audio/ogg",\n mpg: "video/mpeg",\n mpeg: "video/mpeg",\n m3u8: "application/x-mpegurl",\n mpd: "application/d
1ash+xml",\n ism: "application/vnd.ms-sstr+xml",\n mp3: "audio/mpeg",\n aac: "audio/aac",\n flac: "audio/flac",\n wav: "audio/wav",\n sbv: "text/x-subviewer",\n srt: "text/srt",\n vtt: "text/vtt",\n webvtt: "text/vtt",\n ttml: "application/ttml+xml",\n lrc: "application/x-subtitle-lrc",\n ssa: "text/x-ssa",\n ass: "text/x-ssa"\n };\n function Pk(a, b) {\n if (a.lineBreak) return "\\n";\n if (a.nestedCues.length) return a.nestedCues.map(function (g) {\n return Pk(g, a);\n }).join("");\n var c = [],\n d = 700 <= a.fontWeight,\n e = "italic" == a.fontStyle,\n f = a.textDecoration.includes("underline");\n d && c.push(["b"]);\n e && c.push(["i"]);\n f && c.push(["u"]);\n e = a.color;\n "" == e && b && (e = b.color);\n d = "";\n (e = Qk(e)) && (d += "." + e);\n e = a.backgroundColor;\n "" == e && b && (e = b.backgroundColor);\n (b = Qk(e)) && (d += ".bg_" + b);\n d && c.push(["c", d]);\n return c.reduceRight(function (g, h) {\n var k = t(h);\n h = k.next().value;\n k = k.next().value;\n return "<" + h + (void 0 === k ? "" : k) + ">" + g + "</" + h + ">";\n }, a.payload);\n }\n function Qk(a) {\n a = a.toLowerCase();\n var b = a.replace(/\\s/g, "").match(/^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i);\n b ? a = "#" + (parseInt(b[1], 10) | 256).toString(16).slice(1) + (parseInt(b[2], 10) | 256).toString(16).slice(1) + (parseInt(b[3], 10) | 256).toString(16).slice(1) : a.startsWith("#") && 7 < a.length && (a = a.slice(0, 7));\n switch (a) {\n case "white":\n case "#fff":\n case "#ffffff":\n return "white";\n case "lime":\n case "#0f0":\n case "#00ff00":\n return "lime";\n case "cyan":\n case "#0ff":\n case "#00ffff":\n return "cyan";\n case "red":\n case "#f00":\n case "#ff0000":\n return "red";\n case "yellow":\n case "#ff0":\n case "#ffff00":\n return "yellow";\n case "magenta":\n case "#f0f":\n case "#ff00ff":\n return "magenta";\n case "blue":\n case "#00f":\n case "#0000ff":\n return "blue";\n case "black":\n case "#000":\n case "#000000":\n return "black";\n }\n return null;\n }\n function Rk(a, b) {\n var c = [];\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) if (d = d.value, d.isContainer) c.push.apply(c, w(Rk(d.nestedCues, d)));else {\n var e = d.clone();\n e.nestedCues = [];\n e.payload = Pk(d, b);\n c.push(e);\n }\n return c;\n }\n ;\n function Sk(a, b) {\n this.g = null;\n for (var c = t(Array.from(a.textTracks)), d = c.next(); !d.done; d = c.next()) d = d.value, d.mode = "disabled", d.label == b && (this.g = d);\n this.g || (this.g = a.addTextTrack("subtitles", b));\n this.g.mode = "hidden";\n }\n r = Sk.prototype;\n r.remove = function (a, b) {\n if (!this.g) return !1;\n Tk(this.g, function (c) {\n return c.startTime < b && c.endTime > a;\n });\n return !0;\n };\n r.append = function (a) {\n var b = Rk(a),\n c = [];\n a = this.g.cues ? Array.from(this.g.cues) : [];\n var d = {};\n b = t(b);\n for (var e = b.next(); !e.done; d = {\n Zb: d.Zb\n }, e = b.next()) d.Zb = e.value, a.some(function (f) {\n return function (g) {\n return g.startTime == f.Zb.startTime && g.endTime == f.Zb.endTime && g.text == f.Zb.payload ? !0 : !1;\n };\n }(d)) || (e = Uk(d.Zb)) && c.push(e);\n a = c.slice().sort(function (f, g) {\n return f.startTime != g.startTime ? f.startTime - g.startTime : f.endTime != g.endTime ? f.endTime - g.startTime : "line" in VTTCue.prototype ? c.indexOf(g) - c.indexOf(f) : c.indexOf(f) - c.indexOf(g);\n });\n a = t(a);\n for (d = a.next(); !d.done; d = a.next()) this.g.addCue(d.value);\n };\n r.destroy = function () {\n this.g && (Tk(this.g, function () {\n return !0;\n }), this.g.mode = "disabled");\n this.g = null;\n return Promise.resolve();\n };\n r.isTextVisible = function () {\n return "showing" == this.g.mode;\n };\n r.setTextVisibility = function (a) {\n this.g.mode = a ? "showing" : "hidden";\n };\n function Uk(a) {\n if (a.startTime >= a.endTime) return null;\n var b = new VTTCue(a.startTime, a.endTime, a.payload);\n b.lineAlign = a.lineAlign;\n b.positionAlign = a.positionAlign;\n a.size && (b.size = a.size);
1\n try {\n b.align = a.textAlign;\n } catch (c) {}\n "center" == a.textAlign && "center" != b.align && (b.align = "middle");\n "vertical-lr" == a.writingMode ? b.vertical = "lr" : "vertical-rl" == a.writingMode && (b.vertical = "rl");\n 1 == a.lineInterpretation && (b.snapToLines = !1);\n null != a.line && (b.line = a.line);\n null != a.position && (b.position = a.position);\n return b;\n }\n function Tk(a, b) {\n var c = a.mode;\n a.mode = "showing" == c ? "showing" : "hidden";\n for (var d = t(Array.from(a.cues)), e = d.next(); !e.done; e = d.next()) (e = e.value) && b(e) && a.removeCue(e);\n a.mode = c;\n }\n N("shaka.text.SimpleTextDisplayer", Sk);\n Sk.prototype.setTextVisibility = Sk.prototype.setTextVisibility;\n Sk.prototype.isTextVisible = Sk.prototype.isTextVisible;\n Sk.prototype.destroy = Sk.prototype.destroy;\n Sk.prototype.append = Sk.prototype.append;\n Sk.prototype.remove = Sk.prototype.remove; /*\n @license\n Shaka Player\n Copyright 2023 Google LLC\n SPDX-License-Identifier: Apache-2.0\n */\n function Vk() {}\n r = Vk.prototype;\n r.remove = function () {};\n r.append = function () {};\n r.destroy = function () {};\n r.isTextVisible = function () {\n return !1;\n };\n r.setTextVisibility = function () {};\n N("shaka.text.StubTextDisplayer", Vk);\n Vk.prototype.setTextVisibility = Vk.prototype.setTextVisibility;\n Vk.prototype.isTextVisible = Vk.prototype.isTextVisible;\n Vk.prototype.destroy = Vk.prototype.destroy;\n Vk.prototype.append = Vk.prototype.append;\n Vk.prototype.remove = Vk.prototype.remove;\n function Wk() {}\n function Xk(a) {\n for (; a.firstChild;) a.removeChild(a.firstChild);\n }\n N("shaka.util.Dom", Wk);\n Wk.removeAllChildren = Xk;\n function Yk(a, b) {\n var c = this;\n this.m = !1;\n this.i = [];\n this.A = a;\n this.s = b;\n this.j = null;\n this.g = document.createElement("div");\n this.g.classList.add("shaka-text-container");\n this.g.style.textAlign = "center";\n this.g.style.display = "flex";\n this.g.style.flexDirection = "column";\n this.g.style.alignItems = "center";\n this.g.style.justifyContent = "flex-end";\n this.s.appendChild(this.g);\n this.C = new qd(function () {\n Zk(c);\n }).$a(.25);\n this.h = new Map();\n this.l = new Af();\n this.l.D(document, "fullscreenchange", function () {\n Zk(c, !0);\n });\n this.l.D(this.A, "resize", function () {\n var d = c.A,\n e = d.videoWidth;\n d = d.videoHeight;\n e && d ? c.j = e / d : c.j = null;\n });\n this.o = null;\n "ResizeObserver" in window && (this.o = new ResizeObserver(function () {\n Zk(c, !0);\n }), this.o.observe(this.g));\n this.u = new Map();\n }\n r = Yk.prototype;\n r.append = function (a) {\n var b = [].concat(w(this.i)),\n c = {};\n a = t(a);\n for (var d = a.next(); !d.done; c = {\n jd: c.jd\n }, d = a.next()) c.jd = d.value, b.some(function (e) {\n return function (f) {\n return Lb(f, e.jd);\n };\n }(c)) || this.i.push(c.jd);\n Zk(this);\n };\n r.destroy = function () {\n if (!this.g) return Promise.resolve();\n this.s.removeChild(this.g);\n this.g = null;\n this.m = !1;\n this.i = [];\n this.C && this.C.stop();\n this.h.clear();\n this.l && (this.l.release(), this.l = null);\n this.o && (this.o.disconnect(), this.o = null);\n return Promise.resolve();\n };\n r.remove = function (a, b) {\n if (!this.g) return !1;\n var c = this.i.length;\n this.i = this.i.filter(function (d) {\n return d.startTime < a || d.endTime >= b;\n });\n Zk(this, c > this.i.length);\n return !0;\n };\n r.isTextVisible = function () {\n return this.m;\n };\n r.setTextVisibility = function (a) {\n this.m = a;\n };\n function $k(a, b) {\n for (; null != b;) {\n if (b == a.g) return !0;\n b = b.parentElement;\n }\n return !1;\n }\n function al(a, b, c, d, e) {\n var f = !1,\n g = [],\n h = [];\n b = t(b);\n for (var k = b.next(); !k.done; k = b.next()) {\n k = k.value;\n e.push(k);\n var l = a.h.get(k),\n m = k.startTime <= d && k.endTime > d,\n n = l ? l.wg : null;\n l && (g.push(l.pe), l.bd && g.push(l.bd), m || (f = !0, a.h["delete"](k), l = null));\n m && (h.push(k), l ? $k(a, n) || (f = !0) : (bl(a, k, e), l = a.h.get(k), n = l.wg, f = !0));\n 0 < k.nestedCues.length && n && al(a, k.nestedCues, n, d, e);\n e.pop();\n }\n if (f) {\n d = t(g);\n for (e = d.next(); !e.done; e = d.next()) e = e.value, e.parentElement && e.parentElement.removeChild(e);\n h.sort(function (q, p) {\n return q.startTime != p.startTime ? q.startTime - p.startTime : q.endTime - p.endTime;\n });\n h = t(h);\n for (k = h.next(); !k.done; k = h.next()) d = a.h.get(k.value), d.bd ? (c.appendChild(d.bd), d.bd.appendChild(d.pe)) : c.appendChild(d.pe);\n }\n }\n function Zk(a, b) {\n if (a.g) {\n var c = a.A.currentTime;\n if (!a.m || (void 0 === b ? 0 : b)) {\n b = t(a.u.values());\n for (var d = b.next(); !d.done; d = b.next()) Xk(d.value);\n Xk(a.g);\n a.h.clear();\n a.u.clear();\n }\n if (a.m) {\n b = new Map();\n d = t(a.h.keys());\n for (var e = d.next(); !e.done; e = d.next()) e = e.value, b.set(e, a.h.get(e));\n al(a, a.i, a.g, c, []);\n }\n }\n }\n function bl(a, b, c) {\n var d = 1 < c.length,\n e = d ? "span" : "div";\n b.lineBreak && (e = "br");\n b.rubyTag && (e = b.rubyTag);\n d = !d && 0 < b.nestedCues.length;\n var f = document.createElement(e);\n "br" != e && cl(a, f, b, c, d);\n c = null;\n if (b.region && b.region.id) {\n c = b.region;\n e = a.j === 4 / 3 ? 2.5 : 1.9;\n var g = c.id + "_" + c.width + "x" + c.height + (c.heightUnits == Sb ? "%" : "px") + "-" + c.viewportAnchorX + "x" + c.viewportAnchorY + (c.viewportAnchorUnits == Sb ? "%" : "px");\n if (a.u.has(g)) c = a.u.get(g);else {\n var h = document.createElement("span"),\n k = c.heightUnits == Sb ? "%" : "px",\n l = c.widthUnits == Sb ? "%" : "px",\n m = c.viewportAnchorUnits == Sb ? "%" : "px";\n h.id = "shaka-text-region---" + g;\n h.classList.add("shaka-text-region");\n h.style.position = "absolute";\n 2 === c.heightUnits && 2 === c.widthUnits ? (h.style.height = 5.33 * c.height + "%", h.style.width = c.width * e + "%") : (h.style.height = c.height + k, h.style.width = c.width + l);\n 2 === c.viewportAnchorUnits ? (k = c.viewportAnchorY / 75 * 100, l = c.viewportAnchorX / (a.j === 4 / 3 ? 160 : 210) * 100, k -= c.regionAnchorY * c.height * 5.33 / 100, l -= c.regionAnchorX * c.width * e / 100, h.style.top = k + "%", h.style.left = l + "%") : (h.style.top = c.viewportAnchorY - c.regionAnchorY * c.height / 100 + m, h.style.left = c.viewportAnchorX - c.regionAnchorX * c.width / 100 + m);\n h.style.display = "flex";\n h.style.flexDirection = "column";\n h.style.alignItems = "center";\n h.style.justifyContent = "before" == b.displayAlign ? "flex-start" : "center" == b.displayAlign ? "center" : "flex-end";\n a.u.set(g, h);\n c = h;\n }\n }\n e = f;\n d && (e = document.createElement("span"), e.classList.add("shaka-text-wrapper"), e.style.backgroundColor = b.backgroundColor, e.style.lineHeight = "normal", f.appendChild(e));\n a.h.set(b, {\n pe: f,\n wg: e,\n bd: c\n });\n }\n function dl(a) {\n var b = a.direction,\n c = a.positionAlign;\n a = a.textAlign;\n return c !== Ab ? c : "left" === a || "start" === a && b === Db || "end" === a && "rtl" === b ? "line-left" : "right" === a || "start" === a && "rtl" === b || "end" === a && b === Db ? "line-right" : "center";\n }\n function cl(a, b, c, d, e) {\n var f = b.style,\n g = 0 == c.nestedCues.length,\n h = 1 < d.length;\n f.whiteSpace = "pre-wrap";\n var k = c.payload.replace(/\\s+$/g, function (m) {\n return "\\xA0".repeat(m.length);\n });\n f.webkitTextStrokeColor = c.textStrokeColor;\n f.webkitTextStrokeWidth = c.textStrokeWidth;\n f.color = c.color;\n f.direction = c.direction;\n f.opacity = c.opacity;\n f.paddingLeft = el(c.linePadding, c, a.s);\n f.paddingRight = el(c.linePadding, c, a.s);\n f.textCombineUpright = c.textCombineUpright;\n f.textShadow = c.textShadow;\n if (c.backgroundImage) f.backgroundImage = "url(\'" + c.backgroundImage
1+ "\')", f.backgroundRepeat = "no-repeat", f.backgroundSize = "contain", f.backgroundPosition = "center", f.width = "100%", f.height = "100%";else {\n if (c.nestedCues.length) var l = b;else l = document.createElement("span"), b.appendChild(l);\n c.border && (l.style.border = c.border);\n !e && ((b = fl(d, function (m) {\n return m.backgroundColor;\n })) ? l.style.backgroundColor = b : k && (l.style.backgroundColor = "rgba(0, 0, 0, 0.8)"), b = fl(d, function (m) {\n return m.fontFamily;\n })) && (l.style.fontFamily = b);\n k && (l.textContent = k);\n }\n h && !d[d.length - 1].isContainer ? f.display = "inline" : (f.display = "flex", f.flexDirection = "column", f.alignItems = "center", f.justifyContent = "before" == c.displayAlign ? "flex-start" : "center" == c.displayAlign ? "center" : "flex-end");\n g || (f.margin = "0");\n f.fontFamily = c.fontFamily;\n f.fontWeight = c.fontWeight.toString();\n f.fontStyle = c.fontStyle;\n f.letterSpacing = c.letterSpacing;\n f.fontSize = el(c.fontSize, c, a.s);\n d = c.line;\n null != d && (g = c.lineInterpretation, g == Fb && (g = 1, h = 16, a.j && 1 > a.j && (h = 32), d = 0 > d ? 100 + d / h * 100 : d / h * 100), 1 == g && (f.position = "absolute", c.writingMode == Eb ? (f.width = "100%", c.lineAlign == Gb ? f.top = d + "%" : "end" == c.lineAlign && (f.bottom = 100 - d + "%")) : "vertical-lr" == c.writingMode ? (f.height = "100%", c.lineAlign == Gb ? f.left = d + "%" : "end" == c.lineAlign && (f.right = 100 - d + "%")) : (f.height = "100%", c.lineAlign == Gb ? f.right = d + "%" : "end" == c.lineAlign && (f.left = 100 - d + "%"))));\n f.lineHeight = c.lineHeight;\n null != c.position && (c.writingMode == Eb ? f.paddingLeft = c.position : f.paddingTop = c.position);\n a = dl(c);\n "line-left" == a ? f.cssFloat = "left" : "line-right" == a && (f.cssFloat = "right");\n f.textAlign = c.textAlign;\n f.textDecoration = c.textDecoration.join(" ");\n f.writingMode = c.writingMode;\n "writingMode" in document.documentElement.style && f.writingMode == c.writingMode || (f.webkitWritingMode = c.writingMode);\n c.size && (c.writingMode == Eb ? f.width = c.size + "%" : f.height = c.size + "%");\n }\n function el(a, b, c) {\n var d = (d = new RegExp(/(\\d*\\.?\\d+)([a-z]+|%+)/).exec(a)) ? {\n value: Number(d[1]),\n unit: d[2]\n } : null;\n if (!d) return a;\n var e = d.value;\n switch (d.unit) {\n case "%":\n return e / 100 * c.clientHeight / b.cellResolution.rows + "px";\n case "c":\n return c.clientHeight * e / b.cellResolution.rows + "px";\n default:\n return a;\n }\n }\n function fl(a, b) {\n for (var c = a.length - 1; 0 <= c; c--) {\n var d = b(a[c]);\n if (d || 0 === d) return d;\n }\n return null;\n }\n N("shaka.text.UITextDisplayer", Yk);\n Yk.prototype.setTextVisibility = Yk.prototype.setTextVisibility;\n Yk.prototype.isTextVisible = Yk.prototype.isTextVisible;\n Yk.prototype.remove = Yk.prototype.remove;\n Yk.prototype.destroy = Yk.prototype.destroy;\n Yk.prototype.append = Yk.prototype.append;\n function gl(a, b) {\n function c(f) {\n for (var g = f, h = t(b), k = h.next(); !k.done; k = h.next()) k = k.value, k.end && k.start < f && (g += k.end - k.start);\n f = Math.floor(g / 3600);\n h = Math.floor(g / 60 % 60);\n k = Math.floor(g % 60);\n g = Math.floor(1E3 * g % 1E3);\n return (10 > f ? "0" : "") + f + ":" + (10 > h ? "0" : "") + h + ":" + (10 > k ? "0" : "") + k + "." + (100 > g ? 10 > g ? "00" : "0" : "") + g;\n }\n var d = Rk(a);\n a = "WEBVTT\\n\\n";\n d = t(d);\n for (var e = d.next(); !e.done; e = d.next()) e = e.value, a += c(e.startTime) + " --\\x3e " + c(e.endTime) + function (f) {\n var g = [];\n switch (f.textAlign) {\n case "left":\n g.push("align:left");\n break;
1\n case "right":\n g.push("align:right");\n break;\n case Bb:\n g.push("align:middle");\n break;\n case "start":\n g.push("align:start");\n break;\n case "end":\n g.push("align:end");\n }\n switch (f.writingMode) {\n case "vertical-lr":\n g.push("vertical:lr");\n break;\n case "vertical-rl":\n g.push("vertical:rl");\n }\n return g.length ? " " + g.join(" ") : "";\n }(e) + "\\n", a += e.payload + "\\n\\n";\n return a;\n }\n N("shaka.text.WebVttGenerator", function () {});\n function hl(a, b) {\n this.h = a;\n this.g = b;\n this.m = void 0;\n this.i = !1;\n this.l = !0;\n this.j = !1;\n }\n hl.prototype.configure = function (a) {\n this.g = a;\n };\n function il(a, b, c) {\n try {\n if (!a.g.enabled) return b;\n var d = jl(a);\n a: {\n switch (c.toLowerCase()) {\n case "audio/mp4":\n case "audio/webm":\n case "audio/ogg":\n case "audio/mpeg":\n case "audio/aac":\n case "audio/flac":\n case "audio/wav":\n var e = kl;\n break a;\n case "video/webm":\n case "video/mp4":\n case "video/mpeg":\n case "video/mp2t":\n e = ll;\n break a;\n case "application/x-mpegurl":\n case "application/vnd.apple.mpegurl":\n case "application/dash+xml":\n case "video/vnd.mpeg.dash.mpd":\n case "application/vnd.ms-sstr+xml":\n e = ml;\n break a;\n }\n e = void 0;\n }\n d.ot = e;\n d.su = !0;\n var f = nl(d);\n return ol(b, f);\n } catch (g) {\n return Ta("CMCD_SRC_ERROR", "Could not generate src CMCD data.", g), b;\n }\n }\n function jl(a) {\n a.g.sessionId || (a.g.sessionId = window.crypto.randomUUID());\n return {\n v: 1,\n sf: a.m,\n sid: a.g.sessionId,\n cid: a.g.contentId,\n mtp: a.h.getBandwidthEstimate() / 1E3\n };\n }\n function pl(a, b, c) {\n c = void 0 === c ? {} : c;\n var d = void 0 === d ? a.g.useHeaders : d;\n if (a.g.enabled) {\n Object.assign(c, jl(a));\n c.pr = a.h.Cd();\n var e = c.ot === ql || c.ot === ll;\n a.j && e && (c.bs = !0, c.su = !0, a.j = !1);\n null == c.su && (c.su = a.l);\n if (d) a = rl(c), Object.keys(a).length && Object.assign(b.headers, a);else {\n var f = nl(c);\n f && (b.uris = b.uris.map(function (g) {\n return ol(g, f);\n }));\n }\n }\n }\n function sl(a) {\n if (0 === a.type) return tl;\n if (a = a.stream) {\n var b = a.type;\n if ("video" == b) return a.codecs && a.codecs.includes(",") ? ll : ql;\n if ("audio" == b) return kl;\n if ("text" == b) return "application/mp4" === a.mimeType ? ul : vl;\n }\n }\n function wl(a, b) {\n b = a.h.pb()[b];\n if (!b.length) return NaN;\n var c = a.h.getCurrentTime();\n return (a = b.find(function (d) {\n return d.start <= c && d.end >= c;\n })) ? 1E3 * (a.end - c) : NaN;\n }\n function xl(a, b) {\n var c = a.h.Cb();\n if (!c.length) return NaN;\n a = c[0];\n c = t(c);\n for (var d = c.next(); !d.done; d = c.next()) d = d.value, "variant" === d.type && d.bandwidth > a.bandwidth && (a = d);\n switch (b) {\n case ql:\n return a.videoBandwidth || NaN;\n case kl:\n return a.audioBandwidth || NaN;\n default:\n return a.bandwidth;\n }\n }\n function nl(a) {\n function b(n) {\n return 100 * c(n / 100);\n }\n function c(n) {\n return Math.round(n);\n }\n function d(n) {\n return !Number.isNaN(n) && null != n && "" !== n && !1 !== n;\n }
1\n var e = [],\n f = {\n br: c,\n d: c,\n bl: b,\n dl: b,\n mtp: b,\n nor: function nor(n) {\n return encodeURIComponent(n);\n },\n rtp: b,\n tb: c\n },\n g = Object.keys(a || {}).sort();\n g = t(g);\n for (var h = g.next(); !h.done; h = g.next()) {\n h = h.value;\n var k = a[h];\n if (d(k) && ("v" !== h || 1 !== k) && ("pr" != h || 1 !== k)) {\n var l = f[h];\n l && (k = l(k));\n l = typeof k;\n var m = void 0;\n m = "string" === l && "ot" !== h && "sf" !== h && "st" !== h ? h + "=" + JSON.stringify(k) : "boolean" === l ? h : "symbol" === l ? h + "=" + k.description : h + "=" + k;\n e.push(m);\n }\n }\n return e.join(",");\n }\n function rl(a) {\n var b = Object.keys(a),\n c = {},\n d = ["Object", "Request", "Session", "Status"],\n e = [{}, {}, {}, {}],\n f = {\n br: 0,\n d: 0,\n ot: 0,\n tb: 0,\n bl: 1,\n dl: 1,\n mtp: 1,\n nor: 1,\n nrr: 1,\n su: 1,\n cid: 2,\n pr: 2,\n sf: 2,\n sid: 2,\n st: 2,\n v: 2,\n bs: 3,\n rtp: 3\n };\n b = t(b);\n for (var g = b.next(); !g.done; g = b.next()) g = g.value, e[null != f[g] ? f[g] : 1][g] = a[g];\n for (a = 0; a < e.length; a++) (f = nl(e[a])) && (c["CMCD-" + d[a]] = f);\n return c;\n }\n function ol(a, b) {\n if (!b || a.includes("offline:")) return a;\n a = new fc(a);\n a.g.set("CMCD", b);\n return a.toString();\n }\n var ml = "m",\n kl = "a",\n ql = "v",\n ll = "av",\n tl = "i",\n vl = "c",\n ul = "tt";\n N("shaka.util.CmcdManager.StreamingFormat", {\n DASH: "d",\n HLS: "h",\n yg: "s",\n OTHER: "o"\n });\n function yl(a) {\n this.h = a;\n this.g = null;\n }\n r = yl.prototype;\n r.configure = function (a) {\n this.h = a;\n };\n r.Rf = function () {\n return this.h.enabled && this.h.applyMaximumSuggestedBitrate && this.g && this.g.has(zl) ? 1E3 * this.g.get(zl) : null;\n };\n r.Qf = function () {\n return this.h.enabled && this.g && this.g.has(Al) ? 1E3 * this.g.get(Al) : null;\n };\n r.fh = function () {\n return this.h.enabled && this.g && this.g.has(Bl) ? this.g.get(Bl) : null;\n };\n r.gh = function () {\n return this.h.enabled && this.g && this.g.has(Cl) ? this.g.get(Cl) : null;\n };\n r.getBandwidthEstimate = function (a) {\n var b = this.Qf();\n if (!b) return a;\n var c = this.h.estimatedThroughputWeightRatio;\n return 0 < c && 1 >= c ? a * (1 - c) + b * c : a;\n };\n function Dl(a) {\n return a ? "false" === a.toLowerCase() ? !1 : /^[-0-9]/.test(a) ? parseInt(a, 10) : a.replace(/["]+/g, "") : !0;\n }\n N("shaka.util.CmsdManager", yl);\n yl.prototype.getBandwidthEstimate = yl.prototype.getBandwidthEstimate;\n yl.prototype.getRoundTripTime = yl.prototype.gh;\n yl.prototype.getResponseDelay = yl.prototype.fh;\n yl.prototype.getEstimatedThroughput = yl.prototype.Qf;\n yl.prototype.getMaxBitrate = yl.prototype.Rf;\n var Al = "etp",\n zl = "mb",\n Bl = "rd",\n Cl = "rtt";\n function El() {}\n function Fl(a, b, c, d, e) {\n var f = (e in d),\n g = !0,\n h;\n for (h in b) {\n var k = e + "." + h,\n l = f ? d[e] : c[h];\n f || h in c ? void 0 === b[h] ? void 0 === l || f ? delete a[h] : a[h] = nd(l) : l.constructor == Object && b[h] && b[h].constructor == Object ? (a[h] || (a[h] = nd(l)), k = Fl(a[h], b[h], l, d, k), g = g && k) : typeof b[h] != typeof l || null == b[h] || "function" != typeof b[h] && b[h].constructor != l.constructor ? (Ra("Invalid config, wrong type for " + k), g = !1) : ("function" == typeof c[h] && c[h].length != b[h].length && Sa("Unexpected number of arguments for " + k), a[h] = b[h]) : (Ra("Invalid config, unrecognized key " + k), g = !1);\n }\n return g;\n }\n function Gl(a, b) {\n for (var c = {}, d = c, e = 0, f = 0;;) {\n e = a.indexOf(".", e);\n if (0 > e) break;\n if (0 == e || "\\\\" != a[e - 1]) f = a.substring(f, e).replace(/\\\\\\./g, "."), d[f] = {}, d = d[f], f = e + 1;\n e += 1;\n }\n d[a.substring(f).replace(/\\\\\\./g, ".")] = b;\n return c;\n }\n function Hl(a, b) {\n return a && b;\n }\n N("shaka.util.ConfigUtils", El);\n El.convertToConfigObject = Gl;\n El.mergeConfigObjects = Fl;\n function Il() {\n this.g = null;\n this.h = [];\n }\n function Jl(a, b) {\n return K(function (c) {\n if (1 == c.g) return a.g ? C(c, new Promise(function (d) {\n return a.h.push(d);\n }), 2) : c.B(2);\n a.g = b;\n E(c);\n });\n }\n Il.prototype.release = function () {\n 0 < this.h.length ? this.h.shift()() : this.g = null;\n };\n function Kl() {}\n function Ll(a) {\n a = Qf(a);\n return new fc(a).ob;\n }\n function Ml(a, b, c) {\n function d(h) {\n nb(f).setUint32(g, h.byteLength, !0);\n g += 4;\n f.set(hb(h), g);\n g += h.byteLength;\n }\n if (!c || !c.byteLength) throw new O(2, 6, 6015);\n var e;\n "string" == typeof b ? e = Sf(b, !0) : e = b;\n a = Qf(a);\n a = Sf(a, !0);\n var f = new Uint8Array(12 + a.byteLength + e.byteLength + c.byteLength),\n g = 0;\n d(a);\n d(e);\n d(c);\n return f;\n }\n function Nl(a, b, c) {\n if ("skd" !== b) return a;\n b = c.serverCertificate;\n c = Qf(a).split("skd://").pop();\n return Ml(a, c, b);\n }\n function Ol(a, b) {\n 2 === a && (b.headers["Content-Type"] = "a
1pplication/octet-stream");\n }\n N("shaka.util.FairPlayUtils", Kl);\n Kl.commonFairPlayResponse = function (a, b) {\n if (2 === a) {\n try {\n var c = Nf(b.data);\n } catch (e) {\n return;\n }\n a = !1;\n c = c.trim();\n "<ckc>" === c.substr(0, 5) && "</ckc>" === c.substr(-6) && (c = c.slice(5, -6), a = !0);\n try {\n var d = JSON.parse(c);\n d.ckc && (c = d.ckc, a = !0);\n d.CkcMessage && (c = d.CkcMessage, a = !0);\n d.License && (c = d.License, a = !0);\n } catch (e) {}\n a && (b.data = kb(ig(c)));\n }\n };\n Kl.expressplayFairPlayRequest = function (a, b) {\n Ol(a, b);\n };\n Kl.conaxFairPlayRequest = function (a, b) {\n Ol(a, b);\n };\n Kl.ezdrmFairPlayRequest = function (a, b) {\n Ol(a, b);\n };\n Kl.verimatrixFairPlayRequest = function (a, b) {\n 2 === a && (a = hb(b.body), a = hg(a), b.headers["Content-Type"] = "application/x-www-form-urlencoded", b.body = Rf("spc=" + a));\n };\n Kl.expressplayInitDataTransform = function (a, b, c) {\n return Nl(a, b, c);\n };\n Kl.conaxInitDataTransform = function (a, b, c) {\n if ("skd" !== b) return a;\n b = c.serverCertificate;\n c = Qf(a).split("skd://").pop().split("?").shift();\n c = window.atob(c);\n var d = new ArrayBuffer(2 * c.length);\n d = mb(d);\n for (var e = 0, f = c.length; e < f; e++) d[e] = c.charCodeAt(e);\n return Ml(a, d, b);\n };\n Kl.ezdrmInitDataTransform = function (a, b, c) {\n if ("skd" !== b) return a;\n b = c.serverCertificate;\n c = Qf(a).split(";").pop();\n return Ml(a, c, b);\n };\n Kl.verimatrixInitDataTransform = function (a, b, c) {\n return Nl(a, b, c);\n };\n Kl.initDataTransform = Ml;\n Kl.defaultGetContentId = Ll;\n Kl.isFairPlaySupported = function () {\n var a;\n return K(function (b) {\n if (1 == b.g) return a = {\n initDataTypes: ["cenc", "sinf", "skd"],\n videoCapabilities: [{\n contentType: \'video/mp4; codecs="avc1.42E01E"\'\n }]\n }, sa(b, 2), C(b, navigator.requestMediaKeySystemAccess("com.apple.fps", [a]), 4);\n if (2 != b.g) return b["return"](!0);\n va(b);\n return b["return"](!1);\n });\n };\n function Pl() {}\n function Ql() {\n var a = Infinity;\n navigator.connection && navigator.connection.saveData && (a = 360);\n var b = {\n retryParameters: Xe(),\n servers: {},\n clearKeys: {},\n advanced: {},\n delayLicenseRequestUntilPlayed: !1,\n persistentSessionOnlinePlayback: !1,\n persistentSessionsMetadata: [],\n initDataTransform: function initDataTransform(h, k, l) {\n window.shakaMediaKeysPolyfill && "skd" == k && (k = l.serverCertificate, l = Ll(h), h = Ml(h, l, k));\n return h;\n },\n logLicenseExchange: !1,\n updateExpirationTime: 1,\n preferredKeySystems: [],\n keySystemsMapping: {},\n parseInbandPsshEnabled: vd(),\n minHdcpVersion: "",\n ignoreDuplicateInitData: !zd()\n },\n c = "reload",\n d = !1;\n zd() || yd() || wd("Tizen 4") || Ad() || navigator.userAgent.match(/webOS\\/4/i) || navigator.userAgent.match(/webOS\\/5/i) || (c = "smooth", d = !0);\n d = {\n retryParameters: Xe(),\n availabilityWindowOverride: NaN,\n disableAudio: !1,\n disableVideo: !1,\n disableText: !1,\n disableThumbnails: !1,\n defaultPresentationDelay: 0,\n segmentRelativeVttTiming: !1,\n raiseFatalErrorOnManifestUpdateRequestFailure: !1,\n dash: {\n clockSyncUri: "",\n ignoreDrmInfo: !1,\n disableXlinkProcessing: !1,\n xlinkFailGracefully: !1,\n ignoreMinBufferTime: !1,\n autoCorrectDrift: !0,\n initialSegmentLimit: 1E3,\n ignoreSuggestedPresentationDelay: !1,\n ignoreEmptyAdaptationSet: !1,\n ignoreMaxSegmentDuration: !1,\n keySystemsByURI: {\n "urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b": "org.w3.clearkey",\n "urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e": "org.w3.clearkey",\n "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": "com.widevine.alpha",\n "urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready",\n "urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready",\n "urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb": "com.adobe.primetime"\n },\n manifestPreprocessor: function manifestPreprocessor(h) {\n return Hl([h], h);\n },\n sequenceMode: !1,\n enableAudioGroups: !1,\n multiTypeVariantsAllowed: d\n },\n hls: {\n ignoreTextStreamFailures: !1,\n ignoreImageStreamFailures: !1,\n defaultAudioCodec: "mp4a.40.2",\n defaultVideoCodec: "avc1.42E01E",\n ignoreManifestProgramDateTime: !1,\n mediaPlaylistFullMimeType: \'video/mp2t; codecs="avc1.42E01E, mp4a.40.2"\',\n useSafariBehaviorForLive: !0,\n liveSegmentsDelay: 3,\n sequenceMode: yd() || zd() || Ad() || Dd() ? !1 : !0,\n ignoreManifestTimestampsInSegmentsMode: !1,\n disableCodecGuessing: !1,\n allowLowLatencyByteRangeOptimization: !0\n },\n mss: {\n manifestPreprocessor: function manifestPreprocessor(h) {\n return Hl([h], h);\n },\n sequenceMode: !1,\n keySystemsBySystemId: {\n "9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready",\n "79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready"\n }\n }\n };\n var e = {\n retryParameters: Xe(),\n failureCallback: function failureCallback(h) {\n return Hl([h]);\n },\n rebufferingGoal: 2,\n bufferingGoal: 10,\n bufferBehind: 30,\n ignoreTextStreamFailures: !1,\n alwaysStreamText: !1,\n startAtSegmentBoundary: !1,\n gapDetectionThreshold: .5,\n gapJumpTimerTime: .25,\n durationBackoff: 1,\n safeSeekOffset: 5,\n stallEnabled: !0,\n stallThreshold: 1,\n stallSkip: .1,\n useNativeHlsOnSafari: !0,\n inaccurateManifestTolerance: 2,\n lowLatencyMode: !1,\n autoLowLatencyMode: !1,\n forceHTTPS: !1,\n preferNativeHls: !1,\n updateIntervalSeconds: 1,\n dispatchAllEmsgBoxes: !1,\n observeQualityChanges: !1,\n maxDisabledTime: 30,\
1n parsePrftBox: !1,\n segmentPrefetchLimit: 0,\n liveSync: !1,\n liveSyncMaxLatency: 1,\n liveSyncPlaybackRate: 1.1,\n liveSyncMinLatency: 0,\n liveSyncMinPlaybackRate: 1,\n allowMediaSourceRecoveries: !0,\n minTimeBetweenRecoveries: 5\n };\n if (wd("Web0S") || xd() || Bd() || wd("Hisense") || wd("VIDAA")) e.stallSkip = 0;\n var f = {\n trackSelectionCallback: function trackSelectionCallback(h) {\n return K(function (k) {\n return k["return"](h);\n });\n },\n downloadSizeCallback: function downloadSizeCallback(h) {\n var k;\n return K(function (l) {\n if (1 == l.g) return navigator.storage && navigator.storage.estimate ? C(l, navigator.storage.estimate(), 3) : l["return"](!0);\n k = l.h;\n return l["return"](k.usage + h < .95 * k.quota);\n });\n },\n progressCallback: function progressCallback(h, k) {\n return Hl([h, k]);\n },\n usePersistentLicense: !0,\n numberOfParallelDownloads: 5\n },\n g = {\n drm: b,\n manifest: d,\n streaming: e,\n mediaSource: {\n codecSwitchingStrategy: c,\n sourceBufferExtraFeatures: "",\n forceTransmux: !1,\n insertFakeEncryptionInInit: !0\n },\n offline: f,\n abrFactory: function abrFactory() {\n return new te();\n },\n abr: {\n enabled: !0,\n useNetworkInformation: !0,\n defaultBandwidthEstimate: 1E6,\n switchInterval: 8,\n bandwidthUpgradeTarget: .85,\n bandwidthDowngradeTarget: .95,\n restrictions: {\n minWidth: 0,\n maxWidth: Infinity,\n minHeight: 0,\n maxHeight: a,\n minPixels: 0,\n maxPixels: Infinity,\n minFrameRate: 0,\n maxFrameRate: Infinity,\n minBandwidth: 0,\n maxBandwidth: Infinity\n },\n advanced: {\n minTotalBytes: 128E3,\n minBytes: 16E3,\n fastHalfLife: 2,\n slowHalfLife: 5\n },\n restrictToElementSize: !1,\n restrictToScreenSize: !1,\n ignoreDevicePixelRatio: !1,\n clearBufferSwitch: !1,\n safeMarginSwitch: 0\n },\n autoShowText: 3,\n preferredAudioLanguage: "",\n preferredAudioLabel: "",\n preferredTextLanguage: "",\n preferredVariantRole: "",\n preferredTextRole: "",\n preferredAudioChannelCount: 2,\n preferredVideoHdrLevel: "AUTO",\n preferredVideoLayout: "",\n preferredVideoLabel: "",\n preferredVideoCodecs: [],\n preferredAudioCodecs: [],\n preferForcedSubs: !1,\n preferSpatialAudio: !1,\n preferredDecodingAttributes: [],\n restrictions: {\n minWidth: 0,\n maxWidth: Infinity,\n minHeight: 0,\n maxHeight: Infinity,\n minPixels: 0,\n maxPixels: Infinity,\n minFrameRate: 0,\n maxFrameRate: Infinity,\n minBandwidth: 0,\n maxBandwidth: Infinity\n },\n playRangeStart: 0,\n playRangeEnd: Infinity,\n textDisplayFactory: function textDisplayFactory() {\n return null;\n },\n cmcd: {\n enabled: !1,\n sessionId: "",\n contentId: "",\n useHeaders: !1\n },\n cmsd: {\n enabled: !0,\n applyMaximumSuggestedBitrate: !0,\n estimatedThroughputWeightRatio: .5\n },\n lcevc: {\n enabled: !1,\n dynamicPerformanceScaling: !0,\n logLevel: 0,\n drawLogo: !1\n },\n ads: {\n customPlayheadTracker: !1\n }\n };\n f.trackSelectionCallback = function (h) {\n return K(function (k) {\n return k["return"](Rl(h, g.preferredAudioLanguage, g.preferredVideoHdrLevel));\n });\n };\n return g;\n }\n function Sl(a, b, c) {\n var d = {\n ".drm.keySystemsMapping": "",\n ".drm.servers": "",\n ".drm.clearKeys": "",\n ".drm.advanced": {\n distinctiveIdentifierRequired: !1,\n persistentStateRequired: !1,\n videoRobustness: "",\n audioRobustness: "",\n sessionType: "",\n serverCertificate: new Uint8Array(0),\n serverCertificateUri: "",\n individualizationServer: ""\n }\n };\n return Fl(a, b, c || Ql(), d, "");\n }\n function Rl(a, b, c) {\n var d = c;\n "AUTO" == d && (d = window.matchMedia("(color-gamut: p3)").matches ? "PQ" : "SDR");\n var e = a.filter(function (h) {\n return "variant" != h.type || h.hdr && h.hdr != d ? !1 : !0;\n });\n c = [];\n var f = ld(b, e.map(function (h) {\n return h.language;\n }));\n f && (c = e.filter(function (h) {\n return dd(h.language) == f;\n }));\n 0 == c.length && (c = e.filter(function (h) {\n return h.primary;\n }));\n 0 == c.length && (e.map(function (h) {\n return h.language;\n }), c = e);\n var g = c.filter(function (h) {\n return h.height && 480 >= h.height;\n });\n g.length && (g.sort(function (h, k) {\n return k.height - h.height;\n }
1), c = g.filter(function (h) {\n return h.height == g[0].height;\n }));\n b = [];\n c.length && (e = Math.floor(c.length / 2), c.sort(function (h, k) {\n return h.bandwidth - k.bandwidth;\n }), b.push(c[e]));\n a = t(a);\n for (c = a.next(); !c.done; c = a.next()) c = c.value, c.type != Dc && "image" != c.type || b.push(c);\n return b;\n }\n N("shaka.util.PlayerConfiguration", Pl);\n Pl.mergeConfigObjects = Sl;\n Pl.createDefault = Ql;\n function Tl() {\n this.g = null;\n this.h = [];\n }\n function Ul(a, b) {\n var c = 0;\n a.g && a.g.state == b && (c += a.g.duration);\n a = t(a.h);\n for (var d = a.next(); !d.done; d = a.next()) d = d.value, c += d.state == b ? d.duration : 0;\n return c;\n }\n function Vl(a) {\n function b(f) {\n return {\n timestamp: f.timestamp,\n state: f.state,\n duration: f.duration\n };\n }\n for (var c = [], d = t(a.h), e = d.next(); !e.done; e = d.next()) c.push(b(e.value));\n a.g && c.push(b(a.g));\n return c;\n }\n ;\n function Wl() {\n this.i = this.h = null;\n this.g = [];\n }\n function Xl(a, b, c) {\n a.i != b && (a.i = b, a.g.push({\n timestamp: Date.now() / 1E3,\n id: b.id,\n type: "text",\n fromAdaptation: c,\n bandwidth: null\n }));\n }\n ;\n function Yl() {\n this.u = this.A = this.G = this.C = this.s = this.j = this.F = this.m = this.i = this.K = this.N = this.H = this.I = this.J = this.l = this.o = NaN;\n this.g = new Tl();\n this.h = new Wl();\n }\n ;\n function W(a, b) {\n jf.call(this);\n var c = this;\n this.l = Zl;\n this.xd = this.h = null;\n this.da = !1;\n this.Gd = new Af();\n this.sc = new Af();\n this.o = new Af();\n this.Ba = new Af();\n this.C = this.G = this.m = this.H = null;\n this.Kd = 0;\n this.W = new Il();\n this.ma = this.ea = this.i = this.Ld = this.F = this.j = this.za = this.J = this.eg = this.Y = this.V = this.Aa = this.K = this.I = this.$b = null;\n this.mb = !1;\n this.Ne = this.s = null;\n this.We = 1E9;\n this.Oc = [];\n this.N = NaN;\n this.g = $l(this);\n this.Id = {\n width: Infinity,\n height: Infinity\n };\n this.u = null;\n this.kb = new Je(this.g.preferredAudioLanguage, this.g.preferredVariantRole, this.g.preferredAudioChannelCount, this.g.preferredVideoHdrLevel, this.g.preferSpatialAudio, this.g.preferredVideoLayout, this.g.preferredAudioLabel, this.g.preferredVideoLabel, this.g.mediaSource.codecSwitchingStrategy, this.g.manifest.dash.enableAudioGroups);\n this.lb = this.g.preferredTextLanguage;\n this.Kc = this.g.preferredTextRole;\n this.Jc = this.g.preferForcedSubs;\n this.Hc = [];\n b && b(this);\n this.V = am(this);\n this.Y = new yl(this.g.cmsd);\n this.H = bm(this);\n this.H.nf(this.g.streaming.forceHTTPS);\n this.A = null;\n cm && (this.A = cm(), this.A.configure(this.g.ads));\n this.Gd.D(window, "online", function () {\n dm(c);\n c.gf();\n });\n this.yd = new qd(function () {\n return em(c);\n });\n a && (ze("Player w/ mediaElement", "Please migrate from initializing Player with a mediaElement; use the attach method instead."), this.Ic(a, !0));\n }\n oa(W, jf);\n function fm(a) {\n null != a.J && (vi(a.J), a.J.release(), a.J = null);\n }\n function gm(a, b) {\n if (b.lcevc.enabled) {\n var c = a.Cb();\n c && c[0] && "video/mp2t" == c[0].videoMimeType && (ud() || navigator.userAgent.match(/Edge\\//)) && (b.mediaSource.forceTransmux || Sa("LCEVC Warning: For MPEG-2 TS decoding the config.mediaSource.forceTransmux must be enabled."));\n fm(a);\n null == a.J && (a.J = new ui(a.h, a.eg, b.lcevc), a.G && (a.G.N = a.J));\n } else fm(a);\n }\n function hm(a, b) {\n return new Q(a, b);\n }\n r = W.prototype;\n r.destroy = function () {\n var a = this,\n b;\n return K(function (c) {\n switch (c.g) {\n case 1:\n if (a.l == im) return c["return"]();\n fm(a);\n b = a.detach();\n a.l = im;\n return C(c, b, 2);\n case 2:\n a.Gd && (a.Gd.release(), a.Gd = null);\n a.sc && (a.sc.release(), a.sc = null);\n a.o && (a.o.release(), a.o = null);\n a.Ba && (a.Ba.release(), a.Ba = null);\n a.Ne = null;\n a.g = null;\n a.u = null;\n a.xd = null;\n a.V = null;\n a.Y = null;\n if (!a.H) {\n c.B(3);\n break;\n }\n return C(c, a.H.destroy(), 4);\n case 4:\n a.H = null;\n case 3:\n a.s && (a.s.release(), a.s = null), jf.prototype.release.call(a), E(c);\n }\n });\n };\n function jm(a, b) {\n a.dispatchEvent(hm("onstatechange", new Map().set("state", b)));\n }\n r.Ic = function (a, b) {\n b = void 0 === b ? !0 : b;\n var c = this,\n d,\n e;\n return K(function (f) {\n switch (f.g) {\n case 1:\n if (c.l == im) throw new O(2, 7, 7E3);\n if (!c.h || c.h == a) {\n f.B(2);\n break;\n }\n return C(f, c.detach(), 2);\n case 2:\n return C(f, km(c, "attach"), 4);\n case 4:\n if (f.h) return f["return"]();
1\n sa(f, 5, 6);\n jm(c, "attach");\n d = function d() {\n var g = lm(c);\n g && mm(c, g);\n };\n c.sc.D(a, "error", d);\n c.h = a;\n if (!b || !rd() || c.G) {\n f.B(6);\n break;\n }\n return C(f, nm(c), 6);\n case 6:\n wa(f);\n c.W.release();\n ya(f, 0);\n break;\n case 5:\n return e = va(f), C(f, c.detach(), 10);\n case 10:\n throw e;\n }\n });\n };\n r.Eg = function (a) {\n this.eg = a;\n };\n r.detach = function (a) {\n a = void 0 === a ? !1 : a;\n var b = this;\n return K(function (c) {\n if (1 == c.g) {\n if (b.l == im) throw new O(2, 7, 7E3);\n return C(c, b.rc(!1, a), 2);\n }\n if (3 != c.g) return C(c, km(b, "detach"), 3);\n if (c.h) return c["return"]();\n try {\n b.h && (b.sc.Za(), b.h = null), jm(b, "detach"), b.A && !a && b.A.release();\n } finally {\n b.W.release();\n }\n E(c);\n });\n };\n function km(a, b) {\n var c;\n return K(function (d) {\n return 1 == d.g ? (c = ++a.Kd, C(d, Jl(a.W, b), 2)) : c != a.Kd ? (a.W.release(), d["return"](!0)) : d["return"](!1);\n });\n }\n r.rc = function (a, b) {\n a = void 0 === a ? !0 : a;\n b = void 0 === b ? !1 : b;\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l,\n m,\n n;\n return K(function (q) {\n switch (q.g) {\n case 1:\n return c.l != im && (c.l = Zl), C(q, km(c, "unload"), 2);\n case 2:\n if (q.h) return q["return"]();\n ta(q, 3);\n c.mb = !1;\n jm(c, "unload");\n a && !rd() && (a = !1);\n fm(c);\n d = c.Hc.map(function (p) {\n return p();\n });\n c.Hc = [];\n return C(q, Promise.all(d), 5);\n case 5:\n c.dispatchEvent(hm("unloading"));\n c.Aa && (c.Aa.release(), c.Aa = null);\n c.h && (c.o.Za(), c.Ba.Za());\n c.yd.stop();\n c.$b && (c.$b.release(), c.$b = null);\n if (!c.F) {\n q.B(6);\n break;\n }\n return C(q, c.F.stop(), 7);\n case 7:\n c.F = null, c.Ld = null;\n case 6:\n if (!c.s) {\n q.B(8);\n break;\n }\n return C(q, c.s.stop(), 8);\n case 8:\n if (!c.j) {\n q.B(10);\n break;\n }\n return C(q, c.j.destroy(), 11);\n case 11:\n c.j = null;\n case 10:\n c.I && (c.I.release(), c.I = null);\n c.C && (c.C.release(), c.C = null);\n if (!c.G) {\n q.B(12);\n break;\n }\n return C(q, c.G.destroy(), 13);\n case 13:\n c.G = null;\n case 12:\n if (c.A && !b) c.A.onAssetUnload();\n c.Y && (c.Y.g = null);\n c.h && Xk(c.h);\n if (!c.h || !c.h.src) {\n q.B(14);\n break;\n }\n return C(q, new Promise(function (p) {\n return new qd(p).U(.1);\n }), 15);\n case 15:\n c.h.removeAttribute("src"), c.h.load();\n case 14:\n if (!c.m) {\n q.B(16);\n break;\n }\n return C(q, c.m.destroy(), 17);\n case 17:\n c.m = null;\n case 16:\n c.ea = null;\n c.K = null;\n if (c.i) {\n e = t(c.i.variants);\n for (f = e.next(); !f.done; f = e.next()) for (g = f.value, h = t([g.audio, g.video]), k = h.next(); !k.done; k = h.next()) (l = k.value) && l.segmentIndex && l.segmentIndex.release();\n m = t(c.i.textStreams);\n for (k = m.next(); !k.done; k = m.next()) n = k.value, n.segmentIndex && n.segmentIndex.release();\n }\n c.i = null;\n c.u = new Yl();\n c.Te = null;\n c.Oc = [];\n c.N = NaN;\n om(c);\n case 3:\n wa(q);\n c.W.release();\n ya(q, 4);\n break;\n case 4:\n if (a && rd() && !c.G) return C(q, nm(c), 0);\n q.B(0);\n }\n });\n };\n r.ei = function (a) {\n this.ma = a;\n };\n r.load = function (a, b, c) {\n b = void 0 === b ? null : b;\n var d = this,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n if (d.l == im) throw new O(2, 7, 7E3);\n return C(m, Jl(d.W, "load"), 2);\n case 2:\n d.W.release();\n if (!d.h) throw new O(2, 7, 7002);\n if (!d.ea) {\n m.B(3);\n break;\n }\n return C(m, d.rc(!1), 3);\n case 3:\n e = ++d.Kd;\n f = function f() {\n if (d.Kd != e) throw new O(2, 7, 7E3);\n };\n g = function g(n, q) {\n return K(function (p) {\n switch (p.g) {\n case 1:\n return ta(p, 2), C(
1p, Jl(d.W, q), 4);\n case 4:\n return f(), C(p, n(), 5);\n case 5:\n f();\n case 2:\n wa(p), d.W.release(), ya(p, 0);\n }\n });\n };\n sa(m, 5);\n d.ma = b;\n d.mb = !1;\n d.dispatchEvent(hm("loading"));\n h = Date.now() / 1E3;\n d.u = new Yl();\n d.ea = a;\n if (c) {\n m.B(7);\n break;\n }\n return C(m, g(function () {\n return K(function (n) {\n if (1 == n.g) return C(n, pm(d), 2);\n c = n.h;\n E(n);\n });\n }, "guessMimeType_"), 7);\n case 7:\n if (k = qm(d, c)) return C(m, g(function () {\n return K(function (n) {\n return C(n, rm(d, c), 0);\n });\n }, "initializeSrcEqualsDrmInner_"), 16);\n if (d.G) {\n m.B(11);\n break;\n }\n return C(m, g(function () {\n return K(function (n) {\n return C(n, nm(d), 0);\n });\n }, "initializeMediaSourceEngineInner_"), 11);\n case 11:\n return C(m, g(function () {\n return K(function (n) {\n return C(n, sm(d, c), 0);\n });\n }, "parseManifestInner_"), 13);\n case 13:\n return C(m, g(function () {\n return K(function (n) {\n return C(n, tm(d), 0);\n });\n }, "initializeDrmInner_"), 14);\n case 14:\n return C(m, g(function () {\n return K(function (n) {\n return C(n, um(d, h), 0);\n });\n }, "loadInner_"), 10);\n case 16:\n return C(m, g(function () {\n return K(function (n) {\n return C(n, vm(d, h, c), 0);\n });\n }, "srcEqualsInner_"), 10);\n case 10:\n d.dispatchEvent(hm("loaded"));\n ua(m, 0);\n break;\n case 5:\n l = va(m);\n if (7E3 == l.code) {\n m.B(18);\n break;\n }\n return C(m, d.rc(!1), 18);\n case 18:\n throw l;\n }\n });\n };\n function pm(a) {\n var b, c;\n return K(function (d) {\n if (1 == d.g) return b = a.g.manifest.retryParameters, C(d, Nk(a.ea, a.H, b), 2);\n c = d.h;\n "application/x-mpegurl" == c && Cd() && (c = "application/vnd.apple.mpegurl");\n return d["return"](c);\n });\n }\n function qm(a, b) {\n if (!rd()) return !0;\n if (b) {\n if ("" == (a.h || td()).canPlayType(b)) return !1;\n if (!(rd() && b in Ah)) return !0;\n if ("application/x-mpegurl" === b || "application/vnd.apple.mpegurl" === b) {\n if (a.g.streaming.preferNativeHls) return !0;\n if (Cd()) return a.g.streaming.useNativeHlsOnSafari;\n }\n }\n return !1;\n }\n function nm(a) {\n var b, c, d, e, f;\n return K(function (g) {\n if (1 == g.g) return jm(a, "media-source"), b = a.g.textDisplayFactory, c = b(), a.Te = b, d = wm(a.h, c, function (h, k, l) {\n xm(a, h, k, l);\n }, a.J), d.configure(a.g.mediaSource), e = a.g.manifest, f = e.segmentRelativeVttTiming, d.Y = f, C(g, d.J, 2);\n a.G = d;\n E(g);\n });\n }\n function sm(a, b) {\n var c, d, e, f, g, h, k, l;\n return K(function (m) {\n if (1 == m.g) return c = a.H, jm(a, "manifest-parser"), a.Ld = zh(a.ea, b || null), a.F = a.Ld(), d = nd(a.g.manifest), a.h && "AUDIO" === a.h.nodeName && (d.disableVideo = !0), a.F.configure(d), a.Aa = new Rj(function () {\n return a.Eb();\n }), a.Aa.addEventListener("regionadd", function (n) {\n n = n.region;
1\n ym(a, "timelineregionadded", n);\n if (a.A) a.A.onDashTimedMetadata(n);\n }), a.za = null, a.g.streaming.observeQualityChanges && (a.za = new Nj(function () {\n return a.pb();\n }), a.za.addEventListener("qualitychange", function (n) {\n var q = n.quality;\n n = n.position;\n q = new Map().set("mediaQuality", {\n bandwidth: q.bandwidth,\n audioSamplingRate: q.audioSamplingRate,\n codecs: q.codecs,\n contentType: q.contentType,\n frameRate: q.frameRate,\n height: q.height,\n mimeType: q.mimeType,\n channelsCount: q.channelsCount,\n pixelAspectRatio: q.pixelAspectRatio,\n width: q.width\n }).set("position", n);\n a.dispatchEvent(hm("mediaqualitychanged", q));\n })), e = {\n networkingEngine: c,\n filter: function filter(n) {\n return zm(a, n);\n },\n makeTextStreamsForClosedCaptions: function makeTextStreamsForClosedCaptions(n) {\n return Am(a, n);\n },\n onTimelineRegionAdded: function onTimelineRegionAdded(n) {\n var q = a.Aa;\n a: {\n var p = t(q.g);\n for (var u = p.next(); !u.done; u = p.next()) if (u = u.value, u.schemeIdUri == n.schemeIdUri && u.id == n.id && u.startTime == n.startTime && u.endTime == n.endTime) {\n p = u;\n break a;\n }\n p = null;\n }\n null == p && (q.g.add(n), n = new Q("regionadd", new Map([["region", n]])), q.dispatchEvent(n));\n },\n onEvent: function onEvent(n) {\n return a.dispatchEvent(n);\n },\n onError: function onError(n) {\n return mm(a, n);\n },\n isLowLatencyMode: function isLowLatencyMode() {\n return a.g.streaming.lowLatencyMode;\n },\n isAutoLowLatencyMode: function isAutoLowLatencyMode() {\n return a.g.streaming.autoLowLatencyMode;\n },\n enableLowLatencyMode: function enableLowLatencyMode() {\n a.configure("streaming.lowLatencyMode", !0);\n },\n updateDuration: function updateDuration() {\n a.j && a.j.updateDuration();\n },\n newDrmInfo: function newDrmInfo(n) {\n var q = a.m ? a.m.g : null;\n q && a.m.s && Bm(a, q.keySystem, n);\n },\n onManifestUpdated: function onManifestUpdated() {\n var n = new Map().set("isLive", a.R());\n a.dispatchEvent(hm("manifestupdated", n));\n if (a.A) a.A.onManifestUpdated(a.R());\n },\n getBandwidthEstimate: function getBandwidthEstimate() {\n return a.s.getBandwidthEstimate();\n }\n }, f = Date.now() / 1E3, jm(a, "manifest"), g = a, C(m, a.F.start(a.ea, e), 2);\n g.i = m.h;\n h = hm("manifestparsed");\n a.dispatchEvent(h);\n if (0 == a.i.variants.length) throw new O(2, 4, 4036);\n Cm(a.i);\n k = Date.now() / 1E3;\n l = k - f;\n a.u.F = l;\n E(m);\n });\n }\n function tm(a) {\n var b, c, d, e;\n return K(function (f) {\n return 1 == f.g ? (jm(a, "drm-engine"), b = Date.now() / 1E3, c = !0, a.m = Dm(a, {\n Tb: a.H,\n onError: function onError(g) {\n mm(a, g);\n },\n Ud: function Ud(g) {\n Em(a, g);\n },\n onExpirationUpdated: function onExpirationUpdated(g, h) {\n Fm(a, g, h);\n },\n onEvent: function onEvent(g) {\n a.dispatchEvent(g);\n "drmsessionupdate" == g.type && c && (c = !1, a.u.j = Date.now() / 1E3 - b, a.J && vi(a.J));\n }\n }), a.m.configure(a.g.drm), (d = Qd(a.i.variants, a.g.restrictions, a.Id)) && a.j && Gm(a), e = pe(a.i.variants), C(f, Rg(a.m, e, a.i.offlineSessionIds), 2)) : 3 != f.g ? C(f, a.m.Ic(a.h), 3) : C(f, zm(a, a.i), 0);\n });\n }\n function um(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A;\n return K(function (D) {\n switch (D.g) {\n case 1:\n jm(a, "load");\n c = a.h;\n a.I = new Kj({\n Ed: function Ed() {\n return c.playbackRate;\n },\n ec: function ec() {\n return c.defaultPlaybackRate;\n },\n rf: function rf(F) {\n c.playbackRate = F;\n },\n bg: function bg(F) {\n c.currentTime += F;\n }\n });\n d = function d() {\n return Hm(a);\n };\n e = function e() {\n return Im(a);\n };\n a.o.D(c, "playing", d);\n a.o.D(c, "pause", d);\n a.o.D(c, "ended", d);\n a.o.D(c, "ratechange", e);\n gm(a, a.g);\n f = a.g.abrFactory;\n a.s && a.Ne == f || (a.Ne = f, a.s = f(), "function" != typeof a.s.setMediaElement && (ze("AbrManager w/o setMediaElement", "Please use an AbrManager with setMediaElement function."), a.s.setMediaElement = function () {}), "function" != typeof a.s.setCmsdManager && (ze("AbrManager w/o setCmsdManager", "Please use an AbrManager with setCmsdManager function."), a.s.setCmsdManager = function () {}), "function" != typeof a.s.trySuggestStreams && (ze("AbrManager w/o trySuggestStreams", "Please use an AbrManager with trySuggestStreams function."), a.s.trySuggestStreams = function () {}), a.s.configure(a.g.abr));\n a.kb = new Je(a.g.preferredAudioLanguage, a.g.preferredVariantRole, a.g.preferredAudioChannelCount, a.g.preferredVideoHdrLevel, a.g.preferSpatialAudio, a.g.preferredVideoLayout, a.g.preferredAudioLabel, a.g.preferredVideoLabel, a.g.mediaSource.codecSwitchingStrategy, a.g.manifest.dash.enableAudioGroups);\n a.lb = a.g.preferredTextLanguage;\n a.Kc = a.g.preferredTextRole;\n a.Jc = a.g.preferForcedSubs;\n Jm(a.i.presentationTimeline, a.g.playRangeStart, a.g.playRangeEnd);\n a.s.init(function (F, J, G) {\n a.j && F != a.j.j && Km(a, F, !0, void 0 === J ? !1 : J, void 0 === G ? 0 : G);\n });\n a.s.setMediaElement(c);\n a.s.setCmsdManager(a.Y);\n Md(a.i, a.g.preferredVideoCodecs, a.g.preferredAudioCodecs, a.g.preferredDecodingAttributes);\n a.j = Lm(a);\n a.j.configure(a.g.streaming);\n a.l = Mm;\n c.textTracks && a.o.D(c.textTracks, "addtrack", function (F) {\n if (F.track) switch (F = F.track, F.kind) {\n case "chapters":\n Nm(a, F);\n }\n });\n a.dispatchEvent(hm("streaming"));\n g = null;\n (h = a.j.j) || (g = Om(a, !0));\n k = [];\n l = h || g;\n m = t([l.video, l.audio]);
1\n for (n = m.next(); !n.done; n = m.next()) (q = n.value) && !q.segmentIndex && k.push(q.createSegmentIndex());\n if (!(0 < k.length)) {\n D.B(2);\n break;\n }\n return C(D, Promise.all(k), 2);\n case 2:\n if (a.F && a.F.onInitialVariantChosen) a.F.onInitialVariantChosen(l);\n Jm(a.i.presentationTimeline, a.g.playRangeStart, a.g.playRangeEnd);\n a.C = Pm(a, a.ma);\n a.$b = Qm(a, b);\n p = Math.max(a.i.minBufferTime, a.g.streaming.rebufferingGoal);\n Rm(a, c, p);\n if (h) {\n D.B(4);\n break;\n }\n Km(a, g, !0, !1, 0);\n if (!a.g.streaming.startAtSegmentBoundary) {\n D.B(4);\n break;\n }\n u = a.C;\n v = u.je;\n return C(D, Sm(g, a.C.qd()), 6);\n case 6:\n v.call(u, D.h);\n case 4:\n return a.C.ie(), x = a.jc().find(function (F) {\n return F.active;\n }), x || ((z = qe(a.i.textStreams, a.lb, a.Kc, a.Jc)[0] || null) && Xl(a.u.h, z, !0), g && (z ? (g.audio && Tm(a, g.audio, z) && (a.da = !0), a.da && a.G.F.setTextVisibility(!0), Um(a)) : a.da = !1), z && (a.g.streaming.alwaysStreamText || a.Me()) && tk(a.j, z)), C(D, a.j.start(), 7);\n case 7:\n a.g.abr.enabled && (a.s.enable(), Vm(a));\n Gm(a);\n Wm(a);\n a.i.variants.some(function (F) {\n return F.primary;\n });\n (y = a.R()) && (a.g.streaming.liveSync || a.i.serviceDescription) ? (B = function B() {\n return Xm(a);\n }, a.o.D(c, "timeupdate", B)) : y || (A = function A() {\n return Ym(a);\n }, a.o.D(c, "timeupdate", A), Ym(a));\n if (a.A) a.A.onManifestUpdated(y);\n a.mb = !0;\n a.o.ja(c, "loadedmetadata", function () {\n a.u.m = Date.now() / 1E3 - b;\n });\n E(D);\n }\n });\n }\n function rm(a, b) {\n var c, d, e, f;\n return K(function (g) {\n return 1 == g.g ? (c = Ec, d = Date.now() / 1E3, e = !0, a.m = Dm(a, {\n Tb: a.H,\n onError: function onError(h) {\n mm(a, h);\n },\n Ud: function Ud(h) {\n Em(a, h);\n },\n onExpirationUpdated: function onExpirationUpdated(h, k) {\n Fm(a, h, k);\n },\n onEvent: function onEvent(h) {\n a.dispatchEvent(h);\n "drmsessionupdate" == h.type && e && (e = !1, a.u.j = Date.now() / 1E3 - d);\n }\n }), a.m.configure(a.g.drm), f = {\n id: 0,\n language: "und",\n disabledUntilTime: 0,\n primary: !1,\n audio: null,\n video: {\n id: 0,\n originalId: null,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: null,\n mimeType: b ? Nc(b) : "",\n codecs: b ? Oc(b) : "",\n encrypted: !0,\n drmInfos: [],\n keyIds: new Set(),\n language: "und",\n originalLanguage: null,\n label: null,\n type: c.$,\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: [],\n forced: !1,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n accessibilityPurpose: null,\n external: !1,\n fastSwitching: !1\n },\n bandwidth: 100,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n }, a.m.Y = !0, C(g, Rg(a.m, [f], []), 2)) : C(g, a.m.Ic(a.h), 0);\n });\n }\n function vm(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q;\n return K(function (p) {\n if (1 == p.g) return jm(a, "src-equals"), d = a.h, a.C = new zj(d), e = !1, a.Hc.push(function () {\n e = !0;\n }), null != a.ma && a.C.je(a.ma), a.I = new Kj({\n Ed: function Ed() {\n return d.playbackRate;\n },\n ec: function ec() {\n return d.defaultPlaybackRate;\n },\n rf: function rf(u) {\n d.playbackRate = u;\n },\n bg: function bg(u) {\n d.currentTime += u;\n }\n }), f = a.g.streaming.rebufferingGoal, Rm(a, d, f), g = function g() {\n return Hm(a);\n }
1, h = function h() {\n return Im(a);\n }, a.o.D(d, "playing", g), a.o.D(d, "pause", g), a.o.D(d, "ended", g), a.o.D(d, "ratechange", h), "none" != d.preload && a.o.ja(d, "loadedmetadata", function () {\n a.u.m = Date.now() / 1E3 - b;\n }), d.audioTracks && (a.o.D(d.audioTracks, "addtrack", function () {\n return Gm(a);\n }), a.o.D(d.audioTracks, "removetrack", function () {\n return Gm(a);\n }), a.o.D(d.audioTracks, "change", function () {\n return Gm(a);\n })), d.textTracks && (a.o.D(d.textTracks, "addtrack", function (u) {\n if (u.track) switch (u = u.track, u.kind) {\n case "metadata":\n Zm(a, u);\n break;\n case "chapters":\n Nm(a, u);\n break;\n default:\n Gm(a);\n }\n }), a.o.D(d.textTracks, "removetrack", function () {\n return Gm(a);\n }), a.o.D(d.textTracks, "change", function () {\n return Gm(a);\n })), d.src = il(a.V, a.ea, c), (xd() || wd("Web0S")) && d.load(), a.l = $m, a.dispatchEvent(hm("streaming")), k = new Ze(), qj(d, HTMLMediaElement.HAVE_METADATA, a.o, function () {\n a.C.ie();\n k.resolve();\n }), qj(d, HTMLMediaElement.HAVE_CURRENT_DATA, a.o, function () {\n var u;\n return K(function (v) {\n if (1 == v.g) return an(a), u = bn(a), u.find(function (x) {\n return "disabled" != x.mode;\n }) ? (0 < u.length && (a.da = !0), v.B(2)) : C(v, new Promise(function (x) {\n a.o.ja(d.textTracks, "change", x);\n new qd(x).U(1);\n }), 2);\n if (e) return v["return"]();\n cn(a);\n E(v);\n });\n }), d.error ? k.reject(lm(a)) : "none" == d.preload && (Sa(\'With <video preload="none">, the browser will not load anything until play() is called. We are unable to measure load latency in a meaningful way, and we cannot provide track info yet. Please do not use preload="none" with Shaka Player.\'), k.resolve()), a.o.ja(d, "error", function () {\n k.reject(lm(a));\n }), C(p, k, 2);\n (l = a.R()) && a.g.streaming.liveSync ? (m = function m() {\n return Xm(a);\n }, a.o.D(d, "timeupdate", m)) : l || (n = function n() {\n return Ym(a);\n }, a.o.D(d, "timeupdate", n), Ym(a));\n a.A && (a.A.onManifestUpdated(l), l && (q = a.Eb().end, a.o.D(d, "progress", function () {\n var u = a.Eb().end;\n q != u && (a.A.onManifestUpdated(a.R()), q = u);\n })));\n a.mb = !0;\n E(p);\n });\n }\n function an(a) {\n var b = a.g.preferredAudioLanguage;\n "" != b && a.jg(b, a.g.preferredVariantRole);\n }\n function cn(a) {\n var b = a.g.preferredTextLanguage;\n "" != b && a.kf(b, a.g.preferredTextRole, a.g.preferForcedSubs);\n }\n function Zm(a, b) {\n if ("metadata" == b.kind) {\n b.mode = "hidden";\n a.o.D(b, "cuechange", function () {\n if (b.activeCues) for (var d = t(b.activeCues), e = d.next(); !e.done; e = d.next()) if (e = e.value, dn(a, e.startTime, e.endTime, e.type, e.value), a.A) a.A.onCueMetadataChange(e.value);\n });\n var c = new qd(function () {\n var d = en(a);\n d = t(d);\n for (var e = d.next(); !e.done; e = d.next()) e.value.mode = "hidden";\n }).qc().U(.5);\n a.Hc.push(function () {\n c.stop();\n });\n }\n }\n function xm(a, b, c, d) {\n b = t(b);\n for (var e = b.next(); !e.done; e = b.next()) if (e = e.value, e.data && e.cueTime && e.frames) {\n var f = e.cueTime + c,\n g = d;\n g && f > g && (g = f);\n for (var h = t(e.frames), k = h.next(); !k.done; k = h.next()) dn(a, f, g, "org.id3", k.value);\n if (a.A) a.A.onHlsTimedMetadata(e, f);\n }\n }\n function dn(a, b, c, d, e) {\n b = new Map().set("startTime", b).set("endTime", c).set("metadataType", d).set("payload", e);\n a.dispatchEvent(hm("metadata", b));\n }\n function Nm(a, b) {\n if (b && "chapters" == b.kind) {\n b.mode = "hidden";\n var c = new qd(function () {\n b.mode = "hidden";\n }).qc().U(.5);\n a.Hc.push(function () {\n c.stop();\n });\n }\n }\n function Cm(a) {\n function b(c) {\n return c.video && c.audio || c.video && c.video.codecs.includes(",");\n }\n a.variants.some(b) && (a.variants = a.variants.filter(b));\n }
1\n r.Mh = function () {\n for (var a = this.W; a.g;) a.release();\n };\n function Dm(a, b) {\n return new Kg(b, a.g.drm.updateExpirationTime);\n }\n function bm(a) {\n return new mf(function (b, c, d) {\n a.s && a.s.segmentDownloaded(b, c, d);\n }, function (b, c, d) {\n c = new Map().set("headers", b).set("request", c).set("requestType", d);\n a.dispatchEvent(hm("downloadheadersreceived", c));\n if (a.Y && (c = a.Y, c.h.enabled)) {\n if (d = b["cmsd-static"]) try {\n var e = new Map(),\n f = d.split(",");\n for (d = 0; d < f.length; d++) {\n var g = f[d].split("=");\n e.set(g[0], Dl(g[1]));\n }\n } catch (n) {}\n if (b = b["cmsd-dynamic"]) {\n try {\n var h = new Map(),\n k = b.split(";");\n for (b = 1; b < k.length; b++) {\n var l = k[b].split("=");\n h.set(l[0], Dl(l[1]));\n }\n var m = h;\n } catch (n) {\n m = null;\n }\n m && (c.g = m);\n }\n }\n }, function (b, c, d, e) {\n b = new Map().set("request", b).set("error", c).set("httpResponseCode", d).set("aborted", e);\n a.dispatchEvent(hm("downloadfailed", b));\n }, function (b, c, d) {\n var e = a.V;\n d = void 0 === d ? {} : d;\n if (e.g.enabled) if ("HEAD" === c.method) pl(e, c);else switch (b) {\n case 0:\n try {\n if (e.g.enabled) {\n if (d.type) {\n a: {\n switch (d.type) {\n case 4:\n var f = "d";\n break a;\n case 3:\n case 2:\n f = "h";\n break a;\n case 5:\n f = "s";\n break a;\n }\n f = void 0;\n }\n e.m = f;\n }\n pl(e, c, {\n ot: ml,\n su: !e.i\n });\n }\n } catch (m) {\n Ta("CMCD_MANIFEST_ERROR", "Could not generate manifest CMCD data.", m);\n }\n break;\n case wf:\n b = d;\n try {\n if (e.g.enabled) {\n var g = b.segment;\n f = 0;\n g && (f = g.endTime - g.startTime);\n var h = {\n d: 1E3 * f,\n st: e.h.R() ? "l" : "v"\n };\n h.ot = sl(b);\n var k = h.ot === ql || h.ot === kl || h.ot === ll || h.ot === ul,\n l = b.stream;\n l && (k && (h.bl = wl(e, l.type)), l.bandwidth && (h.br = l.bandwidth / 1E3));\n k && h.ot !== ul && (h.tb = xl(e, h.ot) / 1E3);\n pl(e, c, h);\n }\n } catch (m) {\n Ta("CMCD_SEGMENT_ERROR", "Could not generate segment CMCD data.", m);\n }\n break;\n case 2:\n case 5:\n case 6:\n pl(e, c, {\n ot: "k"\n });\n break;\n case 4:\n pl(e, c, {\n ot: "o"\n });\n }\n }, function (b, c, d, e) {\n a.F && a.F.banLocation && a.F.banLocation(e);\n });\n }\n function Pm(a, b) {\n return new Aj(a.h, a.i, a.g.streaming, b, function () {\n a.$b && Mj(a.$b, !0);\n a.j && a.j.dd();\n a.K && fn(a);\n }, function (c) {\n return a.dispatchEvent(c);\n });\n }\n function Qm(a, b) {\n b = new Sj(a.Aa, a.R() || 0 < b);\n b.addEventListener("enter", function (d) {\n ym(a, "timelineregionenter", d.region);\n });\n b.addEventListener("exit", function (d) {\n ym(a, "timelineregi
1onexit", d.region);\n });\n b.addEventListener("skip", function (d) {\n var e = d.region;\n d.seeking || (ym(a, "timelineregionenter", e), ym(a, "timelineregionexit", e));\n });\n var c = new Lj(a.h);\n c.g.add(b);\n a.za && c.g.add(a.za);\n return c;\n }\n function Rm(a, b, c) {\n a.K = new Se();\n a.K.g = Ue;\n Ve(a.K, c, Math.min(.5, c / 2));\n om(a);\n a.o.D(b, "waiting", function () {\n return fn(a);\n });\n a.o.D(b, "stalled", function () {\n return fn(a);\n });\n a.o.D(b, "canplaythrough", function () {\n return fn(a);\n });\n a.o.D(b, "progress", function () {\n return fn(a);\n });\n }\n function fn(a) {\n switch (a.l) {\n case $m:\n if (a.h.ended) var b = !0;else {\n var c = Kh(a.h.buffered);\n b = null != c && c >= a.h.duration - 1;\n }\n break;\n case Mm:\n a: if (a.h.ended || Li(a.G)) b = !0;else {\n if (a.i.presentationTimeline.R()) {\n c = a.i.presentationTimeline.Bb();\n var d = Kh(a.h.buffered);\n if (null != d && d >= c) {\n b = !0;\n break a;\n }\n }\n b = !1;\n }\n break;\n default:\n b = !1;\n }\n d = Mh(a.h.buffered, a.h.currentTime);\n c = a.K;\n var e = b,\n f = c.h.get(c.g);\n b = c.g;\n d = e || d >= f ? Te : Ue;\n c.g = d;\n b != d && om(a);\n }\n function wm(a, b, c, d) {\n return new Di(a, b, c, d);\n }\n function am(a) {\n return new hl({\n getBandwidthEstimate: function getBandwidthEstimate() {\n return a.s ? a.s.getBandwidthEstimate() : NaN;\n },\n pb: function pb() {\n return a.pb();\n },\n getCurrentTime: function getCurrentTime() {\n return a.h ? a.h.currentTime : 0;\n },\n Cd: function Cd() {\n return a.Cd();\n },\n Ob: function Ob() {\n return a.Ob();\n },\n Cb: function Cb() {\n return a.Cb();\n },\n R: function R() {\n return a.R();\n }\n }, a.g.cmcd);\n }\n function Lm(a) {\n return new gk(a.i, {\n Dd: function Dd() {\n return a.C ? a.C.qd() : 0;\n },\n getBandwidthEstimate: function getBandwidthEstimate() {\n return a.s.getBandwidthEstimate();\n },\n T: a.G,\n Tb: a.H,\n onError: function onError(b) {\n return mm(a, b);\n },\n onEvent: function onEvent(b) {\n return a.dispatchEvent(b);\n },\n Fh: function Fh() {\n a.F && a.F.update && a.F.update();\n },\n af: function af(b, c) {\n var d = b.startTime,\n e = b.endTime,\n f = c.type;\n a.C && a.C.cg();\n fn(a);\n d = new Map().set("start", d).set("end", e).set("contentType", f);\n a.dispatchEvent(hm("segmentappended", d));\n a.s && c.fastSwitching && b.Zc && b.Md && a.s.trySuggestStreams();\n },\n Eh: function Eh(b, c) {\n (c = c.Ve) && a.za && Pj(a.za, c, b);\n },\n Ef: function Ef(b, c) {\n var d = a.m;\n if (d.h.parseInbandPsshEnabled && !d.F && ["audio", "video"].includes(b)) {\n c = new mg(hb(c));\n var e = 0,\n f = t(c.data);\n for (b = f.next(); !b.done; b = f.next()) e += b.value.length;\n if (0 == e) d = Promise.resolve();else {\n e = new Uint8Array(e);\n f = 0;\n c = t(c.data);\n for (b = c.next(); !b.done; b = c.next()) b = b.value, e.set(b, f), f += b.length;\n $g(d, "cenc", e);\n d = d.l;\n }\n } else d = Promise.resolve();\n return d;\n },\n Gh: function Gh(b, c, d) {\n xm(a, b, c, d);\n },\n wd: function wd(b, c) {\n return a.wd(b, c);\n }\n });\n }\n r.configure = function (a, b) {\n 2 == arguments.length && "string" == typeof a && (a = Gl(a, b));\n a.streaming && "forceTransmuxTS" in a.streaming && (ze("streaming.forceTransmuxTS configuration", "Please Use mediaSource.forceTransmux instead."), a.mediaSource.mediaSource = a.streaming.forceTransmuxTS, delete a.streaming.forceTransmuxTS);\n a.streaming && "forceTransmux" in a.streaming && (ze("streaming.forceTransmux configuration", "Please Use mediaSource.forceTransmux instead."), a.mediaSource.mediaSource = a.streaming.forceTransmux, delete a.streaming.forceTransmux);\n a.streaming && a.streaming.lowLatencyMode && (void 0 == a.streaming.inaccurateManifestTolerance && (a.streaming.inaccurateManifestTolerance = 0), void 0 == a.streaming.rebufferingGoal && (a.streaming.rebufferingGoal = .01), void 0 == a.streaming.segmentPrefetchLimit && (a.streaming.segmentPrefetchLimit = 2), void 0 == a.streaming.retryParameters && (a.streaming.retryParameters = {}), void 0 == a.streaming.retryParameters.baseDelay && (a.streaming.retryParameters.baseDelay = 100), void 0 == a.manifest && (a.manifest = {}), void 0 == a.manifest.retryParameters && (a.manifest.retryParameters = {}), void 0 == a.manifest.retryParameters.baseDelay && (a.manifest.retryParameters.baseDelay = 100), void 0 == a.drm && (a.drm = {}), void 0 == a.drm.retryParameters && (a.drm.retryParameters = {}), void 0 == a.drm.retryParameters.baseDelay && (a.drm.retryParameters.baseDelay = 100));\n var c = Sl(this.g, a, $l(this));\n gn(this);\n return c;\n };\n function gn(a) {\n if (a.F) {\n var b = nd(a.g.manifest);\n a.h && "AUDIO" === a.h.nodeName && (b.disableVideo = !0);\n a.F.configure(b);\n }\n a.m && a.m.configure(a.g.drm);\n if (a.j) {\n a.j.configure(a.g.streaming);\n try {\n hn(a, a.i);\n } catch (f) {\n mm(a, f);\n }\n a.s && Wm(a);\n b = a.j.j;\n !b || b.allowedByApplication && b.allowedByKeySystem || jn(a);\n }\n a.H && a.H.nf(a.g.streaming.forceHTTPS);\n if (a.G && (a.G.configure(a.g.mediaSource), a.G.Y = a.g.manifest.segmentRelativeVttTiming, b = a.g.textDisplayFactory, a.Te != b)) {\n var c = b(),\n d = a.G,\n e = d.F;\n d.F = c;\n e && (c.setTextVisibility(e.isTextVisible()), e.destroy());\n d.h && (d.h.j = c);\n a.Te = b;\n a.j && (b = a.j, (c = b.i.get(Dc)) && rk(b, c.stream, !0, 0, !0));\n }\n a.s && (a.s.configure(a.g.abr), a.g.abr.enabled ? a.s.enable() : a.s.disable(), Vm(a));\n a.K && (b = a.g.streaming.rebufferingGoal, a.i && (b = Math.max(b, a.i.minBufferTime)), Ve(a.K, b, Math.min(.5, b / 2)));\n a.i && Jm(a.i.presentationTimeline, a.g.playRangeStart, a.g.playRangeEnd);\n a.A && a.A.configure(a.g.ads);\n a.V && a.V.configure(a.g.cmcd);\n a.Y && a.Y.configure(a.g.cmsd);\n }
1\n r.getConfiguration = function () {\n var a = $l(this);\n Sl(a, this.g, $l(this));\n return a;\n };\n r.Qg = function () {\n if (this.h) {\n var a = this.h.buffered.length;\n a = a ? this.h.buffered.end(a - 1) : 0;\n var b = this.getConfiguration().streaming.bufferingGoal;\n b = Math.min(this.h.currentTime + b, this.Eb().end);\n if (a >= b) return 1;\n if (!(a <= this.h.currentTime) && a < b) return (a - this.h.currentTime) / (b - this.h.currentTime);\n }\n return 0;\n };\n r.Qh = function () {\n for (var a in this.g) delete this.g[a];\n Sl(this.g, $l(this), $l(this));\n gn(this);\n };\n r.Xg = function () {\n return this.l;\n };\n r.He = function () {\n return this.i ? this.i.type : null;\n };\n r.ah = function () {\n return this.h;\n };\n r.Ob = function () {\n return this.H;\n };\n r.Ge = function () {\n return this.ea;\n };\n r.Of = function () {\n return this.A ? this.A : null;\n };\n r.R = function () {\n return this.i ? this.i.presentationTimeline.R() : this.h && this.h.src ? Infinity == this.h.duration : !1;\n };\n r.Rb = function () {\n return this.i ? this.i.presentationTimeline.Rb() : !1;\n };\n r.sh = function () {\n if (this.i) {\n var a = this.i.variants;\n return a.length ? !a[0].video : !1;\n }\n return this.h && this.h.src ? this.h.videoTracks ? 0 == this.h.videoTracks.length : 0 == this.h.videoHeight : !1;\n };\n r.Eb = function () {\n if (this.i) {\n if (!this.mb && "HLS" == this.i.type) return {\n start: 0,\n end: 0\n };\n var a = this.i.presentationTimeline;\n return {\n start: a.hc(),\n end: a.qb()\n };\n }\n return this.h && this.h.src && (a = this.h.seekable, a.length) ? {\n start: a.start(0),\n end: a.end(a.length - 1)\n } : {\n start: 0,\n end: 0\n };\n };\n r.ph = function () {\n this.R() && (this.h.currentTime = this.Eb().end);\n };\n r.keySystem = function () {\n var a = this.drmInfo();\n return a ? a.keySystem : "";\n };\n r.drmInfo = function () {\n return this.m ? this.m.g : null;\n };\n r.Qc = function () {\n return this.m ? this.m.Qc() : Infinity;\n };\n r.Fe = function () {\n return this.m ? this.m.Fe() : [];\n };\n r.Bd = function () {\n return this.m ? this.m.Bd() : {};\n };\n r.Ke = function () {\n return this.K ? this.K.g == Ue : !1;\n };\n r.Cd = function () {\n return this.h ? this.I ? this.I.h : 1 : 0;\n };\n r.xf = function (a) {\n var b = this;\n 0 == a ? Sa("A trick play rate of 0 is unsupported!") : (this.Ba.Za(), this.h.paused && this.h.play(), this.I.set(a), this.l == Mm && (this.s.playbackRateChanged(a), qk(this.j, 1 < Math.abs(a))), this.R() && this.Ba.D(this.h, "timeupdate", function () {\n var c = b.h.currentTime,\n d = b.Eb(),\n e = b.g.streaming.safeSeekOffset;\n 0 < a ? c >= d.end && b.ud() : c <= d.start + e && b.ud();\n }));\n };\n r.ud = function () {\n var a = this.I.ec();\n this.l == $m && this.I.set(a);\n this.l == Mm && (this.I.set(a), this.s.playbackRateChanged(a), qk(this.j, !1));\n this.Ba.Za();\n };\n r.Cb = function () {\n if (this.i) {\n for (var a = this.j ? this.j.j : null, b = [], c = 0, d = t(this.i.variants), e = d.next(); !e.done; e = d.next()) if (e = e.value, oe(e)) {\n var f = ge(e);\n f.active = e == a;\n f.active || 1 == c || null == a || e.video != a.video || e.audio != a.audio || (f.active = !0);\n f.active && c++;\n b.push(f);\n }\n return b;\n }\n return this.h && this.h.audioTracks ? Array.from(this.h.audioTracks).map(function (g) {\n return ne(g);\n }) : [];\n };\n r.jc = function () {\n if (this.i) {\n for (var a = this.j ? this.j.o : null, b = [], c = t(this.i.textStreams), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = he(d);\n e.active = d == a;\n b.push(e);\n }\n return b;\n }\n return this.h && this.h.src && this.h.textTracks ? bn(this).map(function (f) {\n return le(f);\n }) : [];\n };\n r.Wg = function () {\n var a = this.Oc;\n this.i && (a = this.i.imageStreams);\n return a.map(function (b) {\n return ie(b);\n });\n };\n r.Ng = function (a) {\n var b = this,\n c,\n d,\n e,\n f;\n return K(function (g) {\n if (1 == g.g) {\n if (b.l != Mm && b.l != $m) return g["return"](null);\n c = b.Oc;\n b.i && (c = b.i.imageStreams);\n return (d = c.find(function (h) {\n return h.id == a;\n })) ? d.segmentIndex ? g.B(2) : C(g, d.createSegmentIndex(), 2) : g["return"](null);\n }\n if (4 != g.g) return e = [], Gj(d.segmentIndex, function (h) {\n var k = kn(h.tilesLayout || d.tilesLayout);\n if (k) {\n k = k.rows * k.Kb;\n for (var l = h.h - h.startTime, m = 0; m < k; m++) e.push(b.Tf(a, h.startTime + l * m / k));\n }\n }), C(g, Promise.all(e), 4);\n f = g.h;\n return g["return"](f.filter(function (h) {\n return h;\n }));\n });\n };\n function kn(a) {\n return a ? (a = /(\\d+)x(\\d+)/.exec(a)) ? {\n Kb: parseInt(a[1], 10),\n rows: parseInt(a[2], 10)\n } : null : null;\n }\n r.Tf = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l,\n m,\n n,\n q,\n p,\n u,\n v,\n x,\n z,\n y,\n B,\n A;\n return K(function (D) {\n if (1 == D.g) {\n if (c.l != Mm && c.l != $m) return D["return"](null);\n d = c.Oc;\n c.i && (d = c.i.imageStreams);\n return (e = d.find(function (F) {\n return F.id == a;\n })) ? e.segmentIndex ? D.B(2) : C(D, e.createSegmentIndex(), 2) : D["return"](null);\n }\n f = e.segmentIndex.find(b);\n if (null == f) return D["return"](null);\n g = e.segmentIndex.get(f);\n h = kn(g.tilesLayout || e.tilesLayout);\n if (!h) return D["return"](null);\n k = e.width || 0;\n l = e.height || 0;\n m = k / h.Kb;\n n = l / h.rows;\n q = h.Kb * h.rows;\n p = g.h - g.startTime;\n u = g.u || p / q;\n v = g.startTime;\n z = x = 0;\n 1 < q && (y = Math.floor((b - g.startTime) / u), v = g.startTime + y * u, x = y % h.Kb * m, z = Math.floor(y / h.Kb) * n);\n B = !1;\n if (A = g.s) B = !0, n = A.height, x = A.positionX, z = A.positionY, m = A.width;\n return D["return"]({\n segment: g,\n imageHeight: l,\n imageWidth: k,\n height: n,\n positionX: x,\n positionY: z,\n startTime: v,\n duration: u,\n uris: g.Z(),\n width: m,\n sprite: B\n });\n });\n };\n r.kg = function (a) {\n if (this.i && this.j) {\n var b = this.i.textStreams.find(function (d) {\n return d.id == a.id;\n });\n b && b != this.j.o && (Xl(this.u.h, b, !1), tk(this.j, b), ln(this), this.lb = b.language);\n } else if (this.h && this.h.src && this.h.textTracks) {\n b = bn(this);\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value, je(c) == a.id ? c.mode = this.da ? "showing" : "hidden" : c.mode = "disabled";\n ln(this);\n }\n };\n r.lf = function (a, b, c) {\n b = void 0 === b ? !1 : b;\n c = void 0 === c ? 0 : c;\n if (this.i && this.j) {\n this.g.abr.enabled && Sa("Changing tracks while abr manager is enabled will likely result in the selected track being overriden. Consider disabling abr before calling selectVariantTrack().");\n var d = this.i.variants.find(function (e) {\n return e.id == a.id;\n });\n d && oe(d) && (Km(this, d, !1, b, c), this.kb = new Ie(d, this.g.mediaSource.codecSwitchingStrategy, this.g.manifest.dash.enableAudioGroups), Wm(this));\n } else if (this.h && this.h.audioTracks) for (b = Array.from(this.h.audioTracks), b = t(b), c = b.next(); !c.done;
1 c = b.next()) if (c = c.value, je(c) == a.id) {\n mn(this, c);\n break;\n }\n };\n r.Pg = function () {\n return nn(this.Cb());\n };\n r.ih = function () {\n return nn(this.jc());\n };\n r.Og = function () {\n return Array.from(on(this.Cb()));\n };\n r.hh = function () {\n return Array.from(on(this.jc()));\n };\n r.jg = function (a, b, c, d) {\n c = void 0 === c ? 0 : c;\n d = void 0 === d ? 0 : d;\n if (this.i && this.C) {\n this.kb = new Je(a, b || "", c, "", !1, "", "", "", this.g.mediaSource.codecSwitchingStrategy, this.g.manifest.dash.enableAudioGroups);\n a = function a(g, h) {\n return g.video || h.video ? g.video && h.video ? Math.abs((g.video.height || 0) - (h.video.height || 0)) + Math.abs((g.video.width || 0) - (h.video.width || 0)) : Infinity : 0;\n };\n b = this.j.j;\n var e = this.kb.create(this.i.variants);\n c = null;\n e = t(e.values());\n for (var f = e.next(); !f.done; f = e.next()) if (f = f.value, !c || a(c, b) > a(f, b)) c = f;\n c ? (a = ge(c), this.lf(a, !0, d)) : jn(this);\n } else this.h && this.h.audioTracks && (d = qe(this.Cb(), a, b || "", !1)[0]) && this.lf(d);\n };\n r.kf = function (a, b, c) {\n c = void 0 === c ? !1 : c;\n if (this.i && this.C) {\n if (this.lb = a, this.Kc = b || "", this.Jc = c, (a = qe(this.i.textStreams, this.lb, this.Kc, this.Jc)[0] || null) && a != this.j.o && (Xl(this.u.h, a, !1), this.g.streaming.alwaysStreamText || this.Me())) tk(this.j, a), ln(this);\n } else (a = qe(this.jc(), a, b || "", c)[0]) && this.kg(a);\n };\n r.Wh = function (a, b, c) {\n b = void 0 === b ? !0 : b;\n c = void 0 === c ? 0 : c;\n if (this.i && this.C) {\n for (var d = null, e = t(this.i.variants), f = e.next(); !f.done; f = e.next()) if (f = f.value, f.audio.label == a) {\n d = f;\n break;\n }\n null != d && (this.kb = new Je(d.language, "", 0, "", !1, "", a, "", this.g.mediaSource.codecSwitchingStrategy, this.g.manifest.dash.enableAudioGroups), jn(this, b, c));\n } else if (this.h && this.h.audioTracks) {\n c = Array.from(this.h.audioTracks);\n b = null;\n c = t(c);\n for (d = c.next(); !d.done; d = c.next()) d = d.value, d.label == a && (b = d);\n b && mn(this, b);\n }\n };\n r.Me = function () {\n var a = this.da;\n return this.G && this.l == Mm ? this.G.F.isTextVisible() : this.h && this.h.src && this.h.textTracks ? bn(this).some(function (b) {\n return "showing" == b.mode;\n }) : a;\n };\n r.Pf = function () {\n return this.h && this.h.src && this.h.textTracks ? pn(this).map(function (a) {\n return le(a);\n }) : [];\n };\n r.Rg = function (a) {\n if (!this.h || !this.h.src || !this.h.textTracks) return [];\n var b = dd(a),\n c = pn(this).filter(function (h) {\n return dd(h.language) == b;\n });\n if (!c || !c.length) return [];\n a = [];\n var d = new Set();\n c = t(c);\n for (var e = c.next(); !e.done; e = c.next()) if ((e = e.value) && e.cues) {\n e = t(e.cues);\n for (var f = e.next(); !f.done; f = e.next()) {\n var g = f.value;\n (f = g.id) && "" != f || (f = g.startTime + "-" + g.endTime + "-" + g.text);\n g = {\n id: f,\n title: g.text,\n startTime: g.startTime,\n endTime: g.endTime\n };\n d.has(f) || (a.push(g), d.add(f));\n }\n }\n return a;\n };\n function bn(a) {\n return Array.from(a.h.textTracks).filter(function (b) {\n return "metadata" != b.kind && "chapters" != b.kind && "Shaka Player TextTrack" != b.label;\n });\n }\n function en(a) {\n return Array.from(a.h.textTracks).filter(function (b) {\n return "metadata" == b.kind;\n });\n }\n function pn(a) {\n return Array.from(a.h.textTracks).filter(function (b) {\n return "chapters" == b.kind;\n });\n }\n r.og = function (a) {\n a = !!a;\n if (this.da != a) {\n this.da = a;\n if (this.l == Mm) this.G.F.setTextVisibility(a), this.g.streaming.alwaysStreamText || (a ? this.j.o || (a = qe(this.i.textStreams, this.lb, this.Kc, this.Jc), 0 < a.length && (tk(this.j, a[0]), ln(this))) : pk(this.j));else if (this.h && this.h.src && this.h.textTracks) {\n var b = bn(this);\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value, "disabled" != c.mode && (c.mode = a ? "showing" : "hidden");\n }\n Um(this);\n }\n };\n r.dh = function () {\n if (!this.R()) return null;\n if (this.C) var a = this.C.qd();else {\n if (null == this.ma) return new Date();\n a = this.ma;\n }\n if (this.i) return new Date(1E3 * (this.i.presentationTimeline.i + a));\n if (this.h && this.h.getStartDate) {\n var b = this.h.getStartDate();\n return isNaN(b.getTime()) ? null : new Date(b.getTime() + 1E3 * a);\n }\n return null;\n };\n r.Sf = function () {\n if (!this.R()) return null;\n if (this.i) return new Date(1E3 * this.i.presentationTimeline.i);\n if (this.h && this.h.getStartDate) {\n var a = this.h.getStartDate();\n return isNaN(a.getTime()) ? null : a;\n }\n return null;\n };\n r.pb = function () {\n if (this.l == Mm) return this.G.pb();\n var a = {\n total: [],\n audio: [],\n video: [],\n text: []\n };\n this.l == $m && (a.total = Nh(this.h.buffered));\n return a;\n };\n r.getStats = function () {\n if (this.l != Mm && this.l != $m) return {\n width: NaN,\n height: NaN,\n streamBandwidth: NaN,\n decodedFrames: NaN,\n droppedFrames: NaN,\n corruptedFrames: NaN,\n stallsDetected: NaN,\n gapsJumped: NaN,\n estimatedBandwidth: NaN,\n completionPercent: NaN,\n loadLatency: NaN,\n manifestTimeSeconds: NaN,\n drmTimeSeconds: NaN,\n playTime: NaN,\n pauseTime: NaN,\n bufferingTime: NaN,\n licenseTime: NaN,\n liveLatency: NaN,\n maxSegmentDuration: NaN,\n switchHistory: [],\n stateHistory: []\n };\n Hm(this);\n var a = this.h,\n b = a.currentTime / a.duration;\n if (!isNaN(b)) {\n var c = this.u;\n b = Math.round(100 * b);\n c.i = isNaN(c.i) ? b : Math.max(c.i, b);\n }\n this.C && (this.u.K = this.C.Af(), this.u.N = this.C.Bf());\n if (a.getVideoPlaybackQuality) {\n c = a.getVideoPlaybackQuality();\n b = this.u;\n var d = Number(c.totalVideoFrames);\n b.J = Number(c.droppedVideoFrames);\n b.I = d;\n this.u.H = Number(c.corruptedVideoFrames);\n }\n this.m ? (c = this.m, c = c.I ? c.I : NaN) : c = NaN;\n this.u.s = c;\n if (this.l == Mm) {\n c = this.j.j;\n b = this.j.o;\n if (c) {\n d = this.I ? this.I.h : 1;\n var e = d * c.bandwidth;\n b && b.bandwidth && (e += d * b.bandwidth);\n this.u.A = e;\n }\n c && c.video && (b = this.u, d = c.video.height || NaN, b.o = c.video.width || NaN, b.l = d);\n this.R() && (c = this.Sf().valueOf() + 1E3 * a.currentTime, this.u.C = (Date.now() - c) / 1E3);\n this.i && this.i.presentationTimeline && (this.u.G = this.i.presentationTimeline.g);\n c = this.s.getBandwidthEstimate();\n this.u.u = c;\n }\n this.l == $m && (c = this.u, b = a.videoHeight || NaN, c.o = a.videoWidth || NaN, c.l = b);\n var f = this.u;\n a = f.o;\n c = f.l;\n b = f.A;\n d = f.I;\n e = f.J;\n var g = f.H,\n h = f.N,\n k = f.K,\n l = f.u,\n m = f.i,\n n = f.m,\n q = f.F,\n p = f.j,\n u = Ul(f.g, "playing"),\n v = Ul(f.g, "paused"),\n x = Ul(f.g, "buffering"),\n z = f.s,\n y = f.C,\n B = f.G,\n A = Vl(f.g),\n D = [];\n f = t(f.h.g);\n for (var F = f.next(); !F.done; F = f.next()) F = F.value, D.push({\n timestamp: F.timestamp,\n id: F.id,\n type: F.type,\n fromAdaptation: F.fromAdaptation,\n bandwidth: F.bandwidth\n });\n return {\n width: a,\n height: c,\n streamBandwidth: b,\n decodedFrames: d,\n droppedFrames: e,\n corruptedFrames: g,\n stallsDetected: h,\n gapsJumped: k,\n estimatedBandwidth: l,\n completionPercent: m,\n loadLatency: n,\n manifestTimeSeconds: q,\n drmTimeSeconds: p,\n playTime: u,\n pauseTime: v,\n bufferingTime: x,\n licenseTime: z,\n liveLatency: y,\n maxSegmentDuration: B,\n stateHistory: A,\n switchHistory: D\n };\n };\n r.Bg = function (a, b, c, d, e, f, g) {\n g = void 0 === g ? !1 : g;\n var h = this,\n k,\n l,\n m,\n n,\n q,\n p,\n u,\n v,\n x,\n z,\n y,\n B;\n return K(function (A) {\n switch (A.g) {\n case 1:\n if (h.l != Mm && h.l != $m) throw new O(1, 7, 7004);\n "subtitles" != c && "captions" != c && Sa("Using a kind value different of `subtitles` or `captions` can cause unwanted issues.");\n if (d) {\n A.B(2);\n break;\n }\n return C(A, qn(h, a), 3);\n case 3:\n d = A.h;\n case 2:\n k = [];\n h.A && (k = h.A.getCuePoints());\n if (h.l != $m) {\n A.B(4);\n break;\n }\n g && (c = "forced");\n return C(A, rn(h, a, b, c, d, f || "", k), 5);\n case 5:\n l = dd(b);\n m = h.jc();\n if (n = m.find(function (D) {\n return dd(D.language) == l && D.label == (f || "") && D.kind == c;\n })) return Gm(h), A["return"](n);\n throw new O(1, 2, 2012);\n case 4:\n q = Ec;\n p = h.h.duration;\n h.i && (p = h.i.presentationTimeline.getDuration());\n if (Infinity == p) throw new O(1, 4, 4033);\n if (!k.length) {\n A.B(6);\n break;\n }\n return C(A, sn(h, a, h.H, h.g.streaming.retryParameters), 7);\n case 7:\n u = A.h, v = tn(h, u, d, k), x = new Blob([v], {\n type: "text/vtt"\n }), a = Gi(x), d = "text/vtt";
1\n case 6:\n z = {\n id: h.We++,\n originalId: null,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: Ij(0, p, [a]),\n mimeType: d || "",\n codecs: e || "",\n kind: c,\n encrypted: !1,\n drmInfos: [],\n keyIds: new Set(),\n language: b,\n originalLanguage: b,\n label: f || null,\n type: q.na,\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: [],\n forced: !!g,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n accessibilityPurpose: null,\n external: !0,\n fastSwitching: !1\n };\n y = Gc(z.mimeType, z.codecs);\n B = Qc(y);\n if (!B) throw new O(2, 2, 2014, d);\n h.i.textStreams.push(z);\n Gm(h);\n return A["return"](he(z));\n }\n });\n };\n r.Cg = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l,\n m,\n n,\n q,\n p,\n u,\n v,\n x,\n z,\n y;\n return K(function (B) {\n switch (B.g) {\n case 1:\n if (c.l != Mm && c.l != $m) throw new O(1, 7, 7004);\n if (b) {\n B.B(2);\n break;\n }\n return C(B, qn(c, a), 3);\n case 3:\n b = B.h;\n case 2:\n if ("text/vtt" != b) throw new O(1, 2, 2017, a);\n d = Ec;\n e = c.h.duration;\n c.i && (e = c.i.presentationTimeline.getDuration());\n if (Infinity == e) throw new O(1, 4, 4045);\n return C(B, sn(c, a, c.H, c.g.streaming.retryParameters), 4);\n case 4:\n f = B.h;\n g = Rc[b];\n if (!g) throw new O(2, 2, 2014, b);\n h = g();\n k = {\n periodStart: 0,\n segmentStart: 0,\n segmentEnd: e,\n vttOffset: 0\n };\n l = hb(f);\n m = h.parseMedia(l, k, a);\n n = [];\n q = {};\n p = t(m);\n for (u = p.next(); !u.done; q = {\n Dc: q.Dc,\n Hb: q.Hb\n }, u = p.next()) q.Hb = u.value, q.Dc = null, v = function (A) {\n return function () {\n null == A.Dc && (A.Dc = xc([a], [A.Hb.payload]));\n return A.Dc || [];\n };\n }(q), x = new S(q.Hb.startTime, q.Hb.endTime, v, 0, null, null, 0, 0, Infinity), q.Hb.payload.includes("#xywh") && (z = q.Hb.payload.split("#xywh=")[1].split(","), 4 === z.length && x.pg({\n height: parseInt(z[3], 10),\n positionX: parseInt(z[0], 10),\n positionY: parseInt(z[1], 10),\n width: parseInt(z[2], 10)\n })), n.push(x);\n y = {\n id: c.We++,\n originalId: null,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: new Fj(n),\n mimeType: b || "",\n codecs: "",\n kind: "",\n encrypted: !1,\n drmInfos: [],\n keyIds: new Set(),\n language: "und",\n originalLanguage: null,\n label: null,\n type: d.he,\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: [],\n forced: !1,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n tilesLayout: "1
1x1",\n accessibilityPurpose: null,\n external: !0,\n fastSwitching: !1\n };\n c.l == $m ? c.Oc.push(y) : c.i.imageStreams.push(y);\n Gm(c);\n return B["return"](ie(y));\n }\n });\n };\n r.Ag = function (a, b, c) {\n var d = this,\n e,\n f,\n g,\n h;\n return K(function (k) {\n switch (k.g) {\n case 1:\n if (d.l != Mm && d.l != $m) throw new O(1, 7, 7004);\n if (c) {\n k.B(2);\n break;\n }\n return C(k, qn(d, a), 3);\n case 3:\n c = k.h;\n case 2:\n return e = [], d.A && (e = d.A.getCuePoints()), C(k, rn(d, a, b, "chapters", c, "", e), 4);\n case 4:\n f = k.h;\n g = d.Pf();\n h = g.find(function (l) {\n return l.language == b;\n });\n if (!h) {\n k.B(5);\n break;\n }\n return C(k, new Promise(function (l, m) {\n d.o.ja(f, "load", l);\n d.o.ja(f, "error", function () {\n m(new O(1, 2, 2015));\n });\n }), 6);\n case 6:\n return Gm(d), k["return"](h);\n case 5:\n throw new O(1, 2, 2012);\n }\n });\n };\n function qn(a, b) {\n var c;\n return K(function (d) {\n switch (d.g) {\n case 1:\n return sa(d, 2), C(d, Nk(b, a.H, a.g.streaming.retryParameters), 4);\n case 4:\n c = d.h;\n ua(d, 3);\n break;\n case 2:\n va(d);\n case 3:\n if (c) return d["return"](c);\n throw new O(1, 2, 2011, b);\n }\n });\n }\n function rn(a, b, c, d, e, f, g) {\n var h, k, l, m;\n return K(function (n) {\n if (1 == n.g) return "text/vtt" != e || g.length ? C(n, sn(a, b, a.H, a.g.streaming.retryParameters), 3) : n.B(2);\n 2 != n.g && (h = n.h, k = tn(a, h, e, g), l = new Blob([k], {\n type: "text/vtt"\n }), b = Gi(l), e = "text/vtt");\n m = document.createElement("track");\n var q = a.V,\n p = b;\n try {\n if (q.g.enabled) {\n var u = jl(q);\n u.ot = vl;\n u.su = !0;\n var v = nl(u);\n var x = ol(p, v);\n } else x = p;\n } catch (z) {\n Ta("CMCD_TEXT_TRACK_ERROR", "Could not generate text track CMCD data.", z), x = p;\n }\n m.src = x;\n m.label = f;\n m.kind = d;\n m.srclang = c;\n a.h.getAttribute("crossorigin") || a.h.setAttribute("crossorigin", "anonymous");\n a.h.appendChild(m);\n return n["return"](m);\n });\n }\n function sn(a, b, c, d) {\n var e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n e = wf;\n f = qf([b], d);\n f.method = "GET";\n var k = a.V;\n try {\n k.g.enabled && pl(k, f, {\n ot: vl,\n su: !0\n });\n } catch (l) {\n Ta("CMCD_TEXT_ERROR", "Could not generate text CMCD data.", l);\n }\n return C(h, c.request(e, f).promise, 2);\n }\n g = h.h;\n return h["return"](g.data);\n });\n }\n function tn(a, b, c, d) {\n var e = Rc[c];\n if (e) return c = e(), a = {\n periodStart: 0,\n segmentStart: 0,\n segmentEnd: a.h.duration,\n vttOffset: 0\n }, b = hb(b), b = c.parseMedia(b, a, null), gl(b, d);\n throw new O(2, 2, 2014, c);\n }\n r.pf = function (a, b) {\n this.Id.width = a;\n this.Id.height = b;\n };\n r.gf = function (a) {\n if (this.l == Mm) {\n var b = this.j;\n a = void 0 === a ? .1 : a;\n if (b.l.g) b = !1;else if (b.s) b = !1;else {\n for (var c = t(b.i.values()), d = c.next(); !d.done; d = c.next()) d = d.value, !d.Tc || d.Da || d.ib || (d.Tc = !1, ok(b, d, a));\n b = !0;\n }\n } else b = !1;\n return b;\n };\n r.Yg = function () {\n Sa("Shaka Player\'s internal Manifest structure is NOT covered by semantic versioning compatibility guarantees. It may change at any time! Please consider filing a feature request for whatever you use getManifest() for.");\n return this.i;\n };\n r.Zg = function () {\n return this.Ld;\n };\n function $l(a) {\n var b = Ql();\n b.streaming.failureCallback = function (c) {\n if (a.R()) {\n var d = null;\n 1001 == c.code || 1002 == c.code ? d = 1 : 1003 == c.code && (d = .1);\n null != d && (c.severity = 1, a.gf(d));\n }\n };\n b.textDisplayFactory = function () {\n return a.xd ? new Yk(a.h, a.xd) : HTMLMediaElement.prototype.addTextTrack ? new Sk(a.h, "Shaka Player TextTrack") : new Vk();\n };\n return b;\n }\n r.rg = function (a) {\n this.xd = a;\n };\n function Am(a, b) {\n for (var c = new Set(), d = t(b.textStreams), e = d.next(); !e.done; e = d.next()) e = e.value, "application/cea-608" != e.mimeType && "application/cea-708" != e.mimeType || c.add(e.originalId);\n d = t(b.variants);\n for (e = d.next(); !e.done; e = d.next()) if ((e = e.value.video) && e.closedCaptions) for (var f = t(e.closedCaptions.keys()), g = f.next(); !g.done; g = f.next()) if (g = g.value, !c.has(g)) {\n var h = g.startsWith("
1CC") ? "application/cea-608" : "application/cea-708",\n k = new Jj(),\n l = e.closedCaptions.get(g);\n h = {\n id: a.We++,\n originalId: g,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: k,\n mimeType: h,\n codecs: "",\n kind: "caption",\n encrypted: !1,\n drmInfos: [],\n keyIds: new Set(),\n language: l,\n originalLanguage: l,\n label: null,\n type: Dc,\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: e.roles,\n forced: !1,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n accessibilityPurpose: null,\n external: !1,\n fastSwitching: !1\n };\n b.textStreams.push(h);\n c.add(g);\n }\n }\n function zm(a, b) {\n return K(function (c) {\n if (1 == c.g) return C(c, un(a, b), 2);\n hn(a, b);\n E(c);\n });\n }\n function un(a, b) {\n return K(function (c) {\n if (1 == c.g) return C(c, Rd(a.m, b), 2);\n if (!b.variants.some(oe)) throw new O(2, 4, 4032);\n E(c);\n });\n }\n function hn(a, b) {\n if (a.l != im) {\n Qd(b.variants, a.g.restrictions, a.Id) && a.j && Gm(a);\n var c = a.m ? a.m.g : null;\n if (c && a.m.s) for (var d = t(b.variants), e = d.next(); !e.done; e = d.next()) e = e.value, Bm(a, c.keySystem, e.video), Bm(a, c.keySystem, e.audio);\n vn(a, b);\n }\n }\n function Bm(a, b, c) {\n if (c) {\n c = t(c.drmInfos);\n for (var d = c.next(); !d.done; d = c.next()) if (d = d.value, d.keySystem == b) {\n d = t(d.initData || []);\n for (var e = d.next(); !e.done; e = d.next()) e = e.value, $g(a.m, e.initDataType, e.initData);\n }\n }\n }\n function Sm(a, b) {\n var c, d, e, f, g;\n return K(function (h) {\n if (1 == h.g) return c = a.audio, d = a.video, e = function e(k, l) {\n var m, n, q;\n return K(function (p) {\n if (1 == p.g) return k ? C(p, k.createSegmentIndex(), 2) : p["return"](null);\n n = (m = k.segmentIndex.Nb(l)) ? m.next().value : null;\n if (!n) return p["return"](null);\n q = n.startTime;\n return p["return"](q);\n });\n }, C(h, e(c, b), 2);\n if (3 != h.g) return f = h.h, C(h, e(d, b), 3);\n g = h.h;\n return null != g && null != f ? h["return"](Math.max(g, f)) : null != g ? h["return"](g) : null != f ? h["return"](f) : h["return"](b);\n });\n }\n function om(a) {\n var b = a.Ke();\n if (a.u && a.K && a.C) {\n if (a.V) {\n var c = a.V;\n b || c.i || (c.i = !0);\n c.i && b && (c.j = !0);\n c.l = b;\n }\n Hm(a);\n }\n b = new Map().set("buffering", b);\n a.dispatchEvent(hm("buffering", b));\n }\n function Im(a) {\n var b = a.h.playbackRate;\n 0 != b && (a.I && a.I.set(b), b = hm("ratechange"), a.dispatchEvent(b));\n }\n function Hm(a) {\n if (a.u && a.K) {\n var b = a.u.g,\n c = "playing";\n a.K.g == Ue ? c = "buffering" : a.h.paused ? c = "paused" : a.h.ended && (c = "ended");\n var d = c;\n if (null == b.g) b.g = {\n timestamp: Date.now() / 1E3,\n state: d,\n duration: 0\n }, b = !0;else {\n var e = Date.now() / 1E3;\n b.g.duration = e - b.g.timestamp;\n b.g.state == d ? b = !1 : (b.h.push(b.g), b.g = {\n timestamp: e,\n state: d,\n duration: 0\n }, b = !0);\n }\n b && (c = new Map().set("newstate", c), a.dispatchEvent(hm("statechanged", c)));\n }\n }\n function Xm(a) {\n if (a.R()) {\n var b = a.Eb();\n if (Number.isFinite(b.end) && !(a.h.currentTime < b.start)) {\n if (a.g.streaming.liveSync) {\n var c = a.g.streaming.liveSyncMaxLatency;\n var d = a.g.streaming.liveSyncPlaybackRate;\n } else a.i && a.i.serviceDescription && (c = a.i.serviceDescription.maxLatency || a.g.streaming.liveSyncMaxLatency, d = a.i.serviceDescription.maxPlaybackRate || a.g.streaming.liveSyncPlaybackRate);\n if (a.g.streaming.liveSync) {\n var e = a.g.streaming.liveSyncMinLatency;\n var f = a.g.streaming.liveSyncMinPlaybackRate;\n } else a.i && a.i.serviceDescription && (e = a.i.serviceDescription.minLatency || a.g.streaming.liveSyncMinLatency, f = a.i.serviceDescription.minPlaybackRate || a.g.streaming.liveSyncMinPlaybackRate);\n var g = a.h.playbackRate,\n h = b.end - a.h.currentTime,\n k = 0;\n if (a.l == $m) {\n var l = a.h.buffered;\n 0 < l.length && (k = l.end(l.length - 1), k = Math.max(d, k - b.end));\n }\n c && d && h - k > c ? g != d && a.xf(d) : e && f && h - k < e ? g != f && a.xf(f) : g !== a.I.ec() && a.ud();\n }\n }\n }\n function Ym(a) {\n if (a.h) {\n var b = !1,\n c = a.h.currentTime / a.h.duration;\n isNaN(c) || (c = Math.round(100 * c), isNaN(a.N) ? (a.N = c, b = !0) : (c = Math.max(a.N, c
1), a.N != c && (a.N = c, b = !0)));\n if (b) {\n var d;\n 0 == a.N ? d = hm("started") : 25 == a.N ? d = hm("firstquartile") : 50 == a.N ? d = hm("midpoint") : 75 == a.N ? d = hm("thirdquartile") : 100 == a.N && (d = hm("complete"));\n d && a.dispatchEvent(d);\n }\n }\n }\n function Wm(a) {\n try {\n vn(a, a.i);\n } catch (c) {\n return mm(a, c), !1;\n }\n var b = pe(a.i.variants);\n b = a.kb.create(b);\n a.s.setVariants(Array.from(b.values()));\n return !0;\n }\n function Om(a, b) {\n b = void 0 === b ? !1 : b;\n return Wm(a) ? a.s.chooseVariant(b) : null;\n }\n function em(a) {\n function b(g) {\n var h = "";\n g.video && (h += "video:" + g.video.id);\n g.audio && (h = h + (h ? "&" : "") + ("audio:" + g.audio.id));\n return h;\n }\n for (var c = Date.now() / 1E3, d = !1, e = t(a.i.variants), f = e.next(); !f.done; f = e.next()) f = f.value, 0 < f.disabledUntilTime && f.disabledUntilTime <= c && (f.disabledUntilTime = 0, d = !0, Ya("Re-enabled variant with " + b(f)));\n a.i.variants.every(function (g) {\n return 0 === g.disabledUntilTime;\n }) && a.yd.stop();\n d && jn(a, !0, void 0, !1, !1);\n }\n function jn(a, b, c, d, e) {\n b = void 0 === b ? !0 : b;\n c = void 0 === c ? 0 : c;\n d = void 0 === d ? !1 : d;\n e = void 0 === e ? !0 : e;\n var f = Om(a);\n f && Km(a, f, e, b, c, d);\n }\n function Km(a, b, c, d, e, f) {\n f = void 0 === f ? !1 : f;\n var g = a.j.j;\n if (b == g) d && sk(a.j, b, d, e, !0);else {\n var h = a.u.h;\n h.h != b && (h.h = b, h.g.push({\n timestamp: Date.now() / 1E3,\n id: b.id,\n type: "variant",\n fromAdaptation: c,\n bandwidth: b.bandwidth\n }));\n sk(a.j, b, d, e, f, c);\n d = null;\n g && (d = ge(g));\n b = ge(b);\n c ? (c = new Map().set("oldTrack", d).set("newTrack", b), a.J && wi(a.J, b, a.He()), c = hm("adaptation", c), wn(a, c)) : xn(a, d, b);\n }\n }\n function mn(a, b) {\n var c = Array.from(a.h.audioTracks).find(function (d) {\n return d.enabled;\n });\n b.enabled = !0;\n b.id !== c.id && (c.enabled = !1);\n c = ne(c);\n b = ne(b);\n xn(a, c, b);\n }\n function Tm(a, b, c) {\n if (0 == a.g.autoShowText) return !1;\n if (1 == a.g.autoShowText) return !0;\n var d = dd(a.g.preferredTextLanguage);\n c = dd(c.language);\n if (2 == a.g.autoShowText) return cd(c, d);\n if (3 == a.g.autoShowText) return a = dd(b.language), cd(c, d) && !cd(a, c);\n Sa("Invalid autoShowText setting!");\n return !1;\n }\n function Gm(a) {\n var b = hm("trackschanged");\n wn(a, b);\n }\n function xn(a, b, c) {\n b = new Map().set("oldTrack", b).set("newTrack", c);\n a.J && wi(a.J, c, a.He());\n c = hm("variantchanged", b);\n wn(a, c);\n }\n function ln(a) {\n var b = hm("textchanged");\n wn(a, b);\n }\n function Um(a) {\n var b = hm("texttrackvisibility");\n wn(a, b);\n }\n function Vm(a) {\n a.g.abr.enabled || dm(a);\n var b = new Map().set("newStatus", a.g.abr.enabled);\n wn(a, hm("abrstatuschanged", b));\n }\n function dm(a, b) {\n b = void 0 === b ? !0 : b;\n if (a.l == Mm) {\n a.yd.stop();\n for (var c = t(a.i.variants), d = c.next(); !d.done; d = c.next()) d.value.disabledUntilTime = 0;\n b && Wm(a);\n }\n }\n r.wd = function (a, b) {\n if (!this.g.abr.enabled || this.l === im || !navigator.onLine) return !1;\n if (this.i.variants.some(function (f) {\n return (f = f[a.type]) && f.id !== a.id ? "audio" == a.type ? a.language === f.language : !0 : !1;\n })) {\n for (var c = t(this.i.variants), d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = d[a.type];\n e && e.id === a.id && (d.disabledUntilTime = Date.now() / 1E3 + b);\n }\n this.yd.$a(1);\n b = this.pb().video.reduce(function (f, g) {\n return f + g.end - g.start;\n }, 0);\n jn(this, !0, b, !0, !1);\n return !0;\n }\n return !1;\n };\n function mm(a, b) {\n var c, d, e;\n return K(function (f) {\n switch (f.g) {\n case 1:\n if (a.l == im) return f["return"]();\n c = !0;\n if (!(a.mb && a.i && a.j) || 3016 != b.code && 3014 != b.code && 3015 != b.code && 3018 != b.code) {\n f.B(2);\n break;\n }\n sa(f, 3);\n return C(f, Mk(a.j), 5);\n case 5:\n d = f.h;\n c = !d;\n ua(f, 2);\n break;\n case 3:\n va(f), c = !0;\n case 2:\n if (!c) return f["return"]();\n 2 === b.severity && dm(a, !1);\n e = hm("error", new Map().set("detail", b));\n a.dispatchEvent(e);\n e.defaultPrevented && (b.handled = !0);\n E(f);\n }\n });\n }\n function ym(a, b, c) {\n c = new Map().set("detail", {\n schemeIdUri: c.schemeIdUri,\n value: c.value,\n startTime: c.startTime,\n endTime: c.endTime,\n id: c.id,\n eventElement: c.eventElement\n });\n a.dispatchEvent(hm(b, c));\n }\n function lm(a) {\n if (!a.h.error) return null;\n var b = a.h.error.code;\n if (1 == b) return null;\n var c = a.h.error.msExtendedCode;\n c && (0 > c && (c += Math.pow(2, 32)), c = c.toString(16));\n return new O(2, 3, 3016, b, c, a.h.error.message);\n }\n function Em(a, b) {\n if (a.j) {\n var c = hm("keystatuschanged");\n a.dispatchEvent(c);\n var d = Object.keys(b);\n c = 1 == d.length && "00" == d[0];\n var e = !1;\n if (d.length) {\n d = t(a.i.variants);\n for (var f = d.next(); !f.done; f = d.next()) {\n f = f.value;\n var g = [];\n f.audio && g.push(f.audio);\n f.video && g.push(f.video);\n g = t(g);\n for (var h = g.next(); !h.done; h = g.next()) {\n var k = h.value;\n h = f.allowedByKeySystem;\n if (k.keyIds.size) {\n f.allowedByKeySystem = !0;\n k = t(k.keyIds);\n for (var l = k.next(); !l.done; l = k.next()) if (l = l.value, (l = b[c ? "00" : l]) || a.m.F) f.allowedByKeySystem = f.allowedByKeySystem && !!l && !yn.includes(l);\n }\n h != f.allowedByKeySystem && (e = !0);\n }\n }\n }\n if (e && (Gm(a), !Wm(a))) return;\n (b = a.j.j) && !b.allowedByKeySystem && jn(a);\n }\n }\n function Fm(a, b, c) {\n if (a.F && a.F.onExpirationUpdated) a.F.onExpirationUpdated(b, c);\n b = hm("expirationupdated");\n a.dispatchEvent(b);\n }\n function Jm(a, b, c) {\n 0 < b && (a.R() || a.qg(b));\n b = a.getDuration();\n c < b && (a.R() || a.Pa(c));\n }\n function vn(a, b) {\n a = a.m ? a.m.Bd() : {};\n var c = Object.keys(a);\n c = c.length && "00" == c[0];\n var d = !1,\n e = !1,\n f = new Set(),\n g = new Set();\n b = t(b.variants);\n for (var h = b.next(); !h.done; h = b.next()) {\n h = h.value;\n var k = [];\n h.audio && k.push(h.audio);\n h.video && k.push(h.video);\n k = t(k);\n for (var l = k.next(); !l.done; l = k.next()) if (l = l.value, l.keyIds.size) {\n l = t(l.keyIds);\n for (var m = l.next(); !m.done; m = l.next()) {\n m = m.value;\n var n = a[c ? "00" : m];\n n ? yn.includes(n) && g.add(n) : f.add(m);\n }\n }\n h.allowedByApplication ? h.allowedByKeySystem && (d = !0) : e = !0;\n }\n if (!d) throw a = {\n hasAppRestrictions: e,\n missingKeys: Array.from(f),\n restrictedKeyStatuses: Array.from(g)\n }, new O(2, 4, 4012, a);\n }\n function wn(a, b) {\n K(function (c) {\n if (1 == c.g) return C(c, Promise.resolve(), 2);\n a.l != im && a.dispatchEvent(b);\n E(c);\n });\n }\n function on(a) {\n var b = new Set();\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) c = c.value, c.language ? b.add(dd(c.language)) : b.add("und");\n return b;\n }\n function nn(a) {\n var b = new Map(),\n c = new Map();\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) {\n d = d.value;\n var e = "und",\n f = [];\n d.language && (e = dd(d.language));
1\n "variant" == d.type ? f = d.audioRoles : f = d.roles;\n f && f.length || (f = [""]);\n b.has(e) || b.set(e, new Set());\n f = t(f);\n for (var g = f.next(); !g.done; g = f.next()) g = g.value, b.get(e).add(g), d.label && (c.has(e) || c.set(e, new Map()), c.get(e).set(g, d.label));\n }\n var h = [];\n b.forEach(function (k, l) {\n k = t(k);\n for (var m = k.next(); !m.done; m = k.next()) {\n m = m.value;\n var n = null;\n c.has(l) && c.get(l).has(m) && (n = c.get(l).get(m));\n h.push({\n language: l,\n role: m,\n label: n\n });\n }\n });\n return h;\n }\n N("shaka.Player", W);\n W.prototype.setVideoContainer = W.prototype.rg;\n W.prototype.getManifestParserFactory = W.prototype.Zg;\n W.prototype.getManifest = W.prototype.Yg;\n W.prototype.retryStreaming = W.prototype.gf;\n W.prototype.setMaxHardwareResolution = W.prototype.pf;\n W.prototype.addChaptersTrack = W.prototype.Ag;\n W.prototype.addThumbnailsTrack = W.prototype.Cg;\n W.prototype.addTextTrackAsync = W.prototype.Bg;\n W.prototype.getStats = W.prototype.getStats;\n W.prototype.getBufferedInfo = W.prototype.pb;\n W.prototype.getPresentationStartTimeAsDate = W.prototype.Sf;\n W.prototype.getPlayheadTimeAsDate = W.prototype.dh;\n W.prototype.setTextTrackVisibility = W.prototype.og;\n W.prototype.getChapters = W.prototype.Rg;\n W.prototype.getChaptersTracks = W.prototype.Pf;\n W.prototype.isTextTrackVisible = W.prototype.Me;\n W.prototype.selectVariantsByLabel = W.prototype.Wh;\n W.prototype.selectTextLanguage = W.prototype.kf;\n W.prototype.selectAudioLanguage = W.prototype.jg;\n W.prototype.getTextLanguages = W.prototype.hh;\n W.prototype.getAudioLanguages = W.prototype.Og;\n W.prototype.getTextLanguagesAndRoles = W.prototype.ih;\n W.prototype.getAudioLanguagesAndRoles = W.prototype.Pg;\n W.prototype.selectVariantTrack = W.prototype.lf;\n W.prototype.selectTextTrack = W.prototype.kg;\n W.prototype.getThumbnails = W.prototype.Tf;\n W.prototype.getAllThumbnails = W.prototype.Ng;\n W.prototype.getImageTracks = W.prototype.Wg;\n W.prototype.getTextTracks = W.prototype.jc;\n W.prototype.getVariantTracks = W.prototype.Cb;\n W.prototype.cancelTrickPlay = W.prototype.ud;\n W.prototype.trickPlay = W.prototype.xf;\n W.prototype.getPlaybackRate = W.prototype.Cd;\n W.prototype.isBuffering = W.prototype.Ke;\n W.prototype.getKeyStatuses = W.prototype.Bd;\n W.prototype.getActiveSessionsMetadata = W.prototype.Fe;\n W.prototype.getExpiration = W.prototype.Qc;\n W.prototype.drmInfo = W.prototype.drmInfo;\n W.prototype.keySystem = W.prototype.keySystem;\n W.prototype.goToLive = W.prototype.ph;\n W.prototype.seekRange = W.prototype.Eb;\n W.prototype.isAudioOnly = W.prototype.sh;\n W.prototype.isInProgress = W.prototype.Rb;\n W.prototype.isLive = W.prototype.R;\n W.prototype.getAdManager = W.prototype.Of;\n W.prototype.getAssetUri = W.prototype.Ge;\n W.prototype.getNetworkingEngine = W.prototype.Ob;\n W.prototype.getMediaElement = W.prototype.ah;\n W.prototype.getManifestType = W.prototype.He;\n W.prototype.getLoadMode = W.prototype.Xg;\n W.prototype.resetConfiguration = W.prototype.Qh;\n W.prototype.getBufferFullness = W.prototype.Qg;\n W.prototype.getConfiguration = W.prototype.getConfiguration;\n W.prototype.configure = W.prototype.configure;\n W.prototype.releaseAllMutexes = W.prototype.Mh;\n W.prototype.load = W.prototype.load;\n W.prototype.updateStartTime = W.prototype.ei;\n W.prototype.unload = W.prototype.rc;\n W.prototype.detach = W.prototype.detach;\n W.prototype.attachCanvas = W.prototype.Eg;\n W.prototype.attach = W.prototype.Ic;\n W.probeSupport = function (a) {\n a = void 0 === a ? !0 : a;\n var b, c, d, e, f, g;\n return K(function (h) {\n if (1 == h.g) return b = {}, a ? C(h, sh(), 3) : h.B(2);\n 2 != h.g && (b = h.h);\n var k = {};\n if (rd()) for (var l in Ah) k[l] = !0;
1\n l = t(["application/dash+xml", "application/x-mpegurl", "application/vnd.apple.mpegurl", "application/vnd.ms-sstr+xml"]);\n for (var m = l.next(); !m.done; m = l.next()) m = m.value, k[m] = rd() ? !!Ah[m] : sd(m);\n c = k;\n l = \'video/mp4; codecs="avc1.42E01E",video/mp4; codecs="avc3.42E01E",video/mp4; codecs="hev1.1.6.L93.90",video/mp4; codecs="hvc1.1.6.L93.90",video/mp4; codecs="hev1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="hvc1.2.4.L153.B0"; eotf="smpte2084",video/mp4; codecs="vp9",video/mp4; codecs="vp09.00.10.08",video/mp4; codecs="av01.0.01M.08",video/mp4; codecs="dvh1.20.01",audio/mp4; codecs="mp4a.40.2",audio/mp4; codecs="ac-3",audio/mp4; codecs="ec-3",audio/mp4; codecs="ac-4",audio/mp4; codecs="opus",audio/mp4; codecs="flac",audio/mp4; codecs="dtsc",audio/mp4; codecs="dtse",audio/mp4; codecs="dtsx",video/webm; codecs="vp8",video/webm; codecs="vp9",video/webm; codecs="vp09.00.10.08",audio/webm; codecs="vorbis",audio/webm; codecs="opus",video/mp2t; codecs="avc1.42E01E",video/mp2t; codecs="avc3.42E01E",video/mp2t; codecs="hvc1.1.6.L93.90",video/mp2t; codecs="mp4a.40.2",video/mp2t; codecs="ac-3",video/mp2t; codecs="ec-3",text/vtt,application/mp4; codecs="wvtt",application/ttml+xml,application/mp4; codecs="stpp"\'.split(",").concat(w(Hc));\n k = {};\n l = t(l);\n for (m = l.next(); !m.done; m = l.next()) {\n m = m.value;\n k[m] = rd() ? Qc(m) ? !0 : Za(m) || ($b(m) ? !0 : !1) : sd(m);\n var n = m.split(";")[0];\n k[n] = k[n] || k[m];\n }\n d = k;\n e = {\n manifest: c,\n media: d,\n drm: b\n };\n f = zn;\n for (g in f) e[g] = f[g]();\n return h["return"](e);\n });\n };\n W.isBrowserSupported = function () {\n window.Promise || Sa("A Promise implementation or polyfill is required");\n if (!(window.Promise && window.Uint8Array && Array.prototype.forEach) || wd("Trident/")) return !1;\n var a = Id();\n return a && 9 > a || !(window.MediaKeys && window.navigator && window.navigator.requestMediaKeySystemAccess && window.MediaKeySystemAccess && window.MediaKeySystemAccess.prototype.getConfiguration) ? !1 : rd() ? !0 : sd("application/x-mpegurl");\n };\n W.setAdManagerFactory = function (a) {\n cm = a;\n };\n W.registerSupportPlugin = function (a, b) {\n zn[a] = b;\n };\n W.prototype.destroy = W.prototype.destroy;\n var im = 0,\n Zl = 1,\n Mm = 2,\n $m = 3;\n W.LoadMode = {\n DESTROYED: im,\n NOT_LOADED: Zl,\n MEDIA_SOURCE: Mm,\n SRC_EQUALS: $m\n };\n W.version = "v4.7.11";\n var An = ["4", "7"];\n Ae = new function (a) {\n this.g = a;\n this.i = Be;\n this.h = Ce;\n }(new ye(Number(An[0]), Number(An[1])));\n var yn = ["output-restricted", "internal-error"],\n zn = {},\n cm = null;\n function Bn() {\n this.h = [];\n this.j = this.i = this.g = 0;\n }\n ;\n function Cn(a, b, c) {\n var d = this;\n this.g = a;\n this.h = b;\n this.j = c;\n this.i = !1;\n this.l = this.h.getVolume();\n this.m = new Af();\n this.m.D(this.h, google.ima.AdEvent.Type.PAUSED, function () {\n d.i = !0;\n });\n this.m.D(this.h, google.ima.AdEvent.Type.RESUMED, function () {\n d.i = !1;\n });\n }\n r = Cn.prototype;\n r.getDuration = function () {\n return this.g.getDuration();\n };\n r.getMinSuggestedDuration = function () {\n return this.g.getMinSuggestedDuration();\n };\n r.getRemainingTime = function () {\n return this.h.getRemainingTime();\n };\n r.isPaused = function () {\n return this.i;\n };\n r.isSkippable = function () {\n return 0 <= this.g.getSkipTimeOffset();\n };\n r.getTimeUntilSkippable = function () {\n var a = this.g.getSkipTimeOffset();\n a = this.getRemainingTime() - a;\n return Math.max(a, 0);\n };\n r.canSkipNow = function () {\n return this.h.getAdSkippableState();\n };\n r.skip = function () {\n return this.h.skip();\n };\n r.pause = function () {\n return this.h.pause();\n };\n r.play = function () {\n return this.h.resume();\n };\n r.getVolume = function () {\n return this.h.getVolume();\n };\n r.setVolume = function (a) {\n this.j.volume = a;\n return this.h.setVolume(a);\n };\n r.isMuted = function () {\n return 0 == this.h.getVolume();\n };\n r.isLinear = function () {\n return this.g.isLinear();\n };\n r.resize = function (a, b) {\n var c = !1,\n d = this.j;\n document.fullscreenEnabled ? c = !!document.fullscreenElement : d.webkitSupportsFullscreen && (c = d.webkitDisplayingFullscreen);\n this.h.resize(a, b, c ? google.ima.ViewMode.FULLSCREEN : google.ima.ViewMode.NORMAL);\n };\n r.setMuted = function (a) {\n (this.j.muted = a) ? (this.l = this.getVolume(), this.h.setVolume(0)) : this.h.setVolume(this.l);\n };\n r.getSequenceLength = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 1 : a.getTotalAds();\n };\n r.getPositionInSequence = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 1 : a.getAdPosition();\n };\n r.getTitle = function () {\n return this.g.getTitle();\n };\n r.getDescription = function () {\n return this.g.getDescription();\n };\n r.getVastMediaBitrate = function () {\n return this.g.getVastMediaBitrate();\n };\n r.getVastMediaHeight = function () {\n return this.g.getVastMediaHeight();\n };\n r.getVastMediaWidth = function () {\n return this.g.getVastMediaWidth();\n };\n r.getAdId = function () {\n return this.g.getAdId();\n };\n r.getCreativeAdId = function () {\n return this.g.getCreativeAdId();\n };\n r.getAdvertiserName = function () {\n return this.g.getAdvertiserName();\n };\n r.getMediaUrl = function () {\n return this.g.getMediaUrl();\n };\n r.getTimeOffset = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 0 : a.getTimeOffset();\n };\n r.getPodIndex = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 0 : a.getPodIndex();\n };\n r.release = function () {\n this.h = this.g = null;\n };\n N("shaka.ads.ClientSideAd", Cn);\n Cn.prototype.release = Cn.prototype.release;\n Cn.prototype.getPodIndex = Cn.prototype.getPodIndex;\n Cn.prototype.getTimeOffset = Cn.prototype.getTimeOffset;\n Cn.prototype.getMediaUrl = Cn.prototype.getMediaUrl;\n Cn.prototype.getAdvertiserName = Cn.prototype.getAdvertiserName;\n Cn.prototype.getCreativeAdId = Cn.prototype.getCreativeAdId;\n Cn.prototype.getAdId = Cn.prototype.getAdId;\n Cn.prototype.getVastMediaWidth = Cn.prototype.getVastMediaWidth;\n Cn.prototype.getVastMediaHeight = Cn.prototype.getVastMediaHeight;\n Cn.prototype.getVastMediaBitrate = Cn.prototype.getVastMediaBitrate;\n Cn.prototype.getDescription = Cn.prototype.getDescription;\n Cn.prototype.getTitle = Cn.prototype.getTitle;\n Cn.prototype.getPositionInSequence = Cn.prototype.getPositionInSequence;\n Cn.prototype.getSequenceLength = Cn.prototype.getSequenceLength;\n Cn.prototype.setMuted = Cn.prototype.setMuted;\n Cn.prototype.resize = Cn.prototype.resize;\n Cn.prototype.isLinear = Cn.prototype.isLinear;\n Cn.prototype.isMuted = Cn.prototype.isMuted;\n Cn.prototype.setVolume = Cn.prototype.setVolume;\n Cn.prototype.getVolume = Cn.prototype.getVolume;\n Cn.prototype.play = Cn.prototype.play;\n Cn.prototype.pause = Cn.prototype.pause;\n Cn.prototype.skip = Cn.prototype.skip;\n Cn.prototype.canSkipNow = Cn.prototype.canSkipNow;\n Cn.prototype.getTimeUntilSkippable = Cn.prototype.getTimeUntilSkippable;\n Cn.prototype.isSkippable = Cn.prototype.isSkippable;\n Cn.prototype.isPaused = Cn.prototype.isPaused;\n Cn.prototype.getRemainingTime = Cn.prototype.getRemainingTime;
1\n Cn.prototype.getMinSuggestedDuration = Cn.prototype.getMinSuggestedDuration;\n Cn.prototype.getDuration = Cn.prototype.getDuration;\n function Dn(a, b, c, d, e) {\n var f = this;\n this.o = a;\n this.i = b;\n this.A = !1;\n this.s = this.C = null;\n this.F = NaN;\n this.m = e;\n this.j = null;\n this.h = new Af();\n google.ima.settings.setLocale(c);\n google.ima.settings.setDisableCustomPlaybackForIOS10Plus(!0);\n a = new google.ima.AdDisplayContainer(this.o, this.i);\n a.initialize();\n this.l = new google.ima.AdsLoader(a);\n this.l.getSettings().setPlayerType("shaka-player");\n this.l.getSettings().setPlayerVersion("v4.7.11");\n this.g = null;\n this.u = d || new google.ima.AdsRenderingSettings();\n this.h.D(this.l, google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, function (g) {\n En(f, g);\n });\n this.h.D(this.l, google.ima.AdErrorEvent.Type.AD_ERROR, function (g) {\n Fn(f, g);\n });\n this.h.D(this.i, "ended", function () {\n f.l.contentComplete();\n });\n this.h.ja(this.i, "play", function () {\n f.A = !0;\n });\n }\n Dn.prototype.configure = function (a) {\n this.C = a;\n };\n Dn.prototype.stop = function () {\n this.g && this.g.stop();\n this.o && Xk(this.o);\n };\n Dn.prototype.release = function () {\n this.stop();\n this.s && this.s.disconnect();\n this.h && this.h.release();\n this.g && this.g.destroy();\n this.l.destroy();\n };\n function Fn(a, b) {\n b.getError();\n b = new Map().set("originalEvent", b);\n a.m(new Q("ad-error", b));\n Gn(a, null);\n a.m(new Q("ad-cue-points-changed", new Map().set("cuepoints", [])));\n }\n function En(a, b) {\n a.m(new Q("ads-loaded", new Map().set("loadTime", Date.now() / 1E3 - a.F)));\n if (a.C.customPlayheadTracker) {\n var c = {\n currentTime: a.i.currentTime\n };\n a.g = b.getAdsManager(c, a.u);\n a.i.muted ? a.g.setVolume(0) : a.g.setVolume(a.i.volume);\n a.h.D(a.i, "timeupdate", function () {\n a.i.duration && (c.currentTime = a.i.currentTime);\n });\n a.h.D(a.i, "volumechange", function () {\n a.j && (a.j.setVolume(a.i.volume), a.i.muted && a.j.setMuted(!0));\n });\n } else a.g = b.getAdsManager(a.i, a.u);\n a.m(new Q("ima-ad-manager-loaded", new Map().set("imaAdManager", a.g)));\n var d = a.g.getCuePoints();\n if (d.length) {\n b = [];\n d = t(d);\n for (var e = d.next(); !e.done; e = d.next()) b.push({\n start: e.value,\n end: null\n });\n a.m(new Q("ad-cue-points-changed", new Map().set("cuepoints", b)));\n }\n Hn(a);\n try {\n a.g.init(a.i.offsetWidth, a.i.offsetHeight, In(a) ? google.ima.ViewMode.FULLSCREEN : google.ima.ViewMode.NORMAL), a.h.D(a.i, "loadeddata", function () {\n a.g.resize(a.i.offsetWidth, a.i.offsetHeight, In(a) ? google.ima.ViewMode.FULLSCREEN : google.ima.ViewMode.NORMAL);\n }), "ResizeObserver" in window ? (a.s = new ResizeObserver(function () {\n a.g.resize(a.i.offsetWidth, a.i.offsetHeight, In(a) ? google.ima.ViewMode.FULLSCREEN : google.ima.ViewMode.NORMAL);\n }), a.s.observe(a.i)) : a.h.D(document, "fullscreenchange", function () {\n a.g.resize(a.i.offsetWidth, a.i.offsetHeight, In(a) ? google.ima.ViewMode.FULLSCREEN : google.ima.ViewMode.NORMAL);\n }), a.A ? a.g.start() : a.h.ja(a.i, "play", function () {\n a.A = !0;\n a.g.start();\n });\n } catch (f) {\n Gn(a, null);\n }\n }\n function In(a) {\n if (document.fullscreenEnabled) return !!document.fullscreenElement;\n a = a.i;\n return a.webkitSupportsFullscreen ? a.webkitDisplayingFullscreen : !1;\n }\n function Hn(a) {\n function b(c, d) {\n c = new Map().set("originalEvent", c);\n a.m(new Q(d, c));\n }\n a.h.D(a.g, google.ima.AdErrorEvent.Type.AD_ERROR, function (c) {\n Fn(a, c);\n });\n a.h.D(a.g, google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, function (c) {\n Jn(a, c);\n });\n a.h.D(a.g, google.ima.AdEvent.Type.STARTED, function (c) {\n Jn(a, c);\n });\n a.h.D(a.g, google.ima.AdEvent.Type.FIRST_QUARTILE, function (c) {\n b(c, "ad-first-quartile");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.MIDPOINT, function (c) {\n b(c, "ad-midpoint");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.THIRD_QUARTILE, function (c) {\n b(c, "ad-third-quartile");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.COMPLETE, function (c) {\n b(c, "ad-complete");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, function (c) {\n Gn(a, c);\n });\n a.h.D(a.g, google.ima.AdEvent.Type.ALL_ADS_COMPLETED, function (c) {\n Gn(a, c);\n });\n a.h.D(a.g, google.ima.AdEvent.Type.SKIPPED, function (c) {\n b(c, "ad-skipped");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.VOLUME_CHANGED, function (c) {\n b(c, "ad-volume-changed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.VOLUME_MUTED, function (c) {\n b(c, "ad-muted");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.PAUSED, function (c) {\n a.j && (a.j.i = !0, b(c, "ad-paused"));\n });\n a.h.D(a.g, google.ima.AdEvent.Type.RESUMED, function (c) {\n a.j && (a.j.i = !1, b(c, "ad-resumed"));\n });\n a.h.D(a.g, google.ima.AdEvent.Type.SKIPPABLE_STATE_CHANGED, function (c) {\n a.j && b(c, "ad-skip-state-changed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.CLICK, function (c) {\n b(c, "ad-clicked");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.AD_PROGRESS, function (c) {\n b(c, "ad-progress");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.AD_BUFFERING, function (c) {\n b(c, "ad-buffering");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.IMPRESSION, function (c) {\n b(c, "ad-impression");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.DURATION_CHANGE, function (c) {\n b(c, "ad-duration-changed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.USER_CLOSE, function (c) {\n b(c, "ad-closed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.LOADED, function (c) {\n b(c, "ad-loaded");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.ALL_ADS_COMPLETED, function (c) {\n b(c, "all-ads-completed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.LINEAR_CHANGED, function (c) {\n b(c, "ad-linear-changed");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.AD_METADATA, function (c) {\n b(c, "ad-metadata");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.LOG, function (c) {\n b(c, "ad-recoverable-error");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.AD_BREAK_READY, function (c) {\n b(c, "ad-break-ready");\n });\n a.h.D(a.g, google.ima.AdEvent.Type.INTERACTION, function (c) {\n b(c, "ad-interaction");\n });\n }\n function Jn(a, b) {\n var c = b.getAd();\n c ? (a.j = new Cn(c, a.g, a.i), b = new Map().set("ad", a.j).set("sdkAdObject", c).set("originalEvent", b), a.m(new Q("ad-started", b)), a.j.isLinear() && (a.o.setAttribute("ad-active", "true"), a.i.pause(), a.i.muted ? (b = a.j, b.l = a.i.volume, b.h.setVolume(0)) : a.j.setVolume(a.i.volume))) : Sa("The IMA SDK fired a " + b.type + " event with no associated ad. Unable to play ad!");\n }\n function Gn(a, b) {\n a.m(new Q("ad-stopped", new Map().set("originalEvent", b)));\n a.j && a.j.isLinear() && (a.o.removeAttribute("ad-active"), a.i.ended || a.i.play());\n }\n ;\n function Kn(a, b, c, d, e) {\n this.h = a;\n this.g = e;\n this.i = b;\n this.j = c;\n this.l = d;\n }\n r = Kn.prototype;\n r.getDuration = function () {\n return this.h.durationInSeconds;\n };\n r.getMinSuggestedDuration = function () {\n return this.getDuration();\n };\n r.getRemainingTime = function () {\n return this.h.startTimeInSeconds + this.h.durationInSeconds - this.g.currentTime;\n };\n r.isPaused = function () {\n return this.g.paused;\n };\n r.isSkippable = function () {\n return this.h.skipOffset ? !0 : !1;\n };\n r.getTimeUntilSkippable = function () {\n if (!this.h.skipOffset) return this.getRemainingTime();\n var a = this.getRemainingTime() - this.h.skipOffset;\n return Math.max(a, 0);\n };\n r.canSkipNow = function () {\n return 0 == this.getTimeUntilSkippable();\n };\n r.skip = function () {\n this.g.currentTime += this.getRemainingTime();\n };\n r.pause = function () {\n return this.g.pause();\n };\n r.play = function () {\n return this.g.play();\n };\n r.getVolume = function () {\n return this.g.volume;\n };\n r.setVolume = function (a) {\n this.g.volume = a;\n };\n r.isMuted = function () {\n return this.g.muted;\n };\n r.isLinear = function () {\n return this.l;\n };\n r.resize = function () {};\n r.setMuted = function (a) {\n this.g.muted = a;\n };\n r.getSequenceLength = function () {\n return this.j ? this.j : 1;\n };\n r.getPositionInSequence = function () {\n return this.i ? this.i : 1;\n };\n r.getTitle = function () {\n return this.h.adTitle;\n };\n r.getDescription = function () {\n return "";\n };\n r.getVastMediaBitrate = function () {\n return 0;\n };\n r.getVastMediaHeight = function () {\n return 0;\n };\n r.getVastMediaWidth = function () {\n return 0;\n };\n r.getAdId = function () {\n return this.h.adId;\n };\n r.getCreativeAdId = function () {\n return this.h.creativeId;\n };\n r.getAdvertiserName = function () {\n return "";\n };\n r.getMediaUrl = function () {\n return null;\n };\n r.getTimeOffset = function () {\n return 0;\n };\n r.getPodIndex = function () {\n return 0;\n };\n r.release = function () {\n this.j = this.i = this.g = this.h = null;\n };\n N("shaka.ads.MediaTailorAd", Kn);\n Kn.prototype.release = Kn.prototype.release;\n Kn.prototype.getPodIndex = Kn.prototype.getPodIndex;\n Kn.prototype.getTimeOffset = Kn.prototype.getTimeOffset;\n Kn.prototype.getMediaUrl = Kn.prototype.getMediaUrl;\n Kn.prototype.getAdvertiserName = Kn.prototype.getAdvertiserName;
1\n Kn.prototype.getCreativeAdId = Kn.prototype.getCreativeAdId;\n Kn.prototype.getAdId = Kn.prototype.getAdId;\n Kn.prototype.getVastMediaWidth = Kn.prototype.getVastMediaWidth;\n Kn.prototype.getVastMediaHeight = Kn.prototype.getVastMediaHeight;\n Kn.prototype.getVastMediaBitrate = Kn.prototype.getVastMediaBitrate;\n Kn.prototype.getDescription = Kn.prototype.getDescription;\n Kn.prototype.getTitle = Kn.prototype.getTitle;\n Kn.prototype.getPositionInSequence = Kn.prototype.getPositionInSequence;\n Kn.prototype.getSequenceLength = Kn.prototype.getSequenceLength;\n Kn.prototype.setMuted = Kn.prototype.setMuted;\n Kn.prototype.resize = Kn.prototype.resize;\n Kn.prototype.isLinear = Kn.prototype.isLinear;\n Kn.prototype.isMuted = Kn.prototype.isMuted;\n Kn.prototype.setVolume = Kn.prototype.setVolume;\n Kn.prototype.getVolume = Kn.prototype.getVolume;\n Kn.prototype.play = Kn.prototype.play;\n Kn.prototype.pause = Kn.prototype.pause;\n Kn.prototype.skip = Kn.prototype.skip;\n Kn.prototype.canSkipNow = Kn.prototype.canSkipNow;\n Kn.prototype.getTimeUntilSkippable = Kn.prototype.getTimeUntilSkippable;\n Kn.prototype.isSkippable = Kn.prototype.isSkippable;\n Kn.prototype.isPaused = Kn.prototype.isPaused;\n Kn.prototype.getRemainingTime = Kn.prototype.getRemainingTime;\n Kn.prototype.getMinSuggestedDuration = Kn.prototype.getMinSuggestedDuration;\n Kn.prototype.getDuration = Kn.prototype.getDuration;\n function Ln(a, b, c, d) {\n this.A = a;\n this.I = b;\n this.g = c;\n this.l = null;\n this.W = NaN;\n this.i = d;\n this.H = !1;\n this.u = null;\n this.j = [];\n this.K = [];\n this.J = this.C = this.h = null;\n this.F = new Map();\n this.m = [];\n this.s = [];\n this.N = "";\n this.V = !0;\n this.G = "";\n this.o = new Af();\n }\n Ln.prototype.stop = function () {\n for (var a = t(this.m), b = a.next(); !b.done; b = a.next()) b = b.value, this.o.Vb(b.target, b.type, b.listener);\n Mn(this);\n this.m = [];\n this.s = [];\n this.N = "";\n this.V = !0;\n this.G = "";\n this.u = null;\n this.j = [];\n this.K = [];\n this.F.clear();\n };\n Ln.prototype.release = function () {\n this.stop();\n this.o && this.o.release();\n };\n Ln.prototype.onManifestUpdated = function (a) {\n this.H = a;\n "" != this.N && (Nn(this, this.N, this.V), this.V = !1);\n };\n Ln.prototype.getCuePoints = function () {\n for (var a = [], b = t(this.j), c = b.next(); !c.done; c = b.next()) {\n c = t(c.value.ads);\n for (var d = c.next(); !d.done; d = c.next()) d = d.value, a.push({\n start: d.startTimeInSeconds,\n end: d.startTimeInSeconds + d.durationInSeconds\n });\n }\n return a;\n };\n function On(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p;\n K(function (u) {\n if (1 == u.g) return d = qf([b], Xe()), d.method = "POST", c && (e = JSON.stringify(c), d.body = Rf(e)), f = a.I.request(7, d), sa(u, 2), C(u, f.promise, 4);\n if (2 != u.g) {\n g = u.h;\n h = Nf(g.data);\n k = JSON.parse(h);\n if (k.manifestUrl && k.trackingUrl) l = new fc(b), m = new fc(k.trackingUrl), a.N = l.resolve(m).toString(), n = Date.now() / 1E3, q = n - a.W, a.i(new Q("ads-loaded", new Map().set("loadTime", q))), p = new fc(k.manifestUrl), a.l.resolve(l.resolve(p).toString()), a.l = null;else throw Error("Insufficient data from MediaTailor.");\n return ua(u, 0);\n }\n va(u);\n if (!a.G.length) return a.l.reject("MediaTailor request returned an error and there was no backup asset uri provided."), a.l = null, u["return"]();\n a.l.resolve(a.G);\n a.l = null;\n E(u);\n });\n }\n function Nn(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z;\n K(function (y) {\n if (1 == y.g) return d = qf([b], Xe()), e = a.I.request(7, d), sa(y, 2), C(y, e.promise, 4);\n if (2 != y.g) {\n f = y.h;\n g = [];\n h = Nf(f.data);\n k = JSON.parse(h);\n if (0 < k.avails.length) {\n if (JSON.stringify(a.j) != JSON.stringify(k.avails)) {\n a.j = k.avails;\n l = t(a.j);\n for (m = l.next(); !m.done; m = l.next()) for (n = m.value, q = t(n.nonLinearAdsList), p = q.next(); !p.done; p = q.next()) for (u = p.value, v = t(u.nonLinearAdList), x = v.next(); !x.done; x = v.next()) z = x.value, Pn(a, z);\n g = a.getCuePoints();\n a.i(new Q("ad-cue-points-changed", new Map().set("cuepoints", g)));\n }\n } else a.j.length && a.i(new Q("ad-cue-points-changed", new Map().set("cuepoints", g))), Mn(a), a.j = [];\n c && (a.H || 0 < g.length) && Qn(a);\n return ua(y, 0);\n }\n va(y);\n E(y);\n });\n }\n function Pn(a, b) {\n var c, d, e, f, g, h, k, l;\n K(function (m) {\n if (1 == m.g) {\n if (!b.staticResource) return m["return"]();\n c = Rn(b);\n if (d = a.F.get(c)) return m["return"]();\n e = qf([b.staticResource], Xe());\n f = a.I.request(7, e);\n sa(m, 2);\n a.F.set(c, []);\n return C(m, f.promise, 4);\n }\n if (2 != m.g) return g = m.h, h = Nf(g.data), k = JSON.parse(h), l = k.apps, a.F.set(c, l), ua(m, 0);\n va(m);\n a.F["delete"](c);\n E(m);\n });\n }\n function Rn(a) {\n return [a.adId, a.adParameters, a.adSystem, a.adTitle, a.creativeAdId, a.creativeId, a.creativeSequence, a.height, a.width, a.staticResource].join("");\n }\n function Qn(a) {\n Sn(a);\n a.H || (Tn(a), a.o.D(a.g, "seeked", function () {\n Tn(a);\n }), a.o.D(a.g, "ended", function () {\n Mn(a);\n }));\n a.o.D(a.g, "timeupdate", function () {\n Sn(a);\n });\n }\n function Tn(a) {\n var b = a.g.currentTime;\n if (0 != b && null == a.u) {\n for (var c, d, e = t(a.j), f = e.next(); !f.done; f = e.next()) {\n f = f.value;\n for (var g = t(f.ads), h = g.next(); !h.done; h = g.next()) if (h = h.value, !d) h.startTimeInSeconds < b && (d = h, c = f);else if (h.startTimeInSeconds < b && h.startTimeInSeconds > d.startTimeInSeconds + d.durationInSeconds) {\n d = h;\n c = f;\n break;\n }\n }\n c && d && !a.K.includes(d.adId) && (a.u = b, a.g.currentTime = c.startTimeInSeconds);\n }\n }\n function Sn(a) {\n if (a.g.duration && (a.h || a.j.length)) {\n var b = a.g.currentTime,\n c = !1;\n if (a.h) {\n c = !0;\n var d = a.C,\n e = d.startTimeInSeconds + .5 * d.durationInSeconds,\n f = d.startTimeInSeconds + .75 * d.durationInSeconds;\n b >= d.startTimeInSeconds + .25 * d.durationInSeconds && !a.s.includes("firstQuartile") ? (a.s.push("firstQuartile"), Un(a, "firstQuartile")) : b >= e && !a.s.includes("midpoint") ? (a.s.push("midpoint"), Un(a, "midpoint")) : b >= f && !a.s.includes("thirdQuartile") && (a.s.push("thirdQuartile"), Un(a, "thirdQuartile"));\n d = a.h.getRemainingTime();\n e = a.h.getDuration();\n 0 < e && (0 >= d || d > e) && Mn(a);\n }\n if (!a.h || !a.h.isLinear()) {\n a: for (d = t(a.j), e = d.next(); !e.done; e = d.next()) {\n e = e.value;\n if (a.h && a.h.isLinear()) break;\n for (f = 0; f < e.ads.length; f++) {\n var g = e.ads[f],\n h = g.startTimeInSeconds + g.durationInSeconds;\n if (g.startTimeInSeconds <= b && h > b) {\n if (a.K.includes(g.adId)) {\n if (a.g.ended) continue;\n a.g.currentTime = h;\n break a;\n }\n Mn(a);\n a.J = e;\n a.h = new Kn(g, f + 1, e.ads.length, !0, a.g);\n a.C = g;\n 0 === f && Un(a, "breakStart");\n Vn(a);\n break;\n }\n }\n }\n if (!a.h) for (d = t(a.j), e = d.next(); !e.done; e = d.next()) {\n e = e.value;\n if (a.h) break;\n for (f = 0; f < e.nonLinearAdsList.length; f++) if (g = e.nonLinearAdsList[f], g.nonLinearAdList.length) {\n h = e.startTimeInSeconds;\n var k = a.F.get(Rn(g.nonLinearAdList[0]));\n if (h <= b && k && k.length) {\n Mn(a);\n h = a;\n k = t(k);\n for (var l = k.next(); !l.done; l = k.next()) if (l = l.value, l.data.source.length) {\n var m = document.createElement("img");\n m.src = l.data.source[0].url;\n m.style.top = (l.placeholder.top || 0) + "%";\n m.style.height = 100 - (l.placeholder.top || 0) + "%";\n m.style.left = (l.placeholder.left || 0) + "%";\n m.style.maxWidth = 100 - (l.placeholder.left || 0) + "%";\n m.style.objectFit = "contain";\n m.style.position = "absolute";\n h.A.appendChild(m);\n }\n a.J = e;\n a.h = new Kn(g, f + 1, e.ads.length, !1, a.g);\n a.C = g;\n 0 === f && Un(a, "breakStart");\n Vn(a);\n break;\n }\n }\n }\n c && !a.h && (b = a.g.currentTime, a.u && a.u > b && (a.g.currentTime = a.u), a.u = null);\n }\n }\n }\n function Mn(a) {\n if (a.h) {\n for (; a.A.lastChild;) a.A.removeChild(a.A.firstChild);\n a.H || a.K.push(a.C.adId);\n Un(a, "complete");\n for (var b = t(a.m), c = b.next(); !c.done; c = b.next()) c = c.value, a.o.Vb(c.target, c.type, c.listener);\n a.m = [];\n a.s = [];\n b = a.h.getPositionInSequence();\n c = a.h.getSequenceLength();\n b === c && Un(a, "breakEnd");\n a.h = null;\n a.C = null;\n a.J = null;\n }\n }\n function Vn(a) {\n var b = !1;\n a.g.paused ? b = !0 : (Un(a, "impression"), Un(a, "start"));\n a.m.push({\n target: a.g,\n type: "volumechange",\n listener: function listener() {\n a.g.muted && Un(a, "mute");\n }\n });\n a.m.push({\n target: a.g,\n type: "volumechange",\n listener: function listener() {\n a.g.muted || Un(a, "unmute");\n }\n });\n a.m.push({\n target: a.g,\n type: "play",\n listener: function listener() {\n b ? (Un(a, "impression"), Un(a, "start"), b = !1) : Un(a, "resume");\n }\n });\n a.m.push({\n target: a.g,\n type: "pause",\n listener: function listener() {\n Un(a, "pause");\n }\n });\n for (var c = t(a.m), d = c.next(); !d.done; d = c.next()) d = d.value, a.o.D(d.target, d.type, d.listener);\n }\n function Un(a, b) {\n var c = a.C.trackingEvents.find(function (e) {\n return e.eventType == b;\n });\n c || (c = a.J.adBreakTrackingEvents.find(function (e) {\n return e.eventType == b;\n }));\n if (c) {\n c = t(c.beaconUrls);\n for (var d = c.next(); !d.done; d = c.next()) (d = d.value) && "" != d && (d = qf([d], Xe()), d.method = "POST", a.I.request(7, d));\n }\n switch (b) {\n case "impression":\n a.i(new Q("ad-impression"));\n break;\n case "start":\n a.i(new Q("ad-started", new Map().set("ad", a.h)));\n break;\n case "mute":\n a.i(new Q("ad-muted"));\n break;\n case "unmute":\n a.i(new Q("ad-volume-changed"));\n break;\n case "resume":\n a.i(new Q("ad-resumed"));\n break;\n case "pause":\n a.i(new Q("ad-paused"));\n break;\n case "firstQuartile":\n a.i(new Q("ad-first-quartile"));\n break;\n case "midpoint":\n a.i(new Q("ad-midpoint"));\n break;\n case "thirdQuartile":\n a.i(new Q("ad-third-quartile"));\n break;\n case "complete":\n a.i(new Q("ad-complete"));\n a.i(new Q("ad-stopped"));\n break;\n case "breakStart":\n a.A.setAttribute("ad-active", "true");\n break;\n case "breakEnd":\n a.A.removeAttribute("ad-active");\n }\n }\n ;\n function Wn(a, b) {\n this.g = a;\n this.i = null;\n this.h = b;\n }\n r = Wn.prototype;\n r.getDuration = function () {\n return this.i ? this.i.duration : -1;\n };\n r.getMinSuggestedDuration = function () {\n return this.getDuration();\n };\n r.getRemainingTime = function () {\n return this.i ? this.i.duration - this.i.currentTime : -1;\n };\n r.isPaused = function () {\n return this.h.paused;\n };\n r.isSkippable = function () {\n return this.g.isSkippable();\n };\n r.getTimeUntilSkippable = function () {\n var a = this.g.getSkipTimeOffset();\n a = this.getRemainingTime() - a;\n return Math.max(a, 0);\n };\n r.canSkipNow = function () {\n return 0 == this.getTimeUntilSkippable();\n };\n r.skip = function () {\n this.h.currentTime += this.getRemainingTime();\n };\n r.pause = function () {\n return this.h.pause();\n };\n r.play = function () {\n return this.h.play();\n };\n r.getVolume = function () {\n return this.h.volume;\n };\n r.setVolume = function (a) {\n this.h.volume = a;\n };\n r.isMuted = function () {\n return this.h.muted;\n };\n r.isLinear = function () {\n return !0;\n };\n r.resize = function () {};\n r.setMuted = function (a) {\n this.h.muted = a;\n };\n r.getSequenceLength = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 1 : a.getTotalAds();\n };\n r.getPositionInSequence = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 1 : a.getAdPosition();\n };\n r.getTitle = function () {\n return this.g.getTitle();\n };\n r.getDescription = function () {\n return this.g.getDescription();\n };\n r.getVastMediaBitrate = function () {\n return 0;\n };\n r.getVastMediaHeight = function () {\n return this.g.getVastMediaHeight();\n };\n r.getVastMediaWidth = function () {\n return this.g.getVastMediaWidth();\n };\n r.getAdId = function () {\n return this.g.getAdId();\n };\n r.getCreativeAdId = function () {\n return this.g.getCreativeAdId();\n };\n r.getAdvertiserName = function () {\n return this.g.getAdvertiserName();\n };\n r.getMediaUrl = function () {\n return null;\n };\n r.getTimeOffset = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 0 : a.getTimeOffset();\n };\n r.getPodIndex = function () {\n var a = this.g.getAdPodInfo();\n return null == a ? 0 : a.getPodIndex();\n };\n r.release = function () {\n this.h = this.i = this.g = null;\n };\n N("shaka.ads.ServerSideAd", Wn);\n Wn.prototype.release = Wn.prototype.release;\n Wn.prototype.getPodIndex = Wn.prototype.getPodIndex;\n Wn.prototype.getTimeOffset = Wn.prototype.getTimeOffset;\n Wn.prototype.getMediaUrl = Wn.prototype.getMediaUrl;\n Wn.prototype.getAdvertiserName = Wn.prototype.getAdvertiserName;\n Wn.prototype.getCreativeAdId = Wn.prototype.getCreativeAdId;\n Wn.prototype.getAdId = Wn.prototype.getAdId;\n Wn.prototype.getVastMediaWidth = Wn.prototype.getVastMediaWidth;\n Wn.prototype.getVastMediaHeight = Wn.prototype.getVastMediaHeight;\n Wn.prototype.getVastMediaBitrate = Wn.prototype.getVastMediaBitrate;\n Wn.prototype.getDescription = Wn.prototype.getDescription;\n Wn.prototype.getTitle = Wn.prototype.getTitle;\n
1 Wn.prototype.getPositionInSequence = Wn.prototype.getPositionInSequence;\n Wn.prototype.getSequenceLength = Wn.prototype.getSequenceLength;\n Wn.prototype.setMuted = Wn.prototype.setMuted;\n Wn.prototype.resize = Wn.prototype.resize;\n Wn.prototype.isLinear = Wn.prototype.isLinear;\n Wn.prototype.isMuted = Wn.prototype.isMuted;\n Wn.prototype.setVolume = Wn.prototype.setVolume;\n Wn.prototype.getVolume = Wn.prototype.getVolume;\n Wn.prototype.play = Wn.prototype.play;\n Wn.prototype.pause = Wn.prototype.pause;\n Wn.prototype.skip = Wn.prototype.skip;\n Wn.prototype.canSkipNow = Wn.prototype.canSkipNow;\n Wn.prototype.getTimeUntilSkippable = Wn.prototype.getTimeUntilSkippable;\n Wn.prototype.isSkippable = Wn.prototype.isSkippable;\n Wn.prototype.isPaused = Wn.prototype.isPaused;\n Wn.prototype.getRemainingTime = Wn.prototype.getRemainingTime;\n Wn.prototype.getMinSuggestedDuration = Wn.prototype.getMinSuggestedDuration;\n Wn.prototype.getDuration = Wn.prototype.getDuration;\n function Xn(a, b, c, d) {\n var e = this;\n this.s = a;\n this.l = b;\n this.j = null;\n this.F = NaN;\n this.i = d;\n this.G = !1;\n this.u = this.m = this.o = null;\n this.A = "";\n this.C = [];\n this.h = new Af();\n a = new google.ima.dai.api.UiSettings();\n a.setLocale(c);\n this.g = new google.ima.dai.api.StreamManager(this.l, this.s, a);\n this.i(new Q("ima-stream-manager-loaded", new Map().set("imaStreamManager", this.g)));\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.LOADED, function (f) {\n Yn(e, f);\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.ERROR, function () {\n e.A.length ? e.j.resolve(e.A) : e.j.reject("IMA Stream request returned an error and there was no backup asset uri provided.");\n e.j = null;\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.AD_BREAK_STARTED, function () {});\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.STARTED, function (f) {\n f = f.getAd();\n e.m = new Wn(f, e.l);\n e.u && (e.m.i = e.u);\n e.i(new Q("ad-started", new Map().set("ad", e.m)));\n e.s.setAttribute("ad-active", "true");\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.AD_BREAK_ENDED, function () {\n e.s.removeAttribute("ad-active");\n var f = e.l.currentTime;\n e.o && e.o > f && (e.l.currentTime = e.o, e.o = null);\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.AD_PROGRESS, function (f) {\n e.u = f.getStreamData().adProgressData;\n e.m && (e.m.i = e.u);\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.FIRST_QUARTILE, function () {\n e.i(new Q("ad-first-quartile"));\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.MIDPOINT, function () {\n e.i(new Q("ad-midpoint"));\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.THIRD_QUARTILE, function () {\n e.i(new Q("ad-third-quartile"));\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.COMPLETE, function () {\n e.i(new Q("ad-complete"));\n e.i(new Q("ad-stopped"));\n e.s.removeAttribute("ad-active");\n e.m = null;\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.SKIPPED, function () {\n e.i(new Q("ad-skipped"));\n e.i(new Q("ad-stopped"));\n });\n this.h.D(this.g, google.ima.dai.api.StreamEvent.Type.CUEPOINTS_CHANGED, function (f) {\n var g = f.getStreamData();\n f = [];\n g = t(g.cuepoints);\n for (var h = g.next(); !h.done; h = g.next()) h = h.value, f.push({\n start: h.start,\n end: h.end\n });\n e.C = f;\n e.i(new Q("ad-cue-points-changed", new Map().set("cuepoints", f)));\n });\n }\n r = Xn.prototype;\n r.configure = function () {};\n r.stop = function () {\n this.A = "";\n this.o = null;\n this.C = [];\n };\n r.release = function () {\n this.stop();\n this.h && this.h.release();\n };\n r.onCueMetadataChange = function (a) {\n if (a.key && a.data) {\n var b = {};\n b[a.key] = a.data;\n this.g.onTimedMetadata(b);\n }\n };\n r.getCuePoints = function () {\n return this.C;\n };\n function Yn(a, b) {\n a.i(new Q("ads-loaded", new Map().set("loadTime", Date.now() / 1E3 - a.F)));\n b = b.getStreamData().url;\n a.j.resolve(b);\n a.j = null;\n a.G || a.h.D(a.l, "seeked", function () {\n var c = a.l.currentTime;\n if (0 != c) {\n a.g.streamTimeForContentTime(c);\n var d = a.g.previousCuePointForStreamTime(c);\n d && !d.played && (a.o = c, a.l.currentTime = d.start);\n }\n });\n }\n ;\n function Y() {\n jf.call(this);\n this.g = this.i = this.h = null;\n this.j = new Bn();\n this.m = navigator.language;\n this.l = null;\n }\n oa(Y, jf);\n r = Y.prototype;\n r.setLocale = function (a) {\n this.m = a;\n };\n r.configure = function (a) {\n this.l = a;\n this.h && this.h.configure(this.l);\n this.g && this.g.configure(this.l);\n };\n r.initClientSide = function (a, b, c) {\n var d = this;\n if (!window.google || !google.ima || !google.ima.AdsLoader) throw new O(2, 10, 1E4);\n this.h && this.h.release();\n this.h = new Dn(a, b, this.m, c, function (e) {\n return Zn(d, e);\n });\n this.h.configure(this.l);\n };\n r.release = function () {\n this.h && (this.h.release(), this.h = null);\n this.i && (this.i.release(), this.i = null);\n this.g && (this.g.release(), this.g = null);\n jf.prototype.release.call(this);\n };\n r.onAssetUnload = function () {\n this.h && this.h.stop();\n this.i && this.i.stop();\n this.g && this.g.stop();\n this.dispatchEvent(new Q("ad-stopped"));\n this.j = new Bn();\n };\n r.requestClientSideAds = function (a) {\n if (!this.h) throw new O(1, 10, 10001);\n var b = this.h;\n b.g && b.g.destroy();\n b.l && b.l.contentComplete();\n b.F = Date.now() / 1E3;\n b.l.requestAds(a);\n };\n r.updateClientSideAdsRenderingSettings = function (a) {\n if (!this.h) throw new O(1, 10, 10001);\n var b = this.h;\n b.u = a;\n b.g && b.g.updateAdsRenderingSettings(b.u);\n };\n r.initMediaTailor = function (a, b, c) {\n var d = this;\n this.i && this.i.release();\n this.i = new Ln(a, b, c, function (e) {\n return Zn(d, e);\n });\n };\n r.requestMediaTailorStream = function (a, b, c) {\n if (!this.i) throw new O(1, 10, 10005);\n var d = this.i;\n c = void 0 === c ? "" : c;\n d.l ? a = Promise.reject(new O(1, 10, 10004)) : (d.l = new Ze(), On(d, a, b), d.G = c || "", d.W = Date.now() / 1E3, a = d.l);\n return a;\n };\n r.initServerSide = function (a, b) {\n var c = this;\n if (!window.google || !google.ima || !google.ima.dai) throw new O(2, 10, 10002);\n this.g && this.g.release();\n this.g = new Xn(a, b, this.m, function (d) {\n return Zn(c, d);\n });\n this.g.configure(this.l);\n };\n r.requestServerSideStream = function (a, b) {\n b = void 0 === b ? "" : b;\n if (!this.g) throw new O(1, 10, 10003);\n a.adTagParameters || (a.adTagParameters = {});\n var c = a.adTagParameters;\n (c.mpt || c.mpv) && Sa(\'You have attempted to set "mpt" and/or "mpv" parameters of the ad tag. Please note that those parameters are used for Shaka adoption tracking and will be overriden.\');\n a.adTagParameters.mpt = "shaka-player";\n a.adTagParameters.mpv = "v4.7.11";\n c = this.g;\n c.j ? a = Promise.reject(new O(1, 10, 10004)) : (a instanceof google.ima.dai.api.LiveStreamRequest && (c.G = !0), c.j = new Ze(), c.g.requestStream(a), c.A = b || "", c.F = Date.now() / 1E3, a = c.j);\n return a;\n };\n r.replaceServerSideAdTagParameters = function (a) {\n if (!this.g) throw new O(1, 10, 10003);\n (a.mpt || a.mpv) && Sa(\'You have attempted to set "mpt" and/or "mpv" parameters of the ad tag. Please note that those parameters are used for Shaka adoption tracking and will be overriden.\');\n a.mpt = "Shaka Player";\n a.mpv = "v4.7.11";\n this.g.g.replaceAdTagParameters(a);\n };\n r.getServerSideCuePoints = function () {\n ze("AdManager.getServerSideCuePoints", "Please use getCuePoints function.");\n return this.getCuePoints();\n };\n r.getCuePoints = function () {\n var a = [];\n this.g && (a = a.concat(this.g.getCuePoints()));\n this.i && (a = a.concat(this.i.getCuePoints()));\n return a;\n };\n r.getStats = function () {\n var a = this.j;\n return {\n loadTimes: a.h,\n started: a.g,\n playedCompletely: a.i,\n skipped: a.j\n };\n };\n r.onManifestUpdated = function (a) {\n if (this.i) this.i.onManifestUpdated(a);\n };\n r.onDashTimedMetadata = function (a) {\n if (this.g && "urn:google:dai:2018" == a.schemeIdUri) {\n var b = a.schemeIdUri,\n c = a.eventElement ? a.eventElement.getAttribute("messageData") : null;\n this.g.g.processMetadata(b, c, a.startTime);\n }\n };\n r.onHlsTimedMetadata = function (a, b) {\n this.g && this.g.g.processMetadata("ID3", a.data, b);\n };\n r.onCueMetadataChange = function (a) {\n if (this.g) this.g.onCueMetadataChange(a);\n };\n function Zn(a, b) {\n if (b && b.type) switch (b.type) {\n case "ads-loaded":\n a.j.h.push(b.loadTime);\n break;\n case "ad-started":\n a.j.g++;\n break;\n case "ad-complete":\n a.j.i++;\n break;\n case "ad-skipped":\n a.j.j++;\n }\n a.dispatchEvent(b);\n }\n N("shaka.ads.AdManager", Y);\n Y.prototype.onCueMetadataChange = Y.prototype.onCueMetadataChange;\n Y.prototype.onHlsTimedMetadata = Y.prototype.onHlsTimedMetadata;\n Y.prototype.onDashTimedMetadata = Y.prototype.onDashTimedMetadata;\n Y.prototype.onManifestUpdated = Y.prototype.onManifestUpdated;\n Y.prototype.getStats = Y.prototype.getStats;\n Y.prototype.getCuePoints = Y.prototype.getCuePoints;\n Y.prototype.getServerSideCuePoints = Y.prototype.getServerSideCuePoints;\n Y.prototype.replaceServerSideAdTagParameters = Y.prototype.replaceServerSideAdTagParameters;\n Y.prototype.requestServerSideStream = Y.prototype.requestServerSideStream;\n Y.prototype.initServerSide = Y.prototype.initServerSide;\n Y.prototype.requestMediaTailorStream = Y.prototype.requestMediaTailorStream;\n Y.prototype.initMediaTailor = Y.prototype.initMediaTailor;\n Y.prototype.updateClientSideAdsRenderingSettings = Y.prototype.updateClientSideAdsRenderingSettings;\n Y.prototype.requestClientSideAds = Y.prototype.requestClientSideAds;\n Y.prototype.onAssetUnload = Y.prototype.onAssetUnload;\n Y.prototype.release = Y.prototype.release;\n Y.prototype.initClientSide = Y.prototype.initClientSide;\n Y.prototype.configure = Y.prototype.configure;\n Y.prototype.setLocale = Y.prototype.setLocale;\n Y.ADS_LOADED = "ads-loaded";\n Y.AD_STARTED = "ad-started";\n Y.AD_FIRST_QUARTILE = "ad-first-quartile";\n Y.AD_MIDPOINT = "ad-midpoint";\n Y.AD_THIRD_QUARTILE = "ad-third-quartile";\n Y.AD_COMPLETE = "ad-complete";\n Y.AD_STOPPED = "ad-stopped";\n Y.AD_SKIPPED = "ad-skipped";\n Y.AD_VOLUME_CHANGED = "ad-volume-changed";\n Y.AD_MUTED = "ad-muted";\n Y.AD_PAUSED = "ad-paused";\n Y.AD_RESUMED = "ad-resumed";\n Y.AD_SKIP_STATE_CHANGED = "ad-skip-state-changed";\n Y.CUEPOINTS_CHANGED = "ad-cue-points-changed";\n Y.IMA_AD_MANAGER_LOADED = "ima-ad-manager-loaded";\n Y.IMA_STREAM_MANAGER_LOADED = "ima-stream-manager-loaded";\n Y.AD_CLICKED = "ad-clicked";\n Y.AD_PROGRESS = "ad-progress";\n Y.AD_BUFFERING = "ad-buffering";\n Y.AD_IMPRESSION = "ad-impression";\n Y.AD_DURATION_CHANGED = "ad-duration-changed";\n Y.AD_CLOSED = "ad-closed";\n Y.AD_LOADED = "ad-loaded";\n Y.ALL_ADS_COMPLETED = "all-ads-completed";\n Y.AD_LINEAR_CHANGED = "ad-linear-changed";\n Y.AD_METADATA = "ad-metadata";\n Y.AD_RECOVERABLE_ERROR = "ad-recoverable-error";\n Y.AD_ERROR = "ad-error";\n Y.AD_BREAK_READY = "ad-break-ready";\n Y.AD_INTERACTION = "ad-interaction";\n cm = function cm() {\n return new Y();\n };\n function $n(a) {\n return JSON.stringify(a, function (b, c) {\n if ("function" != typeof c) {\n if (c instanceof Event || c instanceof Q) {\n var d = {};\n for (e in c) (b = c[e]) && "object" == typeof b ? "detail" == e && (d[e] = b) : e in Event || (d[e] = b);\n return d;\n }\n if (c instanceof Error) {\n var e = new Set(["name", "message", "stack"]);\n for (d in c) e.add(d);\n b = t(Object.getOwnPropertyNames(c));\n for (d = b.next(); !d.done; d = b.next()) e.add(d.value);\n b = {};\n e = t(e);\n for (d = e.next(); !d.done; d = e.next()) d = d.value, b[d] = c[d];\n c = {\n __type__: "Error",\n contents: b\n };\n } else if (c instanceof TimeRanges) {\n e = {\n __type__: "TimeRanges",\n length: c.length,\n start: [],\n end: []\n };\n c = t(Nh(c));\n for (d = c.next(); !d.done; d = c.next()) d = d.value, b = d.end, e.start.push(d.start), e.end.push(b);\n c = e;\n } else c = c instanceof Uint8Array ? {\n __type__: "Uint8Array",\n entr
1ies: Array.from(c)\n } : "number" == typeof c ? isNaN(c) ? "NaN" : isFinite(c) ? c : 0 > c ? "-Infinity" : "Infinity" : c;\n return c;\n }\n });\n }\n function ao(a) {\n return JSON.parse(a, function (b, c) {\n if ("NaN" == c) var d = NaN;else if ("-Infinity" == c) d = -Infinity;else if ("Infinity" == c) d = Infinity;else if (c && "object" == typeof c && "TimeRanges" == c.__type__) d = bo(c);else if (c && "object" == typeof c && "Uint8Array" == c.__type__) d = new Uint8Array(c.entries);else if (c && "object" == typeof c && "Error" == c.__type__) {\n b = c.contents;\n c = Error(b.message);\n for (d in b) c[d] = b[d];\n d = c;\n } else d = c;\n return d;\n });\n }\n function bo(a) {\n return {\n length: a.length,\n start: function start(b) {\n return a.start[b];\n },\n end: function end(b) {\n return a.end[b];\n }\n };\n }\n var co = "ended play playing pause pausing ratechange seeked seeking timeupdate volumechange".split(" "),\n eo = "buffered currentTime duration ended loop muted paused playbackRate seeking videoHeight videoWidth volume".split(" "),\n fo = ["loop", "playbackRate"],\n go = ["pause", "play"],\n ho = {\n getAssetUri: 2,\n getAudioLanguages: 4,\n getAudioLanguagesAndRoles: 4,\n getBufferFullness: 1,\n getBufferedInfo: 2,\n getExpiration: 2,\n getKeyStatuses: 2,\n getPlaybackRate: 2,\n getTextLanguages: 4,\n getTextLanguagesAndRoles: 4,\n getImageTracks: 2,\n getThumbnails: 2,\n isAudioOnly: 10,\n isBuffering: 1,\n isInProgress: 1,\n isLive: 10,\n isTextTrackVisible: 1,\n keySystem: 10,\n seekRange: 1,\n getLoadMode: 10,\n getManifestType: 10\n },\n io = {\n getConfiguration: 4,\n getStats: 5,\n getTextTracks: 2,\n getVariantTracks: 2\n },\n jo = {\n getPlayheadTimeAsDate: 1,\n getPresentationStartTimeAsDate: 20\n },\n ko = [["getConfiguration", "configure"]],\n lo = [["isTextTrackVisible", "setTextTrackVisibility"]],\n mo = "addChaptersTrack addTextTrackAsync addThumbnailsTrack cancelTrickPlay configure getChapters getChaptersTracks resetConfiguration retryStreaming selectAudioLanguage selectTextLanguage selectTextTrack selectVariantTrack selectVariantsByLabel setTextTrackVisibility trickPlay updateStartTime goToLive".split(" "),\n no = ["attach", "attachCanvas", "detach", "load", "unload"];\n function oo(a, b, c, d, e, f, g) {\n var h = this;\n this.G = a;\n this.K = g;\n this.j = new qd(b);\n this.N = c;\n this.u = !1;\n this.s = d;\n this.F = e;\n this.I = f;\n this.h = this.m = !1;\n this.J = "";\n this.o = null;\n this.A = function () {\n return po(h);\n };\n this.C = function (k, l) {\n k = ao(l);\n switch (k.type) {\n case "event":\n var m = k.targetName,\n n = gf(k.event);\n h.s(m, n);\n break;\n case "update":\n m = k.update;\n for (n in m) {\n k = h.g[n] || {};\n for (var q in m[n]) k[q] = m[n][q];\n }\n h.u && (h.N(), h.u = !1);\n break;\n case "asyncComplete":\n if (n = k.id, q = k.error, k = h.i[n], delete h.i[n], k) if (q) {\n n = new O(q.severity, q.category, q.code);\n for (m in q) n[m] = q[m];\n k.reject(n);\n } else k.resolve();\n }\n };\n this.g = {\n video: {},\n player: {}\n };\n this.H = 0;\n this.i = {};\n this.l = null;\n qo.add(this);\n }\n r = oo.prototype;\n r.destroy = function () {\n qo["delete"](this);\n ro(this);\n so && to(this);\n this.j && (this.j.stop(), this.j = null);
1\n this.F = this.s = null;\n this.h = this.m = !1;\n this.C = this.A = this.l = this.i = this.g = this.o = null;\n return Promise.resolve();\n };\n r.Ka = function () {\n return this.h;\n };\n r.ef = function () {\n return this.J;\n };\n r.init = function () {\n if (this.G.length) if (window.chrome && chrome.cast && chrome.cast.isAvailable) {\n this.m = !0;\n this.j.qc();\n var a = new chrome.cast.SessionRequest(this.G, [], null, this.K, null);\n a = new chrome.cast.ApiConfig(a, function (b) {\n for (var c = t(qo), d = c.next(); !d.done; d = c.next()) uo(d.value, b);\n }, function (b) {\n for (var c = t(qo), d = c.next(); !d.done; d = c.next()) d = d.value, vo = "available" == b, d.j.qc();\n }, "origin_scoped");\n chrome.cast.initialize(a, function () {}, function () {});\n vo && this.j.U(wo);\n (a = so) && a.status != chrome.cast.SessionStatus.STOPPED ? uo(this, a) : so = null;\n } else window.__onGCastApiAvailable !== xo && (yo = window.__onGCastApiAvailable || null, window.__onGCastApiAvailable = xo);\n };\n r.mf = function (a) {\n this.o = a;\n this.h && zo(this, {\n type: "appData",\n appData: this.o\n });\n };\n r.cast = function (a) {\n var b = this;\n return K(function (c) {\n if (!b.m) throw new O(1, 8, 8E3);\n if (!vo) throw new O(1, 8, 8001);\n if (b.h) throw new O(1, 8, 8002);\n b.l = new Ze();\n chrome.cast.requestSession(function (d) {\n return Ao(b, a, d);\n }, function (d) {\n return Bo(b, d);\n });\n return C(c, b.l, 0);\n });\n };\n function Co(a) {\n if (a.h) {\n var b = a.I();\n chrome.cast.requestSession(function (c) {\n return Ao(a, b, c);\n }, function (c) {\n return Bo(a, c);\n });\n }\n }\n r.cc = function () {\n if (this.h) {\n ro(this);\n if (so) {\n to(this);\n try {\n so.stop(function () {}, function () {});\n } catch (a) {}\n so = null;\n }\n po(this);\n }\n };\n r.get = function (a, b) {\n var c = this;\n if ("video" == a) {\n if (go.includes(b)) return function () {\n return c.hg.apply(c, [a, b].concat(w(Fa.apply(0, arguments))));\n };\n } else if ("player" == a) {\n if (jo[b] && !this.get("player", "isLive")()) return function () {};\n if (mo.includes(b)) return function () {\n return c.hg.apply(c, [a, b].concat(w(Fa.apply(0, arguments))));\n };\n if (no.includes(b)) return function () {\n return c.Nh.apply(c, [a, b].concat(w(Fa.apply(0, arguments))));\n };\n if (ho[b] || io[b]) return function () {\n return c.g[a][b];\n };\n }\n return this.g[a][b];\n };\n r.set = function (a, b, c) {\n this.g[a][b] = c;\n zo(this, {\n type: "set",\n targetName: a,\n property: b,\n value: c\n });\n };\n function Ao(a, b, c) {\n so = c;\n c.addUpdateListener(a.A);\n c.addMessageListener("urn:x-cast:com.google.shaka.v2", a.C);\n po(a);\n zo(a, {\n type: "init",\n initState: b,\n appData: a.o\n });\n a.l.resolve();\n }\n function Bo(a, b) {\n var c = 8003;\n switch (b.code) {\n case "cancel":\n c = 8004;\n break;\n case "timeout":\n c = 8005;\n break;\n case "receiver_unavailable":\n c = 8006;\n }\n a.l.reject(new O(2, 8, c, b));\n }\n r.hg = function (a, b) {\n zo(this, {\n type: "call",\n targetName: a,\n methodName: b,\n args: Fa.apply(2, arguments)\n });\n };\n r.Nh = function (a, b) {\n var c = Fa.apply(2, arguments),\n d = new Ze(),\n e = this.H.toString();\n this.H++;\n this.i[e] = d;
1\n try {\n zo(this, {\n type: "asyncCall",\n targetName: a,\n methodName: b,\n args: c,\n id: e\n });\n } catch (f) {\n d.reject(f);\n }\n return d;\n };\n function uo(a, b) {\n var c = a.I();\n a.l = new Ze();\n a.u = !0;\n Ao(a, c, b);\n }\n function to(a) {\n var b = so;\n b.removeUpdateListener(a.A);\n b.removeMessageListener("urn:x-cast:com.google.shaka.v2", a.C);\n }\n function po(a) {\n var b = so ? "connected" == so.status : !1;\n if (a.h && !b) {\n a.F();\n for (var c in a.g) a.g[c] = {};\n ro(a);\n }\n a.h = b;\n a.J = b ? so.receiver.friendlyName : "";\n a.j.qc();\n }\n function ro(a) {\n for (var b in a.i) {\n var c = a.i[b];\n delete a.i[b];\n c.reject(new O(1, 7, 7E3));\n }\n }\n function zo(a, b) {\n b = $n(b);\n var c = so;\n try {\n c.sendMessage("urn:x-cast:com.google.shaka.v2", b, function () {}, Va);\n } catch (d) {\n throw b = new O(2, 8, 8005, d), c = new Q("error", new Map().set("detail", b)), a.s("player", c), a.cc(), b;\n }\n }\n var wo = .02,\n vo = !1,\n so = null,\n yo = null,\n qo = new Set();\n function xo(a) {\n yo ? window.__onGCastApiAvailable = yo : delete window.__onGCastApiAvailable;\n yo = null;\n if (a) for (var b = t(qo), c = b.next(); !c.done; c = b.next()) c.value.init();\n "function" === typeof window.__onGCastApiAvailable && window.__onGCastApiAvailable(a);\n }\n ;\n function Do(a, b, c, d) {\n d = void 0 === d ? !1 : d;\n jf.call(this);\n var e = this;\n this.i = a;\n this.h = b;\n this.m = this.o = this.j = this.s = this.l = null;\n this.C = c;\n this.A = d;\n this.u = new Map();\n this.g = new oo(c, function () {\n return Eo(e);\n }, function () {\n return Fo(e);\n }, function (f, g) {\n return Go(e, f, g);\n }, function () {\n return Ho(e);\n }, function () {\n return Io(e);\n }, d);\n Jo(this);\n }\n oa(Do, jf);\n r = Do.prototype;\n r.destroy = function (a) {\n a && this.g.cc();\n this.m && (this.m.release(), this.m = null);\n a = [];\n this.h && (a.push(this.h.destroy()), this.h = null);\n this.g && (a.push(this.g.destroy()), this.g = null);\n this.s = this.l = this.i = null;\n jf.prototype.release.call(this);\n return Promise.all(a);\n };\n r.nh = function () {\n return this.l;\n };\n r.bh = function () {\n return this.s;\n };\n r.Fg = function () {\n return this.g.m && vo;\n };\n r.Ka = function () {\n return this.g.Ka();\n };\n r.ef = function () {\n return this.g.ef();\n };\n r.cast = function () {\n var a = this,\n b;\n return K(function (c) {\n return 1 == c.g ? (b = Io(a), C(c, a.g.cast(b), 2)) : a.h ? C(c, a.h.rc(), 0) : c["return"]();\n });\n };\n r.mf = function (a) {\n this.g.mf(a);\n };\n r.ai = function () {\n Co(this.g);\n };\n r.cc = function () {\n this.g.cc();\n };\n r.Gg = function (a, b) {\n b = void 0 === b ? !1 : b;\n var c = this;\n return K(function (d) {\n if (1 == d.g) {\n if (a == c.C && b == c.A) return d["return"]();\n c.C = a;\n c.A = b;\n c.g.cc();\n return C(d, c.g.destroy(), 2);\n }\n c.g = null;\n c.g = new oo(a, function () {\n return Eo(c);\n }, function () {\n return Fo(c);\n }, function (e, f) {\n return Go(c, e, f);\n }, function () {\n return Ho(c);\n }, function () {\n return Io(c);\n }, b);\n c.g.init();\n E(d);\n });\n };\n function Jo(a) {\n a.g.init();\n a.m = new Af();\n for (var b = t(co), c = b.next(); !c.done; c = b.next()) a.m.D(a.i, c.value, function (f) {\n a.g.Ka() || (f = gf(f), a.j.dispatchEvent(f));\n });\n for (var d in hf) a.m.D(a.h, hf[d], function (f) {\n a.g.Ka() || a.o.dispatchEvent(f);\n });\n a.l = {};\n b = {};\n for (var e in a.i) b.wc = e, Object.defineProperty(a.l, b.wc, {\n configurable: !1,\n enumerable: !0,\n get: function (f) {\n return function () {\n return Ko(a, f.wc);\n };\n }(b),\n set: function (f) {\n return function (g) {\n var h = f.wc;\n a.g.Ka() ? a.g.set("video", h, g) : a.i[h] = g;\n };\n }(b)\n }
1), b = {\n wc: b.wc\n };\n a.s = {};\n Lo(a, function (f) {\n Object.defineProperty(a.s, f, {\n configurable: !1,\n enumerable: !0,\n get: function get() {\n return Mo(a, f);\n }\n });\n });\n No(a);\n a.j = new jf();\n a.j.zd = a.l;\n a.o = new jf();\n a.o.zd = a.s;\n }\n function No(a) {\n var b = new Map();\n Lo(a, function (c, d) {\n b.has(d) ? (d = b.get(d), c.length < d.length ? a.u.set(c, d) : a.u.set(d, c)) : b.set(d, c);\n });\n }\n function Lo(a, b) {\n function c(k) {\n return "constructor" == k || "function" != typeof d[k] ? !1 : !e.has(k);\n }\n var d = a.h,\n e = new Set(),\n f;\n for (f in d) c(f) && (e.add(f), b(f, d[f]));\n a = Object.getPrototypeOf(d);\n for (f = Object.getPrototypeOf({}); a && a != f;) {\n for (var g = t(Object.getOwnPropertyNames(a)), h = g.next(); !h.done; h = g.next()) h = h.value, c(h) && (e.add(h), b(h, d[h]));\n a = Object.getPrototypeOf(a);\n }\n }\n function Io(a) {\n var b = {\n video: {},\n player: {},\n playerAfterLoad: {},\n manifest: a.h.Ge(),\n startTime: null\n };\n a.i.pause();\n for (var c = t(fo), d = c.next(); !d.done; d = c.next()) d = d.value, b.video[d] = a.i[d];\n a.i.ended || (b.startTime = a.i.currentTime);\n c = t(ko);\n for (d = c.next(); !d.done; d = c.next()) {\n var e = d.value;\n d = e[1];\n e = a.h[e[0]]();\n b.player[d] = e;\n }\n c = t(lo);\n for (d = c.next(); !d.done; d = c.next()) e = d.value, d = e[1], e = a.h[e[0]](), b.playerAfterLoad[d] = e;\n return b;\n }\n function Eo(a) {\n var b = new Q("caststatuschanged");\n a.dispatchEvent(b);\n }\n function Fo(a) {\n var b = new Q(a.l.paused ? "pause" : "play");\n a.j.dispatchEvent(b);\n }\n function Ho(a) {\n for (var b = t(ko), c = b.next(); !c.done; c = b.next()) {\n var d = c.value;\n c = d[1];\n d = a.g.get("player", d[0])();\n a.h[c](d);\n }\n var e = a.g.get("player", "getAssetUri")();\n d = a.g.get("video", "ended");\n b = Promise.resolve();\n var f = a.i.autoplay;\n c = null;\n d || (c = a.g.get("video", "currentTime"));\n var g;\n (d = a.g.get("player", "getTextTracks")()) && d.length && (g = d.find(function (l) {\n return l.active;\n }));\n var h = a.g.get("player", "isTextTrackVisible")();\n e && (a.i.autoplay = !1, b = a.h.load(e, c));\n var k = {};\n c = t(fo);\n for (d = c.next(); !d.done; d = c.next()) d = d.value, k[d] = a.g.get("video", d);\n b.then(function () {\n if (a.i) {\n for (var l = t(fo), m = l.next(); !m.done; m = l.next()) m = m.value, a.i[m] = k[m];\n l = t(lo);\n for (m = l.next(); !m.done; m = l.next()) {\n var n = m.value;\n m = n[1];\n n = a.g.get("player", n[0])();\n a.h[m](n);\n }\n a.h.og(h);\n g && a.h.kf(g.language, g.roles, g.forced);\n a.i.autoplay = f;\n e && a.i.play();\n }\n }, function (l) {\n l = new Map().set("detail", l);\n l = new Q("error", l);\n a.h.dispatchEvent(l);\n });\n }\n function Ko(a, b) {\n if ("addEventListener" == b) return function (d, e, f) {\n return a.j.addEventListener(d, e, f);\n };\n if ("removeEventListener" == b) return function (d, e, f) {\n return a.j.removeEventListener(d, e, f);\n };\n if (a.g.Ka() && 0 == Object.keys(a.g.g.video).length) {\n var c = a.i[b];\n if ("function" != typeof c) return c;\n }\n return a.g.Ka() ? a.g.get("video", b) : (b = a.i[b], "function" == typeof b && (b = b.bind(a.i)), b);\n }\n function Mo(a, b) {\n a.u.has(b) && (b = a.u.get(b));\n if ("addEventListener" == b) return function (c, d, e) {\n return a.o.addEventListener(c, d, e);\n };\n if ("removeEventListener" == b) return function (c, d, e) {\n return a.o.removeEventListener(c, d, e);\n };\n if ("getMediaElement" == b) return function () {\n return a.l;\n };\n if ("getSharedConfiguration" == b) return a.g.get("player", "getConfiguration");\n if ("getNetworkingEngine" == b) return function () {\n return a.h.Ob();\n };\n if ("getDrmEngine" == b) return function () {\n return a.h.m;\n };\n if ("getAdManager" == b) return function () {\n return a.h.Of();\n };\n if ("setVideoContainer" == b) return function (c) {\n return a.h.rg(c);\n };\n if (a.g.Ka()) {\n if ("getManifest" == b || "drmInfo" == b) return function () {\n Sa(b + "() does not work while casting!");\n return null;\n };\n if ("attach" == b || "detach" == b) return function () {\n Sa(b + "() does not work while casting!");\n return Promise.resolve();\n };\n }\n return a.g.Ka() && 0 == Object.keys(a.g.g.video).length && (ho[b] || io[b]) || !a.g.Ka() ? a.h[b].bind(a.h) : a.g.get("player", b);\n }\n function Go(a, b, c) {\n a.g.Ka() && ("video" == b ? a.j.dispatchEvent(c) : "player" == b && a.o.dispatchEvent(c));\n }\n N("shaka.cast.CastProxy", Do);\n Do.prototype.changeReceiverId = Do.prototype.Gg;\n Do.prototype.forceDisconnect = Do.prototype.cc;\n Do.prototype.suggestDisconnect = Do.prototype.ai;\n Do.prototype.setAppData = Do.prototype.mf;\n Do.prototype.cast = Do.prototype.cast;\n Do.prototype.receiverName = Do.prototype.ef;\n Do.prototype.isCasting = Do.prototype.Ka;\n Do.prototype.canCast = Do.prototype.Fg;\n Do.prototype.getPlayer = Do.prototype.bh;\n Do.prototype.getVideo = Do.prototype.nh;\n Do.prototype.destroy = Do.prototype.destroy;\n function Oo(a, b, c, d) {\n jf.call(this);\n var e = this;\n this.g = a;\n this.h = b;\n this.j = new Af();\n this.H = {\n video: a,\n player: b\n };\n this.C = c || function () {};\n this.I = d || function (f) {\n return f;\n };\n this.i = null;
1\n this.F = !1;\n this.o = !0;\n this.m = 0;\n this.A = !1;\n this.u = !0;\n this.s = this.l = null;\n this.G = new qd(function () {\n Po(e);\n });\n Qo(this);\n }\n oa(Oo, jf);\n r = Oo.prototype;\n r.isConnected = function () {\n return this.F;\n };\n r.th = function () {\n return this.o;\n };\n r.Zh = function (a) {\n this.i = a;\n };\n r.Jg = function () {\n this.i = null;\n };\n r.$h = function (a) {\n this.i || (this.i = {\n metadataType: cast.receiver.media.MetadataType.GENERIC\n });\n this.i.title = a;\n };\n r.Yh = function (a) {\n this.i || (this.i = {\n metadataType: cast.receiver.media.MetadataType.GENERIC\n });\n this.i.images = [{\n url: a\n }];\n };\n r.Xh = function (a) {\n this.i || (this.i = {});\n this.i.artist = a;\n this.i.metadataType = cast.receiver.media.MetadataType.MUSIC_TRACK;\n };\n r.destroy = function () {\n var a = this,\n b,\n c;\n return K(function (d) {\n if (1 == d.g) return a.j && (a.j.release(), a.j = null), b = [], a.h && (b.push(a.h.destroy()), a.h = null), a.G && (a.G.stop(), a.G = null), a.g = null, a.H = null, a.C = null, a.F = !1, a.o = !0, a.l = null, a.s = null, jf.prototype.release.call(a), C(d, Promise.all(b), 2);\n c = cast.receiver.CastReceiverManager.getInstance();\n c.stop();\n E(d);\n });\n };\n function Qo(a) {\n var b = cast.receiver.CastReceiverManager.getInstance();\n b.onSenderConnected = function () {\n return Ro(a);\n };\n b.onSenderDisconnected = function () {\n return Ro(a);\n };\n b.onSystemVolumeChanged = function () {\n var e = cast.receiver.CastReceiverManager.getInstance().getSystemVolume();\n e && So(a, {\n type: "update",\n update: {\n video: {\n volume: e.level,\n muted: e.muted\n }\n }\n }, a.l);\n So(a, {\n type: "event",\n targetName: "video",\n event: {\n type: "volumechange"\n }\n }, a.l);\n };\n a.s = b.getCastMessageBus("urn:x-cast:com.google.cast.media");\n a.s.onMessage = function (e) {\n return To(a, e);\n };\n a.l = b.getCastMessageBus("urn:x-cast:com.google.shaka.v2");\n a.l.onMessage = function (e) {\n return Uo(a, e);\n };\n b.start();\n b = t(co);\n for (var c = b.next(); !c.done; c = b.next()) a.j.D(a.g, c.value, function (e) {\n return Vo(a, "video", e);\n });\n for (var d in hf) a.j.D(a.h, hf[d], function (e) {\n return Vo(a, "player", e);\n });\n cast.__platform__ && cast.__platform__.canDisplayType(\'video/mp4; codecs="avc1.640028"; width=3840; height=2160\') ? a.h.pf(3840, 2160) : a.h.pf(1920, 1080);\n a.j.D(a.g, "loadeddata", function () {\n a.A = !0;\n });\n a.j.D(a.h, "loading", function () {\n a.o = !1;\n Wo(a);\n });\n a.j.D(a.g, "playing", function () {\n a.o = !1;\n Wo(a);\n });\n a.j.D(a.g, "pause", function () {\n Wo(a);\n });\n a.j.D(a.h, "unloading", function () {\n a.o = !0;\n Wo(a);\n });\n a.j.D(a.g, "ended", function () {\n new qd(function () {\n a.g && a.g.ended && (a.o = !0, Wo(a));\n }).U(Xo);\n });\n }\n function Ro(a) {\n a.m = 0;\n a.u = !0;\n a.F = 0 != cast.receiver.CastReceiverManager.getInstance().getSenders().length;\n Wo(a);\n }\n function Wo(a) {\n var b;\n K(function (c) {\n if (1 == c.g) return C(c, Promise.resolve(), 2);\n if (!a.h) return c["return"]();\n b = new Q("caststatuschanged");\n a.dispatchEvent(b);\n Yo(a) || Zo(a);\n E(c);\n });\n }\n function $o(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q;\n K(function (p) {\n switch (p.g) {\n case 1:\n for (d in b.player) e = b.player[d], a.h[d](e);\n a.C(c);\n f = a.g.autoplay;\n return b.manifest ? (a.g.autoplay = !1, sa(p, 5), C(p, a.h.load(b.manifest, b.startTime), 7)) : C(p, Promise.resolve(), 3);\n case 7:\n ua(p, 3);\n break;\n case 5:\n return g = va(p), h = new Map().set("detail", g), k = new Q("error", h), a.h && a.h.dispatchEvent(k), p["return"]();\n case 3:\n if (!a.h) return p["return"]();\n for (l in b.video) m = b.video[l], a.g[l] = m;\n for (n in b.playerAfterLoad) q = b.playerAfterLoad[n], a.h[n](q);\n a.g.autoplay = f;
1\n b.manifest && (a.g.play(), Zo(a));\n E(p);\n }\n });\n }\n function Vo(a, b, c) {\n a.h && (Po(a), So(a, {\n type: "event",\n targetName: b,\n event: c\n }, a.l));\n }\n function Po(a) {\n a.G.U(ap);\n for (var b = {\n video: {},\n player: {}\n }, c = t(eo), d = c.next(); !d.done; d = c.next()) d = d.value, b.video[d] = a.g[d];\n if (a.h.R()) for (var e in jo) 0 == a.m % jo[e] && (b.player[e] = a.h[e]());\n for (var f in ho) 0 == a.m % ho[f] && (b.player[f] = a.h[f]());\n if (c = cast.receiver.CastReceiverManager.getInstance().getSystemVolume()) b.video.volume = c.level, b.video.muted = c.muted;\n So(a, {\n type: "update",\n update: b\n }, a.l);\n for (var g in io) 0 == a.m % io[g] && (b = {\n player: {}\n }, b.player[g] = a.h[g](), So(a, {\n type: "update",\n update: b\n }, a.l));\n a.A && (a.m += 1);\n Yo(a);\n }\n function Yo(a) {\n return a.u && (a.g.duration || a.h.R()) ? (bp(a), a.u = !1, !0) : !1;\n }\n function bp(a, b) {\n var c = {\n contentId: a.h.Ge(),\n streamType: a.h.R() ? "LIVE" : "BUFFERED",\n contentType: ""\n };\n a.h.R() || (c.duration = a.g.duration);\n a.i && (c.metadata = a.i);\n Zo(a, void 0 === b ? 0 : b, c);\n }\n function Uo(a, b) {\n var c = ao(b.data);\n switch (c.type) {\n case "init":\n a.m = 0;\n a.A = !1;\n a.u = !0;\n $o(a, c.initState, c.appData);\n Po(a);\n break;\n case "appData":\n a.C(c.appData);\n break;\n case "set":\n var d = c.targetName,\n e = c.property;\n c = c.value;\n if ("video" == d) if (b = cast.receiver.CastReceiverManager.getInstance(), "volume" == e) {\n b.setSystemVolumeLevel(c);\n break;\n } else if ("muted" == e) {\n b.setSystemVolumeMuted(c);\n break;\n }\n a.H[d][e] = c;\n break;\n case "call":\n d = a.H[c.targetName];\n d[c.methodName].apply(d, c.args);\n break;\n case "asyncCall":\n d = c.targetName;\n e = c.methodName;\n "player" == d && "load" == e && (a.m = 0, a.A = !1);\n var f = c.id,\n g = b.senderId;\n b = a.H[d];\n c = b[e].apply(b, c.args);\n "player" == d && "load" == e && (c = c.then(function () {\n a.u = !0;\n }));\n c.then(function () {\n return cp(a, g, f, null);\n }, function (h) {\n return cp(a, g, f, h);\n });\n }\n }\n function To(a, b) {\n var c = ao(b.data);\n switch (c.type) {\n case "PLAY":\n a.g.play();\n Zo(a);\n break;\n case "PAUSE":\n a.g.pause();\n Zo(a);\n break;\n case "SEEK":\n b = c.currentTime;\n var d = c.resumeState;\n null != b && (a.g.currentTime = Number(b));\n d && "PLAYBACK_START" == d ? (a.g.play(), Zo(a)) : d && "PLAYBACK_PAUSE" == d && (a.g.pause(), Zo(a));\n break;\n case "STOP":\n a.h.rc().then(function () {\n a.h && Zo(a);\n });\n break;\n case "GET_STATUS":\n bp(a, Number(c.requestId));\n break;\n case "VOLUME":\n d = c.volume;\n b = d.level;\n d = d.muted;\n var e = a.g.volume,\n f = a.g.muted;\n null != b && (a.g.volume = Number(b));\n null != d && (a.g.muted = d);\n e == a.g.volume && f == a.g.muted || Zo(a);\n break;\n case "LOAD":\n a.m = 0;\n a.A = !1;\n a.u = !1;\n b = c.media;\n d = c.currentTime;\n e = a.I(b.contentId);\n f = c.autoplay || !0;\n a.C(b.customData);\n f && (a.g.autoplay = !0);\n a.h.load(e, d).then(function () {\n a.h && bp(a);\n })["catch"](function (g) {\n var h = "LOAD_FAILED";\n 7 == g.category && 7E3 == g.code && (h = "LOAD_CANCELLED");\n So(a, {\n requestId: Number(c.requestId),\n type: h\n }, a.s);\n });\n break;\n default:\n So(a, {\n requestId: Number(c.requestId),\n type: "INVALID_REQUEST",\n reason: "INVALID_COMMAND"\n }, a.s);\n }\n }\n function cp(a, b, c, d) {\n a.h && So(a, {\n type: "asyncComplete",\n id: c,\n error: d\n }, a.l, b);\n }\n function So(a, b, c, d) {\n a.F && (a = $n(b), d ? c.getCastChannel(d).send(a) : c.broadcast(a));\n }\n function Zo(a, b, c) {\n c = void 0 === c ? null : c;\n var d = {\n mediaSessionId: 0,\n playbackRate: a.g.playbackRate,\n playerState: a.o ? dp : a.h.Ke() ? ep : a.g.paused ? fp : gp,\n currentTime: a.g.currentTime,\n supportedMediaCommands: 63,\n volume: {\n level: a.g.volume,\n muted: a.g.muted\n }\n };\n c && (d.media = c);\n So(a, {\n requestId: void 0 === b ? 0 : b,\n type: "MEDIA_STATUS",\n status: [d]\n }, a.s);\n }\n N("shaka.cast.CastReceiver", Oo);\n Oo.prototype.destroy = Oo.prototype.destroy;\n Oo.prototype.setContentArtist = Oo.prototype.Xh;\n Oo.prototype.setContentImage = Oo.prototype.Yh;\n Oo.prototype.setContentTitle = Oo.prototype.$h;\n Oo.prototype.clearContentMetadata = Oo.prototype.Jg;\n Oo.prototype.setContentMetadata = Oo.prototype.Zh;\n Oo.prototype.isIdle = Oo.prototype.th;\n Oo.prototype.isConnected = Oo.prototype.isConnected;\n var ap = .5,\n Xo = 5,\n dp = "IDLE",\n gp = "PLAYING",\n ep = "BUFFERING",\n fp = "PAUSED";\n function hp(a, b, c, d, e) {\n if (d >= e) return null;\n for (var f = -1, g = -1, h = 0; h < c.length; h++) if (c[h].some(function (A) {\n return null != A && "" != A.g.trim();\n })) {\n f = h;\n break;\n }\n for (h = c.length - 1; 0 <= h; h--) if (c[h].some(function (A) {\n return null != A && "" != A.g.trim();\n })) {\n g = h;\n break;\n }\n if (-1 === f || -1 === g) return null;\n for (var k = h = !1, l = "white", m = "black", n = ip(d, e, h, k, l, m); f <= g; f++) {\n for (var q = c[f], p = -1, u = -1, v = 0; v < q.length; v++) if (null != q[v] && "" !== q[v].g.trim()) {\n p = v;\n break;\n }\n for (v = q.length - 1; 0 <= v; v--) if (null != q[v] && "" !== q[v].g.trim()) {\n u = v;\n break;\n }\n if (-1 === p || -1 === u) q = jp(d, e), a.nestedCues.push(q);else {\n for (; p <= u; p++) if (v = q[p]) {\n var x = v.l,\n z = v.i,\n y = v.j,\n B = v.h;\n if (x != h || z != k || y != l || B != m) n.payload && a.nestedCues.push(n), n = ip(d, e, x, z, y, B), h = x, k = z, l = y, m = B;\n n.payload += v.g;\n } else n.payload += " ";\n n.payload && a.nestedCues.push(n);\n f !== g && (n = jp(d, e), a.nestedCues.push(n));\n n = ip(d, e, h, k, l, m);\n }\n }\n return a.nestedCues.length ? {\n cue: a,\n stream: b\n } : null;\n }\n function ip(a, b, c, d, e, f) {\n a = new yb(a, b, "");\n c && a.textDecoration.push("underline");\n d && (a.fontStyle = "italic");\n a.color = e;\n a.backgroundColor = f;\n return a;\n }\n function jp(a, b) {\n a = new yb(a, b, "");\n a.lineBreak = !0;\n return a;\n }\n function kp(a, b, c, d, e) {\n this.g = a;\n this.l = b;\n this.i = c;\n this.h = d;\n this.j = e;
1\n }\n ;\n function lp(a, b) {\n this.i = [];\n this.g = 1;\n this.h = 0;\n this.u = a;\n this.s = b;\n this.j = this.m = !1;\n this.l = "white";\n this.o = "black";\n mp(this);\n }\n function np(a, b, c) {\n var d = "CC" + ((a.u << 1 | a.s) + 1),\n e = new yb(b, c, "");\n e.lineInterpretation = 1;\n var f = op.get(a.g);\n f && (e.line = f);\n return hp(e, d, a.i, b, c);\n }\n function mp(a) {\n pp(a, 0, 15);\n a.g = 1;\n }\n function qp(a, b, c) {\n if (!(32 > c || 127 < c)) {\n var d = "";\n switch (b) {\n case rp:\n d = sp.has(c) ? sp.get(c) : String.fromCharCode(c);\n break;\n case tp:\n d = up.get(c);\n break;\n case vp:\n a.i[a.g].pop();\n d = wp.get(c);\n break;\n case xp:\n a.i[a.g].pop(), d = yp.get(c);\n }\n d && a.i[a.g].push(new kp(d, a.m, a.j, a.o, a.l));\n }\n }\n function zp(a, b, c, d) {\n if (!(0 > c || 0 > b)) if (b >= c) for (--d; 0 <= d; d--) a.i[b + d] = a.i[c + d].map(function (f) {\n return f;\n });else for (var e = 0; e < d; e++) a.i[b + e] = a.i[c + e].map(function (f) {\n return f;\n });\n }\n function pp(a, b, c) {\n for (var d = 0; d <= c; d++) a.i[b + d] = [];\n }\n var rp = 0,\n tp = 1,\n vp = 2,\n xp = 3,\n sp = new Map([[39, "\\u2019"], [42, "\\xE1"], [92, "\\xE9"], [92, "\\xE9"], [94, "\\xED"], [95, "\\xF3"], [96, "\\xFA"], [123, "\\xE7"], [124, "\\xF7"], [125, "\\xD1"], [126, "\\xF1"], [127, "\\u2588"]]),\n up = new Map([[48, "\\xAE"], [49, "\\xB0"], [50, "\\xBD"], [51, "\\xBF"], [52, "\\u2122"], [53, "\\xA2"], [54, "\\xA3"], [55, "\\u266A"], [56, "\\xE0"], [57, "\\u2800"], [58, "\\xE8"], [59, "\\xE2"], [60, "\\xEA"], [61, "\\xEE"], [62, "\\xF4"], [63, "\\xFB"]]),\n wp = new Map([[32, "\\xC1"], [33, "\\xC9"], [34, "\\xD3"], [35, "\\xDA"], [36, "\\xDC"], [37, "\\xFC"], [38, "\\u2018"], [39, "\\xA1"], [40, "*"], [41, "\'"], [42, "\\u2500"], [43, "\\xA9"], [44, "\\u2120"], [45, "\\xB7"], [46, "\\u201C"], [47, "\\u201D"], [48, "\\xC0"], [49, "\\xC2"], [50, "\\xC7"], [51, "\\xC8"], [52, "\\xCA"], [53, "\\xCB"], [54, "\\xEB"], [55, "\\xCE"], [56, "\\xCF"], [57, "\\xEF"], [58, "\\xD4"], [59, "\\xD9"], [60, "\\xF9"], [61, "\\xDB"], [62, "\\xAB"], [63, "\\xBB"]]),\n yp = new Map([[32, "\\xC3"], [33, "\\xE3"], [34, "\\xCD"], [35, "\\xCC"], [36, "\\xEC"], [37, "\\xD2"], [38, "\\xF2"], [39, "\\xD5"], [40, "\\xF5"], [41, "{"], [42, "}"], [43, "\\\\"], [44, "^"], [45, "_"], [46, "|"], [47, "~"], [48, "\\xC4"], [49, "\\xE4"], [50, "\\xD6"], [51, "\\xF6"], [52, "\\xDF"], [53, "\\xA5"], [54, "\\xA4"], [55, "\\u2502"], [56, "\\xC5"], [57, "\\xE5"], [58, "\\xD8"], [59, "\\xF8"], [60, "\\u250C"], [61, "\\u2510"], [62, "\\u2514"], [63, "\\u2518"]]),\n op = new Map([[1, 10], [2, 15.33], [3, 20.66], [4, 26], [5, 31.33], [6, 36.66], [7, 42], [8, 47.33], [9, 52.66], [10, 58], [11, 63.33], [12, 68.66], [13, 74], [14, 79.33], [15, 84.66]]);\n function Ap(a, b) {\n this.h = Bp;\n this.o = new lp(a, b);\n this.i = new lp(a, b);\n this.g = this.j = new lp(a, b);\n this.l = 0;\n this.m = null;\n }\n function Cp(a, b, c) {\n a.g = a.i;\n var d = a.g,\n e = null;\n a.h !== Dp && a.h !== Ep && (e = np(d, a.l, c), c = a.i, c.g = 0 < c.h ? c.h : 0, pp(c, 0, 15), c = a.j, c.g = 0 < c.h ? c.h : 0, pp(c, 0, 15), d.g = 15);\n a.h = Dp;\n d.h = b;\n return e;\n }\n function Fp(a) {\n a.h = Gp;\n a.g = a.j;\n a.g.h = 0;\n }\n function Hp(a) {\n Ta("Cea608DataChannel", "CEA-608 text mode entered, but is unsupported");\n a.g = a.o;\n a.h = Ep;\n }\n var Bp = 0,\n Gp = 1,\n Dp = 3,\n Ep = 4,\n Ip = "black green blue cyan red yellow magenta black".split(" "),\n Jp = "white green blue cyan red yellow magenta white_italics".split(" ");\n function Kp(a, b) {\n this.I = b;\n this.N = a;\n this.J = this.l = !1;\n this.m = this.o = this.G = this.K = this.H = 0;
1\n this.F = Lp;\n this.i = [];\n this.g = this.h = this.j = 0;\n this.C = this.u = !1;\n this.A = "white";\n this.s = "black";\n Mp(this);\n }\n function Mp(a) {\n a.i = [];\n for (var b = 0; 16 > b; b++) a.i.push(Np());\n }\n function Np() {\n for (var a = [], b = 0; 42 > b; b++) a.push(null);\n return a;\n }\n function Op(a, b) {\n Pp(a) && (a.i[a.h][a.g] = new kp(b, a.C, a.u, a.s, a.A), a.g++);\n }\n function Pp(a) {\n var b = a.g < a.m && 0 <= a.g;\n return a.h < a.o && 0 <= a.h && b;\n }\n Kp.prototype.isVisible = function () {\n return this.l;\n };\n function Qp(a, b, c) {\n var d = new yb(a.j, b, "");\n d.textAlign = a.F === Rp ? "left" : a.F === Sp ? "right" : Bb;\n var e = d.region;\n a.I && (e.id += "svc" + a.I);\n e.id += "win" + a.N;\n e.height = a.o;\n e.width = a.m;\n e.heightUnits = 2;\n e.widthUnits = 2;\n e.viewportAnchorX = a.H;\n e.viewportAnchorY = a.K;\n e.viewportAnchorUnits = a.J ? Sb : 2;\n switch (a.G) {\n case Tp:\n e.regionAnchorX = 0;\n e.regionAnchorY = 0;\n break;\n case Up:\n e.regionAnchorX = 50;\n e.regionAnchorY = 0;\n break;\n case Vp:\n e.regionAnchorX = 100;\n e.regionAnchorY = 0;\n break;\n case Wp:\n e.regionAnchorX = 0;\n e.regionAnchorY = 50;\n break;\n case Xp:\n e.regionAnchorX = 50;\n e.regionAnchorY = 50;\n break;\n case $p:\n e.regionAnchorX = 100;\n e.regionAnchorY = 50;\n break;\n case aq:\n e.regionAnchorX = 0;\n e.regionAnchorY = 100;\n break;\n case bq:\n e.regionAnchorX = 50;\n e.regionAnchorY = 100;\n break;\n case cq:\n e.regionAnchorX = 100, e.regionAnchorY = 100;\n }\n if (c = hp(d, "svc" + c, a.i, a.j, b)) a.j = b;\n return c;\n }\n var Rp = 0,\n Sp = 1,\n Lp = 2,\n Tp = 0,\n Up = 1,\n Vp = 2,\n Wp = 3,\n Xp = 4,\n $p = 5,\n aq = 6,\n bq = 7,\n cq = 8;\n function dq() {\n this.i = [];\n this.h = null;\n this.g = 0;\n }\n function eq(a, b) {\n 3 === b.type ? (a.g = 2 * (b.value & 63) - 1, a.h = []) : a.h && (0 < a.g && (a.h.push(b), a.g--), 0 === a.g && (a.i.push(new fq(a.h)), a.h = null, a.g = 0));\n }\n function fq(a) {\n this.g = 0;\n this.h = a;\n }\n fq.prototype.ia = function () {\n return this.g < this.h.length;\n };\n fq.prototype.qa = function () {\n return this.g;\n };\n function gq(a) {\n if (!a.ia()) throw new O(2, 2, 3E3);\n return a.h[a.g++];\n }\n fq.prototype.skip = function (a) {\n if (this.g + a > this.h.length) throw new O(2, 2, 3E3);\n this.g += a;\n };\n function hq(a) {\n this.i = a;\n this.h = [null, null, null, null, null, null, null, null];\n this.g = null;\n }\n function iq(a, b, c, d) {\n if (128 <= c && 135 >= c) d = c & 7, a.h[d] && (a.g = a.h[d]);else {\n if (136 === c) {\n c = gq(b).value;\n b = null;\n c = t(jq(a, c));\n for (var e = c.next(); !e.done; e = c.next()) e = a.h[e.value], e.isVisible() && (b = Qp(e, d, a.i)), Mp(e);\n return b;\n }\n if (137 === c) for (b = gq(b).value, b = t(jq(a, b)), c = b.next(); !c.done; c = b.next()) c = a.h[c.value], c.isVisible() || (c.j = d), c.l = !0;else {\n if (138 === c) {\n c = gq(b).value;\n b = null;\n c = t(jq(a, c));\n for (e = c.next(); !e.done; e = c.next()) e = a.h[e.value], e.isVisible() && (b = Qp(e, d, a.i)), e.l = !1;\n return b;\n }\n if (139 === c) {\n c = gq(b).value;\n b = null;\n c = t(jq(a, c));\n for (e = c.next(); !e.done; e = c.next()) e = a.h[e.value], e.isVisible() ? b = Qp(e, d, a.i) : e.j = d, e.l = !e.l;\n return b;\n }\n if (140 === c) return b = gq(b).value, kq(a, b, d);\n if (143 === c) return d = kq(a, 255, d), lq(a), d;
1\n if (144 === c) b.skip(1), d = gq(b).value, a.g && (a.g.u = 0 < (d & 128), a.g.C = 0 < (d & 64));else if (145 === c) d = gq(b).value, c = gq(b).value, b.skip(1), a.g && (b = mq((c & 48) >> 4, (c & 12) >> 2, c & 3), a.g.A = mq((d & 48) >> 4, (d & 12) >> 2, d & 3), a.g.s = b);else if (146 === c) d = gq(b).value, b = gq(b).value, a.g && (a = a.g, a.h = d & 15, a.g = b & 63);else if (151 === c) b.skip(1), b.skip(1), d = gq(b).value, b.skip(1), a.g && (a.g.F = d & 3);else if (152 <= c && 159 >= c) {\n c = (c & 15) - 8;\n e = null !== a.h[c];\n if (!e) {\n var f = new Kp(c, a.i);\n f.j = d;\n a.h[c] = f;\n }\n d = gq(b).value;\n f = gq(b).value;\n var g = gq(b).value,\n h = gq(b).value,\n k = gq(b).value;\n b = gq(b).value;\n e && 0 === (b & 7) || (b = a.h[c], b.h = 0, b.g = 0, b.C = !1, b.u = !1, b.A = "white", b.s = "black");\n b = a.h[c];\n b.l = 0 < (d & 32);\n b.K = f & 127;\n b.H = g;\n b.G = (h & 240) >> 4;\n b.J = 0 < (f & 128);\n b.o = (h & 15) + 1;\n b.m = (k & 63) + 1;\n a.g = a.h[c];\n }\n }\n }\n return null;\n }\n function jq(a, b) {\n for (var c = [], d = 0; 8 > d; d++) 1 === (b & 1) && a.h[d] && c.push(d), b >>= 1;\n return c;\n }\n function kq(a, b, c) {\n var d = null;\n b = t(jq(a, b));\n for (var e = b.next(); !e.done; e = b.next()) {\n e = e.value;\n var f = a.h[e];\n f.isVisible() && (d = Qp(f, c, a.i));\n a.h[e] = null;\n }\n return d;\n }\n function lq(a) {\n a.g = null;\n a.h = [null, null, null, null, null, null, null, null];\n }\n function mq(a, b, c) {\n var d = {\n 0: 0,\n 1: 0,\n 2: 1,\n 3: 1\n };\n a = d[a];\n b = d[b];\n c = d[c];\n return nq[a << 2 | b << 1 | c];\n }\n var oq = new Map([[32, " "], [33, "\\xA0"], [37, "\\u2026"], [42, "\\u0160"], [44, "\\u0152"], [48, "\\u2588"], [49, "\\u2018"], [50, "\\u2019"], [51, "\\u201C"], [52, "\\u201D"], [53, "\\u2022"], [57, "\\u2122"], [58, "\\u0161"], [60, "\\u0153"], [61, "\\u2120"], [63, "\\u0178"], [118, "\\u215B"], [119, "\\u215C"], [120, "\\u215D"], [121, "\\u215E"], [122, "\\u2502"], [123, "\\u2510"], [124, "\\u2514"], [125, "\\u2500"], [126, "\\u2518"], [127, "\\u250C"]]),\n nq = "black blue green cyan red magenta yellow white".split(" ");\n function pq() {\n this.h = [];\n this.g = [];\n this.i = new dq();\n this.l = 0;\n this.m = new Map([["CC1", new Ap(0, 0)], ["CC2", new Ap(0, 1)], ["CC3", new Ap(1, 0)], ["CC4", new Ap(1, 1)]]);\n this.s = this.o = 0;\n this.j = new Map();\n this.A = !0;\n this.u = new Set();\n qq(this);\n }\n pq.prototype.clear = function () {\n this.l = 0;\n this.h = [];\n this.g = [];\n var a = this.i;\n a.i = [];\n a.h = [];\n a.g = 0;\n qq(this);\n a = t(this.j.values());\n for (var b = a.next(); !b.done; b = a.next()) lq(b.value);\n };\n function qq(a) {\n a.o = 0;\n a.s = 0;\n for (var b = t(a.m.values()), c = b.next(); !c.done; c = b.next()) c = c.value, c.h = Bp, c.g = c.j, c.m = null, mp(c.i), mp(c.j), mp(c.o);\n a.A = !0;\n }\n pq.prototype.extract = function (a, b) {\n if (this.A) {\n for (var c = t(this.m.values()), d = c.next(); !d.done; d = c.next()) d.value.l = b;\n this.A = !1;\n }\n a = new Tf(a, 0);\n if (!(8 > a.getLength()) && 181 === a.ga() && 49 === a.Ea() && 1195456820 === a.L() && 3 === a.ga() && (c = a.ga(), 0 !== (c & 64))) for (c &= 31, a.skip(1), d = 0; d < c; d++) {\n var e = a.ga(),\n f = (e & 4) >> 2,\n g = a.ga(),\n h = a.ga();\n f && (e &= 3, 0 === e || 1 === e ? this.h.push({\n pts: b,\n type: e,\n Sa: g,\n nb: h,\n order: this.h.length\n }) : (this.g.push({\n pts: b,\n type: e,\n value: g,\n order: this.g.length\n }), this.g.push({\n pts: b,\n type: 2,\n value: h,\n order: this.g.length\n })));\n }\n };\n pq.prototype.decode = function () {\n function a(e, f) {\n return e.pts - f.pts || e.order - f.order;\n }\n var b = [];\n this.h.sort(a);\n this.g.sort(a);\n for (var c = t(this.h), d = c.next(); !d.done; d = c.next()) (d = rq(this, d.value)) && b.push(d);\n c = t(this.g);\n for (d = c.next(); !d.done; d = c.next()) eq(this.i, d.value);\n c = t(this.i.i);\n for (d = c.next(); !d.done;
1 d = c.next()) d = sq(this, d.value), b.push.apply(b, w(d));\n this.i.i = [];\n this.h = [];\n this.g = [];\n return b;\n };\n function rq(a, b) {\n var c = b.type;\n if (16 === (b.Sa & 112)) {\n var d = b.Sa >> 3 & 1;\n 0 === c ? a.o = d : a.s = d;\n }\n d = "CC" + ((c << 1 | (c ? a.s : a.o)) + 1);\n c = a.m.get(d);\n if (255 === b.Sa && 255 === b.nb || !b.Sa && !b.nb || !tq(b.Sa) || !tq(b.nb)) return 45 <= ++a.l && qq(a), null;\n a.l = 0;\n b.Sa &= 127;\n b.nb &= 127;\n if (!b.Sa && !b.nb) return null;\n a.u.add(d);\n a = null;\n if (16 === (b.Sa & 112)) a: {\n d = b.Sa;\n a = b.nb;\n if (c.m === (d << 8 | a)) c.m = null;else if (c.m = d << 8 | a, 16 === (d & 240) && 64 === (a & 192)) {\n b = [11, 11, 1, 2, 3, 4, 12, 13, 14, 15, 5, 6, 7, 8, 9, 10][(d & 7) << 1 | a >> 5 & 1];\n var e = (a & 30) >> 1;\n d = "white";\n var f = !1;\n 7 > e ? d = Jp[e] : 7 === e && (f = !0);\n a = 1 === (a & 1);\n c.h !== Ep && (e = c.g, c.h === Dp && b !== e.g && (c = 1 + b - e.h, zp(e, c, 1 + e.g - e.h, e.h), pp(e, 0, c - 1), pp(e, b + 1, 15 - b)), e.g = b, e.m = a, e.j = f, e.l = d, e.o = "black");\n } else if (17 === (d & 247) && 32 === (a & 240)) c.g.m = !1, c.g.j = !1, c.g.l = "white", qp(c.g, rp, 32), d = !1, b = Jp[(a & 14) >> 1], "white_italics" === b && (b = "white", d = !0), c.g.m = 1 === (a & 1), c.g.j = d, c.g.l = b;else if (16 === (d & 247) && 32 === (a & 240) || 23 === (d & 247) && 45 === (a & 255)) b = "black", 0 === (d & 7) && (b = Ip[(a & 14) >> 1]), c.g.o = b;else if (17 === (d & 247) && 48 === (a & 240)) qp(c.g, tp, a);else if (18 === (d & 246) && 32 === (a & 224)) qp(c.g, d & 1 ? xp : vp, a);else if (20 === (d & 246) && 32 === (a & 240)) {\n a = b.pts;\n d = null;\n switch (b.nb) {\n case 32:\n Fp(c);\n break;\n case 33:\n c = c.g;\n c.i[c.g].pop();\n break;\n case 37:\n d = Cp(c, 2, a);\n break;\n case 38:\n d = Cp(c, 3, a);\n break;\n case 39:\n d = Cp(c, 4, a);\n break;\n case 40:\n qp(c.g, rp, 32);\n break;\n case 41:\n c.h = 2;\n c.g = c.i;\n c.g.h = 0;\n c.l = a;\n break;\n case 42:\n mp(c.o);\n Hp(c);\n break;\n case 43:\n Hp(c);\n break;\n case 44:\n b = c.i;\n d = null;\n c.h !== Ep && (d = np(b, c.l, a));\n pp(b, 0, 15);\n break;\n case 45:\n b = c.g;\n c.h !== Dp ? d = null : (d = np(b, c.l, a), f = b.g - b.h + 1, zp(b, f - 1, f, b.h), pp(b, 0, f - 1), pp(b, b.g, 15 - b.g), c.l = a);\n break;\n case 46:\n pp(c.j, 0, 15);\n break;\n case 47:\n b = null, c.h !== Ep && (b = np(c.i, c.l, a)), d = c.j, c.j = c.i, c.i = d, Fp(c), c.l = a, d = b;\n }\n a = d;\n break a;\n }\n a = null;\n } else d = b.nb, qp(c.g, rp, b.Sa), qp(c.g, rp, d);\n return a;\n }\n function sq(a, b) {\n var c = [];\n try {\n for (; b.ia();) {\n var d = gq(b).value,\n e = (d & 224) >> 5,\n f = d & 31;\n 7 === e && 0 != f && (e = gq(b).value & 63);\n if (0 != e) {\n a.u.add("svc" + e);\n a.j.has(e) || a.j.set(e, new hq(e));\n for (var g = a.j.get(e), h = b.qa(); b.qa() - h < f;) {\n e = b;\n var k = gq(e),\n l = k.value,\n m = k.pts;\n if (16 === l) {\n var n = gq(e);\n l = l << 16 | n.value;\n }\n if (0 <= l && 31 >= l) {\n var q = m;\n if (g.g) {\n var p = g.g;\n e = null;\n switch (l) {\n case 8:\n !Pp(p) || 0 >= p.g && 0 >= p.h || (0 >= p.g ? (p.g = p.m - 1, p.h--) : p.g--, p.i[p.h][p.g] = null);\n break;\n case 13:\n p.isVisible() && (e = Qp(p, q, g.i));\n if (p.h + 1 >= p.o) {\n q = p;\n for (var u = 0, v = 1; 16 > v; v++, u++) q.i[u] = q.i[v];\n for (v = 0; 1 > v; v++, u++) q.i[u] = Np();\n } else p.h++;\n p.g = 0;\n break;\n case 14:\n p.isVisible() && (e = Qp(p, q, g.i));\n p.i[p.h] = Np();\n p.g = 0;\n break;\n case 12:\n p.isVisible() && (e = Qp(p, q, g.i)), Mp(p), q = p, q.h = 0, q.g = 0;\n }\n var x = e;\n } else x = null;\n } else if (128 <= l && 159 >= l) x = iq(g, e, l, m);else {\n if (4096 <= l && 4127 >= l) q = l & 255, 8 <= q && 15 >= q ? e.skip(1) : 16 <= q && 23 >= q ? e.skip(2) : 24 <= q && 31 >= q && e.skip(3);else if (4224 <= l && 4255 >= l) q = l & 255, 128 <= q && 135 >= q ? e.skip(4) : 136 <= q && 143 >= q && e.skip(5);else if (32 <= l && 127 >= l) e = l, g.g && (127 === e ? Op(g.g, "\\u266A") : Op(g.g, String.fromCharCode(e)));else if (160 <= l && 255 >= l) g.g && Op(g.g, String.fromCharCode(l));else if (4128 <= l && 4223 >= l) {\n if (e = l & 255, g.g) if (oq.has(e)) {\n var z = oq.get(e);\n Op(g.g, z);\n } else Op(g.g, "_");\n } else 4256 <= l && 4351 >= l && g.g && (160 != (l & 255) ? Op(g.g, "_") : Op(g.g, "[CC]"));\n x = null;\n }\n (e = x) && c.push(e);\n }\n }\n }\n } catch (y) {\n if (y instanceof O && 3E3 === y.code) Ta("CEA708_INVALID_DATA", "Buffer read out of bounds / invali
1d CEA-708 Data.");else throw y;\n }\n return c;\n }\n function tq(a) {\n for (var b = 0; a;) b ^= a & 1, a >>= 1;\n return 1 === b;\n }\n pq.prototype.getStreams = function () {\n return Array.from(this.u);\n };\n N("shaka.cea.CeaDecoder", pq);\n rb = function rb() {\n return new pq();\n };\n function uq(a) {\n for (var b = [], c = a, d = a = 0; d < c.length;) 2 == a && 3 == c[d] ? (a = 0, c = [].concat(w(c)), c.splice(d, 1), c = new Uint8Array(c)) : 0 == c[d] ? a++ : a = 0, d++;\n a = c;\n for (d = 0; d < a.length;) {\n for (c = 0; 255 == a[d];) c += 255, d++;\n c += a[d++];\n for (var e = 0; 255 == a[d];) e += 255, d++;\n e += a[d++];\n 4 == c && b.push(a.subarray(d, d + e));\n d += e;\n }\n return b;\n }\n ;\n function vq() {\n this.j = new Map();\n this.i = this.h = 0;\n this.g = wq;\n }\n vq.prototype.init = function (a) {\n function b(f) {\n f = f.name;\n f in xq && (c.g = xq[f]);\n }\n var c = this,\n d = [],\n e = [];\n new Wf().box("moov", ag).box("mvex", ag).O("trex", function (f) {\n var g = f.reader;\n g.skip(4);\n g.skip(4);\n f = g.L();\n g = g.L();\n c.h = f;\n c.i = g;\n }).box("trak", ag).O("tkhd", function (f) {\n f = $h(f.reader, f.version);\n d.push(f.trackId);\n }).box("mdia", ag).O("mdhd", function (f) {\n f = Yh(f.reader, f.version);\n e.push(f.timescale);\n }).box("minf", ag).box("stbl", ag).O("stsd", cg).box("avc1", b).box("avc3", b).box("hev1", b).box("hvc1", b).box("dvh1", b).box("dvhe", b).box("encv", dg).box("sinf", ag).box("frma", function (f) {\n f = ci(f.reader).ha;\n f in xq && (c.g = xq[f]);\n }).parse(a, !0);\n if (!d.length || !e.length || d.length != e.length) throw new O(2, 2, 2010);\n this.g == wq && Sa("Unable to determine bitstream format for CEA parsing!");\n d.forEach(function (f, g) {\n c.j.set(f, e[g]);\n });\n };\n vq.prototype.parse = function (a) {\n var b = this;\n if (this.g == wq) return [];\n var c = [],\n d = this.h,\n e = this.i,\n f = 0,\n g = [],\n h = null,\n k = 9E4;\n new Wf().box("moof", function (l) {\n f = l.start;\n g = [];\n ag(l);\n }).box("traf", ag).O("trun", function (l) {\n l = Zh(l.reader, l.version, l.flags);\n g.push(l);\n }).O("tfhd", function (l) {\n l = Wh(l.reader, l.flags);\n d = l.Kf || b.h;\n e = l.Mg || b.i;\n l = l.trackId;\n b.j.has(l) && (k = b.j.get(l));\n }).O("tfdt", function (l) {\n h = Xh(l.reader, l.version).baseMediaDecodeTime;\n }).box("mdat", function (l) {\n if (null === h) throw Sa("Unable to find base media decode time for CEA captions!"), new O(2, 2, 2010);\n yq(b, l.reader, h, k, d, e, f - l.start - 8, g, c);\n }).parse(a, !1);\n return c;\n };\n function yq(a, b, c, d, e, f, g, h, k) {\n var l = 0,\n m = f,\n n = h.map(function (u) {\n return u.ig;\n });\n n = [].concat.apply([], w(n));\n n.length && (m = n[0].sampleSize || f);\n for (b.skip(g + h[0].Lg); b.ia();) {\n g = b.L();\n var q = b.ga(),\n p = null;\n p = !1;\n h = 1;\n switch (a.g) {\n case zq:\n p = q & 31;\n p = 6 == p;\n break;\n case Aq:\n h = 2;\n b.skip(1);\n p = q >> 1 & 63;\n p = 39 == p || 40 == p;\n break;\n default:\n return;\n }\n if (p) for (q = 0, l < n.length && (q = n[l].Wd || 0), q = (c + q) / d, h = t(uq(b.ub(g - h))), p = h.next(); !p.done; p = h.next()) k.push({\n packet: p.value,\n pts: q\n });else try {\n b.skip(g - h);\n } catch (u) {\n break;\n }\n m -= g + 4;\n 0 == m && (c = l < n.length ? c + (n[l].hf || e) : c + e, l++, l < n.length ? m = n[l].sampleSize || f : m = f);\n }\n }\n N("shaka.cea.Mp4CeaParser", vq);\n var wq = 0,\n zq = 1,\n Aq = 2,\n xq = {\n avc1: zq,\n avc3: zq,\n hev1: Aq,\n hvc1: Aq,\n dvh1: Aq,\n dvhe: Aq\n };\n qb["video/mp4"] = function () {\n return new vq();\n };\n function Bq() {}\n Bq.prototype.init = function () {};\n Bq.prototype.parse = function (a) {\n var b = [];\n a = hb(a);\n if (!ti(a)) return b;\n a = new ni().parse(a);\n var c = a.Pc(),\n d = a.Fd();\n a = [];\n switch (c.video) {\n case "avc":\n a.push(6);\n break;\n case "hvc":\n a.push(39), a.push(40);\n }\n if (!a.length) return b;\n c = t(d);\n for (d = c.next(); !d.done; d = c.next()) if (d = d.value, a.includes(d.type) && null != d.time) for (var e = t(uq(d.data)), f = e.next(); !f.done; f = e.next()) b.push({\n packet: f.value,\n pts: d.time\n });\n return b;\n };\n N("shaka.cea.TsCeaParser", Bq);\n qb["video/mp2t"] = function () {\n return new Bq();\n };\n function Cq(a, b, c) {\n var d = Dq(a),\n e = null;\n a = [];\n var f = [],\n g = null,\n h = new Set(d.map(function (k) {\n return k.keyId;\n }));\n h["delete"](null);\n if (1 < h.size) throw new O(2, 4, 4010);\n if (!b) {\n f = d.filter(function (k) {\n return "urn:mpeg:dash:sea:2012" == k.cd;\n });\n if (1 < f.length) throw new O(2, 4, 4050);
1\n f.length && (g = Eq(f[0]));\n f = d.filter(function (k) {\n return "urn:mpeg:dash:mp4protection:2011" == k.cd ? (e = k.init || e, !1) : "urn:mpeg:dash:sea:2012" != k.cd;\n });\n f.length && (a = Fq(e, f, c, h), 0 == a.length && (a = [yc("", e)]));\n }\n if (d.length && !g && (b || !f.length)) for (a = [], b = t(Object.values(c)), c = b.next(); !c.done; c = b.next()) c = c.value, "org.w3.clearkey" != c && a.push(yc(c, e));\n if (h = Array.from(h)[0] || null) for (b = t(a), c = b.next(); !c.done; c = b.next()) for (c = t(c.value.initData), d = c.next(); !d.done; d = c.next()) d.value.keyId = h;\n return {\n Jf: h,\n aj: e,\n drmInfos: a,\n ke: g,\n Nf: !0\n };\n }\n function Gq(a, b, c, d) {\n var e = Cq(a, c, d);\n if (b.Nf) {\n a = 1 == b.drmInfos.length && !b.drmInfos[0].keySystem;\n c = 0 == e.drmInfos.length;\n if (0 == b.drmInfos.length || a && !c) b.drmInfos = e.drmInfos;\n b.Nf = !1;\n } else if (0 < e.drmInfos.length && (b.drmInfos = b.drmInfos.filter(function (f) {\n return e.drmInfos.some(function (g) {\n return g.keySystem == f.keySystem;\n });\n }), 0 == b.drmInfos.length)) throw new O(2, 4, 4008);\n return e.Jf || b.Jf;\n }\n function Hq(a) {\n var b = 0,\n c = nb(a),\n d = c.getUint32(b, !0);\n if (d != a.byteLength) return [];\n a: {\n a = b + 6;\n for (b = []; a < c.byteLength - 1;) {\n d = c.getUint16(a, !0);\n a += 2;\n var e = c.getUint16(a, !0);\n a += 2;\n if (0 != (e & 1) || e + a > c.byteLength) {\n c = [];\n break a;\n }\n var f = hb(c, a, e);\n b.push({\n type: d,\n value: f\n });\n a += e;\n }\n c = b;\n }\n return c;\n }\n function Iq(a) {\n a = t(a.getElementsByTagName("DATA"));\n for (var b = a.next(); !b.done; b = a.next()) {\n b = t(b.value.childNodes);\n for (var c = b.next(); !c.done; c = b.next()) if (c = c.value, c instanceof Element && "LA_URL" == c.tagName) return c.textContent;\n }\n return "";\n }\n function Jq(a) {\n var b = qg(a.node, "https://dashif.org/CPS", "Laurl");\n if (b && b.textContent) return b.textContent;\n a = qg(a.node, "urn:microsoft:playready", "pro");\n if (!a) return "";\n a = ig(a.textContent);\n a = Hq(a).filter(function (c) {\n return c.type === Kq;\n })[0];\n if (!a) return "";\n a = Of(a.value, !0);\n return (a = Hg(a, "WRMHEADER")) ? Iq(a) : "";\n }\n function Fq(a, b, c, d) {\n var e = [];\n b = t(b);\n for (var f = b.next(); !f.done; f = b.next()) {\n f = f.value;\n var g = c[f.cd];\n if (g) {\n var h;\n if (h = qg(f.node, "urn:microsoft:playready", "pro")) {\n h = ig(h.textContent);\n var k = new Uint8Array([154, 4, 240, 121, 152, 64, 66, 134, 171, 146, 230, 91, 224, 136, 95, 149]);\n h = [{\n initData: ng(h, k, new Set(), 0),\n initDataType: "cenc",\n keyId: f.keyId\n }];\n } else h = null;\n k = null;\n if ("urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e" === f.cd) if (k = d, 0 == k.size) k = null;else {\n var l = new Uint8Array([16, 119, 239, 236, 192, 178, 77, 2, 172, 227, 60, 30, 82, 226, 251, 75]),\n m = new Uint8Array([]);\n k = [{\n initData: ng(m, l, k, 1),\n initDataType: "cenc",\n keyId: f.keyId\n }];\n }\n h = yc(g, f.init || a || h || k);\n if (g = Lq.get(g)) h.licenseServerUri = g(f);\n e.push(h);\n }\n }\n return e;\n }\n function Dq(a) {\n var b = [];\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) (c = Mq(c.value)) && b.push(c);\n return b;\n }\n function Mq(a) {\n var b = a.getAttribute("schemeIdUri"),\n c = tg(a, "urn:mpeg:cenc:2013", "default_KID"),\n d = rg(a, "urn:mpeg:cenc:2013", "pssh").map(vg);\n if (!b) return null;\n b = b.toLowerCase();\n if (c && (c = c.replace(/-/g, "").toLowerCase(), c.includes(" "))) throw new O(2, 4, 4009);\n var e = [];
1\n try {\n e = d.map(function (f) {\n return {\n initDataType: "cenc",\n initData: ig(f),\n keyId: null\n };\n });\n } catch (f) {\n throw new O(2, 4, 4007);\n }\n return {\n node: a,\n cd: b,\n keyId: c,\n init: 0 < e.length ? e : null\n };\n }\n function Eq(a) {\n if (!window.crypto || !window.crypto.subtle) throw Sa("Web Crypto API is not available to decrypt AES-128. (Web Crypto only exists in secure origins like https)"), new O(2, 4, 4042);\n var b = qg(a.node, "urn:mpeg:dash:schema:sea:2012", "SegmentEncryption");\n if (!b) throw new O(2, 4, 4051);\n if ("urn:mpeg:dash:sea:aes128-cbc:2013" != b.getAttribute("schemeIdUri")) throw new O(2, 4, 4051);\n b = qg(a.node, "urn:mpeg:dash:schema:sea:2012", "CryptoPeriod");\n if (!b) throw new O(2, 4, 4051);\n a = b.getAttribute("IV");\n b = b.getAttribute("keyUriTemplate");\n if (!a || !b) throw new O(2, 4, 4051);\n a = jg(a.substr(2));\n if (16 != a.byteLength) throw new O(2, 4, 4048);\n return {\n zh: b,\n iv: a\n };\n }\n var Kq = 1,\n Lq = new Map().set("com.widevine.alpha", function (a) {\n var b = qg(a.node, "https://dashif.org/CPS", "Laurl");\n return b && b.textContent ? b.textContent : (a = qg(a.node, "urn:microsoft", "laurl")) ? a.getAttribute("licenseUrl") || "" : "";\n }).set("com.microsoft.playready", Jq).set("com.microsoft.playready.recommendation", Jq).set("com.microsoft.playready.software", Jq).set("com.microsoft.playready.hardware", Jq).set("org.w3.clearkey", function (a) {\n var b = qg(a.node, "https://dashif.org/CPS", "Laurl");\n return b && b.textContent ? b.textContent : (a = qg(a.node, "http://dashif.org/guidelines/clearKey", "Laurl")) && "EME-1.0" === a.getAttribute("Lic_type") && a.textContent ? a.textContent : "";\n });\n function Nq(a, b, c, d, e, f) {\n var g = {\n RepresentationID: b,\n Number: c,\n SubNumber: d,\n Bandwidth: e,\n Time: f\n };\n return a.replace(/\\$(RepresentationID|Number|SubNumber|Bandwidth|Time)?(?:%0([0-9]+)([diouxX]))?\\$/g, function (h, k, l, m) {\n if ("$$" == h) return "$";\n var n = g[k];\n if (null == n) return h;\n "RepresentationID" == k && l && (l = void 0);\n "Time" == k && "bigint" != typeof n && (.2 <= Math.abs(n - Math.round(n)) && Sa("Calculated $Time$ values must be close to integers"), n = Math.round(n));\n switch (m) {\n case void 0:\n case "d":\n case "i":\n case "u":\n h = n.toString();\n break;\n case "o":\n h = n.toString(8);\n break;\n case "x":\n h = n.toString(16);\n break;\n case "X":\n h = n.toString(16).toUpperCase();\n break;\n default:\n h = n.toString();\n }\n l = window.parseInt(l, 10) || 1;\n return Array(Math.max(0, l - h.length) + 1).join("0") + h;\n });\n }\n function Oq(a, b) {\n var c = Pq(a, b, "timescale"),\n d = 1;\n c && (d = Cg(c) || 1);\n var e = Pq(a, b, "duration");\n c = Cg(e || "");\n "image" == a.M.contentType && (c = Eg(e || ""));\n c && (c /= d);\n var f = Pq(a, b, "startNumber");\n e = Number(Pq(a, b, "presentationTimeOffset")) || 0;\n var g = Dg(f || "");\n if (null == f || null == g) g = 1;\n var h = Qq(a, b, "SegmentTimeline");\n b = null;\n if (h) {\n b = d;\n a = a.ba.duration || Infinity;\n f = g;\n h = pg(h, "S");\n for (var k = [], l = -e, m = 0; m < h.length; ++m) {\n var n = h[m],\n q = h[m + 1],\n p = xg(n, "t", Dg),\n u = xg(n, "d", Dg),\n v = xg(n, "r", Bg);\n n = xg(n, "k", Bg) || 0;\n null != p && (p -= e);\n if (!u) break;\n p = null != p ? p : l;\n v = v || 0;\n if (0 > v) if (q) {\n q = xg(q, "t", Dg);\n if (null == q) break;else if (p >= q) break;
1\n v = Math.ceil((q - p) / u) - 1;\n } else {\n if (Infinity == a) break;else if (p / b >= a) break;\n v = Math.ceil((a * b - p) / u) - 1;\n }\n 0 < k.length && p != l && (k[k.length - 1].end = p / b);\n for (q = 0; q <= v; ++q) l = p + u, k.push({\n start: p / b,\n end: l / b,\n zf: p,\n fb: n,\n Vh: k.length + f\n }), p = l;\n }\n b = k;\n }\n return {\n timescale: d,\n ya: c,\n gd: g,\n vb: e / d || 0,\n yf: e,\n timeline: b\n };\n }\n function Rq(a, b) {\n return [b(a.M), b(a.oa), b(a.ta)].filter(ad);\n }\n function Pq(a, b, c) {\n b = Rq(a, b);\n a = null;\n b = t(b);\n for (var d = b.next(); !d.done && !(a = d.value.getAttribute(c)); d = b.next());\n return a;\n }\n function Qq(a, b, c) {\n b = Rq(a, b);\n a = null;\n b = t(b);\n for (var d = b.next(); !d.done && !(a = og(d.value, c)); d = b.next());\n return a;\n }\n function Sq(a, b, c, d, e, f) {\n for (var g = tg(a, "http://www.w3.org/1999/xlink", "href"), h = tg(a, "http://www.w3.org/1999/xlink", "actuate") || "onRequest", k = t(Array.from(a.attributes)), l = k.next(); !l.done; l = k.next()) l = l.value, "http://www.w3.org/1999/xlink" == l.namespaceURI && a.removeAttributeNS(l.namespaceURI, l.localName);\n if (5 <= f) return af(new O(2, 4, 4028));\n if ("onLoad" != h) return af(new O(2, 4, 4027));\n var m = xc([d], [g]);\n return e.request(0, qf(m, b)).pa(function (n) {\n n = Jg(n.data, a.tagName);\n if (!n) return af(new O(2, 4, 4001, g));\n for (; a.childNodes.length;) a.removeChild(a.childNodes[0]);\n for (; n.childNodes.length;) {\n var q = n.childNodes[0];\n n.removeChild(q);\n a.appendChild(q);\n }\n n = t(Array.from(n.attributes));\n for (q = n.next(); !q.done; q = n.next()) a.setAttributeNode(q.value.cloneNode(!1));\n return Tq(a, b, c, m[0], e, f + 1);\n });\n }\n function Tq(a, b, c, d, e, f) {\n f = void 0 === f ? 0 : f;\n if (tg(a, "http://www.w3.org/1999/xlink", "href")) {\n var g = Sq(a, b, c, d, e, f);\n c && (g = g.pa(void 0, function () {\n return Tq(a, b, c, d, e, f);\n }));\n return g;\n }\n g = [];\n for (var h = t(Array.from(a.childNodes)), k = h.next(); !k.done; k = h.next()) k = k.value, k instanceof Element && ("urn:mpeg:dash:resolve-to-zero:2013" == tg(k, "http://www.w3.org/1999/xlink", "href") ? a.removeChild(k) : "SegmentTimeline" != k.tagName && g.push(Tq(k, b, c, d, e, f)));\n return ef(g).pa(function () {\n return a;\n });\n }\n ;\n function Uq(a, b, c, d, e, f, g) {\n var h,\n k = new Wf().O("sidx", function (l) {\n h = Vq(b, d, e, f, g, c, l);\n });\n a && k.parse(a);\n if (h) return h;\n throw new O(2, 3, 3004);\n }\n function Vq(a, b, c, d, e, f, g) {\n var h = [];\n g.reader.skip(4);\n var k = g.reader.L();\n if (0 == k) throw new O(2, 3, 3005);\n if (0 == g.version) {\n var l = g.reader.L();\n var m = g.reader.L();\n } else l = g.reader.oc(), m = g.reader.oc();\n g.reader.skip(2);\n var n = g.reader.Ea();\n a = a + g.size + m;\n for (m = 0; m < n; m++) {\n var q = g.reader.L(),\n p = (q & 2147483648) >>> 31;\n q &= 2147483647;\n var u = g.reader.L();\n g.reader.skip(4);\n if (1 == p) throw new O(2, 3, 3006);\n h.push(new S(l / k + c, (l + u) / k + c, function () {\n return f;\n }, a, a + q - 1, b, c, d, e));\n l += u;\n a += q;\n }\n g.parser.stop();\n return h;\n }\n ;\n function Wq(a) {\n this.h = nb(a);\n this.g = new Tf(this.h, 0);\n }\n Wq.prototype.ia = function () {\n return this.g.ia();\n };\n function Xq(a) {\n var b = Yq(a);\n if (7 < b.length) throw new O(2, 3, 3002);\n var c = 0;\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) c = 256 * c + d.value;\n b = Yq(a);\n a: {\n d = t(Zq);\n for (var e = d.next(); !e.done; e = d.next()) if (fb(b, new Uint8Array(e.value))) {\n d = !0;\n break a;\n }\n d = !1;\n }\n if (d) b = a.h.byteLength - a.g.qa();else {\n if (8 == b.length && b[1] & 224) throw new O(2, 3, 3001);\n for (e = d = 0; e < b.length; e++) {\n var f = b[e];\n d = 0 == e ? f & (1 << 8 - b.length) - 1 : 256 * d + f;\n }\n b = d;\n }\n b = a.g.qa() + b <= a.h.byteLength ? b : a.h.byteLength - a.g.qa();\n d = nb(a.h, a.g.qa(), b);\n a.g.skip(b);\n return new $q(c, d);\n }\n function Yq(a) {\n var b = a.g.qa(),\n c = a.g.ga();\n if (0 == c) throw new O(2, 3, 3002);\n c = 8 - Math.floor(Math.log2(c));\n a.g.skip(c - 1);\n return hb(a.h, b, c);\n }\n var Zq = [[255], [127, 255], [63, 255, 255], [31, 255, 255, 255], [15, 255, 255, 255, 255], [7, 255, 255, 255, 255, 255], [3, 255, 255, 255, 255, 255, 255], [1, 255, 255, 255, 255, 255, 255, 255]];\n function $q(a, b) {\n this.id = a;\n this.g = b;\n }\n function ar(a) {\n if (8 < a.g.byteLength) throw new O(2, 3, 3002);\n if (8 == a.g.byteLength && a.g.getUint8(0) & 224) throw new O(2, 3, 3001);\n for (var b = 0, c = 0; c < a.g.byteLength; c++) {\n var d = a.g.getUint8(c);\n b = 256 * b + d;\n }\n return b;\n }\n ;\n function br(a, b, c, d, e, f, g, h, k) {\n function l() {\n return e;\n }\n var m = [];\n a = new Wq(a.g);\n for (var n = null, q = null; a.ia();) {\n var p = Xq(a);\n if (187 == p.id) {\n var u = cr(p);\n u && (p = c * u.di, u = b + u.Lh, null != n && m.push(new S(n + g, p + g, l, q, u - 1, f, g, h, k)), n = p, q = u);\n }\n }\n null != n && m.push(new S(n + g, d + g, l, q, null, f, g, h, k));\n return m;\n }\n function cr(a) {\n var b = new Wq(a.g);\n a = Xq(b);
1\n if (179 != a.id) throw new O(2, 3, 3013);\n a = ar(a);\n b = Xq(b);\n if (183 != b.id) throw new O(2, 3, 3012);\n b = new Wq(b.g);\n for (var c = 0; b.ia();) {\n var d = Xq(b);\n if (241 == d.id) {\n c = ar(d);\n break;\n }\n }\n return {\n di: a,\n Lh: c\n };\n }\n ;\n function dr(a, b, c) {\n b = Qq(a, b, "Initialization");\n if (!b) return null;\n var d = a.M.cb(),\n e = b.getAttribute("sourceURL");\n e && (d = xc(d, [e]));\n e = 0;\n var f = null;\n if (b = xg(b, "range", Ag)) e = b.start, f = b.end;\n return new Gh(function () {\n return d;\n }, e, f, er(a), null, null, c);\n }\n function fr(a, b, c) {\n var d = Number(Pq(a, gr, "presentationTimeOffset")) || 0,\n e = Pq(a, gr, "timescale"),\n f = 1;\n e && (f = Cg(e) || 1);\n var g = d / f || 0,\n h = dr(a, gr, c);\n hr(a, h);\n var k = od(a);\n return {\n dc: function dc() {\n var l = Qq(k, gr, "RepresentationIndex");\n var m = k.M.cb();\n l && (l = l.getAttribute("sourceURL")) && (m = xc(m, [l]));\n l = ir(k);\n return jr(k, b, h, m, l.start, l.end, g);\n }\n };\n }\n function jr(a, b, c, d, e, f, g) {\n var h, k, l, m, n, q, p, u, v, x, z, y, B, A, D;\n return K(function (F) {\n if (1 == F.g) return h = a.presentationTimeline, k = !a.zb || !a.ba.Le, l = a.ba.start, m = a.ba.duration, n = a.M.mimeType.split("/")[1], q = b, p = null, u = [q(d, e, f, !1), "webm" == n ? q(c.Z(), c.Qa, c.wa, !0) : null], q = null, C(F, Promise.all(u), 2);\n v = F.h;\n x = v[0];\n z = v[1] || null;\n y = null;\n B = l - g;\n A = l;\n D = m ? l + m : Infinity;\n if ("mp4" == n) var J = Uq(x, e, d, c, B, A, D);else {\n J = new Wq(z);\n if (440786851 != Xq(J).id) throw new O(2, 3, 3008);\n var G = Xq(J);\n if (408125543 != G.id) throw new O(2, 3, 3009);\n J = G.g.byteOffset;\n G = new Wq(G.g);\n for (var H = null; G.ia();) {\n var I = Xq(G);\n if (357149030 == I.id) {\n H = I;\n break;\n }\n }\n if (!H) throw new O(2, 3, 3010);\n H = new Wq(H.g);\n I = 1E6;\n for (G = null; H.ia();) {\n var L = Xq(H);\n if (2807729 == L.id) I = ar(L);else if (17545 == L.id) if (4 == L.g.byteLength) G = L.g.getFloat32(0);else if (8 == L.g.byteLength) G = L.g.getFloat64(0);else throw new O(2, 3, 3003);\n }\n if (null == G) throw new O(2, 3, 3011);\n H = I / 1E9;\n G *= H;\n I = Xq(new Wq(x));\n if (475249515 != I.id) throw new O(2, 3, 3007);\n J = br(I, J, H, G, d, c, B, A, D);\n }\n y = J;\n h.Xc(y);\n p = new Fj(y);\n k && p.bc(A, D, !0);\n return F["return"](p);\n });\n }\n function gr(a) {\n return a.ed;\n }\n function ir(a) {\n var b = Qq(a, gr, "RepresentationIndex");\n a = Pq(a, gr, "indexRange");\n a = Ag(a || "");\n b && (a = xg(b, "range", Ag, a));\n return a;\n }\n function hr(a, b) {\n kr(a, b);\n if (!ir(a)) throw new O(2, 4, 4002);\n }\n function kr(a, b) {\n var c = a.M.mimeType.split("/")[1];\n if (a.M.contentType != Dc && "mp4" != c && "webm" != c) throw new O(2, 4, 4006);\n if ("webm" == c && !b) throw new O(2, 4, 4005);\n }\n function er(a) {\n var b = a.M;\n return {\n bandwidth: a.bandwidth,\n audioSamplingRate: b.audioSamplingRate,\n codecs: b.codecs,\n contentType: b.contentType,\n frameRate: b.frameRate || null,\n height: b.height || null,\n mimeType: b.mimeType,\n channelsCount: b.Td,\n pixelAspectRatio: b.pixelAspectRatio || null,\n width: b.width || null\n };\n }\n ;\n function lr(a, b, c) {\n var d = dr(a, mr, c),\n e = nr(a);\n if (!e.ya && !e.timeline && 1 < e.lc.length) throw new O(2, 4, 4002);\n if (!e.ya && !a.ba.duration && !e.timeline && 1 == e.lc.length) throw new O(2, 4, 4002);\n if (e.timeline && 0 == e.timeline.length) throw new O(2, 4, 4002);\n var f = null,\n g = null;\n a.ta.id && a.M.id && (g = b[a.ta.id + "," + a.M.id]) && (f = g.segmentIndex);\n var h = or(a.ba.start, a.ba.duration, a.M.cb, e, d, c);\n b = !f;\n f ? f.Wc(h, a.presentationTimeline.eb()) : f = new Fj(h);\n a.presentationTimeline.Xc(h);\n a.zb && a.ba.Le || f.bc(a.ba.start, a.ba.duration ? a.ba.start + a.ba.duration : Infinity, b);\n g && (g.segmentIndex = f);\n return {\n dc: function dc() {\n f && 0 != f.Ab() || f.Qd(h);\n return Promise.resolve(f);\n }\n };\n }\n function mr(a) {\n return a.Fb;\n }
1\n function nr(a) {\n var b = pr(a);\n a = Oq(a, mr);\n var c = a.gd;\n 0 == c && (c = 1);\n var d = 0;\n a.ya ? d = a.ya * (c - 1) : a.timeline && 0 < a.timeline.length && (d = a.timeline[0].start);\n return {\n ya: a.ya,\n startTime: d,\n gd: c,\n vb: a.vb,\n timeline: a.timeline,\n lc: b\n };\n }\n function or(a, b, c, d, e, f) {\n var g = d.lc.length;\n d.timeline && d.timeline.length != d.lc.length && (g = Math.min(d.timeline.length, d.lc.length));\n for (var h = a - d.vb, k = b ? a + b : Infinity, l = [], m = d.startTime, n = {}, q = 0; q < g; n = {\n Ec: n.Ec,\n Ac: n.Ac\n }, q++) {\n n.Ac = d.lc[q];\n var p = void 0;\n p = null != d.ya ? m + d.ya : d.timeline ? d.timeline[q].end : m + b;\n n.Ec = null;\n l.push(new S(a + m, a + p, function (u) {\n return function () {\n null == u.Ec && (u.Ec = xc(c(), [u.Ac.Dh]));\n return u.Ec;\n };\n }(n), n.Ac.start, n.Ac.end, e, h, a, k, [], "", null, null, Ih, f));\n m = p;\n }\n return l;\n }\n function pr(a) {\n return [a.M.Fb, a.oa.Fb, a.ta.Fb].filter(ad).map(function (b) {\n return pg(b, "SegmentURL");\n }).reduce(function (b, c) {\n return 0 < b.length ? b : c;\n }).map(function (b) {\n b.getAttribute("indexRange") && !a.Wf && (a.Wf = !0);\n var c = b.getAttribute("media");\n b = xg(b, "mediaRange", Ag, {\n start: 0,\n end: null\n });\n return {\n Dh: c,\n start: b.start,\n end: b.end\n };\n });\n }\n ;\n function qr(a, b, c, d, e, f, g) {\n var h = rr(a, g),\n k = sr(a);\n tr(k);\n var l = od(a);\n if (k.Uc) return kr(a, h), {\n dc: function dc() {\n var u = Nq(k.Uc, l.M.id, null, null, l.bandwidth || null, null);\n u = xc(l.M.cb(), [u]);\n return jr(l, b, h, u, 0, null, k.vb);\n }\n };\n if (k.ya) return d || "image" === a.oa.contentType || (a.presentationTimeline.Ye(k.ya), a.presentationTimeline.Sd(a.ba.start)), {\n dc: function dc() {\n return ur(l, k, e, h, f, g);\n }\n };\n var m = null;\n d = d = null;\n a.ta.id && a.M.id && (d = a.ta.id + "," + a.M.id, d = c[d]) && (m = d.segmentIndex);\n var n = a.ba.start,\n q = a.ba.duration ? n + a.ba.duration : Infinity,\n p = !(a.zb && a.ba.Le);\n m ? (c = m, vr(c, k, n, q, p, h), c.bb(a.presentationTimeline.eb())) : m = new wr(k, a.M.id, a.bandwidth, a.M.cb, n, q, h, p, g, a.M.jf);\n k.timeline && "image" !== a.oa.contentType && a.presentationTimeline.dg(k.timeline, n);\n d && a.zb && (d.segmentIndex = m);\n return {\n dc: function dc() {\n m instanceof wr && 0 == m.Ab() && vr(m, k, n, q, p, h);\n return Promise.resolve(m);\n }\n };\n }\n function xr(a) {\n return a.fd;\n }\n function sr(a) {\n var b = Oq(a, xr),\n c = Pq(a, xr, "media");\n a = Pq(a, xr, "index");\n return {\n ya: b.ya,\n timescale: b.timescale,\n gd: b.gd,\n vb: b.vb,\n yf: b.yf,\n timeline: b.timeline,\n mc: c,\n Uc: a\n };\n }\n function tr(a) {\n var b = a.Uc ? 1 : 0;\n b += a.timeline ? 1 : 0;\n b += a.ya ? 1 : 0;\n if (0 == b) throw new O(2, 4, 4002);\n 1 != b && (a.Uc && (a.timeline = null), a.ya = null);\n if (!a.Uc && !a.mc) throw new O(2, 4, 4002);\n }\n function ur(a, b, c, d, e, f) {\n function g(I) {\n var L = (I - u) * p,\n M = L + b.vb,\n P = L + m;\n L = P + p;\n var V = Math.min(L, k());\n P = new S(P, V, function () {\n var X = M * v;\n "BigInt" in window && X > Number.MAX_SAFE_INTEGER && (X = BigInt(M) * BigInt(v));\n X = Nq(x, y, I, null, z, X);\n return xc(B(), [X]);\n }, 0, null, d, A, m, k(), [], "", null, null, Ih, f);\n P.h = L;\n return P;\n }
1\n function h() {\n var I = [Math.max(l.eb(), m), Math.min(l.Bb(), k())].map(function (L) {\n return L - m;\n });\n return [Math.ceil(I[0] / p), Math.ceil(I[1] / p) - 1].map(function (L) {\n return L + u;\n });\n }\n function k() {\n var I = null != n && e[n] || q;\n return I ? m + I : Infinity;\n }\n var l = a.presentationTimeline,\n m = a.ba.start,\n n = a.ta.id,\n q = a.ba.duration,\n p = b.ya,\n u = b.gd,\n v = b.timescale,\n x = b.mc,\n z = a.bandwidth || null,\n y = a.M.id,\n B = a.M.cb,\n A = m - b.vb,\n D = h();\n a = a.zb ? Math.max(D[0], D[1] - c + 1) : D[0];\n D = D[1];\n c = [];\n for (var F = a; F <= D; ++F) {\n var J = g(F);\n c.push(J);\n }\n var G = new Fj(c);\n c = l.Bb() < k();\n F = l.R();\n if (c || F) {\n var H = Math.max(a, D + 1);\n G.Yd(p, function () {\n var I = l.eb();\n G.bb(I);\n var L = t(h());\n L.next();\n L = L.next().value;\n for (var M = []; H <= L;) {\n var P = g(H);\n M.push(P);\n H++;\n }\n return I > k() && !M.length ? null : M;\n });\n }\n return Promise.resolve(G);\n }\n function rr(a, b) {\n var c = Pq(a, xr, "initialization");\n if (!c) return null;\n var d = a.M.id,\n e = a.bandwidth || null,\n f = a.M.cb;\n return new Gh(function () {\n var g = Nq(c, d, null, null, e, null);\n return xc(f(), [g]);\n }, 0, null, er(a), null, null, b);\n }\n function wr(a, b, c, d, e, f, g, h, k, l) {\n Fj.call(this, []);\n this.h = a;\n this.F = b;\n this.A = c;\n this.C = d;\n this.i = e;\n this.l = f;\n this.s = g;\n this.u = k;\n this.G = l;\n h && yr(this);\n }\n oa(wr, Fj);\n r = wr.prototype;\n r.Ab = function () {\n return this.h ? this.h.timeline.length : 0;\n };\n r.release = function () {\n Fj.prototype.release.call(this);\n this.h = null;\n };\n r.bb = function (a) {\n if (this.h) {\n for (var b = 0, c = this.h.timeline, d = 0; d < c.length; d += 1) if (c[d].end + this.i <= a) b += 1;else break;\n 0 < b && (this.h.timeline = c.slice(b), this.g.length >= b && (this.g = this.g.slice(b)), this.j += b, 0 === this.Ab() && this.release());\n }\n };\n function vr(a, b, c, d, e, f) {\n a.s = f;\n if (a.h) {\n c = a.h.timeline;\n a.h.mc = b.mc;\n var g = c[c.length - 1];\n b = b.timeline.filter(function (h) {\n return h.start >= g.end;\n });\n 0 < b.length && a.h.timeline.push.apply(a.h.timeline, w(b));\n a.l !== d && (a.l = d);\n } else a.h = b, a.i = c, a.l = d;\n e && yr(a);\n }\n function yr(a) {\n if (!a.o) {\n for (var b = a.h.timeline; b.length;) if (b[b.length - 1].start >= a.l) b.pop();else break;\n a.bb(a.i);\n }\n }\n r.find = function (a) {\n if (this.h && this.h.timeline && this.h.timeline.length && a < this.h.timeline[0].start + this.i) return this.j;\n if (!this.h) return null;\n var b = this.h.timeline;\n if (a < this.i || a >= this.l) return null;\n for (var c = b.length - 1, d = 0; d < b.length; d++) {\n var e = b[d],\n f = e.start + this.i;\n e = d < c ? b[d + 1].start + this.i : Infinity === this.l ? e.end + this.i : this.l;\n if (a >= f && a < e) return d + this.j;\n }\n return null;\n };\n r.get = function (a) {\n var b = this;\n a -= this.j;\n if (0 > a || a >= this.Ab() || !this.h) return null;\n var c = this.g[a];\n if (!c) {\n var d = this.h.mc,\n e = this.h.timeline[a],\n f = e.Vh,\n g = this.h.yf + e.zf;\n c = this.i - this.h.vb;\n var h = this.i + e.end,\n k = h;\n a === this.Ab() - 1 && Infinity !== this.l && (k = this.l);\n for (var l = [], m = (e.end - e.start) / e.fb, n = {}, q = 0; q < e.fb; n = {\n Fc: n.Fc,\n fe: n.fe\n }, q++) {\n var p = e.start + m * q,\n u = p + m;\n n.fe = q + 1;\n n.Fc = null;\n p = new S(this.i + p, this.i + u, function (v) {\n return function () {\n if (!b.h) return [];\n null == v.Fc && (v.Fc = zr(b.h.mc, b.F, f, b.A, g, v.fe, b.C));\n return v.Fc;\n };\n }(n), 0, null, this.s, c, this.i, this.l, [], "", null, null, Ih, this.u);\n 0 == this.G ? 0 < q && p.Od() : 0 != q % this.G && p.Od();\n l.push(p);\n }\n c = new S(this.i + e.start, k, function () {\n return 0 < e.fb ? [] : zr(d, b.F, f, b.A, g, null, b.C);\n }, 0, null, this.s, c, this.i, this.l, l, "", null, null, Ih, this.u, 0 < e.fb);\n c.h = h;\n this.g[a] = c;\n }\n return c;\n };\n function zr(a, b, c, d, e, f, g) {\n a = Nq(a, b, c, f, d || null, e);\n return xc(g(), [a]).map(function (h) {\n return h.toString();\n });\n }\n ;\n function Ar(a) {\n this.o = null;\n this.u = a;\n this.G = new kf();\n this.j = [];\n this.h = null;\n this.m = [];\n this.A = null;
1\n this.F = [];\n this.C = 300;\n this.l = new Map();\n this.i = new Map();\n this.g = null;\n this.s = "UNKNOWN";\n }\n Ar.prototype.configure = function (a) {\n this.o = a;\n };\n Ar.prototype.destroy = function () {\n this.u = this.o = null;\n this.j = [];\n this.h = null;\n this.m = [];\n this.F = [];\n this.l.clear();\n null != this.g && (this.g.stop(), this.g = null);\n return this.G.destroy();\n };\n Ar.prototype.setManifestType = function (a) {\n this.s = a;\n };\n function Br(a, b) {\n var c, d, e, f, g, h, k;\n return K(function (l) {\n if (1 == l.g) return c = xc(a.j, [Cr(a, b)]), d = qf(c, a.o.retryParameters), e = a.u.networkingEngine.request(8, d), lf(a.G, e), sa(l, 2), C(l, e.promise, 4);\n if (2 != l.g) return f = l.h, g = Nf(f.data), h = JSON.parse(g), 1 == h.VERSION && Dr(a, h, f.uri), ua(l, 0);\n if ((k = va(l)) && 7001 == k.code) return l["return"]();\n null != a.g && (a.g.stop(), a.g = null);\n a.g = new qd(function () {\n Br(a, b);\n });\n a.g.U(a.C);\n E(l);\n });\n }\n function Cr(a, b) {\n if (!a.m.length) return b;\n b = new fc(b);\n var c = a.A || a.m[0],\n d = Math.round(a.u.getBandwidthEstimate()),\n e = b.g;\n "DASH" == a.s ? (e.add("_DASH_pathway", c), e.add("_DASH_throughput", String(d))) : "HLS" == a.s && (e.add("_HLS_pathway", c), e.add("_HLS_throughput", String(d)));\n vc(e) && jc(b, e);\n return b.toString();\n }\n function Dr(a, b, c) {\n null != a.g && (a.g.stop(), a.g = null);\n var d = b["RELOAD-URI"] || c;\n a.g = new qd(function () {\n Br(a, d);\n });\n if (c = b.TTL) a.C = c;\n a.g.U(a.C);\n a.m = b["PATHWAY-PRIORITY"] || [];\n a.F = b["PATHWAY-CLONES"] || [];\n }\n function Er(a, b, c, d) {\n var e = a.l.get(b);\n e || (e = new Map());\n e.set(c, d);\n a.l.set(b, e);\n }\n function Fr(a, b, c) {\n c = void 0 === c ? !1 : c;\n b = a.l.get(b) || new Map();\n for (var d = [], e = {}, f = t(a.m), g = f.next(); !g.done; e = {\n Jb: e.Jb\n }, g = f.next()) if (e.Jb = g.value, g = b.get(e.Jb)) d.push({\n df: e.Jb,\n location: g\n });else if (g = a.F.find(function (k) {\n return function (l) {\n return l.vi == k.Jb;\n };\n }(e))) {\n var h = b.get(g["BASE-ID"]);\n h && (g["URI-REPLACEMENT"].xg ? (h = new fc(h), hc(h, g["URI-REPLACEMENT"].xg), d.push({\n df: e.Jb,\n location: h.toString()\n })) : d.push({\n df: e.Jb,\n location: h\n }));\n }\n e = Date.now();\n f = t(a.i.keys());\n for (g = f.next(); !g.done; g = f.next()) g = g.value, h = a.i.get(g), e > h && a.i["delete"](g);\n d = d.filter(function (k) {\n for (var l = t(a.i.keys()), m = l.next(); !m.done; m = l.next()) if (m.value.includes(new fc(k.location).ob)) return !1;\n return !0;\n });\n d.length && (a.A = d[0].df);\n d = d.map(function (k) {\n return k.location;\n });\n if (!d.length && a.h) for (e = t(a.h.split(",")), g = e.next(); !g.done; g = e.next()) if (f = b.get(g.value)) a.A = a.h, d.push(f);\n if (!d.length) for (b = t(b.values()), e = b.next(); !e.done; e = b.next()) d.push(e.value);\n return c ? d : xc(a.j, d);\n }\n ;\n function Gr() {\n this.j = [];\n this.h = [];\n this.g = [];\n this.l = [];\n this.i = [];\n this.m = !1;\n this.o = new Set();\n }\n r = Gr.prototype;\n r.release = function () {\n for (var a = t(this.h.concat(this.g, this.l, this.i)), b = a.next(); !b.done; b = a.next()) b = b.value, b.segmentIndex && b.segmentIndex.release();\n this.h = [];\n this.g = [];\n this.l = [];\n this.i = [];\n this.j = [];\n };\n r.mh = function () {\n return this.j;\n };\n r.Ie = function () {\n return this.l.slice();\n };\n r.Vg = function () {\n return this.i;\n };\n function Hr(a, b) {\n var c = [],\n d = [],\n e = [],\n f = [];\n a = t(a);\n for (var g = a.next(); !g.done; g = a.next()) {\n var h = g.value;\n g = new Map(h.audioStreams.map(function (n) {\n return [Ir(n), n];\n }));\n var k = new Map(h.videoStreams.map(function (n) {\n return [Jr(n), n];\n })),\n l = new Map(h.textStreams.map(function (n) {\n return [Kr(n), n];\n }));\n h = new Map(h.imageStreams.map(function (n) {\n return [Lr(n), n];\n }));\n if (b) {\n var m = Mr(Dc);\n l.set(Kr(m), m);\n m = Mr("image");\n h.set(Lr(m), m);\n }\n c.push(g);\n d.push(k);\n e.push(l);\n f.push(h);\n }\n return {\n Df: c,\n vg: d,\n sg: e,\n Vf: f\n };\n }\n r.Gf = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l,\n m,\n n,\n q,\n p,\n u,\n v,\n x,\n z,\n y,\n B,\n A,\n D,\n F,\n J,\n G,\n H,\n I,\n L,\n M,\n P,\n V,\n X;
1\n return K(function (ba) {\n if (1 == ba.g) {\n d = Ec;\n if (!b && 1 == a.length) return e = Hr(a, !1), f = e.Df, g = e.vg, h = e.sg, k = e.Vf, c.h = Array.from(f[0].values()), c.g = Array.from(g[0].values()), c.l = Array.from(h[0].values()), c.i = Array.from(k[0].values()), ba.B(2);\n l = -1;\n for (m = 0; m < a.length; m++) n = a[m], c.o.has(n.id) || (c.o.add(n.id), -1 == l && (l = m));\n if (-1 == l) return ba["return"]();\n q = Hr(a, !0);\n p = q.Df;\n u = q.vg;\n v = q.sg;\n x = q.Vf;\n return C(ba, Promise.all([Nr(c, c.h, p, l, Or, Pr), Nr(c, c.g, u, l, Or, Pr), Nr(c, c.l, v, l, Or, Pr), Nr(c, c.i, x, l, Or, Pr)]), 2);\n }\n z = 0;\n y = [];\n if (c.g.length && c.h.length) for (G = t(c.h), H = G.next(); !H.done; H = G.next()) for (I = H.value, L = t(c.g), M = L.next(); !M.done; M = L.next()) P = M.value, V = wh(I.drmInfos, P.drmInfos), I.drmInfos.length && P.drmInfos.length && !V.length || (X = z++, y.push({\n id: X,\n language: I.language,\n disabledUntilTime: 0,\n primary: I.primary,\n audio: I,\n video: P,\n bandwidth: (I.bandwidth || 0) + (P.bandwidth || 0),\n drmInfos: V,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n }));else for (B = c.g.length ? c.g : c.h, A = t(B), D = A.next(); !D.done; D = A.next()) F = D.value, J = z++, y.push({\n id: J,\n language: F.language,\n disabledUntilTime: 0,\n primary: F.primary,\n audio: F.type == d.P ? F : null,\n video: F.type == d.$ ? F : null,\n bandwidth: F.bandwidth || 0,\n drmInfos: F.drmInfos,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n });\n c.j = y;\n E(ba);\n });\n };\n function Qr(a) {\n var b, c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G, H, I, L, M, P, V;\n return K(function (X) {\n switch (X.g) {\n case 1:\n b = Ec;\n if (1 == a.length) return X["return"](a[0]);\n c = a.map(function (ba) {\n return new Map(ba.filter(function (R) {\n return R.type === b.P;\n }).map(function (R) {\n return [Ir(R), R];\n }));\n });\n d = a.map(function (ba) {\n return new Map(ba.filter(function (R) {\n return R.type === b.$;\n }).map(function (R) {\n return [Jr(R), R];\n }));\n });\n e = a.map(function (ba) {\n return new Map(ba.filter(function (R) {\n return R.type === b.na;\n }).map(function (R) {\n return [Kr(R), R];\n }));\n });\n f = a.map(function (ba) {\n return new Map(ba.filter(function (R) {\n return R.type === b.he;\n }).map(function (R) {\n return [Lr(R), R];\n }));\n });\n g = t(e);\n for (h = g.next(); !h.done; h = g.next()) k = h.value, l = Rr(b.na), k.set(Kr(l), l);\n m = t(f);\n for (n = m.next(); !n.done; n = m.next()) q = n.value, p = Rr(b.he), q.set(Lr(p), p);\n u = new Gr();\n return C(X, Nr(u, [], c, 0, Sr, Tr), 2);\n case 2:\n return v = X.h, C(X, Nr(u, [], d, 0, Sr, Tr), 3);\n case 3:\n return x = X.h, C(X, Nr(u, [], e, 0, Sr, Tr), 4);\n case 4:\n return z = X.h, C(X, Nr(u, [], f, 0, Sr, Tr), 5);\n case 5:\n y = X.h;\n B = 0;\n if (x.length && v.length) for (G = t(v), H = G.next(); !H.done; H = G.next()) for (I = H.value, L = t(x), M = L.next(); !M.done; M = L.next()) P = M.value, V = B++, P.variantIds.push(V), I.variantIds.push(V);else for (A = x.concat(v), D = t(A), F = D.next(); !F.done; F = D.next()) J = F.value, J.variantIds = [B++];\n return X["return"](x.concat(v).concat(z).concat(y));\n }\n });\n }\n function Nr(a, b, c, d, e, f) {\n var g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G;\n return K(function (H) {\n switch (H.g) {\n case 1:\n g = [];\n for (h = 0; h < d; h++) g.push(new Set());\n for (k = d; k < c.length;
1 k++) g.push(new Set(c[k].values()));\n l = t(b);\n m = l.next();\n case 2:\n if (m.done) {\n H.B(4);\n break;\n }\n n = m.value;\n return C(H, Ur(a, n, c, d, f, g), 5);\n case 5:\n q = H.h;\n if (!q) throw new O(2, 4, 4037);\n m = l.next();\n H.B(2);\n break;\n case 4:\n p = t(g);\n for (u = p.next(); !u.done; u = p.next()) for (v = u.value, x = t(v), z = x.next(); !z.done; z = x.next()) y = z.value, (B = Vr(a, y, c, e, f, g)) && b.push(B);\n A = t(g);\n for (u = A.next(); !u.done; u = A.next()) for (D = u.value, F = {}, J = t(D), z = J.next(); !z.done; F = {\n od: F.od\n }, z = J.next()) if (F.od = z.value, !Wr(F.od) && (G = b.some(function (I) {\n return function (L) {\n return Xr(a, I.od, L);\n };\n }(F)))) throw new O(2, 4, 4037);\n return H["return"](b);\n }\n });\n }\n function Ur(a, b, c, d, e, f) {\n return K(function (g) {\n if (1 == g.g) return Yr(a, c, b), b.matchedStreams ? b.segmentIndex ? C(g, Zr(b, d), 2) : g.B(2) : g["return"](!1);\n $r(b, d, e, f);\n return g["return"](!0);\n });\n }\n function Zr(a, b) {\n var c, d, e, f, g, h, k;\n return K(function (l) {\n if (1 == l.g) {\n c = [];\n d = a.matchedStreams;\n e = t(d);\n for (f = e.next(); !f.done; f = e.next()) g = f.value, c.push(g.createSegmentIndex()), g.trickModeVideo && !g.trickModeVideo.segmentIndex && c.push(g.trickModeVideo.createSegmentIndex());\n return C(l, Promise.all(c), 2);\n }\n if (a.segmentIndex instanceof Jj) for (h = {}, k = b; k < d.length; h = {\n jb: h.jb\n }, k++) h.jb = d[k], h.jb.segmentIndex && (Gj(h.jb.segmentIndex, function (m) {\n return function (n) {\n n.codecs = m.jb.codecs;\n n.mimeType = m.jb.mimeType;\n n.aa && (n.aa.codecs = m.jb.codecs, n.aa.mimeType = m.jb.mimeType);\n };\n }(h)), a.segmentIndex.h.push(h.jb.segmentIndex));\n E(l);\n });\n }\n function Vr(a, b, c, d, e, f) {\n if (Wr(b)) return null;\n var g = d(b);\n Yr(a, c, g);\n g.createSegmentIndex && (g.createSegmentIndex = function () {\n return K(function (h) {\n if (g.segmentIndex) return h.B(0);\n g.segmentIndex = new Jj();\n return C(h, Zr(g, 0), 0);\n });\n });\n if (!g.matchedStreams || !g.matchedStreams.length) return null;\n $r(g, 0, e, f);\n return g;\n }\n function $r(a, b, c, d) {\n for (var e = a.matchedStreams; b < e.length; b++) {\n var f = e[b];\n c(a, f);\n var g = !0;\n "audio" == a.type && 0 == id(a.language, f.language) && (g = !1);\n if (g) {\n d[b]["delete"](f);\n g = new Set(a.codecs.split(","));\n f = t(f.codecs.split(","));\n for (var h = f.next(); !h.done; h = f.next()) (h = h.value) && g.add(h);\n h = Array.from(g);\n g = new Set();\n f = [];\n h = t(h);\n for (var k = h.next(); !k.done; k = h.next()) {\n k = k.value;\n var l = Mc(k);\n g.has(l) || (f.push(k), g.add(l));\n }\n a.codecs = f.join(",");\n }\n }\n }\n function Or(a) {\n var b = Object.assign({}, a);\n b.originalId = null;\n b.createSegmentIndex = function () {\n return Promise.resolve();\n };\n b.closeSegmentIndex = function () {\n b.segmentIndex && (b.segmentIndex.release(), b.segmentIndex = null);\n if (b.matchedStreams) for (var c = t(b.matchedStreams), d = c.next(); !d.done; d = c.next()) d = d.value, d.segmentIndex && (d.segmentIndex.release(), d.segmentIndex = null);\n };\n b.roles = b.roles.slice();\n b.segmentIndex = null;\n b.emsgSchemeIdUris = [];\n b.keyIds = new Set();\n b.closedCaptions = null;\n b.trickModeVideo = null;\n return b;\n }\n function Sr(a) {\n a = Object.assign({}, a);\n a.roles = a.roles.slice();\n a.keyIds = new Set();\n a.segments = [];\n a.variantIds = [];\n a.closedCaptions = null;\n return a;\n }\n function Pr(a, b) {\n function c(g, h) {\n g || (g = []);\n h = t(h);\n for (var k = h.next(); !k.done; k = h.next()) k = k.value, g.includes(k) || g.push(k);\n return g;\n }\n a.roles = c(a.roles, b.roles);\n b.emsgSchemeIdUris && (a.emsgSchemeIdUris = c(a.emsgSchemeIdUris, b.emsgSchemeIdUris));\n for (var d = t(b.keyIds), e = d.next(); !e.done; e = d.next()) a.keyIds.add(e.value);\n null == a.originalId ? a.originalId = b.originalId : a.originalId += "," + (b.originalId || "");\n d = wh(a.drmInfos, b.drmInfos);\n if (b.drmInfos.length && a.drmInfos.length && !d.length) throw new O(2, 4, 4038);\n a.drmInfos = d;\n a.encrypted = a.encrypted || b.encrypted;\n if (b.closedCaptions) for (a.closedCaptions || (a.closedCaptions = new Map()), d = t(b.closedCaptions), e = d.next(); !e.done; e = d.next()) {\n var f = t(e.value);\n e = f.next().value;\n f = f.next().value;\n a.closedCaptions.set(e, f);\n }\n b.trickModeVideo ? (a.trickModeVideo || (a.trickModeVideo = Or(b.trickModeVideo), a.trickModeVideo.createSegmentIndex = function () {\n a.trickModeVideo.segmentIndex = a.segmentIndex.clone();\n return Promise.resolve();\n }), Pr(a.trickModeVideo, b.trickModeVideo)) : a.trickModeVideo && Pr(a.trickModeVideo, b);\n }\n function Tr(a, b) {\n var c = a.roles;\n c || (c = []);\n for (var d = t(b.roles), e = d.next(); !e.done; e = d.next()) e = e.value, c.includes(e) || c.push(e);\n a.roles = c;\n c = t(b.keyIds);\n for (d = c.next(); !d.done; d = c.next()) a.keyIds.add(d.value);\n a.encrypted = a.encrypted && b.encrypted;\n a.segments.push.apply(a.segments, w(b.segments));\n if (b.closedCaptions) for (a.closedCaptions || (a.closedCaptions = new Map()), b = t(b.closedCaptions), c = b.next(); !c.done; c = b.next()) d = t(c.value), c = d.next().value, d = d.next().value, a.closedCaptions.set(c, d);\n }\n function Yr(a, b, c) {\n var d = [];\n b = t(b);\n for (var e = b.next(); !e.done; e = b.next()) {\n e = as(a, e.value, c);\n if (!e) return;\n d.push(e);\n }\n c.matchedStreams = d;\n }\n function as(a, b, c) {\n var d = null,\n e = (0, {\n audio: Ir,\n video: Jr,\n text: Kr,\n image: Lr\n }[c.type])(c);\n if (b.has(e)) d = b.get(e);else {\n e = {\n audio: function audio(h, k) {\n return Xr(a, h, k);\n },\n video: function video(h, k) {\n return Xr(a, h, k);\n },\n text: bs,\n image: cs\n }[c.type];
1\n var f = {\n audio: ds,\n video: es,\n text: fs,\n image: gs\n }[c.type];\n b = t(b.values());\n for (var g = b.next(); !g.done; g = b.next()) g = g.value, !e(c, g) || c.fastSwitching != g.fastSwitching || d && !f(c, d, g) || (d = g);\n }\n return d;\n }\n function hs(a, b) {\n function c(d) {\n if (!is.has(d)) {\n var e = Kc(d);\n is.set(d, e);\n }\n return is.get(d);\n }\n return a.mimeType != b.mimeType ? !1 : c(a.codecs) == c(b.codecs);\n }\n function Xr(a, b, c) {\n return !hs(b, c) && !a.m || b.drmInfos && !vh(b.drmInfos, c.drmInfos) ? !1 : !0;\n }\n function bs(a, b) {\n return b.language ? a.forced !== b.forced || 0 == id(a.language, b.language) || b.kind != a.kind ? !1 : !0 : !0;\n }\n function cs() {\n return !0;\n }\n function ds(a, b, c) {\n var d = hs(a, b),\n e = hs(a, c);\n if (d && !e) return !1;\n if (!d && e) return !0;\n d = id(a.language, b.language);\n e = id(a.language, c.language);\n if (e > d) return !0;\n if (e < d) return !1;\n if (b.label !== c.label) {\n if (a.label === b.label) return !1;\n if (a.label === c.label) return !0;\n }\n if (a.roles.length) return d = b.roles.filter(function (f) {\n return a.roles.includes(f);\n }), e = c.roles.filter(function (f) {\n return a.roles.includes(f);\n }), e.length > d.length ? !0 : e.length < d.length ? !1 : c.roles.length < b.roles.length;\n if (!c.roles.length && b.roles.length) return !0;\n if (c.roles.length && !b.roles.length) return !1;\n if (!b.primary && c.primary) return !0;\n if (b.primary && !c.primary) return !1;\n d = js(a.channelsCount, b.channelsCount, c.channelsCount);\n if (d == ks) return !0;\n if (d == ls) return !1;\n d = js(a.audioSamplingRate, b.audioSamplingRate, c.audioSamplingRate);\n return d == ks ? !0 : d == ls ? !1 : a.bandwidth && ms(a.bandwidth, b.bandwidth, c.bandwidth) == ks ? !0 : !1;\n }\n function es(a, b, c) {\n var d = hs(a, b),\n e = hs(a, c);\n if (d && !e) return !1;\n if (!d && e) return !0;\n d = js(a.width * a.height, b.width * b.height, c.width * c.height);\n if (d == ks) return !0;\n if (d == ls) return !1;\n if (a.frameRate) {\n d = js(a.frameRate, b.frameRate, c.frameRate);\n if (d == ks) return !0;\n if (d == ls) return !1;\n }\n return a.bandwidth && ms(a.bandwidth, b.bandwidth, c.bandwidth) == ks ? !0 : !1;\n }\n function fs(a, b, c) {\n var d = id(a.language, b.language),\n e = id(a.language, c.language);\n if (e > d) return !0;\n if (e < d) return !1;\n if (!b.primary && c.primary) return !0;\n if (b.primary && !c.primary) return !1;\n if (b.label !== c.label) {\n if (a.label === b.label) return !1;\n if (a.label === c.label) return !0;\n }\n if (a.roles.length) {\n d = b.roles.filter(function (f) {\n return a.roles.includes(f);\n });\n e = c.roles.filter(function (f) {\n return a.roles.includes(f);\n });\n if (e.length > d.length) return !0;\n if (e.length < d.length) return !1;\n } else {\n if (!c.roles.length && b.roles.length) return !0;\n if (c.roles.length && !b.roles.length) return !1;\n }\n return c.mimeType != a.mimeType || c.codecs != a.codecs || b.mimeType == a.mimeType && b.codecs == a.codecs ? !1 : !0;\n }\n function gs(a, b, c) {\n return js(a.width * a.height, b.width * b.height, c.width * c.height) == ks ? !0 : !1;\n }\n function Rr(a) {\n return {\n id: 0,\n originalId: "",\n groupId: null,\n primary: !1,\n type: a,\n mimeType: "",\n codecs: "",\n language: "",\n originalLanguage: null,\n label: null,\n width: null,\n height: null,\n encrypted: !1,\n keyIds: new Set(),\n segments: [],\n variantIds: [],\n roles: [],\n forced: !1,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n external: !1,\n fastSwitching: !1\n };\n }\n function Mr(a) {\n return {\n id: 0,\n originalId: "",\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: new Fj([]),\n mimeType: "",\n codecs: "",\n encrypted: !1,\n drmInfos: [],\n keyIds: new Set(),\n language: "",\n originalLanguage: null,\n label: null,\n type: a,\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: [],\n forced: !1,\n channelsCount: null,\n audioSamplingRate: null,\n spatialAudio: !1,\n closedCaptions: null,\n accessibilityPurpose: null,\n external: !1,\n fastSwitching: !1\n };\n }\n function js(a, b, c) {\n if (b == a && a != c) return ls;\n if (c == a && a != b) return ks;\n if (b > a) {\n if (c <= a || c - a < b - a) return ks;\n if (c - a > b - a) return ls;\n } else {\n if (c > a) return ls;\n if (a - c < a - b) return ks;\n if (a - c > a - b) return ls;\n }\n return ns;\n }\n function ms(a, b, c) {\n b = Math.abs(a - b);\n a = Math.abs(a - c);\n return a < b ? ks : b < a ? ls : ns;\n }\n function Wr(a) {\n switch (a.type) {\n case Dc:\n return !a.language;\n case "image":\n return !a.tilesLayout;\n default:\n return !1;\n }\n }\n function Jr(a) {\n return JSON.stringify([a.fastSwitching, a.width, a.frameRate, a.codecs, a.mimeType, a.label, a.roles, a.closedCaptions ? Array.from(a.closedCaptions.entries()) : null, a.bandwidth]);\n }\n function Ir(a) {\n return JSON.stringify([a.fastSwitching, a.channelsCount, a.language, a.bandwidth, a.label, a.codecs, a.mimeType, a.roles, a.audioSamplingRate, a.primary]);\n }\n function Kr(a) {\n return JSON.stringify([a.language, a.label, a.codecs, a.mimeType, a.bandwidth, a.roles]);\n }\n function Lr(a) {\n return JSON.stringify([a.width, a.codecs, a.mimeType]);\n }\n N("shaka.util.PeriodCombiner", Gr);\n Gr.prototype.combinePeriods = Gr.prototype.Gf;\n Gr.prototype.getImageStreams = Gr.prototype.Vg;\n Gr.prototype.getTextStreams = Gr.prototype.Ie;\n Gr.prototype.getVariants = Gr.prototype.mh;\n var ks = 1,\n ns = 0,\n ls = -1,\n is = new Map();\n function os() {\n var a = this;\n this.i = this.h = null;\n this.o = [];\n this.j = null;\n this.I = 1;\n this.m = {};\n this.K = {};\n this.l = new Gr();
1\n this.F = 0;\n this.H = new Ma(5);\n this.G = new qd(function () {\n ps(a);\n });\n this.C = new kf();\n this.u = null;\n this.J = [];\n this.A = Infinity;\n this.s = !1;\n this.g = null;\n }\n r = os.prototype;\n r.configure = function (a) {\n this.h = a;\n this.g && this.g.configure(this.h);\n this.l && (this.l.m = this.h.dash.multiTypeVariantsAllowed && bb());\n };\n r.start = function (a, b) {\n var c = this,\n d;\n return K(function (e) {\n if (1 == e.g) return c.s = b.isLowLatencyMode(), c.o = [a], c.i = b, C(e, qs(c), 2);\n d = e.h;\n c.i && rs(c, d);\n if (!c.i) throw new O(2, 7, 7001);\n return e["return"](c.j);\n });\n };\n r.stop = function () {\n for (var a = t(Object.values(this.m)), b = a.next(); !b.done; b = a.next()) b = b.value, b.segmentIndex && b.segmentIndex.release();\n this.l && this.l.release();\n this.h = this.i = null;\n this.o = [];\n this.j = null;\n this.m = {};\n this.l = null;\n null != this.G && (this.G.stop(), this.G = null);\n this.g && this.g.destroy();\n return this.C.destroy();\n };\n r.update = function () {\n var a = this,\n b;\n return K(function (c) {\n if (1 == c.g) return sa(c, 2), C(c, qs(a), 4);\n if (2 != c.g) return ua(c, 0);\n b = va(c);\n if (!a.i || !b) return c["return"]();\n a.i.onError(b);\n E(c);\n });\n };\n r.onExpirationUpdated = function () {};\n r.onInitialVariantChosen = function (a) {\n if (this.j && this.j.presentationTimeline.R()) {\n var b = a.video || a.audio;\n if (b && b.segmentIndex) {\n a = this.j.presentationTimeline.Bb();\n var c = b.segmentIndex.find(a);\n null != c && (b = b.segmentIndex.get(c)) && (this.F = b.endTime - a, rs(this, 0));\n }\n }\n };\n r.banLocation = function (a) {\n this.g && this.g.i.set(a, Date.now() + 6E4);\n };\n function qs(a) {\n var b, c, d, e, f, g, h;\n return K(function (k) {\n if (1 == k.g) return b = a.o, 1 < a.o.length && a.g && (c = Fr(a.g, "Location", !0), c.length && (b = c)), d = qf(b, a.h.retryParameters), e = Date.now(), C(k, ss(a, d, 0, {\n type: 4\n }), 2);\n if (3 != k.g) {\n f = k.h;\n if (!a.i) return k["return"](0);\n f.uri && f.uri != f.originalUri && !a.o.includes(f.uri) && a.o.unshift(f.uri);\n return C(k, ts(a, f.data, f.uri), 3);\n }\n g = Date.now();\n h = (g - e) / 1E3;\n a.H.sample(1, h);\n return k["return"](h);\n });\n }\n function ts(a, b, c) {\n var d, e, f, g, h;\n return K(function (k) {\n if (1 == k.g) {\n d = Jg(b, "MPD");\n if (!d) throw new O(2, 4, 4001, c);\n if (e = a.h.dash.disableXlinkProcessing) return k["return"](us(a, d, c));\n f = a.h.dash.xlinkFailGracefully;\n g = Tq(d, a.h.retryParameters, f, c, a.i.networkingEngine);\n lf(a.C, g);\n return C(k, g.promise, 2);\n }\n h = k.h;\n return k["return"](us(a, h, c));\n });\n }\n function us(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G, H, I, L, M, P, V, X, ba, R, Oa, ab, vb, Tb, Cb, xa, ib, wb, Ub, Vb, jb, Ed, hd, Fd, tc, Gd, Bh, Fe, Hd, Ac, Wc, Lf, Mf, Ck, Yp, Zp;\n return K(function (Xc) {\n switch (Xc.g) {\n case 1:\n (d = a.h.dash.manifestPreprocessor) && d(b);\n a.g && a.g.l.clear();\n e = [c];\n f = [];\n g = new Map();\n h = pg(b, "Location");\n k = t(h);\n for (l = k.next(); !l.done; l = k.next()) if (m = l.value, n = m.getAttribute("serviceLocation"), q = vg(m)) p = xc(e, [q])[0], n && (a.g ? Er(a.g, "Location", n, p) : g.set(n, p)), f.push(p);\n a.g ? (u = Fr(a.g, "Location", !0), 0 < u.length && (e = a.o = u)) : f.length && (e = a.o = f);\n v = Promise.resolve();\n if ((x = og(b, "ContentSteering")) && a.i) {\n z = x.getAttribute("defaultServiceLocation");\n if (a.g) a.g.j = e, a.g.h = z;else if (a.g = new Ar(a.i), a.g.configure(a.h), a.g.setManifestType("DASH"), a.g.j = e, a.g.h = z, y = vg(x)) (B = xg(x, "queryBeforeStart", Fg, !1)) ? v = Br(a.g, y) : Br(a.g, y);\n A = t(g.keys());\n for (D = A.next(); !D.done; D = A.next()) F = D.value, J = g.get(F), Er(a.g, "Location", F, J);\n }\n G = pg(b, "BaseURL");\n I = !1;\n if (a.g) for (L = t(G), M = L.next(); !M.done; M = L.next()) P = M.value, V = P.getAttribute("serviceLocation"), X = vg(P), V && X && (Er(a.g, "BaseURL",
1V, X), I = !0);\n I && a.g || (ba = G.map(vg), H = xc(e, ba));\n R = function R() {\n return a.g && I ? Fr(a.g, "BaseURL") : H ? H : [];\n };\n Oa = 0;\n G && G.length && (Oa = xg(G[0], "availabilityTimeOffset", Eg) || 0);\n ab = a.h.dash.ignoreMinBufferTime;\n vb = 0;\n ab || (vb = xg(b, "minBufferTime", zg) || 0);\n a.F = xg(b, "minimumUpdatePeriod", zg, -1);\n Tb = xg(b, "availabilityStartTime", yg);\n Cb = xg(b, "timeShiftBufferDepth", zg);\n xa = a.h.dash.ignoreSuggestedPresentationDelay;\n ib = null;\n xa || (ib = xg(b, "suggestedPresentationDelay", zg));\n wb = a.h.dash.ignoreMaxSegmentDuration;\n Ub = null;\n wb || (Ub = xg(b, "maxSegmentDuration", zg));\n Vb = b.getAttribute("type") || "static";\n if (a.j) for (jb = a.j.presentationTimeline, Ed = t(Object.values(a.m)), hd = Ed.next(); !hd.done; hd = Ed.next()) Fd = hd.value, Fd.segmentIndex && Fd.segmentIndex.bb(jb.eb());else tc = a.h.defaultPresentationDelay || 1.5 * vb, Gd = null != ib ? ib : tc, jb = new jj(Tb, Gd, a.h.dash.autoCorrectDrift);\n jb.pc("static" == Vb);\n (Bh = jb.R()) && !isNaN(a.h.availabilityWindowOverride) && (Cb = a.h.availabilityWindowOverride);\n null == Cb && (Cb = Infinity);\n jb.Xd(Cb);\n Fe = b.getAttribute("profiles") || "";\n Hd = {\n zb: "static" != Vb,\n presentationTimeline: jb,\n ta: null,\n ba: null,\n oa: null,\n M: null,\n bandwidth: 0,\n Wf: !1,\n ac: Oa,\n profiles: Fe.split(",")\n };\n Ac = vs(a, Hd, R, b);\n Wc = Ac.duration;\n Lf = Ac.periods;\n "static" != Vb && Ac.Lf || jb.Pa(Wc || Infinity);\n a.A && !a.s && (Mf = a.i.isAutoLowLatencyMode()) && (a.i.enableLowLatencyMode(), a.s = a.i.isLowLatencyMode());\n a.s ? jb.lg(a.A) : a.A && Sa("Low-latency DASH live stream detected, but low-latency streaming mode is not enabled in Shaka Player. Set streaming.lowLatencyMode configuration to true, and see https://bit.ly/3clctcj for details.");\n jb.Ye(Ub || 1);\n return C(Xc, a.l.Gf(Lf, Hd.zb), 2);\n case 2:\n return C(Xc, v, 3);\n case 3:\n a.s && (vb = 0);\n if (a.j) {\n a.j.variants = a.l.j;\n Ck = a.l.Ie();\n 0 < Ck.length && (a.j.textStreams = Ck);\n a.j.imageStreams = a.l.i;\n a.i.filter(a.j);\n Xc.B(4);\n break;\n }\n a.j = {\n presentationTimeline: jb,\n variants: a.l.j,\n textStreams: a.l.Ie(),\n imageStreams: a.l.i,\n offlineSessionIds: [],\n minBufferTime: vb || 0,\n sequenceMode: a.h.dash.sequenceMode,\n ignoreManifestTimestampsInSegmentsMode: !1,\n type: "DASH",\n serviceDescription: ws(b)\n };\n if (!jb.ug()) {\n Xc.B(5);\n break;\n }\n Yp = pg(b, "UTCTiming");\n return C(Xc, xs(a, R, Yp), 6);\n case 6:\n Zp = Xc.h;\n if (!a.i) return Xc["return"]();\n jb.mg(Zp);\n case 5:\n jb.Nd();\n case 4:\n a.i.makeTextStreamsForClosedCaptions(a.j), E(Xc);\n }\n });\n }\n function ws(a) {\n a = og(a, "ServiceDescription");\n if (!a) return null;\n var b = og(a, "Latency"),\n c = og(a, "PlaybackRate");\n if (b && b.getAttribute("max") || c) {\n a = b && b.getAttribute("max") ? parseInt(b.getAttribute("max"), 10) / 1E3 : null;\n var d = c ? parseFloat(c.getAttribute("max")) : null;\n b = b && b.getAttribute("min") ? parseInt(b.getAttribute("min"), 10) / 1E3 : null;\n c = c ? parseFloat(c.getAttribute("min")) : null;\n return {\n maxLatency: a,\n maxPlaybackRate: d,\n minLatency: b,\n minPlaybackRate: c\n };\n }\n return null;\n }\n function vs(a, b, c, d) {\n var e = xg(d, "mediaPresentationDuration", zg),\n f = [],\n g = 0;\n d = pg(d, "Period");\n for (var h = 0; h < d.length; h++) {\n var k = d[h],\n l = d[h + 1],\n m = xg(k, "start", zg, g),\n n = k.id,\n q = xg(k, "duration", zg),\n p = null;\n if (l) {\n var u = xg(l, "start", zg);\n null != u && (p = u - m);\n } else null != e && (p = e - m);\n null == p && (p = q);\n if (!(null !== a.u && null !== n && null !== m && m < a.u) || a.J.includes(n) || h + 1 == d.length) {\n null !== m && (null === a.u || m > a.u) && (a.u = m);\n g = ys(a, b, c, {\n start: m,\n duration: p,\n node: k,\n Le: null == p || !l\n });\n f.push(g);\n b.ta.id && p && (a.K[b.ta.id] = p);\n if (null == p) {\n g = null;\n break;\n }\n g = m + p;\n }\n }\n a.J = f.map(function (v) {\n return v.id;\n });\n return null != e ? {\n periods: f,\n duration: e,\n Lf: !1\n } : {\n periods: f,\n duration: g,\n Lf: !0\n };\n }\n function ys(a, b, c, d) {\n b.ta = zs(a, d.node, null, c);\n b.ba = d;\n b.ta.ac = b.ac;\n b.ta.id || (b.ta.id = "__shaka_period_" + d.start);\n var e = pg(d.node, "EventStream");\n c = b.presentationTimeline.eb();\n e = t(e);\n for (var f = e.next(); !f.done; f = e.next()) As(a, d.start, d.duration, f.value, c);\n c = pg(d.node, "AdaptationSet").map(function (m) {\n return Bs(a, b, m);\n }).filter(ad);\n if (b.zb) {\n d = [];\n e = t(c);\n for (f = e.next(); !f.done; f = e.next()) {\n f = t(f.value.Ph);\n for (var g = f.next(); !g.done; g = f.next()) d.push(g.value);\n }\n if (d.length != new Set(d).size) throw new O(2, 4, 4018);\n }\n d = c.filter(function (m) {\n return !m.wf;\n });\n c = c.filter(function (m) {\n return m.wf;\n });\n c = t(c);\n for (e = c.next(); !e.done; e = c.next()) {\n e = e.value;\n f = e.wf.split(" ");\n g = t(d);\n for (var h = g.next(); !h.done; h = g.next()) {\n var k = h.value;\n if (f.includes(k.id)) {\n h = {};\n k = t(k.streams);\n for (var l = k.next(); !l.done; h = {\n pd: h.pd\n }, l = k.next()) h.pd = l.value, h.pd.trickModeVideo = e.streams.find(function (m) {\n return function (n) {\n return Kc(m.pd.c
1odecs) == Kc(n.codecs);\n };\n }(h));\n }\n }\n }\n c = Cs(a.h.disableAudio, d, "audio");\n e = Cs(a.h.disableVideo, d, "video");\n f = Cs(a.h.disableText, d, Dc);\n d = Cs(a.h.disableThumbnails, d, "image");\n if (0 === e.length && 0 === c.length) throw new O(2, 4, 4004);\n return {\n id: b.ta.id,\n audioStreams: c,\n videoStreams: e,\n textStreams: f,\n imageStreams: d\n };\n }\n function Cs(a, b, c) {\n return a || !b.length ? [] : b.reduce(function (d, e) {\n if (e.contentType != c) return d;\n d.push.apply(d, w(e.streams));\n return d;\n }, []);\n }\n function Bs(a, b, c) {\n function d(G) {\n switch (G) {\n case 1:\n case 6:\n case 13:\n case 14:\n case 15:\n return "SDR";\n case 16:\n return "PQ";\n case 18:\n return "HLG";\n }\n }\n b.oa = zs(a, c, b.ta, null);\n var e = !1,\n f = pg(c, "Role"),\n g = f.map(function (G) {\n return G.getAttribute("value");\n }).filter(ad),\n h = void 0,\n k = b.oa.contentType == Dc;\n k && (h = "subtitle");\n f = t(f);\n for (var l = f.next(); !l.done; l = f.next()) {\n l = l.value;\n var m = l.getAttribute("schemeIdUri");\n if (null == m || "urn:mpeg:dash:role:2011" == m) switch (l = l.getAttribute("value"), l) {\n case "main":\n e = !0;\n break;\n case "caption":\n case "subtitle":\n h = l;\n }\n }\n var n;\n m = pg(c, "EssentialProperty");\n f = null;\n var q = !1;\n l = !1;\n m = t(m);\n for (var p = m.next(); !p.done; p = m.next()) {\n p = p.value;\n var u = p.getAttribute("schemeIdUri");\n "http://dashif.org/guidelines/trickmode" == u ? f = p.getAttribute("value") : "urn:mpeg:mpegB:cicp:TransferCharacteristics" == u ? n = d(parseInt(p.getAttribute("value"), 10)) : "urn:mpeg:mpegB:cicp:ColourPrimaries" != u && "urn:mpeg:mpegB:cicp:MatrixCoefficients" != u && ("urn:mpeg:dash:ssr:2023" == u ? q = !0 : l = !0);\n }\n m = pg(c, "SupplementalProperty");\n m = t(m);\n for (p = m.next(); !p.done; p = m.next()) p = p.value, "urn:mpeg:mpegB:cicp:TransferCharacteristics" == p.getAttribute("schemeIdUri") && (n = d(parseInt(p.getAttribute("value"), 10)));\n m = pg(c, "Accessibility");\n var v = new Map(),\n x;\n m = t(m);\n for (p = m.next(); !p.done; p = m.next()) if (u = p.value, p = u.getAttribute("schemeIdUri"), u = u.getAttribute("value"), "urn:scte:dash:cc:cea-608:2015" == p) {\n if (p = 1, null != u) {\n u = u.split(";");\n for (var z = t(u), y = z.next(); !y.done; y = z.next()) {\n var B = y.value,\n A = y = void 0;\n B.includes("=") ? (B = B.split("="), y = B[0].startsWith("CC") ? B[0] : "CC" + B[0], A = B[1] || "und") : (y = "CC" + p, 2 == u.length ? p += 2 : p++, A = B);\n v.set(y, dd(A));\n }\n } else v.set("CC1", "und");\n } else if ("urn:scte:dash:cc:cea-708:2015" == p) {\n if (p = 1, null != u) for (u = t(u.split(";")), y = u.next(); !y.done; y = u.next()) y = y.value, B = z = void 0, y.includes("=") ? (y = y.split("="), z = "svc" + y[0], B = y[1].split(",")[0].split(":").pop()) : (z = "svc" + p, p++, B = y), v.set(z, dd(B));else v.set("svc1", "und");\n } else "urn:mpeg:dash:role:2011" == p ? null != u && (g.push(u), "captions" == u && (h = "caption")) : "urn:tva:metadata:cs:AudioPurposeCS:2007" == p && ("1" == u ? x = "visually impaired" : "2" == u && (x = "hard of hearing"));\n if (l) return null;\n l = pg(c, "ContentProtection");\n var D = Cq(l, a.h.dash.ignoreDrmInfo, a.h.dash.keySystemsByURI),\n F = dd(b.oa.language || "und"),\n J = c.getAttribute("label");\n (l = pg(c, "Label")) && l.length && (l = l[0], l.textContent && (J = l.textContent));\n l = pg(c, "Representation");\n c = l.map(function (G) {\n if (G = Ds(a, b, D, h, F, J, e, g, v, G, x)) G.hdr = G.hdr || n, G.fastSwitching = q;\n return G;\n }).filter(function (G) {\n return !!G;\n });\n if (0 == c.length) {\n f = "image" == b.oa.contentType;\n if (a.h.dash.ignoreEmptyAdaptationSet || k || f) return null;\n throw new O(2, 4, 4003);\n }\n if (!b.oa.contentType || "application" == b.oa.contentType) for (b.oa.contentType = Es(c[0].mimeType, c[0].codecs), k = t(c), p = k.next(); !p.done; p = k.next()) p.value.type = b.oa.contentType;\n k = b.oa.id || "__fake__" + a.I++;\n m = t(c);\n for (p = m.next(); !p.done; p = m.next()) {\n p = p.value;\n u = t(D.drmInfos);\n for (z = u.next(); !z.done; z = u.next()) z = z.value, z.keyIds = z.keyIds && p.keyIds ? new Set([].concat(w(z.keyIds), w(p.keyIds))) : z.keyIds || p.keyIds;\n a.h.dash.enableAudioGroups && (p.groupId = k);\n }\n l = l.map(function (G) {\n return G.getAttribute("id");\n }).filter(ad);\n return {\n id: k,\n contentType: b.oa.contentType,\n language: F,\n bj: e,\n streams: c,\n drmInfos: D.drmInfos,\n wf: f,\n Ph: l\n };\n }\n function Ds(a, b, c, d, e, f, g, h, k, l, m) {\n b.M = zs(a, l, b.oa, null);\n a.A = Math.min(a.A, b.M.ac);\n if (!Fs(b.M)) return null;\n var n = b.ba.start;\n b.bandwidth = xg(l, "bandwidth", Cg) || 0;\n var q = b.M.contentType,\n p = q == Dc || "application" == q;\n q = "image" == q;
1\n try {\n var u = void 0;\n if (c.ke) {\n var v = b.M.cb,\n x = xc(v(), [c.ke.zh]),\n z = qf(x, a.h.retryParameters);\n u = {\n method: "AES-128",\n iv: c.ke.iv,\n firstMediaSequenceNumber: 0,\n fetchKey: function fetchKey() {\n var H, I, L;\n return K(function (M) {\n if (1 == M.g) return C(M, ss(a, z, 6), 2);\n if (3 != M.g) {\n H = M.h;\n if (!H.data || 16 != H.data.byteLength) throw new O(2, 4, 4049);\n I = {\n name: "AES-CBC"\n };\n L = u;\n return C(M, window.crypto.subtle.importKey("raw", H.data, I, !0, ["decrypt"]), 3);\n }\n L.cryptoKey = M.h;\n u.fetchKey = void 0;\n E(M);\n });\n }\n };\n }\n v = function v(H, I, L, M) {\n return Gs(a, H, I, L, M);\n };\n if (b.M.ed) var y = fr(b, v, u);else if (b.M.Fb) y = lr(b, a.m, u);else if (b.M.fd) y = qr(b, v, a.m, !!a.j, a.h.dash.initialSegmentLimit, a.K, u);else {\n var B = b.ba.duration || 0,\n A = b.M.cb;\n y = {\n dc: function dc() {\n return Promise.resolve(Ij(n, B, A()));\n }\n };\n }\n } catch (H) {\n if ((p || q) && 4002 == H.code) return null;\n throw H;\n }\n v = pg(l, "ContentProtection");\n v = Gq(v, c, a.h.dash.ignoreDrmInfo, a.h.dash.keySystemsByURI);\n v = new Set(v ? [v] : []);\n x = !1;\n pg(l, "SupplementalProperty").some(function (H) {\n return "tag:dolby.com,2018:dash:EC3_ExtensionType:2018" == H.getAttribute("schemeIdUri") && "JOC" == H.getAttribute("value");\n }) && (x = !0);\n var D = !1;\n p && (D = h.includes("forced_subtitle") || h.includes("forced-subtitle"));\n var F;\n if (q && ((l = pg(l, "EssentialProperty").find(function (H) {\n return ["http://dashif.org/thumbnail_tile", "http://dashif.org/guidelines/thumbnail_tile"].includes(H.getAttribute("schemeIdUri"));\n })) && (F = l.getAttribute("value")), !F)) return null;\n var J;\n l = b.M.codecs;\n b.profiles.includes("http://dashif.org/guidelines/dash-if-uhd#hevc-hdr-pq10") && (l.includes("hvc1.2.4.L153.B0") || l.includes("hev1.2.4.L153.B0")) && (J = "PQ");\n l = b.M.id ? b.ta.id + "," + b.M.id : "";\n var G = l && a.m[l] ? a.m[l] : {\n id: a.I++,\n originalId: b.M.id,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n closeSegmentIndex: function closeSegmentIndex() {\n G.segmentIndex && (G.segmentIndex.release(), G.segmentIndex = null);\n },\n segmentIndex: null,\n mimeType: b.M.mimeType,\n codecs: b.M.codecs,\n frameRate: b.M.frameRate,\n pixelAspectRatio: b.M.pixelAspectRatio,\n bandwidth: b.bandwidth,\n width: b.M.width,\n height: b.M.height,\n kind: d,\n encrypted: 0 < c.drmInfos.length,\n drmInfos: c.drmInfos,\n keyIds: v,\n language: e,\n originalLanguage: b.oa.language,\n label: f,\n type: b.oa.contentType,\n primary: g,\n trickModeVideo: null,\n emsgSchemeIdUris: b.M.emsgSchemeIdUris,\n roles: h,\n forced: D,\n channelsCount: b.M.Td,\n audioSamplingRate: b.M.audioSamplingRate,\n spatialAudio: x,\n closedCaptions: k,\n hdr: J,\n videoLayout: void 0,\n tilesLayout: F,\n accessibilityPurpose: m,\n external: !1,\n fastSwitching: !1\n };\n G.createSegmentIndex = function () {\n var H;\n return K(function (I) {\n if (1 == I.g) {\n if (G.segmentIndex) return I.B(0);\n H = G;\n return C(I, y.dc(), 3);\n }\n H.segmentIndex = I.h;\n E(I);\n });\n };\n l && b.zb && !a.m[l] && (a.m[l] = G);\n return G;\n }\n function ps(a) {\n var b, c;\n K(function (d) {\n switch (d.g) {\n case 1:\n return b = 0, sa(d, 2), C(d, qs(a), 4);\n case 4:\n b = d.h;\n ua(d, 3);\n break;\n case 2:\n if (c = va(d), a.i) {\n if (a.h.raiseFatalErrorOnManifestUpdateRequestFailure) return a.i.onError(c), d["return"]();\n c.severity = 1;\n a.i.onError(c);\n }\n case 3:\n if (!a.i) return d["return"]();\n a.i.onManifestUpdated();\n rs(a, b);\n E(d);\n }\n });\n }\n function rs(a, b) {\n 0 > a.F || a.G.U(Math.max(a.F - b, Na(a.H)));\n }\n function zs(a, b, c, d) {\n c = c || {\n contentType: "",\n mimeType: "",\n codecs: "",\n emsgSchemeIdUris: [],\n frameRate: void 0,\n pixelAspectRatio: void 0,\n Td: null,\n audioSamplingRate: null,\n ac: 0,\n jf: 0\n };\n d = d || c.cb;\n var e = b.getAttribute("id"),\n f = pg(b, "BaseURL"),\n g,\n h = !1;\n if (a.g) for (var k = t(f), l = k.next(); !l.done; l = k.next()) {\n var m = l.value;\n l = m.getAttribute("serviceLocation");\n m = vg(m);\n l && m && (Er(a.g, e, l, m), h = !0);\n }\n h && a.g || (g = f.map(vg));\n k = b.getAttribute("contentType") || c.contentType;\n l = b.getAttribute("mimeType") || c.mimeType;\n m = b.getAttribute("codecs") || c.codecs;\n var n = xg(b, "frameRate", Gg) || c.frameRate,\n q = b.getAttribute("sar") || c.pixelAspectRatio,\n p = Hs(pg(b, "InbandEventStream"), c.emsgSchemeIdUris),\n u = pg(b, "AudioChannelConfiguration");\n u = Is(u) || c.Td;\n var v = xg(b, "audioSamplingRate", Dg) || c.audioSamplingRate;\n k || (k = Es(l, m));\n var x = og(b, "SegmentBase"),\n z = og(b, "SegmentTemplate"),\n y = x ? xg(x, "availabilityTimeOffset", Eg) || 0 : 0,\n B = z ? xg(z, "availabilityTimeOffset", Eg) || 0 : 0,\n A = f && f.length ? xg(f[0], "availabilityTimeOffset", Eg) || 0 : 0;\n y = c.ac + A + y + B;\n B = null;\n (A = og(b, "SegmentSequenceProperties")) && (A = og(A, "SAP")) && (B = xg(A, "cadence", Bg));\n return {\n cb: function cb() {\n return xc(d(), f.length ? a.g && h ? Fr(a.g, e) : g ? g : [] : []);\n },\n ed: x || c.ed,\n Fb: og(b, "SegmentList") || c.Fb,\n fd: z || c.fd,\n width: xg(b, "width", Dg) || c.width,\n height: xg(b, "height", Dg) || c.height,\n contentType: k,\n mimeType: l,\n codecs: m,\n frameRate: n,\n pixelAspectRatio: q,\n emsgSchemeIdUris: p,\n id: e,\n language: b.getAttribute("lang"),\n Td: u,\n audioSamplingRate: v,\n ac: y,\n jf: B || c.jf\n };\n }\n function Hs(a, b) {\n b = b.slice();\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) c = c.value.getAttribute("schemeIdUri"), b.includes(c) || b.push(c);\n return b;\n }\n function Is(a) {\n a = t(a);\n for (var b = a.next(); !b.done; b = a.next()) {\n var c = b.value;\n if (b = c.getAttribute("schemeIdUri")) if (c = c.getAttribute("value")) switch (b) {\n case "urn:mpeg:dash:outputChannelPositionList:2012":\n return c.trim().split(/ +/).length;
1\n case "urn:mpeg:dash:23003:3:audio_channel_configuration:2011":\n case "urn:dts:dash:audio_channel_configuration:2012":\n b = parseInt(c, 10);\n if (!b) continue;\n return b;\n case "tag:dolby.com,2014:dash:audio_channel_configuration:2011":\n case "urn:dolby:dash:audio_channel_configuration:2011":\n b = parseInt(c, 16);\n if (!b) continue;\n for (a = 0; b;) b & 1 && ++a, b >>= 1;\n return a;\n case "urn:mpeg:mpegB:cicp:ChannelConfiguration":\n if (b = [0, 1, 2, 3, 4, 5, 6, 8, 2, 3, 4, 7, 8, 24, 8, 12, 10, 12, 14, 12, 14], (c = parseInt(c, 10)) && 0 < c && c < b.length) return b[c];\n }\n }\n return null;\n }\n function Fs(a) {\n var b = a.ed ? 1 : 0;\n b += a.Fb ? 1 : 0;\n b += a.fd ? 1 : 0;\n if (0 == b) return a.contentType == Dc || "application" == a.contentType ? !0 : !1;\n 1 != b && (a.ed && (a.Fb = null), a.fd = null);\n return !0;\n }\n function Js(a, b, c, d) {\n var e, f, g, h, k, l;\n return K(function (m) {\n if (1 == m.g) return e = xc(b(), [c]), f = qf(e, a.h.retryParameters), f.method = d, g = a.i.networkingEngine.request(4, f), lf(a.C, g), C(m, g.promise, 2);\n h = m.h;\n if ("HEAD" == d) {\n if (!h.headers || !h.headers.date) return m["return"](0);\n k = h.headers.date;\n } else k = Nf(h.data);\n l = Date.parse(k);\n return isNaN(l) ? m["return"](0) : m["return"](l - Date.now());\n });\n }\n function xs(a, b, c) {\n var d, e, f, g, h, k, l, m;\n return K(function (n) {\n switch (n.g) {\n case 1:\n d = c.map(function (q) {\n return {\n scheme: q.getAttribute("schemeIdUri"),\n value: q.getAttribute("value")\n };\n }), e = a.h.dash.clockSyncUri, !d.length && e && d.push({\n scheme: "urn:mpeg:dash:utc:http-head:2014",\n value: e\n }), f = t(d), g = f.next();\n case 2:\n if (g.done) {\n n.B(4);\n break;\n }\n h = g.value;\n sa(n, 5);\n k = h.scheme;\n l = h.value;\n switch (k) {\n case "urn:mpeg:dash:utc:http-head:2014":\n case "urn:mpeg:dash:utc:http-head:2012":\n return n.B(7);\n case "urn:mpeg:dash:utc:http-xsdate:2014":\n case "urn:mpeg:dash:utc:http-iso:2014":\n case "urn:mpeg:dash:utc:http-xsdate:2012":\n case "urn:mpeg:dash:utc:http-iso:2012":\n return n.B(8);\n case "urn:mpeg:dash:utc:direct:2014":\n case "urn:mpeg:dash:utc:direct:2012":\n return m = Date.parse(l), n["return"](isNaN(m) ? 0 : m - Date.now());\n case "urn:mpeg:dash:utc:http-ntp:2014":\n case "urn:mpeg:dash:utc:ntp:2014":\n case "urn:mpeg:dash:utc:sntp:2014":\n Sa("NTP UTCTiming scheme is not supported");\n break;\n default:\n Sa("Unrecognized scheme in UTCTiming element", k);\n }\n n.B(9);\n break;\n case 7:\n return C(n, Js(a, b, l, "HEAD"), 10);\n case 10:\n return n["return"](n.h);\n case 8:\n return C(n, Js(a, b, l, "GET"), 11);\n case 11:\n return n["return"](n.h);\n case 9:\n ua(n, 3);\n break;\n case 5:\n va(n);\n case 3:\n g = f.next();\n n.B(2);\n break;\n case 4:\n return Sa("A UTCTiming element should always be given in live manifests! This content may not play on clients with bad clocks!"), n["return"](0);\n }\n });\n }\n function As(a, b, c, d, e) {\n var f = d.getAttribute("schemeIdUri") || "",\n g = d.getAttribute("value") || "",\n h = xg(d, "timescale", Dg) || 1;\n d = t(pg(d, "Event"));\n for (var k = d.next(); !k.done; k = d.next()) {\n k = k.value;\n var l = xg(k, "presentationTime", Dg) || 0,\n m = xg(k, "duration", Dg) || 0;\n l = l / h + b;\n m = l + m / h;\n null != c && (l = Math.min(l, b + c), m = Math.min(m, b + c));\n m < e || (k = {\n schemeIdUri: f,\n value: g,\n startTime: l,\n endTime: m,\n id: k.getAttribute("id") || "",\n eventElement: k\n }, a.i.onTimelineRegionAdded(k));\n }\n }\n function Gs(a, b, c, d, e) {\n var f, g, h, k;\n return K(function (l) {\n if (1 == l.g) return f = wf, g = e ? 0 : 1, h = fk(b, c, d, a.h.retryParameters), C(l, ss(a, h, f, {\n type: g\n }), 2);\n k = l.h;\n return l["return"](k.data);\n });\n }\n function Es(a, b) {\n b = Gc(a, b);\n return Qc(b) ? Dc : a.split("/")[0];\n }\n function ss(a, b, c, d) {\n b = a.i.networkingEngine.request(c, b, d);\n lf(a.C, b);\n return b.promise;\n }\n N("shaka.dash.DashParser", os);
1\n Ah["application/dash+xml"] = function () {\n return new os();\n };\n Ah["video/vnd.mpeg.dash.mpd"] = function () {\n return new os();\n };\n function Ks() {}\n N("shaka.dependencies", Ks);\n Ks.has = function (a) {\n return Ls.has(a);\n };\n Ks.add = function (a, b) {\n if (!Ms[a]) throw Error(a + " is not supported");\n a == Ns ? ze("mux.js", "mux.js is no longer used in Shaka Player.") : Ls.set(a, function () {\n return b;\n });\n };\n var Ns = "muxjs",\n Ms = {\n cj: Ns,\n ISOBoxer: "ISOBoxer"\n };\n Ks.Allowed = Ms;\n var Ls = new Map([["ISOBoxer", function () {\n return window.ISOBoxer;\n }]]);\n function Os(a, b, c) {\n this.type = a;\n this.g = b;\n this.segments = c || null;\n }\n function Ps(a, b, c, d) {\n this.id = a;\n this.name = b;\n this.g = c;\n this.value = void 0 === d ? null : d;\n }\n Ps.prototype.toString = function (a) {\n function b(e) {\n return e.name + "=" + (isNaN(Number(e.value)) ? \'"\' + e.value + \'"\' : e.value);\n }\n var c = "#" + this.name,\n d = this.g ? this.g.filter(function (e) {\n return a ? !a.has(e.name) : !0;\n }).map(b) : [];\n this.value && d.unshift(this.value);\n 0 < d.length && (c += ":" + d.join(","));\n return c;\n };\n function Qs(a) {\n var b = new Set().add("AUDIO").add("VIDEO").add("SUBTITLES").add("PATHWAY-ID").add("GROUP-ID").add("URI");\n return a.toString(b);\n }\n Ps.prototype.getAttribute = function (a) {\n var b = this.g.filter(function (c) {\n return c.name == a;\n });\n return b.length ? b[0] : null;\n };\n function Z(a, b, c) {\n return (a = a.getAttribute(b)) ? a.value : c || null;\n }\n function Rs(a, b) {\n a = a.getAttribute(b);\n if (!a) throw new O(2, 4, 4023, b);\n return a.value;\n }\n function Ss(a, b, c) {\n c = void 0 === c ? [] : c;\n this.g = b;\n this.h = a;\n this.fb = c;\n }\n function Ts(a, b) {\n this.name = a;\n this.value = b;\n }\n ;\n function Us(a, b) {\n return a.filter(function (c) {\n return c.name == b;\n });\n }\n function Vs(a, b) {\n return a.filter(function (c) {\n return Rs(c, "TYPE") == b;\n });\n }\n function Ws(a, b) {\n a = t(a);\n for (var c = a.next(); !c.done; c = a.next()) if (c = c.value, c.name === b) return c;\n return null;\n }\n function Xs(a, b, c) {\n c = void 0 === c ? 0 : c;\n return (a = Ws(a, b)) ? Number(a.value) : c;\n }\n function Ys(a, b, c) {\n return b ? Zs(a, [b], c) : [];\n }\n function Zs(a, b, c) {\n if (!b.length) return [];\n b = xc(a, b);\n a = [];\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) {\n var e = a,\n f = e.push;\n var g = d.value;\n if ((d = c) && d.size) {\n g = String(g).replace(/%7B/g, "{").replace(/%7D/g, "}");\n var h = g.match(/{\\$\\w*}/g);\n if (h) {\n h = t(h);\n for (var k = h.next(); !k.done; k = h.next()) {\n k = k.value;\n var l = k.slice(2, k.length - 1),\n m = d.get(l);\n if (m) g = g.replace(k, m);else throw new O(2, 4, 4039, l);\n }\n }\n d = g;\n } else d = g;\n f.call(e, d);\n }\n return a;\n }\n ;\n function $s(a) {\n this.h = a || "";\n this.g = 0;\n }\n function at(a) {\n bt(a, /[ \\t]+/gm);\n }\n function bt(a, b) {\n b.lastIndex = a.g;\n b = b.exec(a.h);\n b = null == b ? null : {\n position: b.index,\n length: b[0].length,\n results: b\n };\n if (a.g == a.h.length || null == b || b.position != a.g) return null;\n a.g += b.length;\n return b.results;\n }\n function ct(a) {\n return a.g == a.h.length ? null : (a = bt(a, /[^ \\t\\n]*/gm)) ? a[0] : null;\n }\n ;\n function dt() {\n this.g = 0;\n }\n function et(a, b) {\n b = Nf(b);\n b = b.replace(/\\r\\n|\\r(?=[^\\n]|$)/gm, "\\n").trim();\n var c = b.split(/\\n+/m);\n if (!/^#EXTM3U($|[ \\t\\n])/m.test(c[0])) throw new O(2, 4, 4015);\n b = 0;\n for (var d = !0, e = t(c), f = e.next(); !f.done; f = e.next()) if (f = f.value, /^#(?!EXT)/m.test(f) || d) d = !1;
1else if (f = ft(a, f), --a.g, gt.includes(f.name)) {\n b = 1;\n break;\n } else "EXT-X-STREAM-INF" == f.name && (d = !0);\n e = [];\n d = !0;\n for (f = 0; f < c.length; f++) {\n var g = c[f],\n h = c[f + 1];\n if (/^#(?!EXT)/m.test(g) || d) d = !1;else {\n g = ft(a, g);\n if (ht.includes(g.name)) {\n if (1 != b) throw new O(2, 4, 4017);\n g = c.splice(f, c.length - f);\n c = [];\n d = [];\n f = [];\n h = null;\n g = t(g);\n for (var k = g.next(); !k.done; k = g.next()) k = k.value, /^(#EXT)/.test(k) ? (k = ft(a, k), gt.includes(k.name) ? e.push(k) : "EXT-X-MAP" == k.name ? h = k : "EXT-X-PART" == k.name ? f.push(k) : "EXT-X-PRELOAD-HINT" == k.name ? "PART" == Z(k, "TYPE") ? f.push(k) : "MAP" == Z(k, "TYPE") && (k.name = "EXT-X-MAP", h = k) : d.push(k)) : /^#(?!EXT)/m.test(k) || (k = k.trim(), h && d.push(h), c.push(new Ss(k, d, f)), d = [], f = []);\n f.length && (h && d.push(h), c.push(new Ss("", d, f)));\n return new Os(b, e, c);\n }\n e.push(g);\n "EXT-X-STREAM-INF" == g.name && (g.g.push(new Ts("URI", h)), d = !0);\n }\n }\n return new Os(b, e);\n }\n function ft(a, b) {\n a = a.g++;\n var c = b.match(/^#(EXT[^:]*)(?::(.*))?$/);\n if (!c) throw new O(2, 4, 4016, b);\n b = c[1];\n var d = c[2];\n c = [];\n var e;\n if (d) {\n d = new $s(d);\n var f;\n (f = bt(d, /^([^,=]+)(?:,|$)/g)) && (e = f[1]);\n for (var g = /([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g; f = bt(d, g);) c.push(new Ts(f[1], f[2] || f[3])), at(d);\n }\n return new Ps(a, b, c, e);\n }\n var gt = "EXT-X-TARGETDURATION EXT-X-MEDIA-SEQUENCE EXT-X-DISCONTINUITY-SEQUENCE EXT-X-PLAYLIST-TYPE EXT-X-I-FRAMES-ONLY EXT-X-ENDLIST EXT-X-SERVER-CONTROL EXT-X-SKIP EXT-X-PART-INF".split(" "),\n ht = "EXTINF EXT-X-BYTERANGE EXT-X-DISCONTINUITY EXT-X-PROGRAM-DATE-TIME EXT-X-KEY EXT-X-DATERANGE EXT-X-MAP".split(" ");\n function it() {}\n function jt(a) {\n try {\n var b = kt(a);\n return cf({\n uri: a,\n originalUri: a,\n data: b.data,\n headers: {\n "content-type": b.contentType\n }\n });\n } catch (c) {\n return af(c);\n }\n }\n function kt(a) {\n var b = a.split(":");\n if (2 > b.length || "data" != b[0]) throw new O(2, 1, 1004, a);\n b = b.slice(1).join(":").split(",");\n if (2 > b.length) throw new O(2, 1, 1004, a);\n var c = b[0];\n a = window.decodeURIComponent(b.slice(1).join(","));\n b = c.split(";");\n c = b[0];\n var d = !1;\n 1 < b.length && "base64" == b[b.length - 1] && (d = !0, b.pop());\n var e;\n d ? e = ig(a) : e = Rf(a);\n return {\n data: e,\n contentType: c\n };\n }\n N("shaka.net.DataUriPlugin", it);\n it.parse = jt;\n nf("data", jt);\n function lt(a) {\n var b = Nc(a),\n c = b.split("/")[0];\n a = Oc(a);\n return {\n type: c,\n mimeType: b,\n codecs: a,\n language: null,\n height: null,\n width: null,\n channelCount: null,\n sampleRate: null,\n closedCaptions: new Map()\n };\n }\n function mt(a, b) {\n function c(v) {\n return d(v.name);\n }\n function d(v) {\n v = v.toLowerCase();\n switch (v) {\n case "avc1":\n case "avc3":\n e.push(v + ".42E01E");\n g = !0;\n break;\n case "hev1":\n case "hvc1":\n e.push(v + ".1.6.L93.90");\n g = !0;\n break;\n case "dvh1":\n case "dvhe":\n e.push(v + ".05.04");\n g = !0;\n break;\n case "vp09":\n e.push(v + ".00.10.08");\n g = !0;\n break;\n case "av01":\n e.push(v + ".0.01M.08");\n g = !0;\n break;\n case "mp4a":\n e.push("mp4a.40.2");\n f = !0;\n break;\n case "ac-3":\n case "ec-3":\n case "opus":\n case "flac":\n e.push(v), f = !0;\n }\n }\n var e = [],\n f = !1,\n g = !1,\n h = null,\n k = null,\n l = null,\n m = null,\n n = null;\n new Wf().box("moov", ag).box("trak", ag).O("tkhd", function (v) {\n v = $h(v.reader, v.version);\n k = String(v.height);\n l = String(v.width);\n }).box("mdia", ag).O("mdhd", function (v) {\n h = Yh(v.reader, v.version).language;\n }).box("minf", ag).box("stbl", ag).O("stsd", cg).box("mp4a", function (v) {\n var x = v.reader;\n x.skip(6);\n x.skip(2);\n x.skip(8);\n var z = x.Ea();\n x.skip(2);\n x.skip(2);\n x.skip(2);\n x = x.Ea() + x.Ea() / 65536;\n m = z;\n n = x;\n v.reader.ia() ? ag(v) : c(v);\n }).box("esds", function (v) {\n v = ai(v.reader);\n e.push(v.ha);\n f = !0;\n }).box("ac-3", c).box("ec-3", c).box("opus", c).box("Opus", c).box("fLaC", c).box("avc1", function (v) {\n v = bi(v.reader, v.name);\n e.push(v.ha);\n g = !0;\n }).box("avc3", function (v) {\n v = bi(v.reader, v.name);\n e.push(v.ha);\n g = !0;\n }).box("hev1", c).box("hvc1", c).box("dvh1", c).box("dvhe", c).box("vp09", c).box("av01", c).box("enca", dg).box("encv", dg).box("sinf", ag).box("frma", function (v) {\n v = ci(v.reader).ha;\n d(v);\n }).parse(a || b, !0);\n if (!e.length) return null;\n var q = f && !g,\n p = new Map();\n if (g) {\n var u = new pb("video/mp4");\n a && u.init(a);\n u.i(b);\n a = t(u.j());\n for (b = a.next(); !b.done; b = a.next()) b = b.value, p.set(b, b);\n u.h();\n }\n return {\n type: q ? "audio" : "video",\n mimeType: q ? "audio/mp4" : "video/mp4",\n codecs: nt(e).join(", "),\n language: h,\n height: k,\n width: l,\n channelCount: m,\n sampleRate: n,\n closedCaptions: p\n };\n }\n function nt(a) {\n var b = new Set(),\n c = [];\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) {\n d = d.value;\n var e = Mc(d);\n b.has(e) || (c.push(d), b.add(e));\n }\n return c;\n }\n ;\n function ot() {\n var a = this;\n this.g = this.i = null;\n this.u = 1;\n this.o = new Map();\n this.H = new Map();\n this.J = new Map();\n this.J.set("video", new Map());\n this.J.set("audio", new Map());\n this.J.set(Dc, new Map());\n this.J.set("image", new Map());\n this.Ba = new Set();\n this.h = new Map();\n this.l = null;\n this.Y = "";\n this.za = new dt();\n this.I = -1;\n this.V = Infinity;\n this.da = this.mb = !1;\n this.s = new qd(function () {\n pt(a);\n });\n this.ea = qt;\n this.C = null;\n this.Aa = 0;\n this.m = Infinity;\n this.ma = this.ka = this.K = 0;\n this.N = new kf();
1\n this.F = new Map();\n this.G = new Map();\n this.W = new Map();\n this.lb = this.A = !1;\n this.kb = new Ma(5);\n this.j = null;\n }\n r = ot.prototype;\n r.configure = function (a) {\n this.g = a;\n this.j && this.j.configure(this.g);\n };\n r.start = function (a, b) {\n var c = this,\n d;\n return K(function (e) {\n return 1 == e.g ? (c.i = b, c.A = b.isLowLatencyMode(), C(e, rt(c, [a]), 2)) : 3 != e.g ? (d = e.h, c.Y = d.uri, C(e, st(c, d.data, a), 3)) : e["return"](c.C);\n });\n };\n r.stop = function () {\n this.s && (this.s.stop(), this.s = null);\n var a = [];\n this.N && (a.push(this.N.destroy()), this.N = null);\n this.g = this.i = null;\n this.Ba.clear();\n this.C = null;\n this.h.clear();\n this.H.clear();\n this.G.clear();\n this.o.clear();\n this.W.clear();\n this.j && this.j.destroy();\n return Promise.all(a);\n };\n r.update = function () {\n var a = this,\n b,\n c,\n d,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n if (1 == m.g) {\n if (!tt(a)) return m["return"]();\n b = [];\n c = Array.from(a.h.values());\n a.m = Infinity;\n d = c.filter(function (n) {\n return n.stream.segmentIndex;\n });\n e = t(d);\n for (f = e.next(); !f.done; f = e.next()) g = f.value, b.push(ut(a, g));\n return C(m, Promise.all(b), 2);\n }\n vt(a, d.map(function (n) {\n return n.stream;\n }));\n h = d.some(function (n) {\n return 0 == n.Sc;\n });\n d.length && !h && (k = wt, xt(a, k.zg), l = d.map(function (n) {\n return n.rb;\n }), a.l.Pa(Math.min.apply(Math, w(l))), a.i.updateDuration());\n h && yt(a);\n E(m);\n });\n };\n function zt(a, b) {\n return tt(a) ? a.J.get(b.type) : b.Pd;\n }\n function ut(a, b) {\n var c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G, H, I, L, M, P, V, X;\n return K(function (ba) {\n if (1 == ba.g) {\n c = [];\n d = t(b.Z());\n for (e = d.next(); !e.done; e = d.next()) f = e.value, g = new fc(f), h = g.g, b.sd && (0 <= b.Xa && h.add("_HLS_msn", String(b.Xa)), 0 <= b.Ya && h.add("_HLS_part", String(b.Ya))), b.td && h.add("_HLS_skip", "YES"), vc(h) && jc(g, h), c.push(g.toString());\n return C(ba, rt(a, c, !0), 2);\n }\n k = ba.h;\n if (!b.stream.segmentIndex) return ba["return"]();\n l = et(a.za, k.data);\n if (1 != l.type) throw new O(2, 4, 4017);\n m = k.uri;\n m == k.originalUri || b.Z().includes(m) || b.gg.push(m);\n n = Us(l.g, "EXT-X-DEFINE");\n q = At(a, n, m);\n p = b.stream;\n u = zt(a, b);\n v = Bt(l, p.mimeType);\n x = v.keyIds;\n z = v.drmInfos;\n y = function y(R, Oa) {\n return R.size === Oa.size && [].concat(w(R)).every(function (ab) {\n return Oa.has(ab);\n });\n };\n y(p.keyIds, x) || (p.keyIds = x, p.drmInfos = z, a.i.newDrmInfo(p));\n B = Ct(a, l, p, u, q, b.Z);\n A = B.segments;\n if (D = B.bandwidth) p.bandwidth = D;\n p.segmentIndex.Wc(A, a.l.eb());\n A.length && (F = Xs(l.g, "EXT-X-MEDIA-SEQUENCE", 0), G = (J = Ws(l.g, "EXT-X-SKIP")) ? Number(Z(J, "SKIPPED-SEGMENTS")) : 0, H = Dt(F, A), I = H.Xa, L = H.Ya, b.Xa = I + G, b.Ya = L, M = u.get(F), p.segmentIndex.bb(M));\n P = A[0];\n b.Sb = P.startTime;\n V = A[A.length - 1];\n b.rb = V.endTime;\n if (X = Ws(l.g, "EXT-X-ENDLIST")) b.Sc = !0;\n Et(a, l);\n E(ba);\n });\n }\n r.onExpirationUpdated = function () {};\n r.onInitialVariantChosen = function () {};\n r.banLocation = function (a) {\n this.j && this.j.i.set(a, Date.now() + 6E4);\n };\n function Ft(a, b) {\n for (var c = -1 == a.I, d = t(b), e = d.next(); !e.done; e = d.next()) {\n e = e.value;\n var f = e.stream.segmentIndex,\n g = zt(a, e);\n if (f = f.g[0] || null) {\n g = t(g);\n for (var h = g.next(); !h.done; h = g.next()) {\n h = t(h.value);\n var k = h.next().value;\n if (h.next().value == f.startTime) {\n c && (a.I = Math.max(a.I, k));\n e.qe = k;\n break;\n }\n }\n }\n }\n if (!(0 > a.I)) for (b = t(b), e = b.next(); !e.done; e = b.next()) if (c = e.value, d = c.stream.segmentIndex) if (d.g.splice(0, a.I - c.qe), d = d.g[0] || null) d = -d.startTime, c.stream.segmentIndex.offset(d), Gt(a, c, d);\n }\n function Ht(a, b) {\n if (Infinity == a.V) {\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) {\n var d = c.value.stream.segmentIndex.g[0] || null;\n null != d && null != d.ca && (a.V = Math.min(a.V, d.ca));\n }\n }\n b = a.V;\n if (Infinity != b) for (d = t(a.h.values()), c = d.next(); !c.done; c = d.next()) {\n c = c.value;\n var e = c.stream.segmentIndex;\n if (null != e) {\n var f = e.g[0] || null;\n if (null == f.ca) Ra("Missing EXT-X-PROGRAM-DATE-TIME for stream", c.Z(), "Expect AV sync issues!");else for (Gt(a, c, f.ca - b - f.startTime), c = t(e), e = c.next(); !e.done; e = c.next()) e.value.tf(b);\n }\n }\n }\n function Gt(a, b, c) {\n b.Sb += c;\n b.rb += c;\n a = zt(a, b);\n for (var d = t(a), e = d.next(); !e.done; e = d.next()) {\n var f = t(e.value);\n e = f.next().value;\n f = f.next().value;\n a.set(e, f + c);\n }\n b.Z();\n }\n function st(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G, H, I, L, M, P, V, X, ba;\n return K(function (R) {\n switch (R.g) {\n case 1:\n d = et(a.za, b);\n e = Us(d.g, "EXT-X-DEFINE");\n f = [];\n g = [];\n h = [];\n if (1 == d.type) return v = function v() {\n return [c];\n }, C(R, It(a, d, v), 6);\n Jt(a, e);\n k = Us(d.g, "EXT-X-MEDIA");\n l = Us(d.g, "EXT-X-STREAM-INF");\n m = Us(d.g, "EXT-X-IMAGE-STREAM-INF");\n n = Us(d.g, "EXT-X-I-FRAME-STREAM-INF");\n q = Us(d.g, "EXT-X-SESSION-KEY");\n p = Us(d.g, "EXT-X-SESSION-DATA");\n u = Us(d.g, "EXT-X-CONTENT-STEERING");\n Kt(a, p);\n return C(R, Lt(a, u), 4);\n case 4:\n return Mt(a, l), Nt(a, k), f = Ot(a, l, q, k), g = Pt(a, k), C(R, Qt(a, m, n), 5);\n case 5:\n h = R.h;\n R.B(3);\n break;\n case 6:\n return x = R.h, z = x.type, y = x.mimeType, B = x.codecs, A = x.language, D = x.height, F = x.width, J = x.channelCount, G = x.sampleRate, H = x.closedCaptions, C(R, Rt(a, a.u++, d, v, c, B, z, A, !0, "Media Playlist", J, H, null, !1, G, !1, y), 7);\n case 7:\n I = R.h, a.h.set(c, I), "video" == z && St(I.stream, F, D, null, null, null), f.pu
1sh({\n id: 0,\n language: dd(A || "und"),\n disabledUntilTime: 0,\n primary: !0,\n audio: "audio" == z ? I.stream : null,\n video: "video" == z ? I.stream : null,\n bandwidth: I.stream.bandwidth || 0,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n });\n case 3:\n if (!a.i) throw new O(2, 7, 7001);\n a.l = new jj(null, 0);\n a.l.pc(!0);\n 1 == d.type && (tt(a) && (Tt(a, d), L = a.m, a.s.U(L)), M = Array.from(a.h.values()), Ut(a, M), yt(a));\n a.C = {\n presentationTimeline: a.l,\n variants: f,\n textStreams: g,\n imageStreams: h,\n offlineSessionIds: [],\n minBufferTime: 0,\n sequenceMode: a.g.hls.sequenceMode,\n ignoreManifestTimestampsInSegmentsMode: a.g.hls.ignoreManifestTimestampsInSegmentsMode,\n type: "HLS",\n serviceDescription: null\n };\n if (a.da || !a.g.hls.disableCodecGuessing) {\n R.B(8);\n break;\n }\n P = [];\n V = t(a.C.variants);\n for (X = V.next(); !X.done; X = V.next()) ba = X.value, ba.audio && "" === ba.audio.codecs && P.push(ba.audio.createSegmentIndex()), ba.video && "" === ba.video.codecs && P.push(ba.video.createSegmentIndex());\n return C(R, Promise.all(P), 8);\n case 8:\n a.i.makeTextStreamsForClosedCaptions(a.C), E(R);\n }\n });\n }\n function It(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A;\n return K(function (D) {\n switch (D.g) {\n case 1:\n d = lt(a.g.hls.mediaPlaylistFullMimeType);\n if (!b.segments.length) return D["return"](d);\n e = Math.trunc((b.segments.length - 1) / 2);\n f = b.segments[e];\n g = Ys(c(), b.segments[0].h);\n h = g[0];\n k = new fc(h);\n l = k.Ga.split(".").pop();\n if (m = Vt[l]) return D["return"](lt(m));\n n = wf;\n q = null;\n p = Wt(a, b, f.g, c);\n a.W.clear();\n if (!p) {\n D.B(2);\n break;\n }\n u = fk(p.Z(), p.ic(), p.fc(), a.g.retryParameters);\n return C(D, Xt(a, u, n, {\n type: 0\n }), 3);\n case 3:\n v = D.h, q = v.data;\n case 2:\n return x = qf(g, a.g.retryParameters), C(D, Xt(a, x, n, {\n type: 1\n }), 4);\n case 4:\n z = D.h;\n (y = z.headers["content-type"]) && (y = y.split(";")[0].toLowerCase());\n if ("ts" == l || "video/mp2t" == y) {\n var F = z.data;\n var J = hb(F);\n J = new ni().parse(J);\n var G = J.Pc();\n J = J.Je();\n var H = [],\n I = !1,\n L = !1;\n switch (G.audio) {\n case "aac":\n H.push("mp4a.40.2");\n I = !0;\n break;\n case "mp3":\n H.push("mp4a.40.34");\n I = !0;\n break;\n case "ac3":\n H.push("ac-3");\n I = !0;\n break;\n case "ec3":\n H.push("ec-3"), I = !0;\n }\n switch (G.video) {\n case "avc":\n J.ha ? H.push(J.ha) : H.push("avc1.42E01E");\n L = !0;\n break;\n case "hvc":\n J.ha ? H.push(J.ha) : H.push("hvc1.1.6.L93.90"), L = !0;\n }\n if (H.length) {\n G = I && !L;\n I = new Map();\n if (L) {\n L = new pb("video/mp2t");\n L.i(F);\n F = t(L.j());\n for (var M = F.next(); !M.done; M = F.next()) M = M.value, I.set(M, M);\n L.h();\n }\n J = {\n type: G ? "audio" : "video",\n mimeType: "video/mp2t",\n codecs: H.join(", "),\n language: null,\n height: J.height,\n width: J.width,\n channelCount: null,\n sampleRate: null,\n closedCaptions: I\n };\n } else J = null;\n if (B = J) return D["return"](B);\n } else if ("mp4" == l || "cmfv" == l || "m4s" == l || "video/mp4" == y || "audio/mp4" == y || "video/iso.segment" == y) if (A = mt(q, z.data)) return D["return"](A);\n return D["return"](d);\n }\n });\n }\n function yt(a) {\n if (tt(a)) {\n if (a.ea == Yt) {\n var b = Zt(a);\n a.g.hls.useSafariBehaviorForLive && (b = a.l.o);\n isNaN(a.g.availabilityWindowOverride) || (b = a.g.availabilityWindowOverride);\n a.l.Xd(b);\n }\n if (!a.l.m) {\n b = Array.from(a.h.values()).filter(function (d) {\n return d.stream.segmentIndex;\n });\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value, ("audio" == c.type || "video" == c.type) && (c = c.stream.segmentIndex.get(0)) && c.ca && a.l.qf(c.ca);\n }\n } else a.l.Pa($t(a));\n a.l.Nd();\n }\n function Jt(a, b) {\n var c = new fc(a.Y).g;\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) {\n var e = d.value;\n d = Z(e, "NAME");\n var f = Z(e, "VALUE");\n e = Z(e, "QUERYPARAM");\n d && f && (a.o.has(d) || a.o.set(d, f));\n e && (d = c.get(e)[0]) && !a.o.has(d) && a.o.set(e, d);\n }\n }\n function At(a, b, c) {\n c = new fc(c).g;\n var d = new Map();\n b = t(b);\n for (var e = b.next(); !e.done; e = b.next()) {\n var f = e.value,\n g = Z(f, "NAME"),\n h = Z(f, "VALUE");\n e = Z(f, "QUERYPARAM");\n f = Z(f, "IMPORT");\n g && h && (d.has(g) || d.set(g, h));\n e && (g = c.get(e)[0]) && !d.has(g) && d.set(e, g);\n f && (e = a.o.get(f)) && d.set(f, e);\n }\n return d;\n }\n function Mt(a, b) {\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) {\n var d = c.value,\n e = Z(d, "AUDIO");\n c = Z(d, "VIDEO");\n var f = Z(d, "SUBTITLES");\n d = au(a, d);\n if (f) {\n var g = Bc(Dc, d);\n a.G.set(f, g);\n tb(d, g);\n }\n e && (f = Bc("audio", d), f || (f = a.g.hls.defaultAudioCodec), a.G.set(e, f));\n c && (e = Bc("video", d), e || (e = a.g.hls.defaultVideoCodec), a.G.set(c, e));\n }\n }\n function Kt(a, b) {\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) {\n var d = c.value,\n e = Z(d, "DATA-ID");\n c = Z(d, "URI");\n var f = Z(d, "LANGUAGE");\n d = Z(d, "VALUE");\n e = new Map().set("id", e);\n c && e.set("uri", Ys([a.Y], c, a.o)[0]);\n f && e.set("language", f);\n d && e.set("value", d);\n c = new Q("sessiondata", e);\n if (a.i) a.i.onEvent(c);\n }\n }\n function Lt(a, b) {\n var c, d, e, f, g, h;\n return K(function (k) {\n if (!a.i || !a.g) return k["return"]();\n d = t(b);\n for (e = d.next(); !e.done; e = d.next()) if (f = e.value, g = Z(f, "PATHWAY-ID"), h = Z(f, "SERVER-URI"), g && h) {\n a.j = new Ar(a.i);\n a.j.configure(a.g);\n a.j.j = [a.Y];\n a.j.setManifestType("HLS");\n a.j.h = g;\n c = Br(a.j, h);\n break;\n }\n return C(k, c, 0);\n });\n }\n function Pt(a, b) {\n var c = Vs(b, "SUBTITLES");\n b = c.map(function (g) {\n if (a.g.disableText) return null;\n try {\n return bu(a, [g], new Map()).stream;\n } catch (h) {\n if (a.g.hls.ignoreTextStreamFailures) return null;\n throw h;\n }\n });\n c = t(c);\n for (var d = c.next(); !d.done; d = c.next()) {\n var e = Rs(d.value, "GROUP-ID");\n if (d = a.G.get(e)) if (e = a.H.get(e)) {\n e = t(e);\n for (var f = e.next(); !f.done; f = e.next()) f = f.value, f.stream.codecs = d, f.stream.mimeType = cu(Dc, d) || du(Dc);\n }\n }
1\n return b.filter(function (g) {\n return g;\n });\n }\n function Qt(a, b, c) {\n var d, e;\n return K(function (f) {\n if (1 == f.g) return d = b.map(function (g) {\n var h, k, l;\n return K(function (m) {\n if (1 == m.g) {\n if (h = a.g.disableThumbnails) return m["return"](null);\n sa(m, 2);\n return C(m, eu(a, g), 4);\n }\n if (2 != m.g) return k = m.h, m["return"](k.stream);\n l = va(m);\n if (a.g.hls.ignoreImageStreamFailures) return m["return"](null);\n throw l;\n });\n }).concat(c.map(function (g) {\n if (a.g.disableThumbnails) return null;\n try {\n var h = Rs(g, "URI"),\n k = Z(g, "CODECS") || "";\n if (a.h.has(h)) var l = a.h.get(h);else {\n var m = Z(g, "LANGUAGE"),\n n = Z(g, "NAME"),\n q = Z(g, "CHARACTERISTICS"),\n p = fu(a, a.u++, [h], k, "image", m, !1, n, null, null, q, !1, null, !1),\n u = Z(g, "RESOLUTION"),\n v = t(u ? u.split("x") : [null, null]),\n x = v.next().value,\n z = v.next().value;\n p.stream.width = Number(x) || void 0;\n p.stream.height = Number(z) || void 0;\n var y = Z(g, "BANDWIDTH");\n y && (p.stream.bandwidth = Number(y));\n a.h.set(h, p);\n l = p;\n }\n g = l;\n return "mjpg" !== g.stream.codecs ? null : g.stream;\n } catch (B) {\n if (a.g.hls.ignoreImageStreamFailures) return null;\n throw B;\n }\n })), C(f, Promise.all(d), 2);\n e = f.h;\n return f["return"](e.filter(function (g) {\n return g;\n }));\n });\n }\n function gu(a, b, c) {\n b = b.filter(function (h) {\n var k = Z(h, "URI") || "";\n return "SUBTITLES" != Z(h, "TYPE") && "" != k;\n });\n var d = {};\n b = t(b);\n for (var e = b.next(); !e.done; e = b.next()) {\n e = e.value;\n var f = Qs(e);\n d[f] ? d[f].push(e) : d[f] = [e];\n }\n for (var g in d) bu(a, d[g], c);\n }\n function Ot(a, b, c, d) {\n var e = [],\n f = new Set();\n if (0 < c.length) {\n c = t(c);\n for (var g = c.next(); !g.done; g = c.next()) {\n g = g.value;\n var h = Rs(g, "METHOD");\n if ("NONE" != h && "AES-128" != h && (h = Z(g, "KEYFORMAT") || "identity", g = (h = hu[h]) ? h(g, "") : null)) {\n if (g.keyIds) {\n h = t(g.keyIds);\n for (var k = h.next(); !k.done; k = h.next()) f.add(k.value);\n }\n e.push(g);\n }\n }\n }\n c = {};\n b = t(b);\n for (g = b.next(); !g.done; g = b.next()) g = g.value, h = Qs(g), c[h] ? c[h].push(g) : c[h] = [g];\n b = [];\n for (var l in c) {\n k = c[l];\n var m = k[0];\n g = Z(m, "FRAME-RATE");\n h = Number(Z(m, "AVERAGE-BANDWIDTH")) || Number(Rs(m, "BANDWIDTH"));\n var n = Z(m, "RESOLUTION"),\n q = t(n ? n.split("x") : [null, null]);\n n = q.next().value;\n q = q.next().value;\n var p = Z(m, "VIDEO-RANGE");\n (m = Z(m, "REQ-VIDEO-LAYOUT")) && m.includes(",") && (m = m.split(",").filter(function (u) {\n return "CH-STEREO" == u || "CH-MONO" == u;\n })[0]);\n m = m || "CH-MONO";\n k = iu(a, k, d, h);\n b.push.apply(b, w(ju(a, k.audio, k.video, h, n, q, g, p, m, e, f)));\n }\n return b.filter(function (u) {\n return null != u;\n });\n }\n function iu(a, b, c, d) {\n for (var e = {\n audio: [],\n video: []\n }, f = new Map(), g = [], h = !1, k = !1, l = t(b), m = l.next(); !m.done; m = l.next()) {\n var n = m.value;\n m = Z(n, "AUDIO");\n var q = Z(n, "VIDEO"),\n p = m || q;\n p && (g.includes(p) || g.push(p), (n = Z(n, "PATHWAY-ID")) && f.set(p, n), m ? h = !0 : q && (k = !0));\n }\n g.length && c.length && (l = c.filter(function (x) {\n return g.includes(Rs(x, "GROUP-ID"));\n }), gu(a, l, f));\n l = (f = g.sort().join(",")) && a.H.has(f) ? a.H.get(f) : [];\n h ? e.audio.push.apply(e.audio, w(l)) : k && e.video.push.apply(e.video, w(l));\n m = !1;\n var u = b.map(function (x) {\n return Rs(x, "URI");\n });\n k = e.audio.find(function (x) {\n return x && x.Z().find(function (z) {\n return u.includes(z);\n });\n });\n h = au(a, b[0]);\n q = Bc("video", h);\n (p = Bc("audio", h)) && !q ? (k = "audio", m = 0 < e.audio.length) : !e.audio.length && !e.video.length && p && q ? (k = "video", h = [[q, p].join()]) : e.audio.length && k ? (k = "audio", m = !0) : k = e.video.length && !e.audio.length ? "audio" : "video";\n if (!m) {\n var v = n = p = q = m = null;\n !l.length && (c = c.find(function (x) {\n var z = Z(x, "URI") || "",\n y = Z(x, "TYPE");\n x = Rs(x, "GROUP-ID");\n return "SUBTITLES" != y && "" == z && g.includes(x);\n })) && (m = Z(c, "LANGUAGE"), q = Z(c, "NAME"), p = ku(c), lu(c), n = Z(c, "CHARACTERISTICS"), v = mu(c));\n a = nu(a, b, h, k, m, q, p, n, v);\n f && (a.stream.groupId = f);\n l.length || (a.stream.bandwidth = d);\n e[a.stream.type] = [a];\n }\n return e;\n }\n function au(a, b) {\n var c = Z(b, "CODECS") || "";\n a.da = 0 < c.length;\n a.da || a.g.hls.disableCodecGuessing || (b = [], a.g.disableVideo || b.push(a.g.hls.defaultVideoCodec), a.g.disableAudio || b.push(a.g.hls.defaultAudioCodec), c = b.join(","));\n a = new Set();\n b = [];\n c = t(c.split(/\\s*,\\s*/));\n for (var d = c.next(); !d.done; d = c.next()) {\n d = d.value;\n var e = Mc(d);\n a.has(e) || (b.push(d), a.add(e));\n }\n return b;\n }\n function ku(a) {\n return (a = Z(a, "CHANNELS")) ? parseInt(a.split("/")[0], 10) : null;\n }\n function mu(a) {\n return (a = Z(a, "SAMPLE-RATE")) ? parseInt(a, 10) : null;\n }\n function lu(a) {\n return (a = Z(a, "CHANNELS")) ? a.includes("/JOC") : !1;\n }\n function ju(a, b, c, d, e, f, g, h, k, l, m) {\n for (var n = t(c), q = n.next(); !q.done; q = n.next()) St(q.value.stream, e, f, g, h, k);\n e = a.g.disableAudio;\n if (!b.length || e) b = [null];\n e = a.g.disableVideo;\n if (!c.length || e) c = [null];\n e = [];\n b = t(b);\n for (f = b.next(); !f.done; f = b.next()) for (f = f.value, g = t(c), h = g.next(); !h.done; h = g.next()) {\n var p = h.value;\n if (h = f ? f.stream : null) h.drmInfos = l, h.keyIds = m;\n if (k = p ? p.stream : null) k.drmInfos = l, k.keyIds = m;\n n = f ? f.stream.drmInfos : null;\n q = p ? p.stream.drmInfos : null;\n p = p ? p.Z().sort().join(",") : "";\n var u = f ? f.Z().sort().join(",") : "";\n p = p + " - " + u;
1\n h && k && !vh(n, q) || a.Ba.has(p) || (h = {\n id: a.u++,\n language: h ? h.language : "und",\n disabledUntilTime: 0,\n primary: !!h && h.primary || !!k && k.primary,\n audio: h,\n video: k,\n bandwidth: d,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n }, e.push(h), a.Ba.add(p));\n }\n return e;\n }\n function Nt(a, b) {\n b = Vs(b, "CLOSED-CAPTIONS");\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) {\n var d = c.value,\n e = Z(d, "LANGUAGE");\n c = dd(e || "und");\n e || (e = Z(d, "NAME")) && (c = e);\n e = Rs(d, "GROUP-ID");\n d = Rs(d, "INSTREAM-ID").replace("SERVICE", "svc");\n a.F.get(e) || a.F.set(e, new Map());\n a.F.get(e).set(d, c);\n }\n }\n function bu(a, b, c) {\n for (var d = [], e = [], f = new Map(), g = t(b), h = g.next(); !h.done; h = g.next()) {\n var k = h.value;\n h = Rs(k, "URI");\n k = Rs(k, "GROUP-ID");\n d.push(h);\n e.push(k);\n f.set(k, h);\n }\n g = e.sort().join(",");\n h = b[0];\n b = "";\n k = Rs(h, "TYPE").toLowerCase();\n "subtitles" == k && (k = Dc);\n if (k == Dc) b = Z(h, "CODECS") || "";else {\n e = t(e);\n for (var l = e.next(); !l.done; l = e.next()) if (l = l.value, a.G.has(l)) {\n b = a.G.get(l);\n break;\n }\n }\n e = d.sort().join(",");\n if (a.h.has(e)) return a.h.get(e);\n l = a.u++;\n if (a.j) {\n f = t(f);\n for (var m = f.next(); !m.done; m = f.next()) {\n var n = t(m.value);\n m = n.next().value;\n n = n.next().value;\n (m = c.get(m)) && Er(a.j, l, m, n);\n }\n }\n c = Z(h, "LANGUAGE");\n f = Z(h, "NAME");\n m = "YES" == Z(h, "DEFAULT");\n n = "audio" == k ? ku(h) : null;\n var q = "audio" == k ? lu(h) : !1,\n p = Z(h, "CHARACTERISTICS"),\n u = "YES" == Z(h, "FORCED");\n h = "audio" == k ? mu(h) : null;\n d = fu(a, l, d, b, k, c, m, f, n, null, p, u, h, q);\n d.stream && (d.stream.groupId = g);\n a.H.has(g) ? a.H.get(g).push(d) : a.H.set(g, [d]);\n a.h.set(e, d);\n return d;\n }\n function eu(a, b) {\n var c, d, e, f, g, h, k, l, m, n;\n return K(function (q) {\n if (1 == q.g) {\n c = Rs(b, "URI");\n d = Z(b, "CODECS", "jpeg") || "";\n if (a.h.has(c)) return q["return"](a.h.get(c));\n e = Z(b, "LANGUAGE");\n f = Z(b, "NAME");\n g = Z(b, "CHARACTERISTICS");\n h = fu(a, a.u++, [c], d, "image", e, !1, f, null, null, g, !1, null, !1);\n return (k = Z(b, "RESOLUTION")) ? C(q, h.stream.createSegmentIndex(), 3) : q.B(2);\n }\n 2 != q.g && (l = h.stream.segmentIndex.get(0), m = l.tilesLayout) && (h.stream.width = Number(k.split("x")[0]) * Number(m.split("x")[0]), h.stream.height = Number(k.split("x")[1]) * Number(m.split("x")[1]));\n if (n = Z(b, "BANDWIDTH")) h.stream.bandwidth = Number(n);\n a.h.set(c, h);\n return q["return"](h);\n });\n }\n function nu(a, b, c, d, e, f, g, h, k) {\n for (var l = a.u++, m = [], n = t(b), q = n.next(); !q.done; q = n.next()) {\n var p = q.value;\n q = Rs(p, "URI");\n p = Z(p, "PATHWAY-ID");\n a.j && p && Er(a.j, l, p, q);\n m.push(q);\n }\n n = m.sort().join(",");\n if (a.h.has(n)) return a.h.get(n);\n a: {\n b = Z(b[0], "CLOSED-CAPTIONS");\n if ("video" == d) {\n if (b && "NONE" != b) {\n b = a.F.get(b);\n break a;\n }\n if (!b && a.F.size) for (b = t(a.F.keys()).next(); !b.done;) {\n b = a.F.get(b.value);\n break a;\n }\n }\n b = null;\n }\n c = zc(d, c);\n d = fu(a, l, m, c, d, e, !1, f, g, b, h, !1, k, !1);\n a.h.set(n, d);\n return d;\n }\n function fu(a, b, c, d, e, f, g, h, k, l, m, n, q, p) {\n function u(D) {\n var F, J, G, H, I, L, M, P, V, X, ba, R, Oa, ab, vb, Tb, Cb;\n return K(function (xa) {\n switch (xa.g) {\n case 1:\n return F = y.Z(), C(xa, rt(a, y.Z(), !0), 2);\n case 2:\n J = xa.h;\n if (D.aborted) return xa["return"]();\n G = J.uri;\n G == J.originalUri || F.includes(G) || z.push(G);\n H = et(a.za, J.data);\n I = void 0;\n if (a.da || !a.g.hls.disableCodecGuessing) {\n xa.B(3);\n break;\n }\n return C(xa, It(a, H, v), 4);\n case 4:\n L = xa.h, I = L.mimeType, d = L.codecs;\n case 3:\n return M = tt(a), C(xa, Rt(a, 0, H, v, G, d, e, f, g, h, k, l, m, n, q, p, I), 5);\n case 5:\n P = xa.h;\n if (D.aborted) return xa["return"]();\n V = P.stream;\n tt(a) && !M && Tt(a, H);\n y.Sb = P.Sb;\n y.rb = P.rb;\n y.td = P.td;\n y.sd = P.sd;\n y.Sc = P.Sc;\n y.Pd = P.Pd;\n y.Xa = P.Xa;\n y.Ya = P.Ya;\n y.Se = !0;\n x.segmentIndex = V.segmentIndex;\n x.encrypted = V.encrypted;\n x.drmInfos = V.drmInfos;\n x.keyIds = V.keyIds;\n x.mimeType = V.mimeType;\n x.bandwidth = x.bandwidth || V.bandwidth;\n x.codecs = x.codecs || V.codecs;\n x.drmInfos.length && a.i.newDrmInfo(x);\n X = Ec;\n if (e == X.$ || e == X.P) for (ba = t(a.h.values()), R = ba.next(); !R.done; R = ba.next()) Oa = R.value, Oa.Se || Oa.type != e || (Oa.stream.mimeType = V.mimeType);\n e == X.na && (ab = V.segmentIndex.get(0)) && ab.aa && (x.mimeType = "application/mp4");\n ou(a) && (a.mb ? Ut(a, [y]) : (a.mb = !0, vb = Array.from(a.h.values()), Tb = vb.filter(function (ib) {\n return ib.stream.segmentIndex;\n }), Ut(a, Tb), yt(a), Cb = a.m, 0 < Cb && a.s.U(Cb)));\n E(xa);\n }\n });\n }\n function v() {\n return a.j && 1 < c.length ? Fr(a.j, b) : z.concat(Zs([a.Y], c, a.o));\n }\n var x = pu(a, d, e, f, g, h, k, l, m, n, q, p),\n z = [],\n y = {\n stream: x,\n type: e,\n gg: z,\n Z: v,\n Sb: 0,\n rb: 0,\n Pd: new Map(),\n td: !1,\n sd: !1,\n Sc: !1,\n qe: -1,\n Xa: -1,\n Ya: -1,\n Se: !1\n },\n B = null,\n A = new AbortController();\n x.createSegmentIndex = function () {\n if (B) return B;\n A = new AbortController();
1\n return B = new Promise(function (D) {\n D(u(A.signal));\n });\n };\n x.closeSegmentIndex = function () {\n B && !x.segmentIndex && A.abort();\n x.segmentIndex && (x.segmentIndex.release(), x.segmentIndex = null);\n B = null;\n };\n return y;\n }\n function $t(a) {\n var b = Infinity;\n a = t(a.h.values());\n for (var c = a.next(); !c.done; c = a.next()) c = c.value, c.stream.segmentIndex && "text" != c.stream.type && (b = Math.min(b, c.rb));\n return b;\n }\n function Zt(a) {\n var b = Infinity,\n c = Infinity;\n a = t(a.h.values());\n for (var d = a.next(); !d.done; d = a.next()) d = d.value, d.stream.segmentIndex && "text" != d.stream.type && (b = Math.min(b, d.rb), c = Math.min(c, d.Sb));\n return b - c;\n }\n function vt(a, b) {\n var c = [];\n b = t(b);\n for (var d = b.next(); !d.done; d = b.next()) d = d.value, d.segmentIndex && Gj(d.segmentIndex, function (e) {\n c.push(e);\n });\n a.l.Xc(c);\n }\n function Ut(a, b) {\n if (!tt(a)) for (var c = $t(a), d = t(b), e = d.next(); !e.done; e = d.next()) e.value.stream.segmentIndex.bc(0, c);\n vt(a, b.map(function (f) {\n return f.stream;\n }));\n a.g.hls.ignoreManifestProgramDateTime ? Ft(a, b) : Ht(a, b);\n }\n function ou(a) {\n if (!a.C) return !1;\n var b = [],\n c = [];\n a = t(a.C.variants);\n for (var d = a.next(); !d.done; d = a.next()) d = d.value, d.video && b.push(d.video), d.audio && c.push(d.audio);\n return 0 < b.length && !b.some(function (e) {\n return e.segmentIndex;\n }) || 0 < c.length && !c.some(function (e) {\n return e.segmentIndex;\n }) ? !1 : !0;\n }\n function Rt(a, b, c, d, e, f, g, h, k, l, m, n, q, p, u, v, x) {\n var z, y, B, A, D, F, J, G, H, I, L, M, P, V, X, ba, R, Oa, ab, vb, Tb, Cb, xa;\n return K(function (ib) {\n if (1 == ib.g) {\n if (1 != c.type) throw new O(2, 4, 4017);\n z = Us(c.g, "EXT-X-DEFINE");\n y = At(a, z, e);\n var wb = Ws(c.g, "EXT-X-PLAYLIST-TYPE"),\n Ub = Ws(c.g, "EXT-X-ENDLIST");\n Ub = wb && "VOD" == wb.value || Ub;\n wb = wb && "EVENT" == wb.value && !Ub;\n wb = !Ub && !wb;\n Ub ? xt(a, qt) : wb ? xt(a, Yt) : xt(a, qu);\n tt(a) && Et(a, c);\n return x ? ib.B(2) : C(ib, ru(a, g, f, c, y, d), 3);\n }\n 2 != ib.g && (x = ib.h);\n B = Bt(c, x);\n A = B.drmInfos;\n D = B.keyIds;\n F = B.encrypted;\n J = B.Dg;\n if (F && !A.length && !J) throw new O(2, 4, 4026);\n G = pu(a, f, g, h, k, l, m, n, q, p, u, v);\n G.encrypted = F;\n G.drmInfos = A;\n G.keyIds = D;\n G.mimeType = x;\n H = tt(a) ? a.J.get(g) : new Map();\n I = Ct(a, c, G, H, y, d);\n L = I.segments;\n if (M = I.bandwidth) G.bandwidth = M;\n tt(a) && Et(a, c);\n P = L[0].startTime;\n V = L[L.length - 1];\n X = V.endTime;\n ba = new Fj(L);\n G.segmentIndex = ba;\n Oa = (R = Ws(c.g, "EXT-X-SERVER-CONTROL")) ? null != R.getAttribute("CAN-SKIP-UNTIL") : !1;\n ab = R ? null != R.getAttribute("CAN-BLOCK-RELOAD") : !1;\n vb = Xs(c.g, "EXT-X-MEDIA-SEQUENCE", 0);\n Tb = Dt(vb, L);\n Cb = Tb.Xa;\n xa = Tb.Ya;\n return ib["return"]({\n stream: G,\n type: g,\n gg: [],\n Z: d,\n Sb: P,\n rb: X,\n td: Oa,\n sd: ab,\n Sc: !1,\n qe: -1,\n Xa: Cb,\n Ya: xa,\n Pd: H,\n Se: !1\n });\n });\n }\n function Dt(a, b) {\n a = a + b.length - 1;\n var c = -1;\n if (!b.length) return a++, {\n Xa: a,\n Ya: c\n };\n b = b[b.length - 1];\n var d = b.g;\n if (!b.g.length) return a++, b.m && (c = 0), {\n Xa: a,\n Ya: c\n };\n c = d.length - 1;\n d[d.length - 1].l || (a++, c = 0);\n return {\n Xa: a,\n Ya: c\n };\n }\n function pu(a, b, c, d, e, f, g, h, k, l, m, n) {\n var q = cu(c, b) || du(c),\n p = [];\n if (k) {\n k = t(k.split(","));\n for (var u = k.next(); !u.done; u = k.next()) p.push(u.value);\n }\n k = void 0;\n u = null;\n c == Dc ? k = p.includes("public.accessibility.transcribes-spoken-dialog") && p.includes("public.accessibility.describes-music-and-sound") ? "caption" : "subtitle" : p.includes("public.accessibility.describes-video") && (u = "visually impaired");\n p.length || "subtitle" !== k || p.push("subtitle");\n return {\n id: a.u++,\n originalId: f,\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: null,\n mimeType: q,\n codecs: b,\n kind: c == Dc ? "subt
1itle" : void 0,\n encrypted: !1,\n drmInfos: [],\n keyIds: new Set(),\n language: dd(d || "und"),\n originalLanguage: d,\n label: f,\n type: c,\n primary: e,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n frameRate: void 0,\n pixelAspectRatio: void 0,\n width: void 0,\n height: void 0,\n bandwidth: void 0,\n roles: p,\n forced: l,\n channelsCount: g,\n audioSamplingRate: m,\n spatialAudio: n,\n closedCaptions: h,\n hdr: void 0,\n videoLayout: void 0,\n tilesLayout: void 0,\n accessibilityPurpose: u,\n external: !1,\n fastSwitching: !1\n };\n }\n function Bt(a, b) {\n var c = [];\n if (a.segments) {\n a = t(a.segments);\n for (var d = a.next(); !d.done; d = a.next()) d = Us(d.value.g, "EXT-X-KEY"), c.push.apply(c, w(d));\n }\n d = a = !1;\n var e = [],\n f = new Set();\n c = t(c);\n for (var g = c.next(); !g.done; g = c.next()) {\n g = g.value;\n var h = Rs(g, "METHOD");\n if ("NONE" != h) if (a = !0, "AES-128" == h) d = !0;else if (h = Z(g, "KEYFORMAT") || "identity", g = (h = hu[h]) ? h(g, b) : null) {\n if (g.keyIds) {\n h = t(g.keyIds);\n for (var k = h.next(); !k.done; k = h.next()) f.add(k.value);\n }\n e.push(g);\n }\n }\n return {\n drmInfos: e,\n keyIds: f,\n encrypted: a,\n Dg: d\n };\n }\n function su(a, b, c, d, e) {\n if (!window.crypto || !window.crypto.subtle) throw Sa("Web Crypto API is not available to decrypt AES-128. (Web Crypto only exists in secure origins like https)"), new O(2, 4, 4042);\n var f = 0,\n g = Z(b, "IV", "");\n if (g) {\n var h = jg(g.substr(2));\n if (16 != h.byteLength) throw new O(2, 4, 4048);\n } else f = Xs(c.g, "EXT-X-MEDIA-SEQUENCE", 0);\n var k = {\n method: "AES-128",\n iv: h,\n firstMediaSequenceNumber: f,\n fetchKey: function fetchKey() {\n var l, m, n, q, p;\n return K(function (u) {\n if (1 == u.g) return l = Ys(d(), Rs(b, "URI"), e), m = qf(l, a.g.retryParameters), C(u, Xt(a, m, 6), 2);\n if (3 != u.g) {\n n = u.h;\n if (!n.data || 16 != n.data.byteLength) throw new O(2, 4, 4049);\n q = {\n name: "AES-CBC"\n };\n p = k;\n return C(u, window.crypto.subtle.importKey("raw", n.data, q, !0, ["decrypt"]), 3);\n }\n p.cryptoKey = u.h;\n k.fetchKey = void 0;\n E(u);\n });\n }\n };\n return k;\n }\n function Et(a, b) {\n var c = Infinity,\n d = b.segments;\n if (d.length) for (var e = d.length - 1; 0 <= e;) {\n var f = Ws(d[e].g, "EXTINF");\n if (f) {\n c = Number(f.value.split(",")[0]);\n break;\n }\n e--;\n }\n d = Ws(b.g, "EXT-X-TARGETDURATION");\n if (!d) throw new O(2, 4, 4024, "EXT-X-TARGETDURATION");\n d = Number(d.value);\n if (e = Ws(b.g, "EXT-X-PART-INF")) a.K = Number(Rs(e, "PART-TARGET"));\n b = Ws(b.g, "EXT-X-SERVER-CONTROL");\n a.A && a.K ? (a.m = a.lb ? 5 * a.K <= c ? Math.min(a.K, a.m) : Math.min(c, a.m) : Math.min(a.K, a.m), a.ma = b ? Number(Rs(b, "PART-HOLD-BACK")) : 0) : (a.m = Math.min(c, a.m), c = b ? b.getAttribute("HOLD-BACK") : null, a.ka = c ? Number(c.value) : 0);\n a.Aa = Math.max(d, a.Aa);\n }\n function Tt(a, b) {\n if (a.g.defaultPresentationDelay) b = a.g.defaultPresentationDelay;else if (a.ma) b = a.ma;else if (a.ka) b = a.ka;else {\n b = b.segments.length;\n var c = a.g.hls.liveSegmentsDelay;\n c > b - 2 && (c = Math.max(1, b - 2));\n b = a.Aa * c;\n }\n a.l.qf(0);\n a.l.ng(b);\n a.l.pc(!1);\n }\n function Wt(a, b, c, d, e) {\n var f = Ws(c, "EXT-X-MAP");\n if (!f) return null;\n var g = Rs(f, "URI"),\n h = Ys(d(), g, e);\n g = [h.toString(), Z(f, "BYTERANGE", "")].join("-");\n if (!a.W.has(g)) {\n var k = void 0,\n l = null;\n c = t(c);\n for (var m = c.next(); !m.done; m = c.next()) m = m.value, "EXT-X-KEY" == m.name ? "AES-128" == Rs(m, "METHOD") && m.id < f.id && (k = su(a, m, b, d, e)) : "EXT-X-BYTERANGE" == m.name && m.id < f.id && (l = m);\n b = tu(h, f, l, k);\n a.W.set(g, b);\n }\n return a.W.get(g);\n }\n function tu(a, b, c, d) {\n var e = 0,\n f = null;\n b = Z(b, "BYTERANGE");\n !b && c && (b = c.value);\n b && (e = b.split("@"), f = Number(e[0]), e = Number(e[1]), f = e + f - 1, d && (c = f + 1 - e, c % 16 && (f += 16 - c % 16)));\n return new Gh(function () {\n return a;\n }, e, f, null, null, null, d);\n }\n function uu(a, b, c, d, e, f, g, h, k) {\n var l = d.g,\n m = Ws(l, "EXTINF"),\n n = 0,\n q = 0,\n p = null;\n d.fb.length && !a.A && Sa("Low-latency HLS live stream detected, but low-latency streaming mode is not enabled in Shaka Player. Set streaming.lowLatencyMode configuration to true, and see https://bit.ly/3clctcj for details.");\n var u = null;\n if (!a.g.hls.ignoreManifestProgramDateTime) {\n var v = Ws(l, "EXT-X-PROGRAM-DATE-TIME");\n v && v.value && (u = yg(v.value));\n }\n var x = Ih;\n Ws(l, "EXT-X-GAP") && (x = 2);\n if (!m) {\n if (0 == d.fb.length) throw new O(2, 4, 4024, "EXTINF");\n if (!a.A) return null;\n }\n var z = [];\n v = !1;\n var y = null,\n B = !1,\n A = !1;\n if (a.A && d.fb.length) {\n n = ("video/mp4" == g.mimeType || "audio/mp4" == g.mimeType) && window.ReadableStream && a.g.hls.allowLowLatencyByteRangeOptimization;\n for (var D = u, F = {}, J = 0; J < d.fb.length; F = {\n Cc: F.Cc,\n md: F.md\n }, J++) {\n var G = d.fb[J],\n H = 0 == J ? c : z[z.length - 1],\n I = 0 == J ? e : H.endTime,\n L = Number(Z(G, "DURATION")) || a.K;\n if (L) {\n var M = I + L,\n P = 0,\n V = null;\n "EXT-X-PRELOAD-HINT" == G.name ? (P = (P = Z(G, "BYTERANGE-START")) ? Number(P) : 0, (H = Z(G, "BYTERANGE-LENGTH")) ? V = P + Number(H) - 1 : P && (V = Number.MAX_SAFE_INTEGER)) : (P = Z(G, "BYTERANGE"), V = t(vu(H, P)), P = V.next().value, V = V.next().value);\n F.md = Z(G, "URI");\n if (F.md) {\n H = Ih;\n "YES" == Z(G, "GAP") && (H = 2, B = !0);\n F.Cc = null;\n var X = function (R) {\n return function () {\n null == R.Cc && (R.Cc = Ys(h(), R.md, f));\n return R.Cc;\n };\n }(F);\n n && 0 <= P && null != V && (y = X, v = !0);\n I = new S(I, M, X, P, V, b, 0, 0, Infinity, [], "", null, D, H, k);\n "EXT-X-PRELOAD-HINT" == G.name && (I.Ue(), A = !0);\n "YES" != Z(G, "INDEPENDENT") && 0 < J && I.Od();\n z.push(I);\n D && (D += L);\n }\n }\n }\n }\n if (m) {\n m = Number(m.value.split(",")[0]);\n if (0 == m) return null;\n n = e + m;\n } else if (z.length) n = z[z.length - 1].endTime;else return null;\n v && (B || 0 != z[0].Qa ? (v = !1, y = null) : z = []);\n (m = Ws(l, "EXT-X-BYTERANGE")) ? (p = t(vu(c, m.value)), q = p.next().value, p = p.next().value) : z.length && (q = z[0].Qa, p = z[z.length - 1].wa);\n c = "";\n m = null;\n "image" == g.type && (c = "1x1", g = Ws(l, "EXT-X-TILES")) && (c = Rs(g, "LAYOUT"), (g = Z(g, "DURATION")) && (m = Number(g)));\n var ba = null;\n b = new S(e, n, function () {\n if (y) return y();\n null == ba && (ba = Ys(h(), d.h, f));\n return ba || [];\n }, q, p, b, 0, 0, Infinity, z, c, m, u, x, k, 0 < z.length && !!d.h);
1\n v && (a.lb = !0, b.Zf(), A && b.Ue());\n return b;\n }\n function vu(a, b) {\n var c = 0,\n d = null;\n b && (c = b.split("@"), b = Number(c[0]), c = c[1] ? Number(c[1]) : a.wa + 1, d = c + b - 1);\n return [c, d];\n }\n function Ct(a, b, c, d, e, f) {\n var g = b.segments,\n h = void 0,\n k = Xs(b.g, "EXT-X-DISCONTINUITY-SEQUENCE", 0),\n l = Xs(b.g, "EXT-X-MEDIA-SEQUENCE", 0),\n m = Ws(b.g, "EXT-X-SKIP"),\n n = m ? Number(Z(m, "SKIPPED-SEGMENTS")) : 0,\n q = l + n,\n p = 0;\n tt(a) && d.has(q) && (p = d.get(q));\n 0 === p && a.ea == Yt && 0 < d.size && !d.has(q) && (p = a.l.eb());\n var u = [],\n v = null;\n m = [];\n for (var x = 0; x < g.length; x++) {\n var z = g[x],\n y = 0 == x ? p : v.endTime;\n q = l + n + x;\n Ws(z.g, "EXT-X-DISCONTINUITY") && k++;\n var B = t(z.g);\n for (var A = B.next(); !A.done; A = B.next()) A = A.value, "EXT-X-KEY" == A.name && ("AES-128" == Rs(A, "METHOD") ? h = su(a, A, b, f, e) : h = void 0);\n d.set(q, y);\n B = Wt(a, b, z.g, f, e);\n !a.A && a.i.isAutoLowLatencyMode() && (a.i.enableLowLatencyMode(), a.A = a.i.isLowLatencyMode());\n if (y = uu(a, B, v, z, y, e, c, f, h)) (v = Xs(z.g, "EXT-X-BITRATE")) ? m.push({\n bitrate: v,\n duration: y.endTime - y.startTime\n }) : m.length && (v = m.pop(), v.duration += y.endTime - y.startTime, m.push(v)), v = y, y.i = k, a.g.hls.ignoreManifestProgramDateTime && null != a.I && q < a.I || u.push(y);\n }\n b = void 0;\n m.length && (b = m.reduce(function (D, F) {\n return D + F.duration;\n }, 0), b = Math.round(m.reduce(function (D, F) {\n return D + F.bitrate * F.duration;\n }, 0) / b * 1E3));\n if (m = u.some(function (D) {\n return null != D.ca;\n })) for (c = {}, d = 0; d < u.length; c = {\n vc: c.vc,\n uc: c.uc,\n hd: c.hd,\n xb: c.xb,\n tc: c.tc\n }, d++) if (c.xb = u[d], null == c.xb.ca) for (c.uc = 0, c.vc = d, e = function (D) {\n return function () {\n var F = u[D.vc];\n if (F) {\n if (null != F.ca) return F.ca + D.uc;\n D.uc -= F.endTime - F.startTime;\n D.vc += 1;\n }\n return null;\n };\n }(c), c.tc = 0, c.hd = d, f = function (D) {\n return function () {\n var F = u[D.hd];\n if (F) {\n F != D.xb && (D.tc += F.endTime - F.startTime);\n if (null != F.ca) return F.ca + D.tc;\n --D.hd;\n }\n return null;\n };\n }(c); null == c.xb.ca;) c.xb.ca = f(), null == c.xb.ca && (c.xb.ca = e());\n if (m) for (c = t(u), d = c.next(); !d.done; d = c.next()) for (e = d.value, d = e.ca, e = t(e.g), f = e.next(); !f.done; f = e.next()) f = f.value, f.ca = d, d += f.endTime - f.startTime;\n a = a.V;\n if (m && Infinity != a) for (m = t(u), d = m.next(); !d.done; d = m.next()) d.value.tf(a);\n return {\n segments: u,\n bandwidth: b\n };\n }\n function cu(a, b) {\n if (a == Dc) {\n if ("vtt" == b || "wvtt" == b) return "text/vtt";\n if (b && "" !== b) return "application/mp4";\n }\n return "image" != a || b && "jpeg" != b ? "audio" == a && "mp4a.40.34" == b ? "audio/mpeg" : "mjpg" == b ? "application/mp4" : null : "image/jpeg";\n }\n function du(a) {\n return a == Dc ? "text/vtt" : wu[a].mp4;\n }\n function ru(a, b, c, d, e, f) {\n var g, h, k, l, m, n, q, p, u, v, x, z, y;\n return K(function (B) {\n switch (B.g) {\n case 1:\n g = wf;\n h = Math.trunc((d.segments.length - 1) / 2);\n k = Ys(f(), d.segments[h].h, e);\n l = new fc(k[0]);\n m = l.Ga.split(".").pop();\n n = wu[b];\n if ((q = n[m]) || (q = Vt[m]) || (q = cu(b, c))) return B["return"](q);\n u = 1;\n v = qf(k, a.g.retryParameters);\n sa(B, 2);\n v.method = "HEAD";\n return C(B, Xt(a, v, g, {\n type: u\n }), 4);\n case 4:\n x = B.h;\n p = x.headers["content-type"];\n ua(B, 3);\n break;\n case 2:\n z = va(B);\n if (!z || 1002 != z.code && 1001 != z.code) {\n B.B(3);\n break;\n }\n v.method = "GET";\n return C(B, Xt(a, v, g, {\n type: u\n }), 6);\n case 6:\n y = B.h, p = y.headers["content-type"];\n case 3:\n return p ? B["return"](p.split(";")[0]) : B["return"](du(b));\n }\n });\n }\n function St(a, b, c, d, e, f) {\n a && (a.width = Number(b) || void 0, a.height = Number(c) || void 0, a.frameRate = Number(d) || void 0, a.hdr = e || void 0, a.videoLayout = f || void 0);\n }\n function rt(a, b, c) {\n return Xt(a, qf(b, a.g.retryParameters), 0, {\n type: c ? 2 : 3\n });\n }\n function pt(a) {\n var b, c, d, e, f, g;\n K(function (h) {\n switch (h.g) {\n case 1:\n if (!a.i) return h["return"]();\n sa(h, 2);\n b = Date.now();\n return C(h, a.update(), 4);\n case 4:\n c = Date.now();\n tt(a) && (d = (c - b) / 1E3, a.kb.sample(1, d), e = a.m, f = Math.max(0, e - Na(a.kb)), a.s.U(f));\n ua(h, 3);\n break;\n case 2:\n g = va(h);\n if (!a.i) return h["return"]();\n if (a.g.raiseFatalErrorOnManifestUpdateRequestFailure) return a.i.onError(g), h["return"]();\n g.severity = 1;\n a.i.onError(g);\n a.s.U(.1);\n case 3:\n if (!a.i) return h["return"]();\n a.i.onManifestUpdated();\n E(h);\n }\n });\n }\n function tt(a) {\n return a.ea != qt;\n }\n function xt(a, b) {\n a.ea = b;\n a.l && a.l.pc(!tt(a));\n tt(a) || a.s.stop();\n }\n function Xt(a, b, c, d) {\n if (!a.N) throw new O(2, 7, 7001);\n b = a.i.networkingEngine.request(c, b, d);\n lf(a.N, b);\n return b.promise;\n }
1\n N("shaka.hls.HlsParser", ot);\n var Vt = {\n aac: "audio/aac",\n ac3: "audio/ac3",\n ec3: "audio/ec3",\n mp3: "audio/mpeg"\n },\n wu = {\n audio: {\n mp4: "audio/mp4",\n mp4a: "audio/mp4",\n m4s: "audio/mp4",\n m4i: "audio/mp4",\n m4a: "audio/mp4",\n m4f: "audio/mp4",\n cmfa: "audio/mp4",\n ts: "video/mp2t",\n tsa: "video/mp2t"\n },\n video: {\n mp4: "video/mp4",\n mp4v: "video/mp4",\n m4s: "video/mp4",\n m4i: "video/mp4",\n m4v: "video/mp4",\n m4f: "video/mp4",\n cmfv: "video/mp4",\n ts: "video/mp2t",\n tsv: "video/mp2t"\n },\n text: {\n mp4: "application/mp4",\n m4s: "application/mp4",\n m4i: "application/mp4",\n m4f: "application/mp4",\n cmft: "application/mp4",\n vtt: "text/vtt",\n webvtt: "text/vtt",\n ttml: "application/ttml+xml"\n },\n image: {\n jpg: "image/jpeg",\n png: "image/png",\n svg: "image/svg+xml",\n webp: "image/webp",\n avif: "image/avif"\n }\n },\n hu = {\n "com.apple.streamingkeydelivery": function comAppleStreamingkeydelivery(a, b) {\n if ("video/mp2t" == b) throw new O(2, 4, 4040);\n if (window.shakaMediaKeysPolyfill) throw new O(2, 4, 4041);\n return yc("com.apple.fps", [{\n initDataType: "sinf",\n initData: new Uint8Array(0),\n keyId: null\n }]);\n },\n "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": function urnUuidEdef8ba979d64aceA3c827dcd51d21ed(a) {\n var b = Rs(a, "METHOD");\n if (!["SAMPLE-AES", "SAMPLE-AES-CTR"].includes(b)) return null;\n b = Rs(a, "URI");\n b = kt(b);\n b = hb(b.data);\n b = yc("com.widevine.alpha", [{\n initDataType: "cenc",\n initData: b\n }]);\n if (a = Z(a, "KEYID")) b.keyIds = new Set([a.toLowerCase().substr(2)]);\n return b;\n },\n "com.microsoft.playready": function comMicrosoftPlayready(a) {\n var b = Rs(a, "METHOD");\n if (!["SAMPLE-AES", "SAMPLE-AES-CTR"].includes(b)) return null;\n a = Rs(a, "URI");\n a = kt(a);\n a = hb(a.data);\n b = new Uint8Array([154, 4, 240, 121, 152, 64, 66, 134, 171, 146, 230, 91, 224, 136, 95, 149]);\n a = ng(a, b, new Set(), 0);\n return yc("com.microsoft.playready", [{\n initDataType: "cenc",\n initData: a\n }]);\n },\n identity: function identity(a, b) {\n if ("video/mp2t" == b) throw new O(2, 4, 4040);\n if (window.shakaMediaKeysPolyfill) throw new O(2, 4, 4041);\n a = Rs(a, "METHOD");\n return ["SAMPLE-AES", "SAMPLE-AES-CTR"].includes(a) ? yc("org.w3.clearkey", null) : null;\n }\n },\n qt = "VOD",\n qu = "EVENT",\n Yt = "LIVE",\n wt = {\n zg: qt,\n oi: qu,\n xi: Yt\n };\n Ah["application/x-mpegurl"] = function () {\n return new ot();\n };\n Ah["application/vnd.apple.mpegurl"] = function () {\n return new ot();\n };\n function xu(a) {\n var b = 0,\n c = nb(a),\n d = c.getUint32(b, !0);\n if (d != a.byteLength) return [];\n a: {\n a = b + 6;\n for (b = []; a < c.byteLength - 1;) {\n d = c.getUint16(a, !0);\n a += 2;\n var e = c.getUint16(a, !0);\n a += 2;\n if (0 != (e & 1) || e + a > c.byteLength) {\n c = [];\n break a;\n }\n var f = hb(c, a, e);\n b.push({\n type: d,\n value: f\n });\n a += e;\n }\n c = b;\n }\n return c;\n }\n function yu(a) {\n if (a = zu(a)) a: {\n a = t(a.getElementsByTagName("DATA"));\n for (var b = a.next(); !b.done; b = a.next()) if (b = og(b.value, "LA_URL")) {\n a = b.textContent;\n break a;\n }\n a = "";\n } else a = "";\n return a;\n }\n function zu(a) {\n a = ig(a.textContent);\n a = xu(a).filter(function (b) {\n return b.type === Au;\n })[0];\n if (!a) return null;\n a = Of(a.value, !0);\n return (a = Hg(a, "WRMHEADER")) ? a : null;\n }\n var Au = 1,\n Bu = new Map().set("com.microsoft.playready", yu).set("com.microsoft.playready.recommendation", yu).set("com.microsoft.playready.softw
1are", yu).set("com.microsoft.playready.hardware", yu);\n function Cu(a) {\n if (!Du) {\n Du = !0;\n var b = new Uint8Array([105, 115, 111, 109]),\n c = new Uint8Array([97, 118, 99, 49]),\n d = new Uint8Array([0, 0, 0, 1]);\n Eu = Fu("ftyp", b, d, b, c);\n b = Fu("dref", Gu);\n Hu = Fu("dinf", b);\n }\n this.g = a;\n }\n function Iu(a) {\n for (var b = [], c = t(a.g), d = c.next(); !d.done; d = c.next()) {\n var e = b,\n f = e.push;\n var g = d.value;\n d = Fu;\n var h = g.id + 1;\n var k = g.stream.width || 0,\n l = g.stream.height || 0;\n "audio" == g.type && (l = k = 0);\n var m = g.duration * g.timescale,\n n = Math.floor(m / (Ju + 1));\n m = Math.floor(m % (Ju + 1));\n h = new Uint8Array([1, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3].concat(w(Ku(h, 4)), [0, 0, 0, 0], w(Ku(n, 4)), w(Ku(m, 4)), [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0], w(Ku(k, 2)), [0, 0], w(Ku(l, 2)), [0, 0]));\n h = Fu("tkhd", h);\n k = Fu;\n n = g.duration * g.timescale;\n l = Math.floor(n / (Ju + 1));\n n = Math.floor(n % (Ju + 1));\n m = g.stream.language;\n m = m.charCodeAt(0) - 96 << 10 | m.charCodeAt(1) - 96 << 5 | m.charCodeAt(2) - 96;\n l = new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3].concat(w(Ku(g.timescale, 4)), w(Ku(l, 4)), w(Ku(n, 4)), w(Ku(m, 2)), [0, 0]));\n l = Fu("mdhd", l);\n n = g;\n m = new Uint8Array([]);\n switch (n.type) {\n case "video":\n m = Lu;\n break;\n case "audio":\n m = Mu;\n }\n n = Fu("hdlr", m);\n a: {\n switch (g.type) {\n case "video":\n g = Fu("minf", Fu("vmhd", Nu), Hu, Ou(g));\n break a;\n case "audio":\n g = Fu("minf", Fu("smhd", Pu), Hu, Ou(g));\n break a;\n }\n g = new Uint8Array([]);\n }\n g = k("mdia", l, n, g);\n d = d("trak", h, g);\n f.call(e, d);\n }\n b = lg.apply(fg, w(b));\n f = a.g[0];\n c = Fu;\n d = f.duration * f.timescale;\n e = Math.floor(d / (Ju + 1));\n d = Math.floor(d % (Ju + 1));\n e = new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3].concat(w(Ku(f.timescale, 4)), w(Ku(e, 4)), w(Ku(d, 4)), [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255]));\n e = Fu("mvhd", e);\n d = [];\n a = t(a.g);\n for (k = a.next(); !k.done; k = a.next()) g = d, h = g.push, k = new Uint8Array([0, 0, 0, 0].concat(w(Ku(k.value.id + 1, 4)), [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1])), k = Fu("trex", k), h.call(g, k);\n a = lg.apply(fg, w(d));\n a = Fu("mvex", a);\n d = [];\n if (f.encrypted) {\n f = t(f.stream.drmInfos);\n for (g = f.next(); !g.done; g = f.next()) if (g = g.value, g.initData) for (g = t(g.initData), h = g.next(); !h.done; h = g.next()) d.push(h.value.initData);\n f = lg.apply(fg, w(d));\n } else f = new Uint8Array([]);\n a = c("moov", e, b, a, f);\n b = new Uint8Array(Eu.byteLength + a.byteLength);\n b.set(Eu);\n b.set(a, Eu.byteLength);\n return b;\n }\n function Ou(a) {\n var b = Fu,\n c = new Uint8Array([]);\n switch (a.type) {\n case "video":\n if (a.codecs.includes("avc1")) {\n c = a.stream.width || 0;\n var d = a.stream.height || 0;\n if (0 < a.la.byteLength) var e = Fu("avcC", a.la);else {\n e = Fu;\n for (var f = 7, g = [], h = [], k = 0, l = 0, m = 0, n = 0; n < a.Ra.length;
1 n++) {\n var q = Qu(a.Ra[n]);\n switch (q[0] & 31) {\n case 7:\n g.push(q);\n f += q.length + 2;\n break;\n case 8:\n h.push(q), f += q.length + 2;\n }\n }\n 0 < g.length && (k = g[0][1], m = g[0][2], l = g[0][3]);\n f = new Uint8Array(f);\n n = 0;\n f[n++] = 1;\n f[n++] = k;\n f[n++] = m;\n f[n++] = l;\n f[n++] = 255;\n f[n++] = 224 | g.length;\n for (k = 0; k < g.length; k++) f[n++] = (g[k].length & 65280) >> 8, f[n++] = g[k].length & 255, f.set(g[k], n), n += g[k].length;\n f[n++] = h.length;\n for (g = 0; g < h.length; g++) f[n++] = (h[g].length & 65280) >> 8, f[n++] = h[g].length & 255, f.set(h[g], n), n += h[g].length;\n e = e("avcC", f);\n }\n c = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].concat(w(Ku(c, 2)), w(Ku(d, 2)), [0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, 19, 118, 105, 100, 101, 111, 106, 115, 45, 99, 111, 110, 116, 114, 105, 98, 45, 104, 108, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 17, 17]));\n d = "avc1";\n h = Ru(a);\n g = new Uint8Array([]);\n a.encrypted && (g = Su(a), d = "encv");\n c = Fu(d, c, e, h, g);\n } else a.codecs.includes("hvc1") && (d = a.stream.width || 0, e = a.stream.height || 0, c = new Uint8Array([]), 0 < a.la.byteLength && (c = Fu("hvcC", a.la)), d = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].concat(w(Ku(d, 2)), w(Ku(e, 2)), [0, 72, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 1, 19, 118, 105, 100, 101, 111, 106, 115, 45, 99, 111, 110, 116, 114, 105, 98, 45, 104, 108, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 17, 17])), e = "hvc1", h = Ru(a), g = new Uint8Array([]), a.encrypted && (g = Su(a), e = "encv"), c = Fu(e, d, c, h, g));\n break;\n case "audio":\n if (a.codecs.includes("mp3")) a = Fu(".mp3", Tu(a));else if (a.codecs.includes("ac-3")) c = Fu("dac3", a.fa), d = "ac-3", e = new Uint8Array([]), a.encrypted && (e = Su(a), d = "enca"), a = Fu(d, Tu(a), c, e);else if (a.codecs.includes("ec-3")) c = Fu("dec3", a.fa), d = "ec-3", e = new Uint8Array([]), a.encrypted && (e = Su(a), d = "enca"), a = Fu(d, Tu(a), c, e);else {\n if (0 < a.fa.byteLength) c = Fu("esds", a.fa);else {\n c = Fu;\n d = a.id + 1;\n e = a.stream.channelsCount || 2;\n g = a.stream.audioSamplingRate || 44100;\n k = zc("audio", a.codecs.split(","));\n l = {\n 96E3: 0,\n 88200: 1,\n 64E3: 2,\n 48E3: 3,\n 44100: 4,\n 32E3: 5,\n 24E3: 6,\n 22050: 7,\n 16E3: 8,\n 12E3: 9,\n 11025: 10,\n 8E3: 11,\n 7350: 12\n };\n h = l[g];\n if ("mp4a.40.5" === k || "mp4a.40.29" === k) h = l[2 * g];\n g = parseInt(k.split(".").pop(), 10);\n d = new Uint8Array([0, 0, 0, 0, 3, 25].concat(w(Ku(d, 2)), [0, 4, 17, 64, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, g << 3 | h >>> 1, h << 7 | e << 3, 6, 1, 2]));\n c = c("esds", d);\n }\n d = "mp4a";\n e = new Uint8Array([]);\n a.encrypted && (e = Su(a), d = "enca");\n a = Fu(d, Tu(a), c, e);\n }\n c = a;\n }\n a = Fu("stsd", Uu, c);\n return b("stbl", a, Fu("stts", Vu), Fu("stsc", Wu), Fu("stsz", Xu), Fu("stco", Yu));\n }\n function Ru(a) {\n if (!a.sa && !a.ua) return new Uint8Array([]);\n var b = a.ua;\n a = new Uint8Array([].concat(w(Ku(a.sa, 4)), w(Ku(b, 4))));\n return Fu("pasp", a);\n }\n function Tu(a) {\n return new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, a.stream.channelsCount || 2, 0, 16, 0, 0, 0, 0].concat(w(Ku(a.stream.audioSamplingRate || 44100, 2)), [0, 0]));\n }\n function Su(a) {\n var b = Fu;\n var c = a.codecs.substring(0, a.codecs.indexOf("."));\n for (var d = 0, e = 0; e < c.length;
1 e += 1) d |= c.charCodeAt(e) << 8 * (c.length - e - 1);\n c = new Uint8Array([].concat(w(Ku(d, 4))));\n c = Fu("frma", c);\n d = new Uint8Array([0, 0, 0, 0, 99, 101, 110, 99, 0, 1, 0, 0]);\n d = Fu("schm", d);\n e = Fu;\n var f = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n a = t(a.stream.drmInfos);\n for (var g = a.next(); !g.done; g = a.next()) if ((g = g.value) && g.keyIds && g.keyIds.size) {\n g = t(g.keyIds);\n for (var h = g.next(); !h.done; h = g.next()) f = Qu(h.value);\n }\n a = new Uint8Array([0, 0, 0, 0, 0, 0, 1, 8]);\n f = Fu("tenc", a, f);\n return b("sinf", c, d, e("schi", f));\n }\n function Zu(a) {\n var b = [];\n a = t(a.g);\n for (var c = a.next(); !c.done; c = a.next()) {\n c = c.value;\n var d = b.push,\n e = d.apply;\n var f = Fu;\n var g = new Uint8Array([0, 0, 0, 0].concat(w(Ku(c.data ? c.data.gb : 0, 4))));\n g = Fu("mfhd", g);\n var h;\n var k = c.data ? c.data.Oa : [];\n var l = new Uint8Array(4 + k.length);\n for (h = 0; h < k.length; h++) {\n var m = k[h].flags;\n l[h + 4] = m.Ia << 4 | m.La << 2 | m.Ja;\n }\n k = Fu("sdtp", l);\n var n = k.length + 92;\n l = Fu;\n h = new Uint8Array([0, 0, 0, 58].concat(w(Ku(c.id + 1, 4)), [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]));\n h = Fu("tfhd", h);\n m = c.data ? c.data.baseMediaDecodeTime : 0;\n var q = Math.floor(m % (Ju + 1));\n m = new Uint8Array([1, 0, 0, 0].concat(w(Ku(Math.floor(m / (Ju + 1)), 4)), w(Ku(q, 4))));\n m = Fu("tfdt", m);\n var p = n;\n n = c.data ? c.data.Oa : [];\n q = n.length;\n var u = 12 + 16 * q,\n v = new Uint8Array(u);\n p += 8 + u;\n v.set(["video" === c.type ? 1 : 0, 0, 15, 1].concat(w(Ku(q, 4)), w(Ku(p, 4))), 0);\n for (p = 0; p < q; p++) {\n var x = n[p];\n u = Ku(x.duration, 4);\n var z = Ku(x.size, 4),\n y = x.flags;\n x = Ku(x.Ta, 4);\n v.set([].concat(w(u), w(z), [y.Ua << 2 | y.Ia, y.La << 6 | y.Ja << 4 | y.Va, y.Ha & 61440, y.Ha & 15], w(x)), 12 + 16 * p);\n }\n n = Fu("trun", v);\n k = l("traf", h, m, n, k);\n f = f("moof", g, k);\n e.call(d, b, [f, $u(c)]);\n }\n return lg.apply(fg, w(b));\n }\n function $u(a) {\n a = (a.data ? a.data.Oa : []).map(function (b) {\n return b.data;\n });\n a = lg.apply(fg, w(a));\n return Fu("mdat", a);\n }\n function Ku(a, b) {\n var c = [];\n for (--b; 0 <= b; b--) c.push(a >> 8 * b & 255);\n return c;\n }\n function Qu(a) {\n for (var b = new Uint8Array(a.length / 2), c = 0; c < a.length / 2; c += 1) b[c] = parseInt(String(a[2 * c] + a[2 * c + 1]), 16);\n return b;\n }\n function Fu(a) {\n var b = Fa.apply(1, arguments),\n c = av[a];\n c || (c = [a.charCodeAt(0), a.charCodeAt(1), a.charCodeAt(2), a.charCodeAt(3)], av[a] = c);\n for (var d = 8, e = b.length - 1; 0 <= e; e--) d += b[e].byteLength;\n e = new Uint8Array(d);\n e[0] = d >> 24 & 255;\n e[1] = d >> 16 & 255;\n e[2] = d >> 8 & 255;\n e[3] = d & 255;\n e.set(c, 4);\n c = 0;\n for (d = 8; c < b.length; c++) e.set(b[c], d), d += b[c].byteLength;\n return e;\n }\n var Du = !1,\n Ju = Math.pow(2, 32) - 1,\n av = {},\n Lu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 118, 105, 100, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 105, 100, 101, 111, 72, 97, 110, 100, 108, 101, 114, 0]),\n Mu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 115, 111, 117, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 111, 117, 110, 100, 72, 97, 110, 100, 108, 101, 114, 0]),\n Vu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]),\n Wu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]),\n Yu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]),\n Xu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),\n Nu = new Uint8Array([0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),\n Pu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0]),\n Uu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1]),\n Eu = new Uint8Array([]),\n Gu = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 12, 117, 114, 108, 32, 0, 0, 0, 1]),\n Hu = new Uint8Array([]);\n function bv() {\n var a = this;\n this.h = this.g = null;\n this.l = [];\n this.j = null;\n this.s = 1;\n this.i = null;\n this.A = new Ma(5);\n this.o = new qd(function () {\n cv(a);\n });\n this.u = new kf();\n this.m = new Map();\n }\n r = bv.prototype;\n r.configure = function (a) {\n this.g = a;\n };\n r.start = function (a, b) {\n var c = this;\n return K(function (d) {\n if (1 == d.g) return c.l = [a], c.h = b, C(d, dv(c), 2);\n if (!c.h) throw new O(2, 7, 7001);\n return d["return"](c.j);\n });\n };\n function cv(a) {\n var b;\n K(function (c) {\n switch (c.g) {\n case 1:\n return sa(c, 2), C(c, dv(a), 4);\n case 4:\n ua(c, 3);\n break;\n case 2:\n b = va(c), a.h && (b.severity = 1, a.h.onError(b));\n case 3:\n if (!a.h) return c["return"]();\n E(c);\n }\n });\n }\n r.stop = function () {\n this.g = this.h = null;\n this.l = [];\n this.j = null;\n null != this.o && (this.o.stop(), this.o = null);\n this.m.clear();\n return this.u.destroy();\n };\n r.update = function () {\n var a = this,\n b;\n return K(function (c) {\n if (1 == c.g) return sa(c, 2), C(c, dv(a), 4);\n if (2 != c.g) return ua(c, 0);\n b = va(c);\n if (!a.h || !b) return c["return"]();\n a.h.onError(b);\n E(c);\n });\n };\n r.onExpirationUpdated = function () {};\n r.onInitialVariantChosen = function () {};\n r.banLocation = function () {};\n function dv(a) {\n var b, c, d, e, f, g, h;\n return K(function (k) {\n if (1 == k.g) return b = qf(a.l, a.g.retryParameters), c = a.h.networkingEngine, d = Date.now(), e = c.request(0, b, {\n type: 5\n }), lf(a.u, e), C(k, e.promise, 2);\n f = k.h;\n if (!a.h) return k["return"]();\n f.uri && !a.l.includes(f.uri) && a.l.unshift(f.uri);
1\n var l = f.uri,\n m = Jg(f.data, "SmoothStreamingMedia");\n if (!m) throw new O(2, 4, 4046, l);\n (l = a.g.mss.manifestPreprocessor) && l(m);\n a.i || (a.i = new jj(null, 0));\n if (l = xg(m, "IsLive", Fg, !1)) throw new O(2, 4, 4047);\n a.i.pc(!l);\n var n = xg(m, "TimeScale", Dg, 1E7),\n q = xg(m, "DVRWindowLength", Dg);\n l && (0 === q || isNaN(q)) && (q = Infinity);\n var p = xg(m, "CanSeek", Fg, !1);\n 0 === q && p && (q = Infinity);\n p = null;\n q && 0 < q && (p = q / n);\n l && !isNaN(a.g.availabilityWindowOverride) && (p = a.g.availabilityWindowOverride);\n null == p && (p = Infinity);\n a.i.Xd(p);\n q = xg(m, "Duration", Dg, Infinity);\n l || a.i.Pa(q / n);\n l = {\n variants: [],\n textStreams: [],\n timescale: n,\n duration: q / n\n };\n p = pg(m, "Protection");\n var u;\n n = a.g.mss.keySystemsBySystemId;\n q = [];\n p = t(p);\n for (u = p.next(); !u.done; u = p.next()) q = q.concat(pg(u.value, "ProtectionHeader"));\n if (q.length) {\n p = [];\n for (u = 0; u < q.length; u++) {\n var v = q[u],\n x = v.getAttribute("SystemID").toLowerCase(),\n z = n[x];\n if (z) {\n var y = zu(v);\n if (y) a: {\n y = t(y.getElementsByTagName("DATA"));\n for (var B = y.next(); !B.done; B = y.next()) if (B = og(B.value, "KID")) {\n y = ig(B.textContent);\n y = new Uint8Array([y[3], y[2], y[1], y[0], y[5], y[4], y[7], y[6]].concat(w(y.slice(8))));\n y = kg(y);\n break a;\n }\n y = null;\n } else y = null;\n B = ig(v.textContent);\n x = jg(x.replace(/-/g, ""));\n x = [{\n initData: ng(B, x, new Set(), 0),\n initDataType: "cenc",\n keyId: y\n }];\n x = yc(z, x);\n y && x.keyIds.add(y);\n if (z = Bu.get(z)) x.licenseServerUri = z(v);\n p.push(x);\n }\n }\n n = p;\n } else n = [];\n u = n;\n p = [];\n n = [];\n q = [];\n m = pg(m, "StreamIndex");\n m = t(m);\n for (v = m.next(); !v.done; v = m.next()) {\n v = v.value;\n z = pg(v, "QualityLevel");\n x = l.timescale;\n y = l.duration;\n B = pg(v, "c");\n for (var A = [], D = 0, F = 0; F < B.length; ++F) {\n var J = B[F],\n G = B[F + 1],\n H = xg(J, "t", Dg),\n I = xg(J, "d", Dg);\n J = xg(J, "r", Bg);\n if (!I) break;\n H = null != H ? H : D;\n J = J || 0;\n if (0 > J) if (G) {\n G = xg(G, "t", Dg);\n if (null == G) break;else if (H >= G) break;\n J = Math.ceil((G - H) / I) - 1;\n } else {\n if (Infinity == y) break;else if (H / x >= y) break;\n J = Math.ceil((y * x - H) / I) - 1;\n }\n for (G = 0; G <= J; ++G) D = H + I, A.push({\n start: H / x,\n end: D / x,\n zf: H\n }), H = D;\n }\n x = A;\n z = t(z);\n for (y = z.next(); !y.done; y = z.next()) (y = ev(a, v, y.value, x, u, l)) && ("audio" != y.type || a.g.disableAudio ? "video" != y.type || a.g.disableVideo ? y.type != Dc || a.g.disableText || q.push(y) : n.push(y) : p.push(y));\n }\n m = [];\n p = t(0 < p.length ? p : [null]);\n for (u = p.next(); !u.done; u = p.next()) for (u = u.value, v = t(0 < n.length ? n : [null]), y = v.next(); !y.done; y = v.next()) z = m, x = z.push, y = y.value, B = 0, u && u.bandwidth && 0 < u.bandwidth && (B += u.bandwidth), y && y.bandwidth && 0 < y.bandwidth && (B += y.bandwidth), y = {\n id: a.s++,\n language: u ? u.language : "und",\n disabledUntilTime: 0,\n primary: !!u && u.primary || !!y && y.primary,\n audio: u,\n video: y,\n bandwidth: B,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n }, x.call(z, y);\n l.variants = m;\n l.textStreams = q;\n a.j ? (a.j.variants = l.variants, a.j.textStreams = l.textStreams, a.h.filter(a.j)) : (a.j = {\n presentationTimeline: a.i,\n variants: l.variants,\n textStreams: l.textStreams,\
1n imageStreams: [],\n offlineSessionIds: [],\n minBufferTime: 0,\n sequenceMode: a.g.mss.sequenceMode,\n ignoreManifestTimestampsInSegmentsMode: !1,\n type: "MSS",\n serviceDescription: null\n }, a.i.Nd());\n Promise.resolve();\n g = Date.now();\n h = (g - d) / 1E3;\n a.A.sample(1, h);\n E(k);\n });\n }\n function ev(a, b, c, d, e, f) {\n var g = b.getAttribute("Type");\n if ("audio" !== g && "video" !== g && "text" !== g) return Sa("Ignoring unrecognized type:", g), null;\n var h = b.getAttribute("Language"),\n k = a.s++,\n l = xg(c, "Bitrate", Cg),\n m = xg(c, "MaxWidth", Cg),\n n = xg(c, "MaxHeight", Cg),\n q = xg(c, "Channels", Cg),\n p = xg(c, "SamplingRate", Cg),\n u = f.duration;\n d.length && (u = d[d.length - 1].end - d[0].start);\n var v = a.i.getDuration();\n a.i.Pa(Math.min(u, v));\n var x = {\n id: k,\n originalId: b.getAttribute("Name") || String(k),\n groupId: null,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n closeSegmentIndex: function closeSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: null,\n mimeType: "",\n codecs: "",\n frameRate: void 0,\n pixelAspectRatio: void 0,\n bandwidth: l || 0,\n width: m || void 0,\n height: n || void 0,\n kind: "",\n encrypted: 0 < e.length,\n drmInfos: e,\n keyIds: new Set(),\n language: dd(h || "und"),\n originalLanguage: h,\n label: "",\n type: "",\n primary: !1,\n trickModeVideo: null,\n emsgSchemeIdUris: [],\n roles: [],\n forced: !1,\n channelsCount: q,\n audioSamplingRate: p,\n spatialAudio: !1,\n closedCaptions: null,\n hdr: void 0,\n videoLayout: void 0,\n tilesLayout: void 0,\n matchedStreams: [],\n mssPrivateData: {\n duration: u,\n timescale: f.timescale,\n codecPrivateData: null\n },\n accessibilityPurpose: null,\n external: !1,\n fastSwitching: !1\n };\n if (e = b.getAttribute("Subtype")) (e = fv[e]) && x.roles.push(e), "main" === e && (x.primary = !0);\n e = c.getAttribute("FourCC");\n if (null === e || "" === e) e = b.getAttribute("FourCC");\n if (!e) if ("audio" === g) e = "AAC";else if ("video" === g) return Sa(\'FourCC is not defined whereas it is required for a QualityLevel element for a StreamIndex of type "video"\'), null;\n if (!gv.includes(e.toUpperCase())) return Sa("Codec not supported:", e), null;\n c = hv(c, g, e, x);\n x.mssPrivateData.codecPrivateData = c;\n switch (g) {\n case "audio":\n if (!c) return Sa("Quality unsupported without CodecPrivateData", g), null;\n x.type = "audio";\n x.mimeType = "mss/audio/mp4";\n x.codecs = iv(e, c);\n break;\n case "video":\n if (!c) return Sa("Quality unsupported without CodecPrivateData", g), null;\n x.type = "video";\n x.mimeType = "mss/video/mp4";\n x.codecs = jv(c);\n break;\n case "text":\n if (x.type = Dc, x.mimeType = "application/mp4", "TTML" === e || "DFXP" === e) x.codecs = "stpp";\n }\n x.createSegmentIndex = function () {\n if (x.segmentIndex) return Promise.resolve();\n if (a.m.has(x.id)) var z = a.m.get(x.id);else z = [], "video" == x.type && (z = x.mssPrivateData.codecPrivateData.split("00000001").slice(1)), z = {\n id: x.id,\n type: x.type,\n codecs: x.codecs,\n encrypted: x.encrypted,\n timescale: x.mssPrivateData.timescale,\n duration: x.mssPrivateData.duration,\n Ra: z,\n fa: new Uint8Array([]),\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: null,\n stream: x\n }, z = Iu(new Cu([z])), a.m.set(x.id, z);\n z = kv(a, new Gh(function () {\n return [];\n }, 0, null, null, void 0, z), x, b, d);\n x.segmentIndex = new Fj(z);\n return Promise.resolve();\n };\n x.closeSegmentIndex = function () {\n x.segmentIndex && (x.segmentIndex.release(), x.segmentIndex = null);\n };\n return x;\n }\n function hv(a, b, c, d) {\n if (a = a.getAttribute("CodecPr
1ivateData")) return a;\n if ("audio" !== b) return null;\n b = d.channelsCount || 2;\n a = d.audioSamplingRate || 44100;\n var e = {\n 96E3: 0,\n 88200: 1,\n 64E3: 2,\n 48E3: 3,\n 44100: 4,\n 32E3: 5,\n 24E3: 6,\n 22050: 7,\n 16E3: 8,\n 12E3: 9,\n 11025: 10,\n 8E3: 11,\n 7350: 12\n };\n d = e[a];\n if ("AACH" === c) return c = new Uint8Array(4), a = e[2 * a], c[0] = 40 | d >> 1, c[1] = d << 7 | b << 3 | a >> 1, c[2] = a << 7 | 8, c[3] = 0, b = new Uint16Array(2), b[0] = (c[0] << 8) + c[1], b[1] = (c[2] << 8) + c[3], b[0].toString(16) + b[1].toString(16);\n c = new Uint8Array(2);\n c[0] = 16 | d >> 1;\n c[1] = d << 7 | b << 3;\n b = new Uint16Array(1);\n b[0] = (c[0] << 8) + c[1];\n return b[0].toString(16);\n }\n function iv(a, b) {\n var c = 0;\n "AACH" === a && (c = 5);\n b ? 0 === c && (c = (parseInt(b.substr(0, 2), 16) & 248) >> 3) : (c = 2, "AACH" === a && (c = 5));\n return "mp4a.40." + c;\n }\n function jv(a) {\n var b = /00000001[0-9]7/.exec(a);\n return b.length && a ? "avc1." + a.substr(a.indexOf(b[0]) + 10, 6) : "";\n }\n function kv(a, b, c, d, e) {\n var f = d.getAttribute("Url").replace("{bitrate}", String(c.bandwidth));\n d = [];\n var g = {};\n e = t(e);\n for (var h = e.next(); !h.done; g = {\n Bc: g.Bc\n }, h = e.next()) g.Bc = h.value, d.push(new S(g.Bc.start, g.Bc.end, function (k) {\n return function () {\n return xc(a.l, [f.replace("{start time}", String(k.Bc.zf))]);\n };\n }(g), 0, null, b, 0, 0, c.mssPrivateData.duration));\n return d;\n }\n N("shaka.mss.MssParser", bv);\n var gv = "AAC AACL AACH AACP AVC1 H264 TTML DFXP".split(" "),\n fv = {\n CAPT: "main",\n SUBT: "alternate",\n DESC: "main"\n };\n Ah["application/vnd.ms-sstr+xml"] = function () {\n return new bv();\n };\n function lv(a, b, c, d, e, f) {\n if (200 <= c && 299 >= c && 202 != c) return {\n uri: e || d,\n originalUri: d,\n data: b,\n status: c,\n headers: a,\n fromCache: !!a["x-shaka-from-cache"]\n };\n e = null;\n try {\n e = Qf(b);\n } catch (g) {}\n throw new O(401 == c || 403 == c ? 2 : 1, 1, 1001, d, c, e, a, f);\n }\n ;\n function mv() {}\n function nv(a, b, c, d, e) {\n var f = new ov();\n If(b.headers).forEach(function (l, m) {\n f.append(m, l);\n });\n var g = new pv(),\n h = {\n Ff: !1,\n tg: !1\n };\n a = qv(a, c, {\n body: b.body || void 0,\n headers: f,\n method: b.method,\n signal: g.signal,\n credentials: b.allowCrossSiteCredentials ? "include" : void 0\n }, h, d, e, b.streamDataCallback);\n a = new $e(a, function () {\n h.Ff = !0;\n g.abort();\n return Promise.resolve();\n });\n if (b = b.retryParameters.timeout) {\n var k = new qd(function () {\n h.tg = !0;\n g.abort();\n });\n k.U(b / 1E3);\n a["finally"](function () {\n k.stop();\n });\n }\n return a;\n }\n function qv(a, b, c, d, e, f, g) {\n var h, k, l, m, n, q, p, u, v, x, z, y, B;\n return K(function (A) {\n switch (A.g) {\n case 1:\n return h = rv, k = sv, q = n = 0, p = Date.now(), sa(A, 2), C(A, h(a, c), 4);\n case 4:\n l = A.h;\n f(tv(l.headers));\n if ("HEAD" == c.method) {\n A.B(5);\n break;\n }\n u = l.clone().body.getReader();\n x = (v = l.headers.get("Content-Length")) ? parseInt(v, 10) : 0;\n z = function z(D) {\n function F() {\n var J, G;\n return K(function (H) {\n switch (H.g) {\n case 1:\n return sa(H, 2), C(H, u.read(), 4);\n case 4:\n J = H.h;\n ua(H, 3);\n break;\n case 2:\n return va(H), H["return"]();\n case 3:\n if (J.done) {\n H.B(5);\n break;\n }\n n += J.value.byteLength;\n if (!g) {\n H.B(5);\n break;\n }\n return C(H, g(J.value), 5);\n case 5:\n G = Date.now();\n if (100 < G - p || J.done) e(G - p, n - q, x - n), q = n, p = G;\n J.done ? D.close() : (D.enqueue(J.value), F());\n E(H);\n }\n });\n }\n F();\n };\n new k({\n start: z\n });\n return C(A, l.arrayBuffer(), 6);\n case 6:\n m = A.h;\n case 5:\n ua(A, 3);\n break;\n case 2:\n y = va(A);\n if (d.Ff) throw new O(1, 1, 7001, a, b);\n if (d.tg) throw new O(1, 1, 1003, a, b);\n throw new O(1, 1, 1002, a, y, b);
1\n case 3:\n return B = tv(l.headers), A["return"](lv(B, m, l.status, a, l.url, b));\n }\n });\n }\n function tv(a) {\n var b = {};\n a.forEach(function (c, d) {\n b[d.trim()] = c;\n });\n return b;\n }\n function uv() {\n if (window.ReadableStream) try {\n new ReadableStream({});\n } catch (a) {\n return !1;\n } else return !1;\n if (window.Response) {\n if (!new Response("").body) return !1;\n } else return !1;\n return !(!window.fetch || !window.AbortController);\n }\n N("shaka.net.HttpFetchPlugin", mv);\n mv.isSupported = uv;\n mv.parse = nv;\n var rv = window.fetch,\n pv = window.AbortController,\n sv = window.ReadableStream,\n ov = window.Headers;\n uv() && (nf("http", nv, 2, !0), nf("https", nv, 2, !0), nf("blob", nv, 2, !0));\n function vv() {}\n function wv(a, b, c, d, e) {\n var f = new xv(),\n g = Date.now(),\n h = 0,\n k = new Promise(function (l, m) {\n f.open(b.method, a, !0);\n f.responseType = "arraybuffer";\n f.timeout = b.retryParameters.timeout;\n f.withCredentials = b.allowCrossSiteCredentials;\n f.onabort = function () {\n m(new O(1, 1, 7001, a, c));\n };\n var n = !1;\n f.onreadystatechange = function () {\n if (2 == f.readyState && !n) {\n var p = yv(f);\n e(p);\n n = !0;\n }\n };\n f.onload = function () {\n var p = yv(f),\n u = f.response;\n try {\n var v = lv(p, u, f.status, a, f.responseURL, c);\n l(v);\n } catch (x) {\n m(x);\n }\n };\n f.onerror = function (p) {\n m(new O(1, 1, 1002, a, p, c));\n };\n f.ontimeout = function () {\n m(new O(1, 1, 1003, a, c));\n };\n f.onprogress = function (p) {\n var u = Date.now();\n if (100 < u - g || p.lengthComputable && p.loaded == p.total) d(u - g, p.loaded - h, p.total - p.loaded), h = p.loaded, g = u;\n };\n for (var q in b.headers) f.setRequestHeader(q.toLowerCase(), b.headers[q]);\n f.send(b.body);\n });\n return new $e(k, function () {\n f.abort();\n return Promise.resolve();\n });\n }\n function yv(a) {\n var b = a.getAllResponseHeaders().trim().split("\\r\\n");\n a = {};\n b = t(b);\n for (var c = b.next(); !c.done; c = b.next()) c = c.value.split(": "), a[c[0].toLowerCase()] = c.slice(1).join(": ");\n return a;\n }\n N("shaka.net.HttpXHRPlugin", vv);\n vv.parse = wv;\n var xv = window.XMLHttpRequest;\n nf("http", wv, 1, !0);\n nf("https", wv, 1, !0);\n nf("blob", wv, 1, !0);\n function zv(a, b, c, d) {\n this.g = a;\n this.i = b;\n this.groupId = c;\n this.h = d;\n }\n function Av(a) {\n return a.Z().map(function (b) {\n return "{" + encodeURI(b) + "}";\n }).join("") + ":" + a.Qa + ":" + a.wa;\n }\n function Bv(a, b) {\n return fk(a.g.Z(), a.g.Qa, a.g.wa, b.streaming.retryParameters);\n }\n ;\n function Cv() {\n this.h = this.j = this.i = 0;\n this.g = new Map();\n this.l = 0;\n }\n function Dv(a, b) {\n a.i += b;\n var c = a.l;\n a.l++;\n a.g.set(c, b);\n return c;\n }\n Cv.prototype.close = function (a, b) {\n if (this.g.has(a)) {\n var c = this.g.get(a);\n this.g["delete"](a);\n this.j += c;\n this.h += b;\n }\n };\n function Ev(a) {\n var b = this;\n this.o = a;\n this.j = new Map();\n this.i = new yf(function () {\n return Fv(b)["catch"](function () {});\n });\n this.h = [];\n this.m = function () {};\n this.l = function () {};\n this.g = new Cv();\n }\n Ev.prototype.destroy = function () {\n return this.i.destroy();\n };\n function Gv(a, b, c) {\n a.m = b;\n a.l = c;\n }\n function Fv(a) {\n var b = a.h.map(function (c) {\n return c();\n });\n a.h = [];\n return Promise.all(b);\n }\n function Hv(a, b, c, d, e, f) {\n zf(a.i);\n var g = (a.j.get(b) || Promise.resolve()).then(function () {\n var h, k, l, m, n, q, p;\n return K(function (u) {\n if (1 == u.g) return C(u, Iv(a, c), 2);\n h = u.h;\n if (a.i.g) throw new O(2, 9, 7001);\n if (e) for (m in k = hb(h), l = new mg(k), l.data) n = Number(m), q = l.data[n], p = l.g[n], a.l(q, p);\n a.g.close(d, h.byteLength);\n var v = a.g;\n a.m(0 == v.i ? 0 : v.j / v.i, a.g.h);\n return u["return"](f(h));\n });\n });\n a.j.set(b, g);\n }\n function Jv(a) {\n return K(function (b) {\n return 1 == b.g ? C(b, Promise.all(a.j.values()), 2) : b["return"](a.g.h);\n });\n }\n function Iv(a, b) {\n var c, d, e, f;\n return K(function (g) {\n if (1 == g.g) return c = wf, d = a.o.request(c, b), e = function e() {\n return d.abort();\n }, a.h.push(e), C(g, d.promise, 2);\n f = g.h;\n tb(a.h, e);\n return g["return"](f.data);\n });\n }\n ;\n function Kv(a, b) {\n var c = this;\n this.i = a;\n this.h = a.objectStore(b);\n this.g = new Ze();\n a.onabort = function (d) {\n d.preventDefault();\n c.g.reject();\n };\n a.onerror = function (d) {\n d.preventDefault();\n c.g.reject();\n };\n a.oncomplete = function () {\n c.g.resolve();\n };\n }\n Kv.prototype.abort = function () {\n var a = this;\n return K(function (b) {\n if (1 == b.g) {\n try {\n a.i.abort();\n } catch (c) {}\n sa(b, 2);\n return C(b, a.g, 4);\n }\n if (2 != b.g) return ua(b, 0);\n va(b);\n E(b);\n });\n };\n function Lv(a, b) {\n return new Promise(function (c, d) {\n var e = a.h.openCursor();\n e.onerror = d;\n e.onsuccess = function () {\n var f;\n return K(function (g) {\n if (1 == g.g) {\n if (null == e.result) return c(), g["return"]();\n f = e.result;\n return C(g, b(f.key, f.value, f), 2);\n }\n f["continue"]();\n E(g);\n });\n };\n });\n }\n Kv.prototype.store = function () {\n return this.h;\n };\n Kv.prototype.promise = function () {\n return this.g;\n };\n function Mv(a) {\n this.h = a;\n this.g = [];\n }\n Mv.prototype.destroy = function () {\n return Promise.all(this.g.map(function (a) {\n return a.abort();\n }));\n };\n function Nv(a, b) {\n return Ov(a, b, "readwrite");\n }\n function Ov(a, b, c) {\n c = a.h.transaction([b], c);\n var d = new Kv(c, b);\n a.g.push(d);\n d.promise().then(function () {\n tb(a.g, d);\n }, function () {\n tb(a.g, d);\n });\n return d;\n }\n ;\n function Pv(a, b, c) {\n this.h = new Mv(a);\n this.i = b;\n this.g = c;\n }\n r = Pv.prototype;\n r.destroy = function () {\n return this.h.destroy();\n };\n r.hasFixedKeySpace = function () {\n return !0;\n };\n r.addSegments = function () {\n return Qv(this.i);\n };\n r.removeSegments = function (a, b) {\n return Rv(this, this.i, a, b);\n };\n r.getSegments = function (a) {\n var b = this,\n c;\n return K(function (d) {\n if (1 == d.g) return C(d, Sv(b, b.i, a), 2);\n c = d.h;\n return d["return"](c.map(function (e) {\n return b.Hf(e);\n }));\n });\n };\n r.addManifests = function () {\n return Qv(this.g);\n };\n r.updateManifest = function () {\n return Promise.reject(new O(2, 9, 9016, "Cannot modify values in " + this.g));\n };\n function Tv(a, b, c) {\n a = Nv(a.h, a.g);
1\n var d = a.store();\n d.get(b).onsuccess = function () {\n d.put(c, b);\n };\n return a.promise();\n }\n r.updateManifestExpiration = function (a, b) {\n var c = Nv(this.h, this.g),\n d = c.store();\n d.get(a).onsuccess = function (e) {\n if (e = e.target.result) e.expiration = b, d.put(e, a);\n };\n return c.promise();\n };\n r.removeManifests = function (a, b) {\n return Rv(this, this.g, a, b);\n };\n r.getManifests = function (a) {\n var b = this,\n c;\n return K(function (d) {\n if (1 == d.g) return C(d, Sv(b, b.g, a), 2);\n c = d.h;\n return d["return"](Promise.all(c.map(function (e) {\n return b.Mc(e);\n })));\n });\n };\n r.getAllManifests = function () {\n var a = this,\n b,\n c;\n return K(function (d) {\n return 1 == d.g ? (b = Ov(a.h, a.g, "readonly"), c = new Map(), C(d, Lv(b, function (e, f) {\n var g;\n return K(function (h) {\n if (1 == h.g) return C(h, a.Mc(f), 2);\n g = h.h;\n c.set(e, g);\n E(h);\n });\n }), 2)) : 3 != d.g ? C(d, b.promise(), 3) : d["return"](c);\n });\n };\n r.Hf = function (a) {\n return a;\n };\n r.Mc = function (a) {\n return Promise.resolve(a);\n };\n function Qv(a) {\n return Promise.reject(new O(2, 9, 9011, "Cannot add new value to " + a));\n }\n r.add = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n if (1 == m.g) {\n d = Nv(c.h, a);\n e = d.store();\n f = [];\n g = {};\n h = t(b);\n for (k = h.next(); !k.done; g = {\n nd: g.nd\n }, k = h.next()) l = k.value, g.nd = e.add(l), g.nd.onsuccess = function (n) {\n return function () {\n f.push(n.nd.result);\n };\n }(g);\n return C(m, d.promise(), 2);\n }\n return m["return"](f);\n });\n };\n function Rv(a, b, c, d) {\n a = Nv(a.h, b);\n b = a.store();\n var e = {};\n c = t(c);\n for (var f = c.next(); !f.done; e = {\n ld: e.ld\n }, f = c.next()) e.ld = f.value, b["delete"](e.ld).onsuccess = function (g) {\n return function () {\n return d(g.ld);\n };\n }(e);\n return a.promise();\n }\n function Sv(a, b, c) {\n var d, e, f, g, h, k, l;\n return K(function (m) {\n if (1 == m.g) {\n d = Ov(a.h, b, "readonly");\n e = d.store();\n f = {};\n g = [];\n h = {};\n k = t(c);\n for (l = k.next(); !l.done; h = {\n zc: h.zc,\n xc: h.xc\n }, l = k.next()) h.xc = l.value, h.zc = e.get(h.xc), h.zc.onsuccess = function (n) {\n return function () {\n void 0 == n.zc.result && g.push(n.xc);\n f[n.xc] = n.zc.result;\n };\n }(h);\n return C(m, d.promise(), 2);\n }\n if (g.length) throw new O(2, 9, 9012, "Could not find values for " + g);\n return m["return"](c.map(function (n) {\n return f[n];\n }));\n });\n }\n ;\n function Uv(a) {\n this.g = new Mv(a);\n }\n Uv.prototype.destroy = function () {\n return this.g.destroy();\n };\n Uv.prototype.getAll = function () {\n var a = this,\n b,\n c;\n return K(function (d) {\n return 1 == d.g ? (b = Ov(a.g, "session-ids", "readonly"), c = [], C(d, Lv(b, function (e, f) {\n c.push(f);\n }), 2)) : 3 != d.g ? C(d, b.promise(), 3) : d["return"](c);\n });\n };\n Uv.prototype.add = function (a) {\n var b = Nv(this.g, "session-ids"),\n c = b.store();\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) c.add(d.value);\n return b.promise();\n };\n Uv.prototype.remove = function (a) {\n var b = this,\n c;\n return K(function (d) {\n return 1 == d.g ? (c = Nv(b.g, "session-ids"), C(d, Lv(c, function (e, f, g) {\n a.includes(f.sessionId) && g["delete"]();\n }), 2)) : C(d, c.promise(), 0);\n });\n };\n function Vv() {\n this.g = new Map();\n }\n Vv.prototype.destroy = function () {\n for (var a = [], b = t(this.g.values()), c = b.next(); !c.done; c = b.next()) a.push(c.value.destroy());\n this.g.clear();\n return Promise.all(a);\n };\n Vv.prototype.init = function () {\n var a = this;\n Wv.forEach(function (e, f) {\n (e = e()) && a.g.set(f, e);\n });\n for (var b = [], c = t(this.g.values()), d = c.next(); !d.done;
1 d = c.next()) b.push(d.value.init());\n return Promise.all(b);\n };\n function Xv(a) {\n var b = null;\n a.g.forEach(function (c, d) {\n c.getCells().forEach(function (e, f) {\n e.hasFixedKeySpace() || b || (b = {\n path: {\n Wa: d,\n va: f\n },\n va: e\n });\n });\n });\n if (b) return b;\n throw new O(2, 9, 9013, "Could not find a cell that supports add-operations");\n }\n function Yv(a, b) {\n a.g.forEach(function (c, d) {\n c.getCells().forEach(function (e, f) {\n b({\n Wa: d,\n va: f\n }, e);\n });\n });\n }\n function Zv(a, b, c) {\n a = a.g.get(b);\n if (!a) throw new O(2, 9, 9013, "Could not find mechanism with name " + b);\n b = a.getCells().get(c);\n if (!b) throw new O(2, 9, 9013, "Could not find cell with name " + c);\n return b;\n }\n function $v(a, b) {\n a.g.forEach(function (c) {\n b(c.getEmeSessionCell());\n });\n }\n function aw(a) {\n var b = Array.from(a.g.keys());\n if (!b.length) throw new O(2, 9, 9E3, "No supported storage mechanisms found");\n return a.g.get(b[0]).getEmeSessionCell();\n }\n function bw(a) {\n var b, c, d;\n return K(function (e) {\n return 1 == e.g ? (b = Array.from(a.g.values()), c = 0 < b.length, c || (d = Wv, d.forEach(function (f) {\n (f = f()) && b.push(f);\n })), C(e, Promise.all(b.map(function (f) {\n return f.erase();\n })), 2)) : c ? e.B(0) : C(e, Promise.all(b.map(function (f) {\n return f.destroy();\n })), 0);\n });\n }\n function cw(a, b) {\n Wv.set(a, b);\n }\n N("shaka.offline.StorageMuxer", Vv);\n Vv.unregister = function (a) {\n Wv["delete"](a);\n };\n Vv.register = cw;\n Vv.prototype.destroy = Vv.prototype.destroy;\n var Wv = new Map();\n function dw() {\n Pv.apply(this, arguments);\n }\n oa(dw, Pv);\n dw.prototype.updateManifestExpiration = function (a, b) {\n var c = this,\n d,\n e,\n f;\n return K(function (g) {\n d = Nv(c.h, c.g);\n e = d.store();\n f = new Ze();\n e.get(a).onsuccess = function (h) {\n (h = h.target.result) ? (h.expiration = b, e.put(h), f.resolve()) : f.reject(new O(2, 9, 9012, "Could not find values for " + a));\n };\n return C(g, Promise.all([d.promise(), f]), 0);\n });\n };\n dw.prototype.Mc = function (a) {\n var b, c, d, e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n b = [];\n for (c = 0; c < a.periods.length; ++c) d = c == a.periods.length - 1 ? a.duration : a.periods[c + 1].startTime, e = d - a.periods[c].startTime, f = ew(a.periods[c], e), b.push(f);\n return C(h, Qr(b), 2);\n }\n g = h.h;\n return h["return"]({\n creationTime: 0,\n originalManifestUri: a.originalManifestUri,\n duration: a.duration,\n size: a.size,\n expiration: null == a.expiration ? Infinity : a.expiration,\n streams: g,\n sessionIds: a.sessionIds,\n drmInfo: a.drmInfo,\n appMetadata: a.appMetadata,\n sequenceMode: !1\n });\n });\n };\n function ew(a, b) {\n fw(a);\n for (var c = t(a.streams), d = c.next(); !d.done; d = c.next());\n return a.streams.map(function (e) {\n return gw(e, a.startTime, b);\n });\n }\n function gw(a, b, c) {\n var d = a.initSegmentUri ? hw(a.initSegmentUri) : null,\n e = b + a.presentationTimeOffset,\n f = b + c;\n return {\n id: a.id,\n originalId: null,\n groupId: null,\n primary: a.primary,\n type: a.contentType,\n mimeType: a.mimeType,\n codecs: a.codecs,\n frameRate: a.frameRate,\n pixelAspectRatio: void 0,\n hdr: void 0,\n videoLayout: void 0,\n kind: a.kind,\n language: a.language,\n originalLanguage: a.language || null,\n label: a.label,\n width: a.width,\n height: a.height,\n initSegmentKey: d,\n encrypted: a.encrypted,\n keyIds: new Set([a.keyId]),\n segments: a.segments.map(function (g) {\n var h = hw(g.uri);\n return {\n startTime: b + g.startTime,\n endTime: b + g.endTime,\n dataKey: h,\n initSegmentKey: d,\n appendWindowStart: b,\n appendWindowEnd: f,\n timestampOffset: e,\n tilesLayout: ""\n };\n }),\n variantIds: a.variantIds,\n roles: [],\n forced: !1,\n audioSamplingRate: null,\n channelsCount: null,\n spatialAudio: !1,\n closedCaptions: null,\n tilesLayout: void 0,\n external: !1,\n fastSwitching: !1\n };\n }\n dw.prototype.Hf = function (a) {\n return {\n data: a.data\n };\n };\n function hw(a) {\n var b;\n if ((b = /^offline:[0-9]+\\/[0-9]+\\/([0-9]+)$/.exec(a)) || (b = /^offline:segment\\/([0-9]+)$/.exec(a))) return Number(b[1]);\n throw new O(2, 9, 9004, "Could not parse uri " + a);\n }\n function fw(a) {\n var b = a.streams.filter(function (h) {\n return "audio" == h.contentType;\n });\n a = a.streams.filter(function (h) {\n return "video" == h.contentType;\n });\n if (!b.every(function (h) {\n return h.variantIds;\n }) || !a.every(function (h) {\n return h.variantIds;\n })) {\n for (var c = t(b), d = c.next(); !d.done; d = c.next()) d.value.variantIds = [];\n c = t(a);\n for (d = c.next(); !d.done; d = c.next()) d.value.variantIds = [];\n c = 0;\n if (a.length && !b.length) {\n var e = c++,\n f = t(a);\n for (d = f.next(); !d.done; d = f.next()) d.value.variantIds.push(e);\n }\n if (!a.length && b.length) for (e = c++, f = t(b), d = f.next(); !d.done; d = f.next()) d.value.variantIds.push(e);\n if (a.length && b.length) for (b = t(b), d = b.next(); !d.done; d = b.next()) for (d = d.value, e = t(a), f = e.next(); !f.done; f = e.next()) {\n f = f.value;\n var g = c++;\n d.variantIds.push(g);\n f.variantIds.push(g);\n }\n }\n }\n ;
1\n function iw() {\n Pv.apply(this, arguments);\n }\n oa(iw, Pv);\n iw.prototype.Mc = function (a) {\n var b, c, d, e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n b = [];\n for (c = 0; c < a.periods.length; ++c) {\n d = c == a.periods.length - 1 ? a.duration : a.periods[c + 1].startTime;\n e = d - a.periods[c].startTime;\n for (var k = a.periods[c], l = [], m = t(k.streams), n = m.next(); !n.done; n = m.next()) n = n.value, 0 != n.variantIds.length && l.push(jw(n, k.startTime, k.startTime + e));\n f = l;\n b.push(f);\n }\n return C(h, Qr(b), 2);\n }\n g = h.h;\n return h["return"]({\n appMetadata: a.appMetadata,\n creationTime: 0,\n drmInfo: a.drmInfo,\n duration: a.duration,\n expiration: null == a.expiration ? Infinity : a.expiration,\n originalManifestUri: a.originalManifestUri,\n sessionIds: a.sessionIds,\n size: a.size,\n streams: g,\n sequenceMode: !1\n });\n });\n };\n function jw(a, b, c) {\n return {\n id: a.id,\n originalId: a.originalId,\n groupId: null,\n primary: a.primary,\n type: a.contentType,\n mimeType: a.mimeType,\n codecs: a.codecs,\n frameRate: a.frameRate,\n pixelAspectRatio: a.pixelAspectRatio,\n hdr: void 0,\n videoLayout: void 0,\n kind: a.kind,\n language: a.language,\n originalLanguage: a.language || null,\n label: a.label,\n width: a.width,\n height: a.height,\n encrypted: a.encrypted,\n keyIds: new Set([a.keyId]),\n segments: a.segments.map(function (d) {\n return {\n startTime: b + d.startTime,\n endTime: b + d.endTime,\n initSegmentKey: a.initSegmentKey,\n appendWindowStart: b,\n appendWindowEnd: c,\n timestampOffset: b - a.presentationTimeOffset,\n dataKey: d.dataKey,\n tilesLayout: ""\n };\n }),\n variantIds: a.variantIds,\n roles: [],\n forced: !1,\n audioSamplingRate: null,\n channelsCount: null,\n spatialAudio: !1,\n closedCaptions: null,\n tilesLayout: void 0,\n external: !1,\n fastSwitching: !1\n };\n }\n ;\n function kw() {\n Pv.apply(this, arguments);\n }\n oa(kw, Pv);\n r = kw.prototype;\n r.hasFixedKeySpace = function () {\n return !1;\n };\n r.addSegments = function (a) {\n return this.add(this.i, a);\n };\n r.addManifests = function (a) {\n return this.add(this.g, a);\n };\n r.updateManifest = function (a, b) {\n return Tv(this, a, b);\n };\n r.Mc = function (a) {\n null == a.expiration && (a.expiration = Infinity);\n return Promise.resolve(a);\n };\n function lw() {\n this.m = this.j = this.i = this.h = this.g = this.l = null;\n }\n r = lw.prototype;\n r.init = function () {\n var a = this,\n b = new Ze(),\n c = !1,\n d = new qd(function () {\n c = !0;\n b.reject(new O(2, 9, 9017));\n });\n d.U(5);\n var e = window.indexedDB.open("shaka_offline_db", 5);\n e.onsuccess = function () {\n if (!c) {\n var f = e.result;\n a.l = f;\n var g = f.objectStoreNames;\n g = g.contains("manifest") && g.contains("segment") ? new dw(f, "segment", "manifest") : null;\n a.g = g;\n g = f.objectStoreNames;\n g = g.contains("manifest-v2") && g.contains("segment-v2") ? new iw(f, "segment-v2", "manifest-v2") : null;\n a.h = g;\n g = f.objectStoreNames;\n g = g.contains("manifest-v3") && g.contains("segment-v3") ? new iw(f, "segment-v3", "manifest-v3") : null;\n a.i = g;\n g = f.objectStoreNames;\n g = g.contains("manifest-v5") && g.contains("segment-v5") ? new kw(f, "segment-v5", "manifest-v5") : null;\n a.j = g;\n f = f.objectStoreNames.contains("session-ids") ? new Uv(f) : null;\n a.m = f;\n d.stop();\n b.resolve();\n }\n };
1\n e.onupgradeneeded = function () {\n for (var f = e.result, g = t(["segment-v5", "manifest-v5", "session-ids"]), h = g.next(); !h.done; h = g.next()) h = h.value, f.objectStoreNames.contains(h) || f.createObjectStore(h, {\n autoIncrement: !0\n });\n };\n e.onerror = function (f) {\n c || (b.reject(new O(2, 9, 9001, e.error)), d.stop(), f.preventDefault());\n };\n return b;\n };\n r.destroy = function () {\n var a = this;\n return K(function (b) {\n switch (b.g) {\n case 1:\n if (!a.g) {\n b.B(2);\n break;\n }\n return C(b, a.g.destroy(), 2);\n case 2:\n if (!a.h) {\n b.B(4);\n break;\n }\n return C(b, a.h.destroy(), 4);\n case 4:\n if (!a.i) {\n b.B(6);\n break;\n }\n return C(b, a.i.destroy(), 6);\n case 6:\n if (!a.j) {\n b.B(8);\n break;\n }\n return C(b, a.j.destroy(), 8);\n case 8:\n if (!a.m) {\n b.B(10);\n break;\n }\n return C(b, a.m.destroy(), 10);\n case 10:\n a.l && a.l.close(), E(b);\n }\n });\n };\n r.getCells = function () {\n var a = new Map();\n this.g && a.set("v1", this.g);\n this.h && a.set("v2", this.h);\n this.i && a.set("v3", this.i);\n this.j && a.set("v5", this.j);\n return a;\n };\n r.getEmeSessionCell = function () {\n return this.m;\n };\n r.erase = function () {\n var a = this;\n return K(function (b) {\n switch (b.g) {\n case 1:\n if (!a.g) {\n b.B(2);\n break;\n }\n return C(b, a.g.destroy(), 2);\n case 2:\n if (!a.h) {\n b.B(4);\n break;\n }\n return C(b, a.h.destroy(), 4);\n case 4:\n if (!a.i) {\n b.B(6);\n break;\n }\n return C(b, a.i.destroy(), 6);\n case 6:\n if (!a.j) {\n b.B(8);\n break;\n }\n return C(b, a.j.destroy(), 8);\n case 8:\n return a.l && a.l.close(), C(b, mw(), 10);\n case 10:\n return a.l = null, a.g = null, a.h = null, a.i = null, a.j = null, C(b, a.init(), 0);\n }\n });\n };\n function mw() {\n var a = new Ze(),\n b = window.indexedDB.deleteDatabase("shaka_offline_db");\n b.onblocked = function () {};\n b.onsuccess = function () {\n a.resolve();\n };\n b.onerror = function (c) {\n a.reject(new O(2, 9, 9001, b.error));\n c.preventDefault();\n };\n return a;\n }\n cw("idb", function () {\n return Bd() || vd() || !window.indexedDB ? null : new lw();\n });\n function nw(a, b, c, d) {\n this.g = a;\n this.i = b;\n this.h = c;\n this.l = d;\n this.j = ["offline:", a, "/", b, "/", c, "/", d].join("");\n }\n nw.prototype.Wa = function () {\n return this.i;\n };\n nw.prototype.va = function () {\n return this.h;\n };\n nw.prototype.key = function () {\n return this.l;\n };\n nw.prototype.toString = function () {\n return this.j;\n };\n function ow(a) {\n a = /^offline:([a-z]+)\\/([^/]+)\\/([^/]+)\\/([0-9]+)$/.exec(a);\n if (null == a) return null;\n var b = a[1];\n if ("manifest" != b && "segment" != b) return null;\n var c = a[2];\n if (!c) return null;\n var d = a[3];\n return d && null != b ? new nw(b, c, d, Number(a[4])) : null;\n }\n ;\n function pw(a, b) {\n this.h = a;\n this.g = b;\n }\n function qw(a, b) {\n var c = new jj(null, 0);\n c.Pa(b.duration);\n var d = b.streams.filter(function (l) {\n return "audio" == l.type;\n }),\n e = b.streams.filter(function (l) {\n return "video" == l.type;\n });\n d = rw(a, d, e, c);\n e = b.streams.filter(function (l) {\n return l.type == Dc;\n }).map(function (l) {\n return sw(a, l, c);\n });\n var f = b.streams.filter(function (l) {\n return "image" == l.type;\n }).map(function (l) {\n return sw(a, l, c);\n }),\n g = b.drmInfo ? [b.drmInfo] : [];\n if (b.drmInfo) for (var h = t(d.values()), k = h.next(); !k.done; k = h.next()) k = k.value, k.audio && k.audio.encrypted && (k.audio.drmInfos = g), k.video && k.video.encrypted && (k.video.drmInfos = g);\n return {\n presentationTimeline: c,\n minBufferTime: 2,\n offlineSessionIds: b.sessionIds,\n variants: Array.from(d.values()),\n textStreams: e,\n imageStreams: f,\n sequenceMode: b.sequenceMode || !1,\n ignoreManifestTimestampsInSegmentsMode: !1,\n type: b.type || "UNKNOWN",\n serviceDescription: null\n };\n }\n function rw(a, b, c, d) {\n for (var e = new Set(), f = t(b), g = f.next(); !g.done; g = f.next()) {\n var h = t(g.value.variantIds);\n for (g = h.next(); !g.done; g = h.next()) e.add(g.value);\n }\n f = t(c);\n for (g = f.next(); !g.done; g = f.next()) for (h = t(g.value.variantIds), g = h.next(); !g.done; g = h.next()) e.add(g.value);\n f = new Map();\n e = t(e);\n for (g = e.next(); !g.done; g = e.next()) g = g.value, f.set(g, {\n id: g,\n language: "",\n disabledUntilTime: 0,\n primary: !1,\n audio: null,\n video: null,\n bandwidth: 0,\n allowedByApplication: !0,\n allowedByKeySystem: !0,\n decodingInfos: []\n });\n b = t(b);\n for (e = b.next(); !e.done; e = b.next()) for (e = e.value, g = sw(a, e, d), h = t(e.variantIds), e = h.next(); !e.done; e = h.next()) e = f.get(e.value), e.language = g.language, e.primary = e.primary || g.primary, e.audio = g;\n c = t(c);\n for (b = c.next(); !b.done; b = c.next()) for (e = b.value, b = sw(a, e, d), g = t(e.variantIds), e = g.next(); !e.done; e = g.next()) e = f.get(e.value), e.primary = e.primary || b.primary, e.video = b;\n return f;\n }\n function sw(a, b, c) {\n var d = b.segments.map(function (e) {\n return tw(a, e);\n });\n c.Xc(d);\n return {\n id: b.id,\n originalId: b.originalId,\n groupId: b.groupId,\n createSegmentIndex: function createSegmentIndex() {\n return Promise.resolve();\n },\n segmentIndex: new Fj(d),\n mimeType: b.mimeType,\n codecs: b.codecs,\n width: b.width || void 0,\n height: b.he
1ight || void 0,\n frameRate: b.frameRate,\n pixelAspectRatio: b.pixelAspectRatio,\n hdr: b.hdr,\n videoLayout: b.videoLayout,\n kind: b.kind,\n encrypted: b.encrypted,\n drmInfos: [],\n keyIds: b.keyIds,\n language: b.language,\n originalLanguage: b.originalLanguage || null,\n label: b.label,\n type: b.type,\n primary: b.primary,\n trickModeVideo: null,\n emsgSchemeIdUris: null,\n roles: b.roles,\n forced: b.forced,\n channelsCount: b.channelsCount,\n audioSamplingRate: b.audioSamplingRate,\n spatialAudio: b.spatialAudio,\n closedCaptions: b.closedCaptions,\n tilesLayout: b.tilesLayout,\n accessibilityPurpose: null,\n external: b.external,\n fastSwitching: b.fastSwitching\n };\n }\n function tw(a, b) {\n var c = new nw("segment", a.h, a.g, b.dataKey);\n return new S(b.startTime, b.endTime, function () {\n return [c.toString()];\n }, 0, null, null != b.initSegmentKey ? uw(a, b.initSegmentKey) : null, b.timestampOffset, b.appendWindowStart, b.appendWindowEnd, [], b.tilesLayout || "");\n }\n function uw(a, b) {\n var c = new nw("segment", a.h, a.g, b);\n return new Gh(function () {\n return [c.toString()];\n }, 0, null);\n }\n ;\n function vw() {\n this.g = null;\n }\n r = vw.prototype;\n r.configure = function () {};\n r.start = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n d = ow(a);\n c.g = d;\n if (null == d || "manifest" != d.g) throw new O(2, 1, 9004, a);\n e = new Vv();\n ta(m, 2);\n return C(m, e.init(), 4);\n case 4:\n return C(m, Zv(e, d.Wa(), d.va()), 5);\n case 5:\n return f = m.h, C(m, f.getManifests([d.key()]), 6);\n case 6:\n return g = m.h, h = g[0], k = new pw(d.Wa(), d.va()), l = qw(k, h), b.makeTextStreamsForClosedCaptions(l), m["return"](l);\n case 2:\n return wa(m), C(m, e.destroy(), 7);\n case 7:\n ya(m, 0);\n }\n });\n };\n r.stop = function () {\n return Promise.resolve();\n };\n r.update = function () {};\n r.onExpirationUpdated = function (a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n return d = c.g, e = new Vv(), sa(m, 2, 3), C(m, e.init(), 5);\n case 5:\n return C(m, Zv(e, d.Wa(), d.va()), 6);\n case 6:\n return f = m.h, C(m, f.getManifests([d.key()]), 7);\n case 7:\n g = m.h;\n h = g[0];\n k = h.sessionIds.includes(a);\n l = void 0 == h.expiration || h.expiration > b;\n if (!k || !l) {\n m.B(3);\n break;\n }\n return C(m, f.updateManifestExpiration(d.key(), b), 3);\n case 3:\n return wa(m), C(m, e.destroy(), 10);\n case 10:\n ya(m, 0);\n break;\n case 2:\n va(m), m.B(3);\n }\n });\n };\n r.onInitialVariantChosen = function () {};\n r.banLocation = function () {};\n Ah["application/x-offline-manifest"] = function () {\n return new vw();\n };\n function ww() {}\n function xw(a) {\n var b = ow(a);\n b && "manifest" == b.g ? (a = {\n uri: a,\n originalUri: a,\n data: new ArrayBuffer(0),\n headers: {\n "content-type": "application/x-offline-manifest"\n }\n }, a = cf(a)) : a = b && "segment" == b.g ? yw(b.key(), b) : af(new O(2, 1, 9004, a));\n return a;\n }\n function yw(a, b) {\n var c = new Vv();\n return cf(void 0).pa(function () {\n return c.init();\n }).pa(function () {\n return Zv(c, b.Wa(), b.va());\n }).pa(function (d) {\n return d.getSegments([b.key()]);\n }).pa(function (d) {\n return {\n uri: b,\n data: d[0].data,\n headers: {}\n };\n })["finally"](function () {\n return c.destroy();\n });\n }\n N("shaka.offline.OfflineScheme", ww);\n ww.plugin = xw;\n nf("offline", xw);\n function zw(a, b, c) {\n var d, e, f, g, h, k;\n return K(function (l) {\n switch (l.g) {\n case 1:\n d = [];\n for (var m = [], n = t(c), q = n.next(); !q.done; q = n.next()) {\n q = q.value;\n for (var p = !1, u = t(m), v = u.next(); !v.done;
1 v = u.next()) if (v = v.value, Aw(v.info, q)) {\n v.sessionIds.push(q.sessionId);\n p = !0;\n break;\n }\n p || m.push({\n info: q,\n sessionIds: [q.sessionId]\n });\n }\n e = t(m);\n f = e.next();\n case 2:\n if (f.done) {\n l.B(4);\n break;\n }\n g = f.value;\n h = Bw(a, b, g);\n return C(l, h, 5);\n case 5:\n k = l.h;\n d = d.concat(k);\n f = e.next();\n l.B(2);\n break;\n case 4:\n return l["return"](d);\n }\n });\n }\n function Bw(a, b, c) {\n var d, e;\n return K(function (f) {\n switch (f.g) {\n case 1:\n return d = new Kg({\n Tb: b,\n onError: function onError() {},\n Ud: function Ud() {},\n onExpirationUpdated: function onExpirationUpdated() {},\n onEvent: function onEvent() {}\n }), sa(f, 2), d.configure(a), C(f, Sg(d, c.info.keySystem, c.info.licenseUri, c.info.serverCertificate, c.info.audioCapabilities, c.info.videoCapabilities), 4);\n case 4:\n ua(f, 3);\n break;\n case 2:\n return va(f), C(f, d.destroy(), 5);\n case 5:\n return f["return"]([]);\n case 3:\n return e = [], C(f, Promise.all(c.sessionIds.map(function (g) {\n return K(function (h) {\n if (1 == h.g) return sa(h, 2), C(h, dh(d, g), 4);\n if (2 != h.g) return e.push(g), ua(h, 0);\n va(h);\n E(h);\n });\n })), 6);\n case 6:\n return C(f, d.destroy(), 7);\n case 7:\n return f["return"](e);\n }\n });\n }\n function Aw(a, b) {\n function c(d, e) {\n return d.robustness == e.robustness && d.contentType == e.contentType;\n }\n return a.keySystem == b.keySystem && a.licenseUri == b.licenseUri && ub(a.audioCapabilities, b.audioCapabilities, c) && ub(a.videoCapabilities, b.videoCapabilities, c);\n }\n ;\n function Cw(a, b, c) {\n var d = b.presentationTimeline.getDuration();\n b = Dw(b);\n return {\n offlineUri: null,\n originalManifestUri: a,\n duration: d,\n size: 0,\n expiration: Infinity,\n tracks: b,\n appMetadata: c,\n isIncomplete: !1\n };\n }\n function Ew(a, b) {\n var c = qw(new pw(a.Wa(), a.va()), b),\n d = b.appMetadata || {};\n c = Dw(c);\n return {\n offlineUri: a.toString(),\n originalManifestUri: b.originalManifestUri,\n duration: b.duration,\n size: b.size,\n expiration: b.expiration,\n tracks: c,\n appMetadata: d,\n isIncomplete: b.isIncomplete || !1\n };\n }\n function Dw(a) {\n var b = [],\n c = pe(a.variants);\n c = t(c);\n for (var d = c.next(); !d.done; d = c.next()) b.push(ge(d.value));\n a = t(a.textStreams);\n for (c = a.next(); !c.done; c = a.next()) b.push(he(c.value));\n return b;\n }\n ;\n function Fw() {\n this.g = {};\n }\n function Gw(a, b) {\n var c = b.audio,\n d = b.video;\n c && !d && (a.g[c.id] = c.bandwidth || b.bandwidth);\n !c && d && (a.g[d.id] = d.bandwidth || b.bandwidth);\n if (c && d) {\n var e = c.bandwidth || 393216,\n f = d.bandwidth || b.bandwidth - e;\n 0 >= f && (f = b.bandwidth);\n a.g[c.id] = e;
1\n a.g[d.id] = f;\n }\n }\n function Hw(a, b) {\n a.g[b.id] = b.bandwidth || 2048;\n }\n function Iw(a, b) {\n a = a.g[b];\n null == a && (a = 0);\n return a;\n }\n ;\n function Jw(a) {\n var b = this;\n if (a && a.constructor != W) throw new O(2, 9, 9008);\n this.g = this.h = null;\n a ? (this.h = a.g, this.g = a.Ob()) : (this.h = Ql(), this.g = new mf());\n this.i = [];\n this.j = [];\n var c = !a;\n this.l = new yf(function () {\n var d, e, f, g, h;\n return K(function (k) {\n switch (k.g) {\n case 1:\n return C(k, Promise.all(b.j.map(function (l) {\n return Fv(l);\n })), 2);\n case 2:\n d = function d() {};\n e = [];\n f = t(b.i);\n for (g = f.next(); !g.done; g = f.next()) h = g.value, e.push(h.then(d, d));\n return C(k, Promise.all(e), 3);\n case 3:\n if (!c) {\n k.B(4);\n break;\n }\n return C(k, b.g.destroy(), 4);\n case 4:\n b.h = null, b.g = null, E(k);\n }\n });\n });\n }\n function Kw() {\n if (rd()) a: {\n var a = t(Wv.values());\n for (var b = a.next(); !b.done; b = a.next()) if (b = b.value, b = b()) {\n b.destroy();\n a = !0;\n break a;\n }\n a = !1;\n } else a = !1;\n return a;\n }\n r = Jw.prototype;\n r.destroy = function () {\n return this.l.destroy();\n };\n r.configure = function (a, b) {\n 2 == arguments.length && "string" == typeof a && (a = Gl(a, b));\n return Sl(this.h, a);\n };\n r.getConfiguration = function () {\n var a = Ql();\n Sl(a, this.h, Ql());\n return a;\n };\n r.Ob = function () {\n return this.g;\n };\n r.store = function (a, b, c) {\n var d = this,\n e = this.getConfiguration(),\n f = new Ev(this.g);\n this.j.push(f);\n b = Lw(this, a, b || {}, function () {\n var g;\n return K(function (h) {\n if (1 == h.g) return c ? h.B(2) : C(h, Nk(a, d.g, e.manifest.retryParameters), 3);\n 2 != h.g && (c = h.h);\n g = zh(a, c || null);\n return h["return"](g());\n });\n }, e, f);\n b = new $e(b, function () {\n return Fv(f);\n });\n b["finally"](function () {\n tb(d.j, f);\n });\n return Mw(this, b);\n };\n function Lw(a, b, c, d, e, f) {\n var g, h, k, l, m, n, q, p, u, v, x, z, y, B;\n return K(function (A) {\n switch (A.g) {\n case 1:\n return Nw(), h = g = null, k = new Vv(), n = m = l = null, sa(A, 2, 3), C(A, d(), 5);\n case 5:\n return g = A.h, C(A, Ow(a, b, g, e), 6);\n case 6:\n q = A.h;\n Pw(a);\n p = !q.presentationTimeline.R() && !q.presentationTimeline.Rb();\n if (!p) throw new O(2, 9, 9005, b);\n return C(A, Qw(a, q, function (D) {\n n = n || D;\n }, e), 7);\n case 7:\n h = A.h;\n Pw(a);\n if (n) throw n;\n return C(A, Rw(q, h, e), 8);\n case 8:\n return C(A, k.init(), 9);\n case 9:\n return Pw(a), C(A, Xv(k), 10);\n case 10:\n return l = A.h, Pw(a), u = Sw(h, q, b, c, e, f), v = u.Ah, x = u.vf, C(A, l.va.addManifests([v]), 11);\n case 11:\n z = A.h;\n Pw(a);\n m = z[0];\n Pw(a);\n if (n) throw n;\n return C(A, Tw(a, x, m, v, f, e, l.va, q, h), 12);\n case 12:\n return Pw(a), Uw(q, v, h, e), C(A, l.va.updateManifest(m, v), 13);\n case 13:\n return Pw(a), y = new nw("manifest", l.path.Wa, l.path.va, m), A["return"](Ew(y, v));\n case 3:\n return wa(A), C(A, k.destroy(), 14);\n case 14:\n if (!g) {\n A.B(15);\n break;\n }\n return C(A, g.stop(), 15);\n case 15:\n if (!h) {\n A.B(17);\n break;\n }\n return C(A, h.destroy(), 17);\n case 17:\n ya(A, 0);\n break;\n case 2:\n B = va(A);\n if (null == m) {\n A.B(19);\n break;\n }\n return C(A, Vw(m), 19);\n case 19:\n throw n || B;\n }\n });\n }\n function Tw(a, b, c, d, e, f, g, h, k) {\n var l, m, n, q, p, u, v, x, z, y;\n return K(function (B) {\n switch (B.g) {\n case 1:\n l = {};\n m = 0;\n n = function n(A, D) {\n var F, J, G, H, I, L, M;\n return K(function (P) {\n if (1 == P.g) {\n F = {};\n J = t(A);\n for (G = J.next(); !G.done;
1 F = {\n Ib: F.Ib\n }, G = J.next()) F.Ib = G.value, H = Bv(F.Ib, f), I = F.Ib.i, L = F.Ib.h, M = function (V) {\n return function (X) {\n var ba, R, Oa;\n return K(function (ab) {\n if (1 == ab.g) return C(ab, g.addSegments([{\n data: X\n }]), 2);\n ba = ab.h;\n Pw(a);\n R = V.Ib.g;\n Oa = Av(R);\n l[Oa] = ba[0];\n m += X.byteLength;\n E(ab);\n });\n };\n }(F), Hv(e, F.Ib.groupId, H, I, L, M);\n return C(P, Jv(e), 2);\n }\n if (!D) return P.B(0);\n Pw(a);\n Uw(h, d, k, f);\n return C(P, g.updateManifest(c, d), 0);\n });\n };\n q = !1;\n sa(B, 2);\n if (!Ww(h) || !q || Xw(h)) {\n B.B(4);\n break;\n }\n return C(B, n(b.filter(function (A) {\n return A.h;\n }), !0), 5);\n case 5:\n return Pw(a), b = b.filter(function (A) {\n return !A.h;\n }), p = l, u = m, l = {}, m = 0, C(B, Yw(g, c, d, p, u, function () {\n return Pw(a);\n }), 6);\n case 6:\n Pw(a);\n case 4:\n if (q) {\n B.B(7);\n break;\n }\n return C(B, n(b, !1), 8);\n case 8:\n return Pw(a), v = l, x = m, l = {}, m = 0, C(B, Yw(g, c, d, v, x, function () {\n return Pw(a);\n }), 9);\n case 9:\n Pw(a);\n case 7:\n ua(B, 0);\n break;\n case 2:\n return z = va(B), y = Object.values(l), C(B, g.removeSegments(y, function () {}), 10);\n case 10:\n throw z;\n }\n });\n }\n function Vw(a) {\n var b, c, d, e;\n return K(function (f) {\n switch (f.g) {\n case 1:\n return b = new Vv(), C(f, b.init(), 2);\n case 2:\n return C(f, Xv(b), 3);\n case 3:\n return c = f.h, d = new nw("manifest", c.path.Wa, c.path.va, a), C(f, b.destroy(), 4);\n case 4:\n return e = new Jw(), C(f, e.remove(d.toString()), 0);\n }\n });\n }\n function Yw(a, b, c, d, e, f) {\n var g, h, k, l, m, n, q, p, u, v, x;\n return K(function (z) {\n switch (z.g) {\n case 1:\n g = !1;\n sa(z, 2);\n h = !0;\n k = t(c.streams);\n for (l = k.next(); !l.done; l = k.next()) for (m = l.value, n = t(m.segments), q = n.next(); !q.done; q = n.next()) p = q.value, u = p.pendingSegmentRefId ? d[p.pendingSegmentRefId] : null, null != u && (p.dataKey = u, p.pendingSegmentRefId = void 0), u = p.pendingInitSegmentRefId ? d[p.pendingInitSegmentRefId] : null, null != u && (p.initSegmentKey = u, p.pendingInitSegmentRefId = void 0), p.pendingSegmentRefId && (h = !1), p.pendingInitSegmentRefId && (h = !1);\n c.size += e;\n h && (c.isIncomplete = !1);\n return C(z, a.updateManifest(b, c), 4);\n case 4:\n g = !0;\n f();\n ua(z, 0);\n break;\n case 2:\n return v = va(z), C(z, Vw(b), 5);\n case 5:\n if (g) {\n z.B(6);\n break;\n }\n x = Object.values(d);\n return C(z, a.removeSegments(x, function () {}), 6);\n case 6:\n throw v;\n }\n });\n }\n function Rw(a, b, c) {\n var d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B, A, D, F, J, G, H, I, L, M, P, V;\n return K(function (X) {\n switch (X.g) {\n case 1:\n return d = {\n width: Infinity,\n height: Infinity\n }, Od(a, c.restrictions, d), C(X, Sd(b, a, c.offline.usePersistentLicense), 2);\n case 2:\n e = [];\n f = c.preferredDecodingAttributes;\n g = c.preferredVideoCodecs;\n h = c.preferredAudioCodecs;\n Md(a, g, h, f);\n k = t(a.variants);\n for (l = k.next(); !l.done; l = k.next()) m = l.value, e.push(ge(m));\n n = t(a.textStreams);\n for (q = n.next(); !q.done; q = n.next()) p = q.value, e.push(he(p));\n u = t(a.imageStreams);\n for (v = u.next(); !v.done; v = u.next()) x = v.value, e.push(ie(x));\n return C(X, c.offline.trackSelectionCallback(e), 3);\n case 3:\n z = X.h;\n y = a.presentationTimeline.getDuration();\n B = 0;\n A = t(z);\n for (D = A.next(); !D.done; D = A.next()) F = D.value, J = F.bandwidth * y / 8, B += J;\n sa(X, 4);\n return C(X, c.offline.downloadSizeCallback(B), 6);\n case 6:\n G = X.h;\n if (!G) throw new O(2, 9, 9014);\n ua(X, 5);\n break;\n case 4:\n H = va(X);\n if (H instanceof O) throw H;\n throw new O(2, 9, 9015);\n case 5:\n I = new Set();\n L = new Set();\n M = new Set();\n P = t(z);\n for (D = P.next(); !D.done; D = P.next()) V = D.value, "variant" == V.type && I.add(V.id), "text" == V.type && L.add(V.id), "image" == V.type && M.add(V.id);
1\n a.variants = a.variants.filter(function (ba) {\n return I.has(ba.id);\n });\n a.textStreams = a.textStreams.filter(function (ba) {\n return L.has(ba.id);\n });\n a.imageStreams = a.imageStreams.filter(function (ba) {\n return M.has(ba.id);\n });\n Zw(a);\n E(X);\n }\n });\n }\n function Sw(a, b, c, d, e, f) {\n var g = Cw(c, b, d),\n h = e.offline.progressCallback;\n Gv(f, function (p, u) {\n g.size = u;\n h(g, p);\n }, function (p, u) {\n k && e.offline.usePersistentLicense && l == u && $g(a, "cenc", p);\n });\n var k = Ww(b) && !Xw(b),\n l = null;\n k && (l = $w.get(a.g.keySystem));\n for (var m = new Fw(), n = t(b.textStreams), q = n.next(); !q.done; q = n.next()) m.g[q.value.id] = 52;\n n = t(b.imageStreams);\n for (q = n.next(); !q.done; q = n.next()) Hw(m, q.value);\n q = t(b.variants);\n for (n = q.next(); !n.done; n = q.next()) Gw(m, n.value);\n m = ax(f, m, b, e);\n f = m.streams;\n m = m.vf;\n q = a.g;\n n = e.offline.usePersistentLicense;\n q && n && (q.initData = []);\n return {\n Ah: {\n creationTime: Date.now(),\n originalManifestUri: c,\n duration: b.presentationTimeline.getDuration(),\n size: 0,\n expiration: a.Qc(),\n streams: f,\n sessionIds: n ? jh(a) : [],\n drmInfo: q,\n appMetadata: d,\n isIncomplete: !0,\n sequenceMode: b.sequenceMode,\n type: b.type\n },\n vf: m\n };\n }\n function Ww(a) {\n return a.variants.some(function (b) {\n var c = b.audio && b.audio.encrypted;\n return b.video && b.video.encrypted || c;\n });\n }\n function Xw(a) {\n return a.variants.some(function (b) {\n return (b.video ? b.video.drmInfos : []).c
1oncat(b.audio ? b.audio.drmInfos : []).some(function (c) {\n return c.initData && c.initData.length;\n });\n });\n }\n function Uw(a, b, c, d) {\n b.expiration = c.Qc();\n c = jh(c);\n b.sessionIds = d.offline.usePersistentLicense ? c : [];\n if (Ww(a) && d.offline.usePersistentLicense && !c.length) throw new O(2, 9, 9007);\n }\n r.remove = function (a) {\n return bx(this, cx(this, a));\n };\n function cx(a, b) {\n var c, d, e, f, g, h;\n return K(function (k) {\n switch (k.g) {\n case 1:\n Nw();\n c = ow(b);\n if (null == c || "manifest" != c.g) throw new O(2, 9, 9004, b);\n d = c;\n e = new Vv();\n ta(k, 2);\n return C(k, e.init(), 4);\n case 4:\n return C(k, Zv(e, d.Wa(), d.va()), 5);\n case 5:\n return f = k.h, C(k, f.getManifests([d.key()]), 6);\n case 6:\n return g = k.h, h = g[0], C(k, Promise.all([dx(a, h, e), ex(f, d, h)]), 2);\n case 2:\n return wa(k), C(k, e.destroy(), 8);\n case 8:\n ya(k, 0);\n }\n });\n }\n function fx(a, b) {\n for (var c = [], d = t(a.streams), e = d.next(); !e.done; e = d.next()) e = e.value, b && "video" == e.type ? c.push({\n contentType: Gc(e.mimeType, e.codecs),\n robustness: a.drmInfo.videoRobustness\n }) : b || "audio" != e.type || c.push({\n contentType: Gc(e.mimeType, e.codecs),\n robustness: a.drmInfo.audioRobustness\n });\n return c;\n }\n function dx(a, b, c) {\n return K(function (d) {\n return C(d, gx(a.g, a.h.drm, c, b), 0);\n });\n }\n function ex(a, b, c) {\n function d() {}\n var e = hx(c);\n Ew(b, c);\n return Promise.all([a.removeSegments(e, d), a.removeManifests([b.key()], d)]);\n }\n r.Oh = function () {\n return bx(this, ix(this));\n };\n function ix(a) {\n var b, c, d, e, f, g, h, k, l, m;\n return K(function (n) {\n switch (n.g) {\n case 1:\n return Nw(), b = a.g, c = a.h.drm, d = new Vv(), e = !1, ta(n, 2), C(n, d.init(), 4);\n case 4:\n f = [], $v(d, function (q) {\n return f.push(q);\n }), g = t(f), h = g.next();\n case 5:\n if (h.done) {\n n.B(2);\n break;\n }\n k = h.value;\n return C(n, k.getAll(), 8);\n case 8:\n return l = n.h, C(n, zw(c, b, l), 9);\n case 9:\n return m = n.h, C(n, k.remove(m), 10);\n case 10:\n m.length != l.length && (e = !0);\n h = g.next();\n n.B(5);\n break;\n case 2:\n return wa(n), C(n, d.destroy(), 11);\n case 11:\n ya(n, 3);\n break;\n case 3:\n return n["return"](!e);\n }\n });\n }\n r.list = function () {\n return bx(this, jx());\n };\n function jx() {\n var a, b, c;\n return K(function (d) {\n switch (d.g) {\n case 1:\n return Nw(), a = [], b = new Vv(), ta(d, 2), C(d, b.init(), 4);\n case 4:\n return c = Promise.resolve(), Yv(b, function (e, f) {\n c = c.then(function () {\n var g;\n return K(function (h) {\n if (1 == h.g) return C(h, f.getAllManifests(), 2);\n g = h.h;\n g.forEach(function (k, l) {\n k = Ew(new nw("manifest", e.Wa, e.va, l), k);\n a.push(k);\n });\n E(h);\n });\n });\n }), C(d, c, 2);\n case 2:\n return wa(d), C(d, b.destroy(), 6);\n case 6:\n ya(d, 3);\n break;\n case 3:\n return d["return"](a);\n }\n });\n }\n function Ow(a, b, c, d) {\n var e, f, g, h, k;\n return K(function (l) {\n if (1 == l.g) return e = null, f = a.g, g = {\n networkingEngine: f,\n filter: function filter() {\n return Promise.resolve();\n },\n makeTextStreamsForClosedCaptions: function makeTextStreamsForClosedCaptions() {},\n onTimelineRegionAdded: function onTimelineRegionAdded() {},\n onEvent: function onEvent() {},\n onError: function onError(m) {\n e = m;\n },\n isLowLatencyMode: function isLowLatencyMode() {\n return !1;\n },\n isAutoLowLatencyMode: function isAutoLowLatencyMode() {\n return !1;\n },\n enableLowLatencyMode: function enableLowLatencyMode() {},\n updateDuration: function updateDuration() {},\n newDrmInfo: function newDrmInfo() {},\n onManifestUpdated: function onManifestUpdated() {},\n getBandwidthEstimate: function getBandwidthEstimate() {\n return d.abr.defaultBandwidthEstimate;\n }\n }, c.configure(d.manifest), Pw(a), C(l, c.start(b, g), 2);\n if (3 != l.g) return h = l.h, Pw(a), k = kx(h), C(l, Promise.all(Ff(k, function (m) {\n return m.createSegmentIndex();\n })), 3);\n Pw(a);\n if (e) throw e;\n return l["return"](h);\n });\n }\n function Qw(a, b, c, d) {\n var e;\n return K(function (f) {\n return 1 == f.g ? (e = new Kg
1({\n Tb: a.g,\n onError: c,\n Ud: function Ud() {},\n onExpirationUpdated: function onExpirationUpdated() {},\n onEvent: function onEvent() {}\n }), e.configure(d.drm), C(f, Pg(e, b.variants, d.offline.usePersistentLicense), 2)) : 3 != f.g ? C(f, bh(e), 3) : f["return"](e);\n });\n }\n function ax(a, b, c, d) {\n var e = new Map(),\n f = kx(c),\n g = new Map();\n f = t(f);\n for (var h = f.next(); !h.done; h = f.next()) {\n h = h.value;\n var k = lx(a, b, c, h, d, e);\n g.set(h.id, k);\n }\n a = t(c.variants);\n for (b = a.next(); !b.done; b = a.next()) b = b.value, b.audio && g.get(b.audio.id).variantIds.push(b.id), b.video && g.get(b.video.id).variantIds.push(b.id);\n return {\n streams: Array.from(g.values()),\n vf: Array.from(e.values())\n };\n }\n function lx(a, b, c, d, e, f) {\n var g = {\n id: d.id,\n originalId: d.originalId,\n groupId: d.groupId,\n primary: d.primary,\n type: d.type,\n mimeType: d.mimeType,\n codecs: d.codecs,\n frameRate: d.frameRate,\n pixelAspectRatio: d.pixelAspectRatio,\n hdr: d.hdr,\n videoLayout: d.videoLayout,\n kind: d.kind,\n language: d.language,\n originalLanguage: d.originalLanguage,\n label: d.label,\n width: d.width || null,\n height: d.height || null,\n encrypted: d.encrypted,\n keyIds: d.keyIds,\n segments: [],\n variantIds: [],\n roles: d.roles,\n forced: d.forced,\n channelsCount: d.channelsCount,\n audioSamplingRate: d.audioSamplingRate,\n spatialAudio: d.spatialAudio,\n closedCaptions: d.closedCaptions,\n tilesLayout: d.tilesLayout,\n external: d.external,\n fastSwitching: d.fastSwitching\n },\n h = e.offline.numberOfParallelDownloads,\n k = 0;\n mx(d, c.presentationTimeline.eb(), function (l) {\n var m = Av(l),\n n = void 0;\n if (!f.has(m)) {\n var q = l.endTime - l.startTime;\n q = Iw(b, d.id) * q;\n q = Dv(a.g, q);\n f.set(m, new zv(l, q, k, !1));\n }\n l.aa && (n = Av(l.aa), f.has(n) || (q = .5 * Iw(b, d.id), q = Dv(a.g, q), f.set(n, new zv(l.aa, q, k, !0))));\n g.segments.push({\n pendingInitSegmentRefId: n,\n initSegmentKey: n ? 0 : null,\n startTime: l.startTime,\n endTime: l.endTime,\n appendWindowStart: l.appendWindowStart,\n appendWindowEnd: l.appendWindowEnd,\n timestampOffset: l.timestampOffset,\n tilesLayout: l.tilesLayout,\n pendingSegmentRefId: m,\n dataKey: 0\n });\n k = (k + 1) % h;\n });\n return g;\n }\n function mx(a, b, c) {\n b = a.segmentIndex.find(b);\n if (null != b) for (var d = a.segmentIndex.get(b); d;) c(d), d = a.segmentIndex.get(++b);\n }\n function Pw(a) {\n if (a.l.g) throw new O(2, 9, 7001);\n }\n function Nw() {\n if (!Kw()) throw new O(2, 9, 9E3);\n }\n function bx(a, b) {\n return K(function (c) {\n if (1 == c.g) return a.i.push(b), ta(c, 2), C(c, b, 4);\n if (2 != c.g) return c["return"](c.h);\n wa(c);\n tb(a.i, b);\n return ya(c, 0);\n });\n }\n function Mw(a, b) {\n var c = b.promise;\n a.i.push(c);\n return b["finally"](function () {\n tb(a.i, c);\n });\n }\n function hx(a) {\n var b = new Set();\n a = t(a.streams);\n for (var c = a.next(); !c.done; c = a.next()) {\n c = t(c.value.segments);\n for (var d = c.next(); !d.done; d = c.next()) d = d.value, null != d.initSegmentKey && b.add(d.initSegmentKey), b.add(d.dataKey);\n }\n return Array.from(b);\n }\n function gx(a, b, c, d) {\n var e, f, g;\n return K(function (h) {\n if (1 == h.g) {\n if (!d.drmInfo) return h["return"]();\n e = aw(c);\n f = d.sessionIds.map(function (k) {\n return {\n sessionId: k,\n keySystem: d.drmInfo.keySystem,\n licenseUri: d.drmInfo.licenseServerUri,\n serverCertificate: d.drmInfo.serverCertificate,\n audioCapabilities: fx(d, !1),\n videoCapabilities: fx(d, !0)\n };\n });\n return C(h, zw(b, a, f), 2);\n }\n return 3 != h.g ? (g = h.h, C(h, e.remove(g), 3)) : C(h, e.add(f.filter(function (k) {\n return !g.includes(k.sessionId);\n })), 0);\n });\n }\n function kx(a) {\n for (var b = new Set(), c = t(a.textStreams), d = c.next(); !d.done; d = c.next()) b.add(d.value);\n c = t(a.imageStreams);\n for (d = c.next(); !d.done; d = c.next()) b.add(d.value);\n a = t(a.variants);\n for (c = a.next(); !c.done; c = a.next()) c = c.value, c.audio && b.add(c.audio), c.video && b.add(c.video);\n return b;\n }\n function Zw(a) {\n a.variants.map(function (f) {\n return f.video;\n });\n var b = new Set(a.variants.map(function (f) {\n return f.audio;\n }));\n a = a.textStreams;\n for (var c = t(b), d = c.next(); !d.done; d = c.next()) {\n d = t(b);\n for (var e = d.next(); !e.done; e = d.next());\n }\n b = t(a);\n for (c = b.next(); !c.done;
1 c = b.next()) for (c = t(a), d = c.next(); !d.done; d = c.next());\n }\n N("shaka.offline.Storage", Jw);\n Jw.deleteAll = function () {\n var a;\n return K(function (b) {\n return 1 == b.g ? (a = new Vv(), ta(b, 2), C(b, bw(a), 2)) : 5 != b.g ? (wa(b), C(b, a.destroy(), 5)) : ya(b, 0);\n });\n };\n Jw.prototype.list = Jw.prototype.list;\n Jw.prototype.removeEmeSessions = Jw.prototype.Oh;\n Jw.prototype.remove = Jw.prototype.remove;\n Jw.prototype.store = Jw.prototype.store;\n Jw.prototype.getNetworkingEngine = Jw.prototype.Ob;\n Jw.prototype.getConfiguration = Jw.prototype.getConfiguration;\n Jw.prototype.configure = Jw.prototype.configure;\n Jw.prototype.destroy = Jw.prototype.destroy;\n Jw.support = Kw;\n var $w = new Map().set("org.w3.clearkey", "1077efecc0b24d02ace33c1e52e2fb4b").set("com.widevine.alpha", "edef8ba979d64acea3c827dcd51d21ed").set("com.microsoft.playready", "9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.recommendation", "9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.software", "9a04f07998404286ab92e65be0885f95").set("com.microsoft.playready.hardware", "9a04f07998404286ab92e65be0885f95").set("com.adobe.primetime", "f239e769efa348509c16a903c6932efb");\n zn.offline = Kw;\n function nx() {}\n function ox(a, b) {\n a = {\n priority: b || 0,\n callback: a\n };\n for (b = 0; b < px.length; b++) if (px[b].priority < a.priority) {\n px.splice(b, 0, a);\n return;\n }\n px.push(a);\n }\n N("shaka.polyfill", nx);\n nx.register = ox;\n nx.installAll = function () {\n for (var a = t(px), b = a.next(); !b.done; b = a.next()) {\n b = b.value;\n try {\n b.callback();\n } catch (c) {\n Sa("Error installing polyfill!", c);\n }\n }\n };\n var px = [];\n function qx() {\n this.g = new rx();\n }\n function sx() {\n window.AbortController || (window.AbortController = qx, window.AbortSignal = rx);\n }\n qx.prototype.abort = function (a) {\n var b = this.g;\n if (!b.h) {\n b.h = !0;\n b.g = a;\n void 0 === b.g && (b.g = new DOMException("signal is aborted without reason", "AbortError"));\n a = new Q("abort");\n if (b.onabort) b.onabort(a);\n b.dispatchEvent(a);\n }\n };\n ea.Object.defineProperties(qx.prototype, {\n signal: {\n configurable: !0,\n enumerable: !0,\n get: function get() {\n return this.g;\n }\n }\n });\n nx.AbortController = qx;\n qx.install = sx;\n function rx() {\n jf.call(this);\n this.h = !1;\n this.g = void 0;\n this.onabort = null;\n }\n oa(rx, jf);\n ea.Object.defineProperties(rx.prototype, {\n aborted: {\n configurable: !0,\n enumerable: !0,\n get: function get() {\n return this.h;\n }\n },\n reason: {\n configurable: !0,\n enumerable: !0,\n get: function get() {\n return this.g;\n }\n }\n });\n ox(sx);\n function tx() {}\n function ux() {\n if (!Object.getOwnPropertyDescriptor(Element.prototype, "ariaHidden")) for (var a = t(["ariaHidden", "ariaLabel", "ariaPressed", "ariaSelected"]), b = a.next(); !b.done; b = a.next()) vx(b.value);\n }\n function vx(a) {\n var b = "aria-" + a.toLowerCase().replace(/^aria/, "");\n Object.defineProperty(Element.prototype, a, {\n get: function get() {\n return this.getAttribute(b);\n },\n set: function set(c) {\n null == c || void 0 == c ? this.removeAttribute(b) : this.setAttribute(b, c);\n }\n });\n }\n nx.Aria = tx;\n tx.install = ux;\n ox(ux);\n function wx() {}\n function xx() {\n yx();\n }\n nx.EncryptionScheme = wx;\n wx.install = xx;\n ox(xx, -2);\n function zx() {}\n function Ax() {\n if (window.Document) {\n var a = Element.prototype;\n a.requestFullscreen = a.requestFullscreen || a.mozRequestFullScreen || a.msRequestFullscreen || a.webkitRequestFullscreen;\n a = Document.prototype;\n a.exitFullscreen = a.exitFullscreen || a.mozCancelFullScreen || a.msExitFullscreen || a.webkitCancelFullScreen;\n "fullscreenElement" in document || (Object.defineProperty(document, "fullscreenElement", {\n get: function get() {\n return document.mozFullScreenElement || document.msFullscreenElement || document.webkitCurrentFullScreenElement || document.webkitFullscreenElement;\n }\n }), Object.defineProperty(document, "fullscreenEnabled", {\n get: function get() {\n return document.mozFullScreenEnabled || document.msFullscreenEnabled || document.webkitFullscreenEnabled;\n }\n }));\n document.addEventListener("webkitfullscreenchange", Bx);\n document.addEventListener("webkitfullscreenerror", Bx);\n document.addEventListener("mozfullscreenchange", Bx);\n document.addEventListener("mozfullscreenerror", Bx);\n document.addEventListener("MSFullscreenChange", Bx);\n document.addEventListener("MSFullscreenError", Bx);\n }\n }\n function Bx(a) {\n var b = a.type.replace(/^(webkit|moz|MS)/, "").toLowerCase(),\n c = document.createEvent("Event");\n c.initEvent(b, a.bubbles, a.cancelable);\n a.target.dispatchEvent(c);\n }\n nx.Fullscreen = zx;\n zx.install = Ax;\n ox(Ax);\n function Cx() {}\n function Dx() {\n var a = !0;\n if (Cd() || wd("PlayStation 5") || Dd() || wd("Web0S") || xd() || Bd() || wd("PC=EOS") || wd("Hisense") || wd("VIDAA")) a = !1;\n a && navigator.mediaCapabilities || (navigator.mediaCapabilities || (navigator.mediaCapabilities = {}), Ex = navigator.mediaCapabilities, navigator.mediaCapabilities.decodingInfo = Fx);\n }\n function Fx(a) {\n var b, c, d, e, f, g, h, k, l, m, n, q, p, u, v, x, z, y, B;\n return K(function (A) {\n switch (A.g) {\n case 1:\n b = {\
1n supported: !1,\n powerEfficient: !0,\n smooth: !0,\n keySystemAccess: null,\n configuration: a\n };\n if (!a) return A["return"](b);\n c = a.video;\n d = a.audio;\n if ("media-source" == a.type) {\n if (!rd()) return A["return"](b);\n if (c) {\n if (Bd()) {\n if (window.cast && cast.__platform__ && cast.__platform__.canDisplayType) {\n var D = c.contentType;\n c.width && c.height && (D += "; width=" + c.width + "; height=" + c.height);\n c.framerate && (D += "; framerate=" + c.framerate);\n "pq" === c.transferFunction && (D += "; eotf=smpte2084");\n e = cast.__platform__.canDisplayType(D);\n } else e = Za(c.contentType);\n } else xd() ? (f = c.contentType, c.width && c.height && (f += "; width=" + c.width, f += "; height=" + c.height), c.framerate && (f += "; framerate=" + c.framerate), c.bitrate && (f += "; bitrate=" + c.bitrate), e = Za(f)) : e = Za(c.contentType);\n if (!e) return A["return"](b);\n }\n if (d && (Bd() && d.spatialRendering ? (h = d.contentType + "; spatialRendering=true", g = Za(h)) : g = Za(d.contentType), !g)) return A["return"](b);\n } else if ("file" == a.type) {\n if (c && (k = c.contentType, l = sd(k), !l) || d && (m = d.contentType, n = sd(m), !n)) return A["return"](b);\n } else return A["return"](b);\n if (!a.keySystemConfiguration) return b.supported = !0, A["return"](Promise.resolve(b));\n q = a.keySystemConfiguration;\n p = [];\n u = [];\n q.audio && (v = {\n robustness: q.audio.robustness || "",\n contentType: a.audio.contentType\n }, xd() && a.audio.contentType.includes(\'codecs="ac-3"\') && (v = {\n robustness: v.robustness,\n contentType: \'audio/mp4; codecs="ec-3"\'\n }), p.push(v));\n q.video && (x = {\n robustness: q.video.robustness || "",\n contentType: a.video.contentType\n }, u.push(x));\n z = {\n initDataTypes: [q.initDataType],\n distinctiveIdentifier: q.distinctiveIdentifier,\n persistentState: q.persistentState,\n sessionTypes: q.sessionTypes\n };\n p.length && (z.audioCapabilities = p);\n u.length && (z.videoCapabilities = u);\n y = (a.video ? a.video.contentType : "") + "#" + (a.audio ? a.audio.contentType : "") + "#" + a.keySystemConfiguration.keySystem;\n sa(A, 3);\n if (y in Gx) {\n B = Gx[y];\n A.B(5);\n break;\n }\n return C(A, navigator.requestMediaKeySystemAccess(q.keySystem, [z]), 6);\n case 6:\n B = A.h, Gx[y] = B;\n case 5:\n ua(A, 4);\n break;\n case 3:\n va(A);\n case 4:\n B && (b.supported = !0, b.keySystemAccess = B);\n case 2:\n return A["return"](b);\n }\n });\n }\n nx.MediaCapabilities = Cx;\n Cx.install = Dx;\n var Ex = null;\n Cx.originalMcap = Ex;\n var Gx = {};\n Cx.memoizedMediaKeySystemAccessRequests_ = Gx;\n ox(Dx, -1);\n function Hx() {}\n function Ix() {\n var a = Id();\n window.MediaSource && (Bd() ? Jx() : a ? 10 >= a ? window.MediaSource = null : 12 >= a ? (Kx(), Lx()) : 15 >= a && Kx() : ud() ? Jx() : (zd() || yd() || wd("Tizen 4")) && Mx());\n window.MediaSource && MediaSource.isTypeSupported(\'video/webm; codecs="vp9"\') && !MediaSource.isTypeSupported(\'video/webm; codecs="vp09.00.10.08"\') && Nx();\n }\n function Kx() {\n var a = MediaSource.prototype.addSourceBuffer;\n MediaSource.prototype.addSourceBuffer = function () {\n var b = a.apply(this, Fa.apply(0, arguments));\n b.abort = function () {};\n return b;\n };\n }\n function Lx() {\n var a = SourceBuffer.prototype.remove;\n SourceBuffer.prototype.remove = function (b, c) {\n return a.call(this, b, c - .001);\n };\n }
1\n function Jx() {\n var a = MediaSource.isTypeSupported;\n MediaSource.isTypeSupported = function (b) {\n return "mp2t" != b.split(";")[0].split("/")[1] && a(b);\n };\n }\n function Mx() {\n var a = MediaSource.isTypeSupported;\n MediaSource.isTypeSupported = function (b) {\n return "opus" != Mc(b) && a(b);\n };\n }\n function Nx() {\n var a = MediaSource.isTypeSupported;\n wd("Web0S") || (MediaSource.isTypeSupported = function (b) {\n var c = b.split(/ *; */),\n d = c.findIndex(function (g) {\n return g.startsWith("codecs=");\n });\n if (0 > d) return a(b);\n var e = c[d].replace("codecs=", "").replace(/"/g, "").split(/\\s*,\\s*/),\n f = e.findIndex(function (g) {\n return g.startsWith("vp09");\n });\n 0 <= f && (e[f] = "vp9", c[d] = \'codecs="\' + e.join(",") + \'"\', b = c.join("; "));\n return a(b);\n });\n }\n nx.MediaSource = Hx;\n Hx.install = Ix;\n ox(Ix);\n function Ox() {}\n function Px() {\n screen.orientation && screen.orientation.unlock || (void 0 != screen.orientation ? Qx() : void 0 != window.orientation && Rx());\n }\n function Qx() {\n void 0 === screen.orientation.lock && (screen.orientation.lock = function () {\n return Promise.resolve();\n });\n void 0 === screen.orientation.unlock && (screen.orientation.unlock = function () {});\n }\n function Rx() {\n function a() {\n switch (window.orientation) {\n case -90:\n b.type = "landscape-secondary";\n b.angle = 270;\n break;\n case 0:\n b.type = "portrait-primary";\n b.angle = 0;\n break;\n case 90:\n b.type = "landscape-primary";\n b.angle = 90;\n break;\n case 180:\n b.type = "portrait-secondary", b.angle = 180;\n }\n }\n var b = new Sx();\n screen.orientation = b;\n a();\n window.addEventListener("orientationchange", function () {\n a();\n var c = new Q("change");\n b.dispatchEvent(c);\n });\n }\n nx.Orientation = Ox;\n Ox.install = Px;\n function Sx() {\n jf.call(this);\n this.type = "";\n this.angle = 0;\n }\n oa(Sx, jf);\n Sx.prototype.lock = function (a) {\n function b(d) {\n return screen.lockOrientation ? screen.lockOrientation(d) : screen.mozLockOrientation ? screen.mozLockOrientation(d) : screen.msLockOrientation ? screen.msLockOrientation(d) : !1;\n }\n var c = !1;\n switch (a) {\n case "natural":\n c = b("default");\n break;\n case "any":\n c = !0;\n this.unlock();\n break;\n default:\n c = b(a);\n }\n if (c) return Promise.resolve();\n a = Error("screen.orientation.lock() is not available on this device");\n a.name = "NotSupportedError";\n a.code = DOMException.NOT_SUPPORTED_ERR;\n return Promise.reject(a);\n };\n Sx.prototype.unlock = function () {\n screen.unlockOrientation ? screen.unlockOrientation() : screen.mozUnlockOrientation ? screen.mozUnlockOrientation() : screen.msUnlockOrientation && screen.msUnlockOrientation();\n };\n ox(Px);\n function Tx() {}\n var Ux, Vx, Wx, Xx, Yx, Zx;\n function $x(a, b) {\n try {\n var c = new ay(a, b);\n return Promise.resolve(c);\n } catch (d) {\n return Promise.reject(d);\n }\n }\n function by(a) {\n var b = this.mediaKeys;\n b && b != a && cy(b, null);\n delete this.mediaKeys;\n return (this.mediaKeys = a) ? cy(a, this) : Promise.resolve();\n }\n function dy(a) {\n a = hb(a.initData);\n if (nb(a).getUint32(0, !0) + 4 != a.byteLength) throw new RangeError("Malformed FairPlay init data");\n a = Of(a.subarray(4), !0);\n a = Rf(a);\n var b = new Event("encrypted");\n b.initDataType = "skd";\n b.initData = kb(a);\n this.dispatchEvent(b);\n }\n nx.PatchedMediaKeysApple = Tx;\n Tx.uninstall = function () {\n Ux && (Ux = !1, Object.defineProperty(HTMLMediaElement.prototype, "mediaKeys", Vx), HTMLMediaElement.prototype.setMediaKeys = Wx, window.MediaKeys = Xx, window.MediaKeySystemAccess = Yx, navigator.requestMediaKeySystemAccess = Zx, Vx = Zx = Wx = Yx = Xx = null, window.shakaMediaKeysPolyfill = !1);\n };\n Tx.install = function (a) {\n if (window.HTMLVideoElement && window.WebKitMediaKeys) {\n if (void 0 === a ? 0 : a) Ux = !0, Vx = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, "mediaKeys"), Wx = HTMLMediaElement.prototype.setMediaKeys, Xx = window.MediaKeys, Yx = window.MediaKeySystemAccess, Zx = navigator.requestMediaKeySystemAccess;\n delete HTMLMediaElement.prototype.mediaKeys;\n HTMLMediaElement.prototype.mediaKeys = null;\n HTMLMediaElement.prototype.setMediaKeys = by;\n window.MediaKeys = ey;\n window.MediaKeySystemAccess = ay;\n navigator.requestMediaKeySystemAccess = $x;\n window.shakaMediaKeysPolyfill = !0;\n }\n };\n function ay(a, b) {\n this.keySystem = a;\n if (a.startsWith("com.apple.fps")) for (a = t(b), b = a.next(); !b.done; b = a.next()) {\n var c = b.value;\n if ("required" == c.persistentState) b = null;
1else {\n b = {\n audioCapabilities: [],\n videoCapabilities: [],\n persistentState: "optional",\n distinctiveIdentifier: "optional",\n initDataTypes: c.initDataTypes,\n sessionTypes: ["temporary"],\n label: c.label\n };\n var d = !1,\n e = !1;\n if (c.audioCapabilities) for (var f = t(c.audioCapabilities), g = f.next(); !g.done; g = f.next()) g = g.value, g.contentType && (d = !0, WebKitMediaKeys.isTypeSupported(this.keySystem, g.contentType.split(";")[0]) && (b.audioCapabilities.push(g), e = !0));\n if (c.videoCapabilities) for (c = t(c.videoCapabilities), g = c.next(); !g.done; g = c.next()) f = g.value, f.contentType && (d = !0, WebKitMediaKeys.isTypeSupported(this.keySystem, f.contentType.split(";")[0]) && (b.videoCapabilities.push(f), e = !0));\n d || (e = WebKitMediaKeys.isTypeSupported(this.keySystem, "video/mp4"));\n b = e ? b : null;\n }\n if (b) {\n this.g = b;\n return;\n }\n }\n a = Error("Unsupported keySystem");\n a.name = "NotSupportedError";\n a.code = DOMException.NOT_SUPPORTED_ERR;\n throw a;\n }\n ay.prototype.createMediaKeys = function () {\n var a = new ey(this.keySystem);\n return Promise.resolve(a);\n };\n ay.prototype.getConfiguration = function () {\n return this.g;\n };\n function ey(a) {\n this.h = new WebKitMediaKeys(a);\n this.g = new Af();\n }\n ey.prototype.createSession = function (a) {\n a = a || "temporary";\n if ("temporary" != a) throw new TypeError("Session type " + a + " is unsupported on this platform.");\n return new fy(this.h, a);\n };\n ey.prototype.setServerCertificate = function () {\n return Promise.resolve(!1);\n };\n function cy(a, b) {\n a.g.Za();\n if (!b) return Promise.resolve();\n a.g.D(b, "webkitneedkey", dy);\n try {\n return qj(b, HTMLMediaElement.HAVE_METADATA, a.g, function () {\n b.webkitSetMediaKeys(a.h);\n }), Promise.resolve();\n } catch (c) {\n return Promise.reject(c);\n }\n }\n ey.prototype.getStatusForPolicy = function () {\n return Promise.resolve("usable");\n };\n function fy(a) {\n jf.call(this);\n this.i = null;\n this.l = a;\n this.g = this.h = null;\n this.j = new Af();\n this.sessionId = "";\n this.expiration = NaN;\n this.closed = new Ze();\n this.keyStatuses = new gy();\n }\n oa(fy, jf);\n r = fy.prototype;\n r.generateRequest = function (a, b) {\n var c = this;\n this.h = new Ze();\n try {\n var d = this.l.createSession("video/mp4", hb(b));\n this.i = d;\n this.sessionId = d.sessionId || "";\n this.j.D(this.i, "webkitkeymessage", function (e) {\n c.h && (c.h.resolve(), c.h = null);\n e = new Map().set("messageType", void 0 == c.keyStatuses.Pb() ? "license-request" : "license-renewal").set("message", kb(e.message));\n e = new Q("message", e);\n c.dispatchEvent(e);\n });\n this.j.D(d, "webkitkeyadded", function () {\n c.g && (hy(c, "usable"), c.g.resolve(), c.g = null);\n });\n this.j.D(d, "webkitkeyerror", function () {\n var e = Error("EME PatchedMediaKeysApple key error");\n e.errorCode = c.i.error;\n if (null != c.h) c.h.reject(e), c.h = null;else if (null != c.g) c.g.reject(e), c.g = null;else switch (c.i.error.code) {\n case WebKitMediaKeyError.MEDIA_KEYERR_OUTPUT:\n case WebKitMediaKeyError.MEDIA_KEYERR_HARDWARECHANGE:\n hy(c, "output-not-allowed");\n break;\n default:\n hy(c, "internal-error");\n }\n });\n hy(this, "status-pending");\n } catch (e) {\n this.h.reject(e);\n }\n return this.h;\n };\n r.load = function () {\n return Promise.reject(Error("MediaKeySession.load not yet supported"));\n };\n r.update = function (a) {\n this.g = new Ze();
1\n try {\n this.i.update(hb(a));\n } catch (b) {\n this.g.reject(b);\n }\n return this.g;\n };\n r.close = function () {\n try {\n this.i.close(), this.closed.resolve(), this.j.Za();\n } catch (a) {\n this.closed.reject(a);\n }\n return this.closed;\n };\n r.remove = function () {\n return Promise.reject(Error("MediaKeySession.remove is only applicable for persistent licenses, which are not supported on this platform"));\n };\n function hy(a, b) {\n var c = a.keyStatuses;\n c.size = void 0 == b ? 0 : 1;\n c.g = b;\n b = new Q("keystatuseschange");\n a.dispatchEvent(b);\n }\n function gy() {\n this.size = 0;\n this.g = void 0;\n }\n r = gy.prototype;\n r.Pb = function () {\n return this.g;\n };\n r.forEach = function (a) {\n this.g && a(this.g, xh.value());\n };\n r.get = function (a) {\n if (this.has(a)) return this.g;\n };\n r.has = function (a) {\n var b = xh.value();\n return this.g && fb(a, b) ? !0 : !1;\n };\n r.entries = function () {};\n r.keys = function () {};\n r.values = function () {};\n function iy() {}\n function jy() {\n !window.HTMLVideoElement || navigator.requestMediaKeySystemAccess && MediaKeySystemAccess.prototype.getConfiguration || (navigator.requestMediaKeySystemAccess = ky, delete HTMLMediaElement.prototype.mediaKeys, HTMLMediaElement.prototype.mediaKeys = null, HTMLMediaElement.prototype.setMediaKeys = ly, window.MediaKeys = my, window.MediaKeySystemAccess = ny, window.shakaMediaKeysPolyfill = !0);\n }\n function ky() {\n return Promise.reject(Error("The key system specified is not supported."));\n }\n function ly(a) {\n return null == a ? Promise.resolve() : Promise.reject(Error("MediaKeys not supported."));\n }\n nx.PatchedMediaKeysNop = iy;\n iy.install = jy;\n function my() {\n throw new TypeError("Illegal constructor.");\n }\n my.prototype.createSession = function () {};\n my.prototype.setServerCertificate = function () {};\n my.prototype.getStatusForPolicy = function () {\n return Promise.resolve("usable");\n };\n function ny() {\n this.keySystem = "";\n throw new TypeError("Illegal constructor.");\n }\n ny.prototype.getConfiguration = function () {};\n ny.prototype.createMediaKeys = function () {};\n ox(jy, -10);\n function oy() {}\n function py() {\n if (!(!window.HTMLVideoElement || navigator.requestMediaKeySystemAccess && MediaKeySystemAccess.prototype.getConfiguration)) {\n if (HTMLMediaElement.prototype.webkitGenerateKeyRequest) qy = "webkit";else if (!HTMLMediaElement.prototype.generateKeyRequest) return;\n navigator.requestMediaKeySystemAccess = ry;\n delete HTMLMediaElement.prototype.mediaKeys;\n HTMLMediaElement.prototype.mediaKeys = null;\n HTMLMediaElement.prototype.setMediaKeys = sy;\n window.MediaKeys = ty;\n window.MediaKeySystemAccess = uy;\n window.shakaMediaKeysPolyfill = !0;\n }\n }\n function vy(a) {\n var b = qy;\n return b ? b + a.charAt(0).toUpperCase() + a.slice(1) : a;\n }\n function ry(a, b) {\n try {\n var c = new uy(a, b);\n return Promise.resolve(c);\n } catch (d) {\n return Promise.reject(d);\n }\n }\n function sy(a) {\n var b = this.mediaKeys;\n b && b != a && wy(b, null);\n delete this.mediaKeys;\n (this.mediaKeys = a) && wy(a, this);\n return Promise.resolve();\n }\n nx.PatchedMediaKeysWebkit = oy;\n oy.install = py;\n function uy(a, b) {\n this.g = this.keySystem = a;\n var c = !1;\n "org.w3.clearkey" == a && (this.g = "webkit-org.w3.clearkey", c = !1);\n var d = !1;\n var e = document.getElementsByTagName("video");\n e = e.length ? e[0] : document.createElement("video");\n b = t(b);\n for (var f = b.next(); !f.done; f = b.next()) {\n f = f.value;
1\n var g = {\n audioCapabilities: [],\n videoCapabilities: [],\n persistentState: "optional",\n distinctiveIdentifier: "optional",\n initDataTypes: f.initDataTypes,\n sessionTypes: ["temporary"],\n label: f.label\n },\n h = !1;\n if (f.audioCapabilities) for (var k = t(f.audioCapabilities), l = k.next(); !l.done; l = k.next()) l = l.value, l.contentType && (h = !0, e.canPlayType(l.contentType.split(";")[0], this.g) && (g.audioCapabilities.push(l), d = !0));\n if (f.videoCapabilities) for (k = t(f.videoCapabilities), l = k.next(); !l.done; l = k.next()) l = l.value, l.contentType && (h = !0, e.canPlayType(l.contentType, this.g) && (g.videoCapabilities.push(l), d = !0));\n h || (d = e.canPlayType("video/mp4", this.g) || e.canPlayType("video/webm", this.g));\n "required" == f.persistentState && (c ? (g.persistentState = "required", g.sessionTypes = ["persistent-license"]) : d = !1);\n if (d) {\n this.h = g;\n return;\n }\n }\n c = "Unsupported keySystem";\n if ("org.w3.clearkey" == a || "com.widevine.alpha" == a) c = "None of the requested configurations were supported.";\n a = Error(c);\n a.name = "NotSupportedError";\n a.code = DOMException.NOT_SUPPORTED_ERR;\n throw a;\n }\n uy.prototype.createMediaKeys = function () {\n var a = new ty(this.g);\n return Promise.resolve(a);\n };\n uy.prototype.getConfiguration = function () {\n return this.h;\n };\n function ty(a) {\n this.l = a;\n this.h = null;\n this.g = new Af();\n this.i = [];\n this.j = new Map();\n }\n function wy(a, b) {\n a.h = b;\n a.g.Za();\n var c = qy;\n b && (a.g.D(b, c + "needkey", function (d) {\n var e = new CustomEvent("encrypted");\n e.initDataType = "cenc";\n e.initData = kb(d.initData);\n a.h.dispatchEvent(e);\n }), a.g.D(b, c + "keymessage", function (d) {\n var e = xy(a, d.sessionId);\n e && (d = new Map().set("messageType", void 0 == e.keyStatuses.Pb() ? "licenserequest" : "licenserenewal").set("message", d.message), d = new Q("message", d), e.h && (e.h.resolve(), e.h = null), e.dispatchEvent(d));\n }), a.g.D(b, c + "keyadded", function (d) {\n if (d = xy(a, d.sessionId)) yy(d, "usable"), d.g && d.g.resolve(), d.g = null;\n }), a.g.D(b, c + "keyerror", function (d) {\n var e = xy(a, d.sessionId);\n if (e) {\n var f = Error("EME v0.1b key error"),\n g = d.errorCode;\n g.systemCode = d.systemCode;\n f.errorCode = g;\n !d.sessionId && e.h ? (45 == d.systemCode && (f.message = "Unsupported session type."), e.h.reject(f), e.h = null) : d.sessionId && e.g ? (e.g.reject(f), e.g = null) : (f = d.systemCode, d.errorCode.code == MediaKeyError.MEDIA_KEYERR_OUTPUT ? yy(e, "output-restricted") : 1 == f ? yy(e, "expired") : yy(e, "internal-error"));\n }\n }));\n }\n ty.prototype.createSession = function (a) {\n a = a || "temporary";\n if ("temporary" != a && "persistent-license" != a) throw new TypeError("Session type " + a + " is unsupported on this platform.");\n var b = this.h || document.createElement("video");\n b.src || (b.src = "about:blank");\n a = new zy(b, this.l, a);\n this.i.push(a);\n return a;\n };\n ty.prototype.setServerCertificate = function () {\n return Promise.resolve(!1);\n };\n ty.prototype.getStatusForPolicy = function () {\n return Promise.resolve("usable");\n };\n function xy(a, b) {\n var c = a.j.get(b);\n return c ? c : (c = a.i.shift()) ? (c.sessionId = b, a.j.set(b, c), c) : null;\n }\n function zy(a, b, c) {\n jf.call(this);\n this.j = a;\n this.m = !1;\n this.g = this.h = null;\n this.i = b;\n this.l = c;\n this.sessionId = "";\n this.expiration = NaN;\n this.closed = new Ze();\n this.keyStatuses = new Ay();\n }\n oa(zy, jf);\n function By(a, b, c) {\n if (a.m) return Promise.reject(Error("The session is already initialized."));\n a.m = !0;
1\n try {\n if ("persistent-license" == a.l) {\n if (c) var d = hb(Rf("LOAD_SESSION|" + c));else {\n var e = Rf("PERSISTENT|");\n d = lg(e, b);\n }\n } else d = hb(b);\n } catch (g) {\n return Promise.reject(g);\n }\n a.h = new Ze();\n var f = vy("generateKeyRequest");\n try {\n a.j[f](a.i, d);\n } catch (g) {\n if ("InvalidStateError" != g.name) return a.h = null, Promise.reject(g);\n new qd(function () {\n try {\n a.j[f](a.i, d);\n } catch (h) {\n a.h.reject(h), a.h = null;\n }\n }).U(.01);\n }\n return a.h;\n }\n function Cy(a, b, c) {\n if (a.g) a.g.then(function () {\n return Cy(a, b, c);\n })["catch"](function () {\n return Cy(a, b, c);\n });else {\n a.g = b;\n if ("webkit-org.w3.clearkey" == a.i) {\n var d = Nf(c);\n var e = JSON.parse(d);\n "oct" != e.keys[0].kty && (a.g.reject(Error("Response is not a valid JSON Web Key Set.")), a.g = null);\n d = ig(e.keys[0].k);\n e = ig(e.keys[0].kid);\n } else d = hb(c), e = null;\n var f = vy("addKey");\n try {\n a.j[f](a.i, d, e, a.sessionId);\n } catch (g) {\n a.g.reject(g), a.g = null;\n }\n }\n }\n function yy(a, b) {\n var c = a.keyStatuses;\n c.size = void 0 == b ? 0 : 1;\n c.g = b;\n b = new Q("keystatuseschange");\n a.dispatchEvent(b);\n }\n r = zy.prototype;\n r.generateRequest = function (a, b) {\n return By(this, b, null);\n };\n r.load = function (a) {\n return "persistent-license" == this.l ? By(this, null, a) : Promise.reject(Error("Not a persistent session."));\n };\n r.update = function (a) {\n var b = new Ze();\n Cy(this, b, a);\n return b;\n };\n r.close = function () {\n if ("persistent-license" != this.l) {\n if (!this.sessionId) return this.closed.reject(Error("The session is not callable.")), this.closed;\n var a = vy("cancelKeyRequest");\n try {\n this.j[a](this.i, this.sessionId);\n } catch (b) {}\n }\n this.closed.resolve();\n return this.closed;\n };\n r.remove = function () {\n return "persistent-license" != this.l ? Promise.reject(Error("Not a persistent session.")) : this.close();\n };\n function Ay() {\n this.size = 0;\n this.g = void 0;\n }\n r = Ay.prototype;\n r.Pb = function () {\n return this.g;\n };\n r.forEach = function (a) {\n this.g && a(this.g, xh.value());\n };\n r.get = function (a) {\n if (this.has(a)) return this.g;\n };\n r.has = function (a) {\n var b = xh.value();\n return this.g && fb(a, b) ? !0 : !1;\n };\n r.entries = function () {};\n r.keys = function () {};\n r.values = function () {};\n var qy = "";\n ox(py);\n function Dy() {}\n function Ey() {\n if (window.HTMLVideoElement) {\n var a = HTMLVideoElement.prototype;\n a.requestPictureInPicture && document.exitPictureInPicture || !a.webkitSupportsPresentationMode || (document.pictureInPictureEnabled = !0, document.pictureInPictureElement = null, a.requestPictureInPicture = Fy, Object.defineProperty(a, "disablePictureInPicture", {\n get: Gy,\n set: Hy,\n enumerable: !0,\n configurable: !0\n }), document.exitPictureInPicture = Iy, document.addEventListener("webkitpresentationmodechanged", Jy, !0));\n }\n }\n function Jy(a) {\n a = a.target;\n if ("picture-in-picture" == a.webkitPresentationMode) {\n document.pictureInPictureElement = a;\n var b = new Event("enterpictureinpicture");\n a.dispatchEvent(b);\n } else document.pictureInPictureElement == a && (document.pictureInPictureElement = null), b = new Event("leavepictureinpicture"), a.dispatchEvent(b);\n }\n function Fy() {\n return this.webkitSupportsPresentationMode("picture-in-picture") ? (this.webkitSetPresentationMode("picture-in-picture"), document.pictureInPictureElement = this, Promise.resolve()) : Promise.reject(Error("PiP not allowed by video element"));\n }\n function Iy() {\n var a = document.pictureInPictureElement;\n return a ? (a.webkitSetPresentationMode("inline"), document.pictureInPictureElement = null, Promise.resolve()) : Promise.reject(Error("No picture in picture element found"));\n }\n function Gy() {\n return this.hasAttribute("disablePictureInPicture") ? !0 : !this.webkitSupportsPresentationMode("picture-in-picture");\n }\n function Hy(a) {\n a ? this.setAttribute("disablePictureInPicture", "") : this.removeAttribute("disablePictureInPicture");\n }\n nx.PiPWebkit = Dy;\n Dy.install = Ey;\n ox(Ey);\n function Ky() {}\n function Ly() {\n window.crypto && ("randomUUID" in window.crypto || (window.crypto.randomUUID = My));\n }\n function My() {\n var a = URL.createObjectURL(new Blob()),\n b = a.toString();\n URL.revokeObjectURL(a);\n return b.substr(b.lastIndexOf("/") + 1);\n }\n nx.RandomUUID = Ky;\n Ky.install = Ly;\n ox(Ly);\n function Ny() {}\n function Oy() {\n navigator.storage && navigator.storage.estimate || !navigator.webkitTemporaryStorage || !navigator.webkitTemporaryStorage.queryUsageAndQuota || ("storage" in navigator || (navigator.storage = {}), navigator.storage.estimate = Py);\n }\n function Py() {\n return new Promise(function (a, b) {\n navigator.webkitTemporaryStorage.queryUsageAndQuota(function (c, d) {\n a({\n usage: c,\n quota: d\n });\n }, b);\n });\n }\n nx.StorageEstimate = Ny;
1\n Ny.install = Oy;\n ox(Oy);\n function Qy() {}\n function Ry() {\n var a = Symbol.prototype;\n "description" in a || Object.defineProperty(a, "description", {\n get: Sy\n });\n }\n function Sy() {\n var a = /\\((.*)\\)/.exec(this.toString());\n return a ? a[1] : void 0;\n }\n nx.Symbol = Qy;\n Qy.install = Ry;\n ox(Ry);\n function Ty() {}\n function Uy() {\n if (window.HTMLMediaElement) {\n var a = HTMLMediaElement.prototype.play;\n HTMLMediaElement.prototype.play = function () {\n var b = a.apply(this);\n b && b["catch"](function () {});\n return b;\n };\n }\n }\n nx.VideoPlayPromise = Ty;\n Ty.install = Uy;\n ox(Uy);\n function Vy() {}\n function Wy() {\n if (window.HTMLVideoElement) {\n var a = HTMLVideoElement.prototype;\n !a.getVideoPlaybackQuality && ("webkitDroppedFrameCount" in a || Ad()) && (a.getVideoPlaybackQuality = Xy);\n }\n }\n function Xy() {\n return {\n droppedVideoFrames: this.webkitDroppedFrameCount,\n totalVideoFrames: this.webkitDecodedFrameCount,\n corruptedVideoFrames: 0,\n creationTime: NaN,\n totalFrameDelay: 0\n };\n }\n nx.VideoPlaybackQuality = Vy;\n Vy.install = Wy;\n ox(Wy);\n function Yy() {}\n function Zy() {\n if (!window.VTTCue && window.TextTrackCue) {\n var a = null,\n b = TextTrackCue.length;\n if (3 == b) a = $y;else if (6 == b) a = az;else {\n try {\n var c = !!$y(1, 2, "");\n } catch (d) {\n c = !1;\n }\n c && (a = $y);\n }\n a && (window.VTTCue = function (d, e, f) {\n return a(d, e, f);\n });\n }\n }\n function $y(a, b, c) {\n return new window.TextTrackCue(a, b, c);\n }\n function az(a, b, c) {\n return new window.TextTrackCue(a + "-" + b + "-" + c, a, b, c);\n }\n nx.VTTCue = Yy;\n Yy.install = Zy;\n ox(Zy);\n function bz() {}\n bz.prototype.parseInit = function () {};\n bz.prototype.setSequenceMode = function () {};\n bz.prototype.setManifestType = function () {};\n bz.prototype.parseMedia = function (a, b) {\n var c = null,\n d = [];\n a = Nf(a).split(/\\r?\\n/);\n a = t(a);\n for (var e = a.next(); !e.done; e = a.next()) if ((e = e.value) && !/^\\s+$/.test(e) && (e = cz.exec(e))) {\n var f = dz.exec(e[1]);\n f = 60 * parseInt(f[1], 10) + parseFloat(f[2].replace(",", "."));\n e = new yb(f, b.segmentEnd ? b.segmentEnd : f + 2, e[2]);\n c && (c.endTime = f, d.push(c));\n c = e;\n }\n c && d.push(c);\n return d;\n };\n N("shaka.text.LrcTextParser", bz);\n bz.prototype.parseMedia = bz.prototype.parseMedia;\n bz.prototype.setManifestType = bz.prototype.setManifestType;\n bz.prototype.setSequenceMode = bz.prototype.setSequenceMode;\n bz.prototype.parseInit = bz.prototype.parseInit;\n var cz = /^\\[(\\d{1,2}:\\d{1,2}(?:[.,]\\d{1,3})?)\\](.*)/,\n dz = /^(\\d+):(\\d{1,2}(?:[.,]\\d{1,3})?)$/;\n Rc["application/x-subtitle-lrc"] = function () {\n return new bz();\n };\n function ez() {}\n ez.prototype.parseInit = function () {};\n ez.prototype.setSequenceMode = function () {};\n ez.prototype.setManifestType = function () {};\n ez.prototype.parseMedia = function (a, b, c) {\n var d = Nf(a);\n a = [];\n if ("" == d) return a;\n var e = Hg(d, "tt");\n if (!e) throw new O(2, 2, 2005, "Failed to parse TTML.");\n d = e.getElementsByTagName("body")[0];\n if (!d) return [];\n var f = ug(e, fz, "frameRate"),\n g = ug(e, fz, "subFrameRate"),\n h = ug(e, fz, "frameRateMultiplier"),\n k = ug(e, fz, "tickRate"),\n l = ug(e, fz, "cellResolution"),\n m = e.getAttribute("xml:space") || "default",\n n = ug(e, gz, "extent");\n if ("default" != m && "preserve" != m) throw new O(2, 2, 2005, "Invalid xml:space value: " + m);\n m = "default" == m;\n f = new hz(f, g, h, k);\n l = l ? (l = /^(\\d+) (\\d+)$/.exec(l)) ? {\n Kb: parseInt(l[1], 10),\n rows: parseInt(l[2], 10)\n } : null : null;\n g = (g = e.getElementsByTagName("metadata")[0]) ? sg(g) : [];\n h = Array.from(e.getElementsByTagName("style"));\n e = Array.from(e.getElementsByTagName("region"));\n k = [];\n for (var q = t(e), p = q.next(); !p.done; p = q.next()) {\n var u = p.value;\n p = new zb();\n var v = u.getAttribute("xml:id");\n if (v) {\n p.id = v;\n var x = null;\n n && (x = iz.exec(n) || jz.exec(n));\n v = x ? Number(x[1]) : null;\n x = x ? Number(x[2]) : null;\n var z,\n y = kz(u, h, "extent");\n if (y) {\n var B = (z = iz.exec(y)) || jz.exec(y);\n null != B && (p.width = Number(B[1]), p.height = Number(B[2]), z || (null != v && (p.width = 100 * p.width / v), null != x && (p.height = 100 * p.height / x)), p.widthUnits = z || null != v ? Sb : 0, p.heightUnits = z || null != x ? Sb : 0);\n }\n if (u = kz(u, h, "origin")) if (B = (z = iz.exec(u)) || jz.exec(u), null != B) p.viewportAnchorX = Number(B[1]), p.viewportAnchorY = Number(B[2]), z ? y || (p.width = 100 - p.viewportAnchorX, p.widthUnits = Sb, p.height = 100 - p.viewportAnchorY, p.heightUnits = Sb) : (null != x && (p.viewportAnchorY = 100 * p.viewportAnchorY / x), null != v && (p.viewportAnchorX = 100 * p.viewportAnchorX / v)), p.viewportAnchorUnits = z || null != v ? Sb : 0;\n } else p = null;\n p && k.push(p);\n }\n if (pg(d, "p").length) throw new O(2, 2, 2001, "<p> can only be inside <div> in TTML");\n n = t(pg(d, "div"));\n for (q = n.next(); !q.done; q = n.next()) if (pg(q.value, "span").length) throw new O(2, 2, 2001, "<span> can only be inside <p> in TTML");\n if (b = lz(d, b, f, g, h, e, k, m, l, null, !1, c)) b.backgroundColor || (b.backgroundColor = "transparent"), a.push(b);\n return a;\n };\n function lz(a, b, c, d, e, f, g, h, k, l, m, n) {\n var q = a.parentNode;\n if (a.nodeType == Node.COMMENT_NODE) return null;\n if (a.nodeType == Node.TEXT_NODE) {\n if (!m) return null;\n var p = document.createElement("span");\n p.textContent = a.textContent;\n } else p = a;\n for (var u = null, v = t(mz), x = v.next(); !x.done && !(u = nz(p, "backgroundImage", d, "#", x.value)[0]); x = v.next());\n v = null;\n var z = ug(p, mz, "backgroundImage");\n n && z && !z.startsWith("#") && (x = new fc(n), z = new fc(z), (x = x.resolve(z).toString()) && (v = x));\n if ("p" == a.nodeName || u || v) m = !0;\n a = m;\n x = "default" == (p.getAttribute("xml:space") || (h ? "default" : "preserve"));\n z = Array.from(p.childNodes).every(function (D) {\n return D.nodeType == Node.TEXT_NODE;\n });\n h = [];\n if (!z) for (var y = t(p.childNodes), B = y.next(); !B.done; B = y.next()) (B = lz(B.value, b, c, d, e, f, g, x, k, p, m, n)) && h.push(B);\n d = null != l;\n n = /\\S/.test(p.textContent);\n B = p.hasAttribute("begin") || p.hasAttribute("end") || p.hasAttribute("dur");\n if (!(B || n || "br" == p.tagName || 0 != h.length || d && !x)) return null;\n y = oz(p, c);\n n = y.start;\n for (y = y.end; q && q.nodeType == Node.ELEMENT_NODE && "tt" != q.tagName;) y = pz(q, c, n, y), n = y.start, y = y.end, q = q.parentNode;\n null == n && (n = 0);\n n += b.periodStart;\n y = null == y ? Infinity : y + b.periodStart;\n n = Math.max(n, b.segmentStart);\n y = Math.min(y, b.segmentEnd);\n if (!B && 0 < h.length) for (n = Infinity, y = 0, b = t(h), c = b.next(); !c.done; c = b.next()) c = c.value, n = Math.min(n, c.startTime), y = Math.max(y, c.endTime);\n if ("br" == p.tagName) return e = new yb(n, y, ""), e.lineBreak = !0, e;\n b = "";\n z && (b = p.textContent, x && (b = b.trim(), b = b.replace(/\\s+/g, " ")));\n b = new yb(n, y, b);\n b.nestedCues = h;\n m || (b.isContainer = !0);\n k && (b.cellResolution = k);\n k = nz(p, "region", f, "")[0];\n if (p.hasAttribute("region") && k && k.getAttribute("xml:id")) {\
1n var A = k.getAttribute("xml:id");\n b.region = g.filter(function (D) {\n return D.id == A;\n })[0];\n }\n g = k;\n l && d && !p.getAttribute("region") && !p.getAttribute("style") && (g = nz(l, "region", f, "")[0]);\n qz(b, p, g, u, v, e, a, 0 == h.length);\n return b;\n }\n function qz(a, b, c, d, e, f, g, h) {\n g = g || h;\n "rtl" == rz(b, c, f, "direction", g) && (a.direction = "rtl");\n h = rz(b, c, f, "writingMode", g);\n "tb" == h || "tblr" == h ? a.writingMode = "vertical-lr" : "tbrl" == h ? a.writingMode = "vertical-rl" : "rltb" == h || "rl" == h ? a.direction = "rtl" : h && (a.direction = Db);\n (h = rz(b, c, f, "textAlign", !0)) ? (a.positionAlign = sz[h], a.lineAlign = tz[h], a.textAlign = Mb[h.toUpperCase()]) : a.textAlign = Bb;\n if (h = rz(b, c, f, "displayAlign", !0)) a.displayAlign = Nb[h.toUpperCase()];\n if (h = rz(b, c, f, "color", g)) a.color = h;\n if (h = rz(b, c, f, "backgroundColor", g)) a.backgroundColor = h;\n if (h = rz(b, c, f, "border", g)) a.border = h;\n if (h = rz(b, c, f, "fontFamily", g)) switch (h) {\n case "monospaceSerif":\n a.fontFamily = "Courier New,Liberation Mono,Courier,monospace";\n break;\n case "proportionalSansSerif":\n a.fontFamily = "Arial,Helvetica,Liberation Sans,sans-serif";\n break;\n case "sansSerif":\n a.fontFamily = "sans-serif";\n break;\n case "monospaceSansSerif":\n a.fontFamily = "Consolas,monospace";\n break;\n case "proportionalSerif":\n a.fontFamily = "serif";\n break;\n default:\n a.fontFamily = h;\n }\n (h = rz(b, c, f, "fontWeight", g)) && "bold" == h && (a.fontWeight = 700);\n h = rz(b, c, f, "wrapOption", g);\n a.wrapLine = h && "noWrap" == h ? !1 : !0;\n (h = rz(b, c, f, "lineHeight", g)) && h.match(uz) && (a.lineHeight = h);\n (h = rz(b, c, f, "fontSize", g)) && (h.match(uz) || h.match(vz)) && (a.fontSize = h);\n if (h = rz(b, c, f, "fontStyle", g)) a.fontStyle = Rb[h.toUpperCase()];\n d ? (e = d.getAttribute("imageType") || d.getAttribute("imagetype"), h = d.getAttribute("encoding"), d = d.textContent.trim(), "PNG" == e && "Base64" == h && d && (a.backgroundImage = "data:image/png;base64," + d)) : e && (a.backgroundImage = e);\n if (d = rz(b, c, f, "textOutline", g)) d = d.split(" "), d[0].match(uz) ? a.textStrokeColor = a.color : (a.textStrokeColor = d[0], d.shift()), d[0] && d[0].match(uz) ? a.textStrokeWidth = d[0] : a.textStrokeColor = "";\n (d = rz(b, c, f, "letterSpacing", g)) && d.match(uz) && (a.letterSpacing = d);\n (d = rz(b, c, f, "linePadding", g)) && d.match(uz) && (a.linePadding = d);\n if (d = rz(b, c, f, "opacity", g)) a.opacity = parseFloat(d);\n (d = kz(c, f, "textDecoration")) && wz(a, d);\n (d = xz(b, f, "textDecoration")) && wz(a, d);\n if (d = rz(b, c, f, "textCombine", g)) a.textCombineUpright = d;\n switch (rz(b, c, f, "ruby", g)) {\n case "container":\n a.rubyTag = "ruby";\n break;\n case "text":\n a.rubyTag = "rt";\n }\n }\n function wz(a, b) {\n b = t(b.split(" "));\n for (var c = b.next(); !c.done; c = b.next()) switch (c.value) {\n case "underline":\n a.textDecoration.includes("underline") || a.textDecoration.push("underline");\n break;\n case "noUnderline":\n a.textDecoration.includes("underline") && tb(a.textDecoration, "underline");\n break;\n case "lineThrough":\n a.textDecoration.includes("lineThrough") || a.textDecoration.push("lineThrough");\n break;\n case "noLineThrough":\n a.textDecoration.includes("lineThrough") && tb(a.textDecoration, "lineThrough");\n break;\n case "overline":\n a.textDecoration.includes("overline") || a.textDecoration.push("overline");\n break;\n case "noOverline":\n a.textDecoration.includes("overline") && tb(a.textDecoration, "overline");\n }\n }\n function rz(a, b, c, d, e) {\n e = void 0 === e ? !0 : e;\n return (a = xz(a, c, d)) ? a : e ? kz(b, c, d) : null;\n }\n function kz(a, b, c) {\n if (!a) return null;\n var d = ug(a, gz, c);\n return d ? d : yz(a, b, c);\n }\n function xz(a, b, c) {\n var d = ug(a, gz, c);\n return d ? d : yz(a, b, c);\n }\n function yz(a, b, c) {\n a = nz(a, "style", b, "");\n for (var d = null, e = 0; e < a.length; e++) {\n var f = tg(a[e], "urn:ebu:tt:style", c);\n f || (f = ug(a[e], gz, c));\n f || (f = xz(a[e], b, c));\n f && (d = f);\n }\n return d;\n }\n function nz(a, b, c, d, e) {\n var f = [];\n if (!a || 1 > c.length) return f;\n var g = a;\n for (a = null; g && !(a = e ? tg(g, e, b) : g.getAttribute(b)) && (g = g.parentNode, g instanceof Element););\n if (b = a) for (b = t(b.split(" ")), e = b.next(); !e.done; e = b.next()) for (e = e.value, a = t(c), g = a.next(); !g.done; g = a.next()) if (g = g.value, d + g.getAttribute("xml:id") == e) {\n f.push(g);\n break;\n }\n return f;\n }\n function pz(a, b, c, d) {\n a = oz(a, b);\n null == c ? c = a.start : null != a.start && (c += a.start);\n null == d ? d = a.end : null != a.start && (d += a.start);\n return {\n start: c,\n end: d\n };\n }\n function oz(a, b) {\n var c = zz(a.getAttribute("begin"), b),\n d = zz(a.getAttribute("end"), b);\n a = zz(a.getAttribute("dur"), b);\n null == d && null != a && (d = c + a);\n return {\n start: c,\n end: d\n };\n }\n function zz(a, b) {\n var c = null;\n if (Az.test(a)) {\n a = Az.exec(a);\n c = Number(a[1]);\n var d = Number(a[2]),\n e = Number(a[3]),\n f = Number(a[4]);\n f += (Number(a[5]) || 0) / b.h;\n e += f / b.frameRate;\n c = e + 60 * d + 3600 * c;\n } else if (Bz.test(a)) c = Cz(Bz, a);else if (Dz.test(a)) c = Cz(Dz, a);else if (Ez.test(a)) a = Ez.exec(a), c = Number(a[1]) / b.frameRate;else if (Fz.test(a)) a = Fz.exec(a), c = Number(a[1]) / b.g;else if (Gz.test(a)) c = Cz(Gz, a);else if (a) throw new O(2, 2, 2001, "Could not parse cue time range in TTML");\n return c;\n }\n function Cz(a, b) {\n a = a.exec(b);\n return null == a || "" == a[0] ? null : (Number(a[4]) || 0) / 1E3 + (Number(a[3]) || 0) + 60 * (Number(a[2]) || 0) + 3600 * (Number(a[1]) || 0);\n }\n N("shaka.text.TtmlTextParser", ez);\n ez.prototype.parseMedia = ez.prototype.parseMedia;\n ez.prototype.setManifestType = ez.prototype.setManifestType;\n ez.prototype.setSequenceMode = ez.prototype.setSequenceMode;\n ez.prototype.parseInit = ez.prototype.parseInit;\n function hz(a, b, c, d) {\n this.frameRate = Number(a) || 30;\n this.h = Number(b) || 1;\n this.g = Number(d);\n 0 == this.g && (this.g = a ? this.frameRate * this.h : 1);\n c && (a = /^(\\d+) (\\d+)$/g.exec(c)) && (this.frameRate *= Number(a[1]) / Number(a[2]));\n }\n var iz = /^(\\d{1,2}(?:\\.\\d+)?|100(?:\\.0+)?)% (\\d{1,2}(?:\\.\\d+)?|100(?:\\.0+)?)%$/,\n vz = /^(\\d{1,2}(?:\\.\\d+)?|100)%$/,\n uz = /^(\\d+px|\\d+em|\\d*\\.?\\d+c)$/,\n jz = /^(\\d+)px (\\d+)px$/,\n Az = /^(\\d{2,}):(\\d{2}):(\\d{2}):(\\d{2})\\.?(\\d+)?$/,\n Bz = /^(?:(\\d{2,}):)?(\\d{2}):(\\d{2})$/,\n Dz = /^(?:(\\d{2,}):)?(\\d{2}):(\\d{2}\\.\\d{2,})$/,\n Ez = /^(\\d*(?:\\.\\d*)?)f$/,\n Fz = /^(\\d*(?:\\.\\d*)?)t$/,\n Gz = RegExp("^(?:(\\\\d*(?:\\\\.\\\\d*)?)h)?(?:(\\\\d*(?:\\\\.\\\\d*)?)m)?(?:(\\\\d*(?:\\\\.\\\\d*)?)s)?(?:(\\\\d*(?:\\\\.\\\\d*)?)ms)?$"),\n tz = {\n left: Gb,\n center: "center",\n right: "end",\n start: Gb,\n end: "end"\n },\n sz = {\n left: "line-left",\n center: "center",\n right: "line-right"\n },\n fz = ["http://www.w3.org/ns/ttml#parameter", "http://www.w3.org/2006/10/ttaf1#parameter"],\n gz = ["http://www.w3.org/ns/ttml#styling", "http://www.w3.org/2006/10/ttaf1#styling"],\n mz = ["http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt", "http://www.smpte-ra.org/schemas/2052-1/2013/smpte-tt"];\n Rc["application/ttml+xml"] = function () {\n return new ez();\n };\n function Hz() {\n this.g = new ez();\n }\n Hz.prototype.parseInit = function (a) {\n var b = !1;\n new Wf().box("moov", ag).box("trak", ag).box("mdia", ag).box("minf", ag).box("stbl", ag).O("stsd", cg).box("stpp", function (c) {\n b = !0;\n c.parser.stop();\n }).parse(a);\n if (!b) throw new O(2, 2, 2007);\n };\n Hz.prototype.setSequenceMode = function () {};\n Hz.prototype.setManifestType = function () {};\n Hz.prototype.parseMedia = function (a, b, c) {\n var d = this,\n e = !1,\n f = [];\n new Wf().box("mdat", eg(function (g) {\n e = !0;\n f = f.concat(d.g.parseMedia(g, b, c));\n })).parse(a, !1);\n if (!e) throw new O(2, 2, 2007);\n return f;\n };\n N("shaka.text.Mp4TtmlParser", Hz);\n Hz.prototype.parseMedia = Hz.prototype.parseMedia;\n Hz.prototype.setManifestType = Hz.prototype.setManifestType;\n Hz.prototype.setSequenceMode = Hz.prototype.setSequenceMode;\n Hz.prototype.parseInit = Hz.prototype.parseInit;\n Rc[\'application/mp4; codecs="stpp"\'] = function () {\n return new Hz();\n };\n Rc[\'application/mp4; codecs="stpp.ttml"\'] = function () {\n return new Hz();\n };\n Rc[\'application/mp4; codecs="stpp.ttml.im1t"\'] = function () {\n return new Hz();\n };\n Rc[\'application/mp4; codecs="stpp.TTML.im1t"\'] = function () {\n return new Hz();\n };\n function Iz() {\n this.h = !1;\n this.g = "UNKNOWN";\n }\n Iz.prototype.parseInit = function () {};\n Iz.prototype.setSequenceMode = function (a) {\n this.h = a;\n };\n Iz.prototype.setManifestType = function (a) {\n this.g = a;\n };\n Iz.prototype.parseMedia = function (a, b) {\n a = Nf(a);\n a = a.replace(/\\r\\n|\\r(?=[^\\n]|$)/gm, "\\n");\n var c = a.split(/\\n{2,}/m);\n if (!/^WEBVTT($|[ \\t\\n])/m.test(c[0])) throw new O(2, 2, 2E3);\n a = b.vttOffset;\n if (c[0].includes("X-TIMESTAMP-MAP") && this.h) {\n var d = c[0].match(/LOCAL:((?:(\\d{1,}):)?(\\d{2}):(\\d{2})\\.(\\d{3}))/m),\n e = c[0].match(/MPEGTS:(\\d+)/m);\n if (d && e) {\n a = Jz(new $s(d[1]));\n if (null == a) throw new O(2, 2, 2E3);\n e = Number(e[1]);\n for (d = b.segmentStart - b.periodStart; 95443.7176888889 <= d;) d -= 95443.7176888889, e += 8589934592;\n a = b.periodStart + e / 9E4 - a;\n }\n } else c[0].includes("X-TIMESTAMP-MAP") && "HLS" == this.g && (a = b.segmentStart);\n b = [];\n e = t(c[0].split("\\n"));\n for (d = e.next(); !d.done; d = e.next()) if (d = d.value, /^Region:/.test(d)) {\n d = new $s(d);\n var f = new zb();\n ct(d);\n at(d);\n for (var g = ct(d); g;) {\n var h = f,\n k = g;\n (g = /^id=(.*)$/.exec(k)) ? h.id = g[1] : (g = /^width=(\\d{1,2}|100)%$/.exec(k)) ? h.width = Number(g[1]) : (g = /^lines=(\\d+)$/.exec(k)) ? (h.height = Number(g[1]), h.heightUnits = 2) : (g = /^regionanchor=(\\d{1,2}|100)%,(\\d{1,2}|100)%$/.exec(k)) ? (h.regionAnchorX = Number(g[1]), h.regionAnchorY = Number(g[2])) : (g = /^viewportanchor=(\\d{1,2}|100)%,(\\d{1,2}|100)%$/.exec(k)) ? (h.viewportAnchorX = Number(g[1]), h.viewportAnchorY = Number(g[2])) : /^scroll=up$/.exec(k) && (h.scroll = "up");\n at(d);\n g = ct(d);\n }\n b.push(f);\n }\n e = new Map();\n Kz(e);\n d = [];\n c = t(c.slice(1));\n for (f = c.next(); !f.done; f = c.next()) {\n f = f.value.split("\\n");\n if ((1 != f.length || f[0]) && !/^NOTE($|[ \\t])/.test(f[0]) && "STYLE" == f[0]) {\n h = [];\n g = -1;\n for (k = 1; k < f.length; k++) f[k].includes("::cue") && (h.push([]), g = h.length - 1), -1 != g && (h[g].push(f[k]), f[k].includes("}") && (g = -1));\n h = t(h);\n for (g = h.next(); !g.done; g = h.next()) {\n var l = g.value;\n g = "global";\n (k = l[0].match(/\\((.*)\\)/)) && (g = k.pop());\n k = l.slice(1, -1);\n l[0].includes("}") && (l = /\\{(.*?)\\}/.exec(l[0])) && (k = l[1].split(";"));\n (l = e.get(g)) || (l = new yb(0, 0, ""));\n for (var m = !1, n = 0; n < k.length;
1 n++) {\n var q = /^\\s*([^:]+):\\s*(.*)/.exec(k[n]);\n if (q) {\n var p = q[2].trim().replace(";", "");\n switch (q[1].trim()) {\n case "background-color":\n case "background":\n m = !0;\n l.backgroundColor = p;\n break;\n case "color":\n m = !0;\n l.color = p;\n break;\n case "font-family":\n m = !0;\n l.fontFamily = p;\n break;\n case "font-size":\n m = !0;\n l.fontSize = p;\n break;\n case "font-weight":\n if (700 <= parseInt(p, 10) || "bold" == p) m = !0, l.fontWeight = 700;\n break;\n case "font-style":\n switch (p) {\n case "normal":\n m = !0;\n l.fontStyle = Jb;\n break;\n case "italic":\n m = !0;\n l.fontStyle = "italic";\n break;\n case "oblique":\n m = !0, l.fontStyle = "oblique";\n }\n break;\n case "opacity":\n m = !0;\n l.opacity = parseFloat(p);\n break;\n case "text-combine-upright":\n m = !0;\n l.textCombineUpright = p;\n break;\n case "text-shadow":\n m = !0;\n l.textShadow = p;\n break;\n case "white-space":\n m = !0, l.wrapLine = "noWrap" != p;\n }\n }\n }\n m && e.set(g, l);\n }\n }\n m = a;\n if (1 == f.length && !f[0] || /^NOTE($|[ \\t])/.test(f[0]) || "STYLE" == f[0] || "REGION" == f[0]) f = null;else if (h = null, f[0].includes("--\\x3e") || (h = f[0], f.splice(0, 1)), g = new $s(f[0]), k = Jz(g), n = bt(g, /[ \\t]+--\\x3e[ \\t]+/g), l = Jz(g), null == k || null == n || null == l) Sa("Failed to parse VTT time code. Cue skipped:", h, f), f = null;else {\n k += m;\n l += m;\n f = f.slice(1).join("\\n").trim();\n e.has("global") ? (m = e.get("global").clone(), m.startTime = k, m.endTime = l, m.payload = "") : m = new yb(k, l, "");\n at(g);\n for (k = ct(g); k;) Lz(m, k, b), at(g), k = ct(g);\n Mz(f, m, e);\n null != h && (m.id = h);\n f = m;\n }\n f && d.push(f);\n }\n return d;\n };\n function Kz(a) {\n for (var b = t(Object.entries(Pb)), c = b.next(); !c.done; c = b.next()) {\n var d = t(c.value);\n c = d.next().value;\n d = d.next().value;\n var e = new yb(0, 0, "");\n e.color = d;\n a.set("." + c, e);\n }\n b = t(Object.entries(Qb));\n for (c = b.next(); !c.done; c = b.next()) d = t(c.value), c = d.next().value, d = d.next().value, e = new yb(0, 0, ""), e.backgroundColor = d, a.set("." + c, e);\n }\n function Mz(a, b, c) {\n if (a.includes("<")) {\n 0 === c.size && Kz(c);\n a: {\n for (var d = [], e = -1, f = "", g = 0; g < a.length; g++) if ("/" === a[g] && 0 < g && "<" === a[g - 1]) {\n var h = a.indexOf(">", g);\n if (h <= g) break a;\n if ((h = a.substring(g + 1, h)) && "c" === h) {\n var k = d.pop();\n k ? k === h ? (f += "/" + h + ">", g += h.length + 1) : k.startsWith("c.") ? (g += h.length + 1, f += "/" + k + ">") : f += a[g] : f += a[g];\n } else f += a[g];\n } else "<" === a[g] ? (e = g + 1, "c" != a[e] && (e = -1)) : ">" === a[g] && 0 < e && (d.push(a.substr(e, g - e)), e = -1), f += a[g];\n a = f;\n }\n d = a;\n a = [];\n f = -1;\n for (e = 0; e < d.length; e++) "<" === d[e] ? f = e + 1 : ">" === d[e] && 0 < f && (f = d.substr(f, e - f), f.match(Nz) && a.push(f), f = -1);\n a = t(a);\n for (e = a.next(); !e.done; e = a.next()) e = e.value, d = d.replace("<" + e + ">", \'<div time="\' + e + \'">\'), d += "</div>";\n a = d;\n a: {\n e = a;\n f = [];\n g = -1;\n a = "";\n d = !1;\n for (h = 0; h < e.length; h++) if ("/" === e[h]) {\n k = e.indexOf(">", h);\n if (-1 === k) {\n a = e;\n break a;\n }\n if ((k = e.substring(h + 1, k)) && "v" == k) {\n d = !0;\n var l = null;\n f.length && (l = f[f.length - 1]);\n if (l) {\n if (l === k) a += "/" + k + ">";else {\n if (!l.startsWith("v")) {\n a += e[h];\n continue;\n }\n a += "/" + l + ">";\n }\n h += k.length + 1;\n } else a += e[h];\n } else a += e[h];\n } else "<" === e[h] ? (g = h + 1, "v" != e[g] && (g = -1)) : ">" === e[h] && 0 < g && (f.push(e.substr(g, h - g)), g = -1), a += e[h];\n e = t(f);\n for (f = e.next(); !f.done; f = e.next()) f = f.value, g = f.replace(" ", ".voice-"), a = a.replace("<" + f + ">", "<" + g + ">"), a = a.replace("</" + f + ">", "</" + g + ">"), d || (a += "</" + g + ">");\n }\n if (d = Hg("<span>" + a + "</span>", "span")) {\n d = d.childNodes;\n if (1 == d.length && (e = d[0], e.nodeType == Node.TEXT_NODE || e.nodeType == Node.CDATA_SECTION_NODE)) {\n b.payload = Oz(a);\n return;\n }\n a = t(d);\n for (d = a.next(); !d.done; d = a.next()) Pz(d.value, b, c);\n } else b.payload = Oz(a);\n } else b.payload = Oz(a);\n }\n function Qz(a, b) {\n return a && 0 < a.length ? a : b;\n }\n function Pz(a, b, c) {\n var d = b.clone();\n d.nestedCues = [];\n d.payload = "";\n d.rubyTag = "";\n d.line = null;\n d.region = new zb();\n d.position = null;\n d.size = 0;\n if (a.nodeType === Node.ELEMENT_NODE && a.nodeName) for (var e = t(a.nodeName.split(/(?=[ .])+/g)), f = e.next(); !f.done; f = e.next()) {\n var g = f = f.value;\n if (g.startsWith(".voice-")) {\n var h = g.split("-").pop();\n g = \'v[voice="\' + h + \'"]\';\n c.has(g) || (g = "v[voice=" + h + "]");\n }\n c.has(g) && (g = c.get(g)) && (d.backgroundColor = Qz(g.backgroundColor, d.backgroundColor), d.color = Qz(g.color, d.color), d.fontFamily = Qz(g.fontFamily, d.fontFamily), d.fontSize = Qz(g.fontSize, d.fontSize), d.textShadow = Qz(g.textShadow, d.textShadow), d.fontWeight = g.fontWeight, d.fontStyle = g.fontStyle, d.op
1acity = g.opacity, d.rubyTag = g.rubyTag, d.textCombineUpright = g.textCombineUpright, d.wrapLine = g.wrapLine);\n switch (f) {\n case "br":\n d = Kb(d.startTime, d.endTime);\n b.nestedCues.push(d);\n return;\n case "b":\n d.fontWeight = 700;\n break;\n case "i":\n d.fontStyle = "italic";\n break;\n case "u":\n d.textDecoration.push("underline");\n break;\n case "font":\n if (f = a.getAttribute("color")) d.color = f;\n break;\n case "div":\n f = a.getAttribute("time");\n if (!f) break;\n if (f = Jz(new $s(f))) d.startTime = f;\n break;\n case "ruby":\n case "rp":\n case "rt":\n d.rubyTag = f;\n }\n }\n e = a.childNodes;\n if (wg(a) || 1 == e.length && wg(e[0])) for (e = !0, c = t(a.textContent.split("\\n")), a = c.next(); !a.done; a = c.next()) a = a.value, e || (e = Kb(d.startTime, d.endTime), b.nestedCues.push(e)), 0 < a.length && (e = d.clone(), e.payload = Oz(a), b.nestedCues.push(e)), e = !1;else for (b.nestedCues.push(d), b = t(e), a = b.next(); !a.done; a = b.next()) Pz(a.value, d, c);\n }\n function Lz(a, b, c) {\n var d;\n if (d = /^align:(start|middle|center|end|left|right)$/.exec(b)) b = d[1], "middle" == b ? a.textAlign = Bb : a.textAlign = Mb[b.toUpperCase()];else if (d = /^vertical:(lr|rl)$/.exec(b)) a.writingMode = "lr" == d[1] ? "vertical-lr" : "vertical-rl";else if (d = /^size:([\\d.]+)%$/.exec(b)) a.size = Number(d[1]);else if (d = /^position:([\\d.]+)%(?:,(line-left|line-right|middle|center|start|end|auto))?$/.exec(b)) a.position = Number(d[1]), d[2] && (b = d[2], a.positionAlign = "line-left" == b || "start" == b ? "line-left" : "line-right" == b || "end" == b ? "line-right" : "center" == b || "middle" == b ? "center" : Ab);else if (d = /^region:(.*)$/.exec(b)) {\n if (b = Rz(c, d[1])) a.region = b;\n } else if (c = /^line:([\\d.]+)%(?:,(start|end|center))?$/.exec(b)) a.lineInterpretation = 1, a.line = Number(c[1]), c[2] && (a.lineAlign = Ob[c[2].toUpperCase()]);else if (c = /^line:(-?\\d+)(?:,(start|end|center))?$/.exec(b)) a.lineInterpretation = Fb, a.line = Number(c[1]), c[2] && (a.lineAlign = Ob[c[2].toUpperCase()]);\n }\n function Rz(a, b) {\n a = a.filter(function (c) {\n return c.id == b;\n });\n return a.length ? a[0] : null;\n }\n function Jz(a) {\n a = bt(a, Nz);\n if (null == a) return null;\n var b = Number(a[2]),\n c = Number(a[3]);\n return 59 < b || 59 < c ? null : Number(a[4]) / 1E3 + c + 60 * b + 3600 * (Number(a[1]) || 0);\n }\n function Oz(a) {\n var b = {\n "&": "&",\n "<": "<",\n ">": ">",\n """: \'"\',\n "'": "\'",\n " ": "\\xA0",\n "‎": "\\u200E",\n "‏": "\\u200F"\n },\n c = /&(?:amp|lt|gt|quot|#(0+)?39|nbsp|lrm|rlm);/g,\n d = RegExp(c.source);\n return a && d.test(a) ? a.replace(c, function (e) {\n return b[e] || "\'";\n }) : a || "";\n }\n N("shaka.text.VttTextParser", Iz);\n Iz.prototype.parseMedia = Iz.prototype.parseMedia;\n Iz.prototype.setManifestType = Iz.prototype.setManifestType;\n Iz.prototype.setSequenceMode = Iz.prototype.setSequenceMode;\n Iz.prototype.parseInit = Iz.prototype.parseInit;\n var Nz = /(?:(\\d{1,}):)?(\\d{2}):(\\d{2})\\.(\\d{2,3})/g;\n Rc["text/vtt"] = function () {\n return new Iz();\n };\n Rc[\'text/vtt; codecs="vtt"\'] = function () {\n return new Iz();\n };\n Rc[\'text/vtt; codecs="wvtt"\'] = function () {\n return new Iz();\n };\n function Sz() {\n this.g = null;\n }\n Sz.prototype.parseInit = function (a) {\n var b = this,\n c = !1;\n new Wf().box("moov", ag).box("trak", ag).box("mdia", ag).O("mdhd", function (d) {\n d = Yh(d.reader, d.version);\n b.g = d.timescale;\n }).box("minf", ag).box("stbl", ag).O("stsd", cg).box("wvtt", function () {\n c = !0;\n }).parse(a);\n if (!this.g) throw new O(2, 2, 2008);\n if (!c) throw new O(2, 2, 2008);\n };\n Sz.prototype.setSequenceMode = function () {};\n Sz.prototype.setManifestType = function () {};\n Sz.prototype.parseMedia = function (a, b) {\n if (!a.length) return [];\n if (!this.g) throw new O(2, 2, 2008);\n var c = 0,\n d = [],\n e,\n f = [],\n g = !1,\n h = !1,\n k = !1,\n l = null;\n new Wf().box("moof", ag).box("traf", ag).O("tfdt", function (B) {\n g = !0;\n c = Xh(B.reader, B.version).baseMediaDecodeTime;\n }).O("tfhd", function (B) {\n l = Wh(B.reader, B.flags).Kf;\n }).O("trun", function (B) {\n h = !0;\n d = Zh(B.reader, B.version, B.flags).ig;\n }).box("mdat", eg(function (B) {\n k = !0;\n e = B;\n })).parse(a, !1);\n if (!k && !g && !h) throw new O(2, 2, 2008);\n a = c;\n for (var m = new Tf(e, 0), n = t(d), q = n.next(); !q.done; q = n.next()) {\n q = q.value;\n var p = q.hf || l,\n u = q.Wd ? c + q.Wd : a;\n a = u + (p || 0);\n var v = 0;\n do {\n var x = m.L();\n v += x;\n var z = m.L(),\n y = null;\n "vttc" == $f(z) ? 8 < x && (y = m.ub(x - 8)) : m.skip(x - 8);\n p && y && (x = Tz(y, b.periodStart + u / this.g, b.periodStart + a / this.g), f.push(x));\n } while (q.sampleSize && v < q.sampleSize);\n }\n return f.filter(ad);\n };\n function Tz(a, b, c) {\n var d, e, f;\n new Wf().box("payl", eg(function (g) {\n d = Nf(g);\n })).box("iden", eg(function (g) {\n e = Nf(g);\n })).box("sttg", eg(function (g) {\n f = Nf(g);\n })).parse(a);\n return d ? Uz(d, e, f, b, c) : null;\n }\n function Uz(a, b, c, d, e) {\n d = new yb(d, e, "");\n Mz(a, d, new Map());\n b && (d.id = b);\n if (c) for (a = new $s(c), b = ct(a); b;) Lz(d, b, []), at(a), b = ct(a);\n return d;\n }\n N("shaka.text.Mp4VttParser", Sz);\n Sz.prototype.parseMedia = Sz.prototype.parseMedia;\n Sz.prototype.setManifestType = Sz.prototype.setManifestType;\n Sz.prototype.setSequenceMode = Sz.prototype.setSequenceMode;\n Sz.prototype.parseInit = Sz.prototype.parseInit;\n Rc[\'application/mp4; codecs="wvtt"\'] = function () {\n return new Sz();\n };\n function Vz() {}\n Vz.prototype.parseInit = function () {};\n Vz.prototype.setSequenceMode = function () {};\n Vz.prototype.setManifestType = function () {};\n Vz.prototype.parseMedia = function (a) {\n var b = Nf(a).replace(/\\r+/g, "");\n b = b.trim();\n a = [];\n if ("" == b) return a;\n b = t(b.split("\\n\\n"));\n for (var c = b.next(); !c.done; c = b.next()) {\n c = c.value.split("\\n");\n var d = new $s(c[0]),\n e = Wz(d),\n f = bt(d, /,/g);\n d = Wz(d);\n if (null == e || null == f || null == d) throw new O(2, 2, 2001, "Could not parse cue time range in SubViewer");\n a.push(new yb(e, d, c.slice(1).join("\\n").trim()));\n }\n return a;\n };\n function Wz(a) {\n a = bt(a, /(?:(\\d{1,}):)?(\\d{2}):(\\d{2})\\.(\\d{2,3})/g);\n if (null == a) return null;\n var b = Number(a[2]),\n c = Number(a[3]);\n return 59 < b || 59 < c ? null : Number(a[4]) / 1E3 + c + 60 * b + 3600 * (Number(a[1]) || 0);\n }\n N("shaka.text.SbvTextParser", Vz);\n Vz.prototype.parseMedia = Vz.prototype.parseMedia;\n Vz.prototype.setManifestType = Vz.prototype.setManifestType;\n Vz.prototype.setSequenceMode = Vz.prototype.setSequenceMode;\n Vz.prototype.parseInit = Vz.prototype.parseInit;\n Rc["text/x-subviewer"] = function () {\n return new Vz();\n };\n function Xz() {\n this.g = new Iz();\n }\n Xz.prototype.parseInit = function () {};\n Xz.prototype.setSequenceMode = function () {};\n Xz.prototype.setManifestType = function () {};\n Xz.prototype.parseMedia = function (a, b, c) {\n a = Nf(a);\n a = Yz(a);
1\n a = hb(Rf(a));\n return this.g.parseMedia(a, b, c);\n };\n function Yz(a) {\n var b = "WEBVTT\\n\\n";\n if ("" == a) return b;\n a = a.replace(/\\r+/g, "");\n a = a.trim();\n a = t(a.split("\\n\\n"));\n for (var c = a.next(); !c.done; c = a.next()) c = c.value.split(/\\n/), c[0].match(/\\d+/) && c.shift(), c[0] = c[0].replace(/,/g, "."), b += c.join("\\n").replace(/{b}/g, "<b>").replace(/{\\/b}/g, "</b>").replace(/{i}/g, "<i>").replace(/{\\/i}/g, "</i>").replace(/{u}/g, "<u>").replace(/{\\/u}/g, "</u>") + "\\n\\n";\n return b;\n }\n N("shaka.text.SrtTextParser", Xz);\n Xz.srt2webvtt = Yz;\n Xz.prototype.parseMedia = Xz.prototype.parseMedia;\n Xz.prototype.setManifestType = Xz.prototype.setManifestType;\n Xz.prototype.setSequenceMode = Xz.prototype.setSequenceMode;\n Xz.prototype.parseInit = Xz.prototype.parseInit;\n Rc["text/srt"] = function () {\n return new Xz();\n };\n function Zz() {}\n Zz.prototype.parseInit = function () {};\n Zz.prototype.setSequenceMode = function () {};\n Zz.prototype.setManifestType = function () {};\n Zz.prototype.parseMedia = function (a) {\n var b = "",\n c = "";\n a = Nf(a).split(/\\r?\\n\\s*\\r?\\n/);\n a = t(a);\n for (var d = a.next(); !d.done; d = a.next()) {\n var e = $z.exec(d.value);\n e && (d = e[1], e = e[2], "V4 Styles" == d || "V4+ Styles" == d ? b = e : "Events" == d && (c = e));\n }\n a = [];\n d = null;\n b = t(b.split(/\\r?\\n/));\n for (var f = b.next(); !f.done; f = b.next()) if (e = f.value, !/^\\s*;/.test(e) && (f = aA.exec(e))) if (e = f[1].trim(), f = f[2].trim(), "Format" == e) d = f.split(bA);else if ("Style" == e) {\n e = f.split(bA);\n f = {};\n for (var g = 0; g < d.length && g < e.length; g++) f[d[g]] = e[g];\n a.push(f);\n }\n d = [];\n b = null;\n e = {};\n c = t(c.split(/\\r?\\n/));\n for (f = c.next(); !f.done; e = {\n ee: e.ee\n }, f = c.next()) if (f = f.value, !/^\\s*;/.test(f) && (g = aA.exec(f))) if (f = g[1].trim(), g = g[2].trim(), "Format" == f) b = g.split(bA);else if ("Dialogue" == f) {\n g = g.split(bA);\n f = {};\n for (var h = 0; h < b.length && h < g.length; h++) f[b[h]] = g[h];\n h = cA(f.Start);\n var k = cA(f.End);\n g = new yb(h, k, g.slice(b.length - 1).join(",").replace(/\\\\N/g, "\\n").replace(/\\{[^}]+\\}/g, ""));\n e.ee = f.Style;\n (f = a.find(function (l) {\n return function (m) {\n return m.Name == l.ee;\n };\n }(e))) && dA(g, f);\n d.push(g);\n }\n return d;\n };\n function dA(a, b) {\n var c = b.Fontname;\n c && (a.fontFamily = c);\n if (c = b.Fontsize) a.fontSize = c + "px";\n if (c = b.PrimaryColour) if (c = eA(c)) a.color = c;\n if (c = b.BackColour) if (c = eA(c)) a.backgroundColor = c;\n b.Bold && (a.fontWeight = 700);\n b.Italic && (a.fontStyle = "italic");\n b.Underline && a.textDecoration.push("underline");\n if (c = b.Spacing) a.letterSpacing = c + "px";\n if (c = b.Alignment) switch (parseInt(c, 10)) {\n case 1:\n a.displayAlign = Hb;\n a.textAlign = "start";\n break;\n case 2:\n a.displayAlign = Hb;\n a.textAlign = Bb;\n break;\n case 3:\n a.displayAlign = Hb;\n a.textAlign = "end";\n break;\n case 5:\n a.displayAlign = "before";\n a.textAlign = "start";\n break;\n case 6:\n a.displayAlign = "before";\n a.textAlign = Bb;\n break;\n case 7:\n a.displayAlign = "before";\n a.textAlign = "end";\n break;\n case 9:\n a.displayAlign = "center";\n a.textAlign = "start";\n break;\n case 10:\n a.displayAlign = "center";\n a.textAlign = Bb;\n break;\n case 11:\n a.displayAlign = "center", a.textAlign = "end";\n }\n if (b = b.AlphaLevel) a.opacity = parseFloat(b);\n }\n function eA(a) {\n a = parseInt(a.replace("&H", ""), 16);\n return 0 <= a ? "rgba(" + (a & 255) + "," + (a >> 8 & 255) + "," + (a >> 16 & 255) + "," + (a >> 24 & 255 ^ 255) / 255 + ")" : null;\n }\n function cA(a) {\n a = fA.exec(a);\n return 3600 * (a[1] ? parseInt(a[1].replace(":", ""), 10) : 0) + 60 * parseInt(a[2], 10) + parseFloat(a[3]);\n }\n N("shaka.text.SsaTextParser", Zz);\n Zz.prototype.parseMedia = Zz.prototype.parseMedia;\n Zz.prototype.setManifestType = Zz.prototype.setManifestType;\n Zz.prototype.setSequenceMode = Zz.prototype.setSequenceMode;\n Zz.prototype.parseInit = Zz.prototype.parseInit;\n var $z = /^\\s*\\[([^\\]]+)\\]\\r?\\n([\\s\\S]*)/,\n aA = /^\\s*([^:]+):\\s*(.*)/,\n bA = /\\s*,\\s*/,\n fA = /^(\\d+:)?(\\d{1,2}):(\\d{1,2}(?:[.]\\d{1,3})?)?$/;\n Rc["text/x-ssa"] = function () {\n return new Zz();\n };\n function gA(a, b) {\n var c = a[b + 1] & 1 ? 7 : 9;\n return b + c <= a.length && (a = ((a[b + 3] & 3) << 11 | a[b + 4] << 3 | (a[b + 5] & 224) >>> 5) - c, 0 < a) ? {\n Hd: c,\n S: a\n } : null;\n }\n function hA(a, b) {\n var c = [96E3, 88200, 64E3, 48E3, 44100, 32E3, 24E3, 22050, 16E3, 12E3, 11025, 8E3, 7350],\n d = (a[b + 2] & 60) >>> 2;\n if (d > c.length - 1) return null;\n var e = ((a[b + 2] & 192) >>> 6) + 1,\n f = (a[b + 2] & 1) << 2;\n f |= (a[b + 3] & 192) >>> 6;\n return {\n sampleRate: c[d],\n channelCount: f,\n ha: "mp4a.40." + e\n };\n }\n function iA(a, b) {\n if (b + 1 < a.length && 255 === a[b] && 240 === (a[b + 1] & 246)) {\n var c = a[b + 1] & 1 ? 7 : 9;\n if (b + c >= a.length) return !1;\n var d = (a[b + 3] & 3) << 11 | a[b + 4] << 3 | (a[b + 5] & 224) >>> 5;\n if (d <= c) return !1;\n b += d;\n return b === a.length || b + 1 < a.length && 255 === a[b] && 240 === (a[b + 1] & 246);\n }\n return !1;\n }\n function jA(a, b) {\n switch (a) {\n case "mp4a.40.2":\n if (1 === b) return new Uint8Array([0, 200, 0, 128, 35, 128]);\n if (2 === b) return new Uint8Array([33, 0, 73, 144, 2, 25, 0, 35, 128]);\n if (3 === b) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 142]);\n if (4 === b) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 128, 44, 128, 8, 2, 56]);\n if (5 === b) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 56]);\n if (6 === b) return new Uint8Array([0, 200, 0, 128, 32, 132, 1, 38, 64, 8, 100, 0, 130, 48, 4, 153, 0, 33, 144, 2, 0, 178, 0, 32, 8, 224]);\n break;\n default:\n if (1 === b) return new Uint8Array([1, 64, 34, 128, 163, 78, 230, 128, 186, 8, 0, 0, 0, 28, 6, 241, 193, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);\n if (2 === b || 3 === b) return new Uint8Array([1, 64, 34, 128, 163, 94, 230, 128, 186, 8, 0, 0, 0, 0, 149, 0, 6, 241, 161, 10, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 94]);\n }\n return null;\n }\n ;\n function kA(a) {\n this.i = a;\n this.h = 0;\n this.g = new Map();\n }\n r = kA.prototype;\n r.destroy = function () {\n this.g.clear();\n };\n r.isSupported = function (a) {\n return "audio/aac" == a.toLowerCase().split(";")[0] ? Za(this.convertCodecs("audio", a)) : !1;\n };\n r.convertCodecs = function (a, b) {\n return "audio/aac" == b.toLowerCase().split(";")[0] ? \'audio/mp4; codecs="\' + (Oc(b) || "mp4a.40.2") + \'"\' : b;\n };\n r.getOriginalMimeType = function () {\n return this.i;\n };\n r.transmux = function (a, b, c, d) {\n for (var e = hb(a), f = Vh(e), g = f.length; g < e.length && !iA(e, g); g++);\n a = 1E3 * c.endTime;\n f = Uh(f);
1\n f.length && c && (c = f.find(function (l) {\n return "com.apple.streaming.transportStreamTimestamp" === l.description;\n })) && (a = c.data);\n c = hA(e, g);\n if (!c) return Promise.reject(new O(2, 3, 3018));\n b.audioSamplingRate = c.sampleRate;\n b.channelsCount = c.channelCount;\n for (f = []; g < e.length;) {\n var h = gA(e, g);\n if (!h) return Promise.reject(new O(2, 3, 3018));\n var k = h.Hd + h.S;\n g + k <= e.length && f.push({\n data: e.subarray(g + h.Hd, g + k),\n size: h.S,\n duration: 1024,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n });\n g += k;\n }\n e = c.sampleRate;\n a = Math.floor(a * e / 1E3);\n d = {\n id: b.id,\n type: "audio",\n codecs: c.ha,\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: e,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.h,\n baseMediaDecodeTime: a,\n Oa: f\n },\n stream: b\n };\n a = new Cu([d]);\n this.g.has(b.id) ? d = this.g.get(b.id) : (d = Iu(a), this.g.set(b.id, d));\n b = Zu(a);\n this.h++;\n b = lg(d, b);\n return Promise.resolve(b);\n };\n N("shaka.transmuxer.AacTransmuxer", kA);\n kA.prototype.transmux = kA.prototype.transmux;\n kA.prototype.getOriginalMimeType = kA.prototype.getOriginalMimeType;\n kA.prototype.convertCodecs = kA.prototype.convertCodecs;\n kA.prototype.isSupported = kA.prototype.isSupported;\n kA.prototype.destroy = kA.prototype.destroy;\n Yb("audio/aac", function () {\n return new kA("audio/aac");\n }, dc);\n function lA(a, b) {\n if (b + 8 > a.length || 11 !== a[b] || 119 !== a[b + 1]) return null;\n var c = a[b + 4] >> 6;\n if (3 <= c) return null;\n var d = a[b + 4] & 63,\n e = 2 * [64, 69, 96, 64, 70, 96, 80, 87, 120, 80, 88, 120, 96, 104, 144, 96, 105, 144, 112, 121, 168, 112, 122, 168, 128, 139, 192, 128, 140, 192, 160, 174, 240, 160, 175, 240, 192, 208, 288, 192, 209, 288, 224, 243, 336, 224, 244, 336, 256, 278, 384, 256, 279, 384, 320, 348, 480, 320, 349, 480, 384, 417, 576, 384, 418, 576, 448, 487, 672, 448, 488, 672, 512, 557, 768, 512, 558, 768, 640, 696, 960, 640, 697, 960, 768, 835, 1152, 768, 836, 1152, 896, 975, 1344, 896, 976, 1344, 1024, 1114, 1536, 1024, 1115, 1536, 1152, 1253, 1728, 1152, 1254, 1728, 1280, 1393, 1920, 1280, 1394, 1920][3 * d + c];\n if (b + e > a.length) return null;\n var f = a[b + 6] >> 5,\n g = 0;\n 2 === f ? g += 2 : (f & 1 && 1 !== f && (g += 2), f & 4 && (g += 2));\n g = (a[b + 6] << 8 | a[b + 7]) >> 12 - g & 1;\n var h = a[b + 5] & 7;\n a = new Uint8Array([c << 6 | a[b + 5] >> 3 << 1 | h >> 2, (h & 3) << 6 | f << 3 | g << 2 | d >> 4, d << 4 & 224]);\n return {\n sampleRate: [48E3, 44100, 32E3][c],\n channelCount: [2, 1, 2, 3, 3, 4, 4, 5][f] + g,\n fa: a,\n S: e\n };\n }\n function mA(a, b) {\n if (11 === a[b] && 119 === a[b + 1]) {\n var c = 0,\n d = 5;\n b += d;\n for (var e, f; 0 < d;) {\n f = a[b];\n var g = Math.min(d, 8),\n h = 8 - g;\n e = 4278190080 >>> 24 + h << h;\n e = (f & e) >> h;\n c = c ? c << g | e : e;\n b += 1;\n d -= g;\n }\n if (16 > c) return !0;\n }\n return !1;\n }\n ;\n function nA(a) {\n this.i = a;\n this.h = 0;\n this.g = new Map();\n }\n r = nA.prototype;\n r.destroy = function () {\n this.g.clear();\n };\n r.isSupported = function (a) {\n return "audio/ac3" == a.toLowerCase().split(";")[0] ? Za(this.convertCodecs("audio", a)) : !1;\n };\n r.convertCodecs = function (a, b) {\n return "audio/ac3" == b.toLowerCase().split(";")[0] ? \'audio/mp4; codecs="ac-3"\' : b;\n };\n r.getOriginalMimeType = function () {\n return this.i;\n };\n r.transmux = function (a, b, c, d) {\n a = hb(a);\n for (var e = Vh(a), f = e.length; f < a.length && !mA(a, f); f++);\n var g = 1E3 * c.endTime;\n e = Uh(e);\n e.length && c && (c = e.find(function (l) {\n return "com.apple.streaming.transportStreamTimestamp" === l.description;\n })) && (g = c.data);\n c = 0;\n e = new Uint8Array([]);\n for (var h = []; f < a.length;) {\n var k = lA(a, f);\n if (!k) return Promise.reject(new O(2, 3, 3018));\n b.audioSamplingRate = k.sampleRate;\n b.channelsCount = k.channelCount;\n c = k.sampleRate;\n e = k.fa;\n h.push({\n data: a.subarray(f, f + k.S),\n size: k.S,\n duration: 1536,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n });\n f += k.S;\n }\n a = Math.floor(g * c / 1E3);\n d = {\n id: b.id,\n type: "audio",\n codecs: "ac-3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: c,\n duration: d,\n Ra: [],\n fa: e,\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.h,\n baseMediaDecodeTime: a,\n Oa: h\n },\n stream: b\n };\n a = new Cu([d]);\n this.g.has(b.id) ? d = this.g.get(b.id) : (d = Iu(a), this.g.set(b.id, d));\n b = Zu(a);\n this.h++;\n b = lg(d, b);\n return Promise.resolve(b);\n };\n N("shaka.transmuxer.Ac3Transmuxer", nA);\n nA.prototype.transmux = nA.prototype.transmux;\n nA.prototype.getOriginalMimeType = nA.prototype.getOriginalMimeType;\n nA.prototype.convertCodecs = nA.prototype.convertCodecs;\n nA.prototype.isSupported = nA.prototype.isSupported;\n nA.prototype.destroy = nA.prototype.destroy;\n Yb("audio/ac3", function () {\n return new nA("audio/ac3");\n }, dc);\n function oA(a, b) {\n if (b + 8 > a.length || 2935 !== (a[b] << 8 | a[b + 1] << 0)) return null;\n var c = new di(a.subarray(b + 2));\n fi(c, 2);\n fi(c, 3);\n var d = gi(c, 11) + 1 << 1,\n e = gi(c, 2);\n if (3 == e) {\n e = gi(c, 2);\n e = [24E3, 22060, 16E3][e];\n var f = 3;\n } else e = [48E3, 44100, 32E3][e], f = gi(c, 2);\n var g = gi(c, 3),\n h = gi(c, 1);\n c = gi(c, 5);\n if (b + d > a.byteLength) return null;\n a = Math.floor(d * e / (16 * [1, 2, 3, 6][f]));\n a = new Uint8Array([(a & 8160) >>
1 5, (a & 31) << 3, e << 6 | c << 1 | 0, 0 | g << 1 | h << 0, 0]);\n return {\n sampleRate: e,\n channelCount: [2, 1, 2, 3, 3, 4, 4, 5][g] + h,\n fa: a,\n S: d\n };\n }\n ;\n function pA(a) {\n this.i = a;\n this.h = 0;\n this.g = new Map();\n }\n r = pA.prototype;\n r.destroy = function () {\n this.g.clear();\n };\n r.isSupported = function (a) {\n return "audio/ec3" == a.toLowerCase().split(";")[0] ? Za(this.convertCodecs("audio", a)) : !1;\n };\n r.convertCodecs = function (a, b) {\n return "audio/ec3" == b.toLowerCase().split(";")[0] ? \'audio/mp4; codecs="ec-3"\' : b;\n };\n r.getOriginalMimeType = function () {\n return this.i;\n };\n r.transmux = function (a, b, c, d) {\n a = hb(a);\n for (var e = Vh(a), f = e.length; f < a.length && 2935 !== (a[f] << 8 | a[f + 1] << 0); f++);\n var g = 1E3 * c.endTime;\n e = Uh(e);\n e.length && c && (c = e.find(function (l) {\n return "com.apple.streaming.transportStreamTimestamp" === l.description;\n })) && (g = c.data);\n c = 0;\n e = new Uint8Array([]);\n for (var h = []; f < a.length;) {\n var k = oA(a, f);\n if (!k) return Promise.reject(new O(2, 3, 3018));\n b.audioSamplingRate = k.sampleRate;\n b.channelsCount = k.channelCount;\n c = k.sampleRate;\n e = k.fa;\n h.push({\n data: a.subarray(f, f + k.S),\n size: k.S,\n duration: 1536,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n });\n f += k.S;\n }\n a = Math.floor(g * c / 1E3);\n d = {\n id: b.id,\n type: "audio",\n codecs: "ec-3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: c,\n duration: d,\n Ra: [],\n fa: e,\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.h,\n baseMediaDecodeTime: a,\n Oa: h\n },\n stream: b\n };\n a = new Cu([d]);\n this.g.has(b.id) ? d = this.g.get(b.id) : (d = Iu(a), this.g.set(b.id, d));\n b = Zu(a);\n this.h++;\n b = lg(d, b);\n return Promise.resolve(b);\n };\n N("shaka.transmuxer.Ec3Transmuxer", pA);\n pA.prototype.transmux = pA.prototype.transmux;\n pA.prototype.getOriginalMimeType = pA.prototype.getOriginalMimeType;\n pA.prototype.convertCodecs = pA.prototype.convertCodecs;\n pA.prototype.isSupported = pA.prototype.isSupported;\n pA.prototype.destroy = pA.prototype.destroy;\n Yb("audio/ec3", function () {\n return new pA("audio/ec3");\n }, dc);\n function qA(a) {\n if (!a.length) return null;\n var b = a.find(function (v) {\n return 7 == v.type;\n });\n a = a.find(function (v) {\n return 8 == v.type;\n });\n if (!b || !a) return null;\n var c = new di(b.data),\n d = ki(c);\n ki(c);\n ki(c);\n ii(c);\n if (rA.includes(d) && (d = T(c), 3 === d && fi(c, 1), ii(c), ii(c), fi(c, 1), U(c))) {\n d = 3 !== d ? 8 : 12;\n for (var e = 0; e < d; e++) U(c) && (6 > e ? li(c, 16) : li(c, 64));\n }\n ii(c);\n d = T(c);\n if (0 === d) T(c);else if (1 === d) for (fi(c, 1), ii(c), ii(c), d = T(c), e = 0; e < d; e++) ii(c);\n ii(c);\n fi(c, 1);\n var f = T(c),\n g = T(c),\n h = gi(c, 1);\n 0 === h && fi(c, 1);\n fi(c, 1);\n var k = 0,\n l = 0,\n m = 0,\n n = 0;\n U(c) && (k = T(c), l = T(c), m = T(c), n = T(c));\n e = d = 1;\n if (U(c) && U(c)) {\n var q = ki(c),\n p = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2],\n u = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1];\n 0 < q && 16 > q ? (d = p[q - 1], e = u[q - 1]) : 255 === q && (d = gi(c, 16), e = gi(c, 16));\n }\n c = (2 - h) * (g + 1) * 16 - 2 * m - 2 * n;\n f = 16 * (f + 1) - 2 * k - 2 * l;\n k = [];\n b = b.fullData;\n k.push(b.byteLength >>> 8 & 255);\n k.push(b.byteLength & 255);\n k = k.concat.apply(k, w(b));\n b = [];\n a = a.fullData;\n b.push(a.byteLength >>> 8 & 255);\n b.push(a.byteLength & 255);\n b = b.concat.apply(b, w(a));\n a = new Uint8Array([1, k[3], k[4], k[5], 255, 225].concat(k, [1], b));\n return {\n height: c,\n width: f,\n la: a,\n sa: d,\n ua: e\n };\n }\n function sA(a) {\n var b = !1,\n c = [],\n d = a.find(function (k) {\n return 7 == k.type;\n }),\n e = !1;\n a = t(a);\n for (var f = a.next(); !f.done; f = a.next()) {\n f = f.value;\n var g = !1;\n switch (f.type) {\n case 1:\n g = e = !0;\n var h = f.data;\n d && 4 < h.length && (h = mi(new di(h)), 2 === h || 4 === h || 7 === h || 9 === h) && (b = !0);\n break;\n case 5:\n b = g = e = !0;\n break;\n case 6:\n g = !0;\n break;\n case 7:\n g = !0;\n break;\n case 8:\n g = !0;\n break;\n case 9:\n e = g = !0;\n break;\n case 12:\n g = !0;\n break;\n default:\n g = !1;\n }
1\n e && g && (g = f.fullData.byteLength, h = new Uint8Array(4), h[0] = g >> 24 & 255, h[1] = g >> 16 & 255, h[2] = g >> 8 & 255, h[3] = g & 255, c.push(lg(h, f.fullData)));\n }\n return c.length ? {\n data: lg.apply(fg, w(c)),\n Vc: b\n } : null;\n }\n var rA = [100, 110, 122, 244, 44, 83, 86, 118, 128, 138, 139, 134];\n function tA(a) {\n if (!a.length) return null;\n var b = a.find(function (g) {\n return 32 == g.type;\n }),\n c = a.find(function (g) {\n return 33 == g.type;\n }),\n d = a.find(function (g) {\n return 34 == g.type;\n });\n if (!b || !c || !d) return null;\n var e = uA(b.fullData);\n a = vA(c.fullData);\n var f = wA(d.fullData);\n b = xA(b.fullData, c.fullData, d.fullData, {\n Ze: e.Ze,\n uf: e.uf,\n De: a.De,\n Ee: a.Ee,\n xe: a.xe,\n Ce: a.Ce,\n ye: a.ye,\n ze: a.ze,\n Ae: a.Ae,\n Be: a.Be,\n re: a.re,\n se: a.se,\n te: a.te,\n ue: a.ue,\n ve: a.ve,\n we: a.we,\n oe: a.oe,\n Rd: a.Rd,\n ne: a.ne,\n me: a.me,\n le: a.le,\n bf: f.bf\n });\n return {\n height: a.height,\n width: a.width,\n la: b,\n sa: a.Uh,\n ua: a.Th\n };\n }\n function uA(a) {\n var b = new di(a, !0);\n ki(b);\n ki(b);\n gi(b, 4);\n gi(b, 2);\n gi(b, 6);\n a = gi(b, 3);\n b = U(b);\n return {\n Ze: a + 1,\n uf: b\n };\n }\n function vA(a) {\n a = new di(a, !0);\n ki(a);\n ki(a);\n var b = 0,\n c = 0,\n d = 0,\n e = 0;\n gi(a, 4);\n var f = gi(a, 3);\n U(a);\n for (var g = gi(a, 2), h = gi(a, 1), k = gi(a, 5), l = ki(a), m = ki(a), n = ki(a), q = ki(a), p = ki(a), u = ki(a), v = ki(a), x = ki(a), z = ki(a), y = ki(a), B = ki(a), A = [], D = [], F = 0; F < f; F++) A.push(U(a)), D.push(U(a));\n if (0 < f) for (F = f; 8 > F; F++) gi(a, 2);\n for (F = 0; F < f; F++) A[F] && gi(a, 88), D[F] && ki(a);\n T(a);\n A = T(a);\n 3 == A && gi(a, 1);\n D = T(a);\n F = T(a);\n U(a) && (b += T(a), c += T(a), d += T(a), e += T(a));\n var J = T(a),\n G = T(a),\n H = T(a);\n if (U(a)) for (var I = 0; I <= f; I++) T(a), T(a), T(a);else T(a), T(a), T(a);\n T(a);\n T(a);\n T(a);\n T(a);\n T(a);\n T(a);\n if (U(a) && U(a)) for (I = 0; 4 > I; I++) for (var L = 0; L < (3 === I ? 2 : 6); L++) if (U(a)) {\n var M = Math.min(64, 1 << 4 + (I << 1));\n 1 < I && ji(a);\n for (var P = 0; P < M; P++) ji(a);\n } else T(a);\n U(a);\n U(a);\n U(a) && (ki(a), T(a), T(a), U(a));\n I = T(a);\n for (M = L = 0; M < I; M++) if (P = !1, 0 !== M && (P = U(a)), P) {\n M === I && T(a);\n U(a);\n T(a);\n for (var V = P = 0; V <= L; V++) {\n var X = U(a),\n ba = !1;\n X || (ba = U(a));\n (X || ba) && P++;\n }\n L = P;\n } else {\n V = T(a);\n P = T(a);\n L = V + P;\n for (X = 0; X < V; X++) T(a), U(a);\n for (V = 0; V < P;
1 V++) T(a), U(a);\n }\n if (U(a)) for (I = T(a), L = 0; L < I; L++) {\n for (M = 0; M < H + 4; M++) gi(a, 1);\n gi(a, 1);\n }\n I = H = 1;\n L = 0;\n U(a);\n U(a);\n if (U(a)) {\n U(a) && (M = ki(a), P = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2], V = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1], 0 < M && 16 > M ? (H = P[M - 1], I = V[M - 1]) : 255 === M && (H = gi(a, 16), I = gi(a, 16)));\n U(a) && U(a);\n U(a) && (gi(a, 3), U(a), U(a) && (ki(a), ki(a), ki(a)));\n U(a) && (T(a), T(a));\n U(a);\n U(a);\n U(a);\n if (M = U(a)) T(a), T(a), T(a), T(a);\n if (U(a) && (gi(a, 32), gi(a, 32), U(a) && T(a), U(a))) {\n V = !1;\n M = U(a);\n P = U(a);\n if (M || P) {\n if (V = U(a)) ki(a), gi(a, 5), U(a), gi(a, 5);\n gi(a, 4);\n gi(a, 4);\n V && gi(a, 4);\n gi(a, 5);\n gi(a, 5);\n gi(a, 5);\n }\n for (X = 0; X <= f; X++) {\n var R = !0;\n ba = 1;\n U(a) || (R = U(a));\n var Oa = !1;\n R ? T(a) : Oa = U(a);\n Oa || (ba = T(a) + 1);\n if (M) {\n for (R = 0; R < ba; R++) T(a), T(a), V && (T(a), T(a));\n U(a);\n }\n if (P) {\n for (R = 0; R < ba; R++) T(a), T(a), V && (T(a), T(a));\n U(a);\n }\n }\n }\n U(a) && (U(a), U(a), U(a), L = T(a), T(a), T(a), T(a), T(a));\n }\n return {\n xe: B,\n De: g,\n Ee: h,\n Ce: k,\n ye: l,\n ze: m,\n Ae: n,\n Be: q,\n re: p,\n se: u,\n te: v,\n ue: x,\n ve: z,\n we: y,\n Rd: L,\n oe: 0,\n ne: A,\n me: J,\n le: G,\n width: D - (b + c) * (1 === A || 2 === A ? 2 : 1),\n height: F - (d + e) * (1 === A ? 2 : 1),\n Uh: H,\n Th: I\n };\n }\n function wA(a) {\n var b = new di(a, !0);\n ki(b);\n ki(b);\n T(b);\n T(b);\n U(b);\n U(b);\n gi(b, 3);\n U(b);\n U(b);\n T(b);\n T(b);\n ji(b);\n U(b);\n U(b);\n U(b) && T(b);\n ji(b);\n ji(b);\n U(b);\n U(b);\n U(b);\n U(b);\n a = U(b);\n b = U(b);\n var c = 1;\n b && a ? c = 0 : b ? c = 3 : a && (c = 2);\n return {\n bf: c\n };\n }\n function xA(a, b, c, d) {\n var e = new Uint8Array(23 + (5 + a.byteLength) + (5 + b.byteLength) + (5 + c.byteLength));\n e[0] = 1;\n e[1] = (d.De & 3) << 6 | (d.Ee ? 1 : 0) << 5 | d.Ce & 31;\n e[2] = d.ye;\n e[3] = d.ze;\n e[4] = d.Ae;\n e[5] = d.Be;\n e[6] = d.re;\n e[7] = d.se;\n e[8] = d.te;\n e[9] = d.ue;\n e[10] = d.ve;\n e[11] = d.we;\n e[12] = d.xe;\n e[13] = 240 | (d.Rd & 3840) >> 8;\n e[14] = d.Rd & 255;\n e[15] = 252 | d.bf & 3;\n e[16] = 252 | d.ne & 3;\n e[17] = 248 | d.me & 7;\n e[18] = 248 | d.le & 7;\n e[19] = 0;\n e[20] = 0;\n e[21] = (d.oe & 3) << 6 | (d.Ze & 7) << 3 | (d.uf ? 1 : 0) << 2 | 3;\n e[22] = 3;\n e[23] = 160;\n e[24] = 0;\n e[25] = 1;\n e[26] = (a.byteLength & 65280) >> 8;\n e[27] = (a.byteLength & 255) >> 0;\n e.set(a, 28);\n e[23 + (5 + a.byteLength)] = 161;\n e[a.byteLength + 29] = 0;\n e[a.byteLength + 30] = 1;\n e[a.byteLength + 31] = (b.byteLength & 65280) >> 8;\n e[a.byteLength + 32] = (b.byteLength & 255) >> 0;\n e.set(b, a.byteLength + 33);\n e[23 + (a.byteLength + 10 + b.byteLength)] = 162;\n e[a.byteLength + 10 + b.byteLength + 24] = 0;\n e[a.byteLength + 10 + b.byteLength + 25] = 1;\n e[a.byteLength + 10 + b.byteLength + 26] = (c.byteLength & 65280) >> 8;\n e[a.byteLength + 10 + b.byteLength + 27] = (c.byteLength & 255) >> 0;\n e.set(c, a.byteLength + 10 + b.byteLength + 28);\n return e;\n }\n ;\n function yA(a, b) {\n var c = a[b + 1] >> 3 & 3,\n d = a[b + 1] >> 1 & 3,\n e = a[b + 2] >> 4 & 15,\n f = a[b + 2] >> 2 & 3;\n if (1 !== c && 0 !== e && 15 !== e && 3 !== f) {\n var g = a[b + 3] >> 6;\n e = 1E3 * zA[14 * (3 === c ? 3 - d : 3 === d ? 3 : 4) + e - 1];\n f = AA[3 * (3 === c ? 0 : 2 === c ? 1 : 2) + f];\n c = BA[c][d];\n var h = CA[d],\n k = Math.floor(c * e / f + (a[b + 2] >> 1 & 1)) * h,\n l = (navigator.userAgent || "").match(/Chrome\\/(\\d+)/i);\n (l = l ? parseInt(l[1], 10) : 0) && 87 >= l && 2 === d && 224E3 <= e && 0 === g && (a[b + 3] |= 128);\n return {\n sampleRate: f,\n channelCount: 3 === g ? 1 : 2,\n S: k,\n Sh: 8 * c * h\n };\n }\n return null;\n }\n function DA(a, b) {\n return 255 === a[b] && 224 === (a[b + 1] & 224) && 0 !== (a[b + 1] & 6);\n }\n var zA = [32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160],\n AA = [44100, 48E3, 32E3, 22050, 24E3, 16E3, 11025, 12E3, 8E3],\n BA = [[0, 72, 144, 12], [0, 0, 0, 0], [0, 72, 144, 12], [0, 144, 144, 12]],\n CA = [0, 1, 1, 4];\n function EA(a) {\n this.i = a;\n this.h = 0;\n this.g = new Map();\n }\n r = EA.prototype;\n r.destroy = function () {\n this.g.clear();\n };\n r.isSupported = function (a) {\n return "audio/mpeg" == a.toLowerCase().split(";")[0] ? Za(this.convertCodecs("audio", a)) : !1;\n };\n r.convertCodecs = function (a, b) {\n return "audio/mpeg" == b.toLowerCase().split(";")[0] ? \'audio/mp4; codecs="mp3"\' : b;\n };\n r.getOriginalMimeType = function () {\n return this.i;\n };\n r.transmux = function (a, b, c, d) {\n a = hb(a);\n for (c = Vh(a).length; c < a.length; c++) {\n var e = c;\n if (e + 1 < a.length && DA(a, e)) {\n var f = yA(a, e),\n g = 4;\n f && f.S && (g = f.S);\n e += g;\n e = e === a.length || e + 1 < a.length && DA(a, e);\n } else e = !1;\n if (e) break;\n }\n var h;\n for (e = []; c < a.length;) {\n f = yA(a, c);\n if (!f) return Promise.reject(new O(2, 3, 3018));\n h || (h = f);\n c + f.S <= a.length && e.push({\n data: a.subarray(c, c + f.S),\n size: f.S,\n duration: 1152,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n });\n c += f.S;\n }\n if (!h) return Promise.reject(new O(2, 3, 3018));\n a = 9E4 * h.Sh / h.sampleRate * this.h;\n d = {\n id: b.id,\n type: "audio",\n codecs: "mp3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: h.sampleRate,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.h,\n baseMediaDecodeTime: a,\n Oa: e\n },\n stream: b\n };\n h = new Cu([d]);\n this.g.has(b.id) ? d = this.g.get(b.id) : (d = Iu(h), this.g.set(b.id, d));\n b = Zu(h);\n this.h++;\n b = lg(d, b);\n return Promise.resolve(b);\n };\n N("shaka.transmuxer.Mp3Transmuxer", EA);\n EA.prototype.transmux = EA.prototype.transmux;\n EA.prototype.getOriginalMimeType = EA.prototype.getOriginalMimeType;\n EA.prototype.convertCodecs = EA.prototype.convertCodecs;\n EA.prototype.isSupported = EA.prototype.isSupported;\n EA.prototype.destroy = EA.prototype.destroy;\n Yb("audio/mpeg", function () {\n return new EA("audio/mpeg");\n }, dc);\n function FA(a) {\n this.h = a;\n this.g = null;\n }\n r = FA.prototype;\n r.destroy = function () {};\n r.isSupported = function (a) {\n if ("video/mp2t" != a.toLowerCase().split(";")[0]) return !1;\n var b = Oc(a).split(","),\n c = Bc("audio", b);\n b = Bc("video", b);\n return !c || b || "mp3" != Kc(c) ? !1 : Za(this.convertCodecs("audio", a));\n };\n r.convertCodecs = function (a, b) {\n return "video/mp2t" == b.toLowerCase().split(";")[0] ? "audio/mpeg" : b;\n };\n r.getOriginalMimeType = function () {\n return this.h;\n };\n r.transmux = function (a, b, c, d, e) {\n this.g ? this.g.clearData() : this.g = new ni();\n a = hb(a);\n a = this.g.parse(a);\n if ("mp3" != a.Pc().audio || "audio" != e) return Promise.reject(new O(2, 3, 3018));\n e = new Uint8Array([]);\n a = t(a.Mb());\n for (b = a.next(); !b.done; b = a.next()) if (b = b.value.data) for (c = 0; c < b.length;) (d = yA(b, c)) ? (c + d.S <= b.length && (e = lg(e, b.subarray(c, c + d.S)
1)), c += d.S) : c++;\n return Promise.resolve(e);\n };\n N("shaka.transmuxer.MpegTsTransmuxer", FA);\n FA.prototype.transmux = FA.prototype.transmux;\n FA.prototype.getOriginalMimeType = FA.prototype.getOriginalMimeType;\n FA.prototype.convertCodecs = FA.prototype.convertCodecs;\n FA.prototype.isSupported = FA.prototype.isSupported;\n FA.prototype.destroy = FA.prototype.destroy;\n Yb("video/mp2t", function () {\n return new FA("video/mp2t");\n }, cc); /*\n @license\n MSS Transmuxer\n Copyright 2015 Dash Industry Forum\n SPDX-License-Identifier: BSD-3-Clause\n */\n function GA(a) {\n this.h = a;\n (this.g = Ls.get("ISOBoxer")()) && HA(this);\n }\n function HA(a) {\n function b() {\n this._procFullBox();\n this.flags & 1 && (this._procField("AlgorithmID", "uint", 24), this._procField("IV_size", "uint", 8), this._procFieldArray("KID", 16, "uint", 8));\n this._procField("sample_count", "uint", 32);\n this._procEntries("entry", this.sample_count, function (c) {\n this._procEntryField(c, "InitializationVector", "data", 8);\n this.flags & 2 && (this._procEntryField(c, "NumberOfEntries", "uint", 16), this._procSubEntries(c, "clearAndCryptedData", c.NumberOfEntries, function (d) {\n this._procEntryField(d, "BytesOfClearData", "uint", 16);\n this._procEntryField(d, "BytesOfEncryptedData", "uint", 32);\n }));\n });\n }\n a.g.addBoxProcessor("saio", function () {\n this._procFullBox();\n this.flags & 1 && (this._procField("aux_info_type", "uint", 32), this._procField("aux_info_type_parameter", "uint", 32));\n this._procField("entry_count", "uint", 32);\n this._procFieldArray("offset", this.entry_count, "uint", 1 === this.version ? 64 : 32);\n });\n a.g.addBoxProcessor("saiz", function () {\n this._procFullBox();\n this.flags & 1 && (this._procField("aux_info_type", "uint", 32), this._procField("aux_info_type_parameter", "uint", 32));\n this._procField("default_sample_info_size", "uint", 8);\n this._procField("sample_count", "uint", 32);\n 0 === this.default_sample_info_size && this._procFieldArray("sample_info_size", this.sample_count, "uint", 8);\n });\n a.g.addBoxProcessor("senc", b);\n a.g.addBoxProcessor("uuid", function () {\n for (var c = !0, d = 0; 16 > d; d++) this.usertype[d] !== IA[d] && (c = !1);
1\n c && (this._parsing && (this.type = "sepiff"), b.call(this));\n });\n }\n r = GA.prototype;\n r.destroy = function () {};\n r.isSupported = function (a, b) {\n var c = a.startsWith("mss/");\n if (!this.g || !c) return !1;\n if (b) return Za(this.convertCodecs(b, a));\n b = this.convertCodecs("audio", a);\n a = this.convertCodecs("video", a);\n return Za(b) || Za(a);\n };\n r.convertCodecs = function (a, b) {\n return b.replace("mss/", "");\n };\n r.getOriginalMimeType = function () {\n return this.h;\n };\n r.transmux = function (a, b, c) {\n if (!c) return Promise.resolve(hb(a));\n if (!b.mssPrivateData) return Promise.reject(new O(2, 3, 3020));\n try {\n var d,\n e = this.g.parseBuffer(a),\n f = e.fetch("tfhd");\n f.track_ID = b.id + 1;\n var g = e.fetch("tfdt"),\n h = e.fetch("traf");\n null === g && (g = this.g.createFullBox("tfdt", h, f), g.version = 1, g.flags = 0, g.baseMediaDecodeTime = Math.floor(c.startTime * b.mssPrivateData.timescale));\n var k = e.fetch("trun"),\n l = e.fetch("tfxd");\n l && l._parent.boxes.splice(l._parent.boxes.indexOf(l), 1);\n var m = e.fetch("tfrf");\n m && m._parent.boxes.splice(m._parent.boxes.indexOf(m), 1);\n var n = e.fetch("sepiff");\n if (null !== n) {\n n.type = "senc";\n n.usertype = void 0;\n var q = e.fetch("saio");\n if (null === q) {\n q = this.g.createFullBox("saio", h);\n q.version = 0;\n q.flags = 0;\n q.entry_count = 1;\n q.offset = [0];\n var p = this.g.createFullBox("saiz", h);\n p.version = 0;\n p.flags = 0;\n p.sample_count = n.sample_count;\n p.default_sample_info_size = 0;\n p.sample_info_size = [];\n if (n.flags & 2) for (d = 0; d < n.sample_count; d += 1) p.sample_info_size[d] = 10 + 6 * n.entry[d].NumberOfEntries;else p.default_sample_info_size = 8;\n }\n }\n f.flags &= 16777214;\n f.flags |= 131072;\n k.flags |= 1;\n var u = e.fetch("moof");\n k.data_offset = u.getLength() + 8;\n var v = e.fetch("saio");\n null !== v && (v.offset[0] = JA(u, "traf") + JA(h, "senc") + 16);\n var x = hb(e.write());\n return Promise.resolve(x);\n } catch (z) {\n return z instanceof O ? Promise.reject(z) : Promise.reject(new O(2, 3, 3022));\n }\n };\n function JA(a, b) {\n for (var c = 8, d = 0; d < a.boxes.length && a.boxes[d].type !== b; d++) c += a.boxes[d].size;\n return c;\n }\n N("shaka.transmuxer.MssTransmuxer", GA);\n GA.prototype.transmux = GA.prototype.transmux;\n GA.prototype.getOriginalMimeType = GA.prototype.getOriginalMimeType;\n GA.prototype.convertCodecs = GA.prototype.convertCodecs;\n GA.prototype.isSupported = GA.prototype.isSupported;\n GA.prototype.destroy = GA.prototype.destroy;\n var IA = new Uint8Array([162, 57, 79, 82, 90, 155, 79, 20, 162, 68, 108, 66, 124, 100, 141, 244]);\n Yb("mss/audio/mp4", function () {\n return new GA("mss/audio/mp4");\n }, dc);\n Yb("mss/video/mp4", function () {\n return new GA("mss/video/mp4");\n }, dc);\n function KA(a) {\n this.j = a;\n this.g = 0;\n this.h = new Map();\n this.i = null;\n }\n r = KA.prototype;\n r.destroy = function () {\n this.h.clear();\n };\n r.isSupported = function (a, b) {\n if ("video/mp2t" != a.toLowerCase().split(";")[0]) return !1;\n var c = a;\n b && (c = this.convertCodecs(b, a));\n var d = Oc(c).split(",");\n c = Bc("audio", d);\n d = Bc("video", d);\n if (c && (c = Kc(c), !LA.includes(c)) || d && (c = Kc(d), !MA.includes(c))) return !1;\n if (b) return Za(this.convertCodecs(b, a));\n b = this.convertCodecs("audio", a);\n a = this.convertCodecs("video", a);\n return Za(b) || Za(a);\n };\n r.convertCodecs = function (a, b) {\n return "video/mp2t" == b.toLowerCase().split(";")[0] ? (b = Oc(b).replace("mp4a.40.34", "mp3").split(",").map(this.Sg).join(","), "audio" == a ? \'audio/mp4; codecs="\' + b + \'"\' : \'video/mp4; codecs="\' + b + \'"\') : b;\n };\n r.Sg = function (a) {\n if (a.includes("avc1")) {\n var b = a.split(".");\n if (3 == b.length) return a = b.shift() + ".", a += parseInt(b.shift(), 10).toString(16), a += ("
1000" + parseInt(b.shift(), 10).toString(16)).slice(-4);\n }\n return a;\n };\n r.getOriginalMimeType = function () {\n return this.j;\n };\n r.transmux = function (a, b, c, d, e) {\n this.i ? this.i.clearData() : this.i = new ni();\n a = hb(a);\n var f = this.i.parse(a);\n a = [];\n var g = f.Pc();\n try {\n var h = null;\n if ("video" == e) {\n switch (g.video) {\n case "avc":\n var k = [],\n l = null,\n m = [],\n n = f.kc();\n if (!n.length) throw new O(2, 3, 3023);\n for (var q = 0; q < n.length; q++) {\n var p = n[q],\n u = p.nalus;\n m.push.apply(m, w(u));\n var v = sA(u);\n if (v) {\n null == l && (l = p.dts);\n var x = void 0;\n x = q + 1 < n.length ? (n[q + 1].dts || 0) - (p.dts || 0) : 1 < n.length ? (p.dts || 0) - (n[q - 1].dts || 0) : 9E4 * (c.endTime - c.startTime);\n k.push({\n data: v.data,\n size: v.data.byteLength,\n duration: x,\n Ta: Math.round((p.pts || 0) - (p.dts || 0)),\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: v.Vc ? 2 : 1,\n Va: v.Vc ? 0 : 1\n }\n });\n }\n }\n var z = qA(m);\n if (!z || null == l) throw new O(2, 3, 3018);\n b.height = z.height;\n b.width = z.width;\n h = {\n id: b.id,\n type: "video",\n codecs: "avc1",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: 9E4,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: z.la,\n sa: z.sa,\n ua: z.ua,\n data: {\n gb: this.g,\n baseMediaDecodeTime: l,\n Oa: k\n },\n stream: b\n };\n break;\n case "hvc":\n n = [];\n p = null;\n u = [];\n k = f.kc();\n if (!k.length) throw new O(2, 3, 3023);\n for (v = 0; v < k.length; v++) {\n l = k[v];\n m = l.nalus;\n u.push.apply(u, w(m));\n z = !1;\n var y = [],\n B = !1;\n q = t(m);\n for (x = q.next(); !x.done; x = q.next()) {\n var A = x.value;\n switch (A.type) {\n case 1:\n case 0:\n var D = B = !0;\n break;\n case 19:\n case 20:\n case 21:\n z = D = B = !0;\n break;\n case 32:\n D = !0;\n break;\n case 33:\n D = !0;\n break;\n case 34:\n D = !0;\n break;\n case 35:\n B = D = !0;\n break;\n case 39:\n case 40:\n D = !0;\n break;\n default:\n D = !1;\n }\n if (B && D) {\n var F = A.fullData.byteLength,\n J = new Uint8Array(4);\n J[0] = F >> 24 & 255;\n J[1] = F >> 16 & 255;\n J[2] = F >> 8 & 255;\n J[3] = F & 255;\n y.push(lg(J, A.fullData));\n }\n }\n var G = y.length ? {\n data: lg.apply(fg, w(y)),\n Vc: z\n } : null;\n G && (null == p && null != l.dts && (p = l.dts), z = void 0, z = v + 1 < k.length ? (k[v + 1].dts || 0) - (l.dts || 0) : 1 < k.length ? (l.dts || 0) - (k[v - 1].dts || 0) : 9E4 * (c.endTime - c.startTime), n.push({\n data: G.data,\n size: G.data.byteLength,\n duration: z,\n Ta: Math.round((l.pts || 0) - (l.dts || 0)),\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: G.Vc ? 2 : 1,\n Va: G.Vc ? 0 : 1\n }\n }));\n }\n var H = tA(u);\n if (!H || null == p) throw new O(2, 3, 3018);\n b.height = H.height;\n b.width = H.width;\n h = {\n id: b.id,\n type: "video",\n codecs: "hvc1",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: 9E4,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: H.la,\n sa: H.sa,\n ua: H.ua,\n data: {\n gb: this.g,\n baseMediaDecodeTime: p,\n Oa: n\n },\n stream: b\n };\n }\n h && (a.push(h), h = null);\n }\n if ("audio" == e) {\n switch (g.audio) {\n case "aac":\n for (var I = [], L, M = null, P = t(f.Mb()), V = P.next(); !V.done; V = P.next()) {\n var X = V.value,\n ba = X.data;\n if (ba) {\n var R = 0;\n L = hA(ba, R);\n if (!L) throw new O(2, 3, 3018);\n b.audioSamplingRate = L.sampleRate;\n b.channelsCount = L.channelCount;\n null == M && null !== X.pts && (M = X.pts);\n for (; R < ba.length;) {\n var Oa = gA(ba, R);\n if (Oa) {\n var ab = Oa.Hd + Oa.S;\n R + ab <= ba.length && I.push({\n data: ba.subarray(R + Oa.Hd, R + ab),\n size: Oa.S,\n duration: 1024,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n });\n R += ab;\n } else R++;\n }\n }\n }\n if (!L || null == M) {\n if (!f.kc().length) throw new O(2, 3, 3018);\n M = 9E4 * c.startTime;\n var vb = Bc("audio", b.codecs.split(","));\n if (!vb || !b.channelsCount || !b.audioSamplingRate) throw new O(2, 3, 3018);\n L = {\n sampleRate: b.audioSamplingRate,\n channelCount: b.channelsCount,\n ha: vb\n };\n var Tb = jA(vb, b.channelsCount);\n if (!Tb) throw new O(2, 3, 3018);\n var Cb = M + 9E4 * (c.endTime - c.startTime);\n for (f = M; f < Cb;) I.push({\n data: Tb,\n size: Tb.byteLength,\n duration: 1024,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n }), f += 1024 / L.sampleRate * 9E4;\n }\n var xa = L.sampleRate;\n f = M / 9E4 * xa;\n h = {\n id: b.id,\n type: "audio",\n codecs: L.ha,\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: xa,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.g,\n baseMediaDecodeTime: f,\n Oa: I\n },\n stream: b\n };\n break;\n case "ac3":\n L = [];\n xa = 0;\n I = new Uint8Array([]);\n M = null;\n R = t(f.Mb());\n for (var ib = R.next(); !ib.done; ib = R.next()) {\n var wb = ib.value,\n Ub = wb.data;\n null == M && null !== wb.pts && (M = wb.pts);\n for (f = 0; f < Ub.length;) {\n var Vb = lA(Ub, f);\n Vb ? (b.audioSamplingRate = Vb.sampleRate, b.channelsCount = Vb.channelCount, xa = Vb.sampleRate, I = Vb.fa, L.push({\n data: Ub.subarray(f, f + Vb.S),\
1n size: Vb.S,\n duration: 1536,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n }), f += Vb.S) : f++;\n }\n }\n if (0 == xa || 0 == I.byteLength || null == M) throw new O(2, 3, 3018);\n f = M / 9E4 * xa;\n h = {\n id: b.id,\n type: "audio",\n codecs: "ac-3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: xa,\n duration: d,\n Ra: [],\n fa: I,\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.g,\n baseMediaDecodeTime: f,\n Oa: L\n },\n stream: b\n };\n break;\n case "ec3":\n L = [];\n xa = 0;\n M = new Uint8Array([]);\n I = null;\n for (var jb = t(f.Mb()), Ed = jb.next(); !Ed.done; Ed = jb.next()) {\n var hd = Ed.value,\n Fd = hd.data;\n null == I && null !== hd.pts && (I = hd.pts);\n for (f = 0; f < Fd.length;) {\n var tc = oA(Fd, f);\n tc ? (b.audioSamplingRate = tc.sampleRate, b.channelsCount = tc.channelCount, xa = tc.sampleRate, M = tc.fa, L.push({\n data: Fd.subarray(f, f + tc.S),\n size: tc.S,\n duration: 1536,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n }), f += tc.S) : f++;\n }\n }\n if (0 == xa || 0 == M.byteLength || null == I) throw new O(2, 3, 3018);\n f = I / 9E4 * xa;\n h = {\n id: b.id,\n type: "audio",\n codecs: "ec-3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: xa,\n duration: d,\n Ra: [],\n fa: M,\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.g,\n baseMediaDecodeTime: f,\n Oa: L\n },\n stream: b\n };\n break;\n case "mp3":\n L = [];\n var Gd;\n xa = null;\n for (var Bh = t(f.Mb()), Fe = Bh.next(); !Fe.done; Fe = Bh.next()) {\n var Hd = Fe.value,\n Ac = Hd.data;\n if (Ac) for (null == xa && null !== Hd.pts && (xa = Hd.pts), f = 0; f < Ac.length;) {\n var Wc = yA(Ac, f);\n Wc ? (Gd || (Gd = Wc), f + Wc.S <= Ac.length && L.push({\n data: Ac.subarray(f, f + Wc.S),\n size: Wc.S,\n duration: 1152,\n Ta: 0,\n flags: {\n Ua: 0,\n La: 0,\n Ja: 0,\n Ha: 0,\n Ia: 2,\n Va: 0\n }\n }), f += Wc.S) : f++;\n }\n }\n if (!Gd || null == xa) throw new O(2, 3, 3018);\n var Lf = Gd.sampleRate;\n f = xa / 9E4 * Lf;\n h = {\n id: b.id,\n type: "audio",\n codecs: "mp3",\n encrypted: b.encrypted && 0 < b.drmInfos.length,\n timescale: Lf,\n duration: d,\n Ra: [],\n fa: new Uint8Array([]),\n la: new Uint8Array([]),\n sa: 0,\n ua: 0,\n data: {\n gb: this.g,\n baseMediaDecodeTime: f,\n Oa: L\n },\n stream: b\n };\n }\n h && a.push(h);\n }\n } catch (Mf) {\n return Mf && 3023 == Mf.code ? Promise.resolve(new Uint8Array([])) : Promise.reject(Mf);\n }\n if (!a.length) return Promise.reject(new O(2, 3, 3018));\n a = new Cu(a);\n this.h.has(b.id) ? d = this.h.get(b.id) : (d = Iu(a), this.h.set(b.id, d));\n b = Zu(a);\n this.g++;\n b = lg(d, b);\n return Promise.resolve(b);\n };\n N("shaka.transmuxer.TsTransmuxer", KA);\n KA.prototype.transmux = KA.prototype.transmux;\n KA.prototype.getOriginalMimeType = KA.prototype.getOriginalMimeType;\n KA.prototype.convertCodecs = KA.prototype.convertCodecs;\n KA.prototype.isSupported = KA.prototype.isSupported;\n KA.prototype.destroy = KA.prototype.destroy;\n var LA = ["aac", "ac-3", "ec-3", "mp3"],\n MA = ["avc", "hevc"];\n Yb("video/mp2t", function () {\n return new KA("video/mp2t");\n }, bc); /*\n @license\n EME Encryption Scheme Polyfill\n Copyright 2019 Google LLC\n SPDX-License-Identifier: Apache-2.0\n */\n function NA() {}\n var OA;\n function PA() {\n OA ? console.debug("EmeEncryptionSchemePolyfill: Already installed.") : navigator.requestMediaKeySystemAccess && MediaKeySystemAccess.prototype.getConfiguration ? (OA = navigator.requestMediaKeySystemAccess, console.debug("EmeEncryptionSchemePolyfill: Waiting to detect encryptionScheme support."), navigator.requestMediaKeySystemAccess = QA) : console.debug("EmeEncryptionSchemePolyfill: EME not found");\n }\n function QA(a, b) {\n var c = this,\n d;\n return K(function (e) {\n if (1 == e.g) return console.assert(c == navigator, \'bad "this" for requestMediaKeySystemAccess\'), C(e, OA.call(c, a, b), 2);\n d = e.h;\n if (RA(d)) return console.debug("EmeEncryptionSchemePolyfill: Native encryptionScheme support found."), navigator.requestMediaKeySystemAccess = OA, e["return"](d);\n console.debug("EmeEncryptionSchemePolyfill: No native encryptionScheme support found. Patching encryptionScheme support.");\n navigator.requestMediaKeySystemAccess = SA;\n return e["return"](SA.call(c, a, b));\n });\n }\n function SA(a, b) {\n var c = this,\n d,\n e,\n f,\n g,\n h,\n k,\n l,\n m,\n n,\n q;\n return K(function (p) {\n if (1 == p.g) {\n console.assert(c == navigator, \'bad "this" for requestMediaKeySystemAccess\');\n d = TA(a);\n e = [];\n f = t(b);\n for (g = f.next(); !g.done; g = f.next()) h = g.value, k = UA(h.videoCapabilities, d), l = UA(h.audioCapabilities, d), h.videoCapabilities && h.videoCapabilities.length && !k.length || h.audioCapabilities && h.audioCapabilities.length && !l.length || (m = Object.assign({}, h), m.videoCapabilities = k, m.audioCapabilities = l, e.push(m));\n if (!e.length) throw n = Error("Unsupported keySystem or supportedConfigurations."), n.name = "NotSupportedError", n.code = DOMException.NOT_SUPPORTED_ERR, n;\n return C(p, OA.call(c, a, e), 2);\n }\n q = p.h;\n return p["return"](new VA(q, d));\n });\n }\n function UA(a, b) {\n return a ? a.filter(function (c) {\n return !c.encryptionScheme || c.encryptionScheme == b;\n }) : a;\n }\n N("EmeEncryptionSchemePolyfill", NA);\n NA.install = PA;\n function WA() {}\n var XA;
1\n function YA() {\n XA ? console.debug("McEncryptionSchemePolyfill: Already installed.") : navigator.mediaCapabilities ? (XA = navigator.mediaCapabilities.decodingInfo, console.debug("McEncryptionSchemePolyfill: Waiting to detect encryptionScheme support."), navigator.mediaCapabilities.decodingInfo = ZA) : console.debug("McEncryptionSchemePolyfill: MediaCapabilities not found");\n }\n function ZA(a) {\n var b = this,\n c,\n d,\n e;\n return K(function (f) {\n switch (f.g) {\n case 1:\n return console.assert(b == navigator.mediaCapabilities, \'bad "this" for decodingInfo\'), C(f, XA.call(b, a), 2);\n case 2:\n c = f.h;\n if (!a.keySystemConfiguration) return f["return"](c);\n if ((d = c.keySystemAccess) && RA(d)) return console.debug("McEncryptionSchemePolyfill: Native encryptionScheme support found."), navigator.mediaCapabilities.decodingInfo = XA, f["return"](c);\n console.debug("McEncryptionSchemePolyfill: No native encryptionScheme support found. Patching encryptionScheme support.");\n navigator.mediaCapabilities.decodingInfo = $A;\n if (d) {\n f.B(3);\n break;\n }\n e = c;\n return C(f, aB(a), 4);\n case 4:\n return e.keySystemAccess = f.h, f["return"](c);\n case 3:\n return f["return"]($A.call(b, a));\n }\n });\n }\n function $A(a) {\n var b = this,\n c,\n d,\n e,\n f,\n g,\n h,\n k,\n l;\n return K(function (m) {\n switch (m.g) {\n case 1:\n return console.assert(b == navigator.mediaCapabilities, \'bad "this" for decodingInfo\'), c = null, a.keySystemConfiguration && (d = a.keySystemConfiguration, e = d.keySystem, f = d.audio && d.audio.encryptionScheme, g = d.video && d.video.encryptionScheme, c = TA(e), h = {\n powerEfficient: !1,\n smooth: !1,\n supported: !1,\n keySystemAccess: null,\n configuration: a\n }, f && f != c || g && g != c) ? m["return"](h) : C(m, XA.call(b, a), 2);\n case 2:\n k = m.h;\n if (k.keySystemAccess) {\n k.keySystemAccess = new VA(k.keySystemAccess, c);\n m.B(3);\n break;\n }\n if (!a.keySystemConfiguration) {\n m.B(3);\n break;\n }\n l = k;\n return C(m, aB(a), 5);\n case 5:\n l.keySystemAccess = m.h;\n case 3:\n return m["return"](k);\n }\n });\n }\n function aB(a) {\n var b, c;\n return K(function (d) {\n if (1 == d.g) {\n var e = a.keySystemConfiguration,\n f = [],\n g = [];\n e.audio && f.push({\n robustness: e.audio.robustness || "",\n contentType: a.audio.contentType\n });\n e.video && g.push({\n robustness: e.video.robustness || "",\n contentType: a.video.contentType\n });\n e = {\n initDataTypes: e.initDataType ? [e.initDataType] : [],\n distinctiveIdentifier: e.distinctiveIdentifier,\n persistentState: e.persistentState,\n sessionTypes: e.sessionTypes\n };\n f.length && (e.audioCapabilities = f);\n g.length && (e.videoCapabilities = g);\n b = e;\n return C(d, navigator.requestMediaKeySystemAccess(a.keySystemConfiguration.keySystem, [b]), 2);\n }\n c = d.h;\n return d["return"](c);\n });\n }\n N("McEncryptionSchemePolyfill", WA);\n WA.install = YA;\n function VA(a, b) {\n this.h = a;\n this.g = b;\n this.keySystem = a.keySystem;\n }\n VA.prototype.getConfiguration = function () {\n var a = this.h.getConfiguration();\n if (a.videoCapabilities) for (var b = t(a.videoCapabilities), c = b.next(); !c.done; c = b.next()) c.value.encryptionScheme = this.g;\n if (a.audioCapabilities) for (b = t(a.audioCapabilities), c = b.next(); !c.done; c = b.next()) c.value.encryptionScheme = this.g;\n return a;\n };\n VA.prototype.createMediaKeys = function () {\n return this.h.createMediaKeys();\n };\n function TA(a) {\n if (a.startsWith("com.widevine") || a.startsWith("com.microsoft") || a.startsWith("com.chromecast") || a.startsWith("com.adobe") || a.startsWith("org.w3")) return "cenc";\n if (a.startsWith("com.apple")) return "cbcs-1-9";\n console.warn("EmeEncryptionSchemePolyfill: Unknown key system:", a, "Please contribute!");\n return null;\n }\n function RA(a) {\n a = a.getConfiguration();\n var b = a.audioCapabilities && a.audioCapabilities[0];\n return (a = a.videoCapabilities && a.videoCapabilities[0] || b) && void 0 !== a.encryptionScheme ? !0 : !1;\n }\n function bB() {}\n function yx() {\n PA();\n YA();\n }\n N("EncryptionSchemePolyfills", bB);\n bB.install = yx;\n "undefined" !== typeof module && module.exports && (module.exports = bB);\n }).call(exportTo, innerGlobal, innerGlobal, undefined);
1\n if (true) for (var k in exportTo.shaka) exports[k] = exportTo.shaka[k];else {}\n})();\n\n//# sourceURL=webpack://@wilmaatv/winston-mysports/../../../../node_modules/shaka-player/dist/shaka-player.compiled.js?')}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.