eval("/*! @name @videojs/vhs-utils @version 1.3.0 @license MIT */\n\n/**\n * @file stream.js\n */\n\n/**\n * A lightweight readable stream implemention that handles event dispatching.\n *\n * @class Stream\n */\n\nvar Stream = /*#__PURE__*/function () {\n function Stream() {\n this.listeners = {};\n }\n /**\n * Add a listener for a specified event type.\n *\n * @param {string} type the event name\n * @param {Function} listener the callback to be invoked when an event of\n * the specified type occurs\n */\n\n\n var _proto = Stream.prototype;\n\n _proto.on = function on(type, listener) {\n if (!this.listeners[type]) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push(listener);\n }\n /**\n * Remove a listener for a specified event type.\n *\n * @param {string} type the event name\n * @param {Function} listener a function previously registered for this\n * type of event through `on`\n * @return {boolean} if we could turn it off or not\n */\n ;\n\n _proto.off = function off(type, listener) {\n if (!this.listeners[type]) {\n return false;\n }\n\n var index = this.listeners[type].indexOf(listener); // TODO: which is better?\n // In Video.js we slice listener functions\n // on trigger so that it does not mess up the order\n // while we loop through.\n //\n // Here we slice on off so that the loop in trigger\n // can continue using it's old reference to loop without\n // messing up the order.\n\n this.listeners[type] = this.listeners[type].slice(0);\n this.listeners[type].splice(index, 1);\n return index > -1;\n }\n /**\n * Trigger an event of the specified type on this stream. Any additional\n * arguments to this function are passed as parameters to event listeners.\n *\n * @param {string} type the event name\n */\n ;\n\n _proto.trigger = function trigger(type) {\n var callbacks = this.listeners[type];\n\n if (!callbacks) {\n return;\n } // Slicing the arguments on every invocation of this method\n // can add a significant amount of overhead. Avoid the\n // intermediate object creation for the common case of a\n // single callback argument\n\n\n if (arguments.length === 2) {\n var length = callbacks.length;\n\n for (var i = 0; i < length; ++i) {\n callbacks[i].call(this, arguments[1]);\n }\n } else {\n var args = Array.prototype.slice.call(arguments, 1);\n var _length = callbacks.length;\n\n for (var _i = 0; _i < _length; ++_i) {\n callbacks[_i].apply(this, args);\n }\n }\n }\n /**\n * Destroys the stream and cleans up.\n */\n ;\n\n _proto.dispose = function dispose() {\n this.listeners = {};\n }\n /**\n * Forwards all `data` events on this stream to the destination stream. The\n * destination stream should provide a method `push` to receive the data\n * events as they arrive.\n *\n * @param {Stream} destination the stream that will receive all `data` events\n * @see http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options\n */\n ;\n\n _proto.pipe = function pipe(destination) {\n this.on('data', function (data) {\n destination.push(data);\n });\n };\n\n return Stream;\n}();\n\nmodule.exports = Stream;\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_@videojs_vhs-utils@1.3.0@@videojs/vhs-utils/dist/stream.js?");
eval("var inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n\nvar asn1 = __webpack_require__(/*! ../../asn1 */ \"./node_modules/_asn1.js@4.10.1@asn1.js/lib/asn1.js\");\n\nvar base = asn1.base;\nvar bignum = asn1.bignum; // Import DER constants\n\nvar der = asn1.constants.der;\n\nfunction DERDecoder(entity) {\n this.enc = 'der';\n this.name = entity.name;\n this.entity = entity; // Construct base tree\n\n this.tree = new DERNode();\n\n this.tree._init(entity.body);\n}\n\n;\nmodule.exports = DERDecoder;\n\nDERDecoder.prototype.decode = function decode(data, options) {\n if (!(data instanceof base.DecoderBuffer)) data = new base.DecoderBuffer(data, options);\n return this.tree._decode(data, options);\n}; // Tree methods\n\n\nfunction DERNode(parent) {\n base.Node.call(this, 'der', parent);\n}\n\ninherits(DERNode, base.Node);\n\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n if (buffer.isEmpty()) return false;\n var state = buffer.save();\n var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n if (buffer.isError(decodedTag)) return decodedTag;\n buffer.restore(state);\n return decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + 'of' === tag || any;\n};\n\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n var decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n if (buffer.isError(decodedTag)) return decodedTag;\n var len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"'); // Failure\n\n if (buffer.isError(len)) return len;\n\n if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + 'of' !== tag) {\n return buffer.error('Failed to match tag: \"' + tag + '\"');\n }\n\n if (decodedTag.primitive || len !== null) return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"'); // Indefinite length... find END tag\n\n var state = buffer.save();\n\n var res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n\n if (buffer.isError(res)) return res;\n len = buffer.offset - state.offset;\n buffer.restore(state);\n return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\n\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n while (true) {\n var tag = derDecodeTag(buffer, fail);\n if (buffer.isError(tag)) return tag;\n var len = derDecodeLen(buffer, tag.primitive, fail);\n if (buffer.isError(len)) return len;\n var res;\n if (tag.primitive || len !== null) res = buffer.skip(len);else res = this._skipUntilEnd(buffer, fail); // Failure\n\n if (buffer.isError(res)) return res;\n if (tag.tagStr === 'end') break;\n }\n};\n\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder, options) {\n var result = [];\n\n while (!buffer.isEmpty()) {\n var possibleEnd = this._peekTag(buffer, 'end');\n\n if (buffer.isError(possibleEnd)) return possibleEnd;\n var res = decoder.decode(buffer, 'der', options);\n if (buffer.isError(res) && possibleEnd) break;\n result.push(res);\n }\n\n return result;\n};\n\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n if (tag === 'bitstr') {\n var unused = buffer.readUInt8();\n if (buffer.isError(unused)) return unused;\n return {\n unused: unused,\n data: buffer.raw()\n };\n } else if (tag === 'bmpstr') {\n var raw = buffer.raw();\n if (raw.length % 2 === 1) return buffer.error('Decodingofstringtype:bmpstrlengthmismatch');\n var str = '';\n\n for (var i = 0; i < raw.length / 2; i++) {\n str += String.fromCharCode(raw.readUInt16BE(i * 2));\n }\n\n return str;\n } else if (tag === 'numstr') {\n var numstr = buffer.raw().toString('ascii');\n\n if (!this._isNumstr(numstr)) {\n return buffer.error('Decodingofstringtype:' + 'numstrunsupportedcharacters');\n }\n\n return numstr;\n } else if (tag === 'octstr')
eval("var r;\n\nmodule.exports = function rand(len) {\n if (!r) r = new Rand(null);\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\n\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n}; // Emulate crypto API using randy\n\n\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes) return this.rand.getBytes(n);\n var res = new Uint8Array(n);\n\n for (var i = 0; i < res.length; i++) {\n res[i] = this.rand.getByte();\n }\n\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n }; // Safari's WebWorkers do not have `crypto`\n\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function () {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = __webpack_require__(/*! crypto */ 5);\n\n if (typeof crypto.randomBytes !== 'function') throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {}\n}\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_brorand@1.1.0@brorand/index.js?");
eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nfunction encryptByte(self, byteParam, decrypt) {\n var pad;\n var i = -1;\n var len = 8;\n var out = 0;\n var bit, value;\n\n while (++i < len) {\n pad = self._cipher.encryptBlock(self._prev);\n bit = byteParam & 1 << 7 - i ? 0x80 : 0;\n value = pad[0] ^ bit;\n out += (value & 0x80) >> i % 8;\n self._prev = shiftIn(self._prev, decrypt ? bit : value);\n }\n\n return out;\n}\n\nfunction shiftIn(buffer, value) {\n var len = buffer.length;\n var i = -1;\n var out = Buffer.allocUnsafe(buffer.length);\n buffer = Buffer.concat([buffer, Buffer.from([value])]);\n\n while (++i < len) {\n out[i] = buffer[i] << 1 | buffer[i + 1] >> 7;\n }\n\n return out;\n}\n\nexports.encrypt = function (self, chunk, decrypt) {\n var len = chunk.length;\n var out = Buffer.allocUnsafe(len);\n var i = -1;\n\n while (++i < len) {\n out[i] = encryptByte(self, chunk[i], decrypt);\n }\n\n return out;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_browserify-aes@1.2.0@browserify-aes/modes/cfb1.js?");
eval("/* WEBPACK VAR INJECTION */(function(Buffer) {var bn = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@4.11.9@bn.js/lib/bn.js\");\n\nvar randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/_randombytes@2.1.0@randombytes/browser.js\");\n\nmodule.exports = crt;\n\nfunction blind(priv) {\n var r = getr(priv);\n var blinder = r.toRed(bn.mont(priv.modulus)).redPow(new bn(priv.publicExponent)).fromRed();\n return {\n blinder: blinder,\n unblinder: r.invm(priv.modulus)\n };\n}\n\nfunction crt(msg, priv) {\n var blinds = blind(priv);\n var len = priv.modulus.byteLength();\n var mod = bn.mont(priv.modulus);\n var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);\n var c1 = blinded.toRed(bn.mont(priv.prime1));\n var c2 = blinded.toRed(bn.mont(priv.prime2));\n var qinv = priv.coefficient;\n var p = priv.prime1;\n var q = priv.prime2;\n var m1 = c1.redPow(priv.exponent1);\n var m2 = c2.redPow(priv.exponent2);\n m1 = m1.fromRed();\n m2 = m2.fromRed();\n var h = m1.isub(m2).imul(qinv).umod(p);\n h.imul(q);\n m2.iadd(h);\n return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));\n}\n\ncrt.getr = getr;\n\nfunction getr(priv) {\n var len = priv.modulus.byteLength();\n var r = new bn(randomBytes(len));\n\n while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {\n r = new bn(randomBytes(len));\n }\n\n return r;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../_buffer@4.9.2@buffer/index.js */ \"./node_modules/_buffer@4.9.2@buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_browserify-rsa@4.0.1@browserify-rsa/index.js?");
eval("// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nvar createHmac = __webpack_require__(/*! create-hmac */ \"./node_modules/_create-hmac@1.1.7@create-hmac/browser.js\");\n\nvar crt = __webpack_require__(/*! browserify-rsa */ \"./node_modules/_browserify-rsa@4.0.1@browserify-rsa/index.js\");\n\nvar EC = __webpack_require__(/*! elliptic */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic.js\").ec;\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@5.1.2@bn.js/lib/bn.js\");\n\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/_parse-asn1@5.1.5@parse-asn1/index.js\");\n\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/_browserify-sign@4.2.0@browserify-sign/browser/curves.json\");\n\nfunctionsign(hash,key,hashType,signType,tag){\nvarpriv=parseKeys(key);\n\nif(priv.curve){\n// rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type');\n return ecSign(hash, priv);\n } else if (priv.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong private key type');\n return dsaSign(hash, priv, hashType);\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type');\n }\n\n hash = Buffer.concat([tag, hash]);\n var len = priv.modulus.byteLength();\n var pad = [0, 1];\n\n while (hash.length + pad.length + 1 < len) {\n pad.push(0xff);\n }\n\n pad.push(0x00);\n var i = -1;\n\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n\n var out = crt(pad, priv);\n return out;\n}\n\nfunction ecSign(hash, priv) {\n var curveId = curves[priv.curve.join('.')];\n if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'));\n var curve = new EC(curveId);\n var key = curve.keyFromPrivate(priv.privateKey);\n var out = key.sign(hash);\n return Buffer.from(out.toDER());\n}\n\nfunction dsaSign(hash, priv, algo) {\n var x = priv.params.priv_key;\n var p = priv.params.p;\n var q = priv.params.q;\n var g = priv.params.g;\n var r = new BN(0);\n var k;\n var H = bits2int(hash, q).mod(q);\n var s = false;\n var kv = getKey(x, q, hash, algo);\n\n while (s === false) {\n k = makeKey(q, kv, algo);\n r = makeR(g, k, p, q);\n s = k.invm(q).imul(H.add(x.mul(r))).mod(q);\n\n if (s.cmpn(0) === 0) {\n s = false;\n r = new BN(0);\n }\n }\n\n return toDER(r, s);\n}\n\nfunction toDER(r, s) {\n r = r.toArray();\n s = s.toArray(); // Pad values\n\n if (r[0] & 0x80) r = [0].concat(r);\n if (s[0] & 0x80) s = [0].concat(s);\n var total = r.length + s.length + 4;\n var res = [0x30, total, 0x02, r.length];\n res = res.concat(r, [0x02, s.length], s);\n return Buffer.from(res);\n}\n\nfunction getKey(x, q, hash, algo) {\n x = Buffer.from(x.toArray());\n\n if (x.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - x.length);\n x = Buffer.concat([zeros, x]);\n }\n\n var hlen = hash.length;\n var hbits = bits2octets(hash, q);\n var v = Buffer.alloc(hlen);\n v.fill(1);\n var k = Buffer.alloc(hlen);\n k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest();\n v = createHmac(algo, k).update(v).digest();\n return {\n k: k,\n v: v\n };\n}\n\nfunction bits2int(obits, q) {\n var bits = new BN(obits);\n var shift = (obits.length << 3) - q.bitLength();\n if (shift > 0) bits.ishrn(shift);\n return bits;\n}\n\nfunction bits2octets(bits, q) {\n bits = bits2int(bits, q);\n bits = bits.mod(q);\n var out = Buffer.from(bits.toArray());\n\n if (out.length < q.byteLength()) {\n var zeros = Buffer.alloc(q.byteLength() - out.length);\n out = Buffer.concat([zeros, out]);\n }\n\n re
eval("// much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@5.1.2@bn.js/lib/bn.js\");\n\nvar EC = __webpack_require__(/*! elliptic */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic.js\").ec;\n\nvar parseKeys = __webpack_require__(/*! parse-asn1 */ \"./node_modules/_parse-asn1@5.1.5@parse-asn1/index.js\");\n\nvar curves = __webpack_require__(/*! ./curves.json */ \"./node_modules/_browserify-sign@4.2.0@browserify-sign/browser/curves.json\");\n\nfunction verify(sig, hash, key, signType, tag) {\n var pub = parseKeys(key);\n\n if (pub.type === 'ec') {\n // rsa keys can be interpreted as ecdsa ones in openssl\n if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type');\n return ecVerify(sig, hash, pub);\n } else if (pub.type === 'dsa') {\n if (signType !== 'dsa') throw new Error('wrong public key type');\n return dsaVerify(sig, hash, pub);\n } else {\n if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type');\n }\n\n hash = Buffer.concat([tag, hash]);\n var len = pub.modulus.byteLength();\n var pad = [1];\n var padNum = 0;\n\n while (hash.length + pad.length + 2 < len) {\n pad.push(0xff);\n padNum++;\n }\n\n pad.push(0x00);\n var i = -1;\n\n while (++i < hash.length) {\n pad.push(hash[i]);\n }\n\n pad = Buffer.from(pad);\n var red = BN.mont(pub.modulus);\n sig = new BN(sig).toRed(red);\n sig = sig.redPow(new BN(pub.publicExponent));\n sig = Buffer.from(sig.fromRed().toArray());\n var out = padNum < 8 ? 1 : 0;\n len = Math.min(sig.length, pad.length);\n if (sig.length !== pad.length) out = 1;\n i = -1;\n\n while (++i < len) {\n out |= sig[i] ^ pad[i];\n }\n\n return out === 0;\n}\n\nfunction ecVerify(sig, hash, pub) {\n var curveId = curves[pub.data.algorithm.curve.join('.')];\n if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'));\n var curve = new EC(curveId);\n var pubkey = pub.data.subjectPrivateKey.data;\n return curve.verify(hash, sig, pubkey);\n}\n\nfunction dsaVerify(sig, hash, pub) {\n var p = pub.data.p;\n var q = pub.data.q;\n var g = pub.data.g;\n var y = pub.data.pub_key;\n var unpacked = parseKeys.signature.decode(sig, 'der');\n var s = unpacked.s;\n var r = unpacked.r;\n checkValue(s, q);\n checkValue(r, q);\n var montp = BN.mont(p);\n var w = s.invm(q);\n var v = g.toRed(montp).redPow(new BN(hash).mul(w).mod(q)).fromRed().mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed()).mod(p).mod(q);\n return v.cmp(r) === 0;\n}\n\nfunction checkValue(b, q) {\n if (b.cmpn(0) <= 0) throw new Error('invalid sig');\n if (b.cmp(q) >= q) throw new Error('invalid sig');\n}\n\nmodule.exports = verify;\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_browserify-sign@4.2.0@browserify-sign/browser/verify.js?");
eval("/* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function xor(a, b) {\n var length = Math.min(a.length, b.length);\n var buffer = new Buffer(length);\n\n for (var i = 0; i < length; ++i) {\n buffer[i] = a[i] ^ b[i];\n }\n\n return buffer;\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../_buffer@4.9.2@buffer/index.js */ \"./node_modules/_buffer@4.9.2@buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_buffer-xor@1.0.3@buffer-xor/index.js?");
eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n\n/* eslint-disable no-proto */\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/_base64-js@1.3.1@base64-js/index.js\");\n\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/_ieee754@1.1.13@ieee754/index.js\");\n\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/_isarray@1.0.0@isarray/index.js\");\n\nexports.Buffer=Buffer;\nexports.SlowBuffer=SlowBuffer;\nexports.INSPECT_MAX_BYTES=50;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\n\nBuffer.TYPED_ARRAY_SUPPORT=global.TYPED_ARRAY_SUPPORT!==undefined?global.TYPED_ARRAY_SUPPORT:typedArraySupport();\n/*\n * Export kMaxLength after typed array support is determined.\n */\n\nexports.kMaxLength=kMaxLength();\n\nfunctiontypedArraySupport(){\ntry{\nvararr=newUint8Array(1);\narr.__proto__={\n__proto__:Uint8Array.prototype,\nfoo:functionfoo(){\nreturn42;\n}\n};\nreturnarr.foo()===42&&// typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0; // ie10 has broken `subarray`\n } catch (e) {\n return false;\n }\n}\n\nfunction kMaxLength() {\n return Buffer.TYPED_ARRAY_SUPPORT ? 0x7fffffff : 0x3fffffff;\n}\n\nfunction createBuffer(that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length');\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length);\n that.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length);\n }\n\n that.length = length;\n }\n\n return that;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\n\nfunction Buffer(arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length);\n } // Common case.\n\n\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error('If encoding is specified then the first argument must be a string');\n }\n\n return allocUnsafe(this, arg);\n }\n\n return from(this, arg, encodingOrOffset, length);\n}\n\nBuffer.poolSize = 8192; // not used by this implementation\n// TODO: Legacy, not needed anymore. Remove in next major version.\n\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype;\n return arr;\n};\n\nfunction from
eval("/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(arg) {\n if (Array.isArray) {\n return Array.isArray(arg);\n }\n\n return objectToString(arg) === '[object Array]';\n}\n\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\n\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\n\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\n\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\n\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\n\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return objectToString(re) === '[object RegExp]';\n}\n\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return objectToString(d) === '[object Date]';\n}\n\nexports.isDate = isDate;\n\nfunction isError(e) {\n return objectToString(e) === '[object Error]' || e instanceof Error;\n}\n\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\n\nexports.isPrimitive = isPrimitive;\nexports.isBuffer = Buffer.isBuffer;\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../_buffer@4.9.2@buffer/index.js */ \"./node_modules/_buffer@4.9.2@buffer/index.js\").Buffer))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js?");
eval("var randomBytes = __webpack_require__(/*! randombytes */ \"./node_modules/_randombytes@2.1.0@randombytes/browser.js\");\n\nmodule.exports = findPrime;\nfindPrime.simpleSieve = simpleSieve;\nfindPrime.fermatTest = fermatTest;\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@4.11.9@bn.js/lib/bn.js\");\n\nvar TWENTYFOUR = new BN(24);\n\nvar MillerRabin = __webpack_require__(/*! miller-rabin */ \"./node_modules/_miller-rabin@4.0.1@miller-rabin/lib/mr.js\");\n\nvar millerRabin = new MillerRabin();\nvar ONE = new BN(1);\nvar TWO = new BN(2);\nvar FIVE = new BN(5);\nvar SIXTEEN = new BN(16);\nvar EIGHT = new BN(8);\nvar TEN = new BN(10);\nvar THREE = new BN(3);\nvar SEVEN = new BN(7);\nvar ELEVEN = new BN(11);\nvar FOUR = new BN(4);\nvar TWELVE = new BN(12);\nvar primes = null;\n\nfunction _getPrimes() {\n if (primes !== null) return primes;\n var limit = 0x100000;\n var res = [];\n res[0] = 2;\n\n for (var i = 1, k = 3; k < limit; k += 2) {\n var sqrt = Math.ceil(Math.sqrt(k));\n\n for (var j = 0; j < i && res[j] <= sqrt; j++) {\n if (k % res[j] === 0) break;\n }\n\n if (i !== j && res[j] <= sqrt) continue;\n res[i++] = k;\n }\n\n primes = res;\n return res;\n}\n\nfunction simpleSieve(p) {\n var primes = _getPrimes();\n\n for (var i = 0; i < primes.length; i++) {\n if (p.modn(primes[i]) === 0) {\n if (p.cmpn(primes[i]) === 0) {\n return true;\n } else {\n return false;\n }\n }\n }\n\n return true;\n}\n\nfunction fermatTest(p) {\n var red = BN.mont(p);\n return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;\n}\n\nfunction findPrime(bits, gen) {\n if (bits < 16) {\n // this is what openssl does\n if (gen === 2 || gen === 5) {\n return new BN([0x8c, 0x7b]);\n } else {\n return new BN([0x8c, 0x27]);\n }\n }\n\n gen = new BN(gen);\n var num, n2;\n\n while (true) {\n num = new BN(randomBytes(Math.ceil(bits / 8)));\n\n while (num.bitLength() > bits) {\n num.ishrn(1);\n }\n\n if (num.isEven()) {\n num.iadd(ONE);\n }\n\n if (!num.testn(1)) {\n num.iadd(TWO);\n }\n\n if (!gen.cmp(TWO)) {\n while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {\n num.iadd(FOUR);\n }\n } else if (!gen.cmp(FIVE)) {\n while (num.mod(TEN).cmp(THREE)) {\n num.iadd(FOUR);\n }\n }\n\n n2 = num.shrn(1);\n\n if (simpleSieve(n2) && simpleSieve(num) && fermatTest(n2) && fermatTest(num) && millerRabin.test(n2) && millerRabin.test(num)) {\n return num;\n }\n }\n}\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_diffie-hellman@5.0.3@diffie-hellman/lib/generatePrime.js?");
eval("\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@4.11.9@bn.js/lib/bn.js\");\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n\nvar Base = __webpack_require__(/*! ./base */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic/curve/base.js\");\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic/utils.js\");\n\nfunctionMontCurve(conf){\nBase.call(this,'mont',conf);\nthis.a=newBN(conf.a,16).toRed(this.red);\nthis.b=newBN(conf.b,16).toRed(this.red);\nthis.i4=newBN(4).toRed(this.red).redInvm();\nthis.two=newBN(2).toRed(this.red);\nthis.a24=this.i4.redMul(this.a.redAdd(this.two));\n}\n\ninherits(MontCurve,Base);\nmodule.exports=MontCurve;\n\nMontCurve.prototype.validate=functionvalidate(point){\nvarx=point.normalize().x;\nvarx2=x.redSqr();\nvarrhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\nvary=rhs.redSqrt();\nreturny.redSqr().cmp(rhs)===0;\n};\n\nfunctionPoint(curve,x,z){\nBase.BasePoint.call(this,curve,'projective');\n\nif(x===null&&z===null){\nthis.x=this.curve.one;\nthis.z=this.curve.zero;\n}else{\nthis.x=newBN(x,16);\nthis.z=newBN(z,16);\nif(!this.x.red)this.x=this.x.toRed(this.curve.red);\nif(!this.z.red)this.z=this.z.toRed(this.curve.red);\n}\n}\n\ninherits(Point,Base.BasePoint);\n\nMontCurve.prototype.decodePoint=functiondecodePoint(bytes,enc){\nreturnthis.point(utils.toArray(bytes,enc),1);\n};\n\nMontCurve.prototype.point=functionpoint(x,z){\nreturnnewPoint(this,x,z);\n};\n\nMontCurve.prototype.pointFromJSON=functionpointFromJSON(obj){\nreturnPoint.fromJSON(this,obj);\n};\n\nPoint.prototype.precompute=functionprecompute(){// No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity()) return '<EC Point Infinity>';\n return '<EC Point x: ' + this.x.fromRed().toString(16, 2) + ' z: ' + this.z.fromRed().toString(16, 2) + '>';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n // A = X1 + Z1\n var a = this.x.redAdd(this.z); // AA = A^2\n\n var aa = a.redSqr(); // B = X1 - Z1\n\n var b = this.x.redSub(this.z); // BB = B^2\n\n var bb = b.redSqr(); // C = AA - BB\n\n var c = aa.redSub(bb); // X3 = AA * BB\n\n var nx = aa.redMul(bb); // Z3 = C * (BB + A24 * C)\n\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n // A = X2 + Z2\n var a = this.x.redAdd(this.z); // B = X2 - Z2\n\n var b = this.x.redSub(this.z); // C = X3 + Z3\n\n var c = p.x.redAdd(p.z); // D = X3 - Z3\n\n var d = p.x.redSub(p.z); // DA = D * A\n\n var da = d.redMul(a); // CB = C * B\n\n var cb = c.redMul(b); // X5 = Z1 * (DA + CB)^2\n\n var nx = diff.z.redMul(da.redAdd(cb).redSqr()); // Z5 = X1 * (DA - CB)^2\n\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n\n var b = this.curve.point(null, null); // (N / 2) * Q\n\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1)) {\n bits.push(t.andln(1));\n }\n\n for (var i = bits.length - 1; i >= 0; i--) {\n
eval("\n\nvar utils = __webpack_require__(/*! ../utils */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic/utils.js\");\n\nvar BN = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@4.11.9@bn.js/lib/bn.js\");\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n\nvar Base = __webpack_require__(/*! ./base */ \"./node_modules/_elliptic@6.5.3@elliptic/lib/elliptic/curve/base.js\");\n\nvarassert=utils.assert;\n\nfunctionShortCurve(conf){\nBase.call(this,'short',conf);\nthis.a=newBN(conf.a,16).toRed(this.red);\nthis.b=newBN(conf.b,16).toRed(this.red);\nthis.tinv=this.two.redInvm();\nthis.zeroA=this.a.fromRed().cmpn(0)===0;\nthis.threeA=this.a.fromRed().sub(this.p).cmpn(-3)===0;// If the curve is endomorphic, precalculate beta and lambda\n\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\n\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) return; // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n\n var beta;\n var lambda;\n\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p); // Choose the smallest beta\n\n\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n } // Get basis vectors, used for balanced length-two representation\n\n\n var basis;\n\n if (conf.basis) {\n basis = conf.basis.map(function (vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16)\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [l1, l2];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2)); // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1); // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n\n var a0;\n var b0; // First vector\n\n var a1;\n var b1; // Second vector\n\n var a2;\n var b2;\n var prevR;\n var i = 0;\n var r;\n var x;\n\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n\n prevR = r;\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n\n a2 = r.neg();\n b2 = x;\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n } // Normalize signs\n\n\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n\n if (a2.negative) {
eval("/* WEBPACK VAR INJECTION */(function(process,global){/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n(function(global,factory){\ntrue?module.exports=factory():undefined;\n})(this,function(){\n'use strict';\n\nfunctionobjectOrFunction(x){\nvartype=typeofx;\nreturnx!==null&&(type==='object'||type==='function');\n}\n\nfunctionisFunction(x){\nreturntypeofx==='function';\n}\n\nvar_isArray=void0;\n\nif(Array.isArray){\n_isArray=Array.isArray;\n}else{\n_isArray=function_isArray(x){\nreturnObject.prototype.toString.call(x)==='[object Array]';\n};\n}\n\nvarisArray=_isArray;\nvarlen=0;\nvarvertxNext=void0;\nvarcustomSchedulerFn=void0;\n\nvarasap=functionasap(callback,arg){\nqueue[len]=callback;\nqueue[len+1]=arg;\nlen+=2;\n\nif(len===2){\n// If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n };\n\n function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n }\n\n function setAsap(asapFn) {\n asap = asapFn;\n }\n\n var browserWindow = typeof window !== 'undefined' ? window : undefined;\n var browserGlobal = browserWindow || {};\n var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\n var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; // test for web worker but not in IE10\n\n var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; // node\n\n function useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n } // vertx\n\n\n function useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n }\n\n function useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n } // web worker\n\n\n function useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n }\n\n function useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n }\n\n var queue = new Array(1000);\n\n function flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n callback(arg);\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n }\n\n function attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n }\n\n
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\n\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\n\nmodule.exports = EventEmitter;\nmodule.exports.once = once; // Backwards-compat with node 0.10.x\n\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined; // By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\n\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function get() {\n return defaultMaxListeners;\n },\n set: function set(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n}; // Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\n\n\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\"isoutofrange.Itmustbeanon-negativenumber.Received' + n + '.');\n}\n\nthis._maxListeners=n;\nreturnthis;\n};\n\nfunction_getMaxListeners(that){\nif(that._maxListeners===undefined)returnEventEmitter.defaultMaxListeners;\nreturnthat._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners=
eval("exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : (s ? -1 : 1) * Infinity;\n } else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\n }\n\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = e << mLen | m;\n eLen += mLen;\n\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_ieee754@1.1.13@ieee754/index.js?");
eval("var bn = __webpack_require__(/*! bn.js */ \"./node_modules/_bn.js@4.11.9@bn.js/lib/bn.js\");\n\nvar brorand = __webpack_require__(/*! brorand */ \"./node_modules/_brorand@1.1.0@brorand/index.js\");\n\nfunction MillerRabin(rand) {\n this.rand = rand || new brorand.Rand();\n}\n\nmodule.exports = MillerRabin;\n\nMillerRabin.create = function create(rand) {\n return new MillerRabin(rand);\n};\n\nMillerRabin.prototype._randbelow = function _randbelow(n) {\n var len = n.bitLength();\n var min_bytes = Math.ceil(len / 8); // Generage random bytes until a number less than n is found.\n // This ensures that 0..n-1 have an equal probability of being selected.\n\n do {\n var a = new bn(this.rand.generate(min_bytes));\n } while (a.cmp(n) >= 0);\n\n return a;\n};\n\nMillerRabin.prototype._randrange = function _randrange(start, stop) {\n // Generate a random number greater than or equal to start and less than stop.\n var size = stop.sub(start);\n return start.add(this._randbelow(size));\n};\n\nMillerRabin.prototype.test = function test(n, k, cb) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n if (!k) k = Math.max(1, len / 48 | 0); // Find d and s, (n - 1) = (2 ^ s) * d;\n\n var n1 = n.subn(1);\n\n for (var s = 0; !n1.testn(s); s++) {}\n\n var d = n.shrn(s);\n var rn1 = n1.toRed(red);\n var prime = true;\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n if (cb) cb(a);\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n if (x.cmp(rone) === 0) return false;\n if (x.cmp(rn1) === 0) break;\n }\n\n if (i === s) return false;\n }\n\n return prime;\n};\n\nMillerRabin.prototype.getDivisor = function getDivisor(n, k) {\n var len = n.bitLength();\n var red = bn.mont(n);\n var rone = new bn(1).toRed(red);\n if (!k) k = Math.max(1, len / 48 | 0); // Find d and s, (n - 1) = (2 ^ s) * d;\n\n var n1 = n.subn(1);\n\n for (var s = 0; !n1.testn(s); s++) {}\n\n var d = n.shrn(s);\n var rn1 = n1.toRed(red);\n\n for (; k > 0; k--) {\n var a = this._randrange(new bn(2), n1);\n\n var g = n.gcd(a);\n if (g.cmpn(1) !== 0) return g;\n var x = a.toRed(red).redPow(d);\n if (x.cmp(rone) === 0 || x.cmp(rn1) === 0) continue;\n\n for (var i = 1; i < s; i++) {\n x = x.redSqr();\n if (x.cmp(rone) === 0) return x.fromRed().subn(1).gcd(n);\n if (x.cmp(rn1) === 0) break;\n }\n\n if (i === s) {\n x = x.redSqr();\n return x.fromRed().subn(1).gcd(n);\n }\n }\n\n return false;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_miller-rabin@4.0.1@miller-rabin/lib/mr.js?");
eval("\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg)) return msg.slice();\n if (!msg) return [];\n var res = [];\n\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++) {\n res[i] = msg[i] | 0;\n }\n\n return res;\n }\n\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0) msg = '0' + msg;\n\n for (var i = 0; i < msg.length; i += 2) {\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi) res.push(hi, lo);else res.push(lo);\n }\n }\n\n return res;\n}\n\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1) return '0' + word;else return word;\n}\n\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n\n for (var i = 0; i < msg.length; i++) {\n res += zero2(msg[i].toString(16));\n }\n\n return res;\n}\n\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex') return toHex(arr);else return arr;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_minimalistic-crypto-utils@1.0.1@minimalistic-crypto-utils/lib/utils.js?");
eval("/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\",WITHOUTWARRANTYOFANYKIND,EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n\n if (last === '.') {\n parts.splice(i, 1);\n } else if (last === '..') {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n } // if the path is allowed to go above the root, restore leading ..s\n\n\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift('..');\n }\n }\n\n return parts;\n} // path.resolve([from ...], to)\n// posix version\n\n\nexports.resolve = function () {\n var resolvedPath = '',\n resolvedAbsolute = false;\n\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : process.cwd(); // Skip empty and invalid entries\n\n if (typeof path !== 'string') {\n throw new TypeError('Arguments to path.resolve must be strings');\n } else if (!path) {\n continue;\n }\n\n resolvedPath = path + '/' + resolvedPath;\n resolvedAbsolute = path.charAt(0) === '/';\n } // At this point the path should be resolved to a full absolute path, but\n // handle relative paths to be safe (might happen when process.cwd() fails)\n // Normalize the path\n\n\n resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function (p) {\n return !!p;\n }), !resolvedAbsolute).join('/');\n return (resolvedAbsolute ? '/' : '') + resolvedPath || '.';\n}; // path.normalize(path)\n// posix version\n\n\nexports.normalize = function (path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === '/'; // Normalize the path\n\n path = normalizeArray(filter(path.split('/'), function (p) {\n return !!p;\n }), !isAbsolute).join('/');\n\n if (!path && !isAbsolute) {\n path = '.';\n }\n\n if (path && trailingSlash) {\n path += '/';\n }\n\n return (isAbsolute ? '/' : '') + path;\n}; // posix version\n\n\nexports.isAbsolute = function (path) {\n return path.charAt(0) === '/';\n}; // posix version\n\n\nexports.join = function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function (p, index) {\n if (typeof p !== 'string') {\n throw new TypeError('Arguments to path.join must be strings');\n }\n\n return p;\n }).join('/'));\n}; // path.relative(from, to)\n// posi
eval("var Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nmodule.exports = function (thing, encoding, name) {\n if (Buffer.isBuffer(thing)) {\n return thing;\n } else if (typeof thing === 'string') {\n return Buffer.from(thing, encoding);\n } else if (ArrayBuffer.isView(thing)) {\n return Buffer.from(thing.buffer);\n } else {\n throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView');\n }\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_pbkdf2@3.1.1@pbkdf2/lib/to-buffer.js?");
eval("// shim for using process in browser\nvar process = module.exports = {}; // cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\n\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\n\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n}\n\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\n\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n\n if (arguments.length > 1) {\n for (var i
eval("var createHash = __webpack_require__(/*! create-hash */ \"./node_modules/_create-hash@1.2.0@create-hash/browser.js\");\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nmodule.exports = function (seed, len) {\n var t = Buffer.alloc(0);\n var i = 0;\n var c;\n\n while (t.length < len) {\n c = i2ops(i++);\n t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()]);\n }\n\n return t.slice(0, len);\n};\n\nfunction i2ops(c) {\n var out = Buffer.allocUnsafe(4);\n out.writeUInt32BE(c, 0);\n return out;\n}\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_public-encrypt@4.0.3@public-encrypt/mgf.js?");
eval("module.exports = function xor(a, b) {\n var len = a.length;\n var i = -1;\n\n while (++i < len) {\n a[i] ^= b[i];\n }\n\n return a;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_public-encrypt@4.0.3@public-encrypt/xor.js?");
eval("/* WEBPACK VAR INJECTION */(function(global, process) { // limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\n\nvar MAX_BYTES = 65536; // Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\n\nvar MAX_UINT32 = 4294967295;\n\nfunction oldBrowser() {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11');\n}\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nvar crypto = global.crypto || global.msCrypto;\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes;\n} else {\n module.exports = oldBrowser;\n}\n\nfunction randomBytes(size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes');\n var bytes = Buffer.allocUnsafe(size);\n\n if (size > 0) {\n // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) {\n // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES));\n }\n } else {\n crypto.getRandomValues(bytes);\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes);\n });\n }\n\n return bytes;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../_webpack@4.44.0@webpack/buildin/global.js */ \"./node_modules/_webpack@4.44.0@webpack/buildin/global.js\"), __webpack_require__(/*! ./../_process@0.11.10@process/browser.js */ \"./node_modules/_process@0.11.10@process/browser.js\")))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_randombytes@2.1.0@randombytes/browser.js?");
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/_process-nextick-args@2.0.1@process-nextick-args/index.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n/*<replacement>*/\n\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n/*</replacement>*/\n\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_readable.js\");\n\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_writable.js\");\n\nutil.inherits(Duplex,Readable);\n{\n// avoid scope creep, the keys array can then be collected\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n if (options && options.readable === false) this.readable = false;\n if (options && options.writable === false) this.writable = false;\n this.allowHalfOpen = true;\n if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;\n this.once('end', onend);\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // if we allow half-open state, or if the writable side ended,\n // then we're ok.\n if (this.allowHalfOpen || this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n pna.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(/*! ./_stream_transform */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_transform.js\");\n/*<replacement>*/\n\n\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n/*</replacement>*/\n\nutil.inherits(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_passthrough.js?");
eval("/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/_process-nextick-args@2.0.1@process-nextick-args/index.js\");\n/*</replacement>*/\n\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/_isarray@1.0.0@isarray/index.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\").EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.1.2@safe-buffer/index.js\").Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar debugUtil = __webpack_require__(/*! util */ 2);\n\nvar debug = void 0;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/BufferList.js\");\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/destroy.js\");\n\nvarStringDecoder;\nutil.inherits(Readable,Stream);\nvarkProxyEvents=['error','close','destroy','pause','resume'];\n\nfunctionprependListener(emitter,event,fn){\n// Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\nmodule.exports = Transform;\n\nvar Duplex = __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_duplex.js\");\n/*<replacement>*/\n\n\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n/*</replacement>*/\n\nutil.inherits(Transform,Duplex);\n\nfunctionafterTransform(er,data
eval("/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n/*<replacement>*/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/_process-nextick-args@2.0.1@process-nextick-args/index.js\");\n/*</replacement>*/\n\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar util = Object.create(__webpack_require__(/*! core-util-is */ \"./node_modules/_core-util-is@1.0.2@core-util-is/lib/util.js\"));\nutil.inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/_util-deprecate@1.0.2@util-deprecate/browser.js\")\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.1.2@safe-buffer/index.js\").Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*</replacement>*/\n\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/destroy.js\");\n\nutil.inherits(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream) {\n Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ \"./node_modules/_readable-stream@2.3.7@readable-stream/lib/_stream_duplex.js\");\noptions=options||{};// Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex
eval("\n/*<replacement>*/\n\nvar pna = __webpack_require__(/*! process-nextick-args */ \"./node_modules/_process-nextick-args@2.0.1@process-nextick-args/index.js\");\n/*</replacement>*/\n// undocumented cb() API, needed for core, not for public API\n\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {\n pna.nextTick(emitErrorNT, this, err);\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n pna.nextTick(emitErrorNT, _this, err);\n\n if (_this._writableState) {\n _this._writableState.errorEmitted = true;\n }\n } else if (cb) {\n cb(err);\n }\n });\n\n return this;\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_readable-stream@2.3.7@readable-stream/lib/internal/streams/destroy.js?");
eval("/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n/*<replacement>*/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n\nvar Readable = __webpack_require__(/*! ./_stream_readable */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/_stream_readable.js\");\n\nvar Writable = __webpack_require__(/*! ./_stream_writable */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/_stream_writable.js\");\n\n__webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\")(Duplex,Readable);\n\n{\n// Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n //
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n\nmodule.exports = PassThrough;\n\nvar Transform = __webpack_require__(/*! ./_stream_transform */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/_stream_transform.js\");\n\n__webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\")(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_readable-stream@3.6.0@readable-stream/lib/_stream_passthrough.js?");
eval("/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\").EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/_buffer@4.9.2@buffer/index.js\").Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*<replacement>*/\n\n\nvar debugUtil = __webpack_require__(/*! util */ 0);\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = __webpack_require__(/*! ./internal/streams/buffer_list */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/buffer_list.js\");\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/destroy.js\");\n\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = __webpack_require__(/*! ../errors */ \"./node_modules/_readable-stream@3.6.0@readable-stream/errors-browser.js\").codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\n__webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\")(Readable,Stream);\n\nvarerrorOrDestroy=destroyImpl.errorOrDestroy;\nvarkProxyEvents=['error','close','destroy','pause','resume'];\n\nfunctionprependListener(emitter,event,fn){\n// Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handl
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n\nmodule.exports = Transform;\n\nvar _require$codes = __webpack_require__(/*! ../errors */ \"./node_modules/_readable-stream@3.6.0@readable-stream/errors-browser.js\").codes,\nERR_METHOD_NOT_IMPLEMENTED=_require$codes.ERR_METHOD_NOT_IMPLEMENTED,\nERR_MULTIPLE_CALLBACK=_require$codes.ERR_MULTIPLE_CALLBACK,\nERR_TRANSFORM_ALREADY_TRANSFORMING=_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\nERR_TRANSFORM_WITH_LENGTH_0=_require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvarDuplex=__webpack_require__(/*!./_strea
eval("/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar internalUtil = {\n deprecate: __webpack_require__(/*! util-deprecate */ \"./node_modules/_util-deprecate@1.0.2@util-deprecate/browser.js\")\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = __webpack_require__(/*! ./internal/streams/stream */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/stream-browser.js\");\n/*</replacement>*/\n\n\nvar Buffer = __webpack_require__(/*! buffer */ \"./node_modules/_buffer@4.9.2@buffer/index.js\").Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/destroy.js\");\n\nvar _require = __webpack_require__(/*! ./internal/streams/state */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/state.js\"),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = __webpack_require__(/*! ../errors */ \"./node_modules/_readable-stream@3.6.0@readable-stream/errors-browser.js\").codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\n__webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\")(Writable,Stream);\n\nfunctionnop(){}\n\nfunctionWritableState(options,stream,isDuplex){\nDuplex=Duplex||__webpack_require__(/*!./_stream_du
eval("/* WEBPACK VAR INJECTION */(function(process) {\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar finished = __webpack_require__(/*! ./end-of-stream */ \"./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/end-of-stream.js\");\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this; // if we have detected an error in the meanwhile\n // reject straight away\n\n\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\",function_return(){\nvar_this2=this;// destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n\n\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n re
eval("/* WEBPACK VAR INJECTION */(function(process) { // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../_process@0.11.10@process/browser.js */ \"./node_modules/_process@0.11.10@process/browser.js\")))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/destroy.js?");
eval("module.exports = function () {\n throw new Error('Readable.from is not available in the browser');\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_readable-stream@3.6.0@readable-stream/lib/internal/streams/from-browser.js?");
eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n};\n}\n\nfunctioninstallMessageChannelImplementation(){\nvarchannel=newMessageChannel();\n\nchannel.port
eval("/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n\nvar Hash = __webpack_require__(/*! ./hash */ \"./node_modules/_sha.js@2.4.11@sha.js/hash.js\");\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n\nvar K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0];\nvar W = new Array(80);\n\nfunction Sha() {\n this.init();\n this._w = W;\n Hash.call(this, 64, 56);\n}\n\ninherits(Sha, Hash);\n\nSha.prototype.init = function () {\n this._a = 0x67452301;\n this._b = 0xefcdab89;\n this._c = 0x98badcfe;\n this._d = 0x10325476;\n this._e = 0xc3d2e1f0;\n return this;\n};\n\nfunction rotl5(num) {\n return num << 5 | num >>> 27;\n}\n\nfunction rotl30(num) {\n return num << 30 | num >>> 2;\n}\n\nfunction ft(s, b, c, d) {\n if (s === 0) return b & c | ~b & d;\n if (s === 2) return b & c | b & d | c & d;\n return b ^ c ^ d;\n}\n\nSha.prototype._update = function (M) {\n var W = this._w;\n var a = this._a | 0;\n var b = this._b | 0;\n var c = this._c | 0;\n var d = this._d | 0;\n var e = this._e | 0;\n\n for (var i = 0; i < 16; ++i) {\n W[i] = M.readInt32BE(i * 4);\n }\n\n for (; i < 80; ++i) {\n W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n }\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20);\n var t = rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s] | 0;\n e = d;\n d = c;\n c = rotl30(b);\n b = a;\n a = t;\n }\n\n this._a = a + this._a | 0;\n this._b = b + this._b | 0;\n this._c = c + this._c | 0;\n this._d = d + this._d | 0;\n this._e = e + this._e | 0;\n};\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20);\n H.writeInt32BE(this._a | 0, 0);\n H.writeInt32BE(this._b | 0, 4);\n H.writeInt32BE(this._c | 0, 8);\n H.writeInt32BE(this._d | 0, 12);\n H.writeInt32BE(this._e | 0, 16);\n return H;\n};\n\nmodule.exports = Sha;\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_sha.js@2.4.11@sha.js/sha.js?");
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\nmodule.exports = Stream;\n\nvar EE = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\").EventEmitter;\n\nvar inherits = __webpack_require__(/*! inherits */ \"./node_modules/_inherits@2.0.4@inherits/inherits_browser.js\");\n\ninherits(Stream, EE);\nStream.Readable = __webpack_require__(/*! readable-stream/readable.js */ \"./node_modules/_readable-stream@2.3.7@readable-stream/readable-browser.js\");\nStream.Writable = __webpack_require__(/*! readable-stream/writable.js */ \"./node_modules/_readable-stream@2.3.7@readable-stream/writable-browser.js\");\nStream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ \"./node_modules/_readable-stream@2.3.7@readable-stream/duplex-browser.js\");\nStream.Transform = __webpack_require__(/*! readable-stream/transform.js */ \"./node_modules/_readable-stream@2.3.7@readable-stream/transform.js\");\nStream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ \"./node_modules/_readable-stream@2.3.7@readable-stream/passthrough.js\");// Backwards-compat with node 0.4.x\n\nStream.Stream = Stream; // old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function (dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain); // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n dest.end();\n }\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n if (typeof dest.destroy === 'function') dest.destroy();\n } // don't leave dangling pipes when there are errors.\n\n\n function onerror(er) {\n cleanup();\n\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror); // remove all the event listeners that were added.\n\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup
eval("// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n/*<replacement>*/\n\nvar Buffer = __webpack_require__(/*! safe-buffer */ \"./node_modules/_safe-buffer@5.2.1@safe-buffer/index.js\").Buffer;\n/*</replacement>*/\n\n\nvarisEncoding=Buffer.isEncoding||function(encoding){\nencoding=''+encoding;\n\nswitch(encoding&&encoding.toLowerCase()){\ncase'hex':\ncase'utf8':\ncase'utf-8':\ncase'ascii':\ncase'binary':\ncase'base64':\ncase'ucs2':\ncase'ucs-2':\ncase'utf16le':\ncase'utf-16le':\ncase'raw':\nreturntrue;\n\ndefault:\nreturnfalse;\n}\n};\n\nfunction_normalizeEncoding(enc){\nif(!enc)return'utf8';\nvarretried;\n\nwhile(true){\nswitch(enc){\ncase'utf8':\ncase'utf-8':\nreturn'utf8';\n\ncase'ucs2':\ncase'ucs-2':\ncase'utf16le':\ncase'utf-16le':\nreturn'utf16le';\n\ncase'latin1':\ncase'binary':\nreturn'latin1';\n\ncase'base64':\ncase'ascii':\ncase'hex':\nreturnenc;\n\ndefault:\nif(retried)return;// undefined\n\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n}\n\n; // Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\n\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n} // StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\n\n\nexports.StringDecoder = StringDecoder;\n\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End; // Returns only complete characters in a Buffer\n\nStringDecoder.prototype.text = utf8Text; // Attempts to com
eval("\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = true ? __webpack_require__.nc : undefined;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\"):obj.css;// For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.re
eval("/* WEBPACK VAR INJECTION */(function(global) {var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\n__webpack_require__(/*! setimmediate */ \"./node_modules/_setimmediate@1.0.5@setimmediate/setImmediate.js\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../_webpack@4.44.0@webpack/buildin/global.js */ \"./node_modules/_webpack@4.44.0@webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_timers-browserify@2.0.11@timers-browserify/main.js?");
eval("/* WEBPACK VAR INJECTION */(function(global) {/**\n * Module exports.\n */\nmodule.exports = deprecate;\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate(fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n\n warned = true;\n }\n\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\n\nfunction config(name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../_webpack@4.44.0@webpack/buildin/global.js */ \"./node_modules/_webpack@4.44.0@webpack/buildin/global.js\")))\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_util-deprecate@1.0.2@util-deprecate/browser.js?");
eval("var g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if (typeof window === \"object\") g = window;\n} // g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\n\nmodule.exports = g;\n\n//# sourceURL=webpack://WasmPlayer/(webpack)/buildin/global.js?");
eval("var bundleFn = arguments[3];\nvar sources = arguments[4];\nvar cache = arguments[5];\nvar stringify = JSON.stringify;\n\nmodule.exports = function (fn, options) {\n var wkey;\n var cacheKeys = Object.keys(cache);\n\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n var exp = cache[key].exports; // Using babel as a transpiler to use esmodule, the export will always\n // be an object with the default export as a property of it. To ensure\n // the existing api and babel esmodule exports are both supported we\n // check for both\n\n if (exp === fn || exp && exp.default === fn) {\n wkey = key;\n break;\n }\n }\n\n if (!wkey) {\n wkey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n var wcache = {};\n\n for (var i = 0, l = cacheKeys.length; i < l; i++) {\n var key = cacheKeys[i];\n wcache[key] = key;\n }\n\n sources[wkey] = ['function(require,module,exports){' + fn + '(self); }', wcache];\n }\n\n var skey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\n var scache = {};\n scache[wkey] = wkey;\n sources[skey] = ['function(require,module,exports){' + // try to call default if defined to also support babel esmodule exports\n 'var f = require(' + stringify(wkey) + ');' + '(f.default ? f.default : f)(self);' + '}', scache];\n var workerSources = {};\n resolveSources(skey);\n\n function resolveSources(key) {\n workerSources[key] = true;\n\n for (var depPath in sources[key][1]) {\n var depKey = sources[key][1][depPath];\n\n if (!workerSources[depKey]) {\n resolveSources(depKey);\n }\n }\n }\n\n var src = '(' + bundleFn + ')({' + Object.keys(workerSources).map(function (key) {\n return stringify(key) + ':[' + sources[key][0] + ',' + stringify(sources[key][1]) + ']';\n }).join(',') + '},{},[' + stringify(skey) + '])';\n var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\n var blob = new Blob([src], {\n type: 'text/javascript'\n });\n\n if (options && options.bare) {\n return blob;\n }\n\n var workerUrl = URL.createObjectURL(blob);\n var worker = new Worker(workerUrl);\n worker.objectURL = workerUrl;\n return worker;\n};\n\n//# sourceURL=webpack://WasmPlayer/./node_modules/_webworkify@1.5.0@webworkify/index.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/**\r\n * Parser for exponential Golomb codes, a variable-bitwidth number encoding scheme used by h264.\r\n*/\n//import { logger } from '../utils/logger';\nvar ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(data) {\n this.data = data; // the number of bytes left to examine in this.data\n\n this.bytesAvailable = data.byteLength; // the current word being examined\n\n this.word = 0; // :uint\n // the number of bits left to examine in the current word\n\n this.bitsAvailable = 0; // :uint\n } // ():void\n\n\n var _proto = ExpGolomb.prototype;\n\n _proto.loadWord = function loadWord() {\n var data = this.data,\n bytesAvailable = this.bytesAvailable,\n position = data.byteLength - bytesAvailable,\n workingBytes = new Uint8Array(4),\n availableBytes = Math.min(4, bytesAvailable);\n\n if (availableBytes === 0) {\n throw new Error('no bytes available');\n }\n\n workingBytes.set(data.subarray(position, position + availableBytes));\n this.word = new DataView(workingBytes.buffer).getUint32(0); // track the amount of this.data that has been processed\n\n this.bitsAvailable = availableBytes * 8;\n this.bytesAvailable -= availableBytes;\n } // (count:int):void\n ;\n\n _proto.skipBits = function skipBits(count) {\n var skipBytes; // :int\n\n if (this.bitsAvailable > count) {\n this.word <<= count;\n this.bitsAvailable -= count;\n } else {\n count -= this.bitsAvailable;\n skipBytes = count >> 3;\n count -= skipBytes >> 3;\n this.bytesAvailable -= skipBytes;\n this.loadWord();\n this.word <<= count;\n this.bitsAvailable -= count;\n }\n } // (size:int):uint\n ;\n\n _proto.readBits = function readBits(size) {\n var bits = Math.min(this.bitsAvailable, size),\n // :uint\n valu = this.word >>> 32 - bits; // :uint\n\n if (size > 32) {\n logger.error('Cannot read more than 32 bits at a time');\n }\n\n this.bitsAvailable -= bits;\n\n if (this.bitsAvailable > 0) {\n this.word <<= bits;\n } else if (this.bytesAvailable > 0) {\n this.loadWord();\n }\n\n bits = size - bits;\n\n if (bits > 0 && this.bitsAvailable) {\n return valu << bits | this.readBits(bits);\n } else {\n return valu;\n }\n } // ():uint\n ;\n\n _proto.skipLZ = function skipLZ() {\n var leadingZeroCount; // :uint\n\n for (leadingZeroCount = 0; leadingZeroCount < this.bitsAvailable; ++leadingZeroCount) {\n if ((this.word & 0x80000000 >>> leadingZeroCount) !== 0) {\n // the first bit of working word is 1\n this.word <<= leadingZeroCount;\n this.bitsAvailable -= leadingZeroCount;\n return leadingZeroCount;\n }\n } // we exhausted word and still have not found a 1\n\n\n this.loadWord();\n return leadingZeroCount + this.skipLZ();\n } // ():void\n ;\n\n _proto.skipUEG = function skipUEG() {\n this.skipBits(1 + this.skipLZ());\n } // ():void\n ;\n\n _proto.skipEG = function skipEG() {\n this.skipBits(1 + this.skipLZ());\n } // ():uint\n ;\n\n _proto.readUEG = function readUEG() {\n var clz = this.skipLZ(); // :uint\n\n return this.readBits(clz + 1) - 1;\n } // ():int\n ;\n\n _proto.readEG = function readEG() {\n var valu = this.readUEG(); // :int\n\n if (0x01 & valu) {\n // the number is odd if the low order bit is set\n return 1 + valu >>> 1; // add 1 to make it even, and divide by 2\n } else {\n return -1 * (valu >>> 1); // divide by two then make it negative\n }\n } // Some convenience functions\n // :Boolean\n ;\n\n _proto.readBoolean = function readBoolean() {\n return this.readBits(1) === 1;\n } // ():int\n ;\n\n _proto.readUByte = function readUByte() {\n return this.readBits(8);\n } // ():int\n ;\n\n _proto.readUShort = function readUShort() {\n return this.readBits(16);\n } // ():int\n ;\n\n _proto.readUInt = function readUInt() {\n return this.readBits(32);\n }\n /**\r\n * Advance the
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultConfig\", function() { return defaultConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createDefaultConfig\", function() { return createDefaultConfig; });\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar defaultConfig = {\n enableWorker: false,\n enableStashBuffer: true,\n stashInitialSize: undefined,\n isLive: false,\n lazyLoad: true,\n lazyLoadMaxDuration: 3 * 60,\n lazyLoadRecoverDuration: 30,\n deferLoadAfterSourceOpen: true,\n // autoCleanupSourceBuffer: default as false, leave unspecified\n autoCleanupMaxBackwardDuration: 3 * 60,\n autoCleanupMinBackwardDuration: 2 * 60,\n statisticsInfoReportInterval: 600,\n fixAudioTimestampGap: true,\n accurateSeek: false,\n seekType: 'range',\n // [range, param, custom]\n seekParamStart: 'bstart',\n seekParamEnd: 'bend',\n rangeLoadZeroStart: false,\n customSeekHandler: undefined,\n reuseRedirectedURL: false,\n // referrerPolicy: leave as unspecified\n headers: undefined,\n customLoader: undefined\n};\nfunction createDefaultConfig() {\n return Object.assign({}, defaultConfig);\n}\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/config.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _io_io_controller_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../io/io-controller.js */ \"./src/FlvPlayer/flv.js/io/io-controller.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../config.js */ \"./src/FlvPlayer/flv.js/config.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\nvar Features = /*#__PURE__*/function () {\n function Features() {}\n\n Features.supportMSEH264Playback = function supportMSEH264Playback() {\n return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"');\n };\n\n Features.supportNetworkStreamIO = function supportNetworkStreamIO() {\n var ioctl = new _io_io_controller_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({}, Object(_config_js__WEBPACK_IMPORTED_MODULE_1__[\"createDefaultConfig\"])());\n var loaderType = ioctl.loaderType;\n ioctl.destroy();\n return loaderType == 'fetch-stream-loader' || loaderType == 'xhr-moz-chunked-loader';\n };\n\n Features.getNetworkLoaderTypeName = function getNetworkLoaderTypeName() {\n var ioctl = new _io_io_controller_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({}, Object(_config_js__WEBPACK_IMPORTED_MODULE_1__[\"createDefaultConfig\"])());\n var loaderType = ioctl.loaderType;\n ioctl.destroy();\n return loaderType;\n };\n\n Features.supportNativeMediaPlayback = function supportNativeMediaPlayback(mimeType) {\n if (Features.videoElement == undefined) {\n Features.videoElement = window.document.createElement('video');\n }\n\n var canPlay = Features.videoElement.canPlayType(mimeType);\n return canPlay === 'probably' || canPlay == 'maybe';\n };\n\n Features.getFeatureList = function getFeatureList() {\n var features = {\n mseFlvPlayback: false,\n mseLiveFlvPlayback: false,\n networkStreamIO: false,\n networkLoaderName: '',\n nativeMP4H264Playback: false,\n nativeWebmVP8Playback: false,\n nativeWebmVP9Playback: false\n };\n features.mseFlvPlayback = Features.supportMSEH264Playback();\n features.networkStreamIO = Features.supportNetworkStreamIO();\n features.networkLoaderName = Features.getNetworkLoaderTypeName();\n features.mseLiveFlvPlayback = features.mseFlvPlayback && features.networkStreamIO;\n features.nativeMP4H264Playback = Features.supportNativeMediaPlayback('video/mp4; codecs=\"avc1.42001E, mp4a.40.2\"');\n features.nativeWebmVP8Playback = Features.supportNativeMediaPlayback('video/webm; codecs=\"vp8.0, vorbis\"');\n features.nativeWebmVP9Playback = Features.supportNativeMediaPlayback('video/webm; codecs=\"vp9\"');\n return features;\n };\n\n return Features;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Features);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/core/features.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SampleInfo\", function() { return SampleInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MediaSegmentInfo\", function() { return MediaSegmentInfo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IDRSampleList\", function() { return IDRSampleList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MediaSegmentInfoList\", function() { return MediaSegmentInfoList; });\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\"BASIS,\r\n*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.\r\n*SeetheLicenseforthespecificlanguagegoverningpermissionsand\r\n*limitationsundertheLicense.\r\n*/\n//Representsanmediasample(audio/video)\nvarSampleInfo=functionSampleInfo(dts,pts,duration,originalDts,isSync){\nthis.dts=dts;\nthis.pts=pts;\nthis.duration=duration;\nthis.originalDts=originalDts;\nthis.isSyncPoint=isSync;\nthis.fileposition=null;\n};// Media Segment concept is defined in Media Source Extensions spec.\n// Particularly in ISO BMFF format, an Media Segment contains a moof box followed by a mdat box.\n\nvar MediaSegmentInfo = /*#__PURE__*/function () {\n function MediaSegmentInfo() {\n this.beginDts = 0;\n this.endDts = 0;\n this.beginPts = 0;\n this.endPts = 0;\n this.originalBeginDts = 0;\n this.originalEndDts = 0;\n this.syncPoints = []; // SampleInfo[n], for video IDR frames only\n\n this.firstSample = null; // SampleInfo\n\n this.lastSample = null; // SampleInfo\n }\n\n var _proto = MediaSegmentInfo.prototype;\n\n _proto.appendSyncPoint = function appendSyncPoint(sampleInfo) {\n // also called Random Access Point\n sampleInfo.isSyncPoint = true;\n this.syncPoints.push(sampleInfo);\n };\n\n return MediaSegmentInfo;\n}(); // Ordered list for recording video IDR frames, sorted by originalDts\n\nvar IDRSampleList = /*#__PURE__*/function () {\n function IDRSampleList() {\n this._list = [];\n }\n\n var _proto2 = IDRSampleList.prototype;\n\n _proto2.clear = function clear() {\n this._list = [];\n };\n\n _proto2.appendArray = function appendArray(syncPoints) {\n var list = this._list;\n\n if (syncPoints.length === 0) {\n return;\n }\n\n if (list.length > 0 && syncPoints[0].originalDts < list[list.length - 1].originalDts) {\n this.clear();\n }\n\n Array.prototype.push.apply(list, syncPoints);\n };\n\n _proto2.getLastSyncPointBeforeDts = function getLastSyncPointBeforeDts(dts) {\n if (this._list.length == 0) {\n return null;\n }\n\n var list = this._list;\n var idx = 0;\n var last = list.length - 1;\n var mid = 0;\n var lbound = 0;\n var ubound = last;\n\n if (dts < list[0].dts) {\n idx = 0;\n lbound = ubound + 1;\n }\n\n while (lbound <= ubound) {\n mid = lbound + Math.floor((ubound - lbound) / 2);\n\n if (mid === last
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar MSEEvents = {\n ERROR: 'error',\n SOURCE_OPEN: 'source_open',\n UPDATE_END: 'update_end',\n BUFFER_FULL: 'buffer_full',\n CB_PLAY_INFO: 'play_info',\n CHANGE_SPEED: 'change_speed'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (MSEEvents);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/core/mse-events.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _utils_browser_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/browser.js */ \"./src/FlvPlayer/flv.js/utils/browser.js\");\n/* harmony import */ var _media_info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./media-info.js */ \"./src/FlvPlayer/flv.js/core/media-info.js\");\n/* harmony import */ var _demux_flv_demuxer_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../demux/flv-demuxer.js */ \"./src/FlvPlayer/flv.js/demux/flv-demuxer.js\");\n/* harmony import */ var _remux_mp4_remuxer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../remux/mp4-remuxer.js */ \"./src/FlvPlayer/flv.js/remux/mp4-remuxer.js\");\n/* harmony import */ var _demux_demux_errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../demux/demux-errors.js */ \"./src/FlvPlayer/flv.js/demux/demux-errors.js\");\n/* harmony import */ var _io_io_controller_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../io/io-controller.js */ \"./src/FlvPlayer/flv.js/io/io-controller.js\");\n/* harmony import */ var _transmuxing_events_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./transmuxing-events.js */ \"./src/FlvPlayer/flv.js/core/transmuxing-events.js\");\n/* harmony import */ var _io_loader_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../io/loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _TSDemuxer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../TSDemuxer */ \"./src/FlvPlayer/TSDemuxer.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../common/common */ \"./src/common/common.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\"BASIS,\r\n*WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied.\r\n*SeetheLicenseforthespecificlanguagegoverningpermissionsand\r\n*limitationsundertheLicense.\r\n*/\n\n\n\n\n\n\n\n\n\n\n\n //Transmuxing(IO,Demuxing,Remuxing)controller,withmultipartsupport\n\nvarTransmuxingController=/*#__PURE__*/function(){\nfunctionTransmuxingController(mediaDataSource,config){\nthis.TAG='TransmuxingController';\nthis._emitter=newevents__WEBPACK_IMPORTED_MODULE_0___default.a();\nthis._config=config;// treat single part media as multipart media, which has only one segment\n\n if (!mediaDataSource.segments) {\n mediaDataSource.segments = [{\n duration: mediaDataSource.duration,\n filesize: mediaDataSource.filesize,\n url: mediaDataSource.url\n }];\n } // fill in default IO params if not exists\n\n\n if (typeof mediaDataSource.cors !== 'boolean') {\n mediaDataSource.cors = true;\n }\n\n if (typeof mediaDataSource.withCredentials !== 'boolean') {\n mediaDataSource.withCredentials = false;\n }\n\n this._mediaDataSource = mediaDataSource;\n this._currentSegmentIndex = 0;\n var totalDuration = 0;\n\n this._mediaDataSource.segments.forEach(function (segment) {\n // timestampBase for each segment, and calculate total duration\n segmen
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar TransmuxingEvents = {\n IO_ERROR: 'io_error',\n DEMUX_ERROR: 'demux_error',\n INIT_SEGMENT: 'init_segment',\n MEDIA_SEGMENT: 'media_segment',\n LOADING_COMPLETE: 'loading_complete',\n RECOVERED_EARLY_EOF: 'recovered_early_eof',\n MEDIA_INFO: 'media_info',\n METADATA_ARRIVED: 'metadata_arrived',\n SCRIPTDATA_ARRIVED: 'scriptdata_arrived',\n STATISTICS_INFO: 'statistics_info',\n RECOMMEND_SEEKPOINT: 'recommend_seekpoint',\n RECONNECT_ING: 'reconnect_ing',\n RECONNECT_SUCCESS: 'reconnect_success'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (TransmuxingEvents);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/core/transmuxing-events.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _utils_logging_control_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/logging-control.js */ \"./src/FlvPlayer/flv.js/utils/logging-control.js\");\n/* harmony import */ var _utils_polyfill_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/polyfill.js */ \"./src/FlvPlayer/flv.js/utils/polyfill.js\");\n/* harmony import */ var _transmuxing_controller_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./transmuxing-controller.js */ \"./src/FlvPlayer/flv.js/core/transmuxing-controller.js\");\n/* harmony import */ var _transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./transmuxing-events.js */ \"./src/FlvPlayer/flv.js/core/transmuxing-events.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n\n\n/* post message to worker:\r\n data: {\r\n cmd: string\r\n param: any\r\n }\r\n\r\n receive message from worker:\r\n data: {\r\n msg: string,\r\n data: any\r\n }\r\n */\n\nvar TransmuxingWorker = function TransmuxingWorker(self) {\n var TAG = 'TransmuxingWorker';\n var controller = null;\n var logcatListener = onLogcatCallback.bind(this);\n _utils_polyfill_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].install();\n self.addEventListener('message', function (e) {\n switch (e.data.cmd) {\n case 'init':\n controller = new _transmuxing_controller_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](e.data.param[0], e.data.param[1]);\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].IO_ERROR, onIOError.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].DEMUX_ERROR, onDemuxError.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].INIT_SEGMENT, onInitSegment.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].MEDIA_SEGMENT, onMediaSegment.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].LOADING_COMPLETE, onLoadingComplete.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].RECOVERED_EARLY_EOF, onRecoveredEarlyEof.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].MEDIA_INFO, onMediaInfo.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].METADATA_ARRIVED, onMetaDataArrived.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].SCRIPTDATA_ARRIVED, onScriptDataArrived.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].STATISTICS_INFO, onStatisticsInfo.bind(this));\n controller.on(_transmuxing_events_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"].RECOMMEND_SEEKPOINT,onRecommendSeekpoint.bind(this));\nbreak;\n\ncase'destroy':\nif(controller){\ncontroller.destroy();\ncontroller=null;\n}\n\nself.postMessage({\nmsg:'destroyed'\n});\nbreak;\n\ncase'start':\nc
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _utils_utf8_conv_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/utf8-conv.js */ \"./src/FlvPlayer/flv.js/utils/utf8-conv.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n\nvar le = function () {\n var buf = new ArrayBuffer(2);\n new DataView(buf).setInt16(0, 256, true); // little-endian write\n\n return new Int16Array(buf)[0] === 256; // platform-spec read, if equal then LE\n}();\n\nvar AMF = /*#__PURE__*/function () {\n function AMF() {}\n\n AMF.parseScriptData = function parseScriptData(arrayBuffer, dataOffset, dataSize) {\n var data = {};\n\n try {\n var name = AMF.parseValue(arrayBuffer, dataOffset, dataSize);\n if (dataSize - name.size < 1) return data;\n var value = AMF.parseValue(arrayBuffer, dataOffset + name.size, dataSize - name.size);\n data[name.data] = value.data;\n } catch (e) {\n _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].e('AMF', e.toString());\n }\n\n return data;\n };\n\n AMF.parseObject = function parseObject(arrayBuffer, dataOffset, dataSize) {\n if (dataSize < 3) {\n throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__[\"IllegalStateException\"]('Data not enough when parse ScriptDataObject');\n }\n\n var name = AMF.parseString(arrayBuffer, dataOffset, dataSize);\n var value = AMF.parseValue(arrayBuffer, dataOffset + name.size, dataSize - name.size);\n var isObjectEnd = value.objectEnd;\n return {\n data: {\n name: name.data,\n value: value.data\n },\n size: name.size + value.size,\n objectEnd: isObjectEnd\n };\n };\n\n AMF.parseVariable = function parseVariable(arrayBuffer, dataOffset, dataSize) {\n return AMF.parseObject(arrayBuffer, dataOffset, dataSize);\n };\n\n AMF.parseString = function parseString(arrayBuffer, dataOffset, dataSize) {\n if (dataSize < 2) {\n throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__[\"IllegalStateException\"]('Data not enough when parse String');\n }\n\n var v = new DataView(arrayBuffer, dataOffset, dataSize);\n var length = v.getUint16(0, !le);\n var str;\n\n if (length > 0) {\n str = Object(_utils_utf8_conv_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(new Uint8Array(arrayBuffer, dataOffset + 2, length));\n } else {\n str = '';\n }\n\n return {\n data: str,\n size: 2 + length\n };\n };\n\n AMF.parseLongString = function parseLongString(arrayBuffer, dataOffset, dataSize) {\n if (dataSize < 4) {\n throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__[\"IllegalStateException\"]('Data not enough when parse LongString');\n }\n\n var v = new DataView(arrayBuffer, dataOffset, dataSize);\n var length = v.getUint32(0, !le);\n var str;\n\n if (length > 0) {\n str = Object(_utils_utf8_conv_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(newUint8Array(arrayBuffer,dataOffset+4,length));\n}else{\nstr='';\n}\n\nreturn{\ndata:str,\n
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar DemuxErrors = {\n OK: 'OK',\n FORMAT_ERROR: 'FormatError',\n FORMAT_UNSUPPORTED: 'FormatUnsupported',\n CODEC_UNSUPPORTED: 'CodecUnsupported'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (DemuxErrors);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/demux/demux-errors.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n // Exponential-Golomb buffer decoder\n\nvar ExpGolomb = /*#__PURE__*/function () {\n function ExpGolomb(uint8array) {\n this.TAG = 'ExpGolomb';\n this._buffer = uint8array;\n this._buffer_index = 0;\n this._total_bytes = uint8array.byteLength;\n this._total_bits = uint8array.byteLength * 8;\n this._current_word = 0;\n this._current_word_bits_left = 0;\n }\n\n var _proto = ExpGolomb.prototype;\n\n _proto.destroy = function destroy() {\n this._buffer = null;\n };\n\n _proto._fillCurrentWord = function _fillCurrentWord() {\n var buffer_bytes_left = this._total_bytes - this._buffer_index;\n if (buffer_bytes_left <= 0) throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_0__[\"IllegalStateException\"]('ExpGolomb: _fillCurrentWord() but no bytes available');\n var bytes_read = Math.min(4, buffer_bytes_left);\n var word = new Uint8Array(4);\n word.set(this._buffer.subarray(this._buffer_index, this._buffer_index + bytes_read));\n this._current_word = new DataView(word.buffer).getUint32(0, false);\n this._buffer_index += bytes_read;\n this._current_word_bits_left = bytes_read * 8;\n };\n\n _proto.readBits = function readBits(bits) {\n if (bits > 32) throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_0__[\"InvalidArgumentException\"]('ExpGolomb: readBits() bits exceeded max 32bits!');\n\nif(bits<=this._current_word_bits_left){\nvar_result=this._current_word>>>32-bits;\n\nthis._current_word<<=bits;\nthis._current_word_bits_left-=bits;\nreturn_result;\n}\n\nvarresult=this._current_word_bits_left?this._current_word:0;\nresult=result>>>32-this._current_word_bits_left;\nvarbits_need_left=bits-this._current_word_bits_left;\n\nthis._fillCurrentWord();\n\nvarbits_read_next=Math.min(bits_need_left,this._current_word_bits_left);\nvarresult2=this._current_word>>>32-bits_read_next;\nthis._current_word<<=bits_read_next;\nthis._current_word_bits_left-=bits_read_next;\nresult=result<<bits_read_next|result2;\nreturnresult;\n};\n\n_proto.readBool=functionreadBool(){\nreturnthis.readBits(1)===1;\n};\n\n_proto.readByte=functionreadByte(){\nreturnthis.readBits(8);\n};\n\n_proto._skipLeadingZero=function_skipLeadingZero(){\nvarzero_count;\n\nfor(zero_count=0;zero_count<this._current_word_bits_left;zero_count++){\nif(0!==(this._current_word&0x80000000>>>zero_count)){\nthis._current_word<<=zero_count;\nthis._current_word_bits_left-=zero_count;\nreturnzero_count;\n}\n}\n\nthis._fillCurrentWord();\n\nreturnzero_count+this._skipLeadingZero();\n};\n\n_proto.readUEG=functionreadUEG(){\n// unsigned exponential golomb\n var leading_zeros = this._skipLeadingZero();\n\n return this.readBits(leading_zeros + 1) - 1;\n };\n\n _proto.readSEG = function readSEG() {\n // signed exponential golomb\n var value = this.readUEG();\n\n if (value & 0x01) {\n return value + 1 >>> 1;\n } else {\n return -1 * (valu
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _utils_browser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/browser.js */ \"./src/FlvPlayer/flv.js/utils/browser.js\");\n/* harmony import */ var _loader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\n/* harmony import */ var _common_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../common/common */ \"./src/common/common.js\");\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n\n\n/* fetch + stream IO loader. Currently working on chrome 43+.\r\n * fetch provides a better alternative http API to XMLHttpRequest\r\n *\r\n * fetch spec https://fetch.spec.whatwg.org/\r\n * stream spec https://streams.spec.whatwg.org/\r\n */\n\nvar FetchStreamLoader = /*#__PURE__*/function (_BaseLoader) {\n _inheritsLoose(FetchStreamLoader, _BaseLoader);\n\n FetchStreamLoader.isSupported = function isSupported() {\n try {\n // fetch + stream is broken on Microsoft Edge. Disable before build 15048.\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8196907/\n // Fixed in Jan 10, 2017. Build 15048+ removed from blacklist.\n var isWorkWellEdge = _utils_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].msedge && _utils_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].version.minor >= 15048;\n var browserNotBlacklisted = _utils_browser_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].msedge?isWorkWellEdge:true;\nreturnself.fetch&&self.ReadableStream&&browserNotBlacklisted;\n}catch(e){\nreturnfalse;\n}\n};\n\nfunctionFetchStreamLoader(seekHandler,config){\nvar_this;\n\n_this=_BaseLoader.call(this,'fetch-stream-loader')||this;\n_this.TAG='FetchStreamLoader';\n_this._seekHandler=seekHandler;\n_this._config=config;\n_this._needStash=true;\n_this._requestAbort=false;\n_this._contentLength=null;\n_this._receivedLength=0;\n_this._retryConnectTimes=0;\n_this._fetchUrl=null;\n_this._fetchParam=null;\n_this._triggerReconnectingNotify=true;\n_this._triggerReconnectSuccessNotify=true;\nreturn_this;\n}\n\nvar_proto=FetchStreamLoader.prototype;\n\n_proto.destroy=functiondestroy(){\nif(this.isWorking()){\nthis.abort();\n}\n\n_BaseLoader.prototype.destroy.call(this);\n};\n\n_proto.fetchStream=functionfetchStream(){\nvar_this2=this;\n\nvarparams=this._fetchParam;\nthis._retryConnectTimes++;//֪ͨ<CDA8>ϲ<EFBFBD>, <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 1Ϊ<31><CEAA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD>еķ<D0B5><C4B7><EFBFBD>_onDataArrival\n\n if (this._triggerReconnectingNotify) {\n this._triggerReconnectingNotify = false;\n\n if (this._onDataArrival) {\n this._onData
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar ParamSeekHandler = /*#__PURE__*/function () {\n function ParamSeekHandler(paramStart, paramEnd) {\n this._startName = paramStart;\n this._endName = paramEnd;\n }\n\n var _proto = ParamSeekHandler.prototype;\n\n _proto.getConfig = function getConfig(baseUrl, range) {\n var url = baseUrl;\n\n if (range.from !== 0 || range.to !== -1) {\n var needAnd = true;\n\n if (url.indexOf('?') === -1) {\n url += '?';\n needAnd = false;\n }\n\n if (needAnd) {\n url += '&';\n }\n\n url += this._startName + \"=\" + range.from.toString();\n\n if (range.to !== -1) {\n url += \"&\" + this._endName + \"=\" + range.to.toString();\n }\n }\n\n return {\n url: url,\n headers: {}\n };\n };\n\n _proto.removeURLParameters = function removeURLParameters(seekedURL) {\n var baseURL = seekedURL.split('?')[0];\n var params = undefined;\n var queryIndex = seekedURL.indexOf('?');\n\n if (queryIndex !== -1) {\n params = seekedURL.substring(queryIndex + 1);\n }\n\n var resultParams = '';\n\n if (params != undefined && params.length > 0) {\n var pairs = params.split('&');\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i].split('=');\n var requireAnd = i > 0;\n\n if (pair[0] !== this._startName && pair[0] !== this._endName) {\n if (requireAnd) {\n resultParams += '&';\n }\n\n resultParams += pairs[i];\n }\n }\n }\n\n return resultParams.length === 0 ? baseURL : baseURL + '?' + resultParams;\n };\n\n return ParamSeekHandler;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ParamSeekHandler);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/io/param-seek-handler.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar RangeSeekHandler = /*#__PURE__*/function () {\n function RangeSeekHandler(zeroStart) {\n this._zeroStart = zeroStart || false;\n }\n\n var _proto = RangeSeekHandler.prototype;\n\n _proto.getConfig = function getConfig(url, range) {\n var headers = {};\n\n if (range.from !== 0 || range.to !== -1) {\n var param;\n\n if (range.to !== -1) {\n param = \"bytes=\" + range.from.toString() + \"-\" + range.to.toString();\n } else {\n param = \"bytes=\" + range.from.toString() + \"-\";\n }\n\n headers['Range'] = param;\n } else if (this._zeroStart) {\n headers['Range'] = 'bytes=0-';\n }\n\n return {\n url: url,\n headers: headers\n };\n };\n\n _proto.removeURLParameters = function removeURLParameters(seekedURL) {\n return seekedURL;\n };\n\n return RangeSeekHandler;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (RangeSeekHandler);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/io/range-seek-handler.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _loader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n // For FireFox browser which supports `xhr.responseType = 'moz-chunked-arraybuffer'`\n\nvar MozChunkedLoader = /*#__PURE__*/function (_BaseLoader) {\n _inheritsLoose(MozChunkedLoader, _BaseLoader);\n\n MozChunkedLoader.isSupported = function isSupported() {\n try {\n var xhr = new XMLHttpRequest(); // Firefox 37- requires .open() to be called before setting responseType\n\n xhr.open('GET', 'https://example.com', true);\n xhr.responseType = 'moz-chunked-arraybuffer';\n return xhr.responseType === 'moz-chunked-arraybuffer';\n } catch (e) {\n _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].w('MozChunkedLoader',e.message);\nreturnfalse;\n}\n};\n\nfunctionMozChunkedLoader(seekHandler,config){\nvar_this;\n\n_this=_BaseLoader.call(this,'xhr-moz-chunked-loader')||this;\n_this.TAG='MozChunkedLoader';\n_this._seekHandler=seekHandler;\n_this._config=config;\n_this._needStash=true;\n_this._xhr=null;\n_this._requestAbort=false;\n_this._contentLength=null;\n_this._receivedLength=0;\nreturn_this;\n}\n\nvar_proto=MozChunkedLoader.prototype;\n\n_proto.destroy=functiondestroy(){\nif(this.isWorking()){\nthis.abort();\n}\n\nif(this._xhr){\nthis._xhr.onreadystatechange=null;\nthis._xhr.onprogress=null;\nthis._xhr.onloadend=null;\nthis._xhr.onerror=null;\nthis._xhr=null;\n}\n\n_BaseLoader.prototype.destroy.call(this);\n};\n\n_proto.open=functionopen(dataSource,range){\nthis._dataSource=dataSource;\nthis._range=range;\nvarsourceURL=dataSource.url;\n\nif(this._config.reuseRedirectedURL&&dataSource.redirectedURL!=undefined){\nsourceURL=dataSource.redirectedURL;\n}\n\nvarseekConfig=this._seekHandler.getConfig(sourceURL,range);\n\nthis._requestURL=seekConfig.url;\nvarxhr=this._xhr=newXMLHttpRequest();\nxhr.open('GET',seekConfig.url,true);\nxhr.responseType='moz-chunked-arraybuffer';\nxhr.onreadystatechange=this._onReadyStateChange.bind(this);\nxhr.onprogress=this._onProgress.bind(this);\nxhr.onloadend=this._onLoadEnd.bind(this);\nxhr.onerror=this._onXhrError.bind(this);// cors is auto detected and enabled by xhr\n // withCredentials is disabled by default\n\n if (dataSource.withCredentials) {\n xhr.withCredentials = true;\n }\n\n if (typeof seekConfig.headers === 'object') {\n var headers = seekConfig.headers;\n\n for (var key in headers) {\n if (headers.hasOwnProperty(key)) {\n
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _loader_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n/* Notice: ms-stream may cause IE/Edge browser crash if seek too frequently!!!\r\n * The browser may crash in wininet.dll. Disable for now.\r\n *\r\n * For IE11/Edge browser by microsoft which supports `xhr.responseType = 'ms-stream'`\r\n * Notice that ms-stream API sucks. The buffer is always expanding along with downloading.\r\n *\r\n * We need to abort the xhr if buffer size exceeded limit size (e.g. 16 MiB), then do reconnect.\r\n * in order to release previous ArrayBuffer to avoid memory leak\r\n *\r\n * Otherwise, the ArrayBuffer will increase to a terrible size that equals final file size.\r\n */\n\nvar MSStreamLoader = /*#__PURE__*/function (_BaseLoader) {\n _inheritsLoose(MSStreamLoader, _BaseLoader);\n\n MSStreamLoader.isSupported = function isSupported() {\n try {\n if (typeof self.MSStream === 'undefined' || typeof self.MSStreamReader === 'undefined') {\n return false;\n }\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', 'https://example.com', true);\n xhr.responseType = 'ms-stream';\n return xhr.responseType === 'ms-stream';\n } catch (e) {\n _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].w('MSStreamLoader',e.message);\nreturnfalse;\n}\n};\n\nfunctionMSStreamLoader(seekHandler,config){\nvar_this;\n\n_this=_BaseLoader.call(this,'xhr-msstream-loader')||this;\n_this.TAG='MSStreamLoader';\n_this._seekHandler=seekHandler;\n_this._config=config;\n_this._needStash=true;\n_this._xhr=null;\n_this._reader=null;// MSStreamReader\n\n _this._totalRange = null;\n _this._currentRange = null;\n _this._currentRequestURL = null;\n _this._currentRedirectedURL = null;\n _this._contentLength = null;\n _this._receivedLength = 0;\n _this._bufferLimit = 16 * 1024 * 1024; // 16MB\n\n _this._lastTimeBufferSize = 0;\n _this._isReconnecting = false;\n return _this;\n }\n\n var _proto = MSStreamLoader.prototype;\n\n _proto.destroy = function destroy() {\n if (this.isWorking()) {\n this.abort();\n }\n\n if (this._reader) {\n this._reader.onprogress = null;\n this._reader.onload = null;\n this._reader.onerror = null;\n this._reader = null;\n }\n\n if (this._xhr) {\n this._xhr.onreadystatechange = null;\n this._xhr = null;\n }\n\n _BaseLoader.prototype.destroy.call(this);\n };\n\n _proto.open = function open(dataSource, range) {\n this._internalOpen(dataSource, range, false);\n };\n\n _proto._internalOpen = function _internalOpen(dataSource, range, isSubrange) {\n this._dataSource = dataSource;
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _speed_sampler_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./speed-sampler.js */ \"./src/FlvPlayer/flv.js/io/speed-sampler.js\");\n/* harmony import */ var _loader_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n // Universal IO Loader, implemented by adding Range header in xhr's request header\n\nvar RangeLoader = /*#__PURE__*/function (_BaseLoader) {\n _inheritsLoose(RangeLoader, _BaseLoader);\n\n RangeLoader.isSupported = function isSupported() {\n try {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', 'https://example.com', true);\n xhr.responseType = 'arraybuffer';\n return xhr.responseType === 'arraybuffer';\n } catch (e) {\n _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].w('RangeLoader', e.message);\n return false;\n }\n };\n\n function RangeLoader(seekHandler, config) {\n var _this;\n\n _this = _BaseLoader.call(this, 'xhr-range-loader') || this;\n _this.TAG = 'RangeLoader';\n _this._seekHandler = seekHandler;\n _this._config = config;\n _this._needStash = false;\n _this._chunkSizeKBList = [128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 5120, 6144, 7168, 8192];\n _this._currentChunkSizeKB = 384;\n _this._currentSpeedNormalized = 0;\n _this._zeroSpeedChunkCount = 0;\n _this._xhr = null;\n _this._speedSampler = new _speed_sampler_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]();\n_this._requestAbort=false;\n_this._waitForTotalLength=false;\n_this._totalLengthReceived=false;\n_this._currentRequestURL=null;\n_this._currentRedirectedURL=null;\n_this._currentRequestRange=null;\n_this._totalLength=null;// size of the entire file\n\n _this._contentLength = null; // Content-Length of entire request range\n\n _this._receivedLength = 0; // total received bytes\n\n _this._lastTimeLoaded = 0; // received bytes of current request sub-range\n\n return _this;\n }\n\n var _proto = RangeLoader.prototype;\n\n _proto.destroy = function destroy() {\n if (this.isWorking()) {\n this.abort();\n }\n\n if (this._xhr) {\n this._xhr.onreadystatechange = null;\n
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _player_events_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./player-events.js */ \"./src/FlvPlayer/flv.js/player/player-events.js\");\n/* harmony import */ var _config_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../config.js */ \"./src/FlvPlayer/flv.js/config.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n // Player wrapper for browser's native player (HTMLVideoElement) without MediaSource src. \n\nvar NativePlayer = /*#__PURE__*/function () {\n function NativePlayer(mediaDataSource, h5Video, callbackPlayTimeFunc, callbackUserPtr, config) {\n this.TAG = 'NativePlayer';\n this._type = 'NativePlayer';\n this._emitter = new events__WEBPACK_IMPORTED_MODULE_0___default.a();\n this._config = Object(_config_js__WEBPACK_IMPORTED_MODULE_2__[\"createDefaultConfig\"])();\n\n if (typeof config === 'object') {\n Object.assign(this._config, config);\n }\n\n if (mediaDataSource.type.toLowerCase() === 'flv') {\n throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_3__[\"InvalidArgumentException\"]('NativePlayer does\\'t support flv MediaDataSource input!');\n }\n\n if (mediaDataSource.hasOwnProperty('segments')) {\n throw new _utils_exception_js__WEBPACK_IMPORTED_MODULE_3__[\"InvalidArgumentException\"](\"NativePlayer(\" + mediaDataSource.type + \") doesn't support multipart playback!\");\n }\n\n this.e = {\n onvLoadedMetadata: this._onvLoadedMetadata.bind(this)\n };\n this._pendingSeekTime = null;\n this._statisticsReporter = null;\n this._mediaDataSource = mediaDataSource;\n this._mediaElement = null;\n this.pauseDisplay = false;\n this.h5Video = h5Video;\n this.callbackPlayTimeFunc = callbackPlayTimeFunc;\n this.callbackUserPtr = callbackUserPtr;\n }\n\n var _proto = NativePlayer.prototype;\n\n _proto.destroy = function destroy() {\n if (this._mediaElement) {\n this.unload();\n this.detachMediaElement();\n }\n\n this.e = null;\n this._mediaDataSource = null;\n\n this._emitter.removeAllListeners();\n\n this._emitter = null;\n };\n\n _proto.on = function on(event, listener) {\n var _this = this;\n\n if (event === _player_events_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].MEDIA_INFO){\nif(this._mediaElement!=null&&this._mediaElement.readyState!==
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ErrorTypes\", function() { return ErrorTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ErrorDetails\", function() { return ErrorDetails; });\n/* harmony import */ var _io_loader_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../io/loader.js */ \"./src/FlvPlayer/flv.js/io/loader.js\");\n/* harmony import */ var _demux_demux_errors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../demux/demux-errors.js */ \"./src/FlvPlayer/flv.js/demux/demux-errors.js\");\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar ErrorTypes = {\n NETWORK_ERROR: 'NetworkError',\n MEDIA_ERROR: 'MediaError',\n OTHER_ERROR: 'OtherError'\n};\nvar ErrorDetails = {\n NETWORK_EXCEPTION: _io_loader_js__WEBPACK_IMPORTED_MODULE_0__[\"LoaderErrors\"].EXCEPTION,\n NETWORK_STATUS_CODE_INVALID: _io_loader_js__WEBPACK_IMPORTED_MODULE_0__[\"LoaderErrors\"].HTTP_STATUS_CODE_INVALID,\n NETWORK_TIMEOUT: _io_loader_js__WEBPACK_IMPORTED_MODULE_0__[\"LoaderErrors\"].CONNECTING_TIMEOUT,\n NETWORK_UNRECOVERABLE_EARLY_EOF: _io_loader_js__WEBPACK_IMPORTED_MODULE_0__[\"LoaderErrors\"].UNRECOVERABLE_EARLY_EOF,\n MEDIA_MSE_ERROR: 'MediaMSEError',\n MEDIA_FORMAT_ERROR: _demux_demux_errors_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].FORMAT_ERROR,\n MEDIA_FORMAT_UNSUPPORTED: _demux_demux_errors_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].FORMAT_UNSUPPORTED,\n MEDIA_CODEC_UNSUPPORTED: _demux_demux_errors_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CODEC_UNSUPPORTED\n};\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/player/player-errors.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar PlayerEvents = {\n ERROR: 'error',\n LOADING_COMPLETE: 'loading_complete',\n RECOVERED_EARLY_EOF: 'recovered_early_eof',\n MEDIA_INFO: 'media_info',\n METADATA_ARRIVED: 'metadata_arrived',\n SCRIPTDATA_ARRIVED: 'scriptdata_arrived',\n STATISTICS_INFO: 'statistics_info'\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (PlayerEvents);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/player/player-events.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\n/* harmony import */ var _mp4_generator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mp4-generator.js */ \"./src/FlvPlayer/flv.js/remux/mp4-generator.js\");\n/* harmony import */ var _aac_silent_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./aac-silent.js */ \"./src/FlvPlayer/flv.js/remux/aac-silent.js\");\n/* harmony import */ var _utils_browser_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/browser.js */ \"./src/FlvPlayer/flv.js/utils/browser.js\");\n/* harmony import */ var _core_media_segment_info_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../core/media-segment-info.js */ \"./src/FlvPlayer/flv.js/core/media-segment-info.js\");\n/* harmony import */ var _utils_exception_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/exception.js */ \"./src/FlvPlayer/flv.js/utils/exception.js\");\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\n\n\n // Fragmented mp4 remuxer\n\nvar MP4Remuxer = /*#__PURE__*/function () {\n function MP4Remuxer(config) {\n this.TAG = 'MP4Remuxer';\n this._config = config;\n this._isLive = config.isLive === true ? true : false;\n this._dtsBase = -1;\n this._dtsBaseInited = false;\n this._audioDtsBase = Infinity;\n this._videoDtsBase = Infinity;\n this._audioNextDts = undefined;\n this._videoNextDts = undefined;\n this._audioStashedLastSample = null;\n this._videoStashedLastSample = null;\n this._audioMeta = null;\n this._videoMeta = null;\n this._adjustPts = 0; //gavin\n\n this._lastAdjustVideoPts = 0;\n this._lastVideoPts = 0;\n this._audioSegmentInfoList = new _core_media_segment_info_js__WEBPACK_IMPORTED_MODULE_4__[\"MediaSegmentInfoList\"]('audio');\n this._videoSegmentInfoList = new _core_media_segment_info_js__WEBPACK_IMPORTED_MODULE_4__[\"MediaSegmentInfoList\"]('video');\n this._onInitSegment = null;\n this._onMediaSegment = null; // Workaround for chrome < 50: Always force first sample as a Random Access Point in media segment\n // see https://bugs.chromium.org/p/chromium/issues/detail?id=229412\n\n this._forceFirstIDR = _utils_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].chrome && (_utils_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].version.major < 50 || _utils_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].version.major === 50 && _utils_browser_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].version.build<2661)?true:false;// Workaround for IE11/Edge: Fill silent aac frame after keyframe-seeking\n // Make audio beginDts equals with video beginDts, in order to fix seek freeze\n\n this._fillSilentAfterSeek = _utils_brows
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\nvar Log = /*#__PURE__*/function () {\n function Log() {}\n\n Log.e = function e(tag, msg) {\n if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\n var str = \"[\" + tag + \"] > \" + msg;\n\n if (Log.ENABLE_CALLBACK) {\n Log.emitter.emit('log', 'error', str);\n }\n\n if (!Log.ENABLE_ERROR) {\n return;\n }\n\n if (console.error) {\n console.error(str);\n } else if (console.warn) {\n console.warn(str);\n } else {\n console.log(str);\n }\n };\n\n Log.i = function i(tag, msg) {\n if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\n var str = \"[\" + tag + \"] > \" + msg;\n\n if (Log.ENABLE_CALLBACK) {\n Log.emitter.emit('log', 'info', str);\n }\n\n if (!Log.ENABLE_INFO) {\n return;\n }\n\n if (console.info) {\n console.info(str);\n } else {\n console.log(str);\n }\n };\n\n Log.w = function w(tag, msg) {\n if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\n var str = \"[\" + tag + \"] > \" + msg;\n\n if (Log.ENABLE_CALLBACK) {\n Log.emitter.emit('log', 'warn', str);\n }\n\n if (!Log.ENABLE_WARN) {\n return;\n }\n\n if (console.warn) {\n console.warn(str);\n } else {\n console.log(str);\n }\n };\n\n Log.d = function d(tag, msg) {\n if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\n var str = \"[\" + tag + \"] > \" + msg;\n\n if (Log.ENABLE_CALLBACK) {\n Log.emitter.emit('log', 'debug', str);\n }\n\n if (!Log.ENABLE_DEBUG) {\n return;\n }\n\n if (console.debug) {\n console.debug(str);\n } else {\n console.log(str);\n }\n };\n\n Log.v = function v(tag, msg) {\n if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\n var str = \"[\" + tag + \"] > \" + msg;\n\n if (Log.ENABLE_CALLBACK) {\n Log.emitter.emit('log', 'verbose', str);\n }\n\n if (!Log.ENABLE_VERBOSE) {\n return;\n }\n\n console.log(str);\n };\n\n return Log;\n}();\n\nLog.GLOBAL_TAG = 'EasyPlayer.js';\nLog.FORCE_GLOBAL_TAG = false;\nLog.ENABLE_ERROR = true;\nLog.ENABLE_INFO = true;\nLog.ENABLE_WARN = true;\nLog.ENABLE_DEBUG = true;\nLog.ENABLE_VERBOSE = true;\nLog.ENABLE_CALLBACK = false;\nLog.emitter = new events__WEBPACK_IMPORTED_MODULE_0___default.a();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Log);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/utils/logger.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! events */ \"./node_modules/_events@3.2.0@events/events.js\");\n/* harmony import */ var events__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(events__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger.js */ \"./src/FlvPlayer/flv.js/utils/logger.js\");\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\n\n\n\nvar LoggingControl = /*#__PURE__*/function () {\n function LoggingControl() {}\n\n LoggingControl.getConfig = function getConfig() {\n return {\n globalTag: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GLOBAL_TAG,\n forceGlobalTag: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].FORCE_GLOBAL_TAG,\n enableVerbose: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_VERBOSE,\n enableDebug: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_DEBUG,\n enableInfo: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_INFO,\n enableWarn: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_WARN,\n enableError: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_ERROR,\n enableCallback: _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_CALLBACK\n };\n };\n\n LoggingControl.applyConfig = function applyConfig(config) {\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].GLOBAL_TAG = config.globalTag;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].FORCE_GLOBAL_TAG = config.forceGlobalTag;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_VERBOSE = config.enableVerbose;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_DEBUG = config.enableDebug;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_INFO = config.enableInfo;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_WARN = config.enableWarn;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_ERROR = config.enableError;\n _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].ENABLE_CALLBACK=config.enableCallback;\n};\n\nLoggingControl._notifyChange=function_notifyChange(){\nvaremitter=LoggingControl.emitter;\n\nif(emitter.listenerCount('change')>0){\nvarconfig=LoggingControl.getConfig();\nemitter.emit('change',config);\n}\n};\n\nLoggingControl.registerListener=functionregisterListener(listener){\nLoggingControl.emitter.addListener('change',listener);\n};\n\nLoggingControl.removeListener=functionremoveListener(listener){\nLoggingControl.emitter.removeListener('change',listener);\n};\n\nLoggingControl.addLogListener=functionaddLogListener(listener){\n_logger_js__WEBPACK_IMPORTED
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nvar Polyfill = /*#__PURE__*/function () {\n function Polyfill() {}\n\n Polyfill.install = function install() {\n // ES6 Object.setPrototypeOf\n Object.setPrototypeOf = Object.setPrototypeOf || function (obj, proto) {\n obj.__proto__ = proto;\n return obj;\n }; // ES6 Object.assign\n\n\n Object.assign = Object.assign || function (target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n if (source !== undefined && source !== null) {\n for (var key in source) {\n if (source.hasOwnProperty(key)) {\n output[key] = source[key];\n }\n }\n }\n }\n\n return output;\n }; // ES6 Promise (missing support in IE11)\n\n\n if (typeof self.Promise !== 'function') {\n __webpack_require__(/*! es6-promise */ \"./node_modules/_es6-promise@4.2.8@es6-promise/dist/es6-promise.js\").polyfill();\n }\n };\n\n return Polyfill;\n}();\n\nPolyfill.install();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Polyfill);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/utils/polyfill.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * This file is derived from C++ project libWinTF8 (https://github.com/m13253/libWinTF8)\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\nfunction checkContinuation(uint8array, start, checkLength) {\n var array = uint8array;\n\n if (start + checkLength < array.length) {\n while (checkLength--) {\n if ((array[++start] & 0xC0) !== 0x80) return false;\n }\n\n return true;\n } else {\n return false;\n }\n}\n\nfunction decodeUTF8(uint8array) {\n var out = [];\n var input = uint8array;\n var i = 0;\n var length = uint8array.length;\n\n while (i < length) {\n if (input[i] < 0x80) {\n out.push(String.fromCharCode(input[i]));\n ++i;\n continue;\n } else if (input[i] < 0xC0) {// fallthrough\n } else if (input[i] < 0xE0) {\n if (checkContinuation(input, i, 1)) {\n var ucs4 = (input[i] & 0x1F) << 6 | input[i + 1] & 0x3F;\n\n if (ucs4 >= 0x80) {\n out.push(String.fromCharCode(ucs4 & 0xFFFF));\n i += 2;\n continue;\n }\n }\n } else if (input[i] < 0xF0) {\n if (checkContinuation(input, i, 2)) {\n var _ucs = (input[i] & 0xF) << 12 | (input[i + 1] & 0x3F) << 6 | input[i + 2] & 0x3F;\n\n if (_ucs >= 0x800 && (_ucs & 0xF800) !== 0xD800) {\n out.push(String.fromCharCode(_ucs & 0xFFFF));\n i += 3;\n continue;\n }\n }\n } else if (input[i] < 0xF8) {\n if (checkContinuation(input, i, 3)) {\n var _ucs2 = (input[i] & 0x7) << 18 | (input[i + 1] & 0x3F) << 12 | (input[i + 2] & 0x3F) << 6 | input[i + 3] & 0x3F;\n\n if (_ucs2 > 0x10000 && _ucs2 < 0x110000) {\n _ucs2 -= 0x10000;\n out.push(String.fromCharCode(_ucs2 >>> 10 | 0xD800));\n out.push(String.fromCharCode(_ucs2 & 0x3FF | 0xDC00));\n i += 4;\n continue;\n }\n }\n }\n\n out.push(String.fromCharCode(0xFFFD));\n ++i;\n }\n\n return out.join('');\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (decodeUTF8);\n\n//# sourceURL=webpack://WasmPlayer/./src/FlvPlayer/flv.js/utils/utf8-conv.js?");
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ParseStream; });\n/* harmony import */ var _videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @videojs/vhs-utils/dist/stream.js */ \"./node_modules/_@videojs_vhs-utils@1.3.0@@videojs/vhs-utils/dist/stream.js\");\n/* harmony import */ var _videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0__);\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\r\n * @file m3u8/parse-stream.js\r\n */\n\n/**\r\n * \"forgiving\" attribute list psuedo-grammar:\r\n * attributes -> keyvalue (',' keyvalue)*\r\n * keyvalue -> key '=' value\r\n * key -> [^=]*\r\n * value -> '\"' [^\"]* '\"' | [^,]*\r\n */\n\nvar attributeSeparator = function attributeSeparator() {\n var key = '[^=]*';\n var value = '\"[^\"]*\"|[^,]*';\n var keyvalue = '(?:' + key + ')=(?:' + value + ')';\n return new RegExp('(?:^|,)(' + keyvalue + ')');\n};\n/**\r\n * Parse attributes from a line given the separator\r\n *\r\n * @param {string} attributes the attribute line to parse\r\n */\n\n\nvar parseAttributes = function parseAttributes(attributes) {\n // split the string using attributes as the separator\n var attrs = attributes.split(attributeSeparator());\n var result = {};\n var i = attrs.length;\n var attr;\n\n while (i--) {\n // filter out unmatched portions of the string\n if (attrs[i] === '') {\n continue;\n } // split the key and value\n\n\n attr = /([^=]*)=(.*)/.exec(attrs[i]).slice(1); // trim whitespace and remove optional quotes around the value\n\n attr[0] = attr[0].replace(/^\\s+|\\s+$/g, '');\n attr[1] = attr[1].replace(/^\\s+|\\s+$/g, '');\n attr[1] = attr[1].replace(/^['\"](.*)['\"]$/g,'$1');\nresult[attr[0]]=attr[1];\n}\n\nreturnresult;\n};\n/**\r\n * A line-level M3U8 parser event stream. It expects to receive input one\r\n * line at a time and performs a context-free parse of its contents. A stream\r\n * interpretation of a manifest can be useful if the manifest is expected to\r\n * be too large to fit comfortably into memory or the entirety of the input\r\n * is not immediately available. Otherwise, it's probably much easier to work\r\n * with a regular `Parser` object.\r\n *\r\n * Produces `data` events with an object that captures the parser's\r\n * interpretation of the input. That object has a property `tag` that is one\r\n * of `uri`, `comment`, or `tag`. URIs only have a single additional\r\n * property, `line`, which captures the entirety of the input without\r\n * interpretation. Comments similarly have a single additional property\r\n * `text` which is the input without the leading `#`.\r\n *\r\n * Tags always have a property `tagType` which is the lower-cased version of\r\n * the M3U8 directive without the `#EXT` or `#EXT-X-` prefix. For instance,\r\n * `#EXT-X-MEDIA-SEQUENCE` becomes `media-sequence` when parsed. Unrecognized\r\n * tags are given the tag type `unknown` and a single additional property\r\n * `data` with the remainder of the input.\r\n *\r\n * @class ParseStream\r\n * @extends Stream\r\n */\n\n\nvarParseStream=/*#__PURE__*/function(_Stream){\n_inheritsLoose(ParseStream,_Stream);\n\nfunctionParseStream(){\nvar_this;\n\n_this=_Stream.call(this)||this;\n_this.customParsers=[];\n_this.tagMappers=[];\nreturn_this;\n}\n/**\r\n * Parses an additional line of input.\r\n *\r\n * @param {string} line a single line of an M3U8 file to parse\r\n */\n\n\nvar_proto=ParseStream.prototype;\n\n_proto.push=functionpush(line){\nvar_this2=this;\n\nvarmatch;\nvarevent;// strip whitespace\n\n line = line.trim();\n\n if (line.length === 0) {\n // ignore e
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Parser; });\n/* harmony import */ var _videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @videojs/vhs-utils/dist/stream.js */ \"./node_modules/_@videojs_vhs-utils@1.3.0@@videojs/vhs-utils/dist/stream.js\");\n/* harmony import */ var _videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_videojs_vhs_utils_dist_stream_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _videojs_vhs_utils_dist_decode_b64_to_uint8_array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @videojs/vhs-utils/dist/decode-b64-to-uint8-array.js */ \"./node_modules/_@videojs_vhs-utils@1.3.0@@videojs/vhs-utils/dist/decode-b64-to-uint8-array.js\");\n/* harmony import */ var _videojs_vhs_utils_dist_decode_b64_to_uint8_array_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_videojs_vhs_utils_dist_decode_b64_to_uint8_array_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _line_stream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./line-stream */ \"./src/FlvPlayer/m3u8parser/line-stream.js\");\n/* harmony import */ var _parse_stream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./parse-stream */ \"./src/FlvPlayer/m3u8parser/parse-stream.js\");\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\r\n * @file m3u8/parser.js\r\n */\n\n\n\n\n/**\r\n * A parser for M3U8 files. The current interpretation of the input is\r\n * exposed as a property `manifest` on parser objects. It's just two lines to\r\n * create and parse a manifest once you have the contents available as a string:\r\n *\r\n * ```js\r\n * var parser = new m3u8.Parser();\r\n * parser.push(xhr.responseText);\r\n * ```\r\n *\r\n * New input can later be applied to update the manifest object by calling\r\n * `push` again.\r\n *\r\n * The parser attempts to create a usable manifest object even if the\r\n * underlying input is somewhat nonsensical. It emits `info` and `warning`\r\n * events during the parse if it encounters input that seems invalid or\r\n * requires some property of the manifest object to be defaulted.\r\n *\r\n * @class Parser\r\n * @extends Stream\r\n */\n\nvar Parser = /*#__PURE__*/function (_Stream) {\n _inheritsLoose(Parser, _Stream);\n\n function Parser() {\n var _this;\n\n _this = _Stream.call(this) || this;\n _this.lineStream = new _line_stream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]();\n _this.parseStream = new _parse_stream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]();\n\n_this.lineStream.pipe(_this.parseStream);\n/* eslint-disable consistent-this */\n\n\nvarself=_assertThisInitialized(_this);\n/* eslint-enable consistent-this */\n\n\nvaruris=[];\nvarcurrentUri={};// if specified, the active EXT-X-MAP definition\n\n var currentMap; // if specified, the active decryption key\n\n var _key;\n\n var noop = function noop() {};\n\n var defaultMediaGroups = {\n 'AUDIO': {},\n 'VIDEO': {},\n 'CLOSED-CAPTIONS': {},\n 'SUBTITLES': {}\n }; // This is the Widevine UUID from DASH IF IOP. The same exact string is\n // used in MPDs with Widevine encrypted streams.\n\n var widevineUuid = 'urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed'; // group segments into numbered timelines delineated by discontinuities\n\n var currentTimeline = 0; // the manifest is empty until the parse stream begins delivering data\n\n _this.manifest = {\n allowCache: true,\n discontinuityStarts: [],\n segments: []\n }; // update the manifest with the m3u8 entry from the parse strea