PageSourceSearch

https://live.mysports.ch/32f27700-8fd09dd8728ab3b8ea5e.js

js mysports.ch collected 2026-10-06 13:59:39 UTC 911,048 bytes, 1 lines download raw bytes

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          "&amp;": "&",\n          "&lt;": "<",\n          "&gt;": ">",\n          "&quot;": \'"\',\n          "&#39;": "\'",\n          "&nbsp;": "\\xA0",\n          "&lrm;": "\\u200E",\n          "&rlm;": "\\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.