f7cloud_client/apps/whiteboard/js/index-Bn0s6V7w.chunk.mjs.map
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

1 line
122 KiB
Plaintext

{"version":3,"file":"index-Bn0s6V7w.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js"],"sourcesContent":["function getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar browser = {exports: {}};\n\n// shim for using process in browser\nvar process = browser.exports = {};\n\n// 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}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\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 try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ());\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\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\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\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\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\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 if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] };\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\nvar browserExports = browser.exports;\nconst process$1 = /*@__PURE__*/getDefaultExportFromCjs(browserExports);\n\nexport { process$1 as default, process$1 as process };\n//# sourceMappingURL=index.js.map\n","var buffer = {};\n\nvar base64Js = {};\n\nbase64Js.byteLength = byteLength;\nbase64Js.toByteArray = toByteArray;\nbase64Js.fromByteArray = fromByteArray;\n\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\n\nfunction getLens (b64) {\n var len = b64.length;\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=');\n if (validLen === -1) validLen = len;\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4);\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp;\n var lens = getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n\n var curByte = 0;\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen;\n\n var i;\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = (tmp >> 16) & 0xFF;\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4);\n arr[curByte++] = tmp & 0xFF;\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2);\n arr[curByte++] = (tmp >> 8) & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp;\n var output = [];\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF);\n output.push(tripletToBase64(tmp));\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n var parts = [];\n var maxChunkLength = 16383; // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)));\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n );\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n );\n }\n\n return parts.join('')\n}\n\nvar ieee754 = {};\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\n\nieee754.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\n i += d;\n\n e = s & ((1 << (-nBits)) - 1);\n s >>= (-nBits);\n nBits += eLen;\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 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 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n};\n\nieee754.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\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 if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * Math.pow(2, 1 - eBias);\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 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/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n */\n\n(function (exports) {\n\n\tconst base64 = base64Js;\n\tconst ieee754$1 = ieee754;\n\tconst customInspectSymbol =\n\t (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n\t ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n\t : null;\n\n\texports.Buffer = Buffer;\n\texports.SlowBuffer = SlowBuffer;\n\texports.INSPECT_MAX_BYTES = 50;\n\n\tconst K_MAX_LENGTH = 0x7fffffff;\n\texports.kMaxLength = K_MAX_LENGTH;\n\tconst { Uint8Array: GlobalUint8Array, ArrayBuffer: GlobalArrayBuffer, SharedArrayBuffer: GlobalSharedArrayBuffer } = globalThis;\n\n\t/**\n\t * If `Buffer.TYPED_ARRAY_SUPPORT`:\n\t * === true Use Uint8Array implementation (fastest)\n\t * === false Print warning and recommend using `buffer` v4.x which has an Object\n\t * implementation (most compatible, even IE6)\n\t *\n\t * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n\t * Opera 11.6+, iOS 4.2+.\n\t *\n\t * We report that the browser does not support typed arrays if the are not subclassable\n\t * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n\t * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n\t * for __proto__ and has a buggy typed array implementation.\n\t */\n\tBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\n\tif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n\t typeof console.error === 'function') {\n\t console.error(\n\t 'This browser lacks typed array (Uint8Array) support which is required by ' +\n\t '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n\t );\n\t}\n\n\tfunction typedArraySupport () {\n\t // Can typed array instances can be augmented?\n\t try {\n\t const arr = new GlobalUint8Array(1);\n\t const proto = { foo: function () { return 42 } };\n\t Object.setPrototypeOf(proto, GlobalUint8Array.prototype);\n\t Object.setPrototypeOf(arr, proto);\n\t return arr.foo() === 42\n\t } catch (e) {\n\t return false\n\t }\n\t}\n\n\tObject.defineProperty(Buffer.prototype, 'parent', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.buffer\n\t }\n\t});\n\n\tObject.defineProperty(Buffer.prototype, 'offset', {\n\t enumerable: true,\n\t get: function () {\n\t if (!Buffer.isBuffer(this)) return undefined\n\t return this.byteOffset\n\t }\n\t});\n\n\tfunction createBuffer (length) {\n\t if (length > K_MAX_LENGTH) {\n\t throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n\t }\n\t // Return an augmented `Uint8Array` instance\n\t const buf = new GlobalUint8Array(length);\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\t return buf\n\t}\n\n\t/**\n\t * The Buffer constructor returns instances of `Uint8Array` that have their\n\t * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n\t * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n\t * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n\t * returns a single octet.\n\t *\n\t * The `Uint8Array` prototype remains unmodified.\n\t */\n\n\tfunction Buffer (arg, encodingOrOffset, length) {\n\t // Common case.\n\t if (typeof arg === 'number') {\n\t if (typeof encodingOrOffset === 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be of type string. Received type number'\n\t )\n\t }\n\t return allocUnsafe(arg)\n\t }\n\t return from(arg, encodingOrOffset, length)\n\t}\n\n\tBuffer.poolSize = 8192; // not used by this implementation\n\n\tfunction from (value, encodingOrOffset, length) {\n\t if (typeof value === 'string') {\n\t return fromString(value, encodingOrOffset)\n\t }\n\n\t if (GlobalArrayBuffer.isView(value)) {\n\t return fromArrayView(value)\n\t }\n\n\t if (value == null) {\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t }\n\n\t if (isInstance(value, GlobalArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalArrayBuffer))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof GlobalSharedArrayBuffer !== 'undefined' &&\n\t (isInstance(value, GlobalSharedArrayBuffer) ||\n\t (value && isInstance(value.buffer, GlobalSharedArrayBuffer)))) {\n\t return fromArrayBuffer(value, encodingOrOffset, length)\n\t }\n\n\t if (typeof value === 'number') {\n\t throw new TypeError(\n\t 'The \"value\" argument must not be of type number. Received type number'\n\t )\n\t }\n\n\t const valueOf = value.valueOf && value.valueOf();\n\t if (valueOf != null && valueOf !== value) {\n\t return Buffer.from(valueOf, encodingOrOffset, length)\n\t }\n\n\t const b = fromObject(value);\n\t if (b) return b\n\n\t if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n\t typeof value[Symbol.toPrimitive] === 'function') {\n\t return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n\t }\n\n\t throw new TypeError(\n\t 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n\t 'or Array-like Object. Received type ' + (typeof value)\n\t )\n\t}\n\n\t/**\n\t * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n\t * if value is a number.\n\t * Buffer.from(str[, encoding])\n\t * Buffer.from(array)\n\t * Buffer.from(buffer)\n\t * Buffer.from(arrayBuffer[, byteOffset[, length]])\n\t **/\n\tBuffer.from = function (value, encodingOrOffset, length) {\n\t return from(value, encodingOrOffset, length)\n\t};\n\n\t// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n\t// https://github.com/feross/buffer/pull/148\n\tObject.setPrototypeOf(Buffer.prototype, GlobalUint8Array.prototype);\n\tObject.setPrototypeOf(Buffer, GlobalUint8Array);\n\n\tfunction assertSize (size) {\n\t if (typeof size !== 'number') {\n\t throw new TypeError('\"size\" argument must be of type number')\n\t } else if (size < 0) {\n\t throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n\t }\n\t}\n\n\tfunction alloc (size, fill, encoding) {\n\t assertSize(size);\n\t if (size <= 0) {\n\t return createBuffer(size)\n\t }\n\t if (fill !== undefined) {\n\t // Only pay attention to encoding if it's a string. This\n\t // prevents accidentally sending in a number that would\n\t // be interpreted as a start offset.\n\t return typeof encoding === 'string'\n\t ? createBuffer(size).fill(fill, encoding)\n\t : createBuffer(size).fill(fill)\n\t }\n\t return createBuffer(size)\n\t}\n\n\t/**\n\t * Creates a new filled Buffer instance.\n\t * alloc(size[, fill[, encoding]])\n\t **/\n\tBuffer.alloc = function (size, fill, encoding) {\n\t return alloc(size, fill, encoding)\n\t};\n\n\tfunction allocUnsafe (size) {\n\t assertSize(size);\n\t return createBuffer(size < 0 ? 0 : checked(size) | 0)\n\t}\n\n\t/**\n\t * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n\t * */\n\tBuffer.allocUnsafe = function (size) {\n\t return allocUnsafe(size)\n\t};\n\t/**\n\t * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n\t */\n\tBuffer.allocUnsafeSlow = function (size) {\n\t return allocUnsafe(size)\n\t};\n\n\tfunction fromString (string, encoding) {\n\t if (typeof encoding !== 'string' || encoding === '') {\n\t encoding = 'utf8';\n\t }\n\n\t if (!Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\n\t const length = byteLength(string, encoding) | 0;\n\t let buf = createBuffer(length);\n\n\t const actual = buf.write(string, encoding);\n\n\t if (actual !== length) {\n\t // Writing a hex string, for example, that contains invalid characters will\n\t // cause everything after the first invalid character to be ignored. (e.g.\n\t // 'abxxcd' will be treated as 'ab')\n\t buf = buf.slice(0, actual);\n\t }\n\n\t return buf\n\t}\n\n\tfunction fromArrayLike (array) {\n\t const length = array.length < 0 ? 0 : checked(array.length) | 0;\n\t const buf = createBuffer(length);\n\t for (let i = 0; i < length; i += 1) {\n\t buf[i] = array[i] & 255;\n\t }\n\t return buf\n\t}\n\n\tfunction fromArrayView (arrayView) {\n\t if (isInstance(arrayView, GlobalUint8Array)) {\n\t const copy = new GlobalUint8Array(arrayView);\n\t return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n\t }\n\t return fromArrayLike(arrayView)\n\t}\n\n\tfunction fromArrayBuffer (array, byteOffset, length) {\n\t if (byteOffset < 0 || array.byteLength < byteOffset) {\n\t throw new RangeError('\"offset\" is outside of buffer bounds')\n\t }\n\n\t if (array.byteLength < byteOffset + (length || 0)) {\n\t throw new RangeError('\"length\" is outside of buffer bounds')\n\t }\n\n\t let buf;\n\t if (byteOffset === undefined && length === undefined) {\n\t buf = new GlobalUint8Array(array);\n\t } else if (length === undefined) {\n\t buf = new GlobalUint8Array(array, byteOffset);\n\t } else {\n\t buf = new GlobalUint8Array(array, byteOffset, length);\n\t }\n\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(buf, Buffer.prototype);\n\n\t return buf\n\t}\n\n\tfunction fromObject (obj) {\n\t if (Buffer.isBuffer(obj)) {\n\t const len = checked(obj.length) | 0;\n\t const buf = createBuffer(len);\n\n\t if (buf.length === 0) {\n\t return buf\n\t }\n\n\t obj.copy(buf, 0, 0, len);\n\t return buf\n\t }\n\n\t if (obj.length !== undefined) {\n\t if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n\t return createBuffer(0)\n\t }\n\t return fromArrayLike(obj)\n\t }\n\n\t if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n\t return fromArrayLike(obj.data)\n\t }\n\t}\n\n\tfunction checked (length) {\n\t // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n\t // length is NaN (which is otherwise coerced to zero.)\n\t if (length >= K_MAX_LENGTH) {\n\t throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n\t 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n\t }\n\t return length | 0\n\t}\n\n\tfunction SlowBuffer (length) {\n\t if (+length != length) { // eslint-disable-line eqeqeq\n\t length = 0;\n\t }\n\t return Buffer.alloc(+length)\n\t}\n\n\tBuffer.isBuffer = function isBuffer (b) {\n\t return b != null && b._isBuffer === true &&\n\t b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n\t};\n\n\tBuffer.compare = function compare (a, b) {\n\t if (isInstance(a, GlobalUint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n\t if (isInstance(b, GlobalUint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n\t if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n\t throw new TypeError(\n\t 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n\t )\n\t }\n\n\t if (a === b) return 0\n\n\t let x = a.length;\n\t let y = b.length;\n\n\t for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n\t if (a[i] !== b[i]) {\n\t x = a[i];\n\t y = b[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\tBuffer.isEncoding = function isEncoding (encoding) {\n\t switch (String(encoding).toLowerCase()) {\n\t case 'hex':\n\t case 'utf8':\n\t case 'utf-8':\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t case 'base64':\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return true\n\t default:\n\t return false\n\t }\n\t};\n\n\tBuffer.concat = function concat (list, length) {\n\t if (!Array.isArray(list)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t }\n\n\t if (list.length === 0) {\n\t return Buffer.alloc(0)\n\t }\n\n\t let i;\n\t if (length === undefined) {\n\t length = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t length += list[i].length;\n\t }\n\t }\n\n\t const buffer = Buffer.allocUnsafe(length);\n\t let pos = 0;\n\t for (i = 0; i < list.length; ++i) {\n\t let buf = list[i];\n\t if (isInstance(buf, GlobalUint8Array)) {\n\t if (pos + buf.length > buffer.length) {\n\t if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf);\n\t buf.copy(buffer, pos);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t buffer,\n\t buf,\n\t pos\n\t );\n\t }\n\t } else if (!Buffer.isBuffer(buf)) {\n\t throw new TypeError('\"list\" argument must be an Array of Buffers')\n\t } else {\n\t buf.copy(buffer, pos);\n\t }\n\t pos += buf.length;\n\t }\n\t return buffer\n\t};\n\n\tfunction byteLength (string, encoding) {\n\t if (Buffer.isBuffer(string)) {\n\t return string.length\n\t }\n\t if (GlobalArrayBuffer.isView(string) || isInstance(string, GlobalArrayBuffer)) {\n\t return string.byteLength\n\t }\n\t if (typeof string !== 'string') {\n\t throw new TypeError(\n\t 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n\t 'Received type ' + typeof string\n\t )\n\t }\n\n\t const len = string.length;\n\t const mustMatch = (arguments.length > 2 && arguments[2] === true);\n\t if (!mustMatch && len === 0) return 0\n\n\t // Use a for loop to avoid recursion\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return len\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8ToBytes(string).length\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return len * 2\n\t case 'hex':\n\t return len >>> 1\n\t case 'base64':\n\t return base64ToBytes(string).length\n\t default:\n\t if (loweredCase) {\n\t return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n\t }\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\tBuffer.byteLength = byteLength;\n\n\tfunction slowToString (encoding, start, end) {\n\t let loweredCase = false;\n\n\t // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n\t // property of a typed array.\n\n\t // This behaves neither like String nor Uint8Array in that we set start/end\n\t // to their upper/lower bounds if the value passed is out of range.\n\t // undefined is handled specially as per ECMA-262 6th Edition,\n\t // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n\t if (start === undefined || start < 0) {\n\t start = 0;\n\t }\n\t // Return early if start > this.length. Done here to prevent potential uint32\n\t // coercion fail below.\n\t if (start > this.length) {\n\t return ''\n\t }\n\n\t if (end === undefined || end > this.length) {\n\t end = this.length;\n\t }\n\n\t if (end <= 0) {\n\t return ''\n\t }\n\n\t // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n\t end >>>= 0;\n\t start >>>= 0;\n\n\t if (end <= start) {\n\t return ''\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t while (true) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexSlice(this, start, end)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Slice(this, start, end)\n\n\t case 'ascii':\n\t return asciiSlice(this, start, end)\n\n\t case 'latin1':\n\t case 'binary':\n\t return latin1Slice(this, start, end)\n\n\t case 'base64':\n\t return base64Slice(this, start, end)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return utf16leSlice(this, start, end)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = (encoding + '').toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t}\n\n\t// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n\t// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n\t// reliably in a browserify context because there could be multiple different\n\t// copies of the 'buffer' package in use. This method works even for Buffer\n\t// instances that were created from another copy of the `buffer` package.\n\t// See: https://github.com/feross/buffer/issues/154\n\tBuffer.prototype._isBuffer = true;\n\n\tfunction swap (b, n, m) {\n\t const i = b[n];\n\t b[n] = b[m];\n\t b[m] = i;\n\t}\n\n\tBuffer.prototype.swap16 = function swap16 () {\n\t const len = this.length;\n\t if (len % 2 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 16-bits')\n\t }\n\t for (let i = 0; i < len; i += 2) {\n\t swap(this, i, i + 1);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap32 = function swap32 () {\n\t const len = this.length;\n\t if (len % 4 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 32-bits')\n\t }\n\t for (let i = 0; i < len; i += 4) {\n\t swap(this, i, i + 3);\n\t swap(this, i + 1, i + 2);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.swap64 = function swap64 () {\n\t const len = this.length;\n\t if (len % 8 !== 0) {\n\t throw new RangeError('Buffer size must be a multiple of 64-bits')\n\t }\n\t for (let i = 0; i < len; i += 8) {\n\t swap(this, i, i + 7);\n\t swap(this, i + 1, i + 6);\n\t swap(this, i + 2, i + 5);\n\t swap(this, i + 3, i + 4);\n\t }\n\t return this\n\t};\n\n\tBuffer.prototype.toString = function toString () {\n\t const length = this.length;\n\t if (length === 0) return ''\n\t if (arguments.length === 0) return utf8Slice(this, 0, length)\n\t return slowToString.apply(this, arguments)\n\t};\n\n\tBuffer.prototype.toLocaleString = Buffer.prototype.toString;\n\n\tBuffer.prototype.equals = function equals (b) {\n\t if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n\t if (this === b) return true\n\t return Buffer.compare(this, b) === 0\n\t};\n\n\tBuffer.prototype.inspect = function inspect () {\n\t let str = '';\n\t const max = exports.INSPECT_MAX_BYTES;\n\t str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim();\n\t if (this.length > max) str += ' ... ';\n\t return '<Buffer ' + str + '>'\n\t};\n\tif (customInspectSymbol) {\n\t Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n\t}\n\n\tBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n\t if (isInstance(target, GlobalUint8Array)) {\n\t target = Buffer.from(target, target.offset, target.byteLength);\n\t }\n\t if (!Buffer.isBuffer(target)) {\n\t throw new TypeError(\n\t 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n\t 'Received type ' + (typeof target)\n\t )\n\t }\n\n\t if (start === undefined) {\n\t start = 0;\n\t }\n\t if (end === undefined) {\n\t end = target ? target.length : 0;\n\t }\n\t if (thisStart === undefined) {\n\t thisStart = 0;\n\t }\n\t if (thisEnd === undefined) {\n\t thisEnd = this.length;\n\t }\n\n\t if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n\t throw new RangeError('out of range index')\n\t }\n\n\t if (thisStart >= thisEnd && start >= end) {\n\t return 0\n\t }\n\t if (thisStart >= thisEnd) {\n\t return -1\n\t }\n\t if (start >= end) {\n\t return 1\n\t }\n\n\t start >>>= 0;\n\t end >>>= 0;\n\t thisStart >>>= 0;\n\t thisEnd >>>= 0;\n\n\t if (this === target) return 0\n\n\t let x = thisEnd - thisStart;\n\t let y = end - start;\n\t const len = Math.min(x, y);\n\n\t const thisCopy = this.slice(thisStart, thisEnd);\n\t const targetCopy = target.slice(start, end);\n\n\t for (let i = 0; i < len; ++i) {\n\t if (thisCopy[i] !== targetCopy[i]) {\n\t x = thisCopy[i];\n\t y = targetCopy[i];\n\t break\n\t }\n\t }\n\n\t if (x < y) return -1\n\t if (y < x) return 1\n\t return 0\n\t};\n\n\t// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n\t// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n\t//\n\t// Arguments:\n\t// - buffer - a Buffer to search\n\t// - val - a string, Buffer, or number\n\t// - byteOffset - an index into `buffer`; will be clamped to an int32\n\t// - encoding - an optional encoding, relevant is val is a string\n\t// - dir - true for indexOf, false for lastIndexOf\n\tfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n\t // Empty buffer means no match\n\t if (buffer.length === 0) return -1\n\n\t // Normalize byteOffset\n\t if (typeof byteOffset === 'string') {\n\t encoding = byteOffset;\n\t byteOffset = 0;\n\t } else if (byteOffset > 0x7fffffff) {\n\t byteOffset = 0x7fffffff;\n\t } else if (byteOffset < -0x80000000) {\n\t byteOffset = -0x80000000;\n\t }\n\t byteOffset = +byteOffset; // Coerce to Number.\n\t if (numberIsNaN(byteOffset)) {\n\t // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n\t byteOffset = dir ? 0 : (buffer.length - 1);\n\t }\n\n\t // Normalize byteOffset: negative offsets start from the end of the buffer\n\t if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n\t if (byteOffset >= buffer.length) {\n\t if (dir) return -1\n\t else byteOffset = buffer.length - 1;\n\t } else if (byteOffset < 0) {\n\t if (dir) byteOffset = 0;\n\t else return -1\n\t }\n\n\t // Normalize val\n\t if (typeof val === 'string') {\n\t val = Buffer.from(val, encoding);\n\t }\n\n\t // Finally, search either indexOf (if dir is true) or lastIndexOf\n\t if (Buffer.isBuffer(val)) {\n\t // Special case: looking for empty string/buffer always fails\n\t if (val.length === 0) {\n\t return -1\n\t }\n\t return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n\t } else if (typeof val === 'number') {\n\t val = val & 0xFF; // Search for a byte value [0-255]\n\t if (typeof GlobalUint8Array.prototype.indexOf === 'function') {\n\t if (dir) {\n\t return GlobalUint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n\t } else {\n\t return GlobalUint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n\t }\n\t }\n\t return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n\t }\n\n\t throw new TypeError('val must be string, number or Buffer')\n\t}\n\n\tfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n\t let indexSize = 1;\n\t let arrLength = arr.length;\n\t let valLength = val.length;\n\n\t if (encoding !== undefined) {\n\t encoding = String(encoding).toLowerCase();\n\t if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n\t encoding === 'utf16le' || encoding === 'utf-16le') {\n\t if (arr.length < 2 || val.length < 2) {\n\t return -1\n\t }\n\t indexSize = 2;\n\t arrLength /= 2;\n\t valLength /= 2;\n\t byteOffset /= 2;\n\t }\n\t }\n\n\t function read (buf, i) {\n\t if (indexSize === 1) {\n\t return buf[i]\n\t } else {\n\t return buf.readUInt16BE(i * indexSize)\n\t }\n\t }\n\n\t let i;\n\t if (dir) {\n\t let foundIndex = -1;\n\t for (i = byteOffset; i < arrLength; i++) {\n\t if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n\t if (foundIndex === -1) foundIndex = i;\n\t if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n\t } else {\n\t if (foundIndex !== -1) i -= i - foundIndex;\n\t foundIndex = -1;\n\t }\n\t }\n\t } else {\n\t if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n\t for (i = byteOffset; i >= 0; i--) {\n\t let found = true;\n\t for (let j = 0; j < valLength; j++) {\n\t if (read(arr, i + j) !== read(val, j)) {\n\t found = false;\n\t break\n\t }\n\t }\n\t if (found) return i\n\t }\n\t }\n\n\t return -1\n\t}\n\n\tBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n\t return this.indexOf(val, byteOffset, encoding) !== -1\n\t};\n\n\tBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n\t};\n\n\tBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n\t return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n\t};\n\n\tfunction hexWrite (buf, string, offset, length) {\n\t offset = Number(offset) || 0;\n\t const remaining = buf.length - offset;\n\t if (!length) {\n\t length = remaining;\n\t } else {\n\t length = Number(length);\n\t if (length > remaining) {\n\t length = remaining;\n\t }\n\t }\n\n\t const strLen = string.length;\n\n\t if (length > strLen / 2) {\n\t length = strLen / 2;\n\t }\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t const parsed = parseInt(string.substr(i * 2, 2), 16);\n\t if (numberIsNaN(parsed)) return i\n\t buf[offset + i] = parsed;\n\t }\n\t return i\n\t}\n\n\tfunction utf8Write (buf, string, offset, length) {\n\t return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tfunction asciiWrite (buf, string, offset, length) {\n\t return blitBuffer(asciiToBytes(string), buf, offset, length)\n\t}\n\n\tfunction base64Write (buf, string, offset, length) {\n\t return blitBuffer(base64ToBytes(string), buf, offset, length)\n\t}\n\n\tfunction ucs2Write (buf, string, offset, length) {\n\t return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n\t}\n\n\tBuffer.prototype.write = function write (string, offset, length, encoding) {\n\t // Buffer#write(string)\n\t if (offset === undefined) {\n\t encoding = 'utf8';\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, encoding)\n\t } else if (length === undefined && typeof offset === 'string') {\n\t encoding = offset;\n\t length = this.length;\n\t offset = 0;\n\t // Buffer#write(string, offset[, length][, encoding])\n\t } else if (isFinite(offset)) {\n\t offset = offset >>> 0;\n\t if (isFinite(length)) {\n\t length = length >>> 0;\n\t if (encoding === undefined) encoding = 'utf8';\n\t } else {\n\t encoding = length;\n\t length = undefined;\n\t }\n\t } else {\n\t throw new Error(\n\t 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n\t )\n\t }\n\n\t const remaining = this.length - offset;\n\t if (length === undefined || length > remaining) length = remaining;\n\n\t if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n\t throw new RangeError('Attempt to write outside buffer bounds')\n\t }\n\n\t if (!encoding) encoding = 'utf8';\n\n\t let loweredCase = false;\n\t for (;;) {\n\t switch (encoding) {\n\t case 'hex':\n\t return hexWrite(this, string, offset, length)\n\n\t case 'utf8':\n\t case 'utf-8':\n\t return utf8Write(this, string, offset, length)\n\n\t case 'ascii':\n\t case 'latin1':\n\t case 'binary':\n\t return asciiWrite(this, string, offset, length)\n\n\t case 'base64':\n\t // Warning: maxLength not taken into account in base64Write\n\t return base64Write(this, string, offset, length)\n\n\t case 'ucs2':\n\t case 'ucs-2':\n\t case 'utf16le':\n\t case 'utf-16le':\n\t return ucs2Write(this, string, offset, length)\n\n\t default:\n\t if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n\t encoding = ('' + encoding).toLowerCase();\n\t loweredCase = true;\n\t }\n\t }\n\t};\n\n\tBuffer.prototype.toJSON = function toJSON () {\n\t return {\n\t type: 'Buffer',\n\t data: Array.prototype.slice.call(this._arr || this, 0)\n\t }\n\t};\n\n\tfunction base64Slice (buf, start, end) {\n\t if (start === 0 && end === buf.length) {\n\t return base64.fromByteArray(buf)\n\t } else {\n\t return base64.fromByteArray(buf.slice(start, end))\n\t }\n\t}\n\n\tfunction utf8Slice (buf, start, end) {\n\t end = Math.min(buf.length, end);\n\t const res = [];\n\n\t let i = start;\n\t while (i < end) {\n\t const firstByte = buf[i];\n\t let codePoint = null;\n\t let bytesPerSequence = (firstByte > 0xEF)\n\t ? 4\n\t : (firstByte > 0xDF)\n\t ? 3\n\t : (firstByte > 0xBF)\n\t ? 2\n\t : 1;\n\n\t if (i + bytesPerSequence <= end) {\n\t let secondByte, thirdByte, fourthByte, tempCodePoint;\n\n\t switch (bytesPerSequence) {\n\t case 1:\n\t if (firstByte < 0x80) {\n\t codePoint = firstByte;\n\t }\n\t break\n\t case 2:\n\t secondByte = buf[i + 1];\n\t if ((secondByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F);\n\t if (tempCodePoint > 0x7F) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 3:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F);\n\t if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t break\n\t case 4:\n\t secondByte = buf[i + 1];\n\t thirdByte = buf[i + 2];\n\t fourthByte = buf[i + 3];\n\t if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n\t tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F);\n\t if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n\t codePoint = tempCodePoint;\n\t }\n\t }\n\t }\n\t }\n\n\t if (codePoint === null) {\n\t // we did not generate a valid codePoint so insert a\n\t // replacement char (U+FFFD) and advance only 1 byte\n\t codePoint = 0xFFFD;\n\t bytesPerSequence = 1;\n\t } else if (codePoint > 0xFFFF) {\n\t // encode to utf16 (surrogate pair dance)\n\t codePoint -= 0x10000;\n\t res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n\t codePoint = 0xDC00 | codePoint & 0x3FF;\n\t }\n\n\t res.push(codePoint);\n\t i += bytesPerSequence;\n\t }\n\n\t return decodeCodePointsArray(res)\n\t}\n\n\t// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n\t// the lowest limit is Chrome, with 0x10000 args.\n\t// We go 1 magnitude less, for safety\n\tconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\n\tfunction decodeCodePointsArray (codePoints) {\n\t const len = codePoints.length;\n\t if (len <= MAX_ARGUMENTS_LENGTH) {\n\t return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n\t }\n\n\t // Decode in chunks to avoid \"call stack size exceeded\".\n\t let res = '';\n\t let i = 0;\n\t while (i < len) {\n\t res += String.fromCharCode.apply(\n\t String,\n\t codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n\t );\n\t }\n\t return res\n\t}\n\n\tfunction asciiSlice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i] & 0x7F);\n\t }\n\t return ret\n\t}\n\n\tfunction latin1Slice (buf, start, end) {\n\t let ret = '';\n\t end = Math.min(buf.length, end);\n\n\t for (let i = start; i < end; ++i) {\n\t ret += String.fromCharCode(buf[i]);\n\t }\n\t return ret\n\t}\n\n\tfunction hexSlice (buf, start, end) {\n\t const len = buf.length;\n\n\t if (!start || start < 0) start = 0;\n\t if (!end || end < 0 || end > len) end = len;\n\n\t let out = '';\n\t for (let i = start; i < end; ++i) {\n\t out += hexSliceLookupTable[buf[i]];\n\t }\n\t return out\n\t}\n\n\tfunction utf16leSlice (buf, start, end) {\n\t const bytes = buf.slice(start, end);\n\t let res = '';\n\t // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n\t for (let i = 0; i < bytes.length - 1; i += 2) {\n\t res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256));\n\t }\n\t return res\n\t}\n\n\tBuffer.prototype.slice = function slice (start, end) {\n\t const len = this.length;\n\t start = ~~start;\n\t end = end === undefined ? len : ~~end;\n\n\t if (start < 0) {\n\t start += len;\n\t if (start < 0) start = 0;\n\t } else if (start > len) {\n\t start = len;\n\t }\n\n\t if (end < 0) {\n\t end += len;\n\t if (end < 0) end = 0;\n\t } else if (end > len) {\n\t end = len;\n\t }\n\n\t if (end < start) end = start;\n\n\t const newBuf = this.subarray(start, end);\n\t // Return an augmented `Uint8Array` instance\n\t Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n\t return newBuf\n\t};\n\n\t/*\n\t * Need to make sure that buffer isn't trying to write out of bounds.\n\t */\n\tfunction checkOffset (offset, ext, length) {\n\t if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n\t if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n\t}\n\n\tBuffer.prototype.readUintLE =\n\tBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUintBE =\n\tBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t checkOffset(offset, byteLength, this.length);\n\t }\n\n\t let val = this[offset + --byteLength];\n\t let mul = 1;\n\t while (byteLength > 0 && (mul *= 0x100)) {\n\t val += this[offset + --byteLength] * mul;\n\t }\n\n\t return val\n\t};\n\n\tBuffer.prototype.readUint8 =\n\tBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t return this[offset]\n\t};\n\n\tBuffer.prototype.readUint16LE =\n\tBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return this[offset] | (this[offset + 1] << 8)\n\t};\n\n\tBuffer.prototype.readUint16BE =\n\tBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t return (this[offset] << 8) | this[offset + 1]\n\t};\n\n\tBuffer.prototype.readUint32LE =\n\tBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return ((this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16)) +\n\t (this[offset + 3] * 0x1000000)\n\t};\n\n\tBuffer.prototype.readUint32BE =\n\tBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] * 0x1000000) +\n\t ((this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const lo = first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24;\n\n\t const hi = this[++offset] +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t last * 2 ** 24;\n\n\t return BigInt(lo) + (BigInt(hi) << BigInt(32))\n\t});\n\n\tBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const hi = first * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t const lo = this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last;\n\n\t return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n\t});\n\n\tBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let val = this[offset];\n\t let mul = 1;\n\t let i = 0;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t val += this[offset + i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n\t let i = byteLength;\n\t let mul = 1;\n\t let val = this[offset + --i];\n\t while (i > 0 && (mul *= 0x100)) {\n\t val += this[offset + --i] * mul;\n\t }\n\t mul *= 0x80;\n\n\t if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n\t return val\n\t};\n\n\tBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 1, this.length);\n\t if (!(this[offset] & 0x80)) return (this[offset])\n\t return ((0xff - this[offset] + 1) * -1)\n\t};\n\n\tBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset] | (this[offset + 1] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 2, this.length);\n\t const val = this[offset + 1] | (this[offset] << 8);\n\t return (val & 0x8000) ? val | 0xFFFF0000 : val\n\t};\n\n\tBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset]) |\n\t (this[offset + 1] << 8) |\n\t (this[offset + 2] << 16) |\n\t (this[offset + 3] << 24)\n\t};\n\n\tBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\n\t return (this[offset] << 24) |\n\t (this[offset + 1] << 16) |\n\t (this[offset + 2] << 8) |\n\t (this[offset + 3])\n\t};\n\n\tBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = this[offset + 4] +\n\t this[offset + 5] * 2 ** 8 +\n\t this[offset + 6] * 2 ** 16 +\n\t (last << 24); // Overflow\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(first +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 24)\n\t});\n\n\tBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n\t offset = offset >>> 0;\n\t validateNumber(offset, 'offset');\n\t const first = this[offset];\n\t const last = this[offset + 7];\n\t if (first === undefined || last === undefined) {\n\t boundsError(offset, this.length - 8);\n\t }\n\n\t const val = (first << 24) + // Overflow\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t this[++offset];\n\n\t return (BigInt(val) << BigInt(32)) +\n\t BigInt(this[++offset] * 2 ** 24 +\n\t this[++offset] * 2 ** 16 +\n\t this[++offset] * 2 ** 8 +\n\t last)\n\t});\n\n\tBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, true, 23, 4)\n\t};\n\n\tBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 4, this.length);\n\t return ieee754$1.read(this, offset, false, 23, 4)\n\t};\n\n\tBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, true, 52, 8)\n\t};\n\n\tBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n\t offset = offset >>> 0;\n\t if (!noAssert) checkOffset(offset, 8, this.length);\n\t return ieee754$1.read(this, offset, false, 52, 8)\n\t};\n\n\tfunction checkInt (buf, value, offset, ext, max, min) {\n\t if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n\t if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t}\n\n\tBuffer.prototype.writeUintLE =\n\tBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let mul = 1;\n\t let i = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUintBE =\n\tBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t byteLength = byteLength >>> 0;\n\t if (!noAssert) {\n\t const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n\t checkInt(this, value, offset, byteLength, maxBytes, 0);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t this[offset + i] = (value / mul) & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeUint8 =\n\tBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeUint16LE =\n\tBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint16BE =\n\tBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeUint32LE =\n\tBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset + 3] = (value >>> 24);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeUint32BE =\n\tBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t lo = lo >> 8;\n\t buf[offset++] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t hi = hi >> 8;\n\t buf[offset++] = hi;\n\t return offset\n\t}\n\n\tfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n\t checkIntBI(value, min, max, buf, offset, 7);\n\n\t let lo = Number(value & BigInt(0xffffffff));\n\t buf[offset + 7] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 6] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 5] = lo;\n\t lo = lo >> 8;\n\t buf[offset + 4] = lo;\n\t let hi = Number(value >> BigInt(32) & BigInt(0xffffffff));\n\t buf[offset + 3] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 2] = hi;\n\t hi = hi >> 8;\n\t buf[offset + 1] = hi;\n\t hi = hi >> 8;\n\t buf[offset] = hi;\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = 0;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset] = value & 0xFF;\n\t while (++i < byteLength && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t const limit = Math.pow(2, (8 * byteLength) - 1);\n\n\t checkInt(this, value, offset, byteLength, limit - 1, -limit);\n\t }\n\n\t let i = byteLength - 1;\n\t let mul = 1;\n\t let sub = 0;\n\t this[offset + i] = value & 0xFF;\n\t while (--i >= 0 && (mul *= 0x100)) {\n\t if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n\t sub = 1;\n\t }\n\t this[offset + i] = ((value / mul) >> 0) - sub & 0xFF;\n\t }\n\n\t return offset + byteLength\n\t};\n\n\tBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n\t if (value < 0) value = 0xff + value + 1;\n\t this[offset] = (value & 0xff);\n\t return offset + 1\n\t};\n\n\tBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n\t this[offset] = (value >>> 8);\n\t this[offset + 1] = (value & 0xff);\n\t return offset + 2\n\t};\n\n\tBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t this[offset] = (value & 0xff);\n\t this[offset + 1] = (value >>> 8);\n\t this[offset + 2] = (value >>> 16);\n\t this[offset + 3] = (value >>> 24);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n\t if (value < 0) value = 0xffffffff + value + 1;\n\t this[offset] = (value >>> 24);\n\t this[offset + 1] = (value >>> 16);\n\t this[offset + 2] = (value >>> 8);\n\t this[offset + 3] = (value & 0xff);\n\t return offset + 4\n\t};\n\n\tBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n\t return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n\t return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n\t});\n\n\tfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n\t if (offset + ext > buf.length) throw new RangeError('Index out of range')\n\t if (offset < 0) throw new RangeError('Index out of range')\n\t}\n\n\tfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 4);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 23, 4);\n\t return offset + 4\n\t}\n\n\tBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n\t return writeFloat(this, value, offset, false, noAssert)\n\t};\n\n\tfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n\t value = +value;\n\t offset = offset >>> 0;\n\t if (!noAssert) {\n\t checkIEEE754(buf, value, offset, 8);\n\t }\n\t ieee754$1.write(buf, value, offset, littleEndian, 52, 8);\n\t return offset + 8\n\t}\n\n\tBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, true, noAssert)\n\t};\n\n\tBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n\t return writeDouble(this, value, offset, false, noAssert)\n\t};\n\n\t// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n\tBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n\t if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n\t if (!start) start = 0;\n\t if (!end && end !== 0) end = this.length;\n\t if (targetStart >= target.length) targetStart = target.length;\n\t if (!targetStart) targetStart = 0;\n\t if (end > 0 && end < start) end = start;\n\n\t // Copy 0 bytes; we're done\n\t if (end === start) return 0\n\t if (target.length === 0 || this.length === 0) return 0\n\n\t // Fatal error conditions\n\t if (targetStart < 0) {\n\t throw new RangeError('targetStart out of bounds')\n\t }\n\t if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n\t if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n\t // Are we oob?\n\t if (end > this.length) end = this.length;\n\t if (target.length - targetStart < end - start) {\n\t end = target.length - targetStart + start;\n\t }\n\n\t const len = end - start;\n\n\t if (this === target && typeof GlobalUint8Array.prototype.copyWithin === 'function') {\n\t // Use built-in when available, missing from IE11\n\t this.copyWithin(targetStart, start, end);\n\t } else {\n\t GlobalUint8Array.prototype.set.call(\n\t target,\n\t this.subarray(start, end),\n\t targetStart\n\t );\n\t }\n\n\t return len\n\t};\n\n\t// Usage:\n\t// buffer.fill(number[, offset[, end]])\n\t// buffer.fill(buffer[, offset[, end]])\n\t// buffer.fill(string[, offset[, end]][, encoding])\n\tBuffer.prototype.fill = function fill (val, start, end, encoding) {\n\t // Handle string cases:\n\t if (typeof val === 'string') {\n\t if (typeof start === 'string') {\n\t encoding = start;\n\t start = 0;\n\t end = this.length;\n\t } else if (typeof end === 'string') {\n\t encoding = end;\n\t end = this.length;\n\t }\n\t if (encoding !== undefined && typeof encoding !== 'string') {\n\t throw new TypeError('encoding must be a string')\n\t }\n\t if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n\t throw new TypeError('Unknown encoding: ' + encoding)\n\t }\n\t if (val.length === 1) {\n\t const code = val.charCodeAt(0);\n\t if ((encoding === 'utf8' && code < 128) ||\n\t encoding === 'latin1') {\n\t // Fast path: If `val` fits into a single byte, use that numeric value.\n\t val = code;\n\t }\n\t }\n\t } else if (typeof val === 'number') {\n\t val = val & 255;\n\t } else if (typeof val === 'boolean') {\n\t val = Number(val);\n\t }\n\n\t // Invalid ranges are not set to a default, so can range check early.\n\t if (start < 0 || this.length < start || this.length < end) {\n\t throw new RangeError('Out of range index')\n\t }\n\n\t if (end <= start) {\n\t return this\n\t }\n\n\t start = start >>> 0;\n\t end = end === undefined ? this.length : end >>> 0;\n\n\t if (!val) val = 0;\n\n\t let i;\n\t if (typeof val === 'number') {\n\t for (i = start; i < end; ++i) {\n\t this[i] = val;\n\t }\n\t } else {\n\t const bytes = Buffer.isBuffer(val)\n\t ? val\n\t : Buffer.from(val, encoding);\n\t const len = bytes.length;\n\t if (len === 0) {\n\t throw new TypeError('The value \"' + val +\n\t '\" is invalid for argument \"value\"')\n\t }\n\t for (i = 0; i < end - start; ++i) {\n\t this[i + start] = bytes[i % len];\n\t }\n\t }\n\n\t return this\n\t};\n\n\t// CUSTOM ERRORS\n\t// =============\n\n\t// Simplified versions from Node, changed for Buffer-only usage\n\tconst errors = {};\n\tfunction E (sym, getMessage, Base) {\n\t errors[sym] = class NodeError extends Base {\n\t constructor () {\n\t super();\n\n\t Object.defineProperty(this, 'message', {\n\t value: getMessage.apply(this, arguments),\n\t writable: true,\n\t configurable: true\n\t });\n\n\t // Add the error code to the name to include it in the stack trace.\n\t this.name = `${this.name} [${sym}]`;\n\t // Access the stack to generate the error message including the error code\n\t // from the name.\n\t this.stack; // eslint-disable-line no-unused-expressions\n\t // Reset the name to the actual name.\n\t delete this.name;\n\t }\n\n\t get code () {\n\t return sym\n\t }\n\n\t set code (value) {\n\t Object.defineProperty(this, 'code', {\n\t configurable: true,\n\t enumerable: true,\n\t value,\n\t writable: true\n\t });\n\t }\n\n\t toString () {\n\t return `${this.name} [${sym}]: ${this.message}`\n\t }\n\t };\n\t}\n\n\tE('ERR_BUFFER_OUT_OF_BOUNDS',\n\t function (name) {\n\t if (name) {\n\t return `${name} is outside of buffer bounds`\n\t }\n\n\t return 'Attempt to access memory outside buffer bounds'\n\t }, RangeError);\n\tE('ERR_INVALID_ARG_TYPE',\n\t function (name, actual) {\n\t return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n\t }, TypeError);\n\tE('ERR_OUT_OF_RANGE',\n\t function (str, range, input) {\n\t let msg = `The value of \"${str}\" is out of range.`;\n\t let received = input;\n\t if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n\t received = addNumericalSeparator(String(input));\n\t } else if (typeof input === 'bigint') {\n\t received = String(input);\n\t if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n\t received = addNumericalSeparator(received);\n\t }\n\t received += 'n';\n\t }\n\t msg += ` It must be ${range}. Received ${received}`;\n\t return msg\n\t }, RangeError);\n\n\tfunction addNumericalSeparator (val) {\n\t let res = '';\n\t let i = val.length;\n\t const start = val[0] === '-' ? 1 : 0;\n\t for (; i >= start + 4; i -= 3) {\n\t res = `_${val.slice(i - 3, i)}${res}`;\n\t }\n\t return `${val.slice(0, i)}${res}`\n\t}\n\n\t// CHECK FUNCTIONS\n\t// ===============\n\n\tfunction checkBounds (buf, offset, byteLength) {\n\t validateNumber(offset, 'offset');\n\t if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n\t boundsError(offset, buf.length - (byteLength + 1));\n\t }\n\t}\n\n\tfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n\t if (value > max || value < min) {\n\t const n = typeof min === 'bigint' ? 'n' : '';\n\t let range;\n\t if (byteLength > 3) {\n\t if (min === 0 || min === BigInt(0)) {\n\t range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n\t } else {\n\t range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n\t `${(byteLength + 1) * 8 - 1}${n}`;\n\t }\n\t } else {\n\t range = `>= ${min}${n} and <= ${max}${n}`;\n\t }\n\t throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n\t }\n\t checkBounds(buf, offset, byteLength);\n\t}\n\n\tfunction validateNumber (value, name) {\n\t if (typeof value !== 'number') {\n\t throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n\t }\n\t}\n\n\tfunction boundsError (value, length, type) {\n\t if (Math.floor(value) !== value) {\n\t validateNumber(value, type);\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n\t }\n\n\t if (length < 0) {\n\t throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n\t }\n\n\t throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n\t `>= ${type ? 1 : 0} and <= ${length}`,\n\t value)\n\t}\n\n\t// HELPER FUNCTIONS\n\t// ================\n\n\tconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\n\tfunction base64clean (str) {\n\t // Node takes equal signs as end of the Base64 encoding\n\t str = str.split('=')[0];\n\t // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n\t str = str.trim().replace(INVALID_BASE64_RE, '');\n\t // Node converts strings with length < 2 to ''\n\t if (str.length < 2) return ''\n\t // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n\t while (str.length % 4 !== 0) {\n\t str = str + '=';\n\t }\n\t return str\n\t}\n\n\tfunction utf8ToBytes (string, units) {\n\t units = units || Infinity;\n\t let codePoint;\n\t const length = string.length;\n\t let leadSurrogate = null;\n\t const bytes = [];\n\n\t for (let i = 0; i < length; ++i) {\n\t codePoint = string.charCodeAt(i);\n\n\t // is surrogate component\n\t if (codePoint > 0xD7FF && codePoint < 0xE000) {\n\t // last char was a lead\n\t if (!leadSurrogate) {\n\t // no lead yet\n\t if (codePoint > 0xDBFF) {\n\t // unexpected trail\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t } else if (i + 1 === length) {\n\t // unpaired lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t continue\n\t }\n\n\t // valid lead\n\t leadSurrogate = codePoint;\n\n\t continue\n\t }\n\n\t // 2 leads in a row\n\t if (codePoint < 0xDC00) {\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t leadSurrogate = codePoint;\n\t continue\n\t }\n\n\t // valid surrogate pair\n\t codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n\t } else if (leadSurrogate) {\n\t // valid bmp char, but last char was a lead\n\t if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n\t }\n\n\t leadSurrogate = null;\n\n\t // encode utf8\n\t if (codePoint < 0x80) {\n\t if ((units -= 1) < 0) break\n\t bytes.push(codePoint);\n\t } else if (codePoint < 0x800) {\n\t if ((units -= 2) < 0) break\n\t bytes.push(\n\t codePoint >> 0x6 | 0xC0,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x10000) {\n\t if ((units -= 3) < 0) break\n\t bytes.push(\n\t codePoint >> 0xC | 0xE0,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else if (codePoint < 0x110000) {\n\t if ((units -= 4) < 0) break\n\t bytes.push(\n\t codePoint >> 0x12 | 0xF0,\n\t codePoint >> 0xC & 0x3F | 0x80,\n\t codePoint >> 0x6 & 0x3F | 0x80,\n\t codePoint & 0x3F | 0x80\n\t );\n\t } else {\n\t throw new Error('Invalid code point')\n\t }\n\t }\n\n\t return bytes\n\t}\n\n\tfunction asciiToBytes (str) {\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t // Node's code seems to be doing this and not & 0x7F..\n\t byteArray.push(str.charCodeAt(i) & 0xFF);\n\t }\n\t return byteArray\n\t}\n\n\tfunction utf16leToBytes (str, units) {\n\t let c, hi, lo;\n\t const byteArray = [];\n\t for (let i = 0; i < str.length; ++i) {\n\t if ((units -= 2) < 0) break\n\n\t c = str.charCodeAt(i);\n\t hi = c >> 8;\n\t lo = c % 256;\n\t byteArray.push(lo);\n\t byteArray.push(hi);\n\t }\n\n\t return byteArray\n\t}\n\n\tfunction base64ToBytes (str) {\n\t return base64.toByteArray(base64clean(str))\n\t}\n\n\tfunction blitBuffer (src, dst, offset, length) {\n\t let i;\n\t for (i = 0; i < length; ++i) {\n\t if ((i + offset >= dst.length) || (i >= src.length)) break\n\t dst[i + offset] = src[i];\n\t }\n\t return i\n\t}\n\n\t// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n\t// the `instanceof` check but they should be treated as of that type.\n\t// See: https://github.com/feross/buffer/issues/166\n\tfunction isInstance (obj, type) {\n\t return obj instanceof type ||\n\t (obj != null && obj.constructor != null && obj.constructor.name != null &&\n\t obj.constructor.name === type.name)\n\t}\n\tfunction numberIsNaN (obj) {\n\t // For IE11 support\n\t return obj !== obj // eslint-disable-line no-self-compare\n\t}\n\n\t// Create lookup table for `toString('hex')`\n\t// See: https://github.com/feross/buffer/issues/219\n\tconst hexSliceLookupTable = (function () {\n\t const alphabet = '0123456789abcdef';\n\t const table = new Array(256);\n\t for (let i = 0; i < 16; ++i) {\n\t const i16 = i * 16;\n\t for (let j = 0; j < 16; ++j) {\n\t table[i16 + j] = alphabet[i] + alphabet[j];\n\t }\n\t }\n\t return table\n\t})();\n\n\t// Return not function with Error if BigInt not supported\n\tfunction defineBigIntMethod (fn) {\n\t return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n\t}\n\n\tfunction BufferBigIntNotDefined () {\n\t throw new Error('BigInt not supported')\n\t} \n} (buffer));\n\nconst Buffer = buffer.Buffer;\n\nconst Blob = buffer.Blob;\nconst BlobOptions = buffer.BlobOptions;\nconst Buffer$1 = buffer.Buffer;\nconst File = buffer.File;\nconst FileOptions = buffer.FileOptions;\nconst INSPECT_MAX_BYTES = buffer.INSPECT_MAX_BYTES;\nconst SlowBuffer = buffer.SlowBuffer;\nconst TranscodeEncoding = buffer.TranscodeEncoding;\nconst atob = buffer.atob;\nconst btoa = buffer.btoa;\nconst constants = buffer.constants;\nconst isAscii = buffer.isAscii;\nconst isUtf8 = buffer.isUtf8;\nconst kMaxLength = buffer.kMaxLength;\nconst kStringMaxLength = buffer.kStringMaxLength;\nconst resolveObjectURL = buffer.resolveObjectURL;\nconst transcode = buffer.transcode;\nexport { Blob, BlobOptions, Buffer$1 as Buffer, File, FileOptions, INSPECT_MAX_BYTES, SlowBuffer, TranscodeEncoding, atob, btoa, constants, Buffer as default, isAscii, isUtf8, kMaxLength, kStringMaxLength, resolveObjectURL, transcode };\n//# sourceMappingURL=index.js.map\n"],"names":["getDefaultExportFromCjs","x","browser","process","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","queue","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","timeout","len","args","i","Item","array","noop","name","dir","browserExports","process$1","buffer","base64Js","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","code","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","extraBytes","parts","maxChunkLength","len2","ieee754","offset","isLE","mLen","nBytes","e","m","eLen","eMax","eBias","nBits","d","s","value","c","rt","exports","base64","ieee754$1","customInspectSymbol","Buffer","SlowBuffer","K_MAX_LENGTH","GlobalUint8Array","GlobalArrayBuffer","GlobalSharedArrayBuffer","typedArraySupport","proto","createBuffer","length","buf","arg","encodingOrOffset","allocUnsafe","from","fromString","fromArrayView","isInstance","fromArrayBuffer","valueOf","b","fromObject","assertSize","size","alloc","fill","encoding","checked","string","actual","fromArrayLike","arrayView","copy","byteOffset","obj","numberIsNaN","a","y","list","pos","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","str","max","target","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","arrayIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","ret","out","hexSliceLookupTable","bytes","newBuf","checkOffset","ext","noAssert","mul","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","checkInt","min","maxBytes","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","limit","sub","checkIEEE754","writeFloat","littleEndian","writeDouble","targetStart","errors","E","sym","getMessage","Base","range","input","msg","received","addNumericalSeparator","checkBounds","type","INVALID_BASE64_RE","base64clean","units","leadSurrogate","byteArray","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined"],"mappings":"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","x_google_ignoreList":[0,1]}